From xen-devel-bounces@lists.xenproject.org Mon Apr 01 01:59:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Apr 2024 01:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699820.1092358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rr6xR-0001R4-B7; Mon, 01 Apr 2024 01:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699820.1092358; Mon, 01 Apr 2024 01:59:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rr6xR-0001Ql-5g; Mon, 01 Apr 2024 01:59:33 +0000
Received: by outflank-mailman (input) for mailman id 699820;
 Mon, 01 Apr 2024 01:59:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rr6xP-0001Qb-W7; Mon, 01 Apr 2024 01:59: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 1rr6xP-0002SH-RT; Mon, 01 Apr 2024 01:59:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rr6xP-0006aY-E3; Mon, 01 Apr 2024 01:59:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rr6xP-0003Ie-De; Mon, 01 Apr 2024 01:59:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xaudnInoeuSrHDoRLh3nzzHFSfdxJLCNIJViq/Jkg8Q=; b=qEQek9gcVofSfVHZgmY1XotxQu
	OsQAAU8Cz70gcnxdsArFzl32owiL3nL8RzaPk/P5hcdvLiCT0n8OInUkkWWgUkgjNGC0eblElFbeL
	1sbxPQcRgRnVwbO0Yc6yhp8kHgdc4xZSza8BpqBqYTNBhH+k+9Xwcq4fjUkjWCvA/p4c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185209-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185209: 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-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2: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-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-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=18737353cca01db58bb62256338cbb820c310bd7
X-Osstest-Versions-That:
    linux=712e14250dd2907346617eba275c46f53db8fae7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Apr 2024 01:59:31 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185205  2024-03-31 00:43:55 Z    1 days
Testing same since   185209  2024-03-31 18:41:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anna-Maria Behnsen <anna-maria@linutronix.de>
  anthony s. knowles <akira.2020@protonmail.com>
  Arnd Bergmann <arnd@arndb.de>
  Borislav Petkov (AMD) <bp@alien8.de>
  Breno Leitao <leitao@debian.org>
  Frederic Weisbecker <frederic@kernel.org>
  Ingo Molnar <mingo@kernel.org>
  Kevin Loughlin <kevinloughlin@google.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Muralidhara M K <muralidhara.mk@amd.com>
  Paul E. McKenney <paulmck@kernel.org>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Sandipan Das <sandipan.das@amd.com>
  Thomas Gleixner <tglx@linutronix.de>
  Uros Bizjak <ubizjak@gmail.com>
  Yazen Ghannam <yazen.ghannam@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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
   712e14250dd2..18737353cca0  18737353cca01db58bb62256338cbb820c310bd7 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Apr 01 05:40:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Apr 2024 05:40:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699828.1092367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrAP2-00020j-9z; Mon, 01 Apr 2024 05:40:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699828.1092367; Mon, 01 Apr 2024 05: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 1rrAP2-00020c-78; Mon, 01 Apr 2024 05:40:16 +0000
Received: by outflank-mailman (input) for mailman id 699828;
 Mon, 01 Apr 2024 05:40:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrAP1-00020S-4A; Mon, 01 Apr 2024 05:40:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrAP0-000593-Me; Mon, 01 Apr 2024 05:40:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrAP0-0007dX-Bv; Mon, 01 Apr 2024 05:40:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrAP0-0005ZL-6E; Mon, 01 Apr 2024 05:40:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ydQxrT/LeFmofPOZvcDjSNWJr3IdJtgVaeVHBZItikk=; b=b3ZqCDrCgVOK5j1xpNw5Wsez+K
	hGc4UcLmmL1JURMnq/2DTzfUFJ3CHoTkohQaIHKF712Bl5DL/D3ZB6IvIRRAnF2TJRWyy2f8Aky0p
	B1daI25O3jr1Q1LPmaNlgPIInFvUGzjwBIxPaeu+AcxoRAXoL5AOVa4MaW20Tkw8vGRk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185212-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185212: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8f698f0a646124ede518d3e255ef725de1239639
X-Osstest-Versions-That:
    ovmf=37f63deeefa89b7ac28285bc59eca22a5c00eb92
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Apr 2024 05:40:14 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8f698f0a646124ede518d3e255ef725de1239639
baseline version:
 ovmf                 37f63deeefa89b7ac28285bc59eca22a5c00eb92

Last test of basis   185202  2024-03-30 00:11:17 Z    2 days
Testing same since   185212  2024-04-01 03:13:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Hou, Wenxing <wenxing.hou@intel.com>
  Wenxing Hou <wenxing.hou@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
   37f63deeef..8f698f0a64  8f698f0a646124ede518d3e255ef725de1239639 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Apr 01 08:52:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Apr 2024 08:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699854.1092377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrDOR-0006b0-Nc; Mon, 01 Apr 2024 08:51:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699854.1092377; Mon, 01 Apr 2024 08: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 1rrDOR-0006at-Ko; Mon, 01 Apr 2024 08:51:51 +0000
Received: by outflank-mailman (input) for mailman id 699854;
 Mon, 01 Apr 2024 08: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 1rrDOQ-0006ah-Jz; Mon, 01 Apr 2024 08: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 1rrDOQ-0000R9-AF; Mon, 01 Apr 2024 08: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 1rrDOP-00074O-VZ; Mon, 01 Apr 2024 08:51:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrDOP-0008O2-Uu; Mon, 01 Apr 2024 08: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=N5SdUiIUjXapSWqln04OnG5bHNTeIIEO9o6/AeYIkVM=; b=hSH1OA6Jppg3oDs4nnOV3RlGLh
	8FpFGqzEa8RAW5v/hCDEONCOtzLantQfTq3sKa0S72yGJJol55Vgfs8xydCJDkPpI1C/ssN6+Rnl1
	PpjwV/3HDw+O3z6XNIbOG2YPVlzApGhTFvAyhA/fYOfgJbrXjdyJ5Cske2SP9EDH//AA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185210-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185210: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-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
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
X-Osstest-Versions-That:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Apr 2024 08:51:49 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185210  2024-04-01 01:53:49 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 Apr 01 13:56:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Apr 2024 13:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699888.1092388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrI95-0005ym-KH; Mon, 01 Apr 2024 13:56:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699888.1092388; Mon, 01 Apr 2024 13:56: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 1rrI95-0005yf-GA; Mon, 01 Apr 2024 13:56:19 +0000
Received: by outflank-mailman (input) for mailman id 699888;
 Mon, 01 Apr 2024 13:56: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 1rrI94-0005yV-Ee; Mon, 01 Apr 2024 13:56: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 1rrI94-0005vD-0m; Mon, 01 Apr 2024 13:56: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 1rrI93-00060Z-Gb; Mon, 01 Apr 2024 13:56:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrI93-0002HO-G8; Mon, 01 Apr 2024 13:56:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CUR5uapmnJn0tS2s89Q+5xABYf1f5oA+nZv1ZT24xuE=; b=iK0uO75YNMRSSDKezfHFVGkgDH
	uR4NjIsdOkpu2hapPDqZw/R/kxpKGWOXELFmv0jK1K0NrbMPLeLoonsEd54cC1FzSgyFFJjm7WelE
	8UerV+gNq/DxPEJrXJG0ETiZ7KLlR860ZYgfmbZirEJYjzJ2Fzk3V69S5F+Ctkf0Rrvk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185211-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185211: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:guest-localmigrate/x10: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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-libvirt: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=39cd87c4eb2b893354f3b850f916353f2658ae6f
X-Osstest-Versions-That:
    linux=18737353cca01db58bb62256338cbb820c310bd7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 01 Apr 2024 13:56:17 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-coresched-amd64-xl 20 guest-localmigrate/x10 fail pass in 185213-retest

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

Last test of basis   185209  2024-03-31 18:41:53 Z    0 days
Testing same since   185211  2024-04-01 02:02:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Jeffery <andrew@codeconstruct.com.au>
  Arnd Bergmann <arnd@arndb.de>
  Borislav Petkov (AMD) <bp@alien8.de>
  Davidlohr Bueso <dave@stgolabs.net>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Isak Ellmer <isak01@gmail.com>
  Jani Nikula <jani.nikula@intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Paul Menzel <pmenzel@molgen.mpg.de> # Dell XPS 13

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    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
   18737353cca0..39cd87c4eb2b  39cd87c4eb2b893354f3b850f916353f2658ae6f -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Apr 01 16:06:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 01 Apr 2024 16:06:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699926.1092397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrKAZ-000445-PS; Mon, 01 Apr 2024 16:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699926.1092397; Mon, 01 Apr 2024 16:05:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrKAZ-00043y-My; Mon, 01 Apr 2024 16:05:59 +0000
Received: by outflank-mailman (input) for mailman id 699926;
 Mon, 01 Apr 2024 16:05:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2p3z=LG=huawei.com=jonathan.cameron@srs-se1.protection.inumbo.net>)
 id 1rrKAY-00043s-Nc
 for xen-devel@lists.xenproject.org; Mon, 01 Apr 2024 16:05:58 +0000
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com
 [185.176.79.56]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8c8c5d4-f041-11ee-afe5-a90da7624cb6;
 Mon, 01 Apr 2024 18:05:57 +0200 (CEST)
Received: from mail.maildlp.com (unknown [172.18.186.216])
 by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4V7bNH6t7Jz6K7JS;
 Tue,  2 Apr 2024 00:01:19 +0800 (CST)
Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240])
 by mail.maildlp.com (Postfix) with ESMTPS id EB0981400D9;
 Tue,  2 Apr 2024 00:05:54 +0800 (CST)
Received: from localhost (10.48.156.172) by lhrpeml500005.china.huawei.com
 (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 1 Apr
 2024 17:05:54 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8c8c5d4-f041-11ee-afe5-a90da7624cb6
Date: Mon, 1 Apr 2024 17:05:53 +0100
From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
CC: <qemu-devel@nongnu.org>, Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>, Bernhard Beschow
	<shentey@gmail.com>, Thomas Huth <thuth@redhat.com>, Marcel Apfelbaum
	<marcel.apfelbaum@gmail.com>, "Michael S. Tsirkin" <mst@redhat.com>, "Paolo
 Bonzini" <pbonzini@redhat.com>, Igor Mammedov <imammedo@redhat.com>, "Anthony
 Perard" <anthony.perard@citrix.com>, Ani Sinha <anisinha@redhat.com>
Subject: Re: [RFC PATCH-for-9.1 08/29] hw/i386/pc: Move CXLState to
 PcPciMachineState
Message-ID: <20240401170553.00000ba3@Huawei.com>
In-Reply-To: <20240328155439.58719-9-philmd@linaro.org>
References: <20240328155439.58719-1-philmd@linaro.org>
	<20240328155439.58719-9-philmd@linaro.org>
Organization: Huawei Technologies Research and Development (UK) Ltd.
X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32)
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Originating-IP: [10.48.156.172]
X-ClientProxiedBy: lhrpeml100003.china.huawei.com (7.191.160.210) To
 lhrpeml500005.china.huawei.com (7.191.163.240)

On Thu, 28 Mar 2024 16:54:16 +0100
Philippe Mathieu-Daud=E9 <philmd@linaro.org> wrote:

> CXL depends on PCIe, which isn't available on non-PCI
> machines such the ISA-only PC one.
> Move CXLState to PcPciMachineState, and move the CXL
> specific calls to pc_pci_machine_initfn() and
> pc_pci_machine_done().
>=20
> Signed-off-by: Philippe Mathieu-Daud=E9 <philmd@linaro.org>

LGTM as a change on it's own - I've not reviewed the series
in general though, hence just an ack as an rb feels too strong.

Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 01:50:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 01:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699973.1092408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrTIN-0007UU-4X; Tue, 02 Apr 2024 01:50:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699973.1092408; Tue, 02 Apr 2024 01:50:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrTIN-0007UN-1U; Tue, 02 Apr 2024 01:50:39 +0000
Received: by outflank-mailman (input) for mailman id 699973;
 Tue, 02 Apr 2024 01:50:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fe4w=LH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rrTIL-0007UH-Hu
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 01:50:37 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64d68149-f093-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 03:50:35 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id CDDF5CE16D8;
 Tue,  2 Apr 2024 01:50:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ED513C433C7;
 Tue,  2 Apr 2024 01:50:30 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64d68149-f093-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712022632;
	bh=BY4sc7J8SdkoUrlaF2s3gSAZDgnVGRRsogcFghic8OE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PFJ9oThvH5EdawpgK/0edWi3jHU8qiSa8SUkjP4aZEnWcVN1NqaeovvlghULRUQrj
	 Auy80WGntWYNDUviBjiRO/s0dcssnGyhs6H52kLi458ZhxEC5ziomRLRWAq1fwgSH6
	 0d/5zs5Q8RDLvToNHKblLtg55RenTXvvZUvSe7KqOuMhLIWJMd8fmDZ3wJJvu9d0Jo
	 kyhWdRsoOTXTxE75elb4wHdHJBKSaWoAd+zmo8ki7z62fbqKITAC8J2qVQUikiIdSz
	 ucooEdhEoz3AI/G4yBnHpjZj9rIk40RKWFp9G9x1P6aA3agSiUB8ew/AHtcoOznj90
	 sIBVamZcrtkiQ==
Date: Mon, 1 Apr 2024 18:50:28 -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>, 
    Jan Beulich <jbeulich@suse.com>, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, michal.orzel@amd.com, 
    roger.pau@citrix.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] docs/misra: document the expected sizes of integer
 types
In-Reply-To: <a5c01d46-eb46-49d1-8ffd-98b6d1680daa@xen.org>
Message-ID: <alpine.DEB.2.22.394.2404011833450.2245130@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2403141516550.853156@ubuntu-linux-20-04-desktop> <6a76723e-ba47-40b3-8f33-d68030b14299@suse.com> <alpine.DEB.2.22.394.2403151658530.853156@ubuntu-linux-20-04-desktop> <7ab73379-b057-4568-9869-141cef185752@suse.com>
 <alpine.DEB.2.22.394.2403181735410.853156@ubuntu-linux-20-04-desktop> <fadd30c9-440d-401d-bd05-7e1d965bbefe@suse.com> <alpine.DEB.2.22.394.2403190815220.853156@ubuntu-linux-20-04-desktop> <87234837-9fb3-40a9-849d-8b8574f2661c@suse.com>
 <alpine.DEB.2.22.394.2403201812380.1569010@ubuntu-linux-20-04-desktop> <198bade8-c6fc-4ae0-b721-3a9e2bd8acbe@suse.com> <alpine.DEB.2.22.394.2403211140540.1569010@ubuntu-linux-20-04-desktop> <a5c01d46-eb46-49d1-8ffd-98b6d1680daa@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 21 Mar 2024, Julien Grall wrote:
> Hi Stefano,
> 
> I haven't fully read the thread. But I wanted to clarify something.
> 
> On 21/03/2024 19:03, Stefano Stabellini wrote:
> > > > Or possibly unsigned long depending on the parameter.
> > > 
> > > You're contradicting yourself: You mean to advocate for fixed-width types,
> > > yet then you suggest "unsigned long".
> > 
> > No. I explained it in another thread a couple of days ago. There are
> > cases where we have fixed-width types but the type changes by
> > architecture: 32-bit for 32-bit archs and 64-bit for 64-bit archs.
> > Rather than having #ifdefs, which is also an option, that is the one
> > case where using "unsigned long" could be a decent compromise. In this
> > context "unsigned long" means register size (on ARM we even have
> > register_t). Once you pick an architecture, the size is actually meant
> > to be fixed. In fact, it is specified in this document. Which is one of
> > the reasons why we have to use == in this document and not >=. In
> > general, fixed-width types like uint32_t are better because they are
> > clearer and unambiguous. When possible I think they should be our first
> > choice in ABIs.
> 
> "unsigned long" is not fixed in a given architecture. It will change base on
> the data model used by the OS. For instance, for Arm 64-bit, we have 3 models:
> ILP32, LP64, LLP64. Only on LP64, 'unsigned long' is 32-bit.
> 
> So effectively unsigned long can't be used in the ABI.

If someone sees "unsigned long" in the public headers to define a public
Xen ABI, they would need to refer to this document to understand what
"unsigned long" really means, which specifies size and alignment of
"unsigned long" based on the architecture. In other words, this document
mandates LP64 (at least for safety configuration, given that nothing
else is tested).

This is the reason why ideally we wouldn't have any "unsigned long" in
the Xen ABI at all. They are not as clear as explicitly-sized integers
(e.g. uint32_t). In an ideal world, we would use explicitly-sized
integers for everything in public ABIs.


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 06:44:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 06:44:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699981.1092418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrXso-0005AF-DE; Tue, 02 Apr 2024 06:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699981.1092418; Tue, 02 Apr 2024 06:44:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrXso-0005A8-9n; Tue, 02 Apr 2024 06:44:34 +0000
Received: by outflank-mailman (input) for mailman id 699981;
 Tue, 02 Apr 2024 06:44: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrXsm-0005A2-Uk
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 06:44:33 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7503cfad-f0bc-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 08:44:30 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-341cf28e013so3405512f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 01 Apr 2024 23:44: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
 g4-20020a5d4884000000b0033e7603987dsm13300991wrq.12.2024.04.01.23.44.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Apr 2024 23:44:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7503cfad-f0bc-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712040270; x=1712645070; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KbBcv4vM9cxCoUaNPtf6jm5Arz9yTd2IuVeBEzNAVIc=;
        b=GpTf32ZI5w8f29HSa3RlTs5T6tT3HyYUJfoL6KWzB2pgScpQgu2was7GcM6oowsANt
         wpm/6N9LJlFbQd3/0dXzlz+x4i0uQ2tDEJgkDasyO7J+wUppAmxJOJ4VKTdScLyoLsi3
         FyHD0jzd66QjLvhNamKf/ZNAopOowuhhsbVYElxwi4YulU7Lx/ojzqfoU5rLwSnyOapV
         0pbxDeSxcYS3ZDCXFWWd/FmUUaxC0XPhkt6HKLDI4KSWGHxqmEQoq2xxl4sts6bN3vKC
         jbjIQuOdPIlhxmvaVucBiI12hPiUdIqW3NmAzlvJUvMJLjWA2FMZHp/jH4TioDzGM4Na
         R4rw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712040270; x=1712645070;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KbBcv4vM9cxCoUaNPtf6jm5Arz9yTd2IuVeBEzNAVIc=;
        b=PqglMiUk4KCh/W74ngX7Ou+gRW7h79jOSiRiQGbU9DTh4ElqP/vQyXJll6mYe+h0k9
         6fuLfq1/3IjMBsvZLJfJ422iXK0BFfNPlSDvlGlCGyT/wNvumAxSWrr+DDHkMEQnYRcb
         hrbBJ97gOocNfGRpBhaoN54kIknBO9bFDeVekqp1FB5nF7cfAVCLIJODydvHfSknIzoe
         0OoIqK+mRGYQeHV1smG+ZH3Wz5pfZHg8iyXNIHxwctsAqPqdwWvcknbjdbQkmWOxxp0Z
         xrSeLaDPVsDTIGFh75yeLmqAeER/0kqREgb36SqjlGBZfH8D1LgE+GqtIpcSlapnHL+L
         TXRw==
X-Forwarded-Encrypted: i=1; AJvYcCWB1OyhE2weCJLb5kkTkItMO7EtIbGqYXCPljc8hwq2kvWyWo9UyVlOAeM+MGuExxjIgUr2HddP6ms+CWdc3L9kU2ay7zgr5AUUpKRyAEE=
X-Gm-Message-State: AOJu0YyqXxteLPYCH5XUU5vBPxHvYTV8Ok5mFBRgmKEoAB8ozxSKP3cB
	wlmS2q6JKbBavM+BrdnhRZyUIWVMwU8otrxtcv7W4KzyfJZvGlUcyoQFNnJ6eg==
X-Google-Smtp-Source: AGHT+IGEfeHtOJTOECClQGUd5SalbfLPF3rtN4R8CPdy4hTqWOQTa22pKRjv2YzD4yaB8QNn7ZmRrA==
X-Received: by 2002:a05:6000:110e:b0:341:7e10:1a1e with SMTP id z14-20020a056000110e00b003417e101a1emr9226059wrw.60.1712040269822;
        Mon, 01 Apr 2024 23:44:29 -0700 (PDT)
Message-ID: <514380b9-d7ba-466b-b992-28bb1953a6ae@suse.com>
Date: Tue, 2 Apr 2024 08:44:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/4] libelf: Store maximum PHDR p_align
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-4-jason.andryuk@amd.com>
 <f2297a46-4d19-4b98-b986-e05ac9f7a2c5@suse.com>
 <d6927896-0168-4620-b10a-8d6304b4d6eb@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d6927896-0168-4620-b10a-8d6304b4d6eb@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 15:41, Jason Andryuk wrote:
> On 2024-03-28 12:47, Jan Beulich wrote:
>> On 27.03.2024 22:51, Jason Andryuk wrote:
>>> --- a/xen/common/libelf/libelf-loader.c
>>> +++ b/xen/common/libelf/libelf-loader.c
>>> @@ -468,6 +468,7 @@ void elf_parse_binary(struct elf_binary *elf)
>>>   {
>>>       ELF_HANDLE_DECL(elf_phdr) phdr;
>>>       uint64_t low = -1, high = 0, paddr, memsz;
>>> +    uint64_t max_align = 0, palign;
>>>       unsigned i, count;
>>>   
>>>       count = elf_phdr_count(elf);
>>> @@ -481,17 +482,23 @@ void elf_parse_binary(struct elf_binary *elf)
>>>               continue;
>>>           paddr = elf_uval(elf, phdr, p_paddr);
>>>           memsz = elf_uval(elf, phdr, p_memsz);
>>> -        elf_msg(elf, "ELF: phdr: paddr=%#" PRIx64 " memsz=%#" PRIx64 "\n",
>>> -                paddr, memsz);
>>> +        palign = elf_uval(elf, phdr, p_align);
>>> +        elf_msg(elf,
>>> +                "ELF: phdr: paddr=%#" PRIx64 " memsz=%#" PRIx64 " palign=%#" PRIx64 "\n",
>>> +                paddr, memsz, palign);
>>>           if ( low > paddr )
>>>               low = paddr;
>>>           if ( high < paddr + memsz )
>>>               high = paddr + memsz;
>>> +        if ( max_align < palign )
>>> +            max_align = palign;
>>>       }
>>>       elf->pstart = low;
>>>       elf->pend = high;
>>> -    elf_msg(elf, "ELF: memory: %#" PRIx64 " -> %#" PRIx64 "\n",
>>> -            elf->pstart, elf->pend);
>>> +    elf->palign = max_align;
>>> +    elf_msg(elf,
>>> +            "ELF: memory: %#" PRIx64 " -> %#" PRIx64 " align:%#" PRIx64 "\n",
>>> +            elf->pstart, elf->pend, elf->palign);
>>>   }
>>
>> Hmm, it's just this final logging change which I'm a little concerned by:
>> Having looked at Linux'es phdr, I noticed that the addresses there aren't
>> necessarily matching the corresponding alignment. Therefore I'm a little
>> concerned that the output here might raise questions when people see
>> seemingly inconsistent values in the log. Could you/we at least make it
>> read like e.g. "align (max): ..."?
> 
> max_align?
> 
> Looking at my test vmlinux, it looks like PHDR 0 (.text) and PHDR 1 
> (.data) are aligned.  It's the PHDR 2 (.init) that isn't aligned.  Is 
> that what you see?
> 
> This line is already printing the min and max across all the PHDRs, so 
> it would only look confusing if the start didn't match the align.
> 
> I'm not sure how useful it is to print the alignment, and I considered 
> not printing it.  It's only used with PVH Dom0 right now, so it's not 
> relevant in most cases.

Well, yes, not printing the alignment would be fine with me. I just didn't
suggest that as an alternative since I was assuming you put its printing
there for a reason.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 06:46:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 06:46:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699984.1092428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrXuY-0005in-Qa; Tue, 02 Apr 2024 06:46:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699984.1092428; Tue, 02 Apr 2024 06:46:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrXuY-0005ig-Nj; Tue, 02 Apr 2024 06:46:22 +0000
Received: by outflank-mailman (input) for mailman id 699984;
 Tue, 02 Apr 2024 06:46:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrXuX-0005ia-LJ
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 06:46:21 +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 b6b364b9-f0bc-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 08:46:20 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4161bd0a4ecso1232725e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 01 Apr 2024 23:46: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
 t1-20020adfe441000000b0033e756ed840sm13292799wrm.47.2024.04.01.23.46.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 01 Apr 2024 23:46: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: b6b364b9-f0bc-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712040380; x=1712645180; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IjZTJ9wQXvMBGOs8OL3MPHrmrDRcsnrJnMq0g2Y/4Bw=;
        b=UV7xvzF3XGEAkQ35QxFoTPO3qms41wcraQYAb8RZbHMv3vfjWUoI528zdFTa1XTLwI
         wQNSrnMidiYY0nZgfYIPt1GuIEIqEq4g68ONUQeOSqQDAjgRAJjwqrufiaTsZwarR2XG
         4owGF1T+VNCO8aPuBPkm0CApkeNEz41EBoek6OFAu0zZLa/jnTNdCwO/UjxTcY/0U2il
         QPnzDnY1zrWYHwGmlAsbuUhE2B+uOxVy45mq2OWDUU6V0TPrkhWPn+0ouk4R9TFVxlVd
         njla4ODMR5T4/ebitxMHtd3R+Dt+0xS3smzRqjkAVgTFMiCeiRJEZNCZpWhAtHk85Wab
         8gwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712040380; x=1712645180;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IjZTJ9wQXvMBGOs8OL3MPHrmrDRcsnrJnMq0g2Y/4Bw=;
        b=iuQGVbq3mSdEnNVeHy7fpUWCH5HncS0U4UhfY90S42le0DTRpynQA4sQsv0xaynV0i
         Ld6xaOo1ptxdRkepkKogwG/5S5DhCKK76RHtHERnD2AETNvS1dJQnxPK09OwDbJQ6/m8
         I1ZChyiv4MTDtjQigS8oBLS0A9YnOe3QrFpigBDJoNaysehli1vJlaEi24e38SW0vMMk
         ufSedXRT4t55QDhaU0cpfzKq/22w+pm6GiKP+n0iDBtVVI6PNIp9JXEm3lmlL91fW809
         +2lqVtd0w6dwTLeGQ2PVOEE5tySGoZQpCka1/PTmDfUsOGDNSnGruaJ78c9Nu4xouOmu
         Gb9g==
X-Forwarded-Encrypted: i=1; AJvYcCX1qXFHI8y7l70jwRASt24NU/HCJq/L5Q8d4mTdNfxcREMo0Ftsvh3XR6ARD3Yu/Y2C3ashtLqgstaiiFiH217tJvcOMc5tyhr/0SEpw54=
X-Gm-Message-State: AOJu0Yx0U4tPU7fY6zStCKLMMHQIV9r5TqaBvPiKE9wDFaKwgIV47Pyp
	OoPP8ISrRgN57y01iuxEnD1IBnmKyMSLppjDKsDHBWAjguuOq/QFSfT8bZPJZQ==
X-Google-Smtp-Source: AGHT+IGNLPqTmaWvBmj1dDmB516BIccvjIzkVSpZAhl/4Kg55cX0ImjzLFIm5AU1ID/FYizYz+Mt8A==
X-Received: by 2002:a05:600c:3007:b0:415:589b:c01c with SMTP id j7-20020a05600c300700b00415589bc01cmr5854087wmh.23.1712040380129;
        Mon, 01 Apr 2024 23:46:20 -0700 (PDT)
Message-ID: <050a155f-325b-4b70-b954-bcdb3a64fbaa@suse.com>
Date: Tue, 2 Apr 2024 08:46:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 06/20] xen/bitops: put __ffs() and ffz() into linux
 compatible header
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
References: <cover.1710517542.git.oleksii.kurochko@gmail.com>
 <8bc35da4a9fd44d2dcf9677dcc99334eb7142581.1710517542.git.oleksii.kurochko@gmail.com>
 <a4d36c0f-d3a3-4d64-a62e-b631a4ece9a8@suse.com>
 <827d3d8ee11bd4a3c20dbee936132df231db1e73.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <827d3d8ee11bd4a3c20dbee936132df231db1e73.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.03.2024 19:23, Oleksii wrote:
> On Wed, 2024-03-20 at 16:42 +0100, Jan Beulich wrote:
>> On 15.03.2024 19:06, Oleksii Kurochko wrote:
>>> --- a/xen/lib/find-next-bit.c
>>> +++ b/xen/lib/find-next-bit.c
>>> @@ -9,6 +9,7 @@
>>>   * 2 of the License, or (at your option) any later version.
>>>   */
>>>  #include <xen/bitops.h>
>>> +#include <xen/linux-compat.h>
>>>  
>>>  #include <asm/byteorder.h>
>>
>> Hmm, no, a library source would better not include this header.
>> Surely
>> the ffz() can be taken care of locally here?
> Except that __ffs() from xen/linux-compat.h is used in find-next-bit.c,
> so it seems that it is still need to include the header.

Hmm, no - that __ffs() use, if we mean that to become a Linux compat thing
only, should then be replaced (or covered locally), too, imo.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:05:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:05:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699988.1092437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYDM-0000DE-Bg; Tue, 02 Apr 2024 07:05:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699988.1092437; Tue, 02 Apr 2024 07: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 1rrYDM-0000D7-8T; Tue, 02 Apr 2024 07:05:48 +0000
Received: by outflank-mailman (input) for mailman id 699988;
 Tue, 02 Apr 2024 07:05:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrYDL-0000Cz-KX
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:05:47 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d91fca1-f0bf-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:05:46 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3417a3151c4so4467526f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 00:05: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
 a9-20020a056000050900b00341d7596ec0sm13316241wrf.15.2024.04.02.00.05.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 00:05: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: 6d91fca1-f0bf-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712041546; x=1712646346; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=SVvxaV5V4OJsKQ2BijM4y9AchUy1JzHb2C+BY6EWdL4=;
        b=FJgaOAbfFNZR+Tub4It8G/op45gW8y60hkSYKS7W6W2kNthR7LHJlxmr9H9rAaE2n3
         FNxsKxok1gaclKX+lvARD7OXrWUtt4hmBoUj/6TnhnhW+YavcpBHhpk+A1H+9/P6BGIR
         M+fmrWial13adGBB0aDOzX80cse4v2gqyZKK5iO4pBTC2F2NKrmmpUK4S32i3iS7nciJ
         ODuxGUOotKbcGpwOlsu/i40IAE34goP7b+7IU3PbJ2FbtcD+jj+NoJhzAvp/2JLJWJ4e
         q9F5TR/UKsTfk3O/yUE33bEMNXUnG1olaR8K5rQ6AavJqff9gOEKnA6B9nHMoerzqga1
         uEWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712041546; x=1712646346;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=SVvxaV5V4OJsKQ2BijM4y9AchUy1JzHb2C+BY6EWdL4=;
        b=EQH/DO+3pgFjK7xVOTDqHoiGut+/3dU+ZVNuvy8IRVHhMEzmL31Hov/tohgGvL5wzu
         njlE+EF/QamIJaKgX7QzbjomOP5nykqJYx1aUla8Qi+KOSW/stbXGVOxTPdI9BzHeQp/
         xJwd3jmknST6uK5HQ2Wvlgv9C7PKJ/qjBPrIRvS6n0gp1VvTxa/2QK8NL5WkI4RD7bHG
         rylxB9+9yrNTCkOjQaDdIG6ibUrcF9T0BUvLoPw16lkO6dKLgUYgWoM5kiPDWxD9izbc
         Viug/6DYZf3S6jFDNji3lHmQwfYZPViRPOdKggm62im6GKSIkAaVEJcoKxGWT2ydE6kL
         0Dug==
X-Forwarded-Encrypted: i=1; AJvYcCVcdGihzTTO8iGFYx41PyL1oxJDwgBeXFfPN9vvlXiYJrgkjqeLGHsCPyUWaXC1oSoIvVohC26PQJlr/nn87Wm6njvx0B3O4Y5j05P6OgQ=
X-Gm-Message-State: AOJu0Yzp2Kr5EryIFJSh/Xa8RnriKUBdGK8hWY3fxjCLGvY93IZK8YwN
	0E6QkE7vpSMCCD4B+bkaCQLxtcReenQxfbf6rZLwJ+8cMNKV+P0gCvQYBvxrIA==
X-Google-Smtp-Source: AGHT+IGBV5vgweKBJzAXf+BdXvBCQU8sRxkfS13yL6UDLAxH0n5pjPjvXqM5NVyr2csHAPEFbkCCgg==
X-Received: by 2002:adf:fed1:0:b0:343:6551:935 with SMTP id q17-20020adffed1000000b0034365510935mr570640wrs.66.1712041545801;
        Tue, 02 Apr 2024 00:05:45 -0700 (PDT)
Message-ID: <d9e3b7c4-d8be-4642-9212-b48ae885b46a@suse.com>
Date: Tue, 2 Apr 2024 09:05:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] xen/memory, tools: Make init-dom0less consume
 XEN_DOMCTL_get_mem_map
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240308015435.4044339-1-xin.wang2@amd.com>
 <20240308015435.4044339-6-xin.wang2@amd.com>
 <1cb8bca3-58b6-4a8d-ac46-8338ea5807e7@suse.com>
 <b1393dbe-42c2-4839-8ca3-7dc71fe72969@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b1393dbe-42c2-4839-8ca3-7dc71fe72969@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 06:11, Henry Wang wrote:
> On 3/12/2024 1:07 AM, Jan Beulich wrote:
>>> +/*
>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>> + * or static allocation.
>>> + */
>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>   #endif
>> If this is for populate_physmap only, then other sub-ops need to reject
>> its use.
>>
>> I have to admit I'm a little wary of allocating another flag here and ...
>>
>>> --- a/xen/include/xen/mm.h
>>> +++ b/xen/include/xen/mm.h
>>> @@ -205,6 +205,8 @@ struct npfec {
>>>   #define  MEMF_no_icache_flush (1U<<_MEMF_no_icache_flush)
>>>   #define _MEMF_no_scrub    8
>>>   #define  MEMF_no_scrub    (1U<<_MEMF_no_scrub)
>>> +#define _MEMF_force_heap_alloc 9
>>> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
>>>   #define _MEMF_node        16
>>>   #define  MEMF_node_mask   ((1U << (8 * sizeof(nodeid_t))) - 1)
>>>   #define  MEMF_node(n)     ((((n) + 1) & MEMF_node_mask) << _MEMF_node)
>> ... here - we don't have that many left. Since other sub-ops aren't
>> intended to support this flag, did you consider adding another (perhaps
>> even arch-specific) sub-op instead?
> 
> While revisiting this comment when trying to come up with a V3, I 
> realized adding a sub-op here in the same level as 
> XENMEM_populate_physmap will basically duplicate the function 
> populate_physmap() with just the "else" (the non-1:1 allocation) part, 
> also a similar xc_domain_populate_physmap_exact() & co will be needed 
> from the toolstack side to call the new sub-op. So I am having the 
> concern of the duplication of code and not sure if I understand you 
> correctly. Would you please elaborate a bit more or clarify if I 
> understand you correctly? Thanks!

Well, the goal is to avoid both code duplication and introduction of a new,
single-use flag. The new sub-op suggestion, I realize now, would mainly have
helped with avoiding the new flag in the public interface. That's still
desirable imo. Internally, have you checked which MEMF_* are actually used
by populate_physmap()? Briefly looking, e.g. MEMF_no_dma and MEMF_no_refcount
aren't. It therefore would be possible to consider re-purposing one that
isn't (likely to be) used there. Of course doing so requires care to avoid
passing that flag down to other code (page_alloc.c functions in particular),
where the meaning would be the original one.

Jan

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:23:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699991.1092448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYU8-00038I-Qw; Tue, 02 Apr 2024 07:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699991.1092448; Tue, 02 Apr 2024 07:23:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYU8-00038B-NG; Tue, 02 Apr 2024 07:23:08 +0000
Received: by outflank-mailman (input) for mailman id 699991;
 Tue, 02 Apr 2024 07:23:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrYU7-000380-7U; Tue, 02 Apr 2024 07:23:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrYU6-0002iB-U3; Tue, 02 Apr 2024 07:23: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 1rrYU6-0003fJ-Hu; Tue, 02 Apr 2024 07:23:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrYU6-0002Tw-HO; Tue, 02 Apr 2024 07:23:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VOxchvh2LaeAtMrcXaIf0qM2aJ2Fm35px7cST2ZfLAM=; b=tubhykDQTvd3VAUb5ORlwFRKW6
	hhyq0Idr33QxW1Deq7Y173GwAcrAIOwXYOskNhglNGHWDNwuamy5XueWvUhzvzRuv7Ysx3e/47c81
	16bFynsUjRR2ImK2nHolsmhd7GCGULFNeDF6Z95AjW6/cIR944ZEsmg1sNWzHJTwXfcU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185214-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185214: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-arndale:host-ping-check-xen:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-libvirt: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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=026e680b0a08a62b1d948e5a8ca78700bfac0e6e
X-Osstest-Versions-That:
    linux=39cd87c4eb2b893354f3b850f916353f2658ae6f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Apr 2024 07:23:06 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale  10 host-ping-check-xen fail pass in 185216-retest

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

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

Last test of basis   185211  2024-04-01 02:02:09 Z    1 days
Testing same since   185214  2024-04-01 22:11:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Karel Balej <balejk@matfyz.cz>
  Linus Torvalds <torvalds@linux-foundation.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.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                                  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                                     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
   39cd87c4eb2b..026e680b0a08  026e680b0a08a62b1d948e5a8ca78700bfac0e6e -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699996.1092458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVK-0003ja-8r; Tue, 02 Apr 2024 07:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699996.1092458; Tue, 02 Apr 2024 07: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 1rrYVK-0003jT-5w; Tue, 02 Apr 2024 07:24:22 +0000
Received: by outflank-mailman (input) for mailman id 699996;
 Tue, 02 Apr 2024 07: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVI-0003jD-Vq
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:20 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 051b12de-f0c2-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:24:19 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id B720E4EE0739;
 Tue,  2 Apr 2024 09:24:18 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 051b12de-f0c2-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [XEN PATCH 0/7] xen: address violations of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:03 +0200
Message-Id: <cover.1712042178.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 some violations of Rule 16.3 by adding the missing
break statements and pseudo-keyword fallthrough.

Federico Serafini (7):
  xen/domctl: address a violation of MISRA C:2012 Rule 16.3
  console: address a violation of MISRA C:2012 Rule 16.3
  xen/sched: address a violation of MISRA C:2012 Rule 16.3
  xen/evtchn: address a violation of MISRA C:2012 Rule 16.3
  xen/sched: address a violation of MISRA C:2012 Rule 16.3
  xen/vm-event: address a violation of MISRA C:2012 Rule 16.3
  vsprintf: address violations of MISRA C:2012 Rule 16.3

 xen/common/domctl.c        | 1 +
 xen/common/event_channel.c | 1 +
 xen/common/sched/core.c    | 1 +
 xen/common/sched/credit2.c | 2 +-
 xen/common/vm_event.c      | 1 +
 xen/common/vsprintf.c      | 6 +++++-
 xen/drivers/char/console.c | 2 ++
 7 files changed, 12 insertions(+), 2 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699997.1092468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVL-0003yO-FK; Tue, 02 Apr 2024 07:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699997.1092468; Tue, 02 Apr 2024 07:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVL-0003yE-BZ; Tue, 02 Apr 2024 07:24:23 +0000
Received: by outflank-mailman (input) for mailman id 699997;
 Tue, 02 Apr 2024 07: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVJ-0003jD-LS
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05a21cdf-f0c2-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:24:20 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 082074EE0744;
 Tue,  2 Apr 2024 09:24:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05a21cdf-f0c2-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 2/7] console: address a violation of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:05 +0200
Message-Id: <c1dbd9f26ad88f667075926e85dc971c41c7d5d4.1712042178.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712042178.git.federico.serafini@bugseng.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add break statement to 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/drivers/char/console.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index ccd5f8cc14..e185f80efe 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -568,6 +568,8 @@ static void __serial_rx(char c)
 
         if ( d != NULL )
             rcu_unlock_domain(d);
+
+        break;
     }
 #endif
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699998.1092474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVL-00041v-SI; Tue, 02 Apr 2024 07:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699998.1092474; Tue, 02 Apr 2024 07:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVL-00041l-Jl; Tue, 02 Apr 2024 07:24:23 +0000
Received: by outflank-mailman (input) for mailman id 699998;
 Tue, 02 Apr 2024 07:24: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVK-0003jQ-8f
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:22 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05647a33-f0c2-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 09:24:20 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 772D94EE0742;
 Tue,  2 Apr 2024 09:24:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05647a33-f0c2-11ee-a1ef-f123f15fe8a2
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 1/7] xen/domctl: address a violation of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:04 +0200
Message-Id: <c730993f757afcaeb327e7fb8528b70b716cd5db.1712042178.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712042178.git.federico.serafini@bugseng.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add break statement to 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/common/domctl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index d94a9dae91..f2e0e36a17 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -316,6 +316,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
         d = rcu_lock_domain_by_id(op->domain);
         if ( !d )
             return -ESRCH;
+        break;
     }
 
     ret = xsm_domctl(XSM_OTHER, d, op->cmd);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.699999.1092478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVM-00046V-4V; Tue, 02 Apr 2024 07:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 699999.1092478; Tue, 02 Apr 2024 07: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 1rrYVL-00044X-VM; Tue, 02 Apr 2024 07:24:23 +0000
Received: by outflank-mailman (input) for mailman id 699999;
 Tue, 02 Apr 2024 07: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVK-0003jD-Lj
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:22 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05dbd7cd-f0c2-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:24:20 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 8B4A04EE0743;
 Tue,  2 Apr 2024 09:24:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05dbd7cd-f0c2-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH 3/7] xen/sched: address a violation of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:06 +0200
Message-Id: <8f91430e37594831dd8d92ab630477be88417b49.1712042178.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712042178.git.federico.serafini@bugseng.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use pseudo-keyword fallthrough to meet the requirements to deviate
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/sched/credit2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index c76330d79d..0962b52415 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -3152,8 +3152,8 @@ static int cf_check csched2_sys_cntl(
             printk(XENLOG_INFO "Disabling context switch rate limiting\n");
         prv->ratelimit_us = params->ratelimit_us;
         write_unlock_irqrestore(&prv->lock, flags);
+        fallthrough;
 
-    /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->ratelimit_us = prv->ratelimit_us;
         break;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700000.1092487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVM-0004FG-Ky; Tue, 02 Apr 2024 07:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700000.1092487; Tue, 02 Apr 2024 07: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 1rrYVM-0004DM-Ao; Tue, 02 Apr 2024 07:24:24 +0000
Received: by outflank-mailman (input) for mailman id 700000;
 Tue, 02 Apr 2024 07: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVL-0003jQ-Ge
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 068280dd-f0c2-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 09:24:22 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 77F4D4EE0743;
 Tue,  2 Apr 2024 09:24:21 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 068280dd-f0c2-11ee-a1ef-f123f15fe8a2
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH 5/7] xen/sched: address a violation of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:08 +0200
Message-Id: <dcb134b4094104632b05270f01accebcf7c04c4e.1712042178.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712042178.git.federico.serafini@bugseng.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add break statement to 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/common/sched/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 3e48da1cdd..0cb33831d2 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2007,6 +2007,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
     default:
         ret = -ENOSYS;
+        break;
     }
 
     return ret;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700001.1092505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVN-0004pO-Sc; Tue, 02 Apr 2024 07:24:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700001.1092505; Tue, 02 Apr 2024 07:24:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVN-0004nD-Mp; Tue, 02 Apr 2024 07:24:25 +0000
Received: by outflank-mailman (input) for mailman id 700001;
 Tue, 02 Apr 2024 07:24:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVL-0003jD-M9
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 062e93db-f0c2-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:24:21 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id E6E614EE0746;
 Tue,  2 Apr 2024 09:24:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 062e93db-f0c2-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 4/7] xen/evtchn: address a violation of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:07 +0200
Message-Id: <98c4197ab3bcf82d0055836cf950f1268dbcc91c.1712042178.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712042178.git.federico.serafini@bugseng.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add break statement to 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/common/event_channel.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 20f586cf5e..aceee0695f 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -853,6 +853,7 @@ int evtchn_send(struct domain *ld, unsigned int lport)
         break;
     default:
         ret = -EINVAL;
+        break;
     }
 
 out:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700002.1092517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVP-0005DC-4k; Tue, 02 Apr 2024 07:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700002.1092517; Tue, 02 Apr 2024 07: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 1rrYVP-0005Cf-11; Tue, 02 Apr 2024 07:24:27 +0000
Received: by outflank-mailman (input) for mailman id 700002;
 Tue, 02 Apr 2024 07:24: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVM-0003jD-MO
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:24 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06b4bb90-f0c2-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:24:22 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id DEF644EE073F;
 Tue,  2 Apr 2024 09:24:21 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06b4bb90-f0c2-11ee-afe5-a90da7624cb6
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>
Subject: [XEN PATCH 6/7] xen/vm-event: address a violation of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:09 +0200
Message-Id: <fcf24478d1f56c6159489fe65f8b8be2c07beab3.1712042178.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712042178.git.federico.serafini@bugseng.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add break statement to 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/common/vm_event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/vm_event.c b/xen/common/vm_event.c
index ecf49c38a9..fbf1aa0848 100644
--- a/xen/common/vm_event.c
+++ b/xen/common/vm_event.c
@@ -770,6 +770,7 @@ int vm_event_domctl(struct domain *d, struct xen_domctl_vm_event_op *vec)
 
     default:
         rc = -ENOSYS;
+        break;
     }
 
     return rc;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700003.1092522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVP-0005IU-I2; Tue, 02 Apr 2024 07:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700003.1092522; Tue, 02 Apr 2024 07: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 1rrYVP-0005Hf-C7; Tue, 02 Apr 2024 07:24:27 +0000
Received: by outflank-mailman (input) for mailman id 700003;
 Tue, 02 Apr 2024 07: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrYVN-0003jD-MN
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0700aa4f-f0c2-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:24:22 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 5A84B4EE0745;
 Tue,  2 Apr 2024 09:24:22 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0700aa4f-f0c2-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 7/7] vsprintf: address violations of MISRA C:2012 Rule 16.3
Date: Tue,  2 Apr 2024 09:22:10 +0200
Message-Id: <b1f2dc6467571090f882ce7c0611db13a8c63555.1712042178.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712042178.git.federico.serafini@bugseng.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C:2012 Rule 16.3 states: "An unconditional `break' statement
shall terminate every switch-clause".

Add break statement to address violations of the rule or add
pseudo-keyword fallthrough to meet the requirements to deviate it.

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/common/vsprintf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/common/vsprintf.c b/xen/common/vsprintf.c
index c49631c0a4..612751c90f 100644
--- a/xen/common/vsprintf.c
+++ b/xen/common/vsprintf.c
@@ -377,7 +377,7 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
             str = number(str, end, hex_buffer[i], 16, 2, -1, ZEROPAD);
 
             if ( ++i == field_width )
-                return str;
+                break;
 
             if ( sep )
             {
@@ -386,6 +386,8 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
                 ++str;
             }
         }
+
+        return str;
     }
 
     case 'p': /* PCI SBDF. */
@@ -619,6 +621,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
 
         case 'X':
             flags |= LARGE;
+            fallthrough;
         case 'x':
             base = 16;
             break;
@@ -626,6 +629,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
         case 'd':
         case 'i':
             flags |= SIGN;
+            fallthrough;
         case 'u':
             break;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:24:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700004.1092538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVb-0006hn-TB; Tue, 02 Apr 2024 07:24:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700004.1092538; Tue, 02 Apr 2024 07:24:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYVb-0006hc-PS; Tue, 02 Apr 2024 07:24:39 +0000
Received: by outflank-mailman (input) for mailman id 700004;
 Tue, 02 Apr 2024 07:24:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=m3oM=LH=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rrYVZ-0003jQ-QU
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:24:37 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2416::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0df3a58d-f0c2-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 09:24:35 +0200 (CEST)
Received: from SJ0PR13CA0155.namprd13.prod.outlook.com (2603:10b6:a03:2c7::10)
 by CH3PR12MB7500.namprd12.prod.outlook.com (2603:10b6:610:148::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr
 2024 07:24:31 +0000
Received: from MWH0EPF000A6735.namprd04.prod.outlook.com
 (2603:10b6:a03:2c7:cafe::df) by SJ0PR13CA0155.outlook.office365.com
 (2603:10b6:a03:2c7::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.25 via Frontend
 Transport; Tue, 2 Apr 2024 07:24:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000A6735.mail.protection.outlook.com (10.167.249.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 2 Apr 2024 07:24:30 +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.35; Tue, 2 Apr
 2024 02:24:27 -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.35 via Frontend
 Transport; Tue, 2 Apr 2024 02:24: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: 0df3a58d-f0c2-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nVm/9qAABP1MCgARLU5JQYYV2eOa9lY+FCMiu5CBUlcm6PztozyWfwC4xnd4BdwUq1px6FVModD8b9eyKwEOUISzdxeimDDAItjrGyVh5RZN8H64sOLXY6ZcAt8IDbaERim/o/9Du09R/1Kcv18GFdeshYlqL6dpkq13cDvZ06bvxf7aKJBctfJWv7q+DHeBOktDFB7m3lw4ZBy5Huh5o5Mul6QYxfX0WzkM1mmVMNuXbK5qeCfm/4U9R074Yli5WeZVlxc63J2cufZE/HcR7R2HqFFSWZhgeQLEkvC7GpbNwPEFiEHwJjcRRrfusBaQVxEEgs+w9kIoRtFoNgWvMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tXNxJhuBaXSFA5QS+l+dNL67WxWcquNUnuCC7uV8B4w=;
 b=WgYt8sFRSHhPvyAAlZyTUsR8f3UrSXmikAsienTOqVRLBBk0ug+KZrEQ2Psn6Z/JG5EH9elIW4w4zB7lpqqHoU1b1mLUd8lTCoqSKSlLPgUmX96CEwEqxwYxEsfeX/d2xx37+p75XxFosovJ8nBs1pWfwpBqybAr/zzNBmGVqipbvmV7h86lNawExELUJynvpP8SPBOgt0QtJP9cNzd9/xsoeX5rrZqntu+UaKMZ05ajoQcnuwj+m1WuAy5lnwAr6NQdFp05f/xcA5uvVTxkTCnRVH/LrRZ5stsvZ37adufMU+NjP6lP3JOmY5cgVJOxC9iu1sA3tF3svBSLs9L3mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=actia.se smtp.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=tXNxJhuBaXSFA5QS+l+dNL67WxWcquNUnuCC7uV8B4w=;
 b=MqhBfQWdzC+u5/iiOn0ptQRPaO01hEan7u5PPr+7Lj1BUp/QVoGmTUJziziW+O4M3fvyg/w9D2X/loHaN/KuMFFSxLmPU9wkLGHyO8sj15yExXlqy6y0+bkpZDgzt2nffrifs2lhH5zrbjuKESzPTV0/H2H4FljbHc0XmuygNw0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <8259527d-fc75-4f6d-8a0e-00f509a52c58@amd.com>
Date: Tue, 2 Apr 2024 09:24:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/3] xen/arm: Add imx8q{m,x} platform glue
To: John Ernberg <john.ernberg@actia.se>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
References: <20240328163351.64808-1-john.ernberg@actia.se>
 <20240328163351.64808-2-john.ernberg@actia.se>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240328163351.64808-2-john.ernberg@actia.se>
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: MWH0EPF000A6735:EE_|CH3PR12MB7500:EE_
X-MS-Office365-Filtering-Correlation-Id: e6c93931-4359-4880-3cab-08dc52e5efc8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KsAYMxtcxq4gEkmV1UAVqGcLkvlQZFz9ezQnzSqrBAl03SLMRH6bzJT2xrGhltSOskPtHCHA+a4RmJEcFS6XnKTWbhm43azb5s0NMpcO/9tq6RnOD63iv33vni6TfSYlqXjfTBPE8H75Mz+LuqH8HE7c9ahTBgzJ76dtPgwG2y0dU+XpJgyo6fv7H9jhjT1Ci9/BMgoIBBqPgrGFiSt5Mxa9Nrbi14LdOC0P5WeBf7870DpYe341x3fubQmWdunOhrB35Fp2WkW53obBQJdtkVe0Ym2ap+xYJEtzDk+mVoEpFMsqB4LRMVlYVjyecfk4k/sZ5hHm8BByiUnEoNPVTCIlVBM+jhppoJyTIzKWtEgrpXg+Y0DIwbRbAOoKTo19EKpR1YPFHzgRHzrZro9Df6J6gRAN4EDPXbC+YjZEKAIcQovXru+ES9E5hx90otEQOz3b86yU+MIh7gMXbhOKB9mIbnb49V0bdOwwbwSOw2rCCvB7/3Y0m89XARDfXmtserWoeGN8qRx9v8821qyN1AmOiTEGjVEopCBncIskJosYXi3mwdfP3DCItfe+9bKfima3Si1mMfoCOAVJZvc6ZK2CTNE3APJ9DPRO3zXGy31bJwpBYcdfVD0A+zeqc3pldiNCYyn0mMl9Wpl0rAKUWpYEqi5YIWxnflfVh89jNgZT8f0umAr4wAJpNWcH6+HXPVIh5ZNcxxVjea0wtKubLQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(7416005)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 07:24:30.1446
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e6c93931-4359-4880-3cab-08dc52e5efc8
X-MS-Exchange-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:
	MWH0EPF000A6735.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7500

Hi John,

On 28/03/2024 17:34, John Ernberg wrote:
> 
> 
> When using Linux for dom0 there are a bunch of drivers that need to do SMC
> SIP calls into the firmware to enable certain hardware bits like the
> watchdog.
> 
> Provide a basic platform glue that implements the needed SMC forwarding.
> 
> The format of these calls are as follows:
>  - reg 0: function ID
>  - reg 1: subfunction ID (when there's a subfunction)
>  remaining regs: args
> 
> For now we only allow Dom0 to make these calls as they are all managing
> hardware. There is no specification for these SIP calls, the IDs and names
> have been extracted from the upstream linux kernel and the vendor kernel.
> 
> Most of the SIP calls are only available for the iMX8M series of SoCs, so
> they are easy to reject and they need to be revisited when iMX8M series
> support is added.
I just realized that you pinged me in v2 for clarification, sorry I missed that.
I still believe we shouldn't list FIDs that are meant for IMX8M, given that
the driver is written for IMX8QM/QXP.

> 
> From the other calls we can reject CPUFREQ because Dom0 cannot make an
> informed decision regarding CPU frequency scaling, WAKEUP_SRC is to wake
> up from suspend, which Xen doesn't support at this time.
> 
> This leaves the TIME SIP, OTP SIPs, BUILDINFO SIP and TEMP ALARM SIP, which
> for now are allowed to Dom0.
> 
> NOTE: This code is based on code found in NXP Xen tree located here:
> https://github.com/nxp-imx/imx-xen/blob/lf-5.10.y_4.13/xen/arch/arm/platforms/imx8qm.c
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> [jernberg: Add SIP call filtering]
> Signed-off-by: John Ernberg <john.ernberg@actia.se>
> 
> ---
> 
> v3:
>  - Adhere to style guidelines for line length and label indentation (Michal Orzel)
>  - Use smccc macros to build the SIP function identifier (Michal Orzel)
>  - Adjust platform name to be specific to QM and QXP variants (Michal Orzel)
>  - Pick up additional SIPs which may be used by other Linux versions - for review purposes
>  - Changes to the commit message due to above
> 
> v2:
>  - Reword the commit message to be a bit clearer
>  - Include the link previously added as a context note to the commit message (Julien Grall)
>  - Add Pengs signed off (Julien Grall, Peng Fan)
>  - Add basic SIP call filter (Julien Grall)
>  - Expand the commit message a whole bunch because of the changes to the code
> ---
>  xen/arch/arm/platforms/Makefile |   1 +
>  xen/arch/arm/platforms/imx8qm.c | 168 ++++++++++++++++++++++++++++++++
>  2 files changed, 169 insertions(+)
>  create mode 100644 xen/arch/arm/platforms/imx8qm.c
> 
> diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
> index 8632f4115f..bec6e55d1f 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>  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_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>  obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
> diff --git a/xen/arch/arm/platforms/imx8qm.c b/xen/arch/arm/platforms/imx8qm.c
> new file mode 100644
> index 0000000000..0992475474
> --- /dev/null
> +++ b/xen/arch/arm/platforms/imx8qm.c
> @@ -0,0 +1,168 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/arch/arm/platforms/imx8qm.c
> + *
> + * i.MX 8QM setup
> + *
> + * Copyright (c) 2016 Freescale Inc.
> + * Copyright 2018-2019 NXP
> + *
> + *
> + * Peng Fan <peng.fan@nxp.com>
> + */
> +
> +#include <xen/sched.h>
> +#include <asm/platform.h>
> +#include <asm/smccc.h>
> +
> +static const char * const imx8qm_dt_compat[] __initconst =
> +{
> +    "fsl,imx8qm",
> +    "fsl,imx8qxp",
> +    NULL
> +};
> +
> +#define IMX_SIP_FID(fid) \
> +    ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
> +                       ARM_SMCCC_CONV_64, \
> +                       ARM_SMCCC_OWNER_SIP, \
> +                       fid)
macro parameter should be enclosed within parenthesis

> +
> +#define IMX_SIP_F_GPC            0x0000
> +#define IMX_SIP_F_CPUFREQ        0x0001
> +#define IMX_SIP_F_TIME           0x0002
> +#define IMX_SIP_F_BUILDINFO      0x0003
> +#define IMX_SIP_F_DDR_DVFS       0x0004
> +#define IMX_SIP_F_SRC            0x0005
> +#define IMX_SIP_F_GET_SOC_INFO   0x0006
> +#define IMX_SIP_F_NOC            0x0008
> +#define IMX_SIP_F_WAKEUP_SRC     0x0009
> +#define IMX_SIP_F_OTP_READ       0x000A
> +#define IMX_SIP_F_OTP_WRITE      0x000B
> +#define IMX_SIP_F_SET_TEMP_ALARM 0x000C
Is there specific reason for leading zeros?

> +
> +#define IMX_SIP_TIME_SF_RTC_SET_TIME     0x00
> +#define IMX_SIP_TIME_SF_WDOG_START       0x01
> +#define IMX_SIP_TIME_SF_WDOG_STOP        0x02
> +#define IMX_SIP_TIME_SF_WDOG_SET_ACT     0x03
> +#define IMX_SIP_TIME_SF_WDOG_PING        0x04
> +#define IMX_SIP_TIME_SF_WDOG_SET_TIMEOUT 0x05
> +#define IMX_SIP_TIME_SF_WDOG_GET_STAT    0x06
> +#define IMX_SIP_TIME_SF_WDOG_SET_PRETIME 0x07
> +
> +static bool imx8qm_is_sip_time_call_ok(uint32_t subfunction_id)
> +{
> +    switch ( subfunction_id )
> +    {
> +    case IMX_SIP_TIME_SF_RTC_SET_TIME:
> +        return true;
> +    case IMX_SIP_TIME_SF_WDOG_START:
> +    case IMX_SIP_TIME_SF_WDOG_STOP:
> +    case IMX_SIP_TIME_SF_WDOG_SET_ACT:
> +    case IMX_SIP_TIME_SF_WDOG_PING:
> +    case IMX_SIP_TIME_SF_WDOG_SET_TIMEOUT:
> +    case IMX_SIP_TIME_SF_WDOG_GET_STAT:
> +    case IMX_SIP_TIME_SF_WDOG_SET_PRETIME:
> +        return true;
> +    default:
> +        printk(XENLOG_WARNING "imx8qm: smc: time: Unknown subfunction id %x\n",
gprintk

> +               subfunction_id);
> +        return false;
> +    }
> +}
> +
> +static bool imx8qm_smc(struct cpu_user_regs *regs)
> +{
> +    uint32_t function_id = get_user_reg(regs, 0);
> +    uint32_t subfunction_id = get_user_reg(regs, 1);
> +    struct arm_smccc_res res;
> +
> +    if ( !cpus_have_const_cap(ARM_SMCCC_1_1) )
> +    {
> +        printk_once(XENLOG_WARNING "no SMCCC 1.1 support. Disabling firmware calls\n");
NIT: you can move string within quotes to the next line to avoid exceeding 80 chars.
Also, all the other messages are prepended with "imx8qm: smc:" so better be consistent.

> +
> +        return false;
> +    }
> +
> +    /* Only hardware domain may use the SIP calls */
> +    if ( !is_hardware_domain(current->domain) )
> +    {
> +        gprintk(XENLOG_WARNING, "imx8qm: smc: No access\n");
Here you use gprintk, but ...

> +        return false;
> +    }
> +
> +    switch ( function_id )
> +    {
> +    /* Only available on imx8m series */
> +    case IMX_SIP_FID(IMX_SIP_F_GPC):
> +        return false;
> +    case IMX_SIP_FID(IMX_SIP_F_CPUFREQ):
> +        /* Hardware domain can't take any informed decision here */
> +        return false;
> +    case IMX_SIP_FID(IMX_SIP_F_BUILDINFO):
> +        goto allow_call;
> +    case IMX_SIP_FID(IMX_SIP_F_TIME):
> +        if ( imx8qm_is_sip_time_call_ok(subfunction_id) )
> +            goto allow_call;
> +        return false;
> +    /* Only available on imx8m series */
> +    case IMX_SIP_FID(IMX_SIP_F_DDR_DVFS):
> +        return false;
> +    /* Only available on imx8m series */
> +    case IMX_SIP_FID(IMX_SIP_F_SRC):
> +        return false;
> +    /* Only available on imx8m series */
> +    case IMX_SIP_FID(IMX_SIP_F_GET_SOC_INFO):
> +        return false;
> +    /* Only available on imx8m series */
> +    case IMX_SIP_FID(IMX_SIP_F_NOC):
> +        return false;
> +    /* Xen doesn't have suspend support */
> +    case IMX_SIP_FID(IMX_SIP_F_WAKEUP_SRC):
> +        return false;
> +    case IMX_SIP_FID(IMX_SIP_F_OTP_READ):
> +        /* subfunction_id is the fuse number, no sensible check possible */
> +        goto allow_call;
> +    case IMX_SIP_FID(IMX_SIP_F_OTP_WRITE):
> +        /* subfunction_id is the fuse number, no sensible check possible */
> +        goto allow_call;
> +    case IMX_SIP_FID(IMX_SIP_F_SET_TEMP_ALARM):
> +        goto allow_call;
> +    default:
> +        printk(XENLOG_WARNING "imx8qm: smc: Unknown function id %x\n",
... here you don't.

> +               function_id);
> +        return false;
> +    }
> +
> + allow_call:
> +    arm_smccc_1_1_smc(function_id,
> +                      subfunction_id,
> +                      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;
> +}
> +
> +PLATFORM_START(imx8qm, "i.MX 8Q{M,XP}")
> +    .compatible = imx8qm_dt_compat,
> +    .smc = imx8qm_smc,
> +PLATFORM_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.44.0


~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:26:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:26:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700015.1092547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYX4-0008Mr-Dy; Tue, 02 Apr 2024 07:26:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700015.1092547; Tue, 02 Apr 2024 07:26:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYX4-0008Mk-BO; Tue, 02 Apr 2024 07:26:10 +0000
Received: by outflank-mailman (input) for mailman id 700015;
 Tue, 02 Apr 2024 07:26: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=64iE=LH=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rrYX2-0008MS-SW
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:26:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2613::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 440374fb-f0c2-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 09:26:05 +0200 (CEST)
Received: from DU7P195CA0013.EURP195.PROD.OUTLOOK.COM (2603:10a6:10:54d::8) by
 AS8PR08MB9552.eurprd08.prod.outlook.com (2603:10a6:20b:61b::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr
 2024 07:26:02 +0000
Received: from DU6PEPF0000A7E4.eurprd02.prod.outlook.com
 (2603:10a6:10:54d:cafe::fa) by DU7P195CA0013.outlook.office365.com
 (2603:10a6:10:54d::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Tue, 2 Apr 2024 07:26:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000A7E4.mail.protection.outlook.com (10.167.8.44) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22 via
 Frontend Transport; Tue, 2 Apr 2024 07:26:02 +0000
Received: ("Tessian outbound dc0a9029eb2c:v300");
 Tue, 02 Apr 2024 07:26:02 +0000
Received: from 43dae0d61d56.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DE367D52-CCF8-46B1-A704-1113E6DBC35D.1; 
 Tue, 02 Apr 2024 07:25:56 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 43dae0d61d56.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 02 Apr 2024 07:25:56 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB9744.eurprd08.prod.outlook.com (2603:10a6:20b:614::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr
 2024 07:25:54 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.042; Tue, 2 Apr 2024
 07:25:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 440374fb-f0c2-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=m1hOPUegJsJTmGnR9dgoun6jNfNh7zX6i1O3eipE+TghrtddQIaA6n1VFc5JvtPaJLAkagKklWRXKRaBaYxHeoUt/4jYpSaznzRumwOzGsF8qalX/AbK6pTPmz6mMjeTS+XJEtnGDUOFzytAatZn5+y5YlpYWW/F5wAoJgD1VnSJl2k6nc+5SPVVgf0Qv6nuqcveofGMmcO59MPZw7I1YOjOLzRVnFX2+QYRyqjGE0vBL1Y3SOIY4Z6dn8tbocwOFlF0/7ZwMP1zjtH0zUFmRxvaMebb6ikfT3hLihPivqPU3qMtwf4+QxZn9MDaK5KVt3wDRzXsgyyPIs/xY5w7mw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8ptpqj4SPJHm9E9/gMaEyHTmgbUb3oIYsccF4bAMdS0=;
 b=h1UU1hm1nosWOQIfcBxapr4mYmdiDNql05jvjyFdN2vWeybiSM+08+qaRq2NHpWjjWegkc8F+Z0ouM3i4pMaq+PcGJHyuHqPpgd6txeVLKNu/MlqOqwgYcZd8wvieIoVhUaTL+K68KJjxo+tkKzSgkc4iGfMEg42pmsvwEjnDCzTVpU/anlWyqb110hy185jFIKkrZryVyPQ62L2CwUuP59pD1yvYdt+FJgFVejKCNbPDKXMz9QA91Jq6bLPakTlmulj3yCZ/1N1IPwluvt9w/pyr4MMtL7pnmp1ptCeHtLE99dIKhI1LJ1fEXqrMLHSZqs9tn0ZgbGAqbIMBem5+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=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8ptpqj4SPJHm9E9/gMaEyHTmgbUb3oIYsccF4bAMdS0=;
 b=JKLVleO/RNiZwpX2QMgTN+hf8Cugj0IL/OexLT3K/8SVPeWIfjUekpkT6wL3xXsbNaPDxFcgvwUBRHeGqH7TW+SiJ4FdUXMeA2M8gCGwOqyqgxn67mYMgK6qSBaco13YLjxc10tNqeA0ZS2IKiZUrOiYYZC5o1jE5bnEbFRHOyU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ca3d8ca3b95e5999
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KriUs9lTflc8Rn+5wv1BufaTwtSjMuuO0qtEKWGa6gDAjG1bmASJ67SZR2gfKTNPcumhbTHa1o+bN0OQLqODHNe3vAxgkOfLwvsSIp232uPEh4V7P+FdgHDpRyaYDNrmEbMrmugUKboiCeD2wqTdoeMheFFJVTDrxncK513e2ooe4YP3DznAD5x2rzj3GAx1bmMtTMzH8VH6arW+OjiXypLR0e5z1Vi8NV/JhP97WNWDAlNxiUngrdqfzbrkSF308HJoczJLsuQVr56ezdtWpBfiif3ljQyMhO7tQ+gK5bPKKWuBn+rhR1+SLEL/f25HK08Exh4ftD7L9oMzo0IbAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8ptpqj4SPJHm9E9/gMaEyHTmgbUb3oIYsccF4bAMdS0=;
 b=MD+2/CIkC7i96I4g6mrNqLzbPk0L7KvIZkm8vCHBmKf5V9DDCCAVbLpUkGyfrlpNXAhdh4kM0bfBPqzZOr02eIfjy1xF88Djt9C+ddN8Sfq8jQ3BDEgvZJm2lFJdCBgUpDha7YhfM64iVxvjzI5zEyPrG6kl5Pboj8DMq5ybPq6kTvnca1mTCNd7mbUP4XF9opXH57Dli4iqKEFSMh8NSgTXLANpwqiMIIaQ3chEBYFLm/b4QTquczhBAdxwrA2pbshAPD6zjXi4SK7HSDDVaYs0Jp2Nn3CAmBPGQclv+uXLpjd3qjdU6hIBeau/i5nNdHIjMSU1dthBOlWrlRkRZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8ptpqj4SPJHm9E9/gMaEyHTmgbUb3oIYsccF4bAMdS0=;
 b=JKLVleO/RNiZwpX2QMgTN+hf8Cugj0IL/OexLT3K/8SVPeWIfjUekpkT6wL3xXsbNaPDxFcgvwUBRHeGqH7TW+SiJ4FdUXMeA2M8gCGwOqyqgxn67mYMgK6qSBaco13YLjxc10tNqeA0ZS2IKiZUrOiYYZC5o1jE5bnEbFRHOyU=
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>, "patches@linaro.org" <patches@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [XEN PATCH 3/6] xen/arm: ffa: separate memory sharing routines
Thread-Topic: [XEN PATCH 3/6] xen/arm: ffa: separate memory sharing routines
Thread-Index: AQHafphXShQMyqELBEGnpkE0sEGolbFLm16AgAHad4CAByrsAA==
Date: Tue, 2 Apr 2024 07:25:54 +0000
Message-ID: <6B13FCBA-E23A-4188-A2E9-7C198D45210C@arm.com>
References: <20240325093904.3466092-1-jens.wiklander@linaro.org>
 <20240325093904.3466092-4-jens.wiklander@linaro.org>
 <F5023C5E-4563-4643-865B-601B022F7AC8@arm.com>
 <e43bee20-3307-4646-ac1b-a794e8211b4b@xen.org>
In-Reply-To: <e43bee20-3307-4646-ac1b-a794e8211b4b@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB9744:EE_|DU6PEPF0000A7E4:EE_|AS8PR08MB9552:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 kOMVx4jFnhkG0XNNhWF8g4x563ZyKmJ48M1kUJDdJwlPBNehpU7kkTbQaZlJ8iHv/iP8fEjzFCIiTnM1DfcV/fz3LIYNX/BukxKU8N5sat/bDIr4hjURq4gddpG3knwbJHfaMcqMskB/sBFJejthDAK+dyZ0/VZ+fEUruax0jF7Ugn1/kkFnNNLi0iCHd+DAPdAk67gjoi1whNKKWy5rogdJteQJpYtGhAI+ReCPbJzMDxJCUnSyvou/EymE1nbQtR9IBGVNE+yZCmQLgS13GEYH2uKE5ZEzYfS+mADs6nKs36buQ4C/yq5xUGa+y0f0mJClMnqGTBv3CXxI6VG/qefx5WcM5Gwng/1JVl+1niEHNFheRUmL/sHHRMF/jRfep62r/UeoWJQStv3eySq0X7gAxb97TtzjNdBiK+A8lb7O2Dri56NDWLhRqwDvsun11fVXJXEQOOFk3YTsG6MlkIb4yOqm62iJSqm0OQcnOnGwO8tRFV0iuQk1L/YpBUR+DUl82YMogYUikW7CnUIDkEtbwwQ6LXaShBZ0hh6xDq3irJwWzoOGi+xU7kzmRl2oINe9acZ5jM3LYio+CitNf7BgKS7NOMQbMy8fNTJgN6BXZv7699+dVuXv+iwIhuZ988Jbkqjo7xx0fi+0NARdLfSC73Fcsx6NaR9pXcf0UZM=
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:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0D6B45366E1807409CB6CC2EF8DC1658@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9744
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000A7E4.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a9b8c7c0-88aa-4d85-b413-08dc52e6269c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tOaXSnjEyZojmjvgx3vougdGC6DTSCr9xuV3cHwpxKnflZrL37r5MgwBK9RiAGAKJLQtHC6xhFFeczc6LbuNWreAhjqFNbeHNI1ZA71mJoZpiMBpJCfk63UWJjoCytVD2NWZRaAQDZL7pPqI0UsKl1c7CvmWwxYiQRzsIfeM/nG9YR8HlTkQzTudBkCv9cZgeEiCNDB9vSxDhIMpxI9GLNG0ClvntHN53U9Tx3pH1C9DGDDQ/lIvhelFHEW+pxANjgC7SJkuL4kAV/vMt7HSWwQPY+vGTKFmbPjh3pwaN55O2QSGDxOwbBWAmJkio9+EHBSGVALyPtUx1sFpc8D5zq/YcO2a/J8Yq9nj7JKdThBezExpEtBRnmsorf3De1OZ32K3I4sp9qEORGknbGRk5kTh7wCXqo+vtC9bQ61WZX9Bc1biQUjW89ZG8GKthX9O8CEEv4OQjzhuN8bk9MIfnU2BP35vDfvZGotTtxLWlrnEV8nNFtp7VVbJHVi/U0jXW+jtq3FwUAjmyPPzgNwmPunqKFtGA+TkrcijVG0PDD2kIK983BE0gjpK102QY/BMO11/ciz7d7mevDn/CNJtSwODEtpjDNE/QSaC9HhY+O9H5IW/z+WQiEyuXRyPd2Ik3pRu7uc+0hJ0b8gSvOqnWpCmvEtNAlviuJnfVtZutue5l/4SOBYhwey2MCmq3IAUROXWHUdwyrzNU7ZEoLY2UdAf/C4m/qnZ/XBt17gAnz/23nvN0Ok3A2rbUBW69e/9
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 07:26:02.3371
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a9b8c7c0-88aa-4d85-b413-08dc52e6269c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000A7E4.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9552

Hi Julien,

> On 28 Mar 2024, at 18:58, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 27/03/2024 13:40, Bertrand Marquis wrote:
>> Hi Jens,
>>> On 25 Mar 2024, at 10:39, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
>>>=20
>>> Move memory sharing routines into a separate file for easier navigation
>>> in the source code.
>>>=20
>>> Add ffa_shm_domain_destroy() to isolate the ffa_shm things in
>>> ffa_domain_teardown_continue().
>>>=20
>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>> With the copyright date mentioned after fixed (which can be done on comm=
it):
>> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com
>=20
> I have fixed and committed the series. However, it wasn't trivial to find=
 the comment in your reply. In the future, can you try to trim your reply?

Thanks a lot and very sorry for that, I will remember to trim next time.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:28:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700026.1092558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYZ8-0000ep-RN; Tue, 02 Apr 2024 07:28:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700026.1092558; Tue, 02 Apr 2024 07: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 1rrYZ8-0000ei-NS; Tue, 02 Apr 2024 07:28:18 +0000
Received: by outflank-mailman (input) for mailman id 700026;
 Tue, 02 Apr 2024 07:28:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=m3oM=LH=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rrYZ8-0000ec-1p
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:28:18 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 917a081d-f0c2-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 09:28:16 +0200 (CEST)
Received: from BN1PR10CA0028.namprd10.prod.outlook.com (2603:10b6:408:e0::33)
 by DM6PR12MB4138.namprd12.prod.outlook.com (2603:10b6:5:220::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.33; Tue, 2 Apr
 2024 07:28:12 +0000
Received: from BN3PEPF0000B072.namprd04.prod.outlook.com
 (2603:10b6:408:e0:cafe::96) by BN1PR10CA0028.outlook.office365.com
 (2603:10b6:408:e0::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Tue, 2 Apr 2024 07:28:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN3PEPF0000B072.mail.protection.outlook.com (10.167.243.117) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 2 Apr 2024 07:28:09 +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.35; Tue, 2 Apr
 2024 02:28:05 -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.35; Tue, 2 Apr
 2024 02:28: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.35 via Frontend
 Transport; Tue, 2 Apr 2024 02:28: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: 917a081d-f0c2-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GcckKd2UCKq1hlK4IBDVwpSci/QtGq+mWwAC6rUHNcc587mvCCCnxRf92GfCmY6SU/jB2h1s9faZ19e4qrnGeAVSQkGYkG/Pz9mF7WUtm4pn+NdxSZAK5ve2YR1XiQgArJr0Z6KbwXZixqu2UlTVaMklCQlekDjp7m664VinHlkm9XPzpAhzI1GgjL7k4iuxx8my8GDGFFYUFpH5NCkYooq1LpW/cI4DNABRWpyV3fgjwyK48qVAJRzUf/sIJUhT7FJF8MG/MdavMpobh/hetR/esJxft9IqGwZBgJWCbgNgjjIvibIABGP9uxszGFCXpmENXls8eFRBmKz0AEGPqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N5C4BD1il94gtoJ4MVzbYstUmHjOmvis1l9KSTC2WrI=;
 b=d+nTBXmqC1pMM/H1Uic5JwA2Qoh5AivGE12Hb6yFaowWwXUcyw9owh8S/TKzNtQgeCcVcWfClo5T09p/wtdFSloZdHVlaZiOV9P2UpFPDtT3hZVFvQ4VowGOJPR0Ou9zp5wM4w7AON9xyu1MiIn9gvVKa6TZpYS4FSpZQbaw+/Z6mb9D2MZxrw6SdoEG4+mN0hUmHI9r2I0muexh5ZLSYkx6WNMzBg9Hiel7L6uy60uJyQMapTJD01DXncJD9lnY7zml6RlY1PTJw6+pUjQP22SsSli+Z4VPoXvBdaD5FuKy2qk5Zulo5Z66vhe9aNXiR2eL8N/IqPJriLngXwkbpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N5C4BD1il94gtoJ4MVzbYstUmHjOmvis1l9KSTC2WrI=;
 b=PmXqB9NZBMsgM+2glJLXG6cI0f/5kcMcVnkgNnBei+4WGMFz0ubuwmjNeAL9r1J5MTbA2mFH6SLLsagdzHKZAf/k2NgpvLfAup+fzvYvly4lkioQLG3up90lWnHjScKpYGcLXcsdSNpY4oqxtxIQdyDbm8uJgCIPdkLoDf+9EIY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <5681b3e2-2e7f-484f-9ea8-c64e94a97dc3@amd.com>
Date: Tue, 2 Apr 2024 09:28:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] arm: smmu: allow SMMU to have more IRQs than context
 banks
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <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>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-2-volodymyr_babchuk@epam.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240329000822.3363568-2-volodymyr_babchuk@epam.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: BN3PEPF0000B072:EE_|DM6PR12MB4138:EE_
X-MS-Office365-Filtering-Correlation-Id: 26dd61ea-a69d-4f0d-b50d-08dc52e6723b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WFM6XHuWaK/HKCoD+HG9n6ykmzSjv+w2+l95tZLnwECUgiOp+DdtRKv0V57kJRNe0YcuPilqFCtzpZk5dl0tmiw2flZtLqok2+cgiHROffZbDUZl/vV5Qjwq0TkfzSQvjOfHRVs13RmzRE6gQp6Wm68P01OEm6Shoc9GB0tQcfhPe5TPHF26d/TA1wXQ+SNIS5E1PK7OMWTW9ErrdGFbSzF9fKyYwDpztM/ZYbdppfDOvhIqktLpMfUYNIMT6KuulL5v35qy2M6SdYolnc10Y8NcYaw3MPl+IT4RHBcxvSiaMC43bB9IBXzkz8svbJLfWi+LoIpgODzALUHx0f4cwj7Xjn7Wt4RRHHFTnc623Frdi0YHHZ2JFGo0T2Z6fYWcAqqXXow9k9TgCH+1Dmug8m9TVSalFUIPe2SkqVMfs5AgLYYdFVHJLZpjMEjpE21OOYPKJy6fuKnaOiVkOinZ4T5hbtl057uDbk7VnGHo5b5h/d6R3Rmq1GKS4f5fLa3PGcYRgHZH/7VVZEYISGKtBvt777rQgXqmOZdSUjucxtsjTziElFJaJ2L27bmvXBzmkHNibc+x/HcqBakw5zL4A2n3jJeDsVS3RacRKgZE/IPW5vV/YgdXzCS/Pv3CsGyLXRrSiu4oBMFwNrLwnls43ajomXIMq/75AFWYn2N7JPJrUVfpHLk6eCstvNEIP9qZFg3eufjfei2eglgg/bIRsMK6tKYzK9e381n0ePSW0Nte3i3wESXEK86G4OWh8oWB
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 07:28:09.1770
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 26dd61ea-a69d-4f0d-b50d-08dc52e6723b
X-MS-Exchange-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:
	BN3PEPF0000B072.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4138

Hello,

On 29/03/2024 01:08, Volodymyr Babchuk wrote:
> 
> 
> I encountered platform, namely Qualcomm SA8155P where SMMU-compatible
NIT: a commit msg should be written in imperative mood

> IO-MMU advertises more context IQRs than there are context banks. This
> should not be an issue, we need to relax the check in the SMMU driver
> to allow such configuration.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>  xen/drivers/passthrough/arm/smmu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index 32e2ff279b..2dd3688f3b 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -2550,7 +2550,7 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev)
>         parse_driver_options(smmu);
> 
>         if (smmu->version > ARM_SMMU_V1 &&
> -           smmu->num_context_banks != smmu->num_context_irqs) {
> +           smmu->num_context_banks > smmu->num_context_irqs) {
This was done in Linux by commit:
d1e20222d537 ("iommu/arm-smmu: Error out only if not enough context interrupts")

However, they also ignore superfluous interrupts. Shouldn't we do the same?

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 07:53:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 07:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700031.1092567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYx4-0005Yo-OH; Tue, 02 Apr 2024 07:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700031.1092567; Tue, 02 Apr 2024 07:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrYx4-0005Yh-LZ; Tue, 02 Apr 2024 07:53:02 +0000
Received: by outflank-mailman (input) for mailman id 700031;
 Tue, 02 Apr 2024 07:53: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrYx3-0005Yb-HZ
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 07:53:01 +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 0676245d-f0c6-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 09:53:00 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3436ffd65ebso98515f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 00:53: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
 b10-20020a05600003ca00b00341c563aacbsm13716092wrg.1.2024.04.02.00.52.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 00:52: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: 0676245d-f0c6-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712044379; x=1712649179; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0Od4InG7X55PBBaAJX+yOmPV0hoy+I8x9/ye18meDsc=;
        b=WB7+M7oPnI+lkGhq+vJ1g1vweGSn6H0knfPdEiGfQsYXSD1t+pLfr4nK7jIPAEz2z2
         i8bZ87TdVAy4brPiDfBH/QMSCJrJY7IEm4e5gPAhwIz7oR9ASo9vUAHWZ9j12pGvb51A
         ADt2OoxVrPCfajLC23LAOas5sKvh3xuzUIeSd64Li/2lWVZQfkFu/REuhEgGZLVldAm6
         xW7fLFMRCKwMz49R3akwRfqgn1NuBVrzjOieTY2eCZFl7aoQMYVpRvcuF4q6IhdWi7uf
         /uuPb2y4+ETNLEiLIE3ToNCr92AXyluyoj/Q84Bjt4l/1VUvCCyw3NG4NY7hjcWQQwJV
         5tOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712044379; x=1712649179;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0Od4InG7X55PBBaAJX+yOmPV0hoy+I8x9/ye18meDsc=;
        b=GrtUNbkYtiNGhHKn0Vb+n75AdCmxnOPXYoQyLYVOP9Wh/qZsd5HKd/z15kVCCNmKWF
         BfXJk1harlmxvtbGOpoQcMVMeOZiQQ14hjkDXvri+m5eoc82NWF36PGgRnkyBtSfP2zD
         +iaoCD7UmeeZHTLiNStFWNPF0iR5ArDF+5nZp3WwyZVH1gWwujR18GdlzGrZMdheOVFc
         YF37zHM86RX7T2/6uHNIKSl6h2AnQ6CIJBHlLBzCLVZ0g7kuWpFP+JdNw5AB2mwrLwBz
         8eGVG5mlHnlE2YNjNF93Jg+WOWNvkWoBRu2bdmXrGxhasCGtNreT0RwazJfx3RD/BQPn
         hRYA==
X-Forwarded-Encrypted: i=1; AJvYcCVqcUQdsh/3vpcA3MBHaBtJwWJfCJe4Mpa+ZNQKxXJNE9cwdxIMb8jL7d/+Elei5bYd6G4fmET8JZckINuHRuresObZxtAu3ESaJjIhgcE=
X-Gm-Message-State: AOJu0Yw5ITfhGF9NWwvDWJ752UelHp1VdWfAkBsu9zPFZDMQaHg+o3TJ
	8eyJopFCaur1ZvEZvtJVk5lrtMG5gQ+8bcAxIx8kAdBXA5iqoDiEzpxnmYI3HQ==
X-Google-Smtp-Source: AGHT+IEyW612rhV4jmLKAE3nwpbYRwhUofQDdnb5LRcRoQyDVj0s1SWu0Cdzfju5uT9P/G8dWNKHTw==
X-Received: by 2002:adf:efcf:0:b0:342:2ea8:18fa with SMTP id i15-20020adfefcf000000b003422ea818famr8946120wrp.15.1712044379485;
        Tue, 02 Apr 2024 00:52:59 -0700 (PDT)
Message-ID: <f4ca7706-022f-4a55-aeef-32422b428f0d@suse.com>
Date: Tue, 2 Apr 2024 09:53:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 01:08, Volodymyr Babchuk wrote:
> Generic Interface (GENI) is a newer interface for low speed interfaces
> like UART, I2C or SPI. This patch adds the simple driver for the UART
> instance of GENI. Code is based on similar drivers in U-Boot and Linux
> kernel.
> 
> This driver implements only simple synchronous mode, because although
> GENI supports FIFO mode, it needs to know number of
> characters **before** starting TX transaction. This is a stark
> contrast when compared to other UART peripherals, which allow adding
> characters to a FIFO while TX operation is running.
> 
> The patch adds both normal UART driver and earlyprintk version.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>  xen/arch/arm/Kconfig.debug           |  19 +-
>  xen/arch/arm/arm64/debug-qcom.inc    |  76 +++++++
>  xen/arch/arm/include/asm/qcom-uart.h |  48 +++++
>  xen/drivers/char/Kconfig             |   8 +
>  xen/drivers/char/Makefile            |   1 +
>  xen/drivers/char/qcom-uart.c         | 288 +++++++++++++++++++++++++++
>  6 files changed, 439 insertions(+), 1 deletion(-)
>  create mode 100644 xen/arch/arm/arm64/debug-qcom.inc
>  create mode 100644 xen/arch/arm/include/asm/qcom-uart.h
>  create mode 100644 xen/drivers/char/qcom-uart.c

This last new file wants mentioning in ./MAINTAINERS'es "ARM (W/
VIRTUALISATION EXTENSIONS) ARCHITECTURE" section, I suppose.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 08:21:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 08:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700039.1092577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrZO5-0002Er-AE; Tue, 02 Apr 2024 08:20:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700039.1092577; Tue, 02 Apr 2024 08:20: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 1rrZO5-0002Ek-70; Tue, 02 Apr 2024 08:20:57 +0000
Received: by outflank-mailman (input) for mailman id 700039;
 Tue, 02 Apr 2024 08:20:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0S3j=LH=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1rrZO3-0002Eb-34
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 08:20:55 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb2d8125-f0c9-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 10:20:52 +0200 (CEST)
Received: by mail-pj1-x1029.google.com with SMTP id
 98e67ed59e1d1-2a04ac98cf7so3296203a91.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 01:20: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: eb2d8125-f0c9-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712046051; x=1712650851; 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=MtgDNy5Ok/k3AgC4/N+aLWeQ5ZduvA0x4teM9jNjSvQ=;
        b=bPt262+4pMJhuIdwssdWQ8pcXHPshLqxxoKagA7VDs8Y+FIY68apvZmR4rL7rDlBN0
         KNpuTuJG4VmplHvvYMcjMs5E7gU1Oo1V8+OX21IRqAYKPBptNp1itX68sLfZ8KxLfKN9
         Z5w4YZBpcbaIEknGGdEb4ZnMuaV+JLiXqOUWtcYeHsLuEUypUHCckITk2Z7NWAGHIr1G
         ACS2Vybf0UN2KmCZjPJWo8xmY9jDCfQk8gDiFaz19H+pdCWuRkfzRRwqgQT7NLY7y+Ao
         6/Xfb+3KdnKTbyFa+bnRKij9XEdvQ5Zk+l9VxYq4KnP/oLE1r5cbp4HfxW7tWXw+hJvB
         +6lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712046051; x=1712650851;
        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=MtgDNy5Ok/k3AgC4/N+aLWeQ5ZduvA0x4teM9jNjSvQ=;
        b=wWSM8S1/bGA8m072JRm3ga1JpE3ID4gqam43EsEyGy3SEw2yaLFTHDrwY1wnAbUjxh
         vdQ5zuJzN6qHnI1BYUITo9x3kZ70+9ZTacJU4V6oUZ/V9coQ1vYJhFKFZlC7EOK/8c40
         pG6H9eZ9s2tUuXzvX9iYi/v+LgzfhZ+pwzzMeBYTT5fJ+MR3SwfuX/NaQt57v2/0HDhQ
         hEBpExBEK8F6OvWmVoN+KiXwV42G5n8y077h96610c+T1N/ugkgJ9Kk2oeW7Ajq5UGKu
         Q/b9SW0ChhPXuLioAPzb/ig5vBT5YeyuXbUywaNsfsY0CpdRsPBE+xBrF+rWXAu0OJuL
         7aWg==
X-Forwarded-Encrypted: i=1; AJvYcCXCcUhMRGebhfw0eU58IXlAQc2lLXWpHtIyzoFzz7/piGb9GpG561FvMsTo3P2g/GD62Od653LXKZ8rVQWz/4R4IOJn9PhxlJXGdJ/4cUk=
X-Gm-Message-State: AOJu0Yz5M43YSANyOK7merU9UbJwhpcQkgrA2+SD2BzGsjGk0dKXw4FH
	oTUjCImElE4qPshNIX7TAwNiTLONJzi+iy9PkGHV3az9+uftq7xyb+mA9jz0xoQvFVkqKAuNolU
	Ygnff9aTIbJF71dDiJ3fGILzEG6Q=
X-Google-Smtp-Source: AGHT+IFWlqMVFBoKcV6hseAJUnZ6M3BBB/Kala7LFFLA8XcpKQEImuTrHalGIK62Lr2CNcY1VdHtmKAyvR0PSWNN5kQ=
X-Received: by 2002:a17:90a:974b:b0:2a2:20d8:2110 with SMTP id
 i11-20020a17090a974b00b002a220d82110mr14057235pjw.8.1712046051136; Tue, 02
 Apr 2024 01:20:51 -0700 (PDT)
MIME-Version: 1.0
References: <171154167446.2671062.9127105384591237363.stgit@firesoul> <CALUcmU=xOR1j9Asdv0Ny7x=o4Ckz80mDjbuEnJC0Z_Aepu0Zzw@mail.gmail.com>
In-Reply-To: <CALUcmU=xOR1j9Asdv0Ny7x=o4Ckz80mDjbuEnJC0Z_Aepu0Zzw@mail.gmail.com>
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Tue, 2 Apr 2024 10:20:35 +0200
Message-ID: <CALUcmUkvpnq+CKSCn=cuAfxXOGU22fkBx4QD4u2nZYGM16DD6A@mail.gmail.com>
Subject: Re: [PATCH net] xen-netfront: Add missing skb_mark_for_recycle
To: Jesper Dangaard Brouer <hawk@kernel.org>
Cc: netdev@vger.kernel.org, Ilias Apalodimas <ilias.apalodimas@linaro.org>, wei.liu@kernel.org, 
	paul@xen.org, Jakub Kicinski <kuba@kernel.org>, kirjanov@gmail.com, dkirjanov@suse.de, 
	kernel-team@cloudflare.com, security@xenproject.org, 
	andrew.cooper3@citrix.com, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Fri, 29 Mar 2024 at 10:47, Arthur Borsboom <arthurborsboom@gmail.com> wrote:
>
> On Wed, 27 Mar 2024 at 13:15, Jesper Dangaard Brouer <hawk@kernel.org> wrote:
> >
> > Notice that skb_mark_for_recycle() is introduced later than fixes tag in
> > 6a5bcd84e886 ("page_pool: Allow drivers to hint on SKB recycling").
> >
> > It is believed that fixes tag were missing a call to page_pool_release_page()
> > between v5.9 to v5.14, after which is should have used skb_mark_for_recycle().
> > Since v6.6 the call page_pool_release_page() were removed (in 535b9c61bdef
> > ("net: page_pool: hide page_pool_release_page()") and remaining callers
> > converted (in commit 6bfef2ec0172 ("Merge branch
> > 'net-page_pool-remove-page_pool_release_page'")).
> >
> > This leak became visible in v6.8 via commit dba1b8a7ab68 ("mm/page_pool: catch
> > page_pool memory leaks").
> >
> > Fixes: 6c5aa6fc4def ("xen networking: add basic XDP support for xen-netfront")
> > Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > Signed-off-by: Jesper Dangaard Brouer <hawk@kernel.org>
> > ---
> > Compile tested only, can someone please test this
>
> I have tested this patch on Xen 4.18.1 with VM (Arch Linux) kernel 6.9.0-rc1.
>
> Without the patch there are many trace traces and cloning the Linux
> mainline git repository resulted in failures (same with kernel 6.8.1).
> The patched kernel 6.9.0-rc1 performs as expected; cloning the git
> repository was successful and no kernel traces observed.
> Hereby my tested by:
>
> Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
>
>
>
> >  drivers/net/xen-netfront.c |    1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> > index ad29f370034e..8d2aee88526c 100644
> > --- a/drivers/net/xen-netfront.c
> > +++ b/drivers/net/xen-netfront.c
> > @@ -285,6 +285,7 @@ static struct sk_buff *xennet_alloc_one_rx_buffer(struct netfront_queue *queue)
> >                 return NULL;
> >         }
> >         skb_add_rx_frag(skb, 0, page, 0, 0, PAGE_SIZE);
> > +       skb_mark_for_recycle(skb);
> >
> >         /* Align ip header to a 16 bytes boundary */
> >         skb_reserve(skb, NET_IP_ALIGN);
> >
> >

I don't see this patch yet in linux-next.

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log

Any idea in which kernel release this patch will be included?


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 08:44:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 08:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700045.1092588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrZkP-0005RI-94; Tue, 02 Apr 2024 08:44:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700045.1092588; Tue, 02 Apr 2024 08:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrZkP-0005RB-5r; Tue, 02 Apr 2024 08:44:01 +0000
Received: by outflank-mailman (input) for mailman id 700045;
 Tue, 02 Apr 2024 08:43:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6R5e=LH=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rrZkN-0005R5-O8
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 08:43:59 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20623.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24c09d1d-f0cd-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 10:43:58 +0200 (CEST)
Received: from PH8PR15CA0021.namprd15.prod.outlook.com (2603:10b6:510:2d2::24)
 by BY5PR12MB4194.namprd12.prod.outlook.com (2603:10b6:a03:210::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr
 2024 08:43:54 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:510:2d2:cafe::16) by PH8PR15CA0021.outlook.office365.com
 (2603:10b6:510:2d2::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Tue, 2 Apr 2024 08:43:54 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CB.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 2 Apr 2024 08: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.35; Tue, 2 Apr
 2024 03:43:54 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 2 Apr 2024 03: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: 24c09d1d-f0cd-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HiIQa1vk1llaoV3eBw4oHU89uM5zbSCx9QwUT4OFxJZY2NSg909cDvjzJndcrnMMmDGKnm2+QG6BYHe3tf4n8fFnKBBc4816cbv8bQPnBy4qGzHR3JnJ9VcF1aoZPOKGLti+0HxjTE6BWP6QgqDWlCT/CAlLgjhSffTetnM7FagfToRJZ0jIBhXos/qozRpMEU2cicPWlgP+dcngYYmkUVXp7lC2RL+RHhd5woenQoz4S3MQl5aIle0b6NVe3vEQvTsyAMNn+E4/88ek5wTwPYQ3pu2JjBMya4Z3zK+CPZHA81JK2m7kbpgU3uzpVem1lYuHjRkr0jgI2Q25JtS1Pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tNN84drcALK2z9xTGnyTeN/wURz5uA3TYQBHHZR5fC0=;
 b=jznPdEm0PYFAYiBzJlBHN4fsyRW/vI9qK7jkE277RzOJ4kV2GHnDLC4Nl2xZlWDmVKDHQSRtoN4+LnBua8OT7jwtg8m2huw4e96lNC8iwrYLzatMQKrbo7DpHG7n6ZCmjymWSMixDOarwKILJVNImoJdg1ZlwgtjIO4Y7R76XA1U1wvnAyzidxIJ832oPjIqfzxYwBOY7v5F6kBnVhtJI79aL40iPOfZWiZApfBLkf6ji8iRB2SEt7A55Yme7xi2rbwz6pi6Z5UM5OwfjVP4f2/N1v1GgxS5H89ophj5PZ3HJzPy3zUl1MMVJSOgjOgRp4xrNtE6HTJ+oUhbs0qrow==
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=tNN84drcALK2z9xTGnyTeN/wURz5uA3TYQBHHZR5fC0=;
 b=SfVmyvEp/TmpEtnBR4ouh+Th6zyy7Aj+nd7L+FJTClj2dF1wJZi5lrSMkP1BP4HIrJzPPp4hTk/zJaeiacnCfNZrMI1kV1jxYbBj7nseiaMwfLTCsiUoBmXvsHJlnDRq2CXo+Je33vq6Sztme7z+HK4jxyUhTu0cSCUUp7BFYj0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <4a0e4c60-9401-4031-bf80-66033ad068e3@amd.com>
Date: Tue, 2 Apr 2024 16:43:51 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] xen/memory, tools: Make init-dom0less consume
 XEN_DOMCTL_get_mem_map
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
	<xen-devel@lists.xenproject.org>
References: <20240308015435.4044339-1-xin.wang2@amd.com>
 <20240308015435.4044339-6-xin.wang2@amd.com>
 <1cb8bca3-58b6-4a8d-ac46-8338ea5807e7@suse.com>
 <b1393dbe-42c2-4839-8ca3-7dc71fe72969@amd.com>
 <d9e3b7c4-d8be-4642-9212-b48ae885b46a@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <d9e3b7c4-d8be-4642-9212-b48ae885b46a@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|BY5PR12MB4194:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c07e25d-ff1d-4812-6da5-08dc52f10779
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9+X0zgXTg0PtRwE88qALawmOLxqEROBNWYsvLI84K0c+XYJqa1RKc6Flc2Lvw8HYNMks6S4q8wslqXQF2XSinTy21zVSe7dKlsyaDJjMp2ZkW7CSCsgKXLLjbsRReswaAOdop1NTqZtweJX3scepiC7xUQD0OIcQyI1SyDpBSu+NDZviQFp9a6WbdAxhXa8kRdWJUdnF8LQMnfzbk2qblxodySbZw6/DFafqh0/qRYtluffrY0hI1VDXAdu1s9jhqgGCEHIrf8Hxf5l1VI6rxVldwR4Yro+sx9JJdimpgHBiSu83rNL9xw43M/VipmCyqqKy91iACZFJsNIPA+XK7ByQ+SXuHKKPMPRYwoBDmuLSUrRN2UKiWDa7c7defXogAhfU6wQTu4h4lRdOWlz5lZz+3y4VmOvbws+uh2hPBIA0/rq8e1ro9JY0BDuPp9idQpufdVWY61VJyaIiC3aUA51IwIhgggqMTfyILfWkD4bb4NqlaZMJWoziiFg0p9dcaI7ni89jlPCrp/X5DDu8PhqQfsseYYqaV0NXzJkLuyi/tdi5RAFpgVZxHVRXYvEZ/JWLdr8gUyxNoOd7DaKUmjuUCZCdX01Hb+56q9RrscPcfk4TSvjxD7XuRaitXCkuU3WNU4/SaK+YoWP12OU+ebcYYPLIqpqLX0SRC6c3iPKrmYqHQfR4YHTA+7L8i210yjHW25oHcqnkWSnMttkyuJxjfQiiJGYwpAcyhjY0qjcibqRXac4lTyFB2RcrE5+j
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 08:43:54.5137
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c07e25d-ff1d-4812-6da5-08dc52f10779
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4194

Hi Jan,

On 4/2/2024 3:05 PM, Jan Beulich wrote:
> On 29.03.2024 06:11, Henry Wang wrote:
>> On 3/12/2024 1:07 AM, Jan Beulich wrote:
>>>> +/*
>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>> + * or static allocation.
>>>> + */
>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>>    #endif
>>> If this is for populate_physmap only, then other sub-ops need to reject
>>> its use.
>>>
>>> I have to admit I'm a little wary of allocating another flag here and ...
>>>
>>>> --- a/xen/include/xen/mm.h
>>>> +++ b/xen/include/xen/mm.h
>>>> @@ -205,6 +205,8 @@ struct npfec {
>>>>    #define  MEMF_no_icache_flush (1U<<_MEMF_no_icache_flush)
>>>>    #define _MEMF_no_scrub    8
>>>>    #define  MEMF_no_scrub    (1U<<_MEMF_no_scrub)
>>>> +#define _MEMF_force_heap_alloc 9
>>>> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
>>>>    #define _MEMF_node        16
>>>>    #define  MEMF_node_mask   ((1U << (8 * sizeof(nodeid_t))) - 1)
>>>>    #define  MEMF_node(n)     ((((n) + 1) & MEMF_node_mask) << _MEMF_node)
>>> ... here - we don't have that many left. Since other sub-ops aren't
>>> intended to support this flag, did you consider adding another (perhaps
>>> even arch-specific) sub-op instead?
>> While revisiting this comment when trying to come up with a V3, I
>> realized adding a sub-op here in the same level as
>> XENMEM_populate_physmap will basically duplicate the function
>> populate_physmap() with just the "else" (the non-1:1 allocation) part,
>> also a similar xc_domain_populate_physmap_exact() & co will be needed
>> from the toolstack side to call the new sub-op. So I am having the
>> concern of the duplication of code and not sure if I understand you
>> correctly. Would you please elaborate a bit more or clarify if I
>> understand you correctly? Thanks!
> Well, the goal is to avoid both code duplication and introduction of a new,
> single-use flag. The new sub-op suggestion, I realize now, would mainly have
> helped with avoiding the new flag in the public interface. That's still
> desirable imo. Internally, have you checked which MEMF_* are actually used
> by populate_physmap()? Briefly looking, e.g. MEMF_no_dma and MEMF_no_refcount
> aren't. It therefore would be possible to consider re-purposing one that
> isn't (likely to be) used there. Of course doing so requires care to avoid
> passing that flag down to other code (page_alloc.c functions in particular),
> where the meaning would be the original one.

I think you made a good point, however, to be honest I am not sure about 
the repurposing flags such as MEMF_no_dma and MEMF_no_refcount, because 
I think the name and the purpose of the flag should be clear and 
less-misleading. Reusing either one for another meaning, namely forcing 
a non-heap allocation in populate_physmap() would be confusing in the 
future. Also if one day these flags will be needed in 
populate_physmap(), current repurposing approach will lead to a even 
confusing code base.

I also do agree very much that we need to also avoid the code 
duplication, so compared to other two suggested approach, adding a new 
MEMF would be the cleanest solution IMHO, as it is just one bit and MEMF 
flags are not added very often.

I would also curious what the other common code maintainers will say on 
this issue: @Andrew, @Stefano, @Julien, any ideas? Thanks!

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 08:51:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 08:51:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700048.1092598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrZrm-0007BW-Vt; Tue, 02 Apr 2024 08:51:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700048.1092598; Tue, 02 Apr 2024 08: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 1rrZrm-0007BP-T7; Tue, 02 Apr 2024 08:51:38 +0000
Received: by outflank-mailman (input) for mailman id 700048;
 Tue, 02 Apr 2024 08: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrZrl-0007BJ-Ez
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 08:51:37 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35c03a34-f0ce-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 10:51:35 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-34339f01cd2so2895581f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 01:51: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
 h4-20020a056000000400b00343668bc492sm1026721wrx.71.2024.04.02.01.51.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 01:51: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: 35c03a34-f0ce-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712047895; x=1712652695; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nkJEBE/iU3VKRjQkdbXvmTTQMKiGU5keS54ity9dM3A=;
        b=QD/VjH8pakwt8m4B+ld6adk2pAVwILxHSVytVm1KRJ835+QZ1U/OFGBlxa393AuSjo
         FDNQ5xgCekirJVAWAcf+gDDX2EQI5eGnTorZZ6tNq8nGBhltSQkJky81Lsb3qG0aCfyr
         mePVoru0/G1W8OD8/qmkspxceQnoyzgVOYEFU2SJWZ74pEGaMMv2aiJmU98geYknkirl
         tYUBg7XHaxOM7elK+XwiaxUnQW5IIITn6H73xxRQqxVSCMoaFOQQQ2Egxwy4pU4OuSbf
         QmcCAWTqftvCwrVoxp/SdORDgONYcJhthasvihdw+Q5vXMox0j16CtVtRuPr4D1gCobS
         F5Hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712047895; x=1712652695;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nkJEBE/iU3VKRjQkdbXvmTTQMKiGU5keS54ity9dM3A=;
        b=GEJq2KiSoTPmCMLbW5uCVOJchx6GxkUBieomyXAxW4h4lUdBRcgaiAMQhRS1UIvoNL
         wLAHr8d3geTlXvSf1HnF3kgrtjkWPj4RR45k0LyitURDV286sZXM9t8ui7yh/yti1/MP
         FVF5PLnYXKusavR0L+5FaPtUn9hkSYy28BWgGwWBrefOeBQhpo8ZenRDFC7dfi744EAG
         Tlfeem0z6CLSJZO5l/ts+Uwe20WZaKPAq8C9/OkKDnuymFp17J2NCla1syP+G98+obGU
         3j2kXFZna3illvtqoX+0aw5Oetl71cmTHm7OfP+ykJ3m7QmKyKaoUSCAhhK64XjM6Uce
         hemA==
X-Forwarded-Encrypted: i=1; AJvYcCXS9XdLEVmJKFK3eDc4KGO6fx9XFQHKCLDX4eATLW1+ifFd04vKp4n/7pdm9iWLIoOZoIAeYaj2Gt8P7i5jaCRwaVp9b4eK6wrGH++Oyvc=
X-Gm-Message-State: AOJu0Yzcan5R5e/vkZ1v+byi2lOPy0+9Ush+KuHuh2zxvLXOWPieQK5f
	RMrGyRHSKRoWNHir+GjBDxeuDbpQYmVILcsyax2Ua/81kJRE+L6qz5zCNIHViA==
X-Google-Smtp-Source: AGHT+IHa1YfZa8R5mmV5aqPqDiHy7Y+3mnPA+bIfroBhzF1kWe4Xw6Mz2yuRqJ/wexSRl+Jge+kvnA==
X-Received: by 2002:a05:6000:256:b0:343:6c4b:3d8d with SMTP id m22-20020a056000025600b003436c4b3d8dmr491463wrz.12.1712047894666;
        Tue, 02 Apr 2024 01:51:34 -0700 (PDT)
Message-ID: <133d81d2-9ab1-446b-918f-d86e86833cd5@suse.com>
Date: Tue, 2 Apr 2024 10:51:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] xen/memory, tools: Make init-dom0less consume
 XEN_DOMCTL_get_mem_map
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240308015435.4044339-1-xin.wang2@amd.com>
 <20240308015435.4044339-6-xin.wang2@amd.com>
 <1cb8bca3-58b6-4a8d-ac46-8338ea5807e7@suse.com>
 <b1393dbe-42c2-4839-8ca3-7dc71fe72969@amd.com>
 <d9e3b7c4-d8be-4642-9212-b48ae885b46a@suse.com>
 <4a0e4c60-9401-4031-bf80-66033ad068e3@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4a0e4c60-9401-4031-bf80-66033ad068e3@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 10:43, Henry Wang wrote:
> On 4/2/2024 3:05 PM, Jan Beulich wrote:
>> On 29.03.2024 06:11, Henry Wang wrote:
>>> On 3/12/2024 1:07 AM, Jan Beulich wrote:
>>>>> +/*
>>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>>> + * or static allocation.
>>>>> + */
>>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>>>    #endif
>>>> If this is for populate_physmap only, then other sub-ops need to reject
>>>> its use.
>>>>
>>>> I have to admit I'm a little wary of allocating another flag here and ...
>>>>
>>>>> --- a/xen/include/xen/mm.h
>>>>> +++ b/xen/include/xen/mm.h
>>>>> @@ -205,6 +205,8 @@ struct npfec {
>>>>>    #define  MEMF_no_icache_flush (1U<<_MEMF_no_icache_flush)
>>>>>    #define _MEMF_no_scrub    8
>>>>>    #define  MEMF_no_scrub    (1U<<_MEMF_no_scrub)
>>>>> +#define _MEMF_force_heap_alloc 9
>>>>> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
>>>>>    #define _MEMF_node        16
>>>>>    #define  MEMF_node_mask   ((1U << (8 * sizeof(nodeid_t))) - 1)
>>>>>    #define  MEMF_node(n)     ((((n) + 1) & MEMF_node_mask) << _MEMF_node)
>>>> ... here - we don't have that many left. Since other sub-ops aren't
>>>> intended to support this flag, did you consider adding another (perhaps
>>>> even arch-specific) sub-op instead?
>>> While revisiting this comment when trying to come up with a V3, I
>>> realized adding a sub-op here in the same level as
>>> XENMEM_populate_physmap will basically duplicate the function
>>> populate_physmap() with just the "else" (the non-1:1 allocation) part,
>>> also a similar xc_domain_populate_physmap_exact() & co will be needed
>>> from the toolstack side to call the new sub-op. So I am having the
>>> concern of the duplication of code and not sure if I understand you
>>> correctly. Would you please elaborate a bit more or clarify if I
>>> understand you correctly? Thanks!
>> Well, the goal is to avoid both code duplication and introduction of a new,
>> single-use flag. The new sub-op suggestion, I realize now, would mainly have
>> helped with avoiding the new flag in the public interface. That's still
>> desirable imo. Internally, have you checked which MEMF_* are actually used
>> by populate_physmap()? Briefly looking, e.g. MEMF_no_dma and MEMF_no_refcount
>> aren't. It therefore would be possible to consider re-purposing one that
>> isn't (likely to be) used there. Of course doing so requires care to avoid
>> passing that flag down to other code (page_alloc.c functions in particular),
>> where the meaning would be the original one.
> 
> I think you made a good point, however, to be honest I am not sure about 
> the repurposing flags such as MEMF_no_dma and MEMF_no_refcount, because 
> I think the name and the purpose of the flag should be clear and 
> less-misleading. Reusing either one for another meaning, namely forcing 
> a non-heap allocation in populate_physmap() would be confusing in the 
> future. Also if one day these flags will be needed in 
> populate_physmap(), current repurposing approach will lead to a even 
> confusing code base.

For the latter - hence "(likely to be)" in my earlier reply.

For the naming - of course an aliasing #define ought to be used then, to
make the purpose clear at the use sites.

Jan

> I also do agree very much that we need to also avoid the code 
> duplication, so compared to other two suggested approach, adding a new 
> MEMF would be the cleanest solution IMHO, as it is just one bit and MEMF 
> flags are not added very often.
> 
> I would also curious what the other common code maintainers will say on 
> this issue: @Andrew, @Stefano, @Julien, any ideas? Thanks!
> 
> Kind regards,
> Henry



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 09:04:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 09:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700051.1092608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rra3l-0000cq-2T; Tue, 02 Apr 2024 09:04:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700051.1092608; Tue, 02 Apr 2024 09: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 1rra3k-0000cj-VE; Tue, 02 Apr 2024 09:04:00 +0000
Received: by outflank-mailman (input) for mailman id 700051;
 Tue, 02 Apr 2024 09:03: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=6R5e=LH=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rra3j-0000cd-SO
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 09:03:59 +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 f00c51d3-f0cf-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 11:03:58 +0200 (CEST)
Received: from BYAPR08CA0018.namprd08.prod.outlook.com (2603:10b6:a03:100::31)
 by DS7PR12MB5863.namprd12.prod.outlook.com (2603:10b6:8:7a::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr
 2024 09:03:54 +0000
Received: from CO1PEPF000044F1.namprd05.prod.outlook.com
 (2603:10b6:a03:100:cafe::b5) by BYAPR08CA0018.outlook.office365.com
 (2603:10b6:a03:100::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Tue, 2 Apr 2024 09:03:54 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F1.mail.protection.outlook.com (10.167.241.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 2 Apr 2024 09:03: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.35; Tue, 2 Apr
 2024 04:03:53 -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.35; Tue, 2 Apr
 2024 04:03:53 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 2 Apr 2024 04:03: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: f00c51d3-f0cf-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ATT0cv4dNW3b6YGjNn85ijf5H+/FwcXebzzqj3fF7d+ljvdc6yod1HFUQ+XO6uSRmDsQXRWMEhsQAPxSw9CIAdxSvxLK9eKAxrBnf+xaaTO5dJYN/9/1QdoVqQOirD4RvKD+3wUECxvi8uuXxW59b7eWAGR885fJ596yufLtNbYYdnXQusiR0evIkWyh/4WJhR4MJYfuLtsW4J43crMpCqzV1rTFaBVel/SaghHhIQn+SrAgFaDOIuAQFSIvormUqlMIiscYteNbqsdaIdKAR7ibAOyMiU654x6FM7Dhc9u5RiqdGORAxjplx6jKys0rHzmwn1Ziszge5CevLQn81Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ot3IJUV1xdELtyZiGrWHJxSTxoYg9ChiuQXnKiMQWHI=;
 b=B3/FqW3frhzVIHaQTH0U9ZCjNs7mUM77x3pwWtAwl1fr+b79l/2LqTZBy7dVCbc5CZkQ2A2vwiEZJE64eyFs+RW2403kZflVCvIuQfzJvFBMd+ceKHH1vnR8EhOrN6O/D9N9jXNv6sy1aZ0kfLY3A79jgTyJ0vAtEqi6OrJpQS3ZO3V68I3rBEkgFbI7oRtPMfj5Io++VN5ZdIW7RHABCSb1uYpme6OD3f05P7KFTrmCEO4aKSaMpz6IxrbW1jyhXdqhDjW4T9XfFFxXYMJ+qRJJ0l4rWldPdPK2EUXRHtgSl0/dTgxjEPyY805DUvF17r27rWpGcHMP9AFf9U3yXQ==
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=Ot3IJUV1xdELtyZiGrWHJxSTxoYg9ChiuQXnKiMQWHI=;
 b=dQ2AcP9CkkRrXCjQ4i6/FG8+W6lNOUMXhNWUO0ZTKpJtMyxBNKCG/PzKOc9I5d/5Ahx7e4ouSCGs3rVzV1mjeg6sj79HFYm1a1Am/uHqF8fza9ulYslnZCvryGnTda87xGgZ63Is/+E5UBgYHZ9/Y3vDodzsP2zGr6jS4HBJ/yc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <269e2df4-dee9-4863-8888-f23516e2e833@amd.com>
Date: Tue, 2 Apr 2024 17:03:45 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] xen/memory, tools: Make init-dom0less consume
 XEN_DOMCTL_get_mem_map
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
	<xen-devel@lists.xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240308015435.4044339-1-xin.wang2@amd.com>
 <20240308015435.4044339-6-xin.wang2@amd.com>
 <1cb8bca3-58b6-4a8d-ac46-8338ea5807e7@suse.com>
 <b1393dbe-42c2-4839-8ca3-7dc71fe72969@amd.com>
 <d9e3b7c4-d8be-4642-9212-b48ae885b46a@suse.com>
 <4a0e4c60-9401-4031-bf80-66033ad068e3@amd.com>
 <133d81d2-9ab1-446b-918f-d86e86833cd5@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <133d81d2-9ab1-446b-918f-d86e86833cd5@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F1:EE_|DS7PR12MB5863:EE_
X-MS-Office365-Filtering-Correlation-Id: 086af3df-fa11-4bc2-01b2-08dc52f3d2b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vex4vjjkBV0bzF17BXjgNNOCi1IdzTrMy+gAoLfhbfITWD2WLt8oUqjAsBP5a8XWH5m62+xWIpPHwRyCXZNcuz8dycrkeJpmKpJl8GPfzLUdVHquu0rsYw6CXA0KLkSiRim6cI0oBZ8von80+DSdiIyJGe5nphXi08s4IH0zC2FHujGYucbr5SAWEyDW6yHde4pW8cGNfgbTjXmmcSy1iM99U8SwhbUKthnPKA5tKHjMpWQmSiOXikPrdWAmpvdgdXVsz3ZhkryvKBXess7W1IeZGOWeuxDhXvRjvqiNJHvxW95Mu4nN+0oRppr6anEJfrws9Cqerl7foieARgx37BO8GjuvdrQqQy6dymtieu57qJOGkmKvDv2G8boGu2OZdMXqSz67xM3hA6StplebmuWmkS35aji7oLrg7Zutrq2wHrzU11Mo2FDwETcfDP1uN4O4yJHBgmmLO8To9sgz7nesFadsOVe1MH/IuBhJLnrkx+XSm/+WuFKuayJA9sjDmPzbLqHWCi7JJW9PA2NTttkyeK34v+fpWsnbsnluFzQzykahi+A3MzDr+6djGRMd4N73ZFvGqiqhuWqdh9LlMdkTNkMkPuG5gVwhtvgt7aBEFm5HlONP9v1FjTcSilaxjlAQltYIMY5De6Hy7w9vj47tdzeA91KymfZjDe5gA27iMuwJ/KcQP4//jrt0B1RAqLvl6IG0+gO7rbNg3SsddPdfkphYh7WoIAaORZH07TIkSZtPEgviK+nDHWTOu4Ce
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 09:03:54.3748
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 086af3df-fa11-4bc2-01b2-08dc52f3d2b4
X-MS-Exchange-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:
	CO1PEPF000044F1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5863

Hi Jan,

On 4/2/2024 4:51 PM, Jan Beulich wrote:
> On 02.04.2024 10:43, Henry Wang wrote:
>> On 4/2/2024 3:05 PM, Jan Beulich wrote:
>>> On 29.03.2024 06:11, Henry Wang wrote:
>>>> On 3/12/2024 1:07 AM, Jan Beulich wrote:
>>>>>> +/*
>>>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>>>> + * or static allocation.
>>>>>> + */
>>>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>>>>     #endif
>>>>> If this is for populate_physmap only, then other sub-ops need to reject
>>>>> its use.
>>>>>
>>>>> I have to admit I'm a little wary of allocating another flag here and ...
>>>>>
>>>>>> --- a/xen/include/xen/mm.h
>>>>>> +++ b/xen/include/xen/mm.h
>>>>>> @@ -205,6 +205,8 @@ struct npfec {
>>>>>>     #define  MEMF_no_icache_flush (1U<<_MEMF_no_icache_flush)
>>>>>>     #define _MEMF_no_scrub    8
>>>>>>     #define  MEMF_no_scrub    (1U<<_MEMF_no_scrub)
>>>>>> +#define _MEMF_force_heap_alloc 9
>>>>>> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
>>>>>>     #define _MEMF_node        16
>>>>>>     #define  MEMF_node_mask   ((1U << (8 * sizeof(nodeid_t))) - 1)
>>>>>>     #define  MEMF_node(n)     ((((n) + 1) & MEMF_node_mask) << _MEMF_node)
>>>>> ... here - we don't have that many left. Since other sub-ops aren't
>>>>> intended to support this flag, did you consider adding another (perhaps
>>>>> even arch-specific) sub-op instead?
>>>> While revisiting this comment when trying to come up with a V3, I
>>>> realized adding a sub-op here in the same level as
>>>> XENMEM_populate_physmap will basically duplicate the function
>>>> populate_physmap() with just the "else" (the non-1:1 allocation) part,
>>>> also a similar xc_domain_populate_physmap_exact() & co will be needed
>>>> from the toolstack side to call the new sub-op. So I am having the
>>>> concern of the duplication of code and not sure if I understand you
>>>> correctly. Would you please elaborate a bit more or clarify if I
>>>> understand you correctly? Thanks!
>>> Well, the goal is to avoid both code duplication and introduction of a new,
>>> single-use flag. The new sub-op suggestion, I realize now, would mainly have
>>> helped with avoiding the new flag in the public interface. That's still
>>> desirable imo. Internally, have you checked which MEMF_* are actually used
>>> by populate_physmap()? Briefly looking, e.g. MEMF_no_dma and MEMF_no_refcount
>>> aren't. It therefore would be possible to consider re-purposing one that
>>> isn't (likely to be) used there. Of course doing so requires care to avoid
>>> passing that flag down to other code (page_alloc.c functions in particular),
>>> where the meaning would be the original one.
>> I think you made a good point, however, to be honest I am not sure about
>> the repurposing flags such as MEMF_no_dma and MEMF_no_refcount, because
>> I think the name and the purpose of the flag should be clear and
>> less-misleading. Reusing either one for another meaning, namely forcing
>> a non-heap allocation in populate_physmap() would be confusing in the
>> future. Also if one day these flags will be needed in
>> populate_physmap(), current repurposing approach will lead to a even
>> confusing code base.
> For the latter - hence "(likely to be)" in my earlier reply.

Agreed.

> For the naming - of course an aliasing #define ought to be used then, to
> make the purpose clear at the use sites.

Well I have to admit the alias #define approach is clever (thanks) and I 
am getting persuaded gradually, as there will be also another benefit 
for me to do less modification from my side :) I will firstly try this 
approach in v3 if ...

>> I also do agree very much that we need to also avoid the code
>> duplication, so compared to other two suggested approach, adding a new
>> MEMF would be the cleanest solution IMHO, as it is just one bit and MEMF
>> flags are not added very often.
>>
>> I would also curious what the other common code maintainers will say on
>> this issue: @Andrew, @Stefano, @Julien, any ideas? Thanks!

...not receiving any other input, and we can continue the discussion in 
v3. Thanks!

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 09:24:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 09:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700064.1092618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rraNr-0003oP-Qb; Tue, 02 Apr 2024 09:24:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700064.1092618; Tue, 02 Apr 2024 09:24:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rraNr-0003oI-Nq; Tue, 02 Apr 2024 09:24:47 +0000
Received: by outflank-mailman (input) for mailman id 700064;
 Tue, 02 Apr 2024 09:24:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DzIh=LH=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rraNr-0003oC-7d
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 09:24:47 +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 d72e6de6-f0d2-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 11:24:45 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-341730bfc46so3500003f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 02:24:44 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust35.5-4.cable.virginm.net. [82.13.64.36])
 by smtp.gmail.com with ESMTPSA id
 o12-20020a5d4a8c000000b0033e7b05edf3sm13645284wrq.44.2024.04.02.02.24.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 02: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: d72e6de6-f0d2-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712049883; x=1712654683; 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=O7Po9Yg6MmTeQBUUnDRkNrPoasf1vpdU7nQiO47L4SM=;
        b=Xen8uZbenjupz6hhthHPSArZg/aU9d33TokFVo1mfkgaZ1fXPsIzB2YtDsnmvkfuVw
         CNsUTt2CUB8I6+glgAmoxf9xj3qB5u8gpkHXlC0NIPUTvB4duFE6au8LlSYl93yCodnJ
         FpWc3mTb5DrDil6VetZLJWImXvYPcRZJqpvtA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712049883; x=1712654683;
        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=O7Po9Yg6MmTeQBUUnDRkNrPoasf1vpdU7nQiO47L4SM=;
        b=QATYi/7sNyHU7HiXBe5eHZb+m7tVH/F0Ff7dh4F07gcrM0Y+ItCfwNm9Dp1FucTWcm
         5TniOyxdS7vKrbinWcY2LNIRCd8GAbit7zJMONztiGiQ2LV2VNrVFbpX5+SRXm9EuWtq
         k22T4R7oeU8cg0i5tJahVBadbmzPzEyPSImc6XEmez6553KGDYpYpPxXji1Eo2ZMTuJf
         Xca1xpgxyctHrl/TpgP60DydFwK7y3ZDq0MtfKHbWfzvq0xd3qy1oGf+kEmZh2HbCfwY
         UkFDiofqeLdKYfqoGwF1n+y9+QTW4cYgMBkI64ERAoyVqMgG7iipH3lF1zIyiBZKocaa
         MAtA==
X-Gm-Message-State: AOJu0Yw33kWD3BlhW9XDxWXl4/AetqzSRE9a4jnUHOdMl6yzPqdylCGh
	Y7IN3Oj8BDYuiKf5GcpZZbd4iJMj9HdlzgEuqPpEsmKUEomGyX/hB7F9WAQpWlBOtW4R0pe5l6w
	Y
X-Google-Smtp-Source: AGHT+IHBJU/MGwx4ciIhhRbdxlF6mnQCueDUSAg37zCWBiRkxh5XqQZM9itwwvMcK8Dm1ybpIqQCWQ==
X-Received: by 2002:a05:6000:1acc:b0:343:3a67:85f4 with SMTP id i12-20020a0560001acc00b003433a6785f4mr9533295wry.41.1712049883285;
        Tue, 02 Apr 2024 02:24:43 -0700 (PDT)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [OSSTEST PATCH] ap-common: Fix libvirt's git repo URL
Date: Tue,  2 Apr 2024 10:24:19 +0100
Message-Id: <20240402092419.36392-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The current URL doesn't work anymore and just timeout, switch to the
new main repo URL.

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

Notes:
    I'll push that later today.
    
    Last libvirt test by osstest was on 20 February.

 ap-common | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ap-common b/ap-common
index 5384891b..eabb85c6 100644
--- a/ap-common
+++ b/ap-common
@@ -41,7 +41,7 @@
 : ${PUSH_TREE_FREEBSD:=$XENBITS:/home/xen/git/freebsd.git}
 : ${BASE_TREE_FREEBSD:=git://xenbits.xen.org/freebsd.git}
 
-: ${TREE_LIBVIRT:=git://libvirt.org/libvirt.git}
+: ${TREE_LIBVIRT:=https://gitlab.com/libvirt/libvirt.git}
 : ${PUSH_TREE_LIBVIRT:=$XENBITS:/home/xen/git/libvirt.git}
 : ${BASE_TREE_LIBVIRT:=git://xenbits.xen.org/libvirt.git}
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 09:38:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 09:38:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700067.1092628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrab8-0005hI-1I; Tue, 02 Apr 2024 09:38:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700067.1092628; Tue, 02 Apr 2024 09: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 1rrab7-0005hB-TK; Tue, 02 Apr 2024 09:38:29 +0000
Received: by outflank-mailman (input) for mailman id 700067;
 Tue, 02 Apr 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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrab6-0005h5-OY
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 09:38:28 +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 c1f02979-f0d4-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 11:38:27 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4156e0cffdaso9052945e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 02:38: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
 hn33-20020a05600ca3a100b004156b689edfsm3925992wmb.33.2024.04.02.02.38.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 02:38:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1f02979-f0d4-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712050707; x=1712655507; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nIv0GwAQSyBoaaYFzlJT6ICHsfdb8BP9zHmCS5l5+zg=;
        b=SaNmprxls3BlnVd1R98QQUH7SJ69s/osUJbTr9FRufvz0HE+Xd9NFwM5IHmv9N+R1m
         +SNNWXs1QELGCazf6DK6hyNxrma18LGHBY0U5XS2Ku/FzkJ2MY7WMszrIrcaSTPYZqWx
         mBu7rKJrGk3owy1U7jhVQXbAMxwzzXSWNeHlEM/sRonfBIYRN1z8zPRvY7o8YScdwGid
         mKM39hhPF+wGWF6bhrOYLTwaDBXOR/wYDcAmi5qUMXRpcP8sNZTB7SkeJssffQdvLFn9
         N/1Ucccr7sdzFmQrb7NypbK5nl0Tmba38N8tzlBxiafFe1VdHDVKPOnvC4unqDSyD+ZA
         boFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712050707; x=1712655507;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nIv0GwAQSyBoaaYFzlJT6ICHsfdb8BP9zHmCS5l5+zg=;
        b=GROGTcJfTFnHXcEIWRWE5b6bJdibCYQH1S1IqVfRN1lxoUrtc9xrXepYDyBoPhf3dP
         KRh+JLF3oORAyjcVq7VAxymNrWMVsAR4lRJrRCnt01UORogh1ttCXisz9mbxBotPDFJ8
         vU9Mth9mRH6lbUXn9xJuOactf9FCTZ5eKqrJpAXMBPcq+wJS3fim/MLLasHMMNLV6e3C
         rub6Oz1Pqh/O3r128DFLOlZuhWVmaY6NYKdhAOtzFC4BZqbMLqaNTfKdw6oTzqOPqkA1
         Hd3Rv0rQZM8AZ46QyCyWnWlmVith+rexdhPhU9osJ0JFtTEHbv0BIZvjLq9iD6+8g9GI
         Wv/Q==
X-Forwarded-Encrypted: i=1; AJvYcCVxU0b0MUXvDgcAEhUjuuQjZzH39VKQiiHwurk7XEPnBvmZuZYAQ0e0EumeidO8gJHQE1+9Vvu3/yU01LIi7NpjcKUsCUl4OX5zXz2if0I=
X-Gm-Message-State: AOJu0YxQfi3e5WsN/ChxHvChszONFRjbXFG9thTdqna4ogLUF/AzzZGN
	OYDHJBO499k76oZy1prdfAtXWxZRCwpZSrQ9EipzaaGBw6FZNbgTrlrx2Saysg==
X-Google-Smtp-Source: AGHT+IHw4YFymErY9MDyoEtQmjh5By+kf1PC1gp22J3N/Fu3wKqMjDOFzW+qB1MGFP6tE8ZyTvfp5g==
X-Received: by 2002:a05:600c:4f05:b0:416:1ad6:e184 with SMTP id l5-20020a05600c4f0500b004161ad6e184mr1348145wmq.21.1712050706862;
        Tue, 02 Apr 2024 02:38:26 -0700 (PDT)
Message-ID: <473870c9-1134-4f17-b063-68ac93ad28e0@suse.com>
Date: Tue, 2 Apr 2024 11:38:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] x86/video: add boot_video_info offset generation to
 asm-offsets
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240328153523.4155-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2024 16:35, Roger Pau Monne wrote:
> Currently the offsets into the boot_video_info struct are manually encoded in
> video.S, which is fragile.  Generate them in asm-offsets.c and switch the
> current code to use those instead.

Just to mention it (without asking for immediate action): Defining boot_vid_info
in assembly code then is as fragile. Moving to C would likely be problematic
because it needs to be in the trampoline range. But at least its size should (at
some point) perhaps better be tied to the C struct's sizeof(). The fields, with
some effort, could also be converted using the new BVI_* constants. That would
still leave the field sizes; maybe those could at least be cross-checked by some
BUILD_BUG_ONs.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 09:43:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 09:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700069.1092638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rragH-0007Ww-JM; Tue, 02 Apr 2024 09:43:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700069.1092638; Tue, 02 Apr 2024 09: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 1rragH-0007Wp-FX; Tue, 02 Apr 2024 09:43:49 +0000
Received: by outflank-mailman (input) for mailman id 700069;
 Tue, 02 Apr 2024 09:43:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rragF-0007Wj-VU
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 09:43:47 +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 7f93586f-f0d5-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 11:43:45 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-415515178ceso23585315e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 02:43: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
 m6-20020a05600c4f4600b004147db8a91asm20541587wmq.40.2024.04.02.02.43.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 02:43: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: 7f93586f-f0d5-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712051025; x=1712655825; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=m7JX+nqVaEyKH5zglSH0f6PgIaauSCZx8dBDeFNQ2+U=;
        b=HrR2lBfc012Fa31Rn6LUGyOBsKT+MFOV1T0QBUbUx02bcENaC55PiuqTSxp/lIOdUR
         TKcT64Kh30wUGu9nfOUM8cKva5h0K0EgA+4DAaKYu1c7tPH0vtQVwiPXLz9a4JuKMtkd
         ILUMWY6TSKKcnBSGoKw0LS36G88qPIMSQLvLU1Y4NNlTwMZaq1KHx408exWi6aOn8Umo
         t/0GVYxGKV1Xm/zJH/o2QyZ+r8XUW1vnCDoYz6T4TrMeFUwQvx60gSTiu7DuFpL339+o
         r+KgiFQMopyipNt6beg/H9p0oTxNxbHLMc9i+0NmMu7AElERyW6+3/DKFxAMGaHatZjD
         mxtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712051025; x=1712655825;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=m7JX+nqVaEyKH5zglSH0f6PgIaauSCZx8dBDeFNQ2+U=;
        b=XogbgQLpLWnHoqL4OZTVZTaJYyLVUZFZY9Sm8Q83lPYtCm0GWvI0fKi8UgQMf8m8is
         cj0yGrY9SmdDczK5UDIBf+U66fgaanCiwnT8tCKeHGyaEpBD3+aLjfrgCbsOmv/CgnG2
         EeWDCKXUiv4qNFoCmVs9fh/TjJwFZM4nrG4qQFCoZ51c7D9iSF8G8z01D6XmiUaB++6K
         hZ46Dk/xAU6jvbXz99gGmvXpq8GksGVty02PC8R4clHDMgTnbjlmqJpspPzUuGeWEMPJ
         ZNLhE/YuKigxfRyvCWUsfIyrzDObVjeVOPhHSUjbzEXMjDAbKMKiNg303RGvKMAPhS+j
         PxiA==
X-Forwarded-Encrypted: i=1; AJvYcCUd05rAOF2sUGsFki7xOIdsejePXp9hwaj1Ed6jvqaOvvHKzwJbIgUfj2ap3Iw62N17rA+I7GUGemCwfwusNZcLohBu9EcpM+x5YjWTV48=
X-Gm-Message-State: AOJu0Yw5/4SejQxIDGENUqG7iMrgASlVtW8ss6x+CeN1NwzXBNN/NkKP
	mo+RM2/7Ny0T/R+b//4c3/OkwqAlUBYOst4myBy0YM5SQzls5zbTfzdRuFXVIg==
X-Google-Smtp-Source: AGHT+IGO3AGxrzcf6dY3W9P/rHABlERuHcXBUsShWYp5b19p0XFQzi1Wif1iVI4Lmead35p2ARvLcA==
X-Received: by 2002:a05:600c:358b:b0:414:8e02:e432 with SMTP id p11-20020a05600c358b00b004148e02e432mr8556624wmq.7.1712051025024;
        Tue, 02 Apr 2024 02:43:45 -0700 (PDT)
Message-ID: <02d072e2-6bf4-4024-b7b6-d5aa0ec13bc1@suse.com>
Date: Tue, 2 Apr 2024 11:43:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] x86/video: add boot_video_info offset generation to
 asm-offsets
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-2-roger.pau@citrix.com>
 <473870c9-1134-4f17-b063-68ac93ad28e0@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <473870c9-1134-4f17-b063-68ac93ad28e0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 11:38, Jan Beulich wrote:
> On 28.03.2024 16:35, Roger Pau Monne wrote:
>> Currently the offsets into the boot_video_info struct are manually encoded in
>> video.S, which is fragile.  Generate them in asm-offsets.c and switch the
>> current code to use those instead.
> 
> Just to mention it (without asking for immediate action): Defining boot_vid_info
> in assembly code then is as fragile. Moving to C would likely be problematic
> because it needs to be in the trampoline range. But at least its size should (at
> some point) perhaps better be tied to the C struct's sizeof().

Actually I overlooked that you partly do this. The use of BVI_capabilities there
looks odd to me, though. Why not

        .space  BVI_size - (. - boot_vid_info)

? I realize it becomes just BVI_size in patch 2, but I have some question there,
too.

Jan

> The fields, with
> some effort, could also be converted using the new BVI_* constants. That would
> still leave the field sizes; maybe those could at least be cross-checked by some
> BUILD_BUG_ONs.
> 
> Jan



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 09:49:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 09:49:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700073.1092648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rralc-0008LC-6D; Tue, 02 Apr 2024 09:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700073.1092648; Tue, 02 Apr 2024 09: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 1rralc-0008L5-2J; Tue, 02 Apr 2024 09:49:20 +0000
Received: by outflank-mailman (input) for mailman id 700073;
 Tue, 02 Apr 2024 09:49:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrala-0008Kz-GU
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 09:49:18 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 45614a9b-f0d6-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 11:49:17 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-41569f1896dso9611655e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 02:49: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
 h17-20020a05600c351100b00414854cd257sm17317950wmq.20.2024.04.02.02.49.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 02:49: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: 45614a9b-f0d6-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712051357; x=1712656157; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=H7IqR5YWRvrR8kDc3STvHqfVm8cwbEoxdZmlHAHht5U=;
        b=dBzxNAoQfJ1RUuwUEx88FvDnsfJTQdgcIXRATry2DksFXTnOZ/+GEAwBJZ5hiVVKVw
         iAgI+n7pTNSB5hvRtEbEANz8MCD/HArL0RtRkqSdmt6l9xM6q/Ll3RxhCVZXKBmnC3HL
         972kqEXeXK79yPskgUs3iyAhe9/m00nUXIfB4+e+5wFKy+U9wByvl+wyFcle73Keu5dx
         8h8ZM7YYrldZu9I+ixr21JbdDO7Hhlj+QH/0kJSM2htpT6HVaP3cAb31aPzXlJhskaY/
         5ULQ40dmPe1yfbfum1uZcBJ+eZuuOgvL9gm5UGLlJQ47Y31EG/1jyccXK3QRFSXITJn3
         KFWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712051357; x=1712656157;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=H7IqR5YWRvrR8kDc3STvHqfVm8cwbEoxdZmlHAHht5U=;
        b=hdyHy/ocNOwPFG31Lbsl3fhz6dDrvVYZZDduFk0BiE8w+xYps5lN/4pCYjgarCI7Eo
         qXvJXLpEXdnFKbRaZWjkL+/XXDxHIBnkEUq5kggr+XrJwnEIJsdnRg/OWUHOmatCWDmY
         D8imfpfXLi6SxQgdN5WZmJ1v2TBry3gwtMq6n6NuYiCioomTn2meLcoE8oChg+QK8YE7
         G3aF8GCk2tSIMgOHwmIAC4e7IAxtI2DCFWkWdIOXXV4f+9Z44GGJGT0kiT+Esv0V5iFt
         B5dIDhBbthp2V51SNz9GVZBAQRTyF7jfIL3wwUKHeL0fBdgXCv7ftEyrIyU7tsbk9v5V
         O31g==
X-Forwarded-Encrypted: i=1; AJvYcCWKOrDl24BZVZU+zJVsXC4yEm31YLOg22gayxrtxdWRSkhz6IoKwbpCetjBkT/53+asyFaeazWX3O6fMpc3BCFa1uBzDU9PHFbgfyIaWVw=
X-Gm-Message-State: AOJu0YxU6KhElscTR2hgTUWr5H3D4xlMrc22FTeA6oA26RkxPyTwdOXc
	J+vZifu51GLDSzpIzppZwnS1sAAB0nyrQBA/yvkECRSEAt4/OFRNnErc7WFMIg==
X-Google-Smtp-Source: AGHT+IE3jgYLV5ejelrHmvQuQVgEY7ms6iHG/kI266iBD1uyCjsYzFikBo/1VpaAUA+3hJ8V+ko1xg==
X-Received: by 2002:a05:600c:a01:b0:414:1363:53a4 with SMTP id z1-20020a05600c0a0100b00414136353a4mr8273628wmp.15.1712051356835;
        Tue, 02 Apr 2024 02:49:16 -0700 (PDT)
Message-ID: <87601c5e-2ee3-4d3f-b4eb-0f509bcf1c2b@suse.com>
Date: Tue, 2 Apr 2024 11:49:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/video: do not assume a video mode to be
 unconditionally present
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-3-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240328153523.4155-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2024 16:35, Roger Pau Monne wrote:
> There's no reason to assume VGA text mode 3 to be unconditionally available.
> With the addition of booting Xen itself in PVH mode there's a boot path that
> explicitly short-circuits all the real-mode logic, including the VGA detection.
> 
> Leave the default user selected mode as text mode 3 in boot_vid_mode, but do
> not populate boot_vid_info with any default settings.  It will either be
> populated by the real-mode video detection code, or left zeroed in case
> real-mode code is skipped.
> 
> Note that only PVH skips the real-mode portion of the boot trampoline,
> otherwise the only way to skip it is to set `no-real-mode` on the command line,
> and the description for the option already notes that VGA would be disabled as
> a result of skipping real-mode bootstrap.
> 
> This fixes Xen incorrectly reporting:
> 
> (XEN) Video information:
> (XEN)  VGA is text mode 80x25, font 8x16
> 
> When booted as a PVH guest.

And what effect does this have on a bare-metal boot with no-real-mode in use?
The default on x86 hardware still is that in the absence of other information,
a VGA of some kind can be assumed to be there. Yes, there are headless
systems, but better assume VGA is there when there's not than the other way
around.

What I would have expected is for the PVH boot path to clear boot_vid_info.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 09:54:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 09:54:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700076.1092657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rraqH-0001fP-NX; Tue, 02 Apr 2024 09:54:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700076.1092657; Tue, 02 Apr 2024 09: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 1rraqH-0001fI-Kb; Tue, 02 Apr 2024 09:54:09 +0000
Received: by outflank-mailman (input) for mailman id 700076;
 Tue, 02 Apr 2024 09:54: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rraqF-0001fC-RB
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 09:54:07 +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 f1f92805-f0d6-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 11:54:07 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-34379b447c3so31857f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 02:54: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
 cc13-20020a5d5c0d000000b00341b8edbe8csm11252226wrb.87.2024.04.02.02.54.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 02:54: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: f1f92805-f0d6-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712051646; x=1712656446; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2mghQ9DgNnw6Sa9ok0aCNeantn+TZ3q9lRZ77lig1Gg=;
        b=cQUIsRiDcN2Ch8nVCDmaCd3C/tEIha/8MwwfNPHLwfzObhwpfNriNfanMDT4pY3NPI
         DefNeaiR2Bcvr+YIyuCQ7LDYtkNxaWI7ABDP0MHDO/j7kEBcj2M6fXj+Nuk560d7G8EU
         Z7ceyUVVYRFzD+94+bYCcfZoDdicQYpGYH8kfNqn9KJ4AU+sDY/e18iovHMBMZzslRrE
         1FBy38SYDuBXnAp+2lcH4BJ6wzC+jeaDPrAsHnl9mPM8irIkGCYQCvhxgsVMn4NTD1nz
         TFZVH5kn/xeL3ZZzmQXeEkj8na/vhMcTARNlQ5f8Bf0FBpq0NGC8h+qRwrYvPHGgqweL
         my7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712051646; x=1712656446;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2mghQ9DgNnw6Sa9ok0aCNeantn+TZ3q9lRZ77lig1Gg=;
        b=iqGQKcTzcQ9ULeDb15asNenwfDM4WSLICvxxSupZUA+NoKQcFt3WxrQg/oF/+n4z50
         Y1F8PLINCtC4wUx+4pRHGgbp3CR4G15tIIBGPJ90J4EGDziX7RBG82CTdTYrjl4UCUr2
         U7AeO+92H2mIdJ5kkiuqqybRoU09HyqG/4+k+Uk4aLVD9JFxkbeaXXpINSX55Dd/HKhU
         hUWvYRfsFp/OrSYMv6IwSk6gRDFnQGEHoJnalXa7hrAVG2BPY+OC7kKVWqgrvUQybnTx
         veOXpSqFJOzmq4CWllcYz7wbMlW2yHdTaa4giwKq+q8vjvxtFEjmzGI6MsWILjTh2BSn
         Fh3Q==
X-Gm-Message-State: AOJu0Yyn9mkONM0SOLmob4naQfFGF6+JCTQd4Pd6lEIWb+SpGi2W7JnQ
	o6wHxmve0x5gWKO7YrzVdQ2iIR7HG1eKUWOuVW9e8Jex21HKdo0duofn6CRdeg==
X-Google-Smtp-Source: AGHT+IFegIqk4Vx5rTyliMAZF4dgdG8GUPlT741e1ladmRbNBlMXUhC0O6QoJWkKPpfwlRVk2wofdw==
X-Received: by 2002:a5d:63d1:0:b0:341:c9d5:ae23 with SMTP id c17-20020a5d63d1000000b00341c9d5ae23mr8510442wrw.18.1712051646411;
        Tue, 02 Apr 2024 02:54:06 -0700 (PDT)
Message-ID: <546155eb-1dd1-4944-bb14-2cde551cf35c@suse.com>
Date: Tue, 2 Apr 2024 11:54:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/video: do not assume a video mode to be
 unconditionally present
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-3-roger.pau@citrix.com>
 <9d8af8b5-2a14-44bc-89c6-b616e79cb259@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9d8af8b5-2a14-44bc-89c6-b616e79cb259@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2024 20:58, Andrew Cooper wrote:
> On 28/03/2024 3:35 pm, Roger Pau Monne wrote:
>> There's no reason to assume VGA text mode 3 to be unconditionally available.
>> With the addition of booting Xen itself in PVH mode there's a boot path that
>> explicitly short-circuits all the real-mode logic, including the VGA detection.
>>
>> Leave the default user selected mode as text mode 3 in boot_vid_mode, but do
>> not populate boot_vid_info with any default settings.  It will either be
>> populated by the real-mode video detection code, or left zeroed in case
>> real-mode code is skipped.
>>
>> Note that only PVH skips the real-mode portion of the boot trampoline,
>> otherwise the only way to skip it is to set `no-real-mode` on the command line,
>> and the description for the option already notes that VGA would be disabled as
>> a result of skipping real-mode bootstrap.
> 
> IIRC, Grub defaults to using no-real-mode for xen.efi.

That's our MB2 entry path which forces skip_realmode to 1. The xen.efi boot
path doesn't, but similarly skips entering real mode (retrieving desired
data via EFI protocols instead). Imo if to be retained, the above paragraph
would want extending some, to cover all the cases.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 10:06:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 10:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700081.1092668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrb27-0003tU-TU; Tue, 02 Apr 2024 10:06:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700081.1092668; Tue, 02 Apr 2024 10:06: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 1rrb27-0003tN-QA; Tue, 02 Apr 2024 10:06:23 +0000
Received: by outflank-mailman (input) for mailman id 700081;
 Tue, 02 Apr 2024 10:06:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wy/k=LH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rrb27-0003tH-9s
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 10:06:23 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7484c3c-f0d8-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 12:06:21 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id
 af79cd13be357-789e6e1d96eso335022385a.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 03:06:21 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l23-20020ae9f017000000b0078a0df3489esm4162746qkg.116.2024.04.02.03.06.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 03:06:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7484c3c-f0d8-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712052380; x=1712657180; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bHLiCHNhEUF9zO2t/2Q4Si9jViFJmKa7PKdsYBlyFeA=;
        b=fvzYGmmXGNGpXQbjzVzUBmSbheOFIKhfYr5qvafjWhhMopjFeHlXg8b0YvbXn/m50g
         cpHtMGe2AfdxZTdvoYjA/rtXGxtDxFJWwoSdphLqt7pQvWi22cDF1nfPN60w4PBsf+Ad
         Rj5zKa2s9/EuTxHqFu9fE54RxwM0ekdSy3+X8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712052380; x=1712657180;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bHLiCHNhEUF9zO2t/2Q4Si9jViFJmKa7PKdsYBlyFeA=;
        b=CIKoqrMpODZw0dV+LnA1QZE5DOQnv2PI9LOnKNqXuRb0Ym0msJ/k1UzAhVE9gq0GQq
         DdeA/1Hfsbqtu06vvijA6Oc4bvlXV/eeGnwmSjiLYbWTuzmizBJbwVpuIeUnecJoN1Rv
         WLRTs5fnis2SqELvfAUEL6M7r8LbK7s49q+eb+m1GcHbSAvB8vH5xJq7Qq4upEIqoPTF
         TPxbUHeAKKKUiGBv1DydYcMJsVvcf9PfjwXJwF+9bmCqKq74UkuSeweyIzJbliI89+hQ
         afR/Voh1GiaDWLS+33eeRPNd1Vyeo0DZifIMw4L6w/fKcOFzXxIEZ/B8QF8qP8xxBEs9
         fhIA==
X-Gm-Message-State: AOJu0YxheUJ9ihEKSvHL5MReb5SDJzXBethCETl+id9NF8tZgqEGxKT0
	QbE2iVinXbxnfLC/ISGNv9rAmMOQuIfCnrv5XQ+P5HsPziB/a6oElrbVAp/Vwjs=
X-Google-Smtp-Source: AGHT+IH/ScLdPorFApCaaE3eOLo+GnDQdvZuDx9bHyeg8ClIYNxwtLqX07BSsgVatVnis83HCW+c+g==
X-Received: by 2002:a05:620a:7e7:b0:78a:74a2:5009 with SMTP id k7-20020a05620a07e700b0078a74a25009mr11518421qkk.9.1712052380028;
        Tue, 02 Apr 2024 03:06:20 -0700 (PDT)
Message-ID: <dab5588c-0084-4b94-b018-1a7bfa6034ea@citrix.com>
Date: Tue, 2 Apr 2024 11:06:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/video: do not assume a video mode to be
 unconditionally present
To: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-3-roger.pau@citrix.com>
 <9d8af8b5-2a14-44bc-89c6-b616e79cb259@citrix.com>
 <546155eb-1dd1-4944-bb14-2cde551cf35c@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: <546155eb-1dd1-4944-bb14-2cde551cf35c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02/04/2024 10:54 am, Jan Beulich wrote:
> On 28.03.2024 20:58, Andrew Cooper wrote:
>> On 28/03/2024 3:35 pm, Roger Pau Monne wrote:
>>> There's no reason to assume VGA text mode 3 to be unconditionally available.
>>> With the addition of booting Xen itself in PVH mode there's a boot path that
>>> explicitly short-circuits all the real-mode logic, including the VGA detection.
>>>
>>> Leave the default user selected mode as text mode 3 in boot_vid_mode, but do
>>> not populate boot_vid_info with any default settings.  It will either be
>>> populated by the real-mode video detection code, or left zeroed in case
>>> real-mode code is skipped.
>>>
>>> Note that only PVH skips the real-mode portion of the boot trampoline,
>>> otherwise the only way to skip it is to set `no-real-mode` on the command line,
>>> and the description for the option already notes that VGA would be disabled as
>>> a result of skipping real-mode bootstrap.
>> IIRC, Grub defaults to using no-real-mode for xen.efi.
> That's our MB2 entry path which forces skip_realmode to 1. The xen.efi boot
> path doesn't, but similarly skips entering real mode (retrieving desired
> data via EFI protocols instead). Imo if to be retained, the above paragraph
> would want extending some, to cover all the cases.

What I mean is that Grub's 20_linux_xen script writes a stanza which
includes "no-real-mode edd=off" for any non-PC platform, which includes EFI.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 10:08:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 10:08:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700083.1092679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrb4W-0004Rq-BH; Tue, 02 Apr 2024 10:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700083.1092679; Tue, 02 Apr 2024 10:08:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrb4W-0004Rj-66; Tue, 02 Apr 2024 10:08:52 +0000
Received: by outflank-mailman (input) for mailman id 700083;
 Tue, 02 Apr 2024 10:08:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DzIh=LH=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rrb4U-0004Rb-RA
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 10:08:50 +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 ffa3c609-f0d8-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 12:08:48 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-415644aca59so16423865e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 03:08:48 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust35.5-4.cable.virginm.net. [82.13.64.36])
 by smtp.gmail.com with ESMTPSA id
 t10-20020a05600c450a00b004161b59e230sm1421620wmo.41.2024.04.02.03.08.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 03:08: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: ffa3c609-f0d8-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712052528; x=1712657328; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZXpWGhb4xf3iNSzyENKiQCvAOMXFRR6+0bjqv2ZNwIc=;
        b=ko6OeyfHuko6Wgp67UV1WGaBdj8EMBo26cm+EYzAQ9tdkPyjNuX7LN+nwP/8Kfz4uD
         8FTyYmLjMc7XlFxwRXZvTf9OhrQJG52UPDLbxPW1bu7dGYatjiH0Td+3WOpTQ5MEaSCJ
         nv0ogGbyd+fmGrWvuhEloHPDamkdlHFmXEfQg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712052528; x=1712657328;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ZXpWGhb4xf3iNSzyENKiQCvAOMXFRR6+0bjqv2ZNwIc=;
        b=YqCHDATFscZRwdu+9lB7HXV6ED4jsAq7i3wA+Y5godl4/oeTC8O6eQSoazHMiUN8iZ
         WepcddJZj01XshLFpFkvURVvcgLeS6DwU+2yfmaFwXZt2dZqp4z2aVq4FJcaryk68SNT
         iypkNvYT7yxdabGuCQw/GNb26ez+i5E4rXZsLvTacsTUaoo53e0YdMElzuO8s70aTB7B
         eLKG3LhN59zmZRU7v7lsi6ZW9WoQ0m1KochC7sEp3VDnwSPF/3zx3ybp2KYbK5a8/tOs
         wgWpuwZp/B3IOdlcgisFlb8lvkCtSp2+pxyzw2UUYWnTfvk26C5OtilQ7z2pqIQq+1BG
         6yEg==
X-Gm-Message-State: AOJu0YygcUq6chDCwoXk0ezb8k5gnZIRciNuIrgBeUtnkpFP+JzP56+0
	TTNnmWfDzza5gaXpd9/xbcRrJNVPGz92phU2YmM3VZ4ZVGRr2E5hby1G2ELg4DFFvOX3RgGMclQ
	t
X-Google-Smtp-Source: AGHT+IH0nBIudDQBtRAxphUS3pqLsVieqqncVYFmQzJIE/r/6YLKJVXwHXOv0vu4bpJJChW/OXHw+g==
X-Received: by 2002:a05:600c:304a:b0:414:8c06:5c32 with SMTP id n10-20020a05600c304a00b004148c065c32mr985044wmh.14.1712052528099;
        Tue, 02 Apr 2024 03:08:48 -0700 (PDT)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [OSSTEST PATCH 37/36] production-config: Set Bookworm's debian-installer version
Date: Tue,  2 Apr 2024 11:08:10 +0100
Message-Id: <20240402100810.42386-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240318165545.3898-1-anthony.perard@citrix.com>
References: <20240318165545.3898-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

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

I've got this one more patch to add to the series, which I forgot to
write. I'll put it before "Switch to Debian Bookworm as default suite"
when I'll push the rest of the series.

 production-config | 1 +
 1 file changed, 1 insertion(+)

diff --git a/production-config b/production-config
index 6345c40c..0eb8f0f3 100644
--- a/production-config
+++ b/production-config
@@ -92,6 +92,7 @@ TftpDiVersion_wheezy 2016-06-08
 TftpDiVersion_jessie 2018-06-26
 TftpDiVersion_stretch 2020-09-24
 TftpDiVersion_buster 2023-06-20
+TftpDiVersion_bookworm 2024-03-26
 
 DebianSnapshotBackports_jessie http://snapshot.debian.org/archive/debian/20190206T211314Z/
 
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 10:17:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 10:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700087.1092688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrbCJ-0006Pu-1b; Tue, 02 Apr 2024 10:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700087.1092688; Tue, 02 Apr 2024 10:16:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrbCI-0006Pn-Uv; Tue, 02 Apr 2024 10:16:54 +0000
Received: by outflank-mailman (input) for mailman id 700087;
 Tue, 02 Apr 2024 10:16: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 1rrbCH-0006Pd-Ql; Tue, 02 Apr 2024 10:16: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 1rrbCH-0006Mq-FA; Tue, 02 Apr 2024 10:16: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 1rrbCH-0007mF-2I; Tue, 02 Apr 2024 10:16:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrbCH-0005l3-1l; Tue, 02 Apr 2024 10:16: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=51bA6dpRPP0cjXge9Yw+rOJXn2aqYL/q/VSEhPGhyYI=; b=uNeajmptx/m1+F14+VrnglonBw
	UtGzBj1Nv7TqsXql7UuR94GP+dHFhxy1+ZhF9f5nv7fWXOhPlYZGtLJUOzT0WSmRkOKbf+kfWYqov
	478+r9evLeSknTpSL9lm1tOt2QhkMZvWEf/1I0YqgK4AcSE7oEIoqn7jcLC4/gBO2A0Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185215-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185215: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-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-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-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
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
X-Osstest-Versions-That:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 02 Apr 2024 10:16:53 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185215  2024-04-02 01:54:28 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 Tue Apr 02 10:25:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 10:25:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700093.1092698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrbKo-0008Uh-Vi; Tue, 02 Apr 2024 10:25:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700093.1092698; Tue, 02 Apr 2024 10:25:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrbKo-0008Ua-SK; Tue, 02 Apr 2024 10:25:42 +0000
Received: by outflank-mailman (input) for mailman id 700093;
 Tue, 02 Apr 2024 10:25: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=m3oM=LH=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rrbKn-0008UU-BD
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 10:25:41 +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 591c3edd-f0db-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 12:25:39 +0200 (CEST)
Received: from CY5P221CA0026.NAMP221.PROD.OUTLOOK.COM (2603:10b6:930:b::38) by
 DM4PR12MB5842.namprd12.prod.outlook.com (2603:10b6:8:65::13) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.46; Tue, 2 Apr 2024 10:25:33 +0000
Received: from CY4PEPF0000E9D7.namprd05.prod.outlook.com
 (2603:10b6:930:b:cafe::54) by CY5P221CA0026.outlook.office365.com
 (2603:10b6:930:b::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Tue, 2 Apr 2024 10:25:33 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D7.mail.protection.outlook.com (10.167.241.78) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 2 Apr 2024 10:25:33 +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.35; Tue, 2 Apr
 2024 05:25:32 -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.35; Tue, 2 Apr
 2024 05:25:32 -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.35 via Frontend
 Transport; Tue, 2 Apr 2024 05:25: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: 591c3edd-f0db-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fKtF1zs2m0TTxFsGLjK8Ui/EAfQvN1atcLM3NEaBqE+ZEGyKsnBBUL3sySOZfXN/UyOAuWipsZxf7bP6GwuUSp+S6fBCxJjph5aupgsuhauQYOwYiebudY4+th9qgM+ddy05onOSk52MhzjpZ276CgYy4HXrWEAOHuuYn0AS9zYopyN7VDgJ2HV1ONdWYRGOwPzTjAgYbaIgqBr2fa2Bf9HaQAmiznJH63TJ1ynsBJlSBogahdFfcfLWNPVO5c48ulYIWGYlA5iG31WiPD5+1r3LCU0g3DTzlyqBnc/lVk+4RbJ32dzEZUXPQIvQRUMnkn6+NJ6U01ys9AqFbaVrPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8qfRl2wLrFFrgoO4ck4cnlxHZxoTcVdDDvsokym7kzc=;
 b=nxQMM1bbtTog7O2M0Bn5eoHsW9lQnBapK1fNI/1sw5o+GkqBAGgitNRbDPFNryQ3I8gBfDqaXv/ghItZYp6easXX6X7t0MdGzEMweW4L9hudhPj0T8u8PB+X2eKjAnBRXxJ7PZ5zHj/Blx+F56yaLfhqQtMQnXa/sZmMs4MtPs5RArd+eliPkS4zdGuYxh6avSIDQ+TxWSogWDbpT09ES4Eivx3OdCbIFY2RRqgrT65x6M9Ud0iDX6uLvrTghXWfr4+/CSiDagOkIbypLAjldb47YeyRdth1dNRNUs/3j20n4b//cp6LmlQDqX2RA0bQzr7iZztLcqRevaVJ3Q2aXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8qfRl2wLrFFrgoO4ck4cnlxHZxoTcVdDDvsokym7kzc=;
 b=Z7Jztf0zGji5pqVurDVW/k9RG85jEwcqO7Z3eE2UFGPo5/fPPpUPiuD+5vs7UaGOqrO+lBw36iPUvYRbRqfxRz9v0r6svYoCqHMHxYuxkKCZ5FT/vxdqYnxDwdoov/tuO4qKpZGxbsfMXmzNMEz3qV2StjKG01m6BVDMJtO1YWs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <91ceb418-f055-45ba-82c4-f37e812d5242@amd.com>
Date: Tue, 2 Apr 2024 12:25:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D7:EE_|DM4PR12MB5842:EE_
X-MS-Office365-Filtering-Correlation-Id: 38123470-56c0-4b70-deb1-08dc52ff3aa0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N9b1jIsMe/8gZBv1wL/EuYbOX0wBm6/Oz8bcey0W1uaPSascaq10p4vV9FIPiFIvVqGLxQ2gy0CoZQzGN8l5isxQsTbAvItJC0Mr4Nk6Be12AZkSm9pOKqbKkh5m115rcrpsbE9G162q+Vs5NspSnTm7/aOUX3EqUGyG+ioIuGr63o5RMH6Jr1poqU283HCS/VRn0PUEXWgVMTbeKdbW6suZ5uvQs9lO198Sg5CoWmQGTuTUB+OH3p6xxmh8jy/dH85OrFzK8q6cIdM9bQn1CGcLH7aeDP2WLj2kJt4IsdIefQopjG/ECt4sW/nHzkITDJIw0xnbcmrVlz2MB4ywsFnpINJDJlgl3vY61QviS70LoAgZcDbvCHN3KfEkq3OcBGFN2nVUUDIzjdQa6ykkP+JfugwqX2hkL5Kbu+bqiGn1A02qW3sw99CiF9OkmlEIu3aS/EVmyEet6sYsNhKsM0of3fWVQM1MAKhdSoEio3sFcwCRCrvq5n/2qMsPNtQS/ycL9l6EQAbJP7mgrS+R7e7bQULw0FMPt8S3v1xQsRI+USlryHBXiS89T3A56SFN72fHUvACQzRJ4/99+n1KslV+FzLE25xomemocQnRlEcL46H9klVK5+YyIbryVQoleGVpSEVk+vqrpE4rHnlPE1SRIV4XoHQzJG/JrBRwtBAussgYbjGbFm2G0UadTLBjsy5hnUzq/xd4F3A3ASTO8X3rcIzAs/51X1vPMVAY27NR+qC73giCbrtkQ8WYZdOp
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Apr 2024 10:25:33.2433
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 38123470-56c0-4b70-deb1-08dc52ff3aa0
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9D7.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5842

Hello,

On 29/03/2024 01:08, Volodymyr Babchuk wrote:
> 
> 
> Generic Interface (GENI) is a newer interface for low speed interfaces
> like UART, I2C or SPI. This patch adds the simple driver for the UART
> instance of GENI. Code is based on similar drivers in U-Boot and Linux
> kernel.
Do you have a link to a manual?

> 
> This driver implements only simple synchronous mode, because although
> GENI supports FIFO mode, it needs to know number of
> characters **before** starting TX transaction. This is a stark
> contrast when compared to other UART peripherals, which allow adding
> characters to a FIFO while TX operation is running.
> 
> The patch adds both normal UART driver and earlyprintk version.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>  xen/arch/arm/Kconfig.debug           |  19 +-
>  xen/arch/arm/arm64/debug-qcom.inc    |  76 +++++++
Shouldn't all the files (+ other places) have geni in their names? Could qcom refer to other type of serial device?


>  xen/arch/arm/include/asm/qcom-uart.h |  48 +++++
>  xen/drivers/char/Kconfig             |   8 +
>  xen/drivers/char/Makefile            |   1 +
>  xen/drivers/char/qcom-uart.c         | 288 +++++++++++++++++++++++++++
>  6 files changed, 439 insertions(+), 1 deletion(-)
>  create mode 100644 xen/arch/arm/arm64/debug-qcom.inc
>  create mode 100644 xen/arch/arm/include/asm/qcom-uart.h
>  create mode 100644 xen/drivers/char/qcom-uart.c
> 
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index eec860e88e..f6ab0bb30e 100644
> --- a/xen/arch/arm/Kconfig.debug
> +++ b/xen/arch/arm/Kconfig.debug
> @@ -119,6 +119,19 @@ choice
>                         selecting one of the platform specific options below if
>                         you know the parameters for the port.
> 
> +                       This option is preferred over the platform specific
> +                       options; the platform specific options are deprecated
> +                       and will soon be removed.
> +       config EARLY_UART_CHOICE_QCOM
The list is sorted alphabetically. Please adhere to that.

> +               select EARLY_UART_QCOM
> +               bool "Early printk via Qualcomm debug UART"
Shouldn't you add depends on ARM_64? Isn't this device Arm64 specific like in Linux?

> +               help
> +                       Say Y here if you wish the early printk to direct their
help text here should be indented by 2 tabs and 2 spaces (do not take example from surrounding code)

> +                       output to a Qualcomm debug UART. You can use this option to
> +                       provide the parameters for the debug UART rather than
> +                       selecting one of the platform specific options below if
> +                       you know the parameters for the port.
> +
>                         This option is preferred over the platform specific
>                         options; the platform specific options are deprecated
>                         and will soon be removed.
> @@ -211,6 +224,9 @@ config EARLY_UART_PL011
>  config EARLY_UART_SCIF
>         select EARLY_PRINTK
>         bool
> +config EARLY_UART_QCOM
> +       select EARLY_PRINTK
> +       bool
The list is sorted alphabetically. Please adhere to that.

> 
>  config EARLY_PRINTK
>         bool
> @@ -261,7 +277,7 @@ config EARLY_UART_PL011_MMIO32
>           will be done using 32-bit only accessors.
> 
>  config EARLY_UART_INIT
> -       depends on EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0
> +       depends on (EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0) || EARLY_UART_QCOM
>         def_bool y
> 
>  config EARLY_UART_8250_REG_SHIFT
> @@ -308,3 +324,4 @@ config EARLY_PRINTK_INC
>         default "debug-mvebu.inc" if EARLY_UART_MVEBU
>         default "debug-pl011.inc" if EARLY_UART_PL011
>         default "debug-scif.inc" if EARLY_UART_SCIF
> +       default "debug-qcom.inc" if EARLY_UART_QCOM
> diff --git a/xen/arch/arm/arm64/debug-qcom.inc b/xen/arch/arm/arm64/debug-qcom.inc
> new file mode 100644
> index 0000000000..130d08d6e9
> --- /dev/null
> +++ b/xen/arch/arm/arm64/debug-qcom.inc
> @@ -0,0 +1,76 @@
> +/*
> + * xen/arch/arm/arm64/debug-qcom.inc
> + *
> + * Qualcomm debug UART specific debug code
> + *
> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> + * Copyright (C) 2024, EPAM Systems.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
No need for the license text. You should use SPDX identifier instead at the top of the file:
/* SPDX-License-Identifier: GPL-2.0-or-later */

> + */
> +
> +#include <asm/qcom-uart.h>
> +
> +.macro early_uart_init xb c
Separate macro parameters with comma (here and elsewhere) and please add a comment on top clarifying the use
Also, do we really need to initialize uart every time? What if firmware does that?

> +        mov   w\c, #M_GENI_CMD_ABORT
> +        str   w\c, [\xb, #SE_GENI_M_CMD_CTRL_REG]
> +1:
> +        ldr   w\c, [\xb, #SE_GENI_M_IRQ_STATUS]   /* Load IRQ status */
> +        tst   w\c, #M_CMD_ABORT_EN         /* Check TX_FIFI_WATERMARK_EN bit */
The comment does not correspond to the code. Shouldn't this be the same as in early_uart_ready?

> +        beq   1b                          /* Wait for the UART to be ready */
> +        mov   w\c, #M_CMD_ABORT_EN
> +        orr   w\c, w\c, #M_CMD_DONE_EN
> +        str   w\c, [\xb, #SE_GENI_M_IRQ_CLEAR]
> +
> +        mov   w\c, #1
> +        str   w\c, [\xb, #SE_UART_TX_TRANS_LEN]         /* write len */
> +
> +        mov   w\c, #(UART_START_TX << M_OPCODE_SHFT)    /* Prepare cmd  */
> +        str   w\c, [\xb, #SE_GENI_M_CMD0]               /* write cmd */
> +.endm
> +/*
> + * wait for UART to be ready to transmit
> + * xb: register which contains the UART base address
> + * c: scratch register
> + */
> +.macro early_uart_ready xb c
> +1:
> +        ldr   w\c, [\xb, #SE_GENI_M_IRQ_STATUS] /* Load IRQ status */
> +        tst   w\c, #M_TX_FIFO_WATERMARK_EN  /* Check TX_FIFI_WATERMARK_EN bit */
> +        beq    1b                           /* Wait for the UART to be ready */
> +.endm
> +
> +/*
> + * 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
> +        str   \wt, [\xb, #SE_GENI_TX_FIFOn]             /* Put char to FIFO */
> +        mov   \wt, #M_TX_FIFO_WATERMARK_EN              /* Prepare to FIFO */
> +        str   \wt, [\xb, #SE_GENI_M_IRQ_CLEAR]          /* Kick FIFO */
> +95:
> +        ldr   \wt, [\xb, #SE_GENI_M_IRQ_STATUS]         /* Load IRQ status */
> +        tst   \wt, #M_CMD_DONE_EN           /* Check TX_FIFO_WATERMARK_EN bit */
> +        beq   95b                           /* Wait for the UART to be ready */
> +        mov   \wt, #M_CMD_DONE_EN
> +        str   \wt, [\xb, #SE_GENI_M_IRQ_CLEAR]
> +
> +        mov   \wt, #(UART_START_TX << M_OPCODE_SHFT)    /* Prepare next cmd */
> +        str   \wt, [\xb, #SE_GENI_M_CMD0]               /* write cmd */
> +.endm
> +
> +/*
> + * Local variables:
> + * mode: ASM
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/qcom-uart.h b/xen/arch/arm/include/asm/qcom-uart.h
> new file mode 100644
> index 0000000000..dc9579374c
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/qcom-uart.h
> @@ -0,0 +1,48 @@
> +/*
> + * xen/include/asm-arm/qcom-uart.h
What's the use of this pseudo path? I would drop it or provide a correct path.

> + *
> + * Common constant definition between early printk and the UART driver
> + * for the Qualcomm debug UART
> + *
> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> + * Copyright (C) 2024, EPAM Systems.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
No need for the license text. You should use SPDX identifier instead at the top of the file:
/* SPDX-License-Identifier: GPL-2.0-or-later */

> + */
> +
> +#ifndef __ASM_ARM_QCOM_UART_H
> +#define __ASM_ARM_QCOM_UART_H
> +
> +#define SE_UART_TX_TRANS_LEN            0x270
> +#define SE_GENI_M_CMD0                  0x600
> +#define   UART_START_TX                 0x1
> +#define   M_OPCODE_SHFT                 27
> +
> +#define SE_GENI_M_CMD_CTRL_REG          0x604
> +#define   M_GENI_CMD_ABORT              BIT(1, U)
> +#define SE_GENI_M_IRQ_STATUS            0x610
> +#define   M_CMD_DONE_EN                 BIT(0, U)
> +#define   M_CMD_ABORT_EN                BIT(5, U)
> +#define   M_TX_FIFO_WATERMARK_EN        BIT(30, U)
> +#define SE_GENI_M_IRQ_CLEAR             0x618
> +#define SE_GENI_TX_FIFOn                0x700
> +#define SE_GENI_TX_WATERMARK_REG        0x80c
AFAICT, in this header you listed only regs used both by assembly and c code.
However, SE_GENI_TX_WATERMARK_REG is not used in assembly.
Also, my personal opinion is that it would make more sense to list here all the regs.

> +
> +#endif /* __ASM_ARM_QCOM_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 e18ec3788c..52c3934d06 100644
> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -68,6 +68,14 @@ config HAS_SCIF
>           This selects the SuperH SCI(F) UART. If you have a SuperH based board,
>           or Renesas R-Car Gen 2/3 based board say Y.
> 
> +config HAS_QCOM_UART
> +       bool "Qualcomm GENI UART driver"
> +       default y
> +       depends on ARM
Isn't is Arm64 specific device?

> +       help
> +         This selects the Qualcomm GENI-based UART driver. If you
> +         have a Qualcomm-based board board say Y here.
> +
>  config HAS_EHCI
>         bool
>         depends on X86
> diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
> index e7e374775d..698ad0578c 100644
> --- a/xen/drivers/char/Makefile
> +++ b/xen/drivers/char/Makefile
> @@ -7,6 +7,7 @@ obj-$(CONFIG_HAS_MESON) += meson-uart.o
>  obj-$(CONFIG_HAS_MVEBU) += mvebu-uart.o
>  obj-$(CONFIG_HAS_OMAP) += omap-uart.o
>  obj-$(CONFIG_HAS_SCIF) += scif-uart.o
> +obj-$(CONFIG_HAS_QCOM_UART) += qcom-uart.o
Q comes before S

>  obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
>  obj-$(CONFIG_XHCI) += xhci-dbc.o
>  obj-$(CONFIG_HAS_IMX_LPUART) += imx-lpuart.o
> diff --git a/xen/drivers/char/qcom-uart.c b/xen/drivers/char/qcom-uart.c
> new file mode 100644
> index 0000000000..2614051ca0
> --- /dev/null
> +++ b/xen/drivers/char/qcom-uart.c
> @@ -0,0 +1,288 @@
> +/*
> + * xen/drivers/char/qcom-uart.c
> + *
> + * Driver for Qualcomm GENI-based UART interface
> + *
> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> + *
> + * Copyright (C) EPAM Systems 2024
> + *
> + * 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.
No need for the license text. You should use SPDX identifier instead at the top of the file:
/* SPDX-License-Identifier: GPL-2.0-or-later */

> + */
> +
> +#include <xen/console.h>
> +#include <xen/const.h>
> +#include <xen/errno.h>
> +#include <xen/serial.h>
> +#include <xen/init.h>
> +#include <xen/irq.h>
> +#include <xen/mm.h>
> +#include <xen/delay.h>
> +#include <asm/device.h>
> +#include <asm/qcom-uart.h>
> +#include <asm/io.h>
> +
> +#define GENI_FORCE_DEFAULT_REG          0x20
> +#define   FORCE_DEFAULT                 BIT(0, U)
> +#define   DEF_TX_WM                     2
> +#define SE_GENI_TX_PACKING_CFG0         0x260
> +#define SE_GENI_TX_PACKING_CFG1         0x264
> +#define SE_GENI_RX_PACKING_CFG0         0x284
> +#define SE_GENI_RX_PACKING_CFG1         0x288
> +#define SE_GENI_M_IRQ_EN                0x614
> +#define   M_SEC_IRQ_EN                  BIT(31, U)
> +#define   M_RX_FIFO_WATERMARK_EN        BIT(26, U)
> +#define   M_RX_FIFO_LAST_EN             BIT(27, U)
> +#define SE_GENI_S_CMD0                  0x630
> +#define   UART_START_READ               0x1
> +#define   S_OPCODE_SHFT                 27
> +#define SE_GENI_S_CMD_CTRL_REG          0x634
> +#define   S_GENI_CMD_ABORT              BIT(1, U)
> +#define SE_GENI_S_IRQ_STATUS            0x640
> +#define SE_GENI_S_IRQ_EN                0x644
> +#define   S_RX_FIFO_LAST_EN             BIT(27, U)
> +#define   S_RX_FIFO_WATERMARK_EN        BIT(26, U)
> +#define   S_CMD_ABORT_EN                BIT(5, U)
> +#define   S_CMD_DONE_EN                 BIT(0, U)
> +#define SE_GENI_S_IRQ_CLEAR             0x648
> +#define SE_GENI_RX_FIFOn                0x780
> +#define SE_GENI_TX_FIFO_STATUS          0x800
> +#define   TX_FIFO_WC                    GENMASK(27, 0)
> +#define SE_GENI_RX_FIFO_STATUS          0x804
> +#define   RX_LAST                       BIT(31, U)
> +#define   RX_LAST_BYTE_VALID_MSK        GENMASK(30, 28)
> +#define   RX_LAST_BYTE_VALID_SHFT       28
> +#define   RX_FIFO_WC_MSK                GENMASK(24, 0)
> +#define SE_GENI_TX_WATERMARK_REG        0x80c
> +
> +static struct qcom_uart {
> +    unsigned int irq;
> +    char __iomem *regs;
> +    struct irqaction irqaction;
> +} qcom_com = {0};
> +
> +static bool qcom_uart_poll_bit(void *addr, uint32_t mask, bool set)
> +{
> +    unsigned long timeout_us = 20000;
Why UL and not U?

> +    uint32_t reg;
> +
> +    while ( timeout_us ) {
Brace should be placed on its own line

> +        reg = readl(addr);
> +        if ( (bool)(reg & mask) == set )
> +            return true;
> +        udelay(10);
> +        timeout_us -= 10;
> +    }
> +
> +    return false;
> +}
> +
> +static void __init qcom_uart_init_preirq(struct serial_port *port)
> +{
> +    struct qcom_uart *uart = port->uart;
> +
> +    /* Stop anything in TX that earlyprintk configured and clear all errors */
> +    writel(M_GENI_CMD_ABORT, uart->regs + SE_GENI_M_CMD_CTRL_REG);
It would be easier to creare wrappers that would improve readability:
#define qcom_write(uart, off, val) writel((val), (uart)->regs + (off))
#define qcom_read(uart, off) readl((uart)->regs + (off))

> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_CMD_ABORT_EN,
> +                       true);
> +    writel(M_CMD_ABORT_EN, uart->regs + SE_GENI_M_IRQ_CLEAR);
> +
> +    /*
> +     * Configure FIFO length: 1 byte per FIFO entry. This is terribly
> +     * ineffective, as it is possible to cram 4 bytes per FIFO word,
> +     * like Linux does. But using one byte per FIFO entry makes this
> +     * driver much simpler.
> +     */
> +    writel(0xf, uart->regs + SE_GENI_TX_PACKING_CFG0);
> +    writel(0x0, uart->regs + SE_GENI_TX_PACKING_CFG1);
> +    writel(0xf, uart->regs + SE_GENI_RX_PACKING_CFG0);
> +    writel(0x0, uart->regs + SE_GENI_RX_PACKING_CFG1);
> +
> +    /* Reset RX state machine */
> +    writel(S_GENI_CMD_ABORT, uart->regs + SE_GENI_S_CMD_CTRL_REG);
> +    qcom_uart_poll_bit(uart->regs + SE_GENI_S_CMD_CTRL_REG,
> +                       S_GENI_CMD_ABORT, false);
> +    writel(S_CMD_DONE_EN | S_CMD_ABORT_EN, uart->regs + SE_GENI_S_IRQ_CLEAR);
> +    writel(FORCE_DEFAULT, uart->regs + GENI_FORCE_DEFAULT_REG);
> +}
> +
> +static void qcom_uart_interrupt(int irq, void *data, struct cpu_user_regs *regs)
serial_rx_interrupt has been modified not to take regs as parameter. Your patch breaks the build here.
You need to remove regs from here and ...

> +{
> +    struct serial_port *port = data;
> +    struct qcom_uart *uart = port->uart;
> +    uint32_t m_irq_status, s_irq_status;
> +
> +    m_irq_status = readl(uart->regs + SE_GENI_M_IRQ_STATUS);
> +    s_irq_status = readl(uart->regs + SE_GENI_S_IRQ_STATUS);
> +    writel(m_irq_status, uart->regs + SE_GENI_M_IRQ_CLEAR);
> +    writel(s_irq_status, uart->regs + SE_GENI_S_IRQ_CLEAR);
> +
> +    if ( s_irq_status & (S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN) )
> +        serial_rx_interrupt(port, regs);
here.

> +}
> +
> +static void __init qcom_uart_init_postirq(struct serial_port *port)
> +{
> +    struct qcom_uart *uart = port->uart;
> +    int rc;
> +    uint32_t val;
> +
> +    uart->irqaction.handler = qcom_uart_interrupt;
> +    uart->irqaction.name    = "qcom_uart";
> +    uart->irqaction.dev_id  = port;
> +
> +    if ( (rc = setup_irq(uart->irq, 0, &uart->irqaction)) != 0 )
Value assigned to rc does not seem to be used at all

> +        dprintk(XENLOG_ERR, "Failed to allocated qcom_uart IRQ %d\n",
> +                uart->irq);
> +
> +    /* Enable TX/RX and Error Interrupts  */
> +    writel(S_GENI_CMD_ABORT, uart->regs + SE_GENI_S_CMD_CTRL_REG);
> +    qcom_uart_poll_bit(uart->regs + SE_GENI_S_CMD_CTRL_REG,
> +                       S_GENI_CMD_ABORT, false);
> +    writel(S_CMD_DONE_EN | S_CMD_ABORT_EN, uart->regs + SE_GENI_S_IRQ_CLEAR);
> +    writel(FORCE_DEFAULT, uart->regs + GENI_FORCE_DEFAULT_REG);
> +
> +    val = readl(uart->regs + SE_GENI_S_IRQ_EN);
> +    val = S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN;
> +    writel(val, uart->regs + SE_GENI_S_IRQ_EN);
> +
> +    val = readl(uart->regs + SE_GENI_M_IRQ_EN);
> +    val = M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN;
> +    writel(val, uart->regs + SE_GENI_M_IRQ_EN);
> +
> +    /* Send RX command */
> +    writel(UART_START_READ << S_OPCODE_SHFT, uart->regs + SE_GENI_S_CMD0);
> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_SEC_IRQ_EN,
> +                       true);
> +}
> +
> +static void qcom_uart_putc(struct serial_port *port, char c)
> +{
> +    struct qcom_uart *uart = port->uart;
> +    uint32_t irq_clear = M_CMD_DONE_EN;
> +    uint32_t m_cmd;
> +    bool done;
> +
> +    /* Setup TX */
> +    writel(1, uart->regs + SE_UART_TX_TRANS_LEN);
> +
> +    writel(DEF_TX_WM, uart->regs + SE_GENI_TX_WATERMARK_REG);
> +
> +    m_cmd = UART_START_TX << M_OPCODE_SHFT;
> +    writel(m_cmd, uart->regs + SE_GENI_M_CMD0);
> +
> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS,
> +                       M_TX_FIFO_WATERMARK_EN, true);
> +
> +    writel(c, uart->regs + SE_GENI_TX_FIFOn);
> +    writel(M_TX_FIFO_WATERMARK_EN, uart->regs + SE_GENI_M_IRQ_CLEAR);
> +
> +    /* Check for TX done */
> +    done = qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_CMD_DONE_EN,
> +                              true);
> +    if ( !done )
> +    {
> +        writel(M_GENI_CMD_ABORT, uart->regs + SE_GENI_M_CMD_CTRL_REG);
> +        irq_clear |= M_CMD_ABORT_EN;
> +        qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_CMD_ABORT_EN,
> +                           true);
> +
> +    }
> +    writel(irq_clear, uart->regs + SE_GENI_M_IRQ_CLEAR);
> +}
> +
> +static int qcom_uart_getc(struct serial_port *port, char *pc)
> +{
> +    struct qcom_uart *uart = port->uart;
> +
> +    if ( !readl(uart->regs + SE_GENI_RX_FIFO_STATUS) )
> +        return 0;
> +
> +    *pc = readl(uart->regs + SE_GENI_RX_FIFOn) & 0xFF;
> +
> +    writel(UART_START_READ << S_OPCODE_SHFT, uart->regs + SE_GENI_S_CMD0);
> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_SEC_IRQ_EN,
> +                       true);
> +
> +    return 1;
> +
> +}
> +
> +static struct uart_driver __read_mostly qcom_uart_driver = {
> +    .init_preirq  = qcom_uart_init_preirq,
> +    .init_postirq = qcom_uart_init_postirq,
> +    .putc         = qcom_uart_putc,
> +    .getc         = qcom_uart_getc,
> +};
> +
> +static const struct dt_device_match qcom_uart_dt_match[] __initconst =
> +{
> +    { .compatible = "qcom,geni-debug-uart"},
> +    { /* sentinel */ },
> +};
Can you move it right before DT_DEVICE_START?.

> +
> +static int __init qcom_uart_init(struct dt_device_node *dev,
> +                                 const void *data)
> +{
> +    const char *config = data;
> +    struct qcom_uart *uart;
> +    int res;
> +    paddr_t addr, size;
> +
> +    if ( strcmp(config, "") )
> +        printk("WARNING: UART configuration is not supported\n");
> +
> +    uart = &qcom_com;
> +
> +    res = dt_device_get_paddr(dev, 0, &addr, &size);
> +    if ( res )
> +    {
> +        printk("qcom-uart: Unable to retrieve the base"
> +               " address of the UART\n");
> +        return res;
> +    }
> +
> +    res = platform_get_irq(dev, 0);
> +    if ( res < 0 )
> +    {
> +        printk("qcom-uart: Unable to retrieve the IRQ\n");
> +        return res;
> +    }
> +    uart->irq = res;
> +
> +    uart->regs = ioremap_nocache(addr, size);
> +    if ( !uart->regs )
> +    {
> +        printk("qcom-uart: Unable to map the UART memory\n");
> +        return -ENOMEM;
> +    }
> +
> +    /* Register with generic serial driver */
> +    serial_register_uart(SERHND_DTUART, &qcom_uart_driver, uart);
> +
> +    dt_device_set_used_by(dev, DOMID_XEN);
> +
> +    return 0;
> +}
> +
> +DT_DEVICE_START(qcom_uart, "QCOM UART", DEVICE_SERIAL)
> +    .dt_match = qcom_uart_dt_match,
> +    .init = qcom_uart_init,
> +DT_DEVICE_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.43.0

What about vUART? You don't seem to set vuart information that is used by vuart.c and vpl011.c

~Michal




From xen-devel-bounces@lists.xenproject.org Tue Apr 02 11:43:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 11:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700106.1092707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrcXl-0002UU-9m; Tue, 02 Apr 2024 11:43:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700106.1092707; Tue, 02 Apr 2024 11:43: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 1rrcXl-0002UN-72; Tue, 02 Apr 2024 11:43:09 +0000
Received: by outflank-mailman (input) for mailman id 700106;
 Tue, 02 Apr 2024 11: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=h5be=LH=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrcXj-0002UG-P1
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 11:43:07 +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 2abe3694-f0e6-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 13:43:04 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-513da1c1f26so6057286e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 04:43:04 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 k17-20020a05651210d100b00515c8ff6f52sm1665091lfg.229.2024.04.02.04.43.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 04: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: 2abe3694-f0e6-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712058184; x=1712662984; 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=a8s0RjM0WUf9GshdCi5kY8Xc1eX6585w+7ggOrU4MWc=;
        b=cC9lcjUTGGSwg1xjpWTwkLA3GEshOWkGq6A1wdP05S/nRGpsNlDSj3hMzpL3kq7eC9
         iP2nqaAFp4ODAJlwHINPLQCg1s4eKjR570Z+mslp9CNRkIPrzHuUTGH0cYoFGAVHGKyZ
         AI0N9BqGaoExqjFrzY62quTWLqybR9vRPAQNAddbhbkkKe7vMYoL2+Zp+qGemzKH1dcJ
         ZKb51X687plTiY9N9nuTKfnDCbwSAlcufqdM0oTJyfjmxTsEk2GmR/PPcLYflEH/tkQ3
         ZnuHPH3PgQQC4pzie4ykyo/XRVOsEqOj8HkAStoIf17IHtc0x7bQlEi5PENX4Ho9Dz3A
         S30A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712058184; x=1712662984;
        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=a8s0RjM0WUf9GshdCi5kY8Xc1eX6585w+7ggOrU4MWc=;
        b=aomfo+XXPqN6BG6bEcnsQunCCHOuCmpdxCWlTZwOUjrhgHqsHD4iMx7+jrNxonkNNp
         mMfHzPgA0fVpzYS5H3DKLW1JygQObboug6NqNNy3PCNuU/Wg/1/eRI0ovvqxwB7G9tWy
         5sQzYbFS0Q1jOTGf7Yo1sg23+4oadD0RTRUQglazERJRTbGNgQYPIzEW0CxQJ9NTDDUK
         jeWKyGFegsrSmxlHpJ3DN1Qjhqucps43Zmvs28z3XWapnKvKeXrsNkNSyXFn4CzV1TCe
         Ei5IB3n6TIpPc+chjtUEjpKHyO8Cq+W6vNckgdU4rsyTlk7LEg6+3+i2r4CpwliBaIr1
         43Rw==
X-Forwarded-Encrypted: i=1; AJvYcCWxbYCel36JqaFes6WQQdcOO6DpwrJyttVpb5BWQP4OcOTk8ShXNbkZ7KHf19xHlcFqesKLNOC8jgk0HBjU4DQUHPtavm9zj+TMGKiv3MY=
X-Gm-Message-State: AOJu0YzUtQxc2kZiKuZlGF6WwerYW3YVLRSyVupeJ9RhYAI+H+ZENfn/
	nkg+lTDMgrvpAa0zTfYpY6QM07hVPVucutluEnVxf4uqFdfNN5wY
X-Google-Smtp-Source: AGHT+IG0TIBQYQLpIPOx+0onSxfgTfXaRs6Gv7jqr9EzL+GE0KlH0xUD67UjzazwSjT8HrNuL3LiDA==
X-Received: by 2002:a05:6512:401a:b0:515:d196:7aeb with SMTP id br26-20020a056512401a00b00515d1967aebmr9775922lfb.49.1712058183780;
        Tue, 02 Apr 2024 04:43:03 -0700 (PDT)
Message-ID: <87a51cb7a2d663f292ccddbba78e41fd6a1c12db.camel@gmail.com>
Subject: Re: [PATCH v6 08/20] xen/riscv: introduce cmpxchg.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 02 Apr 2024 13:43:01 +0200
In-Reply-To: <6f73368c-ea73-4d86-a6a1-8f9784c4b01f@suse.com>
References: <cover.1710517542.git.oleksii.kurochko@gmail.com>
	 <bf65ce1ff5f683cc6b638fa7de0c54d5e0aead33.1710517542.git.oleksii.kurochko@gmail.com>
	 <6f73368c-ea73-4d86-a6a1-8f9784c4b01f@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.2 (3.50.2-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-03-21 at 13:07 +0100, Jan Beulich wrote:
> > + * If resulting 4-byte access is still misalgined, it will fault
> > just as
> > + * non-emulated 4-byte access would.
> > + */
> > +#define emulate_xchg_1_2(ptr, new, lr_sfx, sc_sfx) \
> > +({ \
> > +=C2=A0=C2=A0=C2=A0 uint32_t *aligned_ptr =3D (uint32_t *)((unsigned lo=
ng)ptr &
> > ~(0x4 - sizeof(*(ptr)))); \
> > +=C2=A0=C2=A0=C2=A0 unsigned int new_val_pos =3D ((unsigned long)(ptr) =
& (0x4 -
> > sizeof(*(ptr)))) * BITS_PER_BYTE; \
>=20
> You parenthesize ptr here correctly, but not in the line above.
>=20
> Instead of "_pos" in the name, maybe better "_bit"?
>=20
> Finally, here and elsewhere, please limit line length to 80 chars.
> (Omitting
> the 0x here would help a little, but not quite enough. Question is
> whether
> these wouldn't better be sizeof(*aligned_ptr) anyway.)

I'm unsure if using sizeof(*aligned_ptr) is correct in this context.
The intention was to determine the position for the value we're
attempting to exchange.

Let's consider a scenario where we have 0xAABBCCDD at address 0x6. Even
though this would result in misaligned access, I believe new_val_pos
should still be calculated accurately. Let's say we want to exchange
two bytes (AABB) with FFFF.

With the current implementation, we would calculate:
0x6 & 2 =3D 2 * 8 =3D 16, which is the value on which the new value should
be shifted.

However, if this value is then ANDed with sizeof(*aligned_ptr):
0x6 & 4 =3D 6 * 8 =3D 48, which is not the expected value.

Am I overlooking something?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 12:06:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 12:06:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700112.1092737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrcuO-0005vI-KV; Tue, 02 Apr 2024 12:06:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700112.1092737; Tue, 02 Apr 2024 12:06:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrcuO-0005v7-He; Tue, 02 Apr 2024 12:06:32 +0000
Received: by outflank-mailman (input) for mailman id 700112;
 Tue, 02 Apr 2024 12:06: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=dzup=LH=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rrcuN-0005SQ-TF
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 12:06:31 +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 7066c174-f0e9-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 14:06:30 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a466e53f8c0so665394966b.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 05:06:30 -0700 (PDT)
Received: from EPUAKYIW03DD.. ([91.123.150.27])
 by smtp.gmail.com with ESMTPSA id
 o10-20020a170906774a00b00a4e472a8e54sm4303773ejn.48.2024.04.02.05.06.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 05:06: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: 7066c174-f0e9-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712059589; x=1712664389; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FUGgsrjKPl/22WR8VSn54cLHJfWkay8frEJz8oEQvJ0=;
        b=hBFiUnfkWMNU21vk9PQpTqD4w9/3sw/q98H+5k6j3bT14vfX/kQpcliNTUi62mZMyC
         G+e+KSPLfsCqOSU+X31IDNeBTwcVbPDOl2x6z5HroAsg0W/tfJjbkyCi9BHPKsV3glJx
         tyPvPJpdp7G5+nhJ9QlV+AlRmni77aYBanSr9W5Q5OkIcCscKUzchV0VeIdd1YkznlCx
         z3XAXrRKLFCDMjSn1EbynVKjfb9IvTWUJzdWvC/qX72grFZICN6CO74qDu3AjxUynA3O
         eSQOIureh+REihf62Al2XnR2WYyYYE+A7ShNguTjMD96ljiQCtl1zF7Wy+WLik9rELMw
         yS/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712059589; x=1712664389;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FUGgsrjKPl/22WR8VSn54cLHJfWkay8frEJz8oEQvJ0=;
        b=JuCaGXLlV21WnPBDLW+9KZdUiBYNQ6Y1efl8sOPnhHb65O/RTfX9s0N1/K8K8whDlG
         +7K9NK0WXN6kl5vKrmTD2bdoimiUfVIIENZ5vEv5yloYPI10wUxF8zvfAThwiSZLT5P9
         dfjbO64KJZEf2QmOXEBmvZEiWGXwNOy+iLf/rNrh1H1Sk5aAht4bV9SUDvKTtso5OXRV
         FyPfislSQ3KdBtOx7vsaEDwp04sY+szVnlqHC6Yyy+0SgcGeLLnACnkhE/TknfbJu400
         9giGgNZY8J+8sBbtCLgRf7y+BVrSw6d3LcT/at++vF4zjA6Vpsn6zqsCIy30gE8Ca6bu
         KXbw==
X-Gm-Message-State: AOJu0YyMzl40/OfmDNJXaZ3PflpWX977fHE6C3o+c5Swbimgjoh8z/c2
	Yb+BwsP+dCqRNSG27Sqey19vNbciieJ1+uN3LYZOU6oGw5czBuGwiUDWiLJJ
X-Google-Smtp-Source: AGHT+IEe151L0J+G7gezYuP2Ey74bXQU7Msp/+iN5C48PhOX/MgTtpNc19hVo4PzgFkP5hhgLTqruw==
X-Received: by 2002:a17:906:38c3:b0:a46:36ee:cfac with SMTP id r3-20020a17090638c300b00a4636eecfacmr8327286ejd.77.1712059588641;
        Tue, 02 Apr 2024 05:06:28 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Peng Fan <peng.fan@nxp.com>
Subject: [PATCH 2/2] xen/arm: Add i.MX UART driver
Date: Tue,  2 Apr 2024 15:05:57 +0300
Message-Id: <20240402120557.1822253-3-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240402120557.1822253-1-olekstysh@gmail.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The i.MX UART Documentation:
https://www.nxp.com/webapp/Download?colCode=IMX8MMRM
Chapter 16.2 Universal Asynchronous Receiver/Transmitter (UART)

Tested on i.MX 8M Mini only, but I guess, it should be
suitable for other i.MX8M* SoCs (those UART device tree nodes
contain "fsl,imx6q-uart" compatible string).

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
I used the "earlycon=ec_imx6q,0x30890000" cmd arg and
selected CONFIG_SERIAL_IMX_EARLYCON in Linux for enabling vUART.
---
---
 MAINTAINERS                 |   1 +
 xen/drivers/char/Kconfig    |   7 +
 xen/drivers/char/Makefile   |   1 +
 xen/drivers/char/imx-uart.c | 299 ++++++++++++++++++++++++++++++++++++
 4 files changed, 308 insertions(+)
 create mode 100644 xen/drivers/char/imx-uart.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 1bd22fd75f..bd4084fd20 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/imx-uart.c
 F:	xen/drivers/char/meson-uart.c
 F:	xen/drivers/char/mvebu-uart.c
 F:	xen/drivers/char/omap-uart.c
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index e18ec3788c..f51a1f596a 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -20,6 +20,13 @@ config HAS_IMX_LPUART
 	help
 	  This selects the i.MX LPUART. If you have i.MX8QM based board, say Y.
 
+config HAS_IMX_UART
+	bool "i.MX UART driver"
+	default y
+	depends on ARM_64
+	help
+	  This selects the i.MX UART. If you have i.MX8M* based board, say Y.
+
 config HAS_MVEBU
 	bool "Marvell MVEBU UART driver"
 	default y
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index e7e374775d..147530a1ed 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_IMX_UART) += imx-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/imx-uart.c b/xen/drivers/char/imx-uart.c
new file mode 100644
index 0000000000..13bb189063
--- /dev/null
+++ b/xen/drivers/char/imx-uart.c
@@ -0,0 +1,299 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/drivers/char/imx-uart.c
+ *
+ * Driver for i.MX UART.
+ *
+ * Based on Linux's drivers/tty/serial/imx.c
+ *
+ * Copyright (C) 2024 EPAM Systems Inc.
+ */
+
+#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/imx-uart.h>
+#include <asm/io.h>
+
+#define imx_uart_read(uart, off)          readl((uart)->regs + (off))
+#define imx_uart_write(uart, off, val)    writel((val), (uart)->regs + (off))
+
+static struct imx_uart {
+    uint32_t baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
+    uint32_t irq;
+    char __iomem *regs;
+    struct irqaction irqaction;
+    struct vuart_info vuart;
+} imx_com;
+
+static void imx_uart_interrupt(int irq, void *data)
+{
+    struct serial_port *port = data;
+    struct imx_uart *uart = port->uart;
+    uint32_t usr1, usr2;
+
+    usr1 = imx_uart_read(uart, USR1);
+    usr2 = imx_uart_read(uart, USR2);
+
+    if ( usr1 & (USR1_RRDY | USR1_AGTIM) )
+    {
+        imx_uart_write(uart, USR1, USR1_AGTIM);
+        serial_rx_interrupt(port);
+    }
+
+    if ( (usr1 & USR1_TRDY) || (usr2 & USR2_TXDC) )
+        serial_tx_interrupt(port);
+}
+
+static void imx_uart_clear_rx_errors(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+    uint32_t usr1, usr2;
+
+    usr1 = imx_uart_read(uart, USR1);
+    usr2 = imx_uart_read(uart, USR2);
+
+    if ( usr2 & USR2_BRCD )
+        imx_uart_write(uart, USR2, USR2_BRCD);
+    else if ( usr1 & USR1_FRAMERR )
+        imx_uart_write(uart, USR1, USR1_FRAMERR);
+    else if ( usr1 & USR1_PARITYERR )
+        imx_uart_write(uart, USR1, USR1_PARITYERR);
+
+    if ( usr2 & USR2_ORE )
+        imx_uart_write(uart, USR2, USR2_ORE);
+}
+
+static void __init imx_uart_init_preirq(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+    uint32_t reg;
+
+    /*
+     * Wait for the transmission to complete. This is needed for a smooth
+     * transition when we come from early printk.
+     */
+    while ( !(imx_uart_read(uart, USR2) & USR2_TXDC) )
+        cpu_relax();
+
+    /* Set receiver/transmitter trigger level */
+    reg = imx_uart_read(uart, UFCR);
+    reg &= (UFCR_RFDIV | UFCR_DCEDTE);
+    reg |= TXTL_DEFAULT << UFCR_TXTL_SHF | RXTL_DEFAULT;
+    imx_uart_write(uart, UFCR, reg);
+
+    /* Enable UART and disable interrupts/DMA */
+    reg = imx_uart_read(uart, UCR1);
+    reg |= UCR1_UARTEN;
+    reg &= ~(UCR1_TRDYEN | UCR1_TXMPTYEN | UCR1_RTSDEN | UCR1_RRDYEN |
+             UCR1_RXDMAEN | UCR1_TXDMAEN | UCR1_ATDMAEN);
+    imx_uart_write(uart, UCR1, reg);
+
+    /* Enable receiver/transmitter and disable Aging Timer */
+    reg = imx_uart_read(uart, UCR2);
+    reg |= UCR2_RXEN | UCR2_TXEN;
+    reg &= ~UCR2_ATEN;
+    imx_uart_write(uart, UCR2, reg);
+
+    /* Disable interrupts */
+    reg = imx_uart_read(uart, UCR4);
+    reg &= ~(UCR4_TCEN | UCR4_DREN);
+    imx_uart_write(uart, UCR4, reg);
+}
+
+static void __init imx_uart_init_postirq(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+
+    uart->irqaction.handler = imx_uart_interrupt;
+    uart->irqaction.name = "imx_uart";
+    uart->irqaction.dev_id = port;
+
+    if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 )
+    {
+        dprintk(XENLOG_ERR, "Failed to allocate imx_uart IRQ %d\n", uart->irq);
+        return;
+    }
+
+    /* Clear possible receiver errors */
+    imx_uart_clear_rx_errors(port);
+
+    /* Enable interrupts */
+    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) |
+                   UCR1_RRDYEN | UCR1_TRDYEN);
+    imx_uart_write(uart, UCR2, imx_uart_read(uart, UCR2) | UCR2_ATEN);
+}
+
+static void imx_uart_suspend(struct serial_port *port)
+{
+    BUG();
+}
+
+static void imx_uart_resume(struct serial_port *port)
+{
+    BUG();
+}
+
+static int imx_uart_tx_ready(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+    uint32_t reg;
+
+    reg = imx_uart_read(uart, IMX21_UTS);
+    if ( reg & UTS_TXEMPTY )
+        return TX_FIFO_SIZE;
+    if ( reg & UTS_TXFULL )
+        return 0;
+
+    /*
+     * If the FIFO is neither full nor empty then there is a space for
+     * one char at least.
+     */
+    return 1;
+}
+
+static void imx_uart_putc(struct serial_port *port, char c)
+{
+    struct imx_uart *uart = port->uart;
+
+    while ( imx_uart_read(uart, IMX21_UTS) & UTS_TXFULL )
+        cpu_relax();
+
+    imx_uart_write(uart, URTX0, c);
+}
+
+static int imx_uart_getc(struct serial_port *port, char *pc)
+{
+    struct imx_uart *uart = port->uart;
+    uint32_t data;
+
+    if ( !(imx_uart_read(uart, USR2) & USR2_RDR) )
+        return 0;
+
+    data = imx_uart_read(uart, URXD0);
+    *pc = data & URXD_RX_DATA;
+
+    if ( unlikely(data & URXD_ERR) )
+        imx_uart_clear_rx_errors(port);
+
+    return 1;
+}
+
+static int __init imx_uart_irq(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+
+    return ((uart->irq > 0) ? uart->irq : -1);
+}
+
+static const struct vuart_info *imx_uart_vuart_info(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+
+    return &uart->vuart;
+}
+
+static void imx_uart_start_tx(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+
+    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) | UCR1_TRDYEN);
+}
+
+static void imx_uart_stop_tx(struct serial_port *port)
+{
+    struct imx_uart *uart = port->uart;
+
+    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) & ~UCR1_TRDYEN);
+}
+
+static struct uart_driver __read_mostly imx_uart_driver = {
+    .init_preirq = imx_uart_init_preirq,
+    .init_postirq = imx_uart_init_postirq,
+    .endboot = NULL,
+    .suspend = imx_uart_suspend,
+    .resume = imx_uart_resume,
+    .tx_ready = imx_uart_tx_ready,
+    .putc = imx_uart_putc,
+    .getc = imx_uart_getc,
+    .irq = imx_uart_irq,
+    .start_tx = imx_uart_start_tx,
+    .stop_tx = imx_uart_stop_tx,
+    .vuart_info = imx_uart_vuart_info,
+};
+
+static int __init imx_uart_init(struct dt_device_node *dev, const void *data)
+{
+    const char *config = data;
+    struct imx_uart *uart;
+    int res;
+    paddr_t addr, size;
+
+    if ( strcmp(config, "") )
+        printk("WARNING: UART configuration is not supported\n");
+
+    uart = &imx_com;
+
+    uart->baud = 115200;
+    uart->data_bits = 8;
+    uart->parity = 0;
+    uart->stop_bits = 1;
+
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
+    if ( res )
+    {
+        printk("imx-uart: Unable to retrieve the base address of the UART\n");
+        return res;
+    }
+
+    res = platform_get_irq(dev, 0);
+    if ( res < 0 )
+    {
+        printk("imx-uart: Unable to retrieve the IRQ\n");
+        return -EINVAL;
+    }
+    uart->irq = res;
+
+    uart->regs = ioremap_nocache(addr, size);
+    if ( !uart->regs )
+    {
+        printk("imx-uart: Unable to map the UART memory\n");
+        return -ENOMEM;
+    }
+
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = URTX0;
+    uart->vuart.status_off = IMX21_UTS;
+    uart->vuart.status = UTS_TXEMPTY;
+
+    /* Register with generic serial driver */
+    serial_register_uart(SERHND_DTUART, &imx_uart_driver, uart);
+
+    dt_device_set_used_by(dev, DOMID_XEN);
+
+    return 0;
+}
+
+static const struct dt_device_match imx_uart_dt_compat[] __initconst =
+{
+    DT_MATCH_COMPATIBLE("fsl,imx6q-uart"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(imx_uart, "i.MX UART", DEVICE_SERIAL)
+    .dt_match = imx_uart_dt_compat,
+    .init = imx_uart_init,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 12:06:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 12:06:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700110.1092718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrcuN-0005Sl-7D; Tue, 02 Apr 2024 12:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700110.1092718; Tue, 02 Apr 2024 12:06:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrcuN-0005Se-41; Tue, 02 Apr 2024 12:06:31 +0000
Received: by outflank-mailman (input) for mailman id 700110;
 Tue, 02 Apr 2024 12:06:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dzup=LH=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rrcuL-0005SQ-5G
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 12:06: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 6e61ace3-f0e9-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 14:06:26 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a450bedffdfso561152466b.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 05:06:26 -0700 (PDT)
Received: from EPUAKYIW03DD.. ([91.123.150.27])
 by smtp.gmail.com with ESMTPSA id
 o10-20020a170906774a00b00a4e472a8e54sm4303773ejn.48.2024.04.02.05.06.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 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: 6e61ace3-f0e9-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712059585; x=1712664385; 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=q6fR0wNZtEGUemGL6SwR1BoZnu5IuAgT114Vfd4Nmsc=;
        b=XwaL/A+UOaPKpVPW+HXqZL+qGIut/Je9+Qsa8g3hTKEAtk23WI7afXXo4C3TW2e4Kl
         21uamhkaEX0IkONmotWXnsDscgaeJwqB4YkM+Z6iMQdTStEZ7j5mKxQW+82BTUEvaYvb
         +ZkACgt/5hLX0mSbI3olsOnZKf1THbeY9cTmliZcADo/gDoE5ba/14B//eRQ/RnRpKYP
         dA3ljjDVWukVThD3vYoeEnl1tIsiSwcyqZ6BR5GdmctrtY+L5muMA4w/kdylfHyj5095
         qAiV3QAMNox1oPv4L8ZMWNscS72GteJCcAgN6iHzj7ul2CGBpNakWt+umDdKSI5owmms
         tS6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712059585; x=1712664385;
        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=q6fR0wNZtEGUemGL6SwR1BoZnu5IuAgT114Vfd4Nmsc=;
        b=OwSl7weGYMeMTRbxOBhNGeOk/xBCgBswbwonAftwZvV5X1yAt6YITDy3OuIl4U/Ehn
         xVkB7P7jcP1C9kUsjInjBFqX1lER/QyhwEI1THkAhndUvGx3ALEZjaKWNc9OASOAH/2N
         dDnaFQezxts6nE7ER4Mfz/SsIkj4SpQxBBuxtPR4uw3pGEC+tRghlfU/TQXyNkaokdcy
         bS7Ove1a9G8v7qFdLI2366VB7SSYxDkE9WV5ZBWxnpqyQ3gIMnDUoKv/8yoz2UzazJ4q
         m/OtgUJ0iolWWkmcjlBjgkS/XPdbUijmgUIdhPz3iWMKJJxrOb06S6//E5qtpqy88fjX
         CwQQ==
X-Gm-Message-State: AOJu0Yz1zEr4X6vXHO/r7oPt1t2u52A7XKq6z25wM04L8VgfiHDzDbkb
	/bvaQnHv56AIxdc/C4jz5r2wXovmRMdjEFGBjlpu1mIf3vNVsJOEeNP9HWMP
X-Google-Smtp-Source: AGHT+IETsxWyfJbGLSCKaBXlQefgDpz38esnVkYQlGbFn8eYsUmWrjtie7lAZNNOP8CkJudHo/XMAQ==
X-Received: by 2002:a17:906:1c08:b0:a4e:dd7:4e24 with SMTP id k8-20020a1709061c0800b00a4e0dd74e24mr6126277ejg.23.1712059585244;
        Tue, 02 Apr 2024 05:06:25 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Peng Fan <peng.fan@nxp.com>
Subject: [PATCH 0/2] Add UART support for i.MX 8M Mini EVKB
Date: Tue,  2 Apr 2024 15:05:55 +0300
Message-Id: <20240402120557.1822253-1-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Hello all.

This small series contains early printk and full UART support
for i.MX 8M Mini EVKB [1].

Tested on i.MX 8M Mini only to which I had an access, but from my
understanding, this UART support should be suitable for other i.MX8M* SoCs
(those UART device tree nodes contain "fsl,imx6q-uart" compatible string).

[1] https://www.nxp.com/document/guide/getting-started-with-the-i-mx-8m-mini-evkb:GS-iMX-8M-Mini-EVK

Oleksandr Tyshchenko (2):
  xen/arm: Add i.MX UART early printk support
  xen/arm: Add i.MX UART driver

 MAINTAINERS                           |   1 +
 xen/arch/arm/Kconfig.debug            |  14 ++
 xen/arch/arm/arm64/debug-imx-uart.inc |  38 ++++
 xen/arch/arm/include/asm/imx-uart.h   |  76 +++++++
 xen/drivers/char/Kconfig              |   7 +
 xen/drivers/char/Makefile             |   1 +
 xen/drivers/char/imx-uart.c           | 299 ++++++++++++++++++++++++++
 7 files changed, 436 insertions(+)
 create mode 100644 xen/arch/arm/arm64/debug-imx-uart.inc
 create mode 100644 xen/arch/arm/include/asm/imx-uart.h
 create mode 100644 xen/drivers/char/imx-uart.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 12:06:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 12:06:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700111.1092722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrcuN-0005VZ-DY; Tue, 02 Apr 2024 12:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700111.1092722; Tue, 02 Apr 2024 12:06:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrcuN-0005Ue-9k; Tue, 02 Apr 2024 12:06:31 +0000
Received: by outflank-mailman (input) for mailman id 700111;
 Tue, 02 Apr 2024 12:06: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=dzup=LH=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rrcuL-0005SV-IW
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 12:06:29 +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 6f588766-f0e9-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 14:06:28 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a4e65dec03eso261377766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 05:06:28 -0700 (PDT)
Received: from EPUAKYIW03DD.. ([91.123.150.27])
 by smtp.gmail.com with ESMTPSA id
 o10-20020a170906774a00b00a4e472a8e54sm4303773ejn.48.2024.04.02.05.06.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 05:06: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: 6f588766-f0e9-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712059587; x=1712664387; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tXRZoBkrIDvTNlJOaVE/UOyTf5pEhamTYtPvWBSXQsk=;
        b=esPGY+207ziPSlGR2WMnGvXhm9ZuWmciDd189gdL304K8diM8adCf3n0lepVZbf1HD
         IIBlkwHuiGlLQqxPFDsEfh3KDVEQ1r2ehCCvFMG42hnVW6iZqhFEDpkMoL8BxHUDW9nF
         fPqC0CV3tf/fHuzA0I8aPeKZA1azp3GJTVE4uOK48guZBxniQ7dNiASef0s1fHppuqci
         UQ1WKZgEGWv6+PSpUg2Qlt7xwAlOTxrdKl6rmTp2yCaF8TBvb+OQdqhVC1BWrF4vjFlJ
         SozTZan5s9+oKIsECDkteexQO6YwA7cHTXHqWa4UqVTzSijj8wAfQrnNur+X94R5VXoo
         +tRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712059587; x=1712664387;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tXRZoBkrIDvTNlJOaVE/UOyTf5pEhamTYtPvWBSXQsk=;
        b=hTAt+S0Ul0s4v9HnTMu8Gv/h63jAPB0AEmtIbhc8kIUJmq8+0bWzeS6oohYzB9kaxr
         CkTIHWhRPy3tGM9LJ7bK+ATWPIv1aRzIRUDH3xCFJti1EQLi06JN3IwVj6NKxNJXMSpq
         w0s0y/aZYv1pvKAXbGp62+UVozVROHIuFUTkp529Oe6HU+fTYlNxV827cF3HUzUoclY0
         xIATq9LKjChErPfbhCrbkQxJ6jHzGi0p04DeEuLEY2bQkH6x4R/AQvIVHrqRDH/OlRzk
         XgItNTmr95r/ClPuYQm8fH+mj3HdlJ/vFxUWJ7rA5tJ0oyB+Ng5atZRqg8A9Ccc3mq2j
         LehQ==
X-Gm-Message-State: AOJu0YyRWOTfKmLZOACJ5l+4rhdPbWOw9bpBo9QrT6ZZZWPMu54y/G8c
	4xxGkveocMN3ennwM76ZDyRIAVArJFxo1kfnoSrfnZt3ivs5zTMuWExljjNH
X-Google-Smtp-Source: AGHT+IGNo07CHKnbFiMZtWKQ71TkvlQlT2xcaqfjvF/EUoSPv9tbYhEuPzH760lZuULNadQG3B+zSw==
X-Received: by 2002:a17:906:2c12:b0:a4e:282d:b540 with SMTP id e18-20020a1709062c1200b00a4e282db540mr6688228ejh.77.1712059587098;
        Tue, 02 Apr 2024 05:06:27 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Peng Fan <peng.fan@nxp.com>
Subject: [PATCH 1/2] xen/arm: Add i.MX UART early printk support
Date: Tue,  2 Apr 2024 15:05:56 +0300
Message-Id: <20240402120557.1822253-2-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240402120557.1822253-1-olekstysh@gmail.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Tested on i.MX 8M Mini only, but I guess, it should be
suitable for other i.MX8M* SoCs (those UART device tree nodes
contain "fsl,imx6q-uart" compatible string).

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
I selected the following configs for enabling early printk:

 CONFIG_EARLY_UART_CHOICE_IMX_UART=y
 CONFIG_EARLY_UART_IMX_UART=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_UART_BASE_ADDRESS=0x30890000
 CONFIG_EARLY_PRINTK_INC="debug-imx-uart.inc"
---
---
 xen/arch/arm/Kconfig.debug            | 14 +++++
 xen/arch/arm/arm64/debug-imx-uart.inc | 38 ++++++++++++++
 xen/arch/arm/include/asm/imx-uart.h   | 76 +++++++++++++++++++++++++++
 3 files changed, 128 insertions(+)
 create mode 100644 xen/arch/arm/arm64/debug-imx-uart.inc
 create mode 100644 xen/arch/arm/include/asm/imx-uart.h

diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
index eec860e88e..a15d08f214 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_IMX_UART
+		select EARLY_UART_IMX_UART
+		depends on ARM_64
+		bool "Early printk via i.MX UART"
+		help
+			Say Y here if you wish the early printk to direct their
+			output to a i.MX UART. You can use this option to
+			provide the parameters for the i.MX 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_IMX_UART
+	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-imx-uart.inc" if EARLY_UART_IMX_UART
 	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-imx-uart.inc b/xen/arch/arm/arm64/debug-imx-uart.inc
new file mode 100644
index 0000000000..27a68b1ed5
--- /dev/null
+++ b/xen/arch/arm/arm64/debug-imx-uart.inc
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm64/debug-imx-uart.inc
+ *
+ * i.MX8M* specific debug code
+ *
+ * Copyright (C) 2024 EPAM Systems Inc.
+ */
+
+#include <asm/imx-uart.h>
+
+/*
+ * Wait UART to be ready to transmit
+ * rb: register which contains the UART base address
+ * rc: scratch register
+ */
+.macro early_uart_ready xb, c
+1:
+        ldr   w\c, [\xb, #IMX21_UTS] /* <- Test register */
+        tst   w\c, #UTS_TXFULL       /* Check TxFIFO FULL bit */
+        bne   1b                     /* Wait for the UART to be ready */
+.endm
+
+/*
+ * UART transmit character
+ * rb: register which contains the UART base address
+ * rt: register which contains the character to transmit
+ */
+.macro early_uart_transmit xb, wt
+        str   \wt, [\xb, #URTX0] /* -> Transmitter Register */
+.endm
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/imx-uart.h b/xen/arch/arm/include/asm/imx-uart.h
new file mode 100644
index 0000000000..413a81dd44
--- /dev/null
+++ b/xen/arch/arm/include/asm/imx-uart.h
@@ -0,0 +1,76 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/include/asm/imx-uart.h
+ *
+ * Common constant definition between early printk and the UART driver
+ *
+ * Copyright (C) 2024 EPAM Systems Inc.
+ */
+
+#ifndef __ASM_ARM_IMX_UART_H__
+#define __ASM_ARM_IMX_UART_H__
+
+/* 32-bit register definition */
+#define URXD0        (0x00) /* Receiver Register */
+#define URTX0        (0x40) /* Transmitter Register */
+#define UCR1         (0x80) /* Control Register 1 */
+#define UCR2         (0x84) /* Control Register 2 */
+#define UCR3         (0x88) /* Control Register 3 */
+#define UCR4         (0x8c) /* Control Register 4 */
+#define UFCR         (0x90) /* FIFO Control Register */
+#define USR1         (0x94) /* Status Register 1 */
+#define USR2         (0x98) /* Status Register 2 */
+#define IMX21_UTS    (0xb4) /* Test Register */
+
+#define URXD_ERR        BIT(14, UL) /* Error detect */
+#define URXD_RX_DATA    GENMASK(7, 0) /* Received data mask */
+
+#define UCR1_TRDYEN      BIT(13, UL) /* Transmitter ready interrupt enable */
+#define UCR1_RRDYEN      BIT(9, UL) /* Receiver ready interrupt enable */
+#define UCR1_RXDMAEN     BIT(8, UL) /* Receiver ready DMA enable */
+#define UCR1_TXMPTYEN    BIT(6, UL) /* Transmitter empty interrupt enable */
+#define UCR1_RTSDEN      BIT(5, UL) /* RTS delta interrupt enable */
+#define UCR1_TXDMAEN     BIT(3, UL) /* Transmitter ready DMA enable */
+#define UCR1_ATDMAEN     BIT(2, UL) /* Aging DMA Timer enable */
+#define UCR1_UARTEN      BIT(0, UL) /* UART enable */
+
+#define UCR2_ATEN    BIT(3, UL) /* Aging Timer Enable */
+#define UCR2_TXEN    BIT(2, UL) /* Transmitter enable */
+#define UCR2_RXEN    BIT(1, UL) /* Receiver enable */
+
+#define UCR4_TCEN    BIT(3, UL) /* Transmit complete interrupt enable */
+#define UCR4_DREN    BIT(0, UL) /* Receive data ready interrupt enable */
+
+#define UFCR_TXTL_SHF    (10) /* Transmitter trigger level shift */
+#define UFCR_RFDIV       GENMASK(9, 7) /* Reference frequency divider mask */
+#define UFCR_DCEDTE      BIT(6, UL) /* DCE/DTE mode select */
+
+#define USR1_PARITYERR    BIT(15, UL) /* Parity error interrupt flag */
+#define USR1_TRDY         BIT(13, UL) /* Transmitter ready interrupt/DMA flag */
+#define USR1_FRAMERR      BIT(10, UL) /* Frame error interrupt flag */
+#define USR1_RRDY         BIT(9, UL) /* Receiver ready interrupt/DMA flag */
+#define USR1_AGTIM        BIT(8, UL) /* Aging timer interrupt flag */
+
+#define USR2_TXDC         BIT(3, UL) /* Transmitter complete */
+#define USR2_BRCD         BIT(2, UL) /* Break condition detected */
+#define USR2_ORE          BIT(1, UL) /* Overrun error */
+#define USR2_RDR          BIT(0, UL) /* Receive data ready */
+
+#define UTS_TXEMPTY    BIT(6, UL) /* TxFIFO empty */
+#define UTS_TXFULL     BIT(4, UL) /* TxFIFO full */
+
+#define TXTL_DEFAULT    (2)
+#define RXTL_DEFAULT    (8)
+
+#define TX_FIFO_SIZE    32
+
+#endif /* __ASM_ARM_IMX_UART_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 12:55:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 12:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700120.1092748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrdfA-00059x-Cx; Tue, 02 Apr 2024 12:54:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700120.1092748; Tue, 02 Apr 2024 12: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 1rrdfA-00059q-94; Tue, 02 Apr 2024 12:54:52 +0000
Received: by outflank-mailman (input) for mailman id 700120;
 Tue, 02 Apr 2024 12: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrdf9-00059j-GJ
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 12:54:51 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f56cc0d-f0f0-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 14:54:47 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-4161eb1aa1fso1073845e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 05:54: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
 u22-20020a05600c139600b00414906f1ea1sm17770718wmf.17.2024.04.02.05.54.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 05:54:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f56cc0d-f0f0-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712062487; x=1712667287; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eknjOBB2PMJ+HupsDO9jp+LC4BS6OyB3CgBI8NRPLEY=;
        b=FOJtON2Cjb04K86bW1OEt76Jj/8Hve3EPUpAYd+E17/mJXGPhiPHkXjV1iiBoq/W0G
         9K2hMswMCizHDaw3RuhkVVSA+OYb5CaB4hlw/Lse79pgAnL+OSv2gNEntdViCtNu87Wp
         +S18+UIDPg2G/UOWp9tkT1ExX5TMofxKx1YXoh+gIS4Y/vetvF9IIncpf8UIj77puZkh
         9mrztxU431LKtciOd/hIDc7bvHIlPWnDkKkZedp2MVj5MosR75+qwcBwNHXsr5mmrCok
         QcAW1pMU+MguvnOaZXLtn3IyUeSlAUCWhYN5+i0vhFO/siVz1W9WcCRXXwTpWwRKwquM
         5SVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712062487; x=1712667287;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eknjOBB2PMJ+HupsDO9jp+LC4BS6OyB3CgBI8NRPLEY=;
        b=qGL56gvWqB6mauJ5/+cPr+CqyZbnHi561ZMvAx7bGg2h7E6Vo5+x8yUAbMqZFzhpHZ
         RrpampBckTmL9wvnxiVMiQFZn01cwP2ExubjA+OBzSgi1xOj7GaBZdid/tdRIk6iKEgg
         VQZipXgNPHEdb+pUroNRUk/Rkk8ouYKKWl7XxMvbFaNxqFe0crm7qM+R6MLa59oriz9o
         Buu9d25lgN1dJB5oUr4YzzbqD3Bih5bil7mBothn7M59e7yjVxjmry0OK0WDA52jsFNo
         8FJ+3hn0WtgYeVGIw5wvxw8aJo1LE746ztNV+Y2CfgbGw5YrAI0KUfqKQQtaqHhDlMmk
         u5jw==
X-Forwarded-Encrypted: i=1; AJvYcCX8lplsyswXzvrgGhozwWLEW38iIjHjBTXBi2XqBM8OwmtC5Ymmo26bo9BZFZTCPixnZlXuQarB68R8DLWt+Dg3G19AYClZHXbVwmdWrBQ=
X-Gm-Message-State: AOJu0YxdPEqWZAfZAmmUt1xooDmFfC5SDezA/2tORAnnh32YvfGD8bvG
	X/uZyQe4kIDzCQK+maZ63Soc7+qWWqiX7dWva12pTQP9EyGU7jTZdZEccvzmRQ==
X-Google-Smtp-Source: AGHT+IEk7MLczKWxtB+fPwci9u2gdKFUzzxNlXx3jXys+BP6P8imMAP1XWSZdQ4RvzAKbW3jpD2toA==
X-Received: by 2002:a05:600c:5710:b0:414:9103:e38c with SMTP id jv16-20020a05600c571000b004149103e38cmr8387656wmb.22.1712062486798;
        Tue, 02 Apr 2024 05:54:46 -0700 (PDT)
Message-ID: <76fa325b-2074-438f-a953-f2ed4a23fcb3@suse.com>
Date: Tue, 2 Apr 2024 14:54:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 08/20] xen/riscv: introduce cmpxchg.h
Content-Language: en-US
To: Oleksii <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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1710517542.git.oleksii.kurochko@gmail.com>
 <bf65ce1ff5f683cc6b638fa7de0c54d5e0aead33.1710517542.git.oleksii.kurochko@gmail.com>
 <6f73368c-ea73-4d86-a6a1-8f9784c4b01f@suse.com>
 <87a51cb7a2d663f292ccddbba78e41fd6a1c12db.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <87a51cb7a2d663f292ccddbba78e41fd6a1c12db.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.04.2024 13:43, Oleksii wrote:
> On Thu, 2024-03-21 at 13:07 +0100, Jan Beulich wrote:
>>> + * If resulting 4-byte access is still misalgined, it will fault
>>> just as
>>> + * non-emulated 4-byte access would.
>>> + */
>>> +#define emulate_xchg_1_2(ptr, new, lr_sfx, sc_sfx) \
>>> +({ \
>>> +    uint32_t *aligned_ptr = (uint32_t *)((unsigned long)ptr &
>>> ~(0x4 - sizeof(*(ptr)))); \
>>> +    unsigned int new_val_pos = ((unsigned long)(ptr) & (0x4 -
>>> sizeof(*(ptr)))) * BITS_PER_BYTE; \
>>
>> You parenthesize ptr here correctly, but not in the line above.
>>
>> Instead of "_pos" in the name, maybe better "_bit"?
>>
>> Finally, here and elsewhere, please limit line length to 80 chars.
>> (Omitting
>> the 0x here would help a little, but not quite enough. Question is
>> whether
>> these wouldn't better be sizeof(*aligned_ptr) anyway.)
> 
> I'm unsure if using sizeof(*aligned_ptr) is correct in this context.
> The intention was to determine the position for the value we're
> attempting to exchange.
> 
> Let's consider a scenario where we have 0xAABBCCDD at address 0x6. Even
> though this would result in misaligned access, I believe new_val_pos
> should still be calculated accurately. Let's say we want to exchange
> two bytes (AABB) with FFFF.
> 
> With the current implementation, we would calculate:
> 0x6 & 2 = 2 * 8 = 16, which is the value on which the new value should
> be shifted.
> 
> However, if this value is then ANDed with sizeof(*aligned_ptr):
> 0x6 & 4 = 6 * 8 = 48, which is not the expected value.
> 
> Am I overlooking something?

I'm afraid I can only reply with a counter question (feels like there is
some misunderstanding): Do you agree that 0x4 == 4 == sizeof(*aligned_ptr)?
It's the 0x4 that the latter part of my earlier reply was about. I'm pretty
sure you have, over the various reviews I've done, noticed my dislike for
the use of literal numbers, when those aren't truly "magic".

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 13:21:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 13:21:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700124.1092758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rre50-0001Hw-DI; Tue, 02 Apr 2024 13:21:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700124.1092758; Tue, 02 Apr 2024 13: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 1rre50-0001Hp-9d; Tue, 02 Apr 2024 13:21:34 +0000
Received: by outflank-mailman (input) for mailman id 700124;
 Tue, 02 Apr 2024 13:21:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mCFD=LH=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1rre4z-0001Hj-5V
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 13:21:33 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eab104ae-f0f3-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 15:21:31 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-515c198e835so5926513e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 06:21:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eab104ae-f0f3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712064089; x=1712668889; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=coKFj95IyIApxyMgjspaqqhmG31T0WS5w5i6HpGvtaw=;
        b=Vy593+VVd9w7RradSLtl1ryBARB5Mz5wNxtemxNtAM4xLw8JWee4Es+CmbplNfrs8t
         b9OjdHVSzdv5rlSCTeopKX2yPX+CEaV98dL0iF4xTj4myLRmUSDtF3AYb0JnALl4qUCg
         p/gZMRT36HANY1Xj2JSB0taO+MGcduD822fWM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712064089; x=1712668889;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=coKFj95IyIApxyMgjspaqqhmG31T0WS5w5i6HpGvtaw=;
        b=ONwbYYPvz8sGY5ZrVCuNer8mkMV3KDGTehK86eyewW+epuddHCBY7OSfCk/Y4dIPTz
         aDUOa2lxo1QqZIo4ckw0cYZKKv2NoSK2jMbmZ1Qbs9DcTH6gPjqNiYjXtse9vx/eOek1
         Cd2zZjw/6doQbC/EbSGai1HkQ981OXwYUaq4dPoHPJ6P18uFO2C8IV+h7Ey317NG9YgW
         mtswxWX9ini2/qRq3tFW1kKFuZkYOUhdl8y52HmdunW5rfViyIxofiNIjK56wJuegjVV
         RKykwhzS3a2g0/L7smmBbMXJJcKXdzit6iIbpaZFGHe8qspi5km/Oa72kEfXit7LJ7GY
         YmNQ==
X-Gm-Message-State: AOJu0Yx7SK3wImFT5Paf782RgAfjr/50nblexAccNUXoFFsA88R0Bga/
	HlvR8+p7OjLCh1qMVD4EEpZ2WQxPeFuVpRABOuQ5wqrgh51fWhS3YBjDDRKQEAiUSKOaOWyxcaa
	Mx3lbvcVE9uh04Efq9gtkIl8iV/je8O5oteVa+Pb4FTif3Luhcdb5eEMN
X-Google-Smtp-Source: AGHT+IGfoLcfGOfdNmZ3LGhzuMocCwlWR/wTZB2jd/h4tnp9fQRP+YzoprXPxYjMTooE6DglN9Ev1eGS/Mz0vIN/Xnw=
X-Received: by 2002:a05:6512:3e0a:b0:513:ca77:82cc with SMTP id
 i10-20020a0565123e0a00b00513ca7782ccmr8618613lfv.8.1712064089006; Tue, 02 Apr
 2024 06:21:29 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Tue, 2 Apr 2024 14:20:53 +0100
Message-ID: <CAO-mL=zMJ9ZWnCA0Gn7VGZjERQ3ZRWq=W-B8nau2nGfMiRNExA@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items - Community Call 4th April 2024
To: xen-devel <xen-devel@lists.xenproject.org>, xen-announce@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000dbcc2006151cfbb9"

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

Hi all,

*Please add your proposed agenda items below.*

https://cryptpad.fr/pad/#/2/pad/edit/YWBsde6D8Y8R8z3PLBG2akrt/

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 4th April 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=4&day=4=4&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

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

<div dir=3D"ltr"><div>Hi all,<br><p><u>Please add your proposed agenda item=
s below.</u></p><p><a href=3D"https://cryptpad.fr/pad/#/2/pad/edit/YWBsde6D=
8Y8R8z3PLBG2akrt/">https://cryptpad.fr/pad/#/2/pad/edit/YWBsde6D8Y8R8z3PLBG=
2akrt/</a>=C2=A0<br></p><p>If any action items are missing or have been res=
olved, 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/ur=
l?q=3Dhttps://meet.jit.si/XenProjectCommunityCall&amp;sa=3DD&amp;source=3Dc=
alendar&amp;ust=3D1699196661201312&amp;usg=3DAOvVaw1FcogEsMjFSd1Pmi7V0cBc" =
target=3D"_blank">https://meet.jit.si/XenProjectCommunityCall</a></b></p><p=
><b>DATE: Thursday 4th April 2024</b></p><p><b>TIME: 1500 UTC (4 pm UK time=
)</b></p><i>Note the following administrative conventions for the=C2=A0<spa=
n class=3D"gmail-il" style=3D"">call</span>:</i></div><div><div><i>* To all=
ow 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>ti=
me to sort out technical difficulties.</i></div><div><i><br>* If you want t=
o be CC&#39;ed please add or remove yourself from the<br>sign-up-sheet at=
=C2=A0<a href=3D"https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sR=
Cf+/" rel=3D"noreferrer" target=3D"_blank">https://cryptpad.fr/pad/#/2/pad/=
edit/D9vGzihPxxAOe6RFPz0sRCf+/</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 B=
ritish time<br>Further International meeting times:<br></i><a href=3D"https=
://www.timeanddate.com/worldclock/meetingdetails.html?year=3D2024&amp;month=
=3D4&amp;day=3D4=3D4&amp;hour=3D15&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&am=
p;p2=3D37&amp;p3=3D224&amp;p4=3D179">https://www.timeanddate.com/worldclock=
/meetingdetails.html?year=3D2024&amp;month=3D4&amp;day=3D4=3D4&amp;hour=3D1=
5&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37&amp;p3=3D224&amp;p4=3D1=
79</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=3DXenProjectC=
ommunityCall" rel=3D"noreferrer" target=3D"_blank">https://meet.jit.si/stat=
ic/dialInInfo.html?room=3DXenProjectCommunityCall</a><div></div></div></div=
><div><br></div><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartm=
ail=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kelly =
Choi</div><div><br></div><div><div style=3D"color:rgb(136,136,136)">Communi=
ty Manager</div><div style=3D"color:rgb(136,136,136)">Xen Project=C2=A0<br>=
</div></div></div></div></div></div>

--000000000000dbcc2006151cfbb9--


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 13:43:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 13:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700148.1092781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rreQN-0005RW-E5; Tue, 02 Apr 2024 13:43:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700148.1092781; Tue, 02 Apr 2024 13:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rreQN-0005RP-Ao; Tue, 02 Apr 2024 13:43:39 +0000
Received: by outflank-mailman (input) for mailman id 700148;
 Tue, 02 Apr 2024 13:43: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=h5be=LH=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rreQM-0005RJ-Hl
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 13:43:38 +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 01c76470-f0f7-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 15:43:37 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a4e65dec03eso277114866b.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 06:43:37 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 jx2-20020a170906ca4200b00a46d9966ff8sm6686696ejb.147.2024.04.02.06.43.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 06:43: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: 01c76470-f0f7-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712065417; x=1712670217; 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=HeeIdYHN14sQ1IAtnk9ABfVG3UrustBm8x+heZnOYg4=;
        b=aS5IxyyMW/No3di0dak34y5aSOncYlXQ7SskVTMDFgjeqFv1B3R6jcrroMggU7gmln
         t0XfGpDeSmIqKEN3EYaQJqx+Fqo65Xo5hlsGPLfdE7pgXqPgYBxElInRl2Z0GcCsfCr0
         E342poPvkfcPnwFlqvTbu4zQOO7NLerX8gpJ0oTuvwlBKshYkXaCSGJMpUiwgtexD8LV
         G5SQ9VxTjj5TVCAzoJR2ewS+jJu9akjALk9WKwCnLXIwRhQrvtYxT/7ZdFMqUoYAAHFF
         AMGpyAGsCJgpwxtCI0ZOaRg8s2mXpwKWZLX6E9tAq7b0Ixp4Jis9y/CuJgog6Ut0v6YA
         JE/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712065417; x=1712670217;
        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=HeeIdYHN14sQ1IAtnk9ABfVG3UrustBm8x+heZnOYg4=;
        b=jjoVqTKMRo0OiF74p9BYDYYF7OQgUX1EXolNQ7/kdfnyMh0Cp2z84ltDcVavXADaxr
         6Bu4rqa0Xk4JJrFxzyOzuh+zaEucX+jnpcT3mXNuQk0cLxD2sc0qsyLL9/dF99AR3ca4
         BGp4QNVDQWDbmMB3/iVMsIOqMiWMwn0ZrKgkgYwtbWr6vPXbwTuM+UkOgdFbBtlsVlUd
         88QmS6961AR2OnXD8Hw89yzyoQxhfLgIN+mIudvjzwVXcw2VDDwFvxwBs7fhsRKFNxh0
         b27kvKFAGYNIp12fW9riGS7ksdpt5WXYoHxU83fkmia+pUzdunmZv+TseyO4VabBHOdr
         XgKQ==
X-Forwarded-Encrypted: i=1; AJvYcCXAUPbRD+Rzd2XITdfeUdkJBeXnPnBsPVyF0ONNOoWf3ITA+f4MGv2DjapXUEVbZwvgDnI06oThmmXmmlNa9eWcmJPkyupulCtnBidGWks=
X-Gm-Message-State: AOJu0Yztwd8RLG25PUAL3p+YNHJZc7ekrfTZ48HSWgknhhBAv9sMAvL4
	XFtD1ku1BDkmwqCs7fSbLMgtJIUHpgqigZ8IG1XxKZvoT8ok9J4m
X-Google-Smtp-Source: AGHT+IGVuumwOVC604wtGQQS9FmWZnT87ZOhHWuY6AYGcUF5EPMcF7M2YA3FSz3ksBVjsaBaXKYylQ==
X-Received: by 2002:a17:907:2d91:b0:a4e:8003:30ba with SMTP id gt17-20020a1709072d9100b00a4e800330bamr2430413ejc.15.1712065416664;
        Tue, 02 Apr 2024 06:43:36 -0700 (PDT)
Message-ID: <2b504d9a4ab2905440932adecf350d21c0143874.camel@gmail.com>
Subject: Re: [PATCH v6 08/20] xen/riscv: introduce cmpxchg.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 02 Apr 2024 15:43:35 +0200
In-Reply-To: <76fa325b-2074-438f-a953-f2ed4a23fcb3@suse.com>
References: <cover.1710517542.git.oleksii.kurochko@gmail.com>
	 <bf65ce1ff5f683cc6b638fa7de0c54d5e0aead33.1710517542.git.oleksii.kurochko@gmail.com>
	 <6f73368c-ea73-4d86-a6a1-8f9784c4b01f@suse.com>
	 <87a51cb7a2d663f292ccddbba78e41fd6a1c12db.camel@gmail.com>
	 <76fa325b-2074-438f-a953-f2ed4a23fcb3@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.2 (3.50.2-1.fc39) 
MIME-Version: 1.0

On Tue, 2024-04-02 at 14:54 +0200, Jan Beulich wrote:
> On 02.04.2024 13:43, Oleksii wrote:
> > On Thu, 2024-03-21 at 13:07 +0100, Jan Beulich wrote:
> > > > + * If resulting 4-byte access is still misalgined, it will
> > > > fault
> > > > just as
> > > > + * non-emulated 4-byte access would.
> > > > + */
> > > > +#define emulate_xchg_1_2(ptr, new, lr_sfx, sc_sfx) \
> > > > +({ \
> > > > +=C2=A0=C2=A0=C2=A0 uint32_t *aligned_ptr =3D (uint32_t *)((unsigne=
d long)ptr &
> > > > ~(0x4 - sizeof(*(ptr)))); \
> > > > +=C2=A0=C2=A0=C2=A0 unsigned int new_val_pos =3D ((unsigned long)(p=
tr) & (0x4 -
> > > > sizeof(*(ptr)))) * BITS_PER_BYTE; \
> > >=20
> > > You parenthesize ptr here correctly, but not in the line above.
> > >=20
> > > Instead of "_pos" in the name, maybe better "_bit"?
> > >=20
> > > Finally, here and elsewhere, please limit line length to 80
> > > chars.
> > > (Omitting
> > > the 0x here would help a little, but not quite enough. Question
> > > is
> > > whether
> > > these wouldn't better be sizeof(*aligned_ptr) anyway.)
> >=20
> > I'm unsure if using sizeof(*aligned_ptr) is correct in this
> > context.
> > The intention was to determine the position for the value we're
> > attempting to exchange.
> >=20
> > Let's consider a scenario where we have 0xAABBCCDD at address 0x6.
> > Even
> > though this would result in misaligned access, I believe
> > new_val_pos
> > should still be calculated accurately. Let's say we want to
> > exchange
> > two bytes (AABB) with FFFF.
> >=20
> > With the current implementation, we would calculate:
> > 0x6 & 2 =3D 2 * 8 =3D 16, which is the value on which the new value
> > should
> > be shifted.
> >=20
> > However, if this value is then ANDed with sizeof(*aligned_ptr):
> > 0x6 & 4 =3D 6 * 8 =3D 48, which is not the expected value.
> >=20
> > Am I overlooking something?
>=20
> I'm afraid I can only reply with a counter question (feels like there
> is
> some misunderstanding): Do you agree that 0x4 =3D=3D 4 =3D=3D
> sizeof(*aligned_ptr)?
> It's the 0x4 that the latter part of my earlier reply was about. I'm
> pretty
> sure you have, over the various reviews I've done, noticed my dislike
> for
> the use of literal numbers, when those aren't truly "magic".
Yes, it was misunderstading. Thanks for clarifying.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:27:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:27:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700158.1092816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrf6M-00032d-UX; Tue, 02 Apr 2024 14:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700158.1092816; Tue, 02 Apr 2024 14:27:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrf6M-00032W-Pt; Tue, 02 Apr 2024 14:27:02 +0000
Received: by outflank-mailman (input) for mailman id 700158;
 Tue, 02 Apr 2024 14:27:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrf6L-00032Q-Au
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:27:01 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 102196d3-f0fd-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 16:26:58 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-41551639550so23736175e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:26: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
 m4-20020a05600c3b0400b004161b8a0310sm2033817wms.1.2024.04.02.07.26.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07: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: 102196d3-f0fd-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712068018; x=1712672818; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wzxpG2Ya5qQeR15yEUxgi6nrHt/+Xq+Oi+qPIO5Dgog=;
        b=bYlzPQkni7Eq3pFhgjWhKiILP7XZY/Yvkl38E7OXw8jCA+q+or2tos5jG2uFUoHosk
         N9v/QC0c6a/dGC5cQVE/8cJq1ImeTwPJKNhFX/Y++MeyOaYSHlXqVbZHHBPUONwts8NX
         xoMRduaANAYQR5He3S9ntYXOp88xKYRl04+KtdlbH4sFb9UYhZ22/chMXD6W/R32Wfri
         dXnqIIPT+ZVbVf6/eBE0oJU4KLg5p4mk3Sl7xBuhYS3xiawsUuTmQAqRTNyEvr3ctV6d
         8qquAQ/8BEbH0NYsAA9dApKNFcaCWzCXy/q+hzBgwNzvhOtRTTDRKRntCkkOLBlNMVqP
         tSkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712068018; x=1712672818;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wzxpG2Ya5qQeR15yEUxgi6nrHt/+Xq+Oi+qPIO5Dgog=;
        b=T/p0tSu/Y4jBPeC5l7Lco0bZT+6kMmKOARJ5NDnVW5JOHE9SFj1UotuGkvvRvjRhHP
         IStLEXAILhvJaCbyKBVRtfOCrDWG1VapvcAyL9E99TVruSpzDZB2DyNkZGA1Zky/pBxG
         QgSIRvuoHSvvo9EHiA302ER/7cJeoknLEohohbaBBqFVMoIeT7+6lDggcqo10H/Jhol4
         Ppv5n67fgKnsliGfjs1pJPstMmlRYPX38hPh8sWaePIM3Rmv/19lWC72pxfze4FR1+6a
         618y8mUV4RZ+3Q+dVrp1Ksl9QscnBDsAekiDvTzHOHapB3GHQqmmhxPBbaEkcccIO9Wb
         d1hQ==
X-Forwarded-Encrypted: i=1; AJvYcCUYY6GU545rZCrcZHY6jtlgZ158T1K3j9S8ebHVnx85G9GYk8wiWjzh2z7MCnXo2yNuYUk+IEy8vibsCsnIkt4RGRT+nJ9PTyDPrZbtxl0=
X-Gm-Message-State: AOJu0YxBFyixncnXk1TBZXwUpU7rlpr/WQx3OLg7rnS8PyM4frpEr3i9
	99DVCzEWMauIw1oG7KVuvD9xuuvMiFqtPGjd16rFkXbK0CFWAuDLiqfx48uLQQ==
X-Google-Smtp-Source: AGHT+IFo50HgriDw0bLwAotDWVXiiOhMwczpWRUiMXC10HqViFJs07SlpQ5SsdaGF2QZOXCAXMlXkQ==
X-Received: by 2002:a05:600c:1c99:b0:414:8a28:6c89 with SMTP id k25-20020a05600c1c9900b004148a286c89mr10739677wms.31.1712068017862;
        Tue, 02 Apr 2024 07:26:57 -0700 (PDT)
Message-ID: <f3ef0c54-e3e0-416c-953d-00c4df0c5d82@suse.com>
Date: Tue, 2 Apr 2024 16:26:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: preparations for 4.17.4
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>,
 Kelly Choi <kelly.choi@cloud.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b726b105-9204-4a72-8fbc-ceaa8e74f3ec@suse.com>
 <6feb56fe-769d-4809-b16f-6fc4d5477747@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6feb56fe-769d-4809-b16f-6fc4d5477747@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2024 13:33, Andrew Cooper wrote:
> 1) livepatching of .rodata:
> 
> 989556c6f8ca - xen/virtual-region: Rename the start/end fields
> ef969144a425 - xen/virtual-region: Include rodata pointers
> b083b1c393dc - x86/livepatch: Relax permissions on rodata too
> 
> And technically "x86/mm: fix detection of last L1 entry in
> modify_xen_mappings_lite()" too but you've already backported this one.
> 
> Patching .rodata worked before Xen 4.17, and was broken (left as a TODO)
> when I adjusted Xen to stop using CR0.WP=0 for patching.
> 
> 
> 2) Policy fixes:
> 
> e2d8a6522516 - x86/cpu-policy: Fix visibility of HTT/CMP_LEGACY in max
> policies
> 
> This is a real bugfix for a real regression we found updating from Xen
> 4.13 -> 4.17.  It has a dependency on
> 
> 5420aa165dfa - x86/cpu-policy: Hide x2APIC from PV guests
> 
> which I know you had more concern with.  FWIW, I'm certain its a good
> fix, and should be backported.
> 
> 
> 3) Test fixes:
> 
> 0263dc9069dd - tests/resource: Fix HVM guest in !SHADOW builds
> 
> It's minor, but does make a difference for those of us who run these
> tests regularly.
> 
> 
> 4) Watchdog fixes:
> 
> 9e18f339830c - x86/boot: Improve the boot watchdog determination of
> stuck cpus
> 131892e0dcc1 - x86/boot: Support the watchdog on newer AMD systems
> 
> You took "x86/boot: Fix setup_apic_nmi_watchdog() to fail more cleanly"
> and the first of the two patches is in the same category IMO.  The
> second I also feel ok to take for the in-support releases, particularly
> as all it is doing is dropping a family list.

I've pushed all of the above.

> 5) Ucode scan stability  (For 4.18 only)
> 
> Xen 4.18 had "x86/ucode: Refresh raw CPU policy after microcode load" in
> it's .0 release, so should also gain:
> 
> cf7fe8b72dea - x86/ucode: Fix stability of the raw CPU Policy rescan

This already is in 4.18.1, ...

> I've only noticed because I've got them both backported to 4.17 in
> XenServer, but I don't think upstream wants to take that route.

... while, as you suggest, not (and not intended to be) in 4.17.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:34:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700168.1092853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfDV-00059x-0m; Tue, 02 Apr 2024 14:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700168.1092853; Tue, 02 Apr 2024 14: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 1rrfDU-00059q-U3; Tue, 02 Apr 2024 14:34:24 +0000
Received: by outflank-mailman (input) for mailman id 700168;
 Tue, 02 Apr 2024 14:34: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfDT-00059Z-MF
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:34:23 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18d098f0-f0fe-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 16:34:22 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4156a2aeb43so14469405e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:34: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
 j7-20020adfc687000000b0033ec9ddc638sm14297152wrg.31.2024.04.02.07.34.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07:34: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: 18d098f0-f0fe-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712068462; x=1712673262; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=NCuwUsr7wwEHSPixRvAPKuDTqGjlvcbwydfybkudV/c=;
        b=cm+X/Sff/NBdLNE8IGYOG3jVOWuxUZrBQKFL6o2+8tWMoyeo/P8ZHkkVX3fCINnY9b
         XdIbJX5e88EJsedddI+LMf62VbsMIn9LUr5dssmZdjVGYgpWHo/FE7HP+9lha9RFkBSo
         tH8Ge2atoWFBYX+p6xfQFeeqA1dvl5wD7ngcgd03r0PoGTXa7jYYbyfVKGxksH3k9Gia
         RF5XDp5RcMLSjCpJHFLswJXbwdAQEIrXu8qTxxgO4kCnnn/InHzYyD4hv2Boxf1bHS/d
         dStlWktr2gRHvnm4Qvx3FypT3d/HwRtLftzaFfsFBkDqfWKsuB1semUI/tbPTsTzcMzQ
         yYRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712068462; x=1712673262;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NCuwUsr7wwEHSPixRvAPKuDTqGjlvcbwydfybkudV/c=;
        b=CSHbTzM+SEMlrMQRCTYwo/UjaP+WQXrTD5j+TYcrRsEXlF4XV+qGCZ4FLnBoMvLgTV
         /mwM45DHk+vyJKLVQK5sDzqhGoPfgmgeUyuVtHsiK2YgaSa0Z+mSETh8FrxRlOHIgBKN
         7RiUsiKF2faQulDMScEsoNlJ9eiuf32k01ZIXv1/CxqsTUCkp8mKmoZgtezN6FtuTiuY
         r0QGrS6udCq+XCVC/+yDETbmiAMKIauPkQlllXecOZenFfLFwl8iLhqXHBGQuJOat9+o
         9fJKbZr3IwKMQi52lt87Hs1dGQzkRwUfaF8OixgG0/dycp263/Qri+dpiRwJsnbMUosV
         GSiA==
X-Forwarded-Encrypted: i=1; AJvYcCUAaxZr7l1fUs9FwBeYmVbcVBPhhWJob88eI3vm3cQOu1MP0SReeVBmXVhgvCWhv4I6hqHv0WfV1qvmDjVfZnY2dc/J1uD3qsYBXy1XxhQ=
X-Gm-Message-State: AOJu0Yz4REPBe27krDmZz0oSNtX1/GsDaJNNnfT47qeNMqNmwL5HHNcz
	yeT8FJaeLFPqfBrBMnjyGl6tbWlskJL6alIyM/qM4YsORDL52S0kgmsI1tGzOw==
X-Google-Smtp-Source: AGHT+IHWVV7ZCmImhgx4G7BkQx41Yrh1MTFJCaii7Lke5l7MqA4SPABoiltTosTW8T0/9HTLKivYSg==
X-Received: by 2002:a05:600c:3556:b0:414:f58:a086 with SMTP id i22-20020a05600c355600b004140f58a086mr9862237wmq.6.1712068461963;
        Tue, 02 Apr 2024 07:34:21 -0700 (PDT)
Message-ID: <46a99837-fbb4-4dc9-a78c-634bee5c00a5@suse.com>
Date: Tue, 2 Apr 2024 16:34:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/4] x86/PVH: Support relocatable dom0 kernels
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-5-jason.andryuk@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240327215102.136001-5-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2024 22:51, Jason Andryuk wrote:
> v6:
> Select alignment from, in order, Note, PHDRs, then default

The comment in the public header also needs to reflect this change.

> +static bool __init check_and_adjust_load_address(
> +    const struct domain *d, struct elf_binary *elf, struct elf_dom_parms *parms)
> +{
> +    paddr_t reloc_base;
> +
> +    if ( check_load_address(d, elf) )
> +        return true;
> +
> +    if ( !parms->phys_reloc )
> +    {
> +        printk("%pd kernel: Address conflict and not relocatable\n", d);
> +        return false;
> +    }
> +
> +    reloc_base = find_kernel_memory(d, elf, parms);
> +    if ( !reloc_base )
> +    {
> +        printk("%pd kernel: Failed find a load address\n", d);
> +        return false;
> +    }
> +
> +    if ( opt_dom0_verbose )
> +        printk("%pd kernel: Moving [%p, %p] -> [%"PRIpaddr", %"PRIpaddr"]\n", d,
> +               elf->dest_base, elf->dest_base + elf->dest_size - 1,
> +               reloc_base, reloc_base + elf->dest_size - 1);
> +
> +    parms->phys_entry = reloc_base +
> +                            (parms->phys_entry - (uintptr_t)elf->dest_base);

I think this would be easier to read as

    parms->phys_entry =
        reloc_base + (parms->phys_entry - (uintptr_t)elf->dest_base);

Everything else looks good to me now.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:37:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700172.1092866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfGF-0005j7-EN; Tue, 02 Apr 2024 14:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700172.1092866; Tue, 02 Apr 2024 14: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 1rrfGF-0005j0-Bg; Tue, 02 Apr 2024 14:37:15 +0000
Received: by outflank-mailman (input) for mailman id 700172;
 Tue, 02 Apr 2024 14:37:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfGE-0005is-3i
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:37:14 +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 7e85de9e-f0fe-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 16:37:13 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41551500a7eso25584945e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:37: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
 l41-20020a05600c1d2900b0041562a58b75sm7823558wms.13.2024.04.02.07.37.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07:37: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: 7e85de9e-f0fe-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712068632; x=1712673432; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=q5q0QiQ4WmL4gl68yAGoMWoGDDZ7DDVhGUn1x7Lp9/Y=;
        b=MWvYyDoQFdSPeQ948BCUSNMqbFzQkC89RvtLCPC5icfkqdguPc5Pn/xjAFxCi6DYWW
         dtXRBWwJs1UYiztUeLBTrnpKakZ7hj7E9dW7n91urxri9iNL3mk1K+CWCK+fVHWOW+OA
         KgZJdPPRjJSqRktUZb8INH+MXT8I+1IKjZ5uiW+zpjhm9owvCX81qWkGwLA6C3EwMfFD
         rmfKCiSMoXkrYZTGKtSTA7qVfPrk9WEjrbwU5wqcjg+LXfi+iMrS0KvV0isw9KoHG0/t
         LBfy3QcPZSOFxCIpBm8iHAZsGzfcCsX6TgQsXASO8w7Wd4fK6kUqE6k37cPVC2tH8sts
         5WJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712068632; x=1712673432;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=q5q0QiQ4WmL4gl68yAGoMWoGDDZ7DDVhGUn1x7Lp9/Y=;
        b=goF5CW3zpILIs1xzaNSc3CM/l7IrvCLQMDN5nQenT+IQx0gPM3x1xB3HoVHYNRSpl/
         kM1zyDJ2MwmhNxg5AUOBacPpWrXrdI8GJJGLA8FlyWJ2M4z09CFCtO5HtHJpZ2nWECxu
         h+Xe+xiwTcted2GZmldMf9jNiiVCWARcr8YUtzmSo75OrWnhUt9ExWX6E2wNA33fv0g8
         E9E3F2olJMBdJqipB76uQycopheVBW0xLZZ4TOOHE158hM3nl4Yw9gJkOtrDeVwIhkQH
         ycKvcxa59DB2XfdzzNZvTZjwiCwVCiEgXqGaxGFoZ2F9+3Z2UoTz9VwmJUCHNGrFI1Ln
         p51w==
X-Forwarded-Encrypted: i=1; AJvYcCW6AamTpi88wqiVOLXCP4WNWMcLonhEg22izvPFKw0yeJd/ls86C4xQ0LnfJrLATvODkqda1W2l33LdmNrUoQkxjrZxhl4FY3slYpz62Tc=
X-Gm-Message-State: AOJu0Ywhr4cwFFGxAS8KkIdn2aE6os4+RDeM4ozj5+A8RGoMPXpcCwrg
	9BOv6p8WxqbYbG2ho9rZ16WHWhMuOo+9tbc8r8ZmDZe/TpzXYh1+EBcVnyN/Pg==
X-Google-Smtp-Source: AGHT+IFlDUklR6p5lScuL8EjrjIDc7UBw4/OBqrXqMczj6SJ1AY93hRGrpiAFixNOWCxU3aMUsyJ2A==
X-Received: by 2002:a05:600c:3502:b0:414:8065:2d25 with SMTP id h2-20020a05600c350200b0041480652d25mr9619665wmq.38.1712068632681;
        Tue, 02 Apr 2024 07:37:12 -0700 (PDT)
Message-ID: <d8d0a23d-3f00-4bad-9c3d-f81c0d172d95@suse.com>
Date: Tue, 2 Apr 2024 16:37:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/8] xen/spinlock: add missing rspin_is_locked() and
 rspin_barrier()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@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: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-4-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240327152229.25847-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2024 16:22, Juergen Gross wrote:
> Add rspin_is_locked() and rspin_barrier() in order to prepare differing
> spinlock_t and rspinlock_t types.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:42:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:42:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700176.1092877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfL8-0007bU-0p; Tue, 02 Apr 2024 14:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700176.1092877; Tue, 02 Apr 2024 14:42: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 1rrfL7-0007bN-TP; Tue, 02 Apr 2024 14:42:17 +0000
Received: by outflank-mailman (input) for mailman id 700176;
 Tue, 02 Apr 2024 14:42: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfL6-0007aw-CW
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:42:16 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32b1bf8b-f0ff-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 16:42:15 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-341ccef5058so3844148f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:42: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
 ce8-20020a5d5e08000000b003433e4c6d43sm10732204wrb.32.2024.04.02.07.42.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07: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: 32b1bf8b-f0ff-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712068935; x=1712673735; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=BbtDSVkRJlTre2HCv5Rz7a7kCOdzj45aT4SH9es8O+U=;
        b=Ql1WcBZoO45o+QBS7rVMGsbgbDBjQhw6ov8o3nwuuoUso5ImZn1glLYvX11fDf8YcQ
         BWzV5ZaPfs4x2iLnJVXZI+aTF6jAmFVPkMHZP4k5ubo4XQqDuhYkqWjCoXvVyLYxeYel
         33NleS/QK1OC9FG9usjmNBRbWUa9o/3ILYBBg7F3bib4N4aJV3B9GLlkb+dvucY3OQxn
         tG3Gt31Noj2sraKFnMjE/ZBBqbeXXcV5DssWu3hq7+b/sO5/nHHRAlnFpnSbJcJTOxsF
         Fn1111YBD6quBi46yQoi4jHBfY5MZCNx/yF+qr3p7lyx6HkZawmQgsnkCXq+GY4H+d0K
         OTuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712068935; x=1712673735;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=BbtDSVkRJlTre2HCv5Rz7a7kCOdzj45aT4SH9es8O+U=;
        b=AIpgiTLPZ6VrC8rhIdcX5vDXLJoqMepO3kFDQSR/uADIAYCXDP0w+IWAiMbn5OZK7T
         8DyvLteLcCvDIVgZZhitACm6LwVeV1BTEfuwipzNCuaTJ1Z30+yBrnqVpfGmdWOw6Fjw
         GgMBOdKc7GI/hhM5LKgSheEqSyhKcIdlZxdn3jIqmTcTT7eVljbl8dLon6EceSoYO8a2
         AQ3ZcdpCKlQP7E22pqSudEsqfYK4BNYAOrSWFpX4Zu5kPuLBMA/wuOxA4TBD8Sh6uYTQ
         gHrtirq51a4wBWcpp1X214BTsYZQG2vGEMx6UzybIieBBxvinBVOnxZLzqIWOQXeZOLz
         QAFw==
X-Forwarded-Encrypted: i=1; AJvYcCWssLi2tOEPoAcz/VsuJhfYgQnHPq9ABPopWUufmu8G+aIARyzzy2dd9JjSJKxJ52bsmC/ECanvcrn+0dc2M4t4fWrEjYHz+X0bLr2GoeU=
X-Gm-Message-State: AOJu0YwHmiuZB5S1jcW2fMS4eWTKwp0cnB5ITp8ANpmnk1aJjp/5LPc4
	+tkwp0OoNiH0lczBZ+2YfQp0UWz6u3fIaAxwK9l5ym5uQWEcFxmXxqSXcMRYqA==
X-Google-Smtp-Source: AGHT+IEl5Vb2LDHpesJ16PkNSA0VtjulmPcX0CQ4/5ycXuFN1A2d3zYWFnhGWXfGz48OYt0KWjm4sA==
X-Received: by 2002:adf:f306:0:b0:33d:269e:132a with SMTP id i6-20020adff306000000b0033d269e132amr8985241wro.15.1712068934915;
        Tue, 02 Apr 2024 07:42:14 -0700 (PDT)
Message-ID: <6b5316a3-2920-4589-9e91-2de148c482db@suse.com>
Date: Tue, 2 Apr 2024 16:42:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 6/8] xen/spinlock: support higher number of cpus
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-7-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240327152229.25847-7-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2024 16:22, Juergen Gross wrote:
> Allow 16 bits per cpu number, which is the limit imposed by
> spinlock_tickets_t.
> 
> This will allow up to 65535 cpus, while increasing only the size of
> recursive spinlocks in debug builds from 8 to 12 bytes.
> 
> The current Xen limit of 4095 cpus is imposed by SPINLOCK_CPU_BITS
> being 12. There are machines available with more cpus than the current
> Xen limit, so it makes sense to have the possibility to use more cpus.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit I have to say that I'm not entirely convinced of ...

> --- a/xen/common/spinlock.c
> +++ b/xen/common/spinlock.c
> @@ -485,7 +485,9 @@ bool _rspin_trylock(rspinlock_t *lock)
>  
>      /* Don't allow overflow of recurse_cpu field. */
>      BUILD_BUG_ON(NR_CPUS > SPINLOCK_NO_CPU);
> +    BUILD_BUG_ON(SPINLOCK_CPU_BITS > sizeof(lock->recurse_cpu) * 8);
>      BUILD_BUG_ON(SPINLOCK_RECURSE_BITS < 3);
> +    BUILD_BUG_ON(SPINLOCK_MAX_RECURSE > ((1u << SPINLOCK_RECURSE_BITS) - 1));
>  
>      check_lock(&lock->debug, true);

... the two additions here: The two checks we had verify independent
properties, whereas the new ones basically check that struct rspinlock
and its associated #define-s were got right. We don't check such
elsewhere, I don't think.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:52:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700180.1092886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfV0-00017n-TY; Tue, 02 Apr 2024 14:52:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700180.1092886; Tue, 02 Apr 2024 14:52: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 1rrfV0-00017g-R1; Tue, 02 Apr 2024 14:52:30 +0000
Received: by outflank-mailman (input) for mailman id 700180;
 Tue, 02 Apr 2024 14:52: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfUz-00017a-M1
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:52:29 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f81d904-f100-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 16:52:27 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-416200b3caaso7805e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:52: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
 r7-20020adfab47000000b0033e43756d11sm14477935wrc.85.2024.04.02.07.52.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07:52: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: 9f81d904-f100-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712069547; x=1712674347; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nci9zZE4Di+fsi7I0pp4pMvTXlu98LFwAXsmUQYtoYA=;
        b=DT0K472S8uuEbUK1A22x4lwcrX4tjyABcRlSspwaxngc02GW+WIu9y4sIOpGhIBRBJ
         dGeyEK6qKJ3M5dTwtvX3+keG7zLLd/4IjQmcJ5Te2ss3aIAkTrvUpRWgE+/IkS0DOHUw
         jmjdWgGf+ScFS3AWDMMvL+1OTVieT1/SOwHmp0cVUhGhj9lkFVpMmBhUmmJKuwkNtYtr
         R3x2TZTYxSJRrmpZ1iZyTQEK2spUjW6pioXObZ+53Gb2R5fioV73n0fo7lBjiALzgkS5
         wqMRc3CdS6ITaSu/fD/Zg82/L2QsM2O+SFRpHN7tEED3XKUTVZzAAt4lvSpzon87Xkmt
         wFWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712069547; x=1712674347;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nci9zZE4Di+fsi7I0pp4pMvTXlu98LFwAXsmUQYtoYA=;
        b=k4x7e58wFj1J8f9w5ZZ4lkq3YoU/nTOSA1advKwl0wPh0XrhCMB82dx62H1jjRcDut
         9+2eDaIvB88fiKbit8huqCSD67dycUBNYxc68hNa1dcRhk4D6HlZDPE6/VGS93tQQAMn
         9no+ftGN9k1hYF4DEDH+MDdQn2UPmHp6v8Z/69PREopyYDOD9JsgVVWpTi98jocq8DDo
         qzz8xs9JjMb/r1cJmaRqCxoqw6rXm6RvMfJ1j3wlCDKtVSSbGk5RuoOXivR/4PeSOx34
         T56bSw1xSf5bdpcMcilbGfeeAcLEDiB5H9bdkD130WyP1xsfSYbYzzopKiF4qU6gaFDg
         fBpg==
X-Forwarded-Encrypted: i=1; AJvYcCV2AmvH9yofDF3zSkm3r44HAoL3xhwrPZ3IqQomfr+RautWHyP6Whto2/Zyo0oTQeZfEruxGTRwuKGt3N50rzk8r9Or4AK6vJV6T9AMd1c=
X-Gm-Message-State: AOJu0YzTB5IwVtCs0x3tRJJfHx4Jj0k8mahy/EYXF/r7MZYtSg+1x7si
	KuwtxMo1+Kn6R3yE3q9LkD8rluvteErA4o/HLgEk7nBOa3VvnVjqPs1XlX3OYQ==
X-Google-Smtp-Source: AGHT+IF5ISvCldfn4cXBSMbt2GUj6XT+f6uJxOH6foQEVrwStluaCAWKKV7I5rpcoiiZdLvybIW4Fg==
X-Received: by 2002:a05:600c:154b:b0:413:133c:b9c8 with SMTP id f11-20020a05600c154b00b00413133cb9c8mr8685755wmg.33.1712069547008;
        Tue, 02 Apr 2024 07:52:27 -0700 (PDT)
Message-ID: <7e94482d-2c03-41ac-827f-af92a94796af@suse.com>
Date: Tue, 2 Apr 2024 16:52:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 7/8] xen/rwlock: raise the number of possible cpus
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-8-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240327152229.25847-8-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2024 16:22, Juergen Gross wrote:
> @@ -36,14 +36,21 @@ void queue_write_lock_slowpath(rwlock_t *lock);
>  
>  static inline bool _is_write_locked_by_me(unsigned int cnts)
>  {
> -    BUILD_BUG_ON(_QW_CPUMASK < NR_CPUS);
> +    BUILD_BUG_ON((_QW_CPUMASK + 1) < NR_CPUS);
> +    BUILD_BUG_ON(NR_CPUS * _QR_BIAS > INT_MAX);
>      return (cnts & _QW_WMASK) == _QW_LOCKED &&
>             (cnts & _QW_CPUMASK) == smp_processor_id();
>  }
>  
>  static inline bool _can_read_lock(unsigned int cnts)
>  {
> -    return !(cnts & _QW_WMASK) || _is_write_locked_by_me(cnts);
> +    /*
> +     * If write locked by the caller, no other readers are possible.
> +     * Not allowing the lock holder to read_lock() another 32768 times ought
> +     * to be fine.
> +     */
> +    return cnts <= INT_MAX &&
> +           (!(cnts & _QW_WMASK) || _is_write_locked_by_me(cnts));
>  }

What is the 32768 in the comment relating to? INT_MAX is quite a bit higher,
yet the comparison against it is the only thing you add. Whereas the reader
count is, with the sign bit unused, 17 bits, though (bits 14..30). I think
even in such a comment rather than using a literal number the corresponding
expression would better be stated.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:53:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:53:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700182.1092897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfWD-0001eN-7u; Tue, 02 Apr 2024 14:53:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700182.1092897; Tue, 02 Apr 2024 14:53:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfWD-0001eG-4q; Tue, 02 Apr 2024 14:53:45 +0000
Received: by outflank-mailman (input) for mailman id 700182;
 Tue, 02 Apr 2024 14:53: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfWB-0001e6-4t
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:53:43 +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 cc15c6e0-f100-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 16:53:42 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4161b7d15c0so5202035e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:53: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
 r7-20020adfab47000000b0033e43756d11sm14477935wrc.85.2024.04.02.07.53.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07:53: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: cc15c6e0-f100-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712069622; x=1712674422; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KZ3AkmtJCFCb0vYZlX14FdmIoXjJYTOwkamGysIzNlI=;
        b=AJHlTymkjkHp15YrPsxV8AsPyy6uWhaSS7g6DV/eSlloZaVXYArTHYl+AZBtggOjbd
         /ZKWdNVWcd4dXnwHZR4IB0JEFXwJAoOav4OdD+Mdbigm2YMm12jjqQRJs6ULMCQnimdU
         7lXJe0ygNSkpgi3v45A4+LjeThblM3mntsxsvWHxdJggld2cTyC83lTCnjetFNJHTi78
         ucxTytke1fbXTCG1ytofWcBTyGFCYw2wh0LfHD2B8ylH5NqIeVnXyE83hxinU3t8Q+B0
         e+mIh3vIwc8X+sHQVhwOIA03e6URTNWMCapZJxpw96LB5BtN9qOGqkHALFWx9pe+EUcW
         pLIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712069622; x=1712674422;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KZ3AkmtJCFCb0vYZlX14FdmIoXjJYTOwkamGysIzNlI=;
        b=Vrmnt9gyKSFXVU9D4RPfcOqqq0014QvEo/n4Y0BQYraDX7HZv5qAcaahV6nLTO6EvF
         ONWZeaYP6KwuTgT0fden83+W9z+Go/33QEqUx0v+J82UpFy51kY2IJN3nvQWNu0h9aLt
         83agPUWyL7kDvK+IEuxQZvSX9b4bEtPzTQbBsOu2V0CMWJI96B0iKW9ELk0ip+4lp+4F
         yce8njgRhUA1wLzwMoUGkU9+eMWNQeHg64pgdeLu5XSueK5Ejz1PHqWmD+mkvtcw399o
         XbMCiby7KMD0GmImUbcjn+a4RhvlDa21cy8xDpa6hOarBjP35zOioVWtzXBhxyml3oXQ
         uCAw==
X-Forwarded-Encrypted: i=1; AJvYcCUv6oZzfycZ7aDwVvNrK+a3vMavf8mwoWUz+YBdZzXf+lZuHrt7+1sliQlnwcc/UXlZVYx2PPK9qJ18HLmJKhyCkhW3hHLXbL6oKx9XjsQ=
X-Gm-Message-State: AOJu0Yz8Ef6RC484RonjEbozJXt6TYNabaiCrq/LJEvHVyGxcXlD5GaB
	zEqKgomeOgdwn+X3VgfaM+Y2d7HZ4Efq54s6QmO3hArPnxrIKtgdqUie1O8bpA==
X-Google-Smtp-Source: AGHT+IG8aHMl2FHyQdVYGLFQqXVKMyTP7Bi6kHBf6o18hiow6oX6yT0beIaYaNRtYQDIGrh3COCk7Q==
X-Received: by 2002:a05:6000:52:b0:343:826a:7a36 with SMTP id k18-20020a056000005200b00343826a7a36mr109489wrx.58.1712069621840;
        Tue, 02 Apr 2024 07:53:41 -0700 (PDT)
Message-ID: <86a662e6-712f-4eb3-954e-49cbbb968fe9@suse.com>
Date: Tue, 2 Apr 2024 16:53:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 3/7] x86/vPMU: address violations of MISRA C Rule
 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1711700095.git.nicola.vetrini@bugseng.com>
 <b7d750f92da63893e9699e2924eb12d3efa251b2.1711700095.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b7d750f92da63893e9699e2924eb12d3efa251b2.1711700095.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 10:11, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:55:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:55:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700185.1092906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfXy-0002G1-NA; Tue, 02 Apr 2024 14:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700185.1092906; Tue, 02 Apr 2024 14: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 1rrfXy-0002Fu-KL; Tue, 02 Apr 2024 14:55:34 +0000
Received: by outflank-mailman (input) for mailman id 700185;
 Tue, 02 Apr 2024 14:55:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfXx-0002Fo-Ek
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:55:33 +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 0dbd65b4-f101-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 16:55:32 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4155819f710so24768565e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:55: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
 di6-20020a0560000ac600b00341c9956dc9sm14412688wrb.68.2024.04.02.07.55.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 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: 0dbd65b4-f101-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712069732; x=1712674532; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ieHwwz3BalsogdGLLvzCYVq9qVeE0Nj7lICPmpVo6zk=;
        b=WUO2/ty6ZLLK7jCpIUeAnYRW5DeP7jyJfr9rIoDjjYyMLS0RFowBL1vBeHqwCxV0FH
         4dk+EopmGwyyOEc1kQ+H2Edd1l0qeHNVI94Wz82kpdq/K4S+36plZ42YLWhm8AXGi/mH
         VSvcrbZcM1erneBVHDvt1q6bxs3xNVqxzpdpao+ETL71PHcUAeS6GFF/xyc//ECBgxiB
         7omW3omQ+3SaM/hmovO8siS9bv1CZqzpPhefVMOmtBrSR8F1XaZ0+kTiKb0kVuBS1Vwt
         EoFNwthyZtLgWrN69SOc2IxWlML/xPyCp8LVjw/IhXAOXXsunUxm2jbsK4LqIWmSWQ7y
         L/Nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712069732; x=1712674532;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ieHwwz3BalsogdGLLvzCYVq9qVeE0Nj7lICPmpVo6zk=;
        b=XBeWAkDPA82Fxr5UoY/dPC/RbyxZlow0+HR5JmmUYkwJ95auOqMUxEDBbXvo0MNm0G
         cQHFBy0n3+d3hB/tlFlVsmw6XFq4vodRYaG3LJ+K5CnhM57ZVJy4zGo1WAjgFrtzl2WN
         Auza279Ly/4EDb/mKyzQjlpHZbvC1DQOg7NzA3p180BACmYkL1fvMko8dQdgQdqC5kdH
         03gi1oZa0W2Hr9q6neLy1sD0ijwgPlqPWeFd4hO/hOOFHrzE6dUYUnLUJgTq/eOvUx2K
         IUgGfSSL5aQJYRGQnuYwFKqMhK4JfG9bHXLiTJjZ9YHYbXH38gwzoVjxkL4UL5Z8MCuc
         RiVA==
X-Forwarded-Encrypted: i=1; AJvYcCX8Wzg7ZO3Z2hizQqczAXOtSlHapnRO2nr8zzpNYoZWRhE6ZGup2jwQHxeu/cuBe6IxbznkV9JBKDbEL0T258I3gQZMDzjzz1OISixsO6M=
X-Gm-Message-State: AOJu0YyuGXklVOUvuBXD8NfUQdlS1vcQ5U/k/Q3IKtjkbBiLwDPOr6zv
	bqQ7E/OQzaUaaRGeOa3ENkl6Wwmdhy3O6Rk3rU2zgAUnRRmVmPOSzWPL4zduqA==
X-Google-Smtp-Source: AGHT+IFWcVfCnyl3l0VSBeBS6iGfe0EjGZa/2ggN8KeqC00NvOC2BKyx3OKacn4lYD4UdaZfHY0EoQ==
X-Received: by 2002:adf:a35e:0:b0:343:65a9:30ff with SMTP id d30-20020adfa35e000000b0034365a930ffmr1642051wrb.37.1712069731936;
        Tue, 02 Apr 2024 07:55:31 -0700 (PDT)
Message-ID: <71cd43e8-9841-4403-9af9-36efcb798fc9@suse.com>
Date: Tue, 2 Apr 2024 16:55:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 4/7] x86/hvm: address violations of MISRA C Rule
 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1711700095.git.nicola.vetrini@bugseng.com>
 <ae50d853bbf20a74d2693a5d52f36d216c59213f.1711700095.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ae50d853bbf20a74d2693a5d52f36d216c59213f.1711700095.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 10:11, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
albeit once again ...

> --- a/xen/arch/x86/hvm/domain.c
> +++ b/xen/arch/x86/hvm/domain.c
> @@ -132,9 +132,9 @@ int arch_set_info_hvm_guest(struct vcpu *v, const struct vcpu_hvm_context *ctx)
>      s = (struct segment_register)                                           \
>          { 0, { (r)->s ## _ar }, (r)->s ## _limit, (r)->s ## _base };        \
>      /* Set accessed / busy bit for present segments. */                     \
> -    if ( s.p )                                                              \
> -        s.type |= (x86_seg_##s != x86_seg_tr ? 1 : 2);                      \
> -    check_segment(&s, x86_seg_ ## s); })
> +    if ( (s).p )                                                            \
> +        (s).type |= (x86_seg_##s != x86_seg_tr ? 1 : 2);                    \

... addressing the style issue (blanks around ##) while touching code would have
been nice.

Jan

> +    check_segment(&(s), x86_seg_ ## s); })
>  
>          rc = SEG(cs, regs);
>          rc |= SEG(ds, regs);



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:56:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700188.1092917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfZ6-0002n1-1T; Tue, 02 Apr 2024 14:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700188.1092917; Tue, 02 Apr 2024 14:56:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfZ5-0002mu-TP; Tue, 02 Apr 2024 14:56:43 +0000
Received: by outflank-mailman (input) for mailman id 700188;
 Tue, 02 Apr 2024 14:56:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfZ5-0002mm-4o
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:56:43 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3756d458-f101-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 16:56:42 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3436b096690so543765f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:56: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
 di6-20020a0560000ac600b00341c9956dc9sm14412688wrb.68.2024.04.02.07.56.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07:56:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3756d458-f101-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712069802; x=1712674602; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KZ3AkmtJCFCb0vYZlX14FdmIoXjJYTOwkamGysIzNlI=;
        b=IMVyuj1tkzTbXj2+jneg5carOnzwS7TtakOn3W6wyB5RdelP3d2ha68Ojw9JWSLaiQ
         PCh16f9J2vXohECTafAbFsJNbbDTHnFbclEmaXaxXTD4oXCtpDTvv79/75+hs1vp80ch
         yTDuuTAgJcqQBzh6Ai2a8jHA9dZcViNKv+6DBRDL05w0g843IU8rKAlzlAUan2bZaY1I
         iiUYOJtfer6YlcSJdhV2HGvg6tVC2Co9JULOmfV3pxPfXkcU3ixiKGNjTV3d99mX8Obo
         EIPRCB5AOy7QgaOyg1XbEreM+aZI9Bo/zJ0Aaf/I2P1meriDjaDxAeEQYoOh31DFrASS
         uUJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712069802; x=1712674602;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KZ3AkmtJCFCb0vYZlX14FdmIoXjJYTOwkamGysIzNlI=;
        b=QVIELgVBhbvw3VCllTEDqKokrgnK6w1ZDghImx/dFITO3HjmY4HYMjfFxk3D/wFAbJ
         Imgl+npL6ynlZVSD315+2i8yUFaaYFAvv9VD0h2dSiMEQ2OCXB0Ka0HXbVK3eNQcMzme
         zD05jjK3ZF1trUQiBpjGjwcailw0nURXeIfIQ9zz8/NCMZBTWmE9IMH0pd9NVkbYKRLs
         x4+M+zD+gVbzJKIbBHJERCIV/xza/8+A8tZGncRP9p2x0yjRfKY46HKnoC0qt6du1LW0
         tM7KDi6Lqi7aoEBko86B9tVSKkpn7An3cC8m1Ko2enbE8t+LLXbzC2inwWC1mlQo5D6p
         8u/g==
X-Forwarded-Encrypted: i=1; AJvYcCVvBMBt19IqR8FqYOpqQakr0Fxr/yyJz/Z2fvX5Y1kPqz6o1IFimLEW0O9lZwbjil2E9OYBmbBO6iMu4vv6SCH9VfJ2RKreViKvg/8zG+I=
X-Gm-Message-State: AOJu0YxEaMLgPeXIk1PUvICgThdyk9/zimFF34sUqyRfic5AtZVXke9G
	2NKMM1vOtDlhupwYYnW7bsIOsT+MOLHGwCKkRMuTMsTv5dRI64jUffiru7P3Ag==
X-Google-Smtp-Source: AGHT+IHdBe/U/lEJDnWWd0FJhYPGXYijP81AC89b6fuG4KA1nlo1bpq2+CiP2bKN4MWPwRRkYds5LQ==
X-Received: by 2002:a05:6000:510:b0:341:c0b8:e660 with SMTP id a16-20020a056000051000b00341c0b8e660mr9785540wrf.1.1712069801777;
        Tue, 02 Apr 2024 07:56:41 -0700 (PDT)
Message-ID: <77854c5d-37b5-4f85-bbfd-d2a5c16245dd@suse.com>
Date: Tue, 2 Apr 2024 16:56:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 6/7] xen/mm: address violations of MISRA C Rule
 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1711700095.git.nicola.vetrini@bugseng.com>
 <9fade8c540f19876fe7928ab91398bd5e94594b4.1711700095.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9fade8c540f19876fe7928ab91398bd5e94594b4.1711700095.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 10:11, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Apr 02 14:57:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 14:57:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700190.1092926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfa2-0003Jq-8Y; Tue, 02 Apr 2024 14:57:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700190.1092926; Tue, 02 Apr 2024 14:57:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfa2-0003Jj-62; Tue, 02 Apr 2024 14:57:42 +0000
Received: by outflank-mailman (input) for mailman id 700190;
 Tue, 02 Apr 2024 14:57: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfa0-0003JY-U9
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 14:57:40 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59bb19c0-f101-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 16:57:40 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-41569865b2fso13543435e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 07:57: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
 di6-20020a0560000ac600b00341c9956dc9sm14412688wrb.68.2024.04.02.07.57.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 07:57: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: 59bb19c0-f101-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712069859; x=1712674659; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KZ3AkmtJCFCb0vYZlX14FdmIoXjJYTOwkamGysIzNlI=;
        b=fFyV2pp4guqowwILuLRvHC5nYk4G3brz+IInEF7CYkU/kl2cug7Ie7fur/7W08yIg4
         NlW+/kW3hy+paCvuI0Fmn0CjXI3SHqZmHW4FwEjKOHp07ehhSKWyuwjluT4zKjBHecik
         M7ZLB0YSqkH0HbVJOCRm2VllokuKOsabe3t2ZaTWPZTFtWynL1MJhq41fUCfpL8KKYTg
         9acxXzi2oaBn/BKVGfqZXQvdT+sguo5e8C1R+KXbQkFqDGxML0WceguU8p4UUYAQq9qY
         OuIvxY4WHibDltX6xnC1TtW5pWeqSmRRLlJ3o0XmsM4CZfcvqduK4bgqlhGdIj0NDHYr
         Fm+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712069859; x=1712674659;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KZ3AkmtJCFCb0vYZlX14FdmIoXjJYTOwkamGysIzNlI=;
        b=wOuhjW2ThGNlRlUpBNLujzPDDT2Yr+tWN/7UfjbcyndrubB0IS3n/9D+mopohRvGyQ
         dW3jAy7BLzy6YVIxgw1k4w2bTKr51sAGETIMZ2c3E5QnrLG9o7LFEkbVH8mn0ep7cMSz
         D8Rv5Sc3CaIyngg/AgI0BSlMI5G/cLFG9+Y2D4I0i9hYve72uYqy9xcUVqSOPq9JNRM3
         1Vmy8o9j1yLwUVtAFfy5BZ2u3PtjC5/MOfD3MM3j9ZlZqDEvdSZppmscCBWqsaEHMLwm
         KrcaETbEYYaLvHfCKU25a1A40RU3nsXrdyaaJKCP/8rggd2FvUlI40Pb4//GxPYPUbl+
         SugA==
X-Forwarded-Encrypted: i=1; AJvYcCXG4xhbd0r+KIqgGyUH4wfr+Nt038KAsxgg29h+qI+ZH/nA//LB++7NV5oDBvJiIFCwWJ6DZ8/Dt+Wxuu1oliMTcqPQVk5kuMnyfcZGbbc=
X-Gm-Message-State: AOJu0YyONE2oOmZvI7BtklOsjdioZDlLBL+HEq2iKRScspvXpfb3YwCz
	UK6Vi9CuhfwaThFA8CTXR3AYeiZAeti0N5J4Im8z8lN6v40vWjVTUoILaEJxlg==
X-Google-Smtp-Source: AGHT+IFm+dYubbfXenSM6aaEHHt/ZFuNwmq1LNyv3Q8Hej0lt6++RaMMjnC/E8Yiap2vUH+P0obyIA==
X-Received: by 2002:a5d:68ca:0:b0:343:63c4:809d with SMTP id p10-20020a5d68ca000000b0034363c4809dmr1222358wrw.18.1712069859316;
        Tue, 02 Apr 2024 07:57:39 -0700 (PDT)
Message-ID: <d720714e-d5e9-4467-9532-f34ae71ed1b7@suse.com>
Date: Tue, 2 Apr 2024 16:57:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 7/7] x86/amd: address violations of MISRA C Rule
 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1711700095.git.nicola.vetrini@bugseng.com>
 <aa2c6d47927f76b12d1f30dc2eb1a6f15ba34dea.1711700095.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <aa2c6d47927f76b12d1f30dc2eb1a6f15ba34dea.1711700095.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 10:11, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Apr 02 15:05:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 15:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700196.1092937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfhT-0005Y3-05; Tue, 02 Apr 2024 15:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700196.1092937; Tue, 02 Apr 2024 15:05: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 1rrfhS-0005Xw-TT; Tue, 02 Apr 2024 15:05:22 +0000
Received: by outflank-mailman (input) for mailman id 700196;
 Tue, 02 Apr 2024 15:05: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrfhR-0005Xq-Gk
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 15:05:21 +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 6c11c48b-f102-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 17:05:20 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-415db53d905so6866025e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 08:05: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
 l2-20020a5d4bc2000000b0033e7e9c8657sm14411487wrt.45.2024.04.02.08.05.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 08:05: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: 6c11c48b-f102-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712070319; x=1712675119; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=CWcuMv44nSFhDFTIGIZoD0Y9dobFaXPqokLynMS2ZKk=;
        b=b8vFhxkYU+alQn1NeHEzgOUfPzeTHYoI1kEsypqBx22ztedHlwDNP7ZXciH+rPmoAp
         MG45PIC0RLaynXH3iLQSzKLHsJi95v9kVCd+EOp5vfq8QkF0eTDvFlgLxzRWNlQeFX/s
         Kshm+upTCroFrzY+gzwm9dlpg8qwH+Ldej0lhthibTX2U3bDpTB2ucQ6nYid9tknsd6k
         Q68WrGJXf8KPClzIz3aibVMjZTM6Joh+MLZ+OGKsYQpCjw3PPCvHLnO8vQgFgKAf0GwQ
         qqP6Sihd8Alxxp1+yW4bmgouY6sMPcOJmi18ygrNi8vcte5JNHJ0UEkMZWiCeteT5zvX
         ZDSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712070319; x=1712675119;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CWcuMv44nSFhDFTIGIZoD0Y9dobFaXPqokLynMS2ZKk=;
        b=LQsXOWGPiQ1zJ7pJrVXLhApM3FcMHY7A4PaSTq0w8986MU5CCWTID2Ok6sb9cjWHta
         z0vZlPx4KzDvgD7Nm5jTyPl+uAljC4k8ipgasBjmMq27fvKSIX0GYzbH9uUpSeYNsOq3
         ZKvL154oPPlyYNJZi9SjD8h9hWNWn/9tM6Eifv3SO9HJJ9LZFM50/R1NfG+LWw5v+ijr
         0d+FaLqUHw+ySXMvZtzvD4Wgg0jAYU8VpCOsCel4/JXhpiJ+o3IeXAf/fJQzTuOXQnCl
         MHwwdHcXs6856xmOg6z0O3OgV9+OGDHW6pW40L0vfsKSa3B4QqVi/uLkWYqJr0ooug2r
         0BQQ==
X-Forwarded-Encrypted: i=1; AJvYcCUHr+Czp0WvqYZxbA3eEj1TawS2o2KiGBZaIccpBOiUxFXIR4KbhGO86pARMyn/kk3GNB/V04dSs7zTqu5km8nkvF0DP44ll3EsEJSYe98=
X-Gm-Message-State: AOJu0YwAb0rL5SiCBl0yFePQ9p8ZTOtPqqhxDgsZQt0ZnH2SgyUFkm/K
	fOm86A0VyV6bDs2sDuZcLU7gPAhCGMYIiY9ieUfcGsmY/ER88RlAIBkjrjDiGA==
X-Google-Smtp-Source: AGHT+IErliSxjw161tgbVH3e/vbNONDa+nfK+DPvoYJi15hdbleWG6wKThMwIwTu/TWTFcm3Yx+Hog==
X-Received: by 2002:a05:6000:188d:b0:343:4b39:9db5 with SMTP id a13-20020a056000188d00b003434b399db5mr5932047wri.56.1712070319618;
        Tue, 02 Apr 2024 08:05:19 -0700 (PDT)
Message-ID: <c958ad3e-5371-4a4e-81b5-8c313ac83258@suse.com>
Date: Tue, 2 Apr 2024 17:05:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 1/7] x86/msi: address violation of MISRA C Rule
 20.7 and coding style
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1711700095.git.nicola.vetrini@bugseng.com>
 <2f2c865f20d0296e623f1d65bed25c083f5dd497.1711700095.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2f2c865f20d0296e623f1d65bed25c083f5dd497.1711700095.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.03.2024 10:11, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> While at it, the style of these macros has been somewhat uniformed.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Changes in v2:
> - Make the style change more consistent
> ---
>  xen/arch/x86/include/asm/msi.h | 49 +++++++++++++++++-----------------
>  1 file changed, 25 insertions(+), 24 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
> index 997ccb87be0c..bd110c357ce4 100644
> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -147,33 +147,34 @@ int msi_free_irq(struct msi_desc *entry);
>   */
>  #define NR_HP_RESERVED_VECTORS 	20
>  
> -#define msi_control_reg(base)		(base + PCI_MSI_FLAGS)
> -#define msi_lower_address_reg(base)	(base + PCI_MSI_ADDRESS_LO)
> -#define msi_upper_address_reg(base)	(base + PCI_MSI_ADDRESS_HI)
> -#define msi_data_reg(base, is64bit)	\
> -	( (is64bit == 1) ? base+PCI_MSI_DATA_64 : base+PCI_MSI_DATA_32 )
> -#define msi_mask_bits_reg(base, is64bit) \
> -	( (is64bit == 1) ? base+PCI_MSI_MASK_BIT : base+PCI_MSI_MASK_BIT-4)
> +#define msi_control_reg(base)        ((base) + PCI_MSI_FLAGS)
> +#define msi_lower_address_reg(base)  ((base) + PCI_MSI_ADDRESS_LO)
> +#define msi_upper_address_reg(base)  ((base) + PCI_MSI_ADDRESS_HI)
> +#define msi_data_reg(base, is64bit) \
> +    (((is64bit) == 1) ? (base) + PCI_MSI_DATA_64 : (base) + PCI_MSI_DATA_32)
> +#define msi_mask_bits_reg(base, is64bit)                \
> +    (((is64bit) == 1) ? (base) + PCI_MSI_MASK_BIT       \
> +                      : (base) + PCI_MSI_MASK_BIT - 4)
>  #define msi_pending_bits_reg(base, is64bit) \
> -	((base) + PCI_MSI_MASK_BIT + ((is64bit) ? 4 : 0))
> -#define msi_disable(control)		control &= ~PCI_MSI_FLAGS_ENABLE
> +    ((base) + PCI_MSI_MASK_BIT + ((is64bit) ? 4 : 0))
> +#define msi_disable(control)         ({ (control) &= ~PCI_MSI_FLAGS_ENABLE })
>  #define multi_msi_capable(control) \
> -	(1 << ((control & PCI_MSI_FLAGS_QMASK) >> 1))
> +    (1 << (((control) & PCI_MSI_FLAGS_QMASK) >> 1))
>  #define multi_msi_enable(control, num) \
> -	control |= (((fls(num) - 1) << 4) & PCI_MSI_FLAGS_QSIZE);
> -#define is_64bit_address(control)	(!!(control & PCI_MSI_FLAGS_64BIT))
> -#define is_mask_bit_support(control)	(!!(control & PCI_MSI_FLAGS_MASKBIT))
> -#define msi_enable(control, num) multi_msi_enable(control, num); \
> -	control |= PCI_MSI_FLAGS_ENABLE
> -
> -#define msix_control_reg(base)		(base + PCI_MSIX_FLAGS)
> -#define msix_table_offset_reg(base)	(base + PCI_MSIX_TABLE)
> -#define msix_pba_offset_reg(base)	(base + PCI_MSIX_PBA)
> -#define msix_enable(control)	 	control |= PCI_MSIX_FLAGS_ENABLE
> -#define msix_disable(control)	 	control &= ~PCI_MSIX_FLAGS_ENABLE
> -#define msix_table_size(control) 	((control & PCI_MSIX_FLAGS_QSIZE)+1)
> -#define msix_unmask(address)	 	(address & ~PCI_MSIX_VECTOR_BITMASK)
> -#define msix_mask(address)		(address | PCI_MSIX_VECTOR_BITMASK)
> +    ({ (control) |= (((fls(num) - 1) << 4) & PCI_MSI_FLAGS_QSIZE) })
> +#define is_64bit_address(control)    (!!((control) & PCI_MSI_FLAGS_64BIT))
> +#define is_mask_bit_support(control) (!!((control) & PCI_MSI_FLAGS_MASKBIT))
> +#define msi_enable(control, num)     ({ multi_msi_enable(control, num); \
> +                                        (control) |= PCI_MSI_FLAGS_ENABLE })

Neither this nor ...

> +#define msix_control_reg(base)       ((base) + PCI_MSIX_FLAGS)
> +#define msix_table_offset_reg(base)  ((base) + PCI_MSIX_TABLE)
> +#define msix_pba_offset_reg(base)    ((base) + PCI_MSIX_PBA)
> +#define msix_enable(control)         ({ (control) |= PCI_MSIX_FLAGS_ENABLE })
> +#define msix_disable(control)        ({ (control) &= ~PCI_MSIX_FLAGS_ENABLE })

... these would compile afaict, if  they were used.

Once again - before fiddling with these we need to settle on which of these
we want to keep (and then also use, rather than open-coding), and which to
drop (instead of massaging).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 15:10:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 15:10:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700199.1092946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfmP-0007Jv-Lb; Tue, 02 Apr 2024 15:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700199.1092946; Tue, 02 Apr 2024 15:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrfmP-0007Jo-Ir; Tue, 02 Apr 2024 15:10:29 +0000
Received: by outflank-mailman (input) for mailman id 700199;
 Tue, 02 Apr 2024 15: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=l5ae=LH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rrfmO-0007Ji-UC
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 15:10:28 +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 22d5b6ba-f103-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 17:10:26 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a468226e135so636804666b.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 08:10:26 -0700 (PDT)
Received: from ?IPV6:2003:e5:873a:400:704b:6dbb:e7c0:786e?
 (p200300e5873a0400704b6dbbe7c0786e.dip0.t-ipconnect.de.
 [2003:e5:873a:400:704b:6dbb:e7c0:786e])
 by smtp.gmail.com with ESMTPSA id
 m24-20020a1709060d9800b00a46be5c78f4sm6713514eji.142.2024.04.02.08.10.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 08:10: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: 22d5b6ba-f103-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712070626; x=1712675426; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=DYP8/I4Ll0Z6yAcTc58VN9ImH6/L6Y/xoyTH1SZzcHc=;
        b=gc/tqeztnzahWTimrDovFEqf52RuhEj1R1TnaSbQpO2rRvui92CoZpxWj8gYAq/WN9
         nm/3MIy5mxx1cOnoji4Ysx93L/XNIG8uLhaw6abWiKOi/VaCVgl5RksBV7bwmcCTHPOj
         z6MLgkD6PVQWTkUv6DRQePxVRWXbpZFUjjByTSmdzfeXBILOLIEqN52o0tWBUbbOnyS/
         V/a/Tmafel5a14ED61UvvNR417LEu1uAS3ea5fNvVUiTwgoN/oqr/rH6/TKesC/P/taN
         CRqrRseVDODmm44TPtOdjov4JvK2Y+a2ilQNDP1YRXmt0/3DGC6E2faafNVPlz0c+CKG
         /GDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712070626; x=1712675426;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=DYP8/I4Ll0Z6yAcTc58VN9ImH6/L6Y/xoyTH1SZzcHc=;
        b=LgKo/6mDNC+3sP19tt+n6SswoyDMhZvI4NG0lOSp+wDV45IRBKN8yKsF9SpDPVGOkI
         xxwRYm8aL4auOW4Gk6/jgA8Hn1xSlY8VeJXO5Z8DGs8CbbscDr3KIex1unhki3GPPEnB
         p6amHyu0PlINSVbd+Xo9SbzkU5kMmMVXHdOaE4a/fCxqethFsLixhO0NuVzya+KFHucd
         mxwYmHUr/eL/X39Tir4glSJbO1qec2qVTqaK5VSiV0ig3FhiwjoOL2nNheFNDjOWS1r4
         j+C4LxOiWFml4w/0yZao/oqE3BpqB3i/lqbUM9+J1jOHVIVA7BsOabAD4QwUPhH6DLYm
         ni2w==
X-Forwarded-Encrypted: i=1; AJvYcCVsA+MC0XhvQZ18ocUQ/zbQ9R1Y/Er4Zvb0vB9BTxympUrgJwznRgVnvxKGBQpN58xXVelSnhh7aCazu8+/pj2BMQh1NNWwf2/vMIz49l4=
X-Gm-Message-State: AOJu0YzCRi5wVsaOMksP2rmsa2/THXOnSKthuqxa3O6VeVrm9e4ew8Eq
	bvMK0tPidueUN2LEUpMTfsMemTfXnBz5R8NUDFGT7eITJSfgtQO/tmFjd+eI2+A=
X-Google-Smtp-Source: AGHT+IEcAOLcnLFzWwWmClsgn9WW7EH5SWQZOfQRqMSxZ6NYBV4tt+1kiLiMaEwzP5EFlpAj/kKl6w==
X-Received: by 2002:a17:906:512:b0:a4d:f98e:dc3e with SMTP id j18-20020a170906051200b00a4df98edc3emr7925616eja.12.1712070626257;
        Tue, 02 Apr 2024 08:10:26 -0700 (PDT)
Message-ID: <b7f0f386-f367-4b76-beac-1521a89c200b@suse.com>
Date: Tue, 2 Apr 2024 17:10:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 6/8] xen/spinlock: support higher number of cpus
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-7-jgross@suse.com>
 <6b5316a3-2920-4589-9e91-2de148c482db@suse.com>
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <6b5316a3-2920-4589-9e91-2de148c482db@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02.04.24 16:42, Jan Beulich wrote:
> On 27.03.2024 16:22, Juergen Gross wrote:
>> Allow 16 bits per cpu number, which is the limit imposed by
>> spinlock_tickets_t.
>>
>> This will allow up to 65535 cpus, while increasing only the size of
>> recursive spinlocks in debug builds from 8 to 12 bytes.
>>
>> The current Xen limit of 4095 cpus is imposed by SPINLOCK_CPU_BITS
>> being 12. There are machines available with more cpus than the current
>> Xen limit, so it makes sense to have the possibility to use more cpus.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> albeit I have to say that I'm not entirely convinced of ...
> 
>> --- a/xen/common/spinlock.c
>> +++ b/xen/common/spinlock.c
>> @@ -485,7 +485,9 @@ bool _rspin_trylock(rspinlock_t *lock)
>>   
>>       /* Don't allow overflow of recurse_cpu field. */
>>       BUILD_BUG_ON(NR_CPUS > SPINLOCK_NO_CPU);
>> +    BUILD_BUG_ON(SPINLOCK_CPU_BITS > sizeof(lock->recurse_cpu) * 8);
>>       BUILD_BUG_ON(SPINLOCK_RECURSE_BITS < 3);
>> +    BUILD_BUG_ON(SPINLOCK_MAX_RECURSE > ((1u << SPINLOCK_RECURSE_BITS) - 1));
>>   
>>       check_lock(&lock->debug, true);
> 
> ... the two additions here: The two checks we had verify independent
> properties, whereas the new ones basically check that struct rspinlock
> and its associated #define-s were got right. We don't check such
> elsewhere, I don't think.

I think we do.

What about:
   BUILD_BUG_ON(sizeof(hwp_req) != sizeof(hwp_req.raw))
checking that two union elements are of the same size (and both elements don't
contain any other structs).

Additionally it is not obvious at a first glance that SPINLOCK_CPU_BITS defined
in line 11 is relevant for the definition of recurse_cpu in line 217.

Regarding the second added BUILD_BUG_ON() there was a comment by Julien related
to the definition of SPINLOCK_MAX_RECURSE in V4 of this patch. We settled to use
the current form including the added BUILD_BUG_ON().


Juergen


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 15:29:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 15:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700203.1092956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrg4X-0001b9-A2; Tue, 02 Apr 2024 15:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700203.1092956; Tue, 02 Apr 2024 15: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 1rrg4X-0001b2-7Q; Tue, 02 Apr 2024 15:29:13 +0000
Received: by outflank-mailman (input) for mailman id 700203;
 Tue, 02 Apr 2024 15: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=l5ae=LH=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rrg4W-0001Zf-Fn
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 15:29:12 +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 bf2c6b51-f105-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 17:29:08 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-568c714a9c7so6271216a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 08:29:08 -0700 (PDT)
Received: from ?IPV6:2003:e5:873a:400:704b:6dbb:e7c0:786e?
 (p200300e5873a0400704b6dbbe7c0786e.dip0.t-ipconnect.de.
 [2003:e5:873a:400:704b:6dbb:e7c0:786e])
 by smtp.gmail.com with ESMTPSA id
 z19-20020a170906669300b00a4e299dea48sm6091258ejo.199.2024.04.02.08.29.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 08:29: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: bf2c6b51-f105-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712071747; x=1712676547; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1/QljjjALfTRpeEJgh1rcbafvSyAA7R1aCImlaqo454=;
        b=Ar6yFDgtH193WpY5FO9KhJ81+T8/KYU42HXC8EzJBuXfFWABU0AB7o+jBywIHVOcMF
         xac7qiwatpomyx8PHM2qn8uCFzDxhgdSH8EsgYIXvd2UvNRtOdQBjvvxrbOsqaAhxR/b
         9/KCTeS2n1nZ6+PGu4VjRdI2TLizt/m5E9go8RFxQqxOY6XVuTw1iC4bClKfv4VK1U2Q
         tuEEny/uF9o/qp7Dj8KkDlErSYAnpp6+puKGefG99+I8yohvaXBIc5hzGYkVBZ/tg3g4
         kwmexBYMYxL/kGKeHYK1M88kGDDQqZgVtfkrl/LgHPLe4VZxN1wXcbXYvdJ7YZzEVQsl
         4G+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712071747; x=1712676547;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=1/QljjjALfTRpeEJgh1rcbafvSyAA7R1aCImlaqo454=;
        b=mQGJC/kovSnp+evDY6EzsM1hd/75zmAycobLOG2Z3jiyiBTgZQh81zN2YRwgDyVRu5
         qBs7elmjpmwwPDcpXMKga64IbZdB1V7opUqC1G3fIEXGV/OzdMLWYaLsiDwjOIMgc5Z9
         ZOlwI9dHAv3UCMqsv2iNFyT1oEPD1+6J4hBry5CLPHXdzbLVCl3pUukMZrk9x1k+NcEa
         PaCQjSFT7lxhOt5zaa39Bopq7eaxZIdLNQUzNpAYkMSPus9LclDaD+t+ETKX+Tb94+IU
         R1wR+cGr6nhhla87O4pgsu5eMljzyTlR0E3RKpJ+W3g92wNqrx5FY2ZYPjfOTB1GFm9i
         Okcg==
X-Forwarded-Encrypted: i=1; AJvYcCWLgsGb2Mf88qV9vLWByMpzoEYMaI8kbPIHkj9bPNVEfpGisZAf5oTXOh1VwL9AwCJYTQXX5fwGNR1ltokV7yQ2/ZTObXIj3tYv+0vdKlU=
X-Gm-Message-State: AOJu0Yx9rXpUUonpKC1xuMfZ1nEapTCfDqAnW05/4WoHOE9fpcquNudu
	eykepg5ZGqNr5Pzv+XnPsRG6g2a0I4wuQwt8eU2My++uBGJ4LSp7sMjrVmlbz9U=
X-Google-Smtp-Source: AGHT+IGAWxX5Gemnxbp4jp9SIBGErwqjwv+OGJ5uSe7svP8B9lFU5LluzF9+5OwUvICuwRyXiCTgvg==
X-Received: by 2002:a17:906:160c:b0:a4e:8c19:2ceb with SMTP id m12-20020a170906160c00b00a4e8c192cebmr1333228ejd.6.1712071747493;
        Tue, 02 Apr 2024 08:29:07 -0700 (PDT)
Message-ID: <afef3207-deff-4eb0-ae28-49b49cbcd2be@suse.com>
Date: Tue, 2 Apr 2024 17:29:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 7/8] xen/rwlock: raise the number of possible cpus
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-8-jgross@suse.com>
 <7e94482d-2c03-41ac-827f-af92a94796af@suse.com>
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <7e94482d-2c03-41ac-827f-af92a94796af@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02.04.24 16:52, Jan Beulich wrote:
> On 27.03.2024 16:22, Juergen Gross wrote:
>> @@ -36,14 +36,21 @@ void queue_write_lock_slowpath(rwlock_t *lock);
>>   
>>   static inline bool _is_write_locked_by_me(unsigned int cnts)
>>   {
>> -    BUILD_BUG_ON(_QW_CPUMASK < NR_CPUS);
>> +    BUILD_BUG_ON((_QW_CPUMASK + 1) < NR_CPUS);
>> +    BUILD_BUG_ON(NR_CPUS * _QR_BIAS > INT_MAX);
>>       return (cnts & _QW_WMASK) == _QW_LOCKED &&
>>              (cnts & _QW_CPUMASK) == smp_processor_id();
>>   }
>>   
>>   static inline bool _can_read_lock(unsigned int cnts)
>>   {
>> -    return !(cnts & _QW_WMASK) || _is_write_locked_by_me(cnts);
>> +    /*
>> +     * If write locked by the caller, no other readers are possible.
>> +     * Not allowing the lock holder to read_lock() another 32768 times ought
>> +     * to be fine.
>> +     */
>> +    return cnts <= INT_MAX &&
>> +           (!(cnts & _QW_WMASK) || _is_write_locked_by_me(cnts));
>>   }
> 
> What is the 32768 in the comment relating to? INT_MAX is quite a bit higher,
> yet the comparison against it is the only thing you add. Whereas the reader
> count is, with the sign bit unused, 17 bits, though (bits 14..30). I think

You missed:

#define    _QR_SHIFT    (_QW_SHIFT + 2)         /* Reader count shift */

So the reader's shift is 16, resulting in 15 bits for the reader count.

> even in such a comment rather than using a literal number the corresponding
> expression would better be stated.

Hmm, you mean replacing the 32768 with INT_MAX >> _QR_SHIFT? This would be
fine with me.


Juergen


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 15:43:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 15:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700206.1092966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgIa-0005J0-GL; Tue, 02 Apr 2024 15:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700206.1092966; Tue, 02 Apr 2024 15:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgIa-0005It-De; Tue, 02 Apr 2024 15:43:44 +0000
Received: by outflank-mailman (input) for mailman id 700206;
 Tue, 02 Apr 2024 15:43:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wy/k=LH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rrgIZ-0005In-C0
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 15:43:43 +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 c83ef631-f107-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 17:43:42 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-568c714a9c7so6296773a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 08:43:42 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 el11-20020a056402360b00b0056c249798absm6843594edb.71.2024.04.02.08.43.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 08:43: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: c83ef631-f107-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712072621; x=1712677421; 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=OEDeQcW/fDOrd6H55FSVnSBzli8SzV2bo6GaPe7rMAc=;
        b=IkCD5vKdtyHf9d6DnSjcgqCLCxRW81qjZok0eGi1yu+UHRmi5MyQq5TL1Oz2MHV1Sq
         XTuqIixhomsSpha1Aq/82fe6qE+G77N4vAYcbL+i1QUqJR4G8lLeCJxgQanxuru8JYqv
         Vnbh4DfndULrwMwrL5Rz77DXt19aU3R9zxVmY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712072621; x=1712677421;
        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=OEDeQcW/fDOrd6H55FSVnSBzli8SzV2bo6GaPe7rMAc=;
        b=PTtNiL1QfV4PxNTbLBVLPNq3N5vzq9fwJRwBKUGfD46KNjLXfakEySEtlJ4zrGzjV2
         quBFxFK3MvT102v9glGdTX6m5vTawFUcPFdLue0Vcei9Q+LSldaH5fQHcePh0fGHYhHW
         Pz6iVXRFFMgen3s6AdZpoq4M9yPtgc0rO91raPdK/iNCv17wij6oWDbuV6Sa87BZ05DG
         bdfiEf7cD//l2vhT81tp4vBxVaMd0fGxp/fcb9o68LylzSBkc5asHEm70FazyJDebmjZ
         FgjN5cKw7pXproq7e2/SDAhCYnbZMXr6Swa2K4PDZl2vWRDLnAchq+ZgAJTn8y+O7Z4c
         O6IQ==
X-Gm-Message-State: AOJu0YxZFwg+DIEMDKUSY+/obzCYEraXKVRIKUp5Bmwfv3QtOzfo1/8y
	gmO3qYpPBMecRikzKisGxBaS6VfC3i3U0DbtMfAdAPgivkXE1YUNhasbVvYgs/ku+VNwdY6oRqz
	kI4Y=
X-Google-Smtp-Source: AGHT+IHcVnW2eMTVQ0IZixRTjT0hnujVt6ViGoqbTtGm0/1V6/Y9yeKdNODXbi+0C7JGhu/FyqCf7A==
X-Received: by 2002:a05:6402:2114:b0:56c:d44:f1c3 with SMTP id bl20-20020a056402211400b0056c0d44f1c3mr10180759edb.25.1712072621305;
        Tue, 02 Apr 2024 08:43:41 -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>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	"consulting @ bugseng . com" <consulting@bugseng.com>
Subject: [PATCH] x86: Address MISRA Rule 13.6
Date: Tue,  2 Apr 2024 16:43:39 +0100
Message-Id: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

MISRA Rule 13.6 doesn't like having an expression in a sizeof() which
potentially has side effects.

Address several violations by pulling the expression out into a local
variable.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: consulting@bugseng.com <consulting@bugseng.com>

Slightly RFC.
---
 xen/arch/x86/irq.c                       | 3 ++-
 xen/arch/x86/time.c                      | 6 ++++--
 xen/drivers/passthrough/amd/iommu_intr.c | 3 ++-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 0487f734a5d2..d73f687f7617 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -1150,8 +1150,9 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
     {
         struct domain *d = action->guest[i];
         unsigned int pirq = domain_irq_to_pirq(d, irq);
+        struct pirq *pirq_info = pirq_info(d, pirq);
 
-        if ( test_and_clear_bool(pirq_info(d, pirq)->masked) )
+        if ( test_and_clear_bool(pirq_info->masked) )
             action->in_flight--;
     }
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 60870047894b..6f136f4b14bf 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2503,7 +2503,9 @@ static long cmos_utc_offset; /* in seconds */
 
 int time_suspend(void)
 {
-    if ( smp_processor_id() == 0 )
+    unsigned int cpu = smp_processor_id();
+
+    if ( cpu == 0 )
     {
         cmos_utc_offset = -get_wallclock_time();
         cmos_utc_offset += get_sec();
@@ -2514,7 +2516,7 @@ int time_suspend(void)
     }
 
     /* Better to cancel calibration timer for accuracy. */
-    clear_bit(TIME_CALIBRATE_SOFTIRQ, &softirq_pending(smp_processor_id()));
+    clear_bit(TIME_CALIBRATE_SOFTIRQ, &softirq_pending(cpu));
 
     return 0;
 }
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index d9eefcd8e411..7fc796dec25b 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -183,6 +183,7 @@ static void free_intremap_entry(const struct amd_iommu *iommu,
                                 unsigned int bdf, unsigned int index)
 {
     union irte_ptr entry = get_intremap_entry(iommu, bdf, index);
+    struct ivrs_mappings *ivrs = get_ivrs_mappings(iommu->seg);
 
     if ( iommu->ctrl.ga_en )
     {
@@ -201,7 +202,7 @@ static void free_intremap_entry(const struct amd_iommu *iommu,
     else
         ACCESS_ONCE(entry.ptr32->raw) = 0;
 
-    __clear_bit(index, get_ivrs_mappings(iommu->seg)[bdf].intremap_inuse);
+    __clear_bit(index, ivrs[bdf].intremap_inuse);
 }
 
 static void update_intremap_entry(const struct amd_iommu *iommu,

base-commit: 7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 15:46:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 15:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700209.1092976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgLe-0005qd-Tk; Tue, 02 Apr 2024 15:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700209.1092976; Tue, 02 Apr 2024 15:46:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgLe-0005qW-R6; Tue, 02 Apr 2024 15:46:54 +0000
Received: by outflank-mailman (input) for mailman id 700209;
 Tue, 02 Apr 2024 15:46: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrgLd-0005qP-3D
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 15:46:53 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3950fd7a-f108-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 17:46:52 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-415523d9824so34582285e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 08:46: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
 g18-20020a05600c4ed200b0041495d17992sm18348202wmq.34.2024.04.02.08.46.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 08:46: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: 3950fd7a-f108-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712072811; x=1712677611; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Hb9FHbLzj93PJKPlOi0wLq8nP32v+TwHZABSP2UcDcM=;
        b=EryP2KZtTr4Yi0PRs1HcxK7yqRmwheyZBXqVE+5ZTHWuT983E4+4Do7qmftLVhcERU
         0KFScqLyZ96xMikluAYVrAO8bzCdqFniTmS3HL0hpMdO+A8yRRplcMwbmjVmea4MtI7S
         2H0YxGCYvGvbpu/+yFKdDXGZWR5Y9QLLBtTw5vSGouHvSBwf96w/N8rrACnIsPO01CSO
         quh9V3KVTG0pKob+87XmUScAz8LXlGlfp1hwr38UX8eCdlSj9dBSzQP9L4nMyWEFGTBz
         nU0L0dKmcNimv17UvKCwSxN+vlNUDk+numlSnvVO0sAuFoV/7J8oZqezhvDQaJqSVIcC
         KkXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712072811; x=1712677611;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Hb9FHbLzj93PJKPlOi0wLq8nP32v+TwHZABSP2UcDcM=;
        b=sf8OG+i1iCReSR+9Im4zaDXP2Wm7kEgm6/c3DBBX2J7OnCpcnQRymo7eyDvmJ/TVYP
         Ly4W8yXekhW7WSEnhatMd5D+2wZB5bZMIrl8EGbmab4Zlz2iFwjkQiofLqPT+ctWbZyk
         2CdfbqLDq0xbBQJFbK8eEfRqHL6xKRqODFGQqdQHdw2W4nUESJaEm+mGkdaTqImAvVkb
         o8BL2p+da7jfJ+bKD6a4gXfebCyGhElc8ti8PbW0iuYX8R5C9uiCK9Qayglk1qwMPkcz
         kVa0XVUfW6d8xoXlH6ACO5UIGwQd+6IfYYvTFx/q4oI5cd1cOoLrmETlQLGV6yRPxES4
         QzbQ==
X-Forwarded-Encrypted: i=1; AJvYcCX7KMyMTQKoimKSZKgi3Bv514oR3H7TQZFda5qENvIM6pgSJE6h/Qbuy2lfHjoipc8yz/7Kf+IHUOLn4cYM6jy19V7cd0g5VKbfkBApJZU=
X-Gm-Message-State: AOJu0YylybbBN9T9b+NHDJSyABTZyXEdhbHWNU9hA0KDqS5QAlxAVOWA
	LA18gmul+A1SII0i39tIjYqH5xiABV5Ton0S4NhQY2GWnAP/XwiDQJr1d0VD3w==
X-Google-Smtp-Source: AGHT+IHKaT3BbnN2Ai17O3v5VOdwD5zrqjjJD+uo6OAZfnl6nTewrIAtL+mAxMXUt4kgk0qtZljHLw==
X-Received: by 2002:a05:600c:230f:b0:413:ee4a:c9a7 with SMTP id 15-20020a05600c230f00b00413ee4ac9a7mr2019512wmo.20.1712072811490;
        Tue, 02 Apr 2024 08:46:51 -0700 (PDT)
Message-ID: <35fc596e-8134-4471-83d4-40b01f5821bf@suse.com>
Date: Tue, 2 Apr 2024 17:46:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Address MISRA Rule 13.6
Content-Language: en-US
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>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 17:43, Andrew Cooper wrote:
> MISRA Rule 13.6 doesn't like having an expression in a sizeof() which
> potentially has side effects.
> 
> Address several violations by pulling the expression out into a local
> variable.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -1150,8 +1150,9 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>      {
>          struct domain *d = action->guest[i];
>          unsigned int pirq = domain_irq_to_pirq(d, irq);
> +        struct pirq *pirq_info = pirq_info(d, pirq);

Misra won't like the var's name matching the macro's. Can we go with just
"info"?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 15:54:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 15:54:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700212.1092987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgSt-00084l-K9; Tue, 02 Apr 2024 15:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700212.1092987; Tue, 02 Apr 2024 15:54:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgSt-00084e-HN; Tue, 02 Apr 2024 15:54:23 +0000
Received: by outflank-mailman (input) for mailman id 700212;
 Tue, 02 Apr 2024 15:54: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=wy/k=LH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rrgSr-00084Y-Uw
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 15:54:21 +0000
Received: from mail-yb1-xb34.google.com (mail-yb1-xb34.google.com
 [2607:f8b0:4864:20::b34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 447981e9-f109-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 17:54:20 +0200 (CEST)
Received: by mail-yb1-xb34.google.com with SMTP id
 3f1490d57ef6-dcbd1d4904dso4946632276.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 08:54:20 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 da32-20020a05620a362000b0078a43996ab7sm4396437qkb.1.2024.04.02.08.54.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 08:54: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: 447981e9-f109-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712073259; x=1712678059; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KDcS5/fhP5ZG/Br80l2ESLKbK8tcCtHsP4AfRpY+YXw=;
        b=i8YD2T2XTzsV2SPYl7/4F2+RoSNN3jvLp4cnXv6zhWqaUyNVha0gq0nIxWjX/6lavI
         S9CmuFvve2CvJIWRDKcFlmRndRMwsdyxeEWCT/Qo3JYA4T9AssBvVrRjaPi1BuV+s5Hm
         jtOJLpxOoAEvQRu0cbbrVMHdWvmvaJuki+oYo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712073259; x=1712678059;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KDcS5/fhP5ZG/Br80l2ESLKbK8tcCtHsP4AfRpY+YXw=;
        b=XbdHOhJ4LIc23FJH37B6rbnQrppFgo5tOFJUK/ykpLxUTzUA5ONSSL4jz4oyW2XdA4
         jGPmH+e5gBuzOxBNFVvd4NU6ERbDNuFALE0n6R2eVA5lhq2gtUA6InHS5r8EI2x1oFH2
         IR56QF25RqS9DpXLh92vqiuIz3utWSupcz8ohrLVCev1sroFkSvtgO9EgPCMawGCSS/f
         9SBQ0U3M+WGxSBhG/wfiLmSF3i9vpHMJNCLst2zHBAsthlEYdIzlnbVuRoc4+1lgUFAi
         BsFmURTlmOAEXvfSViOY34kGYoBhOfYLVZJWj/nrS1pXlfjugHrjsNiGICotb/AmBLfX
         eUcg==
X-Forwarded-Encrypted: i=1; AJvYcCWE+vsN40ZMFjLq3Htce6WGOK3qqFo2q0Lyh7X5/1k4q90m7rgTgQeUSzarpe/1mwojIKbhLHWIWb7luK4gz3vJddq10YYYnOp81+CxP48=
X-Gm-Message-State: AOJu0YxIiO+2GpUuh4srfUd9dHxPIsXr3w64zzcCPDWqEYKBLai9njrY
	jQTiiuRKY3l4MOluYf32GY5iz0PMV6YfDJIicFxyW7pchlIeYt0kscz+q5IegjGGpppAzL0ryLn
	TNhQ=
X-Google-Smtp-Source: AGHT+IHMVdk3egEu79UPx7yDlFP8q0ZMlggWJcQTnSUJa+S2JPVL364qFy4yv/AYtkVinRY77MFS6w==
X-Received: by 2002:a25:2fc9:0:b0:dcf:3ef2:6182 with SMTP id v192-20020a252fc9000000b00dcf3ef26182mr11096583ybv.0.1712073259493;
        Tue, 02 Apr 2024 08:54:19 -0700 (PDT)
Message-ID: <6ac9cb14-2e68-41d6-b061-c7caa74fde5b@citrix.com>
Date: Tue, 2 Apr 2024 16:54:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Address MISRA Rule 13.6
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
 <35fc596e-8134-4471-83d4-40b01f5821bf@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: <35fc596e-8134-4471-83d4-40b01f5821bf@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02/04/2024 4:46 pm, Jan Beulich wrote:
> On 02.04.2024 17:43, Andrew Cooper wrote:
>> MISRA Rule 13.6 doesn't like having an expression in a sizeof() which
>> potentially has side effects.
>>
>> Address several violations by pulling the expression out into a local
>> variable.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> with one caveat:
>
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -1150,8 +1150,9 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>>      {
>>          struct domain *d = action->guest[i];
>>          unsigned int pirq = domain_irq_to_pirq(d, irq);
>> +        struct pirq *pirq_info = pirq_info(d, pirq);
> Misra won't like the var's name matching the macro's. Can we go with just
> "info"?

Ah - missed that.

I can name it to just info, but I considered "struct pirq *info" to be a
little odd.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 16:06:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 16:06:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700217.1092996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgei-0002SO-OR; Tue, 02 Apr 2024 16:06:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700217.1092996; Tue, 02 Apr 2024 16:06:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgei-0002SH-Ln; Tue, 02 Apr 2024 16:06:36 +0000
Received: by outflank-mailman (input) for mailman id 700217;
 Tue, 02 Apr 2024 16:06: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=hiiI=LH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrgei-0002SB-0l
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 16:06:36 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa408f13-f10a-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 18:06:34 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4161d6b2582so4201225e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 09:06: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
 g18-20020a05600c4ed200b0041495d17992sm18406176wmq.34.2024.04.02.09.06.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 09:06: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: fa408f13-f10a-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712073994; x=1712678794; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=uN0mMZ7+4fJU1viAYXRongmOALft35oC1xjYQwR87Pg=;
        b=MaNcfG6T2KbXixp8FbBwk20JVFnKrwh3ZsYpmQ4vi8Fhpv1K5eVqK8Mg9ToHnGr1os
         fbckaSypnfGOmsOZsaqPhdZlBAF7bIN913hMJsyPCj5YEPaZXqx8yNEPcc73FS8qC2cu
         x8s28i7Jehs6GnpZmaQnicfHxb8zio1tcpudV4CkScwOwF+MyJCJq/zcF9elLh5/Z5Mg
         nL5vt3ZknJCb/gdf8KqqMxJuPa9W9DejZzcjQebFDQPDjLSHvhPlgI6tBEgSMATH3gzG
         vIBrvCL9MiWmIsZ9k/TcMy3G5SD0NOfRPZanWd6t435iZFRFU07YgRpq+c4lVqVMunVC
         LvVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712073994; x=1712678794;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uN0mMZ7+4fJU1viAYXRongmOALft35oC1xjYQwR87Pg=;
        b=AO75CKNR9qMLAkKPFM74GRnF8i9xpyyP0wc9Wh30+N4r9j6XCTAmiOsWWmXNrBzZgA
         g8YUX6ZltRl5K4VzUenv9tQ8e2AdNwuXliflgAxkUUdHimkZCKsgLPPoHwf8aWEI8afC
         ML5avuljBcHPgAQx2Da+0qAqe6eQMvyMezzvzy1zjk8+o0PsPBgpdMihn/s9JPr9vRLZ
         kUKcyAL/2hNSQH7USPUVx1aFOEyutJpQEGrJAKPY2yIlR4PWOrDLb1f0HWTKxW8i3PXH
         ZCXCoHV1Ed3IG4pssPdxyOk9EqZp02p10+XdvMDNhK8Txyg1UglGRNSqb0lahyM8wITv
         v9Xw==
X-Forwarded-Encrypted: i=1; AJvYcCUfV7LG0l50zz7IlaSi9Kzmv7a+LvQ0dhZxb+yFuj1xMSPpfX4X1V3sScpmBr1vO0SC3zZYJNJApOqAUxAXFf/nvSqzCwRd6+aOuHHTYKc=
X-Gm-Message-State: AOJu0Yya4f3lTd9gQWY9uG7NFA3vu1ex+PO9bTM4xOnUW4JBCkR0UA63
	vSgwNZwkklEaT0oBaadU+Le3f+zN6YAui0LnQbTNtEcotqQCLj8/kAD+FFkT5Q==
X-Google-Smtp-Source: AGHT+IE2KcgTk7MOR+FhpTRKWrk3Ga/93V4Xh61pax6AWdxzOGnDQVXYyihN7uU/SvdiFbzo03WZMg==
X-Received: by 2002:a05:600c:b56:b0:414:cd1:e46d with SMTP id k22-20020a05600c0b5600b004140cd1e46dmr176683wmr.23.1712073994106;
        Tue, 02 Apr 2024 09:06:34 -0700 (PDT)
Message-ID: <5f5b2904-48ca-493a-a353-4c2f9038f5d3@suse.com>
Date: Tue, 2 Apr 2024 18:06:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Address MISRA Rule 13.6
Content-Language: en-US
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>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
 <35fc596e-8134-4471-83d4-40b01f5821bf@suse.com>
 <6ac9cb14-2e68-41d6-b061-c7caa74fde5b@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6ac9cb14-2e68-41d6-b061-c7caa74fde5b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 17:54, Andrew Cooper wrote:
> On 02/04/2024 4:46 pm, Jan Beulich wrote:
>> On 02.04.2024 17:43, Andrew Cooper wrote:
>>> MISRA Rule 13.6 doesn't like having an expression in a sizeof() which
>>> potentially has side effects.
>>>
>>> Address several violations by pulling the expression out into a local
>>> variable.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> with one caveat:
>>
>>> --- a/xen/arch/x86/irq.c
>>> +++ b/xen/arch/x86/irq.c
>>> @@ -1150,8 +1150,9 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>>>      {
>>>          struct domain *d = action->guest[i];
>>>          unsigned int pirq = domain_irq_to_pirq(d, irq);
>>> +        struct pirq *pirq_info = pirq_info(d, pirq);
>> Misra won't like the var's name matching the macro's. Can we go with just
>> "info"?
> 
> Ah - missed that.
> 
> I can name it to just info, but I considered "struct pirq *info" to be a
> little odd.

I agree, but what do you do with another "pirq" already there.

Or wait, what about

        struct pirq *pirq = pirq_info(d, domain_irq_to_pirq(d, irq));

?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 16:09:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 16:09:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700219.1093006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrghT-00034T-5c; Tue, 02 Apr 2024 16:09:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700219.1093006; Tue, 02 Apr 2024 16:09:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrghT-00034M-34; Tue, 02 Apr 2024 16:09:27 +0000
Received: by outflank-mailman (input) for mailman id 700219;
 Tue, 02 Apr 2024 16:09:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wy/k=LH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rrghR-00034E-Hm
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 16:09:25 +0000
Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com
 [2607:f8b0:4864:20::82f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f4b9d83-f10b-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 18:09:24 +0200 (CEST)
Received: by mail-qt1-x82f.google.com with SMTP id
 d75a77b69052e-430dcd64e58so31963101cf.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 09:09:24 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 eh22-20020a05622a579600b00430ac082732sm5735224qtb.70.2024.04.02.09.09.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 09:09: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: 5f4b9d83-f10b-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712074163; x=1712678963; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HoSRmt1ZECHrtakt2FXy7txrRPwp34WQTz/dnCCSJ1c=;
        b=rhdB9r5fIEuRoFJiN78oxxRU2HxxsPh6l6Gro7ia8qfOPhp40akK59cCmF74r5xeBT
         38bqpgXN+GdEKHfojYZhEZx2emFlBk6EUbh9e3BbCUIrJ7bNmQ+m/yRCKKOZIcyPzafX
         3xZ9mNpXEvaXROwh5CWfqkQf8T80ffw1fXSkk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712074163; x=1712678963;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HoSRmt1ZECHrtakt2FXy7txrRPwp34WQTz/dnCCSJ1c=;
        b=wMa5xP6bd1YxAaZ7tH+EGDhmhkDD+qjvpVK0NdT+oZN6KS5wV+r/clzbxSTHAcutMS
         tG0zPAcnbx39Kns8EMD7bEUqeKHvQFApOcU/CHAEUCDNdRDm6Ub6MljmFQMwKNV68CK/
         WCU0JP6elBVyxYOjFrzcL3fpz+j+zV3UNmoJ6aN+NN7RXHEiRfyahvtOanAXiDCOF0TG
         R32mLaUSeLxGnwhtiad8WcUe3bLcKaaEyuTj4RrbCHtPURvT2As70ouDw2O6XwBM4H12
         zwHMaLQDrdzPcslLqxKad+hyaUwf1TC3NAubN36HCdp0O9FwyhmDNEvtfTPdyjzRAU/g
         zi5g==
X-Forwarded-Encrypted: i=1; AJvYcCW4uelXKBWRtJfVdakdCt1L7FK29UNlagUqwt9eZ2HwglxHISh/wR2roXBXZJQQAObQi562UYBqtOdkujvbYs4TfP7HiYuhM+UE7L/r2S0=
X-Gm-Message-State: AOJu0Ywz2dq0bj6g6hlM6BUx/CpvuMzE4aOrmP6EHBY5lAwWqE7yolpA
	Iq4cr/7zjMgLtxcegpK6+e8eZzlY/lxbBzDHu8Q6rNvSojYGxe22bE7OLW4XXXk=
X-Google-Smtp-Source: AGHT+IH8HHzRtNdxqQYOeClOCuYDQJPiLh5KFymuKy41xpjAKudR+BMZCa+58pLjo87OAhRneXpp0A==
X-Received: by 2002:a05:622a:130f:b0:432:f695:8aad with SMTP id v15-20020a05622a130f00b00432f6958aadmr6330687qtk.41.1712074163618;
        Tue, 02 Apr 2024 09:09:23 -0700 (PDT)
Message-ID: <67ae7299-4c45-49e8-9055-101334906f80@citrix.com>
Date: Tue, 2 Apr 2024 17:09:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Address MISRA Rule 13.6
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
 <35fc596e-8134-4471-83d4-40b01f5821bf@suse.com>
 <6ac9cb14-2e68-41d6-b061-c7caa74fde5b@citrix.com>
 <5f5b2904-48ca-493a-a353-4c2f9038f5d3@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: <5f5b2904-48ca-493a-a353-4c2f9038f5d3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/04/2024 5:06 pm, Jan Beulich wrote:
> On 02.04.2024 17:54, Andrew Cooper wrote:
>> On 02/04/2024 4:46 pm, Jan Beulich wrote:
>>> On 02.04.2024 17:43, Andrew Cooper wrote:
>>>> MISRA Rule 13.6 doesn't like having an expression in a sizeof() which
>>>> potentially has side effects.
>>>>
>>>> Address several violations by pulling the expression out into a local
>>>> variable.
>>>>
>>>> No functional change.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>> with one caveat:
>>>
>>>> --- a/xen/arch/x86/irq.c
>>>> +++ b/xen/arch/x86/irq.c
>>>> @@ -1150,8 +1150,9 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>>>>      {
>>>>          struct domain *d = action->guest[i];
>>>>          unsigned int pirq = domain_irq_to_pirq(d, irq);
>>>> +        struct pirq *pirq_info = pirq_info(d, pirq);
>>> Misra won't like the var's name matching the macro's. Can we go with just
>>> "info"?
>> Ah - missed that.
>>
>> I can name it to just info, but I considered "struct pirq *info" to be a
>> little odd.
> I agree, but what do you do with another "pirq" already there.
>
> Or wait, what about
>
>         struct pirq *pirq = pirq_info(d, domain_irq_to_pirq(d, irq));
>
> ?

That should work.  I'll switch to this locally, and wait for the
feedback on whether the patch works for 13.6.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 16:11:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 16:11:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700221.1093016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrgj8-0004gw-G9; Tue, 02 Apr 2024 16:11:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700221.1093016; Tue, 02 Apr 2024 16:11: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 1rrgj8-0004gp-DQ; Tue, 02 Apr 2024 16:11:10 +0000
Received: by outflank-mailman (input) for mailman id 700221;
 Tue, 02 Apr 2024 16:11: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=Tdu6=LH=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrgj7-0004gh-9j
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 16:11:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d22f46c-f10b-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 18:11:08 +0200 (CEST)
Received: from [192.168.1.18] (host-82-59-164-46.retail.telecomitalia.it
 [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 48C594EE0737;
 Tue,  2 Apr 2024 18:11: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: 9d22f46c-f10b-11ee-afe5-a90da7624cb6
Message-ID: <85a2101f-ba3a-4449-bd38-65528229793d@bugseng.com>
Date: Tue, 2 Apr 2024 18:11:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Address MISRA Rule 13.6
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
 <35fc596e-8134-4471-83d4-40b01f5821bf@suse.com>
 <6ac9cb14-2e68-41d6-b061-c7caa74fde5b@citrix.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <6ac9cb14-2e68-41d6-b061-c7caa74fde5b@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/04/24 17:54, Andrew Cooper wrote:
> On 02/04/2024 4:46 pm, Jan Beulich wrote:
>> On 02.04.2024 17:43, Andrew Cooper wrote:
>>> MISRA Rule 13.6 doesn't like having an expression in a sizeof() which
>>> potentially has side effects.
>>>
>>> Address several violations by pulling the expression out into a local
>>> variable.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> with one caveat:
>>
>>> --- a/xen/arch/x86/irq.c
>>> +++ b/xen/arch/x86/irq.c
>>> @@ -1150,8 +1150,9 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>>>       {
>>>           struct domain *d = action->guest[i];
>>>           unsigned int pirq = domain_irq_to_pirq(d, irq);
>>> +        struct pirq *pirq_info = pirq_info(d, pirq);
>> Misra won't like the var's name matching the macro's. Can we go with just
>> "info"?
> 
> Ah - missed that.
> 
> I can name it to just info, but I considered "struct pirq *info" to be a
> little odd.

The local variable is a non-callable entity;
"clashes" between function-like macros and non-callable entities
will be deviated (as agreed during MISRA meetings).

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 17:06:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 17:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700227.1093029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrhaU-0004Mn-CP; Tue, 02 Apr 2024 17:06:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700227.1093029; Tue, 02 Apr 2024 17:06:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrhaU-0004MN-9u; Tue, 02 Apr 2024 17:06:18 +0000
Received: by outflank-mailman (input) for mailman id 700227;
 Tue, 02 Apr 2024 17:06:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wy/k=LH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rrhaS-0004MH-SL
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 17:06:16 +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 507f0ddd-f113-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 19:06:15 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5684db9147dso6052758a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 10:06:15 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t18-20020a17090616d200b00a4664e6ad8esm6720392ejd.169.2024.04.02.10.06.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Apr 2024 10: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: 507f0ddd-f113-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712077574; x=1712682374; 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=QUBlmUWv7LiNRjLFrjOMUxED6POsgobYLpj2gCO8DwA=;
        b=PpdSXMZgMkHYRz21GjoqDqmpk97qd9aqjFXzh/6bta7nvQ/kZNvArMabubbrsTt7+n
         litMW+WJ0cD7FsJNs9tVFQt8q8QbV1ZetpBcqhZ7jHlfEWmzolkM23YwzbMYBLuASysK
         GhtuKFE0cM6Ok6bT55DfClrVwKaIbN2M7g7fo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712077574; x=1712682374;
        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=QUBlmUWv7LiNRjLFrjOMUxED6POsgobYLpj2gCO8DwA=;
        b=wTvay9j/nymGxf2+/ObySflxlsn513Nyw4zVk+pInY6l6rPPIHSX2bs2xP5yGJk0nZ
         0hO7goQD6ftNC5rccKLdJKkKvEdW5lIywgNuIj2Dvk1TfIpDtMRoQ1slgY9UYxCWbHwq
         StlansHvedKHPbQHiwD6WFVDB1c3qRZv6nLqqv72rVSH7lZdNDyW13AJPkWHP0tei1vr
         4mcBlESYuLdMPrJtmWo+8hMSVKD2zleKkO62Pt0BlGI2ASSbKet2S3SAfh/e1VNbvOOk
         WWs2WF7IcoG/Ql9EhJNB2sZKQ8HFhUdt5B6DgkGStt+25CMDJO9kvY+/xKno7dS7pY5s
         MutA==
X-Gm-Message-State: AOJu0YzzdusIudvMuCaJCITkVW0x8o0vBHJHywOpCMiA5ORC0+kYppa4
	Q480GR/d7PzfstgDPU8zXK+hW/X5ev6zgBE/u1Btm9KgNAtDIG/cu+Ohz1J4FLFQAHdIWBTycTg
	ehzA=
X-Google-Smtp-Source: AGHT+IHGGhbFnk3JSYFJaNCHupKszT9iWapTMyudX5dBh+kxJaqC05P9ZoWcj0YOEQyF2bfqYGyyAw==
X-Received: by 2002:a17:906:2b5b:b0:a4e:60c0:6a98 with SMTP id b27-20020a1709062b5b00b00a4e60c06a98mr252775ejg.55.1712077574465;
        Tue, 02 Apr 2024 10:06:14 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound event channels"
Date: Tue,  2 Apr 2024 18:06:12 +0100
Message-Id: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The commit makes a claim without any kind of justification.

The claim is false, and the commit broke lsevtchn in dom0.  It is also quite
obvious from XSM_TARGET that it has broken device model stubdoms too.

Whether to return information about a xen-owned evtchn is a matter of policy,
and it's not acceptable to short circuit the XSM on the matter.

This reverts commit f60ab5337f968e2f10c639ab59db7afb0fe4f7c3.

Fixes: f60ab5337f96 ("evtchn: refuse EVTCHNOP_status for Xen-bound event channels")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Daniel Smith <dpsmith@apertussolutions.com>
---
 xen/common/event_channel.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index 20f586cf5ecd..ae6c2f902645 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -1040,12 +1040,6 @@ int evtchn_status(evtchn_status_t *status)
 
     read_lock(&d->event_lock);
 
-    if ( consumer_is_xen(chn) )
-    {
-        rc = -EACCES;
-        goto out;
-    }
-
     rc = xsm_evtchn_status(XSM_TARGET, d, chn);
     if ( rc )
         goto out;

base-commit: 7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Apr 02 17:23:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 17:23:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700230.1093039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrhrH-0007RF-QK; Tue, 02 Apr 2024 17:23:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700230.1093039; Tue, 02 Apr 2024 17:23:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrhrH-0007R8-Nn; Tue, 02 Apr 2024 17:23:39 +0000
Received: by outflank-mailman (input) for mailman id 700230;
 Tue, 02 Apr 2024 17:23:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pbjO=LH=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rrhrG-0007R2-CT
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 17:23:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bca042d7-f115-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 19:23:36 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 439C04EE0737;
 Tue,  2 Apr 2024 19:23:35 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bca042d7-f115-11ee-a1ef-f123f15fe8a2
MIME-Version: 1.0
Date: Tue, 02 Apr 2024 19:23:35 +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, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?R?=
 =?UTF-8?Q?oger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3 1/7] x86/msi: address violation of MISRA C Rule
 20.7 and coding style
In-Reply-To: <c958ad3e-5371-4a4e-81b5-8c313ac83258@suse.com>
References: <cover.1711700095.git.nicola.vetrini@bugseng.com>
 <2f2c865f20d0296e623f1d65bed25c083f5dd497.1711700095.git.nicola.vetrini@bugseng.com>
 <c958ad3e-5371-4a4e-81b5-8c313ac83258@suse.com>
Message-ID: <c1c90ad849a217f00afc386fee3db689@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-04-02 17:05, Jan Beulich wrote:
> On 29.03.2024 10:11, Nicola Vetrini wrote:
>> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
>> of macro parameters shall be enclosed in parentheses". Therefore, some
>> macro definitions should gain additional parentheses to ensure that 
>> all
>> current and future users will be safe with respect to expansions that
>> can possibly alter the semantics of the passed-in macro parameter.
>> 
>> While at it, the style of these macros has been somewhat uniformed.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Changes in v2:
>> - Make the style change more consistent
>> ---
>>  xen/arch/x86/include/asm/msi.h | 49 
>> +++++++++++++++++-----------------
>>  1 file changed, 25 insertions(+), 24 deletions(-)
>> 
>> diff --git a/xen/arch/x86/include/asm/msi.h 
>> b/xen/arch/x86/include/asm/msi.h
>> index 997ccb87be0c..bd110c357ce4 100644
>> --- a/xen/arch/x86/include/asm/msi.h
>> +++ b/xen/arch/x86/include/asm/msi.h
>> @@ -147,33 +147,34 @@ int msi_free_irq(struct msi_desc *entry);
>>   */
>>  #define NR_HP_RESERVED_VECTORS 	20
>> 
>> -#define msi_control_reg(base)		(base + PCI_MSI_FLAGS)
>> -#define msi_lower_address_reg(base)	(base + PCI_MSI_ADDRESS_LO)
>> -#define msi_upper_address_reg(base)	(base + PCI_MSI_ADDRESS_HI)
>> -#define msi_data_reg(base, is64bit)	\
>> -	( (is64bit == 1) ? base+PCI_MSI_DATA_64 : base+PCI_MSI_DATA_32 )
>> -#define msi_mask_bits_reg(base, is64bit) \
>> -	( (is64bit == 1) ? base+PCI_MSI_MASK_BIT : base+PCI_MSI_MASK_BIT-4)
>> +#define msi_control_reg(base)        ((base) + PCI_MSI_FLAGS)
>> +#define msi_lower_address_reg(base)  ((base) + PCI_MSI_ADDRESS_LO)
>> +#define msi_upper_address_reg(base)  ((base) + PCI_MSI_ADDRESS_HI)
>> +#define msi_data_reg(base, is64bit) \
>> +    (((is64bit) == 1) ? (base) + PCI_MSI_DATA_64 : (base) + 
>> PCI_MSI_DATA_32)
>> +#define msi_mask_bits_reg(base, is64bit)                \
>> +    (((is64bit) == 1) ? (base) + PCI_MSI_MASK_BIT       \
>> +                      : (base) + PCI_MSI_MASK_BIT - 4)
>>  #define msi_pending_bits_reg(base, is64bit) \
>> -	((base) + PCI_MSI_MASK_BIT + ((is64bit) ? 4 : 0))
>> -#define msi_disable(control)		control &= ~PCI_MSI_FLAGS_ENABLE
>> +    ((base) + PCI_MSI_MASK_BIT + ((is64bit) ? 4 : 0))
>> +#define msi_disable(control)         ({ (control) &= 
>> ~PCI_MSI_FLAGS_ENABLE })
>>  #define multi_msi_capable(control) \
>> -	(1 << ((control & PCI_MSI_FLAGS_QMASK) >> 1))
>> +    (1 << (((control) & PCI_MSI_FLAGS_QMASK) >> 1))
>>  #define multi_msi_enable(control, num) \
>> -	control |= (((fls(num) - 1) << 4) & PCI_MSI_FLAGS_QSIZE);
>> -#define is_64bit_address(control)	(!!(control & PCI_MSI_FLAGS_64BIT))
>> -#define is_mask_bit_support(control)	(!!(control & 
>> PCI_MSI_FLAGS_MASKBIT))
>> -#define msi_enable(control, num) multi_msi_enable(control, num); \
>> -	control |= PCI_MSI_FLAGS_ENABLE
>> -
>> -#define msix_control_reg(base)		(base + PCI_MSIX_FLAGS)
>> -#define msix_table_offset_reg(base)	(base + PCI_MSIX_TABLE)
>> -#define msix_pba_offset_reg(base)	(base + PCI_MSIX_PBA)
>> -#define msix_enable(control)	 	control |= PCI_MSIX_FLAGS_ENABLE
>> -#define msix_disable(control)	 	control &= ~PCI_MSIX_FLAGS_ENABLE
>> -#define msix_table_size(control) 	((control & 
>> PCI_MSIX_FLAGS_QSIZE)+1)
>> -#define msix_unmask(address)	 	(address & ~PCI_MSIX_VECTOR_BITMASK)
>> -#define msix_mask(address)		(address | PCI_MSIX_VECTOR_BITMASK)
>> +    ({ (control) |= (((fls(num) - 1) << 4) & PCI_MSI_FLAGS_QSIZE) })
>> +#define is_64bit_address(control)    (!!((control) & 
>> PCI_MSI_FLAGS_64BIT))
>> +#define is_mask_bit_support(control) (!!((control) & 
>> PCI_MSI_FLAGS_MASKBIT))
>> +#define msi_enable(control, num)     ({ multi_msi_enable(control, 
>> num); \
>> +                                        (control) |= 
>> PCI_MSI_FLAGS_ENABLE })
> 
> Neither this nor ...
> 
>> +#define msix_control_reg(base)       ((base) + PCI_MSIX_FLAGS)
>> +#define msix_table_offset_reg(base)  ((base) + PCI_MSIX_TABLE)
>> +#define msix_pba_offset_reg(base)    ((base) + PCI_MSIX_PBA)
>> +#define msix_enable(control)         ({ (control) |= 
>> PCI_MSIX_FLAGS_ENABLE })
>> +#define msix_disable(control)        ({ (control) &= 
>> ~PCI_MSIX_FLAGS_ENABLE })
> 
> ... these would compile afaict, if  they were used.
> 
> Once again - before fiddling with these we need to settle on which of 
> these
> we want to keep (and then also use, rather than open-coding), and which 
> to
> drop (instead of massaging).
> 
> Jan

Ok, we can drop this patch from this for now.

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 20:25:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 20:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700237.1093050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrkhL-000200-F6; Tue, 02 Apr 2024 20:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700237.1093050; Tue, 02 Apr 2024 20: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 1rrkhL-0001zt-At; Tue, 02 Apr 2024 20:25:35 +0000
Received: by outflank-mailman (input) for mailman id 700237;
 Tue, 02 Apr 2024 20: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=0S3j=LH=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1rrkhJ-0001zn-Pn
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 20:25:33 +0000
Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com
 [2607:f8b0:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2673081e-f12f-11ee-afe5-a90da7624cb6;
 Tue, 02 Apr 2024 22:25:32 +0200 (CEST)
Received: by mail-pg1-x536.google.com with SMTP id
 41be03b00d2f7-5cfd95130c6so3502291a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 13:25: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: 2673081e-f12f-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712089530; x=1712694330; 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=qzQQHoJQ11iL4ZRq1RRJUHfxyNKqnhQT5F/85QjSLyE=;
        b=l7PsDzlk6SbPGghN6twOYqHjoRrigFG/+fvzfcEYbtADIZdC98cmDl4csqGP9UVROo
         FqNVgNfLgP5PGBEa7cZYbCn/ib9s52cbmuVAqtKquNDq1Lha7M+yC5Vu7pAlZMfDKuTo
         ezeOZOIykxl/o/MHtx4SyORXZJZ0gEs//w8MilBtJ042CPnxNKOqCkPyrW3WH55JrYKB
         WhgT/zk9mu4b3ZO2aeaDqQBFKieNqn2Q+LcfTzcEb9sEs5fu9ZTwh0lrJcpfv4l2ZR4r
         0kESUNirXWifeXyMMfIE16gy5m8e53La0f6FQKskoVnibeF8pMbneOyMvrbIMDEhkH7K
         F4yg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712089530; x=1712694330;
        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=qzQQHoJQ11iL4ZRq1RRJUHfxyNKqnhQT5F/85QjSLyE=;
        b=Gkx8QNntJdkPS2vxixQYy66LyP2+eyArz+zdKhdQluDbSrYQDTbGjdoiAb8NHCkck8
         PeLgxVixTZ+dujD3NzS6HkR90V4Bolcps1k0AbBPMfsb57qY4Bug4sUdIkl9z410ky68
         KtvCXJi+1WerehMktCvH2mVX/EG6Wh2CI5B+VUmmM7fsVstlLFA/KsWrx/9kL5AWRgL9
         Sa/Eax1/GB4AiUZG3aAaxye6bLns+Q1oMJCBvIj14reJYPCZLvurhk1W8EybZes/67Of
         br/JT9m6IlM5Bj9rdg+KJb6fcKqbQqdNaYLRASR1dLBpKTQXf5dO2xD77gbjGdEO8cbg
         Cmag==
X-Forwarded-Encrypted: i=1; AJvYcCU4ZDODvDMQOrgRtK5XuSifKOz20t10LHPqjC26DAN45/jgKDVFnI3mQIgNUKgukrrsCdRU4N39OhKrzTPCgf/twEFhZ8mbk16THGBhFYI=
X-Gm-Message-State: AOJu0Yyws3d8FG1wUFX6k4BnWofoSSFB1J8ctKOUruT3cpS9RqvCox/7
	7i6DRsTYw21EKOKpJ352c1Vmb8cDlnya6liBblnaJ5QLwgeFQQT277enOGfkC80o2TNbUy1a+dO
	EF2GNGV7GEZlPbGmEbbXXIbIPVZ8=
X-Google-Smtp-Source: AGHT+IGngoKDuzCxvM9UepNkHp+ktQwyY9hfan6KLWWtdcJSgo7qrvIRP29btItHDsGC+UTo303GrDgOttbuu2r8lCQ=
X-Received: by 2002:a17:90a:db49:b0:29f:c827:bc8c with SMTP id
 u9-20020a17090adb4900b0029fc827bc8cmr11617961pjx.18.1712089529894; Tue, 02
 Apr 2024 13:25:29 -0700 (PDT)
MIME-Version: 1.0
References: <171154167446.2671062.9127105384591237363.stgit@firesoul>
 <CALUcmU=xOR1j9Asdv0Ny7x=o4Ckz80mDjbuEnJC0Z_Aepu0Zzw@mail.gmail.com> <CALUcmUkvpnq+CKSCn=cuAfxXOGU22fkBx4QD4u2nZYGM16DD6A@mail.gmail.com>
In-Reply-To: <CALUcmUkvpnq+CKSCn=cuAfxXOGU22fkBx4QD4u2nZYGM16DD6A@mail.gmail.com>
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Tue, 2 Apr 2024 22:25:13 +0200
Message-ID: <CALUcmUn0__izGAS-8gDL2h2Ceg9mdkFnLmdOgvAfO7sqxXK1-Q@mail.gmail.com>
Subject: Re: [PATCH net] xen-netfront: Add missing skb_mark_for_recycle
To: Jesper Dangaard Brouer <hawk@kernel.org>
Cc: netdev@vger.kernel.org, Ilias Apalodimas <ilias.apalodimas@linaro.org>, wei.liu@kernel.org, 
	paul@xen.org, Jakub Kicinski <kuba@kernel.org>, kirjanov@gmail.com, dkirjanov@suse.de, 
	kernel-team@cloudflare.com, security@xenproject.org, 
	andrew.cooper3@citrix.com, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

After having a better look, I have found the patch in linux-next

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=0cd74ffcf4fb0536718241d59d2c124578624d83

On Tue, 2 Apr 2024 at 10:20, Arthur Borsboom <arthurborsboom@gmail.com> wrote:
>
> On Fri, 29 Mar 2024 at 10:47, Arthur Borsboom <arthurborsboom@gmail.com> wrote:
> >
> > On Wed, 27 Mar 2024 at 13:15, Jesper Dangaard Brouer <hawk@kernel.org> wrote:
> > >
> > > Notice that skb_mark_for_recycle() is introduced later than fixes tag in
> > > 6a5bcd84e886 ("page_pool: Allow drivers to hint on SKB recycling").
> > >
> > > It is believed that fixes tag were missing a call to page_pool_release_page()
> > > between v5.9 to v5.14, after which is should have used skb_mark_for_recycle().
> > > Since v6.6 the call page_pool_release_page() were removed (in 535b9c61bdef
> > > ("net: page_pool: hide page_pool_release_page()") and remaining callers
> > > converted (in commit 6bfef2ec0172 ("Merge branch
> > > 'net-page_pool-remove-page_pool_release_page'")).
> > >
> > > This leak became visible in v6.8 via commit dba1b8a7ab68 ("mm/page_pool: catch
> > > page_pool memory leaks").
> > >
> > > Fixes: 6c5aa6fc4def ("xen networking: add basic XDP support for xen-netfront")
> > > Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > Signed-off-by: Jesper Dangaard Brouer <hawk@kernel.org>
> > > ---
> > > Compile tested only, can someone please test this
> >
> > I have tested this patch on Xen 4.18.1 with VM (Arch Linux) kernel 6.9.0-rc1.
> >
> > Without the patch there are many trace traces and cloning the Linux
> > mainline git repository resulted in failures (same with kernel 6.8.1).
> > The patched kernel 6.9.0-rc1 performs as expected; cloning the git
> > repository was successful and no kernel traces observed.
> > Hereby my tested by:
> >
> > Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> >
> >
> >
> > >  drivers/net/xen-netfront.c |    1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> > > index ad29f370034e..8d2aee88526c 100644
> > > --- a/drivers/net/xen-netfront.c
> > > +++ b/drivers/net/xen-netfront.c
> > > @@ -285,6 +285,7 @@ static struct sk_buff *xennet_alloc_one_rx_buffer(struct netfront_queue *queue)
> > >                 return NULL;
> > >         }
> > >         skb_add_rx_frag(skb, 0, page, 0, 0, PAGE_SIZE);
> > > +       skb_mark_for_recycle(skb);
> > >
> > >         /* Align ip header to a 16 bytes boundary */
> > >         skb_reserve(skb, NET_IP_ALIGN);
> > >
> > >
>
> I don't see this patch yet in linux-next.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log
>
> Any idea in which kernel release this patch will be included?


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 21:19:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 21:19:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700240.1093060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrlXp-0008Cb-DA; Tue, 02 Apr 2024 21:19:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700240.1093060; Tue, 02 Apr 2024 21: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 1rrlXp-0008CU-9H; Tue, 02 Apr 2024 21:19:49 +0000
Received: by outflank-mailman (input) for mailman id 700240;
 Tue, 02 Apr 2024 21:19:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8/NG=LH=epam.com=prvs=0822718870=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1rrlXo-0008CO-5L
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 21:19:48 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b91153b9-f136-11ee-a1ef-f123f15fe8a2;
 Tue, 02 Apr 2024 23:19:44 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 432EjUuf014309; Tue, 2 Apr 2024 21:19:23 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3x8m2f8xry-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 02 Apr 2024 21:19:22 +0000 (GMT)
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 (2603:10a6:150:16a::21) by DB3PR0302MB9184.eurprd03.prod.outlook.com
 (2603:10a6:10:43e::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr
 2024 21:19:17 +0000
Received: from GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::74c9:2488:1dd7:b976]) by GV1PR03MB10456.eurprd03.prod.outlook.com
 ([fe80::74c9:2488:1dd7:b976%3]) with mapi id 15.20.7409.042; Tue, 2 Apr 2024
 21:19:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b91153b9-f136-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aRshX0fdleM4ovrTgeYtEL3W80vZFEkANskPcbIbRzlzgYiUFhdvD+73Xcw01/6FFoFBxZwwF3m4uMM0+0AMqDYcMLAJ7YSWhqvdDWTLfLtLYeM9QsmS+DiFgnU7jhMqFflNBQBfxYFASvDYCyp+gRjB/EY18BKxQORlG2ZTrcYvwOQamn4CDFeomWAg8emRIjhKKXBfqNxTW9rDeGsGzaBLkLr2rZqAnHxK/tpxFbMa3fiPZ6VWXJ80rUiEQNMhwFU6FQCmepP8ffVqfFdMLzpETxVDaCv/o2F8UkwjVlxAKeDBG8fTsuko8Zpp8b0U/xrCxLHueV8HRCiHYugjpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=coh1wEPJ7wXL71voyGnAE/2Wx4fPwFBovKp5S2dAtBw=;
 b=e6WuADE19Vi1vkxpnJcTcbE/qirXAjrCjcRuqM8Hz1eAwoicwLlBYrg59SD8JbiJuRyurVrhf78GPWTwijtQebjWIHwKfwD2YN42xfLnN85cf7RTULo/8FaUi1faC6aNICp71c3oKj5kF+/vqY5VsHH4Gyns/n/y6U9OoYkzmtVF9vOtMmDt1EZR2PsynevMo5F6/5GAjcXoJhsKdlv4dWwuouANrnKh8vJXVu/mufAoC/R4nY6sNH0eTTWFcJTtvtumjVg6NvdbfNP5hCl2hA9z9yKYDeix7DPyvPRIY/BPMshqRfS3Zlj5uTrBkiHJoc4hk7sThgmsIbYGlpq6AQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=coh1wEPJ7wXL71voyGnAE/2Wx4fPwFBovKp5S2dAtBw=;
 b=c4K5JevHr/gIgHY9Dqr78jFa7B1iXcxIi0XYeUvqed5+u/GyBzPUKsn3YxDcgAkV23btOPhTpdUfjTkUO0EHQELjhZRiaz9HxIA84bBQRIo4FWI2N1LK0JxWHxbQ6Z1c5H/A/hdkz9kTqe7xE8ILSga1AdjhtzB9nFpavD70BrSie/E8KD7On8hnQpbjnldIeH5DadPL54r6fTnErE9XxghkfreIpiHf+aNT3KLlzZ4loaNq3s0dWIpXRs0iOypvkkGL5dv3Bc1Gh15/Y7zJDTLGs+l81F0pupng5tx+V787hzOaqgPM7vGhnqHnUMtdwt0ZZLreTkCeESdZLWUiFw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand
 Marquis <bertrand.marquis@arm.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
Thread-Topic: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
Thread-Index: AQHagW1LewNbiHn0V0mBfSyHgZWL5bFUzUoAgAADLoA=
Date: Tue, 2 Apr 2024 21:19:15 +0000
Message-ID: <87le5vxy26.fsf@epam.com>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
 <91ceb418-f055-45ba-82c4-f37e812d5242@amd.com>
In-Reply-To: <91ceb418-f055-45ba-82c4-f37e812d5242@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: GV1PR03MB10456:EE_|DB3PR0302MB9184:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 sv2ycgfy1rhVpWzIPve7mNcIB2stA8FOcTv59rzD3De7mD52N0yFizdOcIanP+nfriwHtz+LMaLlkQmrljl9PDElWa0Klvj15wRlrr0lkOxHyyVVZ2/wOWUyaYmibpaav39vxMHt8FuLKo6WfdxIzDL7XoWPbVIkJty8QWn4tEks2HDeCCYa1rrFlAkubXhJuMBL5gVYF3VITTTZx+w3FXog+NQjwX9q6x6TXMFDiGraFwx4tJS0RsGGbn3j0dkGm9Ea05QjnZ7RW1NZivBzI/+JBB0TIeDCQN33w/SI0gri31nlxTS5MkJDG4XCC6WnWAQI2EA7tfBfBAON3OZrG8xat0CPHW3VUALpJXGYPlO3q9TQt/Mu8nWg8gSdWlfi7Xkw3Ky9JDjtRdF62i9eaA9iUPMYxGnDMLWvLdOaFWk9zdGZcvjTdxvvt7Ka93g2twBZtcwEb4SN57fcKLIotq0VG5hx0D0coUSMxvBN0wMGGgV4fHscI3H9sHdXArQ8EF9UZuVDai9y6AZAXzbon8VXoPInZf48NB/uA9zLmsO9I3fggB1PmQievsupc4KCJARihOKcKrlhwWDqEYJiKG07AZRORoIB4rDQsGbX90uq12oceyl0SfZ5egAP1IRZLjxIsyk/YpIGYjax76Qqv+RLxmd5sbFNLXUFJszx5fk=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV1PR03MB10456.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?3EJOmV8egUzEuRBuhPdCWYQSc/ufdqbpX/WHkIYRdfK4G1wgpzEOZj1PBR?=
 =?iso-8859-1?Q?00x0nFyhQ8k4FTEkbhNa8BUywglNxaphjR57/r4/sxg8v7uL+z3FWj9xXm?=
 =?iso-8859-1?Q?CJVvQCAGoqqAyP9QwtXwDJy1m38RRjrDkv4Q0dZohcJ5U9pnbtn5wvkU3g?=
 =?iso-8859-1?Q?dt3Kb05pWxIVjq0b0t6BezNxgPrjstS/fKi8l2vcSwjQL+Xi10EWYzX08d?=
 =?iso-8859-1?Q?lnnHoG51ZYu7wpj0HS8TCutKemWTBMJjHlxM5zpTZTkqwJ9l0mS82WYNZK?=
 =?iso-8859-1?Q?Q88jrLQD4AJUiVqXwQTLkI8wZfzhv5vS2EsLvIafqDR4UgkYplsKnTGNzO?=
 =?iso-8859-1?Q?+5FRLsW0IuTzHD1yiq+Db7xML6GTcSI6aLPurfgnHw1/W6au9BBE+KaT9X?=
 =?iso-8859-1?Q?dP4Q1I7aavtChfCvfgBiOdAlPqrx4I6jH4RG/JSXgfKTCVAnI19K18PJ5/?=
 =?iso-8859-1?Q?JswAnvSxaC04PH/ATykYUsEpMpdCyeDgh6lAQ6QAKc4Owe5VSwu2KAAXOB?=
 =?iso-8859-1?Q?tl9UxgnPmFpcWykj3m3eX2crk1WdssH/TuNTx7DXLiz949FBlC22HThCHi?=
 =?iso-8859-1?Q?E9CoiZkcqsow//kvLEaNMvywtTVSavosiZ6xN8tK32xsZTT4747k5IKWa+?=
 =?iso-8859-1?Q?QHJI2ym94AwAZs6W0xkvO4F55q6rs1xpJ4p3D2RD5KdN3znN9QQ7m0fChU?=
 =?iso-8859-1?Q?wwi6GwlQi+PJxP3IQxNOcWsnqYM/ffWUg/MNAzqJ8Ok0N/7RD79ZlLmKKm?=
 =?iso-8859-1?Q?cqH2aQD9kBRERsny0So3ry8oJ7qWMN32irIMLjCccl+6uuCWH5Wg7xDEHs?=
 =?iso-8859-1?Q?zs9E+M9oBwLfeqbt4gEzSkORpxXoVOasNaEoijn/0rBJJ99Ca3SwUy/9/m?=
 =?iso-8859-1?Q?7zTEOj1cSvkvJfoodW6rVifwdN2MjhSn52uE2SjzSkolOuQwLDq4o1gvF6?=
 =?iso-8859-1?Q?haSZzvZ1aW7SGJKTvAy78GPBISwZf+gkyjoDam6keZAkOsHe5xT6kntB2W?=
 =?iso-8859-1?Q?gGlksPmBmYrazvEH9fSV0bpFXa63/RqVdxbKwK1OcbDOwpE7m7ywBpLBtV?=
 =?iso-8859-1?Q?6z5igUyfqh5X9NKAkKSnBaMN4a7yRVinreUaTcWBCZvcoZgiJh1jrrrXwW?=
 =?iso-8859-1?Q?J1EsuAr4mIU4yNr6kZizBD99VEyeUzRrJZZzneF8S7c8/qVkYcmFUqHZRU?=
 =?iso-8859-1?Q?kyC2OZAKgAburEFe6PyKcATN79lqf48MCgMFG+7zM7JuRsZ2pR6TPWeJ6D?=
 =?iso-8859-1?Q?RBje+UhR+oaoNOq+QBd+M9RIgHPhL9FgPsNbZFzC8v9YsB63IOy3pajD0p?=
 =?iso-8859-1?Q?4RLeGwW8jjhAa5SMfvpozVl4PbtKSGkphl6uxLqBHRBsXGE+KdlrontXbc?=
 =?iso-8859-1?Q?yr0gaHM5YPE0C5KEG+4mAgoOcJuYKXYUEOS5zjcR9/iDdGSx1rM7hNogsT?=
 =?iso-8859-1?Q?mzXlPEtCkNuyuKPZ/n655KuKPrwIlPPk/PlY9tsRB4CsJ9bGfH4MTCGET8?=
 =?iso-8859-1?Q?IqVOdPe2GwrC12BHaWLfKLQ8rcd6PzUuDsnvjxnStEY5xImGay0f9ov0O+?=
 =?iso-8859-1?Q?zBZcQ5cPPZwdhIiQYSL4cAefhBCxInql1IY5F84ZOv05Mu/2CZXyyFpIjP?=
 =?iso-8859-1?Q?dSGI30AqLqdPfnn45Ue5LnQMHLszEn8JfdZU+rd3uRC4I3woidaYtIBQ?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: GV1PR03MB10456.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b70584df-b1ac-447e-069d-08dc535a8cd3
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Apr 2024 21:19:15.4417
 (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: 9RBWCYEvLdvULOPK/XeQvsnafpI5bHT0I+3dar8QDpDSfDqL5CSkHIMXCHKcXhaay6RpsOo0KRKD9/o9Mji+OzVhlW7hxX94oal8BRFiOrs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9184
X-Proofpoint-GUID: r-CsrFT8sv9w25zlzZAqGZP6IqtXl2iL
X-Proofpoint-ORIG-GUID: r-CsrFT8sv9w25zlzZAqGZP6IqtXl2iL
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-02_14,2024-04-01_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0
 mlxscore=0 bulkscore=0 phishscore=0 adultscore=0 clxscore=1015
 impostorscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999
 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2403210001 definitions=main-2404020158


Hi Michal,

Michal Orzel <michal.orzel@amd.com> writes:

> Hello,
>
> On 29/03/2024 01:08, Volodymyr Babchuk wrote:
>>=20
>>=20
>> Generic Interface (GENI) is a newer interface for low speed interfaces
>> like UART, I2C or SPI. This patch adds the simple driver for the UART
>> instance of GENI. Code is based on similar drivers in U-Boot and Linux
>> kernel.
> Do you have a link to a manual?

I wish I had. Qualcomm provides HW manuals only under very strict
NDAs. At the time of writing I don't have access to the manual at
all. Those patches are based solely on similar drivers in U-Boot and
Linux kernel.

>>=20
>> This driver implements only simple synchronous mode, because although
>> GENI supports FIFO mode, it needs to know number of
>> characters **before** starting TX transaction. This is a stark
>> contrast when compared to other UART peripherals, which allow adding
>> characters to a FIFO while TX operation is running.
>>=20
>> The patch adds both normal UART driver and earlyprintk version.
>>=20
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> ---
>>  xen/arch/arm/Kconfig.debug           |  19 +-
>>  xen/arch/arm/arm64/debug-qcom.inc    |  76 +++++++
> Shouldn't all the files (+ other places) have geni in their names? Could =
qcom refer to other type of serial device?

AFAIK, there is an older type of serial device. Both Linux and U-Boot
use "msm" instead of "qcom" in drivers names for those devices.

But I can add "geni" to the names, no big deal.

>
>>  xen/arch/arm/include/asm/qcom-uart.h |  48 +++++
>>  xen/drivers/char/Kconfig             |   8 +
>>  xen/drivers/char/Makefile            |   1 +
>>  xen/drivers/char/qcom-uart.c         | 288 +++++++++++++++++++++++++++
>>  6 files changed, 439 insertions(+), 1 deletion(-)
>>  create mode 100644 xen/arch/arm/arm64/debug-qcom.inc
>>  create mode 100644 xen/arch/arm/include/asm/qcom-uart.h
>>  create mode 100644 xen/drivers/char/qcom-uart.c
>>=20
>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>> index eec860e88e..f6ab0bb30e 100644
>> --- a/xen/arch/arm/Kconfig.debug
>> +++ b/xen/arch/arm/Kconfig.debug
>> @@ -119,6 +119,19 @@ choice
>>                         selecting one of the platform specific options b=
elow if
>>                         you know the parameters for the port.
>>=20
>> +                       This option is preferred over the platform speci=
fic
>> +                       options; the platform specific options are depre=
cated
>> +                       and will soon be removed.
>> +       config EARLY_UART_CHOICE_QCOM
> The list is sorted alphabetically. Please adhere to that.
>

Sure

>> +               select EARLY_UART_QCOM
>> +               bool "Early printk via Qualcomm debug UART"
> Shouldn't you add depends on ARM_64? Isn't this device Arm64 specific lik=
e in Linux?
>

In linux it depends on ARCH_QCOM which can be enabled both for arm and
arm64. But for Xen case... I believe it is better to make ARM_64
dependency.

>> +               help
>> +                       Say Y here if you wish the early printk to direc=
t their
> help text here should be indented by 2 tabs and 2 spaces (do not take exa=
mple from surrounding code)
>

Would anyone mind if I'll send patch that aligns surrounding code as well?

>> +                       output to a Qualcomm debug UART. You can use thi=
s option to
>> +                       provide the parameters for the debug UART rather=
 than
>> +                       selecting one of the platform specific options b=
elow if
>> +                       you know the parameters for the port.
>> +
>>                         This option is preferred over the platform speci=
fic
>>                         options; the platform specific options are depre=
cated
>>                         and will soon be removed.
>> @@ -211,6 +224,9 @@ config EARLY_UART_PL011
>>  config EARLY_UART_SCIF
>>         select EARLY_PRINTK
>>         bool
>> +config EARLY_UART_QCOM
>> +       select EARLY_PRINTK
>> +       bool
> The list is sorted alphabetically. Please adhere to that.
>
>>=20
>>  config EARLY_PRINTK
>>         bool
>> @@ -261,7 +277,7 @@ config EARLY_UART_PL011_MMIO32
>>           will be done using 32-bit only accessors.
>>=20
>>  config EARLY_UART_INIT
>> -       depends on EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE !=3D 0
>> +       depends on (EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE !=3D =
0) || EARLY_UART_QCOM
>>         def_bool y
>>=20
>>  config EARLY_UART_8250_REG_SHIFT
>> @@ -308,3 +324,4 @@ config EARLY_PRINTK_INC
>>         default "debug-mvebu.inc" if EARLY_UART_MVEBU
>>         default "debug-pl011.inc" if EARLY_UART_PL011
>>         default "debug-scif.inc" if EARLY_UART_SCIF
>> +       default "debug-qcom.inc" if EARLY_UART_QCOM
>> diff --git a/xen/arch/arm/arm64/debug-qcom.inc b/xen/arch/arm/arm64/debu=
g-qcom.inc
>> new file mode 100644
>> index 0000000000..130d08d6e9
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/debug-qcom.inc
>> @@ -0,0 +1,76 @@
>> +/*
>> + * xen/arch/arm/arm64/debug-qcom.inc
>> + *
>> + * Qualcomm debug UART specific debug code
>> + *
>> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> + * Copyright (C) 2024, EPAM Systems.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
> No need for the license text. You should use SPDX identifier instead at t=
he top of the file:
> /* SPDX-License-Identifier: GPL-2.0-or-later */
>
>> + */
>> +
>> +#include <asm/qcom-uart.h>
>> +
>> +.macro early_uart_init xb c
> Separate macro parameters with comma (here and elsewhere) and please add =
a comment on top clarifying the use
> Also, do we really need to initialize uart every time? What if firmware d=
oes that?
>

You see, this code is working inside-out. early printk code in Xen is
written with assumption that early_uart_transmit don't need a scratch
register. But this is not true for GENI... To send one character we
must write two registers beforehand: TX_TRANS_LEN and CMD0. Only after
that we can write something to FIFO. But early_uart_transmit has no
scratch register to prepare values for TX_TRANS_LEN and CMD0. So we
write what we do here

1. Reset the state machine with ABORT command
2. Write 1 to TX_TRANS_LEN
3. Write START_TX to CMD0

Now early_uart_transmit can write "wt" to the FIFO and after that it can
use "wt" as a scratch register to repeat steps 2 and 3.

Probably I need this as a comment to into the .inc file...

>> +        mov   w\c, #M_GENI_CMD_ABORT
>> +        str   w\c, [\xb, #SE_GENI_M_CMD_CTRL_REG]
>> +1:
>> +        ldr   w\c, [\xb, #SE_GENI_M_IRQ_STATUS]   /* Load IRQ status */
>> +        tst   w\c, #M_CMD_ABORT_EN         /* Check TX_FIFI_WATERMARK_E=
N bit */
> The comment does not correspond to the code. Shouldn't this be the same a=
s in early_uart_ready?
>

We need to reset the state machine with ABORT command just in case. So
code is correct, but the comment is wrong.

>> +        beq   1b                          /* Wait for the UART to be re=
ady */
>> +        mov   w\c, #M_CMD_ABORT_EN
>> +        orr   w\c, w\c, #M_CMD_DONE_EN
>> +        str   w\c, [\xb, #SE_GENI_M_IRQ_CLEAR]
>> +
>> +        mov   w\c, #1
>> +        str   w\c, [\xb, #SE_UART_TX_TRANS_LEN]         /* write len */
>> +
>> +        mov   w\c, #(UART_START_TX << M_OPCODE_SHFT)    /* Prepare cmd =
 */
>> +        str   w\c, [\xb, #SE_GENI_M_CMD0]               /* write cmd */
>> +.endm
>> +/*
>> + * wait for UART to be ready to transmit
>> + * xb: register which contains the UART base address
>> + * c: scratch register
>> + */
>> +.macro early_uart_ready xb c
>> +1:
>> +        ldr   w\c, [\xb, #SE_GENI_M_IRQ_STATUS] /* Load IRQ status */
>> +        tst   w\c, #M_TX_FIFO_WATERMARK_EN  /* Check TX_FIFI_WATERMARK_=
EN bit */
>> +        beq    1b                           /* Wait for the UART to be =
ready */
>> +.endm
>> +
>> +/*
>> + * 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
>> +        str   \wt, [\xb, #SE_GENI_TX_FIFOn]             /* Put char to =
FIFO */
>> +        mov   \wt, #M_TX_FIFO_WATERMARK_EN              /* Prepare to F=
IFO */
>> +        str   \wt, [\xb, #SE_GENI_M_IRQ_CLEAR]          /* Kick FIFO */
>> +95:
>> +        ldr   \wt, [\xb, #SE_GENI_M_IRQ_STATUS]         /* Load IRQ sta=
tus */
>> +        tst   \wt, #M_CMD_DONE_EN           /* Check TX_FIFO_WATERMARK_=
EN bit */
>> +        beq   95b                           /* Wait for the UART to be =
ready */
>> +        mov   \wt, #M_CMD_DONE_EN
>> +        str   \wt, [\xb, #SE_GENI_M_IRQ_CLEAR]
>> +
>> +        mov   \wt, #(UART_START_TX << M_OPCODE_SHFT)    /* Prepare next=
 cmd */
>> +        str   \wt, [\xb, #SE_GENI_M_CMD0]               /* write cmd */
>> +.endm
>> +
>> +/*
>> + * Local variables:
>> + * mode: ASM
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/arch/arm/include/asm/qcom-uart.h b/xen/arch/arm/include=
/asm/qcom-uart.h
>> new file mode 100644
>> index 0000000000..dc9579374c
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/qcom-uart.h
>> @@ -0,0 +1,48 @@
>> +/*
>> + * xen/include/asm-arm/qcom-uart.h
> What's the use of this pseudo path? I would drop it or provide a correct =
path.
>
>> + *
>> + * Common constant definition between early printk and the UART driver
>> + * for the Qualcomm debug UART
>> + *
>> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> + * Copyright (C) 2024, EPAM Systems.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
> No need for the license text. You should use SPDX identifier instead at t=
he top of the file:
> /* SPDX-License-Identifier: GPL-2.0-or-later */
>
>> + */
>> +
>> +#ifndef __ASM_ARM_QCOM_UART_H
>> +#define __ASM_ARM_QCOM_UART_H
>> +
>> +#define SE_UART_TX_TRANS_LEN            0x270
>> +#define SE_GENI_M_CMD0                  0x600
>> +#define   UART_START_TX                 0x1
>> +#define   M_OPCODE_SHFT                 27
>> +
>> +#define SE_GENI_M_CMD_CTRL_REG          0x604
>> +#define   M_GENI_CMD_ABORT              BIT(1, U)
>> +#define SE_GENI_M_IRQ_STATUS            0x610
>> +#define   M_CMD_DONE_EN                 BIT(0, U)
>> +#define   M_CMD_ABORT_EN                BIT(5, U)
>> +#define   M_TX_FIFO_WATERMARK_EN        BIT(30, U)
>> +#define SE_GENI_M_IRQ_CLEAR             0x618
>> +#define SE_GENI_TX_FIFOn                0x700
>> +#define SE_GENI_TX_WATERMARK_REG        0x80c
> AFAICT, in this header you listed only regs used both by assembly and c c=
ode.
> However, SE_GENI_TX_WATERMARK_REG is not used in assembly.
> Also, my personal opinion is that it would make more sense to list here a=
ll the regs.

Okay, I'll move all the register to the header.

>> +
>> +#endif /* __ASM_ARM_QCOM_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 e18ec3788c..52c3934d06 100644
>> --- a/xen/drivers/char/Kconfig
>> +++ b/xen/drivers/char/Kconfig
>> @@ -68,6 +68,14 @@ config HAS_SCIF
>>           This selects the SuperH SCI(F) UART. If you have a SuperH base=
d board,
>>           or Renesas R-Car Gen 2/3 based board say Y.
>>=20
>> +config HAS_QCOM_UART
>> +       bool "Qualcomm GENI UART driver"
>> +       default y
>> +       depends on ARM
> Isn't is Arm64 specific device?
>

Probably yes. I believe it is safe to assume that it is Arm64-specific
in Xen case.

>> +       help
>> +         This selects the Qualcomm GENI-based UART driver. If you
>> +         have a Qualcomm-based board board say Y here.
>> +
>>  config HAS_EHCI
>>         bool
>>         depends on X86
>> diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
>> index e7e374775d..698ad0578c 100644
>> --- a/xen/drivers/char/Makefile
>> +++ b/xen/drivers/char/Makefile
>> @@ -7,6 +7,7 @@ obj-$(CONFIG_HAS_MESON) +=3D meson-uart.o
>>  obj-$(CONFIG_HAS_MVEBU) +=3D mvebu-uart.o
>>  obj-$(CONFIG_HAS_OMAP) +=3D omap-uart.o
>>  obj-$(CONFIG_HAS_SCIF) +=3D scif-uart.o
>> +obj-$(CONFIG_HAS_QCOM_UART) +=3D qcom-uart.o
> Q comes before S
>
>>  obj-$(CONFIG_HAS_EHCI) +=3D ehci-dbgp.o
>>  obj-$(CONFIG_XHCI) +=3D xhci-dbc.o
>>  obj-$(CONFIG_HAS_IMX_LPUART) +=3D imx-lpuart.o
>> diff --git a/xen/drivers/char/qcom-uart.c b/xen/drivers/char/qcom-uart.c
>> new file mode 100644
>> index 0000000000..2614051ca0
>> --- /dev/null
>> +++ b/xen/drivers/char/qcom-uart.c
>> @@ -0,0 +1,288 @@
>> +/*
>> + * xen/drivers/char/qcom-uart.c
>> + *
>> + * Driver for Qualcomm GENI-based UART interface
>> + *
>> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> + *
>> + * Copyright (C) EPAM Systems 2024
>> + *
>> + * 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.
> No need for the license text. You should use SPDX identifier instead at t=
he top of the file:
> /* SPDX-License-Identifier: GPL-2.0-or-later */
>
>> + */
>> +
>> +#include <xen/console.h>
>> +#include <xen/const.h>
>> +#include <xen/errno.h>
>> +#include <xen/serial.h>
>> +#include <xen/init.h>
>> +#include <xen/irq.h>
>> +#include <xen/mm.h>
>> +#include <xen/delay.h>
>> +#include <asm/device.h>
>> +#include <asm/qcom-uart.h>
>> +#include <asm/io.h>
>> +
>> +#define GENI_FORCE_DEFAULT_REG          0x20
>> +#define   FORCE_DEFAULT                 BIT(0, U)
>> +#define   DEF_TX_WM                     2
>> +#define SE_GENI_TX_PACKING_CFG0         0x260
>> +#define SE_GENI_TX_PACKING_CFG1         0x264
>> +#define SE_GENI_RX_PACKING_CFG0         0x284
>> +#define SE_GENI_RX_PACKING_CFG1         0x288
>> +#define SE_GENI_M_IRQ_EN                0x614
>> +#define   M_SEC_IRQ_EN                  BIT(31, U)
>> +#define   M_RX_FIFO_WATERMARK_EN        BIT(26, U)
>> +#define   M_RX_FIFO_LAST_EN             BIT(27, U)
>> +#define SE_GENI_S_CMD0                  0x630
>> +#define   UART_START_READ               0x1
>> +#define   S_OPCODE_SHFT                 27
>> +#define SE_GENI_S_CMD_CTRL_REG          0x634
>> +#define   S_GENI_CMD_ABORT              BIT(1, U)
>> +#define SE_GENI_S_IRQ_STATUS            0x640
>> +#define SE_GENI_S_IRQ_EN                0x644
>> +#define   S_RX_FIFO_LAST_EN             BIT(27, U)
>> +#define   S_RX_FIFO_WATERMARK_EN        BIT(26, U)
>> +#define   S_CMD_ABORT_EN                BIT(5, U)
>> +#define   S_CMD_DONE_EN                 BIT(0, U)
>> +#define SE_GENI_S_IRQ_CLEAR             0x648
>> +#define SE_GENI_RX_FIFOn                0x780
>> +#define SE_GENI_TX_FIFO_STATUS          0x800
>> +#define   TX_FIFO_WC                    GENMASK(27, 0)
>> +#define SE_GENI_RX_FIFO_STATUS          0x804
>> +#define   RX_LAST                       BIT(31, U)
>> +#define   RX_LAST_BYTE_VALID_MSK        GENMASK(30, 28)
>> +#define   RX_LAST_BYTE_VALID_SHFT       28
>> +#define   RX_FIFO_WC_MSK                GENMASK(24, 0)
>> +#define SE_GENI_TX_WATERMARK_REG        0x80c
>> +
>> +static struct qcom_uart {
>> +    unsigned int irq;
>> +    char __iomem *regs;
>> +    struct irqaction irqaction;
>> +} qcom_com =3D {0};
>> +
>> +static bool qcom_uart_poll_bit(void *addr, uint32_t mask, bool set)
>> +{
>> +    unsigned long timeout_us =3D 20000;
> Why UL and not U?
>
>> +    uint32_t reg;
>> +
>> +    while ( timeout_us ) {
> Brace should be placed on its own line
>
>> +        reg =3D readl(addr);
>> +        if ( (bool)(reg & mask) =3D=3D set )
>> +            return true;
>> +        udelay(10);
>> +        timeout_us -=3D 10;
>> +    }
>> +
>> +    return false;
>> +}
>> +
>> +static void __init qcom_uart_init_preirq(struct serial_port *port)
>> +{
>> +    struct qcom_uart *uart =3D port->uart;
>> +
>> +    /* Stop anything in TX that earlyprintk configured and clear all er=
rors */
>> +    writel(M_GENI_CMD_ABORT, uart->regs + SE_GENI_M_CMD_CTRL_REG);
> It would be easier to creare wrappers that would improve readability:
> #define qcom_write(uart, off, val) writel((val), (uart)->regs + (off))
> #define qcom_read(uart, off) readl((uart)->regs + (off))
>
>> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_CMD_ABORT_E=
N,
>> +                       true);
>> +    writel(M_CMD_ABORT_EN, uart->regs + SE_GENI_M_IRQ_CLEAR);
>> +
>> +    /*
>> +     * Configure FIFO length: 1 byte per FIFO entry. This is terribly
>> +     * ineffective, as it is possible to cram 4 bytes per FIFO word,
>> +     * like Linux does. But using one byte per FIFO entry makes this
>> +     * driver much simpler.
>> +     */
>> +    writel(0xf, uart->regs + SE_GENI_TX_PACKING_CFG0);
>> +    writel(0x0, uart->regs + SE_GENI_TX_PACKING_CFG1);
>> +    writel(0xf, uart->regs + SE_GENI_RX_PACKING_CFG0);
>> +    writel(0x0, uart->regs + SE_GENI_RX_PACKING_CFG1);
>> +
>> +    /* Reset RX state machine */
>> +    writel(S_GENI_CMD_ABORT, uart->regs + SE_GENI_S_CMD_CTRL_REG);
>> +    qcom_uart_poll_bit(uart->regs + SE_GENI_S_CMD_CTRL_REG,
>> +                       S_GENI_CMD_ABORT, false);
>> +    writel(S_CMD_DONE_EN | S_CMD_ABORT_EN, uart->regs + SE_GENI_S_IRQ_C=
LEAR);
>> +    writel(FORCE_DEFAULT, uart->regs + GENI_FORCE_DEFAULT_REG);
>> +}
>> +
>> +static void qcom_uart_interrupt(int irq, void *data, struct cpu_user_re=
gs *regs)
> serial_rx_interrupt has been modified not to take regs as parameter. Your=
 patch breaks the build here.
> You need to remove regs from here and ...
>
>> +{
>> +    struct serial_port *port =3D data;
>> +    struct qcom_uart *uart =3D port->uart;
>> +    uint32_t m_irq_status, s_irq_status;
>> +
>> +    m_irq_status =3D readl(uart->regs + SE_GENI_M_IRQ_STATUS);
>> +    s_irq_status =3D readl(uart->regs + SE_GENI_S_IRQ_STATUS);
>> +    writel(m_irq_status, uart->regs + SE_GENI_M_IRQ_CLEAR);
>> +    writel(s_irq_status, uart->regs + SE_GENI_S_IRQ_CLEAR);
>> +
>> +    if ( s_irq_status & (S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN) )
>> +        serial_rx_interrupt(port, regs);
> here.
>
>> +}
>> +
>> +static void __init qcom_uart_init_postirq(struct serial_port *port)
>> +{
>> +    struct qcom_uart *uart =3D port->uart;
>> +    int rc;
>> +    uint32_t val;
>> +
>> +    uart->irqaction.handler =3D qcom_uart_interrupt;
>> +    uart->irqaction.name    =3D "qcom_uart";
>> +    uart->irqaction.dev_id  =3D port;
>> +
>> +    if ( (rc =3D setup_irq(uart->irq, 0, &uart->irqaction)) !=3D 0 )
> Value assigned to rc does not seem to be used at all
>
>> +        dprintk(XENLOG_ERR, "Failed to allocated qcom_uart IRQ %d\n",
>> +                uart->irq);
>> +
>> +    /* Enable TX/RX and Error Interrupts  */
>> +    writel(S_GENI_CMD_ABORT, uart->regs + SE_GENI_S_CMD_CTRL_REG);
>> +    qcom_uart_poll_bit(uart->regs + SE_GENI_S_CMD_CTRL_REG,
>> +                       S_GENI_CMD_ABORT, false);
>> +    writel(S_CMD_DONE_EN | S_CMD_ABORT_EN, uart->regs + SE_GENI_S_IRQ_C=
LEAR);
>> +    writel(FORCE_DEFAULT, uart->regs + GENI_FORCE_DEFAULT_REG);
>> +
>> +    val =3D readl(uart->regs + SE_GENI_S_IRQ_EN);
>> +    val =3D S_RX_FIFO_WATERMARK_EN | S_RX_FIFO_LAST_EN;
>> +    writel(val, uart->regs + SE_GENI_S_IRQ_EN);
>> +
>> +    val =3D readl(uart->regs + SE_GENI_M_IRQ_EN);
>> +    val =3D M_RX_FIFO_WATERMARK_EN | M_RX_FIFO_LAST_EN;
>> +    writel(val, uart->regs + SE_GENI_M_IRQ_EN);
>> +
>> +    /* Send RX command */
>> +    writel(UART_START_READ << S_OPCODE_SHFT, uart->regs + SE_GENI_S_CMD=
0);
>> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_SEC_IRQ_EN,
>> +                       true);
>> +}
>> +
>> +static void qcom_uart_putc(struct serial_port *port, char c)
>> +{
>> +    struct qcom_uart *uart =3D port->uart;
>> +    uint32_t irq_clear =3D M_CMD_DONE_EN;
>> +    uint32_t m_cmd;
>> +    bool done;
>> +
>> +    /* Setup TX */
>> +    writel(1, uart->regs + SE_UART_TX_TRANS_LEN);
>> +
>> +    writel(DEF_TX_WM, uart->regs + SE_GENI_TX_WATERMARK_REG);
>> +
>> +    m_cmd =3D UART_START_TX << M_OPCODE_SHFT;
>> +    writel(m_cmd, uart->regs + SE_GENI_M_CMD0);
>> +
>> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS,
>> +                       M_TX_FIFO_WATERMARK_EN, true);
>> +
>> +    writel(c, uart->regs + SE_GENI_TX_FIFOn);
>> +    writel(M_TX_FIFO_WATERMARK_EN, uart->regs + SE_GENI_M_IRQ_CLEAR);
>> +
>> +    /* Check for TX done */
>> +    done =3D qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_CM=
D_DONE_EN,
>> +                              true);
>> +    if ( !done )
>> +    {
>> +        writel(M_GENI_CMD_ABORT, uart->regs + SE_GENI_M_CMD_CTRL_REG);
>> +        irq_clear |=3D M_CMD_ABORT_EN;
>> +        qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_CMD_ABO=
RT_EN,
>> +                           true);
>> +
>> +    }
>> +    writel(irq_clear, uart->regs + SE_GENI_M_IRQ_CLEAR);
>> +}
>> +
>> +static int qcom_uart_getc(struct serial_port *port, char *pc)
>> +{
>> +    struct qcom_uart *uart =3D port->uart;
>> +
>> +    if ( !readl(uart->regs + SE_GENI_RX_FIFO_STATUS) )
>> +        return 0;
>> +
>> +    *pc =3D readl(uart->regs + SE_GENI_RX_FIFOn) & 0xFF;
>> +
>> +    writel(UART_START_READ << S_OPCODE_SHFT, uart->regs + SE_GENI_S_CMD=
0);
>> +    qcom_uart_poll_bit(uart->regs + SE_GENI_M_IRQ_STATUS, M_SEC_IRQ_EN,
>> +                       true);
>> +
>> +    return 1;
>> +
>> +}
>> +
>> +static struct uart_driver __read_mostly qcom_uart_driver =3D {
>> +    .init_preirq  =3D qcom_uart_init_preirq,
>> +    .init_postirq =3D qcom_uart_init_postirq,
>> +    .putc         =3D qcom_uart_putc,
>> +    .getc         =3D qcom_uart_getc,
>> +};
>> +
>> +static const struct dt_device_match qcom_uart_dt_match[] __initconst =
=3D
>> +{
>> +    { .compatible =3D "qcom,geni-debug-uart"},
>> +    { /* sentinel */ },
>> +};
> Can you move it right before DT_DEVICE_START?.
>
>> +
>> +static int __init qcom_uart_init(struct dt_device_node *dev,
>> +                                 const void *data)
>> +{
>> +    const char *config =3D data;
>> +    struct qcom_uart *uart;
>> +    int res;
>> +    paddr_t addr, size;
>> +
>> +    if ( strcmp(config, "") )
>> +        printk("WARNING: UART configuration is not supported\n");
>> +
>> +    uart =3D &qcom_com;
>> +
>> +    res =3D dt_device_get_paddr(dev, 0, &addr, &size);
>> +    if ( res )
>> +    {
>> +        printk("qcom-uart: Unable to retrieve the base"
>> +               " address of the UART\n");
>> +        return res;
>> +    }
>> +
>> +    res =3D platform_get_irq(dev, 0);
>> +    if ( res < 0 )
>> +    {
>> +        printk("qcom-uart: Unable to retrieve the IRQ\n");
>> +        return res;
>> +    }
>> +    uart->irq =3D res;
>> +
>> +    uart->regs =3D ioremap_nocache(addr, size);
>> +    if ( !uart->regs )
>> +    {
>> +        printk("qcom-uart: Unable to map the UART memory\n");
>> +        return -ENOMEM;
>> +    }
>> +
>> +    /* Register with generic serial driver */
>> +    serial_register_uart(SERHND_DTUART, &qcom_uart_driver, uart);
>> +
>> +    dt_device_set_used_by(dev, DOMID_XEN);
>> +
>> +    return 0;
>> +}
>> +
>> +DT_DEVICE_START(qcom_uart, "QCOM UART", DEVICE_SERIAL)
>> +    .dt_match =3D qcom_uart_dt_match,
>> +    .init =3D qcom_uart_init,
>> +DT_DEVICE_END
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> --
>> 2.43.0
>
> What about vUART? You don't seem to set vuart information that is used by=
 vuart.c and vpl011.c
>

I am not sure that it is possible to emulate GENI UART with simple vuart
API. vuart makes assumption that there is one simple status register and
FIFO register operates on per-character basis, while even earlycon part
of the driver in Linux tries to pack 4 characters to one FIFO write.

Thank you for the review. I'll address all other comments as you
suggested.=20

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 23:22:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 23:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700244.1093071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrnRy-0005Ng-Ta; Tue, 02 Apr 2024 23:21:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700244.1093071; Tue, 02 Apr 2024 23:21:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrnRy-0005NZ-PB; Tue, 02 Apr 2024 23:21:54 +0000
Received: by outflank-mailman (input) for mailman id 700244;
 Tue, 02 Apr 2024 23:21: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=Fe4w=LH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rrnRw-0005NT-Sh
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 23:21:52 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c75e77e7-f147-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 01:21:50 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 61771CE1E5D;
 Tue,  2 Apr 2024 23:21:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACAB8C433C7;
 Tue,  2 Apr 2024 23:21: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: c75e77e7-f147-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712100103;
	bh=CxiARtPXVyYs3sl9Wqk24XA1llUNiyPjEbjht2Ja6pw=;
	h=Date:From:To:cc:Subject:From;
	b=BDdy8vtPOCL2g9E8uhMEVXNGgL8gvIV5++zjj2LXjKp0bhjIaiJliWBdz7QV/gQLs
	 rWdMfitdIzvV0i4RZHADcaUzjEtAcQL2rADcAO4D6vLz0INF03ffwr9FfdY0Xh/Rq8
	 ioPFRg9z6m8svARslwghL3afvibwTrgqgWadW6lcbYaQWNi/o2YY3HtVgIfJp8tcM4
	 rM78d/GgUYtOhuUxvNwkzM0Sdu5a0gPZun2RaR0jsbsKYbSmOvFGZazPYYkiZfNZdr
	 ZoO15flEUbtbzwNB1prDxyu51IUhP2OoOk8xuF0am8ik4v5ynzjjjw7cYG/o5wsUOX
	 VCMOLzkuhjEqg==
Date: Tue, 2 Apr 2024 16:21:41 -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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>
Subject: [PATCH] docs/misra: add 13.6 to rules.rst
Message-ID: <alpine.DEB.2.22.394.2404021618030.2245130@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

As agreed during MISRA C meetings, add Rule 13.6 to rules.rst.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
There was a request to expand the scope to also include alignof and
typeof. Depending on whether the MISRA C scanners support it, and under
which rules violations will be listed, rules.rst will be updated
accordingly (either updating the notes section of 13.6 or adding a new
entry.)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 1e134ccebc..415b5b63c3 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -445,6 +445,12 @@ maintainers if you want to suggest a change.
      - Initializer lists shall not contain persistent side effects
      -
 
+   * - `Rule 13.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_13_06.c>`_
+     - Required
+     - The operand of the sizeof operator shall not contain any
+       expression which has potential side-effects
+     -
+
    * - `Rule 14.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_14_01.c>`_
      - Required
      - A loop counter shall not have essentially floating type


From xen-devel-bounces@lists.xenproject.org Tue Apr 02 23:31:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 02 Apr 2024 23:31:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700247.1093080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrnbb-0006zb-O6; Tue, 02 Apr 2024 23:31:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700247.1093080; Tue, 02 Apr 2024 23:31:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrnbb-0006zU-LT; Tue, 02 Apr 2024 23:31:51 +0000
Received: by outflank-mailman (input) for mailman id 700247;
 Tue, 02 Apr 2024 23:31:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=04u5=LH=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1rrnba-0006zO-Eo
 for xen-devel@lists.xenproject.org; Tue, 02 Apr 2024 23:31:50 +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 2b4f70e1-f149-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 01:31:47 +0200 (CEST)
Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com
 [209.85.219.173]) by mx.zohomail.com
 with SMTPS id 1712100701439131.51364823275435;
 Tue, 2 Apr 2024 16:31:41 -0700 (PDT)
Received: by mail-yb1-f173.google.com with SMTP id
 3f1490d57ef6-dcc84ae94c1so5427910276.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 16:31: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: 2b4f70e1-f149-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; t=1712100703; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=kpAlG4aHUz1tJ+ouBK+2znL5bFS/px2v/6EXZuN7HST0vU+ycGf32/IGFfYbjQIvlQ+rFl0ogZMehvocNKQQjRBLPG6l1RZAA7VLEyIIj2uWGeXbSmclbBt2Iax0lkb0GMaD2kq/GpKekzuz3MYvWh0X+APvjOh0OZ1JphFSh4E=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712100703; 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=EYP8PWl+bK+SJNmCjUrcXX7Vqb5dR3fFTMsCwEA/OaI=; 
	b=HZAewB5MHxN72CK/ojIA462EUD1CIsthTBWh90VgVa8nnbBSyVBScjBdESdieGbt/2pqj+C+VSbz3xT1Fx5i3XVX0OtN3giY7YMXCA+DE2dYh27TgTjV0gyPa6vwGX9MiaRi98iffaaSMZFarI57RMX16sgfEjKIQW5ApUoXHik=
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=1712100703;
	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=EYP8PWl+bK+SJNmCjUrcXX7Vqb5dR3fFTMsCwEA/OaI=;
	b=b7R5xdzBWUomqYCQ7U77pPdsHvStqoEXBQDAiZf3XYzKeYQo3YSqeg0GuHNOwECQ
	hyeKX4sv+MHsXMNp5aIwFf4k50G00r+4eFTJExLBubbtRLQSxg15vxBH1mCSnzt3lKs
	oRNiImGKCC84CGJT5zTR2i4XXnFjBdDhVev7JWz8=
X-Gm-Message-State: AOJu0YwH8yFkh24oxH1v/FTDKbNIddzrhcW17QM5qlp2akrpDlsTloE1
	GKzzSJGYWfv+JJ2Y9BMjHgfuGgCVMIirOMJSYh4OTMoEGJADAW3aPpahqLLjkLigqie20vG9YsT
	Sktmn1c4GRrggHX8mqbujgU4IT/c=
X-Google-Smtp-Source: AGHT+IGtZ3uuwztVzjIZDtYOR4TYAnkni6ePM0Wwl2Doh26QMV67sf7TgkvusyQxNLLsuLi7vCyQPTYDlyM8d51hvlM=
X-Received: by 2002:a25:9e0b:0:b0:dcd:40fa:7bd0 with SMTP id
 m11-20020a259e0b000000b00dcd40fa7bd0mr11766124ybq.3.1712100700413; Tue, 02
 Apr 2024 16:31:40 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1712042178.git.federico.serafini@bugseng.com> <fcf24478d1f56c6159489fe65f8b8be2c07beab3.1712042178.git.federico.serafini@bugseng.com>
In-Reply-To: <fcf24478d1f56c6159489fe65f8b8be2c07beab3.1712042178.git.federico.serafini@bugseng.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 2 Apr 2024 19:31:04 -0400
X-Gmail-Original-Message-ID: <CABfawh=HW14N8-A9MBrF+R5RtLkhvK8PYX9V-+xMCXHOQkjcng@mail.gmail.com>
Message-ID: <CABfawh=HW14N8-A9MBrF+R5RtLkhvK8PYX9V-+xMCXHOQkjcng@mail.gmail.com>
Subject: Re: [XEN PATCH 6/7] xen/vm-event: address a violation of MISRA C:2012
 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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 2, 2024 at 3:24=E2=80=AFAM Federico Serafini
<federico.serafini@bugseng.com> wrote:
>
> Add break statement to 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 Wed Apr 03 01:45:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 01:45:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700264.1093118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrpgf-00040m-Md; Wed, 03 Apr 2024 01:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700264.1093118; Wed, 03 Apr 2024 01: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 1rrpgf-00040R-IQ; Wed, 03 Apr 2024 01:45:13 +0000
Received: by outflank-mailman (input) for mailman id 700264;
 Wed, 03 Apr 2024 01:45: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 1rrpge-000401-W1; Wed, 03 Apr 2024 01:45: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 1rrpge-0005dC-UW; Wed, 03 Apr 2024 01: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 1rrpge-0001cd-GU; Wed, 03 Apr 2024 01:45:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrpge-0002GB-GB; Wed, 03 Apr 2024 01:45: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=iViNPuw9Upf7/gdTlK1FFJWbScIhy2eFtuR4FuJa7mQ=; b=scjL0jwuGVZl9G88MAEJKXw7IC
	/N8aG0nwg91zNnYA3ClnmAUOLM1PwKJ99ww7F4rOa1Lb4a68caQv2KMLD86gV3EUsIGkxJ3f6T2VN
	7W709VsNzVgVsKAEVWD8s+ecwl2lq5nuNyo2OJXySuGCSE17FqjFo/WLR+m/TYO64Tag=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185218-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185218: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl: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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-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-amd64-amd64-libvirt-vhd:migrate-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
    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-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=17cf285d87e28a9ee9ab1f192982fc6dfc9e4193
X-Osstest-Versions-That:
    xen=0a8b92d0a47797ec4d70c7fd7b05abbc135b51dc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 01:45:12 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  17cf285d87e28a9ee9ab1f192982fc6dfc9e4193
baseline version:
 xen                  0a8b92d0a47797ec4d70c7fd7b05abbc135b51dc

Last test of basis   185183  2024-03-28 16:05:48 Z    5 days
Testing same since   185218  2024-04-02 14:38:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   0a8b92d0a4..17cf285d87  17cf285d87e28a9ee9ab1f192982fc6dfc9e4193 -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 03:44:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 03:44:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700272.1093136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrrXt-0000lQ-1F; Wed, 03 Apr 2024 03:44:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700272.1093136; Wed, 03 Apr 2024 03: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 1rrrXs-0000lJ-Tn; Wed, 03 Apr 2024 03:44:16 +0000
Received: by outflank-mailman (input) for mailman id 700272;
 Wed, 03 Apr 2024 03:44:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrrXs-0000l0-3k; Wed, 03 Apr 2024 03:44:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrrXs-00084H-1K; Wed, 03 Apr 2024 03:44:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrrXr-0005FK-MY; Wed, 03 Apr 2024 03:44:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrrXr-0001zs-MD; Wed, 03 Apr 2024 03:44:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iT/BdkUyXRiP8MexJjjPcClA/MBgaEjXCEslaugiBpo=; b=X+m2y4cUnG8Lt4FDm1CsrbHG1z
	rvRMlw06/YRpiyuKfw2biCLkHYnrgmP/9gwc0hO8QKs5fMa0G7JTUv4MiTCft7WfkRCVs4MR3wNgj
	ew/sfpNW/iiikG4XsHetxGSmxtHS0IdlrL5S61RDEKpWjd4toaSQukJplnDjbH1/GANk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185217-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185217: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-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-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-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-vhd:migrate-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: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-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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-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-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9bc40dbcf9eafccc1923b2555286bf6a2af03b7a
X-Osstest-Versions-That:
    xen=f38a815a54000ca51ff5165b2863d60b6bbea49c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 03:44:15 +0000

flight 185217 xen-4.17-testing real [real]
flight 185221 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185217/
http://logs.test-lab.xenproject.org/osstest/logs/185221/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl    18 guest-start/debian.repeat fail pass in 185221-retest

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

Last test of basis   185180  2024-03-28 10:52:41 Z    5 days
Testing same since   185217  2024-04-02 14:38:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-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
   f38a815a54..9bc40dbcf9  9bc40dbcf9eafccc1923b2555286bf6a2af03b7a -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 05:17:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 05:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700284.1093167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrszj-00034m-VM; Wed, 03 Apr 2024 05:17:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700284.1093167; Wed, 03 Apr 2024 05:17:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrszj-00034f-Qw; Wed, 03 Apr 2024 05:17:07 +0000
Received: by outflank-mailman (input) for mailman id 700284;
 Wed, 03 Apr 2024 05:17: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 1rrszi-00034V-5z; Wed, 03 Apr 2024 05:17: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 1rrszh-0001pJ-Qw; Wed, 03 Apr 2024 05:17: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 1rrszh-0000dn-J8; Wed, 03 Apr 2024 05:17:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrszh-0000k1-Ig; Wed, 03 Apr 2024 05:17:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=peJiH8vzGxgbniGPzhNSPWN83OClc6z0Z3DMgDRQWOM=; b=jxNlL33uTmHEuS4eZDudEHobJJ
	O/imzvEAQoURMUPPxkRenDeIfhCqn28PVDrK6aQOKOIoBQS8LIO32yDYMhjRz9DBjPH8v62EUs641
	PYelqwHdFs8Dr3PmxnDGjf97GCO1wFAClfw49+pllaqS+/riCDgKD5XH2bl/C8c9BcwA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185223-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185223: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b3871141136ac643332587f33f2e4fa78d72eb07
X-Osstest-Versions-That:
    ovmf=8f698f0a646124ede518d3e255ef725de1239639
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 05:17:05 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b3871141136ac643332587f33f2e4fa78d72eb07
baseline version:
 ovmf                 8f698f0a646124ede518d3e255ef725de1239639

Last test of basis   185212  2024-04-01 03:13:04 Z    2 days
Testing same since   185223  2024-04-03 02:42:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Qingyu <qingyu.shang@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
   8f698f0a64..b387114113  b3871141136ac643332587f33f2e4fa78d72eb07 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 05:52:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 05:52:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700289.1093176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrtXs-0007ey-Gb; Wed, 03 Apr 2024 05:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700289.1093176; Wed, 03 Apr 2024 05: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 1rrtXs-0007er-Db; Wed, 03 Apr 2024 05:52:24 +0000
Received: by outflank-mailman (input) for mailman id 700289;
 Wed, 03 Apr 2024 05: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrtXr-0007el-Fp
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 05:52:23 +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 565250be-f17e-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 07:52:21 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-33ff53528ceso4254919f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 22:52: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
 r8-20020adfb1c8000000b0033e206a0a7asm16208262wra.26.2024.04.02.22.52.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 22:52: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: 565250be-f17e-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712123541; x=1712728341; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=7B2xm8LfoO44zkIAissXotfYAfHPsCOayDShK5J2RfA=;
        b=aWsfsDnqkLj8+UbUO8bBwzALzuepK79LVT3lK9KdF6dNS1UycILhRHrfBpwMqaRP0u
         DZkil30LRFazwApZhVYIt6QqEeb+MMu/iQWY2U90ippuw/ObkD2ey/t+fFPndJCn04NW
         okc9GgG/mrHCikGHYAJVpv/faBujYxTJsxQf/UR3hmydMaymR1jHNTmF6j4/g5G+cpF2
         QK1DynJEgSx7ZNYoLAzoPMIfufKUxKfgowyRtL3sIWZTLCYmlAashOWbA0+EExLorjzA
         x/zrl/e0GoCVr/XPTafCtcxzaci/LvG2blzXe7LkRDna2EOa/U7rHUuE/uPejOIBHobF
         RFLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712123541; x=1712728341;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7B2xm8LfoO44zkIAissXotfYAfHPsCOayDShK5J2RfA=;
        b=CbYASTlqI6VQxq/nvYiOfUPunfYz8bM2ROZPlCak+Kfl6n3/ewqHzJMNUxe7groRkl
         kTeeuYeiaT4u5Z2OFU+ve8Ujae1QfhUB9pxcUaxjgs67FY1Ud1REMKisZXXrA4IK5K+P
         kbLWepHIrSM7UNfKbx6Xgc26Hcl/PqsZT6CmZr9+jO19yiHHFqzYC4Ascb7Wql+4Fs71
         zWuDSsWuRUHrstRcorfTaJw3At4sLZ7qo32BsWZZ1uoMhPinERb3r8bSFKhMg+wbipQk
         weVhDM1O9xUGE3MmkYaw3NlYBV5O/s/hfNNyvdLNHbBd39wFAEjmzWOCs+GzTmJKkuSz
         pM5w==
X-Forwarded-Encrypted: i=1; AJvYcCWKM9Wq9O/Uys+801TzK5ctAFmFFsRL7MXUeghgzP+r05kt7nvjgfGmhO7wqZNUefb8SisQxz7TJvHC/+qieFVuoUQ1LXJ7Idcid8PaJ0E=
X-Gm-Message-State: AOJu0YwdkulsxHlV3xHYs/cgXdQrN07qqt918BxGU2gVKspP8oPJtkQK
	vlGwEmxddJOjWO8C7FiVA7P4NJ6Rz8DGJMS2smISSzPOVsseOLZ5vfYIplHecg==
X-Google-Smtp-Source: AGHT+IGdUUjGUXYNpikH2HjStca3j+AjrZN5Z5eQDdMVRANZ55QpMoQvNHl3HJBapKk/CQcA0APnAA==
X-Received: by 2002:adf:e246:0:b0:342:2eb8:4333 with SMTP id bl6-20020adfe246000000b003422eb84333mr993740wrb.10.1712123540863;
        Tue, 02 Apr 2024 22:52:20 -0700 (PDT)
Message-ID: <b4034412-fc56-4f8d-9b1b-347d8c9bab4c@suse.com>
Date: Wed, 3 Apr 2024 07:52:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/3] svm/nestedsvm: Introduce nested capabilities bit
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 xen-devel@lists.xenproject.org
References: <20240313122454.965566-1-george.dunlap@cloud.com>
 <20240313122454.965566-4-george.dunlap@cloud.com>
 <7a5b3ec3-c122-479a-b714-529e150bf4c0@suse.com>
 <CA+zSX=ZE6uLf12o3WDUpNuZ6Kost=JEfWH0HugGqD43QGPsJ1A@mail.gmail.com>
 <f4f33db5-a49d-4706-8b55-cfcad916e8cb@suse.com>
 <CA+zSX=ZUfcL-HA_ygLxHkuvmWUu4hdk36Cc+CZPwfsK5akNUSA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CA+zSX=ZUfcL-HA_ygLxHkuvmWUu4hdk36Cc+CZPwfsK5akNUSA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.03.2024 11:57, George Dunlap wrote:
> On Thu, Mar 28, 2024 at 6:44 AM Jan Beulich <jbeulich@suse.com> wrote:
>>> As to why to have each vendor independent code check for HAP -- there
>>> are in fact two implementations of the code; it's nice to be able to
>>> look in one place for each implementation to determine the
>>> requirements.  Additionally, it would be possible, in the future, for
>>> one of the nested virt implementations to enable shadow mode, while
>>> the other one didn't.  The current arrangement makes that easy.
>>
>> Well, first - how likely is this, when instead we've been considering
>> whether we could get rid of shadow mode? And then this is balancing
>> between ease of future changes vs avoiding redundancy where it can be
>> avoided. I'm not going to insist on centralizing the HAP check, but I
>> certainly wanted the option to be considered.
> 
> I considered it before replying to you; so consider it considered. :-)
> 
>>>>> --- a/xen/arch/x86/hvm/nestedhvm.c
>>>>> +++ b/xen/arch/x86/hvm/nestedhvm.c
>>>>> @@ -150,6 +150,16 @@ static int __init cf_check nestedhvm_setup(void)
>>>>>      __clear_bit(0x80, shadow_io_bitmap[0]);
>>>>>      __clear_bit(0xed, shadow_io_bitmap[1]);
>>>>>
>>>>> +    /*
>>>>> +     * NB this must be called after all command-line processing has been
>>>>> +     * done, so that if (for example) HAP is disabled, nested virt is
>>>>> +     * disabled as well.
>>>>> +     */
>>>>> +    if ( cpu_has_vmx )
>>>>> +        start_nested_vmx(&hvm_funcs);
>>>>> +    else if ( cpu_has_svm )
>>>>> +        start_nested_svm(&hvm_funcs);
>>>>
>>>> Instead of passing the pointer, couldn't you have the functions return
>>>> bool, and then set hvm_funcs.caps.nested_virt from that? Passing that
>>>> pointer looks somewhat odd to me.
>>>
>>> For one, it makes start_nested_XXX symmetric to start_XXX, which also
>>> has access to the full hvm_funcs structure (albeit in the former case
>>> because it's creating the structure).
>>
>> This last aspect is the crucial aspect: start{svm,vmx}() are indeed quite
>> special because of this. Everywhere else we have accessor helpers when
>> hvm_funcs needs consulting, e.g. ...
>>
>>>  For two, both of them need to read caps.hap.
>>
>> ... caps _reads_ would want using (an) accessor(s), too.
>>
>>>  For three, it's just more flexible -- there may be
>>> future things that we want to modify in the start_nested_*()
>>> functions.  If we did as you suggest, and then added (say)
>>> caps.nested_virt_needs_hap, then we'd either need to add a second
>>> function, or refactor it to look like this.
>>
>> Right, I can see this as an argument when taking, as you do, speculation
>> on future needs into account. Albeit I'm then inclined to say that even
>> such modifications may better be done through accessor helpers.
> 
> Why access it through accessor helpers?
> 
> I consider that it's the SVM and VMX "construction/setup" code
> respectively which "own" hvm_funcs (as evidenced by the fact that they
> create the structures and then return them); and I consider the
> start_nested_{vmx/svm} to be a part of the same code; so I consider it
> valid for them to have direct access to the structure.
> 
>>>> Is there a reason to use direct calls here rather than a true hook
>>>> (seeing that hvm_funcs must have been populated by the time we make it
>>>> here)? I understand we're (remotely) considering to switch away from
>>>> using hooks at some point, but right now this feels somewhat
>>>> inconsistent if not further justified.
>>>
>>> Again it mimics the calls to start_vmx/svm in hvm_enable.  But I could
>>> look at adding a function pointer to see if it works.
>>
>> Andrew - do you have any input here towards those somewhat vague plans
>> of getting rid of the hook functions? I guess they're more relevant in
>> places where we can't easily use the altcall machinery (i.e. not here).
> 
> Rather than do all that work collecting information, why don't we just
> check it in as it is?  Obviously if we're thinking about getting rid
> of hook functions at some point anyway, it can't be all that bad.
> There is an aesthetic justification for the lack of hook, in that it's
> similar to the start_vmx/svm() functions.
> 
> So far I really don't think the remaining "open" changes we're
> discussing are worth either of our efforts.  I don't plan to make any
> of these changes unless another x86 maintainer seconds your request
> (or you can convince me they're worth making).
> 
> (The other two changes -- correcting the function name in the commit
> message, and removing the extra blank line -- I've already changed
> locally, so could check in with your ack.)

After some mumbling to myself over the holidays
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:05:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700293.1093186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrtkS-0000y1-Jy; Wed, 03 Apr 2024 06:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700293.1093186; Wed, 03 Apr 2024 06: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 1rrtkS-0000xu-H5; Wed, 03 Apr 2024 06:05:24 +0000
Received: by outflank-mailman (input) for mailman id 700293;
 Wed, 03 Apr 2024 06:05: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrtkQ-0000xj-Kc
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:05:22 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26c06ea5-f180-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 08:05:20 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-34356f794a5so1739276f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:05: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
 v3-20020a5d59c3000000b00341cc9c1871sm16477888wry.0.2024.04.02.23.05.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:05: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: 26c06ea5-f180-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712124320; x=1712729120; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=l2dnsa0Yzg9Sq6N1p/S7fALjG1opHHlRs0IiPclbh7w=;
        b=e1xjklFHDu1ZnrwERy3RjNqgwqOQhHPg1q1iiZK1Q8gVfglBMKICihbqsvPfAA/5zq
         Gf27MNn6U9IaY1BytWnORZC6yybzR2jA8QDpQ8WBTpAQ51bX9xSO4KCjsnRh9qUC/x5/
         b5ntlZtjAFFPQtfTXBQJyQnKYDJ4qosmKBqRYEHtkvC4c8PT1u/OV+Dr1yDfJlT3VBnR
         azU+RiiSORb+NbpYIt4wPthz1HM41Vd3RATjUEO14V9sjRjHq/GcQpRW2n6Hjm1GkgAZ
         fzQ7JV2GZQbvkFQPA/JSlk/ihDX941RaOo5BTi3oKw+YXW0CPBZcSpHc9XRsrWazDcu0
         K33A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712124320; x=1712729120;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=l2dnsa0Yzg9Sq6N1p/S7fALjG1opHHlRs0IiPclbh7w=;
        b=m9agsB3M9RNVbU2J0EkHb5HJ+JXyP7lHKFAPqYbQJQIWfSCEmQjAr8SviCdPpc+nXp
         UusmbDmzYdTz8SX4U2fq4asiw7mUHiTCVWeDPASJl/V2CzYORoAF3GyMSOTfcIz4/sG7
         36RN7FLrgyOggevsOKxknWqGESpsD44iQ0Bl/c0mDJOxKZgW7defFgafU6v9dkPWsC8w
         aHTTGmVYskcICl2Rk4omrd40RDeaIZdNdnzCfgG2CLNOnkGUOjf8+CPTT5lC5pZCghaW
         l6WkjsuL58K28SyGuCyeBYhBCmxZGw/dLoht3KnBjqszzsAWyY3kxeJG5wgGl9eb+1by
         kJyw==
X-Forwarded-Encrypted: i=1; AJvYcCWwvdpVCAcMhBANXuwbt8TFAIGIIkZ35jRxt2nHmUvhgAipWLIgAYLv1Brw+pvUaM0JpA6WgrzpHFUHIQvzoHYa4itD0BH6t4loFvHhZlc=
X-Gm-Message-State: AOJu0YyzUgaAJKXAuwJq59WSfQ5/7rdC56XCyY39nfc5sQ4r+pVmHmws
	TjiHhbutwIk1im2zsQQE0edXuaRrpr0YjeHNqY+4OBPuAWWWwpPtzrWrZY88Sg==
X-Google-Smtp-Source: AGHT+IHb0iivp+TeTVZu09YtqsE6BAn5Ls7uyqzjq5tkZGjmap4LLq+f4V9K5RQHFhXSAoR/rQwyCQ==
X-Received: by 2002:a5d:47a4:0:b0:341:c14b:598a with SMTP id 4-20020a5d47a4000000b00341c14b598amr4293998wrb.23.1712124319909;
        Tue, 02 Apr 2024 23:05:19 -0700 (PDT)
Message-ID: <de005820-1965-4e5f-b797-0fbcdc87c870@suse.com>
Date: Wed, 3 Apr 2024 08:05:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 7/8] xen/rwlock: raise the number of possible cpus
Content-Language: en-US
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-8-jgross@suse.com>
 <7e94482d-2c03-41ac-827f-af92a94796af@suse.com>
 <afef3207-deff-4eb0-ae28-49b49cbcd2be@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <afef3207-deff-4eb0-ae28-49b49cbcd2be@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.04.2024 17:29, Jürgen Groß wrote:
> On 02.04.24 16:52, Jan Beulich wrote:
>> On 27.03.2024 16:22, Juergen Gross wrote:
>>> @@ -36,14 +36,21 @@ void queue_write_lock_slowpath(rwlock_t *lock);
>>>   
>>>   static inline bool _is_write_locked_by_me(unsigned int cnts)
>>>   {
>>> -    BUILD_BUG_ON(_QW_CPUMASK < NR_CPUS);
>>> +    BUILD_BUG_ON((_QW_CPUMASK + 1) < NR_CPUS);
>>> +    BUILD_BUG_ON(NR_CPUS * _QR_BIAS > INT_MAX);
>>>       return (cnts & _QW_WMASK) == _QW_LOCKED &&
>>>              (cnts & _QW_CPUMASK) == smp_processor_id();
>>>   }
>>>   
>>>   static inline bool _can_read_lock(unsigned int cnts)
>>>   {
>>> -    return !(cnts & _QW_WMASK) || _is_write_locked_by_me(cnts);
>>> +    /*
>>> +     * If write locked by the caller, no other readers are possible.
>>> +     * Not allowing the lock holder to read_lock() another 32768 times ought
>>> +     * to be fine.
>>> +     */
>>> +    return cnts <= INT_MAX &&
>>> +           (!(cnts & _QW_WMASK) || _is_write_locked_by_me(cnts));
>>>   }
>>
>> What is the 32768 in the comment relating to? INT_MAX is quite a bit higher,
>> yet the comparison against it is the only thing you add. Whereas the reader
>> count is, with the sign bit unused, 17 bits, though (bits 14..30). I think
> 
> You missed:
> 
> #define    _QR_SHIFT    (_QW_SHIFT + 2)         /* Reader count shift */

Oops. No I idea how I managed to skip this, when something like this was
exactly what I was expecting to find.

> So the reader's shift is 16, resulting in 15 bits for the reader count.
> 
>> even in such a comment rather than using a literal number the corresponding
>> expression would better be stated.
> 
> Hmm, you mean replacing the 32768 with INT_MAX >> _QR_SHIFT? This would be
> fine with me.

Happy to do so while committing, provided earlier patches get unblocked
first:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:16:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:16:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700296.1093195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrtvT-0002c9-K1; Wed, 03 Apr 2024 06:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700296.1093195; Wed, 03 Apr 2024 06:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrtvT-0002c2-HT; Wed, 03 Apr 2024 06:16:47 +0000
Received: by outflank-mailman (input) for mailman id 700296;
 Wed, 03 Apr 2024 06:16:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrtvR-0002bw-OR
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:16:45 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be7875a6-f181-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 08:16:44 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-4155819f710so30722115e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:16: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
 c9-20020a7bc2a9000000b0041552dbc539sm15698389wmk.11.2024.04.02.23.16.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:16: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: be7875a6-f181-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712125004; x=1712729804; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WuJuUx2l0VlKDbmQNl6+uYlnFj0wTGN2ZPfSZUbqi00=;
        b=DC0V/AdzoEFLzBsu4ZqLvdA1hQohNq8mubZSFGKayzhErJCl3pstMoc7pJvd1KReTj
         aHSDaL8Yaou2nUjbP1upR4HjvcHbVjJ5T1W0FiMYfXX2uG8VWgspf6I4ZXcC1mVMOh8U
         OLtN6Ji5IzaWY8Nw3ajysT6Hc+DEYKpoKUe02Sy+1tsFO3qUuaRQJoIQ1H+WxT3iWczg
         Zo05VHUka1gAkSRNoRbypq2e1Ehp/Sl4RNfZGe9qRTRvUGi/upYvnxuuvyLB0DZjYr7r
         iFm+ml+yEMggk1epD4v0kF8tuvK7RDUJIpjohLtxV48CEBFxgRcMLELQnkRr3OgacbIc
         xpKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712125004; x=1712729804;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WuJuUx2l0VlKDbmQNl6+uYlnFj0wTGN2ZPfSZUbqi00=;
        b=iz0MbXx0AR8m0BgCbKz3Kr7H9v7jF08i8ptcPrDNbtlLFJSaRtlqD2NVhJsnxkqvJH
         ufMtwKG/3JMUHI1n6+yBPpFA8bSLftwp3XITLldUcMIhd9FpckZZDiHEHvCuSEpwZUg+
         SWj0ihGTbH8+Ypxlt1YD7ajCoMlhA+uMIGQXYBZ42ZC6RTsacDqFujTvfADmKDJQChgN
         e4K+QLrTyTkkAWUpbzX9/hb0Dw0v9qJtdcn7/Uqdkuxn0WONvpF94Selfy9aGTONO+6k
         Vq/t7it9d3r8xmRiaUrGaNj7wpemPu+ez3YdXkJys2xU/KDBjEvgeNxFHSFNDcf60YCe
         QV7g==
X-Forwarded-Encrypted: i=1; AJvYcCUE3CC5irDLVVF8Z19YvI7kl/weyp4e6TJuQ2YUGap0sFlM9sE/7X5ggkAFKKaoX9gBy0IXImmN5mAEKqo4+SJhgifCIHhYEWcUN61Az40=
X-Gm-Message-State: AOJu0YwaDTPQZ9GM9S+RyYCO4yudzmWGHtK8AJiH7H5F6JaosyQGd4Gd
	NO2iv2XWzWiz3ukbqerAG+z568zQGkN51K6sQW+F2r/VrOCRe2pW6ZbyA1hRKw==
X-Google-Smtp-Source: AGHT+IECTzS/zYWXy3RdL/acP/j3FfACMN5OBQVhZHjxEf+sTpe5fFpQoOm0Fap0kOuDAEaymK5s7A==
X-Received: by 2002:a05:600c:35c1:b0:415:6b9a:326d with SMTP id r1-20020a05600c35c100b004156b9a326dmr5014667wmq.4.1712125003897;
        Tue, 02 Apr 2024 23:16:43 -0700 (PDT)
Message-ID: <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
Date: Wed, 3 Apr 2024 08:16:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 19:06, Andrew Cooper wrote:
> The commit makes a claim without any kind of justification.

Well, what does "have no business" leave open?

> The claim is false, and the commit broke lsevtchn in dom0.

Or alternatively lsevtchn was doing something that was never meant to work
(from Xen's perspective).

>  It is also quite
> obvious from XSM_TARGET that it has broken device model stubdoms too.

Why would that be "obvious"? What business would a stubdom have to look at
Xen's side of an evtchn?

> Whether to return information about a xen-owned evtchn is a matter of policy,
> and it's not acceptable to short circuit the XSM on the matter.

I can certainly accept this as one possible view point. As in so many cases
I'm afraid I dislike you putting it as if it was the only possible one.

In summary: The supposed justification you claim is missing in the original
change is imo also missing here then: What business would any entity in the
system have to look at Xen's side of an event channel? Back at the time, 3
people agreed that it's "none".

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:22:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700299.1093205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rru1C-0004Ja-B8; Wed, 03 Apr 2024 06:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700299.1093205; Wed, 03 Apr 2024 06:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rru1C-0004JT-8R; Wed, 03 Apr 2024 06:22:42 +0000
Received: by outflank-mailman (input) for mailman id 700299;
 Wed, 03 Apr 2024 06:22:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rru1A-0004JM-V5
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:22:40 +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 923c0e00-f182-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 08:22:39 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2d6fc3adaacso84975051fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:22: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
 n14-20020a05600c4f8e00b0041493e21844sm23544947wmq.27.2024.04.02.23.22.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:22: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: 923c0e00-f182-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712125359; x=1712730159; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0fFHzLQuRZ2Hw0yUVk33aqddMrBE4fTv8Tz8AlrAmOo=;
        b=NVBz/b/BUP8U8mVwVqcqeoLSpSOd1//jkbWJluHd3ip4+dZ08vEUURQvcGIgFo1Mue
         SasEHi01tXd39p6trgY24WHWLDvP0xenCITxvjHv/JzPO6sMBv4tPK619esC1eD8FgzP
         M0m3PAwQ//ufYxigbyl8PVMeEatHHmZvA2xNkxp/7f3sjsh3DcphtgZvDyJUtHJgQM7i
         40B7ScyQ4Jqy2U6zF2GS+IlbswTAjwZ62IlhapO9lUiu0Zxn8dNBNZVi5B1Nvdk1zomK
         zgYPGcV6QuUEhUA+BuO1b7qx/9vS2ae8WVzVNDGDDyVQ2eRidPwn+AJcW1zvyUfzNGYI
         3QOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712125359; x=1712730159;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0fFHzLQuRZ2Hw0yUVk33aqddMrBE4fTv8Tz8AlrAmOo=;
        b=n9es8tFJ4qkTBlQtn7WEtdukDv8hgcI/iPKMFkb5UiuO5hWiRqqZjx0UWFiaEEfPFm
         0MOB41tBEhKySYcDfioBK1VwO+2qJSAz4vPJPSI1s2JsMI9YDDsR30r5lH4IDCzQc3l+
         2tyjHkz0BC3Lnp3OjKPBT3gelrBvikUBs0k89Q4EYksIyAQe4hyRuzXTsLgQJQ1F9sQd
         0DUP4KDuNyLYhM1J6QmHopRgMQrpIP0hOTv0Fwr+2Ymn4PsJXaiTuCkz/f/fhAFeyriv
         tjHbdq3QqsoBL1ukXroy0dxBTqoOCdX1432BrbnHAOYFTS4V/sNpzZ34hErfKHIMKzrS
         iPrQ==
X-Forwarded-Encrypted: i=1; AJvYcCUfcgiciExXyjuvXtHdaGviNcBTlPlYBqnLgBXqhbVqlCwnLgvdITIfxa53uFLCfDqsW5B2UZrVZ7StQdMJRH710r8S2Z92iwE3UKXtiAk=
X-Gm-Message-State: AOJu0Yw5NjNlfJcJ0Hcz6SP6qYAU23/Dvq0To3HDbbELpIu+hSnXXOSd
	lBPXSt7KGzd3gb9FJuA4yk3oHCC/Ju+KcGjNH5UHiohQyD5xmsCd+i11Od7M8g==
X-Google-Smtp-Source: AGHT+IFYUo22jsA8wQvdXJLe6s2/pjHT+Y7/aJf8mJYFaDVaeA6xIP6UwtA67rqzfkPYJFiJdWjRWA==
X-Received: by 2002:a2e:bb95:0:b0:2d8:f3b:d026 with SMTP id y21-20020a2ebb95000000b002d80f3bd026mr5078463lje.14.1712125359164;
        Tue, 02 Apr 2024 23:22:39 -0700 (PDT)
Message-ID: <217fdbe4-a4ba-4bea-b044-5677bf87717b@suse.com>
Date: Wed, 3 Apr 2024 08:22:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs/misra: add 13.6 to rules.rst
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404021618030.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404021618030.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 01:21, Stefano Stabellini wrote:
> As agreed during MISRA C meetings, add Rule 13.6 to rules.rst.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> There was a request to expand the scope to also include alignof and
> typeof. Depending on whether the MISRA C scanners support it, and under
> which rules violations will be listed, rules.rst will be updated
> accordingly (either updating the notes section of 13.6 or adding a new
> entry.)

Hmm. Imo ...

> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -445,6 +445,12 @@ maintainers if you want to suggest a change.
>       - Initializer lists shall not contain persistent side effects
>       -
>  
> +   * - `Rule 13.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_13_06.c>`_
> +     - Required
> +     - The operand of the sizeof operator shall not contain any
> +       expression which has potential side-effects
> +     -

... a note to this effect should be put here right away. We _want_ to
respect the rule for the other two similar keywords, after all. What we
don't know at this point is whether we can get help towards this from
Eclair.

With such a note added:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:23:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700301.1093216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rru2N-0004pc-KK; Wed, 03 Apr 2024 06:23:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700301.1093216; Wed, 03 Apr 2024 06: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 1rru2N-0004pV-HU; Wed, 03 Apr 2024 06:23:55 +0000
Received: by outflank-mailman (input) for mailman id 700301;
 Wed, 03 Apr 2024 06:23:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rru2M-0004pJ-FV
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:23:54 +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 bc61a616-f182-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 08:23:50 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4156a2aeb43so20694645e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:23: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
 n14-20020a05600c4f8e00b0041493e21844sm23544947wmq.27.2024.04.02.23.23.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:23: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: bc61a616-f182-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712125430; x=1712730230; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eU4Kvxa6S2lNftq7OIqQb8wRacONrsh7tQKm0bDHwbE=;
        b=Rpts7wbEasp9lF7ic2jPZ6pGpunqMA+wkK30P2VHWdEykXX4hXfXzFuMOvxVQgXvDw
         V7g3VZVYQYr+oxUyD7YN4wW32n137ceAUizOE78wGwHNtljZK7+BIpY9lqog0aXYL/j0
         hjln/q4f5wwXwh/At+LNVGICCKxqnljfGji3jotOEmmLlQ4FJKnvrd3AWXmmc/n2eDsJ
         6tN4izqVtD+6ymsTFavj9lKmLc4HQQ4iKmkM5Lnxy19KKmF6BxhsfN2iwU1lKs6dAzbQ
         +T3NpkTYr3tmJ0/Fii0lIwh7dxtA9ymvwaW/hSc2vMHHu5JvEcOQtS7IZsDXKoMmb6Tb
         Ptiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712125430; x=1712730230;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eU4Kvxa6S2lNftq7OIqQb8wRacONrsh7tQKm0bDHwbE=;
        b=iA8QvlZfTTB+48IM11v37EORaoA1AgtfWNl76Sr6w0jgQME07wOTl43iLCRHR6lYw+
         uKMsjt/hPOagR7d+QCrwRt7ZzCnMrgNli+69nvd3ngivMF8waTFVQ/N77YV6Ty2Weuqx
         DK4LAR+WaSinQPO/AzLM3/VaATJAM3+Qzb28EkFswTR+Qbk+vkLQmi9ml10mgfvQeAmm
         5Ntq8y5TGDjOMKaKs+pFOiC8yO+xSyflZx7uhGsoI+odDh/Q+ulh1WWgQif6Dl6Vs588
         pnTkIbwNGnQh0I7E1BK6kbcUu7Fn/BKlKf9wCUiAX5pkxH1xVtr2uRzyX28SUZ/EUUhw
         YSpQ==
X-Forwarded-Encrypted: i=1; AJvYcCWCgQBqBvjrQoJAqJwQsD4r4ai1UczRIrLfZHKHWr+y8eK4c5m+P43715mRLsvxueyt/i41+tA83QaO/pkJBUfwxbt6PwQGSlJyU7tA5bM=
X-Gm-Message-State: AOJu0YzYGgS/TZc3BZahBfHCgzF9GVL288QjHY1yeYZ24ri5aPqFP1RO
	LLfOI1SXNF0oa5LCi7D9YHSqiMSNupocbqUF9HUMNvx4gBd28tspaCh9VyC3og==
X-Google-Smtp-Source: AGHT+IFvx7H7X8Nynz+GB0ZmDp5803V4jeg/CzZkv1SkXtGlWrNw4ltzFmf/d1JbHeFrf1kfBL2k+A==
X-Received: by 2002:a05:600c:4688:b0:414:63c2:23cc with SMTP id p8-20020a05600c468800b0041463c223ccmr12960931wmo.2.1712125430022;
        Tue, 02 Apr 2024 23:23:50 -0700 (PDT)
Message-ID: <1776a07f-d4fc-4528-b6c4-bb0f2432524e@suse.com>
Date: Wed, 3 Apr 2024 08:23:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/7] xen/domctl: address a violation of MISRA C:2012
 Rule 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <c730993f757afcaeb327e7fb8528b70b716cd5db.1712042178.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c730993f757afcaeb327e7fb8528b70b716cd5db.1712042178.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 09:22, Federico Serafini wrote:
> Add break statement to 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>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:24:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:24:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700303.1093225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rru31-0005KJ-Se; Wed, 03 Apr 2024 06:24:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700303.1093225; Wed, 03 Apr 2024 06:24:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rru31-0005KC-Pz; Wed, 03 Apr 2024 06:24:35 +0000
Received: by outflank-mailman (input) for mailman id 700303;
 Wed, 03 Apr 2024 06:24:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rru30-0005Jy-85
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:24:34 +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 d54311a7-f182-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 08:24:32 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4161eb1aea7so7472985e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:24: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
 n14-20020a05600c4f8e00b0041493e21844sm23544947wmq.27.2024.04.02.23.24.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:24: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: d54311a7-f182-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712125472; x=1712730272; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eU4Kvxa6S2lNftq7OIqQb8wRacONrsh7tQKm0bDHwbE=;
        b=HVRlrO3N79X8l3L1NA8M4cQ4Z/agbYccavcwJyvKGuU4azIwP2GSYVt2bHkk+QmNX5
         +B8fmzE9vIII4TQESLHeOPqbCoqvPDCqdwxlcSaJxxJ5WiJYfLl/LjrEBOLS+3wfc2d0
         epU7RucEqs/WtDhE68XHvQfXjcjYC5aBrEMGzMHTkQU7fluBt6htc2J1L+HKJpmerMd9
         YPIHxWREgpjBT+9/Xc4tLhvSxyUHK1wWKlgWDO0E4YUxknpv0Fn+ui9M4CdFxvlqeyHy
         m6J/gN28bsUTwpRmVqJ2ANa8k49ftxD+Y9EsQ/cZv1I6ZJ3KZXq6J7MvEUuC14UP+Nmt
         xhIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712125472; x=1712730272;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eU4Kvxa6S2lNftq7OIqQb8wRacONrsh7tQKm0bDHwbE=;
        b=ZAubwShLh7USJRmpDR/h/B0UoTssFctIxBVES1iER6sLESvbKY/AhwDCLkqmOeZ9I6
         lWxZdX6tP9zwglRs3MpnKorf020OjaoVj706GoyClC653rqS26vB0HtvmhRGVeyZvMtP
         G+hxk9cezZlAkZ2E++PGJAwmyNj40mKQ3lh+vJa2WkRK0t4VYdJiqeUVFaPDPn0dVzyM
         HRjPHU+O5UItAnSPOagrxFdf/CAHld+ExF3J5qYVKvkqmy6u/Wdjeurp9a4ucC9rhnkj
         vtPZxV1lsnw84hSy3hANYwabSH1ScbDzGBteKup45plpF9Jci9f3+e9ep4vuBidw56qW
         bxLw==
X-Forwarded-Encrypted: i=1; AJvYcCVaDngMM+SgkTKsxzHhQdPKzp2bMo4Lfj2LBlktLfQvur02KtF4t7iZleNYjm/0X+t47fHpx3Fjx8ihKXOcrwbDyr/SaWqna2v52eelXiM=
X-Gm-Message-State: AOJu0YwG3qxYOYN9fMJKIdYdzd+q/ymSfuZzKa71BW8ehsnvH2HGhhs8
	axS8RY59VXgmJiaROGyvk/i+DX4RIKsS1mDfOPQuBiFW7+cN4GZHBHJ15jV2hgfT2d8vPKF+3NI
	=
X-Google-Smtp-Source: AGHT+IHk3Bvj39nBCbfEToUPc+0SIJliAThkkQCc1C92nP+WtUzRw1knSc/6iRFQ9OcEcLXSwoQ2Jw==
X-Received: by 2002:a7b:cd96:0:b0:414:8870:9c1a with SMTP id y22-20020a7bcd96000000b0041488709c1amr1341950wmj.7.1712125471853;
        Tue, 02 Apr 2024 23:24:31 -0700 (PDT)
Message-ID: <efc51a75-b9ed-42f8-ba89-e4f39554a830@suse.com>
Date: Wed, 3 Apr 2024 08:24:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 2/7] console: address a violation of MISRA C:2012 Rule
 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <c1dbd9f26ad88f667075926e85dc971c41c7d5d4.1712042178.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c1dbd9f26ad88f667075926e85dc971c41c7d5d4.1712042178.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 09:22, Federico Serafini wrote:
> Add break statement to 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>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:33:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700309.1093235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruBT-0007JZ-M4; Wed, 03 Apr 2024 06:33:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700309.1093235; Wed, 03 Apr 2024 06:33:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruBT-0007JS-JO; Wed, 03 Apr 2024 06:33:19 +0000
Received: by outflank-mailman (input) for mailman id 700309;
 Wed, 03 Apr 2024 06:33:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rruBR-0007JM-Nk
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:33:17 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d2d8026-f184-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 08:33:15 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-516be63af88so377743e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:33: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
 fm18-20020a05600c0c1200b004161df7c9dbsm3366892wmb.32.2024.04.02.23.33.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:33: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: 0d2d8026-f184-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712125995; x=1712730795; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nad+2Bc6gc43hIHI2DHPViTbwfGiH8lFaSB2NR0MYMI=;
        b=H4jE6tUxB5I0b9AL80LHxcx7UNICaJKMk7mMUp/mQKYi7dCJgqLW1Zs0gp4LQpjQ3h
         6AfLXrb/BBnhnLWM+lPJ5lMXbIbnOvQSmwlyA7B+bSVsXsT9Cm1aS3XnRoZSfGk7dPh0
         Fk5sJqATZ4Y8eYC3IoZz4R7SiJUPTT9StiWZ64UM3XRawEitKXxC0TbLbq25BuPP24t3
         YkhknkDYJXasT3Q7PvNX3DqNGNru2YWsTLLRavsxuE1WRIqZrGRN7CxoWRkAUfYYJhUT
         pIOM9SCF3Aq1EdgbQyUe+zhgWR6TNkMxhCXRSEaVy7Kum8ApYZDihxRhSJKAg2y6msoW
         4ujw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712125995; x=1712730795;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nad+2Bc6gc43hIHI2DHPViTbwfGiH8lFaSB2NR0MYMI=;
        b=MbG6w2N5Z1BAkwsNMczf7TsKOSH5tlVYNLO00Odi33i+ekLuMPAHGIAPF0IraMuKIW
         EqXs/PCaPvLNSC8zTLOMMEFA2O5KWfpsjaPoyo0XrVtCr02VddbYODwiOzhpAzrGAwD3
         2KozJKfPftVm10uMS+7di7b7QrFN1djbi2FU070QI0DZ40aFTPoUBw4xnmDj1qf//M3a
         xpN0Wj0Vqs7pwTJvftROwGiFQ62AvnBJS4z58nMbYhW+mrtjXXSFzcqjOo3IH50nIUh7
         DP+f1V50HMsY3AtTWmvruhHZtEr3wLZBxUcZunVY+/HMKH2QtFP8GM8YTkoUrYYoDHDx
         ou9w==
X-Forwarded-Encrypted: i=1; AJvYcCVn7HZ8ExwATvSWg+7c442Dxdxvt6HzIvnm3Kp0sygNAUr4AO1fstbzc8D8Lw7y0sX33oQQdkPjwHYJ/1Jzc6EDFB00Ut7ttuLC8eqYxSQ=
X-Gm-Message-State: AOJu0Ywty7BGdiT8ex+gaZiP3vx1lh/b7WcnQjuxpOPZ7SDQKaMT3A7v
	xAA64n9NNt3t4O7mnGZJS2p07TN64jloIsn9a1a8+Xr4zkivgz4PNhNbyXFBgA==
X-Google-Smtp-Source: AGHT+IGiyYJDDuAEgf80wIO5hcmhfmk94DdpX9aCeqocf6HsaX+s/Ols1+HymZHqq23pJfKJ9j24uQ==
X-Received: by 2002:a05:651c:19a6:b0:2d8:3a46:8ab6 with SMTP id bx38-20020a05651c19a600b002d83a468ab6mr1074549ljb.17.1712125994933;
        Tue, 02 Apr 2024 23:33:14 -0700 (PDT)
Message-ID: <28786c5b-c625-4754-980d-c9a0fdc49c37@suse.com>
Date: Wed, 3 Apr 2024 08:33:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/7] xen/sched: address a violation of MISRA C:2012
 Rule 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>
Cc: consulting@bugseng.com, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org, Dario Faggioli <dfaggioli@suse.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <8f91430e37594831dd8d92ab630477be88417b49.1712042178.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8f91430e37594831dd8d92ab630477be88417b49.1712042178.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 09:22, Federico Serafini wrote:
> Use pseudo-keyword fallthrough to meet the requirements to deviate
> 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/sched/credit2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
> index c76330d79d..0962b52415 100644
> --- a/xen/common/sched/credit2.c
> +++ b/xen/common/sched/credit2.c
> @@ -3152,8 +3152,8 @@ static int cf_check csched2_sys_cntl(
>              printk(XENLOG_INFO "Disabling context switch rate limiting\n");
>          prv->ratelimit_us = params->ratelimit_us;
>          write_unlock_irqrestore(&prv->lock, flags);
> +        fallthrough;
>  
> -    /* FALLTHRU */
>      case XEN_SYSCTL_SCHEDOP_getinfo:
>          params->ratelimit_us = prv->ratelimit_us;
>          break;

Hmm, the description doesn't say what's wrong with the comment. Furthermore
docs/misra/rules.rst doesn't mention "fallthrough" at all, nor the
alternative of using comments. I notice docs/misra/deviations.rst does, and
there the specific comment used here isn't covered. That would want saying
in the description.

Stefano (and others) - in this context it becomes noticeable that having
stuff scattered across multiple doc files isn't necessarily helpful. Other
permissible keywords are mentioned in rules.rst. The pseudo-keyword
"fallthrough" as well as comments are mentioned on deviations.rst. Could
you remind me of the reason(s) why things aren't recorded in a single,
central place?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:52:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700314.1093248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruTy-0002O1-76; Wed, 03 Apr 2024 06:52:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700314.1093248; Wed, 03 Apr 2024 06: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 1rruTy-0002Nu-4N; Wed, 03 Apr 2024 06:52:26 +0000
Received: by outflank-mailman (input) for mailman id 700314;
 Wed, 03 Apr 2024 06: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rruTw-0002No-9L
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:52:24 +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 b9290006-f186-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 08:52:23 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2d8129797fcso40724041fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23: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
 p18-20020a05600c359200b0041543b57ca2sm20552871wmq.21.2024.04.02.23.52.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23: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: b9290006-f186-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712127143; x=1712731943; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3+qUqKB+un59yKLHPEdTo21gCOCZ+f8bVdOltJwjCzM=;
        b=IBXhREWGHVslwoj8kMgyYlxxaixZs5l9gplMTL/DNYaz7U8hvK/jHOlX8PwWgMwHlI
         HxD7nDyiqLkUCfNBKGUmCgHxkDx8Ka21WMfK2+j8dIlh/0zugDwzWyRU/y4yLWK6T3Gc
         gNHPXaHPuA4zmXcOXesRtuXdICoX9nZTraSUO/A+sBp1xeahTqttDWhA1eyTJ4efboKX
         oHnE4AYya/hLQI3+7eUZZHL6ANg6u8E8HSO7C/iopeUS0CoKk39hcRBmJOvLpzp6ZRww
         U2iEU9d78k+99m179gff0OHRtFI1DXDYzsjwO7ECNle8kuiBJ16v3rx5TWw1J/QP94mo
         Ke8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712127143; x=1712731943;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3+qUqKB+un59yKLHPEdTo21gCOCZ+f8bVdOltJwjCzM=;
        b=DL1fDrkyh6T5NG/PcibpPSSJGBTbbrwqnM+Fu/yrhRz5Y/R/Qs4hK67KhCIQOrGj+q
         PZhXS+CiuRERrGbFmTuYQ9BJB2VWHE9EdpoM/PmkSvEHHnb/0PT5GE5lsEp3HfOlZcNt
         zx8R6k1LgMqTULCkI5QIQi6fnxpqMPcKzbIPY0UbWVxKbvDiGVn7+HMcRxWXftvAZ/Wd
         5bQ2EF02SWUYOoK8TVvudpGi9Voxv9rS9Vdup6Kc+crFvUoJwwGRPHTZGpUossBuweOW
         ePLw96vwX4tDOcSqVSo5mNvA4yJ3Z4Z84evMt8OtKFAG1po1mUX8ywb4g7P4asUc7Npx
         zhLA==
X-Forwarded-Encrypted: i=1; AJvYcCVXVZBS6ovDf9ImMPZHTiICkHVM9LTLzXZCok2Mv8rMPgvkCGJAF4z/rKCEaoHbDY8h/MaFK7AktsHZjHlnLwjRJ7uM7ch4jHW9bwleN5w=
X-Gm-Message-State: AOJu0YwEA4WUwzaCB/9RwDFt8uMZUOyDcX+H+XBjIm+89g/VsdMYXSh4
	oZhl0ZZUJzN+SH/LRb8yX8K9L4nC4h1qx1RMMEuvDaSum6RRBcz178K5ocd6UQ==
X-Google-Smtp-Source: AGHT+IHtrfeOEVxvU/A0oxGUdrVGFqYvWqvdr9+j7Fh6zTAOk0/wliQPhTKVgyM3FjDY6csjjENrgg==
X-Received: by 2002:a2e:8610:0:b0:2d4:3d86:54e2 with SMTP id a16-20020a2e8610000000b002d43d8654e2mr8984668lji.27.1712127142709;
        Tue, 02 Apr 2024 23:52:22 -0700 (PDT)
Message-ID: <f2b596e6-0aec-4948-ad7a-aa38adaa7dcc@suse.com>
Date: Wed, 3 Apr 2024 08:52:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 08:16, Jan Beulich wrote:
> On 02.04.2024 19:06, Andrew Cooper wrote:
>> Whether to return information about a xen-owned evtchn is a matter of policy,
>> and it's not acceptable to short circuit the XSM on the matter.
> 
> I can certainly accept this as one possible view point. As in so many cases
> I'm afraid I dislike you putting it as if it was the only possible one.

Further to this: Is there even a way to express the same denial in XSM?
alloc_unbound_xen_event_channel() doesn't specifically "mark" such a
channel, and (yes, it could in principle be open-coded in Flask code)
consumer_is_xen() is private to event_channel.c. I also dare to question
whether in SILO mode status information like this should be available.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:53:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700317.1093259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruUr-0002wz-LC; Wed, 03 Apr 2024 06:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700317.1093259; Wed, 03 Apr 2024 06:53:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruUr-0002ws-ID; Wed, 03 Apr 2024 06:53:21 +0000
Received: by outflank-mailman (input) for mailman id 700317;
 Wed, 03 Apr 2024 06:53: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rruUq-0002wi-Aq
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:53:20 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9faaa7e-f186-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 08:53:18 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4155819f710so30955395e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:53: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
 p18-20020a05600c359200b0041543b57ca2sm20552871wmq.21.2024.04.02.23.53.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:53: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: d9faaa7e-f186-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712127197; x=1712731997; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eU4Kvxa6S2lNftq7OIqQb8wRacONrsh7tQKm0bDHwbE=;
        b=NW9HaT3qwWnFm1vNaorcIGmK6baMD+BEhPeYhXpRlFX6t8eQuCk61mDkLneYTV5GFV
         HhCV1R8XeaUKTV+5JVbAmUNWg5pQkX+kXSRKfaodRPd60wgd7W0S9xn6ha6SRDb13zE6
         dEXnfxu+cn0J0GbDjxg8ORoGrs137PZtdK0VcigTzHymu7/2gEFsbFN9a4Jz5z3vwAN9
         /RfdhAgYzGaxBv/V9oU0d1hthRWXEkTIBg1ZZLa+GVdsLPA9mljK6uOY/2VmFw2vWNKC
         amkRmwvUYNhm5QVmHAO/bq8Nv8oreHsfpjduGFFtJFkSeFHAaDzBBPpSLj/oZXPdhfBP
         Mw+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712127197; x=1712731997;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eU4Kvxa6S2lNftq7OIqQb8wRacONrsh7tQKm0bDHwbE=;
        b=xGety241hQp1d+SY9EWtHx0WdG7L8nTJiiwqpOWR0EH75r30hSzxnwiKaqAyvGwk20
         6YkR8sQZwxpeOPkDruCUiRDT/TPBAdr/Bzuro17m4PStJ6dJlnlI2w3WkC/GM/1xly7+
         BFkcGK21oidilcvFRbacMKZAmvKOiqT399LSJfrc1f95EnI48X54Khjm979krKmdJWUE
         fMpwZLdjk5Gy2RVytGhgqB0JrNVxJ09rU7sKLOn2DpqFCOtBQqQ4HQE3zHRb4cvK9wad
         7vfc/yEJQsIsFgrDN+ZRKAPvPQ8iDPbIhSu60a0zZJRYlxDF9acfELk5e0XYRy3Ib9Kg
         lCMg==
X-Forwarded-Encrypted: i=1; AJvYcCUXygelt99krXUl2n2pZor+SeIYDEteAakAa+N4+ND3aCOcYUT7zIE8EKA8mn25qtqHYPd4c1FHN+/DAV48yHbwrvS3An0m+HXpNRaagrY=
X-Gm-Message-State: AOJu0Yy0lwJtMJjP8HCYfWdixapvm7j2n+Nm2J6Wti44LF4QLT7Vk5XE
	1/qwiera2fvzH10huPk6wDXh0/XrdGmazKj9EUR8zslrKwrDEhq4fAiF4Gi/Zg==
X-Google-Smtp-Source: AGHT+IFetfrdk6iobUzCIgBTV3irAHyOpG8VlWQElRZK8Csygfa8o5fD6xypuvqGizwBBvU79LBb4g==
X-Received: by 2002:a05:600c:1c1f:b0:415:6ad6:cc27 with SMTP id j31-20020a05600c1c1f00b004156ad6cc27mr5178778wms.24.1712127197680;
        Tue, 02 Apr 2024 23:53:17 -0700 (PDT)
Message-ID: <c6a89dfa-933e-4e90-a951-ebfba26b428f@suse.com>
Date: Wed, 3 Apr 2024 08:53:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 4/7] xen/evtchn: address a violation of MISRA C:2012
 Rule 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <98c4197ab3bcf82d0055836cf950f1268dbcc91c.1712042178.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <98c4197ab3bcf82d0055836cf950f1268dbcc91c.1712042178.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 09:22, Federico Serafini wrote:
> Add break statement to 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>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 03 06:55:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 06:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700319.1093268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruX6-0003WB-1K; Wed, 03 Apr 2024 06:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700319.1093268; Wed, 03 Apr 2024 06:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruX5-0003W4-Up; Wed, 03 Apr 2024 06:55:39 +0000
Received: by outflank-mailman (input) for mailman id 700319;
 Wed, 03 Apr 2024 06:55:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rruX4-0003Vu-P8
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 06:55:38 +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 2d28f4fc-f187-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 08:55:37 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-416244fd0a2so1080165e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 02 Apr 2024 23:55: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
 h17-20020a05600c351100b00414854cd257sm20410530wmq.20.2024.04.02.23.55.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 02 Apr 2024 23:55: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: 2d28f4fc-f187-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712127337; x=1712732137; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=5Kef/d3tMIbcZQaqRN6AzbgcCviyUkbCX4ke4qqzSIc=;
        b=f0KehkuotzasUFLn0DS2OoBAKCXZiOj/IFSsfk1EKsPwuTHlcH36f+e93myEMK/MpH
         6Jr/LYId2pl77EA70NpwwyKbbOxQhouZ24HjgvJ4wRYXVA4mPvmvfdXKJlWKMSOlI1c6
         f3XSd8To6Cz7rsLQ1rygef7aPivh2BsoHxGdwX6LEzFrRdjahifpAfL2MAzMcLOWstSg
         mxvTy7dF4Huo4p2luNlAFkogOjhicDCcy3ANPZqmamROLzjpH1GhhOdgf2noh/7n6npi
         PBClEwc4PeQIyWCxb6qIMpxSzpcQwbtLhX9oYqy++DUG5dHde1Fvdo1tRRTLqf+m7Eu5
         4spg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712127337; x=1712732137;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=5Kef/d3tMIbcZQaqRN6AzbgcCviyUkbCX4ke4qqzSIc=;
        b=d/GyDeX9OSE1en/lXmwvP5YbpP90jgmH0mOk2QdJmYKljy6/2R8WisQov+JFbKbzXw
         L9vpSY4CNcg+r2qGYuf4PPnE3hIMXpgBu/wEjY7cgTgeYVXhXp/q2Apr8gKfRF7iQfrR
         tZztpWg4ldii5ZM8tXRzZwHDBMrh+/Rg+k2bJJnNsR8RnxyaIvLn81l+uiclXmGhsUyX
         6v0XBfEu9BtGoAa6hqgJikJAJMlhhkhiJcWif5SJ7qPFJQZMhO0bfjOt2nDSn7aeyJkI
         O3lKta2WoJddjik4pLYjImHYoLXrVCTn5Tll46Mz+V64QZ44VTvOiVj8MN28W0ZfZJsO
         +p8w==
X-Forwarded-Encrypted: i=1; AJvYcCUxird7xH07M97Xptp6uw8Kax9+oe/bjvTGwelyK8E0+zo2N2TMpNoJpCeq4PUMZQ1DtQ+sNL/yVmx//g0v2BCOn8ggpH8FcJjfcRX3Ej8=
X-Gm-Message-State: AOJu0YykeFULB12DX9qC2ct1CdpC9CQ8Bp9e9c7eu4S1cQDAa1QqJf2T
	8TW722ySmK3lH6HwH//n+GjrK3ZP7rU0c1Q1bTj6X3qQqAAPBQrd0SkoAEFcNA==
X-Google-Smtp-Source: AGHT+IEcshKCY25LvoJYWJoy2COt3N751HM4Xub5+mW332oT1SIxTF3n+Ez06VcBA/UaWi0kzWp44w==
X-Received: by 2002:a05:600c:1f85:b0:414:5ec3:8fcb with SMTP id je5-20020a05600c1f8500b004145ec38fcbmr12145074wmb.23.1712127337403;
        Tue, 02 Apr 2024 23:55:37 -0700 (PDT)
Message-ID: <4fa4c9e5-4948-4636-a58a-1a21a076d47f@suse.com>
Date: Wed, 3 Apr 2024 08:55:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 5/7] xen/sched: address a violation of MISRA C:2012
 Rule 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <dcb134b4094104632b05270f01accebcf7c04c4e.1712042178.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dcb134b4094104632b05270f01accebcf7c04c4e.1712042178.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 09:22, Federico Serafini wrote:
> Add break statement to 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>

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

However, this is the 2nd patch in this series with exactly the same title.
Going just from titles, one option would be to fold both. The other option
would be to change the title prefix of patch 3 to "xen/credit2:".

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 07:06:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 07:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700324.1093278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruhb-0005lR-VO; Wed, 03 Apr 2024 07:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700324.1093278; Wed, 03 Apr 2024 07:06:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruhb-0005lK-SZ; Wed, 03 Apr 2024 07:06:31 +0000
Received: by outflank-mailman (input) for mailman id 700324;
 Wed, 03 Apr 2024 07:06:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rruha-0005lE-Sm
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 07:06:30 +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 b0e3cfa6-f188-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 09:06:28 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41569f1896dso17153085e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 00:06: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
 u22-20020a05600c139600b004148d7b889asm23738954wmf.8.2024.04.03.00.06.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 00:06: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: b0e3cfa6-f188-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712127988; x=1712732788; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IgozsyAWNQWkxwzyx5s9x4dde7if6pY86JHv3Q/QFpo=;
        b=VLJ0ER8/IumWMHcYfWlg3hW/Cv8Vj38trV2p1a2Gr1ztEuKqEW0JA99q2593TiCsG9
         3FE7u2P+YMnLQVpto1lunbboSf5zaNu3VUIAf7lCVrcONrMFqVDUe+v3E1pMCU50BCOw
         FuU4ezPRo/ix27smSXaYRnPHsriORZ+9RB4aMXzDuU2AgSwKy09XYUDqo0sPLtLx6ZXx
         5UrkE0t60XISgyikPgj5dtS6RAOWR0Hc7PzEUaAkf24nGQ5/yIdkqp06Ld2OrmePXQk4
         sBfMgxdaMR2qVtC4ofTta3egnNxse8zaSi7alfx7DrsfFVAbj+Kuq5nKmMCllBLAa56G
         Oyeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712127988; x=1712732788;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IgozsyAWNQWkxwzyx5s9x4dde7if6pY86JHv3Q/QFpo=;
        b=gRgACls4vLR7kYtaTGpMAZAbiMsH/PVtbHTqwWLPeNjoXMjr2ksX5JJTxegUjKa++c
         +an9KD8MVMpqwej7LV7GncHx2lnC4DjMR42vkPbfDBzxDjqmpu17i0tge5/Qj+d8b5Xi
         gKdAhX+XM9xolu+PJmWawjDCqvEGLwHnoTqrCV4zpBr+WTXPm1WN6xITgZo7udegyMCM
         ZzlDVpU7VO3Kan6x86tm7JCL/V/QynARN+/oOFxlacXn1aQ9OjR4WTzlAKCKq+vwDMkF
         6+XjgPALp76APxJamiCZ1UyhwRnmlVD+7S3i1KMFgjBwPCcw6NWRmMG3bFrbCys/eVSn
         cJSA==
X-Forwarded-Encrypted: i=1; AJvYcCVSXej4olR7AqkV/+A2P2OGYpJRtsenijPjuLu3z0vUdQUFr76axyRIorTQ6u9KkLSW7PgwTN5dpFbj45MIW3OO8e76BeD+HgO60mYE1Qw=
X-Gm-Message-State: AOJu0Yxdu2whkxuATweuIJsmVXZjEoJNX3cr0uEfOUyVu/56BB9XeDwn
	5Vahea43z5gV9QKtkj+/uysnHfA1CRRN5Qakxt3VDY0LQxlgxAc4I2y3KNnpYQ==
X-Google-Smtp-Source: AGHT+IE/j+ktN2JCUyNcIT00TK6qNNSFdkGRfF30DfNUz3HMOvHo9ZoCOg5EWjOeRH6OmNCVZDfUmQ==
X-Received: by 2002:a05:600c:3514:b0:413:3160:840f with SMTP id h20-20020a05600c351400b004133160840fmr10352088wmq.0.1712127987699;
        Wed, 03 Apr 2024 00:06:27 -0700 (PDT)
Message-ID: <23612847-e364-47cc-a1ca-a571431a3996@suse.com>
Date: Wed, 3 Apr 2024 09:06:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 7/7] vsprintf: address violations of MISRA C:2012 Rule
 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <b1f2dc6467571090f882ce7c0611db13a8c63555.1712042178.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b1f2dc6467571090f882ce7c0611db13a8c63555.1712042178.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.04.2024 09:22, Federico Serafini wrote:
> MISRA C:2012 Rule 16.3 states: "An unconditional `break' statement
> shall terminate every switch-clause".
> 
> Add break statement to address violations of the rule or add
> pseudo-keyword fallthrough to meet the requirements to deviate it.

While the latter half of the sentence properly describes the latter
two of the hunks, the former half doesn't match the former two hunks
at all:

> --- a/xen/common/vsprintf.c
> +++ b/xen/common/vsprintf.c
> @@ -377,7 +377,7 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
>              str = number(str, end, hex_buffer[i], 16, 2, -1, ZEROPAD);
>  
>              if ( ++i == field_width )
> -                return str;
> +                break;

This "break" is inside for(), not switch().

> @@ -386,6 +386,8 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
>                  ++str;
>              }
>          }
> +
> +        return str;
>      }

And this "return" is what now "delimits" case 'h' of the switch(). The
original situation therefore was that the for() could not be exited by
other than the "return" inside. The supposedly missing "break" in that
arrangement would have been "unreachable code", i.e. violate another
rule. Hence the (undescribed) further re-arrangement.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 07:10:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 07:10:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700326.1093289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rruli-0007bg-G0; Wed, 03 Apr 2024 07:10:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700326.1093289; Wed, 03 Apr 2024 07:10: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 1rruli-0007bZ-Bv; Wed, 03 Apr 2024 07:10:46 +0000
Received: by outflank-mailman (input) for mailman id 700326;
 Wed, 03 Apr 2024 07:10: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrulg-0007bR-JX
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 07:10: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 4874c998-f189-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 09:10:42 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516ab4b3251so2736688e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 00:10: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
 t12-20020adfe10c000000b0033e9d9f891csm16304560wrz.58.2024.04.03.00.10.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 00:10: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: 4874c998-f189-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712128242; x=1712733042; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=h9OF+6JDhc7gnTEjSdyUQx3lEKPLQAuMUaXZrLAt6fY=;
        b=Ecti0A5Sd9WlyOe3jPZz50XEX2AonmzczLEMdlZA0ThEr6sEv7BoWezY/jaqwI4sTQ
         hlHTu0n3C24EaKgiyuk/TSLulvftIuwzsAAqpji0pNpqQUc1Yh3rcSEORVPIWMJFFSfR
         eYleQBrRzqxu54OMnblIdKsO9x/bdDcp9EhqEnW38aQEsxBhojaH/quPj7tbVqa4J+jh
         aK74fcWuAzyZZvR7/CTTWLb49zGc+3Q61hE55sZP97fROD2lcLEOTFNDsPKU1tWrEQps
         ul6oqCeubu6RmIQKLpIgwCZrkssE0Vu+CjXxXqQfCwW9C0fewoFflbHv111CncKA1jvT
         euNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712128242; x=1712733042;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=h9OF+6JDhc7gnTEjSdyUQx3lEKPLQAuMUaXZrLAt6fY=;
        b=AFyAdtvAL/rwO+nIuX36+hYqsFFD4BvVFbBlC+PYr4VT8Nzpzi/Jl6fYU6SiFT+vHv
         OGW/qMh1aoIsen3TaIEh6V0zfbO+OYD0pu1xC9fB2Ep5yQJJxUX5EW3SvFkAhPYUhPgf
         6jwYGGflEiKdST5yp8rgqJ7LOwgvMvhZRjWPZh+Oi1kq7m/FUtkJMIFoddkZsIxH9IlM
         hfYM67AKKv01xt4vW2X/Z7ElYHO2IV8p7svGzaeBLAsPW4qqVojytheIdETFhs/nNLeT
         Z6Lbg1F8m1E80L4dgRWG5AYSbRaimAX5ROaiaok+EN05/dahtvZb6uYs9kVzCQuHBtiI
         zuyA==
X-Forwarded-Encrypted: i=1; AJvYcCWUED5e1JbjDemiSuFAoigwqiBpH+gs3VVGNQgg9Rz6TJXQkOKDiMdqW/cK6qWpsntLtivwbhEIxEO0ZlUdqg/AAcrUyI6lxtikC+nXJtg=
X-Gm-Message-State: AOJu0Yxv63F2CJU+ez03PX0Jy+QUfnNFih0nqer5tYZeWC3n6OUkP+d1
	8DhCL8RkDGCjRtlY5KxXPVGJJGGxoFnJTGqGFiyhh+NQ7YJrtaLhDYcpV64eIoQarOmDANKp/R0
	=
X-Google-Smtp-Source: AGHT+IFCaJfHk/kRA1edlyH+Qao3PbsTLUxC+BmRUP/OvwPSJfx70dLeMBQ6aj5QZ+uSM+lg0IZsCg==
X-Received: by 2002:a19:4359:0:b0:513:b159:e711 with SMTP id m25-20020a194359000000b00513b159e711mr11159973lfj.4.1712128241881;
        Wed, 03 Apr 2024 00:10:41 -0700 (PDT)
Message-ID: <0d7daae5-97c3-4982-8301-7ed2fda24ff9@suse.com>
Date: Wed, 3 Apr 2024 09:10:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] drivers/char: mark extra reserved device memory in
 memory map
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20240327025454.514521-1-marmarek@invisiblethingslab.com>
 <20240327025454.514521-2-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240327025454.514521-2-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.03.2024 03:53, Marek Marczykowski-Górecki wrote:
> The IOMMU driver checks if RMRR/IVMD are marked as reserved in memory
> map. This should be true for addresses coming from the firmware, but
> when extra pages used by Xen itself are included in the mapping, those
> are taken from usable RAM used. Mark those pages as reserved too.
> 
> Not marking the pages as reserved didn't caused issues before due to
> another a bug in IOMMU driver code, that was fixed in 83afa3135830
> ("amd-vi: fix IVMD memory type checks").
> 
> Failing to reserve memory will lead to panic in IOMMU setup code. And
> not including the page in IOMMU mapping will lead to broken console (due
> to IOMMU faults). The pages chosen by the XHCI console driver should
> still be usable by the CPU though, and the console code already can deal
> with too slow console by dropping characters (and console not printing
> anything is a special case of "slow"). When reserving fails print an error
> message showing which pages failed and who requested them. This should
> be enough hint to find why XHCI console doesn't work.
> 
> Fixes: 3a1a7b809ffa "drivers/char: mark DMA buffers as reserved for the XHCI"
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 03 07:36:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 07:36:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700334.1093299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvAk-0003Ih-DZ; Wed, 03 Apr 2024 07:36:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700334.1093299; Wed, 03 Apr 2024 07:36: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 1rrvAk-0003Ia-9e; Wed, 03 Apr 2024 07:36:38 +0000
Received: by outflank-mailman (input) for mailman id 700334;
 Wed, 03 Apr 2024 07:36:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PE2n=LI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrvAi-0003IU-5V
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 07:36:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e529315b-f18c-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 09:36:34 +0200 (CEST)
Received: from [192.168.1.18] (host-82-59-164-46.retail.telecomitalia.it
 [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 4294E4EE0739;
 Wed,  3 Apr 2024 09:36:33 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e529315b-f18c-11ee-a1ef-f123f15fe8a2
Message-ID: <06883269-6b7e-45cb-81f7-75baf4e85628@bugseng.com>
Date: Wed, 3 Apr 2024 09:36:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 5/7] xen/sched: address a violation of MISRA C:2012
 Rule 16.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, George Dunlap <george.dunlap@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <dcb134b4094104632b05270f01accebcf7c04c4e.1712042178.git.federico.serafini@bugseng.com>
 <4fa4c9e5-4948-4636-a58a-1a21a076d47f@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <4fa4c9e5-4948-4636-a58a-1a21a076d47f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/04/24 08:55, Jan Beulich wrote:
> On 02.04.2024 09:22, Federico Serafini wrote:
>> Add break statement to 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>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> However, this is the 2nd patch in this series with exactly the same title.
> Going just from titles, one option would be to fold both. The other option
> would be to change the title prefix of patch 3 to "xen/credit2:".

I'll go for the first option.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 07:38:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 07:38:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700337.1093309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvCd-0003ti-TX; Wed, 03 Apr 2024 07:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700337.1093309; Wed, 03 Apr 2024 07: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 1rrvCd-0003tb-Pl; Wed, 03 Apr 2024 07:38:35 +0000
Received: by outflank-mailman (input) for mailman id 700337;
 Wed, 03 Apr 2024 07:38: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=PE2n=LI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rrvCc-0003tV-HS
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 07:38:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bab7ff4-f18d-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 09:38:33 +0200 (CEST)
Received: from [192.168.1.18] (host-82-59-164-46.retail.telecomitalia.it
 [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 9C0E14EE0739;
 Wed,  3 Apr 2024 09:38:31 +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: 2bab7ff4-f18d-11ee-afe5-a90da7624cb6
Message-ID: <f4ee27ea-2cc8-4f59-8670-51f81eb4e2c1@bugseng.com>
Date: Wed, 3 Apr 2024 09:38:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 7/7] vsprintf: address violations of MISRA C:2012 Rule
 16.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <b1f2dc6467571090f882ce7c0611db13a8c63555.1712042178.git.federico.serafini@bugseng.com>
 <23612847-e364-47cc-a1ca-a571431a3996@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <23612847-e364-47cc-a1ca-a571431a3996@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/04/24 09:06, Jan Beulich wrote:
> On 02.04.2024 09:22, Federico Serafini wrote:
>> MISRA C:2012 Rule 16.3 states: "An unconditional `break' statement
>> shall terminate every switch-clause".
>>
>> Add break statement to address violations of the rule or add
>> pseudo-keyword fallthrough to meet the requirements to deviate it.
> 
> While the latter half of the sentence properly describes the latter
> two of the hunks, the former half doesn't match the former two hunks
> at all:
> 
>> --- a/xen/common/vsprintf.c
>> +++ b/xen/common/vsprintf.c
>> @@ -377,7 +377,7 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
>>               str = number(str, end, hex_buffer[i], 16, 2, -1, ZEROPAD);
>>   
>>               if ( ++i == field_width )
>> -                return str;
>> +                break;
> 
> This "break" is inside for(), not switch().
> 
>> @@ -386,6 +386,8 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
>>                   ++str;
>>               }
>>           }
>> +
>> +        return str;
>>       }
> 
> And this "return" is what now "delimits" case 'h' of the switch(). The
> original situation therefore was that the for() could not be exited by
> other than the "return" inside. The supposedly missing "break" in that
> arrangement would have been "unreachable code", i.e. violate another
> rule. Hence the (undescribed) further re-arrangement.

I'll improve the description.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 07:46:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 07:46:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700349.1093355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvKF-0006Fy-0I; Wed, 03 Apr 2024 07:46:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700349.1093355; Wed, 03 Apr 2024 07:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvKE-0006Fr-Tt; Wed, 03 Apr 2024 07:46:26 +0000
Received: by outflank-mailman (input) for mailman id 700349;
 Wed, 03 Apr 2024 07:46:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eUqh=LI=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rrvKD-0006Fl-Eh
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 07:46:25 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2418::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4421e7cc-f18e-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 09:46:22 +0200 (CEST)
Received: from CH2PR12CA0002.namprd12.prod.outlook.com (2603:10b6:610:57::12)
 by IA1PR12MB6043.namprd12.prod.outlook.com (2603:10b6:208:3d5::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr
 2024 07:46:18 +0000
Received: from CH1PEPF0000A349.namprd04.prod.outlook.com
 (2603:10b6:610:57:cafe::b4) by CH2PR12CA0002.outlook.office365.com
 (2603:10b6:610:57::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.20 via Frontend
 Transport; Wed, 3 Apr 2024 07:46:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000A349.mail.protection.outlook.com (10.167.244.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 07:46:18 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 3 Apr
 2024 02:46:17 -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.35; Wed, 3 Apr
 2024 02:46:17 -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.35 via Frontend
 Transport; Wed, 3 Apr 2024 02:46:15 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4421e7cc-f18e-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YZrJ8rq2FpIOoPjKfIDdlOSnPPowNHxNM8dZvxCvbn1l4VsthPrs01Rt096UWZ54nOOIBZgD8WWuE5K204g8pziM9eN0wPemYFgUv7/nh8oaya2m5Z53KyhbXzNYw4lnK+aFZibvLxtsEJz3pjyt6KvY24aUuI875L5SJS3jE8SZx3KuTx8A+Z6F02m4lwLpKbpnWjK3pUnEy0WXT/nHx8e9K6H5lYNUUmcBQ93KDFo+X+t2kEWi0HGHzpRShGYq6M8IcJ/nqew50ShouCXEEnBjPg4a6JFBGAHC2n43I/jYI1bweA+NPVA3UD8HROJry3sl05uUFDCZKoH2gsOAYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=loULl9pMkYI387aX2AzJt6AvPLu+JgrV94+h0gn2HH4=;
 b=jLApOYtOf8zTxDr0uHMfXpnqYOwQ6sZN+QkUWqwQRj2oCH+mHpssscfp4YUS48gp+AVm1wcAp7YCj1JZWhTVBZA1sGwlLElWoLyYLDqHnYDj83BGSxiVhGO9O/xodeCMrSkjjk07eRweIvsRAr3VylFo59jlfuEKkWiO4KxJHLu5sQzGNa/105zo8uiueuaxJsWmlMHqFIs3d2G6iQ6oO0jqZFTaxVsnDu1x+52Mz0faQeimYjcdTR4EbeIAJKU6xUCkNHb1/PF6t+ycrUlFYZdWkR8b7FqTpd6v2Xo9VV8tIgNntuoZCID4JqIEfa3JJ4Se/uWDGSIsk3pHpqEodw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=loULl9pMkYI387aX2AzJt6AvPLu+JgrV94+h0gn2HH4=;
 b=u4EqkcLp62H/FCRNBNjEt5AD2x209Aukw1UR9BPgwnBekf36ujnWhY2+VsJQKqcOCeA9C20a2m54313wUP1bmNsFUUkuFSuCAtHZOIfYC4j5DcTztAB9eJ/8dcU/SxjXwgO1C63rQtFhGAY1GztYw28V76c5gUumo48ylRlMm1M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <b76ca342-bce5-4598-b688-823cff436d43@amd.com>
Date: Wed, 3 Apr 2024 09:46:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
 <91ceb418-f055-45ba-82c4-f37e812d5242@amd.com> <87le5vxy26.fsf@epam.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <87le5vxy26.fsf@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000A349:EE_|IA1PR12MB6043:EE_
X-MS-Office365-Filtering-Correlation-Id: 69788b39-e11d-4ace-0a93-08dc53b225e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ev09NvxNtgCoftQNTTwPv44fLsXCMWjdnAPBNJeazmfU4yzG9+TN+9unbNCufp26ABktQqlYI2Jw6KbBQoqqQKDysl8pvBqkiK/sgO+FYHY25Q22p0TzaMAejwEIcMEOuuFxRD1on6p4yFtOxxeRqAbXiMce1sZqmUmC9E5UQZ9t/4WXPs6fuPC9fMABo4zBtBQrNasqmCdVu5KmUcgT20XL4NbHpqDIeMz+ESg7Q+3DtupIGHDK46RzOU+UWryiMQ/c/6lh5EwRY6hrxFbkBFImTtCjEwxYt5NTGF+yq6QZuouVgs71wVY9WKSFywVhHvkQTkpoQS2JbO0rUliEXpWbqlPVCA+YfQMRJVnVtoiKkVyrng6J9zQnP7vE0nv0VZGnX/CjZHHFkI2ybuf0kPWg4Gnpiv65iOy2eYvnjoYCS7Jb+MtcpFqdy0iIYs0m31IcJBARoELriPLtMESoAqzkzKKyN/hm8B019x1ZAZPKyVCBUpLj3v4+vIVtzWjlzLQhvjwSB5OqmtZDWOte2CpkdXTSzCqtbUHKskHrgiyKtebQT9KLjLuniOq27krmpD6AWgVvePCq5uUO3bBeVyYIp8fbKLDh8vrIm/N/o7nIovBWS68OjXLXkBBtms1/j2jyWIH7GCqwNFgowYUnSbieTbkdsiG3YpjvsC0JRJ2AiFJ9au5+ToJJKxPqqvbDk1vgFB8ZoZwxjMuwyv9NIGjJ7mSGWCZ6H7UGykhId1AQ9TrgSg5y95jA/+HO30T2
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 07:46:18.2984
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 69788b39-e11d-4ace-0a93-08dc53b225e8
X-MS-Exchange-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:
	CH1PEPF0000A349.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6043



On 02/04/2024 23:19, Volodymyr Babchuk wrote:
> 
> 
> Hi Michal,
> 
> Michal Orzel <michal.orzel@amd.com> writes:
> 
>> Hello,
>>
>> On 29/03/2024 01:08, Volodymyr Babchuk wrote:
>>>
>>>
>>> Generic Interface (GENI) is a newer interface for low speed interfaces
>>> like UART, I2C or SPI. This patch adds the simple driver for the UART
>>> instance of GENI. Code is based on similar drivers in U-Boot and Linux
>>> kernel.
>> Do you have a link to a manual?
> 
> I wish I had. Qualcomm provides HW manuals only under very strict
> NDAs. At the time of writing I don't have access to the manual at
> all. Those patches are based solely on similar drivers in U-Boot and
> Linux kernel.
> 
>>>
>>> This driver implements only simple synchronous mode, because although
>>> GENI supports FIFO mode, it needs to know number of
>>> characters **before** starting TX transaction. This is a stark
>>> contrast when compared to other UART peripherals, which allow adding
>>> characters to a FIFO while TX operation is running.
>>>
>>> The patch adds both normal UART driver and earlyprintk version.
>>>
>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>> ---
>>>  xen/arch/arm/Kconfig.debug           |  19 +-
>>>  xen/arch/arm/arm64/debug-qcom.inc    |  76 +++++++
>> Shouldn't all the files (+ other places) have geni in their names? Could qcom refer to other type of serial device?
> 
> AFAIK, there is an older type of serial device. Both Linux and U-Boot
> use "msm" instead of "qcom" in drivers names for those devices.
> 
> But I can add "geni" to the names, no big deal.
> 
>>
>>>  xen/arch/arm/include/asm/qcom-uart.h |  48 +++++
>>>  xen/drivers/char/Kconfig             |   8 +
>>>  xen/drivers/char/Makefile            |   1 +
>>>  xen/drivers/char/qcom-uart.c         | 288 +++++++++++++++++++++++++++
>>>  6 files changed, 439 insertions(+), 1 deletion(-)
>>>  create mode 100644 xen/arch/arm/arm64/debug-qcom.inc
>>>  create mode 100644 xen/arch/arm/include/asm/qcom-uart.h
>>>  create mode 100644 xen/drivers/char/qcom-uart.c
>>>
>>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>>> index eec860e88e..f6ab0bb30e 100644
>>> --- a/xen/arch/arm/Kconfig.debug
>>> +++ b/xen/arch/arm/Kconfig.debug
>>> @@ -119,6 +119,19 @@ choice
>>>                         selecting one of the platform specific options below if
>>>                         you know the parameters for the port.
>>>
>>> +                       This option is preferred over the platform specific
>>> +                       options; the platform specific options are deprecated
>>> +                       and will soon be removed.
>>> +       config EARLY_UART_CHOICE_QCOM
>> The list is sorted alphabetically. Please adhere to that.
>>
> 
> Sure
> 
>>> +               select EARLY_UART_QCOM
>>> +               bool "Early printk via Qualcomm debug UART"
>> Shouldn't you add depends on ARM_64? Isn't this device Arm64 specific like in Linux?
>>
> 
> In linux it depends on ARCH_QCOM which can be enabled both for arm and
> arm64. But for Xen case... I believe it is better to make ARM_64
> dependency.
> 
>>> +               help
>>> +                       Say Y here if you wish the early printk to direct their
>> help text here should be indented by 2 tabs and 2 spaces (do not take example from surrounding code)
>>
> 
> Would anyone mind if I'll send patch that aligns surrounding code as well?
> 
>>> +                       output to a Qualcomm debug UART. You can use this option to
>>> +                       provide the parameters for the debug UART rather than
>>> +                       selecting one of the platform specific options below if
>>> +                       you know the parameters for the port.
>>> +
>>>                         This option is preferred over the platform specific
>>>                         options; the platform specific options are deprecated
>>>                         and will soon be removed.
>>> @@ -211,6 +224,9 @@ config EARLY_UART_PL011
>>>  config EARLY_UART_SCIF
>>>         select EARLY_PRINTK
>>>         bool
>>> +config EARLY_UART_QCOM
>>> +       select EARLY_PRINTK
>>> +       bool
>> The list is sorted alphabetically. Please adhere to that.
>>
>>>
>>>  config EARLY_PRINTK
>>>         bool
>>> @@ -261,7 +277,7 @@ config EARLY_UART_PL011_MMIO32
>>>           will be done using 32-bit only accessors.
>>>
>>>  config EARLY_UART_INIT
>>> -       depends on EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0
>>> +       depends on (EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0) || EARLY_UART_QCOM
>>>         def_bool y
>>>
>>>  config EARLY_UART_8250_REG_SHIFT
>>> @@ -308,3 +324,4 @@ config EARLY_PRINTK_INC
>>>         default "debug-mvebu.inc" if EARLY_UART_MVEBU
>>>         default "debug-pl011.inc" if EARLY_UART_PL011
>>>         default "debug-scif.inc" if EARLY_UART_SCIF
>>> +       default "debug-qcom.inc" if EARLY_UART_QCOM
>>> diff --git a/xen/arch/arm/arm64/debug-qcom.inc b/xen/arch/arm/arm64/debug-qcom.inc
>>> new file mode 100644
>>> index 0000000000..130d08d6e9
>>> --- /dev/null
>>> +++ b/xen/arch/arm/arm64/debug-qcom.inc
>>> @@ -0,0 +1,76 @@
>>> +/*
>>> + * xen/arch/arm/arm64/debug-qcom.inc
>>> + *
>>> + * Qualcomm debug UART specific debug code
>>> + *
>>> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>> + * Copyright (C) 2024, EPAM Systems.
>>> + *
>>> + * This program is free software; you can redistribute it and/or modify
>>> + * it under the terms of the GNU General Public License as published by
>>> + * the Free Software Foundation; either version 2 of the License, or
>>> + * (at your option) any later version.
>>> + *
>>> + * This program is distributed in the hope that it will be useful,
>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>>> + * GNU General Public License for more details.
>> No need for the license text. You should use SPDX identifier instead at the top of the file:
>> /* SPDX-License-Identifier: GPL-2.0-or-later */
>>
>>> + */
>>> +
>>> +#include <asm/qcom-uart.h>
>>> +
>>> +.macro early_uart_init xb c
>> Separate macro parameters with comma (here and elsewhere) and please add a comment on top clarifying the use
>> Also, do we really need to initialize uart every time? What if firmware does that?
>>
> 
> You see, this code is working inside-out. early printk code in Xen is
> written with assumption that early_uart_transmit don't need a scratch
> register. But this is not true for GENI... To send one character we
> must write two registers beforehand: TX_TRANS_LEN and CMD0. Only after
> that we can write something to FIFO. But early_uart_transmit has no
> scratch register to prepare values for TX_TRANS_LEN and CMD0. So we
> write what we do here
> 
> 1. Reset the state machine with ABORT command
> 2. Write 1 to TX_TRANS_LEN
> 3. Write START_TX to CMD0
> 
> Now early_uart_transmit can write "wt" to the FIFO and after that it can
> use "wt" as a scratch register to repeat steps 2 and 3.
> 
> Probably I need this as a comment to into the .inc file...
Yes, please add a comment so that a person reading a code can understand the rationale.

[...]

>> What about vUART? You don't seem to set vuart information that is used by vuart.c and vpl011.c
>>
> 
> I am not sure that it is possible to emulate GENI UART with simple vuart
> API. vuart makes assumption that there is one simple status register and
> FIFO register operates on per-character basis, while even earlycon part
> of the driver in Linux tries to pack 4 characters to one FIFO write.
Ok. It might make sense to mention this in commit msg (no vuart, no vpl011 for direct mapped domains)

> 
> Thank you for the review. I'll address all other comments as you
> suggested.
> 
> --
> WBR, Volodymyr

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 07:52:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 07:52:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700353.1093364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvPp-00086w-Jh; Wed, 03 Apr 2024 07:52:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700353.1093364; Wed, 03 Apr 2024 07:52:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvPp-00086p-HF; Wed, 03 Apr 2024 07:52:13 +0000
Received: by outflank-mailman (input) for mailman id 700353;
 Wed, 03 Apr 2024 07:52: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=u5rf=LI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rrvPo-00086j-1G
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 07:52:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13a10056-f18f-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 09:52:10 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 567724EE0739;
 Wed,  3 Apr 2024 09:52:10 +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: 13a10056-f18f-11ee-afe5-a90da7624cb6
MIME-Version: 1.0
Date: Wed, 03 Apr 2024 09:52:10 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>, Stefano Stabellini
 <stefano.stabellini@amd.com>, consulting@bugseng.com, George Dunlap
 <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org, Dario Faggioli
 <dfaggioli@suse.com>
Subject: Re: [XEN PATCH 3/7] xen/sched: address a violation of MISRA C:2012
 Rule 16.3
In-Reply-To: <28786c5b-c625-4754-980d-c9a0fdc49c37@suse.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <8f91430e37594831dd8d92ab630477be88417b49.1712042178.git.federico.serafini@bugseng.com>
 <28786c5b-c625-4754-980d-c9a0fdc49c37@suse.com>
Message-ID: <0d0c8cd162a8bfed07dd374ef2dd62d4@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-04-03 08:33, Jan Beulich wrote:
> On 02.04.2024 09:22, Federico Serafini wrote:
>> Use pseudo-keyword fallthrough to meet the requirements to deviate
>> 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/sched/credit2.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
>> index c76330d79d..0962b52415 100644
>> --- a/xen/common/sched/credit2.c
>> +++ b/xen/common/sched/credit2.c
>> @@ -3152,8 +3152,8 @@ static int cf_check csched2_sys_cntl(
>>              printk(XENLOG_INFO "Disabling context switch rate 
>> limiting\n");
>>          prv->ratelimit_us = params->ratelimit_us;
>>          write_unlock_irqrestore(&prv->lock, flags);
>> +        fallthrough;
>> 
>> -    /* FALLTHRU */
>>      case XEN_SYSCTL_SCHEDOP_getinfo:
>>          params->ratelimit_us = prv->ratelimit_us;
>>          break;
> 
> Hmm, the description doesn't say what's wrong with the comment. 
> Furthermore
> docs/misra/rules.rst doesn't mention "fallthrough" at all, nor the
> alternative of using comments. I notice docs/misra/deviations.rst does, 
> and
> there the specific comment used here isn't covered. That would want 
> saying
> in the description.
> 
> Stefano (and others) - in this context it becomes noticeable that 
> having
> stuff scattered across multiple doc files isn't necessarily helpful. 
> Other
> permissible keywords are mentioned in rules.rst. The pseudo-keyword
> "fallthrough" as well as comments are mentioned on deviations.rst. 
> Could
> you remind me of the reason(s) why things aren't recorded in a single,
> central place?
> 
> Jan

If I recall correctly, the idea was to avoid rules.rst from getting too 
long and too specific about which patterns were deviated, while also 
having a precise record of the MISRA deviations that didn't live in 
ECLAIR-specific files. Maybe the use of the pseudo-keyword emerged after 
the rule was added to rules.rst, since deviations.rst is updated more 
frequently.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 08:16:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 08:16:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700363.1093374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvnM-0003TH-VY; Wed, 03 Apr 2024 08:16:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700363.1093374; Wed, 03 Apr 2024 08: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 1rrvnM-0003TA-Sy; Wed, 03 Apr 2024 08:16:32 +0000
Received: by outflank-mailman (input) for mailman id 700363;
 Wed, 03 Apr 2024 08:16: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=eUqh=LI=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rrvnL-0003T4-6R
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 08:16:31 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2414::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78c9c4fd-f192-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 10:16:29 +0200 (CEST)
Received: from SA1PR05CA0015.namprd05.prod.outlook.com (2603:10b6:806:2d2::24)
 by DS0PR12MB7557.namprd12.prod.outlook.com (2603:10b6:8:130::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr
 2024 08:16:26 +0000
Received: from SN1PEPF0002529D.namprd05.prod.outlook.com
 (2603:10b6:806:2d2:cafe::34) by SA1PR05CA0015.outlook.office365.com
 (2603:10b6:806:2d2::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Wed, 3 Apr 2024 08:16:26 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002529D.mail.protection.outlook.com (10.167.242.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 08:16:26 +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.35; Wed, 3 Apr
 2024 03:16:25 -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.35; Wed, 3 Apr
 2024 03:16:24 -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.35 via Frontend
 Transport; Wed, 3 Apr 2024 03:16: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: 78c9c4fd-f192-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mtBIhvhaCtQqHGqfiQOGr8MkyoExC4A3kwGQPn4R59q0qZ0uK8rIAt0WRjTs/HBJrwb7ahJoP4UFqXoUqVMk7Xr4+uH3dwvPHkPJmoftp7Hx5pQZgOJ9jaJHIQ7F181zwZgcSXpMBDuQau9mzqIB3RhREEZIiB2PF9vRopWCg2JfNMzbvYcKr6VacyYzXmnPo/8IbzwfXdaBQE0HT+YLXIl/hCGEcf4nuIfl4Rm+2t8Wt5Xow5BuH1lkO0s6eyFbzFePs45PHn2+10v30U/RP8C5vY3yHqIOtJClqwNXOMMROngwCa1roVkZQtnVV6KthTvnNRI8bEpe9bqyw4S26w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OHxMjhwmAzimPSJP1VTomeYb5uReXxIrg/cUbSKwr4Q=;
 b=Gl5NuMnHMFTtsp0ds9qs1k6h0/VMvyPFmUQWtUXqbDkwwGyg8ot7aJgeFz3zTX0JP3xeWZYJ3i47kCRkQIMa7YOEcGxgDsQJLYXnyRLaOaTgB1i/uHPhvk5Yx+sJ/lY19hjutwsu3AY45F6YTLYLZt4hZoI6IAgFacdLYRt2S6S4ussKgGjUhftBUFtCxufUbcKHpBSE8SHXL+TbsrTd1js6z5hY+alECAF0tAOQLWI/8j8YhNRwnsu71dXd7J8hFjNIbBvTahSBDV2ZUARjWHO7Q2s6A8bgdPk6SeWuWFQzk7ATLKOT7Vq+jOZFn5TWic3qFrC2ZDlBuJEt9IcJtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OHxMjhwmAzimPSJP1VTomeYb5uReXxIrg/cUbSKwr4Q=;
 b=CBtFGyU/2/Mca7poTft04bLnMGuTW5/vjD47xKhcl/CE1kxE74B64ERDZ9B3eYTf9+3LY++gd3jk1gRCYKAs/Ylc1ny9WwYY4+/8IKmVMs/8fviuC5qy1fYfDM0qYFEhOO5wujQhrcD70rLl866Va4+56HsY9Z+XJDWd5QYvNx4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <eb7118d0-ca3c-4959-b2e9-4f7fa247c80e@amd.com>
Date: Wed, 3 Apr 2024 10:16:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] arm: platform: qcom: add basic support SA8155P SoC
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-4-volodymyr_babchuk@epam.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240329000822.3363568-4-volodymyr_babchuk@epam.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: SN1PEPF0002529D:EE_|DS0PR12MB7557:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b5ae14c-d513-4f75-5c81-08dc53b65b73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+OiN2K8vP3VkBxWnjIsdGKHSNKO5YGJ5rHnOagyQ3vI+gFmpD5OXNa0lpjpmII2na+1aNGRW4O7fSlxZl30nWmn2pryJmsSEumSehP+bnknn6CxxBMVzVcQYASQyD+pqFSSQDE4yftYhiyriX50ZKTkJgtA693q8Pu907JfT5LbZ0bkOOOEUC2iEbfJ/UU1MzHhhvar2cudiRziU/Y3vj32xz51A9d4dG7fKvfTZnyWYMkF3URrpiWXa23L8qtqGYeq1LWWv2q5dimAg73EAjW1+tmYoJoCR+yqk7kgIgQpB5UEgP7jpnmQ6xuyjuKw3D2W4MipMqK2AfhJqo09EaCu1X7p0MryPAmnfsliDTDcEfn2MX9wQ6VDvWm5wcB7zMiwo2grKw0rvrFnhJkWxVDimT/vI9EfzHEcYuPhYl2lQ059K5iNDXMmC/kCnubEJv+JJQFbfeLh1kTHQc3LsF6t8KCWJIke4LANl5BngJeIlrK2BNUNXrSO14pSQaHfMEScf5NS+RND1SblN1I7at7dZmBqX428hw9D7dIu/tAem3iwReS9bJ/YaA2xYXVHF5GZ/jGhfb42F8HvvcrqhZru+4y3gkRWeuTGfqyJbf7IzZO0bbCSOlzp4tfEs8D8TjX6OsfxOZV4X7Ip3QHDe7OizKg5AkY7o40l4ZGr5L0Fzpb5fn0SLYpgAkucwWymv4w2XxtRictjFENeOVgIqkrPDVEX+eyWIMKuB58ndQvzXFXh9IU8soWJatNbeOEtm
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 08:16:26.0707
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b5ae14c-d513-4f75-5c81-08dc53b65b73
X-MS-Exchange-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:
	SN1PEPF0002529D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7557

Hello,

On 29/03/2024 01:08, Volodymyr Babchuk wrote:
> 
> 
> Qualcomm SA8155P is the automotive variant of SM8150 aka Snapdragon
> 855.
> 
> This patch adds very basic support for the platform. We need to handle
> Qualcomm-specific SMC to workaround quirk in the QCOM SCM driver in
> the Linux kernel. Basically the driver tries multiple different SMCs
> to determine which calling convention is supported by a SoC. If all
> calls fail it decides that the SoC uses "legacy SMC" and tries to
> communicate with SCM by issuing SMC with funcid = 1. Problem is that
> Xen has own understanding on how such SMC should be handled. It
> interprets this SMC as legacy PSCI_cpu_off and happily turns of Linux
> boot CPU.
> 
> To workaround this, we pretend that we support
> QCOM_SCM_INFO_IS_CALL_AVAIL, this will make the driver use the latest
> calling convention. All subsequent calls will fail anyways and the
> driver will terminate self gracefully. This is not a big deal, because
> right now (with Linux 6.8) even on baremetal setup the driver fails
> anyways, because it does not know how to work with this SoC.
Therefore I would consider adding a Kconfig option and placing it under experimental

> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>  xen/arch/arm/platforms/Makefile |  1 +
>  xen/arch/arm/platforms/qcom.c   | 77 +++++++++++++++++++++++++++++++++
>  2 files changed, 78 insertions(+)
>  create mode 100644 xen/arch/arm/platforms/qcom.c
> 
> diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
> index 8632f4115f..6873735ef0 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>  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) += qcom.o
>  obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>  obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
> diff --git a/xen/arch/arm/platforms/qcom.c b/xen/arch/arm/platforms/qcom.c
> new file mode 100644
> index 0000000000..77e9c58649
> --- /dev/null
> +++ b/xen/arch/arm/platforms/qcom.c
> @@ -0,0 +1,77 @@
> +/*
> + * xen/arch/arm/platforms/qcom.c
> + *
> + * Qualcomm SoCs specific code
> + *
> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> + *
> + * Copyright (c) 2024 EPAM Systems.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
Please use SPDX identifier instead of license text

> + */
> +
> +#include <asm/platform.h>
> +#include <public/arch-arm/smccc.h>
no need for this public header

> +#include <asm/smccc.h>
> +
> +#define SCM_SMC_FNID(s, c)     ((((s) & 0xFF) << 8) | ((c) & 0xFF))
spaces instead of tabs

> +#define QCOM_SCM_SVC_INFO              0x06
spaces instead of tabs

> +#define QCOM_SCM_INFO_IS_CALL_AVAIL    0x01
> +
> +#define ARM_SMCCC_SIP_QCOM_SCM_IS_CALL_AVAIL                            \
> +    ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL,                             \
> +                       ARM_SMCCC_CONV_64,                               \
> +                       ARM_SMCCC_OWNER_SIP,                             \
> +                       SCM_SMC_FNID(QCOM_SCM_SVC_INFO,                  \
> +                                    QCOM_SCM_INFO_IS_CALL_AVAIL))
> +
> +static const char * const sa8155p_dt_compat[] __initconst =
> +{
> +    "qcom,sa8155p",
> +    NULL
> +};
> +
> +static bool sa8155p_smc(struct cpu_user_regs *regs)
> +{
> +    uint32_t funcid = get_user_reg(regs, 0);
> +
> +    switch ( funcid ) {
brace should be placed on a new line

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 08:16:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 08:16:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700364.1093386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvna-0003ld-D6; Wed, 03 Apr 2024 08:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700364.1093386; Wed, 03 Apr 2024 08:16:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvna-0003lU-8M; Wed, 03 Apr 2024 08:16:46 +0000
Received: by outflank-mailman (input) for mailman id 700364;
 Wed, 03 Apr 2024 08: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=pmYG=LI=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rrvnY-0003ko-Ko
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 08:16:44 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7fc497e2-f192-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 10:16:41 +0200 (CEST)
Received: from SA0PR11CA0203.namprd11.prod.outlook.com (2603:10b6:806:1bc::28)
 by SJ2PR12MB8830.namprd12.prod.outlook.com (2603:10b6:a03:4d0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr
 2024 08:16:36 +0000
Received: from SN1PEPF000252A4.namprd05.prod.outlook.com
 (2603:10b6:806:1bc:cafe::4) by SA0PR11CA0203.outlook.office365.com
 (2603:10b6:806:1bc::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Wed, 3 Apr 2024 08:16:36 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF000252A4.mail.protection.outlook.com (10.167.242.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 08:16:35 +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.35; Wed, 3 Apr
 2024 03:16:34 -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.35; Wed, 3 Apr
 2024 03:16:34 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 3 Apr 2024 03:16: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: 7fc497e2-f192-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nnjP4XEDgfg4oEAthI6FZk80NTl2MV+iyD3OSqK++BJ2EFN3xeLBnpBNcrDpsOQbyWGizm0L/Mj29Uc/1MldHVOoyGXm0g8r8U0JqRXvaPseAjB0ehjaeTnDi+2z/avlScXepwx618Dsy/p8A6XX1ZkfobaCi9/yhsJcJC1b0mHYcBI54EvGDk9MG9ybS9jq4hH8jjLpxFJ/EdVH9oFwgkybH3MVTc1+0OcWGQUMQmq1ZS3l6bOhm75eWBqhPAc/y0ls3GhMcMdTg9Qoit+5oHZN7gdHc8WHdxBfTVGzqs0Weg9givXi4G7o8yucZJvihziIOL07LVKRrrTT0yFCLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=shwxAnYik38Fuwf+xRsQq+WZDXb5Gq5iIlZdElM45SI=;
 b=km+cCAZ0ktSsiNpQrd2uYHoM7OO/7lZuMQ5xc0Se0P+/EAy8ZMt9sbGRIlbOMeNXfB/gkR8L1JjmV8GeAf0Aqj3jqaAi1MyR7BbYpNrcYmpxijpkJo1G1BBCrzREzVZZevdbdyBJhHvS575seBkiNcWCLvNMjl1g1W1QrNFQ1rNd9ds6FKvXG/VoKC3tI5wWWAQys90EbDgvAipLu3vZM2Fncr+NR/q7kCtLgatA2xvkoaImRvtkVyxXMqU6LDciSeEcm7mLNsyL5LVNPU/ZOOG8A6I0EnIkcthSkqsSvczWDvEaU/vy6L3oiBQjBHi4ErqYTzDN/28DBoYA7lAHBA==
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=shwxAnYik38Fuwf+xRsQq+WZDXb5Gq5iIlZdElM45SI=;
 b=ShwoqNrHfh1OZuomphgN7hAYvi8gQu6HU3V+FgVaeTjVpJCNxYWF3oMhc3sPYUiWCxHubcxVelinONSvLc5aKMV+v8Vo1vCf9WFpVb+cvjYnIklHhFk0Ege4jMXDhmbXHCgUaqm/K747x0c+4sZhdHI7tdAl/uiS9/VdIHSOKbc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 0/4] DOMCTL-based guest magic region allocation for 11 domUs
Date: Wed, 3 Apr 2024 16:16:22 +0800
Message-ID: <20240403081626.375313-1-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A4:EE_|SJ2PR12MB8830:EE_
X-MS-Office365-Filtering-Correlation-Id: 233e969f-380e-473c-35f2-08dc53b66107
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xZYTNQZlL8TjaH6fLdLqCnC65t7Bngo3He71KYcJbwGzX7dm6aqn+kmpVzWIYuHvk4fJqN4D9AD6N7EAcQjmpV/hEcbkMhF3wE3qIXSI6lhDjZjqS8md32DZDxdjbNM/AXfNOQFFTBwGjgDf+ExV0D/sAdDoSsgb6FOxWRtwjwZSyPQ4Y68uwSs5csjESBJQH4o7pzfBogo7LxsUGAJnR0BES0fW26sQsNMCl84syANiT/4JsinCQLOZN7l2dt8v03afR9O2pvSh+Np4BCGko2YsB2xlOjtc0J77MDHbW2wLv6s9nJadMqLg1sgD54Kv6ZCtax/m6LIbH35Rdg6wQ0Nlp/PcIhWd4T0Josug4icUtLBD/YP5mlR5r4Rm4Ba6teWfHZ6F2gjNyVLAHbs+aXD+IJxSD9P79qnaXNmJPjLjT6RwReAxppErIFJOKm3uz5CXCBr78Ej0W0ctCviFvbQwfhcAJP7uOUOJLxGPNKyjiKP6/WBBtPaMFpyNK2kkY6zO0NTryNdLm1lcam3uVsOg0FjstfagmKVydWC0IEaVYsgcKM5vIv2jjYmYy+5UbpFq9hZ3gcp/RzxuMoodP4FBg2+HgErAUzHTiaX/x0IkS21HYJy2EvPSrYxZei0XjGMLzLbg4p7gSLhoZCom+7t4WY12ideqKDnBo1qEZXIPA8IuXn3N8znI+G6PqYhM/k6GrpDo8XdBZSQLDgyFBpZ7W8WmKTTH1CLO3g35dD20cC9Py8qB1R5qUNLebaW0
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(7416005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 08:16:35.4283
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 233e969f-380e-473c-35f2-08dc53b66107
X-MS-Exchange-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:
	SN1PEPF000252A4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8830

An error message can seen from the init-dom0less application on
direct-mapped 1:1 domains:
```
Allocating magic pages
memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
Error on alloc magic pages
```

This is because populate_physmap() automatically assumes gfn == mfn
for direct mapped domains. This cannot be true for the magic pages
that are allocated later for 1:1 Dom0less DomUs from the init-dom0less
helper application executed in Dom0. For domain using statically
allocated memory but not 1:1 direct-mapped, similar error "failed to
retrieve a reserved page" can be seen as the reserved memory list
is empty at that time.

This series tries to fix this issue using a DOMCTL-based approach,
because for 1:1 direct-mapped domUs, we need to avoid the RAM regions
and inform the toolstack about the region found by hypervisor for
mapping the magic pages. Patch 1 introduced a new DOMCTL to get the
guest memory map, currently only used for the magic page regions.
Patch 2 generalized the extended region finding logic so that it can
be reused for other use cases such as finding 1:1 domU magic regions.
Patch 3 uses the same approach as finding the extended regions to find
the guest magic page regions for direct-mapped DomUs. Patch 4 avoids
hardcoding all base addresses of guest magic region in the init-dom0less
application by consuming the newly introduced DOMCTL.

Gitlab pipeline for this series:
https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/1238005196

Henry Wang (4):
  xen/domctl, tools: Introduce a new domctl to get guest memory map
  xen/arm: Generalize the extended region finding logic
  xen/arm: Find unallocated spaces for magic pages of direct-mapped domU
  xen/memory, tools: Avoid hardcoding GUEST_MAGIC_BASE in init-dom0less

 tools/helpers/init-dom0less.c            |  36 +++++--
 tools/include/xenctrl.h                  |   4 +
 tools/libs/ctrl/xc_domain.c              |  33 ++++++
 xen/arch/arm/dom0less-build.c            |  11 ++
 xen/arch/arm/domain.c                    |  15 +++
 xen/arch/arm/domain_build.c              | 131 +++++++++++++++--------
 xen/arch/arm/domctl.c                    |  32 +++++-
 xen/arch/arm/include/asm/domain.h        |   8 ++
 xen/arch/arm/include/asm/domain_build.h  |   4 +
 xen/arch/arm/include/asm/setup.h         |   5 +
 xen/arch/arm/include/asm/static-memory.h |   7 ++
 xen/arch/arm/static-memory.c             |  39 +++++++
 xen/common/memory.c                      |  22 +++-
 xen/include/public/arch-arm.h            |  11 ++
 xen/include/public/domctl.h              |  27 +++++
 xen/include/public/memory.h              |   5 +
 xen/include/xen/mm.h                     |   7 ++
 17 files changed, 339 insertions(+), 58 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 08:16:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 08:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700365.1093395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvnb-00040p-K7; Wed, 03 Apr 2024 08:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700365.1093395; Wed, 03 Apr 2024 08:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvnb-00040i-Gg; Wed, 03 Apr 2024 08:16:47 +0000
Received: by outflank-mailman (input) for mailman id 700365;
 Wed, 03 Apr 2024 08:16:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pmYG=LI=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rrvna-0003ko-F0
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 08:16:46 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20608.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81477812-f192-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 10:16:44 +0200 (CEST)
Received: from BL1PR13CA0350.namprd13.prod.outlook.com (2603:10b6:208:2c6::25)
 by MW4PR12MB5643.namprd12.prod.outlook.com (2603:10b6:303:188::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr
 2024 08:16:41 +0000
Received: from MN1PEPF0000ECD4.namprd02.prod.outlook.com
 (2603:10b6:208:2c6:cafe::f7) by BL1PR13CA0350.outlook.office365.com
 (2603:10b6:208:2c6::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Wed, 3 Apr 2024 08:16:40 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD4.mail.protection.outlook.com (10.167.242.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 08:16:40 +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.35; Wed, 3 Apr
 2024 03:16:38 -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.35; Wed, 3 Apr
 2024 03:16:37 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 3 Apr 2024 03:16:35 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81477812-f192-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kDsmWsU5Rnq/U00eQbJi3h04usvH9t40gRmAiN3PqPlhIviIED+LFbiA2ccNQ4YfjgJqc+XV5xvdgEO3F5Kk+UxsUoMQKG8JdAtKNupbQuC1DgGNJxVCVdB1aLSZG3RzWThEU36hAFYpWIlwbqKfmZxNRjJYPdpCkbdPOzolx+RUBvW8qIAOafbH3cRPf4QdQvi7NpDgRJPDV97nxA3Nf4Ep1fq5sXTTfaemwCCexLs/6iU2JTiY4bVtDeBQBe3efYOOG5Ta41LELS2iCRm3hwZMYX6+c0eVYRB/uniZoLmTgi8WE3efx/bSaD9BIkomuQvrhqGNgfgze/z8I9x18A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zLgP/wdtlIbftK9XsioWlo358tZ0SOpF5VtmpUPR2g0=;
 b=fkmvjKS2hvR9RgeKbwr7FYyM/BCyy8WAO3MFOU8FTXEGgzE37VZn1Elir8c5cSAeY82+cPoLTN4RIm0QAbcvclWSyNCvSNJdjquYR3akhoqV85pWIgEjk0yH5X9BY+unFuzu2HJZ+nI5cmf5Atj7nL+k0gcYzNfRBrxGrvRC5AloAJ3outOeeE/vJh5FELZ1++/qjq4lwM3FHveBB6NaKi8mpaNqSRT5vZBsd9x22CNpC67yChs/biNW2wAVCtDT2Juz9atG+hz2oNAhpRw2ktcsiDo8kOqHVheZtFqiPOysy3cZFdjPT0Hyu5lPiKrYNThVltlMFWilLkI0YayMgw==
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=zLgP/wdtlIbftK9XsioWlo358tZ0SOpF5VtmpUPR2g0=;
 b=YMKEQ2oECNcT3lhG/M4kNfhOX2eVVgGwKwlv9LSSmmdrjIJkRQCMsJlajUlTNHEzJ4UL729yxKnUlRzLr+50f1MdeHAeXHo9b4mSidKttZE3cXPKjkqhBgb+no9NdyzfT2uSu6LJmK9dhLgY1o1X7XtEEq7kYt9Kp5jMChmQpuk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Alec Kwapis
	<alec.kwapis@medtronic.com>
Subject: [PATCH v3 1/4] xen/domctl, tools: Introduce a new domctl to get guest memory map
Date: Wed, 3 Apr 2024 16:16:23 +0800
Message-ID: <20240403081626.375313-2-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240403081626.375313-1-xin.wang2@amd.com>
References: <20240403081626.375313-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD4:EE_|MW4PR12MB5643:EE_
X-MS-Office365-Filtering-Correlation-Id: aa4f17af-4862-4b4c-2616-08dc53b663e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rkNNBKl63TMtkFv8RH1IBCWhezi/7GgldBPYXksLOIOlv5cX3/J8JBEVFuQIGbmW8cYMvNF3g2zVPbqJMuRSI3mpD47AXxb8qulF55a61/MHGvB0arUKlqNwvrcGUOV+roo264e2dys/kettW/TXpCpyUq3tJsnnVfyj7tBBxl0qvTJ4/3HsBGPLC1WynjqOvM1i1HFkVJ5T8pSc7uAZmFBVn7mum6dqIktQ/UA45K1CSxTMeWBMW5LytZbzq75evV5wNRGLY25qDGhAN1Zr5RWR0wANWcfjouxeHPODDy+D9uwHWY3ypzxBPDuPbCThaL0EG+MHZ3BPFEK8lE60JP6Gaxid6Evnlmj8oXbgWmp7N8ZTe13F7TzETzQ5gKaWbSGx1SM558NSVAZSENa113J7/ZBpUziUuD0y43HQY/Lr90/3zpyPhAr1sG7MlhoCS3HzNOboUScMxZbcLb6VbbFQL2M5N1gN5RUGQda6ywWuQ0tRanR7muc1U3Z9FyIwIBh+r2+kmmgY5EiyQ9oQsqZuC1uPA6Mnqr7sNb2mJIuPWju7Ae799t1sBTFLWXX360vVWi1hTaY8grwiB2g1VNNIXz/uDwEPPXWARTuRw+DYFGUxKAe/iZc6FhiazY4t2tT6OMDGzFCRhV9P9fvJKJb5Uf+x0tZIVz8JUcyBexCiSQ4DKUAofFO4e9zMZiwsC51v9JDAdxCO08raIDiOUDeAJq4QoH0UEgesfKn/LnltM07Nla8O/fDisMgUmoSi
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 08:16:40.2851
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa4f17af-4862-4b4c-2616-08dc53b663e5
X-MS-Exchange-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:
	MN1PEPF0000ECD4.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5643

There are some use cases where the toolstack needs to know the guest
memory map. For example, the toolstack helper application
"init-dom0less" needs to know the guest magic page regions for 1:1
direct-mapped dom0less DomUs to allocate magic pages.

To address such needs, add XEN_DOMCTL_get_mem_map hypercall and
related data structures to query the hypervisor for the guest memory
map. The guest memory map is recorded in the domain structure and
currently only guest magic page region is recorded in the guest
memory map. The guest magic page region is initialized at the domain
creation time as the layout in the public header, and it is updated
for 1:1 dom0less DomUs (see the following commit) to avoid conflict
with RAM.

Take the opportunity to drop an unnecessary empty line to keep the
coding style consistent in the file.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
RFC: I think the newly introduced "struct xen_domctl_mem_map" is
quite duplicated with "struct xen_memory_map", any comment on reuse
the "struct xen_memory_map" for simplicity?
v3:
- Init the return rc for XEN_DOMCTL_get_mem_map.
- Copy the nr_mem_regions back as it should be both IN & OUT.
- Check if mem_map->nr_mem_regions exceeds the XEN_MAX_MEM_REGIONS
  when adding a new entry.
- Allow XEN_MAX_MEM_REGIONS to be different between different archs.
- Add explicit padding and check to the domctl structures.
v2:
- New patch
---
 tools/include/xenctrl.h           |  4 ++++
 tools/libs/ctrl/xc_domain.c       | 33 +++++++++++++++++++++++++++++++
 xen/arch/arm/domain.c             | 15 ++++++++++++++
 xen/arch/arm/domctl.c             | 32 +++++++++++++++++++++++++++++-
 xen/arch/arm/include/asm/domain.h |  8 ++++++++
 xen/include/public/arch-arm.h     | 11 +++++++++++
 xen/include/public/domctl.h       | 27 +++++++++++++++++++++++++
 7 files changed, 129 insertions(+), 1 deletion(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e054..b25e9772a2 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1195,6 +1195,10 @@ int xc_domain_setmaxmem(xc_interface *xch,
                         uint32_t domid,
                         uint64_t max_memkb);
 
+int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
+                          struct xen_mem_region mem_regions[],
+                          uint32_t *nr_regions);
+
 int xc_domain_set_memmap_limit(xc_interface *xch,
                                uint32_t domid,
                                unsigned long map_limitkb);
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index f2d9d14b4d..8363657dae 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -697,6 +697,39 @@ int xc_domain_setmaxmem(xc_interface *xch,
     return do_domctl(xch, &domctl);
 }
 
+int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
+                          struct xen_mem_region mem_regions[],
+                          uint32_t *nr_regions)
+{
+    int rc;
+    struct xen_domctl domctl = {
+        .cmd         = XEN_DOMCTL_get_mem_map,
+        .domain      = domid,
+        .u.mem_map = {
+            .nr_mem_regions = *nr_regions,
+            .pad            = 0,
+        },
+    };
+
+    DECLARE_HYPERCALL_BOUNCE(mem_regions,
+                             sizeof(xen_mem_region_t) * (*nr_regions),
+                             XC_HYPERCALL_BUFFER_BOUNCE_OUT);
+
+    if ( !mem_regions || xc_hypercall_bounce_pre(xch, mem_regions) ||
+         (*nr_regions) < 1 )
+        return -1;
+
+    set_xen_guest_handle(domctl.u.mem_map.buffer, mem_regions);
+
+    rc = do_domctl(xch, &domctl);
+
+    xc_hypercall_bounce_post(xch, mem_regions);
+
+    *nr_regions = domctl.u.mem_map.nr_mem_regions;
+
+    return rc;
+}
+
 #if defined(__i386__) || defined(__x86_64__)
 int xc_domain_set_memory_map(xc_interface *xch,
                                uint32_t domid,
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index f38cb5e04c..e77d157626 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -696,6 +696,7 @@ int arch_domain_create(struct domain *d,
 {
     unsigned int count = 0;
     int rc;
+    struct mem_map_domain *mem_map = &d->arch.mem_map;
 
     BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
 
@@ -785,6 +786,20 @@ int arch_domain_create(struct domain *d,
     d->arch.sve_vl = config->arch.sve_vl;
 #endif
 
+    if ( mem_map->nr_mem_regions < XEN_MAX_MEM_REGIONS )
+    {
+        mem_map->regions[mem_map->nr_mem_regions].start = GUEST_MAGIC_BASE;
+        mem_map->regions[mem_map->nr_mem_regions].size = GUEST_MAGIC_SIZE;
+        mem_map->regions[mem_map->nr_mem_regions].type = GUEST_MEM_REGION_MAGIC;
+        mem_map->nr_mem_regions++;
+    }
+    else
+    {
+        printk("Exceed max number of supported memory map regions\n");
+        rc = -ENOSPC;
+        goto fail;
+    }
+
     return 0;
 
 fail:
diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index ad56efb0f5..ede19d80a3 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -148,7 +148,6 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
 
         return 0;
     }
-
     case XEN_DOMCTL_vuart_op:
     {
         int rc;
@@ -176,6 +175,37 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
 
         return rc;
     }
+    case XEN_DOMCTL_get_mem_map:
+    {
+        int rc = 0;
+        uint32_t nr_regions, i;
+
+        if ( domctl->u.mem_map.pad )
+            return -EINVAL;
+
+        /*
+         * Cap the number of regions to the minimum value between toolstack and
+         * hypervisor to avoid overflowing the buffer.
+         */
+        nr_regions = min(d->arch.mem_map.nr_mem_regions,
+                         domctl->u.mem_map.nr_mem_regions);
+
+        domctl->u.mem_map.nr_mem_regions = nr_regions;
+
+        for ( i = 0; i < nr_regions; i++ )
+        {
+            if ( d->arch.mem_map.regions[i].pad )
+                return -EINVAL;
+        }
+
+        if ( copy_to_guest(domctl->u.mem_map.buffer,
+                           d->arch.mem_map.regions,
+                           nr_regions) ||
+             __copy_to_guest(u_domctl, domctl, 1) )
+            rc = -EFAULT;
+
+        return rc;
+    }
     default:
         return subarch_do_domctl(domctl, d, u_domctl);
     }
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index f1d72c6e48..a559a9e499 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -10,6 +10,7 @@
 #include <asm/gic.h>
 #include <asm/vgic.h>
 #include <asm/vpl011.h>
+#include <public/domctl.h>
 #include <public/hvm/params.h>
 
 struct hvm_domain
@@ -59,6 +60,11 @@ struct paging_domain {
     unsigned long p2m_total_pages;
 };
 
+struct mem_map_domain {
+    unsigned int nr_mem_regions;
+    struct xen_mem_region regions[XEN_MAX_MEM_REGIONS];
+};
+
 struct arch_domain
 {
 #ifdef CONFIG_ARM_64
@@ -77,6 +83,8 @@ struct arch_domain
 
     struct paging_domain paging;
 
+    struct mem_map_domain mem_map;
+
     struct vmmio vmmio;
 
     /* Continuable domain_relinquish_resources(). */
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index a25e87dbda..cd47ae9d74 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -223,6 +223,13 @@ typedef uint64_t xen_pfn_t;
  */
 #define XEN_LEGACY_MAX_VCPUS 1
 
+/*
+ * Maximum number of memory map regions for guest memory layout.
+ * Used by XEN_DOMCTL_get_mem_map, currently there is only one region
+ * for the guest magic pages.
+ */
+#define XEN_MAX_MEM_REGIONS 1
+
 typedef uint64_t xen_ulong_t;
 #define PRI_xen_ulong PRIx64
 
@@ -420,6 +427,10 @@ typedef uint64_t xen_callback_t;
  * should instead use the FDT.
  */
 
+/* Guest memory region types */
+#define GUEST_MEM_REGION_DEFAULT    0
+#define GUEST_MEM_REGION_MAGIC      1
+
 /* Physical Address Space */
 
 /* Virtio MMIO mappings */
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b..f0a0a9b58f 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -946,6 +946,31 @@ struct xen_domctl_paging_mempool {
     uint64_aligned_t size; /* Size in bytes. */
 };
 
+#ifndef XEN_MAX_MEM_REGIONS
+#define XEN_MAX_MEM_REGIONS 1
+#endif
+
+struct xen_mem_region {
+    uint64_aligned_t start;
+    uint64_aligned_t size;
+    uint32_t         type;
+    /* Must be zero */
+    uint32_t         pad;
+};
+typedef struct xen_mem_region xen_mem_region_t;
+DEFINE_XEN_GUEST_HANDLE(xen_mem_region_t);
+
+struct xen_domctl_mem_map {
+    /* IN & OUT */
+    uint32_t         nr_mem_regions;
+    /* Must be zero */
+    uint32_t         pad;
+    /* OUT */
+    XEN_GUEST_HANDLE_64(xen_mem_region_t) buffer;
+};
+typedef struct xen_domctl_mem_map xen_domctl_mem_map_t;
+DEFINE_XEN_GUEST_HANDLE(xen_domctl_mem_map_t);
+
 #if defined(__i386__) || defined(__x86_64__)
 struct xen_domctl_vcpu_msr {
     uint32_t         index;
@@ -1277,6 +1302,7 @@ struct xen_domctl {
 #define XEN_DOMCTL_vmtrace_op                    84
 #define XEN_DOMCTL_get_paging_mempool_size       85
 #define XEN_DOMCTL_set_paging_mempool_size       86
+#define XEN_DOMCTL_get_mem_map                   87
 #define XEN_DOMCTL_gdbsx_guestmemio            1000
 #define XEN_DOMCTL_gdbsx_pausevcpu             1001
 #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1339,6 +1365,7 @@ struct xen_domctl {
         struct xen_domctl_vuart_op          vuart_op;
         struct xen_domctl_vmtrace_op        vmtrace_op;
         struct xen_domctl_paging_mempool    paging_mempool;
+        struct xen_domctl_mem_map           mem_map;
         uint8_t                             pad[128];
     } u;
 };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 08:16:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 08:16:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700366.1093404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvnc-0004He-SE; Wed, 03 Apr 2024 08:16:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700366.1093404; Wed, 03 Apr 2024 08: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 1rrvnc-0004Gc-OJ; Wed, 03 Apr 2024 08:16:48 +0000
Received: by outflank-mailman (input) for mailman id 700366;
 Wed, 03 Apr 2024 08: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=pmYG=LI=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rrvnb-0003T4-Jd
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 08:16:47 +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 82a1d1de-f192-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 10:16:46 +0200 (CEST)
Received: from BL1PR13CA0337.namprd13.prod.outlook.com (2603:10b6:208:2c6::12)
 by SJ0PR12MB5635.namprd12.prod.outlook.com (2603:10b6:a03:42a::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr
 2024 08:16:43 +0000
Received: from MN1PEPF0000ECD4.namprd02.prod.outlook.com
 (2603:10b6:208:2c6:cafe::f4) by BL1PR13CA0337.outlook.office365.com
 (2603:10b6:208:2c6::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Wed, 3 Apr 2024 08:16:42 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD4.mail.protection.outlook.com (10.167.242.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 08:16:42 +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.35; Wed, 3 Apr
 2024 03:16:41 -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.35; Wed, 3 Apr
 2024 03:16:41 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 3 Apr 2024 03:16: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: 82a1d1de-f192-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dah/sfWZuczEgbktwmaDgkik7ZDifEcYoxpkHZmlesS1fyvtRl1kUTQieJCbuJcN2ZGhtTMtqEUDuerA+oRYe43WbvCYA4Q/KzpJkW6ku/AFAx/3ILzaLP1QMc6y7c5NbuCSH8NDEIYbfJGo987jbBMrYwqJZ+M8wXRfEMXVaRA0faIwmz35lb+ldDP/yU/UvbR2nWakwWUk15LHoi8k1J2ByTHjz4kVX0AV7RlKZ8pSS8UpXMhzY/bBKB4cw2+ki+HQMoiG0e46a/zqUFgwgFd73iP7jwRRvrPdFlKDX+71LN2pNv1HoH3F9gULecndu1lKEyAAp+ElcENVOVzfKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jrt2TDWyGFwLDPyE7dfhD/sOOfaMOtdFsjXTWYKEeiE=;
 b=CldmWVyEqIz1m0w/TWZLovaRI40mn7hLJL/dVsODPTB007WZtzFDXKSyysBNYpdJhi2RmFwi9rCK665ZhiYZRTSXK2StpyF9H6WwBcDQm/CwnMsgxnEVN/RGUGfY7+onNH7JKIxrjuVBexcJhjmS6YmzpIxFi3JbgiKH8vH9/jkUvSKR3E8m02gCpZSc5RnadFaSK+IOc/ppdoAx4dVmgeKl/pwTUJI78nfgX+UQhEBdLIPYszoILQBYqyFzUVvlVakNrsJuMvVYf8L2yzYPZpAKv8gPTGK8d2nJEHCFald8+LRfAA7A1Oey0MWJmNj2lbGp5uVlcEbItdC3c6nqQg==
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=jrt2TDWyGFwLDPyE7dfhD/sOOfaMOtdFsjXTWYKEeiE=;
 b=uQWymbalgITxZ/XcJYTSKy0b1baJkqOBt4YMN+RZNe7wuuhh7lA/82wb8TtWfO8cRROAz2iyf53QNvTbcCezIPusN1xFMSD3wetY+xEqwXxIwBIKkju3TGPOMLQ2owD5jnWjxwYcMWJAPEeyiIQz0Iuv4vCVidBN1j7/HoLto9c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@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 v3 2/4] xen/arm: Generalize the extended region finding logic
Date: Wed, 3 Apr 2024 16:16:24 +0800
Message-ID: <20240403081626.375313-3-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240403081626.375313-1-xin.wang2@amd.com>
References: <20240403081626.375313-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD4:EE_|SJ0PR12MB5635:EE_
X-MS-Office365-Filtering-Correlation-Id: f56ff361-841a-4055-3e57-08dc53b66522
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qQbGXEOf5PEgz9iLiOFr0OcIDqstKoZ87ytRQbDGXN8qtd74NDOrPbgpaKvLYqmfbrIIdPlE1dcoa1Mur877fCB2drQKvuI/t+WAEe70eluGGCxhVg2OQWqYoa4NokI5axq9IexZdZdna26MgoslJC4QZr6tc4VuVC+DGLnGAZpGGZuWMnGGUUwuimpidArDr0nyXXry8LZ4fSgibEHCzdHBY+Imy/M/pwNX5TeRKObl4dqpK3HCMpUVZyFH6Fk7oBulk4nLU3L991bK86yP2pmAdTstuy0EF8d0pITAjjuucNwsstszpUiELoR+dRtv/nHUL4PEH922fVaDP4aRMNERfe6S2YFSdteSkJ4kgpHsKKoXzleHwDjXGVgGW0Tpe5fyEZgE46VZ88cKOtOLbRFNozj6uA54FvA0zus1O5QP7LABOMo3HUPiyA6OoId2F/OdBy2dCcfUk6sjVkhYC1a0R5WeLLVE4QbmCrTytYgJ/3IRcPD5U8mwEg5qLQuBg8FtIgC2x0Ha3U5mMG7fAn4ib2qiNUKOM715JYpATHbcQpQpe0onMb5ahjpzUoZ7InDuVjXIgaqK5I5MXkw8nUT3jqLLxCuJ/OJ+xYa8KKMQWDc1lkSqPCynU/dQY+7ZwmSVDhHV3FBcOtQpbP9lgY1MQw0y8raDMhN1Pe1vLMWx6FuBvQPly5Q5TEbU0eNxZiT+zrcTQcmNMLE2IpGO/ih51s2lRCzOofqayjW5vsKB/YAkTwvotFAC3LZjTLwZ
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 08:16:42.3632
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f56ff361-841a-4055-3e57-08dc53b66522
X-MS-Exchange-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:
	MN1PEPF0000ECD4.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5635

Recently there are needs to find unallocated/used memory regions
for different use cases at boot time, and the logic of finding
extended regions can be reused for some of the new use cases.

This commit therefore generalize the extended region finding logic.
Firstly, extract the extended region finding logic to a dedicated
helper find_unused_regions(). Then add and pass down a `min_region_size`
parameter so that the helpers can take a flexible region size
instead of the hardcoded 64MB for extended region. Finally, adjust
the variable and function names to make them general instead of for
extended region only.

Take the opportunity to update the stale in-code comment of
find_unallocated_memory() and find_memory_holes().

Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v3:
- New patch
---
 xen/arch/arm/domain_build.c             | 107 ++++++++++++++----------
 xen/arch/arm/include/asm/domain_build.h |   2 +
 xen/arch/arm/include/asm/setup.h        |   5 ++
 3 files changed, 70 insertions(+), 44 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 085d88671e..d2a9c047ea 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -814,19 +814,21 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
-                                  void *data)
+static int __init add_regions(unsigned long s_gfn, unsigned long e_gfn,
+                              void *data)
 {
-    struct meminfo *ext_regions = data;
+    struct mem_unused_info *unused = data;
+    struct meminfo *regions = unused->regions;
+    paddr_t min_region_size = unused->min_region_size;
     paddr_t start, size;
     paddr_t s = pfn_to_paddr(s_gfn);
     paddr_t e = pfn_to_paddr(e_gfn);
 
-    if ( ext_regions->nr_banks >= ARRAY_SIZE(ext_regions->bank) )
+    if ( regions->nr_banks >= ARRAY_SIZE(regions->bank) )
         return 0;
 
     /*
-     * Both start and size of the extended region should be 2MB aligned to
+     * Both start and size of the region should be 2MB aligned to
      * potentially allow superpage mapping.
      */
     start = (s + SZ_2M - 1) & ~(SZ_2M - 1);
@@ -845,26 +847,27 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
      * not quite useful but increase bookkeeping and not too large
      * to skip a large proportion of unused address space.
      */
-    if ( size < MB(64) )
+    if ( size < min_region_size )
         return 0;
 
-    ext_regions->bank[ext_regions->nr_banks].start = start;
-    ext_regions->bank[ext_regions->nr_banks].size = size;
-    ext_regions->nr_banks++;
+    regions->bank[regions->nr_banks].start = start;
+    regions->bank[regions->nr_banks].size = size;
+    regions->nr_banks++;
 
     return 0;
 }
 
 /*
- * Find unused regions of Host address space which can be exposed to Dom0
- * as extended regions for the special memory mappings. In order to calculate
- * regions we exclude every region assigned to Dom0 from the Host RAM:
+ * Find unused regions of Host address space which can be exposed to
+ * direct-mapped domains as regions for the special memory mappings.
+ * In order to calculate regions we exclude every region assigned to
+ * direct-mapped domains from the Host RAM:
  * - domain RAM
  * - reserved-memory
  * - grant table space
  */
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
-                                          struct meminfo *ext_regions)
+                                          struct mem_unused_info *unused)
 {
     const struct meminfo *assign_mem = &kinfo->mem;
     struct rangeset *unalloc_mem;
@@ -893,7 +896,7 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
         }
     }
 
-    /* Remove RAM assigned to Dom0 */
+    /* Remove RAM assigned to domain */
     for ( i = 0; i < assign_mem->nr_banks; i++ )
     {
         start = assign_mem->bank[i].start;
@@ -942,10 +945,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
     res = rangeset_report_ranges(unalloc_mem, PFN_DOWN(start), PFN_DOWN(end),
-                                 add_ext_regions, ext_regions);
+                                 add_regions, unused);
     if ( res )
-        ext_regions->nr_banks = 0;
-    else if ( !ext_regions->nr_banks )
+        unused->regions->nr_banks = 0;
+    else if ( !unused->regions->nr_banks )
         res = -ENOENT;
 
 out:
@@ -982,16 +985,16 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
 }
 
 /*
- * Find the holes in the Host DT which can be exposed to Dom0 as extended
- * regions for the special memory mappings. In order to calculate regions
- * we exclude every addressable memory region described by "reg" and "ranges"
+ * Find the holes in the Host DT which can be exposed to direct-mapped domains
+ * as regions for the special memory mappings. In order to calculate regions we
+ * exclude every addressable memory region described by "reg" and "ranges"
  * properties from the maximum possible addressable physical memory range:
  * - MMIO
  * - Host RAM
  * - PCI aperture
  */
 static int __init find_memory_holes(const struct kernel_info *kinfo,
-                                    struct meminfo *ext_regions)
+                                    struct mem_unused_info *unused)
 {
     struct dt_device_node *np;
     struct rangeset *mem_holes;
@@ -1068,10 +1071,10 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
     res = rangeset_report_ranges(mem_holes, PFN_DOWN(start), PFN_DOWN(end),
-                                 add_ext_regions,  ext_regions);
+                                 add_regions, unused);
     if ( res )
-        ext_regions->nr_banks = 0;
-    else if ( !ext_regions->nr_banks )
+        unused->regions->nr_banks = 0;
+    else if ( !unused->regions->nr_banks )
         res = -ENOENT;
 
 out:
@@ -1081,35 +1084,62 @@ out:
 }
 
 static int __init find_domU_holes(const struct kernel_info *kinfo,
-                                  struct meminfo *ext_regions)
+                                  struct mem_unused_info *unused)
 {
     unsigned int i;
     uint64_t bankend;
     const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
     const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
+    struct meminfo *regions = unused->regions;
+    paddr_t min_region_size = unused->min_region_size;
     int res = -ENOENT;
 
     for ( i = 0; i < GUEST_RAM_BANKS; i++ )
     {
-        struct membank *ext_bank = &(ext_regions->bank[ext_regions->nr_banks]);
+        struct membank *bank = &(regions->bank[regions->nr_banks]);
 
-        ext_bank->start = ROUNDUP(bankbase[i] + kinfo->mem.bank[i].size, SZ_2M);
+        bank->start = ROUNDUP(bankbase[i] + kinfo->mem.bank[i].size, SZ_2M);
 
         bankend = ~0ULL >> (64 - p2m_ipa_bits);
         bankend = min(bankend, bankbase[i] + banksize[i] - 1);
-        if ( bankend > ext_bank->start )
-            ext_bank->size = bankend - ext_bank->start + 1;
+        if ( bankend > bank->start )
+            bank->size = bankend - bank->start + 1;
 
-        /* 64MB is the minimum size of an extended region */
-        if ( ext_bank->size < MB(64) )
+        if ( bank->size < min_region_size )
             continue;
-        ext_regions->nr_banks++;
+        regions->nr_banks++;
         res = 0;
     }
 
     return res;
 }
 
+int __init find_unused_regions(struct domain *d,
+                               const struct kernel_info *kinfo,
+                               struct meminfo *regions,
+                               paddr_t min_region_size)
+{
+    int res;
+    struct mem_unused_info unused;
+
+    unused.regions = regions;
+    unused.min_region_size = min_region_size;
+
+    if ( is_domain_direct_mapped(d) )
+    {
+        if ( !is_iommu_enabled(d) )
+            res = find_unallocated_memory(kinfo, &unused);
+        else
+            res = find_memory_holes(kinfo, &unused);
+    }
+    else
+    {
+        res = find_domU_holes(kinfo, &unused);
+    }
+
+    return res;
+}
+
 int __init make_hypervisor_node(struct domain *d,
                                 const struct kernel_info *kinfo,
                                 int addrcells, int sizecells)
@@ -1161,18 +1191,7 @@ int __init make_hypervisor_node(struct domain *d,
         if ( !ext_regions )
             return -ENOMEM;
 
-        if ( is_domain_direct_mapped(d) )
-        {
-            if ( !is_iommu_enabled(d) )
-                res = find_unallocated_memory(kinfo, ext_regions);
-            else
-                res = find_memory_holes(kinfo, ext_regions);
-        }
-        else
-        {
-            res = find_domU_holes(kinfo, ext_regions);
-        }
-
+        res = find_unused_regions(d, kinfo, ext_regions, MB(64));
         if ( res )
             printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
                    d);
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index da9e6025f3..74432123fe 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -10,6 +10,8 @@ bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
+int find_unused_regions(struct domain *d, const struct kernel_info *kinfo,
+                        struct meminfo *regions, paddr_t min_region_size);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index d15a88d2e0..d24c6d31c8 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -61,6 +61,11 @@ struct meminfo {
     struct membank bank[NR_MEM_BANKS];
 };
 
+struct mem_unused_info {
+    struct meminfo *regions;
+    paddr_t min_region_size;
+};
+
 /*
  * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
  * The purpose of the domU flag is to avoid getting confused in
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 08:16:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 08:16:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700367.1093415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvnh-0004dn-8U; Wed, 03 Apr 2024 08:16:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700367.1093415; Wed, 03 Apr 2024 08: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 1rrvnh-0004df-3d; Wed, 03 Apr 2024 08:16:53 +0000
Received: by outflank-mailman (input) for mailman id 700367;
 Wed, 03 Apr 2024 08:16:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pmYG=LI=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rrvnf-0003ko-Bx
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 08:16:51 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:200a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 843ab91d-f192-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 10:16:49 +0200 (CEST)
Received: from SA1PR05CA0005.namprd05.prod.outlook.com (2603:10b6:806:2d2::7)
 by DM4PR12MB6613.namprd12.prod.outlook.com (2603:10b6:8:b8::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr
 2024 08:16:46 +0000
Received: from SN1PEPF0002529D.namprd05.prod.outlook.com
 (2603:10b6:806:2d2:cafe::6e) by SA1PR05CA0005.outlook.office365.com
 (2603:10b6:806:2d2::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Wed, 3 Apr 2024 08:16:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002529D.mail.protection.outlook.com (10.167.242.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 08:16:45 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 3 Apr
 2024 03:16:44 -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.35; Wed, 3 Apr
 2024 03:16:43 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 3 Apr 2024 03:16: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: 843ab91d-f192-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LULCcn6+rOC2LNUuUCyXxHMIkQd25SZuqUtg5aACubRfFayhCq+1BcfG1rufZBZ4d4Yb15bdn3Put5UW4g9FKMXdUVlS/g7fK3xIU6xXBHWYCOZsDxrXc9M8/OoWyhkXwOIdYDCQdefOn5QVZFpLDV3ogW9cIQtu0h3anlINzvp0+RTFnIrWySge+/EFgIu1Z6INCojaU3NemqOMFNwWPU+uxI7IhSUAa+W17v+c05inRdKur4XliU7hiaORA30pZW7LbPCGUiBK7J2XX7L0lkMJwVacD5uFDk4wpEvW3TbP8OwPNwlFE4/nHnk5qqzSCnrI0jOYNtFEZ0IrYmb27A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mNRwPpFg2SQ6Km3yJhJpLVDrBZXI0Pb6KKElu/5Go2U=;
 b=kbL89FLmbWi/psSO71FsPgXAYZzSl471qK7X+nanSqg4diY5JdqLjwONlIHynKHzX9VqNp3k1NO38V189XI74SnXU4euFd/WhBXygfF32S7hHZjuKJ8tqQ1CjQGXJVAR/1rSSbTf4rD0nWrGYvl8wWeuLa2xW+8zLNW2x0dVAnX917kP9HDrvA2NBdzLVOueeB/jx9oKJJZpE7Xj33A6t3hsKDojaDouzzLxWkSFRQ6r2mT+0d1GvoxD/Kd6Td0lnsgENiPfyzyDVr2YMnqMRV/WlZTFc3EU7CEKeP9b3j6p0cN4q5nmZNYweCbW6FEcMry1cFKkuxHTYGnxOlJZTA==
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=mNRwPpFg2SQ6Km3yJhJpLVDrBZXI0Pb6KKElu/5Go2U=;
 b=vYCVn7ddgi+97r35aIcQhaEtfnLBUhJ3M0+nPnI0S67fvi0YlQ1/dsFkKh6dZY8mA/6KiIISVjnkzXpPK3oXOflDBwSYLtP2FX2RwoosgbSlWxMw9GUAp+kK3hehJ6tXCDdMr2jcpZXsx7eWJzII7uzL3tFiL4LwTxbEFv7jf80=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@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>, Alec Kwapis
	<alec.kwapis@medtronic.com>
Subject: [PATCH v3 3/4] xen/arm: Find unallocated spaces for magic pages of direct-mapped domU
Date: Wed, 3 Apr 2024 16:16:25 +0800
Message-ID: <20240403081626.375313-4-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240403081626.375313-1-xin.wang2@amd.com>
References: <20240403081626.375313-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002529D:EE_|DM4PR12MB6613:EE_
X-MS-Office365-Filtering-Correlation-Id: c3f45a89-4027-4002-732a-08dc53b666f1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DHesczFa3ek0GFUg+G97mwupe7oF9Y5HXrk9b1BhNB0ujKdpbs0zcjnDIaaJa5pxD9BSkEs1tGwo//XJ2g0rAcxtaMBqWvJWO0g65JqEC662san9nWXRnsyWGHDwHTslPsR2RW0sa2AOPTaU9REMF6k78Xeu0ujU3T3hhv1VBiZRE5+XXV2Y3E5WQ99Am7Q6qceFe3GjNNXrM3k7mtHdqcwHd5eOfLeYbjNF/J6vdXOy0IfAE5RCiHa8+HPrAXy+s4c1Nf+Sp48sWSB6dKgJuAfNcwkyhwhgMeRTNAvIf+2qpk+/O2l6YBkW7hzoOtXmZOsPBlg+1998wzV8hI89L/2Aib91pf6vxqmn7bkeePTIW1PoaW9ylIZEPUKADrBfOemw0PE/pZiwv/ALLdoKLNMELUTNjEwUUDqHzB5xwF3GuCwhoWG1bsr7zxb2Y8/+Cf3l5xy+4ulRmSMBtIA+bplGClnmQPJO5s8XGFpvhwZ0iviFcgfarn7wVauYCWqk32MGNqqhL+CxLTuR+E06DoVdqmlodyZVzybeXEPYGZTeKk54WAVIcWfRX7rjk4nCNhRK9MNfhsk0SCWnWWIZ29yhyjzRKP9ofhLi4IaGTXLl8J3YQYVOVTgkpP4OHNwMWztcdvuoJ2XMbwAijTank53H2zKStwPTo1fns1+pWQ/Y07nY7zf/uL5VO2nl4UvuG7rFt+lw7HDEE/wVWu7ObB7oIXlXd0wCk38iAPElS6LPCrzsLixRoGt6h1pFOe90
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 08:16:45.3833
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c3f45a89-4027-4002-732a-08dc53b666f1
X-MS-Exchange-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:
	SN1PEPF0002529D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6613

For 1:1 direct-mapped dom0less DomUs, the magic pages should not clash
with any RAM region. To find a proper region for guest magic pages,
we can reuse the logic of finding domain extended regions.

If the extended region is enabled, since the extended region banks are
at least 64MB, carve out the first 16MB from the first extended region
bank for magic pages of direct-mapped domU. If the extended region is
disabled, call the newly introduced helper find_11_domU_magic_region()
to find a GUEST_MAGIC_SIZE sized unused region.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v3:
- Extract the logic of finding unallocated spaces for magic pages of
  direct-mapped domU to a dedicated function in static-memory.c
- Properly handle error and free memory in find_11_domU_magic_region()
v2:
- New patch
---
 xen/arch/arm/dom0less-build.c            | 11 +++++++
 xen/arch/arm/domain_build.c              | 24 ++++++++++++++-
 xen/arch/arm/include/asm/domain_build.h  |  2 ++
 xen/arch/arm/include/asm/static-memory.h |  7 +++++
 xen/arch/arm/static-memory.c             | 39 ++++++++++++++++++++++++
 5 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index fb63ec6fd1..1963f029fe 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -682,6 +682,17 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
 
     if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
     {
+        /*
+         * Find the guest magic region for 1:1 dom0less domU when the extended
+         * region is not enabled.
+         */
+        if ( !opt_ext_regions || is_32bit_domain(d) )
+        {
+            ret = find_11_domU_magic_region(d, kinfo);
+            if ( ret )
+                goto err;
+        }
+
         ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
         if ( ret )
             goto err;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d2a9c047ea..a5d1ca7f73 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -46,7 +46,7 @@ integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
  * If true, the extended regions support is enabled for dom0 and
  * dom0less domUs.
  */
-static bool __initdata opt_ext_regions = true;
+bool __initdata opt_ext_regions = true;
 boolean_param("ext_regions", opt_ext_regions);
 
 static u64 __initdata dom0_mem;
@@ -1196,6 +1196,28 @@ int __init make_hypervisor_node(struct domain *d,
             printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
                    d);
         nr_ext_regions = ext_regions->nr_banks;
+
+        /*
+         * If extended region is enabled, carve out the 16MB guest magic page
+         * regions from the first bank of extended region (at least 64MB) for
+         * the 1:1 dom0less DomUs
+         */
+        if ( is_domain_direct_mapped(d) && !is_hardware_domain(d) )
+        {
+            struct mem_map_domain *mem_map = &d->arch.mem_map;
+
+            for ( i = 0; i < mem_map->nr_mem_regions; i++ )
+            {
+                if ( mem_map->regions[i].type == GUEST_MEM_REGION_MAGIC )
+                {
+                    mem_map->regions[i].start = ext_regions->bank[0].start;
+                    mem_map->regions[i].size = GUEST_MAGIC_SIZE;
+
+                    ext_regions->bank[0].start += GUEST_MAGIC_SIZE;
+                    ext_regions->bank[0].size -= GUEST_MAGIC_SIZE;
+                }
+            }
+        }
     }
 
     reg = xzalloc_array(__be32, (nr_ext_regions + 1) * (addrcells + sizecells));
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 74432123fe..063ff727bb 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,6 +4,8 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
+extern bool opt_ext_regions;
+
 typedef __be32 gic_interrupt_t[3];
 
 bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
index 3e3efd70c3..01e51217ca 100644
--- a/xen/arch/arm/include/asm/static-memory.h
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -12,6 +12,7 @@ void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
 void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
                              const struct dt_device_node *node);
 void init_staticmem_pages(void);
+int find_11_domU_magic_region(struct domain *d, struct kernel_info *kinfo);
 
 #else /* !CONFIG_STATIC_MEMORY */
 
@@ -31,6 +32,12 @@ static inline void assign_static_memory_11(struct domain *d,
 
 static inline void init_staticmem_pages(void) {};
 
+static inline int find_11_domU_magic_region(struct domain *d,
+                                            struct kernel_info *kinfo)
+{
+    return 0;
+}
+
 #endif /* CONFIG_STATIC_MEMORY */
 
 #endif /* __ASM_STATIC_MEMORY_H_ */
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
index cffbab7241..c280e1d992 100644
--- a/xen/arch/arm/static-memory.c
+++ b/xen/arch/arm/static-memory.c
@@ -2,6 +2,7 @@
 
 #include <xen/sched.h>
 
+#include <asm/domain_build.h>
 #include <asm/static-memory.h>
 
 static bool __init append_static_memory_to_bank(struct domain *d,
@@ -276,6 +277,44 @@ void __init init_staticmem_pages(void)
     }
 }
 
+int __init find_11_domU_magic_region(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    if ( is_domain_direct_mapped(d) )
+    {
+        struct meminfo *magic_region = xzalloc(struct meminfo);
+        struct mem_map_domain *mem_map = &d->arch.mem_map;
+        unsigned int i;
+        int ret = 0;
+
+        if ( !magic_region )
+            return -ENOMEM;
+
+        ret = find_unused_regions(d, kinfo, magic_region, GUEST_MAGIC_SIZE);
+        if ( ret )
+        {
+            printk(XENLOG_WARNING
+                   "%pd: failed to find a region for domain magic pages\n", d);
+            xfree(magic_region);
+            return -ENOENT;
+        }
+
+        /* Update the domain memory map. */
+        for ( i = 0; i < mem_map->nr_mem_regions; i++ )
+        {
+            if ( mem_map->regions[i].type == GUEST_MEM_REGION_MAGIC )
+            {
+                mem_map->regions[i].start = magic_region->bank[0].start;
+                mem_map->regions[i].size = GUEST_MAGIC_SIZE;
+            }
+        }
+
+        xfree(magic_region);
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 08:16:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 08:16:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700369.1093425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvnm-00053n-Fj; Wed, 03 Apr 2024 08:16:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700369.1093425; Wed, 03 Apr 2024 08:16:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrvnm-00053Z-BM; Wed, 03 Apr 2024 08:16:58 +0000
Received: by outflank-mailman (input) for mailman id 700369;
 Wed, 03 Apr 2024 08: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=pmYG=LI=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rrvnk-0003ko-Ht
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 08:16:56 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2417::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 874e9ba1-f192-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 10:16:54 +0200 (CEST)
Received: from SA0PR11CA0185.namprd11.prod.outlook.com (2603:10b6:806:1bc::10)
 by PH8PR12MB6843.namprd12.prod.outlook.com (2603:10b6:510:1ca::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 3 Apr
 2024 08:16:48 +0000
Received: from SN1PEPF000252A4.namprd05.prod.outlook.com
 (2603:10b6:806:1bc:cafe::a0) by SA0PR11CA0185.outlook.office365.com
 (2603:10b6:806:1bc::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Wed, 3 Apr 2024 08:16:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF000252A4.mail.protection.outlook.com (10.167.242.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 08:16:48 +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.35; Wed, 3 Apr
 2024 03:16:47 -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.35; Wed, 3 Apr
 2024 03:16:46 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 3 Apr 2024 03:16:44 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 874e9ba1-f192-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Sa6LYU84AWDFBSiSpcF74ogajYLqBh6evBPiWWAtwLc/Af1M3qscwK1+/Xy/aa5wnj2o18qBHjVt4xQwwNNMCwfxKmqLngZ8tdZL5Y/51Lmmwdn9b7Db0V/yoBIpKhDD98MKsNj0e4oyKq1nPSAP4nvaGBkJP8s6xodcVhCBSS7dD8+dMIJwCiPCwgn5wCmokEtNazsY0O0Hej8XEcEsdhFnuux/qTR1FqzEDRKmKaqfszl4yX9kvGvHR8diLEtG9+IoNQfGyuxaOXloLTUS70abK3E2YQ001pJOGEJOcd3hWkr3OHMlSGjsNcLpO909c18j029Pyty1VBxB0+vFMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FGmVvVfqXC9aW1ilmIMsYNtDyW2xCIUX5WJMDblARw8=;
 b=IAJiDqlSH5wbGuCUDwztSx5zuoKI383Yv3WQGzxjGwfxVE+4xDgacumwy0Dti9ZCXTAKrR+j5Cqm1G8iBRbB/ulOZn8R0VmgCLh0f/3auYeDwI2/wcNDKbXNKMHZ6ZjRhucfK51/Qnvhb8S4YCinYljcwYmYM+qvkqufHKQSRy4ORcjcPUy4qt4XaZJ8mfsB8zsZadZO1hVw8abIqEoaNrlFvVgeRDzmOJNbRgQ6rKTmAxjtt1L8o1+vbs+WAJgtSIR5D2PxnPDvjF4zcczKM+279zVgrZHqDSNlrBxeadsSnJEhasZYt69IDFSjdW5obgO7vDFeDv+f+fnOQb9z+w==
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=FGmVvVfqXC9aW1ilmIMsYNtDyW2xCIUX5WJMDblARw8=;
 b=DC+z/blDlBnbk0u476Xmwf2HJ3wz05fuqZ1W8woHsU/4Odf9txn+9qMI/9sMCkemo8/NyaIdT4m5atalyiUNvD/GR8A2qwpkTKKZ52BP/1/g2uXF/FxFZExPNB+dHEpBoXMPIzZfKi/yRNiSg25utuuiiYiMp45Z7un+1a5LXrM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Alec Kwapis <alec.kwapis@medtronic.com>
Subject: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding GUEST_MAGIC_BASE in init-dom0less
Date: Wed, 3 Apr 2024 16:16:26 +0800
Message-ID: <20240403081626.375313-5-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240403081626.375313-1-xin.wang2@amd.com>
References: <20240403081626.375313-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A4:EE_|PH8PR12MB6843:EE_
X-MS-Office365-Filtering-Correlation-Id: c5813296-4c82-4011-b348-08dc53b668bf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ttyDtU69rcLz8hpXDIA50TV/L3fIVrfK1lFCpjVBsOnfXgSYWAmDwI8092EWRQ4A4e0MFuglZWjzyhfxJOq2NB3dsreFZS4mvrFVy0hQ5HCi8tm5mlwstQfwRli6k9iB26l0+dvFJtuvlaDLG6MTlO4Lspd9p8TZBGFWctGBtQWypjNxP6rpXEtt+UkNKKBsGIyBMBgiC0pEP30LnqIcqYxLHANImOQU0JJG50R1Xn91Ka1QS6Jb7yKAO9OZAPnBPGdQV7Jl2CkXBAkIS5LvZEk0dyi2Jolznjy0usIm7NMUas4p4N/1Z4R18v0PvRpIsIef/N5Ge3It+5vUewviGe3HlVuB5mVG5LQkE9LNmnb8mJZx4GPAwPXb/HZ0AWMnotbrBtdrZ3aUpjuGcpxoHMdfDjZLp0Y0SwXulPlgqSIbFj9OpnsmZKVDcvxJqBdov6IWaC7KQnyjt6PbmS1E3MA+v2/e+vXxp9z4g0fuf0SugXsFBBbBdcoSHyJzsdG/dD9++SmJnYCRzYcQt3BFqks9ujA+3LGu1MR7m2SawbZ+PMipCLGGMtCeW/ie3icbjWyLg9rMtWoHGjcPV1DhyGRRBfxb8XLZ6ovBrkXpzsq6wjM5o89h/fXWjAG8mibsFzM+aIjFtMtGvsZHwj48CX6SxCsTyEHQ+Ild5Il4TRiLOBOJSMCEgOgVZmUMkQLSh+XLEmbR3U/WoNfh2i5Ig2+w7N9Pdh3ieuyha/KnqFbFvJx0oIjZPnTLrJGy5Ksa
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 08:16:48.3971
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c5813296-4c82-4011-b348-08dc53b668bf
X-MS-Exchange-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:
	SN1PEPF000252A4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6843

Currently the GUEST_MAGIC_BASE in the init-dom0less application is
hardcoded, which will lead to failures for 1:1 direct-mapped Dom0less
DomUs.

Instead of hardcoding the guest magic pages region, use the
XEN_DOMCTL_get_mem_map domctl to get the start address of the guest
magic pages region. Add the (XEN)MEMF_force_heap_alloc memory
flags to force populate_physmap() to allocate page from domheap
instead of using 1:1 or static allocated pages to map the magic pages.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v3:
- Don't ignore the error from xc_get_domain_mem_map().
- Re-purposing the _MEMF_no_refcount as _MEMF_force_heap_alloc to
  avoid introduction of a new, single-use flag.
- Reject other reservation sub-ops to use the newly added flag.
- Replace all the GUEST_MAGIC_BASE usages.
v2:
- New patch
---
 tools/helpers/init-dom0less.c | 36 +++++++++++++++++++++++++----------
 xen/common/memory.c           | 22 +++++++++++++++++++--
 xen/include/public/memory.h   |  5 +++++
 xen/include/xen/mm.h          |  7 +++++++
 4 files changed, 58 insertions(+), 12 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index fee93459c4..8eec4d1f49 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -19,24 +19,43 @@
 #define XENSTORE_PFN_OFFSET 1
 #define STR_MAX_LENGTH 128
 
+static xen_pfn_t xs_page_base;
+static xen_pfn_t xs_page_p2m;
+
 static int alloc_xs_page(struct xc_interface_core *xch,
                          libxl_dominfo *info,
                          uint64_t *xenstore_pfn)
 {
-    int rc;
-    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
-    xen_pfn_t p2m = (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET;
+    int rc, i;
+    uint32_t nr_regions = XEN_MAX_MEM_REGIONS;
+    struct xen_mem_region mem_regions[XEN_MAX_MEM_REGIONS] = {0};
+
+    rc = xc_get_domain_mem_map(xch, info->domid, mem_regions, &nr_regions);
+    if (rc < 0)
+        return rc;
+
+    for ( i = 0; i < nr_regions; i++ )
+    {
+        if ( mem_regions[i].type == GUEST_MEM_REGION_MAGIC )
+        {
+            xs_page_base = mem_regions[i].start >> XC_PAGE_SHIFT;
+            xs_page_p2m = (mem_regions[i].start >> XC_PAGE_SHIFT) +
+                          XENSTORE_PFN_OFFSET;
+        }
+    }
 
     rc = xc_domain_setmaxmem(xch, info->domid,
                              info->max_memkb + (XC_PAGE_SIZE/1024));
     if (rc < 0)
         return rc;
 
-    rc = xc_domain_populate_physmap_exact(xch, info->domid, 1, 0, 0, &p2m);
+    rc = xc_domain_populate_physmap_exact(xch, info->domid, 1, 0,
+                                          XENMEMF_force_heap_alloc,
+                                          &xs_page_p2m);
     if (rc < 0)
         return rc;
 
-    *xenstore_pfn = base + XENSTORE_PFN_OFFSET;
+    *xenstore_pfn = xs_page_base + XENSTORE_PFN_OFFSET;
     rc = xc_clear_domain_page(xch, info->domid, *xenstore_pfn);
     if (rc < 0)
         return rc;
@@ -145,8 +164,7 @@ static int create_xenstore(struct xs_handle *xsh,
     rc = snprintf(target_memkb_str, STR_MAX_LENGTH, "%"PRIu64, info->current_memkb);
     if (rc < 0 || rc >= STR_MAX_LENGTH)
         return rc;
-    rc = snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
-                  (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
+    rc = snprintf(ring_ref_str, STR_MAX_LENGTH, "%"PRIu_xen_pfn, xs_page_p2m);
     if (rc < 0 || rc >= STR_MAX_LENGTH)
         return rc;
     rc = snprintf(xenstore_port_str, STR_MAX_LENGTH, "%u", xenstore_port);
@@ -282,9 +300,7 @@ static int init_domain(struct xs_handle *xsh,
     if (rc)
         err(1, "writing to xenstore");
 
-    rc = xs_introduce_domain(xsh, info->domid,
-            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
-            xenstore_evtchn);
+    rc = xs_introduce_domain(xsh, info->domid, xs_page_p2m, xenstore_evtchn);
     if (!rc)
         err(1, "xs_introduce_domain");
     return 0;
diff --git a/xen/common/memory.c b/xen/common/memory.c
index b3b05c2ec0..4f8c665870 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -219,7 +219,8 @@ static void populate_physmap(struct memop_args *a)
         }
         else
         {
-            if ( is_domain_direct_mapped(d) )
+            if ( is_domain_direct_mapped(d) &&
+                 !(a->memflags & MEMF_force_heap_alloc) )
             {
                 mfn = _mfn(gpfn);
 
@@ -246,7 +247,8 @@ static void populate_physmap(struct memop_args *a)
 
                 mfn = _mfn(gpfn);
             }
-            else if ( is_domain_using_staticmem(d) )
+            else if ( is_domain_using_staticmem(d) &&
+                      !(a->memflags & MEMF_force_heap_alloc) )
             {
                 /*
                  * No easy way to guarantee the retrieved pages are contiguous,
@@ -271,6 +273,14 @@ static void populate_physmap(struct memop_args *a)
             }
             else
             {
+                /*
+                 * Avoid passing MEMF_force_heap_alloc down to
+                 * alloc_domheap_pages() where the meaning would be the
+                 * original MEMF_no_refcount.
+                 */
+                if ( unlikely(a->memflags & MEMF_force_heap_alloc) )
+                    clear_bit(_MEMF_force_heap_alloc, &a->memflags);
+
                 page = alloc_domheap_pages(d, a->extent_order, a->memflags);
 
                 if ( unlikely(!page) )
@@ -1408,6 +1418,10 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&reservation, arg, 1) )
             return start_extent;
 
+        if ( op != XENMEM_populate_physmap
+             && (reservation.mem_flags & XENMEMF_force_heap_alloc) )
+            return -EINVAL;
+
         /* Is size too large for us to encode a continuation? */
         if ( reservation.nr_extents > (UINT_MAX >> MEMOP_EXTENT_SHIFT) )
             return start_extent;
@@ -1433,6 +1447,10 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
              && (reservation.mem_flags & XENMEMF_populate_on_demand) )
             args.memflags |= MEMF_populate_on_demand;
 
+        if ( op == XENMEM_populate_physmap
+             && (reservation.mem_flags & XENMEMF_force_heap_alloc) )
+            args.memflags |= MEMF_force_heap_alloc;
+
         if ( xsm_memory_adjust_reservation(XSM_TARGET, curr_d, d) )
         {
             rcu_unlock_domain(d);
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 5e545ae9a4..2a1bfa5bfa 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -41,6 +41,11 @@
 #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
 /* Flag to indicate the node specified is virtual node */
 #define XENMEMF_vnode  (1<<18)
+/*
+ * Flag to force populate physmap to use pages from domheap instead of 1:1
+ * or static allocation.
+ */
+#define XENMEMF_force_heap_alloc  (1<<19)
 #endif
 
 struct xen_memory_reservation {
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 3e84960a36..0f65d84532 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -192,6 +192,13 @@ struct npfec {
 /* memflags: */
 #define _MEMF_no_refcount 0
 #define  MEMF_no_refcount (1U<<_MEMF_no_refcount)
+/*
+ * Alias of _MEMF_no_refcount to avoid introduction of a new, single-use flag.
+ * This flag should be used for populate_physmap() only as a re-purposing of
+ * _MEMF_no_refcount to force a non-1:1 allocation from domheap.
+ */
+#define _MEMF_force_heap_alloc _MEMF_no_refcount
+#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
 #define _MEMF_populate_on_demand 1
 #define  MEMF_populate_on_demand (1U<<_MEMF_populate_on_demand)
 #define _MEMF_no_dma      3
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:12:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:12:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700388.1093435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxbD-0005jN-HT; Wed, 03 Apr 2024 10:12:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700388.1093435; Wed, 03 Apr 2024 10:12:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxbD-0005jG-DL; Wed, 03 Apr 2024 10:12:07 +0000
Received: by outflank-mailman (input) for mailman id 700388;
 Wed, 03 Apr 2024 10:12:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eUqh=LI=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rrxbC-0005jA-In
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:12:06 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2417::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ee8403e-f1a2-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:12:04 +0200 (CEST)
Received: from CH2PR05CA0002.namprd05.prod.outlook.com (2603:10b6:610::15) by
 DS0PR12MB7560.namprd12.prod.outlook.com (2603:10b6:8:133::17) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.46; Wed, 3 Apr 2024 10:12:02 +0000
Received: from DS3PEPF000099D4.namprd04.prod.outlook.com
 (2603:10b6:610:0:cafe::4f) by CH2PR05CA0002.outlook.office365.com
 (2603:10b6:610::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.25 via Frontend
 Transport; Wed, 3 Apr 2024 10:12:02 +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.7452.22 via Frontend Transport; Wed, 3 Apr 2024 10:12:01 +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.35; Wed, 3 Apr
 2024 05:12:00 -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.35 via Frontend
 Transport; Wed, 3 Apr 2024 05:11: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: 9ee8403e-f1a2-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ebIAevk94pHslbS4NYiogZTousZ3EZLyZH+gq5QNtMHfvgXyTmFOUb0POSP1jJGWH0Vv1RCeb79XQO4uMlNGgRgvlzmkpsbY/79DEJjVP7lPhwI+bvjFihuSxGH5POV8OB+IEvm7LXnMiOzAFNecrjfjRaphNSiEv4xmZOp6fLm9wBrs5o+e6+J+GNfnQi1qdwjpzmmJHmmBexKlLLTOC/8fHQcZqvGiu82BnbGwiPtnGV7VGwcrTXUJG2e+fdSAZs4OfiRrWYDkgAVEIxQLKQoM4PC300s7jjwW06+jShDfWz0rheXU9L29Y5hSp+FjH1PWa52YIGCT+zK3IeqF6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nVZ8rFge6bNbG4lQdbguvKaDyYYtOn2T9lyT+8vv8dI=;
 b=Lmfwt/0S+uiB558jz3zd41bfV+BQbPaFnPSAYWnPTfTYwcdQ0lxL8P45agUSx0CWU+ubuwgL59thhZynWn8jOzTgaLpIrioTaXg59+X4hji+d68h0/56o7a905bETCpDMBzM2fV2rF0bdQ4K2I78gylIkZ92plEMB4epP2Vre2YP0/vzHs55HAyq/NEacEjvBQH+VzFgJbSM7qgvh8agISjSoUtWFHvUvfzsoSFEz6RwZ0xM5GX9euEjW/dcM+jgppzMvJvqzqapGJx2JnWhNe/I3/UNf1USCs0Eusn20n207KbUS3Qr51QSAK0gqpvo13WAqwGWX7AhCTL7CSElYg==
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=nVZ8rFge6bNbG4lQdbguvKaDyYYtOn2T9lyT+8vv8dI=;
 b=AoV+Zy+NSX7rwol0MzOe31DJjMvcQOQMVQk5tX8PJFvd6EBATQ7sBkvBPzpSPV8NzG7ZPeewkUx/4KRlEx15SwtAI8IhwObgcJUx1llEDJYic/matH2RS4EnwErtqueUyTmDJQcsuDMDXKr2WvFrCBsKz6QaIUfBj6Pu6LqjOB8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <5151abab-93a9-4b3f-8d69-c45e3cfc663c@amd.com>
Date: Wed, 3 Apr 2024 12:11:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm: Add i.MX UART early printk support
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Peng Fan <peng.fan@nxp.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
 <20240402120557.1822253-2-olekstysh@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240402120557.1822253-2-olekstysh@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: DS3PEPF000099D4:EE_|DS0PR12MB7560:EE_
X-MS-Office365-Filtering-Correlation-Id: 91834826-8089-4094-0749-08dc53c6813a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ptiEoUyeHqFcwk3qgMvvsxzNm261w3Yrwo8uTpUx5nGLBNjrwoI6F6+Nbcl9Lfm4G8erBbjgFrgrOcujsrtj0cjRl2Nh5UEehNPCy6HoHiHPI+3rfTLGF6HjX1kK3+ycjrxUOC0RxgtQ00rh+EW6SNqyBZbsgTfmYTGRbhG5gt/xUbZWqp9jCC7CKz3O/NbsnkclgKuhzbFMnfOiWk7pIVj7rnJROwEoTy1TjuIcPWLhkfc2Dz/TlYWi6ITEP0KMJ6Ko8KeYrtGZCdiT9chvkLZxKOxPuQeN/mie4ASFhLplDS6mmHLcrU90akUxa5U7pgIbQDYvd/xUKqYkZ9I7h7NWPkVcdRMNzlpAQ9ciR6dhSDcWOZEvbNxX5SjJgjipIxp+4brv2qtKdTyThyzLNOqyc+8SYkwSSkVSF/pIxKrBcXDQR1dGMouO2b8YrHYsXA4GO5h+bESDaE6AQ9nqFELp6+QcpjvodJEREdMlpJ5ohdoBDX7Nig1FIDgBxLiK/Bl/CJbtOD7wAAvjnpjGX6mCBEp3p4l2H9+AzsRT0bJ9VNs0e2vEpw6gulwzZVa/bGXtdWO3J9N7VG8bvG1zCFIYSQnhMnyTvAM/O91UZtxI5dJF8oIh58OftS5uKE8mOUymHQ9oVa8CWr2VMmIplmxBH0hgPShHFrZQvLEUvLTWKOj0/VYC+mathBBakbeylJ4/AwrPyA1YWRiFeOwbMh160Jo8BlWuUQmojqG/+rYzHU2pZQha82H4rMr2mRum
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 10:12:01.4117
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 91834826-8089-4094-0749-08dc53c6813a
X-MS-Exchange-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: DS0PR12MB7560

Hi Oleksandr,

On 02/04/2024 14:05, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Tested on i.MX 8M Mini only, but I guess, it should be
> suitable for other i.MX8M* SoCs (those UART device tree nodes
> contain "fsl,imx6q-uart" compatible string).
Please use imperative mood in commit msg. I would mention also that you are adding
macros that will be used by the runtime driver.

> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---
> I selected the following configs for enabling early printk:
> 
>  CONFIG_EARLY_UART_CHOICE_IMX_UART=y
>  CONFIG_EARLY_UART_IMX_UART=y
>  CONFIG_EARLY_PRINTK=y
>  CONFIG_EARLY_UART_BASE_ADDRESS=0x30890000
>  CONFIG_EARLY_PRINTK_INC="debug-imx-uart.inc"
> ---
> ---
>  xen/arch/arm/Kconfig.debug            | 14 +++++
>  xen/arch/arm/arm64/debug-imx-uart.inc | 38 ++++++++++++++
>  xen/arch/arm/include/asm/imx-uart.h   | 76 +++++++++++++++++++++++++++
>  3 files changed, 128 insertions(+)
>  create mode 100644 xen/arch/arm/arm64/debug-imx-uart.inc
>  create mode 100644 xen/arch/arm/include/asm/imx-uart.h
> 
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index eec860e88e..a15d08f214 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_IMX_UART
> +               select EARLY_UART_IMX_UART
> +               depends on ARM_64
> +               bool "Early printk via i.MX UART"
> +               help
> +                       Say Y here if you wish the early printk to direct their
Do not take example from surrounding code. help text should be indented by 2 tabs and 2 spaces here.

> +                       output to a i.MX UART. You can use this option to
> +                       provide the parameters for the i.MX 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_IMX_UART
> +       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-imx-uart.inc" if EARLY_UART_IMX_UART
>         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-imx-uart.inc b/xen/arch/arm/arm64/debug-imx-uart.inc
> new file mode 100644
> index 0000000000..27a68b1ed5
> --- /dev/null
> +++ b/xen/arch/arm/arm64/debug-imx-uart.inc
> @@ -0,0 +1,38 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/arch/arm/arm64/debug-imx-uart.inc
> + *
> + * i.MX8M* specific debug code
> + *
> + * Copyright (C) 2024 EPAM Systems Inc.
> + */
> +
> +#include <asm/imx-uart.h>
> +
> +/*
> + * Wait UART to be ready to transmit
> + * rb: register which contains the UART base address
> + * rc: scratch register
> + */
> +.macro early_uart_ready xb, c
> +1:
> +        ldr   w\c, [\xb, #IMX21_UTS] /* <- Test register */
> +        tst   w\c, #UTS_TXFULL       /* Check TxFIFO FULL bit */
> +        bne   1b                     /* Wait for the UART to be ready */
> +.endm
> +
> +/*
> + * UART transmit character
> + * rb: register which contains the UART base address
> + * rt: register which contains the character to transmit
> + */
> +.macro early_uart_transmit xb, wt
> +        str   \wt, [\xb, #URTX0] /* -> Transmitter Register */
> +.endm
> +
> +/*
> + * Local variables:
> + * mode: ASM
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/imx-uart.h b/xen/arch/arm/include/asm/imx-uart.h
> new file mode 100644
> index 0000000000..413a81dd44
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/imx-uart.h
> @@ -0,0 +1,76 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/arch/arm/include/asm/imx-uart.h
> + *
> + * Common constant definition between early printk and the UART driver
> + *
> + * Copyright (C) 2024 EPAM Systems Inc.
> + */
> +
> +#ifndef __ASM_ARM_IMX_UART_H__
> +#define __ASM_ARM_IMX_UART_H__
> +
> +/* 32-bit register definition */
> +#define URXD0        (0x00) /* Receiver Register */
There is no need to surround these values

> +#define URTX0        (0x40) /* Transmitter Register */
> +#define UCR1         (0x80) /* Control Register 1 */
> +#define UCR2         (0x84) /* Control Register 2 */
> +#define UCR3         (0x88) /* Control Register 3 */

> +#define UCR4         (0x8c) /* Control Register 4 */
> +#define UFCR         (0x90) /* FIFO Control Register */
> +#define USR1         (0x94) /* Status Register 1 */
> +#define USR2         (0x98) /* Status Register 2 */
> +#define IMX21_UTS    (0xb4) /* Test Register */
> +
> +#define URXD_ERR        BIT(14, UL) /* Error detect */
> +#define URXD_RX_DATA    GENMASK(7, 0) /* Received data mask */
> +
> +#define UCR1_TRDYEN      BIT(13, UL) /* Transmitter ready interrupt enable */
> +#define UCR1_RRDYEN      BIT(9, UL) /* Receiver ready interrupt enable */
NIT: please align comments within a block

Other than that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700394.1093459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjC-0007ia-Tq; Wed, 03 Apr 2024 10:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700394.1093459; Wed, 03 Apr 2024 10:20:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjC-0007iR-PB; Wed, 03 Apr 2024 10:20:22 +0000
Received: by outflank-mailman (input) for mailman id 700394;
 Wed, 03 Apr 2024 10:20:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjB-0007Ob-1I
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:21 +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 c52a6276-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:18 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-513d717269fso7354648e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:18 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: c52a6276-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139618; x=1712744418; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+q1lzVVayfJQfryGUoGKVQmKUoZ09Tze7sgRd9CVypw=;
        b=RfjbFOD3h8qcQh2LXEkjD6CkMxGnsRtF8w8Dz9w6XgDGmFr3EQ3Y+oHxFiN6mFBVwL
         u8yVaDoaE6f9ZRKjOAfFJzA1ZNm6ordnSRqr8lEq4JdmXLRbsHK5vZZMAFw0B+w/r5Fo
         Dcn6s+oZCzM2YkRGezAHfzZ9nD7NmCtVDO0cNrfYfD+PtAeVifo2A/oMikg6x0xTuRzi
         ukvgE31nOomJ6kE6bEYwGvwRVn7gSlIebH7mo7De5B3geUeylalzABj0xYwm8ZRmdgGj
         n5YjZnxWOF8sNaDpE/gLxDx3Y0RMqmL3/yrGLJycXjXiAb/J05rGID1M0jQD0YITpkjo
         xHSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139618; x=1712744418;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+q1lzVVayfJQfryGUoGKVQmKUoZ09Tze7sgRd9CVypw=;
        b=qD3jT5eBPfojqNdLwQiQxxynQoXj2sC3n3gyP3TngaKSzFBGbmeUrTyvlyN1s0TXdn
         5dBQBkoqGLoKf2jLzkCKICUvbV4zPybNXHiAKi+Igizx3oPL5QfA+6FtJ5IBoAsjcqZy
         rY4RfAciZQFhvWbcyWllkcNxOaJDemqmQBrkOo+xFKz4xWMZq7ii9F+Ja1mEEtq+obEG
         e7y/0rW3BzsBvp3H5tMPyIwir5wjqoO3AOgrfiSiGY7akM0unY6df6vZ82PMOa4cK0ul
         Wv0XB1gFIe0A//0PV8QYuYxdTk/+cYCMkEVHu7uE59eNqw5oUhJe4up71JsRqjh6dvbA
         POsg==
X-Gm-Message-State: AOJu0Yzz+/8+AcWtEwCItTpatpXX20Y7Tm0KoRooArDibszo9w4sB96H
	5I+nTFt+e2N02cPEHbpRAIWVvXnuTUiZ8jC0jU1rtTceC2kVKudoeVU9EIeZ
X-Google-Smtp-Source: AGHT+IENkPD+aoYc4Lx3IomE4ZxDGyfeG9JVCynYmKOErkp5iEBTi4pP1Z6aRzD2x8c0P6wK+o6w1w==
X-Received: by 2002:a05:6512:3b0f:b0:516:ae65:73d4 with SMTP id f15-20020a0565123b0f00b00516ae6573d4mr6391538lfv.56.1712139617829;
        Wed, 03 Apr 2024 03:20:17 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
Date: Wed,  3 Apr 2024 12:19:55 +0200
Message-ID: <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch disables unnecessary configs for two cases:
1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds (GitLab CI jobs).
2. By using tiny64_defconfig for non-randconfig builds.

Only configs which lead to compilation issues were disabled.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - Disable only configs which cause compilation issues.
 - Update the commit message.
---
Changes in V6:
 - Nothing changed. Only rebase.
---
Changes in V5:
 - Rebase and drop duplicated configs in EXTRA_FIXED_RANDCONFIG list
 - Update the commit message
---
Changes in V4:
 - Nothing changed. Only rebase
---
Changes in V3:
 - Remove EXTRA_FIXED_RANDCONFIG for non-randconfig jobs.
   For non-randconfig jobs, it is sufficient to disable configs by using the defconfig.
 - Remove double blank lines in build.yaml file before archlinux-current-gcc-riscv64-debug
---
Changes in V2:
 - update the commit message.
 - remove xen/arch/riscv/Kconfig changes.
---
 automation/gitlab-ci/build.yaml         |  5 +++++
 xen/arch/riscv/configs/tiny64_defconfig | 11 +++++------
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index aac29ee13a..43faeaed9c 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -519,6 +519,11 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
       CONFIG_EXPERT=y
       CONFIG_GRANT_TABLE=n
       CONFIG_MEM_ACCESS=n
+      CONFIG_HYPFS=n
+      CONFIG_ARGO=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_LIVEPATCH=n
+      CONFIG_XSM=n
 
 archlinux-current-gcc-riscv64:
   extends: .gcc-riscv64-cross-build
diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index 09defe236b..24a807a5f9 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -1,12 +1,11 @@
-# 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
+# CONFIG_ARGO is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_LIVEPATCH is not set
+# CONFIG_XSM is not set
 
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700392.1093445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjB-0007Qu-Cc; Wed, 03 Apr 2024 10:20:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700392.1093445; Wed, 03 Apr 2024 10:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjB-0007Qn-9T; Wed, 03 Apr 2024 10:20:21 +0000
Received: by outflank-mailman (input) for mailman id 700392;
 Wed, 03 Apr 2024 10:20:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjA-0007Ob-BI
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:20 +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 c4448e7d-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:17 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-513e25afabaso6870175e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:17 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03: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: c4448e7d-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139616; x=1712744416; 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=j0ePPzmBCNAzfDH8XK7KhsPHe5KSob1zyk5Ryt3vSRA=;
        b=bgMQ4P213DMYzESjmoIb+qx4niZFZxydUH/LTt64JduPi9EtP9OWHm4O6ssXRkG9fP
         0ji+dojOzfIIZmmA9xWp8ZkLK6RDqBnfDA/Vw3x3TKVInuFDmtcz940ld2ltTzXFy65u
         eSKl5AlIho2BK6hOYm8ScAlclp2zj/Aiq/X/Pq+HKhWOxNqj4Wcbn3lgHLFFVE2+fX4q
         0lmCjVLDAt5RZIeWReDl95Xu1uRCwBhP2gKkpIJ0CdU50slO4bvsiPp6ic+UJulRBqpQ
         zqwPqW6o/ubcrPJHOrSAuCt0IRBQlM0jdJtFwdo7H5LCGQtxWedxx/y7RB75ZZmHkuYx
         ki/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139616; x=1712744416;
        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=j0ePPzmBCNAzfDH8XK7KhsPHe5KSob1zyk5Ryt3vSRA=;
        b=EX6XILOpQr/bruUm/rkcx5GF7MemNhEkrNdfGyR4R+3WRTRKgCi3vJCI0maKqVHj9m
         s0O/NDGUBpz6K1RcAt3obO1hFpZDut8HxxX8RiA7yLFaHqECsF8Te3GJ3/4fxSAMKYzE
         Ldu4GzEt2RczXcRCElQZgRHz2PMWYRg+6G+DEcgrzXlPe5jbLNUzuIHy50RzMAVa7zRG
         py9ieLsNIvYHxD+kqDXv4xIqnd/NNbQpJadeW7e4rjsGvCxDyOIFQ5L1Xf86ZZ2OpCvn
         bljEBx+r3CIxmTgzYqD/7BsCHW3NgqHWKtDMoAhfFKeCKbjsakk0Dojo6DX+khF7b1m+
         +ohg==
X-Gm-Message-State: AOJu0YzyEUVrgUt7EIl8V173F77PTkhgbAyxguqCYKBfOv8bIukfG0D3
	9MyYCNgwMI3C9X8YU17oWdpw2SAXn0yH7+rvGGZ0/plpWnFaVoFJgorz7wsm
X-Google-Smtp-Source: AGHT+IEJwwljXy4wpeYy82TREFzZE2xLQLbzYiGKa/WizeST1ZRyMLG1eUoAozHwRPERwZbnfdJTJg==
X-Received: by 2002:ac2:420a:0:b0:514:cbee:a261 with SMTP id y10-20020ac2420a000000b00514cbeea261mr9750909lfh.27.1712139615859;
        Wed, 03 Apr 2024 03:20:15 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	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=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Rahul Singh <rahul.singh@arm.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v7 00/19] Enable build of full Xen for RISC-V
Date: Wed,  3 Apr 2024 12:19:53 +0200
Message-ID: <cover.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series performs all of the additions necessary to drop the
build overrides for RISCV and enable the full Xen build. Except in cases
where compatibile implementations already exist (e.g. atomic.h and
bitops.h), the newly added definitions are simple.

The patch series is based on the following patch series:
- [PATCH 0/7] xen/bitops: Reduce the mess, starting with ffs() [1]
- [PATCH] move __read_mostly to xen/cache.h  [2]
- [XEN PATCH v2 1/3] xen: introduce STATIC_ASSERT_UNREACHABLE() [3]


Right now, the patch series doesn't have a direct dependency on [2] and it
provides __read_mostly in the patch:
    [PATCH v3 26/34] xen/riscv: add definition of __read_mostly
However, it will be dropped as soon as [2] is merged or at least when the
final version of the patch [2] is provided.

[1] https://lore.kernel.org/xen-devel/20240313172716.2325427-1-andrew.cooper3@citrix.com/T/#t
[2] https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com/
[3] https://lore.kernel.org/xen-devel/42fc6ae8d3eb802429d29c774502ff232340dc84.1706259490.git.federico.serafini@bugseng.com/

---
Changes in V7:
 - Patch was merged to staging:
   [PATCH v6 15/20] xen/riscv: add minimal stuff to processor.h to build full Xen.
 - Other changes are specific to specific patches. Please look at changes for
   specific patch.
---
Changes in V6:
 - Update the cover letter message: drop already merged dependecies and add
   a new one.
 - Patches were merged to staging:
   - [PATCH v5 02/23] xen/riscv: use some asm-generic headers ( even v4 was
     merged to staging branch, I just wasn't apply changes on top of the latest staging branch )
   - [PATCH v5 03/23] xen/riscv: introduce nospec.h
   - [PATCH v5 10/23] xen/riscv: introduces acrquire, release and full barriers
 - Introduce new patches:
   - xen/riscv: introduce extenstion support check by compiler
   - xen/bitops: put __ffs() and ffz() into linux compatible header
   - xen/bitops: implement fls{l}() in common logic
 - The following patches were dropped:
   - drop some patches related to bitops operations as they were introduced in another
     patch series [...]
   - introduce new version for generic __ffs(), ffz() and fls{l}().
 - Merge patch from patch series "[PATCH v9 0/7]  Introduce generic headers" to this patch
   series as only one patch left in the generic headers patch series and it is more about
   RISC-V.
 - Other changes are specific to specific patches. please look at specific patch.
---
Changes in V5:
 - Update the cover letter as one of the dependencies were merged to staging.
 - Was introduced asm-generic for atomic ops and separate patches for asm-generic bit ops
 - Moved fence.h to separate patch to deal with some patches dependecies on fence.h
 - Patches were dropped as they were merged to staging:
   * [PATCH v4 03/30] xen: add support in public/hvm/save.h for PPC and RISC-V
   * [PATCH v4 04/30] xen/riscv: introduce cpufeature.h
   * [PATCH v4 05/30] xen/riscv: introduce guest_atomics.h
   * [PATCH v4 06/30] xen: avoid generation of empty asm/iommu.h
   * [PATCH v4 08/30] xen/riscv: introduce setup.h
   * [PATCH v4 10/30] xen/riscv: introduce flushtlb.h
   * [PATCH v4 11/30] xen/riscv: introduce smp.h
   * [PATCH v4 15/30] xen/riscv: introduce irq.h
   * [PATCH v4 16/30] xen/riscv: introduce p2m.h
   * [PATCH v4 17/30] xen/riscv: introduce regs.h
   * [PATCH v4 18/30] xen/riscv: introduce time.h
   * [PATCH v4 19/30] xen/riscv: introduce event.h
   * [PATCH v4 22/30] xen/riscv: define an address of frame table
 - Other changes are specific to specific patches. please look at specific patch
---
Changes in V4:
 - Update the cover letter message: new patch series dependencies.
 - Some patches were merged to staging, so they were dropped in this patch series:
     [PATCH v3 09/34] xen/riscv: introduce system.h
     [PATCH v3 18/34] xen/riscv: introduce domain.h
     [PATCH v3 19/34] xen/riscv: introduce guest_access.h
 - Was sent out of this patch series:
     [PATCH v3 16/34] xen/lib: introduce generic find next bit operations
 - [PATCH v3 17/34] xen/riscv: add compilation of generic find-next-bit.c was
   droped as CONFIG_GENERIC_FIND_NEXT_BIT was dropped.
 - All other changes are specific to a specific patch.
---
Changes in V3:
 - Update the cover letter message
 - The following patches were dropped as they were merged to staging:
    [PATCH v2 03/39] xen/riscv:introduce asm/byteorder.h
    [PATCH v2 04/39] xen/riscv: add public arch-riscv.h
    [PATCH v2 05/39] xen/riscv: introduce spinlock.h
    [PATCH v2 20/39] xen/riscv: define bug frame tables in xen.lds.S
    [PATCH v2 34/39] xen: add RISCV support for pmu.h
    [PATCH v2 35/39] xen: add necessary headers to common to build full Xen for RISC-V
 - Instead of the following patches were introduced new:
    [PATCH v2 10/39] xen/riscv: introduce asm/iommu.h
    [PATCH v2 11/39] xen/riscv: introduce asm/nospec.h
 - remove "asm/"  for commit messages which start with "xen/riscv:"
 - code style updates.
 - add emulation of {cmp}xchg_* for 1 and 2 bytes types.
 - code style fixes.
 - add SPDX and footer for the newly added headers.
 - introduce generic find-next-bit.c.
 - some other mionor changes. ( details please find in a patch )
---
Changes in V2:
  - Drop the following patches as they are the part of [2]:
      [PATCH v1 06/57] xen/riscv: introduce paging.h
      [PATCH v1 08/57] xen/riscv: introduce asm/device.h
      [PATCH v1 10/57] xen/riscv: introduce asm/grant_table.h
      [PATCH v1 12/57] xen/riscv: introduce asm/hypercall.h
      [PATCH v1 13/57] xen/riscv: introduce asm/iocap.h
      [PATCH v1 15/57] xen/riscv: introduce asm/mem_access.h
      [PATCH v1 18/57] xen/riscv: introduce asm/random.h
      [PATCH v1 21/57] xen/riscv: introduce asm/xenoprof.h
      [PATCH v1 24/57] xen/riscv: introduce asm/percpu.h
      [PATCH v1 29/57] xen/riscv: introduce asm/hardirq.h
      [PATCH v1 33/57] xen/riscv: introduce asm/altp2m.h
      [PATCH v1 38/57] xen/riscv: introduce asm/monitor.h
      [PATCH v1 39/57] xen/riscv: introduce asm/numa.h
      [PATCH v1 42/57] xen/riscv: introduce asm/softirq.h
  - xen/lib.h in most of the cases were changed to xen/bug.h as
    mostly functionilty of bug.h is used.
  - align arch-riscv.h with Arm's version of it.
  - change the Author of commit with introduction of asm/atomic.h.
  - update some definition from spinlock.h.
  - code style changes.
---

Oleksii Kurochko (19):
  automation: introduce fixed randconfig for RISC-V
  xen/riscv: disable unnecessary configs
  xen/riscv: introduce extenstion support check by compiler
  xen: introduce generic non-atomic test_*bit()
  xen/bitops: implement fls{l}() in common logic
  xen/bitops: put __ffs() into linux compatible header
  xen/riscv: introduce bitops.h
  xen/riscv: introduce cmpxchg.h
  xen/riscv: introduce io.h
  xen/riscv: introduce atomic.h
  xen/riscv: introduce monitor.h
  xen/riscv: add definition of __read_mostly
  xen/riscv: add required things to current.h
  xen/riscv: add minimal stuff to page.h to build full Xen
  xen/riscv: add minimal stuff to mm.h to build full Xen
  xen/riscv: introduce vm_event_*() functions
  xen/riscv: add minimal amount of stubs to build full Xen
  xen/riscv: enable full Xen build
  xen/README: add compiler and binutils versions for RISC-V64

 README                                  |   4 +
 automation/gitlab-ci/build.yaml         |  19 +-
 docs/misc/riscv/booting.txt             |  16 +
 xen/arch/arm/arm64/livepatch.c          |   1 -
 xen/arch/arm/include/asm/arm32/bitops.h |   2 +-
 xen/arch/arm/include/asm/arm64/bitops.h |  27 +-
 xen/arch/arm/include/asm/bitops.h       |  74 +----
 xen/arch/ppc/include/asm/bitops.h       |  76 -----
 xen/arch/ppc/include/asm/page.h         |   2 +-
 xen/arch/ppc/mm-radix.c                 |   2 +-
 xen/arch/riscv/Makefile                 |  18 +-
 xen/arch/riscv/arch.mk                  |  19 +-
 xen/arch/riscv/configs/tiny64_defconfig |  11 +-
 xen/arch/riscv/early_printk.c           | 168 ----------
 xen/arch/riscv/include/asm/atomic.h     | 261 +++++++++++++++
 xen/arch/riscv/include/asm/bitops.h     | 146 +++++++++
 xen/arch/riscv/include/asm/cache.h      |   2 +
 xen/arch/riscv/include/asm/cmpxchg.h    | 227 +++++++++++++
 xen/arch/riscv/include/asm/config.h     |   2 +
 xen/arch/riscv/include/asm/current.h    |  19 ++
 xen/arch/riscv/include/asm/io.h         | 168 ++++++++++
 xen/arch/riscv/include/asm/mm.h         | 240 ++++++++++++++
 xen/arch/riscv/include/asm/monitor.h    |  26 ++
 xen/arch/riscv/include/asm/page.h       |  19 ++
 xen/arch/riscv/mm.c                     |  52 ++-
 xen/arch/riscv/setup.c                  |  10 +-
 xen/arch/riscv/stubs.c                  | 415 ++++++++++++++++++++++++
 xen/arch/riscv/traps.c                  |  25 ++
 xen/arch/riscv/vm_event.c               |  19 ++
 xen/arch/x86/include/asm/bitops.h       |  34 +-
 xen/common/bitops.c                     |  22 ++
 xen/drivers/passthrough/arm/smmu-v3.c   |   2 +
 xen/include/asm-generic/atomic-ops.h    |  97 ++++++
 xen/include/xen/bitops.h                | 154 +++++++++
 xen/include/xen/linux-compat.h          |   2 +
 xen/lib/find-next-bit.c                 |   3 +
 36 files changed, 1999 insertions(+), 385 deletions(-)
 create mode 100644 docs/misc/riscv/booting.txt
 create mode 100644 xen/arch/riscv/include/asm/atomic.h
 create mode 100644 xen/arch/riscv/include/asm/bitops.h
 create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h
 create mode 100644 xen/arch/riscv/include/asm/io.h
 create mode 100644 xen/arch/riscv/include/asm/monitor.h
 create mode 100644 xen/arch/riscv/stubs.c
 create mode 100644 xen/arch/riscv/vm_event.c
 create mode 100644 xen/include/asm-generic/atomic-ops.h

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700395.1093467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjD-0007oU-7P; Wed, 03 Apr 2024 10:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700395.1093467; Wed, 03 Apr 2024 10:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjD-0007no-2F; Wed, 03 Apr 2024 10:20:23 +0000
Received: by outflank-mailman (input) for mailman id 700395;
 Wed, 03 Apr 2024 10:20: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjB-0007Ql-Do
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:21 +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 c61738ff-f1a3-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:20:20 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-516a01c8490so677188e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:20 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: c61738ff-f1a3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139619; x=1712744419; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4FQPLinh42qBu2cwjojE0/Q7kzGHHOUunECIcZ8FxJQ=;
        b=IYVv9/UppsE02zIZ4rfnGZZ1gQ2UMYrWynFyNgZAuypbpfzEFxNnY1eDIzyPSiyPTR
         ljd2hH8ydaX9RQ1muvoW8sOvIvTY20kEOo3I4x4uNX/RJdN3eTpUgUBowpY3WrGOH+ze
         /O4rlHbc+FLT4ODd+Lox5sxjxc1uXdj45Xl/WotrFZ/OQ/TkiJAIoHlq75O2nqDB8MKD
         ZD9RNc660DdkrxW8DV4PRF+sX5usn4DfpnT75LVYOpfDAmUZ21wXuCKVWFb3jWbWYPxA
         f64+WQrrNwcvJ1+ueOYbBgt/ryeT3rKGc0I2C5xRNnDb75fXQQFIGH5jY/3h1b0f6HVb
         zOqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139619; x=1712744419;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4FQPLinh42qBu2cwjojE0/Q7kzGHHOUunECIcZ8FxJQ=;
        b=T+pZQrgqIkAy1CZ6+OR7R0Tpxz3miST5ouzMC9MT8+6jUVr+Dyibt5kQOpw10TD5BJ
         olFEzeQiBGKJA+k3PBpGfbCzw1tpVMySdNpj80FcyDNAy+NKyBLr1rpvkUzvcFpZAUea
         0pw8frICU3HzEYH6jlGHY7u8RmqVhGn1+wktYpKSO2+huU5XxEaXUM2Q7WtCiyZySsz1
         bqH+jaHd9sF+kgi9T0Jf1vlUCZz5TuCpRoIbE8dMydfDnmd6CqZMFyZ+vkpZ5md2AfSx
         3RR0PB1o+cPjatjR7gouIb+eBxOXWXqeXE9TFDK3oYK/1cySqx87Q3wrKCJDsW1cwqrY
         ZSDA==
X-Gm-Message-State: AOJu0Yxww/YLAZh9+pdefp+uW81CRcd7NmGyhv5hNcJ59uz5zQkwB2a0
	4S/XW87dlaBrgnha87nK7ZmGZUpCPQ6x/wxpsHmvicl+CZlFvKQTlDNkzCSU
X-Google-Smtp-Source: AGHT+IGv2Pse/vPGNf359mWOmsa4ZLmAKALU1CvLKVSk8jScd4QR201tE4WVGs5K3Bzm3qHbHt/zwQ==
X-Received: by 2002:ac2:505c:0:b0:513:d442:223b with SMTP id a28-20020ac2505c000000b00513d442223bmr751273lfm.30.1712139618854;
        Wed, 03 Apr 2024 03:20:18 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 03/19] xen/riscv: introduce extenstion support check by compiler
Date: Wed,  3 Apr 2024 12:19:56 +0200
Message-ID: <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, RISC-V requires two extensions: _zbb and _zihintpause.

This patch introduces a compiler check to check if these extensions
are supported.
Additionally, it introduces the riscv/booting.txt file, which contains
information about the extensions that should be supported by the platform.

In the future, a feature will be introduced to check whether an extension
is supported at runtime.
However, this feature requires functionality for parsing device tree
source (DTS), which is not yet available.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - add variables for each extension separately.
 - create variable for abi and compilation flags to not repeat the same in several
   places.
 - update architectures to use generic implementations
---
Changes in V6:
 - new patch for this patch series
---
 docs/misc/riscv/booting.txt | 16 ++++++++++++++++
 xen/arch/riscv/arch.mk      | 15 +++++++++++++--
 2 files changed, 29 insertions(+), 2 deletions(-)
 create mode 100644 docs/misc/riscv/booting.txt

diff --git a/docs/misc/riscv/booting.txt b/docs/misc/riscv/booting.txt
new file mode 100644
index 0000000000..cb4d79f12c
--- /dev/null
+++ b/docs/misc/riscv/booting.txt
@@ -0,0 +1,16 @@
+System requirements
+===================
+
+The following extensions are expected to be supported by a system on which
+Xen is run:
+- Zbb:
+  RISC-V doesn't have a CLZ instruction in the base ISA.
+  As a consequence, __builtin_ffs() emits a library call to ffs() on GCC,
+  or a de Bruijn sequence on Clang.
+  Zbb extension adds a CLZ instruction, after which __builtin_ffs() emits
+  a very simple sequence.
+  The similar issue occurs with other __builtin_<bitop>, so it is needed to
+  provide a generic version of bitops in RISC-V bitops.h
+- Zihintpause:
+  On a system that doesn't have this extension, cpu_relax() should be
+  implemented properly.
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 8403f96b6f..24a7461bcc 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -3,16 +3,27 @@
 
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
 
-CFLAGS-$(CONFIG_RISCV_64) += -mabi=lp64
+riscv-abi-$(CONFIG_RISCV_32) := -mabi=ilp32
+riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
 
 riscv-march-$(CONFIG_RISCV_ISA_RV64G) := rv64g
 riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 
+riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
+
+zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
+zihintpause := $(call as-insn,\
+               $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)
+
+extensions := $(zbb) $(zihintpause)
+
+extensions := $(subst $(space),,$(extensions))
+
 # Note that -mcmodel=medany is used so that Xen can be mapped
 # into the upper half _or_ the lower half of the address space.
 # -mcmodel=medlow would force Xen into the lower half.
 
-CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
+CFLAGS += $(riscv-generic-flags)$(extensions) -mstrict-align -mcmodel=medany
 
 # TODO: Drop override when more of the build is working
 override ALL_OBJS-y = arch/$(SRCARCH)/built_in.o
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700393.1093455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjC-0007fF-JX; Wed, 03 Apr 2024 10:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700393.1093455; Wed, 03 Apr 2024 10:20:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjC-0007f4-Gh; Wed, 03 Apr 2024 10:20:22 +0000
Received: by outflank-mailman (input) for mailman id 700393;
 Wed, 03 Apr 2024 10:20:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjA-0007Ob-JX
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:20 +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 c4b2d085-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:17 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-513ccc70a6dso10560086e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:17 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: c4b2d085-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139616; x=1712744416; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KH6TUwBLuOJHUIi6nrJkkEdBWNueDnvGpQKaWKuDLWo=;
        b=PO2feGd+c/P+KCeYSh8BVczfB7fdsq7021/6dV0TASQSZQNCZGbdaqnkGoEbug0FVa
         6h5ISKU5QjlR66NdhKneYolTqL7p7lUtbTuB+syiw9Jl7rbC1Wbf6pVZI5qyoa//DCHt
         sKVVI9XWbYJyXb2Tno1GrdZJZR/gL+WBWEwwid1xxMRgI9Is06BoJ+1qAeO8Z2jD8CCd
         yrmBAwqVI7hRpKoXFbVey7dZ4CEdzHbH0K3PwdipCVbmjWesGFqemEfyivkNi+kN6D2x
         2bzKXlDqinPH2eXlubx+vQgzlg0RuYqbbws2LYi/x/FZWs9pRDGcpf+Lhca/lCxfYszZ
         9iBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139616; x=1712744416;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KH6TUwBLuOJHUIi6nrJkkEdBWNueDnvGpQKaWKuDLWo=;
        b=ZauYBEB/gy4P4XcBJMP4zxZu6w3rq5X70ZXO66iOegfvynC3jz6gKoovwlQXW8qTIV
         n6n8091tZYOTMH6GWf/wyDonx/MQNXJCKEFalmTu7e1ssGZ7ClRjX3zZK6ARwU4JfzGP
         wxG2jnypSJqyW3NKzp/z2tvG/9dVzX9E/rqBHBn0X8kv+/Gs0tEac5T5HyAXgYyz06s+
         JLXKkSxXiKRix3XvOXm2oRRq/s7A3GHkLlZM9V33uce1pbGQM5dE7o/JjkEMXLNb3jIN
         5id2aUahtx8t52Gln6NEk3zgXfnmGNFvD/iZ/CSp7qnPBCRl6sR6Kr7D5jmuzHoYagIA
         6n1w==
X-Gm-Message-State: AOJu0Yz6TtXudfjsb7rOAPnSutS72gWQbfzUhdJfwDCxQ0rb/eLfOqc5
	rM+0bp0H9bOtgJ3GdjMGprozwBS+Zj5yv2ewubdQhcn1DumhnDoRFE4EGYJi
X-Google-Smtp-Source: AGHT+IGfnu6RXTh9RU7pq02Wr+aTLHeN63ufncsL4yPYbREHH6AmANJPT11YZUcPTVHUXvFwzskKKg==
X-Received: by 2002:a05:6512:1287:b0:516:be9d:11ac with SMTP id u7-20020a056512128700b00516be9d11acmr1645286lfs.13.1712139616428;
        Wed, 03 Apr 2024 03:20:16 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v7 01/19] automation: introduce fixed randconfig for RISC-V
Date: Wed,  3 Apr 2024 12:19:54 +0200
Message-ID: <6e604205e4b815f4f66574d9680f5effb86fa673.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch introduces the anchor riscv-fixed-randconfig,
which includes all configurations that should be disabled for
randconfig builds.

Suggested-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in V7:
 - Nothing changed. Only rebase.
---
Changes in V6:
 - new patch for this patch series
 - Reviewed-by and Acked-by was added. ( in another patch series they were
   recieved. )
---
 automation/gitlab-ci/build.yaml | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 6d2cb18b88..aac29ee13a 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -512,6 +512,14 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
       CONFIG_BOOT_TIME_CPUPOOLS=y
 
 # RISC-V 64 cross-build
+.riscv-fixed-randconfig:
+  variables: &riscv-fixed-randconfig
+    EXTRA_FIXED_RANDCONFIG: |
+      CONFIG_COVERAGE=n
+      CONFIG_EXPERT=y
+      CONFIG_GRANT_TABLE=n
+      CONFIG_MEM_ACCESS=n
+
 archlinux-current-gcc-riscv64:
   extends: .gcc-riscv64-cross-build
   variables:
@@ -532,8 +540,7 @@ archlinux-current-gcc-riscv64-randconfig:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
     RANDCONFIG: y
-    EXTRA_FIXED_RANDCONFIG:
-      CONFIG_COVERAGE=n
+    <<: *riscv-fixed-randconfig
 
 archlinux-current-gcc-riscv64-debug-randconfig:
   extends: .gcc-riscv64-cross-build-debug
@@ -541,8 +548,7 @@ archlinux-current-gcc-riscv64-debug-randconfig:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
     RANDCONFIG: y
-    EXTRA_FIXED_RANDCONFIG:
-      CONFIG_COVERAGE=n
+    <<: *riscv-fixed-randconfig
 
 # Power cross-build
 debian-bullseye-gcc-ppc64le:
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700396.1093485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjF-0008Qa-L6; Wed, 03 Apr 2024 10:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700396.1093485; Wed, 03 Apr 2024 10:20:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjF-0008QM-Hc; Wed, 03 Apr 2024 10:20:25 +0000
Received: by outflank-mailman (input) for mailman id 700396;
 Wed, 03 Apr 2024 10:20: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjD-0007Ob-TZ
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20: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 c7072cc0-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:21 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-516c116f480so57899e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:21 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: c7072cc0-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139620; x=1712744420; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L0uPVf1jCR3tqYLa0zqi1s+m6TuFgH7d+8FDa8AQO3c=;
        b=U5m+zDLN5FGoABuL9y/tuKJhuYudQXml+54Ghxu/U3vHrmMpLQccl4wVufGjFHu637
         7wu230yznj4sSCE92P+eLtiaucbZnbN/3C9Du9jvBRHSUWobh83oxnpLQKwTGyMouC3x
         J55UfIGY15AbGSgSEl1H2R8Q6oTRbEaKAUi9pjj+/d0piY+PxoVGJx2rGNoQpGcjDUy2
         vQNclbauECKfFhq3RH2Re3pcRxK6T0qvco0bKc6w1j4Font1h8TAWUsHXLt3MGb4ig57
         1Jxk5zC/LH+6ztcBgRngLxbHlWm8fTrkzaLyvyWLE3mnbYyoj2I+LHxRMpjOnqCR3PIU
         GKoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139620; x=1712744420;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=L0uPVf1jCR3tqYLa0zqi1s+m6TuFgH7d+8FDa8AQO3c=;
        b=jlVILF/Q/34SfKgapsf7gNDg9jdA1n+Z7N78knZ8pYX2CMQZgWT7zrmgsHIXQDpOB2
         GbE78h6Pti94S71fvnKMFsXUYebkD+WOyBJUbcd8/pGVKCGc1pfjsT8QTLw1xs/3XAR3
         9ILw4f05V2ymN2YzupgT5ZlKPPC3Q031hQcSrN1K1wGcRr/fsd4PwqZmFftiIiM/BdqO
         FgqHA6u4MgO5D+PiIGxb9yQu7KDJQhBwir111cKW8bGkB4JEHd/TyYa3pTNWvf1S/b+q
         svWXLvWPyLvSQiZr9R2npv9AO94tEcZKoKvKlObbcKMQ+09/ruQl6MnNFYLBcZQoI9uc
         FJ1Q==
X-Gm-Message-State: AOJu0Yxg3NCs6Ljs2+dDEEmCAdoDf1cA59xAfTIXBpOj7JDREG31sc3C
	4GBX+JbWrQSdtsf5oEiA7LlKgoiH/982ZnF/bMp9vJJH6c/SiM1alLQCW4aA
X-Google-Smtp-Source: AGHT+IEbRxi3ynj4+/uCwddDpt0J2nb0WLun5K2bmbuMV9hMwoyPb+hIMmeAcKff3i6CMpG7HjNVtA==
X-Received: by 2002:ac2:5f9a:0:b0:516:a1ce:6a20 with SMTP id r26-20020ac25f9a000000b00516a1ce6a20mr1419426lfe.24.1712139620350;
        Wed, 03 Apr 2024 03:20:20 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
Date: Wed,  3 Apr 2024 12:19:57 +0200
Message-ID: <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces the following generic functions:
* test_bit
* generic__test_and_set_bit
* generic__test_and_clear_bit
* generic__test_and_change_bit

Also, the patch introduces the following generics which are
used by the functions mentioned above:
* BITOP_BITS_PER_WORD
* BITOP_MASK
* BITOP_WORD
* BITOP_TYPE

These functions and macros can be useful for architectures
that don't have corresponding arch-specific instructions.

Because of that x86 has the following check in the macros test_bit(),
__test_and_set_bit(), __test_and_clear_bit(), __test_and_change_bit():
    if ( bitop_bad_size(addr) ) __bitop_bad_size();
It was necessary to move the check to generic code and define as 0
for other architectures as they do not require this check.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 Changes in V7:
  - move everything to xen/bitops.h to follow the same approach for all generic
    bit ops.
  - put together BITOP_BITS_PER_WORD and bitops_uint_t.
  - make BITOP_MASK more generic.
  - drop #ifdef ... #endif around BITOP_MASK, BITOP_WORD as they are generic
    enough.
  - drop "_" for generic__{test_and_set_bit,...}().
  - drop " != 0" for functions which return bool.
  - add volatile during the cast for generic__{...}().
  - update the commit message.
  - update arch related code to follow the proposed generic approach.
---
 Changes in V6:
  - Nothing changed ( only rebase )
---
 Changes in V5:
   - new patch
---
 xen/arch/arm/arm64/livepatch.c    |   1 -
 xen/arch/arm/include/asm/bitops.h |  67 -------------
 xen/arch/ppc/include/asm/bitops.h |  64 -------------
 xen/arch/ppc/include/asm/page.h   |   2 +-
 xen/arch/ppc/mm-radix.c           |   2 +-
 xen/arch/x86/include/asm/bitops.h |  28 ++----
 xen/include/xen/bitops.h          | 154 ++++++++++++++++++++++++++++++
 7 files changed, 165 insertions(+), 153 deletions(-)

diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index df2cebedde..4bc8ed9be5 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -10,7 +10,6 @@
 #include <xen/mm.h>
 #include <xen/vmap.h>
 
-#include <asm/bitops.h>
 #include <asm/byteorder.h>
 #include <asm/insn.h>
 #include <asm/livepatch.h>
diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 5104334e48..8e16335e76 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -22,9 +22,6 @@
 #define __set_bit(n,p)            set_bit(n,p)
 #define __clear_bit(n,p)          clear_bit(n,p)
 
-#define BITOP_BITS_PER_WORD     32
-#define BITOP_MASK(nr)          (1UL << ((nr) % BITOP_BITS_PER_WORD))
-#define BITOP_WORD(nr)          ((nr) / BITOP_BITS_PER_WORD)
 #define BITS_PER_BYTE           8
 
 #define ADDR (*(volatile int *) addr)
@@ -76,70 +73,6 @@ bool test_and_change_bit_timeout(int nr, volatile void *p,
 bool clear_mask16_timeout(uint16_t mask, volatile void *p,
                           unsigned int max_try);
 
-/**
- * __test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_set_bit(int nr, volatile void *addr)
-{
-        unsigned int mask = BITOP_MASK(nr);
-        volatile unsigned int *p =
-                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
-        unsigned int old = *p;
-
-        *p = old | mask;
-        return (old & mask) != 0;
-}
-
-/**
- * __test_and_clear_bit - Clear a bit and return its old value
- * @nr: Bit to clear
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_clear_bit(int nr, volatile void *addr)
-{
-        unsigned int mask = BITOP_MASK(nr);
-        volatile unsigned int *p =
-                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
-        unsigned int old = *p;
-
-        *p = old & ~mask;
-        return (old & mask) != 0;
-}
-
-/* WARNING: non atomic and it can be reordered! */
-static inline int __test_and_change_bit(int nr,
-                                            volatile void *addr)
-{
-        unsigned int mask = BITOP_MASK(nr);
-        volatile unsigned int *p =
-                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
-        unsigned int old = *p;
-
-        *p = old ^ mask;
-        return (old & mask) != 0;
-}
-
-/**
- * test_bit - Determine whether a bit is set
- * @nr: bit number to test
- * @addr: Address to start counting from
- */
-static inline int test_bit(int nr, const volatile void *addr)
-{
-        const volatile unsigned int *p = (const volatile unsigned int *)addr;
-        return 1UL & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)));
-}
-
 /*
  * On ARMv5 and above those functions can be implemented around
  * the clz instruction for much better code efficiency.
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index 989d341a44..a17060c7c2 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -15,9 +15,6 @@
 #define __set_bit(n, p)         set_bit(n, p)
 #define __clear_bit(n, p)       clear_bit(n, p)
 
-#define BITOP_BITS_PER_WORD     32
-#define BITOP_MASK(nr)          (1U << ((nr) % BITOP_BITS_PER_WORD))
-#define BITOP_WORD(nr)          ((nr) / BITOP_BITS_PER_WORD)
 #define BITS_PER_BYTE           8
 
 /* PPC bit number conversion */
@@ -69,17 +66,6 @@ static inline void clear_bit(int nr, volatile void *addr)
     clear_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(nr));
 }
 
-/**
- * test_bit - Determine whether a bit is set
- * @nr: bit number to test
- * @addr: Address to start counting from
- */
-static inline int test_bit(int nr, const volatile void *addr)
-{
-    const volatile unsigned int *p = addr;
-    return 1 & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD - 1)));
-}
-
 static inline unsigned int test_and_clear_bits(
     unsigned int mask,
     volatile unsigned int *p)
@@ -133,56 +119,6 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
         (volatile unsigned int *)addr + BITOP_WORD(nr)) != 0;
 }
 
-/**
- * __test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_set_bit(int nr, volatile void *addr)
-{
-    unsigned int mask = BITOP_MASK(nr);
-    volatile unsigned int *p = (volatile unsigned int *)addr + BITOP_WORD(nr);
-    unsigned int old = *p;
-
-    *p = old | mask;
-    return (old & mask) != 0;
-}
-
-/**
- * __test_and_clear_bit - Clear a bit and return its old value
- * @nr: Bit to clear
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_clear_bit(int nr, volatile void *addr)
-{
-    unsigned int mask = BITOP_MASK(nr);
-    volatile unsigned int *p = (volatile unsigned int *)addr + BITOP_WORD(nr);
-    unsigned int old = *p;
-
-    *p = old & ~mask;
-    return (old & mask) != 0;
-}
-
-#define flsl(x) generic_flsl(x)
-#define fls(x) generic_fls(x)
-
-/* Based on linux/include/asm-generic/bitops/ffz.h */
-/*
- * ffz - find first zero in word.
- * @word: The word to search
- *
- * Undefined if no zero exists, so code should check against ~0UL first.
- */
-#define ffz(x) __ffs(~(x))
-
 /**
  * hweightN - returns the hamming weight of a N-bit word
  * @x: the word to weigh
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/page.h
index 890e285051..482053b023 100644
--- a/xen/arch/ppc/include/asm/page.h
+++ b/xen/arch/ppc/include/asm/page.h
@@ -4,7 +4,7 @@
 
 #include <xen/types.h>
 
-#include <asm/bitops.h>
+#include <xen/bitops.h>
 #include <asm/byteorder.h>
 
 #define PDE_VALID     PPC_BIT(0)
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index daa411a6fa..3cd8c4635a 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -1,11 +1,11 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/bitops.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
 #include <xen/mm.h>
 #include <xen/types.h>
 #include <xen/lib.h>
 
-#include <asm/bitops.h>
 #include <asm/byteorder.h>
 #include <asm/early_printk.h>
 #include <asm/page.h>
diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index dd439b69a0..81b43da5db 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -175,7 +175,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr)
 })
 
 /**
- * __test_and_set_bit - Set a bit and return its old value
+ * arch__test_and_set_bit - Set a bit and return its old value
  * @nr: Bit to set
  * @addr: Address to count from
  *
@@ -183,7 +183,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr)
  * If two examples of this operation race, one can appear to succeed
  * but actually fail.  You must protect multiple accesses with a lock.
  */
-static inline int __test_and_set_bit(int nr, void *addr)
+static inline int arch__test_and_set_bit(int nr, volatile void *addr)
 {
     int oldbit;
 
@@ -194,10 +194,7 @@ static inline int __test_and_set_bit(int nr, void *addr)
 
     return oldbit;
 }
-#define __test_and_set_bit(nr, addr) ({                 \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
-    __test_and_set_bit(nr, addr);                       \
-})
+#define arch__test_and_set_bit arch__test_and_set_bit
 
 /**
  * test_and_clear_bit - Clear a bit and return its old value
@@ -224,7 +221,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr)
 })
 
 /**
- * __test_and_clear_bit - Clear a bit and return its old value
+ * arch__test_and_clear_bit - Clear a bit and return its old value
  * @nr: Bit to set
  * @addr: Address to count from
  *
@@ -232,7 +229,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr)
  * If two examples of this operation race, one can appear to succeed
  * but actually fail.  You must protect multiple accesses with a lock.
  */
-static inline int __test_and_clear_bit(int nr, void *addr)
+static inline int arch__test_and_clear_bit(int nr, volatile void *addr)
 {
     int oldbit;
 
@@ -243,13 +240,10 @@ static inline int __test_and_clear_bit(int nr, void *addr)
 
     return oldbit;
 }
-#define __test_and_clear_bit(nr, addr) ({               \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
-    __test_and_clear_bit(nr, addr);                     \
-})
+#define arch__test_and_clear_bit arch__test_and_clear_bit
 
 /* WARNING: non atomic and it can be reordered! */
-static inline int __test_and_change_bit(int nr, void *addr)
+static inline int arch__test_and_change_bit(int nr, volatile void *addr)
 {
     int oldbit;
 
@@ -260,10 +254,7 @@ static inline int __test_and_change_bit(int nr, void *addr)
 
     return oldbit;
 }
-#define __test_and_change_bit(nr, addr) ({              \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
-    __test_and_change_bit(nr, addr);                    \
-})
+#define arch__test_and_change_bit arch__test_and_change_bit
 
 /**
  * test_and_change_bit - Change a bit and return its new value
@@ -307,8 +298,7 @@ static inline int variable_test_bit(int nr, const volatile void *addr)
     return oldbit;
 }
 
-#define test_bit(nr, addr) ({                           \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
+#define arch_test_bit(nr, addr) ({                      \
     __builtin_constant_p(nr) ?                          \
         constant_test_bit(nr, addr) :                   \
         variable_test_bit(nr, addr);                    \
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index f14ad0d33a..685c7540cc 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -65,10 +65,164 @@ static inline int generic_flsl(unsigned long x)
  * scope
  */
 
+#define BITOP_BITS_PER_WORD 32
+/* typedef uint32_t bitop_uint_t; */
+#define bitop_uint_t uint32_t
+
+#define BITOP_MASK(nr)  ((bitop_uint_t)1 << ((nr) % BITOP_BITS_PER_WORD))
+
+#define BITOP_WORD(nr)  ((nr) / BITOP_BITS_PER_WORD)
+
 /* --------------------- Please tidy above here --------------------- */
 
 #include <asm/bitops.h>
 
+#ifndef bitop_bad_size
+extern void __bitop_bad_size(void);
+#define bitop_bad_size(addr) 0
+#endif
+
+/**
+ * generic__test_and_set_bit - Set a bit and return its old value
+ * @nr: Bit to set
+ * @addr: Address to count from
+ *
+ * This operation is non-atomic and can be reordered.
+ * If two examples of this operation race, one can appear to succeed
+ * but actually fail.  You must protect multiple accesses with a lock.
+ */
+static always_inline __pure bool
+generic__test_and_set_bit(unsigned long nr, volatile void *addr)
+{
+    bitop_uint_t mask = BITOP_MASK(nr);
+    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);
+    bitop_uint_t old = *p;
+
+    *p = old | mask;
+    return (old & mask);
+}
+
+/**
+ * generic__test_and_clear_bit - Clear a bit and return its old value
+ * @nr: Bit to clear
+ * @addr: Address to count from
+ *
+ * This operation is non-atomic and can be reordered.
+ * If two examples of this operation race, one can appear to succeed
+ * but actually fail.  You must protect multiple accesses with a lock.
+ */
+static always_inline __pure bool
+generic__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
+{
+    bitop_uint_t mask = BITOP_MASK(nr);
+    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);
+    bitop_uint_t old = *p;
+
+    *p = old & ~mask;
+    return (old & mask);
+}
+
+/* WARNING: non atomic and it can be reordered! */
+static always_inline __pure bool
+generic__test_and_change_bit(unsigned long nr, volatile void *addr)
+{
+    bitop_uint_t mask = BITOP_MASK(nr);
+    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);
+    bitop_uint_t old = *p;
+
+    *p = old ^ mask;
+    return (old & mask);
+}
+/**
+ * generic_test_bit - Determine whether a bit is set
+ * @nr: bit number to test
+ * @addr: Address to start counting from
+ */
+static always_inline __pure int generic_test_bit(int nr, const volatile void *addr)
+{
+    const volatile bitop_uint_t *p = addr;
+    return 1 & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD - 1)));
+}
+
+static always_inline __pure bool
+__test_and_set_bit(unsigned long nr, volatile void *addr)
+{
+#ifndef arch__test_and_set_bit
+#define arch__test_and_set_bit generic__test_and_set_bit
+#endif
+
+    return arch__test_and_set_bit(nr, addr);
+}
+#define __test_and_set_bit(nr, addr) ({             \
+    if ( bitop_bad_size(addr) ) __bitop_bad_size(); \
+    __test_and_set_bit(nr, addr);                   \
+})
+
+static always_inline __pure bool
+__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
+{
+#ifndef arch__test_and_clear_bit
+#define arch__test_and_clear_bit generic__test_and_clear_bit
+#endif
+
+    return arch__test_and_clear_bit(nr, addr);
+}
+#define __test_and_clear_bit(nr, addr) ({           \
+    if ( bitop_bad_size(addr) ) __bitop_bad_size(); \
+    __test_and_clear_bit(nr, addr);                 \
+})
+
+static always_inline __pure bool
+__test_and_change_bit(unsigned long nr, volatile void *addr)
+{
+#ifndef arch__test_and_change_bit
+#define arch__test_and_change_bit generic__test_and_change_bit
+#endif
+
+    return arch__test_and_change_bit(nr, addr);
+}
+#define __test_and_change_bit(nr, addr) ({              \
+    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
+    __test_and_change_bit(nr, addr);                    \
+})
+
+static always_inline __pure int test_bit(int nr, const volatile void *addr)
+{
+#ifndef arch_test_bit
+#define arch_test_bit generic_test_bit
+#endif
+
+    return arch_test_bit(nr, addr);
+}
+#define test_bit(nr, addr) ({                           \
+    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
+    test_bit(nr, addr);                                 \
+})
+
+static always_inline __pure int fls(unsigned int x)
+{
+    if (__builtin_constant_p(x))
+        return generic_fls(x);
+
+#ifndef arch_fls
+#define arch_fls generic_fls
+#endif
+
+    return arch_fls(x);
+}
+
+static always_inline __pure int flsl(unsigned long x)
+{
+    if (__builtin_constant_p(x))
+        return generic_flsl(x);
+
+#ifndef arch_flsl
+#define arch_flsl generic_flsl
+#endif
+
+    return arch_flsl(x);
+}
+
 /*
  * Find First Set bit.  Bits are labelled from 1.
  */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700397.1093495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjG-0000Gb-Tn; Wed, 03 Apr 2024 10:20:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700397.1093495; Wed, 03 Apr 2024 10:20:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjG-0000FU-Pu; Wed, 03 Apr 2024 10:20:26 +0000
Received: by outflank-mailman (input) for mailman id 700397;
 Wed, 03 Apr 2024 10:20: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjE-0007Ql-Mr
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:24 +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 c87868ec-f1a3-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:20:24 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5157af37806so6802972e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:24 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: c87868ec-f1a3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139623; x=1712744423; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YDOXSExHkWnsYA303APz88ZhYMfYFAPF7TMb2Gec4LM=;
        b=WeSkpRXjqRBdcufafyJvfKZoBYxUzgmtLYkOvGOPrrJtXOa7Hz+xNPUELl9KeZwZ6r
         8eEZenEpp+s65ouk7pzF+CNiGE6+d+MbImfWjyxvLhN+X5R/sLBW0EmTDYglq7T1U4Sa
         c6EhTkLjmQDFgf6LQwPJbM5u4GTu5aakbgLgm7411OG+7YRMovCjK9NoWZBQ624YwZoG
         UQiZfzb8dX+FyKt1p+wzY80N1KSY2z4WNhAjxB8DsIAdBkCx8/7n1bE72NyRDh/J+LgZ
         e3v2gHgoK6I1dAtgF2rccKVXmiYJ8jsyOUpwjW3TdrSg4bfc/GnUDiHNjdpfPi8tNlnC
         Cxnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139623; x=1712744423;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YDOXSExHkWnsYA303APz88ZhYMfYFAPF7TMb2Gec4LM=;
        b=uB2FCZy0rWSyjO/S9dCJOD+blaxqmafG+NZ2aF5MlLnUSmIbutKLihO7YQXQjku972
         Sxp/fUsijc0q/0L5XfBqjiUAkTK55q/nUdbeEbKjGAWRit66z+ilOU9Dxc5tAKO6YeDR
         U4RfZnUP/LZKKXpOOFCaktdC3HhPyBQtOaBsZUINnn7M3RZmhBW2ChlzY+UqlRtWeXI0
         R5EAPvCiVg6pM6bblL1pObufns1o265+jrPjdkdV/tAaCNhvqr5DF/BivRffPVF10uyI
         Ip8PHMG28+Ash4VVinDmDEeqj+sHGt3seUDcBHMsyF4myTGT2wSsxEkjLzg+UHNRbqUD
         fi2A==
X-Gm-Message-State: AOJu0Yy8lQ0xbWkdy1qAJQKIP38bFjLZvWtal1XVHwGoZbZsAFFlBJL4
	iXpOOJjzEGYLLz7NjoiRy/fek+VtApbFkWl587SK3BK9SQA2/ruEyb+6EJWW
X-Google-Smtp-Source: AGHT+IEf0Ys4z4+MWjSdpX4epeGnXe3GDvKAFI0GYGQS1kzkI8THHaA256ABL4X7CPvTKA6W2kqCBg==
X-Received: by 2002:a05:6512:2118:b0:516:582:2348 with SMTP id q24-20020a056512211800b0051605822348mr7459594lfr.54.1712139623341;
        Wed, 03 Apr 2024 03:20:23 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Rahul Singh <rahul.singh@arm.com>
Subject: [PATCH v7 06/19] xen/bitops: put __ffs() into linux compatible header
Date: Wed,  3 Apr 2024 12:19:59 +0200
Message-ID: <854994adfdbaafb4d140fffb72ff5ade6b0aeb1e.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The mentioned macros exist only because of Linux compatible purpose.

The patch defines __ffs() in terms of Xen bitops and it is safe
to define in this way ( as __ffs() - 1 ) as considering that __ffs()
was defined as __builtin_ctzl(x), which has undefined behavior when x=0,
so it is assumed that such cases are not encountered in the current code.

To not include <xen/linux-compat.h> to Xen library files __ffs() and __ffz()
were defined locally in find-next-bit.c.

Except __ffs() usage in find-next-bit.c only one usage of __ffs() leave
in smmu-v3.c. It seems that it __ffs can be changed to ffsl(x)-1 in
this file, but to keep smmu-v3.c looks close to linux it was deciced just
to define __ffs() in xen/linux-compat.h and include it in smmu-v3.c

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - introduce ffz(),__ffs() locally in find-next-bit.c
 - drop inclusion of <xen/linux-compat.h> in find-next-bit.c.
 - update the commit message.
---
Changes in V6:
 - new patch for the patch series.
---
 xen/arch/arm/include/asm/arm64/bitops.h | 21 ---------------------
 xen/arch/ppc/include/asm/bitops.h       | 12 ------------
 xen/drivers/passthrough/arm/smmu-v3.c   |  2 ++
 xen/include/xen/linux-compat.h          |  2 ++
 xen/lib/find-next-bit.c                 |  3 +++
 5 files changed, 7 insertions(+), 33 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm64/bitops.h b/xen/arch/arm/include/asm/arm64/bitops.h
index 5f5d97faa0..2deb134388 100644
--- a/xen/arch/arm/include/asm/arm64/bitops.h
+++ b/xen/arch/arm/include/asm/arm64/bitops.h
@@ -1,27 +1,6 @@
 #ifndef _ARM_ARM64_BITOPS_H
 #define _ARM_ARM64_BITOPS_H
 
-/* Based on linux/include/asm-generic/bitops/builtin-__ffs.h */
-/**
- * __ffs - find first bit in word.
- * @word: The word to search
- *
- * Undefined if no bit exists, so code should check against 0 first.
- */
-static /*__*/always_inline unsigned long __ffs(unsigned long word)
-{
-        return __builtin_ctzl(word);
-}
-
-/* Based on linux/include/asm-generic/bitops/ffz.h */
-/*
- * ffz - find first zero in word.
- * @word: The word to search
- *
- * Undefined if no zero exists, so code should check against ~0UL first.
- */
-#define ffz(x)  __ffs(~(x))
-
 static inline int arch_flsl(unsigned long x)
 {
         uint64_t ret;
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index a17060c7c2..2237b9f8f4 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -130,16 +130,4 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
 #define hweight16(x) __builtin_popcount((uint16_t)(x))
 #define hweight8(x)  __builtin_popcount((uint8_t)(x))
 
-/* Based on linux/include/asm-generic/bitops/builtin-__ffs.h */
-/**
- * __ffs - find first bit in word.
- * @word: The word to search
- *
- * Undefined if no bit exists, so code should check against 0 first.
- */
-static always_inline unsigned long __ffs(unsigned long word)
-{
-    return __builtin_ctzl(word);
-}
-
 #endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index b1c40c2c0a..6904962467 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -72,12 +72,14 @@
  */
 
 #include <xen/acpi.h>
+#include <xen/bitops.h>
 #include <xen/config.h>
 #include <xen/delay.h>
 #include <xen/errno.h>
 #include <xen/err.h>
 #include <xen/irq.h>
 #include <xen/lib.h>
+#include <xen/linux-compat.h>
 #include <xen/list.h>
 #include <xen/mm.h>
 #include <xen/rbtree.h>
diff --git a/xen/include/xen/linux-compat.h b/xen/include/xen/linux-compat.h
index 62ba71485c..10db80df57 100644
--- a/xen/include/xen/linux-compat.h
+++ b/xen/include/xen/linux-compat.h
@@ -19,4 +19,6 @@ typedef int64_t __s64;
 
 typedef paddr_t phys_addr_t;
 
+#define __ffs(x) (ffsl(x) - 1)
+
 #endif /* __XEN_LINUX_COMPAT_H__ */
diff --git a/xen/lib/find-next-bit.c b/xen/lib/find-next-bit.c
index ca6f82277e..761b027398 100644
--- a/xen/lib/find-next-bit.c
+++ b/xen/lib/find-next-bit.c
@@ -12,6 +12,9 @@
 
 #include <asm/byteorder.h>
 
+#define __ffs(x) (ffsl(x) - 1)
+#define ffz(x) __ffs(~(x))
+
 #ifndef find_next_bit
 /*
  * Find the next set bit in a memory region.
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700398.1093499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjH-0000KM-8e; Wed, 03 Apr 2024 10:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700398.1093499; Wed, 03 Apr 2024 10:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjH-0000Jt-38; Wed, 03 Apr 2024 10:20:27 +0000
Received: by outflank-mailman (input) for mailman id 700398;
 Wed, 03 Apr 2024 10:20: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjE-0007Ob-RT
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20: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 c7df53da-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:23 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-515a97846b5so6694336e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:23 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: c7df53da-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139622; x=1712744422; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IwZl5pVjVnzQXQ1Xje0ocBXf1LvlWI8p41kWWtq8CMU=;
        b=CnMPdAQ4J2bdbJucMJc905xAzGkNSghgdoKzFdGzIr5jQt5rLxXvdz9M+zXqZr0Zo2
         SXnN2uWzBjIBJqv5xOBWajJKTQwDqFb9Vf6PGJId6twb/+ZUh1ZDQVQPHch9KAlul/g4
         gUfg3RFN13IEJ1nwuaSD0u1Ak3/6e2xJsNNr1qO8KdY6SRwdZSR0Yp0vsJSoFMPolP3u
         Ff94fbP6xX5By5keGJ+6XtI6s35CAStbEgyFS9GzxBS9IWuFcCIR8p3BCIl4a1kYG/aO
         6S592bTJUNJWyVeDw/97g+835hA4mV/X1RBwBeHdoOBJTRY0oTLlDcgP4xWI3N5Qoeub
         rLAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139622; x=1712744422;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IwZl5pVjVnzQXQ1Xje0ocBXf1LvlWI8p41kWWtq8CMU=;
        b=eA+Ga4UjQLVUlE942XD+ynkQLbLh/Iq5uqnX8iAKhb4Bx7rWWK8eC8lJMppsDmZeR9
         S8f2W/z9wioLInq2MD3tkZeDgNxlmcmMUJdK/jtoxZaZswGzCMF7o6E446B33z6cijsO
         WZ8NoJ9B+lSXBMMkI4J+kqiEjQbFLSEJ/lv5l+4XFb94vUs4pXIeJQ1dzDVAKm0pMHqW
         RND4pI10N3O8OOI6LeYxIf101Wdoq8s76CScK6KfiuQyAOjtbXUVMMhWhVZWnHLJNkBe
         +3lPCabA5cRWT22t3KQyhpmngRDLK0EGv2uO5VLapTN8rXqhreNOoUIbDiPy+DoKulDD
         9uWQ==
X-Gm-Message-State: AOJu0YwE2UqeU0oWAaHwuka67K8Lrz0afSIBPp2sST4SDspEXjS52IUi
	RhZIueci7o8dNLsQLLoRuoVbJ3/buUcxIlfq93Hrjk3J/YeqFsKGUM7CnNaX
X-Google-Smtp-Source: AGHT+IGQPi5pBwNLUdZ9zSNPOYdx4xHma/P+k3+ceSy8rX7EKnls+NuCGPESIKcyJ+5yPksd4J2x0w==
X-Received: by 2002:a05:6512:741:b0:515:c8fc:9d98 with SMTP id c1-20020a056512074100b00515c8fc9d98mr8994541lfs.20.1712139621854;
        Wed, 03 Apr 2024 03:20:21 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v7 05/19] xen/bitops: implement fls{l}() in common logic
Date: Wed,  3 Apr 2024 12:19:58 +0200
Message-ID: <f2fb33097608fc1317b81e78d00d1b91b0fc4c1d.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Return type was left 'int' because of the following compilation error:

./include/xen/kernel.h:18:21: error: comparison of distinct pointer types lacks a cast [-Werror]
       18 |         (void) (&_x == &_y);            \
          |                     ^~
    common/page_alloc.c:1843:34: note: in expansion of macro 'min'
     1843 |         unsigned int inc_order = min(MAX_ORDER, flsl(e - s) - 1);

generic_fls{l} was used instead of __builtin_clz{l}(x) as if x is 0,
the result in undefined.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - Code style fixes
---
Changes in V6:
 - new patch for the patch series.
---
 xen/arch/arm/include/asm/arm32/bitops.h |  2 +-
 xen/arch/arm/include/asm/arm64/bitops.h |  6 ++----
 xen/arch/arm/include/asm/bitops.h       |  7 ++-----
 xen/arch/x86/include/asm/bitops.h       |  6 ++++--
 xen/common/bitops.c                     | 22 ++++++++++++++++++++++
 xen/include/xen/bitops.h                |  4 ++--
 6 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm32/bitops.h b/xen/arch/arm/include/asm/arm32/bitops.h
index d0309d47c1..5552d4e945 100644
--- a/xen/arch/arm/include/asm/arm32/bitops.h
+++ b/xen/arch/arm/include/asm/arm32/bitops.h
@@ -1,7 +1,7 @@
 #ifndef _ARM_ARM32_BITOPS_H
 #define _ARM_ARM32_BITOPS_H
 
-#define flsl fls
+#define arch_flsl fls
 
 /*
  * Little endian assembly bitops.  nr = 0 -> byte 0 bit 0.
diff --git a/xen/arch/arm/include/asm/arm64/bitops.h b/xen/arch/arm/include/asm/arm64/bitops.h
index 0efde29068..5f5d97faa0 100644
--- a/xen/arch/arm/include/asm/arm64/bitops.h
+++ b/xen/arch/arm/include/asm/arm64/bitops.h
@@ -22,17 +22,15 @@ static /*__*/always_inline unsigned long __ffs(unsigned long word)
  */
 #define ffz(x)  __ffs(~(x))
 
-static inline int flsl(unsigned long x)
+static inline int arch_flsl(unsigned long x)
 {
         uint64_t ret;
 
-        if (__builtin_constant_p(x))
-               return generic_flsl(x);
-
         asm("clz\t%0, %1" : "=r" (ret) : "r" (x));
 
         return BITS_PER_LONG - ret;
 }
+#define arch_flsl arch_flsl
 
 /* Based on linux/include/asm-generic/bitops/find.h */
 
diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 8e16335e76..860d6d4689 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -78,17 +78,14 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
  * the clz instruction for much better code efficiency.
  */
 
-static inline int fls(unsigned int x)
+static inline int arch_fls(unsigned int x)
 {
         int ret;
 
-        if (__builtin_constant_p(x))
-               return generic_fls(x);
-
         asm("clz\t%"__OP32"0, %"__OP32"1" : "=r" (ret) : "r" (x));
         return 32 - ret;
 }
-
+#define arch_fls arch_fls
 
 #define arch_ffs(x) ({ unsigned int __t = (x); fls(ISOLATE_LSB(__t)); })
 #define arch_ffsl(x) ({ unsigned long __t = (x); flsl(ISOLATE_LSB(__t)); })
diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index 81b43da5db..9c4ab52df7 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -428,7 +428,7 @@ static always_inline unsigned int arch_ffsl(unsigned long x)
  *
  * This is defined the same way as ffs.
  */
-static inline int flsl(unsigned long x)
+static always_inline int arch_flsl(unsigned long x)
 {
     long r;
 
@@ -438,8 +438,9 @@ static inline int flsl(unsigned long x)
           "1:" : "=r" (r) : "rm" (x));
     return (int)r+1;
 }
+#define arch_flsl arch_flsl
 
-static inline int fls(unsigned int x)
+static always_inline int arch_fls(unsigned int x)
 {
     int r;
 
@@ -449,6 +450,7 @@ static inline int fls(unsigned int x)
           "1:" : "=r" (r) : "rm" (x));
     return r + 1;
 }
+#define arch_fls arch_fls
 
 /**
  * hweightN - returns the hamming weight of a N-bit word
diff --git a/xen/common/bitops.c b/xen/common/bitops.c
index a8c32f6767..95bc47176b 100644
--- a/xen/common/bitops.c
+++ b/xen/common/bitops.c
@@ -62,9 +62,31 @@ static void test_ffs(void)
     CHECK(ffs64, (uint64_t)0x8000000000000000, 64);
 }
 
+static void test_fls(void)
+{
+    /* unsigned int ffs(unsigned int) */
+    CHECK(fls, 1, 1);
+    CHECK(fls, 3, 2);
+    CHECK(fls, 3U << 30, 32);
+
+    /* unsigned int flsl(unsigned long) */
+    CHECK(flsl, 1, 1);
+    CHECK(flsl, 1UL << (BITS_PER_LONG - 1), BITS_PER_LONG);
+#if BITS_PER_LONG > 32
+    CHECK(flsl, 3UL << 32, 34);
+#endif
+
+    /* unsigned int fls64(uint64_t) */
+    CHECK(fls64, 1, 1);
+    CHECK(fls64, 0x00000000C0000000ULL, 32);
+    CHECK(fls64, 0x0000000180000000ULL, 33);
+    CHECK(fls64, 0xC000000000000000ULL, 64);
+}
+
 static int __init cf_check test_bitops(void)
 {
     test_ffs();
+    test_fls();
 
     return 0;
 }
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index 685c7540cc..bc8ae53997 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -201,7 +201,7 @@ static always_inline __pure int test_bit(int nr, const volatile void *addr)
 
 static always_inline __pure int fls(unsigned int x)
 {
-    if (__builtin_constant_p(x))
+    if ( __builtin_constant_p(x) )
         return generic_fls(x);
 
 #ifndef arch_fls
@@ -213,7 +213,7 @@ static always_inline __pure int fls(unsigned int x)
 
 static always_inline __pure int flsl(unsigned long x)
 {
-    if (__builtin_constant_p(x))
+    if ( __builtin_constant_p(x) )
         return generic_flsl(x);
 
 #ifndef arch_flsl
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700399.1093515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjI-0000nh-TC; Wed, 03 Apr 2024 10:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700399.1093515; Wed, 03 Apr 2024 10:20:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjI-0000mS-Mk; Wed, 03 Apr 2024 10:20:28 +0000
Received: by outflank-mailman (input) for mailman id 700399;
 Wed, 03 Apr 2024 10: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjG-0007Ob-TV
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:26 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c917b113-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:25 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-515b43b39fdso688499e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:25 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: c917b113-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139624; x=1712744424; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Hf2lo1oLaP0G7F2E7pKpUjQOuukp+kvUPmq6qeGN1Gs=;
        b=PLykraHvgNJbfbQbpKajlZpfQjVKXUkJezpUBSKagAusRSanSk0GLcqlWbVGJqhr4z
         s6c0onL9oi10y3uk2EICMcQh/E811UGJpMOHV1JcdxJT+NM/axirFYg/UO2a2LdqGBWz
         MtA7dYK7qgSQbXA4hRGdfCUApw/w78G2qmv1dUfoVX3JzAkDfaTtbfxyirP96CfYB+mm
         89uDq1ybz8Z84hiVBxlJRxEru/0WEkocP9xCox//UlGWBBF39vXtXTqANYAjDg1BZjg1
         IczLxdPwXc54ITbfgIhXeRmLeaLR9UGm/YrQvFQSomScFZKiMu6u8aPhQk0v7UXADxna
         982g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139624; x=1712744424;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Hf2lo1oLaP0G7F2E7pKpUjQOuukp+kvUPmq6qeGN1Gs=;
        b=pu3LMHuE3IfSSV+l5vuUKDVfJ3NYWTQ8SotIpPPtz9KwFhQLiYMTxZWFrdNjGS9C0s
         tCu8Kugtiv19d3tsh9+wIsnfTtBYZWUn1fxx0SbbZyqu43Fi0auZdcWjSzryF0v4BfiF
         jUzHjjJpPgr5pwTTxkiyOhk1yzfVWUwp/JJqXB42NJgMFVUakRaKRXoQkS9UHM038dFN
         8H5JJkacfqs1+I5vBQwByXNaSGnicaXdjQ4z06jhzeDODWmLw5ub/q/+2gwreJNNOw0W
         EXEPo2NnnabKSmxjMI6KAqVO1ec9+uhDl2ONwynkW7F+XPiZbhNJw8wtSxY/ecUdJhJT
         Ehtw==
X-Gm-Message-State: AOJu0YwFxMJLrW7iB4PZ/wm8STJRrwX99wlRPjow8WVyomm2nUwz41pP
	DjF9Ca0XAW18o3csobjQ+TbdFHhL3iMkQFKkzG8nPyeenrXWwBsYzCZ8aIs+
X-Google-Smtp-Source: AGHT+IH4bg1txYQJMVNseVJ2kSMF/ivLg2sB8ZFTK0j2GsWYsuqwJV7Kv4HcGxzX7oiL1czSjqkojA==
X-Received: by 2002:a05:6512:20a:b0:515:89cc:26ab with SMTP id a10-20020a056512020a00b0051589cc26abmr847886lfo.9.1712139624428;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 07/19] xen/riscv: introduce bitops.h
Date: Wed,  3 Apr 2024 12:20:00 +0200
Message-ID: <3d8a46946a37ca499e962aa6504fa453326e5ad0.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Taken from Linux-6.4.0-rc1

Xen's bitops.h consists of several Linux's headers:
* linux/arch/include/asm/bitops.h:
  * The following function were removed as they aren't used in Xen:
        * test_and_set_bit_lock
        * clear_bit_unlock
        * __clear_bit_unlock
  * The following functions were renamed in the way how they are
    used by common code:
        * __test_and_set_bit
        * __test_and_clear_bit
  * The declaration and implementation of the following functios
    were updated to make Xen build happy:
        * clear_bit
        * set_bit
        * __test_and_clear_bit
        * __test_and_set_bit
  * linux/include/asm-generic/bitops/generic-non-atomic.h with the
    following changes:
     * Only functions that can be reused in Xen were left;
       others were removed.
     * it was updated the message inside #ifndef ... #endif.
     * __always_inline -> always_inline to be align with definition in
       xen/compiler.h.
     * convert identations from tabs to spaces.
     * inside generic__test_and_* use 'bitops_uint_t' instead of 'unsigned long'
        to be generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - Update the commit message.
 - Drop "__" for __op_bit and __op_bit_ord as they are atomic.
 - add comment above __set_bit and __clear_bit about why they are defined as atomic.
 - align bitops_uint_t with __AMO().
 - make changes after  generic non-atomic test_*bit() were changed.
 - s/__asm__ __volatile__/asm volatile
---
Changes in V6:
 - rebase clean ups were done: drop unused asm-generic includes
---
 Changes in V5:
   - new patch
---
 xen/arch/riscv/include/asm/bitops.h | 146 ++++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/bitops.h

diff --git a/xen/arch/riscv/include/asm/bitops.h b/xen/arch/riscv/include/asm/bitops.h
new file mode 100644
index 0000000000..6f0212e5ac
--- /dev/null
+++ b/xen/arch/riscv/include/asm/bitops.h
@@ -0,0 +1,146 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (C) 2012 Regents of the University of California */
+
+#ifndef _ASM_RISCV_BITOPS_H
+#define _ASM_RISCV_BITOPS_H
+
+#include <asm/system.h>
+
+#undef BITOP_BITS_PER_WORD
+#undef bitop_uint_t
+
+#define BITOP_BITS_PER_WORD BITS_PER_LONG
+#define bitop_uint_t unsigned long
+
+#if BITS_PER_LONG == 64
+#define __AMO(op)   "amo" #op ".d"
+#elif BITS_PER_LONG == 32
+#define __AMO(op)   "amo" #op ".w"
+#else
+#error "Unexpected BITS_PER_LONG"
+#endif
+
+#define __set_bit(n, p)      set_bit(n, p)
+#define __clear_bit(n, p)    clear_bit(n, p)
+
+/* Based on linux/arch/include/asm/bitops.h */
+
+/*
+ * Non-atomic bit manipulation.
+ *
+ * Implemented using atomics to be interrupt safe. Could alternatively
+ * implement with local interrupt masking.
+ */
+#define __set_bit(n, p)      set_bit(n, p)
+#define __clear_bit(n, p)    clear_bit(n, p)
+
+/* Based on linux/arch/include/asm/bitops.h */
+
+#define test_and_op_bit_ord(op, mod, nr, addr, ord)     \
+({                                                      \
+    unsigned long res, mask;                            \
+    mask = BITOP_MASK(nr);                              \
+    asm volatile (                                       \
+        __AMO(op) #ord " %0, %2, %1"                    \
+        : "=r" (res), "+A" (addr[BITOP_WORD(nr)])       \
+        : "r" (mod(mask))                               \
+        : "memory");                                    \
+    ((res & mask) != 0);                                \
+})
+
+#define op_bit_ord(op, mod, nr, addr, ord)      \
+    asm volatile (                              \
+        __AMO(op) #ord " zero, %1, %0"          \
+        : "+A" (addr[BITOP_WORD(nr)])           \
+        : "r" (mod(BITOP_MASK(nr)))             \
+        : "memory");
+
+#define test_and_op_bit(op, mod, nr, addr)    \
+    test_and_op_bit_ord(op, mod, nr, addr, .aqrl)
+#define op_bit(op, mod, nr, addr) \
+    op_bit_ord(op, mod, nr, addr, )
+
+/* Bitmask modifiers */
+#define NOP(x)    (x)
+#define NOT(x)    (~(x))
+
+/**
+ * test_and_set_bit - Set a bit and return its old value
+ * @nr: Bit to set
+ * @addr: Address to count from
+ */
+static inline int test_and_set_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    return test_and_op_bit(or, NOP, nr, addr);
+}
+
+/**
+ * test_and_clear_bit - Clear a bit and return its old value
+ * @nr: Bit to clear
+ * @addr: Address to count from
+ */
+static inline int test_and_clear_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    return test_and_op_bit(and, NOT, nr, addr);
+}
+
+/**
+ * set_bit - Atomically set a bit in memory
+ * @nr: the bit to set
+ * @addr: the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ */
+static inline void set_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    op_bit(or, NOP, nr, addr);
+}
+
+/**
+ * clear_bit - Clears a bit in memory
+ * @nr: Bit to clear
+ * @addr: Address to start counting from
+ */
+static inline void clear_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    op_bit(and, NOT, nr, addr);
+}
+
+/**
+ * test_and_change_bit - Toggle (change) a bit and return its old value
+ * @nr: Bit to change
+ * @addr: Address to count from
+ *
+ * This operation is atomic and cannot be reordered.
+ * It also implies a memory barrier.
+ */
+static inline int test_and_change_bit(int nr, volatile unsigned long *addr)
+{
+	return test_and_op_bit(xor, NOP, nr, addr);
+}
+
+#undef test_and_op_bit
+#undef __op_bit
+#undef NOP
+#undef NOT
+#undef __AMO
+
+#endif /* _ASM_RISCV_BITOPS_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700400.1093525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjK-00015H-5i; Wed, 03 Apr 2024 10:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700400.1093525; Wed, 03 Apr 2024 10:20: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 1rrxjK-00014X-0C; Wed, 03 Apr 2024 10:20:30 +0000
Received: by outflank-mailman (input) for mailman id 700400;
 Wed, 03 Apr 2024 10:20:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjI-0007Ob-Ao
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:28 +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 c9c47370-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:26 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-513d247e3c4so767432e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:26 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9c47370-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139625; x=1712744425; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3McwRPAOJ/rAbX5a8InnyXmQu31I3i7bfSHqCPAPuJI=;
        b=hgBYegOoU0We47xC2YwHuEh+oU+J7hd8v6w65DU16olrTYcX/xx3R4zG1r708/rgim
         tlsb7VEe1K79yOoNNLPLpApQjddRov1IRO+17jI8o3X/C31SResPyOwNXzT2qot48fHG
         HZy0YG8OY6KGrOfNq4uEniVD3OgWr0e77wjTsC+BX2mlQworHgbFeXOfjS3swWA+CvDV
         bapCrAx4jDGfRk7c9yxv4Ma3gYn3Xi/O6KmqkBX8W1bOgPG0GEsIwIjgjCHk171tB4jK
         jiD35kKvIr3cNsc3xxjtnhwZEnBkGtDUOIhOXNaqlY8/jLuwm+ZI24VM0jM+Shs1xlX5
         kTDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139625; x=1712744425;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3McwRPAOJ/rAbX5a8InnyXmQu31I3i7bfSHqCPAPuJI=;
        b=jFhGCXjXRso3NvFQHxhViIkRfvNfpkxcALS3nwsB2pEMfMxpKCrala1MGnGk48Wao+
         T5pSMIPNkJYYXDl1HosutVMOmE/HHtarKue9DAMQG2KU6Vadmo2ObHIQQPGVQcqzo/Iw
         s3jMDxGhobD4w2cK3JqZg2DXVclxM8rs37utB/sFvr4Q+Wzkju1gYSQX4IqkT/v+HoF8
         i/osSTBmrTOhiFn/mDBFDgBoTdfIAdWnQHuBu/hHNXvuKXlERZGazlXe3aSUGfGKyPKs
         Ns+nXfPKG3DFJRvIsr9YfsTgX0KuYO+WggOJSo3t1G+NnuJ/iEERYl3jWacyuSBrz6jO
         yUyA==
X-Gm-Message-State: AOJu0Yzrq2uTMltEcoLezid1Chk9fZJjX0e8c0GJUSAmVdJA2YRdfTtm
	07IBb2ceQpmeG7BARDRLHksAQPqdMHNkf6Xe9gixh1/e+IvpSqP/scUCFSvE
X-Google-Smtp-Source: AGHT+IFKmkWov1H2Gto7IOMmcR1dGAJFV/WHz33nSXiGDP2x7OpjXDZi5zT2ps69wyxlJwbJwUl9Ew==
X-Received: by 2002:a05:6512:34c4:b0:516:bef4:8835 with SMTP id w4-20020a05651234c400b00516bef48835mr409086lfr.13.1712139625314;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 08/19] xen/riscv: introduce cmpxchg.h
Date: Wed,  3 Apr 2024 12:20:01 +0200
Message-ID: <f0d836be5dbc04468a74cabf9b48a51921bf749b.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header was taken from Linux kernl 6.4.0-rc1.

Addionally, were updated:
* add emulation of {cmp}xchg for 1/2 byte types using 32-bit atomic
  access.
* replace tabs with spaces
* replace __* variale with *__
* introduce generic version of xchg_* and cmpxchg_*.
* drop {cmp}xchg{release,relaxed,acquire} as Xen doesn't use them
* drop barries and use instruction suffixices instead ( .aq, .rl, .aqrl )

Implementation of 4- and 8-byte cases were updated according to the spec:
```
              ....
Linux Construct         RVWMO AMO Mapping
    ...
atomic <op>             amo<op>.{w|d}.aqrl
Linux Construct         RVWMO LR/SC Mapping
    ...
atomic <op>             loop: lr.{w|d}.aq; <op>; sc.{w|d}.aqrl; bnez loop

Table A.5: Mappings from Linux memory primitives to RISC-V primitives

```

The current implementation is the same with 8e86f0b409a4
("arm64: atomics: fix use of acquire + release for full barrier
semantics") [1].
RISC-V could combine acquire and release into the SC
instructions and it could reduce a fence instruction to gain better
performance. Here is related description from RISC-V ISA 10.2
Load-Reserved/Store-Conditional Instructions:

 - .aq:   The LR/SC sequence can be given acquire semantics by
          setting the aq bit on the LR instruction.
 - .rl:   The LR/SC sequence can be given release semantics by
          setting the rl bit on the SC instruction.
 - .aqrl: Setting the aq bit on the LR instruction, and setting
          both the aq and the rl bit on the SC instruction makes
          the LR/SC sequence sequentially consistent, meaning that
          it cannot be reordered with earlier or later memory
          operations from the same hart.

 Software should not set the rl bit on an LR instruction unless
 the aq bit is also set, nor should software set the aq bit on an
 SC instruction unless the rl bit is also set. LR.rl and SC.aq
 instructions are not guaranteed to provide any stronger ordering
 than those with both bits clear, but may result in lower
 performance.

Also, I way of transforming ".rl + full barrier" to ".aqrl" was approved
by (the author of the RVWMO spec) [2]

[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.deacon@arm.com/
[2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444fd8e@nvidia.com/

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - replace __*() -> _*() in cmpxchg.h
 - add () around ptr in _amoswap_generic(), emulate_xchg_1_2()
 - fix typos
 - code style fixes.
 - refactor emulate_xcgh_1_2():
   - add parentheses for new argument.
   - use instead of constant 0x4 -> sizeof(*aligned_ptr).
   - add alignment_mask to save  sizeof(*aligned_ptr) - sizeof(*(ptr));
 - s/CONFIG_32BIT/CONFIG_RISCV_32
 - drop unnecessary parentheses in xchg()
 - drop register in _generic_cmpxchg()
 - refactor and update prototype of _generic_cmpxchg():
   add named operands, return value instead of passing ret as an argument, drop %z and J
   constraints for mask operand as it can't be zero
 - refactor and code style fixes in emulate_cmpxchg_1_2():
   - add explanatory comment for emulate_cmpxchg_1_2().
   - add parentheses for old and new arguments.
   - use instead of constant 0x4 -> sizeof(*aligned_ptr).
   - add alignment_mask to save  sizeof(*aligned_ptr) - sizeof(*(ptr));
 - drop unnessary parenthesses in cmpxchg().
 - update the commit message.
 - s/__asm__ __volatile__/asm volatile
---
Changes in V6:
-  update the commit message? ( As before I don't understand this point. Can you give an example of what sort of opcode / instruction is missing?)
 - Code style fixes
 - change sizeof(*ptr) -> sizeof(*(ptr))
 - update operands names and some local variables for macros emulate_xchg_1_2() and emulate_cmpxchg_1_2()
 - drop {cmp}xchg_{relaxed,acquire,release) versions as they aren't needed for Xen
 - update __amoswap_generic() prototype and defintion: drop pre and post barries.
 - update emulate_xchg_1_2() prototype and definion: add lr_sfx, drop pre and post barries.
 - rename __xchg_generic to __xchg(), make __xchg as static inline function to be able to "#ifndef CONFIG_32BIT case 8:... " 
---
Changes in V5:
 - update the commit message.
 - drop ALIGN_DOWN().
 - update the definition of emulate_xchg_1_2(): 
   - lr.d -> lr.w, sc.d -> sc.w.
   - drop ret argument.
   - code style fixes around asm volatile.
   - update prototype.
   - use asm named operands.
   - rename local variables.
   - add comment above the macros
 - update the definition of __xchg_generic:
   - rename to __xchg()
   - transform it to static inline
   - code style fixes around switch()
   - update prototype.
 - redefine cmpxchg()
 - update emulate_cmpxchg_1_2():
   - update prototype
   - update local variables names and usage of them
   - use name asm operands.
   - add comment above the macros
 - drop pre and post, and use .aq,.rl, .aqrl suffixes.
 - drop {cmp}xchg_{relaxed, aquire, release} as they are not used by Xen.
 - drop unnessary details in comment above emulate_cmpxchg_1_2()
---
Changes in V4:
 - Code style fixes.
 - enforce in __xchg_*() has the same type for new and *ptr, also "\n"
   was removed at the end of asm instruction.
 - dependency from https://lore.kernel.org/xen-devel/cover.1706259490.git.federico.serafini@bugseng.com/
 - switch from ASSERT_UNREACHABLE to STATIC_ASSERT_UNREACHABLE().
 - drop xchg32(ptr, x) and xchg64(ptr, x) as they aren't used.
 - drop cmpxcg{32,64}_{local} as they aren't used.
 - introduce generic version of xchg_* and cmpxchg_*.
 - update the commit message.
---
Changes in V3:
 - update the commit message
 - add emulation of {cmp}xchg_... for 1 and 2 bytes types
---
Changes in V2:
 - update the comment at the top of the header.
 - change xen/lib.h to xen/bug.h.
 - sort inclusion of headers properly.
---
 xen/arch/riscv/include/asm/cmpxchg.h | 227 +++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/config.h  |   2 +
 2 files changed, 229 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h

diff --git a/xen/arch/riscv/include/asm/cmpxchg.h b/xen/arch/riscv/include/asm/cmpxchg.h
new file mode 100644
index 0000000000..9e78035dff
--- /dev/null
+++ b/xen/arch/riscv/include/asm/cmpxchg.h
@@ -0,0 +1,227 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Copyright (C) 2014 Regents of the University of California */
+
+#ifndef _ASM_RISCV_CMPXCHG_H
+#define _ASM_RISCV_CMPXCHG_H
+
+#include <xen/compiler.h>
+#include <xen/lib.h>
+
+#include <asm/fence.h>
+#include <asm/io.h>
+#include <asm/system.h>
+
+#define _amoswap_generic(ptr, new, ret, sfx) \
+    asm volatile ( \
+        " amoswap" sfx " %0, %2, %1" \
+        : "=r" (ret), "+A" (*(ptr)) \
+        : "r" (new) \
+        : "memory" );
+
+/*
+ * For LR and SC, the A extension requires that the address held in rs1 be
+ * naturally aligned to the size of the operand (i.e., eight-byte aligned
+ * for 64-bit words and four-byte aligned for 32-bit words).
+ * If the address is not naturally aligned, an address-misaligned exception
+ * or an access-fault exception will be generated.
+ *
+ * Thereby:
+ * - for 1-byte xchg access the containing word by clearing low two bits.
+ * - for 2-byte xchg access the containing word by clearing bit 1.
+ *
+ * If resulting 4-byte access is still misalgined, it will fault just as
+ * non-emulated 4-byte access would.
+ */
+#define emulate_xchg_1_2(ptr, new, lr_sfx, sc_sfx) \
+({ \
+    uint32_t *aligned_ptr; \
+    unsigned long alignment_mask = sizeof(*aligned_ptr) - sizeof(*(ptr)); \
+    unsigned int new_val_bit = \
+        ((unsigned long)(ptr) & alignment_mask) * BITS_PER_BYTE; \
+    unsigned long mask = \
+        GENMASK(((sizeof(*(ptr))) * BITS_PER_BYTE) - 1, 0) << new_val_bit; \
+    unsigned int new_ = (new) << new_val_bit; \
+    unsigned int old; \
+    unsigned int scratch; \
+    \
+    aligned_ptr = (uint32_t *)((unsigned long)(ptr) & ~alignment_mask); \
+    \
+    asm volatile ( \
+        "0: lr.w" lr_sfx " %[old], %[ptr_]\n" \
+        "   andn  %[scratch], %[old], %[mask]\n" \
+        "   or   %[scratch], %[scratch], %z[new_]\n" \
+        "   sc.w" sc_sfx " %[scratch], %[scratch], %[ptr_]\n" \
+        "   bnez %[scratch], 0b\n" \
+        : [old] "=&r" (old), [scratch] "=&r" (scratch), \
+          [ptr_] "+A" (*aligned_ptr) \
+        : [new_] "rJ" (new_), [mask] "r" (mask) \
+        : "memory" ); \
+    \
+    (__typeof__(*(ptr)))((old & mask) >> new_val_bit); \
+})
+
+static always_inline unsigned long __xchg(volatile void *ptr, unsigned long new, int size)
+{
+    unsigned long ret;
+
+    switch ( size )
+    {
+    case 1:
+        ret = emulate_xchg_1_2((volatile uint8_t *)ptr, new, ".aq", ".aqrl");
+        break;
+    case 2:
+        ret = emulate_xchg_1_2((volatile uint16_t *)ptr, new, ".aq", ".aqrl");
+        break;
+    case 4:
+        _amoswap_generic((volatile uint32_t *)ptr, new, ret, ".w.aqrl");
+        break;
+#ifndef CONFIG_RISCV_32
+    case 8:
+        _amoswap_generic((volatile uint64_t *)ptr, new, ret, ".d.aqrl");
+        break;
+#endif
+    default:
+        STATIC_ASSERT_UNREACHABLE();
+    }
+
+    return ret;
+}
+
+#define xchg(ptr, x) \
+({ \
+    __typeof__(*(ptr)) n_ = (x); \
+    (__typeof__(*(ptr))) \
+        __xchg((ptr), (unsigned long)n_, sizeof(*(ptr))); \
+})
+
+#define _generic_cmpxchg(ptr, old, new, lr_sfx, sc_sfx) \
+ ({ \
+    unsigned int rc; \
+    unsigned long ret; \
+    unsigned long mask = GENMASK(((sizeof(*(ptr))) * BITS_PER_BYTE) - 1, 0); \
+    asm volatile ( \
+        "0: lr" lr_sfx " %[ret], %[ptr_]\n" \
+        "   and  %[ret], %[ret], %[mask]\n" \
+        "   bne  %[ret], %z[old_], 1f\n" \
+        "   sc" sc_sfx " %[rc], %z[new_], %[ptr_]\n" \
+        "   bnez %[rc], 0b\n" \
+        "1:\n" \
+        : [ret] "=&r" (ret), [rc] "=&r" (rc), [ptr_] "+A" (*ptr) \
+        : [old_] "rJ" (old), [new_] "rJ" (new), [mask] "r" (mask)  \
+        : "memory" ); \
+    ret; \
+ })
+
+/*
+ * For LR and SC, the A extension requires that the address held in rs1 be
+ * naturally aligned to the size of the operand (i.e., eight-byte aligned
+ * for 64-bit words and four-byte aligned for 32-bit words).
+ * If the address is not naturally aligned, an address-misaligned exception
+ * or an access-fault exception will be generated.
+ *
+ * Thereby:
+ * - for 1-byte xchg access the containing word by clearing low two bits
+ * - for 2-byte xchg ccess the containing word by clearing first bit.
+ * 
+ * If resulting 4-byte access is still misalgined, it will fault just as
+ * non-emulated 4-byte access would.
+ *
+ * old_val was casted to unsigned long for cmpxchgptr()
+ */
+#define emulate_cmpxchg_1_2(ptr, old, new, lr_sfx, sc_sfx) \
+({ \
+    uint32_t *aligned_ptr; \
+    unsigned long alignment_mask = sizeof(*aligned_ptr) - sizeof(*(ptr)); \
+    uint8_t new_val_bit = \
+        ((unsigned long)(ptr) & alignment_mask) * BITS_PER_BYTE; \
+    unsigned long mask = \
+        GENMASK(((sizeof(*(ptr))) * BITS_PER_BYTE) - 1, 0) << new_val_bit; \
+    unsigned int old_ = (old) << new_val_bit; \
+    unsigned int new_ = (new) << new_val_bit; \
+    unsigned int old_val; \
+    unsigned int scratch; \
+    \
+    aligned_ptr = (uint32_t *)((unsigned long)ptr & ~alignment_mask); \
+    \
+    asm volatile ( \
+        "0: lr.w" lr_sfx " %[scratch], %[ptr_]\n" \
+        "   and  %[old_val], %[scratch], %[mask]\n" \
+        "   bne  %[old_val], %z[old_], 1f\n" \
+        /* the following line is an equivalent to:
+         *     scratch = old_val & ~mask;
+         * And to elimanate one ( likely register ) input it was decided
+         * to use:
+         *     scratch = old_val ^ scratch
+         */ \
+        "   xor  %[scratch], %[old_val], %[scratch]\n" \
+        "   or   %[scratch], %[scratch], %z[new_]\n" \
+        "   sc.w" sc_sfx " %[scratch], %[scratch], %[ptr_]\n" \
+        "   bnez %[scratch], 0b\n" \
+        "1:\n" \
+        : [old_val] "=&r" (old_val), [scratch] "=&r" (scratch), \
+          [ptr_] "+A" (*aligned_ptr) \
+        : [old_] "rJ" (old_), [new_] "rJ" (new_), \
+          [mask] "r" (mask) \
+        : "memory" ); \
+    \
+    (__typeof__(*(ptr)))((unsigned long)old_val >> new_val_bit); \
+})
+
+/*
+ * Atomic compare and exchange.  Compare OLD with MEM, if identical,
+ * store NEW in MEM.  Return the initial value in MEM.  Success is
+ * indicated by comparing RETURN with OLD.
+ */
+static always_inline unsigned long __cmpxchg(volatile void *ptr,
+                                             unsigned long old,
+                                             unsigned long new,
+                                             int size)
+{
+    unsigned long ret;
+
+    switch ( size )
+    {
+    case 1:
+        ret = emulate_cmpxchg_1_2((volatile uint8_t *)ptr, old, new,
+                                  ".aq", ".aqrl");
+        break;
+    case 2:
+        ret = emulate_cmpxchg_1_2((volatile uint16_t *)ptr, old, new,
+                                   ".aq", ".aqrl");
+        break;
+    case 4:
+        ret = _generic_cmpxchg((volatile uint32_t *)ptr, old, new,
+                          ".w.aq", ".w.aqrl");
+        break;
+#ifndef CONFIG_32BIT
+    case 8:
+        ret = _generic_cmpxchg((volatile uint64_t *)ptr, old, new,
+                           ".d.aq", ".d.aqrl");
+        break;
+#endif
+    default:
+        STATIC_ASSERT_UNREACHABLE();
+    }
+
+    return ret;
+}
+
+#define cmpxchg(ptr, o, n) \
+({ \
+    __typeof__(*(ptr)) o_ = (o); \
+    __typeof__(*(ptr)) n_ = (n); \
+    (__typeof__(*(ptr))) \
+    __cmpxchg((ptr), (unsigned long)o_, (unsigned long)n_, \
+              sizeof(*(ptr))); \
+})
+
+#endif /* _ASM_RISCV_CMPXCHG_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index c5f93e6a01..50583aafdc 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -119,6 +119,8 @@
 
 #define BITS_PER_LLONG 64
 
+#define BITS_PER_BYTE 8
+
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700401.1093531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjK-0001Cj-R8; Wed, 03 Apr 2024 10:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700401.1093531; Wed, 03 Apr 2024 10:20: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 1rrxjK-0001Bd-Hz; Wed, 03 Apr 2024 10:20:30 +0000
Received: by outflank-mailman (input) for mailman id 700401;
 Wed, 03 Apr 2024 10:20:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjJ-0007Ob-Ii
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:29 +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 ca9951b8-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:27 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516bfcc775bso518245e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:27 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: ca9951b8-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139626; x=1712744426; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=w+HDh8IV77FXQGXaRZndSlP4yD6TWiB0Ale2ssCyU1w=;
        b=AVlDLYO0nkkVQW0D7VJw+I8YwjOY4e5J5EQ115kkm/FBCt+BE18NKMItaceZ5u6sSF
         BYB/5oFKRdu8dV2yIhFnhcy6MUlvvcUs3qrVYyPdBTmpG4XwIp8dQAiEjVOtW0c7hj0Q
         BvRp8wR+AmBP1CdynY7qIVRH909hr5JowNzhGNAqRT6whPYVyd5IYR6mnOG5HQ734jpm
         Zneg6bwJkfN8nR/ZMamRDdOSCqgUuXSVba8SfJh5Bd+zf+ejqwc5AayHUrxGyzCdsDqL
         Jt8Qay/lJzG/TlxZ9cT/cNKnxuJpL6He+GUPziu4n5nZHtKbMhBROzJi8qwZu4HlOwrv
         7Fgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139626; x=1712744426;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=w+HDh8IV77FXQGXaRZndSlP4yD6TWiB0Ale2ssCyU1w=;
        b=PSA+3nuAkzxm3EY7HBANMyW0U5UoZCbSt6l+hT+67ddrGaVKx20F8eJfnajw67iafv
         OJHueMznMUEpYrl1wl1Z21o8HTyaeJU9AB+2CvBXLqVG9ll+vwn8gChQDmHDcb4StHaK
         ZC9AupHOuiSHRuYk3zYFmqc6WK8SxYT9Tr6Yrcl2bA1LypVRIUGK2TkvT60rx4ViU+qw
         HpunonsZh6/lhVxcLMF/45zSR0hwekOu3AtuvVwsfB90MeDDSvaEO0A3UjvbUFFnE1ec
         SGHAHhNxsZJQJM+5zWQAd38wnOtqF56K8ZZJsJsVWvuq6XjJIcXbdeIgrqDHD5uanjc/
         G6Dw==
X-Gm-Message-State: AOJu0Yx701x0mwlwYJWxZH3AVTy4l/f8axRRnvgb3pP38Q/5Sw3zvT8M
	TDvNx34fCjBlLMy0rj4uANxYoE0lslSJ/GYauEM8dtcK1TO2AeBdUgIYWIng
X-Google-Smtp-Source: AGHT+IHMVhi3TlunI/s+BnyX8enNVGgrETbDRm0rCS3aPVZdIH5NQFeyYQUThvcJr6y6asTR7/B6WQ==
X-Received: by 2002:ac2:5e91:0:b0:515:8c9e:d164 with SMTP id b17-20020ac25e91000000b005158c9ed164mr12866101lfq.1.1712139626426;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 09/19] xen/riscv: introduce io.h
Date: Wed,  3 Apr 2024 12:20:02 +0200
Message-ID: <347fe73b80601aec26e2dba5beefe7b3036943e3.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header taken form Linux 6.4.0-rc1 and is based on
arch/riscv/include/asm/mmio.h with the following changes:
- drop forcing of endianess for read*(), write*() functions as
  no matter what CPU endianness, what endianness a particular device
  (and hence its MMIO region(s)) is using is entirely independent.
  Hence conversion, where necessary, needs to occur at a layer up.
  Another one reason to drop endianess conversion here is:
  https://patchwork.kernel.org/project/linux-riscv/patch/20190411115623.5749-3-hch@lst.de/
  One of the answers of the author of the commit:
    And we don't know if Linux will be around if that ever changes.
    The point is:
     a) the current RISC-V spec is LE only
     b) the current linux port is LE only except for this little bit
    There is no point in leaving just this bitrotting code around.  It
    just confuses developers, (very very slightly) slows down compiles
    and will bitrot.  It also won't be any significant help to a future
    developer down the road doing a hypothetical BE RISC-V Linux port.
- drop unused argument of __io_ar() macros.
- drop "#define _raw_{read,write}{b,w,l,d,q} _raw_{read,write}{b,w,l,d,q}"
  as they are unnecessary.
- Adopt the Xen code style for this header, considering that significant changes
  are not anticipated in the future.
  In the event of any issues, adapting them to Xen style should be easily
  manageable.
- drop unnecessary  __r variables in macros read*_cpu()
- update inline assembler constraints for addr argument for
  __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that
 *addr will be accessed.
- add stubs for __raw_readq() and __raw_writeq() for RISCV_32

Addionally, to the header was added definions of ioremap_*().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - update the comment message in riscv/io.h at the top.
 - code style fixes.
 - back const in places where it should be.
---
Changes in V6:
 - drop unnecessary spaces and fix typos in the file comment.
 - s/CONFIG_64BIT/CONFIG_RISCV_32 as .d suffix for instruction doesn't exist for RV32.
 - add stubs for __raw_readq() and __raw_writeq() for RISCV_32
 - update inline assembler constraints for addr argument for __raw_read{b,w,l,q} and
   __raw_write{b,w,l,q} to tell compiler that *addr will be accessed.
 - s/u8/uint8_t
 - update the commit message
---
Changes in V5:
 - Xen code style related fixes
 - drop #define _raw_{read,write}{b,w,l,d,q} _raw_{read,write}{b,w,l,d,q}
 - drop cpu_to_le16()
 - remove unuused argument in _io_ar()
 - update the commit message 
 - drop unnessary __r variables in macros read*_cpu()
 - update the comments at the top of the header.
---
Changes in V4:
 - delete inner parentheses in macros.
 - s/u<N>/uint<N>.
---
Changes in V3:
 - re-sync with linux kernel
 - update the commit message
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/io.h | 168 ++++++++++++++++++++++++++++++++
 1 file changed, 168 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/io.h

diff --git a/xen/arch/riscv/include/asm/io.h b/xen/arch/riscv/include/asm/io.h
new file mode 100644
index 0000000000..8d9535e973
--- /dev/null
+++ b/xen/arch/riscv/include/asm/io.h
@@ -0,0 +1,168 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ *  The header taken form Linux 6.4.0-rc1 and is based on
+ *  arch/riscv/include/asm/mmio.h with the following changes:
+ *   - drop forcing of endianess for read*(), write*() functions as
+ *     no matter what CPU endianness, what endianness a particular device
+ *     (and hence its MMIO region(s)) is using is entirely independent.
+ *     Hence conversion, where necessary, needs to occur at a layer up.
+ *     Another one reason to drop endianess conversion is:
+ *     https://patchwork.kernel.org/project/linux-riscv/patch/20190411115623.5749-3-hch@lst.de/
+ *     One of the answers of the author of the commit:
+ *       And we don't know if Linux will be around if that ever changes.
+ *       The point is:
+ *        a) the current RISC-V spec is LE only
+ *        b) the current linux port is LE only except for this little bit
+ *       There is no point in leaving just this bitrotting code around.  It
+ *       just confuses developers, (very very slightly) slows down compiles
+ *      and will bitrot.  It also won't be any significant help to a future
+ *       developer down the road doing a hypothetical BE RISC-V Linux port.
+ *   - drop unused argument of __io_ar() macros.
+ *   - drop "#define _raw_{read,write}{b,w,l,q} _raw_{read,write}{b,w,l,q}"
+ *     as they are unnecessary.
+ *   - Adopt the Xen code style for this header, considering that significant
+ *     changes are not anticipated in the future.
+ *     In the event of any issues, adapting them to Xen style should be easily
+ *     manageable.
+ *   - drop unnecessary __r variables in macros read*_cpu()
+ *   - update inline assembler constraints for addr argument for
+ *     __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that
+ *     *addr will be accessed.
+ *
+ * Copyright (C) 1996-2000 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ * Copyright (C) 2014 Regents of the University of California
+ * Copyright (C) 2024 Vates
+ */
+
+#ifndef _ASM_RISCV_IO_H
+#define _ASM_RISCV_IO_H
+
+#include <asm/byteorder.h>
+
+/*
+ * The RISC-V ISA doesn't yet specify how to query or modify PMAs, so we can't
+ * change the properties of memory regions.  This should be fixed by the
+ * upcoming platform spec.
+ */
+#define ioremap_nocache(addr, size) ioremap(addr, size)
+#define ioremap_wc(addr, size) ioremap(addr, size)
+#define ioremap_wt(addr, size) ioremap(addr, size)
+
+/* Generic IO read/write.  These perform native-endian accesses. */
+static inline void __raw_writeb(uint8_t val, volatile void __iomem *addr)
+{
+    asm volatile ( "sb %1, %0"
+                   : "=m" (*(volatile uint8_t __force *)addr) : "r" (val) );
+}
+
+static inline void __raw_writew(uint16_t val, volatile void __iomem *addr)
+{
+    asm volatile ( "sh %1, %0"
+                   : "=m" (*(volatile uint16_t __force *)addr) : "r" (val) );
+}
+
+static inline void __raw_writel(uint32_t val, volatile void __iomem *addr)
+{
+    asm volatile ( "sw %1, %0"
+                   : "=m" (*(volatile uint32_t __force *)addr) : "r" (val) );
+}
+
+static inline void __raw_writeq(uint64_t val, volatile void __iomem *addr)
+{
+#ifdef CONFIG_RISCV_32
+    BUILD_BUG_ON("unimplemented");
+#else
+    asm volatile ( "sd %1, %0"
+                   : "=m" (*(volatile uint64_t __force *)addr) : "r" (val) );
+#endif
+}
+
+static inline uint8_t __raw_readb(const volatile void __iomem *addr)
+{
+    uint8_t val;
+
+    asm volatile ( "lb %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint8_t __force *)addr) );
+    return val;
+}
+
+static inline uint16_t __raw_readw(const volatile void __iomem *addr)
+{
+    uint16_t val;
+
+    asm volatile ( "lh %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint16_t __force *)addr) );
+    return val;
+}
+
+static inline uint32_t __raw_readl(const volatile void __iomem *addr)
+{
+    uint32_t val;
+
+    asm volatile ( "lw %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint32_t __force *)addr) );
+    return val;
+}
+
+static inline uint64_t __raw_readq(const volatile void __iomem *addr)
+{
+    uint64_t val;
+
+#ifdef CONFIG_RISCV_32
+    BUILD_BUG_ON("unimplemented");
+#else
+    asm volatile ( "ld %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint64_t __force *)addr) );
+#endif
+
+    return val;
+}
+
+
+/*
+ * Unordered I/O memory access primitives.  These are even more relaxed than
+ * the relaxed versions, as they don't even order accesses between successive
+ * operations to the I/O regions.
+ */
+#define readb_cpu(c)        __raw_readb(c)
+#define readw_cpu(c)        __raw_readw(c)
+#define readl_cpu(c)        __raw_readl(c)
+#define readq_cpu(c)        __raw_readq(c)
+
+#define writeb_cpu(v, c)    __raw_writeb(v, c)
+#define writew_cpu(v, c)    __raw_writew(v, c)
+#define writel_cpu(v, c)    __raw_writel(v, c)
+#define writeq_cpu(v, c)    __raw_writeq(v, c)
+
+/*
+ * I/O memory access primitives. Reads are ordered relative to any
+ * following Normal memory access. Writes are ordered relative to any prior
+ * Normal memory access.  The memory barriers here are necessary as RISC-V
+ * doesn't define any ordering between the memory space and the I/O space.
+ */
+#define __io_br()   do { } while (0)
+#define __io_ar()   asm volatile ( "fence i,r" : : : "memory" );
+#define __io_bw()   asm volatile ( "fence w,o" : : : "memory" );
+#define __io_aw()   do { } while (0)
+
+#define readb(c) ({ uint8_t  v_; __io_br(); v_ = readb_cpu(c); __io_ar(); v_; })
+#define readw(c) ({ uint16_t v_; __io_br(); v_ = readw_cpu(c); __io_ar(); v_; })
+#define readl(c) ({ uint32_t v_; __io_br(); v_ = readl_cpu(c); __io_ar(); v_; })
+#define readq(c) ({ uint64_t v_; __io_br(); v_ = readq_cpu(c); __io_ar(); v_; })
+
+#define writeb(v, c)    ({ __io_bw(); writeb_cpu(v, c); __io_aw(); })
+#define writew(v, c)    ({ __io_bw(); writew_cpu(v, c); __io_aw(); })
+#define writel(v, c)    ({ __io_bw(); writel_cpu(v, c); __io_aw(); })
+#define writeq(v, c)    ({ __io_bw(); writeq_cpu(v, c); __io_aw(); })
+
+#endif /* _ASM_RISCV_IO_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700402.1093544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjM-0001cz-Jk; Wed, 03 Apr 2024 10:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700402.1093544; Wed, 03 Apr 2024 10:20:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjM-0001c6-AQ; Wed, 03 Apr 2024 10:20:32 +0000
Received: by outflank-mailman (input) for mailman id 700402;
 Wed, 03 Apr 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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjK-0007Ql-Qe
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:30 +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 cc394784-f1a3-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:20:30 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-513d3746950so7685101e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:30 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03: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: cc394784-f1a3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139629; x=1712744429; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wmYB0DAUci3LPNlemnoUPoXVgG+/ldfQH/ieZKbZO8s=;
        b=Y0mJ3b4qsqkfmy1Qqoo2uvSlbVwEM+/gPdIV1Uyk9Jx4yxzEzztiZxeHq/BItTbby+
         FyvW4uJG6yd7Gw6/F9PMvwvG66nMFhrF5Gfzf8BIJ1iNDaF/ZEp9lt7Vg3xtGQNryqh5
         BsoYAS1qvqIlawcHPDBWKmFkgnVCNWy7JZJ6sAW18fKxCZ05/T6UMaRRE4HFtaqNX1hb
         dPOmybayuY6Q5/RTjHTPN7bzH+yimoCcV4Hmob4uI9SOwvUKPgT+njleu693siUKqnJb
         1YThq8wX5wfg/Tuh0QPMIcIiDtssxaJEBoyoOqkjobyl3wZ2xtzBG7/N7ZNsGvQ30nob
         x+ig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139629; x=1712744429;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wmYB0DAUci3LPNlemnoUPoXVgG+/ldfQH/ieZKbZO8s=;
        b=L1R3Zt+dc4PuQvmstKj/aLEzs+BlE6neCb25LsqLjkdBScf3Jrv6QOtegxnmknHt64
         9FtT3gTNqJtFYd8z9adPUNWDbGRXkhWVqyTxc/78A/55W0sag04ns+N6Sg98SRM7L1bh
         hcu5l6GGXgorpxvd1fDvqjrFJiJh0pXrnTtEOXDCfqetHXBmxe7eJ4dgxMNWPAm/n5HU
         yDbc8ChtSsJ08PigSKc4tr+DNG7YxrrS6T7KpZ3I5qxim13Ju1xYtGPD+mdcS8F2u+Ts
         VN4TQyxRxGJu3PceRXQ7pKmU/fNWVueJsOJYW99woSmQ8NOeH7HsautrX0pjqQiJrEhh
         /I5Q==
X-Gm-Message-State: AOJu0YxExApniK44BGVoJVfK9si0UHLZFWv9BTMkYNnt8qnetPKGs5BI
	QfUwtT5GkrKslMu35GOV6hSogOwcMNP4sM9u5OxeXe2NdWuYQnsn6yM/JHov
X-Google-Smtp-Source: AGHT+IGRuDpNNNUxCjV9t0vsUjouqbQHHG5MdprMpi2zeK7fm+ekTpdZexWqrbIGiM7eRnnMB7jHQA==
X-Received: by 2002:ac2:558a:0:b0:513:9b96:a948 with SMTP id v10-20020ac2558a000000b005139b96a948mr9324598lfg.6.1712139629285;
        Wed, 03 Apr 2024 03:20:29 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v7 11/19] xen/riscv: introduce monitor.h
Date: Wed,  3 Apr 2024 12:20:04 +0200
Message-ID: <3b133ae88d44079570c936c9c7fffba8349b1710.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4-V7:
 - Nothing changed. Only rebase.
---
Changes in V3:
 - new patch.
---
 xen/arch/riscv/include/asm/monitor.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/monitor.h

diff --git a/xen/arch/riscv/include/asm/monitor.h b/xen/arch/riscv/include/asm/monitor.h
new file mode 100644
index 0000000000..f4fe2c0690
--- /dev/null
+++ b/xen/arch/riscv/include/asm/monitor.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_RISCV_MONITOR_H__
+#define __ASM_RISCV_MONITOR_H__
+
+#include <xen/bug.h>
+
+#include <asm-generic/monitor.h>
+
+struct domain;
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+#endif /* __ASM_RISCV_MONITOR_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700403.1093549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjN-0001jZ-33; Wed, 03 Apr 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 700403.1093549; Wed, 03 Apr 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 1rrxjM-0001hO-RH; Wed, 03 Apr 2024 10:20:32 +0000
Received: by outflank-mailman (input) for mailman id 700403;
 Wed, 03 Apr 2024 10:20:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjL-0007Ob-AH
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:31 +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 cb7c8316-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:29 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-515c50dc2afso6881128e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:29 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: cb7c8316-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139628; x=1712744428; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IduMOn85G631qHxkqC5cntjzUMFTqSt1XHD+ZpmnC9U=;
        b=MP/JzFEkUuovP3HJIfrexNI8eyn3exRogEImncJcgvgPZyx3YYPusFI+WNMi9Pz01A
         wdoujvD6hbaOSE+kVlPfvTL1lDKvLZnnKWiXg2mdvVTkG6/VhL5uWlpZ7UUPF+mt3Cuw
         P6MJpU9WyXyTM+CUQ9wP2gvwU7g5t61DsTs1JsMUZZQtQ9uVOi9jqjAvVaE0Dm/VZyUd
         7dbE6EnOZJhRHwGiwWO802ezXhRy5Wl+UscMeI3ps6TGF1eSQJQxmoHROgzp2fI+hAtv
         ZsGZqsROU1FgxjrGEIg/se4XKF8TfIt4hVpt7blOvfQ0/jSaaBrIxSfB+je3qHirFwli
         lvkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139628; x=1712744428;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IduMOn85G631qHxkqC5cntjzUMFTqSt1XHD+ZpmnC9U=;
        b=atG7Og+dkt2AMqpF58TQXaz2beLZla+Rms0AboDJ1iSz7Onf6a0be9HIh0Qftv3Rwr
         LZM/P4OcCeY560IfTBgqzNqqqHCnEZIpqlxMOAQXKCyI1bQDabGodk5Q5AE6VyilDDHJ
         K8mvqZthb+ue0WxCDVdUZeZSsuKx+h8s9AluZQnNOT/NpzBPQrZg+o/niLHS/0On8gQY
         u8khE/DRnDmlEt4MFDgSFH4plyIuDO7TuPwPV0g877Pljp2KUGQgD/EweA1LWwOMtZKq
         MBsg7hIdN3vumg3HHpG42yzQU97wt8dmc9eFTQqH/9f/KxdCulPXUGbHrqRmd8F1vBA8
         1zBA==
X-Gm-Message-State: AOJu0YwgmzxjBQs1UwOPQLkwnxumJ0CT1DhlAyx5mQhx9Tv1NLFO9OXy
	EKXlR6nZrz8mUrpouZlR+GgspPTU6by0cwMFt0bgnC5J4Iv6a6t6Pu731Cv2
X-Google-Smtp-Source: AGHT+IEwtAkc2oSAR6LMhBD4cDjvS61RUkedsPMNm1jEf2O4Jmn3T3N3KjKWQyH7IYpV23hf5VHG/Q==
X-Received: by 2002:ac2:504f:0:b0:513:2329:4308 with SMTP id a15-20020ac2504f000000b0051323294308mr9803473lfm.14.1712139627780;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 10/19] xen/riscv: introduce atomic.h
Date: Wed,  3 Apr 2024 12:20:03 +0200
Message-ID: <6a6c4ef8663d9da8c8a2aba4baf0286f31566edf.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Initially the patch was introduced by Bobby, who takes the header from
Linux kernel.

The following changes were done on top of Bobby's changes:
 - atomic##prefix##_*xchg_*(atomic##prefix##_t *v, c_t n) were updated
   to use__*xchg_generic()
 - drop casts in write_atomic() as they are unnecessary
 - drop introduction of WRITE_ONCE() and READ_ONCE().
   Xen provides ACCESS_ONCE()
 - remove zero-length array access in read_atomic()
 - drop defines similar to pattern:
   #define atomic_add_return_relaxed   atomic_add_return_relaxed
 - move not RISC-V specific functions to asm-generic/atomics-ops.h
 - drop  atomic##prefix##_{cmp}xchg_{release, aquire, release}() as they
   are not used in Xen.
 - update the defintion of  atomic##prefix##_{cmp}xchg according to
   {cmp}xchg() implementation in Xen.

The current implementation is the same with 8e86f0b409a4
("arm64: atomics: fix use of acquire + release for full barrier
semantics") [1].
RISC-V could combine acquire and release into the SC
instructions and it could reduce a fence instruction to gain better
performance. Here is related description from RISC-V ISA 10.2
Load-Reserved/Store-Conditional Instructions:

 - .aq:   The LR/SC sequence can be given acquire semantics by
          setting the aq bit on the LR instruction.
 - .rl:   The LR/SC sequence can be given release semantics by
              setting the rl bit on the SC instruction.
 - .aqrl: Setting the aq bit on the LR instruction, and setting
          both the aq and the rl bit on the SC instruction makes
          the LR/SC sequence sequentially consistent, meaning that
          it cannot be reordered with earlier or later memory
          operations from the same hart.

 Software should not set the rl bit on an LR instruction unless
 the aq bit is also set, nor should software set the aq bit on an
 SC instruction unless the rl bit is also set. LR.rl and SC.aq
 instructions are not guaranteed to provide any stronger ordering
 than those with both bits clear, but may result in lower
 performance.

Also, I way of transforming ".rl + full barrier" to ".aqrl" was approved
by (the author of the RVWMO spec) [2]

[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.deacon@arm.com/
[2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444fd8e@nvidia.com/

Signed-off-by: Bobby Eshleman <bobbyeshleman@gmail.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - drop relaxed version of atomic ops as they are not used.
 - update the commit message
 - code style fixes
 - refactor functions write_atomic(), add_sized() to be able to use #ifdef CONFIG_RISCV_32 ... #endif
   for {write,read}q().
 - update ATOMIC_OPS to receive unary operator.
 - update the header on top of atomic-ops.h.
 - some minor movements of function inside atomic-ops.h header.
---
Changes in V6:
 - drop atomic##prefix##_{cmp}xchg_{release, aquire, relaxed} as they aren't used
   by Xen
 - code style fixes.
 - %s/__asm__ __volatile__/asm volatile
 - add explanational comments.
 - move inclusion of "#include <asm-generic/atomic-ops.h>" further down in atomic.h
   header.
---
Changes in V5:
 - fence.h changes were moved to separate patch as patches related to io.h and cmpxchg.h,
   which are dependecies for this patch, also needed changes in fence.h
 - remove accessing of zero-length array
 - drops cast in write_atomic()
 - drop introduction of WRITE_ONCE() and READ_ONCE().
 - drop defines similar to pattern #define atomic_add_return_relaxed   atomic_add_return_relaxed
 - Xen code style fixes
 - move not RISC-V specific functions to asm-generic/atomics-ops.h
---
Changes in V4:
 - do changes related to the updates of [PATCH v3 13/34] xen/riscv: introduce cmpxchg.h
 - drop casts in read_atomic_size(), write_atomic(), add_sized()
 - tabs -> spaces
 - drop #ifdef CONFIG_SMP ... #endif in fence.ha as it is simpler to handle NR_CPUS=1
   the same as NR_CPUS>1 with accepting less than ideal performance.
---
Changes in V3:
  - update the commit message
  - add SPDX for fence.h
  - code style fixes
  - Remove /* TODO: ... */ for add_sized macros. It looks correct to me.
  - re-order the patch
  - merge to this patch fence.h
---
Changes in V2:
 - Change an author of commit. I got this header from Bobby's old repo.
---
 xen/arch/riscv/include/asm/atomic.h  | 261 +++++++++++++++++++++++++++
 xen/include/asm-generic/atomic-ops.h |  97 ++++++++++
 2 files changed, 358 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/atomic.h
 create mode 100644 xen/include/asm-generic/atomic-ops.h

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
new file mode 100644
index 0000000000..51574e7ce8
--- /dev/null
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -0,0 +1,261 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Taken and modified from Linux.
+ *
+ * The following changes were done:
+ * - * atomic##prefix##_*xchg_*(atomic##prefix##_t *v, c_t n) were updated
+ *     to use__*xchg_generic()
+ * - drop casts in write_atomic() as they are unnecessary
+ * - drop introduction of WRITE_ONCE() and READ_ONCE().
+ *   Xen provides ACCESS_ONCE()
+ * - remove zero-length array access in read_atomic()
+ * - drop defines similar to pattern
+ *   #define atomic_add_return_relaxed   atomic_add_return_relaxed
+ * - move not RISC-V specific functions to asm-generic/atomics-ops.h
+ * 
+ * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
+ * Copyright (C) 2012 Regents of the University of California
+ * Copyright (C) 2017 SiFive
+ * Copyright (C) 2024 Vates SAS
+ */
+
+#ifndef _ASM_RISCV_ATOMIC_H
+#define _ASM_RISCV_ATOMIC_H
+
+#include <xen/atomic.h>
+
+#include <asm/cmpxchg.h>
+#include <asm/fence.h>
+#include <asm/io.h>
+#include <asm/system.h>
+
+void __bad_atomic_size(void);
+
+/*
+ * 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;
+#ifndef CONFIG_RISCV_32
+    case 8: *(uint32_t *)res = readq(p); break;
+#endif
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define read_atomic(p) ({                                   \
+    union { typeof(*(p)) val; char c[sizeof(*(p))]; } x_;   \
+    read_atomic_size(p, x_.c, sizeof(*(p)));                \
+    x_.val;                                                 \
+})
+
+static always_inline void _write_atomic(volatile void *p,
+                                       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;
+#ifndef CONFIG_RISCV_32
+    case 8: writeq(x, p); break;
+#endif
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define write_atomic(p, x)                              \
+({                                                      \
+    typeof(*(p)) x_ = (x);                              \
+    _write_atomic((p), x_, sizeof(*(p)));               \
+    x_;                                                 \
+})
+
+static always_inline void _add_sized(volatile void *p,
+                                     unsigned long x, unsigned int size)
+{
+    switch ( size )
+    {
+    case 1: writeb(read_atomic((volatile uint8_t *)p) + x, p); break;
+    case 2: writew(read_atomic((volatile uint16_t *)p) + x, p); break;
+    case 4: writel(read_atomic((volatile uint32_t *)p) + x, p); break;
+#ifndef CONFIG_RISCV_32
+    case 8: writeq(read_atomic((volatile uint64_t *)p) + x, p); break;
+#endif
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define add_sized(p, x)                                 \
+({                                                      \
+    typeof(*(p)) x_ = (x);                              \
+    _add_sized((p), x_, sizeof(*(p)));                  \
+})
+
+#define __atomic_acquire_fence() \
+    asm volatile ( RISCV_ACQUIRE_BARRIER "" ::: "memory" )
+
+#define __atomic_release_fence() \
+    asm volatile ( RISCV_RELEASE_BARRIER "" ::: "memory" )
+
+/*
+ * First, the atomic ops that have no ordering constraints and therefor don't
+ * have the AQ or RL bits set.  These don't return anything, so there's only
+ * one version to worry about.
+ */
+#define ATOMIC_OP(op, asm_op, unary_op, asm_type, c_type, prefix)  \
+static inline                                               \
+void atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
+{                                                           \
+    asm volatile (                                          \
+        "   amo" #asm_op "." #asm_type " zero, %1, %0"      \
+        : "+A" (v->counter)                                 \
+        : "r" (unary_op i)                                  \
+        : "memory" );                                       \
+}                                                           \
+
+/*
+ * Only CONFIG_GENERIC_ATOMIC64=y was ported to Xen that is the reason why
+ * last argument for ATOMIC_OP isn't used.
+ */
+#define ATOMIC_OPS(op, asm_op, unary_op)                    \
+        ATOMIC_OP (op, asm_op, unary_op, w, int,   )
+
+ATOMIC_OPS(add, add, +)
+ATOMIC_OPS(sub, add, -)
+ATOMIC_OPS(and, and, +)
+ATOMIC_OPS( or,  or, +)
+ATOMIC_OPS(xor, xor, +)
+
+#undef ATOMIC_OP
+#undef ATOMIC_OPS
+
+#include <asm-generic/atomic-ops.h>
+
+/*
+ * Atomic ops that have ordered variant.
+ * There's two flavors of these: the arithmatic ops have both fetch and return
+ * versions, while the logical ops only have fetch versions.
+ */
+#define ATOMIC_FETCH_OP(op, asm_op, unary_op, asm_type, c_type, prefix) \
+static inline                                                       \
+c_type atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v) \
+{                                                                   \
+    register c_type ret;                                            \
+    asm volatile (                                                  \
+        "   amo" #asm_op "." #asm_type ".aqrl  %1, %2, %0"          \
+        : "+A" (v->counter), "=r" (ret)                             \
+        : "r" (unary_op i)                                          \
+        : "memory" );                                               \
+    return ret;                                                     \
+}
+
+#define ATOMIC_OP_RETURN(op, asm_op, c_op, unary_op, asm_type, c_type, prefix) \
+static inline                                                           \
+c_type atomic##prefix##_##op##_return(c_type i, atomic##prefix##_t *v)  \
+{                                                                       \
+        return atomic##prefix##_fetch_##op(i, v) c_op (unary_op i);     \
+}
+
+/*
+ * Only CONFIG_GENERIC_ATOMIC64=y was ported to Xen that is the reason why
+ * last argument of ATOMIC_FETCH_OP, ATOMIC_OP_RETURN isn't used.
+ */
+#define ATOMIC_OPS(op, asm_op, c_op, unary_op)                          \
+        ATOMIC_FETCH_OP( op, asm_op,       unary_op, w, int,   )        \
+        ATOMIC_OP_RETURN(op, asm_op, c_op, unary_op, w, int,   )
+
+ATOMIC_OPS(add, add, +, +)
+ATOMIC_OPS(sub, add, +, -)
+
+#undef ATOMIC_OPS
+
+#define ATOMIC_OPS(op, asm_op, unary_op) \
+        ATOMIC_FETCH_OP(op, asm_op, unary_op, w, int,   )
+
+ATOMIC_OPS(and, and, +)
+ATOMIC_OPS( or,  or, +)
+ATOMIC_OPS(xor, xor, +)
+
+#undef ATOMIC_OPS
+
+#undef ATOMIC_FETCH_OP
+#undef ATOMIC_OP_RETURN
+
+/* This is required to provide a full barrier on success. */
+static inline int atomic_add_unless(atomic_t *v, int a, int u)
+{
+    int prev, rc;
+
+    asm volatile (
+        "0: lr.w     %[p],  %[c]\n"
+        "   beq      %[p],  %[u], 1f\n"
+        "   add      %[rc], %[p], %[a]\n"
+        "   sc.w.aqrl  %[rc], %[rc], %[c]\n"
+        "   bnez     %[rc], 0b\n"
+        "1:\n"
+        : [p] "=&r" (prev), [rc] "=&r" (rc), [c] "+A" (v->counter)
+        : [a] "r" (a), [u] "r" (u)
+        : "memory");
+    return prev;
+}
+
+static inline int atomic_sub_if_positive(atomic_t *v, int offset)
+{
+    int prev, rc;
+
+    asm volatile (
+        "0: lr.w     %[p],  %[c]\n"
+        "   sub      %[rc], %[p], %[o]\n"
+        "   bltz     %[rc], 1f\n"
+        "   sc.w.aqrl  %[rc], %[rc], %[c]\n"
+        "   bnez     %[rc], 0b\n"
+        "1:\n"
+        : [p] "=&r" (prev), [rc] "=&r" (rc), [c] "+A" (v->counter)
+        : [o] "r" (offset)
+        : "memory" );
+    return prev - offset;
+}
+
+/*
+ * atomic_{cmp,}xchg is required to have exactly the same ordering semantics as
+ * {cmp,}xchg and the operations that return.
+ */
+#define ATOMIC_OP(c_t, prefix, size)                            \
+static inline                                                   \
+c_t atomic##prefix##_xchg(atomic##prefix##_t *v, c_t n)         \
+{                                                               \
+    return __xchg(&v->counter, n, size);                        \
+}                                                               \
+static inline                                                   \
+c_t atomic##prefix##_cmpxchg(atomic##prefix##_t *v, c_t o, c_t n) \
+{                                                               \
+    return __cmpxchg(&v->counter, o, n, size);                  \
+}
+
+#define ATOMIC_OPS() \
+    ATOMIC_OP(int,   , 4)
+
+ATOMIC_OPS()
+
+#undef ATOMIC_OPS
+#undef ATOMIC_OP
+
+#endif /* _ASM_RISCV_ATOMIC_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-generic/atomic-ops.h b/xen/include/asm-generic/atomic-ops.h
new file mode 100644
index 0000000000..98dd907942
--- /dev/null
+++ b/xen/include/asm-generic/atomic-ops.h
@@ -0,0 +1,97 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * The header provides default implementations for every xen/atomic.h-provided
+ * forward inline declaration that can be synthesized from other atomic
+ * functions or being created from scratch.
+ */
+#ifndef _ASM_GENERIC_ATOMIC_OPS_H_
+#define _ASM_GENERIC_ATOMIC_OPS_H_
+
+#include <xen/atomic.h>
+#include <xen/lib.h>
+
+#ifndef ATOMIC_READ
+static inline int atomic_read(const atomic_t *v)
+{
+    return ACCESS_ONCE(v->counter);
+}
+#endif
+
+#ifndef _ATOMIC_READ
+static inline int _atomic_read(atomic_t v)
+{
+    return v.counter;
+}
+#endif
+
+#ifndef ATOMIC_SET
+static inline void atomic_set(atomic_t *v, int i)
+{
+    ACCESS_ONCE(v->counter) = i;
+}
+#endif
+
+#ifndef _ATOMIC_SET
+static inline void _atomic_set(atomic_t *v, int i)
+{
+    v->counter = i;
+}
+#endif
+
+#ifndef ATOMIC_SUB_AND_TEST
+static inline int atomic_sub_and_test(int i, atomic_t *v)
+{
+    return atomic_sub_return(i, v) == 0;
+}
+#endif
+
+#ifndef ATOMIC_INC_AND_TEST
+static inline int atomic_inc_and_test(atomic_t *v)
+{
+    return atomic_add_return(1, v) == 0;
+}
+#endif
+
+#ifndef ATOMIC_INC
+static inline void atomic_inc(atomic_t *v)
+{
+    atomic_add(1, v);
+}
+#endif
+
+#ifndef ATOMIC_INC_RETURN
+static inline int atomic_inc_return(atomic_t *v)
+{
+    return atomic_add_return(1, v);
+}
+#endif
+
+#ifndef ATOMIC_DEC
+static inline void atomic_dec(atomic_t *v)
+{
+    atomic_sub(1, v);
+}
+#endif
+
+#ifndef ATOMIC_DEC_RETURN
+static inline int atomic_dec_return(atomic_t *v)
+{
+    return atomic_sub_return(1, v);
+}
+#endif
+
+#ifndef ATOMIC_DEC_AND_TEST
+static inline int atomic_dec_and_test(atomic_t *v)
+{
+    return atomic_sub_return(1, v) == 0;
+}
+#endif
+
+#ifndef ATOMIC_ADD_NEGATIVE
+static inline int atomic_add_negative(int i, atomic_t *v)
+{
+    return atomic_add_return(i, v) < 0;
+}
+#endif
+
+#endif /* _ASM_GENERIC_ATOMIC_OPS_H_ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700404.1093561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjO-0002Bf-Sq; Wed, 03 Apr 2024 10:20:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700404.1093561; Wed, 03 Apr 2024 10: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 1rrxjO-0002Ad-JP; Wed, 03 Apr 2024 10:20:34 +0000
Received: by outflank-mailman (input) for mailman id 700404;
 Wed, 03 Apr 2024 10: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjN-0007Ob-CL
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:33 +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 cd16f016-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:31 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-515a68d45faso7029540e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:31 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 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: cd16f016-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139631; x=1712744431; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R0ZJ8zwoyTFUoE2+lGEttRsQ4y0+B4y5V6UHVOCeBNM=;
        b=Z32ISTOeWFEqVywWFES7//V1hKrIG2Q/Qzu/Qp7eBY1IdX+M0MyzxZGsXrvuQICaOc
         Bf4ogmKt3Dou6gL8UigVCe4K4fS+q+en66ny+kWv43+FygNz1+d+X7Ioqf8XSRwcjwsA
         oGZh2cPqsJDCArmIujhB8y3sGp82b0W3PpAIlmJKxLGaVV6XJ4wP+RAQM4LiOFHGXusE
         nJ+Iq02WWP1ZkfrC45KdztbRuhOsRcAC0iOwnkBK1IMndOXjHA0AziJY1VUQInW/9Uje
         ZGveYe60qqhJDmJgu7tmTd3UbmV68SLoAqiAZmWdCnMzBqmImw7civSLTLDln9444xgp
         8xJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139631; x=1712744431;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=R0ZJ8zwoyTFUoE2+lGEttRsQ4y0+B4y5V6UHVOCeBNM=;
        b=EqMA+XjhcTq03dnNM7L4F6ZRMGhWwFVFtRMcZXbgnjob7gyc32m+jnihl4sZr2lneD
         uwq/a1ZwroT9uvQPVNFks0+WwooOt/Btpn8h7O8S+TknFCDlqhaAfQybgfDIIJB63d7l
         uvUnRROtjUcIvqpOfhV1T8qBxbgiUT9/uvfkAzZI39fl23r0ixgxjQCqErYy/8CTxWro
         Qf72oZidmbxPgrc5P2c+YDfuTsh391+mNodpCJ0OQbOKcHRGSkv1UyvRf8z10oN0/ivl
         GD52mJCJCmpH1cemIHxqqMgJqI8aCQ0Bs3Ud2dq6o1+QS6YjVk/vjq8oJk/4mnTrE2ZG
         k4eg==
X-Gm-Message-State: AOJu0Yx2nsKN83EGAme1pHQcxThzK9nW1lpvMRGZvzpa74l+t51spNez
	CU8aatzZQVndLRs6/ooXf/Eg5RGZ6IgGDKC16fg3BZin8qV3tlFZ5ZrSa9As
X-Google-Smtp-Source: AGHT+IE7Ub6BDdB1Us7cIdBCZcT7/FQFmVwANUBGDPIOAZGlpciMwvVvmZVtJ7E32sYwtapRYnccEA==
X-Received: by 2002:a05:6512:741:b0:515:c8fc:9d98 with SMTP id c1-20020a056512074100b00515c8fc9d98mr8994765lfs.20.1712139630636;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 12/19] xen/riscv: add definition of __read_mostly
Date: Wed,  3 Apr 2024 12:20:05 +0200
Message-ID: <006adb514b74c8f1ee35e64e9d29ffeb6337abb0.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The definition of __read_mostly should be removed in:
https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com/

The patch introduces it in arch-specific header to not
block enabling of full Xen build for RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
- [PATCH] move __read_mostly to xen/cache.h  [2]

Right now, the patch series doesn't have a direct dependency on [2] and it
provides __read_mostly in the patch:
    [PATCH v3 26/34] xen/riscv: add definition of __read_mostly
However, it will be dropped as soon as [2] is merged or at least when the
final version of the patch [2] is provided.

[2] https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com/
---
Changes in V4-V7:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/cache.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/riscv/include/asm/cache.h b/xen/arch/riscv/include/asm/cache.h
index 69573eb051..94bd94db53 100644
--- a/xen/arch/riscv/include/asm/cache.h
+++ b/xen/arch/riscv/include/asm/cache.h
@@ -3,4 +3,6 @@
 #ifndef _ASM_RISCV_CACHE_H
 #define _ASM_RISCV_CACHE_H
 
+#define __read_mostly __section(".data.read_mostly")
+
 #endif /* _ASM_RISCV_CACHE_H */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700405.1093572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjQ-0002dx-Pm; Wed, 03 Apr 2024 10:20:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700405.1093572; Wed, 03 Apr 2024 10: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 1rrxjQ-0002cl-GW; Wed, 03 Apr 2024 10:20:36 +0000
Received: by outflank-mailman (input) for mailman id 700405;
 Wed, 03 Apr 2024 10:20: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjP-0007Ql-05
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:35 +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 ce8cd288-f1a3-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:20:34 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-513d247e3c4so767526e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:34 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: ce8cd288-f1a3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139633; x=1712744433; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bSftsZhCkJr/O0i1OaEI1g+YsazrDoK9URrlh8oM+O4=;
        b=Up69n94YDh+W4tF7kNMdE5HsGPj9NicUGleuJyAJYpfqcM+2gw/2Y2XHEDQ+oRkVKq
         fvnU2seyaL0iqBydR5ntxlj4s+ky/cxFCJ2X1aGdslj6nVvFZ+/0iWzK0dvYoXOHKpKp
         hKqTfH95+df1Zgq5DINfm36kQsZnIlk8uTRgfkNketyAh23LPAawVdIaPw7DvIfCsd9c
         9l/ezbsCbkSKpAQNdT9fpOAV8sKCv/wGvYxWrALlxh9IhyadLizid0cS2zLoIvXvPR+Z
         MfD8Dl4OUOJI7xLQhnwwKLvS1b1mz68PAl/8cF300GIrS48m9eHlTcZKvRNxDBwTPVW5
         4/FQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139633; x=1712744433;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bSftsZhCkJr/O0i1OaEI1g+YsazrDoK9URrlh8oM+O4=;
        b=a7u70DoweyBvVglMN12kejQLSwz3Qtt77DYayuc7pMSshtOM28MitOlHm/ZPzyfpIj
         DUBOtcVxasR/CG+iZDuMMP9EfmQjqK3UIco2Ztr7Gfv8KnNGvDm8xLDjNWA+EQpjCrwA
         l+sEJSCuKRH2DhIWt3SJ9Qkv8R4nuyMbj8J6PR8+i65JH3GzhTkwjPx/OXO2a9ZeDANA
         L7WJYYqRYu5mGEcO2eTUNSpLgtNxtNTX2qo9ePnpFe2KlGViLT+u0JAjFRIwWwauSoMZ
         K0jA8+L10C9ttyHNycuY/6WBUW6DEJPBBer4BGFgg41ldDsndRJKZB5Aa2Y92LuFUIRB
         +LHA==
X-Gm-Message-State: AOJu0YzEi+xEHdlfbhMV240bSsiMu7a3cNhfj0L+XQgsr8l0J6zT08pt
	n29b6GxtZ3YNsUZjnDu1tExY1hMNcCayp2MnCVYdbx3VhjL6re/63U8lkwsM
X-Google-Smtp-Source: AGHT+IG+8hsF6mMvzBi58nRAJp4wIXviv0gGNOg6EBrwSy1XCVSy6amkFLpsGhXirLj538X/O8vzEw==
X-Received: by 2002:a05:6512:b9d:b0:513:ca5c:fccc with SMTP id b29-20020a0565120b9d00b00513ca5cfcccmr975717lfv.7.1712139633536;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 15/19] xen/riscv: add minimal stuff to mm.h to build full Xen
Date: Wed,  3 Apr 2024 12:20:08 +0200
Message-ID: <5cc8cfeca2a30df06e480af454e7116d74643b1d.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V7:
 - update argument type of maddr_to_virt() function: unsigned long -> paddr_t
 - rename argument of PFN_ORDER(): pfn -> pg.
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
 - drop __virt_to_maddr() ( transform to macro ) and __maddr_to_virt ( rename to maddr_to_virt ).
 - parenthesize va in definition of vmap_to_mfn().
 - Code style fixes. 
---
Changes in V5:
 - update the comment around "struct domain *domain;" : zero -> NULL
 - fix ident. for unsigned long val;
 - put page_to_virt() and virt_to_page() close to each other.
 - drop unnessary leading underscore
 - drop a space before the comment: /* Count of uses of this frame as its current type. */
 - drop comment about a page 'not as a shadow'. it is not necessary for RISC-V
---
Changes in V4:
 - update an argument name of PFN_ORDERN macros.
 - drop pad at the end of 'struct page_info'.
 - Change message -> subject in "Changes in V3"
 - delete duplicated macros from riscv/mm.h
 - fix identation in struct page_info
 - align comment for PGC_ macros
 - update definitions of domain_set_alloc_bitsize() and domain_clamp_alloc_bitsize()
 - drop unnessary comments.
 - s/BUG/BUG_ON("...")
 - define __virt_to_maddr, __maddr_to_virt as stubs
 - add inclusion of xen/mm-frame.h for mfn_x and others
 - include "xen/mm.h" instead of "asm/mm.h" to fix compilation issues:
	 In file included from arch/riscv/setup.c:7:
	./arch/riscv/include/asm/mm.h:60:28: error: field 'list' has incomplete type
	   60 |     struct page_list_entry list;
	      |                            ^~~~
	./arch/riscv/include/asm/mm.h:81:43: error: 'MAX_ORDER' undeclared here (not in a function)
	   81 |                 unsigned long first_dirty:MAX_ORDER + 1;
	      |                                           ^~~~~~~~~
	./arch/riscv/include/asm/mm.h:81:31: error: bit-field 'first_dirty' width not an integer constant
	   81 |                 unsigned long first_dirty:MAX_ORDER + 1;
 - Define __virt_to_mfn() and __mfn_to_virt() using maddr_to_mfn() and mfn_to_maddr().
---
Changes in V3:
 - update the commit title
 - introduce DIRECTMAP_VIRT_START.
 - drop changes related pfn_to_paddr() and paddr_to_pfn as they were remvoe in
   [PATCH v2 32/39] xen/riscv: add minimal stuff to asm/page.h to build full Xen
 - code style fixes.
 - drop get_page_nr  and put_page_nr as they don't need for time being
 - drop CONFIG_STATIC_MEMORY related things
 - code style fixes
---
Changes in V2:
 - define stub for arch_get_dma_bitsize(void)
---
 xen/arch/riscv/include/asm/mm.h | 240 ++++++++++++++++++++++++++++++++
 xen/arch/riscv/mm.c             |   2 +-
 xen/arch/riscv/setup.c          |   2 +-
 3 files changed, 242 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 07c7a0abba..cc4a07a71c 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -3,11 +3,246 @@
 #ifndef _ASM_RISCV_MM_H
 #define _ASM_RISCV_MM_H
 
+#include <public/xen.h>
+#include <xen/bug.h>
+#include <xen/mm-frame.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
+
 #include <asm/page-bits.h>
 
 #define pfn_to_paddr(pfn) ((paddr_t)(pfn) << PAGE_SHIFT)
 #define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
 
+#define paddr_to_pdx(pa)    mfn_to_pdx(maddr_to_mfn(pa))
+#define gfn_to_gaddr(gfn)   pfn_to_paddr(gfn_x(gfn))
+#define gaddr_to_gfn(ga)    _gfn(paddr_to_pfn(ga))
+#define mfn_to_maddr(mfn)   pfn_to_paddr(mfn_x(mfn))
+#define maddr_to_mfn(ma)    _mfn(paddr_to_pfn(ma))
+#define vmap_to_mfn(va)     maddr_to_mfn(virt_to_maddr((vaddr_t)(va)))
+#define vmap_to_page(va)    mfn_to_page(vmap_to_mfn(va))
+
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+#define virt_to_maddr(va) ({ BUG_ON("unimplemented"); 0; })
+
+/* Convert between Xen-heap virtual addresses and machine frame numbers. */
+#define __virt_to_mfn(va)  mfn_x(maddr_to_mfn(virt_to_maddr(va)))
+#define __mfn_to_virt(mfn) maddr_to_virt(mfn_to_maddr(_mfn(mfn)))
+
+/*
+ * We define non-underscored wrappers for above conversion functions.
+ * These are overriden in various source files while underscored version
+ * remain intact.
+ */
+#define virt_to_mfn(va)     __virt_to_mfn(va)
+#define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
+
+struct page_info
+{
+    /* Each frame can be threaded onto a doubly-linked list. */
+    struct page_list_entry list;
+
+    /* Reference count and various PGC_xxx flags and fields. */
+    unsigned long count_info;
+
+    /* Context-dependent fields follow... */
+    union {
+        /* Page is in use: ((count_info & PGC_count_mask) != 0). */
+        struct {
+            /* Type reference count and various PGT_xxx flags and fields. */
+            unsigned long type_info;
+        } inuse;
+
+        /* Page is on a free list: ((count_info & PGC_count_mask) == 0). */
+        union {
+            struct {
+                /*
+                 * Index of the first *possibly* unscrubbed page in the buddy.
+                 * One more bit than maximum possible order to accommodate
+                 * INVALID_DIRTY_IDX.
+                 */
+#define INVALID_DIRTY_IDX ((1UL << (MAX_ORDER + 1)) - 1)
+                unsigned long first_dirty:MAX_ORDER + 1;
+
+                /* Do TLBs need flushing for safety before next page use? */
+                bool need_tlbflush:1;
+
+#define BUDDY_NOT_SCRUBBING    0
+#define BUDDY_SCRUBBING        1
+#define BUDDY_SCRUB_ABORT      2
+                unsigned long scrub_state:2;
+            };
+
+            unsigned long val;
+        } free;
+    } u;
+
+    union {
+        /* Page is in use */
+        struct {
+            /* Owner of this page (NULL if page is anonymous). */
+            struct domain *domain;
+        } inuse;
+
+        /* Page is on a free list. */
+        struct {
+            /* Order-size of the free chunk this page is the head of. */
+            unsigned int order;
+        } free;
+    } v;
+
+    union {
+        /*
+         * Timestamp from 'TLB clock', used to avoid extra safety flushes.
+         * Only valid for: a) free pages, and b) pages with zero type count
+         */
+        uint32_t tlbflush_timestamp;
+    };
+};
+
+#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
+
+/* PDX of the first page in the frame table. */
+extern unsigned long frametable_base_pdx;
+
+/* Convert between machine frame numbers and page-info structures. */
+#define mfn_to_page(mfn)                                            \
+    (frame_table + (mfn_to_pdx(mfn) - frametable_base_pdx))
+#define page_to_mfn(pg)                                             \
+    pdx_to_mfn((unsigned long)((pg) - frame_table) + frametable_base_pdx)
+
+static inline void *page_to_virt(const struct page_info *pg)
+{
+    return mfn_to_virt(mfn_x(page_to_mfn(pg)));
+}
+
+/* Convert between Xen-heap virtual addresses and page-info structures. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+/*
+ * Common code requires get_page_type and put_page_type.
+ * We don't care about typecounts so we just do the minimum to make it
+ * happy.
+ */
+static inline int get_page_type(struct page_info *page, unsigned long type)
+{
+    return 1;
+}
+
+static inline void put_page_type(struct page_info *page)
+{
+}
+
+static inline void put_page_and_type(struct page_info *page)
+{
+    put_page_type(page);
+    put_page(page);
+}
+
+/*
+ * RISC-V does not have an M2P, but common code expects a handful of
+ * M2P-related defines and functions. Provide dummy versions of these.
+ */
+#define INVALID_M2P_ENTRY        (~0UL)
+#define SHARED_M2P_ENTRY         (~0UL - 1UL)
+#define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)
+
+#define set_gpfn_from_mfn(mfn, pfn) do { (void)(mfn), (void)(pfn); } while (0)
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define PDX_GROUP_SHIFT (PAGE_SHIFT + VPN_BITS)
+
+static inline unsigned long domain_get_maximum_gpfn(struct domain *d)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+static inline long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+/*
+ * On RISCV, all the RAM is currently direct mapped in Xen.
+ * Hence return always true.
+ */
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
+{
+    return true;
+}
+
+#define PG_shift(idx)   (BITS_PER_LONG - (idx))
+#define PG_mask(x, idx) (x ## UL << PG_shift(idx))
+
+#define PGT_none          PG_mask(0, 1)  /* no special uses of this page   */
+#define PGT_writable_page PG_mask(1, 1)  /* has writable mappings?         */
+#define PGT_type_mask     PG_mask(1, 1)  /* Bits 31 or 63.                 */
+
+/* Count of uses of this frame as its current type. */
+#define PGT_count_width   PG_shift(2)
+#define PGT_count_mask    ((1UL << PGT_count_width) - 1)
+
+/*
+ * Page needs to be scrubbed. Since this bit can only be set on a page that is
+ * free (i.e. in PGC_state_free) we can reuse PGC_allocated bit.
+ */
+#define _PGC_need_scrub   _PGC_allocated
+#define PGC_need_scrub    PGC_allocated
+
+/* Cleared when the owning guest 'frees' this page. */
+#define _PGC_allocated    PG_shift(1)
+#define PGC_allocated     PG_mask(1, 1)
+/* Page is Xen heap? */
+#define _PGC_xen_heap     PG_shift(2)
+#define PGC_xen_heap      PG_mask(1, 2)
+/* Page is broken? */
+#define _PGC_broken       PG_shift(7)
+#define PGC_broken        PG_mask(1, 7)
+/* Mutually-exclusive page states: { inuse, offlining, offlined, free }. */
+#define PGC_state         PG_mask(3, 9)
+#define PGC_state_inuse   PG_mask(0, 9)
+#define PGC_state_offlining PG_mask(1, 9)
+#define PGC_state_offlined PG_mask(2, 9)
+#define PGC_state_free    PG_mask(3, 9)
+#define page_state_is(pg, st) (((pg)->count_info&PGC_state) == PGC_state_##st)
+
+/* Count of references to this frame. */
+#define PGC_count_width   PG_shift(9)
+#define PGC_count_mask    ((1UL << PGC_count_width) - 1)
+
+#define _PGC_extra        PG_shift(10)
+#define PGC_extra         PG_mask(1, 10)
+
+#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
+#define is_xen_heap_mfn(mfn) \
+    (mfn_valid(mfn) && is_xen_heap_page(mfn_to_page(mfn)))
+
+#define is_xen_fixed_mfn(mfn)                                   \
+    ((mfn_to_maddr(mfn) >= virt_to_maddr((vaddr_t)_start)) &&   \
+     (mfn_to_maddr(mfn) <= virt_to_maddr((vaddr_t)_end - 1)))
+
+#define page_get_owner(p)    (p)->v.inuse.domain
+#define page_set_owner(p, d) ((p)->v.inuse.domain = (d))
+
+/* TODO: implement */
+#define mfn_valid(mfn) ({ (void)(mfn); 0; })
+
+#define domain_set_alloc_bitsize(d) ((void)(d))
+#define domain_clamp_alloc_bitsize(d, b) ((void)(d), (b))
+
+#define PFN_ORDER(pg) ((pg)->v.free.order)
+
 extern unsigned char cpu0_boot_stack[];
 
 void setup_initial_pagetables(void);
@@ -20,4 +255,9 @@ unsigned long calc_phys_offset(void);
 
 void turn_on_mmu(unsigned long ra);
 
+static inline unsigned int arch_get_dma_bitsize(void)
+{
+    return 32; /* TODO */
+}
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 053f043a3d..fe3a43be20 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -5,12 +5,12 @@
 #include <xen/init.h>
 #include <xen/kernel.h>
 #include <xen/macros.h>
+#include <xen/mm.h>
 #include <xen/pfn.h>
 
 #include <asm/early_printk.h>
 #include <asm/csr.h>
 #include <asm/current.h>
-#include <asm/mm.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 6593f601c1..98a94c4c48 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,9 +2,9 @@
 
 #include <xen/compile.h>
 #include <xen/init.h>
+#include <xen/mm.h>
 
 #include <asm/early_printk.h>
-#include <asm/mm.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:20:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700408.1093584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjV-0003Yd-Ek; Wed, 03 Apr 2024 10:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700408.1093584; Wed, 03 Apr 2024 10:20:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxjV-0003Xz-8T; Wed, 03 Apr 2024 10:20:41 +0000
Received: by outflank-mailman (input) for mailman id 700408;
 Wed, 03 Apr 2024 10: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjT-0007Ql-7i
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:39 +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 d1283e10-f1a3-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:20:38 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-513d23be0b6so6716236e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:38 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: d1283e10-f1a3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139638; x=1712744438; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1uIerHkh9A9c5ske6Nc8FntObOiI9Swd+Fna5hAuyNg=;
        b=YDTCer0kRP/4zEULk+UEXHvsD33dsJFiUf8V/d+B8usCBGapQnerUG1Tldf7oh2J7z
         Hv0xXWVpCUwURK44+9anYobL2jen3MuTV+37l6H1nOqydW06kbqu6TNvuNXf/oUAdG+h
         aZW+1UsVeT5pg/uxfX/FrXjnFT72zSCD36Te0cG9bi1vBUuMALEVCwJTQ8Aw/yOEBRFB
         gf0BOxyuN28PGx0XH7+gE16IUHSlJ92jryIkcaJsqirxbKo/NCp6Fk41cGXsEtGdCoDC
         OITZqrbMFdTBajTy6U4IkLU0Nr3JP7EdWHIG3YvPG1iTeqoZ/uwBaXDbeQKsX+25WATI
         c5AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139638; x=1712744438;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1uIerHkh9A9c5ske6Nc8FntObOiI9Swd+Fna5hAuyNg=;
        b=FIafgRyQb81XWnHkljxN6Be2ZNAte/BP/ZI1x+/FyVWueXCKS5VKkqqUVudCZto8Qc
         dbRuwZkOFEu7/53MrdSLe7dq+Ofz7+x1PRSX7lOdfRrvNmwn8U30nl6F9M4P+K7NB0hO
         O83hib7CIzBhZh/5ZctqoB/NgkFVOjhLpai9U7HrVqq+DnAvKc6u0ktOFgJtCl/WXw5t
         uFmaOcHbaX9CSR4XU/tlxF1XlQJtlfo9iXYlURa5VqxHspPKqWs235od1X3wSAC9WgYe
         9ozIJd+T39hBelHoWrb0K0qfnu/R2Bfbhj4RVgZ/2z6xMEkeMoTxcLORJ+ny5FalRg+n
         OUQw==
X-Gm-Message-State: AOJu0YzmkZ0NBOpoxqCFAEK96PK1PF2rmSq+eKJ+vey2JhE6zimRghGA
	qttp0gO/qGPhhVhd7SvdK+QokclUK61cNK5jnadh6O6/hnvQOCU9nemEafz6
X-Google-Smtp-Source: AGHT+IEdR4O/b27hy5U2edMxTsPPem8gnsj79y60DBp7900vWv8tAA5iRg5YqfgHct+76zSIpe2oAA==
X-Received: by 2002:a05:6512:e96:b0:513:cdff:d765 with SMTP id bi22-20020a0565120e9600b00513cdffd765mr16965612lfb.59.1712139637968;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 19/19] xen/README: add compiler and binutils versions for RISC-V64
Date: Wed,  3 Apr 2024 12:20:12 +0200
Message-ID: <8c1787554dd79e7beffce44d8d6467343e5ca830.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch doesn't represent a strict lower bound for GCC and
GNU Binutils; rather, these versions are specifically employed by
the Xen RISC-V container and are anticipated to undergo continuous
testing. Older GCC and GNU Binutils would work,
but this is not a guarantee.

While it is feasible to utilize Clang, it's important to note that,
currently, there is no Xen RISC-V CI job in place to verify the
seamless functioning of the build with Clang.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5-V7:
 - Nothing changed. Only rebase.
---
 Changes in V6:
  - update the message in README.
---
 Changes in V5:
  - update the commit message and README file with additional explanation about GCC and
    GNU Binutils version. Additionally, it was added information about Clang.
---
 Changes in V4:
  - Update version of GCC (12.2) and GNU Binutils (2.39) to the version
    which are in Xen's contrainter for RISC-V
---
 Changes in V3:
  - new patch
---
 README | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/README b/README
index c8a108449e..30da5ff9c0 100644
--- a/README
+++ b/README
@@ -48,6 +48,10 @@ provided by your OS distributor:
       - For ARM 64-bit:
         - GCC 5.1 or later
         - GNU Binutils 2.24 or later
+      - For RISC-V 64-bit:
+        - GCC 12.2 or later
+        - GNU Binutils 2.39 or later
+          Older GCC and GNU Binutils would work, but this is not a guarantee.
     * POSIX compatible awk
     * Development install of zlib (e.g., zlib-dev)
     * Development install of Python 2.7 or later (e.g., python-dev)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:28:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:28:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700427.1093595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxr8-0007CR-Bh; Wed, 03 Apr 2024 10:28:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700427.1093595; Wed, 03 Apr 2024 10: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 1rrxr8-0007CK-8X; Wed, 03 Apr 2024 10:28:34 +0000
Received: by outflank-mailman (input) for mailman id 700427;
 Wed, 03 Apr 2024 10:28:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrxr7-0007CE-DL
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:28:33 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb78be13-f1a4-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:28:32 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-415446af364so4508255e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:28: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
 je14-20020a05600c1f8e00b00414887d9329sm21035000wmb.46.2024.04.03.03.28.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 03:28: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: eb78be13-f1a4-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712140112; x=1712744912; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=u7KPOAEjE2s4I8YgVgYnndw4CobOf/M7qttYHxgRVlU=;
        b=NsdMQ5qpeRZCdW6XrZiDNA3bnWXPeicXN8G7diM0QR+B2Opv2kDd2PWyb4VoPjLtCB
         +LA8oSzQd2Ac5noKD+exybGIwerMOJhKFSHiRI3nlRKSinW3/YTZeC/7gIODJl/yBj2q
         QU9TSVoXLd/rE+mP88R4fghYt8ft+44XfdzzGayB636gSStol6mETLIcd9QANjvqz19B
         KlwY+jtj6cfo/PXZl+niuLR7b0dW+2C/MQ/RDbX3sWU8WTAgDMiD0cH6rGcodjBUlVZw
         I8d+r5gDfQZ6b1ju3aqa1KBHI+2SCkA2D0Lyu1gQdlZadgJCWr92w4zMl19r1Db4cn12
         rhDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712140112; x=1712744912;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=u7KPOAEjE2s4I8YgVgYnndw4CobOf/M7qttYHxgRVlU=;
        b=xRYKPk+wA/4/U2I+y3UUbFJcSLqxjm4YUk/VyJiD0eMYzAyB8LzGNyyQvZLva1AAnU
         eqmSV7ogUc6IdzTZHDTjNXbKcnDsP3P2i5uJsvwz5px8spNHpUgQmBa+9AVyM1n+P0yq
         QIvN6IrvmqOToeOlirhPwWEoDTNx2AI+Kbl8tRkt3jdWseop00qpPtuPV9bH2ygpziLB
         DkLteDEB25TG3e3BAd7t52xD4643+Vn6nYWW9rD3loiVoMGA1m8j+GF0U9G8LqLfXrtG
         bOz8AWC9KgqYGTlJuLE6jKeVjfdCXd1GkzoYRdCHAkmHWXxtVyj+vgUKk4TM6i1q1zBe
         FSFg==
X-Forwarded-Encrypted: i=1; AJvYcCVLsSfZmuPCireGj6nAgGeEy3vujGjSkTMCQdaMspjQXxmyfrcaQe6vrFlgLLDr2qd7rQNduyXPQhtelGDEeNN/SRzS8YqjxF7CcL9E7OY=
X-Gm-Message-State: AOJu0YwL6GHwMz4npQ6NG2KBnebqLppoqC1pIpQM73SlnVZM9A2x4Mvq
	5Y/U5zORUNl2C9vZq4fXO9jl+Fho6whQo9KCSOZdKDqN3f5L2ANggg6pwqGn3g==
X-Google-Smtp-Source: AGHT+IHILVhw/zW3KP880Gy7L3lmgT2mexJzvE6Q2KI9sbnIyB7sQU6OVLFY6KUvOZf6vNvLMpYqaw==
X-Received: by 2002:a05:600c:1c19:b0:414:8f85:6e50 with SMTP id j25-20020a05600c1c1900b004148f856e50mr1867451wms.19.1712140111898;
        Wed, 03 Apr 2024 03:28:31 -0700 (PDT)
Message-ID: <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
Date: Wed, 3 Apr 2024 12:28:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:19, Oleksii Kurochko wrote:
> This patch disables unnecessary configs for two cases:
> 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds (GitLab CI jobs).
> 2. By using tiny64_defconfig for non-randconfig builds.
> 
> Only configs which lead to compilation issues were disabled.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V7:
>  - Disable only configs which cause compilation issues.

Since the description doesn't go into details: While I can see that
PERF_COUNTERS and LIVEPATCH may require (a little / some more) extra
work, are HYPFS, ARGO, and XSM really causing issues?

> --- a/xen/arch/riscv/configs/tiny64_defconfig
> +++ b/xen/arch/riscv/configs/tiny64_defconfig
> @@ -1,12 +1,11 @@
> -# 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
> +# CONFIG_ARGO is not set
> +# CONFIG_PERF_COUNTERS is not set
> +# CONFIG_COVERAGE is not set
> +# CONFIG_LIVEPATCH is not set
> +# CONFIG_XSM is not set
>  
>  CONFIG_RISCV_64=y
>  CONFIG_DEBUG=y

The description also says nothing about the items being removed.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:29:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:29:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700430.1093606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxsG-000811-Ln; Wed, 03 Apr 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 700430.1093606; Wed, 03 Apr 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 1rrxsG-00080u-Hg; Wed, 03 Apr 2024 10:29:44 +0000
Received: by outflank-mailman (input) for mailman id 700430;
 Wed, 03 Apr 2024 10:29:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjT-0007Ob-J1
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:39 +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 d0a721dd-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:37 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-513d3746950so7685294e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:37 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: d0a721dd-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139636; x=1712744436; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uOVqQfR57MWTh7AY+Vja1u38euiVWOG4QoZ0H9d02nE=;
        b=DJiHXmRLIVCkEZJOPU/JSzr4SxjN9aAsPq2uhYXTJ51ObdNhIs5CO0edvs//tpRSYv
         NIaASosOK1jcRrRMRFDD6703fpaX73bKHEe6UzmY+fGADydB5KrizFClj4MVPLH3uOnT
         C4KbwScO0/BmUfPZXOyaPnxz2IGC6OsD+S8iNWxEml7F7WH+fX4JjXWWMJxPtPDtuAO/
         cEW04TvY4d7CxK5L0JZanW7M/NqNTNSKIYP/klCZFt0kySf5vnanwTHyvzGMPv5V5VQo
         djIaMsYTWHYrupfpoUeqMA1w9QoMz87Lc1IFI3yh6P3zPBK84yS5Fe3oH0JRnYUgZfzf
         5b2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139636; x=1712744436;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=uOVqQfR57MWTh7AY+Vja1u38euiVWOG4QoZ0H9d02nE=;
        b=rtQtSws1/1lJS5a7cLdZeykH58pDe1puRgs32diIk1/Y/+DJHQvFViOp+VSpsgXG6A
         rWVtSP+V9cbqWc2JgV6RDUFhfmeilgQFt5SaLKdXgZZ3stf1SRL48OcMu//oCMcHzPKn
         nRuxfk3Uf8hWSpb3oahnK9hjonyhhv5NwGeHmgDmw87kmg4o9nqC5MisXis9NtE8PMry
         0+mr5xzacsJhO3KzNhm4lvCQ1af+f9XFxd6oZvC/1b01oHbfoUXLnbqZmYfVzEzHsPjo
         FvuyH0b8l08Ic7dfET2/9IHFsAjkb3Mk6CZAshXa7V7nhKwsGaqimS0vf8YWlxXpCmIk
         PgWQ==
X-Gm-Message-State: AOJu0YwzSskAkGkXT6YnYGpj4Y1PhODGxuKt6TcYSYsDOxZnK4okLGNt
	8ynYvs8r1v3lSDj4UEVTlVJ/2TVdqhyU/hxoXaOCmLlZAEJG4v+CpTYHoqQ/
X-Google-Smtp-Source: AGHT+IHGb+UEeJtU8cfi0+0Y8euhSdr2JoFc7fXBFZIRj50C11U0Lf18mXT4T99kWAEDw3v9+HPxNg==
X-Received: by 2002:a05:6512:92d:b0:513:bc95:50c3 with SMTP id f13-20020a056512092d00b00513bc9550c3mr8562431lft.12.1712139636603;
        Wed, 03 Apr 2024 03:20:36 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 18/19] xen/riscv: enable full Xen build
Date: Wed,  3 Apr 2024 12:20:11 +0200
Message-ID: <cf2bf628e975e9d110be74896c3392e2d96439a1.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5-V7:
 - Nothing changed. Only rebase.
---
Changes in V4:
 - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now.
 - drop defintion of max_page in stubs.c as common/page_alloc.c is compiled now.
 - drop printk() related changes in riscv/early_printk.c as common version will be used.
---
Changes in V3:
 - Reviewed-by: Jan Beulich <jbeulich@suse.com>
 - unrealted change dropped in tiny64_defconfig
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/Makefile       |  16 +++-
 xen/arch/riscv/arch.mk        |   4 -
 xen/arch/riscv/early_printk.c | 168 ----------------------------------
 xen/arch/riscv/stubs.c        |  24 -----
 4 files changed, 15 insertions(+), 197 deletions(-)

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 60afbc0ad9..81b77b13d6 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -12,10 +12,24 @@ $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) -o $@
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+	$(NM) -pa --format=sysv $(dot-target).0 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).0.S
+	$(MAKE) $(build)=$(@D) $(dot-target).0.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(dot-target).0.o -o $(dot-target).1
+	$(NM) -pa --format=sysv $(dot-target).1 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).1.S
+	$(MAKE) $(build)=$(@D) $(dot-target).1.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
+	rm -f $(@D)/.$(@F).[0-9]*
 
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 24a7461bcc..517bb662e4 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -24,7 +24,3 @@ extensions := $(subst $(space),,$(extensions))
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += $(riscv-generic-flags)$(extensions) -mstrict-align -mcmodel=medany
-
-# TODO: Drop override when more of the build is working
-override ALL_OBJS-y = arch/$(SRCARCH)/built_in.o
-override ALL_LIBS-y =
diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index 60742a042d..610c814f54 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -40,171 +40,3 @@ void early_printk(const char *str)
         str++;
     }
 }
-
-/*
- * The following #if 1 ... #endif should be removed after printk
- * and related stuff are ready.
- */
-#if 1
-
-#include <xen/stdarg.h>
-#include <xen/string.h>
-
-/**
- * strlen - Find the length of a string
- * @s: The string to be sized
- */
-size_t (strlen)(const char * s)
-{
-    const char *sc;
-
-    for (sc = s; *sc != '\0'; ++sc)
-        /* nothing */;
-    return sc - s;
-}
-
-/**
- * memcpy - Copy one area of memory to another
- * @dest: Where to copy to
- * @src: Where to copy from
- * @count: The size of the area.
- *
- * You should not use this function to access IO space, use memcpy_toio()
- * or memcpy_fromio() instead.
- */
-void *(memcpy)(void *dest, const void *src, size_t count)
-{
-    char *tmp = (char *) dest, *s = (char *) src;
-
-    while (count--)
-        *tmp++ = *s++;
-
-    return dest;
-}
-
-int vsnprintf(char* str, size_t size, const char* format, va_list args)
-{
-    size_t i = 0; /* Current position in the output string */
-    size_t written = 0; /* Total number of characters written */
-    char* dest = str;
-
-    while ( format[i] != '\0' && written < size - 1 )
-    {
-        if ( format[i] == '%' )
-        {
-            i++;
-
-            if ( format[i] == '\0' )
-                break;
-
-            if ( format[i] == '%' )
-            {
-                if ( written < size - 1 )
-                {
-                    dest[written] = '%';
-                    written++;
-                }
-                i++;
-                continue;
-            }
-
-            /*
-             * Handle format specifiers.
-             * For simplicity, only %s and %d are implemented here.
-             */
-
-            if ( format[i] == 's' )
-            {
-                char* arg = va_arg(args, char*);
-                size_t arglen = strlen(arg);
-
-                size_t remaining = size - written - 1;
-
-                if ( arglen > remaining )
-                    arglen = remaining;
-
-                memcpy(dest + written, arg, arglen);
-
-                written += arglen;
-                i++;
-            }
-            else if ( format[i] == 'd' )
-            {
-                int arg = va_arg(args, int);
-
-                /* Convert the integer to string representation */
-                char numstr[32]; /* Assumes a maximum of 32 digits */
-                int numlen = 0;
-                int num = arg;
-                size_t remaining;
-
-                if ( arg < 0 )
-                {
-                    if ( written < size - 1 )
-                    {
-                        dest[written] = '-';
-                        written++;
-                    }
-
-                    num = -arg;
-                }
-
-                do
-                {
-                    numstr[numlen] = '0' + num % 10;
-                    num = num / 10;
-                    numlen++;
-                } while ( num > 0 );
-
-                /* Reverse the string */
-                for (int j = 0; j < numlen / 2; j++)
-                {
-                    char tmp = numstr[j];
-                    numstr[j] = numstr[numlen - 1 - j];
-                    numstr[numlen - 1 - j] = tmp;
-                }
-
-                remaining = size - written - 1;
-
-                if ( numlen > remaining )
-                    numlen = remaining;
-
-                memcpy(dest + written, numstr, numlen);
-
-                written += numlen;
-                i++;
-            }
-        }
-        else
-        {
-            if ( written < size - 1 )
-            {
-                dest[written] = format[i];
-                written++;
-            }
-            i++;
-        }
-    }
-
-    if ( size > 0 )
-        dest[written] = '\0';
-
-    return written;
-}
-
-void printk(const char *format, ...)
-{
-    static char buf[1024];
-
-    va_list args;
-    va_start(args, format);
-
-    (void)vsnprintf(buf, sizeof(buf), format, args);
-
-    early_printk(buf);
-
-    va_end(args);
-}
-
-#endif
-
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 8285bcffef..bda35fc347 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -24,12 +24,6 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
 
 nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
-/*
- * max_page is defined in page_alloc.c which isn't complied for now.
- * definition of max_page will be remove as soon as page_alloc is built.
- */
-unsigned long __read_mostly max_page;
-
 /* time.c */
 
 unsigned long __ro_after_init cpu_khz;  /* CPU clock frequency in kHz. */
@@ -419,21 +413,3 @@ void __cpu_die(unsigned int cpu)
 {
     BUG_ON("unimplemented");
 }
-
-/*
- * The following functions are defined in common/irq.c, but common/irq.c isn't
- * built for now. These changes will be removed there when common/irq.c is
- * ready.
- */
-
-void cf_check irq_actor_none(struct irq_desc *desc)
-{
-    BUG_ON("unimplemented");
-}
-
-unsigned int cf_check irq_startup_none(struct irq_desc *desc)
-{
-    BUG_ON("unimplemented");
-
-    return 0;
-}
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:30:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:30:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700433.1093614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxsm-00012G-0T; Wed, 03 Apr 2024 10:30:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700433.1093614; Wed, 03 Apr 2024 10: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 1rrxsl-000129-U2; Wed, 03 Apr 2024 10:30:15 +0000
Received: by outflank-mailman (input) for mailman id 700433;
 Wed, 03 Apr 2024 10: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjP-0007Ob-CW
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:35 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce11a117-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:33 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-515b43b39fdso688603e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:33 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: ce11a117-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139633; x=1712744433; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nOFxxlMM2XVyiumTGNgKYGuXmzMjhW9yLsD9YmWeEMM=;
        b=WAJzJiNzdqALdIWtuoy3t6SjTRmWdiawQVH5GLKgn1NHBUyPEd7ApqfEtw55ahXyBL
         M8NC3yQKcwUp205JAN6GD4Jj0b/FVWovumBEcjVDZhgU+7yvJS1yx5MSLi754DfXDX8F
         L0dqmVQsyhYU19qySGe3t0hYgCwY0M0HnIWX8/kX1dtN92TB9NDzM1q00FJFQoFkTVVg
         4cq2OxsRn/dI7gZgoLuq3CZ8hoO1oumeQ13cDS2jo/IjainvgQTHuzTZKwUNF/hqCkoi
         PvcAqBQirxUt66R4dMtjeP6F2AGgXMzOtJiOMql/M3T3AoW40O3nYbnGwWqvSWl4hODa
         MbbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139633; x=1712744433;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nOFxxlMM2XVyiumTGNgKYGuXmzMjhW9yLsD9YmWeEMM=;
        b=Y6HgfnTzCl4zUrUkGCYtitViNzfWHrkoPN5qm6ZKiyCTOjUVHYmhY3xSx72Q56kPcO
         i43wctRmCM3duUR/m31jenXH8ePlnt7EDGYXbKGg/WXSuZHQWsV7ZXDQ2Tg7m90Lb1Od
         T5N/DP5M3Ts9kgAD8k+2vs+Frdtfjy1m9fTx3jcXZP7zzrHVF4QZhD7xkn0kqLuMUjvp
         wBeEN61+ofH1+VAx1T+uxh47dVxeAHUTvFWG9rZGZpEoD/2NCGX518eFc7FF28LRyWKH
         Of7leldcX7fsP3//OI0UTzwEZIRuZ3PdSXVC3toXco3jsta5X4cfBuOqP7uzwy9PZifi
         ETzg==
X-Gm-Message-State: AOJu0YwguDPMY9S7FAowPG4TdulQ9rfVdnvqNq1xj0fMg+hgItXoykde
	j6aJ2sI5ziqCO6o2l3Qugh1M1K4ENkS69bcJfktu+cHmg/VnFCo9jZKGSVMF
X-Google-Smtp-Source: AGHT+IH7VoZdsG2IgUcJ5Mvqk2ziaPkibv62IeZEojdnoe8C+/TkKPjQFNqYz3XeVt2F+G7WYgOwug==
X-Received: by 2002:a19:ca44:0:b0:513:dcd2:1267 with SMTP id h4-20020a19ca44000000b00513dcd21267mr752289lfj.23.1712139632738;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 14/19] xen/riscv: add minimal stuff to page.h to build full Xen
Date: Wed,  3 Apr 2024 12:20:07 +0200
Message-ID: <29c2ea39038ab7049baef9cbc426b718c341a724.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5-V7:
 - Nothing changed. Only rebase.
---
Changes in V4:
---
 - Change message -> subject in "Changes in V3"
 - s/BUG/BUG_ON("...")
 - Do proper rebase ( pfn_to_paddr() and paddr_to_pfn() aren't removed ).
---
Changes in V3:
 - update the commit subject
 - add implemetation of PAGE_HYPERVISOR macros
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
 - drop definition of pfn_to_addr, and paddr_to_pfn in <asm/mm.h>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/page.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index 95074e29b3..c831e16417 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -6,6 +6,7 @@
 #ifndef __ASSEMBLY__
 
 #include <xen/const.h>
+#include <xen/bug.h>
 #include <xen/types.h>
 
 #include <asm/mm.h>
@@ -32,6 +33,10 @@
 #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
 #define PTE_TABLE                   (PTE_VALID)
 
+#define PAGE_HYPERVISOR_RW          (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
+
+#define PAGE_HYPERVISOR             PAGE_HYPERVISOR_RW
+
 /* Calculate the offsets into the pagetables for a given VA */
 #define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
 
@@ -62,6 +67,20 @@ static inline bool pte_is_valid(pte_t p)
     return p.pte & PTE_VALID;
 }
 
+static inline void invalidate_icache(void)
+{
+    BUG_ON("unimplemented");
+}
+
+#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
+#define copy_page(dp, sp) memcpy(dp, sp, PAGE_SIZE)
+
+/* TODO: Flush the dcache for an entire page. */
+static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
+{
+    BUG_ON("unimplemented");
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:32:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700443.1093626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxuR-00026S-Bf; Wed, 03 Apr 2024 10:31:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700443.1093626; Wed, 03 Apr 2024 10:31:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxuR-00026L-7g; Wed, 03 Apr 2024 10:31:59 +0000
Received: by outflank-mailman (input) for mailman id 700443;
 Wed, 03 Apr 2024 10:31:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjO-0007Ob-CO
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:34 +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 cd8ce952-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:32 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-515a68d45faso7029561e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:32 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: cd8ce952-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139632; x=1712744432; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hBnO9yFQJm71DTw529h3h3x7yVtBkXskdtcbG0S49CI=;
        b=cnv9VVbyizjwcK/HeeHN8+DSB26Aw2mOVRe1f5PmTbOldUp6byE13xXH6qyx/FjeD6
         il7WUJi/B7xOIgwdk6DYsy0sXP5kLZzMwvGCNLng+RUVeC7AJyu5Q6HDX6+4ouk2KLsC
         mOPd97vTUH06H3jpAtK742guFzuLwaE6fhD2Nu2+qEEDcMgK2LDBhkCgMiL9icABD9zr
         TUltgt4AvhOYxh7GeXpgrLvaEJGJ+YODr9lh9AJNwAFxI/AUuBSxLGR+ztie9lX/mlYd
         NSSbfQrTUHIkOW7F25+tteGMfeQmRmcNQbKfmbqNQtI7cWewcrdPGUi8nL77swu9QkQd
         WAuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139632; x=1712744432;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hBnO9yFQJm71DTw529h3h3x7yVtBkXskdtcbG0S49CI=;
        b=eI6FZ3EvEDijztsZI2ynOTBOsD1OfAYW534dDGto+CKXxCxJNby19TN6QXjbp4WxhK
         6izWX4zToVAybl3cqJpUWnJ9s536P5Z1hTRdOeAAz7OVOceyOPhyiJqZ5dL54r8inHyB
         YvzZ2KiCZhGHjKo6mrBqz8/XmukLFwvIlc3qQ6uhVeB2Ly3RO5bwr0sL8rvjhhN4NjGV
         01dA80QfvSkxz/JKVx9o/egoqLh0LIuWzO3nkIx976Fp9sXVVbn3/kjNOgC3juNIS7On
         2Pc3rT2Qi8y7/KcNyykHgX0w5hXKXd9J2Wcsa79OQyFFbA/c8YmgeGziihI/W9NTtMTc
         KKHQ==
X-Gm-Message-State: AOJu0YyKrzjiEZxEzB7YkyjY8bgdwh5TjNQPJJPJkzI2h93EXrZT25RW
	A93F+eUzdQFCT2KAThYUt4s+dHKj5DkMyn3S2pnVU+P/TKZEdmSzeoEkvXzJ
X-Google-Smtp-Source: AGHT+IFYH5a4QwNmIZDQu397VIYey6jJgV2rrThyVidzAQCTas+ctdNgWcwHsWJNFOJV/pciExlKnA==
X-Received: by 2002:ac2:5f86:0:b0:513:cb7a:7cf7 with SMTP id r6-20020ac25f86000000b00513cb7a7cf7mr9614247lfe.63.1712139631925;
        Wed, 03 Apr 2024 03:20: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 13/19] xen/riscv: add required things to current.h
Date: Wed,  3 Apr 2024 12:20:06 +0200
Message-ID: <322e726f1d8f8ea55a0c86c4eb3aee971ffc4253.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add minimal requied things to be able to build full Xen.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5/V6/V7:
 - Nothing changed. Only rebase.
---
Changes in V4:
 - BUG() was changed to BUG_ON("unimplemented");
 - Change "xen/bug.h" to "xen/lib.h" as BUG_ON is defined in xen/lib.h.
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - add SPDX
 - drop a forward declaration of struct vcpu;
 - update guest_cpu_user_regs() macros
 - replace get_processor_id with smp_processor_id
 - update the commit message
 - code style fixes
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/current.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
index d84f15dc50..aedb6dc732 100644
--- a/xen/arch/riscv/include/asm/current.h
+++ b/xen/arch/riscv/include/asm/current.h
@@ -3,6 +3,21 @@
 #ifndef __ASM_CURRENT_H
 #define __ASM_CURRENT_H
 
+#include <xen/lib.h>
+#include <xen/percpu.h>
+#include <asm/processor.h>
+
+#ifndef __ASSEMBLY__
+
+/* Which VCPU is "current" on this PCPU. */
+DECLARE_PER_CPU(struct vcpu *, curr_vcpu);
+
+#define current            this_cpu(curr_vcpu)
+#define set_current(vcpu)  do { current = (vcpu); } while (0)
+#define get_cpu_current(cpu)  per_cpu(curr_vcpu, cpu)
+
+#define guest_cpu_user_regs() ({ BUG_ON("unimplemented"); NULL; })
+
 #define switch_stack_and_jump(stack, fn) do {               \
     asm volatile (                                          \
             "mv sp, %0\n"                                   \
@@ -10,4 +25,8 @@
     unreachable();                                          \
 } while ( false )
 
+#define get_per_cpu_offset() __per_cpu_offset[smp_processor_id()]
+
+#endif /* __ASSEMBLY__ */
+
 #endif /* __ASM_CURRENT_H */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:32:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700445.1093635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxuV-0002N7-I7; Wed, 03 Apr 2024 10:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700445.1093635; Wed, 03 Apr 2024 10:32:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxuV-0002My-F9; Wed, 03 Apr 2024 10:32:03 +0000
Received: by outflank-mailman (input) for mailman id 700445;
 Wed, 03 Apr 2024 10: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxuU-0002ML-Nr
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:32: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 679c1c5c-f1a5-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:32:00 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-51381021af1so8628242e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:32:00 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 t3-20020a192d43000000b00515b5cd2361sm2012048lft.164.2024.04.03.03.31.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03: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: 679c1c5c-f1a5-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712140320; x=1712745120; 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=nzlgtb580luOjYNUllOGwmtHYFxNtC+MZM4d/MnUQKw=;
        b=OLUILpinro7DpkrwhFDpendBFsia+n8k6WNTgxMg6FAhstfyt7me9l/ih+MSNCm7JP
         POszmV0wEfxG5YMNrESYWy/ckyiRFV8ICvpMOkD+oJX34osaFchqLeOsDPmDrGKcXU3l
         8kOSYapQN2b9hY+h23r5e7Yp0YMoVOMnHHImRwHmXrcuCf858u6BwYAfTep7TowptAOw
         2PgdkJfl5S7f8FV3H3LnSAujLuCQlFJxEda1EolhbC47wA+4/BSgifCa/KsNi4NDeLvf
         DFI3WZpBgFhKIB0m8YGcaFnF99ae7lmPKqw99h0bZKH1mSuWIBeQYq36yRiecjlesTix
         Tcww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712140320; x=1712745120;
        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=nzlgtb580luOjYNUllOGwmtHYFxNtC+MZM4d/MnUQKw=;
        b=cibi2w+Zn1Yp4qxRc4h03yN0bYlxiUqJs7uDaP1yPq4dw9Rc7cyNw9pickUHeIKxFY
         6VPw6XNpYwV8v0ZZpwgMoaRhAQTt/l/b9FXBJKapLRSb5o9/OTqEpuw7l8qJGx8zV7ZX
         NcpiFP54+ACOy7ODY/Qf3MgyNYokHvLgXsHUT7it7x3q02QaRLeUkdeys+b8kDKOIn5/
         L2WiAmdp8SMASmtV7oT5G5qJfKzn5O31IywwnM0fnnU6uR/g4PG7my7BGU2HjJClMoVI
         WxVt6R5IQYf0EvYRKT4va0Bt17r3DcVsBNq7l+VPpOBMwLyuBYyIEiggkvNn5sf0WQky
         IYyw==
X-Forwarded-Encrypted: i=1; AJvYcCWJSScSQSrfm7BdQDm6d3Ac1qdEtpu7Zh14TFWCYeqI7xmCpt4LGsvVrMAMSP8sIrrcFPySpXqOcpDbt/Mx62/zAuAi3RoYvn7jtSQqViE=
X-Gm-Message-State: AOJu0Yxz1eyfh3ogOIJhAH61XmfXhAzf6ygDDCh8WAkRSN87xgQQsdAK
	Xxug51nHZ3FpHg1IDLAUeteXlOTqP84+/mEIxuTSWTPDbZmX3YZ0
X-Google-Smtp-Source: AGHT+IF1XQCYvZCZN7iDe3k75stAfGwli+GSSwgMHS6ezLj2VS9ZKwZUWpcJCRbIem5aF3nvAFucfA==
X-Received: by 2002:a19:3802:0:b0:513:cc18:d4c6 with SMTP id f2-20020a193802000000b00513cc18d4c6mr3955988lfa.41.1712140319969;
        Wed, 03 Apr 2024 03:31:59 -0700 (PDT)
Message-ID: <f9c57e31ed3caa6f8caec3300b88031963cdaf4a.camel@gmail.com>
Subject: Re: [PATCH 4/4] xen/virtual-region: Drop setup_virtual_regions()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>
Cc: Roger Pau =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>, Konrad Rzeszutek Wilk
 <konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Date: Wed, 03 Apr 2024 12:31:58 +0200
In-Reply-To: <14accd85-d549-4551-a95c-6c8bcee92db5@citrix.com>
References: <20240318110442.3653997-1-andrew.cooper3@citrix.com>
	 <20240318110442.3653997-5-andrew.cooper3@citrix.com>
	 <047ecaf2-66c6-4d07-ab14-9c50acfc1f9a@suse.com>
	 <14accd85-d549-4551-a95c-6c8bcee92db5@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.2 (3.50.2-1.fc39) 
MIME-Version: 1.0

On Mon, 2024-03-18 at 13:49 +0000, Andrew Cooper wrote:
> On 18/03/2024 1:29 pm, Jan Beulich wrote:
> > On 18.03.2024 12:04, Andrew Cooper wrote:
> > > --- a/xen/common/virtual_region.c
> > > +++ b/xen/common/virtual_region.c
> > > @@ -39,6 +39,11 @@ static struct virtual_region core =3D {
> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { __start_bug_frames=
_2, __stop_bug_frames_2 },
> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { __start_bug_frames=
_3, __stop_bug_frames_3 },
> > > =C2=A0=C2=A0=C2=A0=C2=A0 },
> > > +
> > > +#ifdef CONFIG_X86
> > > +=C2=A0=C2=A0=C2=A0 .ex =3D __start___ex_table,
> > > +=C2=A0=C2=A0=C2=A0 .ex_end =3D __stop___ex_table,
> > > +#endif
> > > =C2=A0};
> > > =C2=A0
> > > =C2=A0/* Becomes irrelevant when __init sections are cleared. */
> > > @@ -57,6 +62,11 @@ static struct virtual_region core_init
> > > __initdata =3D {
> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { __start_bug_frames=
_2, __stop_bug_frames_2 },
> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 { __start_bug_frames=
_3, __stop_bug_frames_3 },
> > > =C2=A0=C2=A0=C2=A0=C2=A0 },
> > > +
> > > +#ifdef CONFIG_X86
> > > +=C2=A0=C2=A0=C2=A0 .ex =3D __start___ex_table,
> > > +=C2=A0=C2=A0=C2=A0 .ex_end =3D __stop___ex_table,
> > > +#endif
> > > =C2=A0};
> > My main reservation here is this x86-specific code in a common
> > file.
> > Are we certain both RISC-V and PPC will get away without needing to
> > touch this? If so, I might consider ack-ing. But really I'd prefer
> > if
> > this could be minimally abstracted, via e.g. CONFIG_HAS_EXTABLE
> > (selected by x86 only for now).
>=20
> This isn't the first bit of CONFIG_X86 in this file.=C2=A0 However, I'd
> not
> spotted that we have CONFIG_HAS_EX_TABLE already.=C2=A0 I can swap.
>=20
> As to extable on other architectures, that's not something I can
> answer,
> although it's not something I can see in Oleksii's or Shawn's series
> so far.
That's correct for RISC-V. Currently, I'm not utilizing
__start___ex_table/__stop___ex_table, and setup_virtual_regions() is
called with setup_virtual_regions(NULL, NULL).

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:32:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:32:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700448.1093645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxv2-00038r-Qc; Wed, 03 Apr 2024 10:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700448.1093645; Wed, 03 Apr 2024 10:32:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxv2-00038k-O0; Wed, 03 Apr 2024 10:32:36 +0000
Received: by outflank-mailman (input) for mailman id 700448;
 Wed, 03 Apr 2024 10:32: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrxv2-0002ML-0q
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:32:36 +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 7ba9982b-f1a5-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:32:34 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2d68c6a4630so64355741fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:32: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
 ay15-20020a5d6f0f000000b003434c764f01sm8470589wrb.107.2024.04.03.03.32.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 03:32: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: 7ba9982b-f1a5-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712140354; x=1712745154; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QnG6JXgzmUiHuTzyCN5BwALIGxGYJ6ND+KL5cUC8M64=;
        b=OjY5KOP0KRBa9a2CyM9OTXbaO2oZtZGA7Giqz1+9a719ODgTRPKs8W+eU9tXWFffCr
         EghbymX0wmKt7zWUG6zGxJEQOGtyckyhvIFBQZjLOuV6yFxV49/ENLiEwz/nxPNFzuDi
         /+yMG93P0dG6DvSCaAIdbSoYhjefsmxvzlI0BlqkvgZePv0MHuCETnFhjKcgFGHNpwST
         gAjxpRDZ5jKT30vu918v8ZyUuDig/fQMjC+bhG6fWDUy3S2GLO4nPTCvxiTmKoQttP7c
         FNnDz82h/7N/u0UOMJm9eXH1yugFKVROY5Yon9rZW9vibwrkQPU6eL/0ViF3HRyXS12P
         A0+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712140354; x=1712745154;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QnG6JXgzmUiHuTzyCN5BwALIGxGYJ6ND+KL5cUC8M64=;
        b=OS55vSMLpmSO2D7y5D38jsVBR8k+Fo/mOH3sLGd7iOhR3GdwVP46JOj7Kqh88fMqSu
         oBfpu/GZscidKKabW53s/lh1a+HZFZJ3WBIpiMskIi8SPI7MB3lCDIaPLrmuO9nt0ruG
         ONBSU9wziz9AvgVu/HmUASJfNBNtNyOcrJbilpBpkBnYt28+ThxbLo+yRSSUcjaeKheq
         A4nVoG5nhyS/bGImvh98NQ1KhE6T9tWYB8ZoIM5QnQBG2vetmaNFYTBHX9mzApnpPsI2
         jE4mHXfIdMmXU9oAeseEneDp5BQUtDjppX2Bu/I6LdPwOmGGc1t017D/WZiQcs2u87PP
         pvLQ==
X-Forwarded-Encrypted: i=1; AJvYcCXboH0YcJopOAK1xu/Wg5WJAcdxZPCrTVe2T27nsAubt8Cmg2yBXqTdzsK9/++u9wInxLPHx9TSsU5XjDGE1AhmK80a2+eT0gfBoplXc0o=
X-Gm-Message-State: AOJu0YxXtqBJ6moKRjxUGu4FbSTIap2hlET9TyB/ZgVnkmno9LI6rPL9
	qHFr0zCFFJ5pCbK8meZwjKUXiwCbbXOcrlfHxGnBsO0MaT14ON7XTNWpUPsRUA==
X-Google-Smtp-Source: AGHT+IH5zFvVp9DD+mZjdUWw7ZiktALKcb8oZB75WhO3Xy7luy1mKRHTVHxkLpjCWrjF18pqJB5WAw==
X-Received: by 2002:a2e:a592:0:b0:2d4:668f:baac with SMTP id m18-20020a2ea592000000b002d4668fbaacmr12573545ljp.28.1712140353692;
        Wed, 03 Apr 2024 03:32:33 -0700 (PDT)
Message-ID: <68375b35-c611-411d-99f0-c71b48cc5ba2@suse.com>
Date: Wed, 3 Apr 2024 12:32:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 03/19] xen/riscv: introduce extenstion support check by
 compiler
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:19, Oleksii Kurochko wrote:
> Currently, RISC-V requires two extensions: _zbb and _zihintpause.
> 
> This patch introduces a compiler check to check if these extensions
> are supported.
> Additionally, it introduces the riscv/booting.txt file, which contains
> information about the extensions that should be supported by the platform.
> 
> In the future, a feature will be introduced to check whether an extension
> is supported at runtime.
> However, this feature requires functionality for parsing device tree
> source (DTS), which is not yet available.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

However, ...

> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -3,16 +3,27 @@
>  
>  $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
>  
> -CFLAGS-$(CONFIG_RISCV_64) += -mabi=lp64
> +riscv-abi-$(CONFIG_RISCV_32) := -mabi=ilp32
> +riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
>  
>  riscv-march-$(CONFIG_RISCV_ISA_RV64G) := rv64g
>  riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
>  
> +riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
> +
> +zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
> +zihintpause := $(call as-insn,\
> +               $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)

... this would better be indented thus

zihintpause := $(call as-insn, \
                      $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)

to make nesting entirely obvious. I guess I'll table the liberty to adjust
while committing.

I'd also like to note that this is specifically not what I had suggested.
But it at least improves readability.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:34:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700453.1093655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxx2-0004AE-5z; Wed, 03 Apr 2024 10:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700453.1093655; Wed, 03 Apr 2024 10:34:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxx2-0004A7-2v; Wed, 03 Apr 2024 10:34:40 +0000
Received: by outflank-mailman (input) for mailman id 700453;
 Wed, 03 Apr 2024 10:34: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjQ-0007Ob-IC
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:36 +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 cf04be71-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:35 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-513dc9d6938so7606639e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:35 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: cf04be71-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139634; x=1712744434; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E9U6oW4Qnq2TPCE8LMjq0ZhGm7F+DtWBT/tWqvv+aXU=;
        b=d5/wMwb3mIW4KjJTOj3CH/jpRyF0qO8HkKNZR1bFib0yY4CPxk+Sol3yfR9TGw/VCL
         QX3u1oaxj51huWcALCKUwMv41J8ipp2pxbcQJ9KrbfpeYsUbWaKxFs73YOMsOcCMoW3W
         4lTbbv7NDR/X4MOLJg0R43+q7OY1sawHeAAHD9T7ah4szCmUU5LRYE4w4l024uoKCV6e
         iCA8wGy2/iBhuErOhZi82Jk/kJXKan5rFHDhOSz/6DFZLNGJVWNUnoQsTgguA2Df+9ml
         Htk7zCW2ErqKJ0ccvLsTAiXfJh0yhwIemIaRbLe4vAUVT6QJuNFBfDyCeSvdHn81LqGP
         cz3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139634; x=1712744434;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=E9U6oW4Qnq2TPCE8LMjq0ZhGm7F+DtWBT/tWqvv+aXU=;
        b=nq95hp3VC51S/tycfCTHb9zuHRB5kitmPRFPulBmnmPfkWF7uk7WIDn+fR3jXVG7eE
         VCqLIM+8p8i79zhx+BLnhBqahXEoQ601T47+1cI8vaVP+OmuS+Dst7V7MgLEPZPG1yOD
         fvsxxXK/+FG7Ql2SiAj0s9AhgFCK/lTKsgn6v6IfpdoLOks95t9wbGzc5vuIrbHSp+DQ
         b1nvkdbmNjXO1a5YI0fn7zuh6fRH/stu4BQkwOsZg/IWcfVC6sir3lcrRX4KoWcZQlhu
         e19VsMnNiLLfK/Gj/8/pJogiEOv77YlhbcvVZrQDCnjnWFLjP5gIQt2KaFULnDD040lS
         qm/Q==
X-Gm-Message-State: AOJu0Yz13zuD25chWzHs4VeKjqRWqghhhkI07XrKrAOgqOGRqi8vyMAH
	Ng73A5vQgeHeJ1yvBm0mGJ3LPj4OejPzsN1MkU7DokAH3KPFZ+BRzHCA8iMR
X-Google-Smtp-Source: AGHT+IHAjlE34P1pdcJxuNNymHnV7H32e+81w+VuX+xiJ8HK+FcCSsopU06OYV71JcG7clJorQq+mg==
X-Received: by 2002:ac2:5321:0:b0:516:7738:bd5c with SMTP id f1-20020ac25321000000b005167738bd5cmr1488007lfh.4.1712139634398;
        Wed, 03 Apr 2024 03:20:34 -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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v7 16/19] xen/riscv: introduce vm_event_*() functions
Date: Wed,  3 Apr 2024 12:20:09 +0200
Message-ID: <99f82a80c2013b138c4ddff1f070d53c6f28681c.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5-V7:
 - Only rebase was done.
---
Changes in V4:
  - New patch.
---
 xen/arch/riscv/Makefile   |  1 +
 xen/arch/riscv/vm_event.c | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 xen/arch/riscv/vm_event.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 2fefe14e7c..1ed1a8369b 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 += traps.o
+obj-y += vm_event.o
 
 $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
diff --git a/xen/arch/riscv/vm_event.c b/xen/arch/riscv/vm_event.c
new file mode 100644
index 0000000000..bb1fc73bc1
--- /dev/null
+++ b/xen/arch/riscv/vm_event.c
@@ -0,0 +1,19 @@
+#include <xen/bug.h>
+
+struct vm_event_st;
+struct vcpu;
+
+void vm_event_fill_regs(struct vm_event_st *req)
+{
+    BUG_ON("unimplemented");
+}
+
+void vm_event_set_registers(struct vcpu *v, struct vm_event_st *rsp)
+{
+    BUG_ON("unimplemented");
+}
+
+void vm_event_monitor_next_interrupt(struct vcpu *v)
+{
+    /* Not supported on RISCV. */
+}
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:35:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:35:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700456.1093665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxxm-0004sN-Gr; Wed, 03 Apr 2024 10:35:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700456.1093665; Wed, 03 Apr 2024 10: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 1rrxxm-0004sG-Dy; Wed, 03 Apr 2024 10:35:26 +0000
Received: by outflank-mailman (input) for mailman id 700456;
 Wed, 03 Apr 2024 10:35:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrxxl-0004s0-9p; Wed, 03 Apr 2024 10:35:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrxxl-00009K-6S; Wed, 03 Apr 2024 10:35:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rrxxk-0001sr-QW; Wed, 03 Apr 2024 10:35:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rrxxk-0002Ot-Q8; Wed, 03 Apr 2024 10:35: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=sX245sSsvn71L96+RgLDZqXzPm5TXSS5ZWH8fLW0KjE=; b=jKNkvlcVfjpwTaWIzBntD1NhxU
	uKdJCXW3OUX5IYb4kMfglI3L+cRA2RalLi4Tew9RgjkZrpO9OWcrgjGp/9udKcmNPBIRR8WSU2wQl
	ut7rB+3Sfxg10zjOOAe5Wqb+vn9zII3v7y1zviuA001xsc4ItU1EsoggGvRcruqzuUa4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185225-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185225: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ac682fbac14a4286645810c02f60a2ba844b6c0a
X-Osstest-Versions-That:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 10:35:24 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ac682fbac14a4286645810c02f60a2ba844b6c0a
baseline version:
 xen                  7a09966e7b2823b70f6d56d0cf66c11124f4a3c1

Last test of basis   185196  2024-03-28 21:04:03 Z    5 days
Testing same since   185225  2024-04-03 08:02:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   7a09966e7b..ac682fbac1  ac682fbac14a4286645810c02f60a2ba844b6c0a -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:36:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700463.1093675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxyc-0005VN-RK; Wed, 03 Apr 2024 10:36:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700463.1093675; Wed, 03 Apr 2024 10:36:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrxyc-0005VG-O7; Wed, 03 Apr 2024 10:36:18 +0000
Received: by outflank-mailman (input) for mailman id 700463;
 Wed, 03 Apr 2024 10:36: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrxjS-0007Ob-Lz
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:20:38 +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 cfe07d64-f1a3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 12:20:36 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-513d4559fb4so7738288e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:20:36 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 k33-20020a0565123da100b00516a18f9080sm1161237lfv.257.2024.04.03.03.20.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 03:20: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: cfe07d64-f1a3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712139635; x=1712744435; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q5xZnzFNTGcKGV2EgXwT0+6F8+wdjpeAHLzCYAlXE/w=;
        b=aV6pZn///se1oZ7nSnJYfGyJFVqhVvhea/5AK42pNNtQ6bHn7FSmTE2RNjjNqw6Ptt
         nA2TC2QR3dGbfr9hAZbWyErdsHnFOCVjvEHCpV6B7bLXb2qALWfiOF93QNh+ALYUQAHj
         ALjEwj99atuZTWzm9E0kxD6hq6ARM5iCBrHnlYNA1CCY4Wfu8pA+HhOZQ6n15TW16orz
         fJRVN+kI0245zj//pSiMllXTeuXPnUo/MwHa9YGsk0ZG3MDZXNaGXnsFaooreM/jnxvq
         rCLw1nU2vPQDSjj5yRTlWea1E/tCgc4oXeoTbO9m1gxGXNYqlcdq8PgjUa2rgxImWItA
         5WSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712139635; x=1712744435;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Q5xZnzFNTGcKGV2EgXwT0+6F8+wdjpeAHLzCYAlXE/w=;
        b=RQRGqZ+EMA3t6Fm94tJTfnsDiqDPjY7G+D15QDYwhEcC3HDRYd86JljFtQVkul3Dx0
         JMNmbICxQH5x6vpyChBC7ZKfWxeiuk0Ywx3CXgQVj+Li564D3U3XsmdHO0Xa1NKzgHvJ
         pxT10Nw+2z1gfan0g6eVoNsB31FODnCyEj6X/SJjmI0dg0fgOU28mX7zuJMgiFf4dUUf
         RnmOZttT4cFPxsZO95eMZpz+gGGl3TQOJNM+tIQPFiscKhfutKH/U7mLg1M8TObUx2cp
         7eU4rBVBRbVmAJizlwxf4ItdQLOeJYcLZMexZylEyCtXmVFU3B0wCRrdXymQGHukiW0k
         /+dw==
X-Gm-Message-State: AOJu0YzAMf0bWpYV5l2xcizKPtB5NwlTG+m3kXh7rIn4kFWxxj71jPvr
	NeVle6TN+iJtl8CA4vdovHSGOIeemTwSHLUI6+XF2D7CvW+L/3bbrVv64NqO
X-Google-Smtp-Source: AGHT+IF5uj6La2B94GNDUs1tMtnoVCF6lmVLVgmRvkqbmg0Zui4lA4AXRsokyNVJlc4/2DEFLMwmkw==
X-Received: by 2002:a19:6919:0:b0:513:c54d:d4a with SMTP id e25-20020a196919000000b00513c54d0d4amr11730859lfc.5.1712139635269;
        Wed, 03 Apr 2024 03:20:35 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 17/19] xen/riscv: add minimal amount of stubs to build full Xen
Date: Wed,  3 Apr 2024 12:20:10 +0200
Message-ID: <fdc1aaf69a26fcad98065983a9a8e64bf2cb2b87.1712137031.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1712137031.git.oleksii.kurochko@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V7:
 - Only rebase was done.
---
Changes in V6:
 - update the commit in stubs.c around /* ... common/irq.c ... */
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - drop unrelated changes
 - assert_failed("unimplmented...") change to BUG_ON()
---
Changes in V4:
  - added new stubs which are necessary for compilation after rebase: __cpu_up(), __cpu_disable(), __cpu_die()
    from smpboot.c
  - back changes related to printk() in early_printk() as they should be removed in the next patch to avoid
    compilation error.
  - update definition of cpu_khz: __read_mostly -> __ro_after_init.
  - drop vm_event_reset_vmtrace(). It is defibed in asm-generic/vm_event.h.
  - move vm_event_*() functions from stubs.c to riscv/vm_event.c.
  - s/BUG/BUG_ON("unimplemented") in stubs.c
  - back irq_actor_none() and irq_actor_none() as common/irq.c isn't compiled at this moment,
    so this function are needed to avoid compilation error.
  - defined max_page to avoid compilation error, it will be removed as soon as common/page_alloc.c will
    be compiled.
---
Changes in V3:
 - code style fixes.
 - update attribute for frametable_base_pdx  and frametable_virt_end to __ro_after_init.
   insteaf of read_mostly.
 - use BUG() instead of assert_failed/WARN for newly introduced stubs.
 - drop "#include <public/vm_event.h>" in stubs.c and use forward declaration instead.
 - drop ack_node() and end_node() as they aren't used now.
---
Changes in V2:
 - define udelay stub
 - remove 'select HAS_PDX' from RISC-V Kconfig because of
   https://lore.kernel.org/xen-devel/20231006144405.1078260-1-andrew.cooper3@citrix.com/
---
 xen/arch/riscv/Makefile |   1 +
 xen/arch/riscv/mm.c     |  50 +++++
 xen/arch/riscv/setup.c  |   8 +
 xen/arch/riscv/stubs.c  | 439 ++++++++++++++++++++++++++++++++++++++++
 xen/arch/riscv/traps.c  |  25 +++
 5 files changed, 523 insertions(+)
 create mode 100644 xen/arch/riscv/stubs.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 1ed1a8369b..60afbc0ad9 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 += stubs.o
 obj-y += traps.o
 obj-y += vm_event.o
 
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index fe3a43be20..2c3fb7d72e 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/cache.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
@@ -14,6 +15,9 @@
 #include <asm/page.h>
 #include <asm/processor.h>
 
+unsigned long __ro_after_init frametable_base_pdx;
+unsigned long __ro_after_init frametable_virt_end;
+
 struct mmu_desc {
     unsigned int num_levels;
     unsigned int pgtbl_count;
@@ -294,3 +298,49 @@ unsigned long __init calc_phys_offset(void)
     phys_offset = load_start - XEN_VIRT_START;
     return phys_offset;
 }
+
+void put_page(struct page_info *page)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned long get_upper_mfn_bound(void)
+{
+    /* No memory hotplug yet, so current memory limit is the final one. */
+    return max_page - 1;
+}
+
+void arch_dump_shared_mem_info(void)
+{
+    BUG_ON("unimplemented");
+}
+
+int populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    BUG_ON("unimplemented");
+    return -1;
+}
+
+int xenmem_add_to_physmap_one(struct domain *d, unsigned int space,
+                              union add_to_physmap_extra extra,
+                              unsigned long idx, gfn_t gfn)
+{
+    BUG_ON("unimplemented");
+
+    return 0;
+}
+
+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/setup.c b/xen/arch/riscv/setup.c
index 98a94c4c48..8bb5bdb2ae 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,11 +1,19 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/compile.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 
+#include <public/version.h>
+
 #include <asm/early_printk.h>
 
+void arch_get_xen_caps(xen_capabilities_info_t *info)
+{
+    BUG_ON("unimplemented");
+}
+
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
new file mode 100644
index 0000000000..8285bcffef
--- /dev/null
+++ b/xen/arch/riscv/stubs.c
@@ -0,0 +1,439 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/cpumask.h>
+#include <xen/domain.h>
+#include <xen/irq.h>
+#include <xen/nodemask.h>
+#include <xen/time.h>
+#include <public/domctl.h>
+
+#include <asm/current.h>
+
+/* smpboot.c */
+
+cpumask_t cpu_online_map;
+cpumask_t cpu_present_map;
+cpumask_t cpu_possible_map;
+
+/* ID of the PCPU we're running on */
+DEFINE_PER_CPU(unsigned int, cpu_id);
+/* XXX these seem awfully x86ish... */
+/* representing HT siblings of each logical CPU */
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_mask);
+/* representing HT and core siblings of each logical CPU */
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
+
+nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
+
+/*
+ * max_page is defined in page_alloc.c which isn't complied for now.
+ * definition of max_page will be remove as soon as page_alloc is built.
+ */
+unsigned long __read_mostly max_page;
+
+/* time.c */
+
+unsigned long __ro_after_init cpu_khz;  /* CPU clock frequency in kHz. */
+
+s_time_t get_s_time(void)
+{
+    BUG_ON("unimplemented");
+}
+
+int reprogram_timer(s_time_t timeout)
+{
+    BUG_ON("unimplemented");
+}
+
+void send_timer_event(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+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,
+                    XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_get_domain_info(const struct domain *d,
+                          struct xen_domctl_getdomaininfo *info)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG_ON("unimplemented");
+}
+
+/* monitor.c */
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
+{
+    BUG_ON("unimplemented");
+}
+
+/* smp.c */
+
+void arch_flush_tlb_mask(const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+void smp_send_event_check_mask(const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+void smp_send_call_function_mask(const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+/* irq.c */
+
+struct pirq *alloc_pirq_struct(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int pirq_guest_bind(struct vcpu *v, struct pirq *pirq, int will_share)
+{
+    BUG_ON("unimplemented");
+}
+
+void pirq_guest_unbind(struct domain *d, struct pirq *pirq)
+{
+    BUG_ON("unimplemented");
+}
+
+void pirq_set_affinity(struct domain *d, int pirq, const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+hw_irq_controller no_irq_type = {
+    .typename = "none",
+    .startup = irq_startup_none,
+    .shutdown = irq_shutdown_none,
+    .enable = irq_enable_none,
+    .disable = irq_disable_none,
+};
+
+int arch_init_one_irq_desc(struct irq_desc *desc)
+{
+    BUG_ON("unimplemented");
+}
+
+void smp_send_state_dump(unsigned int cpu)
+{
+    BUG_ON("unimplemented");
+}
+
+/* domain.c */
+
+DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
+unsigned long __per_cpu_offset[NR_CPUS];
+
+void context_switch(struct vcpu *prev, struct vcpu *next)
+{
+    BUG_ON("unimplemented");
+}
+
+void continue_running(struct vcpu *same)
+{
+    BUG_ON("unimplemented");
+}
+
+void sync_local_execstate(void)
+{
+    BUG_ON("unimplemented");
+}
+
+void sync_vcpu_execstate(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void startup_cpu_idle_loop(void)
+{
+    BUG_ON("unimplemented");
+}
+
+void free_domain_struct(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void dump_pageframe_info(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void free_vcpu_struct(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_vcpu_create(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_vcpu_destroy(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_switch_to_aarch64_mode(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_domain_create(struct domain *d,
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_domain_teardown(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_destroy(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_shutdown(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_pause(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_unpause(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_domain_soft_reset(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_creation_finished(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_vcpu_reset(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+int domain_relinquish_resources(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_dump_domain_info(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_mark_events_pending(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_update_evtchn_irq(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_block_unless_event_pending(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_kick(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+struct domain *alloc_domain_struct(void)
+{
+    BUG_ON("unimplemented");
+}
+
+struct vcpu *alloc_vcpu_struct(const struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned long
+hypercall_create_continuation(unsigned int op, const char *format, ...)
+{
+    BUG_ON("unimplemented");
+}
+
+int __init parse_arch_dom0_param(const char *s, const char *e)
+{
+    BUG_ON("unimplemented");
+}
+
+/* guestcopy.c */
+
+unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned long raw_copy_from_guest(void *to, const void __user *from,
+                                  unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+/* sysctl.c */
+
+long arch_do_sysctl(struct xen_sysctl *sysctl,
+                    XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
+{
+    BUG_ON("unimplemented");
+}
+
+/* p2m.c */
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    BUG_ON("unimplemented");
+}
+
+int unmap_mmio_regions(struct domain *d,
+                       gfn_t start_gfn,
+                       unsigned long nr,
+                       mfn_t mfn)
+{
+    BUG_ON("unimplemented");
+}
+
+int map_mmio_regions(struct domain *d,
+                     gfn_t start_gfn,
+                     unsigned long nr,
+                     mfn_t mfn)
+{
+    BUG_ON("unimplemented");
+}
+
+int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
+                          unsigned long gfn, mfn_t mfn)
+{
+    BUG_ON("unimplemented");
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    BUG_ON("unimplemented");
+}
+
+/* delay.c */
+
+void udelay(unsigned long usecs)
+{
+    BUG_ON("unimplemented");
+}
+
+/* guest_access.h */ 
+
+static inline unsigned long raw_clear_guest(void *to, unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+/* smpboot.c */
+
+int __cpu_up(unsigned int cpu)
+{
+    BUG_ON("unimplemented");
+}
+
+void __cpu_disable(void)
+{
+    BUG_ON("unimplemented");
+}
+
+void __cpu_die(unsigned int cpu)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * The following functions are defined in common/irq.c, but common/irq.c isn't
+ * built for now. These changes will be removed there when common/irq.c is
+ * ready.
+ */
+
+void cf_check irq_actor_none(struct irq_desc *desc)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned int cf_check irq_startup_none(struct irq_desc *desc)
+{
+    BUG_ON("unimplemented");
+
+    return 0;
+}
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ccd3593f5a..5415cf8d90 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -4,6 +4,10 @@
  *
  * RISC-V Trap handlers
  */
+
+#include <xen/lib.h>
+#include <xen/sched.h>
+
 #include <asm/processor.h>
 #include <asm/traps.h>
 
@@ -11,3 +15,24 @@ void do_trap(struct cpu_user_regs *cpu_regs)
 {
     die();
 }
+
+void vcpu_show_execution_state(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    printk("implement show_execution_state(regs)\n");
+}
+
+void arch_hypercall_tasklet_result(struct vcpu *v, long res)
+{
+    BUG_ON("unimplemented");
+}
+
+enum mc_disposition arch_do_multicall_call(struct mc_state *state)
+{
+    BUG_ON("unimplemented");
+    return mc_continue;
+}
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 10:55:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 10:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700472.1093685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rryGm-00039X-A6; Wed, 03 Apr 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 700472.1093685; Wed, 03 Apr 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 1rryGm-00039Q-7P; Wed, 03 Apr 2024 10:55:04 +0000
Received: by outflank-mailman (input) for mailman id 700472;
 Wed, 03 Apr 2024 10:55: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=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rryGk-00039K-VU
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 10:55:02 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e3e0dce-f1a8-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 12:55:00 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2d8129797fcso43526461fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 03:55:00 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 z1-20020a2e8401000000b002d4979caef8sm1905735ljg.42.2024.04.03.03.54.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 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: 9e3e0dce-f1a8-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712141700; x=1712746500; 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=6mK0JgUHzIjopiCE/QjOIIuyWRbSpDJYSH7YSGmTtMk=;
        b=eFyMZj/9EDp7RJJ/v9ljaMee9a66Yf5mIEYfTLpI1j44WMog22kdaOh4Ra4ubvbBZk
         yygW1fbRVSXelDG0GF/QGapluvq6ZIDMVZO4sZ6oTj3xRqeVBoMO3f+R1wa0sMOn2vDO
         QyMCbesQxndSNm9mE2gZap49wc1q2VKjAmLW+26jqF810oj4selA2Gi6u64+80ZLYoz2
         y9TW4+xb55Q0/hIThEohnda59DPxfq2aWcvPMqXTfKbuYe0t4ocwGKfUNW0VurUQBanX
         74SeZSBiON+I1evoT1CzogDMqGuOiYzCJvvdqeDAxXfVlIbu+Wsxk13IOlGZBWQPoSPG
         N+JQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712141700; x=1712746500;
        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=6mK0JgUHzIjopiCE/QjOIIuyWRbSpDJYSH7YSGmTtMk=;
        b=fo4Y0Wsj9HG4o5wuLBpS+4wcvjMZEtAMdhRFP+r86ArfWscIAo88tX/Lw6DUcgZI/1
         ZRGkfNZBzwSsO/cb/OXeGbkx9yaAAp25wSvlUfnGocfqsk+vz92UMe2EOZh+7Y3+8T+e
         fSJN//Ks9KpMLVJ++qzkPjHWzlUHxUlvY7B5F7BuOo07xJPFos6LU2P++jIQK/our62T
         dAMDLEBarowy76lH0rFDhYrtjVvuRnKdvJWnOfzQsl9h1GW7kFI1QODUsZM7l4kli1Vy
         E80dPjib4KsUKjiuyYAyHM3dfd0nJ+B/DgsWc50iui0bbVUTBWsiHur7OHBwffcCv15U
         C0cQ==
X-Forwarded-Encrypted: i=1; AJvYcCUSv4ZoPGN7bbX5wUuIAmH6TcqBGc4Bq9hYg+x/qP8ILXMPpPGYVFA0YgsUBwRrZNmajATU4s2J/6guAaDrTuGJUitMSg5ucDVMzBj0J6A=
X-Gm-Message-State: AOJu0Ywa14BsLvVRO7fpboXZXnm2K8d4Gkrz+IaTTxymk3JnnNBFD5Mk
	b7N/iPZ6czm7IE1F95ivGrvBi0vEaVckPXVMDVsjgj+4rabzebig
X-Google-Smtp-Source: AGHT+IFH5WNVk8eYCbbXlY1l/e5xEuN0EfUxlxvnm1Oq5PZDf3S7zybNtGI5Ijti4m/ZdVHmnMRiCg==
X-Received: by 2002:a2e:9e87:0:b0:2d5:122a:4b1f with SMTP id f7-20020a2e9e87000000b002d5122a4b1fmr9732099ljk.43.1712141700124;
        Wed, 03 Apr 2024 03:55:00 -0700 (PDT)
Message-ID: <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	 <sstabellini@kernel.org>, Alistair Francis <alistair.francis@wdc.com>, Bob
	Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, 
	xen-devel@lists.xenproject.org
Date: Wed, 03 Apr 2024 12:54:59 +0200
In-Reply-To: <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
	 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.2 (3.50.2-1.fc39) 
MIME-Version: 1.0

On Wed, 2024-04-03 at 12:28 +0200, Jan Beulich wrote:
> On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > This patch disables unnecessary configs for two cases:
> > 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds
> > (GitLab CI jobs).
> > 2. By using tiny64_defconfig for non-randconfig builds.
> >=20
> > Only configs which lead to compilation issues were disabled.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V7:
> > =C2=A0- Disable only configs which cause compilation issues.
>=20
> Since the description doesn't go into details: While I can see that
> PERF_COUNTERS and LIVEPATCH may require (a little / some more) extra
> work, are HYPFS, ARGO, and XSM really causing issues?
For Argo, I recieved the following compilation errors:
   common/argo.c:1416:5: error: unknown type name 'p2m_type_t'; did you
   mean 'hvmmem_type_t'?
    1416 |     p2m_type_t p2mt;
         |     ^~~~~~~~~~
         |     hvmmem_type_t
   common/argo.c:1419:11: error: implicit declaration of function
   'check_get_page_from_gfn' [-Werror=3Dimplicit-function-declaration]
    1419 |     ret =3D check_get_page_from_gfn(d, gfn, false, &p2mt, &page)=
;
         |           ^~~~~~~~~~~~~~~~~~~~~~~
   common/argo.c:1427:10: error: 'p2m_ram_rw' undeclared (first use in
   this function)
    1427 |     case p2m_ram_rw:
  =20
It seems it should be included xen/p2m-common.h and asm/p2m.h in
common/argo.c.

For CONFIG_HYPFS_CONFIG ( there is no issue with CONFIG_HYPFS,
overlooked that ):
   common/config_data.S:1:10: fatal error: asm/asm_defns.h: No such file
   or directory
       1 | #include <asm/asm_defns.h>
  =20

For XSM, I recieved the following error:

   xsm/xsm_core.c:79:19: error: 'xsm_core_init' defined but not used [-
   Werror=3Dunused-function]
      79 | static int __init xsm_core_init(const void *policy_buffer,
   size_t policy_size)

I'll add an information with compilation errors to the commit message.

~ Oleksii

>=20
> > --- a/xen/arch/riscv/configs/tiny64_defconfig
> > +++ b/xen/arch/riscv/configs/tiny64_defconfig
> > @@ -1,12 +1,11 @@
> > -# 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
> > =C2=A0# CONFIG_HYPFS is not set
> > =C2=A0# CONFIG_GRANT_TABLE is not set
> > -# CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
> > =C2=A0# CONFIG_MEM_ACCESS is not set
> > +# CONFIG_ARGO is not set
> > +# CONFIG_PERF_COUNTERS is not set
> > +# CONFIG_COVERAGE is not set
> > +# CONFIG_LIVEPATCH is not set
> > +# CONFIG_XSM is not set
> > =C2=A0
> > =C2=A0CONFIG_RISCV_64=3Dy
> > =C2=A0CONFIG_DEBUG=3Dy
>=20
> The description also says nothing about the items being removed.
>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 11:10:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 11:10:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700476.1093695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rryVo-00083T-Kj; Wed, 03 Apr 2024 11:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700476.1093695; Wed, 03 Apr 2024 11: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 1rryVo-00083M-HC; Wed, 03 Apr 2024 11:10:36 +0000
Received: by outflank-mailman (input) for mailman id 700476;
 Wed, 03 Apr 2024 11: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=g+Gt=LI=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rryVm-00083G-9R
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 11:10:34 +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 c89fdb0d-f1aa-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 13:10:32 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712142622415566.4080634260672;
 Wed, 3 Apr 2024 04:10: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: c89fdb0d-f1aa-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; t=1712142628; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=TEuSlsBVETkFgkqlwOn4OcQaJFy6whFcQBJFmy62oE30/8o4HQY4lGmecTYfNwZVCiYgzeh5IYSMhBdPGuWcahjKYDYz31aR/YQm4d7neC4Wi91rF7YceYtkxjcwxSwJHFVSw576Pu/BNgPM9zEW4PtVfB3go4CUzYlk5Zd8+SY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712142628; 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=vYnsYevUGog/RZ9SYLN/Yy6y6pBJcq5EDEgqMMPx3M4=; 
	b=nRZ7W3FCu54rQjMMZVlhYKCcfRUT8ZIOWM84eTm+lDRWpfVLruqyYkEX+QvEBcRXuWzBsyqO36SwQRl5jXw0j5VURRoqbp863H3OCu3sxUo8Mvf75KmRD9Br9ssETRdg26XiW5qXYFoRKyC1tNjMlzoS6tHT7O51vOX+23YylTI=
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=1712142628;
	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=vYnsYevUGog/RZ9SYLN/Yy6y6pBJcq5EDEgqMMPx3M4=;
	b=KMldN5cqdfP7EG23GrCpIBQe77xI3xb+kdb9jqgMkOsQdijb4fWm4O8UjHMdx5cO
	rk8SyBfynToxjKr7l+uVxvo17PS3TE7BaYe7alnypFQ3tUY+ZbHOFTHhM8wOV/Y5Drz
	I4k95FNOSXGpInE5RPR5plx/T1uHDSTeJcL4jzds=
Message-ID: <2df1e3ef-32c5-45c3-af1b-e9473a4e9120@apertussolutions.com>
Date: Wed, 3 Apr 2024 07:10:20 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@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: <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/3/24 02:16, Jan Beulich wrote:
> On 02.04.2024 19:06, Andrew Cooper wrote:
>> The commit makes a claim without any kind of justification.
> 
> Well, what does "have no business" leave open?

Why does it not have any business? Why should a domain that creates an 
event channel not be able to inquire about its status?

>> The claim is false, and the commit broke lsevtchn in dom0.
> 
> Or alternatively lsevtchn was doing something that was never meant to work
> (from Xen's perspective).

Again, you have not said why this is a problem. What concern does it 
create? Does it open the door for access elevation, resource 
deprivation, or some other malicious behaviors?

>>   It is also quite
>> obvious from XSM_TARGET that it has broken device model stubdoms too.
> 
> Why would that be "obvious"? What business would a stubdom have to look at
> Xen's side of an evtchn?

Again, you have not expressed why it shouldn't be able to do so.

>> Whether to return information about a xen-owned evtchn is a matter of policy,
>> and it's not acceptable to short circuit the XSM on the matter.
> 
> I can certainly accept this as one possible view point. As in so many cases
> I'm afraid I dislike you putting it as if it was the only possible one.

In fact, this commit is in violation of the XSM. It hard-codes a 
resource access check outside XSM, thus breaking the fine-grained access 
control of FLASK.

> In summary: The supposed justification you claim is missing in the original
> change is imo also missing here then: What business would any entity in the
> system have to look at Xen's side of an event channel? Back at the time, 3
> people agreed that it's "none".

As stated, you provided no reason or justification for "has no business" 
and by face value is an opinion that a few people agreed with. As for 
why, there could be a myriad number of reasons a domain may want to 
check the status of an interface it has with the hypervisor. From just 
logging its state for debug to throttling attempts at sending an event. 
So why, from a security/access control decision, does this access have 
to absolutely blocked, even from FLASK?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 11:18:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 11:18:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700480.1093704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrydP-0000r7-C0; Wed, 03 Apr 2024 11:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700480.1093704; Wed, 03 Apr 2024 11:18:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrydP-0000r0-9C; Wed, 03 Apr 2024 11:18:27 +0000
Received: by outflank-mailman (input) for mailman id 700480;
 Wed, 03 Apr 2024 11:18:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9Pv4=LI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rrydO-0000qu-E6
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 11:18:26 +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 e2adf291-f1ab-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 13:18:24 +0200 (CEST)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8912B5CB95;
 Wed,  3 Apr 2024 11:18:23 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 4536D13357;
 Wed,  3 Apr 2024 11:18:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id pbwfD/86DWaqHwAAn2gu4w
 (envelope-from <jgross@suse.com>); Wed, 03 Apr 2024 11:18: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: e2adf291-f1ab-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712143103; 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=1Y0jGXZqb0rdwJ64VXxKWs0bfCrQp0lTv9QM42wTUe8=;
	b=ldS8JIwm28MrnZFAxoIlJo9VimnCZ3sppixIZVYEkD99bDCjHnpuTmwnwT42GRJW9hESHm
	+FVPg1V53+eE5Rvqk+us7W9PYCHrdG320fjJHGkztMbefb67bG9tXSH9JW8cCI0k4kIdUz
	fuOTEv4wVO4cYKeZDdnCRI/3Xfx+b6g=
Authentication-Results: smtp-out2.suse.de;
	dkim=none
Message-ID: <34407204-b661-4cde-b88f-461808711a08@suse.com>
Date: Wed, 3 Apr 2024 13:18:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------rnjU2r0IIOv8WTSKUqNhq7Nj"
X-Spam-Score: 0.50
X-Spamd-Bar: /
X-Spam-Flag: NO
X-Spamd-Result: default: False [0.50 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[8];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 SIGNED_PGP(-2.00)[];
	 FREEMAIL_TO(0.00)[gmail.com,suse.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 MID_RHS_MATCH_FROM(0.00)[];
	 BAYES_HAM(-0.00)[25.04%];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 TAGGED_RCPT(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FREEMAIL_CC(0.00)[cardoe.com,kernel.org,wdc.com,gmail.com,lists.xenproject.org];
	 RCVD_TLS_ALL(0.00)[];
	 SUSPICIOUS_RECIPS(1.50)[];
	 RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:98:from]
X-Spam-Level: 
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Rspamd-Queue-Id: 8912B5CB95

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------rnjU2r0IIOv8WTSKUqNhq7Nj
Content-Type: multipart/mixed; boundary="------------GtrRK6l5f04mfCavtFieklpC";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksii <oleksii.kurochko@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Message-ID: <34407204-b661-4cde-b88f-461808711a08@suse.com>
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
In-Reply-To: <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.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=

--------------GtrRK6l5f04mfCavtFieklpC
Content-Type: multipart/mixed; boundary="------------H0Pr8zRkazmGHS27NIBZ9e7p"

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

T24gMDMuMDQuMjQgMTI6NTQsIE9sZWtzaWkgd3JvdGU6DQo+IE9uIFdlZCwgMjAyNC0wNC0w
MyBhdCAxMjoyOCArMDIwMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+PiBPbiAwMy4wNC4yMDI0
IDEyOjE5LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOg0KPj4+IFRoaXMgcGF0Y2ggZGlzYWJs
ZXMgdW5uZWNlc3NhcnkgY29uZmlncyBmb3IgdHdvIGNhc2VzOg0KPj4+IDEuIEJ5IHV0aWxp
emluZyBFWFRSQV9GSVhFRF9SQU5EQ09ORklHIGZvciByYW5kY29uZmlnIGJ1aWxkcw0KPj4+
IChHaXRMYWIgQ0kgam9icykuDQo+Pj4gMi4gQnkgdXNpbmcgdGlueTY0X2RlZmNvbmZpZyBm
b3Igbm9uLXJhbmRjb25maWcgYnVpbGRzLg0KPj4+DQo+Pj4gT25seSBjb25maWdzIHdoaWNo
IGxlYWQgdG8gY29tcGlsYXRpb24gaXNzdWVzIHdlcmUgZGlzYWJsZWQuDQo+Pj4NCj4+PiBT
aWduZWQtb2ZmLWJ5OiBPbGVrc2lpIEt1cm9jaGtvIDxvbGVrc2lpLmt1cm9jaGtvQGdtYWls
LmNvbT4NCj4+PiAtLS0NCj4+PiBDaGFuZ2VzIGluIFY3Og0KPj4+ICDCoC0gRGlzYWJsZSBv
bmx5IGNvbmZpZ3Mgd2hpY2ggY2F1c2UgY29tcGlsYXRpb24gaXNzdWVzLg0KPj4NCj4+IFNp
bmNlIHRoZSBkZXNjcmlwdGlvbiBkb2Vzbid0IGdvIGludG8gZGV0YWlsczogV2hpbGUgSSBj
YW4gc2VlIHRoYXQNCj4+IFBFUkZfQ09VTlRFUlMgYW5kIExJVkVQQVRDSCBtYXkgcmVxdWly
ZSAoYSBsaXR0bGUgLyBzb21lIG1vcmUpIGV4dHJhDQo+PiB3b3JrLCBhcmUgSFlQRlMsIEFS
R08sIGFuZCBYU00gcmVhbGx5IGNhdXNpbmcgaXNzdWVzPw0KPiBGb3IgQXJnbywgSSByZWNp
ZXZlZCB0aGUgZm9sbG93aW5nIGNvbXBpbGF0aW9uIGVycm9yczoNCj4gICAgIGNvbW1vbi9h
cmdvLmM6MTQxNjo1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3AybV90eXBlX3QnOyBk
aWQgeW91DQo+ICAgICBtZWFuICdodm1tZW1fdHlwZV90Jz8NCj4gICAgICAxNDE2IHwgICAg
IHAybV90eXBlX3QgcDJtdDsNCj4gICAgICAgICAgIHwgICAgIF5+fn5+fn5+fn4NCj4gICAg
ICAgICAgIHwgICAgIGh2bW1lbV90eXBlX3QNCj4gICAgIGNvbW1vbi9hcmdvLmM6MTQxOTox
MTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uDQo+ICAgICAnY2hl
Y2tfZ2V0X3BhZ2VfZnJvbV9nZm4nIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xh
cmF0aW9uXQ0KPiAgICAgIDE0MTkgfCAgICAgcmV0ID0gY2hlY2tfZ2V0X3BhZ2VfZnJvbV9n
Zm4oZCwgZ2ZuLCBmYWxzZSwgJnAybXQsICZwYWdlKTsNCj4gICAgICAgICAgIHwgICAgICAg
ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ICAgICBjb21tb24vYXJnby5jOjE0Mjc6
MTA6IGVycm9yOiAncDJtX3JhbV9ydycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluDQo+ICAg
ICB0aGlzIGZ1bmN0aW9uKQ0KPiAgICAgIDE0MjcgfCAgICAgY2FzZSBwMm1fcmFtX3J3Og0K
PiAgICAgDQo+IEl0IHNlZW1zIGl0IHNob3VsZCBiZSBpbmNsdWRlZCB4ZW4vcDJtLWNvbW1v
bi5oIGFuZCBhc20vcDJtLmggaW4NCj4gY29tbW9uL2FyZ28uYy4NCj4gDQo+IEZvciBDT05G
SUdfSFlQRlNfQ09ORklHICggdGhlcmUgaXMgbm8gaXNzdWUgd2l0aCBDT05GSUdfSFlQRlMs
DQo+IG92ZXJsb29rZWQgdGhhdCApOg0KPiAgICAgY29tbW9uL2NvbmZpZ19kYXRhLlM6MTox
MDogZmF0YWwgZXJyb3I6IGFzbS9hc21fZGVmbnMuaDogTm8gc3VjaCBmaWxlDQo+ICAgICBv
ciBkaXJlY3RvcnkNCj4gICAgICAgICAxIHwgI2luY2x1ZGUgPGFzbS9hc21fZGVmbnMuaD4N
Cg0KSG1tLCB0aGlzIHNlZW1zIHRvIGJlIG5lZWRlZCBmb3IgQVNNX0lOVCgpLCB3aGljaCBp
cyBjdXJyZW50bHkgZGVmaW5lZCB0aGUgc2FtZQ0Kd2F5IGZvciBhcm0gYW5kIHg4Ni4gTWF5
YmUgd2Ugc2hvdWxkIG1vdmUgdGhhdCBtYWNybyB0byB4ZW4vbGlua2FnZS5oIGFuZA0KaW5j
bHVkZSB0aGF0IG9uZSBpbnN0ZWFkIG9mIGFzbV9kZWZucy5oPw0KDQoNCkp1ZXJnZW4NCg==

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

--------------H0Pr8zRkazmGHS27NIBZ9e7p--

--------------GtrRK6l5f04mfCavtFieklpC--

--------------rnjU2r0IIOv8WTSKUqNhq7Nj
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/Ey8FAmYNOv4FAwAAAAAACgkQsN6d1ii/Ey+V
2Af9HbAi3mkuEjHsExkSXCMGqO6dIQE+/gDVQazN9MmPqgmG858X5zXpm7xTvVICVTVBqKuINiKb
Kiggi17eIamjgu1JEa1NWxMWoS5mGYG5fVViaLEKDSId/3QADi/KlkK2FoOI0LcNeBDjKMwbCwyS
AxRkruSiDNWXVI5Qnkl2XIwEjQgMKm68ak8PT33MbBdnGsjw6trCnJTmSrWuIde01axFq1Nv951L
C0wMIt1Dr0ekx6afi6G6YW4Q+8S2ksubNFLS9rAzA/C/omW+udM0ZS5a6RhPQIn33PPr3cx1zgU+
lCDrvk/DBSWJkQVZwko5eLxegOondjJ6WuRAvC1fhA==
=ArFl
-----END PGP SIGNATURE-----

--------------rnjU2r0IIOv8WTSKUqNhq7Nj--


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 11:48:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 11:48:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700484.1093715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrz64-0008Je-LI; Wed, 03 Apr 2024 11:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700484.1093715; Wed, 03 Apr 2024 11: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 1rrz64-0008JX-Hz; Wed, 03 Apr 2024 11:48:04 +0000
Received: by outflank-mailman (input) for mailman id 700484;
 Wed, 03 Apr 2024 11:48: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrz63-0008JR-6O
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 11:48:03 +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 062c1e85-f1b0-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 13:48:01 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-415584360c0so27158585e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 04:48: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
 v7-20020a5d59c7000000b003432ffc3aeasm16875631wry.56.2024.04.03.04.48.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 04:48: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: 062c1e85-f1b0-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712144881; x=1712749681; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2owOw/yQvthp7c/KpUM1LHw3jB7QZA6ll0rBYGECgwI=;
        b=asj1vuMmhGF8SB/bahohXIfLjTTl4lfZNQPmlKg2MeGSF03i0ds00sWinJAYQL1E1L
         O21ArvYjg91XDd1t255HqMejqUGKcKM5rwplOwENXkKoo7MQGNd7C6A8CPDDJVMES7vK
         mRsUsbXVgyVRitd/pBSOHN4Ubbto6UaUBPBlP1g4z/P8qeflZhiKTI4Snj8RiT15MMUM
         Og+jfHTlVsup3UhpnqIRpV/QnGu0r5572FBtO2q9KEopwUWacF+T577R/1U4naNRQAIY
         GwqMutqT1R2CJozFLjcP2q+/xq6PIesI/ri1qvI1X5ZQTFp2F8Chzmpn82An9dfv5BG3
         +0tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712144881; x=1712749681;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2owOw/yQvthp7c/KpUM1LHw3jB7QZA6ll0rBYGECgwI=;
        b=o5Sg0eRgpIJxzBeDsTjQbJ/LgDh52iiH6x4xM1JpJ2Eh2r+pMRwesshsuRGu2WGao/
         K5D15UkpWoSdcI1MYJ99vHEUxmK/rcidJ848Q/QD1TIs+qoCxV1vPNPbMbM/cuM0aniw
         Pe4aLqzAS6+AEDmsw6lsMqGLEx9vewtZYxgZmXe8+dzkuxiVvXcCMDaeTt7Zu9+EuwPj
         hXNallRjrSx9jkU4qxEs8bw7DFquN7NsvJ24uT7jBiLFz83EIfzfbhC2IZIy9zhSc9wK
         5LEber0UquEQALvfP2n/pY5SxiqLT+1xN+gRkNlYt5EV9zZXK0IZ9tniCaxE5tgXHbW2
         /yFg==
X-Forwarded-Encrypted: i=1; AJvYcCU1uGMkVztIad6RqPGsv8PfM2qrmcDBpw0ZwcT0CAImxqP5ochtsPS3YWu2KCd73ecqJFBJV1hpcTLy/sfF98EUwqiOuSZlBBxF8UioUDg=
X-Gm-Message-State: AOJu0YxdoiwI3X7RkTLLu3TtHC2hghAdqY2edZbUmTUXIPvwkSOGMTK4
	spRkjdhDv64RklCxJ3yblhIXuE+UDmeseoit93mTf8Hv/3x2cXWPtVoEqPBOrg==
X-Google-Smtp-Source: AGHT+IEjYYResav9CJl9L6T4a8DM9HvcEVDV1+ijBm7uGZhAtZrLpQOBxN2VdqlDFXfeqPsxwjg8Nw==
X-Received: by 2002:a05:6000:1562:b0:343:39ef:53b0 with SMTP id 2-20020a056000156200b0034339ef53b0mr12368756wrz.24.1712144881082;
        Wed, 03 Apr 2024 04:48:01 -0700 (PDT)
Message-ID: <07971008-b961-49d7-8337-df9e1d2794ba@suse.com>
Date: Wed, 3 Apr 2024 13:47:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
To: Juergen Gross <jgross@suse.com>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
 <34407204-b661-4cde-b88f-461808711a08@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: <34407204-b661-4cde-b88f-461808711a08@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.04.2024 13:18, Juergen Gross wrote:
> On 03.04.24 12:54, Oleksii wrote:
>> On Wed, 2024-04-03 at 12:28 +0200, Jan Beulich wrote:
>>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>>> This patch disables unnecessary configs for two cases:
>>>> 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds
>>>> (GitLab CI jobs).
>>>> 2. By using tiny64_defconfig for non-randconfig builds.
>>>>
>>>> Only configs which lead to compilation issues were disabled.
>>>>
>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>> ---
>>>> Changes in V7:
>>>>   - Disable only configs which cause compilation issues.
>>>
>>> Since the description doesn't go into details: While I can see that
>>> PERF_COUNTERS and LIVEPATCH may require (a little / some more) extra
>>> work, are HYPFS, ARGO, and XSM really causing issues?
>> For Argo, I recieved the following compilation errors:
>>     common/argo.c:1416:5: error: unknown type name 'p2m_type_t'; did you
>>     mean 'hvmmem_type_t'?
>>      1416 |     p2m_type_t p2mt;
>>           |     ^~~~~~~~~~
>>           |     hvmmem_type_t
>>     common/argo.c:1419:11: error: implicit declaration of function
>>     'check_get_page_from_gfn' [-Werror=implicit-function-declaration]
>>      1419 |     ret = check_get_page_from_gfn(d, gfn, false, &p2mt, &page);
>>           |           ^~~~~~~~~~~~~~~~~~~~~~~
>>     common/argo.c:1427:10: error: 'p2m_ram_rw' undeclared (first use in
>>     this function)
>>      1427 |     case p2m_ram_rw:
>>     
>> It seems it should be included xen/p2m-common.h and asm/p2m.h in
>> common/argo.c.
>>
>> For CONFIG_HYPFS_CONFIG ( there is no issue with CONFIG_HYPFS,
>> overlooked that ):
>>     common/config_data.S:1:10: fatal error: asm/asm_defns.h: No such file
>>     or directory
>>         1 | #include <asm/asm_defns.h>
> 
> Hmm, this seems to be needed for ASM_INT(), which is currently defined the same
> way for arm and x86. Maybe we should move that macro to xen/linkage.h and
> include that one instead of asm_defns.h?

Indeed while doing the entry annotation work (also touching the build logic
here iirc) I was thinking of doing so.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 11:50:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 11:50:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700487.1093725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrz8n-00021N-6W; Wed, 03 Apr 2024 11:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700487.1093725; Wed, 03 Apr 2024 11:50:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrz8n-00021G-1q; Wed, 03 Apr 2024 11:50:53 +0000
Received: by outflank-mailman (input) for mailman id 700487;
 Wed, 03 Apr 2024 11:50:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g+Gt=LI=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rrz8l-00021A-Mo
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 11:50:51 +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 69df17df-f1b0-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 13:50:50 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 171214504546657.829033699787374;
 Wed, 3 Apr 2024 04:50: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: 69df17df-f1b0-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; t=1712145046; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=gXvCa8mL/1hTEjPMVvO4R2DVzjkuv+EdPotD8IbmxqqdL5E1Mj8D9PgKCjYagrSe1R9TOSJzoUe7dghoxDIB4t+4wPv2tvglM3cNx44C7HOoQZ4aYAZW21B5B18iGDFpKH8oYFJR9D4Dso6Q5tdJWpPDDJis6Xc7dG+AayeDsQs=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712145046; 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=dPtf2DikAgeKBBNVdBPEs0yDaibMGQwykH+1bFdy0Lw=; 
	b=PuApV5HQ36OmrtQsUiTV4yvmWVdlQgdkNbWAJxUUQW0S2zJoY3efaQYj3kd8qd8LPYHYlS68CuhVIkXaHlT/yfWNK2IQr/cVoPkV+WsS5kM6ttaykKLcFQX8+BqvbWUyMJ+EQ/L6Aw0lrBSJabya2c2nJzYFmYI1X5JllV30jiA=
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=1712145046;
	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=dPtf2DikAgeKBBNVdBPEs0yDaibMGQwykH+1bFdy0Lw=;
	b=QTGbY6Gw4CzOFaU2+nZmUuJvAcK8cRP2k+YfE8TCNUtqwn1o2310hIVcN2s2H19D
	QOthZNsVy1N0ekRsSdUkW4K0xZLmFg6q36h1LZ7bi4HWGJkg0uC+b8cRQej7b1KF5V4
	NC4xhd2Ss8kd3k/SIx9AtMas96D96ozu3lH4kOCQ=
Message-ID: <3aa0893b-7efd-4ca1-a405-e897edc7402f@apertussolutions.com>
Date: Wed, 3 Apr 2024 07:50:43 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <f2b596e6-0aec-4948-ad7a-aa38adaa7dcc@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: <f2b596e6-0aec-4948-ad7a-aa38adaa7dcc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/3/24 02:52, Jan Beulich wrote:
> On 03.04.2024 08:16, Jan Beulich wrote:
>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>> Whether to return information about a xen-owned evtchn is a matter of policy,
>>> and it's not acceptable to short circuit the XSM on the matter.
>>
>> I can certainly accept this as one possible view point. As in so many cases
>> I'm afraid I dislike you putting it as if it was the only possible one.
> 
> Further to this: Is there even a way to express the same denial in XSM?
> alloc_unbound_xen_event_channel() doesn't specifically "mark" such a
> channel, and (yes, it could in principle be open-coded in Flask code)
> consumer_is_xen() is private to event_channel.c. I also dare to question
> whether in SILO mode status information like this should be available.

To build on the previous response: if the natural failure return value 
is -EACCESS in response to a domain resource access attempt, then the 
probability is extremely high that it should be implemented under a XSM 
hook and not hard-coded into the resource logic.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 11:50:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 11:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700488.1093735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrz8r-0002HL-BW; Wed, 03 Apr 2024 11:50:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700488.1093735; Wed, 03 Apr 2024 11: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 1rrz8r-0002HA-8R; Wed, 03 Apr 2024 11:50:57 +0000
Received: by outflank-mailman (input) for mailman id 700488;
 Wed, 03 Apr 2024 11: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=9Pv4=LI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rrz8q-0002GS-0m
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 11:50:56 +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 6cc96971-f1b0-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 13:50:53 +0200 (CEST)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 54B80352D4;
 Wed,  3 Apr 2024 11:50:53 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id F29CE1331E;
 Wed,  3 Apr 2024 11:50:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id NAZWOZxCDWYKKgAAn2gu4w
 (envelope-from <jgross@suse.com>); Wed, 03 Apr 2024 11:50:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cc96971-f1b0-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712145053; 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=Rgn0d+N5FYZWHyPWjRR5FkrwjBuVzxZm2q7vnsSvHls=;
	b=EosJfvvF0jlaiV2eSqwfgQOgq6IJJOqiOtP1D7riUReMRMHqvA/d0xFJIGb16jf58G0Rsg
	j5I8ubM2WxNvLAzeaTkPurE9ysYDm9KsaR9rhmKsbZJQ6VJPRTG2qI0jWo+r6rWYNS5Oag
	TLu7uQNGVmILz6YFxr4WlMU0exQ1eds=
Authentication-Results: smtp-out1.suse.de;
	none
Message-ID: <870b2cb9-3b0e-4ffc-8850-3e72fcf72856@suse.com>
Date: Wed, 3 Apr 2024 13:50:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
 <34407204-b661-4cde-b88f-461808711a08@suse.com>
 <07971008-b961-49d7-8337-df9e1d2794ba@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <07971008-b961-49d7-8337-df9e1d2794ba@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------x8tDw7h6Lb4P4aQPbvgAlUbF"
X-Spam-Score: -4.69
X-Spamd-Result: default: False [-4.69 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 NEURAL_HAM_SHORT(-0.20)[-0.978];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[8];
	 SIGNED_PGP(-2.00)[];
	 FREEMAIL_TO(0.00)[suse.com,gmail.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 BAYES_HAM(-3.00)[100.00%];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 TAGGED_RCPT(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FREEMAIL_CC(0.00)[cardoe.com,kernel.org,wdc.com,gmail.com,lists.xenproject.org];
	 RCVD_TLS_ALL(0.00)[];
	 SUSPICIOUS_RECIPS(1.50)[]
X-Spam-Level: 
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------x8tDw7h6Lb4P4aQPbvgAlUbF
Content-Type: multipart/mixed; boundary="------------bu1dSKvGBXNqltPdzSIPy0UD";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Message-ID: <870b2cb9-3b0e-4ffc-8850-3e72fcf72856@suse.com>
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
 <34407204-b661-4cde-b88f-461808711a08@suse.com>
 <07971008-b961-49d7-8337-df9e1d2794ba@suse.com>
In-Reply-To: <07971008-b961-49d7-8337-df9e1d2794ba@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=

--------------bu1dSKvGBXNqltPdzSIPy0UD
Content-Type: multipart/mixed; boundary="------------o3UqOIuXIlTRaD6ywvU9kBau"

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

T24gMDMuMDQuMjQgMTM6NDcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMy4wNC4yMDI0
IDEzOjE4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDMuMDQuMjQgMTI6NTQsIE9s
ZWtzaWkgd3JvdGU6DQo+Pj4gT24gV2VkLCAyMDI0LTA0LTAzIGF0IDEyOjI4ICswMjAwLCBK
YW4gQmV1bGljaCB3cm90ZToNCj4+Pj4gT24gMDMuMDQuMjAyNCAxMjoxOSwgT2xla3NpaSBL
dXJvY2hrbyB3cm90ZToNCj4+Pj4+IFRoaXMgcGF0Y2ggZGlzYWJsZXMgdW5uZWNlc3Nhcnkg
Y29uZmlncyBmb3IgdHdvIGNhc2VzOg0KPj4+Pj4gMS4gQnkgdXRpbGl6aW5nIEVYVFJBX0ZJ
WEVEX1JBTkRDT05GSUcgZm9yIHJhbmRjb25maWcgYnVpbGRzDQo+Pj4+PiAoR2l0TGFiIENJ
IGpvYnMpLg0KPj4+Pj4gMi4gQnkgdXNpbmcgdGlueTY0X2RlZmNvbmZpZyBmb3Igbm9uLXJh
bmRjb25maWcgYnVpbGRzLg0KPj4+Pj4NCj4+Pj4+IE9ubHkgY29uZmlncyB3aGljaCBsZWFk
IHRvIGNvbXBpbGF0aW9uIGlzc3VlcyB3ZXJlIGRpc2FibGVkLg0KPj4+Pj4NCj4+Pj4+IFNp
Z25lZC1vZmYtYnk6IE9sZWtzaWkgS3Vyb2Noa28gPG9sZWtzaWkua3Vyb2Noa29AZ21haWwu
Y29tPg0KPj4+Pj4gLS0tDQo+Pj4+PiBDaGFuZ2VzIGluIFY3Og0KPj4+Pj4gICDCoC0gRGlz
YWJsZSBvbmx5IGNvbmZpZ3Mgd2hpY2ggY2F1c2UgY29tcGlsYXRpb24gaXNzdWVzLg0KPj4+
Pg0KPj4+PiBTaW5jZSB0aGUgZGVzY3JpcHRpb24gZG9lc24ndCBnbyBpbnRvIGRldGFpbHM6
IFdoaWxlIEkgY2FuIHNlZSB0aGF0DQo+Pj4+IFBFUkZfQ09VTlRFUlMgYW5kIExJVkVQQVRD
SCBtYXkgcmVxdWlyZSAoYSBsaXR0bGUgLyBzb21lIG1vcmUpIGV4dHJhDQo+Pj4+IHdvcmss
IGFyZSBIWVBGUywgQVJHTywgYW5kIFhTTSByZWFsbHkgY2F1c2luZyBpc3N1ZXM/DQo+Pj4g
Rm9yIEFyZ28sIEkgcmVjaWV2ZWQgdGhlIGZvbGxvd2luZyBjb21waWxhdGlvbiBlcnJvcnM6
DQo+Pj4gICAgICBjb21tb24vYXJnby5jOjE0MTY6NTogZXJyb3I6IHVua25vd24gdHlwZSBu
YW1lICdwMm1fdHlwZV90JzsgZGlkIHlvdQ0KPj4+ICAgICAgbWVhbiAnaHZtbWVtX3R5cGVf
dCc/DQo+Pj4gICAgICAgMTQxNiB8ICAgICBwMm1fdHlwZV90IHAybXQ7DQo+Pj4gICAgICAg
ICAgICB8ICAgICBefn5+fn5+fn5+DQo+Pj4gICAgICAgICAgICB8ICAgICBodm1tZW1fdHlw
ZV90DQo+Pj4gICAgICBjb21tb24vYXJnby5jOjE0MTk6MTE6IGVycm9yOiBpbXBsaWNpdCBk
ZWNsYXJhdGlvbiBvZiBmdW5jdGlvbg0KPj4+ICAgICAgJ2NoZWNrX2dldF9wYWdlX2Zyb21f
Z2ZuJyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0NCj4+PiAgICAg
ICAxNDE5IHwgICAgIHJldCA9IGNoZWNrX2dldF9wYWdlX2Zyb21fZ2ZuKGQsIGdmbiwgZmFs
c2UsICZwMm10LCAmcGFnZSk7DQo+Pj4gICAgICAgICAgICB8ICAgICAgICAgICBefn5+fn5+
fn5+fn5+fn5+fn5+fn5+fg0KPj4+ICAgICAgY29tbW9uL2FyZ28uYzoxNDI3OjEwOiBlcnJv
cjogJ3AybV9yYW1fcncnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbg0KPj4+ICAgICAgdGhp
cyBmdW5jdGlvbikNCj4+PiAgICAgICAxNDI3IHwgICAgIGNhc2UgcDJtX3JhbV9ydzoNCj4+
PiAgICAgIA0KPj4+IEl0IHNlZW1zIGl0IHNob3VsZCBiZSBpbmNsdWRlZCB4ZW4vcDJtLWNv
bW1vbi5oIGFuZCBhc20vcDJtLmggaW4NCj4+PiBjb21tb24vYXJnby5jLg0KPj4+DQo+Pj4g
Rm9yIENPTkZJR19IWVBGU19DT05GSUcgKCB0aGVyZSBpcyBubyBpc3N1ZSB3aXRoIENPTkZJ
R19IWVBGUywNCj4+PiBvdmVybG9va2VkIHRoYXQgKToNCj4+PiAgICAgIGNvbW1vbi9jb25m
aWdfZGF0YS5TOjE6MTA6IGZhdGFsIGVycm9yOiBhc20vYXNtX2RlZm5zLmg6IE5vIHN1Y2gg
ZmlsZQ0KPj4+ICAgICAgb3IgZGlyZWN0b3J5DQo+Pj4gICAgICAgICAgMSB8ICNpbmNsdWRl
IDxhc20vYXNtX2RlZm5zLmg+DQo+Pg0KPj4gSG1tLCB0aGlzIHNlZW1zIHRvIGJlIG5lZWRl
ZCBmb3IgQVNNX0lOVCgpLCB3aGljaCBpcyBjdXJyZW50bHkgZGVmaW5lZCB0aGUgc2FtZQ0K
Pj4gd2F5IGZvciBhcm0gYW5kIHg4Ni4gTWF5YmUgd2Ugc2hvdWxkIG1vdmUgdGhhdCBtYWNy
byB0byB4ZW4vbGlua2FnZS5oIGFuZA0KPj4gaW5jbHVkZSB0aGF0IG9uZSBpbnN0ZWFkIG9m
IGFzbV9kZWZucy5oPw0KPiANCj4gSW5kZWVkIHdoaWxlIGRvaW5nIHRoZSBlbnRyeSBhbm5v
dGF0aW9uIHdvcmsgKGFsc28gdG91Y2hpbmcgdGhlIGJ1aWxkIGxvZ2ljDQo+IGhlcmUgaWly
YykgSSB3YXMgdGhpbmtpbmcgb2YgZG9pbmcgc28uDQoNCk9rYXksIEknbSBwcmVwYXJpbmcg
YSBwYXRjaC4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------o3UqOIuXIlTRaD6ywvU9kBau
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-----

--------------o3UqOIuXIlTRaD6ywvU9kBau--

--------------bu1dSKvGBXNqltPdzSIPy0UD--

--------------x8tDw7h6Lb4P4aQPbvgAlUbF
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/Ey8FAmYNQpwFAwAAAAAACgkQsN6d1ii/Ey/K
Ugf/ad0Vde/zzxQ/+hfSAj0SEFN66cpcVzL328qnKIxD6xOg95a7Jrx0FYoFJto/BYSsPArDSvZg
MOjY3v5NKbRZBqYcSWWwyo5VvGcbpGmff9ewXK9pR77EtLJcqHcofjjSMLWvACs3yqX+AC8VpqRl
GsSbxBbuQBj1sfAseiPRVyfwuQSe+8pyIlZIZ42RmLxLYm8Zw34vnGAmlA++m+3CZ1xqyJVLTyvi
sPy1/UI2vHZxYqkge65rlwAnxB8nMgjB3WWoJhPowFNUE4dtbQjRhTBQXrPxUzg9nwRBMS3+agpE
/Ty+2aXwAls+GzLwSEUkreitK89J+0mAmolbddj3uQ==
=BCQQ
-----END PGP SIGNATURE-----

--------------x8tDw7h6Lb4P4aQPbvgAlUbF--


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 11:53:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 11:53:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700492.1093744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzAz-0003Il-NO; Wed, 03 Apr 2024 11:53:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700492.1093744; Wed, 03 Apr 2024 11:53: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 1rrzAz-0003Ie-Kn; Wed, 03 Apr 2024 11:53:09 +0000
Received: by outflank-mailman (input) for mailman id 700492;
 Wed, 03 Apr 2024 11:53: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrzAy-0003IU-Dy
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 11:53:08 +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 bbc024d7-f1b0-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 13:53:06 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4156a2aeb43so23132175e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 04:53: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
 p12-20020a05600c468c00b00413eb5aa694sm21401196wmo.38.2024.04.03.04.53.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 04:53: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: bbc024d7-f1b0-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712145186; x=1712749986; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FhSjVM4LwpP0o1bn5OoO/DKBjeb23w4eSCSeXB0r4v8=;
        b=TzHnT1kUDWzUB0g29IInwcjs9vk1AKaTNJYOJQ5UZ1RDQq0lvnzjOepCM6QGKUfB/N
         yNgB35PfUOHDL0rWx02Rwg1f1GuZ5AxLksU3KkeffH038LCGXCFZp7EAiTBgWVXkths2
         oOdFgozcUkCWutRHALAd2muXqJBA9Q3SbyPI+MWBKMcasiL/1Xxc5exFJ/weYqRolaVX
         StwDwHNXxVp2LvVqZg2DZTR2L2bxd77ehqhRTq/R+XpdE6bypU5S2yj2uqM06iCP50Ls
         ZcDA0Q+gHFfBsHx9QN6A0TH5Uifm9S2AKrkRwUpG6JMWlgyEb9IxnjLGxnKZaqz4+HG+
         m5qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712145186; x=1712749986;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FhSjVM4LwpP0o1bn5OoO/DKBjeb23w4eSCSeXB0r4v8=;
        b=KjTgom7aPa9KW03XQebqFoxhGJPMHY1o0O/XQhdGByzAinxD6yeW8+LuO/rGdeOf+9
         1T3OhwrsE0qeNPaIq7TJ6wOAx9HFsT4GT3oedN/UR5vGyGatievzHF4rnQYhyb2pL2zv
         hXFyTyGNA6f/t+wnJAarIWKn0+NryK8QnYPzqKQbI/V7lqtKlxTf6iDZVwDbJMc7dYrZ
         mZoJeKaUmlYgtm2Lyi2Tx1U2VT35K3pfAzWgi636ApweVB2ekkzZdmVeE5ev1qpKUBXQ
         USyBvGwWZFUcpGzME61+H/m03JPHDrcl/W77m/CdmYW3OSxHmroKYHOGoYLMDDp1epqn
         tEUg==
X-Forwarded-Encrypted: i=1; AJvYcCU9G0GOsSEL55/9FMAwMAMIb3cW4668ZwxJQRUrLj4AHKIvXp7TocDurUUpgC0SMb2d8M90O7riywR5w/ayrgeG48GPlKtEqD0X5AJjP0w=
X-Gm-Message-State: AOJu0Yzjs1qCpFv/1SGWwOPJphEcBZkWJBPMD65FOFPTVjC6n+tJZd7X
	EPJ29R9aiO7YollTS69+2LBq5vM4LusONwfQx8/dz2SM0S0Y/M1aVecS9+soFQ==
X-Google-Smtp-Source: AGHT+IFDWN6/KDbUbiGtdA8KfmxGk6uMQABmm9AXcty+aTYgTqoEb9MbJS55tUDPdFUwu2ar64r5bw==
X-Received: by 2002:a05:600c:5606:b0:415:52df:4db1 with SMTP id jr6-20020a05600c560600b0041552df4db1mr12170950wmb.7.1712145185717;
        Wed, 03 Apr 2024 04:53:05 -0700 (PDT)
Message-ID: <7593c2e7-57ee-42eb-8d38-a3aa177d3420@suse.com>
Date: Wed, 3 Apr 2024 13:53:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.04.2024 12:54, Oleksii wrote:
> On Wed, 2024-04-03 at 12:28 +0200, Jan Beulich wrote:
>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>> This patch disables unnecessary configs for two cases:
>>> 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds
>>> (GitLab CI jobs).
>>> 2. By using tiny64_defconfig for non-randconfig builds.
>>>
>>> Only configs which lead to compilation issues were disabled.
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes in V7:
>>>  - Disable only configs which cause compilation issues.
>>
>> Since the description doesn't go into details: While I can see that
>> PERF_COUNTERS and LIVEPATCH may require (a little / some more) extra
>> work, are HYPFS, ARGO, and XSM really causing issues?
> For Argo, I recieved the following compilation errors:
>    common/argo.c:1416:5: error: unknown type name 'p2m_type_t'; did you
>    mean 'hvmmem_type_t'?
>     1416 |     p2m_type_t p2mt;
>          |     ^~~~~~~~~~
>          |     hvmmem_type_t
>    common/argo.c:1419:11: error: implicit declaration of function
>    'check_get_page_from_gfn' [-Werror=implicit-function-declaration]
>     1419 |     ret = check_get_page_from_gfn(d, gfn, false, &p2mt, &page);
>          |           ^~~~~~~~~~~~~~~~~~~~~~~
>    common/argo.c:1427:10: error: 'p2m_ram_rw' undeclared (first use in
>    this function)
>     1427 |     case p2m_ram_rw:
>    
> It seems it should be included xen/p2m-common.h and asm/p2m.h in
> common/argo.c.
> 
> For CONFIG_HYPFS_CONFIG ( there is no issue with CONFIG_HYPFS,
> overlooked that ):
>    common/config_data.S:1:10: fatal error: asm/asm_defns.h: No such file
>    or directory
>        1 | #include <asm/asm_defns.h>
>    
> 
> For XSM, I recieved the following error:
> 
>    xsm/xsm_core.c:79:19: error: 'xsm_core_init' defined but not used [-
>    Werror=unused-function]
>       79 | static int __init xsm_core_init(const void *policy_buffer,
>    size_t policy_size)
> 
> I'll add an information with compilation errors to the commit message.

No need to quote full compiler diagnostics, but a hint at the problems
at least. That said, perhaps we want to rather sort the issues than
disable building stuff that sooner or later you will want to build
anyway. For hypfs we look to have an approach already. For Argo what
you suggest makes sense to me; it might be nice to understand where
the P2M headers needed are coming from on x86 and Arm. Ideally common
code .c files wouldn't include asm/*.h.

For XSM I'm a little puzzled: Shouldn't RISC-V have HAS_DEVICE_TREE=y?
Then xsm_core_init() would have a caller.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 11:54:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 11:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700495.1093755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzBv-0003tm-3u; Wed, 03 Apr 2024 11:54:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700495.1093755; Wed, 03 Apr 2024 11:54: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 1rrzBv-0003tf-0I; Wed, 03 Apr 2024 11:54:07 +0000
Received: by outflank-mailman (input) for mailman id 700495;
 Wed, 03 Apr 2024 11:54:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrzBu-0003tZ-9b
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 11:54:06 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de4f33a4-f1b0-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 13:54:04 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-416254f2312so1701555e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 04:54: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
 p12-20020a05600c468c00b00413eb5aa694sm21401196wmo.38.2024.04.03.04.54.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 04: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: de4f33a4-f1b0-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712145244; x=1712750044; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Ac1nCRLJzIkJPYlolYpu43UN/U6/d09aEgVTr4LxfDQ=;
        b=FANczhlRYFSk0/997OXW95UR/1XkmoTFPwUnBNxncFCcdr85ZlIlFvhijelbOnbO1k
         yvSJQFLpOWJuANRU3RbVp9P86skF8tnhOcB9/mv0kaiwfE85RIChipe+dKbOhX5atMgm
         K2+G+92khIc/XXmp2kNHkhshvKWfAI7St3gXhHO31TGE0HsTf2xpKAa/43QViJR1wPrB
         hZsWRw/P9Hy2pBtEfliIyxA+IPTX5O6yFPN6dQ03i5lUwSscDEDCD4VRDI2btPwmla0b
         TDXl9ZlGdsBWtcnzfFKlt9snEm73/EZ18cMv/Yvgd1GmEv596v+/AYALnwkif343q9OH
         VSvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712145244; x=1712750044;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Ac1nCRLJzIkJPYlolYpu43UN/U6/d09aEgVTr4LxfDQ=;
        b=G0JyioBc4KsNWIGEXrtFkGG3b14U5iN9AijFl/O/eNQxUDFbr6937P5SmdR5Jd+x7Q
         2l8VO6K52eYuY2YPSFg/JyEjYtUYVLqnBtApD3js+QfCLs4PhYtCbCNY7z/U0w1H5p4v
         XUwt8lW/jkW4L4u2Rjj6KW+SyKtnRp414clPfMAZfQQQfLag+bHUlmWMUYK6MJHgJg9B
         vtwt1q/vsZzSgIBQDMkZYPPmaA9jRh5tqM52KxPnfOB4QABjTP1n2ZT6uZuj55Xhuz0o
         KReuAy3VlW3ZmCGWor0FfsqBhv1OqAAEhYAmu0pi5E8IMVPORrN5Hp1mVD2mSdGCRfHE
         6NMA==
X-Forwarded-Encrypted: i=1; AJvYcCU2EYH0WArkxgCg+0W/Bx6TFHUjiAXSGPoB1NXygutHY66Z9U3z+0pqPZ33OvRplk0CKnPO43Oij2NeOegMCsPPGXb984C8CqcXMmBLFyQ=
X-Gm-Message-State: AOJu0YyRZITMdJKHpxwF2fCFsqDtSLntUmY63qa9AcTAhWh6iJss4+6X
	kHHdUopjzN25+RjfKF4ncuGuEp3rg69rSuFP9yk6hNH4y3qjmOOc6TxM0FZHvg==
X-Google-Smtp-Source: AGHT+IFridJIaqsdJWailYwm5lIZVriSU8n2O15d73SqH+o8wdXHfuT81x3McmAZlcDFb9L2XuSzNg==
X-Received: by 2002:a7b:ca46:0:b0:414:9072:98dc with SMTP id m6-20020a7bca46000000b00414907298dcmr14745624wml.41.1712145243874;
        Wed, 03 Apr 2024 04:54:03 -0700 (PDT)
Message-ID: <3b8ec757-d2f3-4143-a843-de8c6d51944d@suse.com>
Date: Wed, 3 Apr 2024 13:54:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <f2b596e6-0aec-4948-ad7a-aa38adaa7dcc@suse.com>
 <3aa0893b-7efd-4ca1-a405-e897edc7402f@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3aa0893b-7efd-4ca1-a405-e897edc7402f@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 13:50, Daniel P. Smith wrote:
> On 4/3/24 02:52, Jan Beulich wrote:
>> On 03.04.2024 08:16, Jan Beulich wrote:
>>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>>> Whether to return information about a xen-owned evtchn is a matter of policy,
>>>> and it's not acceptable to short circuit the XSM on the matter.
>>>
>>> I can certainly accept this as one possible view point. As in so many cases
>>> I'm afraid I dislike you putting it as if it was the only possible one.
>>
>> Further to this: Is there even a way to express the same denial in XSM?
>> alloc_unbound_xen_event_channel() doesn't specifically "mark" such a
>> channel, and (yes, it could in principle be open-coded in Flask code)
>> consumer_is_xen() is private to event_channel.c. I also dare to question
>> whether in SILO mode status information like this should be available.
> 
> To build on the previous response: if the natural failure return value 
> is -EACCESS in response to a domain resource access attempt, then the 
> probability is extremely high that it should be implemented under a XSM 
> hook and not hard-coded into the resource logic.

Possibly. But first of all - could you answer the earlier question I raised?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:03:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:03:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700511.1093764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzL0-0006Ry-4z; Wed, 03 Apr 2024 12:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700511.1093764; Wed, 03 Apr 2024 12: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 1rrzL0-0006Rr-24; Wed, 03 Apr 2024 12:03:30 +0000
Received: by outflank-mailman (input) for mailman id 700511;
 Wed, 03 Apr 2024 12: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=9Pv4=LI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rrzKz-0006QS-25
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:03:29 +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 2db74c70-f1b2-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 14:03:27 +0200 (CEST)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9BAC6352EB;
 Wed,  3 Apr 2024 12:03:26 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 391961331E;
 Wed,  3 Apr 2024 12:03:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id /002DI5FDWYaLgAAn2gu4w
 (envelope-from <jgross@suse.com>); Wed, 03 Apr 2024 12:03: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: 2db74c70-f1b2-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712145806; h=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=ALBXX2h29kaal0zut6fsz331fhTeZZzw/PmHUZrSAKw=;
	b=NudtQZM+Bqm4jkrmH+0SnhqqmSkvRHR/+8eZWk29OGAZnldGKMWMGBdfpdO+j6hr0iGVwc
	6jHnUDlOFrHBHUDPfQZZ+IIiE0FXtFgtCH3rZe93u/LK/OHTmRau4dD2/PqEabAvQZJC4k
	80rQE2eqzVGqjbC1Biis9k662plI60E=
Authentication-Results: smtp-out1.suse.de;
	none
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] xen/include: move definition of ASM_INT() to xen/linkage.h
Date: Wed,  3 Apr 2024 14:03:23 +0200
Message-Id: <20240403120323.18433-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Result: default: False [-1.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.998];
	MIME_GOOD(-0.10)[text/plain];
	ARC_NA(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MIME_TRACE(0.00)[0:+];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_TLS_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[11];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap2.dmz-prg2.suse.org:rdns,imap2.dmz-prg2.suse.org:helo,suse.com:email]
X-Spam-Score: -1.80
X-Spam-Level: 
X-Spam-Flag: NO

ASM_INT() is defined in arch/[arm|x86]/include/asm/asm_defns.h in
exactly the same way. Instead of replicating this definition for riscv
and ppc, move it to include/xen/linkage.h, where other arch agnostic
definitions for assembler code are living already.

Adapt the generation of assembler sources via tools/binfile to include
the new home of ASM_INT().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/arch/arm/include/asm/asm_defns.h | 3 ---
 xen/arch/x86/include/asm/asm_defns.h | 3 ---
 xen/include/xen/linkage.h            | 2 ++
 xen/tools/binfile                    | 2 +-
 4 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/include/asm/asm_defns.h b/xen/arch/arm/include/asm/asm_defns.h
index c489547d29..47efdf5234 100644
--- a/xen/arch/arm/include/asm/asm_defns.h
+++ b/xen/arch/arm/include/asm/asm_defns.h
@@ -28,9 +28,6 @@
 label:  .asciz msg;                             \
 .popsection
 
-#define ASM_INT(label, val)                 \
-    DATA(label, 4) .long (val); END(label)
-
 #endif /* __ARM_ASM_DEFNS_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index a69fae78b1..0a3ff70566 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -351,9 +351,6 @@ static always_inline void stac(void)
 4:  .p2align 2                            ; \
     .popsection
 
-#define ASM_INT(label, val)                 \
-    DATA(label, 4) .long (val); END(label)
-
 #define ASM_CONSTANT(name, value)                \
     asm ( ".equ " #name ", %P0; .global " #name  \
           :: "i" ((value)) );
diff --git a/xen/include/xen/linkage.h b/xen/include/xen/linkage.h
index 478b1d7287..3d401b88c1 100644
--- a/xen/include/xen/linkage.h
+++ b/xen/include/xen/linkage.h
@@ -60,6 +60,8 @@
 #define DATA_LOCAL(name, align...) \
         SYM(name, DATA, LOCAL, LASTARG(DATA_ALIGN, ## align), DATA_FILL)
 
+#define ASM_INT(label, val)    DATA(label, 4) .long (val); END(label)
+
 #endif /*  __ASSEMBLY__ */
 
 #endif /* __LINKAGE_H__ */
diff --git a/xen/tools/binfile b/xen/tools/binfile
index 099d7eda9a..0299326ccc 100755
--- a/xen/tools/binfile
+++ b/xen/tools/binfile
@@ -25,7 +25,7 @@ binsource=$2
 varname=$3
 
 cat <<EOF >$target
-#include <asm/asm_defns.h>
+#include <xen/linkage.h>
 
         .section $section.rodata, "a", %progbits
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:05:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:05:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700513.1093774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzMt-00076C-FG; Wed, 03 Apr 2024 12:05:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700513.1093774; Wed, 03 Apr 2024 12:05:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzMt-000765-Ci; Wed, 03 Apr 2024 12:05:27 +0000
Received: by outflank-mailman (input) for mailman id 700513;
 Wed, 03 Apr 2024 12:05:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rrzMs-00075z-Ay
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:05:26 +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 738734d1-f1b2-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 14:05:24 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-34373f95c27so1065855f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 05:05: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
 dw14-20020a0560000dce00b0034174875850sm17043347wrb.70.2024.04.03.05.05.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 05:05: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: 738734d1-f1b2-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712145923; x=1712750723; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=sUz8kAPEFVaYXoITMPkzCto75xeKikk0+rXAqqfLx2M=;
        b=DYpJNNYZeqGdpXE9X0UnH/Y5fZF1cMXydXeP8xA0rA7bwTzVv/dXBlIcdEHfL6LHgX
         PGGhLpTNE0x/QqN3iMye9igfnsuzyzmSZcrgkViiBi0qiGaCYIGu/x/juTtnFQRc2W0x
         hqWnnx1dxkLbsY2InYSLPODOJFUuhpZZkU32Ay8hkRc26fy2dkkjtCzst6eDvXbQ6wbt
         1sy6aer1/xJRcwHcnYiexaBGqXbcDsEQYZY0dwoQaKgw8JCNm+pS88vY7PE/ft8/2FSD
         U9boSOxV4zZKe5w2jG2ZR8CZRegfa7e/Xv2zirxzz9UuBRrRUmkbg97eEQHB6VTmGSdM
         aUpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712145923; x=1712750723;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=sUz8kAPEFVaYXoITMPkzCto75xeKikk0+rXAqqfLx2M=;
        b=Oe2J3mKkS7uKG/4hUZOUrFyJXOMbt/rmVM9Sz54QCPQHZaJKOAB42jI8yiaoP6XuA8
         eE02mcyYwNPsE45gVCaWOEGmDdob4H25aJ0v4lEE6fGWhPnKBL7FOxY2Iv9kgFhW7Uh8
         8xyI28NHLUtvmClhaG+1g0C/OE61lQ3dHAUT5WnI5HmQOv+9vunb1A/SBV5O4KDUg0Rm
         5P/nRoXEJMTH3jwdcreG2ICarbur8GL+HgWJ4gb+UGtPffqZQzaSEb2AlAYIAZhkdCmQ
         dEeYw/K5qp/JS/NEdcAO++X4wNULorWm72BzptIeDrePzzcXIlPsEqZKTKDaMpLuyTQZ
         yVWw==
X-Forwarded-Encrypted: i=1; AJvYcCUl04HmwLOBio8HP76HOBrTEvBXTQq/2voRQfg4tXWMTpfp31BX8pnohcXBSQqkACUOZX+myH4i2y9UzttWSS4pldcAnf6gR89B0hrXvJE=
X-Gm-Message-State: AOJu0Yy+AzZ9YxxWooyEEHCKupmnQzpNiYFzOaZu2OpkSjpiiSgN6efA
	GmzKu7eXtwy8zf1l5NEet9ZgPd6MoCXE6O0s2G77CTtyWfjwxvyzumK/1puvTA==
X-Google-Smtp-Source: AGHT+IEOXAxEy8VyEQA4JkF3uAz0CmNBvL1ovJPNHQAGonH1J7Rqjwl3P3V3v5KbeSdxWbfAyBy0ZQ==
X-Received: by 2002:a5d:5888:0:b0:341:c766:fbc9 with SMTP id n8-20020a5d5888000000b00341c766fbc9mr11446456wrf.1.1712145923510;
        Wed, 03 Apr 2024 05:05:23 -0700 (PDT)
Message-ID: <d86e7a86-cd2a-4b0c-b269-6b4e9b2edff3@suse.com>
Date: Wed, 3 Apr 2024 14:05:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <2df1e3ef-32c5-45c3-af1b-e9473a4e9120@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2df1e3ef-32c5-45c3-af1b-e9473a4e9120@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 13:10, Daniel P. Smith wrote:
> On 4/3/24 02:16, Jan Beulich wrote:
>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>> The commit makes a claim without any kind of justification.
>>
>> Well, what does "have no business" leave open?
> 
> Why does it not have any business? Why should a domain that creates an 
> event channel not be able to inquire about its status?

Event channels we talk about here are created via
alloc_unbound_xen_event_channel(). IOW it's not any domain creating them.
Once connected, the respective domain is of course fine to query its end
of the channel.

>>> The claim is false, and the commit broke lsevtchn in dom0.
>>
>> Or alternatively lsevtchn was doing something that was never meant to work
>> (from Xen's perspective).
> 
> Again, you have not said why this is a problem. What concern does it 
> create? Does it open the door for access elevation, resource 
> deprivation, or some other malicious behaviors?

It exposes information that perhaps better wouldn't be exposed. Imo if
Xen owned resource state is of interest, it would want exposing via
hypfs.

>>>   It is also quite
>>> obvious from XSM_TARGET that it has broken device model stubdoms too.
>>
>> Why would that be "obvious"? What business would a stubdom have to look at
>> Xen's side of an evtchn?
> 
> Again, you have not expressed why it shouldn't be able to do so.

See above - not its resource, nor its guest's.

>>> Whether to return information about a xen-owned evtchn is a matter of policy,
>>> and it's not acceptable to short circuit the XSM on the matter.
>>
>> I can certainly accept this as one possible view point. As in so many cases
>> I'm afraid I dislike you putting it as if it was the only possible one.
> 
> In fact, this commit is in violation of the XSM. It hard-codes a 
> resource access check outside XSM, thus breaking the fine-grained access 
> control of FLASK.

Perhaps; see below and see the question raised in the subsequent reply
to the patch.

>> In summary: The supposed justification you claim is missing in the original
>> change is imo also missing here then: What business would any entity in the
>> system have to look at Xen's side of an event channel? Back at the time, 3
>> people agreed that it's "none".
> 
> As stated, you provided no reason or justification for "has no business" 
> and by face value is an opinion that a few people agreed with. As for 
> why, there could be a myriad number of reasons a domain may want to 
> check the status of an interface it has with the hypervisor. From just 
> logging its state for debug to throttling attempts at sending an event. 
> So why, from a security/access control decision, does this access have 
> to absolutely blocked, even from FLASK?

I didn't say it absolutely needs to be blocked. I'm okay to become
convinced otherwise. But in the description complaining about lack of
reasons in the 3-4 year old change, just to then again not provide any
reasons looks "interesting" to me. (And no, just to take that example,
lsevtchn not working anymore on such channels is not on its own a
reason. As indicated, it may well be that conceptually it was never
supposed to be able to have access to this information. The latest not
anymore when hypfs was introduced.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:19:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:19:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700518.1093785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzZt-0001eX-IY; Wed, 03 Apr 2024 12:18:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700518.1093785; Wed, 03 Apr 2024 12:18:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzZt-0001eQ-F7; Wed, 03 Apr 2024 12:18:53 +0000
Received: by outflank-mailman (input) for mailman id 700518;
 Wed, 03 Apr 2024 12:18:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YDNC=LI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rrzZt-0001eK-5d
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:18: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 54e80b52-f1b4-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 14:18:51 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a4715991c32so817206166b.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 05:18:51 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 s12-20020a170906a18c00b00a4672fb2a03sm7740552ejy.10.2024.04.03.05.18.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 05: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: 54e80b52-f1b4-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712146730; x=1712751530; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:date:cc:to:from
         :subject:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=L4AiNrkxX5H2YmpgV2jGOL8k8M+RZPdPK6HaaXIaoIw=;
        b=Lmm9FC5e0j/S4L/vBaBj2jpZNAz5ZijzUiL9cOFIVvIerDcK8FoKI7hPYti+1MBxdj
         E4oV9aSUPrwi4/QkmZHCYpY81tuLLLBmC+fhagf5oOc5F69Y+3FAprMRyMozJd18O2NT
         VzXPSmd2hZyWcqamCD0I5VMHXY6/PWpBh0s7VxHz1TVmXSJxblyQvz9cgEPnKtLYvc1+
         NwZTVh4RHJ9sELRkDfQDjCKrmKCtde6pPmbvp1dvfZo0IU5F4BVv4YjIp9d2IL4HcTjX
         2ISmO4NQFPL1koXYJYTA+yIunrq4gsLIiF5YFevTAI5MMZ3EKAEWGt44lAvmJ98aUMiR
         +lYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712146730; x=1712751530;
        h=mime-version:user-agent:content-transfer-encoding:date:cc:to:from
         :subject:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L4AiNrkxX5H2YmpgV2jGOL8k8M+RZPdPK6HaaXIaoIw=;
        b=q2PMxylK6b29TFFdVPUW8Bw8Q7Nk0gbcRnIo72mA4yRwnBBD7wrC+6nVpJuibyuCjH
         uWaev87m4DGrIPJpYGPK5wsI5lMXF8nQvB9I9oyigbXng2XOL6Xqf8uxWzdAmnKre+OX
         jEhT/7PVBxJnJtVyIzXtlSlXh+cKNm5oyd6GIscQrFt+35hIG6F0UDREv7EqpHQEVWpi
         HfZNW/FKfT/DJwzQkxG9UA823Pd+c1IvbM1iaB59ZBrftw67ylLSSfpXfN3MxgkpR0CO
         Z57cHLgqLnDGR4gm+6Q2sqE3sZP6f+tAb9A3sJwYG6gtB/PUN9m8y/WbNJhmOG1l+Rmm
         M4CQ==
X-Gm-Message-State: AOJu0YyqQObFbbuE8DRi12OcjlvLienYIDRtjkGKAtFMN0WQBuAd5Un2
	URHbNCXvaibuYR3ljveU+8Auhvs/2eP6kuKxfZJkb7nOR9+CyibjHYLthu1t
X-Google-Smtp-Source: AGHT+IGxS6uh+JQoGWkBPyukxW298Heuv7I/az6hbKmLIgpnr9OEVZK4HfZPr9LeeVezsiJXsdhuWQ==
X-Received: by 2002:a17:906:abc1:b0:a47:533f:2d0f with SMTP id kq1-20020a170906abc100b00a47533f2d0fmr9358482ejb.66.1712146730184;
        Wed, 03 Apr 2024 05:18:50 -0700 (PDT)
Message-ID: <2b03174eb033dfaacdff2cc76a281575d2922d2f.camel@gmail.com>
Subject: Xen 4.19 release status tracking list [ April ]
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: committers@xenproject.org, community.manager@xenproject.org, Kelly Choi
	 <kelly.choi@cloud.com>
Date: Wed, 03 Apr 2024 14:18:48 +0200
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.2 (3.50.2-1.fc39) 
MIME-Version: 1.0

Hello everyone,

I would like to share with you a list for status tracking based on Xen
ML and community members comments:

*** Arm ***:
  * [PATCH v7 00/14] Arm cache coloring [
https://patchew.org/Xen/20240315105902.160047-1-carlo.nonato@minervasys.tec=
h/
]:
    - new patch series version [v7] was sent

  * [PATCH v13 00/14] PCI devices passthrough on Arm, part 3 [
https://lore.kernel.org/xen-devel/20240202213321.1920347-1-stewart.hildebra=
nd@amd.com/
]
 =20
  * [PATCH v3 0/4] DOMCTL-based guest magic region allocation for 11
domUs [
https://patchew.org/Xen/20240403081626.375313-1-xin.wang2@amd.com/ ]
 =20
  * [XEN v6 0/3] xen/arm: Add emulation of Debug Data Transfer
Registers [
https://patchew.org/Xen/20240307123943.1991755-1-ayan.kumar.halder@amd.com/
]


*** PPC ***:
  * [PATCH v3 0/9] Early Boot Allocation on Power [
https://patchew.org/Xen/cover.1710443965.git.sanastasio@raptorengineering.c=
om/
]:
    new patch series version [v3] was sent

*** RISC-V ***:
  * [PATCH v4 05/23]  Enable build of full Xen for RISC-V [
https://lore.kernel.org/xen-devel/cover.1708962629.git.oleksii.kurochko@gma=
il.com/
]:
    - one patch of the patch series was merged
    - new patch series version [v7] were sent


*** x86 ***:
  * [PATCH 0/4] iommu/x86: fixes/improvements for unity range checks [
https://lore.kernel.org/xen-devel/20240201170159.66330-1-roger.pau@citrix.c=
om/
]:=20
    - almost patch series have been merged already except the patch:
        [PATCH 4/4] iommu/x86: make unity range checking more strict

  * [PATCH 0/8] x86: support AVX10.1 [
https://lore.kernel.org/xen-devel/298db76f-d0ee-4d47-931f-1baa1a7546cf@suse=
.com/
]
 =20
  * APX support?

  * [PATCH v4 0/8] x86emul: misc additions [
https://lore.kernel.org/xen-devel/9dd23064-c79e-4a50-9c71-c0e73b189944@suse=
.com/
]
   =20
  * [PATCH 0/7] VT-d: SATC handling and ATS tidying [
https://lore.kernel.org/xen-devel/25506838-b818-4686-8c16-3a198338af44@suse=
.com/
]

  * [XEN PATCH 0/9] x86: parallelize AP bring-up during boot [
https://lore.kernel.org/xen-devel/cover.1699982111.git.krystian.hebel@3mdeb=
.com/
]

  * [PATCH v2 00/12] x86: memcpy() / memset() (non-)ERMS flavors plus
fallout [
https://lore.kernel.org/xen-devel/8f56a8f4-0482-932f-96a9-c791bebb4610@suse=
.com/
]
    - 6/12 are merged.
 =20
  * [PATCH v6 0/4] x86/pvh: Support relocating dom0 kernel [
https://patchew.org/Xen/20240327215102.136001-1-jason.andryuk@amd.com/
]
 =20
  * x86/spec-ctrl: IBPB improvements [
https://patchew.org/Xen/06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com/
]


*** common ***:
  * annotate entry points with type and size" series:
    The bulk of this has gone in, but there'll want to be follow-ups.

  * [PATCH v2 (resend) 00/27] Remove the directmap [
https://lore.kernel.org/xen-devel/20240116192611.41112-1-eliasely@amazon.co=
m/
]
    - 7/27 were merged.
=20
  * [PATCH] move __read_mostly to xen/cache.h [
https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse=
.com/
]

  * [XEN PATCH v2 1/3] xen: introduce STATIC_ASSERT_UNREACHABLE() [
https://lore.kernel.org/xen-devel/42fc6ae8d3eb802429d29c774502ff232340dc84.=
1706259490.git.federico.serafini@bugseng.com/
]

  * MISRA rules updates:
   - [PATCH v2] docs/misra/rules.rst update [
https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2402131431070.1925432=
@ubuntu-linux-20-04-desktop/T/#maded3df1bebe68d0fe53c73e89f996ec395a39e5
]: 1/3 were merged.

   - [XEN PATCH v3 0/7] address violations of MISRA C Rule 20.7[
https://patchew.org/Xen/cover.1711700095.git.nicola.vetrini@bugseng.com/
]: new patch series version (v3) were sent.

   - [XEN PATCH v3 00/16] xen: address violation of MISRA C:2012
Directive 4.10 [
https://patchew.org/Xen/cover.1710145041.git.simone.ballarin@bugseng.com/
]: 2/16 were merged.

  * [PATCH v6 00/8] xen/spinlock: make recursive spinlocks a dedicated
type [ https://patchew.org/Xen/20240327152229.25847-1-jgross@suse.com/
]:
    - new patch series version were sent
   =20
  * [PATCH 0/7] GRUB: Supporting Secure Boot of xen.gz [
https://patchew.org/Xen/20240313150748.791236-1-ross.lagerwall@citrix.com/
]:
   =20
  * [PATCH v5 0/7] MSI-X support with qemu in stubdomain, and other
related changes:
=20
  * [PATCH 0/7] xen/bitops: Reduce the mess, starting with ffs() [
https://patchew.org/Xen/20240313172716.2325427-1-andrew.cooper3@citrix.com/
]:
 =20
  * [PATCH 0/7] xen/trace: Treewide API cleanup [
https://patchew.org/Xen/20240318163552.3808695-1-andrew.cooper3@citrix.com/
]:
 =20
  * [PATCH v2 0/6] xenwatchdogd bugfixes and enhancements

  * [RFC XEN PATCH v6 0/5] Support device passthrough when dom0 is PVH
on Xen [
https://patchew.org/Xen/20240328063402.354496-1-Jiqian.Chen@amd.com/ ]


*** Completed ***:
  *** Arm ***:
     * xen/arm64: Rework the MMU-off code (idmap) so it is self-
contained

  *** x86 ***:
     * tools: enable xenstore-stubdom to use 9pfs

  *** common ***:
     * NUMA: no need for asm/numa.h when !NUMA
     * xen: move BUG_ON(), WARN_ON(), ASSERT(), ASSERT_UNREACHABLE() to
xen/bug.h
     * xen/lib: introduce generic find next bit operations
     * Introduce generic headers=20
     * xen/livepatch: fixes for the pre-apply / post-revert hooks
     * limit passing around of cpu_user_regs

Please reply with items you would like to see in 4.19 so that people
know what is happening and prioritize accordingly.
You're welcome to provide a description and use cases of the feature
you're working on.

Have a nice week!

Best regards,
 Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:20:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700520.1093794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzbA-0003Gx-R6; Wed, 03 Apr 2024 12:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700520.1093794; Wed, 03 Apr 2024 12:20:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzbA-0003Gq-Ob; Wed, 03 Apr 2024 12:20:12 +0000
Received: by outflank-mailman (input) for mailman id 700520;
 Wed, 03 Apr 2024 12:20:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pg83=LI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rrzbA-0003Gk-4c
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:20:12 +0000
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com
 [2607:f8b0:4864:20::736])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83484102-f1b4-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 14:20:10 +0200 (CEST)
Received: by mail-qk1-x736.google.com with SMTP id
 af79cd13be357-78c4db9fc7fso73306685a.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 05:20:10 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u14-20020a05620a084e00b0078a48172335sm5026585qku.24.2024.04.03.05.20.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 05:20: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: 83484102-f1b4-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712146809; x=1712751609; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PXeCvjPDA01bz0C+zbSbiOffSaF5FmCzaWR1wFu+64Q=;
        b=mjNuOyVEIek0WqOQNh4Tpgm9BoMpGJ2/7PEDisxu9yIUbLEYjAoKP7PNLLzUMP5/wC
         bokDlhwTuPjMduPcbIdpC84WTSGAFxKMviUooTZUonVYLeCr8CmkWqq86zmEQJEKVQpO
         EeamKYiek5OwWvLtv0QcEecZyuWOM1mEJD7T0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712146809; x=1712751609;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PXeCvjPDA01bz0C+zbSbiOffSaF5FmCzaWR1wFu+64Q=;
        b=k9MpXUhum06J4ahgkVUdI67rGoulqEzSWQbLrBGWwo4LFPTyfwMd9sq74vmLUYA7nv
         0HuD5HNIsLxoIOZhodcexO3qaYXOUTXzPjdCcFjUafKFfCXPmUpKW86lyeoOQOGw3QNM
         O1dhxajoSvXfOAqH83zoqfHaEAh07/HlXM6DF7C9yr4o+3A55E+ydgqMt14jNBmGVtuD
         M6J1afIyvedkxw5Yp7lpWKH6d6rDagPG8OXRkXeL5bnQ9R7wiuj36c/gxQTO90AEPxzh
         77meyH673kaURXp5C3JgnFFJL97FXqeCE8jaYf+H42+WeOvId6fHtKSxDEAtd6tWivsH
         fv0Q==
X-Forwarded-Encrypted: i=1; AJvYcCVrvPARFAD4w+zQBK702y+EZQfZXXfZclnNVFTjkTbXGGzeSqTrPmjfk9OE7LUAHdG5zJifj/EaboFmG2YzuaLxdkCQlvEz8kAxwWIhki8=
X-Gm-Message-State: AOJu0YzuFluPqSUa2hSavJh+o+Gdh6jnvKyPWQb0YmJvY2a+PANqBfHC
	DwALnLjbu/5Cj8xLw2ir1+RGAVwy3tWCK4QSX25pPPvwdXXHIG6xTsUfVkLJADo=
X-Google-Smtp-Source: AGHT+IHCGvHUIeINTWo778xkQWTmFFIsOzbevINH7KhoOKGsMYkmgF1s/ccroqZOnJKcRB11mZKIIQ==
X-Received: by 2002:a05:620a:290b:b0:78d:3b7c:2ad6 with SMTP id m11-20020a05620a290b00b0078d3b7c2ad6mr513175qkp.38.1712146808892;
        Wed, 03 Apr 2024 05:20:08 -0700 (PDT)
Message-ID: <641eb981-de26-481f-acf4-6f7b55c662f8@citrix.com>
Date: Wed, 3 Apr 2024 13:20:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/include: move definition of ASM_INT() to
 xen/linkage.h
To: Juergen Gross <jgross@suse.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>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240403120323.18433-1-jgross@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: <20240403120323.18433-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/04/2024 1:03 pm, Juergen Gross wrote:
> ASM_INT() is defined in arch/[arm|x86]/include/asm/asm_defns.h in
> exactly the same way. Instead of replicating this definition for riscv
> and ppc, move it to include/xen/linkage.h, where other arch agnostic
> definitions for assembler code are living already.
>
> Adapt the generation of assembler sources via tools/binfile to include
> the new home of ASM_INT().
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:28:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700525.1093805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzik-0004Ty-O5; Wed, 03 Apr 2024 12:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700525.1093805; Wed, 03 Apr 2024 12: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 1rrzik-0004Tr-KS; Wed, 03 Apr 2024 12:28:02 +0000
Received: by outflank-mailman (input) for mailman id 700525;
 Wed, 03 Apr 2024 12:28:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yPGy=LI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rrzij-0004Tl-NR
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:28:01 +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 9c2f52db-f1b5-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 14:28:00 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-34373f95c27so1079242f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 05:28:00 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m3-20020adffa03000000b003432dcdb5d3sm17029236wrr.35.2024.04.03.05.27.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 05:27: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: 9c2f52db-f1b5-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712147280; x=1712752080; 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=WAxZ+GfbMAjFr5Owm39HF59RqDhdQiLbL2mYjceALbg=;
        b=K+2mKNrklvawTA3EqrHJ3znXnBbkVoN9NogKt94Zn2xfuGWP+dqWIr/az3gT3BjO6M
         WFoI7rG8iHq6VzDOcPxN7jiO0n69rQlm4GJX/doMo7IZYZiYVJ26g4IGMYKqcVVf0VrY
         lnEgJ6yUBPZKHaLLZbkCVYF6Id/sVinQapkhE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712147280; x=1712752080;
        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=WAxZ+GfbMAjFr5Owm39HF59RqDhdQiLbL2mYjceALbg=;
        b=oIUdRKdn6WY4ne8YQr7yJc67Zyww4eCI9Wv2MMeKXeGuR6+95nMnfA/d8ABem+I3RR
         +Ad1jSnCHSMiS/Sb9rxMICk6phHZpENXJBRH5Oc+ngB45UBLa3z1ZNE1Qszt8zsyuLNp
         fKlZOBLmwYGJaApUq/+H4t8nafL+YfiIn+SmHC1Djz+dbNVOJznkJzNc/qDXwgnQIuV0
         n+AV6ejtSH31vkrAp5fC1u36uP2UGHK2ESY7ZD1PO7M5zYBM4Kg/zDguFmje3/F1XPDn
         4KTLYVBfASD6aOXMU2SpYwX9C0mLr3KISK8YPI+rKhyrMv1ERHFdbeyVVO5A+KPdMVgl
         Xrlg==
X-Gm-Message-State: AOJu0YwTUo72Iz+9tmbG3Hf8dArm4c5EeuomBsBYpiJTOviOFI8C3n95
	YQOhrR3lDlmfocN5B6DKlBCrNAdoMdNVyI8i7uqI8iVA+45As5UoMFtcjkCfmAU=
X-Google-Smtp-Source: AGHT+IG+Z8ojPz5QzhZ0J8s/dlm4jnwyzJiBPXHMTIowv3geRfF9br6IWym4BDXx0Pvv8B9LILTZ1A==
X-Received: by 2002:adf:ff8b:0:b0:33e:cf4d:c581 with SMTP id j11-20020adfff8b000000b0033ecf4dc581mr10294170wrr.41.1712147280291;
        Wed, 03 Apr 2024 05:28:00 -0700 (PDT)
Date: Wed, 3 Apr 2024 13:27:58 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: Re: [PATCH v4 2/5] tools/init-xenstore-domain: Replace variable MB()
 usage
Message-ID: <3a701137-a0c5-4437-9461-f7a5063de1e6@perard>
References: <20240325204515.250203-1-jason.andryuk@amd.com>
 <20240325204515.250203-3-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240325204515.250203-3-jason.andryuk@amd.com>

On Mon, Mar 25, 2024 at 04:45:12PM -0400, Jason Andryuk wrote:
> The local MB() & GB() macros will be replaced with a common
> implementation, but those only work with constant values.  Introduce a
> static inline mb_to_bytes() in place of the MB() macro to convert the
> variable values.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> v4:
> New
> ---
>  tools/helpers/init-xenstore-domain.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
> index 1683438c5c..5405842dfe 100644
> --- a/tools/helpers/init-xenstore-domain.c
> +++ b/tools/helpers/init-xenstore-domain.c
> @@ -20,7 +20,6 @@
>  #include "init-dom-json.h"
>  
>  #define LAPIC_BASE_ADDRESS  0xfee00000UL
> -#define MB(x)               ((uint64_t)x << 20)
>  #define GB(x)               ((uint64_t)x << 30)
>  
>  static uint32_t domid = ~0;
> @@ -36,6 +35,11 @@ static xc_evtchn_port_or_error_t console_evtchn;
>  static xentoollog_level minmsglevel = XTL_PROGRESS;
>  static void *logger;
>  
> +static inline uint64_t mb_to_bytes(int mem)
> +{
> +	return (uint64_t)mem << 20;
> +}
> +
>  static struct option options[] = {
>      { "kernel", 1, NULL, 'k' },
>      { "memory", 1, NULL, 'm' },
> @@ -76,8 +80,8 @@ static int build(xc_interface *xch)
>      int rv, xs_fd;
>      struct xc_dom_image *dom = NULL;
>      int limit_kb = (maxmem ? : memory) * 1024 + X86_HVM_NR_SPECIAL_PAGES * 4;
> -    uint64_t mem_size = MB(memory);
> -    uint64_t max_size = MB(maxmem ? : memory);
> +    uint64_t mem_size = mb_to_bytes(memory);
> +    uint64_t max_size = mb_to_bytes(maxmem ? : memory);

Looks like this change actually fix a bug. When `maxmem` is set, we
would have "max_size = maxmem", otherwise, it would be 
"max_size = memory << 20"

The macro should have been written as
 #define MB(x)               ((uint64_t)(x) << 20)

This patch could be backported to 4.17 and later, with:
    Fixes: 134d53f57707 ("tools/init-xenstore-domain: fix memory map for PVH stubdom")

Anyway, this patch on it's own looks fine:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:41:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:41:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700528.1093815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzvN-0008UT-Qb; Wed, 03 Apr 2024 12:41:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700528.1093815; Wed, 03 Apr 2024 12:41:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rrzvN-0008UM-Ne; Wed, 03 Apr 2024 12:41:05 +0000
Received: by outflank-mailman (input) for mailman id 700528;
 Wed, 03 Apr 2024 12:41:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yPGy=LI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rrzvM-0008SY-MN
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:41:04 +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 6eda7261-f1b7-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 14:41:03 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41620ab6e9fso5986665e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 05:41:03 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j29-20020a05600c1c1d00b0041493a93cc5sm21706096wms.2.2024.04.03.05.41.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 05:41: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: 6eda7261-f1b7-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712148063; x=1712752863; 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=XB9Bi6zqrGLagRa51p6+Okgp7583Foa2ndDAHSzcb9E=;
        b=fKEfg/HGsxBKG1DSSMKGEbSwYdf0+mTscGS/YKD29EmgfCZ7YXFVh5BnTyfpnw7ndP
         b0KNWjMjt15YAg1mk5Kdb9eMunQk33Q+poaxVO4+I213fpyKANprFbhB59ejS7QElfcf
         ErhplMg7w67brjVFv6vBMs8aU7uxGUFOicogk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712148063; x=1712752863;
        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=XB9Bi6zqrGLagRa51p6+Okgp7583Foa2ndDAHSzcb9E=;
        b=D9Js/Zoy3LUR8Q5lwpjAA1aq135SBoHMvdryaozlZE4J1c0oU/6GfCHh6XWWIOwuvX
         aCHpQ8Sljbqg/6CX7j/AoEJAUTb4A+E3acwsbrxuMQh0Jb5d7cHoE1fUu1+qzN+vHZQ4
         mExp1BKICjehiaoeQ3p6bG8WLy3DCC23Idl5H/GlOynqqjuF9jjC2ZfF4/VGYXpiNUf0
         4l24aYjlgb3abYtQ7dIquEgokxrQ/Zu/HN95y5kILx2dKTzelA0JrrQYCWeBELBC5IE7
         2NT55VN5vtfTzgKhe05l02rPj9UhUVMarfIdpXL5tvQ8xWCWxqKJjmitQFCs98oF7plc
         F0IA==
X-Gm-Message-State: AOJu0YxHnBDbBAyd+OFTTWiCC/pCxyiQMg9euku1KbibwvE4NRdBh1Rh
	CM5hyq0sGmXweHHc9WZbgnlgvd6yBMCfJFyIUq/fQW2NESNhvO9GVP2ioCHhCaQ=
X-Google-Smtp-Source: AGHT+IE+QPwvZaIH9MZVNSgexM8KZidKS/YDUibZ+e8zr/cK8PXlzPSueU7emiPaUgP7AdUnRD11lg==
X-Received: by 2002:a05:600c:35d6:b0:415:46be:6239 with SMTP id r22-20020a05600c35d600b0041546be6239mr10622011wmq.36.1712148063138;
        Wed, 03 Apr 2024 05:41:03 -0700 (PDT)
Date: Wed, 3 Apr 2024 13:41:01 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: Re: [PATCH v6 1/4] tools/init-xenstore-domain: Replace variable MB()
 usage
Message-ID: <3bcdb957-717e-4505-951e-711c87744f6c@perard>
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-2-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240327215102.136001-2-jason.andryuk@amd.com>

On Wed, Mar 27, 2024 at 05:50:59PM -0400, Jason Andryuk wrote:
> The local MB() & GB() macros will be replaced with a common
> implementation, but those only work with constant values.  Introduce a

By the way, this is not true, the macro introduce in the following patch
("tools: Move MB/GB() to common-macros.h") works (compiler doesn't
complain) if you do something like MB(maxmem+0) ;-).

> static inline mb_to_bytes() in place of the MB() macro to convert the
> variable values.
> 
> diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
> index 1683438c5c..5405842dfe 100644
> --- a/tools/helpers/init-xenstore-domain.c
> +++ b/tools/helpers/init-xenstore-domain.c
> @@ -20,7 +20,6 @@
>  #include "init-dom-json.h"
>  
>  #define LAPIC_BASE_ADDRESS  0xfee00000UL
> -#define MB(x)               ((uint64_t)x << 20)
>  #define GB(x)               ((uint64_t)x << 30)
>  
>  static uint32_t domid = ~0;
> @@ -36,6 +35,11 @@ static xc_evtchn_port_or_error_t console_evtchn;
>  static xentoollog_level minmsglevel = XTL_PROGRESS;
>  static void *logger;
>  
> +static inline uint64_t mb_to_bytes(int mem)
> +{
> +	return (uint64_t)mem << 20;
> +}
> +
>  static struct option options[] = {
>      { "kernel", 1, NULL, 'k' },
>      { "memory", 1, NULL, 'm' },
> @@ -76,8 +80,8 @@ static int build(xc_interface *xch)
>      int rv, xs_fd;
>      struct xc_dom_image *dom = NULL;
>      int limit_kb = (maxmem ? : memory) * 1024 + X86_HVM_NR_SPECIAL_PAGES * 4;
> -    uint64_t mem_size = MB(memory);
> -    uint64_t max_size = MB(maxmem ? : memory);
> +    uint64_t mem_size = mb_to_bytes(memory);
> +    uint64_t max_size = mb_to_bytes(maxmem ? : memory);
>      struct e820entry e820[3];
>      struct xen_domctl_createdomain config = {
>          .ssidref = SECINITSID_DOMU,
 
Sorry, just notice they were more versions of the series, so repeating
here:

Looks like this change actually fix a bug. When `maxmem` is set, we
would have "max_size = maxmem", otherwise, it would be
"max_size = memory << 20"

The macro should have been written as
 #define MB(x)               ((uint64_t)(x) << 20)

This patch could be backported to 4.17 and later, with:
    Fixes: 134d53f57707 ("tools/init-xenstore-domain: fix memory map for PVH stubdom")

Anyway, this patch on it's own looks fine:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>



-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:51:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:51:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700531.1093824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs05A-0002yY-O9; Wed, 03 Apr 2024 12:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700531.1093824; Wed, 03 Apr 2024 12: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 1rs05A-0002yR-LH; Wed, 03 Apr 2024 12:51:12 +0000
Received: by outflank-mailman (input) for mailman id 700531;
 Wed, 03 Apr 2024 12:51: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=aFJ5=LI=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rs059-0002yG-9Z
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:51:11 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2414::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d69b53d5-f1b8-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 14:51:08 +0200 (CEST)
Received: from CH5P220CA0009.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1ef::11)
 by DS0PR12MB6416.namprd12.prod.outlook.com (2603:10b6:8:cb::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.46; Wed, 3 Apr 2024 12:51:05 +0000
Received: from CH2PEPF00000146.namprd02.prod.outlook.com
 (2603:10b6:610:1ef:cafe::5b) by CH5P220CA0009.outlook.office365.com
 (2603:10b6:610:1ef::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Wed, 3 Apr 2024 12:51:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF00000146.mail.protection.outlook.com (10.167.244.103) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 3 Apr 2024 12:51:04 +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.35; Wed, 3 Apr
 2024 07:51:03 -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.35; Wed, 3 Apr
 2024 07:51:03 -0500
Received: from [172.25.194.180] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 3 Apr 2024 07:51: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: d69b53d5-f1b8-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OYVMmDwPp79OXmBYRsFPUQ6hwYtwr2/tK/6IUiJWTGVfWXVAhgFpbz5D33Qwyjp9ap5LXFqFpdyrK2+7X/9vEn+IByEOYJNKRKlfAu0mabCP1BVD9OjBE24rbUyXuj+U6bniJmnyD96rMsZso7yPaK0kf4cuClQstint9i+BLZJQ/onVI3M6jlsC/MHkbEG6gQ+N/ooG4YeBVrtZ13MW8PMy3ilW7c1LsxbrwFvW1ovAUjzyBaFfguo9C1wVjJqkmB2gNvvgqJC34pcRh0poXjGpyUoiiiX9EEmGnTz5ixQd3mpV31qFjrYnL4xzUJlNBLHTxXSBX8mV1z1PMFxPNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OMyIZ6BpMbAlZ4idaFKVciVEJZm2R12PLhnjEgAwobM=;
 b=MM5M9hIAIUTz9pJGq2tjR0VP0ZJ/7M2IHFfp1NQsGBUuFfXmUl90m+oBDWgjL9hoM+0XpYqi38fc/Xh/DJiMRG/5CMeN6Bo+pA7gYtGda2CCBq/lqswtnVIU03xBF7HsOBJfgQyBY/jnMAbZnVgMC8Li6xD4fHQhqYum3DLHRTQ1hdbDMG7LZ8/uQ0GKKPGe0b2q3i04AEHSawF2JLMSFEcGH3dF0dJMKsJ7mHnODS/yjTi8I3HoOXkYKtuSwTTlsLiJImUvx7xmDPA5J5Qz4se1n+tCmxRyqQ/JEKXPmpGWYvzoh6vVC7tISQgtD7yuMD2m+addlL95EmBCUOzXew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=cloud.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OMyIZ6BpMbAlZ4idaFKVciVEJZm2R12PLhnjEgAwobM=;
 b=P6UTHV1XPdlXUK7629pJt+lzrzT/41Bw16wSfXpDNKZ4XDlUIp6h3owNtHoHt2BVuRUQn+K+H/v48W2UR7+6tqw6rgVT1AAN4n3ue9A88EFM4eb0zrcucatMgLNdCMcTO0CYFSYQwiDkdDcKBBDegCm9EWNdgAc0toq9oyugQ80=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <5e7d8c67-cb22-4433-a5b5-169e6e96ac6b@amd.com>
Date: Wed, 3 Apr 2024 08:51:02 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/4] tools/init-xenstore-domain: Replace variable MB()
 usage
To: Anthony PERARD <anthony.perard@cloud.com>
CC: <xen-devel@lists.xenproject.org>, Juergen Gross <jgross@suse.com>, "Julien
 Grall" <julien@xen.org>
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-2-jason.andryuk@amd.com>
 <3bcdb957-717e-4505-951e-711c87744f6c@perard>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <3bcdb957-717e-4505-951e-711c87744f6c@perard>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
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: CH2PEPF00000146:EE_|DS0PR12MB6416:EE_
X-MS-Office365-Filtering-Correlation-Id: e731e82f-0ebc-4f03-733d-08dc53dcb987
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dMYWT1u7Te9yFGb08hoAsr7OBgHFyPBbqRQoOSS36o40JIWfy92xaof/usEixDuJV4SjmlH7NBiFDnGx1lU5c764EvNhC867iLe8zuihbTiGWknyMAYBkcWEXmb+SAYBO5mFKmKxjjCRXNYP5aA8/A3JQ4Mh6TU5HkHMfJBwnLqUWND5E5Ay72Mg9QqHfNuww3obgXroU8A4N29Tqhm/HhhG0mF1PiQKBUNtQWGJxlStCtvmo27ltNt32eMv0od3EGKnk2jEF7yaFEC2VwFLyEmE88JgM/XIKJVf4sLSZN8mFrvHoOXMx/pm3PczI4fpRx2jJMqkFtKfhP+NUyGigzwJ8D21u54xSWHGMkPRNHsij2oVbXNz5S2+D8mkktdv03ROBbWZtusk+u/8sGI4UpkxRVlN0zCjPVU3kKyGChmymfhPY7JV/FCpaibcFgRbbdDxdlD3S6gFI7NHf/mF+z7PQPcptW0EcV6RxPRp4EBMsMvz5o4fkw9Puc5k1UfdN0xPVKdLn/495r8Qz+5kTESJp4oG64ChHhiTbrMKqLVWRO0Dqdc+j+BZauJT9fz4lHPdVHt1UQ4hpvhopDB6FeXpzD+4C0RvcmVFWjPzocBxd+OMANlcWnJer4e8gDKbX7ZYch/6CqGKg4QDx0HlegTP7/Xf0fJA6L9ImOV/xlJXB6kYEo80IicS+HKrRfZGzlxO9vtPKB7nyTm6pdSk41AwlnDhUfkJumpkz+XNsSYqcQzm8LpkPY1fTml7eOcV
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 12:51:04.8465
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e731e82f-0ebc-4f03-733d-08dc53dcb987
X-MS-Exchange-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:
	CH2PEPF00000146.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6416

On 2024-04-03 08:41, Anthony PERARD wrote:
> On Wed, Mar 27, 2024 at 05:50:59PM -0400, Jason Andryuk wrote:
>> The local MB() & GB() macros will be replaced with a common
>> implementation, but those only work with constant values.  Introduce a
> 
> By the way, this is not true, the macro introduce in the following patch
> ("tools: Move MB/GB() to common-macros.h") works (compiler doesn't
> complain) if you do something like MB(maxmem+0) ;-).

Well, I think I wrote the wrong word for the description.  The old Macro 
might have been okay, but the new one as (_AC(_mb, ULL) << 20) fails for 
MB(memory):

init-xenstore-domain.c: In function ‘build’:
init-xenstore-domain.c:82:28: error: ‘memoryULL’ undeclared (first use 
in this function); did you mean ‘memory’?
    82 |     uint64_t mem_size = MB(memory);
       |                            ^~~~~~

I should have written "only work for numeric values."

>> static inline mb_to_bytes() in place of the MB() macro to convert the
>> variable values.
>>
>> diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
>> index 1683438c5c..5405842dfe 100644
>> --- a/tools/helpers/init-xenstore-domain.c
>> +++ b/tools/helpers/init-xenstore-domain.c
>> @@ -20,7 +20,6 @@
>>   #include "init-dom-json.h"
>>   
>>   #define LAPIC_BASE_ADDRESS  0xfee00000UL
>> -#define MB(x)               ((uint64_t)x << 20)
>>   #define GB(x)               ((uint64_t)x << 30)
>>   
>>   static uint32_t domid = ~0;
>> @@ -36,6 +35,11 @@ static xc_evtchn_port_or_error_t console_evtchn;
>>   static xentoollog_level minmsglevel = XTL_PROGRESS;
>>   static void *logger;
>>   
>> +static inline uint64_t mb_to_bytes(int mem)
>> +{
>> +	return (uint64_t)mem << 20;
>> +}
>> +
>>   static struct option options[] = {
>>       { "kernel", 1, NULL, 'k' },
>>       { "memory", 1, NULL, 'm' },
>> @@ -76,8 +80,8 @@ static int build(xc_interface *xch)
>>       int rv, xs_fd;
>>       struct xc_dom_image *dom = NULL;
>>       int limit_kb = (maxmem ? : memory) * 1024 + X86_HVM_NR_SPECIAL_PAGES * 4;
>> -    uint64_t mem_size = MB(memory);
>> -    uint64_t max_size = MB(maxmem ? : memory);
>> +    uint64_t mem_size = mb_to_bytes(memory);
>> +    uint64_t max_size = mb_to_bytes(maxmem ? : memory);
>>       struct e820entry e820[3];
>>       struct xen_domctl_createdomain config = {
>>           .ssidref = SECINITSID_DOMU,
>   
> Sorry, just notice they were more versions of the series, so repeating
> here:
> 
> Looks like this change actually fix a bug. When `maxmem` is set, we
> would have "max_size = maxmem", otherwise, it would be
> "max_size = memory << 20"
> 
> The macro should have been written as
>   #define MB(x)               ((uint64_t)(x) << 20)
> 
> This patch could be backported to 4.17 and later, with:
>      Fixes: 134d53f57707 ("tools/init-xenstore-domain: fix memory map for PVH stubdom")

Nice catch!

> Anyway, this patch on it's own looks fine:
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thank you.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:51:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:51:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700532.1093830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs05A-00030E-Vz; Wed, 03 Apr 2024 12:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700532.1093830; Wed, 03 Apr 2024 12: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 1rs05A-000300-Rh; Wed, 03 Apr 2024 12:51:12 +0000
Received: by outflank-mailman (input) for mailman id 700532;
 Wed, 03 Apr 2024 12: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rs05A-0002yG-3l
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:51:12 +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 d85ba635-f1b8-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 14:51:10 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a4715991c32so822382066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 05:51: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
 zh11-20020a170906880b00b00a4e48e52ecbsm5474318ejb.198.2024.04.03.05.51.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 05:51:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d85ba635-f1b8-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712148670; x=1712753470; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZUH9yNa4cQm5NHvZ1ozQEBsidr2IAZzn9EATZUwM5fo=;
        b=c/1eJGeFqS3T2b1+hUkAzlDcGw8q5Rli/TWAcaiI10uGCbMSEt/j4s6XyD1eVpCHkm
         dIuuerdk1LyeiSFaduTrOxOOQRe1az+B8QhDMbxEXziC93bsTm6zBSLVSx8VM+NhWi8U
         VUpLtq53Wn9zwMYsqJSLIWh8ChYhMbFDZUaGnCo2lg/XUBwnuw5uMRILpMOY6xcFLcy/
         SvTbXZXQXCeSl67q6Gffd+/iUVRuIL3XWJZUIetchD+JnZ1YBvBnNTl1a7DjhtwGIJps
         yJGykaUMEPWaKDLaG4H7IJHB1itOwEj9IQt9f+N7WLHPrYLhWKLCzgADvJME4km+UBE0
         xgiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712148670; x=1712753470;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ZUH9yNa4cQm5NHvZ1ozQEBsidr2IAZzn9EATZUwM5fo=;
        b=dyo2DRqqVk71CBhIvlXGKqDGVWKLo06AuSRnPGBVSbDkmPJoU1enMDjljisSkDbDnx
         fJNAPAw3OrKmgy4sEKD6W8Y7eW/CRN0hCsikLIJ3Sgdtcug8O5pwWPaUAT4PZH8eYaqV
         zcGt+uYgdTs+fT2ENW2A0/vGBkE7+WxzXMd/iq3pQ+uEBRsaHtUyoJohw6wNiRYsMRYE
         5IJvDKLafeOkMvTi9D0G5u1PWbqAPd6Wt9AA4R/eQJH3dM258QNP+Sk9jHjjSexnbrcr
         5TGOI1W0DNCWJYtyxU+7i/SPu7yyt91mqwlOWWddm9IuPPFUGvRtUtoyYHpZaLoWiu3J
         O0Ng==
X-Forwarded-Encrypted: i=1; AJvYcCUq3tBybeUOnKZ8GVbTPpZfZLF0EQ98Tu5yHRJBnyVdHlEUFVBB0gCA2kygfR8L74d1XtqGSX2LREEW+R3OlIKVOAf35IbGmOF6AwYCSi8=
X-Gm-Message-State: AOJu0Yx7U3c9nJ8t3bhub4PpbJbN5WjCmU9qDCPYFnmu9/grIeqSJOdZ
	iRdwS5Y2yXkWL9EQyimS3+46oNxB+QZEI7LtXFjVJTl7ab7vCIs6/WWsHdEWAA==
X-Google-Smtp-Source: AGHT+IHzFGlIv9tCw5svXFKY+i4CtNpZX/S/mYhLRyOqCw83vRLT3tmFj+mZ4s+Myh6fWrVwGTQXGA==
X-Received: by 2002:a17:907:3ea2:b0:a4e:5672:440 with SMTP id hs34-20020a1709073ea200b00a4e56720440mr8789543ejc.21.1712148669765;
        Wed, 03 Apr 2024 05:51:09 -0700 (PDT)
Message-ID: <e401ffe1-de4b-4548-8eba-feb7e85c9971@suse.com>
Date: Wed, 3 Apr 2024 14:51:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/include: move definition of ASM_INT() to
 xen/linkage.h
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240403120323.18433-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240403120323.18433-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 14:03, Juergen Gross wrote:
> ASM_INT() is defined in arch/[arm|x86]/include/asm/asm_defns.h in
> exactly the same way. Instead of replicating this definition for riscv
> and ppc, move it to include/xen/linkage.h, where other arch agnostic
> definitions for assembler code are living already.

And this is why I didn't make a change right away, back when noticing the
duplication: Arch-agnostic really means ...

> --- a/xen/include/xen/linkage.h
> +++ b/xen/include/xen/linkage.h
> @@ -60,6 +60,8 @@
>  #define DATA_LOCAL(name, align...) \
>          SYM(name, DATA, LOCAL, LASTARG(DATA_ALIGN, ## align), DATA_FILL)
>  
> +#define ASM_INT(label, val)    DATA(label, 4) .long (val); END(label)

... to avoid .long [1]. There's no arch-independent aspect guaranteeing
that what .long emits matches "unsigned int" as used e.g. in the
declaration of xen_config_data_size. The arch-agnostic directives are
.dc.l and friends. Sadly Clang looks to support this only starting with
version 4.

Nevertheless, seeing that Andrew ack-ed the change already, it's perhaps
good enough for the moment. If an obscure port appeared, the further
abstraction could be taken care of by them.

Jan

[1] Note how in gas doc .long refers to .int, .int says "32-bit", just
to then have a special case of H8/300 emitting 16-bit values. Things
must have been confusing enough for someone to come and add .dc.?.


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 12:57:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 12:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700538.1093845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs0BY-00049V-Ma; Wed, 03 Apr 2024 12:57:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700538.1093845; Wed, 03 Apr 2024 12:57:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs0BY-00049O-Js; Wed, 03 Apr 2024 12:57:48 +0000
Received: by outflank-mailman (input) for mailman id 700538;
 Wed, 03 Apr 2024 12:57: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=yPGy=LI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rs0BX-00049F-8K
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 12:57:47 +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 c3fa8e34-f1b9-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 14:57:45 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41551500a7eso33692985e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 05:57:45 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e1-20020adff341000000b0033dd2a7167fsm17160055wrp.29.2024.04.03.05.57.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 05:57: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: c3fa8e34-f1b9-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712149065; x=1712753865; 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=BP3JPiBSmq9mmOmJ6D9UZqPYkI3neeLrCDzoLgBCgj0=;
        b=kyui8vFxnb6ocXFWlBKp9akAkUvs5YOnh+HQdfR7ZgBZCLh2Y++6rVuab0FUpklsR3
         VOPvBIdAjVCe/Hp1M5tnVnbUfmxBkEL90Mzo8ie0UxVxva8g5sQ7729vX/FlpZjjFLck
         PHh76q/1mB20An0CSBK9mX8JRtuGTGSSaQ/q4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712149065; x=1712753865;
        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=BP3JPiBSmq9mmOmJ6D9UZqPYkI3neeLrCDzoLgBCgj0=;
        b=JdZZ9Q0bGvYSQA98D6tgOh4MJbU57/u0sDwsiVaXLpMhdiDBcT6jRV9GhuPDB9uXgo
         Cv0vBbd98Vwq+mw0ro/aZDGkMmsT9xxDn9Rv34W7Pxl94XvRbM3roZ+nm/zK1FkNIN7s
         6K6bkCxnUPogf8WixuLUJ9Hn7hS4GSdwWa45goFYBW/Kad1q2MS9arxU8cQqCWG8E+Io
         Y1VuMX1XMd4gqUnShumJf3fW3Dvvz1wPnsLimWyti5OaMMbSFibo8HeBF5vhddd0jmSd
         lgtr0/UVdPve2YUQebOBQKjoElgCptFWzG+xl99F1B6wY736H9MtAO7bEgd7X69q4mER
         DZig==
X-Gm-Message-State: AOJu0YzVtO6HKxmfkWCAQYDs1AYgdTnc7skjMEYIWt1LuXm+0mIfqpQj
	uXRr9GLsUk/+a/SAuRt8ISwrZqUVrIX1dLGuA7shtGpbadUBXGHomZ9IGnIZThk=
X-Google-Smtp-Source: AGHT+IFKlvnYSinrx0Q2r2zXVxA2Ao4QwDbBxnOPdT1Ttf0fwj1jNtFJw2/zqCDCyoH7C/wUtBeWnA==
X-Received: by 2002:a05:600c:3502:b0:414:8065:2d25 with SMTP id h2-20020a05600c350200b0041480652d25mr11670715wmq.38.1712149065013;
        Wed, 03 Apr 2024 05:57:45 -0700 (PDT)
Date: Wed, 3 Apr 2024 13:57:44 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH v6 2/4] tools: Move MB/GB() to common-macros.h
Message-ID: <079b0891-02d0-4bb1-87c8-ba249ca4025c@perard>
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-3-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240327215102.136001-3-jason.andryuk@amd.com>

On Wed, Mar 27, 2024 at 05:51:00PM -0400, Jason Andryuk wrote:
> Consolidate to a single set of common macros for tools.
> 
> MB() will gain another use in libelf, so this movement makes it
> available.
> 
> Requested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---

So, this patch fixes potential use issues with the macros in hvmloader
and init-xenstore-domain. While it's not perfect, it still better.

I'll try "MB(memory + 0)" with the different macros:


> diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
> index 87be213dec..14078bde1e 100644
> --- a/tools/firmware/hvmloader/util.h
> +++ b/tools/firmware/hvmloader/util.h
> @@ -38,9 +38,6 @@ void __bug(const char *file, int line) __attribute__((noreturn));
>  #define BUG() __bug(__FILE__, __LINE__)
>  #define BUG_ON(p) do { if (p) BUG(); } while (0)
>  
> -#define MB(mb) (mb##ULL << 20)
> -#define GB(gb) (gb##ULL << 30)

With this change we have this change for MB(memory + 0) when applied:
-  (memory + 0ULL << 20)
+  ((memory + 0ULL) << 20)

>  static inline int test_bit(unsigned int b, const void *p)
>  {
>      return !!(((const uint8_t *)p)[b>>3] & (1u<<(b&7)));
> diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
> index 5405842dfe..f38ba8d6b5 100644
> --- a/tools/helpers/init-xenstore-domain.c
> +++ b/tools/helpers/init-xenstore-domain.c
> @@ -20,7 +20,6 @@
>  #include "init-dom-json.h"
>  
>  #define LAPIC_BASE_ADDRESS  0xfee00000UL
> -#define GB(x)               ((uint64_t)x << 30)

With this change we have this change for GB(memory + 0) when applied:
-  ((uint64_t)memory + 0 << 30)
+  ((memory + 0ULL) << 30)


So overall, patch makes things better and less duplication:
Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 13:28:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 13:28:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700541.1093854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs0ek-00022t-02; Wed, 03 Apr 2024 13:27:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700541.1093854; Wed, 03 Apr 2024 13: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 1rs0ej-00022m-To; Wed, 03 Apr 2024 13:27:57 +0000
Received: by outflank-mailman (input) for mailman id 700541;
 Wed, 03 Apr 2024 13:27: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=g+Gt=LI=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rs0ei-00022g-4t
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 13:27:56 +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 f8aaf3dd-f1bd-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 15:27:53 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712150868276133.6148006139797;
 Wed, 3 Apr 2024 06:27: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: f8aaf3dd-f1bd-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; t=1712150869; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KXla8mW4NVro9+h032S0ILVMxKXlwvaUqvnrRnJauCMxYf5bNFi5hxk0SvmY/kvtfyxYRenY6PbpJYkMpRWsz7D3A99We3LXBP94tq4wx25haP0BYi5rBJO7sClUMHzdKsWAYYYIl/QHl/gDNeFYeFM6h7ts94takBIGQSOkFLU=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712150869; 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=DAv8TPOyq2ChFBd07jPFEeUeq/LlmA+d41YZpewyVYc=; 
	b=G+OrYxNvfx4HAhuEcRa04eTh33op6ciOPMIEpM9VwVsB7++pCqnN+5Y0MqOm6G0eMD9f7jEpbS4YzRN7Dl7CmQ/H250w7aeOm7FYyK4CaswtnwQtKAn7cYTy2mykmtV4Xh0FJeuOa4GCWMQHUuJbwqcV1lXyXNzDJbP6yXZgzNE=
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=1712150869;
	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=DAv8TPOyq2ChFBd07jPFEeUeq/LlmA+d41YZpewyVYc=;
	b=g9W/gEMFyOY4zktSXfYnjTnIqFIYI9ph4ehZxQhOPZSfUIocQ2LQWN2XZZPrk74A
	zBVP0P3Z8lE40d9pXeGzMQtcetPG8lT3W6GLpX118pPALAEX5R4FBc7TTPPge72Goh+
	VcLJcmsxJj9g9A112zaVzF6Hd7HsVx/lpvKV+tL0=
Message-ID: <61945064-38ec-4ea5-9084-a82d3c252b2d@apertussolutions.com>
Date: Wed, 3 Apr 2024 09:27:46 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <2df1e3ef-32c5-45c3-af1b-e9473a4e9120@apertussolutions.com>
 <d86e7a86-cd2a-4b0c-b269-6b4e9b2edff3@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: <d86e7a86-cd2a-4b0c-b269-6b4e9b2edff3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/3/24 08:05, Jan Beulich wrote:
> On 03.04.2024 13:10, Daniel P. Smith wrote:
>> On 4/3/24 02:16, Jan Beulich wrote:
>>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>>> The commit makes a claim without any kind of justification.
>>>
>>> Well, what does "have no business" leave open?
>>
>> Why does it not have any business? Why should a domain that creates an
>> event channel not be able to inquire about its status?
> 
> Event channels we talk about here are created via
> alloc_unbound_xen_event_channel(). IOW it's not any domain creating them.
> Once connected, the respective domain is of course fine to query its end
> of the channel.


I would disagree, for instance alloc_unbound_xen_event_channel() is used 
in response to XEN_DOMCTL_vuart_op:XEN_DOMCTL_VUART_OP_INIT and 
XEN_DOMCTL_VM_EVENT_OP_PAGING:XEN_VM_EVENT_ENABLE, which are hypercalls 
by a domain and not something initiated by the hypervisor.

>>>> The claim is false, and the commit broke lsevtchn in dom0.
>>>
>>> Or alternatively lsevtchn was doing something that was never meant to work
>>> (from Xen's perspective).
>>
>> Again, you have not said why this is a problem. What concern does it
>> create? Does it open the door for access elevation, resource
>> deprivation, or some other malicious behaviors?
> 
> It exposes information that perhaps better wouldn't be exposed. Imo if
> Xen owned resource state is of interest, it would want exposing via
> hypfs.

You didn't answer why, just again expressed your opinion that it is not 
better exposed. And I would have to wholly disagree with the sentiment 
that hypfs exposure is the deciding factor what is or is not worth 
exposing. This thinking is completely orthogonal to FLASK and 
fine-grained access control.

>>>>    It is also quite
>>>> obvious from XSM_TARGET that it has broken device model stubdoms too.
>>>
>>> Why would that be "obvious"? What business would a stubdom have to look at
>>> Xen's side of an evtchn?
>>
>> Again, you have not expressed why it shouldn't be able to do so.
> 
> See above - not its resource, nor its guest's.

It is a resource provided to a domain that the domain can send/raise an 
event to and a backing domain that can bind to it, ie. the two 
parameters that must be passed to the allocation call.

>>>> Whether to return information about a xen-owned evtchn is a matter of policy,
>>>> and it's not acceptable to short circuit the XSM on the matter.
>>>
>>> I can certainly accept this as one possible view point. As in so many cases
>>> I'm afraid I dislike you putting it as if it was the only possible one.
>>
>> In fact, this commit is in violation of the XSM. It hard-codes a
>> resource access check outside XSM, thus breaking the fine-grained access
>> control of FLASK.
> 
> Perhaps; see below and see the question raised in the subsequent reply
> to the patch.
> 
>>> In summary: The supposed justification you claim is missing in the original
>>> change is imo also missing here then: What business would any entity in the
>>> system have to look at Xen's side of an event channel? Back at the time, 3
>>> people agreed that it's "none".
>>
>> As stated, you provided no reason or justification for "has no business"
>> and by face value is an opinion that a few people agreed with. As for
>> why, there could be a myriad number of reasons a domain may want to
>> check the status of an interface it has with the hypervisor. From just
>> logging its state for debug to throttling attempts at sending an event.
>> So why, from a security/access control decision, does this access have
>> to absolutely blocked, even from FLASK?
> 
> I didn't say it absolutely needs to be blocked. I'm okay to become
> convinced otherwise. But in the description complaining about lack of
> reasons in the 3-4 year old change, just to then again not provide any
> reasons looks "interesting" to me. (And no, just to take that example,
> lsevtchn not working anymore on such channels is not on its own a
> reason. As indicated, it may well be that conceptually it was never
> supposed to be able to have access to this information. The latest not
> anymore when hypfs was introduced.)

This broke an existing behavior, whether that behavior is correct can 
always be questioned, does not justify leaving an incorrect 
implementation. And it is incorrect because as again you have not 
articulated why the lsevtchn behavior is wrong and thus whether this is 
the valid corrective action.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 13:31:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 13:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700545.1093865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs0hu-0004Lb-GV; Wed, 03 Apr 2024 13:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700545.1093865; Wed, 03 Apr 2024 13: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 1rs0hu-0004LU-CZ; Wed, 03 Apr 2024 13:31:14 +0000
Received: by outflank-mailman (input) for mailman id 700545;
 Wed, 03 Apr 2024 13:31: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=g+Gt=LI=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rs0hs-0004LM-JD
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 13:31:12 +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 6e51b356-f1be-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 15:31:11 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712151064755188.14610449192196;
 Wed, 3 Apr 2024 06: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: 6e51b356-f1be-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; t=1712151066; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=YZcPye6AqfUaWsg0teZxQSvw1HlUma9o9iSy7M9mGpi87DjcGG9sPgd9Yx2P++iEqcpUnLfeZn+JcKXtMAuElD2PKCzbrIPmdOhd8hJKs9aHePgDiPgSix5sV1a7/9paVZm694dIhX4UFYrTMaqNb2FnBxYy82nFuGLQi6RYhOo=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712151066; 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=jGb0wbnB4CIEWPYCV1GMNzIV1Nr5eSQsU2upTXfOHHI=; 
	b=PwyTUnuF/D6edtQIs8AVql95/r2q1sScPK2erpuZBlBbUp5/rx6xftmpZWGmozh4DqdWweHBzc6iQlO2Ox87gmKXX46Iz6SxC/ogqfiB+yHzFoYrjEYx15O9oTjhE60a+2uSmQ2tB+n1FA/IVYWKpg/B1Zn+WmJiP0m8E9Iwz9o=
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=1712151066;
	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=jGb0wbnB4CIEWPYCV1GMNzIV1Nr5eSQsU2upTXfOHHI=;
	b=Eyd9g2dSZzMN/KYbRvY2z/t17iX7tDIy3usoQ4o9V4FYDnXmNkKubXi5v+qfT5Re
	kVlxz5wRCMK6dbaoHuKwnbN4K9/zzZ0IYB4VAANVbRjutGK0thdqfOhxgNEc+AICaS3
	BfpQdzf1TxARiAL4Xywvq820L3Xar+t0PDF4c1OU=
Message-ID: <accf801d-a74b-41c3-a67f-bcbe622e4e34@apertussolutions.com>
Date: Wed, 3 Apr 2024 09:31:03 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <f2b596e6-0aec-4948-ad7a-aa38adaa7dcc@suse.com>
 <3aa0893b-7efd-4ca1-a405-e897edc7402f@apertussolutions.com>
 <3b8ec757-d2f3-4143-a843-de8c6d51944d@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: <3b8ec757-d2f3-4143-a843-de8c6d51944d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/3/24 07:54, Jan Beulich wrote:
> On 03.04.2024 13:50, Daniel P. Smith wrote:
>> On 4/3/24 02:52, Jan Beulich wrote:
>>> On 03.04.2024 08:16, Jan Beulich wrote:
>>>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>>>> Whether to return information about a xen-owned evtchn is a matter of policy,
>>>>> and it's not acceptable to short circuit the XSM on the matter.
>>>>
>>>> I can certainly accept this as one possible view point. As in so many cases
>>>> I'm afraid I dislike you putting it as if it was the only possible one.
>>>
>>> Further to this: Is there even a way to express the same denial in XSM?
>>> alloc_unbound_xen_event_channel() doesn't specifically "mark" such a
>>> channel, and (yes, it could in principle be open-coded in Flask code)
>>> consumer_is_xen() is private to event_channel.c. I also dare to question
>>> whether in SILO mode status information like this should be available.
>>
>> To build on the previous response: if the natural failure return value
>> is -EACCESS in response to a domain resource access attempt, then the
>> probability is extremely high that it should be implemented under a XSM
>> hook and not hard-coded into the resource logic.
> 
> Possibly. But first of all - could you answer the earlier question I raised?

Don't need to, this change subverts/violates the access control 
framework. If the desire is to make this access decision for the 
default/dummy policy, then codify it there. Otherwise I will be ack'ing 
this change since it is access control and falls under the purview of XSM.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 13:35:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 13:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700548.1093874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs0m1-0004vz-VU; Wed, 03 Apr 2024 13:35:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700548.1093874; Wed, 03 Apr 2024 13:35:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs0m1-0004vs-Sm; Wed, 03 Apr 2024 13:35:29 +0000
Received: by outflank-mailman (input) for mailman id 700548;
 Wed, 03 Apr 2024 13:35:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g+Gt=LI=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rs0m0-0004vm-4o
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 13:35:28 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0734d5a9-f1bf-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 15:35:27 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712151321823908.6436745542595;
 Wed, 3 Apr 2024 06:35: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: 0734d5a9-f1bf-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; t=1712151323; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=T2d9diPrIwfJsOwK7NyKNNR5oF8tFCja1slxo9Q4RtoQXqWbWGd7+cr5X6wyFVobCGnIJXVB+tjGPnCDTdR6WXRB9O+Qu9kZeiIWwfI6RRzYkheEcd6cVjtEV/TJYIzDJhmVvDgM/VbqYoMH0LQbnITS+yQWHc0HMe1PbF3If0A=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712151323; 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=/MO9bX1PzD/CubB0FQOA3VV0mnrAnV0VNXvlK9zdKts=; 
	b=QHa6wQRkKXyvvmFZ5w+cF0kTkVDJqRFS6sZA5oWwvBEFMqnNUO/9XOBcGqwX20J7WyPRPmhcWX+weACsrgh36TrmVBnHELuu1Vv9rKyDJ5w7IqYaeC5XrTpRG8kAu3GZbC+nvulAvzoyiG1FxRoLp/VfV653F8zNBwGPhzTauF8=
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=1712151323;
	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=/MO9bX1PzD/CubB0FQOA3VV0mnrAnV0VNXvlK9zdKts=;
	b=G1kanYFG/3yDJWOhAlZHONQwitOQBljtJo3W4hS7yspwTv9vaxzsKb7cAcUymRYS
	noYk0BcJL3JEzBpYpA9oSvGWD5ZIArceCuChNUNfP29Fool5/OzvqQsfvUMEV9I5MwL
	i4uDeTepls1yTyjOZS7dNBAlPNwyMvm+3xrufD+k=
Message-ID: <e10a05b3-5b55-423e-8ebf-ebc745cc2649@apertussolutions.com>
Date: Wed, 3 Apr 2024 09:35:19 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: George Dunlap <George.Dunlap@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>
References: <20240402170612.2477791-1-andrew.cooper3@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: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/2/24 13:06, Andrew Cooper wrote:
> The commit makes a claim without any kind of justification.
> 
> The claim is false, and the commit broke lsevtchn in dom0.  It is also quite
> obvious from XSM_TARGET that it has broken device model stubdoms too.
> 
> Whether to return information about a xen-owned evtchn is a matter of policy,
> and it's not acceptable to short circuit the XSM on the matter.
> 
> This reverts commit f60ab5337f968e2f10c639ab59db7afb0fe4f7c3.
> 
> Fixes: f60ab5337f96 ("evtchn: refuse EVTCHNOP_status for Xen-bound event channels")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Daniel Smith <dpsmith@apertussolutions.com>
> ---
>   xen/common/event_channel.c | 6 ------
>   1 file changed, 6 deletions(-)
> 
> diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
> index 20f586cf5ecd..ae6c2f902645 100644
> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -1040,12 +1040,6 @@ int evtchn_status(evtchn_status_t *status)
>   
>       read_lock(&d->event_lock);
>   
> -    if ( consumer_is_xen(chn) )
> -    {
> -        rc = -EACCES;
> -        goto out;
> -    }
> -
>       rc = xsm_evtchn_status(XSM_TARGET, d, chn);
>       if ( rc )
>           goto out;
> 
> base-commit: 7a09966e7b2823b70f6d56d0cf66c11124f4a3c1

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 14:00:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 14:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700555.1093884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs19g-0001I2-Sp; Wed, 03 Apr 2024 13:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700555.1093884; Wed, 03 Apr 2024 13:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs19g-0001Hv-QF; Wed, 03 Apr 2024 13:59:56 +0000
Received: by outflank-mailman (input) for mailman id 700555;
 Wed, 03 Apr 2024 13:59: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=pg83=LI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rs19g-0001Hp-6K
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 13:59:56 +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 72a8b18d-f1c2-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 15:59:54 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-56e0a8733d8so685985a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 06:59:54 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 cx23-20020a05640222b700b0056e064a6d2dsm822357edb.2.2024.04.03.06.59.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 06:59: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: 72a8b18d-f1c2-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712152794; x=1712757594; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9lFbRJEsVJdda1miBZgOS5YWSai3mVfErmQ/bnpAQlU=;
        b=mA9+T0wnkdixbxan1v363K59NYpBzTe4Rod4Z0/RRN9V37TokGbVvoKdca/Pl2Pz0V
         FHPexxm45Z584GKtUQ/x0dDpD02FyToNNrG0Lnu55rKSVcvljtxKMKiWkE0UwllWnj3y
         uIHtmIL7/0K6hUr9b6j8QFIXhjD3JZJfbkanc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712152794; x=1712757594;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9lFbRJEsVJdda1miBZgOS5YWSai3mVfErmQ/bnpAQlU=;
        b=Q+0yiZNIpKLFxkXq44rjSsN2iDVqAI2pkF6SzTgEH/Q6N+xXcWDOy3QLeZFIAoXoBQ
         wFTcmVxekMbb9rX9vQgPedyPHBISehchxhPs08YOLbEatduPgPVbAZqEdoFOfaDzzM2R
         4TX68Iivzf8ZDBebbq/nSFFjrKR4HHg5ESQw9CVP0o+DV2S6Dvj6vQ0GA5mh8+sYDAx5
         sp/29GH3pPGZOzISYJEOftTgNXuU9Snv6qhxnPZfZwG6ZImzkKEOeDqc+wx/BhE9rkba
         YTGR7RoU5lMk8hMkecPeqeTLaS9xaci2JhYvPmTXr3cYZnQUo/mBoERrp0gSqh5SNdOq
         Ftcw==
X-Forwarded-Encrypted: i=1; AJvYcCWKvhhKG4zjhhD0UKGf50NJaGI7DjawPkw2TZuXeIc4CR9v0WecTKJlIISqKkh2A5GlRs3WWzzjuEITu+LlIS0RBY9ltiFZ1G9fn6vqbm4=
X-Gm-Message-State: AOJu0YzxZxlQDmq/4XfVNYSuuEH7U7FLnVsrNtxODfTQTcgN55q7oSBU
	kv4PuyOBRwyFnlaDTDRg+wEHyYD6hpADNIGEWarCPjGAQPZl1b70eZ3eetow/SQ=
X-Google-Smtp-Source: AGHT+IHKS2MzbQFaMNQVgSdill2f5hBV5z4j08gTtFpp/Nr9vPFiNnzTJORS1acaB4yetF8xxza+2A==
X-Received: by 2002:a50:d501:0:b0:56e:bad:36b with SMTP id u1-20020a50d501000000b0056e0bad036bmr879142edi.21.1712152794056;
        Wed, 03 Apr 2024 06:59:54 -0700 (PDT)
Message-ID: <018e20ba-f15b-48e7-9333-19f6e570d55f@citrix.com>
Date: Wed, 3 Apr 2024 14:59:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/include: move definition of ASM_INT() to
 xen/linkage.h
To: Jan Beulich <jbeulich@suse.com>, Juergen Gross <jgross@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>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240403120323.18433-1-jgross@suse.com>
 <e401ffe1-de4b-4548-8eba-feb7e85c9971@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: <e401ffe1-de4b-4548-8eba-feb7e85c9971@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/04/2024 1:51 pm, Jan Beulich wrote:
> On 03.04.2024 14:03, Juergen Gross wrote:
>> ASM_INT() is defined in arch/[arm|x86]/include/asm/asm_defns.h in
>> exactly the same way. Instead of replicating this definition for riscv
>> and ppc, move it to include/xen/linkage.h, where other arch agnostic
>> definitions for assembler code are living already.
> And this is why I didn't make a change right away, back when noticing the
> duplication: Arch-agnostic really means ...
>
>> --- a/xen/include/xen/linkage.h
>> +++ b/xen/include/xen/linkage.h
>> @@ -60,6 +60,8 @@
>>  #define DATA_LOCAL(name, align...) \
>>          SYM(name, DATA, LOCAL, LASTARG(DATA_ALIGN, ## align), DATA_FILL)
>>  
>> +#define ASM_INT(label, val)    DATA(label, 4) .long (val); END(label)
> ... to avoid .long [1]. There's no arch-independent aspect guaranteeing
> that what .long emits matches "unsigned int" as used e.g. in the
> declaration of xen_config_data_size.

I'd forgotten that point, but I don't think it's a good reason force
every architecture to implement the same thing.

Borrowing a trick from the alternatives, what about this as a sanity check?

diff --git a/xen/tools/binfile b/xen/tools/binfile
index 0299326ccc3f..21593debc872 100755
--- a/xen/tools/binfile
+++ b/xen/tools/binfile
@@ -35,4 +35,10 @@ DATA($varname, 1 << $align)
 END($varname)
 
         ASM_INT(${varname}_size, .Lend - $varname)
+.Lsize_end:
+
+        .section .discard
+        # Build assert sizeof(ASM_INT) == 4
+        .byte 0xff - ((.Lsize_end - ${varname}_size) == 4)
+
 EOF


Ideally we'd want BYTES_PER_INT here but it turns out that doesn't exist
in Xen.  If we find an architecture where .long isn't the right thing,
we can make ASM_INT optionally arch-specific.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 14:08:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 14:08:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700558.1093894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1Ha-0003TV-LE; Wed, 03 Apr 2024 14:08:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700558.1093894; Wed, 03 Apr 2024 14: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 1rs1Ha-0003TO-IW; Wed, 03 Apr 2024 14:08:06 +0000
Received: by outflank-mailman (input) for mailman id 700558;
 Wed, 03 Apr 2024 14:08: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=pg83=LI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rs1HZ-0003TI-73
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 14:08:05 +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 95eab264-f1c3-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 16:08:03 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2d700beb60bso107274181fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 07:08:03 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 bi2-20020a170907368200b00a4e86dd231dsm2154694ejc.42.2024.04.03.07.08.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 07:08: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: 95eab264-f1c3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712153283; x=1712758083; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7ZHSSjzkoooPdOF46z3ZebLhP62bZRpoSNsCXg0WE5s=;
        b=n10eiq/wVFPZkFwLjrp2Thmf3rNabhhGiVVkWo7gsV23SAg1BqTR9Be4bn2jr/WJG0
         bGccbuoLEg6T7hUzI3a2bsPvESJJshl8iWA9lkx+Aa5Yg5mlnlFqJWvYS1yHM9haTBOp
         KXyooQWaZG8D71dGn30QKzsTTL29MxFwqfSNg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712153283; x=1712758083;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7ZHSSjzkoooPdOF46z3ZebLhP62bZRpoSNsCXg0WE5s=;
        b=XyvQBreX2abdppQTGtz5T0OxX1+8PrJojWsMpByIH2fHczmT7Vwe9isetjhhxw+N0J
         uXzr5v9vlU5vnBQkQQezYvbcXInPC5cYC+BOqGCngHultw59G4ybQ9lm97d9V6UgHwnT
         Gi+WUlqoVNthsCrqNeRdK5twrpIGXeqkG28cWmJ/sF8Uv9Yi06egHY7gb/9OW2yVQSSk
         HMwgZv3jAkdC+CJ0Bzk/s+64NH2Y3S1A/RFMS9dpd/nbfUiURbMd0x92coP518amGnTk
         rF36OzWxlB0VTvoPIYkeZXlDa/9DSvoH7iB4k8NABkvEGoo68mJHIuO0Tcto+y2gvc0d
         JNfw==
X-Forwarded-Encrypted: i=1; AJvYcCUNUnb1dhnNg3HyFGusMHzviBK1C+LFQRL/vScF/NzmskNuHSRK8nVlmnP3QpF9BMIbuSbog9LQu7rJZ1F8K3NBD1Y0LLAqOLi3AnMrFPk=
X-Gm-Message-State: AOJu0YwUgSvkJhv2Ea8yoRwU8RiZdgQigARh5G8u7nCGfC6KkGAjm/DA
	cj9RbPrgPPl8htPiCblEBC2brFhKrbG7CN7mIlOMjQXafpSmZ5J6LVPfGeZ0gG0=
X-Google-Smtp-Source: AGHT+IHUtlStKODWpcEjeDtszNsdsvuuyCQWBfbTvlzrc3C0d/xTzmhr7WsmuoBgbUZ7T4eoySHhCA==
X-Received: by 2002:a2e:b1d1:0:b0:2d8:1276:33bb with SMTP id e17-20020a2eb1d1000000b002d8127633bbmr3824003lja.18.1712153282610;
        Wed, 03 Apr 2024 07:08:02 -0700 (PDT)
Message-ID: <c28a3b6d-cfef-4b4e-9ddf-641142f2ea9c@citrix.com>
Date: Wed, 3 Apr 2024 15:08:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: preparations for 4.17.4
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>,
 Kelly Choi <kelly.choi@cloud.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b726b105-9204-4a72-8fbc-ceaa8e74f3ec@suse.com>
 <6feb56fe-769d-4809-b16f-6fc4d5477747@citrix.com>
 <f3ef0c54-e3e0-416c-953d-00c4df0c5d82@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: <f3ef0c54-e3e0-416c-953d-00c4df0c5d82@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/04/2024 3:26 pm, Jan Beulich wrote:
> On 27.03.2024 13:33, Andrew Cooper wrote:
>> 1) livepatching of .rodata:
>>
>> 989556c6f8ca - xen/virtual-region: Rename the start/end fields
>> ef969144a425 - xen/virtual-region: Include rodata pointers
>> b083b1c393dc - x86/livepatch: Relax permissions on rodata too
>>
>> And technically "x86/mm: fix detection of last L1 entry in
>> modify_xen_mappings_lite()" too but you've already backported this one.
>>
>> Patching .rodata worked before Xen 4.17, and was broken (left as a TODO)
>> when I adjusted Xen to stop using CR0.WP=0 for patching.
>>
>>
>> 2) Policy fixes:
>>
>> e2d8a6522516 - x86/cpu-policy: Fix visibility of HTT/CMP_LEGACY in max
>> policies
>>
>> This is a real bugfix for a real regression we found updating from Xen
>> 4.13 -> 4.17.  It has a dependency on
>>
>> 5420aa165dfa - x86/cpu-policy: Hide x2APIC from PV guests
>>
>> which I know you had more concern with.  FWIW, I'm certain its a good
>> fix, and should be backported.
>>
>>
>> 3) Test fixes:
>>
>> 0263dc9069dd - tests/resource: Fix HVM guest in !SHADOW builds
>>
>> It's minor, but does make a difference for those of us who run these
>> tests regularly.
>>
>>
>> 4) Watchdog fixes:
>>
>> 9e18f339830c - x86/boot: Improve the boot watchdog determination of
>> stuck cpus
>> 131892e0dcc1 - x86/boot: Support the watchdog on newer AMD systems
>>
>> You took "x86/boot: Fix setup_apic_nmi_watchdog() to fail more cleanly"
>> and the first of the two patches is in the same category IMO.  The
>> second I also feel ok to take for the in-support releases, particularly
>> as all it is doing is dropping a family list.
> I've pushed all of the above.

Thanks.

>
>> 5) Ucode scan stability  (For 4.18 only)
>>
>> Xen 4.18 had "x86/ucode: Refresh raw CPU policy after microcode load" in
>> it's .0 release, so should also gain:
>>
>> cf7fe8b72dea - x86/ucode: Fix stability of the raw CPU Policy rescan
> This already is in 4.18.1, ...
>
>> I've only noticed because I've got them both backported to 4.17 in
>> XenServer, but I don't think upstream wants to take that route.
> ... while, as you suggest, not (and not intended to be) in 4.17.

Oh, so it is.  Although comparing my backport to what you put into 4.18,
you also want

930605f155cc - x86/ucode: Remove accidentally introduced tabs

which I apparently folded into my 4.17 backport.  I have a feeling I
noticed at the point of doing the backport.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 14:22:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 14:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700561.1093904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1VJ-0007Sr-Ok; Wed, 03 Apr 2024 14:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700561.1093904; Wed, 03 Apr 2024 14:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1VJ-0007Sk-M0; Wed, 03 Apr 2024 14:22:17 +0000
Received: by outflank-mailman (input) for mailman id 700561;
 Wed, 03 Apr 2024 14:22:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rs1VI-0007Se-SD
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 14:22:16 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 915afcbd-f1c5-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 16:22:14 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3416a975840so4834659f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 07:22: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
 bo15-20020a056000068f00b00341e2146b53sm2164901wrb.106.2024.04.03.07.22.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 07:22: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: 915afcbd-f1c5-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712154134; x=1712758934; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=c7aO0JMjg2hBaX4gFYbFSMaeOLdBXRqEay15AfPUPHs=;
        b=DUqBkYAKeTBpRyDOhHBaZbZLuhWHPiV/Tirp9RmVQnyBzVuzboztqXnpwYssK1y93U
         IMhJXcI4tWPSmo7W3DaWeUdkKAeZXHDXArANOprxK/yvshKfpMqcXdaTwPhA9lCiOIzv
         ra1KHr5Y/LYkf4UJPTjkCyPPH8yZ/SUoOApkyH5LvjYorjLwXLn8QKlFc3U4HyL6xmW+
         jGkC+GyYT6s5s+n367vx5iqCBdKUZyOevFVFB88xig68BLqfgA/hkACsxtS3pPswpq9c
         E8r/JWnXhB7J3Aq0bSqXHngl2VJQMt7NjeI4iZ2Ft5JpsTBVC/htVMdDwxajY9CJ+Ai2
         GIqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712154134; x=1712758934;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=c7aO0JMjg2hBaX4gFYbFSMaeOLdBXRqEay15AfPUPHs=;
        b=dN4f+Gk0X4PdvB/DIItpHJW+h/DcTa4iT8nuMJAYQBUJywwExhwfR3P/2HKHa6C3xf
         Ev+yPHuwW3FrRIRqTkq+HfNcBngfTTSJtL0hQwYTYGtEvkQs9DEErYE0y5iaINt6w9MH
         /kYDQ3HHYRFo255p5H2wISZ+BoT3fFRLHgTSWK5fSlk3Op9eabcym7xViCecV5hEFrA4
         FNBtTFqa8avQhWCNxmyRtHuIE2kBWUE/1KwPnndo8rIkWxcyPy1kIhinxa8fiixkTwry
         ne9cfiFsrvyHVSBox3paGOAPKU+DTCqeWf7TPILeM6qLNP+BX0I7TLaTTWvet5uSrsgV
         MdTQ==
X-Forwarded-Encrypted: i=1; AJvYcCVsvIEGkLPw4M0Zhbl2n/p0tzblo35qFlsw/B/9tjLiWiil/bSNKf6l2ltzZcQH/BW2/cDF2St3+TKOFOh1SPWdeSEgXPdla0mt1hwVClc=
X-Gm-Message-State: AOJu0Ywd/bp9VQhgo5WDXuwSv9zFx1ppsKNcAjp29UszmWWT4hmm9PqP
	gHVrs06i4AWrQ9XXUufIui7UxxkNlJ1NtrZ8eFsOliq2M2oe8kU6vueWWnNHxg==
X-Google-Smtp-Source: AGHT+IFt+emI1Mujk0noPxkoSpesSMNcktbwLSeAIPBIbemLqb6eNpm5ri9Dza6MsF9JMmm/X56evQ==
X-Received: by 2002:a5d:4246:0:b0:341:bf35:5088 with SMTP id s6-20020a5d4246000000b00341bf355088mr10544008wrr.52.1712154134043;
        Wed, 03 Apr 2024 07:22:14 -0700 (PDT)
Message-ID: <47374e80-4ac3-44d4-a440-5fbebc0c6a6c@suse.com>
Date: Wed, 3 Apr 2024 16:22:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/include: move definition of ASM_INT() to
 xen/linkage.h
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.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>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
References: <20240403120323.18433-1-jgross@suse.com>
 <e401ffe1-de4b-4548-8eba-feb7e85c9971@suse.com>
 <018e20ba-f15b-48e7-9333-19f6e570d55f@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <018e20ba-f15b-48e7-9333-19f6e570d55f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.04.2024 15:59, Andrew Cooper wrote:
> On 03/04/2024 1:51 pm, Jan Beulich wrote:
>> On 03.04.2024 14:03, Juergen Gross wrote:
>>> ASM_INT() is defined in arch/[arm|x86]/include/asm/asm_defns.h in
>>> exactly the same way. Instead of replicating this definition for riscv
>>> and ppc, move it to include/xen/linkage.h, where other arch agnostic
>>> definitions for assembler code are living already.
>> And this is why I didn't make a change right away, back when noticing the
>> duplication: Arch-agnostic really means ...
>>
>>> --- a/xen/include/xen/linkage.h
>>> +++ b/xen/include/xen/linkage.h
>>> @@ -60,6 +60,8 @@
>>>  #define DATA_LOCAL(name, align...) \
>>>          SYM(name, DATA, LOCAL, LASTARG(DATA_ALIGN, ## align), DATA_FILL)
>>>  
>>> +#define ASM_INT(label, val)    DATA(label, 4) .long (val); END(label)
>> ... to avoid .long [1]. There's no arch-independent aspect guaranteeing
>> that what .long emits matches "unsigned int" as used e.g. in the
>> declaration of xen_config_data_size.
> 
> I'd forgotten that point, but I don't think it's a good reason force
> every architecture to implement the same thing.

Of course.

> Borrowing a trick from the alternatives, what about this as a sanity check?
> 
> diff --git a/xen/tools/binfile b/xen/tools/binfile
> index 0299326ccc3f..21593debc872 100755
> --- a/xen/tools/binfile
> +++ b/xen/tools/binfile
> @@ -35,4 +35,10 @@ DATA($varname, 1 << $align)
>  END($varname)
>  
>          ASM_INT(${varname}_size, .Lend - $varname)
> +.Lsize_end:
> +
> +        .section .discard
> +        # Build assert sizeof(ASM_INT) == 4
> +        .byte 0xff - ((.Lsize_end - ${varname}_size) == 4)
> +
>  EOF

Hmm, tools/binfile may not be involved in a build, yet ASM_INT() may
still be used. Since there may not be any good place, I think we're
okay-ish for now without such a check.

> Ideally we'd want BYTES_PER_INT here but it turns out that doesn't exist
> in Xen.  If we find an architecture where .long isn't the right thing,
> we can make ASM_INT optionally arch-specific.

We don't even need to go this far - merely introducing an abstraction
for .long would suffice, and then also allow using that in bug.h.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 14:23:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 14:23:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700563.1093915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1Wi-00089g-2a; Wed, 03 Apr 2024 14:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700563.1093915; Wed, 03 Apr 2024 14:23:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1Wh-00089Z-Vr; Wed, 03 Apr 2024 14:23:43 +0000
Received: by outflank-mailman (input) for mailman id 700563;
 Wed, 03 Apr 2024 14:23:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rs1Wg-00089R-7e
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 14:23:42 +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 c5146282-f1c5-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 16:23:41 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-34356f794a5so2112819f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 07:23: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
 bo15-20020a056000068f00b00341e2146b53sm2164901wrb.106.2024.04.03.07.23.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 07:23:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5146282-f1c5-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712154221; x=1712759021; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9uehgPpGQPk19Eupp94FVs6OxGDprZtpacrbPLEgYPc=;
        b=RYbqoKDK2AlHiczUUHLtw8goJFMmIf7XAa52qI2bzVr3YNpnGtrNrvZHN/gR8vR3uw
         SIqVCtWDC63hBWi+VTZF/Jqxo+eDGtxTBgF3E8afowuoZjSo2MlLPSVv/6Jp092Ye95b
         TMYSZbEoycygUFLoBjm59/UsvfxNOoNyYVkrAW3J8g8wQmdyigpRSGP/QoVuEZwZS6wb
         CF/6owUotTG+oXVd62cHIO/5drmBMXWmQHX5lsBAODtlHBUIysfSHOQlz1n3BkUtA1O7
         Z6VB2TmnBm+tk0wVLgy/T4OHtZlYnQzCwDPgxOKheqBuuRLfLb/mUX8zaJnATyVPdGBC
         PIhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712154221; x=1712759021;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9uehgPpGQPk19Eupp94FVs6OxGDprZtpacrbPLEgYPc=;
        b=B61CTeFQMc+ovLg02TP/irgAdX4IJXJnSYVtlwtLJtPpur8CP31a5cFCjXXR8hxmpd
         kl+i+i7VcBjiAZi3dqXlkdlGEndDqR+2zXnGYTdZMNQQ5YEF1YQtRGQfYbfRs1UPPG1l
         4XV4xSR0Y3ui22mDJ6nZUGKpkHR+SxM56X5gFZP1rIJM/H6/7BUAL383jAd22oyJ/uSc
         xEiU/fycROrB4mGby+7tgGy/PhI6HpMAnuTT5H6N1koaIbASGjzVmxykKkIEtaFfAYzw
         tDWzfdzhl5+S58AmIbAfLvUutI7tR4PP5OQ9Ns7HVg6Arf9rJdi9jnRD9UoaC4ebfDMQ
         jvdA==
X-Forwarded-Encrypted: i=1; AJvYcCWloQ5z4CLGQoBoVFQgSt2Wf5BxGkFioQp4u3Ejgta+a9hndcF81woiH22AZaSLGcFTlJ7M8XWbT1AZpNus0LLEUNlZFsGiTaA2pwnKwas=
X-Gm-Message-State: AOJu0YxZ9NdlVkpXW4Q/kRqejXapC4DZgLfmPPHJjkdFG3Oc9pvVNKOj
	Am5615w2XMRhnSwdUQdtP7Bxqz9osv96JPsW+CxZf98wu14NrYbLL7FHJiimzg==
X-Google-Smtp-Source: AGHT+IEJ2FtkQUHudUuaq8eCZYw61RDPSBaA9hdvwhoIuEwKrm2xOeDVdp/B1HDI499AXSj/uFNuHA==
X-Received: by 2002:adf:fe43:0:b0:33f:6ec1:56dd with SMTP id m3-20020adffe43000000b0033f6ec156ddmr4517201wrs.45.1712154220851;
        Wed, 03 Apr 2024 07:23:40 -0700 (PDT)
Message-ID: <8e164054-ed31-40ab-82e7-77c0497ab684@suse.com>
Date: Wed, 3 Apr 2024 16:23:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: preparations for 4.17.4
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>,
 Kelly Choi <kelly.choi@cloud.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b726b105-9204-4a72-8fbc-ceaa8e74f3ec@suse.com>
 <6feb56fe-769d-4809-b16f-6fc4d5477747@citrix.com>
 <f3ef0c54-e3e0-416c-953d-00c4df0c5d82@suse.com>
 <c28a3b6d-cfef-4b4e-9ddf-641142f2ea9c@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c28a3b6d-cfef-4b4e-9ddf-641142f2ea9c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.04.2024 16:08, Andrew Cooper wrote:
> On 02/04/2024 3:26 pm, Jan Beulich wrote:
>> On 27.03.2024 13:33, Andrew Cooper wrote:
>>> 5) Ucode scan stability  (For 4.18 only)
>>>
>>> Xen 4.18 had "x86/ucode: Refresh raw CPU policy after microcode load" in
>>> it's .0 release, so should also gain:
>>>
>>> cf7fe8b72dea - x86/ucode: Fix stability of the raw CPU Policy rescan
>> This already is in 4.18.1, ...
>>
>>> I've only noticed because I've got them both backported to 4.17 in
>>> XenServer, but I don't think upstream wants to take that route.
>> ... while, as you suggest, not (and not intended to be) in 4.17.
> 
> Oh, so it is.  Although comparing my backport to what you put into 4.18,
> you also want
> 
> 930605f155cc - x86/ucode: Remove accidentally introduced tabs
> 
> which I apparently folded into my 4.17 backport.  I have a feeling I
> noticed at the point of doing the backport.

Well, no, if need be that can be folded into a future backport touching
that area again.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 14:35:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 14:35:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700569.1093925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1hi-0002QG-5m; Wed, 03 Apr 2024 14:35:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700569.1093925; Wed, 03 Apr 2024 14: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 1rs1hi-0002Q9-2N; Wed, 03 Apr 2024 14:35:06 +0000
Received: by outflank-mailman (input) for mailman id 700569;
 Wed, 03 Apr 2024 14:35:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rs1hg-0002Pz-L2; Wed, 03 Apr 2024 14:35:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rs1hg-0005aJ-Ci; Wed, 03 Apr 2024 14:35: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 1rs1hf-0007fG-Se; Wed, 03 Apr 2024 14:35:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rs1hf-0002a6-Rh; Wed, 03 Apr 2024 14:35:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=U82SQh62JbOYIIkHfPvZn9xqr9LZirmcIU8mgADgsaU=; b=qAZuvD1gBmURMjJFt3QLmZDkpF
	6eKliw5onEom11xkz22jJsmTqP7ltKG+EQI9r1n+FH+0t3U6+EoIwF7j+JOJWgAQudyTyNrU/p3Dd
	ch1CjfNwRvWsljvSAV0aclkA8pDXlwaEm7lIA5A4wSnBL7tzj4rVhxu9S4IqAidvtD5Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185220-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185220: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-raw:host-ping-check-xen: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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt: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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b1e6ec0a0fd0252af046e542f91234cd6c30b2cb
X-Osstest-Versions-That:
    linux=026e680b0a08a62b1d948e5a8ca78700bfac0e6e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 14:35:03 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw      10 host-ping-check-xen fail pass in 185226-retest

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

Last test of basis   185214  2024-04-01 22:11:44 Z    1 days
Testing same since   185220  2024-04-02 20:12:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Brendan Jackman <jackmanb@google.com>
  Daniel Bristot de Oliveira <bristot@kernel.org>
  Donald Hunter <donald.hunter@gmail.com>
  Hongbo Li <lihongbo22@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Kent Overstreet <kent.overstreet@linux.dev>
  Linus Torvalds <torvalds@linux-foundation.org>
  Randy Dunlap <rdunlap@infradead.org>
  Thomas Bertschinger <tahbertschinger@gmail.com>
  Vitaly Chikunov <vt@altlinux.org>
  Weiji Wang <nebclllo0444@gmail.com>
  zhuxiaohui <zhuxiaohui.400@bytedance.com>
  zhuxiaohui <zhuxiaohui400@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                                      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
   026e680b0a08..b1e6ec0a0fd0  b1e6ec0a0fd0252af046e542f91234cd6c30b2cb -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 14:49:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 14:49:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700579.1093934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1v6-0004xa-9t; Wed, 03 Apr 2024 14:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700579.1093934; Wed, 03 Apr 2024 14:48:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1v6-0004xT-7J; Wed, 03 Apr 2024 14:48:56 +0000
Received: by outflank-mailman (input) for mailman id 700579;
 Wed, 03 Apr 2024 14:48:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yPGy=LI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rs1v4-0004xN-Lj
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 14:48:54 +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 4a56aa94-f1c9-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 16:48:53 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4156a29ff70so20632525e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 07:48:53 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h17-20020a05600c351100b00414854cd257sm21697802wmq.20.2024.04.03.07.48.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 07:48:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a56aa94-f1c9-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712155733; x=1712760533; 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=Thkm/xBLLYoHHKowPDwaLaDVv6ytZcBYJ7wDDXdCj2M=;
        b=A4XYWtuLbZoWYO4xjE8B7wm1ZXjTeP/egFUigWEN59n6UeWM2aG0aXpW388HI1RglA
         l1Jvdo89bwiqk7wki8hGbLD7ZTGNUqroWyQem4CEVi0eV7adPumXvrzx7w654QZiUVy5
         1ebFdpKotTUGL/CLwcyQRoSzJu3TCkTMLf2MI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712155733; x=1712760533;
        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=Thkm/xBLLYoHHKowPDwaLaDVv6ytZcBYJ7wDDXdCj2M=;
        b=oohz5xdzgwn+e8O0HWkeuVHaOYsDIK/Fj0dHCT7pNm4BgJSDTAxmCereRYH5wza06p
         dP+En1IZSovDSyjF5fScKXt1kJDu8qez1vcSV844ridirHh3963LTKtLjMrhY9HOir3X
         RU0j5QDJg7RyDke4vM1e0PgBMLKhuputT5cx6HAYBLG2mUulKxk7KNr82ar5sB8mVrRl
         4I3uqjsuYIs49kZ4pCm46QHp6Yw6tyZQuL8YriGNfuLG3fqOVpwAhS69kLPRReiZML4x
         PKfgP3UMC6UivP7iEbiM8On1W6kpxJcTAKmZKpAQmTLJGA5KwgW6xNZbke9cB0G7jscj
         qVoA==
X-Gm-Message-State: AOJu0Yw8duEEm26KwXofo0zeq7w7rRhZ8dbaA+Q2rfCxVVeXI3qNJob3
	SqjIKrQ/hMT8kA3/FDtgmaWDVrfNnIZTvUhu5QtNOyEeybL1Qp2I6Xs2X5aCXAA=
X-Google-Smtp-Source: AGHT+IE9kSscRj83xw5NxlJVRgWxFOsH/oTtHiAHRUxgCUrtbaPaF6ixlaW7fgMweZB9UR/xOK2kxQ==
X-Received: by 2002:a05:600c:a69d:b0:415:52f8:ca74 with SMTP id ip29-20020a05600ca69d00b0041552f8ca74mr2365655wmb.36.1712155732829;
        Wed, 03 Apr 2024 07:48:52 -0700 (PDT)
Date: Wed, 3 Apr 2024 15:48:51 +0100
From: Anthony PERARD <anthony.perard@cloud.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>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	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: [RFC XEN PATCH v6 5/5] domctl: Add XEN_DOMCTL_gsi_permission to
 grant gsi
Message-ID: <316358e3-be27-4e4b-8ac4-2935442071c5@perard>
References: <20240328063402.354496-1-Jiqian.Chen@amd.com>
 <20240328063402.354496-6-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240328063402.354496-6-Jiqian.Chen@amd.com>

On Thu, Mar 28, 2024 at 02:34:02PM +0800, Jiqian Chen wrote:
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 2cec83e0b734..debf6ec6ddc7 100644
> @@ -1500,13 +1510,25 @@ static void pci_add_dm_done(libxl__egc *egc,
>              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;
> +        if (is_gsi) {
> +            r = xc_domain_gsi_permission(ctx->xch, domid, gsi, 1);
> +            if (r < 0 && r != -EOPNOTSUPP) {

Is it correct to check `r` for "-EOPNOTSUPP" ? Because `man ioctl` and
"xenctrl.h:105" says that `r` is 0 on success or -1 on error with `errno`
set.

> +                LOGED(ERROR, domainid,
> +                      "xc_domain_gsi_permission gsi=%d (error=%d)", gsi, r);

Is the `r` value useful to print? Because LOGED() already prints
strerror(errno).

> +                fclose(f);
> +                rc = ERROR_FAIL;
> +                goto out;
> +            }
> +        }
> +        if (!is_gsi || r == -EOPNOTSUPP) {
> +            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);
> @@ -2180,6 +2202,7 @@ static void pci_remove_detached(libxl__egc *egc,
>      FILE *f;
>      uint32_t domainid = prs->domid;
>      bool isstubdom;
> +    bool is_gsi = true;
>  
>      /* Convenience aliases */
>      libxl_device_pci *const pci = &prs->pci;
> @@ -2243,6 +2266,7 @@ skip_bar:
>          /* To compitable with old version of kernel, still need to use irq */
>          sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
>                                 pci->bus, pci->dev, pci->func);
> +        is_gsi = false;
>      }
>      f = fopen(sysfs_path, "r");
>      if (f == NULL) {
> @@ -2261,9 +2285,17 @@ skip_bar:
>               */
>              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);
> +        if (is_gsi) {
> +            rc = xc_domain_gsi_permission(ctx->xch, domid, irq, 0);

Could you store the return code of this system call into `r` instead?
`rc` is supposed to be use exclusively for libxl error code, so the
current code is wrong, but we can partially fixed that in your patch.

> +            if (rc < 0 && rc != -EOPNOTSUPP) {

Shouldn't you check EOPNOTSUPP in `errno` instead?

> +                LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d", irq);
> +            }
> +        }
> +        if (!is_gsi || rc == -EOPNOTSUPP) {
> +            rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);

Same here, use `r` instead of `rc`.

> +            if (rc < 0) {
> +                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
> +            }
>          }
>      }
>  

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 14:50:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 14:50:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700581.1093945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1wo-0006pg-K9; Wed, 03 Apr 2024 14:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700581.1093945; Wed, 03 Apr 2024 14:50:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs1wo-0006pZ-HN; Wed, 03 Apr 2024 14:50:42 +0000
Received: by outflank-mailman (input) for mailman id 700581;
 Wed, 03 Apr 2024 14:50:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AQ6p=LI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rs1wm-0006pR-PT
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 14:50:41 +0000
Received: from wfout2-smtp.messagingengine.com
 (wfout2-smtp.messagingengine.com [64.147.123.145])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 868cc865-f1c9-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 16:50:35 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailfout.west.internal (Postfix) with ESMTP id DE4AB1C0009F
 for <xen-devel@lists.xenproject.org>; Wed,  3 Apr 2024 10:50:32 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Wed, 03 Apr 2024 10:50:33 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Wed, 3 Apr 2024 10:50:31 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 868cc865-f1c9-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:content-type:date:date
	:from:from:in-reply-to:message-id:mime-version:reply-to:subject
	:subject:to:to; s=fm2; t=1712155832; x=1712242232; bh=4g+7bPQOfA
	YKqMKxVpd9Z2m4hrL776+scGWIJbXc8kQ=; b=CmLwE97aB9XRBi5vf+TzyeYvA0
	JHlprSQ+68KHUW4yhnveFtuS9x5flEr2MU2eOKrNxQrxlpGHrJ+QP9/PeRONTm/k
	XxJkZmocI6i9+BvridSX798p73mFrhT0cGw0VmJSxFdWcWlOWDxD0s+sWim+t5tO
	3T0yJQzc3VC83Vx+bROa4UO2XUIubtHckjx6tEvKrh3jIkjVjV7RxiUzpd06mLni
	qcbfQ0d/OEVOan4uP0WnGySKdxeckxFIhfX8s7qFS9bvqwBvD94mFcQZjhpWoj9f
	wn+bRMkoB5+g7SEX+CV+OmEh3NR9rN6wjec/Nlr+na0CIzaJvVwV7+IMFlcw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1712155832; x=1712242232; bh=4g+7bPQOfAYKqMKxVpd9Z2m4hrL776+scGW
	IJbXc8kQ=; b=KsXKLeWtNVOopPnfgs+4OyUkvrsNjaGwWG37ZTEKlsVS5jaOtDM
	8N+JV8IU1GldSXmnFNwpaPUzwfrB+ZO9Fj4s03LaFZT3GQoSJPEiEGy7BEQOISCd
	yFCibBuCjiO/sKkkNH9W4MGOTJv2r9OGnqJ7iRT038W8NsHZ3x/qIsF3AsUSavWq
	wJjavmQ7pwIrVkKp6OCKH32MdD75YmBDhyQAXw+w3mcKoxC6Mj0jo3xWE4B6EbMB
	9yltIFUMKgGOLu8pjj3MYYZhWgAs7FNCqV8m+GPAkcDByRx/S9jpxoCzMD39Afq+
	iImKilSkPqm/QUGqDcJYZxPbuqfudRNwHEg==
X-ME-Sender: <xms:uGwNZuvsBgV65aXGl_wGqZtqr0-kPCVN9MtTX-1YShQJWMJ8d3h1Gg>
    <xme:uGwNZjceaNfAQHFj90d7Uw0ybcSVdREHRbNlOwqFx2vBr8yYiMUFy0JftUgm-kqLN
    irbYTsxT4eQ_g>
X-ME-Received: <xmr:uGwNZpyfjsZRLOQNWg99SkIkD9MjB9y-PY2GMNQMZi11gCO886zS0ZFV-r6Wq9rP2DVHX1HBZeDZ7NLpiv5tZpDcgB3PlRzNjw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudefiedgfeejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkgggtugesghdtreertd
    dtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhi
    uceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqne
    cuggftrfgrthhtvghrnheptddugfetudevudeiveevgfetueejlefggffghffhhfehtdff
    feefgfduueegfefhnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh
    hfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtgho
    mh
X-ME-Proxy: <xmx:uGwNZpOJ016miEEfoP86IywXLUG9A_kmtxaNOIHL6pI7yWFiLXHa8w>
    <xmx:uGwNZu9pc_csOjVfqXLvC4oEuGwC8SjSTMqfZH9DUM4_VgQCNqA8EQ>
    <xmx:uGwNZhVxi3iNXNBgKl0b9Z0SEhDB9EDjXZYZaIkCSzepjIHP-ZqkAQ>
    <xmx:uGwNZneV8YKiGcLj6iPwQ8EEafMcbai8qZ_vhB2hAWnbIUmuPpPI_g>
    <xmx:uGwNZkkUTeb9fCZiGledNetdan6hEGiWI3wDZYEgg-gVqn2070RbK51t>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 3 Apr 2024 16:50:26 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: text-tsx fails on Intel core 8th gen system
Message-ID: <Zg1stUacaDBkyDOn@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="YCx7vPl74WDCt3ha"
Content-Disposition: inline


--YCx7vPl74WDCt3ha
Content-Type: multipart/mixed; protected-headers=v1;
	boundary="jMdFqUts9bFZM2Fb"
Content-Disposition: inline
Date: Wed, 3 Apr 2024 16:50:26 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: text-tsx fails on Intel core 8th gen system


--jMdFqUts9bFZM2Fb
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi,

I've noticed that tools/tests/tsx/test-tsx fails on a system with Intel
Core i7-8750H. Specific error I get:

    [user@dom0 tsx]$ ./test-tsx=20
    TSX tests
      Got 16 CPUs
    Testing MSR_TSX_FORCE_ABORT consistency
      CPU0 val 0
    Testing MSR_TSX_CTRL consistency
    Testing MSR_MCU_OPT_CTRL consistency
      CPU0 val 0
    Testing RTM behaviour
      Got #UD
      Host reports RTM, but appears unavailable
    Testing PV default/max policies
      Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
      Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
      HLE/RTM offered to guests despite not being available
    Testing HVM default/max policies
      Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
      Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
      HLE/RTM offered to guests despite not being available
    Testing PV guest
      Created d8
      Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
      Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
    Testing HVM guest
      Created d9
      Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
      Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
    [user@dom0 tsx]$ echo $?
    1


When I try it on a newer system (11th gen) then it works fine (exit code
0, just "Got #UD", no "Host reports RTM, but appears unavailable" line).


/proc/cpuinfo says:

    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 158
    model name	: Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
    stepping	: 10
    microcode	: 0xf6
    cpu MHz		: 2207.990
    cache size	: 9216 KB
    physical id	: 0
    siblings	: 6
    core id		: 0
    cpu cores	: 1
    apicid		: 0
    initial apicid	: 0
    fpu		: yes
    fpu_exception	: yes
    cpuid level	: 13
    wp		: yes
    flags		: fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi =
mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc rep_good nopl non=
stop_tsc cpuid tsc_known_freq pni pclmulqdq monitor est ssse3 fma cx16 sse4=
_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dn=
owprefetch cpuid_fault ssbd ibrs ibpb stibp fsgsbase bmi1 avx2 bmi2 erms rd=
seed adx clflushopt xsaveopt xsavec xgetbv1 md_clear arch_capabilities
    bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds s=
wapgs itlb_multihit srbds mmio_stale_data retbleed
    bogomips	: 4415.98
    clflush size	: 64
    cache_alignment	: 64
    address sizes	: 39 bits physical, 48 bits virtual
    power management:

    ...


Full `xen-cpuid detail` output attached.

Just in case, I'm attaching also full xl dmesg, but I don't see anything
related there.

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

--jMdFqUts9bFZM2Fb
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="xen-cpuid.txt"
Content-Transfer-Encoding: quoted-printable

nr_features: 18

Static sets:
Known                           bfebfbff:fffef3ff:ee500800:2469bfff:0000000=
f:ffbfffff:3a405fdf:00000780:779fd205:fc91ef1c:00001c30:38000144:00000001:0=
0000037:00000000:00040000:1fbeffff:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush ds acpi mmx fxsr sse sse2 ss htt =
tm pbe
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq dtes64 monitor ds-cpl vmx sm=
x est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse41 sse42 x2apic movebe popcn=
t tsc-dl aesni xsave osxsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx mmx+ fxsr+ pg1g rdtscp lm 3dnow+=
 3dnow
  [03] CPUID 0x80000001.ecx     lahf-lm cmp svm extapic cr8d lzcnt sse4a ms=
se 3dnowpf osvw ibs xop skinit wdt lwp fma4 nodeid tbm topoext dbx monitorx
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj sgx bmi1 hle avx2 fdp-exn =
smep bmi2 erms invpcid rtm pqm depfpp mpx pqe avx512f avx512dq rdseed adx s=
map avx512-ifma clflushopt clwb proc-trace avx512pf avx512er avx512cd sha a=
vx512bw avx512vl
  [06] CPUID 0x00000007:0.ecx   prefetchwt1 avx512-vbmi umip pku ospke avx5=
12-vbmi2 cet-ss gfni vaes vpclmulqdq avx512-vnni avx512-bitalg avx512-vpopc=
ntdq rdpid cldemote movdiri movdir64b enqcmd
  [07] CPUID 0x80000007.edx     hw-pstate itsc cpb efro
  [08] CPUID 0x80000008.ebx     clzero rstr-fp-err-ptrs wbnoinvd ibpb ibrs =
amd-stibp ibrs-always stibp-always ibrs-fast ibrs-same-mode no-lmsl ppin am=
d-ssbd virt-ssbd ssb-no psfd btc-no ibpb-ret
  [09] CPUID 0x00000007:0.edx   avx512-4vnniw avx512-4fmaps fsrm avx512-vp2=
intersect srbds-ctrl md-clear rtm-always-abort tsx-force-abort serialize hy=
brid tsxldtrk cet-ibt avx512-fp16 ibrsb stibp l1d-flush arch-caps core-caps=
 ssbd
  [10] CPUID 0x00000007:1.eax   avx-vnni avx512-bf16 fzrm fsrs fsrcs
  [11] CPUID 0x80000021.eax     lfence+ nscb auto-ibrs sbpb ibpb-brtype srs=
o-no
  [12] CPUID 0x00000007:1.ebx   ppin
  [13] CPUID 0x00000007:2.edx   intel-psfd ipred-ctrl rrsba-ctrl bhi-ctrl m=
cdt-no
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx   cet-sss
  [16] MSR_ARCH_CAPS.lo         rdcl-no eibrs rsba skip-l1dfl intel-ssb-no =
mds-no if-pschange-mc-no tsx-ctrl taa-no mcu-ctrl misc-pkg-ctrl energy-ctrl=
 doitm sbdr-ssdp-no fbsdp-no psdp-no fb-clear fb-clear-ctrl rrsba bhi-no xa=
pic-status ovrclk-status pbrsb-no gds-ctrl gds-no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
Special                         10000200:c8200000:00000000:00000002:0000000=
0:01002850:00000010:00000000:02000000:20000c00:00000000:00000000:00000000:0=
0000000:00000000:00000000:100a0004:00000000
  [00] CPUID 0x00000001.edx     apic htt
  [01] CPUID 0x00000001.ecx     x2apic osxsave rdrnd hyper
  [02] CPUID 0x80000001.edx   =20
  [03] CPUID 0x80000001.ecx     cmp
  [04] CPUID 0x0000000d:1.eax =20
  [05] CPUID 0x00000007:0.ebx   hle fdp-exn rtm depfpp clwb
  [06] CPUID 0x00000007:0.ecx   ospke
  [07] CPUID 0x80000007.edx   =20
  [08] CPUID 0x80000008.ebx     virt-ssbd
  [09] CPUID 0x00000007:0.edx   md-clear rtm-always-abort arch-caps
  [10] CPUID 0x00000007:1.eax =20
  [11] CPUID 0x80000021.eax   =20
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx =20
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rsba fb-clear rrsba rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
PV Max                          1fc9cbf5:f6f83203:ea500800:042109e3:0000000=
7:fdaf0b39:1a405f43:00000100:64001005:ac01451c:00001c30:38000044:00000000:0=
0000021:00000000:00000000:1d12e173:00000000
  [00] CPUID 0x00000001.edx     fpu de tsc msr pae mce cx8 apic sysenter mc=
a cmov pat clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 sse41 sse42 x=
2apic movebe popcnt aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx mmx+ fxsr+ rdtscp lm 3dnow+ 3dnow
  [03] CPUID 0x80000001.ecx     lahf-lm cmp lzcnt sse4a msse 3dnowpf xop fm=
a4 tbm dbx
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1
  [05] CPUID 0x00000007:0.ebx   fsgsbase bmi1 hle avx2 bmi2 erms rtm avx512=
f avx512dq rdseed adx avx512-ifma clflushopt clwb avx512pf avx512er avx512c=
d sha avx512bw avx512vl
  [06] CPUID 0x00000007:0.ecx   prefetchwt1 avx512-vbmi avx512-vbmi2 gfni v=
aes vpclmulqdq avx512-vnni avx512-bitalg avx512-vpopcntdq rdpid cldemote mo=
vdiri movdir64b
  [07] CPUID 0x80000007.edx     itsc
  [08] CPUID 0x80000008.ebx     clzero rstr-fp-err-ptrs ibpb ssb-no btc-no =
ibpb-ret
  [09] CPUID 0x00000007:0.edx   avx512-4vnniw avx512-4fmaps fsrm avx512-vp2=
intersect md-clear serialize tsxldtrk ibrsb stibp arch-caps ssbd
  [10] CPUID 0x00000007:1.eax   avx-vnni avx512-bf16 fzrm fsrs fsrcs
  [11] CPUID 0x80000021.eax     lfence+ nscb sbpb ibpb-brtype srso-no
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx   intel-psfd mcdt-no
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rdcl-no eibrs intel-ssb-no mds-no if-pschan=
ge-mc-no taa-no sbdr-ssdp-no fbsdp-no psdp-no fb-clear bhi-no pbrsb-no gds-=
no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
PV Default                      1fc9cbf5:f6f83203:ea500800:042109e3:0000000=
7:fdaf0b29:02405f43:00000000:64001005:ac00441c:00001c30:38000044:00000000:0=
0000021:00000000:00000000:1d12e173:00000000
  [00] CPUID 0x00000001.edx     fpu de tsc msr pae mce cx8 apic sysenter mc=
a cmov pat clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 sse41 sse42 x=
2apic movebe popcnt aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx mmx+ fxsr+ rdtscp lm 3dnow+ 3dnow
  [03] CPUID 0x80000001.ecx     lahf-lm cmp lzcnt sse4a msse 3dnowpf xop fm=
a4 tbm dbx
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1
  [05] CPUID 0x00000007:0.ebx   fsgsbase bmi1 avx2 bmi2 erms rtm avx512f av=
x512dq rdseed adx avx512-ifma clflushopt clwb avx512pf avx512er avx512cd sh=
a avx512bw avx512vl
  [06] CPUID 0x00000007:0.ecx   prefetchwt1 avx512-vbmi avx512-vbmi2 gfni v=
aes vpclmulqdq avx512-vnni avx512-bitalg avx512-vpopcntdq rdpid cldemote
  [07] CPUID 0x80000007.edx   =20
  [08] CPUID 0x80000008.ebx     clzero rstr-fp-err-ptrs ibpb ssb-no btc-no =
ibpb-ret
  [09] CPUID 0x00000007:0.edx   avx512-4vnniw avx512-4fmaps fsrm md-clear s=
erialize ibrsb stibp arch-caps ssbd
  [10] CPUID 0x00000007:1.eax   avx-vnni avx512-bf16 fzrm fsrs fsrcs
  [11] CPUID 0x80000021.eax     lfence+ nscb sbpb ibpb-brtype srso-no
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx   intel-psfd mcdt-no
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rdcl-no eibrs intel-ssb-no mds-no if-pschan=
ge-mc-no taa-no sbdr-ssdp-no fbsdp-no psdp-no fb-clear bhi-no pbrsb-no gds-=
no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
HVM Shadow Max                  1fcbfbff:f7f83203:ea500800:042109f3:0000000=
f:fdbf4bbb:1a405f47:00000100:751fd005:bc01451c:00001c30:38000044:00000000:0=
0000021:00000000:00000000:1d12e173:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 sse41 sse42 x=
2apic movebe popcnt tsc-dl aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx mmx+ fxsr+ rdtscp lm 3dnow+ 3dnow
  [03] CPUID 0x80000001.ecx     lahf-lm cmp cr8d lzcnt sse4a msse 3dnowpf x=
op fma4 tbm dbx
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj bmi1 hle avx2 smep bmi2 er=
ms rtm mpx avx512f avx512dq rdseed adx smap avx512-ifma clflushopt clwb avx=
512pf avx512er avx512cd sha avx512bw avx512vl
  [06] CPUID 0x00000007:0.ecx   prefetchwt1 avx512-vbmi umip avx512-vbmi2 g=
fni vaes vpclmulqdq avx512-vnni avx512-bitalg avx512-vpopcntdq rdpid cldemo=
te movdiri movdir64b
  [07] CPUID 0x80000007.edx     itsc
  [08] CPUID 0x80000008.ebx     clzero rstr-fp-err-ptrs ibpb ibrs amd-stibp=
 ibrs-always stibp-always ibrs-fast ibrs-same-mode no-lmsl amd-ssbd ssb-no =
psfd btc-no ibpb-ret
  [09] CPUID 0x00000007:0.edx   avx512-4vnniw avx512-4fmaps fsrm avx512-vp2=
intersect md-clear serialize tsxldtrk ibrsb stibp l1d-flush arch-caps ssbd
  [10] CPUID 0x00000007:1.eax   avx-vnni avx512-bf16 fzrm fsrs fsrcs
  [11] CPUID 0x80000021.eax     lfence+ nscb sbpb ibpb-brtype srso-no
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx   intel-psfd mcdt-no
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rdcl-no eibrs intel-ssb-no mds-no if-pschan=
ge-mc-no taa-no sbdr-ssdp-no fbsdp-no psdp-no fb-clear bhi-no pbrsb-no gds-=
no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
HVM Shadow Default              1fcbfbff:f7f83203:ea500800:042109f3:0000000=
f:fdbf0bab:02405f47:00000000:751fd005:bc00441c:00001c30:38000044:00000000:0=
0000021:00000000:00000000:1d12e173:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 sse41 sse42 x=
2apic movebe popcnt tsc-dl aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx mmx+ fxsr+ rdtscp lm 3dnow+ 3dnow
  [03] CPUID 0x80000001.ecx     lahf-lm cmp cr8d lzcnt sse4a msse 3dnowpf x=
op fma4 tbm dbx
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj bmi1 avx2 smep bmi2 erms r=
tm avx512f avx512dq rdseed adx smap avx512-ifma clflushopt clwb avx512pf av=
x512er avx512cd sha avx512bw avx512vl
  [06] CPUID 0x00000007:0.ecx   prefetchwt1 avx512-vbmi umip avx512-vbmi2 g=
fni vaes vpclmulqdq avx512-vnni avx512-bitalg avx512-vpopcntdq rdpid cldemo=
te
  [07] CPUID 0x80000007.edx   =20
  [08] CPUID 0x80000008.ebx     clzero rstr-fp-err-ptrs ibpb ibrs amd-stibp=
 ibrs-always stibp-always ibrs-fast ibrs-same-mode no-lmsl amd-ssbd ssb-no =
psfd btc-no ibpb-ret
  [09] CPUID 0x00000007:0.edx   avx512-4vnniw avx512-4fmaps fsrm md-clear s=
erialize ibrsb stibp l1d-flush arch-caps ssbd
  [10] CPUID 0x00000007:1.eax   avx-vnni avx512-bf16 fzrm fsrs fsrcs
  [11] CPUID 0x80000021.eax     lfence+ nscb sbpb ibpb-brtype srso-no
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx   intel-psfd mcdt-no
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rdcl-no eibrs intel-ssb-no mds-no if-pschan=
ge-mc-no taa-no sbdr-ssdp-no fbsdp-no psdp-no fb-clear bhi-no pbrsb-no gds-=
no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
HVM Hap Max                     1fcbfbff:f7fa3223:ee500800:042109f7:0000000=
f:fdbf4fbb:1a405f4f:00000100:751fd005:bc01451c:00001c30:38000044:00000000:0=
0000021:00000000:00000000:1d12e173:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq vmx ssse3 fma cx16 pcid sse4=
1 sse42 x2apic movebe popcnt tsc-dl aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx mmx+ fxsr+ pg1g rdtscp lm 3dnow+=
 3dnow
  [03] CPUID 0x80000001.ecx     lahf-lm cmp svm cr8d lzcnt sse4a msse 3dnow=
pf xop fma4 tbm dbx
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj bmi1 hle avx2 smep bmi2 er=
ms invpcid rtm mpx avx512f avx512dq rdseed adx smap avx512-ifma clflushopt =
clwb avx512pf avx512er avx512cd sha avx512bw avx512vl
  [06] CPUID 0x00000007:0.ecx   prefetchwt1 avx512-vbmi umip pku avx512-vbm=
i2 gfni vaes vpclmulqdq avx512-vnni avx512-bitalg avx512-vpopcntdq rdpid cl=
demote movdiri movdir64b
  [07] CPUID 0x80000007.edx     itsc
  [08] CPUID 0x80000008.ebx     clzero rstr-fp-err-ptrs ibpb ibrs amd-stibp=
 ibrs-always stibp-always ibrs-fast ibrs-same-mode no-lmsl amd-ssbd ssb-no =
psfd btc-no ibpb-ret
  [09] CPUID 0x00000007:0.edx   avx512-4vnniw avx512-4fmaps fsrm avx512-vp2=
intersect md-clear serialize tsxldtrk ibrsb stibp l1d-flush arch-caps ssbd
  [10] CPUID 0x00000007:1.eax   avx-vnni avx512-bf16 fzrm fsrs fsrcs
  [11] CPUID 0x80000021.eax     lfence+ nscb sbpb ibpb-brtype srso-no
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx   intel-psfd mcdt-no
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rdcl-no eibrs intel-ssb-no mds-no if-pschan=
ge-mc-no taa-no sbdr-ssdp-no fbsdp-no psdp-no fb-clear bhi-no pbrsb-no gds-=
no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
HVM Hap Default                 1fcbfbff:f7fa3203:ee500800:042109f3:0000000=
f:fdbf0fab:02405f4f:00000000:751fd005:bc00441c:00001c30:38000044:00000000:0=
0000021:00000000:00000000:1d12e173:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 pcid sse41 ss=
e42 x2apic movebe popcnt tsc-dl aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx mmx+ fxsr+ pg1g rdtscp lm 3dnow+=
 3dnow
  [03] CPUID 0x80000001.ecx     lahf-lm cmp cr8d lzcnt sse4a msse 3dnowpf x=
op fma4 tbm dbx
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj bmi1 avx2 smep bmi2 erms i=
nvpcid rtm avx512f avx512dq rdseed adx smap avx512-ifma clflushopt clwb avx=
512pf avx512er avx512cd sha avx512bw avx512vl
  [06] CPUID 0x00000007:0.ecx   prefetchwt1 avx512-vbmi umip pku avx512-vbm=
i2 gfni vaes vpclmulqdq avx512-vnni avx512-bitalg avx512-vpopcntdq rdpid cl=
demote
  [07] CPUID 0x80000007.edx   =20
  [08] CPUID 0x80000008.ebx     clzero rstr-fp-err-ptrs ibpb ibrs amd-stibp=
 ibrs-always stibp-always ibrs-fast ibrs-same-mode no-lmsl amd-ssbd ssb-no =
psfd btc-no ibpb-ret
  [09] CPUID 0x00000007:0.edx   avx512-4vnniw avx512-4fmaps fsrm md-clear s=
erialize ibrsb stibp l1d-flush arch-caps ssbd
  [10] CPUID 0x00000007:1.eax   avx-vnni avx512-bf16 fzrm fsrs fsrcs
  [11] CPUID 0x80000021.eax     lfence+ nscb sbpb ibpb-brtype srso-no
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx   intel-psfd mcdt-no
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rdcl-no eibrs intel-ssb-no mds-no if-pschan=
ge-mc-no taa-no sbdr-ssdp-no fbsdp-no psdp-no fb-clear bhi-no pbrsb-no gds-=
no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20

Dynamic sets:
Raw                             bfebfbff:7ffafbbf:2c100800:00000121:0000000=
f:029c67af:40000000:00000100:00000000:bc002e00:00000000:00000000:00000000:0=
0000000:00000000:00000000:02000c04:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush ds acpi mmx fxsr sse sse2 ss htt =
tm pbe
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq dtes64 monitor ds-cpl vmx es=
t tm2 ssse3 sdgb fma cx16 xtpr pdcm pcid sse41 sse42 x2apic movebe popcnt t=
sc-dl aesni xsave osxsave avx f16c rdrnd
  [02] CPUID 0x80000001.edx     syscall nx pg1g rdtscp lm
  [03] CPUID 0x80000001.ecx     lahf-lm lzcnt 3dnowpf
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj sgx bmi1 avx2 smep bmi2 er=
ms invpcid depfpp mpx rdseed adx smap clflushopt proc-trace
  [06] CPUID 0x00000007:0.ecx   sgx-lc
  [07] CPUID 0x80000007.edx     itsc
  [08] CPUID 0x80000008.ebx   =20
  [09] CPUID 0x00000007:0.edx   srbds-ctrl md-clear rtm-always-abort tsx-fo=
rce-abort ibrsb stibp l1d-flush arch-caps ssbd
  [10] CPUID 0x00000007:1.eax =20
  [11] CPUID 0x80000021.eax   =20
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx =20
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rsba misc-pkg-ctrl energy-ctrl gds-ctrl
  [17] MSR_ARCH_CAPS.hi       =20
Host                            bfebfbff:77faf3bf:2c100800:00000121:0000000=
f:029c6fbf:00000000:00000100:00000000:bc002e00:00000000:00000000:00000000:0=
0000000:00000000:00000000:0e000c04:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush ds acpi mmx fxsr sse sse2 ss htt =
tm pbe
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq dtes64 monitor ds-cpl vmx es=
t tm2 ssse3 fma cx16 xtpr pdcm pcid sse41 sse42 x2apic movebe popcnt tsc-dl=
 aesni xsave avx f16c rdrnd
  [02] CPUID 0x80000001.edx     syscall nx pg1g rdtscp lm
  [03] CPUID 0x80000001.ecx     lahf-lm lzcnt 3dnowpf
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj sgx bmi1 hle avx2 smep bmi=
2 erms invpcid rtm depfpp mpx rdseed adx smap clflushopt proc-trace
  [06] CPUID 0x00000007:0.ecx =20
  [07] CPUID 0x80000007.edx     itsc
  [08] CPUID 0x80000008.ebx   =20
  [09] CPUID 0x00000007:0.edx   srbds-ctrl md-clear rtm-always-abort tsx-fo=
rce-abort ibrsb stibp l1d-flush arch-caps ssbd
  [10] CPUID 0x00000007:1.eax =20
  [11] CPUID 0x80000021.eax   =20
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx =20
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rsba misc-pkg-ctrl energy-ctrl gds-ctrl gds=
-no rfds-no
  [17] MSR_ARCH_CAPS.hi       =20
PV Default                      1fc9cbf5:f6f83203:28100800:00000121:0000000=
7:008c0329:00000000:00000000:00001000:ac000400:00000000:00000000:00000000:0=
0000000:00000000:00000000:0c000004:00000000
  [00] CPUID 0x00000001.edx     fpu de tsc msr pae mce cx8 apic sysenter mc=
a cmov pat clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 sse41 sse42 x=
2apic movebe popcnt aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx rdtscp lm
  [03] CPUID 0x80000001.ecx     lahf-lm lzcnt 3dnowpf
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1
  [05] CPUID 0x00000007:0.ebx   fsgsbase bmi1 avx2 bmi2 erms rdseed adx clf=
lushopt
  [06] CPUID 0x00000007:0.ecx =20
  [07] CPUID 0x80000007.edx   =20
  [08] CPUID 0x80000008.ebx     ibpb
  [09] CPUID 0x00000007:0.edx   md-clear ibrsb stibp arch-caps ssbd
  [10] CPUID 0x00000007:1.eax =20
  [11] CPUID 0x80000021.eax   =20
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx =20
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rsba gds-no rfds-no
  [17] MSR_ARCH_CAPS.hi       =20
HVM Default                     1fcbfbff:f7fa3203:2c100800:00000121:0000000=
f:009c07ab:00000000:00000000:00101000:bc000400:00000000:00000000:00000000:0=
0000000:00000000:00000000:0c000004:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 pcid sse41 ss=
e42 x2apic movebe popcnt tsc-dl aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx pg1g rdtscp lm
  [03] CPUID 0x80000001.ecx     lahf-lm lzcnt 3dnowpf
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj bmi1 avx2 smep bmi2 erms i=
nvpcid rdseed adx smap clflushopt
  [06] CPUID 0x00000007:0.ecx =20
  [07] CPUID 0x80000007.edx   =20
  [08] CPUID 0x80000008.ebx     ibpb no-lmsl
  [09] CPUID 0x00000007:0.edx   md-clear ibrsb stibp l1d-flush arch-caps ss=
bd
  [10] CPUID 0x00000007:1.eax =20
  [11] CPUID 0x80000021.eax   =20
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx =20
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rsba gds-no rfds-no
  [17] MSR_ARCH_CAPS.hi       =20
PV Max                          1fc9cbf5:f6f83203:28100800:00000121:0000000=
7:008c0b39:00000000:00000100:00001000:ac000400:00000000:00000000:00000000:0=
0000000:00000000:00000000:1c020004:00000000
  [00] CPUID 0x00000001.edx     fpu de tsc msr pae mce cx8 apic sysenter mc=
a cmov pat clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq ssse3 fma cx16 sse41 sse42 x=
2apic movebe popcnt aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx rdtscp lm
  [03] CPUID 0x80000001.ecx     lahf-lm lzcnt 3dnowpf
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1
  [05] CPUID 0x00000007:0.ebx   fsgsbase bmi1 hle avx2 bmi2 erms rtm rdseed=
 adx clflushopt
  [06] CPUID 0x00000007:0.ecx =20
  [07] CPUID 0x80000007.edx     itsc
  [08] CPUID 0x80000008.ebx     ibpb
  [09] CPUID 0x00000007:0.edx   md-clear ibrsb stibp arch-caps ssbd
  [10] CPUID 0x00000007:1.eax =20
  [11] CPUID 0x80000021.eax   =20
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx =20
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rsba fb-clear gds-no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20
HVM Max                         1fcbfbff:f7fa3223:2c100800:00000121:0000000=
f:009c4fbb:00000000:00000100:00101000:bc000400:00000000:00000000:00000000:0=
0000000:00000000:00000000:1c020004:00000000
  [00] CPUID 0x00000001.edx     fpu vme de pse tsc msr pae mce cx8 apic sys=
enter mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss htt
  [01] CPUID 0x00000001.ecx     sse3 pclmulqdq vmx ssse3 fma cx16 pcid sse4=
1 sse42 x2apic movebe popcnt tsc-dl aesni xsave avx f16c rdrnd hyper
  [02] CPUID 0x80000001.edx     syscall nx pg1g rdtscp lm
  [03] CPUID 0x80000001.ecx     lahf-lm lzcnt 3dnowpf
  [04] CPUID 0x0000000d:1.eax   xsaveopt xsavec xgetbv1 xsaves
  [05] CPUID 0x00000007:0.ebx   fsgsbase tsc-adj bmi1 hle avx2 smep bmi2 er=
ms invpcid rtm mpx rdseed adx smap clflushopt
  [06] CPUID 0x00000007:0.ecx =20
  [07] CPUID 0x80000007.edx     itsc
  [08] CPUID 0x80000008.ebx     ibpb no-lmsl
  [09] CPUID 0x00000007:0.edx   md-clear ibrsb stibp l1d-flush arch-caps ss=
bd
  [10] CPUID 0x00000007:1.eax =20
  [11] CPUID 0x80000021.eax   =20
  [12] CPUID 0x00000007:1.ebx =20
  [13] CPUID 0x00000007:2.edx =20
  [14] CPUID 0x00000007:1.ecx =20
  [15] CPUID 0x00000007:1.edx =20
  [16] MSR_ARCH_CAPS.lo         rsba fb-clear gds-no rfds-no rfds-clear
  [17] MSR_ARCH_CAPS.hi       =20


--jMdFqUts9bFZM2Fb
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="xl-dmesg.txt"
Content-Transfer-Encoding: quoted-printable

(XEN) Built-in command line: ept=3Dexec-sp spec-ctrl=3Dunpriv-mmio
 Xen 4.17.3
(XEN) Xen version 4.17.3 (mockbuild@[unknown]) (gcc (GCC) 12.3.1 20230508 (=
Red Hat 12.3.1-1)) debug=3Dn Tue Mar 12 20:15:53 GMT 2024
(XEN) Latest ChangeSet:=20
(XEN) Bootloader: GRUB 2.06
(XEN) Command line: placeholder console=3Dnone dom0_mem=3Dmin:1024M dom0_me=
m=3Dmax:4096M ucode=3Dscan smt=3Doff gnttab_max_frames=3D2048 gnttab_max_ma=
ptrack_frames=3D4096 no-real-mode edd=3Doff
(XEN) Xen image load base address: 0x49800000
(XEN) Video information:
(XEN)  VGA is graphics mode 1024x768, 32 bpp
(XEN)  VBE/DDC methods: none; EDID transfer time: 0 seconds
(XEN) Disc information:
(XEN)  Found 0 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) EFI RAM map:
(XEN)  [0000000000000000, 000000000009efff] (usable)
(XEN)  [000000000009f000, 00000000000fffff] (reserved)
(XEN)  [0000000000100000, 000000004a999fff] (usable)
(XEN)  [000000004a99a000, 000000004fa2efff] (reserved)
(XEN)  [000000004fa2f000, 000000004fca9fff] (ACPI NVS)
(XEN)  [000000004fcaa000, 000000004fd0efff] (ACPI data)
(XEN)  [000000004fd0f000, 000000004fd0ffff] (usable)
(XEN)  [000000004fd10000, 0000000059ffffff] (reserved)
(XEN)  [00000000fe010000, 00000000fe010fff] (reserved)
(XEN)  [0000000100000000, 00000002a3ffffff] (usable)
(XEN) ACPI: RSDP 4FD0E014, 0024 (r2 LENOVO)
(XEN) ACPI: XSDT 4FD0C188, 0114 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: FACP 4D2EC000, 0114 (r6 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: DSDT 4D2B9000, 2E277 (r2 LENOVO CFL      20170001 INTL 20160422)
(XEN) ACPI: FACS 4FAE2000, 0040
(XEN) ACPI: SSDT 4D346000, 17DF (r2 LENOVO  CpuSsdt     3000 INTL 20160527)
(XEN) ACPI: SSDT 4D345000, 056D (r2 LENOVO    CtdpB     1000 INTL 20160527)
(XEN) ACPI: SSDT 4D30B000, 4310 (r2 LENOVO DptfTabl     1000 INTL 20160527)
(XEN) ACPI: SSDT 4D2F5000, 3189 (r2 LENOVO  SaSsdt      3000 INTL 20160527)
(XEN) ACPI: SSDT 4D2F2000, 2A8B (r2 LENOVO  PegSsdt     1000 INTL 20160527)
(XEN) ACPI: SSDT 4D2F1000, 0612 (r2 LENOVO Tpm2Tabl     1000 INTL 20160527)
(XEN) ACPI: TPM2 4D2F0000, 0034 (r4 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: UEFI 4FB03000, 0042 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: SSDT 4D2ED000, 0530 (r2 LENOVO PerfTune     1000 INTL 20160527)
(XEN) ACPI: HPET 4D2EB000, 0038 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: APIC 4D2EA000, 012C (r3 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: MCFG 4D2E9000, 003C (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: ECDT 4D2E8000, 0053 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: SSDT 4D2B7000, 1A92 (r2 LENOVO ProjSsdt       10 INTL 20160527)
(XEN) ACPI: NHLT 4D2B5000, 1771 (r0 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: BOOT 4D2B4000, 0028 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: SSDT 4D2B3000, 0FA2 (r2 LENOVO UsbCTabl     1000 INTL 20160527)
(XEN) ACPI: LPIT 4D2B2000, 005C (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: WSMT 4D2B1000, 0028 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: SSDT 4D2AF000, 149F (r2 LENOVO TbtTypeC        0 INTL 20160527)
(XEN) ACPI: DBGP 4D2AE000, 0034 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: DBG2 4D2AD000, 0054 (r0 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: POAT 4D2AC000, 0055 (r3 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: BATB 4D0CE000, 004A (r2 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: DMAR 4B2CB000, 0070 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: FPDT 4B2CA000, 0034 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: BGRT 4B2C9000, 0038 (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: UEFI 4FADF000, 012A (r1 LENOVO TP-N2C       1510 PTEC        2)
(XEN) ACPI: SSDT 4B2C7000, 1B28 (r1 LENOVO NvOptTbl     1000 INTL 20160527)
(XEN) System RAM: 7913MB (8103144kB)
(XEN) Domain heap initialised
(XEN) ACPI: Invalid sleep control/status register data: 0:0x8:0x3 0:0x8:0x3
(XEN) ACPI: 32/64X FACS address mismatch in FADT - 4fae2000/000000000000000=
0, using 32
(XEN) IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-119
(XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
(XEN) Switched to APIC driver x2apic_mixed
(XEN) microcode: CPU0 updated from revision 0xf4 to 0xf6, date =3D 2023-07-=
26
(XEN) CPU0: TSC: ratio: 184 / 2
(XEN) CPU0: bus: 100 MHz base: 2200 MHz max: 4100 MHz
(XEN) CPU0: 800 ... 2200 MHz
(XEN) xstate: size: 0x440 and states: 0x1f
(XEN) Speculative mitigation facilities:
(XEN)   Hardware hints: RSBA
(XEN)   Hardware features: IBPB IBRS STIBP SSBD L1D_FLUSH MD_CLEAR SRBDS_CT=
RL GDS_CTRL
(XEN)   Compiled-in support: INDIRECT_THUNK HARDEN_ARRAY HARDEN_BRANCH HARD=
EN_GUEST_ACCESS
(XEN)   Xen settings: BTI-Thunk: JMP, SPEC_CTRL: IBRS+ STIBP+ SSBD-, Other:=
 SRB_LOCK+ IBPB-ctxt L1D_FLUSH VERW BRANCH_HARDEN
(XEN)   L1TF: believed vulnerable, maxphysaddr L1D 46, CPUID 39, Safe addre=
ss 8000000000
(XEN)   Support for HVM VMs: MSR_SPEC_CTRL MSR_VIRT_SPEC_CTRL RSB EAGER_FPU
(XEN)   Support for PV VMs: MSR_SPEC_CTRL EAGER_FPU VERW
(XEN)   XPTI (64-bit PV only): Dom0 enabled, DomU enabled (with PCID)
(XEN)   PV L1TF shadowing: Dom0 disabled, DomU enabled
(XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)
(XEN) Initializing Credit2 scheduler
(XEN) Disabling HPET for being unreliable
(XEN) Platform timer is 3.580MHz ACPI PM Timer
(XEN) Detected 2207.990 MHz processor.
(XEN) Unknown cachability for MFNs 0xa0-0xff
(XEN) Unknown cachability for MFNs 0x58000-0x59fff
(XEN) 0000:00:14.3: unexpected initial MSI-X state (MASKALL=3D0, ENABLE=3D1=
), fixing
(XEN) Intel VT-d iommu 0 supported page sizes: 4kB, 2MB, 1GB
(XEN) Intel VT-d Snoop Control enabled.
(XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
(XEN) Intel VT-d Queued Invalidation enabled.
(XEN) Intel VT-d Interrupt Remapping enabled.
(XEN) Intel VT-d Posted Interrupt not enabled.
(XEN) Intel VT-d Shared EPT tables enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Interrupt remapping enabled
(XEN) Enabled directed EOI with ioapic_ack_old on!
(XEN) Enabling APIC mode.  Using 1 I/O APICs
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using old ACK method
(XEN) Allocated console ring of 32 KiB.
(XEN) VMX: Supported advanced features:
(XEN)  - APIC MMIO access virtualisation
(XEN)  - APIC TPR shadow
(XEN)  - Extended Page Tables (EPT)
(XEN)  - Virtual-Processor Identifiers (VPID)
(XEN)  - Virtual NMI
(XEN)  - MSR direct-access bitmap
(XEN)  - Unrestricted Guest
(XEN)  - VM Functions
(XEN)  - Virtualisation Exceptions
(XEN)  - Page Modification Logging
(XEN) HVM: ASIDs enabled.
(XEN) HVM: VMX enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) Brought up 6 CPUs
(XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
(XEN) Initializing Credit2 scheduler
(XEN) Dom0 has maximum 952 PIRQs
(XEN)  Xen  kernel: 64-bit, lsb
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x5000000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000288000000->0000000290000000 (1007276 pages to =
be allocated)
(XEN)  Init. ramdisk: 00000002a1eac000->00000002a3fff5dc
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff85000000
(XEN)  Phys-Mach map: 0000008000000000->0000008000800000
(XEN)  Start info:    ffffffff85000000->ffffffff850004b8
(XEN)  Page tables:   ffffffff85001000->ffffffff8502e000
(XEN)  Boot stack:    ffffffff8502e000->ffffffff8502f000
(XEN)  TOTAL:         ffffffff80000000->ffffffff85400000
(XEN)  ENTRY ADDRESS: ffffffff834fa1c0
(XEN) Dom0 has maximum 6 VCPUs
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM in background
(XEN) Std. Loglevel: Errors and warnings
(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 648kB init memory


--jMdFqUts9bFZM2Fb--

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYNbLUACgkQ24/THMrX
1yzeTAf8DubLJXze3PkMkuHgMUYaAb9GdjCR+D57/UKm4/V3mZBQ+yvHBV3D/uAV
SIJK28Ljn8D84dDXZXGu86IadhMauP0HJOrN+7vYUdUYQywnv+iJGz+PPZdBqFV8
r2MX6KWu9pgzoZSeSvgf+M3HDTxtkRwXzIcW+2LOdiENOBYGFQ4JpP+7KSUXdC/4
YRBjuZYL1vgQ5YNb6diIBA//dogZ+fovP9GcAa3G+n38TGBF7U6Ljky4HifQn1JR
q7A7VnuC/rPlLsX2ewYSDYO24ZLj3ANhmMyMlshiETXiMkoLx9cI7Ef92EmVMyYM
rvhDdqc7EMMAWB3Pmba/MXvy/Mp+kA==
=I0hs
-----END PGP SIGNATURE-----

--YCx7vPl74WDCt3ha--


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 15:04:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 15:04:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700589.1093955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs2A4-0000w2-V5; Wed, 03 Apr 2024 15:04:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700589.1093955; Wed, 03 Apr 2024 15: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 1rs2A4-0000vv-S2; Wed, 03 Apr 2024 15:04:24 +0000
Received: by outflank-mailman (input) for mailman id 700589;
 Wed, 03 Apr 2024 15:04: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=XszW=LI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rs2A3-0000vp-VD
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 15:04:23 +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 73d132dc-f1cb-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 17:04:22 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a47385a4379so206085566b.0
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 08:04: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
 g16-20020a170906539000b00a46dd1f7dc1sm7827794ejo.92.2024.04.03.08.04.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 08:04: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: 73d132dc-f1cb-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712156661; x=1712761461; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=J0lIHadVjTx24honbCAGDQ8HCreWm6KTJx6ajbE8yHE=;
        b=XzHwqd77zf0ty79bzG8IcZqAbUyQ+DCO5H6fjjvoajI3ABwCD3OCb/PxECCjbm8eRX
         G/R+3rsUxQpxV9Om2F+h02n5TmQyS0pgpK2TDN+FBRI8Y7s36XLj7HS6mdslqSM5/nbS
         LVByYHAvtq9U7fMG4GS59wRREqB72ZgnAbVzZM4VlcGuCauSwoyV5jkCeL6i+e0mZpfE
         glF6eAOYy3ktQOgnzSV1RNOjSjXt8hsi8SBtRLHId9o1El0hYoaolSCHMFGpUTOwiBr3
         XU6HTSLnwye2IIj/Gj60zrlagxdOZ2nEkCGXRbJZNJRfTDkHcFn5n/UGrcYKDoF1jpBT
         EkSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712156661; x=1712761461;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=J0lIHadVjTx24honbCAGDQ8HCreWm6KTJx6ajbE8yHE=;
        b=ZdZy1pE4Wu9r/fWaeY5P5nIl/N3X0cOgfvP1nW270JHZefbP/fB2lskyw1kbfKAt44
         FUhS2wjMCUS6k1F+KeQne5dWsHz2w8l09iGSbU+e2djt6eSaUXtJNrPyyBrvg9R7BZMc
         gtGi/C7UsnWLl7jU6aPOCvSRjZTf20Xhtod7FVRPOWzTjnWhF5gyDHM/mMwOn0Ykai3F
         V3otSpfr1gU7qGm1lUy9XHcYlE59w5NdUtnM0AqQmoKFdhG8//tydhw8AuQ52K+y0lLg
         ZgnOYhgNZ20BqcWaNkx8Nqz4yOrOfIivPYtdYkabveRtOaPqmFOxSUwNYHZZf0JUHMF/
         PWwQ==
X-Gm-Message-State: AOJu0Yxq/Ap2N99WM/1y3PCkGURB9CZ4hdzZuqzJPTi7mGZa7x3IXtz5
	1ObzdfWyinhg5TMCbTHIdW48UElmV+Epaz+SBuIOFQTLkNGwLn0Sas0UaIs8+Zby/U7PqAds+/A
	=
X-Google-Smtp-Source: AGHT+IHJScxu3NgkmGVx9d/VuRlGvAXkfcudua80j9FDdstH/sBFFZEDPFG91n18VZ4Te8GWLYhRKA==
X-Received: by 2002:a17:906:6bd5:b0:a4e:68af:b1d8 with SMTP id t21-20020a1709066bd500b00a4e68afb1d8mr2668131ejs.2.1712156661505;
        Wed, 03 Apr 2024 08:04:21 -0700 (PDT)
Message-ID: <8c7ffed8-4faa-4dd3-8a41-d436ba49898b@suse.com>
Date: Wed, 3 Apr 2024 17:04:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: text-tsx fails on Intel core 8th gen system
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
References: <Zg1stUacaDBkyDOn@mail-itl>
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: <Zg1stUacaDBkyDOn@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.04.2024 16:50, Marek Marczykowski-Górecki wrote:
> Hi,
> 
> I've noticed that tools/tests/tsx/test-tsx fails on a system with Intel
> Core i7-8750H. Specific error I get:
> 
>     [user@dom0 tsx]$ ./test-tsx 
>     TSX tests
>       Got 16 CPUs
>     Testing MSR_TSX_FORCE_ABORT consistency
>       CPU0 val 0
>     Testing MSR_TSX_CTRL consistency
>     Testing MSR_MCU_OPT_CTRL consistency
>       CPU0 val 0
>     Testing RTM behaviour
>       Got #UD
>       Host reports RTM, but appears unavailable

Isn't this ...

>     Testing PV default/max policies
>       Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>       Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>       HLE/RTM offered to guests despite not being available
>     Testing HVM default/max policies
>       Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>       Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>       HLE/RTM offered to guests despite not being available
>     Testing PV guest
>       Created d8
>       Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>       Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>     Testing HVM guest
>       Created d9
>       Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>       Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>     [user@dom0 tsx]$ echo $?
>     1

... the reason for this?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 15:12:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 15:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700592.1093965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs2HQ-0003K7-Lo; Wed, 03 Apr 2024 15:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700592.1093965; Wed, 03 Apr 2024 15:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs2HQ-0003K0-J0; Wed, 03 Apr 2024 15:12:00 +0000
Received: by outflank-mailman (input) for mailman id 700592;
 Wed, 03 Apr 2024 15:11:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c57l=LI=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rs2HP-0003Ju-5A
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 15:11:59 +0000
Received: from mail-oa1-x2d.google.com (mail-oa1-x2d.google.com
 [2001:4860:4864:20::2d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8342e5a8-f1cc-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 17:11:58 +0200 (CEST)
Received: by mail-oa1-x2d.google.com with SMTP id
 586e51a60fabf-22988692021so407413fac.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 08:11: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: 8342e5a8-f1cc-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712157117; x=1712761917; 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=DPDJ0BUB/rDc7HOtMUix5dHRcfPqrkvjL7SQSWnlofk=;
        b=ctMqLedWSPrPlI1J1aBzV6O3a+iJyJbxX+n38T4PoDfyoAOOBLeBfRi3DNBGeQV24v
         OSfusmUhqxQQCVZJ3sW3R/3bMWANKxNuiEWyp0DClAPLLe+yqMNRV80liM++arQMX2YM
         lnh6zbDJ4XiZomYpeWICYeQ7XxtzVmJw317KA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712157117; x=1712761917;
        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=DPDJ0BUB/rDc7HOtMUix5dHRcfPqrkvjL7SQSWnlofk=;
        b=MSxmHRDt7odQRnojBpmNYIeqMSAW1m1V6ayT4p7NhYRZtpbqAewHFJPmtcTkESrMEw
         tSrdknjqKAlghNZN6HJY+cb7NSdKQKS9YJlBwvqHPp8kH8QbAv32P4Hb1/kVfd2jF1i3
         6mXQdxJ/qMct2mZFL8LdxSaJ5nqvk8c6+2RnVbojsgQs23uuy07WU2RGkkH/V0Td88K1
         BW/i3cbE8kLxJNn4/BqrBprIwyrFHri4rspziQFfrILLmA+6KvsjgcEFMhXwEKS7kjbp
         0zCpnLQWuuYQ6XqmDVYjch+cCh4HMkdSzJbBEcOmLcbNnmR23H6+tV/Voc65XLUiP5b+
         iJNw==
X-Forwarded-Encrypted: i=1; AJvYcCWnmV3wiMqfgynHsFaWX/SPLC8oWbKHCVTBBdwffippl3FFMscmZTtJO0yP9kzG9Xy4qPL29DCVNxaAYpICduITkyUYNvC1364txP1lrjs=
X-Gm-Message-State: AOJu0Yx8MfIxY5n/Ajn7HMLDACT+51wmf64PRqQgnLUDYQ050jWGcbGE
	4D86gIUutPBjcq8XXSfWEabrCrUjRFrZszBIIz6M477BQIG0uLNZkp7CKMbrcvQe8qjwVbjzo/e
	sZjPai44zyeKxJmiJviX2Qz44RMn450PUixXFqg==
X-Google-Smtp-Source: AGHT+IH2ekgReYg7I2ZjStsBHa5zVhounqfchGCEV9Z71EtjUNl63EycvzrkVnZ5r/iCiWACeqIaYkMzNfjxx4i649w=
X-Received: by 2002:a05:6871:58e:b0:22e:74a1:2ac5 with SMTP id
 u14-20020a056871058e00b0022e74a12ac5mr1025585oan.7.1712157116783; Wed, 03 Apr
 2024 08:11:56 -0700 (PDT)
MIME-Version: 1.0
References: <alpine.DEB.2.22.394.2311221331130.2053963@ubuntu-linux-20-04-desktop>
 <5a8f90d6-6502-4d93-9fd7-45fea0ede24a@suse.com> <alpine.DEB.2.22.394.2403081758400.853156@ubuntu-linux-20-04-desktop>
 <CA+zSX=aiqacW+QLM+KX-CcAo3DVnN+Kn7vQsOOKGK3qQOqXvBA@mail.gmail.com>
 <a2485ac6-19ac-42ce-b8cf-6f8408483521@xen.org> <alpine.DEB.2.22.394.2403141711460.853156@ubuntu-linux-20-04-desktop>
 <e57a3c03-fcbc-4a5a-8b23-b9b9448de2be@suse.com> <CA+zSX=anV+h8a8Ynq1Eh+PmtmgiSj8ruRfBbhLrhMbrNn+ED0w@mail.gmail.com>
 <63891474-1dc4-4c86-aaf4-cc4d4c53a0ae@suse.com> <CA+zSX=bu-gRYUYOKMRp5kJ02ExdrtFEHTgXapwTVotm5cK2dfw@mail.gmail.com>
 <d05be83a-e7f1-4c2f-afda-42deee9be203@suse.com> <3f27abc3-9809-4637-a29c-8aeafcd29ade@xen.org>
 <7109ef7e-040c-4d11-ba4b-d898ed2530ff@suse.com> <CA+zSX=bGfc+dsZjg4xmW2fgsnFQLSAh1ChOY3jYU_AD5SJw_7w@mail.gmail.com>
 <5128255f-fe52-4425-b168-34946c0c901e@suse.com> <alpine.DEB.2.22.394.2403181752370.853156@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2403181752370.853156@ubuntu-linux-20-04-desktop>
From: George Dunlap <george.dunlap@cloud.com>
Date: Wed, 3 Apr 2024 16:11:45 +0100
Message-ID: <CA+zSX=ZGG+D3FaCRuxmJygWzwc3KdSYiJKzrp4HLeHxG-stHKA@mail.gmail.com>
Subject: Re: [PATCH] do_multicall and MISRA Rule 8.3
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, federico.serafini@bugseng.com, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel@lists.xenproject.org, 
	michal.orzel@amd.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 19, 2024 at 3:39=E2=80=AFAM Stefano Stabellini
<sstabellini@kernel.org> wrote:
> > The main use of fixed width types, to me, is in interface structure
> > definitions - between Xen and hardware / firmware, or in hypercall
> > structures. I'm afraid I have a hard time seeing good uses outside of
> > that. Even in inline assembly, types of variables used for inputs or
> > outputs don't strictly need to be fixed-width; I can somewhat accept
> > their use there for documentation purposes.
>
>
> Non-ABI interfaces are OK with native types.
>
> Our ABI interfaces are, for better or for worse, described using C
> header files. Looking at these header files, it should be clear the size
> and alignment of all integer parameters.
>
> To that end, I think we should use fixed-width types in all ABIs,
> including hypercall entry points. In my opinion, C hypercall entry
> points are part of the ABI and should match the integer types used in
> the public header files. I don't consider the little assembly code on
> hypercall entry as important.

So as Jan pointed out in the recent call, the "actual" ABI is
"register X, Y, Z are arguments 1-3".  The key thing for me then is
whether it's clear what values in register X are acceptable.  If the C
function implementing the hypercall has an argument of type "unsigned
int", is it clear what values the guest is allowed to be put into the
corresponding register, and how they'll be interpreted, as opposed to
"unsigned long"?

If we can document the expectations, for each architecture, for how
the "native types" map to sizes, then I think that should be
sufficient.

 -George


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 15:38:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 15:38:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700595.1093975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs2hB-0007re-Ly; Wed, 03 Apr 2024 15:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700595.1093975; Wed, 03 Apr 2024 15: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 1rs2hB-0007rX-IY; Wed, 03 Apr 2024 15:38:37 +0000
Received: by outflank-mailman (input) for mailman id 700595;
 Wed, 03 Apr 2024 15: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=yPGy=LI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rs2hA-0007oM-22
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 15:38:36 +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 3b22b84f-f1d0-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 17:38:34 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-3437d3db788so843275f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 08:38:34 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 q4-20020adfab04000000b00343a3e62997sm991281wrc.50.2024.04.03.08.38.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 08:38: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: 3b22b84f-f1d0-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712158714; x=1712763514; 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=McZLVRCOssNn1B5GeXV8ZbbcBKqz5IaOwviQeH7wZuY=;
        b=CpRbYg+2j1cj8LPM7BpcL6Wg7h1BKWPNZhRjOAj2GEF0dFaJ/Puk4o9NCgtGbSr/tg
         JV+j9SpTnoirPcJaJ0d4/TUIBkG34ViIa4ZAda0kP5tBsDziuNGi2nCAsATxb5Y3wz7k
         l0JNTpSMVr9TxAVygBJXPPsdjyHP+UjT1aUew=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712158714; x=1712763514;
        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=McZLVRCOssNn1B5GeXV8ZbbcBKqz5IaOwviQeH7wZuY=;
        b=C7B//uu28GBlGSHHgAVjPezaLCzMKMVEmIKNVHmE6sxsoSnQ+OC215rN9Kfki2ScuI
         gEjIf+VOD2vagbh8BpTjWpEStjZlNCgxIX/ywfh4jPy+vXWkTf7p71own9vCUFuxKHW0
         aYWRkTGvK+1NFMRHP+keEuhfxpoOsCeajLd7fA5qsU2QnHok23VN1mqa3SZ9H1/7MpgY
         8ZHyPHfa1jTOYWr4KdP3JQHwsgFdalN2P/tZCKw+XUGcpF+lhk1pvzkTRtnVpUKxCRW8
         RG88oZtTu++2T8JKMzpvp58ihaoq+ksaYESuMwkjmGA9BBqlJh0WPEJQQ/qCrHDAhnDO
         QUbQ==
X-Forwarded-Encrypted: i=1; AJvYcCWlLw6l9ULBoQk8bG5IVhPR+RH9G2MfV7MB5wQJ5MreTbR5LLlUfUopIHm2uYLFinoXG69YiZbIHP9/rsIkPyui3l4R+AfUJLYuR4TAFVY=
X-Gm-Message-State: AOJu0YyGw8zRHfbQdg11Q9HW+oQ9otPC6LCckvpAmAcbFVVRXYc4Jzh3
	8c81VXhJ17hivojs9MoEqmzuPECV/mrs6cMIjeXXgESetYqqLHwDys4OZJeH7uo=
X-Google-Smtp-Source: AGHT+IHMprkau44Qe3lFKQrt/13mkFPfzfcO0cjJA2aZFWBVL3kgVYar/XjBSEoCPGmmrtjU5kfiyQ==
X-Received: by 2002:a5d:64ca:0:b0:343:a2fb:92aa with SMTP id f10-20020a5d64ca000000b00343a2fb92aamr1108402wri.71.1712158713865;
        Wed, 03 Apr 2024 08:38:33 -0700 (PDT)
Date: Wed, 3 Apr 2024 16:38:32 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 1/2] hw/xen: detect when running inside stubdomain
Message-ID: <ec141587-4d49-403b-b773-26b9087d5b04@perard>
References: <cover.527f002866de2be7c275c5000b6e5edfeb7e8368.1711506237.git-series.marmarek@invisiblethingslab.com>
 <e66aa97dca5120f22e015c19710b2ff04f525720.1711506237.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e66aa97dca5120f22e015c19710b2ff04f525720.1711506237.git-series.marmarek@invisiblethingslab.com>

On Wed, Mar 27, 2024 at 04:05:14AM +0100, Marek Marczykowski-Grecki wrote:
> Introduce global xen_is_stubdomain variable when qemu is running inside
> a stubdomain instead of dom0. This will be relevant for subsequent
> patches, as few things like accessing PCI config space need to be done
> differently.
> 
> Signed-off-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>

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

Thanks,


-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 15:43:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 15:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700597.1093984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs2mE-0001Wj-7G; Wed, 03 Apr 2024 15:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700597.1093984; Wed, 03 Apr 2024 15: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 1rs2mE-0001Wc-4Q; Wed, 03 Apr 2024 15:43:50 +0000
Received: by outflank-mailman (input) for mailman id 700597;
 Wed, 03 Apr 2024 15:43:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yPGy=LI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rs2mC-0001WW-Jg
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 15:43:48 +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 f5d4de71-f1d0-11ee-afe5-a90da7624cb6;
 Wed, 03 Apr 2024 17:43:47 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-41624fe4194so4268515e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 08:43:47 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fm15-20020a05600c0c0f00b00416253a0dbdsm1325954wmb.36.2024.04.03.08.43.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Apr 2024 08: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: f5d4de71-f1d0-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712159027; x=1712763827; 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=Y9Sp/OHQl7LX0HvfCuA51fjMs6lNI8EXuXJQcWV9ReA=;
        b=YqIWmimFJIGnS7iNXks0CdEfB/7k2Lo6z1ZJuRWCAB2FDpvY8KMo7JXj3FhLmnfKh6
         qY1/SAIQ8urABYagrfrm646U7elUggaJpd8tay+Q5SPBhWBUtARUte9Kpmt0bl3p1l3v
         D7wrexUnm/qYn2KY9EVzP6WmCHLAtSB+KrX9U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712159027; x=1712763827;
        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=Y9Sp/OHQl7LX0HvfCuA51fjMs6lNI8EXuXJQcWV9ReA=;
        b=A4wIypaxOiOWeoDc6IRkRnczaUH2DdK5PiNa89lrigCJO7C7oHRbhWs6bUPu4NOH+m
         WslLNqNjoeR0gJ6tXFVTk6L1CWtq57JvV3wZPEEgbjon8SqugSMpEusa0D6H4ya1mF3D
         jvT2A1PWVVI0jlVmSi3/3l64U3d2kPFKo8D0ea9U2WB29Uy9eZEFnZZRE5CUx5bE8xwg
         9yJ4GcFeDibT9xda+st0dqPHouJ4ZME6Exjuliu1wR3EclcRBG2cFRTHNb+cp85OqAnj
         1IfQEV+5m6eR4jRjMMXWkQTtS9+ncAGWlq7eThXS6hrHIXzBZY0zjzAPTy/Uyrpl1HBx
         BY0g==
X-Forwarded-Encrypted: i=1; AJvYcCUq/1zyA9dXowKQj20vbN9SY8GaxUox5U4uY9Z3F36pe+X4Hshy+GVafOn5Mpq6p6tSHLddAoc+Lv1BWeiCFozAYGzRE/B2aqe+IVJuycU=
X-Gm-Message-State: AOJu0YwrMUFHMr8jY3AgJJt7mKHcpwYoirmVBKZBoDbGQntPyVwTHb44
	ig9G5nrKeRlLFkoYcs0FS11g4fcoXln8X3wHmDw1KyfiUvxpmm6SiTnxHyw7KiU=
X-Google-Smtp-Source: AGHT+IF5b8HjXApAcpQwe/1kkOZl1c5PJHbxIW52Fl5orkLlISVOTSBTRKkbtyWMo1dODw/9n2ekQA==
X-Received: by 2002:a05:600c:3c88:b0:414:7e73:1f5b with SMTP id bg8-20020a05600c3c8800b004147e731f5bmr28842wmb.4.1712159027053;
        Wed, 03 Apr 2024 08:43:47 -0700 (PDT)
Date: Wed, 3 Apr 2024 16:43:46 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 2/2] xen: fix stubdom PCI addr
Message-ID: <a7ebf899-1078-47b0-bf03-ba5503dba0e8@perard>
References: <cover.527f002866de2be7c275c5000b6e5edfeb7e8368.1711506237.git-series.marmarek@invisiblethingslab.com>
 <35049e99da634a74578a1ff2cb3ae4cc436ede33.1711506237.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <35049e99da634a74578a1ff2cb3ae4cc436ede33.1711506237.git-series.marmarek@invisiblethingslab.com>

On Wed, Mar 27, 2024 at 04:05:15AM +0100, Marek Marczykowski-Grecki wrote:
> When running in a stubdomain, the config space access via sysfs needs to
> use BDF as seen inside stubdomain (connected via xen-pcifront), which is
> different from the real BDF. For other purposes (hypercall parameters
> etc), the real BDF needs to be used.
> Get the in-stubdomain BDF by looking up relevant PV PCI xenstore
> entries.
> 
> Signed-off-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 15:46:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 15:46:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700600.1093994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs2pD-00024x-LI; Wed, 03 Apr 2024 15:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700600.1093994; Wed, 03 Apr 2024 15:46:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs2pD-00024q-IY; Wed, 03 Apr 2024 15:46:55 +0000
Received: by outflank-mailman (input) for mailman id 700600;
 Wed, 03 Apr 2024 15:46:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PE2n=LI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rs2pD-00024X-4I
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 15:46:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6486e10f-f1d1-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 17:46:53 +0200 (CEST)
Received: from [192.168.1.18] (host-82-59-164-46.retail.telecomitalia.it
 [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id C125A4EE073C;
 Wed,  3 Apr 2024 17:46:52 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6486e10f-f1d1-11ee-a1ef-f123f15fe8a2
Message-ID: <eed0727e-2c04-4783-9498-d39f72c44eeb@bugseng.com>
Date: Wed, 3 Apr 2024 17:46:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: Address MISRA Rule 13.6
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240402154339.2448435-1-andrew.cooper3@citrix.com>
 <35fc596e-8134-4471-83d4-40b01f5821bf@suse.com>
 <6ac9cb14-2e68-41d6-b061-c7caa74fde5b@citrix.com>
 <5f5b2904-48ca-493a-a353-4c2f9038f5d3@suse.com>
 <67ae7299-4c45-49e8-9055-101334906f80@citrix.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <67ae7299-4c45-49e8-9055-101334906f80@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 02/04/24 18:09, Andrew Cooper wrote:
> On 02/04/2024 5:06 pm, Jan Beulich wrote:
>> On 02.04.2024 17:54, Andrew Cooper wrote:
>>> On 02/04/2024 4:46 pm, Jan Beulich wrote:
>>>> On 02.04.2024 17:43, Andrew Cooper wrote:
>>>>> MISRA Rule 13.6 doesn't like having an expression in a sizeof() which
>>>>> potentially has side effects.
>>>>>
>>>>> Address several violations by pulling the expression out into a local
>>>>> variable.
>>>>>
>>>>> No functional change.
>>>>>
>>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>>> with one caveat:
>>>>
>>>>> --- a/xen/arch/x86/irq.c
>>>>> +++ b/xen/arch/x86/irq.c
>>>>> @@ -1150,8 +1150,9 @@ static void cf_check irq_guest_eoi_timer_fn(void *data)
>>>>>       {
>>>>>           struct domain *d = action->guest[i];
>>>>>           unsigned int pirq = domain_irq_to_pirq(d, irq);
>>>>> +        struct pirq *pirq_info = pirq_info(d, pirq);
>>>> Misra won't like the var's name matching the macro's. Can we go with just
>>>> "info"?
>>> Ah - missed that.
>>>
>>> I can name it to just info, but I considered "struct pirq *info" to be a
>>> little odd.
>> I agree, but what do you do with another "pirq" already there.
>>
>> Or wait, what about
>>
>>          struct pirq *pirq = pirq_info(d, domain_irq_to_pirq(d, irq));
>>
>> ?
> 
> That should work.  I'll switch to this locally, and wait for the
> feedback on whether the patch works for 13.6.

I confirm that both versions of the patch address some violations of
13.6.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 16:42:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 16:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700604.1094004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs3ge-0005x3-Ir; Wed, 03 Apr 2024 16:42:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700604.1094004; Wed, 03 Apr 2024 16: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 1rs3ge-0005ww-GH; Wed, 03 Apr 2024 16:42:08 +0000
Received: by outflank-mailman (input) for mailman id 700604;
 Wed, 03 Apr 2024 16:42:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AQ6p=LI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rs3gc-0005wo-R3
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 16:42:07 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17ef4e26-f1d9-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 18:42:02 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 5E87B3200A43;
 Wed,  3 Apr 2024 12:41:59 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Wed, 03 Apr 2024 12:41:59 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 3 Apr 2024 12:41: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: 17ef4e26-f1d9-11ee-a1ef-f123f15fe8a2
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=1712162518;
	 x=1712248918; bh=+3zJn3eMC4VAWipQ716D05U/BvLeRZk9xNb1608O5mA=; b=
	YRLJd1Z6+QRCKgPygOOO8WllZUsisGVuzEXNXChIOEnoebA33c3nkongvJ1wSmhw
	SKNKsMfPD9oSg/dNGJU2rFggiLerqLNr1zjNsCIljKQbkFfh+tupqYrrCPYrquLK
	qdct3vmPOAQqNJXuvVOynDiF3+pXI4AKi3em34+Kk8kpCxhdfuh3mC9ItzGDi3OQ
	oBC1ViVeOYvBKlB6wbNCJ71ko/y67k2dlDRnFAdPqUD/rZZ8cUk5DY+j+YK15/lA
	MtLGOZFH7Ia9a7q3kHJpmCG6zyg0CuhJxogAHDq8KV+ZgtJXt5U0y+nghZhsD22p
	bykR6843b06kMnqgftaMOQ==
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=1712162518; x=1712248918; bh=+3zJn3eMC4VAWipQ716D05U/BvLe
	RZk9xNb1608O5mA=; b=PYZImeBdRVlsti7DOIIuOVslgGSgTqRQeAvG0S3AT+BW
	AzSh3giLGfHhwVYhwWzHFV0fEWqBMKOcFih8pUn634sidM6U2HTiJ6auIN32htuD
	bBZ0oihkL4bO5gMKzY8e3PRXMGSgotukZzTTgj0ucfvl7lLHxUbvOtjBKnZi0sYb
	cHWHZM/n870r/2yiccEbhSCALLjy/M++jiETESeBk+aHCtSk7bP7raZFHkApTz/o
	jwqo+Z+e5E90vPqfMte3ELAYkeGkw4wkM9XNW3RGe4izS24wLUeag0z8GtgLbVST
	0fedp6r5nuXbOyYiY3Vd8N2Q90XRo1+q/SxTdsaBxg==
X-ME-Sender: <xms:1oYNZpI-B-VHGgXCAuDeXQEPv2fPwvayJZds-CL_NvqTRyfseVasow>
    <xme:1oYNZlLs2pgtphIbrCnHnYG4HjgKD7NwrDpS4a1L5EFqmc1KODHcP-i6tf3m4A2SB
    USnIT7lzZATnA>
X-ME-Received: <xmr:1oYNZhujgLRK2H2tVjMXDiwjLD_bCLSbReg90YeG1U4vkWpK8g9W8qrlbK9qqmExoGwxM5fwCsgK0aRJ1nXUyzBVGbdGRTaVLA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudefiedgiedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:1oYNZqYgF3lwxQYkI5MejF2kXhs5uOqcWJ1wAOKkd07noeMUDeNloQ>
    <xmx:1oYNZgbPeZ9_Oh74M0EFEb-w3C9d_SnzCev7P8GAeUAxVgUIn-qvvw>
    <xmx:1oYNZuAlS-XsQOwpoLycnQueX7IGUHDQhZ8qDeuFNotwH7N1yBpsLA>
    <xmx:1oYNZubxI8KsEEFcmZQn2W2qbSFK-XLPTMP1W7YKFkDeXs8Zs8jBlg>
    <xmx:1oYNZvl28ZhfYN9EFmXnSezIDVsyhikGYzFolilKExtJnmQxOXnJa8Iw_HHd>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 3 Apr 2024 18:41:54 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: text-tsx fails on Intel core 8th gen system
Message-ID: <Zg2G06KZzvHuOYVz@mail-itl>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <8c7ffed8-4faa-4dd3-8a41-d436ba49898b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="6dGt0UyQrtl4zarS"
Content-Disposition: inline
In-Reply-To: <8c7ffed8-4faa-4dd3-8a41-d436ba49898b@suse.com>


--6dGt0UyQrtl4zarS
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 3 Apr 2024 18:41:54 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: text-tsx fails on Intel core 8th gen system

On Wed, Apr 03, 2024 at 05:04:20PM +0200, Jan Beulich wrote:
> On 03.04.2024 16:50, Marek Marczykowski-G=C3=B3recki wrote:
> > Hi,
> >=20
> > I've noticed that tools/tests/tsx/test-tsx fails on a system with Intel
> > Core i7-8750H. Specific error I get:
> >=20
> >     [user@dom0 tsx]$ ./test-tsx=20
> >     TSX tests
> >       Got 16 CPUs
> >     Testing MSR_TSX_FORCE_ABORT consistency
> >       CPU0 val 0
> >     Testing MSR_TSX_CTRL consistency
> >     Testing MSR_MCU_OPT_CTRL consistency
> >       CPU0 val 0
> >     Testing RTM behaviour
> >       Got #UD
> >       Host reports RTM, but appears unavailable
>=20
> Isn't this ...
>=20
> >     Testing PV default/max policies
> >       Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >       Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >       HLE/RTM offered to guests despite not being available
> >     Testing HVM default/max policies
> >       Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >       Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >       HLE/RTM offered to guests despite not being available
> >     Testing PV guest
> >       Created d8
> >       Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >       Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >     Testing HVM guest
> >       Created d9
> >       Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >       Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTR=
L 0
> >     [user@dom0 tsx]$ echo $?
> >     1
>=20
> ... the reason for this?

I think so, but the question is why it behaves this way. Could be an
issue with MSR/CPUID values presented by Xen, or values Xen gets from
the CPU.

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYNhtMACgkQ24/THMrX
1yyRngf5AZFyarz1TE1Kme/SFocIGFPg0lfe3jyaLhx83MFLJL2HiA4/pli0aeLz
RcH8bxDsf9PRruO0aHEstxoOkSfm8nHChIs6hJmqzykrp+zeqIZcqBZNOW96fAv6
pnWMFylK9K5u2aJInkc9uOgomtBLQc/Mw5bPh7o1D9HCUb8SPeQm/D3fVRE6CWbr
uey6ob6es0br/3J9Ju0bvyjTrdn0NQ2231pQBmBmyeBbYOa7F/0ja1tc50Jlm7SK
owE29XjTvRHatTipsN6txPVDGCLg4NbjJA9BDhapWrqLIDyhV4m9mTQwi2knLz0Z
ciEIn3yBXJBgKvN+cDg2jORmWY5BtA==
=lS6Y
-----END PGP SIGNATURE-----

--6dGt0UyQrtl4zarS--


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 16:45:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 16:45:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700607.1094014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs3kB-0006dm-6H; Wed, 03 Apr 2024 16:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700607.1094014; Wed, 03 Apr 2024 16: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 1rs3kB-0006df-33; Wed, 03 Apr 2024 16:45:47 +0000
Received: by outflank-mailman (input) for mailman id 700607;
 Wed, 03 Apr 2024 16:45: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 1rs3kA-0006dV-74; Wed, 03 Apr 2024 16:45: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 1rs3kA-0000pZ-2K; Wed, 03 Apr 2024 16:45: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 1rs3k9-0006WB-JL; Wed, 03 Apr 2024 16:45:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rs3k9-0000vz-Ii; Wed, 03 Apr 2024 16:45: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=Gwl2sDyhrBoiLVdCBuEzcAI/Hl7MHqj5FXTD2gXvH+8=; b=rzcBwKowQIdRv1gy8Yw9lFXUNE
	aVT2iVkSDHuQ8iFCZ1SxpYR3xORSL/9J9ZckjAlj8VFr06peRB7T1O/v5xj2bIY0okl7hIsRkx7ZS
	38pr5CwRCMRqYt4SN20qedyyydkZR+H0GB0+xjq3tSlbJNCgx3avriP9cmN+WdpFzDN4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185222-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185222: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-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
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
X-Osstest-Versions-That:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 16:45:45 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185222  2024-04-03 01:53:42 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 Apr 03 17:09:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 17:09:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700612.1094025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs47O-0002Re-2a; Wed, 03 Apr 2024 17:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700612.1094025; Wed, 03 Apr 2024 17:09:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs47N-0002RX-Uq; Wed, 03 Apr 2024 17:09:45 +0000
Received: by outflank-mailman (input) for mailman id 700612;
 Wed, 03 Apr 2024 17:09:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pg83=LI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rs47N-0002RQ-0X
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 17:09:45 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f64567f8-f1dc-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 19:09:42 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-78c4db9fc7fso1814285a.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 10:09:42 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h29-20020a05620a21dd00b00789f57cadc5sm5226649qka.10.2024.04.03.10.09.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 10:09: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: f64567f8-f1dc-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712164182; x=1712768982; 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=RtCQ3SEZFvFduHxvG7MjzrR+Ao+Pj4RDQo++byLROnk=;
        b=ErFpGTejW+ji3MJxl6Uxk5kJ7EJIWQ1aIv6u8H96mChclY3SinpPHfVLB8te99CAL9
         0dat+1ve0aS3Du252skl0pN30b503T8zHzumNphLpXwZNOtSWCTCkA094VhQeilr8Aki
         miKcKvu4eCm54IVcE8aCewqmysBC1Qd7FHjYc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712164182; x=1712768982;
        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=RtCQ3SEZFvFduHxvG7MjzrR+Ao+Pj4RDQo++byLROnk=;
        b=J7JxC2g6YzRPNLzbWEV8hkGmqke4fytcXuqQm4dIgpM/Z3CdjCm1Mjk05nh3wjzAMF
         xUD9CJP6NimW4RMHGErNqxxmXC8U7vHzQ4cHKQ3oHnuC3cmlkLhXq0Udf+89+qMsMbvU
         qgOzdghWE7mh4LB8hdoB2Skf83rv6tGv5Ol3x6N+e5XlGO/GtHvGrImH2QQFphaLL8zF
         K3+OVlJu7BJM/DwV2jBduX4hohaLsrmlp9YXPTUVytlqVI04dlo5MRpJjcL/97YCXyt5
         lnGso2ZePhGbRxfCRbQMIxoYHkspPohA8f7fGkqC00/j2EYU7zliMTmE66XDiWKu9LgG
         GdYg==
X-Forwarded-Encrypted: i=1; AJvYcCUA7UqAOPQ233apM/FaRMkO18U4irZ3pYVadkmJkW6B7fR3/BPF31DJPyAMNdmgW6UE6etzBVGOrjsMB9aDXZ+j5Wh3GJFWHar7uJJQvn0=
X-Gm-Message-State: AOJu0YwZ3FICk3PdLzv68m+5qMCz5S76eIHoA/TccXmRTnZv0NEL5Wb+
	D8gBBPZLE2Vz8tBXARrx79qW/4y9L+x5I5oil0nZuQDe4RPsmu0W8GOXYAcNARb+hz13uNzgXEn
	AEXc=
X-Google-Smtp-Source: AGHT+IFoa0IJOEDT3d9T5CWpBXNWd4E5ZCNJilfawYhDZBm6oXXNO5tqOk/sS2h1G4hwamcwnpZc2w==
X-Received: by 2002:a05:620a:832f:b0:78a:74b3:a0f6 with SMTP id pa47-20020a05620a832f00b0078a74b3a0f6mr6345qkn.25.1712164181592;
        Wed, 03 Apr 2024 10:09:41 -0700 (PDT)
Message-ID: <72fd90fe-c1fa-431c-9ccb-c68ffb56ff76@citrix.com>
Date: Wed, 3 Apr 2024 18:09:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: text-tsx fails on Intel core 8th gen system
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@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: <Zg1stUacaDBkyDOn@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/04/2024 3:50 pm, Marek Marczykowski-Górecki wrote:
> Hi,
>
> I've noticed that tools/tests/tsx/test-tsx fails on a system with Intel
> Core i7-8750H. Specific error I get:
>
>     [user@dom0 tsx]$ ./test-tsx 
>     TSX tests
>       Got 16 CPUs
>     Testing MSR_TSX_FORCE_ABORT consistency
>       CPU0 val 0
>     Testing MSR_TSX_CTRL consistency
>     Testing MSR_MCU_OPT_CTRL consistency
>       CPU0 val 0
>     Testing RTM behaviour
>       Got #UD
>       Host reports RTM, but appears unavailable

Hmm - I should make this failure report more obviously distinguishable
from the general logging.

This is reporting a consistency-check failure, with a mismatch between
actual-behaviour and what's in CPUID (host policy in practice).

This is CoffeeLake, and was one of the CPUs which had TSX taken out, but
something looks wonky.


> When I try it on a newer system (11th gen) then it works fine (exit code
> 0, just "Got #UD", no "Host reports RTM, but appears unavailable" line).

RocketLake was after the decision to remove TSX from the client line, so
will either genuinely not have the silicon, or it should be properly
fused out.

Anyway, back to CoffeeLake.

The Raw policy shows rtm-always-abort and tsx-force-abort.  Test-tsx
says the value in MSR_TSX_FORCE_ABORT is 0, but that shouldn't be the
case seeing as the RTM/HLE bits are hidden in real CPUID, but the
CPUID_HIDE bit is clear.

We do intentionally force RTM_ALWAYS_ABORT in some cases, because it
self-hides in some cases.  I wonder if we've got bug in that path.

>From the state in Raw, we then synthesise HLE/RTM in the Host policy
because MSR_TSX_FORCE_ABORT only exists on TSX-capable systems. 
However, if XBEGIN is really #UD-ing, we can't offer it as an opt-in to
guests.

Let me see about putting some debugging together.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 17:17:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 17:17:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700616.1094035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs4F3-0004K7-R8; Wed, 03 Apr 2024 17:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700616.1094035; Wed, 03 Apr 2024 17:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs4F3-0004K0-O1; Wed, 03 Apr 2024 17:17:41 +0000
Received: by outflank-mailman (input) for mailman id 700616;
 Wed, 03 Apr 2024 17:17:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YTxZ=LI=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1rs4F2-0004Jt-Ss
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 17:17:40 +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 117d7547-f1de-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 19:17:38 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 2D20C612F2;
 Wed,  3 Apr 2024 17:17:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FBD3C43399;
 Wed,  3 Apr 2024 17:17:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 117d7547-f1de-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712164655;
	bh=I5I/tcSmeKF5ifh3GxWXCl1DiaHE8jW3HXlBzvcXZe8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=klBRL2UR2PK0KKEY0y3846shtDB6Pmc1mETxmzmku5SGhPUhhR8jH2wJS0p9jbXHX
	 Nu+w2PZpht76+fYeST7Ai9ryQPKH8huV5Cz6QlONbTHgXRwG2LtMmEUCIX4s78COwu
	 8genAxwiCeZYWPffqLFApwH+0Vb3QANE6e9j+2b15QgbxY/mrGWaw6juiv0qyX40KA
	 2oG4IO4ipDtVtiw5mlG4DJ4F8piQ1y+FCp2fcdFQK00AwSE7XP6/LSok0ba2fuKJS/
	 bZmLQJaCfZksxLf5feyTbrWeG2DsGykkdBgXTApiV1GqfXZZm044JCRQQuR3ksRymD
	 +LVSdYjDjUhrQ==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sasha Levin <sashal@kernel.org>,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	dave.hansen@linux.intel.com,
	x86@kernel.org,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH AUTOSEL 6.8 18/28] x86/xen: attempt to inflate the memory balloon on PVH
Date: Wed,  3 Apr 2024 13:16:20 -0400
Message-ID: <20240403171656.335224-18-sashal@kernel.org>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240403171656.335224-1-sashal@kernel.org>
References: <20240403171656.335224-1-sashal@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.8.3
Content-Transfer-Encoding: 8bit

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

[ Upstream commit 38620fc4e8934f1801c7811ef39a041914ac4c1d ]

When running as PVH or HVM Linux will use holes in the memory map as scratch
space to map grants, foreign domain pages and possibly miscellaneous other
stuff.  However the usage of such memory map holes for Xen purposes can be
problematic.  The request of holesby Xen happen quite early in the kernel boot
process (grant table setup already uses scratch map space), and it's possible
that by then not all devices have reclaimed their MMIO space.  It's not
unlikely for chunks of Xen scratch map space to end up using PCI bridge MMIO
window memory, which (as expected) causes quite a lot of issues in the system.

At least for PVH dom0 we have the possibility of using regions marked as
UNUSABLE in the e820 memory map.  Either if the region is UNUSABLE in the
native memory map, or it has been converted into UNUSABLE in order to hide RAM
regions from dom0, the second stage translation page-tables can populate those
areas without issues.

PV already has this kind of logic, where the balloon driver is inflated at
boot.  Re-use the current logic in order to also inflate it when running as
PVH.  onvert UNUSABLE regions up to the ratio specified in EXTRA_MEM_RATIO to
RAM, while reserving them using xen_add_extra_mem() (which is also moved so
it's no longer tied to CONFIG_PV).

[jgross: fixed build for CONFIG_PVH without CONFIG_XEN_PVH]

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20240220174341.56131-1-roger.pau@citrix.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/include/asm/xen/hypervisor.h |  5 ++
 arch/x86/platform/pvh/enlighten.c     |  3 ++
 arch/x86/xen/enlighten.c              | 32 +++++++++++++
 arch/x86/xen/enlighten_pvh.c          | 68 +++++++++++++++++++++++++++
 arch/x86/xen/setup.c                  | 44 -----------------
 arch/x86/xen/xen-ops.h                | 14 ++++++
 drivers/xen/balloon.c                 |  2 -
 7 files changed, 122 insertions(+), 46 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index a9088250770f2..64fbd2dbc5b76 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -62,6 +62,11 @@ void xen_arch_unregister_cpu(int num);
 #ifdef CONFIG_PVH
 void __init xen_pvh_init(struct boot_params *boot_params);
 void __init mem_map_via_hcall(struct boot_params *boot_params_p);
+#ifdef CONFIG_XEN_PVH
+void __init xen_reserve_extra_memory(struct boot_params *bootp);
+#else
+static inline void xen_reserve_extra_memory(struct boot_params *bootp) { }
+#endif
 #endif
 
 /* Lazy mode for batching updates / context switch */
diff --git a/arch/x86/platform/pvh/enlighten.c b/arch/x86/platform/pvh/enlighten.c
index 00a92cb2c8147..a12117f3d4de7 100644
--- a/arch/x86/platform/pvh/enlighten.c
+++ b/arch/x86/platform/pvh/enlighten.c
@@ -74,6 +74,9 @@ static void __init init_pvh_bootparams(bool xen_guest)
 	} else
 		xen_raw_printk("Warning: Can fit ISA range into e820\n");
 
+	if (xen_guest)
+		xen_reserve_extra_memory(&pvh_bootparams);
+
 	pvh_bootparams.hdr.cmd_line_ptr =
 		pvh_start_info.cmdline_paddr;
 
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 3c61bb98c10e2..a01ca255b0c64 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -6,6 +6,7 @@
 #include <linux/console.h>
 #include <linux/cpu.h>
 #include <linux/kexec.h>
+#include <linux/memblock.h>
 #include <linux/slab.h>
 #include <linux/panic_notifier.h>
 
@@ -350,3 +351,34 @@ void xen_arch_unregister_cpu(int num)
 }
 EXPORT_SYMBOL(xen_arch_unregister_cpu);
 #endif
+
+/* Amount of extra memory space we add to the e820 ranges */
+struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata;
+
+void __init xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns)
+{
+	unsigned int i;
+
+	/*
+	 * No need to check for zero size, should happen rarely and will only
+	 * write a new entry regarded to be unused due to zero size.
+	 */
+	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
+		/* Add new region. */
+		if (xen_extra_mem[i].n_pfns == 0) {
+			xen_extra_mem[i].start_pfn = start_pfn;
+			xen_extra_mem[i].n_pfns = n_pfns;
+			break;
+		}
+		/* Append to existing region. */
+		if (xen_extra_mem[i].start_pfn + xen_extra_mem[i].n_pfns ==
+		    start_pfn) {
+			xen_extra_mem[i].n_pfns += n_pfns;
+			break;
+		}
+	}
+	if (i == XEN_EXTRA_MEM_MAX_REGIONS)
+		printk(KERN_WARNING "Warning: not enough extra memory regions\n");
+
+	memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns));
+}
diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index ada3868c02c23..c28f073c1df52 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/acpi.h>
 #include <linux/export.h>
+#include <linux/mm.h>
 
 #include <xen/hvc-console.h>
 
@@ -72,3 +73,70 @@ void __init mem_map_via_hcall(struct boot_params *boot_params_p)
 	}
 	boot_params_p->e820_entries = memmap.nr_entries;
 }
+
+/*
+ * Reserve e820 UNUSABLE regions to inflate the memory balloon.
+ *
+ * On PVH dom0 the host memory map is used, RAM regions available to dom0 are
+ * located as the same place as in the native memory map, but since dom0 gets
+ * less memory than the total amount of host RAM the ranges that can't be
+ * populated are converted from RAM -> UNUSABLE.  Use such regions (up to the
+ * ratio signaled in EXTRA_MEM_RATIO) in order to inflate the balloon driver at
+ * boot.  Doing so prevents the guest (even if just temporary) from using holes
+ * in the memory map in order to map grants or foreign addresses, and
+ * hopefully limits the risk of a clash with a device MMIO region.  Ideally the
+ * hypervisor should notify us which memory ranges are suitable for creating
+ * foreign mappings, but that's not yet implemented.
+ */
+void __init xen_reserve_extra_memory(struct boot_params *bootp)
+{
+	unsigned int i, ram_pages = 0, extra_pages;
+
+	for (i = 0; i < bootp->e820_entries; i++) {
+		struct boot_e820_entry *e = &bootp->e820_table[i];
+
+		if (e->type != E820_TYPE_RAM)
+			continue;
+		ram_pages += PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr);
+	}
+
+	/* Max amount of extra memory. */
+	extra_pages = EXTRA_MEM_RATIO * ram_pages;
+
+	/*
+	 * Convert UNUSABLE ranges to RAM and reserve them for foreign mapping
+	 * purposes.
+	 */
+	for (i = 0; i < bootp->e820_entries && extra_pages; i++) {
+		struct boot_e820_entry *e = &bootp->e820_table[i];
+		unsigned long pages;
+
+		if (e->type != E820_TYPE_UNUSABLE)
+			continue;
+
+		pages = min(extra_pages,
+			PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr));
+
+		if (pages != (PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr))) {
+			struct boot_e820_entry *next;
+
+			if (bootp->e820_entries ==
+			    ARRAY_SIZE(bootp->e820_table))
+				/* No space left to split - skip region. */
+				continue;
+
+			/* Split entry. */
+			next = e + 1;
+			memmove(next, e,
+				(bootp->e820_entries - i) * sizeof(*e));
+			bootp->e820_entries++;
+			next->addr = PAGE_ALIGN(e->addr) + PFN_PHYS(pages);
+			e->size = next->addr - e->addr;
+			next->size -= e->size;
+		}
+		e->type = E820_TYPE_RAM;
+		extra_pages -= pages;
+
+		xen_add_extra_mem(PFN_UP(e->addr), pages);
+	}
+}
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index b3e37961065a2..380591028cb8f 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -38,9 +38,6 @@
 
 #define GB(x) ((uint64_t)(x) * 1024 * 1024 * 1024)
 
-/* Amount of extra memory space we add to the e820 ranges */
-struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata;
-
 /* Number of pages released from the initial allocation. */
 unsigned long xen_released_pages;
 
@@ -64,18 +61,6 @@ static struct {
 } xen_remap_buf __initdata __aligned(PAGE_SIZE);
 static unsigned long xen_remap_mfn __initdata = INVALID_P2M_ENTRY;
 
-/*
- * The maximum amount of extra memory compared to the base size.  The
- * main scaling factor is the size of struct page.  At extreme ratios
- * of base:extra, all the base memory can be filled with page
- * structures for the extra memory, leaving no space for anything
- * else.
- *
- * 10x seems like a reasonable balance between scaling flexibility and
- * leaving a practically usable system.
- */
-#define EXTRA_MEM_RATIO		(10)
-
 static bool xen_512gb_limit __initdata = IS_ENABLED(CONFIG_XEN_512GB);
 
 static void __init xen_parse_512gb(void)
@@ -96,35 +81,6 @@ static void __init xen_parse_512gb(void)
 	xen_512gb_limit = val;
 }
 
-static void __init xen_add_extra_mem(unsigned long start_pfn,
-				     unsigned long n_pfns)
-{
-	int i;
-
-	/*
-	 * No need to check for zero size, should happen rarely and will only
-	 * write a new entry regarded to be unused due to zero size.
-	 */
-	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
-		/* Add new region. */
-		if (xen_extra_mem[i].n_pfns == 0) {
-			xen_extra_mem[i].start_pfn = start_pfn;
-			xen_extra_mem[i].n_pfns = n_pfns;
-			break;
-		}
-		/* Append to existing region. */
-		if (xen_extra_mem[i].start_pfn + xen_extra_mem[i].n_pfns ==
-		    start_pfn) {
-			xen_extra_mem[i].n_pfns += n_pfns;
-			break;
-		}
-	}
-	if (i == XEN_EXTRA_MEM_MAX_REGIONS)
-		printk(KERN_WARNING "Warning: not enough extra memory regions\n");
-
-	memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns));
-}
-
 static void __init xen_del_extra_mem(unsigned long start_pfn,
 				     unsigned long n_pfns)
 {
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index a87ab36889e76..79cf93f2c92f1 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -163,4 +163,18 @@ void xen_hvm_post_suspend(int suspend_cancelled);
 static inline void xen_hvm_post_suspend(int suspend_cancelled) {}
 #endif
 
+/*
+ * The maximum amount of extra memory compared to the base size.  The
+ * main scaling factor is the size of struct page.  At extreme ratios
+ * of base:extra, all the base memory can be filled with page
+ * structures for the extra memory, leaving no space for anything
+ * else.
+ *
+ * 10x seems like a reasonable balance between scaling flexibility and
+ * leaving a practically usable system.
+ */
+#define EXTRA_MEM_RATIO		(10)
+
+void xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns);
+
 #endif /* XEN_OPS_H */
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 976c6cdf9ee67..aaf2514fcfa46 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -672,7 +672,6 @@ EXPORT_SYMBOL(xen_free_ballooned_pages);
 
 static void __init balloon_add_regions(void)
 {
-#if defined(CONFIG_XEN_PV)
 	unsigned long start_pfn, pages;
 	unsigned long pfn, extra_pfn_end;
 	unsigned int i;
@@ -696,7 +695,6 @@ static void __init balloon_add_regions(void)
 
 		balloon_stats.total_pages += extra_pfn_end - start_pfn;
 	}
-#endif
 }
 
 static int __init balloon_init(void)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 17:18:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 17:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700619.1094045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs4GD-0004ub-8f; Wed, 03 Apr 2024 17:18:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700619.1094045; Wed, 03 Apr 2024 17:18:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs4GD-0004uU-4n; Wed, 03 Apr 2024 17:18:53 +0000
Received: by outflank-mailman (input) for mailman id 700619;
 Wed, 03 Apr 2024 17:18: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=YTxZ=LI=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1rs4GB-0004uM-Kz
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 17:18:51 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b4f340c-f1de-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 19:18:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id CC102CE2BC3;
 Wed,  3 Apr 2024 17:18:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB228C433C7;
 Wed,  3 Apr 2024 17:18:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b4f340c-f1de-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712164722;
	bh=3AAtuv1sdW29VOPvcKFQGUfAJApgpG6IHRwte9triro=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=CDak0158x04VbSxtu374bEE1blW1u0B1Ubf4Glxg7rLul/DqFA5gsNZx8EIHv/laY
	 aUD2F9ho5cjKiNOoe4uMJ7mdQYk7AvseLOvKUWjawIeTRhuY93GxuETcGGnL4I6mvz
	 I4BnpSZtoZkPOiYn8uzw7oOrNVrfUQ48rCVICIdWxgrirTx+iATMpqCTJQq9MEdlsl
	 i1qnWjKfJqnjU7t/hS63l2/ni5Z5PpPk0eBtsKMXpIfFi+HDdkN3H6jJpI7zmfcjW8
	 LNBvFD3/s1sO50aPm8flQjm6jrsNR5Apfghm4FVlklROmruKEiQoAjAJKZyc8R5lJU
	 LApmyAAzEvCgQ==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sasha Levin <sashal@kernel.org>,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	dave.hansen@linux.intel.com,
	x86@kernel.org,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH AUTOSEL 6.6 13/20] x86/xen: attempt to inflate the memory balloon on PVH
Date: Wed,  3 Apr 2024 13:17:54 -0400
Message-ID: <20240403171815.342668-13-sashal@kernel.org>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240403171815.342668-1-sashal@kernel.org>
References: <20240403171815.342668-1-sashal@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.6.24
Content-Transfer-Encoding: 8bit

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

[ Upstream commit 38620fc4e8934f1801c7811ef39a041914ac4c1d ]

When running as PVH or HVM Linux will use holes in the memory map as scratch
space to map grants, foreign domain pages and possibly miscellaneous other
stuff.  However the usage of such memory map holes for Xen purposes can be
problematic.  The request of holesby Xen happen quite early in the kernel boot
process (grant table setup already uses scratch map space), and it's possible
that by then not all devices have reclaimed their MMIO space.  It's not
unlikely for chunks of Xen scratch map space to end up using PCI bridge MMIO
window memory, which (as expected) causes quite a lot of issues in the system.

At least for PVH dom0 we have the possibility of using regions marked as
UNUSABLE in the e820 memory map.  Either if the region is UNUSABLE in the
native memory map, or it has been converted into UNUSABLE in order to hide RAM
regions from dom0, the second stage translation page-tables can populate those
areas without issues.

PV already has this kind of logic, where the balloon driver is inflated at
boot.  Re-use the current logic in order to also inflate it when running as
PVH.  onvert UNUSABLE regions up to the ratio specified in EXTRA_MEM_RATIO to
RAM, while reserving them using xen_add_extra_mem() (which is also moved so
it's no longer tied to CONFIG_PV).

[jgross: fixed build for CONFIG_PVH without CONFIG_XEN_PVH]

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20240220174341.56131-1-roger.pau@citrix.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/include/asm/xen/hypervisor.h |  5 ++
 arch/x86/platform/pvh/enlighten.c     |  3 ++
 arch/x86/xen/enlighten.c              | 32 +++++++++++++
 arch/x86/xen/enlighten_pvh.c          | 68 +++++++++++++++++++++++++++
 arch/x86/xen/setup.c                  | 44 -----------------
 arch/x86/xen/xen-ops.h                | 14 ++++++
 drivers/xen/balloon.c                 |  2 -
 7 files changed, 122 insertions(+), 46 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index a9088250770f2..64fbd2dbc5b76 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -62,6 +62,11 @@ void xen_arch_unregister_cpu(int num);
 #ifdef CONFIG_PVH
 void __init xen_pvh_init(struct boot_params *boot_params);
 void __init mem_map_via_hcall(struct boot_params *boot_params_p);
+#ifdef CONFIG_XEN_PVH
+void __init xen_reserve_extra_memory(struct boot_params *bootp);
+#else
+static inline void xen_reserve_extra_memory(struct boot_params *bootp) { }
+#endif
 #endif
 
 /* Lazy mode for batching updates / context switch */
diff --git a/arch/x86/platform/pvh/enlighten.c b/arch/x86/platform/pvh/enlighten.c
index 00a92cb2c8147..a12117f3d4de7 100644
--- a/arch/x86/platform/pvh/enlighten.c
+++ b/arch/x86/platform/pvh/enlighten.c
@@ -74,6 +74,9 @@ static void __init init_pvh_bootparams(bool xen_guest)
 	} else
 		xen_raw_printk("Warning: Can fit ISA range into e820\n");
 
+	if (xen_guest)
+		xen_reserve_extra_memory(&pvh_bootparams);
+
 	pvh_bootparams.hdr.cmd_line_ptr =
 		pvh_start_info.cmdline_paddr;
 
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 3c61bb98c10e2..a01ca255b0c64 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -6,6 +6,7 @@
 #include <linux/console.h>
 #include <linux/cpu.h>
 #include <linux/kexec.h>
+#include <linux/memblock.h>
 #include <linux/slab.h>
 #include <linux/panic_notifier.h>
 
@@ -350,3 +351,34 @@ void xen_arch_unregister_cpu(int num)
 }
 EXPORT_SYMBOL(xen_arch_unregister_cpu);
 #endif
+
+/* Amount of extra memory space we add to the e820 ranges */
+struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata;
+
+void __init xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns)
+{
+	unsigned int i;
+
+	/*
+	 * No need to check for zero size, should happen rarely and will only
+	 * write a new entry regarded to be unused due to zero size.
+	 */
+	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
+		/* Add new region. */
+		if (xen_extra_mem[i].n_pfns == 0) {
+			xen_extra_mem[i].start_pfn = start_pfn;
+			xen_extra_mem[i].n_pfns = n_pfns;
+			break;
+		}
+		/* Append to existing region. */
+		if (xen_extra_mem[i].start_pfn + xen_extra_mem[i].n_pfns ==
+		    start_pfn) {
+			xen_extra_mem[i].n_pfns += n_pfns;
+			break;
+		}
+	}
+	if (i == XEN_EXTRA_MEM_MAX_REGIONS)
+		printk(KERN_WARNING "Warning: not enough extra memory regions\n");
+
+	memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns));
+}
diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index ada3868c02c23..c28f073c1df52 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/acpi.h>
 #include <linux/export.h>
+#include <linux/mm.h>
 
 #include <xen/hvc-console.h>
 
@@ -72,3 +73,70 @@ void __init mem_map_via_hcall(struct boot_params *boot_params_p)
 	}
 	boot_params_p->e820_entries = memmap.nr_entries;
 }
+
+/*
+ * Reserve e820 UNUSABLE regions to inflate the memory balloon.
+ *
+ * On PVH dom0 the host memory map is used, RAM regions available to dom0 are
+ * located as the same place as in the native memory map, but since dom0 gets
+ * less memory than the total amount of host RAM the ranges that can't be
+ * populated are converted from RAM -> UNUSABLE.  Use such regions (up to the
+ * ratio signaled in EXTRA_MEM_RATIO) in order to inflate the balloon driver at
+ * boot.  Doing so prevents the guest (even if just temporary) from using holes
+ * in the memory map in order to map grants or foreign addresses, and
+ * hopefully limits the risk of a clash with a device MMIO region.  Ideally the
+ * hypervisor should notify us which memory ranges are suitable for creating
+ * foreign mappings, but that's not yet implemented.
+ */
+void __init xen_reserve_extra_memory(struct boot_params *bootp)
+{
+	unsigned int i, ram_pages = 0, extra_pages;
+
+	for (i = 0; i < bootp->e820_entries; i++) {
+		struct boot_e820_entry *e = &bootp->e820_table[i];
+
+		if (e->type != E820_TYPE_RAM)
+			continue;
+		ram_pages += PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr);
+	}
+
+	/* Max amount of extra memory. */
+	extra_pages = EXTRA_MEM_RATIO * ram_pages;
+
+	/*
+	 * Convert UNUSABLE ranges to RAM and reserve them for foreign mapping
+	 * purposes.
+	 */
+	for (i = 0; i < bootp->e820_entries && extra_pages; i++) {
+		struct boot_e820_entry *e = &bootp->e820_table[i];
+		unsigned long pages;
+
+		if (e->type != E820_TYPE_UNUSABLE)
+			continue;
+
+		pages = min(extra_pages,
+			PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr));
+
+		if (pages != (PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr))) {
+			struct boot_e820_entry *next;
+
+			if (bootp->e820_entries ==
+			    ARRAY_SIZE(bootp->e820_table))
+				/* No space left to split - skip region. */
+				continue;
+
+			/* Split entry. */
+			next = e + 1;
+			memmove(next, e,
+				(bootp->e820_entries - i) * sizeof(*e));
+			bootp->e820_entries++;
+			next->addr = PAGE_ALIGN(e->addr) + PFN_PHYS(pages);
+			e->size = next->addr - e->addr;
+			next->size -= e->size;
+		}
+		e->type = E820_TYPE_RAM;
+		extra_pages -= pages;
+
+		xen_add_extra_mem(PFN_UP(e->addr), pages);
+	}
+}
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index b3e37961065a2..380591028cb8f 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -38,9 +38,6 @@
 
 #define GB(x) ((uint64_t)(x) * 1024 * 1024 * 1024)
 
-/* Amount of extra memory space we add to the e820 ranges */
-struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata;
-
 /* Number of pages released from the initial allocation. */
 unsigned long xen_released_pages;
 
@@ -64,18 +61,6 @@ static struct {
 } xen_remap_buf __initdata __aligned(PAGE_SIZE);
 static unsigned long xen_remap_mfn __initdata = INVALID_P2M_ENTRY;
 
-/*
- * The maximum amount of extra memory compared to the base size.  The
- * main scaling factor is the size of struct page.  At extreme ratios
- * of base:extra, all the base memory can be filled with page
- * structures for the extra memory, leaving no space for anything
- * else.
- *
- * 10x seems like a reasonable balance between scaling flexibility and
- * leaving a practically usable system.
- */
-#define EXTRA_MEM_RATIO		(10)
-
 static bool xen_512gb_limit __initdata = IS_ENABLED(CONFIG_XEN_512GB);
 
 static void __init xen_parse_512gb(void)
@@ -96,35 +81,6 @@ static void __init xen_parse_512gb(void)
 	xen_512gb_limit = val;
 }
 
-static void __init xen_add_extra_mem(unsigned long start_pfn,
-				     unsigned long n_pfns)
-{
-	int i;
-
-	/*
-	 * No need to check for zero size, should happen rarely and will only
-	 * write a new entry regarded to be unused due to zero size.
-	 */
-	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
-		/* Add new region. */
-		if (xen_extra_mem[i].n_pfns == 0) {
-			xen_extra_mem[i].start_pfn = start_pfn;
-			xen_extra_mem[i].n_pfns = n_pfns;
-			break;
-		}
-		/* Append to existing region. */
-		if (xen_extra_mem[i].start_pfn + xen_extra_mem[i].n_pfns ==
-		    start_pfn) {
-			xen_extra_mem[i].n_pfns += n_pfns;
-			break;
-		}
-	}
-	if (i == XEN_EXTRA_MEM_MAX_REGIONS)
-		printk(KERN_WARNING "Warning: not enough extra memory regions\n");
-
-	memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns));
-}
-
 static void __init xen_del_extra_mem(unsigned long start_pfn,
 				     unsigned long n_pfns)
 {
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index a87ab36889e76..79cf93f2c92f1 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -163,4 +163,18 @@ void xen_hvm_post_suspend(int suspend_cancelled);
 static inline void xen_hvm_post_suspend(int suspend_cancelled) {}
 #endif
 
+/*
+ * The maximum amount of extra memory compared to the base size.  The
+ * main scaling factor is the size of struct page.  At extreme ratios
+ * of base:extra, all the base memory can be filled with page
+ * structures for the extra memory, leaving no space for anything
+ * else.
+ *
+ * 10x seems like a reasonable balance between scaling flexibility and
+ * leaving a practically usable system.
+ */
+#define EXTRA_MEM_RATIO		(10)
+
+void xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns);
+
 #endif /* XEN_OPS_H */
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 586a1673459eb..db61bcb3aab17 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -673,7 +673,6 @@ EXPORT_SYMBOL(xen_free_ballooned_pages);
 
 static void __init balloon_add_regions(void)
 {
-#if defined(CONFIG_XEN_PV)
 	unsigned long start_pfn, pages;
 	unsigned long pfn, extra_pfn_end;
 	unsigned int i;
@@ -697,7 +696,6 @@ static void __init balloon_add_regions(void)
 
 		balloon_stats.total_pages += extra_pfn_end - start_pfn;
 	}
-#endif
 }
 
 static int __init balloon_init(void)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 17:19:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 17:19:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700621.1094055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs4Gv-0005ty-HF; Wed, 03 Apr 2024 17:19:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700621.1094055; Wed, 03 Apr 2024 17: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 1rs4Gv-0005t9-DJ; Wed, 03 Apr 2024 17:19:37 +0000
Received: by outflank-mailman (input) for mailman id 700621;
 Wed, 03 Apr 2024 17:19:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YTxZ=LI=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1rs4Gu-0004uM-SI
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 17:19:36 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56db034d-f1de-11ee-a1ef-f123f15fe8a2;
 Wed, 03 Apr 2024 19:19:34 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 3F1BE612F2;
 Wed,  3 Apr 2024 17:19:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99249C433F1;
 Wed,  3 Apr 2024 17:19: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: 56db034d-f1de-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712164772;
	bh=8B1t4Px7dkhdKrJe3fy8ag6ypD3rsqA0jxk4Kv1UpP8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=GzwJjvCqEeVJI80ExCmfG1Opdsd1Pq+Fs4e+Qx9fV7FAYZe4fuPpD8zGkjbqSQaMp
	 Qdk/Fb2hS6TYsscuUziZs3BmSiB1vE69I/bnycpDnceYA80p6NTaVkEvOj/Fc9LLRg
	 mzWNJdwUik2xRmfieJIblYRbKh7uVaLNoY6H0qanIrlcHW4a//Yuy8gFWpipsl1FAz
	 VsCVEikNxuUGONYBAJ/VxslE6AE8rLGWUWu7eq+vArUfa/qYvpqvUpeqB+riLN3nAy
	 JHC8mENhx2vddIrtAHx1SEJt73NN5pBGgFMYXfbXR3pw6vxRQyvkFV3R/Hbd89/97D
	 qoWsJGQgsV8tA==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sasha Levin <sashal@kernel.org>,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	dave.hansen@linux.intel.com,
	x86@kernel.org,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH AUTOSEL 6.1 11/15] x86/xen: attempt to inflate the memory balloon on PVH
Date: Wed,  3 Apr 2024 13:18:55 -0400
Message-ID: <20240403171909.345570-11-sashal@kernel.org>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240403171909.345570-1-sashal@kernel.org>
References: <20240403171909.345570-1-sashal@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.1.84
Content-Transfer-Encoding: 8bit

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

[ Upstream commit 38620fc4e8934f1801c7811ef39a041914ac4c1d ]

When running as PVH or HVM Linux will use holes in the memory map as scratch
space to map grants, foreign domain pages and possibly miscellaneous other
stuff.  However the usage of such memory map holes for Xen purposes can be
problematic.  The request of holesby Xen happen quite early in the kernel boot
process (grant table setup already uses scratch map space), and it's possible
that by then not all devices have reclaimed their MMIO space.  It's not
unlikely for chunks of Xen scratch map space to end up using PCI bridge MMIO
window memory, which (as expected) causes quite a lot of issues in the system.

At least for PVH dom0 we have the possibility of using regions marked as
UNUSABLE in the e820 memory map.  Either if the region is UNUSABLE in the
native memory map, or it has been converted into UNUSABLE in order to hide RAM
regions from dom0, the second stage translation page-tables can populate those
areas without issues.

PV already has this kind of logic, where the balloon driver is inflated at
boot.  Re-use the current logic in order to also inflate it when running as
PVH.  onvert UNUSABLE regions up to the ratio specified in EXTRA_MEM_RATIO to
RAM, while reserving them using xen_add_extra_mem() (which is also moved so
it's no longer tied to CONFIG_PV).

[jgross: fixed build for CONFIG_PVH without CONFIG_XEN_PVH]

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20240220174341.56131-1-roger.pau@citrix.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/include/asm/xen/hypervisor.h |  5 ++
 arch/x86/platform/pvh/enlighten.c     |  3 ++
 arch/x86/xen/enlighten.c              | 32 +++++++++++++
 arch/x86/xen/enlighten_pvh.c          | 68 +++++++++++++++++++++++++++
 arch/x86/xen/setup.c                  | 44 -----------------
 arch/x86/xen/xen-ops.h                | 14 ++++++
 drivers/xen/balloon.c                 |  2 -
 7 files changed, 122 insertions(+), 46 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 16f548a661cf6..b3bfefdb7793a 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -59,6 +59,11 @@ void xen_arch_unregister_cpu(int num);
 #ifdef CONFIG_PVH
 void __init xen_pvh_init(struct boot_params *boot_params);
 void __init mem_map_via_hcall(struct boot_params *boot_params_p);
+#ifdef CONFIG_XEN_PVH
+void __init xen_reserve_extra_memory(struct boot_params *bootp);
+#else
+static inline void xen_reserve_extra_memory(struct boot_params *bootp) { }
+#endif
 #endif
 
 #endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/arch/x86/platform/pvh/enlighten.c b/arch/x86/platform/pvh/enlighten.c
index ed0442e354344..f15dc1e3ad7dd 100644
--- a/arch/x86/platform/pvh/enlighten.c
+++ b/arch/x86/platform/pvh/enlighten.c
@@ -74,6 +74,9 @@ static void __init init_pvh_bootparams(bool xen_guest)
 	} else
 		xen_raw_printk("Warning: Can fit ISA range into e820\n");
 
+	if (xen_guest)
+		xen_reserve_extra_memory(&pvh_bootparams);
+
 	pvh_bootparams.hdr.cmd_line_ptr =
 		pvh_start_info.cmdline_paddr;
 
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 3c61bb98c10e2..a01ca255b0c64 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -6,6 +6,7 @@
 #include <linux/console.h>
 #include <linux/cpu.h>
 #include <linux/kexec.h>
+#include <linux/memblock.h>
 #include <linux/slab.h>
 #include <linux/panic_notifier.h>
 
@@ -350,3 +351,34 @@ void xen_arch_unregister_cpu(int num)
 }
 EXPORT_SYMBOL(xen_arch_unregister_cpu);
 #endif
+
+/* Amount of extra memory space we add to the e820 ranges */
+struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata;
+
+void __init xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns)
+{
+	unsigned int i;
+
+	/*
+	 * No need to check for zero size, should happen rarely and will only
+	 * write a new entry regarded to be unused due to zero size.
+	 */
+	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
+		/* Add new region. */
+		if (xen_extra_mem[i].n_pfns == 0) {
+			xen_extra_mem[i].start_pfn = start_pfn;
+			xen_extra_mem[i].n_pfns = n_pfns;
+			break;
+		}
+		/* Append to existing region. */
+		if (xen_extra_mem[i].start_pfn + xen_extra_mem[i].n_pfns ==
+		    start_pfn) {
+			xen_extra_mem[i].n_pfns += n_pfns;
+			break;
+		}
+	}
+	if (i == XEN_EXTRA_MEM_MAX_REGIONS)
+		printk(KERN_WARNING "Warning: not enough extra memory regions\n");
+
+	memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns));
+}
diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index ada3868c02c23..c28f073c1df52 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -1,6 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/acpi.h>
 #include <linux/export.h>
+#include <linux/mm.h>
 
 #include <xen/hvc-console.h>
 
@@ -72,3 +73,70 @@ void __init mem_map_via_hcall(struct boot_params *boot_params_p)
 	}
 	boot_params_p->e820_entries = memmap.nr_entries;
 }
+
+/*
+ * Reserve e820 UNUSABLE regions to inflate the memory balloon.
+ *
+ * On PVH dom0 the host memory map is used, RAM regions available to dom0 are
+ * located as the same place as in the native memory map, but since dom0 gets
+ * less memory than the total amount of host RAM the ranges that can't be
+ * populated are converted from RAM -> UNUSABLE.  Use such regions (up to the
+ * ratio signaled in EXTRA_MEM_RATIO) in order to inflate the balloon driver at
+ * boot.  Doing so prevents the guest (even if just temporary) from using holes
+ * in the memory map in order to map grants or foreign addresses, and
+ * hopefully limits the risk of a clash with a device MMIO region.  Ideally the
+ * hypervisor should notify us which memory ranges are suitable for creating
+ * foreign mappings, but that's not yet implemented.
+ */
+void __init xen_reserve_extra_memory(struct boot_params *bootp)
+{
+	unsigned int i, ram_pages = 0, extra_pages;
+
+	for (i = 0; i < bootp->e820_entries; i++) {
+		struct boot_e820_entry *e = &bootp->e820_table[i];
+
+		if (e->type != E820_TYPE_RAM)
+			continue;
+		ram_pages += PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr);
+	}
+
+	/* Max amount of extra memory. */
+	extra_pages = EXTRA_MEM_RATIO * ram_pages;
+
+	/*
+	 * Convert UNUSABLE ranges to RAM and reserve them for foreign mapping
+	 * purposes.
+	 */
+	for (i = 0; i < bootp->e820_entries && extra_pages; i++) {
+		struct boot_e820_entry *e = &bootp->e820_table[i];
+		unsigned long pages;
+
+		if (e->type != E820_TYPE_UNUSABLE)
+			continue;
+
+		pages = min(extra_pages,
+			PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr));
+
+		if (pages != (PFN_DOWN(e->addr + e->size) - PFN_UP(e->addr))) {
+			struct boot_e820_entry *next;
+
+			if (bootp->e820_entries ==
+			    ARRAY_SIZE(bootp->e820_table))
+				/* No space left to split - skip region. */
+				continue;
+
+			/* Split entry. */
+			next = e + 1;
+			memmove(next, e,
+				(bootp->e820_entries - i) * sizeof(*e));
+			bootp->e820_entries++;
+			next->addr = PAGE_ALIGN(e->addr) + PFN_PHYS(pages);
+			e->size = next->addr - e->addr;
+			next->size -= e->size;
+		}
+		e->type = E820_TYPE_RAM;
+		extra_pages -= pages;
+
+		xen_add_extra_mem(PFN_UP(e->addr), pages);
+	}
+}
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 8db26f10fb1d9..72ab4a2f029bb 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -37,9 +37,6 @@
 
 #define GB(x) ((uint64_t)(x) * 1024 * 1024 * 1024)
 
-/* Amount of extra memory space we add to the e820 ranges */
-struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata;
-
 /* Number of pages released from the initial allocation. */
 unsigned long xen_released_pages;
 
@@ -60,18 +57,6 @@ static struct {
 } xen_remap_buf __initdata __aligned(PAGE_SIZE);
 static unsigned long xen_remap_mfn __initdata = INVALID_P2M_ENTRY;
 
-/*
- * The maximum amount of extra memory compared to the base size.  The
- * main scaling factor is the size of struct page.  At extreme ratios
- * of base:extra, all the base memory can be filled with page
- * structures for the extra memory, leaving no space for anything
- * else.
- *
- * 10x seems like a reasonable balance between scaling flexibility and
- * leaving a practically usable system.
- */
-#define EXTRA_MEM_RATIO		(10)
-
 static bool xen_512gb_limit __initdata = IS_ENABLED(CONFIG_XEN_512GB);
 
 static void __init xen_parse_512gb(void)
@@ -92,35 +77,6 @@ static void __init xen_parse_512gb(void)
 	xen_512gb_limit = val;
 }
 
-static void __init xen_add_extra_mem(unsigned long start_pfn,
-				     unsigned long n_pfns)
-{
-	int i;
-
-	/*
-	 * No need to check for zero size, should happen rarely and will only
-	 * write a new entry regarded to be unused due to zero size.
-	 */
-	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
-		/* Add new region. */
-		if (xen_extra_mem[i].n_pfns == 0) {
-			xen_extra_mem[i].start_pfn = start_pfn;
-			xen_extra_mem[i].n_pfns = n_pfns;
-			break;
-		}
-		/* Append to existing region. */
-		if (xen_extra_mem[i].start_pfn + xen_extra_mem[i].n_pfns ==
-		    start_pfn) {
-			xen_extra_mem[i].n_pfns += n_pfns;
-			break;
-		}
-	}
-	if (i == XEN_EXTRA_MEM_MAX_REGIONS)
-		printk(KERN_WARNING "Warning: not enough extra memory regions\n");
-
-	memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns));
-}
-
 static void __init xen_del_extra_mem(unsigned long start_pfn,
 				     unsigned long n_pfns)
 {
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index b2b2f4315b78d..8c715a4f06c02 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -162,4 +162,18 @@ void xen_hvm_post_suspend(int suspend_cancelled);
 static inline void xen_hvm_post_suspend(int suspend_cancelled) {}
 #endif
 
+/*
+ * The maximum amount of extra memory compared to the base size.  The
+ * main scaling factor is the size of struct page.  At extreme ratios
+ * of base:extra, all the base memory can be filled with page
+ * structures for the extra memory, leaving no space for anything
+ * else.
+ *
+ * 10x seems like a reasonable balance between scaling flexibility and
+ * leaving a practically usable system.
+ */
+#define EXTRA_MEM_RATIO		(10)
+
+void xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns);
+
 #endif /* XEN_OPS_H */
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 617a7f4f07a80..4e23b398e2882 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -691,7 +691,6 @@ EXPORT_SYMBOL(xen_free_ballooned_pages);
 
 static void __init balloon_add_regions(void)
 {
-#if defined(CONFIG_XEN_PV)
 	unsigned long start_pfn, pages;
 	unsigned long pfn, extra_pfn_end;
 	unsigned int i;
@@ -715,7 +714,6 @@ static void __init balloon_add_regions(void)
 
 		balloon_stats.total_pages += extra_pfn_end - start_pfn;
 	}
-#endif
 }
 
 static int __init balloon_init(void)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 03 19:41:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 19:41:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700628.1094069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs6UG-0005j4-Kw; Wed, 03 Apr 2024 19:41:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700628.1094069; Wed, 03 Apr 2024 19:41: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 1rs6UG-0005ix-Fl; Wed, 03 Apr 2024 19:41:32 +0000
Received: by outflank-mailman (input) for mailman id 700628;
 Wed, 03 Apr 2024 19:41: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 1rs6UF-0005ij-HV; Wed, 03 Apr 2024 19:41: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 1rs6UF-00051D-El; Wed, 03 Apr 2024 19:41: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 1rs6UF-00007n-0p; Wed, 03 Apr 2024 19:41:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rs6UF-00087x-0L; Wed, 03 Apr 2024 19:41:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QJq/I/9qksQEnMma2Ka3iaHVEpeF5myeGFEkCIUVlEg=; b=DBC2DHWvMs7hZYsyo7I/OYyRde
	nDbq0zevxJNoVY+ZFu3pZx1fjQmkklJBDGqzP9DPLqZIGeLwL5tzT/nIgRvQgMExq83J7ITiBLLtQ
	33+sJIaWtYg6u5J+DPnw2gicBuTcUrRJoX+zDbLjoCjuHEM/EMkBRk9uudpGwvxZF0HQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185227-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185227: regressions - FAIL
X-Osstest-Failures:
    linux-6.1:build-arm64:xen-build:fail:regression
    linux-6.1:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:build-check(1):blocked: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-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-xl-qemuu-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-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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-vhd: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-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:migrate-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:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl: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-amd64-amd64-libvirt-raw:migrate-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-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
X-Osstest-Versions-This:
    linux=347385861c50adc8d4801d4b899eded38a2f04cd
X-Osstest-Versions-That:
    linux=e5cd595e23c1a075359a337c0e5c3a4f2dc28dd1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 19:41:31 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build                fail REGR. vs. 185167

Tests which did not succeed, but are not blocking:
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185167
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185167
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185167
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185167
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185167
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185167
 test-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-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 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-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                347385861c50adc8d4801d4b899eded38a2f04cd
baseline version:
 linux                e5cd595e23c1a075359a337c0e5c3a4f2dc28dd1

Last test of basis   185167  2024-03-26 22:43:26 Z    7 days
Testing same since   185227  2024-04-03 13:42:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  "Huang, Ying" <ying.huang@intel.com>
  "Rafael J. Wysocki" <rafael@kernel.org>
  Adamos Ttofari <attofari@amazon.de>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexander Aring <aahringo@redhat.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexei Starovoitov <ast@kernel.org>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  André Rösti <an.roesti@gmail.com>
  Andy Chi <andy.chi@canonical.com>
  Anton Altaparmakov <anton@tuxera.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bikash Hazarika <bhazarika@marvell.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Cameron Williams <cang1@live.co.uk>
  Casey Schaufler <casey@schaufler-ca.com>
  Chang S. Bae <chang.seok.bae@intel.com>
  Charan Teja Kalla <quic_charante@quicinc.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chengming Zhou <zhouchengming@bytedance.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian A. Ehrhardt <lk@c--e.de>
  Christian Brauner <brauner@kernel.org>
  Christian Gmeiner <cgmeiner@igalia.com>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christoph Niedermaier <cniedermaier@dh-electronics.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuck Lever <chuck.lever@oracle.com>
  Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
  Claus Hansen Ries <chr@terma.com>
  Clayton Craft <clayton@craftyguy.net>
  Conrad Kostecki <conikost@gentoo.org>
  Cosmin Tanislav <demonsingur@gmail.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danil Rybakov <danilrybakov249@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Hildenbrand <david@redhat.com>
  David Laight <david.laight@aculab.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Eric Huang <jinhuieric.huang@amd.com>
  Eugene Korenevsky <ekorenevsky@astralinux.ru>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Geliang Tang <tanggeliang@kylinos.cn>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Greg Edwards <gedwards@ddn.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Greg Thelen <gthelen@google.com>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hongchen Zhang <zhanghongchen@loongson.cn>
  Huacai Chen <chenhuacai@loongson.cn>
  Huang Ying <ying.huang@intel.com>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Ingo Molnar <mingo@kernel.org>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Jameson Thies <jthies@google.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Gunthorpe <jgg@nvidia.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jerome Brunet <jbrunet@baylibre.com>
  Jiawei Wang <me@jwang.link>
  Jim Mattson <jmattson@google.com>
  Jinghao Jia <jinghao7@illinois.edu>
  Joakim Zhang <joakim.zhang@cixtech.com>
  Jocelyn Falempe <jfalempe@redhat.com>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Johannes Thumshirn <johannes.thumshirn@wdc.com>
  John David Anglin <dave.anglin@bell.net>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
  Josef Bacik <josef@toxicpanda.com>
  Josua Mayer <josua@solid-run.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Kazuma Kondo <kazuma-kondo@nec.com>
  Kees Cook <keescook@chromium.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  Kevin Loughlin <kevinloughlin@google.com>
  Kim Phillips <kim.phillips@amd.com>
  KONDO KAZUMA(近藤　和真) <kazuma-kondo@nec.com>
  Krishna chaitanya chundru <quic_krichai@quicinc.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Kyle Tso <kyletso@google.com>
  Ladislav Michl <ladis@linux-mips.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee@kernel.org>
  Leo Ma <hanghong.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Pieralisi <lpieralisi@kernel.org>
  Lucas Stach <l.stach@pengutronix.de>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Mano Ségransan <mano.segransan@protonmail.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Poirier <mathieu.poirier@linaro.org>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Kelley <mhklinux@outlook.com>
  Mickaël Salaün <mic@digikod.net>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Natanael Copa <ncopa@alpinelinux.org>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
  Nicolas Pitre <nico@fluxnic.net>
  Nicolin Chen <nicolinc@nvidia.com>
  Nikhil V <quic_nprakash@quicinc.com>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  Nirmoy Das <nirmoy.das@intel.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oleksandr Tymoshenko <ovt@google.com>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Paul Menzel <pmenzel@molgen.mpg.de> # Dell XPS 15 7590
  Pavel Machek (CIP) <pavel@denx.de>
  Peter Collingbourne <pcc@google.com>
  Petr Mladek <pmladek@suse.com>
  Philip Yang <Philip.Yang@amd.com>
  Philipp Stanner <pstanner@redhat.com>
  Philipp Zabel <p.zabel@pengutronix.de>
  Prashanth K <quic_prashk@quicinc.com>
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Qu Wenruo <wqu@suse.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Reinette Chatre <reinette.chatre@intel.com>
  Richard Weinberger <richard@nod.at>
  Rickard x Andersson <rickaran@axis.com>
  Ricky Wu <ricky_wu@realtek.com>
  Rob Herring <robh@kernel.org>
  Roberto Sassu <roberto.sassu@huawei.com>
  Robin Murphy <robin.murphy@arm.com>
  Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roger Quadros <rogerq@kernel.org>
  Romain Naour <romain.naour@skf.com>
  Ron Economos <re@w6rz.net>
  Rui Wang <wangrui@loongson.cn>
  Ryan Roberts <ryan.roberts@arm.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Salvatore Bonaccorso <carnil@debian.org>
  Sam Ravnborg <sam@ravnborg.org>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sasha Levin <sashal@kernel.org>
  Saurav Kashyap <skashyap@marvell.com>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Sherry Sun <sherry.sun@nxp.com>
  Shivnandan Kumar <quic_kshivnan@quicinc.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Song Liu <song@kernel.org>
  Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srish Srinivasan <srish.srinivasan@broadcom.com>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Steffen Klassert <steffen.klassert@secunet.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumit Garg <sumit.garg@linaro.org>
  Sunmin Jeong <s_min.jeong@samsung.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Battersby <tonyb@cybernetics.com>
  Tor Vic <torvic9@mailbox.org>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Tvrtko Ursulin <tvrtko.ursulin@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  Wayne Chang <waynec@nvidia.com>
  Wayne Lin <wayne.lin@amd.com>
  Wei Liu <wei.liu@kernel.org>
  Weitao Wang <WeitaoWang-oc@zhaoxin.com>
  Will Deacon <will@kernel.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Xing Li <lixing@loongson.cn>
  Xingui Yang <yangxingui@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Ye Zhang <ye.zhang@rock-chips.com>
  Yishai Hadas <yishaih@nvidia.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zi Yan <ziy@nvidia.com>
  Zoltan HERPAI <wigyori@uid0.hu>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  fail    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 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                                      blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 23:11:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 23:11:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700634.1094078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs9lg-00044t-Gw; Wed, 03 Apr 2024 23:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700634.1094078; Wed, 03 Apr 2024 23:11:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs9lg-00044m-DK; Wed, 03 Apr 2024 23:11:44 +0000
Received: by outflank-mailman (input) for mailman id 700634;
 Wed, 03 Apr 2024 23:11:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8MKa=LI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rs9lf-00044g-5r
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 23:11:43 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86b28316-f20f-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 01:11:41 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 25022CE2DE8;
 Wed,  3 Apr 2024 23:11:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6B43DC433C7;
 Wed,  3 Apr 2024 23:11: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: 86b28316-f20f-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712185894;
	bh=Qa4e3O2jh1oa5eOrxB3GFU1RljliAoeg7GYVah0wvQY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GPcNDy3FD4wBjNGxIi7GavIlLKF8PmByS55FdbDRJoMUIXFRx8OPfqRiQmqbxMvC4
	 Z1JL6T345do12lRFzpF/WKoKEeO6d9Du9AHo6D+92Yo1C9plBuLgimw9H1WADXZ3HR
	 jMXItA1CEl+euB+PSM6jjU4esibpKfyvVvOomRkSX5AR0e2QjsaYMtbQCWNP2dGq4z
	 mWCsfKomkFeWZMDNN8QVdhq067UBQI/PAGz93271M2Xz/nQIg8zH56ROSfvY8ON45U
	 Yl+aM54cFpIUBuvAnB8ilQOypfjlD4ar66JYmq2l9E+qt8eLWUMHaHdzpzpnoq8/+H
	 mpazx7nupjHkA==
Date: Wed, 3 Apr 2024 16:11: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: Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Jens Wiklander <jens.wiklander@linaro.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "patches@linaro.org" <patches@linaro.org>, 
    Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: [XEN PATCH 3/6] xen/arm: ffa: separate memory sharing routines
In-Reply-To: <e43bee20-3307-4646-ac1b-a794e8211b4b@xen.org>
Message-ID: <alpine.DEB.2.22.394.2404031611230.2245130@ubuntu-linux-20-04-desktop>
References: <20240325093904.3466092-1-jens.wiklander@linaro.org> <20240325093904.3466092-4-jens.wiklander@linaro.org> <F5023C5E-4563-4643-865B-601B022F7AC8@arm.com> <e43bee20-3307-4646-ac1b-a794e8211b4b@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 27 Mar 2024, Julien Grall wrote:
> Hi Bertrand,
> 
> On 27/03/2024 13:40, Bertrand Marquis wrote:
> > Hi Jens,
> > 
> > > On 25 Mar 2024, at 10:39, Jens Wiklander <jens.wiklander@linaro.org>
> > > wrote:
> > > 
> > > Move memory sharing routines into a separate file for easier navigation
> > > in the source code.
> > > 
> > > Add ffa_shm_domain_destroy() to isolate the ffa_shm things in
> > > ffa_domain_teardown_continue().
> > > 
> > > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > 
> > With the copyright date mentioned after fixed (which can be done on commit):
> > Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com
> 
> I have fixed and committed the series. However, it wasn't trivial to find the
> comment in your reply. In the future, can you try to trim your reply?

I think you forgot to push. I committed and pushed now.


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 23:20:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 23:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700637.1094088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rs9tu-0005Yr-BJ; Wed, 03 Apr 2024 23:20:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700637.1094088; Wed, 03 Apr 2024 23:20: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 1rs9tu-0005Yk-7S; Wed, 03 Apr 2024 23:20:14 +0000
Received: by outflank-mailman (input) for mailman id 700637;
 Wed, 03 Apr 2024 23:20:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8MKa=LI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rs9ts-0005Ye-Tg
 for xen-devel@lists.xenproject.org; Wed, 03 Apr 2024 23:20:12 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b65da5c1-f210-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 01:20:10 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 67940CE0EC7;
 Wed,  3 Apr 2024 23:20:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF33EC433F1;
 Wed,  3 Apr 2024 23:20:04 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b65da5c1-f210-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712186405;
	bh=EW28XPGRb7hdIurpYOpgSO0xFJPqGSEGEEX7+G1+E/E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=N8XjWH4wgRSmYbvxRY+rrR9KKr13QuPnFE5Lp6APdZJXxsCgxNrAqK6defLs/N2al
	 TCFEBss8F48JxThyQGfVZQYG+0FGrfyeUDBS73ijke/DEqHKDi6/LHOkd26BtaQU8U
	 mb7/BfWZb41WmLMD72Rj6AaPO0tCwtSI/RZF4QddZkZjMPYUOJvr4aVyWSZ4yxH2OJ
	 nsxtRCCRgiE1AYafmFqCs3J0OBEUDwfjRnTnUflYQ5RB46UTFlb4mQ+IQxlfMRSIGN
	 xEzLcrIijoNjQrnwN02cCPAUSdxJ8jNaWgesnqujpe62RqYUXTorSiiJAPeKTmM44E
	 0wiePTBDnXmpA==
Date: Wed, 3 Apr 2024 16:20:03 -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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add 13.6 to rules.rst
In-Reply-To: <217fdbe4-a4ba-4bea-b044-5677bf87717b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404031614530.2245130@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404021618030.2245130@ubuntu-linux-20-04-desktop> <217fdbe4-a4ba-4bea-b044-5677bf87717b@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, 3 Apr 2024, Jan Beulich wrote:
> On 03.04.2024 01:21, Stefano Stabellini wrote:
> > As agreed during MISRA C meetings, add Rule 13.6 to rules.rst.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > There was a request to expand the scope to also include alignof and
> > typeof. Depending on whether the MISRA C scanners support it, and under
> > which rules violations will be listed, rules.rst will be updated
> > accordingly (either updating the notes section of 13.6 or adding a new
> > entry.)
> 
> Hmm. Imo ...
> 
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -445,6 +445,12 @@ maintainers if you want to suggest a change.
> >       - Initializer lists shall not contain persistent side effects
> >       -
> >  
> > +   * - `Rule 13.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_13_06.c>`_
> > +     - Required
> > +     - The operand of the sizeof operator shall not contain any
> > +       expression which has potential side-effects
> > +     -
> 
> ... a note to this effect should be put here right away. We _want_ to
> respect the rule for the other two similar keywords, after all. What we
> don't know at this point is whether we can get help towards this from
> Eclair.
> 
> With such a note added:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Turns out 13.6 was already in rules.rst and I didn't notice it
immediately because it was not in order. So as I commit this patch I
took the opportunity to remove the older out of order entry, and also
add the note as requested


From xen-devel-bounces@lists.xenproject.org Wed Apr 03 23:33:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 03 Apr 2024 23:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700643.1094110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsA6g-0008M9-Jx; Wed, 03 Apr 2024 23:33:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700643.1094110; Wed, 03 Apr 2024 23: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 1rsA6g-0008M0-HC; Wed, 03 Apr 2024 23:33:26 +0000
Received: by outflank-mailman (input) for mailman id 700643;
 Wed, 03 Apr 2024 23: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 1rsA6f-0008LU-J8; Wed, 03 Apr 2024 23: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 1rsA6f-0001ok-HY; Wed, 03 Apr 2024 23: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 1rsA6f-00044b-5l; Wed, 03 Apr 2024 23:33:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsA6f-0007MX-56; Wed, 03 Apr 2024 23:33: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=a2fvyC3gf3Ocm4lwOT8YtPQGqWy1al5WmRgNLxJwero=; b=fosbwYpSbn2QDbhlNUe/dm9LgB
	A5kdBiH3nd5GwBjWmbIt+wVc6H92/ag9xj7gKyqR2PUvkJBVNkzxdudQAtkoIyV5Gh3oZVndSvGrb
	6m/TI5DxgqmOVTgpsreD4tu3JykcuHAOO37q6E0R64qVCh+3n2uzS2yrEvjg8HUd4Mc4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185228-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185228: 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-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-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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt: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-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-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3e92c1e6cd876754b64d1998ec0a01800ed954a6
X-Osstest-Versions-That:
    linux=b1e6ec0a0fd0252af046e542f91234cd6c30b2cb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 03 Apr 2024 23:33:25 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185220  2024-04-02 20:12:58 Z    1 days
Testing same since   185228  2024-04-03 14:39:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Christian Göttsche <cgzones@googlemail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Paul Moore <paul@paul-moore.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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
   b1e6ec0a0fd0..3e92c1e6cd87  3e92c1e6cd876754b64d1998ec0a01800ed954a6 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 01:12:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 01:12:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700655.1094142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsBeh-0007Ge-6I; Thu, 04 Apr 2024 01:12:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700655.1094142; Thu, 04 Apr 2024 01:12:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsBeh-0007GX-3d; Thu, 04 Apr 2024 01:12:39 +0000
Received: by outflank-mailman (input) for mailman id 700655;
 Thu, 04 Apr 2024 01:12: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=1z08=LJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsBef-0007GR-CL
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 01:12:37 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69333881-f220-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 03:12:33 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id E583CCE2E12;
 Thu,  4 Apr 2024 01:12:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1B676C433F1;
 Thu,  4 Apr 2024 01:12:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69333881-f220-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712193147;
	bh=vCMDSED+I/58Pvvt51e6EiSkC/7ydwn1Qs1LrKP4W04=;
	h=Date:From:To:cc:Subject:From;
	b=onFIc5AapNS0Xvm5P9pIX9tjB3+yGfVrH4ULUSFfev9t9lKoMGYdw7krasbtQrALy
	 UWLmJqETZ7dNMy+zSbTrxtXEjTRpO7ztFNanjm++G7e9PBrRv7+HPIWnJL6k0r+K1N
	 wYlRkwOTfmPpI4BbVjOyOdlTQVcDI9D5j7M62ViAO9lLtiuMiS6Pr0bXr957JMcGLO
	 ffKL43PCDB2qLZp3mc/Zh6WR9x7GC7SE/I815Xgfeo5+o7ptuWlffGsMLXTGmOhMsO
	 QQm1sJLI0ylZ1yfaLGOOoaE27/e22GpfTBI0jaN3g4xwg/ihuw0rCLe5FM2M3sZVR9
	 yyi5leT9ZVtTg==
Date: Wed, 3 Apr 2024 18:12:24 -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.cooper3@citrix.com, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, jbeulich@suse.com, 
    julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com
Subject: [PATCH v3] docs/misra: document the expected sizes of integer
 types
Message-ID: <alpine.DEB.2.22.394.2404031806510.2245130@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

Xen makes assumptions about the size of integer types on the various
architectures. Document these assumptions.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v3:
- add links to System V, AAPCS32 and AAPCS64

---
 docs/misra/C-language-toolchain.rst | 69 +++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index b7c2000992..84b21992bc 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -480,4 +480,73 @@ The table columns are as follows:
      - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Section "11.1 Implementation-defined behavior" of CPP_MANUAL.
 
 
+Sizes of Integer types
+______________________
+
+Xen expects System V ABI on x86_64:
+  https://gitlab.com/x86-psABIs/x86-64-ABI
+
+Xen expects AAPCS32 on ARMv8-A AArch32:
+  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
+
+Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
+  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
+
+A summary table of data types, sizes and alignment is below:
+
+.. list-table::
+   :widths: 10 10 10 45
+   :header-rows: 1
+
+   * - Type
+     - Size
+     - Alignment
+     - Architectures
+
+   * - char 
+     - 8 bits
+     - 8 bits
+     - all architectures
+
+   * - short
+     - 16 bits
+     - 16 bits
+     - all architectures
+
+   * - int
+     - 32 bits
+     - 32 bits
+     - all architectures
+
+   * - long
+     - 32 bits
+     - 32 bits 
+     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
+
+   * - long
+     - 64 bits
+     - 64 bits 
+     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
+
+   * - long long
+     - 64-bit
+     - 32-bit
+     - x86_32
+
+   * - long long
+     - 64-bit
+     - 64-bit
+     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32
+
+   * - pointer
+     - 32-bit
+     - 32-bit
+     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
+
+   * - pointer
+     - 64-bit
+     - 64-bit
+     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
+
+
 END OF DOCUMENT.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 03:39:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 03:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700663.1094154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsDwb-0004RM-ER; Thu, 04 Apr 2024 03:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700663.1094154; Thu, 04 Apr 2024 03:39:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsDwb-0004RF-Ba; Thu, 04 Apr 2024 03:39:17 +0000
Received: by outflank-mailman (input) for mailman id 700663;
 Thu, 04 Apr 2024 03:39: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 1rsDwa-0004R5-OD; Thu, 04 Apr 2024 03:39: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 1rsDwa-0006Qy-E7; Thu, 04 Apr 2024 03:39: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 1rsDwa-0005HI-1M; Thu, 04 Apr 2024 03:39:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsDwa-0007bH-17; Thu, 04 Apr 2024 03:39: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=EpvdimH91nLKDUC7MqG3BIdKMXunGOebrJ+Xdy2lIh4=; b=u3+bRVu9hT/PFJMAVncTwjiXiQ
	x92ktOayjn2Gk1mEGdT+i5EbgTJPeZfhDOIKP8i2I8sACoWn2Lmsss426rNpAAvnhTMQ1fl6fu14T
	t6rdUROSHZPFwQZ2nNRIWQIIjv3qCIvZ1TGGsi4ynKNfCEPBRHvn6K5ZTxLL7j0+vYzg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185234-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185234: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6117179dd99958e4ef2687617d12c9b15bdbae24
X-Osstest-Versions-That:
    xen=ac682fbac14a4286645810c02f60a2ba844b6c0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 03:39:16 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6117179dd99958e4ef2687617d12c9b15bdbae24
baseline version:
 xen                  ac682fbac14a4286645810c02f60a2ba844b6c0a

Last test of basis   185225  2024-04-03 08:02:08 Z    0 days
Testing same since   185234  2024-04-04 00:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Jens Wiklander <jens.wiklander@linaro.org>
  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
   ac682fbac1..6117179dd9  6117179dd99958e4ef2687617d12c9b15bdbae24 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 05:38:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 05:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700670.1094164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsFnj-0005mp-QC; Thu, 04 Apr 2024 05:38:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700670.1094164; Thu, 04 Apr 2024 05: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 1rsFnj-0005mi-NS; Thu, 04 Apr 2024 05:38:15 +0000
Received: by outflank-mailman (input) for mailman id 700670;
 Thu, 04 Apr 2024 05:38: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 1rsFnj-0005mY-1x; Thu, 04 Apr 2024 05:38: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 1rsFni-0001fb-Rd; Thu, 04 Apr 2024 05: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 1rsFni-0008KD-EW; Thu, 04 Apr 2024 05:38:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsFni-0005Ey-E1; Thu, 04 Apr 2024 05: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=llF/Dqo3HzBgYAwRdXaTY9eYz47Pv+XSVrJVvmKTON0=; b=YijTrOJvQIvQZtlZPsHAxNAAfs
	FCmiU2xUAsFX+X8ZNDzKqXpSYiR3p1y4ygttV5Xc+jB0f5pjsLm2wHpp7UDMPDvZhfCwMsOYYpQbB
	BDy19vpyLX4QlnK0pPj/1rrX6uGijeIITc+eFd85VZzpaTKqTUC3GN4VSISJTkOYbymw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185229-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185229: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-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
    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=ac682fbac14a4286645810c02f60a2ba844b6c0a
X-Osstest-Versions-That:
    xen=7a09966e7b2823b70f6d56d0cf66c11124f4a3c1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 05:38:14 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185222  2024-04-03 01:53:42 Z    1 days
Testing same since   185229  2024-04-03 17:11:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   7a09966e7b..ac682fbac1  ac682fbac14a4286645810c02f60a2ba844b6c0a -> master


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 06:07:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 06:07:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700684.1094211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsGFl-0002hi-BS; Thu, 04 Apr 2024 06:07:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700684.1094211; Thu, 04 Apr 2024 06: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 1rsGFl-0002hb-8q; Thu, 04 Apr 2024 06:07:13 +0000
Received: by outflank-mailman (input) for mailman id 700684;
 Thu, 04 Apr 2024 06:07: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsGFj-0002hV-Q4
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 06:07: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 91d0d7bf-f249-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 08:07:09 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a466e53f8c0so76666766b.1
 for <xen-devel@lists.xenproject.org>; Wed, 03 Apr 2024 23:07: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
 f5-20020a1709062c4500b00a455519bcb3sm8550268ejh.55.2024.04.03.23.07.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Apr 2024 23: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: 91d0d7bf-f249-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712210828; x=1712815628; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2agFSsFi2ls0FOgOAvROil8/ctXSK+BuwcWtq7I3UQY=;
        b=M4XrAV+DzII7GtQwZiskjx/Uu6U+6986nI67QER7AjRMVe37nB4la+vE2uD4NeNoWJ
         UEDiJR518s9HVpjlxOKvDEIrri+j+4SNgII4NZPCPsuPXwtbCJ7cF7rgYIncmO9zaYVy
         3x0mDvZ45vmPc1vNyJ/tC/Rhn2WmZSz8TiJnsmiVz7F9pKiP7e/PhErSH0Tu4oEiPGmT
         u/hKI6sxLyD19oMOw7ZGPOAnn1bHUiMElGq6Bf7CLmCvnB4AOELY3s8mrdDk/V0oISz8
         SQ0adXJhBmi59mW9kdiWr5bNN+iaHJFN/z26ojVpC96exj6Q5InmR0CmoNfuLb4NjX6x
         NnAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712210828; x=1712815628;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2agFSsFi2ls0FOgOAvROil8/ctXSK+BuwcWtq7I3UQY=;
        b=T4ZfYZfMkD0qKDc1OdtLtgWTHejdf/Yt2ZV3xzIBUzbjtlcf8ihvOroD880EzjXgHP
         VVBv4tiVxsMdpmF5oCVqH8QCTyBGs9/Jtwa4oxfsWuGLFUWULCyV2PZdYBcFN0So3h6U
         fHMiELfDuCUrYai8b6aAcf6DscIcvFDyfoMUXyzWHNVUCkUyiBS7JbIcxeGW2VhkiaSz
         zR0wd9apr/hWs0Q7E6MhAEVsN1HdmPoUq1cCb4WnKPPH9a1Yg3hqkVG3KMuf8IoyuAgf
         g+5zYi5wPRLaBMLb3lRopCwj/NL8hoIM6WzJJMF394L/TRAVA6iWH66j8+FZEajEnx0c
         Dqwg==
X-Gm-Message-State: AOJu0YwFUHCDSeXYz4/1ReNohHb8a43cuz7UTfvx/6UhQY80sIlNA2IY
	Ftlhm+Qr4w/Zkx0udhe+GX/1pgM8D+PyuJBqP5vyJmkoi2uCVkQ1egu1JnAObfI0aUJgmLr50r8
	=
X-Google-Smtp-Source: AGHT+IEFNv87ljYzXeuwf878k1P2DmWVKfQyTsIgTxowR2EJrCjmX5B1OqJjdyixGE/CgLd1Fcv6bA==
X-Received: by 2002:a17:906:3914:b0:a51:827d:c556 with SMTP id f20-20020a170906391400b00a51827dc556mr1135082eje.6.1712210828400;
        Wed, 03 Apr 2024 23:07:08 -0700 (PDT)
Message-ID: <d65eaebf-f2f5-43aa-b0a3-2c6898d0ad2e@suse.com>
Date: Thu, 4 Apr 2024 08:07:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: text-tsx fails on Intel core 8th gen system
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <8c7ffed8-4faa-4dd3-8a41-d436ba49898b@suse.com> <Zg2G06KZzvHuOYVz@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <Zg2G06KZzvHuOYVz@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.04.2024 18:41, Marek Marczykowski-Górecki wrote:
> On Wed, Apr 03, 2024 at 05:04:20PM +0200, Jan Beulich wrote:
>> On 03.04.2024 16:50, Marek Marczykowski-Górecki wrote:
>>> Hi,
>>>
>>> I've noticed that tools/tests/tsx/test-tsx fails on a system with Intel
>>> Core i7-8750H. Specific error I get:
>>>
>>>     [user@dom0 tsx]$ ./test-tsx 
>>>     TSX tests
>>>       Got 16 CPUs
>>>     Testing MSR_TSX_FORCE_ABORT consistency
>>>       CPU0 val 0
>>>     Testing MSR_TSX_CTRL consistency
>>>     Testing MSR_MCU_OPT_CTRL consistency
>>>       CPU0 val 0
>>>     Testing RTM behaviour
>>>       Got #UD
>>>       Host reports RTM, but appears unavailable
>>
>> Isn't this ...
>>
>>>     Testing PV default/max policies
>>>       Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>       Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>       HLE/RTM offered to guests despite not being available
>>>     Testing HVM default/max policies
>>>       Max: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>       Def: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>       HLE/RTM offered to guests despite not being available
>>>     Testing PV guest
>>>       Created d8
>>>       Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>       Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>     Testing HVM guest
>>>       Created d9
>>>       Cur: RTM 0, HLE 0, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>       Cur: RTM 1, HLE 1, TSX_FORCE_ABORT 0, RTM_ALWAYS_ABORT 0, TSX_CTRL 0
>>>     [user@dom0 tsx]$ echo $?
>>>     1
>>
>> ... the reason for this?
> 
> I think so, but the question is why it behaves this way. Could be an
> issue with MSR/CPUID values presented by Xen, or values Xen gets from
> the CPU.

Can't test_rtm_behaviour() be run even without Xen underneath? Maybe this
could be run irrespective of xc_interface_open() failing?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 06:30:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 06:30:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700689.1094221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsGbr-0007H9-Br; Thu, 04 Apr 2024 06:30:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700689.1094221; Thu, 04 Apr 2024 06: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 1rsGbr-0007Gg-7L; Thu, 04 Apr 2024 06:30:03 +0000
Received: by outflank-mailman (input) for mailman id 700689;
 Thu, 04 Apr 2024 06:30:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsGbq-0006wX-33
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 06:30:02 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20629.outbound.protection.outlook.com
 [2a01:111:f400:7e88::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2adccb6-f24c-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 08:29:59 +0200 (CEST)
Received: from SA0PR11CA0147.namprd11.prod.outlook.com (2603:10b6:806:131::32)
 by DS0PR12MB9274.namprd12.prod.outlook.com (2603:10b6:8:1a9::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 06:29:56 +0000
Received: from SA2PEPF00003AE9.namprd02.prod.outlook.com
 (2603:10b6:806:131:cafe::3) by SA0PR11CA0147.outlook.office365.com
 (2603:10b6:806:131::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 06:29:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00003AE9.mail.protection.outlook.com (10.167.248.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 06:29:56 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 01:29:55 -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.35; Thu, 4 Apr
 2024 01:29:54 -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.35 via Frontend
 Transport; Thu, 4 Apr 2024 01:29: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: c2adccb6-f24c-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VFwzgsaTUl96manX4x2ape+EKaUHRbu3dLEdOjqKfPgK9J4QBPQEEubSD6RoMxfQ57B3E097rYHftA2sJXm2B/uPj0nUZ/uNB/lRV+/gQUsubxD6VwLEa0bsmuN8xPq9HcwdFQFIuyU43o+7sMVGX8rOu5h5rAMzvCsV6uWsCHvvsSRdVMxkG4lXZ3NFRWhiR+bWvYHcKw8o3Cdniy++F0i8dTvHn4tUqDcLAVK82pSRjtoH91m9h36l6S8hzv+DfwOadH4hLYJEP1vK5ERZpBxYwMYBsZdEyp2BANWEw8CTEYKBUDfqZLVasfePxyfv1JSvIbfg2gnenPzEyp2SMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nTWN/THBMen8kBPZlVFfYYY8BVIsY0J5eqdlLHqOK74=;
 b=CfaUEhTghcdwDSFjKbEFyybOfh0cUUbVHCaa6DAp59vKQXEWnU+jIvGrB49+szNCIRNV62l/5o2t0AIN2FUfCCeYCXrbOESZoxz85ZLHHWFycafQOq/eEC9bpT8AqH2dZ6+Q4dr/wx3qApPqtMnQ3mlPKoxwMtB2mbp9YPbj39mj36Qcqox3jt8QqKJUWLDeCe3pj/xzPo6/Sh5yPtyZk0EEhT1HqrjOVIz8zGZGiYdoCTvSbcnVns2l0Yq3y2KH422pZMGw5ZbVyYLwiDhWGoGJQeMRR9HiIopyxjnfyO7BiYeGS05xEywOzRCSnB85qEVuuKsZradGP1zXM8HcxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nTWN/THBMen8kBPZlVFfYYY8BVIsY0J5eqdlLHqOK74=;
 b=n65rrlQluvg3ANSPcK9KZYX3T6vPsl0LrwCBI7Dd9R/lG3ogn3wR1idpd4op2KvwQgbKXWhZ9hJjwY6bdkTrZ8HZXT+oejadTX6yteHjoxuspjht1q4YBgMXcX+jHjp+VPyWxuLZHa6Fk2GS8Iy2gppS/1prlSgvhuTEnoX9ydY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <87f2ffe1-2569-41c4-9cef-4919f362f7cb@amd.com>
Date: Thu, 4 Apr 2024 08:29:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
From: Michal Orzel <michal.orzel@amd.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
 <91ceb418-f055-45ba-82c4-f37e812d5242@amd.com>
Content-Language: en-US
In-Reply-To: <91ceb418-f055-45ba-82c4-f37e812d5242@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00003AE9:EE_|DS0PR12MB9274:EE_
X-MS-Office365-Filtering-Correlation-Id: c7fd06a8-28e4-4918-4840-08dc5470a531
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u+hPEVXgYF0/ZSWS/qDwNvGo0ZJjGmuR2gikVNCjbRjcaGBVgH35cSwPkp/av/E5ZT8rxPS7zXSSL8rFnZWxqLHh/5OuzZtxHnKGxLzNkBoTKC8NZlkrgG1LK/KbDhQtAIHT8L61KS86+ve0WTmzDBCMWn8uE9DyjvN3ec8WoN7BKfY6J/dUyG3a8/Rql4Rm1mmsdTKx69YXSlV20QjuSW6URnqufLYknWYiqlaEhZQzNc37RV1PAk78q9VCpxSwcT6aXAFC6v+pUitRjdWseMCieB+VyM+T9sk6Rt80Bplrvi+MurYu+n9YEuFi3uGtLXpv7r5gMj0TN5CBVHX9KBnPX/7du7FxrCKUhBiesYbt3z2DIseJziOFPNw6mpSbOmxfHFcpvmYRAGwZaUq8H3PoD1z95qmcCyHMcdbnehdiK2sxV22iOcz/kDYBgmh1A9StTCoPJPKk8sZkvtfcoaichCsFHHkFsnXosPi8nLYYGU4elIb1XMIY/b3ljxfjiJWgc0iug833T20mz8+Or9HNSf3/BOyHM40eIfpTMQFxn18/OMczw+3BPAS6tldOS33PO5IWfD117cNNyQ3q8FpTDYQ/u9mA/MkJrdotdtHn+C3YsPK9dkOXkQ17t4eC6G232MK8rXLLWucZpinte3dPELpEhjmSfWfYpTWfn82Z6ynwZVgWmy4Om8svpNOHups/4WT0/JwLmCJAz7iytpTRFhgdne9zegJpNJwg89PaWpBIfRtKTesWtJeTG0RW
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 06:29:56.2277
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c7fd06a8-28e4-4918-4840-08dc5470a531
X-MS-Exchange-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:
	SA2PEPF00003AE9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9274

Hi,

On 02/04/2024 12:25, Michal Orzel wrote:
> 
> 
> Hello,
> 
> On 29/03/2024 01:08, Volodymyr Babchuk wrote:
>>
>>
>> Generic Interface (GENI) is a newer interface for low speed interfaces
>> like UART, I2C or SPI. This patch adds the simple driver for the UART
>> instance of GENI. Code is based on similar drivers in U-Boot and Linux
>> kernel.
> Do you have a link to a manual?
> 
>>
>> This driver implements only simple synchronous mode, because although
>> GENI supports FIFO mode, it needs to know number of
>> characters **before** starting TX transaction. This is a stark
>> contrast when compared to other UART peripherals, which allow adding
>> characters to a FIFO while TX operation is running.
>>
>> The patch adds both normal UART driver and earlyprintk version.
>>
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> ---
>>  xen/arch/arm/Kconfig.debug           |  19 +-
>>  xen/arch/arm/arm64/debug-qcom.inc    |  76 +++++++
> Shouldn't all the files (+ other places) have geni in their names? Could qcom refer to other type of serial device?
> 
> 
>>  xen/arch/arm/include/asm/qcom-uart.h |  48 +++++
>>  xen/drivers/char/Kconfig             |   8 +
>>  xen/drivers/char/Makefile            |   1 +
>>  xen/drivers/char/qcom-uart.c         | 288 +++++++++++++++++++++++++++
>>  6 files changed, 439 insertions(+), 1 deletion(-)
>>  create mode 100644 xen/arch/arm/arm64/debug-qcom.inc
>>  create mode 100644 xen/arch/arm/include/asm/qcom-uart.h
>>  create mode 100644 xen/drivers/char/qcom-uart.c
>>
>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>> index eec860e88e..f6ab0bb30e 100644
>> --- a/xen/arch/arm/Kconfig.debug
>> +++ b/xen/arch/arm/Kconfig.debug
>> @@ -119,6 +119,19 @@ choice
>>                         selecting one of the platform specific options below if
>>                         you know the parameters for the port.
>>
>> +                       This option is preferred over the platform specific
>> +                       options; the platform specific options are deprecated
>> +                       and will soon be removed.
>> +       config EARLY_UART_CHOICE_QCOM
> The list is sorted alphabetically. Please adhere to that.
> 
>> +               select EARLY_UART_QCOM
>> +               bool "Early printk via Qualcomm debug UART"
> Shouldn't you add depends on ARM_64? Isn't this device Arm64 specific like in Linux?
> 
>> +               help
>> +                       Say Y here if you wish the early printk to direct their
> help text here should be indented by 2 tabs and 2 spaces (do not take example from surrounding code)
> 
>> +                       output to a Qualcomm debug UART. You can use this option to
>> +                       provide the parameters for the debug UART rather than
>> +                       selecting one of the platform specific options below if
>> +                       you know the parameters for the port.
>> +
>>                         This option is preferred over the platform specific
>>                         options; the platform specific options are deprecated
>>                         and will soon be removed.
>> @@ -211,6 +224,9 @@ config EARLY_UART_PL011
>>  config EARLY_UART_SCIF
>>         select EARLY_PRINTK
>>         bool
>> +config EARLY_UART_QCOM
>> +       select EARLY_PRINTK
>> +       bool
> The list is sorted alphabetically. Please adhere to that.
> 
>>
>>  config EARLY_PRINTK
>>         bool
>> @@ -261,7 +277,7 @@ config EARLY_UART_PL011_MMIO32
>>           will be done using 32-bit only accessors.
>>
>>  config EARLY_UART_INIT
>> -       depends on EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0
>> +       depends on (EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0) || EARLY_UART_QCOM
>>         def_bool y
>>
>>  config EARLY_UART_8250_REG_SHIFT
>> @@ -308,3 +324,4 @@ config EARLY_PRINTK_INC
>>         default "debug-mvebu.inc" if EARLY_UART_MVEBU
>>         default "debug-pl011.inc" if EARLY_UART_PL011
>>         default "debug-scif.inc" if EARLY_UART_SCIF
>> +       default "debug-qcom.inc" if EARLY_UART_QCOM
>> diff --git a/xen/arch/arm/arm64/debug-qcom.inc b/xen/arch/arm/arm64/debug-qcom.inc
>> new file mode 100644
>> index 0000000000..130d08d6e9
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/debug-qcom.inc
>> @@ -0,0 +1,76 @@
>> +/*
>> + * xen/arch/arm/arm64/debug-qcom.inc
>> + *
>> + * Qualcomm debug UART specific debug code
>> + *
>> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> + * Copyright (C) 2024, EPAM Systems.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
> No need for the license text. You should use SPDX identifier instead at the top of the file:
> /* SPDX-License-Identifier: GPL-2.0-or-later */
I chatted with Julien and it would be best to use GPL-2.0-only.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 06:55:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 06:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700695.1094231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsGzn-00035N-8j; Thu, 04 Apr 2024 06:54:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700695.1094231; Thu, 04 Apr 2024 06:54:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsGzn-00035G-5k; Thu, 04 Apr 2024 06:54:47 +0000
Received: by outflank-mailman (input) for mailman id 700695;
 Thu, 04 Apr 2024 06: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=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsGzl-000356-8Q
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 06:54:45 +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 357d64e6-f250-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 08:54:41 +0200 (CEST)
Received: from BN1PR12CA0021.namprd12.prod.outlook.com (2603:10b6:408:e1::26)
 by SA1PR12MB8599.namprd12.prod.outlook.com (2603:10b6:806:254::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 06:54:37 +0000
Received: from BN2PEPF000044A3.namprd02.prod.outlook.com
 (2603:10b6:408:e1:cafe::83) by BN1PR12CA0021.outlook.office365.com
 (2603:10b6:408:e1::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Thu, 4 Apr 2024 06:54:36 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF000044A3.mail.protection.outlook.com (10.167.243.154) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 06:54:36 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 01:54:36 -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.35; Thu, 4 Apr
 2024 01:54:35 -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.35 via Frontend
 Transport; Thu, 4 Apr 2024 01:54:33 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 357d64e6-f250-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eo1KU1tGqmu+/SB9+C3Syub0Mi+W8ebP/cQ/K0Y9jRKEqKZMJghcSDhp0q+Y8D6NPGOAsiltuIPNRfqG4yW4XXcw33wD1VqaJnWIWyQKVqSKbqZgXk2CY7uVu3dD6BRkSe3gReazPqPUFFtPMBGvZkd8QjIK3bsoUzk1nS5CS+/10m4zcxfCNosmFf2DsiBlfs4At+9Q68xLRUcAz5i59g4R41T0qPgPZRe1inuritLcl3HFWlEoG5t/B7RV3jttfaFH/c+GE9mAL6ugmqTjblRkdjT1yr5oOGYuy6jXCLUfYQO9F87uRIyuHnj+o/bhLQUIIyyIx3bIuENZt1MSAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3UbYH4+NTQxPVTF6EP9raZjdUvLv2cGV5kEpa7+skVc=;
 b=KarquyIB94RGiVAFVugXlSi3ohzG/6XXKdFgEt0/D9QzBTsi0sceispUskslnZkjJDiww01xnAgdDbDZNZRLn0TJHRfcwIVZBU7MaO2iX4EQhF/9J081ujZDVCr7lGkwYm7b5feAUlMso9I9ZGOO4r7KjY+h2643H3XP2cNV+IqQOhGJLuynSdxntrpOeb8OLMRx+xVLrGa6oC9Us56bDm1gidjaIylC4i3WWqZIVkt4EfmvSmetesJUTOdoAJSVBUxncbO8cr7+nb20YgpmiaaYyz85183fwPbHCJFkCvrI6baNHnshZIfUPEbFypiw3nNikiVHeqrxhgRcOkIr+Q==
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=3UbYH4+NTQxPVTF6EP9raZjdUvLv2cGV5kEpa7+skVc=;
 b=h9Jetum4uJM3hfTpjjYQElmb0ENRJd6Q09hIN3a8aU9LXXcmVBcjIDySl+sUvzXVZ7/snKnkwAmnvmsAFxZmL2Sh4CuUKD2vZHAG2oMobXVgxeWps1oadwmpOvm9tPqTrVNLkw8NaBZim+XtLqxVx1H8lwElckShlUr0V5yD7AY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <db85de43-dd68-4362-b5c9-62ab704c7055@amd.com>
Date: Thu, 4 Apr 2024 08:54:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 2/2] xen/arm: Add i.MX UART driver
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Peng Fan <peng.fan@nxp.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
 <20240402120557.1822253-3-olekstysh@gmail.com>
Content-Language: en-US
In-Reply-To: <20240402120557.1822253-3-olekstysh@gmail.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: BN2PEPF000044A3:EE_|SA1PR12MB8599:EE_
X-MS-Office365-Filtering-Correlation-Id: 2ec896c0-8559-4428-d684-08dc547417aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IqR/ssRhKhHSJMShWkDVdy81XcQo2MQ9xXSb/OzgTpGn9uHKjgpXW1IEDVDflqL5UXMU8ZQmLksiaob49o0QPQ1usB+7o61I+tcArGwMmlh/3E0m7uua+GZN63BcRGoCE8/MTPoXMFrpGNd5ck/9gvR+E6m8VPFxPDAS5EN/AfGppybsdcytDbl0nHDYLcAuIGXHITnCqCplMKL7Qh5Vdpx581Tvhm3v/pTIG/cz7+sjhya4etoCc4UD0qcZ1BIUwSfGyemgmCwapXPRlGuBe+BhniTyb1wXTrqUge4h1UdETNwtJ7moF1bcVzVRjNMVaiOs0XoyS58yPkZlsNwajokkKNgkqNjgrvGl1L2GwZAbEAdHvg1lPP+OrwIsQt0qYnE4Xrlsf2LXZuaInAmNAahaz+BwenhfJMzYkgvxO9YNOQpWoui/P1NjisSN6AO/UK6PpmPqo9mNCmo65EYagcgOPq99DP8D/fzZEFCenRcZGlzwKZ/V0RgMpDUGrlxgvlkP/P/9wVs67Y04kS3eC310mIAU4edGhn4ggtTBzR65z+BuxrUb40eD3Kzp0exj10xxjwBZdWJpHZLFP09f5vmSAM9pzQLl+tr/JYe58d680N6HNNT1UbxuSJUaLXvWaHtVS3PcqTaUAf2fQO8Vh5t2oBqnF1ExOfxTjrWzNkQgkQ1zjNsc35Ho54/u0jLXcwAazsGpgO/N+axuaAElkA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005)(7416005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 06:54:36.7748
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ec896c0-8559-4428-d684-08dc547417aa
X-MS-Exchange-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:
	BN2PEPF000044A3.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8599

Hi Oleksandr,

On 02/04/2024 14:05, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> The i.MX UART Documentation:
> https://www.nxp.com/webapp/Download?colCode=IMX8MMRM
> Chapter 16.2 Universal Asynchronous Receiver/Transmitter (UART)
> 
> Tested on i.MX 8M Mini only, but I guess, it should be
imperative mood

> suitable for other i.MX8M* SoCs (those UART device tree nodes
> contain "fsl,imx6q-uart" compatible string).
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---
> I used the "earlycon=ec_imx6q,0x30890000" cmd arg and
> selected CONFIG_SERIAL_IMX_EARLYCON in Linux for enabling vUART.
> ---
> ---
>  MAINTAINERS                 |   1 +
>  xen/drivers/char/Kconfig    |   7 +
>  xen/drivers/char/Makefile   |   1 +
>  xen/drivers/char/imx-uart.c | 299 ++++++++++++++++++++++++++++++++++++
>  4 files changed, 308 insertions(+)
>  create mode 100644 xen/drivers/char/imx-uart.c
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1bd22fd75f..bd4084fd20 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/imx-uart.c
>  F:     xen/drivers/char/meson-uart.c
>  F:     xen/drivers/char/mvebu-uart.c
>  F:     xen/drivers/char/omap-uart.c
> diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
> index e18ec3788c..f51a1f596a 100644
> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -20,6 +20,13 @@ config HAS_IMX_LPUART
>         help
>           This selects the i.MX LPUART. If you have i.MX8QM based board, say Y.
> 
> +config HAS_IMX_UART
> +       bool "i.MX UART driver"
> +       default y
> +       depends on ARM_64
> +       help
> +         This selects the i.MX UART. If you have i.MX8M* based board, say Y.
> +
>  config HAS_MVEBU
>         bool "Marvell MVEBU UART driver"
>         default y
> diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
> index e7e374775d..147530a1ed 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_IMX_UART) += imx-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/imx-uart.c b/xen/drivers/char/imx-uart.c
> new file mode 100644
> index 0000000000..13bb189063
> --- /dev/null
> +++ b/xen/drivers/char/imx-uart.c
> @@ -0,0 +1,299 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
Can it be GPL-2.0-only? Some companies are worried about v3.

> +/*
> + * xen/drivers/char/imx-uart.c
> + *
> + * Driver for i.MX UART.
> + *
> + * Based on Linux's drivers/tty/serial/imx.c
> + *
> + * Copyright (C) 2024 EPAM Systems Inc.
> + */
> +
> +#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/imx-uart.h>
> +#include <asm/io.h>
> +
> +#define imx_uart_read(uart, off)          readl((uart)->regs + (off))
> +#define imx_uart_write(uart, off, val)    writel((val), (uart)->regs + (off))
> +
> +static struct imx_uart {
> +    uint32_t baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
What's the use of these variables? AFAICT they are set but never used.

> +    uint32_t irq;
unsigned int

> +    char __iomem *regs;
> +    struct irqaction irqaction;
> +    struct vuart_info vuart;
> +} imx_com;
> +
> +static void imx_uart_interrupt(int irq, void *data)
> +{
> +    struct serial_port *port = data;
> +    struct imx_uart *uart = port->uart;
> +    uint32_t usr1, usr2;
> +
> +    usr1 = imx_uart_read(uart, USR1);
> +    usr2 = imx_uart_read(uart, USR2);
> +
> +    if ( usr1 & (USR1_RRDY | USR1_AGTIM) )
> +    {
> +        imx_uart_write(uart, USR1, USR1_AGTIM);
> +        serial_rx_interrupt(port);
> +    }
> +
> +    if ( (usr1 & USR1_TRDY) || (usr2 & USR2_TXDC) )
> +        serial_tx_interrupt(port);
> +}
> +
> +static void imx_uart_clear_rx_errors(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
> +    uint32_t usr1, usr2;
> +
> +    usr1 = imx_uart_read(uart, USR1);
> +    usr2 = imx_uart_read(uart, USR2);
> +
> +    if ( usr2 & USR2_BRCD )
> +        imx_uart_write(uart, USR2, USR2_BRCD);
> +    else if ( usr1 & USR1_FRAMERR )
> +        imx_uart_write(uart, USR1, USR1_FRAMERR);
> +    else if ( usr1 & USR1_PARITYERR )
> +        imx_uart_write(uart, USR1, USR1_PARITYERR);
> +
> +    if ( usr2 & USR2_ORE )
> +        imx_uart_write(uart, USR2, USR2_ORE);
> +}
> +
> +static void __init imx_uart_init_preirq(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
> +    uint32_t reg;
> +
> +    /*
> +     * Wait for the transmission to complete. This is needed for a smooth
> +     * transition when we come from early printk.
> +     */
> +    while ( !(imx_uart_read(uart, USR2) & USR2_TXDC) )
> +        cpu_relax();
> +
> +    /* Set receiver/transmitter trigger level */
> +    reg = imx_uart_read(uart, UFCR);
> +    reg &= (UFCR_RFDIV | UFCR_DCEDTE);
> +    reg |= TXTL_DEFAULT << UFCR_TXTL_SHF | RXTL_DEFAULT;
please surround TXTL_DEFAULT << UFCR_TXTL_SHF with parentheses

> +    imx_uart_write(uart, UFCR, reg);
> +
> +    /* Enable UART and disable interrupts/DMA */
> +    reg = imx_uart_read(uart, UCR1);
> +    reg |= UCR1_UARTEN;
> +    reg &= ~(UCR1_TRDYEN | UCR1_TXMPTYEN | UCR1_RTSDEN | UCR1_RRDYEN |
> +             UCR1_RXDMAEN | UCR1_TXDMAEN | UCR1_ATDMAEN);
> +    imx_uart_write(uart, UCR1, reg);
> +
> +    /* Enable receiver/transmitter and disable Aging Timer */
> +    reg = imx_uart_read(uart, UCR2);
> +    reg |= UCR2_RXEN | UCR2_TXEN;
> +    reg &= ~UCR2_ATEN;
> +    imx_uart_write(uart, UCR2, reg);
> +
> +    /* Disable interrupts */
> +    reg = imx_uart_read(uart, UCR4);
> +    reg &= ~(UCR4_TCEN | UCR4_DREN);
> +    imx_uart_write(uart, UCR4, reg);
> +}
> +
> +static void __init imx_uart_init_postirq(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
> +
> +    uart->irqaction.handler = imx_uart_interrupt;
> +    uart->irqaction.name = "imx_uart";
> +    uart->irqaction.dev_id = port;
> +
> +    if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 )
> +    {
> +        dprintk(XENLOG_ERR, "Failed to allocate imx_uart IRQ %d\n", uart->irq);
Wrong format specifier for unsigned, use %u
Also, why dprintk?

> +        return;
> +    }
> +
> +    /* Clear possible receiver errors */
> +    imx_uart_clear_rx_errors(port);
> +
> +    /* Enable interrupts */
> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) |
> +                   UCR1_RRDYEN | UCR1_TRDYEN);
> +    imx_uart_write(uart, UCR2, imx_uart_read(uart, UCR2) | UCR2_ATEN);
> +}
> +
> +static void imx_uart_suspend(struct serial_port *port)
> +{
> +    BUG();
> +}
no need for this function

> +
> +static void imx_uart_resume(struct serial_port *port)
> +{
> +    BUG();
> +}
no need for this function

> +
> +static int imx_uart_tx_ready(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
can be const

> +    uint32_t reg;
> +
> +    reg = imx_uart_read(uart, IMX21_UTS);
> +    if ( reg & UTS_TXEMPTY )
> +        return TX_FIFO_SIZE;
empty line here please

> +    if ( reg & UTS_TXFULL )
> +        return 0;
> +
> +    /*
> +     * If the FIFO is neither full nor empty then there is a space for
> +     * one char at least.
> +     */
> +    return 1;
> +}
> +
> +static void imx_uart_putc(struct serial_port *port, char c)
> +{
> +    struct imx_uart *uart = port->uart;
can be const

> +
> +    while ( imx_uart_read(uart, IMX21_UTS) & UTS_TXFULL )
> +        cpu_relax();
Looking at pl011, cdns, putc contains only a write to data register. This is because
->putc always follows ->tx_ready which contains the check for how many chars can be written.
Therefore, AFAICT this should be dropped.

> +
> +    imx_uart_write(uart, URTX0, c);
> +}
> +
> +static int imx_uart_getc(struct serial_port *port, char *pc)
> +{
> +    struct imx_uart *uart = port->uart;
can be const

> +    uint32_t data;
> +
> +    if ( !(imx_uart_read(uart, USR2) & USR2_RDR) )
> +        return 0;
> +
> +    data = imx_uart_read(uart, URXD0);
> +    *pc = data & URXD_RX_DATA;
> +
> +    if ( unlikely(data & URXD_ERR) )
> +        imx_uart_clear_rx_errors(port);
> +
> +    return 1;
> +}
> +
> +static int __init imx_uart_irq(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
can be const

> +
> +    return ((uart->irq > 0) ? uart->irq : -1);
> +}
> +
> +static const struct vuart_info *imx_uart_vuart_info(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
can be const

> +
> +    return &uart->vuart;
> +}
> +
> +static void imx_uart_start_tx(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
> +
> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) | UCR1_TRDYEN);
> +}
> +
> +static void imx_uart_stop_tx(struct serial_port *port)
> +{
> +    struct imx_uart *uart = port->uart;
> +
> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) & ~UCR1_TRDYEN);
> +}
> +
> +static struct uart_driver __read_mostly imx_uart_driver = {
> +    .init_preirq = imx_uart_init_preirq,
> +    .init_postirq = imx_uart_init_postirq,
> +    .endboot = NULL,
> +    .suspend = imx_uart_suspend,
> +    .resume = imx_uart_resume,
no need to assign a value for these 3 members

> +    .tx_ready = imx_uart_tx_ready,
> +    .putc = imx_uart_putc,
> +    .getc = imx_uart_getc,
> +    .irq = imx_uart_irq,
> +    .start_tx = imx_uart_start_tx,
> +    .stop_tx = imx_uart_stop_tx,
> +    .vuart_info = imx_uart_vuart_info,
> +};
> +
> +static int __init imx_uart_init(struct dt_device_node *dev, const void *data)
> +{
> +    const char *config = data;
> +    struct imx_uart *uart;
> +    int res;
> +    paddr_t addr, size;
> +
> +    if ( strcmp(config, "") )
> +        printk("WARNING: UART configuration is not supported\n");
> +
> +    uart = &imx_com;
> +
> +    uart->baud = 115200;
> +    uart->data_bits = 8;
> +    uart->parity = 0;
> +    uart->stop_bits = 1;
They are set but never used

> +
> +    res = dt_device_get_paddr(dev, 0, &addr, &size);
> +    if ( res )
> +    {
> +        printk("imx-uart: Unable to retrieve the base address of the UART\n");
> +        return res;
> +    }
> +
> +    res = platform_get_irq(dev, 0);
> +    if ( res < 0 )
> +    {
> +        printk("imx-uart: Unable to retrieve the IRQ\n");
> +        return -EINVAL;
> +    }
> +    uart->irq = res;
> +
> +    uart->regs = ioremap_nocache(addr, size);
> +    if ( !uart->regs )
> +    {
> +        printk("imx-uart: Unable to map the UART memory\n");
> +        return -ENOMEM;
> +    }
> +
> +    uart->vuart.base_addr = addr;
> +    uart->vuart.size = size;
> +    uart->vuart.data_off = URTX0;
> +    uart->vuart.status_off = IMX21_UTS;
> +    uart->vuart.status = UTS_TXEMPTY;
> +
> +    /* Register with generic serial driver */
> +    serial_register_uart(SERHND_DTUART, &imx_uart_driver, uart);
> +
> +    dt_device_set_used_by(dev, DOMID_XEN);
> +
> +    return 0;
> +}
> +
> +static const struct dt_device_match imx_uart_dt_compat[] __initconst =
> +{
> +    DT_MATCH_COMPATIBLE("fsl,imx6q-uart"),
> +    { /* sentinel */ },
> +};
> +
> +DT_DEVICE_START(imx_uart, "i.MX UART", DEVICE_SERIAL)
> +    .dt_match = imx_uart_dt_compat,
> +    .init = imx_uart_init,
> +DT_DEVICE_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.34.1
> 

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:49:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700704.1094241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHqu-00045C-9v; Thu, 04 Apr 2024 07:49:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700704.1094241; Thu, 04 Apr 2024 07:49:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHqu-000455-5c; Thu, 04 Apr 2024 07:49:40 +0000
Received: by outflank-mailman (input) for mailman id 700704;
 Thu, 04 Apr 2024 07: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=WQJu=LJ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rsHqt-00044q-DZ
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:49:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e2e9403e-f257-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 09:49:38 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id B76EB4EE0742;
 Thu,  4 Apr 2024 09:49: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: e2e9403e-f257-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH v2 1/2] xen/sched: address violations of MISRA C:2012 Rule 16.3
Date: Thu,  4 Apr 2024 09:49:28 +0200
Message-Id: <08c449728221c9c2b9e87f22eb9d0cffbf7ecf68.1712215939.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712215939.git.federico.serafini@bugseng.com>
References: <cover.1712215939.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add break statement to address a violation of MISRA C:2012 Rule 16.3
("An unconditional `break' statement shall terminate every
switch-clause").
Replace deprecated comment /* FALLTHRU */ with pseudo-keyword
fallthrough to meet the requirements to deviate the rule.

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
- this patch is the result of merging together two different patches with the
  same title;
- commit message has been improved to make clear that the comment is
  deprecated.
---
 xen/common/sched/core.c    | 1 +
 xen/common/sched/credit2.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 3e48da1cdd..0cb33831d2 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -2007,6 +2007,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
     default:
         ret = -ENOSYS;
+        break;
     }
 
     return ret;
diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
index c76330d79d..0962b52415 100644
--- a/xen/common/sched/credit2.c
+++ b/xen/common/sched/credit2.c
@@ -3152,8 +3152,8 @@ static int cf_check csched2_sys_cntl(
             printk(XENLOG_INFO "Disabling context switch rate limiting\n");
         prv->ratelimit_us = params->ratelimit_us;
         write_unlock_irqrestore(&prv->lock, flags);
+        fallthrough;
 
-    /* FALLTHRU */
     case XEN_SYSCTL_SCHEDOP_getinfo:
         params->ratelimit_us = prv->ratelimit_us;
         break;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:49:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700706.1094256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHqv-0004Nk-PO; Thu, 04 Apr 2024 07:49:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700706.1094256; Thu, 04 Apr 2024 07: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 1rsHqv-0004M7-LR; Thu, 04 Apr 2024 07:49:41 +0000
Received: by outflank-mailman (input) for mailman id 700706;
 Thu, 04 Apr 2024 07:49: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=WQJu=LJ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rsHqu-00044q-3E
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:49:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3288060-f257-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 09:49:38 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 0723F4EE0744;
 Thu,  4 Apr 2024 09:49: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: e3288060-f257-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 2/2] vsprintf: address violations of MISRA C:2012 Rule 16.3
Date: Thu,  4 Apr 2024 09:49:29 +0200
Message-Id: <9705ea09d3dac2e569c075cd9bd7f594796b12c1.1712215939.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712215939.git.federico.serafini@bugseng.com>
References: <cover.1712215939.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C:2012 Rule 16.3 states: "An unconditional `break' statement
shall terminate every switch-clause".

In order to meet the requirements to deviate the rule:
1) refactor the for loop to make the switch-clause ending with a
   return statement (note that adding a break at the end of the
   switch-clause would result in a violation of Rule 2.1
   "A project shall not contain unreachable code");
2) add pseudo-keyword fallthrough.

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
- improved commit message.
---
 xen/common/vsprintf.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/common/vsprintf.c b/xen/common/vsprintf.c
index c49631c0a4..612751c90f 100644
--- a/xen/common/vsprintf.c
+++ b/xen/common/vsprintf.c
@@ -377,7 +377,7 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
             str = number(str, end, hex_buffer[i], 16, 2, -1, ZEROPAD);
 
             if ( ++i == field_width )
-                return str;
+                break;
 
             if ( sep )
             {
@@ -386,6 +386,8 @@ static char *pointer(char *str, const char *end, const char **fmt_ptr,
                 ++str;
             }
         }
+
+        return str;
     }
 
     case 'p': /* PCI SBDF. */
@@ -619,6 +621,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
 
         case 'X':
             flags |= LARGE;
+            fallthrough;
         case 'x':
             base = 16;
             break;
@@ -626,6 +629,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
         case 'd':
         case 'i':
             flags |= SIGN;
+            fallthrough;
         case 'u':
             break;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:49:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700705.1094251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHqv-0004Jp-Gk; Thu, 04 Apr 2024 07:49:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700705.1094251; Thu, 04 Apr 2024 07: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 1rsHqv-0004Ji-DT; Thu, 04 Apr 2024 07:49:41 +0000
Received: by outflank-mailman (input) for mailman id 700705;
 Thu, 04 Apr 2024 07:49: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=WQJu=LJ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rsHqu-00044w-34
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:49:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2f0cd43-f257-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 09:49:38 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 40D6E4EE073C;
 Thu,  4 Apr 2024 09:49: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: e2f0cd43-f257-11ee-a1ef-f123f15fe8a2
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.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 0/2] xen: address violations of MISRA C:2012 Rule 16.3
Date: Thu,  4 Apr 2024 09:49:27 +0200
Message-Id: <cover.1712215939.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address violations of MISRA C:2012 Rule 16.3 by adding fallthrough, break and
return at the end of the switch-clauses.

Federico Serafini (2):
  xen/sched: address violations of MISRA C:2012 Rule 16.3
  vsprintf: address violations of MISRA C:2012 Rule 16.3

 xen/common/sched/core.c    | 1 +
 xen/common/sched/credit2.c | 2 +-
 xen/common/vsprintf.c      | 6 +++++-
 3 files changed, 7 insertions(+), 2 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:51:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:51:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700711.1094271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHt5-0006VM-6M; Thu, 04 Apr 2024 07:51:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700711.1094271; Thu, 04 Apr 2024 07: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 1rsHt5-0006VF-3F; Thu, 04 Apr 2024 07:51:55 +0000
Received: by outflank-mailman (input) for mailman id 700711;
 Thu, 04 Apr 2024 07:51:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsHt3-0006V3-AQ
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:51:53 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2415::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 321cd1e0-f258-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 09:51:51 +0200 (CEST)
Received: from BYAPR02CA0021.namprd02.prod.outlook.com (2603:10b6:a02:ee::34)
 by DS0PR12MB9445.namprd12.prod.outlook.com (2603:10b6:8:1a1::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 07:51:49 +0000
Received: from SJ1PEPF00001CDE.namprd05.prod.outlook.com
 (2603:10b6:a02:ee:cafe::5d) by BYAPR02CA0021.outlook.office365.com
 (2603:10b6:a02:ee::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 07:51:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF00001CDE.mail.protection.outlook.com (10.167.242.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 07:51:47 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 02:51:46 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Thu, 4 Apr 2024 02:51:45 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 321cd1e0-f258-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=msn3Pun/oIN2pu5Se00HgQr7b1jpu7qYme348VuOgt9cJ81p4dJPDLIBiUhuuepLQcNTBzF7RaL0VaVomgkKS0TpsEpUe7pWOfqqGf9H16WF6bGYnWItDkVO+8W+W1WsIgTIMOV7e8lxrTCPnKquF+BVCvyQ/1xB1W6o1TtJgnyzg4N1/NAv8NYdCIRrjzqEY1RtlEV5mgiVwLehZU4wh74vpdRdGMcnLMu+ng4dZ5uD+65i8Ze2tci7jff6UhEvWe7/kNCNWyEtrRuIv0ZHxcYL3pX7msmwSQDTfnnoM/80WSwQaJBB8SyGnTB8PbEBGkcvoUh0RXaBoF5Ii0Zkgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UCGUISqWiE4nrahM7M5ZS2pyV0Kj5/WoCYx3/R6H/94=;
 b=XSWTfTWrD1Fkq5v1ZjyAD2/xcvK4iWzkOEHcef86Hq8BHi/fjyYb1ZD4MHmTDZnuPZW1xrCKnozhxxPnnmA3tPX/hQIKVhZuXoVi3p+j+/clGFn1gDd1DQdiJirhHtfqys0xgc6OdOcdAXlj7JMK73iJJkjHKEG8c0+xiK+6JeBCEp+TvruA6iMJp6Je2+SEXWSI7xW0ZSZnS0BohCpeH9jNXEulLXjOO+yqnTHg6sX/V6ohWc0qTk+5SKAyrz2pGpKKOSbUk5/zCGO7w/j1/kZQQJKAM3we0lJpMvZpaUpRc8TdOKtv/nxcfs0oEMlIL+BSXiA2sqc69dK5t8rfKg==
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=UCGUISqWiE4nrahM7M5ZS2pyV0Kj5/WoCYx3/R6H/94=;
 b=QMON3KPCveRC7qNHaUkhkCpxbZDtenygbGsj7ftHirjOL1x+Jk7u74QHwNJPjBs/hVkOKvSnt/uq7P8vKOeSgYtviQ4gWTsZ50wav87DyRYyiIyucDcU7G7+ZXj6Hmo0s7Ah8rA3e3BBENA3wF6QCBhPsk2uDFLw0BNdkqScTJY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/2] drivers: char: simple cleanup
Date: Thu, 4 Apr 2024 09:51:41 +0200
Message-ID: <20240404075143.25304-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: SJ1PEPF00001CDE:EE_|DS0PR12MB9445:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f42d720-79db-4813-3d64-08dc547c14e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G5U6bUbBUgaauT5YNBou9qOjEswUAwaKg0CkuXG7jhXa8K55oyvBsEU9fsefwlKs93VtByj9a7Y60B8qHGkvdlHRw0fRAM1oW4Q46kuch/aqJHR++SUGB+iRHqgCCxYFKUm0FjTkyYjENXWNRC/0i/O2uO4V0QY5ujfI7k/d1iaLHwDVckutGm/jf4fmKcNw/Um1/G4B0JzmwvMT1zHfSYYFUHW7W7JVhQDntxoj9zc1lllB9HRO45hMh5Sm8/JTmOUj8sxqSK/PtD21e1H6abdmw0F9kGHP9S0cPLeFUB17bogxEjhVhFXrAxxepdkouUtnc6W+20MsjdyiSVssK/r3aat1pz89oUCBldPstxmGPNGrgMbMyPyt5niCbrNhCK6cpusCL7lX/IPyi5xP0XnxcRBl8JjnEv1J1NpkUTxt2kfwNyZwQt6oIjo7qQ8G+FTGWExtdVKiCvjxmtSe1XFbDpy0iJHan5JiXPc3IwpLytBQVSpSnqFMys7y0C+fQMcRdnwwL4fWBQf6kI17i00zQ4+IrQrQKHtIfFrBAHyg9g0hML9veVRJTYomCULTmWfcp1+zimYAQFQxlKXs9xSZDYdHFY4ZqHlEwVdbqD4N0WRkcY+UQdw5+Ng1vx21py55+uNSUY7SVTqGnhsry6wxdYGpo3HsRUT1oah3ybZQsV0hbkuv9ZUxPivlUbtIkKEucNtQpUXfG23oM3UhkxkAMiX3HsfcATvx0xkaDhDEMBadraoTWpHDqWlVzKvw
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 07:51:47.9757
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f42d720-79db-4813-3d64-08dc547c14e3
X-MS-Exchange-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:
	SJ1PEPF00001CDE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9445

Simple serial drivers cleanup. No functional change intended.

Michal Orzel (2):
  drivers: char: Drop useless suspend/resume stubs in Arm drivers
  char: lpuart: Drop useless variables from UART structure

 xen/drivers/char/cadence-uart.c    | 13 -------------
 xen/drivers/char/exynos4210-uart.c | 13 -------------
 xen/drivers/char/imx-lpuart.c      | 19 -------------------
 xen/drivers/char/meson-uart.c      | 13 -------------
 xen/drivers/char/mvebu-uart.c      | 13 -------------
 xen/drivers/char/omap-uart.c       | 13 -------------
 xen/drivers/char/pl011.c           | 13 -------------
 xen/drivers/char/scif-uart.c       | 13 -------------
 8 files changed, 110 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:51:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:51:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700712.1094282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHt7-0006kc-Fi; Thu, 04 Apr 2024 07:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700712.1094282; Thu, 04 Apr 2024 07:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHt7-0006kV-As; Thu, 04 Apr 2024 07:51:57 +0000
Received: by outflank-mailman (input) for mailman id 700712;
 Thu, 04 Apr 2024 07:51:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsHt5-0006V3-H7
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:51:55 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:240a::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 33951777-f258-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 09:51:54 +0200 (CEST)
Received: from BYAPR02CA0013.namprd02.prod.outlook.com (2603:10b6:a02:ee::26)
 by CY8PR12MB7290.namprd12.prod.outlook.com (2603:10b6:930:55::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 07:51:50 +0000
Received: from SJ1PEPF00001CDE.namprd05.prod.outlook.com
 (2603:10b6:a02:ee:cafe::c7) by BYAPR02CA0013.outlook.office365.com
 (2603:10b6:a02:ee::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 07:51:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ1PEPF00001CDE.mail.protection.outlook.com (10.167.242.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 07:51:49 +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.35; Thu, 4 Apr
 2024 02:51:48 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Thu, 4 Apr 2024 02:51:47 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33951777-f258-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bd9854KvNq4S3uQ8+2ks2kiI+T1QakE4UjO6MyWdByl8vZPjuCSu+9W5ZrKpnCgQig/wWcYfGd/bRK4sKKqYAH3WAK9IHjzpQQ/jz09fkxrGyVQfRhW1mhhup/KKJB39OPccE+SGZzktQcGzhYflFNwET17Ab179viif3qKutVwqiy/o+oQ81v3yqbvz8ALS3T3nwWi7Kpvmh4GUC5V9Zj1Q1eob0amx8zMdY8H9jL3VgQRBoFyWttgQglvD7d/YqIngqMonGv5A5w4cSaP3O3HACke5fM3LHq9kdsaWLTGEnMcxt6w5kgJFDuNiCQi1xvpEfrEoD4RUnrwtHCkcnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5YgJMInRV9+naJSvwvbifqXD4WV1M7F+04rZI69ZOn8=;
 b=by3dWBn+MgArNyZzfMIDrc3ABuF2ZkmTwtQG0d5UTIwiVwl58NA9jh+Jn9sxA0e25bQk7HwA4rECyiJUJHBbcW+yUTsuLza7YclRRDV/GS00reACBGsPTREVLLaK6sGhD/5cVre7eYTJtjeM7dklpCHCbkCbAwyBYElT4OUerc8NkH3HGsMZIhgcXO3/RtCXVda+Urh+H6S9Al9GDh/uEjMsMYaFNX8q8MVb2fkFgLkLpJLLia8HekF+mFSki+0DSPS0Dj7cksqXlqvbKPruzqrEwuGRLDCJ1EwJrryX6i9R3f8xIG8pPCwGDw1COjT8/WM0hjFp9Z2Z9uPWVlZEew==
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=5YgJMInRV9+naJSvwvbifqXD4WV1M7F+04rZI69ZOn8=;
 b=0huK5KSRU5+iR4Eq05envINpSTw5G0sAmQCkXe4akmi356KW/RsJr5aN/USNu36L2/MVsGOVLGcr69ofTWmdrw19Q0fRJLjcecEFifaWu8QGT+1msthJWx2Z8TbN0okGF60SI5lhoCqPwYUMlXW/ZYvAumunO4ZvrM7sftL9zKQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/2] drivers: char: Drop useless suspend/resume stubs in Arm drivers
Date: Thu, 4 Apr 2024 09:51:42 +0200
Message-ID: <20240404075143.25304-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240404075143.25304-1-michal.orzel@amd.com>
References: <20240404075143.25304-1-michal.orzel@amd.com>
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: SJ1PEPF00001CDE:EE_|CY8PR12MB7290:EE_
X-MS-Office365-Filtering-Correlation-Id: f601df77-d6ba-4b62-0b93-08dc547c15d4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l2LXKuPZzeuJ+SSEo88tob8b8PJuuR25wmvOFHwZR+V4l3y6OKNHmNGikDT4dcTEZpQa/3lwewaILYIXQPeZxCbQwdWjANRc+9d8czpRlsd7uT5tN3mzw9Ro+9V7seHYV53DNdGdwqgTvGv3CNEHUWlJF+6u14c8g1TBdb6JsN7LRYBNhVwTFKZCfc8TXLqN/piPTaqZuuKLw5e5ISpHlT9tEQtfh2BmIJGlWWepw/lexE+GGLxBT481QQr0rN+BvzBKNd5Akt3JCk7X6wUB92XK2qZUjOwI9MWqpkK6MmgcSOEJ7+4zVRVrsFvA4rUy5J7D7m8jMgPESO8KKwiQfaMrfvuo6/ELae+cLvFmOAUtwhfsmrjLT51hfox57Gvbgfl8KKqv0vwIMZoXdExty+Zlcm4Z9lChFOri8nzqMxQ32rnchiZUlGvFjmYnuDa8RsDhjNgAc7XtV/IML5XI43dHInd52D+LqQM8L2Vgr/848L34qUofceg72gx2dECIJChCzdC7k4iu10s0ZZw1Z0ZWFYMdKAjlnJVqpHaLrxC0OemmQL92Qg0rwgduNPLutbcsQCBM2V3hiD3AZ93LAX/lbXcOr+Xkg8GSu3zaYP1bz77R5icvpxKKpw2BEe9l5TceNU8REgM6VnHCLqQE7cHhfPdQ0fbfYZL3bZUrv1ixIgJQMC3gtPdQLERan8sUL178oSVtd1dugy33di4usvTFMidoTyONazCdb1ZRjeEzPpXt//NL4x5yZun6SJnq
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 07:51:49.5539
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f601df77-d6ba-4b62-0b93-08dc547c15d4
X-MS-Exchange-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:
	SJ1PEPF00001CDE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7290

On Arm we don't use console_{suspend,resume} and the corresponding
stubs in serial drivers are being redundantly copied whenever a new
driver is added. Drop them as well as useless .endboot = NULL assignment.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/drivers/char/cadence-uart.c    | 13 -------------
 xen/drivers/char/exynos4210-uart.c | 13 -------------
 xen/drivers/char/imx-lpuart.c      | 13 -------------
 xen/drivers/char/meson-uart.c      | 13 -------------
 xen/drivers/char/mvebu-uart.c      | 13 -------------
 xen/drivers/char/omap-uart.c       | 13 -------------
 xen/drivers/char/pl011.c           | 13 -------------
 xen/drivers/char/scif-uart.c       | 13 -------------
 8 files changed, 104 deletions(-)

diff --git a/xen/drivers/char/cadence-uart.c b/xen/drivers/char/cadence-uart.c
index 3618fa88d868..b2f379833f02 100644
--- a/xen/drivers/char/cadence-uart.c
+++ b/xen/drivers/char/cadence-uart.c
@@ -90,16 +90,6 @@ static void __init cuart_init_postirq(struct serial_port *port)
     cuart_write(uart, R_UART_IER, UART_SR_INTR_RTRIG);
 }
 
-static void cuart_suspend(struct serial_port *port)
-{
-    BUG();
-}
-
-static void cuart_resume(struct serial_port *port)
-{
-    BUG();
-}
-
 static int cuart_tx_ready(struct serial_port *port)
 {
     struct cuart *uart = port->uart;
@@ -143,9 +133,6 @@ static const struct vuart_info *cuart_vuart(struct serial_port *port)
 static struct uart_driver __read_mostly cuart_driver = {
     .init_preirq  = cuart_init_preirq,
     .init_postirq = cuart_init_postirq,
-    .endboot      = NULL,
-    .suspend      = cuart_suspend,
-    .resume       = cuart_resume,
     .tx_ready     = cuart_tx_ready,
     .putc         = cuart_putc,
     .getc         = cuart_getc,
diff --git a/xen/drivers/char/exynos4210-uart.c b/xen/drivers/char/exynos4210-uart.c
index b29fd75c5a1c..58901df554cb 100644
--- a/xen/drivers/char/exynos4210-uart.c
+++ b/xen/drivers/char/exynos4210-uart.c
@@ -212,16 +212,6 @@ static void __init exynos4210_uart_init_postirq(struct serial_port *port)
     exynos4210_write(uart, UMCON, exynos4210_read(uart, UMCON) | UMCON_INT_EN);
 }
 
-static void exynos4210_uart_suspend(struct serial_port *port)
-{
-    BUG(); // XXX
-}
-
-static void exynos4210_uart_resume(struct serial_port *port)
-{
-    BUG(); // XXX
-}
-
 static int exynos4210_uart_tx_ready(struct serial_port *port)
 {
     struct exynos4210_uart *uart = port->uart;
@@ -286,9 +276,6 @@ static const struct vuart_info *exynos4210_vuart_info(struct serial_port *port)
 static struct uart_driver __read_mostly exynos4210_uart_driver = {
     .init_preirq  = exynos4210_uart_init_preirq,
     .init_postirq = exynos4210_uart_init_postirq,
-    .endboot      = NULL,
-    .suspend      = exynos4210_uart_suspend,
-    .resume       = exynos4210_uart_resume,
     .tx_ready     = exynos4210_uart_tx_ready,
     .putc         = exynos4210_uart_putc,
     .getc         = exynos4210_uart_getc,
diff --git a/xen/drivers/char/imx-lpuart.c b/xen/drivers/char/imx-lpuart.c
index 522680a25cec..faf4693b66e1 100644
--- a/xen/drivers/char/imx-lpuart.c
+++ b/xen/drivers/char/imx-lpuart.c
@@ -101,16 +101,6 @@ static void __init imx_lpuart_init_postirq(struct serial_port *port)
     imx_lpuart_write(uart, UARTCTRL, temp);
 }
 
-static void imx_lpuart_suspend(struct serial_port *port)
-{
-    BUG();
-}
-
-static void imx_lpuart_resume(struct serial_port *port)
-{
-    BUG();
-}
-
 static int imx_lpuart_tx_ready(struct serial_port *port)
 {
     struct imx_lpuart *uart = port->uart;
@@ -185,9 +175,6 @@ static void imx_lpuart_stop_tx(struct serial_port *port)
 static struct uart_driver __read_mostly imx_lpuart_driver = {
     .init_preirq = imx_lpuart_init_preirq,
     .init_postirq = imx_lpuart_init_postirq,
-    .endboot = NULL,
-    .suspend = imx_lpuart_suspend,
-    .resume = imx_lpuart_resume,
     .tx_ready = imx_lpuart_tx_ready,
     .putc = imx_lpuart_putc,
     .getc = imx_lpuart_getc,
diff --git a/xen/drivers/char/meson-uart.c b/xen/drivers/char/meson-uart.c
index 694381986d07..407a276085b7 100644
--- a/xen/drivers/char/meson-uart.c
+++ b/xen/drivers/char/meson-uart.c
@@ -116,16 +116,6 @@ static void __init meson_uart_init_postirq(struct serial_port *port)
             (AML_UART_RX_INT_EN | AML_UART_TX_INT_EN));
 }
 
-static void meson_uart_suspend(struct serial_port *port)
-{
-    BUG();
-}
-
-static void meson_uart_resume(struct serial_port *port)
-{
-    BUG();
-}
-
 static void meson_uart_putc(struct serial_port *port, char c)
 {
     struct meson_uart *uart = port->uart;
@@ -191,9 +181,6 @@ static int meson_uart_tx_ready(struct serial_port *port)
 static struct uart_driver __read_mostly meson_uart_driver = {
     .init_preirq  = meson_uart_init_preirq,
     .init_postirq = meson_uart_init_postirq,
-    .endboot      = NULL,
-    .suspend      = meson_uart_suspend,
-    .resume       = meson_uart_resume,
     .putc         = meson_uart_putc,
     .getc         = meson_uart_getc,
     .tx_ready     = meson_uart_tx_ready,
diff --git a/xen/drivers/char/mvebu-uart.c b/xen/drivers/char/mvebu-uart.c
index 1913fe8b5f91..db2418576ca5 100644
--- a/xen/drivers/char/mvebu-uart.c
+++ b/xen/drivers/char/mvebu-uart.c
@@ -125,16 +125,6 @@ static void __init mvebu3700_uart_init_postirq(struct serial_port *port)
     mvebu3700_write(uart, UART_CTRL_REG, reg);
 }
 
-static void mvebu3700_uart_suspend(struct serial_port *port)
-{
-    BUG();
-}
-
-static void mvebu3700_uart_resume(struct serial_port *port)
-{
-    BUG();
-}
-
 static void mvebu3700_uart_putc(struct serial_port *port, char c)
 {
     struct mvebu3700_uart *uart = port->uart;
@@ -213,9 +203,6 @@ static int mvebu3700_uart_tx_ready(struct serial_port *port)
 static struct uart_driver __read_mostly mvebu3700_uart_driver = {
     .init_preirq  = mvebu3700_uart_init_preirq,
     .init_postirq = mvebu3700_uart_init_postirq,
-    .endboot      = NULL,
-    .suspend      = mvebu3700_uart_suspend,
-    .resume       = mvebu3700_uart_resume,
     .putc         = mvebu3700_uart_putc,
     .getc         = mvebu3700_uart_getc,
     .tx_ready     = mvebu3700_uart_tx_ready,
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
index e4f5be22894b..f4368c158c06 100644
--- a/xen/drivers/char/omap-uart.c
+++ b/xen/drivers/char/omap-uart.c
@@ -242,16 +242,6 @@ static void __init omap_uart_init_postirq(struct serial_port *port)
     omap_write(uart, UART_IER, UART_IER_ERDAI|UART_IER_ETHREI|UART_IER_ELSI);
 }
 
-static void omap_uart_suspend(struct serial_port *port)
-{
-    BUG();
-}
-
-static void omap_uart_resume(struct serial_port *port)
-{
-    BUG();
-}
-
 static int omap_uart_tx_ready(struct serial_port *port)
 {
     struct omap_uart *uart = port->uart;
@@ -307,9 +297,6 @@ static const struct vuart_info *omap_vuart_info(struct serial_port *port)
 static struct uart_driver __read_mostly omap_uart_driver = {
     .init_preirq = omap_uart_init_preirq,
     .init_postirq = omap_uart_init_postirq,
-    .endboot = NULL,
-    .suspend = omap_uart_suspend,
-    .resume = omap_uart_resume,
     .tx_ready = omap_uart_tx_ready,
     .putc = omap_uart_putc,
     .getc = omap_uart_getc,
diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 7260a988ca65..5f9913367d51 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -166,16 +166,6 @@ static void __init pl011_init_postirq(struct serial_port *port)
     pl011_write(uart, IMSC, RTI|OEI|BEI|PEI|FEI|TXI|RXI);
 }
 
-static void pl011_suspend(struct serial_port *port)
-{
-    BUG(); // XXX
-}
-
-static void pl011_resume(struct serial_port *port)
-{
-    BUG(); // XXX
-}
-
 static int pl011_tx_ready(struct serial_port *port)
 {
     struct pl011 *uart = port->uart;
@@ -232,9 +222,6 @@ static void pl011_tx_start(struct serial_port *port)
 static struct uart_driver __read_mostly pl011_driver = {
     .init_preirq  = pl011_init_preirq,
     .init_postirq = pl011_init_postirq,
-    .endboot      = NULL,
-    .suspend      = pl011_suspend,
-    .resume       = pl011_resume,
     .tx_ready     = pl011_tx_ready,
     .putc         = pl011_putc,
     .getc         = pl011_getc,
diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
index b7f86f882c85..757793ca4588 100644
--- a/xen/drivers/char/scif-uart.c
+++ b/xen/drivers/char/scif-uart.c
@@ -195,16 +195,6 @@ static void __init scif_uart_init_postirq(struct serial_port *port)
                 params->irq_flags);
 }
 
-static void scif_uart_suspend(struct serial_port *port)
-{
-    BUG();
-}
-
-static void scif_uart_resume(struct serial_port *port)
-{
-    BUG();
-}
-
 static int scif_uart_tx_ready(struct serial_port *port)
 {
     struct scif_uart *uart = port->uart;
@@ -284,9 +274,6 @@ static void scif_uart_stop_tx(struct serial_port *port)
 static struct uart_driver __read_mostly scif_uart_driver = {
     .init_preirq  = scif_uart_init_preirq,
     .init_postirq = scif_uart_init_postirq,
-    .endboot      = NULL,
-    .suspend      = scif_uart_suspend,
-    .resume       = scif_uart_resume,
     .tx_ready     = scif_uart_tx_ready,
     .putc         = scif_uart_putc,
     .getc         = scif_uart_getc,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:51:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:51:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700713.1094285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHt7-0006nR-NU; Thu, 04 Apr 2024 07:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700713.1094285; Thu, 04 Apr 2024 07:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHt7-0006mp-JK; Thu, 04 Apr 2024 07:51:57 +0000
Received: by outflank-mailman (input) for mailman id 700713;
 Thu, 04 Apr 2024 07:51:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsHt5-0006V3-Rg
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:51:55 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 340221b9-f258-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 09:51:54 +0200 (CEST)
Received: from MW4PR04CA0189.namprd04.prod.outlook.com (2603:10b6:303:86::14)
 by DS7PR12MB8251.namprd12.prod.outlook.com (2603:10b6:8:e3::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.46; Thu, 4 Apr 2024 07:51:52 +0000
Received: from MWH0EPF000A6735.namprd04.prod.outlook.com
 (2603:10b6:303:86:cafe::88) by MW4PR04CA0189.outlook.office365.com
 (2603:10b6:303:86::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Thu, 4 Apr 2024 07:51:52 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MWH0EPF000A6735.mail.protection.outlook.com (10.167.249.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 07:51:51 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 02:51:50 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 00:51:49 -0700
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Thu, 4 Apr 2024 02:51: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: 340221b9-f258-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Sy0zGEhtFM/AH7FWPAAloKSrf+Tx8LSgfK+3g8LNLo9cLuvFSmjji60JLqjKOVbnadE1PZX4qDTHqsMn1IGs0g1tu2nmcpfhMnP24Xlj6xQBBosBSsfXojMSeC0s6Hx7u2iah3nBAjuvMfyMUeCFO4D1L5sDm8BAz8TYLSbg8FEFwPs5f8kHPtLQBQgPKIE27MOax1/ZQ1TGdLotlJZhgX6zuqgKCXXt3XyWS1hu1R6coiCH141UqXY0vtWt9D7JrLyKFu8IJsSw0YtNTnqYepZuHIxYjvS8iN2H7H/ZooRS2LPdi/mO64TPGs5jlspQywPsSGajjNoNEgUp94mKBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lkHCkM+Kw7MqR749th2KyIyoSZrmeqh5RM1QSsKlVXU=;
 b=YWo94Mtd8vBw3bTNkDwWHuLsUc3DaxtpzSCY2q5V1tRTd8qWCINeqFJqj+z8UfdktJ8l8kwx7k2bDnYiGF4hr0qNS23+d9aAwsqPgzDObfmsqceEqcQUXKk9NCqO0RFWG2GbZfdyVSXlWDJHVxjR9apxRDVKH3Dg9CDm9Wd2uRmoTgmn6qrx/bJwvJxN3G6AMPBZPQZjwYxSXyO87ii2LbjGA86o3j+MiWjdAy6cYopfpFcOOpLdZPs/z03lk3JmBj+oBbrR3TEdjlRh2P3hlfzbJ9Tq2mwH7LwDNNEPkl8PP1ezgk+EL3cQujAZ2IgJwf1SpT9ZgJFjKaOJLbW1fQ==
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=lkHCkM+Kw7MqR749th2KyIyoSZrmeqh5RM1QSsKlVXU=;
 b=QQdHkUqMYse7PneSMKqLyLAIJ8ovF4pYLF0I2tFgi+CKb1OWOLHnyy1j0rIoglmv18G1NXTyl/0FwpXg7oI9CmVYYUAv+gB0ZVDQO13vaEI1nEBpBM53B79x6GKZ5BKoN6xIQPAXHWuhnn3QT+Df1VP9LfE/YMwzD+99KGiMQFU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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 2/2] char: lpuart: Drop useless variables from UART structure
Date: Thu, 4 Apr 2024 09:51:43 +0200
Message-ID: <20240404075143.25304-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240404075143.25304-1-michal.orzel@amd.com>
References: <20240404075143.25304-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: MWH0EPF000A6735:EE_|DS7PR12MB8251:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b337963-06f1-47b2-8a10-08dc547c170d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lS5Fq7pW6DC4szhNW+r1GUIEDDUxbA5H8udv34ivPb+zCvR3ByNt1VWTtsUOONZFLvnzMxRVV3IcBky23QTSme7iu8FHH+8mTeUyoNQQ1kq/vIJtuRGWcGvfjy3DzInTN4iaGFWT6Y6BApeXvypr4kTgZb7wLkEI9js2vtXsou7ImOTv/wGyK4VkkfBJCL2kx4aJMw3T9DRD6rM4Mnp4KOgn747KakHeTg7gY2pfAOE3X0x/+dvxeIKh+j9NTqfbBS5Xgh9rx9kctgvSCAeSgPnLNUIuz3U8qVb2yjdzQF5hJ0WUE59n7o4f4tG1ZOTxo/TNH/hNfbvoNFtDFS7UafhPpgRL/7X0STnE8AQ7wwdLYMv4rv8e+mKm19fPkBIYqn9enVKL7hTBKOBpA8Cn0dRQLd7gMWXK/Vh9m7UnMvfeZV2df0uNfAV3U2L3fQGxdbQL6VLR3Jvla1BzclKg47cJIBSKsJakSpzFAvR/48haib/XKa2ZDfiIIWhEI/OTtX9gVgPc8x68xAxPg+zj29JPEalZLQI6ZE8ynPiv3PE2kxVAVLDCSHxYlDB8d5CaEauEX2BV75PY8qN64pDoKCpQUiNoSXmHY/SUy4fZhsEqOJtAyl+0wumSHa6bhkrnvZtcnLzbgV0tVCZcXfHMeUfmpamjVcsJSBCGpqRuVtftkjdf4c7VsRhYJn+6PNPPqvwiK6kIIh5Ey9IG5RgkNze3B5ZuNKGaKqIAD0OVhjcx3PYr156fMmiTMCJav2rz
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 07:51:51.5615
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b337963-06f1-47b2-8a10-08dc547c170d
X-MS-Exchange-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:
	MWH0EPF000A6735.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8251

These variables are useless. They are being assigned a value which is
never used since UART is expected to be pre-configured.

No functional change.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/drivers/char/imx-lpuart.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/xen/drivers/char/imx-lpuart.c b/xen/drivers/char/imx-lpuart.c
index faf4693b66e1..7770d158bf59 100644
--- a/xen/drivers/char/imx-lpuart.c
+++ b/xen/drivers/char/imx-lpuart.c
@@ -30,7 +30,6 @@
 #define imx_lpuart_write(uart, off, val) writel((val), (uart)->regs + (off))
 
 static struct imx_lpuart {
-    uint32_t baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
     uint32_t irq;
     char __iomem *regs;
     struct irqaction irqaction;
@@ -197,11 +196,6 @@ static int __init imx_lpuart_init(struct dt_device_node *dev,
 
     uart = &imx8_com;
 
-    uart->baud = 115200;
-    uart->data_bits = 8;
-    uart->parity = 0;
-    uart->stop_bits = 1;
-
     res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:57:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700723.1094301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHyG-0008F0-Fz; Thu, 04 Apr 2024 07:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700723.1094301; Thu, 04 Apr 2024 07:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHyG-0008Et-Bz; Thu, 04 Apr 2024 07:57:16 +0000
Received: by outflank-mailman (input) for mailman id 700723;
 Thu, 04 Apr 2024 07:57: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsHyE-0008El-QB
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:57:14 +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 f1bf0a47-f258-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 09:57:12 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-56e030624d1so1024645a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 00:57: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
 cn20-20020a0564020cb400b0056dfc8d12fasm2033320edb.21.2024.04.04.00.57.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 00: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: f1bf0a47-f258-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712217432; x=1712822232; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xTdDxoBhKgoT7PKe7ttJcZ25WYW5UlAapZHtOHQ6iC4=;
        b=SaE19tewJ4kqTPOJhQgtr5hFA2gaOmg+yhbF4QgOEGd8uH6rpkd0TJjhYqlOhTwoTo
         0kV2ul3UvJ6S+qCAhuN7sP8KsfX/JkVvPsQWCljT83ECI+9JP4l+SgtWW1ZCvwP4/Kez
         59moQVCpN33s368K3hGkKnYqAWHfZj0i4btsqRlCbq3wCRkisB/KbeUh3sjFSPaxyXfw
         EZwDMK8AK8RzwC1Dc9sZM5OTIOdhjEeqP8Ib+RGRsSbCw3X37dCn0X+bSSfyjp8lilfU
         ffcj3w9eKArgDhLwdC0cBBP4yi1CrWPXrZNUgNDviplI5ADQ3uL9h504zSAbhUawyysL
         zr4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712217432; x=1712822232;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xTdDxoBhKgoT7PKe7ttJcZ25WYW5UlAapZHtOHQ6iC4=;
        b=cKZK7PDKxE64EPWUIDq7FZUhoO2LZQHsvmsQN/ht9yYVF02TG2xoXYWEeVmm9NhdOr
         TgsIdTfmiP/UsA4A31KqOK28A5KgI/pSv+tPMZ+iHJ9cGhfDwl+1tXd/iKS5TOLrDCY0
         IqFx9DwWM4KsPf3JnPm+IjyUUWsM1r9Qayl55Ve0AxCVL2dfnYKO4Rsqu76ku4PiRwdm
         1SDRp2zu6uUrJjQZElxOEHL6Qn4KpVpLN7tFWFYeahFacSCHmQtK8lUUkGK2XXh/BGxz
         HIC5OTxAiByATRZ43jGO+8OjR2tKMwZjsI1jzPIKPfsl4IADX1ansp7OesJ01EKpUf1B
         Jg4Q==
X-Forwarded-Encrypted: i=1; AJvYcCXB3A4YcbcYvhRNCAxxr/pvqMt1jUVPbYy6iHSZUr+0Ye3Ckv4zLEvh9z06zj1sDVzzbDRjiFeSJq5+1/aG0EkiM8/LjMTRym11D4jbkTM=
X-Gm-Message-State: AOJu0Yyy3gxqT12IX5/CeBTYKalEs6lhJRiC8mwX0cg2p1HTbj1z1C9+
	UYRAs/4z0WJq6NjxMP0KktjufEuMhUpiDX9zlN+4DQXuJCR9tLj4WmfhOjXbng==
X-Google-Smtp-Source: AGHT+IHIl6DLIgAUU4FWk4aHa/2Uo7hDrz4fq0iRldv7tfasgATbS8y0pqL64bbkzY9xMiJt2qu4xQ==
X-Received: by 2002:a50:a69e:0:b0:56e:603:9fe3 with SMTP id e30-20020a50a69e000000b0056e06039fe3mr1413054edc.21.1712217431749;
        Thu, 04 Apr 2024 00:57:11 -0700 (PDT)
Message-ID: <95a5629f-0f16-45c7-b81f-ba5ae317b23b@suse.com>
Date: Thu, 4 Apr 2024 09:57:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <2df1e3ef-32c5-45c3-af1b-e9473a4e9120@apertussolutions.com>
 <d86e7a86-cd2a-4b0c-b269-6b4e9b2edff3@suse.com>
 <61945064-38ec-4ea5-9084-a82d3c252b2d@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <61945064-38ec-4ea5-9084-a82d3c252b2d@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 15:27, Daniel P. Smith wrote:
> On 4/3/24 08:05, Jan Beulich wrote:
>> On 03.04.2024 13:10, Daniel P. Smith wrote:
>>> On 4/3/24 02:16, Jan Beulich wrote:
>>>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>>>> The commit makes a claim without any kind of justification.
>>>>
>>>> Well, what does "have no business" leave open?
>>>
>>> Why does it not have any business? Why should a domain that creates an
>>> event channel not be able to inquire about its status?
>>
>> Event channels we talk about here are created via
>> alloc_unbound_xen_event_channel(). IOW it's not any domain creating them.
>> Once connected, the respective domain is of course fine to query its end
>> of the channel.
> 
> I would disagree, for instance alloc_unbound_xen_event_channel() is used 
> in response to XEN_DOMCTL_vuart_op:XEN_DOMCTL_VUART_OP_INIT and 
> XEN_DOMCTL_VM_EVENT_OP_PAGING:XEN_VM_EVENT_ENABLE, which are hypercalls 
> by a domain and not something initiated by the hypervisor.

Those ports, aiui, aren't supposed to be used by the caller for other
than connecting an inter-domain port to the other side.

>>>>> The claim is false, and the commit broke lsevtchn in dom0.
>>>>
>>>> Or alternatively lsevtchn was doing something that was never meant to work
>>>> (from Xen's perspective).
>>>
>>> Again, you have not said why this is a problem. What concern does it
>>> create? Does it open the door for access elevation, resource
>>> deprivation, or some other malicious behaviors?
>>
>> It exposes information that perhaps better wouldn't be exposed. Imo if
>> Xen owned resource state is of interest, it would want exposing via
>> hypfs.
> 
> You didn't answer why, just again expressed your opinion that it is not 
> better exposed.

I'm sorry, but "better wouldn't be exposed" includes the "why" part
already imo: Information should simply not be exposed unduly. For
every bit of exposed information, there ought to be a reason (and
then the right vehicle used for exposure).

>>>>>    It is also quite
>>>>> obvious from XSM_TARGET that it has broken device model stubdoms too.
>>>>
>>>> Why would that be "obvious"? What business would a stubdom have to look at
>>>> Xen's side of an evtchn?
>>>
>>> Again, you have not expressed why it shouldn't be able to do so.
>>
>> See above - not its resource, nor its guest's.
> 
> It is a resource provided to a domain that the domain can send/raise an 
> event to and a backing domain that can bind to it, ie. the two 
> parameters that must be passed to the allocation call.

I don't think so: As per above (my understanding may be wrong), it's only
the other side of the connection which is available for use by a domain.
Over night I was pretty close to admitting a mistake there, but upon re-
checking of the sources I could only find this view of mine supported.
Which doesn't mean I'm viewing things correctly; please point out my
mistake if there is any.

>>>>> Whether to return information about a xen-owned evtchn is a matter of policy,
>>>>> and it's not acceptable to short circuit the XSM on the matter.
>>>>
>>>> I can certainly accept this as one possible view point. As in so many cases
>>>> I'm afraid I dislike you putting it as if it was the only possible one.
>>>
>>> In fact, this commit is in violation of the XSM. It hard-codes a
>>> resource access check outside XSM, thus breaking the fine-grained access
>>> control of FLASK.
>>
>> Perhaps; see below and see the question raised in the subsequent reply
>> to the patch.
>>
>>>> In summary: The supposed justification you claim is missing in the original
>>>> change is imo also missing here then: What business would any entity in the
>>>> system have to look at Xen's side of an event channel? Back at the time, 3
>>>> people agreed that it's "none".
>>>
>>> As stated, you provided no reason or justification for "has no business"
>>> and by face value is an opinion that a few people agreed with. As for
>>> why, there could be a myriad number of reasons a domain may want to
>>> check the status of an interface it has with the hypervisor. From just
>>> logging its state for debug to throttling attempts at sending an event.
>>> So why, from a security/access control decision, does this access have
>>> to absolutely blocked, even from FLASK?
>>
>> I didn't say it absolutely needs to be blocked. I'm okay to become
>> convinced otherwise. But in the description complaining about lack of
>> reasons in the 3-4 year old change, just to then again not provide any
>> reasons looks "interesting" to me. (And no, just to take that example,
>> lsevtchn not working anymore on such channels is not on its own a
>> reason. As indicated, it may well be that conceptually it was never
>> supposed to be able to have access to this information. The latest not
>> anymore when hypfs was introduced.)
> 
> This broke an existing behavior, whether that behavior is correct can 
> always be questioned, does not justify leaving an incorrect 
> implementation. And it is incorrect because as again you have not 
> articulated why the lsevtchn behavior is wrong and thus whether this is 
> the valid corrective action.

Again - if lsevtchn is supposed to be able to access Xen-internal
resources, _that_ is what needs justifying. Otherwise my take is that
it is supposed to only access domain resources.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:58:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700725.1094311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHz2-0000GM-NJ; Thu, 04 Apr 2024 07:58:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700725.1094311; Thu, 04 Apr 2024 07:58:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsHz2-0000GF-KI; Thu, 04 Apr 2024 07:58:04 +0000
Received: by outflank-mailman (input) for mailman id 700725;
 Thu, 04 Apr 2024 07:58:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsHz0-0000FF-RN
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:58:02 +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 0f46bdfe-f259-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 09:58:01 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-56e1f3462caso234869a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 00:58: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
 cn20-20020a0564020cb400b0056dfc8d12fasm2033320edb.21.2024.04.04.00.58.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 00:58:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f46bdfe-f259-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712217481; x=1712822281; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=vV5guyyhcUI9/PM2esUQVcAnV3zlTfsBAd7rcrK12bs=;
        b=JqEcW6kdRWC3eclKhRaY/0DlJrflqac7sssB+y2U+OFFHY8IRJuql3dzG9t6HMXGZE
         4qyjFULFlVm4RfwuBamec+YwvlonF3XkYz6or1vZdfIeG5bBwBwYNGlZ8qwG5xsPB0eF
         olkzOnSMdM+5wcvZpd6sXba6Pgcu4L+1oGt4uFuxPRX/yy+xFABucliBYyPFEbPviqmD
         c54g9Y2BX6218FEsPdlJT/xOKNz2feXcrrmh5VTGX58V3mGYMbgXIiccs/npU/CYX02k
         N49EJaPfm/Z1qXCbSL/fv8EZxwua9W1GJ7YoPxivXDArV6hl0eD4JATXR10vvkOcJuo4
         U2ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712217481; x=1712822281;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vV5guyyhcUI9/PM2esUQVcAnV3zlTfsBAd7rcrK12bs=;
        b=i5e4hI/uIH2py3w6qqyn2pnnzHqsHLoVZt4kYfrWp0U3uGrSaX3O9X911DfZP8BAbU
         0Q+hL+8H3Xm8k19yjwoTvqzfPUXPCe7bLOGXmMDuihNZ4CiIiECbSibe1bjC2+EvZGqB
         cjWcEelnhzv18r+M/ZEHXfzR1W5bJWmqkeHNel92qkd8QFxDkROiTuW1dT77A5uHZ+ac
         NrGcqw9HR5Oou1oTuaHgR3thqXPkUhWi1wACz7P8eMOgzaWGqOLIgiATCL62k689g1Ag
         dffo4lPdBLIa4XfqZMEIZyPm98ie8V0FDA9D4ZEf60S28urs1rmwxO8+J6tltvllZZFC
         olpA==
X-Forwarded-Encrypted: i=1; AJvYcCVO3I+Y6LG+iRKRj369aM2Hc8nJQS3vk2yp+8zNOomvN+A31x0G9urcW5JvipjHhrTWdlqBG+8l+C4/MkCtSLD66zJd3nWr92TprEV0rfI=
X-Gm-Message-State: AOJu0Yy8aN2aHNiyormNpV5fZ0FikVReHDzJ6fRRmYK5z7WgELeyE3D/
	TY5+Uy1jctiycWxWP+8qrGsWoH4JGLf8/h3KFDDVxasERs/tvoNvBWnLm3j1UFdKxoa2zsCm5Cc
	=
X-Google-Smtp-Source: AGHT+IE2k/phCkqn7sBjqaVbzWgHpE7whWObMMP5z3SaZ6CjHfjb+TRDgrbevOBMF/0S7S3RS9TkOQ==
X-Received: by 2002:a50:d4d5:0:b0:56d:f79a:ec1f with SMTP id e21-20020a50d4d5000000b0056df79aec1fmr1170880edj.18.1712217481719;
        Thu, 04 Apr 2024 00:58:01 -0700 (PDT)
Message-ID: <728f72f8-c105-4cad-bad8-1dfb7dbd0e3a@suse.com>
Date: Thu, 4 Apr 2024 09:58:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 1/2] xen/sched: address violations of MISRA C:2012
 Rule 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org, Dario Faggioli <dfaggioli@suse.com>
References: <cover.1712215939.git.federico.serafini@bugseng.com>
 <08c449728221c9c2b9e87f22eb9d0cffbf7ecf68.1712215939.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <08c449728221c9c2b9e87f22eb9d0cffbf7ecf68.1712215939.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 09:49, Federico Serafini wrote:
> Add break statement to address a violation of MISRA C:2012 Rule 16.3
> ("An unconditional `break' statement shall terminate every
> switch-clause").
> Replace deprecated comment /* FALLTHRU */ with pseudo-keyword
> fallthrough to meet the requirements to deviate the rule.
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Apr 04 07:59:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 07:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700727.1094320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsI08-00019O-0x; Thu, 04 Apr 2024 07:59:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700727.1094320; Thu, 04 Apr 2024 07:59: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 1rsI07-00019H-Ue; Thu, 04 Apr 2024 07:59:11 +0000
Received: by outflank-mailman (input) for mailman id 700727;
 Thu, 04 Apr 2024 07:59: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsI05-0000oL-Ut
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 07:59:09 +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 36d31c06-f259-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 09:59:08 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-56e1e6e1d01so370121a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 00:59: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
 cn20-20020a0564020cb400b0056dfc8d12fasm2033320edb.21.2024.04.04.00.59.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 00:59: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: 36d31c06-f259-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712217548; x=1712822348; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9m/JQfIAHHD/b1Kzygwaui4us+AKOSdJUa3Lx8Z8FDI=;
        b=UN+e/KtsvnJlkAb4R8JcYL5Ik4MTxxzdyT5EuDZerztoX9skcpW/YsyI5/8k3jB5Cl
         AL4lEc9oOzjWxy9QcnkvnFT9iYRkWIjvPm0lL4UU85LrvKssaOCGDBR+azCZPX3JWxcq
         kv3PBmxD4M0PgYowUDSin3AA1Ko1v/r31SWjwHl8kVSdCO3C1qriupfQc0cNL1dIeifb
         Yq9m2y6+8Hp0mELSBndAGvIWoII+oGGKWbgCv8Tw1JHUC/o0gjxdP1xYelhdyG1ThdIO
         53hXJxsZXh/6lFaNrABFCv08c6RnjxsUqeqPQdTFFZIF1rTXwzCE9oqG2ZFj9a30y6f5
         bi5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712217548; x=1712822348;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9m/JQfIAHHD/b1Kzygwaui4us+AKOSdJUa3Lx8Z8FDI=;
        b=t1PX0PgvjA31xUwn/d2qeIz7cpt25zJuqsV4iwA0yJjjlodE9zSsxK1kvl3FGxjU/U
         mB7mXe/ic0cWhhTcgWqrW6+kKiwr2Ad8zYsfgBYbCV085HABmxkX0BCdvHnfsfwiprpJ
         g8ZdRj8E+te2Kv1wSb9Z6Bvtof2/Pwsb0nrh8g1DYCGBqA9nea86GfwHLof8l8GyP61h
         iCB3fOui4kGCFST4rejodnQGX6DNKs8Bt4m404KlneKhHUhlKyqIfLjE5ziHxlo2zVja
         2yCAgQ/0siIZbE6gP+LFJQSeI8xyrAyGABtcYBkMxC93WzIpEJZy7EEZYAx8uB19lmg2
         5RkA==
X-Forwarded-Encrypted: i=1; AJvYcCVCn6ykL3USM3CDJbUz4srFOrC1/bgiGtePafXIZaPjU0q0F1Xtr3lOTwSSZDCbTu2QqPTY7jhKu/zm1VEB6HFiMvPPlJD1KRR0hlHpv/o=
X-Gm-Message-State: AOJu0YxJi5XSWx/8bW3PF2/CwD2H5fE1Ppb1AWpCISOonHKd74ERk6hD
	PRe3mFasGVv0nGne8boqvMqSX5r2738HMK9xHhxO12YKRDi10AbSoTA5hU2Y+w==
X-Google-Smtp-Source: AGHT+IFHu6t7IVZBt9fdLsRGFhfH6WxOk95FySdXVtvpEeIRnmo8dQtoAzHx838yJkAxcZUaKGRIAQ==
X-Received: by 2002:a50:9f22:0:b0:56b:a077:2eee with SMTP id b31-20020a509f22000000b0056ba0772eeemr1199522edf.4.1712217547718;
        Thu, 04 Apr 2024 00:59:07 -0700 (PDT)
Message-ID: <e1811e99-36d1-49cc-8f08-8813326cf53a@suse.com>
Date: Thu, 4 Apr 2024 09:59:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/2] vsprintf: address violations of MISRA C:2012
 Rule 16.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712215939.git.federico.serafini@bugseng.com>
 <9705ea09d3dac2e569c075cd9bd7f594796b12c1.1712215939.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9705ea09d3dac2e569c075cd9bd7f594796b12c1.1712215939.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 09:49, Federico Serafini wrote:
> MISRA C:2012 Rule 16.3 states: "An unconditional `break' statement
> shall terminate every switch-clause".
> 
> In order to meet the requirements to deviate the rule:
> 1) refactor the for loop to make the switch-clause ending with a
>    return statement (note that adding a break at the end of the
>    switch-clause would result in a violation of Rule 2.1
>    "A project shall not contain unreachable code");
> 2) add pseudo-keyword fallthrough.
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Apr 04 08:06:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 08:06:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700741.1094330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsI6r-0003uJ-BR; Thu, 04 Apr 2024 08:06:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700741.1094330; Thu, 04 Apr 2024 08:06:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsI6r-0003uC-8g; Thu, 04 Apr 2024 08:06:09 +0000
Received: by outflank-mailman (input) for mailman id 700741;
 Thu, 04 Apr 2024 08:06: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsI6p-0003u6-MA
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 08:06:07 +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 300e3b80-f25a-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 10:06:06 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a4e39f5030dso93390066b.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 01: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
 wn7-20020a170907068700b00a4e533085aesm5987619ejb.129.2024.04.04.01.06.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 01:06: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: 300e3b80-f25a-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712217966; x=1712822766; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FAbbnbG6G2dHIU4OSFdP6tyQxnS9ScR6Fybs8e4almM=;
        b=FalDA6bGsZCl/yPTpXmNV2FdfOkkWqdSTDUtHD6WQ3l9doJego7Xg6TcWRcr0HJ041
         fn4RFsz6U8H8WDIR4P3CdWZ0+uUg3Yl7MxFHD1oWwamSMS2T5lkwIu6dIFbpKbVPhnud
         gsdJ7rWO4efSOA362gaBPLaMJMH/7jMKyUlL/44/rSPaIqmgEt4nHSj6Zf/aIL/jfijn
         sOE8d1sWG3MQX0NYfpW/RA6X9wcmBNRrnS3OlubEDHbi9Bzfn4nmfULBLIopd5i2J42f
         T//iAKCfMJvJ5AEjsGQYXYKHhlXAN1xbbtKCxBwcr1B3Ya+7/zBB7jhf70G5U950u46Z
         KyjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712217966; x=1712822766;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FAbbnbG6G2dHIU4OSFdP6tyQxnS9ScR6Fybs8e4almM=;
        b=RqU2clN01nZeAWraKbTrU3oe8ceBNAJpStwn71/6Vg1hpLzrfbUZRTX/CV4WaECd+m
         Zy9DFu6ExGeHq1yGlDk4B15xF7Be+r8zBi7EkmRovnWyuSEigNIm8DvaAY2k0n6TOpCy
         SEY6hVerqVNiyQmEpWUXM9sssSivI1hr8lIfLxouvutL4q6hZw35KrpDd5haSEVZXhR+
         ytrdILHI3CcwXF+JkFcbr9kSRVQLmTil7lbFqFnl9L+ACXTfGEiluUNkoHyV1EhsIeq5
         DGRiw22aFpef+XBxu4n6agKquJj07rRFhSfyCEVdIotWa2gSmm0fd1sXyNOE9HXlCDez
         zUCQ==
X-Forwarded-Encrypted: i=1; AJvYcCW9+EPRkZ+VHO/7Asd6ZGW/77FFAKRcRUb7OWlxQMeHXTqttup/K8wKA39wrS4THFwxbjlM6GIduqnYQkG+Pl5YZtrAupbltUv1J3p/OVY=
X-Gm-Message-State: AOJu0Yx4zl/ukKp5wIuY5JLD87ApXhb8cY+huiy91PwSd8VNzCzNF4Fy
	OWzeM3qB8ajr18cUYlcuJ0Ba5u79e8vBPQY9DXQnMlabdFt1NhpbbMh/VNeeTQ==
X-Google-Smtp-Source: AGHT+IHxMI1XYZFKl1twdZdjiDw5l8VvjZxrIwpVkb30ZihpeInCiS0x2KyvNZmotEFj014tDSTh8w==
X-Received: by 2002:a17:907:7d93:b0:a51:8a58:237c with SMTP id oz19-20020a1709077d9300b00a518a58237cmr896618ejc.35.1712217966080;
        Thu, 04 Apr 2024 01:06:06 -0700 (PDT)
Message-ID: <012db229-8c84-4b74-b919-50e0231dd274@suse.com>
Date: Thu, 4 Apr 2024 10:06:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] drivers: char: Drop useless suspend/resume stubs in
 Arm drivers
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20240404075143.25304-1-michal.orzel@amd.com>
 <20240404075143.25304-2-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240404075143.25304-2-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 09:51, Michal Orzel wrote:
> On Arm we don't use console_{suspend,resume} and the corresponding
> stubs in serial drivers are being redundantly copied whenever a new
> driver is added. Drop them as well as useless .endboot = NULL assignment.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Since hook invocations are suitably guarded:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

However, from a Misra perspective more wants doing here if suspend/resume
indeed isn't wanted / needed on Arm: console_{suspend,resume}() are
unreachable there, and hence want hiding behind some (presumably)
CONFIG_HAS_*. In turn the two hooks then would also want making conditional
upon that option actually being selected by an architecture.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 08:11:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 08:11:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700745.1094340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsIBr-0006EB-U2; Thu, 04 Apr 2024 08:11:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700745.1094340; Thu, 04 Apr 2024 08:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsIBr-0006E4-RX; Thu, 04 Apr 2024 08:11:19 +0000
Received: by outflank-mailman (input) for mailman id 700745;
 Thu, 04 Apr 2024 08:11: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsIBp-0006CT-SZ
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 08:11:17 +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 e9305879-f25a-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 10:11:16 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a50f170b7e3so90952566b.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 01:11: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
 xe3-20020a170907318300b00a471481ef3csm8659545ejb.124.2024.04.04.01.11.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 01: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: e9305879-f25a-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712218276; x=1712823076; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=pKh7Eu7TVgDxfeBSJtuFzVDUSdL1UAZsb7MOD/RFW9I=;
        b=bVWt04nT7vUaYE4Bq6sX5udxGy4sdrWlwT0MGG9mJDzxwNLPq6kHctHZtkqOGT5MfT
         2TCQ7podbO2Bv3J9Mlz7CD7+V/6zAcLbmfeqsAvJDttbWj0Hchq0BU0Jx36n9EcY4OBO
         xeVl6Lhr4WQe1RKkWSVpupENfyAaCNMXZYBotw0/TkQxpG9wGS0UIjGVA6GfQQ9heu4l
         MuQLz8nMUaBM2PQr5nZEVKjh9I020+QYmQCl0rff2DivyjD9O0EF+SsJatHRi5St+fxd
         YQ1MRR02E5T0GrpqruuwArkwgUCS4JSD6gNTGfqripfghsKaZXDuCL8YjO+7IV5smitW
         ib2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712218276; x=1712823076;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=pKh7Eu7TVgDxfeBSJtuFzVDUSdL1UAZsb7MOD/RFW9I=;
        b=VstBwvI4bnVcgFEHtF6/+zMliqFY9eTFy6/pnxHZnPlBCkGyGdMS/54LkP2R6BmbLg
         q2LIngNaQx50wl9Lecs7SwZznxWn88JoENjLwWn+kUNTEs/DqclUkd1pnZ7t+m/vGvKZ
         NevyFLK2di/3hP5KJeBjOlMXL29jEMwl+fS7lVjk/qa50brjuFIpvJAGpuSGvtYTHRRV
         2GUjsun6KQWIf7KhZu2xr93qTY+1bhin93TO2NK3bND1b0hkBXVh2aW+iyD5ocr83MPA
         IJJpYiB8zMqvK8+sx/Yq8sVX4iv0r9PxIZPYpHb+NRSXyP5JAnwNZXX1fyjg8daakAgo
         3asA==
X-Forwarded-Encrypted: i=1; AJvYcCUB9nUh/CyaRKdWMglC5CyMQg2Jmq3gU3EUoSmk8RgeXsOO/k88DWCurT59G0Z/N5wjQmpLI1OoZKpZSP1OvNJW7NMjL2YyHILMaVJywzA=
X-Gm-Message-State: AOJu0YzV7YkpTxNofAYQbJtG25xm9YU/1yCwxXzVRLib4wtJV0zyudqJ
	8CwqPEv1/Tvy6txu/Xkm6rDPT4avSUkNv3wUI9rEz7haYm3i5vs85yen8RyT4A==
X-Google-Smtp-Source: AGHT+IGqylbQPD+BfjzLoS3D8QdndY7FhmGtJB7hdYKKAcd0E/bufPm0NohLSrss3OfzxQO+fNA31w==
X-Received: by 2002:a17:907:9487:b0:a4e:2cd6:8ac2 with SMTP id dm7-20020a170907948700b00a4e2cd68ac2mr1350990ejc.56.1712218276588;
        Thu, 04 Apr 2024 01:11:16 -0700 (PDT)
Message-ID: <e8755384-89f2-4b42-848a-9ae60d87cc7f@suse.com>
Date: Thu, 4 Apr 2024 10:11:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <f2b596e6-0aec-4948-ad7a-aa38adaa7dcc@suse.com>
 <3aa0893b-7efd-4ca1-a405-e897edc7402f@apertussolutions.com>
 <3b8ec757-d2f3-4143-a843-de8c6d51944d@suse.com>
 <accf801d-a74b-41c3-a67f-bcbe622e4e34@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <accf801d-a74b-41c3-a67f-bcbe622e4e34@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 15:31, Daniel P. Smith wrote:
> On 4/3/24 07:54, Jan Beulich wrote:
>> On 03.04.2024 13:50, Daniel P. Smith wrote:
>>> On 4/3/24 02:52, Jan Beulich wrote:
>>>> On 03.04.2024 08:16, Jan Beulich wrote:
>>>>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>>>>> Whether to return information about a xen-owned evtchn is a matter of policy,
>>>>>> and it's not acceptable to short circuit the XSM on the matter.
>>>>>
>>>>> I can certainly accept this as one possible view point. As in so many cases
>>>>> I'm afraid I dislike you putting it as if it was the only possible one.
>>>>
>>>> Further to this: Is there even a way to express the same denial in XSM?
>>>> alloc_unbound_xen_event_channel() doesn't specifically "mark" such a
>>>> channel, and (yes, it could in principle be open-coded in Flask code)
>>>> consumer_is_xen() is private to event_channel.c. I also dare to question
>>>> whether in SILO mode status information like this should be available.
>>>
>>> To build on the previous response: if the natural failure return value
>>> is -EACCESS in response to a domain resource access attempt, then the
>>> probability is extremely high that it should be implemented under a XSM
>>> hook and not hard-coded into the resource logic.
>>
>> Possibly. But first of all - could you answer the earlier question I raised?
> 
> Don't need to, this change subverts/violates the access control 
> framework. If the desire is to make this access decision for the 
> default/dummy policy, then codify it there. Otherwise I will be ack'ing 
> this change since it is access control and falls under the purview of XSM.

If Xen internals like this are to be exposable (and controlled by XSM), why
would other Xen internals not similarly be (optionally) exposed?

Further, since above you referred to EACCES being what XSM is supposed to
control: xsm_default_action() used EPERM, and (presumably; too long ago)
EACCES was chosen here precisely to make it not look like an XSM surrogate.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 08:13:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 08:13:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700747.1094351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsIDi-0006rY-AD; Thu, 04 Apr 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 700747.1094351; Thu, 04 Apr 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 1rsIDi-0006rR-62; Thu, 04 Apr 2024 08:13:14 +0000
Received: by outflank-mailman (input) for mailman id 700747;
 Thu, 04 Apr 2024 08:13: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=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsIDh-0006rL-Ee
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 08:13:13 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2407::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2cf5d0e9-f25b-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 10:13:11 +0200 (CEST)
Received: from BN8PR04CA0018.namprd04.prod.outlook.com (2603:10b6:408:70::31)
 by MN2PR12MB4342.namprd12.prod.outlook.com (2603:10b6:208:264::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 08:13:08 +0000
Received: from BN2PEPF000044A9.namprd04.prod.outlook.com
 (2603:10b6:408:70:cafe::b0) by BN8PR04CA0018.outlook.office365.com
 (2603:10b6:408:70::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Thu, 4 Apr 2024 08:13:08 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN2PEPF000044A9.mail.protection.outlook.com (10.167.243.103) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 08:13:07 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 03:13:06 -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.35 via Frontend
 Transport; Thu, 4 Apr 2024 03:13: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: 2cf5d0e9-f25b-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PZtBu2FM5TLweiZh90kOiJEDeKB2AMESQPBNXWkM7ENBiE5CPT4mditQJLm6/BkQPMiTV5CEplOlNsWTakPxGAMPUlWr4UhaRllxPTmFCRiKe7bonf35UtiNFPAiR3v4QxDRHeYYJXFN05v2RQB7oMczW5zZGvby2CQGpFinIUkc4+UU0WWaoOg8p+zMCd0dozikyEQ5EKmgoEa2nqgBfPB2SwqaV/Oh/w3IK92ScjBAsAetTE/h/3tPWazcG8guZg2vBgUD+fVahfekifbTg+CnIJSgR9e0cRLDgAJvUAEw4ewRfseu2qDEWe6zqjGMwc/gP0hp+XalOGqRsEhq9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8p+hufjNbP9CzdogA87n7zb1gvgt6ELtuKNRLEjxoOk=;
 b=H5JaPzhpg/981i/FU50NUIy9JGg6NhwpJ9G4tt/XorGXfW0emddXfT4nxZPdkw9ia8MIiOktkuKpIKwEfGf0GuPoJMdU4SDdi1/Vc5XR95mVHnxD9z6hORle7/mhYyUAnR/orl5AliPEt3CxUDDDMNT0GxHKFR54y15KuzyXdLofsB1KBa09XHHtprp3C01HRF8jV2j8r5gCGjlGs4JDe5soQBKaAerxN4ojLtIO6ihIhVN1HMXpIIFoEC+bHnpjpLNiHl6u/ODsldP2PnQFDK9u7aUFBz5c/ykBdqwZZYtMxFcuA4MKGflzHRSaXzd4dF9v+ttxFaEvtvzzTC6lTQ==
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=8p+hufjNbP9CzdogA87n7zb1gvgt6ELtuKNRLEjxoOk=;
 b=RGVWfPl1G5diyzAUTeJO1zhjVLKW5pp19Y6Ltncwsk7IepfT8SzmMq41COZR7Gy/hxSzrPJj6Mq2VbpU66mzrA1gGjsoH174ZgnJLu1Vq1/9hSyrxKvHu47y8j54b4XYmDuo1vnN5gjj4JIb3p5ZV9Yoa9+/ACA+BLO34SAwYtQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <7015bd6c-6979-4870-8611-f829b4994bb9@amd.com>
Date: Thu, 4 Apr 2024 10:13:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] drivers: char: Drop useless suspend/resume stubs in
 Arm drivers
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, <xen-devel@lists.xenproject.org>
References: <20240404075143.25304-1-michal.orzel@amd.com>
 <20240404075143.25304-2-michal.orzel@amd.com>
 <012db229-8c84-4b74-b919-50e0231dd274@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <012db229-8c84-4b74-b919-50e0231dd274@suse.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: BN2PEPF000044A9:EE_|MN2PR12MB4342:EE_
X-MS-Office365-Filtering-Correlation-Id: 2abde7c0-97b5-4b46-603d-08dc547f0f9c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	leo4STFfL2gLCCVR2JmIPxoVJS7IDGsSVvwJuEgubXMPFZe+1/on3+vgxroctKZhidxmtSPgytczM9Ic3UWrEbCdVuOOjx1avz4CE+tdK10lL5tLPX3tObTUQWd3eMH5YQbvVSh5BnwoP+FzJqNrNrQ9fyfvbOJVaOz6S/fdx/jvFEDEyasO/iTvDesn29XCc+OQZ1NeLwRpwnMZuW6/eMwK+fgAW5juMUb/bAY7dpY97hPsjYuBPTsDwEZk521n8fCjUqPmcolkNGjbsAXI5xu6obBaaC31LC57k7tD42okRAalSyUWI8k88L87tau2kCtEA17sMT6/Xxp9awWQM+Fr2sMZmNbgCiyynBDgBa/OmloRRFsiICqRCZdzq7AG6P8C4azTJ0C9DcSBmao2Wb6+h6bpI7Ck2liVZcdtdG/HTXnNwkGKAPYHKai02N5cdgYb6xFEGxnHoB+p+qfOSHjHSGef7uSF7Ux+qADpI1WjE/Qa6EE3/dFArxjsofaxsntVgxoUWEajoDFWxSE0jNpZCPNCAgQg1Wm1SLrYpGmLv2rOf60+qiq/LiPANC0Wqd3STMZqUFWa6urRqI783v5XwEXGZ5VxKqn2A37HfnDq67esHCDCSBsqgs6AYobWNKBDtF1WBTJsjqRgJTU3ndWuH78e2fHuq6zZixkGMTttAIgXRLK79iranjrP/9aGEpNKKouRRb4vU/nxokmrv/dyw7rxKtA3HzAVlRcB4ug/No2t/ci3X/BiIzFXqHzy
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 08:13:07.7222
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2abde7c0-97b5-4b46-603d-08dc547f0f9c
X-MS-Exchange-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:
	BN2PEPF000044A9.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4342

Hi Jan,

On 04/04/2024 10:06, Jan Beulich wrote:
> 
> 
> On 04.04.2024 09:51, Michal Orzel wrote:
>> On Arm we don't use console_{suspend,resume} and the corresponding
>> stubs in serial drivers are being redundantly copied whenever a new
>> driver is added. Drop them as well as useless .endboot = NULL assignment.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Since hook invocations are suitably guarded:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
thanks

> 
> However, from a Misra perspective more wants doing here if suspend/resume
> indeed isn't wanted / needed on Arm: console_{suspend,resume}() are
> unreachable there, and hence want hiding behind some (presumably)
> CONFIG_HAS_*. In turn the two hooks then would also want making conditional
> upon that option actually being selected by an architecture.
Yes, this will be handled in the future as part of the bigger activity to compile out unused code.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 08:30:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 08:30:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700753.1094360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsIU4-0002Xt-Jd; Thu, 04 Apr 2024 08:30:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700753.1094360; Thu, 04 Apr 2024 08:30:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsIU4-0002Xm-Gx; Thu, 04 Apr 2024 08:30:08 +0000
Received: by outflank-mailman (input) for mailman id 700753;
 Thu, 04 Apr 2024 08:30:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7v7D=LJ=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rsIU3-0002Xg-Fh
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 08:30:07 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2613::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a13c6f4-f25d-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 10:30:06 +0200 (CEST)
Received: from DU6P191CA0019.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:540::23)
 by GV2PR08MB8653.eurprd08.prod.outlook.com (2603:10a6:150:b9::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 08:30:02 +0000
Received: from DU2PEPF0001E9C1.eurprd03.prod.outlook.com
 (2603:10a6:10:540:cafe::43) by DU6P191CA0019.outlook.office365.com
 (2603:10a6:10:540::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.28 via Frontend
 Transport; Thu, 4 Apr 2024 08:30:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF0001E9C1.mail.protection.outlook.com (10.167.8.70) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22 via
 Frontend Transport; Thu, 4 Apr 2024 08:30:02 +0000
Received: ("Tessian outbound 1b0f2681ce6f:v300");
 Thu, 04 Apr 2024 08:30:01 +0000
Received: from c3068c9efd0b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 254D8AC3-BDA7-4996-B981-9A842AFA8CA0.1; 
 Thu, 04 Apr 2024 08:29:56 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c3068c9efd0b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 04 Apr 2024 08:29:56 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB7590.eurprd08.prod.outlook.com (2603:10a6:10:317::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 08:29:53 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.042; Thu, 4 Apr 2024
 08:29: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: 8a13c6f4-f25d-11ee-afe5-a90da7624cb6
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=GjgzeK+hakPvip2ZNUSMMpp3VW80+35unzxyYLRO2zsB2a8iUK+dKTgkJHKagFyuPUq0GB8caF6KPfUyPU90titK0Bv6Xx6e8fJlnI6/9L/Tl+scy+Dqp1egVEnWbF6xxztkSFT8XLSlOR/rplJ2je5UY7rO6rauqzWSSukRkmNPcJllTFCpE1Q9d4bxaFoABr3VZoYrDCId1GPVamRMMgNOWUMg0N4Xvz0QL5McZeW6zOKGb+5cFXNYouqwyl0NevsOibd2Rvo57Mv8hz85HF+CNPxy9SKx52M+2Ypeua4o1qZrmKftpD+HQgcSEvkplSDb3CCbKnf2rw10a4lg9g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HiuEi3DA1yEXDcusArxphXutTqifpUZ1MOc/n/PV/Jk=;
 b=lxKcKyPciIWRwCPk58qJT6MZcpXduh9AZ068HGwK1k/4JKGygMn5cl6kDiRoLrDEm+HQBFpdS+EuuZ0uiV+4rtcbDFGlpZNyPBhLMtvuMM+RcH/bVGMtNOFtG37ceriNqinfUBu9UjBe3saMyLJTjSwN4sRrCTGIU2HlSuQOzE4+gO0FsJuXH6CnV2eh+Oy6cY0MdrJ+Fqc5rz+a1DxyOraFY1WbezIaeBoplf0zfAsDaJX53kLmX2r0oZeubRDBZbWdH4V1dQSr4NrS75aqqcHLLacR8FgUZKJl48V3uYzv30F4kDS7TicHlGGaAUdCB9Tmoif9nDJ29QObsq34hA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HiuEi3DA1yEXDcusArxphXutTqifpUZ1MOc/n/PV/Jk=;
 b=izuat4ICFUrsbBRiRUur0IURNKwYjLvgrBI4TxbHho+U4EjEzTMI7fUnxctJbSkXCRUT7bq/hq/U4lcJFxuqmJ2H33OGkqudEYugKA+iuWJVltZZ8ilkmECB+aiY1Y358bcvNyMkGBjgJ2dy9BTkPLgq799tPvFYCGOS/0G7t6s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e86af504c71abe19
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fk9CY8kY4tZ56mCdGW4RnmA2EMvsITJ6wnRg0Y83lsK3daMbOcQEDLiOzGt71vafwL2q/PW14xjAbR5tbTLef5yu9OLwMylcyNBWxsd5b/7s3yNSc0qCFGi/1XW9Fr47U3/MNn/8bpVBTeIXBKx1/JDMCYM+Y1+if5kgU+fwOdaa60a4Abr1mEp5LfmihRE/ySQtrlRfOoNxDGfs40nbGJmAq8wDykOwpbRiRq+T3UEPQtw5gsTwbSR4yYQACd3ZJpFf9PV10TaoV1x9qCNsIhmY4lAm3APjYJAzwguDPOmvq6ldOUBOw0Q34yKQx1//KnH9buH8154F0nkWasSbgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HiuEi3DA1yEXDcusArxphXutTqifpUZ1MOc/n/PV/Jk=;
 b=SgWwOcADxqC7gbFkypDRNwMhBX1F8fgS/8kUsdM6xyeNgJrHP7/hxGlPWcPAZQDHbn7C115HAV+qrONvCEctVhX1siYRPB6l/AEilsU9jwEhugKt+0b8S1bo0iZnIacNStKpyU3Q5zGFsrE/xGmzveuAVOACG06INogHYaS0+9a2vPt2hu9DFc7TsyLcvNLL4lJndisEWlcH5pBG7maD80AO8cVYLLuYrzoL284YB7z+vzjYB8gCvXQFrsD8jX95zJLPS/zN8OaDrzqmfmgJ19CWVrOyvDLr4CQ6LtQc7XH5UZpwj8eLj42h4iK+E7TT86TtE0Rr/cZ2c5CoiRVR7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HiuEi3DA1yEXDcusArxphXutTqifpUZ1MOc/n/PV/Jk=;
 b=izuat4ICFUrsbBRiRUur0IURNKwYjLvgrBI4TxbHho+U4EjEzTMI7fUnxctJbSkXCRUT7bq/hq/U4lcJFxuqmJ2H33OGkqudEYugKA+iuWJVltZZ8ilkmECB+aiY1Y358bcvNyMkGBjgJ2dy9BTkPLgq799tPvFYCGOS/0G7t6s=
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>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>, "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: [PATCH v3] docs/misra: document the expected sizes of integer
 types
Thread-Topic: [PATCH v3] docs/misra: document the expected sizes of integer
 types
Thread-Index: AQHahi02L7CmbuGs70iGCAZey/rjT7FXyCAA
Date: Thu, 4 Apr 2024 08:29:53 +0000
Message-ID: <703E19A2-FED2-4DA1-B9AA-1AF55BBE85B4@arm.com>
References:
 <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2404031806510.2245130@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.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB7590:EE_|DU2PEPF0001E9C1:EE_|GV2PR08MB8653:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 8TPREFXUYwJ7z3rRIEEui5KOdS4a8dGdv3Rjh+1qkl3rfMzkN2tSx9lTo7blr3NWV9zmowlx12lwI8Yb1w08qX7dzBMeF2H+zorDm0XSLFEAI522QNqp1Q37TspeE5Jjz6bliwBlgAF6fTj6A4HaPubc+CA4+QJiUe/SD2cIOO7MUTgPr88TCoiws1VQmA1jXrb1VlS1ZQZ3ba2zUONQq3tRiVpp1PhlbSTCSmBCuVgbKpFuZ5L2JV1S0AOLU0Mf2Tej6U5UZikEjFLvyja36hXMrlgtP0sDVGapjgMrckZ9KmSIh+Hraxoc+Y77apkybra7fk0YQDwlnopasUUbssBnuz65GnI/VkLTGWfxX19QnNZY+nb5L+x650mU0eA2ZM1xxQi8Q+3TsU2Frweaaei8oTMBu0lkHh+IsBwG0X77noax3NyX2gjtMEXDWJq+QFMVtIu6t5j/bcCE1nUCpy7tHaDWNS42tH9XlRUysa5R5cl3RJOvl5IHOAJoRjuyCKRil1dV/LFLed4jOZRowruYxiNUkovIzaCr6NqsJJe7xHnK8es+TEmCoowyyX6MSf53diFfEqzFi4ZflUvRGp1aSFNGA4rx+CAqSpLkmhMujsfkB7alvH9hh/9JZq5wdFRpTTlhMl0yGuwVWO3Rf4g9pN4XMHRqzjF6+hnQWNU=
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:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2FF0FA00762E3E4593592EE50F684D4A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7590
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF0001E9C1.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5b672d9f-82b2-48e1-4c7d-08dc54816c24
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yPbfAcI/SlagYlIuFectWn29BkxJ6YnJDqMo7/t8+Dz2holP/4Ht41Lm0/GMG+kKdfwPj2TlSSBquyo+qMYeCyEdzG5wM0278yLefqnXqMUTL2IDDr31ThoDgG1V4J5ONnhdaN0sGv8QurMcDXPs2/PNNRwQmVD4LmWe0yVagYxyiuey4LR26E6p8xjQuLprKRY8AcdayjzYitPuDOa59LuUzAbmUGGvbmmgTfoIx5n9EIO+hXWFJTBJMCx0Ytu4glBmpdbDcUMg4fDzUqB+8tNPQSW695GwL1UcJnWnxpnkYMcwjvYnrlJZGaeITASlP9vUrBRy9S/bUxjKvvL+42QvwPc5FZGbBQ0BZt6Ci/mHFKQPF4WspXaJPZf/Nh1hmfEEixxT1x0onnKx76rhtDL3RoKLh9dD6z0L6v9qP8b+FZQTnkR0B6x64XfZ5EDORD/Xr3Q6pn8KTIOZwsUMfJdYJOSXPaUmZwu1fcz7JMfywx7oyf0rboQ3qL3hBfZTlQh37gWe0AeYiwalB3jcqlDrch2q7oNwWZFXVrgeNYkYyQ/tDLxALuLhqZ9matNgo1wDsGsDBydXp+agLSLdVyBLca2AnBl8q1iqdjqHhoJ1pMatcw5yeBmO3Eav4TA4y50XeUAjoQusVxdFrYXLqC0PWqNE1wQXQwcKdBuz+A3D7qU+/t8hR6eKYA+RdI8lB++0W8LbXdM1sIwYm9ypr1ajQDZANER1QGxZ2jnu/PMJD5eVO6GfXM3z3SGXL2GYNWvWEQkas10Ym2rQoN2npQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 08:30:02.1600
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b672d9f-82b2-48e1-4c7d-08dc54816c24
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF0001E9C1.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8653

Hi Stefano,

> On 4 Apr 2024, at 03:12, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> Xen makes assumptions about the size of integer types on the various
> architectures. Document these assumptions.
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> Changes in v3:
> - add links to System V, AAPCS32 and AAPCS64
>=20
> ---
> docs/misra/C-language-toolchain.rst | 69 +++++++++++++++++++++++++++++
> 1 file changed, 69 insertions(+)
>=20
> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-=
toolchain.rst
> index b7c2000992..84b21992bc 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -480,4 +480,73 @@ The table columns are as follows:
>      - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Sect=
ion "11.1 Implementation-defined behavior" of CPP_MANUAL.
>=20
>=20
> +Sizes of Integer types
> +______________________
> +
> +Xen expects System V ABI on x86_64:
> +  https://gitlab.com/x86-psABIs/x86-64-ABI
> +
> +Xen expects AAPCS32 on ARMv8-A AArch32:
> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
> +
> +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst

We still support armv7 somehow so we should add something for it here.

> +
> +A summary table of data types, sizes and alignment is below:
> +
> +.. list-table::
> +   :widths: 10 10 10 45
> +   :header-rows: 1
> +
> +   * - Type
> +     - Size
> +     - Alignment
> +     - Architectures
> +
> +   * - char=20
> +     - 8 bits
> +     - 8 bits
> +     - all architectures
> +
> +   * - short
> +     - 16 bits
> +     - 16 bits
> +     - all architectures
> +
> +   * - int
> +     - 32 bits
> +     - 32 bits
> +     - all architectures
> +
> +   * - long
> +     - 32 bits
> +     - 32 bits=20
> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)

Same here armv7 should be mentioned.

> +
> +   * - long
> +     - 64 bits
> +     - 64 bits=20
> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> +
> +   * - long long
> +     - 64-bit
> +     - 32-bit
> +     - x86_32
> +
> +   * - long long
> +     - 64-bit
> +     - 64-bit
> +     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32

Should this be all architecture except x86_32 ?

> +
> +   * - pointer
> +     - 32-bit
> +     - 32-bit
> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)

Armv7 missing here.

> +
> +   * - pointer
> +     - 64-bit
> +     - 64-bit
> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> +
> +
> END OF DOCUMENT.
> --=20
> 2.25.1
>=20

Cheers
Bertrand



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 08:36:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 08:36:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700757.1094372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsIZu-0003Wz-Eh; Thu, 04 Apr 2024 08:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700757.1094372; Thu, 04 Apr 2024 08:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsIZu-0003Ws-9a; Thu, 04 Apr 2024 08:36:10 +0000
Received: by outflank-mailman (input) for mailman id 700757;
 Thu, 04 Apr 2024 08:36:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsIZs-0003Wm-Nm
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 08:36: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 612785a3-f25e-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 10:36:06 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-566e869f631so707153a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 01:36: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
 fj22-20020a0564022b9600b0056a2cc5c868sm8912880edb.72.2024.04.04.01.36.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 01:36: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: 612785a3-f25e-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712219766; x=1712824566; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=X7pbkG9sf+QKas/gJZ0Wkks6WsQAaDgzjFnJVABh5T8=;
        b=YmIcTH/uIlYGtg6AVVz0u4g4eeJSomu3DG1w9SmRE2DGmJU0F9QVZYj2Il160NK3UO
         IcOBw5OUSfT+ZmzClnMDHwQvZ3M3cTEVp3OQdjQy2eiPINkcvHkgLExmu7tOICUUUovZ
         iFTEVzjp+0vcdabJgZsB3S43EnEKQYVUj3niJxgLxyNt54aTCEkAGS0DAmZ4kk4HmXXK
         /NNRbTgeXiUvX+N++R22nGHM8EtvHjugXLH42xVbqQHpp1Dg/iZ/cyrS7NDykYJPYEPj
         arabBiSFnbBf04Lb8MxuHRWfIwVQctvMqxXH1Ea20ML2DzK4G1TT/drjENQB+v2WslQ/
         RX2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712219766; x=1712824566;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=X7pbkG9sf+QKas/gJZ0Wkks6WsQAaDgzjFnJVABh5T8=;
        b=DhTLcfLspGJs0QtuVUp8GntbnLWX7RmncaUI+87HQJLbP0WbtDI4Ut8jJp1qHEIOKL
         NuMYr9AjcrhzSkHz/Hyhj4okpL8Sa++YFz1Iadzl/LXUFDcWhQT98oV5j/gbIN4sgo5y
         Yz8Z0m0hOmldCTm9xGis+UVUNImXuO13KpPAyJ225ZZu3cDklpF20fOytUA2KcqQY7E7
         Yc9SfUQTkeZj4KlGRs+RrDY3pu5SYfwDCOflqLX0aPIWvM558/aqKiAVRgPRRU66sJqL
         8EsEiU4Nj+0NQQXPhWuiKBIp8TLCxHGUTeymr+4GpBMZb1nDUA6/13J9qig4a9Cp5G/g
         EXWg==
X-Forwarded-Encrypted: i=1; AJvYcCXbMZbwqrZykZKkldw0L79WlI44Vmdm/N1IRcMT1Mcq6MzoJxyTnehO7b2jrNZdaIB8ZPbaSVOLy8IL1cMV/UHmrzOicBNltaufLhKGQ9w=
X-Gm-Message-State: AOJu0YwNKIhe6Mfo1tbd24lGDW216cFfGZdvMeEi3xGR/3rOXUbDjP5R
	THw16cZ5eiN88Z4kHVwc8STFRNvsNqzoWCL9w+klqT3rD6LtfokQSQ/VJ9mjGw==
X-Google-Smtp-Source: AGHT+IHvjWdPuuaqWtvs8gU/qIU73un3d1x4VXqOx4TCpOxuuRJecRq1+iy/qHzF+II0YKbY1q1tjw==
X-Received: by 2002:a05:6402:1653:b0:568:cdf3:5cb2 with SMTP id s19-20020a056402165300b00568cdf35cb2mr1613430edx.30.1712219766105;
        Thu, 04 Apr 2024 01:36:06 -0700 (PDT)
Message-ID: <e3e13f3f-3df6-4eb4-8b73-21387007e7c3@suse.com>
Date: Thu, 4 Apr 2024 10:36:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs/misra: document the expected sizes of integer
 types
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, bertrand.marquis@arm.com,
 george.dunlap@citrix.com, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 03:12, Stefano Stabellini wrote:
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -480,4 +480,73 @@ The table columns are as follows:
>       - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Section "11.1 Implementation-defined behavior" of CPP_MANUAL.
>  
>  
> +Sizes of Integer types
> +______________________
> +
> +Xen expects System V ABI on x86_64:
> +  https://gitlab.com/x86-psABIs/x86-64-ABI
> +
> +Xen expects AAPCS32 on ARMv8-A AArch32:
> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
> +
> +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
> +
> +A summary table of data types, sizes and alignment is below:
> +
> +.. list-table::
> +   :widths: 10 10 10 45
> +   :header-rows: 1
> +
> +   * - Type
> +     - Size
> +     - Alignment
> +     - Architectures
> +
> +   * - char 
> +     - 8 bits
> +     - 8 bits
> +     - all architectures

This one _may_ be acceptable, but already feels like going too far.

> +   * - short
> +     - 16 bits
> +     - 16 bits
> +     - all architectures
> +
> +   * - int
> +     - 32 bits
> +     - 32 bits
> +     - all architectures

These two I continue to disagree with. The values are minimum required ones.
Even if code changes may be needed (Misra already helps us here by stopping
undue mixing of e.g. unsigned int and uint32_t in at least some situations),
there's no inherent requirement in Xen for such restrictions.

> +   * - long
> +     - 32 bits
> +     - 32 bits 
> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> +
> +   * - long
> +     - 64 bits
> +     - 64 bits 
> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> +
> +   * - long long
> +     - 64-bit
> +     - 32-bit
> +     - x86_32
> +
> +   * - long long
> +     - 64-bit
> +     - 64-bit
> +     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32

Along the lines of the above, simply saying "64-bit architectures" here
is too generic. Whereas for long (above) and ...

> +   * - pointer
> +     - 32-bit
> +     - 32-bit
> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> +
> +   * - pointer
> +     - 64-bit
> +     - 64-bit
> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)

... pointers I agree (and the special mentioning of the architectures
in parentheses could even be omitted imo). To summarize, my counter
proposal:

   * - char 
     - at least 8 bits
     - equaling size
     - all architectures

   * - char
     - 8 bits
     - 8 bits
     - x86, ARM, RISC-V, PPC

   * - short
     - at least 16 bits
     - equaling size
     - all architectures

   * - short
     - 16 bits
     - 16 bits
     - x86, ARM, RISC-V, PPC

   * - int
     - at least 32 bits
     - equaling size
     - all architectures

   * - int
     - 32 bits
     - 32 bits
     - x86, ARM, RISC-V, PPC

   * - long
     - 32 bits
     - 32 bits 
     - 32-bit architectures

   * - long
     - 64 bits
     - 64 bits 
     - 64-bit architectures

   * - long long
     - 64-bit
     - 32-bit
     - x86_32

   * - long long
     - 64-bit
     - 64-bit
     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R AArch32

   * - pointer
     - 32-bit
     - 32-bit
     - 32-bit architectures

   * - pointer
     - 64-bit
     - 64-bit
     - 64-bit architectures

Eventually, by properly decoupling pointers from longs (via using {,u}intptr_t
appropriately), the restrictions on "long" could also be lifted.

Note that the generic requirements on char and short also are imposed by C99.
It may therefore not be necessary to state them explicitly, but rather refer
to that standard (just like you're now referencing the SysV psABI-s).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 09:28:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 09:28:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700761.1094382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJOG-0005k9-KU; Thu, 04 Apr 2024 09:28:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700761.1094382; Thu, 04 Apr 2024 09:28:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJOG-0005jq-35; Thu, 04 Apr 2024 09:28:12 +0000
Received: by outflank-mailman (input) for mailman id 700761;
 Thu, 04 Apr 2024 09:28:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ClcT=LJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rsJOD-0005i3-Rx
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 09:28:09 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2607::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5bd7e7c-f265-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 11:28:08 +0200 (CEST)
Received: from AM0PR10CA0044.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::24)
 by DU0PR08MB9026.eurprd08.prod.outlook.com (2603:10a6:10:47a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 09:28:04 +0000
Received: from AMS0EPF000001AC.eurprd05.prod.outlook.com
 (2603:10a6:20b:150:cafe::f5) by AM0PR10CA0044.outlook.office365.com
 (2603:10a6:20b:150::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 09:28:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001AC.mail.protection.outlook.com (10.167.16.152) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Thu, 4 Apr 2024 09:28:02 +0000
Received: ("Tessian outbound dc0a9029eb2c:v300");
 Thu, 04 Apr 2024 09:28:02 +0000
Received: from 0dfbd8d3455d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F20DD501-49E4-4E47-A54F-58EAA9D0110B.1; 
 Thu, 04 Apr 2024 09:27:51 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0dfbd8d3455d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 04 Apr 2024 09:27:51 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV2PR08MB8269.eurprd08.prod.outlook.com (2603:10a6:150:b9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 09:27:47 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::3716:2f81:3984:f186]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::3716:2f81:3984:f186%3]) with mapi id 15.20.7409.042; Thu, 4 Apr 2024
 09:27:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5bd7e7c-f265-11ee-afe5-a90da7624cb6
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=S5eUbsYK92cyMkxqtwNK3S0VIH4uphY5PWjqeBVFUXlb73ezGipe40G0Ni2RPbTxNgky27QAoY08o78cuCjVJwM/xQTKvqmGVuoDEj4l971NR1DPIcS3sOmp8zXZkw5aBzpuRCpUJADR1uOqUPpAjBaP8G99hj18NO5H+JVT8THTlnZXis4T78jLyWf509/EdbuDkQgvYUSKBolYT1gPAnQ/2b5ilRVR8vx3lh/5YFzJxCuoWHreiaNXJ4OoDCJwbhEjhnNDdGymd2ofLy1fI1H0oqRV/Ahv9usH77LAGrQzmh13dV8Hm62ImbR1c49+j3rfUs4sUAKAd+90YSz0ag==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y2Fg51ZUFHtjpVEZiwGUv3H9M1YsNRXkjRQoAZBiqzM=;
 b=nlFWAc+Rj6jaahU3Ro4TzfAbZg23EGI1wrsa7U7+heXjNSe20aA2gq29GJoR3AM0NEJpSyG5xqLe87KgWUJI2DzOmz41ZKe12iHGDENHviB0QF76F6QJ/L1wR+H8LutYBnziMflLH4m9YDs0j/uzA5hj6GXSrwy2uaVwf6R7+N6yN37PVyA/mYMDwRi94fvt5H6yTOr2Xv9hpJRlwaeyQQACw/fvUchTmRMBJmnOCz0J9+b3C0jgqsmKHimnSSHx9/cOzfGb6ZVn5EzhJ5EZasz/LZH11SQ8LvRAdYbpEBeJwFI4QhV0MmvevkGaqj7ODa62FnZ2rUqBYFSaUUL1Vg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y2Fg51ZUFHtjpVEZiwGUv3H9M1YsNRXkjRQoAZBiqzM=;
 b=aLw23cR2d1iM8fXSscuieYeb7rx+iAhjOXVYBnhDiQQ50ty+GnN1YnbA5jwvVvL3cqV5Nq7VCqOZ9+TN2DQ6ZKAb9WtwR+14autI9Bh/umqdZkwJbTDqqGLzmtYUTxRHG3ay7j8qt2cnrTLHwdZ1wNa+fil6VkMEQNmlBS1l8ec=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 29447c925fdfa02b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fV/WrgmfoM0n/LRe1BhTF2TKMhA7V9Rx6N3Q3VuqgavU+sRLHpwoSSitQr1Q5RI6GoH1CbRfvbF0S7o108huSwCN7MxPqLXGK9PPqrgx0Ky8KByFXN1S1s668Deka6Jri7s0Rs14FUJKXHmERZw505uhQNT6L9NCU4uh9lvuFUt9K7vfAIkKUfI/3hYBuDzuLK17w+QT4JFYy/6n27vemMSL3u9DSOIFCs+5juahEKscfpBi89n5JI87JBax7uaswgP1LR38lROny43C6OxkW4LrGBNa0GBp06jLwXYO/dlXv/rMItr32Sk2jTaFyBduZLYGevwnowKGYJw2Zh0ZAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y2Fg51ZUFHtjpVEZiwGUv3H9M1YsNRXkjRQoAZBiqzM=;
 b=jTJtkppJ9ymIC+KpkLFOOlvCV0FPBJyS1tesoz3e8VS9kDhscLcJRfykp4RLb6vqmidAjnuOEzx6G6KVEZgMmPuxF6x/6nlUi0IgroagXRzxKKEjEUYLKkZTGIlSWu0Y5eRhDbWGlH/PioYNBxZr6agHcStzBBg9xgcjMpCWwoP71LEo+ZXwksr/gtZ64jhDotq794uzd8SKXvpdSwSB5LZrSWSgvUajmTYWXhfllIuE2ealIK/IV8blDn/6iQx/IBg47aVuYjMuN4EsUoxmgjZvt+kCLkOEhTAXmYC3hoXnQhEY1qb2ZOPw/TgFCISzcBLLv4zM0hgt1HcQJ0ZzcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y2Fg51ZUFHtjpVEZiwGUv3H9M1YsNRXkjRQoAZBiqzM=;
 b=aLw23cR2d1iM8fXSscuieYeb7rx+iAhjOXVYBnhDiQQ50ty+GnN1YnbA5jwvVvL3cqV5Nq7VCqOZ9+TN2DQ6ZKAb9WtwR+14autI9Bh/umqdZkwJbTDqqGLzmtYUTxRHG3ay7j8qt2cnrTLHwdZ1wNa+fil6VkMEQNmlBS1l8ec=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 04/11] xen/arm: Conditional compilation of
 kernel_info.shm_mem member
Thread-Topic: [PATCH 04/11] xen/arm: Conditional compilation of
 kernel_info.shm_mem member
Thread-Index: AQHadH3RHiV9l/CStk23F/JZ/hhrzLE/Mq8AgBjI/4A=
Date: Thu, 4 Apr 2024 09:27:47 +0000
Message-ID: <80AC304B-270F-4EB7-85BF-78B55D5C454E@arm.com>
References: <20240312130331.78418-1-luca.fancellu@arm.com>
 <20240312130331.78418-5-luca.fancellu@arm.com>
 <0dd4d824-068a-4975-a1af-e194337a64b9@amd.com>
In-Reply-To: <0dd4d824-068a-4975-a1af-e194337a64b9@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV2PR08MB8269:EE_|AMS0EPF000001AC:EE_|DU0PR08MB9026:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 5e0asRGrKyHDSAX5vPLB34qZ61cvP4bWq0GoBMoWsCrj+TY1UgdOIIGCQZ84nZp7p5l3BiDHRbuAr5gVlUN8zHHNo3sT/P67LHzscPhM13l/vXJQdfxQRd7lSdmFUoczmgtvMWxi3cZHlHjAqiawBhbFSQ/uVbc+L2g5Mbq9486qla2x1aiWRaarbcHIMJZ7xnLNLz1pqncI/5JFiFyGUvBlPoDcthgTDr4JJmQb6KhzAJVSKsnnY4HM+/yLhiClDUyexX0OZtHqt0kxaVF3sS6Sl4dXnEHiQdF/QKbZXi2XjNHyXPsuYlq1YxB4Hv93k5/BZo4jmld414ZLpPcUaphAtNKcEXJHr+9AOHICKAIi2ijAgsc8XpwFknUHdf1WMUAVMrVp9iBfoOifa+L4BOs15FDweHKDvRQdlWE0J9tUD6F2AoriMvGJnlxFIvKXmpTwZZRp/3uK+A6vv1o0rnfK4qAAG2HyNKo11H0zL+O99E7VbNWRwwSbRsBH60V0BpFC9uSSiuneaQVQXb6VRPpgRPRMeB4ziRNW8YhOXNm2kAFaZoYbcpAGzCcXGcpXureEvBs5ute1tadmBVdJXyw7czCP8gUTZB527aWnRORyt55+1ioUo1SPtBWWcc0ctZcUZ95DvXgPFlRd9No5cDHfCYi+1sTwXaCayWOAPSI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <143C879C08870F4986D8F6883EFB4A34@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8269
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001AC.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 138ba02d-8edb-45eb-1662-08dc54898681
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t6emNqRVczjpjaM3E6B0pJ4BMQH8HKIxpujMJNmy7O3+ZCXswbIuEbIV7pPxvZRYrIuR2TAey3eXpHaKclgJ6fCZDnqHzpsoxyZz1Pfbh4O2LWMk9OwnNvr0ZWmlCYudWlIl4QvC76wom4MLADuT8S+zDhUgpsDY8svDdYanBgJNeF9GrE/gQhXU2Q+cnIbBaPclfdyxoeKnqln5hF8LCXYf0u16gf8QG4cJH+8ec7B3leVh9U29cnirXqiuYy18hkPiG393rXqAzsBNLbb8sPcy2neutPdmU7A48cIzV6FRBWCe56WR/r/ZaxJTXcf+wNrKrVEy7sGEg8y3AuuzZU0ZXrlt3Qi4dZybuWke5J/N6Ox66sVW2PRzown8In1DeykdMUmmon6ZOxF21Tj5kVaiJ2mdPxr4aMi6hhZgByRcueLLdS+u2yRxj3LtxVmH8cnDO8tQ6Jl/U9wgdzrbFZ9yk0sjymbnLWFg2zJjPXZbw1Cb6muhl9OSaOEs2j2qzltSHy/CyNFMt+AwhjiCCcRtesr3+vNaxGlJPZ2oiOZMdakboK4mA/zWt4GHehSwp5lk+5jVA2y14RNBIBlw4GiBOnh9+3d/E/ug/M/DtGiUwDqv1TAQ2NHVyqL0OeIsKsdZYErnt1R7HvEO5JfVCUSDKvh2AWTkZxh2iaYA2M3mE7kW+jJINlktC6I5ij+kAVuFJVcYT/4KvdeMbnEA4ZOKzdkcDgSZ7/XITc9f7JAMNeu/8OaZ/241wllAVBrD
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 09:28:02.3002
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 138ba02d-8edb-45eb-1662-08dc54898681
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001AC.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9026



> On 19 Mar 2024, at 14:58, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Luca,
>=20
> On 12/03/2024 14:03, Luca Fancellu wrote:
>>=20
>>=20
>> The user of shm_mem member of the 'struct kernel_info' is only
>> the code managing the static shared memory feature, which can be
>> compiled out using CONFIG_STATIC_SHM, so in case the feature is
>> not requested, that member won't be used and will waste memory
>> space.
>>=20
>> To address this issue, protect the member with the Kconfig parameter
>> and modify the signature of the only function using it to remove
>> any reference to the member from outside the static-shmem module.
>>=20
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>=20
> NIT: I always wonder why we have hundreds of functions taking both struct=
 domain and
> struct kernel_info as arguments if the latter has the former as its membe=
r. As you are
> revisiting the function and modifying parameter list, you could take the =
opportunity
> to change it. But you don't have to.

You are right, can I do this modification as part of patch 3 and this one? =
Also, can I keep your R-by
here when doing this change?

>=20
> ~Michal
>=20



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 09:28:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 09:28:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700763.1094391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJP0-0006KP-K5; Thu, 04 Apr 2024 09:28:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700763.1094391; Thu, 04 Apr 2024 09:28:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJP0-0006KI-G3; Thu, 04 Apr 2024 09:28:58 +0000
Received: by outflank-mailman (input) for mailman id 700763;
 Thu, 04 Apr 2024 09:28:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsJOz-0006J1-VO
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 09:28:57 +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 c1c5dbbf-f265-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 11:28:55 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a472f8c6a55so105115866b.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 02:28: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
 ay12-20020a170906d28c00b00a46a9c38b16sm8804796ejb.138.2024.04.04.02.28.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 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: c1c5dbbf-f265-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712222935; x=1712827735; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=7uwI37r6oCLk1OvdPN0Nbeum4J7vCYJrEF8EHHdazxg=;
        b=aG/chJ0waCph8nEK6msnsXXScbtcegtNrLZ2Gfqn7pHDkRFpnYk3OFFlpYdUaRpiWE
         mfIBduMiCkKenLSAe55vAAHYz8XwwlT2MXcYeGk0h7r0Cnr0mf24h+upyYQv+zGDPO5C
         iveX19ciIRaRqtNNvl6TsOcErLYkezFs1d08B49hBJJEeLmLSoO0Z37a2k5xF95F5hLp
         3hl2sFjf6UwfKeAKi9z92dUh5Va59RQujKWaC9i3AK46u819AOfLLbZHsTnTTY+9uFDG
         P9NkhAjEPbS2Fj3hJCHXiBr3wkTOjVdr22J1CJ4HgQLcqZhrccxHO8z+5SLXHU1PZaZQ
         spTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712222935; x=1712827735;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7uwI37r6oCLk1OvdPN0Nbeum4J7vCYJrEF8EHHdazxg=;
        b=GCFJ6+jXIaTee/ZH5jvAOS4tjsR/K4lhi5Vkub9LcBDfj+ZkVk6JqdZG6intntDTgi
         TiDkKvo7kGsJ5jJaBrI8s01T0wuilWcn6oXpPKyekgcS0dJdoxBpr9+T+DdNDQ38KIeT
         3R8jn5/22/vHr9VmDQMSIXpF6HFhc4SXE6Y+pVlqO8CUgw9tApkp9zi/38Wale0nAea3
         TUTBzMI22IY+C3Q3HaVfegN59PHF+yv+hAwcvj5a8Q6HBkg6utxM57ktfIz8c8EMmCJl
         mz1zCGUQm29cwugBD0Tw/dVAzbx71q0nV98+Xjt2hlJU7uuMryflWZQ2ZJeE1ibh9ZsX
         mSKA==
X-Forwarded-Encrypted: i=1; AJvYcCV5HJ3SNUPjBU54pgkFCKEavT+GBCSbQQ0fXioAkU+h+fCZyxMYgYN9tw5IRI29vAaS2luG3G2a3Yrk1OIH0+6WDyMHzW7XmyKLopT2T6E=
X-Gm-Message-State: AOJu0Yy2UclzRCKybSjIB6PFdmAQ8cepT7wZob+RcIPBsC36Urcqjzou
	cYfA+iE6D3rC01cPHB8VIU5bb4H4JXJl3oDadJnt7d4IKCKdwLm2HBNY2QLE3Q==
X-Google-Smtp-Source: AGHT+IH6p4eqcH7KPNHIt0Jt0Seqdb+jc5TFFTnyNXuhuA5cTqiRRU4bmJvyYDHzTL5tx1se/upGCQ==
X-Received: by 2002:a17:907:a4b:b0:a51:8aa8:56b7 with SMTP id be11-20020a1709070a4b00b00a518aa856b7mr842787ejc.35.1712222934745;
        Thu, 04 Apr 2024 02:28:54 -0700 (PDT)
Message-ID: <3ba13bce-d301-49bb-9028-6d48a05fd077@suse.com>
Date: Thu, 4 Apr 2024 11:28:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] xen/domctl, tools: Introduce a new domctl to get
 guest memory map
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-2-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240403081626.375313-2-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 10:16, Henry Wang wrote:
> --- a/tools/libs/ctrl/xc_domain.c
> +++ b/tools/libs/ctrl/xc_domain.c
> @@ -697,6 +697,39 @@ int xc_domain_setmaxmem(xc_interface *xch,
>      return do_domctl(xch, &domctl);
>  }
>  
> +int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
> +                          struct xen_mem_region mem_regions[],
> +                          uint32_t *nr_regions)
> +{
> +    int rc;
> +    struct xen_domctl domctl = {
> +        .cmd         = XEN_DOMCTL_get_mem_map,
> +        .domain      = domid,
> +        .u.mem_map = {
> +            .nr_mem_regions = *nr_regions,
> +            .pad            = 0,

This isn't needed: By there being an initializer for the struct, all
unmentioned fields will be set to 0 anyway.

> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -696,6 +696,7 @@ int arch_domain_create(struct domain *d,
>  {
>      unsigned int count = 0;
>      int rc;
> +    struct mem_map_domain *mem_map = &d->arch.mem_map;
>  
>      BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
>  
> @@ -785,6 +786,20 @@ int arch_domain_create(struct domain *d,
>      d->arch.sve_vl = config->arch.sve_vl;
>  #endif
>  
> +    if ( mem_map->nr_mem_regions < XEN_MAX_MEM_REGIONS )
> +    {
> +        mem_map->regions[mem_map->nr_mem_regions].start = GUEST_MAGIC_BASE;
> +        mem_map->regions[mem_map->nr_mem_regions].size = GUEST_MAGIC_SIZE;
> +        mem_map->regions[mem_map->nr_mem_regions].type = GUEST_MEM_REGION_MAGIC;
> +        mem_map->nr_mem_regions++;
> +    }
> +    else
> +    {
> +        printk("Exceed max number of supported memory map regions\n");

Debugging leftover?

> --- a/xen/arch/arm/domctl.c
> +++ b/xen/arch/arm/domctl.c
> @@ -148,7 +148,6 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>  
>          return 0;
>      }
> -
>      case XEN_DOMCTL_vuart_op:
>      {
>          int rc;

Why? Instead you want ...

> @@ -176,6 +175,37 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>  
>          return rc;
>      }
> +    case XEN_DOMCTL_get_mem_map:

... separating blank line above this line and ...

> +    {
> +        int rc = 0;
> +        uint32_t nr_regions, i;
> +
> +        if ( domctl->u.mem_map.pad )
> +            return -EINVAL;
> +
> +        /*
> +         * Cap the number of regions to the minimum value between toolstack and
> +         * hypervisor to avoid overflowing the buffer.
> +         */
> +        nr_regions = min(d->arch.mem_map.nr_mem_regions,
> +                         domctl->u.mem_map.nr_mem_regions);
> +
> +        domctl->u.mem_map.nr_mem_regions = nr_regions;
> +
> +        for ( i = 0; i < nr_regions; i++ )
> +        {
> +            if ( d->arch.mem_map.regions[i].pad )
> +                return -EINVAL;
> +        }
> +
> +        if ( copy_to_guest(domctl->u.mem_map.buffer,
> +                           d->arch.mem_map.regions,
> +                           nr_regions) ||
> +             __copy_to_guest(u_domctl, domctl, 1) )
> +            rc = -EFAULT;
> +
> +        return rc;
> +    }
>      default:

... this one.

Further with the way you use min() above, how is the caller going to know
whether it simply specified too small an array?

And then you check d->arch.mem_map.regions[i].pad. Why's that? And even
if needed here for some reason, that's surely not EINVAL, but an internal
error in Xen.

Finally instead of __copy_to_guest() can't you use __copy_field_to_guest(),
for just nr_regions?

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -946,6 +946,31 @@ struct xen_domctl_paging_mempool {
>      uint64_aligned_t size; /* Size in bytes. */
>  };
>  
> +#ifndef XEN_MAX_MEM_REGIONS
> +#define XEN_MAX_MEM_REGIONS 1
> +#endif
> +
> +struct xen_mem_region {
> +    uint64_aligned_t start;
> +    uint64_aligned_t size;
> +    uint32_t         type;

What is this field set to? I see no #define(s) in this header. If it's
the GUEST_MEM_REGION_* in the Arm header, a connection needs to be made.
Also note that GUEST_MEM_REGION_* violate name space requirements: New
additions should have XEN_ / xen_ prefixes on their names.

> +    /* Must be zero */
> +    uint32_t         pad;

This, being OUT only, should not be required to be set by the caller. As
long as no use appears, Xen merely ought to guarantee that it'll be 0 upon
return.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 09:33:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 09:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700766.1094401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJTN-0000Eg-7u; Thu, 04 Apr 2024 09:33:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700766.1094401; Thu, 04 Apr 2024 09: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 1rsJTN-0000EZ-5H; Thu, 04 Apr 2024 09:33:29 +0000
Received: by outflank-mailman (input) for mailman id 700766;
 Thu, 04 Apr 2024 09:33:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsJTL-0000ET-J7
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 09:33:27 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6236dd7e-f266-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 11:33:25 +0200 (CEST)
Received: from BLAPR03CA0130.namprd03.prod.outlook.com (2603:10b6:208:32e::15)
 by DM3PR12MB9391.namprd12.prod.outlook.com (2603:10b6:0:3d::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 09:33:22 +0000
Received: from BL6PEPF0001AB54.namprd02.prod.outlook.com
 (2603:10b6:208:32e:cafe::7c) by BLAPR03CA0130.outlook.office365.com
 (2603:10b6:208:32e::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 09:33:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB54.mail.protection.outlook.com (10.167.241.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 09:33:21 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 04:33:20 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 02:33:20 -0700
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.35 via Frontend
 Transport; Thu, 4 Apr 2024 04:33: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: 6236dd7e-f266-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fSUqWUXTzCT+/j72IWesg9d1H3qPe+Xjpk2zOi+fbGD20dbiGrQAawqNa7wNTAadvS0AkFskCyUCHaiz5h5fkZ/h9Z6NqdkTALeewi6kzTqhjW12glr2H+QndarTh+kd6wjTtO/QDzaMqvpXmafPeMTjLXcuNZe4OED9N3E5C+anuITpDyaNfQimO2m9XpjqioKCgevcJLlgnEMpurmYCPWn0U0yTX5GeEig3DnoCrQLA+w1KfnLBcxY36Vl3LCfto+rima2uvWpUq82fqeh0HBoNBC8KhLCcsYBtx5bMAni1y9SEvnfOtFey2TkEa02Mq8p35btDtngfbisAUqKnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z7XVk3eXm6kIotJRQSDjHuPdgRvu9LQVIsHzosGwGUs=;
 b=cKmS9+jYcsW9Rruo2AFMI75aAf8rX0GfmlryIBmC2TrBiMI9TccIQ66aCv8zEYzdlhhuZG0Yk7cGYl10BxzxtyKckJYfQvezzAIZP2Ps3U2uw1zXXmTQpRlhz7CGmFoTzNrvOqo+tB1Zer5OHqK/8nD5xKaNacPZOc9j4Ifgjx6n2dqMphmOS7ZtjUXbrozxOHvEpxm5YAIcVOyKMOvdbqSoW/+apd2fUPPpm3GFBLn1O3eQ0uHzDgC0RtdSQNz2YA7rvL5dpNaGghG+2lMoI/dyCc1238jrFkcAZUlsrIdvO4CQ4zZZdV8ni6P02eVXlWXPhTifmsyJyL20wKOkyw==
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=Z7XVk3eXm6kIotJRQSDjHuPdgRvu9LQVIsHzosGwGUs=;
 b=UsGi9jGK7cBn1KKWjGXR7rCshQbIPoN6FRn8bd4K6GbnOGEf4VvLwONBiJsI5c2l41Dt+37sugW6rJb3Hvp4bYHj+TXnnGQYPHZHBZRHR+WYd+Bzwm3EXk3V7cu2Gz7XswmUwWX2TxT+/V2Rqgefpcg/gOH8CDGhIuZ+Su/m1uY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <a1d3a8cd-b83c-492d-a729-7d331f8e14cf@amd.com>
Date: Thu, 4 Apr 2024 11:33:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/11] xen/arm: Conditional compilation of
 kernel_info.shm_mem member
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240312130331.78418-1-luca.fancellu@arm.com>
 <20240312130331.78418-5-luca.fancellu@arm.com>
 <0dd4d824-068a-4975-a1af-e194337a64b9@amd.com>
 <80AC304B-270F-4EB7-85BF-78B55D5C454E@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <80AC304B-270F-4EB7-85BF-78B55D5C454E@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB54:EE_|DM3PR12MB9391:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e140e51-fed4-42ff-079f-08dc548a4504
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VPFfZFOFt8hZDFuxT0PlFFiBuP040crAkOF7oVnBfcq4iOO5pjipD1wG55PxC2pYWpBOPdhypX+dCP6ciGdx1Zw/e7479u0J8BcT/XYkE4nFCA2/9C8im1Ro6X3oxenItRHt1mPsvpcMVW/XIlWiWhvIalUZy7F8WfZJ6VecpgZpeiPCBJp9dxDWNsgun03Sz6STvzGlK3MDH27w0qRBrCWxn/p0uWVnu0EMCaz8PQIYdUTPXW852q62xH4SvGPMQ1FLBhDnwAbSWE+CPWh4GdTMUZ4xYktjRbt4z3X2hOY7uWmAfAaHiUJvn+kapmEnM43laAqKX5gS1q5QcupwpZbOp8GjSIQsYOluekjiivAZ7Gab9XvyE4IBup8t/fKeIYiSZJRHVWI4dpmonoGLKuoZao6IB+afEnj2ezGd9jfBXUSTvNzJpTRK4czhdYEaJZOlOYcM+uCktT21Sx1n+/nvmh8XdZlUl3KR13zno4FRWEfTpxM4Ggk5W/XqGP9Y9PMbjdla3tI53ekM40uICAY3cFIRILGkAbhBjkl5cB9zYPDtnaxaFlMPAigwOY8F/pfhy31Mkvgr1ig+B56w5Dnr+Lg66SHowKkTihloDi+89Sett6HKHvO+mSXQX0x4wZ3l6Eeve9S0ZwtEU8qj1EBKe82Tc1BoJb7gQCZOyOvskI+PPBbJl6HTKoRe4WrkKLYn5mn+XV9R5r+Ww5i67D5/wRbdP20kHvWrtWnD7AowSiWOx4/X4I7xPkJ+bBGi
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 09:33:21.7379
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e140e51-fed4-42ff-079f-08dc548a4504
X-MS-Exchange-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:
	BL6PEPF0001AB54.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR12MB9391

Hi Luca,

On 04/04/2024 11:27, Luca Fancellu wrote:
> 
> 
>> On 19 Mar 2024, at 14:58, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Luca,
>>
>> On 12/03/2024 14:03, Luca Fancellu wrote:
>>>
>>>
>>> The user of shm_mem member of the 'struct kernel_info' is only
>>> the code managing the static shared memory feature, which can be
>>> compiled out using CONFIG_STATIC_SHM, so in case the feature is
>>> not requested, that member won't be used and will waste memory
>>> space.
>>>
>>> To address this issue, protect the member with the Kconfig parameter
>>> and modify the signature of the only function using it to remove
>>> any reference to the member from outside the static-shmem module.
>>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>
>> NIT: I always wonder why we have hundreds of functions taking both struct domain and
>> struct kernel_info as arguments if the latter has the former as its member. As you are
>> revisiting the function and modifying parameter list, you could take the opportunity
>> to change it. But you don't have to.
> 
> You are right, can I do this modification as part of patch 3 and this one? Also, can I keep your R-by
> here when doing this change?
You can do this as part of patch 3 (afaict there will be no need to modify the argument list in patch 4)
and you can keep my Rb.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 09:34:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 09:34:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700768.1094411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJUD-0000jS-Ha; Thu, 04 Apr 2024 09:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700768.1094411; Thu, 04 Apr 2024 09:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJUD-0000jL-Eb; Thu, 04 Apr 2024 09:34:21 +0000
Received: by outflank-mailman (input) for mailman id 700768;
 Thu, 04 Apr 2024 09:34:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ClcT=LJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rsJUB-0000j7-Ft
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 09:34:19 +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 81608891-f266-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 11:34:16 +0200 (CEST)
Received: from DB9PR02CA0022.eurprd02.prod.outlook.com (2603:10a6:10:1d9::27)
 by AS8PR08MB9840.eurprd08.prod.outlook.com (2603:10a6:20b:613::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 09:34:12 +0000
Received: from DB1PEPF000509EA.eurprd03.prod.outlook.com
 (2603:10a6:10:1d9:cafe::6) by DB9PR02CA0022.outlook.office365.com
 (2603:10a6:10:1d9::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Thu, 4 Apr 2024 09:34:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509EA.mail.protection.outlook.com (10.167.242.68) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Thu, 4 Apr 2024 09:34:11 +0000
Received: ("Tessian outbound e26069fc76b9:v300");
 Thu, 04 Apr 2024 09:34:11 +0000
Received: from d49fdf4a02c0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 310C725A-DC60-4160-91DC-8025E332ECCB.1; 
 Thu, 04 Apr 2024 09:34:00 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d49fdf4a02c0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 04 Apr 2024 09:34:00 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM7PR08MB5509.eurprd08.prod.outlook.com (2603:10a6:20b:10c::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 09:33:56 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::3716:2f81:3984:f186]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::3716:2f81:3984:f186%3]) with mapi id 15.20.7409.042; Thu, 4 Apr 2024
 09:33:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81608891-f266-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=KNli5a21K0BXkxCFjawtzIq0uAueiPSTVXNM44xwhiB6NAX8jcAoem6sbM8oXf95w9O4HMSHqdHFRglta1IEr+Bfgco8pQxRkRQt/yRuHxH9K+0fMDQE/JMvl9aYiSEpmc+a9KId8E3Tdv+qwk8JboeOMy+sq6IiISEApBsjkx8rb5AfvAnGQnYGbHYnWNnkgauo7dAIb4SUOulZSw+OjQOZJgoQ76JIBzNG+gCYPf+Aez8T0C0eY9h+2eyjpaMZeQHtkWZH3iYsOI2FWxFqyZ8EeiwAoMlQjt/y4omjYunddSfOlkjQTmqiG8nzUQ/zecEQzmIyEPRsvsVsfz7fPw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v2BiQgMdgcwo9JQ200aWwl3N+V94lEXCpNNe51ZpZYk=;
 b=efa/23sexi1Iaf+L/VXLXboX61poZkNSgh/JLHFN3oB/9S9Mk+HW0kiw6Dg7R1hCochP6JQDMVKEkkjnouSz+lY/DIDSYEJ1UibBke69qfJJkaWSIKEM+FPycDuidNw1RUq3TPc5OXmFyvtXM/DATYr3VNhOSBdhEz10ng+S7C46YXLgxLoKQsX66FiVtr2hnnIr/HmJ3owOGdLGvIfQ0v33ZMMv3hHx/oU6V6cu4skAEdyzFWayrlNsuVkluneYLRVaks/+BiB3m7OtXO4A7ZBwgsrDjQ9IDba+Yq2iKjcjNCIR8fjywM9YGeT5b6A23auSe6J6hiuqinzM5VycKw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v2BiQgMdgcwo9JQ200aWwl3N+V94lEXCpNNe51ZpZYk=;
 b=JMZOxG1Kj61eIyJNrcLh8S4+kwsTd5L62Hwg/sHlCRLA+TALfH2EB0h6NcDN8nTZMvqyNDbWbVkGIaVBBNk+4JVxgOkOy17SZEnd+oZTJdAZ+dkM2peigZCVqyPzJ01saD+G5K1vn55g8dq1VnM6c1K6O8h44Gwefh25fLklYbk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c45b1de09844539f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VKUSJE1HW+9e64S/mk5VxREWnfOUGzqUZ9rcZalF3ZfgaY3nI6G2U56n9McV3a/B4TAjWLhpR17DT1juabsBRxwUtFCo1sXW592qku60GOujWMyBVqH8CIe+H1pFMZD4zfvZTKPXTvqM7c9YEXL9ezuwiH+9yAKAiF1xDvxs9KMIkOk5OFGaVUqXMGFnwb1aS/B/QPLpSHGhiqAmxHPnQ1m0zlZS7AoR22UHtaENxNQoVUMaFXWo/6/PQ3U+dr0y5uhC8HQc6uJ3P884gVn6MQ49vMjhKsxRDLKXiKi/07qoHEJED0cjt/I7JlVW5cMsX5FPCNwFm27c+mkMZYEtFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v2BiQgMdgcwo9JQ200aWwl3N+V94lEXCpNNe51ZpZYk=;
 b=OtPM+RPyXIKwdSQsYQUJ1yxQmQhMxz0Zle6D4dMXmSSnxEFtkgKfP8TKgolqwy9CzvKG52ZHeNO9PWPv5Ir5g4zeCYNdGBPGHr3BNbfFeRZA+33tSDH9nCXvxflWFIlNZ8H182Jt4522d85muzHn3AK8LWXYOHe7kfK6jLcyG5ri2rFoLkWGpVHVlasjMgQSl57hS7FQfT1sNWjYS4jd4/oz1gwds9MvNtQI0Cmyd8PnYjvPzyw5/5jghqAsg1Hj4px2hH5qtwwOyW83F4oG3j462zPuNEHU86CBLo06gztZp8fzgy7U1Ka/DCen8smCHNOHLCFVELkGzvnuQ83RVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v2BiQgMdgcwo9JQ200aWwl3N+V94lEXCpNNe51ZpZYk=;
 b=JMZOxG1Kj61eIyJNrcLh8S4+kwsTd5L62Hwg/sHlCRLA+TALfH2EB0h6NcDN8nTZMvqyNDbWbVkGIaVBBNk+4JVxgOkOy17SZEnd+oZTJdAZ+dkM2peigZCVqyPzJ01saD+G5K1vn55g8dq1VnM6c1K6O8h44Gwefh25fLklYbk=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 08/11] xen/arm: Reduce struct membank size on static
 shared memory
Thread-Topic: [PATCH 08/11] xen/arm: Reduce struct membank size on static
 shared memory
Thread-Index: AQHadH3fZ6dDv0/IQEuODzMfw6ES3rFDntIAgBRekoA=
Date: Thu, 4 Apr 2024 09:33:55 +0000
Message-ID: <F2A93445-09E5-408B-8857-0CDB6ECCF360@arm.com>
References: <20240312130331.78418-1-luca.fancellu@arm.com>
 <20240312130331.78418-9-luca.fancellu@arm.com>
 <1cfde34b-6d03-4a18-81af-2e2a0195190e@amd.com>
In-Reply-To: <1cfde34b-6d03-4a18-81af-2e2a0195190e@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM7PR08MB5509:EE_|DB1PEPF000509EA:EE_|AS8PR08MB9840:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 vtnhzV6/BTZVRKrY0X7gzCaWPOJKgMVxm0BTTTQASidnieNtBBjVhMgp2ykqEgmRCg9n6AU+heYJX2mwt3tsT068Uu5x2NKWxoX3Wsx9lllPdwfg4I/taRzC2Hd30SOq/IvqX+SlzZTCTEppPpTih3m0BTois5Ozpjn+3QpSf4+qSuJ5ytVg9TZuFb9zYv9lrxjoNUfu7p9ajeUr9c4WwxCJ4Xd/9W1OU9mfjnMCJKYEtdPYqFFkWJct2QNE4lzM0acOKnry/bken8NR0me1DmZPMbUJUNvPfslvh/zFFgfqwRVtgnRu8iAw6a/mHS+vsQSfCCBDCyKYE7qhCuPI5GP9euK7Zusr2CdvX1izd8/CTRQJvWXPeJoLnoOydyt7IZxKdpzYJFRp3WP/XzzDsGF7DTBWBC/QPXKfxUlBfVQjxevBmNt/8E++S9Iw3+l9Yzee2cshchIdkrAq1S7lNwoMRxc2rbkUHcUqKzmJkEdSOni21yBGVaZvbKrEyChO9Kwt2tblsVb17Ay4VVJMvcGHEO4pCzFO11jPKysKP9kuTjrMBJTVRTwQLceqLRIduIhHW1Bj7KowttUnwdB2SgEYrfp8Gn6VHtMhExhlxT4XP7WRntrC/GmyUYXTp4DFmdm9z1R53/yqj6t7+iaUX3qgVpUZnDI6UNxNo0zoN4U=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DCEBD6B91891864F9155F6A5410FCDFE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5509
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509EA.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e21cf115-481b-4c5e-f1c9-08dc548a62b0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZVApHholVDq278DMwwVZRhdSwBZ9EPKeS7638IVBQfPDAUuOj4TTJQ4NES80WftDjGx1myiw8QUQ3cLcPB2AAkJu4BnTEdWDa0D+GeSirCbOc2BLsZKNF8NuI/vDrwUlExmb46CJ5QFMxU6V0T6cXrKjBpQ+UR1ChSZzkVsFdIptqQzEb8d3KYYsL2TSd9Vt+ZzVzsgpu+7bVj7z8rbzAF8wU7htzkDRUTP9kIXceFDpkri26/dGdSERGzc73NKXg6AbEgKvlelMpuVNqLPDMfw8Sp3f9P+9/hxrbrBf27FXiCI0FcdtOIZhvVdPrCHzb9gEF7jYd494bPWP4iwYqwJsmXPOazDJwoeYpnID8OKNqI0y5WDtOaSac90hLPiLgKe+Ud8CI9ONmDPo4EXYH1U6GJ//0wo4cj+O/+8kXk3ypz8vYY1lAkrbpzfozoZpxVZx2Mo8PjRHvrq454oWZ1edOn/4mn7CVgfM67/P2Vl8U/TnE53FWnCNhjqjuwV5TdRIV0C1VG6isIKFY9kSEHdAxFNz6LK5yPuMyd+SRMaG0hj7yB9uE+b4uFLzVYp8l/DS3J/BFi83wh+oHQkAAMh4jgRaiI9/a4ICxE3yJWUsketwYU0Brn7ta00tjlJHztfSj4toB4NdVbdxDrD6jv5S8k7FflZPlF+qJPH5QH5wkzpCiJremHhpV7fsurpBPWWF8/PUn6IsfMKerC/gx75gIrgTljKSEBPIjLA+Lc+3WDWcFNCTTv80I/imOSq/
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 09:34:11.7282
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e21cf115-481b-4c5e-f1c9-08dc548a62b0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509EA.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9840

DQoNCj4gT24gMjIgTWFyIDIwMjQsIGF0IDEwOjMwLCBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnpl
bEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IEhpIEx1Y2EsDQo+IA0KPiBPbiAxMi8wMy8yMDI0IDE0
OjAzLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiANCj4+IEN1cnJlbnRseSB0aGUgbWVt
b3J5IGZvb3RwcmludCBvZiB0aGUgc3RhdGljIHNoYXJlZCBtZW1vcnkgZmVhdHVyZQ0KPj4gaXMg
aW1wYWN0aW5nIGFsbCB0aGUgc3RydWN0IG1lbWluZm8gaW5zdGFuY2VzIHdpdGggbWVtb3J5IHNw
YWNlDQo+PiB0aGF0IGlzIG5vdCBnb2luZyB0byBiZSB1c2VkLg0KPj4gDQo+PiBUbyBzb2x2ZSB0
aGlzIGlzc3VlLCByZXdvcmsgdGhlIHN0YXRpYyBzaGFyZWQgbWVtb3J5IGV4dHJhDQo+PiBpbmZv
cm1hdGlvbiBsaW5rZWQgdG8gdGhlIG1lbW9yeSBiYW5rIHRvIGFub3RoZXIgc3RydWN0dXJlLA0K
Pj4gc3RydWN0IHNobWVtX21lbWJhbmtfZXh0cmEsIGFuZCBleHBsb2l0IHRoZSBzdHJ1Y3QgbWVt
YmFuaw0KPj4gcGFkZGluZyB0byBob3N0IGEgcG9pbnRlciB0byB0aGF0IHN0cnVjdHVyZSBpbiBh
IHVuaW9uIHdpdGggdGhlDQo+IE5JVDogQUZBSUNUIHRoZSBwYWRkaW5nIHdpbGwgYmUgcmV1c2Vk
IG9uIEFybTY0IGJ1dCBvbiBBcm0zMiB0aGVyZSB3aWxsIHN0aWxsIGJlIDRCIHBhZGRpbmcuDQoN
ClllcywgbXkgcHVycG9zZSB3YXMgdG8gbWFrZSBjbGVhciB0aGF0IG5vIGFkZGl0aW9uYWwgc3Bh
Y2Ugd2FzIG5lZWRlZA0KZm9yIHRoYXQgcG9pbnRlciwgc2hvdWxkIEkgcmVwaHJhc2UgaXQgb3Ig
aXTigJlzIG9rPw0KDQoNCj4+IA0KPj4gDQo+PiArc3RydWN0IHNoYXJlZF9tZW1pbmZvIHsNCj4+
ICsgICAgc3RydWN0IG1lbWJhbmtzIGNvbW1vbjsNCj4+ICsgICAgc3RydWN0IG1lbWJhbmsgYmFu
a1tOUl9TSE1FTV9CQU5LU107DQo+PiArICAgIHN0cnVjdCBzaG1lbV9tZW1iYW5rX2V4dHJhIGV4
dHJhW05SX1NITUVNX0JBTktTXTsNCj4+ICt9Ow0KPiBTYW1lIGFzIHdpdGggbWVtaW5mbywgcGxl
YXNlIGFkZCBhIEJVSUxEX0JVR19PTiBmb3IgcGFkZGluZyBiZXR3ZWVuIGNvbW1vbiBhbmQgYmFu
ay4NCg0KU3VyZQ0KDQo+PiANCj4+IA0KPj4gLXN0YXRpYyBpbnQgX19pbml0IGFwcGVuZF9zaG1f
YmFua190b19kb21haW4oc3RydWN0IG1lbWJhbmtzICpzaG1fbWVtLA0KPj4gLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydCwgcGFkZHJfdCBz
aXplLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciAqc2htX2lkKQ0KPj4gK3N0YXRpYyBpbnQgX19pbml0DQo+PiArYXBwZW5kX3NobV9i
YW5rX3RvX2RvbWFpbihzdHJ1Y3Qgc2hhcmVkX21lbWluZm8gKmtpbmZvX3NobV9tZW0sIHBhZGRy
X3Qgc3RhcnQsDQo+IElzIHRoZXJlIGFueSBwYXJ0aWN1bGFyIHJlYXNvbiB0byBwcmVwZW5kIHRo
ZSBzaG1fbWVtIG5hbWUgd2l0aCBraW5mbz8NCg0KSSB0aGluayBiZWNhdXNlIHVzdWFsbHkga2lu
Zm8gaXMgdXNlZCB0byBwb2ludCB0byDigJlzdHJ1Y3Qga2VybmVsX2luZm/igJksIGluc3RlYWQg
aGVyZSB3ZSBwb2ludCB0bw0KJ3N0cnVjdCBzaGFyZWRfbWVtaW5mbycNCg0KPiANCj4gfk1pY2hh
bA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 09:38:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 09:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700774.1094422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJXz-0001K4-2H; Thu, 04 Apr 2024 09:38:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700774.1094422; Thu, 04 Apr 2024 09: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 1rsJXy-0001Jx-Tp; Thu, 04 Apr 2024 09:38:14 +0000
Received: by outflank-mailman (input) for mailman id 700774;
 Thu, 04 Apr 2024 09:38: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsJXx-0001Jr-It
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 09:38:13 +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 0d46c036-f267-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 11:38:11 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-56829f41f81so1073007a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 02:38: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
 w24-20020a056402071800b0056e0e8578ffsm1154763edx.70.2024.04.04.02.38.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 02:38: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: 0d46c036-f267-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712223491; x=1712828291; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Rw40+l+M8bjXx2sIoF1+HIH86wHCQV0kN95YGjZpj2E=;
        b=ZBbhuqaHsWv/ewwmjgXaYYC+KC3h/hr6yeoDux8zqGCLV4Wwl21lyJ1nJW0HgQ60Yk
         7F4t/zeAREH0LG2Y1w2rU9MY9S1BihmAOr7lbDWgFbExkmAmLGNsZB5/UGr2w95CPtyX
         0E0m7eqFCu2h2u6L94CE68SAMcHEhRKN0Ujoz61s0y03unkqxLrneVVe7xrau1G6v751
         hzdv83Qp3CY6UJ+twztZOp2xyoaktk1/BZg1xCwfowEq8ofwEWb+yzSxkzHQ2ueERkt3
         WrEksqTSD9I7WG23+MqXCpwJdwKql68V67d4qO94LDPjD09+yuCjd0FGklod9h/DFT2j
         lgZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712223491; x=1712828291;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Rw40+l+M8bjXx2sIoF1+HIH86wHCQV0kN95YGjZpj2E=;
        b=CmNsXnh7yUJpHgVJ2HbiAVTWTOE8ZVlTrwFUBGGfUdHOaASBlYnp9H2eExjJJNx+VG
         pUH3KyUGtChFjN+ke+vxOIKAhAMTJcrtft3+HhiRpJt0MjE5TZREO9xNYBIxKD9+SqEy
         YyoCyE1UIkxYWOQqID3bYWGMX4pAIjkmVYw5Alc7fkk0hN2PEX81jNFMS4QE2amdYtt6
         XWDbnVWj/0oGNDsJUzwKQBplMaaljJktCiD79okNpokRVrTKHizARGShCQsDodjqjj6Z
         Jbv+7v0W/WwlFS70pz2bSxKAH60w/Zou3YrCA9aF/qPwRk9MsaJHTWMXJ68Gw5C1g1EK
         cLZw==
X-Forwarded-Encrypted: i=1; AJvYcCUj8NA8qqfRWFebYZ6AIJp8d8YbFxc0teXkucFIn8hpDGtEDUcgxCjwT4k6VzIuTcBwuBzMEU4DN8sqhkwaZgHjITzclBAqXhMlzU271RE=
X-Gm-Message-State: AOJu0YyDr1FaTtYuso1kthzRhvn9oMlZIi8ANb7A8MECEidwelOCGZ55
	GIqY+rjQjAiURDK1bYo7SvbgTSaNjMRmovLkoIov3+1/2sk0x+7XSyLBtY30cQ==
X-Google-Smtp-Source: AGHT+IEmU8KF4qoptbHRGbTwlU6fzalhBEom551p06BRHiIczTY4Un2Iy09z1al4u7AFALIzI8ukjA==
X-Received: by 2002:a50:8713:0:b0:56b:b66d:5bfe with SMTP id i19-20020a508713000000b0056bb66d5bfemr1123168edb.31.1712223490960;
        Thu, 04 Apr 2024 02:38:10 -0700 (PDT)
Message-ID: <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
Date: Thu, 4 Apr 2024 11:38:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240403081626.375313-5-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 10:16, Henry Wang wrote:
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -219,7 +219,8 @@ static void populate_physmap(struct memop_args *a)
>          }
>          else
>          {
> -            if ( is_domain_direct_mapped(d) )
> +            if ( is_domain_direct_mapped(d) &&
> +                 !(a->memflags & MEMF_force_heap_alloc) )
>              {
>                  mfn = _mfn(gpfn);
>  
> @@ -246,7 +247,8 @@ static void populate_physmap(struct memop_args *a)
>  
>                  mfn = _mfn(gpfn);
>              }
> -            else if ( is_domain_using_staticmem(d) )
> +            else if ( is_domain_using_staticmem(d) &&
> +                      !(a->memflags & MEMF_force_heap_alloc) )
>              {
>                  /*
>                   * No easy way to guarantee the retrieved pages are contiguous,
> @@ -271,6 +273,14 @@ static void populate_physmap(struct memop_args *a)
>              }
>              else
>              {
> +                /*
> +                 * Avoid passing MEMF_force_heap_alloc down to
> +                 * alloc_domheap_pages() where the meaning would be the
> +                 * original MEMF_no_refcount.
> +                 */
> +                if ( unlikely(a->memflags & MEMF_force_heap_alloc) )
> +                    clear_bit(_MEMF_force_heap_alloc, &a->memflags);

Why an atomic operation? &= will to quite fine here. And you can also
drop the if().

> @@ -1408,6 +1418,10 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          if ( copy_from_guest(&reservation, arg, 1) )
>              return start_extent;
>  
> +        if ( op != XENMEM_populate_physmap
> +             && (reservation.mem_flags & XENMEMF_force_heap_alloc) )
> +            return -EINVAL;
> +
>          /* Is size too large for us to encode a continuation? */
>          if ( reservation.nr_extents > (UINT_MAX >> MEMOP_EXTENT_SHIFT) )
>              return start_extent;
> @@ -1433,6 +1447,10 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>               && (reservation.mem_flags & XENMEMF_populate_on_demand) )
>              args.memflags |= MEMF_populate_on_demand;
>  
> +        if ( op == XENMEM_populate_physmap
> +             && (reservation.mem_flags & XENMEMF_force_heap_alloc) )
> +            args.memflags |= MEMF_force_heap_alloc;

If in the end no new sub-op is used (see below), this and the earlier if()
want combining.

You further may want to assert that the flag isn't already set (as coming
back from construct_memop_from_reservation()).

> --- a/xen/include/public/memory.h
> +++ b/xen/include/public/memory.h
> @@ -41,6 +41,11 @@
>  #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>  /* Flag to indicate the node specified is virtual node */
>  #define XENMEMF_vnode  (1<<18)
> +/*
> + * Flag to force populate physmap to use pages from domheap instead of 1:1
> + * or static allocation.
> + */
> +#define XENMEMF_force_heap_alloc  (1<<19)

As before, a separate new sub-op would look to me as being the cleaner
approach, avoiding the need to consume a bit position for something not
even going to be used on all architectures.

> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -192,6 +192,13 @@ struct npfec {
>  /* memflags: */
>  #define _MEMF_no_refcount 0
>  #define  MEMF_no_refcount (1U<<_MEMF_no_refcount)
> +/*
> + * Alias of _MEMF_no_refcount to avoid introduction of a new, single-use flag.
> + * This flag should be used for populate_physmap() only as a re-purposing of
> + * _MEMF_no_refcount to force a non-1:1 allocation from domheap.
> + */
> +#define _MEMF_force_heap_alloc _MEMF_no_refcount
> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)

Given its purpose and scope, this alias wants to be local to common/memory.c.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 09:51:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 09:51:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700778.1094430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJl0-0005rB-7A; Thu, 04 Apr 2024 09:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700778.1094430; Thu, 04 Apr 2024 09:51:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsJl0-0005r4-4X; Thu, 04 Apr 2024 09:51:42 +0000
Received: by outflank-mailman (input) for mailman id 700778;
 Thu, 04 Apr 2024 09:51:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0869=LJ=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rsJky-0005qy-LD
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 09:51:40 +0000
Received: from mail-oa1-x2e.google.com (mail-oa1-x2e.google.com
 [2001:4860:4864:20::2e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee3fa5b0-f268-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 11:51:39 +0200 (CEST)
Received: by mail-oa1-x2e.google.com with SMTP id
 586e51a60fabf-22e8635899cso407941fac.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 02: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: ee3fa5b0-f268-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712224297; x=1712829097; 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=Rn3tdGpipF8aAAsAwBCQA/4bW0dr7jdjaE/WLTZQ30E=;
        b=fHa0O0Cf7HL0NPqJa/MONjIKK/WLi4NmgfwKWp6PLh6TZFJ+qcnqoUUMKjH6ULuPwD
         eH6oSAZ1DiIjMNNy9bCepPlALrQMo6nJCeg9VLWDgInh6Dev5+TyNtxqO5AtWQxUOcgO
         Pth/hHFgSMAjIQ3R2XqNR1vxGoJD4ZjUS7NWg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712224297; x=1712829097;
        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=Rn3tdGpipF8aAAsAwBCQA/4bW0dr7jdjaE/WLTZQ30E=;
        b=TVRwDY4JmOuOTlFICmvh3bupJCbBEZqWWoLC9mWGHPGVdXQHTOc+sClQlSMSYlhzov
         ZP6iyonxZ6qz15PEn+O8mV/79nZV0aohvMOOWqGoSBrGe3MZbazGS2qCekXPuFeV1a8e
         KqZbWZj/h4IitDgIOaOcXg2uF5sWE6HFucUUwA0JWZ3Zz5uToeR54OL4oEnziSBReiDZ
         Y5bxI0brlxFFX3pojM1GDuml4vL8yDA+scXF4qxoBhxOvIToMTs0GqA7W1+t6xj+0L5a
         fcnjcfREFpToDzkDH12ZmnGmUNbmd/d1n1BwI1yKdL775HOyUleY1R4ecDY97CId6nQX
         zU3g==
X-Gm-Message-State: AOJu0YyoPlqZnWQ+taNINIljsIEFfpj6tC6ZhaysyT1QmbknyasI7GVa
	hNHNtW2U9POglUvAiyes/VCVsXFkM/nby4mroW+mGI7zkVBFRELlyKYZWP3AhDn8quvLjR+wVWu
	9UmZNjm1EMz3EkiqkmFVkbXa0W4zeXgGFeFOg7w==
X-Google-Smtp-Source: AGHT+IHmBKhglksbujLxmWeQ2JfwnizjBCPdQkTM0m1C/uqwg6tib2FQi+JGqf8k7oD6FJqcyBQ7dlMUQlMtggKrhP8=
X-Received: by 2002:a05:6870:844d:b0:22e:9125:380b with SMTP id
 n13-20020a056870844d00b0022e9125380bmr2047445oak.7.1712224297654; Thu, 04 Apr
 2024 02:51:37 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1712215939.git.federico.serafini@bugseng.com> <08c449728221c9c2b9e87f22eb9d0cffbf7ecf68.1712215939.git.federico.serafini@bugseng.com>
In-Reply-To: <08c449728221c9c2b9e87f22eb9d0cffbf7ecf68.1712215939.git.federico.serafini@bugseng.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 4 Apr 2024 10:51:26 +0100
Message-ID: <CA+zSX=by6Pf0sLHBxH3pL3=gLcrhjRFLnR+JR1oGRrBn07L48g@mail.gmail.com>
Subject: Re: [XEN PATCH v2 1/2] xen/sched: address violations of MISRA C:2012
 Rule 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
	Dario Faggioli <dfaggioli@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 4, 2024 at 8:49=E2=80=AFAM Federico Serafini
<federico.serafini@bugseng.com> wrote:
>
> Add break statement to address a violation of MISRA C:2012 Rule 16.3
> ("An unconditional `break' statement shall terminate every
> switch-clause").
> Replace deprecated comment /* FALLTHRU */ with pseudo-keyword
> fallthrough to meet the requirements to deviate the rule.
>
> No functional change.
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Acked-by: George Dunlap <george.dunlap@cloud.com>


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 10:07:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 10:07:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700781.1094440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsK09-0008TT-HS; Thu, 04 Apr 2024 10:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700781.1094440; Thu, 04 Apr 2024 10: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 1rsK09-0008TM-En; Thu, 04 Apr 2024 10:07:21 +0000
Received: by outflank-mailman (input) for mailman id 700781;
 Thu, 04 Apr 2024 10:07: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsK08-0008TG-6K
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 10:07: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 1d698517-f26b-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 12:07:18 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a4e60a64abcso322263866b.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 03:07: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
 u8-20020a170906b10800b00a473774b027sm8805075ejy.207.2024.04.04.03.07.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 03: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: 1d698517-f26b-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712225236; x=1712830036; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=bTyQGhChjhHGamMVwINvFE9t6PWt490PDvkX3lKLNIM=;
        b=Bqyee7tOyspXz7gMnmCynLSfCBUy8NmL3SUjADD0vTByvDrZt302JZU6jDaCUImbw6
         PCwVDVmf78T+oIs1lD+j9gWEDgb9IdBCqjXdU/DiRIsluR9PKSXQroVCqENpEEFNDSYI
         aJKfJ3uQ5plGRaaYuUOeGFj3mwsvpNlY8F3RbQa1MhhDmB67VX8V2QO/E8abQHeBuE05
         auSLsz5UE6hcfW0NofLPnDRjvsYNuzf3DMoDRbDnmyv3sYSV40jdeU2V458+h0utS9Y/
         78efb7Yv83MzbM5jiboKaSSIEMo6RaOBfFQT1MBYr0dUtUpWqP9XN6tG4P6XlSv3Ea67
         ujag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712225236; x=1712830036;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bTyQGhChjhHGamMVwINvFE9t6PWt490PDvkX3lKLNIM=;
        b=OfBDIhgq3H/caXW2BOkQoSVkJuQrv33IJIyH/h6TGvNye4+N1718O7JhVCIZShItBs
         wRb9QSdIZMPZAdzak93Y/VIQcRiglSyYIy3S6/nQYeDoCQqLq2VhFljrIj+7rsw7s+XR
         l+TXfLfMjDkN7pZxJi/Fn+k/AJSU/8tietzafw57kOlvpBmbmDgJBOySUoRQwbmlznCd
         SB0IhpPbdCPLPNPNHB3OShd2I+hVWta4L6rxtgSz6D4kft/7k+QHwB+CKSqmSIssuLiF
         0udQXSajw/zMIbWx0cIFN47XyhqsIbIfOspFaRbQ7ozSGc+V0tiMs9H+DZnQiRIdGuZm
         sGJA==
X-Forwarded-Encrypted: i=1; AJvYcCVHgn9ujkk1SLts/6yQRTRDrF84M45EzdUt2NXIycAu1nLtKvj0EhWeKUVig09zTtS9GBqw01drQuqyAsBH8TKPVVEAdr3X3FZMP1O8V8w=
X-Gm-Message-State: AOJu0YwOopY9dQPErtOiRrJvKulfRfcqdNH2gluQP+8l+jsxDoNReTP5
	Hefm+JMf//le8b9DWVBwmu1Mzu/bIwuiRCrDfh1w0CTYA56g0S+01Dm6xOe/iQ==
X-Google-Smtp-Source: AGHT+IH6+Ivy9sVh8N8vV+HxfECCvYIVZMTTnT5YYzxsoFbDgHseXXnsXS9r7Db3U2YUtRB5j/8HSg==
X-Received: by 2002:a17:906:bc95:b0:a4e:5a1a:9077 with SMTP id lv21-20020a170906bc9500b00a4e5a1a9077mr1868253ejb.16.1712225235960;
        Thu, 04 Apr 2024 03:07:15 -0700 (PDT)
Message-ID: <bda70742-04b7-4bab-8cdd-6b5a3d45dc3c@suse.com>
Date: Thu, 4 Apr 2024 12:07:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 03/19] xen/riscv: introduce extenstion support check by
 compiler
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:19, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -3,16 +3,27 @@
>  
>  $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
>  
> -CFLAGS-$(CONFIG_RISCV_64) += -mabi=lp64
> +riscv-abi-$(CONFIG_RISCV_32) := -mabi=ilp32
> +riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
>  
>  riscv-march-$(CONFIG_RISCV_ISA_RV64G) := rv64g
>  riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
>  
> +riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
> +
> +zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)

While committing another question popped up: Why "" (i.e. no insn) here, ...

> +zihintpause := $(call as-insn,\
> +               $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)

... but "pause" here?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 10:09:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 10:09:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700783.1094450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsK1z-0000eH-Ru; Thu, 04 Apr 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 700783.1094450; Thu, 04 Apr 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 1rsK1z-0000eA-PL; Thu, 04 Apr 2024 10:09:15 +0000
Received: by outflank-mailman (input) for mailman id 700783;
 Thu, 04 Apr 2024 10:09:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsK1x-0000cX-SW
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 10:09:13 +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 62aede14-f26b-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 12:09:12 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-516ab4b3251so974752e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 03:09: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
 a12-20020a170906670c00b00a46d6e51a6fsm8877682ejp.63.2024.04.04.03.09.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 03:09: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: 62aede14-f26b-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712225352; x=1712830152; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9LgB48Rekx0+HXOSOJzXRkx+a1Ze0DrnzJLgXs7a6j4=;
        b=YHNAOHXYb/yjLTLPddY9eNPaOjRLduZ/8YvCD15cqRMrD/tbpHV5k4epw3Vvyd0GMP
         0jqQcr4GKhw2lND68B1iSq8/yOBXzwsLHM3EEwWcjVM6yZp3f1/02rpZfsQds9O+amj1
         iBtunwbWRGYn+F1oC4bY5ulOZaB3luLnFj3pXukm2u2nz4xrqwNUTjxka+VQwEJMoGY/
         LMm/8zlpvkgMJpwXcTYfav0OopYmagMbuGHdq2H9J2wV6Hxiw9VCIRc/bVlPMavSHgBk
         YBLwWsA5jGhQv9ggzSO6hLuctmO+lrN5IqnD3+jnEFvxen6xnPz372tzr0gecrsWpM0c
         dhTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712225352; x=1712830152;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9LgB48Rekx0+HXOSOJzXRkx+a1Ze0DrnzJLgXs7a6j4=;
        b=Nr6PjiUPITNtL/OrDBvg/lmfn4q9I1kcorop+1NWwkOYDsSdAcrTgMwpgNxMwVwQFc
         v4Y1FptQspNttjZEC81G2ueqWN53d3wvMdQV1Xg+FGX7zF+1TXUAMtYzM+oLvBFfFbRQ
         xjBUQR0DtYmutfgxk8msFPUVfGjZ9yZK1NnQQMFQuV88t5BByS6Du7j5ZOQd0y7ZXVNC
         hx1K2Z6F4xISGaXdU4orXO2Jirh6NxX36dQPRolAFu87edUCfUWpwFtrYh+H+7NcGeLJ
         c0XwxqNb2/8tTcyTqQcXtr80GQo6QvwoCtKALdi0Qc88cW+Qa595X9e6ClcW97E5OBFY
         z4uw==
X-Forwarded-Encrypted: i=1; AJvYcCWWL6oLwSv81CtH7oz9YEt6Up7MYzY3FIzzz9RdwR9cNBn/pq+Se5W6Jait+11SOTw/MoMgvDHuvW9s68r0H95kBi2h2w21IgWXZZAjuIE=
X-Gm-Message-State: AOJu0YwsDXCEL/qPuue0hfJMknYO3Vi7bJCzUoImfKCDd+AXDnOaxmIH
	hgTPFfKX/CEL0R4BPv3yDa7zSNsUvBvzrc+c+EoTrBLSpGW9DgWFHK6JBh9kvA==
X-Google-Smtp-Source: AGHT+IF+ykWYxUdOpvyjT8nGQ9R5KVOkCp0iDy1ws0BBzpQS//4+e7P7oqDsyXQr6hEJkxIk6lmXxA==
X-Received: by 2002:a05:6512:3713:b0:516:c08a:12ff with SMTP id z19-20020a056512371300b00516c08a12ffmr1665560lfr.51.1712225352067;
        Thu, 04 Apr 2024 03:09:12 -0700 (PDT)
Message-ID: <759cb3a3-3eb2-48a4-ab85-36005378ade1@suse.com>
Date: Thu, 4 Apr 2024 12:09:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/4] tools/init-xenstore-domain: Replace variable MB()
 usage
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-2-jason.andryuk@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240327215102.136001-2-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2024 22:50, Jason Andryuk wrote:
> @@ -36,6 +35,11 @@ static xc_evtchn_port_or_error_t console_evtchn;
>  static xentoollog_level minmsglevel = XTL_PROGRESS;
>  static void *logger;
>  
> +static inline uint64_t mb_to_bytes(int mem)
> +{
> +	return (uint64_t)mem << 20;
> +}

While committing I noticed tab indentation here, which looked to be in
conflict with ...

>  static struct option options[] = {
>      { "kernel", 1, NULL, 'k' },
>      { "memory", 1, NULL, 'm' },
> @@ -76,8 +80,8 @@ static int build(xc_interface *xch)
>      int rv, xs_fd;
>      struct xc_dom_image *dom = NULL;
>      int limit_kb = (maxmem ? : memory) * 1024 + X86_HVM_NR_SPECIAL_PAGES * 4;
> -    uint64_t mem_size = MB(memory);
> -    uint64_t max_size = MB(maxmem ? : memory);
> +    uint64_t mem_size = mb_to_bytes(memory);
> +    uint64_t max_size = mb_to_bytes(maxmem ? : memory);
>      struct e820entry e820[3];
>      struct xen_domctl_createdomain config = {
>          .ssidref = SECINITSID_DOMU,

... everything else in the file. Hence I took the liberty to adjust this.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 10:33:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 10:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700798.1094485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsKOp-00071x-Sw; Thu, 04 Apr 2024 10:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700798.1094485; Thu, 04 Apr 2024 10:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsKOp-00071o-QM; Thu, 04 Apr 2024 10:32:51 +0000
Received: by outflank-mailman (input) for mailman id 700798;
 Thu, 04 Apr 2024 10:32:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsKOp-00071i-Bv
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 10:32:51 +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 af99426e-f26e-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 12:32:50 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-56bdf81706aso1071093a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 03:32: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
 j11-20020aa7ca4b000000b0056de3d69d96sm3355220edt.28.2024.04.04.03.32.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 03: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: af99426e-f26e-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712226770; x=1712831570; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EdGWaiJCVcR7vs8ts3uyzYVQX4DbSLb9BDdKBDFsF40=;
        b=d8SIgiXfqAMb4rXPwx3q4r+JeMlXmrcud+kirQOUj8/rw6ZQ/LkIqonoYGgL7pVc5d
         WgweQUg5DGR5Dr80HwsklC+mcMnLb5afbVync90GXZ81GD/XbrYixmFJ4yl/Kqbp2StM
         FJkzTeNYsN6UsJhQGBiTjR/HGW86ATIvzx1o6OrY+Y4L0CiN7P+qJf9YuuAwlu+zVMZM
         j8r5NdDcrUAadEriUuaCvOzpdYICOC5VChGXHh7DnQzeR9AvO5InTIiEKMbmL8Bqkp4n
         0EhkNcTTL63LxbYXBjVQeipi3CHKo2wouZncAPpJM9jicP0BFoeik2hnqmxR+74iYKvu
         8Rmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712226770; x=1712831570;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=EdGWaiJCVcR7vs8ts3uyzYVQX4DbSLb9BDdKBDFsF40=;
        b=QKH/5Xx+ZU5NyVR5aobnkIFo9P4onszw8Q92aF/9SZk52X1PwgrpTfS+RTRX0mXYTw
         ixlDKyWsEhzvXaNeYKIlmM9NP3K4wGWbyd1VmBPWf3FLANB8BgKAAbhsr/OeTwGFV1aN
         YfT3zc+R0D3x57tqwnww76xcmjr5mjAfDl4hNK0/SdygWMngC+pKczYsgZ47kwSH06Re
         ApVJFq5f8OAtYHl6AKSW60E0BQ12svfGk3No+EQkAHD1R2hqw4Rki8QLAC4fbNUAFl1s
         gcgECCpht1a+1NeWP8C7/QpVRv9cvujh/XbVm911IpLTde4o6qWqraXQy0uvZFwt6CBF
         cjxQ==
X-Forwarded-Encrypted: i=1; AJvYcCXmrOTiqUqZk6yffRt2sB7ZwANwOE1up9nQnqZazwA8q9IVY3ee2Rh5E32bqoRTAXaGWtuqEaFIUe6ZSI/sVq5/75F2h+JobB+E4NeHYPE=
X-Gm-Message-State: AOJu0YwRwrL/Q1nRoFC3NsW9RNxUt0bsJSPL+MoxauXq9HFLFeSx3LlT
	5R3iLXxvnmjeUk+ga3m8E3h0/zWDwTeX3iMUoxNtibtsLcD/HjURuAKybfh7Vw==
X-Google-Smtp-Source: AGHT+IHZ3vz1mxdDQa7yiAugYwWlaLnxTrc9z9kn949zE6uxxDYPsrjGTeq8Evx1A0Lt9D4ZD1fYTA==
X-Received: by 2002:a50:c350:0:b0:568:bfcd:e895 with SMTP id q16-20020a50c350000000b00568bfcde895mr1345133edb.41.1712226769725;
        Thu, 04 Apr 2024 03:32:49 -0700 (PDT)
Message-ID: <e7524dcd-8364-4d1a-b65c-95479d96eb18@suse.com>
Date: Thu, 4 Apr 2024 12:32:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: adjust initial setting of watchdog kind
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <fe289ca1-aa3a-49af-b7d7-70949237464b@suse.com>
 <1c3d790d-bdac-495a-868b-36e12d45c457@citrix.com>
 <e3f69f47-88a8-4eb5-a019-ec4de0c9deb3@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e3f69f47-88a8-4eb5-a019-ec4de0c9deb3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.03.2024 09:59, Jan Beulich wrote:
> On 19.03.2024 21:35, Andrew Cooper wrote:
>> On 25/01/2024 2:12 pm, Jan Beulich wrote:
>>> "watchdog_timeout=0" is documented to disable the watchdog. Make sure
>>> this also is true when there's a subsequent "watchdog" command line
>>> option (and no further "watchdog_timeout=" one).
>>
>> We also document that latest takes precedence, at which point "watchdog"
>> would re-activate.
> 
> True,

Actually - no. Latest takes precedence doesn't matter here. "watchdog"
following "watchdog_timeout=0" is simply asking to enable the watchdog
with a timeout of 0, meaning infinity in practice. Which still is as
good as "watchdog=off".

> so perhaps ...
> 
>>> While there also switch watchdog_setup() to returning void, bringing it
>>> in line with the !CONFIG_WATCHDOG case. Further amend command line
>>> documentation to also mention the implicit effect of specifying a non-
>>> zero timeout.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Alternatively "watchdog" following "watchdog_timeout=0" could be taken
>>> to mean to use the default timeout again.
> 
> ... this alternative wants following.
> 
>> I realise that watchdog_timeout is my fault, but in fairness it was an
>> early change of mine in Xen and didn't exactly get the kind of review it
>> would get these days.  It also wasn't used by XenServer in the end - we
>> just stayed at a default 5s.
>>
>> I'm very tempted to suggest deleting watchdog_timeout, and extending
>> watchdog= to have `force | <bool> | <int>s` so you could specify e.g.
>> `watchdog=10s`.

This being a set of alternatives also isn't quite right. "force" needs to
be possible to combine with a timeout value. Yet if we make it "List of",
which I was ...

>> The watchdog is off by default so I don't expect this will impact
>> people.  It is also more convenient for the end user, and means that we
>> don't have have the current split approach of two separate options
>> fighting for control over each other.
> 
> While I'd be happy to fold the two options, I don't think the watchdog
> being off by default is relevant here. People using just the
> watchdog_timeout= option with a non-zero value will already have the
> watchdog enabled. They'd need to pay attention to an eventual CHANGELOG
> entry and change their command line.
> 
> Furthermore consolidating the two options isn't going to remove any
> of the problems. What effect would e.g. "watchdog=off,10s" have? The
> principle of "latest takes precedence" assigns clear meaning to
> "watchdog=off watchdog=10s", but the above remains as ambiguous as
> e.g. "watchdog=force,0s". I'd be inclined to follow those to the
> letter, i.e. "watchdog=off,10s" sets the timeout to 10 but disables
> the watchdog while "watchdog=force,0s" simply results in a non-
> functioning watchdog (due to 0s effectively meaning 4 billion seconds
> and hence for all practical purposes "never").

... assuming anyway (despite you having it written differently), we'll
have said problems again. So perhaps

<bool> | List of [ force | <int>s ]

with a timeout of 0 disabling the watchdog and a non-zero one enabling it?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 10:41:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 10:41:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700804.1094494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsKXA-00015U-MR; Thu, 04 Apr 2024 10:41:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700804.1094494; Thu, 04 Apr 2024 10:41: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 1rsKXA-00015N-JV; Thu, 04 Apr 2024 10:41:28 +0000
Received: by outflank-mailman (input) for mailman id 700804;
 Thu, 04 Apr 2024 10:41: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=rxIL=LJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rsKX9-00015H-2b
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 10:41:27 +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 e2dd6d4c-f26f-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 12:41:25 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-516c116f480so982924e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 03:41:25 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 eg49-20020a05640228b100b0056e0a5e713bsm1660387edb.93.2024.04.04.03.41.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 03:41: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: e2dd6d4c-f26f-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712227284; x=1712832084; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=b856P1WpNjFZtoUruDU6tKHFRtenQoNRPl7rkOX9bvE=;
        b=c5PgRJxJdGl5licxoClpUSLTRPzmtUk9oXeyYj60qmcfvNVrspKi0rYS2HJcrMJoFq
         h2NGSXBKyFLxbxKwfSyaR0AQ+ZLVLHeKndRO1SicVEc3sFsyKfLiq1TG5H4BY9SBZPpA
         zufVRHY83QlOoaNicCT5YwccgXQIDnW81nLi4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712227284; x=1712832084;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=b856P1WpNjFZtoUruDU6tKHFRtenQoNRPl7rkOX9bvE=;
        b=EUHvSAcZjtn38AMUfwGMzTj05w8C3/jQsV7QZTfJ/ap1BqeA8ZCDkteRvpt316rH5r
         fftg175ulg71Sr8ytkckvENdN+MjWj+sRtV+94O2uJ/DZoi1SW00Jww1b48HLhXE5N+g
         3DUi+78V23IyA/8UkjRib8vc2RusOWR6HSFvzQRVSY0MA08JeMMhsr6ToFqHX5hxOz0F
         P6p1cU6UyS78pboGc0SHfE+HbwATP+4W/zavGFPP/8Xp40FDCBv4Odeo9Qu/s4jfSujs
         4B8dyIYp3i1hKHPZkhS7CyamDmxa0FDUMokl1QqSYeWxdUpevrJ7v9BBR8rsya5C7PZL
         3DxQ==
X-Gm-Message-State: AOJu0YzAeUyWEu2LgWwnocrj1tofwHY2/0AJG2kj/lXeo0xmZzibmit2
	q3rnRS3Wp53NlJ3Du+g0l/iVRPllrOHHghSFm5t8r/x1noZj9BL4LPwtK153qmn4BcOdv4wPu05
	7038=
X-Google-Smtp-Source: AGHT+IEdjFRdHcK8RY8SyQS8zUsOxxbxqPy2qUUNJ0ovrzCSvgzIb55ex1BiV5Gj7oGNGgbF58j8Yg==
X-Received: by 2002:a05:6512:715:b0:515:8159:788d with SMTP id b21-20020a056512071500b005158159788dmr1311481lfs.64.1712227284327;
        Thu, 04 Apr 2024 03:41: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>,
	Jan Beulich <JBeulich@suse.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] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
Date: Thu,  4 Apr 2024 11:41:22 +0100
Message-Id: <20240404104122.2870129-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <Zg1stUacaDBkyDOn@mail-itl>
References: <Zg1stUacaDBkyDOn@mail-itl>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It turns out there is something wonky on some but not all CPUs with
MSR_TSX_FORCE_ABORT.  The presence of RTM_ALWAYS_ABORT causes Xen to think
it's safe to offer HLE/RTM to guests, but in this case, XBEGIN instructions
genuinely #UD.

Spot this case and try to back out as cleanly as we can.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

In the meantime, I'll see if anyone at Intel knows what's going on.  Because
these parts are fully out of support now, it's very unlikely that we're going
to get a fix.
---
 xen/arch/x86/tsx.c | 55 +++++++++++++++++++++++++++++++++++++---------
 1 file changed, 45 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
index 50d8059f23a9..41bb39d10074 100644
--- a/xen/arch/x86/tsx.c
+++ b/xen/arch/x86/tsx.c
@@ -1,5 +1,6 @@
 #include <xen/init.h>
 #include <xen/param.h>
+#include <asm/microcode.h>
 #include <asm/msr.h>
 
 /*
@@ -9,6 +10,7 @@
  *  -1 => Default, altered to 0/1 (if unspecified) by:
  *                 - TAA heuristics/settings for speculative safety
  *                 - "TSX vs PCR3" select for TSX memory ordering safety
+ *  -2 => Implicit tsx=0 (from RTM_ALWAYS_ABORT vs RTM mismatch)
  *  -3 => Implicit tsx=1 (feed-through from spec-ctrl=0)
  *
  * This is arranged such that the bottom bit encodes whether TSX is actually
@@ -114,11 +116,50 @@ void tsx_init(void)
 
         if ( cpu_has_tsx_force_abort )
         {
+            uint64_t val;
+
             /*
-             * On an early TSX-enable Skylake part subject to the memory
+             * On an early TSX-enabled Skylake part subject to the memory
              * ordering erratum, with at least the March 2019 microcode.
              */
 
+            rdmsrl(MSR_TSX_FORCE_ABORT, val);
+
+            /*
+             * At the time of writing (April 2024), it was discovered that
+             * some parts (e.g. CoffeeLake 8th Gen, 06-9e-0a, ucode 0xf6)
+             * advertise RTM_ALWAYS_ABORT, but XBEGIN instructions #UD.  Other
+             * similar parts (e.g. KabyLake Xeon-E3, 06-9e-09, ucode 0xf8)
+             * operate as expected.
+             *
+             * In this case:
+             *  - RTM_ALWAYS_ABORT and MSR_TSX_FORCE_ABORT are enumerated.
+             *  - XBEGIN instructions genuinely #UD.
+             *  - MSR_TSX_FORCE_ABORT is write-discard and fails to hold its
+             *    value.
+             *  - HLE and RTM are not enumerated, despite
+             *    MSR_TSX_FORCE_ABORT.TSX_CPUID_CLEAR being clear.
+             *
+             * Spot this case, and treat it as if no TSX is available at all.
+             * This will prevent Xen from thinking it's safe to offer HLE/RTM
+             * to VMs.
+             */
+            if ( val == 0 && cpu_has_rtm_always_abort && !cpu_has_rtm )
+            {
+                printk(XENLOG_ERR
+                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: RTM_ALWAYS_ABORT vs RTM mismatch\n",
+                       boot_cpu_data.x86, boot_cpu_data.x86_model,
+                       boot_cpu_data.x86_mask, this_cpu(cpu_sig).rev);
+
+                setup_clear_cpu_cap(X86_FEATURE_RTM_ALWAYS_ABORT);
+                setup_clear_cpu_cap(X86_FEATURE_TSX_FORCE_ABORT);
+
+                if ( opt_tsx < 0 )
+                    opt_tsx = -2;
+
+                goto done_setup;
+            }
+
             /*
              * Probe for the June 2021 microcode which de-features TSX on
              * client parts.  (Note - this is a subset of parts impacted by
@@ -128,15 +169,8 @@ void tsx_init(void)
              * read as zero if TSX_FORCE_ABORT.ENABLE_RTM has been set before
              * we run.
              */
-            if ( !has_rtm_always_abort )
-            {
-                uint64_t val;
-
-                rdmsrl(MSR_TSX_FORCE_ABORT, val);
-
-                if ( val & TSX_ENABLE_RTM )
-                    has_rtm_always_abort = true;
-            }
+            if ( val & TSX_ENABLE_RTM )
+                has_rtm_always_abort = true;
 
             /*
              * If no explicit tsx= option is provided, pick a default.
@@ -191,6 +225,7 @@ void tsx_init(void)
             setup_force_cpu_cap(X86_FEATURE_RTM);
         }
     }
+ done_setup:
 
     /*
      * Note: MSR_TSX_CTRL is enumerated on TSX-enabled MDS_NO and later parts.

base-commit: 6117179dd99958e4ef2687617d12c9b15bdbae24
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 11:02:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 11:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700811.1094508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsKrp-0005iy-GH; Thu, 04 Apr 2024 11:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700811.1094508; Thu, 04 Apr 2024 11:02:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsKrp-0005ir-Cy; Thu, 04 Apr 2024 11:02:49 +0000
Received: by outflank-mailman (input) for mailman id 700811;
 Thu, 04 Apr 2024 11:02:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=56jZ=LJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rsKrn-0005ii-Qy
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 11:02:48 +0000
Received: from wfout6-smtp.messagingengine.com
 (wfout6-smtp.messagingengine.com [64.147.123.149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbdf97a2-f272-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 13:02:44 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailfout.west.internal (Postfix) with ESMTP id CC85A1C000D6;
 Thu,  4 Apr 2024 07:02:40 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 04 Apr 2024 07:02:41 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 4 Apr 2024 07:02:38 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbdf97a2-f272-11ee-a1ef-f123f15fe8a2
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=1712228560;
	 x=1712314960; bh=yyEnB/2/BVs6Zw8jvtoIqTUYgLj62BPnOPmMawpLiME=; b=
	fp6NLBO9/l2Yrk1mqnn7NjsqEpqpvP2mBzlwce1lR1U7GOtzfCeFoOR/grhbgRSP
	rmIJ9qb13igoSZZgfro/ejXJw7K+wnHAaxcnd7/bhlbBzY1/Te29chwzHF+3xLdB
	VRkht6oGlTf+EaPprEhWPu18FkNexq6huedyRkkhYTEbutuymXwK6zZ4SpfnA2cG
	8rh/yf8O512lHCmE1UAZwXpILZJDKwysLS3n7MxMJATMOW83qa3SV1wzOPagP0Uy
	7ZDu1Uu6TqA3dehYQunw5PDF25/6v2BhwzxrdgyzpM/uhBaVRRERZXjEualL4lXo
	8I3rxvqGchKeVykNwBLT1Q==
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=1712228560; x=1712314960; bh=yyEnB/2/BVs6Zw8jvtoIqTUYgLj6
	2BPnOPmMawpLiME=; b=niqNP9k3IVYsFPg02u1HpPSfDBHvIWIYw7pWOxGRNn4J
	2uTS7rZCAq9u+dZRnDRNvyrleECfolV94ii+CMoMyPU8rMtP+7Vq1a/0IBIjP8gf
	aKr4H4nvxAGUlEjKJ0PdKtQHeQJxGwpIpRGtoHXcv/1n+aOqxQtNURNS6WqPp0E7
	ZtRw8bJxuGrIDd6eFysb/QnhBI9cRaqocxIL8xzMYmRRUhlDVIkyVCiryhbPVikU
	dXwQTdHPxLrfRaGSJlGyQqcrkZr+eymx6RJtbamcrjrxZUOrBDBzbzryEyxr2EqC
	KBYeND/s71OJf2luCVJFoWupH/dHU8PVzOuPIaEKSg==
X-ME-Sender: <xms:z4gOZucwbxdvR_bjfLFj5ZEEzNHa694wXAxCTTofj_-TUmWeorEkHw>
    <xme:z4gOZoN4MY-mN2dKvi-h6rVKDWLgWLO0mlxoqCqABQ4ceLpVxsUKSjidveKgDggeb
    4vwbF8YQ1_vjQ>
X-ME-Received: <xmr:z4gOZvhZehSCyDNdYBeeLYfMqPF9z_HLGmdgooubhC5rwZX10pNNDRgR0nyv2lx-powS35Duqv133rsZzQYC9-zKobbARFpn6w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudefkedgfeehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:z4gOZr-KcOqDgBq00inpaDJjany1pOmp4uq7ud_hEwj0i8QGrXqB9Q>
    <xmx:z4gOZqtx6rS9WXW3Ui69vYY7Tow6QDWOMHtYqBzH1zTE_9fBA2dPLQ>
    <xmx:z4gOZiGkfD73aW8CQZVEMx6rBkW5M8Ti-_OUcpZzx-0lhaJGLpMw7g>
    <xmx:z4gOZpMZkfVsK4VRavZ07w4UcdfPunb7X7dHK7TrPNGZSQs-3s06iw>
    <xmx:0IgOZsInxxpuxkVmSOP_mGEY5f1_ZYb34IRKrtO40QybyHLSwgAddAB_>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 4 Apr 2024 13:02:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
Message-ID: <Zg6IzLAoqQKLxb-c@mail-itl>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <20240404104122.2870129-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="BItlCCpQiz4AjJJY"
Content-Disposition: inline
In-Reply-To: <20240404104122.2870129-1-andrew.cooper3@citrix.com>


--BItlCCpQiz4AjJJY
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 4 Apr 2024 13:02:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch

On Thu, Apr 04, 2024 at 11:41:22AM +0100, Andrew Cooper wrote:
> It turns out there is something wonky on some but not all CPUs with
> MSR_TSX_FORCE_ABORT.  The presence of RTM_ALWAYS_ABORT causes Xen to think
> it's safe to offer HLE/RTM to guests, but in this case, XBEGIN instructio=
ns
> genuinely #UD.
>=20
> Spot this case and try to back out as cleanly as we can.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks, this makes the test exit with 0, and print just "Got #UD" now in
the "Testing RTM behaviour" section.

Tested-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
>=20
> In the meantime, I'll see if anyone at Intel knows what's going on.  Beca=
use
> these parts are fully out of support now, it's very unlikely that we're g=
oing
> to get a fix.
> ---
>  xen/arch/x86/tsx.c | 55 +++++++++++++++++++++++++++++++++++++---------
>  1 file changed, 45 insertions(+), 10 deletions(-)
>=20
> diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
> index 50d8059f23a9..41bb39d10074 100644
> --- a/xen/arch/x86/tsx.c
> +++ b/xen/arch/x86/tsx.c
> @@ -1,5 +1,6 @@
>  #include <xen/init.h>
>  #include <xen/param.h>
> +#include <asm/microcode.h>
>  #include <asm/msr.h>
> =20
>  /*
> @@ -9,6 +10,7 @@
>   *  -1 =3D> Default, altered to 0/1 (if unspecified) by:
>   *                 - TAA heuristics/settings for speculative safety
>   *                 - "TSX vs PCR3" select for TSX memory ordering safety
> + *  -2 =3D> Implicit tsx=3D0 (from RTM_ALWAYS_ABORT vs RTM mismatch)
>   *  -3 =3D> Implicit tsx=3D1 (feed-through from spec-ctrl=3D0)
>   *
>   * This is arranged such that the bottom bit encodes whether TSX is actu=
ally
> @@ -114,11 +116,50 @@ void tsx_init(void)
> =20
>          if ( cpu_has_tsx_force_abort )
>          {
> +            uint64_t val;
> +
>              /*
> -             * On an early TSX-enable Skylake part subject to the memory
> +             * On an early TSX-enabled Skylake part subject to the memory
>               * ordering erratum, with at least the March 2019 microcode.
>               */
> =20
> +            rdmsrl(MSR_TSX_FORCE_ABORT, val);
> +
> +            /*
> +             * At the time of writing (April 2024), it was discovered th=
at
> +             * some parts (e.g. CoffeeLake 8th Gen, 06-9e-0a, ucode 0xf6)
> +             * advertise RTM_ALWAYS_ABORT, but XBEGIN instructions #UD. =
 Other
> +             * similar parts (e.g. KabyLake Xeon-E3, 06-9e-09, ucode 0xf=
8)
> +             * operate as expected.
> +             *
> +             * In this case:
> +             *  - RTM_ALWAYS_ABORT and MSR_TSX_FORCE_ABORT are enumerate=
d.
> +             *  - XBEGIN instructions genuinely #UD.
> +             *  - MSR_TSX_FORCE_ABORT is write-discard and fails to hold=
 its
> +             *    value.
> +             *  - HLE and RTM are not enumerated, despite
> +             *    MSR_TSX_FORCE_ABORT.TSX_CPUID_CLEAR being clear.
> +             *
> +             * Spot this case, and treat it as if no TSX is available at=
 all.
> +             * This will prevent Xen from thinking it's safe to offer HL=
E/RTM
> +             * to VMs.
> +             */
> +            if ( val =3D=3D 0 && cpu_has_rtm_always_abort && !cpu_has_rt=
m )
> +            {
> +                printk(XENLOG_ERR
> +                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: =
RTM_ALWAYS_ABORT vs RTM mismatch\n",
> +                       boot_cpu_data.x86, boot_cpu_data.x86_model,
> +                       boot_cpu_data.x86_mask, this_cpu(cpu_sig).rev);
> +
> +                setup_clear_cpu_cap(X86_FEATURE_RTM_ALWAYS_ABORT);
> +                setup_clear_cpu_cap(X86_FEATURE_TSX_FORCE_ABORT);
> +
> +                if ( opt_tsx < 0 )
> +                    opt_tsx =3D -2;
> +
> +                goto done_setup;
> +            }
> +
>              /*
>               * Probe for the June 2021 microcode which de-features TSX on
>               * client parts.  (Note - this is a subset of parts impacted=
 by
> @@ -128,15 +169,8 @@ void tsx_init(void)
>               * read as zero if TSX_FORCE_ABORT.ENABLE_RTM has been set b=
efore
>               * we run.
>               */
> -            if ( !has_rtm_always_abort )
> -            {
> -                uint64_t val;
> -
> -                rdmsrl(MSR_TSX_FORCE_ABORT, val);
> -
> -                if ( val & TSX_ENABLE_RTM )
> -                    has_rtm_always_abort =3D true;
> -            }
> +            if ( val & TSX_ENABLE_RTM )
> +                has_rtm_always_abort =3D true;
> =20
>              /*
>               * If no explicit tsx=3D option is provided, pick a default.
> @@ -191,6 +225,7 @@ void tsx_init(void)
>              setup_force_cpu_cap(X86_FEATURE_RTM);
>          }
>      }
> + done_setup:
> =20
>      /*
>       * Note: MSR_TSX_CTRL is enumerated on TSX-enabled MDS_NO and later =
parts.
>=20
> base-commit: 6117179dd99958e4ef2687617d12c9b15bdbae24
> --=20
> 2.30.2
>=20

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYOiMwACgkQ24/THMrX
1yzzhQf/SMfUL6+6G/fC2aPi5P8RayGZlhOtVLBm+NGAP6A4jdEqlYPuIv1YOvSd
ez6ehjgYrYtoatigwFbjQAXV+5NYnh6FGuF1w4rXwoNWjDgXuYNtkqilMSgA0Yg4
NgB3M5WRPZ9GuwNp+9sbt3hTvSniI00eARHvS5DEmYmF8Dv2kXpTdRU6klfHHH6K
uf5SVyzprbgFyGjS2mWBTbs3veeePuVNic+kMZj70ja4lKibOqXfXGK70h3TwWBd
C5GOoZxWHFi90TSmPQ0WgRnXjcYGfzIFkwDtpPlr5c9XE9jeZBiAzHmZhF+MCFXi
NTrM3zit1hSPE5e6FVi5AryBsp03jw==
=M7hq
-----END PGP SIGNATURE-----

--BItlCCpQiz4AjJJY--


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 11:04:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 11:04:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700813.1094517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsKtK-0006EG-Oz; Thu, 04 Apr 2024 11:04:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700813.1094517; Thu, 04 Apr 2024 11: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 1rsKtK-0006E9-MV; Thu, 04 Apr 2024 11:04:22 +0000
Received: by outflank-mailman (input) for mailman id 700813;
 Thu, 04 Apr 2024 11:04: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 1rsKtJ-0006Dv-0D; Thu, 04 Apr 2024 11:04: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 1rsKtI-0001Av-K3; Thu, 04 Apr 2024 11:04: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 1rsKtI-0003au-9Y; Thu, 04 Apr 2024 11:04:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsKtI-0003aB-8U; Thu, 04 Apr 2024 11:04: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=R/Lbnx0ydZ1tUjo7Da+UMsmGkFgSLQV8xuP7iWLcp1A=; b=3IOWio5zXAxVUwWSA1kujvTqRf
	jbvpLDZbIwS+0+fEW5INzsbhNZZU+ZZDkXPT2uzWX1gwOQPyy1ZVw8/E2GcSd4NDBLDIJK0rxht4b
	q875Z3xHtPgeUjwEha272moq6pbIvkR5Yhy+xnC8JLydiV0SlJhZpHefXDL9ueeU8YBM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185232-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185232: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    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-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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-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-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c85af715cac0a951eea97393378e84bb49384734
X-Osstest-Versions-That:
    linux=3e92c1e6cd876754b64d1998ec0a01800ed954a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 11:04:20 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 185228

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185228
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185228
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 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-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-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:
 linux                c85af715cac0a951eea97393378e84bb49384734
baseline version:
 linux                3e92c1e6cd876754b64d1998ec0a01800ed954a6

Last test of basis   185228  2024-04-03 14:39:38 Z    0 days
Testing same since   185232  2024-04-03 23:42:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anup Patel <anup@brainfault.org>
  Anup Patel <apatel@ventanamicro.com>
  Ard Biesheuvel <ardb@kernel.org>
  Ashish Kalra <ashish.kalra@amd.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marc Zyngier <maz@kernel.org>
  Oliver Upton <oliver.upton@linux.dev>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Moore <paul@paul-moore.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Sean Christopherson <seanjc@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Will Deacon <will@kernel.org>
  Wujie Duan <wjduan@linx-info.com>
  Xiaoyao Li <xiaoyao.li@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 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                                      blocked 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 11:19:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 11:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700819.1094528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsL8F-00011u-2u; Thu, 04 Apr 2024 11:19:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700819.1094528; Thu, 04 Apr 2024 11: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 1rsL8E-00011h-VE; Thu, 04 Apr 2024 11:19:46 +0000
Received: by outflank-mailman (input) for mailman id 700819;
 Thu, 04 Apr 2024 11:19: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=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsL8D-00011X-AW
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 11:19:45 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c42523e-f275-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 13:19:44 +0200 (CEST)
Received: from CH5PR03CA0002.namprd03.prod.outlook.com (2603:10b6:610:1f1::14)
 by DM4PR12MB6615.namprd12.prod.outlook.com (2603:10b6:8:8d::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.46; Thu, 4 Apr 2024 11:19:39 +0000
Received: from CH1PEPF0000AD80.namprd04.prod.outlook.com
 (2603:10b6:610:1f1:cafe::2c) by CH5PR03CA0002.outlook.office365.com
 (2603:10b6:610:1f1::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Thu, 4 Apr 2024 11:19:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD80.mail.protection.outlook.com (10.167.244.90) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 11:19:39 +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.35; Thu, 4 Apr
 2024 06:19:37 -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.35; Thu, 4 Apr
 2024 06:19:37 -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.35 via Frontend
 Transport; Thu, 4 Apr 2024 06:19:36 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c42523e-f275-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C5xtcoYGC2aPQ4DrmhwxEmz9U1APxUjITIGvt+1uDSocMJKlblpC1s7Wku/W59dAivwvl3lg0g5vfwZsH5eqValoa7cQbcAfnD5c9K1Osnx45e6IAgW+O8nzgp2nMRpBpJo1YK6+wIfGPT+uyrKbm8I/2wug4hbtHZlC6fZCY4GLJtw3vsAcIi/PcOK9ijcJ/cVUXJJC30nN0mojRR+GwtXO64u9T4qiF3S+0BBuvG+qzo41Pz2g+mhB6TgQq/2vJSdhU+JBrDx7ei5g6ySR3rCKo9ASNd9oPmTBf4BKK9SGK100u9nZv8WC6p5AuqcQCR7TkMh9vHznoIONeeTt8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K25hj4GfM6jTPrWZY6x4lXD4sMTp1ZFaW5X/biI5nzg=;
 b=BSCsgYnT900OT5X0CBqfU0gAMAGzjVBl1mQE1hRnj7NGy6TItll4zx7n5V3KFC6H6YjDiqev20aagj1WhQrfZ+28bXHDXxvHCXX0f6GBUYOdvLwPWBt5WFTN3oXhFGq7knCL9cm/gA9F6Q8Djz9oU3Ovjp7caxFZ5EFuE7lqXsb/YkMVbVZWcZC/NTz240xqKa5nSJLFjH3IwlADLVlDK90P4NQqUY2rYEU0/UIDVt5UTmqHoaeVGwWhmJwVg27g90sr0Ixk60/ZJtSbzTqLwXRmy6OGkNw3jQlbD+TlxRDS3VBNvQnTyZG1mSiliN+PchulsVpsFHm7hX8XBTulXw==
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=K25hj4GfM6jTPrWZY6x4lXD4sMTp1ZFaW5X/biI5nzg=;
 b=LdAVejUxhETlVNchtNnsmvWXW96pLlTytH50l6xbitZQr7nVAROoRl8HlXZCgBA8+b7ELmQx10nG0ta4+6DrwAzH0fDZ3fcNO7CpzZzvf9zyNFDFLIq7BO0UaUtJdpcjR1HjqumlrDQH4PmK08W1AT3yHTScq9yGmELdR6ZKenY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <304ce898-0138-41a4-bf7a-4edf12491bc7@amd.com>
Date: Thu, 4 Apr 2024 13:19:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/11] xen/arm: Reduce struct membank size on static
 shared memory
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240312130331.78418-1-luca.fancellu@arm.com>
 <20240312130331.78418-9-luca.fancellu@arm.com>
 <1cfde34b-6d03-4a18-81af-2e2a0195190e@amd.com>
 <F2A93445-09E5-408B-8857-0CDB6ECCF360@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <F2A93445-09E5-408B-8857-0CDB6ECCF360@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
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: CH1PEPF0000AD80:EE_|DM4PR12MB6615:EE_
X-MS-Office365-Filtering-Correlation-Id: b9e99560-b987-439d-fb78-08dc54991e2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d/jfmHad7gGct18adRTKKtAvj8MjZsMV5pah3V9e0nbg39oMSseZNk3NetZ2sfhAwScZRjc8BP6j0D/37DhwHeGHi75W35hiivtKLq8x1s9tQVXfyCj3pilV/Wr6Mh2y9WAb2WS7k0P/750ck0YStk/5PM1vwbwpXkho9BKK5IiFcdE2utvdTzzyhChFQtwsTIfq9ic45kDErOHLTnNGHY6MYa6FL50T7YBH3h4wQ6Nm4Ws6Mw1jhUetQJaN8/ITlOxPPxY9+Ny6pC7wUyvhRdSe7mjaLiNr+r66q4SeuGC2FuEbioqJAzWu3CkeWwTDay9gPXYP5AlvYrObtkFY+Y2XGtNhUAt3DuW1+mnqusJD3vM772k2WFf5ASBLTW7NHcxMOvZC6E+5NxbPAEGzmm/SBPxBWQcZn5FFE7pbNv6lnD9QUW2S8VYH3RHAZemEp1coQFZKG0Os5Q9rMPd7/yZVg/VjE56lF9Enay+9f5GbofY9NPqJNJ5B1gigripTbtXWNMY2bo1LovB9kec1zMKYRKKQzLODydwDoXKy40jT935fIFELDOkIMVxS+K6T9+5ACjqnQAl+JzPFN1FvTKhDe8uowZsas846szfee7p/1k1JJWBiKu5bAcbc4ynXcfm7o89iAJY+OBpGtFuIgTi1ne2UyekS+nE3VOTWA/Q7E0Ziz8YQl0lkmKTnv6oW2e6eRz7/vlzT+gewMPmVPf+91OFuXAkEo+FbMLLfDZQK7+emaqrZGSf3fak08uoa
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(82310400014)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 11:19:39.0196
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b9e99560-b987-439d-fb78-08dc54991e2b
X-MS-Exchange-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:
	CH1PEPF0000AD80.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6615

Hi Luca,

On 04/04/2024 11:33, Luca Fancellu wrote:
> 
> 
>> On 22 Mar 2024, at 10:30, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Luca,
>>
>> On 12/03/2024 14:03, Luca Fancellu wrote:
>>>
>>>
>>> Currently the memory footprint of the static shared memory feature
>>> is impacting all the struct meminfo instances with memory space
>>> that is not going to be used.
>>>
>>> To solve this issue, rework the static shared memory extra
>>> information linked to the memory bank to another structure,
>>> struct shmem_membank_extra, and exploit the struct membank
>>> padding to host a pointer to that structure in a union with the
>> NIT: AFAICT the padding will be reused on Arm64 but on Arm32 there will still be 4B padding.
> 
> Yes, my purpose was to make clear that no additional space was needed
> for that pointer, should I rephrase it or it’s ok?
Since you are modifying this patch anyway, you can take the opportunity to rephrase it.
> 
> 
>>>
>>>
>>> +struct shared_meminfo {
>>> +    struct membanks common;
>>> +    struct membank bank[NR_SHMEM_BANKS];
>>> +    struct shmem_membank_extra extra[NR_SHMEM_BANKS];
>>> +};
>> Same as with meminfo, please add a BUILD_BUG_ON for padding between common and bank.
> 
> Sure
> 
>>>
>>>
>>> -static int __init append_shm_bank_to_domain(struct membanks *shm_mem,
>>> -                                            paddr_t start, paddr_t size,
>>> -                                            const char *shm_id)
>>> +static int __init
>>> +append_shm_bank_to_domain(struct shared_meminfo *kinfo_shm_mem, paddr_t start,
>> Is there any particular reason to prepend the shm_mem name with kinfo?
> 
> I think because usually kinfo is used to point to ’struct kernel_info’, instead here we point to
> 'struct shared_meminfo'
> 
>>
>> ~Michal
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 11:22:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 11:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700823.1094538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLB7-0002Tf-KJ; Thu, 04 Apr 2024 11:22:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700823.1094538; Thu, 04 Apr 2024 11:22:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLB7-0002TY-HI; Thu, 04 Apr 2024 11:22:45 +0000
Received: by outflank-mailman (input) for mailman id 700823;
 Thu, 04 Apr 2024 11:22:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=18Hz=LJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rsLB5-0002TR-4t
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 11:22:43 +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 a5b96712-f275-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 13:22:40 +0200 (CEST)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 55F8B378C9;
 Thu,  4 Apr 2024 11:22:39 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id CEA5F139E8;
 Thu,  4 Apr 2024 11:22:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Y6ChMH6NDmalSgAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 04 Apr 2024 11:22:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5b96712-f275-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712229759; 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=nVwCDDRdvQXV+MrfZAydI1G4U7Cucwips8DXcQFPZds=;
	b=P4jy+D1BvLdtMmzPTpr41IFepPjE+8LssDuPFvDuGt3LPs/Z51Pn1LtBEjd5WFEB56eihZ
	rr2dwTh31IeEk6IIeoRMynRZoF1pVLwYY9fwWYgJiM1lGQ6jVdZCfDE85nN0HA25DwoJ2j
	yIpKAGI+z4OeKBE4ZZ9v8FFLKEBLiX8=
Authentication-Results: smtp-out1.suse.de;
	none
Message-ID: <7510b237-a8cf-4ded-a99d-265bffbed623@suse.com>
Date: Thu, 4 Apr 2024 13:22:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/8] xen/spinlock: add explicit non-recursive locking
 functions
Content-Language: en-US
To: xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=C3=B3wka?= <mateusz.mowka@intel.com>
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-2-jgross@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240327152229.25847-2-jgross@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------FnHBcdkPupSeined1BmELlc0"
X-Spamd-Result: default: False [-4.19 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	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)[];
	XM_UA_NO_VERSION(0.01)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[14];
	ARC_NA(0.00)[];
	FROM_HAS_DN(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)[];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email]
X-Spam-Score: -4.19
X-Spam-Level: 
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------FnHBcdkPupSeined1BmELlc0
Content-Type: multipart/mixed; boundary="------------UcvB00tdQKqe6QTcJ1lhJ0Z7";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=C3=B3wka?= <mateusz.mowka@intel.com>
Message-ID: <7510b237-a8cf-4ded-a99d-265bffbed623@suse.com>
Subject: Re: [PATCH v6 1/8] xen/spinlock: add explicit non-recursive locking
 functions
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-2-jgross@suse.com>
In-Reply-To: <20240327152229.25847-2-jgross@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=

--------------UcvB00tdQKqe6QTcJ1lhJ0Z7
Content-Type: multipart/mixed; boundary="------------X8GkP65ern4zxO8MbhSZvAkX"

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

T24gMjcuMDMuMjQgMTY6MjIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IEluIG9yZGVyIHRv
IHByZXBhcmUgYSB0eXBlLXNhZmUgcmVjdXJzaXZlIHNwaW5sb2NrIHN0cnVjdHVyZSwgYWRk
DQo+IGV4cGxpY2l0bHkgbm9uLXJlY3Vyc2l2ZSBsb2NraW5nIGZ1bmN0aW9ucyB0byBiZSB1
c2VkIGZvciBub24tcmVjdXJzaXZlDQo+IGxvY2tpbmcgb2Ygc3BpbmxvY2tzLCB3aGljaCBh
cmUgdXNlZCByZWN1cnNpdmVseSwgdG9vLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiBBY2tlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPg0KDQpDb3VsZCBhbnkgb2YgdGhlIEFybSBtYWludGFpbmVycyBw
bGVhc2UgaGF2ZSBhIGxvb2sgYXQgdGhpcyBwYXRjaD8NCg0KDQpKdWVyZ2VuDQoNCj4gLS0t
DQo+IFYyOg0KPiAtIHJlbmFtZSBmdW5jdGlvbnMgKEphbiBCZXVsaWNoKQ0KPiAtIGdldCBy
aWQgb2YgISEgaW4gcGNpZGV2c19sb2NrZWQoKSAoSmFuIEJldWxpY2gpDQo+IFY1Og0KPiAt
IHJlbW92ZSBzcHVyaW91cyBjaGFuZ2UgKEp1bGllbiBHcmFsbCkNCj4gLSBhZGQgbnJzcGlu
X2xvY2soKSBkZXNjcmlwdGlvbiAoSnVsaWVuIEdyYWxsKQ0KPiAtLS0NCj4gICB4ZW4vYXJj
aC9hcm0vbW0uYyAgICAgICAgICAgICB8ICA0ICsrLS0NCj4gICB4ZW4vYXJjaC94ODYvZG9t
YWluLmMgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQ0KPiAgIHhlbi9hcmNoL3g4Ni9tbS5j
ICAgICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0tDQo+ICAgeGVuL2FyY2gveDg2L21tL21l
bV9zaGFyaW5nLmMgfCAgOCArKysrLS0tLQ0KPiAgIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcG9k
LmMgICAgIHwgIDQgKystLQ0KPiAgIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgIHwg
IDQgKystLQ0KPiAgIHhlbi9hcmNoL3g4Ni90Ym9vdC5jICAgICAgICAgIHwgIDQgKystLQ0K
PiAgIHhlbi9jb21tb24vZG9tY3RsLmMgICAgICAgICAgIHwgIDQgKystLQ0KPiAgIHhlbi9j
b21tb24vZ3JhbnRfdGFibGUuYyAgICAgIHwgMTAgKysrKystLS0tLQ0KPiAgIHhlbi9jb21t
b24vbWVtb3J5LmMgICAgICAgICAgIHwgIDQgKystLQ0KPiAgIHhlbi9jb21tb24vbnVtYS5j
ICAgICAgICAgICAgIHwgIDQgKystLQ0KPiAgIHhlbi9jb21tb24vcGFnZV9hbGxvYy5jICAg
ICAgIHwgMTYgKysrKysrKystLS0tLS0tLQ0KPiAgIHhlbi9kcml2ZXJzL2NoYXIvY29uc29s
ZS5jICAgIHwgMTYgKysrKysrKystLS0tLS0tLQ0KPiAgIHhlbi9pbmNsdWRlL3hlbi9zcGlu
bG9jay5oICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0NCj4gICAxNCBm
aWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkNCj4gDQo+
IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vbW0uYyBiL3hlbi9hcmNoL2FybS9tbS5jDQo+
IGluZGV4IGIxNWExOGE0OTQuLmRlZjkzOTE3MmMgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNo
L2FybS9tbS5jDQo+ICsrKyBiL3hlbi9hcmNoL2FybS9tbS5jDQo+IEBAIC0xMDUsNyArMTA1
LDcgQEAgdm9pZCBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KHN0cnVjdCBwYWdlX2luZm8g
KnBhZ2UsIHN0cnVjdCBkb21haW4gKmQsDQo+ICAgICAgIGlmICggcGFnZV9nZXRfb3duZXIo
cGFnZSkgPT0gZCApDQo+ICAgICAgICAgICByZXR1cm47DQo+ICAgDQo+IC0gICAgc3Bpbl9s
b2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiArICAgIG5yc3Bpbl9sb2NrKCZkLT5wYWdl
X2FsbG9jX2xvY2spOw0KPiAgIA0KPiAgICAgICAvKg0KPiAgICAgICAgKiBUaGUgaW5jcmVt
ZW50ZWQgdHlwZSBjb3VudCBwaW5zIGFzIHdyaXRhYmxlIG9yIHJlYWQtb25seS4NCj4gQEAg
LTEzNiw3ICsxMzYsNyBAQCB2b2lkIHNoYXJlX3hlbl9wYWdlX3dpdGhfZ3Vlc3Qoc3RydWN0
IHBhZ2VfaW5mbyAqcGFnZSwgc3RydWN0IGRvbWFpbiAqZCwNCj4gICAgICAgICAgIHBhZ2Vf
bGlzdF9hZGRfdGFpbChwYWdlLCAmZC0+eGVucGFnZV9saXN0KTsNCj4gICAgICAgfQ0KPiAg
IA0KPiAtICAgIHNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiArICAgIG5y
c3Bpbl91bmxvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICAgfQ0KPiAgIA0KPiAgIGlu
dCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKA0KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jDQo+IGluZGV4IGExMWM1NWY5
MjEuLjMzYTI4MzBkOWQgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYw0K
PiArKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMNCj4gQEAgLTIxMiw3ICsyMTIsNyBAQCB2
b2lkIGR1bXBfcGFnZWZyYW1lX2luZm8oc3RydWN0IGRvbWFpbiAqZCkNCj4gICAgICAgew0K
PiAgICAgICAgICAgdW5zaWduZWQgbG9uZyB0b3RhbFtNQVNLX0VYVFIoUEdUX3R5cGVfbWFz
aywgUEdUX3R5cGVfbWFzaykgKyAxXSA9IHt9Ow0KPiAgIA0KPiAtICAgICAgICBzcGluX2xv
Y2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgICAgIG5yc3Bpbl9sb2NrKCZkLT5w
YWdlX2FsbG9jX2xvY2spOw0KPiAgICAgICAgICAgcGFnZV9saXN0X2Zvcl9lYWNoICggcGFn
ZSwgJmQtPnBhZ2VfbGlzdCApDQo+ICAgICAgICAgICB7DQo+ICAgICAgICAgICAgICAgdW5z
aWduZWQgaW50IGluZGV4ID0gTUFTS19FWFRSKHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvLA0K
PiBAQCAtMjMxLDEzICsyMzEsMTMgQEAgdm9pZCBkdW1wX3BhZ2VmcmFtZV9pbmZvKHN0cnVj
dCBkb21haW4gKmQpDQo+ICAgICAgICAgICAgICAgICAgICAgIF9wKG1mbl94KHBhZ2VfdG9f
bWZuKHBhZ2UpKSksDQo+ICAgICAgICAgICAgICAgICAgICAgIHBhZ2UtPmNvdW50X2luZm8s
IHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvKTsNCj4gICAgICAgICAgIH0NCj4gLSAgICAgICAg
c3Bpbl91bmxvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgICAgIG5yc3Bpbl91
bmxvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICAgICAgIH0NCj4gICANCj4gICAgICAg
aWYgKCBpc19odm1fZG9tYWluKGQpICkNCj4gICAgICAgICAgIHAybV9wb2RfZHVtcF9kYXRh
KGQpOw0KPiAgIA0KPiAtICAgIHNwaW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4g
KyAgICBucnNwaW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gICANCj4gICAgICAg
cGFnZV9saXN0X2Zvcl9lYWNoICggcGFnZSwgJmQtPnhlbnBhZ2VfbGlzdCApDQo+ICAgICAg
IHsNCj4gQEAgLTI1Myw3ICsyNTMsNyBAQCB2b2lkIGR1bXBfcGFnZWZyYW1lX2luZm8oc3Ry
dWN0IGRvbWFpbiAqZCkNCj4gICAgICAgICAgICAgICAgICBwYWdlLT5jb3VudF9pbmZvLCBw
YWdlLT51LmludXNlLnR5cGVfaW5mbyk7DQo+ICAgICAgIH0NCj4gICANCj4gLSAgICBzcGlu
X3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gKyAgICBucnNwaW5fdW5sb2NrKCZk
LT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgIH0NCj4gICANCj4gICB2b2lkIHVwZGF0ZV9ndWVz
dF9tZW1vcnlfcG9saWN5KHN0cnVjdCB2Y3B1ICp2LA0KPiBAQCAtMjQ0OCwxMCArMjQ0OCwx
MCBAQCBpbnQgZG9tYWluX3JlbGlucXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkb21haW4gKmQp
DQo+ICAgICAgICAgICAgICAgZC0+YXJjaC5hdXRvX3VubWFzayA9IDA7DQo+ICAgICAgICAg
ICB9DQo+ICAgDQo+IC0gICAgICAgIHNwaW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsN
Cj4gKyAgICAgICAgbnJzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICAgICAg
ICAgICBwYWdlX2xpc3Rfc3BsaWNlKCZkLT5hcmNoLnJlbG1lbV9saXN0LCAmZC0+cGFnZV9s
aXN0KTsNCj4gICAgICAgICAgIElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPmFyY2gucmVsbWVt
X2xpc3QpOw0KPiAtICAgICAgICBzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsN
Cj4gKyAgICAgICAgbnJzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gICAN
Cj4gICAgICAgUFJPR1JFU1MoeGVuKToNCj4gICANCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMNCj4gaW5kZXggNjJmNWI4MTFiYi4uYjRk
MTI1ZGIzOSAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gveDg2L21tLmMNCj4gKysrIGIveGVu
L2FyY2gveDg2L21tLmMNCj4gQEAgLTQ4Miw3ICs0ODIsNyBAQCB2b2lkIHNoYXJlX3hlbl9w
YWdlX3dpdGhfZ3Vlc3Qoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgc3RydWN0IGRvbWFpbiAq
ZCwNCj4gICANCj4gICAgICAgc2V0X2dwZm5fZnJvbV9tZm4obWZuX3gocGFnZV90b19tZm4o
cGFnZSkpLCBJTlZBTElEX00yUF9FTlRSWSk7DQo+ICAgDQo+IC0gICAgc3Bpbl9sb2NrKCZk
LT5wYWdlX2FsbG9jX2xvY2spOw0KPiArICAgIG5yc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9j
X2xvY2spOw0KPiAgIA0KPiAgICAgICAvKiBUaGUgaW5jcmVtZW50ZWQgdHlwZSBjb3VudCBw
aW5zIGFzIHdyaXRhYmxlIG9yIHJlYWQtb25seS4gKi8NCj4gICAgICAgcGFnZS0+dS5pbnVz
ZS50eXBlX2luZm8gPQ0KPiBAQCAtNTAyLDcgKzUwMiw3IEBAIHZvaWQgc2hhcmVfeGVuX3Bh
Z2Vfd2l0aF9ndWVzdChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCBzdHJ1Y3QgZG9tYWluICpk
LA0KPiAgICAgICAgICAgcGFnZV9saXN0X2FkZF90YWlsKHBhZ2UsICZkLT54ZW5wYWdlX2xp
c3QpOw0KPiAgICAgICB9DQo+ICAgDQo+IC0gICAgc3Bpbl91bmxvY2soJmQtPnBhZ2VfYWxs
b2NfbG9jayk7DQo+ICsgICAgbnJzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsN
Cj4gICB9DQo+ICAgDQo+ICAgdm9pZCBtYWtlX2NyMyhzdHJ1Y3QgdmNwdSAqdiwgbWZuX3Qg
bWZuKQ0KPiBAQCAtMzU5NywxMSArMzU5NywxMSBAQCBsb25nIGRvX21tdWV4dF9vcCgNCj4g
ICAgICAgICAgICAgICB7DQo+ICAgICAgICAgICAgICAgICAgIGJvb2wgZHJvcF9yZWY7DQo+
ICAgDQo+IC0gICAgICAgICAgICAgICAgc3Bpbl9sb2NrKCZwZ19vd25lci0+cGFnZV9hbGxv
Y19sb2NrKTsNCj4gKyAgICAgICAgICAgICAgICBucnNwaW5fbG9jaygmcGdfb3duZXItPnBh
Z2VfYWxsb2NfbG9jayk7DQo+ICAgICAgICAgICAgICAgICAgIGRyb3BfcmVmID0gKHBnX293
bmVyLT5pc19keWluZyAmJg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
X2FuZF9jbGVhcl9iaXQoX1BHVF9waW5uZWQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmcGFnZS0+dS5pbnVzZS50eXBlX2luZm8pKTsN
Cj4gLSAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmcGdfb3duZXItPnBhZ2VfYWxsb2Nf
bG9jayk7DQo+ICsgICAgICAgICAgICAgICAgbnJzcGluX3VubG9jaygmcGdfb3duZXItPnBh
Z2VfYWxsb2NfbG9jayk7DQo+ICAgICAgICAgICAgICAgICAgIGlmICggZHJvcF9yZWYgKQ0K
PiAgICAgICAgICAgICAgICAgICB7DQo+ICAgICAgICAgICBwaW5fZHJvcDoNCj4gQEAgLTQ0
MjQsNyArNDQyNCw3IEBAIGludCBzdGVhbF9wYWdlKA0KPiAgICAgICAgKiB0aGF0IGl0IG1p
Z2h0IGJlIHVwb24gcmV0dXJuIGZyb20gYWxsb2NfZG9taGVhcF9wYWdlcyB3aXRoDQo+ICAg
ICAgICAqIE1FTUZfbm9fb3duZXIgc2V0Lg0KPiAgICAgICAgKi8NCj4gLSAgICBzcGluX2xv
Y2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgbnJzcGluX2xvY2soJmQtPnBhZ2Vf
YWxsb2NfbG9jayk7DQo+ICAgDQo+ICAgICAgIEJVR19PTihwYWdlLT51LmludXNlLnR5cGVf
aW5mbyAmIChQR1RfY291bnRfbWFzayB8IFBHVF9sb2NrZWQgfA0KPiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUEdUX3Bpbm5lZCkpOw0KPiBAQCAtNDQzNiw3
ICs0NDM2LDcgQEAgaW50IHN0ZWFsX3BhZ2UoDQo+ICAgICAgIGlmICggIShtZW1mbGFncyAm
IE1FTUZfbm9fcmVmY291bnQpICYmICFkb21haW5fYWRqdXN0X3RvdF9wYWdlcyhkLCAtMSkg
KQ0KPiAgICAgICAgICAgZHJvcF9kb21fcmVmID0gdHJ1ZTsNCj4gICANCj4gLSAgICBzcGlu
X3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gKyAgICBucnNwaW5fdW5sb2NrKCZk
LT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgIA0KPiAgICAgICBpZiAoIHVubGlrZWx5KGRyb3Bf
ZG9tX3JlZikgKQ0KPiAgICAgICAgICAgcHV0X2RvbWFpbihkKTsNCj4gZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL3g4Ni9tbS9tZW1fc2hhcmluZy5jIGIveGVuL2FyY2gveDg2L21tL21lbV9z
aGFyaW5nLmMNCj4gaW5kZXggZjU4NTc2YzcwMi4uZGEyODI2NmVmMCAxMDA2NDQNCj4gLS0t
IGEveGVuL2FyY2gveDg2L21tL21lbV9zaGFyaW5nLmMNCj4gKysrIGIveGVuL2FyY2gveDg2
L21tL21lbV9zaGFyaW5nLmMNCj4gQEAgLTc0MCwxMSArNzQwLDExIEBAIHN0YXRpYyBpbnQg
cGFnZV9tYWtlX3ByaXZhdGUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHBhZ2VfaW5mbyAq
cGFnZSkNCj4gICAgICAgaWYgKCAhZ2V0X3BhZ2UocGFnZSwgZG9tX2NvdykgKQ0KPiAgICAg
ICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICAgDQo+IC0gICAgc3Bpbl9sb2NrKCZkLT5wYWdl
X2FsbG9jX2xvY2spOw0KPiArICAgIG5yc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2sp
Ow0KPiAgIA0KPiAgICAgICBpZiAoIGQtPmlzX2R5aW5nICkNCj4gICAgICAgew0KPiAtICAg
ICAgICBzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gKyAgICAgICAgbnJz
cGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gICAgICAgICAgIHB1dF9wYWdl
KHBhZ2UpOw0KPiAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsNCj4gICAgICAgfQ0KPiBAQCAt
NzUyLDcgKzc1Miw3IEBAIHN0YXRpYyBpbnQgcGFnZV9tYWtlX3ByaXZhdGUoc3RydWN0IGRv
bWFpbiAqZCwgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkNCj4gICAgICAgZXhwZWN0ZWRfdHlw
ZSA9IChQR1Rfc2hhcmVkX3BhZ2UgfCBQR1RfdmFsaWRhdGVkIHwgUEdUX2xvY2tlZCB8IDIp
Ow0KPiAgICAgICBpZiAoIHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvICE9IGV4cGVjdGVkX3R5
cGUgKQ0KPiAgICAgICB7DQo+IC0gICAgICAgIHNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9j
X2xvY2spOw0KPiArICAgICAgICBucnNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2sp
Ow0KPiAgICAgICAgICAgcHV0X3BhZ2UocGFnZSk7DQo+ICAgICAgICAgICByZXR1cm4gLUVF
WElTVDsNCj4gICAgICAgfQ0KPiBAQCAtNzY5LDcgKzc2OSw3IEBAIHN0YXRpYyBpbnQgcGFn
ZV9tYWtlX3ByaXZhdGUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHBhZ2VfaW5mbyAqcGFn
ZSkNCj4gICAgICAgaWYgKCBkb21haW5fYWRqdXN0X3RvdF9wYWdlcyhkLCAxKSA9PSAxICkN
Cj4gICAgICAgICAgIGdldF9rbm93bmFsaXZlX2RvbWFpbihkKTsNCj4gICAgICAgcGFnZV9s
aXN0X2FkZF90YWlsKHBhZ2UsICZkLT5wYWdlX2xpc3QpOw0KPiAtICAgIHNwaW5fdW5sb2Nr
KCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiArICAgIG5yc3Bpbl91bmxvY2soJmQtPnBhZ2Vf
YWxsb2NfbG9jayk7DQo+ICAgDQo+ICAgICAgIHB1dF9wYWdlKHBhZ2UpOw0KPiAgIA0KPiBk
aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYyBiL3hlbi9hcmNoL3g4Ni9t
bS9wMm0tcG9kLmMNCj4gaW5kZXggNjc0ZjMyMWNmNi4uYzQ4ZWExNjliNyAxMDA2NDQNCj4g
LS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYw0KPiArKysgYi94ZW4vYXJjaC94ODYv
bW0vcDJtLXBvZC5jDQo+IEBAIC0yNyw3ICsyNyw3IEBADQo+ICAgc3RhdGljIGFsd2F5c19p
bmxpbmUgdm9pZCBsb2NrX3BhZ2VfYWxsb2Moc3RydWN0IHAybV9kb21haW4gKnAybSkNCj4g
ICB7DQo+ICAgICAgIHBhZ2VfYWxsb2NfbW1fcHJlX2xvY2socDJtLT5kb21haW4pOw0KPiAt
ICAgIHNwaW5fbG9jaygmKHAybS0+ZG9tYWluLT5wYWdlX2FsbG9jX2xvY2spKTsNCj4gKyAg
ICBucnNwaW5fbG9jaygmKHAybS0+ZG9tYWluLT5wYWdlX2FsbG9jX2xvY2spKTsNCj4gICAg
ICAgcGFnZV9hbGxvY19tbV9wb3N0X2xvY2socDJtLT5kb21haW4sDQo+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHAybS0+ZG9tYWluLT5hcmNoLnBhZ2VfYWxsb2NfdW5sb2Nr
X2xldmVsKTsNCj4gICB9DQo+IEBAIC0zNSw3ICszNSw3IEBAIHN0YXRpYyBhbHdheXNfaW5s
aW5lIHZvaWQgbG9ja19wYWdlX2FsbG9jKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pDQo+ICAg
c3RhdGljIGlubGluZSB2b2lkIHVubG9ja19wYWdlX2FsbG9jKHN0cnVjdCBwMm1fZG9tYWlu
ICpwMm0pDQo+ICAgew0KPiAgICAgICBwYWdlX2FsbG9jX21tX3VubG9jayhwMm0tPmRvbWFp
bi0+YXJjaC5wYWdlX2FsbG9jX3VubG9ja19sZXZlbCk7DQo+IC0gICAgc3Bpbl91bmxvY2so
JihwMm0tPmRvbWFpbi0+cGFnZV9hbGxvY19sb2NrKSk7DQo+ICsgICAgbnJzcGluX3VubG9j
aygmKHAybS0+ZG9tYWluLT5wYWdlX2FsbG9jX2xvY2spKTsNCj4gICB9DQo+ICAgDQo+ICAg
LyoNCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4
Ni9tbS9wMm0uYw0KPiBpbmRleCA0YzVhNzllYjUzLi5jZTc0MmMxMmUwIDEwMDY0NA0KPiAt
LS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3Ay
bS5jDQo+IEBAIC0yMjM0LDcgKzIyMzQsNyBAQCB2b2lkIGF1ZGl0X3AybShzdHJ1Y3QgZG9t
YWluICpkLA0KPiAgIA0KPiAgICAgICAvKiBBdWRpdCBwYXJ0IHR3bzogd2FsayB0aGUgZG9t
YWluJ3MgcGFnZSBhbGxvY2F0aW9uIGxpc3QsIGNoZWNraW5nDQo+ICAgICAgICAqIHRoZSBt
MnAgZW50cmllcy4gKi8NCj4gLSAgICBzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7
DQo+ICsgICAgbnJzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICAgICAgIHBh
Z2VfbGlzdF9mb3JfZWFjaCAoIHBhZ2UsICZkLT5wYWdlX2xpc3QgKQ0KPiAgICAgICB7DQo+
ICAgICAgICAgICBtZm4gPSBtZm5feChwYWdlX3RvX21mbihwYWdlKSk7DQo+IEBAIC0yMjg2
LDcgKzIyODYsNyBAQCB2b2lkIGF1ZGl0X3AybShzdHJ1Y3QgZG9tYWluICpkLA0KPiAgICAg
ICAgICAgUDJNX1BSSU5USygiT0s6IG1mbj0lI2x4LCBnZm49JSNseCwgcDJtZm49JSNseFxu
IiwNCj4gICAgICAgICAgICAgICAgICAgICAgbWZuLCBnZm4sIG1mbl94KHAybWZuKSk7DQo+
ICAgICAgIH0NCj4gLSAgICBzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4g
KyAgICBucnNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgIA0KPiAgICAg
ICBwb2RfdW5sb2NrKHAybSk7DQo+ICAgICAgIHAybV91bmxvY2socDJtKTsNCj4gZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL3g4Ni90Ym9vdC5jIGIveGVuL2FyY2gveDg2L3Rib290LmMNCj4g
aW5kZXggNGMyNTRiNGUzNC4uYmEwNzAwZDJkNSAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gv
eDg2L3Rib290LmMNCj4gKysrIGIveGVuL2FyY2gveDg2L3Rib290LmMNCj4gQEAgLTIwNSwx
NCArMjA1LDE0IEBAIHN0YXRpYyB2b2lkIHRib290X2dlbl9kb21haW5faW50ZWdyaXR5KGNv
bnN0IHVpbnQ4X3Qga2V5W1RCX0tFWV9TSVpFXSwNCj4gICAgICAgICAgICAgICBjb250aW51
ZTsNCj4gICAgICAgICAgIHByaW50aygiTUFDaW5nIERvbWFpbiAldVxuIiwgZC0+ZG9tYWlu
X2lkKTsNCj4gICANCj4gLSAgICAgICAgc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2sp
Ow0KPiArICAgICAgICBucnNwaW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gICAg
ICAgICAgIHBhZ2VfbGlzdF9mb3JfZWFjaChwYWdlLCAmZC0+cGFnZV9saXN0KQ0KPiAgICAg
ICAgICAgew0KPiAgICAgICAgICAgICAgIHZvaWQgKnBnID0gX19tYXBfZG9tYWluX3BhZ2Uo
cGFnZSk7DQo+ICAgICAgICAgICAgICAgdm1hY191cGRhdGUocGcsIFBBR0VfU0laRSwgJmN0
eCk7DQo+ICAgICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UocGcpOw0KPiAgICAgICAg
ICAgfQ0KPiAtICAgICAgICBzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4g
KyAgICAgICAgbnJzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gICANCj4g
ICAgICAgICAgIGlmICggaXNfaW9tbXVfZW5hYmxlZChkKSAmJiBpc192dGQgKQ0KPiAgICAg
ICAgICAgew0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21jdGwuYyBiL3hlbi9jb21t
b24vZG9tY3RsLmMNCj4gaW5kZXggZDk0YTlkYWU5MS4uMTdkNjc2NTFhNyAxMDA2NDQNCj4g
LS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYw0KPiArKysgYi94ZW4vY29tbW9uL2RvbWN0bC5j
DQo+IEBAIC02MjEsMTQgKzYyMSwxNCBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFO
RExFX1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21jdGwpDQo+ICAgICAgIHsNCj4gICAgICAg
ICAgIHVpbnQ2NF90IG5ld19tYXggPSBvcC0+dS5tYXhfbWVtLm1heF9tZW1rYiA+PiAoUEFH
RV9TSElGVCAtIDEwKTsNCj4gICANCj4gLSAgICAgICAgc3Bpbl9sb2NrKCZkLT5wYWdlX2Fs
bG9jX2xvY2spOw0KPiArICAgICAgICBucnNwaW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2Nr
KTsNCj4gICAgICAgICAgIC8qDQo+ICAgICAgICAgICAgKiBOQi4gV2UgcmVtb3ZlZCBhIGNo
ZWNrIHRoYXQgbmV3X21heCA+PSBjdXJyZW50IHRvdF9wYWdlczsgdGhpcyBtZWFucw0KPiAg
ICAgICAgICAgICogdGhhdCB0aGUgZG9tYWluIHdpbGwgbm93IGJlIGFsbG93ZWQgdG8gInJh
dGNoZXQiIGRvd24gdG8gbmV3X21heC4gSW4NCj4gICAgICAgICAgICAqIHRoZSBtZWFudGlt
ZSwgd2hpbGUgdG90ID4gbWF4LCBhbGwgbmV3IGFsbG9jYXRpb25zIGFyZSBkaXNhbGxvd2Vk
Lg0KPiAgICAgICAgICAgICovDQo+ICAgICAgICAgICBkLT5tYXhfcGFnZXMgPSBtaW4obmV3
X21heCwgKHVpbnQ2NF90KSh0eXBlb2YoZC0+bWF4X3BhZ2VzKSktMSk7DQo+IC0gICAgICAg
IHNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiArICAgICAgICBucnNwaW5f
dW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgICAgICAgICAgYnJlYWs7DQo+ICAg
ICAgIH0NCj4gICANCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYyBi
L3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYw0KPiBpbmRleCA3NzA4OTMwODgyLi5lOThlOWRh
NTIwIDEwMDY0NA0KPiAtLS0gYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMNCj4gKysrIGIv
eGVuL2NvbW1vbi9ncmFudF90YWJsZS5jDQo+IEBAIC0yMzc2LDcgKzIzNzYsNyBAQCBnbnR0
YWJfdHJhbnNmZXIoDQo+ICAgICAgICAgICAgICAgbWZuID0gcGFnZV90b19tZm4ocGFnZSk7
DQo+ICAgICAgICAgICB9DQo+ICAgDQo+IC0gICAgICAgIHNwaW5fbG9jaygmZS0+cGFnZV9h
bGxvY19sb2NrKTsNCj4gKyAgICAgICAgbnJzcGluX2xvY2soJmUtPnBhZ2VfYWxsb2NfbG9j
ayk7DQo+ICAgDQo+ICAgICAgICAgICAvKg0KPiAgICAgICAgICAgICogQ2hlY2sgdGhhdCAn
ZScgd2lsbCBhY2NlcHQgdGhlIHBhZ2UgYW5kIGhhcyByZXNlcnZhdGlvbg0KPiBAQCAtMjM4
Nyw3ICsyMzg3LDcgQEAgZ250dGFiX3RyYW5zZmVyKA0KPiAgICAgICAgICAgICAgICB1bmxp
a2VseShkb21haW5fdG90X3BhZ2VzKGUpID49IGUtPm1heF9wYWdlcykgfHwNCj4gICAgICAg
ICAgICAgICAgdW5saWtlbHkoIShlLT50b3RfcGFnZXMgKyAxKSkgKQ0KPiAgICAgICAgICAg
ew0KPiAtICAgICAgICAgICAgc3Bpbl91bmxvY2soJmUtPnBhZ2VfYWxsb2NfbG9jayk7DQo+
ICsgICAgICAgICAgICBucnNwaW5fdW5sb2NrKCZlLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAg
IA0KPiAgICAgICAgICAgICAgIGlmICggZS0+aXNfZHlpbmcgKQ0KPiAgICAgICAgICAgICAg
ICAgICBnZHByaW50ayhYRU5MT0dfSU5GTywgIlRyYW5zZmVyZWUgZCVkIGlzIGR5aW5nXG4i
LA0KPiBAQCAtMjQxMSw3ICsyNDExLDcgQEAgZ250dGFiX3RyYW5zZmVyKA0KPiAgICAgICAg
ICAgICogc2FmZWx5IGRyb3AgdGhlIGxvY2sgYW5kIHJlLWFxdWlyZSBpdCBsYXRlciB0byBh
ZGQgcGFnZSB0byB0aGUNCj4gICAgICAgICAgICAqIHBhZ2VsaXN0Lg0KPiAgICAgICAgICAg
ICovDQo+IC0gICAgICAgIHNwaW5fdW5sb2NrKCZlLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAr
ICAgICAgICBucnNwaW5fdW5sb2NrKCZlLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgICAgICAg
ICAgb2theSA9IGdudHRhYl9wcmVwYXJlX2Zvcl90cmFuc2ZlcihlLCBkLCBnb3AucmVmKTsN
Cj4gICANCj4gICAgICAgICAgIC8qDQo+IEBAIC0yNDI3LDkgKzI0MjcsOSBAQCBnbnR0YWJf
dHJhbnNmZXIoDQo+ICAgICAgICAgICAgICAgICogTmVlZCB0byBncmFiIHRoaXMgYWdhaW4g
dG8gc2FmZWx5IGZyZWUgb3VyICJyZXNlcnZlZCINCj4gICAgICAgICAgICAgICAgKiBwYWdl
IGluIHRoZSBwYWdlIHRvdGFsDQo+ICAgICAgICAgICAgICAgICovDQo+IC0gICAgICAgICAg
ICBzcGluX2xvY2soJmUtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgICAgICAgICBucnNw
aW5fbG9jaygmZS0+cGFnZV9hbGxvY19sb2NrKTsNCj4gICAgICAgICAgICAgICBkcm9wX2Rv
bV9yZWYgPSAhZG9tYWluX2FkanVzdF90b3RfcGFnZXMoZSwgLTEpOw0KPiAtICAgICAgICAg
ICAgc3Bpbl91bmxvY2soJmUtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgICAgICAgICBu
cnNwaW5fdW5sb2NrKCZlLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgIA0KPiAgICAgICAgICAg
ICAgIGlmICggb2theSAvKiBpLmUuIGUtPmlzX2R5aW5nIGR1ZSB0byB0aGUgc3Vycm91bmRp
bmcgaWYoKSAqLyApDQo+ICAgICAgICAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19JTkZP
LCAiVHJhbnNmZXJlZSBkJWQgaXMgbm93IGR5aW5nXG4iLA0KPiBkaWZmIC0tZ2l0IGEveGVu
L2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVtb3J5LmMNCj4gaW5kZXggYjNiMDVj
MmVjMC4uYjQ1OTNmNWY0NSAxMDA2NDQNCj4gLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYw0K
PiArKysgYi94ZW4vY29tbW9uL21lbW9yeS5jDQo+IEBAIC03NzAsMTAgKzc3MCwxMCBAQCBz
dGF0aWMgbG9uZyBtZW1vcnlfZXhjaGFuZ2UoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5f
bWVtb3J5X2V4Y2hhbmdlX3QpIGFyZykNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoMVVMIDw8IGluX2NodW5rX29yZGVyKSkgLQ0KPiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGogKiAoMVVMIDw8IGV4Y2gub3V0LmV4dGVudF9vcmRlcikpKTsNCj4g
ICANCj4gLSAgICAgICAgICAgICAgICBzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7
DQo+ICsgICAgICAgICAgICAgICAgbnJzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7
DQo+ICAgICAgICAgICAgICAgICAgIGRyb3BfZG9tX3JlZiA9IChkZWNfY291bnQgJiYNCj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFkb21haW5fYWRqdXN0X3RvdF9w
YWdlcyhkLCAtZGVjX2NvdW50KSk7DQo+IC0gICAgICAgICAgICAgICAgc3Bpbl91bmxvY2so
JmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgICAgICAgICAgICAgbnJzcGluX3VubG9j
aygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gICANCj4gICAgICAgICAgICAgICAgICAgaWYg
KCBkcm9wX2RvbV9yZWYgKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgcHV0X2RvbWFpbihk
KTsNCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vbnVtYS5jIGIveGVuL2NvbW1vbi9udW1h
LmMNCj4gaW5kZXggNjM3NGJhMTcyMS4uMjhhMDk3NjZmYSAxMDA2NDQNCj4gLS0tIGEveGVu
L2NvbW1vbi9udW1hLmMNCj4gKysrIGIveGVuL2NvbW1vbi9udW1hLmMNCj4gQEAgLTcxOSwx
MyArNzE5LDEzIEBAIHN0YXRpYyB2b2lkIGNmX2NoZWNrIGR1bXBfbnVtYSh1bnNpZ25lZCBj
aGFyIGtleSkNCj4gICANCj4gICAgICAgICAgIG1lbXNldChwYWdlX251bV9ub2RlLCAwLCBz
aXplb2YocGFnZV9udW1fbm9kZSkpOw0KPiAgIA0KPiAtICAgICAgICBzcGluX2xvY2soJmQt
PnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgICAgIG5yc3Bpbl9sb2NrKCZkLT5wYWdlX2Fs
bG9jX2xvY2spOw0KPiAgICAgICAgICAgcGFnZV9saXN0X2Zvcl9lYWNoICggcGFnZSwgJmQt
PnBhZ2VfbGlzdCApDQo+ICAgICAgICAgICB7DQo+ICAgICAgICAgICAgICAgaSA9IHBhZ2Vf
dG9fbmlkKHBhZ2UpOw0KPiAgICAgICAgICAgICAgIHBhZ2VfbnVtX25vZGVbaV0rKzsNCj4g
ICAgICAgICAgIH0NCj4gLSAgICAgICAgc3Bpbl91bmxvY2soJmQtPnBhZ2VfYWxsb2NfbG9j
ayk7DQo+ICsgICAgICAgIG5yc3Bpbl91bmxvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+
ICAgDQo+ICAgICAgICAgICBmb3JfZWFjaF9vbmxpbmVfbm9kZSAoIGkgKQ0KPiAgICAgICAg
ICAgICAgIHByaW50aygiICAgIE5vZGUgJXU6ICV1XG4iLCBpLCBwYWdlX251bV9ub2RlW2ld
KTsNCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jIGIveGVuL2NvbW1v
bi9wYWdlX2FsbG9jLmMNCj4gaW5kZXggYzk0ODM0ZDcxYi4uNGQ2Y2U3MjZlMyAxMDA2NDQN
Cj4gLS0tIGEveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMNCj4gKysrIGIveGVuL2NvbW1vbi9w
YWdlX2FsbG9jLmMNCj4gQEAgLTUxNiw3ICs1MTYsNyBAQCBpbnQgZG9tYWluX3NldF9vdXRz
dGFuZGluZ19wYWdlcyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHBhZ2VzKQ0K
PiAgICAgICAgKiBtdXN0IGFsd2F5cyB0YWtlIHRoZSBnbG9iYWwgaGVhcF9sb2NrIHJhdGhl
ciB0aGFuIG9ubHkgaW4gdGhlIG11Y2gNCj4gICAgICAgICogcmFyZXIgY2FzZSB0aGF0IGQt
Pm91dHN0YW5kaW5nX3BhZ2VzIGlzIG5vbi16ZXJvDQo+ICAgICAgICAqLw0KPiAtICAgIHNw
aW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gKyAgICBucnNwaW5fbG9jaygmZC0+
cGFnZV9hbGxvY19sb2NrKTsNCj4gICAgICAgc3Bpbl9sb2NrKCZoZWFwX2xvY2spOw0KPiAg
IA0KPiAgICAgICAvKiBwYWdlcz09MCBtZWFucyAidW5zZXQiIHRoZSBjbGFpbS4gKi8NCj4g
QEAgLTU2Miw3ICs1NjIsNyBAQCBpbnQgZG9tYWluX3NldF9vdXRzdGFuZGluZ19wYWdlcyhz
dHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHBhZ2VzKQ0KPiAgIA0KPiAgIG91dDoN
Cj4gICAgICAgc3Bpbl91bmxvY2soJmhlYXBfbG9jayk7DQo+IC0gICAgc3Bpbl91bmxvY2so
JmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgbnJzcGluX3VubG9jaygmZC0+cGFnZV9h
bGxvY19sb2NrKTsNCj4gICAgICAgcmV0dXJuIHJldDsNCj4gICB9DQo+ICAgDQo+IEBAIC0y
MzQ4LDcgKzIzNDgsNyBAQCBpbnQgYXNzaWduX3BhZ2VzKA0KPiAgICAgICBpbnQgcmMgPSAw
Ow0KPiAgICAgICB1bnNpZ25lZCBpbnQgaTsNCj4gICANCj4gLSAgICBzcGluX2xvY2soJmQt
PnBhZ2VfYWxsb2NfbG9jayk7DQo+ICsgICAgbnJzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2Nf
bG9jayk7DQo+ICAgDQo+ICAgICAgIGlmICggdW5saWtlbHkoZC0+aXNfZHlpbmcpICkNCj4g
ICAgICAgew0KPiBAQCAtMjQzMCw3ICsyNDMwLDcgQEAgaW50IGFzc2lnbl9wYWdlcygNCj4g
ICAgICAgfQ0KPiAgIA0KPiAgICBvdXQ6DQo+IC0gICAgc3Bpbl91bmxvY2soJmQtPnBhZ2Vf
YWxsb2NfbG9jayk7DQo+ICsgICAgbnJzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2Nr
KTsNCj4gICAgICAgcmV0dXJuIHJjOw0KPiAgIH0NCj4gICANCj4gQEAgLTI5MDksOSArMjkw
OSw5IEBAIG1mbl90IGFjcXVpcmVfcmVzZXJ2ZWRfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCB1
bnNpZ25lZCBpbnQgbWVtZmxhZ3MpDQo+ICAgICAgIEFTU0VSVF9BTExPQ19DT05URVhUKCk7
DQo+ICAgDQo+ICAgICAgIC8qIEFjcXVpcmUgYSBwYWdlIGZyb20gcmVzZXJ2ZWQgcGFnZSBs
aXN0KHJlc3ZfcGFnZV9saXN0KS4gKi8NCj4gLSAgICBzcGluX2xvY2soJmQtPnBhZ2VfYWxs
b2NfbG9jayk7DQo+ICsgICAgbnJzcGluX2xvY2soJmQtPnBhZ2VfYWxsb2NfbG9jayk7DQo+
ICAgICAgIHBhZ2UgPSBwYWdlX2xpc3RfcmVtb3ZlX2hlYWQoJmQtPnJlc3ZfcGFnZV9saXN0
KTsNCj4gLSAgICBzcGluX3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gKyAgICBu
cnNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgICAgICBpZiAoIHVubGlr
ZWx5KCFwYWdlKSApDQo+ICAgICAgICAgICByZXR1cm4gSU5WQUxJRF9NRk47DQo+ICAgDQo+
IEBAIC0yOTMwLDkgKzI5MzAsOSBAQCBtZm5fdCBhY3F1aXJlX3Jlc2VydmVkX3BhZ2Uoc3Ry
dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IG1lbWZsYWdzKQ0KPiAgICAgICAgKi8NCj4g
ICAgICAgdW5wcmVwYXJlX3N0YXRpY21lbV9wYWdlcyhwYWdlLCAxLCBmYWxzZSk7DQo+ICAg
IGZhaWw6DQo+IC0gICAgc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiArICAg
IG5yc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOw0KPiAgICAgICBwYWdlX2xpc3Rf
YWRkX3RhaWwocGFnZSwgJmQtPnJlc3ZfcGFnZV9saXN0KTsNCj4gLSAgICBzcGluX3VubG9j
aygmZC0+cGFnZV9hbGxvY19sb2NrKTsNCj4gKyAgICBucnNwaW5fdW5sb2NrKCZkLT5wYWdl
X2FsbG9jX2xvY2spOw0KPiAgICAgICByZXR1cm4gSU5WQUxJRF9NRk47DQo+ICAgfQ0KPiAg
ICNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMgYi94
ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYw0KPiBpbmRleCBjY2Q1ZjhjYzE0Li4yMmY1MGZj
NjE3IDEwMDY0NA0KPiAtLS0gYS94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYw0KPiArKysg
Yi94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYw0KPiBAQCAtMzY4LDkgKzM2OCw5IEBAIGxv
bmcgcmVhZF9jb25zb2xlX3Jpbmcoc3RydWN0IHhlbl9zeXNjdGxfcmVhZGNvbnNvbGUgKm9w
KQ0KPiAgIA0KPiAgICAgICBpZiAoIG9wLT5jbGVhciApDQo+ICAgICAgIHsNCj4gLSAgICAg
ICAgc3Bpbl9sb2NrX2lycSgmY29uc29sZV9sb2NrKTsNCj4gKyAgICAgICAgbnJzcGluX2xv
Y2tfaXJxKCZjb25zb2xlX2xvY2spOw0KPiAgICAgICAgICAgY29ucmluZ2MgPSBwIC0gYyA+
IGNvbnJpbmdfc2l6ZSA/IHAgLSBjb25yaW5nX3NpemUgOiBjOw0KPiAtICAgICAgICBzcGlu
X3VubG9ja19pcnEoJmNvbnNvbGVfbG9jayk7DQo+ICsgICAgICAgIG5yc3Bpbl91bmxvY2tf
aXJxKCZjb25zb2xlX2xvY2spOw0KPiAgICAgICB9DQo+ICAgDQo+ICAgICAgIG9wLT5jb3Vu
dCA9IHNvZmFyOw0KPiBAQCAtNjM4LDcgKzYzOCw3IEBAIHN0YXRpYyBsb25nIGd1ZXN0X2Nv
bnNvbGVfd3JpdGUoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShjaGFyKSBidWZmZXIsDQo+ICAg
ICAgICAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihjZCkgKQ0KPiAgICAgICAgICAgew0K
PiAgICAgICAgICAgICAgIC8qIFVzZSBkaXJlY3QgY29uc29sZSBvdXRwdXQgYXMgaXQgY291
bGQgYmUgaW50ZXJhY3RpdmUgKi8NCj4gLSAgICAgICAgICAgIHNwaW5fbG9ja19pcnEoJmNv
bnNvbGVfbG9jayk7DQo+ICsgICAgICAgICAgICBucnNwaW5fbG9ja19pcnEoJmNvbnNvbGVf
bG9jayk7DQo+ICAgDQo+ICAgICAgICAgICAgICAgY29uc29sZV9zZXJpYWxfcHV0cyhrYnVm
LCBrY291bnQpOw0KPiAgICAgICAgICAgICAgIHZpZGVvX3B1dHMoa2J1Ziwga2NvdW50KTsN
Cj4gQEAgLTY1OSw3ICs2NTksNyBAQCBzdGF0aWMgbG9uZyBndWVzdF9jb25zb2xlX3dyaXRl
KFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oY2hhcikgYnVmZmVyLA0KPiAgICAgICAgICAgICAg
ICAgICB0YXNrbGV0X3NjaGVkdWxlKCZub3RpZnlfZG9tMF9jb25fcmluZ190YXNrbGV0KTsN
Cj4gICAgICAgICAgICAgICB9DQo+ICAgDQo+IC0gICAgICAgICAgICBzcGluX3VubG9ja19p
cnEoJmNvbnNvbGVfbG9jayk7DQo+ICsgICAgICAgICAgICBucnNwaW5fdW5sb2NrX2lycSgm
Y29uc29sZV9sb2NrKTsNCj4gICAgICAgICAgIH0NCj4gICAgICAgICAgIGVsc2UNCj4gICAg
ICAgICAgIHsNCj4gQEAgLTEwMjYsOSArMTAyNiw5IEBAIHZvaWQgX19pbml0IGNvbnNvbGVf
aW5pdF9wcmVpcnEodm9pZCkNCj4gICAgICAgcHZfY29uc29sZV9zZXRfcnhfaGFuZGxlcihz
ZXJpYWxfcngpOw0KPiAgIA0KPiAgICAgICAvKiBIRUxMTyBXT1JMRCAtLS0gc3RhcnQtb2Yt
ZGF5IGJhbm5lciB0ZXh0LiAqLw0KPiAtICAgIHNwaW5fbG9jaygmY29uc29sZV9sb2NrKTsN
Cj4gKyAgICBucnNwaW5fbG9jaygmY29uc29sZV9sb2NrKTsNCj4gICAgICAgX19wdXRzdHIo
eGVuX2Jhbm5lcigpKTsNCj4gLSAgICBzcGluX3VubG9jaygmY29uc29sZV9sb2NrKTsNCj4g
KyAgICBucnNwaW5fdW5sb2NrKCZjb25zb2xlX2xvY2spOw0KPiAgICAgICBwcmludGsoIlhl
biB2ZXJzaW9uICVkLiVkJXMgKCVzQCVzKSAoJXMpICVzICVzXG4iLA0KPiAgICAgICAgICAg
ICAgeGVuX21ham9yX3ZlcnNpb24oKSwgeGVuX21pbm9yX3ZlcnNpb24oKSwgeGVuX2V4dHJh
X3ZlcnNpb24oKSwNCj4gICAgICAgICAgICAgIHhlbl9jb21waWxlX2J5KCksIHhlbl9jb21w
aWxlX2RvbWFpbigpLCB4ZW5fY29tcGlsZXIoKSwNCj4gQEAgLTEwNjUsMTMgKzEwNjUsMTMg
QEAgdm9pZCBfX2luaXQgY29uc29sZV9pbml0X3Jpbmcodm9pZCkNCj4gICAgICAgfQ0KPiAg
ICAgICBvcHRfY29ucmluZ19zaXplID0gUEFHRV9TSVpFIDw8IG9yZGVyOw0KPiAgIA0KPiAt
ICAgIHNwaW5fbG9ja19pcnFzYXZlKCZjb25zb2xlX2xvY2ssIGZsYWdzKTsNCj4gKyAgICBu
cnNwaW5fbG9ja19pcnFzYXZlKCZjb25zb2xlX2xvY2ssIGZsYWdzKTsNCj4gICAgICAgZm9y
ICggaSA9IGNvbnJpbmdjIDsgaSAhPSBjb25yaW5ncDsgaSsrICkNCj4gICAgICAgICAgIHJp
bmdbaSAmIChvcHRfY29ucmluZ19zaXplIC0gMSldID0gY29ucmluZ1tpICYgKGNvbnJpbmdf
c2l6ZSAtIDEpXTsNCj4gICAgICAgY29ucmluZyA9IHJpbmc7DQo+ICAgICAgIHNtcF93bWIo
KTsgLyogQWxsb3cgdXNlcnMgb2YgY29uc29sZV9mb3JjZV91bmxvY2soKSB0byBzZWUgbGFy
Z2VyIGJ1ZmZlci4gKi8NCj4gICAgICAgY29ucmluZ19zaXplID0gb3B0X2NvbnJpbmdfc2l6
ZTsNCj4gLSAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb25zb2xlX2xvY2ssIGZsYWdz
KTsNCj4gKyAgICBucnNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvbnNvbGVfbG9jaywgZmxh
Z3MpOw0KPiAgIA0KPiAgICAgICBwcmludGsoIkFsbG9jYXRlZCBjb25zb2xlIHJpbmcgb2Yg
JXUgS2lCLlxuIiwgb3B0X2NvbnJpbmdfc2l6ZSA+PiAxMCk7DQo+ICAgfQ0KPiBkaWZmIC0t
Z2l0IGEveGVuL2luY2x1ZGUveGVuL3NwaW5sb2NrLmggYi94ZW4vaW5jbHVkZS94ZW4vc3Bp
bmxvY2suaA0KPiBpbmRleCA1OTNjYmE2NDBlLi41M2EzMzY1M2Y5IDEwMDY0NA0KPiAtLS0g
YS94ZW4vaW5jbHVkZS94ZW4vc3BpbmxvY2suaA0KPiArKysgYi94ZW4vaW5jbHVkZS94ZW4v
c3BpbmxvY2suaA0KPiBAQCAtMTAyLDYgKzEwMiw5IEBAIHN0cnVjdCBsb2NrX3Byb2ZpbGVf
cWhlYWQgew0KPiAgIH07DQo+ICAgDQo+ICAgI2RlZmluZSBMT0NLX1BST0ZJTEVfKGxvY2tu
YW1lKSB7IC5uYW1lID0gI2xvY2tuYW1lLCAucHRyLmxvY2sgPSAmKGxvY2tuYW1lKSwgfQ0K
PiArI2RlZmluZSBSTE9DS19QUk9GSUxFXyhsb2NrbmFtZSkgeyAubmFtZSA9ICNsb2NrbmFt
ZSwgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAucHRyLnJsb2NrID0gJihsb2NrbmFtZSksICAgICAgICAgICAgICAg
ICAgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaXNfcmxvY2sg
PSB0cnVlLCB9DQo+ICAgI2RlZmluZSBMT0NLX1BST0ZJTEVfUFRSXyhuYW1lKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAgICAgICBzdGF0
aWMgc3RydWN0IGxvY2tfcHJvZmlsZSAqIGNvbnN0IGxvY2tfcHJvZmlsZV9fIyNuYW1lICAg
ICAgICAgICAgICAgICAgIFwNCj4gICAgICAgX191c2VkX3NlY3Rpb24oIi5sb2NrcHJvZmls
ZS5kYXRhIikgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+IEBA
IC0xMTgsMTAgKzEyMSwxMCBAQCBzdHJ1Y3QgbG9ja19wcm9maWxlX3FoZWFkIHsNCj4gICAg
ICAgTE9DS19QUk9GSUxFX1BUUl8obCkNCj4gICAjZGVmaW5lIERFRklORV9SU1BJTkxPQ0so
bCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
DQo+ICAgICAgIHJzcGlubG9ja190IGwgPSBTUElOX0xPQ0tfVU5MT0NLRURfKE5VTEwpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAtICAgIHN0YXRpYyBzdHJ1Y3Qg
bG9ja19wcm9maWxlIGxvY2tfcHJvZmlsZV9kYXRhX18jI2wgPSBMT0NLX1BST0ZJTEVfKGwp
OyAgICAgXA0KPiArICAgIHN0YXRpYyBzdHJ1Y3QgbG9ja19wcm9maWxlIGxvY2tfcHJvZmls
ZV9kYXRhX18jI2wgPSBSTE9DS19QUk9GSUxFXyhsKTsgICAgXA0KPiAgICAgICBMT0NLX1BS
T0ZJTEVfUFRSXyhsKQ0KPiAgIA0KPiAtI2RlZmluZSBzcGluX2xvY2tfaW5pdF9wcm9mX18o
cywgbCwgbG9ja3R5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAr
I2RlZmluZSBzcGluX2xvY2tfaW5pdF9wcm9mX18ocywgbCwgbG9ja3B0ciwgbG9ja3R5cGUs
IGlzcikgICAgICAgICAgICAgICAgICAgXA0KPiAgICAgICBkbyB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwNCj4gICAgICAgICAgIHN0cnVjdCBsb2NrX3Byb2ZpbGUgKnByb2Y7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICAgICAgICAgICBwcm9mID0g
eHphbGxvYyhzdHJ1Y3QgbG9ja19wcm9maWxlKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXA0KPiBAQCAtMTM0LDEzICsxMzcsMTYgQEAgc3RydWN0IGxvY2tfcHJvZmls
ZV9xaGVhZCB7DQo+ICAgICAgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAgICAgICAgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwNCj4gICAgICAgICAgIHByb2YtPm5hbWUgPSAjbDsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+IC0g
ICAgICAgIHByb2YtPnB0ci5sb2NrID0gJihzKS0+bDsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgIHByb2YtPnB0ci5sb2NrcHRy
ID0gJihzKS0+bDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
DQo+ICsgICAgICAgIHByb2YtPmlzX3Jsb2NrID0gaXNyOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICAgICAgICAgICBwcm9mLT5uZXh0
ID0gKHMpLT5wcm9maWxlX2hlYWQuZWxlbV9xOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXA0KPiAgICAgICAgICAgKHMpLT5wcm9maWxlX2hlYWQuZWxlbV9xID0gcHJvZjsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gICAgICAgfSB3aGls
ZSggMCApDQo+ICAgDQo+IC0jZGVmaW5lIHNwaW5fbG9ja19pbml0X3Byb2YocywgbCkgc3Bp
bl9sb2NrX2luaXRfcHJvZl9fKHMsIGwsIHNwaW5sb2NrX3QpDQo+IC0jZGVmaW5lIHJzcGlu
X2xvY2tfaW5pdF9wcm9mKHMsIGwpIHNwaW5fbG9ja19pbml0X3Byb2ZfXyhzLCBsLCByc3Bp
bmxvY2tfdCkNCj4gKyNkZWZpbmUgc3Bpbl9sb2NrX2luaXRfcHJvZihzLCBsKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBzcGluX2xv
Y2tfaW5pdF9wcm9mX18ocywgbCwgbG9jaywgc3BpbmxvY2tfdCwgZmFsc2UpDQo+ICsjZGVm
aW5lIHJzcGluX2xvY2tfaW5pdF9wcm9mKHMsIGwpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgc3Bpbl9sb2NrX2luaXRfcHJvZl9fKHMs
IGwsIHJsb2NrLCByc3BpbmxvY2tfdCwgdHJ1ZSkNCj4gICANCj4gICB2b2lkIF9sb2NrX3By
b2ZpbGVfcmVnaXN0ZXJfc3RydWN0KA0KPiAgICAgICBpbnQzMl90IHR5cGUsIHN0cnVjdCBs
b2NrX3Byb2ZpbGVfcWhlYWQgKnFoZWFkLCBpbnQzMl90IGlkeCk7DQo+IEBAIC0yNzQsNyAr
MjgwLDEwIEBAIHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgc3Bpbl9sb2NrX2lmKGJvb2wg
Y29uZGl0aW9uLCBzcGlubG9ja190ICpsKQ0KPiAgICAqIHJlZW50ZXJlZCByZWN1cnNpdmVs
eSBvbiB0aGUgc2FtZSBDUFUuIEFsbCBjcml0aWNhbCByZWdpb25zIHRoYXQgbWF5IGZvcm0N
Cj4gICAgKiBwYXJ0IG9mIGEgcmVjdXJzaXZlbHktbmVzdGVkIHNldCBtdXN0IGJlIHByb3Rl
Y3RlZCBieSB0aGVzZSBmb3Jtcy4gSWYgdGhlcmUNCj4gICAgKiBhcmUgYW55IGNyaXRpY2Fs
IHJlZ2lvbnMgdGhhdCBjYW5ub3QgZm9ybSBwYXJ0IG9mIHN1Y2ggYSBzZXQsIHRoZXkgY2Fu
IHVzZQ0KPiAtICogc3RhbmRhcmQgc3Bpbl9bdW5dbG9jaygpLg0KPiArICogbnJzcGluX1t1
bl1sb2NrKCkuDQo+ICsgKiBUaGUgbnJzcGluX1t1bl1sb2NrKCkgZm9ybXMgYWN0IHRoZSBz
YW1lIHdheSBhcyBub3JtYWwgc3Bpbl9bdW5dbG9jaygpDQo+ICsgKiBjYWxscywgYnV0IG9w
ZXJhdGUgb24gcnNwaW5sb2NrX3QgbG9ja3MuIG5yc3Bpbl9sb2NrKCkgYW5kIHJzcGluX2xv
Y2soKQ0KPiArICogY2FsbHMgYXJlIGJsb2NraW5nIHRvIGVhY2ggb3RoZXIgZm9yIGEgc3Bl
Y2lmaWMgbG9jayBldmVuIG9uIHRoZSBzYW1lIGNwdS4NCj4gICAgKi8NCj4gICBib29sIF9y
c3Bpbl90cnlsb2NrKHJzcGlubG9ja190ICpsb2NrKTsNCj4gICB2b2lkIF9yc3Bpbl9sb2Nr
KHJzcGlubG9ja190ICpsb2NrKTsNCj4gQEAgLTI5OCw0ICszMDcsMTIgQEAgc3RhdGljIGFs
d2F5c19pbmxpbmUgdm9pZCByc3Bpbl9sb2NrKHJzcGlubG9ja190ICpsb2NrKQ0KPiAgICNk
ZWZpbmUgcnNwaW5fdW5sb2NrKGwpICAgICAgICAgICAgICAgX3JzcGluX3VubG9jayhsKQ0K
PiAgICNkZWZpbmUgcnNwaW5fdW5sb2NrX2lycXJlc3RvcmUobCwgZikgX3JzcGluX3VubG9j
a19pcnFyZXN0b3JlKGwsIGYpDQo+ICAgDQo+ICsjZGVmaW5lIG5yc3Bpbl90cnlsb2NrKGwp
ICAgIHNwaW5fdHJ5bG9jayhsKQ0KPiArI2RlZmluZSBucnNwaW5fbG9jayhsKSAgICAgICBz
cGluX2xvY2sobCkNCj4gKyNkZWZpbmUgbnJzcGluX3VubG9jayhsKSAgICAgc3Bpbl91bmxv
Y2sobCkNCj4gKyNkZWZpbmUgbnJzcGluX2xvY2tfaXJxKGwpICAgc3Bpbl9sb2NrX2lycShs
KQ0KPiArI2RlZmluZSBucnNwaW5fdW5sb2NrX2lycShsKSBzcGluX3VubG9ja19pcnEobCkN
Cj4gKyNkZWZpbmUgbnJzcGluX2xvY2tfaXJxc2F2ZShsLCBmKSAgICAgIHNwaW5fbG9ja19p
cnFzYXZlKGwsIGYpDQo+ICsjZGVmaW5lIG5yc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShsLCBm
KSBzcGluX3VubG9ja19pcnFyZXN0b3JlKGwsIGYpDQo+ICsNCj4gICAjZW5kaWYgLyogX19T
UElOTE9DS19IX18gKi8NCg0K
--------------X8GkP65ern4zxO8MbhSZvAkX
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-----

--------------X8GkP65ern4zxO8MbhSZvAkX--

--------------UcvB00tdQKqe6QTcJ1lhJ0Z7--

--------------FnHBcdkPupSeined1BmELlc0
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/Ey8FAmYOjX4FAwAAAAAACgkQsN6d1ii/Ey+H
aAf+KrecCWqgVnhSxpTn/ygs/3MDP0VZptOhlCyCY1oAtNvimUqVE/letP4LMsYotb4U0WO2DD9L
yShF3vRHPhBhvt0fMNvVbo5Bh6Kn/6UKR2QllrckdNcJsWQ3ucf+lm6y0DsbbpF4qX8j/ZnL9NTl
BFynexso2bJ1T/W1nN/2wHc8cU0GjcjMKztE8GdEBoX+D4aJOAbfL9d5j69JDkWYC0CByOcIFBTL
7kfIAi654IHOyvlM4IsZFfxG9jejoEHWHhF0z8xqOF0FHpXO3ny2SASCe8wHcK/leLKNBALSbhvS
I32jfYNvXhkCec6nqny/GCAlNfUNePCyIBVkUcKoaQ==
=ce2j
-----END PGP SIGNATURE-----

--------------FnHBcdkPupSeined1BmELlc0--


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 11:36:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 11:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700827.1094547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLOH-000530-SR; Thu, 04 Apr 2024 11:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700827.1094547; Thu, 04 Apr 2024 11:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLOH-00052t-PE; Thu, 04 Apr 2024 11:36:21 +0000
Received: by outflank-mailman (input) for mailman id 700827;
 Thu, 04 Apr 2024 11:36: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=OVy+=LJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rsLOG-00052n-RE
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 11:36:20 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2418::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8daff9f7-f277-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 13:36:19 +0200 (CEST)
Received: from MN2PR20CA0001.namprd20.prod.outlook.com (2603:10b6:208:e8::14)
 by BL3PR12MB6572.namprd12.prod.outlook.com (2603:10b6:208:38f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 11:36:16 +0000
Received: from BL6PEPF00020E62.namprd04.prod.outlook.com
 (2603:10b6:208:e8:cafe::6) 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.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 11:36:16 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF00020E62.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.7452.22 via Frontend Transport; Thu, 4 Apr 2024 11:36:16 +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.35; Thu, 4 Apr
 2024 06:36:15 -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.35; Thu, 4 Apr
 2024 06:36:15 -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.35 via Frontend
 Transport; Thu, 4 Apr 2024 06:36: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: 8daff9f7-f277-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5lL/P3FvVjj90hhkHDwHYX18lzjZzytMEZ21FuD/kZgLsETOM3Hh+SAGcnrwKm2o6vWUmO6hCZMmVo1BwV2hJEhzNOLW9KsiPjN+1hZTpatSklyLtGwlNsrfoJ9DvHgF0RT7XF46s8MRdpMMMX0Ju0IAl0RMGyG7dbCqG/STa3VfW4gqslEJJPdN4ZwbgbwL0K7ZKTqS+JzifaGqGq13qof75TxhHRnbny++/+qDidI0CjW2DR71lIodx6poEamNGI62xzSIQ4Q4ZjQVasvtVVo+/sIxS1OHaZq1ZIaaz7aSe27k4dbyGrAW6SePgzuti0dTqksU7OSQHSW9adaaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4DBhCerJZpFX20dxGZr1pI1DqUS9MKKcoucDMbJ5nvU=;
 b=htGCmvyXA5vOjDpxSrOEe0CetNkhPWrshoqS6OUi1zIzaMYgUvpVqYiry8aNDJeuWn70iSsBf5NUaB0Kctc1AiQ0FSbINCOtZCXeVKO4U6Yerm1qV5aQG84UquKb0l1zoxEEaCAChq0l0NIUfWgmAWmV1OV59t2uc8wEriFnui042vREVoz4WvszbnelivB2hHx2bBubFuBLM/P/UgTyzOuqAz6kI3GyG2f2tQpqG5XqS2gVjLmjDlte34GfzeOxc+tG+rlseBqw9yAci3E0DhIaftJs0LlZkDS8wBB7t/bl1fotd115bL/7NK7Y2Bvcuz8tOrigyNGwNlZMfPGMqA==
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=4DBhCerJZpFX20dxGZr1pI1DqUS9MKKcoucDMbJ5nvU=;
 b=fRSnrJInIEX2MzH7ooTis/yzEouV6vMHcR5pDLKWS3LtCHjBKqW6f+RQxOP8R9TlG8ghIfl+7oRrphZfl5WnzSQOt+qN6g/zgWCfj2Zwt6ryKabtVka1vvA+pNNkkN3FYXJAY6mBCb3TIenJIgkxFi6IHUHlJT4+06W2QuWESOo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <ae50ef70-39d6-4abb-a457-8bc7cb3bbfcd@amd.com>
Date: Thu, 4 Apr 2024 13:36:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/8] xen/spinlock: add explicit non-recursive locking
 functions
To: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>, "Lukasz
 Hawrylko" <lukasz@hawrylko.pl>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, =?UTF-8?Q?Mateusz_M=C3=B3wka?=
	<mateusz.mowka@intel.com>
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-2-jgross@suse.com>
 <7510b237-a8cf-4ded-a99d-265bffbed623@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <7510b237-a8cf-4ded-a99d-265bffbed623@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00020E62:EE_|BL3PR12MB6572:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c1ee01f-01c3-467c-1143-08dc549b7094
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KxPNo66XrOgGmaZCKFnrFP6ruZ8rnz8313iJ8e3p7z9PyflyvmT/OKPIz1r6GOOpNgE8yBTTOv+0pHgrItMmBKJR42wheQCCO3qeOd1l9qU8BOBidfYzMjNzTm5EpGZ4kH7457kA1FLVJhYnDmxWjlTCPmst9GsgE4GCoxDTdrMXUSj3Y5Rl+875UMF+9SdoYCM+JPD19iFueNB761HPrS4t0VaqxsWWM7v5DtTnZKuJWCD+hf/4s/O3e03AECEakPNj7bPFEvU1gqKfpW8/ZXGG/QqEZ4i6rcZrRE20HF3esuA4O6wyo/jMql1eKl/xRJ2LNYwt4erpWCK64yjrl8Fv28jv+0oJ5nmfs8pJ4KqeDeAsvR90nur2wXU25VDIjzqOHWbshT7oscsPsaUHOa3+FufbjbLEb+SiRdq6s4HnSHZbCJAX2wjMIFb6AiWYfmvf5LDw1pe4iF8eRX2ZvsP9GWDP2tKOlJO8bv7MAn/xsmdr2kZZouGmP0fKjF0FUuOU62P9qbHXN6TLQBoEtZ0M3tDwBue1ay3i9viN1d5/kvdFitCMGAVdb5M3zRrOkPKeg0GjKxDbOCw0M5G0WVsZb1WsFisxhhYUGh84bS0epS3bhuHO57gaZdr6XhsGlCSZ3jX/vLjHDmX/1RWV4Ka3zM2D2brXma0Jh+B2iDQsPii76kaOba6H2JVtOTXHlvc6pUvtBx2+UKqAdE5IGL0ul0kLO2ryGQqr1/v8Y1e7mSaFGlpUeInknZXy/gMF
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(7416005)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 11:36:16.2840
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c1ee01f-01c3-467c-1143-08dc549b7094
X-MS-Exchange-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:
	BL6PEPF00020E62.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6572



On 04/04/2024 13:22, Juergen Gross wrote:
> On 27.03.24 16:22, Juergen Gross wrote:
>> In order to prepare a type-safe recursive spinlock structure, add
>> explicitly non-recursive locking functions to be used for non-recursive
>> locking of spinlocks, which are used recursively, too.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Could any of the Arm maintainers please have a look at this patch?
I can see that Julien took a look at this patch and he was ok, so:
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal
 


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 11:38:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 11:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700829.1094557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLQa-0005ai-8j; Thu, 04 Apr 2024 11:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700829.1094557; Thu, 04 Apr 2024 11:38:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLQa-0005ab-5X; Thu, 04 Apr 2024 11:38:44 +0000
Received: by outflank-mailman (input) for mailman id 700829;
 Thu, 04 Apr 2024 11:38:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K2E9=LJ=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rsLQY-0005aV-Lg
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 11:38:42 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e0881ef3-f277-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 13:38:40 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id D0DC019DDC;
 Thu,  4 Apr 2024 07:38:36 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id BBB3D19DDB;
 Thu,  4 Apr 2024 07:38:36 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.85])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 5E89C19DDA;
 Thu,  4 Apr 2024 07:38:33 -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: e0881ef3-f277-11ee-afe5-a90da7624cb6
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=CzowhB/F826RPhGo1uOo6VB4C1CV4lZHEyGc69Nr1QI=; b=eZxx
	FNbuQ30ZcbS16sHniizgrnZ5RTHEYjPNSqV0+B3Pdob6ctz6XjzzWRCRYtovlea4
	Pw6N8V1sgTeE0ZZr74qMnbxDtddiBnMx9v3KRJBl3noUfpWAmO3f31nJWZSj9lFW
	BDJVxRfH0WGCzJjbBSEuynOa5c3pekNrIS4wQWk=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [PATCH] x86/MCE: move intel mcheck init code to separate file
Date: Thu,  4 Apr 2024 14:38:28 +0300
Message-Id: <20240404113828.2535191-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 DDF69B4E-F277-11EE-9825-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Separate Intel nonfatal MCE initialization code from generic MCE code, th=
e same
way it is done for AMD code. This is to be able to later make intel/amd M=
CE
code optional in the build.

Also clean up unused includes.

No functional change intended.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/Makefile         |  1 +
 xen/arch/x86/cpu/mcheck/intel_nonfatal.c | 83 ++++++++++++++++++++++++
 xen/arch/x86/cpu/mcheck/mce.h            |  1 +
 xen/arch/x86/cpu/mcheck/non-fatal.c      | 82 +----------------------
 4 files changed, 86 insertions(+), 81 deletions(-)
 create mode 100644 xen/arch/x86/cpu/mcheck/intel_nonfatal.c

diff --git a/xen/arch/x86/cpu/mcheck/Makefile b/xen/arch/x86/cpu/mcheck/M=
akefile
index 0d63ff9096..bb9908dede 100644
--- a/xen/arch/x86/cpu/mcheck/Makefile
+++ b/xen/arch/x86/cpu/mcheck/Makefile
@@ -2,6 +2,7 @@ obj-y +=3D amd_nonfatal.o
 obj-y +=3D mce_amd.o
 obj-y +=3D mcaction.o
 obj-y +=3D barrier.o
+obj-y +=3D intel_nonfatal.o
 obj-y +=3D mctelem.o
 obj-y +=3D mce.o
 obj-y +=3D mce-apei.o
diff --git a/xen/arch/x86/cpu/mcheck/intel_nonfatal.c b/xen/arch/x86/cpu/=
mcheck/intel_nonfatal.c
new file mode 100644
index 0000000000..0085948dba
--- /dev/null
+++ b/xen/arch/x86/cpu/mcheck/intel_nonfatal.c
@@ -0,0 +1,83 @@
+/*
+ * Non Fatal Machine Check Exception Reporting
+ *
+ * (C) Copyright 2002 Dave Jones. <davej@codemonkey.org.uk>
+ *
+ * This file contains routines to check for non-fatal MCEs every 15s
+ *
+ */
+
+#include <xen/event.h>
+
+#include "mce.h"
+#include "vmce.h"
+
+static struct timer mce_timer;
+
+#define MCE_PERIOD MILLISECS(8000)
+#define MCE_PERIOD_MIN MILLISECS(2000)
+#define MCE_PERIOD_MAX MILLISECS(16000)
+
+static uint64_t period =3D MCE_PERIOD;
+static int adjust =3D 0;
+static int variable_period =3D 1;
+
+static void cf_check mce_checkregs(void *info)
+{
+	mctelem_cookie_t mctc;
+	struct mca_summary bs;
+	static uint64_t dumpcount =3D 0;
+
+	mctc =3D mcheck_mca_logout(MCA_POLLER, this_cpu(poll_bankmask),
+				 &bs, NULL);
+
+	if (bs.errcnt && mctc !=3D NULL) {
+		adjust++;
+
+		/* If Dom0 enabled the VIRQ_MCA event, then notify it.
+		 * Otherwise, if dom0 has had plenty of time to register
+		 * the virq handler but still hasn't then dump telemetry
+		 * to the Xen console.  The call count may be incremented
+		 * on multiple cpus at once and is indicative only - just
+		 * a simple-minded attempt to avoid spamming the console
+		 * for corrected errors in early startup.
+		 */
+
+		if (dom0_vmce_enabled()) {
+			mctelem_commit(mctc);
+			send_global_virq(VIRQ_MCA);
+		} else if (++dumpcount >=3D 10) {
+			x86_mcinfo_dump((struct mc_info *)mctelem_dataptr(mctc));
+			mctelem_dismiss(mctc);
+		} else {
+			mctelem_dismiss(mctc);
+		}
+	} else if (mctc !=3D NULL) {
+		mctelem_dismiss(mctc);
+	}
+}
+
+static void cf_check mce_work_fn(void *data)
+{
+	on_each_cpu(mce_checkregs, NULL, 1);
+
+	if (variable_period) {
+		if (adjust)
+			period /=3D (adjust + 1);
+		else
+			period *=3D 2;
+		if (period > MCE_PERIOD_MAX)
+			period =3D MCE_PERIOD_MAX;
+		if (period < MCE_PERIOD_MIN)
+			period =3D MCE_PERIOD_MIN;
+	}
+
+	set_timer(&mce_timer, NOW() + period);
+	adjust =3D 0;
+}
+
+void __init intel_nonfatal_mcheck_init(struct cpuinfo_x86 *unused)
+{
+	init_timer(&mce_timer, mce_work_fn, NULL, 0);
+	set_timer(&mce_timer, NOW() + MCE_PERIOD);
+}
diff --git a/xen/arch/x86/cpu/mcheck/mce.h b/xen/arch/x86/cpu/mcheck/mce.=
h
index 7f26afae23..4806405f96 100644
--- a/xen/arch/x86/cpu/mcheck/mce.h
+++ b/xen/arch/x86/cpu/mcheck/mce.h
@@ -47,6 +47,7 @@ enum mcheck_type amd_mcheck_init(const struct cpuinfo_x=
86 *c, bool bsp);
 enum mcheck_type intel_mcheck_init(struct cpuinfo_x86 *c, bool bsp);
=20
 void amd_nonfatal_mcheck_init(struct cpuinfo_x86 *c);
+void intel_nonfatal_mcheck_init(struct cpuinfo_x86 *c);
=20
 extern unsigned int firstbank;
 extern unsigned int ppin_msr;
diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mchec=
k/non-fatal.c
index 1c0c32ba08..33cacd15c2 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -7,84 +7,7 @@
  *
  */
=20
-#include <xen/init.h>
-#include <xen/types.h>
-#include <xen/kernel.h>
-#include <xen/smp.h>
-#include <xen/timer.h>
-#include <xen/errno.h>
-#include <xen/event.h>
-#include <xen/sched.h>
-#include <asm/processor.h>=20
-#include <asm/system.h>
-#include <asm/msr.h>
-
 #include "mce.h"
-#include "vmce.h"
-
-static struct timer mce_timer;
-
-#define MCE_PERIOD MILLISECS(8000)
-#define MCE_PERIOD_MIN MILLISECS(2000)
-#define MCE_PERIOD_MAX MILLISECS(16000)
-
-static uint64_t period =3D MCE_PERIOD;
-static int adjust =3D 0;
-static int variable_period =3D 1;
-
-static void cf_check mce_checkregs(void *info)
-{
-	mctelem_cookie_t mctc;
-	struct mca_summary bs;
-	static uint64_t dumpcount =3D 0;
-
-	mctc =3D mcheck_mca_logout(MCA_POLLER, this_cpu(poll_bankmask),
-				 &bs, NULL);
-
-	if (bs.errcnt && mctc !=3D NULL) {
-		adjust++;
-
-		/* If Dom0 enabled the VIRQ_MCA event, then notify it.
-		 * Otherwise, if dom0 has had plenty of time to register
-		 * the virq handler but still hasn't then dump telemetry
-		 * to the Xen console.  The call count may be incremented
-		 * on multiple cpus at once and is indicative only - just
-		 * a simple-minded attempt to avoid spamming the console
-		 * for corrected errors in early startup.
-		 */
-
-		if (dom0_vmce_enabled()) {
-			mctelem_commit(mctc);
-			send_global_virq(VIRQ_MCA);
-		} else if (++dumpcount >=3D 10) {
-			x86_mcinfo_dump((struct mc_info *)mctelem_dataptr(mctc));
-			mctelem_dismiss(mctc);
-		} else {
-			mctelem_dismiss(mctc);
-		}
-	} else if (mctc !=3D NULL) {
-		mctelem_dismiss(mctc);
-	}
-}
-
-static void cf_check mce_work_fn(void *data)
-{=20
-	on_each_cpu(mce_checkregs, NULL, 1);
-
-	if (variable_period) {
-		if (adjust)
-			period /=3D (adjust + 1);
-		else
-			period *=3D 2;
-		if (period > MCE_PERIOD_MAX)
-			period =3D MCE_PERIOD_MAX;
-		if (period < MCE_PERIOD_MIN)
-			period =3D MCE_PERIOD_MIN;
-	}
-
-	set_timer(&mce_timer, NOW() + period);
-	adjust =3D 0;
-}
=20
 static int __init cf_check init_nonfatal_mce_checker(void)
 {
@@ -106,13 +29,10 @@ static int __init cf_check init_nonfatal_mce_checker=
(void)
 		/* Assume we are on K8 or newer AMD or Hygon CPU here */
 		amd_nonfatal_mcheck_init(c);
 		break;
-
 	case X86_VENDOR_INTEL:
-		init_timer(&mce_timer, mce_work_fn, NULL, 0);
-		set_timer(&mce_timer, NOW() + MCE_PERIOD);
+		intel_nonfatal_mcheck_init(c);
 		break;
 	}
-
 	printk(KERN_INFO "mcheck_poll: Machine check polling timer started.\n")=
;
 	return 0;
 }
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 12:10:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 12:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700837.1094568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLut-0004L8-OF; Thu, 04 Apr 2024 12:10:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700837.1094568; Thu, 04 Apr 2024 12:10:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsLut-0004KZ-LO; Thu, 04 Apr 2024 12:10:03 +0000
Received: by outflank-mailman (input) for mailman id 700837;
 Thu, 04 Apr 2024 12:10: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsLus-0003uB-DG
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 12:10: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 42ca8a43-f27c-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 14:10:00 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a4e62f3e63dso113501066b.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 05:10: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
 a2-20020a1709064a4200b00a4ea067f6f8sm2044030ejv.161.2024.04.04.05.09.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 05:09: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: 42ca8a43-f27c-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712232600; x=1712837400; 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=LsESoGNQKd7ZfRqH7bEnEsFhqPeG+fTEv62Vr+ADXo4=;
        b=HCDFuw/ct8oHIXM/bmOpd6VUCav1VeNpxZCw8m0WXRh6G0G1wxjF1QZPvTaXKFJl0p
         Yb13Y9ZeWkldghGIvmGdiDvyrrmxFRS/gnahX6fjYn4K4aQaO8S+9TRyiZIa5vvRrnKf
         mlgbny/3RS4X1kFjXT7IXiJOmTn1LnmNigJKCLYe6Oi5xOHx9AjxVTAy+16WkiHXfGLA
         rSospwWqRjm8qVrE8SEVno8Pd26sun7SEZpJXFVSG+3qVo3Z4bPOMSBfZa9o3eV2lvKY
         5wFbYj7amboKWQoGj86ZUDSy/WF7ntGJSMMelAM5jd4b48kWflMXjAJwyLpGj/Zaa0DU
         LLcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712232600; x=1712837400;
        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=LsESoGNQKd7ZfRqH7bEnEsFhqPeG+fTEv62Vr+ADXo4=;
        b=hSJLk9tdvDjHdQjHrnZJoyFGmhPb2qd4PWqbugmp94ED0IRJBEsaqX5GUaz0RTN+GD
         fVbY9/4mXFUpfHaIgD3GsIyXhsWkOpf4IMFtcj9gC3dNFSyo9HU4IRz9ttCXY1kOd9P5
         t4ZvCalDGKfIxPNWUDLpSiAGJ77Hx42+GYn96cUwdPIIOQrSAv88BW3sN70IRdV4QWWy
         57Y/0zwAO2rIReCxhVAGtveIZDKtZymVgn3xzsFgiRZe1YM2KLShBClndvZ2v93dYUc2
         RAdDGew6oIeS2tlpQziJdqNZ6JUl0t1WiqoNKuG8rx+wnbBDbP3hHmunRxkNeQlUqyWe
         YjHA==
X-Gm-Message-State: AOJu0YxJoz+HI1COTPIFOBGlAuJKNQ3Z6l8yZH/nb/WqIqToVAk6M3TE
	1wjOHnNtF/dcarxMVjBVNguMipjvp6VnhmiaKtWVPJENJkHSDVIKldWkinEqZHHhsI/G5S9kz9Q
	=
X-Google-Smtp-Source: AGHT+IEXN8JLM78Eec32wyznl9dKAWCYlGyp9/tvySOVN2eGnQBI/wFd0pu/rjFC2YluPnImdQB2jA==
X-Received: by 2002:a17:907:c0d:b0:a4e:68bc:a46e with SMTP id ga13-20020a1709070c0d00b00a4e68bca46emr1731806ejc.43.1712232600132;
        Thu, 04 Apr 2024 05:10:00 -0700 (PDT)
Message-ID: <58179e43-f40b-45ed-8f20-8b02fa6f2eaf@suse.com>
Date: Thu, 4 Apr 2024 14:09:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86: adjust initial setting of watchdog kind
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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>
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

"watchdog_timeout=0" is documented to disable the watchdog, which wasn't
really the case; the watchdog was rather ran with an, in practice,
infinite timeout. Fold that command line option with "watchdog",
resetting to defaults whenever encountering a new instance.

While touching opt_watchdog_timeout, also move it into .data.ro_after_init.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Really I think the comment in watchdog_setup() is wrong, and the
function would hence better go away. The CPU notifier registration can
surely be done in a pre-SMP initcall, which would have the benefit of
boot-time AP bringup then working the same as runtime CPU-onlining. (In
particular the set_timer() out of CPU_UP_PREPARE is a little suspicious,
as the timer can't possibly be run right away when a CPU isn't online
yet.) Which would leave __start_xen() to call watchdog_enable() in the
place it's calling watchdog_setup() now.
---
v2: Re-do largely from scratch.

--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,8 @@ The format is based on [Keep a Changelog
  - On x86:
    - HVM PIRQs are disabled by default.
    - Reduce IOMMU setup time for hardware domain.
+   - The "watchdog_timeout=" command line option is subsumed by the "watchdog="
+     one.
 
 ### Added
  - On x86:
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2790,22 +2790,19 @@ suboptimal scheduling decisions, but onl
 oversubscribed (i.e., in total there are more vCPUs than pCPUs).
 
 ### watchdog (x86)
-> `= force | <boolean>`
+> `= <boolean> | List of [ force | <integer>s ]`
 
 > Default: `false`
 
 Run an NMI watchdog on each processor.  If a processor is stuck for
-longer than the **watchdog_timeout**, a panic occurs.  When `force` is
-specified, in addition to running an NMI watchdog on each processor,
-unknown NMIs will still be processed.
+longer than the specified or default timeout, a panic occurs.
 
-### watchdog_timeout (x86)
-> `= <integer>`
+*   When `force` is specified, in addition to running an NMI watchdog on each
+    processor, unknown NMIs will still be processed.
 
-> Default: `5`
-
-Set the NMI watchdog timeout in seconds.  Specifying `0` will turn off
-the watchdog.
+*   The <integer>s value allows to set the NMI watchdog timeout in seconds
+    (default: `5s`).  Specifying `0` will turn off the watchdog.  Specifying
+    a non-zero value enables the watchdog.
 
 ### x2apic (x86)
 > `= <boolean>`
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -48,8 +48,20 @@ bool __initdata opt_watchdog;
 /* watchdog_force: If true, process unknown NMIs when running the watchdog. */
 bool watchdog_force;
 
+#define WATCHDOG_TIMEOUT_DEFAULT 5 /* seconds */
+
+/* opt_watchdog_timeout: Number of seconds to wait before panic. */
+static unsigned int __ro_after_init opt_watchdog_timeout = WATCHDOG_TIMEOUT_DEFAULT;
+
 static int __init cf_check parse_watchdog(const char *s)
 {
+    const char *ss;
+    int rc = 0;
+
+    /* Reset to defaults. */
+    watchdog_force = false;
+    opt_watchdog_timeout = WATCHDOG_TIMEOUT_DEFAULT;
+
     if ( !*s )
     {
         opt_watchdog = true;
@@ -66,28 +78,42 @@ static int __init cf_check parse_watchdo
         return 0;
     }
 
-    if ( !strcmp(s, "force") )
-        watchdog_force = opt_watchdog = true;
-    else
-        return -EINVAL;
+    do {
+        ss = strchr(s, ',');
+        if ( !ss )
+            ss = strchr(s, '\0');
+
+        if ( !cmdline_strcmp(s, "force") )
+        {
+            watchdog_force = opt_watchdog = true;
+
+            if ( !opt_watchdog_timeout )
+                opt_watchdog_timeout = WATCHDOG_TIMEOUT_DEFAULT;
+        }
+        else if ( isdigit(*s) )
+        {
+            unsigned long value = simple_strtoul(s, &s, 0);
+
+            if ( *s == 's' && s + 1 == ss )
+            {
+                opt_watchdog_timeout = value;
+                if ( opt_watchdog_timeout != value )
+                    opt_watchdog_timeout = WATCHDOG_TIMEOUT_DEFAULT;
+
+                opt_watchdog = !!opt_watchdog_timeout;
+            }
+            else
+                rc = -EINVAL;
+        }
+        else
+            rc = -EINVAL;
 
-    return 0;
-}
-custom_param("watchdog", parse_watchdog);
+        s = ss + 1;
+    } while ( *ss );
 
-/* opt_watchdog_timeout: Number of seconds to wait before panic. */
-static unsigned int opt_watchdog_timeout = 5;
-
-static int __init cf_check parse_watchdog_timeout(const char *s)
-{
-    const char *q;
-
-    opt_watchdog_timeout = simple_strtoull(s, &q, 0);
-    opt_watchdog = !!opt_watchdog_timeout;
-
-    return *q ? -EINVAL : 0;
+    return rc;
 }
-custom_param("watchdog_timeout", parse_watchdog_timeout);
+custom_param("watchdog", parse_watchdog);
 
 /*
  * lapic_nmi_owner tracks the ownership of the lapic NMI hardware:


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 12:45:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 12:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700841.1094578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsMT9-0002MU-Cd; Thu, 04 Apr 2024 12:45:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700841.1094578; Thu, 04 Apr 2024 12:45:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsMT9-0002MN-9T; Thu, 04 Apr 2024 12:45:27 +0000
Received: by outflank-mailman (input) for mailman id 700841;
 Thu, 04 Apr 2024 12:45: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsMT8-0002MH-S9
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 12:45:26 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33ae1e09-f281-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 14:45:22 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-343d2b20c4bso57344f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 05: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
 ay26-20020a5d6f1a000000b0034355b7e995sm9103161wrb.13.2024.04.04.05.45.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 05:45: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: 33ae1e09-f281-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712234722; x=1712839522; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=aNurzJA3ormj+Qlz7qI2fefQssJlGjatzUUdYi8Ux2k=;
        b=dG7Jxm0w5tHrQEUhUs836l6iK2itnkIvPaCq/30GOMOwyO4AgZ0J50+rndfk1pJeLL
         RHh0IwZ4BLP5mtwt+8lLjfKur+i10WAwootuxk2yVKtfuggIcG440XeaGzKb47ykuJxC
         2ItydJjiVEgXD9HsmNo5cq95JuyAS8FQhf99XPJ7QizanC/0+Ka+yoM5saI/Py0UQ7sl
         vuBtS6QGnlg1MQfOFgjdRXroY/gqTIxVhcDWZ+MX/w36N30WWq73dNrqpRKYNKybQbND
         FGVaHCSPPu8aagvupEJ5lh1rznEwXFOlhdCIHpWZ2nH9X1VRx5BS3DShGF6AKoqgL3fo
         4MNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712234722; x=1712839522;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aNurzJA3ormj+Qlz7qI2fefQssJlGjatzUUdYi8Ux2k=;
        b=UjSOwBoCXoSRO7D4Od1fBgKb3aYt4LOVnF7jzPSWTI2M/dcJA42tyjSAMG8c/sWIvI
         IBrGxcCtyFX0OMbbi6b3cv+cNulJbPyvZoX9XSvUFwWiMb3GsCvz0WlzTm05s0cio3Wz
         Cff/cIyXbu52Vd9iRyzopzrohPgE49/vpj8UTyhKTvBpxpGdHHywbaK2+qj5EWzaYCGp
         kKftxLiNnfNMZzKRk2d00eaHLeI/rBahPGdkiggUBiILJGmzazsbDNifkDMOzz7gttrE
         NjvPEYKgJ8alfbJyU0gev1TrLxlmyPRlTvzkcr1oPHCvEeKDPIxSSxn1mJ4D/KIBsvmU
         CiZA==
X-Forwarded-Encrypted: i=1; AJvYcCV1TqohBsOa4D6uo6CNp4Ziju6uGjDZN54AkVydLt+EV3zNFv6J/Mhf+ryikG4Anc+//pX+RxDtxUPDeFZDNQb+oAG1eqeKV1BJdvO7m4s=
X-Gm-Message-State: AOJu0YwQmziJt1CfRj+ZJzdSdE+RW3nZtsW11XKywMsb36josxn8g3g6
	kYliJkWnAf9dTkhR3dkCk4WJxtCeDI48Wp2T1QnMSmYJkfWO+lLlEpYtx0TDUQ==
X-Google-Smtp-Source: AGHT+IGk2UlNoScrFRydr9U6HOQ58d6+tNdmGrsYg/X1jVsT3pMGo1B0u6U0liZSh8MwNRc32Chc/Q==
X-Received: by 2002:a05:6000:a82:b0:343:64be:b543 with SMTP id dh2-20020a0560000a8200b0034364beb543mr2123742wrb.57.1712234722219;
        Thu, 04 Apr 2024 05:45:22 -0700 (PDT)
Message-ID: <6e99f73f-bf83-4c40-b97c-5cead300a781@suse.com>
Date: Thu, 4 Apr 2024 14:45:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?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 <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <20240404104122.2870129-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: <20240404104122.2870129-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 12:41, Andrew Cooper wrote:
> @@ -9,6 +10,7 @@
>   *  -1 => Default, altered to 0/1 (if unspecified) by:
>   *                 - TAA heuristics/settings for speculative safety
>   *                 - "TSX vs PCR3" select for TSX memory ordering safety
> + *  -2 => Implicit tsx=0 (from RTM_ALWAYS_ABORT vs RTM mismatch)
>   *  -3 => Implicit tsx=1 (feed-through from spec-ctrl=0)
>   *
>   * This is arranged such that the bottom bit encodes whether TSX is actually
> @@ -114,11 +116,50 @@ void tsx_init(void)
>  
>          if ( cpu_has_tsx_force_abort )
>          {
> +            uint64_t val;
> +
>              /*
> -             * On an early TSX-enable Skylake part subject to the memory
> +             * On an early TSX-enabled Skylake part subject to the memory
>               * ordering erratum, with at least the March 2019 microcode.
>               */
>  
> +            rdmsrl(MSR_TSX_FORCE_ABORT, val);
> +
> +            /*
> +             * At the time of writing (April 2024), it was discovered that
> +             * some parts (e.g. CoffeeLake 8th Gen, 06-9e-0a, ucode 0xf6)
> +             * advertise RTM_ALWAYS_ABORT, but XBEGIN instructions #UD.  Other
> +             * similar parts (e.g. KabyLake Xeon-E3, 06-9e-09, ucode 0xf8)
> +             * operate as expected.
> +             *
> +             * In this case:
> +             *  - RTM_ALWAYS_ABORT and MSR_TSX_FORCE_ABORT are enumerated.
> +             *  - XBEGIN instructions genuinely #UD.
> +             *  - MSR_TSX_FORCE_ABORT is write-discard and fails to hold its
> +             *    value.
> +             *  - HLE and RTM are not enumerated, despite
> +             *    MSR_TSX_FORCE_ABORT.TSX_CPUID_CLEAR being clear.

Of these 4 items you use the first and last here. It took me some time to
figure that the middle two are (aiui) only informational, and that you
assume that first and last together are sufficient to uniquely identify
the problematic parts. Separating the two groups a little might be helpful.

For the write-discard property, how was that determined? Does it affect all
writable bits?

> +             * Spot this case, and treat it as if no TSX is available at all.
> +             * This will prevent Xen from thinking it's safe to offer HLE/RTM
> +             * to VMs.
> +             */
> +            if ( val == 0 && cpu_has_rtm_always_abort && !cpu_has_rtm )
> +            {
> +                printk(XENLOG_ERR
> +                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: RTM_ALWAYS_ABORT vs RTM mismatch\n",

This isn't really firmware, is it? At least I wouldn't call microcode
(assuming that's where the bad behavior is rooted) firmware.

> +                       boot_cpu_data.x86, boot_cpu_data.x86_model,
> +                       boot_cpu_data.x86_mask, this_cpu(cpu_sig).rev);
> +
> +                setup_clear_cpu_cap(X86_FEATURE_RTM_ALWAYS_ABORT);

Instead of the "goto" below, wouldn't it be better to also force
has_rtm_always_abort to false along with this, thus skipping the
setup_force_cpu_cap(X86_FEATURE_RTM_ALWAYS_ABORT) further down? That would
leave things a little less awkward flow-wise, imo. The one thing not
becoming clear from the commentary above is whether cpu_has_tsx_ctrl might
be true, and hence RTM/HLE still becoming (wrongly) set, if done that way.

Jan

> +                setup_clear_cpu_cap(X86_FEATURE_TSX_FORCE_ABORT);
> +
> +                if ( opt_tsx < 0 )
> +                    opt_tsx = -2;
> +
> +                goto done_setup;
> +            }
> +
>              /*
>               * Probe for the June 2021 microcode which de-features TSX on
>               * client parts.  (Note - this is a subset of parts impacted by
> @@ -128,15 +169,8 @@ void tsx_init(void)
>               * read as zero if TSX_FORCE_ABORT.ENABLE_RTM has been set before
>               * we run.
>               */
> -            if ( !has_rtm_always_abort )
> -            {
> -                uint64_t val;
> -
> -                rdmsrl(MSR_TSX_FORCE_ABORT, val);
> -
> -                if ( val & TSX_ENABLE_RTM )
> -                    has_rtm_always_abort = true;
> -            }
> +            if ( val & TSX_ENABLE_RTM )
> +                has_rtm_always_abort = true;
>  
>              /*
>               * If no explicit tsx= option is provided, pick a default.
> @@ -191,6 +225,7 @@ void tsx_init(void)
>              setup_force_cpu_cap(X86_FEATURE_RTM);
>          }
>      }
> + done_setup:
>  
>      /*
>       * Note: MSR_TSX_CTRL is enumerated on TSX-enabled MDS_NO and later parts.
> 
> base-commit: 6117179dd99958e4ef2687617d12c9b15bdbae24



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 12:49:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 12:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700844.1094587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsMXR-0003I1-TK; Thu, 04 Apr 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 700844.1094587; Thu, 04 Apr 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 1rsMXR-0003Hu-Qk; Thu, 04 Apr 2024 12:49:53 +0000
Received: by outflank-mailman (input) for mailman id 700844;
 Thu, 04 Apr 2024 12:49:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsMXQ-0003E9-M7
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 12:49:52 +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 d40b9433-f281-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 14:49:51 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-516c403cc46so1671247e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 05:49: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
 k24-20020a170906a39800b00a5187bbfcc8sm915164ejz.149.2024.04.04.05.49.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 05:49: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: d40b9433-f281-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712234991; x=1712839791; 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=00BJbuZoq8NeRMiCXCfNPHJG0fkkfiEbNj9egTbKRjw=;
        b=bBgwTeapjK0jHZfcUEer0kLGew+fXzDSTgThj2UCFT5M4WrFBQIL9OxOOgqYIp5xAW
         MU4FtDYErxRJe5H/zGjEz2R4XlWQdFexFmHD0Ed+2EObixt4RwwQhiFO48gnkIQYKCym
         FjlWl1asB6cYxIBpvhfv1L770Qg4pMxYg6TSwtoAmBl6E7AHTe2AKoVPayEiLhUP32Ef
         bR4FDNy+vf1GJXCzNxYq/w0uCKsV6lSOhZOboz+RuMVt+ojin/W+dylR82pSvONIMRL4
         mkL23s7WMo7gP2YSCstk0fBbbygFqi6pJ3lcvfJUoiFGpToW5ouwgCu1kHbr5R2DbFq8
         6RBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712234991; x=1712839791;
        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=00BJbuZoq8NeRMiCXCfNPHJG0fkkfiEbNj9egTbKRjw=;
        b=E5i44/9CMIKoF7QcKGv05+czxZHASCkFrY34otbaeFVkuo01Ui5L9Bve4XT6IyboK7
         tcG39xRhGVDkMeyqCw0qwYBPdjEaaiOkscmKLRIDgAW0vBLi/IFlGEMxD+++zIf4H3u5
         NocovLHIw6Zp3u2sUmoX3Z13mftCuwWSiBWUCZ5SLyROhdd07qcCKVi6J2+qW+YeyYnk
         g6H7tVkZgqREZd1ey8x3Xm2VcmNRPnxmYfJxKTGwgNXAdMrzO/wuJbYaK2YpJBlbB83n
         TbPMwp9BCrwtvbaJ1Ca29JBSGD6Khjt8grl3zxJZ5kyo97nvpzCCpDvmGjcVRGK1kXOO
         4Mjw==
X-Gm-Message-State: AOJu0YzA21Ql9DAi0XK17kHKbJs3Oxg2ZOOPEHXBdKi/DRnpkBWCdzT/
	/wzvu5TI1KW+ScBR6ota2iz/o/E+2aeAS5+lPQm7QwW0nm1QsO2YZjLg8Z/sGr7yLy+XIrz9lio
	=
X-Google-Smtp-Source: AGHT+IGqwR+3FihaBiEVDgy8xA45AFA4xGK4EV3JGzNrZBMEcYAf49MMj8+PQ/RzO/nB2Ll1f/7dCA==
X-Received: by 2002:ac2:4db1:0:b0:516:cc2f:41d4 with SMTP id h17-20020ac24db1000000b00516cc2f41d4mr1798075lfe.25.1712234991237;
        Thu, 04 Apr 2024 05:49:51 -0700 (PDT)
Message-ID: <6dd11879-a656-4f89-a5df-a63f256a015d@suse.com>
Date: Thu, 4 Apr 2024 14:49:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: Xen 4.18.1 and 4.17.3 released
To: xen-announce@lists.xenproject.org
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
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

All,

we're pleased to announce the release of two bug fixing Xen versions.

Xen 4.18.1 has been available for a little while from its git repository
http://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=refs/heads/stable-4.18
(tag RELEASE-4.18.1) or from the XenProject download page
https://xenproject.org/downloads/xen-project-archives/xen-project-4-18-series/xen-project-4-18-1/
(where a list of changes can also be found).

We recommend all users of the 4.18 stable series to update to this
initial point release.

Xen 4.17.3 has been available for a longer while from its git repository
http://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=refs/heads/stable-4.17
(tag RELEASE-4.17.3) or from the XenProject download page
https://xenproject.org/downloads/xen-project-archives/xen-project-4-17-series/xen-project-4-17-3/
(where a list of changes can also be found).

We recommend all users of the 4.17 stable series to update to this
latest point release.

I'd like to apologize for the delayed announcement.

Regards, Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 12:59:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 12:59:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700867.1094611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsMgm-0006bc-1A; Thu, 04 Apr 2024 12:59:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700867.1094611; Thu, 04 Apr 2024 12:59:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsMgl-0006bV-Ul; Thu, 04 Apr 2024 12:59:31 +0000
Received: by outflank-mailman (input) for mailman id 700867;
 Thu, 04 Apr 2024 12:59: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=fPXS=LJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsMgk-0006bP-QE
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 12:59:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ba32ba9-f283-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 14:59:28 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id E12D54EE073C;
 Thu,  4 Apr 2024 14:59: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: 2ba32ba9-f283-11ee-a1ef-f123f15fe8a2
MIME-Version: 1.0
Date: Thu, 04 Apr 2024 14:59:27 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Roberto Bagnara <roberto.bagnara@bugseng.com>,
 xen-devel@lists.xenproject.org
Subject: Re: Violations of mandatory MISRA C:2012 Rule 19.1 in X86_64 build
In-Reply-To: <f922e7af-9415-44dd-8c05-6eb093080ed6@suse.com>
References: <fa2bc5da-b866-05ac-409f-c26e025428c3@bugseng.com>
 <f922e7af-9415-44dd-8c05-6eb093080ed6@suse.com>
Message-ID: <f3d829870e8f673f21106b8d062eb29f@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-03-28 11:25, Jan Beulich wrote:
> On 11.07.2023 18:40, Roberto Bagnara wrote:
>> Mandatory Rule 19.1 (An object shall not be assigned or copied to an
>> overlapping object) is directly targeted at two undefined behaviors,
>> one of which is the subject of 6.5.16.1p3, namely:
>> 
>>    If the value being stored in an object is read from another object
>>    that overlaps in any way the storage of the first object, then the
>>    overlap shall be exact and the two objects shall have qualified or
>>    unqualified versions of a compatible type; otherwise, the behavior
>>    is undefined.
> 
> I'd like to come back to this, for two reasons:
> 
> 1) In the description of -fstrict-aliasing, gcc 13.2 doc says "Even 
> with
> -fstrict-aliasing, type-punning is allowed, provided the memory is 
> accessed
> through the union type." We even build with -fno-strict-aliasing, yet
> misra/rules.rst has no mention at all of type punning being permitted.
> 
> 2) With us using -fno-strict-aliasing, I wonder in how far e.g. commit
> 7225f13aef03 ("x86: avoid Misra Rule 19.1 violations") wasn't 
> pointless, as
> imo the "compatible types" part of the C spec clause then can be 
> treated as
> irrelevant.
> 
> To me both simply mean we're relying on another compiler extension 
> that's
> not exactly spelled out as such.
> 
> Opinions?
> 
> Jan

Regardless of whether the compiler will do the right thing or not, 
Mandatory guidelines can't be deviated.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 13:22:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 13:22:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700877.1094631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsN3H-0003Qc-8B; Thu, 04 Apr 2024 13:22:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700877.1094631; Thu, 04 Apr 2024 13:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsN3H-0003QV-4G; Thu, 04 Apr 2024 13:22:47 +0000
Received: by outflank-mailman (input) for mailman id 700877;
 Thu, 04 Apr 2024 13:22:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsN3G-0003QL-KL
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 13:22:46 +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 6b8728f7-f286-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 15:22:44 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-515a68d45faso1127486e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 06:22: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
 q8-20020a05600c46c800b004146e58cc35sm2667734wmo.46.2024.04.04.06.22.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 06:22: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: 6b8728f7-f286-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712236963; x=1712841763; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1un8StUWmmH0k3dYWf/lE6DYTs01ydZ30PvJxGqCISY=;
        b=c+ElpKjHvO1bRcTitRCCtMXpiAfD8lk8DhXlzfqCr3S8MDwVOlK7vQrGe+m/BhbwcL
         RXNCvvC+AFjaTJMp4r1i03uaiRC2ruBG9e3ZNhlpCn10gD4C9nc5vI/Nqx5ZFbUoK40F
         hoggnc3GugkBmEAYdCm9vTdAQ3z7jRUZ83g46BNbOPA8UsmUwAhLSWkx9zYBJrUUq6xN
         1meeUSGVvSdfpnmfI0V2f08Fg5LsnMI2JQGjN5Dlu8XsO37gxhzJehSEhwzhMXGg4HGc
         3Z3z+jk9jK7Rub62djjclhsuuHkXPqSjgKSwt5FOf50yragd8HJXTboAMtDmluQPWr++
         btYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712236963; x=1712841763;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=1un8StUWmmH0k3dYWf/lE6DYTs01ydZ30PvJxGqCISY=;
        b=rzFc7njdL0puhY8SjPHruRpInmYY8iGy8aj9U1otVxJKr54HNz+rdh+B8f1D46/KcX
         44azZRSDH9uhzRJLRUq0AntVibodWEJ1M9j930mfj7klfyMnNYoxzhztN3Yn4aIkZS5b
         jzt7aJZt8Xrwc2v1VEhZ/1p6AmlQPRTkQmf5xYlZh/N3EepWO1ilCJCYmwQ12yPJnCMV
         LppKouVLSP6xcyc6JBnb71cALOAoijcUMbmcu3yqsdNe4J6ZH310AP0XRAOrl3g5SyQo
         kCoiPA1poRgsD9l3Y3ovxSDaMruj7HoW5ezy71wHya8TDGQv8Fmns0SOLw30AgxFQmm4
         3Z6w==
X-Forwarded-Encrypted: i=1; AJvYcCVWapJabfTGpkjFq9ZSt0PtddXMdoGI2NddaDzXHf/2vJ7DA04WCShUF7VH/FeZvpu/wJTvQE2yZx/dZYtBdyiQ5yShdjDumHtcZ7sBHGQ=
X-Gm-Message-State: AOJu0YyiVLQuOyVlv2r/9cEQnOYQnM0RKsWqomNydZv7heD+ORC9GKgx
	iSDfyYOtNJYsyLrlaRkI5F9mSvHiHyuri1k9yvpr4HkeD4J86M0xgBRix3aWOQ==
X-Google-Smtp-Source: AGHT+IEfgEWMtSl9b6g0S/iq0WSk5coAcmrVgP+L5NBbYZXHGJAsET/tEi2FpNKTwC3SJEsIApRjuA==
X-Received: by 2002:a2e:7815:0:b0:2d8:60a4:cfa with SMTP id t21-20020a2e7815000000b002d860a40cfamr384390ljc.41.1712236963359;
        Thu, 04 Apr 2024 06:22:43 -0700 (PDT)
Message-ID: <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
Date: Thu, 4 Apr 2024 15:22:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:19, Oleksii Kurochko wrote:
> The patch introduces the following generic functions:
> * test_bit
> * generic__test_and_set_bit
> * generic__test_and_clear_bit
> * generic__test_and_change_bit
> 
> Also, the patch introduces the following generics which are
> used by the functions mentioned above:
> * BITOP_BITS_PER_WORD
> * BITOP_MASK
> * BITOP_WORD
> * BITOP_TYPE
> 
> These functions and macros can be useful for architectures
> that don't have corresponding arch-specific instructions.
> 
> Because of that x86 has the following check in the macros test_bit(),
> __test_and_set_bit(), __test_and_clear_bit(), __test_and_change_bit():
>     if ( bitop_bad_size(addr) ) __bitop_bad_size();
> It was necessary to move the check to generic code and define as 0
> for other architectures as they do not require this check.

Hmm, yes, the checks need to be in the outermost wrapper macros. While
you're abstracting other stuff to arch_*(), wouldn't it make sense to
also abstract this to e.g. arch_check_bitop_size(), with the expansion
simply being (effectively) empty in the generic fallback case?

> --- a/xen/include/xen/bitops.h
> +++ b/xen/include/xen/bitops.h
> @@ -65,10 +65,164 @@ static inline int generic_flsl(unsigned long x)
>   * scope
>   */
>  
> +#define BITOP_BITS_PER_WORD 32
> +/* typedef uint32_t bitop_uint_t; */
> +#define bitop_uint_t uint32_t

So no arch overrides permitted anymore at all?

> +#define BITOP_MASK(nr)  ((bitop_uint_t)1 << ((nr) % BITOP_BITS_PER_WORD))
> +
> +#define BITOP_WORD(nr)  ((nr) / BITOP_BITS_PER_WORD)
> +
>  /* --------------------- Please tidy above here --------------------- */
>  
>  #include <asm/bitops.h>
>  
> +#ifndef bitop_bad_size
> +extern void __bitop_bad_size(void);

If not switching to arch_check_bitop_size() or alike as suggested above,
why exactly does this need duplicating here and in x86? Can't the decl
simply move ahead of the #include right above? (Sure, this will then
require that nothing needing any of the functions you move here would
still include asm/bitops.h; it would need to be xen/bitops.h everywhere.)

> +#define bitop_bad_size(addr) 0
> +#endif
> +
> +/**
> + * generic__test_and_set_bit - Set a bit and return its old value
> + * @nr: Bit to set
> + * @addr: Address to count from
> + *
> + * This operation is non-atomic and can be reordered.
> + * If two examples of this operation race, one can appear to succeed
> + * but actually fail.  You must protect multiple accesses with a lock.
> + */
> +static always_inline __pure bool
> +generic__test_and_set_bit(unsigned long nr, volatile void *addr)

Does __pure actually fit with the use of volatile? The former says multiple
accesses may be folded; the latter says they must not be.

> +{
> +    bitop_uint_t mask = BITOP_MASK(nr);
> +    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);

Nit: Slightly shorter line possible:

    volatile bitop_uint_t *p = (volatile bitop_uint_t *)addr + BITOP_WORD(nr);

> +    bitop_uint_t old = *p;
> +
> +    *p = old | mask;
> +    return (old & mask);
> +}
> +
> +/**
> + * generic__test_and_clear_bit - Clear a bit and return its old value
> + * @nr: Bit to clear
> + * @addr: Address to count from
> + *
> + * This operation is non-atomic and can be reordered.
> + * If two examples of this operation race, one can appear to succeed
> + * but actually fail.  You must protect multiple accesses with a lock.
> + */
> +static always_inline __pure bool
> +generic__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
> +{
> +    bitop_uint_t mask = BITOP_MASK(nr);
> +    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);
> +    bitop_uint_t old = *p;
> +
> +    *p = old & ~mask;
> +    return (old & mask);
> +}
> +
> +/* WARNING: non atomic and it can be reordered! */
> +static always_inline __pure bool
> +generic__test_and_change_bit(unsigned long nr, volatile void *addr)
> +{
> +    bitop_uint_t mask = BITOP_MASK(nr);
> +    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);
> +    bitop_uint_t old = *p;
> +
> +    *p = old ^ mask;
> +    return (old & mask);
> +}
> +/**
> + * generic_test_bit - Determine whether a bit is set
> + * @nr: bit number to test
> + * @addr: Address to start counting from
> + */
> +static always_inline __pure int generic_test_bit(int nr, const volatile void *addr)

Further up you use bool; why int here?

> +{
> +    const volatile bitop_uint_t *p = addr;
> +    return 1 & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD - 1)));

And reason not to use BITOP_MASK() here as well (once having switched to
bool return type)?

> +}
> +
> +static always_inline __pure bool
> +__test_and_set_bit(unsigned long nr, volatile void *addr)
> +{
> +#ifndef arch__test_and_set_bit
> +#define arch__test_and_set_bit generic__test_and_set_bit
> +#endif
> +
> +    return arch__test_and_set_bit(nr, addr);
> +}
> +#define __test_and_set_bit(nr, addr) ({             \
> +    if ( bitop_bad_size(addr) ) __bitop_bad_size(); \
> +    __test_and_set_bit(nr, addr);                   \
> +})
> +
> +static always_inline __pure bool
> +__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
> +{
> +#ifndef arch__test_and_clear_bit
> +#define arch__test_and_clear_bit generic__test_and_clear_bit
> +#endif
> +
> +    return arch__test_and_clear_bit(nr, addr);
> +}
> +#define __test_and_clear_bit(nr, addr) ({           \
> +    if ( bitop_bad_size(addr) ) __bitop_bad_size(); \
> +    __test_and_clear_bit(nr, addr);                 \
> +})
> +
> +static always_inline __pure bool
> +__test_and_change_bit(unsigned long nr, volatile void *addr)
> +{
> +#ifndef arch__test_and_change_bit
> +#define arch__test_and_change_bit generic__test_and_change_bit
> +#endif
> +
> +    return arch__test_and_change_bit(nr, addr);
> +}
> +#define __test_and_change_bit(nr, addr) ({              \
> +    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
> +    __test_and_change_bit(nr, addr);                    \
> +})
> +
> +static always_inline __pure int test_bit(int nr, const volatile void *addr)

Further up you use bool; why int here?

> +{
> +#ifndef arch_test_bit
> +#define arch_test_bit generic_test_bit
> +#endif
> +
> +    return arch_test_bit(nr, addr);
> +}
> +#define test_bit(nr, addr) ({                           \
> +    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
> +    test_bit(nr, addr);                                 \
> +})

>From here onwards, ...

> +static always_inline __pure int fls(unsigned int x)
> +{
> +    if (__builtin_constant_p(x))
> +        return generic_fls(x);
> +
> +#ifndef arch_fls
> +#define arch_fls generic_fls
> +#endif
> +
> +    return arch_fls(x);
> +}
> +
> +static always_inline __pure int flsl(unsigned long x)
> +{
> +    if (__builtin_constant_p(x))
> +        return generic_flsl(x);
> +
> +#ifndef arch_flsl
> +#define arch_flsl generic_flsl
> +#endif
> +
> +    return arch_flsl(x);
> +}

... does all of this really belong here? Neither title nor description have
any hint towards this.

>  /*
>   * Find First Set bit.  Bits are labelled from 1.
>   */

This context suggests there's a dependency on an uncommitted patch. Nothing
above says so. I guess you have a remark in the cover letter, yet imo that's
only partly helpful.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 13:22:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 13:22:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700876.1094620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsN3F-0003CI-0O; Thu, 04 Apr 2024 13:22:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700876.1094620; Thu, 04 Apr 2024 13:22: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 1rsN3E-0003CB-Td; Thu, 04 Apr 2024 13:22:44 +0000
Received: by outflank-mailman (input) for mailman id 700876;
 Thu, 04 Apr 2024 13:22: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=rxIL=LJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rsN3D-0003C5-Ql
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 13:22:43 +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 6ac194f1-f286-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 15:22:42 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3438f079ff5so602739f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 06:22:42 -0700 (PDT)
Received: from [192.168.1.10] (host-92-3-248-192.as13285.net. [92.3.248.192])
 by smtp.gmail.com with ESMTPSA id
 bk20-20020a0560001d9400b0033fc06f2d84sm20142724wrb.109.2024.04.04.06.22.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 06:22:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ac194f1-f286-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712236962; x=1712841762; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=U8/ibXGU/XZIQiDkBvZAiMIR4Aq5Wt7IfSsP2hiyJgU=;
        b=AdHu8PWBtzN9eD3oaNrp0NAUmyo3K3RbYZrZnAnEqsgSRHtVilU2o6eGJ3ktsM2jR/
         o2OUZGlbodiOJnVdtex6IT1SP3OSPZYD0WRG8hYJkVEBMj0Efq8u0kQVqYi4JbewhzKm
         nEcx+CsZNfUabFxcFcm6bPF5JWSxITrim2IBE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712236962; x=1712841762;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U8/ibXGU/XZIQiDkBvZAiMIR4Aq5Wt7IfSsP2hiyJgU=;
        b=HyQOnJOaA1hv5PlSj1XLRSUg4nnG87pKIsRrBkcxWAJS/9feyseM9+2ux1t+pq1jpf
         6lZHM45rmU8JYOMOmzlis4oWWqvDddWUjOd3Cx5lHUoYalvA8k3kXWXcMhzHKOy0Cnro
         b7XTy/Qpsw9aroBnirkY8CwMvDS2msSaUSVoWvt+6uoALrNHhOgjjtN69VppKaRMhT9U
         EZYlFb0iRDBERvhKelAGb06HObtJk/Bvu34I3ZJLIc9Q45gYv/2CvQFEGP6l9RnaMgcn
         C7jPEYsX3kb74TD2EkmCt1Qe/2Q1+YEaB758EW9CkUGR4t5aezttahkblhjs1ybcIHpu
         QrAA==
X-Forwarded-Encrypted: i=1; AJvYcCUp7w+CWiLG9jeu5rexQ/DG+XBVeqmgiLLMMUTeKEenXHSHWIzpL6J6dg7eqKN1EqzB5QHcLP6fhcErn5wBB5JxaqGQeCQYXiK8LnUgWEw=
X-Gm-Message-State: AOJu0YzL5f53Au8XfpxsARc9+m215x9oomL6cv7quEXRisOSKpvLP85x
	OdWMSKLd8lpyQmvA7gyrXXtKBjooXtPz10C+GAIeyjKzXTTyanSKDSBZTnlR0jM=
X-Google-Smtp-Source: AGHT+IHcpy7e/NqWGhEe8dTNaMVwuS2MBuvCjhl7TMrEaVqCPaGDxJTJadyEEOdrN6YRxFFPso1hYg==
X-Received: by 2002:a5d:4905:0:b0:343:7562:1eef with SMTP id x5-20020a5d4905000000b0034375621eefmr1845323wrq.35.1712236962054;
        Thu, 04 Apr 2024 06:22:42 -0700 (PDT)
Message-ID: <7ebf879b-01d1-4a13-9464-199d08960213@citrix.com>
Date: Thu, 4 Apr 2024 14:22:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
To: Jan Beulich <jbeulich@suse.com>
Cc: =?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 <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <20240404104122.2870129-1-andrew.cooper3@citrix.com>
 <6e99f73f-bf83-4c40-b97c-5cead300a781@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: <6e99f73f-bf83-4c40-b97c-5cead300a781@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/04/2024 1:45 pm, Jan Beulich wrote:
> On 04.04.2024 12:41, Andrew Cooper wrote:
>> @@ -9,6 +10,7 @@
>>   *  -1 => Default, altered to 0/1 (if unspecified) by:
>>   *                 - TAA heuristics/settings for speculative safety
>>   *                 - "TSX vs PCR3" select for TSX memory ordering safety
>> + *  -2 => Implicit tsx=0 (from RTM_ALWAYS_ABORT vs RTM mismatch)
>>   *  -3 => Implicit tsx=1 (feed-through from spec-ctrl=0)
>>   *
>>   * This is arranged such that the bottom bit encodes whether TSX is actually
>> @@ -114,11 +116,50 @@ void tsx_init(void)
>>  
>>          if ( cpu_has_tsx_force_abort )
>>          {
>> +            uint64_t val;
>> +
>>              /*
>> -             * On an early TSX-enable Skylake part subject to the memory
>> +             * On an early TSX-enabled Skylake part subject to the memory
>>               * ordering erratum, with at least the March 2019 microcode.
>>               */
>>  
>> +            rdmsrl(MSR_TSX_FORCE_ABORT, val);
>> +
>> +            /*
>> +             * At the time of writing (April 2024), it was discovered that
>> +             * some parts (e.g. CoffeeLake 8th Gen, 06-9e-0a, ucode 0xf6)
>> +             * advertise RTM_ALWAYS_ABORT, but XBEGIN instructions #UD.  Other
>> +             * similar parts (e.g. KabyLake Xeon-E3, 06-9e-09, ucode 0xf8)
>> +             * operate as expected.
>> +             *
>> +             * In this case:
>> +             *  - RTM_ALWAYS_ABORT and MSR_TSX_FORCE_ABORT are enumerated.
>> +             *  - XBEGIN instructions genuinely #UD.
>> +             *  - MSR_TSX_FORCE_ABORT is write-discard and fails to hold its
>> +             *    value.
>> +             *  - HLE and RTM are not enumerated, despite
>> +             *    MSR_TSX_FORCE_ABORT.TSX_CPUID_CLEAR being clear.
> Of these 4 items you use the first and last here. It took me some time to
> figure that the middle two are (aiui) only informational, and that you
> assume that first and last together are sufficient to uniquely identify
> the problematic parts. Separating the two groups a little might be helpful.

All 4 points are relevant to the if() expression.

>
> For the write-discard property, how was that determined? Does it affect all
> writable bits?

Marek kindly ran a debugging patch for me last night to try and figure
out what was going on.

Currently, Xen tries to set 0x2 (TSX_CPUID_CLEAR) and debugging showed
it being read back as 0.

I didn't check anything else, but I have a strong suspicion that I know
exactly what's going wrong here.

The property the if() condition is mainly looking for is !RTM &&
!(MSR_TFA.CPUID_CLEAR) because that's an illegal state in a

>
>> +             * Spot this case, and treat it as if no TSX is available at all.
>> +             * This will prevent Xen from thinking it's safe to offer HLE/RTM
>> +             * to VMs.
>> +             */
>> +            if ( val == 0 && cpu_has_rtm_always_abort && !cpu_has_rtm )
>> +            {
>> +                printk(XENLOG_ERR
>> +                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: RTM_ALWAYS_ABORT vs RTM mismatch\n",
> This isn't really firmware, is it? At least I wouldn't call microcode
> (assuming that's where the bad behavior is rooted) firmware.

Microcode is absolutely part of the system firmware.

>
>> +                       boot_cpu_data.x86, boot_cpu_data.x86_model,
>> +                       boot_cpu_data.x86_mask, this_cpu(cpu_sig).rev);
>> +
>> +                setup_clear_cpu_cap(X86_FEATURE_RTM_ALWAYS_ABORT);
> Instead of the "goto" below, wouldn't it be better to also force
> has_rtm_always_abort to false along with this, thus skipping the
> setup_force_cpu_cap(X86_FEATURE_RTM_ALWAYS_ABORT) further down?

I considered that and dismissed it.  It is more fragile, in a case were
really do want to treat this case as if TSX genuinely doesn't exist.

>  That would
> leave things a little less awkward flow-wise, imo. The one thing not
> becoming clear from the commentary above is whether cpu_has_tsx_ctrl might
> be true, and hence RTM/HLE still becoming (wrongly) set, if done that way.

MSR_TSX_CTRL and MSR_TSX_FORCE_ABORT exist on disjoint sets of CPUs. 
(The split being MDS_NO).

This is discussed explicitly lower down in the function, beyond the if (
once ) block.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 13:26:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 13:26:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700880.1094640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsN6P-0004JJ-Li; Thu, 04 Apr 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 700880.1094640; Thu, 04 Apr 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 1rsN6P-0004JC-J8; Thu, 04 Apr 2024 13:26:01 +0000
Received: by outflank-mailman (input) for mailman id 700880;
 Thu, 04 Apr 2024 13:26: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsN6O-0004J2-BN
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 13:26:00 +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 e00dcc8e-f286-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 15:25:59 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2d6a1ad08b8so11336321fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 06:25: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
 v17-20020adfe291000000b0034174566ec4sm20058406wri.16.2024.04.04.06.25.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 06:25: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: e00dcc8e-f286-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712237159; x=1712841959; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=W3ruTvW2jddiHy2QMPP7F8yT1XslXJijghzUTUU5pZw=;
        b=KWU+6XUfOx9hbRU2SK9xWutS9Ttme1+n4YZy4gUr60IG5ae09Bn9pGGQUyIRRI8qW/
         J04ORYoqfYGh9qB3disLZrne1ksjV+5kJHAvhLHQZ1xPmgEF+PE63cRq9VAsy0vfR9oV
         1ZFS9jS3XYgEf9RdSotIoo9aUIvTCzU2pt1fq9PIiJ0rVt/istoEKLbkMKmD/A5T6aLN
         IiMAJoHhAM1MANbYmrVtBqR9sILpk1ehkBJM1id+ckujlnXHsXt7El2t4yPch8WMuAfa
         kSnvEjioxLNNpWDYKFByMe38xpW7R7cBW3illSQnQ3N+fGM9MWBFtYXQKBia9FlUivhy
         d/PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712237159; x=1712841959;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=W3ruTvW2jddiHy2QMPP7F8yT1XslXJijghzUTUU5pZw=;
        b=Ywyde6ihKJjsoEFN9njVVfRc6LK5C+CmEJliQ5cdEVEKYXHebVenuX546yDJyUpd1e
         NpoiLUkPxOUtsVyjMQdgGwAq5usi0Qola7t3s+eUVeQiFH0CSH1Uv8IY3fhizxayEgGG
         ibmJx94IWm0YlCFxakiq34UN6kYxVZ2Cd+JBnqzPRcvBcps9OzJASoUd5zkj5ctAc4v8
         q5ZMk8tIztmuITMXL0g7/N8CRqspcyf2zbyfNpOu4GTzm76Ir1zyaMPn2nJXWqXwupP2
         BySDW9olaO1HSSO7vB3NoKkU+ZcU09Cy6aLjrmY3/wRefE3TZMVkb8TeyX0hKfe2rTAI
         5wMA==
X-Forwarded-Encrypted: i=1; AJvYcCWmvEKspS5zYxZTEmWI8OcQsH/g5848UgqMi1EDA18INhvV4iW5Rd3geVLwu9E0gi2R96SwdUL1dg7m9HgOAfZR0AJPItQFW/cINya6M9g=
X-Gm-Message-State: AOJu0YwF8tE7HLHOgHRFn7QrAmgGfr8X46a19ALcLK/0yZ3y4pTR4VFo
	dwyrwSwf/XXXQ+0pKEsW+OGVbzHS13RRC+lQFE6lTiVE9zVs3+oj4gDnrXZ/l4tT0IX1Xt6o43g
	=
X-Google-Smtp-Source: AGHT+IHBwO1uEU+deNb29MsKyK6dmSmWLP5NxPcvcB6mxvWQtCsvkqhIn+v4pPtwe/kZNs3LWfuZ7g==
X-Received: by 2002:a2e:a371:0:b0:2d8:4c9f:ed94 with SMTP id i17-20020a2ea371000000b002d84c9fed94mr2036150ljn.34.1712237158899;
        Thu, 04 Apr 2024 06:25:58 -0700 (PDT)
Message-ID: <a7f8d41f-b4ca-4d96-95e3-4509287dd54e@suse.com>
Date: Thu, 4 Apr 2024 15:25:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Violations of mandatory MISRA C:2012 Rule 19.1 in X86_64 build
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Roberto Bagnara <roberto.bagnara@bugseng.com>,
 xen-devel@lists.xenproject.org
References: <fa2bc5da-b866-05ac-409f-c26e025428c3@bugseng.com>
 <f922e7af-9415-44dd-8c05-6eb093080ed6@suse.com>
 <f3d829870e8f673f21106b8d062eb29f@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f3d829870e8f673f21106b8d062eb29f@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 14:59, Nicola Vetrini wrote:
> On 2024-03-28 11:25, Jan Beulich wrote:
>> On 11.07.2023 18:40, Roberto Bagnara wrote:
>>> Mandatory Rule 19.1 (An object shall not be assigned or copied to an
>>> overlapping object) is directly targeted at two undefined behaviors,
>>> one of which is the subject of 6.5.16.1p3, namely:
>>>
>>>    If the value being stored in an object is read from another object
>>>    that overlaps in any way the storage of the first object, then the
>>>    overlap shall be exact and the two objects shall have qualified or
>>>    unqualified versions of a compatible type; otherwise, the behavior
>>>    is undefined.
>>
>> I'd like to come back to this, for two reasons:
>>
>> 1) In the description of -fstrict-aliasing, gcc 13.2 doc says "Even 
>> with
>> -fstrict-aliasing, type-punning is allowed, provided the memory is 
>> accessed
>> through the union type." We even build with -fno-strict-aliasing, yet
>> misra/rules.rst has no mention at all of type punning being permitted.
>>
>> 2) With us using -fno-strict-aliasing, I wonder in how far e.g. commit
>> 7225f13aef03 ("x86: avoid Misra Rule 19.1 violations") wasn't 
>> pointless, as
>> imo the "compatible types" part of the C spec clause then can be 
>> treated as
>> irrelevant.
>>
>> To me both simply mean we're relying on another compiler extension 
>> that's
>> not exactly spelled out as such.
>>
>> Opinions?
> 
> Regardless of whether the compiler will do the right thing or not, 
> Mandatory guidelines can't be deviated.

Are you suggesting then that we need to build with -fstrict-aliasing,
sorting out all the issues that there may be? And avoid type-punning
as well?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 13:27:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 13:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700883.1094650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsN7l-0004sf-3f; Thu, 04 Apr 2024 13:27:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700883.1094650; Thu, 04 Apr 2024 13:27:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsN7l-0004sY-12; Thu, 04 Apr 2024 13:27:25 +0000
Received: by outflank-mailman (input) for mailman id 700883;
 Thu, 04 Apr 2024 13:27:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rsN7j-0004sM-Fr; Thu, 04 Apr 2024 13:27: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 1rsN7j-0005Mf-8T; Thu, 04 Apr 2024 13:27: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 1rsN7i-0001jT-RZ; Thu, 04 Apr 2024 13:27:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsN7i-0006vg-RB; Thu, 04 Apr 2024 13:27:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2WUyDgXPA+sdcqpKAooF6leKW6t5JSMz7dkSk3nJiIA=; b=uxKLAmLGj85bn03vNdfGPEG574
	khoDA9H/BXJ3sOmk8nkiJvsts6c2qUvJzoYVzDBP/ZDkgA0BD6pqo2T2IWkNfdijwovQBdp5CijQJ
	Y39k9bFxZwnYB+UBGl0yVdhuElM8nkJ6oeDm3Eas3o80wVIyPjEpzRGdZAP5KNdvLpR0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185237-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185237: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6eeb3e86bdfa55874f4c44527551e9b82125dc83
X-Osstest-Versions-That:
    xen=6117179dd99958e4ef2687617d12c9b15bdbae24
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 13:27:22 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6eeb3e86bdfa55874f4c44527551e9b82125dc83
baseline version:
 xen                  6117179dd99958e4ef2687617d12c9b15bdbae24

Last test of basis   185234  2024-04-04 00:00:24 Z    0 days
Testing same since   185237  2024-04-04 11:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.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
   6117179dd9..6eeb3e86bd  6eeb3e86bdfa55874f4c44527551e9b82125dc83 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 13:32:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 13:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700891.1094661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNCK-000762-N3; Thu, 04 Apr 2024 13:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700891.1094661; Thu, 04 Apr 2024 13: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 1rsNCK-00075v-JU; Thu, 04 Apr 2024 13:32:08 +0000
Received: by outflank-mailman (input) for mailman id 700891;
 Thu, 04 Apr 2024 13: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsNCJ-00075j-6O
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 13:32:07 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba86fc74-f287-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 15:32:06 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-343c7fae6e4so314978f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 06: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
 bn24-20020a056000061800b0034353b9c26bsm10156859wrb.9.2024.04.04.06.32.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 06: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: ba86fc74-f287-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712237525; x=1712842325; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=izZUR/QHQLPrkIQzsPXZ1lgEk01oBu44oP7OE9oqBBw=;
        b=I00g3g7kacq8e9vAFguzD3CFZl6g9qGBeO1ClR07VQR/PsANwxWMHvWDLDdlekXANt
         zSV65BJZkAxw8bkSCiDUE2jsZFPwZd64qpKA/X6zofzBjUwJTBDK9PwEMaCqDy525eKZ
         DPhQTzkEuvDUc2tnmVWk0RP+VhH7CrtinWFla6n+ce8wDy0FPTly6OMtd1H7hnWIr75g
         DBUn+yz5oPGJ43WmOKLMtj7q7T9QKSqt3MlJqyeRpUKNrqH1s3IY423zJNwtKkgYa2is
         Ds27RcwC0L5Xiid8V2JqtO/PujWuDPeTZbEih/r4D+lxTPJXXqEoITI5Rc+2AVYGLb8H
         wYTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712237525; x=1712842325;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=izZUR/QHQLPrkIQzsPXZ1lgEk01oBu44oP7OE9oqBBw=;
        b=OylaMZ+IaevQL2opmpluv8sicC66Al2y54A8xk8Mi4XGe63+DUvljV2psJGvCXiZcf
         UKCidz4MnTskQ3b1dNz4PZ2L2/vjaMdPVRMMrPyUW6vVH5OK/YrXT8dsUEB98BCNKiE/
         pNZXB/r+ubS9vkZljSWU5vodLg3KvVu7eD+nMIA3Hu3yJzD/ISdgt6IHia5bAOwXMfMH
         oV6ZLhs4c+xSzFGfnZoNJTv3XYnjJiD4AS5Ea6rmErNVb2WEG3xEM52HU+0mn0sZepS1
         3jzd9a8pJk9WrHpi4/ksTZR7iCTqVdE9+eRRY1SCPKj5MhKYnN0+sXsBV63B6H+5dj1K
         GmSQ==
X-Forwarded-Encrypted: i=1; AJvYcCX6v9IvEVNNM+sPwNaunAn/JUBpWbdMn65mWMGzbPnmEmNQRbOmjgWAr6FedlxTaAoTd4KzihF4JAAtkFQTX61BNxufsI1j3OSMWDJRYv0=
X-Gm-Message-State: AOJu0YxEU85eL/RUWSiBDZ/kLSMnQb+pYvrs3qlNQYLzE3Jahj42SBo3
	WW8KN1rD5zIfl3/47YIbVPPSoRwmecl5/idiP9gP4ngO/XIFnCdmmHkgjijQtg==
X-Google-Smtp-Source: AGHT+IHlc2eiff20eKTdxyBFXb87uCG0wGysdXCuISdRf1lqnI1D1y3GYYqWxaAuW1w4ijMw/Zpj3g==
X-Received: by 2002:adf:db46:0:b0:343:65a8:406d with SMTP id f6-20020adfdb46000000b0034365a8406dmr2117120wrj.64.1712237525491;
        Thu, 04 Apr 2024 06:32:05 -0700 (PDT)
Message-ID: <071e8a23-6a16-4a61-aa42-1f85a9c98203@suse.com>
Date: Thu, 4 Apr 2024 15:32:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?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 <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <20240404104122.2870129-1-andrew.cooper3@citrix.com>
 <6e99f73f-bf83-4c40-b97c-5cead300a781@suse.com>
 <7ebf879b-01d1-4a13-9464-199d08960213@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7ebf879b-01d1-4a13-9464-199d08960213@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 15:22, Andrew Cooper wrote:
> On 04/04/2024 1:45 pm, Jan Beulich wrote:
>> On 04.04.2024 12:41, Andrew Cooper wrote:
>>> @@ -9,6 +10,7 @@
>>>   *  -1 => Default, altered to 0/1 (if unspecified) by:
>>>   *                 - TAA heuristics/settings for speculative safety
>>>   *                 - "TSX vs PCR3" select for TSX memory ordering safety
>>> + *  -2 => Implicit tsx=0 (from RTM_ALWAYS_ABORT vs RTM mismatch)
>>>   *  -3 => Implicit tsx=1 (feed-through from spec-ctrl=0)
>>>   *
>>>   * This is arranged such that the bottom bit encodes whether TSX is actually
>>> @@ -114,11 +116,50 @@ void tsx_init(void)
>>>  
>>>          if ( cpu_has_tsx_force_abort )
>>>          {
>>> +            uint64_t val;
>>> +
>>>              /*
>>> -             * On an early TSX-enable Skylake part subject to the memory
>>> +             * On an early TSX-enabled Skylake part subject to the memory
>>>               * ordering erratum, with at least the March 2019 microcode.
>>>               */
>>>  
>>> +            rdmsrl(MSR_TSX_FORCE_ABORT, val);
>>> +
>>> +            /*
>>> +             * At the time of writing (April 2024), it was discovered that
>>> +             * some parts (e.g. CoffeeLake 8th Gen, 06-9e-0a, ucode 0xf6)
>>> +             * advertise RTM_ALWAYS_ABORT, but XBEGIN instructions #UD.  Other
>>> +             * similar parts (e.g. KabyLake Xeon-E3, 06-9e-09, ucode 0xf8)
>>> +             * operate as expected.
>>> +             *
>>> +             * In this case:
>>> +             *  - RTM_ALWAYS_ABORT and MSR_TSX_FORCE_ABORT are enumerated.
>>> +             *  - XBEGIN instructions genuinely #UD.
>>> +             *  - MSR_TSX_FORCE_ABORT is write-discard and fails to hold its
>>> +             *    value.
>>> +             *  - HLE and RTM are not enumerated, despite
>>> +             *    MSR_TSX_FORCE_ABORT.TSX_CPUID_CLEAR being clear.
>> Of these 4 items you use the first and last here. It took me some time to
>> figure that the middle two are (aiui) only informational, and that you
>> assume that first and last together are sufficient to uniquely identify
>> the problematic parts. Separating the two groups a little might be helpful.
> 
> All 4 points are relevant to the if() expression.

In which way? You don't probe XBEGIN to see whether you get back #UD. And
you also don't probe the MSR to see whether written bits are discarded.

>> For the write-discard property, how was that determined? Does it affect all
>> writable bits?
> 
> Marek kindly ran a debugging patch for me last night to try and figure
> out what was going on.
> 
> Currently, Xen tries to set 0x2 (TSX_CPUID_CLEAR) and debugging showed
> it being read back as 0.
> 
> I didn't check anything else, but I have a strong suspicion that I know
> exactly what's going wrong here.

Hmm, at the risk of upsetting you: Is a suspicion really enough for a
firm statement in a comment?

> The property the if() condition is mainly looking for is !RTM &&
> !(MSR_TFA.CPUID_CLEAR) because that's an illegal state in a
> 
>>
>>> +             * Spot this case, and treat it as if no TSX is available at all.
>>> +             * This will prevent Xen from thinking it's safe to offer HLE/RTM
>>> +             * to VMs.
>>> +             */
>>> +            if ( val == 0 && cpu_has_rtm_always_abort && !cpu_has_rtm )
>>> +            {
>>> +                printk(XENLOG_ERR
>>> +                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: RTM_ALWAYS_ABORT vs RTM mismatch\n",
>> This isn't really firmware, is it? At least I wouldn't call microcode
>> (assuming that's where the bad behavior is rooted) firmware.
> 
> Microcode is absolutely part of the system firmware.

The ucode ahead of being loaded into CPUs is, sure. But once in the CPU
(and there may not be any loading at least in theory), it's not anymore.
It becomes part of the CPU then, albeit I still wouldn't call it "hardware".

Plus saying "firmware" suggests that firmware vendors could do anything
about the situation, when I don't think they can.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 13:56:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 13:56:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700896.1094671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNZC-0003Kp-FV; Thu, 04 Apr 2024 13:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700896.1094671; Thu, 04 Apr 2024 13:55:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNZC-0003Ki-CW; Thu, 04 Apr 2024 13:55:46 +0000
Received: by outflank-mailman (input) for mailman id 700896;
 Thu, 04 Apr 2024 13:55:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8Y/v=LJ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rsNZA-0003KY-Rt
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 13:55:44 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2409::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06b307a3-f28b-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 15:55:43 +0200 (CEST)
Received: from BN8PR12CA0019.namprd12.prod.outlook.com (2603:10b6:408:60::32)
 by CH3PR12MB8657.namprd12.prod.outlook.com (2603:10b6:610:172::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 13:55:40 +0000
Received: from BN1PEPF0000468C.namprd05.prod.outlook.com
 (2603:10b6:408:60:cafe::2e) by BN8PR12CA0019.outlook.office365.com
 (2603:10b6:408:60::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 13:55:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF0000468C.mail.protection.outlook.com (10.167.243.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 13:55:39 +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.35; Thu, 4 Apr
 2024 08:55:38 -0500
Received: from [172.21.219.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 4 Apr 2024 08:55: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: 06b307a3-f28b-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iwSD+Ll2Wu4PGqt+j37NktE7nmReOaeQ+nWOw7fmke3sFoC49InXZo9hf1fmjREXQiNvpiTqvmQ+M2rOmzmCqQls4glo/aV8TXGDTg3HGpbhedZQRzw0RpxtOIgn3+5k5z/rz2jxC+eP2kWUSmy0sfblh5z3c9NA721lyx5EivfyJeR0OIUntYk6hekz+orBvw/irhX1ggvyQfEwHt2LvJ7tNrkoEAmrYMFBDvJGAQBCzpHwBCmJWehn9Vbs4/CLXIfv+4+xBYxL5JgUALIXsKkKnUjzkVJJ1K5zYyWcGm8BePXBtvzfUapQCTEUITF8bu1xP+atSrA/g4UEsXk1FQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zfrwydNOu9rGKoycIz0VPxZJX5Ttm5fjIwbiFDyUay0=;
 b=fFj/W4N7peLhaDCcJSWbKdv1UAg02T3Akmqu5eScXnpiPYtjTTjKrFYVf06we544inMo9rRs1EHDLpkBXIbwIOJJKJkhyoTME4QZcJvAYWhC/H7US5m6Lrv2F/oYcv6iKmQNT92upYuUnLzsfC2VpF68gV34vfauDWm8apvyg1rb3HvHia4YP/GGw4c0T75By9kAiMK3/TTdiJFBEqzGYNSvBa9zsBzFl0i1Id9Fcg8eeSRGsAEHI3Kir/CNx/rI5sbaX8CK/M4NXBqsRuEmr6j2W7BAUoGcFmT/krzSjtigfBQMcvBwSp9ZEqjb9zF7+vX/WTuY8FUpB6XjIkhnxA==
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=zfrwydNOu9rGKoycIz0VPxZJX5Ttm5fjIwbiFDyUay0=;
 b=bImnKvGeXaUtnFvrUN5w1bnCo8wf3LOZIZB4FwLref8VfukNjZjqqU79NlODKbPobGespHL1hKeOrhR/8eR584WdFV/OqRG10AB8XVtMPQqFGYUnJunWVb0zZW7A3pNt4sOMQI4gI0WYHH+y3vOkCDpHtoQoCNnxrpjoQ9ahZ+4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <286d581b-680d-4d66-a0ca-6adaff162d2b@amd.com>
Date: Thu, 4 Apr 2024 09:55:31 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/4] tools/init-xenstore-domain: Replace variable MB()
 usage
To: Jan Beulich <jbeulich@suse.com>
CC: Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-2-jason.andryuk@amd.com>
 <759cb3a3-3eb2-48a4-ab85-36005378ade1@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <759cb3a3-3eb2-48a4-ab85-36005378ade1@suse.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: BN1PEPF0000468C:EE_|CH3PR12MB8657:EE_
X-MS-Office365-Filtering-Correlation-Id: 06ab2990-9855-4e33-e296-08dc54aee976
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YJV0K3qd5BJEUUKPk+cKdg4wXzb4KTNk2pdt2G23gflVjIgEBYUl3ugiiQk8SsWjnTPfiQa0orjeVDCau90v9GaEGjoD4q7rtzYri6s3JCQANdVosN0O7WPYJoR6yZ4CeSma/mWbvtNMAOZXBuLfOEtpJZb/JWXi6PSLwxMREQXEoC4pB7l80jhYRLDUb0jjd/j8P+lYutL5rRqrHP7wMk2jpGFbbsG5sy2denXCVOQSkL4mzF4kmYI0+ptupolx69mF6uWI0niy+itY9GaLF3ucRMfZyePk+i8RzXlhnbjepZuxPNkCIpaDGauEBcoE4alt2HSxrqPPA14p+HEZ1AlSuYUjH9olWLvadn3t0q71EE82si8WI9o7sHg7bQX0gKg3koHmWcVrZL8mw+96vtzC+iv7bxAyG5ZML+63CIAfLbNJ+JsRMA6t54Wvmx5Gwc/55ftoNr5+JNTnXDcE2TzNQ8rfPigNFsZ1xa1EllY2otdBRG5m2aBgKk3rpJaFVxTFnnxjYKxhn18JlkUSycyEMJ/925GSq5vIszDdhEIibpYp27YUxoGP1jbzJS6wX5tMiaMBRED3GUPDaJDp6K85dpkoHXrzfJfszYNMR9MTJI/f9w9/p/Bcdm053EbANI4dXvBUJBPamw/DcLB/5Y1n5WTzlB0FV3uh3WE+uSS5VYHO64SnN061osg2kGMvCt4YWFgEksF7VwU1IIm/oz2AFFeQ6m8EmG6CnvSTCh1ot2nadGk9OtV17eITPvup
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 13:55:39.5661
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 06ab2990-9855-4e33-e296-08dc54aee976
X-MS-Exchange-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:
	BN1PEPF0000468C.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8657

On 2024-04-04 06:09, Jan Beulich wrote:
> On 27.03.2024 22:50, Jason Andryuk wrote:
>> @@ -36,6 +35,11 @@ static xc_evtchn_port_or_error_t console_evtchn;
>>   static xentoollog_level minmsglevel = XTL_PROGRESS;
>>   static void *logger;
>>   
>> +static inline uint64_t mb_to_bytes(int mem)
>> +{
>> +	return (uint64_t)mem << 20;
>> +}
> 
> While committing I noticed tab indentation here, which looked to be in
> conflict with ...
> 
>>   static struct option options[] = {
>>       { "kernel", 1, NULL, 'k' },
>>       { "memory", 1, NULL, 'm' },
>> @@ -76,8 +80,8 @@ static int build(xc_interface *xch)
>>       int rv, xs_fd;
>>       struct xc_dom_image *dom = NULL;
>>       int limit_kb = (maxmem ? : memory) * 1024 + X86_HVM_NR_SPECIAL_PAGES * 4;
>> -    uint64_t mem_size = MB(memory);
>> -    uint64_t max_size = MB(maxmem ? : memory);
>> +    uint64_t mem_size = mb_to_bytes(memory);
>> +    uint64_t max_size = mb_to_bytes(maxmem ? : memory);
>>       struct e820entry e820[3];
>>       struct xen_domctl_createdomain config = {
>>           .ssidref = SECINITSID_DOMU,
> 
> ... everything else in the file. Hence I took the liberty to adjust this.

Thank you for catching that and fixing it up.

-Jason


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:00:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700898.1094681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNe5-0005nJ-0o; Thu, 04 Apr 2024 14:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700898.1094681; Thu, 04 Apr 2024 14:00:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNe4-0005nC-U4; Thu, 04 Apr 2024 14:00:48 +0000
Received: by outflank-mailman (input) for mailman id 700898;
 Thu, 04 Apr 2024 14: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 1rsNe3-0005mh-Dh; Thu, 04 Apr 2024 14: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 1rsNe3-0006J4-1T; Thu, 04 Apr 2024 14: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 1rsNe2-0002nE-JS; Thu, 04 Apr 2024 14:00:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsNe2-0003YK-J0; Thu, 04 Apr 2024 14:00:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CaZDnCDThOVSr7/2nhIpzXwvynKKMP3ujyfkKWQ7PUg=; b=silv2vjRjNfSItP2F35LU7F1kH
	30dvrvErqQj5qJAitpjOe5eVnXR0VuGxBPMZeKkoZ3qgrP+bAX7ZJ7E7V1OLyBLTQuoJxTvpMuiem
	Vv/8Z2v46oBGifztbvL4zpBXWtD0/8rJizEHaUhjm22LAOeGT+MGULkNIc1w5wMuxHxw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185231-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185231: 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-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-xl-qemuu-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-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-libvirt-xsm:migrate-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-credit1: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-amd64-amd64-libvirt-qcow2:migrate-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-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-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-credit1: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: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-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-xsm:migrate-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-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2: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
X-Osstest-Versions-This:
    linux=347385861c50adc8d4801d4b899eded38a2f04cd
X-Osstest-Versions-That:
    linux=e5cd595e23c1a075359a337c0e5c3a4f2dc28dd1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 14:00:46 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185167  2024-03-26 22:43:26 Z    8 days
Testing same since   185227  2024-04-03 13:42:39 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  "Huang, Ying" <ying.huang@intel.com>
  "Rafael J. Wysocki" <rafael@kernel.org>
  Adamos Ttofari <attofari@amazon.de>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexander Aring <aahringo@redhat.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexei Starovoitov <ast@kernel.org>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  André Rösti <an.roesti@gmail.com>
  Andy Chi <andy.chi@canonical.com>
  Anton Altaparmakov <anton@tuxera.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bikash Hazarika <bhazarika@marvell.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Cameron Williams <cang1@live.co.uk>
  Casey Schaufler <casey@schaufler-ca.com>
  Chang S. Bae <chang.seok.bae@intel.com>
  Charan Teja Kalla <quic_charante@quicinc.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chengming Zhou <zhouchengming@bytedance.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian A. Ehrhardt <lk@c--e.de>
  Christian Brauner <brauner@kernel.org>
  Christian Gmeiner <cgmeiner@igalia.com>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christoph Niedermaier <cniedermaier@dh-electronics.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuck Lever <chuck.lever@oracle.com>
  Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
  Claus Hansen Ries <chr@terma.com>
  Clayton Craft <clayton@craftyguy.net>
  Conrad Kostecki <conikost@gentoo.org>
  Cosmin Tanislav <demonsingur@gmail.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danil Rybakov <danilrybakov249@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Hildenbrand <david@redhat.com>
  David Laight <david.laight@aculab.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Eric Huang <jinhuieric.huang@amd.com>
  Eugene Korenevsky <ekorenevsky@astralinux.ru>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Geliang Tang <tanggeliang@kylinos.cn>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Greg Edwards <gedwards@ddn.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Greg Thelen <gthelen@google.com>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hongchen Zhang <zhanghongchen@loongson.cn>
  Huacai Chen <chenhuacai@loongson.cn>
  Huang Ying <ying.huang@intel.com>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Ingo Molnar <mingo@kernel.org>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Jameson Thies <jthies@google.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Gunthorpe <jgg@nvidia.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jerome Brunet <jbrunet@baylibre.com>
  Jiawei Wang <me@jwang.link>
  Jim Mattson <jmattson@google.com>
  Jinghao Jia <jinghao7@illinois.edu>
  Joakim Zhang <joakim.zhang@cixtech.com>
  Jocelyn Falempe <jfalempe@redhat.com>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Johannes Thumshirn <johannes.thumshirn@wdc.com>
  John David Anglin <dave.anglin@bell.net>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
  Josef Bacik <josef@toxicpanda.com>
  Josua Mayer <josua@solid-run.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Kazuma Kondo <kazuma-kondo@nec.com>
  Kees Cook <keescook@chromium.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  Kevin Loughlin <kevinloughlin@google.com>
  Kim Phillips <kim.phillips@amd.com>
  KONDO KAZUMA(近藤　和真) <kazuma-kondo@nec.com>
  Krishna chaitanya chundru <quic_krichai@quicinc.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Kyle Tso <kyletso@google.com>
  Ladislav Michl <ladis@linux-mips.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee@kernel.org>
  Leo Ma <hanghong.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Pieralisi <lpieralisi@kernel.org>
  Lucas Stach <l.stach@pengutronix.de>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Mano Ségransan <mano.segransan@protonmail.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Poirier <mathieu.poirier@linaro.org>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Kelley <mhklinux@outlook.com>
  Mickaël Salaün <mic@digikod.net>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Natanael Copa <ncopa@alpinelinux.org>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
  Nicolas Pitre <nico@fluxnic.net>
  Nicolin Chen <nicolinc@nvidia.com>
  Nikhil V <quic_nprakash@quicinc.com>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  Nirmoy Das <nirmoy.das@intel.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oleksandr Tymoshenko <ovt@google.com>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Paul Menzel <pmenzel@molgen.mpg.de> # Dell XPS 15 7590
  Pavel Machek (CIP) <pavel@denx.de>
  Peter Collingbourne <pcc@google.com>
  Petr Mladek <pmladek@suse.com>
  Philip Yang <Philip.Yang@amd.com>
  Philipp Stanner <pstanner@redhat.com>
  Philipp Zabel <p.zabel@pengutronix.de>
  Prashanth K <quic_prashk@quicinc.com>
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Qu Wenruo <wqu@suse.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Reinette Chatre <reinette.chatre@intel.com>
  Richard Weinberger <richard@nod.at>
  Rickard x Andersson <rickaran@axis.com>
  Ricky Wu <ricky_wu@realtek.com>
  Rob Herring <robh@kernel.org>
  Roberto Sassu <roberto.sassu@huawei.com>
  Robin Murphy <robin.murphy@arm.com>
  Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roger Quadros <rogerq@kernel.org>
  Romain Naour <romain.naour@skf.com>
  Ron Economos <re@w6rz.net>
  Rui Wang <wangrui@loongson.cn>
  Ryan Roberts <ryan.roberts@arm.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Salvatore Bonaccorso <carnil@debian.org>
  Sam Ravnborg <sam@ravnborg.org>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sasha Levin <sashal@kernel.org>
  Saurav Kashyap <skashyap@marvell.com>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Sherry Sun <sherry.sun@nxp.com>
  Shivnandan Kumar <quic_kshivnan@quicinc.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Song Liu <song@kernel.org>
  Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srish Srinivasan <srish.srinivasan@broadcom.com>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Steffen Klassert <steffen.klassert@secunet.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumit Garg <sumit.garg@linaro.org>
  Sunmin Jeong <s_min.jeong@samsung.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Battersby <tonyb@cybernetics.com>
  Tor Vic <torvic9@mailbox.org>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Tvrtko Ursulin <tvrtko.ursulin@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  Wayne Chang <waynec@nvidia.com>
  Wayne Lin <wayne.lin@amd.com>
  Wei Liu <wei.liu@kernel.org>
  Weitao Wang <WeitaoWang-oc@zhaoxin.com>
  Will Deacon <will@kernel.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Xing Li <lixing@loongson.cn>
  Xingui Yang <yangxingui@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Ye Zhang <ye.zhang@rock-chips.com>
  Yishai Hadas <yishaih@nvidia.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zi Yan <ziy@nvidia.com>
  Zoltan HERPAI <wigyori@uid0.hu>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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
   e5cd595e23c1..347385861c50  347385861c50adc8d4801d4b899eded38a2f04cd -> tested/linux-6.1


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:01:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:01:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700901.1094691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNeP-0006Be-Ch; Thu, 04 Apr 2024 14:01:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700901.1094691; Thu, 04 Apr 2024 14: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 1rsNeP-0006BX-95; Thu, 04 Apr 2024 14:01:09 +0000
Received: by outflank-mailman (input) for mailman id 700901;
 Thu, 04 Apr 2024 14: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=8Y/v=LJ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rsNeN-00069B-AM
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:01:07 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2412::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c58469a8-f28b-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 16:01:03 +0200 (CEST)
Received: from SJ0PR13CA0017.namprd13.prod.outlook.com (2603:10b6:a03:2c0::22)
 by DS0PR12MB9059.namprd12.prod.outlook.com (2603:10b6:8:c5::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 14:00:57 +0000
Received: from SJ1PEPF00001CE3.namprd05.prod.outlook.com
 (2603:10b6:a03:2c0:cafe::44) by SJ0PR13CA0017.outlook.office365.com
 (2603:10b6:a03:2c0::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.26 via Frontend
 Transport; Thu, 4 Apr 2024 14:00:57 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF00001CE3.mail.protection.outlook.com (10.167.242.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 14:00: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.35; Thu, 4 Apr
 2024 09:00:43 -0500
Received: from [172.21.219.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 4 Apr 2024 09:00:43 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c58469a8-f28b-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JDGMt7TZGL5w/HZ+v8hxB3Iq0m4NpzrxRxqYjfemMw46aLixY9dBecDni0IMjTONjZdnAribu3+yCsJ2/cKswq2poxayKrTFEfODf0cZPUcQBpou+CG7Sm2wo20CyOVosG/Deo4GBFMZE45wnXJnMG8AVzuB+Lspuh6/rsaTKM6q5V1Ehx0vjdjrxdblWnpmdcL8LDjGfrJha3b01xUiRUpU7rTZSLZc2TyiideUJQTFhncMUp6HHbIs8Jjsiq9KXLzoYZc2J/jfIuhl6TR1wl9VV+ximacc20l1fpJ04nLR5D4Z47CRlwJbr1s/5PeMFDgtTEWbR1tOOGjTDuJkmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hZrWXJ1j1Uye9ZGLqFk/CoECrbaXk4WHM0+dZWcPihs=;
 b=nD4ked0YrT0IraPgQbJ5PhBGvlpQ0YV+sXZUZDAue2KuLyPU54RWWbT9cx2inyXPXHpp/WpcQywIAQkq88JYQ5HIp4YCSk7lHE9yRpCbPBjNAB/8nt96UAgtHK75+B3k1kU3HLOLRY+HG7eQmWZOMISGtlFx30dMeUaa1KgXBBuRlrwphrmZSYEFvmAqjXwNn5CxkXO3J7xJZ4exNpyA9KiGO9gVZKk1HZPaoqVTrTuXZP3ie3mhIRSTCOpn1flvCQ0rz2RUWxT6N48yeZDHX6JjtILxuoq6PU61x2FSQjyzRPE1XOImly3U4IHyXv4Qc7D4bMyK7/5DfsGALLQASg==
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=hZrWXJ1j1Uye9ZGLqFk/CoECrbaXk4WHM0+dZWcPihs=;
 b=1jkf82RsjbP5hsR7YlStvoFRxc/pS1vzlbFKN632DcAou6VOoLei0hMkftP+ZxDYyySSJ++nfKHb8mVm16BInfdfPgcgozsHsXSmo3JcFITrL8gsPONyTdfv8e/M1kKRsvgfAcieyXSupQOxYN1YzD3G0f3ONle7F+hEx60bGhA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <a94eae99-1101-4a4a-982e-0565f61fecc8@amd.com>
Date: Thu, 4 Apr 2024 10:00:43 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/4] libelf: Store maximum PHDR p_align
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-4-jason.andryuk@amd.com>
 <f2297a46-4d19-4b98-b986-e05ac9f7a2c5@suse.com>
 <d6927896-0168-4620-b10a-8d6304b4d6eb@amd.com>
 <514380b9-d7ba-466b-b992-28bb1953a6ae@suse.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <514380b9-d7ba-466b-b992-28bb1953a6ae@suse.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: SJ1PEPF00001CE3:EE_|DS0PR12MB9059:EE_
X-MS-Office365-Filtering-Correlation-Id: 635199fe-d73e-4c85-d80e-08dc54afa6f8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oLi0Z6RzJJzApslpwzns1fePpbD7/JKUWQ4ZobD4zfGD4I32NvjpEgo/pu/9dxleDcGu+WwnHGxkg3egVHT43/Z4h3ZCP17F6wvJRwxCBUv7WUJfR0rzjsku7yMgjb+93so85IsryF2wNxTt+T4II4YmQU2SUFvNe+knEBzc+2AkVRHpLS3zWMQ2FtlZmsu6c7tjH7N7GYy5hxZyTq5MgLdu0JwD6GnaL7GfKSRvJMr9srJXScy0z0yvY7rMnK4CmepUaTjc2qn3hbeJQqyn84DH64/YMTcrfKdGB4PB18eph8CFXLk/7JVlqNWxK+sh2XoOT8kS86YxSgNoKPwnbwseXVNHVzcUZyZdM2pLEGeJYCN0AdvyLEUUq1i6m2Qpx4VHLFqsEatl6/NEapPqNOc/++RVdq+mG0pC08LIr5+HAQThw0FonqQLJkYXXTvf37Ipzq2o9hh8GRM5TcTfhP27+LZZTdnDj1z31J2PBp+/WSvKPtpnlyxMflEHWY4vzUChbnDh05EQhl7IOPstay6JoVjzgizoOZBpiWpM6ekNIPS3FdMTt4mq4b+ItGNfIGeMTpgD64g72sIguC2Grpi/SCcrlaXWzdOvuNFk9wrDy/Sud4tLvIK9KHs4heTNMbpCt0U97F5KBgVL+PpESk0I9Q33RQ/Ig1B1XWSkLsKVoUjXKGgEmwxad5/rXLhP0ybbGwcTVp+vO6gEAhkABagX8rZZV9eH3iS4o9jSp3GRpska5/6fcmFlEptRWV78
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 14:00:57.4603
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 635199fe-d73e-4c85-d80e-08dc54afa6f8
X-MS-Exchange-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:
	SJ1PEPF00001CE3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9059

On 2024-04-02 02:44, Jan Beulich wrote:
> On 29.03.2024 15:41, Jason Andryuk wrote:
>> On 2024-03-28 12:47, Jan Beulich wrote:
>>> On 27.03.2024 22:51, Jason Andryuk wrote:
>>>> --- a/xen/common/libelf/libelf-loader.c
>>>> +++ b/xen/common/libelf/libelf-loader.c
>>>> @@ -468,6 +468,7 @@ void elf_parse_binary(struct elf_binary *elf)
>>>>    {
>>>>        ELF_HANDLE_DECL(elf_phdr) phdr;
>>>>        uint64_t low = -1, high = 0, paddr, memsz;
>>>> +    uint64_t max_align = 0, palign;
>>>>        unsigned i, count;
>>>>    
>>>>        count = elf_phdr_count(elf);
>>>> @@ -481,17 +482,23 @@ void elf_parse_binary(struct elf_binary *elf)
>>>>                continue;
>>>>            paddr = elf_uval(elf, phdr, p_paddr);
>>>>            memsz = elf_uval(elf, phdr, p_memsz);
>>>> -        elf_msg(elf, "ELF: phdr: paddr=%#" PRIx64 " memsz=%#" PRIx64 "\n",
>>>> -                paddr, memsz);
>>>> +        palign = elf_uval(elf, phdr, p_align);
>>>> +        elf_msg(elf,
>>>> +                "ELF: phdr: paddr=%#" PRIx64 " memsz=%#" PRIx64 " palign=%#" PRIx64 "\n",
>>>> +                paddr, memsz, palign);
>>>>            if ( low > paddr )
>>>>                low = paddr;
>>>>            if ( high < paddr + memsz )
>>>>                high = paddr + memsz;
>>>> +        if ( max_align < palign )
>>>> +            max_align = palign;
>>>>        }
>>>>        elf->pstart = low;
>>>>        elf->pend = high;
>>>> -    elf_msg(elf, "ELF: memory: %#" PRIx64 " -> %#" PRIx64 "\n",
>>>> -            elf->pstart, elf->pend);
>>>> +    elf->palign = max_align;
>>>> +    elf_msg(elf,
>>>> +            "ELF: memory: %#" PRIx64 " -> %#" PRIx64 " align:%#" PRIx64 "\n",
>>>> +            elf->pstart, elf->pend, elf->palign);
>>>>    }
>>>
>>> Hmm, it's just this final logging change which I'm a little concerned by:
>>> Having looked at Linux'es phdr, I noticed that the addresses there aren't
>>> necessarily matching the corresponding alignment. Therefore I'm a little
>>> concerned that the output here might raise questions when people see
>>> seemingly inconsistent values in the log. Could you/we at least make it
>>> read like e.g. "align (max): ..."?
>>
>> max_align?
>>
>> Looking at my test vmlinux, it looks like PHDR 0 (.text) and PHDR 1
>> (.data) are aligned.  It's the PHDR 2 (.init) that isn't aligned.  Is
>> that what you see?
>>
>> This line is already printing the min and max across all the PHDRs, so
>> it would only look confusing if the start didn't match the align.
>>
>> I'm not sure how useful it is to print the alignment, and I considered
>> not printing it.  It's only used with PVH Dom0 right now, so it's not
>> relevant in most cases.
> 
> Well, yes, not printing the alignment would be fine with me. I just didn't
> suggest that as an alternative since I was assuming you put its printing
> there for a reason.

I added it to make the information available, which might be useful if 
there was a problem finding a load location.  Since it's usually not 
useful information, I'll just drop it.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:02:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:02:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700907.1094701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNfK-0006l8-LL; Thu, 04 Apr 2024 14:02:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700907.1094701; Thu, 04 Apr 2024 14:02:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNfK-0006l1-If; Thu, 04 Apr 2024 14:02:06 +0000
Received: by outflank-mailman (input) for mailman id 700907;
 Thu, 04 Apr 2024 14: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=8Y/v=LJ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rsNfJ-0006ki-3v
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:02:05 +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 e9a47bb9-f28b-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 16:02:04 +0200 (CEST)
Received: from BYAPR01CA0035.prod.exchangelabs.com (2603:10b6:a02:80::48) by
 SA3PR12MB9092.namprd12.prod.outlook.com (2603:10b6:806:37f::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.46; Thu, 4 Apr 2024 14:01:54 +0000
Received: from SJ1PEPF00001CDF.namprd05.prod.outlook.com
 (2603:10b6:a02:80:cafe::3c) by BYAPR01CA0035.outlook.office365.com
 (2603:10b6:a02:80::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Thu, 4 Apr 2024 14:01:50 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF00001CDF.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.7452.22 via Frontend Transport; Thu, 4 Apr 2024 14:01:49 +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.35; Thu, 4 Apr
 2024 09:01:47 -0500
Received: from [172.21.219.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 4 Apr 2024 09:01: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: e9a47bb9-f28b-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Je9qRnshnFEYkIoCyjbREvt1/1/n/VM5Z3uxroP1HVMJko6j85SH3MhdsKMseSCJ/ix2JoGd9kXqxt+Z7cCGQPHe1DJkZ2MBYnNHOI8zy7JpFAF19xDIXvY7oQX/ZnNIy/zb54hK7xBMIKCDuZc7U8GhhKtIdE919fSr3Tbt7lBs6Ub0uuG6vhZ+ppw7+Oqk6fppQa60FAkkaW5k1eH2xmVqOzbU+tlP4quKF+TH4DjmQkhzdUgqoysCj4gloxd4+WZhyQuTs5zZsVFyBorsJ1xVicTZMWZ1rMS7k+qHZyWrBboaZgi8WdmryjDwhU2fk4Q4e6jWoomAwvljHxQjOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uqLJfNF3hEqM/OGyHc7d56iagiJuTCvVHIYNPuwQfL0=;
 b=esrl5J8SLNvPcfFH3wk9xNwzPThsaAfbBd3zX4X0PCcB5TlL1cOtj7it6bC67wFQ4GRHPFRUnJ3Y1DeDAg+/pWPecQLJ3t6tV3TL69RypHRkGutjKkB0KB4Q/AsYZj4amS6YWDCmE5/RrBNHtmuJ01zV4aga/k7E+MxIr5E1SoGy7riJ4pfH78zVPjXsRtE5rqUbD+mCfVZax7UBGIqzDPzUxNJUNOi6iqXGo7mnpdWiqxSXzknZqbMPlucR4TMsCqhaazS5CrBnNgL9pafUXyUlfCHB60DX/fvNgIb/UY7L4gg8PSEhVF3z3KxleGEORD//y1jWeQ08b6oKdVVuZQ==
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=uqLJfNF3hEqM/OGyHc7d56iagiJuTCvVHIYNPuwQfL0=;
 b=MPtwtItkqU3DQBg0NxKXWwsC2N9UuA27OPvAOm+sp+1KwdY+sSHj5Yi3naarcK1/C5WMk1KY3Y2MOaqiHHDU82OznDouSjwhEDAq0j+WxFyz0RNoCZxI+npODYaSPcnFQ5UbocWb0ujXUUx2x3Vl10WDtsdNXPIYBI5IRu/NfPY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <8ccb0cb3-0855-4729-8be6-a522b0fc365c@amd.com>
Date: Thu, 4 Apr 2024 10:01:43 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v6 4/4] x86/PVH: Support relocatable dom0 kernels
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>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20240327215102.136001-1-jason.andryuk@amd.com>
 <20240327215102.136001-5-jason.andryuk@amd.com>
 <46a99837-fbb4-4dc9-a78c-634bee5c00a5@suse.com>
Content-Language: en-US
In-Reply-To: <46a99837-fbb4-4dc9-a78c-634bee5c00a5@suse.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: SJ1PEPF00001CDF:EE_|SA3PR12MB9092:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ae618b1-d1d6-405b-2c72-08dc54afc63f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5e7wYsWXQwwd23iGDVBcm2JjzFEVESqgnYVnIFLPwy/VirYUh6ql95DPeV7IgZYYfpEQSnFYoor11U2vv+4vEsPyygC1GUBet7ECCVPLJiXoqk54TjyUpsK3nG20w0W7yIFNZlj9lH4V/ciBkIzkpCdXHtXpUjuLlIRlRB898ojvOLfWFKuZiF61eZ85Fpc1Zs9wdRSY6sPUAkWVMRt6gAv49jV0PzhJ0QEffxYMW3GVrHTYqtTE9Avb8JbShuSrJqVlVW+zavVBe8dCVIlT4jMPhFGS4MH257Q90m+jIGI7aS21nOrtLRRPu4f4zKyXSpuchgSdklbUgB9eUEjk1TAsjFMDxYXmeV/TwgpwM01dZIjJQxpDde0yIF6sRZmHP3vSyKfmF0eO+sXqYy4kntn2ER9yt/u1PIpZVfgtH5dtzF6g5xXAvRe4YrJu71jk66GrOCVMnsuiWts86FAn442zH42xvsaeFJnWB9rMuKjEI57P6fVFj+KvxkV8pxSF05tsZzA+PaBsOmWifpqh6qEStyzNLbGaCHx1d4pJQJr5iEblO6Y3xY5kRSeR+b8blY5cRR+I6w2m0Grr9S0JsnoiNmgH+fgXWHwzZ3awPgCU8JayMG8CI0gtL78efrED0z8GN4lTtQvexnFsazZXrFK0gdrGZdkHsddcQHUZ5bCDWktFk6RkhZK2oS4nOb85GqtZcLjx/VTUzal91zjAvYeLBLNhfiXBqmURr4sgqUqutbQlii3F1USGxXJsnaqQ
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 14:01:49.8837
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ae618b1-d1d6-405b-2c72-08dc54afc63f
X-MS-Exchange-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:
	SJ1PEPF00001CDF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9092

On 2024-04-02 10:34, Jan Beulich wrote:
> On 27.03.2024 22:51, Jason Andryuk wrote:
>> v6:
>> Select alignment from, in order, Note, PHDRs, then default
> 
> The comment in the public header also needs to reflect this change.

Yes.  I'll update.

I'm going to tweak the code from elf->palign > PAGE_SIZE to >=, since 
PAGE_SIZE is a reasonable value to use.

>> +static bool __init check_and_adjust_load_address(
>> +    const struct domain *d, struct elf_binary *elf, struct elf_dom_parms *parms)
>> +{
>> +    paddr_t reloc_base;
>> +
>> +    if ( check_load_address(d, elf) )
>> +        return true;
>> +
>> +    if ( !parms->phys_reloc )
>> +    {
>> +        printk("%pd kernel: Address conflict and not relocatable\n", d);
>> +        return false;
>> +    }
>> +
>> +    reloc_base = find_kernel_memory(d, elf, parms);
>> +    if ( !reloc_base )
>> +    {
>> +        printk("%pd kernel: Failed find a load address\n", d);
>> +        return false;
>> +    }
>> +
>> +    if ( opt_dom0_verbose )
>> +        printk("%pd kernel: Moving [%p, %p] -> [%"PRIpaddr", %"PRIpaddr"]\n", d,
>> +               elf->dest_base, elf->dest_base + elf->dest_size - 1,
>> +               reloc_base, reloc_base + elf->dest_size - 1);
>> +
>> +    parms->phys_entry = reloc_base +
>> +                            (parms->phys_entry - (uintptr_t)elf->dest_base);
> 
> I think this would be easier to read as
> 
>      parms->phys_entry =
>          reloc_base + (parms->phys_entry - (uintptr_t)elf->dest_base);
> 
> Everything else looks good to me now.

Sounds good to me.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:04:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:04:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700909.1094711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNi6-0007W4-2Q; Thu, 04 Apr 2024 14:04:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700909.1094711; Thu, 04 Apr 2024 14:04:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNi5-0007Vx-VQ; Thu, 04 Apr 2024 14:04:57 +0000
Received: by outflank-mailman (input) for mailman id 700909;
 Thu, 04 Apr 2024 14:04:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsNi5-0007Vr-Ja
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:04:57 +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 506a9b80-f28c-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 16:04:55 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4162ad8ddd0so4249895e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 07:04: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
 fl22-20020a05600c0b9600b004162bf2f149sm1071550wmb.48.2024.04.04.07.04.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 07:04: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: 506a9b80-f28c-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712239495; x=1712844295; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=UL+5hFDFHh5W9EWGOvhcCuV6h0LlMmVkIbFtufYIPWc=;
        b=eqP6Gcg1I4twgw+tvvTR/03z6HZkMqQIc4JoiM/+m1UVmlAApHVc9DWr62yqnNww3m
         5oHDNjHeypDAE7TD07RIS7wTiNHH4izg1fgBrwUSGsOnxf1CsdsruwwydP5KWaiFCOv6
         /2FlJVz08BjVoqMLfFeQpqVfIWaBg76dE4wbiGD98Am7YX81X3mLxcEirrNhBM2dMtgm
         eYNnhrE8S2b/Fsjnn1Yhm37Kq8vBZrE3xkkf71f3P5F56OxOpW7FqR/6mQbZLj5IAfYF
         nPQT2NAtjf1zzBadX5MxqLPmJG3jiWnLjlAzQtyRzDQVcipsPasSkQPuC2FTUaa+oSZf
         Zmbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712239495; x=1712844295;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=UL+5hFDFHh5W9EWGOvhcCuV6h0LlMmVkIbFtufYIPWc=;
        b=fxEQH/qchlMT2ECIjEO1BWjHPkPnefsCUkfNYT4V0RGpOO7N3N+Dp82Cz/wWwNdgnL
         fNanKrpvSPO/f4V6AYCCjFq3pQf3BO+94xacPEd69JkrDfxLyjxj8WXkEtKoZiKRlgAY
         vjcS//L8nvMuN7tXkIa1P8ye+nQsOO1pcAIyNAllixcqWNKDxHMtAup7IqmFTbUrEUMb
         NbloPS4pnOZoVO1zEv5lIYCb6soJ5hwLEPhwAkZRUcwkzJ4vOBcAgvT4y4irAOHM3g4o
         /a9GuYlIKccLK+ZQ7KfxQ+9iqGTmed5maCf1EVNExELtJSgTnXtWxT1vDeU2p4NKpKBl
         l9ng==
X-Forwarded-Encrypted: i=1; AJvYcCV+2qVr8pwcpyGQh2v6dZWxshQmXlbhNZ/1Sg/KGQzF779vJvUsHwJoYvBCAR/OuIKGDTxFyWAs1yKUB3iONZaCsW9UWZbJ3Jqd3U2e4WE=
X-Gm-Message-State: AOJu0YzdBu0YqqPSmEQl02+HcKvkSm/ZrJ7c0/xB6rG7upKqkn+sgll6
	F+IJMhpNt1SUwW+1vgNi3qNhbcQu1rbMsyr/YEOWi/hsLQNzKwn3rv2lFTzuwQ==
X-Google-Smtp-Source: AGHT+IECvx2koKoS8xxgFgu/YNQrbbEr0XBfbpBxxE5zr1k0QHHS+1j1/5xmlFBOU8qJeDmP1J+mUw==
X-Received: by 2002:a05:600c:4a83:b0:416:1e4d:4fce with SMTP id b3-20020a05600c4a8300b004161e4d4fcemr2111607wmp.38.1712239494991;
        Thu, 04 Apr 2024 07:04:54 -0700 (PDT)
Message-ID: <74742686-1799-41cc-aa7c-c427ae3d47fe@suse.com>
Date: Thu, 4 Apr 2024 16:04:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 05/19] xen/bitops: implement fls{l}() in common logic
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <f2fb33097608fc1317b81e78d00d1b91b0fc4c1d.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f2fb33097608fc1317b81e78d00d1b91b0fc4c1d.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:19, Oleksii Kurochko wrote:
> --- a/xen/include/xen/bitops.h
> +++ b/xen/include/xen/bitops.h
> @@ -201,7 +201,7 @@ static always_inline __pure int test_bit(int nr, const volatile void *addr)
>  
>  static always_inline __pure int fls(unsigned int x)
>  {
> -    if (__builtin_constant_p(x))
> +    if ( __builtin_constant_p(x) )
>          return generic_fls(x);
>  
>  #ifndef arch_fls
> @@ -213,7 +213,7 @@ static always_inline __pure int fls(unsigned int x)
>  
>  static always_inline __pure int flsl(unsigned long x)
>  {
> -    if (__builtin_constant_p(x))
> +    if ( __builtin_constant_p(x) )
>          return generic_flsl(x);
>  
>  #ifndef arch_flsl

As per this something is clearly wrong with the split between the previous
patch and this one.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:06:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700911.1094721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNj5-0007z6-Ay; Thu, 04 Apr 2024 14:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700911.1094721; Thu, 04 Apr 2024 14: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 1rsNj5-0007yz-8I; Thu, 04 Apr 2024 14:05:59 +0000
Received: by outflank-mailman (input) for mailman id 700911;
 Thu, 04 Apr 2024 14:05: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=AyoO=LJ=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1rsNj4-0007yl-5u
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:05:58 +0000
Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com
 [2607:f8b0:4864:20::f2f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 741356b9-f28c-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 16:05:55 +0200 (CEST)
Received: by mail-qv1-xf2f.google.com with SMTP id
 6a1803df08f44-69682bdf1d5so5303696d6.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 07:05:55 -0700 (PDT)
Received: from rossla-lxenia.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 fq8-20020a056214258800b0069903766e06sm2688494qvb.124.2024.04.04.07.05.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 07:05:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 741356b9-f28c-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712239554; x=1712844354; 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=6wG5hFEWSE8pCJM3CKdCtIfOIpf3B2JFMf25ZTR+uII=;
        b=XCUP8dDhaetBhnJ5/j06OVacPx9QjTZ/dfjUf68cuBE3FIEhPn0p3f+z8nM3Kjv21C
         CEEfv9v1p11dED0w9dCVxHnYjLC3Cckt04EVqZgZPCV6oKlMiteoZT76iyi1zLfem5yx
         2bONR0wUsWBZqlt+R3NOtRY1uVjfF1wgEm5pM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712239554; x=1712844354;
        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=6wG5hFEWSE8pCJM3CKdCtIfOIpf3B2JFMf25ZTR+uII=;
        b=VnC8m/R2mpZvAj3ZPR3/eD/CohqNCy2x93/WWzJgz4oYjhfWuA9vejuxIMfkG8jABy
         s1MPBayDEJYO0TIqtYCXC8Hy45ZRLdAuxX3w6QDVJQbRIP25Baalksa1+lqVXGhPf5Ol
         os7FtzGs7gaVvbFPSaCx5fJlbRSCl61bWGvhigdRxkg4jNwP72QX4Bdg6hpIbsdnlhQ/
         jmfTvWxx42+HxtSiW4uhx48rSdoJnBArElauFJIWfhjJ17BJBYgyx4372296HREuoC3+
         gNGjpzakG8nlOr6xeawe402qkZ05kP7JC5YIx08WwkiQWiiWVaM7OQi6++JFWuPKUZZa
         hZzg==
X-Gm-Message-State: AOJu0YxKg0TJlZwohcJi969k+3kjYdGQb2IonkY2ZlQC9G0/XoBYYjeL
	IIQ9yitqrDJw7JtjTROmFO2Y47TY6xif+K8Nh9OOPLjxpZMl9Ur8v/qQZsFgcQ==
X-Google-Smtp-Source: AGHT+IGyY9sw3RGJVfOjgmqlVSv0/p+x+OV/m/Ct2LCHP8v9i+7ycUCSK6tJqaZi3Ko+zn40uXj7ww==
X-Received: by 2002:a05:6214:2465:b0:699:28ee:da99 with SMTP id im5-20020a056214246500b0069928eeda99mr2482294qvb.65.1712239554621;
        Thu, 04 Apr 2024 07:05:54 -0700 (PDT)
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>
Cc: xen-devel@lists.xenproject.org,
	qemu-devel@nongnu.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
Date: Thu,  4 Apr 2024 15:08:33 +0100
Message-ID: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A malicious or buggy guest may generated buffered ioreqs faster than
QEMU can process them in handle_buffered_iopage(). The result is a
livelock - QEMU continuously processes ioreqs on the main thread without
iterating through the main loop which prevents handling other events,
processing timers, etc. Without QEMU handling other events, it often
results in the guest becoming unsable and makes it difficult to stop the
source of buffered ioreqs.

To avoid this, if we process a full page of buffered ioreqs, stop and
reschedule an immediate timer to continue processing them. This lets
QEMU go back to the main loop and catch up.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 hw/xen/xen-hvm-common.c | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 1627da739822..1116b3978938 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -463,11 +463,11 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
     }
 }
 
-static bool handle_buffered_iopage(XenIOState *state)
+static unsigned int handle_buffered_iopage(XenIOState *state)
 {
     buffered_iopage_t *buf_page = state->buffered_io_page;
     buf_ioreq_t *buf_req = NULL;
-    bool handled_ioreq = false;
+    unsigned int handled = 0;
     ioreq_t req;
     int qw;
 
@@ -480,7 +480,7 @@ static bool handle_buffered_iopage(XenIOState *state)
     req.count = 1;
     req.dir = IOREQ_WRITE;
 
-    for (;;) {
+    do {
         uint32_t rdptr = buf_page->read_pointer, wrptr;
 
         xen_rmb();
@@ -521,22 +521,30 @@ static bool handle_buffered_iopage(XenIOState *state)
         assert(!req.data_is_ptr);
 
         qatomic_add(&buf_page->read_pointer, qw + 1);
-        handled_ioreq = true;
-    }
+        handled += qw + 1;
+    } while (handled < IOREQ_BUFFER_SLOT_NUM);
 
-    return handled_ioreq;
+    return handled;
 }
 
 static void handle_buffered_io(void *opaque)
 {
+    unsigned int handled;
     XenIOState *state = opaque;
 
-    if (handle_buffered_iopage(state)) {
+    handled = handle_buffered_iopage(state);
+    if (handled >= IOREQ_BUFFER_SLOT_NUM) {
+        /* We handled a full page of ioreqs. Schedule a timer to continue
+         * processing while giving other stuff a chance to run.
+         */
         timer_mod(state->buffered_io_timer,
-                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
-    } else {
+                qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
+    } else if (handled == 0) {
         timer_del(state->buffered_io_timer);
         qemu_xen_evtchn_unmask(state->xce_handle, state->bufioreq_local_port);
+    } else {
+        timer_mod(state->buffered_io_timer,
+                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
     }
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:07:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700915.1094730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNkZ-0000Cd-PD; Thu, 04 Apr 2024 14:07:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700915.1094730; Thu, 04 Apr 2024 14:07:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNkZ-0000CW-Lz; Thu, 04 Apr 2024 14:07:31 +0000
Received: by outflank-mailman (input) for mailman id 700915;
 Thu, 04 Apr 2024 14:07:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsNkY-0000CL-4b
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:07:30 +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 ac25b23f-f28c-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 16:07:29 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2d71765d3e1so12984741fa.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 07:07: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
 l14-20020a05600c4f0e00b0041478393b8fsm2786886wmq.42.2024.04.04.07.07.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 07:07:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac25b23f-f28c-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712239649; x=1712844449; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Vzn26KUKmzuTxT995RwhKRhPkPF7fTNILzjrzR8aaMw=;
        b=JrkRTNZE5Fq63SgNIzyzAhssnrVhEhlZvFhxanCQErs57lxK+aBeKfInspOUXuR1j4
         PgofXe5ybYGXJnqLwHPhAa80k97hkZkjnw72/AJvrrcmfiK9AuGVXiiCC/m1a5GltBOZ
         Gi/NFkKjmswkkFxguzIb3ZUqh5ApZ5DJiTcMYF8QRsHn8zO+8yNKwTvAyw9iDJx6PU8J
         Bwz5I+ctgaz4RVoCTsZKePv/DZn7jDR/fRqAwfFodYc+yv3QPkBP+PRpyspuFVZKOBRs
         P4P+v4PovQ3kLlcD1GCx1P1/4TX+WJE+huL0GYDjJcf9Z+8gbt31Z0NrIxZJCywEMhle
         14Mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712239649; x=1712844449;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Vzn26KUKmzuTxT995RwhKRhPkPF7fTNILzjrzR8aaMw=;
        b=qni9iIcIjr3/9cuS+XvF5cOqBDloOAlHt9F+4h7AiVAqvV6D9ND4nB50U4V9DgKplE
         EVcGYppsSqNP5jf8jRZ7oEkSfEBVUiqf7JJVIfmu8xUzJEbJjn8b5hIPcjSXN5Ez0msx
         fP84MjD0knFoXUTljtSBryC9BJmr/fy62Q6HymsP3hOpHE+fzLw1orT3EumM7g54CZO4
         Q2zOPXB0F4yvMwa0F+zdctra8JTa/tMVXl8vZH81md1H9qQT/yZDZ+2g6bTB9RRa7iXS
         xCT1VQkFfomoiS5CtXFfJQQRAHbKtmh5iHxY6abqE2IPzKSxcsK0bf1Wxzuyy5vK2Rvn
         dzwg==
X-Forwarded-Encrypted: i=1; AJvYcCVF4uZEd3okcIBnlUQzXVe5EitZGm2OkBVP2SdSFZ3j560PqGEEqF7sF2ZRQQ4BjkHzkrQtH5VRCOEOrETub7g4O28pbYsnb1fvlZJDvPw=
X-Gm-Message-State: AOJu0YyqEEEo12jr/143L00Rx7xnDk0c1LHVhGReASf35YWbG/cFlGZn
	SMPiVOINkDa8HabHJwm7snfCy85KFLapN9pca2fi516wUNGVpd4JUAPt9bHZ3g==
X-Google-Smtp-Source: AGHT+IFmvs0C4TJwa2obghNT5jC2qRUhK+J6Lks4B9j5SHKQippdo64Lx3hjlKXF0zeZ0idzXLSAFg==
X-Received: by 2002:a2e:9c1a:0:b0:2d5:9bd4:4496 with SMTP id s26-20020a2e9c1a000000b002d59bd44496mr2068938lji.50.1712239648795;
        Thu, 04 Apr 2024 07:07:28 -0700 (PDT)
Message-ID: <cfd41259-fc1d-48e7-b766-5c8c70d51706@suse.com>
Date: Thu, 4 Apr 2024 16:07:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 01/19] automation: introduce fixed randconfig for
 RISC-V
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <6e604205e4b815f4f66574d9680f5effb86fa673.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6e604205e4b815f4f66574d9680f5effb86fa673.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:19, Oleksii Kurochko wrote:
> This patch introduces the anchor riscv-fixed-randconfig,
> which includes all configurations that should be disabled for
> randconfig builds.

Oh, one thing I noticed while committing (and I think I said so before):
Can you please avoid phrases like "this patch" in descriptions? Just
say what is being done; before being committed it's a patch, yes, while
once committed it's no longer a patch, but a commit. In the case here
you'd simply have started "Introduce ...".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:21:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700921.1094740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNy4-00051Y-UU; Thu, 04 Apr 2024 14:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700921.1094740; Thu, 04 Apr 2024 14:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsNy4-00051R-S0; Thu, 04 Apr 2024 14:21:28 +0000
Received: by outflank-mailman (input) for mailman id 700921;
 Thu, 04 Apr 2024 14:21:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WQJu=LJ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rsNy3-00051I-E4
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:21:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e8cd25d-f28e-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 16:21:25 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-82-59-164-46.retail.telecomitalia.it [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id B447A4EE073C;
 Thu,  4 Apr 2024 16:21:24 +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: 9e8cd25d-f28e-11ee-afe5-a90da7624cb6
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH] automaton/eclair: add deviations for MISRA C:2012 Rule 13.6
Date: Thu,  4 Apr 2024 16:21:10 +0200
Message-Id: <cca71f954bec4efc14b98e3ad991581441d593d7.1712238975.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 uses of chk_fld and
alternative_vcall[0-9] macros.

Suggested-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl |  8 ++++++++
 docs/misra/deviations.rst                        | 12 ++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index de9ba723fb..eebe779000 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -333,6 +333,14 @@ of the short-circuit evaluation strategy of such logical operators."
 -config=MC3R1.R13.5,reports+={disapplied,"any()"}
 -doc_end
 
+-doc_begin="Macros alternative_vcall[0-9] use sizeof to type-check \"func\" and the func parameters without evaluating them."
+-config=MC3R1.R13.6,reports+={deliberate,"any_area(any_loc(any_exp(macro(^alternative_vcall[0-9]$))))"}
+-doc_end
+
+-doc_begin="Macro chk_fld is only used to introduce BUILD_BUG_ON checks in very specific cases where by code inspection you can see that its usage is correct. The BUILD_BUG_ON checks check that EFI_TIME and struct xenpf_efi_time fields match."
+-config=MC3R1.R13.6,reports+={deliberate,"any_area(any_loc(any_exp(macro(^chk_fld$))))"}
+-doc_end
+
 #
 # Series 14
 #
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index eb5ef2bd9d..a97c31d18f 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -279,6 +279,18 @@ Deviations related to MISRA C:2012 Rules:
        the short-circuit evaluation strategy for logical operators.
      - Project-wide deviation; tagged as `disapplied` for ECLAIR.
 
+   * - R13.6
+     - Macros alternative_vcall[0-9] use sizeof to type-check \"func\" and the
+       func parameters without evaluating them.
+     - Tagged as `deliberate` for ECLAIR.
+
+   * - R13.6
+     - Macro chk_fld is only used to introduce BUILD_BUG_ON checks in very
+       specific cases where by code inspection you can see that its usage is
+       correct. The BUILD_BUG_ON checks check that EFI_TIME and
+       struct xenpf_efi_time fields match.
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R14.2
      - The severe restrictions imposed by this rule on the use of 'for'
        statements are not counterbalanced by the presumed facilitation of the
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:26:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700925.1094751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsO36-0005dz-GH; Thu, 04 Apr 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 700925.1094751; Thu, 04 Apr 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 1rsO36-0005ds-DR; Thu, 04 Apr 2024 14:26:40 +0000
Received: by outflank-mailman (input) for mailman id 700925;
 Thu, 04 Apr 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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsO34-0005dl-UB
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:26:38 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58af7e81-f28f-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 16:26:37 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4155819f710so7756145e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 07:26: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
 h2-20020a05600c350200b00414906f1ea1sm2848647wmq.17.2024.04.04.07.26.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 07:26: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: 58af7e81-f28f-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712240797; x=1712845597; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=BAD8HqjZ6pq6vtvGYkb7SfUvZMwABN74SiZKTZR+HZU=;
        b=VX2/KH0qkIyPGtgdY1favA/2lHCqy+MjKCvnQkfoQfy9Kk8dDcXVCSplNL0d6S29WX
         23b4yWvDTfJQRvmzY0FJQMsY4rMps9kgvs0NS07yBUz6q9F5XHJLwcW58rEI2PqRegKu
         BtLqdi/kLWa6qL975daqhj7PbHIkPx4pSXg6Bv+f2Yg7bzmzNNlFriZDC7+o2G821Zx0
         oeo6kXpG+Okk3UQO1Q8oTqalJVDWSf8y0yYdPv4CFgSgCZAc2EAza89tdSYsshn2+UHf
         J9nSrt8NU658yzE/dKzLOmwdNGsw/n3wFo6TC7cM7MkJ0ronDSC+P+A+LdBootNbJ6fe
         TNVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712240797; x=1712845597;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=BAD8HqjZ6pq6vtvGYkb7SfUvZMwABN74SiZKTZR+HZU=;
        b=UuUhEZ0UlCSrIRwLw5MZdr+BkTksgOizE8IZbIJxbRfVSXWeEL4rATb/d4Lw615ajb
         Ae5LWOqQNWWWZePfzNHfuF1eLcxeNJBXVt9zeu6d+Bhmw3bCnthCwB+bFkMshqkjWvr1
         H1SOXdxPpe3A2LkcxzLO6p9zWFxgNU8TsFfn/OW8CKwzQ8GsmXPZA69fWt8VTr8wKaBk
         EEIzJtM2Rba8FkRIDVfmBh2MhsptTD6ncsHzEocUdGyzSQWTb8D4Ul6eeqWRy6byL5ho
         3IWFtgm2r6mEhTBbl2w7W+v6IrQvofl4QB8oBSEIKe/e7I8dZidbTqnYpV/IaaCdslVf
         T9Dg==
X-Forwarded-Encrypted: i=1; AJvYcCU6mF5QrIB40rrZ3cqejxIfUuE8gzyxQLlsoD+cEZ9lD78CT52/xZdo7QO9abP9QXw9i8ULX/Ro6rGWQCdbGAxW/+Dvtk8nklilHcyjPg8=
X-Gm-Message-State: AOJu0YyhQ7/hIbb4GKEfigL8ALHeAzMUQpSaPPminDisZb4VekhmijUW
	OC+HZNSHkKmt+h9uP5yQd59C6c8WmgI+jFtZqouhxslrO+uMdQwYRonXa7aaBQ==
X-Google-Smtp-Source: AGHT+IFEUcgzfGM9Yno+rooIQjkCAdMyl2kjgWwoAnLTHX8oYcmGw7hksNvQ5u7h6Ujbbo9+PkDFVQ==
X-Received: by 2002:a7b:c459:0:b0:414:93ae:396d with SMTP id l25-20020a7bc459000000b0041493ae396dmr2183343wmi.32.1712240797326;
        Thu, 04 Apr 2024 07:26:37 -0700 (PDT)
Message-ID: <4869b25c-71e2-4d7a-8eaf-5c26219da6ce@suse.com>
Date: Thu, 4 Apr 2024 16:26:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 06/19] xen/bitops: put __ffs() into linux compatible
 header
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <854994adfdbaafb4d140fffb72ff5ade6b0aeb1e.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <854994adfdbaafb4d140fffb72ff5ade6b0aeb1e.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:19, Oleksii Kurochko wrote:
> --- a/xen/include/xen/linux-compat.h
> +++ b/xen/include/xen/linux-compat.h
> @@ -19,4 +19,6 @@ typedef int64_t __s64;
>  
>  typedef paddr_t phys_addr_t;
>  
> +#define __ffs(x) (ffsl(x) - 1)

To be truly Linux-compatible, the result type would better be unsigned long
here. Seeing that you build upon Andrew's work, the easiest might be

#define __ffs(x) (ffsl(x) - 1UL)

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

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:34:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700929.1094761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsOB3-0007pN-9S; Thu, 04 Apr 2024 14:34:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700929.1094761; Thu, 04 Apr 2024 14:34:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsOB3-0007pG-62; Thu, 04 Apr 2024 14:34:53 +0000
Received: by outflank-mailman (input) for mailman id 700929;
 Thu, 04 Apr 2024 14:34:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsOB2-0007pA-2H
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:34:52 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dee01b1-f290-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 16:34:49 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-343cfa6faf0so250685f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 07:34: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
 o5-20020a5d6845000000b00343b252b096sm2693810wrw.23.2024.04.04.07.34.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 07: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: 7dee01b1-f290-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712241289; x=1712846089; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1f2Z/bUHj9MWmTO5PVF+hQl2fdHntcYSQfksFN+TjXw=;
        b=W8pj1gMpwPS6nKU8EnuaQyPzO8ZnaDKv/CrJ5jxeeY0XxDZjqczxRa6SyIBRh49MHh
         PWe4wKTptWbDpv0ff/6It11dDV6khZZ3xPL6HkIOEredgdhlPkzFSWfHsvsqSXA10MfE
         YXdaGK8npTdnuBHwpavWmP50spUn3krYGYqIiqsbIYtt/ZCjWlUWCsBQGiXIAXO1UgzF
         OyXaI+GWUdK0S/8GZQ+bqnVDeopYJ0VZpLaoG2EpIdHJOZsl9QNbdUFTMNgUe9p7iMkh
         /RbHGoETjqqUU2cvJNj24iD5rlgJV3ibd3dvNB+TtQm2UCVJG555PcwrlnVVQAKePjOC
         sA0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712241289; x=1712846089;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=1f2Z/bUHj9MWmTO5PVF+hQl2fdHntcYSQfksFN+TjXw=;
        b=kN815/PcE3PdgNaMo3XHTUuYpoVGH7OZnMx4ebXXNAKz6Pl/kupiCu41+bKthShp5m
         ts1m59mpTS0Dx1E1nhBJssjnsAPBAOCNnhcBmmxF4IUUMQmazOgmPazKMJBRcCow914S
         tLZeBOZgghlDIArpuDV3sPxL9ZYF9vLGZ3Lnd5j/Viuqh5juKP/N6XJCbhHQiA3QYjW+
         4DOV8OGFKY5+VZJgyM8YeuJ0u/vahOQaXjH/VlFZiTFYA/a0jNVmn2PArqKL7V+dnuKy
         ZoclxbRpBsaSlX3BhhffuOhsMtdExWcosLUskcUL7CDOuAIlStsoxPX77zACvfZvB4lf
         Al/w==
X-Forwarded-Encrypted: i=1; AJvYcCXvC5v1ESgWUTOdy5d+R158JxeCReQs2e0kOjc0/K0bYhyA9gh+0lmmmewiz0ZFTbd2/D0RuzaAu5mVn2XHjoO50se1stqydHrXT+NKopo=
X-Gm-Message-State: AOJu0YxA4IKfVSXkPuU6a7ZW6dlWkrLtuJQbZduQ7f88fLzY4A7Bs73q
	mULmzefY3gg9Jh5nirGAGzieE43uUauqQYW471f9bU1zP7dfSlqHpqFItpoysw==
X-Google-Smtp-Source: AGHT+IGyavB3vywYH5R43bM6PkSkgaxWyDeIAiAJpG5ZHYWYK07MrQqZW3Me49nStnw+UoBAI7ELIA==
X-Received: by 2002:adf:ce0c:0:b0:33f:84a1:7eb8 with SMTP id p12-20020adfce0c000000b0033f84a17eb8mr2226465wrn.1.1712241289324;
        Thu, 04 Apr 2024 07:34:49 -0700 (PDT)
Message-ID: <4c008f38-2618-4e17-8cb5-c226660edf37@suse.com>
Date: Thu, 4 Apr 2024 16:34:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automaton/eclair: add deviations for MISRA C:2012
 Rule 13.6
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cca71f954bec4efc14b98e3ad991581441d593d7.1712238975.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cca71f954bec4efc14b98e3ad991581441d593d7.1712238975.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 16:21, Federico Serafini wrote:
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -333,6 +333,14 @@ of the short-circuit evaluation strategy of such logical operators."
>  -config=MC3R1.R13.5,reports+={disapplied,"any()"}
>  -doc_end
>  
> +-doc_begin="Macros alternative_vcall[0-9] use sizeof to type-check \"func\" and the func parameters without evaluating them."
> +-config=MC3R1.R13.6,reports+={deliberate,"any_area(any_loc(any_exp(macro(^alternative_vcall[0-9]$))))"}
> +-doc_end

alternative_vcall(), for now at least, is x86-only. Why blindly deviate it also
for Arm?

> +-doc_begin="Macro chk_fld is only used to introduce BUILD_BUG_ON checks in very specific cases where by code inspection you can see that its usage is correct. The BUILD_BUG_ON checks check that EFI_TIME and struct xenpf_efi_time fields match."
> +-config=MC3R1.R13.6,reports+={deliberate,"any_area(any_loc(any_exp(macro(^chk_fld$))))"}
> +-doc_end

As indicated on earlier occasions - when a macro isn't global, its deviation
better wouldn't be global either. An identically named macro may be introduced
elsewhere, and may not need deviating there.

> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -279,6 +279,18 @@ Deviations related to MISRA C:2012 Rules:
>         the short-circuit evaluation strategy for logical operators.
>       - Project-wide deviation; tagged as `disapplied` for ECLAIR.
>  
> +   * - R13.6
> +     - Macros alternative_vcall[0-9] use sizeof to type-check \"func\" and the
> +       func parameters without evaluating them.

Just to mention it: The return type of the function isn't really of interest
there. What's being checked is that the argument types match the corresponding
parameter ones, which otherwise would "naturally" be done by the compiler when
seeing function calls. Might be useful to state no more and no less than what
is really needed.

Further, according to the discussion on the matter: alternative_call() is
quite similar in this regard, just that it uses typeof(). Imo it should be
deviated here as well right away, no matter whether Eclair can actually be
configured to also check typeof() and alignof().

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 14:47:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 14:47:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700932.1094771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsONN-0002fg-Cx; Thu, 04 Apr 2024 14:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700932.1094771; Thu, 04 Apr 2024 14: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 1rsONN-0002fZ-9C; Thu, 04 Apr 2024 14:47:37 +0000
Received: by outflank-mailman (input) for mailman id 700932;
 Thu, 04 Apr 2024 14: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsONL-0002fT-Vp
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 14:47:36 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 45a946ad-f292-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 16:47:34 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-41629b9b85eso6546125e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 07:47: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
 je6-20020a05600c1f8600b0041496734318sm2909565wmb.24.2024.04.04.07.47.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 07:47: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: 45a946ad-f292-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712242054; x=1712846854; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ocnjGzbf4RlWMuT89XLMJ6yY1XlHfJksG1nVkIy6ric=;
        b=IxwB4dpWEWdNemScqJbquL8zT9fCOoz6xXetN2Y12sYc63TaZ84OM+FzTKIsCgx/4L
         rF/bCzVVDY6K2pTZ8zmgMnZidUaZqlMKZPsr5fSZ9kGVhz8Gsdx5X9rKF+E6ZWgI1aGB
         ZrDXZFigUF7052fY6HReD7CpBnyB7ohG68LTk8z8EBmZuQpHjl1pLixULvr74es+MyL6
         3XTO9ZKRx72zCBBY7ev2/eozb5KeoWQbZVAr7wG1ez/aihcCYANUy9NJ8K3bFL/dslgY
         0JJWv2izCDKB5TKXr2+Vsxq4BDxu7jCFY1RO1ybgGZHM/zH1gzNg0VxE3s/3BbruhsE2
         nwZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712242054; x=1712846854;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ocnjGzbf4RlWMuT89XLMJ6yY1XlHfJksG1nVkIy6ric=;
        b=VBcze5TOjF/W/DskYL80BZJ35KGwdsTY1brmfUKccakt2C1Vmj4o1U+M7H4nIviuJC
         jCdGh6Xy3LEFF8HOj7RUp8jbJBK0OQQ53OxQ3apRLnLUjlXNkzuqoEXnk0VLYxNAme4W
         iibq53URj4V5nj1uRa7PW2GgH2zu/q+Kj0+ajdjgsG7LclzZhSdOJj9cE4I8t7RFwE5z
         rs5u/p0RHoXLnFeoFncS5hmdgDUISXHENwaGvgAT4U12283ovV9kRnyu3OMmhoqfQiMh
         /iQxj4wg8A7FF+3yM6ZoEaUAQK2R9Ywa+TiRhQy6sWQont1YMduTjVGY+MCPI2rK+ikt
         scMA==
X-Forwarded-Encrypted: i=1; AJvYcCXT0jMqygPtFV2uEb2lu4pJzfojYI6g8mez/LIm3GiTgSm/9S6bq9tHbm6KGOfULA3s4NHpmg0VOqhuLe6bO4+x+7NvMaAO55rRNf4uZl4=
X-Gm-Message-State: AOJu0Yz82BmIUotefvpEg2EYJcNk7NQCif+MCet7QOI6VOOhu1zAQ2OM
	J2t1LnC+RnhvRo9lc355F4Ih5kJGz1nVfsRBdaVOkYb1zmQoziYHbTADgm/Vsw==
X-Google-Smtp-Source: AGHT+IGVI4HKpQf019bLxOWollgn9yV0MSOlhyowf/KrQ5TwfEmrY73NFNquFeuI3GKt9W8dnMTNBw==
X-Received: by 2002:a05:600c:3b08:b0:416:2b3c:2861 with SMTP id m8-20020a05600c3b0800b004162b3c2861mr1262812wms.30.1712242053862;
        Thu, 04 Apr 2024 07:47:33 -0700 (PDT)
Message-ID: <dd2a03f9-f72b-4947-8c7d-1c1345b4b31e@suse.com>
Date: Thu, 4 Apr 2024 16:47:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 07/19] xen/riscv: introduce bitops.h
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <3d8a46946a37ca499e962aa6504fa453326e5ad0.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3d8a46946a37ca499e962aa6504fa453326e5ad0.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:20, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/bitops.h
> @@ -0,0 +1,146 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/* Copyright (C) 2012 Regents of the University of California */
> +
> +#ifndef _ASM_RISCV_BITOPS_H
> +#define _ASM_RISCV_BITOPS_H
> +
> +#include <asm/system.h>
> +
> +#undef BITOP_BITS_PER_WORD
> +#undef bitop_uint_t
> +
> +#define BITOP_BITS_PER_WORD BITS_PER_LONG
> +#define bitop_uint_t unsigned long
> +
> +#if BITS_PER_LONG == 64
> +#define __AMO(op)   "amo" #op ".d"
> +#elif BITS_PER_LONG == 32
> +#define __AMO(op)   "amo" #op ".w"
> +#else
> +#error "Unexpected BITS_PER_LONG"
> +#endif
> +
> +#define __set_bit(n, p)      set_bit(n, p)
> +#define __clear_bit(n, p)    clear_bit(n, p)

First without comment and then ...

> +/* Based on linux/arch/include/asm/bitops.h */
> +
> +/*
> + * Non-atomic bit manipulation.
> + *
> + * Implemented using atomics to be interrupt safe. Could alternatively
> + * implement with local interrupt masking.
> + */
> +#define __set_bit(n, p)      set_bit(n, p)
> +#define __clear_bit(n, p)    clear_bit(n, p)

... with one?

> +/* Based on linux/arch/include/asm/bitops.h */

Does this really need repeating?

> +#define test_and_op_bit_ord(op, mod, nr, addr, ord)     \
> +({                                                      \
> +    unsigned long res, mask;                            \

bitop_uint_t?

> +    mask = BITOP_MASK(nr);                              \
> +    asm volatile (                                       \

Nit: One too many padding blanks.

> +        __AMO(op) #ord " %0, %2, %1"                    \
> +        : "=r" (res), "+A" (addr[BITOP_WORD(nr)])       \
> +        : "r" (mod(mask))                               \
> +        : "memory");                                    \
> +    ((res & mask) != 0);                                \
> +})
> +
> +#define op_bit_ord(op, mod, nr, addr, ord)      \
> +    asm volatile (                              \
> +        __AMO(op) #ord " zero, %1, %0"          \
> +        : "+A" (addr[BITOP_WORD(nr)])           \
> +        : "r" (mod(BITOP_MASK(nr)))             \
> +        : "memory");
> +
> +#define test_and_op_bit(op, mod, nr, addr)    \
> +    test_and_op_bit_ord(op, mod, nr, addr, .aqrl)
> +#define op_bit(op, mod, nr, addr) \
> +    op_bit_ord(op, mod, nr, addr, )
> +
> +/* Bitmask modifiers */
> +#define NOP(x)    (x)
> +#define NOT(x)    (~(x))
> +
> +/**
> + * test_and_set_bit - Set a bit and return its old value
> + * @nr: Bit to set
> + * @addr: Address to count from
> + */
> +static inline int test_and_set_bit(int nr, volatile void *p)

In patch 4 you switched to bool. Any reason you didn't here, too?

> +{
> +    volatile bitop_uint_t *addr = p;
> +
> +    return test_and_op_bit(or, NOP, nr, addr);
> +}
> +
> +/**
> + * test_and_clear_bit - Clear a bit and return its old value
> + * @nr: Bit to clear
> + * @addr: Address to count from
> + */
> +static inline int test_and_clear_bit(int nr, volatile void *p)
> +{
> +    volatile bitop_uint_t *addr = p;
> +
> +    return test_and_op_bit(and, NOT, nr, addr);
> +}
> +
> +/**
> + * set_bit - Atomically set a bit in memory
> + * @nr: the bit to set
> + * @addr: the address to start counting from
> + *
> + * Note that @nr may be almost arbitrarily large; this function is not
> + * restricted to acting on a single-word quantity.
> + */
> +static inline void set_bit(int nr, volatile void *p)
> +{
> +    volatile bitop_uint_t *addr = p;
> +
> +    op_bit(or, NOP, nr, addr);
> +}
> +
> +/**
> + * clear_bit - Clears a bit in memory
> + * @nr: Bit to clear
> + * @addr: Address to start counting from
> + */
> +static inline void clear_bit(int nr, volatile void *p)
> +{
> +    volatile bitop_uint_t *addr = p;
> +
> +    op_bit(and, NOT, nr, addr);
> +}
> +
> +/**
> + * test_and_change_bit - Toggle (change) a bit and return its old value
> + * @nr: Bit to change
> + * @addr: Address to count from
> + *
> + * This operation is atomic and cannot be reordered.
> + * It also implies a memory barrier.
> + */
> +static inline int test_and_change_bit(int nr, volatile unsigned long *addr)

unsigned long?

> +{
> +	return test_and_op_bit(xor, NOP, nr, addr);
> +}

Perhaps better to move up a little, next to the other test_and-s?

Also - nit: Hard tab used for indentation.

> +#undef test_and_op_bit
> +#undef __op_bit

This no longer has any effect in this shape.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 15:01:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 15:01:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700936.1094780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsOav-00075E-JQ; Thu, 04 Apr 2024 15:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700936.1094780; Thu, 04 Apr 2024 15: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 1rsOav-000757-Gq; Thu, 04 Apr 2024 15:01:37 +0000
Received: by outflank-mailman (input) for mailman id 700936;
 Thu, 04 Apr 2024 15:01:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsOat-00074t-Om
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 15:01:35 +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 3a8c8e92-f294-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 17:01:34 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2d6ff0422a2so13023361fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 08:01: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
 i1-20020adfe481000000b003437ad152f9sm6538032wrm.105.2024.04.04.08.01.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 08: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: 3a8c8e92-f294-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712242894; x=1712847694; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=iciWvoMWm6Hky3ZL3SmXQslC45iXm5OocGa0ygPdmTg=;
        b=JraQp/dPJoGln4Nn1BmEztHbRFcEqrSr+rK7u50Vl/qmPWzz1ZwQmEYOC28Trzdckr
         z08I/tuDIVgUwFVNHEsR/zMJ7Ei4MGss6mgTa9r2UlyC5t5W0KojDv515rdfSQFXZyPl
         yTZHjWoyiuVL0vJcZvy/X+9wsqaRVGntLdw8CzpMtOwM1AR+kiUmXuvkGUX9+M47T+d7
         coa6kcf+G0ViTqLMPk/I4kjMWHEqgZXrFcBKIKWRGe4a0ifJpe19zST/mJrKYGE65Vy3
         J5O6ytww8RLXAA9QJQHZfuMyiSoSy7GodwGNIJYce987f/qWCbvh/nZ5QTxSVBDeXOjU
         /uDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712242894; x=1712847694;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=iciWvoMWm6Hky3ZL3SmXQslC45iXm5OocGa0ygPdmTg=;
        b=r5rn+QMaI5OH+CIkSwPUeZEJWG8VS2UolzzzOZTBm2Wc16MgY+EL4fjYYUrj0UwFGd
         IKawHEf4p9UZOjID9Iw3vqAPt1Y3NKrZ97/pnyw+hxFRMr+nJvGVqZt2G245EBfKpYDC
         VjI1G1RwWn7pr/FCnu1fwIE+5EsLQHkd/rB/RGClFozQMAaEiZNrZmBogso3Y/coy4kt
         UDLK9deMLkoBZi5euIjhT426whw0KYytQpXglTPk0hPnNrCrBUAe2G5pYy0iVH/aOAjC
         ZMsoU6nr2Xx8we/F5bwUK9NXsBTxCY4MkBlRQ87sofdu9/86MrdfGpGM9cuETNqxZlh7
         +Tfg==
X-Forwarded-Encrypted: i=1; AJvYcCU0G/PK0mBqtcS1WKVn+ewRuAbaESqdvWgoa6Rk+VSAc575Plc7BzhVz/PEE7rTBG3EYyMkeXt2DawzeMF9LC0xba53jbetaMNfR8W8q5E=
X-Gm-Message-State: AOJu0YzcqxBfhtGDjm4STB7wILnX1caJMTjnGpufBv2+dehGIzDVxFDq
	Oo78ihcsrvc68pybnfhls9FeaCD0xfWrXL7S8D+3lBqe6M8eOzDVrn7P2oxlqA==
X-Google-Smtp-Source: AGHT+IGNI5M4NOQIm9h2DK/LDewW5XdPyxSeJCQWgFypVrzYEwIuzFdCvVOKgi14C9j+LM43+wuhpg==
X-Received: by 2002:a2e:b0cb:0:b0:2d8:4158:cbaa with SMTP id g11-20020a2eb0cb000000b002d84158cbaamr1890192ljl.7.1712242889680;
        Thu, 04 Apr 2024 08:01:29 -0700 (PDT)
Message-ID: <d315dda1-f89e-4028-9aa0-98b4e80c81fc@suse.com>
Date: Thu, 4 Apr 2024 17:01:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 08/19] xen/riscv: introduce cmpxchg.h
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <f0d836be5dbc04468a74cabf9b48a51921bf749b.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f0d836be5dbc04468a74cabf9b48a51921bf749b.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:20, Oleksii Kurochko wrote:
> +#define emulate_cmpxchg_1_2(ptr, old, new, lr_sfx, sc_sfx) \
> +({ \
> +    uint32_t *aligned_ptr; \
> +    unsigned long alignment_mask = sizeof(*aligned_ptr) - sizeof(*(ptr)); \
> +    uint8_t new_val_bit = \
> +        ((unsigned long)(ptr) & alignment_mask) * BITS_PER_BYTE; \
> +    unsigned long mask = \
> +        GENMASK(((sizeof(*(ptr))) * BITS_PER_BYTE) - 1, 0) << new_val_bit; \
> +    unsigned int old_ = (old) << new_val_bit; \
> +    unsigned int new_ = (new) << new_val_bit; \
> +    unsigned int old_val; \
> +    unsigned int scratch; \
> +    \
> +    aligned_ptr = (uint32_t *)((unsigned long)ptr & ~alignment_mask); \
> +    \
> +    asm volatile ( \
> +        "0: lr.w" lr_sfx " %[scratch], %[ptr_]\n" \
> +        "   and  %[old_val], %[scratch], %[mask]\n" \
> +        "   bne  %[old_val], %z[old_], 1f\n" \
> +        /* the following line is an equivalent to:
> +         *     scratch = old_val & ~mask;
> +         * And to elimanate one ( likely register ) input it was decided
> +         * to use:
> +         *     scratch = old_val ^ scratch
> +         */ \

I'm surprised this compiles without \-es inside the comment as well. Line
splicing happens ahead of comment recognition as per the spec.

Everything else okay-ish to me now, but I can't very well given an ack for
a patch depending on things that haven't been committed yet and may never be.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 15:07:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 15:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700938.1094790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsOgI-0007x0-6H; Thu, 04 Apr 2024 15:07:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700938.1094790; Thu, 04 Apr 2024 15:07: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 1rsOgI-0007wt-3l; Thu, 04 Apr 2024 15:07:10 +0000
Received: by outflank-mailman (input) for mailman id 700938;
 Thu, 04 Apr 2024 15:07: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=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsOgG-0007wl-P7
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 15:07:08 +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 01246b6e-f295-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 17:07:07 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-516a01c8490so2050120e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 08:07:07 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 d14-20020ac24c8e000000b00516d2489f16sm7802lfl.260.2024.04.04.08.07.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 08:07: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: 01246b6e-f295-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712243227; x=1712848027; 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=/VELRPKeMX1LdEAJc/Q0CO65ia3VxSP0pAr7oWHXSWU=;
        b=ZTcNXgvMUMkWI+636yLDCV54jN+NWqiY4Z7c/ZFA9skioz5dO58w6jqeZSOIral0WI
         NOOFa70pbkO9PfKD1B4j65Xbaq0ke67pv7IqwdniP33KMWhQc+FLQH8M4ZuFAvqMfyPs
         l1ML680KikjveX+FUIjdD2hpRvJZQO7KbRCzd+H6k2Sp5+VEIRwklgKQcAfAt830MBzp
         2jjOH0yHLoOQtQ0hs+TrbIzqcfdGEFuXK7QfMFZvt4jkcSLxpZam5nVHUPECu2lc9Sbc
         lkr5MKJb02+mWm9JMUsxi/eyC/M1oW3rJKN8wJci0pTKkrKyz5ly4Kee0feNfIcMN61x
         KHtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712243227; x=1712848027;
        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=/VELRPKeMX1LdEAJc/Q0CO65ia3VxSP0pAr7oWHXSWU=;
        b=QKYD0zWOUCNl6JtTNZ3Zh78kSUJytqaWZ1Tp9NzrHj78IekkiG16++KnVp7WKULNAW
         cRGK7Vj+b793klNIG+mM3tXn2PslQRXeTHGXl/t4ZVKS6V3Sj7CbIjjPkjpYhh3xZIF1
         CdDFnLV/a63ZyYMJJNJr8tdUUoVL7xB2m4Hg9FxOShFSTnM9DYO4zuU1uVfItD1mqNAa
         fmZKV3wfcW390wiilpSdx9OPj0Pp1kX0aIJREHWwbjBdOa3uTPDUuPVLpI6KMYb+AxLX
         08oSMov32DfphdxFzHVWzDJzopVC3+/wU7e5w5guzstfhFZfpUvaH6Em+X0vzi0fBDzR
         LQDA==
X-Forwarded-Encrypted: i=1; AJvYcCXuJbYkLcKQ6WPedr/LgGAbUfhpU7/cJdljphgjRxz4yzn0Qc1O5D9t4xQJElpox+Bz8AINWby63RWeMQlMSbpOLPt41AOlPZeq0cDiFcM=
X-Gm-Message-State: AOJu0YwdCw2tCoXKGKLhyRmEFqQgrL3X4Nnvbu08bbQnjxCUTC4rD1tK
	Z62+spC2A4BC4rSuBnXA/8sTCU0m1xoe3TUsMXfPyImLtrKirstP
X-Google-Smtp-Source: AGHT+IFypdC4qkWeDRte+kqVyH6BpFawDcgVa6DrCNTrviX2coEvinxl23Vz3e4lYK8lnEVlAT8hog==
X-Received: by 2002:a19:f716:0:b0:513:dd66:d5e9 with SMTP id z22-20020a19f716000000b00513dd66d5e9mr882880lfe.21.1712243226918;
        Thu, 04 Apr 2024 08:07:06 -0700 (PDT)
Message-ID: <c1161824532f24e39bcedf3a6f96c70ec8bc885c.camel@gmail.com>
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	 <sstabellini@kernel.org>, Alistair Francis <alistair.francis@wdc.com>, Bob
	Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, 
	xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 17:07:06 +0200
In-Reply-To: <7593c2e7-57ee-42eb-8d38-a3aa177d3420@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
	 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
	 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
	 <7593c2e7-57ee-42eb-8d38-a3aa177d3420@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Wed, 2024-04-03 at 13:53 +0200, Jan Beulich wrote:
> On 03.04.2024 12:54, Oleksii wrote:
> > On Wed, 2024-04-03 at 12:28 +0200, Jan Beulich wrote:
> > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > This patch disables unnecessary configs for two cases:
> > > > 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds
> > > > (GitLab CI jobs).
> > > > 2. By using tiny64_defconfig for non-randconfig builds.
> > > >=20
> > > > Only configs which lead to compilation issues were disabled.
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > ---
> > > > Changes in V7:
> > > > =C2=A0- Disable only configs which cause compilation issues.
> > >=20
> > > Since the description doesn't go into details: While I can see
> > > that
> > > PERF_COUNTERS and LIVEPATCH may require (a little / some more)
> > > extra
> > > work, are HYPFS, ARGO, and XSM really causing issues?
> > For Argo, I recieved the following compilation errors:
> > =C2=A0=C2=A0 common/argo.c:1416:5: error: unknown type name 'p2m_type_t=
'; did
> > you
> > =C2=A0=C2=A0 mean 'hvmmem_type_t'?
> > =C2=A0=C2=A0=C2=A0 1416 |=C2=A0=C2=A0=C2=A0=C2=A0 p2m_type_t p2mt;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=
=A0 ^~~~~~~~~~
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=
=A0 hvmmem_type_t
> > =C2=A0=C2=A0 common/argo.c:1419:11: error: implicit declaration of func=
tion
> > =C2=A0=C2=A0 'check_get_page_from_gfn' [-Werror=3Dimplicit-function-
> > declaration]
> > =C2=A0=C2=A0=C2=A0 1419 |=C2=A0=C2=A0=C2=A0=C2=A0 ret =3D check_get_pag=
e_from_gfn(d, gfn, false, &p2mt,
> > &page);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~~~~~~~~~~~~~~
> > =C2=A0=C2=A0 common/argo.c:1427:10: error: 'p2m_ram_rw' undeclared (fir=
st use
> > in
> > =C2=A0=C2=A0 this function)
> > =C2=A0=C2=A0=C2=A0 1427 |=C2=A0=C2=A0=C2=A0=C2=A0 case p2m_ram_rw:
> > =C2=A0=C2=A0=20
> > It seems it should be included xen/p2m-common.h and asm/p2m.h in
> > common/argo.c.
> >=20
> > For CONFIG_HYPFS_CONFIG ( there is no issue with CONFIG_HYPFS,
> > overlooked that ):
> > =C2=A0=C2=A0 common/config_data.S:1:10: fatal error: asm/asm_defns.h: N=
o such
> > file
> > =C2=A0=C2=A0 or directory
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 | #include <asm/asm_defns.h>
> > =C2=A0=C2=A0=20
> >=20
> > For XSM, I recieved the following error:
> >=20
> > =C2=A0=C2=A0 xsm/xsm_core.c:79:19: error: 'xsm_core_init' defined but n=
ot
> > used [-
> > =C2=A0=C2=A0 Werror=3Dunused-function]
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 79 | static int __init xsm_core_init(con=
st void
> > *policy_buffer,
> > =C2=A0=C2=A0 size_t policy_size)
> >=20
> > I'll add an information with compilation errors to the commit
> > message.
>=20
> No need to quote full compiler diagnostics, but a hint at the
> problems
> at least. That said, perhaps we want to rather sort the issues than
> disable building stuff that sooner or later you will want to build
> anyway. For hypfs we look to have an approach already. For Argo what
> you suggest makes sense to me; it might be nice to understand where
> the P2M headers needed are coming from on x86 and Arm. Ideally common
> code .c files wouldn't include asm/*.h.
I'll look at where P2M header came from on x86 and Arm.

>=20
> For XSM I'm a little puzzled: Shouldn't RISC-V have
> HAS_DEVICE_TREE=3Dy?
> Then xsm_core_init() would have a caller.
It should, but I haven't add "select HAS_DEVICE_TREE" for RISC-V as no
device tree functionality hasn't been introduced yet.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 15:18:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 15:18:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700942.1094801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsOr7-00029z-5x; Thu, 04 Apr 2024 15:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700942.1094801; Thu, 04 Apr 2024 15: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 1rsOr7-00029s-3H; Thu, 04 Apr 2024 15:18:21 +0000
Received: by outflank-mailman (input) for mailman id 700942;
 Thu, 04 Apr 2024 15:18: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=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsOr6-00029m-Rn
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 15:18:20 +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 919d7009-f296-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 17:18:19 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a517d773844so160167766b.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 08:18:19 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 w4-20020a1709062f8400b00a4e07f8b6bfsm9108253eji.59.2024.04.04.08.18.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 08:18: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: 919d7009-f296-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712243899; x=1712848699; 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=giSZkoeMqOySw2+U+Xr21qoAa/CBbUcNGzBrxRAc4Ec=;
        b=dp0RfhcAqMoDHMRtVhM/qnuFs1mEBj+Xtx0ss29Xyvs4QXCcJLLHs1uA1IPrrwGThX
         gIlaOeaywqA2I/ID1TqWTDsVfq0ZBjLWafgFNSW31aSqJQlH0IhEBSTpf6x83dvBZ0Ej
         vsTc8upwJ8E5cQxYTS9I9xajVZx8rGS1MzFHx4WG8Iiqmyy4uyXsGAKq8WDgvJPfvykk
         ZSQ6upVlV3gePWwYiey6zHFxTFkhd99kYMeZDJ4O+OdSJQBcHX//mwYO+4VzRnZsA8BJ
         Kl1RolZt22rgP1aMe6HZuu95u0OHkcY+S40qlpoMKi5QEDmO//wAC4cIXDhHKlmo/1qz
         rygQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712243899; x=1712848699;
        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=giSZkoeMqOySw2+U+Xr21qoAa/CBbUcNGzBrxRAc4Ec=;
        b=tn6VLRUprEs0s6nRULrtlSTAchJlz2Z/A9cgE+KOLUBKljzP2Hkyc4XYe1PBQnsZRK
         NfCw7r20QAUw/NPTRBLx0Tgyb3QsvZIEcCj0N5Hpk+mAspOEyN6D7UaJQyJi7wWGyCMU
         sFtOfrOBbXBdgj+QvClART5QYl7kX9S3nohkMKAuNQEPz6Hnv34u6ZqzrOS4UU9f0RBm
         JIpX+tSOOE4lL/MC4ZdRIYTrUw4wVe3QZahDGMVrPaLiglhDwT2nmK1wkj9sIipuV3a/
         dWqinB4pZ5UvG0FBoFXKUdC9U0tJ0udfMsbmno+QsxB+JdJHZDLXkg2M8X75mdIoITab
         9m/g==
X-Forwarded-Encrypted: i=1; AJvYcCVSxcS222CW/NC5CWk8y6T1oX00FGsugzGs5FLSsIDISzZFiY6Cm9JBXwoCDo9I9kXH7VqxY1/d+R2uNF2k3sYOCqZbsm0Q5x5LVjZ09vs=
X-Gm-Message-State: AOJu0YyaSPmATzAX2DCUe03BJNnjG1lAjg12apwqLdJLhHLEpc1UKPr3
	tohJeFBjAAx5+CDMeZKl5WXGGMdDW8KHBYfJ73hEJQRuZtbT/a81
X-Google-Smtp-Source: AGHT+IFoRjl3zx1DgAc0QptrXwkJEc18TF513ESCYFzzYAqGh39tVWT1ixNR0dsgmnbxdoz2NkSBig==
X-Received: by 2002:a17:906:17cc:b0:a47:3526:2e0f with SMTP id u12-20020a17090617cc00b00a4735262e0fmr1828827eje.75.1712243899140;
        Thu, 04 Apr 2024 08:18:19 -0700 (PDT)
Message-ID: <9945cb144f5c1b95202646135b88891537230e17.camel@gmail.com>
Subject: Re: [PATCH v7 03/19] xen/riscv: introduce extenstion support check
 by compiler
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Alistair Francis
 <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>,  xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 17:18:18 +0200
In-Reply-To: <bda70742-04b7-4bab-8cdd-6b5a3d45dc3c@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
	 <bda70742-04b7-4bab-8cdd-6b5a3d45dc3c@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-04 at 12:07 +0200, Jan Beulich wrote:
> On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/arch.mk
> > +++ b/xen/arch/riscv/arch.mk
> > @@ -3,16 +3,27 @@
> > =C2=A0
> > =C2=A0$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
> > =C2=A0
> > -CFLAGS-$(CONFIG_RISCV_64) +=3D -mabi=3Dlp64
> > +riscv-abi-$(CONFIG_RISCV_32) :=3D -mabi=3Dilp32
> > +riscv-abi-$(CONFIG_RISCV_64) :=3D -mabi=3Dlp64
> > =C2=A0
> > =C2=A0riscv-march-$(CONFIG_RISCV_ISA_RV64G) :=3D rv64g
> > =C2=A0riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 :=3D $(riscv-march-y)c
> > =C2=A0
> > +riscv-generic-flags :=3D $(riscv-abi-y) -march=3D$(riscv-march-y)
> > +
> > +zbb :=3D $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
>=20
> While committing another question popped up: Why "" (i.e. no insn)
> here, ...
>=20
> > +zihintpause :=3D $(call as-insn,\
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 $(CC) $(riscv-generic-
> > flags)_zihintpause,"pause",_zihintpause)
>=20
> ... but "pause" here?

In the case of the Zbb extension, we don't check for a specific
instruction, but with the Zihintpause, the idea was to verify if the
pause instruction is supported or not. However, in both checks, there
might be no instruction as an argument of as-insn.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 15:28:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 15:28:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700944.1094812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsP0p-0004mY-5e; Thu, 04 Apr 2024 15:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700944.1094812; Thu, 04 Apr 2024 15:28:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsP0p-0004mR-0B; Thu, 04 Apr 2024 15:28:23 +0000
Received: by outflank-mailman (input) for mailman id 700944;
 Thu, 04 Apr 2024 15:28:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rsP0o-0004mH-5A; Thu, 04 Apr 2024 15:28:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rsP0n-0000T4-UW; Thu, 04 Apr 2024 15: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 1rsP0n-0005LP-LR; Thu, 04 Apr 2024 15:28:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsP0n-0004Gr-Kv; Thu, 04 Apr 2024 15:28:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AptFddzrO4xpaGd1XPmxh6k2flcDcc+3QfhBIhCz8CY=; b=IzvC/JDd4iApmZJqoYhuXxF7Ed
	dgwf/qrJzT62O5g23uTOZBRRzYZ6ji57CypU5dO1BfqHa8XpLcIuuipSFRIIqL5NclSHNqOZSt/6a
	KzD4/Ofr1IKLL8V1YQkDTY7DXaFnTKZb4EvnuaNeBzsCDEvMuWSiZxnkJpdN19EZ1vSk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185235-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185235: 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-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-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=e2a7dd3f7e9843b0c0753cf6b6d9792351f8c6e1
X-Osstest-Versions-That:
    libvirt=c8ca9d0118ec21dbff07147e0bbffcd19fb196b7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 15:28:21 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 184708
 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-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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              e2a7dd3f7e9843b0c0753cf6b6d9792351f8c6e1
baseline version:
 libvirt              c8ca9d0118ec21dbff07147e0bbffcd19fb196b7

Last test of basis   184708  2024-02-20 04:18:53 Z   44 days
Testing same since   185235  2024-04-04 04:18:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abhiram Tilak <atp.exp@gmail.com>
  Adam Julis <ajulis@redhat.com>
  Andrea Bolognani <abologna@redhat.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Brett Holman <brett.holman@canonical.com>
  Cole Robinson <crobinso@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Denis V. Lunev <den@openvz.org>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Göran Uddeborg <goeran@uddeborg.se>
  Jiri Denemark <jdenemar@redhat.com>
  Jonathon Jongsma <jjongsma@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Karim Taha <kariem.taha2.7@gmail.com>
  Laine Stump <laine@redhat.com>
  Lennart Fricke <lennart.fricke@drehpunkt.com>
  Martin Kletzander <mkletzan@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Pavel Hrdina <phrdina@redhat.com>
  Peter Krempa <pkrempa@redhat.com>
  Praveen K Paladugu <prapal@linux.microsoft.com>
  Praveen K Paladugu <praveenkpaladugu@gmail.com>
  Purna Pavan Chandra Aekkaladevi <paekkaladevi@linux.microsoft.com>
  ray <honglei.wang@smartx.com>
  Rayhan Faizel <rayhan.faizel@gmail.com>
  Tim Wiederhake <twiederh@redhat.com>
  Vincent Vanlaer <libvirt-e6954efa@volkihar.be>
  Weblate <noreply-mt-weblate@weblate.org>
  Weblate <noreply@weblate.org>
  Wei Gong <gongwei833x@gmail.com>
  Xianglai Li <lixianglai@loongson.cn>
  Yuri Chornoivan <yurchor@ukr.net>
  Zheng Yan <yanzheng759@huawei.com>
  김인수 <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
   c8ca9d0118..e2a7dd3f7e  e2a7dd3f7e9843b0c0753cf6b6d9792351f8c6e1 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 15:44:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 15:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700951.1094820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPFq-0000jV-Ev; Thu, 04 Apr 2024 15:43:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700951.1094820; Thu, 04 Apr 2024 15:43:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPFq-0000jO-CI; Thu, 04 Apr 2024 15:43:54 +0000
Received: by outflank-mailman (input) for mailman id 700951;
 Thu, 04 Apr 2024 15:43:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsPFp-0000jI-1A
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 15:43:53 +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 22bccb80-f29a-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 17:43:51 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4162a3e2d22so6889545e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 08:43: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
 fm22-20020a05600c0c1600b004162bac1393sm1643021wmb.43.2024.04.04.08.43.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 08:43: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: 22bccb80-f29a-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712245431; x=1712850231; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lxQeNv3T/0Pnqho71eXNyeSIDAiCSm3GECjSxFpQ1OM=;
        b=GihG2JpjKR+MluGaa8PKNeyVyBq+uH68zv8QdMEiYpM+7dIwkvIzxP4n8AjRkUKvBT
         23irFWjFxWR19cimEvMfrXi+tgHalKBejX/71CCi+7xN1gdtpTXSl/5UgTv4USZPWHxh
         EY5K+HkHpFFL9e42m/+ImvItAvdABOXjHAlAz9rGIITggfND8mRUtWFtj1T0zvWclZ+Y
         EVj+MA2KQ6zsip0lUvwqq2aOWmrNArWvqPwEVzPBlxFGDNFbh2q0QKFqROZ/ftqG3Jj5
         CjGhY8IpctNwxEGPirbTbqkLTQMEOP5b30zPfrukZIRXMGVcxA6iRx/tKuY75gbPSE6f
         RAVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712245431; x=1712850231;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lxQeNv3T/0Pnqho71eXNyeSIDAiCSm3GECjSxFpQ1OM=;
        b=D7zoLQ5fuwwggcPAbNfHZNcPC5ESk/+B9EIqsDv9Cm/8vTLjA49zB2ipmIkx8YgFQF
         ynKoxT7LTMhAHt4IddqQokZBEuUVBhS5C0+B1RCbduluabgvQm0SwWfDG3pNmqp6RdQX
         r7ksNrn5qZp4xGwwicN1boklhZ9XDifMOHZeC+l555pqSl0f/IkwBrvw0vVtANYGpacP
         rociSN2eX7EImZkKgztti/guAL001NVdA7MCezMwhfASjMMF8Gpm21MtGy1ahoKpwZY6
         kdQ74qTMYBXd5kdITKN71lOiBCWNPy7a1gsjotH8nCDDxptCSOkQLZ/xHg9zHah8DbHv
         RIvw==
X-Forwarded-Encrypted: i=1; AJvYcCUYjYR6LtT0YLOc7flcOyXsqHzaSEfn6eka0vOBjJTJ0MjfyPjd7LuSgGYAAaxc8WjARYrwQxzN3lCr8/fB46YFknYVdNnan/zPSBVYMas=
X-Gm-Message-State: AOJu0YxPyX8iMO1lGaqu1I+j6lU67OQPaeRKxGWSmKk+EtGcPEVtqqQd
	maa9pZqpRDfvm0h/iH0bu/YMVzpu6I6ccTsHkkl8IHEWZAEFiJ9HKMB7GZAl4g==
X-Google-Smtp-Source: AGHT+IFP1468+PGvSPxZuafWO3OJ8qlE1EMX3zdmH0RJT7rtJBStiUhZBA9eexbPi9DNYKe6OItC3w==
X-Received: by 2002:a05:600c:1c13:b0:415:4457:3f8b with SMTP id j19-20020a05600c1c1300b0041544573f8bmr105461wms.25.1712245431349;
        Thu, 04 Apr 2024 08:43:51 -0700 (PDT)
Message-ID: <3095e62f-583c-414d-92d9-9b09b6959251@suse.com>
Date: Thu, 4 Apr 2024 17:43:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 03/19] xen/riscv: introduce extenstion support check by
 compiler
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
 <bda70742-04b7-4bab-8cdd-6b5a3d45dc3c@suse.com>
 <9945cb144f5c1b95202646135b88891537230e17.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9945cb144f5c1b95202646135b88891537230e17.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.04.2024 17:18, Oleksii wrote:
> On Thu, 2024-04-04 at 12:07 +0200, Jan Beulich wrote:
>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/arch.mk
>>> +++ b/xen/arch/riscv/arch.mk
>>> @@ -3,16 +3,27 @@
>>>  
>>>  $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
>>>  
>>> -CFLAGS-$(CONFIG_RISCV_64) += -mabi=lp64
>>> +riscv-abi-$(CONFIG_RISCV_32) := -mabi=ilp32
>>> +riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
>>>  
>>>  riscv-march-$(CONFIG_RISCV_ISA_RV64G) := rv64g
>>>  riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
>>>  
>>> +riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
>>> +
>>> +zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
>>
>> While committing another question popped up: Why "" (i.e. no insn)
>> here, ...
>>
>>> +zihintpause := $(call as-insn,\
>>> +               $(CC) $(riscv-generic-
>>> flags)_zihintpause,"pause",_zihintpause)
>>
>> ... but "pause" here?
> 
> In the case of the Zbb extension, we don't check for a specific
> instruction, but with the Zihintpause, the idea was to verify if the
> pause instruction is supported or not.

And why's this verification relevant here, but not for Zbb?

Jan

> However, in both checks, there
> might be no instruction as an argument of as-insn.
> 
> ~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 15:45:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 15:45:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700953.1094830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPHm-0001Ie-PR; Thu, 04 Apr 2024 15:45:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700953.1094830; Thu, 04 Apr 2024 15:45:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPHm-0001IX-Mw; Thu, 04 Apr 2024 15:45:54 +0000
Received: by outflank-mailman (input) for mailman id 700953;
 Thu, 04 Apr 2024 15:45:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsPHl-0001IR-P2
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 15:45: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 6a060bc8-f29a-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 17:45:51 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-56e0e1d162bso1154975a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 08:45:51 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 bx25-20020a0564020b5900b0056db8d09436sm7533188edb.94.2024.04.04.08.45.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 08: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: 6a060bc8-f29a-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712245551; x=1712850351; 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=gLCtPj5tLX8iL9aV1IyZF2BHrV2UqHtUL0IY5OEP8io=;
        b=gLy82EDBdgCfb4Zzbfxny6seyiJSoXDNPNjNuZ25d7PssAokuWnSIzkcvUKka/O8AC
         fAYgnQMVxQWQ4ri4wkF8+zYYTdoQElTDpgxpb0sLAH8E+bzER4wRHN6QbWp9CcsSsyA7
         Yy+b2Q6yRB6lHFMcJ19Wq8zHb+tKpZaxI4FMnxu4V/gZLBUodEo8BWQHVQ5SqCiprZmU
         15Q+w3DQHAFjIeTOgFYonklnCzX2VseM3cNRX/T3TDgorvf5rH4QAHHXSaraTfcw5M/t
         /7Wpmwz1QsQtNVpX2fOSOky6O5tCRk0G3dzJ69izWk50Fn20i3aNiEdNWAyJq8tMz9/H
         d3Sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712245551; x=1712850351;
        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=gLCtPj5tLX8iL9aV1IyZF2BHrV2UqHtUL0IY5OEP8io=;
        b=q+cRAagZmKPekA+VGdg35m5qziefZrj2+a7WaH6uumDOelVLq0jIzaGcvf+ElbwwcL
         ZDj6/yOJyXAVcKBvQuRdD7CxD7zD2X+80amfNiLo4x/5pcpPWxSBFTHR9Y1Rgmd7dXmn
         /wLumiHpvUN5xIutgktNBt7i/XO1rYjtISmsZ2XPzqcn8IrNRiKK0Fc4RxpF7LPregGj
         q6MrqDPpbmkg2vLbxFYKIPJB/GnGkwzcHwRb3rP4BontoCD4uHFgmn5W9joCMUUWi/7Q
         BzTCEPtreGPCKsQD7334eGTKP5A9OxGwmKGY7qhu8uu8Ftulgfco148bNmyL5Si57KSg
         4TzA==
X-Forwarded-Encrypted: i=1; AJvYcCW216pWYSIXmpm4EJRYl0lfjoXgXxH0LdTAk+lgB06ShHAnGsjJOAKyI+zR+xdFdoVVIkbUHrdOqU3hbyaF0554Zq7a+eYBY/OWKTGlMoc=
X-Gm-Message-State: AOJu0YwLs1O5tQTKaPvHQ7lWTqQpV47JGhWixqCKhPr3KxQSTJ0t4I5m
	TvEgLh2OTfYlr8JGS8lqzhKFy8/oS4ICUqLIbxAAbJfE7o2lNN/L
X-Google-Smtp-Source: AGHT+IF1TkMcCrASWYp/NF4FblSeWXiu4dVx/t0Ig1Qh1OqATj8l/W/OHsMHHrlgcccrqelSpzFP7A==
X-Received: by 2002:a50:9555:0:b0:56b:8d0e:1a08 with SMTP id v21-20020a509555000000b0056b8d0e1a08mr1990317eda.26.1712245550521;
        Thu, 04 Apr 2024 08:45:50 -0700 (PDT)
Message-ID: <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall
 <ross.lagerwall@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>,  Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 17:45:49 +0200
In-Reply-To: <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
	 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
> On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > The patch introduces the following generic functions:
> > * test_bit
> > * generic__test_and_set_bit
> > * generic__test_and_clear_bit
> > * generic__test_and_change_bit
> >=20
> > Also, the patch introduces the following generics which are
> > used by the functions mentioned above:
> > * BITOP_BITS_PER_WORD
> > * BITOP_MASK
> > * BITOP_WORD
> > * BITOP_TYPE
> >=20
> > These functions and macros can be useful for architectures
> > that don't have corresponding arch-specific instructions.
> >=20
> > Because of that x86 has the following check in the macros
> > test_bit(),
> > __test_and_set_bit(), __test_and_clear_bit(),
> > __test_and_change_bit():
> > =C2=A0=C2=A0=C2=A0 if ( bitop_bad_size(addr) ) __bitop_bad_size();
> > It was necessary to move the check to generic code and define as 0
> > for other architectures as they do not require this check.
>=20
> Hmm, yes, the checks need to be in the outermost wrapper macros.
> While
> you're abstracting other stuff to arch_*(), wouldn't it make sense to
> also abstract this to e.g. arch_check_bitop_size(), with the
> expansion
> simply being (effectively) empty in the generic fallback case?
Probably it would be better to be consistent and introduce
arch_check_bitop_size().

>=20
> > --- a/xen/include/xen/bitops.h
> > +++ b/xen/include/xen/bitops.h
> > @@ -65,10 +65,164 @@ static inline int generic_flsl(unsigned long
> > x)
> > =C2=A0 * scope
> > =C2=A0 */
> > =C2=A0
> > +#define BITOP_BITS_PER_WORD 32
> > +/* typedef uint32_t bitop_uint_t; */
> > +#define bitop_uint_t uint32_t
>=20
> So no arch overrides permitted anymore at all?
Not really, I agree that it is ugly, but I expected that arch will use
undef to override.

>=20
> > +#define BITOP_MASK(nr)=C2=A0 ((bitop_uint_t)1 << ((nr) %
> > BITOP_BITS_PER_WORD))
> > +
> > +#define BITOP_WORD(nr)=C2=A0 ((nr) / BITOP_BITS_PER_WORD)
> > +
> > =C2=A0/* --------------------- Please tidy above here -----------------=
-
> > --- */
> > =C2=A0
> > =C2=A0#include <asm/bitops.h>
> > =C2=A0
> > +#ifndef bitop_bad_size
> > +extern void __bitop_bad_size(void);
>=20
> If not switching to arch_check_bitop_size() or alike as suggested
> above,
> why exactly does this need duplicating here and in x86? Can't the
> decl
> simply move ahead of the #include right above? (Sure, this will then
> require that nothing needing any of the functions you move here would
> still include asm/bitops.h; it would need to be xen/bitops.h
> everywhere.)
It could be done in way you suggest, I just wanted to keep changes
minimal ( without going and switching asm/bitops.h -> xen/bitops.h ),
but we can consider such option.

>=20
> > +#define bitop_bad_size(addr) 0
> > +#endif
> > +
> > +/**
> > + * generic__test_and_set_bit - Set a bit and return its old value
> > + * @nr: Bit to set
> > + * @addr: Address to count from
> > + *
> > + * This operation is non-atomic and can be reordered.
> > + * If two examples of this operation race, one can appear to
> > succeed
> > + * but actually fail.=C2=A0 You must protect multiple accesses with a
> > lock.
> > + */
> > +static always_inline __pure bool
> > +generic__test_and_set_bit(unsigned long nr, volatile void *addr)
>=20
> Does __pure actually fit with the use of volatile? The former says
> multiple
> accesses may be folded; the latter says they must not be.
Overlooked that, __pure should be dropped.

>=20
> > +{
> > +=C2=A0=C2=A0=C2=A0 bitop_uint_t mask =3D BITOP_MASK(nr);
> > +=C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *p =3D ((volatile bitop_uint_=
t *)addr) +
> > BITOP_WORD(nr);
>=20
> Nit: Slightly shorter line possible:
>=20
> =C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *p =3D (volatile bitop_uint_t *)=
addr +
> BITOP_WORD(nr);
>=20
> > +=C2=A0=C2=A0=C2=A0 bitop_uint_t old =3D *p;
> > +
> > +=C2=A0=C2=A0=C2=A0 *p =3D old | mask;
> > +=C2=A0=C2=A0=C2=A0 return (old & mask);
> > +}
> > +
> > +/**
> > + * generic__test_and_clear_bit - Clear a bit and return its old
> > value
> > + * @nr: Bit to clear
> > + * @addr: Address to count from
> > + *
> > + * This operation is non-atomic and can be reordered.
> > + * If two examples of this operation race, one can appear to
> > succeed
> > + * but actually fail.=C2=A0 You must protect multiple accesses with a
> > lock.
> > + */
> > +static always_inline __pure bool
> > +generic__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
> > +{
> > +=C2=A0=C2=A0=C2=A0 bitop_uint_t mask =3D BITOP_MASK(nr);
> > +=C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *p =3D ((volatile bitop_uint_=
t *)addr) +
> > BITOP_WORD(nr);
> > +=C2=A0=C2=A0=C2=A0 bitop_uint_t old =3D *p;
> > +
> > +=C2=A0=C2=A0=C2=A0 *p =3D old & ~mask;
> > +=C2=A0=C2=A0=C2=A0 return (old & mask);
> > +}
> > +
> > +/* WARNING: non atomic and it can be reordered! */
> > +static always_inline __pure bool
> > +generic__test_and_change_bit(unsigned long nr, volatile void
> > *addr)
> > +{
> > +=C2=A0=C2=A0=C2=A0 bitop_uint_t mask =3D BITOP_MASK(nr);
> > +=C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *p =3D ((volatile bitop_uint_=
t *)addr) +
> > BITOP_WORD(nr);
> > +=C2=A0=C2=A0=C2=A0 bitop_uint_t old =3D *p;
> > +
> > +=C2=A0=C2=A0=C2=A0 *p =3D old ^ mask;
> > +=C2=A0=C2=A0=C2=A0 return (old & mask);
> > +}
> > +/**
> > + * generic_test_bit - Determine whether a bit is set
> > + * @nr: bit number to test
> > + * @addr: Address to start counting from
> > + */
> > +static always_inline __pure int generic_test_bit(int nr, const
> > volatile void *addr)
>=20
> Further up you use bool; why int here?
No specific reason, I have to update everything to bool.

>=20
> > +{
> > +=C2=A0=C2=A0=C2=A0 const volatile bitop_uint_t *p =3D addr;
> > +=C2=A0=C2=A0=C2=A0 return 1 & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_=
PER_WORD -
> > 1)));
>=20
> And reason not to use BITOP_MASK() here as well (once having switched
> to
> bool return type)?
It seems we can use BITOP_MASK() this implementation was copied from
arch specific code.

>=20
> > +}
> > +
> > +static always_inline __pure bool
> > +__test_and_set_bit(unsigned long nr, volatile void *addr)
> > +{
> > +#ifndef arch__test_and_set_bit
> > +#define arch__test_and_set_bit generic__test_and_set_bit
> > +#endif
> > +
> > +=C2=A0=C2=A0=C2=A0 return arch__test_and_set_bit(nr, addr);
> > +}
> > +#define __test_and_set_bit(nr, 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 if ( bitop_bad_size(addr) ) __bitop_bad_size(); \
> > +=C2=A0=C2=A0=C2=A0 __test_and_set_bit(nr, 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 \
> > +})
> > +
> > +static always_inline __pure bool
> > +__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
> > +{
> > +#ifndef arch__test_and_clear_bit
> > +#define arch__test_and_clear_bit generic__test_and_clear_bit
> > +#endif
> > +
> > +=C2=A0=C2=A0=C2=A0 return arch__test_and_clear_bit(nr, addr);
> > +}
> > +#define __test_and_clear_bit(nr, 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 if ( bitop_bad_size(addr) ) __bitop_bad_size(); \
> > +=C2=A0=C2=A0=C2=A0 __test_and_clear_bit(nr, 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 \
> > +})
> > +
> > +static always_inline __pure bool
> > +__test_and_change_bit(unsigned long nr, volatile void *addr)
> > +{
> > +#ifndef arch__test_and_change_bit
> > +#define arch__test_and_change_bit generic__test_and_change_bit
> > +#endif
> > +
> > +=C2=A0=C2=A0=C2=A0 return arch__test_and_change_bit(nr, addr);
> > +}
> > +#define __test_and_change_bit(nr, 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 if ( bitop_bad_size(addr) ) __bitop_bad_size();=C2=
=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 __test_and_change_bit(nr, 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 \
> > +})
> > +
> > +static always_inline __pure int test_bit(int nr, const volatile
> > void *addr)
>=20
> Further up you use bool; why int here?
>=20
> > +{
> > +#ifndef arch_test_bit
> > +#define arch_test_bit generic_test_bit
> > +#endif
> > +
> > +=C2=A0=C2=A0=C2=A0 return arch_test_bit(nr, addr);
> > +}
> > +#define test_bit(nr, 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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 if ( bitop_bad_size(addr) ) __bitop_bad_size();=C2=
=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 test_bit(nr, 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=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
> From here onwards, ...
>=20
> > +static always_inline __pure int fls(unsigned int x)
> > +{
> > +=C2=A0=C2=A0=C2=A0 if (__builtin_constant_p(x))
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return generic_fls(x);
> > +
> > +#ifndef arch_fls
> > +#define arch_fls generic_fls
> > +#endif
> > +
> > +=C2=A0=C2=A0=C2=A0 return arch_fls(x);
> > +}
> > +
> > +static always_inline __pure int flsl(unsigned long x)
> > +{
> > +=C2=A0=C2=A0=C2=A0 if (__builtin_constant_p(x))
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return generic_flsl(x);
> > +
> > +#ifndef arch_flsl
> > +#define arch_flsl generic_flsl
> > +#endif
> > +
> > +=C2=A0=C2=A0=C2=A0 return arch_flsl(x);
> > +}
>=20
> ... does all of this really belong here? Neither title nor
> description have
> any hint towards this.
No, it should be a part of the 	[PATCH v7 05/19] xen/bitops: implement
fls{l}() in common logic. An issue during rebase. I'll update that.

>=20
> > =C2=A0/*
> > =C2=A0 * Find First Set bit.=C2=A0 Bits are labelled from 1.
> > =C2=A0 */
>=20
> This context suggests there's a dependency on an uncommitted patch.
> Nothing
> above says so. I guess you have a remark in the cover letter, yet imo
> that's
> only partly helpful.
Is it really a hard dependency?
The current patch series really depends on ffs{l}() and that was
mentioned in the cover letter ( I'll reword the cover letter to explain
why exactly this dependency is needed ), but this patch isn't really
depends on Andrew's patch series, where ffs{l}() are introduced.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 15:54:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 15:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700957.1094841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPQI-0003xG-Jt; Thu, 04 Apr 2024 15:54:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700957.1094841; Thu, 04 Apr 2024 15: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 1rsPQI-0003x9-H5; Thu, 04 Apr 2024 15:54:42 +0000
Received: by outflank-mailman (input) for mailman id 700957;
 Thu, 04 Apr 2024 15: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=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsPQH-0003x3-LC
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 15:54:41 +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 a5496e81-f29b-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 17:54:40 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-516d15d72c3so592990e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 08:54:40 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 y7-20020ac24e67000000b005139b9f1162sm2299113lfs.281.2024.04.04.08.54.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 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: a5496e81-f29b-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712246080; x=1712850880; 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=hUYh3T8KPJ8rcTlaABDt5p/TEKrAurIIjn6/8KeE/C4=;
        b=Dz3NAjK0sGPpuv1UvDzCz9cIFhlJ2FrtEZ1L01sme6ZQcjY74FwNfCuI1sdVr2g0Fn
         93akD47uHHtHiBnRsVhTeHHsEvxzmSTx31ILF9F/jdq0mE8svKVAamtsm/WPYpvSYcj+
         zrCT5l7KalrPeGIDAGHleYBRH8t3fKq1uN0wAppbtXup13mQioF6AMcUVz+5D+sR7WWZ
         odUBMNQVRGqKkx3HBP8luAhnRSzJsx8B0aMRGkVl7JkBR8FDoOMt1U75dc8I6A8ud0Ph
         jwFxnxQhcwrOH7blJ1aIXZIBdk0FDgMePp4c6zh/EmJk8QRFVReVki3Qsshl4ObvEj/g
         3uVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712246080; x=1712850880;
        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=hUYh3T8KPJ8rcTlaABDt5p/TEKrAurIIjn6/8KeE/C4=;
        b=p28PgNuUTLOHkuNmtZHKggOxqb7ewqksUnX4wIDfr9yy5k8vliqPGdRXq7shE5snWA
         2y6Y+usCWoID0AKCmTRuMzQ2AN7y5DUt4PUcyTs7pXpC8qMf4N7oova5pu4DTFBNf5Ho
         J4Yy7rbwVshsMhKvF6QuOwuayLLbcBSF8dN3zexZo4cOaMe7K1HV/jEA8hNyJs3OXL7n
         o+Od1C3QUzVdcwwjb/vNYoAxuekqv9pY7cU6puD0yYezmCm/9KugSdfbgMwxMnLm70FB
         HCT82u+yvCKiiKduLWsm90ezTjN6Edu4bfbIcqGN+p8xkAarZM6SbHt51TaIe6g19abR
         2aKQ==
X-Forwarded-Encrypted: i=1; AJvYcCWKSqN2hKBCMmLJVank8YWS5Q7KlqTEn6SCLscGGYlMAX00PEVvowiQtpVwHQz3Kv7CB5lwO6jVJV9AYwbmHSNgTL6WNubC79Aop7caSSs=
X-Gm-Message-State: AOJu0YzaVIoEo5ttTJ36puTe4WMGgeykT1UqGH1HcPALGNjdx3FtDlpw
	uA330Z5kOQpZvS08rWwU3bU3NoEgDLh67wWQ7B5Oim+4pzdOxPf7
X-Google-Smtp-Source: AGHT+IF67O4BiFgVcDnhA814VsrA7EkevTGMBsAWljXdX8/IVXmwGacFCGuViirjCZ4nwKirbwBAHw==
X-Received: by 2002:a19:3842:0:b0:513:c60a:5fc0 with SMTP id d2-20020a193842000000b00513c60a5fc0mr2074807lfj.0.1712246079608;
        Thu, 04 Apr 2024 08:54:39 -0700 (PDT)
Message-ID: <a36add6ed207c034fc0b4a95a22d8ab246b965b5.camel@gmail.com>
Subject: Re: [PATCH v7 07/19] xen/riscv: introduce bitops.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 17:54:38 +0200
In-Reply-To: <dd2a03f9-f72b-4947-8c7d-1c1345b4b31e@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <3d8a46946a37ca499e962aa6504fa453326e5ad0.1712137031.git.oleksii.kurochko@gmail.com>
	 <dd2a03f9-f72b-4947-8c7d-1c1345b4b31e@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-04 at 16:47 +0200, Jan Beulich wrote:
> On 03.04.2024 12:20, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/bitops.h
> > @@ -0,0 +1,146 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/* Copyright (C) 2012 Regents of the University of California */
> > +
> > +#ifndef _ASM_RISCV_BITOPS_H
> > +#define _ASM_RISCV_BITOPS_H
> > +
> > +#include <asm/system.h>
> > +
> > +#undef BITOP_BITS_PER_WORD
> > +#undef bitop_uint_t
> > +
> > +#define BITOP_BITS_PER_WORD BITS_PER_LONG
> > +#define bitop_uint_t unsigned long
> > +
> > +#if BITS_PER_LONG =3D=3D 64
> > +#define __AMO(op)=C2=A0=C2=A0 "amo" #op ".d"
> > +#elif BITS_PER_LONG =3D=3D 32
> > +#define __AMO(op)=C2=A0=C2=A0 "amo" #op ".w"
> > +#else
> > +#error "Unexpected BITS_PER_LONG"
> > +#endif
> > +
> > +#define __set_bit(n, p)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 set_bit(n, p)
> > +#define __clear_bit(n, p)=C2=A0=C2=A0=C2=A0 clear_bit(n, p)
>=20
> First without comment and then ...
>=20
> > +/* Based on linux/arch/include/asm/bitops.h */
> > +
> > +/*
> > + * Non-atomic bit manipulation.
> > + *
> > + * Implemented using atomics to be interrupt safe. Could
> > alternatively
> > + * implement with local interrupt masking.
> > + */
> > +#define __set_bit(n, p)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 set_bit(n, p)
> > +#define __clear_bit(n, p)=C2=A0=C2=A0=C2=A0 clear_bit(n, p)
>=20
> ... with one?
Hmm, it seems like rebasing issue with autoconflict resolving. It
should be only definitions with the comment.

>=20
> > +/* Based on linux/arch/include/asm/bitops.h */
>=20
> Does this really need repeating?
>=20
> > +#define test_and_op_bit_ord(op, mod, nr, addr, ord)=C2=A0=C2=A0=C2=A0=
=C2=A0 \
> > +({=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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 res, mask;=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
>=20
> bitop_uint_t?
>=20
> > +=C2=A0=C2=A0=C2=A0 mask =3D BITOP_MASK(nr);=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 asm volatile (=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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
> Nit: One too many padding blanks.
>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __AMO(op) #ord " %0, %2, %1=
"=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : "=3Dr" (res), "+A" (addr[=
BITOP_WORD(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 : "r" (mod(mask))=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 : "memory");=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 ((res & mask) !=3D 0);=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 \
> > +})
> > +
> > +#define op_bit_ord(op, mod, nr, addr, ord)=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 \
> > +=C2=A0=C2=A0=C2=A0 asm volatile (=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __AMO(op) #ord " zero, %1, =
%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 : "+A" (addr[BITOP_WORD(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 : "r" (mod(BITOP_MASK(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 : "memory");
> > +
> > +#define test_and_op_bit(op, mod, nr, addr)=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 test_and_op_bit_ord(op, mod, nr, addr, .aqrl)
> > +#define op_bit(op, mod, nr, addr) \
> > +=C2=A0=C2=A0=C2=A0 op_bit_ord(op, mod, nr, addr, )
> > +
> > +/* Bitmask modifiers */
> > +#define NOP(x)=C2=A0=C2=A0=C2=A0 (x)
> > +#define NOT(x)=C2=A0=C2=A0=C2=A0 (~(x))
> > +
> > +/**
> > + * test_and_set_bit - Set a bit and return its old value
> > + * @nr: Bit to set
> > + * @addr: Address to count from
> > + */
> > +static inline int test_and_set_bit(int nr, volatile void *p)
>=20
> In patch 4 you switched to bool. Any reason you didn't here, too?
Sure, it should return bool here too and probably some other functions
below.

>=20
> > +{
> > +=C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *addr =3D p;
> > +
> > +=C2=A0=C2=A0=C2=A0 return test_and_op_bit(or, NOP, nr, addr);
> > +}
> > +
> > +/**
> > + * test_and_clear_bit - Clear a bit and return its old value
> > + * @nr: Bit to clear
> > + * @addr: Address to count from
> > + */
> > +static inline int test_and_clear_bit(int nr, volatile void *p)
> > +{
> > +=C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *addr =3D p;
> > +
> > +=C2=A0=C2=A0=C2=A0 return test_and_op_bit(and, NOT, nr, addr);
> > +}
> > +
> > +/**
> > + * set_bit - Atomically set a bit in memory
> > + * @nr: the bit to set
> > + * @addr: the address to start counting from
> > + *
> > + * Note that @nr may be almost arbitrarily large; this function is
> > not
> > + * restricted to acting on a single-word quantity.
> > + */
> > +static inline void set_bit(int nr, volatile void *p)
> > +{
> > +=C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *addr =3D p;
> > +
> > +=C2=A0=C2=A0=C2=A0 op_bit(or, NOP, nr, addr);
> > +}
> > +
> > +/**
> > + * clear_bit - Clears a bit in memory
> > + * @nr: Bit to clear
> > + * @addr: Address to start counting from
> > + */
> > +static inline void clear_bit(int nr, volatile void *p)
> > +{
> > +=C2=A0=C2=A0=C2=A0 volatile bitop_uint_t *addr =3D p;
> > +
> > +=C2=A0=C2=A0=C2=A0 op_bit(and, NOT, nr, addr);
> > +}
> > +
> > +/**
> > + * test_and_change_bit - Toggle (change) a bit and return its old
> > value
> > + * @nr: Bit to change
> > + * @addr: Address to count from
> > + *
> > + * This operation is atomic and cannot be reordered.
> > + * It also implies a memory barrier.
> > + */
> > +static inline int test_and_change_bit(int nr, volatile unsigned
> > long *addr)
>=20
> unsigned long?
It should be volatile void *. Something that was copied from Linux
kernel and I missed to change.

~ Oleksii

>=20
> > +{
> > +	return test_and_op_bit(xor, NOP, nr, addr);
> > +}
>=20
> Perhaps better to move up a little, next to the other test_and-s?
>=20
> Also - nit: Hard tab used for indentation.
>=20
> > +#undef test_and_op_bit
> > +#undef __op_bit
>=20
> This no longer has any effect in this shape.
>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 16:04:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 16:04:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700961.1094851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPZV-00073P-JY; Thu, 04 Apr 2024 16:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700961.1094851; Thu, 04 Apr 2024 16: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 1rsPZV-00073I-Ff; Thu, 04 Apr 2024 16:04:13 +0000
Received: by outflank-mailman (input) for mailman id 700961;
 Thu, 04 Apr 2024 16:04:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsPZT-00073A-Ja
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 16:04:11 +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 f92fe8cd-f29c-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 18:04:10 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2d475b6609eso14826241fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 09:04:10 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 bi11-20020a05651c230b00b002d6daf3b41fsm2149634ljb.101.2024.04.04.09.04.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 09: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: f92fe8cd-f29c-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712246650; x=1712851450; 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=sRp72ST0r5viqEoUnEQbnSuMaBwnciDWYvvMAnVDde4=;
        b=IG96o2mfNgsxD3EPY7HCBn9DiAfj1RefpRU8QB5m6DSlsdznP2mSDh/Ls7xjcZMKGQ
         U67VW+/XwdbHl7jkImned5EAX01YpVR8uowB+2ptmei9CPnu9qdnXOyah9FY/P5gCNJk
         OuaQWYs4ew2TzLWm7eUGjQdtstsle2+Kdq+FhKBs25CZoUKxcc7x+XfYZjVvWqQaz2T0
         5Q9+PGwHWxES7I6nPiXcr/ex5D1DxOYTpTvWQGoOSMFDY2b5DEei9CvTTWgC9eD9mVs9
         EzPCqknBGfSBhYU1tPvhAF4OncjrnttoYVWUqskQjamZmJ1kVtAF5dpiKnKeUbkhyJ2F
         ICyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712246650; x=1712851450;
        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=sRp72ST0r5viqEoUnEQbnSuMaBwnciDWYvvMAnVDde4=;
        b=mxJUCReROQylRjE06h/F8ZxKirm6HE56/zADcmPdK5Dyj33gBGH7sxueGJM2XaLJas
         oG3buvtf7AQm5aiAVhCcp/3iRIaRx8p4oilSH6FW2qSJPA6lMmaD43wp8fpt/3g/0mTT
         Kf+0+aoQsjTb6roTOnogZ6pYnZERuuoIZQZp3X3kCkwFqj/rLK6ZXgdtFTb4gIdadcqk
         Ss041BJHXyR8LRThYyns+LRVeIzp4WjF+K74G5SkWCri6NkS/YWRvt5cPjcggoFhdYtp
         YftSm9Dwo0tboxhr903rzlkb3a4s6auUL/OZlVywtiHGMw0i1l+lgzzuau7/MDo8IRYq
         r0Sw==
X-Forwarded-Encrypted: i=1; AJvYcCVW7HF6v5/ZPS1YN1zsQ3Mxmk8BiFFpUnTmr/O5Xh+Ywyf9/LN9lmfwSAkMHMEG/EeKLYwT3cYIwVJHYiXHp7J5r0mC8DgaJ7Q+2Xz6OuI=
X-Gm-Message-State: AOJu0YxuSBKm6xR1/yxSMqnZ2PTTPpHTN5JWsHL2I2dQHkbFcGqnNrRk
	ekSxT+kAlJjWCzJPErfPUky6i7n9A5OqHBFZWWtszw3221LuKsE6
X-Google-Smtp-Source: AGHT+IFeL5/U3X2vCbxF6gn+CyfSrP8wnelIuveHNOoEycArVs+OjcfZO/AW2c7k5OhMojSVKrHxkg==
X-Received: by 2002:a2e:9d85:0:b0:2d4:668f:baac with SMTP id c5-20020a2e9d85000000b002d4668fbaacmr2372574ljj.28.1712246649996;
        Thu, 04 Apr 2024 09:04:09 -0700 (PDT)
Message-ID: <0d09adbb0ac52e6e20252ddd6e599ee15030fad6.camel@gmail.com>
Subject: Re: [PATCH v7 08/19] xen/riscv: introduce cmpxchg.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 18:04:08 +0200
In-Reply-To: <d315dda1-f89e-4028-9aa0-98b4e80c81fc@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <f0d836be5dbc04468a74cabf9b48a51921bf749b.1712137031.git.oleksii.kurochko@gmail.com>
	 <d315dda1-f89e-4028-9aa0-98b4e80c81fc@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-04 at 17:01 +0200, Jan Beulich wrote:
> On 03.04.2024 12:20, Oleksii Kurochko wrote:
> > +#define emulate_cmpxchg_1_2(ptr, old, new, lr_sfx, sc_sfx) \
> > +({ \
> > +=C2=A0=C2=A0=C2=A0 uint32_t *aligned_ptr; \
> > +=C2=A0=C2=A0=C2=A0 unsigned long alignment_mask =3D sizeof(*aligned_pt=
r) -
> > sizeof(*(ptr)); \
> > +=C2=A0=C2=A0=C2=A0 uint8_t new_val_bit =3D \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((unsigned long)(ptr) & ali=
gnment_mask) * BITS_PER_BYTE; \
> > +=C2=A0=C2=A0=C2=A0 unsigned long mask =3D \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GENMASK(((sizeof(*(ptr))) *=
 BITS_PER_BYTE) - 1, 0) <<
> > new_val_bit; \
> > +=C2=A0=C2=A0=C2=A0 unsigned int old_ =3D (old) << new_val_bit; \
> > +=C2=A0=C2=A0=C2=A0 unsigned int new_ =3D (new) << new_val_bit; \
> > +=C2=A0=C2=A0=C2=A0 unsigned int old_val; \
> > +=C2=A0=C2=A0=C2=A0 unsigned int scratch; \
> > +=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 aligned_ptr =3D (uint32_t *)((unsigned long)ptr &
> > ~alignment_mask); \
> > +=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 asm volatile ( \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "0: lr.w" lr_sfx " %[scratc=
h], %[ptr_]\n" \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "=C2=A0=C2=A0 and=C2=A0 %[o=
ld_val], %[scratch], %[mask]\n" \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "=C2=A0=C2=A0 bne=C2=A0 %[o=
ld_val], %z[old_], 1f\n" \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* the following line is an=
 equivalent to:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0=
=C2=A0 scratch =3D old_val & ~mask;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * And to elimanate on=
e ( likely register ) input it was
> > decided
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * to use:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0=
=C2=A0 scratch =3D old_val ^ scratch
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */ \
>=20
> I'm surprised this compiles without \-es inside the comment as well.
> Line
> splicing happens ahead of comment recognition as per the spec.
I'll add \-es inside the comment.

>=20
> Everything else okay-ish to me now, but I can't very well given an
> ack for
> a patch depending on things that haven't been committed yet and may
> never be.
Except 3 dependency ( which should be dropped as nothing anymore is
used now from this headers ):
   #include <asm/fence.h>
   #include <asm/io.h>
   #include <asm/system.h>

It seems everything else doesn't depending on other things, does it?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 16:12:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 16:12:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700964.1094861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPhs-00014r-DE; Thu, 04 Apr 2024 16:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700964.1094861; Thu, 04 Apr 2024 16: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 1rsPhs-00014k-9Z; Thu, 04 Apr 2024 16:12:52 +0000
Received: by outflank-mailman (input) for mailman id 700964;
 Thu, 04 Apr 2024 16:12: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsPhr-00014Z-VU
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 16:12:51 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d99fead-f29e-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 18:12:48 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4155819f710so8713185e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 09:12: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
 u5-20020a056000038500b00343491b9cbesm13342992wrf.41.2024.04.04.09.12.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 09:12: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: 2d99fead-f29e-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712247167; x=1712851967; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qM4cYW0T0tiSmDwMVOp/f0RwbJ5oUl5ykaGD8mxSEXc=;
        b=RwcMjaAwZniVU7iW+DpbwV6ta6PRjjwklUZdfVvvDjbHkCYJTCIOGM45kmVa8dbq7a
         tc57V3LY314aU8uRSJpdEhWz6lwteBR9nxZgJd6vfHP6+KqqerxNR7dU5iCtDxNTPkdE
         kBomR+d4OhHzEETO2GHtd31ywS0m9UNO2R1yq8zu5sGAySKaW8XzhYt0FtIgcHKIq8xQ
         szlbKQ+7QBXhhWVKIJLf+Aoe46fHM2DVqUtrfqfRKekE/yavBU8BNmsdYkZIeXzb0gNz
         mcI3f2NuGDHbN3YDW76Qnq5WnVnjmxBRFO8CuqZZHqh9JDaZFwmQAP1yh9van38blgGw
         v7yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712247167; x=1712851967;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qM4cYW0T0tiSmDwMVOp/f0RwbJ5oUl5ykaGD8mxSEXc=;
        b=IGjQnX+P9SZCLNtoLwX4tyAqq6DI9vZ1z0oeLX+GDXncMNOrrswSQmeoBEb+Ku2T5K
         0NE4k5brbV9wW4yVV/2qP7Q+9yQrXx/RPnX6PZbBhfFbivBlCP2egf5JTJOSMYpGUjGx
         recI7Dt/4rUPtz5UAkCmKk5Qj2cg6aXoflh3K6nHDAEtfXijwS+k0CTioq1PqEREykIp
         QNFkqFYD+XwpXF9mRwJXPSwpKThVzKDNYT10sr3U2Z1a+0NGLmSKb6foJ7MtfeOQhH/u
         PFnyVYFJBfB5RGJHtsHEvRqsewfXSFSIYETZ8jM0TgOE9rNi8TgUxvFqJMNtP0rpFvcm
         f0Ug==
X-Forwarded-Encrypted: i=1; AJvYcCW/U21+ORKjJS9JufP5w0sP7YsKKwvW/5xzLNENh+DtXI4If7laeV2HcG8IK+KeRQ+keis/L5FsD+V5ff2aDVHhSuNn/FFSE7t3OH1znNY=
X-Gm-Message-State: AOJu0YxRk2aenu+vINIuzzM+jfnfXgIsyA2Jrx3RdQXPlOa3DMx2wpgU
	oDFs0A/DYkYFm2ejEtaanLlrut/nXhe8TVDRzFxBow3XMdDwp4U7rDANaIMaDQ==
X-Google-Smtp-Source: AGHT+IErJHtDOLeKYnk38PI1Q7aMguR2PGYAuRH8gFU4ddRGyNpuo0qOT4mCLLqOLEThD2Jz2OjA3w==
X-Received: by 2002:a05:600c:4f48:b0:414:868d:1cbe with SMTP id m8-20020a05600c4f4800b00414868d1cbemr194277wmq.9.1712247167504;
        Thu, 04 Apr 2024 09:12:47 -0700 (PDT)
Message-ID: <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
Date: Thu, 4 Apr 2024 18:12:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.04.2024 17:45, Oleksii wrote:
> On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>> --- a/xen/include/xen/bitops.h
>>> +++ b/xen/include/xen/bitops.h
>>> @@ -65,10 +65,164 @@ static inline int generic_flsl(unsigned long
>>> x)
>>>   * scope
>>>   */
>>>  
>>> +#define BITOP_BITS_PER_WORD 32
>>> +/* typedef uint32_t bitop_uint_t; */
>>> +#define bitop_uint_t uint32_t
>>
>> So no arch overrides permitted anymore at all?
> Not really, I agree that it is ugly, but I expected that arch will use
> undef to override.

Which would be fine in principle, just that Misra wants us to avoid #undef-s
(iirc).

>>>  /*
>>>   * Find First Set bit.  Bits are labelled from 1.
>>>   */
>>
>> This context suggests there's a dependency on an uncommitted patch.
>> Nothing
>> above says so. I guess you have a remark in the cover letter, yet imo
>> that's
>> only partly helpful.
> Is it really a hard dependency?
> The current patch series really depends on ffs{l}() and that was
> mentioned in the cover letter ( I'll reword the cover letter to explain
> why exactly this dependency is needed ), but this patch isn't really
> depends on Andrew's patch series, where ffs{l}() are introduced.

If anyone acked this patch, and if it otherwise looked independent, it would
be a candidate for committing. Just that it won't apply for a non-obvious
reason.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 16:14:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 16:14:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700966.1094870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPjp-0001zG-NL; Thu, 04 Apr 2024 16:14:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700966.1094870; Thu, 04 Apr 2024 16:14:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPjp-0001z9-Ku; Thu, 04 Apr 2024 16:14:53 +0000
Received: by outflank-mailman (input) for mailman id 700966;
 Thu, 04 Apr 2024 16:14: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=stKz=LJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsPjo-0001yz-L0
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 16:14:52 +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 7737916e-f29e-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 18:14:51 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-343cfe8cae1so268081f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 09:14: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
 h9-20020adffa89000000b003435e1c0b78sm8142914wrr.28.2024.04.04.09.14.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 09: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: 7737916e-f29e-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712247291; x=1712852091; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3L1VNOnyIkJwaBlwPryLK6UfXUKoC6MtT7cgNiF9p2Y=;
        b=Di0P/Phn+pXQb9y6BcvS9Z1gnt02R2GGst4v0uoSLfmd8++NbwZ10ILfhJ9hQvadO4
         nZhE0GTxa34bguL7LObBMXmfhDm3JyIIWjc45ShCee6HF7I/LstAPzb0MFdRMxVP1hOT
         g3kc+Yg3vTlUnoHEudMsqkF6kSBe9BAQ8jHbcgAT0GhYCmIYfwKVuuTFEjW/C4d0vHNV
         06UwpjrucxSenx2A+zA4Iof9W5aQ4qVdLfgU4p81ABxkHB4EwSKq0zD3eEqyt6QEEq9A
         qzoVYdcB2pFxm5n2XNvmZG+kfD3Tc7/auHwCuC230TubIKygZ3H/n/vxCGiVZXVri+hH
         oxxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712247291; x=1712852091;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3L1VNOnyIkJwaBlwPryLK6UfXUKoC6MtT7cgNiF9p2Y=;
        b=gJQuggJR2Hg+HVIc8GYBL01KSiEqGLo1HELshRglQQ/5AzyyHYH69CXaGepdiZLVvf
         65S1tPOu3Nzp/FbXgHb35buJ9Ik7vwjZE5hg1oBpOKRwozHyakaBT29YHafiZvlySu/4
         gpPatQ9oklGD/p8HHojWzD0mu1Cem1iFmLayLnxGy4Fd0hWUmothCmiPpn667KzWDHg3
         VqMciAahXx5kQXMRP4FiU99W7AY/8NsLliJOBEfzzrF5Yc3zNQ86zuO9vocnhqywKFC4
         JDQwhhFq8F0qJh5SEgTuTuXD/4uM/xUr0umCIZ+Ca4ZP2/d9VmpweQ2dERMWkq2rpwwJ
         g9VA==
X-Forwarded-Encrypted: i=1; AJvYcCXWRrxBDVbccA6Wv71CIGcUnTOzywZ5HKpqN6Uqm/LP1eT9Jj67yQm+JeI5oaSgkqSbpz+a9bN+c8/VkRd69vEdl5u14isFlIg834m0fQk=
X-Gm-Message-State: AOJu0YyjJj0mTRYPLRiQE/BFg361USWcBfwSySDRFAPH/cYrlm3RaFnK
	D1ovwmddd5lq9HAmRayRuLJlSNRSYbEbjLq/bAxUfKVdyu7ku2vaIWeS+csUMw==
X-Google-Smtp-Source: AGHT+IEszoQzx/4WC1C1GZwb2lBmHxrm+uNYf1ZW1qXFcYHkcyBc+qua47J+mcdzlQW6E0GTRpN1vQ==
X-Received: by 2002:a5d:4007:0:b0:343:98da:ad8d with SMTP id n7-20020a5d4007000000b0034398daad8dmr45512wrp.46.1712247291137;
        Thu, 04 Apr 2024 09:14:51 -0700 (PDT)
Message-ID: <a315c515-8f6a-4222-999b-865f19e15a28@suse.com>
Date: Thu, 4 Apr 2024 18:14:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 08/19] xen/riscv: introduce cmpxchg.h
Content-Language: en-US
To: Oleksii <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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <f0d836be5dbc04468a74cabf9b48a51921bf749b.1712137031.git.oleksii.kurochko@gmail.com>
 <d315dda1-f89e-4028-9aa0-98b4e80c81fc@suse.com>
 <0d09adbb0ac52e6e20252ddd6e599ee15030fad6.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0d09adbb0ac52e6e20252ddd6e599ee15030fad6.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 18:04, Oleksii wrote:
> On Thu, 2024-04-04 at 17:01 +0200, Jan Beulich wrote:
>> On 03.04.2024 12:20, Oleksii Kurochko wrote:
>> Everything else okay-ish to me now, but I can't very well given an
>> ack for
>> a patch depending on things that haven't been committed yet and may
>> never be.
> Except 3 dependency ( which should be dropped as nothing anymore is
> used now from this headers ):
>    #include <asm/fence.h>
>    #include <asm/io.h>
>    #include <asm/system.h>
> 
> It seems everything else doesn't depending on other things, does it?

Didn't I see a STATIC_ASSERT_UNREACHABLE() somewhere?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 16:18:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 16:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700968.1094881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPmq-0002al-4Z; Thu, 04 Apr 2024 16:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700968.1094881; Thu, 04 Apr 2024 16: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 1rsPmq-0002ae-1i; Thu, 04 Apr 2024 16:18:00 +0000
Received: by outflank-mailman (input) for mailman id 700968;
 Thu, 04 Apr 2024 16:17: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=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsPmo-0002aW-Jw
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 16:17:58 +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 e63170e2-f29e-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 18:17:57 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-56e2ac1c16aso204016a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 09:17:57 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 eb16-20020a170907281000b00a4e0df9e793sm9229882ejc.136.2024.04.04.09.17.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 09:17:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e63170e2-f29e-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712247477; x=1712852277; 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=twi+8O5ZkrQaJP+HbnKBwLYddmJYFcEsJDGmOJbinhQ=;
        b=nVjUUEgw4FJp1g4vGQ7KMTcBKdpixD/nfl1wfY5AzMWf4Sjc1/P6TAjaVihl3/aNO+
         GZ06aW1GsFAriJpLq8WYnSl2ys5sAu4xW4RYzcAx85qmYDTs0FfyQyns1ygyeKXLFire
         G89mkAFD8Lqob6pc+1lKrpIxY2RgETYT8iDP4AKHb2uMfWm9nni5WOUGrLZogQDY656y
         b5rtPMVWK4DEnYDnvTvSOoVJkat9VuHgg5Z+HAR/vUhuxhKknZQs5Uy/GCQbprb5ty1d
         2tM6LvjtsmZi9Bzky617sWbFzvWksxhvEpdYm23XYIhs/Ko8rkKOkLultJCKpJtLBL11
         8rVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712247477; x=1712852277;
        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=twi+8O5ZkrQaJP+HbnKBwLYddmJYFcEsJDGmOJbinhQ=;
        b=fjvETcDo0NC8vswqwgS3GrZR8x47KM+QQ2s743Q6X0ve4S4Dn47XbKCfMqVJ1JSx9u
         MuISB2gA0MmL2+HnbIobWGMraUXsDVUlsrzvvZaDFeeQGJ+rAnjjJ2e/oVbblN9Cuzko
         cRHbmLuRynAWZ0arhNgU8V8zxsFwPkzSipwiZteQXYIsHwhCrUpPr1zBU1xw5/DVGgQl
         8tkBJRBZ7vBXLGmmIQqTIhv6uXI94UGMFMATgyMGcBx7sCsUs2h5u5XTocz3VrxJdD0A
         E7OnvgYKyPOXWZhkNvfEmuX+N3j3CsUWr91jvm3lGoi11sJ7W4YIAlKpr6TFY7iJFofK
         JQMg==
X-Forwarded-Encrypted: i=1; AJvYcCWsvY2CkCH9mGGm/p9dNIP/FXCjEKViMck95swWy0+vD4+aoopIIitWHoSiUeaR7P+sR9hbrG/zQUd2YAFswFc6fZ+egxhjSk4czJeSm7U=
X-Gm-Message-State: AOJu0YyrHsKW9PRDIITyv6Gc/vf1Z83WEVPM6G3HjW/4IrqNS5x2DtdJ
	urf1/ZGsFGkL3rMoZ2DFGm5XthQHF1cdw9N8RBqb1tWbISPWdX/O
X-Google-Smtp-Source: AGHT+IHriF/YicRkjM+32K2glLgcTIvw0jnMxJHHcm6v39FdTNv3A44lB1RFHoJoBqII+Jj8gmGm9A==
X-Received: by 2002:a17:907:3e8a:b0:a4e:cd5c:da72 with SMTP id hs10-20020a1709073e8a00b00a4ecd5cda72mr2252745ejc.63.1712247475101;
        Thu, 04 Apr 2024 09:17:55 -0700 (PDT)
Message-ID: <9ac4b0f3171c6b714092d04e07c2e16add16c86a.camel@gmail.com>
Subject: Re: [PATCH v7 03/19] xen/riscv: introduce extenstion support check
 by compiler
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Alistair Francis
 <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>,  xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 18:17:54 +0200
In-Reply-To: <3095e62f-583c-414d-92d9-9b09b6959251@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
	 <bda70742-04b7-4bab-8cdd-6b5a3d45dc3c@suse.com>
	 <9945cb144f5c1b95202646135b88891537230e17.camel@gmail.com>
	 <3095e62f-583c-414d-92d9-9b09b6959251@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-04 at 17:43 +0200, Jan Beulich wrote:
> On 04.04.2024 17:18, Oleksii wrote:
> > On Thu, 2024-04-04 at 12:07 +0200, Jan Beulich wrote:
> > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > --- a/xen/arch/riscv/arch.mk
> > > > +++ b/xen/arch/riscv/arch.mk
> > > > @@ -3,16 +3,27 @@
> > > > =C2=A0
> > > > =C2=A0$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
> > > > =C2=A0
> > > > -CFLAGS-$(CONFIG_RISCV_64) +=3D -mabi=3Dlp64
> > > > +riscv-abi-$(CONFIG_RISCV_32) :=3D -mabi=3Dilp32
> > > > +riscv-abi-$(CONFIG_RISCV_64) :=3D -mabi=3Dlp64
> > > > =C2=A0
> > > > =C2=A0riscv-march-$(CONFIG_RISCV_ISA_RV64G) :=3D rv64g
> > > > =C2=A0riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 :=3D $(riscv-march-y)c
> > > > =C2=A0
> > > > +riscv-generic-flags :=3D $(riscv-abi-y) -march=3D$(riscv-march-y)
> > > > +
> > > > +zbb :=3D $(call as-insn,$(CC) $(riscv-generic-
> > > > flags)_zbb,"",_zbb)
> > >=20
> > > While committing another question popped up: Why "" (i.e. no
> > > insn)
> > > here, ...
> > >=20
> > > > +zihintpause :=3D $(call as-insn,\
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 $(CC) $(riscv-generic-
> > > > flags)_zihintpause,"pause",_zihintpause)
> > >=20
> > > ... but "pause" here?
> >=20
> > In the case of the Zbb extension, we don't check for a specific
> > instruction, but with the Zihintpause, the idea was to verify if
> > the
> > pause instruction is supported or not.
>=20
> And why's this verification relevant here, but not for Zbb?
It is not relevant and can be dropped. I'll do a follow-up patch.

~ Oleksii

>=20
> Jan
>=20
> > However, in both checks, there
> > might be no instruction as an argument of as-insn.
> >=20
> > ~ Oleksii
>=20



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 16:25:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 16:25:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700972.1094892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPtb-0005He-SK; Thu, 04 Apr 2024 16:24:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700972.1094892; Thu, 04 Apr 2024 16: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 1rsPtb-0005HX-O9; Thu, 04 Apr 2024 16:24:59 +0000
Received: by outflank-mailman (input) for mailman id 700972;
 Thu, 04 Apr 2024 16: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=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsPta-0005HP-Rh
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 16:24:58 +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 e0a8c527-f29f-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 18:24:57 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-516d0161e13so776059e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 09:24:57 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 bp27-20020a056512159b00b00516a8ecaeb2sm1271649lfb.278.2024.04.04.09.24.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 09: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: e0a8c527-f29f-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712247897; x=1712852697; 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=3VfZKIbq1vx5oa1c0+TsaQ1iY58oum9l+yO2/PDevco=;
        b=FKMuYnrSA8wN8YApcPTuTbYXHVS1E44zkwKWgeJaKy21olLShRb/HEnpUPXdCJtnN4
         jOO7NX9gMWFX7o5Y7qc0I5P42mRdw2Fi4qyCtGrdSpPdf4AWOIg/kn/Xhm7MSivGanbS
         qBdQzN6sISl/YjEkDBrhWLf0qxEJrCyKuUBbPd6Li9vDuAfHaFtSow79XwZ4HYcWbi7L
         +LEg2OLmmO8PfEGEf0tb4SlnSVoUn9sq7CEEM/VXPl9pc4k56tSJsrB/f1An56BeS9aa
         aVJ+k1es84jXQwoR0SvC8Ced9hUQkuzff0e5AndDF/FklIy0lJG1cYoMY0vhfD75kphY
         pOzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712247897; x=1712852697;
        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=3VfZKIbq1vx5oa1c0+TsaQ1iY58oum9l+yO2/PDevco=;
        b=L9jEf9RaCwQ+HQy6vyXnVBYAqvdfoBzcO6zaE6UJZtmAgRhIEp5Sjh2XJi1YXLgkf0
         FyudBe8rLm0RaH96OHBfLDTt2nH9FXlNRtU19PZOj7imo+ZDJLapgkzznM8q4QT7BFUN
         tG7bTfpub/jzXTQqtUQhNYY5dH+iifAs8OXKBvVi6jw9yEVoOEmc2QAJxo37KpOXiQ2c
         TcWlXBpppenyz1JhAAVIAR3Z+z1E3woVm1qZlev3LttDgZVsHENkSTqKgKMDH9eTiFwd
         O1oCKGFKaUgGqHUdTVmzr9rqVqunVzhx1zMEnpTn6xh/mPw6nAkmTvpSEWZkPv4t6iKK
         QSaw==
X-Forwarded-Encrypted: i=1; AJvYcCUc5sBkK1ejBgJQGltxg+vaMs7m4GAZrQ6475N2kjn5XD8ZM/HnhbrLVJr+5SIX1cShXkzlLDshw7fKYVAy7jIMeWAVzPzA0qd0RE08lmU=
X-Gm-Message-State: AOJu0YwaH1gvpPs6idMzk+ajaJmSYw65rrNSILpfURIqhkFgDIj3+oXl
	T2VCugap2n1DMBN6nNyHus1lrYjHhGF0KhtrrRwc+a8vufLgexOz
X-Google-Smtp-Source: AGHT+IHFZ8U4TDTDrMkMuffVr1Zwj7+AvvLMZPZqYU11Sk361nvCLJ44q1sdEmyOiAycDkfOog69qA==
X-Received: by 2002:ac2:4314:0:b0:515:bbf7:bddd with SMTP id l20-20020ac24314000000b00515bbf7bdddmr2223497lfh.20.1712247897132;
        Thu, 04 Apr 2024 09:24:57 -0700 (PDT)
Message-ID: <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall
 <ross.lagerwall@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>,  Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 18:24:55 +0200
In-Reply-To: <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
	 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
	 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
	 <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-04 at 18:12 +0200, Jan Beulich wrote:
> On 04.04.2024 17:45, Oleksii wrote:
> > On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
> > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > --- a/xen/include/xen/bitops.h
> > > > +++ b/xen/include/xen/bitops.h
> > > > @@ -65,10 +65,164 @@ static inline int generic_flsl(unsigned
> > > > long
> > > > x)
> > > > =C2=A0 * scope
> > > > =C2=A0 */
> > > > =C2=A0
> > > > +#define BITOP_BITS_PER_WORD 32
> > > > +/* typedef uint32_t bitop_uint_t; */
> > > > +#define bitop_uint_t uint32_t
> > >=20
> > > So no arch overrides permitted anymore at all?
> > Not really, I agree that it is ugly, but I expected that arch will
> > use
> > undef to override.
>=20
> Which would be fine in principle, just that Misra wants us to avoid
> #undef-s
> (iirc).
Could you please give me a recommendation how to do that better?

The reason why I put this defintions before inclusion of asm/bitops.h
as RISC-V specific code uses these definitions inside it, so they
should be defined before asm/bitops.h; other option is to define these
definitions inside asm/bitops.h for each architecture.

>=20
> > > > =C2=A0/*
> > > > =C2=A0 * Find First Set bit.=C2=A0 Bits are labelled from 1.
> > > > =C2=A0 */
> > >=20
> > > This context suggests there's a dependency on an uncommitted
> > > patch.
> > > Nothing
> > > above says so. I guess you have a remark in the cover letter, yet
> > > imo
> > > that's
> > > only partly helpful.
> > Is it really a hard dependency?
> > The current patch series really depends on ffs{l}() and that was
> > mentioned in the cover letter ( I'll reword the cover letter to
> > explain
> > why exactly this dependency is needed ), but this patch isn't
> > really
> > depends on Andrew's patch series, where ffs{l}() are introduced.
>=20
> If anyone acked this patch, and if it otherwise looked independent,
> it would
> be a candidate for committing. Just that it won't apply for a non-
> obvious
> reason.
I didn't think about the it won't apply. In this I have to definitely
mention this moment in cover letter. Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 16:28:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 16:28:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700976.1094901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPxG-00060y-EY; Thu, 04 Apr 2024 16:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700976.1094901; Thu, 04 Apr 2024 16:28:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsPxG-00060r-Bu; Thu, 04 Apr 2024 16:28:46 +0000
Received: by outflank-mailman (input) for mailman id 700976;
 Thu, 04 Apr 2024 16:28: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=LwOm=LJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsPxE-00060l-PS
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 16:28:44 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 670b1568-f2a0-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 18:28:43 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-516c97ddcd1so1164155e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 09:28:43 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f21-20020ac251b5000000b00516d2184388sm41484lfk.177.2024.04.04.09.28.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 04 Apr 2024 09: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: 670b1568-f2a0-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712248123; x=1712852923; 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=/hrLdDBDfokovgDCPPFYLacpfD+nXTpae+Ut4iBcWsM=;
        b=GYFshrhzDflB7V9xrS8iRFbpGF5C/Lfj7Pe+z8ef3IXNjOT2qNiM7jQTI83J5VOvdT
         yTnjrBequ6Yt/4TSPYb2D/eFApiftlYZPMjqH1YTSzVdjoepOUiwmadsqR3mWfiLG4Ds
         nRcmypOyaVCfKzVZxy39nEQJ5XbNFtT7ER4D5uoW8T2gwu258aqajYa3YE8bUjkl9WF0
         pdgriKp9jlzbg5IWSnjFyNAHGPa6giYCCV2JxVEVaPJ7AtdpiQCGvp5gvXHmkmhU24P8
         wDFSfS6B4wqVNjM6Eied/QqMS17j6GslSBTJpUir/F4jw0Z+xOy4TGZY23YkAPnlun2O
         UDDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712248123; x=1712852923;
        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=/hrLdDBDfokovgDCPPFYLacpfD+nXTpae+Ut4iBcWsM=;
        b=Zt6D1GgksZeFvj1+bwFrO4rCgofVd9lpH8/VP853bVaItpXo30MXaxbQTanOCV+V7d
         UDdqC100bpdQGJs3JtVEssepGFV754odRG2tVil1VRTECKg4+7LGjrUekjbWjcSxCBzN
         OY8eycZ+J2tk3ldAg7yxiHGybKr1kb1UJYZLiHs4LrPG/mkFzN//x2XzKMvIp9kEDQzL
         kaZfMyLxOPlS2yPbyQ9BBdGhXxS2ZY/Nm1iWPNoRzi/fuG+IQbmf6nNi0PCxuPXPctU8
         92tidpxKE+n+eKitkXnnOTEOXLHyHSYujONMdSzko92cyg8x0cjIy+6NNfXs7+di3+LQ
         Y8nQ==
X-Forwarded-Encrypted: i=1; AJvYcCWkSceh516zKs0yYcPELaM8NreqV3EZTwsz5XVusvgrCnEDW26RfNgY/Wjl9RcZ7M/Yj4t/xrAOTSdE1syV+Nsnt4jDO9+kF72Mbw2egP4=
X-Gm-Message-State: AOJu0Yz+SeGS9gzs608mlpwViXSAQugtVGoTkEZsP4YRgMOKY0z7Qx9j
	cuAZu2qZ9EGSLGLjXPuSL5VbRDask33NafSStUxhci77erxmmAvC
X-Google-Smtp-Source: AGHT+IFKSO/IhKaCIeeQIxMzEP3LTYGmIk4il8HQuvKpVyUGvIDiTOVhrFAOw4vPm/P67dB2NrZIeQ==
X-Received: by 2002:ac2:5150:0:b0:516:a32e:ab54 with SMTP id q16-20020ac25150000000b00516a32eab54mr1997759lfd.69.1712248122689;
        Thu, 04 Apr 2024 09:28:42 -0700 (PDT)
Message-ID: <a8103dfc03990a48054878bb78db90d3077881f9.camel@gmail.com>
Subject: Re: [PATCH v7 08/19] xen/riscv: introduce cmpxchg.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 04 Apr 2024 18:28:41 +0200
In-Reply-To: <a315c515-8f6a-4222-999b-865f19e15a28@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <f0d836be5dbc04468a74cabf9b48a51921bf749b.1712137031.git.oleksii.kurochko@gmail.com>
	 <d315dda1-f89e-4028-9aa0-98b4e80c81fc@suse.com>
	 <0d09adbb0ac52e6e20252ddd6e599ee15030fad6.camel@gmail.com>
	 <a315c515-8f6a-4222-999b-865f19e15a28@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-04 at 18:14 +0200, Jan Beulich wrote:
> On 04.04.2024 18:04, Oleksii wrote:
> > On Thu, 2024-04-04 at 17:01 +0200, Jan Beulich wrote:
> > > On 03.04.2024 12:20, Oleksii Kurochko wrote:
> > > Everything else okay-ish to me now, but I can't very well given
> > > an
> > > ack for
> > > a patch depending on things that haven't been committed yet and
> > > may
> > > never be.
> > Except 3 dependency ( which should be dropped as nothing anymore is
> > used now from this headers ):
> > =C2=A0=C2=A0 #include <asm/fence.h>
> > =C2=A0=C2=A0 #include <asm/io.h>
> > =C2=A0=C2=A0 #include <asm/system.h>
> >=20
> > It seems everything else doesn't depending on other things, does
> > it?
>=20
> Didn't I see a STATIC_ASSERT_UNREACHABLE() somewhere?
Sure, forgot about this macros. In this case, I think it would be
better to return back:

   extern void __bad_{xchg,...)(...);
  =20
   ....
   default:
       __bad_xchg(ptr, size), ret =3D 0;

And do a follow-up patch when it will be committed.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 16:34:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 16:34:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700980.1094910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsQ2Y-0008VG-W1; Thu, 04 Apr 2024 16:34:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700980.1094910; Thu, 04 Apr 2024 16:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsQ2Y-0008V9-T0; Thu, 04 Apr 2024 16:34:14 +0000
Received: by outflank-mailman (input) for mailman id 700980;
 Thu, 04 Apr 2024 16:34: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 1rsQ2X-0008Uz-NO; Thu, 04 Apr 2024 16:34: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 1rsQ2X-0002JF-FN; Thu, 04 Apr 2024 16:34: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 1rsQ2X-0007AU-3B; Thu, 04 Apr 2024 16:34:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsQ2X-0008Jp-2h; Thu, 04 Apr 2024 16:34:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fVvxRA5eomonLKPkPa1zGl85VqH6bZsOS0xS5x0vbCA=; b=IhcCXMR93ZdVufRvXtlZdpTm4+
	H71hAfAjuu0iD/Nz9mzHqCPR+57nyrHQl5pXOOmCO+rE16Gxod7fpoPSjlwjp3tdi0rEPhWTyoNjz
	G0LhZPwoIGoSJxOkeNn+s6kopdckE6UFrj6B435pL7+u73IWI4u1dMaIHi1mwJmC59Vo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185239-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185239: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6fb3cc05dc8742ddbe7ea1038dd0111aed55e799
X-Osstest-Versions-That:
    ovmf=b3871141136ac643332587f33f2e4fa78d72eb07
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 16:34:13 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6fb3cc05dc8742ddbe7ea1038dd0111aed55e799
baseline version:
 ovmf                 b3871141136ac643332587f33f2e4fa78d72eb07

Last test of basis   185223  2024-04-03 02:42:59 Z    1 days
Testing same since   185239  2024-04-04 14:44:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  abnchang <abnchang@amd.com>
  Abner Chang <abner.chang@amd.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
   b387114113..6fb3cc05dc  6fb3cc05dc8742ddbe7ea1038dd0111aed55e799 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 21:01:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 21:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.700995.1094950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUCw-00088k-QZ; Thu, 04 Apr 2024 21:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 700995.1094950; Thu, 04 Apr 2024 21:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUCw-00088d-M7; Thu, 04 Apr 2024 21:01:14 +0000
Received: by outflank-mailman (input) for mailman id 700995;
 Thu, 04 Apr 2024 21:01: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 1rsUCv-00088T-R3; Thu, 04 Apr 2024 21:01: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 1rsUCv-0007YN-Pb; Thu, 04 Apr 2024 21:01: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 1rsUCv-0005HD-A4; Thu, 04 Apr 2024 21:01:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsUCv-0005Mp-9b; Thu, 04 Apr 2024 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OKA734k5P1cyArZSYJVM7kmq9f4EHZdpc/ftlpPHhOY=; b=u/9xD80fHoUimO1NsDm1qTxwtf
	3hx4PSi3pWOsqIzgvjO3N/+4wdjekZQa0maJDYA4zqtHd5KTLVFVLLbbiJhDHZRIdNPIgb4yECCyR
	BQbV7G25KeziwzYejLC+bVw3jXQ8NqjHIWsUOqMW6bOAliMd3+Ecz0sdh0tdc63ddTUM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185236-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185236: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-credit1:guest-start.2: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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-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
    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=6117179dd99958e4ef2687617d12c9b15bdbae24
X-Osstest-Versions-That:
    xen=ac682fbac14a4286645810c02f60a2ba844b6c0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 04 Apr 2024 21:01:13 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 185240-retest
 test-armhf-armhf-xl-credit1  19 guest-start.2       fail pass in 185240-retest

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

Last test of basis   185229  2024-04-03 17:11:21 Z    1 days
Testing same since   185236  2024-04-04 05:42:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Jens Wiklander <jens.wiklander@linaro.org>
  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                                  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-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
   ac682fbac1..6117179dd9  6117179dd99958e4ef2687617d12c9b15bdbae24 -> master


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 21:25:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 21:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701002.1094979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUaU-0003Vq-7J; Thu, 04 Apr 2024 21:25:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701002.1094979; Thu, 04 Apr 2024 21: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 1rsUaU-0003Vj-4J; Thu, 04 Apr 2024 21:25:34 +0000
Received: by outflank-mailman (input) for mailman id 701002;
 Thu, 04 Apr 2024 21:25:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8Y/v=LJ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rsUaS-00032K-7b
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 21:25:32 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2409::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dcb50877-f2c9-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 23:25:31 +0200 (CEST)
Received: from CH0PR03CA0257.namprd03.prod.outlook.com (2603:10b6:610:e5::22)
 by PH8PR12MB6916.namprd12.prod.outlook.com (2603:10b6:510:1bd::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 21:25:27 +0000
Received: from CH2PEPF0000013B.namprd02.prod.outlook.com
 (2603:10b6:610:e5:cafe::ae) by CH0PR03CA0257.outlook.office365.com
 (2603:10b6:610:e5::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.20 via Frontend
 Transport; Thu, 4 Apr 2024 21:25:27 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF0000013B.mail.protection.outlook.com (10.167.244.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 21:25:26 +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.35; Thu, 4 Apr
 2024 16:25:25 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 4 Apr 2024 16:25: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: dcb50877-f2c9-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=au+p+STwunlErEJ5NpOuBkgLS3e6xBtRGuBJ1BtjfmxSD9Quj36Sqqi20uqpHesjG/K7i62UDOlL7C2+dA9Hq494T4pml+pVSFIwh2PW8P37P1OW5EbR7oYQL5lGjJLTNetfCqw2FGBuCoqU9WExFsjV7sF1Vmf/QEdh7D++qP8ZacpEGlV4FgY7LklgMl/tkMx+ClwKtPGzjb1FiW0FKGQ7GxE3zahs12xvY8IOqdAYx+201OG/zMUYq1x7Dr0FKX/j9JkRbj3B+aG0MMbbsieOMmo4/oCC7sLTA5cqcWC0UB2KtxeuVcy47zfw7CARuFMnsGY13LLYuV/lQl3IGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oUDfRVFRIPG004c/OhPMVoFuW636IJD+0LvgIIfh8a8=;
 b=M2SaX8HWL2VLRcPMeJphWuBoCgYRysj2gUyhw9mIKmWRtTtpIVKVZRPTzITZV0mkQGTlSqbrZSdyQu8GTVnYk11JmFevUBm0n8EvYLyX4wY3SRWBt6S3JxKAP8scr1hzAoTOnDmU87w61dzwJND1o7jD4yjrA1Unq4c1aG2U+lfQ0dKmEfuNEsKV0bocTjKg2MlKSoqis5e99LBmsmU/PqvwGidg2d5QGeeK5gqHDbp/dc9iXqlZKMceMIIeeooGrEEACAGkQyxp/bKA1mCobzCn+pgaf5R8fKW+ekCjKG5jF0D2vkfXO695lH1EJhtpGKn9GKt9xJHa9b4Mzpb72Q==
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=oUDfRVFRIPG004c/OhPMVoFuW636IJD+0LvgIIfh8a8=;
 b=1UZJRfvvuuSEzrrNjT9XVIdgMDXxfeP8C/HiX6zevH6haZxjBogulwD1xOo+Bsm6bmUa/ypQ6Sxn9xEzQ+SDPl/+9OKsO3Ni/bnPNPU2BwQk5Zg48deH0bCfKo8QzYuo77gU06yNKqIOfsWv+v4N+OG61Kox6ShwWES014Eghn4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>
Subject: [PATCH v7 2/2] x86/PVH: Support relocatable dom0 kernels
Date: Thu, 4 Apr 2024 17:25:19 -0400
Message-ID: <20240404212519.16401-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240404212519.16401-1-jason.andryuk@amd.com>
References: <20240404212519.16401-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: CH2PEPF0000013B:EE_|PH8PR12MB6916:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b0f782e-b021-48d0-f881-08dc54edbf33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0iJrE76Des4ykMiKiTLV/n08Q1nlNly0mpWIv7BNx5vcOhArd8wpcAZVpX4g2LF/3Da1qUlFFP/jWZMOG50Ihi5QHDu25vKM8MW7krQKrS7v8rz7f/MKcPAXQ+4NxTC0ajT8AvpoFLBzRob1f2WOLhbPy98b2ApbQYVwwHpczF83jvCfiiOGtTijMsaDOWqRCfEgdgho1i51W4IrBVW/Vy66q5SeMS4OH+h9zfmrvx59HHLL0YPZU0doFMlPkYMsK5je2biqbi2pQV1qfU5hCfcRcP37zsMM8A/V7KOAvo6lrW+Ao+vHKgOPktqB2D0gAThxiHQ1J1fGzMOajMXdd1Jf/2sxWEZtxtsq4kCtAhesEbBWN5Blp4+hqibY83Ywz+/JsRBI5/J8UKB6GLvGEdM5XOvcTRTfykKC5faDotE3PaND/hT+VtWdf51bmTzzRdlh2V+9OoMpqLPSiEydWouKMnWwaLodGWtUeCzC/quYAYho06gmRLxK8g83XNpljuUh0lBde9ZDcLMaWzRIGpESgd+tggA4o4hIpNIx3Ugun52kqCcCDekhoTnylWcLI3Fg3m7s2GPJuDuSm6pizja7Nh/xACHGIDR1GtNcsqg2Pc87Ky3P7rOLDcPWpCsZp6MjCxj64S5CZ44cllKnpOqmWKnYcldhehopCwIoqnkiQKcCFUhRl2iEHRdGNfEUbu9d3+SjOQmMidqLRpHrWr48W67SLSORYDDTRqoBXx4rXPRPSQFwOuPvls5LA5wA
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 21:25:26.2854
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b0f782e-b021-48d0-f881-08dc54edbf33
X-MS-Exchange-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:
	CH2PEPF0000013B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6916

Xen tries to load a PVH dom0 kernel at the fixed guest physical address
from the elf headers.  For Linux, this defaults to 0x1000000 (16MB), but
it can be configured.

Unfortunately there exist firmwares that have reserved regions at this
address, so Xen fails to load the dom0 kernel since it's not RAM.

The PVH entry code is not relocatable - it loads from absolute
addresses, which fail when the kernel is loaded at a different address.
With a suitably modified kernel, a reloctable entry point is possible.

Add XEN_ELFNOTE_PHYS32_RELOC which specifies optional alignment,
minimum, and maximum addresses needed for the kernel.  The presence of
the NOTE indicates the kernel supports a relocatable entry path.

Change the loading to check for an acceptable load address.  If the
kernel is relocatable, support finding an alternate load address.

The primary motivation for an explicit align field is that Linux has a
configurable CONFIG_PHYSICAL_ALIGN field.  This value is present in the
bzImage setup header, but not the ELF program headers p_align, which
report 2MB even when CONFIG_PHYSICAL_ALIGN is greater.  Since a kernel
is only considered relocatable if the PHYS32_RELOC elf note is present,
the alignment contraints can just be specified within the note instead
of searching for an alignment value via a heuristic.

Load alignment uses the PHYS32_RELOC note value if specified.
Otherwise, the maxmum ELF PHDR p_align value is selected if greater than
or equal to PAGE_SIZE.  Finally, the fallback default is 2MB.

libelf-private.h includes common-macros.h to satisfy the fuzzer build.

Link: https://gitlab.com/xen-project/xen/-/issues/180
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
ELF Note printing looks like:
(XEN) ELF: note: PHYS32_RELOC align: 0x200000 min: 0x1000000 max: 0x3fffffff

v2:
Use elfnote for min, max & align - use 64bit values.
Print original and relocated memory addresses
Use check_and_adjust_load_address() name
Return relocated base instead of offset
Use PAGE_ALIGN
Don't load above max_phys (expected to be 4GB in kernel elf note)
Use single line comments
Exit check_load_address loop earlier
Add __init to find_kernel_memory()

v3:
Remove kernel_start/end page rounding
Change loop comment to rely on a sorted memory map.
Reorder E820_RAM check first
Use %p for dest_base
Use PRIpaddr
Use 32bit phys_min/max/align
Consolidate to if ( x || y ) continue
Use max_t
Add parms->phys_reloc
Use common "%pd kernel: " prefix for messages
Re-order phys_entry assignment
Print range ends inclusively
Remove extra "Unable to load kernel" message
s/PVH_RELOCATION/PHYS32_RELOC/
Make PHYS32_RELOC contents optional
Use 2MB default alignment
Update ELF Note comment
Update XEN_ELFNOTE_MAX

v4:
Cast dest_base to uintptr_t
Use local start variable
Mention e820 requiring adjacent entries merged
Remove extra whitespace
Re-word elfnote comment & mention x86
Use ELFNOTE_NAME
Return -ENOSPC
Use ! instead of == 0
Check kend - 1 to avoid off by one
libelf: Use MB/GB() to define the size.
Use ARCH_PHYS_* defines

v5:
Place kernel in higher memory addresses
Remove stray semicolons
ELFNOTE_NAME comment about newline
Make PHYS32_RELOC element order align, min, max
Re-word PHYS32_RELOC comment
Move phys_align next to other bool variables

v6:
Select alignment from, in order, Note, PHDRs, then default

v7:
Re-format phys_entry assignment
Mention align selection in PHYS_RELOC comment
Use palign >= PAGE_SIZE
---
 xen/arch/x86/hvm/dom0_build.c      | 108 +++++++++++++++++++++++++++++
 xen/common/libelf/libelf-dominfo.c |  35 ++++++++++
 xen/common/libelf/libelf-private.h |   1 +
 xen/include/public/elfnote.h       |  20 +++++-
 xen/include/xen/libelf.h           |   4 ++
 5 files changed, 167 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 0ceda4140b..d158f4d241 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -537,6 +537,111 @@ static paddr_t __init find_memory(
     return INVALID_PADDR;
 }
 
+static bool __init check_load_address(
+    const struct domain *d, const struct elf_binary *elf)
+{
+    paddr_t kernel_start = (uintptr_t)elf->dest_base;
+    paddr_t kernel_end = kernel_start + elf->dest_size;
+    unsigned int i;
+
+    /* Relies on a sorted memory map with adjacent entries merged. */
+    for ( i = 0; i < d->arch.nr_e820; i++ )
+    {
+        paddr_t start = d->arch.e820[i].addr;
+        paddr_t end = start + d->arch.e820[i].size;
+
+        if ( start >= kernel_end )
+            return false;
+
+        if ( d->arch.e820[i].type == E820_RAM &&
+             start <= kernel_start &&
+             end >= kernel_end )
+            return true;
+    }
+
+    return false;
+}
+
+/* Find an e820 RAM region that fits the kernel at a suitable alignment. */
+static paddr_t __init find_kernel_memory(
+    const struct domain *d, struct elf_binary *elf,
+    const struct elf_dom_parms *parms)
+{
+    paddr_t kernel_size = elf->dest_size;
+    unsigned int align;
+    int i;
+
+    if ( parms->phys_align != UNSET_ADDR32 )
+        align = parms->phys_align;
+    else if ( elf->palign >= PAGE_SIZE )
+        align = elf->palign;
+    else
+        align = MB(2);
+
+    /* Search backwards to find the highest address. */
+    for ( i = d->arch.nr_e820 - 1; i >= 0 ; i-- )
+    {
+        paddr_t start = d->arch.e820[i].addr;
+        paddr_t end = start + d->arch.e820[i].size;
+        paddr_t kstart, kend;
+
+        if ( d->arch.e820[i].type != E820_RAM ||
+             d->arch.e820[i].size < kernel_size )
+            continue;
+
+        if ( start > parms->phys_max )
+            continue;
+
+        if ( end - 1 > parms->phys_max )
+            end = parms->phys_max + 1;
+
+        kstart = (end - kernel_size) & ~(align - 1);
+        kend = kstart + kernel_size;
+
+        if ( kstart < parms->phys_min )
+            return 0;
+
+        if ( kstart >= start && kend <= end )
+            return kstart;
+    }
+
+    return 0;
+}
+
+/* Check the kernel load address, and adjust if necessary and possible. */
+static bool __init check_and_adjust_load_address(
+    const struct domain *d, struct elf_binary *elf, struct elf_dom_parms *parms)
+{
+    paddr_t reloc_base;
+
+    if ( check_load_address(d, elf) )
+        return true;
+
+    if ( !parms->phys_reloc )
+    {
+        printk("%pd kernel: Address conflict and not relocatable\n", d);
+        return false;
+    }
+
+    reloc_base = find_kernel_memory(d, elf, parms);
+    if ( !reloc_base )
+    {
+        printk("%pd kernel: Failed find a load address\n", d);
+        return false;
+    }
+
+    if ( opt_dom0_verbose )
+        printk("%pd kernel: Moving [%p, %p] -> [%"PRIpaddr", %"PRIpaddr"]\n", d,
+               elf->dest_base, elf->dest_base + elf->dest_size - 1,
+               reloc_base, reloc_base + elf->dest_size - 1);
+
+    parms->phys_entry =
+        reloc_base + (parms->phys_entry - (uintptr_t)elf->dest_base);
+    elf->dest_base = (char *)reloc_base;
+
+    return true;
+}
+
 static int __init pvh_load_kernel(struct domain *d, const module_t *image,
                                   unsigned long image_headroom,
                                   module_t *initrd, void *image_base,
@@ -585,6 +690,9 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image,
     elf.dest_base = (void *)(parms.virt_kstart - parms.virt_base);
     elf.dest_size = parms.virt_kend - parms.virt_kstart;
 
+    if ( !check_and_adjust_load_address(d, &elf, &parms) )
+        return -ENOSPC;
+
     elf_set_vcpu(&elf, v);
     rc = elf_load_binary(&elf);
     if ( rc < 0 )
diff --git a/xen/common/libelf/libelf-dominfo.c b/xen/common/libelf/libelf-dominfo.c
index 0cdb419b8a..260294d0ed 100644
--- a/xen/common/libelf/libelf-dominfo.c
+++ b/xen/common/libelf/libelf-dominfo.c
@@ -17,6 +17,14 @@
 
 #include "libelf-private.h"
 
+#if defined(__i386__) || defined(__x86_64__)
+#define ARCH_PHYS_MIN_DEFAULT   0
+#define ARCH_PHYS_MAX_DEFAULT   (GB(4) - 1)
+#else
+#define ARCH_PHYS_MIN_DEFAULT   0
+#define ARCH_PHYS_MAX_DEFAULT   0
+#endif
+
 /* ------------------------------------------------------------------------ */
 /* xen features                                                             */
 
@@ -125,6 +133,7 @@ elf_errorstatus elf_xen_parse_note(struct elf_binary *elf,
         [XEN_ELFNOTE_SUSPEND_CANCEL] = { "SUSPEND_CANCEL", ELFNOTE_INT },
         [XEN_ELFNOTE_MOD_START_PFN] = { "MOD_START_PFN", ELFNOTE_INT },
         [XEN_ELFNOTE_PHYS32_ENTRY] = { "PHYS32_ENTRY", ELFNOTE_INT },
+        [XEN_ELFNOTE_PHYS32_RELOC] = { "PHYS32_RELOC", ELFNOTE_NAME },
     };
 /* *INDENT-ON* */
 
@@ -132,6 +141,7 @@ elf_errorstatus elf_xen_parse_note(struct elf_binary *elf,
     uint64_t val = 0;
     unsigned int i;
     unsigned type = elf_uval(elf, note, type);
+    unsigned descsz = elf_uval(elf, note, descsz);
 
     if ( (type >= sizeof(note_desc) / sizeof(note_desc[0])) ||
          (note_desc[type].name == NULL) )
@@ -228,6 +238,27 @@ elf_errorstatus elf_xen_parse_note(struct elf_binary *elf,
     case XEN_ELFNOTE_PHYS32_ENTRY:
         parms->phys_entry = val;
         break;
+
+    case XEN_ELFNOTE_PHYS32_RELOC:
+        parms->phys_reloc = true;
+
+        if ( descsz >= 4 )
+        {
+            parms->phys_align = elf_note_numeric_array(elf, note, 4, 0);
+            elf_msg(elf, " align: %#"PRIx32, parms->phys_align);
+        }
+        if ( descsz >= 8 )
+        {
+            parms->phys_min = elf_note_numeric_array(elf, note, 4, 1);
+            elf_msg(elf, " min: %#"PRIx32, parms->phys_min);
+        }
+        if ( descsz >= 12 )
+        {
+            parms->phys_max = elf_note_numeric_array(elf, note, 4, 2);
+            elf_msg(elf, " max: %#"PRIx32, parms->phys_max);
+        }
+
+        break;
     }
 
     if ( note_desc[type].type == ELFNOTE_NAME)
@@ -543,6 +574,10 @@ elf_errorstatus elf_xen_parse(struct elf_binary *elf,
     parms->p2m_base = UNSET_ADDR;
     parms->elf_paddr_offset = UNSET_ADDR;
     parms->phys_entry = UNSET_ADDR32;
+    parms->phys_align = UNSET_ADDR32;
+    parms->phys_min = ARCH_PHYS_MIN_DEFAULT;
+    parms->phys_max = ARCH_PHYS_MAX_DEFAULT;
+    parms->phys_reloc = false;
 
     /* Find and parse elf notes. */
     count = elf_phdr_count(elf);
diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 47db679966..98cac65bc5 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -71,6 +71,7 @@
 #endif
 #include <xen/elfnote.h>
 #include <xen/libelf/libelf.h>
+#include <xen-tools/common-macros.h>
 
 #ifndef FUZZ_NO_LIBXC
 #include "xenctrl.h"
diff --git a/xen/include/public/elfnote.h b/xen/include/public/elfnote.h
index 1d84b05f44..5dfed6bc3e 100644
--- a/xen/include/public/elfnote.h
+++ b/xen/include/public/elfnote.h
@@ -196,10 +196,28 @@
  */
 #define XEN_ELFNOTE_PHYS32_ENTRY 18
 
+/*
+ * Physical loading constraints for PVH kernels
+ *
+ * The presence of this note indicates the kernel supports relocating itself.
+ *
+ * The note may include up to three 32bit values to place constraints on the
+ * guest physical loading addresses and alignment for a PVH kernel.  Values
+ * are read in the following order:
+ *  - a required start alignment (default 0x200000)
+ *  - a minimum address for the start of the image (default 0)
+ *  - a maximum address for the last byte of the image (default 0xffffffff)
+ *
+ *  When this note specifies an alignment value, it is used.  Otherwise the
+ *  maximum p_align value from loadable ELF Program Headers is used, if it is
+ *  greater than or equal to 4k (0x1000).  Otherwise, the default is used.
+ */
+#define XEN_ELFNOTE_PHYS32_RELOC 19
+
 /*
  * The number of the highest elfnote defined.
  */
-#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_ENTRY
+#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_RELOC
 
 /*
  * System information exported through crash notes.
diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 2d971f958e..9ac530acc2 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -426,6 +426,7 @@ struct elf_dom_parms {
     enum xen_pae_type pae;
     bool bsd_symtab;
     bool unmapped_initrd;
+    bool phys_reloc;
     uint64_t virt_base;
     uint64_t virt_entry;
     uint64_t virt_hypercall;
@@ -435,6 +436,9 @@ struct elf_dom_parms {
     uint32_t f_supported[XENFEAT_NR_SUBMAPS];
     uint32_t f_required[XENFEAT_NR_SUBMAPS];
     uint32_t phys_entry;
+    uint32_t phys_align;
+    uint32_t phys_min;
+    uint32_t phys_max;
 
     /* calculated */
     uint64_t virt_kstart;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 21:25:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 21:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701001.1094963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUaR-000359-VU; Thu, 04 Apr 2024 21:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701001.1094963; Thu, 04 Apr 2024 21:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUaR-000346-QG; Thu, 04 Apr 2024 21:25:31 +0000
Received: by outflank-mailman (input) for mailman id 701001;
 Thu, 04 Apr 2024 21:25: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=8Y/v=LJ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rsUaQ-00032K-S0
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 21:25:30 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2415::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db735173-f2c9-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 23:25:29 +0200 (CEST)
Received: from CH0PR03CA0260.namprd03.prod.outlook.com (2603:10b6:610:e5::25)
 by LV3PR12MB9235.namprd12.prod.outlook.com (2603:10b6:408:1a4::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 21:25:25 +0000
Received: from CH2PEPF0000013B.namprd02.prod.outlook.com
 (2603:10b6:610:e5:cafe::95) by CH0PR03CA0260.outlook.office365.com
 (2603:10b6:610:e5::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.20 via Frontend
 Transport; Thu, 4 Apr 2024 21:25:25 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF0000013B.mail.protection.outlook.com (10.167.244.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 21:25:25 +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.35; Thu, 4 Apr
 2024 16:25: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.35; Thu, 4 Apr
 2024 16:25:24 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 4 Apr 2024 16:25: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: db735173-f2c9-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MWmbkKXJoEa8Bt5yRDy1AlXr3ZJDfF5zB/n7b3gE3pPaVgeEb3aAqyhx/TiRg+rT6vvuzY66nLTRBFRg3JZ8PZNbOXYhaKZTwTVKHPQIvTCmodZqlh5oPxEN38NbdvStpWQwRkUVc2Xknmt/yRs/gSYkk7SFdI5tzYoXskDcLPPYIV0vTn6/2EFcPGwwGuSiOhFk5VsJiq3f1YcKzD268B9N/SNgZYh6oPvIhNrhEFRUkDQAumkFYD4RyjuUzUEzGzRUyy6dWcQLwtlir3tgbYgaQqB5ISqvCWK3n3x2LW7qqCtGlqZP200Rz4ZNrPKHctG2z7HB5tIumOgGQorR0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6/XTvVNBqr8I/opYfrvk/te/N175FWqds5zuSoBwBvA=;
 b=k6+hJ3WSKMtBdF7odts2x5AcQTLbPvIsM25FbOOBKd7TfTqLn2pniLdNhQ1yjcRhM60aDqNHBLujlhD9jo35xw3fybOSwFpeNtNQ2yBxYk0E/MkgB6BV+/WE/MXE7MlsiASkU/B81D8syx3UeDWE8QDqAR9GHk1Fc3eizxKl25jZYFxcGjxKMraZpJrAg6EmI6GsZ/fhJF0eYEQCr4X0Gqg7mY1IU2zxHxNTjglmYQb/SdqkKIJuLyz6Y1P+0pnRzFUCWMloKCm9mHvTqWiw9eVgickJrrRgAvZ3oz4mvi4a8s6G+rTVUgfGjaGZ08cX5FyKL4IKX3cc3ojnS8PT0A==
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=6/XTvVNBqr8I/opYfrvk/te/N175FWqds5zuSoBwBvA=;
 b=2U9C3Rl7PEI5ObCVWCo7hp3lUMT1Shf5wiCUkjZ5dDWwQP7zQtb/GE4pYlMjaufsrpPlxMVQIHVWG5LMKO0+tAXMk8DBlVp0lGOUYYRpMHywaNVAe8Xb8lbT1EXoT/XCQgsWe0ZpoPsNJswnhQILQ2qOPwEUzFeI+XAGStPau+Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v7 1/2] libelf: Store maximum PHDR p_align
Date: Thu, 4 Apr 2024 17:25:18 -0400
Message-ID: <20240404212519.16401-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240404212519.16401-1-jason.andryuk@amd.com>
References: <20240404212519.16401-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF0000013B:EE_|LV3PR12MB9235:EE_
X-MS-Office365-Filtering-Correlation-Id: 2f13a03b-c939-4f15-29d4-08dc54edbe62
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xbbBGR18T+FHu0PXg8Zmw+ev1P6Rj/RydIi4ijWZCfjSUn9cNoNrVHZcHA0CzOlb9RTgmOx+9ihcj0PiOAPNJRnA7WXG9xkFe6kffbcQySt1BvaJE05G6iPJwUISs00v/1V79WXYF3io3jTXxc1aj+eaqv80DhAB9jOnucWhPnGIPgNKn1bVKYwc/DOGB2Ccg2sXlsh4YBqmDzOGpWpynIqS9ZcWUbH5wHHc3NIH9rDYCP+kkQaAS7Q+2VHwCIkPkBRoYhUtLxOLYS6jESdxe/YpQtPS2ZBsRSwsXlEj4DSDr8oHLdAo8cy8LseQuEcBmkx8IqpAumanYUwe0PqPLJA0S/VB+/bC4eZacfutCultXdhyq4T9ej8fDg8W9tXEQ/LulfYW+ne8sgwcLdSsUo03wlnmBtQdWh+3dUvKsl1kVBtlKvKR1h2FijjKqQTeJAH99bLtZqAOZrhB4rTkIvrQZq/sGd4sMF4xToA2G7Wz/TSfkGkTSx+fuo1+5yR0ll+b+YjcQhHq6k5JpB2MdNrY39tSIg/xQD4yU5KLIbiUrlaNz/K4ORsFeU8EK18TRE2x0UGycrnviyB6vwV8/aMCjY3ch0/PyKaIQg5C/R3bcnxa4sjjvaj4ywQ0mIXR1J/h6r2HGHue88fUSeYonnEs/gAbJQ1FkCQai/pI41ooALTWB2dsgMxqFTwqXwj2Q/pyh/zdLIYTDHCzOBQVr5ua11O+wPHKgjH7b1PZkenp+SU0eFrucEGJ/9HetMsD
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 21:25:25.5198
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f13a03b-c939-4f15-29d4-08dc54edbe62
X-MS-Exchange-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:
	CH2PEPF0000013B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9235

While parsing the PHDRs, store the maximum p_align value.  This may be
consulted for moving a PVH image's load address.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v6:
New

v7:
Remove printing p_align.  It may be confusing and is only useful when
a PVH kernel needs to be moved.
---
 xen/common/libelf/libelf-loader.c | 5 +++++
 xen/include/xen/libelf.h          | 1 +
 2 files changed, 6 insertions(+)

diff --git a/xen/common/libelf/libelf-loader.c b/xen/common/libelf/libelf-loader.c
index 629cc0d3e6..e571ea670e 100644
--- a/xen/common/libelf/libelf-loader.c
+++ b/xen/common/libelf/libelf-loader.c
@@ -468,6 +468,7 @@ void elf_parse_binary(struct elf_binary *elf)
 {
     ELF_HANDLE_DECL(elf_phdr) phdr;
     uint64_t low = -1, high = 0, paddr, memsz;
+    uint64_t max_align = 0, palign;
     unsigned i, count;
 
     count = elf_phdr_count(elf);
@@ -481,15 +482,19 @@ void elf_parse_binary(struct elf_binary *elf)
             continue;
         paddr = elf_uval(elf, phdr, p_paddr);
         memsz = elf_uval(elf, phdr, p_memsz);
+        palign = elf_uval(elf, phdr, p_align);
         elf_msg(elf, "ELF: phdr: paddr=%#" PRIx64 " memsz=%#" PRIx64 "\n",
                 paddr, memsz);
         if ( low > paddr )
             low = paddr;
         if ( high < paddr + memsz )
             high = paddr + memsz;
+        if ( max_align < palign )
+            max_align = palign;
     }
     elf->pstart = low;
     elf->pend = high;
+    elf->palign = max_align;
     elf_msg(elf, "ELF: memory: %#" PRIx64 " -> %#" PRIx64 "\n",
             elf->pstart, elf->pend);
 }
diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 1c77e3df31..2d971f958e 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -196,6 +196,7 @@ struct elf_binary {
     size_t dest_size;
     uint64_t pstart;
     uint64_t pend;
+    uint64_t palign;
     uint64_t reloc_offset;
 
     uint64_t bsd_symtab_pstart;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 21:25:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 21:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701000.1094959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUaR-00032c-Mw; Thu, 04 Apr 2024 21:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701000.1094959; Thu, 04 Apr 2024 21:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUaR-00032V-Jf; Thu, 04 Apr 2024 21:25:31 +0000
Received: by outflank-mailman (input) for mailman id 701000;
 Thu, 04 Apr 2024 21:25: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=8Y/v=LJ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rsUaQ-00032K-6q
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 21:25:30 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2414::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db057ca3-f2c9-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 23:25:28 +0200 (CEST)
Received: from CH0PR03CA0244.namprd03.prod.outlook.com (2603:10b6:610:e5::9)
 by DM6PR12MB4042.namprd12.prod.outlook.com (2603:10b6:5:215::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 21:25:24 +0000
Received: from CH2PEPF0000013B.namprd02.prod.outlook.com
 (2603:10b6:610:e5:cafe::dd) by CH0PR03CA0244.outlook.office365.com
 (2603:10b6:610:e5::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.20 via Frontend
 Transport; Thu, 4 Apr 2024 21:25:24 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF0000013B.mail.protection.outlook.com (10.167.244.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 21:25:24 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 16:25:23 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 14:25:23 -0700
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 4 Apr 2024 16:25: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: db057ca3-f2c9-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gA07AWByPcWNHvvjUHGNTH0jSM0M8TWZoiqQfDdsfBEV48gBV3VBR0xSuu6kCgD0OwgemhJTitM/wfc7OtMYWfKq1YxEuQDsUQVvbw7LIhH71ZVynCS9MNKhV4jTn+mT/vwoz0Dqbm7QXvrxtRY29ERpRon+4EweGKz1QJM/GEbItn7PATosr9UVnkStDW9v36Xy+HBrxYHzFS2kf2HEFHCQDfb+v4QOeKt1TRjZEKzGZbdCOuO/K1fIvchKZalfzI1+Q8HJUkR/WlbP5yFmk7913r7tlrp7WYVBdLEAO9I9shL8MoACefek5lgCcQWsCNA99DZXZLTnS2u+RiNbOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6sF4kys0nGuPC8w6rPwBoaTnZtRJEg8dPB/vYgFerY0=;
 b=GOdmeVtSsL07xAUdA+O1/BYBUVFxNCIJ2FSPNAh65kCyw8sW5NdIVefe2QvIW4b86VALKB6gw9xl09TkILVWveR7BHV5yKjlAqdPZBiq2uqk/+l/TywpCbg2BPvp+KD+eEnx8E8m9fMbi2Rz1H8IMHVhff4FuglTKyaI3S4cibK5fSpzw67mGKIGjsj3/+HUPVuSBJ1S1LLbC1vNGm04iO414znN7+FJOqQ9J/sAdFtoHwPq44lshpqHu6tgpwqsCJ82VjiaYBvNy/wuXrELx3AGdTl/aimdizaXAwLIVNVVY867xJxNoINIwltGHp0X0Az9NfJx0MV9QvDXad6Fug==
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=6sF4kys0nGuPC8w6rPwBoaTnZtRJEg8dPB/vYgFerY0=;
 b=1fVqH+eM0MjqubNTf5cytBvd+mMAQalk6oI3zEz8wVEx3w5PbAN8aoHAR4FsI9OAcNxtTjRsz7044Hs6DzIPoA5ax2P0zd97CEJTiCPH7qptdQVrZUYzdbsYqQhg7jbLtQbSXjiD7aR0DcHWdKFnNM8fN0JmczvvXIAvkTOFIno=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH v7 0/2] x86/pvh: Support relocating dom0 kernel
Date: Thu, 4 Apr 2024 17:25:17 -0400
Message-ID: <20240404212519.16401-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF0000013B:EE_|DM6PR12MB4042:EE_
X-MS-Office365-Filtering-Correlation-Id: c869c98b-45ff-4afb-e406-08dc54edbd99
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iwd0Xi8rBUpUTovc35CzFznnJKsg1m4/LfAJjC7itzrQT+qGsQhidPf6ttcyqF5XJdKw5TRrv93rlaBNZpOHLBusZiAQrm/Tr+OfXmUTWnlTs19wAXGleglolU9nDoI+LtT5iptBjXX/3lux9pkGYR+wKOiNJFSDjF2ZQJAzsX11NLn+QsUiF0fsNtYkFN1cK+JyhuDlVCdaUJueqNOp49XjKKn/GHcRUxiOEaei8jPo4Zchf0YYWqlweOvilmnWgj18BSE51JdFYUe5jNZkSGHelVcYIHUPcRg7hicFCGYab0wiVIK7zpdv1Rk+ghlBcN2WPZF+ZHFWSG4tAMFBaR3eJcp6TtOpWlfQywLZ79YqxxI6tehexzwUvoJokvHSK0OCbAdKZQZqwrdjCpJE/kXrH+tcuaeNZLiF2BdRMmcbaHpTxt3yqjw+uJqCizmNM/nOv7RdVs5gxKwv/TprNCXCkIhmvWPX2FgSk9TJUT5LcFuJk6Dq4qm+z0d5QlPbX6Txs6f6NIHbM4w9hIPQlKA10SyvtxbWvlXfbp+3vozzw5SVQoV3ABpttvZOLHZ0xLiTdMcUM5a9CGWs2xprsgvZrzm1k9ac7f1Rk3m/6BSm2L420POgraiJSWvd7vIYnuMGcQZeL8cbT7UoqK7JOu0O36Un3J2gPdLtw1510cjDIO4u9jPOmvhQXdk6bBtkz0HAR8eOUX+YcPBdhqqKYlL4IAPYOa30/WL00UKr7H34xiaIRYOmLYMJwti/Y/yA
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 21:25:24.2229
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c869c98b-45ff-4afb-e406-08dc54edbd99
X-MS-Exchange-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:
	CH2PEPF0000013B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4042

Xen tries to load a PVH dom0 kernel at the fixed guest physical address
from the elf headers.  For Linux, this defaults to 0x1000000 (16MB), but
it can be configured.

Unfortunately there exist firmwares that have reserved regions at this
address, so Xen fails to load the dom0 kernel since it's not RAM.

The other issue is that the Linux PVH entry point is not
position-independent.  It expects to run at the compiled
CONFIG_PHYSICAL_ADDRESS.

This patch set expands the PVH dom0 builder to try to relocate the
kernel if needed and possible.  XEN_ELFNOTE_PHYS32_RELOC is added for
kernels to indicate they are relocatable and their acceptable address
range and alignment.

Choose the alignment from the Note if specified, or the Maximum PHDR
p_align value if greater than PAGE_SIZE.  Otherwise, it falls back to
the default 2MB.

Patches from v6 commited:
  tools/init-xenstore-domain: Replace variable MB() usage
  tools: Move MB/GB() to common-macros.h

The first patch stores the maximum p_align value from the ELF PHDRs.

The second patch expands the pvh dom0 kernel placement code.

I'll post an additional patch showing the Linux changes to make PVH
relocatable.

Jason Andryuk (2):
  libelf: Store maximum PHDR p_align
  x86/PVH: Support relocatable dom0 kernels

 xen/arch/x86/hvm/dom0_build.c      | 108 +++++++++++++++++++++++++++++
 xen/common/libelf/libelf-dominfo.c |  35 ++++++++++
 xen/common/libelf/libelf-loader.c  |   5 ++
 xen/common/libelf/libelf-private.h |   1 +
 xen/include/public/elfnote.h       |  20 +++++-
 xen/include/xen/libelf.h           |   5 ++
 6 files changed, 173 insertions(+), 1 deletion(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 21:30:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 21:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701010.1094989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUfJ-0006Dc-Q5; Thu, 04 Apr 2024 21:30:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701010.1094989; Thu, 04 Apr 2024 21:30:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUfJ-0006DV-Mx; Thu, 04 Apr 2024 21:30:33 +0000
Received: by outflank-mailman (input) for mailman id 701010;
 Thu, 04 Apr 2024 21:30: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=8Y/v=LJ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rsUfH-0006DP-FM
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 21:30:31 +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 8ee38b8d-f2ca-11ee-afe5-a90da7624cb6;
 Thu, 04 Apr 2024 23:30:30 +0200 (CEST)
Received: from DS7PR03CA0275.namprd03.prod.outlook.com (2603:10b6:5:3ad::10)
 by BL3PR12MB6474.namprd12.prod.outlook.com (2603:10b6:208:3ba::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 4 Apr
 2024 21:30:26 +0000
Received: from DS2PEPF00003448.namprd04.prod.outlook.com
 (2603:10b6:5:3ad:cafe::89) by DS7PR03CA0275.outlook.office365.com
 (2603:10b6:5:3ad::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.28 via Frontend
 Transport; Thu, 4 Apr 2024 21:30:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003448.mail.protection.outlook.com (10.167.17.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 4 Apr 2024 21:30:26 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 4 Apr
 2024 16:30:25 -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.35 via Frontend
 Transport; Thu, 4 Apr 2024 16:30: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: 8ee38b8d-f2ca-11ee-afe5-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bbIc1YmKZoBi9O+siu7DhoOuJaenapF6cnP1dv7xrZpU2FIvoS1iwy0gxwRPW9SMOYfgq6orG9F10ONhQwzoOZKtQtw8CB5ndahR7QEID2qt1kvOLUyjtApxKdZVl8bQws0uxK1UZh7cb+cW3xa6+eufekLni0Fg7gfhWj9l6J/Mk1zcf0utNXv4ko/HOfxOyetmMjxi8YxzZd+Kw5QFJQCkRB/Xb2zaUmJdcFOIr5CWqiw14KwqdBumHwm5bAZ5pf/AoB8QcjtzwNvJgV7qYmnYwAjR5HIngZjQg5BPGxU5zGymEHQgUK5m+O9dEdF5Z6Ol6H9MSi7uWMrJfykFaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nxBKuBih+0VrF6aX5kEWzaJZV/UO7PiZ2dpCkevziic=;
 b=K77hX6fDILlSi1M1lEqVV5OYLwuQ85xrj3k89p48lqEoBFoaHlW4oTexLyrsM6UL1q1z3TQ2Zt1VptRc2t/5iOYONtm1EIH4rSpiPrg9rIu9qdTahQM5/+EINmmlOjLPuMQ9+ZUY9vXbgYk8gGbV3qoBHHteurqcKzBWLugjSYE4bSyzu1bUPIeF+psF4QjGwH8fZjmp0EM9oLJ/w8Hpj3tCMfsz0Fl0oGGGfGfD+aikJu4zkHpZPZR4JvGugpRjBs9gBshB2he2YdzqkrWlrnUaPghHF6nnlDA7N9zkvqTd9yC78T5WHIFOeL5HLUFD+edXC8sCTUbMHPAco1Dnyw==
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=nxBKuBih+0VrF6aX5kEWzaJZV/UO7PiZ2dpCkevziic=;
 b=TQqSOYxn69F5g3iuX9R9Mg6U20EAPQa1n7gkEP5MQDwLpOfHD3QTC9FyCa5LyHZUlNcO6gOzyLyCBpG+Pv1p8+mrhw+g5K4x1Btf9x4ebtANyUvOLnzWguamKtVYJokaWzcGC2BPBedj9DjtA/9tduEBAqoBjvo1KihKZTpyOuY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "Juergen
 Gross" <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	"Jason Andryuk" <jason.andryuk@amd.com>
Subject: [PATCH v7] RFC: x86/pvh: Make Xen PVH entrypoint PIC for x86-64
Date: Thu, 4 Apr 2024 17:30:15 -0400
Message-ID: <20240404213015.29035-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240404212519.16401-1-jason.andryuk@amd.com>
References: <20240404212519.16401-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: DS2PEPF00003448:EE_|BL3PR12MB6474:EE_
X-MS-Office365-Filtering-Correlation-Id: d6c78f08-9775-4710-f84b-08dc54ee717c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OZQlP4MATrJmGdm9Aci/nSfpNebxcUB3qsD0FuQWtCvc0jygc7XvtqJpgC/2spNHuMX385Hyc4VoPY1k+8Q+gMhCVcAQ8tNGBZkaUSGNI1HxLA0mii4k29uvwzCGttndK5NAOlHzE7aYG+/byJBTnAXPEUdajXYGy4K6SW1fs8AycrJUeqrC34mNOXHCNq7qRpuNtJgJvGOwNSedUGg0EJb+FzCeo0uMR6UnxqUAZt8a6U8AR7TYTVuSZHZdTplT1Oe1888EqT2GRZ1FFM+QfbkcSN4BqIu1Xfltt1L1A68TZ44G6QgoBkph588e5edMEfhR8SxaSMrgk2D+n7Hn2phRmaTgPSK5JXmaClieoD6c10kTKxgHjZUcuqJ0TnISXK7zCR/uGacyO6EWLr/Fk6zHHDEf6Rv8m4UTs1us1OEmtmQ36XS6YAz8PQ65HBbbdU83OuUZxDudcGHWNRr2anV95MSIfBwKalrDDXDhes/0QWeWpgS2gncDhu7ganv6WaTNGpgGfh2rHwL5Nc9CqjG9WJ5hnbrvck4Kh1Pf269XNlShueiRevq9fnZrdr+3u+EWQ9Hk8WJlgrGJhpsYIPSZ9RgRzXbA9zIc0n4574zqZeYx8O+ot4Ibaje9rAeCBeVLo0IaWlkhSsgjc0CxEH6/lCGiIbwwW4e86UQJZu9gOmapAwV6SFZLBy5SoPUs1YpwSTHdFaKaaIk/ztRNzKOrQGfyvxu11tH6MdnfmL98ye2mPjR0mEwHoXK69aYp
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Apr 2024 21:30:26.1482
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d6c78f08-9775-4710-f84b-08dc54ee717c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003448.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6474

The Xen PVH entrypoint is 32bit non-PIC code running at a default load
address of 0x1000000 (16MB) (CONFIG_PHYSICAL_START).  Xen loads the
kernel at that physical address inside the PVH container.

When running a PVH Dom0, the system reserved addresses are mapped 1-1
into the PVH container.  There exist system firmwares (Coreboot/EDK2)
with reserved memory at 16MB.  This creates a conflict where the PVH
kernel cannot be loaded at that address.

Modify the PVH entrypoint to be position-indepedent to allow flexibility
in load address.  Only the 64bit entry path is converted.  A 32bit
kernel is not PIC, so calling into other parts of the kernel, like
xen_prepare_pvh() and mk_pgtable_32(), don't work properly when
relocated.

Initial PVH entry runs at the physical addresses and then transitions to
the identity mapped address.  While executing xen_prepare_pvh() calls
through pv_ops function pointers transition to the high mapped
addresses.  Additionally, __va() is called on some hvm_start_info
physical addresses, we need the directmap address range is used.  So we
need to run page tables with all of those ranges mapped.

Modifying init_top_pgt tables ran into issue since
startup_64/__startup_64() will modify those page tables again.  Create
dedicated set of page tables - pvh_init_top_pgt  - for the PVH entry to
avoid unwanted interactions.

To avoid statically allocating space, the .bss is used.  It is unused on
entry and only cleared later.  This saves 32kb that would otherwise be
added to vmlinux.   A minimum of 20kb would be needed, which would only
map the lower 1GB or ram.

In xen_pvh_init(), __pa() is called to find the physical address of the
hypercall page.  Set phys_base temporarily before calling into
xen_prepare_pvh(), which calls xen_pvh_init(), and clear it afterwards.
__startup_64() assumes phys_base is zero and adds load_delta to it.  If
phys_base is already set, the calculation results in an incorrect cr3.

TODO: Sync elfnote.h from xen.git commit xxxxxxxxxx when it is
commited.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
Put this out as an example for the Xen modifications

UNWIND_HINT_END_OF_STACK after lret is to silence:
vmlinux.o: warning: objtool: pvh_start_xen+0x168: unreachable instruction

Instead of setting and clearing phys_base, add a dedicated variable?
Clearing phys_base is a little weird, but it leaves the kernel more
consistent when running non-entry code.

Make __startup_64() exit if phys_base is already set to allow calling
multiple times, and use that and init_top_pgt instead of adding
additional page tables?  That won't work.  __startup_64 is 64bit code,
and pvh needs to create page tables in 32bit code before it can
transition to 64bit long mode.  Hence it can't be re-used to relocate
page tables.
---
 arch/x86/platform/pvh/head.S    | 168 +++++++++++++++++++++++++++++---
 include/xen/interface/elfnote.h |  20 +++-
 2 files changed, 175 insertions(+), 13 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index f7235ef87bc3..48480fc8d786 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -50,11 +50,32 @@
 #define PVH_CS_SEL		(PVH_GDT_ENTRY_CS * 8)
 #define PVH_DS_SEL		(PVH_GDT_ENTRY_DS * 8)
 
+#define rva(x) ((x) - pvh_start_xen)
+
 SYM_CODE_START_LOCAL(pvh_start_xen)
 	UNWIND_HINT_END_OF_STACK
 	cld
 
-	lgdt (_pa(gdt))
+	/*
+	 * See the comment for startup_32 for more details.  We need to
+	 * execute a call to get the execution address to be position
+	 * independent, but we don't have a stack.  Save and restore the
+	 * magic field of start_info in ebx, and use that as the stack.
+	 */
+	mov	(%ebx), %eax
+	leal	4(%ebx), %esp
+	ANNOTATE_INTRA_FUNCTION_CALL
+	call	1f
+1:	popl	%ebp
+	mov	%eax, (%ebx)
+	subl	$ rva(1b), %ebp
+	movl	$0, %esp
+
+	leal	rva(gdt)(%ebp), %eax
+	movl	%eax, %ecx
+	leal	rva(gdt_start)(%ebp), %ecx
+	movl	%ecx, 2(%eax)
+	lgdt	(%eax)
 
 	mov $PVH_DS_SEL,%eax
 	mov %eax,%ds
@@ -62,14 +83,14 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	mov %eax,%ss
 
 	/* Stash hvm_start_info. */
-	mov $_pa(pvh_start_info), %edi
+	leal rva(pvh_start_info)(%ebp), %edi
 	mov %ebx, %esi
-	mov _pa(pvh_start_info_sz), %ecx
+	movl rva(pvh_start_info_sz)(%ebp), %ecx
 	shr $2,%ecx
 	rep
 	movsl
 
-	mov $_pa(early_stack_end), %esp
+	leal rva(early_stack_end)(%ebp), %esp
 
 	/* Enable PAE mode. */
 	mov %cr4, %eax
@@ -83,29 +104,145 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	btsl $_EFER_LME, %eax
 	wrmsr
 
-	/* Enable pre-constructed page tables. */
-	mov $_pa(init_top_pgt), %eax
+/*
+ * Xen PVH needs a set of identity mapped and kernel high mapping
+ * page tables.  pvh_start_xen starts running on the identity mapped
+ * page tables, but xen_prepare_pvh calls into the high mapping.  Inside,
+ * __va is used, so the L4_PAGE_OFFSET needs to be populated.
+ *
+ * Instead of allocating memory memory in .init.data, we just use
+ * space in the BSS.  This will only be used until startup_64 switches
+ * to the main page tables.  Later, the bss will be cleared.
+ */
+#define pvh_init_top_pgt      rva(__bss_start)
+#define pvh_level3_ident_pgt  (pvh_init_top_pgt + PAGE_SIZE)
+#define pvh_level2_ident_pgt  (pvh_level3_ident_pgt + PAGE_SIZE)
+#define pvh_level3_kernel_pgt (pvh_level2_ident_pgt + 4 * PAGE_SIZE)
+#define pvh_level2_kernel_pgt (pvh_level3_kernel_pgt + PAGE_SIZE)
+
+#define l4_index(x)     (((x) >> 39) & 511)
+#define pud_index(x)    (((x) >> PUD_SHIFT) & (PTRS_PER_PUD-1))
+
+L4_PAGE_OFFSET  = l4_index(__PAGE_OFFSET_BASE_L4)
+L4_START_KERNEL = l4_index(__START_KERNEL_map)
+L3_START_KERNEL = pud_index(__START_KERNEL_map)
+
+	/* Clear pvh_init_top_pgt */
+	leal pvh_init_top_pgt(%ebp), %edi
+	movl $(PAGE_SIZE / 4), %ecx
+	xorl %eax, %eax
+	rep stosl
+
+	/* pvh_init_top_pgt[0] = pvh_level3_ident_pgt */
+	leal pvh_init_top_pgt(%ebp), %edi
+	leal pvh_level3_ident_pgt(%ebp), %esi
+	movl %esi, 0x00(%edi)
+	addl $_KERNPG_TABLE_NOENC, 0x00(%edi)
+
+	/* pvh_init_top_pgt[L4_PAGE_OFFSET] = pvh_level3_ident_pgt */
+	movl %esi, (L4_PAGE_OFFSET * 8)(%edi)
+	addl $_KERNPG_TABLE_NOENC, (L4_PAGE_OFFSET * 8)(%edi)
+
+	/* pvh_init_top_pgt[L4_START_KERNEL] = pvh_level3_kernel_pgt */
+	leal pvh_level3_kernel_pgt(%ebp), %esi
+	movl %esi, (L4_START_KERNEL * 8)(%edi)
+	addl $_PAGE_TABLE_NOENC, (L4_START_KERNEL * 8)(%edi)
+
+	/* Clear pvh_level3_ident_pgt */
+	leal pvh_level3_ident_pgt(%ebp), %edi
+	movl $(PAGE_SIZE / 4), %ecx
+	xorl %eax, %eax
+	rep stosl
+
+	/* Set pvh_level3_ident_pgt[0] = pvh_level2_ident_pgt */
+	leal pvh_level3_ident_pgt(%ebp), %edi
+	leal pvh_level2_ident_pgt(%ebp), %esi
+	addl $_KERNPG_TABLE_NOENC, %esi
+	movl %esi, 0x00(%edi)
+	addl $PAGE_SIZE, %esi
+	/* ... pvh_level3_ident_pgt[1] = pvh_level2_ident_pgt+0x1000 */
+	movl %esi, 0x08(%edi)
+	addl $PAGE_SIZE, %esi
+	/* ... pvh_level3_ident_pgt[2] = pvh_level2_ident_pgt+0x2000 */
+	movl %esi, 0x10(%edi)
+	addl $PAGE_SIZE, %esi
+	/* ... pvh_level3_ident_pgt[3] = pvh_level2_ident_pgt+0x3000 */
+	movl %esi, 0x18(%edi)
+
+	/* Fill pvh_level2_ident_pgt with large ident pages. */
+	leal pvh_level2_ident_pgt(%ebp), %edi
+	movl $__PAGE_KERNEL_IDENT_LARGE_EXEC, %esi
+	movl $(PTRS_PER_PMD*4), %ecx
+1:	movl %esi, 0(%edi)
+	addl $(1 << PMD_SHIFT), %esi
+	addl $8, %edi
+	decl %ecx
+	jnz 1b
+
+	/* Clear pvh_level3_kernel_pgt */
+	leal pvh_level3_kernel_pgt(%ebp), %edi
+	movl $(PAGE_SIZE / 4), %ecx
+	xorl %eax, %eax
+	rep stosl
+
+	/* pvh_level3_kernel_pgt[L3_START_KERNEL] = pvh_level2_kernel_pgt */
+	leal pvh_level3_kernel_pgt(%ebp), %edi
+	leal pvh_level2_kernel_pgt(%ebp), %esi
+	movl %esi, (L3_START_KERNEL * 8)(%edi)
+	addl $_KERNPG_TABLE_NOENC, (L3_START_KERNEL * 8)(%edi)
+
+	mov %ebp, %ebx
+	subl $LOAD_PHYSICAL_ADDR, %ebx /* offset */
+
+	/* Fill pvh_level2_kernel_pgt with large pages. */
+	leal pvh_level2_kernel_pgt(%ebp), %edi
+	movl $__PAGE_KERNEL_LARGE_EXEC, %esi
+	addl %ebx, %esi
+	movl $(KERNEL_IMAGE_SIZE / PMD_SIZE), %ecx
+1:	movl %esi, 0(%edi)
+	addl $(1 << PMD_SHIFT), %esi
+	addl $8, %edi
+	decl %ecx
+	jnz 1b
+
+	/* Switch to page tables. */
+	leal pvh_init_top_pgt(%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)
+	pushl $PVH_CS_SEL
+	leal  rva(1f)(%ebp), %eax
+	pushl %eax
+	lretl
 
 	/* 64-bit entry point. */
 	.code64
 1:
+	UNWIND_HINT_END_OF_STACK
+
 	/* Set base address in stack canary descriptor. */
 	mov $MSR_GS_BASE,%ecx
-	mov $_pa(canary), %eax
+	leal rva(canary)(%ebp), %eax
 	xor %edx, %edx
 	wrmsr
 
+	/* Calculate load offset from LOAD_PHYSICAL_ADDR and store in
+	 * phys_base.  __pa() needs phys_base set to calculate the the
+	 * hypercall page in xen_pvh_init(). */
+	movq %rbp, %rbx
+	subq $LOAD_PHYSICAL_ADDR, %rbx
+	movq %rbx, phys_base(%rip)
 	call xen_prepare_pvh
+	/* Clear phys_base.  startup_64/__startup_64 will *add* to its value,
+	   so start from 0. */
+	xor  %rbx, %rbx
+	movq %rbx, phys_base(%rip)
 
 	/* startup_64 expects boot_params in %rsi. */
-	mov $_pa(pvh_bootparams), %rsi
-	mov $_pa(startup_64), %rax
+	lea rva(pvh_bootparams)(%ebp), %rsi
+	lea rva(startup_64)(%ebp), %rax
 	ANNOTATE_RETPOLINE_SAFE
 	jmp *%rax
 
@@ -137,13 +274,14 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 
 	ljmp $PVH_CS_SEL, $_pa(startup_32)
 #endif
+
 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 _pa(gdt_start) /* x86-64 will overwrite if relocated. */
 	.word 0
 SYM_DATA_END(gdt)
 SYM_DATA_START_LOCAL(gdt_start)
@@ -163,5 +301,11 @@ SYM_DATA_START_LOCAL(early_stack)
 	.fill BOOT_STACK_SIZE, 1, 0
 SYM_DATA_END_LABEL(early_stack, SYM_L_LOCAL, early_stack_end)
 
+#ifdef CONFIG_X86_64
+	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_RELOC,
+		     .long CONFIG_PHYSICAL_ALIGN;
+		     .long LOAD_PHYSICAL_ADDR;
+		     .long 0xffffffff)
+#endif
 	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY,
 	             _ASM_PTR (pvh_start_xen - __START_KERNEL_map))
diff --git a/include/xen/interface/elfnote.h b/include/xen/interface/elfnote.h
index 38deb1214613..4deb63ca7633 100644
--- a/include/xen/interface/elfnote.h
+++ b/include/xen/interface/elfnote.h
@@ -185,9 +185,27 @@
  */
 #define XEN_ELFNOTE_PHYS32_ENTRY 18
 
+/*
+ * Physical loading constraints for PVH kernels
+ *
+ * The presence of this note indicates the kernel supports relocating itself.
+ *
+ * The note may include up to three 32bit values to place constraints on the
+ * guest physical loading addresses and alignment for a PVH kernel.  Values
+ * are read in the following order:
+ *  - a required start alignment (default 0x200000)
+ *  - a minimum address for the start of the image (default 0)
+ *  - a maximum address for the last byte of the image (default 0xffffffff)
+ *
+ *  When this note specifies an alignment value, it is used.  Otherwise the
+ *  maximum p_align value from loadable ELF Program Headers is used, if it is
+ *  greater than or equal to 4k (0x1000).  Otherwise, the default is used.
+ */
+#define XEN_ELFNOTE_PHYS32_RELOC 19
+
 /*
  * The number of the highest elfnote defined.
  */
-#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_ENTRY
+#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_RELOC
 
 #endif /* __XEN_PUBLIC_ELFNOTE_H__ */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 21:48:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 21:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701014.1094999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUwU-0000Fo-D9; Thu, 04 Apr 2024 21:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701014.1094999; Thu, 04 Apr 2024 21:48:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUwU-0000Fh-9C; Thu, 04 Apr 2024 21:48:18 +0000
Received: by outflank-mailman (input) for mailman id 701014;
 Thu, 04 Apr 2024 21:48:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1z08=LJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsUwT-0000Fb-Di
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 21:48:17 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 091f8c6f-f2cd-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 23:48:15 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 58906CE31F6;
 Thu,  4 Apr 2024 21:48:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B701FC433F1;
 Thu,  4 Apr 2024 21:48: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: 091f8c6f-f2cd-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712267289;
	bh=H4391HbDqozE7pG7jw5kbUmqWKVBQ0iL6sLZRuZypJU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fJRwRL3EYTAm4GAPJ9fz4EGpx4cJjnamkBz4orMEEhieGpXvbkS/w9TgpxPADydMd
	 LgK8Il7AGIW31L+FYMtcxnV1ZOdFA3Hf659k0NUTwtWvs9fypHsdNIJ+gwe+Quvu6v
	 D1LhXb4x5TcrWSdqGlwcIYUgJRZNje3Yv9Cd4fxkQM4YKBTVJMd9Yw5pIVkQXo4pko
	 NpmcsTrQewdr4CAAALFUIWKq6O0tirlyErgIAsmli3pjx5CtZzWjoDJnsxKxLGzbd5
	 9PqPOM+tLXu6/kRB4wNzFlnS2GqnveE6uIPOQoZ2TZrOggjtQyOMr0yMDAHLxbyv2K
	 3swy9ynlIU9NQ==
Date: Thu, 4 Apr 2024 14:48: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: 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>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/2] drivers: char: Drop useless suspend/resume stubs in
 Arm drivers
In-Reply-To: <012db229-8c84-4b74-b919-50e0231dd274@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404041447580.2245130@ubuntu-linux-20-04-desktop>
References: <20240404075143.25304-1-michal.orzel@amd.com> <20240404075143.25304-2-michal.orzel@amd.com> <012db229-8c84-4b74-b919-50e0231dd274@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, 4 Apr 2024, Jan Beulich wrote:
> On 04.04.2024 09:51, Michal Orzel wrote:
> > On Arm we don't use console_{suspend,resume} and the corresponding
> > stubs in serial drivers are being redundantly copied whenever a new
> > driver is added. Drop them as well as useless .endboot = NULL assignment.
> > 
> > Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Since hook invocations are suitably guarded:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 21:49:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 21:49:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701016.1095009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUxF-0000uB-LS; Thu, 04 Apr 2024 21:49:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701016.1095009; Thu, 04 Apr 2024 21:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsUxF-0000u1-IC; Thu, 04 Apr 2024 21:49:05 +0000
Received: by outflank-mailman (input) for mailman id 701016;
 Thu, 04 Apr 2024 21:49:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1z08=LJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsUxE-0000Fb-HJ
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 21:49:04 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25c52d74-f2cd-11ee-a1ef-f123f15fe8a2;
 Thu, 04 Apr 2024 23:49:02 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 324B4CE31F6;
 Thu,  4 Apr 2024 21:48:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3CBBC433C7;
 Thu,  4 Apr 2024 21:48: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: 25c52d74-f2cd-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712267337;
	bh=nDV9urUlmH1ZG+QioqmwzgNFjCb1avwSH8ue0G99U6k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mFvCejM2xWhrf1COaEQJEtddSk5hr0nNdBTm3fPX1afSKeVSvFGmsNIz5JTtGxIlq
	 ceIvODDYPS6IIiI/Nm1u0v5X30OyY4BjkuJyYvYTikxLlR5uPXx2H92rzozUgSHpDB
	 MyvQ3TqFxBZAkGtVQuNCxG9rEK/NG4y7dpb84m+mywqLdKROt1npn0NoknyKOz76YM
	 wcJdGMoEEgECtfxv4PQzhXyJW8jBnCxx2yZ1blqsmCQyvvGb+x0kCtTtAsrsDik4S6
	 4YWtajggBo+YTNGK6Wt5uFsSsm9jFV9WoM/neo/nMTBMPtcNavlrsPWwBEOPXM/wOO
	 hUYzF3APLgwWQ==
Date: Thu, 4 Apr 2024 14:48:53 -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>
Subject: Re: [PATCH 2/2] char: lpuart: Drop useless variables from UART
 structure
In-Reply-To: <20240404075143.25304-3-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2404041448470.2245130@ubuntu-linux-20-04-desktop>
References: <20240404075143.25304-1-michal.orzel@amd.com> <20240404075143.25304-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, 4 Apr 2024, Michal Orzel wrote:
> These variables are useless. They are being assigned a value which is
> never used since UART is expected to be pre-configured.
> 
> No functional change.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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



From xen-devel-bounces@lists.xenproject.org Thu Apr 04 22:11:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 22:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701020.1095018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsVIk-0005wT-BS; Thu, 04 Apr 2024 22:11:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701020.1095018; Thu, 04 Apr 2024 22:11: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 1rsVIk-0005wM-8y; Thu, 04 Apr 2024 22:11:18 +0000
Received: by outflank-mailman (input) for mailman id 701020;
 Thu, 04 Apr 2024 22:11: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=AdTa=LJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rsVIi-0005wG-Bo
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 22:11:16 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f896a1d-f2d0-11ee-afe5-a90da7624cb6;
 Fri, 05 Apr 2024 00:11:14 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 101DF8284D55;
 Thu,  4 Apr 2024 17:11:12 -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 PgeJihelWa6m; Thu,  4 Apr 2024 17:11:10 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 96C6C82858BB;
 Thu,  4 Apr 2024 17:11:10 -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 OnLbWvYSvfCl; Thu,  4 Apr 2024 17:11:10 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id E54968284D55;
 Thu,  4 Apr 2024 17:11: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: 3f896a1d-f2d0-11ee-afe5-a90da7624cb6
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 96C6C82858BB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712268670; bh=0K5yuHbzyq6JnoikLvw1G15Z/yoGv0sFVQarsfrWIg8=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=P+iItqLrRMLMs5gDO8ceOS4q6wd6zfWLAof9r80VUQSSa6v0dB6pTbiXjOxhJ7EE0
	 UjMNads/0JGDjhMNM15is7U9I2u3msTFMkHGMpMURR6ak0TMFJXxKOXPaUnwEXVrx1
	 JqKn0kfbWQn2Zsvt/AxBr1wLvQ9qXN6Os8haIqZs=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <d7227c0b-ff3d-4e83-8240-160e5d4e5053@raptorengineering.com>
Date: Thu, 4 Apr 2024 17:11:09 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/9] xen/asm-generic: Introduce generic acpi.h
To: Jan Beulich <jbeulich@suse.com>
Cc: tpearson@raptorengineering.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <794e46b16475c0b4f482cdc8560ebb2f37875715.1710443965.git.sanastasio@raptorengineering.com>
 <a6147b83-97e8-4c73-982c-221178b951f5@suse.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <a6147b83-97e8-4c73-982c-221178b951f5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Jan,

On 3/25/24 10:19 AM, Jan Beulich wrote:
> On 14.03.2024 23:15, Shawn Anastasio wrote:
>> Introduce a generic acpi.h header that provides the required definitions
>> to allow files including xen/acpi.h to be compiled. The definitions were
>> largely derived from the !CONFIG_ACPI parts of ARM's acpi.h.
> 
> As said a couple of times in discussion with Oleksii on his work towards
> populating asm-generic/, I view a use like this as an abuse of this
> asm-generic machinery. Instead imo said !CONFIG_ACPI parts from Arm's header
> want moving to xen/acpi.h, eliminating the need for asm/acpi.h for
> architectures / configurations not supporting ACPI. Much like was done
> with e.g. xen/numa.h.
>

In this case I'm not sure I fully agree, since the definitions here
aren't really stubs but rather more-or-less fully complete
architecture-independent implementations of these symbols for the
!CONFIG_ACPI case.

That said, after you mentioned the other route of modifying xen/acpi.h,
I found that going that route required fewer changes, so I'll proceed
with that approach.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 23:56:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 23:56:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701031.1095036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsWwL-0004ZC-Q7; Thu, 04 Apr 2024 23:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701031.1095036; Thu, 04 Apr 2024 23: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 1rsWwL-0004Z5-NJ; Thu, 04 Apr 2024 23:56:17 +0000
Received: by outflank-mailman (input) for mailman id 701031;
 Thu, 04 Apr 2024 23:56:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1z08=LJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsWwL-0004Yz-8Y
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 23:56:17 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eacfbc76-f2de-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 01:56:14 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 6B3B2CE0B68;
 Thu,  4 Apr 2024 23:56:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8AD04C433F1;
 Thu,  4 Apr 2024 23:56:08 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eacfbc76-f2de-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712274969;
	bh=2gNIFzSHqSNI48cGHQSIVqgVk5UzNnwvU8gBaXTDe+g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YsqkiVRWNr/6GrMqfKeJpwDuTP4OkJ16UKU0V2VFO1hxFARyMW6a6/wu5dBsSXUT8
	 iThXnbhM1GKhbfPzpZz0WQXJxY4Xd97JAmM3DmX7dvY/w0hL6zyqVTw69fNumliejh
	 4MXQChH1J/kdaE9fpk06qk/LGWw0ASIArOpvbu0I6drAgPfRC6jdkI0aatJLwadzxz
	 eA31IRZf1pquo2aHbFKzv5sQtbt5S51nbU4DQtMBU7iAdSUTMPvcpIOZU3u97xzKPC
	 crYkN/0JYU0Bf+5Lf67GJUr97upc3A90Kk/5YR+FN/NvMRD3PevNzJxva/z5SZx1xr
	 jM70bhPJDDVyg==
Date: Thu, 4 Apr 2024 16:56: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>, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, julien@xen.org, 
    michal.orzel@amd.com, roger.pau@citrix.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] docs/misra: document the expected sizes of integer
 types
In-Reply-To: <e3e13f3f-3df6-4eb4-8b73-21387007e7c3@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404041548530.2245130@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop> <e3e13f3f-3df6-4eb4-8b73-21387007e7c3@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, 4 Apr 2024, Jan Beulich wrote:
> On 04.04.2024 03:12, Stefano Stabellini wrote:
> > --- a/docs/misra/C-language-toolchain.rst
> > +++ b/docs/misra/C-language-toolchain.rst
> > @@ -480,4 +480,73 @@ The table columns are as follows:
> >       - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Section "11.1 Implementation-defined behavior" of CPP_MANUAL.
> >  
> >  
> > +Sizes of Integer types
> > +______________________
> > +
> > +Xen expects System V ABI on x86_64:
> > +  https://gitlab.com/x86-psABIs/x86-64-ABI
> > +
> > +Xen expects AAPCS32 on ARMv8-A AArch32:
> > +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
> > +
> > +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
> > +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
> > +
> > +A summary table of data types, sizes and alignment is below:
> > +
> > +.. list-table::
> > +   :widths: 10 10 10 45
> > +   :header-rows: 1
> > +
> > +   * - Type
> > +     - Size
> > +     - Alignment
> > +     - Architectures
> > +
> > +   * - char 
> > +     - 8 bits
> > +     - 8 bits
> > +     - all architectures
> 
> This one _may_ be acceptable, but already feels like going too far.
> 
> > +   * - short
> > +     - 16 bits
> > +     - 16 bits
> > +     - all architectures
> > +
> > +   * - int
> > +     - 32 bits
> > +     - 32 bits
> > +     - all architectures
> 
> These two I continue to disagree with. The values are minimum required ones.

The purpose of the document docs/misra/C-language-toolchain.rst is to
describe the reference safety-supported configuration. In a way, this
document is similar to SUPPORT.md but for safety instead of security.

Here, we need to write down the stable configuration, the one everyone
is aligned and convinced should work correctly.

Now, let's say that I believe you and agree with you that it should be
possible to support int as 64-bit. This configuration is not tested. If
I can draw a comparison, it would be similar to ask for XSM to be
security supported while in fact is marked as experimental in
SUPPORT.md.

If you want, taking inspiration from SUPPORT.md, we can have a
"supported" column and a "experimental" column. In the experimental
column we can write down "at least 32-bit" or "32-bit or larger".


> Even if code changes may be needed (Misra already helps us here by stopping
> undue mixing of e.g. unsigned int and uint32_t in at least some situations),
> there's no inherent requirement in Xen for such restrictions.

I hope that my comparison with XSM and SUPPORT.md helps explain why we
need to clarify the safety supported configuration with the values we
actually validate Xen with.

Your goal is to write down what should work with Xen, which is also OK
but it is a different goal. It is OK to say that we aim for Xen to also
work with other configurations too, and list them. That was not my
intention, but I can expand the scope if you request.

 
> > +   * - long
> > +     - 32 bits
> > +     - 32 bits 
> > +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> > +
> > +   * - long
> > +     - 64 bits
> > +     - 64 bits 
> > +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> > +
> > +   * - long long
> > +     - 64-bit
> > +     - 32-bit
> > +     - x86_32
> > +
> > +   * - long long
> > +     - 64-bit
> > +     - 64-bit
> > +     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32
> 
> Along the lines of the above, simply saying "64-bit architectures" here
> is too generic. Whereas for long (above) and ...
> 
> > +   * - pointer
> > +     - 32-bit
> > +     - 32-bit
> > +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> > +
> > +   * - pointer
> > +     - 64-bit
> > +     - 64-bit
> > +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> 
> ... pointers I agree (and the special mentioning of the architectures
> in parentheses could even be omitted imo). To summarize, my counter
> proposal:
> 
>    * - char 
>      - at least 8 bits

this

>      - equaling size
>      - all architectures
> 
>    * - char
>      - 8 bits
>      - 8 bits
>      - x86, ARM, RISC-V, PPC
> 
>    * - short
>      - at least 16 bits

and this

>      - equaling size
>      - all architectures
> 
>    * - short
>      - 16 bits
>      - 16 bits
>      - x86, ARM, RISC-V, PPC
> 
>    * - int
>      - at least 32 bits

and this, more below


>      - equaling size
>      - all architectures
> 
>    * - int
>      - 32 bits
>      - 32 bits
>      - x86, ARM, RISC-V, PPC
> 
>    * - long
>      - 32 bits
>      - 32 bits 
>      - 32-bit architectures
> 
>    * - long
>      - 64 bits
>      - 64 bits 
>      - 64-bit architectures
> 
>    * - long long
>      - 64-bit
>      - 32-bit
>      - x86_32
> 
>    * - long long
>      - 64-bit
>      - 64-bit
>      - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R AArch32
> 
>    * - pointer
>      - 32-bit
>      - 32-bit
>      - 32-bit architectures
> 
>    * - pointer
>      - 64-bit
>      - 64-bit
>      - 64-bit architectures
> 
> Eventually, by properly decoupling pointers from longs (via using {,u}intptr_t
> appropriately), the restrictions on "long" could also be lifted.
> 
> Note that the generic requirements on char and short also are imposed by C99.
> It may therefore not be necessary to state them explicitly, but rather refer
> to that standard (just like you're now referencing the SysV psABI-s).

I am OK with the above, except for the three instances of "at least". As
mentioned earlier, we need to specify the supported and validated
configuration. If you want we can also add another field to express what
we aim at getting Xen to work with, but it should be separate.


From xen-devel-bounces@lists.xenproject.org Thu Apr 04 23:57:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 04 Apr 2024 23:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701033.1095046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsWxU-00053J-2k; Thu, 04 Apr 2024 23:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701033.1095046; Thu, 04 Apr 2024 23: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 1rsWxT-00053C-W1; Thu, 04 Apr 2024 23:57:27 +0000
Received: by outflank-mailman (input) for mailman id 701033;
 Thu, 04 Apr 2024 23:57:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1z08=LJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsWxS-000530-KP
 for xen-devel@lists.xenproject.org; Thu, 04 Apr 2024 23:57:26 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13f56a8b-f2df-11ee-afe5-a90da7624cb6;
 Fri, 05 Apr 2024 01:57:24 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 4CB6DCE0B68;
 Thu,  4 Apr 2024 23:57:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CF76C433C7;
 Thu,  4 Apr 2024 23:57:19 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13f56a8b-f2df-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712275040;
	bh=YTWn/jLDqYsG7yndIXOne58onBFK4yvUrvIZTyJfHdA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HOKH3deZ1r7mX+GVFVHMC4Yi4ddyWvN2eA7WhsPO6Z/6vHHimUD87LA87DFSJrizo
	 2N3myvv+Lfx8xRQVXXGeueAsjvpsQc/x+rps+cryWKpGUlwPfh3hPSxDuYGhYLgc04
	 eKdVCWElnFFb0rU0nu2Bm7ktCQRABcQw/sohTWhjLz82n4C9haY7gfORPklDcp4gpU
	 C0EjT/8q/VXxIEwAuG2KNpum8ACZUXq5ZwiTOBG0xc6jNtM9owvRt2hwizNgLHq04i
	 NpUgj82MOdpzM1HOhvTtbLoZGQOUzboLa38VutpzfshZGJx+wbiwt/8R5IeJyjeimJ
	 l9IJaM5j6Ztkg==
Date: Thu, 4 Apr 2024 16:57:18 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, 
    "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: [PATCH v3] docs/misra: document the expected sizes of integer
 types
In-Reply-To: <703E19A2-FED2-4DA1-B9AA-1AF55BBE85B4@arm.com>
Message-ID: <alpine.DEB.2.22.394.2404041656390.2245130@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop> <703E19A2-FED2-4DA1-B9AA-1AF55BBE85B4@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, 4 Apr 2024, Bertrand Marquis wrote:
> Hi Stefano,
> 
> > On 4 Apr 2024, at 03:12, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > 
> > Xen makes assumptions about the size of integer types on the various
> > architectures. Document these assumptions.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > Changes in v3:
> > - add links to System V, AAPCS32 and AAPCS64
> > 
> > ---
> > docs/misra/C-language-toolchain.rst | 69 +++++++++++++++++++++++++++++
> > 1 file changed, 69 insertions(+)
> > 
> > diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
> > index b7c2000992..84b21992bc 100644
> > --- a/docs/misra/C-language-toolchain.rst
> > +++ b/docs/misra/C-language-toolchain.rst
> > @@ -480,4 +480,73 @@ The table columns are as follows:
> >      - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Section "11.1 Implementation-defined behavior" of CPP_MANUAL.
> > 
> > 
> > +Sizes of Integer types
> > +______________________
> > +
> > +Xen expects System V ABI on x86_64:
> > +  https://gitlab.com/x86-psABIs/x86-64-ABI
> > +
> > +Xen expects AAPCS32 on ARMv8-A AArch32:
> > +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
> > +
> > +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
> > +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
> 
> We still support armv7 somehow so we should add something for it here.
> 
> > +
> > +A summary table of data types, sizes and alignment is below:
> > +
> > +.. list-table::
> > +   :widths: 10 10 10 45
> > +   :header-rows: 1
> > +
> > +   * - Type
> > +     - Size
> > +     - Alignment
> > +     - Architectures
> > +
> > +   * - char 
> > +     - 8 bits
> > +     - 8 bits
> > +     - all architectures
> > +
> > +   * - short
> > +     - 16 bits
> > +     - 16 bits
> > +     - all architectures
> > +
> > +   * - int
> > +     - 32 bits
> > +     - 32 bits
> > +     - all architectures
> > +
> > +   * - long
> > +     - 32 bits
> > +     - 32 bits 
> > +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> 
> Same here armv7 should be mentioned.
> 
> > +
> > +   * - long
> > +     - 64 bits
> > +     - 64 bits 
> > +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> > +
> > +   * - long long
> > +     - 64-bit
> > +     - 32-bit
> > +     - x86_32
> > +
> > +   * - long long
> > +     - 64-bit
> > +     - 64-bit
> > +     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32
> 
> Should this be all architecture except x86_32 ?

yes

> > +
> > +   * - pointer
> > +     - 32-bit
> > +     - 32-bit
> > +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> 
> Armv7 missing here.

What is the formal name I should use for it here? ARMv7 AArch32 ?


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:05:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:05:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701037.1095057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsX4s-0007ey-S6; Fri, 05 Apr 2024 00:05:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701037.1095057; Fri, 05 Apr 2024 00:05:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsX4s-0007er-Ow; Fri, 05 Apr 2024 00:05:06 +0000
Received: by outflank-mailman (input) for mailman id 701037;
 Fri, 05 Apr 2024 00:05: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=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsX4q-0007el-MD
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:05:04 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25d79156-f2e0-11ee-afe5-a90da7624cb6;
 Fri, 05 Apr 2024 02:05:03 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 68C94CE314D;
 Fri,  5 Apr 2024 00:05:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 69D58C433F1;
 Fri,  5 Apr 2024 00:04:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25d79156-f2e0-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712275499;
	bh=hlPLl9kOrj1bnGQiJPT9p/7QCXrhaKFXx+yK0bGFZsw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gdjTLogAe1t3RtdgrjvvjlXK6jjHKOwb4tE7xWDO2FhqwteLtBtDzdvTDtEN0GZyb
	 FQKUoH8EzVv991msLxrIBpX+06ilP2d794sBqEpw9QJDN4sQB56mXIwBGImxEXVwpB
	 wYqwSWS+q5Z99Ro6MYdGWxiDs1bELEXqAgGzSnUy1u1SkpIr4F1snymf5bOA7W7Kem
	 Aks3j6Ik1EMt42V0nWF9zMYnuuhNpmEi20+vFW7hReXuB1RlvwlQWYxUgBDyh9B2UK
	 pC0QVVuyHtHDQPNPCj6zgJTJtu0azmpyMtF4mEDmJASSAJHFCMi8Gyq0SZcaopdOfi
	 J1mEzmPEDKBPw==
Date: Thu, 4 Apr 2024 17:04:57 -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, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] automaton/eclair: add deviations for MISRA C:2012
 Rule 13.6
In-Reply-To: <4c008f38-2618-4e17-8cb5-c226660edf37@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404041701530.2245130@ubuntu-linux-20-04-desktop>
References: <cca71f954bec4efc14b98e3ad991581441d593d7.1712238975.git.federico.serafini@bugseng.com> <4c008f38-2618-4e17-8cb5-c226660edf37@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, 4 Apr 2024, Jan Beulich wrote:
> Further, according to the discussion on the matter: alternative_call() is
> quite similar in this regard, just that it uses typeof(). Imo it should be
> deviated here as well right away, no matter whether Eclair can actually be
> configured to also check typeof() and alignof().

On this specific point regarding typeof, I agree but it should be done
as a separate rule (not 13.6), to make sure it matches the scanner
results. It looks like the new rule will be called B.MISLEFF. 


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:11:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:11:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701039.1095066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXAu-0001EI-Fg; Fri, 05 Apr 2024 00:11:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701039.1095066; Fri, 05 Apr 2024 00:11:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXAu-0001EB-D9; Fri, 05 Apr 2024 00:11:20 +0000
Received: by outflank-mailman (input) for mailman id 701039;
 Fri, 05 Apr 2024 00: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=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXAt-0001E5-Bb
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:11:19 +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 05118aee-f2e1-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 02:11: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 B433F61760;
 Fri,  5 Apr 2024 00:11:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3BB8FC433C7;
 Fri,  5 Apr 2024 00:11: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: 05118aee-f2e1-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712275875;
	bh=4imSE6SeydPBnL4L4W+FoBGx4LT9iAce8CQA7NgZOMI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=P6s8PUHzo15j81341lStTZfPhCA7BSBwjWUO9homQia8IpRZrjmuXGFUtUBesGizh
	 7LYCKT99mPmPQviHWcwOVYN6jyySpqemsJwArUMsYP1/bxIHTyPAqy2I/1xDjn2wy9
	 FFeb25ITy+y6eUnwaXQGN44OLTDY+EblUBWl5RFMpDvQC0IC+OI9Z61uS6DuhZT7p3
	 BeRiRGCWdw+hb1tOeTpjaNYncWR9YW2x8SUj81tAO+za0Nrg9+jvBESPpW7zv8f9Ge
	 /Myyrksuu8kjpQdRrJCfNEfkh7RzY7ZrKVlRzY3Rjjf5QI7GC9myq/i4rNvnYyD8lv
	 qOwVmUlcl3Cbw==
Date: Thu, 4 Apr 2024 17:11:13 -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, bertrand.marquis@arm.com, julien@xen.org, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3 2/7] arm/public: address violations of MISRA C
 Rule 20.7
In-Reply-To: <142c27a41cea7402a68035dd466db0b47487fb06.1711700095.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404041711040.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1711700095.git.nicola.vetrini@bugseng.com> <142c27a41cea7402a68035dd466db0b47487fb06.1711700095.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 29 Mar 2024, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


> ---
>  xen/include/public/arch-arm.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index a25e87dbda3a..e167e14f8df9 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -209,7 +209,7 @@
>      do {                                                    \
>          __typeof__(&(hnd)) _sxghr_tmp = &(hnd);             \
>          _sxghr_tmp->q = 0;                                  \
> -        _sxghr_tmp->p = val;                                \
> +        _sxghr_tmp->p = (val);                              \
>      } while ( 0 )
>  #define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:13:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:13:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701043.1095076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXD3-0001q9-Uj; Fri, 05 Apr 2024 00:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701043.1095076; Fri, 05 Apr 2024 00:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXD3-0001q2-S6; Fri, 05 Apr 2024 00:13:33 +0000
Received: by outflank-mailman (input) for mailman id 701043;
 Fri, 05 Apr 2024 00:13:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXD2-0001pu-PZ
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:13:32 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54ce45ea-f2e1-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 02:13: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 7ED3F60C40;
 Fri,  5 Apr 2024 00:13:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8ADD9C433C7;
 Fri,  5 Apr 2024 00:13: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: 54ce45ea-f2e1-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712276009;
	bh=Pk7c874I9b3T2WhZZc9vZGzn5Wd5G/q7UVglQhSyr4U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sefhStTKWWhmAW6buARtMrSeQY0g68IXi5F8v96WCFCmpwjFZVTf/F7sHRKbH3zK/
	 TJXzLhHw+7E5PF3kunFcjgYumofkPnReGoJ4ka3m+aBVbz2sqRzRP53nCDTamjI5qd
	 ei2MBmWbAKZP5lm98El8b7qz4zodQaZULyVEJ1+P8vEFRoC9bWWhcHPb47rSZFWRWA
	 e6SKO6g27CrncsO/vGLaSTtIuyap+opyu7emZGV/yUX9WY4TMh6NAJWuKq57qxJoW0
	 aMIkwxY6Ui3K1kjrAN7VOeJUywYKrmjGJxLw0GG+OFqIr8Qgb50y9tpS7qgSVIL4LW
	 mLMnBBkL8KLsQ==
Date: Thu, 4 Apr 2024 17:13:26 -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, bertrand.marquis@arm.com, julien@xen.org, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH v3 5/7] automation/eclair: add deviations for Rule
 20.7
In-Reply-To: <f20c06179dcdaff7c4e1246ed49a685d4d25497b.1711700095.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404041713190.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1711700095.git.nicola.vetrini@bugseng.com> <f20c06179dcdaff7c4e1246ed49a685d4d25497b.1711700095.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 29 Mar 2024, Nicola Vetrini wrote:
> These deviations deal with the following cases:
> - macro arguments used directly as initializer list arguments;
> - uses of the __config_enabled macro, that can't be brought
>   into compliance without breaking its functionality;
> - exclude files that are out of scope (efi headers and cpu_idle);
> - uses of alternative_{call,vcall}[0-9] macros.
> 
> The existing configuration for R20.7 is reordered so that it matches the
> cases listed in its documentation comment.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:18:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701047.1095086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXHT-0002PZ-Fc; Fri, 05 Apr 2024 00:18:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701047.1095086; Fri, 05 Apr 2024 00:18:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXHT-0002PS-D3; Fri, 05 Apr 2024 00:18:07 +0000
Received: by outflank-mailman (input) for mailman id 701047;
 Fri, 05 Apr 2024 00:18:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXHS-0002PM-94
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:18:06 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7b7b91d-f2e1-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 02:18:04 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 88A366178B;
 Fri,  5 Apr 2024 00:18:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47DC7C433F1;
 Fri,  5 Apr 2024 00:18:01 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7b7b91d-f2e1-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712276282;
	bh=cGm1/1WVZOIXnaFQjd8ehPkD7r1zBPTen/qA2ytABE4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BOSCKseYj9dP7BpikoN3QhL9XcW9q/3v4ravZqxhmKirpl9pGcyXSCt/UrJJ3+PXm
	 Jw4uDnmzA+VIRw1bO/TGkg797ZZpHTDqFC7+zy7ZNhFoPnQRZARMFEeOZxuzEOvb/b
	 A79r8ORZwjQTOfp2FVPjzCxntFysnwB8xhhX6r3zvPRuZTBBzH1LSJGQIuAVK/vuu9
	 DsAfRaVqRpAj8XwWlQp1ynoH3NoGOkjsvxemOKKdmQjX6UXdProTVKmPGQYacKOFqL
	 zek80eLNhR4Ad9FW6rgslmBMjAsma49FF5ntrLBzUZ/9z0XXxkITyZGx+03VNruGbn
	 2zz3nxhLgn/ng==
Date: Thu, 4 Apr 2024 17:18:00 -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: Jan Beulich <jbeulich@suse.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, consulting@bugseng.com, 
    George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org, 
    Dario Faggioli <dfaggioli@suse.com>
Subject: Re: [XEN PATCH 3/7] xen/sched: address a violation of MISRA C:2012
 Rule 16.3
In-Reply-To: <0d0c8cd162a8bfed07dd374ef2dd62d4@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404041715400.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712042178.git.federico.serafini@bugseng.com> <8f91430e37594831dd8d92ab630477be88417b49.1712042178.git.federico.serafini@bugseng.com> <28786c5b-c625-4754-980d-c9a0fdc49c37@suse.com> <0d0c8cd162a8bfed07dd374ef2dd62d4@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 3 Apr 2024, Nicola Vetrini wrote:
> On 2024-04-03 08:33, Jan Beulich wrote:
> > On 02.04.2024 09:22, Federico Serafini wrote:
> > > Use pseudo-keyword fallthrough to meet the requirements to deviate
> > > 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/sched/credit2.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
> > > index c76330d79d..0962b52415 100644
> > > --- a/xen/common/sched/credit2.c
> > > +++ b/xen/common/sched/credit2.c
> > > @@ -3152,8 +3152,8 @@ static int cf_check csched2_sys_cntl(
> > >              printk(XENLOG_INFO "Disabling context switch rate
> > > limiting\n");
> > >          prv->ratelimit_us = params->ratelimit_us;
> > >          write_unlock_irqrestore(&prv->lock, flags);
> > > +        fallthrough;
> > > 
> > > -    /* FALLTHRU */
> > >      case XEN_SYSCTL_SCHEDOP_getinfo:
> > >          params->ratelimit_us = prv->ratelimit_us;
> > >          break;
> > 
> > Hmm, the description doesn't say what's wrong with the comment. Furthermore
> > docs/misra/rules.rst doesn't mention "fallthrough" at all, nor the
> > alternative of using comments. I notice docs/misra/deviations.rst does, and
> > there the specific comment used here isn't covered. That would want saying
> > in the description.
> > 
> > Stefano (and others) - in this context it becomes noticeable that having
> > stuff scattered across multiple doc files isn't necessarily helpful. Other
> > permissible keywords are mentioned in rules.rst. The pseudo-keyword
> > "fallthrough" as well as comments are mentioned on deviations.rst. Could
> > you remind me of the reason(s) why things aren't recorded in a single,
> > central place?
> > 
> > Jan
> 
> If I recall correctly, the idea was to avoid rules.rst from getting too long
> and too specific about which patterns were deviated, while also having a
> precise record of the MISRA deviations that didn't live in ECLAIR-specific
> files. Maybe the use of the pseudo-keyword emerged after the rule was added to
> rules.rst, since deviations.rst is updated more frequently.

Yes exactly.

I agree with Jan that a single central place is easiest but we cannot
move everything that is in deviations.rst in the note section of the
rules.rst table. Of the two, it would be best to reduce the amount of
notes in rules.rst and move all the deviations listed in rules.rst to
deviations.rst. That way at least the info is present only once,
although they are 2 files.


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:20:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701049.1095096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXJw-0004YE-TC; Fri, 05 Apr 2024 00:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701049.1095096; Fri, 05 Apr 2024 00: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 1rsXJw-0004Y7-QS; Fri, 05 Apr 2024 00:20:40 +0000
Received: by outflank-mailman (input) for mailman id 701049;
 Fri, 05 Apr 2024 00:20:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXJv-0004Xz-Jf
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:20:39 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 532fefa4-f2e2-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 02:20:37 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 56F3660C40;
 Fri,  5 Apr 2024 00:20:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 81C6AC433F1;
 Fri,  5 Apr 2024 00:20:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 532fefa4-f2e2-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712276436;
	bh=obwnA1AJLjBkCRCH7n1AjXqs2iynz4NwOh/ulWZTer8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gsYBul4y7QYTvYyBC5DgpnJsrSo2KsCvR54gSk3lGzCyp6wis7B+u8BazNEuPXL5j
	 ERDntmk92zIgg78c/bNhOngo4J10biQpP1bqe4u9NojGTX0tRb7BGvgRnfLt0NyO9M
	 GaykQesD1GIuFhbtayejQ3XnoBmMppHapccl+ZNTY+UeII3WzZEDquV+zBRgMlYnZW
	 uOkJ0hyUsCIO5i8tRyBEeFXqy5uRdGnL6mE9W1FAgOxmXhojfTnA/H+U1biYL4XNsy
	 EorGAfKEHjPodGqYzN7QeLQSDz4DugaZ1i/RAVNGffUkJB2OpTFQCWFD7KU7/f5Vsa
	 FKpQjm6+KszkA==
Date: Thu, 4 Apr 2024 17:20:33 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Carlo Nonato <carlo.nonato@minervasys.tech>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Marco Solieri <marco.solieri@minervasys.tech>, 
    xen-devel@lists.xenproject.org, 
    Andrea Bastoni <andrea.bastoni@minervasys.tech>
Subject: Re: [PATCH v7 04/14] xen/arm: add Dom0 cache coloring support
In-Reply-To: <a12c4f8a-54d8-41b9-8ce8-6628a1d85c1c@xen.org>
Message-ID: <alpine.DEB.2.22.394.2404041720030.2245130@ubuntu-linux-20-04-desktop>
References: <20240315105902.160047-1-carlo.nonato@minervasys.tech> <20240315105902.160047-5-carlo.nonato@minervasys.tech> <fa879713-4eee-4905-83f9-6182924cddbb@suse.com> <CAG+AhRW8xDun1WGimaqsaUR+YqL4vW-OmiDMQHCBxT=S+pgOwQ@mail.gmail.com>
 <3ff10fdd-5a85-43b3-853a-fe69c7388ca9@suse.com> <CAG+AhRUzj+hY0+F-zCSaq5nkC5CTLRdtcbmtr7PZEQKrdMWWWQ@mail.gmail.com> <22ab32bb-b0d0-4d68-8918-5fcb42cc0f88@suse.com> <CAG+AhRVEM+hcEbBO5Konjty8gQtZ0kq27rPjXCqsF627t9fqwg@mail.gmail.com>
 <a12c4f8a-54d8-41b9-8ce8-6628a1d85c1c@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1255371334-1712276436=:2245130"

  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-1255371334-1712276436=:2245130
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 27 Mar 2024, Julien Grall wrote:
> Hi,
> 
> On 27/03/2024 11:39, Carlo Nonato wrote:
> > On Fri, Mar 22, 2024 at 8:26 AM Jan Beulich <jbeulich@suse.com> wrote:
> > > 
> > > On 21.03.2024 18:31, Carlo Nonato wrote:
> > > > On Thu, Mar 21, 2024 at 4:57 PM Jan Beulich <jbeulich@suse.com> wrote:
> > > > > 
> > > > > On 21.03.2024 16:04, Carlo Nonato wrote:
> > > > > > On Tue, Mar 19, 2024 at 4:30 PM Jan Beulich <jbeulich@suse.com>
> > > > > > wrote:
> > > > > > > On 15.03.2024 11:58, Carlo Nonato wrote:
> > > > > > > > --- a/docs/misc/xen-command-line.pandoc
> > > > > > > > +++ b/docs/misc/xen-command-line.pandoc
> > > > > > > > @@ -963,6 +963,15 @@ Controls for the dom0 IOMMU setup.
> > > > > > > > 
> > > > > > > >   Specify a list of IO ports to be excluded from dom0 access.
> > > > > > > > 
> > > > > > > > +### dom0-llc-colors
> > > > > > > > +> `= List of [ <integer> | <integer>-<integer> ]`
> > > > > > > > +
> > > > > > > > +> Default: `All available LLC colors`
> > > > > > > > +
> > > > > > > > +Specify dom0 LLC color configuration. This option is available
> > > > > > > > only when
> > > > > > > > +`CONFIG_LLC_COLORING` is enabled. If the parameter is not set,
> > > > > > > > all available
> > > > > > > > +colors are used.
> > > > > > > 
> > > > > > > My reservation towards this being a top-level option remains.
> > > > > > 
> > > > > > How can I turn this into a lower-level option? Moving it into
> > > > > > "dom0=" doesn't
> > > > > > seem possible to me. How can I express a list (llc-colors) inside
> > > > > > another list
> > > > > > (dom0)? dom0=llc-colors=0-3,12-15,other-param=... How can I stop
> > > > > > parsing
> > > > > > before reaching other-param?
> > > > > 
> > > > > For example by using a different separator:
> > > > > 
> > > > > dom0=llc-colors=0-3+12-15,other-param=...
> > > > 
> > > > Ok, but that would mean to change the implementation of the parsing
> > > > function
> > > > and to adopt this syntax also in other places, something that I would've
> > > > preferred to avoid. Anyway I'll follow your suggestion.
> > > 
> > > Well, this is all used by Arm only for now. You will want to make sure Arm
> > > folks are actually okay with this alternative approach.
> > > 
> > > Jan
> > 
> > Are you Arm maintainers ok with this?
> 
> Unfortunately no. I find the use of + and "nested" = extremely confusing to
> read.
> 
> There might be other symbols to use (e.g. s/=/:/ s#+#/#), but I am not
> entirely sure the value of trying to cram all the options under a single
> top-level parameter. So I right now, I would prefrr if we stick with the
> existing approach (i.e. introducing dom0-llc-colors).

I also prefer the original as suggested in this version of the patch
--8323329-1255371334-1712276436=:2245130--


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:24:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701051.1095107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXNC-000581-AR; Fri, 05 Apr 2024 00:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701051.1095107; Fri, 05 Apr 2024 00:24:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXNC-00057u-7v; Fri, 05 Apr 2024 00:24:02 +0000
Received: by outflank-mailman (input) for mailman id 701051;
 Fri, 05 Apr 2024 00:24: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=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXNB-00057o-Ml
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:24:01 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb4a6d9d-f2e2-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 02:23:59 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 3F830CE3531;
 Fri,  5 Apr 2024 00:23:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0BC97C433C7;
 Fri,  5 Apr 2024 00:23:52 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb4a6d9d-f2e2-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712276634;
	bh=Inc3BTBxcJgkwrRPNJvHzcmhP8p/ET1/Qb9nUtjIqSc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LOYM2obg2oYkps30G+3FANryVDjlpQlamZIkQB7HpcLUwsEP++1QVq10xX74FwzhS
	 OZ0Kmm2Sr2YjLvxi6YjobCGIfXAI+g9UNx6mfLatmEfyaSXR9Xx+ynsOC9XezUiTBn
	 AVbuDP7K90QJIKeBgmYh3D/rrVN8Z1rJ7gEuzIR+uCvxKxeftgMBjr/H8tOct0yhOE
	 NSaVtu6KpxUPX35jNKY20SaEXdRf0S/i06bX3TEzW0k+PqlhRwuEQ1EcxwHFPAnJ/j
	 WKhtCxnqP+OypB8SH5viFCKuJTQvSTi680OrignCuszZOxMuNz6Kf1fPqn/r4KPsnO
	 BWc/CHoKGXYFQ==
Date: Thu, 4 Apr 2024 17:23:52 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: John Ernberg <john.ernberg@actia.se>
cc: 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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Peng Fan <peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
Subject: Re: [PATCH v3 3/3] MAINTAINERS: Become a reviewer of iMX8Q{M,XP}
 related patches
In-Reply-To: <20240328163351.64808-4-john.ernberg@actia.se>
Message-ID: <alpine.DEB.2.22.394.2404041723250.2245130@ubuntu-linux-20-04-desktop>
References: <20240328163351.64808-1-john.ernberg@actia.se> <20240328163351.64808-4-john.ernberg@actia.se>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 28 Mar 2024, John Ernberg wrote:
> I have experience with the IMX8QXP, and the supported parts of the IMX8QM
> are identical.
> 
> Help review patches touching these areas.

You need to add a signed-off-by. With that:

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

> ---
> 
> v3:
>  - New patch (Bertrand Marquis)
> ---
>  MAINTAINERS | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1bd22fd75f..09982241b3 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -337,6 +337,11 @@ F:	tools/misc/xenhypfs.c
>  F:	xen/common/hypfs.c
>  F:	xen/include/xen/hypfs.h
>  
> +IMX8QM/QXP SUPPORT
> +R:	John Ernberg <john.ernberg@actia.se>
> +F:	xen/arch/arm/platforms/imx8qm.c
> +F:	xen/drivers/char/imx-lpuart.c
> +
>  INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
>  R:	Lukasz Hawrylko <lukasz@hawrylko.pl>
>  R:	Daniel P. Smith <dpsmith@apertussolutions.com>
> -- 
> 2.44.0
> 


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:25:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701053.1095116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXOy-0005dw-Lb; Fri, 05 Apr 2024 00:25:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701053.1095116; Fri, 05 Apr 2024 00:25:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXOy-0005dp-J7; Fri, 05 Apr 2024 00:25:52 +0000
Received: by outflank-mailman (input) for mailman id 701053;
 Fri, 05 Apr 2024 00:25:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXOx-0005dh-SN
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:25:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ddf933c-f2e3-11ee-afe5-a90da7624cb6;
 Fri, 05 Apr 2024 02:25: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 72D9461711;
 Fri,  5 Apr 2024 00:25:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 023B4C433F1;
 Fri,  5 Apr 2024 00:25:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ddf933c-f2e3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712276749;
	bh=q/HXQKLVN0ZS7V7G6GRbRG4JbadWW8TteYXBjpxmWdg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=O0z80hziPyxT0JLvv/3oMz2SGANh8iA9pHilyPsD7qk1H9vyF7JSTVdZ2zVVbvGHt
	 bZRlLs5mlTzzyfHZF+HTDDYsHMUcHNlFmJv8oa1FuqzhcRAH9dElyZZe9+POUri+Tu
	 sVVlMgRoQNxrPczmTMsW7zW/7/JyPef3JrhottrAP696s8EzjhO84qVEtbdg0q1dsP
	 TDCweNAQDvonSCVAyvsHhBZbaQllGtfGCOj+Wmq7XBaXbrmBiZwZ70mKjXc9rHvyXr
	 r/KU7Mo1FeTvG4pgEG0SEtY46ye/M3t6d2U3RnWMdjROpAnOMM7hBI9vFyaPVpRrll
	 eMgCXBhWjj6lA==
Date: Thu, 4 Apr 2024 17:25:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Simone Ballarin <simone.ballarin@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v3 1/2] MISRA C:2012 Rule 17.1 states: The features
 of `<stdarg.h>' shall not be used
In-Reply-To: <b55dae384907d60d4524ab17a8135859ec0f5270.1711621080.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404041725240.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1711621080.git.simone.ballarin@bugseng.com> <b55dae384907d60d4524ab17a8135859ec0f5270.1711621080.git.simone.ballarin@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 28 Mar 2024, Simone Ballarin wrote:
> The Xen community wants to avoid using variadic functions except for
> specific circumstances where it feels appropriate by strict code review.
> 
> Add deviation for printf()-like functions.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

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



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:27:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701059.1095127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXQh-0006Bp-1Q; Fri, 05 Apr 2024 00:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701059.1095127; Fri, 05 Apr 2024 00:27:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXQg-0006Bi-U5; Fri, 05 Apr 2024 00:27:38 +0000
Received: by outflank-mailman (input) for mailman id 701059;
 Fri, 05 Apr 2024 00:27:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXQf-0006Ba-V2
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:27:37 +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 4c5fea5b-f2e3-11ee-afe5-a90da7624cb6;
 Fri, 05 Apr 2024 02:27:36 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 7B8DC6178E;
 Fri,  5 Apr 2024 00:27:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE6BCC433C7;
 Fri,  5 Apr 2024 00:27:32 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c5fea5b-f2e3-11ee-afe5-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712276854;
	bh=GxsmvDDq2LYhU0OGXSmmHfWKNFojvsFGDr0U8bYt0BM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ONZIvxMCezsT7W6pMTPM7fheE8rJq2meLf4kdJ4B15gVvEtFBhKWred1EglfJS672
	 OLdxkq+jLRly0DNVNgKZ+Vo1vOwmr9IiowrnPpg3AcsBKKsEsD76Sm8bRsEKYYqrKb
	 3zR4Xl4JsL6TMW1gIt0PyiI8XYN7UEFAvdhZfaphwviqwzlGVepwMnxFuLERJ22vvx
	 M00xeuy4bSixvCV6v1YK8wka2gdlw+F8BcvZk/GlYpgbDkorrJ/fbw/JSfktu+zPLf
	 kgMeI6+jsOW2XjB8hIn73WbcZ+rsv8SKn/DsCTL6ZkCdjI0Kil/SbHJm6FI4ut4Etm
	 WoMeJIVIansQw==
Date: Thu, 4 Apr 2024 17:27:31 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Simone Ballarin <simone.ballarin@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    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>
Subject: Re: [XEN PATCH v3 2/2] MISRA C Rule 20.7 states: "The features of
 `<stdarg.h>' shall not be used"
In-Reply-To: <97008d1b28eb922b3c0041830b09e827396aa0ec.1711621080.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404041725580.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1711621080.git.simone.ballarin@bugseng.com> <97008d1b28eb922b3c0041830b09e827396aa0ec.1711621080.git.simone.ballarin@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 28 Mar 2024, Simone Ballarin wrote:
> The Xen community wants to avoid using variadic functions except for
> specific circumstances where it feels appropriate by strict code review.
> 
> Functions hypercall_create_continuation and hypercall_xlat_continuation
> are internal helper functions made to break long running hypercalls into
> multiple calls. They take a variable number of arguments depending on the
> original hypercall they are trying to continue.
> 
> Add SAF deviations for the aforementioned functions.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>


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

I fixed the title on commit


> ---
> Changes in v3:
> - rebase: change SAF-3-safe to SAF-4-safe.
> Changes in v2:
> - replaced "special hypercalls" with "internal helper functions".
> ---
>  docs/misra/safe.json     | 8 ++++++++
>  xen/arch/arm/domain.c    | 1 +
>  xen/arch/x86/hypercall.c | 2 ++
>  3 files changed, 11 insertions(+)
> 
> diff --git a/docs/misra/safe.json b/docs/misra/safe.json
> index d361d0e65c..fe2bc18509 100644
> --- a/docs/misra/safe.json
> +++ b/docs/misra/safe.json
> @@ -36,6 +36,14 @@
>          },
>          {
>              "id": "SAF-4-safe",
> +            "analyser": {
> +                "eclair": "MC3R1.R17.1"
> +            },
> +            "name": "Rule 17.1: internal helper functions made to break long running hypercalls into multiple calls.",
> +            "text": "They need to take a variable number of arguments depending on the original hypercall they are trying to continue."
> +        },
> +        {
> +            "id": "SAF-5-safe",
>              "analyser": {},
>              "name": "Sentinel",
>              "text": "Next ID to be used"
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index f38cb5e04c..34cbfe699a 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -382,6 +382,7 @@ unsigned long hypercall_create_continuation(
>      const char *p = format;
>      unsigned long arg, rc;
>      unsigned int i;
> +    /* SAF-4-safe allowed variadic function */
>      va_list args;
>  
>      current->hcall_preempted = true;
> diff --git a/xen/arch/x86/hypercall.c b/xen/arch/x86/hypercall.c
> index 01cd73040d..133e9f221c 100644
> --- a/xen/arch/x86/hypercall.c
> +++ b/xen/arch/x86/hypercall.c
> @@ -31,6 +31,7 @@ unsigned long hypercall_create_continuation(
>      const char *p = format;
>      unsigned long arg;
>      unsigned int i;
> +    /* SAF-4-safe allowed variadic function */
>      va_list args;
>  
>      curr->hcall_preempted = true;
> @@ -115,6 +116,7 @@ int hypercall_xlat_continuation(unsigned int *id, unsigned int nr,
>      struct cpu_user_regs *regs;
>      unsigned int i, cval = 0;
>      unsigned long nval = 0;
> +    /* SAF-4-safe allowed variadic function */
>      va_list args;
>  
>      ASSERT(nr <= ARRAY_SIZE(mcs->call.args));
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 00:27:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 00:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701060.1095137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsXQw-0006ZH-As; Fri, 05 Apr 2024 00:27:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701060.1095137; Fri, 05 Apr 2024 00: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 1rsXQw-0006ZA-89; Fri, 05 Apr 2024 00:27:54 +0000
Received: by outflank-mailman (input) for mailman id 701060;
 Fri, 05 Apr 2024 00:27:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsXQu-0006Vy-Dz
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 00:27:52 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5455c30d-f2e3-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 02:27:49 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 75657CE347E;
 Fri,  5 Apr 2024 00:27:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03BF6C433C7;
 Fri,  5 Apr 2024 00:27: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: 5455c30d-f2e3-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712276866;
	bh=30PenyC3oUnBo/HmSBvnSiYQ8blv5jGbvO6mZVYWJP8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OApH1BNlBOkEZVy6DJ3FYXLGhGOHTRkwEiIYrBaJTQgO0KfPDxjzmmeYI7glXSktH
	 pO98O3xK3DAzI6Ip6PiypOtvsZPrTMeIIqiTtizpBYO1jpfYVXzBaDbgxUEkbgKS48
	 zcV9J6a04OgSaGDM+r51HMEFTnsOFK83DuzirN25Vvy/M9RrjJ2ZMMt+wn9Lf1oJsa
	 crV+DDoGP9hs8XzoG1nXCdirx8AL66HNgWoJ5vT9XeDNewmJZKuInURPt3oGiu9D3h
	 M7CtfmfAvL+nDeo+i293x3N47gIdqWJxJyvI4uM2qsb8p/Mbb8HobKDwyrvwl7lcs/
	 86L4ZXLFgypJw==
Date: Thu, 4 Apr 2024 17:27:43 -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, bertrand.marquis@arm.com, julien@xen.org, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH v3 5/7] automation/eclair: add deviations for Rule
 20.7
In-Reply-To: <f20c06179dcdaff7c4e1246ed49a685d4d25497b.1711700095.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404041711440.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1711700095.git.nicola.vetrini@bugseng.com> <f20c06179dcdaff7c4e1246ed49a685d4d25497b.1711700095.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 29 Mar 2024, Nicola Vetrini wrote:
> These deviations deal with the following cases:
> - macro arguments used directly as initializer list arguments;
> - uses of the __config_enabled macro, that can't be brought
>   into compliance without breaking its functionality;
> - exclude files that are out of scope (efi headers and cpu_idle);
> - uses of alternative_{call,vcall}[0-9] macros.
> 
> The existing configuration for R20.7 is reordered so that it matches the
> cases listed in its documentation comment.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

> ---
>  .../eclair_analysis/ECLAIR/deviations.ecl     | 25 +++++++++++++++++--
>  docs/misra/deviations.rst                     | 14 ++++++++++-
>  docs/misra/rules.rst                          |  2 +-
>  3 files changed, 37 insertions(+), 4 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index de9ba723fbc7..70756503f594 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -401,12 +401,33 @@ unexpected result when the structure is given as argument to a sizeof() operator
>  
>  -doc_begin="Code violating Rule 20.7 is safe when macro parameters are used: (1)
>  as function arguments; (2) as macro arguments; (3) as array indices; (4) as lhs
> -in assignments."
> +in assignments; (5) as initializers, possibly designated, in initalizer lists."
>  -config=MC3R1.R20.7,expansion_context=
>  {safe, "context(__call_expr_arg_contexts)"},
> +{safe, "left_right(^[(,\\[]$,^[),\\]]$)"},
>  {safe, "context(skip_to(__expr_non_syntactic_contexts, stmt_child(node(array_subscript_expr), subscript)))"},
>  {safe, "context(skip_to(__expr_non_syntactic_contexts, stmt_child(operator(assign), lhs)))"},
> -{safe, "left_right(^[(,\\[]$,^[),\\]]$)"}
> +{safe, "context(skip_to(__expr_non_syntactic_contexts, stmt_child(node(init_list_expr||designated_init_expr), init)))"}
> +-doc_end
> +
> +-doc_begin="Violations involving the __config_enabled macros cannot be fixed without
> +breaking the macro's logic; futhermore, the macro is only ever used in the context
> +of the IS_ENABLED or STATIC_IF/STATIC_IF_NOT macros, so it always receives a literal
> +0 or 1 as input, posing no risk to safety."
> +-config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(any_exp(macro(^___config_enabled$))))"}
> +-doc_end
> +
> +-doc_begin="Violations due to the use of macros defined in files that are
> +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(acpi_cpu_idle)))"}
> +-doc_end
> +
> +-doc_begin="To avoid compromising readability, the macros alternative_(v)?call[0-9] are allowed
> +not to parenthesize their arguments."
> +-config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(any_exp(macro(^alternative_(v)?call[0-9]$))))"}
>  -doc_end
>  
>  -doc_begin="Uses of variadic macros that have one of their arguments defined as
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index eb5ef2bd9dd6..5fdacfd420a1 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -345,7 +345,19 @@ Deviations related to MISRA C:2012 Rules:
>         (1) as function arguments;
>         (2) as macro arguments;
>         (3) as array indices;
> -       (4) as lhs in assignments.
> +       (4) as lhs in assignments;
> +       (5) as initializers, possibly designated, in initalizer lists.
> +     - Tagged as `safe` for ECLAIR.
> +
> +   * - R20.7
> +     - Violations due to the use of macros defined in files that are not
> +       in scope for compliance are allowed, as that is imported code.
> +     - Tagged as `safe` for ECLAIR.
> +
> +   * - R20.7
> +     - To avoid compromising readability, the macros `alternative_(v)?call[0-9]`
> +       are allowed not to parenthesize their arguments, as there are already
> +       sanity checks in place.
>       - Tagged as `safe` for ECLAIR.
>  
>     * - R20.12
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 1e134ccebc48..3914af08495b 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -560,7 +560,7 @@ maintainers if you want to suggest a change.
>         shall be enclosed in parentheses
>       - Extra parentheses are not required when macro parameters are used
>         as function arguments, as macro arguments, array indices, lhs in
> -       assignments
> +       assignments or as initializers in initalizer lists.
>  
>     * - `Rule 20.9 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_20_09.c>`_
>       - Required
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 02:29:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 02:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701067.1095147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsZKe-0000fz-Gy; Fri, 05 Apr 2024 02:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701067.1095147; Fri, 05 Apr 2024 02: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 1rsZKe-0000fs-E6; Fri, 05 Apr 2024 02:29:32 +0000
Received: by outflank-mailman (input) for mailman id 701067;
 Fri, 05 Apr 2024 02:29: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 1rsZKc-0000fg-OF; Fri, 05 Apr 2024 02:29: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 1rsZKc-0004Ep-Ed; Fri, 05 Apr 2024 02:29: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 1rsZKc-0000Dv-3C; Fri, 05 Apr 2024 02:29:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsZKc-0002cQ-2g; Fri, 05 Apr 2024 02: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=c9kIQTstd3yg32q+b7Dxtwj9hn+KQ5vkYufvo4zmql0=; b=ue1mlaVvlAO1V0kgxzyydTkPLz
	T9E/ldReAtM+Iq7Y+jsSxPvmfFWBfRWNEyGXbAPw5lbqW8pss3obW1iaWeCAq+T+oWNCxcU8rVlQg
	5H+T3rld+RwKmD5XwdEea9jD1MyaXcX1SvxGtl8AcbUIat9YR7GydYePorUpT+CWUE0Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185242-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185242: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=270588b9b2b751b0bb6b36f4853cb13005e4706f
X-Osstest-Versions-That:
    xen=6eeb3e86bdfa55874f4c44527551e9b82125dc83
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 02:29:30 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  270588b9b2b751b0bb6b36f4853cb13005e4706f
baseline version:
 xen                  6eeb3e86bdfa55874f4c44527551e9b82125dc83

Last test of basis   185237  2024-04-04 11:00:26 Z    0 days
Testing same since   185242  2024-04-05 00:02:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   6eeb3e86bd..270588b9b2  270588b9b2b751b0bb6b36f4853cb13005e4706f -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 03:57:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 03:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701072.1095157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsahE-0003uk-J5; Fri, 05 Apr 2024 03:56:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701072.1095157; Fri, 05 Apr 2024 03:56:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsahE-0003ud-GE; Fri, 05 Apr 2024 03:56:56 +0000
Received: by outflank-mailman (input) for mailman id 701072;
 Fri, 05 Apr 2024 03:56: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 1rsahD-0003uT-7w; Fri, 05 Apr 2024 03:56: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 1rsahD-0005mC-05; Fri, 05 Apr 2024 03:56: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 1rsahC-0002Fm-Kr; Fri, 05 Apr 2024 03:56:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsahC-0002u7-KU; Fri, 05 Apr 2024 03:56:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=m0UfntgjBvz5nmeqS9L2YD6EhDMGeDRkLO+a7Q9UixQ=; b=AhKM2WAhosmcl5IkaDYXEDf4zy
	/NlO2fFRdrkEpAS7lxXHZBTAm7FMdYJQkkFqpRxrogYHms3XyCAL6kEfKnbFvep0aHXkyw8nSPRK6
	qaTL44dcjyX9UsVehb9tCfk2/ar57tuJs52zgshpRZD6Dh9dnUBPhMSTi5tWIp6zWIIU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185238-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185238: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm: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-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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-libvirt: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-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-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c85af715cac0a951eea97393378e84bb49384734
X-Osstest-Versions-That:
    linux=3e92c1e6cd876754b64d1998ec0a01800ed954a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 03:56:54 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build   fail in 185232 REGR. vs. 185228

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 185232

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185232 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185232 n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185228
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185228
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 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-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-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                c85af715cac0a951eea97393378e84bb49384734
baseline version:
 linux                3e92c1e6cd876754b64d1998ec0a01800ed954a6

Last test of basis   185228  2024-04-03 14:39:38 Z    1 days
Testing same since   185232  2024-04-03 23:42:55 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anup Patel <anup@brainfault.org>
  Anup Patel <apatel@ventanamicro.com>
  Ard Biesheuvel <ardb@kernel.org>
  Ashish Kalra <ashish.kalra@amd.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marc Zyngier <maz@kernel.org>
  Oliver Upton <oliver.upton@linux.dev>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Moore <paul@paul-moore.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Sean Christopherson <seanjc@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Will Deacon <will@kernel.org>
  Wujie Duan <wjduan@linx-info.com>
  Xiaoyao Li <xiaoyao.li@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 898 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 05:59:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 05:59:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701085.1095167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rscc0-00035G-97; Fri, 05 Apr 2024 05:59:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701085.1095167; Fri, 05 Apr 2024 05:59:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rscc0-000359-6Q; Fri, 05 Apr 2024 05:59:40 +0000
Received: by outflank-mailman (input) for mailman id 701085;
 Fri, 05 Apr 2024 05:59: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rscby-000353-VR
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 05:59:39 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae98f18e-f311-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 07:59:36 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-343c891bca5so811404f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 22:59: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
 m5-20020a5d56c5000000b00341ce80ea66sm1111715wrw.82.2024.04.04.22.59.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 22:59: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: ae98f18e-f311-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712296776; x=1712901576; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rXgOSVybI5H20xim7JEr4vUuVCujmBlaQTcO605vE2I=;
        b=SGAOhV1/RBfQquaPEQALnzXHwzf0J2yWJq581DS08ACsGOblmF6G7UGOUsZDDf6L5R
         hiT1CG+MUwINlF6fG3oj3SWFKhxa+dXVY6QGyXBwYQVPd23DfVcbX3ej2oGoKouDsOro
         m98CblNZLfIVb0ZmUy+/rc1YFTnu/Lk/7ba2S4bAZtAKFNTWUTOACxx27TVs1QbiXaGq
         VvjUl8u5hwaaj8t+5Yl0lXyabUHkK8TyDqI6Kd1pPWEXcB3AffE+w9eZb/WaFxxFvPUq
         GT9qLmG4MEIHCUE18FdriSiiRMShxq3Sdp6Q2yVsPHfPgfl0ac/loVOjg7wDZ0Ndt4NU
         lkKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712296776; x=1712901576;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=rXgOSVybI5H20xim7JEr4vUuVCujmBlaQTcO605vE2I=;
        b=YAf1tEZKSRt3exwT9lSHCFklJ3QdBoI2DZL95haXN9czyX8JIE0mfXMn6qd0PXhhlN
         tM3TfSvcrA2ukbP0AwrVe6CbRP7nfHsCiJ4sKZE5CXkP3sbNOdUjhWqI+5CRNkKdxcov
         keVpX9azBK7CRyADl5vQs7NnMFISsAQI7eptaqSBEbDdGut497fVCPPz/+vIFzT4on6R
         EWy1Epv4W7Q6qOzSO7SM8s7kCwkyEbNJvzwLpE0FGTtqW1dKQUZ1bgxlWmWWRR7GI5+2
         UZJDx9uxYbME9RCQ4tHcW+BaO6NgzkisS/I096ffpTiKxfTd+a4oyxHmKoVPLzrJjf7a
         G6Gw==
X-Forwarded-Encrypted: i=1; AJvYcCVKetQYRB1tMP0+oGoRmHATj/IYjrfglHOD9KyH96Mcc+INAh1f9CbtAnt2UOIF1jQCeA4TlZy+OT2Voi9QsLddRzTJV1f9HMMg5nQ1r0I=
X-Gm-Message-State: AOJu0YxxIINo/WEffqj3qSWnZOd2vijjJMIGpG22pluiOqN9zkeydmkQ
	2bqmuWD0vUAHcoXB4IN+UMcUumdfT+mrjqk0JS6KGkp49GCisdFheUr06fKHCA==
X-Google-Smtp-Source: AGHT+IGNfAtJOBm3u8B1HeFEmLo0CfzE4F9wnvyBnd7yrW24aNH0LgbYnfS9Qibs4zE2w1OZHOUmLA==
X-Received: by 2002:adf:fa8f:0:b0:343:b5f1:2da with SMTP id h15-20020adffa8f000000b00343b5f102damr460965wrr.11.1712296776127;
        Thu, 04 Apr 2024 22:59:36 -0700 (PDT)
Message-ID: <3419b5d6-ac57-4de4-a87d-c82577584fa8@suse.com>
Date: Fri, 5 Apr 2024 07:59:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "evtchn: refuse EVTCHNOP_status for Xen-bound
 event channels"
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240402170612.2477791-1-andrew.cooper3@citrix.com>
 <11957460-0b2b-432d-ad92-38350306c9ff@suse.com>
 <2df1e3ef-32c5-45c3-af1b-e9473a4e9120@apertussolutions.com>
 <d86e7a86-cd2a-4b0c-b269-6b4e9b2edff3@suse.com>
 <61945064-38ec-4ea5-9084-a82d3c252b2d@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <61945064-38ec-4ea5-9084-a82d3c252b2d@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 15:27, Daniel P. Smith wrote:
> On 4/3/24 08:05, Jan Beulich wrote:
>> On 03.04.2024 13:10, Daniel P. Smith wrote:
>>> On 4/3/24 02:16, Jan Beulich wrote:
>>>> On 02.04.2024 19:06, Andrew Cooper wrote:
>>>>>    It is also quite
>>>>> obvious from XSM_TARGET that it has broken device model stubdoms too.
>>>>
>>>> Why would that be "obvious"? What business would a stubdom have to look at
>>>> Xen's side of an evtchn?
>>>
>>> Again, you have not expressed why it shouldn't be able to do so.
>>
>> See above - not its resource, nor its guest's.
> 
> It is a resource provided to a domain that the domain can send/raise an 
> event to and a backing domain that can bind to it, ie. the two 
> parameters that must be passed to the allocation call.

Before writing this particular part of your reply, did you look as
evtchn_send()? Sending on such ports is similarly denied without
involving XSM. For a good reason, stated in the accompanying comment.
It is therefore simply inconsistent to allow any kind of other
operation on such ports. Hence the patch that Andrew now deems needs
reverting.

In fact I view these ports living in the guest's event channel space
as similarly inappropriate as the ioreq pages - until a few years
back - living in the guest's GFN space.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:05:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701088.1095177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rschl-0004cz-TZ; Fri, 05 Apr 2024 06:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701088.1095177; Fri, 05 Apr 2024 06:05:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rschl-0004cs-Qc; Fri, 05 Apr 2024 06:05:37 +0000
Received: by outflank-mailman (input) for mailman id 701088;
 Fri, 05 Apr 2024 06:05:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rschk-0004cm-Bj
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:05:36 +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 83b77fd9-f312-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 08:05:34 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2d23114b19dso20362441fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 23:05: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
 k41-20020a05600c1ca900b004156c501e24sm5129829wms.12.2024.04.04.23.05.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 23:05:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83b77fd9-f312-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712297133; x=1712901933; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Btnc2h8G17ewCsHT6UlOGFz9pkIVqSGlGBemIzmBJnI=;
        b=IGUhlTYT7l8JmC0af6VLCVwg6K0KCf4X11bANXC5aNJ/uirdJfkEAdZ8QcyfptnW/u
         a8ITSM/NC8R4s8WfzLPuFxBhru1U3IxRnm6mMg9NN6nnsi+r/0YAndbmxRwOaPA0tGa5
         Nm+RjNqgbKvK5LlNOUpLWDA5iZoGNAcOWjkbMHefEyG+hLEGiOMTN9+UCNAHsJz3jht2
         oXUQmR4VjaZljzoLBiPgcP1nP/WuRpOGerS08zKeZNRBu/ucW9qdAGElDbBWn6uikDcN
         4Rg02aDI4UOoZ5TWca1Xw77m01q4YxGRFlPJO8KePYuUIEIKFLP0L/ibA2XGdWyCTslv
         HGCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712297133; x=1712901933;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Btnc2h8G17ewCsHT6UlOGFz9pkIVqSGlGBemIzmBJnI=;
        b=DvGXurGACeaLcec6tJz/1zO0UKoOP2iDaeRV91Pz1aAIxyFIwPf/dxpiCjnDtHOIPJ
         CMsZFo4QkaAzKGMB54224P3SZv3LKtI1wH0CiQj8k5waeAIcnce9iSu0KSUjjhtOkRuP
         DDYcbuOgtUsrQUS7PW4kBDD94U+zNFt/H1XVq6H16i94smdWFntLTOIeN1aFul6VAyVk
         LXsGXbJanxCzeUnd3hz+YNtlbQuNuZfFDTHsGt011gmy/0GzoRTjYTv5Uz9Bwnm8Qg/k
         r0CUbkYcBPOzDyoZiLDwRJlMsEH1rYO0WryeyOuN9uUzO0kCCGOMDoZR6uIqXSnr+69r
         R9BA==
X-Forwarded-Encrypted: i=1; AJvYcCVRuXr/4k2YIhieSKt+WEd+EPl1Dg/DjzvocRU9rFW9ZnCiSyC8UR0cypWd5iWYjZ0YahnaQLclKPW4kMVFLl6+GfapiE2M1IyHDoROLF0=
X-Gm-Message-State: AOJu0YyurVdapwoVDz28G+ZJVthSU6AgQOyAYqwBQkNTQ1IQV4uGHZ+e
	FuQdst9L6R22R+f2xjuADzwgipta3z4LRaM6dSwcMsNW9xrMnxSy56kU42ol5w==
X-Google-Smtp-Source: AGHT+IFUKucmCh1+GvtZMkzxcZYuZFRfIJJmSAt1h8Auq0aJt9bLcEVoCqoU+rv3huQ0+chHc7Ty0g==
X-Received: by 2002:a2e:a368:0:b0:2d6:ecb1:ffb3 with SMTP id i8-20020a2ea368000000b002d6ecb1ffb3mr422683ljn.25.1712297133545;
        Thu, 04 Apr 2024 23:05:33 -0700 (PDT)
Message-ID: <0e9361f6-c419-4fdd-95a4-2fafa5de2406@suse.com>
Date: Fri, 5 Apr 2024 08:05:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs/misra: document the expected sizes of integer
 types
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, bertrand.marquis@arm.com,
 george.dunlap@citrix.com, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop>
 <e3e13f3f-3df6-4eb4-8b73-21387007e7c3@suse.com>
 <alpine.DEB.2.22.394.2404041548530.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404041548530.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 01:56, Stefano Stabellini wrote:
> On Thu, 4 Apr 2024, Jan Beulich wrote:
>> On 04.04.2024 03:12, Stefano Stabellini wrote:
>>> --- a/docs/misra/C-language-toolchain.rst
>>> +++ b/docs/misra/C-language-toolchain.rst
>>> @@ -480,4 +480,73 @@ The table columns are as follows:
>>>       - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Section "11.1 Implementation-defined behavior" of CPP_MANUAL.
>>>  
>>>  
>>> +Sizes of Integer types
>>> +______________________
>>> +
>>> +Xen expects System V ABI on x86_64:
>>> +  https://gitlab.com/x86-psABIs/x86-64-ABI
>>> +
>>> +Xen expects AAPCS32 on ARMv8-A AArch32:
>>> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
>>> +
>>> +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
>>> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
>>> +
>>> +A summary table of data types, sizes and alignment is below:
>>> +
>>> +.. list-table::
>>> +   :widths: 10 10 10 45
>>> +   :header-rows: 1
>>> +
>>> +   * - Type
>>> +     - Size
>>> +     - Alignment
>>> +     - Architectures
>>> +
>>> +   * - char 
>>> +     - 8 bits
>>> +     - 8 bits
>>> +     - all architectures
>>
>> This one _may_ be acceptable, but already feels like going too far.
>>
>>> +   * - short
>>> +     - 16 bits
>>> +     - 16 bits
>>> +     - all architectures
>>> +
>>> +   * - int
>>> +     - 32 bits
>>> +     - 32 bits
>>> +     - all architectures
>>
>> These two I continue to disagree with. The values are minimum required ones.
> 
> The purpose of the document docs/misra/C-language-toolchain.rst is to
> describe the reference safety-supported configuration. In a way, this
> document is similar to SUPPORT.md but for safety instead of security.
> 
> Here, we need to write down the stable configuration, the one everyone
> is aligned and convinced should work correctly.
> 
> Now, let's say that I believe you and agree with you that it should be
> possible to support int as 64-bit. This configuration is not tested. If
> I can draw a comparison, it would be similar to ask for XSM to be
> security supported while in fact is marked as experimental in
> SUPPORT.md.
> 
> If you want, taking inspiration from SUPPORT.md, we can have a
> "supported" column and a "experimental" column. In the experimental
> column we can write down "at least 32-bit" or "32-bit or larger".
> 
> 
>> Even if code changes may be needed (Misra already helps us here by stopping
>> undue mixing of e.g. unsigned int and uint32_t in at least some situations),
>> there's no inherent requirement in Xen for such restrictions.
> 
> I hope that my comparison with XSM and SUPPORT.md helps explain why we
> need to clarify the safety supported configuration with the values we
> actually validate Xen with.
> 
> Your goal is to write down what should work with Xen, which is also OK
> but it is a different goal. It is OK to say that we aim for Xen to also
> work with other configurations too, and list them. That was not my
> intention, but I can expand the scope if you request.

To achieve just your goal, would you then please replace all instances
of "all architectures" and "all <N>-bit architectures" by an enumeration
of the specific ones, as you have it elsewhere? This would then allow
architectures I'm thinking about without impacting your goal. FTAOD ...

>>> +   * - long
>>> +     - 32 bits
>>> +     - 32 bits 
>>> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
>>> +
>>> +   * - long
>>> +     - 64 bits
>>> +     - 64 bits 
>>> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
>>> +
>>> +   * - long long
>>> +     - 64-bit
>>> +     - 32-bit
>>> +     - x86_32
>>> +
>>> +   * - long long
>>> +     - 64-bit
>>> +     - 64-bit
>>> +     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32
>>
>> Along the lines of the above, simply saying "64-bit architectures" here
>> is too generic. Whereas for long (above) and ...
>>
>>> +   * - pointer
>>> +     - 32-bit
>>> +     - 32-bit
>>> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
>>> +
>>> +   * - pointer
>>> +     - 64-bit
>>> +     - 64-bit
>>> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
>>
>> ... pointers I agree (and the special mentioning of the architectures
>> in parentheses could even be omitted imo). To summarize, my counter
>> proposal:

... this counter proposal already specifically addressed that aspect, by
e.g. ...

>>    * - char 
>>      - at least 8 bits
> 
> this
> 
>>      - equaling size
>>      - all architectures
>>
>>    * - char
>>      - 8 bits
>>      - 8 bits
>>      - x86, ARM, RISC-V, PPC

... having two sections here: One to address your goal, and one to
address mine. My further suggestion further up merely would mean
dropping the generic parts (for imo no good reason).

Jan

>>    * - short
>>      - at least 16 bits
> 
> and this
> 
>>      - equaling size
>>      - all architectures
>>
>>    * - short
>>      - 16 bits
>>      - 16 bits
>>      - x86, ARM, RISC-V, PPC
>>
>>    * - int
>>      - at least 32 bits
> 
> and this, more below
> 
> 
>>      - equaling size
>>      - all architectures
>>
>>    * - int
>>      - 32 bits
>>      - 32 bits
>>      - x86, ARM, RISC-V, PPC
>>
>>    * - long
>>      - 32 bits
>>      - 32 bits 
>>      - 32-bit architectures
>>
>>    * - long
>>      - 64 bits
>>      - 64 bits 
>>      - 64-bit architectures
>>
>>    * - long long
>>      - 64-bit
>>      - 32-bit
>>      - x86_32
>>
>>    * - long long
>>      - 64-bit
>>      - 64-bit
>>      - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R AArch32
>>
>>    * - pointer
>>      - 32-bit
>>      - 32-bit
>>      - 32-bit architectures
>>
>>    * - pointer
>>      - 64-bit
>>      - 64-bit
>>      - 64-bit architectures
>>
>> Eventually, by properly decoupling pointers from longs (via using {,u}intptr_t
>> appropriately), the restrictions on "long" could also be lifted.
>>
>> Note that the generic requirements on char and short also are imposed by C99.
>> It may therefore not be necessary to state them explicitly, but rather refer
>> to that standard (just like you're now referencing the SysV psABI-s).
> 
> I am OK with the above, except for the three instances of "at least". As
> mentioned earlier, we need to specify the supported and validated
> configuration. If you want we can also add another field to express what
> we aim at getting Xen to work with, but it should be separate.



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:06:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:06:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701090.1095187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rscj2-00058P-6C; Fri, 05 Apr 2024 06:06:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701090.1095187; Fri, 05 Apr 2024 06:06: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 1rscj2-00058I-3f; Fri, 05 Apr 2024 06:06:56 +0000
Received: by outflank-mailman (input) for mailman id 701090;
 Fri, 05 Apr 2024 06:06: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rscj0-00058A-CR
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:06:54 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2dce911-f312-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 08:06:53 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4162e8210b6so2921185e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 23:06: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
 k41-20020a05600c1ca900b004156c501e24sm5129829wms.12.2024.04.04.23.06.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 23:06: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: b2dce911-f312-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712297213; x=1712902013; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nUg8RonrjMW+d+m7XH+FkJg4NQB3wS/Jf5Y3+gGfsKI=;
        b=QZ/JSnZVXPruINDbtCT781zkbEBySi4nfkXy0AhxvVpbx4ToAyV3iSQnvPBR3EdDRF
         M+hz38o8HIpbcwY5IwI24abYIbJjjzng8UoGXDtj2270tbbNm9wpUsZEkjgHCfbg4RBA
         y2Y94QYWKwyUDft1WZrrhTUUhTPgK89QrIdl4u4YoE0muY1g6whqXJq95Jqy8G7SrWdZ
         a/NWQUTx0aIQQzJhcUcVVQwY1JaQ/anGg9Ba8uT0OgSBXLEbpIHVDz4nr/k/2wYREji6
         w6QTDyUhGW1jKforPMEgttpguWp+rKMp5brb8rR9ThfaUFIXxF+SVjlIbMK0aquPEvQU
         +hkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712297213; x=1712902013;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nUg8RonrjMW+d+m7XH+FkJg4NQB3wS/Jf5Y3+gGfsKI=;
        b=i2G6HpPtyRNgdL89NsLTC5oH5pmD1hjS8lKDpoDcnTDsNGOvJurE1rPUlEbS5q0idW
         9lOLMuR+nJpYFwgBimORf5Znk2/k1FMc2SJ8ftb936fOrABXduHbbxQg7PehI0ooaZfN
         T25jR97HX+O6S2U+Qg6PwjnvrU04AM6DSkXJsW9ZIwEJObcypGnEmSukG7BMZm605TcQ
         cqXBuT9jFOjGaY2ah3qqvhrBytFZ2EhcfF/whzvNrUh3p0+/SkjSytE60MSxIZvHtBVU
         k4QabC9h4p7vxHtsIoxSuaRjU94b3qfBuOqEsGTTQiEfZH4hXy3i/0kmr1Ovj09eKBcl
         tmEg==
X-Forwarded-Encrypted: i=1; AJvYcCUExhI0GQMQ7Dl+PIZLfkqPAlSHCBuptiB5TAZteUV0k5p9d0V1PCoprHwMIcJPYhDmK+WzeeTjvOWkUSdMMte12quzBX8eYXrm+GvM16w=
X-Gm-Message-State: AOJu0YyPtwm+1qw9r71iEtFUkmdXU1AvwAKa6DUUJRItB303SerLfrDP
	1HGdNpScabpL6FFbShleN6xR3sjRQOhtQgNnCTnv3zkSb+JN2dJ8E01ofoAmBA==
X-Google-Smtp-Source: AGHT+IFGY+z2a5K9TX/1f+wtKnWN8x7tKCVO2sqHhnDmVpSRrVpjoBlw/JIS8p4HpuySXHUMqldDXQ==
X-Received: by 2002:a05:600c:3b0f:b0:415:4824:3686 with SMTP id m15-20020a05600c3b0f00b0041548243686mr313645wms.25.1712297212893;
        Thu, 04 Apr 2024 23:06:52 -0700 (PDT)
Message-ID: <f4a9f196-1cc0-46fd-8655-5230bade1a8b@suse.com>
Date: Fri, 5 Apr 2024 08:06:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automaton/eclair: add deviations for MISRA C:2012
 Rule 13.6
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <cca71f954bec4efc14b98e3ad991581441d593d7.1712238975.git.federico.serafini@bugseng.com>
 <4c008f38-2618-4e17-8cb5-c226660edf37@suse.com>
 <alpine.DEB.2.22.394.2404041701530.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404041701530.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 02:04, Stefano Stabellini wrote:
> On Thu, 4 Apr 2024, Jan Beulich wrote:
>> Further, according to the discussion on the matter: alternative_call() is
>> quite similar in this regard, just that it uses typeof(). Imo it should be
>> deviated here as well right away, no matter whether Eclair can actually be
>> configured to also check typeof() and alignof().
> 
> On this specific point regarding typeof, I agree but it should be done
> as a separate rule (not 13.6), to make sure it matches the scanner
> results. It looks like the new rule will be called B.MISLEFF. 

Fine with me, as long as things stay together (i.e. in a single commit).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:08:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:08:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701092.1095197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsckF-0005fk-Fw; Fri, 05 Apr 2024 06:08:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701092.1095197; Fri, 05 Apr 2024 06:08:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsckF-0005fT-Cr; Fri, 05 Apr 2024 06:08:11 +0000
Received: by outflank-mailman (input) for mailman id 701092;
 Fri, 05 Apr 2024 06:08: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsckD-0005ek-F7
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:08:09 +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 df2b0824-f312-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 08:08:07 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2d6c9678cbdso20999521fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 23:08: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
 k41-20020a05600c1ca900b004156c501e24sm5129829wms.12.2024.04.04.23.08.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 23:08: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: df2b0824-f312-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712297287; x=1712902087; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/Aw4pmvRZn8zYYK4vM8Ekgana1ZpOxpE7zptPh5fBb0=;
        b=DVBGaYZk3SPWxU+xOxuDqEMz8FuHERkDLRHxufTcOV+BwfBIMOQuD0hwc4zfMKYmry
         7z/pX0mjb9VxolMOtmaxyyznQH7d3P8UZ6BDWLEvvxFKUBu5sQOlsezdLRZvcJOWDkvj
         HvJp2rfsOsjXxjtIVL7iyG1mxJvY5x1JbmWzSvjKF9bIKTem9+g5/5wpdql4C9GT3rXW
         KvyKC4hOMSWjRh0w2YmwBiQLTodMH9ilQe2tVDMw2vyr/FF96muHkIa5T3xKErn6h9Eo
         USbIOqX+CyDNAeY1eYWOp3HHc3/qGjOn/epREeeXBF4XSdiAkQkon867zk07+L3VibfZ
         ARMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712297287; x=1712902087;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/Aw4pmvRZn8zYYK4vM8Ekgana1ZpOxpE7zptPh5fBb0=;
        b=ofa+E7B0/sbN+v+8ZNyeKLfnheo3a39gqs636vOPZ1gSeABFW0mp/aa6zNd0PMXqGd
         F6QLW85AN349Ax/6f3MLffrazYWcxALAYisYl2NuEuDpB6EZwQuPmTmgqpPIzTGCobot
         xjfyDX8imi5Y2FzwZIJLJE42xbWaB2zdgjnW4t43UV90+jt6zk58B6mn87TFafVIm3bK
         QFYc5EDCgssuUdq7hUI0ZwSK+ahVZFVOOYN8fhm/0GI8WKf0gsXuSYYamV/6zVg5tyBb
         sZmHG8EpuCGkYCivm8Pi+83x/6RCYmqk1IF1HAZnHKZlun6ZYV5+R7WI+6mczrvM1rgS
         9SyQ==
X-Forwarded-Encrypted: i=1; AJvYcCUcSYbYs+N9bnjUErpbOT29G+r8xd1bXz/r6x2ToTq4AdwLvAnXS9LkgcipmtMcr1yu1JPMuqJUcovz+WJYKUV1nFrQMKA8aUlBvPQV7YY=
X-Gm-Message-State: AOJu0YyNSG/lwKFvNcMn5raow484LLKSMU9S9VQBHKGDWhF10LTDmKsi
	dAbv3opnuOVKt0jaaxNmu/HFd2SNNu/zBu8H4dDQZHxRRmvws8KS970V5rsiQbxiELhhQKHp140
	=
X-Google-Smtp-Source: AGHT+IH7NysDN+ZNLBvc1FsDGOZvygdNDcw2XB7LNbLhxYlPLtA5ves3Xapio50pU/ZjPHbj9bcP4Q==
X-Received: by 2002:a2e:a688:0:b0:2d7:1152:d40c with SMTP id q8-20020a2ea688000000b002d71152d40cmr379977lje.5.1712297287073;
        Thu, 04 Apr 2024 23:08:07 -0700 (PDT)
Message-ID: <b63bf76c-b03a-4eb9-a179-69d9341f4b21@suse.com>
Date: Fri, 5 Apr 2024 08:08:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 03/19] xen/riscv: introduce extenstion support check by
 compiler
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
 <bda70742-04b7-4bab-8cdd-6b5a3d45dc3c@suse.com>
 <9945cb144f5c1b95202646135b88891537230e17.camel@gmail.com>
 <3095e62f-583c-414d-92d9-9b09b6959251@suse.com>
 <9ac4b0f3171c6b714092d04e07c2e16add16c86a.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9ac4b0f3171c6b714092d04e07c2e16add16c86a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.04.2024 18:17, Oleksii wrote:
> On Thu, 2024-04-04 at 17:43 +0200, Jan Beulich wrote:
>> On 04.04.2024 17:18, Oleksii wrote:
>>> On Thu, 2024-04-04 at 12:07 +0200, Jan Beulich wrote:
>>>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>>>> --- a/xen/arch/riscv/arch.mk
>>>>> +++ b/xen/arch/riscv/arch.mk
>>>>> @@ -3,16 +3,27 @@
>>>>>  
>>>>>  $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
>>>>>  
>>>>> -CFLAGS-$(CONFIG_RISCV_64) += -mabi=lp64
>>>>> +riscv-abi-$(CONFIG_RISCV_32) := -mabi=ilp32
>>>>> +riscv-abi-$(CONFIG_RISCV_64) := -mabi=lp64
>>>>>  
>>>>>  riscv-march-$(CONFIG_RISCV_ISA_RV64G) := rv64g
>>>>>  riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
>>>>>  
>>>>> +riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
>>>>> +
>>>>> +zbb := $(call as-insn,$(CC) $(riscv-generic-
>>>>> flags)_zbb,"",_zbb)
>>>>
>>>> While committing another question popped up: Why "" (i.e. no
>>>> insn)
>>>> here, ...
>>>>
>>>>> +zihintpause := $(call as-insn,\
>>>>> +               $(CC) $(riscv-generic-
>>>>> flags)_zihintpause,"pause",_zihintpause)
>>>>
>>>> ... but "pause" here?
>>>
>>> In the case of the Zbb extension, we don't check for a specific
>>> instruction, but with the Zihintpause, the idea was to verify if
>>> the
>>> pause instruction is supported or not.
>>
>> And why's this verification relevant here, but not for Zbb?
> It is not relevant and can be dropped.

Is it really not? Aren't you checking two things for Zihintpause (compiler
and assembler support), while checking only one (compiler) for Zbb?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:11:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701098.1095206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rscnU-0007fW-1U; Fri, 05 Apr 2024 06:11:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701098.1095206; Fri, 05 Apr 2024 06:11:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rscnT-0007fP-VB; Fri, 05 Apr 2024 06:11:31 +0000
Received: by outflank-mailman (input) for mailman id 701098;
 Fri, 05 Apr 2024 06:11: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rscnT-0007f6-6G
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:11:31 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5761627b-f313-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 08:11:29 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4162e19b663so2248085e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 23:11: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
 h22-20020a05600c351600b0041562a58b75sm1661483wmq.13.2024.04.04.23.11.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 23:11: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: 5761627b-f313-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712297489; x=1712902289; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0Bl7ViLyOyKQv5bJk7PktfW2fra0xVZpISax68+IzpQ=;
        b=g+RdgF/Y4PnqIcIFn1qwDtwNHHFZoxLjGH92hFsPOc13mU5J9sXRfC8qh1u9AlsXr6
         jiP4Zj88Y+xer6TFCEcohzUP57ua4O+I/66mk8jJ0AInc+hltoaPX1Ulu2H5vRanmHRa
         IH7OA+Y5kssregTPiL0IX6+ptLrO/+gWlLbdnE7Ips0jZ/r8t0cDmKnNnY8KBdpw6QJP
         UD3e/iLgEkNaVukJ5Iw5/0QGfaxiC6yShLOyvnpxfQ97xabA5BufiTuCsXE+QhwKom7j
         PyxkKy9ZBFKGuqdF7RyI8/im2d+vxEuBLzjYJT9Olrl2RDPaIMw6erpAiUga58WZOimR
         6UUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712297489; x=1712902289;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0Bl7ViLyOyKQv5bJk7PktfW2fra0xVZpISax68+IzpQ=;
        b=IPEpyPVq7VL0g2dYGEDXUZzu2ckPNAvhNB15t0LvQcowuLGf8jKeUhp/2KetcmIXyH
         GYWkTaerNastlJQLoThYNRohV4YmAtd+z+7FRfQEA9ShPatZoKSTipc2htJJQmLLKylP
         YcL7WlxJBtpOcSjMbPReE5e5Q9e+8+BdXkw1ZdNwGYGlcBKANAkHd/qbBjbb0C2IudSA
         mLh/PDkuI648wmUofbExvB954cwhR7nWNPj5I6F3g/1NInRsyGjuCV1C/3g/nw8shOYX
         quDfz61jn63elg9iMbjPBHIiSyQsWhJ3ufjeL8KZzbbR7jmA/c3+K7yRHY0C/r8YTs7Y
         +j0A==
X-Forwarded-Encrypted: i=1; AJvYcCVqfJ3G3zXFV2PP9kJJqNKIRVYvz0GCeihKczP2lQcZ6x1XoPOROGzKAIVtySa0yA/ZHR8uHWwcIyGUU8OuBvTNB6AorwNwJ++1RnbIS8w=
X-Gm-Message-State: AOJu0YydWwqsVVni/O285eV9FFBkLv9SoDKyOOLZCEJyBa9ynH7VFNFh
	A1Fuqj139/biCGgq++ji2eKhnl5LnsMkwM5NvHY10TvxhI6vE/tlx7zVgAR0iA==
X-Google-Smtp-Source: AGHT+IEavEQCjLB0xEzZzS7kRNFokF8SgOTo9MEYBjr3kaxYqO5bLqiK4s9fOjdNNOB4TUhlv5SN4A==
X-Received: by 2002:a05:600c:35c3:b0:415:540e:760d with SMTP id r3-20020a05600c35c300b00415540e760dmr464227wmq.5.1712297488758;
        Thu, 04 Apr 2024 23:11:28 -0700 (PDT)
Message-ID: <edd36d22-a2da-4e38-a586-14c742da18f7@suse.com>
Date: Fri, 5 Apr 2024 08:11:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
 <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
 <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.04.2024 18:24, Oleksii wrote:
> On Thu, 2024-04-04 at 18:12 +0200, Jan Beulich wrote:
>> On 04.04.2024 17:45, Oleksii wrote:
>>> On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
>>>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>>>> --- a/xen/include/xen/bitops.h
>>>>> +++ b/xen/include/xen/bitops.h
>>>>> @@ -65,10 +65,164 @@ static inline int generic_flsl(unsigned
>>>>> long
>>>>> x)
>>>>>   * scope
>>>>>   */
>>>>>  
>>>>> +#define BITOP_BITS_PER_WORD 32
>>>>> +/* typedef uint32_t bitop_uint_t; */
>>>>> +#define bitop_uint_t uint32_t
>>>>
>>>> So no arch overrides permitted anymore at all?
>>> Not really, I agree that it is ugly, but I expected that arch will
>>> use
>>> undef to override.
>>
>> Which would be fine in principle, just that Misra wants us to avoid
>> #undef-s
>> (iirc).
> Could you please give me a recommendation how to do that better?
> 
> The reason why I put this defintions before inclusion of asm/bitops.h
> as RISC-V specific code uses these definitions inside it, so they
> should be defined before asm/bitops.h; other option is to define these
> definitions inside asm/bitops.h for each architecture.

Earlier on you had it that other way already (in a different header,
but the principle is the same): Move the generic definitions immediately
past inclusion of asm/bitops.h and frame them with #ifndef.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:43:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:43:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701102.1095217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdIC-00047c-98; Fri, 05 Apr 2024 06:43:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701102.1095217; Fri, 05 Apr 2024 06:43:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdIC-00047V-55; Fri, 05 Apr 2024 06:43:16 +0000
Received: by outflank-mailman (input) for mailman id 701102;
 Fri, 05 Apr 2024 06:43: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsdIB-00047L-9r
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:43:15 +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 c6110a01-f317-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 08:43:12 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-34356f794a5so1525287f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 23:43: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
 u26-20020adfa19a000000b0033e25c39ac3sm1216123wru.80.2024.04.04.23.43.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 23:43:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6110a01-f317-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712299392; x=1712904192; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=o2EGxgBV6A/5H+HCyZP7yuDF5hnhKuT3q3E5BDSevTU=;
        b=Elkk507aTk/0WuInb9jLWXzp/j6C1Gs7r0y183bygwWuGJcbqW6RB9mpqZk/8yoa9c
         fwJ42+kvN+ksEQyZQsTlIFUiMVXeCC01Rre7w/U0DGizlTbZ6623ClEDajYfdYafIm4E
         QOy/hGU8j7dUnLmu+KGTZbqOTHwX1JDHOO79bFGM9StzVMatO6oaYoSSzkwtpPtFOLXe
         RddEmpLqQcslUGFTkNPLC0C9UQrpFZ9hOkKsDehafMQnzzJaw08rMgyGQIYRAKefyZZ/
         cHErTJKbjAYEqAwQSvefBJZDvhbZN1qIEwuayb/w+lG7kc+ca2v4wbdh6Y1VIxNVC1z7
         sQhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712299392; x=1712904192;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=o2EGxgBV6A/5H+HCyZP7yuDF5hnhKuT3q3E5BDSevTU=;
        b=sB2vyw0GTRcmw2jB0OW9Pg89uQtqDPsxrIbXoB08ZVAzg5t12Be148s2H9biFW9rZK
         w0BHVDlG959+PcjAkm5C81SrPF8ejbnt684cAmDu4L9dF3m7y5NyJtNy3/LaZeX+6nID
         ds7bgDKcutC9fvo98pZOZX1GDg0pfm9peUMKr72QOfoCl1VO+f8mqRdVWDKCfQrRY4Hp
         MaW/QAxvDaB1itLKlz2fTkWCbha2+JuCpd7yb++SpIWwUMaw8MCMwTpOvw5YiQj7TQKr
         qsKt5pC90TwcrpRuS4i7onIfl9AqDJaTJt+4gsGFZkuCtSD2uJ/IcmpM0xQC+OALZnQ2
         ubeQ==
X-Forwarded-Encrypted: i=1; AJvYcCUqk9++DoilEGbY24zlAFlfdE5IlxtdF1XYHvVdOgSTvqZeGF+OF0wwulHJ0Q/tf3loOXbDlvbqGWWu7F/fzIsoWj8XDfW7uU+kNy7t3Zw=
X-Gm-Message-State: AOJu0YxSd6Znx0Ad41kbW4225jBTpBQHOW/ZFEELcMSTkRNwqctE2d6D
	mIrDAjOyBq3OeXEyEpFZ4s/D3x6E3GwZhQ+LIDGMik1e/cy8mS40iIGIgsMx/A==
X-Google-Smtp-Source: AGHT+IEabo4FFj6jEfqI36y9tsTpRftx0lLV0FybTwTQ1BoE1CeUzsY3vVCj74OT7e5mV8i5W8bq0g==
X-Received: by 2002:adf:fdc9:0:b0:33e:c91a:127e with SMTP id i9-20020adffdc9000000b0033ec91a127emr458764wrs.63.1712299392396;
        Thu, 04 Apr 2024 23:43:12 -0700 (PDT)
Message-ID: <627b2436-f7a0-4434-944f-5d4f173ba8ea@suse.com>
Date: Fri, 5 Apr 2024 08:43:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/7] xen/sched: address a violation of MISRA C:2012
 Rule 16.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>, consulting@bugseng.com,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org,
 Dario Faggioli <dfaggioli@suse.com>
References: <cover.1712042178.git.federico.serafini@bugseng.com>
 <8f91430e37594831dd8d92ab630477be88417b49.1712042178.git.federico.serafini@bugseng.com>
 <28786c5b-c625-4754-980d-c9a0fdc49c37@suse.com>
 <0d0c8cd162a8bfed07dd374ef2dd62d4@bugseng.com>
 <alpine.DEB.2.22.394.2404041715400.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404041715400.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 02:18, Stefano Stabellini wrote:
> On Wed, 3 Apr 2024, Nicola Vetrini wrote:
>> On 2024-04-03 08:33, Jan Beulich wrote:
>>> On 02.04.2024 09:22, Federico Serafini wrote:
>>>> Use pseudo-keyword fallthrough to meet the requirements to deviate
>>>> 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/sched/credit2.c | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
>>>> index c76330d79d..0962b52415 100644
>>>> --- a/xen/common/sched/credit2.c
>>>> +++ b/xen/common/sched/credit2.c
>>>> @@ -3152,8 +3152,8 @@ static int cf_check csched2_sys_cntl(
>>>>              printk(XENLOG_INFO "Disabling context switch rate
>>>> limiting\n");
>>>>          prv->ratelimit_us = params->ratelimit_us;
>>>>          write_unlock_irqrestore(&prv->lock, flags);
>>>> +        fallthrough;
>>>>
>>>> -    /* FALLTHRU */
>>>>      case XEN_SYSCTL_SCHEDOP_getinfo:
>>>>          params->ratelimit_us = prv->ratelimit_us;
>>>>          break;
>>>
>>> Hmm, the description doesn't say what's wrong with the comment. Furthermore
>>> docs/misra/rules.rst doesn't mention "fallthrough" at all, nor the
>>> alternative of using comments. I notice docs/misra/deviations.rst does, and
>>> there the specific comment used here isn't covered. That would want saying
>>> in the description.
>>>
>>> Stefano (and others) - in this context it becomes noticeable that having
>>> stuff scattered across multiple doc files isn't necessarily helpful. Other
>>> permissible keywords are mentioned in rules.rst. The pseudo-keyword
>>> "fallthrough" as well as comments are mentioned on deviations.rst. Could
>>> you remind me of the reason(s) why things aren't recorded in a single,
>>> central place?
>>>
>>> Jan
>>
>> If I recall correctly, the idea was to avoid rules.rst from getting too long
>> and too specific about which patterns were deviated, while also having a
>> precise record of the MISRA deviations that didn't live in ECLAIR-specific
>> files. Maybe the use of the pseudo-keyword emerged after the rule was added to
>> rules.rst, since deviations.rst is updated more frequently.
> 
> Yes exactly.
> 
> I agree with Jan that a single central place is easiest but we cannot
> move everything that is in deviations.rst in the note section of the
> rules.rst table. Of the two, it would be best to reduce the amount of
> notes in rules.rst and move all the deviations listed in rules.rst to
> deviations.rst. That way at least the info is present only once,
> although they are 2 files.

Could every rules.rst section having a deviations.rst counterpart then perhaps
have a standardized referral to there?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:45:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701104.1095227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdK8-0004e4-KK; Fri, 05 Apr 2024 06:45:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701104.1095227; Fri, 05 Apr 2024 06:45:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdK8-0004dx-Gf; Fri, 05 Apr 2024 06:45:16 +0000
Received: by outflank-mailman (input) for mailman id 701104;
 Fri, 05 Apr 2024 06: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=M48I=LK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rsdK7-0004dm-4q
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:45:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0dfc282b-f318-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 08:45:13 +0200 (CEST)
Received: from [192.168.1.18] (host-82-59-164-46.retail.telecomitalia.it
 [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id F3B544EE073E;
 Fri,  5 Apr 2024 08:45: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: 0dfc282b-f318-11ee-afe6-a90da7624cb6
Message-ID: <0cb2fcc5-9ee6-4b9d-baab-4652ad7913fc@bugseng.com>
Date: Fri, 5 Apr 2024 08:45:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automaton/eclair: add deviations for MISRA C:2012
 Rule 13.6
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cca71f954bec4efc14b98e3ad991581441d593d7.1712238975.git.federico.serafini@bugseng.com>
 <4c008f38-2618-4e17-8cb5-c226660edf37@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <4c008f38-2618-4e17-8cb5-c226660edf37@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 04/04/24 16:34, Jan Beulich wrote:
> On 04.04.2024 16:21, Federico Serafini wrote:
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -333,6 +333,14 @@ of the short-circuit evaluation strategy of such logical operators."
>>   -config=MC3R1.R13.5,reports+={disapplied,"any()"}
>>   -doc_end
>>   
>> +-doc_begin="Macros alternative_vcall[0-9] use sizeof to type-check \"func\" and the func parameters without evaluating them."
>> +-config=MC3R1.R13.6,reports+={deliberate,"any_area(any_loc(any_exp(macro(^alternative_vcall[0-9]$))))"}
>> +-doc_end
> 
> alternative_vcall(), for now at least, is x86-only. Why blindly deviate it also
> for Arm?

I'll reduce the scope to x86 only.

>> +-doc_begin="Macro chk_fld is only used to introduce BUILD_BUG_ON checks in very specific cases where by code inspection you can see that its usage is correct. The BUILD_BUG_ON checks check that EFI_TIME and struct xenpf_efi_time fields match."
>> +-config=MC3R1.R13.6,reports+={deliberate,"any_area(any_loc(any_exp(macro(^chk_fld$))))"}
>> +-doc_end
> 
> As indicated on earlier occasions - when a macro isn't global, its deviation
> better wouldn't be global either. An identically named macro may be introduced
> elsewhere, and may not need deviating there.

Noted.

>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -279,6 +279,18 @@ Deviations related to MISRA C:2012 Rules:
>>          the short-circuit evaluation strategy for logical operators.
>>        - Project-wide deviation; tagged as `disapplied` for ECLAIR.
>>   
>> +   * - R13.6
>> +     - Macros alternative_vcall[0-9] use sizeof to type-check \"func\" and the
>> +       func parameters without evaluating them.
> 
> Just to mention it: The return type of the function isn't really of interest
> there. What's being checked is that the argument types match the corresponding
> parameter ones, which otherwise would "naturally" be done by the compiler when
> seeing function calls. Might be useful to state no more and no less than what
> is really needed.

Noted.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:45:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:45:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701105.1095236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdKU-000564-QJ; Fri, 05 Apr 2024 06:45:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701105.1095236; Fri, 05 Apr 2024 06:45:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdKU-00055x-No; Fri, 05 Apr 2024 06:45:38 +0000
Received: by outflank-mailman (input) for mailman id 701105;
 Fri, 05 Apr 2024 06:45: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsdKT-000548-3q
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:45:37 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a021b06-f318-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 08:45:33 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2d109e82bd0so19915221fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 04 Apr 2024 23:45: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
 t10-20020a05600c198a00b004156afd6843sm5241026wmq.18.2024.04.04.23.45.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 04 Apr 2024 23:45: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: 1a021b06-f318-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712299533; x=1712904333; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mifMJkOKA+Zxcqxx7QG1cYUwwuSMuLBuFvY5KWWUbaM=;
        b=QUIwFOgK/4v07Fzd3NcgnDksesnxoV3kYLEiyunsOwWAqGN/Ax6iBFYwENmk4wXBKF
         rW/obF1s/PRIe8oJSrJ5IT8Xo6KsD/CxVDpBSj4jMozwfBM8TDNXXjk6YOtW5CLJap0M
         RHbR5UFE/QOwkx13jBszAQlDNc14b5t/yRRjevDMjNuyx9fWJC1Qt9cWmRl+/MfszIIb
         C4GK4LNq2ZL9MxuBRYilyFRUo5OSnMUcDJdO5foA8ckL1gpiHNbFNTbqDlgTq6dCcytU
         yraiqd/cbN0TLYc7JMnHXtCaqRVKOpMTVq3PxaJTtlx5HF62mxhabkIJG35jfCNSPXge
         03jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712299533; x=1712904333;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mifMJkOKA+Zxcqxx7QG1cYUwwuSMuLBuFvY5KWWUbaM=;
        b=gi07Ujq3D3k2C7jNC7X7KlqxJM/PvKe1/i5WXU9CufFPRUCMtdPaivxUb+j3c6UXFp
         v6AWHvcsl9Bm/Y+YfRKSJsWo1ZvfqA/eMEZSnz1HvwIhXWlqTdvxQtKnvB1hXdqwMte+
         sE2YPCXwOHRAbeLf6D2SJF/A9+baGSe/EpCA91Tb0da6KOJG/Kbk0bhSFtnTeB0Fi5Pq
         oiZXs4bKdOtMDDSOpZ+59+QeTlFPIfDOP40tYAUaIYTatoXJv5M4QH7aA9a610PoZPwn
         jPF02vjh9J7qfmaC7L/T77r38BW2Xn2mv4FbtegoUNPTAhRFFbzzSdXeo77BRZ9sfg4Z
         7xiw==
X-Gm-Message-State: AOJu0YxZBiLufs0n2DwKuaIvQroNxREqPGpl2H4QgtEcZPXd5JoRgjV3
	nbuRKBthH19YN2uvGN6VXEWJUKrLYhNF6fafpjXoa1IGh55Cz+XCnFWnxIjtXQ==
X-Google-Smtp-Source: AGHT+IFH99UdJnYbObQMnzMM3JckK/LuOVKzdsGS+bSCvw7NJ1L+tyaKp7/h4ayReUNsOXLUPvJCXA==
X-Received: by 2002:a2e:240e:0:b0:2d8:3eaf:86d2 with SMTP id k14-20020a2e240e000000b002d83eaf86d2mr392543ljk.47.1712299533168;
        Thu, 04 Apr 2024 23:45:33 -0700 (PDT)
Message-ID: <dbcfdf24-1d6c-4a2e-a8d5-e3d19a700e08@suse.com>
Date: Fri, 5 Apr 2024 08:45:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 2/2] MISRA C Rule 20.7 states: "The features of
 `<stdarg.h>' shall not be used"
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 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>,
 Simone Ballarin <simone.ballarin@bugseng.com>
References: <cover.1711621080.git.simone.ballarin@bugseng.com>
 <97008d1b28eb922b3c0041830b09e827396aa0ec.1711621080.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2404041725580.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404041725580.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 02:27, Stefano Stabellini wrote:
> On Thu, 28 Mar 2024, Simone Ballarin wrote:
>> The Xen community wants to avoid using variadic functions except for
>> specific circumstances where it feels appropriate by strict code review.
>>
>> Functions hypercall_create_continuation and hypercall_xlat_continuation
>> are internal helper functions made to break long running hypercalls into
>> multiple calls. They take a variable number of arguments depending on the
>> original hypercall they are trying to continue.
>>
>> Add SAF deviations for the aforementioned functions.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> I fixed the title on commit

Did you forget to push then? I don't see this change in the tree, yet.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:45:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701108.1095248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdKp-0005XY-32; Fri, 05 Apr 2024 06:45:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701108.1095248; Fri, 05 Apr 2024 06:45:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdKo-0005XR-V7; Fri, 05 Apr 2024 06:45:58 +0000
Received: by outflank-mailman (input) for mailman id 701108;
 Fri, 05 Apr 2024 06:45: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=M48I=LK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rsdKn-000548-TX
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 06:45:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2759104c-f318-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 08:45:56 +0200 (CEST)
Received: from [192.168.1.18] (host-82-59-164-46.retail.telecomitalia.it
 [82.59.164.46])
 by support.bugseng.com (Postfix) with ESMTPSA id 91B6F4EE073E;
 Fri,  5 Apr 2024 08:45:55 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2759104c-f318-11ee-a1ef-f123f15fe8a2
Message-ID: <27b5c849-5a53-4346-a914-7a251a664cf5@bugseng.com>
Date: Fri, 5 Apr 2024 08:45:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automaton/eclair: add deviations for MISRA C:2012
 Rule 13.6
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <cca71f954bec4efc14b98e3ad991581441d593d7.1712238975.git.federico.serafini@bugseng.com>
 <4c008f38-2618-4e17-8cb5-c226660edf37@suse.com>
 <alpine.DEB.2.22.394.2404041701530.2245130@ubuntu-linux-20-04-desktop>
 <f4a9f196-1cc0-46fd-8655-5230bade1a8b@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <f4a9f196-1cc0-46fd-8655-5230bade1a8b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 05/04/24 08:06, Jan Beulich wrote:
> On 05.04.2024 02:04, Stefano Stabellini wrote:
>> On Thu, 4 Apr 2024, Jan Beulich wrote:
>>> Further, according to the discussion on the matter: alternative_call() is
>>> quite similar in this regard, just that it uses typeof(). Imo it should be
>>> deviated here as well right away, no matter whether Eclair can actually be
>>> configured to also check typeof() and alignof().
>>
>> On this specific point regarding typeof, I agree but it should be done
>> as a separate rule (not 13.6), to make sure it matches the scanner
>> results. It looks like the new rule will be called B.MISLEFF.
> 
> Fine with me, as long as things stay together (i.e. in a single commit).

Noted.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 06:57:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 06:57:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701116.1095256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdVd-0007vF-3V; Fri, 05 Apr 2024 06:57:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701116.1095256; Fri, 05 Apr 2024 06:57: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 1rsdVd-0007v8-0T; Fri, 05 Apr 2024 06:57:09 +0000
Received: by outflank-mailman (input) for mailman id 701116;
 Fri, 05 Apr 2024 06:57: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 1rsdVb-0007uw-OB; Fri, 05 Apr 2024 06:57: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 1rsdVb-0001KU-I1; Fri, 05 Apr 2024 06:57:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rsdVb-00018h-8E; Fri, 05 Apr 2024 06:57:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsdVb-0004SM-7o; Fri, 05 Apr 2024 06:57:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jukx5Li72i8faZZdw0oZX4tM+tPuDLueKy6HyxjHgAc=; b=Gp0uHHUkCvzs03SBc95OTrBPxC
	yFXR46KGtCc4WmEfFDqlGornY1PEbOHBjMv7OfDSupqBBcs/JZL4X2VZZwMnnChCjyhK0XmXhAPWn
	54HYHD2QufbMTNfbzGsdWzFOhCAf3SAfRIa1DeLGjvqfgFK3qL3Avp44G8DlmeCLyiFs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185245-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185245: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8707f835ae355832965508b6be96765660fb1861
X-Osstest-Versions-That:
    ovmf=6fb3cc05dc8742ddbe7ea1038dd0111aed55e799
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 06:57:07 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8707f835ae355832965508b6be96765660fb1861
baseline version:
 ovmf                 6fb3cc05dc8742ddbe7ea1038dd0111aed55e799

Last test of basis   185239  2024-04-04 14:44:47 Z    0 days
Testing same since   185245  2024-04-05 05:11:17 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
   6fb3cc05dc..8707f835ae  8707f835ae355832965508b6be96765660fb1861 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 07:16:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 07:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701121.1095267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdoS-00039g-My; Fri, 05 Apr 2024 07:16:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701121.1095267; Fri, 05 Apr 2024 07:16:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsdoS-00039Z-Io; Fri, 05 Apr 2024 07:16:36 +0000
Received: by outflank-mailman (input) for mailman id 701121;
 Fri, 05 Apr 2024 07:16: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=StTK=LK=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rsdoR-00039T-7M
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 07:16:35 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2612::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6eb7d2f6-f31c-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 09:16:34 +0200 (CEST)
Received: from DU2P250CA0022.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:231::27)
 by PAXPR08MB6672.eurprd08.prod.outlook.com (2603:10a6:102:137::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.42; Fri, 5 Apr
 2024 07:16:26 +0000
Received: from DU2PEPF00028D03.eurprd03.prod.outlook.com
 (2603:10a6:10:231:cafe::9e) by DU2P250CA0022.outlook.office365.com
 (2603:10a6:10:231::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.29 via Frontend
 Transport; Fri, 5 Apr 2024 07:16:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D03.mail.protection.outlook.com (10.167.242.187) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Fri, 5 Apr 2024 07:16:24 +0000
Received: ("Tessian outbound ff4e98f65004:v300");
 Fri, 05 Apr 2024 07:16:23 +0000
Received: from b4f0c1d7bf79.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 90A945BB-83E1-4B88-BC86-9D8CD3E6EBF3.1; 
 Fri, 05 Apr 2024 07:16:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b4f0c1d7bf79.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 05 Apr 2024 07:16:17 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS2PR08MB9127.eurprd08.prod.outlook.com (2603:10a6:20b:5fe::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 5 Apr
 2024 07:16:15 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.042; Fri, 5 Apr 2024
 07: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: 6eb7d2f6-f31c-11ee-afe6-a90da7624cb6
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Nv3XKTZzJUmrZICEz0DTDpL5iAxftPq/vHt1Qdv4vG4fU+xfwLT9BSQfdDs7jMU2LjN13iMzrUoyJ5AGduU0Hk1c7cCmARy5estAKibISoiWFFiFS3w/3mjOTomKvBCO2kRnFRnJ75azxqvsrcjRmjL/enaimFhXgPTgPGnyhTQZsToCkG0xh04KNlEaGj38LsgHXbLXgAqB8mA+A79bKv0BM2kD0x/CwRpXKesm6hmQhUxWPyq/rVlw6pgXVn6XGOVZYDD/JCBWOAglKeUzzwGTWFhjjctqF7Nz+8fxeLnoQhVlhLzu9OUbSzyl3W9UzJHhrj8KgSP9ID+bm9A3Nw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0ZAU5yR8ZYahL5Vh0LA3txYm1L6AvkKW/u83o15OKgo=;
 b=NJvTrYDj5o7hv6rwIUZDHYN8j7Tqo1A0TqNnP+kCAVKl0vFLvHqemULQhPRZhCFw4wqtk2Uw6/ENuQpg0Ox3PX4fjk5DWKi6MKJnCn3AsC3nuDMXFEOwymAYIm1CE+OTHwdc0B/p9GX3bRQU//52mXAs15BVCcKI3oFySFtkWHcRg1DwelR2rpWtbdmplJbhruY7nelKfkySOrpbD2EaPpmSx/3rTVJBDhuwCfmifSG2N/Q/hrSeIOXc8muisMoTtK2EuagQeWq79abCIi6llaXIjAyGXqxxn5iVyNr1U8wPW61tuzuphrkfZHFZQCle7KmzA/Nx6p+WAD4Fq4mE2w==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ZAU5yR8ZYahL5Vh0LA3txYm1L6AvkKW/u83o15OKgo=;
 b=iTaFM0ZirIlGndiog4puNC+9iO9589Z7pKAcDCGU2GCuA2RhwCxuvmzdbsDl2ZkgmswteN0wtS8z+bKG9WNvA+1cM9LGmn4g92ire9r7TG2f7fWQ6YT5a481uXYw02A6PxtcVVgoGZGdvtUhXT/XRgMXGdSDv9s3+B5c9gbbFFE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: c0829d9090f26284
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dRusB5MPoo5ZOi/nU+nPHYp677jQD+JP+A3/oK8oy4DChgl1NgciICrpygZi1OcT8SrRtvdOELNrHqADjWLSn3pGEXCpoL4aY+Y8j0T2ik/oWyaSFs7NKgKAQ/ZM1nQmF0KaP2qtUm745ARFWWWRIik/fTwW9AT1UWBLR+wLhsETq5ALqOcp3R1Tb0Umtg1fM7Xcjg68/D8oWI4yWpqFT5UwTBYtWptvXTRu+KBaI8SPPDJuUicU6nRDCllnQT4ID0z/mklkWAblE91gGU+/YLKjKlrjxV/3eU2AK/m707bP6XN++A1Gb8FAom5T06PIYIBP0QmmxAHerSZehcTCSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0ZAU5yR8ZYahL5Vh0LA3txYm1L6AvkKW/u83o15OKgo=;
 b=bDYxpSWbPBeuEil2D1JGVOSzoYMH0Fi4XdPxlGPsOwTZAD2BkcVwe37F/ISb0ycHDu2VvESaG5KEG2M7NIhMkvJFQS5MdtBVO226SmdvDn1SWaM3TR+bT7mCy+dqXek/ywRpFomBmol6Y6K/hL4TYJP8oFjOgZtOitd9dkJFV4Hp0OkiUos6wsojYKKIetyOdm3SpJyeNqwbz3oP1lOPbkftiE9nQtO6j9mypF+tGTdDgL9hUoa3ikisdtLn7AdRMcM/20rEp9zAn0JR5eCDI4eC9nVY+Al/4lzfo+D6OIkwf+abjkSgDrL8YfCZsuCPlp5isliBbHgFOdop/n3Auw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ZAU5yR8ZYahL5Vh0LA3txYm1L6AvkKW/u83o15OKgo=;
 b=iTaFM0ZirIlGndiog4puNC+9iO9589Z7pKAcDCGU2GCuA2RhwCxuvmzdbsDl2ZkgmswteN0wtS8z+bKG9WNvA+1cM9LGmn4g92ire9r7TG2f7fWQ6YT5a481uXYw02A6PxtcVVgoGZGdvtUhXT/XRgMXGdSDv9s3+B5c9gbbFFE=
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>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Michal Orzel
	<michal.orzel@amd.com>, "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: [PATCH v3] docs/misra: document the expected sizes of integer
 types
Thread-Topic: [PATCH v3] docs/misra: document the expected sizes of integer
 types
Thread-Index: AQHahi02L7CmbuGs70iGCAZey/rjT7FXyCAAgAEDLACAAHqXAA==
Date: Fri, 5 Apr 2024 07:16:15 +0000
Message-ID: <FA2C1568-6BEC-4C4D-B206-66F795F1D6AE@arm.com>
References:
 <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop>
 <703E19A2-FED2-4DA1-B9AA-1AF55BBE85B4@arm.com>
 <alpine.DEB.2.22.394.2404041656390.2245130@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2404041656390.2245130@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.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS2PR08MB9127:EE_|DU2PEPF00028D03:EE_|PAXPR08MB6672:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 F6+v2zpGQffb2T5da675C8Tv91qaneLE5H47nsYHaK06pD6Nw/LWhKz5wIRAtg3fqhBW5Hyn2BB2nZRMIzdKCf3JEV7pMHpCK2f6CUiH45RwR+8XyvaLYN4pGSpPyZpH7x8slRX6qCNDmKlR+CA52gYHQZlpgClhI8+zvGEQrxROxyYa203va00pHMD67srHTLfJEJAmwUZDnXsGhF5y5lLtPIS5JPp08qkyrUAYLilPF5kAD5Vxa37taAecQPLP6pw92wzfThSLeL5zwY1BhZs8TUXyo0mpSPnxXD5xYs2KFx4mYmZcMKCuWHuwnpOPfzjKKFcOlq+C/t/BinJ5vw16VVAWyvFKtP8h7J11+LbEz6VDXjfNElIIVScTy8kPK02J2B/fh+fYmF9ntHdQHTXWZj3vqYO290i1i5BJPKvZWKs7lYb8/84yekAdFR35W/PCeUeD4anTkO7WfpYBj8j61bD6hF+3V1ilFOXfudWg0m63aBf5ZPy46mVJhj8bHx9LeKjgyPokk+h8K5TGPf4ru3UkWajeo1JVHf/JvWaJDQ2ie2JAsEdDr2OTdAobs9kiIlcxOFh8OhfBk6BiI2gqNcrI/N2VbPuCBafY1jm7WDxCaMir9yOil7cL1BOuA9DJKwG+7gJB+zf7V0CzHsgDT/THrQ11QuQD6a2K6vo=
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:(13230031)(376005)(366007)(1800799015);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <43B6EAA53CDB924190582104761036D9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9127
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D03.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: a50a29e6-e5a6-44e8-d264-08dc55404d26
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lfZ33m+2K/MVAwxl3H2NmXT3FjGZaGowSun01X+WwVEdvvWXA9ceKPO+jBVBqkm5Tbvgvp+Uq45PBwDDJWuItGimvwm7rIFXxzjVMZk/ZzKgKt72k2MsbYe0MAJt6LwufHol8A3mZYb799C6Zzwvb8sCyu8mZ0SGcP7zQYukC6lNxuvK0tsr3Wmc9wngOjNNkR4zmFRL0WmANy5nDaJ0v6CHV8exyvYlLUElFCtu9Nfbs7D2z3BwR3ce0Rv8TmQfY4gvnhpXO1Z+CmxTe8LGOq6IO1Di2PqfLwStJLxwTrbW7ETukrq8/3RGEnX27HrabXSPhDC2dKjvr0CxeYqnBl/wvMUQPFMTSFPxE+BsR98EfPIPfJlYxid9FAlO6WMHLE5HyyEdi4Nm67mbfMoY0gQOI8Xdnhvv0XBRpb17SQKrbwsmtCse5yNclixplQUn8zWXcPYSn92z1O55CuAqC6kV0Aw4rw6jiLqRLVxUmZdQKhfHNgPECQ6Q7rK5aOr45t/yv6lFGeFfLh67LTixILUr6JenFw9S4svYSqPV27CTlP5ULfI50vBMgb+l7ifF+IviuuxpITeFS5JavGJOrQnn74Nkt+dpfV5c1byn0DpYZbK4bbPsrBWiTBTfPKbAsi0mBy4KtjGVpA3yKRNn/cg8VvsNmWjVwQKrL/cTccXFqaVE8bX0159WofoS/Z++j+xVUZL0bRLW6YHeh5urDqak5ZWV0E255FmywuwpfXsBjkzXR1rwby/H0enJ/iYbvTs46bqUyTuydy/f8JkScQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2024 07:16:24.0425
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a50a29e6-e5a6-44e8-d264-08dc55404d26
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D03.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6672

Hi Stefano,

> On 5 Apr 2024, at 01:57, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> On Thu, 4 Apr 2024, Bertrand Marquis wrote:
>> Hi Stefano,
>>=20
>>> On 4 Apr 2024, at 03:12, Stefano Stabellini <sstabellini@kernel.org> wr=
ote:
>>>=20
>>> Xen makes assumptions about the size of integer types on the various
>>> architectures. Document these assumptions.
>>>=20
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>> ---
>>> Changes in v3:
>>> - add links to System V, AAPCS32 and AAPCS64
>>>=20
>>> ---
>>> docs/misra/C-language-toolchain.rst | 69 +++++++++++++++++++++++++++++
>>> 1 file changed, 69 insertions(+)
>>>=20
>>> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-languag=
e-toolchain.rst
>>> index b7c2000992..84b21992bc 100644
>>> --- a/docs/misra/C-language-toolchain.rst
>>> +++ b/docs/misra/C-language-toolchain.rst
>>> @@ -480,4 +480,73 @@ The table columns are as follows:
>>>     - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Sec=
tion "11.1 Implementation-defined behavior" of CPP_MANUAL.
>>>=20
>>>=20
>>> +Sizes of Integer types
>>> +______________________
>>> +
>>> +Xen expects System V ABI on x86_64:
>>> +  https://gitlab.com/x86-psABIs/x86-64-ABI
>>> +
>>> +Xen expects AAPCS32 on ARMv8-A AArch32:
>>> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
>>> +
>>> +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
>>> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
>>=20
>> We still support armv7 somehow so we should add something for it here.
>>=20
>>> +
>>> +A summary table of data types, sizes and alignment is below:
>>> +
>>> +.. list-table::
>>> +   :widths: 10 10 10 45
>>> +   :header-rows: 1
>>> +
>>> +   * - Type
>>> +     - Size
>>> +     - Alignment
>>> +     - Architectures
>>> +
>>> +   * - char=20
>>> +     - 8 bits
>>> +     - 8 bits
>>> +     - all architectures
>>> +
>>> +   * - short
>>> +     - 16 bits
>>> +     - 16 bits
>>> +     - all architectures
>>> +
>>> +   * - int
>>> +     - 32 bits
>>> +     - 32 bits
>>> +     - all architectures
>>> +
>>> +   * - long
>>> +     - 32 bits
>>> +     - 32 bits=20
>>> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
>>=20
>> Same here armv7 should be mentioned.
>>=20
>>> +
>>> +   * - long
>>> +     - 64 bits
>>> +     - 64 bits=20
>>> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
>>> +
>>> +   * - long long
>>> +     - 64-bit
>>> +     - 32-bit
>>> +     - x86_32
>>> +
>>> +   * - long long
>>> +     - 64-bit
>>> +     - 64-bit
>>> +     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32
>>=20
>> Should this be all architecture except x86_32 ?
>=20
> yes
>=20
>>> +
>>> +   * - pointer
>>> +     - 32-bit
>>> +     - 32-bit
>>> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
>>=20
>> Armv7 missing here.
>=20
> What is the formal name I should use for it here? ARMv7 AArch32 ?

Armv7-A (no need to specify anything more as it was 32bit only).

Cheers
Bertrand





From xen-devel-bounces@lists.xenproject.org Fri Apr 05 07:44:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 07:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701128.1095276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rseEy-0008BW-PK; Fri, 05 Apr 2024 07:44:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701128.1095276; Fri, 05 Apr 2024 07: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 1rseEy-0008BP-Me; Fri, 05 Apr 2024 07:44:00 +0000
Received: by outflank-mailman (input) for mailman id 701128;
 Fri, 05 Apr 2024 07:43: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 1rseEx-0008Ax-7F; Fri, 05 Apr 2024 07:43: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 1rseEw-00028n-Tv; Fri, 05 Apr 2024 07:43: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 1rseEw-0002k5-GX; Fri, 05 Apr 2024 07:43:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rseEw-0005eE-G6; Fri, 05 Apr 2024 07:43:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=X7GU5NtpSGg7tl4Weccx1eXtOjJ41jAH+LGgtidWNsY=; b=sSaMMsKUxAD0NpulutWtit4r8e
	Hz2poo/PnQbeCmcu1fd56EuXRjJvZhT/GElu8Q2UulQWwceP1KR2Klo3iV2jtVny25+K0nptVRokR
	1mEbWFolU8rTJo0YIUktKPHApJ68px4OJ4akyk2udRAmCQKqO3J+nDz0sZbU64FWaDHg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185241-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185241: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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
    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=6eeb3e86bdfa55874f4c44527551e9b82125dc83
X-Osstest-Versions-That:
    xen=6117179dd99958e4ef2687617d12c9b15bdbae24
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 07:43:58 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185236
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185236
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185236
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185236
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185236
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185236
 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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-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-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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                  6eeb3e86bdfa55874f4c44527551e9b82125dc83
baseline version:
 xen                  6117179dd99958e4ef2687617d12c9b15bdbae24

Last test of basis   185236  2024-04-04 05:42:57 Z    1 days
Testing same since   185241  2024-04-04 21:07:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.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
   6117179dd9..6eeb3e86bd  6eeb3e86bdfa55874f4c44527551e9b82125dc83 -> master


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 07:56:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 07:56:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701141.1095311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rseRO-00022w-9L; Fri, 05 Apr 2024 07:56:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701141.1095311; Fri, 05 Apr 2024 07: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 1rseRO-00022p-5g; Fri, 05 Apr 2024 07:56:50 +0000
Received: by outflank-mailman (input) for mailman id 701141;
 Fri, 05 Apr 2024 07: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=ZLbS=LK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rseRN-00022i-7D
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 07:56:49 +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 0dc121ec-f322-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 09:56:48 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-516cdb21b34so2041161e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 00:56:48 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 w24-20020a05651234d800b00513cb309c8asm123566lfr.52.2024.04.05.00.56.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 00:56:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dc121ec-f322-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712303807; x=1712908607; 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=86+3ksymT0WymzgVPgyvyIRV8ivqHVkzoCDvgvDOgfk=;
        b=cnwt2js4Yd/b1YPq2m+M/3TbMhpGAP6kdYnaBZ3PDkqh3zsu52u7HA2H5S9Nkuggrh
         QrKqPO+aG253dHVfBoqSeKAjBQQ76f7gB7RFQ/bOUTsVr11JVc64tWA7Nryeq3EnHyzG
         NdCVIf5XEVpyOzipws42hg11jb6ZrY1e18U5MD5CbMI7FVwxBAI1T5kquhUIZYaldD5+
         tTziQLoRhOf4CvkCij9SxmytK6zgZi1Aij80+OxLpFEp+AOjt3LYNiHXbRnv7rwI+eXl
         muYZPmw+j5JdBzzZU82VG1ulOdzlpYV5fmj9lOQ+h1Gws4vzZaFuJCKFn2+G9dhATUna
         w/pg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712303807; x=1712908607;
        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=86+3ksymT0WymzgVPgyvyIRV8ivqHVkzoCDvgvDOgfk=;
        b=DDCw+d4SASihRPdVOppH/mIdSFqI83RYcxKsbay6JXdM0LpvZZHCq6Fm4OBWMVz/aq
         e7CoWY6f8xZLd2APJ0xA9cVnwveJo1iCSTPM8LMGlknYwMPacygceXiSzf3TrgzCrixg
         P44SR5uUTGAbJNEipquJDhv8tSx2e27sOOdH8kyjGSJyZxoC5dmD82vrm/mSM/XQ5Vfl
         as52I5SBLfCpjD9Ut9m+SiI1qVoBH7RDIosI4XE638j+YO369pJBBW7FWj5DTnOUlVXG
         UrWh3C2pb4lLE1EKq9y1M7upYBjaxOJ4fAfJf6tb+99Ym2JwwHTAlpZN2DaYmJOxMrwo
         KB0Q==
X-Forwarded-Encrypted: i=1; AJvYcCU6/dp2BZxlf1IjgnslFpjguYo1V7fGnIpJXz4wPpSC2WE6xMdUpru9FfrzFAgf70mP6L0WuqRvtEsT8TjroiQi2vmKYenjNNOawHMOMFY=
X-Gm-Message-State: AOJu0Ywy1xxRO0Z3Cb9B/8sE/y4cNrnJ+BogTvYG451w2xbTtkEolXNn
	Fx8EKq+GTOZfSzLPaWw+tTEiErhWAVTjt+IeX9BLeYKwMNPHPkRB
X-Google-Smtp-Source: AGHT+IFMCS9JLfQuqWSGB7LEMZw7tRBHu9LoN+z8gmeUl5YyYdwS3HV2ll+RtobfzgncFzLz5KS/Mg==
X-Received: by 2002:a19:8c0c:0:b0:516:d126:719a with SMTP id o12-20020a198c0c000000b00516d126719amr423931lfd.9.1712303807267;
        Fri, 05 Apr 2024 00:56:47 -0700 (PDT)
Message-ID: <024957c9a5347b38639aa859d316dce7492f1eef.camel@gmail.com>
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall
 <ross.lagerwall@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>,  Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Fri, 05 Apr 2024 09:56:46 +0200
In-Reply-To: <edd36d22-a2da-4e38-a586-14c742da18f7@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
	 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
	 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
	 <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
	 <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
	 <edd36d22-a2da-4e38-a586-14c742da18f7@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Fri, 2024-04-05 at 08:11 +0200, Jan Beulich wrote:
> On 04.04.2024 18:24, Oleksii wrote:
> > On Thu, 2024-04-04 at 18:12 +0200, Jan Beulich wrote:
> > > On 04.04.2024 17:45, Oleksii wrote:
> > > > On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
> > > > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > > > --- a/xen/include/xen/bitops.h
> > > > > > +++ b/xen/include/xen/bitops.h
> > > > > > @@ -65,10 +65,164 @@ static inline int
> > > > > > generic_flsl(unsigned
> > > > > > long
> > > > > > x)
> > > > > > =C2=A0 * scope
> > > > > > =C2=A0 */
> > > > > > =C2=A0
> > > > > > +#define BITOP_BITS_PER_WORD 32
> > > > > > +/* typedef uint32_t bitop_uint_t; */
> > > > > > +#define bitop_uint_t uint32_t
> > > > >=20
> > > > > So no arch overrides permitted anymore at all?
> > > > Not really, I agree that it is ugly, but I expected that arch
> > > > will
> > > > use
> > > > undef to override.
> > >=20
> > > Which would be fine in principle, just that Misra wants us to
> > > avoid
> > > #undef-s
> > > (iirc).
> > Could you please give me a recommendation how to do that better?
> >=20
> > The reason why I put this defintions before inclusion of
> > asm/bitops.h
> > as RISC-V specific code uses these definitions inside it, so they
> > should be defined before asm/bitops.h; other option is to define
> > these
> > definitions inside asm/bitops.h for each architecture.
>=20
> Earlier on you had it that other way already (in a different header,
> but the principle is the same): Move the generic definitions
> immediately
> past inclusion of asm/bitops.h and frame them with #ifndef.
It can be done in this way:
xen/bitops.h:
   ...
   #include <asm/bitops.h>
  =20
   #ifndef BITOP_TYPE
   #define BITOP_BITS_PER_WORD 32
   /* typedef uint32_t bitop_uint_t; */
   #define bitop_uint_t uint32_t
   #endif
   ...
  =20
But then RISC-V will fail as it is using bitop_uint_t inside
asm/bitops.h.
So, at least, for RISC-V it will be needed to add asm/bitops.h:
   #define BITOP_BITS_PER_WORD 32
   /* typedef uint32_t bitop_uint_t; */
   #define bitop_uint_t uint32_t
  =20

It seems to me that this breaks the idea of having these macro
definitions generic, as RISC-V will redefine BITOP_BITS_PER_WORD and
bitop_uint_t with the same values as the generic ones.
  =20
~ Oleksii

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 08:05:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 08:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701150.1095321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rseZS-0004bH-FV; Fri, 05 Apr 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 701150.1095321; Fri, 05 Apr 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 1rseZS-0004bA-C3; Fri, 05 Apr 2024 08:05:10 +0000
Received: by outflank-mailman (input) for mailman id 701150;
 Fri, 05 Apr 2024 08:05: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rseZR-0004b4-CF
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 08:05:09 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3748f5fe-f323-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 10:05:07 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-33edbc5932bso1335703f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 01:05: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
 f13-20020a5d64cd000000b00343e97150d6sm816967wri.32.2024.04.05.01.05.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 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: 3748f5fe-f323-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712304307; x=1712909107; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QUyuYo8eq7lShdMd3gEN5JzIisDgK/cz/+s2NudCoeM=;
        b=GQvn/9H8mL9c9FucZ7MpWH2X/Yo9ZlHqhqR1NLOhE41OtJu0F+Z2dAl/Mvles0FfaU
         UnCPfJZ3bQ+BTl0LNDmp3J2+pFUO98fbmMXfv7ASCki5YPEhkuYBYNWBm5JdnR6WT7Qg
         WZRawmfmpNJc6Sa6/VELihpA2XApm3a0NVw458z+aa3QJOQUNGtBoSgXYVc61/gvVq/+
         fbf1ILGwMyH3QlXnC2zt8EJlesRmL6Ft7+Onl+4YTCAqultxabQ0mLLnqx92+dbcZi7s
         qW3tyX2tNXLcNOlWC600ApOaotI/ClYKE9t1DIWwkMtNokq0V8V70pvnso7Zh1Ya2Ruw
         HF7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712304307; x=1712909107;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QUyuYo8eq7lShdMd3gEN5JzIisDgK/cz/+s2NudCoeM=;
        b=QEoTXWGTptuKEYV/TUHJs3GAWq+na79ABNU6X/H0ez+/WVOOLVjC2HM2mLaVXFMrOF
         Ye70Zs9Y2SH/hNU2rnH0nbEssBsYYJIOu2jQ5ekuTC6POhu/Z/a714IiaiK63orTKsRv
         yA9hjysctMsWsRbaSUpN7LgVUqWoBk/xY6O34OvDbiPP6z+BYf6hDBNUdVDlCdj9xd1R
         G9kHlJPDbH74Wr7abs4GNZ9pVfM+5Z5lE7z7Vg6Ma2nL7ukue+itIiSQ2+w85M4Noish
         46p4KjWpTCH1J4N3GZKeVf2ekPWcRy3UewK0PTEseIZYIpo83Ynb6OmLpWvJDyy+bDAd
         OMOg==
X-Forwarded-Encrypted: i=1; AJvYcCVjLC+p2yOp9wxihRoXhSTV+QNkkEcinf5xgQ6Ja2DVp++qVAg3gIf5w/8NJQqDJGNMnrnlw+XCAfyNOeVyWbfrGP/h6EYgMJa2M9rFZqg=
X-Gm-Message-State: AOJu0YzAyJyyLL247fgiNezFY/rvjYYPRvkGjpT7HH4QAuOUC5f7D2Ef
	lHOFpSERVD9b5NlBXWT+fLi2/8UFWJguOfbC/1cQV/ht1GVSXCYuCjHCZEm3hg==
X-Google-Smtp-Source: AGHT+IFkupX+i/lefvoXqoixKnkLARUzB4CBc/uB3G5NtpnfuSVE/oHW7kWEI5toGBMjVDY3BKUaWA==
X-Received: by 2002:a5d:4bc5:0:b0:33e:737f:9363 with SMTP id l5-20020a5d4bc5000000b0033e737f9363mr522525wrt.70.1712304306677;
        Fri, 05 Apr 2024 01:05:06 -0700 (PDT)
Message-ID: <fda609e5-3ceb-432c-aaae-80b712013a6c@suse.com>
Date: Fri, 5 Apr 2024 10:05:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
 <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
 <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
 <edd36d22-a2da-4e38-a586-14c742da18f7@suse.com>
 <024957c9a5347b38639aa859d316dce7492f1eef.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <024957c9a5347b38639aa859d316dce7492f1eef.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.04.2024 09:56, Oleksii wrote:
> On Fri, 2024-04-05 at 08:11 +0200, Jan Beulich wrote:
>> On 04.04.2024 18:24, Oleksii wrote:
>>> On Thu, 2024-04-04 at 18:12 +0200, Jan Beulich wrote:
>>>> On 04.04.2024 17:45, Oleksii wrote:
>>>>> On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
>>>>>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>>>>>> --- a/xen/include/xen/bitops.h
>>>>>>> +++ b/xen/include/xen/bitops.h
>>>>>>> @@ -65,10 +65,164 @@ static inline int
>>>>>>> generic_flsl(unsigned
>>>>>>> long
>>>>>>> x)
>>>>>>>   * scope
>>>>>>>   */
>>>>>>>  
>>>>>>> +#define BITOP_BITS_PER_WORD 32
>>>>>>> +/* typedef uint32_t bitop_uint_t; */
>>>>>>> +#define bitop_uint_t uint32_t
>>>>>>
>>>>>> So no arch overrides permitted anymore at all?
>>>>> Not really, I agree that it is ugly, but I expected that arch
>>>>> will
>>>>> use
>>>>> undef to override.
>>>>
>>>> Which would be fine in principle, just that Misra wants us to
>>>> avoid
>>>> #undef-s
>>>> (iirc).
>>> Could you please give me a recommendation how to do that better?
>>>
>>> The reason why I put this defintions before inclusion of
>>> asm/bitops.h
>>> as RISC-V specific code uses these definitions inside it, so they
>>> should be defined before asm/bitops.h; other option is to define
>>> these
>>> definitions inside asm/bitops.h for each architecture.
>>
>> Earlier on you had it that other way already (in a different header,
>> but the principle is the same): Move the generic definitions
>> immediately
>> past inclusion of asm/bitops.h and frame them with #ifndef.
> It can be done in this way:
> xen/bitops.h:
>    ...
>    #include <asm/bitops.h>
>    
>    #ifndef BITOP_TYPE
>    #define BITOP_BITS_PER_WORD 32
>    /* typedef uint32_t bitop_uint_t; */
>    #define bitop_uint_t uint32_t
>    #endif
>    ...
>    
> But then RISC-V will fail as it is using bitop_uint_t inside
> asm/bitops.h.
> So, at least, for RISC-V it will be needed to add asm/bitops.h:
>    #define BITOP_BITS_PER_WORD 32
>    /* typedef uint32_t bitop_uint_t; */
>    #define bitop_uint_t uint32_t
>    
> 
> It seems to me that this breaks the idea of having these macro
> definitions generic, as RISC-V will redefine BITOP_BITS_PER_WORD and
> bitop_uint_t with the same values as the generic ones.

I don't follow. Right now patch 7 has

#undef BITOP_BITS_PER_WORD
#undef bitop_uint_t

#define BITOP_BITS_PER_WORD BITS_PER_LONG
#define bitop_uint_t unsigned long

You'd drop the #undef-s and keep the #define-s. You want to override them
both, after all.

A problem would arise for _another_ arch wanting to use these (default)
types in its asm/bitops.h. Which then could still be solved by having a
types-only header. Recall the discussion on the last summit of us meaning
to switch to such a model anyway (perhaps it being xen/types/bitops.h and
asm/types/bitops.h then), in a broader fashion? IOW for now you could use
the simple approach as long as no other arch needs the types in its
asm/bitops.h. Later we would introduce the types-only headers, thus
catering for possible future uses.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 08:34:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 08:34:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701155.1095330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsf19-0001Au-KL; Fri, 05 Apr 2024 08:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701155.1095330; Fri, 05 Apr 2024 08:33:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsf19-0001An-Hi; Fri, 05 Apr 2024 08:33:47 +0000
Received: by outflank-mailman (input) for mailman id 701155;
 Fri, 05 Apr 2024 08:33:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZxKn=LK=gmail.com=ubizjak@srs-se1.protection.inumbo.net>)
 id 1rsf18-0001Ah-6h
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 08:33: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 372e452c-f327-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 10:33:45 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a51a701bc21so36751466b.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 01:33:45 -0700 (PDT)
Received: from fedora.iskraemeco.si ([193.77.86.250])
 by smtp.gmail.com with ESMTPSA id
 g15-20020a170906198f00b00a4e2bf2f743sm569629ejd.184.2024.04.05.01.33.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 01:33:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 372e452c-f327-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712306024; x=1712910824; 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=UbtbyNCk6KsAiwat1danRvLj4rWxtebP2css0h/SV0s=;
        b=gLs/ebYiXXfCvtLXu3DCGwUaXNSI9R4Te60poMWxkyHockE7kdLaQjgBS6NPfKmNpO
         k4foJjlW7/fOkKG1M6YpnpSTiPA5qaKYFsjj7wCVEBCijmhoNGf++/qosH+egBTiO2O4
         dRrMdj59gseVTwB1MmK7foY40J/2QCkRRzHsuPm/qqTv0/uoDlaCnUwWTIz3OZy6V41I
         SmkpL+bwvcdxO8cPn34pgYalaM3yVL/GiZu1WI581r4SjBaz052TOjANJtLyH9sinZbU
         4KAhN3+gD6JyiKlfBOPlBeIFeGTgBNkwWol0t2b1Jsc3My3aX8MZJIWkOSz7Z3x1LF7B
         1fcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712306024; x=1712910824;
        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=UbtbyNCk6KsAiwat1danRvLj4rWxtebP2css0h/SV0s=;
        b=rWxDl4XdLERtblCIqq4uww+sFCslLUfmXQMBVHKBEWh9Ylo46T65Tf6lNj2hYIOiT9
         +5e+FpBx4FJfl61dCANQX1LXbHpfYl16ItWIPhQ20EfgUHI1MUwW4pqx6F/Ob1W1emaq
         jyA9qKFrMqZRgZmEvCctEvN9yZjupazviHhEqMtdV09jesh5wTGrsTkLJ1Pup+xrnsct
         N6bIMvZNeXEUyV3nXsuth3Cq+TpGqFghv7AHW2hZ5SmBT1k3MeJMZUydPOMYQqLNmcCX
         A9m7hGRWanjw93BeIIalbu9hSywGAjTX9zz1UXZ51UET937wovQAkHBi0Z33++AMI7y5
         C+Rw==
X-Gm-Message-State: AOJu0YxzHwfNHh+KVyQN1tf4hYh+KaHGWOtWBhtFE/g+Sm4oKHDbdap1
	Lmmm1t1ldhNwwj6IirpaqduP14drVqUcmSSnA9q2OrzmoPSt8I+/FgV8iKf259VmAw==
X-Google-Smtp-Source: AGHT+IEK1RsegEAenrgJrW4WSZu/82Cct3JgprPhVKTKLSfyVFRJ6BM5Hhiuzqsr/VHp0OUWzyXEIw==
X-Received: by 2002:a17:906:c102:b0:a51:abb0:a8a1 with SMTP id do2-20020a170906c10200b00a51abb0a8a1mr221604ejc.54.1712306023519;
        Fri, 05 Apr 2024 01:33:43 -0700 (PDT)
From: Uros Bizjak <ubizjak@gmail.com>
To: xen-devel@lists.xenproject.org,
	x86@kernel.org,
	linux-kernel@vger.kernel.org
Cc: Uros Bizjak <ubizjak@gmail.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@kernel.org>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH] locking/x86/xen: Use try_cmpxchg() in xen_alloc_p2m_entry()
Date: Fri,  5 Apr 2024 10:32:53 +0200
Message-ID: <20240405083335.507471-1-ubizjak@gmail.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use try_cmpxchg() instead of cmpxchg(*ptr, old, new) == old.

The x86 CMPXCHG instruction returns success in the ZF flag,
so this change saves a compare after CMPXCHG.

Also, try_cmpxchg() implicitly assigns old *ptr value to "old"
when CMPXCHG fails. There is no need to explicitly assign
old *ptr value to the temporary, which can simplify the
surrounding source code.

No functional change intended.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
---
 arch/x86/xen/p2m.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 9bdc3b656b2c..99918beccd80 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -555,7 +555,6 @@ int xen_alloc_p2m_entry(unsigned long pfn)
 			/* Separately check the mid mfn level */
 			unsigned long missing_mfn;
 			unsigned long mid_mfn_mfn;
-			unsigned long old_mfn;
 
 			mid_mfn = alloc_p2m_page();
 			if (!mid_mfn)
@@ -565,12 +564,12 @@ int xen_alloc_p2m_entry(unsigned long pfn)
 
 			missing_mfn = virt_to_mfn(p2m_mid_missing_mfn);
 			mid_mfn_mfn = virt_to_mfn(mid_mfn);
-			old_mfn = cmpxchg(top_mfn_p, missing_mfn, mid_mfn_mfn);
-			if (old_mfn != missing_mfn) {
-				free_p2m_page(mid_mfn);
-				mid_mfn = mfn_to_virt(old_mfn);
-			} else {
+			/* try_cmpxchg() updates missing_mfn on failure. */
+			if (try_cmpxchg(top_mfn_p, &missing_mfn, mid_mfn_mfn)) {
 				p2m_top_mfn_p[topidx] = mid_mfn;
+			} else {
+				free_p2m_page(mid_mfn);
+				mid_mfn = mfn_to_virt(missing_mfn);
 			}
 		}
 	} else {
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701164.1095382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfes-0008Ox-6Q; Fri, 05 Apr 2024 09:14:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701164.1095382; Fri, 05 Apr 2024 09: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 1rsfer-0008Na-Us; Fri, 05 Apr 2024 09:14:49 +0000
Received: by outflank-mailman (input) for mailman id 701164;
 Fri, 05 Apr 2024 09:14: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfer-0007cm-7p
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2db2379-f32c-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 11:14:47 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id B86004EE073F;
 Fri,  5 Apr 2024 11:14:46 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2db2379-f32c-11ee-afe6-a90da7624cb6
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 5/9] xen/domctl: address violations of MISRA C Rule 16.2
Date: Fri,  5 Apr 2024 11:14:33 +0200
Message-Id: <5ba6dafed08ca148f7ea92e4c8f7fc947f825cd0.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the first clauses so that a violation of
MISRA C Rule 16.2 is resolved (a switch label should be immediately
enclosed in the compound statement of the switch).
Note that the switch clause ending with the pseudo
keyword "fallthrough" is an allowed exception to Rule 16.3.

Convert fallthrough comments in other clauses to the pseudo-keyword
while at it.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/domctl.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index f2e0e36a17c3..cad0ff9d2ec0 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -293,6 +293,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 
     switch ( op->cmd )
     {
+    case XEN_DOMCTL_createdomain:
+        d = NULL;
+        break;
     case XEN_DOMCTL_assign_device:
     case XEN_DOMCTL_deassign_device:
         if ( op->domain == DOMID_IO )
@@ -302,16 +305,15 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
         }
         else if ( op->domain == DOMID_INVALID )
             return -ESRCH;
-        /* fall through */
+        fallthrough;
     case XEN_DOMCTL_test_assign_device:
     case XEN_DOMCTL_vm_event_op:
         if ( op->domain == DOMID_INVALID )
         {
-    case XEN_DOMCTL_createdomain:
             d = NULL;
             break;
         }
-        /* fall through */
+        fallthrough;
     default:
         d = rcu_lock_domain_by_id(op->domain);
         if ( !d )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701162.1095371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfer-0008Ed-FR; Fri, 05 Apr 2024 09:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701162.1095371; Fri, 05 Apr 2024 09: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 1rsfer-0008EM-BT; Fri, 05 Apr 2024 09:14:49 +0000
Received: by outflank-mailman (input) for mailman id 701162;
 Fri, 05 Apr 2024 09: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfep-0007WZ-U1
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2303e5d-f32c-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 11:14:46 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 2F3344EE0744;
 Fri,  5 Apr 2024 11:14: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: f2303e5d-f32c-11ee-a1ef-f123f15fe8a2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	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 3/9] x86/irq: tidy switch statement and address MISRA violation
Date: Fri,  5 Apr 2024 11:14:31 +0200
Message-Id: <d1bdd54b6751a047626b0271fff882484f98ea1a.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove unneded blank lines between switch clauses.

Refactor the clauses so that a MISRA C Rule 16.2 violation is resolved
(A switch label shall only be used when the most closely-enclosing
compound statement is the body of a switch statement).
Note that the switch clause ending with the pseudo keyword "fallthrough"
is an allowed exception to Rule 16.3.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
The initialization of irq is due to gcc thinking that irq may be used
uninitizalied in the test after MAP_PIRQ_TYPE_MULTI_MSI
---
 xen/arch/x86/irq.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 0487f734a5d2..16c023f077da 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2882,7 +2882,7 @@ int allocate_and_map_gsi_pirq(struct domain *d, int index, int *pirq_p)
 int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
                               int type, struct msi_info *msi)
 {
-    int irq, pirq, ret;
+    int irq = -1, pirq, ret;
 
     ASSERT_PDEV_LIST_IS_READ_LOCKED(d);
 
@@ -2892,12 +2892,10 @@ int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
         if ( !msi->table_base )
             msi->entry_nr = 1;
         irq = index;
-        if ( irq == -1 )
-        {
+        fallthrough;
     case MAP_PIRQ_TYPE_MULTI_MSI:
+        if( type == MAP_PIRQ_TYPE_MULTI_MSI || irq == -1 )
             irq = create_irq(NUMA_NO_NODE, true);
-        }
-
         if ( irq < nr_irqs_gsi || irq >= nr_irqs )
         {
             dprintk(XENLOG_G_ERR, "dom%d: can't create irq for msi!\n",
@@ -2905,7 +2903,6 @@ int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
             return -EINVAL;
         }
         break;
-
     default:
         dprintk(XENLOG_G_ERR, "dom%d: wrong pirq type %x\n",
                 d->domain_id, type);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701160.1095347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfep-0007Z2-S5; Fri, 05 Apr 2024 09:14:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701160.1095347; Fri, 05 Apr 2024 09: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 1rsfep-0007YW-Me; Fri, 05 Apr 2024 09:14:47 +0000
Received: by outflank-mailman (input) for mailman id 701160;
 Fri, 05 Apr 2024 09:14: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfeo-0007WZ-Dr
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0eb9a0d-f32c-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 11:14:44 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id CCE414EE0742;
 Fri,  5 Apr 2024 11:14: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: f0eb9a0d-f32c-11ee-a1ef-f123f15fe8a2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	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 1/9] x86/vlapic: tidy switch statement and address MISRA violation
Date: Fri,  5 Apr 2024 11:14:29 +0200
Message-Id: <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove unneded blank lines between switch clauses.

Refactor the last clauses so that a violation of
MISRA C Rule 16.2 is resolved (A switch label shall only be used
when the most closely-enclosing compound statement is the body of
a switch statement). The switch clause ending with the
pseudo keyword "fallthrough" is an allowed exception to Rule 16.3.

No functional change.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/vlapic.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index dcbcf4a1feb5..81efe5472518 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -976,7 +976,6 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, uint64_t val)
         if ( val & ~APIC_TPRI_MASK )
             return X86EMUL_EXCEPTION;
         break;
-
     case APIC_SPIV:
         if ( val & ~(APIC_VECTOR_MASK | APIC_SPIV_APIC_ENABLED |
                      APIC_SPIV_FOCUS_DISABLED |
@@ -984,38 +983,31 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, uint64_t val)
                       ? APIC_SPIV_DIRECTED_EOI : 0)) )
             return X86EMUL_EXCEPTION;
         break;
-
     case APIC_LVTT:
         if ( val & ~(LVT_MASK | APIC_TIMER_MODE_MASK) )
             return X86EMUL_EXCEPTION;
         break;
-
     case APIC_LVTTHMR:
     case APIC_LVTPC:
     case APIC_CMCI:
         if ( val & ~(LVT_MASK | APIC_DM_MASK) )
             return X86EMUL_EXCEPTION;
         break;
-
     case APIC_LVT0:
     case APIC_LVT1:
         if ( val & ~LINT_MASK )
             return X86EMUL_EXCEPTION;
         break;
-
     case APIC_LVTERR:
         if ( val & ~LVT_MASK )
             return X86EMUL_EXCEPTION;
         break;
-
     case APIC_TMICT:
         break;
-
     case APIC_TDCR:
         if ( val & ~APIC_TDR_DIV_MASK )
             return X86EMUL_EXCEPTION;
         break;
-
     case APIC_ICR:
         if ( (uint32_t)val & ~(APIC_VECTOR_MASK | APIC_DM_MASK |
                                APIC_DEST_MASK | APIC_INT_ASSERT |
@@ -1023,21 +1015,19 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, uint64_t val)
             return X86EMUL_EXCEPTION;
         vlapic_set_reg(vlapic, APIC_ICR2, val >> 32);
         break;
-
     case APIC_SELF_IPI:
         if ( val & ~APIC_VECTOR_MASK )
             return X86EMUL_EXCEPTION;
         offset = APIC_ICR;
         val = APIC_DEST_SELF | (val & APIC_VECTOR_MASK);
         break;
-
     case APIC_EOI:
     case APIC_ESR:
-        if ( val )
-        {
+        if ( !val )
+            break;
+        fallthrough;
     default:
             return X86EMUL_EXCEPTION;
-        }
     }
 
     vlapic_reg_write(v, array_index_nospec(offset, PAGE_SIZE), val);
-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701163.1095376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfer-0008HE-Pj; Fri, 05 Apr 2024 09:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701163.1095376; Fri, 05 Apr 2024 09: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 1rsfer-0008GZ-K3; Fri, 05 Apr 2024 09:14:49 +0000
Received: by outflank-mailman (input) for mailman id 701163;
 Fri, 05 Apr 2024 09:14: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfer-0007cm-0k
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f283f1f3-f32c-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 11:14:47 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 3A76E4EE0745;
 Fri,  5 Apr 2024 11:14:46 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f283f1f3-f32c-11ee-afe6-a90da7624cb6
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	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 4/9] x86/efi: tidy switch statement and address MISRA violation
Date: Fri,  5 Apr 2024 11:14:32 +0200
Message-Id: <acbf40ba94a5ef7a8a429498765932b801e42a0a.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the first clauses so that a violation of
MISRA C Rule 16.2 is resolved (a switch label, "default" in this
case, should be immediately enclosed in the compound statement
of the switch). Note that the switch clause ending with the pseudo
keyword "fallthrough" is an allowed exception to Rule 16.3.

Convert fallthrough comments in other clauses to the pseudo-keyword
while at it.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
There is some degree of duplication here between the default clause
and the others, but I don't think there is a way to avoid it.
---
 xen/arch/x86/efi/efi-boot.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 8ea64e31cdc2..c4d452c482be 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -169,20 +169,22 @@ static void __init efi_arch_process_memory_map(EFI_SYSTEM_TABLE *SystemTable,
 
         switch ( desc->Type )
         {
+        default:
+            type = E820_RESERVED;
+            break;
         case EfiBootServicesCode:
         case EfiBootServicesData:
             if ( map_bs )
             {
-        default:
                 type = E820_RESERVED;
                 break;
             }
-            /* fall through */
+            fallthrough;
         case EfiConventionalMemory:
             if ( !trampoline_phys && desc->PhysicalStart + len <= 0x100000 &&
                  len >= cfg.size && desc->PhysicalStart + len > cfg.addr )
                 cfg.addr = (desc->PhysicalStart + len - cfg.size) & PAGE_MASK;
-            /* fall through */
+            fallthrough;
         case EfiLoaderCode:
         case EfiLoaderData:
             if ( desc->Attribute & EFI_MEMORY_RUNTIME )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701165.1095398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfet-0000Qk-D0; Fri, 05 Apr 2024 09:14:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701165.1095398; Fri, 05 Apr 2024 09:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfet-0000P6-6p; Fri, 05 Apr 2024 09:14:51 +0000
Received: by outflank-mailman (input) for mailman id 701165;
 Fri, 05 Apr 2024 09:14: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfer-0007WZ-En
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f32b95bd-f32c-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 11:14:48 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 5167C4EE0747;
 Fri,  5 Apr 2024 11:14: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: f32b95bd-f32c-11ee-a1ef-f123f15fe8a2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	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 6/9] x86/hvm: address violations of MISRA C Rule 16.2
Date: Fri,  5 Apr 2024 11:14:34 +0200
Message-Id: <165d61fab77c0b6613b78e0091195753fe9cd2cc.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the switch so that a violation of
MISRA C Rule 16.2 is resolved (a switch label should be immediately
enclosed in the compound statement of the switch).

The switch clause ending with the pseudo
keyword "fallthrough" is an allowed exception to Rule 16.3.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/hypercall.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index eeb73e1aa5d0..2801d75d89f1 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -119,12 +119,12 @@ int hvm_hypercall(struct cpu_user_regs *regs)
             (mode == 8 ? regs->rdi : regs->ebx) == HVMOP_guest_request_vm_event )
             break;
 
-        if ( unlikely(hvm_get_cpl(curr)) )
-        {
+        if ( !unlikely(hvm_get_cpl(curr)) )
+            break;
+        fallthrough;
     default:
-            regs->rax = -EPERM;
-            return HVM_HCALL_completed;
-        }
+        regs->rax = -EPERM;
+        return HVM_HCALL_completed;
     case 0:
         break;
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701161.1095348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfeq-0007eO-03; Fri, 05 Apr 2024 09:14:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701161.1095348; Fri, 05 Apr 2024 09: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 1rsfep-0007cS-TN; Fri, 05 Apr 2024 09:14:47 +0000
Received: by outflank-mailman (input) for mailman id 701161;
 Fri, 05 Apr 2024 09:14: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfeo-0007WZ-Ti
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f17dc861-f32c-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 11:14:45 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 331774EE0743;
 Fri,  5 Apr 2024 11:14: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: f17dc861-f32c-11ee-a1ef-f123f15fe8a2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	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 2/9] x86/cpuid: address violation of MISRA C Rule 16.2
Date: Fri,  5 Apr 2024 11:14:30 +0200
Message-Id: <f957c92d9a00c66df47fc3cac336e378488b9fea.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the switch so that a violation of MISRA C Rule 16.2 is resolved
(A switch label shall only be used when the most closely-enclosing
compound statement is the body of a switch statement).
Note that the switch clause ending with the pseudo
keyword "fallthrough" is an allowed exception to Rule 16.3.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/cpuid.c | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index 7290a979c667..0a7c55199f94 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -331,23 +331,22 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
         switch ( subleaf )
         {
         case 1:
-            if ( p->xstate.xsavec || p->xstate.xsaves )
-            {
-                /*
-                 * TODO: Figure out what to do for XSS state.  VT-x manages
-                 * host vs guest MSR_XSS automatically, so as soon as we start
-                 * supporting any XSS states, the wrong XSS will be in
-                 * context.
-                 */
-                BUILD_BUG_ON(XSTATE_XSAVES_ONLY != 0);
-
-                /*
-                 * Read CPUID[0xD,0/1].EBX from hardware.  They vary with
-                 * enabled XSTATE, and appropraite XCR0|XSS are in context.
-                 */
+            if ( !(p->xstate.xsavec || p->xstate.xsaves) )
+                break;
+            /*
+             * TODO: Figure out what to do for XSS state.  VT-x manages
+             * host vs guest MSR_XSS automatically, so as soon as we start
+             * supporting any XSS states, the wrong XSS will be in
+             * context.
+             */
+            BUILD_BUG_ON(XSTATE_XSAVES_ONLY != 0);
+            fallthrough;
         case 0:
-                res->b = cpuid_count_ebx(leaf, subleaf);
-            }
+            /*
+             * Read CPUID[0xD,0/1].EBX from hardware.  They vary with
+             * enabled XSTATE, and appropriate XCR0|XSS are in context.
+             */
+            res->b = cpuid_count_ebx(leaf, subleaf);
             break;
         }
         break;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701166.1095406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfet-0000V4-TP; Fri, 05 Apr 2024 09:14:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701166.1095406; Fri, 05 Apr 2024 09:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfet-0000SK-Gg; Fri, 05 Apr 2024 09:14:51 +0000
Received: by outflank-mailman (input) for mailman id 701166;
 Fri, 05 Apr 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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfer-0007cm-T5
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3dbb950-f32c-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 11:14:49 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 5D1974EE074B;
 Fri,  5 Apr 2024 11:14:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3dbb950-f32c-11ee-afe6-a90da7624cb6
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 8/9] xen/domain: deviate MISRA C Rule 16.2 violation
Date: Fri,  5 Apr 2024 11:14:36 +0200
Message-Id: <2328b1a43f8bc4c9a9303c46f8eba2847c67a713.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 16.2 states:
"A switch label shall only be used when the most closely-enclosing
compound statement is the body of a switch statement".

The PROGRESS_VCPU local helper specifies a case that is directly
inside the compound statement of a for loop, hence violating the rule.
To avoid this, the construct is deviated with a text-based deviation.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
I chose a text-based deviation, rather than exempting PROGRESS_VCPU,
because it's more refined and it's unlikely that more violations
are introduced, since the rule has only very few violations left on
both ARM and x86.
---
 docs/misra/safe.json | 8 ++++++++
 xen/common/domain.c  | 1 +
 2 files changed, 9 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index d361d0e65ceb..64178ba2ef7d 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -36,6 +36,14 @@
         },
         {
             "id": "SAF-4-safe",
+            "analyser": {
+              "eclair": "MC3R1.R16.2"
+            },
+            "name": "MC3R1.R16.2: using a case label when the most closely-enclosing compound statement is not a switch statement",
+            "text": "A switch label enclosed by some compound statement that is not the body of a switch is permitted within local helper macros that are unlikely to be misused or misunderstood."
+        },
+        {
+            "id": "SAF-5-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/common/domain.c b/xen/common/domain.c
index ceb44c826685..1388b9e7cefa 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -457,6 +457,7 @@ static int domain_teardown(struct domain *d)
 
         for_each_vcpu ( d, v )
         {
+            /* SAF-4-safe MISRA C Rule 16.2: switch label enclosed by for loop*/
             PROGRESS_VCPU(teardown);
 
             rc = vcpu_teardown(v);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701159.1095341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfep-0007X1-KH; Fri, 05 Apr 2024 09:14:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701159.1095341; Fri, 05 Apr 2024 09: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 1rsfep-0007Wu-Fw; Fri, 05 Apr 2024 09:14:47 +0000
Received: by outflank-mailman (input) for mailman id 701159;
 Fri, 05 Apr 2024 09:14: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfeo-0007WZ-74
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f032e5ff-f32c-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 11:14:43 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id CB51F4EE073E;
 Fri,  5 Apr 2024 11:14:40 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f032e5ff-f32c-11ee-a1ef-f123f15fe8a2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v2 0/9] address violations of MISRA C Rule 16.2
Date: Fri,  5 Apr 2024 11:14:28 +0200
Message-Id: <cover.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Continuing the work done in [1], these patches make this rule clean (i.e., no
residual violation of the rule). Some switches are refactored to avoid
interleaving a case label inside an if statement. In some cases this leads to
some duplication, but the files where this would have had the greatest impact
(the x86 emulator files and svm/emulate.c) are deviated, in order to have a
reasonable balance between code changes and deviations.

[1] https://lore.kernel.org/xen-devel/99114c15a4256e6a0f39bd6de232ee4b8ad9b587.1698239734.git.nicola.vetrini@bugseng.com/

Nicola Vetrini (9):
  x86/vlapic: tidy switch statement and address MISRA violation
  x86/cpuid: address violation of MISRA C Rule 16.2
  x86/irq: tidy switch statement and address MISRA violation
  x86/efi: tidy switch statement and address MISRA violation
  xen/domctl: address violations of MISRA C Rule 16.2
  x86/hvm: address violations of MISRA C Rule 16.2
  xen/xsm: address violation of MISRA C Rule 16.2
  xen/domain: deviate MISRA C Rule 16.2 violation
  eclair_analysis: deviate x86 emulator for Rule 16.2

 .../eclair_analysis/ECLAIR/deviations.ecl     |  7 +++++
 docs/misra/deviations.rst                     |  6 ++++
 docs/misra/safe.json                          |  8 +++++
 xen/arch/x86/cpuid.c                          | 31 +++++++++----------
 xen/arch/x86/efi/efi-boot.h                   |  8 +++--
 xen/arch/x86/hvm/hypercall.c                  | 10 +++---
 xen/arch/x86/hvm/vlapic.c                     | 16 ++--------
 xen/arch/x86/irq.c                            |  9 ++----
 xen/common/domain.c                           |  1 +
 xen/common/domctl.c                           |  8 +++--
 xen/include/xsm/dummy.h                       | 12 +++----
 11 files changed, 64 insertions(+), 52 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701167.1095410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfeu-0000g9-DW; Fri, 05 Apr 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 701167.1095410; Fri, 05 Apr 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 1rsfet-0000cy-Vx; Fri, 05 Apr 2024 09:14:51 +0000
Received: by outflank-mailman (input) for mailman id 701167;
 Fri, 05 Apr 2024 09:14:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfer-0007WZ-Vk
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f375b6da-f32c-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 11:14:48 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id DBAA64EE0749;
 Fri,  5 Apr 2024 11:14: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: f375b6da-f32c-11ee-a1ef-f123f15fe8a2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [XEN PATCH v2 7/9] xen/xsm: address violation of MISRA C Rule 16.2
Date: Fri,  5 Apr 2024 11:14:35 +0200
Message-Id: <7fbb80bf62fc2e5f91a89375134622366c0b3891.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the switch so that a violation of
MISRA C Rule 16.2 is resolved (A switch label shall only be used
when the most closely-enclosing compound statement is the body of
a switch statement).
Note that the switch clause ending with the pseudo
keyword "fallthrough" is an allowed exception to Rule 16.3.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
The second switch is not the best in terms of readability, so it may
be best to deviate this particular instance.
---
 xen/include/xsm/dummy.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index 88039fdd227c..84d3a8ed1c94 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -83,17 +83,17 @@ static always_inline int xsm_default_action(
         return 0;
     case XSM_TARGET:
         if ( evaluate_nospec(src == target) )
-        {
             return 0;
+        fallthrough;
     case XSM_XS_PRIV:
-            if ( evaluate_nospec(is_xenstore_domain(src)) )
-                return 0;
-        }
-        /* fall through */
+        if ( (action == XSM_XS_PRIV) &&
+             evaluate_nospec(is_xenstore_domain(src)) )
+            return 0;
+        fallthrough;
     case XSM_DM_PRIV:
         if ( target && evaluate_nospec(src->target == target) )
             return 0;
-        /* fall through */
+        fallthrough;
     case XSM_PRIV:
         if ( is_control_domain(src) )
             return 0;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 09:14:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 09:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701168.1095421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfev-0000vP-9G; Fri, 05 Apr 2024 09:14:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701168.1095421; Fri, 05 Apr 2024 09:14:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsfeu-0000sL-So; Fri, 05 Apr 2024 09:14:52 +0000
Received: by outflank-mailman (input) for mailman id 701168;
 Fri, 05 Apr 2024 09:14: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=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsfes-0007cm-TQ
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 09:14:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f441b1f7-f32c-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 11:14:49 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 0464D4EE0748;
 Fri,  5 Apr 2024 11:14:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f441b1f7-f32c-11ee-afe6-a90da7624cb6
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 9/9] eclair_analysis: deviate x86 emulator for Rule 16.2
Date: Fri,  5 Apr 2024 11:14:37 +0200
Message-Id: <31647df45bf37e56ab81e1c8830211e60765d5c9.1712305581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712305581.git.nicola.vetrini@bugseng.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 16.2 states:
"A switch label shall only be used when the most closely-enclosing
compound statement is the body of a switch statement".

Since complying with this rule of the x86 emulator would lead to
a lot of code duplication, it is deemed better to exempt those
files for this guideline.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 7 +++++++
 docs/misra/deviations.rst                        | 6 ++++++
 2 files changed, 13 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index de9ba723fbc7..c714b7da03dc 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -358,6 +358,13 @@ therefore have the same behavior of a boolean"
 # Series 16.
 #
 
+-doc_begin="Complying with the Rule would entail a lot of code duplication in the implementation of the x86 emulator,
+therefore it is deemed better to leave such files as is."
+-file_tag+={x86_emulate,"^xen/arch/x86/x86_emulate/.*$"}
+-file_tag+={x86_svm_emulate,"^xen/arch/x86/hvm/svm/emulate\\.c$"}
+-config=MC3R1.R16.2,reports+={deliberate, "any_area(any_loc(file(x86_emulate||x86_svm_emulate)))"}
+-doc_end
+
 -doc_begin="Switch clauses ending with continue, goto, return statements are
 safe."
 -config=MC3R1.R16.3,terminals+={safe, "node(continue_stmt||goto_stmt||return_stmt)"}
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index eb5ef2bd9dd6..28685ce7ab95 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -296,6 +296,12 @@ Deviations related to MISRA C:2012 Rules:
        therefore have the same behavior of a boolean.
      - Project-wide deviation; tagged as `deliberate` for ECLAIR.
 
+   * - R16.2
+     - Complying with the Rule would entail a lot of code duplication in the
+       implementation of the x86 emulator, therefore it is deemed better to
+       leave such files as is.
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R16.3
      - Switch clauses ending with continue, goto, return statements are safe.
      - Tagged as `safe` for ECLAIR.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 10:30:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 10:30:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701196.1095441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsgqE-0006lM-2r; Fri, 05 Apr 2024 10:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701196.1095441; Fri, 05 Apr 2024 10:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsgqD-0006lF-W5; Fri, 05 Apr 2024 10:30:37 +0000
Received: by outflank-mailman (input) for mailman id 701196;
 Fri, 05 Apr 2024 10:30:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PPJ4=LK=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rsgqC-0006l8-1w
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 10:30:36 +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 87cc3e3f-f337-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 12:30:33 +0200 (CEST)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 9CCA41CCE07;
 Fri,  5 Apr 2024 06:30:31 -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 937001CCE05;
 Fri,  5 Apr 2024 06:30:31 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.85])
 (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 DA4DF1CCE04;
 Fri,  5 Apr 2024 06:30:30 -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: 87cc3e3f-f337-11ee-afe6-a90da7624cb6
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=x4+s/HQp9NtJcuBNkyS5ldGfx3iN+MBSSDHfpBpZDd4=; b=qqs2
	R5VMOE/HVjcNM9mjlPln0ncoOAFRPWZwfiaGto7nB3FcfkNcDstMcGGfB2BT1ZRx
	1w6Xmtq+X+CfcmkOaOScuWS9cDXmfDV5yaFH+JRxF8jQ+zgdOZsgL6yGRjTkzAgS
	qNNUH/GS2wh+GOhGmttn3Xkd0hvPSEiazMshfko=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH V1] x86/ucode: optional amd/intel ucode build & load
Date: Fri,  5 Apr 2024 13:30:27 +0300
Message-Id: <20240405103027.2704728-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 8705E20C-F337-11EE-A79C-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Introduce configuration variables to make it possible to selectively turn
on/off CPU microcode management code in the build for AMD and Intel CPUs.

This is to allow build configuration for a specific CPU, not compile and
load what will not be used anyway.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig                | 12 ++++++++++++
 xen/arch/x86/cpu/microcode/Makefile |  4 ++--
 xen/arch/x86/cpu/microcode/core.c   |  5 ++++-
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index d6f3128588..1ee5ae793d 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -350,6 +350,18 @@ config REQUIRE_NX
 	  was unavailable. However, if enabled, Xen will no longer boot on
 	  any CPU which is lacking NX support.
=20
+config MICROCODE_INTEL
+	bool "Build with Intel CPU ucode support" if EXPERT
+        default y
+	help
+	  Support microcode management for Intel processors. If unsure, say Y.
+
+config MICROCODE_AMD
+	bool "Build with AMD CPU ucode support" if EXPERT
+        default y
+	help
+	  Support microcode management for AMD K10 family of processors
+	  and later. If unsure, say Y.
 endmenu
=20
 source "common/Kconfig"
diff --git a/xen/arch/x86/cpu/microcode/Makefile b/xen/arch/x86/cpu/micro=
code/Makefile
index aae235245b..abd0afe8c5 100644
--- a/xen/arch/x86/cpu/microcode/Makefile
+++ b/xen/arch/x86/cpu/microcode/Makefile
@@ -1,3 +1,3 @@
-obj-y +=3D amd.o
 obj-y +=3D core.o
-obj-y +=3D intel.o
+obj-$(CONFIG_MICROCODE_AMD) +=3D amd.o
+obj-$(CONFIG_MICROCODE_INTEL) +=3D intel.o
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microco=
de/core.c
index 1c9f66ea8a..b7c108f68b 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -865,6 +865,7 @@ int __init early_microcode_init(unsigned long *module=
_map,
=20
     switch ( c->x86_vendor )
     {
+#ifdef CONFIG_MICROCODE_AMD
     case X86_VENDOR_AMD:
         if ( c->x86 >=3D 0x10 )
         {
@@ -872,11 +873,13 @@ int __init early_microcode_init(unsigned long *modu=
le_map,
             can_load =3D true;
         }
         break;
-
+#endif
+#ifdef CONFIG_MICROCODE_INTEL
     case X86_VENDOR_INTEL:
         ucode_ops =3D intel_ucode_ops;
         can_load =3D intel_can_load_microcode();
         break;
+#endif
     }
=20
     if ( !ucode_ops.apply_microcode )
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 10:50:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 10:50:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701200.1095451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsh8x-0000hR-L0; Fri, 05 Apr 2024 10:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701200.1095451; Fri, 05 Apr 2024 10: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 1rsh8x-0000hK-Gv; Fri, 05 Apr 2024 10:49:59 +0000
Received: by outflank-mailman (input) for mailman id 701200;
 Fri, 05 Apr 2024 10:49: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=ZLbS=LK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsh8x-0000hE-0w
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 10:49:59 +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 3e9d3d10-f33a-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 12:49:58 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2d4979cd8c8so18587771fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 03:49:57 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 by41-20020a05651c1a2900b002d28db9ce7bsm144281ljb.20.2024.04.05.03.49.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 03: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: 3e9d3d10-f33a-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712314197; x=1712918997; 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=c0DMaH+4wXIOLRIGo79/jVmiiyVr801CFJn/L69+YxM=;
        b=LMEnI2gNgf1qC8fzdpHl6s1tORMzacI0Ea6VB/bWpjqLrriPPHQ1Lv5RPWQ/ttJSlp
         +ybrkbTmEJBiiZPfpYd80jiMm9HOK12zFaXNl4PokxpC2vGp6hSirH8XxnP2DxwMPfhN
         AXd6Ndqja5Gx7s0WxF1Q+m95y0hyfMFhuLDq+Yh69RZdjGvGTQRBs069dezXq6cSp5Rt
         8FKbpKmeBormXvEqdt4pDHvxo3S+0K6l96pdqUupd3VjDOhSpdxBlgn6053ycwO/Ofuy
         NQQf5hmdvB+JpDKck9FYZXmNs7ialBQU8pYYfw+YTFVb/C2tP60x0BZ/U8O0603TR2wt
         AZ+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712314197; x=1712918997;
        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=c0DMaH+4wXIOLRIGo79/jVmiiyVr801CFJn/L69+YxM=;
        b=TSbdXeqa+TfpVAdrMrB9qm30zmWM0MBC5bIf9gCh4oQ2MLapFlN2pjSgIW9XzX6BFW
         qeChEy394tDJeN11Eo/GhK0c87/8+vJu9qsNeZ7Yx1pAjeTFU8FtECIXlmz+cviYPcye
         vp80PGQUCOEpNu21KM0rSps9IimaxpfhL4YfKOEgkC0x1/ZGCGGf8WHzkJVokI1KHoxj
         YWHO8n4LKo8mCTxhRH4FYp8Or888j7ROhNYtxNQtc7h7/JiNOvCJ/iyQclyAuwq1/VsD
         Bpn1V3zeXGaD0iaAVcqWygcyrKNblBijoRHTmMtCvhKedC53bjW3XSYNFKhkx6hMTWzt
         ctgg==
X-Forwarded-Encrypted: i=1; AJvYcCUBZgBlED7aOX91XbzbmT4u65+eKCXca218iF+xrFKp5uIciq3vMZWTKQSieQtXtPa6WfLi+PEfOwlONcCxt6Oqhh7Ul+8we5qIgF3cZo0=
X-Gm-Message-State: AOJu0Yz1fBNt/W8gttejHqS2CnzAkeScaHqu6KUbM7ViIOc1I5DpvH5K
	Umhvst76tnZolXPmySOvtplEwyZ0blz2PXQ6zRRkPK3pUkypc0D7
X-Google-Smtp-Source: AGHT+IGPvSrzl7mgK45mShuLo+qjX8S4QYbjW0RwibEBWV0CLKkGukMFi43lPsogu8JKKRh0+sbQFg==
X-Received: by 2002:a2e:9082:0:b0:2d8:66c3:7577 with SMTP id l2-20020a2e9082000000b002d866c37577mr434124ljg.19.1712314197143;
        Fri, 05 Apr 2024 03:49:57 -0700 (PDT)
Message-ID: <ecf12e57869e58263e5f0193cdbd48ef55cb861b.camel@gmail.com>
Subject: Re: [PATCH v7 03/19] xen/riscv: introduce extenstion support check
 by compiler
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Alistair Francis
 <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>,  xen-devel@lists.xenproject.org
Date: Fri, 05 Apr 2024 12:49:56 +0200
In-Reply-To: <b63bf76c-b03a-4eb9-a179-69d9341f4b21@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <0c9b0317d0fc4f93bf5cc0893d480853110b8287.1712137031.git.oleksii.kurochko@gmail.com>
	 <bda70742-04b7-4bab-8cdd-6b5a3d45dc3c@suse.com>
	 <9945cb144f5c1b95202646135b88891537230e17.camel@gmail.com>
	 <3095e62f-583c-414d-92d9-9b09b6959251@suse.com>
	 <9ac4b0f3171c6b714092d04e07c2e16add16c86a.camel@gmail.com>
	 <b63bf76c-b03a-4eb9-a179-69d9341f4b21@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Fri, 2024-04-05 at 08:08 +0200, Jan Beulich wrote:
> On 04.04.2024 18:17, Oleksii wrote:
> > On Thu, 2024-04-04 at 17:43 +0200, Jan Beulich wrote:
> > > On 04.04.2024 17:18, Oleksii wrote:
> > > > On Thu, 2024-04-04 at 12:07 +0200, Jan Beulich wrote:
> > > > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > > > --- a/xen/arch/riscv/arch.mk
> > > > > > +++ b/xen/arch/riscv/arch.mk
> > > > > > @@ -3,16 +3,27 @@
> > > > > > =C2=A0
> > > > > > =C2=A0$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
> > > > > > =C2=A0
> > > > > > -CFLAGS-$(CONFIG_RISCV_64) +=3D -mabi=3Dlp64
> > > > > > +riscv-abi-$(CONFIG_RISCV_32) :=3D -mabi=3Dilp32
> > > > > > +riscv-abi-$(CONFIG_RISCV_64) :=3D -mabi=3Dlp64
> > > > > > =C2=A0
> > > > > > =C2=A0riscv-march-$(CONFIG_RISCV_ISA_RV64G) :=3D rv64g
> > > > > > =C2=A0riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 :=3D $(riscv-march-
> > > > > > y)c
> > > > > > =C2=A0
> > > > > > +riscv-generic-flags :=3D $(riscv-abi-y) -march=3D$(riscv-
> > > > > > march-y)
> > > > > > +
> > > > > > +zbb :=3D $(call as-insn,$(CC) $(riscv-generic-
> > > > > > flags)_zbb,"",_zbb)
> > > > >=20
> > > > > While committing another question popped up: Why "" (i.e. no
> > > > > insn)
> > > > > here, ...
> > > > >=20
> > > > > > +zihintpause :=3D $(call as-insn,\
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 $(CC) $(riscv-generic-
> > > > > > flags)_zihintpause,"pause",_zihintpause)
> > > > >=20
> > > > > ... but "pause" here?
> > > >=20
> > > > In the case of the Zbb extension, we don't check for a specific
> > > > instruction, but with the Zihintpause, the idea was to verify
> > > > if
> > > > the
> > > > pause instruction is supported or not.
> > >=20
> > > And why's this verification relevant here, but not for Zbb?
> > It is not relevant and can be dropped.
>=20
> Is it really not? Aren't you checking two things for Zihintpause
> (compiler
> and assembler support), while checking only one (compiler) for Zbb?
You are right.
I made again an assumption that binutils are as new as a compiler.

Then it makes sense to replace an argument if as-insn "" with andn t0,
t0, t0 for Zbb:

   -zbb :=3D $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
   +zbb_insn :=3D "andn t0, t0, t0"
   +zbb :=3D $(call as-insn,$(CC) $(riscv-generic-
   flags)_zbb,${zbb_insn},_zbb)

~ Oleksii

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 10:57:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 10:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701203.1095461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rshG8-0002Cs-7M; Fri, 05 Apr 2024 10:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701203.1095461; Fri, 05 Apr 2024 10:57:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rshG8-0002Cl-3r; Fri, 05 Apr 2024 10:57:24 +0000
Received: by outflank-mailman (input) for mailman id 701203;
 Fri, 05 Apr 2024 10:57: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=1z4c=LK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rshG6-0002Ce-Lk
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 10:57:22 +0000
Received: from mail-vk1-xa29.google.com (mail-vk1-xa29.google.com
 [2607:f8b0:4864:20::a29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46b91f92-f33b-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 12:57:21 +0200 (CEST)
Received: by mail-vk1-xa29.google.com with SMTP id
 71dfb90a1353d-4daa69dfc27so570194e0c.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 03:57:21 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y17-20020a056214017100b00698fd83ac04sm511009qvs.135.2024.04.05.03.57.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 03:57: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: 46b91f92-f33b-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712314640; x=1712919440; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Qqu/bHP7lVH2sl1B+Jd9ww6kiMAbr+Sm3s5dHh0LomE=;
        b=eN9wDrXV56FQWP3TlpGvAXD5VzPnyxvOp/S3zSv8IvT3nzsdK7Pxyl2I7Dcl3kESqx
         gVCD3eFuxKFG8cier6PJauxF78HxNlVr8+1imJTVJBE6sbyM7wJO/mB/Pq5VBQpNV5Jv
         zTE8nE4Qezm8we2aJaa2bvtOKtkd9nObqPqPU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712314640; x=1712919440;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Qqu/bHP7lVH2sl1B+Jd9ww6kiMAbr+Sm3s5dHh0LomE=;
        b=fcIgBxvQhZj9D7FKgLB17hWi/HRE972rOXtAJo4btUaXldPMx4zFta114kZ6BW1z1R
         apT6Ry6qpk/grbxFXoWLTpyn2oxnhtDpIrBoBu4kZJpIqscC25fmiNqHBCKSf2yIamMK
         k+1K2Wa9XHHLlBLycGlgXxjb91ySulhhXaxEv+E+MGQ62iKWj0CK93lXjf8XMwLKpGrr
         jOBJpWFzOEMRJNLy5qO6/17LKvMuURGcrab6EB2Wid+VnHAXV1R1atEsymCGKfw+KgHZ
         66hlejkhcjISmYQ9TkE0xYJT1yoE19dXqaNS9njbPp+6KNauqnqLLAokK5gWDRkXerN1
         unaw==
X-Forwarded-Encrypted: i=1; AJvYcCXRuUpRkJrRLHOnK3YSaZY+ndQi7J4jVBQLz44QP9RVBbKkvik1hLm+/8/QHNQFpwiT39ZmAPsNVyosTWMcdOOfntbKmyT9o7B1nb7BQx8=
X-Gm-Message-State: AOJu0Yxc8AcKZYh9l2M2jj5v9JKZRkedczRIwDYPHocC0ZKUA6nQCC1U
	iD4BXpT5Mg/gQcRW/44mX1O0JcQL6YXca3szwUVfcdvznCVy9FRUJDeSwXYTXNI=
X-Google-Smtp-Source: AGHT+IGPUzy+x7dAXh77pYvct/0N7tHh3c1x+SYaFqdBQm3e2cj5nQYfSksdNHpV/P3QfeXFRd0osw==
X-Received: by 2002:a05:6122:4a12:b0:4d4:1f41:472d with SMTP id ez18-20020a0561224a1200b004d41f41472dmr1130930vkb.16.1712314640398;
        Fri, 05 Apr 2024 03:57:20 -0700 (PDT)
Message-ID: <33eb77af-2196-40d9-9cdb-a4acf95f221c@citrix.com>
Date: Fri, 5 Apr 2024 11:57:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH V1] x86/ucode: optional amd/intel ucode build & load
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20240405103027.2704728-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: <20240405103027.2704728-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/04/2024 11:30 am, Sergiy Kibrik wrote:
> Introduce configuration variables to make it possible to selectively turn
> on/off CPU microcode management code in the build for AMD and Intel CPUs.
>
> This is to allow build configuration for a specific CPU, not compile and
> load what will not be used anyway.
>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Hmm... Stefano didn't check up with me first.

https://lore.kernel.org/xen-devel/20231027191926.3283871-1-andrew.cooper3@citrix.com/

I've already got a series out for this, although its blocked on naming
and IMO, particularly unhelpful replies.  I've not had time to apply the
community-resolution vote on naming issues.  (Also, you should be CC-ing
Roger on x86 patches).

For microcode loading specifically, there's no situation even for safety
certification where it's reasonable to remove this functionality. 
Therefore it wants tying to generic Intel / AMD only, and not a
ucode-loading specific option.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 11:53:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 11:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701208.1095471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsi8c-0002yd-6R; Fri, 05 Apr 2024 11:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701208.1095471; Fri, 05 Apr 2024 11: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 1rsi8c-0002yW-3v; Fri, 05 Apr 2024 11:53:42 +0000
Received: by outflank-mailman (input) for mailman id 701208;
 Fri, 05 Apr 2024 11:53: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=ZLbS=LK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsi8a-0002yO-Vi
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 11:53:41 +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 24368570-f343-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 13:53:39 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516d756eb74so124730e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 04:53:39 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 b1-20020a056512060100b00515c9a35d23sm171865lfe.232.2024.04.05.04.53.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 04: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: 24368570-f343-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712318018; x=1712922818; 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=Wj1enDSUhgAmwFQjagpdiNeovZ0SQDVJ8kfeOk2YfKA=;
        b=HO007uBUvz84TpcK1HNaYCzEnBQna/cR55jFgxhsjYeqy77ub1rsSR8qJtLwBBevvR
         E1aUWn5bjpK68dzLWogkItotYq9OEeLtrcUILn5hRW1+uJJC/R3JgMVZnKJ+X344BZg7
         F+IlnWFdjmPVchKnk8aK/5Jjx7WSNFsqLpdyWA4qD78hstPkuAC1eqqwaug8Zxz6WlED
         4OqS9/DnAAOK393ocsKG05Q/R+cAdv0qEuvNM5m6C0mCHP5CTVtkrVWf5pnIAkWYwBv0
         EGZU9HH+9kFGlBtn79hcRCtldIo1oR9NirRAH3Bz+up13xQwVxnWD5JF4BpH7w5zQMrH
         NMBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712318018; x=1712922818;
        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=Wj1enDSUhgAmwFQjagpdiNeovZ0SQDVJ8kfeOk2YfKA=;
        b=ERYSKQE5aNX/FDpeTiJbDPDy/S9fUiX4d52REG0LD0Ubr70wrntEbjEhncuX/ayRmp
         grLB0wyFUCYOwscs+A0FEySuR2ldSBfvzWLKDoycVU4YuuMj3rNtd1xQwDngea49Chxb
         E12vvFyl4yDJUyC1sjdTrU354DM8b0WwflM00wmsy0agm3cATtRw60jVr/MMGiiV4Y4G
         /MA7YSlDiyIH7q1yZohhsZiUAeo7P8V2xr8tGh26CVP+CGDavGcMYQUomqdoNoHw8eTP
         6mgbqTDzvzLJkqsY//5yLsrSqwmwgUq6e+7+mUu+0bvJhTzF+dn574gcanW6bp9kbv+5
         U1Ag==
X-Forwarded-Encrypted: i=1; AJvYcCXuju56qxY1v+0N/CbtqInEU+62t1quitv2Da6+2H2mWcqodo1JhKnLWHz51lfVYnk2FERttdA8hMtELSeCbSvzRoZlij4h+kfRHjLqyno=
X-Gm-Message-State: AOJu0Yz1yde64tyDbk4XnJy+7bmoAuXmLsq3jUMGKuz4yGvGUj+GlpAJ
	aTZSkBE0AS8EcWBJI0hfTXnlJjqRLczNG1/0bPWezhd42olh/OK5
X-Google-Smtp-Source: AGHT+IGKOR4HSSHDBT96wcK89BHEyzzhXjS4+SVVvIXZTiH4XngPK5Vs0vwB+hTK4ZUIO548zma6ZQ==
X-Received: by 2002:a19:9155:0:b0:516:ce40:14a6 with SMTP id y21-20020a199155000000b00516ce4014a6mr722908lfj.1.1712318018205;
        Fri, 05 Apr 2024 04:53:38 -0700 (PDT)
Message-ID: <03cb48d41f93b9a5255828474cdf333106aee2f9.camel@gmail.com>
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall
 <ross.lagerwall@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>,  Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Fri, 05 Apr 2024 13:53:36 +0200
In-Reply-To: <fda609e5-3ceb-432c-aaae-80b712013a6c@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
	 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
	 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
	 <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
	 <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
	 <edd36d22-a2da-4e38-a586-14c742da18f7@suse.com>
	 <024957c9a5347b38639aa859d316dce7492f1eef.camel@gmail.com>
	 <fda609e5-3ceb-432c-aaae-80b712013a6c@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Fri, 2024-04-05 at 10:05 +0200, Jan Beulich wrote:
> On 05.04.2024 09:56, Oleksii wrote:
> > On Fri, 2024-04-05 at 08:11 +0200, Jan Beulich wrote:
> > > On 04.04.2024 18:24, Oleksii wrote:
> > > > On Thu, 2024-04-04 at 18:12 +0200, Jan Beulich wrote:
> > > > > On 04.04.2024 17:45, Oleksii wrote:
> > > > > > On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
> > > > > > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > > > > > --- a/xen/include/xen/bitops.h
> > > > > > > > +++ b/xen/include/xen/bitops.h
> > > > > > > > @@ -65,10 +65,164 @@ static inline int
> > > > > > > > generic_flsl(unsigned
> > > > > > > > long
> > > > > > > > x)
> > > > > > > > =C2=A0 * scope
> > > > > > > > =C2=A0 */
> > > > > > > > =C2=A0
> > > > > > > > +#define BITOP_BITS_PER_WORD 32
> > > > > > > > +/* typedef uint32_t bitop_uint_t; */
> > > > > > > > +#define bitop_uint_t uint32_t
> > > > > > >=20
> > > > > > > So no arch overrides permitted anymore at all?
> > > > > > Not really, I agree that it is ugly, but I expected that
> > > > > > arch
> > > > > > will
> > > > > > use
> > > > > > undef to override.
> > > > >=20
> > > > > Which would be fine in principle, just that Misra wants us to
> > > > > avoid
> > > > > #undef-s
> > > > > (iirc).
> > > > Could you please give me a recommendation how to do that
> > > > better?
> > > >=20
> > > > The reason why I put this defintions before inclusion of
> > > > asm/bitops.h
> > > > as RISC-V specific code uses these definitions inside it, so
> > > > they
> > > > should be defined before asm/bitops.h; other option is to
> > > > define
> > > > these
> > > > definitions inside asm/bitops.h for each architecture.
> > >=20
> > > Earlier on you had it that other way already (in a different
> > > header,
> > > but the principle is the same): Move the generic definitions
> > > immediately
> > > past inclusion of asm/bitops.h and frame them with #ifndef.
> > It can be done in this way:
> > xen/bitops.h:
> > =C2=A0=C2=A0 ...
> > =C2=A0=C2=A0 #include <asm/bitops.h>
> > =C2=A0=C2=A0=20
> > =C2=A0=C2=A0 #ifndef BITOP_TYPE
> > =C2=A0=C2=A0 #define BITOP_BITS_PER_WORD 32
> > =C2=A0=C2=A0 /* typedef uint32_t bitop_uint_t; */
> > =C2=A0=C2=A0 #define bitop_uint_t uint32_t
> > =C2=A0=C2=A0 #endif
> > =C2=A0=C2=A0 ...
> > =C2=A0=C2=A0=20
> > But then RISC-V will fail as it is using bitop_uint_t inside
> > asm/bitops.h.
> > So, at least, for RISC-V it will be needed to add asm/bitops.h:
> > =C2=A0=C2=A0 #define BITOP_BITS_PER_WORD 32
> > =C2=A0=C2=A0 /* typedef uint32_t bitop_uint_t; */
> > =C2=A0=C2=A0 #define bitop_uint_t uint32_t
> > =C2=A0=C2=A0=20
> >=20
> > It seems to me that this breaks the idea of having these macro
> > definitions generic, as RISC-V will redefine BITOP_BITS_PER_WORD
> > and
> > bitop_uint_t with the same values as the generic ones.
>=20
> I don't follow. Right now patch 7 has
>=20
> #undef BITOP_BITS_PER_WORD
> #undef bitop_uint_t
>=20
> #define BITOP_BITS_PER_WORD BITS_PER_LONG
> #define bitop_uint_t unsigned long
>=20
> You'd drop the #undef-s and keep the #define-s. You want to override
> them
> both, after all.
>=20
> A problem would arise for _another_ arch wanting to use these
> (default)
> types in its asm/bitops.h. Which then could still be solved by having
> a
> types-only header.
This problem arise now for Arm and PPC which use BITOP_BITS_PER_WORD
inside it. Then it is needed to define BITOP_BITS_PER_WORD=3D32 in
asm/bitops.h for Arm and PPC. If it is okay, then I will happy to
follow this approach.

>  Recall the discussion on the last summit of us meaning
> to switch to such a model anyway (perhaps it being xen/types/bitops.h
> and
> asm/types/bitops.h then), in a broader fashion? IOW for now you could
> use
> the simple approach as long as no other arch needs the types in its
> asm/bitops.h. Later we would introduce the types-only headers, thus
> catering for possible future uses.
Do we really need asm/types/bitops.h? Can't we just do the following in
asm/bitops.h:
  #ifndef BITOP_TYPE
  #include <xen/types/bitops.h>
  #endif

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 11:56:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 11:56:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701211.1095481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiBI-0003Wu-LD; Fri, 05 Apr 2024 11:56:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701211.1095481; Fri, 05 Apr 2024 11:56:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiBI-0003Wn-Hf; Fri, 05 Apr 2024 11:56:28 +0000
Received: by outflank-mailman (input) for mailman id 701211;
 Fri, 05 Apr 2024 11: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=ZLbS=LK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rsiBH-0003Wh-Fi
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 11:56:27 +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 880950d5-f343-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 13:56:26 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-516d68d7a8bso230498e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 04:56:26 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 t3-20020a199103000000b00516d1afe4f6sm178936lfd.290.2024.04.05.04.56.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 04:56: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: 880950d5-f343-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712318186; x=1712922986; 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=rnYLzbaE7DCHWA4GAwV/tISz0yoWBEJHlaBO41PG5Og=;
        b=U+jmYfN6PY95OmYLJZhDkAOFiTxKELvitwCYdhMWi55erErj4rkVwbyvGatYHjde/O
         cQ5HuivZOPxd4lWg5NepB54iZH+6EghFwl+2zRYkzKx2gTqf3l5/1VlM68+4HS9NhUt+
         ydopRMdoJc8mSnPrnXSakVOjwPIrqivGVc7aO6bP8OiLUyZC2aUUmXVpokN52zCeLK3X
         mJMGrnRmL1/4GPkfj8joNniT8tSO/2Kj6ukLbwmRFDsstTLHoC8zfBOAT99Idu4EWln9
         tmykBJdEbrcwxr00AaUfF+s9Qm7DLTaCGBWdQoi42U6cP0jjP4aqb8y3g8+v2AcXa1Ij
         jjog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712318186; x=1712922986;
        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=rnYLzbaE7DCHWA4GAwV/tISz0yoWBEJHlaBO41PG5Og=;
        b=q5OLIyuONA8vxtiNGIO/j7k44ly9kdRzhGGG0IcPVsfWxfC9+IcDW6wKGiI5LaRL1y
         0QMaTvVyty1decnRHRdStlrgcgDi0bQzsOVtiL/X4FqwxoqRjI13gDFMbl/clc12B+Be
         DaktONum2LLu901fkpew5Og3o2PXkNMALh8Uek5hl7J6igo3YsFixo5HxWDBrJ5BHDgy
         YpbW0WwW6iKHR/0+rqoCRpS11yA8aEDP+c6wl7SyjDuLMgCmvwY4WThZLeFAsLCKP7m1
         Pgyn/Q6MiSeKN/Z5tfCBLzTYBEZ0/+rqStbLXYU1Iu78mCC/dZMY9HBWfO/7GXYF19Fo
         Z1nw==
X-Forwarded-Encrypted: i=1; AJvYcCUEXX0xrWx2uETkkzEIsQ1OB7WP7KO+vZSO9QqYMzZredGbC6Nf0Vvy7fAN4B8jdTX0pKjiwV+vcNuPh/evivzPPVxKOEr5g7UVIoJOvhg=
X-Gm-Message-State: AOJu0YxOuSgEJJez9SuWJquRvrVA4dv5B4xMlnszcRw3iIIqPmjv4p6s
	zBXQ74U0mCv9zboaCqYi2y+WD1JSUCMGuzTGjj2Cpo/xnrcuwLJR
X-Google-Smtp-Source: AGHT+IE22ZEY4DmJOJA2fmmWGXioH1UnBZCDAbxQJc45qIySCeC/zygmUs3eS7xAiMJlW+pMl1ZF8Q==
X-Received: by 2002:a19:911d:0:b0:513:ec32:aa8c with SMTP id t29-20020a19911d000000b00513ec32aa8cmr527808lfd.5.1712318185797;
        Fri, 05 Apr 2024 04:56:25 -0700 (PDT)
Message-ID: <87ad818358831680e25281a8615248b31816a309.camel@gmail.com>
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall
 <ross.lagerwall@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>,  Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Fri, 05 Apr 2024 13:56:23 +0200
In-Reply-To: <03cb48d41f93b9a5255828474cdf333106aee2f9.camel@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
	 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
	 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
	 <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
	 <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
	 <edd36d22-a2da-4e38-a586-14c742da18f7@suse.com>
	 <024957c9a5347b38639aa859d316dce7492f1eef.camel@gmail.com>
	 <fda609e5-3ceb-432c-aaae-80b712013a6c@suse.com>
	 <03cb48d41f93b9a5255828474cdf333106aee2f9.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Fri, 2024-04-05 at 13:53 +0200, Oleksii wrote:
> On Fri, 2024-04-05 at 10:05 +0200, Jan Beulich wrote:
> > On 05.04.2024 09:56, Oleksii wrote:
> > > On Fri, 2024-04-05 at 08:11 +0200, Jan Beulich wrote:
> > > > On 04.04.2024 18:24, Oleksii wrote:
> > > > > On Thu, 2024-04-04 at 18:12 +0200, Jan Beulich wrote:
> > > > > > On 04.04.2024 17:45, Oleksii wrote:
> > > > > > > On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
> > > > > > > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > > > > > > --- a/xen/include/xen/bitops.h
> > > > > > > > > +++ b/xen/include/xen/bitops.h
> > > > > > > > > @@ -65,10 +65,164 @@ static inline int
> > > > > > > > > generic_flsl(unsigned
> > > > > > > > > long
> > > > > > > > > x)
> > > > > > > > > =C2=A0 * scope
> > > > > > > > > =C2=A0 */
> > > > > > > > > =C2=A0
> > > > > > > > > +#define BITOP_BITS_PER_WORD 32
> > > > > > > > > +/* typedef uint32_t bitop_uint_t; */
> > > > > > > > > +#define bitop_uint_t uint32_t
> > > > > > > >=20
> > > > > > > > So no arch overrides permitted anymore at all?
> > > > > > > Not really, I agree that it is ugly, but I expected that
> > > > > > > arch
> > > > > > > will
> > > > > > > use
> > > > > > > undef to override.
> > > > > >=20
> > > > > > Which would be fine in principle, just that Misra wants us
> > > > > > to
> > > > > > avoid
> > > > > > #undef-s
> > > > > > (iirc).
> > > > > Could you please give me a recommendation how to do that
> > > > > better?
> > > > >=20
> > > > > The reason why I put this defintions before inclusion of
> > > > > asm/bitops.h
> > > > > as RISC-V specific code uses these definitions inside it, so
> > > > > they
> > > > > should be defined before asm/bitops.h; other option is to
> > > > > define
> > > > > these
> > > > > definitions inside asm/bitops.h for each architecture.
> > > >=20
> > > > Earlier on you had it that other way already (in a different
> > > > header,
> > > > but the principle is the same): Move the generic definitions
> > > > immediately
> > > > past inclusion of asm/bitops.h and frame them with #ifndef.
> > > It can be done in this way:
> > > xen/bitops.h:
> > > =C2=A0=C2=A0 ...
> > > =C2=A0=C2=A0 #include <asm/bitops.h>
> > > =C2=A0=C2=A0=20
> > > =C2=A0=C2=A0 #ifndef BITOP_TYPE
> > > =C2=A0=C2=A0 #define BITOP_BITS_PER_WORD 32
> > > =C2=A0=C2=A0 /* typedef uint32_t bitop_uint_t; */
> > > =C2=A0=C2=A0 #define bitop_uint_t uint32_t
> > > =C2=A0=C2=A0 #endif
> > > =C2=A0=C2=A0 ...
> > > =C2=A0=C2=A0=20
> > > But then RISC-V will fail as it is using bitop_uint_t inside
> > > asm/bitops.h.
> > > So, at least, for RISC-V it will be needed to add asm/bitops.h:
> > > =C2=A0=C2=A0 #define BITOP_BITS_PER_WORD 32
> > > =C2=A0=C2=A0 /* typedef uint32_t bitop_uint_t; */
> > > =C2=A0=C2=A0 #define bitop_uint_t uint32_t
> > > =C2=A0=C2=A0=20
> > >=20
> > > It seems to me that this breaks the idea of having these macro
> > > definitions generic, as RISC-V will redefine BITOP_BITS_PER_WORD
> > > and
> > > bitop_uint_t with the same values as the generic ones.
> >=20
> > I don't follow. Right now patch 7 has
> >=20
> > #undef BITOP_BITS_PER_WORD
> > #undef bitop_uint_t
> >=20
> > #define BITOP_BITS_PER_WORD BITS_PER_LONG
> > #define bitop_uint_t unsigned long
> >=20
> > You'd drop the #undef-s and keep the #define-s. You want to
> > override
> > them
> > both, after all.
> >=20
> > A problem would arise for _another_ arch wanting to use these
> > (default)
> > types in its asm/bitops.h. Which then could still be solved by
> > having
> > a
> > types-only header.
> This problem arise now for Arm and PPC which use BITOP_BITS_PER_WORD
> inside it. Then it is needed to define BITOP_BITS_PER_WORD=3D32 in
> asm/bitops.h for Arm and PPC. If it is okay, then I will happy to
> follow this approach.
>=20
> > =C2=A0Recall the discussion on the last summit of us meaning
> > to switch to such a model anyway (perhaps it being
> > xen/types/bitops.h
> > and
> > asm/types/bitops.h then), in a broader fashion? IOW for now you
> > could
> > use
> > the simple approach as long as no other arch needs the types in its
> > asm/bitops.h. Later we would introduce the types-only headers, thus
> > catering for possible future uses.
> Do we really need asm/types/bitops.h? Can't we just do the following
> in
> asm/bitops.h:
> =C2=A0 #ifndef BITOP_TYPE
> =C2=A0 #include <xen/types/bitops.h>
> =C2=A0 #endif
Or as an options just update <xen/types.h> with after inclusion of
<asm/types.h>:
   #ifndef BITOP_TYPE
      #define BITOP_BITS_PER_WORD 32
      /* typedef uint32_t bitop_uint_t; */
      #define bitop_uint_t uint32_t
   #endif
  =20
And then just include <xen/types.h> to <<xen/bitops.h>.

~ Oleksii
>=20
> ~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:11:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701228.1095521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPy-0007uZ-QZ; Fri, 05 Apr 2024 12:11:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701228.1095521; Fri, 05 Apr 2024 12:11:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPy-0007uS-Nf; Fri, 05 Apr 2024 12:11:38 +0000
Received: by outflank-mailman (input) for mailman id 701228;
 Fri, 05 Apr 2024 12: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=Im47=LK=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rsiPx-0007Qe-KF
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:11:37 +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 a60b5cbd-f345-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:11:36 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-56c1922096cso2486022a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:11:35 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j13-20020a50ed0d000000b0056c4372c161sm729425eds.55.2024.04.05.05.11.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 05:11: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: a60b5cbd-f345-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712319095; x=1712923895; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=K1f0zJeyhworpxxnt42vDWBIMfthsTx6bjHKg+Ate9M=;
        b=GXHhu3UDpV52cgwOMkmXoF/d5EEH1Orz/QKVdCW6ld6N4nn0p6/z7o92/lZYhyDFNZ
         JFprhkKff/y7i397LWKzb+nHu65YuHNs2cCklvCi8l5ge0h9w6/wjxuL97YKJUNKGDmb
         7eMNiHgqdtNNPqiT2EF4K73PC2hE+1z2y1NGA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712319095; x=1712923895;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=K1f0zJeyhworpxxnt42vDWBIMfthsTx6bjHKg+Ate9M=;
        b=Kp5SbWHTLstEpcMIPAgoC+5BqKS5jSYPNeZsRJhsxiMbbaLTCKzRkptt4kRCxYJ0Nv
         GR1YYczb5+oKGtkdFs9n1CEeygv+OCoNWX1lauGWl0sJoshHCM/J6VPHfDKuAZRphEI4
         isML76o2kD2gN1+fqD+66TgOn5tA9NrsJrpCChnz6UzVx4NkNnLQDPh1TaAxMfD+uW9I
         m1HDVkYtnQuiG80Eaj6kwCogYnzcqsZBUJxjfu9kyRBpDwLr1/PYAnK6HpRqnsHMGgLV
         YMlYof/LbWZxdwtj/B2R5XeWPg7FOHHI/3x80SlWaYjrBlL5Vmpx5DXFmSxe7n+R+r19
         y+bw==
X-Gm-Message-State: AOJu0Yzm7laDbZlvffB7TNWAF3H2Nn7edITe6Qx6Tqwg72a6rd70YNPm
	CMA1MUTDn6Z4ff1Z0XZZIOZYoN2h55OG/pJ5pGhyr1ZNuiasjO3d1F7pmNV0I5C0g14Ghs++gye
	x
X-Google-Smtp-Source: AGHT+IG/Pj2OHYse7b+KkYlIJm4/U0oKQUYoQQnaROh8Dw4+ANKLeCwUJjNm4mahij8Y7DKo/Uw5SQ==
X-Received: by 2002:a50:d741:0:b0:56e:2ff3:bb89 with SMTP id i1-20020a50d741000000b0056e2ff3bb89mr936055edj.28.1712319094854;
        Fri, 05 Apr 2024 05:11:34 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 3/5] x86: Add usage() to print out usage message
Date: Fri,  5 Apr 2024 13:11:26 +0100
Message-ID: <20240405121128.260493-4-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240405121128.260493-1-fouad.hilly@cloud.com>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor xen-ucode tool by adding usage() to handle usage\help messages

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 tools/misc/xen-ucode.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index c6ae6498d659..1edcebfb9f9c 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -17,6 +17,14 @@ static xc_interface *xch;
 static const char intel_id[] = "GenuineIntel";
 static const char   amd_id[] = "AuthenticAMD";
 
+static void usage(const char *name)
+{
+    printf("%s: Xen microcode updating tool\n"
+            "Usage: %s [<microcode file> | show-cpu-info]\n"
+            "\n"
+            , name, name);
+}
+
 static void show_curr_cpu(FILE *f)
 {
     int ret;
@@ -88,9 +96,7 @@ int main(int argc, char *argv[])
 
     if ( argc < 2 )
     {
-        fprintf(stderr,
-                "xen-ucode: Xen microcode updating tool\n"
-                "Usage: %s [<microcode file> | show-cpu-info]\n", argv[0]);
+        usage(argv[0]);
         show_curr_cpu(stderr);
         exit(2);
     }
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:11:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701227.1095507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPx-0007TU-ND; Fri, 05 Apr 2024 12:11:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701227.1095507; Fri, 05 Apr 2024 12:11:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPx-0007Si-Ep; Fri, 05 Apr 2024 12:11:37 +0000
Received: by outflank-mailman (input) for mailman id 701227;
 Fri, 05 Apr 2024 12:11: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=Im47=LK=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rsiPw-0007Qe-K7
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:11:36 +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 a549315b-f345-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:11:34 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-56e1baf0380so2347475a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:11:34 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j13-20020a50ed0d000000b0056c4372c161sm729425eds.55.2024.04.05.05.11.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 05: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: a549315b-f345-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712319093; x=1712923893; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jH3hIojWMAmkM0omSe+46fQQHwORwtgWu9bXbQQ2VU4=;
        b=eRJLiiVP0X78uIAv5WYl5lGIfjw8AmhEUvmgKFJLf9AjJkXjV8+ySCH5jAqp+lFNVY
         IHebFovBKAvizQRH/4FLf7y8jfyTxHQIrlZUnl0G65x13Vg5/otpZWszrf3gBDdXgowP
         2ql93WbnfI0Nxe9ti2MJTG451ATE2Tp0u1eAc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712319093; x=1712923893;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jH3hIojWMAmkM0omSe+46fQQHwORwtgWu9bXbQQ2VU4=;
        b=kNlsuibq7ZjhosZxFTcgxcqCeISKRLinDcYivlvaCiWrPjFbIJ+cjszc1M5jtKDe9K
         hcnnQumfpE0X3Nk+cZCdEfaWH3tQ7tKkAYrzMq4H13RlvnQo3Xu8Gw2nq+tLXdWb/tks
         VPl4jpX/FORz05qWGCqMhochGHLQskYOhEZlQUPTPTJvHYz5E0SoNZv5NrkRYbW9ABoA
         KKW7v9MU4ApzCflN50oKU7lpgQUC8RV6RHQo1QIZ3nZ67aqZuBSdxbGJRVpAwpAU4dRY
         YsuHW6TJgE4uHhORh7rDYj6J4yy67Ir48xYSSsg6/+Z8PuSkg5l0KMx1z2GgQF4xcJtC
         P9Cg==
X-Gm-Message-State: AOJu0YwGkSbflKfEqSc527l2Yhm3v298RpfNGfPm4MHZUc4nhKnP9HRg
	f1mYGwzIsujWq8bQFAhELerfNrP/O7h7opTQHmJSnUXekb832d+JSJD3Me7bVssC1hJcDMEIiwN
	iyqc=
X-Google-Smtp-Source: AGHT+IH0csKcmkgnvtFRcZNTVldkebtKuJ51LsPs9hi50Wtq9geN7yu38eg312BRhcu2syiYA8krWw==
X-Received: by 2002:a50:8acc:0:b0:56b:9f7c:3c32 with SMTP id k12-20020a508acc000000b0056b9f7c3c32mr849563edk.12.1712319093482;
        Fri, 05 Apr 2024 05:11:33 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/5] x86: Refactor microcode_update() hypercall with flags field
Date: Fri,  5 Apr 2024 13:11:25 +0100
Message-ID: <20240405121128.260493-3-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240405121128.260493-1-fouad.hilly@cloud.com>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor microcode_update() hypercall by adding flags field.
Introduce XENPF_microcode_update2 hypercall to handle flags field.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 xen/arch/x86/cpu/microcode/core.c    | 12 +++++++++---
 xen/arch/x86/include/asm/microcode.h |  2 +-
 xen/arch/x86/platform_hypercall.c    | 12 +++++++++++-
 xen/include/public/platform.h        |  8 ++++++++
 4 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1c9f66ea8a0f..f987b2bd632d 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -40,6 +40,8 @@
 #include <asm/processor.h>
 #include <asm/setup.h>
 
+#include <public/platform.h>
+
 #include "private.h"
 
 /*
@@ -100,6 +102,8 @@ static bool ucode_in_nmi = true;
 
 bool __read_mostly opt_ucode_allow_same;
 
+bool ucode_force_flag;
+
 /* Protected by microcode_mutex */
 static struct microcode_patch *microcode_cache;
 
@@ -633,12 +637,12 @@ static long cf_check microcode_update_helper(void *data)
                                   microcode_cache);
 
         if ( result != NEW_UCODE &&
-             !(opt_ucode_allow_same && result == SAME_UCODE) )
+             !((opt_ucode_allow_same || ucode_force_flag) && result == SAME_UCODE) )
         {
             spin_unlock(&microcode_mutex);
             printk(XENLOG_WARNING
                    "microcode: couldn't find any newer%s revision in the provided blob!\n",
-                   opt_ucode_allow_same ? " (or the same)" : "");
+                   (opt_ucode_allow_same || ucode_force_flag) ? " (or the same)" : "");
             microcode_free_patch(patch);
             ret = -ENOENT;
 
@@ -708,11 +712,13 @@ static long cf_check microcode_update_helper(void *data)
     return ret;
 }
 
-int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
+int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len, unsigned int flags)
 {
     int ret;
     struct ucode_buf *buffer;
 
+    ucode_force_flag = (flags == XENPF_UCODE_FLAG_FORCE_SET)? 1: 0;
+
     if ( len != (uint32_t)len )
         return -E2BIG;
 
diff --git a/xen/arch/x86/include/asm/microcode.h b/xen/arch/x86/include/asm/microcode.h
index 8f59b20b0289..bcba356b4134 100644
--- a/xen/arch/x86/include/asm/microcode.h
+++ b/xen/arch/x86/include/asm/microcode.h
@@ -22,7 +22,7 @@ struct cpu_signature {
 DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
 
 void microcode_set_module(unsigned int idx);
-int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len);
+int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len, unsigned int flags);
 int early_microcode_init(unsigned long *module_map,
                          const struct multiboot_info *mbi);
 int microcode_init_cache(unsigned long *module_map,
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 95467b88ab64..3b29ede8b316 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -311,7 +311,17 @@ ret_t do_platform_op(
 
         guest_from_compat_handle(data, op->u.microcode.data);
 
-        ret = microcode_update(data, op->u.microcode.length);
+        ret = microcode_update(data, op->u.microcode.length, 0);
+        break;
+    }
+
+    case XENPF_microcode_update2:
+    {
+        XEN_GUEST_HANDLE(const_void) data;
+
+        guest_from_compat_handle(data, op->u.microcode.data);
+
+        ret = microcode_update(data, op->u.microcode.length, op->u.microcode.flags);
         break;
     }
 
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 15777b541690..31e59ba3d07b 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -99,6 +99,10 @@ struct xenpf_microcode_update {
     /* IN variables. */
     XEN_GUEST_HANDLE(const_void) data;/* Pointer to microcode data */
     uint32_t length;                  /* Length of microcode data. */
+    uint32_t flags;                   /* Flags to be passed with ucode. */
+/* Force to skip microcode version check when set */
+#define XENPF_UCODE_FLAG_FORCE_NOT_SET 0
+#define XENPF_UCODE_FLAG_FORCE_SET     1
 };
 typedef struct xenpf_microcode_update xenpf_microcode_update_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_microcode_update_t);
@@ -624,6 +628,10 @@ struct xenpf_ucode_revision {
 typedef struct xenpf_ucode_revision xenpf_ucode_revision_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_ucode_revision_t);
 
+/* Hypercall to microcode_update with flags */
+#define XENPF_microcode_update2    66
+
+
 /*
  * ` enum neg_errnoval
  * ` HYPERVISOR_platform_op(const struct xen_platform_op*);
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:11:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701229.1095531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiQ0-0008Ap-2r; Fri, 05 Apr 2024 12:11:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701229.1095531; Fri, 05 Apr 2024 12:11:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPz-0008Ae-Vb; Fri, 05 Apr 2024 12:11:39 +0000
Received: by outflank-mailman (input) for mailman id 701229;
 Fri, 05 Apr 2024 12:11:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Im47=LK=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rsiPy-0007Qe-P3
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:11: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 a6cef36e-f345-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:11:37 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-56bdf81706aso2867844a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:11:37 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j13-20020a50ed0d000000b0056c4372c161sm729425eds.55.2024.04.05.05.11.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 05:11: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: a6cef36e-f345-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712319096; x=1712923896; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3PP1USpYqG/PprBDB64mV8RCygjZ51CvebJOr4kcXLM=;
        b=U/PXqdVCR3NSniSQ96Lya04nSMUj9kiSpvl37ZJpM5n0NAB56zHHELzGK5ipsVZB3/
         xcmMdJrwUAddA3SKIh8UnWhgryS6AvfgUT5E4RqZFrqUkxfiAZXFU3ks+VIoK2mgr+CT
         zaVfD6KBHEuEVGLVGHyofvj1uIJswIEN0ovQg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712319096; x=1712923896;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3PP1USpYqG/PprBDB64mV8RCygjZ51CvebJOr4kcXLM=;
        b=T2vM+Kup9eD1kMxdDT/BB6w10Hz3TNJDLh+a4SpC9hNIGUZxhUxhBM3nPZro3JrKWG
         zUsdnR5w1xfWEdg226RUAZbHAzZTdzSxacZ35PJF8P6lyduJPBBbztY14fYKWwLDvtAH
         3V3Qn0JI/Vv8qaDnahDmgrS1Sw6xJXOLpHLAuDkUrqnTnLhEFUdwvVe4nxMJSOPC/rkC
         L/XcehlyIpOWxV3r2my18gNJG8WG5F7qt1hFRzXlBodGqr2EuClVB6qKIAgYBTsbe0cr
         BdpHcYZkJRcMDFZiTCFDTui7gT/h1dXtk/KcwZos+NktMb3k2z5OHjGfJ9BizcIbL0Yw
         NimQ==
X-Gm-Message-State: AOJu0Yxk8m7OP9M+AskROAwXNmEGpwdyFDEaEEJv2W0L2RYZCPhk5/SB
	zNzr1sajYgwg8RV4g3aQl+D+mWHYC4GS6ywdRI2W9wXKVDKBiaj4jUdTyiRO5Eff4wGGhJFNOB7
	r
X-Google-Smtp-Source: AGHT+IEljdvdDVrTJlsqguZfEB3Zp2MkU3GJwFXBzjkddzQxgdL8Ra9lhNxjuKMEbgxFaTorvUbnJQ==
X-Received: by 2002:a50:cc95:0:b0:56c:2ef7:f3e6 with SMTP id q21-20020a50cc95000000b0056c2ef7f3e6mr1090981edi.0.1712319096016;
        Fri, 05 Apr 2024 05:11:36 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 4/5] x86: Use getopt to handle command line args
Date: Fri,  5 Apr 2024 13:11:27 +0100
Message-ID: <20240405121128.260493-5-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240405121128.260493-1-fouad.hilly@cloud.com>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use getopt_long() to handle command line arguments.
Introduce ext_err for common exit with errors.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 tools/misc/xen-ucode.c | 49 +++++++++++++++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 10 deletions(-)

diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index 1edcebfb9f9c..9bde991c5df5 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -11,6 +11,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <xenctrl.h>
+#include <getopt.h>
 
 static xc_interface *xch;
 
@@ -20,7 +21,10 @@ static const char   amd_id[] = "AuthenticAMD";
 static void usage(const char *name)
 {
     printf("%s: Xen microcode updating tool\n"
-            "Usage: %s [<microcode file> | show-cpu-info]\n"
+            "Usage: %s [<microcode file> | --show-cpu-info]\n"
+            "\n"
+            "  -h, --help            display this help and exit\n"
+            "  -s, --show-cpu-info   show CPU information and exit\n"
             "\n"
             , name, name);
 }
@@ -82,9 +86,16 @@ static void show_curr_cpu(FILE *f)
 int main(int argc, char *argv[])
 {
     int fd, ret;
-    char *filename, *buf;
+    char *filename = NULL, *buf;
     size_t len;
     struct stat st;
+    int opt;
+
+    const static struct option options[] = {
+        {"help", no_argument, NULL, 'h'},
+        {"show-cpu-info", no_argument, NULL, 's'},
+        {NULL, no_argument, NULL, 0}
+    };
 
     xch = xc_interface_open(NULL, NULL, 0);
     if ( xch == NULL )
@@ -94,20 +105,33 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    if ( argc < 2 )
+    if ( argc != 2 )
+        goto ext_err;
+
+    while ( (opt = getopt_long(argc, argv, "hs:", options, NULL)) != -1 )
     {
-        usage(argv[0]);
-        show_curr_cpu(stderr);
-        exit(2);
+        switch (opt)
+        {
+            case 'h':
+                usage(argv[0]);
+                exit(EXIT_SUCCESS);
+            case 's':
+                if ( argc > 2 )
+                    goto ext_err;
+                show_curr_cpu(stdout);
+                exit(EXIT_SUCCESS);
+            default:
+                goto ext_err;
+        }
     }
 
-    if ( !strcmp(argv[1], "show-cpu-info") )
+    filename = argv[1];
+    if ( filename == NULL )
     {
-        show_curr_cpu(stdout);
-        return 0;
+        printf("File name error\n");
+        goto ext_err;
     }
 
-    filename = argv[1];
     fd = open(filename, O_RDONLY);
     if ( fd < 0 )
     {
@@ -149,4 +173,9 @@ int main(int argc, char *argv[])
     close(fd);
 
     return 0;
+
+ext_err:
+    usage(argv[0]);
+    show_curr_cpu(stderr);
+    exit(STDERR_FILENO);
 }
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:11:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701226.1095501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPx-0007R4-BL; Fri, 05 Apr 2024 12:11:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701226.1095501; Fri, 05 Apr 2024 12:11:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPx-0007Qx-8l; Fri, 05 Apr 2024 12:11:37 +0000
Received: by outflank-mailman (input) for mailman id 701226;
 Fri, 05 Apr 2024 12:11: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=Im47=LK=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rsiPv-0007Qe-UW
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:11:35 +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 a4663203-f345-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:11:34 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-56e2393b073so2238680a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:11:33 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j13-20020a50ed0d000000b0056c4372c161sm729425eds.55.2024.04.05.05.11.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 05:11: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: a4663203-f345-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712319091; x=1712923891; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z1i+lAGzw5jmQvcR+ZSadLxyO+lAXMTpWfVS36kD2fk=;
        b=flGXaGXjIU9FBWcrhayHcXfJQTNzdOiO2u8iwsprPV3dVcJ/Z59xTAkeRij2S6xiSQ
         TYCj+fam+gi9YMaiTappzOY7/PYBxe/EGd5u2jvOlBhFA/D8gibYas8jpCNmvvfYvW6O
         rxJoMVSnFmCmKDkz58bgTIy+k+ZzevQnNhARU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712319091; x=1712923891;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z1i+lAGzw5jmQvcR+ZSadLxyO+lAXMTpWfVS36kD2fk=;
        b=cNHTWT1IJQ5VrpbgRnhzWJKV8fAc+6MqwpRUdLWWm5vfSEMeKaieFIyNebom+h5hp2
         fi6BP50ou/9Nt2uO2lO0RWE9vYeby6hBccVpKhFW/PFMqePSDss50ZKjWS963MOx+Wtz
         aKT+sVj/dxiCKwq7UCukXgqzCZZsAw9KvCerBRYFTc78+Id6C50zJ9kD3ZXIBgMjCO5+
         Ho0ijKQxGiMFsg8PWk39+d08dOPW3zKolJK0wg2dGqisweNWynwbJQumaejpLFmrI2t+
         2FpiRzRz049tovqozWU0+jxJRFZIBbvuDDw4DmO3BFdg8Jd2gtpj/WLMX/TEHaeEzaiG
         zZaQ==
X-Gm-Message-State: AOJu0YyC3g2R0nisESFm/GSfu9xjGFuIUZOqATrZiBOvmcCDp4/WvD71
	jXE/wO3GGxptVuTHHSqz0hXhiR+TuJQwnzPKHXaoXMqxGIaxWJjf1fgeSx8SrNZvIc6ZyqtfnwO
	a
X-Google-Smtp-Source: AGHT+IEzZ7vs0wJQzSSeiWHlGqjLSoHJCD9DCOM78+5BxbEVS7rgKCIfI0T86TgsWL9qmrq2hvuIjA==
X-Received: by 2002:a50:8753:0:b0:56e:2dfb:da7b with SMTP id 19-20020a508753000000b0056e2dfbda7bmr1390248edv.0.1712319091525;
        Fri, 05 Apr 2024 05:11:31 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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/5] x86: Remove x86 low level version check of microcode
Date: Fri,  5 Apr 2024 13:11:24 +0100
Message-ID: <20240405121128.260493-2-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240405121128.260493-1-fouad.hilly@cloud.com>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove microcode version check at Intel and AMD Level.
Microcode version check will be at higher and common level.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 xen/arch/x86/cpu/microcode/amd.c   |  8 ++------
 xen/arch/x86/cpu/microcode/intel.c | 11 +++--------
 2 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 75fc84e445ce..4f805f662701 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -383,12 +383,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
                 goto skip;
             }
 
-            /*
-             * If the new ucode covers current CPU, compare ucodes and store the
-             * one with higher revision.
-             */
-            if ( (microcode_fits(mc->patch) != MIS_UCODE) &&
-                 (!saved || (compare_header(mc->patch, saved) == NEW_UCODE)) )
+            /* If the provided ucode covers current CPU, then store its revision. */
+            if ( (microcode_fits(mc->patch) != MIS_UCODE) && !saved )
             {
                 saved = mc->patch;
                 saved_size = mc->len;
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 060c529a6e5d..e65c02a57987 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct microcode_patch *patch)
 
     result = microcode_update_match(patch);
 
-    if ( result != NEW_UCODE &&
-         !(opt_ucode_allow_same && result == SAME_UCODE) )
+    if ( result != NEW_UCODE && result != SAME_UCODE )
         return -EINVAL;
 
     wbinvd();
@@ -354,12 +353,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
         if ( error )
             break;
 
-        /*
-         * If the new update covers current CPU, compare updates and store the
-         * one with higher revision.
-         */
-        if ( (microcode_update_match(mc) != MIS_UCODE) &&
-             (!saved || compare_revisions(saved->rev, mc->rev) == NEW_UCODE) )
+        /* If the provided ucode covers current CPU, then store its revision. */
+        if ( (microcode_update_match(mc) != MIS_UCODE) && !saved )
             saved = mc;
 
         buf  += blob_size;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:11:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701225.1095490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiPu-0007CZ-4v; Fri, 05 Apr 2024 12:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701225.1095490; Fri, 05 Apr 2024 12: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 1rsiPu-0007CS-2H; Fri, 05 Apr 2024 12:11:34 +0000
Received: by outflank-mailman (input) for mailman id 701225;
 Fri, 05 Apr 2024 12: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=Im47=LK=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rsiPt-0007C9-3F
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:11:33 +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 a3f514f5-f345-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 14:11:32 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-56e030624d1so3456491a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:11:32 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j13-20020a50ed0d000000b0056c4372c161sm729425eds.55.2024.04.05.05.11.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 05:11:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3f514f5-f345-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712319091; x=1712923891; 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=Jpwg+PdQE6kjWOjE4HG9MYfqeMVei57yw/CIeP+FZVs=;
        b=D4R01Pr6zuV+gfRvWD6slcurh32eng0MFK+OkrXGW/XdLgxakB9UTNiji2sGu7JtWz
         oOJFgOgJukU5RuibJbMkTktu/w+669TlnZsKkz49v50RoSE3TfwHdORkkdoDNpauLeVl
         BtuI1I9z2PF6WpscTn94RrZD3o7OS503+c+zw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712319091; x=1712923891;
        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=Jpwg+PdQE6kjWOjE4HG9MYfqeMVei57yw/CIeP+FZVs=;
        b=lm5dt8NAGZzLzwpDFHaStNVVhBFyhcO4dy7Mws4+cn3RoHeN0eKVRtXnRFWQxmMDNG
         UnEEyBn271xfanfQwbqGaljTI6O1L+TUHPyNZvco4Kq8Stge5xU3rf/xhVvvgT+HwBoJ
         QWSaBNGWMH5q0eyLKMjMdRVQtpJYBCkOo13umdq/Ulmj5ykIUNQwQyVcCtf62HhrOXcs
         OC1+EkdcoWMAj56WSNeF1lyOlo1mpBQ716SitPCasDhdi9Q51dqFG8X483Y3v6AmRhcX
         +xxSqjONwxPl6juwCBGVTGJt8MyW3NDkkDpUW4ut4kCaFLdlXquAfPcavIKVqKmHMhdx
         qXQQ==
X-Gm-Message-State: AOJu0Yx0t7TJXMpHIDkS0D8tdlN56xdIL2Iqrdq0wckKZoyk7LE2ENet
	1Z/8nNAempGEgR5hP6oPpZeMn2pwk8wrSNYoCuhFUFvipYnVH+jKfhFfgEg6aHxwaRGM5EH5WE0
	mkJ0=
X-Google-Smtp-Source: AGHT+IHqcOz8Y/1I4pQJL/nzE9EUBuwoqjHHjbP6sjgGRQSDDiRoUJUXjMEUumuKR8p/9EAvHn0bug==
X-Received: by 2002:a50:9552:0:b0:568:b95f:5398 with SMTP id v18-20020a509552000000b00568b95f5398mr1204557eda.38.1712319090947;
        Fri, 05 Apr 2024 05:11:30 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/5] x86/xen-ucode: Introduce --force option
Date: Fri,  5 Apr 2024 13:11:23 +0100
Message-ID: <20240405121128.260493-1-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor and introduce --force option to xen-ucode, which skips microcode
version check when updating x86 CPU micocode. A new hypercall introduced
with flags field to facilitate the new option and allow for future flags
as needed.

Fouad Hilly (5):
  x86: Remove x86 low level version check of microcode
  x86: Refactor microcode_update() hypercall with flags field
  x86: Add usage() to print out usage message
  x86: Use getopt to handle command line args
  x86: Add --force option to xen-ucode to override microcode version
    check

 tools/include/xenctrl.h              |  2 +-
 tools/libs/ctrl/xc_misc.c            | 12 ++++-
 tools/misc/xen-ucode.c               | 69 +++++++++++++++++++++++-----
 xen/arch/x86/cpu/microcode/amd.c     |  8 +---
 xen/arch/x86/cpu/microcode/core.c    | 12 +++--
 xen/arch/x86/cpu/microcode/intel.c   | 11 ++---
 xen/arch/x86/include/asm/microcode.h |  2 +-
 xen/arch/x86/platform_hypercall.c    | 12 ++++-
 xen/include/public/platform.h        |  8 ++++
 9 files changed, 102 insertions(+), 34 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:11:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701230.1095541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiQ1-0008Sz-HT; Fri, 05 Apr 2024 12:11:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701230.1095541; Fri, 05 Apr 2024 12:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsiQ1-0008Ss-Cx; Fri, 05 Apr 2024 12:11:41 +0000
Received: by outflank-mailman (input) for mailman id 701230;
 Fri, 05 Apr 2024 12:11: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=Im47=LK=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rsiQ0-0007Qe-8Z
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:11:40 +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 a7a73133-f345-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:11:38 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-56e030624d1so3456671a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:11:38 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j13-20020a50ed0d000000b0056c4372c161sm729425eds.55.2024.04.05.05.11.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 05:11: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: a7a73133-f345-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712319097; x=1712923897; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wdhAQWAGgzqfyVOlZZiidtJ6Xeb+heOhOyk9/vxfLS0=;
        b=BCR/4nvzPXGSe2aZExlNnkyeFDGpL3gSy+eSFB4tKyeiUG1QoJDmFjygGFMXm1A08W
         sIAdkIIKkKgT/n+lKOi8/LudOsCj0XPiGd0SV72BTIYPUoWKbDATqC0nFw8efe34YEAy
         oHb5C7bwtkR5vA++Fs/RGCQ7btOJijllTdhmA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712319097; x=1712923897;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wdhAQWAGgzqfyVOlZZiidtJ6Xeb+heOhOyk9/vxfLS0=;
        b=Vc+xoXsNqHcjj3dRjj9O5ebRpMwSMdTwe0rRQqmHQR1jQdCZgUPI1//83eZiKAP2Uk
         T/iVTdeczswADvE2iSNIgDqMUhH0StBpgMyXBd0a0/OEIut1iYc+9+5PtugC2Z9VP/Uf
         JPSQa7TVy+ethF+zq8UhOOihpx28nAY+6CfE1ZlJBESs/xGIzo7wqTkkeTcb2b14OEMQ
         c+TG47cpSuz7xM29BD50ys8ImkOK6hau8YjM1PgIs2hW27f9XUmsWPNP3p6k1LZM1GOK
         rjVppLdkNTKBnGmjpdYEkSqkHOCI9+9wL4K1UHltDQ1aapeoBS6TSfwVcPtkPqJdpn10
         EVXQ==
X-Gm-Message-State: AOJu0YyIYUqrhcE79u7lPtJwFPQEboSZSZW8PCVSPrOk2d6B9mSRtgY4
	wvDXVEikD8m76I3Ra+fap88JEckq/05/3ipNmnQj9HogELFrqXZ5KbKpbu6qtRhAZ0xpc6pkr3s
	Q
X-Google-Smtp-Source: AGHT+IFc7P4utWajGbqgWpMUxPqCIQeerVOzNOKJFOn8AwBmV1kYyymGlsBRFkuK4n0vtNRUKCAkug==
X-Received: by 2002:a50:d49a:0:b0:568:9b13:77fe with SMTP id s26-20020a50d49a000000b005689b1377femr938158edi.37.1712319097311;
        Fri, 05 Apr 2024 05:11:37 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH 5/5] x86: Add --force option to xen-ucode to override microcode version check
Date: Fri,  5 Apr 2024 13:11:28 +0100
Message-ID: <20240405121128.260493-6-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240405121128.260493-1-fouad.hilly@cloud.com>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce --force option to xen-ucode to force skipping microcode version
check, which allows the user to update x86 microcode even if both versions
are the same.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/include/xenctrl.h   |  2 +-
 tools/libs/ctrl/xc_misc.c | 12 ++++++++++--
 tools/misc/xen-ucode.c    | 20 +++++++++++++++-----
 3 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e05422..5dbe3e63374a 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1171,7 +1171,7 @@ typedef uint32_t xc_node_to_node_dist_t;
 int xc_physinfo(xc_interface *xch, xc_physinfo_t *info);
 int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo);
-int xc_microcode_update(xc_interface *xch, const void *buf, size_t len);
+int xc_microcode_update(xc_interface *xch, const void *buf, size_t len, uint32_t flags);
 int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver);
 int xc_get_ucode_revision(xc_interface *xch,
                           struct xenpf_ucode_revision *ucode_rev);
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 5ecdfa2c7934..edce45bc2a17 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -203,7 +203,7 @@ int xc_physinfo(xc_interface *xch,
     return 0;
 }
 
-int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
+int xc_microcode_update(xc_interface *xch, const void *buf, size_t len, uint32_t flags)
 {
     int ret;
     struct xen_platform_op platform_op = {};
@@ -215,7 +215,15 @@ int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
 
     memcpy(uc, buf, len);
 
-    platform_op.cmd = XENPF_microcode_update;
+    if ( flags > XENPF_UCODE_FLAG_FORCE_NOT_SET )
+    {
+        platform_op.cmd = XENPF_microcode_update2;
+        platform_op.u.microcode.flags = flags;
+    }
+    else
+    {
+        platform_op.cmd = XENPF_microcode_update;
+    }
     platform_op.u.microcode.length = len;
     set_xen_guest_handle(platform_op.u.microcode.data, uc);
 
diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index 9bde991c5df5..469ce3299381 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -13,6 +13,8 @@
 #include <xenctrl.h>
 #include <getopt.h>
 
+#include <xen/platform.h>
+
 static xc_interface *xch;
 
 static const char intel_id[] = "GenuineIntel";
@@ -21,10 +23,11 @@ static const char   amd_id[] = "AuthenticAMD";
 static void usage(const char *name)
 {
     printf("%s: Xen microcode updating tool\n"
-            "Usage: %s [<microcode file> | --show-cpu-info]\n"
+            "Usage: %s [[--force] <microcode file> | --show-cpu-info]\n"
             "\n"
             "  -h, --help            display this help and exit\n"
             "  -s, --show-cpu-info   show CPU information and exit\n"
+            "  -f, --force           force to skip micorocde version check\n"
             "\n"
             , name, name);
 }
@@ -89,11 +92,13 @@ int main(int argc, char *argv[])
     char *filename = NULL, *buf;
     size_t len;
     struct stat st;
+    uint32_t ucode_flag = XENPF_UCODE_FLAG_FORCE_NOT_SET;
     int opt;
 
     const static struct option options[] = {
         {"help", no_argument, NULL, 'h'},
         {"show-cpu-info", no_argument, NULL, 's'},
+        {"force", required_argument, NULL, 'f'},
         {NULL, no_argument, NULL, 0}
     };
 
@@ -105,10 +110,10 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    if ( argc != 2 )
+    if ( argc < 2 || argc > 3)
         goto ext_err;
 
-    while ( (opt = getopt_long(argc, argv, "hs:", options, NULL)) != -1 )
+    while ( (opt = getopt_long(argc, argv, "hsf:", options, NULL)) != -1 )
     {
         switch (opt)
         {
@@ -120,12 +125,17 @@ int main(int argc, char *argv[])
                     goto ext_err;
                 show_curr_cpu(stdout);
                 exit(EXIT_SUCCESS);
+            case 'f':
+            ucode_flag = XENPF_UCODE_FLAG_FORCE_SET;
+                filename = optarg;
+                break;
             default:
                 goto ext_err;
         }
     }
 
-    filename = argv[1];
+    if ( argc == 2 )
+        filename = argv[1];
     if ( filename == NULL )
     {
         printf("File name error\n");
@@ -155,7 +165,7 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    ret = xc_microcode_update(xch, buf, len);
+    ret = xc_microcode_update(xch, buf, len, ucode_flag);
     if ( ret )
     {
         fprintf(stderr, "Failed to update microcode. (err: %s)\n",
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:34:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701244.1095551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsimK-0005dL-9I; Fri, 05 Apr 2024 12:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701244.1095551; Fri, 05 Apr 2024 12:34:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsimK-0005dE-6F; Fri, 05 Apr 2024 12:34:44 +0000
Received: by outflank-mailman (input) for mailman id 701244;
 Fri, 05 Apr 2024 12:34:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=my07=LK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rsimJ-0005d8-El
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:34:43 +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 ddbcb245-f348-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:34:38 +0200 (CEST)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E95B921A41;
 Fri,  5 Apr 2024 12:34:36 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 8591F139E8;
 Fri,  5 Apr 2024 12:34:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Wiq9HtzvD2Z8GgAAn2gu4w
 (envelope-from <jgross@suse.com>); Fri, 05 Apr 2024 12: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: ddbcb245-f348-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712320477; h=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=VqNA5Y/xBRyL+e1bT5top3t6My101/ZhLt7zIZIlphg=;
	b=O+PU4oLghfVlWdlh3NhIkqh0c3pkoddQgyKwOfYuKB6f2NP47euEpQ4ZO21fdaKOvR2VK1
	LYnLqRSvXfhMYCu7NA1zsnaYGFjNp7z1RYv7dkFASzgLeO64gNK1bxlhGrIzV+DsMBcvVA
	8rHtut0WmAq/SU+sqJoDGDoRuymKukM=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712320476; h=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=VqNA5Y/xBRyL+e1bT5top3t6My101/ZhLt7zIZIlphg=;
	b=WZX5xUa5SG4XnY8crJF2mCiSBDBxA88vl3w6/RFyw7Tb2Q1Yihf9VvV57t7jD1C10qPyNo
	FgtjOSG0rwVq0bA6QOaqfJIW9UhVRlpGPnEJtrcylLWTptoENvfx8phqqOAEX7kr7QYDhl
	Qh6WVvXABMC9GOaRb2Zj2epu2IOu5/E=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@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>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 0/2] x86: Two fixes related to Xen PV guest mode
Date: Fri,  5 Apr 2024 14:34:32 +0200
Message-Id: <20240405123434.24822-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [0.14 / 50.00];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	BAYES_HAM(-0.06)[60.95%];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[10];
	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)[imap2.dmz-prg2.suse.org:helo,imap2.dmz-prg2.suse.org:rdns];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 0.14
X-Spam-Flag: NO

These are 2 fixes for issues introduced by topology related changes
added in the 6.9 merge window.

Juergen Gross (2):
  x86/cpu: fix BSP detection when running as Xen PV guest
  x86/xen: return a sane initial apic id when running as PV guest

 arch/x86/kernel/cpu/topology.c |  2 +-
 arch/x86/xen/enlighten_pv.c    | 10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:34:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701245.1095561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsimR-0005tJ-GX; Fri, 05 Apr 2024 12:34:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701245.1095561; Fri, 05 Apr 2024 12:34: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 1rsimR-0005tC-Di; Fri, 05 Apr 2024 12:34:51 +0000
Received: by outflank-mailman (input) for mailman id 701245;
 Fri, 05 Apr 2024 12:34: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=my07=LK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rsimQ-0005d8-8o
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:34:50 +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 e42f39c2-f348-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:34:48 +0200 (CEST)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 51D5821A42;
 Fri,  5 Apr 2024 12:34:48 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id E9EF1139E8;
 Fri,  5 Apr 2024 12:34:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id VZuqN+fvD2adGgAAn2gu4w
 (envelope-from <jgross@suse.com>); Fri, 05 Apr 2024 12:34:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e42f39c2-f348-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712320488; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=c0jyNvKTHax+A0LD2eIp7A6uzmXI0s1Z7nkLE2AaG4I=;
	b=AubcmXMIMx2JuozlxaVZ6aoO1vmLMUD9McUXagcomdrknSUs72w/jRG5+BoqixzGF0Ynsw
	cmF67Yy8MEYjggWpzTKsZzIbF3YbDaUtLurvHF8BAWTkjzVGze/+nrAloogUfDHSOItTDP
	iSROy7dI6S/oknWyfBY5jJI1PiOF/E4=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712320488; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=c0jyNvKTHax+A0LD2eIp7A6uzmXI0s1Z7nkLE2AaG4I=;
	b=AubcmXMIMx2JuozlxaVZ6aoO1vmLMUD9McUXagcomdrknSUs72w/jRG5+BoqixzGF0Ynsw
	cmF67Yy8MEYjggWpzTKsZzIbF3YbDaUtLurvHF8BAWTkjzVGze/+nrAloogUfDHSOItTDP
	iSROy7dI6S/oknWyfBY5jJI1PiOF/E4=
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 2/2] x86/xen: return a sane initial apic id when running as PV guest
Date: Fri,  5 Apr 2024 14:34:34 +0200
Message-Id: <20240405123434.24822-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20240405123434.24822-1-jgross@suse.com>
References: <20240405123434.24822-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -6.80
X-Spam-Level: 
X-Spamd-Result: default: False [-6.80 / 50.00];
	REPLY(-4.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];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[10];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap2.dmz-prg2.suse.org:helo,imap2.dmz-prg2.suse.org:rdns,suse.com:email]

With recent sanity checks for topology information added, there are now
warnings issued for APs when running as a Xen PV guest:

  [Firmware Bug]: CPU   1: APIC ID mismatch. CPUID: 0x0000 APIC: 0x0001

This is due to the initial APIC ID obtained via CPUID for PV guests is
always 0.

Avoid the warnings by synthesizing the CPUID data to contain the same
initial APIC ID as xen_pv_smp_config() is using for registering the
APIC IDs of all CPUs.

Fixes: 52128a7a21f7 ("86/cpu/topology: Make the APIC mismatch warnings complete")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/enlighten_pv.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index ace2eb054053..965e4ca36024 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -219,13 +219,20 @@ static __read_mostly unsigned int cpuid_leaf5_edx_val;
 static void xen_cpuid(unsigned int *ax, unsigned int *bx,
 		      unsigned int *cx, unsigned int *dx)
 {
-	unsigned maskebx = ~0;
+	unsigned int maskebx = ~0;
+	unsigned int or_ebx = 0;
 
 	/*
 	 * Mask out inconvenient features, to try and disable as many
 	 * unsupported kernel subsystems as possible.
 	 */
 	switch (*ax) {
+	case 0x1:
+		/* Replace initial APIC ID in bits 24-31 of EBX. */
+		maskebx = 0x00ffffff;
+		or_ebx = smp_processor_id() << 24;
+		break;
+
 	case CPUID_MWAIT_LEAF:
 		/* Synthesize the values.. */
 		*ax = 0;
@@ -248,6 +255,7 @@ static void xen_cpuid(unsigned int *ax, unsigned int *bx,
 		: "0" (*ax), "2" (*cx));
 
 	*bx &= maskebx;
+	*bx |= or_ebx;
 }
 
 static bool __init xen_check_mwait(void)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:42:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701250.1095570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsitb-0008U7-7w; Fri, 05 Apr 2024 12:42:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701250.1095570; Fri, 05 Apr 2024 12:42:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsitb-0008U0-51; Fri, 05 Apr 2024 12:42:15 +0000
Received: by outflank-mailman (input) for mailman id 701250;
 Fri, 05 Apr 2024 12:42: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=rrxH=LK=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1rsitZ-0008Tn-39
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:42:13 +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 ec7a2143-f349-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 14:42:12 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-56e2b41187aso1542393a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:42: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: ec7a2143-f349-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712320931; x=1712925731; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=RVyraYjJW60W7EU0acb0SKA1sSG0MVBG1TFHZZiCV6Q=;
        b=L0IPdyC9t0hJCyuFrQ/Ypnvu98bJQ/ibWJw0Y7p+RXu1kk7YFT9uLNYlN+gh6XCdbV
         kjprOB1BM1d54K+X9F0HuYxUHqOBQgK9UDvty+FzC5/jsbGLSkratoVOBxfUzranM6m9
         aK93NDNU6LhJ9gvCpvlaEagJkoRb0JGNNPmH0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712320931; x=1712925731;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=RVyraYjJW60W7EU0acb0SKA1sSG0MVBG1TFHZZiCV6Q=;
        b=avlHGpZHp0KhxFF/JLCZ8aNOJ19PlAkCTCFKcbpFzih5GVzwjpA+ag/i1xnkr8q8Hs
         ibRdtbVR8jKgkE9ocIXp0BV94CH59GGnHvKsjXvu34R8kmZpU0Vy+n5v5i83CYs8YxVC
         pxnMJLp+H5CSN8CSWhTC4LWvHMVuKIL0PxRrB4RMzRgaHQgo+PUvy0qYwOjp5rkYp7pL
         1wa9TFbpdfZxoXe6O5oGcHEnxGAwVBFnsB+nblhQEKdg83EaiCsAeDfjLrmQmiP4kT8z
         no7txWiWx76YCp8voVueuSNwsyQoqSxJMFz3zNHFMeo+D0lWS+o+5zaJMsGRdAWVGTW6
         cT/A==
X-Gm-Message-State: AOJu0YwcY5pVzD2foIWQVmxgu+TQlAXKagsF7uU44b8H3X+eZ+8+Ljvv
	ZGDGq8MwRC9SZXbu3mv1gqGiYoNmQkxQGgo8j8S7vItY2uWoP0KpwcDI0/9kP/71mQKJ6lmRsru
	aU/c665LJmEJ8MIPAHciwJ31dqfVr+r6QungvL/8O3D3Nnlv1BmZArg==
X-Google-Smtp-Source: AGHT+IEceTPR3C97nMzLbW7SqCk4NV+XDNoXZA9jb/b+Ze5ClKvpyVDK8x2D0dikACqf+V0iAgq1+QPBlSCa7bU1Z48=
X-Received: by 2002:a50:ba83:0:b0:56c:d1b:588 with SMTP id x3-20020a50ba83000000b0056c0d1b0588mr1464007ede.14.1712320931286;
 Fri, 05 Apr 2024 05:42:11 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 5 Apr 2024 13:41:35 +0100
Message-ID: <CAO-mL=xTSaMeAPiGw9Vy3ZTHumKxTQjeCdtyqSRTWT3Gx1UGHw@mail.gmail.com>
Subject: April 2024 - community call recording
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000d9f4e4061558c8f6"

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

Hi all,

The April community call recording has been uploaded:
https://www.youtube.com/watch?v=fpcxKWdaJyw&ab_channel=TheXenProject

This has also been saved in the Cryptpad file.

Many thanks,
Kelly Choi

Community Manager
Xen Project

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

<div dir=3D"ltr"><div>Hi all,<div><br></div><div>The April=C2=A0<span class=
=3D"gmail-il">community</span>=C2=A0<span class=3D"gmail-il">call</span>=C2=
=A0recording has been uploaded: <br><a href=3D"https://www.youtube.com/watc=
h?v=3DfpcxKWdaJyw&amp;ab_channel=3DTheXenProject">https://www.youtube.com/w=
atch?v=3DfpcxKWdaJyw&amp;ab_channel=3DTheXenProject</a>=C2=A0</div><div><br=
 clear=3D"all"><div><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"=
ltr"><div>This has also been saved in the Cryptpad file.</div></div></div><=
/div></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></div>

--000000000000d9f4e4061558c8f6--


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:46:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:46:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701269.1095596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsixg-0001Yn-3o; Fri, 05 Apr 2024 12:46:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701269.1095596; Fri, 05 Apr 2024 12:46:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsixg-0001Yg-1D; Fri, 05 Apr 2024 12:46:28 +0000
Received: by outflank-mailman (input) for mailman id 701269;
 Fri, 05 Apr 2024 12:46:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsixe-0001YP-JR
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:46:26 +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 835f296d-f34a-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 14:46:25 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4148c6132b4so19162705e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:46: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
 l10-20020adfe58a000000b003434f526cb5sm1922456wrm.95.2024.04.05.05.46.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 05:46:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 835f296d-f34a-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712321185; x=1712925985; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Gm7VP+crjXo4brUIcP4GbX5FpyFfgIDuKWdO8OGlHXU=;
        b=Skm3IIlc/MWvSuI90lOK57QqG37A3BzJgJQLT6JlhVpinL6Yvm9NdsKyTk+tzxMiIr
         h9j+FTQ91Zp3eO+s3F96BhNJJKgAkdowyEKM89gg/kZq5gHssI7tJYcys8k4uFvE5kWP
         Q5hMUsmIc/nZq8IQQsFqq6/jiCJipSgmCTkys5X15NwLvOsuhwP2tx4sVWgKPoHiFCUa
         /Q2zLXQGiY2hzmfsCtSIolbUSB+pM+oDYxuqAaTA/Cq7VrgjDTwIDQo2CUjxSJPae0wS
         Bbv9Ikf68bGKhLHCXpJOEoBWK5TdY+mwgEB0Mks4ygCHC025ZaQcSPRhNX9+kiEQF1s/
         BTEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712321185; x=1712925985;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Gm7VP+crjXo4brUIcP4GbX5FpyFfgIDuKWdO8OGlHXU=;
        b=um2ENXO0NYI+NCznImDz/GQg9mP5HTnc+pMN4t9b5Q8mLmPYYi5GtThLaJFpxCB/Rd
         sxXKyAhOqR/dZJn3aY5P+4+MKcKRv/BfH3xUwSqLqfT/zAJsxmI61n2Z2IWXcVMoqWEi
         y4U3NPBkG4ytu9oFtZS7PYKrC8K1GGPvLJqywVwoEBS25de5Q+yDPUaI6Apo+2344nZi
         qejtmojLpK1+xDUXcRMKkXglPtITjCaUIVucUvk7Otpo5xphD1biDWkvd36POsz3VDnJ
         LwdxKjqtLeGfyULikH+VGgcPxwdqrJ7lXaXrDnwwlHg1HXzQQO88kl/BiTD90PDwwvGe
         I05A==
X-Forwarded-Encrypted: i=1; AJvYcCWojN30ZODvabin4Kh6dQfwvuwTBhCMoxop2k3h7YliCQ45LFyPRx0TTxyDBmEP5+PYyB5f9HTfm9dTmmFdLXJNSrMBqy6ZyFISU4COpn0=
X-Gm-Message-State: AOJu0YySXFmQJ7SQWAVzTEPvvHoaLnL8P64yt4+tHXAgs6H6NLXndbGI
	0N+2y21zIpDrQfJyT9/vemQwqssJYCpHmDLLfRmmGlFq4EM2LOEJn/8Ye0Eonw==
X-Google-Smtp-Source: AGHT+IFreEBPjhAxgfttDeAuoy9BrERPLUIAG/AsA3XUpvYXjBeTVjZ7V6BQ2n6Jo5FoWoXBbtYRYA==
X-Received: by 2002:a5d:6584:0:b0:33e:6ef3:b68e with SMTP id q4-20020a5d6584000000b0033e6ef3b68emr1356384wru.34.1712321184804;
        Fri, 05 Apr 2024 05:46:24 -0700 (PDT)
Message-ID: <c7b0a6b1-ca13-448d-ab46-9e54cd031211@suse.com>
Date: Fri, 5 Apr 2024 14:46:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 04/19] xen: introduce generic non-atomic test_*bit()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <ff6922206ab5476df907e2a05255663865f07301.1712137031.git.oleksii.kurochko@gmail.com>
 <aabb1d9a-3910-479e-858d-a11777873ef5@suse.com>
 <5ee906c53e2d4a966fa6be3be50caa19c3c164a2.camel@gmail.com>
 <4ba7c962-a635-4a7d-8e03-093361cc6353@suse.com>
 <c92ef420468fdf45a878efda37c582c0cab2332f.camel@gmail.com>
 <edd36d22-a2da-4e38-a586-14c742da18f7@suse.com>
 <024957c9a5347b38639aa859d316dce7492f1eef.camel@gmail.com>
 <fda609e5-3ceb-432c-aaae-80b712013a6c@suse.com>
 <03cb48d41f93b9a5255828474cdf333106aee2f9.camel@gmail.com>
 <87ad818358831680e25281a8615248b31816a309.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <87ad818358831680e25281a8615248b31816a309.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.04.2024 13:56, Oleksii wrote:
> On Fri, 2024-04-05 at 13:53 +0200, Oleksii wrote:
>> On Fri, 2024-04-05 at 10:05 +0200, Jan Beulich wrote:
>>> On 05.04.2024 09:56, Oleksii wrote:
>>>> On Fri, 2024-04-05 at 08:11 +0200, Jan Beulich wrote:
>>>>> On 04.04.2024 18:24, Oleksii wrote:
>>>>>> On Thu, 2024-04-04 at 18:12 +0200, Jan Beulich wrote:
>>>>>>> On 04.04.2024 17:45, Oleksii wrote:
>>>>>>>> On Thu, 2024-04-04 at 15:22 +0200, Jan Beulich wrote:
>>>>>>>>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>>>>>>>>> --- a/xen/include/xen/bitops.h
>>>>>>>>>> +++ b/xen/include/xen/bitops.h
>>>>>>>>>> @@ -65,10 +65,164 @@ static inline int
>>>>>>>>>> generic_flsl(unsigned
>>>>>>>>>> long
>>>>>>>>>> x)
>>>>>>>>>>   * scope
>>>>>>>>>>   */
>>>>>>>>>>  
>>>>>>>>>> +#define BITOP_BITS_PER_WORD 32
>>>>>>>>>> +/* typedef uint32_t bitop_uint_t; */
>>>>>>>>>> +#define bitop_uint_t uint32_t
>>>>>>>>>
>>>>>>>>> So no arch overrides permitted anymore at all?
>>>>>>>> Not really, I agree that it is ugly, but I expected that
>>>>>>>> arch
>>>>>>>> will
>>>>>>>> use
>>>>>>>> undef to override.
>>>>>>>
>>>>>>> Which would be fine in principle, just that Misra wants us
>>>>>>> to
>>>>>>> avoid
>>>>>>> #undef-s
>>>>>>> (iirc).
>>>>>> Could you please give me a recommendation how to do that
>>>>>> better?
>>>>>>
>>>>>> The reason why I put this defintions before inclusion of
>>>>>> asm/bitops.h
>>>>>> as RISC-V specific code uses these definitions inside it, so
>>>>>> they
>>>>>> should be defined before asm/bitops.h; other option is to
>>>>>> define
>>>>>> these
>>>>>> definitions inside asm/bitops.h for each architecture.
>>>>>
>>>>> Earlier on you had it that other way already (in a different
>>>>> header,
>>>>> but the principle is the same): Move the generic definitions
>>>>> immediately
>>>>> past inclusion of asm/bitops.h and frame them with #ifndef.
>>>> It can be done in this way:
>>>> xen/bitops.h:
>>>>    ...
>>>>    #include <asm/bitops.h>
>>>>    
>>>>    #ifndef BITOP_TYPE
>>>>    #define BITOP_BITS_PER_WORD 32
>>>>    /* typedef uint32_t bitop_uint_t; */
>>>>    #define bitop_uint_t uint32_t
>>>>    #endif
>>>>    ...
>>>>    
>>>> But then RISC-V will fail as it is using bitop_uint_t inside
>>>> asm/bitops.h.
>>>> So, at least, for RISC-V it will be needed to add asm/bitops.h:
>>>>    #define BITOP_BITS_PER_WORD 32
>>>>    /* typedef uint32_t bitop_uint_t; */
>>>>    #define bitop_uint_t uint32_t
>>>>    
>>>>
>>>> It seems to me that this breaks the idea of having these macro
>>>> definitions generic, as RISC-V will redefine BITOP_BITS_PER_WORD
>>>> and
>>>> bitop_uint_t with the same values as the generic ones.
>>>
>>> I don't follow. Right now patch 7 has
>>>
>>> #undef BITOP_BITS_PER_WORD
>>> #undef bitop_uint_t
>>>
>>> #define BITOP_BITS_PER_WORD BITS_PER_LONG
>>> #define bitop_uint_t unsigned long
>>>
>>> You'd drop the #undef-s and keep the #define-s. You want to
>>> override
>>> them
>>> both, after all.
>>>
>>> A problem would arise for _another_ arch wanting to use these
>>> (default)
>>> types in its asm/bitops.h. Which then could still be solved by
>>> having
>>> a
>>> types-only header.
>> This problem arise now for Arm and PPC which use BITOP_BITS_PER_WORD
>> inside it. Then it is needed to define BITOP_BITS_PER_WORD=32 in
>> asm/bitops.h for Arm and PPC. If it is okay, then I will happy to
>> follow this approach.
>>
>>>  Recall the discussion on the last summit of us meaning
>>> to switch to such a model anyway (perhaps it being
>>> xen/types/bitops.h
>>> and
>>> asm/types/bitops.h then), in a broader fashion? IOW for now you
>>> could
>>> use
>>> the simple approach as long as no other arch needs the types in its
>>> asm/bitops.h. Later we would introduce the types-only headers, thus
>>> catering for possible future uses.
>> Do we really need asm/types/bitops.h? Can't we just do the following
>> in
>> asm/bitops.h:
>>   #ifndef BITOP_TYPE
>>   #include <xen/types/bitops.h>
>>   #endif

This might do, yes.

> Or as an options just update <xen/types.h> with after inclusion of
> <asm/types.h>:
>    #ifndef BITOP_TYPE
>       #define BITOP_BITS_PER_WORD 32
>       /* typedef uint32_t bitop_uint_t; */
>       #define bitop_uint_t uint32_t
>    #endif
>    
> And then just include <xen/types.h> to <<xen/bitops.h>.

That's a (transient) option as well, I guess.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:50:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:50:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701278.1095608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsj1I-0003Km-NM; Fri, 05 Apr 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 701278.1095608; Fri, 05 Apr 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 1rsj1I-0003Kf-J0; Fri, 05 Apr 2024 12:50:12 +0000
Received: by outflank-mailman (input) for mailman id 701278;
 Fri, 05 Apr 2024 12:50: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=1z4c=LK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rsj1G-0003KZ-W7
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:50:11 +0000
Received: from mail-ot1-x335.google.com (mail-ot1-x335.google.com
 [2607:f8b0:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 083ef3c2-f34b-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:50:08 +0200 (CEST)
Received: by mail-ot1-x335.google.com with SMTP id
 46e09a7af769-6e9e1a52b74so429032a34.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:50:08 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 du47-20020a05620a47ef00b0078bc4cad726sm594884qkb.72.2024.04.05.05.50.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 05:50: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: 083ef3c2-f34b-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712321408; x=1712926208; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Vc588LwOvWyQuDQ7gVUI+/fqZi3n/Nja0mBIe96HMJM=;
        b=l//No0oW07Im08A/RtiT0bc9pf6If+J+WgPxiDqlLJ6kp9WvqK4OJLJ8/yK5Wui351
         d9+yc6GsMvZDqtvrVGW8ofIGgLgxQXdoT6Tr7SQG+kZbPmOywJCYRSioMgIA+wi1LkDA
         CIQPezS7yGvT6Z57e2g0Y+V2sDw2bR1UTpxuQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712321408; x=1712926208;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Vc588LwOvWyQuDQ7gVUI+/fqZi3n/Nja0mBIe96HMJM=;
        b=rVjlnNkQBnXMGO6jYTc4r1W2Z7lwjTvCawx1Nfpojmrog7WiwoTceK7rb5+V6skgPS
         HA3QWrjAk2SOyJwLK0G9m/NuCOvuZdaixfyz4G2v9gAjg6EDCYZMV3A2G1VQpACdiQAa
         b+S+XXqFOfv4GVGPkLJb5XrpuWFP1Yuuezwy/lBkzw6LtRdSAL/pchPZbScWZ4RYvDPH
         wLX9H2mAsNZ1G86yrRdzKqRSSucrVJLzhozCT/V/2VMSySQdYBoTXKsOzdCc+90r/yHd
         bPhIFJO6ih0Z0/hyVocRwEtjmMP0oxbD3SzbwtyZKjybPrsOggUmEYckRGBZMZ3ycxsE
         w7hA==
X-Forwarded-Encrypted: i=1; AJvYcCV5uIcZyD/HKn0cF7PE6on+x3jL3jSJ9gci7PfkbYaQT76dpmw+Rf0esVecrYa6I8q3yYsn0mkdF60rNxmDKjZOK6IZCKtxigPAqZznbxA=
X-Gm-Message-State: AOJu0YwSIXpjfKsbTvE+vessdShHCQVIqT8tnTPPPYKEoChi/dQKbIeb
	6PFUPlZfE8fcUdH056ugfBxUb7Q/TydIgFWKdaaEyGqXR4FedhOH1RvzKtXHbtA=
X-Google-Smtp-Source: AGHT+IHrY6etqL5vHvjhx/nPlLEoAAdaXnN4cFYl7a5reAGjVR3pfVk9KPbtroU48o5I3za98ihbiA==
X-Received: by 2002:a05:6830:6b86:b0:6e4:9482:86c3 with SMTP id dd6-20020a0568306b8600b006e4948286c3mr1497907otb.10.1712321407714;
        Fri, 05 Apr 2024 05:50:07 -0700 (PDT)
Message-ID: <f8fb1990-11e8-459d-a365-6dc277f34a6b@citrix.com>
Date: Fri, 5 Apr 2024 13:50:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/xen: return a sane initial apic id when running
 as PV guest
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org
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
References: <20240405123434.24822-1-jgross@suse.com>
 <20240405123434.24822-3-jgross@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: <20240405123434.24822-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/04/2024 1:34 pm, Juergen Gross wrote:
> With recent sanity checks for topology information added, there are now
> warnings issued for APs when running as a Xen PV guest:
>
>   [Firmware Bug]: CPU   1: APIC ID mismatch. CPUID: 0x0000 APIC: 0x0001
>
> This is due to the initial APIC ID obtained via CPUID for PV guests is
> always 0.

/sigh

>From Xen:

    switch ( leaf )
    {
    case 0x1:
        /* TODO: Rework topology logic. */
        res->b &= 0x00ffffffu;
        if ( is_hvm_domain(d) )
            res->b |= (v->vcpu_id * 2) << 24;


I think there's a very good chance it was random prior to Xen 4.6.  That
used to come straight out of a CPUID value, so would get the APIC ID of
whichever pCPU it was scheduled on.

> Avoid the warnings by synthesizing the CPUID data to contain the same
> initial APIC ID as xen_pv_smp_config() is using for registering the
> APIC IDs of all CPUs.
>
> Fixes: 52128a7a21f7 ("86/cpu/topology: Make the APIC mismatch warnings complete")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  arch/x86/xen/enlighten_pv.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
> index ace2eb054053..965e4ca36024 100644
> --- a/arch/x86/xen/enlighten_pv.c
> +++ b/arch/x86/xen/enlighten_pv.c
> @@ -219,13 +219,20 @@ static __read_mostly unsigned int cpuid_leaf5_edx_val;
>  static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>  		      unsigned int *cx, unsigned int *dx)
>  {
> -	unsigned maskebx = ~0;
> +	unsigned int maskebx = ~0;
> +	unsigned int or_ebx = 0;
>  
>  	/*
>  	 * Mask out inconvenient features, to try and disable as many
>  	 * unsupported kernel subsystems as possible.
>  	 */
>  	switch (*ax) {
> +	case 0x1:
> +		/* Replace initial APIC ID in bits 24-31 of EBX. */
> +		maskebx = 0x00ffffff;
> +		or_ebx = smp_processor_id() << 24;

I think the comment wants to cross-reference explicitly with
xen_pv_smp_config(), because what we care about here is the two sources
of information matching.

Also while you're at it, the x2APIC ID in leaf 0xb.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:56:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:56:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701285.1095617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsj7H-0004rF-AN; Fri, 05 Apr 2024 12:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701285.1095617; Fri, 05 Apr 2024 12: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 1rsj7H-0004r8-77; Fri, 05 Apr 2024 12:56:23 +0000
Received: by outflank-mailman (input) for mailman id 701285;
 Fri, 05 Apr 2024 12: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=my07=LK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rsj7F-0004r2-6E
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:56:21 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5215262-f34b-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:56:18 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2d718efedb2so36744601fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 05:56:18 -0700 (PDT)
Received: from ?IPV6:2003:e5:873a:400:704b:6dbb:e7c0:786e?
 (p200300e5873a0400704b6dbbe7c0786e.dip0.t-ipconnect.de.
 [2003:e5:873a:400:704b:6dbb:e7c0:786e])
 by smtp.gmail.com with ESMTPSA id
 eb16-20020a170907281000b00a51ad1c08f6sm237285ejc.71.2024.04.05.05.56.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 05:56: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: e5215262-f34b-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712321778; x=1712926578; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=s6BeinTfkFRY511Zesj2csWGlc6XaX/bZ6aS0GxaTcE=;
        b=Xcd4eZVrVefoY6YD346fSMR4JaeQVt3MENe6V2zDi4pUEVVdQt6B78Mgk5eLSiVNGD
         eSsaqCQ/253AXS0rHqlPq35WR6uw6ib9cCG3hBrzaGHkwIB0dcaPoo+u0nd7N9/5GVkf
         7MU/GAIgSqVm8NiBjxyKvUudqsNYBzxIs8+PtrnrC1LiWEwg0+ob8Hqu8vFrqfnWTH2t
         MEHdpceZcHkTndw6ytc2rcxl/VOeKdM9cCLMUJB0wdj8b3cY19BzRNqt0qWUABrQzMv1
         6+MMlPSG9eV9FXQEAd4xp3CKYTfQoa4XIv1/OvkeCGvjz8dvsBQOXy1RCvPg6WKY2e7v
         uvpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712321778; x=1712926578;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=s6BeinTfkFRY511Zesj2csWGlc6XaX/bZ6aS0GxaTcE=;
        b=Gp4qt3wB+eYbcGEr5jYG6Y4/LZiyYSF/yXtawo3EHL9L6J5BOCyDfj2vFKsKaCFqyc
         5WC9m3ZCQubAsBA+6rQoFeacoEX4snjR7aG80d3DrC11Ikuz7HKbp3e+XAko38r0E4S+
         t0fKyHAIijlfda+5dnFQdq25NaxO+Qajx1V7ZemYQF9i1KzI6xu5+UC6rAVVBjYHhYg+
         QaWTvFMKiUzsC4DlO/ig5ml05LUiDQexDrY3TgFgQFrpG87d/QU14jNc9NcDnji1jqUA
         wF1fAPCEYJJLBWer4GUi5vBrRtC7FJ9/jcRbgrBBhcBy6VogkHhFSvumWV+fthJwL3l1
         veNA==
X-Forwarded-Encrypted: i=1; AJvYcCWlA5LlP2zbgIB7+M0fmLMJFa6133aML+NeyF3S3NIOvl4d5mabWKE4NaDWKzd6gC6+Vy+3eYeubszAi8JYE/fvMYw2bRa+5JQStNWWQqU=
X-Gm-Message-State: AOJu0Yx62YLm5ZvDqZKeJhqDVHuAJ5EYXwHjtjbOzHFonqMweaedQUY5
	fE8UJcqrklD0VgpIlb8HawdpphxU4e+9z3J6uYANzPr9onrFKZ2L2/gs9wb+QJE=
X-Google-Smtp-Source: AGHT+IFpfy6C/SfFTK8IkMTuBphFt/yBIUbFgzlwGpKi0zL14YuaT4NJUKruE+ynKd8LPsEBIG0RFQ==
X-Received: by 2002:ac2:5050:0:b0:516:d1ba:ca70 with SMTP id a16-20020ac25050000000b00516d1baca70mr1353262lfm.31.1712321778108;
        Fri, 05 Apr 2024 05:56:18 -0700 (PDT)
Message-ID: <b145edd1-cde8-4c05-bd70-86c7e3a48666@suse.com>
Date: Fri, 5 Apr 2024 14:56:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/xen: return a sane initial apic id when running
 as PV guest
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org
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
References: <20240405123434.24822-1-jgross@suse.com>
 <20240405123434.24822-3-jgross@suse.com>
 <f8fb1990-11e8-459d-a365-6dc277f34a6b@citrix.com>
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <f8fb1990-11e8-459d-a365-6dc277f34a6b@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 05.04.24 14:50, Andrew Cooper wrote:
> On 05/04/2024 1:34 pm, Juergen Gross wrote:
>> With recent sanity checks for topology information added, there are now
>> warnings issued for APs when running as a Xen PV guest:
>>
>>    [Firmware Bug]: CPU   1: APIC ID mismatch. CPUID: 0x0000 APIC: 0x0001
>>
>> This is due to the initial APIC ID obtained via CPUID for PV guests is
>> always 0.
> 
> /sigh
> 
>  From Xen:
> 
>      switch ( leaf )
>      {
>      case 0x1:
>          /* TODO: Rework topology logic. */
>          res->b &= 0x00ffffffu;
>          if ( is_hvm_domain(d) )
>              res->b |= (v->vcpu_id * 2) << 24;
> 
> 
> I think there's a very good chance it was random prior to Xen 4.6.  That
> used to come straight out of a CPUID value, so would get the APIC ID of
> whichever pCPU it was scheduled on.
> 
>> Avoid the warnings by synthesizing the CPUID data to contain the same
>> initial APIC ID as xen_pv_smp_config() is using for registering the
>> APIC IDs of all CPUs.
>>
>> Fixes: 52128a7a21f7 ("86/cpu/topology: Make the APIC mismatch warnings complete")
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>>   arch/x86/xen/enlighten_pv.c | 10 +++++++++-
>>   1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
>> index ace2eb054053..965e4ca36024 100644
>> --- a/arch/x86/xen/enlighten_pv.c
>> +++ b/arch/x86/xen/enlighten_pv.c
>> @@ -219,13 +219,20 @@ static __read_mostly unsigned int cpuid_leaf5_edx_val;
>>   static void xen_cpuid(unsigned int *ax, unsigned int *bx,
>>   		      unsigned int *cx, unsigned int *dx)
>>   {
>> -	unsigned maskebx = ~0;
>> +	unsigned int maskebx = ~0;
>> +	unsigned int or_ebx = 0;
>>   
>>   	/*
>>   	 * Mask out inconvenient features, to try and disable as many
>>   	 * unsupported kernel subsystems as possible.
>>   	 */
>>   	switch (*ax) {
>> +	case 0x1:
>> +		/* Replace initial APIC ID in bits 24-31 of EBX. */
>> +		maskebx = 0x00ffffff;
>> +		or_ebx = smp_processor_id() << 24;
> 
> I think the comment wants to cross-reference explicitly with
> xen_pv_smp_config(), because what we care about here is the two sources
> of information matching.

I can add that as a comment. OTOH I'd really hope someone changing this
code later would look into the commit message of the patch adding it. :-)

> 
> Also while you're at it, the x2APIC ID in leaf 0xb.

I'm not sure this is functionally relevant in PV guests.

Note that my patch is only meant to silence warnings during boot. It is not
needed for the system working correctly (at least I think so).


Juergen


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 12:59:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 12:59:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701287.1095626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjAV-0005e4-Om; Fri, 05 Apr 2024 12:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701287.1095626; Fri, 05 Apr 2024 12: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 1rsjAV-0005dx-MF; Fri, 05 Apr 2024 12:59:43 +0000
Received: by outflank-mailman (input) for mailman id 701287;
 Fri, 05 Apr 2024 12:59:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LUTm=LK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rsjAV-0005dp-1u
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 12:59:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d8ba420-f34c-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 14:59:40 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 0360B4EE073E;
 Fri,  5 Apr 2024 14:59: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: 5d8ba420-f34c-11ee-a1ef-f123f15fe8a2
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH] xen/compiler: address violation of MISRA C Rule 20.9
Date: Fri,  5 Apr 2024 14:59:35 +0200
Message-Id: <d7c9e5cdabbcc3262f0e23fbf914cd6bb7e47990.1712321857.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The rule states:
"All identifiers used in the controlling expression of #if or #elif
preprocessing directives shall be #define'd before evaluation".
In this case, using defined(identifier) is a MISRA-compliant
way to achieve the same effect.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
This is the only outstanding violation of the rule, given the current
configurations. There are likely other sites that may benefit from
a gradual refactor.
---
 xen/include/xen/compiler.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index fc87a2edad7f..179ff23e62c5 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -30,7 +30,7 @@
 
 #define __weak        __attribute__((__weak__))
 
-#if !CONFIG_CC_IS_CLANG || CONFIG_CLANG_VERSION >= 140000
+#if !defined(CONFIG_CC_IS_CLANG) || CONFIG_CLANG_VERSION >= 140000
 # define nocall       __attribute__((__error__("Nonstandard ABI")))
 #else
 # define nocall
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 13:01:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 13:01:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701289.1095636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjCd-0007Dm-3p; Fri, 05 Apr 2024 13:01:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701289.1095636; Fri, 05 Apr 2024 13:01:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjCd-0007Df-1E; Fri, 05 Apr 2024 13:01:55 +0000
Received: by outflank-mailman (input) for mailman id 701289;
 Fri, 05 Apr 2024 13:01: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=1z4c=LK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rsjCc-0007C4-FZ
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 13:01:54 +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 ac4307e7-f34c-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 15:01:53 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-789d76ad270so125756485a.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 06:01:53 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 bi12-20020a05620a318c00b0078d48fdb52dsm565218qkb.76.2024.04.05.06.01.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 06:01: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: ac4307e7-f34c-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712322112; x=1712926912; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZcsRZAjo7DinRVxcG0Ff/ptdGhlNYKHM6NfLwaa+PMk=;
        b=IGB9T+e/ZV+YUsodAh9XpMYIEH/ocd34ZURFRhsgGGi/8G4jCYoGT2JBIElWSuqfZT
         XKuNuqzueTWp0OnAMvUVqFiQIZoitcxYWLxzLM7YHGkwiUwfW/qNj8AOnVV4K6/8oET5
         73AJaJm0bLYiRckpcEBexmci9hvJ4N65B6LQM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712322112; x=1712926912;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZcsRZAjo7DinRVxcG0Ff/ptdGhlNYKHM6NfLwaa+PMk=;
        b=Lp1+FCq4bLnPw12yTdALeyVbZiVJ96Kj8/VddP6fijHaFpVmUJtqIrgs20y38RtiRA
         fdLNkyiCpQ6QMx2D0mlWfxIyVa5+7pJhKvah1HvCzQYaiYDdiGFoCuwv22j9oj9SBogx
         PIx+JPO+Ynt/1HRlJQiLJRHHTD2Xnd+9ZVDJM37xByUgR+jJboq9ZWD/Tbrlpml4jAy4
         ZkUKW8Mkhip/37JyewTU9Wd/uGlw9A1d4HVpr6Np7yci1OXA/13pi9LpGqJ8Bc+rTgp1
         Ncc9MHoA2rzcoCdP0pz7bcoRSbgBMMLe3nwSCzODRILhNCR/Yjasxn2WPZFpjtncUJk8
         IC2A==
X-Forwarded-Encrypted: i=1; AJvYcCV337LrIXmeEouaVyLOwA9F4nygmGZCuPcTxPBCifLYViW01vsFuH9/TIu2Sl0Q9HqLUzACGeyCXSReWyM3FbosKOmTQGQqW1hCACuyOTo=
X-Gm-Message-State: AOJu0YxLuc+Dm735ZPRNh1QhGk8r/mwupfH6my+oY4DHyLnKdgwfiJuQ
	ZMt21zFJkKTMcb5VYYHGTNALBu1AC7wW0XQJ/CHpLazdqQP9BchbhnvE9h0ZAGQ=
X-Google-Smtp-Source: AGHT+IErYqYSBmp6HLsWIjbmgo/dfMc/TXS9YKTEoL5uieNDNzSFXCm9dcg0d21TYHiCmX/LkNXnhw==
X-Received: by 2002:a05:620a:2b87:b0:78b:de95:a037 with SMTP id dz7-20020a05620a2b8700b0078bde95a037mr1764955qkb.45.1712322112085;
        Fri, 05 Apr 2024 06:01:52 -0700 (PDT)
Message-ID: <ea554cd5-8578-49ae-adb6-e2dfab6cb946@citrix.com>
Date: Fri, 5 Apr 2024 14:01:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
To: Jan Beulich <jbeulich@suse.com>
Cc: =?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 <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <20240404104122.2870129-1-andrew.cooper3@citrix.com>
 <6e99f73f-bf83-4c40-b97c-5cead300a781@suse.com>
 <7ebf879b-01d1-4a13-9464-199d08960213@citrix.com>
 <071e8a23-6a16-4a61-aa42-1f85a9c98203@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: <071e8a23-6a16-4a61-aa42-1f85a9c98203@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/04/2024 2:32 pm, Jan Beulich wrote:
> On 04.04.2024 15:22, Andrew Cooper wrote:
>> On 04/04/2024 1:45 pm, Jan Beulich wrote:
>>> For the write-discard property, how was that determined? Does it affect all
>>> writable bits?
>> Marek kindly ran a debugging patch for me last night to try and figure
>> out what was going on.
>>
>> Currently, Xen tries to set 0x2 (TSX_CPUID_CLEAR) and debugging showed
>> it being read back as 0.
>>
>> I didn't check anything else, but I have a strong suspicion that I know
>> exactly what's going wrong here.
> Hmm, at the risk of upsetting you: Is a suspicion really enough for a
> firm statement in a comment?

The statement is all demonstrable properties.

The suspicion is about *why* we've ended up with the properties we have,
and is based on my involvement in the original planning for this.

>> The property the if() condition is mainly looking for is !RTM &&
>> !(MSR_TFA.CPUID_CLEAR) because that's an illegal state in a
>>
>>>> +             * Spot this case, and treat it as if no TSX is available at all.
>>>> +             * This will prevent Xen from thinking it's safe to offer HLE/RTM
>>>> +             * to VMs.
>>>> +             */
>>>> +            if ( val == 0 && cpu_has_rtm_always_abort && !cpu_has_rtm )
>>>> +            {
>>>> +                printk(XENLOG_ERR
>>>> +                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: RTM_ALWAYS_ABORT vs RTM mismatch\n",
>>> This isn't really firmware, is it? At least I wouldn't call microcode
>>> (assuming that's where the bad behavior is rooted) firmware.
>> Microcode is absolutely part of the system firmware.
> The ucode ahead of being loaded into CPUs is, sure. But once in the CPU
> (and there may not be any loading at least in theory), it's not anymore.

You appear to have a very singular impression of what does and does not
constitute firmware.

If you can change Intel and AMD's mind on this matter, feel free to
submit a patch changing the wording here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 13:07:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 13:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701294.1095647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjI0-0008AC-Ob; Fri, 05 Apr 2024 13:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701294.1095647; Fri, 05 Apr 2024 13:07:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjI0-0008A5-KR; Fri, 05 Apr 2024 13:07:28 +0000
Received: by outflank-mailman (input) for mailman id 701294;
 Fri, 05 Apr 2024 13:07:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1z4c=LK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rsjHz-00089z-6W
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 13:07: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 72356863-f34d-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 15:07:25 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-56e2b41187aso1588533a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 06:07:25 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m15-20020aa7c48f000000b0056b0af78d80sm786548edq.34.2024.04.05.06.07.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 06:07:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72356863-f34d-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712322444; x=1712927244; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fDPCDEA5I1+AdfHV/LcG5zOSYt6ak6Ppa2QlTQ1bR4U=;
        b=jLUmw7f+rOQTrn8EscybpJ2yaonVVw+0b0ztGq0iKS1iISdfhlMQQuCXv2DRs12ct2
         OT6T+MrqVCCmcpRT0/p+dviksagE4NKMW9ccdoedAfhHgRdma3G2IYQKjm/mOibD0KUq
         uC4zUYTwnfdT7zloK/j2olJl95HvkZC6l7u3Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712322444; x=1712927244;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fDPCDEA5I1+AdfHV/LcG5zOSYt6ak6Ppa2QlTQ1bR4U=;
        b=HDX+nHbaOdX3gw0p98j7WQQcelummUQjKqBrTN55szSIaBPhCn7c8RJJ1nKHCQnJlW
         Z8BOzBeEckmkzYeSmBYO5MJr5YIiH0tYZxE+cbSsJZnHSSQdRZegieQYMhksC0EXXnHz
         pHjr6HBH37oV+NIpCEiUnsQCt2HDbgH4QymB9DQ3fh8rBINp50Hh+LMqdn+bhXwMkU7X
         jnhEi2SB/60naA9LqBavKsaWtbvEyfkD4XGSrVFdijpK4EGd6xui87qiHieK5TC/XyUr
         6SEh+v1BZcKn4MU9DSC66qdyoR6YxGwgqpNdpieVIavyniNw4pSr3dhuDmFZSXnmVLKG
         FGpA==
X-Gm-Message-State: AOJu0Yy1B0fS/CE6aluUbd5fGZ+pA7j/YxNEQPEtRlw5WzSvpDxx/+v3
	1dfa2AvcF+zF6eE4fo8FxRlYyxuFkbBWjp8yk6Att1j+YHVBUhelQsjT0w7uhMqf7pyfsoTFyAV
	5Y8Q=
X-Google-Smtp-Source: AGHT+IGwPJICHcV+EabkFYzUEm9ZTYYZCRlnFA3FEVLABABPG+qrMaJk7yrekXEXKFUG+ty85HgDJw==
X-Received: by 2002:a05:6402:3716:b0:56d:c757:9379 with SMTP id ek22-20020a056402371600b0056dc7579379mr2649306edb.15.1712322444223;
        Fri, 05 Apr 2024 06:07: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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
Date: Fri,  5 Apr 2024 14:07:22 +0100
Message-Id: <20240405130722.2891221-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <Zg1stUacaDBkyDOn@mail-itl>
References: <Zg1stUacaDBkyDOn@mail-itl>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It turns out there is something wonky on some but not all CPUs with
MSR_TSX_FORCE_ABORT.  The presence of RTM_ALWAYS_ABORT causes Xen to think
it's safe to offer HLE/RTM to guests, but in this case, XBEGIN instructions
genuinely #UD.

Spot this case and try to back out as cleanly as we can.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

v2:
 * Adjust wording.
---
 xen/arch/x86/tsx.c | 55 +++++++++++++++++++++++++++++++++++++---------
 1 file changed, 45 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
index 50d8059f23a9..fbdd05971c8b 100644
--- a/xen/arch/x86/tsx.c
+++ b/xen/arch/x86/tsx.c
@@ -1,5 +1,6 @@
 #include <xen/init.h>
 #include <xen/param.h>
+#include <asm/microcode.h>
 #include <asm/msr.h>
 
 /*
@@ -9,6 +10,7 @@
  *  -1 => Default, altered to 0/1 (if unspecified) by:
  *                 - TAA heuristics/settings for speculative safety
  *                 - "TSX vs PCR3" select for TSX memory ordering safety
+ *  -2 => Implicit tsx=0 (from RTM_ALWAYS_ABORT vs RTM mismatch)
  *  -3 => Implicit tsx=1 (feed-through from spec-ctrl=0)
  *
  * This is arranged such that the bottom bit encodes whether TSX is actually
@@ -114,11 +116,50 @@ void tsx_init(void)
 
         if ( cpu_has_tsx_force_abort )
         {
+            uint64_t val;
+
             /*
-             * On an early TSX-enable Skylake part subject to the memory
+             * On an early TSX-enabled Skylake part subject to the memory
              * ordering erratum, with at least the March 2019 microcode.
              */
 
+            rdmsrl(MSR_TSX_FORCE_ABORT, val);
+
+            /*
+             * At the time of writing (April 2024), it was discovered that
+             * some parts (e.g. CoffeeLake 8th Gen, 06-9e-0a, ucode 0xf6)
+             * advertise RTM_ALWAYS_ABORT, but XBEGIN instructions #UD.  Other
+             * similar parts (e.g. KabyLake Xeon-E3, 06-9e-09, ucode 0xf8)
+             * operate as expected.
+             *
+             * In this case:
+             *  - RTM_ALWAYS_ABORT and MSR_TSX_FORCE_ABORT are enumerated.
+             *  - XBEGIN instructions genuinely #UD.
+             *  - MSR_TSX_FORCE_ABORT appears to be write-discard and fails to
+             *    hold its value.
+             *  - HLE and RTM are not enumerated, despite
+             *    MSR_TSX_FORCE_ABORT.TSX_CPUID_CLEAR being clear.
+             *
+             * Spot RTM being unavailable without CLEAR_CPUID being set, and
+             * treat it as if no TSX is available at all.  This will prevent
+             * Xen from thinking it's safe to offer HLE/RTM to VMs.
+             */
+            if ( val == 0 && cpu_has_rtm_always_abort && !cpu_has_rtm )
+            {
+                printk(XENLOG_ERR
+                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: RTM_ALWAYS_ABORT vs RTM mismatch\n",
+                       boot_cpu_data.x86, boot_cpu_data.x86_model,
+                       boot_cpu_data.x86_mask, this_cpu(cpu_sig).rev);
+
+                setup_clear_cpu_cap(X86_FEATURE_RTM_ALWAYS_ABORT);
+                setup_clear_cpu_cap(X86_FEATURE_TSX_FORCE_ABORT);
+
+                if ( opt_tsx < 0 )
+                    opt_tsx = -2;
+
+                goto done_probe;
+            }
+
             /*
              * Probe for the June 2021 microcode which de-features TSX on
              * client parts.  (Note - this is a subset of parts impacted by
@@ -128,15 +169,8 @@ void tsx_init(void)
              * read as zero if TSX_FORCE_ABORT.ENABLE_RTM has been set before
              * we run.
              */
-            if ( !has_rtm_always_abort )
-            {
-                uint64_t val;
-
-                rdmsrl(MSR_TSX_FORCE_ABORT, val);
-
-                if ( val & TSX_ENABLE_RTM )
-                    has_rtm_always_abort = true;
-            }
+            if ( val & TSX_ENABLE_RTM )
+                has_rtm_always_abort = true;
 
             /*
              * If no explicit tsx= option is provided, pick a default.
@@ -191,6 +225,7 @@ void tsx_init(void)
             setup_force_cpu_cap(X86_FEATURE_RTM);
         }
     }
+ done_probe:
 
     /*
      * Note: MSR_TSX_CTRL is enumerated on TSX-enabled MDS_NO and later parts.

base-commit: 270588b9b2b751b0bb6b36f4853cb13005e4706f
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 13:25:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 13:25:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701299.1095657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjZF-0005CA-96; Fri, 05 Apr 2024 13:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701299.1095657; Fri, 05 Apr 2024 13:25:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjZF-0005C3-5u; Fri, 05 Apr 2024 13:25:17 +0000
Received: by outflank-mailman (input) for mailman id 701299;
 Fri, 05 Apr 2024 13: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsjZD-0005Bv-W9
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 13:25:15 +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 efe410cd-f34f-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 15:25:14 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4162e8210b6so5704745e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 06:25: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
 i19-20020a05600c355300b004161df7c9dbsm3030278wmq.32.2024.04.05.06.25.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 06: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: efe410cd-f34f-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712323514; x=1712928314; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PXcB1IQRzCoDtovDswAuIJfRsNfKHS05k9ajnD/zrWw=;
        b=GPnR7K/bGPttChVbAXt4QtvdFDMRGGHrEVzdxesx9koLrtfci3G5+cSODw1FZe+1ut
         nMoIhUGRR0lGGj4eH9AdDHFSKelqFZlxq8C6aRrC9ROUNttMwu8SORQfRVop5hQ3f5ck
         goPtFhFUUt6i5kpjN4tm248b/WDM9Nup7EceR80f4NiulMBBI7Sn68R+D5bb0rJ1+sNs
         SnUCP4Pebpb/CtFR5feeZPG6B2jX6JBNAD0T3z47K7tc7/evZ9CNC6BDNWwBWPiy9bCz
         3k9bHAEV/OEfSB6wFHn2gc6LUczzquE4SbuG6XjrUZns8UAHR6+VN67DFaYWrXwTlth7
         dQsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712323514; x=1712928314;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PXcB1IQRzCoDtovDswAuIJfRsNfKHS05k9ajnD/zrWw=;
        b=FAf2YcO8gdfad6Dm4j/aGQrsgCQMcVwxGRul4nnSPgigkT8rTG5MJ5SDd79HQskBjz
         PD5wXZq5jo0nlkHjxmF6d8juIY+PUriUngus+UJ7QXKNvEN6fPsNzoYAsn+ENbJ+BmU7
         +oog5uOUiQ2FGgHGVUcibD83LEyJaxVe5Y8hsfnVFHJhYmr0xzBzxIDfaTnJLXstM90s
         5++ngdBbC4iTbb5r9YQgCcVJWznLgSJhd4N3V7TUGaHEjgYuSeAVPLTIk/mYuXKk2e0E
         8wULNTOE4gYrIN4EjX3+Ly+7U/VAQDF8RVJ61i+okw2ZIQXwF2gA13wfTzHiVO9eW+0o
         lO0A==
X-Forwarded-Encrypted: i=1; AJvYcCWljYVKRpE1XwIduMSaA+zEhI3Ym4bdj49wk4369o4R32qOgGGSInJlH6XGd38X7JPKlzKI0De8/t4w2sH7fOq+WSVEG6jlf5JGPyjmDk8=
X-Gm-Message-State: AOJu0YzoYYy1P5DbmyV4hb5ah2FFVwy6KmQcgaEiPg7Aa60t6S8lBBT7
	nE7a9FDfhKx0prwJ8sNelmFbdPENkXGgwLDN4ezvZJ7jBDI/WWN/xS4qXX1oBA==
X-Google-Smtp-Source: AGHT+IEEYeRqWxAXYj5/avTV++XjlTgFmJefU/nB0nm0y5qHH3NwqCfnK+fXv5VtyCrSax2I7FeFdA==
X-Received: by 2002:a05:600c:1c8d:b0:415:6cf0:b25b with SMTP id k13-20020a05600c1c8d00b004156cf0b25bmr1246686wms.6.1712323514406;
        Fri, 05 Apr 2024 06:25:14 -0700 (PDT)
Message-ID: <1be09216-7d6e-4667-a1ca-6fa401cd2631@suse.com>
Date: Fri, 5 Apr 2024 15:25:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?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 <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <20240404104122.2870129-1-andrew.cooper3@citrix.com>
 <6e99f73f-bf83-4c40-b97c-5cead300a781@suse.com>
 <7ebf879b-01d1-4a13-9464-199d08960213@citrix.com>
 <071e8a23-6a16-4a61-aa42-1f85a9c98203@suse.com>
 <ea554cd5-8578-49ae-adb6-e2dfab6cb946@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ea554cd5-8578-49ae-adb6-e2dfab6cb946@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 15:01, Andrew Cooper wrote:
> On 04/04/2024 2:32 pm, Jan Beulich wrote:
>> On 04.04.2024 15:22, Andrew Cooper wrote:
>>> On 04/04/2024 1:45 pm, Jan Beulich wrote:
>>>>> +             * Spot this case, and treat it as if no TSX is available at all.
>>>>> +             * This will prevent Xen from thinking it's safe to offer HLE/RTM
>>>>> +             * to VMs.
>>>>> +             */
>>>>> +            if ( val == 0 && cpu_has_rtm_always_abort && !cpu_has_rtm )
>>>>> +            {
>>>>> +                printk(XENLOG_ERR
>>>>> +                       "FIRMWARE BUG: CPU %02x-%02x-%02x, ucode 0x%08x: RTM_ALWAYS_ABORT vs RTM mismatch\n",
>>>> This isn't really firmware, is it? At least I wouldn't call microcode
>>>> (assuming that's where the bad behavior is rooted) firmware.
>>> Microcode is absolutely part of the system firmware.
>> The ucode ahead of being loaded into CPUs is, sure. But once in the CPU
>> (and there may not be any loading at least in theory), it's not anymore.
> 
> You appear to have a very singular impression of what does and does not
> constitute firmware.

Not so singular, I would say: https://en.wikipedia.org/wiki/Firmware
The only mention of microcode there is for historical context, afaics.

Jan

> If you can change Intel and AMD's mind on this matter, feel free to
> submit a patch changing the wording here.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 13:37:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 13:37:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701305.1095666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjl8-0007k1-9g; Fri, 05 Apr 2024 13:37:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701305.1095666; Fri, 05 Apr 2024 13:37:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjl8-0007ju-76; Fri, 05 Apr 2024 13:37:34 +0000
Received: by outflank-mailman (input) for mailman id 701305;
 Fri, 05 Apr 2024 13:37:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsjl7-0007jl-0d
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 13:37:33 +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 a6c4a2a7-f351-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 15:37:31 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-343f62a762fso172246f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 06:37: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
 bh13-20020a05600c3d0d00b0041630855440sm1817338wmb.43.2024.04.05.06.37.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 06:37: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: a6c4a2a7-f351-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712324251; x=1712929051; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IBCdakSxk5WnmZHxPxazg+SgJEJ9gnup/qaDRhBbLcs=;
        b=UhJeLuiORsAAiOahg2neIQh8bmk/wteARNON4s5F4xjrUq8o46BLf1UsyKhnxYzmxw
         HkwWuIM1O5yiw6O3TJz6Q6/qtPEdvWT47tpwSnneAo/Zn9RmX6s8V+Tq8EH2AA8HojLF
         S4olqGMPrBOsmb+sz/HgtyyPOvILnbGaL0A0RQF8kP6yihEXGbP1bKpFkGh02pvJTguR
         jlhni/KsWzeehixA1HYeKVlbULCEEHjenNUJbbqgXT0z1mFsSFXJHk230CIF06a/05l1
         wUK7mD73hUXW2nBHB5gCkoJSoxGNoUd4mtWsEa40uPdmFBuVIXaFjrRY76AHo7lhkfeI
         DQWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712324251; x=1712929051;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IBCdakSxk5WnmZHxPxazg+SgJEJ9gnup/qaDRhBbLcs=;
        b=d6KkHWU18+WOqbc3aMGmqEi6/d6ChbmPTZ32p7YvbkSkY9J5dFRLl774ZTxwS7YEDb
         x8K4njuknkpHtArfvwL3uLAXTS0wUpA4Z0JIBAp3CWHxxdVqq92UX9sv35XTpvIuZkV9
         6tsGchUkcvgmzIBMjBqvfo90UpEpkPLSOR1lkmLzweJt3ZF4gbpYhU/902Jb0H8Xn7yR
         DchiXUu2iN1ubyrE3J0R0xz1U2ExjKOpOQfbNNlSlNEt1lvyAa+60K6237VzgZ7VYaeN
         tDKmidMrS9nddA0Eo8CudFVlMTfEX4SKfo7koCUxVMf7uzmTxvYxuELU7mJDJ+pCVurg
         5INw==
X-Forwarded-Encrypted: i=1; AJvYcCWWGG21dsEAXIoRfmDAq4s4d7gvJoRo/U/r7AQZP4F+nHotbpLYQQoP3ij56Lp57R+o1LSpNIJKsN4hjMk83gENQM7BbTdIKU/ZX6+SvWU=
X-Gm-Message-State: AOJu0Yw8XdZpdqbdEc/BGloSSo6ZjAW7wkqc8nnIc2xWR4/DPW93PAQd
	z3lkQyr2C+WxRu0Cx+7isCxvLGlJJYLcRgRpUXPcagaGgZ6UU9u0/rTQWwwycQ==
X-Google-Smtp-Source: AGHT+IGQ5JihFD/f4ETCl/8Nj3Mgvpn9JhvhLGO9NWT/DBkq0nsrDubeGb58yHdA8H9rJ+shHPhT4g==
X-Received: by 2002:a5d:4092:0:b0:343:cbf0:b7f3 with SMTP id o18-20020a5d4092000000b00343cbf0b7f3mr1104384wrp.48.1712324250719;
        Fri, 05 Apr 2024 06:37:30 -0700 (PDT)
Message-ID: <0aefb452-610e-458b-824e-3d6126000815@suse.com>
Date: Fri, 5 Apr 2024 15:37:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] xen/compiler: address violation of MISRA C Rule 20.9
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <d7c9e5cdabbcc3262f0e23fbf914cd6bb7e47990.1712321857.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d7c9e5cdabbcc3262f0e23fbf914cd6bb7e47990.1712321857.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 14:59, Nicola Vetrini wrote:
> The rule states:
> "All identifiers used in the controlling expression of #if or #elif
> preprocessing directives shall be #define'd before evaluation".
> In this case, using defined(identifier) is a MISRA-compliant
> way to achieve the same effect.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Fri Apr 05 13:40:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 13:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701307.1095677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjoG-0001UU-ON; Fri, 05 Apr 2024 13:40:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701307.1095677; Fri, 05 Apr 2024 13:40:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsjoG-0001UN-Ky; Fri, 05 Apr 2024 13:40:48 +0000
Received: by outflank-mailman (input) for mailman id 701307;
 Fri, 05 Apr 2024 13:40: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=Jola=LK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rsjoF-0001UH-71
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 13:40: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 1a73a97a-f352-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 15:40:45 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2d47a92cfefso28194761fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 06:40: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
 t12-20020a05600c450c00b004161bffa48csm3016115wmo.40.2024.04.05.06.40.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 05 Apr 2024 06:40: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: 1a73a97a-f352-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712324445; x=1712929245; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=52pIHdSDXG40u8ziotvfnbgQcedbYh6jpFfewoNhGeM=;
        b=bV/q0OvU8fE1sJyB2nYT+jV+a7znfRKHrMhU02USYMCKRepkY0IWU8QWlVn/ZCKFqt
         NGJmtat+lku4UL+L3J1UO3kkM8ZEnSFnMLgsTLeQrs+1n2A8YkFHLgmthz9GxSRCmBpo
         /2R7Pka6HXkL/LKkMkqEbLMivIujhV+AWXVR2BOLGVL118cMeOZ2i1UNvkgi0A5kGDKZ
         e4jZECg3Wc3uzA/npLgnLODnASOjHq2H8yO54v4GNQCAiU7NDmOT2DIFfE6LiFMsaAPy
         Q8Cz1bUgwcLbK8+SSnISwBOPpHaax0ohJ1GMGZ0mkoNnLPSTWViZOOj02vonsNDQtlYO
         T3YQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712324445; x=1712929245;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=52pIHdSDXG40u8ziotvfnbgQcedbYh6jpFfewoNhGeM=;
        b=CoLE36M8vuiHSLUtDBTFdbdaWE6alt5uszCJcpLlKGw7ecveSF51p5eOLV/eZI8jGo
         Zct17RRck25TKVZWp0jIndGRM7BJxfX2WQo5G9+qiaW+EaDzuX2pXDwjkEMZTUmjYdrB
         oH64IY3GfUsWwt1es7AmIrM8Ltjj32sIDa3L1haggkohVnECBBUo//5qthissZqwa6/D
         dtxzqLg4/HimJcKiLwGsYIY4RVNi+ZY0M4RWfo90qmmjPzOCSN3hwhRoV7bWOyi9+YP0
         59gBKjQuk/ZJkTdbe1Av7D8gPn67xb4misfkrkqM38oRLjuI9oVeCPpi2BB1vm89bWug
         1dZg==
X-Forwarded-Encrypted: i=1; AJvYcCU3CevuGvmx1+++iDRxkpU/cBUsBZpgooY28BiReIiM917zcd6GQE45/2iKmfukHkDOTcsOFLs/HvHQr+S45ovQ6r2c/TcDP9Cb0pMoYdY=
X-Gm-Message-State: AOJu0YxAMg51Jrg/rKCROCk1rPqKObXD3EHSVy9deYe9qJXNVrE2BfiQ
	Kbmp7f5rm/sPKWqFlBxGsfwNQPZYJmwdsriQ5ykLosN1JG6Z0kPOpetOXgNb9g==
X-Google-Smtp-Source: AGHT+IFZf7Rzj1mwdJwJ5MmkKf2i+zUz9jqFPMglSXIn0xjnwcN0spkTZgBiwHz6gIEmQlnQsEVmeQ==
X-Received: by 2002:a2e:980a:0:b0:2d4:a22e:d3b3 with SMTP id a10-20020a2e980a000000b002d4a22ed3b3mr1216296ljj.11.1712324444764;
        Fri, 05 Apr 2024 06:40:44 -0700 (PDT)
Message-ID: <3608d0f0-68a7-4124-8d1d-098fce4c5440@suse.com>
Date: Fri, 5 Apr 2024 15:40:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/tsx: Cope with RTM_ALWAYS_ABORT vs RTM mismatch
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <Zg1stUacaDBkyDOn@mail-itl>
 <20240405130722.2891221-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: <20240405130722.2891221-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.04.2024 15:07, Andrew Cooper wrote:
> It turns out there is something wonky on some but not all CPUs with
> MSR_TSX_FORCE_ABORT.  The presence of RTM_ALWAYS_ABORT causes Xen to think
> it's safe to offer HLE/RTM to guests, but in this case, XBEGIN instructions
> genuinely #UD.
> 
> Spot this case and try to back out as cleanly as we can.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

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




From xen-devel-bounces@lists.xenproject.org Fri Apr 05 14:16:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 14:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701315.1095695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rskMd-0000P9-Ex; Fri, 05 Apr 2024 14:16:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701315.1095695; Fri, 05 Apr 2024 14:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rskMd-0000P2-CH; Fri, 05 Apr 2024 14:16:19 +0000
Received: by outflank-mailman (input) for mailman id 701315;
 Fri, 05 Apr 2024 14:16: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 1rskMc-0000Os-Hh; Fri, 05 Apr 2024 14:16: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 1rskMc-0001Vd-9v; Fri, 05 Apr 2024 14:16: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 1rskMb-0007xB-VQ; Fri, 05 Apr 2024 14:16:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rskMb-0007AZ-Uv; Fri, 05 Apr 2024 14:16:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ujsXtw6eGx7nGavtYGks4ftD8GnWlXqSZLVMER00Wq0=; b=gExU2x/KkkUiGCqg7vGx1qnu7W
	BGKbULeh9+Yn0Xmhv0AIvyX+RnT/CWZWm7LNPlUfrD2qZf5oVcfzVe2ajnNyIRb1tbn2QggPO7EBG
	9CKsaRpIfxZdnyoDOAOrbQ2wlZh8e3ZbhHsM/H7fblwNoBiWHSv7qOTJUmcUp0ZEBz9s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185243-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185243: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-amd64-xsm:xen-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-xsm: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-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-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-libvirt: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-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-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8cb4a9a82b21623dbb4b3051dd30d98356cf95bc
X-Osstest-Versions-That:
    linux=3e92c1e6cd876754b64d1998ec0a01800ed954a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 14:16:17 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-xsm               6 xen-build                fail REGR. vs. 185228

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  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-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185228
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185228
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185228
 test-arm64-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 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-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-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                8cb4a9a82b21623dbb4b3051dd30d98356cf95bc
baseline version:
 linux                3e92c1e6cd876754b64d1998ec0a01800ed954a6

Last test of basis   185228  2024-04-03 14:39:38 Z    1 days
Failing since        185232  2024-04-03 23:42:55 Z    1 days    3 attempts
Testing same since   185243  2024-04-05 04:01:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alexei Starovoitov <ast@kernel.org>
  Andrii Nakryiko <andrii@kernel.org>
  Antoine Tenart <atenart@kernel.org>
  Anton Protopopov <aspsk@isovalent.com>
  Anup Patel <anup@brainfault.org>
  Anup Patel <apatel@ventanamicro.com>
  Ard Biesheuvel <ardb@kernel.org>
  Ashish Kalra <ashish.kalra@amd.com>
  Atlas Yu <atlas.yu@canonical.com>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Borislav Petkov (AMD) <bp@alien8.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Clayton Craft <clayton@craftyguy.net>
  Colin Ian King <colin.i.king@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Thompson <davthompson@nvidia.com>
  Davide Caratti <dcaratti@redhat.com>
  Dima Ruinskiy <dima.ruinskiy@intel.com>
  Duanqiang Wen <duanqiangwen@net-swift.com>
  Duoming Zhou <duoming@zju.edu.cn>
  Eric Dumazet <edumazet@google.com>
  Geliang Tang <tanggeliang@kylinos.cn>
  Greg Thelen <gthelen@google.com>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Haiyang Zhang <haiyangz@microsoft.com>
  Hans de Goede <hdegoede@redhat.com>
  Hariprasad Kelam <hkelam@marvell.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Horatiu Vultur <horatiu.vultur@microchip.com>
  Hui Wang <hui.wang@canonical.com>
  Ingo Molnar <mingo@kernel.org>
  Ivan Vecera <ivecera@redhat.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jeff Layton <jlayton@kernel.org>
  Jesper Dangaard Brouer <hawk@kernel.org>
  Jiri Olsa <jolsa@kernel.org>
  Joan Bruguera Micó <joanbrugueram@gmail.com>
  Johan Hovold <johan+linaro@kernel.org>
  John Ernberg <john.ernberg@actia.se>
  John Fastabend <john.fastabend@gmail.com>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Joshua Hay <joshua.a.hay@intel.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krishneil Singh <krishneil.k.singh@intel.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukasz Majewski <lukma@denx.de>
  Maarten Vanraes <maarten@rmail.be>
  Mahmoud Adam <mngyadam@amazon.com>
  Marc Zyngier <maz@kernel.org>
  Marco Pinna <marco.pinn95@gmail.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Michael Krummsdorf <michael.krummsdorf@tq-group.com>
  Naama Meir <naamax.meir@linux.intel.com>
  Natanael Copa <ncopa@alpinelinux.org>
  Nikita Kiryushin <kiryushin@ancud.ru>
  Nikita Travkin <nikita@trvn.ru> # sc7180
  Nir Efrati <nir.efrati@intel.com>
  Oliver Upton <oliver.upton@linux.dev>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Moore <paul@paul-moore.com>
  Pavan Kumar Linga <pavan.kumar.linga@intel.com>
  Petr Oros <poros@redhat.com>
  Phil Elwell <phil@raspberrypi.com>
  Piotr Wejman <piotrwejman90@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Rafal Romanowski <rafal.romanowski@intel.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Salvatore Daniele <sdaniele@redhat.com>
  Sean Christopherson <seanjc@google.com>
  Shung-Hsi Yu <shung-hsi.yu@suse.com>
  Su Hui <suhui@nfschina.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Tariq Toukan <tariqt@nvidia.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Vitaly Lifshits <vitaly.lifshits@intel.com>
  Wei Fang <wei.fang@nxp.com>
  Will Deacon <will@kernel.org>
  William Tu <witu@nvidia.com>
  Wujie Duan <wjduan@linx-info.com>
  Xiaoyao Li <xiaoyao.li@intel.com>
  Yonghong Song <yonghong.song@linux.dev>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              fail    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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           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                                 pass    
 test-amd64-amd64-xl-xsm                                      blocked 
 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 4470 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 15:54:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 15:54:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701332.1095705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsltm-0007sU-1V; Fri, 05 Apr 2024 15:54:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701332.1095705; Fri, 05 Apr 2024 15: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 1rsltl-0007sN-Uc; Fri, 05 Apr 2024 15:54:37 +0000
Received: by outflank-mailman (input) for mailman id 701332;
 Fri, 05 Apr 2024 15: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=FXRt=LK=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rsltk-0007sF-Op
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 15:54:36 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb4643fa-f364-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 17:54:33 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4156c4fe401so15507885e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 05 Apr 2024 08:54:32 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r4-20020a5d6944000000b00343b09729easm2309259wrw.69.2024.04.05.08.54.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 05 Apr 2024 08: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: cb4643fa-f364-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712332472; x=1712937272; 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=YpbtyZ+7DGPU2Qc8kYQPXDHoqI1Bzdp8ZNyLz3uUGXE=;
        b=LrVXEOGNP0HsA4AzVjyNrfRTk3CU5JvEjUFxE5EMBwOHY59jWsBl55VDqCHaDH+mCR
         NIY8DhD5TXUGk49wtmjhLU4mXr+BRDJ/shm3jbi+hmJCmH3RfbLBshQePXQZIlXssH2H
         DAkuQo7styKXsDHrj1TZDVRXF8YPkhiro9qck=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712332472; x=1712937272;
        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=YpbtyZ+7DGPU2Qc8kYQPXDHoqI1Bzdp8ZNyLz3uUGXE=;
        b=WA/g1yttf10nxPyjqLHXCH+P//7eqNI+zD3bQmrFGX8TCimTJqWKdqjnK6XT4G6fUR
         YOF2DN4ra97+n6N7TmTJ5Yrr7/TcwXekOyyPXmLYVdZAIdvhsartB+Ar4YQHEvjSyKCo
         ZNV9YaZMLmRxa1n64AN82rf7IQppj0qJidFqS2BIX1O4K7Qw34SQKf5aVIZlzSUB8Tx+
         lQYp7ZskUMT33G7t7tiDuBwoWeBCzJ/5OQkYf21eMNx7vc1lP/xqVBvoLwYdpOLvhMa3
         4RuplTjh19hOpimVEjxRcL/dAq1xzTEsycqC+opQSnIS+FtEi9k+QHonQRN2py4wa/nx
         H5rg==
X-Gm-Message-State: AOJu0YxdWVckGRzkBgsKZZ0vlz3XEThiLe1+w280o8UwwI0vuChAXQss
	pf6LXaSqroX22RWV0SIFo+9HXm8izL4Fkl7tLBACPgCDK/fgqi9/KeRWAIwD2FVMbrBgktLR+kF
	u
X-Google-Smtp-Source: AGHT+IE1c6E6Z8bkk00XC7x/dP1GBqlA0I5Wy77jRoGdbcDAXY2XaYKU5uYMWrVXHdV1aESGaVTeyw==
X-Received: by 2002:adf:fe0a:0:b0:341:d6c3:5c4f with SMTP id n10-20020adffe0a000000b00341d6c35c4fmr1703486wrr.21.1712332472023;
        Fri, 05 Apr 2024 08:54:32 -0700 (PDT)
Date: Fri, 5 Apr 2024 16:54:30 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [OSSTEST PATCH 00/36] Switch to Debian Bookworm
Message-ID: <f178e1fb-0b6f-4312-a483-b85f413db025@perard>
References: <20240318165545.3898-1-anthony.perard@citrix.com>
 <93b8a3e8-2866-42ca-9132-1527d82928e9@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <93b8a3e8-2866-42ca-9132-1527d82928e9@perard>

On Thu, Mar 28, 2024 at 05:54:04PM +0000, Anthony PERARD wrote:
> On Mon, Mar 18, 2024 at 04:55:09PM +0000, Anthony PERARD wrote:

I've now pushed
"production-config: Set Bookworm's debian-installer version"

and these two:

> >   Switch to Debian Bookworm as default suite
> >   make-hosts-flight: default to bookworm

osstest should start to use Debian Bookworm soon.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 16:14:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 16:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701336.1095715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsmCa-0003cD-Jr; Fri, 05 Apr 2024 16:14:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701336.1095715; Fri, 05 Apr 2024 16:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsmCa-0003c6-H3; Fri, 05 Apr 2024 16:14:04 +0000
Received: by outflank-mailman (input) for mailman id 701336;
 Fri, 05 Apr 2024 16:14: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 1rsmCZ-0003bv-PG; Fri, 05 Apr 2024 16:14: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 1rsmCZ-00043m-LG; Fri, 05 Apr 2024 16:14: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 1rsmCZ-000378-6H; Fri, 05 Apr 2024 16:14:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rsmCZ-000800-5U; Fri, 05 Apr 2024 16:14:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5qo68sVFgrd0XqB4zBxbe9GyzWbHzPW6nq1punFT8tk=; b=MIgo+9YtYJeE/EKvYq/ydn97Yt
	N3X+/Bt2J5CRjt5wUZuAQzOYZAMh7e/WdguPYRG+exA/mtfQCb7OKuIM/e6eoxcvPDWXKxjl8X5ZM
	VI+uE0DXFMyMawYmagZyEOXOE/fXahZgvcAhy+/T+pAE17D7/sXEwomERMsCReSRVWl8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185244-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185244: 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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt: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-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-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-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=a39dd2571538513e23103b3b20526f84f01596a6
X-Osstest-Versions-That:
    libvirt=e2a7dd3f7e9843b0c0753cf6b6d9792351f8c6e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 16:14:03 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185235  2024-04-04 04:18:47 Z    1 days
Testing same since   185244  2024-04-05 04:18:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Benjamin Taubmann <benjamin.taubmann@nutanix.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          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
   e2a7dd3f7e..a39dd25715  a39dd2571538513e23103b3b20526f84f01596a6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 18:17:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 18:17:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701355.1095733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rso7X-0005RZ-Av; Fri, 05 Apr 2024 18:16:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701355.1095733; Fri, 05 Apr 2024 18: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 1rso7X-0005RS-83; Fri, 05 Apr 2024 18:16:59 +0000
Received: by outflank-mailman (input) for mailman id 701355;
 Fri, 05 Apr 2024 18:16:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rso7V-0005RM-Hq
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 18:16:57 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af022eb9-f378-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 20:16: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 90FC460FC7;
 Fri,  5 Apr 2024 18:16:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C3AEC433C7;
 Fri,  5 Apr 2024 18:16:52 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af022eb9-f378-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712341014;
	bh=ZOPgm3N5Pv3svyD22kGnHjkNuwOyqqpUMk/fuGP3fH8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ClKRqI5wxywN4bIs1P/Lx5BmfTUrutiSXknk593+UVaOuZgmYoA24U/aHOqLVerEj
	 kxBSyeiBXDqH8fCYhBV4sJxFHxcwQbjL2w2t2EuMJ42Mra58Um9OpDIFZVKxetQyUP
	 K+9POHffMdua9CAF6I+a5ffKYTwHvnBrL4gj7YxAn0ND5DsjMVhEzy6iIBS6AY4uiG
	 mjB99wjSm1nBxeZ8lTD8DQiee/eZNSwlVf2tAAqRFReC2NpUw453mEWUn1Hz2SNWld
	 OZcJMiNfjVyWjztYQGCcwk4APd7C9oF3pZ2K75wk7f9Vn3zUJne1tGJud5XZZdmn+n
	 3OyVRLTrNL2eA==
Date: Fri, 5 Apr 2024 11:16:51 -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>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    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>, 
    Simone Ballarin <simone.ballarin@bugseng.com>
Subject: Re: [XEN PATCH v3 2/2] MISRA C Rule 20.7 states: "The features of
 `<stdarg.h>' shall not be used"
In-Reply-To: <dbcfdf24-1d6c-4a2e-a8d5-e3d19a700e08@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404051116390.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1711621080.git.simone.ballarin@bugseng.com> <97008d1b28eb922b3c0041830b09e827396aa0ec.1711621080.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2404041725580.2245130@ubuntu-linux-20-04-desktop>
 <dbcfdf24-1d6c-4a2e-a8d5-e3d19a700e08@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, 5 Apr 2024, Jan Beulich wrote:
> On 05.04.2024 02:27, Stefano Stabellini wrote:
> > On Thu, 28 Mar 2024, Simone Ballarin wrote:
> >> The Xen community wants to avoid using variadic functions except for
> >> specific circumstances where it feels appropriate by strict code review.
> >>
> >> Functions hypercall_create_continuation and hypercall_xlat_continuation
> >> are internal helper functions made to break long running hypercalls into
> >> multiple calls. They take a variable number of arguments depending on the
> >> original hypercall they are trying to continue.
> >>
> >> Add SAF deviations for the aforementioned functions.
> >>
> >> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > 
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > 
> > I fixed the title on commit
> 
> Did you forget to push then? I don't see this change in the tree, yet.

Yep, thanks!


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 18:20:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 18:20:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701357.1095742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsoBH-0007AW-Ph; Fri, 05 Apr 2024 18:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701357.1095742; Fri, 05 Apr 2024 18:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsoBH-00079t-N4; Fri, 05 Apr 2024 18:20:51 +0000
Received: by outflank-mailman (input) for mailman id 701357;
 Fri, 05 Apr 2024 18:20: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=x+fY=LK=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rsoBG-00077g-14
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 18:20:50 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38576c6a-f379-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 20:20:47 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 185DD82855AB;
 Fri,  5 Apr 2024 13:20:45 -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 WlUwro3q7qks; Fri,  5 Apr 2024 13:20:44 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F2CE98285607;
 Fri,  5 Apr 2024 13:20:43 -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 oOiyGNosNpEl; Fri,  5 Apr 2024 13:20:43 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 52C7782855AB;
 Fri,  5 Apr 2024 13:20:43 -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: 38576c6a-f379-11ee-a1ef-f123f15fe8a2
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com F2CE98285607
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712341244; bh=CHdkWKhIxnJ7d1hR9BPeVfbie9iAebaLrDQcbBpsOlE=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=GZcUJO7fs+j4dZZTgmY78Gg6Xo8uUHk6isc0q//becuyC9dpaqThh8iYpKdlvckxS
	 G4MjSRdJ4lrhwu2tLuMO/47ecedCJti5dpQs6deqeUaTLAk1uRhloqIZvAH2Ocv7MB
	 gGJ/zNY+uBNYYX8UnDho4zH3dGhvNl2YEQk2dJAw=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Juergen Gross <jgross@suse.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [PATCH] xen/acpi: Allow xen/acpi.h to be included on non-ACPI archs
Date: Fri,  5 Apr 2024 13:20:31 -0500
Message-Id: <20240405182031.396528-1-sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
that the header can be included on architectures without ACPI support,
like ppc.

This change revealed some missing #includes across the ARM tree, so fix
those as well.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/arm/arm32/mmu/mm.c     | 1 +
 xen/arch/arm/arm64/smpboot.c    | 3 ++-
 xen/arch/arm/domain_build.c     | 1 -
 xen/arch/arm/gic-v2.c           | 1 -
 xen/arch/arm/gic-v3.c           | 2 --
 xen/arch/arm/include/asm/acpi.h | 1 -
 xen/arch/arm/mmu/setup.c        | 1 +
 xen/arch/arm/psci.c             | 1 +
 xen/arch/arm/smpboot.c          | 1 +
 xen/arch/arm/traps.c            | 3 ++-
 xen/common/sched/boot-cpupool.c | 2 +-
 xen/include/xen/acpi.h          | 8 ++++++--
 12 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index cb441ca87c..0ab6ae52a6 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -3,6 +3,7 @@
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/libfdt/libfdt-xen.h>
+#include <xen/mm.h>
 #include <xen/param.h>
 #include <xen/pfn.h>
 #include <asm/fixmap.h>
diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index bf81d018b3..a225fae64d 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -1,4 +1,6 @@
+#include <xen/acpi.h>
 #include <xen/cpu.h>
+#include <xen/device_tree.h>
 #include <xen/lib.h>
 #include <xen/init.h>
 #include <xen/errno.h>
@@ -7,7 +9,6 @@
 #include <xen/vmap.h>
 #include <asm/io.h>
 #include <asm/psci.h>
-#include <asm/acpi.h>
 
 struct smp_enable_ops {
         int             (*prepare_cpu)(int cpu);
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 085d88671e..54232ed4cb 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -18,7 +18,6 @@
 #include <xen/acpi.h>
 #include <xen/vmap.h>
 #include <xen/warning.h>
-#include <acpi/actables.h>
 #include <asm/device.h>
 #include <asm/kernel.h>
 #include <asm/setup.h>
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 5d6885e389..02043c0d4b 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -22,7 +22,6 @@
 #include <xen/libfdt/libfdt.h>
 #include <xen/sizes.h>
 #include <xen/acpi.h>
-#include <acpi/actables.h>
 #include <asm/p2m.h>
 #include <asm/domain.h>
 #include <asm/platform.h>
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 1cb1360606..cd3e1acf79 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -25,8 +25,6 @@
 #include <xen/sched.h>
 #include <xen/sizes.h>
 
-#include <acpi/actables.h>
-
 #include <asm/cpufeature.h>
 #include <asm/device.h>
 #include <asm/gic.h>
diff --git a/xen/arch/arm/include/asm/acpi.h b/xen/arch/arm/include/asm/acpi.h
index e53973e054..13756dd341 100644
--- a/xen/arch/arm/include/asm/acpi.h
+++ b/xen/arch/arm/include/asm/acpi.h
@@ -74,7 +74,6 @@ static inline void enable_acpi(void)
     acpi_disabled = false;
 }
 #else
-#define acpi_disabled (true)
 #define disable_acpi()
 #define enable_acpi()
 #endif
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index 57f1b46499..c0cb17ca2e 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -10,6 +10,7 @@
 #include <xen/sizes.h>
 #include <xen/vmap.h>
 
+#include <asm/setup.h>
 #include <asm/fixmap.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
index 695d2fa1f1..b6860a7760 100644
--- a/xen/arch/arm/psci.c
+++ b/xen/arch/arm/psci.c
@@ -9,6 +9,7 @@
  */
 
 
+#include <xen/acpi.h>
 #include <xen/types.h>
 #include <xen/init.h>
 #include <xen/mm.h>
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index a84e706d77..6efed87678 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2011 Citrix Systems.
  */
 
+#include <xen/acpi.h>
 #include <xen/cpu.h>
 #include <xen/cpumask.h>
 #include <xen/delay.h>
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 9cffe7f790..083157d6f2 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -7,6 +7,7 @@
  * Copyright (c) 2011 Citrix Systems.
  */
 
+#include <xen/acpi.h>
 #include <xen/domain_page.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
@@ -30,7 +31,6 @@
 #include <public/sched.h>
 #include <public/xen.h>
 
-#include <asm/acpi.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
 #include <asm/event.h>
@@ -38,6 +38,7 @@
 #include <asm/mem_access.h>
 #include <asm/mmio.h>
 #include <asm/regs.h>
+#include <asm/setup.h>
 #include <asm/smccc.h>
 #include <asm/traps.h>
 #include <asm/vgic.h>
diff --git a/xen/common/sched/boot-cpupool.c b/xen/common/sched/boot-cpupool.c
index 5955e6f9a9..feeac3b704 100644
--- a/xen/common/sched/boot-cpupool.c
+++ b/xen/common/sched/boot-cpupool.c
@@ -7,8 +7,8 @@
  * Copyright (C) 2022 Arm Ltd.
  */
 
+#include <xen/acpi.h>
 #include <xen/sched.h>
-#include <asm/acpi.h>
 
 /*
  * pool_cpu_map:   Index is logical cpu number, content is cpupool id, (-1) for
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 6a2f5983fd..73ca4ad75c 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -37,10 +37,10 @@
 
 #ifndef __ASSEMBLY__
 
+#include <xen/errno.h>
 #include <xen/list.h>
 
-#include <acpi/acpi.h>
-#include <asm/acpi.h>
+#include <public/xen.h>
 
 #define ACPI_MADT_GET_(fld, x) (((x) & ACPI_MADT_##fld##_MASK) / \
 	(ACPI_MADT_##fld##_MASK & -ACPI_MADT_##fld##_MASK))
@@ -54,6 +54,9 @@
 
 #ifdef CONFIG_ACPI
 
+#include <acpi/acpi.h>
+#include <asm/acpi.h>
+
 extern acpi_physical_address rsdp_hint;
 
 extern bool opt_acpi_verbose;
@@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr;
 #else	/*!CONFIG_ACPI*/
 
 #define acpi_mp_config	0
+#define acpi_disabled (true)
 
 static inline int acpi_boot_init(void)
 {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 18:37:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 18:37:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701365.1095769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsoRk-0001CR-9r; Fri, 05 Apr 2024 18:37:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701365.1095769; Fri, 05 Apr 2024 18:37:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsoRk-0001CK-79; Fri, 05 Apr 2024 18:37:52 +0000
Received: by outflank-mailman (input) for mailman id 701365;
 Fri, 05 Apr 2024 18:37: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=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsoRi-0001CB-Ut
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 18:37:50 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 998b45a3-f37b-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 20:37: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 45341618D5;
 Fri,  5 Apr 2024 18:37:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9392FC433F1;
 Fri,  5 Apr 2024 18:37: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: 998b45a3-f37b-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712342266;
	bh=lliqU5Pz5zkJFIMwSW4YQoOY30IwMTg4WWkhKRpJyCE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=eMwkWwjga4Cd+BWy4oSXClQa9BSX5UoS0ge3WErQnSCivh0v+6+htwBt+WeVbbK7D
	 P+N2XQfCt2E4CLX6Qb+YOZlkGqabdDG8M0SBjzLRMzI+pVrMx/kXZdkpnvUAjGB5/I
	 qYpMQ5RY1GMdMomTYMGClvMeF9LVTDUDqhaqcSbLi+wmbWuZMMeeIraDG9tj0pJswU
	 UxgEOI8+11YttfoZXg7T8I+vQ7DYKF212Jo6MlD7bsZ9vJLfpZu/Trtgd8vi/wxEKJ
	 G4kDbP/348CaIMli3QQwiZShzPY92MHDy4hXyRxvv8Q9Bi2aQPAO2kAjhFNVvPqyu0
	 7c8n45PekynOg==
Date: Fri, 5 Apr 2024 11:37: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>, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, julien@xen.org, 
    michal.orzel@amd.com, roger.pau@citrix.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] docs/misra: document the expected sizes of integer
 types
In-Reply-To: <0e9361f6-c419-4fdd-95a4-2fafa5de2406@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404051131570.2245130@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404031806510.2245130@ubuntu-linux-20-04-desktop> <e3e13f3f-3df6-4eb4-8b73-21387007e7c3@suse.com> <alpine.DEB.2.22.394.2404041548530.2245130@ubuntu-linux-20-04-desktop> <0e9361f6-c419-4fdd-95a4-2fafa5de2406@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, 5 Apr 2024, Jan Beulich wrote:
> On 05.04.2024 01:56, Stefano Stabellini wrote:
> > On Thu, 4 Apr 2024, Jan Beulich wrote:
> >> On 04.04.2024 03:12, Stefano Stabellini wrote:
> >>> --- a/docs/misra/C-language-toolchain.rst
> >>> +++ b/docs/misra/C-language-toolchain.rst
> >>> @@ -480,4 +480,73 @@ The table columns are as follows:
> >>>       - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Section "11.1 Implementation-defined behavior" of CPP_MANUAL.
> >>>  
> >>>  
> >>> +Sizes of Integer types
> >>> +______________________
> >>> +
> >>> +Xen expects System V ABI on x86_64:
> >>> +  https://gitlab.com/x86-psABIs/x86-64-ABI
> >>> +
> >>> +Xen expects AAPCS32 on ARMv8-A AArch32:
> >>> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
> >>> +
> >>> +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
> >>> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
> >>> +
> >>> +A summary table of data types, sizes and alignment is below:
> >>> +
> >>> +.. list-table::
> >>> +   :widths: 10 10 10 45
> >>> +   :header-rows: 1
> >>> +
> >>> +   * - Type
> >>> +     - Size
> >>> +     - Alignment
> >>> +     - Architectures
> >>> +
> >>> +   * - char 
> >>> +     - 8 bits
> >>> +     - 8 bits
> >>> +     - all architectures
> >>
> >> This one _may_ be acceptable, but already feels like going too far.
> >>
> >>> +   * - short
> >>> +     - 16 bits
> >>> +     - 16 bits
> >>> +     - all architectures
> >>> +
> >>> +   * - int
> >>> +     - 32 bits
> >>> +     - 32 bits
> >>> +     - all architectures
> >>
> >> These two I continue to disagree with. The values are minimum required ones.
> > 
> > The purpose of the document docs/misra/C-language-toolchain.rst is to
> > describe the reference safety-supported configuration. In a way, this
> > document is similar to SUPPORT.md but for safety instead of security.
> > 
> > Here, we need to write down the stable configuration, the one everyone
> > is aligned and convinced should work correctly.
> > 
> > Now, let's say that I believe you and agree with you that it should be
> > possible to support int as 64-bit. This configuration is not tested. If
> > I can draw a comparison, it would be similar to ask for XSM to be
> > security supported while in fact is marked as experimental in
> > SUPPORT.md.
> > 
> > If you want, taking inspiration from SUPPORT.md, we can have a
> > "supported" column and a "experimental" column. In the experimental
> > column we can write down "at least 32-bit" or "32-bit or larger".
> > 
> > 
> >> Even if code changes may be needed (Misra already helps us here by stopping
> >> undue mixing of e.g. unsigned int and uint32_t in at least some situations),
> >> there's no inherent requirement in Xen for such restrictions.
> > 
> > I hope that my comparison with XSM and SUPPORT.md helps explain why we
> > need to clarify the safety supported configuration with the values we
> > actually validate Xen with.
> > 
> > Your goal is to write down what should work with Xen, which is also OK
> > but it is a different goal. It is OK to say that we aim for Xen to also
> > work with other configurations too, and list them. That was not my
> > intention, but I can expand the scope if you request.
> 
> To achieve just your goal, would you then please replace all instances
> of "all architectures" and "all <N>-bit architectures" by an enumeration
> of the specific ones, as you have it elsewhere? This would then allow
> architectures I'm thinking about without impacting your goal. FTAOD ...

Yes, I am fine with that



> >>> +   * - long
> >>> +     - 32 bits
> >>> +     - 32 bits 
> >>> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> >>> +
> >>> +   * - long
> >>> +     - 64 bits
> >>> +     - 64 bits 
> >>> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> >>> +
> >>> +   * - long long
> >>> +     - 64-bit
> >>> +     - 32-bit
> >>> +     - x86_32
> >>> +
> >>> +   * - long long
> >>> +     - 64-bit
> >>> +     - 64-bit
> >>> +     - 64-bit architectures, ARMv8-A AArch32, ARMv8-R AArch32
> >>
> >> Along the lines of the above, simply saying "64-bit architectures" here
> >> is too generic. Whereas for long (above) and ...
> >>
> >>> +   * - pointer
> >>> +     - 32-bit
> >>> +     - 32-bit
> >>> +     - 32-bit architectures (x86_32, ARMv8-A AArch32, ARMv8-R AArch32)
> >>> +
> >>> +   * - pointer
> >>> +     - 64-bit
> >>> +     - 64-bit
> >>> +     - 64-bit architectures (x86_64, ARMv8-A AArch64, RV64, PPC64)
> >>
> >> ... pointers I agree (and the special mentioning of the architectures
> >> in parentheses could even be omitted imo). To summarize, my counter
> >> proposal:
> 
> ... this counter proposal already specifically addressed that aspect, by
> e.g. ...
> 
> >>    * - char 
> >>      - at least 8 bits
> > 
> > this
> > 
> >>      - equaling size
> >>      - all architectures
> >>
> >>    * - char
> >>      - 8 bits
> >>      - 8 bits
> >>      - x86, ARM, RISC-V, PPC
> 
> ... having two sections here: One to address your goal, and one to
> address mine. My further suggestion further up merely would mean
> dropping the generic parts (for imo no good reason).
 
I don't mind having two sections, one for my goal and one for yours.
However, I am a bit unsure how to word the generic part in a way that is
clear and unambiguous, so I'll keep only the explicitly listed
architectures in the next version (following your suggestion further
up.)

 
> >>    * - short
> >>      - at least 16 bits
> > 
> > and this
> > 
> >>      - equaling size
> >>      - all architectures
> >>
> >>    * - short
> >>      - 16 bits
> >>      - 16 bits
> >>      - x86, ARM, RISC-V, PPC
> >>
> >>    * - int
> >>      - at least 32 bits
> > 
> > and this, more below
> > 
> > 
> >>      - equaling size
> >>      - all architectures
> >>
> >>    * - int
> >>      - 32 bits
> >>      - 32 bits
> >>      - x86, ARM, RISC-V, PPC
> >>
> >>    * - long
> >>      - 32 bits
> >>      - 32 bits 
> >>      - 32-bit architectures
> >>
> >>    * - long
> >>      - 64 bits
> >>      - 64 bits 
> >>      - 64-bit architectures
> >>
> >>    * - long long
> >>      - 64-bit
> >>      - 32-bit
> >>      - x86_32
> >>
> >>    * - long long
> >>      - 64-bit
> >>      - 64-bit
> >>      - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R AArch32
> >>
> >>    * - pointer
> >>      - 32-bit
> >>      - 32-bit
> >>      - 32-bit architectures
> >>
> >>    * - pointer
> >>      - 64-bit
> >>      - 64-bit
> >>      - 64-bit architectures
> >>
> >> Eventually, by properly decoupling pointers from longs (via using {,u}intptr_t
> >> appropriately), the restrictions on "long" could also be lifted.
> >>
> >> Note that the generic requirements on char and short also are imposed by C99.
> >> It may therefore not be necessary to state them explicitly, but rather refer
> >> to that standard (just like you're now referencing the SysV psABI-s).
> > 
> > I am OK with the above, except for the three instances of "at least". As
> > mentioned earlier, we need to specify the supported and validated
> > configuration. If you want we can also add another field to express what
> > we aim at getting Xen to work with, but it should be separate.
> 


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 18:45:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 18:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701369.1095780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsoYa-0003Gg-57; Fri, 05 Apr 2024 18:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701369.1095780; Fri, 05 Apr 2024 18:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rsoYa-0003GZ-0i; Fri, 05 Apr 2024 18:44:56 +0000
Received: by outflank-mailman (input) for mailman id 701369;
 Fri, 05 Apr 2024 18:44: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=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rsoYZ-0003GT-FZ
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 18:44:55 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96a7e152-f37c-11ee-afe6-a90da7624cb6;
 Fri, 05 Apr 2024 20:44:54 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 9E644CE2578;
 Fri,  5 Apr 2024 18:44:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9428CC433C7;
 Fri,  5 Apr 2024 18:44:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96a7e152-f37c-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712342688;
	bh=UHAOITdinMVWq70npyFzk0FScg54RY1dB3DNx+drG5s=;
	h=Date:From:To:cc:Subject:From;
	b=GfrCsifWsaqf0ezpSvbqwWmmkyISOvUc2e2cTov9mQM4PNtaSBHWLeti2Eb7pm/6P
	 6g2p7FtULHXmslDH/haRTrrtX+HCw/1uDogAKdKiUwNFx0c80HGzFJKXtxagsFHpnQ
	 M16Mj2nWzcMgtuho8NUNQzNMvBxG+H0Q6xXIYSJ/bCT5IHO1Wdes+tb7Bjmidu6cij
	 YScpP7Rf36A7wEihuOi3mfZ75zz7B4+s0uzAr9giDGXoWknPJMzGfFSxgAMOWX9HBn
	 0yg4RShRUJJlz7FH2dKU+kYJ/wPzaJv7CcSsmiejZUu4aC/Qyi2x/LezvKdDC4Df20
	 9dVTZATJXqXUQ==
Date: Fri, 5 Apr 2024 11:44:46 -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.cooper3@citrix.com, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, jbeulich@suse.com, 
    julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com
Subject: [PATCH v4] docs/misra: document the expected sizes of integer
 types
Message-ID: <alpine.DEB.2.22.394.2404051144020.2245130@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

Xen makes assumptions about the size of integer types on the various
architectures. Document these assumptions.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v4:
- list the architectures explicitly
- add ARMv7-A
---
 docs/misra/C-language-toolchain.rst | 73 +++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index b7c2000992..5ddfe7bdbe 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -480,4 +480,77 @@ The table columns are as follows:
      - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Section "11.1 Implementation-defined behavior" of CPP_MANUAL.
 
 
+Sizes of Integer types
+______________________
+
+Xen expects System V ABI on x86_64:
+  https://gitlab.com/x86-psABIs/x86-64-ABI
+
+Xen expects AAPCS32 on ARMv8-A AArch32 and ARMv7-A:
+  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
+
+Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
+  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
+
+A summary table of data types, sizes and alignment is below:
+
+.. list-table::
+   :widths: 10 10 10 45
+   :header-rows: 1
+
+   * - Type
+     - Size
+     - Alignment
+     - Architectures
+
+   * - char 
+     - 8 bits
+     - 8 bits
+     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A, x86_64,
+       ARMv8-A AArch64, RV64, PPC64
+
+   * - short
+     - 16 bits
+     - 16 bits
+     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A, x86_64,
+       ARMv8-A AArch64, RV64, PPC64
+
+   * - int
+     - 32 bits
+     - 32 bits
+     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A, x86_64,
+       ARMv8-A AArch64, RV64, PPC64
+
+   * - long
+     - 32 bits
+     - 32 bits 
+     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A
+
+   * - long
+     - 64 bits
+     - 64 bits 
+     - x86_64, ARMv8-A AArch64, RV64, PPC64
+
+   * - long long
+     - 64-bit
+     - 32-bit
+     - x86_32
+
+   * - long long
+     - 64-bit
+     - 64-bit
+     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R
+       AArch32, ARMv7-A
+
+   * - pointer
+     - 32-bit
+     - 32-bit
+     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A
+
+   * - pointer
+     - 64-bit
+     - 64-bit
+     - x86_64, ARMv8-A AArch64, RV64, PPC64
+
+
 END OF DOCUMENT.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 05 19:26:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 19:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701372.1095789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rspCd-0001L5-4V; Fri, 05 Apr 2024 19:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701372.1095789; Fri, 05 Apr 2024 19:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rspCd-0001Ky-1K; Fri, 05 Apr 2024 19:26:19 +0000
Received: by outflank-mailman (input) for mailman id 701372;
 Fri, 05 Apr 2024 19:26: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=GKl/=LK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rspCb-0001Ks-5s
 for xen-devel@lists.xenproject.org; Fri, 05 Apr 2024 19:26:17 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d08afb8-f382-11ee-a1ef-f123f15fe8a2;
 Fri, 05 Apr 2024 21:26: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 DACFE61788;
 Fri,  5 Apr 2024 19:26:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E0D4C433F1;
 Fri,  5 Apr 2024 19:26: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: 5d08afb8-f382-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712345171;
	bh=PzSRdy3UdCT3QlQ4LZUftDBBDS4BFir75lS1Hj0h+NE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=EZLRMwIOCkQdelpOZNcuOJS3VyJeDUv49R6cKA2Wb4JP8tjzJ3c6AA9ZdUXbFNIdG
	 ZdEGL2AhUyczxK5cfWpV7s4zxNLnjAl0XmuAAiiCahGP7upuUKdfTSXv2GtqdaoGJu
	 M19824zInPYYqAjr8gLG992PBU2FwY+FTKvGBKVzZbXJtIu30nlGyUmGaSRLdFlNrI
	 +AWmqbDH7cgy4mazGk3AhFdvmycxO0Zp1lNdomLuvG+gMgizGm4VcZMvrj1HFhp83h
	 WKFCWPRftqyX8w0W/joD7s+1sn9TIMfyPplNMmF46P105Nwy6im63W5Ac2I/+r0WI0
	 YeqASvMiEZM+A==
Date: Fri, 5 Apr 2024 12:26: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>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, consulting@bugseng.com, 
    George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org, 
    Dario Faggioli <dfaggioli@suse.com>
Subject: Re: [XEN PATCH 3/7] xen/sched: address a violation of MISRA C:2012
 Rule 16.3
In-Reply-To: <627b2436-f7a0-4434-944f-5d4f173ba8ea@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404051226030.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712042178.git.federico.serafini@bugseng.com> <8f91430e37594831dd8d92ab630477be88417b49.1712042178.git.federico.serafini@bugseng.com> <28786c5b-c625-4754-980d-c9a0fdc49c37@suse.com> <0d0c8cd162a8bfed07dd374ef2dd62d4@bugseng.com>
 <alpine.DEB.2.22.394.2404041715400.2245130@ubuntu-linux-20-04-desktop> <627b2436-f7a0-4434-944f-5d4f173ba8ea@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, 5 Apr 2024, Jan Beulich wrote:
> On 05.04.2024 02:18, Stefano Stabellini wrote:
> > On Wed, 3 Apr 2024, Nicola Vetrini wrote:
> >> On 2024-04-03 08:33, Jan Beulich wrote:
> >>> On 02.04.2024 09:22, Federico Serafini wrote:
> >>>> Use pseudo-keyword fallthrough to meet the requirements to deviate
> >>>> 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/sched/credit2.c | 2 +-
> >>>>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/xen/common/sched/credit2.c b/xen/common/sched/credit2.c
> >>>> index c76330d79d..0962b52415 100644
> >>>> --- a/xen/common/sched/credit2.c
> >>>> +++ b/xen/common/sched/credit2.c
> >>>> @@ -3152,8 +3152,8 @@ static int cf_check csched2_sys_cntl(
> >>>>              printk(XENLOG_INFO "Disabling context switch rate
> >>>> limiting\n");
> >>>>          prv->ratelimit_us = params->ratelimit_us;
> >>>>          write_unlock_irqrestore(&prv->lock, flags);
> >>>> +        fallthrough;
> >>>>
> >>>> -    /* FALLTHRU */
> >>>>      case XEN_SYSCTL_SCHEDOP_getinfo:
> >>>>          params->ratelimit_us = prv->ratelimit_us;
> >>>>          break;
> >>>
> >>> Hmm, the description doesn't say what's wrong with the comment. Furthermore
> >>> docs/misra/rules.rst doesn't mention "fallthrough" at all, nor the
> >>> alternative of using comments. I notice docs/misra/deviations.rst does, and
> >>> there the specific comment used here isn't covered. That would want saying
> >>> in the description.
> >>>
> >>> Stefano (and others) - in this context it becomes noticeable that having
> >>> stuff scattered across multiple doc files isn't necessarily helpful. Other
> >>> permissible keywords are mentioned in rules.rst. The pseudo-keyword
> >>> "fallthrough" as well as comments are mentioned on deviations.rst. Could
> >>> you remind me of the reason(s) why things aren't recorded in a single,
> >>> central place?
> >>>
> >>> Jan
> >>
> >> If I recall correctly, the idea was to avoid rules.rst from getting too long
> >> and too specific about which patterns were deviated, while also having a
> >> precise record of the MISRA deviations that didn't live in ECLAIR-specific
> >> files. Maybe the use of the pseudo-keyword emerged after the rule was added to
> >> rules.rst, since deviations.rst is updated more frequently.
> > 
> > Yes exactly.
> > 
> > I agree with Jan that a single central place is easiest but we cannot
> > move everything that is in deviations.rst in the note section of the
> > rules.rst table. Of the two, it would be best to reduce the amount of
> > notes in rules.rst and move all the deviations listed in rules.rst to
> > deviations.rst. That way at least the info is present only once,
> > although they are 2 files.
> 
> Could every rules.rst section having a deviations.rst counterpart then perhaps
> have a standardized referral to there?

+1


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 19:41:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 19:41:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701375.1095798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rspRV-0004m1-CI; Fri, 05 Apr 2024 19:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701375.1095798; Fri, 05 Apr 2024 19:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rspRV-0004lu-8w; Fri, 05 Apr 2024 19:41:41 +0000
Received: by outflank-mailman (input) for mailman id 701375;
 Fri, 05 Apr 2024 19:41: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 1rspRT-0004lk-5z; Fri, 05 Apr 2024 19:41: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 1rspRS-0008PR-VM; Fri, 05 Apr 2024 19:41:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rspRS-00065t-KD; Fri, 05 Apr 2024 19:41:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rspRS-0003CU-JU; Fri, 05 Apr 2024 19:41:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7lEIpw70wD8suT6Xp7xfN68KmypuQ+NLYFnEeuSJ5gg=; b=yzyhghg2/+bT9Z/92wjJy0k1aQ
	qYOKd7TbnsY5N/tqeJ9EMUiyUkeTFErsR70yx5sj5BWuOqnuhbInKx4eYoYZANQLakFzBw827HmWH
	Os2wQHRlMh/aKzX4XL+pEtLEjcvZxtARm7Ilxs5gh4r99MStvbgCIUdTfvjL4LNUdl0E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185249-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185249: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e9b0f8b6909dcba9843250c486e80879b042fd65
X-Osstest-Versions-That:
    xen=270588b9b2b751b0bb6b36f4853cb13005e4706f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 19:41:38 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  e9b0f8b6909dcba9843250c486e80879b042fd65
baseline version:
 xen                  270588b9b2b751b0bb6b36f4853cb13005e4706f

Last test of basis   185242  2024-04-05 00:02:06 Z    0 days
Testing same since   185249  2024-04-05 15:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   270588b9b2..e9b0f8b690  e9b0f8b6909dcba9843250c486e80879b042fd65 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 22:30:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 22:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701380.1095808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rss4q-0002Qt-0r; Fri, 05 Apr 2024 22:30:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701380.1095808; Fri, 05 Apr 2024 22:30:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rss4p-0002Qm-UG; Fri, 05 Apr 2024 22:30:27 +0000
Received: by outflank-mailman (input) for mailman id 701380;
 Fri, 05 Apr 2024 22:30: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 1rss4o-0002Qc-DO; Fri, 05 Apr 2024 22:30: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 1rss4o-00038E-9S; Fri, 05 Apr 2024 22:30: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 1rss4n-000654-Tv; Fri, 05 Apr 2024 22:30:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rss4n-0000wi-TN; Fri, 05 Apr 2024 22:30: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=5dOHzaxWnzdSI5vGl5rjqieleNRltLaa3+G/7JG0Rb0=; b=VZhL+Kkl5H0fUsz17O9PwRQpCz
	Y+mDtcs+20NBkYhbkyy97Bs88dqq3dWDBnH7OBZwX34nILJYp1YEdKwZ7gqva/Y7L+K80FauZdBBA
	p9nrle0r85LIzXU9AyVLO0WiPKGctzoGsb9O1Jxk1Jrb/72wV3ZBJtImmEu8AgDyJKsI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185251-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185251: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
X-Osstest-Versions-That:
    xen=e9b0f8b6909dcba9843250c486e80879b042fd65
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 22:30:25 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  402c2d3e66a6bc9481dcabfc8697750dc4beabed
baseline version:
 xen                  e9b0f8b6909dcba9843250c486e80879b042fd65

Last test of basis   185249  2024-04-05 15:00:24 Z    0 days
Testing same since   185251  2024-04-05 20:04:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e9b0f8b690..402c2d3e66  402c2d3e66a6bc9481dcabfc8697750dc4beabed -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 05 23:23:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 05 Apr 2024 23:23:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701387.1095826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rssuK-00016O-Mc; Fri, 05 Apr 2024 23:23:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701387.1095826; Fri, 05 Apr 2024 23:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rssuK-00016H-Jw; Fri, 05 Apr 2024 23:23:40 +0000
Received: by outflank-mailman (input) for mailman id 701387;
 Fri, 05 Apr 2024 23:23: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 1rssuJ-000167-Kb; Fri, 05 Apr 2024 23:23: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 1rssuJ-0004PL-Ii; Fri, 05 Apr 2024 23:23: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 1rssuJ-0001Da-6s; Fri, 05 Apr 2024 23:23:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rssuJ-0005jO-6P; Fri, 05 Apr 2024 23:23: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=f57SQXIhaNIJfTys/TTew3ulpgQGsxYOnmGbeEoopJM=; b=pckVG+ytIweV5VODn/jPHkRvEP
	KG/n57yVuycnLsYcK1y7xWasjUTD9rrBns776b1Ek6uVBRwt0zAJhir/YdVhfV0FK0LnYCqHCZbZi
	NQ9ue2PcAU4Bey02fojC21BRwBzUpFy6v5UExrT7CrUcYGYyjAqFsPNjlc2dpsLbXuec=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185246-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185246: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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
    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=270588b9b2b751b0bb6b36f4853cb13005e4706f
X-Osstest-Versions-That:
    xen=6eeb3e86bdfa55874f4c44527551e9b82125dc83
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 05 Apr 2024 23:23:39 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185241  2024-04-04 21:07:19 Z    1 days
Testing same since   185246  2024-04-05 07:48:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   6eeb3e86bd..270588b9b2  270588b9b2b751b0bb6b36f4853cb13005e4706f -> master


From xen-devel-bounces@lists.xenproject.org Sat Apr 06 02:55:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Apr 2024 02:55:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701398.1095840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rswD9-0002lv-6a; Sat, 06 Apr 2024 02:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701398.1095840; Sat, 06 Apr 2024 02: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 1rswD9-0002lo-1d; Sat, 06 Apr 2024 02:55:19 +0000
Received: by outflank-mailman (input) for mailman id 701398;
 Sat, 06 Apr 2024 02:55: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 1rswD8-0002le-D4; Sat, 06 Apr 2024 02:55: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 1rswD7-00080K-QB; Sat, 06 Apr 2024 02:55: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 1rswD7-0002Du-Cd; Sat, 06 Apr 2024 02:55:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rswD7-00061T-CD; Sat, 06 Apr 2024 02:55:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RIa6fbj8VtJ45134XyEQHeaqxf/yItIVT3ELAJFWztA=; b=Jr6db+fCXEhaDO2uCXAnkRp4NC
	zUoZoMHOh6DSZyXnNTABQkuskLeDolikyXq4idpQxVGxIOtsZCc4QHYMavN2gN9PTE6CS2ZA0zJGV
	aqbl5O7jRhCS2wKB/20i4D8LB/SiStQ1Zia7r2cnx+CyFKugPjJAKSMT5lqpI7bH360Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185247-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185247: 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: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-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-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-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
X-Osstest-Versions-This:
    linux=8cb4a9a82b21623dbb4b3051dd30d98356cf95bc
X-Osstest-Versions-That:
    linux=3e92c1e6cd876754b64d1998ec0a01800ed954a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Apr 2024 02:55:17 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 linux                8cb4a9a82b21623dbb4b3051dd30d98356cf95bc
baseline version:
 linux                3e92c1e6cd876754b64d1998ec0a01800ed954a6

Last test of basis   185228  2024-04-03 14:39:38 Z    2 days
Failing since        185232  2024-04-03 23:42:55 Z    2 days    4 attempts
Testing same since   185243  2024-04-05 04:01:33 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alexei Starovoitov <ast@kernel.org>
  Andrii Nakryiko <andrii@kernel.org>
  Antoine Tenart <atenart@kernel.org>
  Anton Protopopov <aspsk@isovalent.com>
  Anup Patel <anup@brainfault.org>
  Anup Patel <apatel@ventanamicro.com>
  Ard Biesheuvel <ardb@kernel.org>
  Ashish Kalra <ashish.kalra@amd.com>
  Atlas Yu <atlas.yu@canonical.com>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Borislav Petkov (AMD) <bp@alien8.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Clayton Craft <clayton@craftyguy.net>
  Colin Ian King <colin.i.king@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Thompson <davthompson@nvidia.com>
  Davide Caratti <dcaratti@redhat.com>
  Dima Ruinskiy <dima.ruinskiy@intel.com>
  Duanqiang Wen <duanqiangwen@net-swift.com>
  Duoming Zhou <duoming@zju.edu.cn>
  Eric Dumazet <edumazet@google.com>
  Geliang Tang <tanggeliang@kylinos.cn>
  Greg Thelen <gthelen@google.com>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Haiyang Zhang <haiyangz@microsoft.com>
  Hans de Goede <hdegoede@redhat.com>
  Hariprasad Kelam <hkelam@marvell.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Horatiu Vultur <horatiu.vultur@microchip.com>
  Hui Wang <hui.wang@canonical.com>
  Ingo Molnar <mingo@kernel.org>
  Ivan Vecera <ivecera@redhat.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jeff Layton <jlayton@kernel.org>
  Jesper Dangaard Brouer <hawk@kernel.org>
  Jiri Olsa <jolsa@kernel.org>
  Joan Bruguera Micó <joanbrugueram@gmail.com>
  Johan Hovold <johan+linaro@kernel.org>
  John Ernberg <john.ernberg@actia.se>
  John Fastabend <john.fastabend@gmail.com>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Joshua Hay <joshua.a.hay@intel.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krishneil Singh <krishneil.k.singh@intel.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukasz Majewski <lukma@denx.de>
  Maarten Vanraes <maarten@rmail.be>
  Mahmoud Adam <mngyadam@amazon.com>
  Marc Zyngier <maz@kernel.org>
  Marco Pinna <marco.pinn95@gmail.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Michael Krummsdorf <michael.krummsdorf@tq-group.com>
  Naama Meir <naamax.meir@linux.intel.com>
  Natanael Copa <ncopa@alpinelinux.org>
  Nikita Kiryushin <kiryushin@ancud.ru>
  Nikita Travkin <nikita@trvn.ru> # sc7180
  Nir Efrati <nir.efrati@intel.com>
  Oliver Upton <oliver.upton@linux.dev>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Moore <paul@paul-moore.com>
  Pavan Kumar Linga <pavan.kumar.linga@intel.com>
  Petr Oros <poros@redhat.com>
  Phil Elwell <phil@raspberrypi.com>
  Piotr Wejman <piotrwejman90@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Rafal Romanowski <rafal.romanowski@intel.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Salvatore Daniele <sdaniele@redhat.com>
  Sean Christopherson <seanjc@google.com>
  Shung-Hsi Yu <shung-hsi.yu@suse.com>
  Su Hui <suhui@nfschina.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Tariq Toukan <tariqt@nvidia.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Vitaly Lifshits <vitaly.lifshits@intel.com>
  Wei Fang <wei.fang@nxp.com>
  Will Deacon <will@kernel.org>
  William Tu <witu@nvidia.com>
  Wujie Duan <wjduan@linx-info.com>
  Xiaoyao Li <xiaoyao.li@intel.com>
  Yonghong Song <yonghong.song@linux.dev>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   3e92c1e6cd87..8cb4a9a82b21  8cb4a9a82b21623dbb4b3051dd30d98356cf95bc -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Apr 06 10:13:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Apr 2024 10:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701451.1095874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rt32j-0006kx-UB; Sat, 06 Apr 2024 10:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701451.1095874; Sat, 06 Apr 2024 10: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 1rt32j-0006ke-OP; Sat, 06 Apr 2024 10:13:01 +0000
Received: by outflank-mailman (input) for mailman id 701451;
 Sat, 06 Apr 2024 10:13: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 1rt32i-0006kU-IS; Sat, 06 Apr 2024 10:13: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 1rt32i-0000cl-Gw; Sat, 06 Apr 2024 10:13: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 1rt32i-000093-5z; Sat, 06 Apr 2024 10:13:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rt32i-0001fn-4o; Sat, 06 Apr 2024 10:13: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=aLxIy8lO6HT7QiIRo3yB1eC+BceL/9Os+0wWz20tmPE=; b=ZTspfGGl/0I66NoEDn6glW94nn
	nGyBEqtdbHtDxHVSVFwqlyYN+jHEbpJryenL3IH6EzkfVvrUhbDiPgMVvPGOUZ74rE+y+f80Fe3s/
	qnpXuuOxKjxaSz0+3o1HDZA1LANCc2vwJN/P7Yqpqeihdo1BvO5qMyDKd6/kW5Dq0kS4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185253-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185253: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    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: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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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
    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=402c2d3e66a6bc9481dcabfc8697750dc4beabed
X-Osstest-Versions-That:
    xen=270588b9b2b751b0bb6b36f4853cb13005e4706f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 06 Apr 2024 10:13:00 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit2   8 xen-boot            fail pass in 185261-retest
 test-amd64-amd64-qemuu-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 185261-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 185261 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 185261 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185246
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185246
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185246
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185246
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185246
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185246
 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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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                  402c2d3e66a6bc9481dcabfc8697750dc4beabed
baseline version:
 xen                  270588b9b2b751b0bb6b36f4853cb13005e4706f

Last test of basis   185246  2024-04-05 07:48:21 Z    1 days
Testing same since   185253  2024-04-05 23:37:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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                                  fail    
 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
   270588b9b2..402c2d3e66  402c2d3e66a6bc9481dcabfc8697750dc4beabed -> master


From xen-devel-bounces@lists.xenproject.org Sat Apr 06 10:36:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Apr 2024 10:36:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701465.1095885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rt3Ot-0001OC-RE; Sat, 06 Apr 2024 10:35:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701465.1095885; Sat, 06 Apr 2024 10: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 1rt3Ot-0001O5-Ml; Sat, 06 Apr 2024 10:35:55 +0000
Received: by outflank-mailman (input) for mailman id 701465;
 Sat, 06 Apr 2024 10:35:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Kac=LL=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1rt3Os-0001Nx-5C
 for xen-devel@lists.xenproject.org; Sat, 06 Apr 2024 10:35:54 +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 705ef193-f401-11ee-a1ef-f123f15fe8a2;
 Sat, 06 Apr 2024 12:35:51 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a51a742c273so151723266b.1
 for <xen-devel@lists.xenproject.org>; Sat, 06 Apr 2024 03:35:51 -0700 (PDT)
Received: from [127.0.0.1] (dynamic-077-013-220-023.77.13.pool.telefonica.de.
 [77.13.220.23]) by smtp.gmail.com with ESMTPSA id
 og42-20020a1709071dea00b00a4e657a5f1asm1860284ejc.112.2024.04.06.03.35.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 06 Apr 2024 03:35: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: 705ef193-f401-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712399751; x=1713004551; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UTzEXs39efSP0D1vIf8LgwE3n50e92VC9ryCdX6S+WA=;
        b=mcl12uxuGW+VvWgYor+Jvds6FDL+0W34mcM+t5IP2hcg33FAryzNzYBGCXSJcXK3CG
         wkAYSXfBTUB8T+lBaPFtybtruR/IUvdmHjFCfzXqEH4Nx6EWIqzRs/qysVVnCMtRcQtm
         L1Fv+Rw58eOT/lKQxZhNtBhsq2ETJPC863u8sDk+oQa9fRPKKyM50RE0MGo3SV4eZl4H
         q1KcVnYgTKQyv7BkLw11OjCRqdJQGu0yDt8GmexjPD7eDly4KTzONQjj1UWByFCgPze/
         p+iwXKyXDNHm9ZXqF/aaoYD+Ggktl8ibAnNb3qu4Doajz5YVmhCcGjAg8I9tIFSKNqof
         z/1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712399751; x=1713004551;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UTzEXs39efSP0D1vIf8LgwE3n50e92VC9ryCdX6S+WA=;
        b=oSZu1ZRizD0t7kdlTVRXBjUQbGqQGz73ihgqMBD6A7ORGTaZ1Lk+zcV30BOm/9vL49
         r3YI/yfdTzyvEPAEzPHSqFbFSBVEK0qZvjTGzIm8c9ulhAR0l1cTV5H0DYGAKdcToAxG
         TbRSuPJzRsSUF6n0xqBZ84k1iQr66JUWgfGwrMRl5eh6xxezzYw0T9vDqgV/ZgMWT0I2
         Rr7aSJNNd/pmVhCEwMx5YIBTkErOV1dJAK+VU1MOmEbsbjIYrGSQFCQlbmKjprNljSqs
         /ZADUOQ3QZ6TjzqkJojNfdZZsaUwQNeQYN438d4GomzKypmZMnEXqzpdBub3+ybc+TNq
         pFSw==
X-Forwarded-Encrypted: i=1; AJvYcCXu4I7u8qog5S2hhpE74xOWWyQEdMiQTDo+85T+HbMokektU7P0FQezZiXnTFncVZXXP3R3hnSEtCKFqY/nji7kX4VSojhkJ6i5FkBA+CA=
X-Gm-Message-State: AOJu0YzQBhEEyrDJnwvKPI/OjV5fugyW/12UFiou/67rg4mSp2k5fTAU
	bRlImwEPrELiDQCFY8QqwO9hDl5A89Q3fVejHLyw+Hgba4HKadNn
X-Google-Smtp-Source: AGHT+IGbcRVdg5kMQaFwVbyuLd1okzwpm7IOgExQ3yqwmajrZzwx+/t0cPkPqlZ5tPPZxtOgSNqS/A==
X-Received: by 2002:a17:906:2488:b0:a46:8daa:436f with SMTP id e8-20020a170906248800b00a468daa436fmr2432052ejb.69.1712399750635;
        Sat, 06 Apr 2024 03:35:50 -0700 (PDT)
Date: Sat, 06 Apr 2024 10:35:45 +0000
From: Bernhard Beschow <shentey@gmail.com>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
CC: Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Thomas Huth <thuth@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 "Michael S. Tsirkin" <mst@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Igor Mammedov <imammedo@redhat.com>,
 Anthony Perard <anthony.perard@citrix.com>, Ani Sinha <anisinha@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BRFC_PATCH-for-9=2E1_13/29=5D_hw/i386/pc=3A_Remo?=
 =?US-ASCII?Q?ve_non-PCI_code_from_pc=5Fsystem=5Ffirmware=5Finit=28=29?=
In-Reply-To: <20240328155439.58719-14-philmd@linaro.org>
References: <20240328155439.58719-1-philmd@linaro.org> <20240328155439.58719-14-philmd@linaro.org>
Message-ID: <857F87E8-3876-4083-A1D0-F867649582A9@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Am 28=2E M=C3=A4rz 2024 15:54:21 UTC schrieb "Philippe Mathieu-Daud=C3=A9"=
 <philmd@linaro=2Eorg>:
>x86_bios_rom_init() is the single non-PCI-machine call
>from pc_system_firmware_init()=2E Extract it to the caller=2E
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>
>---
> hw/i386/pc=2Ec       | 6 +++++-
> hw/i386/pc_sysfw=2Ec | 5 +----
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
>diff --git a/hw/i386/pc=2Ec b/hw/i386/pc=2Ec
>index f184808e3e=2E=2E5b96daa414 100644
>--- a/hw/i386/pc=2Ec
>+++ b/hw/i386/pc=2Ec
>@@ -956,7 +956,11 @@ void pc_memory_init(PCMachineState *pcms,
>     }
>=20
>     /* Initialize PC system firmware */
>-    pc_system_firmware_init(pcms, rom_memory);
>+    if (pci_enabled) {
>+        pc_system_firmware_init(pcms, rom_memory);
>+    } else {
>+        x86_bios_rom_init(machine, "bios=2Ebin", rom_memory, true);
>+    }
>=20
>     option_rom_mr =3D g_malloc(sizeof(*option_rom_mr));
>     memory_region_init_ram(option_rom_mr, NULL, "pc=2Erom", PC_ROM_SIZE,
>diff --git a/hw/i386/pc_sysfw=2Ec b/hw/i386/pc_sysfw=2Ec
>index 862a082b0a=2E=2E541dcaef71 100644
>--- a/hw/i386/pc_sysfw=2Ec
>+++ b/hw/i386/pc_sysfw=2Ec
>@@ -202,10 +202,7 @@ void pc_system_firmware_init(PCMachineState *pcms,
>     int i;
>     BlockBackend *pflash_blk[ARRAY_SIZE(pcms->flash)];
>=20
>-    if (!pc_machine_is_pci_enabled(pcms)) {
>-        x86_bios_rom_init(MACHINE(pcms), "bios=2Ebin", rom_memory, true)=
;
>-        return;
>-    }
>+    assert(pc_machine_is_pci_enabled(pcms));

AFAICS nothing refers to pci in the whole file any longer=2E The only reas=
on for checking pci_enabled before seems for filtering out the x86_bios_rom=
_init() case=2E This has been moved to the caller=2E Can we thus drop the a=
ssert? This allows for further removal of code in this patch and avoids sup=
erficial barriers for reusing this code=2E Or do I miss something?

Anyway, this patch looks like good material on its own and could be tagged=
 independently=2E

With dropping the assert considered:
Reviewed-by: Bernhard Beschow <shentey@gmail=2Ecom>

>=20
>     /* Map legacy -drive if=3Dpflash to machine properties */
>     for (i =3D 0; i < ARRAY_SIZE(pcms->flash); i++) {


From xen-devel-bounces@lists.xenproject.org Sat Apr 06 10:38:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Apr 2024 10:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701467.1095894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rt3RV-0001xK-6A; Sat, 06 Apr 2024 10:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701467.1095894; Sat, 06 Apr 2024 10:38:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rt3RV-0001xD-3A; Sat, 06 Apr 2024 10:38:37 +0000
Received: by outflank-mailman (input) for mailman id 701467;
 Sat, 06 Apr 2024 10:38:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Kac=LL=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1rt3RT-0001x0-8w
 for xen-devel@lists.xenproject.org; Sat, 06 Apr 2024 10:38:35 +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 d1513347-f401-11ee-afe6-a90da7624cb6;
 Sat, 06 Apr 2024 12:38:34 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a51a20a6041so180930766b.0
 for <xen-devel@lists.xenproject.org>; Sat, 06 Apr 2024 03:38:34 -0700 (PDT)
Received: from [127.0.0.1] (dynamic-077-013-220-023.77.13.pool.telefonica.de.
 [77.13.220.23]) by smtp.gmail.com with ESMTPSA id
 nb33-20020a1709071ca100b00a4628cacad4sm1870100ejc.195.2024.04.06.03.38.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 06 Apr 2024 03:38: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: d1513347-f401-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712399913; x=1713004713; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=katZgpXheBWu/q6Hj0m0PLK3Zp+Dqpr33WEzx5gAdMI=;
        b=b43Nr3pcOSKb/4TZMK/IbNvJdfiYJzERWWeuSzJJsm3z1jX708yeFg1sc2bDnG31sy
         v4wBBGs7WznUOhathOJBv/r6E+xbqVmTIBpC/hJqqFQTR/7gzkQd7v2L3DMNj1NsBcLz
         ugVTB5aRkQuHWylVQUcSYRFkQyvE92Gq/70q+lyAsDDdl2TT2shBMZCGkmt0uPw9tdZx
         PDvvkHZ0Mbu4mL3dBLnuKzaFpReRKvoev/r7mGtbemEec7himKfGkf0Qh78Xa+veBolE
         kOie7Zk/rANgdQn+n1k3y8f+l1hZ4cYVjWs1m0uQv9BfqhBui8eTeFpDZPBs8h/wz3dq
         hX6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712399913; x=1713004713;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=katZgpXheBWu/q6Hj0m0PLK3Zp+Dqpr33WEzx5gAdMI=;
        b=Gjbs1rnlCy4zwLU+RqyCovYudaLzvWp8mBT9HPJBzLrmQR58EghKRerlLUDCv8miwG
         t5Voe8/t7P0+Oh4oTDHkZOAcJJM5q6S9SyBRHJhht7G73lCPIgLqpZwcn7TWR3zAuMil
         xs6BCR+dPbukrMhzsCghd+zwUyNSdlmVoRQaqHOYLczW9umu1BH1AaADyEexso7F5hY6
         o3U1bTOFjuFEqP9S20YE3VUA5G9kpwtvOHbAzn1zaWVINgP4e6V5JKCkmlOD5AtvuQKd
         dPdDRSJnFi7NXstEZutR5Nf1/+ZKKXdk08AFo4mx/7TAaqurjSECbHqDa3uTu4wOwci3
         P4Bg==
X-Forwarded-Encrypted: i=1; AJvYcCUEuvsQBKQ3eDmX713/tZ7O2mcktx28+gEbVat85Kg7oacp4mtGkq/hRcHhPVIqStdrdj0uFeofHWYwzy5u+Cwv4lBVLAqbzG1I+igRcDo=
X-Gm-Message-State: AOJu0YylGmN5137wfYpcoRZnyhgV/mnl5FONy2O4tXT6Jjm7MKzQMUUb
	J4n/iwFawW62q6KUtfvHXGIRPjMNNDNmcqFNrMbzFtWwT37N07lZ
X-Google-Smtp-Source: AGHT+IE37mkMY75cSujzRGF6ERkZ9H+hOCgYE/IiYgC0qWxnHTAEtopYDUeK2NRAdz/uFiOlMmqlhg==
X-Received: by 2002:a17:906:3546:b0:a51:7b86:671e with SMTP id s6-20020a170906354600b00a517b86671emr2304903eja.8.1712399913278;
        Sat, 06 Apr 2024 03:38:33 -0700 (PDT)
Date: Sat, 06 Apr 2024 10:38:30 +0000
From: Bernhard Beschow <shentey@gmail.com>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org
CC: Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Thomas Huth <thuth@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 "Michael S. Tsirkin" <mst@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Igor Mammedov <imammedo@redhat.com>,
 Anthony Perard <anthony.perard@citrix.com>, Ani Sinha <anisinha@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BRFC_PATCH-for-9=2E1_09/29=5D_hw/i386/pc=3A_P?=
 =?US-ASCII?Q?ass_PCMachineState_argument_to_acpi=5Fsetup=28=29?=
In-Reply-To: <20240328155439.58719-10-philmd@linaro.org>
References: <20240328155439.58719-1-philmd@linaro.org> <20240328155439.58719-10-philmd@linaro.org>
Message-ID: <B476D63B-DE8E-4DB0-A876-ADC61B08D5A3@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Am 28=2E M=C3=A4rz 2024 15:54:17 UTC schrieb "Philippe Mathieu-Daud=C3=A9"=
 <philmd@linaro=2Eorg>:
>acpi_setup() caller knows about the machine state, so pass
>it as argument to avoid a qdev_get_machine() call=2E
>
>We already resolved X86_MACHINE(pcms) as 'x86ms' so use the
>latter=2E
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>

This patch looks like good material on its own=2E

Reviewed-by: Bernhard Beschow <shentey@gmail=2Ecom>

>---
> hw/i386/acpi-build=2Eh | 3 ++-
> hw/i386/acpi-build=2Ec | 5 ++---
> hw/i386/pc=2Ec         | 2 +-
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
>diff --git a/hw/i386/acpi-build=2Eh b/hw/i386/acpi-build=2Eh
>index 0dce155c8c=2E=2E31de5bddbd 100644
>--- a/hw/i386/acpi-build=2Eh
>+++ b/hw/i386/acpi-build=2Eh
>@@ -2,6 +2,7 @@
> #ifndef HW_I386_ACPI_BUILD_H
> #define HW_I386_ACPI_BUILD_H
> #include "hw/acpi/acpi-defs=2Eh"
>+#include "hw/i386/pc=2Eh"
>=20
> extern const struct AcpiGenericAddress x86_nvdimm_acpi_dsmio;
>=20
>@@ -9,7 +10,7 @@ extern const struct AcpiGenericAddress x86_nvdimm_acpi_d=
smio;
> #define ACPI_PCIHP_SEJ_BASE 0x8
> #define ACPI_PCIHP_BNMR_BASE 0x10
>=20
>-void acpi_setup(void);
>+void acpi_setup(PCMachineState *pcms);
> Object *acpi_get_i386_pci_host(void);
>=20
> #endif
>diff --git a/hw/i386/acpi-build=2Ec b/hw/i386/acpi-build=2Ec
>index 6e8e32e5d2=2E=2Ee702d5e9d2 100644
>--- a/hw/i386/acpi-build=2Ec
>+++ b/hw/i386/acpi-build=2Ec
>@@ -2749,9 +2749,8 @@ static const VMStateDescription vmstate_acpi_build =
=3D {
>     },
> };
>=20
>-void acpi_setup(void)
>+void acpi_setup(PCMachineState *pcms)
> {
>-    PCMachineState *pcms =3D PC_MACHINE(qdev_get_machine());
>     X86MachineState *x86ms =3D X86_MACHINE(pcms);
>     AcpiBuildTables tables;
>     AcpiBuildState *build_state;
>@@ -2771,7 +2770,7 @@ void acpi_setup(void)
>         return;
>     }
>=20
>-    if (!x86_machine_is_acpi_enabled(X86_MACHINE(pcms))) {
>+    if (!x86_machine_is_acpi_enabled(x86ms)) {
>         ACPI_BUILD_DPRINTF("ACPI disabled=2E Bailing out=2E\n");
>         return;
>     }
>diff --git a/hw/i386/pc=2Ec b/hw/i386/pc=2Ec
>index 6d87d1d4c2=2E=2Edfc0247bb6 100644
>--- a/hw/i386/pc=2Ec
>+++ b/hw/i386/pc=2Ec
>@@ -601,7 +601,7 @@ void pc_machine_done(Notifier *notifier, void *data)
>     /* set the number of CPUs */
>     x86_rtc_set_cpus_count(x86ms->rtc, x86ms->boot_cpus);
>=20
>-    acpi_setup();
>+    acpi_setup(pcms);
>     if (x86ms->fw_cfg) {
>         fw_cfg_build_smbios(pcms, x86ms->fw_cfg, pcms->smbios_entry_poin=
t_type);
>         fw_cfg_build_feature_control(MACHINE(pcms), x86ms->fw_cfg);


From xen-devel-bounces@lists.xenproject.org Sat Apr 06 10:58:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 06 Apr 2024 10:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701472.1095904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rt3kO-0004zt-KY; Sat, 06 Apr 2024 10:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701472.1095904; Sat, 06 Apr 2024 10: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 1rt3kO-0004zm-HU; Sat, 06 Apr 2024 10:58:08 +0000
Received: by outflank-mailman (input) for mailman id 701472;
 Sat, 06 Apr 2024 10:58:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AnvA=LL=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1rt3kM-0004zf-VH
 for xen-devel@lists.xenproject.org; Sat, 06 Apr 2024 10:58:06 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b0cb7f4-f404-11ee-a1ef-f123f15fe8a2;
 Sat, 06 Apr 2024 12:58:04 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-33ddd1624beso1670675f8f.1
 for <xen-devel@lists.xenproject.org>; Sat, 06 Apr 2024 03:58:04 -0700 (PDT)
Received: from ?IPV6:2a00:23c7:df82:3001:2982:11d0:133d:ad80?
 ([2a00:23c7:df82:3001:2982:11d0:133d:ad80])
 by smtp.gmail.com with ESMTPSA id
 q13-20020a056000136d00b00343e3023fbasm3947358wrz.34.2024.04.06.03.58.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 06 Apr 2024 03:58:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b0cb7f4-f404-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712401084; x=1713005884; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YlXHqLaoVrNy3ounRRsAuneHu1Iwc/5dL8h81UCpCfQ=;
        b=TxZ6vvB6uP3pIX7yXvFDzk2JzRYvTUL/QybM0llUXead6g6GWpWD6ak5I2wjy3Bpkk
         CQZ09elh9NfTLIYChupLtvH+9kuyzrmsF8kR1W7F5K7PzwX93T58jLdh20q5eGpyFGED
         kzmU3yjRItm9C7sbwRu+zoRxe6h+n5s9Onea6XRrfQbhEXf6OqI2ZsyE3Cwb5KK6S8ty
         NaPaTnDPH1syVkkm+tuD12ZlIqWjrgK8Cif5sOac4USqzsVcsguONYF1F6bQXpegVXjn
         mwNA4oFuq8JZvGSggF49diERUpVe1HIxOr6BrRLEPZdJbBNr/Qn991q3sJd+zvlbijLv
         NDlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712401084; x=1713005884;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=YlXHqLaoVrNy3ounRRsAuneHu1Iwc/5dL8h81UCpCfQ=;
        b=OHHvYlrj3bF6uJKa88WSlAD1ZepcDVRIdfuo6m0HbPGykk3Mcb01uyqKl0iBm5ovOv
         tFke8Gajl7jeTmR5OwyOkHFT9ZgjktlHPKYuMgCVD9op12s50APkHOzd+aRbKmMDMF7C
         9AOysq9ptT3b4rrZA6GOHY9zmozG9eoSXUB3w6C0mDP1Zz52aRX1HzG++Rsfu2h73rCC
         Ea7x14rwn8keEBEI4vkjZV/BIhD/0xpPuKzPWQkZSjdSDTy+EIa6brlNSbnvI4yKs0+K
         fcKi3JqnEBIHkSA7M5NzikfC0hKR2iBHSIFI/XvUI0U+W5kOcObI84SFNfOcuMSMeVac
         KAjg==
X-Gm-Message-State: AOJu0YwSRG0H5MnUaV3xRh+bc7fWqnIcNGfl+KPlC+Jiw/2E8X//Q08+
	+F8HaJ1IYP2I0Oht4LBqfNpVxSA9FHWGrVhddJXdXPtpioymE8yL
X-Google-Smtp-Source: AGHT+IEeI+13HH/wqUs0OoOPW8rciLlYfdxc9/JnvD5dOjAifTJGvFuJZptctNLF+G7A+kXYe2p2MA==
X-Received: by 2002:a05:6000:ac2:b0:33e:710a:b699 with SMTP id di2-20020a0560000ac200b0033e710ab699mr3701156wrb.9.1712401083825;
        Sat, 06 Apr 2024 03:58:03 -0700 (PDT)
Message-ID: <6fad8151-4bde-4a02-96fb-27b99d93757f@gmail.com>
Date: Sat, 6 Apr 2024 11:58:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
Cc: xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
References: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
Content-Language: en-US
From: "Durrant, Paul" <xadimgnik@gmail.com>
In-Reply-To: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 04/04/2024 15:08, Ross Lagerwall wrote:
> A malicious or buggy guest may generated buffered ioreqs faster than
> QEMU can process them in handle_buffered_iopage(). The result is a
> livelock - QEMU continuously processes ioreqs on the main thread without
> iterating through the main loop which prevents handling other events,
> processing timers, etc. Without QEMU handling other events, it often
> results in the guest becoming unsable and makes it difficult to stop the
> source of buffered ioreqs.
> 
> To avoid this, if we process a full page of buffered ioreqs, stop and
> reschedule an immediate timer to continue processing them. This lets
> QEMU go back to the main loop and catch up.
> 

Do PV backends potentially cause the same scheduling issue (if not using 
io threads)?

> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> ---
>   hw/xen/xen-hvm-common.c | 26 +++++++++++++++++---------
>   1 file changed, 17 insertions(+), 9 deletions(-)
> 

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



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 02:44:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 02:44:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701531.1095914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtIVX-0008Bj-LP; Sun, 07 Apr 2024 02:43:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701531.1095914; Sun, 07 Apr 2024 02:43:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtIVX-0008Bb-Ff; Sun, 07 Apr 2024 02:43:47 +0000
Received: by outflank-mailman (input) for mailman id 701531;
 Sun, 07 Apr 2024 02:43:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=908l=LM=nxp.com=peng.fan@srs-se1.protection.inumbo.net>)
 id 1rtIVV-0008BV-6n
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 02:43:45 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20700.outbound.protection.outlook.com
 [2a01:111:f403:260d::700])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a503a10f-f488-11ee-afe6-a90da7624cb6;
 Sun, 07 Apr 2024 04:43:42 +0200 (CEST)
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11)
 by VI1PR04MB7197.eurprd04.prod.outlook.com (2603:10a6:800:129::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Sun, 7 Apr
 2024 02:43:39 +0000
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Sun, 7 Apr 2024
 02:43: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: a503a10f-f488-11ee-afe6-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SMj4WwWS4B40CIFjYegLtJq0lXVTvYyhC6wfKJLWFajDbtECNXiR62T+IQdW/Ea1Moji37jUJyJMRP5kULMvFf+agCxRAtPQ8K6B5Vf/KWwzFPbM2HACs9DNj1hAtvrFH7cXr8mLufRazx3bQc7tILHuujD7aA5rBZzFBXyLPih8aawYIzxq/BAgEP7AZ/zyipmLQiW1bHzASwOpUj/RTSAueDIL/vC15sl+UMBYvhYubw8i/RchkACB5GBWUMbf7QBYji8+LqopNo+MJczutTZPihUKsliFfrxmtdlbLlL+k2eHxWrA5R73dudFs2d2+Gh4sLvKfeM//KIRk5yi9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KdU+OIeAM0D74nPdB4MwfzWsl1s91UovzbSQ0TToe+M=;
 b=PrFafbyJJrLJf/VULjFfC+JfyzFRsk5bnM7/FSo520Bmyo/JlzDKhxE/YcTtquLDirrvfUtMXHOt0QzPeBgQaJ0nanse1cNUFFdvo7/Q3Ez2WO8hiZLEK202P9q91KAFpkMfoaIUUIGnnUAdzBpfghvksjw/BxKOh/BP50CxPN+ESYWiaZie63PsWKejUvFK9mkF8vfPXCZY169ahJP4YiUqFzcJZOYf70xsKm5oxyI/FSHdkWOhPBxYKHs+dIks+b1janSdPuMnOw6jse95AtXOrgGzsNGuub1KquG4cUSZDPnHnQEiLldcF/Pujw9AZ/KF4B7AbDsIt6kSE2iCEg==
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=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KdU+OIeAM0D74nPdB4MwfzWsl1s91UovzbSQ0TToe+M=;
 b=p3TWUvWgaLivQgY9Nalnkc+k8iUQGmo1y4rpF539KWlBqj0qS4X5OWkDyBWVM9+H0M5ogxvmtAva2fMWiVgo2B9M4PCM99yZnqEi5xWynrAg6yUruu+oyG7BDVZl2r0XoZ3plUlvXLjGldMcGBdCYPym1LCZW4TI2U0+6O81pGI=
From: Peng Fan <peng.fan@nxp.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 2/2] xen/arm: Add i.MX UART driver
Thread-Topic: [PATCH 2/2] xen/arm: Add i.MX UART driver
Thread-Index: AQHahPYzLeSCkpjHAECKKkM2b3qxQLFcIEsw
Date: Sun, 7 Apr 2024 02:43:39 +0000
Message-ID:
 <DU0PR04MB94177A1E6DF1689353FD447C88012@DU0PR04MB9417.eurprd04.prod.outlook.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
 <20240402120557.1822253-3-olekstysh@gmail.com>
In-Reply-To: <20240402120557.1822253-3-olekstysh@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DU0PR04MB9417:EE_|VI1PR04MB7197:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 XR3dG7grTy8WVmeybDWsH+OXYx4cgF/sn4lEmW17hIoSAMXlAWC6TrxVtHlNfGprQGXeW//fvKnqUUOfYC/IIHcIjztb3vMtMd125VJrLWXY5IaEPnXiNsiJpiO8mV508SX4xpmAY1BptvM/s+eOmFBqpnMN6bvLmW5kh7+BphfLcdb7uSsP5zNtj77I+xUXzhQDkvlUVOBSmn5kCUfkd4UMt1yjPcT61rYF3GGXhuZ4m2N44y1NOleIV3nOtXULN6tZZRLYgQSLT/uZ4tTKKwNBvpPlNANimgOBkdqTG7CJjGBmGWz7C0HHf6e1HSJZIbVwO8n56cSCjRK0mHmAlAoDfHIU9Rjh8xJTGYk9st8VXqpZ5bpaiEOFXNYILj8j7xer8Y5aUPQgZSgcLtrHaed+uSvIFoXgsUHifkBsqwlUg7TQIxYKBulBEhj8yzHwJaqkJ1pgopWNoxcdPynmb1f0f5SSQQk7aXnOdr/s1jTuD6dH6T+DyaDmHx4SMuq1G1OYZJOF1eRESW9F0zcZObzXXmcuyZIs+gFfR2IFg7ZSsIacN6f7Sl/cgZnRR9ZnvQypdsqIXs1xUkUWcKFsLxSKmexqdujvG0MtIoftM3ZJ/c07uO0C7SYCZP14OQQH8HqCpYd1tzRzvN2vV28+gGAyagPKXJB6Z8T/luJl/rM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7416005)(366007)(376005)(1800799015);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?scSjjgw/WMF/p1p/qEUuRQNSMOjgr+yQrjRiYhe92Am8WF8bLx4OmgH+ZHZV?=
 =?us-ascii?Q?Azj3QUmdJ8l83o4J2sGA1gfSmIGuNAKF9QMQEqrTPKYOdYXE3zayyng01jhi?=
 =?us-ascii?Q?4YSuaDD5plUMnP/iB7olw/Q31h4JzTgLXvaGAE8yDQmqfeGgfdARRSNs9CfW?=
 =?us-ascii?Q?/oVexslvFg6qeQBwYM2RGajwnX6j4yjbc+pd7Kh7zpqaDexp2K7oWdcB0EGP?=
 =?us-ascii?Q?8/+JQokd4gQOejjQhk3G0p6/XeaZNsq8PGme1l2q/GzsCfcULA5fqwvXP0cB?=
 =?us-ascii?Q?66mlm7nDRCzXuFTzLx6Hfw/n1aqaytC8O3+Dj21HSvn9xyD/b3Et/aTFAXtl?=
 =?us-ascii?Q?p8U1rRTcyPyftR1KVingarVnJ4mfM4PFB1hV3UA/RENkKgJdRQN45mMsYK//?=
 =?us-ascii?Q?mMVxUV8mxf3EvjI43gx0mNemSCCFa83VnHeYMArKsuyviGEp/UtehH3ex5kG?=
 =?us-ascii?Q?FwLkIUOVloXXVyvZCKvkWhKp7Pqw9dvaqvKqZ8L/pFHv/TkJwSt6/8dYiNG5?=
 =?us-ascii?Q?3LWSehBt7H6rJhVO6mJMcdbYkRHAHZ1cBfUi2K7cBZdlHtP2eAVSjtqW0DH0?=
 =?us-ascii?Q?rLODbXo0Wi2WRmDbxrmup/17wA/zS8Id2XokyMYULfNFareW8IJcCHH4g8I4?=
 =?us-ascii?Q?h3DVCa+Fe3YPq8vYC2fdsx2sBN7ORigM9DaNOQBGDt4yV6dRQwdwNITRXdux?=
 =?us-ascii?Q?oloquFsO/Fn0ZGSTtWU78apv/S7kRwBTvQFJ37sIxZczIL2U7aDtCYh1lGbA?=
 =?us-ascii?Q?tsfZSQrtjkWG/NyWmVF7MpyQN3mBcoVTOPix7GZloWL5HMGeX8jrY5gXaRLF?=
 =?us-ascii?Q?pJuMylLxkxxd+1gJsufQkweWl4dDh2zHlvpVO+zghENomDGNCtcJ9Xj7YSYD?=
 =?us-ascii?Q?eqQG1GfW8UzFzooGFPlebRd/kF90kfURdI2A6x1PwvB8u6/TDcX/YtTxaNMi?=
 =?us-ascii?Q?Rp/wQVynwcszpeiXcwS5N384JjfpT60ZvFCmNlQQobEphxUUbGWPvvn2hQ/O?=
 =?us-ascii?Q?MY31Nd+ZVnrBR3AOAVxtfAG1IwML83HF5JgWSunjGE3w0gKkrGzHCP3q1y0O?=
 =?us-ascii?Q?l60dpnajS1T7NQHIU6BxWoHRiAnqKjRSELNWGwQSTn9G9VXGOTk06e3DQytd?=
 =?us-ascii?Q?UqaEJnw/K4qP0hB6B5EsQ8hTJPjiUQU+gQtGWCvp77dZCHO2WrKrtpfpUQ97?=
 =?us-ascii?Q?LX/pwBPmZB7ZJ8ewNzwROKG5wNhNlS1S//RiEZjLg3bDJo5NbFUjE+VZPJL2?=
 =?us-ascii?Q?p1GoSFY8H9h+xn9mG++UnYEcBSM+/Yt9/+cjQxCYUxLHl8008eb92eQA+Dfy?=
 =?us-ascii?Q?xk05qWfSvy9hFzAzFgnkmLviwcd5+sskfHtqj6Qw4NEdPKKZSy9wDTEvq69s?=
 =?us-ascii?Q?g68zk387w6hnRXzUUWdsvJbwbS5CTW76NvhucwE0jdj05dhEI+rENlalNJWX?=
 =?us-ascii?Q?9nyUfJrUtDREV0GNfoX5yq6oxNRzH3gOCgQ2SxcNBt/e9IsolKvYxvmddtGN?=
 =?us-ascii?Q?0j2YgnGKhPBXr7hxVFox/CMLo4IGawcmoyOfDROrVYLPpv6LIU5g+BxNbN5F?=
 =?us-ascii?Q?R/lizISaBlaof5SjrY0=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bc60d8a-ffb9-459e-cbb1-08dc56ac87f1
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2024 02:43:39.4387
 (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: 2R74OolJj4qO7k6uXkXmlwQG+QplhIUgTLYJvRobA6S0OSpLxUi+1HFHLW/B9fsYCAWFkJ56qP+ETAaLceCx4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7197

Hi Oleksandr,

> Subject: [PATCH 2/2] xen/arm: Add i.MX UART driver
>=20
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> The i.MX UART Documentation:
> https://eur01.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fwww.
> nxp.com%2Fwebapp%2FDownload%3FcolCode%3DIMX8MMRM&data=3D05%7
> C02%7Cpeng.fan%40nxp.com%7C6ada06c4133849667f3608dc530d5471%7
> C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6384765639197564
> 70%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz
> IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=3DRmXgAMb7
> wFZ7epZgYgHJo4LH35rzQhD05yTXSkttXbc%3D&reserved=3D0
> Chapter 16.2 Universal Asynchronous Receiver/Transmitter (UART)
>=20
> Tested on i.MX 8M Mini only, but I guess, it should be suitable for other
> i.MX8M* SoCs (those UART device tree nodes contain "fsl,imx6q-uart"
> compatible string).

Good to see people are interested in XEN on 8M.
I had an implementation back in 2015, you could take a look.

#include <xen/config.h>
#include <xen/console.h>
#include <xen/serial.h>
#include <xen/init.h>
#include <xen/irq.h>
#include <xen/device_tree.h>
#include <asm/device.h>
#include <xen/errno.h>
#include <xen/mm.h>
#include <xen/vmap.h>
#include <asm/imx-uart.h>
#include <asm/io.h>

#define imx_read(uart, off)       readl((uart)->regs + off)
#define imx_write(uart, off, val) writel((val), (uart)->regs + off)

#define CONFIG_IMX8_ZEBU
static struct imx_uart {
    unsigned int baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
    unsigned int irq;
    char __iomem *regs;
    struct irqaction irqaction;
    struct vuart_info vuart;
} imx_com =3D {0};

static void imx_uart_interrupt(int irq, void *data, struct cpu_user_regs *r=
egs)
{
    struct serial_port *port =3D data;
    struct imx_uart *uart =3D port->uart;
    unsigned int sts, sts2;

    sts =3D imx_read(uart, USR1);

    if ((sts & USR1_RRDY) || (sts & USR1_AGTIM)) {
        if (sts & USR1_AGTIM)
            imx_write(uart, USR1, USR1_AGTIM);
	serial_rx_interrupt(port, regs);
    }

    if ((sts & USR1_TRDY) && (imx_read(uart, UCR1) & UCR1_TXMPTYEN)) {
        serial_tx_interrupt(port, regs);
    }

    if (sts & USR1_AWAKE) {
        imx_write(uart, USR1, USR1_AWAKE);
    }

    if (sts & USR1_AIRINT) {
	    imx_write(uart, USR1, USR1_AIRINT);
    }

    sts2 =3D imx_read(uart, USR2);
    if (sts2 & USR2_ORE) {
        dprintk(XENLOG_ERR, "uart: rxfifo overrun\n");
	imx_write(uart, USR2, sts2 | USR2_ORE);
    }
}

static void __init imx_uart_init_preirq(struct serial_port *port)
{
    struct imx_uart *uart =3D port->uart;
    int val;

    dprintk(XENLOG_ERR, "10\n");
    imx_write(uart, USR1, USR1_RTSD);

    dprintk(XENLOG_ERR, "12\n");
    val =3D imx_read(uart, UCR1);
    val |=3D UCR1_RRDYEN | UCR1_RTSDEN | UCR1_UARTEN;
    imx_write(uart, UCR1, val);

    dprintk(XENLOG_ERR, "13\n");
    val =3D imx_read(uart, UCR2);
    val |=3D UCR2_RXEN | UCR2_TXEN | UCR2_IRTS;
    imx_write(uart, UCR2, val);

//#ifdef CONFIG_IMX8_ZEBU
#if 0
    imx_write(uart, UFCR, (2U << 10) | (5U << 7) || (0U << 6) | (1U << 0));
#else
#define TXTL 2 /* reset default */
#define RXTL 1 /* For console port */
#define RXTL_UART 16 /* For uart */
    val =3D imx_read(uart, UFCR) & (UFCR_RFDIV | UFCR_DCEDTE);
    val |=3D TXTL << UFCR_TXTL_SHF | RXTL;
    imx_write(uart, UFCR, val);
#endif
    dprintk(XENLOG_ERR, "14\n");
    dprintk(XENLOG_ERR, "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DUFCR =
USR1 %x %x\n", imx_read(uart, UFCR), imx_read(uart, USR1));
}

static void __init imx_uart_init_postirq(struct serial_port *port)
{
    struct imx_uart *uart =3D port->uart;

    dprintk(XENLOG_ERR, "20\n");
    uart->irqaction.handler =3D imx_uart_interrupt;
    uart->irqaction.name =3D "imx_uart";
    uart->irqaction.dev_id =3D port;

    if ( setup_irq(uart->irq, 0, &uart->irqaction) !=3D 0 )
    {
        dprintk(XENLOG_ERR, "Failed to allocated imx_uart IRQ %d\n",
                uart->irq);
        return;
    }

#ifdef CONFIG_IMX8_ZEBU
    // Send autobaud character
    imx_write(uart, UTXD, 0x55);
    imx_write(uart, UTXD, 0x55);
    imx_write(uart, UTXD, 0x0A);
#endif
    /* Enable interrupts */
    dprintk(XENLOG_ERR, "%s\n", __func__);
    imx_write(uart, UCR1, UCR1_TXMPTYEN | UCR1_RRDYEN | UCR1_UARTEN);
    //imx_write(uart, UCR1, UCR1_TXMPTYEN | UCR1_UARTEN);
}

static void imx_uart_suspend(struct serial_port *port)
{
    BUG();
}

static void imx_uart_resume(struct serial_port *port)
{
    BUG();
}

static int imx_uart_tx_ready(struct serial_port *port)
{
    struct imx_uart *uart =3D port->uart;

    return (imx_read(uart, USR2) & USR2_TXDC) ?  1 : 0;
}

static void imx_uart_putc(struct serial_port *port, char c)
{
    struct imx_uart *uart =3D port->uart;

    imx_write(uart, UTXD, (uint32_t)(unsigned char)c);
}

static int imx_uart_getc(struct serial_port *port, char *pc)
{
    struct imx_uart *uart =3D port->uart;

    if (!(imx_read(uart, USR2) & USR2_RDR))
	return 0;

    *pc =3D imx_read(uart, URXD) & 0xff;

    return 1;
}

static int __init imx_uart_irq(struct serial_port *port)
{
    struct imx_uart *uart =3D port->uart;

    return ((uart->irq > 0) ? uart->irq : -1);
}

static const struct vuart_info *imx_vuart_info(struct serial_port *port)
{
    struct imx_uart *uart =3D port->uart;

    return &uart->vuart;
}

static void imx_start_tx(struct serial_port *port)
{
    struct imx_uart *uart =3D port->uart;
    unsigned long temp;

    /* Clear any pending ORE flag before enabling interrupt */
    temp =3D imx_read(uart, USR2);
    imx_write(uart, USR2, temp | USR2_ORE);

    temp =3D imx_read(uart, UCR4);
    temp |=3D UCR4_OREN;
    imx_write(uart, UCR4, temp);

    temp =3D imx_read(uart, UCR1);
    imx_write(uart, UCR1, temp | UCR1_TXMPTYEN);

    return;
}

static void imx_stop_tx(struct serial_port *port)
{
    struct imx_uart *uart =3D port->uart;
    unsigned long temp;

    temp =3D imx_read(uart, UCR1);
    imx_write(uart, UCR1, temp & ~UCR1_TXMPTYEN);

    return;
}

static struct uart_driver __read_mostly imx_uart_driver =3D {
    .init_preirq =3D imx_uart_init_preirq,
    .init_postirq =3D imx_uart_init_postirq,
    .endboot =3D NULL,
    .suspend =3D imx_uart_suspend,
    .resume =3D imx_uart_resume,
    .tx_ready =3D imx_uart_tx_ready,
    .putc =3D imx_uart_putc,
    .getc =3D imx_uart_getc,
    .irq =3D imx_uart_irq,
    .start_tx =3D imx_start_tx,
    .stop_tx =3D imx_stop_tx,
    .vuart_info =3D imx_vuart_info,
};

static int __init imx_uart_init(struct dt_device_node *dev,
				const void *data)
{
    const char *config =3D data;
    struct imx_uart *uart;
    u32 clkspec;
    int res;
    u64 addr, size;

    dprintk(XENLOG_ERR, "xx %x\n", EARLY_UART_BASE_ADDRESS);
    if ( strcmp(config, "") )
        printk("WARNING: UART configuration is not supported\n");

    uart =3D &imx_com;

#ifdef CONFIG_IMX8_ZEBU
    clkspec =3D 24000000;
#else
    res =3D dt_property_read_u32(dev, "clock-frequency", &clkspec);
    if ( !res )
    {
        printk("imx-uart: Unable to retrieve the clock frequency\n");
        return -EINVAL;
    }
#endif

#define PARITY_NONE  (0)
    uart->clock_hz =3D clkspec;
    uart->baud =3D 115200;
    uart->data_bits =3D 8;
    uart->parity =3D PARITY_NONE;
    uart->stop_bits =3D 1;

    res =3D dt_device_get_address(dev, 0, &addr, &size);
    if ( res )
    {
        printk("imx-uart: Unable to retrieve the base"
               " address of the UART\n");
        return res;
    }

    res =3D platform_get_irq(dev, 0);
    if ( res < 0 )
    {
        printk("imx-uart: Unable to retrieve the IRQ\n");
        return -EINVAL;
    }
    uart->irq =3D res;

    uart->regs =3D ioremap_nocache(addr, size);
    if ( !uart->regs )
    {
        printk("imx-uart: Unable to map the UART memory\n");
        return -ENOMEM;
    }


    uart->vuart.base_addr =3D addr;
    uart->vuart.size =3D size;
    uart->vuart.data_off =3D UTXD;
    /* tmp from uboot */
    uart->vuart.status_off =3D UTS;
    uart->vuart.status =3D UTS_TXEMPTY;

    dprintk(XENLOG_ERR, "11\n");
    /* Register with generic serial driver */
    serial_register_uart(SERHND_DTUART, &imx_uart_driver, uart);

    dt_device_set_used_by(dev, DOMID_XEN);

    return 0;
}

static const struct dt_device_match imx_uart_dt_compat[] __initconst =3D
{
    DT_MATCH_COMPATIBLE("fsl,imx21-uart"),
    {},
};

DT_DEVICE_START(imx_uart, "IMX UART", DEVICE_SERIAL)
    .dt_match =3D imx_uart_dt_compat,
    .init =3D imx_uart_init,
DT_DEVICE_END

Regards,
Peng.
>=20
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> ---
> I used the "earlycon=3Dec_imx6q,0x30890000" cmd arg and selected
> CONFIG_SERIAL_IMX_EARLYCON in Linux for enabling vUART.
> ---
> ---
>  MAINTAINERS                 |   1 +
>  xen/drivers/char/Kconfig    |   7 +
>  xen/drivers/char/Makefile   |   1 +
>  xen/drivers/char/imx-uart.c | 299 ++++++++++++++++++++++++++++++++++++
>  4 files changed, 308 insertions(+)
>  create mode 100644 xen/drivers/char/imx-uart.c
>=20
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1bd22fd75f..bd4084fd20 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/imx-uart.c
>  F:	xen/drivers/char/meson-uart.c
>  F:	xen/drivers/char/mvebu-uart.c
>  F:	xen/drivers/char/omap-uart.c
> diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig index
> e18ec3788c..f51a1f596a 100644
> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -20,6 +20,13 @@ config HAS_IMX_LPUART
>  	help
>  	  This selects the i.MX LPUART. If you have i.MX8QM based board,
> say Y.
>=20
> +config HAS_IMX_UART
> +	bool "i.MX UART driver"
> +	default y
> +	depends on ARM_64
> +	help
> +	  This selects the i.MX UART. If you have i.MX8M* based board, say Y.
> +
>  config HAS_MVEBU
>  	bool "Marvell MVEBU UART driver"
>  	default y
> diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile index
> e7e374775d..147530a1ed 100644
> --- a/xen/drivers/char/Makefile
> +++ b/xen/drivers/char/Makefile
> @@ -10,6 +10,7 @@ obj-$(CONFIG_HAS_SCIF) +=3D scif-uart.o
>  obj-$(CONFIG_HAS_EHCI) +=3D ehci-dbgp.o
>  obj-$(CONFIG_XHCI) +=3D xhci-dbc.o
>  obj-$(CONFIG_HAS_IMX_LPUART) +=3D imx-lpuart.o
> +obj-$(CONFIG_HAS_IMX_UART) +=3D imx-uart.o
>  obj-$(CONFIG_ARM) +=3D arm-uart.o
>  obj-y +=3D serial.o
>  obj-$(CONFIG_XEN_GUEST) +=3D xen_pv_console.o diff --git
> a/xen/drivers/char/imx-uart.c b/xen/drivers/char/imx-uart.c new file mode
> 100644 index 0000000000..13bb189063
> --- /dev/null
> +++ b/xen/drivers/char/imx-uart.c
> @@ -0,0 +1,299 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/drivers/char/imx-uart.c
> + *
> + * Driver for i.MX UART.
> + *
> + * Based on Linux's drivers/tty/serial/imx.c
> + *
> + * Copyright (C) 2024 EPAM Systems Inc.
> + */
> +
> +#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/imx-uart.h>
> +#include <asm/io.h>
> +
> +#define imx_uart_read(uart, off)          readl((uart)->regs + (off))
> +#define imx_uart_write(uart, off, val)    writel((val), (uart)->regs + (=
off))
> +
> +static struct imx_uart {
> +    uint32_t baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
> +    uint32_t irq;
> +    char __iomem *regs;
> +    struct irqaction irqaction;
> +    struct vuart_info vuart;
> +} imx_com;
> +
> +static void imx_uart_interrupt(int irq, void *data) {
> +    struct serial_port *port =3D data;
> +    struct imx_uart *uart =3D port->uart;
> +    uint32_t usr1, usr2;
> +
> +    usr1 =3D imx_uart_read(uart, USR1);
> +    usr2 =3D imx_uart_read(uart, USR2);
> +
> +    if ( usr1 & (USR1_RRDY | USR1_AGTIM) )
> +    {
> +        imx_uart_write(uart, USR1, USR1_AGTIM);
> +        serial_rx_interrupt(port);
> +    }
> +
> +    if ( (usr1 & USR1_TRDY) || (usr2 & USR2_TXDC) )
> +        serial_tx_interrupt(port);
> +}
> +
> +static void imx_uart_clear_rx_errors(struct serial_port *port) {
> +    struct imx_uart *uart =3D port->uart;
> +    uint32_t usr1, usr2;
> +
> +    usr1 =3D imx_uart_read(uart, USR1);
> +    usr2 =3D imx_uart_read(uart, USR2);
> +
> +    if ( usr2 & USR2_BRCD )
> +        imx_uart_write(uart, USR2, USR2_BRCD);
> +    else if ( usr1 & USR1_FRAMERR )
> +        imx_uart_write(uart, USR1, USR1_FRAMERR);
> +    else if ( usr1 & USR1_PARITYERR )
> +        imx_uart_write(uart, USR1, USR1_PARITYERR);
> +
> +    if ( usr2 & USR2_ORE )
> +        imx_uart_write(uart, USR2, USR2_ORE); }
> +
> +static void __init imx_uart_init_preirq(struct serial_port *port) {
> +    struct imx_uart *uart =3D port->uart;
> +    uint32_t reg;
> +
> +    /*
> +     * Wait for the transmission to complete. This is needed for a smoot=
h
> +     * transition when we come from early printk.
> +     */
> +    while ( !(imx_uart_read(uart, USR2) & USR2_TXDC) )
> +        cpu_relax();
> +
> +    /* Set receiver/transmitter trigger level */
> +    reg =3D imx_uart_read(uart, UFCR);
> +    reg &=3D (UFCR_RFDIV | UFCR_DCEDTE);
> +    reg |=3D TXTL_DEFAULT << UFCR_TXTL_SHF | RXTL_DEFAULT;
> +    imx_uart_write(uart, UFCR, reg);
> +
> +    /* Enable UART and disable interrupts/DMA */
> +    reg =3D imx_uart_read(uart, UCR1);
> +    reg |=3D UCR1_UARTEN;
> +    reg &=3D ~(UCR1_TRDYEN | UCR1_TXMPTYEN | UCR1_RTSDEN |
> UCR1_RRDYEN |
> +             UCR1_RXDMAEN | UCR1_TXDMAEN | UCR1_ATDMAEN);
> +    imx_uart_write(uart, UCR1, reg);
> +
> +    /* Enable receiver/transmitter and disable Aging Timer */
> +    reg =3D imx_uart_read(uart, UCR2);
> +    reg |=3D UCR2_RXEN | UCR2_TXEN;
> +    reg &=3D ~UCR2_ATEN;
> +    imx_uart_write(uart, UCR2, reg);
> +
> +    /* Disable interrupts */
> +    reg =3D imx_uart_read(uart, UCR4);
> +    reg &=3D ~(UCR4_TCEN | UCR4_DREN);
> +    imx_uart_write(uart, UCR4, reg);
> +}
> +
> +static void __init imx_uart_init_postirq(struct serial_port *port) {
> +    struct imx_uart *uart =3D port->uart;
> +
> +    uart->irqaction.handler =3D imx_uart_interrupt;
> +    uart->irqaction.name =3D "imx_uart";
> +    uart->irqaction.dev_id =3D port;
> +
> +    if ( setup_irq(uart->irq, 0, &uart->irqaction) !=3D 0 )
> +    {
> +        dprintk(XENLOG_ERR, "Failed to allocate imx_uart IRQ %d\n", uart=
->irq);
> +        return;
> +    }
> +
> +    /* Clear possible receiver errors */
> +    imx_uart_clear_rx_errors(port);
> +
> +    /* Enable interrupts */
> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) |
> +                   UCR1_RRDYEN | UCR1_TRDYEN);
> +    imx_uart_write(uart, UCR2, imx_uart_read(uart, UCR2) | UCR2_ATEN);
> +}
> +
> +static void imx_uart_suspend(struct serial_port *port) {
> +    BUG();
> +}
> +
> +static void imx_uart_resume(struct serial_port *port) {
> +    BUG();
> +}
> +
> +static int imx_uart_tx_ready(struct serial_port *port) {
> +    struct imx_uart *uart =3D port->uart;
> +    uint32_t reg;
> +
> +    reg =3D imx_uart_read(uart, IMX21_UTS);
> +    if ( reg & UTS_TXEMPTY )
> +        return TX_FIFO_SIZE;
> +    if ( reg & UTS_TXFULL )
> +        return 0;
> +
> +    /*
> +     * If the FIFO is neither full nor empty then there is a space for
> +     * one char at least.
> +     */
> +    return 1;
> +}
> +
> +static void imx_uart_putc(struct serial_port *port, char c) {
> +    struct imx_uart *uart =3D port->uart;
> +
> +    while ( imx_uart_read(uart, IMX21_UTS) & UTS_TXFULL )
> +        cpu_relax();
> +
> +    imx_uart_write(uart, URTX0, c);
> +}
> +
> +static int imx_uart_getc(struct serial_port *port, char *pc) {
> +    struct imx_uart *uart =3D port->uart;
> +    uint32_t data;
> +
> +    if ( !(imx_uart_read(uart, USR2) & USR2_RDR) )
> +        return 0;
> +
> +    data =3D imx_uart_read(uart, URXD0);
> +    *pc =3D data & URXD_RX_DATA;
> +
> +    if ( unlikely(data & URXD_ERR) )
> +        imx_uart_clear_rx_errors(port);
> +
> +    return 1;
> +}
> +
> +static int __init imx_uart_irq(struct serial_port *port) {
> +    struct imx_uart *uart =3D port->uart;
> +
> +    return ((uart->irq > 0) ? uart->irq : -1); }
> +
> +static const struct vuart_info *imx_uart_vuart_info(struct serial_port
> +*port) {
> +    struct imx_uart *uart =3D port->uart;
> +
> +    return &uart->vuart;
> +}
> +
> +static void imx_uart_start_tx(struct serial_port *port) {
> +    struct imx_uart *uart =3D port->uart;
> +
> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) |
> +UCR1_TRDYEN); }
> +
> +static void imx_uart_stop_tx(struct serial_port *port) {
> +    struct imx_uart *uart =3D port->uart;
> +
> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) &
> +~UCR1_TRDYEN); }
> +
> +static struct uart_driver __read_mostly imx_uart_driver =3D {
> +    .init_preirq =3D imx_uart_init_preirq,
> +    .init_postirq =3D imx_uart_init_postirq,
> +    .endboot =3D NULL,
> +    .suspend =3D imx_uart_suspend,
> +    .resume =3D imx_uart_resume,
> +    .tx_ready =3D imx_uart_tx_ready,
> +    .putc =3D imx_uart_putc,
> +    .getc =3D imx_uart_getc,
> +    .irq =3D imx_uart_irq,
> +    .start_tx =3D imx_uart_start_tx,
> +    .stop_tx =3D imx_uart_stop_tx,
> +    .vuart_info =3D imx_uart_vuart_info,
> +};
> +
> +static int __init imx_uart_init(struct dt_device_node *dev, const void
> +*data) {
> +    const char *config =3D data;
> +    struct imx_uart *uart;
> +    int res;
> +    paddr_t addr, size;
> +
> +    if ( strcmp(config, "") )
> +        printk("WARNING: UART configuration is not supported\n");
> +
> +    uart =3D &imx_com;
> +
> +    uart->baud =3D 115200;
> +    uart->data_bits =3D 8;
> +    uart->parity =3D 0;
> +    uart->stop_bits =3D 1;
> +
> +    res =3D dt_device_get_paddr(dev, 0, &addr, &size);
> +    if ( res )
> +    {
> +        printk("imx-uart: Unable to retrieve the base address of the UAR=
T\n");
> +        return res;
> +    }
> +
> +    res =3D platform_get_irq(dev, 0);
> +    if ( res < 0 )
> +    {
> +        printk("imx-uart: Unable to retrieve the IRQ\n");
> +        return -EINVAL;
> +    }
> +    uart->irq =3D res;
> +
> +    uart->regs =3D ioremap_nocache(addr, size);
> +    if ( !uart->regs )
> +    {
> +        printk("imx-uart: Unable to map the UART memory\n");
> +        return -ENOMEM;
> +    }
> +
> +    uart->vuart.base_addr =3D addr;
> +    uart->vuart.size =3D size;
> +    uart->vuart.data_off =3D URTX0;
> +    uart->vuart.status_off =3D IMX21_UTS;
> +    uart->vuart.status =3D UTS_TXEMPTY;
> +
> +    /* Register with generic serial driver */
> +    serial_register_uart(SERHND_DTUART, &imx_uart_driver, uart);
> +
> +    dt_device_set_used_by(dev, DOMID_XEN);
> +
> +    return 0;
> +}
> +
> +static const struct dt_device_match imx_uart_dt_compat[] __initconst =3D
> +{
> +    DT_MATCH_COMPATIBLE("fsl,imx6q-uart"),
> +    { /* sentinel */ },
> +};
> +
> +DT_DEVICE_START(imx_uart, "i.MX UART", DEVICE_SERIAL)
> +    .dt_match =3D imx_uart_dt_compat,
> +    .init =3D imx_uart_init,
> +DT_DEVICE_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 04:40:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 04:40:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701536.1095924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtKKE-0006Nf-Ht; Sun, 07 Apr 2024 04:40:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701536.1095924; Sun, 07 Apr 2024 04: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 1rtKKE-0006NY-EP; Sun, 07 Apr 2024 04:40:14 +0000
Received: by outflank-mailman (input) for mailman id 701536;
 Sun, 07 Apr 2024 04:40: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 1rtKKC-0006NN-PO; Sun, 07 Apr 2024 04:40: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 1rtKKC-00055J-Cq; Sun, 07 Apr 2024 04:40: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 1rtKKB-0003d8-Rp; Sun, 07 Apr 2024 04:40:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtKKB-0004Am-RI; Sun, 07 Apr 2024 04:40:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LnllqMo/qIQMsHswjfTL4C0VasgCu/IHddj4hsqrtJY=; b=OE6Zx6OEsfIp1wC2ObUStHN4KF
	iJzhilG003zosubhXYV6iNxtrXYNGE9NO2PWgi+oRcy6WbZsf3vuTw4XjdAT/wMT9LQ5jmUnYVETI
	p300oF3kBhzDPhFVY4TfYDmumxw7AVNNSHSoS8v/Shw5Rjdi9/rnAN0hSfmYM6qEuLTU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185263-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185263: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ee28bea4c0779d3874dbe0a5d6ade549295d7d8b
X-Osstest-Versions-That:
    ovmf=8707f835ae355832965508b6be96765660fb1861
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Apr 2024 04:40:11 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ee28bea4c0779d3874dbe0a5d6ade549295d7d8b
baseline version:
 ovmf                 8707f835ae355832965508b6be96765660fb1861

Last test of basis   185245  2024-04-05 05:11:17 Z    1 days
Testing same since   185263  2024-04-07 03:14:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiewen Yao <jiewen.yao@intel.com>
  Ming Tan <ming.tan@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
   8707f835ae..ee28bea4c0  ee28bea4c0779d3874dbe0a5d6ade549295d7d8b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Apr 07 06:16:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 06:16:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701546.1095935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtLpL-0000tb-Ei; Sun, 07 Apr 2024 06:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701546.1095935; Sun, 07 Apr 2024 06: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 1rtLpL-0000tU-9R; Sun, 07 Apr 2024 06:16:27 +0000
Received: by outflank-mailman (input) for mailman id 701546;
 Sun, 07 Apr 2024 06:16:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rtLpK-0000tK-CZ; Sun, 07 Apr 2024 06:16:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rtLpK-0006zh-1Z; Sun, 07 Apr 2024 06:16:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rtLpJ-00066e-PZ; Sun, 07 Apr 2024 06:16:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtLpJ-0003Qw-PB; Sun, 07 Apr 2024 06:16:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZRVe2WVFZrkvTi9G+JDEQvY21iQ1qQdDwcZzaZC8fes=; b=LQsAPROAx4lbGepwZC8bXm2W5f
	YIiY3TsO4gmviDy3Lb0rPV041Ue/LAydiJAm1C/Mb4CL2PYqLe1Ufj20o+d37FN36SQ77jJc1jhUq
	wEzfFmF+mz5/aSFBC/K/wzOHInDZWUlJxX6QeHZnEPP/j75x07Ijujhwk5/1Qg55Okf0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185264-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185264: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c98c14576f1a93519402a8e2f4736b479ad6007c
X-Osstest-Versions-That:
    ovmf=ee28bea4c0779d3874dbe0a5d6ade549295d7d8b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Apr 2024 06:16:25 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c98c14576f1a93519402a8e2f4736b479ad6007c
baseline version:
 ovmf                 ee28bea4c0779d3874dbe0a5d6ade549295d7d8b

Last test of basis   185263  2024-04-07 03:14:06 Z    0 days
Testing same since   185264  2024-04-07 04:44:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chris Ruffin <v-chruffin@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
   ee28bea4c0..c98c14576f  c98c14576f1a93519402a8e2f4736b479ad6007c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Apr 07 09:45:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 09:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701580.1095943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtP5L-00010p-Ao; Sun, 07 Apr 2024 09:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701580.1095943; Sun, 07 Apr 2024 09: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 1rtP5L-00010i-86; Sun, 07 Apr 2024 09:45:11 +0000
Received: by outflank-mailman (input) for mailman id 701580;
 Sun, 07 Apr 2024 09:45: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 1rtP5J-00010Y-WB; Sun, 07 Apr 2024 09:45: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 1rtP5J-0002vH-O7; Sun, 07 Apr 2024 09:45: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 1rtP5J-0002rZ-Bp; Sun, 07 Apr 2024 09:45:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtP5J-0001ss-BL; Sun, 07 Apr 2024 09:45:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GoMHE5GtpSSSquwZn3uWn377qMJN+yW4a3et51RylTI=; b=EhlNEkRc+4wbXG2X+jgEcJEAZY
	XBCk6y84BebGAdK4UobttwBCuWVabjMvnyTkApB/PDSwt8666GeaOROrZ4OxypTcmntJPx1SCW1Ju
	wMwqDRyXUd9NLF1qr5TEW99dh5eUI8EkN0mtL4hvOBvNosuvEY7wEWkVoochCpkovqtg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185254-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185254: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    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-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-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: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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
X-Osstest-Versions-This:
    linux=104db052b62d3320fd30b23416dd0b2a4ff3b85f
X-Osstest-Versions-That:
    linux=8cb4a9a82b21623dbb4b3051dd30d98356cf95bc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Apr 2024 09:45:09 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu  8 xen-boot           fail pass in 185265-retest
 test-armhf-armhf-xl-arndale   8 xen-boot            fail pass in 185265-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 185265 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 185265 never pass
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 185265 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 185265 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185247
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185247
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185247
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185247
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185247
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185247
 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-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          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-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-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
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 linux                104db052b62d3320fd30b23416dd0b2a4ff3b85f
baseline version:
 linux                8cb4a9a82b21623dbb4b3051dd30d98356cf95bc

Last test of basis   185247  2024-04-05 14:43:53 Z    1 days
Testing same since   185254  2024-04-06 03:00:45 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ajay Kaher <ajay.kaher@broadcom.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alexey Makhalov <alexey.makhalov@broadcom.com>
  Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Schwab <schwab@suse.de>
  Andrew Morton <akpm@linux-foundation.org>
  André Apitzsch <git@apitzsch.eu>
  Andy Chiu <andy.chiu@sifive.com>
  Animesh Manna <animesh.manna@intel.com>
  Ankit Nautiyal <ankit.k.nautiyal@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arun R Murthy <arun.r.murthy@intel.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Björn Töpel <bjorn@rivosinc.com>
  Bryan Tan <bryan-bt.tan@broadcom.com>
  Carlos Song <carlos.song@nxp.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chengming Zhou <zhouchengming@bytedance.com>
  Christian Bendiksen <christian@bendiksen.me>
  Christian Brauner <brauner@kernel.org>
  Christian Hewitt <christianshewitt@gmail.com>
  Christoffer Sandberg <cs@tuxedo.de>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Damien Le Moal <dlemoal@kernel.org>
  Daniel Wagner <dwagner@suse.de>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dominique Martinet <asmadeus@codewreck.org>
  Edward Liaw <edliaw@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hannes Reinecke <hare@kernel.org>
  Hans de Goede <hdegoede@redhat.com>
  Heiko Carstens <hca@linux.ibm.com>
  Herve Codina <herve.codina@bootlin.com>
  Huai-Yuan Liu <qq810974084@gmail.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Imre Deak <imre.deak@intel.com>
  Ingo Molnar <mingo@kernel.org>
  Iskren Chernev <me@iskren.info>
  Jaewon Kim <jaewon02.kim@samsung.com>
  James Christopher Adduono <jc@adduono.com>
  Jens Axboe <axboe@kernel.dk>
  Jisheng Zhang <jszhang@kernel.org>
  John Sperbeck <jsperbeck@google.com>
  Jouni Högander <jouni.hogander@intel.com>
  Keith Busch <kbusch@kernel.org>
  Kent Gibson <warthog618@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Li Nan <linan122@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luca Ceresoli <luca.ceresoli@bootlin.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Luke D. Jones <luke@ljones.dev>
  Marco Elver <elver@google.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matthew Brost <matthew.brost@intel.com>
  Michal Mrozek <michal.mrozek@intel.com>
  Miklos Szeredi <mszeredi@redhat.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nick Shi <nick.shi@broadcom.com>
  Nikita Travkin <nikita@trvn.ru>
  Nilay Shroff <nilay@linux.ibm.com>
  Oleksandr Natalenko <oleksandr@natalenko.name>
  Omar Sandoval <osandov@fb.com>
  Oscar Salvador <osalvador@suse.de>
  Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
  Palmer Dabbelt <palmer@rivosinc.com>
  Peter Collingbourne <pcc@google.com>
  Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
  Peter Wang <peter.wang@mediatek.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Pu Lehui <pulehui@huawei.com>
  Puranjay Mohan <puranjay12@gmail.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rander Wang <rander.wang@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Rasmus Karlsson <rasmus.karlsson@pajlada.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rob Clark <robdclark@chromium.org>
  Rob Herring <robh@kernel.org>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Artemev <roman.artemev@syntacore.com>
  Ronak Doshi <ronak.doshi@broadcom.com>
  Sami Tolvanen <samitolvanen@google.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sergey Shtylyov <s.shtylyov@omp.ru>
  Simon Ser <contact@emersion.fr>
  Simon Trimmer <simont@opensource.cirrus.com>
  Stefan O'Rear <sorear@fastmail.com>
  Stephen Boyd <sboyd@kernel.org>
  Stephen Horvath <s.horvath@outlook.com.au>
  Stephen Lee <slee08177@gmail.com>
  Steve French <stfrench@microsoft.com>
  Steven Price <steven.price@arm.com>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Sven Schnelle <svens@linux.ibm.com>
  Takashi Iwai <tiwai@suse.de>
  Thomas Hellström <thomas.hellstrom@linux.intel.com>
  Thomas Richter <tmricht@linux.ibm.com>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tony Lindgren <tony@atomide.com>
  Uladzislau Rezki (Sony) <urezki@gmail.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasily Gorbik <gor@linux.ibm.com>
  Victor Isaev <isv@google.com>
  Victor Isaev <victor@torrio.net>
  Vijendar Mukunda <Vijendar.Mukunda@amd.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vincent Guittot <vincent.guittot@linaro.org>
  Vineet Gupta <vineetg@rivosinc.com>
  Vishal Bhakta <vishal.bhakta@broadcom.com>
  Vishnu Dasa <vishnu.dasa@broadcom.com>
  Vladimir Isaev <vladimir.isaev@syntacore.com>
  Vlastimil Babka <vbabka@suse.cz>
  Werner Sembach <wse@tuxedocomputers.com>
  Yihang Li <liyihang9@huawei.com>
  Zhang Yi <zhangyi@everest-semi.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                  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                                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 :

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
   8cb4a9a82b21..104db052b62d  104db052b62d3320fd30b23416dd0b2a4ff3b85f -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Apr 07 13:12:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 13:12:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701634.1095955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtSJX-0000Wd-Nw; Sun, 07 Apr 2024 13:12:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701634.1095955; Sun, 07 Apr 2024 13:12: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 1rtSJX-0000WW-JW; Sun, 07 Apr 2024 13:12:03 +0000
Received: by outflank-mailman (input) for mailman id 701634;
 Sun, 07 Apr 2024 13:12: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 1rtSJW-0000WM-Ba; Sun, 07 Apr 2024 13:12: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 1rtSJW-0006QL-4m; Sun, 07 Apr 2024 13:12: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 1rtSJV-00037e-N1; Sun, 07 Apr 2024 13:12:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtSJV-0000oT-Mb; Sun, 07 Apr 2024 13:12:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MwTlQukw2L1ZCW4yqmsMnlLG6t3kCGDL8seynjO52w8=; b=Ivx6IXdnA1kB555+uN4fy9skrm
	BvJIQq+n6DdTpHLpTTfBMmuVNPu/LiDt5dJnzGviJPjbaOKXdY3IezJaXOMu2kKRJjQHJqV5qf/Zh
	TfEbpen3O7y90uwgoiwifDGYmndo5vLLwh4bVWU6PvJZa463RMNO3J8fPhg1mx3cKeoY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185262-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185262: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-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-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-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
X-Osstest-Versions-That:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Apr 2024 13:12:01 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185262  2024-04-06 10:17:30 Z    1 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 Apr 07 14:32:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 14:32:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701648.1095963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtTZa-0001dk-Az; Sun, 07 Apr 2024 14:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701648.1095963; Sun, 07 Apr 2024 14:32: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 1rtTZa-0001dd-8T; Sun, 07 Apr 2024 14:32:42 +0000
Received: by outflank-mailman (input) for mailman id 701648;
 Sun, 07 Apr 2024 14:32: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=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtTZY-0001dW-TO
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 14:32:40 +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 af1ccb69-f4eb-11ee-afe6-a90da7624cb6;
 Sun, 07 Apr 2024 16:32:39 +0200 (CEST)
Received: by mail-yb1-xb35.google.com with SMTP id
 3f1490d57ef6-dcbc6a6808fso3474794276.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 07:32:39 -0700 (PDT)
Received: from shine.lan
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 y18-20020ad457d2000000b0069903c37a36sm2249754qvx.100.2024.04.07.07.32.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 07:32:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af1ccb69-f4eb-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712500357; x=1713105157; 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=SzbwS9YIj1SxB0umSrB5+KMCusS58DvhZAfVLsqnYAc=;
        b=kfzb5pg9ecjgFou48sTlJTYUFKINsyC0TIMrhATzQLg+OaB5fJKGkCrGmA1wYgKmMd
         XCSBnyPrln9q6JbJx8egzdWN7wX2bKIwdswKGGBZDrz4elQIL+9VSmpT3iIe34fy1ggr
         Zi0whcPclWZvRq8Hko5AVGOXJe6KTn7hAookQi8M7czOH2Gge+YR1kwnHxfK+bHaRXqn
         6R8K/NEfHZlF93qg7CZ6N/4GKh5AnRA+lsy9IaV2NiGoT3dff6soJVDbonzQ998QyR55
         /XYA/ZzqIcWpIWOcBLm2pWL+yy+0nSNpvMC2uc5C8YbxnFT/1NtCcmBVIo3HUtFKUVHG
         Ur+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712500357; x=1713105157;
        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=SzbwS9YIj1SxB0umSrB5+KMCusS58DvhZAfVLsqnYAc=;
        b=ryfL05LepNF1uui3lUYwtLmx7ZbaC4O9RGkmcz0Wk6W+CUK9mHOVpizPuy5bdffZfU
         aKjQyBjYZX9LqelAOl1qX2dWGtNtAS7LzITzu1Ffhpml/0Oo9oFh/fA5YfpR/NWLEF2k
         C1dpoCaf/tbjmwPpZoxocFLRoRFdV8guZognak4M0ZcPRGz+AatIg2SiH3G6w8zeiK18
         bOTrv8deS3qmYu9bxlIL+OycvB2AhY868fz42NOVV4VOqPisfimoiZB5bQMkvLKwu2hk
         8X3YAqJDjHzUgd1EZh1K0j2sOd/mPY9g/DEBE8Y1LmBM38klMD53y+vBu7ghC7kqkFHx
         T5ow==
X-Gm-Message-State: AOJu0YyEyEa/SwliOxI5gj95RdjXZzfCAMLKofAzUfSnI7NWVmmNpnWB
	8fneEEv5sLpbQVSGsydZoAf2qF3spOdDIKGFTGid2tRwtT7quCa+1y4hi+KG
X-Google-Smtp-Source: AGHT+IF3DjPZOcMZU3cXaZZJXnIUWGTeyrJT4b7n1jbqN1uz6/M/HLbbFae3P88yQeabwPpBIjfkqA==
X-Received: by 2002:a5b:a8b:0:b0:dcf:fc74:358a with SMTP id h11-20020a5b0a8b000000b00dcffc74358amr4961310ybq.10.1712500357199;
        Sun, 07 Apr 2024 07:32:37 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2] libxl: Use vkb=[] for HVMs
Date: Sun,  7 Apr 2024 10:32:08 -0400
Message-Id: <20240407143208.23992-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xl/libxl only applies vkb=[] to PV & PVH guests.  HVM gets only a single
vkb by default, but that can be disabled by the vkb_device boolean.
Notably the HVM vkb cannot be configured, so feature-abs-pointer or the
backend-type cannot be specified.

Re-arrange the logic so that vkb=[] is handled regardless of domain
type.  If vkb is empty or unspecified, follow the vkb_device boolean for
HVMs.  Nothing changes for PVH & PV.  HVMs can now get a configured vkb
instead of just the default one.

The chance for regression is an HVM config with
vkb=["$something"]
vkb_device=false

Which would now get a vkb.

This is useful for vGlass which provides a VKB to HVMs.  vGlass wants to
specify feature-abs-pointer, but that is racily written by vGlass
instead of coming through the xl.cfg.  Unhelpfully, Linux xen-kbdfront
reads the backend nodes without checking that the backend is in
InitWait.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
v2:
Check libxl__device_add() failure
Add Anthony R-b
Add CHANGELOG
Add man xl.cfg
---
 CHANGELOG.md                    |  1 +
 docs/man/xl.cfg.5.pod.in        |  2 ++
 tools/libs/light/libxl_create.c | 27 +++++++++++++++------------
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 93fda73c00..8041cfb7d2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - HVM PIRQs are disabled by default.
    - Reduce IOMMU setup time for hardware domain.
+ - xl/libxl configures vkb=[] for HVM domains with priority over vkb_device.
 
 ### Added
  - On x86:
diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 039e057318..8f2b375ce9 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2710,6 +2710,8 @@ device.
 
 Specifies that the HVM guest gets a vkdb. The default is true (1).
 
+This option is only used when B<vkb=[]> is unset.
+
 =item B<usb=BOOLEAN>
 
 Enables or disables an emulated USB bus in the guest.
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 5546335973..41252ec553 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1769,24 +1769,32 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_add(gc, domid, &libxl__virtio_devtype,
                           &d_config->virtios[i]);
 
+    if (d_config->num_vkbs) {
+        for (i = 0; i < d_config->num_vkbs; i++) {
+            ret = libxl__device_add(gc, domid, &libxl__vkb_devtype,
+                                    &d_config->vkbs[i]);
+            if (ret) goto error_out;
+        }
+    } else if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM &&
+               libxl_defbool_val(d_config->b_info.u.hvm.vkb_device)) {
+        libxl_device_vkb vkb;
+
+        libxl_device_vkb_init(&vkb);
+        libxl__device_add(gc, domid, &libxl__vkb_devtype, &vkb);
+        libxl_device_vkb_dispose(&vkb);
+    }
+
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
         libxl__device_console console;
         libxl__device device;
-        libxl_device_vkb vkb;
 
         init_console_info(gc, &console, 0);
         console.backend_domid = state->console_domid;
         libxl__device_console_add(gc, domid, &console, state, &device);
         libxl__device_console_dispose(&console);
 
-        if (libxl_defbool_val(d_config->b_info.u.hvm.vkb_device)) {
-            libxl_device_vkb_init(&vkb);
-            libxl__device_add(gc, domid, &libxl__vkb_devtype, &vkb);
-            libxl_device_vkb_dispose(&vkb);
-        }
-
         dcs->sdss.dm.guest_domid = domid;
         if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
             libxl__spawn_stub_dm(egc, &dcs->sdss);
@@ -1814,11 +1822,6 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
                               &d_config->vfbs[i]);
         }
 
-        for (i = 0; i < d_config->num_vkbs; i++) {
-            libxl__device_add(gc, domid, &libxl__vkb_devtype,
-                              &d_config->vkbs[i]);
-        }
-
         if (d_config->b_info.arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) {
             init_console_info(gc, &vuart, 0);
             vuart.backend_domid = state->console_domid;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 14:36:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 14:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701650.1095974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtTda-0002aW-Rl; Sun, 07 Apr 2024 14:36:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701650.1095974; Sun, 07 Apr 2024 14: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 1rtTda-0002aP-P5; Sun, 07 Apr 2024 14:36:50 +0000
Received: by outflank-mailman (input) for mailman id 701650;
 Sun, 07 Apr 2024 14:36: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=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtTdZ-0002aJ-Rf
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 14:36:49 +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 42ce956b-f4ec-11ee-a1ef-f123f15fe8a2;
 Sun, 07 Apr 2024 16:36:47 +0200 (CEST)
Received: by mail-oi1-x22a.google.com with SMTP id
 5614622812f47-3c5e665aa35so797639b6e.1
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 07:36:47 -0700 (PDT)
Received: from shine.lan
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 kc13-20020a05622a44cd00b00433002038a2sm2697099qtb.44.2024.04.07.07.36.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 07:36:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42ce956b-f4ec-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712500605; x=1713105405; 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=sFimyOtBQF9vvC+ajrQfZ0cuHWGkcVghzuzt4YzNc2A=;
        b=Xmww4zSiDra68zqkBTNAJc9kWU+tzZPuVVK92EvhOvFZrkwDXfKMatx45rKcdhUFtt
         KMUE6UttDVa7RXJHT6n2o/W4jmQoAQBlU9E+E9+LUuqn5Dut06rvxVx/lkwZgPvSypja
         je5PsNCzDo6qEwmG18xYFJwVBAa+OpT2G0sggRcdCnHD6ln42475e+QTP0rHT/ll8S69
         l7oon5xmqVYa5JX3UVXtGsYwaKWLddvHhim4DA5IRpprSDYcZ2+0iucTt+sU/szUTXfU
         77DvyQG0dszZWQOugGi095mZe9UUdQsz+LoRIyexCN/5mpHzsT9J0GVN9HHmSmawzVho
         ATjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712500605; x=1713105405;
        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=sFimyOtBQF9vvC+ajrQfZ0cuHWGkcVghzuzt4YzNc2A=;
        b=qKOnxe3vNrp/IB1MKy0erliBfiCdTz7TXwCOldJkCAk9uBz6NJ7LI7reR2kmdv1K5V
         jT81pO2/COuVuM9IeS1YpqfnVr59sTmOfIbPc2ZXa2gcci3arVS/OE2BI40preSZ63wA
         8cksnB5PrxOG6tSy18KESv/h1qTc1OkBeyQVGzktD6w0afSi8GFLHxCm7yzKNhqmlD/U
         4w2pC5r9cDQiqL8IY6pYLm/lryJZ5wXpCrtN5pN+y+e00LPvbqiFshmqJCcKVPBg02t9
         zPPg2lzk/jZhftNmSvh1aiq4fIGrMpiFK+1d21YMPq9+AZ991b3le5boIXqtXkVKOgpK
         3dlQ==
X-Gm-Message-State: AOJu0YxpzQn8U2lV7jvklGr1dnaGr5dZTnB7Mu1FGPQVkVVolKR7Qvcd
	s5VpbRYFlnRhjSewCdFetuwuG/boauRg6VhKg1jtI2uxTQU03loMlC11+NAb
X-Google-Smtp-Source: AGHT+IFrY0Eua0LnKBP4e9qyUZPxqXIJeEuCTLdhlvCYexNFIn5m0XOjV7t0/xjocnu8tWYHyuDG+A==
X-Received: by 2002:a54:4606:0:b0:3c3:7ba2:1579 with SMTP id p6-20020a544606000000b003c37ba21579mr7366663oip.24.1712500604556;
        Sun, 07 Apr 2024 07:36:44 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2] libxl: Enable stubdom cdrom changing
Date: Sun,  7 Apr 2024 10:36:33 -0400
Message-Id: <20240407143633.24108-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To change the cd-rom medium, libxl will:
 - QMP eject the medium from QEMU
 - block-detach the old PV disk
 - block-attach the new PV disk
 - QMP change the medium to the new PV disk by fdset-id

The QMP code is reused, and remove and attach are implemented here.

The stubdom must internally handle adding /dev/xvdc to the appropriate
fdset.  libxl in dom0 doesn't see the result of adding to the fdset as
that is internal to the stubdom, but the fdset's opaque fields will be
set to stub-devid:$devid, so libxl can identify it.  $devid is common
between the stubdom and libxl, so it can be identified on both side.
The stubdom will name the device xvdY regardless of the guest name hdY,
sdY, or xvdY, but the stubdom will be assigned the same devid
facilitating lookup.  Because the stubdom add-fd call is asynchronous,
libxl needs to poll query-fdsets to identify when add-fd has completed.

For cd-eject, we still need to attach the empty vbd.  This is necessary
since xenstore is used to determine that hdc exists.  Otherwise after
eject, hdc would be gone and the cd-insert would fail to find the drive
to insert new media.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
QEMU inside the stubdom can be sandboxed disallowing opening the devices
by path name, so QMP add-fd is used like with dom0 QEMU depriv.

v1 allowed ERROR_JSON_CONFIG_EMPTY "because a stubdom don't have a json
config," but it is disallowed in v2 since the guest should be acted on.
It seems fine in testing.  The missing JSON was probably from OpenXT
having disabled JSON configs in the past.

v2
Use query-fdsets for removal and addition - stub-devid:$devid
Re-use aodev instead of 2nd aodev_del
Rename some functions
Support sdX vdevs
Get stubdomid from cis->disk_domid in stubdom callbacks
Use if (rc) not if (rc != 0)
Remove comment about libxl_device_disk_remove
Use EGC_GC not STATE_AO_GC
Re-work and eliminate cdrom_insert_stubdom_query_fdset_retry
Change some messages
Allow missing removal fdset in case it wasn't added during startup.
Drop LOGD(... rc=%d)
---
 docs/misc/stubdom.txt         |  10 +
 tools/libs/light/libxl_disk.c | 411 ++++++++++++++++++++++++++++++++--
 2 files changed, 397 insertions(+), 24 deletions(-)

diff --git a/docs/misc/stubdom.txt b/docs/misc/stubdom.txt
index c717a95d17..64c220db20 100644
--- a/docs/misc/stubdom.txt
+++ b/docs/misc/stubdom.txt
@@ -127,6 +127,16 @@ Limitations:
  - at most 26 emulated disks are supported (more are still available as PV disks)
  - graphics output (VNC/SDL/Spice) not supported
 
+CD-ROM changing:
+
+To change the CD-ROM medium, libxl will:
+ - QMP eject the medium from QEMU
+ - block-detach the old PV disk
+ - block-attach the new PV disk
+ - QMP change the medium to the new PV disk by fdset-id
+
+The stubdom must internally add /dev/xvdc to an fdset in QEMU with opaque set
+to "stub-devid:$devid".  libxl will lookup the fdset with that string.
 
                                    PV-GRUB
                                    =======
diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c
index fa7856f28c..819d34933b 100644
--- a/tools/libs/light/libxl_disk.c
+++ b/tools/libs/light/libxl_disk.c
@@ -829,21 +829,122 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
     return rc;
 }
 
+/*
+ * Search through the query-fdsets JSON looking for a matching devid.
+ *
+ * If found, return the fdset-id integer (>=0).
+ *
+ * If not found, return ERROR_NOTFOUND.
+ *
+ * On error, return libxl ERROR_*.
+ */
+static int query_fdsets_find_fdset(libxl__gc *gc,
+                                   const libxl__json_object *response,
+                                   int devid)
+{
+    const libxl__json_object *fdset;
+    const char *needle = GCSPRINTF("stub-devid:%d", devid);
+    int i, j, rc;
+
+    /* query-fdsets returns:
+     * [
+     *   { "fds": [
+     *       { "fd": 30,
+     *         "opaque": "stub-devid:2080"
+     *       }
+     *     ],
+     *     "fdset-id": 1
+     *   }
+     * ]
+     */
+    for (i = 0; (fdset = libxl__json_array_get(response, i)); i++) {
+        const libxl__json_object *fdset_id;
+        const libxl__json_object *fds;
+        const libxl__json_object *fd;
+
+        fdset_id = libxl__json_map_get("fdset-id", fdset, JSON_INTEGER);
+        if (!fdset_id) {
+            rc = ERROR_QEMU_API;
+            goto out;
+        }
+        LOG(DEBUG, "fdset-id=%lld", libxl__json_object_get_integer(fdset_id));
+
+        fds = libxl__json_map_get("fds", fdset, JSON_ARRAY);
+        if (!fds) {
+            rc = ERROR_QEMU_API;
+            goto out;
+        }
+        for (j = 0; (fd = libxl__json_array_get(fds, j)); j++) {
+            const libxl__json_object *fd_num;
+            const libxl__json_object *opaque;
+            const char *opaque_str;
+
+            fd_num = libxl__json_map_get("fd", fd, JSON_INTEGER);
+            if (!fd_num) {
+                rc = ERROR_QEMU_API;
+                goto out;
+            }
+            opaque = libxl__json_map_get("opaque", fd, JSON_STRING);
+            if (!opaque) {
+                continue;
+            }
+
+            opaque_str = libxl__json_object_get_string(opaque);
+            LOG(DEBUG, "fd=%lld opaque='%s'",
+                libxl__json_object_get_integer(fd_num), opaque_str);
+            if (strcmp(opaque_str, needle) == 0) {
+                return libxl__json_object_get_integer(fdset_id);
+            }
+        }
+    }
+    rc = ERROR_NOTFOUND;
+
+ out:
+    return rc;
+}
+
 typedef struct {
     libxl__ao *ao;
+    libxl__ao_device aodev;
     libxl_domid domid;
+    libxl_domid disk_domid;
     libxl_device_disk *disk;
     libxl_device_disk disk_saved;
     libxl__ev_slowlock qmp_lock;
     int dm_ver;
     libxl__ev_time time;
+    libxl__ev_time timeout_retry;
     libxl__ev_qmp qmp;
+    int retries;
+    int stubdom_fdset;
 } libxl__cdrom_insert_state;
 
 static void cdrom_insert_lock_acquired(libxl__egc *, libxl__ev_slowlock *,
                                        int rc);
 static void cdrom_insert_qmp_connected(libxl__egc *, libxl__ev_qmp *,
                                        const libxl__json_object *, int rc);
+static void cdrom_insert_stubdom_query_fdset_rm(libxl__egc *egc,
+                                                libxl__ev_qmp *qmp,
+                                                const libxl__json_object *resp,
+                                                int rc);
+static void cdrom_insert_stubdom_parse_fdset_rm(libxl__egc *egc,
+                                                libxl__ev_qmp *qmp,
+                                                const libxl__json_object *resp,
+                                                int rc);
+static void cdrom_insert_stubdom_ejected(libxl__egc *egc, libxl__ev_qmp *,
+                                         const libxl__json_object *, int rc);
+static void cdrom_insert_stubdom_disk_remove_cb(libxl__egc *egc,
+                                                 libxl__ao_device *aodev);
+static void cdrom_insert_stubdom_disk_add_cb(libxl__egc *egc,
+                                             libxl__ao_device *aodev);
+static void cdrom_insert_stubdom_query_fdset(libxl__egc *egc,
+                                             libxl__ev_time *ev,
+                                             const struct timeval *abs,
+                                             int rc);
+static void cdrom_insert_stubdom_parse_fdset(libxl__egc *egc,
+                                             libxl__ev_qmp *qmp,
+                                             const libxl__json_object *response,
+                                             int rc);
 static void cdrom_insert_ejected(libxl__egc *egc, libxl__ev_qmp *,
                                  const libxl__json_object *, int rc);
 static void cdrom_insert_addfd_cb(libxl__egc *egc, libxl__ev_qmp *,
@@ -865,6 +966,7 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
     libxl_device_disk *disks = NULL;
     int rc;
     libxl__cdrom_insert_state *cis;
+    libxl_domid stubdomid;
 
     GCNEW(cis);
     cis->ao = ao;
@@ -876,6 +978,8 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
     cis->qmp_lock.ao = ao;
     cis->qmp_lock.domid = domid;
     libxl__ev_time_init(&cis->time);
+    libxl__ev_time_init(&cis->timeout_retry);
+    cis->retries = 0;
     libxl__ev_qmp_init(&cis->qmp);
     cis->qmp.ao = ao;
     cis->qmp.domid = domid;
@@ -892,12 +996,6 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
         goto out;
     }
 
-    if (libxl_get_stubdom_id(ctx, domid) != 0) {
-        LOGD(ERROR, domid, "cdrom-insert doesn't work for stub domains");
-        rc = ERROR_INVAL;
-        goto out;
-    }
-
     cis->dm_ver = libxl__device_model_version_running(gc, domid);
     if (cis->dm_ver == -1) {
         LOGD(ERROR, domid, "Cannot determine device model version");
@@ -905,7 +1003,22 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
         goto out;
     }
 
-    disks = libxl__device_list(gc, &libxl__disk_devtype, domid, &num);
+    stubdomid = libxl_get_stubdom_id(CTX, cis->domid);
+    if (stubdomid == 0) {
+        cis->disk_domid = domid;
+    } else {
+        cis->disk_domid = stubdomid;
+        disk->backend = LIBXL_DISK_BACKEND_PHY;
+    }
+
+    if (cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN_TRADITIONAL &&
+        stubdomid) {
+        LOGD(ERROR, domid, "cdrom-insert doesn't work for Mini-OS stubdoms");
+        rc = ERROR_INVAL;
+        goto out;
+    }
+
+    disks = libxl__device_list(gc, &libxl__disk_devtype, cis->disk_domid, &num);
     for (i = 0; i < num; i++) {
         if (disks[i].is_cdrom && !strcmp(disk->vdev, disks[i].vdev))
         {
@@ -920,7 +1033,7 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
         goto out;
     }
 
-    rc = libxl__device_disk_setdefault(gc, domid, disk, false);
+    rc = libxl__device_disk_setdefault(gc, cis->disk_domid, disk, false);
     if (rc) goto out;
 
     if (!disk->pdev_path) {
@@ -994,7 +1107,12 @@ static void cdrom_insert_qmp_connected(libxl__egc *egc, libxl__ev_qmp *qmp,
         QMP_PARAMETERS_SPRINTF(&args, "id", "ide-%i", devid);
     else
         QMP_PARAMETERS_SPRINTF(&args, "device", "ide-%i", devid);
-    qmp->callback = cdrom_insert_ejected;
+
+    if (libxl_get_stubdom_id(CTX, cis->domid))
+        qmp->callback = cdrom_insert_stubdom_query_fdset_rm;
+    else
+        qmp->callback = cdrom_insert_ejected;
+
     rc = libxl__ev_qmp_send(egc, qmp, "eject", args);
     if (rc) goto out;
     return;
@@ -1002,6 +1120,224 @@ out:
     cdrom_insert_done(egc, cis, rc); /* must be last */
 }
 
+static void cdrom_insert_stubdom_query_fdset_rm(libxl__egc *egc,
+                                                libxl__ev_qmp *qmp,
+                                                const libxl__json_object *resp,
+                                                int rc)
+{
+    libxl__cdrom_insert_state *cis = CONTAINER_OF(qmp, *cis, qmp);
+    STATE_AO_GC(cis->ao);
+
+    if (rc) goto out;
+
+    /* Only called for qemu-xen/linux stubdom. */
+    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
+
+    cis->qmp.callback = cdrom_insert_stubdom_parse_fdset_rm;
+
+    rc = libxl__ev_qmp_send(egc, &cis->qmp, "query-fdsets", NULL);
+    if (rc) goto out;
+
+    return;
+
+ out:
+    cdrom_insert_done(egc, cis, rc); /* must be last */
+}
+
+static void cdrom_insert_stubdom_parse_fdset_rm(libxl__egc *egc,
+                                                libxl__ev_qmp *qmp,
+                                                const libxl__json_object *resp,
+                                                int rc)
+{
+    EGC_GC;
+    libxl__cdrom_insert_state *cis = CONTAINER_OF(qmp, *cis, qmp);
+    int devid;
+    int fdset;
+
+    if (rc) goto out;
+
+    /* Only called for qemu-xen/linux stubdom. */
+    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
+
+    devid = libxl__device_disk_dev_number(cis->disk->vdev, NULL, NULL);
+    fdset = query_fdsets_find_fdset(gc, resp, devid);
+    if (fdset >= 0) goto found;
+    if (fdset != ERROR_NOTFOUND) {
+        rc = fdset;
+        goto out;
+    }
+
+    LOGD(DEBUG, cis->domid, "No fdset found - skipping remove-fd");
+    cdrom_insert_stubdom_ejected(egc, qmp, resp, 0);
+
+    return;
+
+ found:
+    cis->stubdom_fdset = fdset;
+
+    LOGD(DEBUG, cis->domid, "Found fdset %d", cis->stubdom_fdset);
+
+    libxl__json_object *args = NULL;
+
+    libxl__qmp_param_add_integer(gc, &args, "fdset-id", cis->stubdom_fdset);
+
+    cis->qmp.callback = cdrom_insert_stubdom_ejected;
+
+    rc = libxl__ev_qmp_send(egc, &cis->qmp, "remove-fd", args);
+    if (rc) goto out;
+
+    return;
+
+ out:
+    cdrom_insert_done(egc, cis, rc); /* must be last */
+}
+
+
+static void cdrom_insert_stubdom_ejected(libxl__egc *egc, libxl__ev_qmp *qmp,
+                                         const libxl__json_object *response,
+                                         int rc)
+{
+    libxl__cdrom_insert_state *cis = CONTAINER_OF(qmp, *cis, qmp);
+    libxl__device *device;
+    STATE_AO_GC(cis->ao);
+    domid_t stubdomid = cis->disk_domid;
+
+    if (rc) goto out;
+
+    GCNEW(device);
+    rc = libxl__device_from_disk(gc, stubdomid, cis->disk, device);
+    if (rc) goto out;
+
+    /* stubdom PV block dev eject */
+    libxl__prepare_ao_device(ao, &cis->aodev);
+    cis->aodev.action = LIBXL__DEVICE_ACTION_REMOVE;
+    cis->aodev.dev = device;
+    cis->aodev.callback = cdrom_insert_stubdom_disk_remove_cb;
+    cis->aodev.force.flag = LIBXL__FORCE_OFF;
+    libxl__initiate_device_generic_remove(egc, &cis->aodev);
+    return;
+
+ out:
+    cdrom_insert_done(egc, cis, rc); /* must be last */
+}
+
+static void cdrom_insert_stubdom_disk_remove_cb(libxl__egc *egc,
+                                                 libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    libxl__cdrom_insert_state *cis = CONTAINER_OF(aodev, *cis, aodev);
+    domid_t stubdomid = cis->disk_domid;
+
+    if (aodev->rc) {
+        LOGD(ERROR, aodev->dev->domid, "Unable to remove stubdom PV disk id %u",
+             aodev->dev->devid);
+        goto out;
+    }
+
+    /* block dev insert - this may be inserting an empty disk for eject. */
+    libxl__prepare_ao_device(ao, &cis->aodev);
+    /* set an ao callback to end up in cdrom_insert_ejected */
+    cis->aodev.callback = cdrom_insert_stubdom_disk_add_cb;
+    libxl__device_disk_add(egc, stubdomid, cis->disk, &cis->aodev);
+
+    return;
+
+ out:
+    cdrom_insert_done(egc, cis, aodev->rc); /* must be last */
+}
+
+static void cdrom_insert_stubdom_disk_add_cb(libxl__egc *egc,
+                                             libxl__ao_device *aodev)
+{
+    EGC_GC;
+    libxl__cdrom_insert_state *cis = CONTAINER_OF(aodev, *cis, aodev);
+
+    if (aodev->rc) {
+        LOGD(ERROR, aodev->dev->domid, "Unable to insert stubdom PV disk id %u",
+             aodev->dev->devid);
+        goto out;
+    }
+
+    cdrom_insert_stubdom_query_fdset(egc, &cis->timeout_retry, NULL, aodev->rc);
+    return;
+
+ out:
+    cdrom_insert_done(egc, cis, aodev->rc);
+}
+
+static void cdrom_insert_stubdom_query_fdset(libxl__egc *egc,
+                                             libxl__ev_time *ev,
+                                             const struct timeval *abs,
+                                             int rc)
+{
+    EGC_GC;
+    libxl__cdrom_insert_state *cis = CONTAINER_OF(ev, *cis, timeout_retry);
+
+    /* When called as an ev_time callback, rc will be ERROR_TIMEDOUT.*/
+    if (rc && rc != ERROR_TIMEDOUT) goto out;
+
+    /* Only called for qemu-xen/linux stubdom. */
+    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
+
+    cis->qmp.callback = cdrom_insert_stubdom_parse_fdset;
+
+    rc = libxl__ev_qmp_send(egc, &cis->qmp, "query-fdsets", NULL);
+    if (rc) goto out;
+
+    return;
+
+ out:
+    cdrom_insert_done(egc, cis, rc); /* must be last */
+}
+
+static void cdrom_insert_stubdom_parse_fdset(libxl__egc *egc,
+                                             libxl__ev_qmp *qmp,
+                                             const libxl__json_object *response,
+                                             int rc)
+{
+    EGC_GC;
+    libxl__cdrom_insert_state *cis = CONTAINER_OF(qmp, *cis, qmp);
+    int devid;
+    int fdset;
+
+    if (rc) goto out;
+
+    /* Only called for qemu-xen/linux stubdom. */
+    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
+
+    devid = libxl__device_disk_dev_number(cis->disk->vdev, NULL, NULL);
+    fdset = query_fdsets_find_fdset(gc, response, devid);
+    if (fdset >= 0) goto found;
+    if (fdset != ERROR_NOTFOUND) {
+        rc = fdset;
+        goto out;
+    }
+
+    if (cis->retries++ > 10) {
+        LOGD(DEBUG, cis->domid, "Out of query-fdsets retries");
+        rc = ERROR_TIMEDOUT;
+        goto out;
+    }
+
+    LOGD(DEBUG, cis->domid, "Scheduling query-fdsets retry %d", cis->retries);
+    rc = libxl__ev_time_register_rel(cis->ao, &cis->timeout_retry,
+                                     cdrom_insert_stubdom_query_fdset,
+                                     200);
+    if (rc) goto out;
+
+    return;
+
+ found:
+    cis->stubdom_fdset = fdset;
+
+    LOGD(DEBUG, cis->domid, "Found fdset %d", cis->stubdom_fdset);
+    cdrom_insert_ejected(egc, &cis->qmp, NULL, rc);
+    return;
+
+ out:
+    cdrom_insert_done(egc, cis, rc); /* must be last */
+}
+
 static void cdrom_insert_ejected(libxl__egc *egc,
                                  libxl__ev_qmp *qmp,
                                  const libxl__json_object *response,
@@ -1026,7 +1362,7 @@ static void cdrom_insert_ejected(libxl__egc *egc,
 
     if (rc) goto out;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    rc = libxl__device_from_disk(gc, cis->disk_domid, disk, &device);
     if (rc) goto out;
     be_path = libxl__device_backend_path(gc, &device);
     libxl_path = libxl__device_libxl_path(gc, &device);
@@ -1081,10 +1417,13 @@ static void cdrom_insert_ejected(libxl__egc *egc,
     rc = libxl__dm_check_start(gc, &d_config, domid);
     if (rc) goto out;
 
+    /* A linux stubdom will perform add-fd with calculated stubdom_fdset. */
     if (cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN &&
+        libxl_get_stubdom_id(CTX, cis->domid) == 0 &&
         disk->format != LIBXL_DISK_FORMAT_EMPTY) {
         libxl__json_object *args = NULL;
 
+        LOGD(DEBUG, cis->domid, "Doing QMP add-fd path");
         assert(qmp->payload_fd == -1);
         qmp->payload_fd = open(disk->pdev_path, O_RDONLY);
         if (qmp->payload_fd < 0) {
@@ -1094,7 +1433,11 @@ static void cdrom_insert_ejected(libxl__egc *egc,
             goto out;
         }
 
-        /* This free form parameter is not use by QEMU or libxl. */
+        /*
+         * This free form parameter is not used by QEMU or non-stubdom libxl.
+         * For a linux stubdom, opaque is set to "stub-devid:$devid" to
+         * identify the fdset.
+         */
         QMP_PARAMETERS_SPRINTF(&args, "opaque", "%s:%s",
                                libxl_disk_format_to_string(disk->format),
                                disk->pdev_path);
@@ -1103,6 +1446,7 @@ static void cdrom_insert_ejected(libxl__egc *egc,
         if (rc) goto out;
         has_callback = true;
     } else {
+        LOGD(DEBUG, cis->domid, "Skipping QMP add-fd path");
         has_callback = false;
     }
 
@@ -1115,8 +1459,16 @@ out:
     if (rc) {
         cdrom_insert_done(egc, cis, rc); /* must be last */
     } else if (!has_callback) {
-        /* Only called if no asynchronous callback are set. */
-        cdrom_insert_inserted(egc, qmp, NULL, 0); /* must be last */
+        if (libxl_get_stubdom_id(CTX, cis->domid) &&
+            disk->format != LIBXL_DISK_FORMAT_EMPTY) {
+            LOGD(DEBUG, cis->domid,
+                 "stubdom %d needs to perform add-fd internally",
+                 libxl_get_stubdom_id(CTX, cis->domid));
+            cdrom_insert_addfd_cb(egc, qmp, NULL, 0); /* must be last */
+        } else  {
+            /* Only called if no asynchronous callback are set. */
+            cdrom_insert_inserted(egc, qmp, NULL, 0); /* must be last */
+        }
     }
 }
 
@@ -1135,17 +1487,22 @@ static void cdrom_insert_addfd_cb(libxl__egc *egc,
     /* convenience aliases */
     libxl_device_disk *disk = cis->disk;
 
-    close(qmp->payload_fd);
-    qmp->payload_fd = -1;
-
     if (rc) goto out;
 
-    o = libxl__json_map_get("fdset-id", response, JSON_INTEGER);
-    if (!o) {
-        rc = ERROR_FAIL;
-        goto out;
+    /* response non-NULL only for non-stubdom */
+    if (response) {
+        close(qmp->payload_fd);
+        qmp->payload_fd = -1;
+
+        o = libxl__json_map_get("fdset-id", response, JSON_INTEGER);
+        if (!o) {
+            rc = ERROR_FAIL;
+            goto out;
+        }
+        fdset = libxl__json_object_get_integer(o);
+    } else {
+        fdset = cis->stubdom_fdset;
     }
-    fdset = libxl__json_object_get_integer(o);
 
     devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
     qmp->callback = cdrom_insert_inserted;
@@ -1158,8 +1515,13 @@ static void cdrom_insert_addfd_cb(libxl__egc *egc,
     if (libxl__qmp_ev_qemu_compare_version(qmp, 2, 8, 0) >= 0) {
         QMP_PARAMETERS_SPRINTF(&args, "id", "ide-%i", devid);
         QMP_PARAMETERS_SPRINTF(&args, "filename", "/dev/fdset/%d", fdset);
-        libxl__qmp_param_add_string(gc, &args, "format",
-            libxl__qemu_disk_format_string(disk->format));
+        if (response) {
+            libxl__qmp_param_add_string(gc, &args, "format",
+                libxl__qemu_disk_format_string(disk->format));
+        } else {
+            /* Stubdom is using blockdev /dev/xvd* */
+            libxl__qmp_param_add_string(gc, &args, "format", "host_device");
+        }
         rc = libxl__ev_qmp_send(egc, qmp, "blockdev-change-medium", args);
     } else {
         QMP_PARAMETERS_SPRINTF(&args, "device", "ide-%i", devid);
@@ -1196,7 +1558,7 @@ static void cdrom_insert_inserted(libxl__egc *egc,
 
     if (rc) goto out;
 
-    rc = libxl__device_from_disk(gc, domid, disk, &device);
+    rc = libxl__device_from_disk(gc, cis->disk_domid, disk, &device);
     if (rc) goto out;
     be_path = libxl__device_backend_path(gc, &device);
     libxl_path = libxl__device_libxl_path(gc, &device);
@@ -1281,6 +1643,7 @@ static void cdrom_insert_done(libxl__egc *egc,
     EGC_GC;
 
     libxl__ev_time_deregister(gc, &cis->time);
+    libxl__ev_time_deregister(gc, &cis->timeout_retry);
     libxl__ev_qmp_dispose(gc, &cis->qmp);
     if (cis->qmp.payload_fd >= 0) close(cis->qmp.payload_fd);
     libxl__ev_slowlock_unlock(gc, &cis->qmp_lock);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 20:00:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 20:00:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701674.1095983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtYgm-0007Fr-LO; Sun, 07 Apr 2024 20:00:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701674.1095983; Sun, 07 Apr 2024 20: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 1rtYgm-0007Fk-IL; Sun, 07 Apr 2024 20:00:28 +0000
Received: by outflank-mailman (input) for mailman id 701674;
 Sun, 07 Apr 2024 20: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=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtYgl-0007Fe-7b
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:00:27 +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 790b14a4-f519-11ee-a1ef-f123f15fe8a2;
 Sun, 07 Apr 2024 22:00:25 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2d6ff0422a2so46084141fa.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 13:00: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: 790b14a4-f519-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712520024; x=1713124824; 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=m965x1xkDyUyEkwRlIQaHJy6L5GhiWVq9g0+EGe6DjE=;
        b=Ab1gr88C5MmzNNP0gCwVJSQXQWh/GHCenDmHPsOT5yK632a1TsaN/L8SNjRE+OuK2d
         L6qkakoGPaBZfbLBlyou8gF4Gtb7WCzic0rUYMkegfwmd8y8HZPXZTn6v/EmnK+UK/ck
         Xqqz2Dj8gGBxSZTwgVuJeJ+PY06UOrtk+/mhbpM5yzg/nIyq3d13wS64Aqxp+/eziGEY
         eL7SJECCrOQviB1qzW5M5jp/eCZg+pCzztWEJduLgt9kMszNUaW4nZS7xZH+4eWcsaQK
         KzcDrWkKM8P9l1ZyrEJkcyZxqFqo434V0z/EkeyD6X8u9KVx6jJtztUOqy/T0qLnEDqw
         2ouQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712520024; x=1713124824;
        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=m965x1xkDyUyEkwRlIQaHJy6L5GhiWVq9g0+EGe6DjE=;
        b=n0cmuauBhmWq739whYLGLg9bvfjj+DNii2WiM49jHHfoW2I5o9dXi4Hor7tPP6pTK9
         IGVQjgooRIOH9hxFB0McyfOHEBKcFuMrxKYooo87oesG67Uev1m/0IW+fMnirbOnwRFc
         rvrXqVcYw+AYpBJM2eqDYQMpzIpolYFoFtjf9FmSE8LZWCrdygcxdXWaeSZ5KtHjVVGX
         0cWfxjVdcpYGmickjJud2zhzodj8Xyyyiey0AmmGg0XXyTCCOcdIelXf8pIpeJKHs7hN
         g9gr0cpSJAMRUlLXO6whznXx0SieiAu8J/gCWAPSjL9+qTwTlU/7iErpxQV+JE+g7Dr0
         TgzA==
X-Gm-Message-State: AOJu0YxUkjgyqytEnhZw4G1SFRGapefq40Pght5z5I45Z5gqv6lzLIaE
	hHuZ5DoBDWSJ+61In/4VqZ4JBOcwvEgGuaYkCL13DpxjvRqX+WrRoI08xqJ6s/96KS0mW6nSrt+
	Ds8TjkmaYprAu2+dvkziGON7ttJF4b0IK
X-Google-Smtp-Source: AGHT+IF4uWVpmpUMrjTc53b1P3fIZ9fE2buwmhLRJKl8xt8Nll/O27THYSxjqR+rje8/Gu6DUA43swEf7Y1kVIlyQ9Y=
X-Received: by 2002:a2e:9f09:0:b0:2d5:9703:263c with SMTP id
 u9-20020a2e9f09000000b002d59703263cmr5118931ljk.4.1712520023538; Sun, 07 Apr
 2024 13:00:23 -0700 (PDT)
MIME-Version: 1.0
References: <20240407143633.24108-1-jandryuk@gmail.com>
In-Reply-To: <20240407143633.24108-1-jandryuk@gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Sun, 7 Apr 2024 16:00:11 -0400
Message-ID: <CAKf6xpsciLssBNEkj_9=eE+yO8COX=t8xhAB5r4S=TJVgguDbw@mail.gmail.com>
Subject: Re: [PATCH v2] libxl: Enable stubdom cdrom changing
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	Jason Andryuk <jason.andryuk@amd.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: multipart/mixed; boundary="000000000000ad3a0a06158723cf"

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

On Sun, Apr 7, 2024 at 10:36=E2=80=AFAM Jason Andryuk <jandryuk@gmail.com> =
wrote:
>
> To change the cd-rom medium, libxl will:
>  - QMP eject the medium from QEMU
>  - block-detach the old PV disk
>  - block-attach the new PV disk
>  - QMP change the medium to the new PV disk by fdset-id
>
> The QMP code is reused, and remove and attach are implemented here.
>
> The stubdom must internally handle adding /dev/xvdc to the appropriate
> fdset.  libxl in dom0 doesn't see the result of adding to the fdset as
> that is internal to the stubdom, but the fdset's opaque fields will be
> set to stub-devid:$devid, so libxl can identify it.  $devid is common
> between the stubdom and libxl, so it can be identified on both side.
> The stubdom will name the device xvdY regardless of the guest name hdY,
> sdY, or xvdY, but the stubdom will be assigned the same devid
> facilitating lookup.  Because the stubdom add-fd call is asynchronous,
> libxl needs to poll query-fdsets to identify when add-fd has completed.
>
> For cd-eject, we still need to attach the empty vbd.  This is necessary
> since xenstore is used to determine that hdc exists.  Otherwise after
> eject, hdc would be gone and the cd-insert would fail to find the drive
> to insert new media.
>
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---

Also, these are the stubdom side changes.

The stubdom QEMU command line should gain a qmp socket for the script:
-chardev socket,server=3Don,wait=3Doff,path=3D/tmp/qemu-cdrom.qmp,id=3Dm-cd=
rom
-mon chardev=3Dm-cdrom,mode=3Dcontrol

mdev.conf:
# Only add for addition
xvd[a-d] 0:0 660 @qemu-xvdc-add-fd.sh

And the attached qemu-xvdc-add-fd.sh script to call add-fd with
"opaque" set as "stub-devid:$devid".  DEVPATH is only set on hot plug
and not cold plug.  Using it when available avoids IO - busybox
`readlink` will need to be installed in the stubdom.  If cold plugging
is not performed, libxl skips issuing the remove-fd call when it can't
find a matching fdset.

Regards,
Jason

--000000000000ad3a0a06158723cf
Content-Type: application/x-shellscript; name="qemu-xvdc-add-fd.sh"
Content-Disposition: attachment; filename="qemu-xvdc-add-fd.sh"
Content-Transfer-Encoding: base64
Content-ID: <f_lupy3qdb0>
X-Attachment-Id: f_lupy3qdb0

IyEvYmluL3NoCgpleGVjIDE+L2Rldi9jb25zb2xlIDI+JjEKCmFkZCgpIHsKCWlmIFsgLW4gIiRE
RVZQQVRIIiBdIDsgdGhlbgoJCSMgUGFyc2UgREVWUEFUSD0vZGV2aWNlcy92YmQtMjA4MC9ibG9j
ay94dmRjCgkJZGV2aWQ9IiR7REVWUEFUSCMvZGV2aWNlcy92YmQtfSIKCQlkZXZpZD0iJHtkZXZp
ZCUvYmxvY2svJHtNREVWfX0iCgllbHNlCgkJZGV2aWQ9IiQoIHJlYWRsaW5rICIvc3lzL2Jsb2Nr
LyRNREVWL2RldmljZSIgKSIKCQlkZXZpZD0iJHtkZXZpZCMqL3ZiZC19IgoJZmkKCglxbXBfaGVs
bG89JChwcmludGYgJ3siZXhlY3V0ZSI6InFtcF9jYXBhYmlsaXRpZXMiLCJpZCI6MX1cclxuJykK
CXFtcF9hZGRmZD0kKHByaW50ZiAneyJleGVjdXRlIjoiYWRkLWZkIiwgImFyZ3VtZW50cyI6IHsg
Im9wYXF1ZSI6ICIlcyIgfSwgImlkIjo0MiB9XHJcbicgInN0dWItZGV2aWQ6JGRldmlkIiApCgoJ
ZWNobyAiYWRkICRNREVWIHRvIGZkc2V0ICRmZHNldCIKCglmZD0vZGV2L2ZkLzkKCWlmIFsgIiQo
IGNhdCAvc3lzL2NsYXNzL2Jsb2NrLyIkTURFViIvcm8gKSIgLWVxIDEgXSA7IHRoZW4KCQlleGVj
IDk8L2Rldi8iJE1ERVYiCgllbHNlCgkJZXhlYyA5PD4vZGV2LyIkTURFViIKCWZpCgoJYWRkLWZk
IC90bXAvcWVtdS1jZHJvbS5xbXAgIiRmZCIgIiRxbXBfaGVsbG8kcW1wX2FkZGZkIiAiNDIiCgll
Y2hvIGFkZC1mZCByZXR1cm5lZCAiJD8iCgoJZXhlYyA5PCYtCn0KCmNhc2UgIiRBQ1RJT04iIGlu
CglhZGQpCgkJYWRkCgkJOzsKZXNhYwo=
--000000000000ad3a0a06158723cf--


From xen-devel-bounces@lists.xenproject.org Sun Apr 07 20:31:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 20:31:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701677.1095993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZAn-0002nW-UH; Sun, 07 Apr 2024 20:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701677.1095993; Sun, 07 Apr 2024 20: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 1rtZAn-0002nP-Rn; Sun, 07 Apr 2024 20:31:29 +0000
Received: by outflank-mailman (input) for mailman id 701677;
 Sun, 07 Apr 2024 20:31: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 1rtZAn-0002nF-1P; Sun, 07 Apr 2024 20:31: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 1rtZAm-0006pS-Ma; Sun, 07 Apr 2024 20:31: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 1rtZAm-0004Ln-63; Sun, 07 Apr 2024 20:31:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtZAm-0002LS-5d; Sun, 07 Apr 2024 20:31:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=B6OnR9U028CCM4ctKFf8FWYeSMBbnZuWWc3DGbbnx3w=; b=Rx5CLIV0ZreEpOONB1JeGH13TS
	ToQSE3mh76C/TU/3O58ryJLkOiYlKuRHCtqAKAokaZUi5rJPSbU7PM75/MPNnS/fWzZQUV2bvskZT
	19bYsr1JrVhLbU4x0pmekIqfpx/MbrrVnevMgr192yqsee9UIUP+njeU8aj6DjgPrrzI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185266-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185266: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-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
    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-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=f2f80ac809875855ac843f9e5e7480604b5cbff5
X-Osstest-Versions-That:
    linux=104db052b62d3320fd30b23416dd0b2a4ff3b85f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 07 Apr 2024 20:31:28 +0000

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

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 185269-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185254
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185254
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185254
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185254
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185254
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185254
 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-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-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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                f2f80ac809875855ac843f9e5e7480604b5cbff5
baseline version:
 linux                104db052b62d3320fd30b23416dd0b2a4ff3b85f

Last test of basis   185254  2024-04-06 03:00:45 Z    1 days
Testing same since   185266  2024-04-07 09:48:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Goldman <adamg@pobox.com>
  Andi Shyti <andi.shyti@kernel.org>
  Andrey Albershteyn <aalbersh@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Chandan Babu R <chandanbabu@kernel.org>
  Chuck Lever <chuck.lever@oracle.com>
  David Howells <dhowells@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Justin Stitt <justinstitt@google.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Steve French <stfrench@microsoft.com>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Wolfram Sang <wsa+renesas@sang-engineering.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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
   104db052b62d..f2f80ac80987  f2f80ac809875855ac843f9e5e7480604b5cbff5 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Apr 07 20:50:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 20:50:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701683.1096014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZSs-0005mK-QZ; Sun, 07 Apr 2024 20:50:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701683.1096014; Sun, 07 Apr 2024 20: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 1rtZSs-0005mD-NM; Sun, 07 Apr 2024 20:50:10 +0000
Received: by outflank-mailman (input) for mailman id 701683;
 Sun, 07 Apr 2024 20:50:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtZSr-0005XS-BO
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:50:09 +0000
Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com
 [2607:f8b0:4864:20::730])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a86dd41-f520-11ee-a1ef-f123f15fe8a2;
 Sun, 07 Apr 2024 22:50:07 +0200 (CEST)
Received: by mail-qk1-x730.google.com with SMTP id
 af79cd13be357-78d4944e0a9so144364285a.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 13:50:07 -0700 (PDT)
Received: from shine.lan
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 op3-20020a05620a534300b0078a593b54e6sm2512745qkn.96.2024.04.07.13.50.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 13:50: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: 6a86dd41-f520-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712523005; x=1713127805; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=V8EbFCk7pyX9KLNJxLbJbXKheVVaGxukhqPZhBhemso=;
        b=mdkPejn+F8rwNeRo0vdNUFdB6FiUf1E6earn8cMUH6RNQmZ7XjKXZjVLHgUWg+9hIU
         Fx61L7g1jv9FamjNtS8OzSq7rx9IdjIv1s6LR4HC9C+gU6xRhrmz+FWiNZxPvpP7IRsj
         KIMthntI04oIMwDVIagWY4OP2EQylcEcQQzIuZ47WSMtt5P8LyR4aJwFvixDatKdrgIK
         ZaMueY6NaPU6dgMq6wkYrjdH4xEU/Jn129Ycb24EAgqnQF9fnDEPWwZYg0vetfNHbmWO
         7DUcCz7VhrvwX/42VATxqD4IqC3bF6nkulIvb3U0qxKsvC0M4dsGRczOor2qGOIdpNEO
         391Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712523005; x=1713127805;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=V8EbFCk7pyX9KLNJxLbJbXKheVVaGxukhqPZhBhemso=;
        b=xHxosAZSJYcBpmcS4QUjPp+bTd9A9XDT5c5RKTq0xG/KIjOtU20OZGAwR715cxnWRD
         JKgvMq7KCKlxk+W6PRcjYaN5kxdTNziKkYiT9ZfcL1O6dMwLz6o/tA2z2NhUr5pfbrRX
         7QCCWdU7MYnPkw3f4hpNpva2Dd2pGXt0vEtAwfwNZW1ckEwumOiJhuY/ECdtufHHvPH9
         5XqjNUig+RSLkZr/LZOt+KOQoH1N8rSjXPApAD8q6GTsGYxQiF3n6fZcwJ2ADFkfG+US
         7ck0Yb2SzJgu0XRABKn4O2vVcIcFAv5/E3aNJbXE6njtMvJan211HDdAcY6SBonZokjF
         O81Q==
X-Gm-Message-State: AOJu0Yy5s3DZt5BGyqyBMdmJKOnyiybJoZ2a7LxTeFZf7O30H8ual8JH
	e7ocicGUfqrLHb/r5Xj/UFJdtSM2Bpg/+sfR4dLqmjfdlExOurWpWB6Ir0CV
X-Google-Smtp-Source: AGHT+IF3lgmcx5KUKZv6afRZZQhja5ZM9Vnojc55e71pmOFMggCiRTrP8zg8/71tRkhG21BOhG30fw==
X-Received: by 2002:a05:620a:8802:b0:78d:640a:4e9a with SMTP id qj2-20020a05620a880200b0078d640a4e9amr2036838qkn.45.1712523005542;
        Sun, 07 Apr 2024 13:50:05 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2 1/3] hotplug: Update block-tap
Date: Sun,  7 Apr 2024 16:49:51 -0400
Message-Id: <20240407204953.60442-2-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240407204953.60442-1-jandryuk@gmail.com>
References: <20240407204953.60442-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement a sharing check like the regular block script.

Checking tapback inside block-tap is too late since it needs to be
running to transition the backend to InitWait before block-tap is run.

tap-ctl check will be removed when the requirement for the blktap kernel
driver is removed.  Remove it now as it is of limited use.

find_device() needs to be non-fatal allow a sharing check.

Only write physical-device-path because that is all that tapback needs.
Also write_dev doesn't handled files and would incorrectly store
physical-device as 0:0 which would confuse the minor inside tapback

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:

Update usage string
Use local more
Don't use local for pid/minor
Use tap-ctl destroy
Use 4 space indent in count_using and check_tap_sharing
---
 tools/hotplug/Linux/block-tap | 169 +++++++++++++++++++++++++++++++---
 1 file changed, 157 insertions(+), 12 deletions(-)

diff --git a/tools/hotplug/Linux/block-tap b/tools/hotplug/Linux/block-tap
index 89247921b9..126e472786 100755
--- a/tools/hotplug/Linux/block-tap
+++ b/tools/hotplug/Linux/block-tap
@@ -18,11 +18,11 @@
 #
 # Usage:
 #
-# Target should be specified using the following syntax:
+# Disks should be specified using the following syntax:
 #
-# script=block-tap,vdev=xvda,target=<type>:<file>
+# vdev=xvda,backendtype=tap,format=vhd,target=/srv/target.vhd
 #
-# Type is either "aio" (for raw files), or "vhd"
+# format is either "aio" (for raw files), or "vhd"
 
 dir=$(dirname "$0")
 . "$dir/block-common.sh"
@@ -37,10 +37,6 @@ check_tools()
     if ! command -v tap-ctl > /dev/null 2>&1; then
         fatal "Unable to find tap-ctl tool"
     fi
-    modprobe blktap
-    if ! tap-ctl check >& /dev/null ; then
-	fatal "Blocktap kernel module not available"
-    fi
 }
 
 # Sets the following global variables based on the params field passed in as
@@ -81,7 +77,109 @@ find_device()
     done
 
     if [ -z "$pid" ] || [ -z "$minor" ]; then
-        fatal "cannot find required parameters"
+        return 1
+    fi
+
+    return 0
+}
+
+count_using()
+{
+    local file="$1"
+    local dom
+    local dev
+    local f
+
+    local i=0
+    local base_path="$XENBUS_BASE_PATH/$XENBUS_TYPE"
+    for dom in $(xenstore-list "$base_path")
+    do
+        for dev in $(xenstore-list "$base_path/$dom")
+        do
+            f=$(xenstore_read_default "$base_path/$dom/$dev/params" "")
+            f=$(echo "$f" | cut -d ":" -f 2)
+
+            if [ -n "$f" ] && [ "$file" = $f ] ; then
+                i=$(( i + 1 ))
+            fi
+        done
+    done
+
+    echo "$i"
+}
+
+# tap_shared is used to determine if a shared tap can be closed
+# Since a stubdom and a guest both use the same tap, it can only
+# be freed when there is a single one left.
+tap_shared() {
+    [ $( count_using "$file" ) -gt 1 ]
+}
+
+check_tap_sharing()
+{
+    local file="$1"
+    local mode="$2"
+    local dom
+    local dev
+
+    local base_path="$XENBUS_BASE_PATH/$XENBUS_TYPE"
+    for dom in $(xenstore-list "$base_path") ; do
+        for dev in $(xenstore-list "$base_path/$dom") ; do
+            local f=$(xenstore_read_default "$base_path/$dom/$dev/params" "")
+            f=$(echo "$f" | cut -d ":" -f 2)
+
+            if [ -n "$f" ] && [ "$file" = "$f" ] ; then
+                if [ "$mode" = 'w' ] ; then
+                    if ! same_vm $dom ; then
+                        echo "guest $f"
+                        return
+                    fi
+                else
+                    local m=$(xenstore_read_default "$base_path/$dom/$dev/mode"
+                                                    "")
+                    m=$(canonicalise_mode "$m")
+
+                    if [ "$m" = 'w' ] ; then
+                        if ! same_vm $dom ; then
+                            echo "guest $f"
+                            return
+                        fi
+                    fi
+                fi
+            fi
+        done
+    done
+
+    echo 'ok'
+}
+
+tap_create()
+{
+    if ! minor=$( tap-ctl allocate ) ; then
+        fatal "Could not allocate minor"
+    fi
+
+    # Handle with or without kernel blktap
+    minor=${minor#/run/blktap-control/tapdisk/tapdisk-}
+    minor=${minor#/dev/xen/blktap-2/tapdev}
+
+    # tap-ctl is spawning tapdisk which would hold the _lockfd open.
+    # Ensure it is closed before running tap-ctl spawn, which needs to be
+    # done in a subshell to continue holding the lock in the parent.
+    if ! pid=$( ( eval "exec $_lockfd>&-" ; tap-ctl spawn ) ) ; then
+        tap-ctl free -m "$minor"
+        fatal "Could not spawn tapdisk for $minor"
+    fi
+
+    if ! tap-ctl attach -p "$pid" -m "$minor" ; then
+        tap-ctl free -m "$minor"
+        fatal "Could not attach $pid and $minor"
+    fi
+
+    if ! tap-ctl open -p "$pid" -m "$minor" -a "$target" ; then
+        tap-ctl detach -p "$pid" -m "$minor"
+        tap-ctl free -m "$minor"
+        fatal "Could not open \"$target\""
     fi
 }
 
@@ -89,15 +187,54 @@ find_device()
 # the device
 add()
 {
-    dev=$(tap-ctl create -a $target)
-    write_dev $dev
+    local result
+
+    claim_lock "block"
+
+    if find_device; then
+        result=$( check_tap_sharing "$file" "$mode" )
+        if [ "$result" != "ok" ] ; then
+            do_ebusy "tap $type file $file in use " "$mode" "${result%% *}"
+        fi
+    else
+        tap_create
+    fi
+
+    # Create nbd unix path.  find_device/tap_create set pid & minor
+    dev=$( printf "/run/blktap-control/nbd%ld.%d" "$pid" "$minor" )
+
+    xenstore_write "$XENBUS_PATH/pid" "$pid"
+    xenstore_write "$XENBUS_PATH/minor" "$minor"
+    # dev, as a unix socket, would end up with major:minor 0:0 in
+    # physical-device if write_dev were used.  tapback would be thrown off by
+    # that incorrect minor, so just skip writing physical-device.
+    xenstore_write "$XENBUS_PATH/physical-device-path" "$dev"
+
+    success
+
+    release_lock "block"
 }
 
 # Disconnects the device
 remove()
 {
-    find_device
-    do_or_die tap-ctl destroy -p ${pid} -m ${minor} > /dev/null
+    local minor
+    local pid
+
+    claim_lock "block"
+
+    if tap_shared ; then
+        return
+    fi
+
+    minor=$( xenstore_read "$XENBUS_PATH/minor" )
+    pid=$( xenstore_read "$XENBUS_PATH/pid" )
+
+    [ -n "$minor" ] || fatal "minor missing"
+    [ -n "$pid" ] || fatal "pid missing"
+    do_or_die tap-ctl destroy -p "$pid" -m "$minor" > /dev/null
+
+    release_lock "block"
 }
 
 command=$1
@@ -110,6 +247,14 @@ parse_target "$target"
 
 check_tools || exit 1
 
+mode=$( xenstore_read $XENBUS_PATH/mode )
+mode=$( canonicalise_mode $mode )
+
+# needed for same_vm
+FRONTEND_ID=$(xenstore_read "$XENBUS_PATH/frontend-id")
+FRONTEND_UUID=$(xenstore_read_default \
+                    "/local/domain/$FRONTEND_ID/vm" 'unknown')
+
 case $command in
 add)
     add
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 20:50:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 20:50:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701684.1096024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZSv-00061z-1a; Sun, 07 Apr 2024 20:50:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701684.1096024; Sun, 07 Apr 2024 20:50: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 1rtZSu-00061p-V5; Sun, 07 Apr 2024 20:50:12 +0000
Received: by outflank-mailman (input) for mailman id 701684;
 Sun, 07 Apr 2024 20:50: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=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtZSt-0005XS-Ch
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:50:11 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6bcf080c-f520-11ee-a1ef-f123f15fe8a2;
 Sun, 07 Apr 2024 22:50:09 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-78d57bd577dso99044185a.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 13:50:09 -0700 (PDT)
Received: from shine.lan
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 op3-20020a05620a534300b0078a593b54e6sm2512745qkn.96.2024.04.07.13.50.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 13:50: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: 6bcf080c-f520-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712523008; x=1713127808; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8ZDvIUsAKPV206Pd7mJP42UrMWzTymOhx8HDziGsICo=;
        b=nmd2oqZzt/S1y3MZrB+gnyY74DWnepC6jgRdQInSEjQdBGe8W2M1yW+jECCt4vSiCF
         Pc/cL0yGfR4YIsHxNJ7Uy0v0EE3q7Is0kmLOFOSxDhGMHGmS/0PWQSwiJXwje898gyEP
         5Dqltt5m9MsPzFOnqDXWZMX9VQ99aMRGY6xBBMEvgSsSvSMLSVAAx4Gm3/mCyZWyTeKP
         v6+9atH21MaLP0s1r5OsPXu+Cqd/NOeMUtkLN5pjzHUX3uX7vO8XCsz2KTl0ooyWkuVf
         t8B7mbHBVgcTKJJMlncj70ONpSLshaXhNnenY0f4Yd/t+H6kADpjLUXEoNfAzCDRZgeE
         +U9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712523008; x=1713127808;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8ZDvIUsAKPV206Pd7mJP42UrMWzTymOhx8HDziGsICo=;
        b=T28fcxe2C8kfsI8VAajr4oQcg7MLIBZmt/0yLL5iyjF8hRlf7D2/QmyI+rSXo5d1jl
         8OUcp2elXPHVsdLGAEKwnUct1BABVcq58jceR5RKAhJvvnJTT0J5vq38Dlu2EOceLLIA
         K1w46dLcpPLmgh0jME5V3Z4j//N/VtaADekS1lF1USAO79uL4slHNNAExkpN/Yl/YzzB
         Aes/8GmQQ/eBTe/H8lf0UFX8ZlUJ23TEN1TVcIbzNF8dygDU4f2et0lTxlRtpeeBu5XE
         epR7irsjZdgpHeBeRoQXVI1JrV0St+zc/OIXK0rlpVCEzX0VMKzCdsshmcXzIyq8Eu+e
         pdpA==
X-Gm-Message-State: AOJu0Ywa8XgkxZH79Vwpudc5+jStg4K41zOLhEuzKBrzeo2LFA3AHgqu
	LK7rMwPLG2BoyQVW5ucn26xJ/GXyudkw9U0rRs4Y1pWwQjVdSqXBwIEvTc/0
X-Google-Smtp-Source: AGHT+IHUCCTAjf79Y8ZrkaloLomDLgJ1qtrOdgfyTEx1LMnfPTvwUnlErnzAeFfIv6z7S6NKdYtEmg==
X-Received: by 2002:ae9:ea03:0:b0:78b:e7ed:2a08 with SMTP id f3-20020ae9ea03000000b0078be7ed2a08mr7479809qkg.41.1712523007822;
        Sun, 07 Apr 2024 13:50:07 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2 2/3] libxl: Support blktap with HVM device model
Date: Sun,  7 Apr 2024 16:49:52 -0400
Message-Id: <20240407204953.60442-3-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240407204953.60442-1-jandryuk@gmail.com>
References: <20240407204953.60442-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

blktap exposes disks over UNIX socket Network Block Device (NBD).
Modify libxl__device_disk_find_local_path() to provide back the
QEMU-formatted NBD path.  This allows tapdisk to be used for booting an
HVM.

Use the nbd+unix:/// format specified by the protocol at
https://github.com/NetworkBlockDevice/nbd/blob/master/doc/uri.md

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Add Anthony's R-b
Add matching { } to else
---
 tools/libs/light/libxl_disk.c | 18 ++++++++++++++----
 tools/libs/light/libxl_dm.c   |  1 -
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c
index 819d34933b..432970f5a7 100644
--- a/tools/libs/light/libxl_disk.c
+++ b/tools/libs/light/libxl_disk.c
@@ -1724,7 +1724,8 @@ char *libxl__device_disk_find_local_path(libxl__gc *gc,
      * If the format isn't raw and / or we're using a script, then see
      * if the script has written a path to the "cooked" node
      */
-    if (disk->script && guest_domid != INVALID_DOMID) {
+    if ((disk->script && guest_domid != INVALID_DOMID) ||
+        disk->backend == LIBXL_DISK_BACKEND_TAP) {
         libxl__device device;
         char *be_path, *pdpath;
         int rc;
@@ -1744,10 +1745,19 @@ char *libxl__device_disk_find_local_path(libxl__gc *gc,
         LOGD(DEBUG, guest_domid, "Attempting to read node %s", pdpath);
         path = libxl__xs_read(gc, XBT_NULL, pdpath);
 
-        if (path)
+        if (path) {
             LOGD(DEBUG, guest_domid, "Accessing cooked block device %s", path);
-        else
-            LOGD(DEBUG, guest_domid, "No physical-device-path, can't access locally.");
+
+            /* tapdisk exposes disks locally over UNIX socket NBD. */
+            if (disk->backend == LIBXL_DISK_BACKEND_TAP) {
+                path = libxl__sprintf(gc, "nbd+unix:///?socket=%s", path);
+                LOGD(DEBUG, guest_domid,
+                     "Directly accessing local TAP target %s", path);
+            }
+        } else {
+            LOGD(DEBUG, guest_domid,
+                "No physical-device-path, can't access locally.");
+	}
 
         goto out;
     }
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 0b03a7c747..1a24e7961a 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -1915,7 +1915,6 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
                     continue;
                 }
 
-                assert(disks[i].backend != LIBXL_DISK_BACKEND_TAP);
                 target_path = libxl__device_disk_find_local_path(gc,
                                     guest_domid, &disks[i], true);
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 20:50:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 20:50:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701682.1096003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZSq-0005Xf-FD; Sun, 07 Apr 2024 20:50:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701682.1096003; Sun, 07 Apr 2024 20:50:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZSq-0005XY-CO; Sun, 07 Apr 2024 20:50:08 +0000
Received: by outflank-mailman (input) for mailman id 701682;
 Sun, 07 Apr 2024 20:50: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=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtZSp-0005XS-Hu
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:50:07 +0000
Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com
 [2607:f8b0:4864:20::735])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68eec40a-f520-11ee-a1ef-f123f15fe8a2;
 Sun, 07 Apr 2024 22:50:05 +0200 (CEST)
Received: by mail-qk1-x735.google.com with SMTP id
 af79cd13be357-78a2a97c296so232746685a.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 13:50:04 -0700 (PDT)
Received: from shine.lan
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 op3-20020a05620a534300b0078a593b54e6sm2512745qkn.96.2024.04.07.13.50.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 13: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: 68eec40a-f520-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712523003; x=1713127803; 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=Qot47x5q7QEXni8/MbgirUQJ9Uu6F64YLsfo2qh4Ybw=;
        b=LU4j7kDoYW4oDuiE/oj6uCunmXf/vHEEOQwG4wz8RRpvs7TgP7qHlnsODDGRLLt7Wd
         R07L0dp5aFkf4DFDGVYeHYewSb5FNsRGIq+xjXP5Myi6++YjHef4neaaADszFrvfWOnA
         hIdGkuvR3/lpLrNj9WBMR02ETMOjISnRNowLy5Ux3E80cJC1omWFU6X2qn7AqU1Kzbjs
         TaFdVUkIFKV18vMsWX73Z13zyPguBcZKduGV+q/sHjCmaUeJXuILsELZmnx+2DgQBLHF
         IP5/7Zvgy5uKxZPfPLLUXGe4Z6Dx2TkDiviuOAsiW4bhOb8V0kL+RAtUhswsAZhKdWZj
         A4Qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712523003; x=1713127803;
        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=Qot47x5q7QEXni8/MbgirUQJ9Uu6F64YLsfo2qh4Ybw=;
        b=sAaArhj7o70ECl1t8klwrDo+jSpW5KL6okebibP8SqNKBeYX15w8hKfYNUcDfThTCy
         XsZKwXK4/JjinAEYeAnnpN1FBaPZ1Gj50BJZBBTLW9bvFTlJdE/UyL2Y8nkFOnSrhyyu
         e1na4cWeqo0WyZN4tc/hLLe6YZvhuZpq7tyQeVUuT/BOx/D4tnSpVZ3+Bes4O+ia0M40
         1dCr27I4ISW1xY1PlqVs49AU9uJOugg7RHDxUvDEY/tBh9f4aOvA0FxwkSflpLPAYvVz
         Ft00IStsQLpAuipvvJsb47BiRh9FwWHjv2051OSZuWkn268nPZFaGbAFNOgqIci9UMJ5
         hkNg==
X-Gm-Message-State: AOJu0YxkOVWw5zbJLx0S81xbX5HzJZDDUwO49QM3QaCKMwPCAqEFtSbE
	/eTtH1LhcQTaULw60vSBWE5IGojl9NOJ1pTEjngC1lU7cg6gqOBWvVyFAcQ+
X-Google-Smtp-Source: AGHT+IGvrjvAIE4TwdGR+TJljNUjr0G2nA6sadaQFOAivHM/fCHI857m0e78hSpJx6xXTImxqYYopA==
X-Received: by 2002:a05:620a:229a:b0:789:fa4d:eebb with SMTP id o26-20020a05620a229a00b00789fa4deebbmr6287430qkh.69.1712523002856;
        Sun, 07 Apr 2024 13:50:02 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 0/3] libxl: blktap/tapback support
Date: Sun,  7 Apr 2024 16:49:50 -0400
Message-Id: <20240407204953.60442-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jason Andryuk <jason.andryuk@amd.com>

This patch set  re-introduces blktap support to libxl.  Unlike earlier
versions, it does not link against any blktap library.  libxl changes
are needed to write to the vbd3 backend XenStore nodes.

blktap has three components.  tapdisk is a daemon implementing the disk
IO, NBD (Network Block Device), and Xen PV interfaces.  tap-ctl is a
tool to control tapdisks - creating, starting, stopping and freeing.
tapback manages the XenStore operations and instructs tapdisk to
connect.

It is notable that tapdisk performs the grant and event channel ops, but
doesn't interact with XenStore.  tapback performs XenStore operations
and notifies tapdisks of values and changes.

The flow is: libxl writes to the "vbd3" XenStore nodes and runs the
block-tap script.  The block-tap script runs tap-ctl to create a tapdisk
instance as the physical device.  tapback then sees the tapdisk and
instructs the tapdisk to connect up the PV blkif interface.

This is expected to work without the kernel blktap driver, so the
block-tap script is modified accordingly to write the UNIX NBD path.
(It works with the kernel blktap driver as well - upstream blktap hasn't
removed the blktap driver requirement yet -
https://github.com/xapi-project/blktap/pull/364)

An example command to attach a vhd:
xl block-attach vm 'vdev=xvdf,backendtype=tap,format=vhd,target=/srv/target.vhd'

VHD support is important for OpenXT since there are lots of existing
VHDs which still need supporting.  tapdisk also supports encrypted VHDs
which is not available in QEMU.

blktap's tapback needs minimal changes to work with libxl:
https://github.com/xapi-project/blktap/pull/394

With a stubdom, the block-tap isn't executed a second time meaning
tap-ctl destroy isn't called.  The stubdom's disk xenstore frontend
entry is removed, but tapback does nothing for this case right now.
Making FE removal transition the BE to closed lets the hotplug script
run properly.

v2 addresses review comments and adds a CHANGELOG entry.

Jason Andryuk (3):
  hotplug: Update block-tap
  libxl: Support blktap with HVM device model
  CHANGELOG: Mention libxl blktap/tapback support

 CHANGELOG.md                  |   1 +
 tools/hotplug/Linux/block-tap | 169 +++++++++++++++++++++++++++++++---
 tools/libs/light/libxl_disk.c |  18 +++-
 tools/libs/light/libxl_dm.c   |   1 -
 4 files changed, 172 insertions(+), 17 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 20:50:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 20:50:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701685.1096034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZSw-0006Hx-7p; Sun, 07 Apr 2024 20:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701685.1096034; Sun, 07 Apr 2024 20:50:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZSw-0006Hq-4V; Sun, 07 Apr 2024 20:50:14 +0000
Received: by outflank-mailman (input) for mailman id 701685;
 Sun, 07 Apr 2024 20:50: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=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtZSu-00060u-7h
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:50:12 +0000
Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com
 [2607:f8b0:4864:20::72a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cc60001-f520-11ee-afe6-a90da7624cb6;
 Sun, 07 Apr 2024 22:50:11 +0200 (CEST)
Received: by mail-qk1-x72a.google.com with SMTP id
 af79cd13be357-78d61097b43so72429585a.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 13:50:11 -0700 (PDT)
Received: from shine.lan
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 op3-20020a05620a534300b0078a593b54e6sm2512745qkn.96.2024.04.07.13.50.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 13:50:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cc60001-f520-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712523010; x=1713127810; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J9H+mU0bLmZTRtNgxQVgRCM+6MXvTvK1Onu3sx791QI=;
        b=W/tk6lgd0bpcFlogxU0c+j58pe1reo1bvCwjztZLd6f+967waoZGdLPXgBekH4Dag+
         sczs48ywsiOaSJBMN+1B2Q7qHvsIoT2GP1kds/sJlp8ImpvTMQ51jO3FAY2/1Rwq8gz9
         TzuyQsNo1GSu2jEq+EA9XpkpJVyYSh8K2lizTYOHlP1+nXpLOcwcuFpEwHxul8tqM5qW
         F8B1C1glBERQh3PQpfUuR/8/phwxHAl3yimGXNFAbeiyL1aVQczPGdC4Y0uII+xYH4Gm
         a/rO3h6Zy4ZTRk8hKk4HC2IT/UhDbq7MilBFvP70uug4syZI981n9KN4EscVNbH8D0XR
         PbdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712523010; x=1713127810;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=J9H+mU0bLmZTRtNgxQVgRCM+6MXvTvK1Onu3sx791QI=;
        b=GSBUrYx7ggX8ZkB0n9eyI7Gp7eq+Cadc73vigZ+ugHBVdBKRtmCvRPpOtG2tidLSst
         edxCQAxBODpg6ovv470vIb3jK8B7gf5VDCEnE/zSWQVIAxzmKMk/kFeNmKTyG/x5sbjE
         5MuzLSZXZIB9pgU6h4vk8zwmUwtn6GnfR5lRk5gXTAQ09uZ39xJRmZVnClH1RThxn4po
         6Vsy38AI9XbHdV31ld1fdu+2xB+Dc8o6uSTpEVhTtBK6M/3gSX5yow9F97DifhZ8WLZo
         BjCzfJQ/n6d4lZa2vFQsiD+YVGGzQ2aryX4uh8+vOwceEQ8gXkXIAympumTEFytbQLVY
         bxgw==
X-Gm-Message-State: AOJu0Yzg0luQECms0+ocqgE/fQiWJ9FsQHFjdLgNXlAr4EO6+sjDdL8w
	FmIlHI6n/pfYwG175fl2nuVRbFoh3A0B0aw3FAnPh37aS5N9xgWI3aucBg+S
X-Google-Smtp-Source: AGHT+IHcns52DCC0jjOr+gA6C8H/QKjEfs7rBKTpCr/3hXX/JmLDxjiPsumMGa7TEzNKUlNe/d/KcQ==
X-Received: by 2002:a05:620a:4092:b0:78d:33f2:c165 with SMTP id f18-20020a05620a409200b0078d33f2c165mr9041350qko.49.1712523009832;
        Sun, 07 Apr 2024 13:50:09 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 3/3] CHANGELOG: Mention libxl blktap/tapback support
Date: Sun,  7 Apr 2024 16:49:53 -0400
Message-Id: <20240407204953.60442-4-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240407204953.60442-1-jandryuk@gmail.com>
References: <20240407204953.60442-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jason Andryuk <jason.andryuk@amd.com>

Add entry for backendtype=tap support in libxl.  blktap needs some
changes to work with libxl, which haven't been merged.  They are
available from this PR: https://github.com/xapi-project/blktap/pull/394

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8041cfb7d2..036328433d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
      for IPIs and Physical addressing mode for external interrupts.
  - Add a new 9pfs backend running as a daemon in dom0. First user is
    Xenstore-stubdom now being able to support full Xenstore trace capability.
+ - libxl support for backendtype=tap with tapback.
 
 ### Removed
 - caml-stubdom.  It hasn't built since 2014, was pinned to Ocaml 4.02, and has
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Apr 07 20:59:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 07 Apr 2024 20:59:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701695.1096044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtZbo-0008Ii-3f; Sun, 07 Apr 2024 20:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701695.1096044; Sun, 07 Apr 2024 20: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 1rtZbo-0008Ib-0g; Sun, 07 Apr 2024 20:59:24 +0000
Received: by outflank-mailman (input) for mailman id 701695;
 Sun, 07 Apr 2024 20:59: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=CRZ/=LM=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rtZbn-0008IV-Gh
 for xen-devel@lists.xenproject.org; Sun, 07 Apr 2024 20:59:23 +0000
Received: from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com
 [2607:f8b0:4864:20::b31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b54ad52c-f521-11ee-afe6-a90da7624cb6;
 Sun, 07 Apr 2024 22:59:22 +0200 (CEST)
Received: by mail-yb1-xb31.google.com with SMTP id
 3f1490d57ef6-dc236729a2bso3651358276.0
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 13:59:22 -0700 (PDT)
Received: from shine.lan
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 s12-20020ad44b2c000000b00696b152514dsm2506997qvw.12.2024.04.07.13.59.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 13:59: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: b54ad52c-f521-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712523560; x=1713128360; 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=+OC3YGS4/Iar3z4n2ZpdMSQ+zYL8lV8fsg+McAQ6FMI=;
        b=m/rC7Zm6hltAaSCrSHKetoPbCmylnXQZ/67U05m/5uqd7QS+EOaMaBZhsnDRJrOvjB
         V4zPjPVWexvmSwiVKnfjvPTJaDvynQ/p9UHWlzq8QY3Vq1Hj7EpRQPaz0dT1bgi4jmR8
         AA71Yx1d1dZ2UDzlpRxf8zaL4pI+YUASAFub0jf/iedX7aqrlqDTL+O4RpmD9ucgn/bV
         gAhl+VWAGm+mfIpE/kzwtCWgw9a/b0uaDTxsiGvEoDinnHgiL8Az3w+DUMIQdmpWf9J/
         rEReo4bxjtUKq9jQ+cCenH8hWySlTxQEOJXWIRVJB7q1UpoAOvRf1ZNWTdr9dambGZmz
         TFbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712523560; x=1713128360;
        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=+OC3YGS4/Iar3z4n2ZpdMSQ+zYL8lV8fsg+McAQ6FMI=;
        b=BAJkZCxPrGbnB63sCVnBEheAg2Ruj/xErw72YrLitEmWpui0bdwRwnNYxf9d9UDANP
         qWdsKGXT/4AXs6+9YzqAQaYyJSlp9T8g/8bOEoStsjWw41Q3A0LhqijQmMK/zRXejazj
         2zNyzV+CxxHfeUaSqz+9fcO3J2XoepohziTNNPmQY2IqauQUHi/o0RwOBrxcDdRcxRa/
         aklsFND3t4qYRMxJSybOxQsAK/qFF3V8Uvu3xMxjKvBESJPYS/nln1vUZ7KsmzSzxACE
         PvaiW10y45SX6NIcs2r9hpaWyyQQdJtuDXxcR0mB8olSCR/hogQPUdO9F++LfIonQrlQ
         ol5w==
X-Gm-Message-State: AOJu0Yw+OcU+jOdGyEvgWhvk/S7jHGSPott/BJOB2HrWNuEkD5kge7DP
	g47wBO3ntYAwFqrt5kU5R8hsBXheVK/50EalbA/q4jc5FQmqdp2CHvY1G1KA
X-Google-Smtp-Source: AGHT+IHEq4iSGbmx0vp5KdaKzevLGMXDY4iGqYJPvgkHGjXqpdOgLAfMAfss5TkdCRsrnI6wfAPI1A==
X-Received: by 2002:a81:4f83:0:b0:615:175f:ae2b with SMTP id d125-20020a814f83000000b00615175fae2bmr6595791ywb.2.1712523560379;
        Sun, 07 Apr 2024 13:59:20 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: [PATCH v2] libxl: devd: Spawn QEMU for 9pfs
Date: Sun,  7 Apr 2024 16:58:09 -0400
Message-Id: <20240407205809.60871-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for xl devd to support 9pfs in a domU.  devd need to spawn a
pvqemu for the domain to service 9pfs as well as qdisk backends.  Rename
num_qdisks to pvqemu_refcnt to be more generic.

Keep the qdisk-backend-pid xenstore key as well as the disk-%u log file.
They are externally visible, so the might be used by other tooling.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Retain xenstore qdisk-backend-pid and qdisk-%u logfile
---
 tools/libs/light/libxl_device.c   | 22 ++++++++++++----------
 tools/libs/light/libxl_dm.c       |  5 +++--
 tools/libs/light/libxl_internal.h |  4 ++--
 3 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_device.c
index 6f0100d05e..a3d9f6f7df 100644
--- a/tools/libs/light/libxl_device.c
+++ b/tools/libs/light/libxl_device.c
@@ -1524,12 +1524,12 @@ static void device_complete(libxl__egc *egc, libxl__ao_device *aodev)
     libxl__nested_ao_free(aodev->ao);
 }
 
-static void qdisk_spawn_outcome(libxl__egc *egc, libxl__dm_spawn_state *dmss,
-                                int rc)
+static void qemu_xenpv_spawn_outcome(libxl__egc *egc,
+                                     libxl__dm_spawn_state *dmss, int rc)
 {
     STATE_AO_GC(dmss->spawn.ao);
 
-    LOGD(DEBUG, dmss->guest_domid, "qdisk backend spawn %s",
+    LOGD(DEBUG, dmss->guest_domid, "qemu xenpv backend spawn %s",
                 rc ? "failed" : "succeed");
 
     libxl__nested_ao_free(dmss->spawn.ao);
@@ -1552,7 +1552,7 @@ typedef struct libxl__ddomain_device {
  */
 typedef struct libxl__ddomain_guest {
     uint32_t domid;
-    int num_qdisks;
+    int pvqemu_refcnt;
     XEN_SLIST_HEAD(, struct libxl__ddomain_device) devices;
     XEN_SLIST_ENTRY(struct libxl__ddomain_guest) next;
 } libxl__ddomain_guest;
@@ -1646,15 +1646,16 @@ static int add_device(libxl__egc *egc, libxl__ao *ao,
 
     switch(dev->backend_kind) {
     case LIBXL__DEVICE_KIND_QDISK:
-        if (dguest->num_qdisks == 0) {
+    case LIBXL__DEVICE_KIND_9PFS:
+        if (dguest->pvqemu_refcnt == 0) {
             GCNEW(dmss);
             dmss->guest_domid = dev->domid;
             dmss->spawn.ao = ao;
-            dmss->callback = qdisk_spawn_outcome;
+            dmss->callback = qemu_xenpv_spawn_outcome;
 
-            libxl__spawn_qdisk_backend(egc, dmss);
+            libxl__spawn_qemu_xenpv_backend(egc, dmss);
         }
-        dguest->num_qdisks++;
+        dguest->pvqemu_refcnt++;
         break;
     default:
         GCNEW(aodev);
@@ -1685,8 +1686,9 @@ static int remove_device(libxl__egc *egc, libxl__ao *ao,
 
     switch(ddev->dev->backend_kind) {
     case LIBXL__DEVICE_KIND_QDISK:
-        if (--dguest->num_qdisks == 0) {
-            rc = libxl__destroy_qdisk_backend(gc, dev->domid);
+    case LIBXL__DEVICE_KIND_9PFS:
+        if (--dguest->pvqemu_refcnt == 0) {
+            rc = libxl__destroy_qemu_xenpv_backend(gc, dev->domid);
             if (rc)
                 goto out;
         }
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 1a24e7961a..ff8ddeec9a 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -3380,7 +3380,8 @@ static void device_model_postconfig_done(libxl__egc *egc,
     dmss->callback(egc, dmss, rc);
 }
 
-void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
+void libxl__spawn_qemu_xenpv_backend(libxl__egc *egc,
+                                     libxl__dm_spawn_state *dmss)
 {
     STATE_AO_GC(dmss->spawn.ao);
     flexarray_t *dm_args, *dm_envs;
@@ -3470,7 +3471,7 @@ static int kill_device_model(libxl__gc *gc, const char *xs_path_pid)
 }
 
 /* Helper to destroy a Qdisk backend */
-int libxl__destroy_qdisk_backend(libxl__gc *gc, uint32_t domid)
+int libxl__destroy_qemu_xenpv_backend(libxl__gc *gc, uint32_t domid)
 {
     char *pid_path;
     int rc;
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index 094d0df9b1..dda3d15087 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4196,9 +4196,9 @@ _hidden char *libxl__stub_dm_name(libxl__gc *gc, const char * guest_name);
 
 /* Qdisk backend launch helpers */
 
-_hidden void libxl__spawn_qdisk_backend(libxl__egc *egc,
+_hidden void libxl__spawn_qemu_xenpv_backend(libxl__egc *egc,
                                         libxl__dm_spawn_state *dmss);
-_hidden int libxl__destroy_qdisk_backend(libxl__gc *gc, uint32_t domid);
+_hidden int libxl__destroy_qemu_xenpv_backend(libxl__gc *gc, uint32_t domid);
 
 /*----- Domain creation -----*/
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 03:08:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 03:08:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701704.1096057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtfN2-0001Fn-J6; Mon, 08 Apr 2024 03:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701704.1096057; Mon, 08 Apr 2024 03:08:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtfN2-0001Fg-GU; Mon, 08 Apr 2024 03:08:32 +0000
Received: by outflank-mailman (input) for mailman id 701704;
 Mon, 08 Apr 2024 03:08:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pPud=LN=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rtfN1-0001Eo-4y
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 03:08:31 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 447e69e0-f555-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 05:08:27 +0200 (CEST)
Received: from CH2PR19CA0022.namprd19.prod.outlook.com (2603:10b6:610:4d::32)
 by DS7PR12MB5840.namprd12.prod.outlook.com (2603:10b6:8:7b::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Mon, 8 Apr
 2024 03:08:24 +0000
Received: from DS2PEPF0000343C.namprd02.prod.outlook.com
 (2603:10b6:610:4d:cafe::b5) by CH2PR19CA0022.outlook.office365.com
 (2603:10b6:610:4d::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Mon, 8 Apr 2024 03:08:24 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS2PEPF0000343C.mail.protection.outlook.com (10.167.18.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 03:08:24 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 7 Apr
 2024 22:08:23 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sun, 7 Apr
 2024 20:08:23 -0700
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Sun, 7 Apr 2024 22:08: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: 447e69e0-f555-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Of4+zAH+R8TUaWT7OoR35huqCuRWjvJUuHAcdxFfyV10+IGjH6wu7cVEfj7bsWpv8Pb7aKV61hv12dlf2Ii5oQAAx715DTvOYu4Y3auSafYhXYzzP5E8CyVTv/dCI7kw1F2+I9JCwy/0T/bFfKK23oc9w3RtEHxavUpLjj13tcUSG2VLM9W9xZXSXRRAfpXKVeLPElLr8ot4d4hRYRA9cVVg+NQ1T2DQSlKGfo/1IAKeQSh5ckxGHZ5v3el9V34iK+woPBraSxVwBK+sfm8aIMO0tq2EDUvCgzPNmGETgFBgB6wps3+5TmntC4BGC424oT7XMTL/SoxmcVoQJCtpLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MvVRMNMOFKaO1BPX62jpqeSqGzWwDmShaFi5mN32T4c=;
 b=aO03SMsgneQ07689/1lppC/euZbSKcc1gS+9zAwozYORkRwnfb3VfNLNbcgIJhQj3ShIhgfLdlHJN43ATJFEC/vuSveNAGUwhUcCszlsGvUX8X+wenxR09NlUMaeKYNJ6C0b6vSId70JcXFsjv8eMDZyyAm4Zrhv39jehsEbebTFXVpvtz+I4nTVHSDGa+lJmhLtoSr6ifHqzBKdCMM2U5me+Hbg4kUXMa6q2AG6irOpDyLDf9wswTPwqhgKh3uHPqqugjeOgTCDKsXlAG1y4hh5nMMoNyxKwLrtLt2Ky6jedFJ8xerhDu+GcVwOQSkPyD9YrY28xzn2D3g5H7KfWw==
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=MvVRMNMOFKaO1BPX62jpqeSqGzWwDmShaFi5mN32T4c=;
 b=hYF5/5NV/cgP/7flneyo6I8QEjWFPo8axcgtt26Od4LXlKH1sEmjYt1vA3EK63JUDtb2hJPkdPAEwrThhvlZ6z+e5FKj5RP/7JkuYOMCqvuKTlfJudqXh9HmVMqTGENDaiobyHmvNkpCS6DDOy3cKj5NnVH+gTsBrqlqaQ1NOO0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <d2685464-65ae-4b88-b458-8873599027ff@amd.com>
Date: Mon, 8 Apr 2024 11:08:15 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] xen/domctl, tools: Introduce a new domctl to get
 guest memory map
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Alec Kwapis <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-2-xin.wang2@amd.com>
 <3ba13bce-d301-49bb-9028-6d48a05fd077@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <3ba13bce-d301-49bb-9028-6d48a05fd077@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343C:EE_|DS7PR12MB5840:EE_
X-MS-Office365-Filtering-Correlation-Id: 865255d2-3609-452f-3e6d-08dc57792776
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5HZ42ZiHQWw1zP3tSFwO3kt0ztSF2nLN9/ByryNsAuERkfouskcSml2kclF4ZH5XpADUa7cQIPRyHF+aZYbLxA9FUrSJT0EMatc8SmhzgqOOfdpt3XWILWVFllKVgPe5O1BDo97FdPvHJ/ORBAysMUTd6vLMuWRUM9ztA3ehA3i9/EIY0YJrFyt69m3/WmslqV6arAfN1Rl9TcrbA7/BWGo3RMeR4G98WM09SNEXpXV2lMdJ65gpy8y/eArlhiB0z8xtYB2Zy1Jgu3obkA6kAv2FvKpes29DzJ5sr/U+7BGH/K3Mwi0kjSBi2SM96AnfnRbshpkk1Cvbf83Gxy3aquxUDd/NjW+cfMt/WqUZ2WKulfbq12alxV0Bd8nsv1AmqtogrXP1OM0IQRdYIPuwNCwnEmFaojdIoC1iVO6TFjLgKSxBzhivaEeEbskb20qe6VTUimVtNYQuG9XfPKP6CuEYxvRL8iW8++Ey0VQJOqrJxcDeeTf/iaB+IFiQZIS4ihzgHsgP+sJ9WHtQZwuhpUlfFNgEcZQouru8y8IdBEMav0KW/fBrYu0rR2Ky5fqrm9L+QTfxx7LqRRSmnTmwpxyBDIO110XCNPh8UmelJFAOwgCtOBncr12trssmra8z81RMJkcStR3WaknfloYYzlGKUH7SvZqGGS8xEcv9GKzrLd7qxPnXLmusYHeYOCFVDS7mEd4KjqlyNKg0aAXnpU9HHTH7xJxV9fqpeWt6AeHOEK6F4zMstUu+SrmSCtVy
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005)(7416005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 03:08:24.3550
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 865255d2-3609-452f-3e6d-08dc57792776
X-MS-Exchange-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:
	DS2PEPF0000343C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5840

Hi Jan,

On 4/4/2024 5:28 PM, Jan Beulich wrote:
> On 03.04.2024 10:16, Henry Wang wrote:
>> --- a/tools/libs/ctrl/xc_domain.c
>> +++ b/tools/libs/ctrl/xc_domain.c
>> @@ -697,6 +697,39 @@ int xc_domain_setmaxmem(xc_interface *xch,
>>       return do_domctl(xch, &domctl);
>>   }
>>   
>> +int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
>> +                          struct xen_mem_region mem_regions[],
>> +                          uint32_t *nr_regions)
>> +{
>> +    int rc;
>> +    struct xen_domctl domctl = {
>> +        .cmd         = XEN_DOMCTL_get_mem_map,
>> +        .domain      = domid,
>> +        .u.mem_map = {
>> +            .nr_mem_regions = *nr_regions,
>> +            .pad            = 0,
> This isn't needed: By there being an initializer for the struct, all
> unmentioned fields will be set to 0 anyway.

Ok, I can drop the initialization of the .pad field.

>> --- a/xen/arch/arm/domain.c
>> +++ b/xen/arch/arm/domain.c
>> @@ -696,6 +696,7 @@ int arch_domain_create(struct domain *d,
>>   {
>>       unsigned int count = 0;
>>       int rc;
>> +    struct mem_map_domain *mem_map = &d->arch.mem_map;
>>   
>>       BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
>>   
>> @@ -785,6 +786,20 @@ int arch_domain_create(struct domain *d,
>>       d->arch.sve_vl = config->arch.sve_vl;
>>   #endif
>>   
>> +    if ( mem_map->nr_mem_regions < XEN_MAX_MEM_REGIONS )
>> +    {
>> +        mem_map->regions[mem_map->nr_mem_regions].start = GUEST_MAGIC_BASE;
>> +        mem_map->regions[mem_map->nr_mem_regions].size = GUEST_MAGIC_SIZE;
>> +        mem_map->regions[mem_map->nr_mem_regions].type = GUEST_MEM_REGION_MAGIC;
>> +        mem_map->nr_mem_regions++;
>> +    }
>> +    else
>> +    {
>> +        printk("Exceed max number of supported memory map regions\n");
> Debugging leftover?

Well, not really, I did this on purpose to print some info before exit. 
But now I realize other error paths in arch_domain_create() do not do 
that. I will drop this printk in v4.

>> --- a/xen/arch/arm/domctl.c
>> +++ b/xen/arch/arm/domctl.c
>> @@ -148,7 +148,6 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>>   
>>           return 0;
>>       }
>> -
>>       case XEN_DOMCTL_vuart_op:
>>       {
>>           int rc;
> Why? Instead you want ...

Because there are no empty line between the other sub-ops in the arm 
version of arch_do_domctl(). Since there is no explicit guideline in 
CODING_STYLE, I was trying to take the opportunity to keep the coding 
style consistent within the file. However since you are asking, I 
realized that the x86 arch_do_domctl() is using the other way, i.e 
adding an empty line between the sub-ops, so...

>> @@ -176,6 +175,37 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>>   
>>           return rc;
>>       }
>> +    case XEN_DOMCTL_get_mem_map:
> ... separating blank line above this line and ...
>
>> +    {
>> +        int rc = 0;
>> +        uint32_t nr_regions, i;
>> +
>> +        if ( domctl->u.mem_map.pad )
>> +            return -EINVAL;
>> +
>> +        /*
>> +         * Cap the number of regions to the minimum value between toolstack and
>> +         * hypervisor to avoid overflowing the buffer.
>> +         */
>> +        nr_regions = min(d->arch.mem_map.nr_mem_regions,
>> +                         domctl->u.mem_map.nr_mem_regions);
>> +
>> +        domctl->u.mem_map.nr_mem_regions = nr_regions;
>> +
>> +        for ( i = 0; i < nr_regions; i++ )
>> +        {
>> +            if ( d->arch.mem_map.regions[i].pad )
>> +                return -EINVAL;
>> +        }
>> +
>> +        if ( copy_to_guest(domctl->u.mem_map.buffer,
>> +                           d->arch.mem_map.regions,
>> +                           nr_regions) ||
>> +             __copy_to_guest(u_domctl, domctl, 1) )
>> +            rc = -EFAULT;
>> +
>> +        return rc;
>> +    }
>>       default:
> ... this one.

...personally I don't have strong opinions on the style as long as we 
keep consistent. I can switch the Arm one following the x86 style or 
just leave it as is.

> Further with the way you use min() above, how is the caller going to know
> whether it simply specified too small an array?

I am a bit unsure if we need to forbid caller to specify a smaller value 
than the max number of regions supported by the hypervisor, technically 
it is legal, although I agree it will lead to some issues in the 
toolstack side. It looks like the similar hypercall of e820 also does 
not forbid this (see get_mem_mapping_layout() and related 
XENMEM_memory_map). Do you have any suggestions?

> And then you check d->arch.mem_map.regions[i].pad. Why's that? And even
> if needed here for some reason, that's surely not EINVAL, but an internal
> error in Xen.

I did that under the impression that we need to check the value of 
padding field being 0. Also you mentioned in one of the comments below 
that Xen should guarantee that the padding field should be 0 before 
return. Apologize if I misunderstand your comment. The -EINVAL is taken 
from the same way of checking the padding field in XEN_DOMCTL_vuart_op 
above. Personally I would keep some consistency, but I am open to 
suggestions to make it better.

> Finally instead of __copy_to_guest() can't you use __copy_field_to_guest(),
> for just nr_regions?

You mean replacing __copy_to_guest(u_domctl, domctl, 1) with only the 
__copy_field_to_guest(u_domctl, domctl, u.mem_map.nr_mem_regions)? Ok I 
can do that in v4.

>> --- a/xen/include/public/domctl.h
>> +++ b/xen/include/public/domctl.h
>> @@ -946,6 +946,31 @@ struct xen_domctl_paging_mempool {
>>       uint64_aligned_t size; /* Size in bytes. */
>>   };
>>   
>> +#ifndef XEN_MAX_MEM_REGIONS
>> +#define XEN_MAX_MEM_REGIONS 1
>> +#endif
>> +
>> +struct xen_mem_region {
>> +    uint64_aligned_t start;
>> +    uint64_aligned_t size;
>> +    uint32_t         type;
> What is this field set to? I see no #define(s) in this header. If it's
> the GUEST_MEM_REGION_* in the Arm header, a connection needs to be made.
> Also note that GUEST_MEM_REGION_* violate name space requirements: New
> additions should have XEN_ / xen_ prefixes on their names.

Yeah it is the GUEST_MEM_REGION_* in the Arm header. The default value 
will be set to 0 when struct domain is created. I will switch to the 
XEN_* prefix in v4.

>> +    /* Must be zero */
>> +    uint32_t         pad;
> This, being OUT only, should not be required to be set by the caller. As
> long as no use appears, Xen merely ought to guarantee that it'll be 0 upon
> return.

See above.

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 03:20:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 03:20:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701707.1096067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtfY5-00031j-Hg; Mon, 08 Apr 2024 03:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701707.1096067; Mon, 08 Apr 2024 03: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 1rtfY5-00031c-Eo; Mon, 08 Apr 2024 03:19:57 +0000
Received: by outflank-mailman (input) for mailman id 701707;
 Mon, 08 Apr 2024 03: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=pPud=LN=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rtfY4-00031W-Fu
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 03:19:56 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2412::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd8d5fb3-f556-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 05:19:54 +0200 (CEST)
Received: from PH0P220CA0030.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:d3::30)
 by DS0PR12MB8562.namprd12.prod.outlook.com (2603:10b6:8:164::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.47; Mon, 8 Apr
 2024 03:19:50 +0000
Received: from SN1PEPF00036F43.namprd05.prod.outlook.com
 (2603:10b6:510:d3:cafe::a3) by PH0P220CA0030.outlook.office365.com
 (2603:10b6:510:d3::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.28 via Frontend
 Transport; Mon, 8 Apr 2024 03:19:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00036F43.mail.protection.outlook.com (10.167.248.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 03:19:48 +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.35; Sun, 7 Apr
 2024 22:19:48 -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.35; Sun, 7 Apr
 2024 22:19:47 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Sun, 7 Apr 2024 22:19: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: dd8d5fb3-f556-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J+lLzDXz7+NvMfYgAI2awhODtj8AfWM/mdIufuEY12PTNqkUqglgjJwMFaO7Eh5zepGPMZvCR/qrU+sKw8R0dSwOhfB5v98QAdBCG36qNjNg4mrXVsuBOE+Ga0eYTFNp1ygQdlTvqaKR5uIM2Cti4OHf+yE5z4ZjIRUJ2Hu0AHb7quz/9mjd7hIghJSRdJCmjlEivs1R64OTb5z1cpLnLifXh5YL5c9mmgnvN55jHoNRAS07d4h3BSvWBcB1tJ9iF27DLjBAtdQTZc7mJ942N3/FCrLDpZe4t9/5W7HqA1NuzHwynAbeHjPrFsoueHpJhZtH41gTOcRbTgb0r5O8YA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lYDGbwFQ7NFXrxe0ro+FDYqgg/xrnd98fKiG3yqntXk=;
 b=Migb07arE46hmUTJo+OkuEkhUCxVdncKyCJ66uqfZZiBkKLZGX4/MhvnbnsTYIFVwtLWRWpxHl+AkCu6WMF1yaFwV63ao0brlbpzmQzRMXnCbX/87zNW5rV8tagifiZhH3et36ix3YtyI1kSuWbq26atxBYkiGs9HqMzI+H3ozWNFYz4V1B/qruKtrLkG5K9Mmlqkp93VbZGz6TASewNBQlZAj3CAx4Bi0HEaZT5ykKZ4xgWwsVFiu8xJtR2oBbuCk4pjcD+qH9tqWnZAvJYwWz5uAEjqGvMq6A26+S2tFgaG0rI4W18XYUws23v1zc/xpeqAq5um0+YTgJQtIl7gQ==
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=lYDGbwFQ7NFXrxe0ro+FDYqgg/xrnd98fKiG3yqntXk=;
 b=n+QuO0UFNd7w50p1rCcBY2yiExIHE6NPslz88yEC9bg9kSpkraf3sS0CLREYnDRmvuKMQNwjEHxLcGs1PhDYakAS9xChRPA8tFwJRokp76lauUR64abg91V3xlRccwhrGSkrg7wkmDen5yLm3Rr5hLwLKs+sYbKUjoupS3qg+G8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
Date: Mon, 8 Apr 2024 11:19:45 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"Alec Kwapis" <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
 <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00036F43:EE_|DS0PR12MB8562:EE_
X-MS-Office365-Filtering-Correlation-Id: ba64a74d-a332-4376-1784-08dc577abf46
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MqvqVzhr6PPz/7CpQeVRfwdEA5ihXjDMBxvnVjVFgT2TQpYY1yBtx1TVcf2RxxYbLjGD6KruQ+qdZ7jMBN/GbFcm74qJ4BlM0PQHP1WZJZc4tCqr/eK6hft5anDk/+94cvTWWqvlhvik19iXur0u0vTiYvkKb7PNSeRuitfbInd1GFe8UOaHmMyfNyPFWOCqr880lBUTxCAiJ67Ob5oIcQLDiVPCryfoGr3NJcYX20LKrS4Gzx/M+Zyk8sTazu4b4hxv3kuai1VUdeqRRkqHsOSBtkB3Q/ezCqlBDxn6uAa7JIP8tLWM5Rj2h46ar/P1ngPmGrjv7pBxyrkukhJg0DrvCLdGbxJF2sSDCobLySx4TFRdnLeUkSCSAv2BKYgPweWQaDBhIzuGlm9arNk+EcTsKXufOIb5h9zmkaXZhRKeevHk6i9s1gCafRCeW/i3ATrtAvvYTiMBarGxobGibSuNGZPpyPoEJlp6JiA5aH17PXr0E0Fj5ZW8gpmJf9q77BzHQ7We0GyuGeROZrDIg/fqyAimx3NII8gAJwfG4/LmQCMRR6evq7cSXez/ts81at5PZPEsxd1yBMiPNiWa2X9KR8DnVR8PEh4QpmdpfQKtLXsSwfQ26zdM4gqZJnRBzmUrWElfWjuF1GdfZkppKPuN36ZrpI8xXkEgeAP/Jh6uyUQzCsZJ61ZEAV8dRTL33zLVkNYcuz26wBq9cbY9IxDMOM7g7Mll9fUF9ElLNPEedpdzgySnPxqnDC7pWaqj
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 03:19:48.5811
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ba64a74d-a332-4376-1784-08dc577abf46
X-MS-Exchange-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:
	SN1PEPF00036F43.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8562

Hi Jan,

On 4/4/2024 5:38 PM, Jan Beulich wrote:
> On 03.04.2024 10:16, Henry Wang wrote:
>> --- a/xen/common/memory.c
>> +++ b/xen/common/memory.c
>> @@ -219,7 +219,8 @@ static void populate_physmap(struct memop_args *a)
>>           }
>>           else
>>           {
>> -            if ( is_domain_direct_mapped(d) )
>> +            if ( is_domain_direct_mapped(d) &&
>> +                 !(a->memflags & MEMF_force_heap_alloc) )
>>               {
>>                   mfn = _mfn(gpfn);
>>   
>> @@ -246,7 +247,8 @@ static void populate_physmap(struct memop_args *a)
>>   
>>                   mfn = _mfn(gpfn);
>>               }
>> -            else if ( is_domain_using_staticmem(d) )
>> +            else if ( is_domain_using_staticmem(d) &&
>> +                      !(a->memflags & MEMF_force_heap_alloc) )
>>               {
>>                   /*
>>                    * No easy way to guarantee the retrieved pages are contiguous,
>> @@ -271,6 +273,14 @@ static void populate_physmap(struct memop_args *a)
>>               }
>>               else
>>               {
>> +                /*
>> +                 * Avoid passing MEMF_force_heap_alloc down to
>> +                 * alloc_domheap_pages() where the meaning would be the
>> +                 * original MEMF_no_refcount.
>> +                 */
>> +                if ( unlikely(a->memflags & MEMF_force_heap_alloc) )
>> +                    clear_bit(_MEMF_force_heap_alloc, &a->memflags);
> Why an atomic operation? &= will to quite fine here. And you can also
> drop the if().

Ok, I will use &= and drop the if here.

>> @@ -1408,6 +1418,10 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>           if ( copy_from_guest(&reservation, arg, 1) )
>>               return start_extent;
>>   
>> +        if ( op != XENMEM_populate_physmap
>> +             && (reservation.mem_flags & XENMEMF_force_heap_alloc) )
>> +            return -EINVAL;
>> +
>>           /* Is size too large for us to encode a continuation? */
>>           if ( reservation.nr_extents > (UINT_MAX >> MEMOP_EXTENT_SHIFT) )
>>               return start_extent;
>> @@ -1433,6 +1447,10 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>                && (reservation.mem_flags & XENMEMF_populate_on_demand) )
>>               args.memflags |= MEMF_populate_on_demand;
>>   
>> +        if ( op == XENMEM_populate_physmap
>> +             && (reservation.mem_flags & XENMEMF_force_heap_alloc) )
>> +            args.memflags |= MEMF_force_heap_alloc;
> If in the end no new sub-op is used (see below), this and the earlier if()
> want combining.
>
> You further may want to assert that the flag isn't already set (as coming
> back from construct_memop_from_reservation()).

Ok I will check and do the combining as suggested. Thanks!

>> --- a/xen/include/public/memory.h
>> +++ b/xen/include/public/memory.h
>> @@ -41,6 +41,11 @@
>>   #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>>   /* Flag to indicate the node specified is virtual node */
>>   #define XENMEMF_vnode  (1<<18)
>> +/*
>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>> + * or static allocation.
>> + */
>> +#define XENMEMF_force_heap_alloc  (1<<19)
> As before, a separate new sub-op would look to me as being the cleaner
> approach, avoiding the need to consume a bit position for something not
> even going to be used on all architectures.

Like discussed in v2, I doubt that if introducing a new sub-op, the 
helpers added to duplicate mainly populate_physmap() and the toolstack 
helpers would be a good idea. Similarly as the way that we do for the 
MEMF_force_heap_alloc, if in the future we run out of the bit positions, 
can't we reuse this bit for different architectures as an alias? Or 
maybe we can even alias it now?

>> --- a/xen/include/xen/mm.h
>> +++ b/xen/include/xen/mm.h
>> @@ -192,6 +192,13 @@ struct npfec {
>>   /* memflags: */
>>   #define _MEMF_no_refcount 0
>>   #define  MEMF_no_refcount (1U<<_MEMF_no_refcount)
>> +/*
>> + * Alias of _MEMF_no_refcount to avoid introduction of a new, single-use flag.
>> + * This flag should be used for populate_physmap() only as a re-purposing of
>> + * _MEMF_no_refcount to force a non-1:1 allocation from domheap.
>> + */
>> +#define _MEMF_force_heap_alloc _MEMF_no_refcount
>> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
> Given its purpose and scope, this alias wants to be local to common/memory.c.

Sure, I will move it to common/memory.c

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 03:23:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 03:23:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701709.1096077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtfbp-0004SW-1E; Mon, 08 Apr 2024 03:23:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701709.1096077; Mon, 08 Apr 2024 03:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtfbo-0004SP-Tx; Mon, 08 Apr 2024 03:23:48 +0000
Received: by outflank-mailman (input) for mailman id 701709;
 Mon, 08 Apr 2024 03:23: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 1rtfbn-0004SF-PF; Mon, 08 Apr 2024 03:23: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 1rtfbn-0005aY-Br; Mon, 08 Apr 2024 03:23: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 1rtfbm-0001NB-7S; Mon, 08 Apr 2024 03:23:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtfbm-0007Jl-6u; Mon, 08 Apr 2024 03:23:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EKEnCmuT3AcHScCCct1Eo+jTlSx49SnAd7EZz6gRu8g=; b=PCQ2pCsMiFoekjO+mc+7TkAg4K
	UksG9Kdkvjvo7VGY+wFUKCMQr6+ffkmr/xsBBHrhlc0IhZdduC1gf2dYjX06mHnmzIbftgjXhiwxI
	2piG3n37Y7jYhLZDK5uk05V43FBBRpLvhUp5AAW6IkkIwyO3SkeLp2w4TI7t8KBJFeUI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185268-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185268: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-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-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-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
X-Osstest-Versions-That:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Apr 2024 03:23:46 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185268  2024-04-07 13:16:27 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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 Apr 08 06:20:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701723.1096087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtiMD-0001dr-5B; Mon, 08 Apr 2024 06:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701723.1096087; Mon, 08 Apr 2024 06: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 1rtiMD-0001dk-2F; Mon, 08 Apr 2024 06:19:53 +0000
Received: by outflank-mailman (input) for mailman id 701723;
 Mon, 08 Apr 2024 06: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtiMC-0001dd-0A
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:19:52 +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 0100e387-f570-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 08:19:49 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-416507ea0adso3825485e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 23:19: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
 o32-20020a05600c512000b004163321790esm9375243wms.19.2024.04.07.23.19.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 07 Apr 2024 23: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: 0100e387-f570-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712557189; x=1713161989; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EZwtVUJGuETZGIvDrXiFHI3wIMKojgYvy+/b+6DJj/I=;
        b=TD78ojoqrejrzfmxxipo9noMsLkZSYsLz02kPkg5mIz4NvArcU0gvmSAb4hzLqGsWB
         Iy/cuuHcABm9NB1829pax9FjqjWn9/SQAjuXIV/EmnePT6nrGDT7pY9j3cBLfha23yGO
         E5xtVEVZMEkU0iEOW9j/9S8J2w3DA+j5vKkp0rB8KmGnRwJDsCnS7ZAGU3sX281R35dZ
         FYVVtVWsl8ldsshQHtXvgQn9nsnp8WhvP0SxWoW3DB2zDIs4qeRpRLaA3RbuhWF4gZI8
         /gYnyNku8k+zPFrejOvPYOhpzvmZmm8yYLR1IXedSvnI4jOmKPdZmvAPaB9p0j0NHF9F
         Y7LA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712557189; x=1713161989;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EZwtVUJGuETZGIvDrXiFHI3wIMKojgYvy+/b+6DJj/I=;
        b=kK60QUta7ymJqmPi83FOn5vHVQsLMwzVLtPzFY5juRLZSWWxU2mUOkJx5438/udHJr
         O68Yc1ZEsorqCg0dcvoGnWde83Wh9gnt8YNoerdm4Cmmwjqyd/yVFdGsWvxLRl6Rk+9D
         R51O/ifIuBPqi6rEjqezSBEy3ii+vJvD4Creukic5+L46HpPKVQ+EXmbogYodRJHCTDI
         6ccCVbasqOkoWrmnr7fuvThc8/SJOhde37iKYCavUBPnAIDRoHGrdkpFHab9prujGULP
         bLcfOMnCWuRMBzDGe/+hGWnO0sFVkFNZmLspfslCs6cwKBSy4sAKPS5CJKOHKlvz+AHC
         EWlw==
X-Forwarded-Encrypted: i=1; AJvYcCWdkqS/MSSRaz+TG1macE+H/w7L6byKHZlSwJBEmGYTXkm+kgryCqz39InJBTE7f+G9JyAJbaIXrPhWmoe+dvg1i901bKn8UvUPz/aYCwQ=
X-Gm-Message-State: AOJu0YzJSsxMoMNQ0/D/ClPwd6/QF0zB0n3PylAqvUOrToIoY2+Ogy8o
	KwGNwJ01Kc8Wp/9d8ELhF7tRtkJBG1VnrFeqaUj0RSc1Gt+cMbAvV3eNXKA8yg==
X-Google-Smtp-Source: AGHT+IEzdzeXMrBnoJJrbJzPIKi5pFClu7srH50iVvwdU2Iu1vhOjcIVzoc98hTP/XZ2GU6glBz74g==
X-Received: by 2002:a05:600c:154b:b0:416:2b81:259a with SMTP id f11-20020a05600c154b00b004162b81259amr6076261wmg.17.1712557189205;
        Sun, 07 Apr 2024 23:19:49 -0700 (PDT)
Message-ID: <531cc2c1-a2ac-4700-9f50-8c2e5c8680c7@suse.com>
Date: Mon, 8 Apr 2024 08:19:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] xen/domctl, tools: Introduce a new domctl to get
 guest memory map
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-2-xin.wang2@amd.com>
 <3ba13bce-d301-49bb-9028-6d48a05fd077@suse.com>
 <d2685464-65ae-4b88-b458-8873599027ff@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: <d2685464-65ae-4b88-b458-8873599027ff@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.04.2024 05:08, Henry Wang wrote:
> On 4/4/2024 5:28 PM, Jan Beulich wrote:
>> On 03.04.2024 10:16, Henry Wang wrote:
>>> --- a/xen/arch/arm/domain.c
>>> +++ b/xen/arch/arm/domain.c
>>> @@ -696,6 +696,7 @@ int arch_domain_create(struct domain *d,
>>>   {
>>>       unsigned int count = 0;
>>>       int rc;
>>> +    struct mem_map_domain *mem_map = &d->arch.mem_map;
>>>   
>>>       BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
>>>   
>>> @@ -785,6 +786,20 @@ int arch_domain_create(struct domain *d,
>>>       d->arch.sve_vl = config->arch.sve_vl;
>>>   #endif
>>>   
>>> +    if ( mem_map->nr_mem_regions < XEN_MAX_MEM_REGIONS )
>>> +    {
>>> +        mem_map->regions[mem_map->nr_mem_regions].start = GUEST_MAGIC_BASE;
>>> +        mem_map->regions[mem_map->nr_mem_regions].size = GUEST_MAGIC_SIZE;
>>> +        mem_map->regions[mem_map->nr_mem_regions].type = GUEST_MEM_REGION_MAGIC;
>>> +        mem_map->nr_mem_regions++;
>>> +    }
>>> +    else
>>> +    {
>>> +        printk("Exceed max number of supported memory map regions\n");
>> Debugging leftover?
> 
> Well, not really, I did this on purpose to print some info before exit. 
> But now I realize other error paths in arch_domain_create() do not do 
> that. I will drop this printk in v4.
> 
>>> @@ -176,6 +175,37 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>>>   
>>>           return rc;
>>>       }
>>> +    case XEN_DOMCTL_get_mem_map:
>> ... separating blank line above this line and ...
>>
>>> +    {
>>> +        int rc = 0;
>>> +        uint32_t nr_regions, i;
>>> +
>>> +        if ( domctl->u.mem_map.pad )
>>> +            return -EINVAL;
>>> +
>>> +        /*
>>> +         * Cap the number of regions to the minimum value between toolstack and
>>> +         * hypervisor to avoid overflowing the buffer.
>>> +         */
>>> +        nr_regions = min(d->arch.mem_map.nr_mem_regions,
>>> +                         domctl->u.mem_map.nr_mem_regions);
>>> +
>>> +        domctl->u.mem_map.nr_mem_regions = nr_regions;
>>> +
>>> +        for ( i = 0; i < nr_regions; i++ )
>>> +        {
>>> +            if ( d->arch.mem_map.regions[i].pad )
>>> +                return -EINVAL;
>>> +        }
>>> +
>>> +        if ( copy_to_guest(domctl->u.mem_map.buffer,
>>> +                           d->arch.mem_map.regions,
>>> +                           nr_regions) ||
>>> +             __copy_to_guest(u_domctl, domctl, 1) )
>>> +            rc = -EFAULT;
>>> +
>>> +        return rc;
>>> +    }
>>>       default:
>> ... this one.
> 
> ...personally I don't have strong opinions on the style as long as we 
> keep consistent. I can switch the Arm one following the x86 style or 
> just leave it as is.
> 
>> Further with the way you use min() above, how is the caller going to know
>> whether it simply specified too small an array?
> 
> I am a bit unsure if we need to forbid caller to specify a smaller value 
> than the max number of regions supported by the hypervisor, technically 
> it is legal, although I agree it will lead to some issues in the 
> toolstack side. It looks like the similar hypercall of e820 also does 
> not forbid this (see get_mem_mapping_layout() and related 
> XENMEM_memory_map). Do you have any suggestions?

Fill only as much of the array as there is space for, but return the full
count to the caller. Another option (less desirable imo) would be to return
-ENOBUFS. If to be written anew now, I'd likely code XENMEM_memory_map
handling that way, too. But that's too late now.

>> And then you check d->arch.mem_map.regions[i].pad. Why's that? And even
>> if needed here for some reason, that's surely not EINVAL, but an internal
>> error in Xen.
> 
> I did that under the impression that we need to check the value of 
> padding field being 0. Also you mentioned in one of the comments below 
> that Xen should guarantee that the padding field should be 0 before 
> return. Apologize if I misunderstand your comment. The -EINVAL is taken 
> from the same way of checking the padding field in XEN_DOMCTL_vuart_op 
> above. Personally I would keep some consistency, but I am open to 
> suggestions to make it better.

In XEN_DOMCTL_vuart_op it is caller input which is being checked (and
needs checking). You're checking internal Xen state here instead.
Considering the nature of the issue arising if the assumption was broken,
ASSERT() would seem to be the construct to use for the internal state
check.

>> Finally instead of __copy_to_guest() can't you use __copy_field_to_guest(),
>> for just nr_regions?
> 
> You mean replacing __copy_to_guest(u_domctl, domctl, 1) with only the 
> __copy_field_to_guest(u_domctl, domctl, u.mem_map.nr_mem_regions)? Ok I 
> can do that in v4.

Yes (unless there are technical reasons not to, of course).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 06:22:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:22:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701725.1096097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtiOk-00031B-JU; Mon, 08 Apr 2024 06:22:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701725.1096097; Mon, 08 Apr 2024 06: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 1rtiOk-000314-Eh; Mon, 08 Apr 2024 06:22:30 +0000
Received: by outflank-mailman (input) for mailman id 701725;
 Mon, 08 Apr 2024 06: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtiOi-00030w-UG
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:22:28 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f431b5a-f570-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 08:22:28 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4165d03308fso7853975e9.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 23:22: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
 b17-20020a5d40d1000000b00343cad2a4d3sm8124018wrq.18.2024.04.07.23.22.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 07 Apr 2024 23:22: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: 5f431b5a-f570-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712557347; x=1713162147; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FjSm8F6eUQIivWZ/kM3Gv3zgHRKZvUXI2rEJhkBfgVA=;
        b=TNhUDGzkY/TTS2QOgjejpT1Rirss4GRaToXK0MgkSgZ7C6j6yfLoNQWSd3nYYc7wJW
         WYwGRA76bJ5eaolYvhM0izqhtNLMeWD6Zql/AirtL+0dNLHJQpC0opk8GH+FfzgY2xuj
         rcc8iyF9V2e+u0oCHHPdNUovfoLBFnEOjQ8ATf45yV9AC29bDFhZ1KbwnxeEDCFK6AUF
         NgHusonyiI8e9a5+9bCaIlWBgCa0bCpyfsq8ik0UFTQWWo1vIa/DkOhw2Ig+TLSwlkWx
         jUR6dApbMrJ0bUp9acoOXacHrDWhE4cW8fRgtor3YMUiQLuNVM3aRM/rq94AT8GUtRwY
         UDtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712557347; x=1713162147;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FjSm8F6eUQIivWZ/kM3Gv3zgHRKZvUXI2rEJhkBfgVA=;
        b=QZPWpDm5JaeTUJkVTjghdFy4zl+rh99kxmcxiY3FxsmzRhqCmDMiEI+JS7QYhG/Gxj
         7brTe0UsIYpWxtvSTH+7iAFA3kcHc6/Fur/RKSW3oWomIrT7rbNY0yDsFhMaxLjxM+Mr
         p9fuA7y1FdCU/1EgYNYJfzmNNiFkkfeacP/qKRjtu7gu4XrfNr84AHvqGgqOwkcaHSgk
         COhlP8Fl5Zo4Oaz+ar22nfjUf6akAExAaXMKt6T1a9nNwp2aqKF/IEWbx4r972feUhvp
         a1w49YAM7Pl3A0JsBQH/I+PTefpZT8S/rmex5XfSziKelgBSoa0mHM/PxuQjvGwZlpgh
         g3YQ==
X-Forwarded-Encrypted: i=1; AJvYcCXO4lNDhLUh5apbJcLjz4DUypzElmAS53FmXpK/YNbyIkkOsLQOZr5/bND9IvyKXby/evEjr90W5uxuNAwc0Sh9oLbZIvysw1YKV0xTVrI=
X-Gm-Message-State: AOJu0Yxlk6J8rFCuoW0mMwHzMJ2UQJNLNRHbpDgXUlm7UM3eDvSerrup
	oAoDl1YmLZUFRmdbzRNRytDRMQBvIWpENIsQRKBCnhcBuR4BpRlqhNtx4QmLHg==
X-Google-Smtp-Source: AGHT+IHBPBBkEoRWtZbh5Km1fYyt93hZHFAWRfaS+gkfJZlVSDklhpJANqaXMc3ncKFxZVassxstxQ==
X-Received: by 2002:adf:ee46:0:b0:343:81ea:c539 with SMTP id w6-20020adfee46000000b0034381eac539mr6869465wro.28.1712557347494;
        Sun, 07 Apr 2024 23:22:27 -0700 (PDT)
Message-ID: <951cc6ba-c971-4b5b-9cfc-bc79245a9549@suse.com>
Date: Mon, 8 Apr 2024 08:22:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
 <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
 <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.04.2024 05:19, Henry Wang wrote:
> On 4/4/2024 5:38 PM, Jan Beulich wrote:
>> On 03.04.2024 10:16, Henry Wang wrote:
>>> --- a/xen/include/public/memory.h
>>> +++ b/xen/include/public/memory.h
>>> @@ -41,6 +41,11 @@
>>>   #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>>>   /* Flag to indicate the node specified is virtual node */
>>>   #define XENMEMF_vnode  (1<<18)
>>> +/*
>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>> + * or static allocation.
>>> + */
>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>> As before, a separate new sub-op would look to me as being the cleaner
>> approach, avoiding the need to consume a bit position for something not
>> even going to be used on all architectures.
> 
> Like discussed in v2, I doubt that if introducing a new sub-op, the 
> helpers added to duplicate mainly populate_physmap() and the toolstack 
> helpers would be a good idea.

I'm curious what amount of duplication you still see left. By suitably
adding a new parameter, there should be very little left.

> Similarly as the way that we do for the 
> MEMF_force_heap_alloc, if in the future we run out of the bit positions, 
> can't we reuse this bit for different architectures as an alias? Or 
> maybe we can even alias it now?

I view this as far less desirable in the public interface.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 06:36:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:36:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701729.1096106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtic2-0005Pd-Lv; Mon, 08 Apr 2024 06:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701729.1096106; Mon, 08 Apr 2024 06:36:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtic2-0005PW-J8; Mon, 08 Apr 2024 06:36:14 +0000
Received: by outflank-mailman (input) for mailman id 701729;
 Mon, 08 Apr 2024 06: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtic1-0005PQ-Vy
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:36:13 +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 4b132fe4-f572-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 08:36:13 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-516b6e75dc3so5010034e87.3
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 23:36: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
 d11-20020adff84b000000b0033e7a102cfesm8161402wrq.64.2024.04.07.23.36.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 07 Apr 2024 23:36: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: 4b132fe4-f572-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712558172; x=1713162972; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LvqhavDAF+jKlOZbCyPM1gJYd3LyK2rmrFJ2kIM8BGo=;
        b=exAlgqPhVjKEp+O5AR05ucNq4Ok6dRCjnUG6f5LgK7BtOp3anwe4w6L8f/mh9XTUBD
         4h5tVDELUVGicwEJG4Bx5IM+jTRbm+/ava4sNmSjuJ9PjOBfIB5Wbr2hbv1mkdq1k6VB
         hERdxkbGipwtI8+AHV5kDVZC6ANMBB8pAYHPUNZ9pPu348lK4rGIfDGjlqUH7Dlaqp+C
         6Ds4sOQBmHJZF/LmdM+Zefux1awJb4q/Vc/tDOpivWwTWRkP8Nr+KmLM7UzWF+56nKxp
         XyPZsLhyXVd+Zayg4QEA/zat6Rh5YF4h+VDbP8GBSetD8Z49oaIWkzfv6Ev2JkoTNAHr
         XLIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712558172; x=1713162972;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LvqhavDAF+jKlOZbCyPM1gJYd3LyK2rmrFJ2kIM8BGo=;
        b=GhSYZKZzxH+3LY6OFj/y+mlkftnbISpxJCMg3O1SXPYjP23gpssnMKibv+an7YlWVc
         2fZw86Ym++l2JAne29vu2I0v0yFj2bX7a7Hg6/v4CBvcysoH63UUI4q2CLn+HTwkGJ2l
         pCRrQVWDEquYAhh5rYr8sryx984+cdt/WTr1zMLkXH+ZGZoUkQZFfdKtBYTm8hQQstnh
         cUrKUJ+9Qs0jocihxQdHAg2Ya9r2DocdYE3bJg27+h1AmBsdiXq7I8nNoyQmNU/ILdeU
         nUxwK+ZjaHNnlV4K0BERmFRWR/RFgpozoAPGrDnGeIjhs+S76kbPl+RQV65zj8Aeu5tI
         t+dw==
X-Forwarded-Encrypted: i=1; AJvYcCU08WTU5Lv+EkxXBHQfU45UtphL+FC/26hP+rqDTG+B8xK+rtHtJjS2s7n6VBrwlhoc8NgoVFGrWov3M2Tvem6IPDF3HP3uNX5S1SV7nBU=
X-Gm-Message-State: AOJu0YwdVeRJLegw5t0YDVtgVazlgy9TJcGsmF0SPY7g/tP20zqLPN+K
	xad1uo7qJO9QC1gpI+x/y/vehmTxTBOZHIL8oXOAp8nOp+sFNJm53lqPeTMTyA==
X-Google-Smtp-Source: AGHT+IEWkViVOGI6beku9exmoy/ec8At4MFVL1JfjJUkGAE1CXu0PuKkHjzeZP0VAujU3g+ufKmfLw==
X-Received: by 2002:a05:6512:6c9:b0:515:a5b1:1dd0 with SMTP id u9-20020a05651206c900b00515a5b11dd0mr5995755lff.55.1712558172555;
        Sun, 07 Apr 2024 23:36:12 -0700 (PDT)
Message-ID: <b5ab32e6-60ef-483b-90d8-233c9779501d@suse.com>
Date: Mon, 8 Apr 2024 08:36:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] libxl: Support blktap with HVM device model
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Jason Andryuk <jason.andryuk@amd.com>,
 xen-devel@lists.xenproject.org
References: <20240407204953.60442-1-jandryuk@gmail.com>
 <20240407204953.60442-3-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240407204953.60442-3-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.04.2024 22:49, Jason Andryuk wrote:
> blktap exposes disks over UNIX socket Network Block Device (NBD).
> Modify libxl__device_disk_find_local_path() to provide back the
> QEMU-formatted NBD path.  This allows tapdisk to be used for booting an
> HVM.
> 
> Use the nbd+unix:/// format specified by the protocol at
> https://github.com/NetworkBlockDevice/nbd/blob/master/doc/uri.md
> 
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Please remember to keep tags in chronological order, i.e. R-b after S-o-b.

It's also not clear to me whether this could sensibly go in ahead of patch 1;
for now I'll assume it shouldn't.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 06:42:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:42:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701733.1096117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtiiG-0007BC-9x; Mon, 08 Apr 2024 06:42:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701733.1096117; Mon, 08 Apr 2024 06:42:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtiiG-0007B5-7F; Mon, 08 Apr 2024 06:42:40 +0000
Received: by outflank-mailman (input) for mailman id 701733;
 Mon, 08 Apr 2024 06:42:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QRHl=LN=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rtiiE-0007Az-Qu
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:42:38 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20700.outbound.protection.outlook.com
 [2a01:111:f403:2416::700])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e4af570-f573-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 08:42:35 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 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.7409.46; Mon, 8 Apr 2024 06:42:31 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::debf:178c:f5df:5efa]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::debf:178c:f5df:5efa%6]) with mapi id 15.20.7409.042; Mon, 8 Apr 2024
 06:42:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e4af570-f573-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Eg/QXqJ4FiWnUW3zDBPNY22Gm2WGOtl5jCi31h50geHsxd++GjBl0XhU4RxSArNhYC+V4jjfSLoCrS7QajaUjG7jNH7nhJnGDivKGfPLjBu0v/nNeLAoFhPL9/gLLLgMdPtInuXK4ZTXK7WP9x/hlGhEH4rlLhAMzDNvQRnEMJypUctjwFsxQiOYC3oY0irO11G2I9AzsKKwAeOi0BQhBieYjA/HXpswrQEfLDjzV5F0IwpzlRarK9GduYYCMRU9jJwflvmFNHzql1kGAp+IuS5jKIF6TRq3LF+F4Z2H/o1JnlwjSq7ZaL6+wpAq+0dSPs+thkpzhU97Rna8t5jURA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TbnIkSLrai9NEbFNX/4qtSIg16KaxtrU/Bv64ecsqws=;
 b=ejEIssYbStBCo/31bSoJA+v27/kSlq2zxyi/hFeV4cCgOp8pGN3uiRc62Z3JG7oTT3363xj3D2BzHqZ+0flMw16G6uEzyhRUEp+xgrgrRonIyyQqqjVFQrJxsvhJ9L/HbG1q2dLVpWdx+AwwhYUbLSxxmiEbVFrre0Cy5aALPzrRhtEjBFbVBCM+ngZTxmh07UADaejKIuwx+e/jfYt47ronIcCO89TOgmLvERHrkpk3GO4slVrlXrRCO/gwqhDqedEiLjcpK5moLiR3iBoutOn2ohhkt8dCD75cKoZ8UJI2g/eyZpmSL1yxA/OjQ03RGDD441pxE2P9/QjOEXX7gw==
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=TbnIkSLrai9NEbFNX/4qtSIg16KaxtrU/Bv64ecsqws=;
 b=xUfZYKSElBodjNsdPNYSIiIW6rlCH00KGnXwLkDjhMwNGGyH1dtlxsvkqBkISHlVlZpDm2yt7+SMbYHouo8SDVZDkE4NCapVyqby7CPcLzcRID3WU5JM1SDz23CxwYky5B4BU+HtH5qp+iZf4ZPBXx1tME9bLhRIjZIdacPjot0=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Bjorn Helgaas <helgaas@kernel.org>
CC: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>, Juergen Gross
	<jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Oleksandr
 Tyshchenko <oleksandr_tyshchenko@epam.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, Bjorn Helgaas <bhelgaas@google.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>, "Hildebrand,
 Stewart" <Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC KERNEL PATCH v4 3/3] PCI/sysfs: Add gsi sysfs for pci_dev
Thread-Topic: [RFC KERNEL PATCH v4 3/3] PCI/sysfs: Add gsi sysfs for pci_dev
Thread-Index:
 AQHaP5+doYjSbLzTtkiUcLxinuNXV7DmmK+AgAEHcQCAAAvdAIABnLmAgAg1Y4CAALowAIAAwpaAgADNJ4CAAKgsAIAA5P2AgA1jFYCAA+/3AIAAqS0AgAQDqwCAF+s/gIA7uXeA
Date: Mon, 8 Apr 2024 06:42:31 +0000
Message-ID:
 <BL1PR12MB5849572DFC67B1F8A68E123DE7002@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <ZcnhOEjnTgbYFPVl@macbook> <20240212191858.GA1137351@bhelgaas>
 <Zc3NNOEN-NPR9jjI@macbook>
 <BL1PR12MB5849CD6642E50A491206BC9BE75E2@BL1PR12MB5849.namprd12.prod.outlook.com>
In-Reply-To:
 <BL1PR12MB5849CD6642E50A491206BC9BE75E2@BL1PR12MB5849.namprd12.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA1PR12MB6433.namprd12.prod.outlook.com
 (15.20.7292.000)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DM4PR12MB6423:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 2ILP0t4dhS4pgy3KDXHAobngibT/bm9FCXWrSWmbzXvHWZXJl23RqoVcMXSa3WRORU/48tMiRv++ebVWnYhZqtDTou9HG/le9dLb/Vdt8/d84f3at20JB0l2IgIbN+FP0kAz5ythKROTuMHF9xrlg8iQG+J6RvkDmVFqVX5vLfUS3cGaPhAS3AJEFTvML/eUGB3dFauOPnq4tY4QrMYQdNFxPYntqaALTf8uoCT5iqwv0ylm/x9ZgpjRbIeByK1Gsre6f0t0jgp7AfkZous3a+CWXVMUbke05yl4sIz8NSX1OPp1fqtaJETK6EZjaTY5HoR3hjJeq1KW3+PDFfW9sf6F3CaQ13uEfvYABPTyLuqWZcnMUyhiCrtmetw5lab6Ob9daZuZ/NKwVPd2wn/e+N0ZN+TmlnIYUaNTk4W+l4/gyexprPScpPIejoZENrhnxIM9/o4eyhFkQ5QwBBGKebalwCu23izaVKS/vxmz4+/w6NPiF/rBNCfkVuFtaVMQGfSUNuWk2anKbsGG4iWEmECYFEos8OJmReMUGJCzVHGvtBwCSoSIFabXkUfqFf/K5pfhJldv2863fQUK6xnFlrkImlC89cGctZYAOeLssLtb7jf0PxGcXlkuVUejdFHOL5xc7FM8db/2FwUyIWEhdG84SPEOLNWtHJOEZaulXyg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(366007)(376005);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?M3FQNXA3b3hjN0VTaVpyMzYvNmFuNkpOU0F4SDMvZ2h1WGpnWlVMUmdWQkNh?=
 =?utf-8?B?RDh1Zk53aUJmN2pTQzRIUTZXak5rK2ppeDFWWlk1NFZGdHdVbmk1UnpuWHRL?=
 =?utf-8?B?U3ZON0FxcDJsMWhsYlp3dHB2R0ZWL1VUUHJSTUUxdzJWaVg4bnR0bjBLM0lU?=
 =?utf-8?B?dHJNSkNrWHoxY1RoQ2ozRzFSditNaXR0Qnp3NjkyT0QwaXpjb2FTQ3NRc0o2?=
 =?utf-8?B?cXFtYzdrOEFLUFRrQkJTMzNpZjU2T0N6d2hPYU1MNmlINy9qUFpYc0FoZ0Zy?=
 =?utf-8?B?Q1BXS1RKV1g0dzhudlAzNHVQRDBveTY4TzRFekYyaXZoRVFUNlhJOTE2WXl5?=
 =?utf-8?B?aXEvck05RVZPdzFBYmIyK29nbG5jUUM4WUh5azJsdEdENTRKTVdSNFA1ODhN?=
 =?utf-8?B?NDVkRWl6SGxOTDQrRFYxZVFIWU9sS1VjMEZHU3E1U3RlYUVoeDdSYVhFaktm?=
 =?utf-8?B?MHlWVDJ3OTMvU0NHcUdSYTZhVXZlcHJjQVFkdDhsR241eUh0bDB5dHp2eG1P?=
 =?utf-8?B?clRMNzNUK3c4WUpHRmRFTkdTcVBpbHlzaW41dDBvd1Nla3E1Z3NMT1pISnVZ?=
 =?utf-8?B?WFRhbXZiVGtic2YrK1piSER0Q1gxc2dzNDdSczFITjdtSU1uZHhicVhMdXQ3?=
 =?utf-8?B?ZzhYT2lmWlhxYW0yQzM1eU9LNGs5YTBPeXZNb0ROS2ZDZ3ZIbkNqWnZnQkZM?=
 =?utf-8?B?L3FBUThXcTgvQ24rdHU4anpmZzVPSU5MUVdYOWJXNFJHVVZwSDgrdGdaa0dH?=
 =?utf-8?B?TVZHSGRuRi9lRTBxZ25HRE9ld2JLNloyVGFvZC9aRzBhV3NaVGIyc2RkZFRL?=
 =?utf-8?B?THJqVXFCMDQzdFhpTlFKdzB1QmVpb3JXc0VnNFdyVklLa3BtRzNCYUY1cy9p?=
 =?utf-8?B?RGtWZnVodG1hNWVrU3lreHZybGwzcC9mS3B1REdPTGZDZ01aNVhXd0lwZW9Q?=
 =?utf-8?B?bzdzTi9EOU8wbVFVQWZKZDZYdUV0REUxU3paRk1xY3pyMkxpY3ZsMDJ5WmJ4?=
 =?utf-8?B?ME1tTkppb1krU2lmSlRhcEpONStZbWlYNXplbFpseXhyYy9iSmorWWwzSkhN?=
 =?utf-8?B?ZC84ZHJDY0s5Tmw4UEtnQ0NGSkdTRC9ZSUVIbkptalY4MG02K1R1ZmhRRWQw?=
 =?utf-8?B?QlV6dUgwMmt1dXRYWU4rWnZwSXpsYnZ1dnFNNUtlbDNrNlRFdWRNdEZRZmF3?=
 =?utf-8?B?cjJidU41cGlpdXJGamhqYTc5dGQrSG4ycDdhUnZVa1pzQjlJNXF6RGVZRmRj?=
 =?utf-8?B?dkQ3TEl6NnNmcDBhU3JhUFdQOXcvNlZoeDlBYmttUDl1cWViUm55WG1vL2tB?=
 =?utf-8?B?WEFGcXdNOWJTM0trcnkrbVNYS0NRd2U2WkoxYzlYNG9OR0s1TUZjeU9aeS9n?=
 =?utf-8?B?QVdmY0FQbU52bm5KR1E5NytwUHcrYlNYSjBJUWhzdkNYWStxRHoyZlhMdjRi?=
 =?utf-8?B?M2U4N0R6ZGcvenlvNlhUSE11NGtXblE1ZEh4OXl5Y1VNc0VHN0RWTWdqZXZY?=
 =?utf-8?B?ZWNFUnc2SysrRW9jb291T0FHYVkrMVQzK2J5QzZtSFpFWitPS3pZZHkvRm1U?=
 =?utf-8?B?dGRoNm5hbkZLc2ZQWmhpaG5jTzUxbDkwTGtYWGVvaVJaT3NtUzF5ZDZJZGkz?=
 =?utf-8?B?a3V0MmRaNGduREs2RVJPcEhuallyMlkvQ3FqOHNZZlJkbkhGbUZ3aGFoR05B?=
 =?utf-8?B?SVVpbDhOeU9VS0ZaMGRPUi9GYVludXp6cUJNelE2bUZMTjJ3NEQ3YXBBclJt?=
 =?utf-8?B?Vmp4TmlxY2lSUmhVQmNRVEZrSmJMV0dkTnh6Vzh5eTZFMXNqalJzYzRVWi9H?=
 =?utf-8?B?aGZsdUVwelN0cVVoYnhTUlpxYlRsZWdheFEra3pkWkZlbzVwMXdnZTJqVENu?=
 =?utf-8?B?TjV2aTR1YkNDZkNyVFAzVlUzNkx5cVhoeW1IaVZvTVVWUkdzUWNmcGZ5QkFM?=
 =?utf-8?B?M0d0TjNMRHJaL3ZKU0lZMW9HMWZJWTRlcFpjZmoxUndnUXBYNzdBOFFaS3hF?=
 =?utf-8?B?b2k3NnJLU3ZpT2hlL0xUVHdBbllxRVp0TlVOY3hja3piUGFYYXpZeGExRkZM?=
 =?utf-8?B?dFllbkxEMUIxUStyWS9JR3lXbDRKUlRqQi9qNVVWQ1lpTnpWUVk4MWV4cU1D?=
 =?utf-8?Q?/h6E=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7D8077D4F85CCE4EA78BFD31E9EC44D9@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: 0bd55ef1-46b2-4bb5-efbc-08dc579710d4
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2024 06:42:31.3596
 (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: jbDOE9zj99plxSw1S8MnfWfsaRYn+YaeYudfrxmccXO5fPeUgxEm7YGG7yaSAjQQc55vnSuAZ6j8I6bOLPZOSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6423

SGkgQmpvcm4sDQpJdCBoYXMgYmVlbiBhbG1vc3QgdHdvIG1vbnRocyBzaW5jZSB3ZSByZWNlaXZl
ZCB5b3VyIHJlcGx5IGxhc3QgdGltZS4NClRoaXMgc2VyaWVzIGFyZSBibG9ja2luZyBvbiB0aGlz
IHBhdGNoLCBzaW5jZSB0aGVyZSBhcmUgcGF0Y2hlcyBvbiBYZW4gYW5kIFFlbXUgc2lkZSBkZXBl
bmRpbmcgb24gaXQuDQpEbyB5b3Ugc3RpbGwgaGF2ZSBhbnkgY29uZnVzaW9uIGFib3V0IHRoaXMg
cGF0Y2g/IE9yIGRvIHlvdSBoYXZlIG90aGVyIHN1Z2dlc3Rpb25zPw0KSWYgbm8sIG1heSBJIGdl
dCB5b3VyIFJldmlld2VkLWJ5Pw0KDQpPbiAyMDI0LzMvMSAxNTo1NywgQ2hlbiwgSmlxaWFuIHdy
b3RlOg0KPiBIaSBCam9ybiwNCj4gTG9va2luZyBmb3J3YXJkIHRvIGdldHRpbmcgeW91ciBtb3Jl
IGlucHV0cyBhbmQgc3VnZ2VzdGlvbnMuDQo+IEl0IHNlZW1zIC9zeXMvYnVzL2FjcGkvZGV2aWNl
cy9QTlAwQTAzOjAwLyBpcyBub3QgYSBnb29kIHBsYWNlIHRvIGNyZWF0ZSBnc2kgc3lzZnMuDQo+
IA0KPiBPbiAyMDI0LzIvMTUgMTY6MzcsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+PiBPbiBN
b24sIEZlYiAxMiwgMjAyNCBhdCAwMToxODo1OFBNIC0wNjAwLCBCam9ybiBIZWxnYWFzIHdyb3Rl
Og0KPj4+IE9uIE1vbiwgRmViIDEyLCAyMDI0IGF0IDEwOjEzOjI4QU0gKzAxMDAsIFJvZ2VyIFBh
dSBNb25uw6kgd3JvdGU6DQo+Pj4+IE9uIEZyaSwgRmViIDA5LCAyMDI0IGF0IDAzOjA1OjQ5UE0g
LTA2MDAsIEJqb3JuIEhlbGdhYXMgd3JvdGU6DQo+Pj4+PiBPbiBUaHUsIEZlYiAwMSwgMjAyNCBh
dCAwOTozOTo0OUFNICswMTAwLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPj4+Pj4+IE9uIFdl
ZCwgSmFuIDMxLCAyMDI0IGF0IDAxOjAwOjE0UE0gLTA2MDAsIEJqb3JuIEhlbGdhYXMgd3JvdGU6
DQo+Pj4+Pj4+IE9uIFdlZCwgSmFuIDMxLCAyMDI0IGF0IDA5OjU4OjE5QU0gKzAxMDAsIFJvZ2Vy
IFBhdSBNb25uw6kgd3JvdGU6DQo+Pj4+Pj4+PiBPbiBUdWUsIEphbiAzMCwgMjAyNCBhdCAwMjo0
NDowM1BNIC0wNjAwLCBCam9ybiBIZWxnYWFzIHdyb3RlOg0KPj4+Pj4+Pj4+IE9uIFR1ZSwgSmFu
IDMwLCAyMDI0IGF0IDEwOjA3OjM2QU0gKzAxMDAsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+
Pj4+Pj4+Pj4+IE9uIE1vbiwgSmFuIDI5LCAyMDI0IGF0IDA0OjAxOjEzUE0gLTA2MDAsIEJqb3Ju
IEhlbGdhYXMgd3JvdGU6DQo+Pj4+Pj4+Pj4+PiBPbiBUaHUsIEphbiAyNSwgMjAyNCBhdCAwNzox
NzoyNEFNICswMDAwLCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4gT24gMjAyNC8x
LzI0IDAwOjAyLCBCam9ybiBIZWxnYWFzIHdyb3RlOg0KPj4+Pj4+Pj4+Pj4+PiBPbiBUdWUsIEph
biAyMywgMjAyNCBhdCAxMDoxMzo1MkFNICswMDAwLCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+Pj4+
Pj4+Pj4+Pj4+PiBPbiAyMDI0LzEvMjMgMDc6MzcsIEJqb3JuIEhlbGdhYXMgd3JvdGU6DQo+Pj4+
Pj4+Pj4+Pj4+Pj4gT24gRnJpLCBKYW4gMDUsIDIwMjQgYXQgMDI6MjI6MTdQTSArMDgwMCwgSmlx
aWFuIENoZW4gd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4+Pj4+IFRoZXJlIGlzIGEgbmVlZCBmb3Igc29t
ZSBzY2VuYXJpb3MgdG8gdXNlIGdzaSBzeXNmcy4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4gRm9yIGV4YW1w
bGUsIHdoZW4geGVuIHBhc3N0aHJvdWdoIGEgZGV2aWNlIHRvIGR1bVUsIGl0IHdpbGwNCj4+Pj4+
Pj4+Pj4+Pj4+Pj4gdXNlIGdzaSB0byBtYXAgcGlycSwgYnV0IGN1cnJlbnRseSB1c2Vyc3BhY2Ug
Y2FuJ3QgZ2V0IGdzaQ0KPj4+Pj4+Pj4+Pj4+Pj4+PiBudW1iZXIuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+
IFNvLCBhZGQgZ3NpIHN5c2ZzIGZvciB0aGF0IGFuZCBmb3Igb3RoZXIgcG90ZW50aWFsIHNjZW5h
cmlvcy4NCj4+Pj4+Pj4+Pj4+Pj4+IC4uLg0KPj4+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4+Pj4+
IEkgZG9uJ3Qga25vdyBlbm91Z2ggYWJvdXQgWGVuIHRvIGtub3cgd2h5IGl0IG5lZWRzIHRoZSBH
U0kgaW4NCj4+Pj4+Pj4+Pj4+Pj4+PiB1c2Vyc3BhY2UuICBJcyB0aGlzIHBhc3N0aHJvdWdoIGJy
YW5kIG5ldyBmdW5jdGlvbmFsaXR5IHRoYXQgY2FuJ3QgYmUNCj4+Pj4+Pj4+Pj4+Pj4+PiBkb25l
IHRvZGF5IGJlY2F1c2Ugd2UgZG9uJ3QgZXhwb3NlIHRoZSBHU0kgeWV0Pw0KPj4+Pj4+Pj4+Pj4N
Cj4+Pj4+Pj4+Pj4+IEkgYXNzdW1lIHRoaXMgbXVzdCBiZSBuZXcgZnVuY3Rpb25hbGl0eSwgaS5l
LiwgdGhpcyBraW5kIG9mDQo+Pj4+Pj4+Pj4+PiBwYXNzdGhyb3VnaCBkb2VzIG5vdCB3b3JrIHRv
ZGF5LCByaWdodD8NCj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+Pj4+PiBoYXMgQUNQSSBzdXBwb3J0
IGFuZCBpcyByZXNwb25zaWJsZSBmb3IgZGV0ZWN0aW5nIGFuZCBjb250cm9sbGluZw0KPj4+Pj4+
Pj4+Pj4+Pj4gdGhlIGhhcmR3YXJlLCBhbHNvIGl0IHBlcmZvcm1zIHByaXZpbGVnZWQgb3BlcmF0
aW9ucyBzdWNoIGFzIHRoZQ0KPj4+Pj4+Pj4+Pj4+Pj4gY3JlYXRpb24gb2Ygbm9ybWFsICh1bnBy
aXZpbGVnZWQpIGRvbWFpbnMgRG9tVXMuIFdoZW4gd2UgZ2l2ZSB0byBhDQo+Pj4+Pj4+Pj4+Pj4+
PiBEb21VIGRpcmVjdCBhY2Nlc3MgdG8gYSBkZXZpY2UsIHdlIG5lZWQgYWxzbyB0byByb3V0ZSB0
aGUgcGh5c2ljYWwNCj4+Pj4+Pj4+Pj4+Pj4+IGludGVycnVwdHMgdG8gdGhlIERvbVUuIEluIG9y
ZGVyIHRvIGRvIHNvIFhlbiBuZWVkcyB0byBzZXR1cCBhbmQgbWFwDQo+Pj4+Pj4+Pj4+Pj4+PiB0
aGUgaW50ZXJydXB0cyBhcHByb3ByaWF0ZWx5Lg0KPj4+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4+
PiBXaGF0IGtlcm5lbCBpbnRlcmZhY2VzIGFyZSB1c2VkIGZvciB0aGlzIHNldHVwIGFuZCBtYXBw
aW5nPw0KPj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+Pj4gRm9yIHBhc3N0aHJvdWdoIGRldmljZXMs
IHRoZSBzZXR1cCBhbmQgbWFwcGluZyBvZiByb3V0aW5nIHBoeXNpY2FsDQo+Pj4+Pj4+Pj4+Pj4g
aW50ZXJydXB0cyB0byBEb21VIGFyZSBkb25lIG9uIFhlbiBoeXBlcnZpc29yIHNpZGUsIGh5cGVy
dmlzb3Igb25seQ0KPj4+Pj4+Pj4+Pj4+IG5lZWQgdXNlcnNwYWNlIHRvIHByb3ZpZGUgdGhlIEdT
SSBpbmZvLCBzZWUgWGVuIGNvZGU6DQo+Pj4+Pj4+Pj4+Pj4geGNfcGh5c2Rldl9tYXBfcGlycSBy
ZXF1aXJlIEdTSSBhbmQgdGhlbiB3aWxsIGNhbGwgaHlwZXJjYWxsIHRvIHBhc3MNCj4+Pj4+Pj4+
Pj4+PiBHU0kgaW50byBoeXBlcnZpc29yIGFuZCB0aGVuIGh5cGVydmlzb3Igd2lsbCBkbyB0aGUg
bWFwcGluZyBhbmQNCj4+Pj4+Pj4+Pj4+PiByb3V0aW5nLCBrZXJuZWwgZG9lc24ndCBkbyB0aGUg
c2V0dXAgYW5kIG1hcHBpbmcuDQo+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4gU28gd2UgaGF2ZSB0
byBleHBvc2UgdGhlIEdTSSB0byB1c2Vyc3BhY2Ugbm90IGJlY2F1c2UgdXNlcnNwYWNlIGl0c2Vs
Zg0KPj4+Pj4+Pj4+Pj4gdXNlcyBpdCwgYnV0IHNvIHVzZXJzcGFjZSBjYW4gdHVybiBhcm91bmQg
YW5kIHBhc3MgaXQgYmFjayBpbnRvIHRoZQ0KPj4+Pj4+Pj4+Pj4ga2VybmVsPw0KPj4+Pj4+Pj4+
Pg0KPj4+Pj4+Pj4+PiBObywgdGhlIHBvaW50IGlzIHRvIHBhc3MgaXQgYmFjayB0byBYZW4sIHdo
aWNoIGRvZXNuJ3Qga25vdyB0aGUNCj4+Pj4+Pj4+Pj4gbWFwcGluZyBiZXR3ZWVuIEdTSXMgYW5k
IFBDSSBkZXZpY2VzIGJlY2F1c2UgaXQgY2FuJ3QgZXhlY3V0ZSB0aGUgQUNQSQ0KPj4+Pj4+Pj4+
PiBBTUwgcmVzb3VyY2UgbWV0aG9kcyB0aGF0IHByb3ZpZGUgc3VjaCBpbmZvcm1hdGlvbi4NCj4+
Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4gVGhlIChMaW51eCkga2VybmVsIGlzIGp1c3QgYSBwcm94eSB0
aGF0IGZvcndhcmRzIHRoZSBoeXBlcmNhbGxzIGZyb20NCj4+Pj4+Pj4+Pj4gdXNlci1zcGFjZSB0
b29scyBpbnRvIFhlbi4NCj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+IEJ1dCBJIGd1ZXNzIFhlbiBrbm93
cyBob3cgdG8gaW50ZXJwcmV0IGEgR1NJIGV2ZW4gdGhvdWdoIGl0IGRvZXNuJ3QNCj4+Pj4+Pj4+
PiBoYXZlIGFjY2VzcyB0byBBTUw/DQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gT24geDg2IFhlbiBkb2Vz
IGtub3cgaG93IHRvIG1hcCBhIEdTSSBpbnRvIGFuIElPLUFQSUMgcGluLCBpbiBvcmRlcg0KPj4+
Pj4+Pj4gY29uZmlndXJlIHRoZSBSVEUgYXMgcmVxdWVzdGVkLg0KPj4+Pj4+Pg0KPj4+Pj4+PiBJ
SVVDLCBtYXBwaW5nIGEgR1NJIHRvIGFuIElPLUFQSUMgcGluIHJlcXVpcmVzIGluZm9ybWF0aW9u
IGZyb20gdGhlDQo+Pj4+Pj4+IE1BRFQuICBTbyBJIGd1ZXNzIFhlbiBkb2VzIHVzZSB0aGUgc3Rh
dGljIEFDUEkgdGFibGVzLCBidXQgbm90IHRoZSBBTUwNCj4+Pj4+Pj4gX1BSVCBtZXRob2RzIHRo
YXQgd291bGQgY29ubmVjdCBhIEdTSSB3aXRoIGEgUENJIGRldmljZT8NCj4+Pj4+Pg0KPj4+Pj4+
IFllcywgWGVuIGNhbiBwYXJzZSB0aGUgc3RhdGljIHRhYmxlcywgYW5kIGtub3dzIHRoZSBiYXNl
IEdTSSBvZg0KPj4+Pj4+IElPLUFQSUNzIGZyb20gdGhlIE1BRFQuDQo+Pj4+Pj4NCj4+Pj4+Pj4g
SSBndWVzcyB0aGlzIG1lYW5zIFhlbiB3b3VsZCBub3QgYmUgYWJsZSB0byBkZWFsIHdpdGggX01B
VCBtZXRob2RzLA0KPj4+Pj4+PiB3aGljaCBhbHNvIGNvbnRhaW5zIE1BRFQgZW50cmllcz8gIEkg
ZG9uJ3Qga25vdyB0aGUgaW1wbGljYXRpb25zIG9mDQo+Pj4+Pj4+IHRoaXMgLS0gbWF5YmUgaXQg
bWVhbnMgWGVuIG1pZ2h0IG5vdCBiZSBhYmxlIHRvIHVzZSB3aXRoIGhvdC1hZGRlZA0KPj4+Pj4+
PiBkZXZpY2VzPw0KPj4+Pj4+DQo+Pj4+Pj4gSXQncyBteSB1bmRlcnN0YW5kaW5nIF9NQVQgd2ls
bCBvbmx5IGJlIHByZXNlbnQgb24gc29tZSB2ZXJ5IHNwZWNpZmljDQo+Pj4+Pj4gZGV2aWNlcyAo
SU8tQVBJQyBvciBDUFUgb2JqZWN0cykuICBYZW4gZG9lc24ndCBzdXBwb3J0IGhvdHBsdWcgb2YN
Cj4+Pj4+PiBJTy1BUElDcywgYnV0IGhvdHBsdWcgb2YgQ1BVcyBzaG91bGQgaW4gcHJpbmNpcGxl
IGJlIHN1cHBvcnRlZCB3aXRoDQo+Pj4+Pj4gY29vcGVyYXRpb24gZnJvbSB0aGUgY29udHJvbCBk
b21haW4gT1MgKGFsYmVpdCBpdCdzIG5vdCBzb21ldGhpbmcgdGhhdA0KPj4+Pj4+IHdlIHRlc3Rz
IG9uIG91ciBDSSkuICBJIGRvbid0IGV4cGVjdCBob3dldmVyIHRoYXQgYSBDUFUgb2JqZWN0IF9N
QVQNCj4+Pj4+PiBtZXRob2Qgd2lsbCByZXR1cm4gSU8gQVBJQyBlbnRyaWVzLg0KPj4+Pj4+DQo+
Pj4+Pj4+IFRoZSB0YWJsZXMgKGluY2x1ZGluZyBEU0RUIGFuZCBTU0RUUyB0aGF0IGNvbnRhaW4g
dGhlIEFNTCkgYXJlIGV4cG9zZWQNCj4+Pj4+Pj4gdG8gdXNlcnNwYWNlIHZpYSAvc3lzL2Zpcm13
YXJlL2FjcGkvdGFibGVzLywgYnV0IG9mIGNvdXJzZSB0aGF0DQo+Pj4+Pj4+IGRvZXNuJ3QgbWVh
biBYZW4ga25vd3MgaG93IHRvIGludGVycHJldCB0aGUgQU1MLCBhbmQgZXZlbiBpZiBpdCBkaWQs
DQo+Pj4+Pj4+IFhlbiBwcm9iYWJseSB3b3VsZG4ndCBiZSBhYmxlIHRvICpldmFsdWF0ZSogaXQg
c2luY2UgdGhhdCBjb3VsZA0KPj4+Pj4+PiBjb25mbGljdCB3aXRoIHRoZSBob3N0IGtlcm5lbCdz
IHVzZSBvZiBBTUwuDQo+Pj4+Pj4NCj4+Pj4+PiBJbmRlZWQsIHRoZXJlIGNhbiBvbmx5IGJlIGEg
c2luZ2xlIE9TUE0sIGFuZCB0aGF0J3MgdGhlIGRvbTAgT1MgKExpbnV4DQo+Pj4+Pj4gaW4gb3Vy
IGNvbnRleHQpLg0KPj4+Pj4+DQo+Pj4+Pj4gR2V0dGluZyBiYWNrIHRvIG91ciBjb250ZXh0IHRo
b3VnaCwgd2hhdCB3b3VsZCBiZSBhIHN1aXRhYmxlIHBsYWNlIGZvcg0KPj4+Pj4+IGV4cG9zaW5n
IHRoZSBHU0kgYXNzaWduZWQgdG8gZWFjaCBkZXZpY2U/DQo+Pj4+Pg0KPj4+Pj4gSUlVQywgdGhl
IFhlbiBoeXBlcnZpc29yOg0KPj4+Pj4NCj4+Pj4+ICAgLSBJbnRlcnByZXRzIC9zeXMvZmlybXdh
cmUvYWNwaS90YWJsZXMvQVBJQyAob3IgZ2V0cyB0aGlzIHZpYQ0KPj4+Pj4gICAgIHNvbWV0aGlu
ZyBydW5uaW5nIG9uIHRoZSBEb20wIGtlcm5lbCkgdG8gZmluZCB0aGUgcGh5c2ljYWwgYmFzZQ0K
Pj4+Pj4gICAgIGFkZHJlc3MgYW5kIEdTSSBiYXNlLCBlLmcuLCBmcm9tIEkvTyBBUElDLCBJL08g
U0FQSUMuDQo+Pj4+DQo+Pj4+IE5vLCBYZW4gcGFyc2VzIHRoZSBNQURUIGRpcmVjdGx5IGZyb20g
bWVtb3J5LCBiZWZvcmUgc3RhdGluZyBkb20wLg0KPj4+PiBUaGF0J3MgYSBzdGF0aWMgdGFibGUg
c28gaXQncyBmaW5lIGZvciBYZW4gdG8gcGFyc2UgaXQgYW5kIG9idGFpbiB0aGUNCj4+Pj4gSS9P
IEFQSUMgR1NJIGJhc2UuDQo+Pj4NCj4+PiBJdCdzIGFuIGludGVyZXN0aW5nIHNwbGl0IHRvIGNv
bnN1bWUgQUNQSSBzdGF0aWMgdGFibGVzIGRpcmVjdGx5IGJ1dA0KPj4+IHB1dCB0aGUgQU1MIGlu
dGVycHJldGVyIGVsc2V3aGVyZS4NCj4+DQo+PiBXZWxsLCBzdGF0aWMgdGFibGVzIGNhbiBiZSBj
b25zdW1lZCBieSBYZW4sIGJlY2F1c2UgdGh5ZSBkb24ndCByZXF1aXJlDQo+PiBhbiBBTUwgcGFy
c2VyIChvYnZpb3VzbHkpLCBhbmQgcGFyc2luZyB0aGVtIGRvZXNuJ3QgaGF2ZSBhbnkNCj4+IHNp
ZGUtZWZmZWN0cyB0aGF0IHdvdWxkIHByZXZlbnQgZG9tMCBmcm9tIGJlaW5nIHRoZSBPU1BNIChu
byBtZXRob2RzDQo+PiBvciBzaW1pbGFyIGFyZSBldmFsdWF0ZWQpLg0KPj4NCj4+PiBJIGRvdWJ0
IHRoZSBBQ1BJIHNwZWMgZW52aXNpb25lZA0KPj4+IHRoYXQsIHdoaWNoIG1ha2VzIG1lIHdvbmRl
ciB3aGF0IG90aGVyIHRoaW5ncyB3ZSBjb3VsZCB0cmlwIG92ZXIsIGJ1dA0KPj4+IHRoYXQncyBq
dXN0IGEgdGFuZ2VudC4NCj4+DQo+PiBJbmRlZWQsIEFDUEkgaXMgbm90IGJlIGJlc3QgaW50ZXJm
YWNlIGZvciB0aGUgWGVuL2RvbTAgc3BsaXQgbW9kZWwuDQo+Pg0KPj4+Pj4gICAtIE5lZWRzIHRo
ZSBHU0kgdG8gbG9jYXRlIHRoZSBBUElDIGFuZCBwaW4gd2l0aGluIHRoZSBBUElDLiAgVGhlDQo+
Pj4+PiAgICAgRG9tMCBrZXJuZWwgaXMgdGhlIE9TUE0sIHNvIG9ubHkgaXQgY2FuIGV2YWx1YXRl
IHRoZSBBTUwgX1BSVCB0bw0KPj4+Pj4gICAgIGxlYXJuIHRoZSBQQ0kgZGV2aWNlIC0+IEdTSSBt
YXBwaW5nLg0KPj4+Pg0KPj4+PiBZZXMsIFhlbiBkb2Vzbid0IGtub3cgdGhlIFBDSSBkZXZpY2Ug
LT4gR1NJIG1hcHBpbmcuICBEb20wIG5lZWRzIHRvDQo+Pj4+IHBhcnNlIHRoZSBBQ1BJIG1ldGhv
ZHMgYW5kIHNpZ25hbCBYZW4gdG8gY29uZmlndXJlIGEgR1NJIHdpdGggYQ0KPj4+PiBnaXZlbiB0
cmlnZ2VyIGFuZCBwb2xhcml0eS4NCj4+Pj4NCj4+Pj4+ICAgLSBIYXMgZGlyZWN0IGFjY2VzcyB0
byB0aGUgQVBJQyBwaHlzaWNhbCBiYXNlIGFkZHJlc3MgdG8gcHJvZ3JhbSB0aGUNCj4+Pj4+ICAg
ICBSZWRpcmVjdGlvbiBUYWJsZS4NCj4+Pj4NCj4+Pj4gWWVzLCB0aGUgaGFyZHdhcmUgKG5hdGl2
ZSkgSS9PIEFQSUMgaXMgb3duZWQgYnkgWGVuLCBhbmQgbm90IGRpcmVjdGx5DQo+Pj4+IGFjY2Vz
c2libGUgYnkgZG9tMC4NCj4+Pj4NCj4+Pj4+IFRoZSBwYXRjaCBzZWVtcyBhIGxpdHRsZSBtZXNz
eSB0byBtZSBiZWNhdXNlIHRoZSBQQ0kgY29yZSBoYXMgdG8ga2VlcA0KPj4+Pj4gdHJhY2sgb2Yg
dGhlIEdTSSBldmVuIHRob3VnaCBpdCBkb2Vzbid0IG5lZWQgaXQgaXRzZWxmLiAgQW5kIHRoZQ0K
Pj4+Pj4gY3VycmVudCBwYXRjaCBleHBvc2VzIGl0IG9uIGFsbCBhcmNoZXMsIGV2ZW4gbm9uLUFD
UEkgb25lcyBvciB3aGVuDQo+Pj4+PiBBQ1BJIGlzIGRpc2FibGVkIChlYXNpbHkgZml4YWJsZSku
DQo+Pj4+Pg0KPj4+Pj4gV2Ugb25seSBjYWxsIGFjcGlfcGNpX2lycV9lbmFibGUoKSBpbiB0aGUg
cGNpX2VuYWJsZV9kZXZpY2UoKSBwYXRoLCBzbw0KPj4+Pj4gd2UgZG9uJ3Qga25vdyB0aGUgR1NJ
IHVubGVzcyBhIERvbTAgZHJpdmVyIGhhcyBjbGFpbWVkIHRoZSBkZXZpY2UgYW5kDQo+Pj4+PiBj
YWxsZWQgcGNpX2VuYWJsZV9kZXZpY2UoKSBmb3IgaXQsIHdoaWNoIHNlZW1zIGxpa2UgaXQgbWln
aHQgbm90IGJlDQo+Pj4+PiBkZXNpcmFibGUuDQo+Pj4+DQo+Pj4+IEkgdGhpbmsgdGhhdCdzIGFs
d2F5cyB0aGUgY2FzZSwgYXMgb24gZG9tMCBkZXZpY2VzIHRvIGJlIHBhc3NlZA0KPj4+PiB0aHJv
dWdoIGFyZSBoYW5kbGVkIGJ5IHBjaWJhY2sgd2hpY2ggZG9lcyBlbmFibGUgdGhlbS4NCj4+Pg0K
Pj4+IHBjaXN0dWJfaW5pdF9kZXZpY2UoKSBsYWJlbHMgdGhlIHBjaV9lbmFibGVfZGV2aWNlKCkg
YXMgYSAiSEFDSyINCj4+PiByZWxhdGVkIHRvIGRldGVybWluaW5nIHRoZSBJUlEsIHdoaWNoIG1h
a2VzIG1lIHRoaW5rIHRoZXJlJ3Mgbm90DQo+Pj4gcmVhbGx5IGEgcmVxdWlyZW1lbnQgZm9yIHRo
ZSBkZXZpY2UgdG8gYmUgKmVuYWJsZWQqIChCQVIgZGVjb2RpbmcNCj4+PiBlbmFibGVkKSBieSBk
b20wLg0KPj4NCj4+IE5vLCB0aGVyZSdzIG5vIG5lZWQgZm9yIG1lbW9yeSBkZWNvZGluZyB0byBi
ZSBlbmFibGVkIGZvciBnZXR0aW5nIHRoZQ0KPj4gR1NJIGZyb20gdGhlIEFDUEkgbWV0aG9kIEkg
d291bGQgYXNzdW1lLiAgSSdtIGNvbmZ1c2VkIGJ5IHRoYXQNCj4+IHBjaV9lbmFibGVfZGV2aWNl
KCkgY2FsbC4gIElzIG1heWJlIHRoZSBwdXJwb3NlIHRvIG1ha2Ugc3VyZSB0aGUNCj4+IGRldmlj
ZSBpcyBwb3dlcmVkIHVwIHNvIHRoYXQgcmVhZGluZyB0aGUgUENJIGhlYWRlciBJbnRlcnJ1cHQg
TGluZSBhbmQNCj4+IFBpbiBmaWVsZHMgcmV0dXJucyB2YWxpZCB2YWx1ZXM/ICBObyBpZGVhIHdo
ZXRoZXIgcmVhZGluZyB0aG9zZSBmaWVsZHMNCj4+IHJlcXVpcmVzIHRoZSBkZXZpY2UgdG8gYmUg
aW4gY2VydGFpbiAoYWN0aXZlKSBwb3dlciBzdGF0ZXMuDQo+Pg0KPj4+PiBJIGFncmVlIGl0IG1p
Z2h0IGJlIGJlc3QgdG8gbm90IHRpZSBleHBvc2luZyB0aGUgbm9kZSB0bw0KPj4+PiBwY2lfZW5h
YmxlX2RldmljZSgpIGhhdmluZyBiZWVuIGNhbGxlZC4gIElzIF9QUlQgb25seSBldmFsdWF0ZWQg
YXMNCj4+Pj4gcGFydCBvZiBhY3BpX3BjaV9pcnFfZW5hYmxlKCk/IChvciBwY2lfZW5hYmxlX2Rl
dmljZSgpKS4NCj4+Pg0KPj4+IFllcy4gIEFGQUlDVCwgYWNwaV9wY2lfaXJxX2VuYWJsZSgpIGlz
IHRoZSBvbmx5IHBhdGggdGhhdCBldmFsdWF0ZXMNCj4+PiBfUFJUIChleGNlcHQgZm9yIGEgZGVi
dWdnZXIgaW50ZXJmYWNlKS4gIEkgZG9uJ3QgdGhpbmsgaXQgKm5lZWRzKiB0bw0KPj4+IGJlIHRo
YXQgd2F5LCBhbmQgdGhlIGZhY3QgdGhhdCB3ZSBkbyBpdCBwZXItZGV2aWNlIGxpa2UgdGhhdCBt
ZWFucyB3ZQ0KPj4+IGV2YWx1YXRlIF9QUlQgbWFueSB0aW1lcyBldmVuIHRob3VnaCBJIHRoaW5r
IHRoZSByZXN1bHRzIG5ldmVyIGNoYW5nZS4NCj4+Pg0KPj4+IEkgY291bGQgaW1hZ2luZSBldmFs
dWF0aW5nIF9QUlQgb25jZSBhcyBwYXJ0IG9mIGVudW1lcmF0aW5nIGEgUENJIGhvc3QNCj4+PiBi
cmlkZ2UgKGFuZCBtYXliZSBQQ0ktUENJIGJyaWRnZSwgcGVyIGFjcGlfcGNpX2lycV9maW5kX3By
dF9lbnRyeSgpDQo+Pj4gY29tbWVudCksIGJ1dCB0aGF0IGxvb2tzIGxpa2UgYSBmYWlyIGJpdCBv
ZiB3b3JrIHRvIGltcGxlbWVudC4gIEFuZCBvZg0KPj4+IGNvdXJzZSBpdCBkb2Vzbid0IHJlYWxs
eSBhZmZlY3QgdGhlIHF1ZXN0aW9uIG9mIGhvdyB0byBleHBvc2UgdGhlDQo+Pj4gcmVzdWx0LCBh
bHRob3VnaCBpdCBkb2VzIHN1Z2dlc3QgL3N5cy9idXMvYWNwaS9kZXZpY2VzL1BOUDBBMDM6MDAv
IGFzDQo+Pj4gYSBwb3NzaWJsZSBsb2NhdGlvbi4NCj4+DQo+PiBTbyB5b3Ugc3VnZ2VzdCBleHBv
c2luZyB0aGUgR1NJIGFzIHBhcnQgb2YgdGhlIFBDSSBob3N0IGJyaWRnZT8gIEknbQ0KPj4gYWZy
YWlkIEknbSBub3QgZm9sbG93aW5nIGhvdyB3ZSBjb3VsZCB0aGVuIG1hcCBQQ0kgU0JERnMgZnJv
bSBkZXZpY2VzDQo+PiB0byB0aGVpciBhc3NpZ25lZCBHU0kuDQo+Pg0KPj4gVGhhbmtzLCBSb2dl
ci4NCj4gDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KSmlxaWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 06:44:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:44:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701736.1096126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtikF-0007mX-Oq; Mon, 08 Apr 2024 06:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701736.1096126; Mon, 08 Apr 2024 06:44:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtikF-0007mQ-MF; Mon, 08 Apr 2024 06:44:43 +0000
Received: by outflank-mailman (input) for mailman id 701736;
 Mon, 08 Apr 2024 06:44: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtikE-0007mK-0Z
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:44:42 +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 79152f29-f573-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 08:44:39 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4168a5d75c4so451525e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 23:44: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
 a7-20020a05600c348700b00416770871f7sm1889348wmq.25.2024.04.07.23.44.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 07 Apr 2024 23:44: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: 79152f29-f573-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712558679; x=1713163479; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=HCIHWXF2lyNJSWs9KQI6aB07fYaouarYQjiZpMHLirk=;
        b=KYCoJwZCqjfiywrhRKKgrHQm5AujoAgfUCnV1vzpBbeDC/P3sLnOl0/jRz6CK2Qhsl
         lNboyLTrvCsT3YbZZLn0qXm1E4c4bJxE3D+1Xt7czHovQhsXatBxiZ1K5k/hvhx9QuDH
         rXjdEvEyJLyLU9jm1MEhasU8tF0H4lhK52FZOVY7lRSQnNNLTQFPa+tcmZjoklaNmq3W
         kmO3NIRrnMqjJ6pFRBg1GXZ21sBr51HP/vw/C/kPFEH/2BEHs3/sOET6VRLGBpUe2aIW
         FB25+b5YJWoefyf2RIB8RJ1xkCBbOll15/5+x8Unl9SW/autQdR7gCzGItdQcWdLigQ4
         QKNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712558679; x=1713163479;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=HCIHWXF2lyNJSWs9KQI6aB07fYaouarYQjiZpMHLirk=;
        b=bC9CTJ2jiePbVBVhjMXZ+CaSfG/e8gS4/874aan7asoJf3IWV1FbtaAY7kcR5Gdzyn
         rKmL/0oALb2UYvCo7VPoxtkHXEz/S+ALp6pobX1/58oTSnboMKoNjt8Xd+SKcRrMNVI8
         bJJPnU3gMPbzeOy5bXAVi+DHEjkSZns+DGca3gOq9uq5plle+iI/Z6vu2aVgMFY0b0Ny
         FsM+gjoQmTbWXmSjsq65aaEkV8nCBC10bTv0ktv6YNdeXoOFkUzXKa/Q52jdUZ5ZY/7x
         8k9Z5RIw5Ga9R6eQLwMXu8ETlbhxKzC3njGykwVtxjBFHn4I1U4NYC50of964MgpQbs+
         SJkQ==
X-Forwarded-Encrypted: i=1; AJvYcCUs+X8fnwuKMso/KdwkEdIzCavZ60WjeDJ8xMqu82BIafHuQVxMYitFzqgN2P+mylWYa9x5xMj11ZtDA+NfG/KCGb/9cjoVHFhXGBLyiy8=
X-Gm-Message-State: AOJu0Yz26QjXw1vWthQ17VJpXUppLZzK9eX7YJnqZrZ/scIRii4t64TY
	9ljNLDTQSl44g2KwR4n+MXMDxrMBrZ94FYXz4XtCsI6C7uErkWUAEFB4brn9cw==
X-Google-Smtp-Source: AGHT+IGiFftMmnIy5QKQgEebKMPgZZeFUYblfobQkA4H2c+2wM9Q1gI5ng8OQxuxwBfLpNTSREzUag==
X-Received: by 2002:a05:600c:b99:b0:416:72a9:96bd with SMTP id fl25-20020a05600c0b9900b0041672a996bdmr1297040wmb.20.1712558679476;
        Sun, 07 Apr 2024 23:44:39 -0700 (PDT)
Message-ID: <0863b4f1-47ce-478a-88a9-add009d4a23e@suse.com>
Date: Mon, 8 Apr 2024 08:44:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] docs/misra: document the expected sizes of integer
 types
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: andrew.cooper3@citrix.com, bertrand.marquis@arm.com,
 george.dunlap@citrix.com, julien@xen.org, michal.orzel@amd.com,
 roger.pau@citrix.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404051144020.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404051144020.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 20:44, Stefano Stabellini wrote:
> Xen makes assumptions about the size of integer types on the various
> architectures. Document these assumptions.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Thanks, I can live with this form. Yet I'm afraid I'm not happy enough
with it to offer an ack. I'm sure someone else will.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 06:54:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:54:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701740.1096136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtitN-0001JB-Je; Mon, 08 Apr 2024 06:54:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701740.1096136; Mon, 08 Apr 2024 06: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 1rtitN-0001J4-Gk; Mon, 08 Apr 2024 06:54:09 +0000
Received: by outflank-mailman (input) for mailman id 701740;
 Mon, 08 Apr 2024 06:54:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtitM-0001Iy-EH
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:54:08 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca8b7af3-f574-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 08:54:06 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-343c7fae6e4so2727065f8f.1
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 23:54: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
 k7-20020a5d5187000000b003434c764f01sm8190967wrv.107.2024.04.07.23.54.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 07 Apr 2024 23:54: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: ca8b7af3-f574-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712559246; x=1713164046; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=w4/Nhr8Da58GALenomFFyRjbuSRo/pAapiqGIkzHCDY=;
        b=KBrAKe+q5R2HxKHeJzwhBOqhfEYHHUAJALpiWs4VO8/dJC5sh8Q8rfpH9VXL+gUiIe
         f71kD8K1rTnbLDn/S4gg+d/wIOq3QqxcN+q6v29yIJUkPcZgo+exnJtcQWlcmQ4q5+Sv
         OEeTAzZVpR8pDZ3FO2cr8J5vEwPwHJfWOqSAyoPABmLzxAtYfLg1y5TeIPldHl0OzFuy
         m7YUbm44uXJ94RznCoyVFRFW5nmUt0HG36Y6vPKa2IHp3W060CyenIlVwC+bTC6YdJhn
         onepFBQK8fE8V4jt7Ds242iBW6O7QsABZkLxX4KoqsmD4CSz99VDNms186dG9FMVtIr/
         tqGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712559246; x=1713164046;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=w4/Nhr8Da58GALenomFFyRjbuSRo/pAapiqGIkzHCDY=;
        b=ir55f6Rdzhmw/iQJrAwHInY0C4gafrVDDKKIfoawwL3MVq2XXBryUgnGqYblWf0oIO
         OkxHTHbRgStr3D2l2/7wb8sE+N7k1pAqE83SHMQEkwWWM4Nwk9CTuyH57WnR89421ddN
         /qLuQbE030WiwkOleL7sEV6JueFOOb6gIhN6yAlIhURY8WG2CjBxQsi/itwP9yrREIpK
         oxTKVxzMqrRksqeRx7y88keDUcWHNIk9lWcfPm3/ISuKTtZ27LSBlC0j14JV+joxx+K+
         3D/5JJRoTQvoYlj9Vqw55kdDpzo8d9v/8wHf7dBUkcIpnsri+VBIOKM3vhn+OnRiyPfG
         9TsA==
X-Forwarded-Encrypted: i=1; AJvYcCVkcYzmOP0QpucvRtmpK7QPKjIJP7tGGgsVwa11jfF2XxRvsQdy5alWZ6Ts0eS2ibTcypawEnO3mZP9U9ojVuGQWN8x5chX+IqUB2vvQKI=
X-Gm-Message-State: AOJu0YzJsLGBKJvAcZZJLQqHlX7LkkPHhIrOWabU1oTQVjxHYTXQoQxG
	4Ps3fxRwJnlrGwGEAeyS/stepFbS/kuT1ACW7lBstk887Ew8ceUsUcHj/4QCGA==
X-Google-Smtp-Source: AGHT+IEv1Bv6/6p6hHS0JJG8ximGvYyO/1oj1zrJErJWHfgJOwsFzsFAbeNwhIZ85bSzHco7gDQplg==
X-Received: by 2002:a5d:43cf:0:b0:343:b9e4:7f9a with SMTP id v15-20020a5d43cf000000b00343b9e47f9amr5420096wrr.33.1712559245786;
        Sun, 07 Apr 2024 23:54:05 -0700 (PDT)
Message-ID: <7ab4053f-f8b3-4b6a-bd29-5d0fa228fca5@suse.com>
Date: Mon, 8 Apr 2024 08:54:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/acpi: Allow xen/acpi.h to be included on non-ACPI
 archs
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: tpearson@raptorengineering.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Juergen Gross <jgross@suse.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20240405182031.396528-1-sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240405182031.396528-1-sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 20:20, Shawn Anastasio wrote:
> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
> that the header can be included on architectures without ACPI support,
> like ppc.
> 
> This change revealed some missing #includes across the ARM tree, so fix
> those as well.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
albeit preferably with ...

> @@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr;
>  #else	/*!CONFIG_ACPI*/
>  
>  #define acpi_mp_config	0
> +#define acpi_disabled (true)

... the unnecessary parentheses avoided here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 06:55:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:55:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701742.1096146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtiuF-0001nI-TO; Mon, 08 Apr 2024 06:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701742.1096146; Mon, 08 Apr 2024 06:55:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtiuF-0001nB-Qb; Mon, 08 Apr 2024 06:55:03 +0000
Received: by outflank-mailman (input) for mailman id 701742;
 Mon, 08 Apr 2024 06:55: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtiuD-0001Iy-Na
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:55:01 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eaa4ce7e-f574-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 08:54:59 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-343c891bca5so2607418f8f.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 23:55: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
 k7-20020a5d5187000000b003434c764f01sm8190967wrv.107.2024.04.07.23.54.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 07 Apr 2024 23: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: eaa4ce7e-f574-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712559299; x=1713164099; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mDN8BG1Hc5V4JZ65fTyhvmYVc6qCNozV4uDoW2bJ3yY=;
        b=TyuN2a9O4D447xcRCCM4druQYONW+/II468yH/KghpYuxczVGNgRi6eZVsNYc8zLNp
         PcP74nmW3aYCKAz8wEWkWRKxUaVUjWbTXcI8px7dYgb+/DDagNavUgESdxoY1mCn8Va3
         9kj9Yl5QbW0FuWe2baF4T5THsZqiGRkJupNsGeBhRkJvC69bY2jrxCA6wzTaESffyUyX
         k9e2nXm6iwcSpHdhCv5DV78cdB2MBItFSFyGKajVn3qq+27g/4ZN9/GCpCKG+oH8mhWt
         sV7FA8E73aV9Y3aTM3MuVCvTreeXZgrjFmbwCpCsXEx0Qq6dxxmTeoz2j1PRen9aDIZ8
         tCQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712559299; x=1713164099;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mDN8BG1Hc5V4JZ65fTyhvmYVc6qCNozV4uDoW2bJ3yY=;
        b=HU+17RCifIWI2uCspEsDHL51FtYWdMffdDDbFgbBEhfu549yvxydcvnsvT3zRdIrfr
         GZOaGVoolv9NsWCeeeYSM7PX7N+tcXAc7XB1lEt4Kpzvj70WXK5sYZ9A8TNtMitbwUKO
         DIvUh/1qIqXoA5Hmjm8ReB5Ze865QoUP3QgFCyXHrQN4FaAhzQYLJECYZ770Gjf96E4d
         colVdxDQj6rvid4SZDINGrPMJYdM3eozwAQJmf+pYV7jKuP0VmnM9xD6yruBlU/Ocwiz
         NrUDHBH842Cod2SFKflFK2Q3ZAGvGJsHXIcABeQt1JFOYtCjD33B7IExtyzXcWnVYZhf
         rQcA==
X-Forwarded-Encrypted: i=1; AJvYcCVsT+ZiBc0ex78tv3xde6YtnmjlowbMFmY5/rSuQg3nonUPG76N7WOUPJDDCDknBEmACCBq9kKTOA9lQ9ISPLBd6KL2EAQayrVHPpKIiZY=
X-Gm-Message-State: AOJu0YxMFNuj5BGJrQ3xrZicUokHnyb2AK2ilYzfkNxBwNQj1iZL5M8U
	FKTWG6+2hIIYAk10XQYFi4sdU9FdBK4Z2pf2bN5PsHhCMamBph+QUkzVYGn3LQ==
X-Google-Smtp-Source: AGHT+IFjN1aDofhwY0vFVan6PZ/E5tYqai0mBq1Q4+ABZWoP35muXjvJyu3+GRAJO24oHHFpxeRx6w==
X-Received: by 2002:a5d:598c:0:b0:345:7dff:c448 with SMTP id n12-20020a5d598c000000b003457dffc448mr3477995wri.0.1712559299610;
        Sun, 07 Apr 2024 23:54:59 -0700 (PDT)
Message-ID: <cfbfeaa1-da16-47ec-9af6-f957ed7b1c83@suse.com>
Date: Mon, 8 Apr 2024 08:55:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] libelf: Store maximum PHDR p_align
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240404212519.16401-1-jason.andryuk@amd.com>
 <20240404212519.16401-2-jason.andryuk@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240404212519.16401-2-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 23:25, Jason Andryuk wrote:
> While parsing the PHDRs, store the maximum p_align value.  This may be
> consulted for moving a PVH image's load address.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Apr 08 06:59:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 06:59:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701746.1096157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtiyk-0002ks-DR; Mon, 08 Apr 2024 06:59:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701746.1096157; Mon, 08 Apr 2024 06: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 1rtiyk-0002kk-An; Mon, 08 Apr 2024 06:59:42 +0000
Received: by outflank-mailman (input) for mailman id 701746;
 Mon, 08 Apr 2024 06:59:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pPud=LN=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rtiyj-0002ke-8z
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 06:59:41 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2405::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9139716f-f575-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 08:59:40 +0200 (CEST)
Received: from CH0P221CA0017.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::26)
 by SA1PR12MB7412.namprd12.prod.outlook.com (2603:10b6:806:2b2::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 06:59:36 +0000
Received: from CH1PEPF0000A34C.namprd04.prod.outlook.com
 (2603:10b6:610:11c:cafe::30) by CH0P221CA0017.outlook.office365.com
 (2603:10b6:610:11c::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Mon, 8 Apr 2024 06:59:36 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000A34C.mail.protection.outlook.com (10.167.244.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 06:59:36 +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.35; Mon, 8 Apr
 2024 01:59:36 -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.35; Mon, 8 Apr
 2024 01:59:35 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 01:59:33 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9139716f-f575-11ee-afe6-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=foABffm7NM8zxZeZ5Iyy+TE75KIy4sGFkbNwyL07oD1djCKoPyAbXqpNxaIAAV6bkppLuIFGV5GsXrxczFWl+Jsxq4HWpNAeywqIVSm/e4wZNYVXez2NiGPaaFLGVsqViyzr22fwEFWoCInuF9SBivmXuVjb3zk3+aAofNlfaK/niP2l0gJXtdlc5ntcZ7szHNxdG88yLXCwneWMuUUzLh+YvitslsINuRmyO5vaF4+YOv5fyIY4s5D/jiyBPKo1osjNCEaPIIvzTs9bCcRvz2J6bVaeeeVcIpIXFP5sKky7vdlIRoRaeVNrUsrS3vs/7nrbqRuqri2AUoB0mwzZuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g5MSmAnlP2Bjw+pQdYGqiqlCk/6268mN6KGAbYONLUc=;
 b=MaK8NAk3G8mTOnqNpTrLxU4Ba/H42FuLaszslYNwV8P+25vvG9cpwIakVoaAya4KxcqNqJZ7VOr6Rd9v5qJCTkHI3KQEBZG6fD56i/XV3g3wQDTG8nG2J3U5TFYl+8v81SADGvQvElJpazOArsktlTBbDkId57N5/cUTg9AN8+Q6Pu9gucHz0hFwnzNaDGejPMJmFId8eNpr4qmiyCIiwebx0JnoJincOwsWN3sxU313TFu2Q9loSHvnBOKqbmdVIxZ6HTDOphso+hpF4m+FVpmzSRx/P7BsT32A1i/rudQMd2BYQ1C5v6I9lJ7YIxSwBblnn22PdPVxTfDCjZ4wKw==
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=g5MSmAnlP2Bjw+pQdYGqiqlCk/6268mN6KGAbYONLUc=;
 b=L/676QznQ0TmQo0lpwJoyeK5uaKDpmZfRTVKi+yO1qgTYOmztkfgx5Ko9J1Vfr44aSujxkpgT1Rw99DRZ26kcaA2ATIjk3UmIpUaePrzFZTBI1ecc2pmA2EA6yi1N6UJCBt9E9So+lIVf+1TUkxyFZhqnM916fhzPoAhEKCBBC4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <9518c19a-eb97-4d68-97bc-fcae56aa8093@amd.com>
Date: Mon, 8 Apr 2024 14:59:33 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"Alec Kwapis" <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
 <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
 <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
 <951cc6ba-c971-4b5b-9cfc-bc79245a9549@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <951cc6ba-c971-4b5b-9cfc-bc79245a9549@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000A34C:EE_|SA1PR12MB7412:EE_
X-MS-Office365-Filtering-Correlation-Id: f14ff1c4-1e76-4b05-71cc-08dc579973e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vFfgeFhumIhmiNiM3NEMwssAB1kkyjZy7WZ8AyeB7On227GO63+HRka4AtcmsLlyJJ1qiIKLRF9w1T+7OYUxCJdsaJkGJE+MIJ75imAN+/0QEfzAtDvMxpacY/xPVxlrmH8OyeoHwJ4dvpjHy/6Ch3R7K0MpgcwmIuNfzFkxDZNFSz3cVehwf/VO+ruVkx+qhpE2wJMoqW2ojgDuUsciYvf8V6e/7LV6KJT9EaPoSq+su3uU7iU5MDu3O+hlPuWxF71k6HPyDN7KS/lxne4D7Afyi2R0tNu1vFmNnfIhTXfg+LLL+NtQUj0JTQld1metQ15lN/rbUHLbl9ZLLVBP1zDBaM5CkV/65qpHprpR54fH0WS6jg1BqnCmUR3gX5bx3rvDK3hisNpuV2PaCj9ej7uFTYOV9gJhx3HhUM8w5yXk6S6aLgnPTmU3BUGOIO83Ol2WExpZxPiPoxhzyTXG2aqqevb4HCD7kgQLKeB4egeWIbnNLA2kwvvfniMab5NvX64J7VIussrEW9b3ZwS1wbPnwjLZsTV0i0JjzIaGmHRkMtfGmm4H1p/VKRQgevZNqdJJxYnNXLVR+7r6qt6lu317wdaUyrk1i+s8U6g3hE3ezJXlbnWuVjW+9wq6pyGZMd7yYcW7AfS2n7B+zDG2TDsjVXw6xARl+MvwG/TC/DCRCEgxusyqkUw+D/t3mipquTw+P8Q891p1OgkTRH/1e7hwmCYpcLNJeiWghAv7TGPkxZDTC8G7oRh93zL4tXWY
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 06:59:36.4975
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f14ff1c4-1e76-4b05-71cc-08dc579973e2
X-MS-Exchange-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:
	CH1PEPF0000A34C.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7412

Hi Jan,

On 4/8/2024 2:22 PM, Jan Beulich wrote:
> On 08.04.2024 05:19, Henry Wang wrote:
>> On 4/4/2024 5:38 PM, Jan Beulich wrote:
>>> On 03.04.2024 10:16, Henry Wang wrote:
>>>> --- a/xen/include/public/memory.h
>>>> +++ b/xen/include/public/memory.h
>>>> @@ -41,6 +41,11 @@
>>>>    #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>>>>    /* Flag to indicate the node specified is virtual node */
>>>>    #define XENMEMF_vnode  (1<<18)
>>>> +/*
>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>> + * or static allocation.
>>>> + */
>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>> As before, a separate new sub-op would look to me as being the cleaner
>>> approach, avoiding the need to consume a bit position for something not
>>> even going to be used on all architectures.
>> Like discussed in v2, I doubt that if introducing a new sub-op, the
>> helpers added to duplicate mainly populate_physmap() and the toolstack
>> helpers would be a good idea.
> I'm curious what amount of duplication you still see left. By suitably
> adding a new parameter, there should be very little left.

The duplication I see so far is basically the exact 
xc_domain_populate_physmap(), say 
xc_domain_populate_physmap_heap_alloc(). In init-dom0less.c, We can 
replace the original call xc_domain_populate_physmap_exact() to call the 
newly added xc_domain_populate_physmap_heap_alloc() which evokes the new 
sub-op, then from the hypervisor side we set the alias MEMF flag and 
share the populate_physmap().

Adding a new parameter to xc_domain_populate_physmap() or maybe even 
xc_domain_populate_physmap_exact() is also a good idea (thanks). I was 
just worrying there are already too many use cases of these two 
functions in the existing code: there are 14 for 
xc_domain_populate_physmap_exact() and 8 for 
xc_domain_populate_physmap(). Adding a new parameter needs the update of 
all these and the function declaration. If you really insist this way, I 
can do this, sure.

>> Similarly as the way that we do for the
>> MEMF_force_heap_alloc, if in the future we run out of the bit positions,
>> can't we reuse this bit for different architectures as an alias? Or
>> maybe we can even alias it now?
> I view this as far less desirable in the public interface.

I agree.

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:00:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:00:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701750.1096167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtizp-0004Jk-S1; Mon, 08 Apr 2024 07:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701750.1096167; Mon, 08 Apr 2024 07: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 1rtizp-0004Jd-NZ; Mon, 08 Apr 2024 07:00:49 +0000
Received: by outflank-mailman (input) for mailman id 701750;
 Mon, 08 Apr 2024 07:00: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtizo-0004Iw-6i
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:00:48 +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 b873c503-f575-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 09:00:45 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-415523d9824so41489595e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00: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
 l15-20020a05600c4f0f00b004166b960469sm2993855wmq.38.2024.04.08.00.00.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:00: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: b873c503-f575-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712559645; x=1713164445; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Qzh0uZLlPME0mDLBZvF04W6aAV4f0LFx+mRIrnCB6jA=;
        b=fBjSWl6OsUfix4UjOLL/4eZ0DTKiqJNTWmt5+hbgO6C3a1u1wAxviosUJMJhz7MurO
         bGD8ffvgSaOBIkwcTIU58SNj8vGcJc4X0i9MPlvo8X8cZSkDkPA/3JxA35Qb3NgHIC73
         +EPPoPWl2jY5lvzI3vhC0uVJM6x/WqmiSC23ZrDC8Ob09o5x9dnibWpoYhUnxCzc61df
         40MZuVkDKYMyTqUMvTBFDeEQ53uQrIHiOe2DUqW18fqxfkAB/Ocw9yTR/yBhEK6saRMr
         BvUiTYJAu993A0ymeo67NC8mbl41dOubMAmE0SERtkM7mkNUY+q5NhkhoggZoyZwghRl
         1XLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712559645; x=1713164445;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Qzh0uZLlPME0mDLBZvF04W6aAV4f0LFx+mRIrnCB6jA=;
        b=AHhgECjnfbHBZevSgcLpOsT/9ZuHynwC5AJN9LjndU4JPz9vdIIj9lZVJ/zdnD7vUB
         4iJyTu/SfKD4FSkxdT9GGGdHvKTsE5mPd0+Eji0KHmXtQHE8KXxvTWYWVnaw/L8stkyb
         ND57dKVw1QLQu+/8fZljpcW7oyUwBJgEI5tthap9VKHGBb2Q0RxqAm+11dizzdN7+CFD
         l3oFhI8jHa46AJ2LGeUJITDnG59I6qx35L2GhKJBseO9feIAf17U12nuHFyeS9Onia2h
         z1s0c/F6G4AsUaSm97fCWwqQp7ojJXYPj45mhngDtnTCHTRKDIHEg+tSPapzM9dYwYKH
         bl9Q==
X-Forwarded-Encrypted: i=1; AJvYcCWIjR9Y54Azoj1QCg++5xFMzmu2DV/nehLDdzi+KhQVeiZrMS8GV8vTiTeIpWwh5yV07FvzCSJVmFJbx5dGhVLo//QkZrW3yw6Jf1orXtQ=
X-Gm-Message-State: AOJu0YzDHhofvPMV20mp9VQcfaZ+UgR6uwNfxHgQ02rrER3SmAampzP5
	B09m98Nm0UIPvurSVO4DMLfhQp3CzZp5pPlWnGYQ9DROCZQXMx/E7bVWQUWTOg==
X-Google-Smtp-Source: AGHT+IGLfZihi8kSZGdQXnuboSLh/ELUXb6wMyhkxiA7jo+O4Tixs+XA/ANLcxiYHKboJE2UVR1eGw==
X-Received: by 2002:a05:600c:b99:b0:416:72a9:96bd with SMTP id fl25-20020a05600c0b9900b0041672a996bdmr1324723wmb.20.1712559644868;
        Mon, 08 Apr 2024 00:00:44 -0700 (PDT)
Message-ID: <70ab0f9d-a451-44a5-8927-4200dbb96a08@suse.com>
Date: Mon, 8 Apr 2024 09:00:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/2] x86/PVH: Support relocatable dom0 kernels
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240404212519.16401-1-jason.andryuk@amd.com>
 <20240404212519.16401-3-jason.andryuk@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240404212519.16401-3-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 23:25, Jason Andryuk wrote:
> Xen tries to load a PVH dom0 kernel at the fixed guest physical address
> from the elf headers.  For Linux, this defaults to 0x1000000 (16MB), but
> it can be configured.
> 
> Unfortunately there exist firmwares that have reserved regions at this
> address, so Xen fails to load the dom0 kernel since it's not RAM.
> 
> The PVH entry code is not relocatable - it loads from absolute
> addresses, which fail when the kernel is loaded at a different address.
> With a suitably modified kernel, a reloctable entry point is possible.
> 
> Add XEN_ELFNOTE_PHYS32_RELOC which specifies optional alignment,
> minimum, and maximum addresses needed for the kernel.  The presence of
> the NOTE indicates the kernel supports a relocatable entry path.
> 
> Change the loading to check for an acceptable load address.  If the
> kernel is relocatable, support finding an alternate load address.
> 
> The primary motivation for an explicit align field is that Linux has a
> configurable CONFIG_PHYSICAL_ALIGN field.  This value is present in the
> bzImage setup header, but not the ELF program headers p_align, which
> report 2MB even when CONFIG_PHYSICAL_ALIGN is greater.  Since a kernel
> is only considered relocatable if the PHYS32_RELOC elf note is present,
> the alignment contraints can just be specified within the note instead
> of searching for an alignment value via a heuristic.
> 
> Load alignment uses the PHYS32_RELOC note value if specified.
> Otherwise, the maxmum ELF PHDR p_align value is selected if greater than
> or equal to PAGE_SIZE.  Finally, the fallback default is 2MB.
> 
> libelf-private.h includes common-macros.h to satisfy the fuzzer build.
> 
> Link: https://gitlab.com/xen-project/xen/-/issues/180
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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

> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -537,6 +537,111 @@ static paddr_t __init find_memory(
>      return INVALID_PADDR;
>  }
>  
> +static bool __init check_load_address(
> +    const struct domain *d, const struct elf_binary *elf)
> +{
> +    paddr_t kernel_start = (uintptr_t)elf->dest_base;
> +    paddr_t kernel_end = kernel_start + elf->dest_size;
> +    unsigned int i;

While properly typed here, ...

> +static paddr_t __init find_kernel_memory(
> +    const struct domain *d, struct elf_binary *elf,
> +    const struct elf_dom_parms *parms)
> +{
> +    paddr_t kernel_size = elf->dest_size;
> +    unsigned int align;
> +    int i;

... I must have missed when this was changed to plain int. It should have
been unsigned int here, too, ...

> +    if ( parms->phys_align != UNSET_ADDR32 )
> +        align = parms->phys_align;
> +    else if ( elf->palign >= PAGE_SIZE )
> +        align = elf->palign;
> +    else
> +        align = MB(2);
> +
> +    /* Search backwards to find the highest address. */
> +    for ( i = d->arch.nr_e820 - 1; i >= 0 ; i-- )

... with this suitably adjusted. However, I'm not going to change this while
committing, to avoid screwing up.

> --- a/xen/include/public/elfnote.h
> +++ b/xen/include/public/elfnote.h
> @@ -196,10 +196,28 @@
>   */
>  #define XEN_ELFNOTE_PHYS32_ENTRY 18
>  
> +/*
> + * Physical loading constraints for PVH kernels
> + *
> + * The presence of this note indicates the kernel supports relocating itself.
> + *
> + * The note may include up to three 32bit values to place constraints on the
> + * guest physical loading addresses and alignment for a PVH kernel.  Values
> + * are read in the following order:
> + *  - a required start alignment (default 0x200000)

"... (default 0x200000; see below)", i.e. ...

> + *  - a minimum address for the start of the image (default 0)
> + *  - a maximum address for the last byte of the image (default 0xffffffff)
> + *
> + *  When this note specifies an alignment value, it is used.  Otherwise the
> + *  maximum p_align value from loadable ELF Program Headers is used, if it is
> + *  greater than or equal to 4k (0x1000).  Otherwise, the default is used.

... referring to this (which, btw, has one too many padding blanks on the
entire paragraph). I will take the liberty to make this adjustment while
committing.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:03:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701753.1096177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtj2h-0004vp-8G; Mon, 08 Apr 2024 07:03:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701753.1096177; Mon, 08 Apr 2024 07:03: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 1rtj2h-0004vi-4Q; Mon, 08 Apr 2024 07:03:47 +0000
Received: by outflank-mailman (input) for mailman id 701753;
 Mon, 08 Apr 2024 07:03: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtj2g-0004vV-4P
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:03:46 +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 23dbb767-f576-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 09:03:45 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-415515178ceso26051105e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:03: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
 r19-20020a05600c35d300b004163345d2b4sm9363315wmq.36.2024.04.08.00.03.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:03: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: 23dbb767-f576-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712559825; x=1713164625; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=L5g+VPhkS89uw+FEHglbWymtmFE2GunrOspYR2mQppQ=;
        b=Rx3IE960jbR1FIxpQwOVfcBVRmkitp8ufRa4ZLzQHlcZ3UMTN3wu1e5N3CuDdqvi1I
         /H028TLrKmY5vRaSnC7BL97daRdafVKcGujF1fUboN1gGBktyLeucox+MadONYo0u+MF
         838zIrXfwdr+9CdeaVDKvfPybCg7L38oSvZq8iXYV31pqZmjWD2MiQQOqZF2sYki+X9K
         rjlnM9enwh5FwOS/k+iQYaMB/qLevtvdWVBKtQRx7NOXjCZlDHjYvorcU+7Pqy/UvaV+
         eN8ubHGB8N+KWz8Im0+JKYtTNoeqt0bbgDUZNTSR01S16GMD8LrEPnWXYDf6JowxJNPy
         jq6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712559825; x=1713164625;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=L5g+VPhkS89uw+FEHglbWymtmFE2GunrOspYR2mQppQ=;
        b=oniXdiunH5pA+H+3CJkRQP7cVs7p9S37dAGvE4POxGz7cehSOWcIYvtnlf/I7zWbCO
         iS4crPvrDgqUomUC8dy+2iFXOlY3dC81dJmV3Xsl0MnXUVGsmBDTWc/MUKCohLyy/D2X
         ptnrEGZDwa1bsdXGCxMWvMa1t/4pV5Ztgg+/7j95PVCfm+OEgRk24fmUdffSUlfJbC94
         U8aKFR5R90k2fkfpIxB7iymUCad6ChemyfVj9RC2UG2Sk6pSkLtqDvjq88e7mB9hFEGY
         7Aj25TerTItn05LqvsVVJ87KgzDcmrW+jyA3h8wnycwA/jVg06grtsvsG40LTwTgL1OC
         eDgQ==
X-Forwarded-Encrypted: i=1; AJvYcCUWw/sGIwKcM8X0pMopV5UZ1hBIknp5x5jRKOWrpm4K8mLEQqySXpX896coCEXWVyErN3t4neF2dB5HKj6hsNohxyyZfTVGVmdhX6ikOg8=
X-Gm-Message-State: AOJu0Yz5DYUv5ubI1Qcr4nOL0dZm5RD5r+mMyShNQ3hIcV4swGuq6GvZ
	uV5pmgRs90trvlQKo7lzbx+QLmjU2YfnCDIx7B1NOhJAYcuBDnb/RwUwdr3BQMiQByL/TTryMik
	=
X-Google-Smtp-Source: AGHT+IH6TJo43wA0xuL5ZKyAYcUcAeWnyp7Fwx7H9v8EKhAd7djxt1StcMjCFxpDfGf+tPAg2lvH1g==
X-Received: by 2002:a05:600c:a42:b0:413:38c6:2c7a with SMTP id c2-20020a05600c0a4200b0041338c62c7amr6159741wmq.22.1712559824773;
        Mon, 08 Apr 2024 00:03:44 -0700 (PDT)
Message-ID: <0a28ce70-6c71-43da-8aa1-3b9909e2d152@suse.com>
Date: Mon, 8 Apr 2024 09:03:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
 <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
 <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
 <951cc6ba-c971-4b5b-9cfc-bc79245a9549@suse.com>
 <9518c19a-eb97-4d68-97bc-fcae56aa8093@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9518c19a-eb97-4d68-97bc-fcae56aa8093@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.04.2024 08:59, Henry Wang wrote:
> Hi Jan,
> 
> On 4/8/2024 2:22 PM, Jan Beulich wrote:
>> On 08.04.2024 05:19, Henry Wang wrote:
>>> On 4/4/2024 5:38 PM, Jan Beulich wrote:
>>>> On 03.04.2024 10:16, Henry Wang wrote:
>>>>> --- a/xen/include/public/memory.h
>>>>> +++ b/xen/include/public/memory.h
>>>>> @@ -41,6 +41,11 @@
>>>>>    #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>>>>>    /* Flag to indicate the node specified is virtual node */
>>>>>    #define XENMEMF_vnode  (1<<18)
>>>>> +/*
>>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>>> + * or static allocation.
>>>>> + */
>>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>> As before, a separate new sub-op would look to me as being the cleaner
>>>> approach, avoiding the need to consume a bit position for something not
>>>> even going to be used on all architectures.
>>> Like discussed in v2, I doubt that if introducing a new sub-op, the
>>> helpers added to duplicate mainly populate_physmap() and the toolstack
>>> helpers would be a good idea.
>> I'm curious what amount of duplication you still see left. By suitably
>> adding a new parameter, there should be very little left.
> 
> The duplication I see so far is basically the exact 
> xc_domain_populate_physmap(), say 
> xc_domain_populate_physmap_heap_alloc(). In init-dom0less.c, We can 
> replace the original call xc_domain_populate_physmap_exact() to call the 
> newly added xc_domain_populate_physmap_heap_alloc() which evokes the new 
> sub-op, then from the hypervisor side we set the alias MEMF flag and 
> share the populate_physmap().
> 
> Adding a new parameter to xc_domain_populate_physmap() or maybe even 
> xc_domain_populate_physmap_exact() is also a good idea (thanks). I was 
> just worrying there are already too many use cases of these two 
> functions in the existing code: there are 14 for 
> xc_domain_populate_physmap_exact() and 8 for 
> xc_domain_populate_physmap(). Adding a new parameter needs the update of 
> all these and the function declaration. If you really insist this way, I 
> can do this, sure.

You don't need to change all the callers. You can morph
xc_domain_populate_physmap() into an internal helper, which a new trivial
wrapper named xc_domain_populate_physmap() would then call, alongside with
the new trivial wrapper you want to introduce.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:10:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701755.1096188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtj93-00070c-Up; Mon, 08 Apr 2024 07:10:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701755.1096188; Mon, 08 Apr 2024 07:10:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtj93-00070V-QH; Mon, 08 Apr 2024 07:10:21 +0000
Received: by outflank-mailman (input) for mailman id 701755;
 Mon, 08 Apr 2024 07:10:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtj92-00070O-Go
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:10:20 +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 0ed1640c-f577-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 09:10:19 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-345522f7c32so296260f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:10: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
 d6-20020a056000114600b003456c693fa4sm3956782wrx.93.2024.04.08.00.10.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:10:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ed1640c-f577-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712560219; x=1713165019; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=BfULQYwPya+ADz8MpZlScVKNCuQyH4EbrLcSdnppSLc=;
        b=Ny2pDgd6shOhlSjjmhnv1F0UMDTqsIV5h74/kcG7ujkr7PW10nwAjVf0cUR7ZxempR
         og34bWQkT5ZO9eQg08I/xxEPT6z7h+5zkouYAo96vOEqgeP92xwo5lex9sXblTnQBFis
         Z92+N3A6s3gdH7/wAy+EM9lmFowE08Um57MJ+ow5OGbwz1owdfdosBH4ZhNPLIjmyUXU
         pDlJbrsTdYcAkK1sXyw4tdCb7TeUbkt9Xu0euRgm8oC8s5NkVr/+0aLd42XqxG2Iklp0
         7tHoD1Y4PQ/q1Cg8CAUykHK5ZLzeuXYt+G7c45fvcplJto6ZhCxk+SP9kKJ3AIF5P0xF
         jhRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712560219; x=1713165019;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=BfULQYwPya+ADz8MpZlScVKNCuQyH4EbrLcSdnppSLc=;
        b=UgIY8hB8jpA34+3CiDxt+WCdQZS9VXtD6FnjrJjphDoasWXGKJ+WDgxxSZ4m25TNG/
         j7g4F07EJ7R2SLWlS9mKU0AxsmXued166vtvgHytEugSmQHxfsneRUJ4gPHaF9n9faHa
         6PRkmcLGG21aFJw1O6S2U/wjdgkefYqLLsR3mUT/n1m2nq98UZ483aeRrCSLK/itw9Bl
         lJHxnIftDd82+d8xqO8JWiwJiRahYSn0BPnplOaV/o8wD+CVWkAfLfgkBGOE2P6TgUOQ
         jX3KAdifu+zWOf4X7/kZL2fjeLcVR5yRY26axW+ocOoPYXZe9W0HJprkgL5SHf4vuYSn
         LgrA==
X-Forwarded-Encrypted: i=1; AJvYcCXdLTLj338Ge4VD8be8XaYgVvC/xedGEedqfZtEUfDLp69nRdRNGSWnzJYYs5oEh2phEvsareCW04Unsz0+xbhUtvWtQ6ekvygVz7TDnY4=
X-Gm-Message-State: AOJu0YzVy4BObhLtgELJ0isuq+N2w6Xbg1cGsr/jaG3kn9sM45eSwXvV
	9lISE7fEc7flcPDD6PLu8AzTaVBJkNO6ozfvYiB12NoQH7igIWvfW6LbsXCXqQ==
X-Google-Smtp-Source: AGHT+IHDavx9uUPJIiqUdDidG29REYBe+uvFv8YCxA2RM5GlbmV3y7L9IvElj/OGk56VyPi8D1J7ZQ==
X-Received: by 2002:a05:6000:459b:b0:343:9e6b:c96a with SMTP id gb27-20020a056000459b00b003439e6bc96amr5382675wrb.9.1712560218943;
        Mon, 08 Apr 2024 00:10:18 -0700 (PDT)
Message-ID: <da1662ac-70f1-4ae4-9737-e10e617c8036@suse.com>
Date: Mon, 8 Apr 2024 09:10:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 8/8] xen: allow up to 16383 cpus
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-9-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240327152229.25847-9-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.03.2024 16:22, Juergen Gross wrote:
> With lock handling now allowing up to 16384 cpus (spinlocks can handle
> 65535 cpus, rwlocks can handle 16384 cpus), raise the allowed limit for
> the number of cpus to be configured to 16383.
> 
> The new limit is imposed by IOMMU_CMD_BUFFER_MAX_ENTRIES and
> QINVAL_MAX_ENTRY_NR required to be larger than 2 * CONFIG_NR_CPUS.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

I'd prefer this to also gain an Arm ack, though.

Jan

> --- a/xen/arch/Kconfig
> +++ b/xen/arch/Kconfig
> @@ -6,7 +6,7 @@ config PHYS_ADDR_T_32
>  
>  config NR_CPUS
>  	int "Maximum number of CPUs"
> -	range 1 4095
> +	range 1 16383
>  	default "256" if X86
>  	default "8" if ARM && RCAR3
>  	default "4" if ARM && QEMU



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:13:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701760.1096197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjC3-0007aW-C5; Mon, 08 Apr 2024 07:13:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701760.1096197; Mon, 08 Apr 2024 07: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 1rtjC3-0007aP-8o; Mon, 08 Apr 2024 07:13:27 +0000
Received: by outflank-mailman (input) for mailman id 701760;
 Mon, 08 Apr 2024 07: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=VUGe=LN=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1rtjC1-0007aH-4D
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:13:25 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c3277a0-f577-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 09:13:22 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S035ANL.actianordic.se
 (10.12.31.116) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 8 Apr
 2024 09:13:22 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Mon, 8 Apr 2024 09:13:22 +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: 7c3277a0-f577-11ee-a1ef-f123f15fe8a2
From: John Ernberg <john.ernberg@actia.se>
To: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
Subject: Re: [PATCH v3 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Topic: [PATCH v3 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Index: AQHagS3BrTI19ck4x0i8vHY8dyeSx7FUeasAgAlq7IA=
Date: Mon, 8 Apr 2024 07:13:21 +0000
Message-ID: <0aa439df-09da-41ec-9b1e-f9bebb40a54f@actia.se>
References: <20240328163351.64808-1-john.ernberg@actia.se>
 <20240328163351.64808-2-john.ernberg@actia.se>
 <8259527d-fc75-4f6d-8a0e-00f509a52c58@amd.com>
In-Reply-To: <8259527d-fc75-4f6d-8a0e-00f509a52c58@amd.com>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A2921D72954657C66
Content-Type: text/plain; charset="utf-8"
Content-ID: <497AAC189ACF794FB184AF0A8238C7BD@actia.se>
Content-Transfer-Encoding: base64
MIME-Version: 1.0

SGkgTWljaGVsLA0KDQpBcG9sb2dpZXMgZm9yIHRoZSBzbG93IHJlcGx5Lg0KDQpPbiA0LzIvMjQg
OToyNCBBTSwgTWljaGFsIE9yemVsIHdyb3RlOg0KPiBIaSBKb2huLA0KPiANCj4gT24gMjgvMDMv
MjAyNCAxNzozNCwgSm9obiBFcm5iZXJnIHdyb3RlOg0KPj4NCj4+DQo+PiBXaGVuIHVzaW5nIExp
bnV4IGZvciBkb20wIHRoZXJlIGFyZSBhIGJ1bmNoIG9mIGRyaXZlcnMgdGhhdCBuZWVkIHRvIGRv
IFNNQw0KPj4gU0lQIGNhbGxzIGludG8gdGhlIGZpcm13YXJlIHRvIGVuYWJsZSBjZXJ0YWluIGhh
cmR3YXJlIGJpdHMgbGlrZSB0aGUNCj4+IHdhdGNoZG9nLg0KPj4NCj4+IFByb3ZpZGUgYSBiYXNp
YyBwbGF0Zm9ybSBnbHVlIHRoYXQgaW1wbGVtZW50cyB0aGUgbmVlZGVkIFNNQyBmb3J3YXJkaW5n
Lg0KPj4NCj4+IFRoZSBmb3JtYXQgb2YgdGhlc2UgY2FsbHMgYXJlIGFzIGZvbGxvd3M6DQo+PiAg
IC0gcmVnIDA6IGZ1bmN0aW9uIElEDQo+PiAgIC0gcmVnIDE6IHN1YmZ1bmN0aW9uIElEICh3aGVu
IHRoZXJlJ3MgYSBzdWJmdW5jdGlvbikNCj4+ICAgcmVtYWluaW5nIHJlZ3M6IGFyZ3MNCj4+DQo+
PiBGb3Igbm93IHdlIG9ubHkgYWxsb3cgRG9tMCB0byBtYWtlIHRoZXNlIGNhbGxzIGFzIHRoZXkg
YXJlIGFsbCBtYW5hZ2luZw0KPj4gaGFyZHdhcmUuIFRoZXJlIGlzIG5vIHNwZWNpZmljYXRpb24g
Zm9yIHRoZXNlIFNJUCBjYWxscywgdGhlIElEcyBhbmQgbmFtZXMNCj4+IGhhdmUgYmVlbiBleHRy
YWN0ZWQgZnJvbSB0aGUgdXBzdHJlYW0gbGludXgga2VybmVsIGFuZCB0aGUgdmVuZG9yIGtlcm5l
bC4NCj4+DQo+PiBNb3N0IG9mIHRoZSBTSVAgY2FsbHMgYXJlIG9ubHkgYXZhaWxhYmxlIGZvciB0
aGUgaU1YOE0gc2VyaWVzIG9mIFNvQ3MsIHNvDQo+PiB0aGV5IGFyZSBlYXN5IHRvIHJlamVjdCBh
bmQgdGhleSBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIGlNWDhNIHNlcmllcw0KPj4gc3VwcG9y
dCBpcyBhZGRlZC4NCj4gSSBqdXN0IHJlYWxpemVkIHRoYXQgeW91IHBpbmdlZCBtZSBpbiB2MiBm
b3IgY2xhcmlmaWNhdGlvbiwgc29ycnkgSSBtaXNzZWQgdGhhdC4NCj4gSSBzdGlsbCBiZWxpZXZl
IHdlIHNob3VsZG4ndCBsaXN0IEZJRHMgdGhhdCBhcmUgbWVhbnQgZm9yIElNWDhNLCBnaXZlbiB0
aGF0DQo+IHRoZSBkcml2ZXIgaXMgd3JpdHRlbiBmb3IgSU1YOFFNL1FYUC4NCg0KQWNrLiBXaWxs
IHRha2UgdGhlbSBhbGwgb3V0IGFuZCBvbmx5IGFkZCB0aGUga25vd24gcmVxdWlyZWQgc2V0Lg0K
DQo+IA0KPj4NCj4+ICBGcm9tIHRoZSBvdGhlciBjYWxscyB3ZSBjYW4gcmVqZWN0IENQVUZSRVEg
YmVjYXVzZSBEb20wIGNhbm5vdCBtYWtlIGFuDQo+PiBpbmZvcm1lZCBkZWNpc2lvbiByZWdhcmRp
bmcgQ1BVIGZyZXF1ZW5jeSBzY2FsaW5nLCBXQUtFVVBfU1JDIGlzIHRvIHdha2UNCj4+IHVwIGZy
b20gc3VzcGVuZCwgd2hpY2ggWGVuIGRvZXNuJ3Qgc3VwcG9ydCBhdCB0aGlzIHRpbWUuDQo+Pg0K
Pj4gVGhpcyBsZWF2ZXMgdGhlIFRJTUUgU0lQLCBPVFAgU0lQcywgQlVJTERJTkZPIFNJUCBhbmQg
VEVNUCBBTEFSTSBTSVAsIHdoaWNoDQo+PiBmb3Igbm93IGFyZSBhbGxvd2VkIHRvIERvbTAuDQo+
Pg0KPj4gTk9URTogVGhpcyBjb2RlIGlzIGJhc2VkIG9uIGNvZGUgZm91bmQgaW4gTlhQIFhlbiB0
cmVlIGxvY2F0ZWQgaGVyZToNCj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9ueHAtaW14L2lteC14ZW4v
YmxvYi9sZi01LjEwLnlfNC4xMy94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL2lteDhxbS5jDQo+Pg0K
Pj4gU2lnbmVkLW9mZi1ieTogUGVuZyBGYW4gPHBlbmcuZmFuQG54cC5jb20+DQo+PiBbamVybmJl
cmc6IEFkZCBTSVAgY2FsbCBmaWx0ZXJpbmddDQo+PiBTaWduZWQtb2ZmLWJ5OiBKb2huIEVybmJl
cmcgPGpvaG4uZXJuYmVyZ0BhY3RpYS5zZT4NCj4+DQo+PiAtLS0NCj4+DQo+PiB2MzoNCj4+ICAg
LSBBZGhlcmUgdG8gc3R5bGUgZ3VpZGVsaW5lcyBmb3IgbGluZSBsZW5ndGggYW5kIGxhYmVsIGlu
ZGVudGF0aW9uIChNaWNoYWwgT3J6ZWwpDQo+PiAgIC0gVXNlIHNtY2NjIG1hY3JvcyB0byBidWls
ZCB0aGUgU0lQIGZ1bmN0aW9uIGlkZW50aWZpZXIgKE1pY2hhbCBPcnplbCkNCj4+ICAgLSBBZGp1
c3QgcGxhdGZvcm0gbmFtZSB0byBiZSBzcGVjaWZpYyB0byBRTSBhbmQgUVhQIHZhcmlhbnRzIChN
aWNoYWwgT3J6ZWwpDQo+PiAgIC0gUGljayB1cCBhZGRpdGlvbmFsIFNJUHMgd2hpY2ggbWF5IGJl
IHVzZWQgYnkgb3RoZXIgTGludXggdmVyc2lvbnMgLSBmb3IgcmV2aWV3IHB1cnBvc2VzDQo+PiAg
IC0gQ2hhbmdlcyB0byB0aGUgY29tbWl0IG1lc3NhZ2UgZHVlIHRvIGFib3ZlDQo+Pg0KPj4gdjI6
DQo+PiAgIC0gUmV3b3JkIHRoZSBjb21taXQgbWVzc2FnZSB0byBiZSBhIGJpdCBjbGVhcmVyDQo+
PiAgIC0gSW5jbHVkZSB0aGUgbGluayBwcmV2aW91c2x5IGFkZGVkIGFzIGEgY29udGV4dCBub3Rl
IHRvIHRoZSBjb21taXQgbWVzc2FnZSAoSnVsaWVuIEdyYWxsKQ0KPj4gICAtIEFkZCBQZW5ncyBz
aWduZWQgb2ZmIChKdWxpZW4gR3JhbGwsIFBlbmcgRmFuKQ0KPj4gICAtIEFkZCBiYXNpYyBTSVAg
Y2FsbCBmaWx0ZXIgKEp1bGllbiBHcmFsbCkNCj4+ICAgLSBFeHBhbmQgdGhlIGNvbW1pdCBtZXNz
YWdlIGEgd2hvbGUgYnVuY2ggYmVjYXVzZSBvZiB0aGUgY2hhbmdlcyB0byB0aGUgY29kZQ0KPj4g
LS0tDQo+PiAgIHhlbi9hcmNoL2FybS9wbGF0Zm9ybXMvTWFrZWZpbGUgfCAgIDEgKw0KPj4gICB4
ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL2lteDhxbS5jIHwgMTY4ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrDQo+PiAgIDIgZmlsZXMgY2hhbmdlZCwgMTY5IGluc2VydGlvbnMoKykNCj4+
ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS9wbGF0Zm9ybXMvaW14OHFtLmMNCj4+
DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9NYWtlZmlsZSBiL3hlbi9h
cmNoL2FybS9wbGF0Zm9ybXMvTWFrZWZpbGUNCj4+IGluZGV4IDg2MzJmNDExNWYuLmJlYzZlNTVk
MWYgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL01ha2VmaWxlDQo+PiAr
KysgYi94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL01ha2VmaWxlDQo+PiBAQCAtOSw1ICs5LDYgQEAg
b2JqLSQoQ09ORklHX0FMTF9QTEFUKSAgICs9IHN1bnhpLm8NCj4+ICAgb2JqLSQoQ09ORklHX0FM
TDY0X1BMQVQpICs9IHRodW5kZXJ4Lm8NCj4+ICAgb2JqLSQoQ09ORklHX0FMTDY0X1BMQVQpICs9
IHhnZW5lLXN0b3JtLm8NCj4+ICAgb2JqLSQoQ09ORklHX0FMTDY0X1BMQVQpICs9IGJyY20tcmFz
cGJlcnJ5LXBpLm8NCj4+ICtvYmotJChDT05GSUdfQUxMNjRfUExBVCkgKz0gaW14OHFtLm8NCj4+
ICAgb2JqLSQoQ09ORklHX01QU09DX1BMQVRGT1JNKSAgKz0geGlsaW54LXp5bnFtcC5vDQo+PiAg
IG9iai0kKENPTkZJR19NUFNPQ19QTEFURk9STSkgICs9IHhpbGlueC16eW5xbXAtZWVtaS5vDQo+
PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9pbXg4cW0uYyBiL3hlbi9hcmNo
L2FybS9wbGF0Zm9ybXMvaW14OHFtLmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRl
eCAwMDAwMDAwMDAwLi4wOTkyNDc1NDc0DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi94ZW4v
YXJjaC9hcm0vcGxhdGZvcm1zL2lteDhxbS5jDQo+PiBAQCAtMCwwICsxLDE2OCBAQA0KPj4gKy8q
IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovDQo+PiArLyoNCj4+
ICsgKiB4ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL2lteDhxbS5jDQo+PiArICoNCj4+ICsgKiBpLk1Y
IDhRTSBzZXR1cA0KPj4gKyAqDQo+PiArICogQ29weXJpZ2h0IChjKSAyMDE2IEZyZWVzY2FsZSBJ
bmMuDQo+PiArICogQ29weXJpZ2h0IDIwMTgtMjAxOSBOWFANCj4+ICsgKg0KPj4gKyAqDQo+PiAr
ICogUGVuZyBGYW4gPHBlbmcuZmFuQG54cC5jb20+DQo+PiArICovDQo+PiArDQo+PiArI2luY2x1
ZGUgPHhlbi9zY2hlZC5oPg0KPj4gKyNpbmNsdWRlIDxhc20vcGxhdGZvcm0uaD4NCj4+ICsjaW5j
bHVkZSA8YXNtL3NtY2NjLmg+DQo+PiArDQo+PiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBp
bXg4cW1fZHRfY29tcGF0W10gX19pbml0Y29uc3QgPQ0KPj4gK3sNCj4+ICsgICAgImZzbCxpbXg4
cW0iLA0KPj4gKyAgICAiZnNsLGlteDhxeHAiLA0KPj4gKyAgICBOVUxMDQo+PiArfTsNCj4+ICsN
Cj4+ICsjZGVmaW5lIElNWF9TSVBfRklEKGZpZCkgXA0KPj4gKyAgICBBUk1fU01DQ0NfQ0FMTF9W
QUwoQVJNX1NNQ0NDX0ZBU1RfQ0FMTCwgXA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgQVJN
X1NNQ0NDX0NPTlZfNjQsIFwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIEFSTV9TTUNDQ19P
V05FUl9TSVAsIFwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGZpZCkNCj4gbWFjcm8gcGFy
YW1ldGVyIHNob3VsZCBiZSBlbmNsb3NlZCB3aXRoaW4gcGFyZW50aGVzaXMNCg0KQWNrLg0KPiAN
Cj4+ICsNCj4+ICsjZGVmaW5lIElNWF9TSVBfRl9HUEMgICAgICAgICAgICAweDAwMDANCj4+ICsj
ZGVmaW5lIElNWF9TSVBfRl9DUFVGUkVRICAgICAgICAweDAwMDENCj4+ICsjZGVmaW5lIElNWF9T
SVBfRl9USU1FICAgICAgICAgICAweDAwMDINCj4+ICsjZGVmaW5lIElNWF9TSVBfRl9CVUlMRElO
Rk8gICAgICAweDAwMDMNCj4+ICsjZGVmaW5lIElNWF9TSVBfRl9ERFJfRFZGUyAgICAgICAweDAw
MDQNCj4+ICsjZGVmaW5lIElNWF9TSVBfRl9TUkMgICAgICAgICAgICAweDAwMDUNCj4+ICsjZGVm
aW5lIElNWF9TSVBfRl9HRVRfU09DX0lORk8gICAweDAwMDYNCj4+ICsjZGVmaW5lIElNWF9TSVBf
Rl9OT0MgICAgICAgICAgICAweDAwMDgNCj4+ICsjZGVmaW5lIElNWF9TSVBfRl9XQUtFVVBfU1JD
ICAgICAweDAwMDkNCj4+ICsjZGVmaW5lIElNWF9TSVBfRl9PVFBfUkVBRCAgICAgICAweDAwMEEN
Cj4+ICsjZGVmaW5lIElNWF9TSVBfRl9PVFBfV1JJVEUgICAgICAweDAwMEINCj4+ICsjZGVmaW5l
IElNWF9TSVBfRl9TRVRfVEVNUF9BTEFSTSAweDAwMEMNCj4gSXMgdGhlcmUgc3BlY2lmaWMgcmVh
c29uIGZvciBsZWFkaW5nIHplcm9zPw0KDQpOb3BlLiBJJ2xsIGRyb3AgdGhlbS4NCj4gDQo+PiAr
DQo+PiArI2RlZmluZSBJTVhfU0lQX1RJTUVfU0ZfUlRDX1NFVF9USU1FICAgICAweDAwDQo+PiAr
I2RlZmluZSBJTVhfU0lQX1RJTUVfU0ZfV0RPR19TVEFSVCAgICAgICAweDAxDQo+PiArI2RlZmlu
ZSBJTVhfU0lQX1RJTUVfU0ZfV0RPR19TVE9QICAgICAgICAweDAyDQo+PiArI2RlZmluZSBJTVhf
U0lQX1RJTUVfU0ZfV0RPR19TRVRfQUNUICAgICAweDAzDQo+PiArI2RlZmluZSBJTVhfU0lQX1RJ
TUVfU0ZfV0RPR19QSU5HICAgICAgICAweDA0DQo+PiArI2RlZmluZSBJTVhfU0lQX1RJTUVfU0Zf
V0RPR19TRVRfVElNRU9VVCAweDA1DQo+PiArI2RlZmluZSBJTVhfU0lQX1RJTUVfU0ZfV0RPR19H
RVRfU1RBVCAgICAweDA2DQo+PiArI2RlZmluZSBJTVhfU0lQX1RJTUVfU0ZfV0RPR19TRVRfUFJF
VElNRSAweDA3DQo+PiArDQo+PiArc3RhdGljIGJvb2wgaW14OHFtX2lzX3NpcF90aW1lX2NhbGxf
b2sodWludDMyX3Qgc3ViZnVuY3Rpb25faWQpDQo+PiArew0KPj4gKyAgICBzd2l0Y2ggKCBzdWJm
dW5jdGlvbl9pZCApDQo+PiArICAgIHsNCj4+ICsgICAgY2FzZSBJTVhfU0lQX1RJTUVfU0ZfUlRD
X1NFVF9USU1FOg0KPj4gKyAgICAgICAgcmV0dXJuIHRydWU7DQo+PiArICAgIGNhc2UgSU1YX1NJ
UF9USU1FX1NGX1dET0dfU1RBUlQ6DQo+PiArICAgIGNhc2UgSU1YX1NJUF9USU1FX1NGX1dET0df
U1RPUDoNCj4+ICsgICAgY2FzZSBJTVhfU0lQX1RJTUVfU0ZfV0RPR19TRVRfQUNUOg0KPj4gKyAg
ICBjYXNlIElNWF9TSVBfVElNRV9TRl9XRE9HX1BJTkc6DQo+PiArICAgIGNhc2UgSU1YX1NJUF9U
SU1FX1NGX1dET0dfU0VUX1RJTUVPVVQ6DQo+PiArICAgIGNhc2UgSU1YX1NJUF9USU1FX1NGX1dE
T0dfR0VUX1NUQVQ6DQo+PiArICAgIGNhc2UgSU1YX1NJUF9USU1FX1NGX1dET0dfU0VUX1BSRVRJ
TUU6DQo+PiArICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+ICsgICAgZGVmYXVsdDoNCj4+ICsgICAg
ICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiaW14OHFtOiBzbWM6IHRpbWU6IFVua25vd24gc3Vi
ZnVuY3Rpb24gaWQgJXhcbiIsDQo+IGdwcmludGsNCg0KQWNrLg0KPiANCj4+ICsgICAgICAgICAg
ICAgICBzdWJmdW5jdGlvbl9pZCk7DQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7DQo+PiArICAg
IH0NCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIGJvb2wgaW14OHFtX3NtYyhzdHJ1Y3QgY3B1X3Vz
ZXJfcmVncyAqcmVncykNCj4+ICt7DQo+PiArICAgIHVpbnQzMl90IGZ1bmN0aW9uX2lkID0gZ2V0
X3VzZXJfcmVnKHJlZ3MsIDApOw0KPj4gKyAgICB1aW50MzJfdCBzdWJmdW5jdGlvbl9pZCA9IGdl
dF91c2VyX3JlZyhyZWdzLCAxKTsNCj4+ICsgICAgc3RydWN0IGFybV9zbWNjY19yZXMgcmVzOw0K
Pj4gKw0KPj4gKyAgICBpZiAoICFjcHVzX2hhdmVfY29uc3RfY2FwKEFSTV9TTUNDQ18xXzEpICkN
Cj4+ICsgICAgew0KPj4gKyAgICAgICAgcHJpbnRrX29uY2UoWEVOTE9HX1dBUk5JTkcgIm5vIFNN
Q0NDIDEuMSBzdXBwb3J0LiBEaXNhYmxpbmcgZmlybXdhcmUgY2FsbHNcbiIpOw0KPiBOSVQ6IHlv
dSBjYW4gbW92ZSBzdHJpbmcgd2l0aGluIHF1b3RlcyB0byB0aGUgbmV4dCBsaW5lIHRvIGF2b2lk
IGV4Y2VlZGluZyA4MCBjaGFycy4NCj4gQWxzbywgYWxsIHRoZSBvdGhlciBtZXNzYWdlcyBhcmUg
cHJlcGVuZGVkIHdpdGggImlteDhxbTogc21jOiIgc28gYmV0dGVyIGJlIGNvbnNpc3RlbnQuDQoN
CkFjay4NCj4gDQo+PiArDQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7DQo+PiArICAgIH0NCj4+
ICsNCj4+ICsgICAgLyogT25seSBoYXJkd2FyZSBkb21haW4gbWF5IHVzZSB0aGUgU0lQIGNhbGxz
ICovDQo+PiArICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkN
Cj4+ICsgICAgew0KPj4gKyAgICAgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywgImlteDhxbTog
c21jOiBObyBhY2Nlc3NcbiIpOw0KPiBIZXJlIHlvdSB1c2UgZ3ByaW50aywgYnV0IC4uLg0KPiAN
Cj4+ICsgICAgICAgIHJldHVybiBmYWxzZTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBzd2l0
Y2ggKCBmdW5jdGlvbl9pZCApDQo+PiArICAgIHsNCj4+ICsgICAgLyogT25seSBhdmFpbGFibGUg
b24gaW14OG0gc2VyaWVzICovDQo+PiArICAgIGNhc2UgSU1YX1NJUF9GSUQoSU1YX1NJUF9GX0dQ
Qyk6DQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7DQo+PiArICAgIGNhc2UgSU1YX1NJUF9GSUQo
SU1YX1NJUF9GX0NQVUZSRVEpOg0KPj4gKyAgICAgICAgLyogSGFyZHdhcmUgZG9tYWluIGNhbid0
IHRha2UgYW55IGluZm9ybWVkIGRlY2lzaW9uIGhlcmUgKi8NCj4+ICsgICAgICAgIHJldHVybiBm
YWxzZTsNCj4+ICsgICAgY2FzZSBJTVhfU0lQX0ZJRChJTVhfU0lQX0ZfQlVJTERJTkZPKToNCj4+
ICsgICAgICAgIGdvdG8gYWxsb3dfY2FsbDsNCj4+ICsgICAgY2FzZSBJTVhfU0lQX0ZJRChJTVhf
U0lQX0ZfVElNRSk6DQo+PiArICAgICAgICBpZiAoIGlteDhxbV9pc19zaXBfdGltZV9jYWxsX29r
KHN1YmZ1bmN0aW9uX2lkKSApDQo+PiArICAgICAgICAgICAgZ290byBhbGxvd19jYWxsOw0KPj4g
KyAgICAgICAgcmV0dXJuIGZhbHNlOw0KPj4gKyAgICAvKiBPbmx5IGF2YWlsYWJsZSBvbiBpbXg4
bSBzZXJpZXMgKi8NCj4+ICsgICAgY2FzZSBJTVhfU0lQX0ZJRChJTVhfU0lQX0ZfRERSX0RWRlMp
Og0KPj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOw0KPj4gKyAgICAvKiBPbmx5IGF2YWlsYWJsZSBv
biBpbXg4bSBzZXJpZXMgKi8NCj4+ICsgICAgY2FzZSBJTVhfU0lQX0ZJRChJTVhfU0lQX0ZfU1JD
KToNCj4+ICsgICAgICAgIHJldHVybiBmYWxzZTsNCj4+ICsgICAgLyogT25seSBhdmFpbGFibGUg
b24gaW14OG0gc2VyaWVzICovDQo+PiArICAgIGNhc2UgSU1YX1NJUF9GSUQoSU1YX1NJUF9GX0dF
VF9TT0NfSU5GTyk6DQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7DQo+PiArICAgIC8qIE9ubHkg
YXZhaWxhYmxlIG9uIGlteDhtIHNlcmllcyAqLw0KPj4gKyAgICBjYXNlIElNWF9TSVBfRklEKElN
WF9TSVBfRl9OT0MpOg0KPj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOw0KPj4gKyAgICAvKiBYZW4g
ZG9lc24ndCBoYXZlIHN1c3BlbmQgc3VwcG9ydCAqLw0KPj4gKyAgICBjYXNlIElNWF9TSVBfRklE
KElNWF9TSVBfRl9XQUtFVVBfU1JDKToNCj4+ICsgICAgICAgIHJldHVybiBmYWxzZTsNCj4+ICsg
ICAgY2FzZSBJTVhfU0lQX0ZJRChJTVhfU0lQX0ZfT1RQX1JFQUQpOg0KPj4gKyAgICAgICAgLyog
c3ViZnVuY3Rpb25faWQgaXMgdGhlIGZ1c2UgbnVtYmVyLCBubyBzZW5zaWJsZSBjaGVjayBwb3Nz
aWJsZSAqLw0KPj4gKyAgICAgICAgZ290byBhbGxvd19jYWxsOw0KPj4gKyAgICBjYXNlIElNWF9T
SVBfRklEKElNWF9TSVBfRl9PVFBfV1JJVEUpOg0KPj4gKyAgICAgICAgLyogc3ViZnVuY3Rpb25f
aWQgaXMgdGhlIGZ1c2UgbnVtYmVyLCBubyBzZW5zaWJsZSBjaGVjayBwb3NzaWJsZSAqLw0KPj4g
KyAgICAgICAgZ290byBhbGxvd19jYWxsOw0KPj4gKyAgICBjYXNlIElNWF9TSVBfRklEKElNWF9T
SVBfRl9TRVRfVEVNUF9BTEFSTSk6DQo+PiArICAgICAgICBnb3RvIGFsbG93X2NhbGw7DQo+PiAr
ICAgIGRlZmF1bHQ6DQo+PiArICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgImlteDhxbTog
c21jOiBVbmtub3duIGZ1bmN0aW9uIGlkICV4XG4iLA0KPiAuLi4gaGVyZSB5b3UgZG9uJ3QuDQoN
ClN0aWxsIGdldHRpbmcgdXNlZCBncHJpbnRrLg0KPiANCj4+ICsgICAgICAgICAgICAgICBmdW5j
dGlvbl9pZCk7DQo+PiArICAgICAgICByZXR1cm4gZmFsc2U7DQo+PiArICAgIH0NCj4+ICsNCj4+
ICsgYWxsb3dfY2FsbDoNCj4+ICsgICAgYXJtX3NtY2NjXzFfMV9zbWMoZnVuY3Rpb25faWQsDQo+
PiArICAgICAgICAgICAgICAgICAgICAgIHN1YmZ1bmN0aW9uX2lkLA0KPj4gKyAgICAgICAgICAg
ICAgICAgICAgICBnZXRfdXNlcl9yZWcocmVncywgMiksDQo+PiArICAgICAgICAgICAgICAgICAg
ICAgIGdldF91c2VyX3JlZyhyZWdzLCAzKSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgZ2V0
X3VzZXJfcmVnKHJlZ3MsIDQpLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICBnZXRfdXNlcl9y
ZWcocmVncywgNSksDQo+PiArICAgICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdz
LCA2KSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDcpLA0K
Pj4gKyAgICAgICAgICAgICAgICAgICAgICAmcmVzKTsNCj4+ICsNCj4+ICsgICAgc2V0X3VzZXJf
cmVnKHJlZ3MsIDAsIHJlcy5hMCk7DQo+PiArICAgIHNldF91c2VyX3JlZyhyZWdzLCAxLCByZXMu
YTEpOw0KPj4gKyAgICBzZXRfdXNlcl9yZWcocmVncywgMiwgcmVzLmEyKTsNCj4+ICsgICAgc2V0
X3VzZXJfcmVnKHJlZ3MsIDMsIHJlcy5hMyk7DQo+PiArDQo+PiArICAgIHJldHVybiB0cnVlOw0K
Pj4gK30NCj4+ICsNCj4+ICtQTEFURk9STV9TVEFSVChpbXg4cW0sICJpLk1YIDhRe00sWFB9IikN
Cj4+ICsgICAgLmNvbXBhdGlibGUgPSBpbXg4cW1fZHRfY29tcGF0LA0KPj4gKyAgICAuc21jID0g
aW14OHFtX3NtYywNCj4+ICtQTEFURk9STV9FTkQNCj4+ICsNCj4+ICsvKg0KPj4gKyAqIExvY2Fs
IHZhcmlhYmxlczoNCj4+ICsgKiBtb2RlOiBDDQo+PiArICogYy1maWxlLXN0eWxlOiAiQlNEIg0K
Pj4gKyAqIGMtYmFzaWMtb2Zmc2V0OiA0DQo+PiArICogaW5kZW50LXRhYnMtbW9kZTogbmlsDQo+
PiArICogRW5kOg0KPj4gKyAqLw0KPj4gLS0NCj4+IDIuNDQuMA0KPiANCj4gDQo+IH5NaWNoYWwN
Cg0KVGhhbmtzISAvLyBKb2huIEVybmJlcmc=


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:32:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:32:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701764.1096207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjUe-0002fV-0L; Mon, 08 Apr 2024 07:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701764.1096207; Mon, 08 Apr 2024 07:32:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjUd-0002fO-Td; Mon, 08 Apr 2024 07:32:39 +0000
Received: by outflank-mailman (input) for mailman id 701764;
 Mon, 08 Apr 2024 07:32:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtjUc-0002fI-Eb
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:32:38 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b6889fc-f57a-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 09:32:36 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3458b699d6cso249807f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:32: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
 p5-20020adfce05000000b00343e760c637sm7808952wrn.84.2024.04.08.00.32.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:32: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: 2b6889fc-f57a-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712561555; x=1713166355; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PKK6WW+8+cFZLTvP3CyUXXoH7eOOAUR1fyQl9c1iEy0=;
        b=dCHhcge/qRTBWM7bpZB2t3q2DHUAsbaNzt0q5VRrByYfO6CmAsSd7QBIds4WLn7FTd
         le3Hn+IvdUYRMzYZ5TzgtF5TyfiW/u2rDmcSOY4xxqXD6Oxy3nodqBQacCSDJJ0q2twz
         AiSCiu+cZrx8NmuIyxfBbn/rFcPXadXTRpSwy0tsbroK6JAD+ns8tKqIRJn9FiVyR1Tm
         Cj3SYrOelvOJE7eKhamRpnBDOklYd4IVIma2nSyn6z8i32Oi7gk4SEHyXxxtlaLoEGEz
         MXuK1/UY+5K5p/X1Ft8bZjrL614mAZvOwLgjKC5zWz//aHKlRNa5icC+GvirpsXShkrM
         P4QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712561555; x=1713166355;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PKK6WW+8+cFZLTvP3CyUXXoH7eOOAUR1fyQl9c1iEy0=;
        b=xDUmDQtDqXMOJhy4I8vsljKrNWI1HJ1hajNLlMfKdZZeY3Jj2q3UPLFvieEGYwy55b
         2eA5eU1q1dA7rsonZV3GB+dm5LpQSiKuey9HlTmdPnEG7wdAkmUzL6ZU4fs7MGYu8Kyb
         +iDiStseHPh+EcxWzmLXOUKCJWN35PQrn8TtWm7sxur1e8c5YblZ1a4L+CFhOM+rwz9z
         IE8GscwMrwpfRxniLjwkFbwWiClQlEo0ifQJKwvpAsIgwOoMw61mWOygpYR5tCMdclIq
         538JoIIqma7Pdth6FN53FKx06VmXXNK4vAriyxAAK0gbRc9DLQqiW6rrD5hpwU+jkXTu
         oCEg==
X-Forwarded-Encrypted: i=1; AJvYcCUBi6laDHHC50w5C83IKVl4mXU2ugd7rcsexH8CeNPnStooRBuwMMNHpz/ERWdxqXUFsc6/CD7wFrkup2hcqX7G1yN+YmR0ArWnozuzThk=
X-Gm-Message-State: AOJu0YwKm7CZKKKYId5QvfrYsEWU0QeEkFk76a8LbUuDaDF0+qWYjdIx
	mSxUgs8yavQEcOoCuJGwuagAfV6izBD2Fb0vo7yd34G1vzixcgRNflzWTdye7Q==
X-Google-Smtp-Source: AGHT+IGgnZ1sRNSydNmwP49uCL0oG6t7MUejrDIETZ23CYh/UP7kCD6GpH2V6d8o9FkPHY67xZHG0g==
X-Received: by 2002:a05:6000:1864:b0:343:617e:26ba with SMTP id d4-20020a056000186400b00343617e26bamr7001442wri.54.1712561555432;
        Mon, 08 Apr 2024 00:32:35 -0700 (PDT)
Message-ID: <36e84201-b31f-4204-8cff-ed50a01a47ed@suse.com>
Date: Mon, 8 Apr 2024 09:32:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 1/9] x86/vlapic: tidy switch statement and address
 MISRA violation
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 11:14, Nicola Vetrini wrote:
> Remove unneded blank lines between switch clauses.

"Unneeded" based on what? We're carefully trying to improve readability of
large switch() statements by adding such blank lines (at least) between non-
fall-through case blocks, and you go and remove them?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:39:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:39:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701776.1096256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjbb-000497-4Y; Mon, 08 Apr 2024 07:39:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701776.1096256; Mon, 08 Apr 2024 07: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 1rtjbb-000490-1p; Mon, 08 Apr 2024 07:39:51 +0000
Received: by outflank-mailman (input) for mailman id 701776;
 Mon, 08 Apr 2024 07:39:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtjbZ-00047g-CI
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:39:49 +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 2c5458e3-f57b-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 09:39:47 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4163de295f9so6045805e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:39: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
 z11-20020a5d654b000000b003437fec702dsm8255655wrv.21.2024.04.08.00.39.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00: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: 2c5458e3-f57b-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712561986; x=1713166786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=F+/oKUELsqXvouwaiwbPl3RMV1QOsYUOLjXNnFG9Qsc=;
        b=avF56SEGOoiw0K+vUgoHfBLXVCTwlBTaYO+ontvZvHKoenxU5DjLkWrVLM9o5IhkTg
         csAIDbZ8pgwgdBnebOBCTlQOgs8VCJntgcSRBGALBc2rkMDkWE6d+9TCe8tYjBC57U1W
         VBCVZ5uzNVA/66zWjHv2StHzR0B+flVgvDl6K+kjbgt6vToBKW61OCcNuTyffFLHqcFT
         2O92gG2rQ/CrMb0RstCud7zM/YU+dUXrVfsaGefXL6ff/eKlmPQBabL3PPp0Gj3DnoIN
         0bma/VuadJrKIWvh0FLB9J4F64ANoUc2HpWVWAoE5aLsqP+aPM9P2gos59sJTgTGCAfh
         3oEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712561986; x=1713166786;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=F+/oKUELsqXvouwaiwbPl3RMV1QOsYUOLjXNnFG9Qsc=;
        b=lyIjGpc/utogYF0vT2ewL0IUAesdD3l3F/M6xBJXIlwaQTGdQqlSwW+lycelLIkmzi
         LfRo+Y4NbnWbL63x5P3scHskKsE3JaqOLPqSEvGLyfc7V5gfl1LcrUINlTRN4f/FypZ6
         EYYF3ZxT3EpaOktMJEyMcV0K3jKtHirRZO+7uZxVh7XzylBMr7zorWW3D/LJkeOIa/90
         CYHTQTELbCTSEIDd4z5qSSgSgTN9Tjq2Wk9ABy/lRgPGxKkY6kZv0AaOZ6+G0ckFRFc5
         y+gKF+SvKN0+Zw9+lIGsWc4l7/w67AoF+20v1RXNwm8iO4rmzou6YpSfMGTJIWYlPcCo
         kH1g==
X-Forwarded-Encrypted: i=1; AJvYcCU9wqYkbEpRTo9c7i1Agu4ikj60H3k8VBEgNc4xU6sR0gM2AOfm4XhxpX3yRNxCgRC0QOddQjM1kafWo5JwTb0rzaMIeXsG7j2t6fZfcII=
X-Gm-Message-State: AOJu0YwvazUXZPNeu6usV55f22Z+nYX5ctscjQSud7KoQnINOIBDqm8o
	ipSikG3eIuQJUr34LlLRxyYF1y1EfwUK68omRsd11EDbMPUbiIt+MY3G8eRdYg==
X-Google-Smtp-Source: AGHT+IF7TCBYVL9wv5yiZAgncdv3qG9fM5k6FtOeqj1QVNYnAe0etD2AL63bBSxTrBxbJDVP3BIPNA==
X-Received: by 2002:a05:600c:314e:b0:416:2bc2:d638 with SMTP id h14-20020a05600c314e00b004162bc2d638mr5847616wmo.9.1712561986453;
        Mon, 08 Apr 2024 00:39:46 -0700 (PDT)
Message-ID: <33239d84-3998-4ed6-a970-243fe4468b0b@suse.com>
Date: Mon, 8 Apr 2024 09:39:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/9] x86/cpuid: address violation of MISRA C Rule
 16.2
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <f957c92d9a00c66df47fc3cac336e378488b9fea.1712305581.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f957c92d9a00c66df47fc3cac336e378488b9fea.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 11:14, Nicola Vetrini wrote:
> Refactor the switch so that a violation of MISRA C Rule 16.2 is resolved
> (A switch label shall only be used when the most closely-enclosing
> compound statement is the body of a switch statement).
> Note that the switch clause ending with the pseudo
> keyword "fallthrough" is an allowed exception to Rule 16.3.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
albeit once again with remarks:

> --- a/xen/arch/x86/cpuid.c
> +++ b/xen/arch/x86/cpuid.c
> @@ -331,23 +331,22 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
>          switch ( subleaf )
>          {
>          case 1:
> -            if ( p->xstate.xsavec || p->xstate.xsaves )
> -            {
> -                /*
> -                 * TODO: Figure out what to do for XSS state.  VT-x manages
> -                 * host vs guest MSR_XSS automatically, so as soon as we start
> -                 * supporting any XSS states, the wrong XSS will be in
> -                 * context.
> -                 */
> -                BUILD_BUG_ON(XSTATE_XSAVES_ONLY != 0);
> -
> -                /*
> -                 * Read CPUID[0xD,0/1].EBX from hardware.  They vary with
> -                 * enabled XSTATE, and appropraite XCR0|XSS are in context.
> -                 */
> +            if ( !(p->xstate.xsavec || p->xstate.xsaves) )

Personally I dislike with for of writing such. It may not be overly much of a
problem for simple cases like here, but the more complex the expression gets,
the less helpful it is that somewhere far away there's an enclosing !(...). I
may take the liberty to adjust this, should I end up committing this change.

> +                break;
> +            /*
> +             * TODO: Figure out what to do for XSS state.  VT-x manages
> +             * host vs guest MSR_XSS automatically, so as soon as we start
> +             * supporting any XSS states, the wrong XSS will be in
> +             * context.
> +             */

Much like one actually needs to consider re-flowing when increasing indentation
of a comment, it is generally desirable to also to so when decreasing
indentation, which in this case surely would allow at least "context" to be
moved to the earlier line.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:44:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701780.1096267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjfe-0005qg-K3; Mon, 08 Apr 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 701780.1096267; Mon, 08 Apr 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 1rtjfe-0005qZ-H0; Mon, 08 Apr 2024 07:44:02 +0000
Received: by outflank-mailman (input) for mailman id 701780;
 Mon, 08 Apr 2024 07:44: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtjfc-0005qT-U5
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:44:00 +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 c25ccdbc-f57b-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 09:43:58 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4164e7bd4c3so8203175e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:43: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
 g16-20020a5d4890000000b0034599eca6c9sm2637907wrq.41.2024.04.08.00.43.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:43:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c25ccdbc-f57b-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712562238; x=1713167038; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EPXl71g8joPxci5PlTCRc+jtdwshfl3J0xUrwNxMLxY=;
        b=OaeOEgN8lR72T0z/Mk9u0A69A9DzvKuv3xhhtoA0EEB9rx25XZmhvONRcyiph3CNX2
         epdj+KtexpmqR71tT+lzqGgDglh+d8mUGz4p2Th/ZBcotritHoeBvgoy864VT8kyWSj1
         UMS2yFNbsvQSJnOCkZY02MJggLcn6xipOiBhw8f0qttkTT6vL3IpoP24vz3wRmQVAldI
         2RZFMJwkMl61MYRbGlfBMpdsTQccAprixOCk3ZRFCeAROzfIVz6Xtokya7ojxIhEZIoW
         hVIsQhbl1+vzaRnTLjjS/Q8vBb+SWqKOITWZCnmgqBMxxc3EwwPTSSR970SQSHl7Z6AZ
         WEjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712562238; x=1713167038;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EPXl71g8joPxci5PlTCRc+jtdwshfl3J0xUrwNxMLxY=;
        b=Tr9QzZgzdbyYYvPmRX5P7U8RlUDqxbv3SuebYgju23JZPm4o36U20YQZ8Lb73bdqm8
         6gS55uHpKZfWGfgcagYhN3tOYtCVapRfgVtKYouxrwqXo9WWk0N3L8WrCfI6vLIxgM/F
         9J1wpbtWTvrQh3ghWNaSoOkLPx5FwoJdSxieruPDo5nQw/8RG1xHQTuZb25JdhqBZII7
         YtV2R6tB84yhu4cvq08TMnIxG9k/hsfTg7CmXBBUMftvHQNNF58a4nRCadTx26uq2J3t
         NNzAYMXhG3quMqHzEUfKTRfxRVwdK7bPsNDrdTN6SylClH6xkZ6WEWYni5/4qFBsbBC/
         JEug==
X-Forwarded-Encrypted: i=1; AJvYcCVtUnmajP3PX+j6bNqRTfcUusHAc73EOfr7a8utLTMIqYFV27b72LtrXv4BpriseQCb6GJi17m7k2srPC4lH1dB0bqISgTiPGSMgikVaMU=
X-Gm-Message-State: AOJu0Yxsm8qdlzX/VcB9o+6qIcJb+iwVq61z/w4hTQmsPgfWfMRrbcEU
	X+Mz5QzJKD52yGunpPVvE4dgywjzks4MgsmKIidlehGOr2DUtlingZthyLZLlQ==
X-Google-Smtp-Source: AGHT+IEyErlVKa4W0ya0Sc5Wq++lv3i5FvJocOvOnmDPqOQacnYUmqjkLwwhgSiJi/90/URCqzfhhw==
X-Received: by 2002:a05:600c:358f:b0:415:4853:f722 with SMTP id p15-20020a05600c358f00b004154853f722mr5911567wmq.10.1712562238290;
        Mon, 08 Apr 2024 00:43:58 -0700 (PDT)
Message-ID: <dfa9e320-266a-49aa-8d90-5e0c63ab1db6@suse.com>
Date: Mon, 8 Apr 2024 09:44:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 3/9] x86/irq: tidy switch statement and address
 MISRA violation
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <d1bdd54b6751a047626b0271fff882484f98ea1a.1712305581.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d1bdd54b6751a047626b0271fff882484f98ea1a.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 11:14, Nicola Vetrini wrote:
> Remove unneded blank lines between switch clauses.

NAK for this part again.

> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -2882,7 +2882,7 @@ int allocate_and_map_gsi_pirq(struct domain *d, int index, int *pirq_p)
>  int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
>                                int type, struct msi_info *msi)
>  {
> -    int irq, pirq, ret;
> +    int irq = -1, pirq, ret;
>  
>      ASSERT_PDEV_LIST_IS_READ_LOCKED(d);
>  
> @@ -2892,12 +2892,10 @@ int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
>          if ( !msi->table_base )
>              msi->entry_nr = 1;
>          irq = index;
> -        if ( irq == -1 )
> -        {
> +        fallthrough;
>      case MAP_PIRQ_TYPE_MULTI_MSI:
> +        if( type == MAP_PIRQ_TYPE_MULTI_MSI || irq == -1 )
>              irq = create_irq(NUMA_NO_NODE, true);

It may seem small, but this extra comparison already is duplication I'd rather
see avoided. At the very least though you want to clarify in the description
whether the compiler manages to eliminate it again.

> -        }
> -
>          if ( irq < nr_irqs_gsi || irq >= nr_irqs )

Why would the blank line above here need removing?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:50:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:50:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701783.1096277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjmB-0007y2-9j; Mon, 08 Apr 2024 07:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701783.1096277; Mon, 08 Apr 2024 07: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 1rtjmB-0007xv-6r; Mon, 08 Apr 2024 07:50:47 +0000
Received: by outflank-mailman (input) for mailman id 701783;
 Mon, 08 Apr 2024 07:50:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtjm9-0007xp-UD
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:50:45 +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 b44f21af-f57c-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 09:50:44 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41551639550so28826805e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:50: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
 r19-20020a05600c35d300b004163345d2b4sm9500418wmq.36.2024.04.08.00.50.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:50: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: b44f21af-f57c-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712562644; x=1713167444; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=l6lFDHxYYkesm3ngbzVnGoO1XXgWZXAbqTWegLuXYd4=;
        b=RQCHvl/GWgoCcE6DDBBdXm5NDSKWcirTeVsLjQV7FrG493YqSfHeu44yEI0ULGl/8e
         y6Rup9mjzydUYcWJbLUmRpESWFY4IApaR2QPY8xE1qXEAsfc+RY8EYj18MFfoFQnD5WI
         6QrZPRu5WInwOq6SJ6eAFC/yfojv8cIS+araX9SgWaZ0fLWn2sPF9v+Er3rxoA48gpFS
         TCJEQVRZf3G+M9r0eZywCV+b69tAUcVj4HubYZunrsqntKYFFLKemOmD/SN1dSIxRqaS
         AsUdOhNYEyIwhtfQeF5ndzpRkfpFocyRxLWkoh9Nx1HwarLtpg5Bt4jpOXcma1bofaqL
         uWtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712562644; x=1713167444;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=l6lFDHxYYkesm3ngbzVnGoO1XXgWZXAbqTWegLuXYd4=;
        b=a9MApxeK99mOQMLJc3pD5dKqTP8esIIwFs11JYZuWSNvVIhE4ljoSoBh2pejwurKkv
         gM1rWavGXwD8VWaQtjGh0ycqpWg3gS+zu5evFWvVkSyGjHKspHKUHcS2+TAPDfF3tF3F
         lbR5pn5LUJPBUBUzzILNe4mIcDJ3MZ60TXFoAkS8MxLczQXxdMZsoyIq1VARVLk2pdnL
         MY/xwfBcn3Uej1IzaeqQtBSKKnIldwiwawQs7YvvMuTTO2QjBN9C5PfrV9nipo0GW68Y
         aAIIOv4jtmHK9vvXvRtgbYPD/rcds3upPq968EG3nVFw8fd4BDwgBYRu7KHgzlclLN5K
         0OoA==
X-Forwarded-Encrypted: i=1; AJvYcCX6GDVWBqItObcbYSXjrDlDAD3EgiU9xsjcBbDHFYOOnMmJ3tasvIWflz4zEo2YBJz/aJ1lVnIw7GAkGG54pEAG3KDyGwJh0EJ1DHicciA=
X-Gm-Message-State: AOJu0YzefNhXqE5uTfPFYok/Y5pohuhzVbkcr+xZIPfz6s9auTiuX5uV
	sdPcyp1MsaMOBmqJYTmQUUzMkVeNaQwvOkTjryQ09UxXchAGnChvOrqRB0VOcw==
X-Google-Smtp-Source: AGHT+IF9gZ0YiSem5b7FjtP69EGN12SeeX40O7H5yqqbZT9qMDFGeYM+x02KikTHONfrFJjJZeRQHQ==
X-Received: by 2002:a05:600c:470d:b0:416:6b95:fc89 with SMTP id v13-20020a05600c470d00b004166b95fc89mr1858677wmo.1.1712562643963;
        Mon, 08 Apr 2024 00:50:43 -0700 (PDT)
Message-ID: <48caee9c-ef6d-4109-a6aa-f18d57cefb81@suse.com>
Date: Mon, 8 Apr 2024 09:50:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 4/9] x86/efi: tidy switch statement and address
 MISRA violation
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <acbf40ba94a5ef7a8a429498765932b801e42a0a.1712305581.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <acbf40ba94a5ef7a8a429498765932b801e42a0a.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 11:14, Nicola Vetrini wrote:
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -169,20 +169,22 @@ static void __init efi_arch_process_memory_map(EFI_SYSTEM_TABLE *SystemTable,
>  
>          switch ( desc->Type )
>          {
> +        default:
> +            type = E820_RESERVED;
> +            break;

This one I guess is tolerable duplication-wise, and I might guess others would
even have preferred it like that from the beginning. A blank line below here
would be nice, though (and at some point ahead of and between the two ACPI-
related case labels blank lines would want adding, too).

However, ...

>          case EfiBootServicesCode:
>          case EfiBootServicesData:
>              if ( map_bs )
>              {
> -        default:
>                  type = E820_RESERVED;
>                  break;
>              }
> -            /* fall through */
> +            fallthrough;
>          case EfiConventionalMemory:
>              if ( !trampoline_phys && desc->PhysicalStart + len <= 0x100000 &&
>                   len >= cfg.size && desc->PhysicalStart + len > cfg.addr )
>                  cfg.addr = (desc->PhysicalStart + len - cfg.size) & PAGE_MASK;
> -            /* fall through */
> +            fallthrough;
>          case EfiLoaderCode:
>          case EfiLoaderData:
>              if ( desc->Attribute & EFI_MEMORY_RUNTIME )

... below here there is

            else
        case EfiUnusableMemory:
                type = E820_UNUSABLE;
            break;

I understand there are no figure braces here, and hence be the letter this
isn't an issue with the Misra rule. But (a) some (e.g. Andrew, I guess)
would likely argue for there wanting to be braces and (b) we don't want to
be leaving this as is, when the spirit of the rule still suggests it should
be done differently.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:53:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701787.1096286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjom-00009G-P8; Mon, 08 Apr 2024 07:53:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701787.1096286; Mon, 08 Apr 2024 07: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 1rtjom-000099-MH; Mon, 08 Apr 2024 07:53:28 +0000
Received: by outflank-mailman (input) for mailman id 701787;
 Mon, 08 Apr 2024 07:53: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtjol-000093-FP
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:53:27 +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 14f00fb7-f57d-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 09:53:26 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-516d6c1e238so2638268e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:53: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
 z13-20020a056000110d00b0034174875850sm8359750wrw.70.2024.04.08.00.53.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:53:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14f00fb7-f57d-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712562806; x=1713167606; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=q21+13Ih1D4g09Geddm40/IryGoHeJrUpfeaEV1PTyM=;
        b=UGqm+RciDoDoOBp/mgARx8v2RYeUt5lU7CTyBQfckAS/GH33ud2SRYxrFV1eg6xvgz
         Pt2qVpq0Hi+3XEbPXH3wS04NXpF9JZDe4pXFpd7d4qHJrlkQwzIMN7eYng+fnsHmVdNB
         ZAewnJubCixWABFBZrkoFQDPCT/Abwr8CPWtiYFvzqX75HgOBRNqaL3pzT7wPffaoaA6
         8DUK9YQZsKLG85R1PiA6Ri6cajmuoIf6sD/9f2hz8JLaaeypsfTnxFPuu8tO7QJDOdKf
         FG2ZnhiT0kqQozObiZK5puXLEdnUhjFguMpCavwklA2ObcOyJj6s4Q7HC8EWu3Q2qB1a
         /mHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712562806; x=1713167606;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=q21+13Ih1D4g09Geddm40/IryGoHeJrUpfeaEV1PTyM=;
        b=YnO+IU6QzauCSO/ZKj2JL2W0glNOYhOsOT1mgGzvqR0TSeNHJYDmfYnPuR1aU+2O+X
         VhVWPEmxkR6t3eZwFhgmRhBMv4pDmHyIEx/CfbkXKXp7+OXc361B4h8hhxOnsvCth7QQ
         qXY4FmApbkKGh+INYK8cbu+DuX6+ft8m34tuWchxEOHN3qFrzx7O5d9mS7H15DBPFJha
         lAazq159TjbZEot84WZFdwVoAQbOBy0ib+WxufWB8Eoxp1TfhqeUZpYwN1cxyYGW3zpd
         EIRSZSI/yyOtYQsNDmmAFitPWELicsceNuOWhvP2AKBrK7mtIuzk793kJral9RowJT1G
         06mQ==
X-Forwarded-Encrypted: i=1; AJvYcCUsEGI8/kk/YesMYb17k01koJQj6ymhb4+ZtoKRX2Iyz1EBVH+5iKdz/6YLyxBUXHBAh0kNnTyYeyvtQZYJpgAZbZ2mTkrMRxfkzxBEMXo=
X-Gm-Message-State: AOJu0YylWi8zzEFLsREpQC6Q2gDVzYhS+JXydjoa3PXlTjnjmah6RfCy
	sTU3kvtRCkJpHWXQzJq+AasQsU51DhI3dWXLWppehRbJ+t0b3AnIxgT51hiqsA==
X-Google-Smtp-Source: AGHT+IFCrLStyWiujC4rjkyDaYf1qPneie3zCT3QzjnwNP8/Ui8k/ay4Aklh9GwnJnakStxY756Ewg==
X-Received: by 2002:a05:6512:3b90:b0:513:27a1:24cb with SMTP id g16-20020a0565123b9000b0051327a124cbmr6455768lfv.51.1712562806126;
        Mon, 08 Apr 2024 00:53:26 -0700 (PDT)
Message-ID: <57d40b07-fe98-43e3-a5aa-4839a24f641d@suse.com>
Date: Mon, 8 Apr 2024 09:53:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 5/9] xen/domctl: address violations of MISRA C Rule
 16.2
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <5ba6dafed08ca148f7ea92e4c8f7fc947f825cd0.1712305581.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5ba6dafed08ca148f7ea92e4c8f7fc947f825cd0.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 11:14, Nicola Vetrini wrote:
> Refactor the first clauses so that a violation of
> MISRA C Rule 16.2 is resolved (a switch label should be immediately
> enclosed in the compound statement of the switch).
> Note that the switch clause ending with the pseudo
> keyword "fallthrough" is an allowed exception to Rule 16.3.
> 
> Convert fallthrough comments in other clauses to the pseudo-keyword
> while at it.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -293,6 +293,9 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
>  
>      switch ( op->cmd )
>      {
> +    case XEN_DOMCTL_createdomain:
> +        d = NULL;
> +        break;
>      case XEN_DOMCTL_assign_device:

... again with a blank line added above this last one (even if this switch()
isn't all so big).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 07:57:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 07:57:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701790.1096297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjsb-0000iW-9F; Mon, 08 Apr 2024 07:57:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701790.1096297; Mon, 08 Apr 2024 07:57: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 1rtjsb-0000iP-5S; Mon, 08 Apr 2024 07:57:25 +0000
Received: by outflank-mailman (input) for mailman id 701790;
 Mon, 08 Apr 2024 07:57: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtjsa-0000iH-6h
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 07:57:24 +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 a1cf0ed1-f57d-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 09:57:23 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-41649860cecso7531955e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 00:57: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
 k2-20020a5d5242000000b00343c0c24a65sm8289967wrc.89.2024.04.08.00.57.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 00:57: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: a1cf0ed1-f57d-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712563042; x=1713167842; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=l0U6uGsQnyCGZxhahGWduclr/9yFqdTBMMRYXgEzuy0=;
        b=DmusSA+m7rYaSNcJJWTOnFJ1riBlXfSa90p13L04exepxFu6rdOp0NK3OWRd0D7G8O
         GV45l7/RoQjP8us9NV6pkgOtP7Bzu+7o9w+1XxVWgxtImxfeeWLULaem8qilxUO1qWbc
         AQ1CzX+puE7dnISedyboCc5lZPJ1JIw67MK1P1ScCljNL71Z14TsvkFmwgdkIdlDWSKo
         qHHa6YJ/AMF0UPup3dHLD+lpMZklCV0eYsNj9rFCQer5u7ZqpIwJhGNFr6fKsWrRasz8
         s/farVJ22K3h1ZOCkezUkhHP7FbhIhiIGHfoygTzPksN+EpbNpHeeLq2J6Vgiw8aRAC+
         KPVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712563042; x=1713167842;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=l0U6uGsQnyCGZxhahGWduclr/9yFqdTBMMRYXgEzuy0=;
        b=i56afIfdA/OaDKZlbMcDw6TmL99Jp89w25Ej7qNsWxJ/YxUxujdPPryVYnQaT6ezK1
         G2nUVE34lUTYnRZoGxn2uEbnsaz0b522O4IrRF4Kt4aeiu58c8WOC1JcRHIGtWtJUy1o
         +CajMzUS5exd98iIQwYpSbhyV3hcPYbACtjiPgO9UZONtpu0uwfTT2XOBrtwhl/QkAkw
         33tUPS4V7OeJ29y4irBdkQRdy/eYlWwH6OJVqc0DvcqA/uXh2b79qXjdxyzQ0oT9jUp7
         BU2lH1aPEtf+VUlWIYRNup0tiQLw5W6m4sKcggZNmvmf1xjipJOTpwb4wKX8PJXsz1FA
         9NKA==
X-Forwarded-Encrypted: i=1; AJvYcCWZ4RXIC0GrjVgyJl985X19Q1eJz6lABFFgU9KTRnepqKwLr1o5iYlWy9Ei22+RAvlaXYc5REhempB350GTmomqONpEK+/KVgDF70YsIYM=
X-Gm-Message-State: AOJu0Yx+5XzXoCN9Z6nXLviCei54+po3EGi3GZiMJKHGe5yV98bBRajm
	eXlRgL+zMLBWFV/vas6ItTYw6av5mCfMV6m02UgXJA/lzKBs7f6wsP95ccwi+A==
X-Google-Smtp-Source: AGHT+IGD8Cy7T+o75LFbO+cb/X2dlt44C7YZ/zk3zGLHhfLUh3fZ0Ct9FwLKWsP5rMtJJwXaIDYciw==
X-Received: by 2002:a05:600c:4ece:b0:416:3478:658c with SMTP id g14-20020a05600c4ece00b004163478658cmr4712228wmq.27.1712563042509;
        Mon, 08 Apr 2024 00:57:22 -0700 (PDT)
Message-ID: <1ed00b0a-2aa3-4ab4-b483-e6fd6ed2cd9e@suse.com>
Date: Mon, 8 Apr 2024 09:57:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 6/9] x86/hvm: address violations of MISRA C Rule
 16.2
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <165d61fab77c0b6613b78e0091195753fe9cd2cc.1712305581.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <165d61fab77c0b6613b78e0091195753fe9cd2cc.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 11:14, Nicola Vetrini wrote:
> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -119,12 +119,12 @@ int hvm_hypercall(struct cpu_user_regs *regs)
>              (mode == 8 ? regs->rdi : regs->ebx) == HVMOP_guest_request_vm_event )
>              break;
>  
> -        if ( unlikely(hvm_get_cpl(curr)) )
> -        {
> +        if ( !unlikely(hvm_get_cpl(curr)) )

likely() / unlikely() want to be the outermost part of a conditional
like this (things are different with && or ||), i.e.

        if ( likely(!hvm_get_cpl(curr)) )

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

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 08:01:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 08:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701802.1096307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjwm-0002wn-9P; Mon, 08 Apr 2024 08:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701802.1096307; Mon, 08 Apr 2024 08:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtjwm-0002wg-68; Mon, 08 Apr 2024 08:01:44 +0000
Received: by outflank-mailman (input) for mailman id 701802;
 Mon, 08 Apr 2024 08:01:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtjwl-0002wP-CT
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 08:01:43 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3be4c212-f57e-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 10:01:41 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3442f4e098bso781870f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 01:01: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
 k2-20020a5d5242000000b00343c0c24a65sm8298695wrc.89.2024.04.08.01.01.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 01:01: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: 3be4c212-f57e-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712563301; x=1713168101; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=We6JjYSom55Ji/b+JHOf1mU8FrR2Hyb2uPggGwRVkfQ=;
        b=EyVGXwNpcKQzX5QaUZv4G+d/8eKjXgx54XGf94OuT+89yZY+LUCxNzeVd0wB2iJAAU
         uMzm6GCCG8aOx9pZyfW+e4RvaRep3xcN8RCeZzI83K/YnRcVdyOjk11vY1rJ8TWY+cBy
         J4WdC8pfTYA1p837FE7AWBSvihqoV5sH59sgZCOw1wSL1SY/7/gZ9hx/5+4tIze+T8bt
         znZufawg8U/La3iSTZGJkGT6ROqm6A5FYEtuwY8jSL++QSCWM5mUophtxFv+ijUeHU7Y
         qx1fWKC7gydvRsU/1fWsgsDud2gXAgSy/0YZzJoU2d0oUcce2KQ/jRcGBvTy6GqI7ayf
         /cjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712563301; x=1713168101;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=We6JjYSom55Ji/b+JHOf1mU8FrR2Hyb2uPggGwRVkfQ=;
        b=NFhzrHWFl2xuGTNjs0R1QSMFi0Nd297vhvzKTkT9bBbcn9Fhhk4O6+6Hpof03wWFpi
         xS5mItI7s7KQynHboCPLRKzUhvHnCFvltGSSVc4mkz/opb90nAoUJQ6qN7jDLqNz+Nly
         YBKEshF+FoO52V2/QFUVjvRENf/6znT6B+/Ugjos/lbNGs1kHheABZJGUdBrYd+lHsTt
         tXFwTykt3Cs5g1DqpjUYyT3b2uYZi1FD6+25Fs0eCOrJvSh5gTFSankhwKK7EBuXK7Z+
         e/hpuOGNXQ/y5DG5LTuvwqmb8rzMzMoh2QogG2A7KXVtlVImWV8bffnfhuPxa+BMxjiX
         IpXQ==
X-Forwarded-Encrypted: i=1; AJvYcCXitdkbvGalqzhAK0SEc2vEzVTHOvYddMV/EkfubyN8DXkMn/ZFn6t0osoosMa1TtfzlzGbj00ElM1QPw9uSSKUDCnvrA/Z/uW+ja25E/w=
X-Gm-Message-State: AOJu0Yx1+jfefLYxTU9Fpz3c6CusJYrqpJfo3sZ4DfBmCPWAo9g3EmxQ
	yPZeSsHsq+C0Y5ZHsTlcX4cyulzeaJpwVQicdg3bvAFssb5irYMgK662AvwgAg==
X-Google-Smtp-Source: AGHT+IHyK8A2goI8jw4xRk2wTDXpsajsdHMlInRnzqtifD4TWJx+MphsDw1d8KI6PGN7A0vHxucFHw==
X-Received: by 2002:adf:e24c:0:b0:343:bfef:9c39 with SMTP id bl12-20020adfe24c000000b00343bfef9c39mr7326492wrb.6.1712563301145;
        Mon, 08 Apr 2024 01:01:41 -0700 (PDT)
Message-ID: <e04914c5-8859-4e42-aa1a-003e2ff6d974@suse.com>
Date: Mon, 8 Apr 2024 10:01:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 8/9] xen/domain: deviate MISRA C Rule 16.2
 violation
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <2328b1a43f8bc4c9a9303c46f8eba2847c67a713.1712305581.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2328b1a43f8bc4c9a9303c46f8eba2847c67a713.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 11:14, Nicola Vetrini wrote:
> MISRA C Rule 16.2 states:
> "A switch label shall only be used when the most closely-enclosing
> compound statement is the body of a switch statement".
> 
> The PROGRESS_VCPU local helper specifies a case that is directly
> inside the compound statement of a for loop, hence violating the rule.
> To avoid this, the construct is deviated with a text-based deviation.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

> I chose a text-based deviation, rather than exempting PROGRESS_VCPU,
> because it's more refined and it's unlikely that more violations
> are introduced, since the rule has only very few violations left on
> both ARM and x86.

This same kind of construct is likely to appear in arch-specific domain
cleanup code, sooner or later. The same SAF comment can then be used there.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 08:06:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 08:06:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701809.1096317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtk0o-00049m-PF; Mon, 08 Apr 2024 08:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701809.1096317; Mon, 08 Apr 2024 08:05:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtk0o-00049f-M8; Mon, 08 Apr 2024 08:05:54 +0000
Received: by outflank-mailman (input) for mailman id 701809;
 Mon, 08 Apr 2024 08:05: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtk0o-00049Y-29
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 08:05:54 +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 d0f53771-f57e-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 10:05:51 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4166ccac761so4954375e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 01:05: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
 g6-20020a05600c4ec600b004148d7b889asm16237185wmq.8.2024.04.08.01.05.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 01:05: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: d0f53771-f57e-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712563551; x=1713168351; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lW2ln+QvW0iEele4c5G7ovJo6MTwK+Ol4TB9pvJK4Io=;
        b=crtvSuHwpIv4z5Nb1xPYJ8C8L8KLysonazYd6+kIzDJoASCn1eV01TogoY9/GmUZ5S
         d+1cIa6bssHMa4jZOcHgdRAx3Go2C81kItWsVIMziufuE1JbT3966g7B98k9fD6quxaZ
         U65AzFQlWhFzJ8rDoDDTasw9GqsVzb2ukS9V/dONvHmxOdB12ZRI0A7rK1Wb5dlyv70H
         zMKCSTesL2EAPKxUJbWuMWwtYeSpQM33qHPnGramOWcjcK7//iPNeojszsU3RyuYpNWO
         wAuD3Qa3s6N53AVzmyIap/8wn3ST4lPHqLSPIxpdF/g+QMfQmCjh5ZXk0FkoA/aq6wYE
         UBAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712563551; x=1713168351;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lW2ln+QvW0iEele4c5G7ovJo6MTwK+Ol4TB9pvJK4Io=;
        b=pCqwjysEhIIbPyoIG9eYGCxYEDPCJATeLEi05KvQl128/GAD039f5nW1Fs2iBB1yZO
         IXZF/FB7VhCIMFUT4LwRIkP162YZfrMAjoQoqgaiTeT4ChX8S4KtWSu+3/tAMFCti2Us
         9Q7YayqxUHPxHR4VyyttO1XJZVni87omd/Im+P44DxL4G5BQSJ5QVNvFcPdOhmx+1m2v
         lmprB1CDXvREuy7rYHgUeQlp3x9nfbUMkgHhMOdhDfzx/bTFyuYOot/xNqg7YnPEj7QU
         2IN6oURB12HFdmy4yB2QDxZsvc71061OUTSBmSOudb2oCh7AdWw6+JRrrF7UZidPVDMZ
         5miw==
X-Forwarded-Encrypted: i=1; AJvYcCUPOHsSlnfk5OdwR5trbBcAlIbT/aRSJZ9cfbnVjmb+HlK/cHDBKOhHp4DYcWZVyjQQn18EkABfPpJnvqDQgPjSJ84eZlvqPKkoM1DfE0c=
X-Gm-Message-State: AOJu0YwHGkAD+SgAFPspijM87AruQh57T+8MCuhAvZHR53SfEaTFW/f3
	ggKn0NadIuTHXImO5xDvuEuMBVUuPVnu6avE+2iE3swpYRjm2XUZ7bHVrkpI7g==
X-Google-Smtp-Source: AGHT+IEAQAhdfpZ1rIZsIS3tVAEffIDQ2pookerf+1ZiyRfsVGoCsGtVNV9ZghJpizsqmi9+zIpwMw==
X-Received: by 2002:a05:600c:1d29:b0:416:648f:8f4c with SMTP id l41-20020a05600c1d2900b00416648f8f4cmr2402025wms.25.1712563551028;
        Mon, 08 Apr 2024 01:05:51 -0700 (PDT)
Message-ID: <d330d827-d128-4278-9f90-41ee40c434a5@suse.com>
Date: Mon, 8 Apr 2024 10:05:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 09/19] xen/riscv: introduce io.h
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <347fe73b80601aec26e2dba5beefe7b3036943e3.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <347fe73b80601aec26e2dba5beefe7b3036943e3.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:20, Oleksii Kurochko wrote:
> The header taken form Linux 6.4.0-rc1 and is based on
> arch/riscv/include/asm/mmio.h with the following changes:
> - drop forcing of endianess for read*(), write*() functions as
>   no matter what CPU endianness, what endianness a particular device
>   (and hence its MMIO region(s)) is using is entirely independent.
>   Hence conversion, where necessary, needs to occur at a layer up.
>   Another one reason to drop endianess conversion here is:
>   https://patchwork.kernel.org/project/linux-riscv/patch/20190411115623.5749-3-hch@lst.de/
>   One of the answers of the author of the commit:
>     And we don't know if Linux will be around if that ever changes.
>     The point is:
>      a) the current RISC-V spec is LE only
>      b) the current linux port is LE only except for this little bit
>     There is no point in leaving just this bitrotting code around.  It
>     just confuses developers, (very very slightly) slows down compiles
>     and will bitrot.  It also won't be any significant help to a future
>     developer down the road doing a hypothetical BE RISC-V Linux port.
> - drop unused argument of __io_ar() macros.
> - drop "#define _raw_{read,write}{b,w,l,d,q} _raw_{read,write}{b,w,l,d,q}"
>   as they are unnecessary.
> - Adopt the Xen code style for this header, considering that significant changes
>   are not anticipated in the future.
>   In the event of any issues, adapting them to Xen style should be easily
>   manageable.
> - drop unnecessary  __r variables in macros read*_cpu()
> - update inline assembler constraints for addr argument for
>   __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that
>  *addr will be accessed.
> - add stubs for __raw_readq() and __raw_writeq() for RISCV_32
> 
> Addionally, to the header was added definions of ioremap_*().
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/io.h
> @@ -0,0 +1,168 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + *  The header taken form Linux 6.4.0-rc1 and is based on
> + *  arch/riscv/include/asm/mmio.h with the following changes:
> + *   - drop forcing of endianess for read*(), write*() functions as
> + *     no matter what CPU endianness, what endianness a particular device
> + *     (and hence its MMIO region(s)) is using is entirely independent.
> + *     Hence conversion, where necessary, needs to occur at a layer up.
> + *     Another one reason to drop endianess conversion is:
> + *     https://patchwork.kernel.org/project/linux-riscv/patch/20190411115623.5749-3-hch@lst.de/
> + *     One of the answers of the author of the commit:
> + *       And we don't know if Linux will be around if that ever changes.
> + *       The point is:
> + *        a) the current RISC-V spec is LE only
> + *        b) the current linux port is LE only except for this little bit
> + *       There is no point in leaving just this bitrotting code around.  It
> + *       just confuses developers, (very very slightly) slows down compiles
> + *      and will bitrot.  It also won't be any significant help to a future
> + *       developer down the road doing a hypothetical BE RISC-V Linux port.
> + *   - drop unused argument of __io_ar() macros.
> + *   - drop "#define _raw_{read,write}{b,w,l,q} _raw_{read,write}{b,w,l,q}"
> + *     as they are unnecessary.
> + *   - Adopt the Xen code style for this header, considering that significant
> + *     changes are not anticipated in the future.
> + *     In the event of any issues, adapting them to Xen style should be easily
> + *     manageable.
> + *   - drop unnecessary __r variables in macros read*_cpu()
> + *   - update inline assembler constraints for addr argument for
> + *     __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that
> + *     *addr will be accessed.
> + *
> + * Copyright (C) 1996-2000 Russell King
> + * Copyright (C) 2012 ARM Ltd.
> + * Copyright (C) 2014 Regents of the University of California
> + * Copyright (C) 2024 Vates
> + */
> +
> +#ifndef _ASM_RISCV_IO_H
> +#define _ASM_RISCV_IO_H
> +
> +#include <asm/byteorder.h>
> +
> +/*
> + * The RISC-V ISA doesn't yet specify how to query or modify PMAs, so we can't
> + * change the properties of memory regions.  This should be fixed by the
> + * upcoming platform spec.
> + */
> +#define ioremap_nocache(addr, size) ioremap(addr, size)
> +#define ioremap_wc(addr, size) ioremap(addr, size)
> +#define ioremap_wt(addr, size) ioremap(addr, size)
> +
> +/* Generic IO read/write.  These perform native-endian accesses. */
> +static inline void __raw_writeb(uint8_t val, volatile void __iomem *addr)
> +{
> +    asm volatile ( "sb %1, %0"
> +                   : "=m" (*(volatile uint8_t __force *)addr) : "r" (val) );
> +}
> +
> +static inline void __raw_writew(uint16_t val, volatile void __iomem *addr)
> +{
> +    asm volatile ( "sh %1, %0"
> +                   : "=m" (*(volatile uint16_t __force *)addr) : "r" (val) );
> +}
> +
> +static inline void __raw_writel(uint32_t val, volatile void __iomem *addr)
> +{
> +    asm volatile ( "sw %1, %0"
> +                   : "=m" (*(volatile uint32_t __force *)addr) : "r" (val) );
> +}
> +
> +static inline void __raw_writeq(uint64_t val, volatile void __iomem *addr)
> +{
> +#ifdef CONFIG_RISCV_32
> +    BUILD_BUG_ON("unimplemented");
> +#else
> +    asm volatile ( "sd %1, %0"
> +                   : "=m" (*(volatile uint64_t __force *)addr) : "r" (val) );
> +#endif
> +}

... this and its read counterpart likely being in need of re-doing by anyone
wanting to enable RV32 support.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 08:19:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 08:19:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701827.1096337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkDH-0001O9-5Q; Mon, 08 Apr 2024 08:18:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701827.1096337; Mon, 08 Apr 2024 08:18:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkDG-0001O1-Ve; Mon, 08 Apr 2024 08:18:46 +0000
Received: by outflank-mailman (input) for mailman id 701827;
 Mon, 08 Apr 2024 08:18: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 1rtkDG-0001Nl-6m; Mon, 08 Apr 2024 08:18: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 1rtkDG-0000L7-3g; Mon, 08 Apr 2024 08:18: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 1rtkDF-0003oB-PA; Mon, 08 Apr 2024 08:18:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtkDF-0005eJ-OK; Mon, 08 Apr 2024 08:18:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IYQIQQBewc2ToJ/Qy4ybDjvPT4ojfEhJeITMFa3ddfY=; b=oCR6dtAuNFYsBjlJcw6g8Md8nd
	qcSQFcxxVaty5b8yN4JRuN5og2v+iHSA4AFpZMMkS0KUoPjxfWb8MzT6ZT7MCZTR29RMf5JIU+Gvr
	Seb7ZEt6Mah9xlH70eKMogyK/Re7llZOCpO2Ewdl3G6L+at5TZ8N/Xv6rp8Nvqjx+8sk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185272-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185272: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b7f8779fe1f60113fdaab3b2f3f17c9f900b0456
X-Osstest-Versions-That:
    ovmf=c98c14576f1a93519402a8e2f4736b479ad6007c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Apr 2024 08:18:45 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456
baseline version:
 ovmf                 c98c14576f1a93519402a8e2f4736b479ad6007c

Last test of basis   185264  2024-04-07 04:44:23 Z    1 days
Testing same since   185272  2024-04-08 06:12:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Tuan Phan <tphan@ventanamicro.com>

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


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

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

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

Test harness 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
   c98c14576f..b7f8779fe1  b7f8779fe1f60113fdaab3b2f3f17c9f900b0456 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 08:23:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 08:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701833.1096348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkHR-0002ud-KM; Mon, 08 Apr 2024 08:23:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701833.1096348; Mon, 08 Apr 2024 08: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 1rtkHR-0002uW-Fr; Mon, 08 Apr 2024 08:23:05 +0000
Received: by outflank-mailman (input) for mailman id 701833;
 Mon, 08 Apr 2024 08: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtkHP-0002uO-9P
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 08:23:03 +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 3635e7fa-f581-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 10:23:00 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4164c9debf6so7080345e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 01:23: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
 bi6-20020a05600c3d8600b004167ef77060sm1517865wmb.17.2024.04.08.01.22.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 01:22: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: 3635e7fa-f581-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712564580; x=1713169380; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KAdkuJMvFV49gPfSslaOKGO5CQkAepCjA528G9RZArs=;
        b=PHAH+RywhUC5OS+REGxggepSn80ZN91nXucqgXnJ0dza6jypheTet45NJje1QwIEW2
         fBjMM+G0RqGqGHte/zG9b518l8ksB5e0stlcNqrFgNJVxU2M7Z8JHIsbwUo5Upha5e5A
         rPbq44Hd748HIpEAPQvCHgsdoBKuo3BPQSGKwC4QdbxeK7owXP+8zW3TOlBGtuh2Hy6p
         EbTQTxwbw3wNPtflRXNscguQtzLNg4TwN+YpcfB+56bupNZz1+/KgauCzHdGHXj9QP/a
         PX3E4Osaw12hqykj4Jh10Dla13/6TqYO1yU3uOBID4fd+R/rhxCUc0rL/5tFkYdWzlfy
         INEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712564580; x=1713169380;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KAdkuJMvFV49gPfSslaOKGO5CQkAepCjA528G9RZArs=;
        b=jqBN+YcYqBRoOp3Xg7TiQXFPC27W83Ks6Mo2FMGtky4fkTNX4M9cx3iel5f4cDiStz
         eqOmYcVpNHfY/TtKq1hK9ih6qA/ftma1rL5AqNMq4hXye4b1wvM3bR0P5NOGplNhdKbg
         qoZ+mDV2Opby2PexLJkBMTz1mT5UAhY75a1VF1jb+rC7VXtjDLvb4gQ3SM8BOwpAYYV4
         HLoj3EJ9EekyLH+pLzGjmGdBI2UOdWinHVADj2n2UtPT7YgLZ8tkuX15Kdw/1aeP9dLf
         KBww9Rcb++3aYeb68/lj6wyS80g4juJpyAQnFEuGAo+YkU6l+2vQphBl9KVIyKssT1fz
         Rm1Q==
X-Forwarded-Encrypted: i=1; AJvYcCXQU2o5AU93YS7Vu2A6sjlGXhYXJTv0chFbePgdaL1q0nB1FxGptE9eNUTwJFpoSozXW/cQbYKbHNB+MRERUkiKy9ddyvZ+ZthXdl1rQZk=
X-Gm-Message-State: AOJu0YyUAu8ZPlQazYnazULzPQlGGpziJRPIW4NuRrkSP8lekGrdw3g1
	BGmq7/hP2AVLukvy9MwTL9bcPDQeVLSWPuWUGDuztzuZHBGN5a1VknU2oU6ypw==
X-Google-Smtp-Source: AGHT+IFmYS67GfiujKY0Jt5GbikhneqIMCdqyVEB+vrHmDOFc/Zezi9sK8b60C+y3TTwu/l5SanETw==
X-Received: by 2002:a05:600c:3b1d:b0:415:6121:5171 with SMTP id m29-20020a05600c3b1d00b0041561215171mr5743439wms.32.1712564580011;
        Mon, 08 Apr 2024 01:23:00 -0700 (PDT)
Message-ID: <3c939faa-98a5-4424-b405-b5c7c6c1c0b2@suse.com>
Date: Mon, 8 Apr 2024 10:23:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 10/19] xen/riscv: introduce atomic.h
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <6a6c4ef8663d9da8c8a2aba4baf0286f31566edf.1712137031.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6a6c4ef8663d9da8c8a2aba4baf0286f31566edf.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.04.2024 12:20, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/atomic.h
> @@ -0,0 +1,261 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Taken and modified from Linux.
> + *
> + * The following changes were done:
> + * - * atomic##prefix##_*xchg_*(atomic##prefix##_t *v, c_t n) were updated
> + *     to use__*xchg_generic()
> + * - drop casts in write_atomic() as they are unnecessary
> + * - drop introduction of WRITE_ONCE() and READ_ONCE().
> + *   Xen provides ACCESS_ONCE()
> + * - remove zero-length array access in read_atomic()
> + * - drop defines similar to pattern
> + *   #define atomic_add_return_relaxed   atomic_add_return_relaxed
> + * - move not RISC-V specific functions to asm-generic/atomics-ops.h
> + * 
> + * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
> + * Copyright (C) 2012 Regents of the University of California
> + * Copyright (C) 2017 SiFive
> + * Copyright (C) 2024 Vates SAS
> + */
> +
> +#ifndef _ASM_RISCV_ATOMIC_H
> +#define _ASM_RISCV_ATOMIC_H
> +
> +#include <xen/atomic.h>
> +
> +#include <asm/cmpxchg.h>
> +#include <asm/fence.h>
> +#include <asm/io.h>
> +#include <asm/system.h>
> +
> +void __bad_atomic_size(void);
> +
> +/*
> + * 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;
> +#ifndef CONFIG_RISCV_32
> +    case 8: *(uint32_t *)res = readq(p); break;
> +#endif
> +    default: __bad_atomic_size(); break;
> +    }
> +}
> +
> +#define read_atomic(p) ({                                   \
> +    union { typeof(*(p)) val; char c[sizeof(*(p))]; } x_;   \
> +    read_atomic_size(p, x_.c, sizeof(*(p)));                \
> +    x_.val;                                                 \
> +})
> +
> +static always_inline void _write_atomic(volatile void *p,
> +                                       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;
> +#ifndef CONFIG_RISCV_32
> +    case 8: writeq(x, p); break;
> +#endif
> +    default: __bad_atomic_size(); break;
> +    }
> +}
> +
> +#define write_atomic(p, x)                              \
> +({                                                      \
> +    typeof(*(p)) x_ = (x);                              \
> +    _write_atomic((p), x_, sizeof(*(p)));               \
> +    x_;                                                 \
> +})
> +
> +static always_inline void _add_sized(volatile void *p,
> +                                     unsigned long x, unsigned int size)
> +{
> +    switch ( size )
> +    {
> +    case 1: writeb(read_atomic((volatile uint8_t *)p) + x, p); break;
> +    case 2: writew(read_atomic((volatile uint16_t *)p) + x, p); break;
> +    case 4: writel(read_atomic((volatile uint32_t *)p) + x, p); break;
> +#ifndef CONFIG_RISCV_32
> +    case 8: writeq(read_atomic((volatile uint64_t *)p) + x, p); break;
> +#endif

Any particular reason for using read_atomic() but write{b,w,l,q}() here?

> +    default: __bad_atomic_size(); break;
> +    }
> +}
> +
> +#define add_sized(p, x)                                 \
> +({                                                      \
> +    typeof(*(p)) x_ = (x);                              \
> +    _add_sized((p), x_, sizeof(*(p)));                  \
> +})
> +
> +#define __atomic_acquire_fence() \
> +    asm volatile ( RISCV_ACQUIRE_BARRIER "" ::: "memory" )
> +
> +#define __atomic_release_fence() \
> +    asm volatile ( RISCV_RELEASE_BARRIER "" ::: "memory" )

There isn't any need for the "" in these two, is there?

> +/*
> + * First, the atomic ops that have no ordering constraints and therefor don't
> + * have the AQ or RL bits set.  These don't return anything, so there's only
> + * one version to worry about.
> + */
> +#define ATOMIC_OP(op, asm_op, unary_op, asm_type, c_type, prefix)  \
> +static inline                                               \
> +void atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
> +{                                                           \
> +    asm volatile (                                          \
> +        "   amo" #asm_op "." #asm_type " zero, %1, %0"      \
> +        : "+A" (v->counter)                                 \
> +        : "r" (unary_op i)                                  \
> +        : "memory" );                                       \
> +}                                                           \
> +
> +/*
> + * Only CONFIG_GENERIC_ATOMIC64=y was ported to Xen that is the reason why
> + * last argument for ATOMIC_OP isn't used.
> + */
> +#define ATOMIC_OPS(op, asm_op, unary_op)                    \
> +        ATOMIC_OP (op, asm_op, unary_op, w, int,   )
> +
> +ATOMIC_OPS(add, add, +)
> +ATOMIC_OPS(sub, add, -)
> +ATOMIC_OPS(and, and, +)
> +ATOMIC_OPS( or,  or, +)
> +ATOMIC_OPS(xor, xor, +)
> +
> +#undef ATOMIC_OP
> +#undef ATOMIC_OPS
> +
> +#include <asm-generic/atomic-ops.h>
> +
> +/*
> + * Atomic ops that have ordered variant.
> + * There's two flavors of these: the arithmatic ops have both fetch and return
> + * versions, while the logical ops only have fetch versions.
> + */
> +#define ATOMIC_FETCH_OP(op, asm_op, unary_op, asm_type, c_type, prefix) \
> +static inline                                                       \
> +c_type atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v) \
> +{                                                                   \
> +    register c_type ret;                                            \
> +    asm volatile (                                                  \
> +        "   amo" #asm_op "." #asm_type ".aqrl  %1, %2, %0"          \
> +        : "+A" (v->counter), "=r" (ret)                             \
> +        : "r" (unary_op i)                                          \
> +        : "memory" );                                               \
> +    return ret;                                                     \
> +}
> +
> +#define ATOMIC_OP_RETURN(op, asm_op, c_op, unary_op, asm_type, c_type, prefix) \
> +static inline                                                           \
> +c_type atomic##prefix##_##op##_return(c_type i, atomic##prefix##_t *v)  \
> +{                                                                       \
> +        return atomic##prefix##_fetch_##op(i, v) c_op (unary_op i);     \

Nit: Too deep indentation.

> +}
> +
> +/*
> + * Only CONFIG_GENERIC_ATOMIC64=y was ported to Xen that is the reason why
> + * last argument of ATOMIC_FETCH_OP, ATOMIC_OP_RETURN isn't used.
> + */
> +#define ATOMIC_OPS(op, asm_op, c_op, unary_op)                          \
> +        ATOMIC_FETCH_OP( op, asm_op,       unary_op, w, int,   )        \
> +        ATOMIC_OP_RETURN(op, asm_op, c_op, unary_op, w, int,   )
> +
> +ATOMIC_OPS(add, add, +, +)
> +ATOMIC_OPS(sub, add, +, -)
> +
> +#undef ATOMIC_OPS
> +
> +#define ATOMIC_OPS(op, asm_op, unary_op) \
> +        ATOMIC_FETCH_OP(op, asm_op, unary_op, w, int,   )
> +
> +ATOMIC_OPS(and, and, +)
> +ATOMIC_OPS( or,  or, +)
> +ATOMIC_OPS(xor, xor, +)

The + isn't really needed here as a macro argument; ATOMIC_OPS() itself could
pass it to ATOMIC_FETCH_OP(). I also wonder why ATOMIC_OPS() has both "op" and
"asm_op", when both are uniformly the same.

> +#undef ATOMIC_OPS
> +
> +#undef ATOMIC_FETCH_OP
> +#undef ATOMIC_OP_RETURN
> +
> +/* This is required to provide a full barrier on success. */
> +static inline int atomic_add_unless(atomic_t *v, int a, int u)
> +{
> +    int prev, rc;
> +
> +    asm volatile (
> +        "0: lr.w     %[p],  %[c]\n"
> +        "   beq      %[p],  %[u], 1f\n"
> +        "   add      %[rc], %[p], %[a]\n"
> +        "   sc.w.aqrl  %[rc], %[rc], %[c]\n"
> +        "   bnez     %[rc], 0b\n"
> +        "1:\n"
> +        : [p] "=&r" (prev), [rc] "=&r" (rc), [c] "+A" (v->counter)
> +        : [a] "r" (a), [u] "r" (u)
> +        : "memory");
> +    return prev;
> +}
> +
> +static inline int atomic_sub_if_positive(atomic_t *v, int offset)
> +{
> +    int prev, rc;
> +
> +    asm volatile (
> +        "0: lr.w     %[p],  %[c]\n"
> +        "   sub      %[rc], %[p], %[o]\n"
> +        "   bltz     %[rc], 1f\n"
> +        "   sc.w.aqrl  %[rc], %[rc], %[c]\n"
> +        "   bnez     %[rc], 0b\n"
> +        "1:\n"
> +        : [p] "=&r" (prev), [rc] "=&r" (rc), [c] "+A" (v->counter)
> +        : [o] "r" (offset)
> +        : "memory" );
> +    return prev - offset;
> +}
> +
> +/*
> + * atomic_{cmp,}xchg is required to have exactly the same ordering semantics as
> + * {cmp,}xchg and the operations that return.
> + */
> +#define ATOMIC_OP(c_t, prefix, size)                            \
> +static inline                                                   \
> +c_t atomic##prefix##_xchg(atomic##prefix##_t *v, c_t n)         \
> +{                                                               \
> +    return __xchg(&v->counter, n, size);                        \
> +}                                                               \
> +static inline                                                   \
> +c_t atomic##prefix##_cmpxchg(atomic##prefix##_t *v, c_t o, c_t n) \
> +{                                                               \
> +    return __cmpxchg(&v->counter, o, n, size);                  \
> +}
> +
> +#define ATOMIC_OPS() \
> +    ATOMIC_OP(int,   , 4)

Can't the two inline functions use sizeof(*v), sizeof(v->counter), sizeof(c_t),
or sizeof(n) instead of passing a literal 4 here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 08:26:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 08:26:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701839.1096357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkL4-0004IL-69; Mon, 08 Apr 2024 08:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701839.1096357; Mon, 08 Apr 2024 08: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 1rtkL4-0004IE-2u; Mon, 08 Apr 2024 08:26:50 +0000
Received: by outflank-mailman (input) for mailman id 701839;
 Mon, 08 Apr 2024 08:26:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtkL2-0004HU-R2
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 08:26:48 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdeb77e8-f581-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 10:26:48 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4167fce0a41so1744385e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 01:26: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
 be9-20020a05600c1e8900b004163ee3922csm7532760wmb.38.2024.04.08.01.26.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 01: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: bdeb77e8-f581-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712564808; x=1713169608; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=08lPNccoAYKM3CMRxZXuGnRUc1Ja0Bn78mY788v3SoQ=;
        b=GWY7BnaBBHrFQh7/LyBWBIGv+b2iidhlfTu9AHlKZ9oPrpGOnCdbxgoeQEVONZ+QHm
         ZQEiLhnhYQrWFY6esHX/gY4kVb7Gzo1L9JpUZTkExL0mgVbVT60JHCsgbCvhRBe1C39P
         gDQjRpEVkdHDdQc6G/PA894UTm24bb06fcNNyWhiFPKBsrT6YcpJgPxSUXMdlpGwYvuc
         SKfTbUYS5PHBFdEZhi8etHC2OmMv4s6tZolj3WNquyPhn+ruIlhT1KzjvcuH+sBJTbKV
         6g30ZtPjtF6yCPHO/ncjZxXiyP2MFLbiQu/7RUdTsb9U21NTVnTqQvYNqapN73Zhk+Y+
         ZGqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712564808; x=1713169608;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=08lPNccoAYKM3CMRxZXuGnRUc1Ja0Bn78mY788v3SoQ=;
        b=QBtwdn/OMISn+Sz/OdEFHeJE50Rx/tfjL748ewGzIZECAG9q6RjRRq3sz1H+cLOE0C
         RFobfM8YSTDgB+jDa9roSxQOdt+BzQYkchGKrayKNOFFO60zXuvXaHlcGm+DBV7t44yK
         hDmQusK29MkJgiYm2tlMzWumy3LlKC0ZCfrlqmkwdMQM/FPFmiVSjCYUdUzPxgvPpTkB
         BiqVrMcIYz4guLpRpUN0DUKOhvnE+W3h8sdqHeADM0I4TXqG7uSHli85UViNqr5O7aIK
         M4kxnKpbkag7OEAMv6ujiZmurdbw2Ab1OeIKIGi9as8JpkFN+Z9LpuGB2TKVBRPcaBz8
         kWAg==
X-Forwarded-Encrypted: i=1; AJvYcCWqU7DF3I+TAyiEzcNmqKFycdZKjc8dzCRgT2wjd+AUERPMITyaHQGUs58Ho+Gi8OG4TRY/0Nn4YnpWFxh9PIxXnPY19ikJIvCGBZI0EKQ=
X-Gm-Message-State: AOJu0YzXLO7ozC7bl1Onzve96D5SD2yocoklFmCUkFctCQ8+pP9u1UbZ
	daVSSf+B8pDVqiWZST+buucSLUUlKzfG+hl/M/eEXFqCjJ8lnoMBqx3P9jWWXg==
X-Google-Smtp-Source: AGHT+IHonkkYUp9TfskBIf+66AWju8rJyFY/XKuzVooccQyEZkfhZiWNnN7Wj/w5HPGYxYqMu4/6KA==
X-Received: by 2002:a05:600c:45c9:b0:416:2674:1938 with SMTP id s9-20020a05600c45c900b0041626741938mr7749613wmo.15.1712564807698;
        Mon, 08 Apr 2024 01:26:47 -0700 (PDT)
Message-ID: <2d73f0d0-abed-4fa8-ab26-e0e4c712a108@suse.com>
Date: Mon, 8 Apr 2024 10:26:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
 <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
 <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
 <951cc6ba-c971-4b5b-9cfc-bc79245a9549@suse.com>
 <9518c19a-eb97-4d68-97bc-fcae56aa8093@amd.com>
 <0a28ce70-6c71-43da-8aa1-3b9909e2d152@suse.com>
 <e5b8e385-6d72-4102-bd0a-47f868535b90@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e5b8e385-6d72-4102-bd0a-47f868535b90@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08.04.2024 10:12, Henry Wang wrote:
> Hi Jan,
> 
> On 4/8/2024 3:03 PM, Jan Beulich wrote:
>> On 08.04.2024 08:59, Henry Wang wrote:
>>> Hi Jan,
>>>
>>> On 4/8/2024 2:22 PM, Jan Beulich wrote:
>>>> On 08.04.2024 05:19, Henry Wang wrote:
>>>>> On 4/4/2024 5:38 PM, Jan Beulich wrote:
>>>>>> On 03.04.2024 10:16, Henry Wang wrote:
>>>>>>> --- a/xen/include/public/memory.h
>>>>>>> +++ b/xen/include/public/memory.h
>>>>>>> @@ -41,6 +41,11 @@
>>>>>>>     #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>>>>>>>     /* Flag to indicate the node specified is virtual node */
>>>>>>>     #define XENMEMF_vnode  (1<<18)
>>>>>>> +/*
>>>>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>>>>> + * or static allocation.
>>>>>>> + */
>>>>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>>>> As before, a separate new sub-op would look to me as being the cleaner
>>>>>> approach, avoiding the need to consume a bit position for something not
>>>>>> even going to be used on all architectures.
>>>>> Like discussed in v2, I doubt that if introducing a new sub-op, the
>>>>> helpers added to duplicate mainly populate_physmap() and the toolstack
>>>>> helpers would be a good idea.
>>>> I'm curious what amount of duplication you still see left. By suitably
>>>> adding a new parameter, there should be very little left.
>>> The duplication I see so far is basically the exact
>>> xc_domain_populate_physmap(), say
>>> xc_domain_populate_physmap_heap_alloc(). In init-dom0less.c, We can
>>> replace the original call xc_domain_populate_physmap_exact() to call the
>>> newly added xc_domain_populate_physmap_heap_alloc() which evokes the new
>>> sub-op, then from the hypervisor side we set the alias MEMF flag and
>>> share the populate_physmap().
>>>
>>> Adding a new parameter to xc_domain_populate_physmap() or maybe even
>>> xc_domain_populate_physmap_exact() is also a good idea (thanks). I was
>>> just worrying there are already too many use cases of these two
>>> functions in the existing code: there are 14 for
>>> xc_domain_populate_physmap_exact() and 8 for
>>> xc_domain_populate_physmap(). Adding a new parameter needs the update of
>>> all these and the function declaration. If you really insist this way, I
>>> can do this, sure.
>> You don't need to change all the callers. You can morph
>> xc_domain_populate_physmap() into an internal helper, which a new trivial
>> wrapper named xc_domain_populate_physmap() would then call, alongside with
>> the new trivial wrapper you want to introduce.
> 
> Thanks for the good suggestion. Would below key diff make sense to you 

Yes.

> (naming can be further discussed)?

Personally I wouldn't use xc_ on internal helpers. But for guidance on
naming in the libraries the maintainer(s) would need consulting.

> Also by checking the code, if we go 
> this way, maybe we can even simplify the 
> xc_domain_decrease_reservation() and xc_domain_increase_reservation()? 
> (Although there are some hardcoded hypercall name in the error message 
> and some small differences between the memflags)

There may be room for improvement there, but as you say, some care would
need applying.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 08:34:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 08:34:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701843.1096367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkSM-00060s-RA; Mon, 08 Apr 2024 08:34:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701843.1096367; Mon, 08 Apr 2024 08: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 1rtkSM-00060l-NV; Mon, 08 Apr 2024 08:34:22 +0000
Received: by outflank-mailman (input) for mailman id 701843;
 Mon, 08 Apr 2024 08: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=pPud=LN=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rtkSL-00060f-QZ
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 08:34:21 +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 caa696d7-f582-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 10:34:20 +0200 (CEST)
Received: from BL1PR13CA0277.namprd13.prod.outlook.com (2603:10b6:208:2bc::12)
 by PH0PR12MB7886.namprd12.prod.outlook.com (2603:10b6:510:26e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 08:34:16 +0000
Received: from BL02EPF0001A0FE.namprd03.prod.outlook.com
 (2603:10b6:208:2bc:cafe::84) by BL1PR13CA0277.outlook.office365.com
 (2603:10b6:208:2bc::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.15 via Frontend
 Transport; Mon, 8 Apr 2024 08:34:16 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0001A0FE.mail.protection.outlook.com (10.167.242.105) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 08:34:16 +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.35; Mon, 8 Apr
 2024 03:34:15 -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.35; Mon, 8 Apr
 2024 03:34:15 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 03:34: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: caa696d7-f582-11ee-afe6-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nf1n82ArfjcJ0gzLPHLOKvB268cnWbNWcAulzj1MzgWaenIqRDcVdRLGx6PAS0dSsHqYn7DpLT7jqHByyR7puAZ7wC398anqxEQNn3uGSChXT9fELuZG7N0R4rWBnHv57JNTktFLIwaKUDfUZUUnlhyKifrP71Azul+LNTdioPnqAXOvZ/I8lhqbEgHaZkeQcRkkE+IglZY86hAD9YNri913mxSphwIh3BN2x+ivRVK0X9pvOtzqQI8YhmgAadEmMNHd0arz5V2eHCW+gAEUyB2AiUfdCB/7jGORaS8GJ7/EYgp/5XReYY+X63x6rGYRQovgPJDB1Q93fIPWhmfYgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vzCM4xhzFL0BtN8uxUraF6cJqP9Dzk7+G1GzxA8uujo=;
 b=V67UYrbyZzUhUA/wWdoEcBm86xt7/i1N6AnblF5XKKXVC9ImGiNCjhp9cojdvvYv96tTaAlvU5y5mJfhf7VhPuLsBsEi6OwiZXUoarWn2hQFA4kcG40VQIElS1NUfOV6OTqXQcWOWcGpTkrzw85+0cJ02Zi2rOjG2tMpSIHA0eG8YlzcRHtN7LUIx1qauk7N5YXiSXrxSPFDySbDndxnTWCCbOSgSd655Z/7x/1fryRo7Gu+2T7n0pO06MwVFuPbNPgpHcWiWzJMKrg11ivRgIj7etq8e/MUQUuE93QLiJPSM/wh2ugFT4WT/SEWoRxdRdNmwDieAEXawcSun09hyA==
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=vzCM4xhzFL0BtN8uxUraF6cJqP9Dzk7+G1GzxA8uujo=;
 b=fAqgEEnPLPy684DBRkuJmsIGv6B55IAJA55vTO9eLfgU+b330cozbju65dNHn/W0Ow0CueBs5mqOyRRcbYNSwyLU5caETAfNmss6Gc7kQdT+0ywhQLxeJRpIV9IOrK/H87DPpVVszqoWka+RcfFJJOKZTPlkOh5r4qPNvZybEG0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <0b96a279-4c5d-435f-afeb-c5b536dbed02@amd.com>
Date: Mon, 8 Apr 2024 16:34:12 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"Alec Kwapis" <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
 <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
 <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
 <951cc6ba-c971-4b5b-9cfc-bc79245a9549@suse.com>
 <9518c19a-eb97-4d68-97bc-fcae56aa8093@amd.com>
 <0a28ce70-6c71-43da-8aa1-3b9909e2d152@suse.com>
 <e5b8e385-6d72-4102-bd0a-47f868535b90@amd.com>
 <2d73f0d0-abed-4fa8-ab26-e0e4c712a108@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <2d73f0d0-abed-4fa8-ab26-e0e4c712a108@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FE:EE_|PH0PR12MB7886:EE_
X-MS-Office365-Filtering-Correlation-Id: e0d593c6-cd34-46c0-3fee-08dc57a6ad39
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Sazx7TCMU7DRJZpRVgTwVnGppBhuIcFJc4o21aNkxBn4/WWrJ7KGsih9yq0Z0PCnIcArbCQEz/znlztH+TIs5637nir3H3yGIx0cZ2s9dPyxs29OYpBgWyjRQY0AgUaF80u4OdhiceEGs0/Aq8qVWysaUV74BsC1Y9D2F/SK68E2O1f9AgVtftUkjLTAlIi865TdtDx40shBXGjQ0LkF2QBimqXJyklGwD1CwAb0nEyu2bsNcyqCnklIlnnuPY7y0/2eHFBr2VhwK9bcKtlcUWMd0LI9EeIKwMTh47d/czlzENZe8lydysF0c5GDzZyIeo8+uSUEzZswJXrvIdlTMcmNs3LBH1KXrDxawVz7FWqeuGlcBK8jsrZT6zbiWJOcp5e0B75li2Tbc9U4mBQEKZ2jHLpaAkMGvG34ffc5QnaA2/tjXYZijYro/TXnrv00YTB01/sKqydWHplYtBUt/kVnZgf0kys68axDQB5UgZFhF4SNLeiOSU0TuMhz4OIBqSPeYGcbHdfZGp1KEO3sf+dECmNW8goR05FHK3Bj6BG5cfmhPYNkjp2181YVyMdv3reN3P4UTuxdGl8qXAnYxmpJnpfdwRSygptnaeBcMUGIsQnfd4zWQPTdFjGWA6Ddlfgb2YMF3TpRND/t83fA3GLv2imYsOKCr1EtzpH5064rerXYQCChRXQnpGC3Y8lVkjMkTw8jXJcthnP2naU4apNvaCi99lA+xkiqlSRAqgrCXSc0sGa3CJZjvvrVucr3
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 08:34:16.1853
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e0d593c6-cd34-46c0-3fee-08dc57a6ad39
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A0FE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7886

Hi Jan,

On 4/8/2024 4:26 PM, Jan Beulich wrote:
> On 08.04.2024 10:12, Henry Wang wrote:
>> Hi Jan,
>>
>> On 4/8/2024 3:03 PM, Jan Beulich wrote:
>>> On 08.04.2024 08:59, Henry Wang wrote:
>>>> Hi Jan,
>>>>
>>>> On 4/8/2024 2:22 PM, Jan Beulich wrote:
>>>>> On 08.04.2024 05:19, Henry Wang wrote:
>>>>>> On 4/4/2024 5:38 PM, Jan Beulich wrote:
>>>>>>> On 03.04.2024 10:16, Henry Wang wrote:
>>>>>>>> --- a/xen/include/public/memory.h
>>>>>>>> +++ b/xen/include/public/memory.h
>>>>>>>> @@ -41,6 +41,11 @@
>>>>>>>>      #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>>>>>>>>      /* Flag to indicate the node specified is virtual node */
>>>>>>>>      #define XENMEMF_vnode  (1<<18)
>>>>>>>> +/*
>>>>>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>>>>>> + * or static allocation.
>>>>>>>> + */
>>>>>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>>>>> As before, a separate new sub-op would look to me as being the cleaner
>>>>>>> approach, avoiding the need to consume a bit position for something not
>>>>>>> even going to be used on all architectures.
>>>>>> Like discussed in v2, I doubt that if introducing a new sub-op, the
>>>>>> helpers added to duplicate mainly populate_physmap() and the toolstack
>>>>>> helpers would be a good idea.
>>>>> I'm curious what amount of duplication you still see left. By suitably
>>>>> adding a new parameter, there should be very little left.
>>>> The duplication I see so far is basically the exact
>>>> xc_domain_populate_physmap(), say
>>>> xc_domain_populate_physmap_heap_alloc(). In init-dom0less.c, We can
>>>> replace the original call xc_domain_populate_physmap_exact() to call the
>>>> newly added xc_domain_populate_physmap_heap_alloc() which evokes the new
>>>> sub-op, then from the hypervisor side we set the alias MEMF flag and
>>>> share the populate_physmap().
>>>>
>>>> Adding a new parameter to xc_domain_populate_physmap() or maybe even
>>>> xc_domain_populate_physmap_exact() is also a good idea (thanks). I was
>>>> just worrying there are already too many use cases of these two
>>>> functions in the existing code: there are 14 for
>>>> xc_domain_populate_physmap_exact() and 8 for
>>>> xc_domain_populate_physmap(). Adding a new parameter needs the update of
>>>> all these and the function declaration. If you really insist this way, I
>>>> can do this, sure.
>>> You don't need to change all the callers. You can morph
>>> xc_domain_populate_physmap() into an internal helper, which a new trivial
>>> wrapper named xc_domain_populate_physmap() would then call, alongside with
>>> the new trivial wrapper you want to introduce.
>> Thanks for the good suggestion. Would below key diff make sense to you
> Yes.

Thanks for confirming!

>> (naming can be further discussed)?
> Personally I wouldn't use xc_ on internal helpers. But for guidance on
> naming in the libraries the maintainer(s) would need consulting.

Sure, thanks for sharing your idea. Well I added xc_ prefix because 
seeing static int xc_domain_pod_target() & int xc_domain_{set, 
get}_pod_target() etc. pairs in the existing code of the file. I agree 
that the opinion of libxc/toolstack maintainers matter too, and hence we 
can continue this discussion in the formal v4.

>> Also by checking the code, if we go
>> this way, maybe we can even simplify the
>> xc_domain_decrease_reservation() and xc_domain_increase_reservation()?
>> (Although there are some hardcoded hypercall name in the error message
>> and some small differences between the memflags)
> There may be room for improvement there, but as you say, some care would
> need applying.

Yeah...not really sure if it is ok (TBH I think not) to do it all 
together in this patch, I will probably add another patch to clean-up 
all these duplications when sending v4 (depending on how far I can go).

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 08:58:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 08:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701848.1096376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkpy-0001t5-M2; Mon, 08 Apr 2024 08:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701848.1096376; Mon, 08 Apr 2024 08:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkpy-0001sy-JT; Mon, 08 Apr 2024 08:58:46 +0000
Received: by outflank-mailman (input) for mailman id 701848;
 Mon, 08 Apr 2024 08:58:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtkpw-0001sr-KI
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 08:58:44 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 334fe4bb-f586-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 10:58:43 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4164c9debf6so7286085e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 01:58: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
 f14-20020a05600c154e00b0041552dbc539sm12671643wmg.11.2024.04.08.01.58.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 01:58: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: 334fe4bb-f586-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712566722; x=1713171522; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=j00kVXRkZ7xAIZEwz5G6LS4ZZ/M6YNOSxVJ7k0IMnuo=;
        b=gfOvMZNOc2FfjHUfUkFPRBss/iJfDRFt/G4uQp+4ogp7qHh2viPzA2XxpsOYTVJ17f
         5WeTc0rKAQQyK9jrrfi2eexKBKx/xH2P/LKPsx3xIsrkkLSAY0DuknaIlAngRBXW0Vzm
         xrEhs6HTxwILk3nj+49nKUMcAK1yxAqaIdfc6DxJNkkP6QFMDa5M4UjFfkQnRVpFXX+R
         h3Y4sblu47v6siEC2MxbneqkO3seb3WUCxOo9q7gJpYoYMSKyA1GN/JsYOEOt1YWjLT0
         JQkFCWjnVhEgjEJcX+UvEwikRnf2vTlu/KZfNzBzpbPZY+nlsA3UCADWMNkBPghXHw84
         S/8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712566722; x=1713171522;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=j00kVXRkZ7xAIZEwz5G6LS4ZZ/M6YNOSxVJ7k0IMnuo=;
        b=BWeJ/uCXdY/tyjMv1ivPtBQr89AN/c0uKlIEPg7ptybjIj/KJfxvt1OTgE7QGoIrzf
         EiWZ58ijtYcXxZxzvCVxY830HZZVW0GXr5Jh3PVGATfSjN8vmKY7GOaz8XcZ4c1Oqhcm
         oB4KhMkn4MLLcE+QTZc+pTNfSPz8DFFfugPnNtnEhyF5ui+/cAamYOaVGiPBfB8p94Uh
         4IqrV+PSsERI/ZZrlix8xEy79usJj/I9cVbr1w2tKNI+uyFto9/eQL8E6mpZt/nzx1sI
         sBEubiL98VNdf3j8qqXVp60gufs3HLHn2c8hKsaT32T9bX6jd7H/sRAnxP0fqAjQECYp
         XODg==
X-Forwarded-Encrypted: i=1; AJvYcCVQXouy/UAgjJSpAoEKkFsL7FYOoCedABe3OBk/xGWzKxizjfmscoS9+H1k1c3HDXAyitx21kTyuXzVCGPVRhZRwfua7uHoSb89B7ke4T4=
X-Gm-Message-State: AOJu0YwqaGozujlrxeuPVx5moLpynhq+23cQbddQ2eJMK0C2bLvZwCtE
	zaWKtERRo9YNbhPgqktG7y9H+D7pSr9dNksGYeF6eTWlyK//YvB1q8D5+O0U8g==
X-Google-Smtp-Source: AGHT+IFy/XstF97mJ2XaMREP3+l28UVRulhxJBzxQbSFblVvw4sNG3DDNNu9rS5HRv2JOuAtGjVmew==
X-Received: by 2002:a05:600c:4e93:b0:415:691c:f83d with SMTP id f19-20020a05600c4e9300b00415691cf83dmr5966356wmq.33.1712566722656;
        Mon, 08 Apr 2024 01:58:42 -0700 (PDT)
Message-ID: <d64da76d-e363-4ca5-bd01-5d6c82d833ef@suse.com>
Date: Mon, 8 Apr 2024 10:58:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MCE: move intel mcheck init code to separate file
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240404113828.2535191-1-Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240404113828.2535191-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.04.2024 13:38, Sergiy Kibrik wrote:
> Separate Intel nonfatal MCE initialization code from generic MCE code, the same
> way it is done for AMD code. This is to be able to later make intel/amd MCE
> code optional in the build.
> 
> Also clean up unused includes.
> 
> No functional change intended.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/cpu/mcheck/Makefile         |  1 +
>  xen/arch/x86/cpu/mcheck/intel_nonfatal.c | 83 ++++++++++++++++++++++++

Like elsewhere, can we please uses dashes in favor of underscores in new files'
names?

> --- /dev/null
> +++ b/xen/arch/x86/cpu/mcheck/intel_nonfatal.c
> @@ -0,0 +1,83 @@
> +/*
> + * Non Fatal Machine Check Exception Reporting
> + *
> + * (C) Copyright 2002 Dave Jones. <davej@codemonkey.org.uk>
> + *
> + * This file contains routines to check for non-fatal MCEs every 15s
> + *

Nit: This almost blank line wants dropping. Furthermore the whole file, no
longer having a direct Linux equivalent, imo wants converting to Xen code
style right for its introduction.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:05:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701850.1096387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtkwM-0003yj-BH; Mon, 08 Apr 2024 09:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701850.1096387; Mon, 08 Apr 2024 09:05: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 1rtkwM-0003yc-8C; Mon, 08 Apr 2024 09:05:22 +0000
Received: by outflank-mailman (input) for mailman id 701850;
 Mon, 08 Apr 2024 09:05: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtkwL-0003yW-OG
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 09:05:21 +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 20695eba-f587-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 11:05:20 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-516d536f6f2so2771710e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 02:05: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
 v6-20020a05600c444600b0041565d750e1sm16099086wmn.2.2024.04.08.02.05.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 02: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: 20695eba-f587-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712567120; x=1713171920; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=NacJ8HfXj2eZMMxm2fax37uXprFoNiVcECLZPRctLBo=;
        b=OKROH9sqzACc/4Jgc9Gf7xs01V9Oq5IUuPrdI5MyZ2ViUXguVl7+jYLVFqcEMyiPN9
         VsoyMrF/mB5SxB1u9MU4DKrjb9WwKVI7bTnSt/fo08fosSWkfPNJuRYp4yYm+JYo21VK
         aKzMunpFrP6403hApU7GZNQ/eOuV8uSeP4ZxGoRjDnMS7DoP6pZCgJJ9F+ZQIXzhGXVl
         UcJDtWloRb5siPNSsOTs6XFzrblqVTbbsdPOeG9moMI+JQ8s07fJXjH6SRk/RfjqViHg
         ueZlhpgOFLH183FX45sGKJNhXGCK8iZTDTUKDH6oFqlqlIOE14ZYKG0gr8Wu2xeS4ZNn
         thew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712567120; x=1713171920;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NacJ8HfXj2eZMMxm2fax37uXprFoNiVcECLZPRctLBo=;
        b=siIfU+uze21xL9TX3uVoPBSFrO7qWt/aKT3bhVG5XzwMqk8LnCxwE8FeiWaPZdCZBS
         p3RMA7jSCbnv/JToIzCawBZSoBB4AkLGpz4+xwq0WdGS/E0M6F/OIE8UKknViGZwXiSe
         5IRKS+CcD8sQEtHensiuc1EHXR1grgiCx0ua48hMwc3u4Jmda/+pMTbv8EdC36dnK9tB
         NB0wBzkrDyf5xc3GAh2RB4o74cxVF95AUGfBHksfvtH9MNe8mP3Ykksk9T+7noqpnIQN
         0QnV7csQsNU1Dc/cm7qTQ7ZlWp2NDdNH1b5RpqJRnGXfxWXef2s+ieUPD2t6deMPFSAc
         dhpg==
X-Forwarded-Encrypted: i=1; AJvYcCWe6JkuNuR6LNNiVfoAFS6okkx7ypbRjOH1ccSTGviUYGEr9BhkFmhHl4JZMJcpgYLZvB8O4FwiC/MPrXBs+vLidUcGNMyRNBS5S1yZWn4=
X-Gm-Message-State: AOJu0YzmSOP1Fkt5fLXQcsUxm5QUDYtetvuk6ENhEUw7gdaB1fAt7Fpz
	2om5Bhq2YMx7vbSBQOonA13N+xwFpL+4+OgdWsJ4Ze0oA+ePbx1qi3LzNlyEaw==
X-Google-Smtp-Source: AGHT+IHd9rrn30B6zz2NPUSdTt8XgFamk6BvdYJKQvK9FdmoNMhcxrZQN8/jiCy/5M47HDAdl+DY7w==
X-Received: by 2002:a05:6512:485c:b0:516:c763:b4f5 with SMTP id ep28-20020a056512485c00b00516c763b4f5mr5759166lfb.3.1712567120405;
        Mon, 08 Apr 2024 02:05:20 -0700 (PDT)
Message-ID: <f2b3afb3-95c6-4b7c-b890-ffaac15e724c@suse.com>
Date: Mon, 8 Apr 2024 11:05:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86: Remove x86 low level version check of microcode
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-2-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240405121128.260493-2-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 14:11, Fouad Hilly wrote:
> Remove microcode version check at Intel and AMD Level.
> Microcode version check will be at higher and common level.

"will be" reads as if you're removing logic here, to introduce some replacement
later. If so, that's going to be a transient regression, which needs avoiding.
Indeed ...

> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -383,12 +383,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>                  goto skip;
>              }
>  
> -            /*
> -             * If the new ucode covers current CPU, compare ucodes and store the
> -             * one with higher revision.
> -             */
> -            if ( (microcode_fits(mc->patch) != MIS_UCODE) &&
> -                 (!saved || (compare_header(mc->patch, saved) == NEW_UCODE)) )
> +            /* If the provided ucode covers current CPU, then store its revision. */
> +            if ( (microcode_fits(mc->patch) != MIS_UCODE) && !saved )
>              {
>                  saved = mc->patch;
>                  saved_size = mc->len;

... this looks like a logic change to me, with there not being anything
similar in common code afaics. Am I overlooking anything?

> --- a/xen/arch/x86/cpu/microcode/intel.c
> +++ b/xen/arch/x86/cpu/microcode/intel.c
> @@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct microcode_patch *patch)
>  
>      result = microcode_update_match(patch);
>  
> -    if ( result != NEW_UCODE &&
> -         !(opt_ucode_allow_same && result == SAME_UCODE) )
> +    if ( result != NEW_UCODE && result != SAME_UCODE )
>          return -EINVAL;

I'm afraid I can't relate this adjustment with title and description of
the patch.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:16:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701855.1096397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtl7W-0006EF-DR; Mon, 08 Apr 2024 09:16:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701855.1096397; Mon, 08 Apr 2024 09:16:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtl7W-0006E8-A8; Mon, 08 Apr 2024 09:16:54 +0000
Received: by outflank-mailman (input) for mailman id 701855;
 Mon, 08 Apr 2024 09:16: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtl7V-0006E2-Jh
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 09:16:53 +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 bbcc7b1b-f588-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 11:16:51 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2d886dd4f18so11309431fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 02:16: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
 m6-20020a05600c4f4600b004166cdae639sm3314707wmq.35.2024.04.08.02.16.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 02:16: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: bbcc7b1b-f588-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712567811; x=1713172611; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PCalnsKRo39dwx6w4CpccC7VPUprd+/RzeNYu5Vx/oU=;
        b=FVoOqZRx84oChEalvFPgcRj2Y6fuF1+sp2bWsfGfYCwXK3w/PXmPX6qMyPwKfcXeX9
         cJ0UGSLsEMjAfT4rtEtjh8DUgE0ZTXipEV1yglOcvnoQUNaTlLv+S8o99VjyMfKApTsn
         OP399B9reS6gw8cpzELIm4gQku4ZuRygVcA0Y8xU7YDwDPCBKWH+5AshTI0NLUuokutV
         lnTaK9QIzWg76IdVhoFxm7JiWQ5MZhPWNx4VBChMcUjs1pt4Ly3oRKx86hw5sREJ9jWx
         mT/y4Gvx20DWiR7GgcIH7X+5pf7dHQkSG8Q3KLKOBPAM4vID48ms0TBHPyyMPa6Ud4lF
         5DIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712567811; x=1713172611;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PCalnsKRo39dwx6w4CpccC7VPUprd+/RzeNYu5Vx/oU=;
        b=SQ0sGPWZ4/P3hUQuoXXTmfng+ybhWzPbQ04pDa4gat83kpY9euVpi6llW+gAdTYIwS
         +EzLSoVdSPivY+nhaX8Zx5wkthIYX1cokg19pPuPWuJ8t8OpXR3CGghAFAX+kivTuixm
         8Rxuk1qETaHpsjZVK6QkU/+6zV8LlTmHox8fmDjK6Ygm3j6jje7Swvz1V/B5vrSIj/s0
         HEjQ5tT3HnYI/GwIR3FljwVURlSqm3oAMpJR38NsCxtuQ1BJ4UxM4Dyfk2DM9JmLXus3
         XX+6/MUrVrgPT7YlMSc+bMECjVjC8Aed4csUJD2DNX4Rmi6cKoprR1dLgNZzzxjNYkxi
         Wgdw==
X-Forwarded-Encrypted: i=1; AJvYcCUe9cp0FQJIlqhcZonalgRP5BLHB1AtTUsWywz2RtOvIqtHwYbOjXL/bEfRwvyT6eg4Z7eNUiKp3pOHSvIArv8qtSDV/SKp1yQ2ljTkzSA=
X-Gm-Message-State: AOJu0YxNQ4m8IGu2Dxnb4ZD67nFMMGqrnO9MXyb8CJOmuTV7ys0Avxl+
	L5T7/HnJqOLavvLijw1974WwOHPM10PczdBewb40XYnryCue1TX8ZJyXaRXrrQ==
X-Google-Smtp-Source: AGHT+IGU5jrsxkIZzwLxEdy0fRMKeg5P5SdQWtHJDNZldH6mMBtODN5TZpf1NPv2x3H6IxQttGFHcw==
X-Received: by 2002:a05:651c:1545:b0:2d2:3fac:5fc7 with SMTP id y5-20020a05651c154500b002d23fac5fc7mr6073966ljp.45.1712567810745;
        Mon, 08 Apr 2024 02:16:50 -0700 (PDT)
Message-ID: <f789bf74-8296-4127-9612-a46d02a422ee@suse.com>
Date: Mon, 8 Apr 2024 11:16:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86: Refactor microcode_update() hypercall with flags
 field
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-3-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240405121128.260493-3-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 14:11, Fouad Hilly wrote:
> @@ -708,11 +712,13 @@ static long cf_check microcode_update_helper(void *data)
>      return ret;
>  }
>  
> -int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
> +int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len, unsigned int flags)
>  {
>      int ret;
>      struct ucode_buf *buffer;
>  
> +    ucode_force_flag = (flags == XENPF_UCODE_FLAG_FORCE_SET)? 1: 0;

No need for ?: when the lhs has type bool.

But - do we really need to resort to parameter passing via static variables
here? If it's unavoidable, its setting needs to move inside a locked region
(with that region covering everything up to all consumption of the value).

Further, to avoid the same issue again when another flag wants adding, you
want to check that all other bits in the flags field are clear.

> --- a/xen/arch/x86/include/asm/microcode.h
> +++ b/xen/arch/x86/include/asm/microcode.h
> @@ -22,7 +22,7 @@ struct cpu_signature {
>  DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
>  
>  void microcode_set_module(unsigned int idx);
> -int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len);
> +int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len, unsigned int flags);

Nit: Too long line.

> --- a/xen/include/public/platform.h
> +++ b/xen/include/public/platform.h
> @@ -99,6 +99,10 @@ struct xenpf_microcode_update {
>      /* IN variables. */
>      XEN_GUEST_HANDLE(const_void) data;/* Pointer to microcode data */
>      uint32_t length;                  /* Length of microcode data. */
> +    uint32_t flags;                   /* Flags to be passed with ucode. */
> +/* Force to skip microcode version check when set */
> +#define XENPF_UCODE_FLAG_FORCE_NOT_SET 0
> +#define XENPF_UCODE_FLAG_FORCE_SET     1
>  };

The safety of this growing of an existing stable ABI struct wants at least
briefly mentioning in the description.

> @@ -624,6 +628,10 @@ struct xenpf_ucode_revision {
>  typedef struct xenpf_ucode_revision xenpf_ucode_revision_t;
>  DEFINE_XEN_GUEST_HANDLE(xenpf_ucode_revision_t);
>  
> +/* Hypercall to microcode_update with flags */
> +#define XENPF_microcode_update2    66
> +
> +

No double blank lines please.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:22:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701858.1096406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlCy-0007g5-00; Mon, 08 Apr 2024 09:22:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701858.1096406; Mon, 08 Apr 2024 09:22:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlCx-0007fy-TY; Mon, 08 Apr 2024 09:22:31 +0000
Received: by outflank-mailman (input) for mailman id 701858;
 Mon, 08 Apr 2024 09:22:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtlCx-0007fs-5V
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 09:22:31 +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 858ebff3-f589-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 11:22:29 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41691fb4c8fso111295e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 02:22: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
 fc9-20020a05600c524900b004162d0676cdsm12587551wmb.29.2024.04.08.02.22.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 02: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: 858ebff3-f589-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712568149; x=1713172949; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cl2hU7SsqDZLKTpXtUK4NE0AfiL7NMbQ/rvUxbPY8nM=;
        b=T/kjZaGEeeU+D3VWgx32tjs8Avea5RlmfqHQHSCu7xk8BkI9+5l9tk9uZ4XDOCODqZ
         Q6VAgJBs0GjNpl0xPRMLd5RYxCTDz8vPjr+0XdzmkvN6ZLNVFxbWfY41NGNR0bsJXGjU
         NSTIpV+jcHlAWnhOtGyYJZ/yXUlfBIPTyCrLR2pom2SwFcujVzPrse7gnTLm86/yzsjU
         oj3oewCbJZIn/qMMBi3bD7NbIJLbjVlHJexBgRPLAnly1vo2L/KJLAkbobtNTKOZAox7
         51WktoFYfyH8dJRzZ7NOyxwDZCiI/uV5JpDfPNP/QNMJsr4qiY2JtgECwCsl9omh5we8
         PVOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712568149; x=1713172949;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=cl2hU7SsqDZLKTpXtUK4NE0AfiL7NMbQ/rvUxbPY8nM=;
        b=L0xK/JRUEibZmwqPbmrKepwlAteJzQDAGv4Bs+WtTZlrlFqMqC5POIrqr+wgOV0S7u
         bsCr5KdVPiii1yyALFb0i/TlVzO162Ykt/IW/wW0vB3E8D2rm+9Ud6CeJ1c31h2hFPEi
         zRjhM4mIwNii1BzwwNfCN6Zjrb+8P1vJb7lfp7hvtbmLW6B4VKHqx4EgaOt0O3rgibJ8
         chcrhmyxhWx7MTSWCewpQF0Eh3fjPCEM0xlQvG2beyOtEx32uLdmkx9b5dcorCXoglZo
         h6arRsZNz9SLHBonrnGTogOgp5CiVZSrMCok1AbNsPvv9bTZ4yw9mPPg5HsnTo8grafu
         rVlg==
X-Forwarded-Encrypted: i=1; AJvYcCWuufIpAgCVPKSOReAi8DnNDTVm5mifUkGJnNHisqhXv82FB+odA/mWw7RPFN6JGsqPkNQzOkyN8ycEivvVvlZFg6QKx78+/HGTglXgRLk=
X-Gm-Message-State: AOJu0YzEqm2a6y3J7SDCbO9/HQepNTa+fYXvg26AVKKXoRBImnqNjKda
	5Hq0re+aMn7h5z/m3gF3t6k+kKLTnj5Jk+2MdhebRxnHrq+BMRQGwHoOhFexLA==
X-Google-Smtp-Source: AGHT+IG/ztrnuvjFzIIf4zcWtlseHUp0yJjR5RjoIKEnJDdHol/9yeJ9jQ6EMDEsVQsgew7WmKs9AQ==
X-Received: by 2002:a05:600c:4f07:b0:416:6d1d:100 with SMTP id l7-20020a05600c4f0700b004166d1d0100mr1464904wmq.33.1712568149032;
        Mon, 08 Apr 2024 02:22:29 -0700 (PDT)
Message-ID: <1ac2619b-443c-4786-ae64-b677b7fa2a9f@suse.com>
Date: Mon, 8 Apr 2024 11:22:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] x86: Add usage() to print out usage message
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-4-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240405121128.260493-4-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 14:11, Fouad Hilly wrote:
> Refactor xen-ucode tool by adding usage() to handle usage\help messages

Would be nice if you could also say why you want this.

> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -17,6 +17,14 @@ static xc_interface *xch;
>  static const char intel_id[] = "GenuineIntel";
>  static const char   amd_id[] = "AuthenticAMD";
>  
> +static void usage(const char *name)
> +{
> +    printf("%s: Xen microcode updating tool\n"
> +            "Usage: %s [<microcode file> | show-cpu-info]\n"
> +            "\n"
> +            , name, name);
> +}

Besides formatting issues you also add an extra \n to the format string,
you convert the previously hard-coded xen-ucode: (which may be okay, but
wants clarifying on why it is done), ...

> @@ -88,9 +96,7 @@ int main(int argc, char *argv[])
>  
>      if ( argc < 2 )
>      {
> -        fprintf(stderr,
> -                "xen-ucode: Xen microcode updating tool\n"
> -                "Usage: %s [<microcode file> | show-cpu-info]\n", argv[0]);
> +        usage(argv[0]);
>          show_curr_cpu(stderr);
>          exit(2);
>      }

... and you no longer print to stderr. This being an error path, the
message ought to continue to go there; only a possible -h / --help option
would want it to go to stdout.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:26:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701860.1096416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlGK-0000Wm-Dy; Mon, 08 Apr 2024 09:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701860.1096416; Mon, 08 Apr 2024 09:26:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlGK-0000Wf-BR; Mon, 08 Apr 2024 09:26:00 +0000
Received: by outflank-mailman (input) for mailman id 701860;
 Mon, 08 Apr 2024 09:25:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=djzs=LN=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rtlGJ-0000WZ-AC
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 09:25:59 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01c98490-f58a-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 11:25:58 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4165caf9b2dso9216955e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 02:25:58 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust35.5-4.cable.virginm.net. [82.13.64.36])
 by smtp.gmail.com with ESMTPSA id
 o16-20020a5d6710000000b00343956e8852sm8502213wru.42.2024.04.08.02.25.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Apr 2024 02:25: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: 01c98490-f58a-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712568357; x=1713173157; 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=LcIzIVzLXSYGUh7BwIKLRsqCfL/WlkanrqqI6XJVjmQ=;
        b=dWq5h8sF/Ne41KXgl/SBDogIkoMl4vTbYq4hSa37XacN9tYf2RKxNfrokaSrY2u1e9
         BLEbp9Bx+JJV7hoseSDyDXDrdEan9uw006GuR6XXKOtv4I27CIQkDmJrnK7JWOLjtNWI
         JVmLPhfU7BywCgP4qFO5exX9mmvhjFFhoah2M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712568357; x=1713173157;
        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=LcIzIVzLXSYGUh7BwIKLRsqCfL/WlkanrqqI6XJVjmQ=;
        b=lQYzqaEfrFaU4G5bD4qxkDalWmAh6iI6ychfZRMlUaqwXSlGpl144NaHKdOM6szwsa
         R0ZqU+1SRGdyaaJqYlmjejjmHoWuraHSQ2G2qEshRc3gI2nJ2An46Hkm2bxJbNHcRjCH
         QN7TAGPeF6fuLHnQzDWttMFzNY/l9dtx77WHMqxeexlcqmHUVg+rcMxgbphRNmz5jO9a
         /cJvC01Spd/vYWZJmSL5V3SBrQKrUQJ6lKa5McvuPYktwj0oMqRgTyvkU4XeXWQ0TpAG
         6LTKAlSuIvD6gcGY3y8ulcdmWBxaHbnCqaYkWYhgBgpptyvuy84uRczteHQmeCnlPWM6
         c9RA==
X-Gm-Message-State: AOJu0YyQOfHGd804thwiu3Rc4G92RWbtk5AJ2GxCTa4w9z8CacGKVHzf
	bwfdR1AoNZkzHtBDJoIxZX6shbivWryI+cfCwvSzzfBfkuNXZIrJxmzs4eEp6vP/7TUj0XtoTvj
	u
X-Google-Smtp-Source: AGHT+IFttAj8eJV8x6U+uxzD78WtU7N8F/hdQba9sXJZkyZe2Zqqpz3DZxcAHeff88yBog+7HYL3lA==
X-Received: by 2002:a05:600c:3146:b0:416:4a4a:8cc9 with SMTP id h6-20020a05600c314600b004164a4a8cc9mr4241773wmo.27.1712568357575;
        Mon, 08 Apr 2024 02:25:57 -0700 (PDT)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [OSSTEST PATCH] cr-daily-branch: Actually use Linux 6.1 by default on Arm
Date: Mon,  8 Apr 2024 10:25:42 +0100
Message-Id: <20240408092542.36711-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit 95ee1714750b wasn't effective at changing the default version
of Linux, osstest kept on using "linux-arm-xen".

This time, make osstest use the same revision for both LINUX and
LINUX_ARM, like it was done for "linux*" branches only before.

If for some reason $BASE_TAG_LINUX and $BASE_TAG_LINUX_ARM are
different, this change would be wrong, but there's shouldn't be a need
for them to be different.

Fixes: 95ee1714750b ("ap-common: Switch to Linux 6.1 by default on Arm")
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    Already pushed.

 ap-common       |  2 +-
 cr-daily-branch | 14 ++++----------
 2 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/ap-common b/ap-common
index eabb85c6..5770d2b1 100644
--- a/ap-common
+++ b/ap-common
@@ -60,7 +60,7 @@
 : ${PUSH_TREE_LINUX:=$XENBITS:/home/xen/git/linux-pvops.git}
 : ${BASE_TREE_LINUX:=git://xenbits.xen.org/linux-pvops.git}
 : ${BASE_TAG_LINUX:=tested/linux-6.1}
-: ${BASE_TAG_LINUX_ARM:=tested/linux-6.1}
+: ${BASE_TAG_LINUX_ARM:=${BASE_TAG_LINUX}}
 
 if [ "x${TREE_LINUX}" = x ]; then
 	: ${TREE_LINUX:=${BASE_TREE_LINUX}}
diff --git a/cr-daily-branch b/cr-daily-branch
index 6ec3aa62..23e716e4 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -186,16 +186,10 @@ if [ "x$REVISION_LINUX" = x ]; then
         export REVISION_LINUX
 fi
 if [ "x$REVISION_LINUX_ARM" = x ]; then
-    if [ "x$tree" = "xlinux" ] ; then
-	TREE_LINUX_ARM=$TREE_LINUX
-	export TREE_LINUX_ARM
-	REVISION_LINUX_ARM=$REVISION_LINUX
-        export REVISION_LINUX_ARM
-    else
-	determine_version REVISION_LINUX_ARM ${linuxbranch:-linux-arm-xen} \
-		LINUX_ARM
-        export REVISION_LINUX_ARM
-    fi
+    TREE_LINUX_ARM=$TREE_LINUX
+    export TREE_LINUX_ARM
+    REVISION_LINUX_ARM=$REVISION_LINUX
+    export REVISION_LINUX_ARM
 fi
 if [ "x$REVISION_SEABIOS" = x ]; then
     case "$branch" in
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:28:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:28:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701816.1096437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlIn-0001Ka-1m; Mon, 08 Apr 2024 09:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701816.1096437; Mon, 08 Apr 2024 09: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 1rtlIm-0001KR-UD; Mon, 08 Apr 2024 09:28:32 +0000
Received: by outflank-mailman (input) for mailman id 701816;
 Mon, 08 Apr 2024 08:12:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pPud=LN=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rtk78-0006cr-IQ
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 08:12:26 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:240a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b98ea12b-f57f-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 10:12:23 +0200 (CEST)
Received: from BN9PR03CA0955.namprd03.prod.outlook.com (2603:10b6:408:108::30)
 by PH0PR12MB7837.namprd12.prod.outlook.com (2603:10b6:510:282::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 08:12:17 +0000
Received: from BN1PEPF00004685.namprd03.prod.outlook.com
 (2603:10b6:408:108:cafe::33) by BN9PR03CA0955.outlook.office365.com
 (2603:10b6:408:108::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Mon, 8 Apr 2024 08:12:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00004685.mail.protection.outlook.com (10.167.243.86) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 08:12:17 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 03:12:16 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 01:12:16 -0700
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 03:12:14 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b98ea12b-f57f-11ee-a1ef-f123f15fe8a2
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VDWKTzN7r8uerAVttRvtafoSxUyV64NsR39u/CY5UNxv0JvxDFH/5HrRo5oYlsF/mscvyhnkXV3obcS425fGrvukZYKsyOyAUGy2IsAv7FecTyL2r5WwSfwhMnIC0soHJFwZZLe2hVSsC9AYkYQo0ACscmaeozXlqgUN5wh8lFfw6UM1oTi8ij6+CSVo92IMll+ITlJk+sqznx7SGOylv99ZWIMMYYTq4xuN28LD8nLpYg7Rg7Dj9rmQUG7VAn3IPEOrU59hJVl+QCnCGwNflconbBdtsU9+9S2fOiB08Esl5WBNPPCk1Gah6AAPIPOju0XbzlqhQ5vN38F7y4EcWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T1sonoLhGzw/2bSfHhBfvUL6L2IYcQ/CpT0bzHR994k=;
 b=oV+Q5zAGObngdDhvIqN0UlbTxhBoasL5vWH0qeSphhUEUHGhUohY29SW2HAL2eYuY6ZW54UoNYpD+yaLLaownnDh4Ehy4+LKyJ6TmwJ5GWKJmRYp04K5Y8Q7Gn1Oz/olqJmOheRTWdau6RSTZDP2RfCyCYyL7Yz8ckfNZLoelpTr+dFtroJeUYRfYhVbz+2iyFQcW4RvTbcdDrImDtn69nqLIc+pHHJkmmmCO1I+uMjA+IOl0yIBTxUDY4bydv43E2Y7/6ZsM7BiB7BorioDeZ4jxnM1N2QjbIBPzPPsunbFK85mN30SYolbf0WAShTcbsSVbDciFx+nJA8twaBonQ==
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=T1sonoLhGzw/2bSfHhBfvUL6L2IYcQ/CpT0bzHR994k=;
 b=vGsHwUvFCHCWIYJwhaC38MFekM0PB/ELAMFeMaIrZ019exOfSpHh8xJeIrrCNhe1Qxvb/zMg6Svj2UQFg6ryhhyQVQn0upCSxA3fYOHQMmf+yvsGxosMt+5YCZrqrexqb+oTIrQZHeTr1XCst9nYoWzmgxrtnYYOSCcE6kZkeVM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e5b8e385-6d72-4102-bd0a-47f868535b90@amd.com>
Date: Mon, 8 Apr 2024 16:12:13 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"Alec Kwapis" <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-5-xin.wang2@amd.com>
 <e9167c39-187f-4a66-b9a4-8b3a6ae3000b@suse.com>
 <09cc419a-cdf6-4cda-90f1-c0e1ae83ad47@amd.com>
 <951cc6ba-c971-4b5b-9cfc-bc79245a9549@suse.com>
 <9518c19a-eb97-4d68-97bc-fcae56aa8093@amd.com>
 <0a28ce70-6c71-43da-8aa1-3b9909e2d152@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <0a28ce70-6c71-43da-8aa1-3b9909e2d152@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004685:EE_|PH0PR12MB7837:EE_
X-MS-Office365-Filtering-Correlation-Id: ff33f1ed-5467-4347-ec17-08dc57a39b16
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jTf2H48EPA6a042wAgvSXP5fgyUEB0rYNyocHhHe8VIlEgtFmrXRtKFlxNj+8CI+jsDEPWz9A99sHKS4mms8eVk1N2qwBzzSKWo0Lk2VyW8v+cx7HwCWbnfEB4ED4vyBi1GtzWysXbQ6RvI23uh0wOovl8koBnRerYXVlVRpanjJZSyMx+BlEtfG8Zu/We1sQDyUuJHjI54L9g+8eavmgizMxo8WB50kDm0DsMUIJlub1x6H+ggX6doy4GCAhpe/kjZMw007QvY3//KZH87eyZRaZvuT6gI1dNT2KTOkPwvpM1DSXp+XQ8yk3mcZB2WwKaXFqo4250UD2Ok2W8Plro2oY8OGIhhvjXyG//jsZVFwYeuQbrSGUKetpJLjOA/dctSv08E+gTjUooR1ysHjVPvC6LmhbTFibgQTm6Z9iQePEL0nmcRqDlh2Qw8zt/nULhMHbg8cZ1nT7dZH0ZynQfUE4gwBy2LoOdBPbNIQlsUrhMdWwtkbFsPqHQvyM9UszeCLCLHDBKqoVXh2YP9E0f6EIw3rXjMN416lmYn81UaV0WPuIiT+BPpp9kZZpF1jDmpu4qEhGpw2g/mYRh1wnpskMmemYTFystW7MWg4x+eykaPEiZzVf+7byZ5HnSJr5rvZc3uuzswuSSV0zE05DUvg6bBZyb5ZRbnoY5FCtRzmDY0T1NoPVvCYZWa3NuCdcPgdyXoq4OUKgDK0PRYn95lHjoODv30JjUf+vg4Q8LuSbMx4KtzqOAVCUhFQ9aK6
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 08:12:17.2555
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ff33f1ed-5467-4347-ec17-08dc57a39b16
X-MS-Exchange-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:
	BN1PEPF00004685.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7837

Hi Jan,

On 4/8/2024 3:03 PM, Jan Beulich wrote:
> On 08.04.2024 08:59, Henry Wang wrote:
>> Hi Jan,
>>
>> On 4/8/2024 2:22 PM, Jan Beulich wrote:
>>> On 08.04.2024 05:19, Henry Wang wrote:
>>>> On 4/4/2024 5:38 PM, Jan Beulich wrote:
>>>>> On 03.04.2024 10:16, Henry Wang wrote:
>>>>>> --- a/xen/include/public/memory.h
>>>>>> +++ b/xen/include/public/memory.h
>>>>>> @@ -41,6 +41,11 @@
>>>>>>     #define XENMEMF_exact_node(n) (XENMEMF_node(n) | XENMEMF_exact_node_request)
>>>>>>     /* Flag to indicate the node specified is virtual node */
>>>>>>     #define XENMEMF_vnode  (1<<18)
>>>>>> +/*
>>>>>> + * Flag to force populate physmap to use pages from domheap instead of 1:1
>>>>>> + * or static allocation.
>>>>>> + */
>>>>>> +#define XENMEMF_force_heap_alloc  (1<<19)
>>>>> As before, a separate new sub-op would look to me as being the cleaner
>>>>> approach, avoiding the need to consume a bit position for something not
>>>>> even going to be used on all architectures.
>>>> Like discussed in v2, I doubt that if introducing a new sub-op, the
>>>> helpers added to duplicate mainly populate_physmap() and the toolstack
>>>> helpers would be a good idea.
>>> I'm curious what amount of duplication you still see left. By suitably
>>> adding a new parameter, there should be very little left.
>> The duplication I see so far is basically the exact
>> xc_domain_populate_physmap(), say
>> xc_domain_populate_physmap_heap_alloc(). In init-dom0less.c, We can
>> replace the original call xc_domain_populate_physmap_exact() to call the
>> newly added xc_domain_populate_physmap_heap_alloc() which evokes the new
>> sub-op, then from the hypervisor side we set the alias MEMF flag and
>> share the populate_physmap().
>>
>> Adding a new parameter to xc_domain_populate_physmap() or maybe even
>> xc_domain_populate_physmap_exact() is also a good idea (thanks). I was
>> just worrying there are already too many use cases of these two
>> functions in the existing code: there are 14 for
>> xc_domain_populate_physmap_exact() and 8 for
>> xc_domain_populate_physmap(). Adding a new parameter needs the update of
>> all these and the function declaration. If you really insist this way, I
>> can do this, sure.
> You don't need to change all the callers. You can morph
> xc_domain_populate_physmap() into an internal helper, which a new trivial
> wrapper named xc_domain_populate_physmap() would then call, alongside with
> the new trivial wrapper you want to introduce.

Thanks for the good suggestion. Would below key diff make sense to you 
(naming can be further discussed)? Also by checking the code, if we go 
this way, maybe we can even simplify the 
xc_domain_decrease_reservation() and xc_domain_increase_reservation()? 
(Although there are some hardcoded hypercall name in the error message 
and some small differences between the memflags)

diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index 8363657dae..5547841e6a 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -1124,12 +1124,13 @@ int xc_domain_claim_pages(xc_interface *xch,
      return err;
  }

-int xc_domain_populate_physmap(xc_interface *xch,
-                               uint32_t domid,
-                               unsigned long nr_extents,
-                               unsigned int extent_order,
-                               unsigned int mem_flags,
-                               xen_pfn_t *extent_start)
+static int xc_populate_physmap_cmd(xc_interface *xch,
+                                   unsigned int cmd;
+                                   uint32_t domid,
+                                   unsigned long nr_extents,
+                                   unsigned int extent_order,
+                                   unsigned int mem_flags,
+                                   xen_pfn_t *extent_start)
  {
      int err;
      DECLARE_HYPERCALL_BOUNCE(extent_start, nr_extents * 
sizeof(*extent_start), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
@@ -1147,12 +1148,50 @@ int xc_domain_populate_physmap(xc_interface *xch,
      }
      set_xen_guest_handle(reservation.extent_start, extent_start);

-    err = xc_memory_op(xch, XENMEM_populate_physmap, &reservation, 
sizeof(reservation));
+    err = xc_memory_op(xch, cmd, &reservation, sizeof(reservation));

      xc_hypercall_bounce_post(xch, extent_start);
      return err;
  }

+int xc_domain_populate_physmap(xc_interface *xch,
+                               uint32_t domid,
+                               unsigned long nr_extents,
+                               unsigned int extent_order,
+                               unsigned int mem_flags,
+                               xen_pfn_t *extent_start)
+{
+    return xc_populate_physmap_cmd(xch, XENMEM_populate_physmap, domid,
+                                   nr_extents, extent_order, mem_flags,
+                                   extent_start);
+}
+
+int xc_domain_populate_physmap_heap_exact(xc_interface *xch,
+                                          uint32_t domid,
+                                          unsigned long nr_extents,
+                                          unsigned int extent_order,
+                                          unsigned int mem_flags,
+                                          xen_pfn_t *extent_start)
+{
+    int err;
+
+    err = xc_populate_physmap_cmd(xch, XENMEM_populate_physmap_heapalloc,
+                                  domid, nr_extents, extent_order, 
mem_flags,
+                                  extent_start);
+    if ( err == nr_extents )
+        return 0;
+
+    if ( err >= 0 )
+    {
+        DPRINTF("Failed allocation for dom %d: %ld extents of order %d\n",
+                domid, nr_extents, extent_order);
+        errno = EBUSY;
+        err = -1;
+    }
+
+    return err;
+}
+


Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:28:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:28:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701862.1096427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlIi-00015Q-QC; Mon, 08 Apr 2024 09:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701862.1096427; Mon, 08 Apr 2024 09:28:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlIi-00015J-NW; Mon, 08 Apr 2024 09:28:28 +0000
Received: by outflank-mailman (input) for mailman id 701862;
 Mon, 08 Apr 2024 09:28:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtlIg-000158-MQ
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 09:28:26 +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 5987b689-f58a-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 11:28:25 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4165d03308fso9175635e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 02:28: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
 fc9-20020a05600c524900b004162d0676cdsm12605718wmb.29.2024.04.08.02.28.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 02:28: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: 5987b689-f58a-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712568505; x=1713173305; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=i73I1Wy1Si6XRd0XgIXGZkJPTYKcQCOUQ58Myi+AbAc=;
        b=NmZblHLkHyvN+Qe8kZpS543EeMY1H/n/uNogJ/FhzXFg1TEbml38Q1gHoYEK6qbszv
         Q+5hhy/227phvohvu8L/yM3UO9dcia7N1NJShG95xRnxHzjlqfp5OzC4tmd4vrL99Nru
         Uz7IlhLDtjCVSBQNK04ZDxmlsq+03c3rBW7knM4Jc3Yewq88g4R6yCrFOFmccYx6PB2X
         iCusylcyGfAUVGyUzRcvB34aCS3SZWoaTGtuQHgAg9dMeTOBA72yZBYpkc1UInwEauUs
         MRSriYlAeG99l7kzkJLI9bARK619+NxznDgEcOaPyKY4Zy/KPnVUHjh7cM9Hk8Pd7i7U
         P0tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712568505; x=1713173305;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=i73I1Wy1Si6XRd0XgIXGZkJPTYKcQCOUQ58Myi+AbAc=;
        b=sAAspiu2FpwMttWhTI0K8TqNkRH98SmdTQqkgHy5Tm+5P5/pY/xAikHFZfXKB6V9Vz
         9Y7Y3BOOe+7b/QiN8v345c3sHbK5ALgkCHuTTx0lAFOstdZKwIim5EqjaQegQ13jnwl3
         y1CcuKox/7JVUKxf3KSr0g9TIRBTndqqeOWpcycsPlCphTRhDQGdg0p/Hly9WWCC78RL
         sNUx5rD2sWibViJ9zyLDSkna1G8xv4FsS7vySaaZg9FSJVZGPmFvpIw+V5ga6r29Hf3V
         YPRp/vBvZnF8ku39AASrGcq6a7Te7tS2CwjEKRaj2z+QjZSoU8N7RMXhkFWzrHjAh2L2
         ZHxA==
X-Forwarded-Encrypted: i=1; AJvYcCVzJxkPtDp3Q1jhitwtdEQOnwQZDe9raggcscAzrgdJQsq5O27wR46k8ZOA1Ky69LWlX6b5LXi3mS2PLe4z2tdrdC6lGQyX3xv4jTlHhA8=
X-Gm-Message-State: AOJu0Yx2sDLuUIVVLy2l+YmX1TVsoIWJ/Hdi/+33JVOUWlRbpqcXwghm
	OBg0LZIr3b4wD7GDqasylGzifLadEZxqbFnaA67I5/CPh31akoA18FBuAAw0bA==
X-Google-Smtp-Source: AGHT+IGTkDzFvjZfA57bIvdvJp8SFr6scXkqLgsF2CBpJWsp99RLezmgDG2bziihEqWFp6RvuN5/sw==
X-Received: by 2002:a05:600c:4ed2:b0:415:6d1d:603e with SMTP id g18-20020a05600c4ed200b004156d1d603emr8878493wmq.37.1712568504962;
        Mon, 08 Apr 2024 02:28:24 -0700 (PDT)
Message-ID: <ca067cc8-534d-463f-9c37-dcc6e8c40f06@suse.com>
Date: Mon, 8 Apr 2024 11:28:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86: Use getopt to handle command line args
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-5-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240405121128.260493-5-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 14:11, Fouad Hilly wrote:
> @@ -82,9 +86,16 @@ static void show_curr_cpu(FILE *f)
>  int main(int argc, char *argv[])
>  {
>      int fd, ret;
> -    char *filename, *buf;
> +    char *filename = NULL, *buf;

Why?

>      size_t len;
>      struct stat st;
> +    int opt;
> +
> +    const static struct option options[] = {

Nit: Canonically "static" comes first and all type information is kept
together.

> +        {"help", no_argument, NULL, 'h'},
> +        {"show-cpu-info", no_argument, NULL, 's'},
> +        {NULL, no_argument, NULL, 0}
> +    };
>  
>      xch = xc_interface_open(NULL, NULL, 0);
>      if ( xch == NULL )
> @@ -94,20 +105,33 @@ int main(int argc, char *argv[])
>          exit(1);
>      }
>  
> -    if ( argc < 2 )
> +    if ( argc != 2 )
> +        goto ext_err;
> +
> +    while ( (opt = getopt_long(argc, argv, "hs:", options, NULL)) != -1 )
>      {
> -        usage(argv[0]);
> -        show_curr_cpu(stderr);
> -        exit(2);
> +        switch (opt)
> +        {
> +            case 'h':
> +                usage(argv[0]);
> +                exit(EXIT_SUCCESS);
> +            case 's':
> +                if ( argc > 2 )
> +                    goto ext_err;

This looks redundant with the earlier check that you adjust above.

> +                show_curr_cpu(stdout);
> +                exit(EXIT_SUCCESS);
> +            default:
> +                goto ext_err;
> +        }

Nit: Case labels want indenting the same as the immediately enclosing braces.

>      }
>  
> -    if ( !strcmp(argv[1], "show-cpu-info") )
> +    filename = argv[1];
> +    if ( filename == NULL )

Can this really happen when argc == 2?

>      {
> -        show_curr_cpu(stdout);
> -        return 0;
> +        printf("File name error\n");
> +        goto ext_err;
>      }
>  
> -    filename = argv[1];
>      fd = open(filename, O_RDONLY);
>      if ( fd < 0 )
>      {
> @@ -149,4 +173,9 @@ int main(int argc, char *argv[])
>      close(fd);
>  
>      return 0;
> +
> +ext_err:

Labels indented by at least on blank please.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:29:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:29:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701865.1096447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlJR-00023C-A8; Mon, 08 Apr 2024 09:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701865.1096447; Mon, 08 Apr 2024 09: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 1rtlJR-000235-75; Mon, 08 Apr 2024 09:29:13 +0000
Received: by outflank-mailman (input) for mailman id 701865;
 Mon, 08 Apr 2024 09: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=djzs=LN=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rtlJQ-0001qD-9s
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 09:29:12 +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 7487bb62-f58a-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 11:29:10 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-41691fbb392so142885e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 02:29:10 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u22-20020a05600c139600b004162b4c6366sm12713981wmf.20.2024.04.08.02.29.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Apr 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: 7487bb62-f58a-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712568550; x=1713173350; 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=D1aATWkcOYzd3YjpfZqd3Nql7lZCrsprpW65uWr7PLY=;
        b=G/vx8V1Umu05xCcEviBjhO/584sOKumdryjjvxdqfdafNsqM5uXRI0847kqq3bKLvI
         4zkGrDOebCUjk7u6ICGioA3wJ0toW0wZwd5Lg+iOMW3Xnww5SvF6iV9cNKM9GcLVQWdJ
         XMeEJiSPPANaM6VFgiaXqvKzTCyztJOjq00YA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712568550; x=1713173350;
        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=D1aATWkcOYzd3YjpfZqd3Nql7lZCrsprpW65uWr7PLY=;
        b=c/bvH1O6QHqdipRwEF5QkHjC796KGEb8yNB4cOFd+4RldL29Ik1kD3jCdC9BP4WjDg
         j++SqYH2MNfdR0kopMLgmTeGuvu1opTssC8Yyn8zf5+dwo99JvaXvAyhGRpAtP5r6slS
         HjwlOOjmbgVjgsglw48Velfb7+l39NpF6kfHSwB+3eMrPLgi72EYfJWkFNcwpmbWiTin
         ivTE7syJMbS0LujUcPuVdKQZ5yrq62Rp9bviEjCTnwLS/kBGzbLJhpixeTkvNNaJz72V
         //DrBWEIGBMw3fcyYavM5o+EwtUyewPtPE6bi0BG+3Vcc1CfXpUR1gaHQzu2D4Tjl95g
         IOGQ==
X-Gm-Message-State: AOJu0YzUtiqViQEyNyUpCnVTaLx7YWZSUg1QZU+6t3rvnkmq12Z8+d6t
	B2w1c5ntVfkGl+BqcAIHqXP8j+Y5mtPpk5Y68oa4+cEpdUey5FHH/5MgFFNb0iMapWzIC6AKFvm
	U
X-Google-Smtp-Source: AGHT+IHKHUGZTELl72V4MWHUR/qDU/v+QgHDgba7KFOdipvdH+kVQOIjYxd6L1j+cCWGL7k36MgKsg==
X-Received: by 2002:a05:600c:a4a:b0:416:442a:6d23 with SMTP id c10-20020a05600c0a4a00b00416442a6d23mr2992321wmq.8.1712568549910;
        Mon, 08 Apr 2024 02:29:09 -0700 (PDT)
Date: Mon, 8 Apr 2024 10:29:08 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [OSSTEST PATCH 00/36] Switch to Debian Bookworm
Message-ID: <0f89a920-c834-4a51-9b53-8e94ba7e3664@perard>
References: <20240318165545.3898-1-anthony.perard@citrix.com>
 <93b8a3e8-2866-42ca-9132-1527d82928e9@perard>
 <f178e1fb-0b6f-4312-a483-b85f413db025@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f178e1fb-0b6f-4312-a483-b85f413db025@perard>

On Fri, Apr 05, 2024 at 04:54:30PM +0100, Anthony PERARD wrote:
> On Thu, Mar 28, 2024 at 05:54:04PM +0000, Anthony PERARD wrote:
> > On Mon, Mar 18, 2024 at 04:55:09PM +0000, Anthony PERARD wrote:
> 
> I've now pushed
> "production-config: Set Bookworm's debian-installer version"
> 
> and these two:
> 
> > >   Switch to Debian Bookworm as default suite
> > >   make-hosts-flight: default to bookworm
> 
> osstest should start to use Debian Bookworm soon.

osstest failed it's own push gate, I didn't notice that the Arm* builds
was still using an old kernel (from our linux-arm-xen branch) instead of
6.1. So I've rewind this push and pushed an other fix instead:
https://lore.kernel.org/xen-devel/20240408092542.36711-1-anthony.perard@citrix.com/

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 09:57:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 09:57:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701879.1096457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtlkk-0008Ch-9R; Mon, 08 Apr 2024 09:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701879.1096457; Mon, 08 Apr 2024 09: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 1rtlkk-0008Ca-6g; Mon, 08 Apr 2024 09:57:26 +0000
Received: by outflank-mailman (input) for mailman id 701879;
 Mon, 08 Apr 2024 09:57: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=2aee=LN=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rtlkj-0008CU-3Z
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 09:57:25 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64c5099d-f58e-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 11:57:22 +0200 (CEST)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-78d575054c8so100835985a.3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 02:57:22 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 vv20-20020a05620a563400b0078d632edfd4sm1238673qkn.14.2024.04.08.02.57.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 02: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: 64c5099d-f58e-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712570241; x=1713175041; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=o4Y7ls6k2FQQRv3VGW2KKfHMGLoL5vTu39zdhaowL/w=;
        b=WQN4oJJDjEyB0gqTbG2ZAbslp/vnuqt96EcyvGLO9JXNqNmfb7AHZd3weAQlXkiBmG
         Y5DBdKg4hXHONg4XwIcM3GBAc/ddOAKOX0cxl4FawT34K5kAmGCA/kBviUK0q2c8vmND
         3xQ41BlDYb+0BMGfh2PXdH5+zSPPaMhpG7czg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712570241; x=1713175041;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o4Y7ls6k2FQQRv3VGW2KKfHMGLoL5vTu39zdhaowL/w=;
        b=AOwC5KtVtWn1QFcTBQsjGVGry7S7h8W8TZAwl3w4UxG960OlejWhrFN2tieKuy4gYg
         F21M9EmtJIm0BNhCA/q8i39b9BHrb4aNLCe1s5+qDvtHPXHb5Mn3SYRERM6t3FP4EI3A
         JzTQqrrs1oLuEnDt24a5138EeVtjyqoAwiHmkRj+nnWJtEXi9Uc55OkohMfKuZ1m7mZi
         fCxx0zraZKmuz3Fl2p8xg/7hOPiaZxtT/iQ/47iVIk6vuN1g8Yd7gC12AUlYaH8XrjvR
         cHNjp8Kmrj4XxMt/O2UB3gQwa5rnXfXyob5YXzP4AF+nk/Y2rh32U+LeDtOXxeNrxxf+
         hNPw==
X-Forwarded-Encrypted: i=1; AJvYcCWT26sLRVkGqYJkfa3T/FEoH2OQDJk8GeG/Fsfd2jyiCLfifjOJalV3rPcAE8obXFfEFgGvkZ7yaLNjs/AaN1X3Vgo8syuAUr5Rx9YqUiI=
X-Gm-Message-State: AOJu0Yy6kUNFyNFjWke9RMoDJxw/gaFaBp4RQ+ntZ+jDKf2eWgNjDYm/
	0yevvf3ejMviHkUzroUQyo1bdj1W87o6qpJd3VniNsed7vccr1VTKlGa/9cI/IE=
X-Google-Smtp-Source: AGHT+IHroqRrlrsPzfZvf4RzCi4YpeqqTMBRAkqmDfCc/WoqUnSDUAAbhrRHyVo4eT4HPp/a0ljZFA==
X-Received: by 2002:a05:620a:cfb:b0:78d:3a84:5ae8 with SMTP id c27-20020a05620a0cfb00b0078d3a845ae8mr7782957qkj.65.1712570241510;
        Mon, 08 Apr 2024 02:57:21 -0700 (PDT)
Message-ID: <8382517c-7516-4f40-b508-fbd6e7f1e65e@citrix.com>
Date: Mon, 8 Apr 2024 10:57:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/5] x86/xen-ucode: Introduce --force option
To: Fouad Hilly <fouad.hilly@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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
References: <20240405121128.260493-1-fouad.hilly@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: <20240405121128.260493-1-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05/04/2024 1:11 pm, Fouad Hilly wrote:
> Refactor and introduce --force option to xen-ucode, which skips microcode
> version check when updating x86 CPU micocode. A new hypercall introduced
> with flags field to facilitate the new option and allow for future flags
> as needed.

It's worth giving a bit of background for reviewers.

Basically, my "ucode=allow-same" for testing purposes has proved
insufficient, so we're wanting to replace it with a "user knows what
they're doing and gets to keep the pieces" option instead.

Upcoming is the Intel microcode-revision extension, which has different
implications for Xen than it does for Linux, by virtue of our
proto-support to re-scan CPUID and cope with new things appearing.

Also, while not a consideration for this issue, it subsequently turns
out that there is a microcode bug on Gemini Lake CPUs for which
downgrading the microcode is a viable and practical fix.

In all cases, having an ability to say "trust me, I know what I'm doing,
really try and give this blob to the CPU" would help in some corner cases.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 10:01:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 10:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701881.1096467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtloi-0001Ir-PT; Mon, 08 Apr 2024 10:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701881.1096467; Mon, 08 Apr 2024 10: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 1rtloi-0001Ik-Ms; Mon, 08 Apr 2024 10:01:32 +0000
Received: by outflank-mailman (input) for mailman id 701881;
 Mon, 08 Apr 2024 10: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtloh-0001Ie-FZ
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 10:01:31 +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 f8bcb2c3-f58e-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 12:01:30 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-34339f01cd2so3165271f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 03:01: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
 d6-20020a056000114600b003456c693fa4sm4312525wrx.93.2024.04.08.03.01.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 03: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: f8bcb2c3-f58e-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712570490; x=1713175290; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=UOx+rB7rPgYi29YWKQloasufj13NxXJ6buAFc5pUP5Q=;
        b=ec13XXbcVwQnWJsAsgjlbf3Bi7wxG4ml3o6oHkuwSZ7ktHHS5Vystlav4YCNs2w5dX
         142Nk4x6BtkEG2qP3GV0f95xFnH57vOTlDcS3WkwBfBCxScN7Q20dVZK5+4LlvMfG91J
         5gpC7Buq/sjIdwVmIX0KYRjGyfEsIq7Xd/nBWR0kY/ysvbxG9TTCO9aXvBMvKW7d8ajL
         GWAGzsv39KXSpM6SX1MZqEp5/XPOEnbB101XYA3CrHK+zqVIFqKAgidSTh/2wFmXzaTI
         1ZluOOKnsVVmGjamLReyb46gietA7+F3Y0JWS3meHvPaYOt+9M7fKZPFu1NTBDPfpUMe
         O1Zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712570490; x=1713175290;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=UOx+rB7rPgYi29YWKQloasufj13NxXJ6buAFc5pUP5Q=;
        b=Tb/7iehMyK1flfxepC7IaYlSEsKoywsdlgpdNuYoOiSS4GOsS+213sbIX1iRNqgq1g
         lWntV6jGL4ay12psO/1lETAg4El8owi2aC1Yuoa0b8L9yTNxzLiRSwbvizTgeMpB5Zv/
         ao3igSWZLtofVOlNfGH4mzIUKTOa0zYG1EyovUyAqqTpGeeT/X71HGJ6xQ9vnwjnwDM4
         92QVT+bdGLu/hxusAp/1KlKqLG9yAPuuoExlsZxhi2xnVbmvz6shy1rsbTjAK+bF+3s/
         g1+5emxwA/FV74FoEkWn5UJpaJgcHnXtIbiZyopKEV8INMrj55sWjH57HlXNl0IUl5ry
         mv4g==
X-Forwarded-Encrypted: i=1; AJvYcCXE5nompVpeSMBMCW6wWqiAot10TyMKIpkociUTv56oiAqidFdOZdXzt3z1QxcC/7YNdLhT1weuJobnG2lJy7scKMzeR9/5fGH8mnHIVuY=
X-Gm-Message-State: AOJu0Yzmr5LUUl30E8EAAi9efe5W46UYpKpk2zMgQPZhDPepElykoWc0
	1Tvz4XiG20OFNJoC8F4AR+hr+Wuusxy5sLvUrEWgLbd1Ku2H6K6ZEoQ7FKDVEg==
X-Google-Smtp-Source: AGHT+IGAnCBNuskCiFTqjSno4zgP520NJHnAiceGL0Hd7R5+MQK5XXtSs5HMU8lcP74qqKUt8o59Xw==
X-Received: by 2002:a05:6000:239:b0:345:66a1:d92d with SMTP id l25-20020a056000023900b0034566a1d92dmr2848105wrz.29.1712570489868;
        Mon, 08 Apr 2024 03:01:29 -0700 (PDT)
Message-ID: <ea767998-7645-45d6-a752-a0b8c32de7f1@suse.com>
Date: Mon, 8 Apr 2024 12:01:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86: Add --force option to xen-ucode to override
 microcode version check
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-6-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240405121128.260493-6-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.04.2024 14:11, Fouad Hilly wrote:
> --- a/tools/libs/ctrl/xc_misc.c
> +++ b/tools/libs/ctrl/xc_misc.c
> @@ -203,7 +203,7 @@ int xc_physinfo(xc_interface *xch,
>      return 0;
>  }
>  
> -int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
> +int xc_microcode_update(xc_interface *xch, const void *buf, size_t len, uint32_t flags)

I don't think uint32_t needs using here; unsigned int will be just fine. The
line also looks a little long.

> @@ -215,7 +215,15 @@ int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
>  
>      memcpy(uc, buf, len);
>  
> -    platform_op.cmd = XENPF_microcode_update;
> +    if ( flags > XENPF_UCODE_FLAG_FORCE_NOT_SET )

I was wondering about the purpose of XENPF_UCODE_FLAG_FORCE_NOT_SET. I don't
think this constant is needed: Just like with any flags, simply using 0 when
none are set is fine both at the producing and consuming sides.

> @@ -120,12 +125,17 @@ int main(int argc, char *argv[])
>                      goto ext_err;
>                  show_curr_cpu(stdout);
>                  exit(EXIT_SUCCESS);
> +            case 'f':
> +            ucode_flag = XENPF_UCODE_FLAG_FORCE_SET;

Nit: Bad indentation.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 10:23:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 10:23:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701887.1096477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtm9b-0005F9-Ds; Mon, 08 Apr 2024 10:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701887.1096477; Mon, 08 Apr 2024 10:23:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtm9b-0005F2-AS; Mon, 08 Apr 2024 10:23:07 +0000
Received: by outflank-mailman (input) for mailman id 701887;
 Mon, 08 Apr 2024 10:23:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=djzs=LN=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rtm9a-0005Ew-3p
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 10:23:06 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa7d06f8-f591-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 12:23:01 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2d886dd4f18so12082811fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 03:23:01 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l8-20020a1c7908000000b00416838eeda7sm665967wme.1.2024.04.08.03.23.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Apr 2024 03: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: fa7d06f8-f591-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712571781; x=1713176581; 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=eQWcSoGSs4u7E5KUko9THOfWCCg1AklJd4XJDC2Aw3U=;
        b=ew3+zhWM832/JZEu9pvAdmkph9/vMPC7ePL0GAAPk1OwRaafPGpe5nLy3EpIBdjIZ2
         9kywgK17pG4RVlroUdDkq8l7mcqlBC3WTazSj8rQjX0HtEzPR2+G9b2yehJ8LsUk38iw
         3+u34/3kqWD2o94Jl7/Z7lNc0DJGLHdhfzs6E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712571781; x=1713176581;
        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=eQWcSoGSs4u7E5KUko9THOfWCCg1AklJd4XJDC2Aw3U=;
        b=IVVkzHc8PmBFotDy0KZZ15OfnZBgx/6bQUv8UvkkVpyrok6CfL1b5JAwT7Gw4MOso0
         9CHuB3665Mw9e3lwT5KQnSKLTua6PInIPegk8orLDeo4+Vxh0plQD+j/q1ep+P4IZrO/
         HgsVoh0i7tdYkMyckGhatLSyAMptTRzuMLTSZ8D8uAiyz/VlUgV17KVcRNdGOobPjgHZ
         TIylDD1sGWXPDm/Hp87Ldsesv7LbN1OQP4C9mGrcOiTUwOf1QyZswW1WtCimpDzWDay7
         A8ZD+IoElXIhdOOqiOVVDLE//ZyakJh2gKcJaaaH4nO/GGJy25tkmiIInJ9C5Tjpd1+m
         cAiA==
X-Forwarded-Encrypted: i=1; AJvYcCVZJuOpBITy/JG2NHNEc34NRUxwkcCvHiFOGtZYma4Clze+Sh+0+S2L7I6thZAh83JvWjwSs0rTwjN3oTKf2vlBzUxaRb8yRVq8vRns9Tw=
X-Gm-Message-State: AOJu0YzlUsfxf/YCdEWoIBgwOKlONHGwBJBz32uDsanED0fDsd2ZRtYK
	Npmk4S+BrpY/fKPddh4hAtoWv2UJwE5HB6qbaaBpxEgnYYSvWokjV2mtKdNUKlIg2SCAEqPH2Hy
	i
X-Google-Smtp-Source: AGHT+IHVEWICi/Q8QMp/tD+l30c+k8xCYBmkiRMeY3pEC9QEl3Mhdmx87KFV1O6RjK3R4lWkdwB7IQ==
X-Received: by 2002:ac2:4884:0:b0:515:c43e:19c6 with SMTP id x4-20020ac24884000000b00515c43e19c6mr6019948lfc.23.1712571781089;
        Mon, 08 Apr 2024 03:23:01 -0700 (PDT)
Date: Mon, 8 Apr 2024 11:22:59 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: =?iso-8859-1?Q?J=FCrgen_Gro=DF?= <jgross@suse.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Subject: Re: Linux Xen PV CPA W^X violation false-positives
Message-ID: <f86bc525-1a77-4b7a-b1b3-9a22d9525e90@perard>
References: <20240124165401.35784-1-jandryuk@gmail.com>
 <a2246242-627a-493b-9cd4-c76b0cb301ee@suse.com>
 <CAKf6xps9X=6GYxuk9u2cPYh_pzpLu2MQ00smydRQ40TjxDhgEQ@mail.gmail.com>
 <9b5a105a-650c-4b33-9f4e-03612fb6701c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9b5a105a-650c-4b33-9f4e-03612fb6701c@suse.com>

On Thu, Mar 28, 2024 at 02:00:14PM +0100, Jürgen Groß wrote:
> Hi Jason,
> 
> On 28.03.24 02:24, Jason Andryuk wrote:
> > On Wed, Mar 27, 2024 at 7:46 AM Jürgen Groß <jgross@suse.com> wrote:
> > > 
> > > On 24.01.24 17:54, Jason Andryuk wrote:
> > > > +
> > > > +                     return new;
> > > > +             }
> > > > +     }
> > > > +
> > > >        end = start + npg * PAGE_SIZE - 1;
> > > >        WARN_ONCE(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
> > > >                  (unsigned long long)pgprot_val(old),
> > > 
> > > Jason, do you want to send a V2 with your Signed-off, or would you like me to
> > > try upstreaming the patch?
> > 
> > Hi Jürgen,
> > 
> > Yes, please upstream your approach.  I wasn't sure how to deal with
> > it, so it was more of a bug report.
> 
> The final solution was a bit more complicated, as there are some
> corner cases to be considered. OTOH it is now complete by looking
> at all used translation entries.
> 
> Are you able to test the attached patch? I don't see the original
> issue and can only verify the patch doesn't cause any regression.
> 
> 
> Juergen

Hi Jürgen,

I gave a try to the patch in this email with osstest, and I can't find a
single "CPA detected W^X violation" log entry, when there's seems to be
many in osstest in general, from dom0 it seems as it's on the host
serial console usually.

http://logs.test-lab.xenproject.org/osstest/logs/185252/

If you look in several "serial-$host.log*" files, there will be the
"CPA detected" message, but they happen on previous test run.

I did an other smaller run before this one, and same thing:
http://logs.test-lab.xenproject.org/osstest/logs/185186/

And this other run as well, which I failed to setup properly with lots
of broken, but no failure due to the patch and I can't find any "CPA
detected" messages.
http://logs.test-lab.xenproject.org/osstest/logs/185248/

I hope that helps?

Cheers,


> From fd25a67d92e44b61d05d92658b23d026202a1656 Mon Sep 17 00:00:00 2001
> From: Juergen Gross <jgross@suse.com>
> To: x86@kernel.org
> To: linux-kernel@vger.kernel.org
> To: xen-devel@lists.xenproject.org
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Andy Lutomirski <luto@kernel.org>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Date: Thu, 28 Mar 2024 12:24:48 +0100
> Subject: [PATCH] x86/pat: fix W^X violation false-positives when running as
>  Xen PV guest
> 
> When running as Xen PV guest in some cases W^X violation WARN()s have
> been observed. Those WARN()s are produced by verify_rwx(), which looks
> into the PTE to verify that writable kernel pages have the NX bit set
> in order to avoid code modifications of the kernel by rogue code.
> 
> As the NX bits of all levels of translation entries are or-ed and the
> RW bits of all levels are and-ed, looking just into the PTE isn't enough
> for the decision that a writable page is executable, too. When running
> as a Xen PV guest, kernel initialization will set the NX bit in PMD
> entries of the initial page tables covering the .data segment.
> 
> When finding the PTE to have set the RW bit but no NX bit, higher level
> entries must be looked at. Only when all levels have the RW bit set and
> no NX bit set, the W^X violation should be flagged.
> 
> Additionally show_fault_oops() has a similar problem: it will issue the
> "kernel tried to execute NX-protected page" message only if it finds
> the NX bit set in the leaf translation entry, while any NX bit in
> non-leaf entries are being ignored for issuing the message.
> 
> Modify lookup_address_in_pgd() to return the effective NX and RW bit
> values of the non-leaf translation entries and evaluate those as well
> in verify_rwx() and show_fault_oops().
> 
> Fixes: 652c5bf380ad ("x86/mm: Refuse W^X violations")
> Reported-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  arch/x86/include/asm/pgtable_types.h |  2 +-
>  arch/x86/kernel/sev.c                |  3 +-
>  arch/x86/mm/fault.c                  |  7 ++--
>  arch/x86/mm/pat/set_memory.c         | 56 +++++++++++++++++++++-------
>  arch/x86/virt/svm/sev.c              |  3 +-
>  5 files changed, 52 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
> index 0b748ee16b3d..91ab538d3872 100644
> --- a/arch/x86/include/asm/pgtable_types.h
> +++ b/arch/x86/include/asm/pgtable_types.h
> @@ -565,7 +565,7 @@ static inline void update_page_count(int level, unsigned long pages) { }
>   */
>  extern pte_t *lookup_address(unsigned long address, unsigned int *level);
>  extern pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
> -				    unsigned int *level);
> +				    unsigned int *level, bool *nx, bool *rw);
>  extern pmd_t *lookup_pmd_address(unsigned long address);
>  extern phys_addr_t slow_virt_to_phys(void *__address);
>  extern int __init kernel_map_pages_in_pgd(pgd_t *pgd, u64 pfn,
> diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
> index b59b09c2f284..e833183d1adb 100644
> --- a/arch/x86/kernel/sev.c
> +++ b/arch/x86/kernel/sev.c
> @@ -515,12 +515,13 @@ static enum es_result vc_slow_virt_to_phys(struct ghcb *ghcb, struct es_em_ctxt
>  	unsigned long va = (unsigned long)vaddr;
>  	unsigned int level;
>  	phys_addr_t pa;
> +	bool nx, rw;
>  	pgd_t *pgd;
>  	pte_t *pte;
>  
>  	pgd = __va(read_cr3_pa());
>  	pgd = &pgd[pgd_index(va)];
> -	pte = lookup_address_in_pgd(pgd, va, &level);
> +	pte = lookup_address_in_pgd(pgd, va, &level, &nx, &rw);
>  	if (!pte) {
>  		ctxt->fi.vector     = X86_TRAP_PF;
>  		ctxt->fi.cr2        = vaddr;
> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
> index 622d12ec7f08..eb8e897a5653 100644
> --- a/arch/x86/mm/fault.c
> +++ b/arch/x86/mm/fault.c
> @@ -514,18 +514,19 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code, unsigned long ad
>  
>  	if (error_code & X86_PF_INSTR) {
>  		unsigned int level;
> +		bool nx, rw;
>  		pgd_t *pgd;
>  		pte_t *pte;
>  
>  		pgd = __va(read_cr3_pa());
>  		pgd += pgd_index(address);
>  
> -		pte = lookup_address_in_pgd(pgd, address, &level);
> +		pte = lookup_address_in_pgd(pgd, address, &level, &nx, &rw);
>  
> -		if (pte && pte_present(*pte) && !pte_exec(*pte))
> +		if (pte && pte_present(*pte) && (!pte_exec(*pte) || nx))
>  			pr_crit("kernel tried to execute NX-protected page - exploit attempt? (uid: %d)\n",
>  				from_kuid(&init_user_ns, current_uid()));
> -		if (pte && pte_present(*pte) && pte_exec(*pte) &&
> +		if (pte && pte_present(*pte) && pte_exec(*pte) && !nx &&
>  				(pgd_flags(*pgd) & _PAGE_USER) &&
>  				(__read_cr4() & X86_CR4_SMEP))
>  			pr_crit("unable to execute userspace code (SMEP?) (uid: %d)\n",
> diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
> index 80c9037ffadf..baa4dc4748e9 100644
> --- a/arch/x86/mm/pat/set_memory.c
> +++ b/arch/x86/mm/pat/set_memory.c
> @@ -619,7 +619,8 @@ static inline pgprot_t static_protections(pgprot_t prot, unsigned long start,
>   * Validate strict W^X semantics.
>   */
>  static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long start,
> -				  unsigned long pfn, unsigned long npg)
> +				  unsigned long pfn, unsigned long npg,
> +				  bool nx, bool rw)
>  {
>  	unsigned long end;
>  
> @@ -641,6 +642,10 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
>  	if ((pgprot_val(new) & (_PAGE_RW | _PAGE_NX)) != _PAGE_RW)
>  		return new;
>  
> +	/* Non-leaf translation entries can disable writing or execution. */
> +	if (!rw || nx)
> +		return new;
> +
>  	end = start + npg * PAGE_SIZE - 1;
>  	WARN_ONCE(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
>  		  (unsigned long long)pgprot_val(old),
> @@ -660,17 +665,22 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
>   * Return a pointer to the entry and the level of the mapping.
>   */
>  pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
> -			     unsigned int *level)
> +			     unsigned int *level, bool *nx, bool *rw)
>  {
>  	p4d_t *p4d;
>  	pud_t *pud;
>  	pmd_t *pmd;
>  
>  	*level = PG_LEVEL_NONE;
> +	*nx = false;
> +	*rw = true;
>  
>  	if (pgd_none(*pgd))
>  		return NULL;
>  
> +	*nx |= pgd_flags(*pgd) & _PAGE_NX;
> +	*rw &= pgd_flags(*pgd) & _PAGE_RW;
> +
>  	p4d = p4d_offset(pgd, address);
>  	if (p4d_none(*p4d))
>  		return NULL;
> @@ -679,6 +689,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  	if (p4d_leaf(*p4d) || !p4d_present(*p4d))
>  		return (pte_t *)p4d;
>  
> +	*nx |= p4d_flags(*p4d) & _PAGE_NX;
> +	*rw &= p4d_flags(*p4d) & _PAGE_RW;
> +
>  	pud = pud_offset(p4d, address);
>  	if (pud_none(*pud))
>  		return NULL;
> @@ -687,6 +700,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  	if (pud_leaf(*pud) || !pud_present(*pud))
>  		return (pte_t *)pud;
>  
> +	*nx |= pud_flags(*pud) & _PAGE_NX;
> +	*rw &= pud_flags(*pud) & _PAGE_RW;
> +
>  	pmd = pmd_offset(pud, address);
>  	if (pmd_none(*pmd))
>  		return NULL;
> @@ -695,6 +711,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  	if (pmd_leaf(*pmd) || !pmd_present(*pmd))
>  		return (pte_t *)pmd;
>  
> +	*nx |= pmd_flags(*pmd) & _PAGE_NX;
> +	*rw &= pmd_flags(*pmd) & _PAGE_RW;
> +
>  	*level = PG_LEVEL_4K;
>  
>  	return pte_offset_kernel(pmd, address);
> @@ -710,18 +729,24 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>   */
>  pte_t *lookup_address(unsigned long address, unsigned int *level)
>  {
> -	return lookup_address_in_pgd(pgd_offset_k(address), address, level);
> +	bool nx, rw;
> +
> +	return lookup_address_in_pgd(pgd_offset_k(address), address, level,
> +				     &nx, &rw);
>  }
>  EXPORT_SYMBOL_GPL(lookup_address);
>  
>  static pte_t *_lookup_address_cpa(struct cpa_data *cpa, unsigned long address,
> -				  unsigned int *level)
> +				  unsigned int *level, bool *nx, bool *rw)
>  {
> -	if (cpa->pgd)
> -		return lookup_address_in_pgd(cpa->pgd + pgd_index(address),
> -					       address, level);
> +	pgd_t *pgd;
> +
> +	if (!cpa->pgd)
> +		pgd = pgd_offset_k(address);
> +	else
> +		pgd = cpa->pgd + pgd_index(address);
>  
> -	return lookup_address(address, level);
> +	return lookup_address_in_pgd(pgd, address, level, nx, rw);
>  }
>  
>  /*
> @@ -849,12 +874,13 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
>  	pgprot_t old_prot, new_prot, req_prot, chk_prot;
>  	pte_t new_pte, *tmp;
>  	enum pg_level level;
> +	bool nx, rw;
>  
>  	/*
>  	 * Check for races, another CPU might have split this page
>  	 * up already:
>  	 */
> -	tmp = _lookup_address_cpa(cpa, address, &level);
> +	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>  	if (tmp != kpte)
>  		return 1;
>  
> @@ -965,7 +991,8 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
>  	new_prot = static_protections(req_prot, lpaddr, old_pfn, numpages,
>  				      psize, CPA_DETECT);
>  
> -	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages);
> +	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages,
> +			      nx, rw);
>  
>  	/*
>  	 * If there is a conflict, split the large page.
> @@ -1046,6 +1073,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
>  	pte_t *pbase = (pte_t *)page_address(base);
>  	unsigned int i, level;
>  	pgprot_t ref_prot;
> +	bool nx, rw;
>  	pte_t *tmp;
>  
>  	spin_lock(&pgd_lock);
> @@ -1053,7 +1081,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
>  	 * Check for races, another CPU might have split this page
>  	 * up for us already:
>  	 */
> -	tmp = _lookup_address_cpa(cpa, address, &level);
> +	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>  	if (tmp != kpte) {
>  		spin_unlock(&pgd_lock);
>  		return 1;
> @@ -1594,10 +1622,11 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
>  	int do_split, err;
>  	unsigned int level;
>  	pte_t *kpte, old_pte;
> +	bool nx, rw;
>  
>  	address = __cpa_addr(cpa, cpa->curpage);
>  repeat:
> -	kpte = _lookup_address_cpa(cpa, address, &level);
> +	kpte = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>  	if (!kpte)
>  		return __cpa_process_fault(cpa, address, primary);
>  
> @@ -1619,7 +1648,8 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
>  		new_prot = static_protections(new_prot, address, pfn, 1, 0,
>  					      CPA_PROTECT);
>  
> -		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1);
> +		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1,
> +				      nx, rw);
>  
>  		new_prot = pgprot_clear_protnone_bits(new_prot);
>  
> diff --git a/arch/x86/virt/svm/sev.c b/arch/x86/virt/svm/sev.c
> index cffe1157a90a..9131d80cff36 100644
> --- a/arch/x86/virt/svm/sev.c
> +++ b/arch/x86/virt/svm/sev.c
> @@ -338,12 +338,13 @@ void snp_dump_hva_rmpentry(unsigned long hva)
>  {
>  	unsigned long paddr;
>  	unsigned int level;
> +	bool nx, rw;
>  	pgd_t *pgd;
>  	pte_t *pte;
>  
>  	pgd = __va(read_cr3_pa());
>  	pgd += pgd_index(hva);
> -	pte = lookup_address_in_pgd(pgd, hva, &level);
> +	pte = lookup_address_in_pgd(pgd, hva, &level, &nx, &rw);
>  
>  	if (!pte) {
>  		pr_err("Can't dump RMP entry for HVA %lx: no PTE/PFN found\n", hva);
> -- 
> 2.35.3
> 


-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 10:25:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 10:25:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701890.1096487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmBp-0005yZ-Sf; Mon, 08 Apr 2024 10:25:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701890.1096487; Mon, 08 Apr 2024 10:25:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmBp-0005yS-Oo; Mon, 08 Apr 2024 10:25:25 +0000
Received: by outflank-mailman (input) for mailman id 701890;
 Mon, 08 Apr 2024 10:25: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=djzs=LN=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rtmBo-0005yI-0F
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 10:25:24 +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 4e1aa142-f592-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 12:25:22 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a519e04b142so380623366b.3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 03:25:22 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gt17-20020a1709072d9100b00a51b3d4bb39sm3232208ejc.59.2024.04.08.03.25.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Apr 2024 03:25: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: 4e1aa142-f592-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712571921; x=1713176721; 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=nTjH8TUnN2BaFbh7NQcnmBBOL2CeQ8UpqBOXW12sZhk=;
        b=Z2LhahIZp5ul8E8HMKeTJoC4d88qFgPdyxoi7NtMIamGPLckW4/HUZnkkLsJ5TqPVU
         CpKwv24BhOQW/2XA+2lLb93wlkWjbBkwByhsMVKSj0DUfSS1dk4NLio3GBVfo6GCEMrC
         xBEjFqzsC1y/DbyGbQhQS0tZw3agkXtueo4g4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712571921; x=1713176721;
        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=nTjH8TUnN2BaFbh7NQcnmBBOL2CeQ8UpqBOXW12sZhk=;
        b=aE5CaYvjuKWS4TvPbDb/m0Ve7VoIFyHWw565WnOh7wYB3XwdCcMYej7QGRCXXWiKyM
         6K7PIlelTpQ4O1tMmLpwBgPylQwVq7+6TUNnyGSHKiAX6JIUlQZ78/1ceG8CTeCpLXmK
         OUOyjSq7t3OxrBDVkoRBjr75S4VE/ZInZKRjaS0/N8fbBbqGBDSK0HY5i5Ee6Oh8sRH+
         F601JPEglzdUbpmfHSozI6qhVfZQ7IJSqZ3/U2bpLxdcB+vMSlFNGI4jMLUuQyFDhNI6
         Npu9qpBn+H4bDHF75qgZih7YhXDS/NzU2ZzFhctGtp/Y5OegN2P1ByCzQmNg8COI2BS2
         hhyA==
X-Forwarded-Encrypted: i=1; AJvYcCWoAy9iVw9mUcx8/b1xQbO0iEn/k2HVX3+XMO/+9Enq7Tlbti/85v6TDArK0IqWAXQqaNUGi6srJAjlKH/lb/THNlDZ1cG4h5UPyVZ8djs=
X-Gm-Message-State: AOJu0YzjT844Mby8ZJXBtNumgFQHXamM++g8WVL5ccZsi5oeGH/TDAHE
	Zvd9sBJNvj0PGGOqzvMN5TxQ6OY+/shgU7OZfLPkpk7zaWhiKzTYJd7uFEvUl8g=
X-Google-Smtp-Source: AGHT+IFXL4X1RZviJ+DH/25TuuehQsIlW0O+COeUZmAkB3cvxMwxYwxDRWsSXNYyzntD1fP9l/926Q==
X-Received: by 2002:a17:906:594c:b0:a46:22a3:479f with SMTP id g12-20020a170906594c00b00a4622a3479fmr6299841ejr.21.1712571921493;
        Mon, 08 Apr 2024 03:25:21 -0700 (PDT)
Date: Mon, 8 Apr 2024 11:25:20 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: =?iso-8859-1?Q?J=FCrgen_Gro=DF?= <jgross@suse.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Subject: Re: Linux Xen PV CPA W^X violation false-positives
Message-ID: <bab9ec69-5927-44c5-b8f9-0900c9862421@perard>
References: <20240124165401.35784-1-jandryuk@gmail.com>
 <a2246242-627a-493b-9cd4-c76b0cb301ee@suse.com>
 <CAKf6xps9X=6GYxuk9u2cPYh_pzpLu2MQ00smydRQ40TjxDhgEQ@mail.gmail.com>
 <9b5a105a-650c-4b33-9f4e-03612fb6701c@suse.com>
 <f86bc525-1a77-4b7a-b1b3-9a22d9525e90@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f86bc525-1a77-4b7a-b1b3-9a22d9525e90@perard>

On Mon, Apr 08, 2024 at 11:22:59AM +0100, Anthony PERARD wrote:
> On Thu, Mar 28, 2024 at 02:00:14PM +0100, Jürgen Groß wrote:
> > Hi Jason,
> > 
> > On 28.03.24 02:24, Jason Andryuk wrote:
> > > On Wed, Mar 27, 2024 at 7:46 AM Jürgen Groß <jgross@suse.com> wrote:
> > > > 
> > > > On 24.01.24 17:54, Jason Andryuk wrote:
> > > > > +
> > > > > +                     return new;
> > > > > +             }
> > > > > +     }
> > > > > +
> > > > >        end = start + npg * PAGE_SIZE - 1;
> > > > >        WARN_ONCE(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
> > > > >                  (unsigned long long)pgprot_val(old),
> > > > 
> > > > Jason, do you want to send a V2 with your Signed-off, or would you like me to
> > > > try upstreaming the patch?
> > > 
> > > Hi Jürgen,
> > > 
> > > Yes, please upstream your approach.  I wasn't sure how to deal with
> > > it, so it was more of a bug report.
> > 
> > The final solution was a bit more complicated, as there are some
> > corner cases to be considered. OTOH it is now complete by looking
> > at all used translation entries.
> > 
> > Are you able to test the attached patch? I don't see the original
> > issue and can only verify the patch doesn't cause any regression.
> > 
> > 
> > Juergen
> 
> Hi Jürgen,
> 
> I gave a try to the patch in this email with osstest, and I can't find a
> single "CPA detected W^X violation" log entry, when there's seems to be
> many in osstest in general, from dom0 it seems as it's on the host
> serial console usually.
> 
> http://logs.test-lab.xenproject.org/osstest/logs/185252/
> 
> If you look in several "serial-$host.log*" files, there will be the
> "CPA detected" message, but they happen on previous test run.
> 
> I did an other smaller run before this one, and same thing:
> http://logs.test-lab.xenproject.org/osstest/logs/185186/
> 
> And this other run as well, which I failed to setup properly with lots
> of broken, but no failure due to the patch and I can't find any "CPA
> detected" messages.
> http://logs.test-lab.xenproject.org/osstest/logs/185248/
> 
> I hope that helps?

BTW, I did apply the patch to Linux 6.1:
https://xenbits.xen.org/gitweb/?p=people/aperard/linux.git;a=shortlog;h=refs/heads/9b5a105a-650c-4b33-9f4e-03612fb6701c@suse.com

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 10:25:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 10:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701891.1096497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmC5-0006Li-2o; Mon, 08 Apr 2024 10:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701891.1096497; Mon, 08 Apr 2024 10:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmC4-0006Lb-WC; Mon, 08 Apr 2024 10:25:41 +0000
Received: by outflank-mailman (input) for mailman id 701891;
 Mon, 08 Apr 2024 10:25:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtmC4-0006KC-EN
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 10:25:40 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 584c95fa-f592-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 12:25:39 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-343b7c015a8so2681325f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 03:25: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
 j31-20020a5d6e5f000000b0033fc06f2d84sm8622030wrz.109.2024.04.08.03.25.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 03: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: 584c95fa-f592-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712571938; x=1713176738; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wZzYdb/vuDWgkDB5mfmOcG9DUByeCXJjHJxTajEDocs=;
        b=GUzFrfnm8xT/Z9OhMjrQRkMRUrrgyPBRGv/E4ULPgh/B4kZMSKoatTG1eQlOY02/TF
         atBfqg7p2Uwrvhc9ubBFR6Lr9CQiQPQfS9y+2SN0FhIq82Z41sunrMChEbd9aZEkMYk0
         1IT67EMSjdqll5mUai2sA+w60bcJ71ekFACmZrz7RduJOu2JnVc2R5/2OMp8/ZJ7k0qu
         qPmr6OK2PWNkWsobgicu/EOwADDuSLAonGbgItPG4IZyVaMsdvYkwXrrhyQs2znoKwJr
         mDSQk79zt72RphNct/mQlrDsrISEBCGGcYempvMMVl12HcPSR/oce8LgrLKHRKWrZ9yY
         qVWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712571938; x=1713176738;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wZzYdb/vuDWgkDB5mfmOcG9DUByeCXJjHJxTajEDocs=;
        b=QtETVvA18uoq6U6c/b8SZsrR1iwP58dyhIKR306atU6kpm5TsmKgPUu7s6/IRlZBjz
         4J2Ovqd3P6hjghuK7ji7YE5BfUT006DYCTCEMZ3z+RhAlbtSrs0adtCHPrR8WfRWzlSF
         atlqtZdIZQ5VdMYOlUBm87dCBZ2CSSksrIwE6mN7V48LJeVBpf2upA01tNEqrZi9WnqE
         6dEajFl4yT4Eg0gutHtBAD6vSIp0xQiYkZgNcxn6Ox5f1V3NVZKmjrtpxuI4H0jH75Cy
         y8IoTEuoMZL3u8fa3t2dIocC0aPVV4LJ3LhbDTp8glal6ZyAhpVci1Kmm7p2lqGscffv
         oK2w==
X-Forwarded-Encrypted: i=1; AJvYcCWw8UzcY5PDDbWvw8H+FFPFxSDGk940RpESlD19uGwWKUNysRdKaHTrNNRngnO93/5ia/XNwlA/y6ZweYvXQJABzHBp3ZOPklAyihn8btI=
X-Gm-Message-State: AOJu0YxedX7xVffIRJ2EoZU7qS4nX9J3+B6yIt6P/zs51SddZNGJi7EQ
	R9bzVBWgkstt/QBPNBlcQm6k3XPraDZaJKIAJpI8yLiw3VGVQFxthsGH1UfsTg==
X-Google-Smtp-Source: AGHT+IHXABCgQH4pKXyKdhMXIYs8W3vyQkKm84BGnOotM04oGR+LX0TIWyMV+6EOY9pN57ixzIKimw==
X-Received: by 2002:a5d:6a09:0:b0:343:79e8:a4d6 with SMTP id m9-20020a5d6a09000000b0034379e8a4d6mr4809476wru.25.1712571938566;
        Mon, 08 Apr 2024 03:25:38 -0700 (PDT)
Message-ID: <c3c2ce12-0699-42b3-bcaf-5bddf0616566@suse.com>
Date: Mon, 8 Apr 2024 12:25:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86: Add support for building a multiboot2 PE
 binary
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240328151106.1451104-1-ross.lagerwall@citrix.com>
 <20240328151106.1451104-2-ross.lagerwall@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240328151106.1451104-2-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2024 16:11, Ross Lagerwall wrote:
> In addition to building xen.efi and xen.gz, build xen-mbi.exe. The
> latter is a PE binary that can be used with a multiboot2 loader that
> supports loading PE binaries.

I have to admit I find .exe a strange extension outside of the Windows
world. Would it be an option to have no extension at all (xen-mbi), or
use xen.mbi?

> Using this option allows the binary to be signed and verified by Shim.
> This means the same xen-mbi.exe binary can then be used for BIOS boot,
> UEFI Boot and UEFI boot with Secure Boot verification (all with the
> convenience of GRUB2 as a bootloader).

With which "UEFI boot" really means "chainloader" from grub? That isn't
required though, is it? I.e. "UEFI boot" ought to work also without
involving grub?

> The new binary is created by modifying xen.efi:
> * Relocations are stripped since they are not needed.

Because of the changed entry point, aiui. What hasn't become clear to
me is what difference in functionality there's going to be between
booting this new image in "UEFI boot" mode vs using xen.efi. Clearly
xen.efi's own (EFI-level) command line options won't be available. But
it feels like there might be more.

> * The image base address is set to 0 since it must necessarily be below
>   4 GiB and the loader will relocate it anyway.

While technically okay, what is the reason for this adjustment? 

> * The PE entry point is set to the multiboot2 entry point rather than
>   the normal EFI entry point. This is only relevant for BIOS boot since
>   for EFI boot the entry point is specified via a multiboot2 tag.

Hmm, I may then be confused about the terminology further up: What is
"BIOS boot" then? So far I've taken that as the equivalent of xen.gz's
way of being booted (i.e. grub without EFI underneath).

> @@ -123,6 +124,19 @@ syms-warn-dup-$(CONFIG_ENFORCE_UNIQUE_SYMBOLS) := --error-dup
>  
>  orphan-handling-$(call ld-option,--orphan-handling=warn) += --orphan-handling=warn
>  
> +ifeq ($(XEN_BUILD_PE),y)
> +$(TARGET)-mbi.exe: $(TARGET).efi $(obj)/efi/modify-mbi-exe
> +	$(OBJCOPY) --remove-section=.reloc $< $@.tmp
> +	$(obj)/efi/modify-mbi-exe $@.tmp
> +	$(OBJCOPY) --set-start=0x$$($(NM) -pa $@.tmp | awk '/T start$$/{print $$1}') $@.tmp $@.tmp2

I understand section removal is better done by objcopy. Changing the entry
point could be done by the new tool, though (by passing it the designated
address)?

As to stripping .reloc - generally this needs accompanying by setting the
"relocations stripped" flag in the COFF(?) header. Here, however, I take
it this is not only not needed, but actually not wanted. This imo wants
saying somewhere; the individual steps done here could do with brief
comments anyway, imo.

> --- /dev/null
> +++ b/xen/arch/x86/efi/modify-mbi-exe.c
> @@ -0,0 +1,77 @@
> +#include <stdio.h>
> +#include <stdint.h>
> +#include <unistd.h>
> +#include <fcntl.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 coff_hdr {
> +    uint32_t signature;
> +    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;
> +};

I can't spot any use of this struct.

Jan

> +#define IMAGE_BASE_OFFSET 48
> +#define NEW_IMAGE_BASE 0x0
> +
> +int main(int argc, char **argv)
> +{
> +    int fd;
> +    struct mz_hdr mz_hdr;
> +    const uint64_t base_addr = NEW_IMAGE_BASE;
> +
> +    if ( argc != 2 )
> +    {
> +        fprintf(stderr, "usage: %s <image>\n", argv[0]);
> +        return 1;
> +    }
> +
> +    fd = open(argv[1], O_RDWR);
> +    if ( fd < 0 ||
> +         read(fd, &mz_hdr, sizeof(mz_hdr)) != sizeof(mz_hdr) )
> +    {
> +        perror(argv[1]);
> +        return 2;
> +    }
> +
> +    if ( mz_hdr.signature != MZ_SIGNATURE ||
> +         !mz_hdr.extended_header_base )
> +    {
> +        fprintf(stderr, "%s: Wrong DOS file format\n", argv[1]);
> +        return 2;
> +    }
> +
> +    if ( lseek(fd, mz_hdr.extended_header_base + IMAGE_BASE_OFFSET, SEEK_SET) < 0 ||
> +         write(fd, &base_addr, sizeof(base_addr)) != sizeof(base_addr) )
> +    {
> +        perror(argv[1]);
> +        return 3;
> +    }
> +
> +    close(fd);
> +
> +    return 0;
> +}



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 10:26:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 10:26:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701895.1096506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmCl-0006zE-CF; Mon, 08 Apr 2024 10:26:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701895.1096506; Mon, 08 Apr 2024 10:26:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmCl-0006z7-9J; Mon, 08 Apr 2024 10:26:23 +0000
Received: by outflank-mailman (input) for mailman id 701895;
 Mon, 08 Apr 2024 10:26: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 1rtmCk-0006yl-52; Mon, 08 Apr 2024 10:26: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 1rtmCk-0002cw-1v; Mon, 08 Apr 2024 10:26: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 1rtmCj-0006wR-MK; Mon, 08 Apr 2024 10:26:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtmCj-00006E-Lp; Mon, 08 Apr 2024 10:26:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JyD2f6CNMy1BV5EZIyGJrcGZLOZElcWWOmdi9ntoXV0=; b=Be3PGlY9OpFmro0sqO5N+A2iUo
	J4fWDnpMBRmqZ7UlEb/jszEtowUuaLrrxjFuULpy6p/ijR9eSj+UzL/hFJ16R4C7yEK4QjdN0P1Am
	xyy9D36fIxZbPje82up4isvKlHFO+JgYRK+mPFUqqe66hgGFo/aywyi9qVEle8NHRbcc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185273-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185273: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c079823df64c98dd7bb40fe77d9ef410e85a7624
X-Osstest-Versions-That:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Apr 2024 10:26:21 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c079823df64c98dd7bb40fe77d9ef410e85a7624
baseline version:
 xen                  402c2d3e66a6bc9481dcabfc8697750dc4beabed

Last test of basis   185251  2024-04-05 20:04:01 Z    2 days
Testing same since   185273  2024-04-08 08:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Juergen Gross <jgross@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   402c2d3e66..c079823df6  c079823df64c98dd7bb40fe77d9ef410e85a7624 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 10:42:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 10:42:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701904.1096516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmSS-0002Sd-KH; Mon, 08 Apr 2024 10:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701904.1096516; Mon, 08 Apr 2024 10: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 1rtmSS-0002SW-Hg; Mon, 08 Apr 2024 10:42:36 +0000
Received: by outflank-mailman (input) for mailman id 701904;
 Mon, 08 Apr 2024 10: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=WYQ4=LN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rtmSR-0002SQ-3f
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 10:42:35 +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 b4832752-f594-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 12:42:32 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2d094bc2244so44970991fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 03:42: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
 n5-20020a5d5985000000b00345a5183f01sm2762504wri.108.2024.04.08.03.42.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 03: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: b4832752-f594-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712572952; x=1713177752; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=VFdfvxDdFvufEaNRn1R04TJsEnVhjfiJIYFD4KCzBjQ=;
        b=gnIJ/ksLCUC8pBRVh8mbtjBTjnhFxIARA4U8iEO/1MUamO0yxNVr2Gr5SPaNWsqZms
         X99ysP/P2e6Umm/4PiN0deMq7eg63JxHmptU5i1mwbA9t1jfU0faLQterTTu7aT1deJH
         98X9B9mEIBGjSR1BM/NzpqnGbpGgbdFE2QzodhJ1ti8NhUD63eMUY8TiualZMTknRcbV
         JFmBBTE9LXfZyXzB9Ez89ai5o03OjcREvYcQKMlDaKg9gPugij7T5wE6ok4FDTMlc6A+
         SaqYcZqPX3kriyn7SdAzTZRrPuUlQ0D8CIT9oCvtafaH7ftUTkNhMMWDDXkKyqautFyp
         ETPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712572952; x=1713177752;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=VFdfvxDdFvufEaNRn1R04TJsEnVhjfiJIYFD4KCzBjQ=;
        b=UE9Jx0XQLMwMO9bCCNWhkO/h7LlxicNqwcIGVefdrecSb/R+8vrvuKCtofshKh6R8O
         vuYq5MLs+N/t4bIEe5jyIO1bzz6GFSNQFLX1o1fp4eKccGknSMAxbcO24A0NIVgsxafQ
         RSidKGCY5u/y37YDZSso9uCpKeBBR6cajapgkW+ILIiVBUkZIqSahJ4McISIeVPgBMpB
         u7HJRFLn8kqV2e1tcGooE90vrHbBlU91Qskcz7fFg3cxoeGx3ZJ0Jehjv7Yv1E7X/gw6
         yHkUVrcgOuW3tjHevOHCeYbX/GqLA78AAEs6UDavLa4dGb9M8TWsOFQZ8c6r/andM4lf
         dNCA==
X-Forwarded-Encrypted: i=1; AJvYcCWs/v26uFdVHuq3EKxyGaIhZgAiKLn0kP/sZVosfbdyjxd6gHHQ9+10JqioxuXfT/yQNqLFayKtIf/gEHHtp+tjo6qQhcITXT2+g7vnSM4=
X-Gm-Message-State: AOJu0YwtFgMV3Q8txz1Fh05LTL7psQyhbNO/BZdThojbfRCVHQ+lrd/l
	D9q7lV6frHLhn0d4jVoBSpkaXk1SJI9AepESZAltH389lQX2h7XGjb/Pk6Xr7w==
X-Google-Smtp-Source: AGHT+IGRyU4ptcu5ta0X+zjhEK/vosss3O5O1iTIsgwFgALoyn23i64WIGU0Ui6FqdnHeq9E9PItDA==
X-Received: by 2002:a2e:9b05:0:b0:2d8:2799:fbcf with SMTP id u5-20020a2e9b05000000b002d82799fbcfmr5801748lji.34.1712572952462;
        Mon, 08 Apr 2024 03:42:32 -0700 (PDT)
Message-ID: <d15e9313-c5d9-442f-9e47-caa504df9977@suse.com>
Date: Mon, 8 Apr 2024 12:42:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86: Call Shim Verify in the multiboot2 path
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240328151106.1451104-1-ross.lagerwall@citrix.com>
 <20240328151106.1451104-3-ross.lagerwall@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240328151106.1451104-3-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.03.2024 16:11, Ross Lagerwall wrote:
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -3,6 +3,7 @@
>   * is intended to be included by common/efi/boot.c _only_, and
>   * therefore can define arch specific global variables.
>   */
> +#include <xen/multiboot2.h>
>  #include <xen/vga.h>
>  #include <asm/e820.h>
>  #include <asm/edd.h>
> @@ -808,9 +809,69 @@ static const char *__init get_option(const char *cmd, const char *opt)
>      return o;
>  }
>  
> +#define ALIGN_UP(arg, align) \
> +                (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))

Nit: I don't think aligning the opening parentheses is an appropriate
criteria here. Imo either

#define ALIGN_UP(arg, align) \
            (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))

or

#define ALIGN_UP(arg, align) \
        (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))

or

#define ALIGN_UP(arg, align) \
    (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))

.

> +static void __init efi_verify_dom0(uint64_t mbi_in)
> +{
> +    uint64_t ptr;
> +    const multiboot2_tag_t *tag;
> +    EFI_SHIM_LOCK_PROTOCOL *shim_lock;
> +    EFI_STATUS status;
> +    const multiboot2_tag_module_t *kernel = NULL;
> +    const multiboot2_fixed_t *mbi_fix = _p(mbi_in);
> +    static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
> +    static EFI_GUID __initdata global_variable_guid = EFI_GLOBAL_VARIABLE;
> +
> +    ptr = ALIGN_UP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
> +
> +    for ( tag = _p(ptr); (uint64_t)tag - mbi_in < mbi_fix->total_size;
> +          tag = _p(ALIGN_UP((uint64_t)tag + tag->size, MULTIBOOT2_TAG_ALIGN)) )
> +    {
> +        if ( tag->type == MULTIBOOT2_TAG_TYPE_MODULE )
> +        {
> +            kernel = (const multiboot2_tag_module_t *)tag;
> +            break;

This could do with a comment along the lines of what __start_xen() has
("Dom0 kernel is always first").

> +        }
> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_END )

Not need for "else" here (personally I find such irritating).

> +            break;
> +    }
> +
> +    if ( !kernel )
> +        return;
> +
> +    if ( (status = efi_bs->LocateProtocol(&shim_lock_guid, NULL,
> +                                          (void **)&shim_lock)) != EFI_SUCCESS )
> +    {
> +        UINT32 attr;
> +        UINT8 data;
> +        UINTN size = sizeof(data);
> +
> +        status = efi_rs->GetVariable((CHAR16 *)L"SecureBoot", &global_variable_guid,
> +                                     &attr, &size, &data);
> +        if ( status == EFI_NOT_FOUND )
> +            return;
> +
> +        if ( EFI_ERROR(status) )
> +            PrintErrMesg(L"Could not get SecureBoot variable", status);
> +
> +        if ( attr != (EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS) )
> +            PrintErrMesg(L"Unexpected SecureBoot attributes", attr);

This wants to be blexit(), not PrintErrMesg().

> +        if ( size == 1 && data == 0 )
> +            return;
> +
> +        blexit(L"Could not locate shim but Secure Boot is enabled");
> +    }
> +
> +    if ( (status = shim_lock->Verify(_p(kernel->mod_start),
> +                                     kernel->mod_end - kernel->mod_start)) != EFI_SUCCESS )
> +        PrintErrMesg(L"Dom0 kernel image could not be verified", status);
> +}

Overall this is a superset of what efi_start() does. What I'm missing from
the description is some discussion of why what's done there is not
sufficient (beyond the env var check, which iirc there once was a patch to
add it). One could only then judge whether it wouldn't make sense to make
this function uniformly used by both paths (with mbi_in suitably dealt with
for the other case).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 11:11:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 11:11:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701911.1096526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtmu9-0007wF-Sj; Mon, 08 Apr 2024 11:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701911.1096526; Mon, 08 Apr 2024 11: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 1rtmu9-0007w8-Q5; Mon, 08 Apr 2024 11:11:13 +0000
Received: by outflank-mailman (input) for mailman id 701911;
 Mon, 08 Apr 2024 11:11: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 1rtmu9-0007vy-3V; Mon, 08 Apr 2024 11:11: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 1rtmu9-0003Na-0m; Mon, 08 Apr 2024 11:11: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 1rtmu8-0007z4-IN; Mon, 08 Apr 2024 11:11:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtmu8-0003yr-Ho; Mon, 08 Apr 2024 11:11:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+egXZHiBFY00y007DqttBJokwRYUXmoSSUc/gSVfwEY=; b=z5OGuN7EIm7MF+Rs+VQGL9fA9S
	rnwt23VlcRPmM6CX9PbQhgyWgGShVl/ims+VhNXkwOwLPWnrUscNt/0GNxLHKzSY2nVpLs+La0smS
	1TDv3Ba3vLxnNORxKWDHIBSOp8S6X3b6/H/NMto7XOi4wfsStwe37JEmHNIvpZ8gAo4w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185270-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185270: 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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm: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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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=fec50db7033ea478773b159e0e2efb135270e3b7
X-Osstest-Versions-That:
    linux=f2f80ac809875855ac843f9e5e7480604b5cbff5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Apr 2024 11:11:12 +0000

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

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 185266
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185266
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185266
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185266
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185266
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185266
 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-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-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-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-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-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-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                fec50db7033ea478773b159e0e2efb135270e3b7
baseline version:
 linux                f2f80ac809875855ac843f9e5e7480604b5cbff5

Last test of basis   185266  2024-04-07 09:48:16 Z    1 days
Testing same since   185270  2024-04-07 20:42:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anna-Maria Behnsen <anna-maria@linutronix.de>
  Arnd Bergmann <arnd@arndb.de>
  Borislav Petkov (AMD) <bp@alien8.de>
  Frederic Weisbecker <frederic@kernel.org>
  Ingo Molnar <mingo@kernel.org>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Kan Liang <kan.liang@linux.intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Michael Ellerman <mpe@ellerman.id.au> (powerpc)
  Randy Dunlap <rdunlap@infradead.org>
  Reinette Chatre <reinette.chatre@intel.com>
  Srikanth Aithal <sraithal@amd.com>
  Thomas Gleixner <tglx@linutronix.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
   f2f80ac80987..fec50db7033e  fec50db7033ea478773b159e0e2efb135270e3b7 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 12:14:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 12:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701927.1096536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtnst-0008Jn-Ev; Mon, 08 Apr 2024 12:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701927.1096536; Mon, 08 Apr 2024 12:13:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtnst-0008Jg-C6; Mon, 08 Apr 2024 12:13:59 +0000
Received: by outflank-mailman (input) for mailman id 701927;
 Mon, 08 Apr 2024 12:13: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=7EGX=LN=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rtnss-0008Ja-Jt
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 12:13:58 +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 799c45ee-f5a1-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 14:13:57 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2d6a1af9c07so49522061fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 05:13: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: 799c45ee-f5a1-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712578437; x=1713183237; 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=QYB6hHTiSEky8kiL8YFpiVOBIiXwSSNo7+frjTzBXZw=;
        b=fjTeFdos5S87SJf85hS0A7JFqf7rR4UKyXhAtkNr2zkYiaw66F+CtUI2cMQMtXFXaM
         YrINKW0jAbcfe2kOADsBp1KKr6wz0TnTmeaEDGTXm6WVJhgp/9W013uQdFyVaMvzqq3U
         SDpiYPnTvuZw/81JH+cHxbB5VehMiwYxsIuWk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712578437; x=1713183237;
        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=QYB6hHTiSEky8kiL8YFpiVOBIiXwSSNo7+frjTzBXZw=;
        b=TyeHpTDuUKghipPHXLOTv5Ny4RZcm2DkPTwFI3aArDxnXv8z6HHKbxpyAdEpDrLqL+
         Riljwke6vIm8tlVqpr8VmVj+CrNIFd24jeai90RSL2C9hsi1i6HBuGeH+EjIuEQ1UUmw
         8URa62U22XdSR5pJn82PIiDGK2d+C9/xcoAL/1K8WURU64C8VW6+EZ8n6V/jjl0mb8oR
         1eK6ih45cdbvwHiusbaY/0g5yJ1D1rEsS80+JopV72xqoTRfS97OF/CA/elKxRuFu29W
         MvtslcUYVJ1JXu87Owo13NagTN1OHJQ7c5/G8gJHygKJ88pf6O/NgWiyB+cIJCIbwDxA
         kFMA==
X-Forwarded-Encrypted: i=1; AJvYcCUpxolo9upHO1+PwBq1ALU8g+CbaRxxBWkPrDm5vICZGqjspCZBwArx8+oX2qr8h36prlIoelr8h04cbikggXqWTE39+tG3q8XotemqpMQ=
X-Gm-Message-State: AOJu0YxoHN2CAOjNq5U+Wln/x0vlzNKBEnQr0tRp8Sg04PgL7srR9FxP
	HCOLHoDDDCCmRkExu8tGSk5cIooy4YRr5P5dfJ3sj2bYmtqHKJmrcbKaqSxWqjK2Kfd8t0Cht22
	GSZdwv6DqTBRnmZDnk30OjGY+ygIQZcf/Y1jROQ==
X-Google-Smtp-Source: AGHT+IFOWXa7Qg+6ais4cxJMxsedb6qSbbQl4Uu8L3y5Q4UuNzIgZhGafrdWXcSYjOjFLZg4P3iiYG/pkONnjkmTiQo=
X-Received: by 2002:a2e:9999:0:b0:2d8:8135:cd1e with SMTP id
 w25-20020a2e9999000000b002d88135cd1emr3338801lji.14.1712578436880; Mon, 08
 Apr 2024 05:13:56 -0700 (PDT)
MIME-Version: 1.0
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-2-fouad.hilly@cloud.com> <f2b3afb3-95c6-4b7c-b890-ffaac15e724c@suse.com>
In-Reply-To: <f2b3afb3-95c6-4b7c-b890-ffaac15e724c@suse.com>
From: Fouad Hilly <fouad.hilly@cloud.com>
Date: Mon, 8 Apr 2024 13:13:45 +0100
Message-ID: <CAJKAvHZo+aARrtPU0PX6D5Ja76znXxRArLSQyymgUrjE5yWHZg@mail.gmail.com>
Subject: Re: [PATCH 1/5] x86: Remove x86 low level version check of microcode
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 <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 8, 2024 at 10:05=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 05.04.2024 14:11, Fouad Hilly wrote:
> > Remove microcode version check at Intel and AMD Level.
> > Microcode version check will be at higher and common level.
>
> "will be" reads as if you're removing logic here, to introduce some repla=
cement
> later. If so, that's going to be a transient regression, which needs avoi=
ding.
> Indeed ...
>
Higher level at core.c already does version checks, by removing the
check from low level, higher level "will be" the place.
I will update the description.

> > --- a/xen/arch/x86/cpu/microcode/amd.c
> > +++ b/xen/arch/x86/cpu/microcode/amd.c
> > @@ -383,12 +383,8 @@ static struct microcode_patch *cf_check cpu_reques=
t_microcode(
> >                  goto skip;
> >              }
> >
> > -            /*
> > -             * If the new ucode covers current CPU, compare ucodes and=
 store the
> > -             * one with higher revision.
> > -             */
> > -            if ( (microcode_fits(mc->patch) !=3D MIS_UCODE) &&
> > -                 (!saved || (compare_header(mc->patch, saved) =3D=3D N=
EW_UCODE)) )
> > +            /* If the provided ucode covers current CPU, then store it=
s revision. */
> > +            if ( (microcode_fits(mc->patch) !=3D MIS_UCODE) && !saved =
)
> >              {
> >                  saved =3D mc->patch;
> >                  saved_size =3D mc->len;
>
> ... this looks like a logic change to me, with there not being anything
> similar in common code afaics. Am I overlooking anything?
>
The code still checks if it is the current CPU; however, I removed the
check for "NEW_CODE" as a prerequisite for storing the firmware
revision.
If there is any error at this stage (CPU specific) an error will be
propagated to a higher level and dealt with.

> > --- a/xen/arch/x86/cpu/microcode/intel.c
> > +++ b/xen/arch/x86/cpu/microcode/intel.c
> > @@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct mi=
crocode_patch *patch)
> >
> >      result =3D microcode_update_match(patch);
> >
> > -    if ( result !=3D NEW_UCODE &&
> > -         !(opt_ucode_allow_same && result =3D=3D SAME_UCODE) )
> > +    if ( result !=3D NEW_UCODE && result !=3D SAME_UCODE )
> >          return -EINVAL;
>
> I'm afraid I can't relate this adjustment with title and description of
> the patch.
>
I will update the patch description

> Jan

Thanks,

Fouad


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 12:27:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 12:27:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701925.1096547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rto5U-0001sv-OD; Mon, 08 Apr 2024 12:27:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701925.1096547; Mon, 08 Apr 2024 12:27:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rto5U-0001so-K1; Mon, 08 Apr 2024 12:27:00 +0000
Received: by outflank-mailman (input) for mailman id 701925;
 Mon, 08 Apr 2024 12:12:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ofpA=LN=ti.com=vaishnav.a@srs-se1.protection.inumbo.net>)
 id 1rtnr8-0008CY-E7
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 12:12:10 +0000
Received: from lelv0143.ext.ti.com (lelv0143.ext.ti.com [198.47.23.248])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 37456c56-f5a1-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 14:12:08 +0200 (CEST)
Received: from fllv0035.itg.ti.com ([10.64.41.0])
 by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id 438CBu2a074968;
 Mon, 8 Apr 2024 07:11:56 -0500
Received: from DLEE112.ent.ti.com (dlee112.ent.ti.com [157.170.170.23])
 by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 438CBuEV025223
 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);
 Mon, 8 Apr 2024 07:11:56 -0500
Received: from DLEE102.ent.ti.com (157.170.170.32) by DLEE112.ent.ti.com
 (157.170.170.23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Mon, 8
 Apr 2024 07:11:56 -0500
Received: from lelvsmtp6.itg.ti.com (10.180.75.249) by DLEE102.ent.ti.com
 (157.170.170.32) 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; Mon, 8 Apr 2024 07:11:56 -0500
Received: from uda0490681.. ([10.24.69.142])
 by lelvsmtp6.itg.ti.com (8.15.2/8.15.2) with ESMTP id 438CBqbQ109088;
 Mon, 8 Apr 2024 07:11: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: 37456c56-f5a1-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
	s=ti-com-17Q1; t=1712578316;
	bh=aSMqRJ2j9Oj/aL7vf35DSF9DWG1/fdTVGo+Fl4r7hXI=;
	h=From:To:CC:Subject:Date;
	b=mQM0EX4/KflwpFx6Lx5JvDwmN34155HBcjkXDc2hu5JHWzC602W1rpVHW80x02aDe
	 rfbQOiqZdo7fuJS/hcP65KxrPuqqh3I191GVLN9rQriFMOen5Tsa68ZBpZLxkvLDiR
	 deMHWaHgau4/K2gHBUslxwYDIyyUMoIh5PyYamA8=
From: Vaishnav Achath <vaishnav.a@ti.com>
To: <andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>,
        <jbeulich@suse.com>, <julien@xen.org>, <sstabellini@kernel.org>,
        <bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
        <Volodymyr_Babchuk@epam.com>
CC: <xen-devel@lists.xenproject.org>, <vaishnav.a@ti.com>
Subject: [PATCH] drivers: char: Enable OMAP UART driver for TI K3 devices
Date: Mon, 8 Apr 2024 17:41:52 +0530
Message-ID: <20240408121152.1302364-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

TI K3 devices (J721E, J721S2, AM62X .etc) has the same variant
of UART as OMAP4. Add the compatible used in Linux device tree,
"ti,am654-uart" to the omap-uart dt_match so that the driver can
be used with these devices. Also enable the driver for ARM64
platforms.

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
---

Xen logs from J721E EVM: https://gist.github.com/vaishnavachath/8185e2378981705e1deb121f109f46b5

 xen/drivers/char/Kconfig     | 2 +-
 xen/drivers/char/omap-uart.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index e18ec3788c..dcb9e85853 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -55,7 +55,7 @@ config HAS_EXYNOS4210
 config HAS_OMAP
 	bool "Texas Instruments OMAP UART driver"
 	default y
-	depends on ARM_32
+	depends on ARM_32 || ARM_64
 	help
 	  This selects the Texas Instruments OMAP UART. If you have a Texas
 	  Instruments based CPU, say Y.
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
index f4368c158c..03b5b66e7a 100644
--- a/xen/drivers/char/omap-uart.c
+++ b/xen/drivers/char/omap-uart.c
@@ -372,6 +372,7 @@ static int __init omap_uart_init(struct dt_device_node *dev,
 static const struct dt_device_match omap_uart_dt_match[] __initconst =
 {
     DT_MATCH_COMPATIBLE("ti,omap4-uart"),
+    DT_MATCH_COMPATIBLE("ti,am654-uart"),
     { /* sentinel */ },
 };
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 12:27:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 12:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701717.1096557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rto69-0002LC-0x; Mon, 08 Apr 2024 12:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701717.1096557; Mon, 08 Apr 2024 12: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 1rto68-0002L3-UF; Mon, 08 Apr 2024 12:27:40 +0000
Received: by outflank-mailman (input) for mailman id 701717;
 Mon, 08 Apr 2024 04:12: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=KUbC=LN=gmail.com=mhkelley58@srs-se1.protection.inumbo.net>)
 id 1rtgMm-0002ih-LB
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 04:12:20 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30697297-f55e-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 06:12:19 +0200 (CEST)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-1e2232e30f4so35334955ad.2
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 21:12:19 -0700 (PDT)
Received: from localhost.localdomain (c-73-254-87-52.hsd1.wa.comcast.net.
 [73.254.87.52]) by smtp.gmail.com with ESMTPSA id
 u17-20020a17090341d100b001e3f0cde2desm2474666ple.253.2024.04.07.21.12.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 21:12: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: 30697297-f55e-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712549538; x=1713154338; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:reply-to:references
         :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject
         :date:message-id:reply-to;
        bh=SjsV4HsSTItvj/ELiLD1hTF0cgJwLOFyNGElV0Kd8Z8=;
        b=ckQrcuqsApytau1YCZybRsoxIH3lVOdy1smvNdmo5TzV+ocVc3qLVP81dLE5aAnmwk
         kA3GTmo88lvoVzXU8CShKuAmZ+wvzO/4/4Ot9Q+MmfYJXWHozKpS2/3n5gaSFUrdVzts
         Ynmvse8cGPIP3dQynggA8GzNskAroQp6mSksOov+FTblvSkd/fnED6YdwtLLxRpA3vJE
         RZL9CTnlBSOcVeFCCZxnPiLfkTdQpTRjN6eN/YGE9H2xcw+uECj7S+//wPHODf0uIB/Z
         BNrxmpjHouAowFIozr8ox1X41D49KvpolTgtxPEDS7NiNsuZt9HMpMJ4KL/numzD/1AT
         lvhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712549538; x=1713154338;
        h=content-transfer-encoding:mime-version:reply-to:references
         :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=SjsV4HsSTItvj/ELiLD1hTF0cgJwLOFyNGElV0Kd8Z8=;
        b=A6rIA8MjStN/lYLWKSClGsbCj7r85bBIE+cTlTZvm0HbnBlWwFmQgobA8zgaY+5qOf
         d15N5f0GyrZWOJOo810lXxBLlOiveG3AvewkjRgL/5pLIDIVTJH200y4jpq/SiWDbOVs
         OJ+e2agrMhIow1yAzqtivMM2226jnGZ3VopiBk6GxQBExEVQvcRO9nMtcjQun2oZSOx/
         ynaaicXl1GbDvFQgjvnedu3RYsKdiki9mKs6LPHsP3RSzjbZHXFRj5jFkypf20+f46iK
         /NLohR7pOukcC6bZ3oQ8VdIZi+YszCydOBnP3iLYw1NhSYZWgd/H42II5pXlTWlvmweY
         SULA==
X-Forwarded-Encrypted: i=1; AJvYcCUIUc6J5YrQEivhb/7dTgrwWy/liYsfOJs7kazxiJ3yMrUNeMUFIpBc4J45ZPhhm7Z8Y0e3eEbkLDaT4YT0rJJjasp89t604TEBPXIEJEU=
X-Gm-Message-State: AOJu0Yxjy9rZmH8VtRGhsnCJ4+ATPLyXS1yYeUYWdaJ76Ogtn8PP429G
	6KnwDobI8B8zLPQohWiuGdVM6Q/45J+9PbYKQQYag8Ba/Ry6XOnNp/9x5FhW
X-Google-Smtp-Source: AGHT+IEj4y4ne2ojXfNRa+AYfBs5hBPbD1UVM1VUfINpDFwALspJKDqHWO1VwvTTYi56XGeWrvjrIg==
X-Received: by 2002:a17:903:246:b0:1e2:6b80:95b0 with SMTP id j6-20020a170903024600b001e26b8095b0mr7483729plh.6.1712549537683;
        Sun, 07 Apr 2024 21:12:17 -0700 (PDT)
From: mhkelley58@gmail.com
X-Google-Original-From: mhklinux@outlook.com
To: robin.murphy@arm.com,
	joro@8bytes.org,
	will@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	hch@lst.de,
	m.szyprowski@samsung.com,
	iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: petr@tesarici.cz,
	roberto.sassu@huaweicloud.com
Subject: [PATCH 2/2] iommu/dma: Fix zero'ing of bounce buffer padding used by untrusted devices
Date: Sun,  7 Apr 2024 21:11:42 -0700
Message-Id: <20240408041142.665563-2-mhklinux@outlook.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240408041142.665563-1-mhklinux@outlook.com>
References: <20240408041142.665563-1-mhklinux@outlook.com>
Reply-To: mhklinux@outlook.com
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Michael Kelley <mhklinux@outlook.com>

iommu_dma_map_page() allocates swiotlb memory as a bounce buffer when
an untrusted device wants to map only part of the memory in an
granule. The goal is to disallow the untrusted device having
DMA access to unrelated kernel data that may be sharing the granule.
To meet this goal, the bounce buffer itself is zero'ed, and any
additional swiotlb memory up to alloc_size after the bounce buffer
end (i.e., "post-padding") is also zero'ed.

However, as of commit 901c7280ca0d ("Reinstate some of "swiotlb: rework
"fix info leak with DMA_FROM_DEVICE"""), swiotlb_tbl_map_single()
always initializes the contents of the bounce buffer to the original
memory. Zero'ing the bounce buffer is redundant and probably wrong per
the discussion in that commit. Only the post-padding needs to be
zero'ed.

Also, when the DMA min_align_mask is non-zero, the allocated bounce
buffer space may not start on a granule boundary. The swiotlb memory
from the granule boundary to the start of the allocated bounce buffer
might belong to some unrelated bounce buffer. So as described in the
"second issue" in [1], it can't be zero'ed to protect against untrusted
devices. But as of commit XXXXXXXXXXXX ("swiotlb: extend buffer
pre-padding to alloc_align_mask if necessary"), swiotlb_tbl_map_single()
allocates pre-padding slots when necessary to meet min_align_mask
requirements, making it possible to zero the pre-padding area as well.

Finally, iommu_dma_map_page() uses the swiotlb for untrusted devices
and also for certain kmalloc() memory. Current code does the zero'ing
for both cases, but it is needed only for the untrusted device case.

Fix all of this by updating iommu_dma_map_page() to zero both the
pre-padding and post-padding areas, but not the actual bounce buffer.
Do this only in the case where the bounce buffer is used because
of an untrusted device.

[1] https://lore.kernel.org/all/20210929023300.335969-1-stevensd@google.com/

Signed-off-by: Michael Kelley <mhklinux@outlook.com>
---
I've wondered if this code for zero'ing the pre- and post-padding
should go in swiotlb_tbl_map_single(). The bounce buffer proper is
already being initialized there. But swiotlb_tbl_map_single()
would need to test for an untrusted device (or have a "zero the
padding" flag passed in as part of the "attrs" argument), which
adds complexity. Thoughts?

The commit ID of Petr's patch is X'ed out above because Petr's patch
hasn't gone into Linus' tree yet. We can add the real commit ID once
this patch is ready to go in.

Also I've haven't used any "Fixes:" tags. This patch really should
be backported only if all the other recent swiotlb fixes get
backported, and I'm unclear on whether that will happen.

 drivers/iommu/dma-iommu.c | 29 ++++++++++++++++-------------
 include/linux/iova.h      |  5 +++++
 2 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index c21ef1388499..ecac39b3190d 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -1154,9 +1154,6 @@ static dma_addr_t iommu_dma_map_page(struct device *dev, struct page *page,
 	 */
 	if (dev_use_swiotlb(dev, size, dir) &&
 	    iova_offset(iovad, phys | size)) {
-		void *padding_start;
-		size_t padding_size, aligned_size;
-
 		if (!is_swiotlb_active(dev)) {
 			dev_warn_once(dev, "DMA bounce buffers are inactive, unable to map unaligned transaction.\n");
 			return DMA_MAPPING_ERROR;
@@ -1164,24 +1161,30 @@ static dma_addr_t iommu_dma_map_page(struct device *dev, struct page *page,
 
 		trace_swiotlb_bounced(dev, phys, size);
 
-		aligned_size = iova_align(iovad, size);
 		phys = swiotlb_tbl_map_single(dev, phys, size,
 					      iova_mask(iovad), dir, attrs);
 
 		if (phys == DMA_MAPPING_ERROR)
 			return DMA_MAPPING_ERROR;
 
-		/* Cleanup the padding area. */
-		padding_start = phys_to_virt(phys);
-		padding_size = aligned_size;
+		/*
+		 * Untrusted devices should not see padding areas with random
+		 * leftover kernel data, so zero the pre- and post-padding.
+		 * swiotlb_tbl_map_single() has initialized the bounce buffer
+		 * proper to the contents of the original memory buffer.
+		 */
+		if (dev_is_untrusted(dev)) {
+			size_t start, virt = (size_t)phys_to_virt(phys);
 
-		if (!(attrs & DMA_ATTR_SKIP_CPU_SYNC) &&
-		    (dir == DMA_TO_DEVICE || dir == DMA_BIDIRECTIONAL)) {
-			padding_start += size;
-			padding_size -= size;
-		}
+			/* Pre-padding */
+			start = iova_align_down(iovad, virt);
+			memset((void *)start, 0, virt - start);
 
-		memset(padding_start, 0, padding_size);
+			/* Post-padding */
+			start = virt + size;
+			memset((void *)start, 0,
+			       iova_align(iovad, start) - start);
+		}
 	}
 
 	if (!coherent && !(attrs & DMA_ATTR_SKIP_CPU_SYNC))
diff --git a/include/linux/iova.h b/include/linux/iova.h
index 83c00fac2acb..d2c4fd923efa 100644
--- a/include/linux/iova.h
+++ b/include/linux/iova.h
@@ -65,6 +65,11 @@ static inline size_t iova_align(struct iova_domain *iovad, size_t size)
 	return ALIGN(size, iovad->granule);
 }
 
+static inline size_t iova_align_down(struct iova_domain *iovad, size_t size)
+{
+	return ALIGN_DOWN(size, iovad->granule);
+}
+
 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova)
 {
 	return (dma_addr_t)iova->pfn_lo << iova_shift(iovad);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 12:27:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 12:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701719.1096561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rto69-0002No-7a; Mon, 08 Apr 2024 12:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701719.1096561; Mon, 08 Apr 2024 12: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 1rto69-0002Mq-3l; Mon, 08 Apr 2024 12:27:41 +0000
Received: by outflank-mailman (input) for mailman id 701719;
 Mon, 08 Apr 2024 04:12:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KUbC=LN=gmail.com=mhkelley58@srs-se1.protection.inumbo.net>)
 id 1rtgMp-0002in-35
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 04:12: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 2fd0caf0-f55e-11ee-a1ef-f123f15fe8a2;
 Mon, 08 Apr 2024 06:12:18 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-1e3c9300c65so17304465ad.0
 for <xen-devel@lists.xenproject.org>; Sun, 07 Apr 2024 21:12:18 -0700 (PDT)
Received: from localhost.localdomain (c-73-254-87-52.hsd1.wa.comcast.net.
 [73.254.87.52]) by smtp.gmail.com with ESMTPSA id
 u17-20020a17090341d100b001e3f0cde2desm2474666ple.253.2024.04.07.21.12.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 07 Apr 2024 21: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: 2fd0caf0-f55e-11ee-a1ef-f123f15fe8a2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712549536; x=1713154336; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:reply-to:message-id:date
         :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=GMSQhLrDPilrzUC346KcRMtXyNYWEOyJ6WX8+UinkkA=;
        b=GZ56xJMvfN8tT1iY+uZs22PjUNRYgnmsIeFqvfN5NGdSyMZpqhPTLdVYMw7f958ZpV
         oQbvvRVszZELZAE4U7vUL1UNrH2AOwL2eI/bCKSyUUL/9RBiJEm8O9xPyNpsVAAlts6W
         sDYnBL6Gp8U6RkZj332Ncrw5XCDxB5Gx6h5Gzj8ovuq267/476gUZVYzq49gfqzVndZC
         b21Zsi4xeXstriGNrz0cvBDdHCD9Xi7FeA5UWb6YRHGOvP4fmHyv0tMla+efk77PUUO5
         Jp/J4Wh4k3zDirxx1UHh41hQWWncEg0d8ror7WwTDRi4fdzzsv9+dFlGz5WmD+k9piFt
         A20Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712549537; x=1713154337;
        h=content-transfer-encoding:mime-version:reply-to:message-id:date
         :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GMSQhLrDPilrzUC346KcRMtXyNYWEOyJ6WX8+UinkkA=;
        b=uHsQkgCLaIHCVL6ApBcJdppD0PygUf1t/nqfLnMN5gmI6H/b/SZrXDRAXTeAj2Zhk+
         PWR6RKR4dv2oGiV4+HkIyupUI97cI2HTY/RGTn+vlYxkzLAkl28XgOnignfrSaa/srW8
         TotHSavRwuoDyhcbbIErEOWzdcU5Wo+rZp0F5jEy3XoCknpUNTqoMLIhyBseneYvpkQS
         t3l6Vvw284BedJ+UaCcXa7LReJzIagvabX52ln8uYJzG5naLzUeUd/Pt8BnFzwoyKm7I
         mlfMewFDKcoWAwAc9w4irycz1FSW9b7DeVG3rERa81qVcNY6ds5E2o3GFLq2U8sWCQy9
         oobQ==
X-Forwarded-Encrypted: i=1; AJvYcCVu5jyXhLPckEJVfy45o2YiL5xsRemM8aMTkTfHu8Z+khH2wur+8ZJZskiCthQPE8gSZ7mFbhOyg3yNnC/neWe2hYPES+a4CRF86VqipSI=
X-Gm-Message-State: AOJu0Yy3ivqa01RHjvchvtrSTZn4t+S+xO+DUj3h25Vxgcxur2/VBP4b
	QCi2Gm6DIjWvniRQKoBARTHgQL0r/MSFJq+BDPkiM7/r93sJKmXt
X-Google-Smtp-Source: AGHT+IGJ2H/R5OdFFo2sWuPhTY0GzQYPe7tpoRBe4DrZ/4S9V3guChofxwL81b6WIsmX5otyZzTeOw==
X-Received: by 2002:a17:903:1ce:b0:1e4:4a3f:9a88 with SMTP id e14-20020a17090301ce00b001e44a3f9a88mr488986plh.46.1712549536492;
        Sun, 07 Apr 2024 21:12:16 -0700 (PDT)
From: mhkelley58@gmail.com
X-Google-Original-From: mhklinux@outlook.com
To: robin.murphy@arm.com,
	joro@8bytes.org,
	will@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	hch@lst.de,
	m.szyprowski@samsung.com,
	iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Cc: petr@tesarici.cz,
	roberto.sassu@huaweicloud.com
Subject: [PATCH 1/2] swiotlb: Remove alloc_size argument to swiotlb_tbl_map_single()
Date: Sun,  7 Apr 2024 21:11:41 -0700
Message-Id: <20240408041142.665563-1-mhklinux@outlook.com>
X-Mailer: git-send-email 2.25.1
Reply-To: mhklinux@outlook.com
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Michael Kelley <mhklinux@outlook.com>

Currently swiotlb_tbl_map_single() takes alloc_align_mask and
alloc_size arguments to specify an swiotlb allocation that is
larger than mapping_size. This larger allocation is used solely
by iommu_dma_map_single() to handle untrusted devices that should
not have DMA visibility to memory pages that are partially used
for unrelated kernel data.

Having two arguments to specify the allocation is redundant. While
alloc_align_mask naturally specifies the alignment of the starting
address of the allocation, it can also implicitly specify the size
by rounding up the mapping_size to that alignment.

Additionally, the current approach has an edge case bug.
iommu_dma_map_page() already does the rounding up to compute the
alloc_size argument. But swiotlb_tbl_map_single() then calculates
the alignment offset based on the DMA min_align_mask, and adds
that offset to alloc_size. If the offset is non-zero, the addition
may result in a value that is larger than the max the swiotlb can
allocate. If the rounding up is done _after_ the alignment offset is
added to the mapping_size (and the original mapping_size conforms to
the value returned by swiotlb_max_mapping_size), then the max that the
swiotlb can allocate will not be exceeded.

In view of these issues, simplify the swiotlb_tbl_map_single() interface
by removing the alloc_size argument. Most call sites pass the same
value for mapping_size and alloc_size, and they pass alloc_align_mask
as zero. Just remove the redundant argument from these callers, as they
will see no functional change. For iommu_dma_map_page() also remove
the alloc_size argument, and have swiotlb_tbl_map_single() compute
the alloc_size by rounding up mapping_size after adding the offset
based on min_align_mask. This has the side effect of fixing the
edge case bug but with no other functional change.

Also add a sanity test on the alloc_align_mask. While IOMMU code
currently ensures the granule is not larger than PAGE_SIZE, if
that guarantee were to be removed in the future, the downstream
effect on the swiotlb might go unnoticed until strange allocation
failures occurred.

Tested on an ARM64 system with 16K page size and some kernel
test-only hackery to allow modifying the DMA min_align_mask and
the granule size that becomes the alloc_align_mask. Tested these
combinations with a variety of original memory addresses and
sizes, including those that reproduce the edge case bug:

* 4K granule and 0 min_align_mask
* 4K granule and 0xFFF min_align_mask (4K - 1)
* 16K granule and 0xFFF min_align_mask
* 64K granule and 0xFFF min_align_mask
* 64K granule and 0x3FFF min_align_mask (16K - 1)

With the changes, all combinations pass.

Signed-off-by: Michael Kelley <mhklinux@outlook.com>
---
I've haven't used any "Fixes:" tags. This patch really should be
backported only if all the other recent swiotlb fixes get backported,
and I'm unclear on whether that will happen.

I saw the brief discussion about removing the "dir" parameter from
swiotlb_tbl_map_single(). That removal could easily be done as part
of this patch, since it's already changing the swiotlb_tbl_map_single()
parameters. But I think the conclusion of the discussion was to leave
the "dir" parameter for symmetry with the swiotlb_sync_*() functions.
Please correct me if that's wrong, and I'll respin this patch to do
the removal.

 drivers/iommu/dma-iommu.c |  2 +-
 drivers/xen/swiotlb-xen.c |  2 +-
 include/linux/swiotlb.h   |  2 +-
 kernel/dma/swiotlb.c      | 56 +++++++++++++++++++++++++++++----------
 4 files changed, 45 insertions(+), 17 deletions(-)

diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index 07d087eecc17..c21ef1388499 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -1165,7 +1165,7 @@ static dma_addr_t iommu_dma_map_page(struct device *dev, struct page *page,
 		trace_swiotlb_bounced(dev, phys, size);
 
 		aligned_size = iova_align(iovad, size);
-		phys = swiotlb_tbl_map_single(dev, phys, size, aligned_size,
+		phys = swiotlb_tbl_map_single(dev, phys, size,
 					      iova_mask(iovad), dir, attrs);
 
 		if (phys == DMA_MAPPING_ERROR)
diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 1c4ef5111651..6579ae3f6dac 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -216,7 +216,7 @@ static dma_addr_t xen_swiotlb_map_page(struct device *dev, struct page *page,
 	 */
 	trace_swiotlb_bounced(dev, dev_addr, size);
 
-	map = swiotlb_tbl_map_single(dev, phys, size, size, 0, dir, attrs);
+	map = swiotlb_tbl_map_single(dev, phys, size, 0, dir, attrs);
 	if (map == (phys_addr_t)DMA_MAPPING_ERROR)
 		return DMA_MAPPING_ERROR;
 
diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
index ea23097e351f..14bc10c1bb23 100644
--- a/include/linux/swiotlb.h
+++ b/include/linux/swiotlb.h
@@ -43,7 +43,7 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
 extern void __init swiotlb_update_mem_attributes(void);
 
 phys_addr_t swiotlb_tbl_map_single(struct device *hwdev, phys_addr_t phys,
-		size_t mapping_size, size_t alloc_size,
+		size_t mapping_size,
 		unsigned int alloc_aligned_mask, enum dma_data_direction dir,
 		unsigned long attrs);
 
diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
index a5e0dfc44d24..046da973a7e2 100644
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -1340,15 +1340,40 @@ static unsigned long mem_used(struct io_tlb_mem *mem)
 
 #endif /* CONFIG_DEBUG_FS */
 
+/**
+ * swiotlb_tbl_map_single() - bounce buffer map a single contiguous physical area
+ * @dev:		Device which maps the buffer.
+ * @orig_addr:		Original (non-bounced) physical IO buffer address
+ * @mapping_size:	Requested size of the actual bounce buffer, excluding
+ *			any pre- or post-padding for alignment
+ * @alloc_align_mask:	Required start and end alignment of the allocated buffer
+ * @dir:		DMA direction
+ * @attrs:		Optional DMA attributes for the map operation
+ *
+ * Find and allocate a suitable sequence of IO TLB slots for the request.
+ * The allocated space starts at an alignment specified by alloc_align_mask,
+ * and the size of the allocated space is rounded up so that the total amount
+ * of allocated space is a multiple of (alloc_align_mask + 1). If
+ * alloc_align_mask is zero, the allocated space may be at any alignment and
+ * the size is not rounded up.
+ *
+ * The returned address is within the allocated space and matches the bits
+ * of orig_addr that are specified in the DMA min_align_mask for the device. As
+ * such, this returned address may be offset from the beginning of the allocated
+ * space. The bounce buffer space starting at the returned address for
+ * mapping_size bytes is initialized to the contents of the original IO buffer
+ * area. Any pre-padding (due to an offset) and any post-padding (due to
+ * rounding-up the size) is not initialized.
+ */
 phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
-		size_t mapping_size, size_t alloc_size,
-		unsigned int alloc_align_mask, enum dma_data_direction dir,
-		unsigned long attrs)
+		size_t mapping_size, unsigned int alloc_align_mask,
+		enum dma_data_direction dir, unsigned long attrs)
 {
 	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
 	unsigned int offset;
 	struct io_tlb_pool *pool;
 	unsigned int i;
+	size_t size;
 	int index;
 	phys_addr_t tlb_addr;
 	unsigned short pad_slots;
@@ -1362,20 +1387,24 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 	if (cc_platform_has(CC_ATTR_MEM_ENCRYPT))
 		pr_warn_once("Memory encryption is active and system is using DMA bounce buffers\n");
 
-	if (mapping_size > alloc_size) {
-		dev_warn_once(dev, "Invalid sizes (mapping: %zd bytes, alloc: %zd bytes)",
-			      mapping_size, alloc_size);
-		return (phys_addr_t)DMA_MAPPING_ERROR;
-	}
+	/*
+	 * The default swiotlb memory pool is allocated with PAGE_SIZE
+	 * alignment. If a mapping is requested with larger alignment,
+	 * the mapping may be unable to use the initial slot(s) in all
+	 * sets of IO_TLB_SEGSIZE slots. In such case, a mapping request
+	 * of or near the maximum mapping size would always fail.
+	 */
+	dev_WARN_ONCE(dev, alloc_align_mask > ~PAGE_MASK,
+		"Alloc alignment may prevent fulfilling requests with max mapping_size\n");
 
 	offset = swiotlb_align_offset(dev, alloc_align_mask, orig_addr);
-	index = swiotlb_find_slots(dev, orig_addr,
-				   alloc_size + offset, alloc_align_mask, &pool);
+	size = ALIGN(mapping_size + offset, alloc_align_mask + 1);
+	index = swiotlb_find_slots(dev, orig_addr, size, alloc_align_mask, &pool);
 	if (index == -1) {
 		if (!(attrs & DMA_ATTR_NO_WARN))
 			dev_warn_ratelimited(dev,
 	"swiotlb buffer is full (sz: %zd bytes), total %lu (slots), used %lu (slots)\n",
-				 alloc_size, mem->nslabs, mem_used(mem));
+				 size, mem->nslabs, mem_used(mem));
 		return (phys_addr_t)DMA_MAPPING_ERROR;
 	}
 
@@ -1388,7 +1417,7 @@ phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t orig_addr,
 	offset &= (IO_TLB_SIZE - 1);
 	index += pad_slots;
 	pool->slots[index].pad_slots = pad_slots;
-	for (i = 0; i < nr_slots(alloc_size + offset); i++)
+	for (i = 0; i < (nr_slots(size) - pad_slots); i++)
 		pool->slots[index + i].orig_addr = slot_addr(orig_addr, i);
 	tlb_addr = slot_addr(pool->start, index) + offset;
 	/*
@@ -1543,8 +1572,7 @@ dma_addr_t swiotlb_map(struct device *dev, phys_addr_t paddr, size_t size,
 
 	trace_swiotlb_bounced(dev, phys_to_dma(dev, paddr), size);
 
-	swiotlb_addr = swiotlb_tbl_map_single(dev, paddr, size, size, 0, dir,
-			attrs);
+	swiotlb_addr = swiotlb_tbl_map_single(dev, paddr, size, 0, dir, attrs);
 	if (swiotlb_addr == (phys_addr_t)DMA_MAPPING_ERROR)
 		return DMA_MAPPING_ERROR;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 12:49:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 12:49:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701942.1096577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtoQi-0006Hx-3a; Mon, 08 Apr 2024 12:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701942.1096577; Mon, 08 Apr 2024 12:48:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtoQi-0006Hq-0D; Mon, 08 Apr 2024 12:48:56 +0000
Received: by outflank-mailman (input) for mailman id 701942;
 Mon, 08 Apr 2024 12:48:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oSlD=LN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rtoQh-0006Hk-2y
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 12:48:55 +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 5a278daa-f5a6-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 14:48:53 +0200 (CEST)
Received: from BLAPR05CA0032.namprd05.prod.outlook.com (2603:10b6:208:335::13)
 by CY8PR12MB8362.namprd12.prod.outlook.com (2603:10b6:930:7e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Mon, 8 Apr
 2024 12:48:49 +0000
Received: from BL02EPF00021F6F.namprd02.prod.outlook.com
 (2603:10b6:208:335:cafe::c) by BLAPR05CA0032.outlook.office365.com
 (2603:10b6:208:335::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.18 via Frontend
 Transport; Mon, 8 Apr 2024 12:48:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF00021F6F.mail.protection.outlook.com (10.167.249.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 12:48:49 +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.35; Mon, 8 Apr
 2024 07:48:48 -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.35 via Frontend
 Transport; Mon, 8 Apr 2024 07:48:47 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a278daa-f5a6-11ee-afe6-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OTo/FJOus8SJH2QbTUXm2UZA0i4HYDvvn66RLjQCOwXEUQklq+dtEGJRE+IrgPpiz6Lh4u8MAmRPbcA6FIW1HVACGsZuvuE2z2W4cAOEKa1Vg5ynV+67qEeWSSxeOliUpu330vkS1PpyyLNyEFC/1yDm28QGZgfK12fSVLw+QVsjXTbO+QdogoaYfdi3xlQhSOphQafaadLo1BeDZosUWIrsqqtssehQkhjA83UM8r1TUmXk0+fYhuEjY+rmlcwad6OF97uBugS3g1rnNmnwZmTWedpC25WtnCMwh5jqwRmxLMee2tXSy+Aar+mcWKZpWk3TAdbsb/S9TY3n/BYswQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JGQCEk5pp9sIrAw4k+KN6KRlvFQ+JHNUZoUdGtL0Cdo=;
 b=lnzqXpu3m70qUlF0eP8AuPe8MG9vrW5F7kpj1L6mrTqXiHs4Sewa4dhiNIfIb5uEDAoK4rbXqDzviRu9K/fsSudLKtGMi39qT56g05LRFaP/j07hG8iG17Ahwp/yrBH6dvkH7AVjZ203lVTZ71Gdn8Oc7tyc3fpqdhXe01ysZQ3kT4/UL//y0/94OdPpcZeV5nIf+sqCUqED0TKsoEnm9zjhKL7jH2Q2z6aVfnCFeDmV7SZTBrhtztEyybxSbR/CNcJUX9X4uZOvLKbg7xQHM4lcdJjyGzM52J/8fhunetyz9d+XikObMjWfMyeQOuJao6y5tOhUbqCq/X3B8SH4Ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=ti.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=JGQCEk5pp9sIrAw4k+KN6KRlvFQ+JHNUZoUdGtL0Cdo=;
 b=sIYVMnsjtPceYGllmImgIABrCbFfBQi4aeb/PLz9RARtpJEtEPV5W1aqteYv3Pfy8pWUSi13PvcwKDDtqJFUeGt7Uf4RF/KsmuT+vWxqWMr53oJcUjjJy7qVjA3iLoBuuyMsKGxEJ+6plemeS8MhGstdj3FONNIeuDsNZGjd6Ig=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <c65a664b-81db-4fc5-b61a-d81c49715f58@amd.com>
Date: Mon, 8 Apr 2024 14:48:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] drivers: char: Enable OMAP UART driver for TI K3 devices
To: Vaishnav Achath <vaishnav.a@ti.com>, <andrew.cooper3@citrix.com>,
	<george.dunlap@citrix.com>, <jbeulich@suse.com>, <julien@xen.org>,
	<sstabellini@kernel.org>, <bertrand.marquis@arm.com>,
	<Volodymyr_Babchuk@epam.com>
CC: <xen-devel@lists.xenproject.org>
References: <20240408121152.1302364-1-vaishnav.a@ti.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240408121152.1302364-1-vaishnav.a@ti.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: BL02EPF00021F6F:EE_|CY8PR12MB8362:EE_
X-MS-Office365-Filtering-Correlation-Id: 57969914-5951-4ad7-575b-08dc57ca3cbd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9J+ZVrwn5qLFz49CkXwV6zWIkws4FTXRZ81pnkkR4eoFTJVpSBeXWKTzK1cl6E5gwdX8WSbaBKaP4XIGCFcXcV6FB9BQQbacV+mgHqZzm4jgYFSS93MN8+O5MMw/zHEMqnr7xtI5SHsi4Fxh/cu8mAboSqLqToogydbnOyjjADz2qFEzY1uhLbxCpFcA+jpQgz0TdQIJPYCVC1dbC/1Pwtqlsjjg1QF2GKFfSZhqXgEn3VB1MSCXF4/Tip4ykpzhQSBJKPcLlK5yRADDTrTPWFrbG+ldjNB7UlEdDDPOFhRfBItLS02hM1nNlzB6YQRIXjpxN4+XfbHk+p7Ft948fw+1A/Ilbn7Ye3snh5Trs/N+FvQhNH8XjPgkPnHKb8oeyqrcVL0fygQF4M4MUCtFchyAFS9SvfSe+Fy19sppdSAdgVAfEO4cxaS8VRA6K5rI9I4U/UpWr8RwXT/vj8KAOHxq0KtenvxdEmMBJ/I70UudbsHWwjOKqdmDNdaRyLRKikldwdAc/qLHe0HKjzeI6472/On5TGift1dgCKdE7HMGUIIJDRH0OJ4ZxdBFrBX+74HDP11hdAQOfppxnOmcQi3imXimAxGNlmJS/+4r4lew35wiavkJjPZZX1jT1ygAjeA84AhAcJH56xfvIz2ed2MFHS/oVLBMTsl5+nrTQ2YaGwt4RYFFiwueBEUfrR4MEmzOzzMfGANoOiXYCE71JQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 12:48:49.3350
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 57969914-5951-4ad7-575b-08dc57ca3cbd
X-MS-Exchange-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:
	BL02EPF00021F6F.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8362

Hi,

On 08/04/2024 14:11, Vaishnav Achath wrote:
> 
> 
> TI K3 devices (J721E, J721S2, AM62X .etc) has the same variant
s/has/have

> of UART as OMAP4. Add the compatible used in Linux device tree,
> "ti,am654-uart" to the omap-uart dt_match so that the driver can
> be used with these devices. Also enable the driver for ARM64
> platforms.
> 
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
> ---
> 
> Xen logs from J721E EVM: https://gist.github.com/vaishnavachath/8185e2378981705e1deb121f109f46b5
> 
>  xen/drivers/char/Kconfig     | 2 +-
>  xen/drivers/char/omap-uart.c | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
> index e18ec3788c..dcb9e85853 100644
> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -55,7 +55,7 @@ config HAS_EXYNOS4210
>  config HAS_OMAP
>         bool "Texas Instruments OMAP UART driver"
>         default y
> -       depends on ARM_32
> +       depends on ARM_32 || ARM_64
depends on ARM please

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

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:00:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:00:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701947.1096587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtobq-0000fW-1M; Mon, 08 Apr 2024 13:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701947.1096587; Mon, 08 Apr 2024 13:00: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 1rtobp-0000fP-Tu; Mon, 08 Apr 2024 13:00:25 +0000
Received: by outflank-mailman (input) for mailman id 701947;
 Mon, 08 Apr 2024 13:00: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=zErk=LN=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1rtobo-0000fI-Bi
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:00:24 +0000
Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com
 [2607:f8b0:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3edfe42-f5a7-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 15:00:21 +0200 (CEST)
Received: by mail-pf1-x42a.google.com with SMTP id
 d2e1a72fcca58-6eaf9565e6bso3133445b3a.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 06:00: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: f3edfe42-f5a7-11ee-b7f7-5d6b493b22b9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712581219; x=1713186019; 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=q714Nm8ZXiiNOCBkZLSgaliRMxIwh9vQdiua8gm1DEY=;
        b=uciPRyQ6oFhSIRPnpqZ+X2miRRO73eDKzwS1RNzdh7/Lwq2xESSLlIJSZyluNrItYD
         r/gg960oeVf4/EA9dI5GV3j+cB/SKtM5l+KIkP7QYSRutd0kEpgMhf4uW11ZI++eF0F3
         /6fXg1BSVAsjVLAwFH9duuMp9fbjkZ3a9FCD0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712581219; x=1713186019;
        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=q714Nm8ZXiiNOCBkZLSgaliRMxIwh9vQdiua8gm1DEY=;
        b=LHa4fy1OKnvoXq6gtxBV8ZSI6NDvWqhj6u+/MiCF+GyRToSf4sPrwQdAyBh8JL5yy5
         FYRVFO71UJjNqLFRWrM9DClB+rQvYRmHQfs2KkxOaEeBHQVTeOI/K8hyGkkqQFtPLWIa
         YeI5lm6ZP8b91vIMC1K1oO2yJeTJQQcc9JyclgVmrAk3hLxrLeQbEcScxSBpCKiEb8vA
         w1TsfiwDE1wyF1zCFEU7ubOc3hxLcHEZItg8rmpUnbVknkZRUQENdzTcwvi1GXvjlJ4E
         5jhOumC2lriFVc0KNk9zX2Z0PtZXFq3L/5UFsVlO2lYjIqsBrTLFo3EnZ5O21ENc8xDH
         Z5kQ==
X-Forwarded-Encrypted: i=1; AJvYcCVxrdWQ4xIdxfuK/tM+ma/ESKGKzjX9N5aEi6PDgiH+uggfY8p6+Hi34fXadv7ge4ZDj8mOaqDzeYK3AZKa3bobE66cBwTmYPT62tMPWaA=
X-Gm-Message-State: AOJu0Ywi6OkKxSZgKiX/nVNE7FpYI2lEpTEKPGS/pNP46nqcgNs789qC
	4FEcLTqsyNpAxaVNTM1rc38g5boOy70Pf7RkF4JPeK9n44FSgjnBg7JWFUlOC88Lmc/eY4Ee72R
	zElazedvQ/TH3gfjO35MlfNnA4a2mI61ukMpyj75IClytvgMVXg==
X-Google-Smtp-Source: AGHT+IGOQK5Q/iV+vLPvm6a80+xbazHGAgGRWtRhX4Ai4j+kQswxdaL01v/QNZT38gEUJu8sNtf0/rKTLFEvRKTaDNk=
X-Received: by 2002:a05:6a20:7355:b0:1a7:42b1:f18 with SMTP id
 v21-20020a056a20735500b001a742b10f18mr8358272pzc.52.1712581218689; Mon, 08
 Apr 2024 06:00:18 -0700 (PDT)
MIME-Version: 1.0
References: <20240404140833.1557953-1-ross.lagerwall@citrix.com> <6fad8151-4bde-4a02-96fb-27b99d93757f@gmail.com>
In-Reply-To: <6fad8151-4bde-4a02-96fb-27b99d93757f@gmail.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Mon, 8 Apr 2024 14:00:06 +0100
Message-ID: <CAG7k0EqEwfS75n8FCncrr_VzPtJZk46KrLiYaMDfWfrZ6CEApg@mail.gmail.com>
Subject: Re: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
To: paul@xen.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, 
	xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, Apr 6, 2024 at 11:58=E2=80=AFAM Durrant, Paul <xadimgnik@gmail.com>=
 wrote:
>
> On 04/04/2024 15:08, Ross Lagerwall wrote:
> > A malicious or buggy guest may generated buffered ioreqs faster than
> > QEMU can process them in handle_buffered_iopage(). The result is a
> > livelock - QEMU continuously processes ioreqs on the main thread withou=
t
> > iterating through the main loop which prevents handling other events,
> > processing timers, etc. Without QEMU handling other events, it often
> > results in the guest becoming unsable and makes it difficult to stop th=
e
> > source of buffered ioreqs.
> >
> > To avoid this, if we process a full page of buffered ioreqs, stop and
> > reschedule an immediate timer to continue processing them. This lets
> > QEMU go back to the main loop and catch up.
> >
>
> Do PV backends potentially cause the same scheduling issue (if not using
> io threads)?
>

>From what I can tell:

xen-block: It reads req_prod / req_cons once before entering the loop
so it should be fine, I think.

xen_console: Same as xen-block

xen_nic: It reads req_prod / req_cons once before entering the loop.
However, once the loop ends it checks for more requests and if there
are more requests it restarts from the beginning. It seems like this
could be susceptible to the same issue.

(These PV backends generally aren't used by XenServer's system QEMU
so I didn't spend too much time looking into it.)

Thanks,
Ross


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:02:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:02:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701950.1096597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodb-0001Bn-An; Mon, 08 Apr 2024 13:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701950.1096597; Mon, 08 Apr 2024 13:02:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodb-0001Bg-7w; Mon, 08 Apr 2024 13:02:15 +0000
Received: by outflank-mailman (input) for mailman id 701950;
 Mon, 08 Apr 2024 13:02:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0myf=LN=bounce.vates.tech=bounce-md_30504962.6613ead3.v1-5b58a5928e67455fbecda3529697de3e@srs-se1.protection.inumbo.net>)
 id 1rtoda-0001Ba-C3
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:02:14 +0000
Received: from mail177-6.suw61.mandrillapp.com
 (mail177-6.suw61.mandrillapp.com [198.2.177.6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36fbf243-f5a8-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 15:02:12 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-6.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4VCq4M33k1z2K1rvl
 for <xen-devel@lists.xenproject.org>; Mon,  8 Apr 2024 13:02:11 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 5b58a5928e67455fbecda3529697de3e; Mon, 08 Apr 2024 13:02:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36fbf243-f5a8-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712581331; x=1712841831;
	bh=JQ6LM3Ho+eDAiTb570CdKQbJlPC3483j6ox6dL2ZHI0=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=X8Ne/q5YsO/85iP4k+G0ujsk3B9pzscAqzok+UakHtvKhACd8oUctRO8tHehPY6aL
	 TmNFyRLyiZxirXtOyHusxSX3sl9MvByjZaT6RZLXBtAPQ4kw4XE/Uz97J6AB6rv0pm
	 HOrsqof5o2CKGNoqbg9Yjshi1ns5PMppJ7n8012yvekWiPQ4rNbAahAmqTOS6nRWFG
	 naG80BkZySQRWkV9KZi2v34oys6U/kO7rJvU9xxK0zUc/fHFoPh9MLAyj1pJHW9/3l
	 ewC/T1kr7COfdUPVQ7RXlEUbzPsBYzVJoD1GX9NiyQkk3a3zWZsMZBne0YAOsfDIXo
	 MnTl6860fDDBQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712581331; x=1712841831; i=teddy.astie@vates.tech;
	bh=JQ6LM3Ho+eDAiTb570CdKQbJlPC3483j6ox6dL2ZHI0=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=TKl4RfSotxcoPbP/8QwunrDLmaGOawmbIYv+gqkoEtDcnjfot33CqPZphA/CGyxSJ
	 +NGNOP17LPMBUEPzDF/kfs6PBIifaLe8OSWq3cdof0bmSpGHNh6v3RZ4vgDzzIEImx
	 YhwpWxqzvBvEWnqEcr/uAN1HFuc6wRpwU8nGnNsatSovTMtlHpquLt7HKRRdV4WJmI
	 NW3nHwYQ4rkIs8gN7tbZGOVCsRBf/eJ3urppAvJ+gkRCa4OfYBDaHf+/8munC1ibDi
	 8L6xvmj7x4viuIg4epzVGWCAMznkHs8C1j5e5KZdOI9OZLZB+fgeOA7biHVgJN9dwu
	 ESwTeuE+eWJLw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v2=200/3]=20x86/iommu:=20Drop=20IOMMU=20support=20when=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712581330187
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <cover.1712580356.git.teddy.astie@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.5b58a5928e67455fbecda3529697de3e?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240408:md
Date: Mon, 08 Apr 2024 13:02:11 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
specifically crafted virtual machines).

Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
while cx16 isn't, those paths may be bugged and are barely tested, dead code
in practice.

Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
no-cx16 handling logic from VT-d and AMD-Vi drivers.

Teddy

Changed in v2:

 * Added cleanup no-cx16 code for x2APIC
 * Fixed commit and code formatting
 * Added missing Suggested-by note

Teddy Astie (3):
  VT-d: Disable IOMMU if cx16 isn't supported
  AMD-Vi: Disable IOMMU if cx16 isn't supported
  VT-d: Cleanup MAP_SINGLE_DEVICE and related code

 xen/arch/x86/apic.c                         |  6 ++
 xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
 xen/drivers/passthrough/vtd/intremap.c      | 65 ++++-----------
 xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
 xen/drivers/passthrough/vtd/vtd.h           |  5 +-
 6 files changed, 71 insertions(+), 145 deletions(-)

-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:02:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:02:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701951.1096607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodf-0001RJ-HN; Mon, 08 Apr 2024 13:02:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701951.1096607; Mon, 08 Apr 2024 13:02:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodf-0001RC-EB; Mon, 08 Apr 2024 13:02:19 +0000
Received: by outflank-mailman (input) for mailman id 701951;
 Mon, 08 Apr 2024 13:02:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=csXG=LN=bounce.vates.tech=bounce-md_30504962.6613ead8.v1-ca814b5c59f143059367cc7ae6c933c5@srs-se1.protection.inumbo.net>)
 id 1rtode-0001Ba-1H
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:02:18 +0000
Received: from mail177-6.suw61.mandrillapp.com
 (mail177-6.suw61.mandrillapp.com [198.2.177.6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3983f4ae-f5a8-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 15:02:17 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-6.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4VCq4S10D5z2K1s5f
 for <xen-devel@lists.xenproject.org>; Mon,  8 Apr 2024 13:02:16 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 ca814b5c59f143059367cc7ae6c933c5; Mon, 08 Apr 2024 13:02:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3983f4ae-f5a8-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712581336; x=1712841836;
	bh=oEfPK4kpMZ9sydCf3jqQctQoxsRawCygWixvd6Mv/Mo=;
	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=LPDH6VMIuv61YjnLQzDSLvAiz+XaHS6+0l3DnyMwz0+BcG1GhZnLjbjB85U6avRCs
	 yQTSBJ1IwefFBkCSknX7UtTACKX6KdsoNC58HYIUCODSz5h3qYxhv3x8/audkWiNh3
	 n4nhTLxDR/2FfXETWZagGyWjQpCmBXA88CQi0jYPs2C4Jr6TWv/hJMzrFmCiPEqGUr
	 wC3rOHJ+pOfWPumhmxsjdT3FgPbQ2l6FL/cbTKDzTQFlr3vSD5i8u+q5nDyA9uVE5r
	 nmH9DOUnSsZ78M4QKlTioyzA8AlKmZ5FqMgUB91TYowvk12LLgAYHqrmcjzouaAwby
	 G9pFMkVLEhRWA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712581336; x=1712841836; i=teddy.astie@vates.tech;
	bh=oEfPK4kpMZ9sydCf3jqQctQoxsRawCygWixvd6Mv/Mo=;
	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=eLqWN7C960FRIlM4/+mFpXESWkLIXfWdfgepiXoRSJk4lMTqCmAquT61oD242PePt
	 Z/c0MS6tYge7z9iwRDuz4CZbBUKVC6T8BlnGak5DJA6zRTwjcuSpdM/0puePcHl16u
	 wZTD8ihP4RLPjMe0WSroV4oety3tggMHqyK9J3UILIu5o7HXKNrgkw3nSEQkGT39iU
	 sLecohEyw2PNYEYVy3/7FJOBVgATFf4ayY7CAd4U030oBg0d9eGykjzLGtCcroZUXN
	 fwVyXHDO3hRBWnQhSeoVDy27iTCO4aL8XDqTpCiGgcQpI2SLdUVNy190yF6sOuhxc/
	 iBhG03UJxmIeA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v2=201/3]=20VT-d:=20Disable=20IOMMU=20if=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712581333441
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <7132468b43cdf62587cbdccf21b25d961e435601.1712580356.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1712580356.git.teddy.astie@vates.tech>
References: <cover.1712580356.git.teddy.astie@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.ca814b5c59f143059367cc7ae6c933c5?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240408:md
Date: Mon, 08 Apr 2024 13:02:16 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

No hardware has VT-d support while not having cx16 support, disable IOMMU in
this case to avoid potentially buggy code.

Now that IOMMU is only enabled if cx16 is supported, drop dead code that
handles cases where cx16 isn't supported.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/arch/x86/apic.c                    |  6 ++
 xen/drivers/passthrough/vtd/intremap.c | 65 +++++----------------
 xen/drivers/passthrough/vtd/iommu.c    | 80 +++++++++-----------------
 3 files changed, 46 insertions(+), 105 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 592b78e11e..91d7f2b248 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -836,6 +836,12 @@ void __init x2apic_bsp_setup(void)
     if ( !cpu_has_x2apic )
         return;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk("x2APIC: CPU doesn't support CMPXCHG16B, disabling\n");
+        return;
+    }
+
     if ( !opt_x2apic )
     {
         if ( !x2apic_enabled )
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index c504852eb8..b0a0dbdbc2 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -173,47 +173,26 @@ bool __init cf_check intel_iommu_supports_eim(void)
  * Assume iremap_lock has been acquired. It is to make sure software will not
  * change the same IRTE behind us. With this assumption, if only high qword or
  * low qword in IRTE is to be updated, this function's atomic variant can
- * present an atomic update to VT-d hardware even when cmpxchg16b
- * instruction is not supported.
+ * present an atomic update to VT-d hardware.
  */
 static void update_irte(struct vtd_iommu *iommu, struct iremap_entry *entry,
                         const struct iremap_entry *new_ire, bool atomic)
 {
-    ASSERT(spin_is_locked(&iommu->intremap.lock));
-
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t ret;
-        struct iremap_entry old_ire;
+    __uint128_t ret;
+    struct iremap_entry old_ire;
 
-        old_ire = *entry;
-        ret = cmpxchg16b(entry, &old_ire, new_ire);
+    ASSERT(spin_is_locked(&iommu->intremap.lock));
+    
+    old_ire = *entry;
+    ret = cmpxchg16b(entry, &old_ire, new_ire);
 
-        /*
-         * In the above, we use cmpxchg16 to atomically update the 128-bit
-         * IRTE, and the hardware cannot update the IRTE behind us, so
-         * the return value of cmpxchg16 should be the same as old_ire.
-         * This ASSERT validate it.
-         */
-        ASSERT(ret == old_ire.val);
-    }
-    else
-    {
-        /*
-         * VT-d hardware doesn't update IRTEs behind us, nor the software
-         * since we hold iremap_lock. If the caller wants VT-d hardware to
-         * always see a consistent entry, but we can't meet it, a bug will
-         * be raised.
-         */
-        if ( entry->lo == new_ire->lo )
-            write_atomic(&entry->hi, new_ire->hi);
-        else if ( entry->hi == new_ire->hi )
-            write_atomic(&entry->lo, new_ire->lo);
-        else if ( !atomic )
-            *entry = *new_ire;
-        else
-            BUG();
-    }
+    /*
+     * In the above, we use cmpxchg16 to atomically update the 128-bit
+     * IRTE, and the hardware cannot update the IRTE behind us, so
+     * the return value of cmpxchg16 should be the same as old_ire.
+     * This ASSERT validate it.
+     */
+    ASSERT(ret == old_ire.val);
 }
 
 /* Mark specified intr remap entry as free */
@@ -395,7 +374,6 @@ static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
     /* Indicate remap format. */
     remap_rte->format = 1;
 
-    /* If cmpxchg16b is not available the caller must mask the IO-APIC pin. */
     update_irte(iommu, iremap_entry, &new_ire, !init && !masked);
     iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
     iommu_flush_iec_index(iommu, 0, index);
@@ -437,21 +415,6 @@ void cf_check io_apic_write_remap_rte(
     bool masked = true;
     int rc;
 
-    if ( !cpu_has_cx16 )
-    {
-       /*
-        * Cannot atomically update the IRTE entry: mask the IO-APIC pin to
-        * avoid interrupts seeing an inconsistent IRTE entry.
-        */
-        old_rte = __ioapic_read_entry(apic, pin, true);
-        if ( !old_rte.mask )
-        {
-            masked = false;
-            old_rte.mask = 1;
-            __ioapic_write_entry(apic, pin, true, old_rte);
-        }
-    }
-
     /* Not the initializer, for old gcc to cope. */
     new_rte.raw = rte;
 
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index c7110af7c9..47b56f37a9 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1482,7 +1482,7 @@ int domain_context_mapping_one(
 {
     struct domain_iommu *hd = dom_iommu(domain);
     struct context_entry *context, *context_entries, lctxt;
-    __uint128_t old;
+    __uint128_t res, old;
     uint64_t maddr;
     uint16_t seg = iommu->drhd->segment, prev_did = 0;
     struct domain *prev_dom = NULL;
@@ -1580,55 +1580,23 @@ int domain_context_mapping_one(
         ASSERT(!context_fault_disable(lctxt));
     }
 
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t res = cmpxchg16b(context, &old, &lctxt.full);
+    res = cmpxchg16b(context, &old, &lctxt.full);
 
-        /*
-         * Hardware does not update the context entry behind our backs,
-         * so the return value should match "old".
-         */
-        if ( res != old )
-        {
-            if ( pdev )
-                check_cleanup_domid_map(domain, pdev, iommu);
-            printk(XENLOG_ERR
-                   "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
-                   &PCI_SBDF(seg, bus, devfn),
-                   (uint64_t)(res >> 64), (uint64_t)res,
-                   (uint64_t)(old >> 64), (uint64_t)old);
-            rc = -EILSEQ;
-            goto unlock;
-        }
-    }
-    else if ( !prev_dom || !(mode & MAP_WITH_RMRR) )
-    {
-        context_clear_present(*context);
-        iommu_sync_cache(context, sizeof(*context));
-
-        write_atomic(&context->hi, lctxt.hi);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->lo, lctxt.lo);
-    }
-    else /* Best effort, updating DID last. */
+    /*
+     * Hardware does not update the context entry behind our backs,
+     * so the return value should match "old".
+     */
+    if ( res != old )
     {
-         /*
-          * By non-atomically updating the context entry's DID field last,
-          * during a short window in time TLB entries with the old domain ID
-          * but the new page tables may be inserted.  This could affect I/O
-          * of other devices using this same (old) domain ID.  Such updating
-          * therefore is not a problem if this was the only device associated
-          * with the old domain ID.  Diverting I/O of any of a dying domain's
-          * devices to the quarantine page tables is intended anyway.
-          */
-        if ( !(mode & (MAP_OWNER_DYING | MAP_SINGLE_DEVICE)) )
-            printk(XENLOG_WARNING VTDPREFIX
-                   " %pp: reassignment may cause %pd data corruption\n",
-                   &PCI_SBDF(seg, bus, devfn), prev_dom);
-
-        write_atomic(&context->lo, lctxt.lo);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->hi, lctxt.hi);
+        if ( pdev )
+            check_cleanup_domid_map(domain, pdev, iommu);
+        printk(XENLOG_ERR
+                "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
+                &PCI_SBDF(seg, bus, devfn),
+                (uint64_t)(res >> 64), (uint64_t)res,
+                (uint64_t)(old >> 64), (uint64_t)old);
+        rc = -EILSEQ;
+        goto unlock;
     }
 
     iommu_sync_cache(context, sizeof(struct context_entry));
@@ -2630,6 +2598,15 @@ static int __init cf_check vtd_setup(void)
     int ret;
     bool reg_inval_supported = true;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk(XENLOG_ERR VTDPREFIX
+               "IOMMU: CPU doesn't support CMPXCHG16B, disabling\n");
+
+        ret = -ENOSYS;
+        goto error;
+    }
+
     if ( list_empty(&acpi_drhd_units) )
     {
         ret = -ENODEV;
@@ -2692,12 +2669,7 @@ static int __init cf_check vtd_setup(void)
             iommu_intremap = iommu_intremap_off;
 
 #ifndef iommu_intpost
-        /*
-         * We cannot use posted interrupt if X86_FEATURE_CX16 is
-         * not supported, since we count on this feature to
-         * atomically update 16-byte IRTE in posted format.
-         */
-        if ( !cap_intr_post(iommu->cap) || !iommu_intremap || !cpu_has_cx16 )
+        if ( !cap_intr_post(iommu->cap) || !iommu_intremap )
             iommu_intpost = false;
 #endif
 
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:02:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:02:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701952.1096617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodg-0001h3-SJ; Mon, 08 Apr 2024 13:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701952.1096617; Mon, 08 Apr 2024 13:02:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodg-0001gu-PD; Mon, 08 Apr 2024 13:02:20 +0000
Received: by outflank-mailman (input) for mailman id 701952;
 Mon, 08 Apr 2024 13:02:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XFnD=LN=bounce.vates.tech=bounce-md_30504962.6613eada.v1-e3ed585cd2d543d1b303d19dc598241b@srs-se1.protection.inumbo.net>)
 id 1rtodg-0001Ba-3S
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:02:20 +0000
Received: from mail177-6.suw61.mandrillapp.com
 (mail177-6.suw61.mandrillapp.com [198.2.177.6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ad6ff3b-f5a8-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 15:02:19 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-6.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4VCq4V2ZQPz2K1s5n
 for <xen-devel@lists.xenproject.org>; Mon,  8 Apr 2024 13:02:18 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 e3ed585cd2d543d1b303d19dc598241b; Mon, 08 Apr 2024 13:02:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ad6ff3b-f5a8-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712581338; x=1712841838;
	bh=lmg1wvOs/uJDwssyenqKN9R0+t8h06cxEawQnlJOsho=;
	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=IVb48SzPIFuwyzGHykv5/PkMcXkPLRe2ovW0Ttf7dHs3ERv9oTpUxfys0k6Tj3R25
	 J1A4xf3jl7GP5L15YKQDv2hfydwnkUGlNQXSHfbIFK9p3s77uU5mg8NRFxWKBSCswn
	 f3YSlKjUrHnI8BXu6eIxANRmnd+P5ErMgDeHcQQjRnVrJFqKnBBJmxaGZpz1q8HgCx
	 M+Nu9DR1hKnrdv6Ifen6sMEradDLCW0x2WH5y2RyQf6wM0Em2Hmwqe7IzoFKXdhZq8
	 0z9Mp79nYjFGKa70C7zLKkCLAMmuaKO/uj1vngRapfHbiWr5jirgUpOwHDMGRYeZuP
	 AXbkcp08jVVLA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712581338; x=1712841838; i=teddy.astie@vates.tech;
	bh=lmg1wvOs/uJDwssyenqKN9R0+t8h06cxEawQnlJOsho=;
	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=MC6Xlx3/AJ9bGIKjcLXCrESsQx73xqIin/09TWI6gTDikG4Q54MxXLncT6g96vP/N
	 HHrAmkbRpIxs+6ce1y4H/OxSnNAEFBH0QhXqV10nKBLKnyYDrEjg0FrSgXpS+M6nyx
	 sfLsbHUKSlW7ppOpgZjQgHqB+3N9dSzTGnhdwhuYT3fDZXZXy+W5iLL4l528QHXe88
	 aH0sGVMAtGpopjDZEF4Wqj44U4y1zeLYoET68C2jwzl+oFSOR0CevP2hzTCcQdaOQt
	 0Wqhqxhf9uYhRs3E/mQf5iMPTswHfuBF7c5WznkfSU5raEqQwHu33L7jmRCU7RY0Ui
	 HAfq6V2p+QWxA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v2=202/3]=20AMD-Vi:=20Disable=20IOMMU=20if=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712581335662
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <80112e79fe7f5c27e685c98f95462b4912770682.1712580356.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1712580356.git.teddy.astie@vates.tech>
References: <cover.1712580356.git.teddy.astie@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.e3ed585cd2d543d1b303d19dc598241b?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240408:md
Date: Mon, 08 Apr 2024 13:02:18 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

No hardware has AMD-Vi support while not having cx16 support, disable IOMMU
in this case to avoid potentially buggy code.

Now that IOMMU is only enabled if cx16 is supported, drop dead code that
handles cases where cx16 isn't supported.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/amd/iommu_map.c     | 42 +++++++--------------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 +++
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index e0f4fe736a..f67975e700 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -167,15 +167,14 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
 {
     bool valid = flags & SET_ROOT_VALID;
 
-    if ( dte->v && dte->tv &&
-         (cpu_has_cx16 || (flags & SET_ROOT_WITH_UNITY_MAP)) )
+    if ( dte->v && dte->tv )
     {
         union {
             struct amd_iommu_dte dte;
             uint64_t raw64[4];
             __uint128_t raw128[2];
         } ldte = { .dte = *dte };
-        __uint128_t old = ldte.raw128[0];
+        __uint128_t res, old = ldte.raw128[0];
         int ret = 0;
 
         ldte.dte.domain_id = domain_id;
@@ -185,33 +184,20 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
         ldte.dte.paging_mode = paging_mode;
         ldte.dte.v = valid;
 
-        if ( cpu_has_cx16 )
-        {
-            __uint128_t res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
+        res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
 
-            /*
-             * Hardware does not update the DTE behind our backs, so the
-             * return value should match "old".
-             */
-            if ( res != old )
-            {
-                printk(XENLOG_ERR
-                       "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
-                       domain_id,
-                       (uint64_t)(res >> 64), (uint64_t)res,
-                       (uint64_t)(old >> 64), (uint64_t)old);
-                ret = -EILSEQ;
-            }
-        }
-        else /* Best effort, updating domain_id last. */
+        /*
+         * Hardware does not update the DTE behind our backs, so the
+         * return value should match "old".
+         */
+        if ( res != old )
         {
-            uint64_t *ptr = (void *)dte;
-
-            write_atomic(ptr + 0, ldte.raw64[0]);
-            /* No barrier should be needed between these two. */
-            write_atomic(ptr + 1, ldte.raw64[1]);
-
-            ret = 1;
+            printk(XENLOG_ERR
+                   "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
+                   domain_id,
+                   (uint64_t)(res >> 64), (uint64_t)res,
+                   (uint64_t)(old >> 64), (uint64_t)old);
+            ret = -EILSEQ;
         }
 
         return ret;
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index f6efd88e36..656c5eda5d 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -312,6 +312,12 @@ static int __init cf_check iov_detect(void)
         return -ENODEV;
     }
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk("AMD-Vi: CPU doesn't support CMPXCHG16B, disabling\n");
+        return -ENOSYS;
+    }
+
     init_done = 1;
 
     if ( !amd_iommu_perdev_intremap )
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:02:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701953.1096626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodi-0001wj-3K; Mon, 08 Apr 2024 13:02:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701953.1096626; Mon, 08 Apr 2024 13:02:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtodi-0001wa-0M; Mon, 08 Apr 2024 13:02:22 +0000
Received: by outflank-mailman (input) for mailman id 701953;
 Mon, 08 Apr 2024 13:02:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MFGa=LN=bounce.vates.tech=bounce-md_30504962.6613eadc.v1-a3802b0a34d545169485f79ab33fff0c@srs-se1.protection.inumbo.net>)
 id 1rtodh-0001Ba-8n
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:02:21 +0000
Received: from mail177-6.suw61.mandrillapp.com
 (mail177-6.suw61.mandrillapp.com [198.2.177.6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3bf99a28-f5a8-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 15:02:20 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-6.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4VCq4X2hWGz2K1ttS
 for <xen-devel@lists.xenproject.org>; Mon,  8 Apr 2024 13:02:20 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 a3802b0a34d545169485f79ab33fff0c; Mon, 08 Apr 2024 13:02: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: 3bf99a28-f5a8-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712581340; x=1712841840;
	bh=nCr/dQ7MOvz4AtUAz90cOrY6iTnWRg80lBBHOoVQiPc=;
	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=hSZXAVC6IirS3MMUs7cOjAbhOVYpnI7RrQu17ul5SuEcYktNz8yxGCBmKNFNeRNXv
	 98kC/Cs7fN0Y4NRcG0kOtlsp7yVjVl3UGMaEsuVv+1YMpj0pbKuiCdqrbJnmqIbo0v
	 uFgAjiDoyZBlR3/b68B8TsgCDLBqVG5iAJGlUdzMgAjK9YShDUJgx4gpHk5DmQ6zKe
	 8KTi+udlN0eihp3vrd448BB3NTT7jol1OTPBs3DTyPKs4+8HuLiO/VSw5M4OmWSb5N
	 D0vrvi5dpHb9bL9OmhSYMEVd05lhG7m//60c3qKXrISrbX8k5xIECuRi/jMfr2NAi2
	 +3fRgVH/wl4AQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712581340; x=1712841840; i=teddy.astie@vates.tech;
	bh=nCr/dQ7MOvz4AtUAz90cOrY6iTnWRg80lBBHOoVQiPc=;
	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=m7xAmt2QSFYru2Wp0XMobiPlRPmmJSPCVlm4j6phcKLPmWYgNdslduMxuF+BaDinS
	 mR+/31IQ97caHtcGB6PjFUfpCU1lZNN3qTBCQSc2Q3fI/RhCD4YFPyCHxqmlWHTlyM
	 Uz2epdGoR0csT7l1xjbqL+VQ1LN22PytPVyrV6APVxD+rw6PR5pWA8Ruhp6RDFPpLI
	 SA7JvYU4G9tTEkLYOBsmbE2kh8FFR+NyJG1CtVt99r4vBZHc44su/2sS+y6DIbILLv
	 6O0xSBp/yYZ8GcWQgaOtREMIVTgxyNWCHf7jUjBHtd2ZOBGz4FWAgQqXstFCOuW3DH
	 9kFsCrQnAoPGA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v2=203/3]=20VT-d:=20Cleanup=20MAP=5FSINGLE=5FDEVICE=20and=20related=20code?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712581337631
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <aa25e23417145c6819b34728900c904b99cb8a59.1712580356.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1712580356.git.teddy.astie@vates.tech>
References: <cover.1712580356.git.teddy.astie@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.a3802b0a34d545169485f79ab33fff0c?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240408:md
Date: Mon, 08 Apr 2024 13:02:20 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This flag was only used in case cx16 is not available, as those code paths no
longer exist, this flag now does basically nothing.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/iommu.c | 12 +++---------
 xen/drivers/passthrough/vtd/vtd.h   |  5 ++---
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 47b56f37a9..4b15e6da79 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1692,15 +1692,9 @@ static int domain_context_mapping(struct domain *domain, u8 devfn,
         break;
     }
 
-    if ( domain != pdev->domain && pdev->domain != dom_io )
-    {
-        if ( pdev->domain->is_dying )
-            mode |= MAP_OWNER_DYING;
-        else if ( drhd &&
-                  !any_pdev_behind_iommu(pdev->domain, pdev, drhd->iommu) &&
-                  !pdev->phantom_stride )
-            mode |= MAP_SINGLE_DEVICE;
-    }
+    if ( domain != pdev->domain && pdev->domain != dom_io &&
+         pdev->domain->is_dying )
+        mode |= MAP_OWNER_DYING;
 
     switch ( pdev->type )
     {
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index cb2df76eed..43f06a353d 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -28,9 +28,8 @@
  */
 #define MAP_WITH_RMRR         (1u << 0)
 #define MAP_OWNER_DYING       (1u << 1)
-#define MAP_SINGLE_DEVICE     (1u << 2)
-#define MAP_ERROR_RECOVERY    (1u << 3)
-#define UNMAP_ME_PHANTOM_FUNC (1u << 4)
+#define MAP_ERROR_RECOVERY    (1u << 2)
+#define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
 /* Allow for both IOAPIC and IOSAPIC. */
 #define IO_xAPIC_route_entry IO_APIC_route_entry
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:10:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701960.1096637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtoll-00056F-TX; Mon, 08 Apr 2024 13:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701960.1096637; Mon, 08 Apr 2024 13:10:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtoll-000568-QZ; Mon, 08 Apr 2024 13:10:41 +0000
Received: by outflank-mailman (input) for mailman id 701960;
 Mon, 08 Apr 2024 13:10:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=b+ji=LN=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1rtolk-000561-7T
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:10:40 +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 64927772-f5a9-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 15:10:38 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-343e46ec237so2483294f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 06:10:38 -0700 (PDT)
Received: from [10.95.144.96] (54-240-197-228.amazon.com. [54.240.197.228])
 by smtp.gmail.com with ESMTPSA id
 l10-20020adfe58a000000b003434f526cb5sm8864955wrm.95.2024.04.08.06.10.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 06:10: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: 64927772-f5a9-11ee-b7f7-5d6b493b22b9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712581837; x=1713186637; 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=uCYE8xHgHv3RcgiFcSFtZmnhxxPV5TSVgjoL4tMGUrM=;
        b=W9wE2FUDsiRgusNCRoFyX/5jhk4e8xNewSOKLlb6UUGxMUqaukdo/+FWhDQ9BmeiTE
         aIWj3R3jlOVEMEI3G9tVR5DLPNE3iRJlSG3wlSP6wUpCixQWxcewdbB2MYPsIwDXqd40
         9f8avktjSVAwTkpwxIN42arasxTfJGJq5kJaREi5Y7bYjjM+VMw20EZE/AXGqWdCVL0a
         VNzsJDgHPimvmxhyJq0Zk05ttdtNqXUY1sJX2a/84sXeOj5wJlJ93c5/pvwYFJRKeFsj
         QZdYmiaTxPE6jFTuIhsWgWYaMp0diQ6zlN12/1jkzXVvF10zjjW6GQcKYBFwLcCHYvWL
         6MJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712581837; x=1713186637;
        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=uCYE8xHgHv3RcgiFcSFtZmnhxxPV5TSVgjoL4tMGUrM=;
        b=mEq1o2qGcsdYLzZjDn3fa9gY3AcIEkCUdpuC3FfvAhL8ruaxNCtCqPebNI9uJdRzoP
         lHDJGNCyCkuYOq0dtgWBp4/R74ISPP1Zsas4Zw1mbIeB36U7yEBmRRAL5U3nU8k2SGy7
         tkge8K9jL6dBRYjxT9F6gG/k1QFCGVprHgQyzJQOca3LwEuJdbY4PPrv0YLGRY/i6LC1
         tEptYpWJWFzArE7bTWMgZ/xXxSZxDqTGEk0e/Z2gBktvKifPKq8RP5ITWc0zajI7NTik
         bcvggXaLcFD+KlBBDEsvtvUMyTIhPEqxL2md25yzz4G8fdm+P/u1OLNEeHkrvrFMWTPc
         aNlw==
X-Forwarded-Encrypted: i=1; AJvYcCXXcpBMtqiM5tXNHLhKtfsY4NygSbQpgpYDX9bfnDw9rcW4hQmDhxmSL7H8lJCNYjfl6YmoRbFld6Ovn3JMUpi/p3A8d7trvzxZOiJc1XM=
X-Gm-Message-State: AOJu0YwuA4R6m4GbxyRRY2ROYt9mK+8g4tCgzanYaldYrBKkMM+8ACzg
	XcBFfkCUi75IyNOfD7rl/ydyC5GntTdjC3hBFaIh9lRp0oM/3iDl
X-Google-Smtp-Source: AGHT+IEXihybdhoq2l1gCTzovksly8MYwR0Z5sdElOesgg8KOFT8b0nCRPZjcio6D209ehLk+1Q7Tg==
X-Received: by 2002:a5d:64ec:0:b0:343:84a8:5d7 with SMTP id g12-20020a5d64ec000000b0034384a805d7mr8088499wri.49.1712581837256;
        Mon, 08 Apr 2024 06:10:37 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <60c49e27-1275-411e-9cda-8405ca0ce010@xen.org>
Date: Mon, 8 Apr 2024 14:10:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 qemu-devel@nongnu.org
References: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
 <6fad8151-4bde-4a02-96fb-27b99d93757f@gmail.com>
 <CAG7k0EqEwfS75n8FCncrr_VzPtJZk46KrLiYaMDfWfrZ6CEApg@mail.gmail.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <CAG7k0EqEwfS75n8FCncrr_VzPtJZk46KrLiYaMDfWfrZ6CEApg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 08/04/2024 14:00, Ross Lagerwall wrote:
> On Sat, Apr 6, 2024 at 11:58 AM Durrant, Paul <xadimgnik@gmail.com> wrote:
>>
>> On 04/04/2024 15:08, Ross Lagerwall wrote:
>>> A malicious or buggy guest may generated buffered ioreqs faster than
>>> QEMU can process them in handle_buffered_iopage(). The result is a
>>> livelock - QEMU continuously processes ioreqs on the main thread without
>>> iterating through the main loop which prevents handling other events,
>>> processing timers, etc. Without QEMU handling other events, it often
>>> results in the guest becoming unsable and makes it difficult to stop the
>>> source of buffered ioreqs.
>>>
>>> To avoid this, if we process a full page of buffered ioreqs, stop and
>>> reschedule an immediate timer to continue processing them. This lets
>>> QEMU go back to the main loop and catch up.
>>>
>>
>> Do PV backends potentially cause the same scheduling issue (if not using
>> io threads)?
>>
> 
>  From what I can tell:
> 
> xen-block: It reads req_prod / req_cons once before entering the loop
> so it should be fine, I think.
> 
> xen_console: Same as xen-block
> 
> xen_nic: It reads req_prod / req_cons once before entering the loop.
> However, once the loop ends it checks for more requests and if there
> are more requests it restarts from the beginning. It seems like this
> could be susceptible to the same issue.
> 
> (These PV backends generally aren't used by XenServer's system QEMU
> so I didn't spend too much time looking into it.)
> 
> Thanks,

Ok. Thanks for checking.

   Paul



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:12:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:12:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701967.1096646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtonH-0005cZ-6X; Mon, 08 Apr 2024 13:12:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701967.1096646; Mon, 08 Apr 2024 13:12: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 1rtonH-0005cS-40; Mon, 08 Apr 2024 13:12:15 +0000
Received: by outflank-mailman (input) for mailman id 701967;
 Mon, 08 Apr 2024 13:12: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=b+ji=LN=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1rtonF-0005b6-UK
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:12:13 +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 9c725b10-f5a9-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 15:12:12 +0200 (CEST)
Received: by mail-qt1-x831.google.com with SMTP id
 d75a77b69052e-434a6024e2fso5648221cf.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 06:12:12 -0700 (PDT)
Received: from [10.95.144.96] (54-240-197-228.amazon.com. [54.240.197.228])
 by smtp.gmail.com with ESMTPSA id
 ir13-20020a05622a6dcd00b00434c25cb61bsm185792qtb.73.2024.04.08.06.12.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 08 Apr 2024 06:12: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: 9c725b10-f5a9-11ee-b7f7-5d6b493b22b9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712581931; x=1713186731; 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=pgrFrBQO78cdY9i+K0Diy27ZfHZVfkTPqTJibFJRfuk=;
        b=maK9MBDGnsglbNrFqCV1HU8nduXO/ioR/QcXRNI8TbQcOXhnUIluFn+Dv1PdU3ypm4
         B1cDeTunwGDWWmt9rza4Rp8Ixw14D16Lbu0E2i1BAxE8SEZs1wsAIAJKltHWXN2tgTWM
         S1z8524Ufw5ubSUapnn/4XLpNP3znuubKhPEWrL75X7uqD7k9ypviDdxWGIWtDULxVLT
         v7YjvPcn4uPlOAdNx/DSchzOyj80v4BeGBTGRSP7rkNPSlmeHfYpkpFRt4RY7HTZ2Udi
         Pfhm13qHi/t3ZPY8p5ertK6JfMZkb/FAYezgMyhFXUnUsaYZm/eYibJkDz1OZvR25mlz
         Qf5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712581931; x=1713186731;
        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=pgrFrBQO78cdY9i+K0Diy27ZfHZVfkTPqTJibFJRfuk=;
        b=r1JqA28+8JnEXGEAFe6hq06LUCshGQBasHMRrp9yd5xhSrkZLCVGHlJJ2L2EF5pJV6
         /OS2dtJhTtRJSokKpNLLkSO/iU/1cTCzlwfteT5IOCsGB+tu3uYQfNEJZ9ZDRoPFD0cx
         NG2m42pV9GAPWuqdA8rzr2AT3k9myJAhxKaEyiiKu4oD5o0+m5+MemXYB48WF+XlG/LC
         XClxZQd44ibGlrRVdztQtCaUnXS6AiV388UhtVC/mkhgjyinEi6ngtS9MNGBg7OqWJx8
         hfPBizN2MZv+ZjEUalVxMa4B/qdQCpFyd+wpa066ZKcyYBsIxYjpj9uz74A5Tzt7UQ3G
         EW+w==
X-Gm-Message-State: AOJu0YxvgTEhCJhXPxfzpL67aS2iRSvKO5z3++fZhTsm6ok7nqHBWAH4
	6THPSP+y1MxgsXb38epCmxX0XbFABxSM0F6UHfjV1OzrA2zn8Wjn
X-Google-Smtp-Source: AGHT+IFzyKXfFNcAq7GRRtXhaHFGIb+ScU/yAlMXeV1+dY/ujzqnSZbIVS4TeYP5N5o0569KsZkwVQ==
X-Received: by 2002:a05:622a:118c:b0:434:ae42:caef with SMTP id m12-20020a05622a118c00b00434ae42caefmr3054245qtk.10.1712581931265;
        Mon, 08 Apr 2024 06:12:11 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <90398ca3-6866-4e88-b16d-48eb3a47a9a5@xen.org>
Date: Mon, 8 Apr 2024 14:12:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
References: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 04/04/2024 15:08, Ross Lagerwall wrote:
> A malicious or buggy guest may generated buffered ioreqs faster than
> QEMU can process them in handle_buffered_iopage(). The result is a
> livelock - QEMU continuously processes ioreqs on the main thread without
> iterating through the main loop which prevents handling other events,
> processing timers, etc. Without QEMU handling other events, it often
> results in the guest becoming unsable and makes it difficult to stop the
> source of buffered ioreqs.
> 
> To avoid this, if we process a full page of buffered ioreqs, stop and
> reschedule an immediate timer to continue processing them. This lets
> QEMU go back to the main loop and catch up.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> ---
>   hw/xen/xen-hvm-common.c | 26 +++++++++++++++++---------
>   1 file changed, 17 insertions(+), 9 deletions(-)
> 

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



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:20:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:20:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701969.1096657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtouq-0007mw-W0; Mon, 08 Apr 2024 13:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701969.1096657; Mon, 08 Apr 2024 13:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtouq-0007mO-Sl; Mon, 08 Apr 2024 13:20:04 +0000
Received: by outflank-mailman (input) for mailman id 701969;
 Mon, 08 Apr 2024 13:20:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oWAg=LN=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rtoup-0007Tw-LL
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:20:03 +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 b4da2fbb-f5aa-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 15:20:02 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2d4979cd8c8so41246691fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 06:20:02 -0700 (PDT)
Received: from EPUAKYIW03DD.. ([91.123.150.5])
 by smtp.gmail.com with ESMTPSA id
 c25-20020a2e9d99000000b002d88804b368sm589854ljj.43.2024.04.08.06.19.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Apr 2024 06:19:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4da2fbb-f5aa-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712582401; x=1713187201; 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=+0SuAr8UhOdWRuUtYrEHU+b3ks93OwEClORHW6VBz7g=;
        b=Z+HnS1PNnNmW9zgSxMIFCd2hdWgJfB07ouSOp/aiOQOx02RGwdf5tguk/49at271Ct
         f1Bn4p1jbDClqp3HeRsd8PDvLZL1Ks+7sNcxDP5TWVP7FM9mMryy6IiFX7JSUrcJLobT
         KNUfMpoGpFvO0SuwRHZ2ysJBTVnqlBONPFSZyBW/8ncefLYmXtPLgCOizJGkYOfk5PPT
         AawNMb05GZYRmXoS57smENjg0COW5lScNnMUfChTdBLkNrJZ04Dj6QDJkgJu4cGppb9h
         oEZh0TTalbXCIOass6N66Y0gVXQ4SzuOfaai4KNVo34ljW5+DWeKL0f0bD492/18ch3s
         TrJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712582401; x=1713187201;
        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=+0SuAr8UhOdWRuUtYrEHU+b3ks93OwEClORHW6VBz7g=;
        b=bMbO+W2jGUgt/0PocoY5wOkcNltfa36F7ea1dNZhUxEWmz3NJoxLswtLr8P/Naiy13
         m3pjjVdfPgiREVHhS5jHPWTG2X2hx7+G1Fn1MtwhBdnAmiG3UsbW4mHAdLjXcSIf6Zzj
         +FE83RdYjEKU0+m/bnDp+PZVQZHop06QvHUvs103zHP6H/1D5KbDhXfNzeL0eKPJzlao
         FpW8iwN+At3tcq3bWubxXwLeMlucXhRxnvNCGgnoFw7ygd0jiVWGmAchq5JDGdAa5882
         EDtSH3yEl8zVXTSdKKekiVFV+QB0SagY6lXjapmWC6njMnPciSImRcYkvcXz6H6E2tbk
         wYWA==
X-Gm-Message-State: AOJu0Yz3PKzHLmYb52bhKsl9n0ste7il82wQAKsJ6gK4LS8JLxtADzae
	GDV755337akll0y/UVhguOEibvesq/m/i/pmlGGWhCwWxT0oP5mEQmGiHSg5
X-Google-Smtp-Source: AGHT+IHHOUsQooFYwHET2MYHB2djNy/k2k2eqrkQmoaGWG/ZWadCAOu5gtpsIzo4M3wjznWIHJhaKA==
X-Received: by 2002:a2e:83d5:0:b0:2d8:4c1d:10fc with SMTP id s21-20020a2e83d5000000b002d84c1d10fcmr3108472ljh.18.1712582400825;
        Mon, 08 Apr 2024 06:20:00 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org,
	amd-xen-safety@groups.io
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Artem Mygaiev <artem_mygaiev@epam.com>,
	Ayan Kumar Halder <ayankuma@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Mykola Kvach <mykola_kvach@epam.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: [PATCH V4] Add requirements for Device Passthrough
Date: Mon,  8 Apr 2024 16:19:45 +0300
Message-Id: <20240408131945.476581-1-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Please refer to chapter "Device Passthrough":
https://groups.io/g/amd-xen-safety/message/1300

Create corresponding directory and README file.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---

  V2:
   - add R-b
   - update README
   - lower case for platform, s/simple/non-DMA-capable, other misc
     updates
   - add "Allowed for the safe direct mapped VMs only"
     to reqs for DMA-capable devices without IOMMU protection
   - add dom0less passthrough details where needed
   - add reqs for PCI devices discovering

  V3:
   - move common reqs "Assign PCI device to domain (without IOMMU)" and
     "Deassign PCI device from domain (without IOMMU)" to Arm64 only
   - clarify the DMA-capable device assignment w/o IOMMU,
     add more details
   - drop R-b

  V4:
   - add the following reqs:
     - Assign interrupt-less platform device to domain
     - Deassign interrupt-less platform device from domain
     - Map platform device MMIO region identity
     - Map platform device MMIO region non-identity
   - add more details
   - repeat the relevant info in all assign reqs
---
---
 .../physical_resources/README.rst             |  16 +
 .../physical_resources/passthrough.rst        | 477 ++++++++++++++++++
 2 files changed, 493 insertions(+)
 create mode 100644 domain_creation_and_runtime/physical_resources/README.rst
 create mode 100644 domain_creation_and_runtime/physical_resources/passthrough.rst

diff --git a/domain_creation_and_runtime/physical_resources/README.rst b/domain_creation_and_runtime/physical_resources/README.rst
new file mode 100644
index 0000000..0eb4dd4
--- /dev/null
+++ b/domain_creation_and_runtime/physical_resources/README.rst
@@ -0,0 +1,16 @@
+Physical resources
+==================
+
+This section lists the requirements related to physical resources directly
+accessible from the domain as well as physical resources entirely controlled
+by Xen and invisible to a domain. The later group of resources, although being
+invisible to a domain, has an impact on it.
+
+Examples of domain physical resources:
+    | 1. PCI device
+    | 2. Platform device
+    | 3. MMU stage 1
+
+Examples of Xen physical resources:
+    | 1. IOMMU stage 2
+    | 2. MMU stage 2
diff --git a/domain_creation_and_runtime/physical_resources/passthrough.rst b/domain_creation_and_runtime/physical_resources/passthrough.rst
new file mode 100644
index 0000000..f619730
--- /dev/null
+++ b/domain_creation_and_runtime/physical_resources/passthrough.rst
@@ -0,0 +1,477 @@
+Device Passthrough
+==================
+
+The following are the requirements related to a physical device
+assignment [1], [2] to Arm64 and AMD64 PVH domains.
+
+Requirements for both Arm64 and AMD64 PVH
+=========================================
+
+Hide IOMMU from a domain
+------------------------
+
+`XenSSR~hide_iommu_from_domain~1`
+
+Description:
+Xen should not expose the IOMMU device to the domain even if I/O virtualization
+is disabled. The IOMMU should be under hypervisor control only.
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Discover PCI devices from hardware domain
+-----------------------------------------
+
+`XenSSR~discover_pci_devices_from_hwdom~1`
+
+Description:
+The hardware domain shall be able to enumerate and discover PCI devices and
+inform Xen about their appearance and disappearance
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Discover PCI devices from Xen
+-----------------------------
+
+`XenSSR~discover_pci_devices_from_xen~1`
+
+Description:
+Xen shall be able to discover PCI devices (enumerated by the firmware
+beforehand) during boot if the hardware domain is not meant to be used
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Assign PCI device to domain (with IOMMU)
+----------------------------------------
+
+`XenSSR~assign_pci_device_with_iommu~1`
+
+Description:
+Xen shall be able to assign a specified PCI device (always implied as
+DMA-capable) to a domain during its creation using passthrough (partial)
+device tree. The physical device to be assigned is protected by the IOMMU.
+
+Rationale:
+
+ - The passthrough device tree is specified using a device tree module node
+   with compatible ("multiboot,device-tree") in the host device tree
+ - The PCI device to be passed through is specified using device tree property
+   ("xen,pci-assigned") in the "passthrough" node described in the passthrough
+   device tree
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Deassign PCI device from domain (with IOMMU)
+--------------------------------------------
+
+`XenSSR~deassign_pci_device_with_iommu~1`
+
+Description:
+Xen shall be able to deassign a specified PCI device from a domain during its
+destruction. The physical device to be deassigned is protected by the IOMMU.
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Forbid the same PCI device assignment to multiple domains
+---------------------------------------------------------
+
+`XenSSR~forbid_same_pci_device_assignment~1`
+
+Description:
+Xen should not assign the same PCI device to multiple domains by failing
+to create a new domain if the device to be passed through is already assigned
+to the existing domain. Also different PCI devices which share any resources
+(interrupts, IOMMU connections) can be assigned only to the same domain.
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Requirements for Arm64 only
+===========================
+
+Assign interrupt-less platform device to domain
+-----------------------------------------------
+
+`XenSSR~assign_interrupt_less_platform_device~1`
+
+Description:
+Xen shall be able to assign a specified platform device that has only a MMIO
+region (does not have any interrupts) to a domain during its creation using
+passthrough device tree.
+The example of interrupt-less device is PWM or clock controller.
+
+Rationale:
+
+ - The passthrough device tree is specified using a device tree module node
+   with compatible ("multiboot,device-tree") in the host device tree
+ - The passthrough device tree should entirely describe the platform device to
+   be passed through for the domain to be able to discover and use this device
+ - The intention of the platform device usage for the passthrough is specified
+   using device tree property ("xen,passthrough") in the device node described
+   in the host device tree
+ - The memory region of the platform device and corresponding guest address for
+   remapping are specified using device tree property ("xen,reg") in the device
+   node described in the passthrough device tree
+ - The allowance of the platform device assignment which is not behind an IOMMU
+   (for both non-DMA-capable and DMA-capable devices) is specified using device
+   tree property ("xen,force-assign-without-iommu") in the device node
+   described in the passthrough device tree. The said property also allows
+   the interrupt-less platform device assignment (a device that has only a MMIO
+   region) without specifying the corresponding node in the host device via
+   device tree property ("xen,path").
+   For the DMA-capable devices this property is only allowed for the direct
+   mapped VMs with special care to be taken
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+
+ - XenValTestCase
+
+Deassign interrupt-less platform device from domain
+---------------------------------------------------
+
+`XenSSR~deassign_interrupt_less_platform_device~1`
+
+Description:
+Xen shall be able to deassign a specified platform device that has only a MMIO
+region (does not have any interrupts) from a domain during its destruction
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Assign non-DMA-capable platform device to domain
+------------------------------------------------
+
+`XenSSR~assign_non_dma_platform_device~1`
+
+Description:
+Xen shall be able to assign a specified non-DMA-capable platform
+device to a domain during its creation using passthrough device tree.
+The example of non-DMA-capable device is Timer.
+
+Rationale:
+
+ - The passthrough device tree is specified using a device tree module node
+   with compatible ("multiboot,device-tree") in the host device tree
+ - The passthrough device tree should entirely describe the platform device to
+   be passed through for the domain to be able to discover and use this device
+ - The intention of the platform device usage for the passthrough is specified
+   using device tree property ("xen,passthrough") in the device node described
+   in the host device tree
+ - The memory region of the platform device and corresponding guest address for
+   remapping are specified using device tree property ("xen,reg") in the device
+   node described in the passthrough device tree
+ - The path of the platform device node in the host device tree is specified
+   using device tree property ("xen,path") in the device node described
+   in the passthrough device tree. Both interrupt mappings and IOMMU settings
+   are based on it
+ - The allowance of the platform device assignment which is not behind an IOMMU
+   (for both non-DMA-capable and DMA-capable devices) is specified using device
+   tree property ("xen,force-assign-without-iommu") in the device node
+   described in the passthrough device tree. The said property also allows
+   the interrupt-less platform device assignment (a device that has only a MMIO
+   region) without specifying the corresponding node in the host device via
+   device tree property ("xen,path").
+   For the DMA-capable devices this property is only allowed for the direct
+   mapped VMs with special care to be taken
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Deassign non-DMA-capable platform device from domain
+----------------------------------------------------
+
+`XenSSR~deassign_non_dma_platform_device~1`
+
+Description:
+Xen shall be able to deassign a specified non-DMA-capable platform
+device from a domain during its destruction
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Assign DMA-capable platform device to domain (with IOMMU)
+---------------------------------------------------------
+
+`XenSSR~assign_dma_platform_device_with_iommu~1`
+
+Description:
+Xen shall be able to assign a specified DMA-capable platform device to a domain
+during its creation using passthrough device tree. The physical device to be
+assigned is protected by the IOMMU.
+
+Rationale:
+
+ - The passthrough device tree is specified using a device tree module node
+   with compatible ("multiboot,device-tree") in the host device tree
+ - The passthrough device tree should entirely describe the platform device to
+   be passed through for the domain to be able to discover and use this device
+ - The intention of the platform device usage for the passthrough is specified
+   using device tree property ("xen,passthrough") in the device node described
+   in the host device tree
+ - The memory region of the platform device and corresponding guest address for
+   remapping are specified using device tree property ("xen,reg") in the device
+   node described in the passthrough device tree
+ - The path of the platform device node in the host device tree is specified
+   using device tree property ("xen,path") in the device node described
+   in the passthrough device tree. Both interrupt mappings and IOMMU settings
+   are based on it
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Deassign DMA-capable platform device from domain (with IOMMU)
+-------------------------------------------------------------
+
+`XenSSR~deassign_dma_platform_device_with_iommu~1`
+
+Description:
+Xen shall be able to deassign a specified DMA-capable platform device from
+a domain during its destruction. The physical device to be deassigned is
+protected by the IOMMU.
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Assign DMA-capable platform device to domain (without IOMMU)
+------------------------------------------------------------
+
+`XenSSR~assign_dma_platform_device_without_iommu~1`
+
+Description:
+Xen shall be able to assign a specified DMA-capable platform device to a domain
+during its creation using passthrough device tree. The physical device to be
+assigned is not protected by the IOMMU.
+Here and everywhere it applies, the DMA-capable device assignment which is not
+behind an IOMMU is allowed for the direct mapped VMs only. The direct mapped VM
+must be either safe or additional security mechanisms for protecting against
+possible malicious or buggy DMA devices must be in place, e.g. Xilinx memory
+protection unit (XMPU) and Xilinx peripheral protection unit (XPPU).
+
+Rationale:
+
+ - The IOMMU is absent from the system or it is disabled (status = "disabled"
+   in the host device tree)
+ - The passthrough device tree is specified using a device tree module node
+   with compatible ("multiboot,device-tree") in the host device tree
+ - The passthrough device tree should entirely describe the platform device to
+   be passed through for the domain to be able to discover and use this device
+ - The intention of the platform device usage for the passthrough is specified
+   using device tree property ("xen,passthrough") in the device node described
+   in the host device tree
+ - The memory region of the platform device and corresponding guest address for
+   remapping are specified using device tree property ("xen,reg") in the device
+   node described in the passthrough device tree
+ - The path of the platform device node in the host device tree is specified
+   using device tree property ("xen,path") in the device node described
+   in the passthrough device tree. Both interrupt mappings and IOMMU settings
+   are based on it
+ - The allowance of the platform device assignment which is not behind an IOMMU
+   (for both non-DMA-capable and DMA-capable devices) is specified using device
+   tree property ("xen,force-assign-without-iommu") in the device node
+   described in the passthrough device tree. The said property also allows
+   the interrupt-less platform device assignment (a device that has only a MMIO
+   region) without specifying the corresponding node in the host device via
+   device tree property ("xen,path").
+   For the DMA-capable devices this property is only allowed for the direct
+   mapped VMs with special care to be taken
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Deassign DMA-capable platform device from domain (without IOMMU)
+----------------------------------------------------------------
+
+`XenSSR~deassign_dma_platform_device_without_iommu~1`
+
+Description:
+Xen shall be able to deassign a specified DMA-capable platform device from
+a domain during its destruction. The physical device to be deassigned is not
+protected by the IOMMU.
+
+Rationale:
+The IOMMU is absent from the system or it is disabled (status = "disabled"
+in the host device tree)
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Map platform device MMIO region identity
+----------------------------------------
+
+`XenSSR~map_platform_device_mmio_region_ident~1`
+
+Description:
+Xen shall be able to map platform device memory region identity
+(guest address == physical address) when assigning a specified platform
+device to a domain. The device can be either non-DMA-capable or DMA-capable.
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Map platform device MMIO region non-identity
+--------------------------------------------
+
+`XenSSR~map_platform_device_mmio_region_non_ident~1`
+
+Description:
+Xen shall be able to map platform device memory region non-identity
+(guest address != physical address) when assigning a specified platform
+device to a domain. The device can be either non-DMA-capable or DMA-capable.
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Assign PCI device to domain (without IOMMU)
+-------------------------------------------
+
+`XenSSR~assign_pci_device_without_iommu~1`
+
+Description:
+Xen shall be able to assign a specified PCI device to a domain during its
+creation using passthrough device tree. The physical device to be assigned
+is not protected by the IOMMU.
+
+Rationale:
+
+ - The IOMMU is absent from the system or it is disabled (status = "disabled"
+   in the host device tree)
+ - The passthrough device tree is specified using a device tree module node
+   with compatible ("multiboot,device-tree") in the host device tree
+ - The PCI device to be passed through is specified using device tree property
+   ("xen,pci-assigned") in the "passthrough" node described in the passthrough
+   device tree
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Deassign PCI device from domain (without IOMMU)
+-----------------------------------------------
+
+`XenSSR~deassign_pci_device_without_iommu~1`
+
+Description:
+Xen shall be able to deassign a specified PCI device from a domain during its
+destruction. The physical device to be deassigned is not protected
+by the IOMMU.
+
+Rationale:
+The IOMMU is absent from the system or it is disabled (status = "disabled"
+in the host device tree)
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Forbid the same platform device assignment to multiple domains
+--------------------------------------------------------------
+
+`XenSSR~forbid_same_platform_device_assignment~1`
+
+Description:
+Xen should not assign the same platform device to multiple domains by failing
+to create a new domain if the device to be passed through is already assigned
+to the existing domain. Also, different platform devices which share any
+resources (interrupts, IOMMU connections) can be assigned only to the same
+domain.
+
+Rationale:
+
+Covers:
+ - `XenPRQ~device_passthrough~1`
+
+Needs:
+ - XenValTestCase
+
+Notes
+=====
+
+The AMD64 PVH-specific requirements are written under the assumption that once
+the hyperlaunch feature is completed, Xen shall be able to assign a PCI device
+to started at boot time domains. This is not the case today, where the PCI
+device can be passed through only to domains launched by a control (toolstack)
+domain.
+
+The Arm64-specific requirements are written under the assumption that once
+the dom0less PCI Passthrough feature is completed, Xen shall be able to assign
+a PCI device to started at boot time domains. This is not the case today,
+where only the platform device Passthrough is supported.
+
+| [1] https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/passthrough.txt;hb=HEAD
+| [2] https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/passthrough-noiommu.txt;hb=HEAD
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 13:29:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 13:29:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701977.1096667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtp3R-0001Cp-RL; Mon, 08 Apr 2024 13:28:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701977.1096667; Mon, 08 Apr 2024 13: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 1rtp3R-0001Ci-OJ; Mon, 08 Apr 2024 13:28:57 +0000
Received: by outflank-mailman (input) for mailman id 701977;
 Mon, 08 Apr 2024 13: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=oSlD=LN=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rtp3Q-0001Cc-Kd
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 13:28:56 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20600.outbound.protection.outlook.com
 [2a01:111:f403:240a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1c4f647-f5ab-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 15:28:55 +0200 (CEST)
Received: from DM5PR07CA0111.namprd07.prod.outlook.com (2603:10b6:4:ae::40) by
 SJ1PR12MB6220.namprd12.prod.outlook.com (2603:10b6:a03:455::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 13:28:49 +0000
Received: from DS3PEPF0000C381.namprd04.prod.outlook.com
 (2603:10b6:4:ae:cafe::39) by DM5PR07CA0111.outlook.office365.com
 (2603:10b6:4:ae::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Mon, 8 Apr 2024 13:28:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF0000C381.mail.protection.outlook.com (10.167.23.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 13:28:44 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 08:28:44 -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.35 via Frontend
 Transport; Mon, 8 Apr 2024 08:28: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: f1c4f647-f5ab-11ee-afe6-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eQtKS6YAAcQI0A6U7rcu1IbpCQU5Z7wz8f9wXATdi6o5jEwphqvMQ09S5YCRUJxX/Fa81CLqsvrO6AtEQRXVgv6JuUFpi+c3PO7wJCnd/gb2iImDAgtn1NfQIKutPpZ74uWqjtkJaaoqtRbs3CuKlf6FX05T2GeL4QOR19oSRs7pAlBFQOlx95xAl0H6CgL8emCPHhChjNun+0UpJSxx4+8sRKUz7S9TXAq3luVCH38O2YC1EE4HOD2+kR9K7m/0eD7vFkpmpjB0ezooz1OT5LPXom546wR8SWyfAeInhqQcoq1tuy6yBrzzmOjie4lSqHB5MTF/eE/uhlS29k0GWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VCzvFpzlkGtIgOmFHimXoV6gWa3+7YlqTrsgomPvHqg=;
 b=UXnG6T994Y8T0G/hS+VEwpIPP1ol2DZPjZl7D9hAeuIiFutnZ+Ldy+F6ZAETi2E1y/vJ6HZCzP/tubQrB5iOOxyIj3wqQdDqvWgADz+QVpVhYNFq2NhDT8f3iB76pxJpqq7lD1WCPkkbknL7q4926LYN0mJwLCJljfA1mjypwl6u4eMHO/Ag4/n+PFMoBX/eYLVHufyJMmQCnSPbN3fFR9EPG6P8bD0GJSfxw69nLb3R8JapOQW3BKAuTptaQPxl2k8z9fU1tG8spoLrYolBt9CHD2L5VmpYV4C7XHOXhU/+nAAUqVBoaFf3GyCsvuIgXtLkOiIcyH7DxNZUpbHN+g==
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=VCzvFpzlkGtIgOmFHimXoV6gWa3+7YlqTrsgomPvHqg=;
 b=3d8uFTQmKLtyO9CfS0JHmy0Qj4tr3r7UT6vpsO/zOm4mIWOVdJD2baj0zIsGrK52fO3/zj+ioOa8W/7L9M3BaSSeOj9pBQHVqYz/E/TspG/xNHw64EgwR9XXrrfLq4vcidXujDc31DmOTYsbjttIb0ERWQmqb3LOp5og2ap97Ho=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e96c902f-1faa-4b45-91ea-6e47759a9647@amd.com>
Date: Mon, 8 Apr 2024 15:28:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V4] Add requirements for Device Passthrough
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>, <amd-xen-safety@groups.io>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Artem Mygaiev
	<artem_mygaiev@epam.com>, Ayan Kumar Halder <ayankuma@amd.com>, "Stefano
 Stabellini" <stefano.stabellini@amd.com>, Mykola Kvach
	<mykola_kvach@epam.com>, Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20240408131945.476581-1-olekstysh@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240408131945.476581-1-olekstysh@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: DS3PEPF0000C381:EE_|SJ1PR12MB6220:EE_
X-MS-Office365-Filtering-Correlation-Id: ea69c064-5052-4841-1a06-08dc57cfd0be
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oZ6vC5Fvz43XIdHYLLZlxBBfUM7FNSH5EPbYWJYBfquoyQzTt6aICDbLZH3XXwn/bUNhieN7ZFxhRGrfgWFJarJRaxqwFiSB/dDampsQSWeNd1dQxCOFY+yD4yUpxgRvVbHKlHvveC0JlWkR0wEy5FvPe8DfEKavgI8npstfKp2T2IswzmiJfoc/OSzT0qIQ8lSrkPGpare4fw5UroBF90XgMGh6MccG3wI0qgmE5DahA9YzadHSjPELDcB14sYPIvt7ePWkAOzdYqnTYE94WGNDozrzGBNHjP9gQnqR1FaXu4GFE6PqWZTVC7wl1DGR8z5N3uUeckiZLYY0uD+VRsqqENo0Kfdjy0/ZQAYFJAOOJWEuYWyWyitikGfbKoq9L0USel4N/8MKwNqrws4TiP0wdcUqbi3RpJLraeiUhg8Smug9lcIBav+EfeAa7oUxaAeIPzPIe7qJsqYpP/7FA6t5gK56lskuLhVbiMMbGJjYOWTx0PBz1AdtWOI2hLK0Fp/PrSZCgsvwrVnni/O4DWgK+LVeXBJSWw4Wo6DMF+z/nHIap+6y+hzcF8IWNVGZsVpP7zQKychqyGnxKb2RLDBB+Y9gMrj0+dHdNubjJEpK/Np8vVG/e4nv4N1pUchkXbfOgUzuIfVzQEAP7MmAKpheKT5QA/gAy7EpGx2koGQbZL1SRABKD01QUMCNf1Wx36rW6Ro118sC6c00heK4hw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 13:28:44.8765
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ea69c064-5052-4841-1a06-08dc57cfd0be
X-MS-Exchange-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:
	DS3PEPF0000C381.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6220

Hi Oleksandr,

On 08/04/2024 15:19, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Please refer to chapter "Device Passthrough":
> https://groups.io/g/amd-xen-safety/message/1300
> 
> Create corresponding directory and README file.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Now, it LGTM. I will wait for Stewart to check PCI requirements
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 15:03:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 15:03:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701993.1096677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtqX9-0008OB-Bd; Mon, 08 Apr 2024 15:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701993.1096677; Mon, 08 Apr 2024 15: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 1rtqX9-0008O4-8l; Mon, 08 Apr 2024 15:03:43 +0000
Received: by outflank-mailman (input) for mailman id 701993;
 Mon, 08 Apr 2024 15:03: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=ofpA=LN=ti.com=vaishnav.a@srs-se1.protection.inumbo.net>)
 id 1rtqX7-0008Ny-R4
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 15:03:41 +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 2d626141-f5b9-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 17:03:39 +0200 (CEST)
Received: from fllv0034.itg.ti.com ([10.64.40.246])
 by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 438F3Max005781;
 Mon, 8 Apr 2024 10:03:22 -0500
Received: from DFLE114.ent.ti.com (dfle114.ent.ti.com [10.64.6.35])
 by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 438F3M8o006573
 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);
 Mon, 8 Apr 2024 10:03:22 -0500
Received: from DFLE100.ent.ti.com (10.64.6.21) by DFLE114.ent.ti.com
 (10.64.6.35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Mon, 8
 Apr 2024 10:03:21 -0500
Received: from lelvsmtp5.itg.ti.com (10.180.75.250) by DFLE100.ent.ti.com
 (10.64.6.21) 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; Mon, 8 Apr 2024 10:03:21 -0500
Received: from uda0490681.. ([10.24.69.142])
 by lelvsmtp5.itg.ti.com (8.15.2/8.15.2) with ESMTP id 438F3Il9016093;
 Mon, 8 Apr 2024 10:03: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: 2d626141-f5b9-11ee-b7f7-5d6b493b22b9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
	s=ti-com-17Q1; t=1712588602;
	bh=UzIvh6km7ts0io8SvDncngZciO4aL1/274pallGmadc=;
	h=From:To:CC:Subject:Date;
	b=OmUnkVru+wGd/QS08OgOvtod7J3pNs70rbOg1d9BtgIR6tGxw7/uCbOOy6fNyltOw
	 1wlUFHnzPiyO9xsy7XQSTJirYGx5nrhrS8dbzDjx8Et+YY/rmatbHbeQAL6+mwtRB7
	 yVeTRNLZRb0zTzY/zBO6jhEwjXUduFYfPt/63KPI=
From: Vaishnav Achath <vaishnav.a@ti.com>
To: <andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>,
        <jbeulich@suse.com>, <julien@xen.org>, <sstabellini@kernel.org>,
        <bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
        <Volodymyr_Babchuk@epam.com>
CC: <xen-devel@lists.xenproject.org>, <vaishnav.a@ti.com>
Subject: [PATCH v2] drivers: char: Enable OMAP UART driver for TI K3 devices
Date: Mon, 8 Apr 2024 20:33:17 +0530
Message-ID: <20240408150317.1309759-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

TI K3 devices (J721E, J721S2, AM62X .etc) have the same variant
of UART as OMAP4. Add the compatible used in Linux device tree,
"ti,am654-uart" to the OMAP UART dt_match so that the driver can
be used with these devices. Also, enable the driver for ARM64
platforms.

Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
---

V1->V2:
Incorporate feedback from Michal Orzel:
	* Change to CONFIG_ARM
	* Update commit message.
	* Pick R-by from Michal.

Xen logs from J721E EVM: 
https://gist.github.com/vaishnavachath/8185e2378981705e1deb121f109f46b5

 xen/drivers/char/Kconfig     | 2 +-
 xen/drivers/char/omap-uart.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index e18ec3788c..3f836ab301 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -55,7 +55,7 @@ config HAS_EXYNOS4210
 config HAS_OMAP
 	bool "Texas Instruments OMAP UART driver"
 	default y
-	depends on ARM_32
+	depends on ARM
 	help
 	  This selects the Texas Instruments OMAP UART. If you have a Texas
 	  Instruments based CPU, say Y.
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
index f4368c158c..03b5b66e7a 100644
--- a/xen/drivers/char/omap-uart.c
+++ b/xen/drivers/char/omap-uart.c
@@ -372,6 +372,7 @@ static int __init omap_uart_init(struct dt_device_node *dev,
 static const struct dt_device_match omap_uart_dt_match[] __initconst =
 {
     DT_MATCH_COMPATIBLE("ti,omap4-uart"),
+    DT_MATCH_COMPATIBLE("ti,am654-uart"),
     { /* sentinel */ },
 };
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 15:26:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 15:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.701999.1096686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtqt9-0003Jg-0j; Mon, 08 Apr 2024 15:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 701999.1096686; Mon, 08 Apr 2024 15:26:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtqt8-0003JZ-UT; Mon, 08 Apr 2024 15:26:26 +0000
Received: by outflank-mailman (input) for mailman id 701999;
 Mon, 08 Apr 2024 15:26: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 1rtqt7-0003JP-RN; Mon, 08 Apr 2024 15:26: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 1rtqt7-0000jX-Nf; Mon, 08 Apr 2024 15:26: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 1rtqt7-0005Nq-7y; Mon, 08 Apr 2024 15:26:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtqt7-0001BB-7W; Mon, 08 Apr 2024 15:26:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=d7lbq7hSMWwUXNAujK5BqNG4Ew0stuHsY7Yw5QpovxA=; b=caz+LhlUqNwfVrPn/2KkNzdzdy
	nXi8BkHrCs+cj284c5f8G3sPfXGXqCVFPrtIKuvx8LqAxWvkNshwVL0nLgh1zOXuGifM+uehqnPlY
	bZqSbYF9V1WlLEukI98OqXeJ8WIutk6g+YesIDUxzQyc8v7UEP/H8xkiGsNSMVnURG3k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185271-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185271: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-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-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-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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=402c2d3e66a6bc9481dcabfc8697750dc4beabed
X-Osstest-Versions-That:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Apr 2024 15:26:25 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185271  2024-04-08 03:27:51 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 Apr 08 16:11:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 16:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702009.1096696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrav-0001e9-Cr; Mon, 08 Apr 2024 16:11:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702009.1096696; Mon, 08 Apr 2024 16:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrav-0001e2-9t; Mon, 08 Apr 2024 16:11:41 +0000
Received: by outflank-mailman (input) for mailman id 702009;
 Mon, 08 Apr 2024 16:11: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=VUGe=LN=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1rtrat-0001de-PD
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 16:11:39 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac825859-f5c2-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 18:11:36 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S036ANL.actianordic.se
 (10.12.31.117) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 8 Apr
 2024 18:11:35 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Mon, 8 Apr 2024 18:11:35 +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: ac825859-f5c2-11ee-b7f7-5d6b493b22b9
From: John Ernberg <john.ernberg@actia.se>
To: 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>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>, John Ernberg
	<john.ernberg@actia.se>
Subject: [PATCH v4 0/3] Xen: ARM: Improved NXP iMX8 platform support
Thread-Topic: [PATCH v4 0/3] Xen: ARM: Improved NXP iMX8 platform support
Thread-Index: AQHaic9t6sIp2eY7JUShr1n6S6NtZg==
Date: Mon, 8 Apr 2024 16:11:35 +0000
Message-ID: <20240408161129.900347-1-john.ernberg@actia.se>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.44.0
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A2958D72954657C6A
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

The iMX lpuart driver added at 44e17aa60d47 ("xen/arm: Add i.MX lpuart driv=
er")
is not enough to boot a Linux based dom0 when certain drivers, such as the
watchdog driver, are enabled.

We're also fixing compatibles in imx-lpuart to allow Xen to use the UART
on the QXP variant as well.

When it comes to the watchdog we're currently only implementing the support
for letting Dom0 manage it. There is also a desire for another approach
where Xen kicks the watchdog (dom0-less use-cases etc). This approach is
not covered by this patch set.

v4: (see individual patches for detailed changelog)
 - Drop all SIP calls not used by iMX8Q{M,XP} (Michal Orzal)
 - Sign off patch 3 (Stefano Stabellini)

v3: https://lore.kernel.org/xen-devel/20240328163351.64808-1-john.ernberg@a=
ctia.se/
 - Added a few more SIP calls
 - Become a reviewer of IMX8Q{M,XP} related patches (Bertrand Marquis)

v2: https://lore.kernel.org/xen-devel/20240214160644.3418228-1-john.ernberg=
@actia.se/
 - Added SIP call filtering (Julien Grall)
 - Replace lpuart compatible instead (Julien Grall)

v1: https://lore.kernel.org/xen-devel/20240131114952.305805-1-john.ernberg@=
actia.se

John Ernberg (3):
  xen/arm: Add imx8q{m,x} platform glue
  xen/drivers: imx-lpuart: Replace iMX8QM compatible with iMX8QXP
  MAINTAINERS: Become a reviewer of iMX8Q{M,XP} related patches

 MAINTAINERS                     |   5 ++
 xen/arch/arm/platforms/Makefile |   1 +
 xen/arch/arm/platforms/imx8qm.c | 139 ++++++++++++++++++++++++++++++++
 xen/drivers/char/imx-lpuart.c   |   2 +-
 4 files changed, 146 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/platforms/imx8qm.c

--=20
2.44.0


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 16:11:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 16:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702011.1096709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrav-0001ov-VM; Mon, 08 Apr 2024 16:11:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702011.1096709; Mon, 08 Apr 2024 16:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrav-0001nM-Ps; Mon, 08 Apr 2024 16:11:41 +0000
Received: by outflank-mailman (input) for mailman id 702011;
 Mon, 08 Apr 2024 16:11: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=VUGe=LN=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1rtrau-0001de-6X
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 16:11:40 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad6ee2ac-f5c2-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 18:11:37 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S036ANL.actianordic.se
 (10.12.31.117) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 8 Apr
 2024 18:11:35 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Mon, 8 Apr 2024 18:11:35 +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: ad6ee2ac-f5c2-11ee-b7f7-5d6b493b22b9
From: John Ernberg <john.ernberg@actia.se>
To: 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>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>, John Ernberg
	<john.ernberg@actia.se>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 2/3] xen/drivers: imx-lpuart: Replace iMX8QM compatible
 with iMX8QXP
Thread-Topic: [PATCH v4 2/3] xen/drivers: imx-lpuart: Replace iMX8QM
 compatible with iMX8QXP
Thread-Index: AQHaic9t9NatChHdRkuf/zCq/htzEg==
Date: Mon, 8 Apr 2024 16:11:35 +0000
Message-ID: <20240408161129.900347-3-john.ernberg@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
In-Reply-To: <20240408161129.900347-1-john.ernberg@actia.se>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.44.0
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A2958D72954657C6A
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

Allow the uart to probe also with iMX8QXP. The ip-block is the same as in
the QM.

Since the fsl,imx8qm-lpuart compatible in Linux exists in name only and is
not used in the driver any iMX8QM device tree that can boot Linux must set
fsl,imx8qxp-lpuart compatible as well as the QM one.

Thus we replace the compatible rather than adding just another one.

Signed-off-by: John Ernberg <john.ernberg@actia.se>
Acked-by: Julien Grall <jgrall@amazon.com>

---

v4:
 - no changes

v3:
 - no changes

v2:
 - Replace the compatible rather than adding to the list (Julien Grall)
 - Reword commit message to reflect the above.
 - Collect Julien's ack
---
 xen/drivers/char/imx-lpuart.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/char/imx-lpuart.c b/xen/drivers/char/imx-lpuart.c
index 7770d158bf..cf034d7ed0 100644
--- a/xen/drivers/char/imx-lpuart.c
+++ b/xen/drivers/char/imx-lpuart.c
@@ -236,7 +236,7 @@ static int __init imx_lpuart_init(struct dt_device_node=
 *dev,
=20
 static const struct dt_device_match imx_lpuart_dt_compat[] __initconst =3D
 {
-    DT_MATCH_COMPATIBLE("fsl,imx8qm-lpuart"),
+    DT_MATCH_COMPATIBLE("fsl,imx8qxp-lpuart"),
     { /* sentinel */ },
 };
=20
--=20
2.44.0


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 16:11:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 16:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702012.1096713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtraw-0001ur-5r; Mon, 08 Apr 2024 16:11:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702012.1096713; Mon, 08 Apr 2024 16:11: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 1rtraw-0001rz-2A; Mon, 08 Apr 2024 16:11:42 +0000
Received: by outflank-mailman (input) for mailman id 702012;
 Mon, 08 Apr 2024 16:11:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VUGe=LN=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1rtrav-0001de-14
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 16:11:41 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad7352cb-f5c2-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 18:11:37 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S035ANL.actianordic.se
 (10.12.31.116) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 8 Apr
 2024 18:11:36 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Mon, 8 Apr 2024 18:11:36 +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: ad7352cb-f5c2-11ee-b7f7-5d6b493b22b9
From: John Ernberg <john.ernberg@actia.se>
To: 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>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>, John Ernberg
	<john.ernberg@actia.se>
Subject: [PATCH v4 3/3] MAINTAINERS: Become a reviewer of iMX8Q{M,XP} related
 patches
Thread-Topic: [PATCH v4 3/3] MAINTAINERS: Become a reviewer of iMX8Q{M,XP}
 related patches
Thread-Index: AQHaic9t6tnWcqaR0k6EJDZEI79dYg==
Date: Mon, 8 Apr 2024 16:11:35 +0000
Message-ID: <20240408161129.900347-4-john.ernberg@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
In-Reply-To: <20240408161129.900347-1-john.ernberg@actia.se>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.44.0
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A2921D72954657C6A
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

I have experience with the IMX8QXP, and the supported parts of the IMX8QM
are identical.

Help review patches touching these areas.

Signed-off-by: John Ernberg <john.ernberg@actia.se>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>

---

v4:
 - Properly sign the patch off (Stefano Stabellini)
 - Pick up Stefano's ack

v3:
 - New patch (Bertrand Marquis)
---
 MAINTAINERS | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 1bd22fd75f..09982241b3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -337,6 +337,11 @@ F:	tools/misc/xenhypfs.c
 F:	xen/common/hypfs.c
 F:	xen/include/xen/hypfs.h
=20
+IMX8QM/QXP SUPPORT
+R:	John Ernberg <john.ernberg@actia.se>
+F:	xen/arch/arm/platforms/imx8qm.c
+F:	xen/drivers/char/imx-lpuart.c
+
 INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
 R:	Lukasz Hawrylko <lukasz@hawrylko.pl>
 R:	Daniel P. Smith <dpsmith@apertussolutions.com>
--=20
2.44.0


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 16:11:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 16:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702010.1096703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrav-0001hL-MS; Mon, 08 Apr 2024 16:11:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702010.1096703; Mon, 08 Apr 2024 16:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrav-0001gM-GI; Mon, 08 Apr 2024 16:11:41 +0000
Received: by outflank-mailman (input) for mailman id 702010;
 Mon, 08 Apr 2024 16:11: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=VUGe=LN=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1rtrat-0001de-Vz
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 16:11:39 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac82739e-f5c2-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 18:11:36 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S035ANL.actianordic.se
 (10.12.31.116) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 8 Apr
 2024 18:11:35 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Mon, 8 Apr 2024 18:11:35 +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: ac82739e-f5c2-11ee-b7f7-5d6b493b22b9
From: John Ernberg <john.ernberg@actia.se>
To: 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>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>, John Ernberg
	<john.ernberg@actia.se>
Subject: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Topic: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Index: AQHaic9tXQJwwldfJUm8+1aRDWuvfA==
Date: Mon, 8 Apr 2024 16:11:35 +0000
Message-ID: <20240408161129.900347-2-john.ernberg@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
In-Reply-To: <20240408161129.900347-1-john.ernberg@actia.se>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.44.0
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A2921D72954657C6A
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

When using Linux for dom0 there are a bunch of drivers that need to do SMC
SIP calls into the firmware to enable certain hardware bits like the
watchdog.

Provide a basic platform glue that implements the needed SMC forwarding.

The format of these calls are as follows:
 - reg 0: function ID
 - reg 1: subfunction ID (when there's a subfunction)
 remaining regs: args

For now we only allow Dom0 to make these calls as they are all managing
hardware. There is no specification for these SIP calls, the IDs and names
have been extracted from the upstream linux kernel and the vendor kernel.

Most of the SIP calls are only available for the iMX8M series of SoCs, so
they are easy to reject and they need to be revisited when iMX8M series
support is added.

>From the other calls we can reject CPUFREQ because Dom0 cannot make an
informed decision regarding CPU frequency scaling, WAKEUP_SRC is to wake
up from suspend, which Xen doesn't support at this time.

This leaves the TIME SIP, OTP SIPs, BUILDINFO SIP and TEMP ALARM SIP, which
for now are allowed to Dom0.

NOTE: This code is based on code found in NXP Xen tree located here:
https://github.com/nxp-imx/imx-xen/blob/lf-5.10.y_4.13/xen/arch/arm/platfor=
ms/imx8qm.c

Signed-off-by: Peng Fan <peng.fan@nxp.com>
[jernberg: Add SIP call filtering]
Signed-off-by: John Ernberg <john.ernberg@actia.se>

---

v4:
 - Fix coding style problems added in v3 (Michal Orzel)
 - Remove all calls not currently used by Linux on imx8q{m,xp} (Michal Orze=
l)
 - Fix {g,}printk inconsistencies, prefer gprintk (Michal Orzel)

v3:
 - Adhere to style guidelines for line length and label indentation (Michal=
 Orzel)
 - Use smccc macros to build the SIP function identifier (Michal Orzel)
 - Adjust platform name to be specific to QM and QXP variants (Michal Orzel=
)
 - Pick up additional SIPs which may be used by other Linux versions (Micha=
l Orzel)
 - Changes to the commit message due to above

v2:
 - Reword the commit message to be a bit clearer
 - Include the link previously added as a context note to the commit messag=
e (Julien Grall)
 - Add Pengs signed off (Julien Grall, Peng Fan)
 - Add basic SIP call filter (Julien Grall)
 - Expand the commit message a whole bunch because of the changes to the co=
de
---
 xen/arch/arm/platforms/Makefile |   1 +
 xen/arch/arm/platforms/imx8qm.c | 139 ++++++++++++++++++++++++++++++++
 2 files changed, 140 insertions(+)
 create mode 100644 xen/arch/arm/platforms/imx8qm.c

diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makef=
ile
index 8632f4115f..bec6e55d1f 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   +=3D sunxi.o
 obj-$(CONFIG_ALL64_PLAT) +=3D thunderx.o
 obj-$(CONFIG_ALL64_PLAT) +=3D xgene-storm.o
 obj-$(CONFIG_ALL64_PLAT) +=3D brcm-raspberry-pi.o
+obj-$(CONFIG_ALL64_PLAT) +=3D imx8qm.o
 obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp.o
 obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp-eemi.o
diff --git a/xen/arch/arm/platforms/imx8qm.c b/xen/arch/arm/platforms/imx8q=
m.c
new file mode 100644
index 0000000000..3600a073e8
--- /dev/null
+++ b/xen/arch/arm/platforms/imx8qm.c
@@ -0,0 +1,139 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/platforms/imx8qm.c
+ *
+ * i.MX 8QM setup
+ *
+ * Copyright (c) 2016 Freescale Inc.
+ * Copyright 2018-2019 NXP
+ *
+ *
+ * Peng Fan <peng.fan@nxp.com>
+ */
+
+#include <xen/sched.h>
+#include <asm/platform.h>
+#include <asm/smccc.h>
+
+static const char * const imx8qm_dt_compat[] __initconst =3D
+{
+    "fsl,imx8qm",
+    "fsl,imx8qxp",
+    NULL
+};
+
+#define IMX_SIP_FID(fid) \
+    ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
+                       ARM_SMCCC_CONV_64, \
+                       ARM_SMCCC_OWNER_SIP, \
+                       (fid))
+
+#define IMX_SIP_F_CPUFREQ        0x1
+#define IMX_SIP_F_TIME           0x2
+#define IMX_SIP_F_WAKEUP_SRC     0x9
+#define IMX_SIP_F_OTP_WRITE      0xB
+
+#define IMX_SIP_TIME_SF_RTC_SET_TIME     0x00
+#define IMX_SIP_TIME_SF_WDOG_START       0x01
+#define IMX_SIP_TIME_SF_WDOG_STOP        0x02
+#define IMX_SIP_TIME_SF_WDOG_SET_ACT     0x03
+#define IMX_SIP_TIME_SF_WDOG_PING        0x04
+#define IMX_SIP_TIME_SF_WDOG_SET_TIMEOUT 0x05
+#define IMX_SIP_TIME_SF_WDOG_GET_STAT    0x06
+#define IMX_SIP_TIME_SF_WDOG_SET_PRETIME 0x07
+
+static bool imx8qm_is_sip_time_call_ok(uint32_t subfunction_id)
+{
+    switch ( subfunction_id )
+    {
+    case IMX_SIP_TIME_SF_RTC_SET_TIME:
+        return true;
+    case IMX_SIP_TIME_SF_WDOG_START:
+    case IMX_SIP_TIME_SF_WDOG_STOP:
+    case IMX_SIP_TIME_SF_WDOG_SET_ACT:
+    case IMX_SIP_TIME_SF_WDOG_PING:
+    case IMX_SIP_TIME_SF_WDOG_SET_TIMEOUT:
+    case IMX_SIP_TIME_SF_WDOG_GET_STAT:
+    case IMX_SIP_TIME_SF_WDOG_SET_PRETIME:
+        return true;
+    default:
+        gprintk(XENLOG_WARNING, "imx8qm: smc: time: Unknown subfunction id=
 %x\n",
+                subfunction_id);
+        return false;
+    }
+}
+
+static bool imx8qm_smc(struct cpu_user_regs *regs)
+{
+    uint32_t function_id =3D get_user_reg(regs, 0);
+    uint32_t subfunction_id =3D get_user_reg(regs, 1);
+    struct arm_smccc_res res;
+
+    if ( !cpus_have_const_cap(ARM_SMCCC_1_1) )
+    {
+        printk_once(XENLOG_WARNING
+                    "imx8qm: smc: no SMCCC 1.1 support. Disabling firmware=
 calls\n");
+
+        return false;
+    }
+
+    /* Only hardware domain may use the SIP calls */
+    if ( !is_hardware_domain(current->domain) )
+    {
+        gprintk(XENLOG_WARNING, "imx8qm: smc: No access\n");
+        return false;
+    }
+
+    switch ( function_id )
+    {
+    case IMX_SIP_FID(IMX_SIP_F_CPUFREQ):
+        /* Hardware domain can't take any informed decision here */
+        return false;
+    case IMX_SIP_FID(IMX_SIP_F_TIME):
+        if ( imx8qm_is_sip_time_call_ok(subfunction_id) )
+            goto allow_call;
+        return false;
+    /* Xen doesn't have suspend support */
+    case IMX_SIP_FID(IMX_SIP_F_WAKEUP_SRC):
+        return false;
+    case IMX_SIP_FID(IMX_SIP_F_OTP_WRITE):
+        /* subfunction_id is the fuse number, no sensible check possible *=
/
+        goto allow_call;
+    default:
+        gprintk(XENLOG_WARNING, "imx8qm: smc: Unknown function id %x\n",
+                function_id);
+        return false;
+    }
+
+ allow_call:
+    arm_smccc_1_1_smc(function_id,
+                      subfunction_id,
+                      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;
+}
+
+PLATFORM_START(imx8qm, "i.MX 8Q{M,XP}")
+    .compatible =3D imx8qm_dt_compat,
+    .smc =3D imx8qm_smc,
+PLATFORM_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--=20
2.44.0


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 16:23:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 16:23:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702023.1096737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrmQ-00051x-7u; Mon, 08 Apr 2024 16:23:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702023.1096737; Mon, 08 Apr 2024 16:23:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtrmQ-00051l-5L; Mon, 08 Apr 2024 16:23:34 +0000
Received: by outflank-mailman (input) for mailman id 702023;
 Mon, 08 Apr 2024 16:23:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zErk=LN=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1rtrmO-0004wR-Fk
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 16:23:32 +0000
Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com
 [2607:f8b0:4864:20::f36])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 567a7749-f5c4-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 18:23:31 +0200 (CEST)
Received: by mail-qv1-xf36.google.com with SMTP id
 6a1803df08f44-696719f8dfcso26743096d6.0
 for <xen-devel@lists.xenproject.org>; Mon, 08 Apr 2024 09:23:31 -0700 (PDT)
Received: from rossla-lxenia.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 q8-20020ad44348000000b0069b14ff208bsm1515536qvs.79.2024.04.08.09.23.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 08 Apr 2024 09:23: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: 567a7749-f5c4-11ee-afe6-a90da7624cb6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712593410; x=1713198210; 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=H5x+YaR09ZTu1jMXSzWW/50S2FlPaWtNu+wmw+3STVI=;
        b=o82H6dSv2xomsoYqe7C7+/TNAzWPUzVE74v8vwVYcIM/c1al9gbNuyhd/pHgKx+5JN
         LHAmCA6keadTniDvGNlRwXaPKAXrZdRZomwfxr2L+Rw7TQ8kWU9VOYMnjNe9mPvB/LLE
         cr1VvVR4Dj7HXyuuopxx2wiExeI+9upa/QH1w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712593410; x=1713198210;
        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=H5x+YaR09ZTu1jMXSzWW/50S2FlPaWtNu+wmw+3STVI=;
        b=OOt6jazhi+fQUgQhd1ITiF/YgrMUJtjasb+xd1Busua9x6AqI5rLD3TT5g1L/Ayjy+
         OMG2zitBWrTGKLaHD1DGiIRwObKi41XeMXL6Oex37MoqTGHCDMHD+fFQOm/v8aN7v+sV
         5mvXWdiTXTzy9TM5d3BWOYHBNplLtqrUXhJCVbcNGSFSNLo1dUTgWm9cEl0pgZHIlQTi
         8YRI6OJtZhhKpKN/NmoGTNnf3CkgHqxY36aBU9CdhqBUJuhovYCPBfCTQB+Fy3y7ljer
         ndiiC57tmZgo6zf1oASash29ebeZGdLMYdprMIlVYKPN6G+j6+GQkmLSGh/iI33e4uaA
         EJUw==
X-Gm-Message-State: AOJu0YzttBg3Ppje0Zq78UzFpnDCDtdqFICbbQeg/R8Q+NWzIRuiQE7T
	FXJjLOkxVArzEMzFA0GKpdbdyVFnLHNMld1ele3W6GlKs7IrRZVtpWMCKEE/aQJ/3HGXlAWanuk
	=
X-Google-Smtp-Source: AGHT+IHNIxXp5tnZapf03sBF+9VMqkABIFTS8/Tmwrw/svZmCKuzi1+h3BKtwmRhGS33jo51GDZSTA==
X-Received: by 2002:ad4:5be7:0:b0:696:7ed9:9d8b with SMTP id k7-20020ad45be7000000b006967ed99d8bmr11936531qvc.2.1712593409777;
        Mon, 08 Apr 2024 09:23:29 -0700 (PDT)
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH] x86/rtc: Avoid UIP flag being set for longer than expected
Date: Mon,  8 Apr 2024 17:26:20 +0100
Message-ID: <20240408162620.1633551-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In a test, OVMF reported an error initializing the RTC without
indicating the precise nature of the error. The only plausible
explanation I can find is as follows:

As part of the initialization, OVMF reads register C and then reads
register A repatedly until the UIP flag is not set. If this takes longer
than 100 ms, OVMF fails and reports an error. This may happen with the
following sequence of events:

At guest time=0s, rtc_init() calls check_update_timer() which schedules
update_timer for t=(1 - 244us).

At t=1s, the update_timer function happens to have been called >= 244us
late. In the timer callback, it sets the UIP flag and schedules
update_timer2 for t=1s.

Before update_timer2 runs, the guest reads register C which calls
check_update_timer(). check_update_timer() stops the scheduled
update_timer2 and since the guest time is now outside of the update
cycle, it schedules update_timer for t=(2 - 244us).

The UIP flag will therefore be set for a whole second from t=1 to t=2
while the guest repeatedly reads register A waiting for the UIP flag to
clear. Fix it by clearing the UIP flag when scheduling update_timer.

I was able to reproduce this issue with a synthetic test and this
resolves the issue.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/x86/hvm/rtc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c
index 4b31382619f4..4bb1c7505534 100644
--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -202,6 +202,7 @@ static void check_update_timer(RTCState *s)
         }
         else
         {
+            s->hw.cmos_data[RTC_REG_A] &= ~RTC_UIP;
             next_update_time = (USEC_PER_SEC - guest_usec - 244) * NS_PER_USEC;
             expire_time = NOW() + next_update_time;
             s->next_update_time = expire_time;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 16:57:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 16:57:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702031.1096747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtsIu-0000pl-PI; Mon, 08 Apr 2024 16:57:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702031.1096747; Mon, 08 Apr 2024 16: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 1rtsIu-0000pe-MM; Mon, 08 Apr 2024 16:57:08 +0000
Received: by outflank-mailman (input) for mailman id 702031;
 Mon, 08 Apr 2024 16: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=MIwb=LN=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rtsIs-0000pY-MZ
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 16:57:06 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06652c8b-f5c9-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 18:57:04 +0200 (CEST)
Received: from CH0PR03CA0418.namprd03.prod.outlook.com (2603:10b6:610:11b::19)
 by MN0PR12MB6029.namprd12.prod.outlook.com (2603:10b6:208:3cf::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Mon, 8 Apr
 2024 16:56:58 +0000
Received: from DS2PEPF0000343B.namprd02.prod.outlook.com
 (2603:10b6:610:11b:cafe::55) by CH0PR03CA0418.outlook.office365.com
 (2603:10b6:610:11b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Mon, 8 Apr 2024 16:56:58 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF0000343B.mail.protection.outlook.com (10.167.18.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 16:56:57 +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.35; Mon, 8 Apr
 2024 11:56:57 -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.35; Mon, 8 Apr
 2024 11:56:56 -0500
Received: from [172.28.134.8] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 11:56: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: 06652c8b-f5c9-11ee-afe6-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gqZPUgQUWm803Q2wnHEeMYZjambFJ/rTiao+t9SWCRJeQZfRKVciq/Hl8f0XZp62MBukrnUZu6z7SZckgXoKEtg9dYNRR/7KD0w7c+86GxskpnbMirFMq5kmka2MErafx5TzWe0XYj/x8e/+L587CYeBPxN4DRto3SR9FRCa5MN+eAyJ+w5mlFgewRk3P8Pz8QQZ8O3keIiZH0/wmUH0DPCfE33XQqAzON8cvXzys0wSHHFfSnq1TmrNAUWX30STv2RRWx8b1Vz4OemaK+bBhbPJIRR0XFrgN5OuhHpTGGqX1OA/tYN3qLUsfLE3JLLkNddEIIDz4cYQXg9ZjfyXjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j1pXvPQomaZPf1tpcnsc6+GMp/URSiFhr6y/tb0PkcY=;
 b=HAemxTY7wGAqqCjSVwiADQNx/K2CvlO3s92CSR2ElhE/TMG+fwxt7mxvdE1Poj8nZmr+GpalRfOkWqqvDSXcX83vg/1F2QqMnlIk/HE9pM5gIetSaUcOjiawJzRU8BGMyM2HNZ/isj/SP2lKcYDqHuyEBirfx854/z3BAKtQSEMkQHYQAfqpQRPToSHPzMJ0upK8AKyHeGOukcxe3QQQ8PDedMDdnPU9ebfTjqzQjuDbsn1519ZMZUGksfGeYkn06pZhkmPInalrdVGyBQDRL2l3hP3jLmNAiIMpr1RM+4u7Wde8QOP4kVJuesluZWM505TUa8hHmRKcNzn66cLRBg==
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=j1pXvPQomaZPf1tpcnsc6+GMp/URSiFhr6y/tb0PkcY=;
 b=VCgexitOCo0JNcV+961pUWjgYUL6wQXQ6IdVD9W8fyY76o59fiDF7qYrH2k6W/Y9Z+wHFZKGJwOX2wLmuggElFPRwHX4kJNq59+n+E/chSZ+or/mnKCS/LVG1nrfq0c7fM5qyKjI14REvNfNvGW/+RCFDFgAC8ZkC8eHI1Ju/MI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <13d1943e-6341-46de-a356-dc6b92945f3b@amd.com>
Date: Mon, 8 Apr 2024 12:56:56 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v7 2/2] x86/PVH: Support relocatable dom0 kernels
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>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20240404212519.16401-1-jason.andryuk@amd.com>
 <20240404212519.16401-3-jason.andryuk@amd.com>
 <70ab0f9d-a451-44a5-8927-4200dbb96a08@suse.com>
Content-Language: en-US
In-Reply-To: <70ab0f9d-a451-44a5-8927-4200dbb96a08@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343B:EE_|MN0PR12MB6029:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ebfd61b-55dc-4b7d-0a28-08dc57ece70d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f6lFSdIzUWJ0f21Fjq6c2pE5sDvV34o/gp0V+DtJ2FrSyyx4xe9AlQ58VG1ZMuRNsMrRUwFkuR6Lw0wrPgpz02KWZrZ7mfEFx36iub3XxTMF7WUTiGgA+2SvGderODq7p5j8mD8CYdo5LdYX8IdAUPNMKfwwhBiJGpqZBYSrWSHcQFRMQ4G6yQKiMC4zy0nPW8WEeBKaY3mnx9GrOEJWmizesqlmn5lQ1xWs4adZnebp1z5GPH8hFnDreFvwdI6ghJxOQznMvl2IY7vgj4687hcTcowvniCkE+RN4gepfqWRoRDeIckqTc7Le+rZKKD2c02rR8+uicuLidHfJJHq2WSYFc8eGQ71U86jgKkMVjBvqQkn34VUJ90/AOfNYkolJ34ZwdXGkJjhwcG/ZtIBfIcriNS0C9wMo18PxqygaYaoFgAOBC0A8sY+8Erca/Hvxx/Ik2kCMQ8TbEo4Fz7rac4Q6giDDVcZ8Tr04GtYsnsmzFI2nrVDovWhJNRemrz0XuK2htS+NNDvqMBd5NZ13mitBc4dQo6e4zz09KuR5t+AfioiD5kXnisExZpmZOV920fa/WPStJEJ3Gp7HKmX/wzGwciS3ACRmyVaFNrBYq9Wvx3IDQwuz5vWbBdegJYzTlu0YT+zKh3bSHQlBizDvqhTfNfwhyVckRcUQinStTJlDzoJIoMqvCl6Sw/pQ6DmvLeLsfeKEa7w3EkcTGfeulFXCCzu0mRX7zq+BTKMF25t1eUUJmiXLNWx9kbjGdJx
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 16:56:57.8651
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ebfd61b-55dc-4b7d-0a28-08dc57ece70d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF0000343B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6029

On 2024-04-08 03:00, Jan Beulich wrote:
> On 04.04.2024 23:25, Jason Andryuk wrote:
>> Xen tries to load a PVH dom0 kernel at the fixed guest physical address
>> from the elf headers.  For Linux, this defaults to 0x1000000 (16MB), but
>> it can be configured.
>>
>> Unfortunately there exist firmwares that have reserved regions at this
>> address, so Xen fails to load the dom0 kernel since it's not RAM.
>>
>> The PVH entry code is not relocatable - it loads from absolute
>> addresses, which fail when the kernel is loaded at a different address.
>> With a suitably modified kernel, a reloctable entry point is possible.
>>
>> Add XEN_ELFNOTE_PHYS32_RELOC which specifies optional alignment,
>> minimum, and maximum addresses needed for the kernel.  The presence of
>> the NOTE indicates the kernel supports a relocatable entry path.
>>
>> Change the loading to check for an acceptable load address.  If the
>> kernel is relocatable, support finding an alternate load address.
>>
>> The primary motivation for an explicit align field is that Linux has a
>> configurable CONFIG_PHYSICAL_ALIGN field.  This value is present in the
>> bzImage setup header, but not the ELF program headers p_align, which
>> report 2MB even when CONFIG_PHYSICAL_ALIGN is greater.  Since a kernel
>> is only considered relocatable if the PHYS32_RELOC elf note is present,
>> the alignment contraints can just be specified within the note instead
>> of searching for an alignment value via a heuristic.
>>
>> Load alignment uses the PHYS32_RELOC note value if specified.
>> Otherwise, the maxmum ELF PHDR p_align value is selected if greater than
>> or equal to PAGE_SIZE.  Finally, the fallback default is 2MB.
>>
>> libelf-private.h includes common-macros.h to satisfy the fuzzer build.
>>
>> Link: https://gitlab.com/xen-project/xen/-/issues/180
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> yet still with two remarks:

Thanks.

>> --- a/xen/arch/x86/hvm/dom0_build.c
>> +++ b/xen/arch/x86/hvm/dom0_build.c
>> @@ -537,6 +537,111 @@ static paddr_t __init find_memory(
>>       return INVALID_PADDR;
>>   }
>>   
>> +static bool __init check_load_address(
>> +    const struct domain *d, const struct elf_binary *elf)
>> +{
>> +    paddr_t kernel_start = (uintptr_t)elf->dest_base;
>> +    paddr_t kernel_end = kernel_start + elf->dest_size;
>> +    unsigned int i;
> 
> While properly typed here, ...
> 
>> +static paddr_t __init find_kernel_memory(
>> +    const struct domain *d, struct elf_binary *elf,
>> +    const struct elf_dom_parms *parms)
>> +{
>> +    paddr_t kernel_size = elf->dest_size;
>> +    unsigned int align;
>> +    int i;
> 
> ... I must have missed when this was changed to plain int. It should have
> been unsigned int here, too, ...
> 
>> +    if ( parms->phys_align != UNSET_ADDR32 )
>> +        align = parms->phys_align;
>> +    else if ( elf->palign >= PAGE_SIZE )
>> +        align = elf->palign;
>> +    else
>> +        align = MB(2);
>> +
>> +    /* Search backwards to find the highest address. */
>> +    for ( i = d->arch.nr_e820 - 1; i >= 0 ; i-- )
> 
> ... with this suitably adjusted. However, I'm not going to change this while
> committing, to avoid screwing up.

I intentionally changed this.  Looping downwards, a signed int allows 
writing the check naturally with i >= 0.  I think it's clearer when 
written this way.

>> --- a/xen/include/public/elfnote.h
>> +++ b/xen/include/public/elfnote.h
>> @@ -196,10 +196,28 @@
>>    */
>>   #define XEN_ELFNOTE_PHYS32_ENTRY 18
>>   
>> +/*
>> + * Physical loading constraints for PVH kernels
>> + *
>> + * The presence of this note indicates the kernel supports relocating itself.
>> + *
>> + * The note may include up to three 32bit values to place constraints on the
>> + * guest physical loading addresses and alignment for a PVH kernel.  Values
>> + * are read in the following order:
>> + *  - a required start alignment (default 0x200000)
> 
> "... (default 0x200000; see below)", i.e. ...
> 
>> + *  - a minimum address for the start of the image (default 0)
>> + *  - a maximum address for the last byte of the image (default 0xffffffff)
>> + *
>> + *  When this note specifies an alignment value, it is used.  Otherwise the
>> + *  maximum p_align value from loadable ELF Program Headers is used, if it is
>> + *  greater than or equal to 4k (0x1000).  Otherwise, the default is used.
> 
> ... referring to this (which, btw, has one too many padding blanks on the
> entire paragraph). I will take the liberty to make this adjustment while
> committing.

Thanks.  vim must have kept the indent from the list above, and I didn't 
notice.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 17:39:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 17:39:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702036.1096756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtsxc-0006Mj-UK; Mon, 08 Apr 2024 17:39:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702036.1096756; Mon, 08 Apr 2024 17: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 1rtsxc-0006Mc-Ri; Mon, 08 Apr 2024 17:39:12 +0000
Received: by outflank-mailman (input) for mailman id 702036;
 Mon, 08 Apr 2024 17: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=7si+=LN=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1rtsxb-0006MW-S3
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 17:39:12 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2408::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5b1336e-f5ce-11ee-b7f7-5d6b493b22b9;
 Mon, 08 Apr 2024 19:39:07 +0200 (CEST)
Received: from SJ0PR13CA0044.namprd13.prod.outlook.com (2603:10b6:a03:2c2::19)
 by SJ2PR12MB8831.namprd12.prod.outlook.com (2603:10b6:a03:4d0::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Mon, 8 Apr
 2024 17:39:01 +0000
Received: from CO1PEPF000042AB.namprd03.prod.outlook.com
 (2603:10b6:a03:2c2:cafe::e9) by SJ0PR13CA0044.outlook.office365.com
 (2603:10b6:a03:2c2::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.16 via Frontend
 Transport; Mon, 8 Apr 2024 17:39:01 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042AB.mail.protection.outlook.com (10.167.243.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Mon, 8 Apr 2024 17:39: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.35; Mon, 8 Apr
 2024 12:38:55 -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.35; Mon, 8 Apr
 2024 12:38:54 -0500
Received: from [172.22.155.249] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 12:38: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: e5b1336e-f5ce-11ee-b7f7-5d6b493b22b9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f0b7el21/ca02BMEbdsZoBsCJvfo8N/WFF1FWdhRVL1ehZio4pnBlYmdfuOqamgM8/qw6KMoEuf7FgovGMBqgbboLenHMqwl6G6DmJIom2BQk/n+NOeo7RNwxA0ctJC+dgBarQ/WWyxhCdM1qgXpCA5UeRz00WEG73n/G+TH+3VSbXx3JgUv7NnhdAp3Tm59urvs34vaP+Hx2v7CIVxaU8H5IA1jLc1HIUP4qH4uIhAB6GWIMHdo34pDOeC26YM+8Z72Yx2Fkp4/diGbMs+C7sKxjPFQzMCRQZoBryXWCqqESM5JuBwfci27DqQ3gkUr//qG9WUkEUBydySeefU2hw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yvV5SQCeWdgRdWuc5tGujfAp/NoKY1TrTKtUJiwNMO8=;
 b=ikKMDrfDTezkt8Wru579V262J6nUcDzpgDV8iVHovuG1Y6Z+aD7ztLpLrkxsY/VAOZ6OHcwy8NX7tucgr2EHwq9WFXmU98v6+pq+Qz03g/viNj1aX5YonBgY8ydpAkEweLXie6q6+cCyRbqaMtoJxyKKiQsqI8qOQN1j4PIXVfe9Um1ru4DGt3ZcKzIfduHD3Q5xI3UXqqzWdvXtkAGhKM1lGz4hnuwvLJ3HGAvAbn/IKSgXC4nDxd2xLezlf4B0S5ywFsLnCtUZ2lV3AxeufSQ+PUjRirmoEngsztWr4s9r3AV3AiAj6CKxbPlh/7AqVLIVDbf9RdFUMwpK+LRfHQ==
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=yvV5SQCeWdgRdWuc5tGujfAp/NoKY1TrTKtUJiwNMO8=;
 b=cNvjwC4jfJd8PrvcOnc2L6LqLsQJLrl6HxNl0sYOntZGtGxlshVQeVs05FAwtLMGX7NqVf2AAnoLmcySWnwgWyE8FLbzQK8P3OV8sTtoe4aVKRhfh9jk+3V+qBxDBCQixmRjjt9gUepZCWviVPOLfEFVN44dhF6wlrzB9iAf3DQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <33a14c95-c186-48bf-9aa5-cfcac374492a@amd.com>
Date: Mon, 8 Apr 2024 13:38:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH V4] Add requirements for Device Passthrough
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>, <amd-xen-safety@groups.io>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Michal Orzel
	<michal.orzel@amd.com>, Artem Mygaiev <artem_mygaiev@epam.com>, "Ayan Kumar
 Halder" <ayankuma@amd.com>, Stefano Stabellini <stefano.stabellini@amd.com>,
	Mykola Kvach <mykola_kvach@epam.com>
References: <20240408131945.476581-1-olekstysh@gmail.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20240408131945.476581-1-olekstysh@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AB:EE_|SJ2PR12MB8831:EE_
X-MS-Office365-Filtering-Correlation-Id: d58d6981-9e02-4005-740c-08dc57f2c70f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qMYTT9iM96k+lJcZqOCkg5kT3lFZc3uXbFOfgJdsNjJtqM832XqNU6Nf72e890rt3jXMPytkisoE3NYAwq/x3waZW/27QVF6sPyYQVfl8GkfPePXFKJqBGNENvNeapW2Mc7BMmbr6SoCxqc8SSHyevx+psW/TRajaaAa1NuRh2srKPFdyqMEohRkyiz6F7wQhknz9x0dbj+O+m9FVrGoQeSAjroYHP1O3YrXKb2/DNNGuRLf7ghNbSJ7QIUs++87vIqSE/yzxMG1jRkrxjUPJILtSAfUGSqbSa1xySlQfoSOEjPGtseCFORjr13pwF9fFDOoMwb48w2WBVd5oqd4vWBKd1ek+26PdaMqyXssrAkN5JqBJ8bLaCErjICmwA/Uo46kVjPvdTqy38aEcFfgSq4Tk2DCTorVYZ7hlLWaZSSKTOFStJyZH3sjfx66Q7H62tBjETZng9K+tL4Inmej0OEk/El5JAPzd6dIMoNslGmAjI0BoFONVQwKeKGz5Ia3gnnWj/Y7VW3IFfKCb0oYAgWRkg6OZWkbhLMazIwakqRNb7eAfCaFJBHhLN1vnr6z+74tq0RNtz+caAPcvCZoceSjwuVRjWSFbPiIFpUmxVE1sRTELOZbWz4ZvuevxHWvgFtZYYXpXU1CwKMsc1Zh6B0TAywPPm42s4PTKiz7mcqmxrEIQNjizcsJDfaFCxdKWlM0ytGQF60m2jO8HaairQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2024 17:39:01.0023
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d58d6981-9e02-4005-740c-08dc57f2c70f
X-MS-Exchange-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:
	CO1PEPF000042AB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8831

On 4/8/24 09:19, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Please refer to chapter "Device Passthrough":
> https://groups.io/g/amd-xen-safety/message/1300
> 
> Create corresponding directory and README file.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Two nits below. With those addressed:

Reviewed-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

> ---
> 
>   V2:
>    - add R-b
>    - update README
>    - lower case for platform, s/simple/non-DMA-capable, other misc
>      updates
>    - add "Allowed for the safe direct mapped VMs only"
>      to reqs for DMA-capable devices without IOMMU protection
>    - add dom0less passthrough details where needed
>    - add reqs for PCI devices discovering
> 
>   V3:
>    - move common reqs "Assign PCI device to domain (without IOMMU)" and
>      "Deassign PCI device from domain (without IOMMU)" to Arm64 only
>    - clarify the DMA-capable device assignment w/o IOMMU,
>      add more details
>    - drop R-b
> 
>   V4:
>    - add the following reqs:
>      - Assign interrupt-less platform device to domain
>      - Deassign interrupt-less platform device from domain
>      - Map platform device MMIO region identity
>      - Map platform device MMIO region non-identity
>    - add more details
>    - repeat the relevant info in all assign reqs
> ---
> ---
>  .../physical_resources/README.rst             |  16 +
>  .../physical_resources/passthrough.rst        | 477 ++++++++++++++++++
>  2 files changed, 493 insertions(+)
>  create mode 100644 domain_creation_and_runtime/physical_resources/README.rst
>  create mode 100644 domain_creation_and_runtime/physical_resources/passthrough.rst
> 
> diff --git a/domain_creation_and_runtime/physical_resources/README.rst b/domain_creation_and_runtime/physical_resources/README.rst
> new file mode 100644
> index 0000000..0eb4dd4
> --- /dev/null
> +++ b/domain_creation_and_runtime/physical_resources/README.rst
> @@ -0,0 +1,16 @@
> +Physical resources
> +==================
> +
> +This section lists the requirements related to physical resources directly
> +accessible from the domain as well as physical resources entirely controlled
> +by Xen and invisible to a domain. The later group of resources, although being
> +invisible to a domain, has an impact on it.
> +
> +Examples of domain physical resources:
> +    | 1. PCI device
> +    | 2. Platform device
> +    | 3. MMU stage 1
> +
> +Examples of Xen physical resources:
> +    | 1. IOMMU stage 2
> +    | 2. MMU stage 2
> diff --git a/domain_creation_and_runtime/physical_resources/passthrough.rst b/domain_creation_and_runtime/physical_resources/passthrough.rst
> new file mode 100644
> index 0000000..f619730
> --- /dev/null
> +++ b/domain_creation_and_runtime/physical_resources/passthrough.rst
> @@ -0,0 +1,477 @@
> +Device Passthrough
> +==================
> +
> +The following are the requirements related to a physical device
> +assignment [1], [2] to Arm64 and AMD64 PVH domains.
> +
> +Requirements for both Arm64 and AMD64 PVH
> +=========================================
> +
> +Hide IOMMU from a domain
> +------------------------
> +
> +`XenSSR~hide_iommu_from_domain~1`
> +
> +Description:
> +Xen should not expose the IOMMU device to the domain even if I/O virtualization
> +is disabled. The IOMMU should be under hypervisor control only.
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Discover PCI devices from hardware domain
> +-----------------------------------------
> +
> +`XenSSR~discover_pci_devices_from_hwdom~1`
> +
> +Description:
> +The hardware domain shall be able to enumerate and discover PCI devices and
> +inform Xen about their appearance and disappearance
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Discover PCI devices from Xen
> +-----------------------------
> +
> +`XenSSR~discover_pci_devices_from_xen~1`
> +
> +Description:
> +Xen shall be able to discover PCI devices (enumerated by the firmware
> +beforehand) during boot if the hardware domain is not meant to be used
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Assign PCI device to domain (with IOMMU)
> +----------------------------------------
> +
> +`XenSSR~assign_pci_device_with_iommu~1`
> +
> +Description:
> +Xen shall be able to assign a specified PCI device (always implied as
> +DMA-capable) to a domain during its creation using passthrough (partial)
> +device tree. The physical device to be assigned is protected by the IOMMU.
> +
> +Rationale:
> +
> + - The passthrough device tree is specified using a device tree module node
> +   with compatible ("multiboot,device-tree") in the host device tree
> + - The PCI device to be passed through is specified using device tree property
> +   ("xen,pci-assigned") in the "passthrough" node described in the passthrough
> +   device tree
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Deassign PCI device from domain (with IOMMU)
> +--------------------------------------------
> +
> +`XenSSR~deassign_pci_device_with_iommu~1`
> +
> +Description:
> +Xen shall be able to deassign a specified PCI device from a domain during its
> +destruction. The physical device to be deassigned is protected by the IOMMU.
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Forbid the same PCI device assignment to multiple domains
> +---------------------------------------------------------
> +
> +`XenSSR~forbid_same_pci_device_assignment~1`
> +
> +Description:
> +Xen should not assign the same PCI device to multiple domains by failing
> +to create a new domain if the device to be passed through is already assigned
> +to the existing domain. Also different PCI devices which share any resources
> +(interrupts, IOMMU connections) can be assigned only to the same domain.
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Requirements for Arm64 only
> +===========================
> +
> +Assign interrupt-less platform device to domain
> +-----------------------------------------------
> +
> +`XenSSR~assign_interrupt_less_platform_device~1`
> +
> +Description:
> +Xen shall be able to assign a specified platform device that has only a MMIO
> +region (does not have any interrupts) to a domain during its creation using
> +passthrough device tree.
> +The example of interrupt-less device is PWM or clock controller.
> +
> +Rationale:
> +
> + - The passthrough device tree is specified using a device tree module node
> +   with compatible ("multiboot,device-tree") in the host device tree
> + - The passthrough device tree should entirely describe the platform device to
> +   be passed through for the domain to be able to discover and use this device
> + - The intention of the platform device usage for the passthrough is specified
> +   using device tree property ("xen,passthrough") in the device node described
> +   in the host device tree
> + - The memory region of the platform device and corresponding guest address for
> +   remapping are specified using device tree property ("xen,reg") in the device
> +   node described in the passthrough device tree
> + - The allowance of the platform device assignment which is not behind an IOMMU
> +   (for both non-DMA-capable and DMA-capable devices) is specified using device
> +   tree property ("xen,force-assign-without-iommu") in the device node
> +   described in the passthrough device tree. The said property also allows
> +   the interrupt-less platform device assignment (a device that has only a MMIO
> +   region) without specifying the corresponding node in the host device via
> +   device tree property ("xen,path").
> +   For the DMA-capable devices this property is only allowed for the direct
> +   mapped VMs with special care to be taken
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> +
> + - XenValTestCase
> +
> +Deassign interrupt-less platform device from domain
> +---------------------------------------------------
> +
> +`XenSSR~deassign_interrupt_less_platform_device~1`
> +
> +Description:
> +Xen shall be able to deassign a specified platform device that has only a MMIO
> +region (does not have any interrupts) from a domain during its destruction
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Assign non-DMA-capable platform device to domain
> +------------------------------------------------
> +
> +`XenSSR~assign_non_dma_platform_device~1`
> +
> +Description:
> +Xen shall be able to assign a specified non-DMA-capable platform
> +device to a domain during its creation using passthrough device tree.
> +The example of non-DMA-capable device is Timer.
> +
> +Rationale:
> +
> + - The passthrough device tree is specified using a device tree module node
> +   with compatible ("multiboot,device-tree") in the host device tree
> + - The passthrough device tree should entirely describe the platform device to
> +   be passed through for the domain to be able to discover and use this device
> + - The intention of the platform device usage for the passthrough is specified
> +   using device tree property ("xen,passthrough") in the device node described
> +   in the host device tree
> + - The memory region of the platform device and corresponding guest address for
> +   remapping are specified using device tree property ("xen,reg") in the device
> +   node described in the passthrough device tree
> + - The path of the platform device node in the host device tree is specified
> +   using device tree property ("xen,path") in the device node described
> +   in the passthrough device tree. Both interrupt mappings and IOMMU settings
> +   are based on it
> + - The allowance of the platform device assignment which is not behind an IOMMU
> +   (for both non-DMA-capable and DMA-capable devices) is specified using device
> +   tree property ("xen,force-assign-without-iommu") in the device node
> +   described in the passthrough device tree. The said property also allows
> +   the interrupt-less platform device assignment (a device that has only a MMIO
> +   region) without specifying the corresponding node in the host device via
> +   device tree property ("xen,path").
> +   For the DMA-capable devices this property is only allowed for the direct
> +   mapped VMs with special care to be taken
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Deassign non-DMA-capable platform device from domain
> +----------------------------------------------------
> +
> +`XenSSR~deassign_non_dma_platform_device~1`
> +
> +Description:
> +Xen shall be able to deassign a specified non-DMA-capable platform
> +device from a domain during its destruction
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Assign DMA-capable platform device to domain (with IOMMU)
> +---------------------------------------------------------
> +
> +`XenSSR~assign_dma_platform_device_with_iommu~1`
> +
> +Description:
> +Xen shall be able to assign a specified DMA-capable platform device to a domain
> +during its creation using passthrough device tree. The physical device to be
> +assigned is protected by the IOMMU.
> +
> +Rationale:
> +
> + - The passthrough device tree is specified using a device tree module node
> +   with compatible ("multiboot,device-tree") in the host device tree
> + - The passthrough device tree should entirely describe the platform device to
> +   be passed through for the domain to be able to discover and use this device
> + - The intention of the platform device usage for the passthrough is specified
> +   using device tree property ("xen,passthrough") in the device node described
> +   in the host device tree
> + - The memory region of the platform device and corresponding guest address for
> +   remapping are specified using device tree property ("xen,reg") in the device
> +   node described in the passthrough device tree
> + - The path of the platform device node in the host device tree is specified
> +   using device tree property ("xen,path") in the device node described
> +   in the passthrough device tree. Both interrupt mappings and IOMMU settings
> +   are based on it
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Deassign DMA-capable platform device from domain (with IOMMU)
> +-------------------------------------------------------------
> +
> +`XenSSR~deassign_dma_platform_device_with_iommu~1`
> +
> +Description:
> +Xen shall be able to deassign a specified DMA-capable platform device from
> +a domain during its destruction. The physical device to be deassigned is
> +protected by the IOMMU.
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Assign DMA-capable platform device to domain (without IOMMU)
> +------------------------------------------------------------
> +
> +`XenSSR~assign_dma_platform_device_without_iommu~1`
> +
> +Description:
> +Xen shall be able to assign a specified DMA-capable platform device to a domain
> +during its creation using passthrough device tree. The physical device to be
> +assigned is not protected by the IOMMU.
> +Here and everywhere it applies, the DMA-capable device assignment which is not
> +behind an IOMMU is allowed for the direct mapped VMs only. The direct mapped VM
> +must be either safe or additional security mechanisms for protecting against
> +possible malicious or buggy DMA devices must be in place, e.g. Xilinx memory
> +protection unit (XMPU) and Xilinx peripheral protection unit (XPPU).
> +
> +Rationale:
> +
> + - The IOMMU is absent from the system or it is disabled (status = "disabled"
> +   in the host device tree)
> + - The passthrough device tree is specified using a device tree module node
> +   with compatible ("multiboot,device-tree") in the host device tree
> + - The passthrough device tree should entirely describe the platform device to
> +   be passed through for the domain to be able to discover and use this device
> + - The intention of the platform device usage for the passthrough is specified
> +   using device tree property ("xen,passthrough") in the device node described
> +   in the host device tree
> + - The memory region of the platform device and corresponding guest address for
> +   remapping are specified using device tree property ("xen,reg") in the device
> +   node described in the passthrough device tree
> + - The path of the platform device node in the host device tree is specified
> +   using device tree property ("xen,path") in the device node described
> +   in the passthrough device tree. Both interrupt mappings and IOMMU settings
> +   are based on it
> + - The allowance of the platform device assignment which is not behind an IOMMU
> +   (for both non-DMA-capable and DMA-capable devices) is specified using device
> +   tree property ("xen,force-assign-without-iommu") in the device node
> +   described in the passthrough device tree. The said property also allows
> +   the interrupt-less platform device assignment (a device that has only a MMIO
> +   region) without specifying the corresponding node in the host device via
> +   device tree property ("xen,path").
> +   For the DMA-capable devices this property is only allowed for the direct
> +   mapped VMs with special care to be taken
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Deassign DMA-capable platform device from domain (without IOMMU)
> +----------------------------------------------------------------
> +
> +`XenSSR~deassign_dma_platform_device_without_iommu~1`
> +
> +Description:
> +Xen shall be able to deassign a specified DMA-capable platform device from
> +a domain during its destruction. The physical device to be deassigned is not
> +protected by the IOMMU.
> +
> +Rationale:
> +The IOMMU is absent from the system or it is disabled (status = "disabled"
> +in the host device tree)
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Map platform device MMIO region identity
> +----------------------------------------
> +
> +`XenSSR~map_platform_device_mmio_region_ident~1`
> +
> +Description:
> +Xen shall be able to map platform device memory region identity
> +(guest address == physical address) when assigning a specified platform
> +device to a domain. The device can be either non-DMA-capable or DMA-capable.
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Map platform device MMIO region non-identity
> +--------------------------------------------
> +
> +`XenSSR~map_platform_device_mmio_region_non_ident~1`
> +
> +Description:
> +Xen shall be able to map platform device memory region non-identity
> +(guest address != physical address) when assigning a specified platform
> +device to a domain. The device can be either non-DMA-capable or DMA-capable.
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Assign PCI device to domain (without IOMMU)
> +-------------------------------------------
> +
> +`XenSSR~assign_pci_device_without_iommu~1`
> +
> +Description:
> +Xen shall be able to assign a specified PCI device to a domain during its
> +creation using passthrough device tree. The physical device to be assigned
> +is not protected by the IOMMU.

Nit: The same limitation as the platform device applies here too: it is
allowed for direct mapped VMs only. You do mention "... and everywhere
it applies ..." above, so I guess that covers it here as well.
Regardless, I think it would be clearer to mention it here too, so we
don't have to imply from the context of another requirement.

> +
> +Rationale:
> +
> + - The IOMMU is absent from the system or it is disabled (status = "disabled"
> +   in the host device tree)
> + - The passthrough device tree is specified using a device tree module node
> +   with compatible ("multiboot,device-tree") in the host device tree
> + - The PCI device to be passed through is specified using device tree property
> +   ("xen,pci-assigned") in the "passthrough" node described in the passthrough
> +   device tree
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Deassign PCI device from domain (without IOMMU)
> +-----------------------------------------------
> +
> +`XenSSR~deassign_pci_device_without_iommu~1`
> +
> +Description:
> +Xen shall be able to deassign a specified PCI device from a domain during its
> +destruction. The physical device to be deassigned is not protected
> +by the IOMMU.
> +
> +Rationale:
> +The IOMMU is absent from the system or it is disabled (status = "disabled"
> +in the host device tree)
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Forbid the same platform device assignment to multiple domains
> +--------------------------------------------------------------
> +
> +`XenSSR~forbid_same_platform_device_assignment~1`
> +
> +Description:
> +Xen should not assign the same platform device to multiple domains by failing
> +to create a new domain if the device to be passed through is already assigned
> +to the existing domain. Also, different platform devices which share any
> +resources (interrupts, IOMMU connections) can be assigned only to the same
> +domain.
> +
> +Rationale:
> +
> +Covers:
> + - `XenPRQ~device_passthrough~1`
> +
> +Needs:
> + - XenValTestCase
> +
> +Notes
> +=====
> +
> +The AMD64 PVH-specific requirements are written under the assumption that once
> +the hyperlaunch feature is completed, Xen shall be able to assign a PCI device
> +to started at boot time domains.

Nit: The grammar here looks odd. How about "... assign a PCI device to
boot time domains." ?

> This is not the case today, where the PCI
> +device can be passed through only to domains launched by a control (toolstack)
> +domain.
> +
> +The Arm64-specific requirements are written under the assumption that once
> +the dom0less PCI Passthrough feature is completed, Xen shall be able to assign
> +a PCI device to started at boot time domains.

Similarly here.

> This is not the case today,
> +where only the platform device Passthrough is supported.
> +
> +| [1] https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/passthrough.txt;hb=HEAD
> +| [2] https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=docs/misc/arm/passthrough-noiommu.txt;hb=HEAD



From xen-devel-bounces@lists.xenproject.org Mon Apr 08 18:35:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 18:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702040.1096767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rttph-00065Z-OI; Mon, 08 Apr 2024 18:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702040.1096767; Mon, 08 Apr 2024 18:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rttph-00065S-LM; Mon, 08 Apr 2024 18:35:05 +0000
Received: by outflank-mailman (input) for mailman id 702040;
 Mon, 08 Apr 2024 18:35:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4cMR=LN=epam.com=prvs=0828da255d=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1rttpg-00065M-KU
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 18:35:04 +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 b4e1ab3f-f5d6-11ee-afe6-a90da7624cb6;
 Mon, 08 Apr 2024 20:35:03 +0200 (CEST)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 438EKfds020212; Mon, 8 Apr 2024 18:34:56 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2051.outbound.protection.outlook.com [104.47.14.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3xcd2fa91t-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 08 Apr 2024 18:34:56 +0000 (GMT)
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AS2PR03MB9444.eurprd03.prod.outlook.com (2603:10a6:20b:59b::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 18:34:53 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::cb1c:3d36:163:e23]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::cb1c:3d36:163:e23%7]) with mapi id 15.20.7409.053; Mon, 8 Apr 2024
 18: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>
X-Inumbo-ID: b4e1ab3f-f5d6-11ee-afe6-a90da7624cb6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jzj3mbNOiqSV9s79WVhWRymwTo+AlCfNWGprTqZ3q8t9leExzXCYMEnPIGtVaz+Fl6vMOqlvwWPWCFXgXDIFBeVQVbE2vzBbdqBctaFJLeufHdKf40UcVjLOrBMZfC8wDjEGuG99CWmDTkPeDJ+d/V7CdthrY2LXEF7cthJ6SL60NM67lzVCqy8XksKH00yVF/ifZqTQRUoOiIfaATy54L34d2rLdQjORl6FNTy8Yjh3yJXQcr2DK7KPATNLO3zEP8VFpVylx5/b2xLPEHTI3Tzabfw/uET9zMrATttOiGIvWBBTeU6DxMCe8OwYPKRKzl3C4O0vjCtdVontcHnnaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z9+e9plGSLL7lHhr3tx7Yq9AuyCOFnkurc6sR1BlLJI=;
 b=FHGDUYZH5QLjZH72tfxEVDToVhKw3NZuEdZO3Q6HzCjN5R7QK9QP+SE6f9ncd4wDb/8tmmnkULw4tYfbtD5nMk8n6HhriB3JjBTV7rDEntyxW6vA3cPPs7XZP7FGctSytWSLXi89cad12cEZxlcNM/RCC30apCXIB7nFXDyEtNnJzBPgyfXpYB6IfoxJ2WOcl2fIuwdK4XEruaknPowDt7YFRiY4v5sQJnVCkptP9K8A+PzdtTu2D+PtBiNNe7hHh4sT2F3X8wcSdqD1LnMN55gZl9DCpU4PJEk/DwgoZjr6gnvmM6fXRaHICwntg+CEPDFztibEXgztTtZGJOsKfQ==
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=z9+e9plGSLL7lHhr3tx7Yq9AuyCOFnkurc6sR1BlLJI=;
 b=W3GaUtsqCDqEFaX8aIeEuZIoeQ9jBbvVlOx/Uc8e4+0YJaCcsOx3mKOu+gSQJaA/5XEGoPZHh+kSnWEiZ/9C+IrPNjpEq7nPwxf9S45wypLiruLZMZotlvkRewesB5f3eN3frZZG2gR1OeZyesFS+U4JhPOT109N3PriQ2d5tbePOCNzywB6xloDCPB89NZHNYlDsWHjuk4wYg5TiYE7TIBbsUwtpnYwRrbDEMjhi+rd71z71zRHFw/2WwuBbXgp6hV7q+uNBFMgwntv3RlTJ7It+CZUZiOCrYZdxUGXc++wEONUgYIut39VVhCDNYRy843Viu8G1Lpk8E9Qh9MW2w==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Oleksandr Tyshchenko <olekstysh@gmail.com>
CC: Michal Orzel <michal.orzel@amd.com>,
        Artem Mygaiev
	<Artem_Mygaiev@epam.com>,
        Ayan Kumar Halder <ayankuma@amd.com>,
        Stefano
 Stabellini <stefano.stabellini@amd.com>,
        Mykola Kvach
	<Mykola_Kvach@epam.com>,
        "amd-xen-safety@groups.io"
	<amd-xen-safety@groups.io>
Subject: Re: [amd-xen-safety] [PATCH V4] Add requirements for Device
 Passthrough
Thread-Topic: [amd-xen-safety] [PATCH V4] Add requirements for Device
 Passthrough
Thread-Index: AQHaibd7zNNT6i/2sUuRRwz0/oYCwrFeo88AgAAPdIA=
Date: Mon, 8 Apr 2024 18:34:52 +0000
Message-ID: <ebf316a0-e8e1-4294-b7eb-d1992bb8e4bb@epam.com>
References: <20240408131945.476581-1-olekstysh@gmail.com>
 <33a14c95-c186-48bf-9aa5-cfcac374492a@amd.com>
In-Reply-To: <33a14c95-c186-48bf-9aa5-cfcac374492a@amd.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB8PR03MB6108:EE_|AS2PR03MB9444:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 rySGIiAvm6fjNj4vCzBhZvhPxcWX6W0dmz9foU38CKg+C+i+oH0SqZ4Z60Ug7CEPhaxtzKL6ZDu4sMGeYFTNYEMNwrivb0pq4og2iyR77uZ4nkYA8yb7mDZWI0RK03b11ivgqxSID0/7GVP885XZ6pBPrHBeBIpttBkRrNoEskpzmoVq3PEHXH7KNoz2qVDVH3rxEytispz5oc4PLMFPKJagwv0vJcmQ+3B5Zu5Q8a/4NNyYpFQkFtNr7aLn+AB1x0bA9FcqniDXH1HetcrswMi4dXaP/nAbSOLrHKMqNI/tsNqk+X88EkwW9VEsZtb9NiMHahx4GpWj9UHNj/IKaV/o/p+0DygDYorZY+5CEE0MyzSW6Z+5xbb1EjPLMuBd/KQ/SnKCK5IA2m38uaiK4lW3XvPWP7HGfzuhPspyZbIKhc6IQignw4xBcJMUwiPw6yZ+TSgRlZXQwenMsKnNDUUqH2hPKsQL1j8p3G8t9j0rZVy2hbXfl/DOd/dHqPuYR07JLa1Vij45S3/cv2onSF/X4JMsVtlujkNUtL6dE7OKddX3MD6w/9Zywi0wqoTXoypxkr+YOfSLBpRzm5I8Czv2cXLGIICAkTk2rnMsOYY=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR03MB6108.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?bWRGT1hadXVWajB6M3FzVmJQSytKelZiamZ1MUFyVjFCSSt2SlM1eW5FYlJv?=
 =?utf-8?B?QkZPeGtMVGpwcmZOOFhVUi9GVDBWYjN0WkVSajVtN0M5Y1c4TnpWZ0Njd0N4?=
 =?utf-8?B?MG42RFkvdGFJdzNsendpa2E5anZhRC9oTGZOKzk5dkZPSlphWHh6REREKzQr?=
 =?utf-8?B?U01aOFk5VUFvak9qTTFOU0tXelIzRExkS0szWmJ5Qy9tVFJIeE5LSFpKekdu?=
 =?utf-8?B?SnRua3k0cm5semEvT2pUYUp5ZnZxemQrMEdsc3lDS2pXd2U3dWE2bDhuU3Yx?=
 =?utf-8?B?YjVXbVk0MEs2cG8vVEMrMUwwRkdERlJoSnliNzkrbDVXYVN6YnN0c3J5Q1lO?=
 =?utf-8?B?dzZ6VlpQZEFEdTdUUXlsZEtEb0wwOVJzR2k0c2RoS2hTeUNScWR5Ty9EdnN4?=
 =?utf-8?B?RE9GeVhIazNtYk1RT2VxU3lrRFJXbXB4K0JtRzlVb0FncUtnMDdwd0dZNHZk?=
 =?utf-8?B?VUNuNTdFZjFTdWNHRWZYWXk2cUdkVU4rZFFmcWFhanBad0NMQ0p6cWNCb2VY?=
 =?utf-8?B?RkpBTFRtMTR6MXlnZ05oZVRoSm05ZHdkRjFKekZOK3hGanM2cG1reXU5dEJ3?=
 =?utf-8?B?YzE4UG9Kb0IwYXhOM3RUS0pMS1ppaGYxY1FoWGNKRUNaYVFRQ2d1MEFFR2sz?=
 =?utf-8?B?K0ZnanprTElmSnNHN3ErQllDNXlaM24xbzlNR0FQQUNTLzdubVB2S0ltVnVy?=
 =?utf-8?B?b3lIZ0trekp1aDE1Vjd5YkVrUG85d0lqNkJFUERWMVM1b09tcHgxUTVQTGlt?=
 =?utf-8?B?d2haTHJ0YVFFQzRYQVhkcS9VcjlTcHVMeG1kWm0vRGdvMm52dFVZcEpLTFo3?=
 =?utf-8?B?VXc5NktZeGpZakZNRHl5d0pYdEpGRURDM29adS9xVkJhVWlRMi9IR3k4RWNY?=
 =?utf-8?B?akQ5cGNDZ2F6TzZlZmhzQktHa0V2RE9uWWtjUm5QWVZGaWJ6Q213VVNsM0FH?=
 =?utf-8?B?anhld2ROL3RVTU5EK0RER3dxbHdPb2ZuYTRCVk1JejJGSmxKSVYrTzZUZHI4?=
 =?utf-8?B?aUYvS1c5N05WMEFQTlJuci9oTzdXM0w2MkljNUdqdHgvSC9aMVc5TXVlNWV5?=
 =?utf-8?B?YldLVnRWeXBNaVZUQjJkVTl4TUtUMTRvRjMrd1dJNGdTZzYzZVFjOXpqakNr?=
 =?utf-8?B?N3ZQMEhoemdkZVlGb2RHcmF5QXRkOFVSa0lvaEtDM3l3cXV4YmR1d1NWaWtp?=
 =?utf-8?B?dktHTFB2bWx3dkJFTm1CaVl2V0RtVkpFclVWZUpZY0FoSkozWmVkZG5qTjJn?=
 =?utf-8?B?TzE3VEZJRnU3SWJacmpUZmptTkcyZGNnZEVKNjI2MVgxcUNIaVdqRGF1VDJx?=
 =?utf-8?B?OTZpeXhBcWtERHd6em4yY1NuNGZ5aDVQRWNYOE9ueU9uQ3RMNEdVM2xnZ0Vj?=
 =?utf-8?B?WE51OWlLQUFGU1ZvUGxWVzkzWG0rdXF6T3hBMVo5Q0NnYUJiZ3NxUmlzRWJW?=
 =?utf-8?B?QUNxOW1pcy9ES0VPczJYR0E2Wm9idWNLU1ZPWkpGQnhFcGFHVnphZ0NYb0ht?=
 =?utf-8?B?S04rT0t2SU5yWVRrOEZ0ZWswamsvUEVTbE9NK2FJeXh3cU8xYlhSVDE1UHE0?=
 =?utf-8?B?VWFQV0tlZFFzOExOMlBRT256QUJ0YllXY3QyNDF1TlJRZFIzUTZrV0oyd0Nt?=
 =?utf-8?B?TVJBRzI0YjB5SkF6Qkxoc2FRVjNGVU5kK3NwNjdNaUF4R0V5cWt1QnpUZExK?=
 =?utf-8?B?V05OcmpZb2tYRXg5Sk95THk3Y1BSdHZiWE1zMEkyVGpqSHE4dXNCbC9wc3R4?=
 =?utf-8?B?OElLS2g0akR3Tk8yWGxzM2w3dm16ODZ6M2dkbHhMMkV2UUl5b3BYUDB2bUpK?=
 =?utf-8?B?bDJDY25Oa2dvZjZldXJ2ditRMnFRNFJCbHA2bkJyMFphVW4zVE5mTVdKVDRD?=
 =?utf-8?B?RlFoRk4vazdNVWJjQ21kYndRNFdpZFh6QWNkTUQwZVNoR0IxdENxLzE3UDRq?=
 =?utf-8?B?TERnRVNGd1FpOFBkWFZNQVlub05ic1VMSnJ3RWwzcGlBUlY4K1ZtRVZidjAz?=
 =?utf-8?B?dFBTb1JZZ29pRTAxRnVNWEZlODN1dCtFeUdFR2JlN3BXOVJBM0hTbmF1TTdL?=
 =?utf-8?B?MFBnUUdJdTRrMnlEZ3hXMVBENXRyN0dmN3cxdGx3alJ0c2tGU1QxNTVRL2F1?=
 =?utf-8?B?TGliZkw3WTZoZVhDUGxiYTd5ZFRzUklLUlJXSzhEQWVMd0FoMzNTWmNtL3E0?=
 =?utf-8?Q?+0947lw5RgcTnq+B+uP7qp8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8BCDB7D77F9F3D4AB194DC73EC06A8DF@eurprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DB8PR03MB6108.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 107ee846-ccc8-4d83-42e4-08dc57fa94d5
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2024 18:34:53.0130
 (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: fSNylj5LTvqaSVtsgc5C+ZqU/pkmU6TGP/06pnHzZ6ogDK/sYUNey2M/X+dJbB16uF7SyTtZuWiGWCxUFC7f6VsWEguKrmaBuvaGokkSiJE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR03MB9444
X-Proofpoint-ORIG-GUID: e-3EyzFLIVt0iYIGW1tgOo2zYlQBglDm
X-Proofpoint-GUID: e-3EyzFLIVt0iYIGW1tgOo2zYlQBglDm
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-08_15,2024-04-05_02,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0
 lowpriorityscore=0 priorityscore=1501 adultscore=0 clxscore=1011
 mlxlogscore=999 spamscore=0 malwarescore=0 mlxscore=0 phishscore=0
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404080143

DQoNCk9uIDA4LjA0LjI0IDIwOjM4LCBIaWxkZWJyYW5kLCBTdGV3YXJ0IHZpYSBncm91cHMuaW8g
d3JvdGU6DQo+IE9uIDQvOC8yNCAwOToxOSwgT2xla3NhbmRyIFR5c2hjaGVua28gd3JvdGU6DQo+
PiBGcm9tOiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5j
b20+DQo+Pg0KPj4gUGxlYXNlIHJlZmVyIHRvIGNoYXB0ZXIgIkRldmljZSBQYXNzdGhyb3VnaCI6
DQo+PiBodHRwczovL3VybGRlZmVuc2UuY29tL3YzL19faHR0cHM6Ly9ncm91cHMuaW8vZy9hbWQt
eGVuLXNhZmV0eS9tZXNzYWdlLzEzMDBfXzshIUdGXzI5ZGJjUUlVQlBBITNhRmI3ckwzWnR1SXFt
NjBwaW8tbXRaRGNrQ2k4TVlfaTBhMWQ3bmNMS3FRN2hEb1ZrR3VWeWU2OG1YODFic0J3OVkxV1hp
Vklmd1JnM3hoVXlYdzVRYkx2V25ZS05BOGFlZzQkIFtncm91cHNbLl1pb10NCj4+DQo+PiBDcmVh
dGUgY29ycmVzcG9uZGluZyBkaXJlY3RvcnkgYW5kIFJFQURNRSBmaWxlLg0KPj4NCj4+IFNpZ25l
ZC1vZmYtYnk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFt
LmNvbT4NCg0KSGVsbG8sDQoNCnRoaXMgd2FzIHNlbnQgdG8gQHhlbi1kZXZlbCBieSBtaXN0YWtl
LCBwbGVhc2UgaWdub3JlLg0Kc29ycnkgZm9yIHRoZSBpbmNvbnZlbmllbmNl


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 22:35:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 22:35:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702063.1096816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtxaG-0001P2-DO; Mon, 08 Apr 2024 22:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702063.1096816; Mon, 08 Apr 2024 22:35:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtxaG-0001Ov-AR; Mon, 08 Apr 2024 22:35:24 +0000
Received: by outflank-mailman (input) for mailman id 702063;
 Mon, 08 Apr 2024 22:35: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 1rtxaE-0001Ok-9h; Mon, 08 Apr 2024 22:35: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 1rtxaE-0000ub-88; Mon, 08 Apr 2024 22:35: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 1rtxaD-0002Ny-Pg; Mon, 08 Apr 2024 22:35:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rtxaD-0002KL-Ol; Mon, 08 Apr 2024 22: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=s/qNyXcxvdvkrCxi3a+jIsQ1CL9rBsS7NO/C/yLArbE=; b=KFRCzCBII/jp9NJmO48x4fhwqi
	vhLTiShFOU/06rKcg6CxcWGMWWNbkTGy+l1nObBIrvupcOsGjdYkKGcihs37aknQqhHBUkDGRjfAI
	Q8V7ZXgVP/sxoWzuyDORRHuX/aYbhWFgKvTpPEVWfZh5DgeqzJb6WkAc+mSozMKiyoYI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185274-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185274: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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=c079823df64c98dd7bb40fe77d9ef410e85a7624
X-Osstest-Versions-That:
    xen=402c2d3e66a6bc9481dcabfc8697750dc4beabed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 08 Apr 2024 22:35:21 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185271  2024-04-08 03:27:51 Z    0 days
Testing same since   185274  2024-04-08 15:38:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Juergen Gross <jgross@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   402c2d3e66..c079823df6  c079823df64c98dd7bb40fe77d9ef410e85a7624 -> master


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 23:38:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 23:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702068.1096826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtyZN-0000Q1-0S; Mon, 08 Apr 2024 23:38:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702068.1096826; Mon, 08 Apr 2024 23: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 1rtyZM-0000Pu-U5; Mon, 08 Apr 2024 23:38:32 +0000
Received: by outflank-mailman (input) for mailman id 702068;
 Mon, 08 Apr 2024 23:38:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=bW3C=LN=nxp.com=peng.fan@srs-se1.protection.inumbo.net>)
 id 1rtyZL-0000Pj-ON
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 23:38:31 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20700.outbound.protection.outlook.com
 [2a01:111:f403:2608::700])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19d124ce-f601-11ee-914f-f14010f3f246;
 Tue, 09 Apr 2024 01:38:29 +0200 (CEST)
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11)
 by PAXPR04MB8989.eurprd04.prod.outlook.com (2603:10a6:102:20c::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 23:38:27 +0000
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Mon, 8 Apr 2024
 23:38: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: 19d124ce-f601-11ee-914f-f14010f3f246
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hO8qy7GA593B148Rj7+Z4svQxsbczff1T6uy+mYK/PzivKs6PRe9CoNqivEYtRz0xXwQBQ3cG7aQLZV4YgS5/Og7ubba63DTxgoed8+EC0h+bLNYC2+RrkapnzlxgIL1Phw7TJbheBCX+VPBJYn3ifE0YOzrZguBffRTs84w/UatYqzScNS/tk18ToG+5skWzszW1WSFg9Tq4EnIHRb6djwXSZ+ZBZ35kOyFeOd0mJ3/j0TVGBXcAw94ha2f9G+Qfrc5nc7lnFe+Iv22M7SLE2CiqsCEvPjT/4iMB9H/DL/H9GNMtihRfK1l94MDTeHBglnduO7G8kXHSv+QcHjSMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gaY7V/sBDnPDLN5/NgSC9ZPe7xS95w4QXBn7FxcCV3g=;
 b=OPxLyA8ob8QiYGjoH9M0lyZO4AlzvKKAW6fbRQE3S8Y33T0tsGdaT6MDFPEAEkhTm8W7D5CFuonAK6uaxdfHhAGsi+I77ShcseS8aqAx6MDifpcEVWiXLqNwwy3ZNkM6tzbMhSSOeTaRstgeO5JOKgPisqXJLZnZwVEW3OFEl7ALqtKr3zYcs1P4WChbwWhvOOJNvbYU7edCCiGv2YfOlOW1qVsm4XxR3rk+B2dWYzMQaaHu13vnFa9utMXzoRA2xd2bcWIT36+Vudwwz12IRzbwsCTFZH+z/r2BA42mAnE1DkwS6W0VgeuDPE5SKtnA3HpyKPnYRmiVE07wmPSBuQ==
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=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gaY7V/sBDnPDLN5/NgSC9ZPe7xS95w4QXBn7FxcCV3g=;
 b=VEJRNhPfSAfi7t0BeXvaubfBJSJYs9pDPnwKTlBT/SUeeoUF5gHg/mgzyMlsmPND6dLbxqZpvKl6x9hUEXZRcOi9dsnfw77o8mRw8Cjnl+wRnHdVBhdIHQ/No4oq2MNzaK7K+MLYvpSE/C7F7Vx3s3yRWfFcLEHimjitC1jm0hE=
From: Peng Fan <peng.fan@nxp.com>
To: John Ernberg <john.ernberg@actia.se>, 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>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jonas
 Blixt <jonas.blixt@actia.se>, Julien Grall <jgrall@amazon.com>
Subject: RE: [PATCH v4 2/3] xen/drivers: imx-lpuart: Replace iMX8QM compatible
 with iMX8QXP
Thread-Topic: [PATCH v4 2/3] xen/drivers: imx-lpuart: Replace iMX8QM
 compatible with iMX8QXP
Thread-Index: AQHaic9t9NatChHdRkuf/zCq/htzErFfB/9A
Date: Mon, 8 Apr 2024 23:38:27 +0000
Message-ID:
 <DU0PR04MB9417707F2EFAD119C40EE09C88002@DU0PR04MB9417.eurprd04.prod.outlook.com>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-3-john.ernberg@actia.se>
In-Reply-To: <20240408161129.900347-3-john.ernberg@actia.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DU0PR04MB9417:EE_|PAXPR04MB8989:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ++xNg1+fQExQCWtp/PYfpZVlLQb1+2MTgSHzAhYHYwa1mcVYEXyP+EzrC9BMXqXETZknviUjPSIbPCt3UfJFZOEY/070JhreOQzLQUKEg017POfYhNv7/nqkOAx7rk2z+okPFsxhBn/0An8mE1Qr9UxYUQYHzx6aKkC4gRvf3LJ+k+QCdrNIE9jC/MgvpQqDya4uW0jNHOzoYyJSQvY0wZlJuwy7UUeCoYbykCQ+DFYOUcq2ghxG7guhVP/IeYEu0pNk3vOUXdDui0y+nXS9Hj7yGn/7q9YZUfs6K6kgcitBzPRxclK8uWdCVOPeOUvKqa/pNeGerQglfavhHt1soCv5mmApfJJ7mky/j5vrBlSfhtGzuqdI4HuW+O0HoEoHmPQSAlja/sDRUBpTffUeEjvZBWWFkK2rwyc7ufyuqa33a2y7f3nRnallVaiJ9rl2K2SZB5p/18Ps5vWM/sYZvcOQYEYSM4zfkbk03oy9DfmJ9libTbZ0QVeftiRSm3hZA4I1X67wOeSySEHNcO5DZtQbF9z5fdswIP7WtblSq77wjo+HTV9/zouug7D6ENyqsqfakCt01Ws32lxSIEndgxTM6G4Gd5e72XFOlAEZqpHIb13m42xgcHilCzOUPCIygC3AVJzosuCICtGXeKbYL6BO6iBzKZfoB1eVjysjpzM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(7416005)(376005)(1800799015);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?tufKAioEKzav1iTaaYI/tVUnxGsEOu8aWpcgzzrNP0uiP6CkHszcuS/hb6wi?=
 =?us-ascii?Q?TGvg/f3XCeRdx4wb/6/h++5D2/WPBP8SW+4otOIrOXbehIPHlbGc48gyCX1G?=
 =?us-ascii?Q?YfB7ZcMK+pkrLF1oJtMSiG2OLuJZ88pe0Z9ogC5bCpUrNXPvjnp+KN8WlfMF?=
 =?us-ascii?Q?O1/ebuU7qFtu+4RzlhZUHjuNPvKGVosya77l7vBCWkJ8JkxeB44vlgd6UrB6?=
 =?us-ascii?Q?W9aXK51kwm4gNmIgyVc89hkovewDkmomJBSrbhXRyyGWggSvUTG9rotNWzkF?=
 =?us-ascii?Q?LtsPCfW/XaJZoXw9T6qBajNOucafZ0+433BqRRVALuG8ZaKnrWR9+ICXLpsv?=
 =?us-ascii?Q?hED+B5u2HTmQc+uU0qzBMZawXPCtGyo8JLrnYBMpAKUjxHVcpGLIMSQn7Gm6?=
 =?us-ascii?Q?yi4QosmO7fSD9ARzZ7lmjxBDNUD4WgBYn5TkHJ7dvDZedkS6kOIUcVhn5g7m?=
 =?us-ascii?Q?7Wc8KdmLBtuhqFxhbRRbQ608CaQjqHVIjDqqbt9ZbifrV7puNiWoXPSqay9U?=
 =?us-ascii?Q?+yXAALBOP5flrG3cOS8gV8PZFdh9Yuk5nNCfhkdcyNBwL8wrnVUUGxcHt87X?=
 =?us-ascii?Q?qy6yd7VH+eQBGGJSGNBvtYBrRud4u3qdUzgpptmTWxCWZfM8u8PiT+CUj+Lv?=
 =?us-ascii?Q?l1uMyNu0KMk195ia3l9fKjiddxFG3xtzJB7968HynBdA/adJFeV8bf3LKai7?=
 =?us-ascii?Q?+cat7Rr5QMLBS0z7T9KLyquNItDkaPyoJKPEMyJYDtIVTcWvwJ0eaJCAJ9D+?=
 =?us-ascii?Q?thgNvstdjU7XodJ9d3nm7SoO/KEEBwwduYmXw6TGwuAA+4aTrOJSl3qzVX4K?=
 =?us-ascii?Q?CW/aEcCOEWFI5KDOiBW6aRZDs4zscVLfXtVHh/0NfyY1EIS74oeP03cY/ljN?=
 =?us-ascii?Q?jnJmejk3MI+PLbsYBkW8ZSqCdxZ0nM2LMueYR38n0JfGCFtFtiIowGoyOqhX?=
 =?us-ascii?Q?D5Yicj06vNapRXXiXSNlBzxSKucn7x87P772MpZTiwObOoFCLndqrJ4RG2Nb?=
 =?us-ascii?Q?5swTfxRDrNSHtflwfGBFb0oHcw0y2vbz5AgOYgOXNrvQeD+9I63CFi+B8E6f?=
 =?us-ascii?Q?uh84iABU85xBHFk/7PXp5vEJU3H7bYQhmTCKLPIOp2HR/kmA6T003AqQ+yEy?=
 =?us-ascii?Q?Wu3vOAOMoTQHob954wKcDTpAumcLmZpERinvL1VT1K8ecWv9BIZGruYJZkxH?=
 =?us-ascii?Q?7rKsVR/WmU/q9VsYeZO8Rm1M3B8c1pVZLLZMrR0bRAgrN3t+nyDT5+TrqLcA?=
 =?us-ascii?Q?EQtDs82n6kKDWRW6f40/S9UB5SNWUyY+ZZCE+Tg3iuVsQB7w8UcsLlXIbPlr?=
 =?us-ascii?Q?1Pp4VF/NU0VHQj8V10XoiczSbzEBBUSUTL5QsQrcqucKlbTaBWYE4VeAmDG9?=
 =?us-ascii?Q?ZXhxtgKRgKlYxvQLjWuEBGTMX8N+yXDpfF0VDT5dDBFvZEKaq7xL+SbE/w7d?=
 =?us-ascii?Q?RuQdpp9sHMe4hhfVyoXMDqo3O1mhVVYzJaPd8cVIPP2GTYw7SSgyV9eYD4lC?=
 =?us-ascii?Q?fgh36HLMxjxQnfVuy8NaWocuOn/VQr4AxvuL0pMN1AcjUG7I6U0aVsrU1Tsq?=
 =?us-ascii?Q?k0+UxSFaiPndCV+HsOk=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 094b13c9-c61c-478f-db8a-08dc5824fd45
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2024 23:38:27.0664
 (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: XqcnjT5RFz+VXKRert0ugav5zRXwA6rt1vw29VJLZ9r6xi1KTuj71rNT4ruGRwf9nEFHG+Y7e+BAFHE2bPsrrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8989

> Subject: [PATCH v4 2/3] xen/drivers: imx-lpuart: Replace iMX8QM compatibl=
e
> with iMX8QXP
>=20
> Allow the uart to probe also with iMX8QXP. The ip-block is the same as in=
 the
> QM.
>=20
> Since the fsl,imx8qm-lpuart compatible in Linux exists in name only and i=
s not
> used in the driver any iMX8QM device tree that can boot Linux must set
> fsl,imx8qxp-lpuart compatible as well as the QM one.
>=20
> Thus we replace the compatible rather than adding just another one.
>=20
> Signed-off-by: John Ernberg <john.ernberg@actia.se>
> Acked-by: Julien Grall <jgrall@amazon.com>
>=20
> ---
>=20
> v4:
>  - no changes
>=20
> v3:
>  - no changes
>=20
> v2:
>  - Replace the compatible rather than adding to the list (Julien Grall)
>  - Reword commit message to reflect the above.
>  - Collect Julien's ack
> ---
>  xen/drivers/char/imx-lpuart.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/xen/drivers/char/imx-lpuart.c b/xen/drivers/char/imx-lpuart.=
c
> index 7770d158bf..cf034d7ed0 100644
> --- a/xen/drivers/char/imx-lpuart.c
> +++ b/xen/drivers/char/imx-lpuart.c
> @@ -236,7 +236,7 @@ static int __init imx_lpuart_init(struct
> dt_device_node *dev,
>=20
>  static const struct dt_device_match imx_lpuart_dt_compat[] __initconst =
=3D  {
> -    DT_MATCH_COMPATIBLE("fsl,imx8qm-lpuart"),
> +    DT_MATCH_COMPATIBLE("fsl,imx8qxp-lpuart"),
>      { /* sentinel */ },

Reviewed-by: Peng Fan <peng.fan@nxp.com>
>  };
>=20
> --
> 2.44.0


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 23:40:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 23:40:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702070.1096836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtybW-0001mr-Bk; Mon, 08 Apr 2024 23:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702070.1096836; Mon, 08 Apr 2024 23:40:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtybW-0001mk-8p; Mon, 08 Apr 2024 23:40:46 +0000
Received: by outflank-mailman (input) for mailman id 702070;
 Mon, 08 Apr 2024 23:40:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=bW3C=LN=nxp.com=peng.fan@srs-se1.protection.inumbo.net>)
 id 1rtybU-0001me-HM
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 23:40:44 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20701.outbound.protection.outlook.com
 [2a01:111:f403:2607::701])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69f11989-f601-11ee-914f-f14010f3f246;
 Tue, 09 Apr 2024 01:40:43 +0200 (CEST)
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11)
 by PAXPR04MB8989.eurprd04.prod.outlook.com (2603:10a6:102:20c::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 23:40:40 +0000
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Mon, 8 Apr 2024
 23:40:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69f11989-f601-11ee-914f-f14010f3f246
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RLdlPUJY1Wc3RDsRkIXnMr6Hry7CWhlB8qRLFLR/Nwb+vidLURWkouBksoeZSUWy9fuDIuF2OHMPVu122/RC7W6yiyWMXiccmONmQButF+oHq3e70xeeueaN78CVTt2kQNHsuDdeSGefnllzE15S7y6wa669JQFAXm07gpDlsoxsYibuGEYwnKdpOqWCvQsMh82n1trPOQV5EqA+KP0dP18Vd8IigfuNn7EMqr8j9GOPwu4efHLBhSeOLWT+0VVFgvA5DFFX+jWObfsDKyLM2x1YpWr+oI2h3V9vOPgoh4PqB484o9wdatJ8CWXWQJJOPQpe6W8wJLxxtL3VJQJWvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C59bRSeFCNSZs8+VdasaFgI9GfkNc2/LzwZOKZoFGM8=;
 b=EWSoX6YlZ6L2imLhR1C68qm9AzsObmm0dCkn9xrMrMScezAa5lLYypnZlndkSUR25Y/Dq9+NpzTf/vVofAjoQt/uVxWN3q3W1/5uqjCyC6a3GGvu63TuS1vPLQO7dZogHsjvq8llJl+gam1cA0HkpoHOvgpkx5gSqVh4Iu77oZqoxYVrlCzTiSj/fEloTrWt762h+xTL4DOgh6S9+i2uksXmJpbYzzG7xtQQDK/TIze5VuEbDbg1HAArDexb2FfFNcKs88LAt5BGAkkm7R2W34u/M280OOdiaiHWsRHUNCpSMSzkEQk7Wy0wEPJjO9rPtqel9mq/P5200k0pgANNzQ==
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=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C59bRSeFCNSZs8+VdasaFgI9GfkNc2/LzwZOKZoFGM8=;
 b=smgQm4fbhpP2sr5h5HUGXaV+KBI0ftHILL2nYCKUqAw5WjX2leLkdqSoNnEvqWoWPyL+J4nmHpLIo303+or4rBTW2ajOf2u3wib/IKLMe/dZBWcN72n2VSFjriYvQpKXmQJSJ3ZOCn+yfZ+yNJ0Y8WqqPtrmaJmnQW+cYz6rEPE=
From: Peng Fan <peng.fan@nxp.com>
To: John Ernberg <john.ernberg@actia.se>, 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>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jonas
 Blixt <jonas.blixt@actia.se>
Subject: RE: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Topic: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Index: AQHaic9tXQJwwldfJUm8+1aRDWuvfLFfCI2w
Date: Mon, 8 Apr 2024 23:40:40 +0000
Message-ID:
 <DU0PR04MB94179F0869716F8DF299B0D388002@DU0PR04MB9417.eurprd04.prod.outlook.com>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
In-Reply-To: <20240408161129.900347-2-john.ernberg@actia.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DU0PR04MB9417:EE_|PAXPR04MB8989:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 EJB9qGdTHiodcWalzXXnHS7tpVBFSghlk1ZTxQUULg0YGqiwddPcBEr4ksx/Zxjgq3VZm4KSi/1iiL1ko2er4MQteUZfZzgnzcAzhf+8NmtXOB0FV+qYwwpaVSSjje34+DvLxI+7DzQLduvsZDJLmS/PcsP1zA15XSnf1suK7ZaHTZbdeG7xLeGbS5UkigcLySucluqEmt+prvqxLINem9GULMFI6FK7mF6GMsVxYEQJOdmdViZVAEzprx72IE6lCBpFsIq+0xqj0nZApwgW1hmxuqA+W6BXXduJq9lIBf/hqkH/A/tN2KmA1gP7iO4fIGzEuh/v9iVuSN7wBlDetzHSDm7XvDIyHbe+Cnpdc9wLslsB46AnbuZ7r/glf4SpVBV9zCHUqhorAe+A1rz2QcH7uXY3vS/1nluTJdgVAe2CC0IIzHxfWiz7gtXxAqJMgSO82BQUtZXSc8WKZWTOBNpVqx+qWR9ixCtMLrCod7PrNWqjnvc6yBO0j5jYnxRVxB+ulwDBID2ms+SP+sZEt6Dok7mW2rwdS6qblTVIJr7S6t3Azcc/LloNsxL1svx9z9EyntTrl9CGHhbw3mR2U+Z03IrkVfbSxl4X3x5W8l5XDI/vmf/T24HvgImCgKCO9j4Ly0VTgh2ZLDpI+pLagaXZRGzSQ8tkLO0FZqvEE3A=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(7416005)(376005)(1800799015);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?KVZ6DKB4DVVRXYcwafvm+Wj5x4mUSE8VwghseJpmZal9Tx7KnVJVMTnkFBt4?=
 =?us-ascii?Q?rMrwbHhYFogS+MZ40fnhnDaKbk/dvgD2imH8lZQObEh4bYRnlcI1LsYVuGy2?=
 =?us-ascii?Q?XuA72rRWcLxtTw7ZJhU7+S0jL1iFiyDQagj+O3w4+TuN245aKTz13AwWAopQ?=
 =?us-ascii?Q?qu1amNWG/gPGlRrZ+p3lErv48hVPyYV6/mv/eoBm/BwrsBOEsy6hAnEGB37b?=
 =?us-ascii?Q?3DOKQsA751C3ll00Ws8csM0TKw+Th3HjuC+KyaQwYYT8L+/j8L+uqkqRihGs?=
 =?us-ascii?Q?EXt4R4iMOtaVL9EO1cETYz28PfdvANfsCdWVM18zudL42PDJKuCkvAHngU/p?=
 =?us-ascii?Q?AswO8ICI5UFL+NdaOhgJswYgAQBATHsG8DnY+YNAXAXxoL8Cuxgfxg5hcq+1?=
 =?us-ascii?Q?J43zEEgDczjAORANXuGm68pV6Cp0Yt78jaPJqlNJxRESksvS1AIJNLJt9FVO?=
 =?us-ascii?Q?aUPFZ5gU7wk+1Rg5F8R0wTxxuJVC/ddjaDewvYGclBpAuWz/4viCawz/Am4/?=
 =?us-ascii?Q?/cwBOUt4oFrCUbHjK4M5qGX52rZG3/jiJ6iU9EjiEqqPBS9bFoRsJte9i8vY?=
 =?us-ascii?Q?lDoDW5T6dzGIUoJFJlg1VXLWr/syFIwBXXj/F1b1KE2XBQUnbMyz+CT1WfhX?=
 =?us-ascii?Q?zgim0C+JafJGAZd1WSmuARvieTCpPu8UBHw74eRFJFksoG8+NQ3yKfQoomoU?=
 =?us-ascii?Q?DLFQg0d4F0OFioZ0cBfjfxEUJJpvDiHKfRV1rQbkqXXhw9jgXGRY+OlclMAA?=
 =?us-ascii?Q?GBsCRQAc6AW/6kk01TsUC2lbsuihOBx51yfuL5f2NmuadDm47Kf/4JSwOh5k?=
 =?us-ascii?Q?Wlpug8OBZhOTa0U7UPsd/+pe37TztWyTjQC3Lfp3Rc8ueIuYABl2FMEbRj4n?=
 =?us-ascii?Q?rW3nnJIw8mK5RrV9fHa74aTnpQCdHuGLkMMcEvyMFlnYxvnO5p0cU1sGh8TX?=
 =?us-ascii?Q?K14QHg0Ol1oYbac/pxDV0pXDvLdU+MRHtcN+U4dIrUTFN+qwZ2vBQaRxqP0X?=
 =?us-ascii?Q?Cz9f4nBT20euIJc/MGo9on8migqNkc6XVMywf/Ndox7EfOhnbMbCzmdcQjOW?=
 =?us-ascii?Q?CPaHIcGAX7ha+Ke+9qxysnW5e/cYbe690shSsn4+FBs1iJNuopA8LKwhCGG5?=
 =?us-ascii?Q?ihAD+WSMLayaOf6oChkmd47B/gK03jXQeoLKHPVIeoPQt4LD8K/oC4KGTZR3?=
 =?us-ascii?Q?ZhEs7HLvgarsp8Q64z8UQ8xOfLyozADKVXGRmxMjOhxxTxbykFjzU8VFNkkS?=
 =?us-ascii?Q?B57Z/gYp+/mcY1pTpZawjw2kB+vZK2CApJCUf/BFrcIkrpdxw0KHN3F7L5O/?=
 =?us-ascii?Q?5HcY2hzVubg5OaqhhOyLO7vGjpZu/HzGm37+9GUr2v+iwvjan8g2LmzyJD/t?=
 =?us-ascii?Q?V2skXp0lVolTgpirYrn6zuwFzcTF7eZTnJYCeo+Ux35XaWWn50Zq7P0AT4GN?=
 =?us-ascii?Q?ZS0LEky6EDDvIaq31KN61Kt7LRWomK78RRjsRk+oHXpGLQQEhKnLyOPPFr0o?=
 =?us-ascii?Q?eILDOsVj66R3c33O2uvGlechqX9q9tFubdKlTp2tECpLN0ZUJyjPmdgUdaeP?=
 =?us-ascii?Q?OXj6TYPISqkBOdrDnrE=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6c8e538-25a2-41aa-fb18-08dc58254cd9
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2024 23:40:40.5065
 (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: IJCtoQ7HGDLGXA1UuDhOXcc0XSUY2LpQt5mAtoMsfj472oZTQK7XoLLjlxc2XMIEdQYmUm+owwsZKJVwBUCrVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8989

> Subject: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
>=20
> When using Linux for dom0 there are a bunch of drivers that need to do SM=
C
> SIP calls into the firmware to enable certain hardware bits like the watc=
hdog.
>=20
> Provide a basic platform glue that implements the needed SMC forwarding.
>=20
> The format of these calls are as follows:
>  - reg 0: function ID
>  - reg 1: subfunction ID (when there's a subfunction)  remaining regs: ar=
gs
>=20
> For now we only allow Dom0 to make these calls as they are all managing
> hardware. There is no specification for these SIP calls, the IDs and name=
s have
> been extracted from the upstream linux kernel and the vendor kernel.
>=20
> Most of the SIP calls are only available for the iMX8M series of SoCs, so=
 they
> are easy to reject and they need to be revisited when iMX8M series suppor=
t is
> added.
>=20
> From the other calls we can reject CPUFREQ because Dom0 cannot make an
> informed decision regarding CPU frequency scaling, WAKEUP_SRC is to wake
> up from suspend, which Xen doesn't support at this time.
>=20
> This leaves the TIME SIP, OTP SIPs, BUILDINFO SIP and TEMP ALARM SIP,
> which for now are allowed to Dom0.
>=20
> NOTE: This code is based on code found in NXP Xen tree located here:
> https://eur01.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgithu=
b
> .com%2Fnxp-imx%2Fimx-xen%2Fblob%2Flf-
> 5.10.y_4.13%2Fxen%2Farch%2Farm%2Fplatforms%2Fimx8qm.c&data=3D05%7
> C02%7Cpeng.fan%40nxp.com%7C5602a2d54f074c7dcd9608dc57e69286%7
> C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6384818950076004
> 32%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz
> IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=3DqSf9A7yE17P
> 2q2%2FqXINORXh2EfFAS1%2BilhiY%2FexjcbA%3D&reserved=3D0
>=20
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> [jernberg: Add SIP call filtering]
> Signed-off-by: John Ernberg <john.ernberg@actia.se>
>=20
> ---
>=20
> v4:
>  - Fix coding style problems added in v3 (Michal Orzel)
>  - Remove all calls not currently used by Linux on imx8q{m,xp} (Michal Or=
zel)
>  - Fix {g,}printk inconsistencies, prefer gprintk (Michal Orzel)
>=20
> v3:
>  - Adhere to style guidelines for line length and label indentation (Mich=
al
> Orzel)
>  - Use smccc macros to build the SIP function identifier (Michal Orzel)
>  - Adjust platform name to be specific to QM and QXP variants (Michal Orz=
el)
>  - Pick up additional SIPs which may be used by other Linux versions (Mic=
hal
> Orzel)
>  - Changes to the commit message due to above
>=20
> v2:
>  - Reword the commit message to be a bit clearer
>  - Include the link previously added as a context note to the commit mess=
age
> (Julien Grall)
>  - Add Pengs signed off (Julien Grall, Peng Fan)
>  - Add basic SIP call filter (Julien Grall)
>  - Expand the commit message a whole bunch because of the changes to the
> code
> ---
>  xen/arch/arm/platforms/Makefile |   1 +
>  xen/arch/arm/platforms/imx8qm.c | 139
> ++++++++++++++++++++++++++++++++
>  2 files changed, 140 insertions(+)
>  create mode 100644 xen/arch/arm/platforms/imx8qm.c
>=20
> diff --git a/xen/arch/arm/platforms/Makefile
> b/xen/arch/arm/platforms/Makefile index 8632f4115f..bec6e55d1f 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   +=3D sunxi.o
>  obj-$(CONFIG_ALL64_PLAT) +=3D thunderx.o
>  obj-$(CONFIG_ALL64_PLAT) +=3D xgene-storm.o
>  obj-$(CONFIG_ALL64_PLAT) +=3D brcm-raspberry-pi.o
> +obj-$(CONFIG_ALL64_PLAT) +=3D imx8qm.o
>  obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp.o
>  obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp-eemi.o diff --git
> a/xen/arch/arm/platforms/imx8qm.c b/xen/arch/arm/platforms/imx8qm.c
> new file mode 100644 index 0000000000..3600a073e8
> --- /dev/null
> +++ b/xen/arch/arm/platforms/imx8qm.c
> @@ -0,0 +1,139 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/arch/arm/platforms/imx8qm.c
> + *
> + * i.MX 8QM setup
> + *
> + * Copyright (c) 2016 Freescale Inc.
> + * Copyright 2018-2019 NXP
> + *
> + *
> + * Peng Fan <peng.fan@nxp.com>
> + */
> +
> +#include <xen/sched.h>
> +#include <asm/platform.h>
> +#include <asm/smccc.h>
> +
> +static const char * const imx8qm_dt_compat[] __initconst =3D {
> +    "fsl,imx8qm",
> +    "fsl,imx8qxp",
> +    NULL
> +};
> +
> +#define IMX_SIP_FID(fid) \
> +    ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
> +                       ARM_SMCCC_CONV_64, \
> +                       ARM_SMCCC_OWNER_SIP, \
> +                       (fid))
> +
> +#define IMX_SIP_F_CPUFREQ        0x1
> +#define IMX_SIP_F_TIME           0x2
> +#define IMX_SIP_F_WAKEUP_SRC     0x9
> +#define IMX_SIP_F_OTP_WRITE      0xB
> +
> +#define IMX_SIP_TIME_SF_RTC_SET_TIME     0x00
> +#define IMX_SIP_TIME_SF_WDOG_START       0x01
> +#define IMX_SIP_TIME_SF_WDOG_STOP        0x02
> +#define IMX_SIP_TIME_SF_WDOG_SET_ACT     0x03
> +#define IMX_SIP_TIME_SF_WDOG_PING        0x04
> +#define IMX_SIP_TIME_SF_WDOG_SET_TIMEOUT 0x05
> +#define IMX_SIP_TIME_SF_WDOG_GET_STAT    0x06
> +#define IMX_SIP_TIME_SF_WDOG_SET_PRETIME 0x07
> +
> +static bool imx8qm_is_sip_time_call_ok(uint32_t subfunction_id) {
> +    switch ( subfunction_id )
> +    {
> +    case IMX_SIP_TIME_SF_RTC_SET_TIME:
> +        return true;
> +    case IMX_SIP_TIME_SF_WDOG_START:
> +    case IMX_SIP_TIME_SF_WDOG_STOP:
> +    case IMX_SIP_TIME_SF_WDOG_SET_ACT:
> +    case IMX_SIP_TIME_SF_WDOG_PING:
> +    case IMX_SIP_TIME_SF_WDOG_SET_TIMEOUT:
> +    case IMX_SIP_TIME_SF_WDOG_GET_STAT:
> +    case IMX_SIP_TIME_SF_WDOG_SET_PRETIME:
> +        return true;
> +    default:
> +        gprintk(XENLOG_WARNING, "imx8qm: smc: time: Unknown
> subfunction id %x\n",
> +                subfunction_id);
> +        return false;
> +    }
> +}
> +
> +static bool imx8qm_smc(struct cpu_user_regs *regs) {
> +    uint32_t function_id =3D get_user_reg(regs, 0);
> +    uint32_t subfunction_id =3D get_user_reg(regs, 1);
> +    struct arm_smccc_res res;
> +
> +    if ( !cpus_have_const_cap(ARM_SMCCC_1_1) )
> +    {
> +        printk_once(XENLOG_WARNING
> +                    "imx8qm: smc: no SMCCC 1.1 support. Disabling
> + firmware calls\n");
> +
> +        return false;
> +    }
> +
> +    /* Only hardware domain may use the SIP calls */
> +    if ( !is_hardware_domain(current->domain) )
> +    {
> +        gprintk(XENLOG_WARNING, "imx8qm: smc: No access\n");
> +        return false;
> +    }
> +
> +    switch ( function_id )
> +    {
> +    case IMX_SIP_FID(IMX_SIP_F_CPUFREQ):
> +        /* Hardware domain can't take any informed decision here */
> +        return false;
> +    case IMX_SIP_FID(IMX_SIP_F_TIME):
> +        if ( imx8qm_is_sip_time_call_ok(subfunction_id) )
> +            goto allow_call;
> +        return false;
> +    /* Xen doesn't have suspend support */
> +    case IMX_SIP_FID(IMX_SIP_F_WAKEUP_SRC):
> +        return false;
> +    case IMX_SIP_FID(IMX_SIP_F_OTP_WRITE):
> +        /* subfunction_id is the fuse number, no sensible check possible=
 */
> +        goto allow_call;
> +    default:
> +        gprintk(XENLOG_WARNING, "imx8qm: smc: Unknown function
> id %x\n",
> +                function_id);
> +        return false;
> +    }
> +
> + allow_call:
> +    arm_smccc_1_1_smc(function_id,
> +                      subfunction_id,
> +                      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;
> +}
> +
> +PLATFORM_START(imx8qm, "i.MX 8Q{M,XP}")
> +    .compatible =3D imx8qm_dt_compat,
> +    .smc =3D imx8qm_smc,
> +PLATFORM_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --

Reviewed-by: Peng Fan <peng.fan@nxp.com>


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 23:41:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 23:41:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702074.1096846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtycC-0002Kj-MB; Mon, 08 Apr 2024 23:41:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702074.1096846; Mon, 08 Apr 2024 23:41: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 1rtycC-0002Kc-Jh; Mon, 08 Apr 2024 23:41:28 +0000
Received: by outflank-mailman (input) for mailman id 702074;
 Mon, 08 Apr 2024 23:41: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=bW3C=LN=nxp.com=peng.fan@srs-se1.protection.inumbo.net>)
 id 1rtycB-0001me-F8
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 23:41:27 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20701.outbound.protection.outlook.com
 [2a01:111:f403:2608::701])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83fb5b3e-f601-11ee-914f-f14010f3f246;
 Tue, 09 Apr 2024 01:41:26 +0200 (CEST)
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11)
 by PAXPR04MB8989.eurprd04.prod.outlook.com (2603:10a6:102:20c::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Mon, 8 Apr
 2024 23:41:25 +0000
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7386.037; Mon, 8 Apr 2024
 23:41:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83fb5b3e-f601-11ee-914f-f14010f3f246
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LuwVhsX5r0raL7OeSyRi6Tls3upNNPNbu4EeHLMK+fdnjGCjEA68PYHlgwcq0g4AZXFlsVnlW4AWuIcrMgfz94+Y7tTMnOPHuL+6Os7i6JgqZDUacos09nvHJdesvVizNZpezqCFYusKV6NFb3PRNhs671k8VcINS6Npz7afGuvC74oMhZFyxB+E08rtmYtO7DWKyBFEJKqcdY+Aljk6meLN3nohWJxPHUqTmGdmQg3/wbIj8OVWpAC2Oz0rHUj5htIrhj3f8gsZtvIAvxLS6ylSkTct89nwr86Ux90SPRf1+28ogs9S0IrkWf45ZyxYWBG87S972JZ+1v3BW/jHPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3prSC/D6LBIJ+dS9gSS97hf+eMiK2RJH/kz0RQKcqb0=;
 b=BjCWadZpJAZrR3BTwJnXqpNTqk3JiJ62G+t3BISCktf+3iCdi3xpvxfuoYSqkOt4YWJ2e+BkbNQ4JqHd+sjD4b9EMz2anJ3cTVgYddB8s7r75TolzYj8bHY/0rFHDzTLs3lALjVaa4uIv6pISUgE2RR1sM4InpRAlxx9fj7RNgGq3BLP8x2EuUODHQIuGHR0msc+P6S+A5MX+7ksVpoRIoUfCEyKBE4KFhFlwnpVQxvGyoUkTpzg4DbWNBOeAYQVH6EOVcH+I1grLd/oeOXIK1sM6ZN7XspfJ8510PQ3FL4TUyufTZAhQJQJ+loyMY1X9uUbNKsgXDfZq+cd4lmwVg==
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=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3prSC/D6LBIJ+dS9gSS97hf+eMiK2RJH/kz0RQKcqb0=;
 b=f54I03abuPUegb2UX6s4XH13YOx1PeqB7TZ5QX2V+EreB2nRVSeCXmAh0lVo+09P6bH6UD43pTgJd5LVM9pUPTTdxpf0NmYLSb1Cz7VkPRONNLm6dvJaxmlIVLaxn84YHvLqTFwB97wZzYILzOHIap2WOpGzLagSUkP2iNS4Kyc=
From: Peng Fan <peng.fan@nxp.com>
To: John Ernberg <john.ernberg@actia.se>, 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>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jonas
 Blixt <jonas.blixt@actia.se>
Subject: RE: [PATCH v4 3/3] MAINTAINERS: Become a reviewer of iMX8Q{M,XP}
 related patches
Thread-Topic: [PATCH v4 3/3] MAINTAINERS: Become a reviewer of iMX8Q{M,XP}
 related patches
Thread-Index: AQHaic9xT75A4CfqZkOginMa2008U7FfCNQg
Date: Mon, 8 Apr 2024 23:41:24 +0000
Message-ID:
 <DU0PR04MB94173F846027CE9855F2CAC888002@DU0PR04MB9417.eurprd04.prod.outlook.com>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-4-john.ernberg@actia.se>
In-Reply-To: <20240408161129.900347-4-john.ernberg@actia.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DU0PR04MB9417:EE_|PAXPR04MB8989:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 rNtYM4QSSEfIk5oA57wGjtRgJ//Z/2MAGx8iNNCousIpWtbl+nocHRb70zAzOMKKVVQSDZkW6z9fk80oeu4RzogHMADL2XR1PKMlJUMX07e+68rr8jxRcgsmxVY+CeW74Drx11lsKPTN3pAxDPKjND3/yxbFRTgNegOwXp1HAUdJrnhFrBbsGOaohBwUoriPF/UiX0tAGE128+NoBNzvQA9x5G7jremITtqLm2AcDT1MgA1pq3q4aV9CoEwTmdL/TqwCAunHZy2hWkzhBFhQaGfWekz9LrsRSb0Av8FF2BABD5R3O/duvOAQH6ybVKwuGy46AS2Pkiv6OOZvURJHsxiUMcEqC9xL71D2InTlZ+2L9YfzyL3iqRzfsowcYvaTvbi9zvtiznj8/CVKeP2JNw6Bxcxhq2UUPlHzKnRuIMrt7bs7zVhAURqwnjpw9Q7is1hlvXAZea50KC5rnyWyQ0c0nWqrEWdDGvr1ldgjOypby3/loHEQ98lqjDCGZbRp5n5r8LU1DdadN5G+ktvuuwJCts67lV6utYPsqK3Bnp2n8yOWgxh3riPHdVRALW8vOinhdbj37QTEBzMM7nYtf2C6uncfhKOxlgJJQHQpwKt9JYWuiAR7tXbbQGXyd5/LN3xK+6qvI3suL9SPUUPyMADE6at4J7MsxKJHMUJM10I=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(7416005)(376005)(1800799015);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?4T0mLOZCTf08Piu3JztiLyy9klzHZGXNR4RYTugcwF1U7g675wrTLYGAkUho?=
 =?us-ascii?Q?s26WxDqpTzueKdIJ3pUsoLI131qlin5vfXPWOF6BFTdeERWNUR+3Xaz4Cxb5?=
 =?us-ascii?Q?qTX3BK49DrHistAUlwoIdqCRHWsS36mzoEFijBkGmdrLU+6miHJFr1P+desg?=
 =?us-ascii?Q?2ZsxYvlFRNu3Zk8wrrwdfmi+okKGyKll/mMujxSDtnjl7zMw9SgxAcwuhZB/?=
 =?us-ascii?Q?YNcz1Uw/QjjCyFLorWayilT/5UxfwKNX+VeKI/ZbWgS/qbGNxP4+ssyw/hc6?=
 =?us-ascii?Q?iRMfTyI3K/DvgY6SVNNzTObt4w7jvj/EWJIH1HCovWOtKkGoUugNs5e1bsVe?=
 =?us-ascii?Q?LI7uOdKJTNjsVsiDj63fHoND88UBRzvfsVwbgNc3px8663Y2lLlVfyj9HKBs?=
 =?us-ascii?Q?P4mwfV642olh5v+v5uwIyDfsw6pR24RsbJASwGysBmKdSN1WdmN/711gaGAP?=
 =?us-ascii?Q?IbdQXLvQUVVvAkT6enpT2N5mgj4cNA6yFvfwnEqEe/vmiYsaQ5V0Wh5Hd1i0?=
 =?us-ascii?Q?n0R/uS7AhO23OXuI/zOEM8pyrSggQwyU9xW21BUCqNMlG3tZiTTRPIX9FCMq?=
 =?us-ascii?Q?+k+qb38G4BGfaSTD8IBH6hsM7hWCINPj/3OGg92LcE7eTuXhE1faT688q/oP?=
 =?us-ascii?Q?BQWzBPbH441f+0YnAZS3KOUDGviDF8RQNMOFnz9rrdodayNkbbpdE286jtbI?=
 =?us-ascii?Q?49IezK5G07JM/iBXHGxoiM+PKZlxfMLMy+CJlCdZBInKef6ljoiBwkmpkD4K?=
 =?us-ascii?Q?CRU4VXa/AVJ9zswqoCLMRH6odI7D5sUgJKY4OeJtsYZM2A2fmVTfn5kmMNNM?=
 =?us-ascii?Q?zqVbQIb3zBvVtPYC6NescQkvVcNkXzgCyjqRIU6Zm/vpL/zfLq5K2A/yQ3sV?=
 =?us-ascii?Q?xjGUYf0dvMlWGx2XEKB584DzqluByOyFU3lzhxjePxy9Vzno4TiakdKMEc4i?=
 =?us-ascii?Q?X1Gxq4iuCRLXy3hDSXEHUhzh0EFAwYYKY5MuMqhbevw16SuErqZJCzILR35z?=
 =?us-ascii?Q?mYx9In5wReP8KfTTxTr0QN3XtC8j9xNjU/iHRHKLy5ut2Ta3pBf0jEsmyL0m?=
 =?us-ascii?Q?GY9Ugl/S5Zi3u+G7rY3NLE/Ze1t3QzoSVaqurz68uLH2/gq2/iSbOLg/aNC5?=
 =?us-ascii?Q?gqGPJHW9Erm00bVJDghCwo+zDItbBwYyZQInJKuPAAMgCY66Q4EGYKkZv5iC?=
 =?us-ascii?Q?ZqUd94zzSKdjGfCWAqqn6PE+Uq4cndxY9gVbC9tWdFfJiNVyFkDBeKB0WT2p?=
 =?us-ascii?Q?qPyiDiG+kQFLbGec0wjC0R1ZWBi9Wg/9uHoxRrHyGNC8Ya+bYx9TXNjiVoLY?=
 =?us-ascii?Q?G9r3XbgmTMGhS02lCfWZPoO8THVyh6A7vt8ruvdMjR2CF/gYKN0Njql1p0c1?=
 =?us-ascii?Q?t3fATW2xGv7bSnpV0D7o/lGavYzfs9/4kFS7GU70ADIca55Rg1VrmjXAYImV?=
 =?us-ascii?Q?R5YqF0uKE5Sdo6Aj6BEPK85FkvoDnk8vxjp9OpyKGMy3SeSVujawrWyGHyXU?=
 =?us-ascii?Q?Ky+fY5fd7Y3IvAYm/Xs4tisvD/nPWPvnkT2cfElx2xDPYzM0T/xrXf6mpQI7?=
 =?us-ascii?Q?5cOJcXZ8OxTwQobWBtI=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19403f2c-2929-40db-22d5-08dc58256709
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2024 23:41:24.5073
 (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: AK1XKWIqYXjxLu1yBoYBSFjJN+gnKbi1uLt8fWPr830CUTlGNV3LZQuO2NSeWG/75ucE7GLuhORCCkCZEboFyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8989

> Subject: [PATCH v4 3/3] MAINTAINERS: Become a reviewer of iMX8Q{M,XP}
> related patches
>=20
> I have experience with the IMX8QXP, and the supported parts of the IMX8QM
> are identical.
>=20
> Help review patches touching these areas.
>=20
> Signed-off-by: John Ernberg <john.ernberg@actia.se>
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
>=20
> ---
>=20
> v4:
>  - Properly sign the patch off (Stefano Stabellini)
>  - Pick up Stefano's ack
>=20
> v3:
>  - New patch (Bertrand Marquis)
> ---
>  MAINTAINERS | 5 +++++
>  1 file changed, 5 insertions(+)
>=20
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1bd22fd75f..09982241b3 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -337,6 +337,11 @@ F:	tools/misc/xenhypfs.c
>  F:	xen/common/hypfs.c
>  F:	xen/include/xen/hypfs.h
>=20
> +IMX8QM/QXP SUPPORT
> +R:	John Ernberg <john.ernberg@actia.se>
> +F:	xen/arch/arm/platforms/imx8qm.c
> +F:	xen/drivers/char/imx-lpuart.c
> +
>  INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
>  R:	Lukasz Hawrylko <lukasz@hawrylko.pl>
>  R:	Daniel P. Smith <dpsmith@apertussolutions.com>
> --
Acked-by: Peng Fan <peng.fan@nxp.com>


From xen-devel-bounces@lists.xenproject.org Mon Apr 08 23:59:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 08 Apr 2024 23:59:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702078.1096856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtytM-0004lD-3n; Mon, 08 Apr 2024 23:59:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702078.1096856; Mon, 08 Apr 2024 23:59: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 1rtytM-0004l6-1B; Mon, 08 Apr 2024 23:59:12 +0000
Received: by outflank-mailman (input) for mailman id 702078;
 Mon, 08 Apr 2024 23:59: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=oN3c=LN=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rtytK-0004l0-VJ
 for xen-devel@lists.xenproject.org; Mon, 08 Apr 2024 23:59:10 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbe1e608-f603-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 01:59:08 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id D0CEA61474;
 Mon,  8 Apr 2024 23:59:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D936BC433F1;
 Mon,  8 Apr 2024 23:59:03 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbe1e608-f603-11ee-843a-3f19d20e7db6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712620745;
	bh=b4P/8kEm3T0cO0Q1DOBe8QGXkAGmug3AHnY8632IcTE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lh6O5ZU+ZT3eXq+haM8qSJMEGcy3jek6T4IbbHy0F8gdU0detOPS4wcVg2YLj3/kH
	 9nUul1DqhDtsGAqwyr+HpY9zBSRP5zQ1PJcWpTjxgAL1Jbbd2zOKwszOxAjKVupWut
	 k0fj8UO2585d3xRP1gLF/oepEMO+8eY7FAvy9w9Pv/aBCdF3qFAX8m4o1enzni7EWC
	 uL7KTqW0bI6M5pJuMqeoVEX64ZqeJQMkia/3sTyVoE5GE5e+yeAp4WKmxhRxTq4oUb
	 vJ/VVmQofqiZhgUNstxGbOteDWkd5MKnf+hamVZwY9kKOSo3vYlY03GAzjOiMEQepz
	 QrNSDDbV965LQ==
Date: Mon, 8 Apr 2024 16:59:02 -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>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v2 9/9] eclair_analysis: deviate x86 emulator for
 Rule 16.2
In-Reply-To: <31647df45bf37e56ab81e1c8830211e60765d5c9.1712305581.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404081658550.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com> <31647df45bf37e56ab81e1c8830211e60765d5c9.1712305581.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 5 Apr 2024, Nicola Vetrini wrote:
> MISRA C Rule 16.2 states:
> "A switch label shall only be used when the most closely-enclosing
> compound statement is the body of a switch statement".
> 
> Since complying with this rule of the x86 emulator would lead to
> a lot of code duplication, it is deemed better to exempt those
> files for this guideline.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 00:06:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 00:06:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702084.1096867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtz0h-00077o-8N; Tue, 09 Apr 2024 00:06:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702084.1096867; Tue, 09 Apr 2024 00:06:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtz0h-00077h-5Q; Tue, 09 Apr 2024 00:06:47 +0000
Received: by outflank-mailman (input) for mailman id 702084;
 Tue, 09 Apr 2024 00:06:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rtz0f-00077b-4f
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 00:06:45 +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 0b6ae875-f605-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 02:06:43 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 851EA614BF;
 Tue,  9 Apr 2024 00:06:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36C58C433F1;
 Tue,  9 Apr 2024 00:06:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b6ae875-f605-11ee-843a-3f19d20e7db6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712621201;
	bh=zbNdj2WYUOSUf6fB/f110ctUXb/tzN+ipzo51WNYh0o=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nFLr33B54QJShUxWRMC9PhJJa4Uuaae6xdR61hMvKcSmawZr5lRzLgBCca+0gsTgU
	 +t6m6hy3TGNM97492xCUPYmPESgQ4/hQTmypoRW32WCE4rPqef7GXBG18HD6gYe1Lt
	 2ryYu3kJob1nbtQV8HTPJ0RgL3li1JQG4e5rO1hb4Gk1SXgr8kbgukJO11wERJ2K0z
	 EIANX6UZVKcMRD9A3dmIjNRANFaPAF0u4qg9TSgcxClzHntoGRHoEZUk/ft7B1YYWH
	 SbQb4mwze9ae2HXrf6C/fUCV1J7pOrD/Vzhoh68XcBWk4KaRJMQIJtKH7+8YuwGLB8
	 5MvsBDh6NgDlw==
Date: Mon, 8 Apr 2024 17:06:38 -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, "Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [XEN PATCH v2 7/9] xen/xsm: address violation of MISRA C Rule
 16.2
In-Reply-To: <7fbb80bf62fc2e5f91a89375134622366c0b3891.1712305581.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404081706100.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com> <7fbb80bf62fc2e5f91a89375134622366c0b3891.1712305581.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 5 Apr 2024, Nicola Vetrini wrote:
> Refactor the switch so that a violation of
> MISRA C Rule 16.2 is resolved (A switch label shall only be used
> when the most closely-enclosing compound statement is the body of
> a switch statement).
> Note that the switch clause ending with the pseudo
> keyword "fallthrough" is an allowed exception to Rule 16.3.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

I had to read this a few times, but it is correct

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


> ---
> The second switch is not the best in terms of readability, so it may
> be best to deviate this particular instance.
> ---
>  xen/include/xsm/dummy.h | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 88039fdd227c..84d3a8ed1c94 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -83,17 +83,17 @@ static always_inline int xsm_default_action(
>          return 0;
>      case XSM_TARGET:
>          if ( evaluate_nospec(src == target) )
> -        {
>              return 0;
> +        fallthrough;
>      case XSM_XS_PRIV:
> -            if ( evaluate_nospec(is_xenstore_domain(src)) )
> -                return 0;
> -        }
> -        /* fall through */
> +        if ( (action == XSM_XS_PRIV) &&
> +             evaluate_nospec(is_xenstore_domain(src)) )
> +            return 0;
> +        fallthrough;
>      case XSM_DM_PRIV:
>          if ( target && evaluate_nospec(src->target == target) )
>              return 0;
> -        /* fall through */
> +        fallthrough;
>      case XSM_PRIV:
>          if ( is_control_domain(src) )
>              return 0;
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 00:10:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 00:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702087.1096877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtz4C-0000E3-Mr; Tue, 09 Apr 2024 00:10:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702087.1096877; Tue, 09 Apr 2024 00:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtz4C-0000Dw-Ji; Tue, 09 Apr 2024 00:10:24 +0000
Received: by outflank-mailman (input) for mailman id 702087;
 Tue, 09 Apr 2024 00:10:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rtz4B-0000Dp-Dl
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 00:10:23 +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 8e0e281e-f605-11ee-914f-f14010f3f246;
 Tue, 09 Apr 2024 02:10: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 0F861614BA;
 Tue,  9 Apr 2024 00:10:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84E1FC433C7;
 Tue,  9 Apr 2024 00:10: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: 8e0e281e-f605-11ee-914f-f14010f3f246
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712621420;
	bh=vx2PUNwUOte/W0M63t8WMxYRCSF5PXaJ1/Gz6Kd8Vjg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UIsYugM4kOVvSSzGHAwcFa04QjyhnwKDsJNllsXgavSoyf4XoM+BFo3n6LvOhSuMq
	 d+I1cAK0z8NWPB6Fa4FVSbdbym78jH5KiSU8p3DRWvzAhSEdoknJrc3gTwm+eU2xGD
	 UnNTkxHCLyjO6WslLRLzcm1uDlfl7LQzmDICG4za/aEEckpWv3LEidDSPjWrySTkWP
	 lRLw3g+wyQ05h9uIbF2QW0bopJZcltOPuj0wefSuPW/thyWMZt6qTfpAbXt63osoo+
	 AQ0DJUH9HimB+j/IECc9GHZ7VtOciJ4qAWD+rH3zECDmtjyg2OG/M2hheIVy/iBm7y
	 +hBbQCHMc8cLg==
Date: Mon, 8 Apr 2024 17:10:18 -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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 1/9] x86/vlapic: tidy switch statement and address
 MISRA violation
In-Reply-To: <36e84201-b31f-4204-8cff-ed50a01a47ed@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404081707570.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com> <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com> <36e84201-b31f-4204-8cff-ed50a01a47ed@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, 8 Apr 2024, Jan Beulich wrote:
> On 05.04.2024 11:14, Nicola Vetrini wrote:
> > Remove unneded blank lines between switch clauses.
> 
> "Unneeded" based on what? We're carefully trying to improve readability of
> large switch() statements by adding such blank lines (at least) between non-
> fall-through case blocks, and you go and remove them?

To be fair it is almost impossible to figure out the correct coding
style in Xen by looking at existing code and/or CODING_STYLE.

Except for the blank lines, the change itself looks correct to me

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 00:14:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 00:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702092.1096886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtz8N-0001Ip-6J; Tue, 09 Apr 2024 00:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702092.1096886; Tue, 09 Apr 2024 00: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 1rtz8N-0001Ii-3O; Tue, 09 Apr 2024 00:14:43 +0000
Received: by outflank-mailman (input) for mailman id 702092;
 Tue, 09 Apr 2024 00:14:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rtz8M-0001Ic-Gn
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 00:14:42 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27da37ff-f606-11ee-914f-f14010f3f246;
 Tue, 09 Apr 2024 02:14:41 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 34D1CCE1B8D;
 Tue,  9 Apr 2024 00:14:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B151DC433C7;
 Tue,  9 Apr 2024 00:14: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: 27da37ff-f606-11ee-914f-f14010f3f246
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712621676;
	bh=13zOYFhSAVAslBjxFZD7iRTWIREeQBo1hOI+G75Gsac=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DKq03D2QXznahLZrGo+LyjwMHLJrqUqvvzJ3eOkQd0a/NFUcCnBBWvjv/l8xawtUM
	 sG35CP2pDbv8fQRiYQtDYbYg5Sz1wNYyk+5DrEbSiXdPn3jdmjQmPM4RXB6dqSR57H
	 o97MVa+T9rEZ9e+RNMwkRVf+3CGoHEmNayLTvzJ1gHIhoxhb4IAPwTf9rMZ/ocGomQ
	 2Vd6zvmJSMw89WdPq1UO8jcNCR+OAeZbCZNQYSvWAdHkFwIsmR+1ff1bY8K7WBChzr
	 vsb9xsy98wOGlif9t0ryX0qiaAo2fLzNes6IT6KTfHVX/mg0Wh0T0p5Ghcf6KeBQdd
	 65jSOOjV7t0mg==
Date: Mon, 8 Apr 2024 17:14:34 -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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 3/9] x86/irq: tidy switch statement and address
 MISRA violation
In-Reply-To: <dfa9e320-266a-49aa-8d90-5e0c63ab1db6@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404081712520.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com> <d1bdd54b6751a047626b0271fff882484f98ea1a.1712305581.git.nicola.vetrini@bugseng.com> <dfa9e320-266a-49aa-8d90-5e0c63ab1db6@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, 8 Apr 2024, Jan Beulich wrote:
> On 05.04.2024 11:14, Nicola Vetrini wrote:
> > Remove unneded blank lines between switch clauses.
> 
> NAK for this part again.
> 
> > --- a/xen/arch/x86/irq.c
> > +++ b/xen/arch/x86/irq.c
> > @@ -2882,7 +2882,7 @@ int allocate_and_map_gsi_pirq(struct domain *d, int index, int *pirq_p)
> >  int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
> >                                int type, struct msi_info *msi)
> >  {
> > -    int irq, pirq, ret;
> > +    int irq = -1, pirq, ret;
> >  
> >      ASSERT_PDEV_LIST_IS_READ_LOCKED(d);
> >  
> > @@ -2892,12 +2892,10 @@ int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
> >          if ( !msi->table_base )
> >              msi->entry_nr = 1;
> >          irq = index;
> > -        if ( irq == -1 )
> > -        {
> > +        fallthrough;
> >      case MAP_PIRQ_TYPE_MULTI_MSI:
> > +        if( type == MAP_PIRQ_TYPE_MULTI_MSI || irq == -1 )
> >              irq = create_irq(NUMA_NO_NODE, true);
> 
> It may seem small, but this extra comparison already is duplication I'd rather
> see avoided. At the very least though you want to clarify in the description
> whether the compiler manages to eliminate it again.

It could just be:

    if ( irq == -1 )

because in the MAP_PIRQ_TYPE_MULTI_MSI case we know the irq will be -1.
No duplication needed.


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 00:17:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 00:17:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702096.1096896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rtzB3-0001tO-Hr; Tue, 09 Apr 2024 00:17:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702096.1096896; Tue, 09 Apr 2024 00: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 1rtzB3-0001tH-FC; Tue, 09 Apr 2024 00:17:29 +0000
Received: by outflank-mailman (input) for mailman id 702096;
 Tue, 09 Apr 2024 00:17: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=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rtzB2-0001tB-41
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 00:17:28 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 89e4311d-f606-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 02:17:25 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 1A438CE1BB5;
 Tue,  9 Apr 2024 00:17:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 22D3CC433C7;
 Tue,  9 Apr 2024 00:17: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: 89e4311d-f606-11ee-843a-3f19d20e7db6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712621842;
	bh=gkDOZNvQIyOacI5mkUkw4VkqIq0yxmzigsvM9ZNKjgo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BFu1d99rOj8puBnTr0sXMpxzidNrZOo4wqKhu557I8YIOhr6mQVW/WA/l+9HbI0g4
	 +V+Y/FbHwOFUmcUMwEpoUgMuqCVq8uCYUse6W9xejZ5KZGfvqFp2KqFGkSDj7wLHfQ
	 6Szv2XrVw97xvVpA9UVwiYAE/d2Et5fVKRPn4hjFJjSiVFqJDDnA1APMSUTCevFHE+
	 SrTOEECW+J3ICLAnmVaR1N/g0lIBqGnx16pk1iAD+8Cv4Uxg5rJM26eRg0TlCxOQrU
	 twlkx2chF5Z+TpxSdvWn+8L4Kfne6wQg/qJOtzxI6CeVnlx30zjw/IFfvQMsUPN8ux
	 ry4y+slluUuag==
Date: Mon, 8 Apr 2024 17:17: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: 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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 4/9] x86/efi: tidy switch statement and address
 MISRA violation
In-Reply-To: <48caee9c-ef6d-4109-a6aa-f18d57cefb81@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404081716250.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com> <acbf40ba94a5ef7a8a429498765932b801e42a0a.1712305581.git.nicola.vetrini@bugseng.com> <48caee9c-ef6d-4109-a6aa-f18d57cefb81@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, 8 Apr 2024, Jan Beulich wrote:
> On 05.04.2024 11:14, Nicola Vetrini wrote:
> > --- a/xen/arch/x86/efi/efi-boot.h
> > +++ b/xen/arch/x86/efi/efi-boot.h
> > @@ -169,20 +169,22 @@ static void __init efi_arch_process_memory_map(EFI_SYSTEM_TABLE *SystemTable,
> >  
> >          switch ( desc->Type )
> >          {
> > +        default:
> > +            type = E820_RESERVED;
> > +            break;
> 
> This one I guess is tolerable duplication-wise, and I might guess others would
> even have preferred it like that from the beginning. A blank line below here
> would be nice, though (and at some point ahead of and between the two ACPI-
> related case labels blank lines would want adding, too).
> 
> However, ...
> 
> >          case EfiBootServicesCode:
> >          case EfiBootServicesData:
> >              if ( map_bs )
> >              {
> > -        default:
> >                  type = E820_RESERVED;
> >                  break;
> >              }
> > -            /* fall through */
> > +            fallthrough;
> >          case EfiConventionalMemory:
> >              if ( !trampoline_phys && desc->PhysicalStart + len <= 0x100000 &&
> >                   len >= cfg.size && desc->PhysicalStart + len > cfg.addr )
> >                  cfg.addr = (desc->PhysicalStart + len - cfg.size) & PAGE_MASK;
> > -            /* fall through */
> > +            fallthrough;
> >          case EfiLoaderCode:
> >          case EfiLoaderData:
> >              if ( desc->Attribute & EFI_MEMORY_RUNTIME )
> 
> ... below here there is
> 
>             else
>         case EfiUnusableMemory:
>                 type = E820_UNUSABLE;
>             break;
> 
> I understand there are no figure braces here, and hence be the letter this
> isn't an issue with the Misra rule. But (a) some (e.g. Andrew, I guess)
> would likely argue for there wanting to be braces and (b) we don't want to
> be leaving this as is, when the spirit of the rule still suggests it should
> be done differently.

I agree. For clarity I would go with the following because it is easier
to read:

        case EfiLoaderData:
            if ( desc->Attribute & EFI_MEMORY_RUNTIME )
                type = E820_RESERVED;
            else if ( desc->Attribute & EFI_MEMORY_WB )
                type = E820_RAM;
            else
                type = E820_UNUSABLE;
            break;
        case EfiUnusableMemory:
            type = E820_UNUSABLE;
            break;


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 01:32:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 01:32:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702107.1096911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru0LE-0003vu-TJ; Tue, 09 Apr 2024 01:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702107.1096911; Tue, 09 Apr 2024 01: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 1ru0LE-0003vn-Q5; Tue, 09 Apr 2024 01:32:04 +0000
Received: by outflank-mailman (input) for mailman id 702107;
 Tue, 09 Apr 2024 01: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=5At3=LO=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ru0LC-0003vh-LJ
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 01:32:02 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:200a::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3c067bf-f610-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 03:31:58 +0200 (CEST)
Received: from SN7PR04CA0044.namprd04.prod.outlook.com (2603:10b6:806:120::19)
 by DM4PR12MB9070.namprd12.prod.outlook.com (2603:10b6:8:bc::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Tue, 9 Apr
 2024 01:31:54 +0000
Received: from SA2PEPF000015CD.namprd03.prod.outlook.com
 (2603:10b6:806:120:cafe::44) by SN7PR04CA0044.outlook.office365.com
 (2603:10b6:806:120::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Tue, 9 Apr 2024 01:31:54 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015CD.mail.protection.outlook.com (10.167.241.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 01:31:53 +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.35; Mon, 8 Apr
 2024 20:31:53 -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.35; Mon, 8 Apr
 2024 20:31:53 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 20:31: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: f3c067bf-f610-11ee-843a-3f19d20e7db6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZRfxPA7in46LYtM3pM8a2Z/ONeSQYs0c7Od0Fyx3AJio9U+bF3Cli9x86F/CO3bHbj1wuLUGyL4tWae64ECpBSBBnTd8sx+8cdKC4jJTK1nDwJSmEqm6a4dR+1EdeMiX12+p0hUq2z1qppE5D5eImnKED/6k8gvFqShHNOhS2waNcd8NR12qctLL0uGC+iWDLeDOQEtdnV8oL7gjRb3zpWp4LhCDKOzHFFt15W6rXalOBX87lg6lwuLZymuqy9C8ajVPsqRDGw5E3HY8KLWDniyrrlQwWCmghMY5Z539QkqozND4LqEc5GeVCDCySsbiEdPNtIWRzDIereZBidzypw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LBQiYhx2/u7iDK+d75y9e0ckUxg4OkW4+Ni2XY8pzik=;
 b=lRcgwwyuGHkfw3g+vzhaBIIg52LLgRjuLGwLz9zL1qPgbbobfIf6KZ6mw5O1y+0AVukly5ntB7EVp3qj9NaKn4od+yJhcXRCIvSd4RikFP/QyI81rvfXCX0OgyDCANYZwE6M8m+xSxE/IqaM6mkOpFUTHFA3KnuwTfcqDTSdORImQ4n92NKkv7RXe2QzNLT72sEjGfVzxVQMEFD4eSRjjdRQmwNcbJGdy+HfSuMqdSUoaT5/E/Vg0u5luwe8Hh0n+VjZzHx1ZTq6PUbla7nZN+rLnsELFxMGL2ugZuNQAtJnxEkFhRZBx4uXd3zQty1dB2MQZZaa4EVYqr7HZTGNew==
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=LBQiYhx2/u7iDK+d75y9e0ckUxg4OkW4+Ni2XY8pzik=;
 b=SUn0CqH1A+I0Q+Bu1aEuckGsU9WXhVeaEVIwjG9j7zmyYxbu7TpsvB5rBRNxrArKPskZpO25VV8qf5DuV/Ums/xJaKAD3GqroEkAaaCnmqk+fwB2/lUOtJeLHGvoemFmX0nkST+vMSpfinzZHtSTThpRBs2KAQWhAT+CoQp5+cg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <86826aef-b0ab-4899-800b-38597b07ab6d@amd.com>
Date: Tue, 9 Apr 2024 09:31:49 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] xen/domctl, tools: Introduce a new domctl to get
 guest memory map
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Alec Kwapis <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240403081626.375313-1-xin.wang2@amd.com>
 <20240403081626.375313-2-xin.wang2@amd.com>
 <3ba13bce-d301-49bb-9028-6d48a05fd077@suse.com>
 <d2685464-65ae-4b88-b458-8873599027ff@amd.com>
 <531cc2c1-a2ac-4700-9f50-8c2e5c8680c7@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <531cc2c1-a2ac-4700-9f50-8c2e5c8680c7@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CD:EE_|DM4PR12MB9070:EE_
X-MS-Office365-Filtering-Correlation-Id: fcfd31bb-78de-42e8-c403-08dc5834d66b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C4mx7mvvRJHezR+5LsVv8Wfg0YTLwCVI0jcA7SpRZ0h2qe0MGZpze8jkxYKjBeWbPU2r5v3KeQyI9n64+5Lk74a9vx//NpFGv+38OuIdSIyr8oPXuxCleZnVclhI/EImwH5dr8CjfasuqBff5jU1ITFt8BLdziZ7FeuT7d55T30WqW3aCY9aoQY7N2FsinxgBc/kzT1l884ys0xhvGb2PigHcDFjkhYpiu2y+uLscrC+y6Hj16qhXqtIeR+nLrKmhdhj4N46l0L4lvQ78TyRwjm8A/om+ddPB1nHy0CIP+SpLWo40VkuqFeekkhy3/w03xq+w/HgtQzJKyYD3m+9be+v8OTOdQWVUHF6UESS3ljWYUheYrT5T2vnD2Uc/Kjc88uQgekG52ba6yd8z50QPc4Qaj22bbumthJ0rSAIKRO4NWWqDL7cKx+VUyBjtDtiNDuvbx9EFyVl5DmnE6nbodg7SNSoevcdREvTVbWmiIARpoA1MRZtwqzpKxrPkxa98d9PgJiVqjILDZ55yce/sOPewQ/WkEMrQYBnMtLD+FAOwANebMZQAT6Skdc/mJcLNjSU2s+Pk0BYXV1jJD5nn518ajHPHP02awRWO2pBDxLR0O7p40VZlm2VzOd46RDKoUYyeNraFLVfARq9VQd2LSKAnpTUpSunap6IR5yGLTHX1N1ifvmyOJh+vfHC+yBIIJnIJYg13ggULIrgT/2pSYlt5iLDe8fgU9zyZ3HvW8MsDHTM9CPC+ciCP2HA59RI
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005)(7416005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 01:31:53.8073
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fcfd31bb-78de-42e8-c403-08dc5834d66b
X-MS-Exchange-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:
	SA2PEPF000015CD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB9070

Hi Jan,

On 4/8/2024 2:19 PM, Jan Beulich wrote:
> On 08.04.2024 05:08, Henry Wang wrote:
>> On 4/4/2024 5:28 PM, Jan Beulich wrote:
>>> On 03.04.2024 10:16, Henry Wang wrote:
>>>> --- a/xen/arch/arm/domain.c
>>>> +++ b/xen/arch/arm/domain.c
>>>> @@ -696,6 +696,7 @@ int arch_domain_create(struct domain *d,
>>>>    {
>>>>        unsigned int count = 0;
>>>>        int rc;
>>>> +    struct mem_map_domain *mem_map = &d->arch.mem_map;
>>>>    
>>>>        BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
>>>>    
>>>> @@ -785,6 +786,20 @@ int arch_domain_create(struct domain *d,
>>>>        d->arch.sve_vl = config->arch.sve_vl;
>>>>    #endif
>>>>    
>>>> +    if ( mem_map->nr_mem_regions < XEN_MAX_MEM_REGIONS )
>>>> +    {
>>>> +        mem_map->regions[mem_map->nr_mem_regions].start = GUEST_MAGIC_BASE;
>>>> +        mem_map->regions[mem_map->nr_mem_regions].size = GUEST_MAGIC_SIZE;
>>>> +        mem_map->regions[mem_map->nr_mem_regions].type = GUEST_MEM_REGION_MAGIC;
>>>> +        mem_map->nr_mem_regions++;
>>>> +    }
>>>> +    else
>>>> +    {
>>>> +        printk("Exceed max number of supported memory map regions\n");
>>> Debugging leftover?
>> Well, not really, I did this on purpose to print some info before exit.
>> But now I realize other error paths in arch_domain_create() do not do
>> that. I will drop this printk in v4.
>>
>>>> @@ -176,6 +175,37 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>>>>    
>>>>            return rc;
>>>>        }
>>>> +    case XEN_DOMCTL_get_mem_map:
>>> ... separating blank line above this line and ...
>>>
>>>> +    {
>>>> +        int rc = 0;
>>>> +        uint32_t nr_regions, i;
>>>> +
>>>> +        if ( domctl->u.mem_map.pad )
>>>> +            return -EINVAL;
>>>> +
>>>> +        /*
>>>> +         * Cap the number of regions to the minimum value between toolstack and
>>>> +         * hypervisor to avoid overflowing the buffer.
>>>> +         */
>>>> +        nr_regions = min(d->arch.mem_map.nr_mem_regions,
>>>> +                         domctl->u.mem_map.nr_mem_regions);
>>>> +
>>>> +        domctl->u.mem_map.nr_mem_regions = nr_regions;
>>>> +
>>>> +        for ( i = 0; i < nr_regions; i++ )
>>>> +        {
>>>> +            if ( d->arch.mem_map.regions[i].pad )
>>>> +                return -EINVAL;
>>>> +        }
>>>> +
>>>> +        if ( copy_to_guest(domctl->u.mem_map.buffer,
>>>> +                           d->arch.mem_map.regions,
>>>> +                           nr_regions) ||
>>>> +             __copy_to_guest(u_domctl, domctl, 1) )
>>>> +            rc = -EFAULT;
>>>> +
>>>> +        return rc;
>>>> +    }
>>>>        default:
>>> ... this one.
>> ...personally I don't have strong opinions on the style as long as we
>> keep consistent. I can switch the Arm one following the x86 style or
>> just leave it as is.
>>
>>> Further with the way you use min() above, how is the caller going to know
>>> whether it simply specified too small an array?
>> I am a bit unsure if we need to forbid caller to specify a smaller value
>> than the max number of regions supported by the hypervisor, technically
>> it is legal, although I agree it will lead to some issues in the
>> toolstack side. It looks like the similar hypercall of e820 also does
>> not forbid this (see get_mem_mapping_layout() and related
>> XENMEM_memory_map). Do you have any suggestions?
> Fill only as much of the array as there is space for, but return the full
> count to the caller. Another option (less desirable imo) would be to return
> -ENOBUFS. If to be written anew now, I'd likely code XENMEM_memory_map
> handling that way, too. But that's too late now.

Thanks for the input! Sure I will follow the suggestion in v4.

>>> And then you check d->arch.mem_map.regions[i].pad. Why's that? And even
>>> if needed here for some reason, that's surely not EINVAL, but an internal
>>> error in Xen.
>> I did that under the impression that we need to check the value of
>> padding field being 0. Also you mentioned in one of the comments below
>> that Xen should guarantee that the padding field should be 0 before
>> return. Apologize if I misunderstand your comment. The -EINVAL is taken
>> from the same way of checking the padding field in XEN_DOMCTL_vuart_op
>> above. Personally I would keep some consistency, but I am open to
>> suggestions to make it better.
> In XEN_DOMCTL_vuart_op it is caller input which is being checked (and
> needs checking). You're checking internal Xen state here instead.
> Considering the nature of the issue arising if the assumption was broken,
> ASSERT() would seem to be the construct to use for the internal state
> check.

You are right, I will drop the Xen internal state check here.

>>> Finally instead of __copy_to_guest() can't you use __copy_field_to_guest(),
>>> for just nr_regions?
>> You mean replacing __copy_to_guest(u_domctl, domctl, 1) with only the
>> __copy_field_to_guest(u_domctl, domctl, u.mem_map.nr_mem_regions)? Ok I
>> can do that in v4.
> Yes (unless there are technical reasons not to, of course).

Thanks for confirming, I will do this way.

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:09:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702112.1096921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru2n5-0005oJ-9i; Tue, 09 Apr 2024 04:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702112.1096921; Tue, 09 Apr 2024 04: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 1ru2n5-0005oC-6m; Tue, 09 Apr 2024 04:08:59 +0000
Received: by outflank-mailman (input) for mailman id 702112;
 Tue, 09 Apr 2024 04:08: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 1ru2n3-0005o2-7r; Tue, 09 Apr 2024 04:08: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 1ru2n3-0006D9-5Q; Tue, 09 Apr 2024 04:08: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 1ru2n2-0007KJ-Rp; Tue, 09 Apr 2024 04:08:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ru2n2-0002P7-Qw; Tue, 09 Apr 2024 04:08: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=Rt6qb8mLibt3ZPXrztNB5u8mzPmKVcy0MpBCr2TBnxI=; b=tmUh2SkKRIchyp+YoYgqy7NtBa
	qyrs5LMUhAiSQGwKP6COzosnf9/BnbZj+LfB33O8GzlTShaJEXSSEUVPkCjw/LfR/mjm99GQqXTUs
	Gf76tOOnICEr8rdb4dErFf3eQw3yWa4KiFRGhMo18RAPPJNB+h0cj3rJAfSoUPapelBU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185276-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185276: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
X-Osstest-Versions-That:
    xen=c079823df64c98dd7bb40fe77d9ef410e85a7624
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 04:08:56 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495
baseline version:
 xen                  c079823df64c98dd7bb40fe77d9ef410e85a7624

Last test of basis   185273  2024-04-08 08:00:23 Z    0 days
Testing same since   185276  2024-04-09 01:02:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Vaishnav Achath <vaishnav.a@ti.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
   c079823df6..672b26b66e  672b26b66ebb5ff3d28c573a6545a08020b27495 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:54:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702120.1096951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3Uy-00046r-5i; Tue, 09 Apr 2024 04:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702120.1096951; Tue, 09 Apr 2024 04: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 1ru3Uy-00046d-0r; Tue, 09 Apr 2024 04:54:20 +0000
Received: by outflank-mailman (input) for mailman id 702120;
 Tue, 09 Apr 2024 04:54:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5At3=LO=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ru3Uw-0003cc-AT
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 04:54:18 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2418::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36e15aed-f62d-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 06:54:16 +0200 (CEST)
Received: from CY8PR12CA0006.namprd12.prod.outlook.com (2603:10b6:930:4e::11)
 by PH8PR12MB6988.namprd12.prod.outlook.com (2603:10b6:510:1bf::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.32; Tue, 9 Apr
 2024 04:54:11 +0000
Received: from CY4PEPF0000EDD1.namprd03.prod.outlook.com
 (2603:10b6:930:4e:cafe::1) by CY8PR12CA0006.outlook.office365.com
 (2603:10b6:930:4e::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Tue, 9 Apr 2024 04:54:10 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD1.mail.protection.outlook.com (10.167.241.205) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 04:54:10 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 23:54:09 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 21:54:09 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 23:54: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: 36e15aed-f62d-11ee-843a-3f19d20e7db6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T+80n9x28wYISmojxRJb4Yr0Yj0UjpVpwF8RtNV+nKNtUzLJH5bxf8NugQkXSPCdPRYdSCxNhH39XTH7LLmiAwBxoFXHuB9pRND4/inL2Ni4ofzeOZHt3+g2kdagdZjUTVnlfRISonQSeA6FW6vTzB8Oaae9ijpKWD4y7V7FK3Fo5bncvYWnjwExzGj3JW/JbxdA+0X3G8mM/Wy3k5LrsMjCfLB1u9LFuSlTl0ImWkRh3Uwu3wMkEQ2yOnbE6VLEXx5RTnuseIRGfgWAMX+/5KC30IJ5qYJq3k+vdqeaGZoqcvUK7CtXNgoufaFHmVyjy1dcfn6C+K23+qfQ6Vj3GQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UH53OrvZPnAWC4mq34mYlREnVpEthVdOjMxYJ/+8w2M=;
 b=V80Z4bmtQUzz0MLxNq2hYlZps+SYo7meZ7TqkT1npu66B2l3Nnm2XgurWPBdbSN7u4CtVZBTkTwaNKv5UXmHJ441dnQByhV56mybXAjSMEp8xyAxOAxUPy2f5Yt4nE3DyP8fWNBYIfX7HT/LqerE71JpYeFKedD0K3jkpDjeIJ1Q9IWXYDM4vGRIpOs3JyTaFTn8MDSZzZgFMLDQ7GoVhFT/atic1uKfEd2+jXOG+5RypCi99Ik7wFWDxiqUHqZ+qgN7R58qm9O060W2KEy4PBN4NENci8pNb80pGvFayLS54U+h2ifYXTM23ZU3vsaifJVW3ovRlOCrHPu0ZbUAFQ==
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=UH53OrvZPnAWC4mq34mYlREnVpEthVdOjMxYJ/+8w2M=;
 b=E2ib80FImKJ7V6d07VN4D4zexXPe9E+qyB5Nnln66mKeDo4K2DvTO99LJrnlJ0LXFDxiBs7LHdDbJvYaDnFdNIQCDHhgIL/huWWckZCtSPNlBvuQcBq9ItxXUJgXxME60Qs19bLglmzc79lHAex3jyrq2uq5w8J8eIGVNExLoRA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@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 v4 2/5] xen/arm: Generalize the extended region finding logic
Date: Tue, 9 Apr 2024 12:53:54 +0800
Message-ID: <20240409045357.236802-3-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409045357.236802-1-xin.wang2@amd.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD1:EE_|PH8PR12MB6988:EE_
X-MS-Office365-Filtering-Correlation-Id: b7126ebd-67f7-41f3-2cbc-08dc58511859
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FSIToWUOc1V5CZcu3wjvTesBBRf0USv/aTwpUs1YD4hUZHtqixm6qLCXJlGis7GQFeywu8QUwzTWAlLG5fN/XCf4aYfsN6wDzKuwpzkKBTGQp2GamIz3mdyW+IfX0O6exKyd27+69dMGwFSSE6ELcRuoHimzzswBHhQulAoTd0IjVqjjZjv4PgO/xn8kcltfrmeI8r30OqKOLuPFy5PByCJva4SUwSfW3k8MBOBsAZm/mHKXgRdr5a+20qy3nZV9dYtVjbQHZMd5jKEXKuapp0dI8cGNYmW3YXapxQZVldUXXkqNtTjhjhNqXOoHQEuvmkiEfvFDs1dPyC/5vz6+9MG0dZ3yVGKtQ+vI2EkPUoekpTcPjqznga9JGrTCLitNBw+X6wcRA63514mPpP5vHAywiU4ZUwlosyUMSa+P+KCVic674Xd90drF8Jw9p2GKzpDYu7UmUqLFD/BM5azBoCYyVZj2olF0yIWk8hOND9zERSdVxH5rNhmJVQJUlN/vEUNqwIkW7WvR+RIph01F4DAghRU1ki84NAgLR/8/Jj0RYiXYm8l7iQckE6jj2dF7JqWrpY/DOlxbquUH1wxKKiexNvIYIfxkcUw77htrHUNcDl2RyboDWxeTaw18AheSMjx5A4J6rzdcUjyIlcS9ab+6bmnjETAO6Ml+pEvJCmG/MaFZEtHw36vFX0SDDeHSOW+a9ab5NcFPfhuhXyg2h/QMCkMJBQjGZ0LQBWCiCKSQBDRIUUehpHWHb8mexV3W
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 04:54:10.2766
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b7126ebd-67f7-41f3-2cbc-08dc58511859
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD1.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6988

Recently there are needs to find unallocated/used memory regions
for different use cases at boot time, and the logic of finding
extended regions can be reused for some of the new use cases.

This commit therefore generalize the extended region finding logic.
Firstly, extract the extended region finding logic to a dedicated
helper find_unused_regions(). Then add and pass down a `min_region_size`
parameter so that the helpers can take a flexible region size
instead of the hardcoded 64MB for extended region. Finally, adjust
the variable and function names to make them general instead of for
extended region only.

Take the opportunity to update the stale in-code comment of
find_unallocated_memory() and find_memory_holes().

Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v4:
- No change
v3:
- New patch
---
 xen/arch/arm/domain_build.c             | 107 ++++++++++++++----------
 xen/arch/arm/include/asm/domain_build.h |   2 +
 xen/arch/arm/include/asm/setup.h        |   5 ++
 3 files changed, 70 insertions(+), 44 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 085d88671e..d2a9c047ea 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -814,19 +814,21 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
-                                  void *data)
+static int __init add_regions(unsigned long s_gfn, unsigned long e_gfn,
+                              void *data)
 {
-    struct meminfo *ext_regions = data;
+    struct mem_unused_info *unused = data;
+    struct meminfo *regions = unused->regions;
+    paddr_t min_region_size = unused->min_region_size;
     paddr_t start, size;
     paddr_t s = pfn_to_paddr(s_gfn);
     paddr_t e = pfn_to_paddr(e_gfn);
 
-    if ( ext_regions->nr_banks >= ARRAY_SIZE(ext_regions->bank) )
+    if ( regions->nr_banks >= ARRAY_SIZE(regions->bank) )
         return 0;
 
     /*
-     * Both start and size of the extended region should be 2MB aligned to
+     * Both start and size of the region should be 2MB aligned to
      * potentially allow superpage mapping.
      */
     start = (s + SZ_2M - 1) & ~(SZ_2M - 1);
@@ -845,26 +847,27 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
      * not quite useful but increase bookkeeping and not too large
      * to skip a large proportion of unused address space.
      */
-    if ( size < MB(64) )
+    if ( size < min_region_size )
         return 0;
 
-    ext_regions->bank[ext_regions->nr_banks].start = start;
-    ext_regions->bank[ext_regions->nr_banks].size = size;
-    ext_regions->nr_banks++;
+    regions->bank[regions->nr_banks].start = start;
+    regions->bank[regions->nr_banks].size = size;
+    regions->nr_banks++;
 
     return 0;
 }
 
 /*
- * Find unused regions of Host address space which can be exposed to Dom0
- * as extended regions for the special memory mappings. In order to calculate
- * regions we exclude every region assigned to Dom0 from the Host RAM:
+ * Find unused regions of Host address space which can be exposed to
+ * direct-mapped domains as regions for the special memory mappings.
+ * In order to calculate regions we exclude every region assigned to
+ * direct-mapped domains from the Host RAM:
  * - domain RAM
  * - reserved-memory
  * - grant table space
  */
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
-                                          struct meminfo *ext_regions)
+                                          struct mem_unused_info *unused)
 {
     const struct meminfo *assign_mem = &kinfo->mem;
     struct rangeset *unalloc_mem;
@@ -893,7 +896,7 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
         }
     }
 
-    /* Remove RAM assigned to Dom0 */
+    /* Remove RAM assigned to domain */
     for ( i = 0; i < assign_mem->nr_banks; i++ )
     {
         start = assign_mem->bank[i].start;
@@ -942,10 +945,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
     res = rangeset_report_ranges(unalloc_mem, PFN_DOWN(start), PFN_DOWN(end),
-                                 add_ext_regions, ext_regions);
+                                 add_regions, unused);
     if ( res )
-        ext_regions->nr_banks = 0;
-    else if ( !ext_regions->nr_banks )
+        unused->regions->nr_banks = 0;
+    else if ( !unused->regions->nr_banks )
         res = -ENOENT;
 
 out:
@@ -982,16 +985,16 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
 }
 
 /*
- * Find the holes in the Host DT which can be exposed to Dom0 as extended
- * regions for the special memory mappings. In order to calculate regions
- * we exclude every addressable memory region described by "reg" and "ranges"
+ * Find the holes in the Host DT which can be exposed to direct-mapped domains
+ * as regions for the special memory mappings. In order to calculate regions we
+ * exclude every addressable memory region described by "reg" and "ranges"
  * properties from the maximum possible addressable physical memory range:
  * - MMIO
  * - Host RAM
  * - PCI aperture
  */
 static int __init find_memory_holes(const struct kernel_info *kinfo,
-                                    struct meminfo *ext_regions)
+                                    struct mem_unused_info *unused)
 {
     struct dt_device_node *np;
     struct rangeset *mem_holes;
@@ -1068,10 +1071,10 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
     res = rangeset_report_ranges(mem_holes, PFN_DOWN(start), PFN_DOWN(end),
-                                 add_ext_regions,  ext_regions);
+                                 add_regions, unused);
     if ( res )
-        ext_regions->nr_banks = 0;
-    else if ( !ext_regions->nr_banks )
+        unused->regions->nr_banks = 0;
+    else if ( !unused->regions->nr_banks )
         res = -ENOENT;
 
 out:
@@ -1081,35 +1084,62 @@ out:
 }
 
 static int __init find_domU_holes(const struct kernel_info *kinfo,
-                                  struct meminfo *ext_regions)
+                                  struct mem_unused_info *unused)
 {
     unsigned int i;
     uint64_t bankend;
     const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
     const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
+    struct meminfo *regions = unused->regions;
+    paddr_t min_region_size = unused->min_region_size;
     int res = -ENOENT;
 
     for ( i = 0; i < GUEST_RAM_BANKS; i++ )
     {
-        struct membank *ext_bank = &(ext_regions->bank[ext_regions->nr_banks]);
+        struct membank *bank = &(regions->bank[regions->nr_banks]);
 
-        ext_bank->start = ROUNDUP(bankbase[i] + kinfo->mem.bank[i].size, SZ_2M);
+        bank->start = ROUNDUP(bankbase[i] + kinfo->mem.bank[i].size, SZ_2M);
 
         bankend = ~0ULL >> (64 - p2m_ipa_bits);
         bankend = min(bankend, bankbase[i] + banksize[i] - 1);
-        if ( bankend > ext_bank->start )
-            ext_bank->size = bankend - ext_bank->start + 1;
+        if ( bankend > bank->start )
+            bank->size = bankend - bank->start + 1;
 
-        /* 64MB is the minimum size of an extended region */
-        if ( ext_bank->size < MB(64) )
+        if ( bank->size < min_region_size )
             continue;
-        ext_regions->nr_banks++;
+        regions->nr_banks++;
         res = 0;
     }
 
     return res;
 }
 
+int __init find_unused_regions(struct domain *d,
+                               const struct kernel_info *kinfo,
+                               struct meminfo *regions,
+                               paddr_t min_region_size)
+{
+    int res;
+    struct mem_unused_info unused;
+
+    unused.regions = regions;
+    unused.min_region_size = min_region_size;
+
+    if ( is_domain_direct_mapped(d) )
+    {
+        if ( !is_iommu_enabled(d) )
+            res = find_unallocated_memory(kinfo, &unused);
+        else
+            res = find_memory_holes(kinfo, &unused);
+    }
+    else
+    {
+        res = find_domU_holes(kinfo, &unused);
+    }
+
+    return res;
+}
+
 int __init make_hypervisor_node(struct domain *d,
                                 const struct kernel_info *kinfo,
                                 int addrcells, int sizecells)
@@ -1161,18 +1191,7 @@ int __init make_hypervisor_node(struct domain *d,
         if ( !ext_regions )
             return -ENOMEM;
 
-        if ( is_domain_direct_mapped(d) )
-        {
-            if ( !is_iommu_enabled(d) )
-                res = find_unallocated_memory(kinfo, ext_regions);
-            else
-                res = find_memory_holes(kinfo, ext_regions);
-        }
-        else
-        {
-            res = find_domU_holes(kinfo, ext_regions);
-        }
-
+        res = find_unused_regions(d, kinfo, ext_regions, MB(64));
         if ( res )
             printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
                    d);
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index da9e6025f3..74432123fe 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -10,6 +10,8 @@ bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
+int find_unused_regions(struct domain *d, const struct kernel_info *kinfo,
+                        struct meminfo *regions, paddr_t min_region_size);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index d15a88d2e0..d24c6d31c8 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -61,6 +61,11 @@ struct meminfo {
     struct membank bank[NR_MEM_BANKS];
 };
 
+struct mem_unused_info {
+    struct meminfo *regions;
+    paddr_t min_region_size;
+};
+
 /*
  * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
  * The purpose of the domU flag is to avoid getting confused in
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:54:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702118.1096931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3Ut-0003cv-G1; Tue, 09 Apr 2024 04:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702118.1096931; Tue, 09 Apr 2024 04: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 1ru3Ut-0003co-C4; Tue, 09 Apr 2024 04:54:15 +0000
Received: by outflank-mailman (input) for mailman id 702118;
 Tue, 09 Apr 2024 04:54: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=5At3=LO=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ru3Uq-0003cc-PC
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 04:54:13 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3326fed4-f62d-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 06:54:09 +0200 (CEST)
Received: from CH0PR03CA0243.namprd03.prod.outlook.com (2603:10b6:610:e5::8)
 by SJ2PR12MB7917.namprd12.prod.outlook.com (2603:10b6:a03:4c7::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 04:54:04 +0000
Received: from CH1PEPF0000AD75.namprd04.prod.outlook.com
 (2603:10b6:610:e5:cafe::70) by CH0PR03CA0243.outlook.office365.com
 (2603:10b6:610:e5::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Tue, 9 Apr 2024 04:54:04 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000AD75.mail.protection.outlook.com (10.167.244.54) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 04:54: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.35; Mon, 8 Apr
 2024 23:54:02 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 23:53: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: 3326fed4-f62d-11ee-843a-3f19d20e7db6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R1kGbbSO3/gnGQSBhZy+Es4Im40isgOpBDJ9sm2tgX/hcL3ksGeSzurgUE4dNBvJkrDCfdoP+ZHPzFl+ZKuBPohndB5Je6gRT8nS56dY8rJibpRg9k7OulrhI4v8/nDpf1rmQwFjXFdZOseTxN2EwcgeuyqDzskxYBFGtp9DN/TiBzm9LIGV9ENksBUNZcMFA/K2NrBj46o3rg8lzD9zbg6/7Ug5pfXLHOoORXau1RUq5w+ETV9i/+YcEClexjtnERoa0DuPpWKQs1USMF9N1h88uB+V1TDaxPFHQS3iNgQ0/AxNktDOotDOvhzeLQb13XQJ4K0ORHVG99hAC1TrZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tvD3iuj2w/1FIqsRweCCg8YNxCx0XmkWYy+M7wmuldc=;
 b=CsmIMnXW10n8/tT/VOkrsmuoJRnCiPJmvVFQhhO7QJlHkoteLcb3u/J1htybY0iAfctNRJuCNEFilyDDx+GoCOqwn6/NfnCbAr9CT18bNKuDCNZOxPue7X6r2VDAwuiktik1m94byRceBx1JK0QVCbVC9fLazek1MCDqDtijga1rgt8HG0Jwpof+LuwjbNn7o2BF+q608cofClmswicvgGnS8zgfvFYX/KgB/k7XNsSHtAwla2WPFCVD5xala4A+PLrIlEpQbEZidmLfIlpI6BtjwyDxaoY1kEU+BsA/fNOQIFkorhhpRH3Ye55VSvc99cJ6NWiskxpw43x13a416w==
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=tvD3iuj2w/1FIqsRweCCg8YNxCx0XmkWYy+M7wmuldc=;
 b=mmRDpHv6/7t0nQCQcCDb8mjuVD+h5dXRq1RbWCZmIeJ+FO6FR/lIoOSSDYLP1RiLt03EAYt934kSk9LqKUuNQj1Vvrd4XGL3yOZER4wrvkfeCxBO7jz5isJd6Z9u9figO0B5Rn9Vss0eyj3WxEY+eH5hXnlmb1yl+DvXWCmzaHs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 0/5] DOMCTL-based guest magic region allocation for 11 domUs
Date: Tue, 9 Apr 2024 12:53:52 +0800
Message-ID: <20240409045357.236802-1-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD75:EE_|SJ2PR12MB7917:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f293f71-6d1e-4d5f-b1cc-08dc585113ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BF6MRQoHdD8wamkLXZatKpI7kyOhPa+T96Lpk5p/mD96GNviW7a6v0Z2EFWh93F1CGJCAxLHK/mLeeyFPDY7OW+lWxGT9Gj/uboRu0guIKBCaqsKCN7mDZ25zJM2XJffnMGCJX3RI9pvDD5QNNFL041JJygszAjILJhnjSSKOBgR7fxZpwj8/KA4sfGwmaPFPHKkih2G0n7vYNx6UlZYu+AD2ggbc/p70b0TqCXhI43gAtjweOi4kwmCvP1VFQ8sGIqrVWoJfmUWSFXdtw9Bhvacjqu91YqyEWGViPaNYTg+oiQYEwBf19497gPYAB6VQfHEzqpd2Vffk0uyT/9YBIDAULJyWQR3yopleJRtWZkSux41MhtK/Oib7n4jd7caGDBRof9pwciL/PsfwUAQ+R9G7uuKOmNZUmzB/b0MklHxOGNRTOLlT6kJfQ5XB00SddeauKcUpHxwSgIPI2rgmJUzFoVH/12p2WyLIfDqEixCEFG2wMUClCxdpZua1F3Xha03bqXU8C++jca9rMsN3Fw+N9ROiDKH2zdEvjBB/YYQSVopTYG4fHz8orcNlIsFvImRPClTmqBDhDLOR+j/q5BEnkmfzR/NckhYMQONoYwqiNHWEEfK2q+0OSzPHidzYiL6O+ahJDH8e3WWdVm+tp+JiNF+P1sFncxxZlcWs+PmQnRH76LiHywtatlDLC2+1sVZztEEmvJqRGou+qo9bYSGU5A6GjLQcrQSY89c4Jo5qkqvp9WzHw8FcJfikjrm
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015)(7416005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 04:54:02.9238
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f293f71-6d1e-4d5f-b1cc-08dc585113ed
X-MS-Exchange-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:
	CH1PEPF0000AD75.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7917

An error message can seen from the init-dom0less application on
direct-mapped 1:1 domains:
```
Allocating magic pages
memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
Error on alloc magic pages
```

This is because populate_physmap() automatically assumes gfn == mfn
for direct mapped domains. This cannot be true for the magic pages
that are allocated later for 1:1 Dom0less DomUs from the init-dom0less
helper application executed in Dom0. For domain using statically
allocated memory but not 1:1 direct-mapped, similar error "failed to
retrieve a reserved page" can be seen as the reserved memory list
is empty at that time.

This series tries to fix this issue using a DOMCTL-based approach,
because for 1:1 direct-mapped domUs, we need to avoid the RAM regions
and inform the toolstack about the region found by hypervisor for
mapping the magic pages. Patch 1 introduced a new DOMCTL to get the
guest memory map, currently only used for the magic page regions.
Patch 2 generalized the extended region finding logic so that it can
be reused for other use cases such as finding 1:1 domU magic regions.
Patch 3 uses the same approach as finding the extended regions to find
the guest magic page regions for direct-mapped DomUs. Patch 4 avoids
hardcoding all base addresses of guest magic region in the init-dom0less
application by consuming the newly introduced DOMCTL. Patch 5 is a
simple patch to do some code duplication clean-up in xc.

Gitlab pipeline for this series:
https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/1245192195

Henry Wang (5):
  xen/domctl, tools: Introduce a new domctl to get guest memory map
  xen/arm: Generalize the extended region finding logic
  xen/arm: Find unallocated spaces for magic pages of direct-mapped domU
  xen/memory, tools: Avoid hardcoding GUEST_MAGIC_BASE in init-dom0less
  tools/libs/ctrl: Simplify xc helpers related to populate_physmap()

 tools/helpers/init-dom0less.c            |  35 ++--
 tools/include/xenctrl.h                  |  11 ++
 tools/libs/ctrl/xc_domain.c              | 204 +++++++++++++----------
 xen/arch/arm/dom0less-build.c            |  11 ++
 xen/arch/arm/domain.c                    |  14 ++
 xen/arch/arm/domain_build.c              | 131 ++++++++++-----
 xen/arch/arm/domctl.c                    |  28 +++-
 xen/arch/arm/include/asm/domain.h        |   8 +
 xen/arch/arm/include/asm/domain_build.h  |   4 +
 xen/arch/arm/include/asm/setup.h         |   5 +
 xen/arch/arm/include/asm/static-memory.h |   7 +
 xen/arch/arm/static-memory.c             |  39 +++++
 xen/common/memory.c                      |  30 +++-
 xen/include/public/arch-arm.h            |   7 +
 xen/include/public/domctl.h              |  29 ++++
 xen/include/public/memory.h              |   3 +-
 16 files changed, 415 insertions(+), 151 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:54:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702121.1096960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3Uz-0004M6-CA; Tue, 09 Apr 2024 04:54:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702121.1096960; Tue, 09 Apr 2024 04:54:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3Uz-0004Lx-9U; Tue, 09 Apr 2024 04:54:21 +0000
Received: by outflank-mailman (input) for mailman id 702121;
 Tue, 09 Apr 2024 04:54:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5At3=LO=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ru3Uy-0003cc-10
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 04:54:20 +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 38c724e3-f62d-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 06:54:18 +0200 (CEST)
Received: from CH2PR10CA0011.namprd10.prod.outlook.com (2603:10b6:610:4c::21)
 by SN7PR12MB7419.namprd12.prod.outlook.com (2603:10b6:806:2a6::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Tue, 9 Apr
 2024 04:54:14 +0000
Received: from CH1PEPF0000AD77.namprd04.prod.outlook.com
 (2603:10b6:610:4c:cafe::ea) by CH2PR10CA0011.outlook.office365.com
 (2603:10b6:610:4c::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.28 via Frontend
 Transport; Tue, 9 Apr 2024 04:54:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000AD77.mail.protection.outlook.com (10.167.244.55) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 04:54:13 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 23:54:12 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 21:54:12 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 23:54:10 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38c724e3-f62d-11ee-843a-3f19d20e7db6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JOqqY1cUfIvEIhzWQoDt+SPx+e8h0Sa4Z4ASpJLvPpEX4pRVZ1m+RY8FGBe9UiU3I+ZUY2OrGUi/8Ee1be7IxbRq92E2RcN3xdQiD2Tm2nx7x9/sg0+kVlLJUqa147dKT2LJLVs5S7JvebU0jKSeiAqsj9Wfp/42lyAT0f+j9C+rFtKpemkaK9F8P44k6nDLHiiRt26M2VBB6thtLa9Idx39eyelgtIoQYilzbQvIdWpF8c0zgNUlvX/6Rc41t/riaVXI9gU4MC71iwjDDCXeNfhK7PtIEqiDkzbjHw64J4uyilTrcgNdEVkvNvtoZFDlq61n9yMDYx+ZgHqMMCfkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lC+nKYjI93vCI4VeuKL1ZiSEnl9+mCP0TiBahXdLMho=;
 b=NNPFNzB38MUxjDG1C23cbjLcNWzle/X4/OSeX8kuBMQvVwY9dmaQXlRLzy0WCKh1xULaqA9t3AGzSKE7gDoBMURD43kbbdbzC8imKvOgJFTC2dh7hctQdtpJgpIK9XoY/y2SuBg77aOBskp1Ifx0OhHW03icjiLInGp2BEy/5sGpdOmJZSF0+WNR0M8pm71rPv7Wjq6f6oHZuhV/7rA0aXaDAdmTHO/q5y3o8x9KvLK9xLJBTyh5A/M4yVVzNKmjpA5FlF4K5CLkaAQNaB84cpLmBgySbfKCUiRgAADSVIRQauDmkfniUmBHl7pQav5NfzsDqAOEhUhO7F74UPIqag==
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=lC+nKYjI93vCI4VeuKL1ZiSEnl9+mCP0TiBahXdLMho=;
 b=J/pG5di6qConia4X5mxp53pdESxAk3sCct26UFq0K1lCDMnOIUV9qMU6KrR4US0uIDUXXx8qkhPUbYvjnnwQpOc+wGzx1dYglCfAJXk9kxUgNdTQ2CD+A36ZbQp4nH6iq9VN222RhqIpxeHKchaXl8Uf0fJwsAyWCFgNatUB2vA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@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>, Alec Kwapis
	<alec.kwapis@medtronic.com>
Subject: [PATCH v4 3/5] xen/arm: Find unallocated spaces for magic pages of direct-mapped domU
Date: Tue, 9 Apr 2024 12:53:55 +0800
Message-ID: <20240409045357.236802-4-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409045357.236802-1-xin.wang2@amd.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD77:EE_|SN7PR12MB7419:EE_
X-MS-Office365-Filtering-Correlation-Id: 024ce0f0-6595-40c4-7447-08dc58511a27
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jDXw1jgQYHaBBqpUB+R4LAyqIGYizOtsLML9Hzjs2M3XGFk0p+WsH784CdvIY53Mc2vDl9qv2cfcc9BaeJb4uTDzS4KyefuhQEnr90/8o08kI3yLdwy6WK/6V6mHphzlSQxKzzNnMS8dUCla2v31P2ej/Df1s+gwBkppgVoVmDjsDRlQkTzAcOFL3LyF1eK0rykNOABLfJErpBWBCzKMg2cvPsZRjmZopXmQFgGkm42HDNet5/a8ZfyX+XaGngg+LwqklU+8VQi72rogazTkUhCTj0UbeAzkz0zCyN2U333v22t2qFZ3AIchrZK0ew2t21dyDDALC32S+S+dI+h0+Q/hf5S+siSYasAZY+zS0lkVwsi29mRx018Nim4dUaAs4Ye5b9y/sP8oxrj7NY0L3/BhrE5i33rECQIlxkgr5Bkje8HLtvyWCT6AHeoBvbOoprHFpYqDwyzoTdgPUufE5JGAqL+anfNm5F/y9DYrQLLiCUORpoqyJ+LWahskEakhsiomcfmqLgL36VMSXyzjb6mkYmMPoIaU/pQHVilO3GloBfALEK9UvpDpTEMI8G5EIj/pA+GtXJLAIQvgTTl2G540dImztZCq+zwdbj7va7LmjNJjeNiRopji/Iu1L0JIQezV5sPD+d21bwX0TS0gLhR10+JTLa3qBsACzkbEaQr3hLWXclV/TQubN/oLQzPngPPACKQBLmmHGFKW1Z6D4RgjMu7AButQHavDVPvm90WaunsGgFQ8QK3PH2kLs2yb
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 04:54:13.3531
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 024ce0f0-6595-40c4-7447-08dc58511a27
X-MS-Exchange-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:
	CH1PEPF0000AD77.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7419

For 1:1 direct-mapped dom0less DomUs, the magic pages should not clash
with any RAM region. To find a proper region for guest magic pages,
we can reuse the logic of finding domain extended regions.

If the extended region is enabled, since the extended region banks are
at least 64MB, carve out the first 16MB from the first extended region
bank for magic pages of direct-mapped domU. If the extended region is
disabled, call the newly introduced helper find_11_domU_magic_region()
to find a GUEST_MAGIC_SIZE sized unused region.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v4:
- No change
v3:
- Extract the logic of finding unallocated spaces for magic pages of
  direct-mapped domU to a dedicated function in static-memory.c
- Properly handle error and free memory in find_11_domU_magic_region()
v2:
- New patch
---
 xen/arch/arm/dom0less-build.c            | 11 +++++++
 xen/arch/arm/domain_build.c              | 24 ++++++++++++++-
 xen/arch/arm/include/asm/domain_build.h  |  2 ++
 xen/arch/arm/include/asm/static-memory.h |  7 +++++
 xen/arch/arm/static-memory.c             | 39 ++++++++++++++++++++++++
 5 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index fb63ec6fd1..1963f029fe 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -682,6 +682,17 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
 
     if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
     {
+        /*
+         * Find the guest magic region for 1:1 dom0less domU when the extended
+         * region is not enabled.
+         */
+        if ( !opt_ext_regions || is_32bit_domain(d) )
+        {
+            ret = find_11_domU_magic_region(d, kinfo);
+            if ( ret )
+                goto err;
+        }
+
         ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
         if ( ret )
             goto err;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d2a9c047ea..d5a9baf8b0 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -46,7 +46,7 @@ integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
  * If true, the extended regions support is enabled for dom0 and
  * dom0less domUs.
  */
-static bool __initdata opt_ext_regions = true;
+bool __initdata opt_ext_regions = true;
 boolean_param("ext_regions", opt_ext_regions);
 
 static u64 __initdata dom0_mem;
@@ -1196,6 +1196,28 @@ int __init make_hypervisor_node(struct domain *d,
             printk(XENLOG_WARNING "%pd: failed to allocate extended regions\n",
                    d);
         nr_ext_regions = ext_regions->nr_banks;
+
+        /*
+         * If extended region is enabled, carve out the 16MB guest magic page
+         * regions from the first bank of extended region (at least 64MB) for
+         * the 1:1 dom0less DomUs
+         */
+        if ( is_domain_direct_mapped(d) && !is_hardware_domain(d) )
+        {
+            struct mem_map_domain *mem_map = &d->arch.mem_map;
+
+            for ( i = 0; i < mem_map->nr_mem_regions; i++ )
+            {
+                if ( mem_map->regions[i].type == XEN_MEM_REGION_MAGIC )
+                {
+                    mem_map->regions[i].start = ext_regions->bank[0].start;
+                    mem_map->regions[i].size = GUEST_MAGIC_SIZE;
+
+                    ext_regions->bank[0].start += GUEST_MAGIC_SIZE;
+                    ext_regions->bank[0].size -= GUEST_MAGIC_SIZE;
+                }
+            }
+        }
     }
 
     reg = xzalloc_array(__be32, (nr_ext_regions + 1) * (addrcells + sizecells));
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 74432123fe..063ff727bb 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,6 +4,8 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
+extern bool opt_ext_regions;
+
 typedef __be32 gic_interrupt_t[3];
 
 bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
index 3e3efd70c3..01e51217ca 100644
--- a/xen/arch/arm/include/asm/static-memory.h
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -12,6 +12,7 @@ void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
 void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
                              const struct dt_device_node *node);
 void init_staticmem_pages(void);
+int find_11_domU_magic_region(struct domain *d, struct kernel_info *kinfo);
 
 #else /* !CONFIG_STATIC_MEMORY */
 
@@ -31,6 +32,12 @@ static inline void assign_static_memory_11(struct domain *d,
 
 static inline void init_staticmem_pages(void) {};
 
+static inline int find_11_domU_magic_region(struct domain *d,
+                                            struct kernel_info *kinfo)
+{
+    return 0;
+}
+
 #endif /* CONFIG_STATIC_MEMORY */
 
 #endif /* __ASM_STATIC_MEMORY_H_ */
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
index cffbab7241..ab1ec5e73a 100644
--- a/xen/arch/arm/static-memory.c
+++ b/xen/arch/arm/static-memory.c
@@ -2,6 +2,7 @@
 
 #include <xen/sched.h>
 
+#include <asm/domain_build.h>
 #include <asm/static-memory.h>
 
 static bool __init append_static_memory_to_bank(struct domain *d,
@@ -276,6 +277,44 @@ void __init init_staticmem_pages(void)
     }
 }
 
+int __init find_11_domU_magic_region(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    if ( is_domain_direct_mapped(d) )
+    {
+        struct meminfo *magic_region = xzalloc(struct meminfo);
+        struct mem_map_domain *mem_map = &d->arch.mem_map;
+        unsigned int i;
+        int ret = 0;
+
+        if ( !magic_region )
+            return -ENOMEM;
+
+        ret = find_unused_regions(d, kinfo, magic_region, GUEST_MAGIC_SIZE);
+        if ( ret )
+        {
+            printk(XENLOG_WARNING
+                   "%pd: failed to find a region for domain magic pages\n", d);
+            xfree(magic_region);
+            return -ENOENT;
+        }
+
+        /* Update the domain memory map. */
+        for ( i = 0; i < mem_map->nr_mem_regions; i++ )
+        {
+            if ( mem_map->regions[i].type == XEN_MEM_REGION_MAGIC )
+            {
+                mem_map->regions[i].start = magic_region->bank[0].start;
+                mem_map->regions[i].size = GUEST_MAGIC_SIZE;
+            }
+        }
+
+        xfree(magic_region);
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:54:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702119.1096937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3Ut-0003gB-RO; Tue, 09 Apr 2024 04:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702119.1096937; Tue, 09 Apr 2024 04: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 1ru3Ut-0003fS-K1; Tue, 09 Apr 2024 04:54:15 +0000
Received: by outflank-mailman (input) for mailman id 702119;
 Tue, 09 Apr 2024 04:54: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=5At3=LO=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ru3Ur-0003cd-GD
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 04:54:13 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2412::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3404329f-f62d-11ee-9150-f14010f3f246;
 Tue, 09 Apr 2024 06:54:11 +0200 (CEST)
Received: from CH0PR03CA0207.namprd03.prod.outlook.com (2603:10b6:610:e4::32)
 by DM4PR12MB6110.namprd12.prod.outlook.com (2603:10b6:8:ad::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.47; Tue, 9 Apr 2024 04:54:08 +0000
Received: from CH1PEPF0000AD78.namprd04.prod.outlook.com
 (2603:10b6:610:e4:cafe::e2) by CH0PR03CA0207.outlook.office365.com
 (2603:10b6:610:e4::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.34 via Frontend
 Transport; Tue, 9 Apr 2024 04:54:08 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000AD78.mail.protection.outlook.com (10.167.244.56) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 04:54:07 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 23:54:07 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 21:54:06 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 23:54: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: 3404329f-f62d-11ee-9150-f14010f3f246
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UY5kQ36YGvd7l5lO4f8KeLtmNKZbBnqo96YrGAlBVuwHNdMsA60n6xNOYS4kSR+vlm+taUwnM/xxeW2FxtJiS5h92CQwuZOWXz3coM+YEBeF76e+1OF52kW5MSBQjChyb90k/v+1b8F6tJn+jIIFpRaeM8Tx3e/tpo8dEEw7D/gQRbZM28blfOAdKndHW+kRS8WN8UgdJGEbNeKPxdXYPtTkOOpZlMTAjMXIgiNekLQVCaedmAkC93dPaYNsoIgravfUGDoMdZKsaeeYtbyg8zN8H5h88S0vajC8fGTBB/gvW2YraH2VLavqPUg2eDDf8Th3/tMAsbVnU6hmy7E3+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6nCAvmO7u10UOc0MrZvr0OOFyROWsdMJT9pKEuIzHtU=;
 b=BpYI+0WbTU0MVhIvFwrBZxBkD955m0WDKNYMjT7JOa61h6y8+3AanvDWwRR80e3qc+j4MY5R1gTsSOv8hEyJgiBZ+DGXuFeKibDacqG3+n+95hqOFJvh2VdSGFYNaVCmcY463xi8f/7edAKVHo/RqhCMCZTAAVAsANvop6NE8j/d/rlR7cwBCT28Xxw/GVm16B/0kNOuY1kwyIPuk+76dbHDdxNYgs5dDXKblw311G2+ETbmRwzuCV9WLIIp3Y9PGfo34eqqSuOyMfM75PuKWUhx3ATHkXNo9gW15HHfuSvZD8u4zypDK0Wvjl/s+HZlTiWLJkdvhdeMGn0805ekjg==
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=6nCAvmO7u10UOc0MrZvr0OOFyROWsdMJT9pKEuIzHtU=;
 b=2HvTDgZs7+utvOgmWQt9L4QtAgXnvSpqiYji3mdmvw/XN5GsEDZa2KefWN+GtbbhwnuX1CrVGN43c+chrF9yPeiafKweqvwQ8ACtmN6qfVOhhRYHiaThnoQmJGu1Vd8oT0q7oZPbP3eQMPdELJpWm7DCrpP2OvUBp2KuNJ3NXLI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Alec Kwapis
	<alec.kwapis@medtronic.com>
Subject: [PATCH v4 1/5] xen/domctl, tools: Introduce a new domctl to get guest memory map
Date: Tue, 9 Apr 2024 12:53:53 +0800
Message-ID: <20240409045357.236802-2-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409045357.236802-1-xin.wang2@amd.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD78:EE_|DM4PR12MB6110:EE_
X-MS-Office365-Filtering-Correlation-Id: c5877d6d-2134-4aa9-70b5-08dc585116a8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Kgylor3TECOxnq4ReeyDa0oSMwDficSRzB81HTfJZP+35k1bfXoqwFKsxjEDWapsaGuhmr0jp6JoOw/W829V+4LV59VBbFZyPFqw77+omy7LDCaLNMVY+8iywpx+rJZgDMKeigjrIw+m6geyEqSVRkRGibgxqhjI86wlWE/+wMHCYf4CC/aVrkUGgmgYEZozvJrfOXaot9ZssLxvnyW6hxc6b92sJkOtprq41yxGQ43eDT/2Khw8TX7TVcC4MIXB+zxi1z94kRKxwxBR7MLiSNm/9TpHMr06eZw/yntADWB5KLUalFHu0ekWz78x5H8KYzXifusEchuxVNhnAns64Lwq71lJvyBh6ytVrWgfqCRn6cHk7wFCAeleWaH8w/Y9hEPKehwKtlAGP7HGopMswV1+5CDLRjgYCEk0YFZi5PjGI/mvWpDMPyxWwV32/fNivyx4fsmDfETaOhjv0XMsRC3/vUzQQRbOzNLwE1MOvTk43lUhRVUiiZhwTOiT+fMWTW6IYbZBmrj/CFUYFkGN18uuh/3cD/VUmKmRZF7zbBtE6ZiNIYnjDgoInxuMrwPKeDFKkEMogpkSR2cj9Uyi4GsGIHtp2XFOCAD2/lRiWVJZuBkvXbjJZvEXaOTkd/nX7bROhV3ECXTP8YxhYMcqI9cCKMYJku92URIQp5/sPti9BcGuTo4klwBhSgopiciG5YdWt+Xa0IB00Rlu+MvPMWNzLStsABaacx1qLV/+J6UvdfZRnLi2bD8t+dSPSast
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(376005)(36860700004)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 04:54:07.4875
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c5877d6d-2134-4aa9-70b5-08dc585116a8
X-MS-Exchange-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:
	CH1PEPF0000AD78.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6110

There are some use cases where the toolstack needs to know the guest
memory map. For example, the toolstack helper application
"init-dom0less" needs to know the guest magic page regions for 1:1
direct-mapped dom0less DomUs to allocate magic pages.

To address such needs, add XEN_DOMCTL_get_mem_map hypercall and
related data structures to query the hypervisor for the guest memory
map. The guest memory map is recorded in the domain structure and
currently only guest magic page region is recorded in the guest
memory map. The guest magic page region is initialized at the domain
creation time as the layout in the public header, and it is updated
for 1:1 dom0less DomUs (see the following commit) to avoid conflict
with RAM.

Take the opportunity to drop an unnecessary empty line to keep the
coding style consistent in the file.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
RFC: I think the newly introduced "struct xen_domctl_mem_map" is
quite duplicated with "struct xen_memory_map", any comment on reuse
the "struct xen_memory_map" for simplicity?
v4:
- Drop the unnecessary initialization and printk.
- Use XEN_* prefix instead of GUEST_* for domctl.
- Move the mem region type to mem region structure.
- Drop the check of Xen internal state in the domctl.
- Handle the nr_regions properly (Fill only as much of the array
  as there is space for, but return the full count to the caller)
  to make sure the caller can know if it specifies a too small array.
v3:
- Init the return rc for XEN_DOMCTL_get_mem_map.
- Copy the nr_mem_regions back as it should be both IN & OUT.
- Check if mem_map->nr_mem_regions exceeds the XEN_MAX_MEM_REGIONS
  when adding a new entry.
- Allow XEN_MAX_MEM_REGIONS to be different between different archs.
- Add explicit padding and check to the domctl structures.
v2:
- New patch
---
 tools/include/xenctrl.h           |  4 ++++
 tools/libs/ctrl/xc_domain.c       | 37 +++++++++++++++++++++++++++++++
 xen/arch/arm/domain.c             | 14 ++++++++++++
 xen/arch/arm/domctl.c             | 28 ++++++++++++++++++++++-
 xen/arch/arm/include/asm/domain.h |  8 +++++++
 xen/include/public/arch-arm.h     |  7 ++++++
 xen/include/public/domctl.h       | 29 ++++++++++++++++++++++++
 7 files changed, 126 insertions(+), 1 deletion(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e054..b25e9772a2 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1195,6 +1195,10 @@ int xc_domain_setmaxmem(xc_interface *xch,
                         uint32_t domid,
                         uint64_t max_memkb);
 
+int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
+                          struct xen_mem_region mem_regions[],
+                          uint32_t *nr_regions);
+
 int xc_domain_set_memmap_limit(xc_interface *xch,
                                uint32_t domid,
                                unsigned long map_limitkb);
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index f2d9d14b4d..4dba55d01d 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -697,6 +697,43 @@ int xc_domain_setmaxmem(xc_interface *xch,
     return do_domctl(xch, &domctl);
 }
 
+int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
+                          struct xen_mem_region mem_regions[],
+                          uint32_t *nr_regions)
+{
+    int rc;
+    uint32_t nr = *nr_regions;
+    struct xen_domctl domctl = {
+        .cmd         = XEN_DOMCTL_get_mem_map,
+        .domain      = domid,
+        .u.mem_map = {
+            .nr_mem_regions = nr,
+        },
+    };
+
+    DECLARE_HYPERCALL_BOUNCE(mem_regions, sizeof(xen_mem_region_t) * nr,
+                             XC_HYPERCALL_BUFFER_BOUNCE_OUT);
+
+    if ( !mem_regions || xc_hypercall_bounce_pre(xch, mem_regions) || nr < 1 )
+        return -1;
+
+    set_xen_guest_handle(domctl.u.mem_map.buffer, mem_regions);
+
+    rc = do_domctl(xch, &domctl);
+
+    xc_hypercall_bounce_post(xch, mem_regions);
+
+    if ( nr < domctl.u.mem_map.nr_mem_regions )
+    {
+        PERROR("Too small nr_regions %u", nr);
+        return -1;
+    }
+
+    *nr_regions = domctl.u.mem_map.nr_mem_regions;
+
+    return rc;
+}
+
 #if defined(__i386__) || defined(__x86_64__)
 int xc_domain_set_memory_map(xc_interface *xch,
                                uint32_t domid,
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 34cbfe699a..0c9761b65b 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -697,6 +697,7 @@ int arch_domain_create(struct domain *d,
 {
     unsigned int count = 0;
     int rc;
+    struct mem_map_domain *mem_map = &d->arch.mem_map;
 
     BUILD_BUG_ON(GUEST_MAX_VCPUS < MAX_VIRT_CPUS);
 
@@ -786,6 +787,19 @@ int arch_domain_create(struct domain *d,
     d->arch.sve_vl = config->arch.sve_vl;
 #endif
 
+    if ( mem_map->nr_mem_regions < XEN_MAX_MEM_REGIONS )
+    {
+        mem_map->regions[mem_map->nr_mem_regions].start = GUEST_MAGIC_BASE;
+        mem_map->regions[mem_map->nr_mem_regions].size = GUEST_MAGIC_SIZE;
+        mem_map->regions[mem_map->nr_mem_regions].type = XEN_MEM_REGION_MAGIC;
+        mem_map->nr_mem_regions++;
+    }
+    else
+    {
+        rc = -ENOSPC;
+        goto fail;
+    }
+
     return 0;
 
 fail:
diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index ad56efb0f5..8f62719cfa 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -148,7 +148,6 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
 
         return 0;
     }
-
     case XEN_DOMCTL_vuart_op:
     {
         int rc;
@@ -176,6 +175,33 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
 
         return rc;
     }
+    case XEN_DOMCTL_get_mem_map:
+    {
+        int rc = 0;
+        uint32_t nr_regions;
+
+        if ( domctl->u.mem_map.pad )
+            return -EINVAL;
+
+        /*
+         * Fill the buffer only as much of the array as there is space for,
+         * but always return the full count in the hypervisor to the caller.
+         * This way we can avoid overflowing the buffer and also make sure
+         * the caller can know if it specifies too small an array.
+         */
+        nr_regions = min(d->arch.mem_map.nr_mem_regions,
+                         domctl->u.mem_map.nr_mem_regions);
+
+        domctl->u.mem_map.nr_mem_regions = d->arch.mem_map.nr_mem_regions;
+
+        if ( copy_to_guest(domctl->u.mem_map.buffer,
+                           d->arch.mem_map.regions, nr_regions) ||
+             __copy_field_to_guest(u_domctl, domctl,
+                                   u.mem_map.nr_mem_regions) )
+            rc = -EFAULT;
+
+        return rc;
+    }
     default:
         return subarch_do_domctl(domctl, d, u_domctl);
     }
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index f1d72c6e48..a559a9e499 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -10,6 +10,7 @@
 #include <asm/gic.h>
 #include <asm/vgic.h>
 #include <asm/vpl011.h>
+#include <public/domctl.h>
 #include <public/hvm/params.h>
 
 struct hvm_domain
@@ -59,6 +60,11 @@ struct paging_domain {
     unsigned long p2m_total_pages;
 };
 
+struct mem_map_domain {
+    unsigned int nr_mem_regions;
+    struct xen_mem_region regions[XEN_MAX_MEM_REGIONS];
+};
+
 struct arch_domain
 {
 #ifdef CONFIG_ARM_64
@@ -77,6 +83,8 @@ struct arch_domain
 
     struct paging_domain paging;
 
+    struct mem_map_domain mem_map;
+
     struct vmmio vmmio;
 
     /* Continuable domain_relinquish_resources(). */
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e167e14f8d..eba61e1ac6 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -223,6 +223,13 @@ typedef uint64_t xen_pfn_t;
  */
 #define XEN_LEGACY_MAX_VCPUS 1
 
+/*
+ * Maximum number of memory map regions for guest memory layout.
+ * Used by XEN_DOMCTL_get_mem_map, currently there is only one region
+ * for the guest magic pages.
+ */
+#define XEN_MAX_MEM_REGIONS 1
+
 typedef uint64_t xen_ulong_t;
 #define PRI_xen_ulong PRIx64
 
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b..974c07ee61 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -946,6 +946,33 @@ struct xen_domctl_paging_mempool {
     uint64_aligned_t size; /* Size in bytes. */
 };
 
+#ifndef XEN_MAX_MEM_REGIONS
+#define XEN_MAX_MEM_REGIONS 1
+#endif
+
+struct xen_mem_region {
+    uint64_aligned_t start;
+    uint64_aligned_t size;
+#define XEN_MEM_REGION_DEFAULT    0
+#define XEN_MEM_REGION_MAGIC      1
+    uint32_t         type;
+    /* Must be zero */
+    uint32_t         pad;
+};
+typedef struct xen_mem_region xen_mem_region_t;
+DEFINE_XEN_GUEST_HANDLE(xen_mem_region_t);
+
+struct xen_domctl_mem_map {
+    /* IN & OUT */
+    uint32_t         nr_mem_regions;
+    /* Must be zero */
+    uint32_t         pad;
+    /* OUT */
+    XEN_GUEST_HANDLE_64(xen_mem_region_t) buffer;
+};
+typedef struct xen_domctl_mem_map xen_domctl_mem_map_t;
+DEFINE_XEN_GUEST_HANDLE(xen_domctl_mem_map_t);
+
 #if defined(__i386__) || defined(__x86_64__)
 struct xen_domctl_vcpu_msr {
     uint32_t         index;
@@ -1277,6 +1304,7 @@ struct xen_domctl {
 #define XEN_DOMCTL_vmtrace_op                    84
 #define XEN_DOMCTL_get_paging_mempool_size       85
 #define XEN_DOMCTL_set_paging_mempool_size       86
+#define XEN_DOMCTL_get_mem_map                   87
 #define XEN_DOMCTL_gdbsx_guestmemio            1000
 #define XEN_DOMCTL_gdbsx_pausevcpu             1001
 #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1339,6 +1367,7 @@ struct xen_domctl {
         struct xen_domctl_vuart_op          vuart_op;
         struct xen_domctl_vmtrace_op        vmtrace_op;
         struct xen_domctl_paging_mempool    paging_mempool;
+        struct xen_domctl_mem_map           mem_map;
         uint8_t                             pad[128];
     } u;
 };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:54:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:54:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702122.1096971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3V1-0004dj-Nv; Tue, 09 Apr 2024 04:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702122.1096971; Tue, 09 Apr 2024 04:54:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3V1-0004dT-Jw; Tue, 09 Apr 2024 04:54:23 +0000
Received: by outflank-mailman (input) for mailman id 702122;
 Tue, 09 Apr 2024 04:54:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5At3=LO=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ru3Uy-0003cd-Rh
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 04:54:20 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2417::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 39bd7cc6-f62d-11ee-9150-f14010f3f246;
 Tue, 09 Apr 2024 06:54:19 +0200 (CEST)
Received: from CY8PR12CA0009.namprd12.prod.outlook.com (2603:10b6:930:4e::29)
 by DM4PR12MB6302.namprd12.prod.outlook.com (2603:10b6:8:a4::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 04:54:16 +0000
Received: from CY4PEPF0000EDD1.namprd03.prod.outlook.com
 (2603:10b6:930:4e:cafe::77) by CY8PR12CA0009.outlook.office365.com
 (2603:10b6:930:4e::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.37 via Frontend
 Transport; Tue, 9 Apr 2024 04:54:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD1.mail.protection.outlook.com (10.167.241.205) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 04:54:16 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 23:54:16 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 21:54:15 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 23:54: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: 39bd7cc6-f62d-11ee-9150-f14010f3f246
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QAH/BlyQwyb87yrM1+QxR6jc1DNMYeHDgBiQTU96fLRRkfwksdJHORgw47ca/ILch/356WcFcF6bEVd2lrSzbue9sLujelXK5qIioyAA0I2qGaW/EkzAyVISsWoqqs4DCUMukA6z5qM3xbuHLeRzaF8dpmyms4bv46M38IlVuOSTb+hvKd26bXIyevIw3QombKUvJH5FkfibMIlKM/d2Z7vlt5jNpWGJI6/abf2EgzrVVx4Fz2MuNznKt29YyR4DT8+IZ6X4HPgZjkbsY+WKirFGqi0dy2xXZUS4ksWyL5fnC+M/+Xa9LO0pcER8PFS6G0bfnSaK560yeS48lkhzSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AqNwO/2J9JqnXyE4dOIjQwE9fUs3oiN1zYGcYi0aIXk=;
 b=IdrYGP8E3+vvXIsofL1ebmz0J3Vz+lo0U4JIq0ZxBjqUJnBaWaELqLH8g87nwmq2xAa+U5OPs5kjuFyo0SMqY55dAUxmYz94zx/TLbAXi2F48cCFBX9SBlvQXOLdeJ9KcHIK3CJdbR/tH/TlgHIUZ6c+T4qFXJ1GXgjedS/mGCz3NGppHsVY2B97amD411UhEuWD54UW7ALL+v0IXtiq+fNUIUV13YMUtGe6AishONKOYCprG20tGbkcyR+Ugem0yKKwDKVngIOO7zGgQXkBoixh+za0PifwTv9jHsBMtGvpvCx7fp2Td9A9MGx67yA7mkA93+kKsEQrrTj3GuONoA==
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=AqNwO/2J9JqnXyE4dOIjQwE9fUs3oiN1zYGcYi0aIXk=;
 b=26a8KSJYHFhKTbY9J/wmjuKm6l6L5HNxlCXlLYLJ4fvimG70m3/4RwlUSAcm9xRVcuTZ9DnTKzGS1uXBbSA/6qrkbZt51TpxHAMs0PK0KCuVg/F92zFpsUj42XX8VyAKNDp7ml3UWn1RHwGuega+9EIm+jGIHs+3HmyxvceoJEs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>, Alec Kwapis <alec.kwapis@medtronic.com>
Subject: [PATCH v4 4/5] xen/memory, tools: Avoid hardcoding GUEST_MAGIC_BASE in init-dom0less
Date: Tue, 9 Apr 2024 12:53:56 +0800
Message-ID: <20240409045357.236802-5-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409045357.236802-1-xin.wang2@amd.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD1:EE_|DM4PR12MB6302:EE_
X-MS-Office365-Filtering-Correlation-Id: ff42c0e3-ea5e-4321-3914-08dc58511c34
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+RVvzMd7Q96qXuF2nq68C7bPo/+FpPwkszuJg/hM5vmYMwrZn6LQ9zRIBjHXTJPC4YoSbVQr/wT7iF7JQdmMJH/hLFGc23GuG5q7RwrA7BB8T3xvOxMS3wZaw2Ct8rEXeqOvp+TwSeu2Cud4kqBkeZmGsjaqSWilQI1aUQScRqo63V2r5u8Zyz4anQMONTB7V4Dum0OFpkPGITR3wNQvOB/ll+K1I2QIsghEsVgU6A9wSHATiNajd/D/P2D5ztnfWueZVgYm56Pxhsy60mugYGMf3CYPzwVrFzhFqdkGRGnAmCjzSgTldbTl0F8OfzuEBZajveOKVv1kRQq6+OmI/AmN5SdRAmBLrPRYv9BOVuuFblXYEaSpPl2d88W5EzBQPs3MpMfpWZYTNKimNdLklnECpJxSWHOv8g4A8vHki+XJi3G3bH9P+vAN8nuTIGst84iArkUR1LZrmTAqID6lQ9Sw7LYE7sv1+BiyLDohU/8T0FlwwOalxfM+QyJcGYRbmMouYhlV5kaVPsv/sz36gjgvOvSgzWldJ4++TyC2AKidKXBM/69+u5Ce94ep951EyNzxkS0Ud+U6UYoe32MHl+VXGUdafdS0ZyYHnYMYVpRn27e2CaU2r9jSShMcJYE61OfwkBh+3GFnRRAbupPaaK8wqabT/mMxKLA60hJVOG7+TDWow+Xhl5+7oAQaH5Eo5DNSWRzUWa9kgHW+5+p/qTV5gnL+wEs4YcEbkgOzsdF1OmzRbCxTq0MrjnZGlA56
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 04:54:16.7453
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ff42c0e3-ea5e-4321-3914-08dc58511c34
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD1.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6302

Currently the GUEST_MAGIC_BASE in the init-dom0less application is
hardcoded, which will lead to failures for 1:1 direct-mapped Dom0less
DomUs.

Instead of hardcoding the guest magic pages region, use the
XEN_DOMCTL_get_mem_map domctl to get the start address of the guest
magic pages region. Add a new sub-op XENMEM_populate_physmap_heap_alloc
and the MEMF_force_heap_alloc flag to force populate_physmap() to
allocate page from domheap instead of using 1:1 or static allocated
pages to map the magic pages.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v4:
- Use the new subop.
- Add assert to check the flag isn't already set when coming back from
  construct_memop_from_reservation().
- Use &= to clear the flag instead of clear_bit().
- Move the alias to xen/common/memory.c
v3:
- Don't ignore the error from xc_get_domain_mem_map().
- Re-purposing the _MEMF_no_refcount as _MEMF_force_heap_alloc to
  avoid introduction of a new, single-use flag.
- Reject other reservation sub-ops to use the newly added flag.
- Replace all the GUEST_MAGIC_BASE usages.
v2:
- New patch
---
 tools/helpers/init-dom0less.c | 35 +++++++++++-----
 tools/include/xenctrl.h       |  7 ++++
 tools/libs/ctrl/xc_domain.c   | 79 ++++++++++++++++++++++++++---------
 xen/common/memory.c           | 30 +++++++++++--
 xen/include/public/memory.h   |  3 +-
 5 files changed, 120 insertions(+), 34 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index fee93459c4..dccab7b29b 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -19,24 +19,42 @@
 #define XENSTORE_PFN_OFFSET 1
 #define STR_MAX_LENGTH 128
 
+static xen_pfn_t xs_page_base;
+static xen_pfn_t xs_page_p2m;
+
 static int alloc_xs_page(struct xc_interface_core *xch,
                          libxl_dominfo *info,
                          uint64_t *xenstore_pfn)
 {
-    int rc;
-    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
-    xen_pfn_t p2m = (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET;
+    int rc, i;
+    uint32_t nr_regions = XEN_MAX_MEM_REGIONS;
+    struct xen_mem_region mem_regions[XEN_MAX_MEM_REGIONS] = {0};
+
+    rc = xc_get_domain_mem_map(xch, info->domid, mem_regions, &nr_regions);
+    if (rc < 0)
+        return rc;
+
+    for ( i = 0; i < nr_regions; i++ )
+    {
+        if ( mem_regions[i].type == XEN_MEM_REGION_MAGIC )
+        {
+            xs_page_base = mem_regions[i].start >> XC_PAGE_SHIFT;
+            xs_page_p2m = (mem_regions[i].start >> XC_PAGE_SHIFT) +
+                          XENSTORE_PFN_OFFSET;
+        }
+    }
 
     rc = xc_domain_setmaxmem(xch, info->domid,
                              info->max_memkb + (XC_PAGE_SIZE/1024));
     if (rc < 0)
         return rc;
 
-    rc = xc_domain_populate_physmap_exact(xch, info->domid, 1, 0, 0, &p2m);
+    rc = xc_domain_populate_physmap_heap_exact(xch, info->domid, 1, 0, 0,
+                                               &xs_page_p2m);
     if (rc < 0)
         return rc;
 
-    *xenstore_pfn = base + XENSTORE_PFN_OFFSET;
+    *xenstore_pfn = xs_page_base + XENSTORE_PFN_OFFSET;
     rc = xc_clear_domain_page(xch, info->domid, *xenstore_pfn);
     if (rc < 0)
         return rc;
@@ -145,8 +163,7 @@ static int create_xenstore(struct xs_handle *xsh,
     rc = snprintf(target_memkb_str, STR_MAX_LENGTH, "%"PRIu64, info->current_memkb);
     if (rc < 0 || rc >= STR_MAX_LENGTH)
         return rc;
-    rc = snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
-                  (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
+    rc = snprintf(ring_ref_str, STR_MAX_LENGTH, "%"PRIu_xen_pfn, xs_page_p2m);
     if (rc < 0 || rc >= STR_MAX_LENGTH)
         return rc;
     rc = snprintf(xenstore_port_str, STR_MAX_LENGTH, "%u", xenstore_port);
@@ -282,9 +299,7 @@ static int init_domain(struct xs_handle *xsh,
     if (rc)
         err(1, "writing to xenstore");
 
-    rc = xs_introduce_domain(xsh, info->domid,
-            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
-            xenstore_evtchn);
+    rc = xs_introduce_domain(xsh, info->domid, xs_page_p2m, xenstore_evtchn);
     if (!rc)
         err(1, "xs_introduce_domain");
     return 0;
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index b25e9772a2..c1a601813a 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1342,6 +1342,13 @@ int xc_domain_populate_physmap(xc_interface *xch,
                                unsigned int mem_flags,
                                xen_pfn_t *extent_start);
 
+int xc_domain_populate_physmap_heap_exact(xc_interface *xch,
+                                          uint32_t domid,
+                                          unsigned long nr_extents,
+                                          unsigned int extent_order,
+                                          unsigned int mem_flags,
+                                          xen_pfn_t *extent_start);
+
 int xc_domain_populate_physmap_exact(xc_interface *xch,
                                      uint32_t domid,
                                      unsigned long nr_extents,
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index 4dba55d01d..82c1554613 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -916,6 +916,36 @@ int xc_domain_nr_gpfns(xc_interface *xch, uint32_t domid, xen_pfn_t *gpfns)
     return rc;
 }
 
+static int xc_populate_physmap_cmd(xc_interface *xch,
+                                   unsigned int cmd,
+                                   uint32_t domid,
+                                   unsigned long nr_extents,
+                                   unsigned int extent_order,
+                                   unsigned int mem_flags,
+                                   xen_pfn_t *extent_start)
+{
+    int err;
+    DECLARE_HYPERCALL_BOUNCE(extent_start, nr_extents * sizeof(*extent_start), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
+    struct xen_memory_reservation reservation = {
+        .nr_extents   = nr_extents,
+        .extent_order = extent_order,
+        .mem_flags    = mem_flags,
+        .domid        = domid
+    };
+
+    if ( xc_hypercall_bounce_pre(xch, extent_start) )
+    {
+        PERROR("Could not bounce memory for XENMEM_populate_physmap hypercall");
+        return -1;
+    }
+    set_xen_guest_handle(reservation.extent_start, extent_start);
+
+    err = xc_memory_op(xch, cmd, &reservation, sizeof(reservation));
+
+    xc_hypercall_bounce_post(xch, extent_start);
+    return err;
+}
+
 int xc_domain_increase_reservation(xc_interface *xch,
                                    uint32_t domid,
                                    unsigned long nr_extents,
@@ -1135,26 +1165,9 @@ int xc_domain_populate_physmap(xc_interface *xch,
                                unsigned int mem_flags,
                                xen_pfn_t *extent_start)
 {
-    int err;
-    DECLARE_HYPERCALL_BOUNCE(extent_start, nr_extents * sizeof(*extent_start), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
-    struct xen_memory_reservation reservation = {
-        .nr_extents   = nr_extents,
-        .extent_order = extent_order,
-        .mem_flags    = mem_flags,
-        .domid        = domid
-    };
-
-    if ( xc_hypercall_bounce_pre(xch, extent_start) )
-    {
-        PERROR("Could not bounce memory for XENMEM_populate_physmap hypercall");
-        return -1;
-    }
-    set_xen_guest_handle(reservation.extent_start, extent_start);
-
-    err = xc_memory_op(xch, XENMEM_populate_physmap, &reservation, sizeof(reservation));
-
-    xc_hypercall_bounce_post(xch, extent_start);
-    return err;
+    return xc_populate_physmap_cmd(xch, XENMEM_populate_physmap, domid,
+                                   nr_extents, extent_order, mem_flags,
+                                   extent_start);
 }
 
 int xc_domain_populate_physmap_exact(xc_interface *xch,
@@ -1182,6 +1195,32 @@ int xc_domain_populate_physmap_exact(xc_interface *xch,
     return err;
 }
 
+int xc_domain_populate_physmap_heap_exact(xc_interface *xch,
+                                          uint32_t domid,
+                                          unsigned long nr_extents,
+                                          unsigned int extent_order,
+                                          unsigned int mem_flags,
+                                          xen_pfn_t *extent_start)
+{
+    int err;
+
+    err = xc_populate_physmap_cmd(xch, XENMEM_populate_physmap_heap_alloc,
+                                  domid, nr_extents, extent_order, mem_flags,
+                                  extent_start);
+    if ( err == nr_extents )
+        return 0;
+
+    if ( err >= 0 )
+    {
+        DPRINTF("Failed allocation for dom %d: %ld extents of order %d\n",
+                domid, nr_extents, extent_order);
+        errno = EBUSY;
+        err = -1;
+    }
+
+    return err;
+}
+
 int xc_domain_memory_exchange_pages(xc_interface *xch,
                                     uint32_t domid,
                                     unsigned long nr_in_extents,
diff --git a/xen/common/memory.c b/xen/common/memory.c
index b4593f5f45..a4733869c2 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -155,6 +155,14 @@ static void increase_reservation(struct memop_args *a)
     a->nr_done = i;
 }
 
+/*
+ * Alias of _MEMF_no_refcount to avoid introduction of a new, single-use flag.
+ * This flag should be used for populate_physmap() only as a re-purposing of
+ * _MEMF_no_refcount to force a non-1:1 allocation from domheap.
+ */
+#define _MEMF_force_heap_alloc _MEMF_no_refcount
+#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
+
 static void populate_physmap(struct memop_args *a)
 {
     struct page_info *page;
@@ -219,7 +227,8 @@ static void populate_physmap(struct memop_args *a)
         }
         else
         {
-            if ( is_domain_direct_mapped(d) )
+            if ( is_domain_direct_mapped(d) &&
+                 !(a->memflags & MEMF_force_heap_alloc) )
             {
                 mfn = _mfn(gpfn);
 
@@ -246,7 +255,8 @@ static void populate_physmap(struct memop_args *a)
 
                 mfn = _mfn(gpfn);
             }
-            else if ( is_domain_using_staticmem(d) )
+            else if ( is_domain_using_staticmem(d) &&
+                      !(a->memflags & MEMF_force_heap_alloc) )
             {
                 /*
                  * No easy way to guarantee the retrieved pages are contiguous,
@@ -271,6 +281,14 @@ static void populate_physmap(struct memop_args *a)
             }
             else
             {
+                /*
+                 * Avoid passing MEMF_force_heap_alloc down to
+                 * alloc_domheap_pages() where the meaning would be the
+                 * original MEMF_no_refcount.
+                 */
+                if ( unlikely(a->memflags & MEMF_force_heap_alloc) )
+                    a->memflags &= ~MEMF_force_heap_alloc;
+
                 page = alloc_domheap_pages(d, a->extent_order, a->memflags);
 
                 if ( unlikely(!page) )
@@ -1404,6 +1422,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
     case XENMEM_increase_reservation:
     case XENMEM_decrease_reservation:
+    case XENMEM_populate_physmap_heap_alloc:
     case XENMEM_populate_physmap:
         if ( copy_from_guest(&reservation, arg, 1) )
             return start_extent;
@@ -1433,6 +1452,11 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
              && (reservation.mem_flags & XENMEMF_populate_on_demand) )
             args.memflags |= MEMF_populate_on_demand;
 
+        /* Assert flag is not set from construct_memop_from_reservation(). */
+        ASSERT(!(args.memflags & MEMF_force_heap_alloc));
+        if ( op == XENMEM_populate_physmap_heap_alloc )
+            args.memflags |= MEMF_force_heap_alloc;
+
         if ( xsm_memory_adjust_reservation(XSM_TARGET, curr_d, d) )
         {
             rcu_unlock_domain(d);
@@ -1453,7 +1477,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         case XENMEM_decrease_reservation:
             decrease_reservation(&args);
             break;
-        default: /* XENMEM_populate_physmap */
+        default: /* XENMEM_populate_{physmap, physmap_heap_alloc} */
             populate_physmap(&args);
             break;
         }
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 5e545ae9a4..5e79992671 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -21,6 +21,7 @@
 #define XENMEM_increase_reservation 0
 #define XENMEM_decrease_reservation 1
 #define XENMEM_populate_physmap     6
+#define XENMEM_populate_physmap_heap_alloc 29
 
 #if __XEN_INTERFACE_VERSION__ >= 0x00030209
 /*
@@ -731,7 +732,7 @@ struct xen_vnuma_topology_info {
 typedef struct xen_vnuma_topology_info xen_vnuma_topology_info_t;
 DEFINE_XEN_GUEST_HANDLE(xen_vnuma_topology_info_t);
 
-/* Next available subop number is 29 */
+/* Next available subop number is 30 */
 
 #endif /* __XEN_PUBLIC_MEMORY_H__ */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:54:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:54:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702123.1096981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3V6-00050H-V6; Tue, 09 Apr 2024 04:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702123.1096981; Tue, 09 Apr 2024 04: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 1ru3V6-000502-S9; Tue, 09 Apr 2024 04:54:28 +0000
Received: by outflank-mailman (input) for mailman id 702123;
 Tue, 09 Apr 2024 04:54: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=5At3=LO=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ru3V4-0003cc-Qd
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 04:54:26 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3cb58b57-f62d-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 06:54:25 +0200 (CEST)
Received: from CH2PR10CA0027.namprd10.prod.outlook.com (2603:10b6:610:4c::37)
 by SJ2PR12MB9209.namprd12.prod.outlook.com (2603:10b6:a03:558::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 04:54:19 +0000
Received: from CH1PEPF0000AD77.namprd04.prod.outlook.com
 (2603:10b6:610:4c:cafe::90) by CH2PR10CA0027.outlook.office365.com
 (2603:10b6:610:4c::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.28 via Frontend
 Transport; Tue, 9 Apr 2024 04:54:18 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000AD77.mail.protection.outlook.com (10.167.244.55) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 04:54:18 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 8 Apr
 2024 23:54:18 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 8 Apr 2024 23:54: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: 3cb58b57-f62d-11ee-843a-3f19d20e7db6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b/2AthjBxPKlrB+mUWTrxXkzZIcuyxt7a6wUCo1JnuIBaICh27paQZZ7vSuU3iICU4buFyMJT17rGRa8wACpFWFPaMBsjMWbonsfr1yWkvao299Uj9PJ5N58ng/C6FO1Ya/4WRMxeo2ImJibFHStq0GWI5uE1ThpbMjn3pUlQPxeQK2d+F1okqDE3anWPpaGMkTa48bb7eMSR64GWunQXpiqk2otRaAbjAtKXgXVIUAppIfEoyUyY37iujEITv1WRRpmrxLJlcTalsV/c8OwUAryxB1BwYkDE38ywejGFsgW97G4lOBaf9cWDTLofz2x39nELkqox+iw0DLcIh2oqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Li9+zc6kRUe5iMzs7R2wr0uz8YAnXguSopUS5SYA47g=;
 b=OqWfeC/9Lfqj6GaqQ1MEbS8PUuklDMKThYUhLNOUeJOtegcdi33H9WYEx6jyzns+DgI0ItFk2zKXmxDFcizKB0EHDAl1k5TAbcVzhDZiVeM1lnlwOScWDf7ju7tHp9yUk8Cykam0eWXlSmPa7TEw0r9IoNqkD1Ab3SCYkgp4+vDfTi61aK5W6o6gSSRqptEO5gaEfHzoywokIcTFTq70BtM+mLNZNlJU8AV2x1IKjIG0GxHrY39hckJeGnOD51FTNH8CE9cSeF/fcgLFAT7OaobbbokmVlkseNP16OVsaWykQRodszSNFyvMLtQpn7iXVbyOZkX25yYOI1jYrO/NFA==
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=Li9+zc6kRUe5iMzs7R2wr0uz8YAnXguSopUS5SYA47g=;
 b=w6gdL+0sGsPtVfZBVjgJElGDFfj24dsXE67NCBVamrnpIk6gt7xCa7ncoah6PrkXBrQEIMSTJjgfuXtI3W1n1VDeuV/Yqz3fY3CKmGfij9FuhS7zyy6Ogz8jCzPAw2nwiIFjzw6eh9XPaQvNhmieTsXNXexsLITWswplLzCQ/KE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v4 5/5] tools/libs/ctrl: Simplify xc helpers related to populate_physmap()
Date: Tue, 9 Apr 2024 12:53:57 +0800
Message-ID: <20240409045357.236802-6-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409045357.236802-1-xin.wang2@amd.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD77:EE_|SJ2PR12MB9209:EE_
X-MS-Office365-Filtering-Correlation-Id: a57aa47a-1741-4c2e-d7e6-08dc58511d75
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ju7yXtu7rExQtyNrbLFzy1nLd45LH7F5tAHTYN1CEXy52IeDfhavaPKeaRL0h6WNjoshZju7efnBC1EEEj/Z+QKk1AD66FLuI5uqa905dDAhwO4U0ENC60ts7HIcg8H4FhnVRD4kGHQhfIimXoO1Gs7M1PNHgcZWWCR80kma74yMp2YBdgCOYNc7W1GFXHO+Twkj+J3cDgzs7bRlH3cZ62WGn0biRgZESLn0suDLNawx19O9gznU1xEAC2j0ZhRBgWuHHPmnbINctPGkuz/TZMYf3sHqrsarywQnjnb/VT3/B/RJWBXo6SbuhJjm9d4viui+16RMiFBydu9a6B1rFyxw47ggt/PizjLRPDjyOZPk0p6NIXeSjv5OGzWojsd49M+5d12T4oWO4WLLNvzdmCDEsRWsSt2YsXAyTmD524BUzlqz7WP+zB1/sZ/lGPjXaluJ6qG8QQ8B9JlzakSnZB80GYpXk8WoYJNnlk4xtnfcpOUc3P5BemWZpAFfsNgVLDJPWgeGjoB3LdeeXnru1T1NKfqizDiWkoNI6rSGhbY30Ihvaz7r/Xm0/Gu6xV+E9IUOWiMgOsAST+iS9hg5lthWTMqxLQtEC2/VKMpRrTK38Ubv6DG3Rcn/s1mFz0G/W3XI4xLsOFf/GGRqqESOgDOjQzOri9skOeoIJeowXAS4L9xQ4O6GRPXp6AFgGR6kWaClYHFV2TAHEKSn7/6Kqm+HuZmsxUk/GOv02BKcF/EPQDAvRWxfu0DWBAeKsHtU
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 04:54:18.9000
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a57aa47a-1741-4c2e-d7e6-08dc58511d75
X-MS-Exchange-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:
	CH1PEPF0000AD77.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9209

There are currently a lot of xc helpers to call populate_physmap()
in the hypervisor with different parameters, such as:
- xc_domain_{increase, decrease}_{reservation, reservation_exact}
- xc_domain_populate_physmap
- xc_domain_populate_{physmap_exact, physmap_heap_exact}

Most of them share the same and duplicated logic.

Extract the duplicated code of these xc helpers to local helper
functions to simplify the code.

No functional change intended.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v4:
- New patch.
---
 tools/libs/ctrl/xc_domain.c | 178 +++++++++++++-----------------------
 1 file changed, 62 insertions(+), 116 deletions(-)

diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index 82c1554613..d023596bed 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -935,7 +935,7 @@ static int xc_populate_physmap_cmd(xc_interface *xch,
 
     if ( xc_hypercall_bounce_pre(xch, extent_start) )
     {
-        PERROR("Could not bounce memory for XENMEM_populate_physmap hypercall");
+        PERROR("Could not bounce memory for hypercall %u", cmd);
         return -1;
     }
     set_xen_guest_handle(reservation.extent_start, extent_start);
@@ -946,39 +946,8 @@ static int xc_populate_physmap_cmd(xc_interface *xch,
     return err;
 }
 
-int xc_domain_increase_reservation(xc_interface *xch,
-                                   uint32_t domid,
-                                   unsigned long nr_extents,
-                                   unsigned int extent_order,
-                                   unsigned int mem_flags,
-                                   xen_pfn_t *extent_start)
-{
-    int err;
-    DECLARE_HYPERCALL_BOUNCE(extent_start, nr_extents * sizeof(*extent_start), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
-    struct xen_memory_reservation reservation = {
-        .nr_extents   = nr_extents,
-        .extent_order = extent_order,
-        .mem_flags    = mem_flags,
-        .domid        = domid
-    };
-
-    /* may be NULL */
-    if ( xc_hypercall_bounce_pre(xch, extent_start) )
-    {
-        PERROR("Could not bounce memory for XENMEM_increase_reservation hypercall");
-        return -1;
-    }
-
-    set_xen_guest_handle(reservation.extent_start, extent_start);
-
-    err = xc_memory_op(xch, XENMEM_increase_reservation, &reservation, sizeof(reservation));
-
-    xc_hypercall_bounce_post(xch, extent_start);
-
-    return err;
-}
-
-int xc_domain_increase_reservation_exact(xc_interface *xch,
+static int xc_populate_physmap_cmd_exact(xc_interface *xch,
+                                         unsigned int cmd,
                                          uint32_t domid,
                                          unsigned long nr_extents,
                                          unsigned int extent_order,
@@ -987,58 +956,75 @@ int xc_domain_increase_reservation_exact(xc_interface *xch,
 {
     int err;
 
-    err = xc_domain_increase_reservation(xch, domid, nr_extents,
-                                         extent_order, mem_flags, extent_start);
-
+    err = xc_populate_physmap_cmd(xch, cmd, domid, nr_extents,
+                                  extent_order, mem_flags, extent_start);
     if ( err == nr_extents )
         return 0;
 
     if ( err >= 0 )
     {
-        DPRINTF("Failed allocation for dom %d: "
+        switch ( cmd )
+        {
+        case XENMEM_increase_reservation:
+            DPRINTF("Failed allocation for dom %d: "
                 "%ld extents of order %d, mem_flags %x\n",
                 domid, nr_extents, extent_order, mem_flags);
-        errno = ENOMEM;
+            errno = ENOMEM;
+            break;
+        case XENMEM_decrease_reservation:
+            DPRINTF("Failed deallocation for dom %d: %ld extents of order %d\n",
+                    domid, nr_extents, extent_order);
+            errno = EINVAL;
+            break;
+        case XENMEM_populate_physmap_heap_alloc:
+        case XENMEM_populate_physmap:
+            DPRINTF("Failed allocation for dom %d: %ld extents of order %d\n",
+                    domid, nr_extents, extent_order);
+            errno = EBUSY;
+            break;
+        default:
+            DPRINTF("Invalid cmd %u\n", cmd);
+            errno = EINVAL;
+            break;
+        }
         err = -1;
     }
 
     return err;
 }
 
-int xc_domain_decrease_reservation(xc_interface *xch,
+int xc_domain_increase_reservation(xc_interface *xch,
                                    uint32_t domid,
                                    unsigned long nr_extents,
                                    unsigned int extent_order,
+                                   unsigned int mem_flags,
                                    xen_pfn_t *extent_start)
 {
-    int err;
-    DECLARE_HYPERCALL_BOUNCE(extent_start, nr_extents * sizeof(*extent_start), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
-    struct xen_memory_reservation reservation = {
-        .nr_extents   = nr_extents,
-        .extent_order = extent_order,
-        .mem_flags    = 0,
-        .domid        = domid
-    };
-
-    if ( extent_start == NULL )
-    {
-        DPRINTF("decrease_reservation extent_start is NULL!\n");
-        errno = EINVAL;
-        return -1;
-    }
-
-    if ( xc_hypercall_bounce_pre(xch, extent_start) )
-    {
-        PERROR("Could not bounce memory for XENMEM_decrease_reservation hypercall");
-        return -1;
-    }
-    set_xen_guest_handle(reservation.extent_start, extent_start);
-
-    err = xc_memory_op(xch, XENMEM_decrease_reservation, &reservation, sizeof(reservation));
+    return xc_populate_physmap_cmd(xch, XENMEM_increase_reservation, domid,
+                                   nr_extents, extent_order, mem_flags,
+                                   extent_start);
+}
 
-    xc_hypercall_bounce_post(xch, extent_start);
+int xc_domain_increase_reservation_exact(xc_interface *xch,
+                                         uint32_t domid,
+                                         unsigned long nr_extents,
+                                         unsigned int extent_order,
+                                         unsigned int mem_flags,
+                                         xen_pfn_t *extent_start)
+{
+    return xc_populate_physmap_cmd_exact(xch, XENMEM_increase_reservation,
+                                         domid, nr_extents, extent_order,
+                                         mem_flags, extent_start);
+}
 
-    return err;
+int xc_domain_decrease_reservation(xc_interface *xch,
+                                   uint32_t domid,
+                                   unsigned long nr_extents,
+                                   unsigned int extent_order,
+                                   xen_pfn_t *extent_start)
+{
+    return xc_populate_physmap_cmd(xch, XENMEM_decrease_reservation, domid,
+                                   nr_extents, extent_order, 0, extent_start);
 }
 
 int xc_domain_decrease_reservation_exact(xc_interface *xch,
@@ -1047,23 +1033,9 @@ int xc_domain_decrease_reservation_exact(xc_interface *xch,
                                          unsigned int extent_order,
                                          xen_pfn_t *extent_start)
 {
-    int err;
-
-    err = xc_domain_decrease_reservation(xch, domid, nr_extents,
-                                         extent_order, extent_start);
-
-    if ( err == nr_extents )
-        return 0;
-
-    if ( err >= 0 )
-    {
-        DPRINTF("Failed deallocation for dom %d: %ld extents of order %d\n",
-                domid, nr_extents, extent_order);
-        errno = EINVAL;
-        err = -1;
-    }
-
-    return err;
+    return xc_populate_physmap_cmd_exact(xch, XENMEM_decrease_reservation,
+                                         domid, nr_extents, extent_order,
+                                         0, extent_start);
 }
 
 int xc_domain_add_to_physmap(xc_interface *xch,
@@ -1177,22 +1149,9 @@ int xc_domain_populate_physmap_exact(xc_interface *xch,
                                      unsigned int mem_flags,
                                      xen_pfn_t *extent_start)
 {
-    int err;
-
-    err = xc_domain_populate_physmap(xch, domid, nr_extents,
-                                     extent_order, mem_flags, extent_start);
-    if ( err == nr_extents )
-        return 0;
-
-    if ( err >= 0 )
-    {
-        DPRINTF("Failed allocation for dom %d: %ld extents of order %d\n",
-                domid, nr_extents, extent_order);
-        errno = EBUSY;
-        err = -1;
-    }
-
-    return err;
+    return xc_populate_physmap_cmd_exact(xch, XENMEM_populate_physmap,
+                                         domid, nr_extents, extent_order,
+                                         mem_flags, extent_start);
 }
 
 int xc_domain_populate_physmap_heap_exact(xc_interface *xch,
@@ -1202,23 +1161,10 @@ int xc_domain_populate_physmap_heap_exact(xc_interface *xch,
                                           unsigned int mem_flags,
                                           xen_pfn_t *extent_start)
 {
-    int err;
-
-    err = xc_populate_physmap_cmd(xch, XENMEM_populate_physmap_heap_alloc,
-                                  domid, nr_extents, extent_order, mem_flags,
-                                  extent_start);
-    if ( err == nr_extents )
-        return 0;
-
-    if ( err >= 0 )
-    {
-        DPRINTF("Failed allocation for dom %d: %ld extents of order %d\n",
-                domid, nr_extents, extent_order);
-        errno = EBUSY;
-        err = -1;
-    }
-
-    return err;
+    return xc_populate_physmap_cmd_exact(xch,
+                                         XENMEM_populate_physmap_heap_alloc,
+                                         domid, nr_extents, extent_order,
+                                         mem_flags, extent_start);
 }
 
 int xc_domain_memory_exchange_pages(xc_interface *xch,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 04:59:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 04:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702133.1096991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3aF-00070F-Lu; Tue, 09 Apr 2024 04:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702133.1096991; Tue, 09 Apr 2024 04:59:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru3aF-000708-Ih; Tue, 09 Apr 2024 04:59:47 +0000
Received: by outflank-mailman (input) for mailman id 702133;
 Tue, 09 Apr 2024 04:59:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xQG8=LO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1ru3aE-000702-65
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 04:59:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id faf11f4c-f62d-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 06:59:44 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 874924EE0739;
 Tue,  9 Apr 2024 06:59:43 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faf11f4c-f62d-11ee-843a-3f19d20e7db6
MIME-Version: 1.0
Date: Tue, 09 Apr 2024 06:59:43 +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,
 Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn?=
 =?UTF-8?Q?=C3=A9?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 3/9] x86/irq: tidy switch statement and address
 MISRA violation
In-Reply-To: <alpine.DEB.2.22.394.2404081712520.2245130@ubuntu-linux-20-04-desktop>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <d1bdd54b6751a047626b0271fff882484f98ea1a.1712305581.git.nicola.vetrini@bugseng.com>
 <dfa9e320-266a-49aa-8d90-5e0c63ab1db6@suse.com>
 <alpine.DEB.2.22.394.2404081712520.2245130@ubuntu-linux-20-04-desktop>
Message-ID: <a5dacef22c839d344f04e31819cbfcb8@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-04-09 02:14, Stefano Stabellini wrote:
> On Mon, 8 Apr 2024, Jan Beulich wrote:
>> On 05.04.2024 11:14, Nicola Vetrini wrote:
>> > Remove unneded blank lines between switch clauses.
>> 
>> NAK for this part again.
>> 
>> > --- a/xen/arch/x86/irq.c
>> > +++ b/xen/arch/x86/irq.c
>> > @@ -2882,7 +2882,7 @@ int allocate_and_map_gsi_pirq(struct domain *d, int index, int *pirq_p)
>> >  int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
>> >                                int type, struct msi_info *msi)
>> >  {
>> > -    int irq, pirq, ret;
>> > +    int irq = -1, pirq, ret;
>> >
>> >      ASSERT_PDEV_LIST_IS_READ_LOCKED(d);
>> >
>> > @@ -2892,12 +2892,10 @@ int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
>> >          if ( !msi->table_base )
>> >              msi->entry_nr = 1;
>> >          irq = index;
>> > -        if ( irq == -1 )
>> > -        {
>> > +        fallthrough;
>> >      case MAP_PIRQ_TYPE_MULTI_MSI:
>> > +        if( type == MAP_PIRQ_TYPE_MULTI_MSI || irq == -1 )
>> >              irq = create_irq(NUMA_NO_NODE, true);
>> 
>> It may seem small, but this extra comparison already is duplication 
>> I'd rather
>> see avoided. At the very least though you want to clarify in the 
>> description
>> whether the compiler manages to eliminate it again.
> 
> It could just be:
> 
>     if ( irq == -1 )
> 
> because in the MAP_PIRQ_TYPE_MULTI_MSI case we know the irq will be -1.
> No duplication needed.

Ok then. Didn't know whether I could avoid the check to get this 
structuring.

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 06:13:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 06:13:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702143.1097001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru4iu-0001zv-Tw; Tue, 09 Apr 2024 06:12:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702143.1097001; Tue, 09 Apr 2024 06:12:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru4iu-0001zo-Qc; Tue, 09 Apr 2024 06:12:48 +0000
Received: by outflank-mailman (input) for mailman id 702143;
 Tue, 09 Apr 2024 06:12:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ru4it-0001ze-Sr; Tue, 09 Apr 2024 06:12:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ru4it-0000fx-Me; Tue, 09 Apr 2024 06:12:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ru4it-0003df-AB; Tue, 09 Apr 2024 06:12:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ru4it-0002jJ-9j; Tue, 09 Apr 2024 06:12:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=u+X5G8C920jEEsAGF1FKnQTmhKVrlDP6RH/2HLGx++o=; b=Nz2kbRvBT+XTPxo0MygGQI1Xwx
	QR7HkcETbgK6fkn1jP/0Uf8xDFW+O0EFtiCARSpZMUJ6yhtOZX3MTXgS1NJXPH69ahI2mjR8uOrsd
	bd7r3YnVKexzfeHh0YiD/4yiYHFRlUREhvB6YmLSiZhgwBIwPuJ4saJfKNNzn2BQBPJI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185275-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185275: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    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-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=20cb38a7af88dc40095da7c2c9094da3873fea23
X-Osstest-Versions-That:
    linux=fec50db7033ea478773b159e0e2efb135270e3b7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 06:12:47 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 185270

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

version targeted for testing:
 linux                20cb38a7af88dc40095da7c2c9094da3873fea23
baseline version:
 linux                fec50db7033ea478773b159e0e2efb135270e3b7

Last test of basis   185270  2024-04-07 20:42:12 Z    1 days
Testing same since   185275  2024-04-08 23:43:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Boris Burkov <boris@bur.io>
  David Sterba <dsterba@suse.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Wei Yang <richard.weiyang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 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                                      blocked 


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 20cb38a7af88dc40095da7c2c9094da3873fea23
Merge: 4f0a8fe3215c 6e68de0bb0ed
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Apr 8 13:11:11 2024 -0700

    Merge tag 'for-6.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
     "Several fixes to qgroups that have been recently identified by test
      generic/475:
    
       - fix prealloc reserve leak in subvolume operations
    
       - various other fixes in reservation setup, conversion or cleanup"
    
    * tag 'for-6.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: always clear PERTRANS metadata during commit
      btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
      btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_trans
      btrfs: record delayed inode root in transaction
      btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations
      btrfs: qgroup: correctly model root qgroup rsv in convert

commit 4f0a8fe3215c432234baed20eb8210efe1c32b10
Merge: fec50db7033e 592447f6cb3c
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Apr 8 10:11:37 2024 -0700

    Merge tag 'fixes-2024-04-08' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock
    
    Pull memblock fixes from Mike Rapoport:
     "Fix build errors in memblock tests:
    
       - add stubs to functions that calls to them were recently added to
         memblock but they were missing in tests
    
       - update gfp_types.h to include bits.h so that BIT() definitions
         won't depend on other includes"
    
    * tag 'fixes-2024-04-08' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
      memblock tests: fix undefined reference to `BIT'
      memblock tests: fix undefined reference to `panic'
      memblock tests: fix undefined reference to `early_pfn_to_nid'

commit 592447f6cb3c20d606d6c5d8e6af68e99707b786
Author: Wei Yang <richard.weiyang@gmail.com>
Date:   Tue Apr 2 13:27:01 2024 +0000

    memblock tests: fix undefined reference to `BIT'
    
    commit 772dd0342727 ("mm: enumerate all gfp flags") define gfp flags
    with the help of BIT, while gfp_types.h doesn't include header file for
    the definition. This through an error on building memblock tests.
    
    Let's include linux/bits.h to fix it.
    
    Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    CC: Suren Baghdasaryan <surenb@google.com>
    CC: Michal Hocko <mhocko@suse.com>
    Link: https://lore.kernel.org/r/20240402132701.29744-4-richard.weiyang@gmail.com
    Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>

commit e0f5a8e74be88f2476e58b25d3b49a9521bdc4ec
Author: Wei Yang <richard.weiyang@gmail.com>
Date:   Tue Apr 2 13:27:00 2024 +0000

    memblock tests: fix undefined reference to `panic'
    
    commit e96c6b8f212a ("memblock: report failures when memblock_can_resize
    is not set") introduced the usage of panic, which is not defined in
    memblock test.
    
    Let's define it directly in panic.h to fix it.
    
    Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    CC: Song Shuai <songshuaishuai@tinylab.org>
    CC: Mike Rapoport <rppt@kernel.org>
    Link: https://lore.kernel.org/r/20240402132701.29744-3-richard.weiyang@gmail.com
    Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>

commit 7d8ed162e6a92268d4b2b84d364a931216102c8e
Author: Wei Yang <richard.weiyang@gmail.com>
Date:   Tue Apr 2 13:26:59 2024 +0000

    memblock tests: fix undefined reference to `early_pfn_to_nid'
    
    commit 6a9531c3a880 ("memblock: fix crash when reserved memory is not
    added to memory") introduce the usage of early_pfn_to_nid, which is not
    defined in memblock tests.
    
    The original definition of early_pfn_to_nid is defined in mm.h, so let
    add this in the corresponding mm.h.
    
    Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    CC: Yajun Deng <yajun.deng@linux.dev>
    CC: Mike Rapoport <rppt@kernel.org>
    Link: https://lore.kernel.org/r/20240402132701.29744-2-richard.weiyang@gmail.com
    Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>

commit 6e68de0bb0ed59e0554a0c15ede7308c47351e2d
Author: Boris Burkov <boris@bur.io>
Date:   Tue Mar 26 12:01:28 2024 -0700

    btrfs: always clear PERTRANS metadata during commit
    
    It is possible to clear a root's IN_TRANS tag from the radix tree, but
    not clear its PERTRANS, if there is some error in between. Eliminate
    that possibility by moving the free up to where we clear the tag.
    
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 3c6f0c5ecc8910d4ffb0dfe85609ebc0c91c8f34
Author: Boris Burkov <boris@bur.io>
Date:   Tue Mar 26 11:55:22 2024 -0700

    btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
    
    Currently, this call site in btrfs_clear_delalloc_extent() only converts
    the reservation. We are marking it not delalloc, so I don't think it
    makes sense to keep the rsv around.  This is a path where we are not
    sure to join a transaction, so it leads to incorrect free-ing during
    umount.
    
    Helps with the pass rate of generic/269 and generic/475.
    
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 211de93367304ab395357f8cb12568a4d1e20701
Author: Boris Burkov <boris@bur.io>
Date:   Thu Mar 21 10:18:39 2024 -0700

    btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_trans
    
    The transaction is only able to free PERTRANS reservations for a root
    once that root has been recorded with the TRANS tag on the roots radix
    tree. Therefore, until we are sure that this root will get tagged, it
    isn't safe to convert. Generally, this is not an issue as *some*
    transaction will likely tag the root before long and this reservation
    will get freed in that transaction, but technically it could stick
    around until unmount and result in a warning about leaked metadata
    reservation space.
    
    This path is most exercised by running the generic/269 fstest with
    CONFIG_BTRFS_DEBUG.
    
    Fixes: a6496849671a ("btrfs: fix start transaction qgroup rsv double free")
    CC: stable@vger.kernel.org # 6.6+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 71537e35c324ea6fbd68377a4f26bb93a831ae35
Author: Boris Burkov <boris@bur.io>
Date:   Thu Mar 21 10:14:24 2024 -0700

    btrfs: record delayed inode root in transaction
    
    When running delayed inode updates, we do not record the inode's root in
    the transaction, but we do allocate PREALLOC and thus converted PERTRANS
    space for it. To be sure we free that PERTRANS meta rsv, we must ensure
    that we record the root in the transaction.
    
    Fixes: 4f5427ccce5d ("btrfs: delayed-inode: Use new qgroup meta rsv for delayed inode and item")
    CC: stable@vger.kernel.org # 6.1+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 74e97958121aa1f5854da6effba70143f051b0cd
Author: Boris Burkov <boris@bur.io>
Date:   Thu Mar 21 10:02:04 2024 -0700

    btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations
    
    Create subvolume, create snapshot and delete subvolume all use
    btrfs_subvolume_reserve_metadata() to reserve metadata for the changes
    done to the parent subvolume's fs tree, which cannot be mediated in the
    normal way via start_transaction. When quota groups (squota or qgroups)
    are enabled, this reserves qgroup metadata of type PREALLOC. Once the
    operation is associated to a transaction, we convert PREALLOC to
    PERTRANS, which gets cleared in bulk at the end of the transaction.
    
    However, the error paths of these three operations were not implementing
    this lifecycle correctly. They unconditionally converted the PREALLOC to
    PERTRANS in a generic cleanup step regardless of errors or whether the
    operation was fully associated to a transaction or not. This resulted in
    error paths occasionally converting this rsv to PERTRANS without calling
    record_root_in_trans successfully, which meant that unless that root got
    recorded in the transaction by some other thread, the end of the
    transaction would not free that root's PERTRANS, leaking it. Ultimately,
    this resulted in hitting a WARN in CONFIG_BTRFS_DEBUG builds at unmount
    for the leaked reservation.
    
    The fix is to ensure that every qgroup PREALLOC reservation observes the
    following properties:
    
    1. any failure before record_root_in_trans is called successfully
       results in freeing the PREALLOC reservation.
    2. after record_root_in_trans, we convert to PERTRANS, and now the
       transaction owns freeing the reservation.
    
    This patch enforces those properties on the three operations. Without
    it, generic/269 with squotas enabled at mkfs time would fail in ~5-10
    runs on my system. With this patch, it ran successfully 1000 times in a
    row.
    
    Fixes: e85fde5162bf ("btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations")
    CC: stable@vger.kernel.org # 6.1+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 141fb8cd206ace23c02cd2791c6da52c1d77d42a
Author: Boris Burkov <boris@bur.io>
Date:   Tue Mar 19 10:54:22 2024 -0700

    btrfs: qgroup: correctly model root qgroup rsv in convert
    
    We use add_root_meta_rsv and sub_root_meta_rsv to track prealloc and
    pertrans reservations for subvolumes when quotas are enabled. The
    convert function does not properly increment pertrans after decrementing
    prealloc, so the count is not accurate.
    
    Note: we check that the fs is not read-only to mirror the logic in
    qgroup_convert_meta, which checks that before adding to the pertrans rsv.
    
    Fixes: 8287475a2055 ("btrfs: qgroup: Use root::qgroup_meta_rsv_* to record qgroup meta reserved space")
    CC: stable@vger.kernel.org # 6.1+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 06:47:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 06:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702154.1097011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru5GD-0006qS-Nc; Tue, 09 Apr 2024 06:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702154.1097011; Tue, 09 Apr 2024 06:47:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru5GD-0006qL-KS; Tue, 09 Apr 2024 06:47:13 +0000
Received: by outflank-mailman (input) for mailman id 702154;
 Tue, 09 Apr 2024 06:47: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=NvYF=LO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ru5GC-0006qB-24
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 06:47:12 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:200a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbda7ebb-f63c-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 08:47:09 +0200 (CEST)
Received: from MW4PR03CA0166.namprd03.prod.outlook.com (2603:10b6:303:8d::21)
 by DM4PR12MB7765.namprd12.prod.outlook.com (2603:10b6:8:113::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 06:47:05 +0000
Received: from MWH0EPF000A6730.namprd04.prod.outlook.com
 (2603:10b6:303:8d:cafe::44) by MW4PR03CA0166.outlook.office365.com
 (2603:10b6:303:8d::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Tue, 9 Apr 2024 06:47:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MWH0EPF000A6730.mail.protection.outlook.com (10.167.249.22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 06:47:04 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 9 Apr
 2024 01:47:03 -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.35 via Frontend
 Transport; Tue, 9 Apr 2024 01:47: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: fbda7ebb-f63c-11ee-843a-3f19d20e7db6
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=adFEz8oCYdX/gJFocmFFuCIIV+ztkbZP3R7YkJr/u9yWbv8G+5t0nOjihDUUiUW5FA7MfdP8yVYea8zWJL0ACN3djTfmFM/gknu0tw240ZJn0XYocxnEeMAu2YC/uarcZuCnZk1FIgzJ0/kTWGluT6OE2OW4BWBikLuRrBaeRHEUYEAjhkrj1egIDbmotjui98/zfaszk/WjNOQs6lP8IYXWktzl1RdHortTLvRe0HrDJb0YNw2NzJimpKFsFo6o+Yob17zM7LG87PitqhH/XBz40Jrx8Qi5J46jiEvyc9VDPUPGq0y5CmO3+aIIjByM4TeH4wxE1mw3bHGXbuCQIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B/6V9brGLv+L902Oc5iArTSLIQFovT1+o6xN+dlJHww=;
 b=goxbVRgB3jtCBOQuJKsvZ46q7FEksyvGWGlXuMz/r1ddr2TFB5LX1LZIgGCKC8e1G9tW1AanNqaI3uiqlXGpy0qiiveVIOi0rBxhwuVhhg7DkEu+N+6mMAc/jdkPICEDxi3z6VtRkr91J+oONEsSQm4OjSXdPxP4Di4X8ZqoJtEPkgEKmVFiik+jENY9Jdf2mbbcjMVurjc2NA5nBIOFGHrkrckyy2C2SzdKGHMCF9tHr6pwcJqdStKHHYo366MgCJznPdYa+YALZonu79Z2KD3TMUmrdwrI2IBbzZ6ElhCAb2IOS3tqp4cFF154awJ3wyJ4oPNLhQjVeTXQvF0mkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=actia.se smtp.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=B/6V9brGLv+L902Oc5iArTSLIQFovT1+o6xN+dlJHww=;
 b=XrBHChhvZBFO/EAhA5LndZ6plSgJzhPpDP/W5NKItXV1WiiiPKsqD4ACcOcXO1HHBH1IrJeK72MHJ6/tomLdxSmoQoHGXQ/fCzMDqGXDqEkZuBk45C+uZnKRR9g9QCajdKiPKLxZM4Yc3C86szlFvCGmSLJ2SHXtTNDjlMNV8MI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <d02b7de4-41bf-4bf9-8b04-e21625449f27@amd.com>
Date: Tue, 9 Apr 2024 08:47:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
To: John Ernberg <john.ernberg@actia.se>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240408161129.900347-2-john.ernberg@actia.se>
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: MWH0EPF000A6730:EE_|DM4PR12MB7765:EE_
X-MS-Office365-Filtering-Correlation-Id: 7114682e-86cb-416c-54d1-08dc5860dde4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z9yzBLsTyhTJkqQD52Bv5D61Fu+RKZlfDqAbCFULMC0Bfn61CLgQ4Eti0gI+xKkvR5hqZn8lIAVBi3ceIr+GknazeKGtmtaqoM0Gp0df+zyC15ve5gYxVAXbaBXnH7n7rxHP+iIEpKiPgAoAfbjz0dH94gp9bFVZeSn8aztCmhup30VxrZrmydwTEfss2W9CO4HsN64YnvWmScghV5pbwogWzxQFgUKAuQzNiM2znY8G6hEDtLMxIXIPmCPtoFtweDT61TGuKiiFLuDgBrbw+hVDgY4iCWg0R1jdtSgaOf9ePxXhv7n523IgZtfr4SlewP0Xji9HZA4NTCEerfwqLJvzpnksTUA221oY7z+0iOSeOBMjzRW3xn+SoJvcvzTWb/FTwqNlRFvDN9FAe8Z+pQ6Pe4QLnuxxIB+HOxuZjrUwh58zI9glqoFeHnZv2YnZMlDkR6AWW71KY2xLKtEGAMUrsazLs4GEPA6+fUW5hVfk0TmhjV2bAbuG/FFoiDJiT2YCP8ZmMoUkWCetBocgh9nKHBxdMdPFuqwcgo4u8lV24Srf9PnHK7uZfMN5wMuQjn2yWCGH09DoB/RyjHaomzlLBRCB8ZF3e9auPWJfEqOXsZEAUKQlG7ZWdfdwpSOTEtYEeqj4Z+T/byIq6Td8IQ7MlTkCG3ESoF3I3Pqz+p0yqhLkIo+gePRYOAWj+texjm4JChJrQJL+OoDChgSl9s5f9SSQ/ApTGRtYrC/cBVf1PtwBwXw6gG5BCELRHP3J
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(7416005)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 06:47:04.0882
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7114682e-86cb-416c-54d1-08dc5860dde4
X-MS-Exchange-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:
	MWH0EPF000A6730.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7765

Hi John,

On 08/04/2024 18:11, John Ernberg wrote:
> 
> 
> When using Linux for dom0 there are a bunch of drivers that need to do SMC
> SIP calls into the firmware to enable certain hardware bits like the
> watchdog.
> 
> Provide a basic platform glue that implements the needed SMC forwarding.
> 
> The format of these calls are as follows:
>  - reg 0: function ID
>  - reg 1: subfunction ID (when there's a subfunction)
>  remaining regs: args
> 
> For now we only allow Dom0 to make these calls as they are all managing
> hardware. There is no specification for these SIP calls, the IDs and names
> have been extracted from the upstream linux kernel and the vendor kernel.
> 
> Most of the SIP calls are only available for the iMX8M series of SoCs, so
> they are easy to reject and they need to be revisited when iMX8M series
> support is added.
Stale paragraph. Should be removed given that the driver targets only Q{M,XP}.

> 
> From the other calls we can reject CPUFREQ because Dom0 cannot make an
> informed decision regarding CPU frequency scaling, WAKEUP_SRC is to wake
> up from suspend, which Xen doesn't support at this time.
> 
> This leaves the TIME SIP, OTP SIPs, BUILDINFO SIP and TEMP ALARM SIP, which
> for now are allowed to Dom0.
BUILDINFO, TEMP ALARM are leftovers from previous revision.

> 
> NOTE: This code is based on code found in NXP Xen tree located here:
> https://github.com/nxp-imx/imx-xen/blob/lf-5.10.y_4.13/xen/arch/arm/platforms/imx8qm.c
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> [jernberg: Add SIP call filtering]
> Signed-off-by: John Ernberg <john.ernberg@actia.se>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

The commit msg can be fixed on commit.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 06:58:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 06:58:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702161.1097021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru5Qd-0000Gf-Mc; Tue, 09 Apr 2024 06:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702161.1097021; Tue, 09 Apr 2024 06:57:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru5Qd-0000GY-JV; Tue, 09 Apr 2024 06:57:59 +0000
Received: by outflank-mailman (input) for mailman id 702161;
 Tue, 09 Apr 2024 06:57: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=UnKP=LO=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1ru5Qc-0000GS-IG
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 06:57:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2044.outbound.protection.outlook.com [40.107.7.44])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7eb89ed6-f63e-11ee-9150-f14010f3f246;
 Tue, 09 Apr 2024 08:57:57 +0200 (CEST)
Received: from DB9PR05CA0004.eurprd05.prod.outlook.com (2603:10a6:10:1da::9)
 by VE1PR08MB5790.eurprd08.prod.outlook.com (2603:10a6:800:1a9::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Tue, 9 Apr
 2024 06:57:25 +0000
Received: from DB1PEPF000509F0.eurprd03.prod.outlook.com
 (2603:10a6:10:1da:cafe::8b) by DB9PR05CA0004.outlook.office365.com
 (2603:10a6:10:1da::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Tue, 9 Apr 2024 06:57:23 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509F0.mail.protection.outlook.com (10.167.242.74) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Tue, 9 Apr 2024 06:57:21 +0000
Received: ("Tessian outbound e26069fc76b9:v300");
 Tue, 09 Apr 2024 06:57:21 +0000
Received: from bd76fe63aa16.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 ED983514-2803-4D54-A8F8-52B2D7D5FDE5.1; 
 Tue, 09 Apr 2024 06:57:15 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bd76fe63aa16.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Apr 2024 06:57:15 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB6472.eurprd08.prod.outlook.com (2603:10a6:20b:336::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Tue, 9 Apr
 2024 06:57:14 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Tue, 9 Apr 2024
 06:57:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7eb89ed6-f63e-11ee-9150-f14010f3f246
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=I2qsmb/jjH8P+ZSpD64URS71mki9B4FXvPLVMiJePmGQiCllONyYMubwSKX+9RWx1pjD9ybjSxOadTa8eueYcTCEZ5vzKBJ7yAUAxZvBXD2kee3dz/BwKOUIDospRY2YTrsjPNB/Y84+pSOJ3iHGVKqBJhklrbzkuAQ8K90d3VEeQwvgpz8tyuEK9gzy9jDcvwJMBi4E++lKqibItOmrvNucTHjlrMXfqyxpGoFe75iqceLEL4Uy91D1uDvX+Xoh6a6qMWgaJeaofbn3O6g40dvkvpBXxq0GNmSTdIsvW1KM0pFZKIooK1nF/e2IDPxxJJa821r6RMEWSyrRq2qPaQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ywumUPEqXGa3FzRxQd1bVCqoma0uwlxI6aAeNPh8GY=;
 b=O4PaIDFBNAe/xMEXw+qkIN70oOIcVqoEX3GOhW/DcxhW3rs4O1LEbD+qsjticrgN6WUSh6/zGtpDSu7TJyFHwikyeJ7YuI3lmbU7okQqN5cSzBdXSEK7VodOClJf5eZoCC8JRTW0lQQlCnpg7QsS0KpIwYKJ3OP7o2tL8oDoRZ7kRY2QSID9b40l2R/aLYNFNLEbrrcGBNnkuucSSoCgz96ysXc5P3nQ0ky8Rd/stbSzI8DocpXMs2buHGSyZRaSESsOMwUqfAmQqYDSrMEwmwY3OO4BanNG/WanbtXWWK8lZ3RaxDqkIMO5UMiKe5ZSvoSao/Zp6udGSmhZXwT77A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ywumUPEqXGa3FzRxQd1bVCqoma0uwlxI6aAeNPh8GY=;
 b=yE1LZuQp1++mmMO+f9Rqu4BjJh8LcaQ6b+9f30ij0/fotK3s9t1Ymrg7aDPkWOznDnUTGTnpRkslv35yWZZLvKqh7x0y37prfsL5u3ATWjwE6Ge+truIgW6pwxumbgzgq5OLTDWBfwUZRVpiV9lEWLi7kJOe0r8e0lCjUQm/zNw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 41308ac471f644fc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H4WJRYIxjrYWSUvjV9GoXMwR0vwebQzUEerwX7Zp8Oq5/yMLgulVSvmOGYLCRJX0PG5A8sq1qSs80hkkOcQRQJfDnxZ6zHw4RfIMxx133QS8tVL8skk9SPKwD13LKhpW12b7t0TwBxLg6sEiwxLCTms0xF3y77T5DoWiBEo3CMc3HD3Fiw3qBF+ai0SUbRDCqmGZRZRhWFGbe1AFH/piDdKL1N/l8Rp2zbucqwClf3yFFuHOkZZBTf5pu3J6eDFyPhSmagADHsVzoVmAJrZ/6iB7Zaoav4pVyI9ukxeqwIVBL+984HqChMkTRoITTbR5dKLiyk98k8Sx1wC3ZXjNKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ywumUPEqXGa3FzRxQd1bVCqoma0uwlxI6aAeNPh8GY=;
 b=exu1hPzaZ7lYUsKuGWMU0gValfVhURgrMemaizt/6kDi9xG9CX96NUYp2FGTjGleHGZJLcZVPwuNUfYRX8ELgzcIp4a81Da8cS9Ob3HxcvpjwJGnRMG+FLo+nMq55ykWyLVXXSXRbEvMizNO8RSyQxZJpw5wm9bh9MUho9/ivVMSE7yNE91+rvsrUXE3yJlBdPm2XT7020Vc+iu8RqFrHDofebkTeDNT2Bc5aOBBLJdA4v+gN8JSINUTI95QUpnhMpV27hvlx4C4DpzHGzTzPWSBgQI2kZcEuN9M4+wQCNo3Iu75f+kcGoEwUDkQ+HBe/tK0z67oiFLWBoBxJz1Swg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ywumUPEqXGa3FzRxQd1bVCqoma0uwlxI6aAeNPh8GY=;
 b=yE1LZuQp1++mmMO+f9Rqu4BjJh8LcaQ6b+9f30ij0/fotK3s9t1Ymrg7aDPkWOznDnUTGTnpRkslv35yWZZLvKqh7x0y37prfsL5u3ATWjwE6Ge+truIgW6pwxumbgzgq5OLTDWBfwUZRVpiV9lEWLi7kJOe0r8e0lCjUQm/zNw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"george.dunlap@citrix.com" <george.dunlap@citrix.com>, "jbeulich@suse.com"
	<jbeulich@suse.com>, "julien@xen.org" <julien@xen.org>,
	"michal.orzel@amd.com" <michal.orzel@amd.com>, "roger.pau@citrix.com"
	<roger.pau@citrix.com>
Subject: Re: [PATCH v4] docs/misra: document the expected sizes of integer
 types
Thread-Topic: [PATCH v4] docs/misra: document the expected sizes of integer
 types
Thread-Index: AQHah4lk+w1h9RgyfUmcoVl2Erm4ibFfhy2A
Date: Tue, 9 Apr 2024 06:57:14 +0000
Message-ID: <124F2681-5A59-4ADA-AC06-770782162239@arm.com>
References:
 <alpine.DEB.2.22.394.2404051144020.2245130@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2404051144020.2245130@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.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB6472:EE_|DB1PEPF000509F0:EE_|VE1PR08MB5790:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 n6cMZRc55k54qXzbPHMAD+JBl91s431mp0zlbw/Tb/I/UA9jpLVwS7v9HpH08bXzXkR6cqXJCAX5L3ZC/85m60ucS2QLFoJKl5REea3bz9UXrBmgUs1jZn1z1J4nkcCCkm8+6qQhK9XVZ+BxDxvg1IXDKNcair3hEE65/N2DQ3Qg/rVeIHhx9gqRcpSHNE6THypSQSPpjbn4Ga2sIFjzjnWrZhGfEq25LjIeYY8iBVNFQHtj4qWKIUwBxkbILeaexQBQY51xKPw6adgXRlhH7LZ3KfESk4PNepWsyrckFvSYjjcIW1sixjSwZ/RuXmtpAR3FiMFU70fEvTuhuqzgQU9gIXcmuYGQ0qDFUIHf9WO7VN+ccU04JZATbBMi1QBLn5BBkxUPaWiQUPzZXDp9RvvKavnWcNQ3An45P1awfwzQmMknLMkB91w3G0BrkKCVOqv9jIgpe1i2byNXpGqiMHbDSEqeXTshIUXpSURD4GOAQGVWgiRG+7nYMiQvpiMTL1THIq0eQpJXXXbogeU/Rm5+E3kX5Se2f4dpSa34orwSwQhoHL4/WfrEWte95WGUDiahDbVcE60LOKwzQanMu6dGeSL3mcviCY2Q1bRd15nxyMCwzbTiEbaxAKXxRWwDcKLt/qAYojWA3+auM/simGYUvzKnHelEcwJWZ8OxTMQ=
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:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <59ED85CE799E7C419018B6D0149F6EA2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6472
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509F0.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6632f171-5022-42c4-c305-08dc58624e06
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hQIoQ0njKjC6QltvR/hiy3C0eUpTC25aTbPiMarTfdCB9AGSXw+t4rW53KlAofBj9C0tvfqqJWxZ6wJsxcr6QMHk/wyHt2BBdRma5wGTzpImngYUibz6du56nWJXjrKaZif3Il2rF1RFjQ3qWtYfx9onGTgHZdR3nUnvxHRhGqTAXtwzURjdH7dN2EoUBdgUgmhHBeNP+mZGAJ8tPmSD5y/81I9GZVtMb0qrwPdH1Az5wnXuzAZdiaqAs8nOcBmcKT05k3Dr8mf7f+1FsZScdnCoTJAVkxBGC6YwaOeuJUW4/gN5jZUIDk3QjphO9iLvZas6BG/Tx1QOu8L1B39mep5UNkYaHGSQZV/Tmf2ZXa+Z7QargbMJ1GyhSpy6Vbbi56w9viP4rJsooB6RDffg3x5J1YIMvh49QCyXxbzSUu4/QXBPe0qg/Mnmgun40yTObJoS3hjYxhYfi/HPTbgeZVZHjEX9p5fOeCrCYACKyaTov/jCqr4Pw1yFv2g8fM0pXjmBTrCkdwU23KWe/jBAvkye4yoQtzVAD0XHyWJekYtgUdsathv65iac0IBoCcSz61jUeY87iDQpNTI9TzX7xv0n/kLHo2J8WIqILKA72r4QVl7GXXhvFEwomTBmz6lGGpW48Qb6465GkZYge61YIvrXJ+KWpbAKNpmW91iB1GWtj9OSk0MXppufSD7THw9TrJkDf9neqtUCc4REuUYc3tvWA3g1B4f8W6AhUDzq9dDmYmvL2SHQslTcguVfv885yF32ozGMdOpwvV5qGw6/8A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 06:57:21.8873
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6632f171-5022-42c4-c305-08dc58624e06
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509F0.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5790

Hi Stefano,

> On 5 Apr 2024, at 20:44, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> Xen makes assumptions about the size of integer types on the various
> architectures. Document these assumptions.
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

I think it is a good start and definitely better than having nothing docume=
nted so:

Acked-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes in v4:
> - list the architectures explicitly
> - add ARMv7-A
> ---
> docs/misra/C-language-toolchain.rst | 73 +++++++++++++++++++++++++++++
> 1 file changed, 73 insertions(+)
>=20
> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-=
toolchain.rst
> index b7c2000992..5ddfe7bdbe 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -480,4 +480,77 @@ The table columns are as follows:
>      - See Section "4.13 Preprocessing Directives" of GCC_MANUAL and Sect=
ion "11.1 Implementation-defined behavior" of CPP_MANUAL.
>=20
>=20
> +Sizes of Integer types
> +______________________
> +
> +Xen expects System V ABI on x86_64:
> +  https://gitlab.com/x86-psABIs/x86-64-ABI
> +
> +Xen expects AAPCS32 on ARMv8-A AArch32 and ARMv7-A:
> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst
> +
> +Xen expects AAPCS64 LP64 on ARMv8-A AArch64:
> +  https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst
> +
> +A summary table of data types, sizes and alignment is below:
> +
> +.. list-table::
> +   :widths: 10 10 10 45
> +   :header-rows: 1
> +
> +   * - Type
> +     - Size
> +     - Alignment
> +     - Architectures
> +
> +   * - char=20
> +     - 8 bits
> +     - 8 bits
> +     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A, x86_64,
> +       ARMv8-A AArch64, RV64, PPC64
> +
> +   * - short
> +     - 16 bits
> +     - 16 bits
> +     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A, x86_64,
> +       ARMv8-A AArch64, RV64, PPC64
> +
> +   * - int
> +     - 32 bits
> +     - 32 bits
> +     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A, x86_64,
> +       ARMv8-A AArch64, RV64, PPC64
> +
> +   * - long
> +     - 32 bits
> +     - 32 bits=20
> +     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A
> +
> +   * - long
> +     - 64 bits
> +     - 64 bits=20
> +     - x86_64, ARMv8-A AArch64, RV64, PPC64
> +
> +   * - long long
> +     - 64-bit
> +     - 32-bit
> +     - x86_32
> +
> +   * - long long
> +     - 64-bit
> +     - 64-bit
> +     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R
> +       AArch32, ARMv7-A
> +
> +   * - pointer
> +     - 32-bit
> +     - 32-bit
> +     - x86_32, ARMv8-A AArch32, ARMv8-R AArch32, ARMv7-A
> +
> +   * - pointer
> +     - 64-bit
> +     - 64-bit
> +     - x86_64, ARMv8-A AArch64, RV64, PPC64
> +
> +
> END OF DOCUMENT.
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 07:40:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 07:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702167.1097031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru65H-0005wu-P3; Tue, 09 Apr 2024 07:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702167.1097031; Tue, 09 Apr 2024 07: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 1ru65H-0005wn-Lw; Tue, 09 Apr 2024 07:39:59 +0000
Received: by outflank-mailman (input) for mailman id 702167;
 Tue, 09 Apr 2024 07: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=CDp6=LO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ru65F-0005wg-F2
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 07:39:57 +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 5b5ff187-f644-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 09:39:54 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-516d1c8dc79so5690680e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 00:39:54 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 u7-20020ac25bc7000000b00515cd52ff6csm1456889lfn.50.2024.04.09.00.39.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 00:39: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: 5b5ff187-f644-11ee-843a-3f19d20e7db6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712648394; x=1713253194; 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=j72DCGLNfF0H/6oTHKVj/0hxUVY4aVCkxRHDnoBlo2A=;
        b=MCkMmDA1otkRKghJkOHXZdtgUNzB0lLsezCKKMipuHcCOkSGq6WG6Bl4ezvdM7vtQh
         8D5v/UNROo/CDUnjwj/MLdWUZzrS9ECA30y0snKXO8ZQ+qXeh1i5ZIUrBGLa/sur5B+2
         Id5eQkNoYif0jbyqC8zIWmwfc7mbScZTqjOdRNQGpMkIlVec2fRxVr4rtfdwncqy74Ky
         VdL8Fde5fdAqasGNo6zSncV47PYXF1kM5atxbyv43t7P7shQsnOIB4plwUF4O2sRN2lL
         Avp3C7PMH1PQlNjUKDba7Whubbkq1HIGvct1HeNcxGy/cyk0Awc/do5EeqbcA/797qnq
         V60w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712648394; x=1713253194;
        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=j72DCGLNfF0H/6oTHKVj/0hxUVY4aVCkxRHDnoBlo2A=;
        b=noQ0wiBq9ThSSqdcpSaRNELsbnJWHrzpvR4lhyxhgD7YvkGwEUoxyeETpuXWaFP1KT
         BPUzoW7g9IqXKJni9sQUMODgzIMIAlC8uJN4irUTciD1EIdYXsSJzIvqG/L3NEv/1aJY
         qUdRsJD4AWv034OBzyBL7OBDYk121pSKdJHPKC0JWSvVxnddTo4GK5s+E2DcElomo0vU
         GYeFqbIIgaU+lbrVtvjPLRo0C7nSIVPd0SEKEefjsdt+jYemFNIZogSxw03efr1uugm3
         cHWsvwdDxzVbYL5vVtSVuSpTD+oaAOOh86sOx0lFWObEBw9GJp4FAiuBG/ZGGaDicQgy
         7img==
X-Forwarded-Encrypted: i=1; AJvYcCXD1KToFkzEWO7bNqVUZTshRV2AR7MgkCoNNI6sSrbnl5WRjplrRYjCTQRQnOO661s4m+cNH8eZxZPMWRJmU898kdKm6v6+BbTSbDAO00w=
X-Gm-Message-State: AOJu0Yy3Q2rEtgH5OmyNps4NbFXrLdG/qpVKxN6vnEuBKv+DhSOsfNAM
	xqnvETJeeYlKdKS+3mvyUk9q5B+peR7DV4IYz46JDW6gQk/DgB1+
X-Google-Smtp-Source: AGHT+IGiLm1EK8hoi3PZmEhXtPrzzdtlQc2ZpuOFwH3CmSH17Mrf3EVoX6JvlzXscwZoBke+j7mD2Q==
X-Received: by 2002:a05:6512:60b:b0:515:af1f:5bab with SMTP id b11-20020a056512060b00b00515af1f5babmr8506892lfe.40.1712648393767;
        Tue, 09 Apr 2024 00:39:53 -0700 (PDT)
Message-ID: <3ac34164e69f1983db3d4a66f62334497384958b.camel@gmail.com>
Subject: Re: [PATCH v7 10/19] xen/riscv: introduce atomic.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Tue, 09 Apr 2024 09:39:52 +0200
In-Reply-To: <3c939faa-98a5-4424-b405-b5c7c6c1c0b2@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <6a6c4ef8663d9da8c8a2aba4baf0286f31566edf.1712137031.git.oleksii.kurochko@gmail.com>
	 <3c939faa-98a5-4424-b405-b5c7c6c1c0b2@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

T24gTW9uLCAyMDI0LTA0LTA4IGF0IDEwOjIzICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwMy4wNC4yMDI0IDEyOjIwLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIC9kZXYv
bnVsbAo+ID4gKysrIGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXRvbWljLmgKPiA+IEBA
IC0wLDAgKzEsMjYxIEBACj4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt
b25seSAqLwo+ID4gKy8qCj4gPiArICogVGFrZW4gYW5kIG1vZGlmaWVkIGZyb20gTGludXguCj4g
PiArICoKPiA+ICsgKiBUaGUgZm9sbG93aW5nIGNoYW5nZXMgd2VyZSBkb25lOgo+ID4gKyAqIC0g
KiBhdG9taWMjI3ByZWZpeCMjXyp4Y2hnXyooYXRvbWljIyNwcmVmaXgjI190ICp2LCBjX3Qgbikg
d2VyZQo+ID4gdXBkYXRlZAo+ID4gKyAqwqDCoMKgwqAgdG8gdXNlX18qeGNoZ19nZW5lcmljKCkK
PiA+ICsgKiAtIGRyb3AgY2FzdHMgaW4gd3JpdGVfYXRvbWljKCkgYXMgdGhleSBhcmUgdW5uZWNl
c3NhcnkKPiA+ICsgKiAtIGRyb3AgaW50cm9kdWN0aW9uIG9mIFdSSVRFX09OQ0UoKSBhbmQgUkVB
RF9PTkNFKCkuCj4gPiArICrCoMKgIFhlbiBwcm92aWRlcyBBQ0NFU1NfT05DRSgpCj4gPiArICog
LSByZW1vdmUgemVyby1sZW5ndGggYXJyYXkgYWNjZXNzIGluIHJlYWRfYXRvbWljKCkKPiA+ICsg
KiAtIGRyb3AgZGVmaW5lcyBzaW1pbGFyIHRvIHBhdHRlcm4KPiA+ICsgKsKgwqAgI2RlZmluZSBh
dG9taWNfYWRkX3JldHVybl9yZWxheGVkwqDCoCBhdG9taWNfYWRkX3JldHVybl9yZWxheGVkCj4g
PiArICogLSBtb3ZlIG5vdCBSSVNDLVYgc3BlY2lmaWMgZnVuY3Rpb25zIHRvIGFzbS1nZW5lcmlj
L2F0b21pY3MtCj4gPiBvcHMuaAo+ID4gKyAqIAo+ID4gKyAqIENvcHlyaWdodCAoQykgMjAwNyBS
ZWQgSGF0LCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCj4gPiArICogQ29weXJpZ2h0IChDKSAy
MDEyIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYQo+ID4gKyAqIENvcHly
aWdodCAoQykgMjAxNyBTaUZpdmUKPiA+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMjQgVmF0ZXMgU0FT
Cj4gPiArICovCj4gPiArCj4gPiArI2lmbmRlZiBfQVNNX1JJU0NWX0FUT01JQ19ICj4gPiArI2Rl
ZmluZSBfQVNNX1JJU0NWX0FUT01JQ19ICj4gPiArCj4gPiArI2luY2x1ZGUgPHhlbi9hdG9taWMu
aD4KPiA+ICsKPiA+ICsjaW5jbHVkZSA8YXNtL2NtcHhjaGcuaD4KPiA+ICsjaW5jbHVkZSA8YXNt
L2ZlbmNlLmg+Cj4gPiArI2luY2x1ZGUgPGFzbS9pby5oPgo+ID4gKyNpbmNsdWRlIDxhc20vc3lz
dGVtLmg+Cj4gPiArCj4gPiArdm9pZCBfX2JhZF9hdG9taWNfc2l6ZSh2b2lkKTsKPiA+ICsKPiA+
ICsvKgo+ID4gKyAqIExlZ2FjeSBmcm9tIExpbnV4IGtlcm5lbC4gRm9yIHNvbWUgcmVhc29uIHRo
ZXkgd2FudGVkIHRvIGhhdmUKPiA+IG9yZGVyZWQKPiA+ICsgKiByZWFkL3dyaXRlIGFjY2Vzcy4g
VGhlcmVieSByZWFkKiBpcyB1c2VkIGluc3RlYWQgb2YgcmVhZCpfY3B1KCkKPiA+ICsgKi8KPiA+
ICtzdGF0aWMgYWx3YXlzX2lubGluZSB2b2lkIHJlYWRfYXRvbWljX3NpemUoY29uc3Qgdm9sYXRp
bGUgdm9pZCAqcCwKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAqcmVzLAo+
ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgc2l6ZSkKPiA+ICt7
Cj4gPiArwqDCoMKgIHN3aXRjaCAoIHNpemUgKQo+ID4gK8KgwqDCoCB7Cj4gPiArwqDCoMKgIGNh
c2UgMTogKih1aW50OF90ICopcmVzID0gcmVhZGIocCk7IGJyZWFrOwo+ID4gK8KgwqDCoCBjYXNl
IDI6ICoodWludDE2X3QgKilyZXMgPSByZWFkdyhwKTsgYnJlYWs7Cj4gPiArwqDCoMKgIGNhc2Ug
NDogKih1aW50MzJfdCAqKXJlcyA9IHJlYWRsKHApOyBicmVhazsKPiA+ICsjaWZuZGVmIENPTkZJ
R19SSVNDVl8zMgo+ID4gK8KgwqDCoCBjYXNlIDg6ICoodWludDMyX3QgKilyZXMgPSByZWFkcShw
KTsgYnJlYWs7Cj4gPiArI2VuZGlmCj4gPiArwqDCoMKgIGRlZmF1bHQ6IF9fYmFkX2F0b21pY19z
aXplKCk7IGJyZWFrOwo+ID4gK8KgwqDCoCB9Cj4gPiArfQo+ID4gKwo+ID4gKyNkZWZpbmUgcmVh
ZF9hdG9taWMocCkgKHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgIHVuaW9uIHsgdHlwZW9mKCoo
cCkpIHZhbDsgY2hhciBjW3NpemVvZigqKHApKV07IH0geF87wqDCoCBcCj4gPiArwqDCoMKgIHJl
YWRfYXRvbWljX3NpemUocCwgeF8uYywgc2l6ZW9mKCoocCkpKTvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCB4Xy52YWw7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPiA+ICt9KQo+ID4gKwo+ID4gK3N0YXRpYyBhbHdheXNfaW5saW5l
IHZvaWQgX3dyaXRlX2F0b21pYyh2b2xhdGlsZSB2b2lkICpwLAo+ID4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgdW5zaWduZWQgbG9uZyB4LCB1bnNpZ25lZAo+ID4gaW50IHNpemUpCj4gPiArewo+ID4g
K8KgwqDCoCBzd2l0Y2ggKCBzaXplICkKPiA+ICvCoMKgwqAgewo+ID4gK8KgwqDCoCBjYXNlIDE6
IHdyaXRlYih4LCBwKTsgYnJlYWs7Cj4gPiArwqDCoMKgIGNhc2UgMjogd3JpdGV3KHgsIHApOyBi
cmVhazsKPiA+ICvCoMKgwqAgY2FzZSA0OiB3cml0ZWwoeCwgcCk7IGJyZWFrOwo+ID4gKyNpZm5k
ZWYgQ09ORklHX1JJU0NWXzMyCj4gPiArwqDCoMKgIGNhc2UgODogd3JpdGVxKHgsIHApOyBicmVh
azsKPiA+ICsjZW5kaWYKPiA+ICvCoMKgwqAgZGVmYXVsdDogX19iYWRfYXRvbWljX3NpemUoKTsg
YnJlYWs7Cj4gPiArwqDCoMKgIH0KPiA+ICt9Cj4gPiArCj4gPiArI2RlZmluZSB3cml0ZV9hdG9t
aWMocCwgeCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIFwKPiA+ICsoe8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCB0eXBlb2YoKihwKSkgeF8gPSAoeCk7wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiAr
wqDCoMKgIF93cml0ZV9hdG9taWMoKHApLCB4Xywgc2l6ZW9mKCoocCkpKTvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAgeF87wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPiA+ICt9KQo+ID4gKwo+ID4gK3N0YXRpYyBhbHdheXNfaW5saW5l
IHZvaWQgX2FkZF9zaXplZCh2b2xhdGlsZSB2b2lkICpwLAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1
bnNpZ25lZCBsb25nIHgsIHVuc2lnbmVkIGludAo+ID4gc2l6ZSkKPiA+ICt7Cj4gPiArwqDCoMKg
IHN3aXRjaCAoIHNpemUgKQo+ID4gK8KgwqDCoCB7Cj4gPiArwqDCoMKgIGNhc2UgMTogd3JpdGVi
KHJlYWRfYXRvbWljKCh2b2xhdGlsZSB1aW50OF90ICopcCkgKyB4LCBwKTsKPiA+IGJyZWFrOwo+
ID4gK8KgwqDCoCBjYXNlIDI6IHdyaXRldyhyZWFkX2F0b21pYygodm9sYXRpbGUgdWludDE2X3Qg
KilwKSArIHgsIHApOwo+ID4gYnJlYWs7Cj4gPiArwqDCoMKgIGNhc2UgNDogd3JpdGVsKHJlYWRf
YXRvbWljKCh2b2xhdGlsZSB1aW50MzJfdCAqKXApICsgeCwgcCk7Cj4gPiBicmVhazsKPiA+ICsj
aWZuZGVmIENPTkZJR19SSVNDVl8zMgo+ID4gK8KgwqDCoCBjYXNlIDg6IHdyaXRlcShyZWFkX2F0
b21pYygodm9sYXRpbGUgdWludDY0X3QgKilwKSArIHgsIHApOwo+ID4gYnJlYWs7Cj4gPiArI2Vu
ZGlmCj4gCj4gQW55IHBhcnRpY3VsYXIgcmVhc29uIGZvciB1c2luZyByZWFkX2F0b21pYygpIGJ1
dCB3cml0ZXtiLHcsbCxxfSgpCj4gaGVyZT8KVGhlcmUgaXMgbm8gcGFydGljdWxhciByZWFzb24u
IEkgd2lsbCB1c2Ugd3JpdGVfYXRvbWljIGZvciBjb25zaXN0ZW5jeS4KCj4gCj4gPiArwqDCoMKg
IGRlZmF1bHQ6IF9fYmFkX2F0b21pY19zaXplKCk7IGJyZWFrOwo+ID4gK8KgwqDCoCB9Cj4gPiAr
fQo+ID4gKwo+ID4gKyNkZWZpbmUgYWRkX3NpemVkKHAsIHgpwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArKHvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKg
wqAgdHlwZW9mKCoocCkpIHhfID0gKHgpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCBfYWRkX3NpemVkKChwKSwg
eF8sIHNpemVvZigqKHApKSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4g
PiArfSkKPiA+ICsKPiA+ICsjZGVmaW5lIF9fYXRvbWljX2FjcXVpcmVfZmVuY2UoKSBcCj4gPiAr
wqDCoMKgIGFzbSB2b2xhdGlsZSAoIFJJU0NWX0FDUVVJUkVfQkFSUklFUiAiIiA6OjogIm1lbW9y
eSIgKQo+ID4gKwo+ID4gKyNkZWZpbmUgX19hdG9taWNfcmVsZWFzZV9mZW5jZSgpIFwKPiA+ICvC
oMKgwqAgYXNtIHZvbGF0aWxlICggUklTQ1ZfUkVMRUFTRV9CQVJSSUVSICIiIDo6OiAibWVtb3J5
IiApCj4gCj4gVGhlcmUgaXNuJ3QgYW55IG5lZWQgZm9yIHRoZSAiIiBpbiB0aGVzZSB0d28sIGlz
IHRoZXJlPwpUaGVyZSBpcyBubyByZWFsbHkgbmVlZGVkICIiIGluIHRoaXMgY2FzZS4KPiAKPiA+
ICsvKgo+ID4gKyAqIEZpcnN0LCB0aGUgYXRvbWljIG9wcyB0aGF0IGhhdmUgbm8gb3JkZXJpbmcg
Y29uc3RyYWludHMgYW5kCj4gPiB0aGVyZWZvciBkb24ndAo+ID4gKyAqIGhhdmUgdGhlIEFRIG9y
IFJMIGJpdHMgc2V0LsKgIFRoZXNlIGRvbid0IHJldHVybiBhbnl0aGluZywgc28KPiA+IHRoZXJl
J3Mgb25seQo+ID4gKyAqIG9uZSB2ZXJzaW9uIHRvIHdvcnJ5IGFib3V0Lgo+ID4gKyAqLwo+ID4g
KyNkZWZpbmUgQVRPTUlDX09QKG9wLCBhc21fb3AsIHVuYXJ5X29wLCBhc21fdHlwZSwgY190eXBl
LCBwcmVmaXgpwqAKPiA+IFwKPiA+ICtzdGF0aWMgaW5saW5lwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgXAo+ID4gK3ZvaWQgYXRvbWljIyNwcmVmaXgjI18jI29wKGNfdHlwZSBp
LCBhdG9taWMjI3ByZWZpeCMjX3QgKnYpIFwKPiA+ICt7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCBhc20gdm9s
YXRpbGUgKMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgICLC
oMKgIGFtbyIgI2FzbV9vcCAiLiIgI2FzbV90eXBlICIgemVybywgJTEsICUwIsKgwqDCoMKgwqAg
XAo+ID4gK8KgwqDCoMKgwqDCoMKgIDogIitBIiAodi0+Y291bnRlcinCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvC
oMKgwqDCoMKgwqDCoCA6ICJyIiAodW5hcnlfb3AgaSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKg
wqDCoMKgIDogIm1lbW9yeSIgKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICt9wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4g
Kwo+ID4gKy8qCj4gPiArICogT25seSBDT05GSUdfR0VORVJJQ19BVE9NSUM2ND15IHdhcyBwb3J0
ZWQgdG8gWGVuIHRoYXQgaXMgdGhlCj4gPiByZWFzb24gd2h5Cj4gPiArICogbGFzdCBhcmd1bWVu
dCBmb3IgQVRPTUlDX09QIGlzbid0IHVzZWQuCj4gPiArICovCj4gPiArI2RlZmluZSBBVE9NSUNf
T1BTKG9wLCBhc21fb3AsIHVuYXJ5X29wKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoCBBVE9NSUNfT1AgKG9wLCBhc21fb3AsIHVuYXJ5
X29wLCB3LCBpbnQswqDCoCApCj4gPiArCj4gPiArQVRPTUlDX09QUyhhZGQsIGFkZCwgKykKPiA+
ICtBVE9NSUNfT1BTKHN1YiwgYWRkLCAtKQo+ID4gK0FUT01JQ19PUFMoYW5kLCBhbmQsICspCj4g
PiArQVRPTUlDX09QUyggb3IswqAgb3IsICspCj4gPiArQVRPTUlDX09QUyh4b3IsIHhvciwgKykK
PiA+ICsKPiA+ICsjdW5kZWYgQVRPTUlDX09QCj4gPiArI3VuZGVmIEFUT01JQ19PUFMKPiA+ICsK
PiA+ICsjaW5jbHVkZSA8YXNtLWdlbmVyaWMvYXRvbWljLW9wcy5oPgo+ID4gKwo+ID4gKy8qCj4g
PiArICogQXRvbWljIG9wcyB0aGF0IGhhdmUgb3JkZXJlZCB2YXJpYW50Lgo+ID4gKyAqIFRoZXJl
J3MgdHdvIGZsYXZvcnMgb2YgdGhlc2U6IHRoZSBhcml0aG1hdGljIG9wcyBoYXZlIGJvdGgKPiA+
IGZldGNoIGFuZCByZXR1cm4KPiA+ICsgKiB2ZXJzaW9ucywgd2hpbGUgdGhlIGxvZ2ljYWwgb3Bz
IG9ubHkgaGF2ZSBmZXRjaCB2ZXJzaW9ucy4KPiA+ICsgKi8KPiA+ICsjZGVmaW5lIEFUT01JQ19G
RVRDSF9PUChvcCwgYXNtX29wLCB1bmFyeV9vcCwgYXNtX3R5cGUsIGNfdHlwZSwKPiA+IHByZWZp
eCkgXAo+ID4gK3N0YXRpYwo+ID4gaW5saW5lwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICtjX3R5cGUgYXRvbWljIyNwcmVmaXgjI19mZXRj
aF8jI29wKGNfdHlwZSBpLCBhdG9taWMjI3ByZWZpeCMjX3QKPiA+ICp2KSBcCj4gPiAre8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAKPiA+IMKgIFwKPiA+ICvCoMKgwqAgcmVnaXN0ZXIgY190eXBlCj4gPiByZXQ7
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCBhc20gdm9sYXRpbGUK
PiA+ICjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDC
oMKgwqDCoMKgwqAgIsKgwqAgYW1vIiAjYXNtX29wICIuIiAjYXNtX3R5cGUgIi5hcXJswqAgJTEs
ICUyLAo+ID4gJTAiwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoCA6ICIr
QSIgKHYtPmNvdW50ZXIpLCAiPXIiCj4gPiAocmV0KcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoCA6ICJy
IiAodW5hcnlfb3AKPiA+IGkpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKg
wqDCoMKgwqAgOiAibWVtb3J5Igo+ID4gKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBcCj4gPiArwqDCoMKgIHJldHVybgo+ID4gcmV0O8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICt9Cj4gPiArCj4gPiArI2RlZmluZSBBVE9N
SUNfT1BfUkVUVVJOKG9wLCBhc21fb3AsIGNfb3AsIHVuYXJ5X29wLCBhc21fdHlwZSwKPiA+IGNf
dHlwZSwgcHJlZml4KSBcCj4gPiArc3RhdGljCj4gPiBpbmxpbmXCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArY190eXBlIGF0
b21pYyMjcHJlZml4IyNfIyNvcCMjX3JldHVybihjX3R5cGUgaSwgYXRvbWljIyNwcmVmaXgjI190
Cj4gPiAqdinCoCBcCj4gPiAre8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiA+IMKgwqDCoMKgwqAgXAo+ID4g
K8KgwqDCoMKgwqDCoMKgIHJldHVybiBhdG9taWMjI3ByZWZpeCMjX2ZldGNoXyMjb3AoaSwgdikg
Y19vcCAodW5hcnlfb3AKPiA+IGkpO8KgwqDCoMKgIFwKPiAKPiBOaXQ6IFRvbyBkZWVwIGluZGVu
dGF0aW9uLgo+IAo+ID4gK30KPiA+ICsKPiA+ICsvKgo+ID4gKyAqIE9ubHkgQ09ORklHX0dFTkVS
SUNfQVRPTUlDNjQ9eSB3YXMgcG9ydGVkIHRvIFhlbiB0aGF0IGlzIHRoZQo+ID4gcmVhc29uIHdo
eQo+ID4gKyAqIGxhc3QgYXJndW1lbnQgb2YgQVRPTUlDX0ZFVENIX09QLCBBVE9NSUNfT1BfUkVU
VVJOIGlzbid0IHVzZWQuCj4gPiArICovCj4gPiArI2RlZmluZSBBVE9NSUNfT1BTKG9wLCBhc21f
b3AsIGNfb3AsCj4gPiB1bmFyeV9vcCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqAgQVRPTUlDX0ZFVENIX09QKCBv
cCwgYXNtX29wLMKgwqDCoMKgwqDCoCB1bmFyeV9vcCwgdywgaW50LMKgwqAKPiA+ICnCoMKgwqDC
oMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqAgQVRPTUlDX09QX1JFVFVSTihvcCwgYXNtX29w
LCBjX29wLCB1bmFyeV9vcCwgdywgaW50LMKgwqAgKQo+ID4gKwo+ID4gK0FUT01JQ19PUFMoYWRk
LCBhZGQsICssICspCj4gPiArQVRPTUlDX09QUyhzdWIsIGFkZCwgKywgLSkKPiA+ICsKPiA+ICsj
dW5kZWYgQVRPTUlDX09QUwo+ID4gKwo+ID4gKyNkZWZpbmUgQVRPTUlDX09QUyhvcCwgYXNtX29w
LCB1bmFyeV9vcCkgXAo+ID4gK8KgwqDCoMKgwqDCoMKgIEFUT01JQ19GRVRDSF9PUChvcCwgYXNt
X29wLCB1bmFyeV9vcCwgdywgaW50LMKgwqAgKQo+ID4gKwo+ID4gK0FUT01JQ19PUFMoYW5kLCBh
bmQsICspCj4gPiArQVRPTUlDX09QUyggb3IswqAgb3IsICspCj4gPiArQVRPTUlDX09QUyh4b3Is
IHhvciwgKykKPiAKPiBUaGUgKyBpc24ndCByZWFsbHkgbmVlZGVkIGhlcmUgYXMgYSBtYWNybyBh
cmd1bWVudDsgQVRPTUlDX09QUygpCj4gaXRzZWxmIGNvdWxkCj4gcGFzcyBpdCB0byBBVE9NSUNf
RkVUQ0hfT1AoKS4gSSBhbHNvIHdvbmRlciB3aHkgQVRPTUlDX09QUygpIGhhcyBib3RoCj4gIm9w
IiBhbmQKPiAiYXNtX29wIiwgd2hlbiBib3RoIGFyZSB1bmlmb3JtbHkgdGhlIHNhbWUuCkl0IGlz
IG5lZWRlZCBmb3IgdGhlIGNhc2Ugd2hlbiBzdWIgb3BlcmF0aW9uIGlzIGltcGxlbWVudGVkIHVz
aW5nIGFkZApwbHVzIG5lZ2F0aXZlIG51bWJlcjoKK0FUT01JQ19PUFMoc3ViLCBhZGQsICssIC0p
CgoKPiAKPiA+ICsjdW5kZWYgQVRPTUlDX09QUwo+ID4gKwo+ID4gKyN1bmRlZiBBVE9NSUNfRkVU
Q0hfT1AKPiA+ICsjdW5kZWYgQVRPTUlDX09QX1JFVFVSTgo+ID4gKwo+ID4gKy8qIFRoaXMgaXMg
cmVxdWlyZWQgdG8gcHJvdmlkZSBhIGZ1bGwgYmFycmllciBvbiBzdWNjZXNzLiAqLwo+ID4gK3N0
YXRpYyBpbmxpbmUgaW50IGF0b21pY19hZGRfdW5sZXNzKGF0b21pY190ICp2LCBpbnQgYSwgaW50
IHUpCj4gPiArewo+ID4gK8KgwqDCoCBpbnQgcHJldiwgcmM7Cj4gPiArCj4gPiArwqDCoMKgIGFz
bSB2b2xhdGlsZSAoCj4gPiArwqDCoMKgwqDCoMKgwqAgIjA6IGxyLnfCoMKgwqDCoCAlW3BdLMKg
ICVbY11cbiIKPiA+ICvCoMKgwqDCoMKgwqDCoCAiwqDCoCBiZXHCoMKgwqDCoMKgICVbcF0swqAg
JVt1XSwgMWZcbiIKPiA+ICvCoMKgwqDCoMKgwqDCoCAiwqDCoCBhZGTCoMKgwqDCoMKgICVbcmNd
LCAlW3BdLCAlW2FdXG4iCj4gPiArwqDCoMKgwqDCoMKgwqAgIsKgwqAgc2Mudy5hcXJswqAgJVty
Y10sICVbcmNdLCAlW2NdXG4iCj4gPiArwqDCoMKgwqDCoMKgwqAgIsKgwqAgYm5lesKgwqDCoMKg
ICVbcmNdLCAwYlxuIgo+ID4gK8KgwqDCoMKgwqDCoMKgICIxOlxuIgo+ID4gK8KgwqDCoMKgwqDC
oMKgIDogW3BdICI9JnIiIChwcmV2KSwgW3JjXSAiPSZyIiAocmMpLCBbY10gIitBIiAodi0+Y291
bnRlcikKPiA+ICvCoMKgwqDCoMKgwqDCoCA6IFthXSAiciIgKGEpLCBbdV0gInIiICh1KQo+ID4g
K8KgwqDCoMKgwqDCoMKgIDogIm1lbW9yeSIpOwo+ID4gK8KgwqDCoCByZXR1cm4gcHJldjsKPiA+
ICt9Cj4gPiArCj4gPiArc3RhdGljIGlubGluZSBpbnQgYXRvbWljX3N1Yl9pZl9wb3NpdGl2ZShh
dG9taWNfdCAqdiwgaW50IG9mZnNldCkKPiA+ICt7Cj4gPiArwqDCoMKgIGludCBwcmV2LCByYzsK
PiA+ICsKPiA+ICvCoMKgwqAgYXNtIHZvbGF0aWxlICgKPiA+ICvCoMKgwqDCoMKgwqDCoCAiMDog
bHIud8KgwqDCoMKgICVbcF0swqAgJVtjXVxuIgo+ID4gK8KgwqDCoMKgwqDCoMKgICLCoMKgIHN1
YsKgwqDCoMKgwqAgJVtyY10sICVbcF0sICVbb11cbiIKPiA+ICvCoMKgwqDCoMKgwqDCoCAiwqDC
oCBibHR6wqDCoMKgwqAgJVtyY10sIDFmXG4iCj4gPiArwqDCoMKgwqDCoMKgwqAgIsKgwqAgc2Mu
dy5hcXJswqAgJVtyY10sICVbcmNdLCAlW2NdXG4iCj4gPiArwqDCoMKgwqDCoMKgwqAgIsKgwqAg
Ym5lesKgwqDCoMKgICVbcmNdLCAwYlxuIgo+ID4gK8KgwqDCoMKgwqDCoMKgICIxOlxuIgo+ID4g
K8KgwqDCoMKgwqDCoMKgIDogW3BdICI9JnIiIChwcmV2KSwgW3JjXSAiPSZyIiAocmMpLCBbY10g
IitBIiAodi0+Y291bnRlcikKPiA+ICvCoMKgwqDCoMKgwqDCoCA6IFtvXSAiciIgKG9mZnNldCkK
PiA+ICvCoMKgwqDCoMKgwqDCoCA6ICJtZW1vcnkiICk7Cj4gPiArwqDCoMKgIHJldHVybiBwcmV2
IC0gb2Zmc2V0Owo+ID4gK30KPiA+ICsKPiA+ICsvKgo+ID4gKyAqIGF0b21pY197Y21wLH14Y2hn
IGlzIHJlcXVpcmVkIHRvIGhhdmUgZXhhY3RseSB0aGUgc2FtZSBvcmRlcmluZwo+ID4gc2VtYW50
aWNzIGFzCj4gPiArICoge2NtcCx9eGNoZyBhbmQgdGhlIG9wZXJhdGlvbnMgdGhhdCByZXR1cm4u
Cj4gPiArICovCj4gPiArI2RlZmluZSBBVE9NSUNfT1AoY190LCBwcmVmaXgsIHNpemUpwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICtz
dGF0aWMgaW5saW5lwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBc
Cj4gPiArY190IGF0b21pYyMjcHJlZml4IyNfeGNoZyhhdG9taWMjI3ByZWZpeCMjX3QgKnYsIGNf
dCBuKcKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK3vCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAgcmV0
dXJuIF9feGNoZygmdi0+Y291bnRlciwgbiwgc2l6ZSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArfcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK3N0YXRpYyBp
bmxpbmXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICtj
X3QgYXRvbWljIyNwcmVmaXgjI19jbXB4Y2hnKGF0b21pYyMjcHJlZml4IyNfdCAqdiwgY190IG8s
IGNfdCBuKQo+ID4gXAo+ID4gK3vCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAgcmV0dXJuIF9fY21w
eGNoZygmdi0+Y291bnRlciwgbywgbiwgc2l6ZSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBcCj4gPiArfQo+ID4gKwo+ID4gKyNkZWZpbmUgQVRPTUlDX09QUygpIFwKPiA+ICvC
oMKgwqAgQVRPTUlDX09QKGludCzCoMKgICwgNCkKPiAKPiBDYW4ndCB0aGUgdHdvIGlubGluZSBm
dW5jdGlvbnMgdXNlIHNpemVvZigqdiksIHNpemVvZih2LT5jb3VudGVyKSwKPiBzaXplb2YoY190
KSwKPiBvciBzaXplb2YobikgaW5zdGVhZCBvZiBwYXNzaW5nIGEgbGl0ZXJhbCA0IGhlcmU/CkFn
cmVlLCBpdCB3b3VsZCBiZSBiZXR0ZXIuCgpUaGFua3MuCgp+IE9sZWtzaWkK



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 08:00:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 08:00:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702177.1097041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru6P0-000239-Tv; Tue, 09 Apr 2024 08:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702177.1097041; Tue, 09 Apr 2024 08:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru6P0-000232-Q8; Tue, 09 Apr 2024 08:00:22 +0000
Received: by outflank-mailman (input) for mailman id 702177;
 Tue, 09 Apr 2024 08:00:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CDp6=LO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ru6Oz-00022w-7s
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 08:00:21 +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 3556270b-f647-11ee-843a-3f19d20e7db6;
 Tue, 09 Apr 2024 10:00:19 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-516d0162fa1so6287315e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 01:00:19 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 t23-20020ac243b7000000b005134b126f0asm1473559lfl.110.2024.04.09.01.00.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 01:00: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: 3556270b-f647-11ee-843a-3f19d20e7db6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712649618; x=1713254418; 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=VcxNNAojuzG2gOvWHpoiddDVeCZsTLXWqyHvk5fToAw=;
        b=GZBvlE1bM+L6vMB0zE9hxQ00u7RAQYCqpyy7fKamAUc1rjbbLiKykivZL5lGt+6Il4
         spqqVkL5Syrxx+W4CVt9A/6j2rIGqFpbA7v7JjFrl3NnLqWF2zRWbiF2z7Cd/i9pCf8+
         1XKYvngvt3ggySfR6/efHTmf6pYE0zpYVTqdh1rwXqTgQ16KT2rDidcUrXiqvqfmNizp
         Wm7oBVA9dqPHX4nQKohlCE/Ad7Pybg1EB9R8QtaBM5ipEiIfuyMezKGaKaHbV8sGVj+f
         xuNT3kHuZeqybBRblwXKibMl1wb3gVm0gZUhB87p08xGo2GjUs4joqbSKXekjAAg0AFi
         gKwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712649618; x=1713254418;
        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=VcxNNAojuzG2gOvWHpoiddDVeCZsTLXWqyHvk5fToAw=;
        b=gCMSh4h5ZlGhjj8abwdM/irlTNo6l3yJZixTyu1pXkUSEQqKezsBWX2p2y9YcKcEFc
         gm+uJ/FyKyXiq0yaldNv+Bb+5+DmCD31MW75RkEO1Zc2krnqwnzZKFCkdvpxDYNuuC4b
         CEucoT8T3oQhrusU/V57qOrFCH/uFKdGq1rdkbL83pEVtr5TiSdEuSWCP/5JEe2AnZd/
         A51ISa4HCOL5Q/xqMf+Yba7coBVshVCf+d2IFzDwzNnNzQlc3mvfNbLs0EAKdkmRl/rj
         CTgyBIjPyXKdwD0jZAH7bLdqwtiuBTWUciI0P3DyKbkLZODBxDjhmSSfQ8MMf7uvAyst
         o/sA==
X-Gm-Message-State: AOJu0YxRL2ihF1YUK6eGtgdrNR/EyzI6+nIPTB7Z20LWwjRn9T4BTZfb
	K9tk3oABD9ELaFei/YdvNHxe3h0FHeILopR6kxpw5Mkzw6dRzQvoig0zXwoZ
X-Google-Smtp-Source: AGHT+IF0A3fsa1a4GGlNE04oi+vd/QVZ8UmhKYc1QNcrRwkkTofuSLA8gxXrwh+wzdyX50WXo1LMlw==
X-Received: by 2002:a05:6512:2525:b0:515:fc44:b3f7 with SMTP id be37-20020a056512252500b00515fc44b3f7mr10784169lfb.24.1712649618012;
        Tue, 09 Apr 2024 01:00:18 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] xen/riscv: check whether the assembler has Zbb extension support
Date: Tue,  9 Apr 2024 10:00:14 +0200
Message-ID: <10816604a8625b5052f134e54c406fb4e7b6c898.1712649614.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the argument of the as-insn for the Zbb case to verify that
Zbb is supported not only by a compiler, but also by an assembler.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/arch.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 53f3575e7d..6c53953acb 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -11,7 +11,8 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 
 riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
 
-zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
+zbb_insn := "andn t0, t0, t0"
+zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,${zbb_insn},_zbb)
 zihintpause := $(call as-insn, \
                       $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 08:01:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 08:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702180.1097051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru6Q7-0002YS-5x; Tue, 09 Apr 2024 08:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702180.1097051; Tue, 09 Apr 2024 08: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 1ru6Q7-0002YL-2c; Tue, 09 Apr 2024 08:01:31 +0000
Received: by outflank-mailman (input) for mailman id 702180;
 Tue, 09 Apr 2024 08: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=NvYF=LO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ru6Q5-0002Xy-8d
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 08:01:29 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2409::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ddec39e-f647-11ee-9150-f14010f3f246;
 Tue, 09 Apr 2024 10:01:27 +0200 (CEST)
Received: from BN8PR15CA0072.namprd15.prod.outlook.com (2603:10b6:408:80::49)
 by SN7PR12MB7420.namprd12.prod.outlook.com (2603:10b6:806:2a7::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Tue, 9 Apr
 2024 08:01:24 +0000
Received: from BN1PEPF00004681.namprd03.prod.outlook.com
 (2603:10b6:408:80:cafe::ca) by BN8PR15CA0072.outlook.office365.com
 (2603:10b6:408:80::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Tue, 9 Apr 2024 08:01:24 +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.7452.22 via Frontend Transport; Tue, 9 Apr 2024 08:01:23 +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.35; Tue, 9 Apr
 2024 03:01:22 -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.35; Tue, 9 Apr
 2024 03:01:22 -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.35 via Frontend
 Transport; Tue, 9 Apr 2024 03:01: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: 5ddec39e-f647-11ee-9150-f14010f3f246
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oREajX1Qr8T9ijFxSMEgI16dtDuYfiy2BtkyRwj2t517BCuNiftyAoyacogrvbT4BahSSRqLFk/MXKfrary2mqEpIIwzgybKv7wSgizFSTRJcxqeM3HU41FLjqlnc++f/Q1IPX6woXgyjDCzyezX/AmXmIfWxaYs+TDCxwR49yORfhHkbct9CQgbSFxV222FFfqwW/kelvJs+gep+iHbxGnF/TI//3OwdlDuN3myGqQFilld8kAUMNHRMAC8AdvzPnrBTzydvB11dXEJ7TCcymx6zPdXAHq9m1yYjojktDVHc9YgoYnvQbxVUhXOQLnT9KQLMxOiefG7VeZi7vEnOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DAz1LGrm6t5c6MPdKc7N6v6w4mxqmGreCpwekeCY7MA=;
 b=f0AjEwrDwJXGoXFSHfpXMflEyABsFuG6JME0KybVpBuvo9TT7Ct8NhgsyfefUKSy15wkaDykX7bSq2cZ9SXeVS41YKeN43/RJsl74g1x8UauHG34xl3lCl8eLpUZbMvhONjchKod8lZZZC4BOaCgPpjjvVX2GVLpPoqLcWx1eIEYiYfd8vgqRm03YOH1hKINzBQ6/WCFgnLprmGzq5o/bNDIl/JYpslesfaMnNHK/3Lrog6Hcvyp8JWv9s6+YbsXcZJmTi9CwRqeHLRZHnyo2KaszRGEOXcgVfMCbIgfa+brJ73GdoggcMr63vTigTFOuEHvCHQbffzHmsHynoxTRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=raptorengineering.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=DAz1LGrm6t5c6MPdKc7N6v6w4mxqmGreCpwekeCY7MA=;
 b=nmnuncmDTuqepXUyZyRB1cjKt89CV7oV+zhxD9rOWGjSPLELzo6yA6CMn+xmOOmXqkXd3YyWOIMhSp/v0AWnYoWhiScY6Fm92B1We9CDPMi1PUYXVz4iCF3vru/cu4OEWAXCdFr9Bk3yAYV44gCyj8zlpWlES5qyMDAj//pPh3o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e20ac3f1-0f86-41e3-891c-b3ea97b702ec@amd.com>
Date: Tue, 9 Apr 2024 10:01:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/acpi: Allow xen/acpi.h to be included on non-ACPI
 archs
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
	<xen-devel@lists.xenproject.org>
CC: <tpearson@raptorengineering.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Juergen Gross
	<jgross@suse.com>, Dario Faggioli <dfaggioli@suse.com>
References: <20240405182031.396528-1-sanastasio@raptorengineering.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240405182031.396528-1-sanastasio@raptorengineering.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: BN1PEPF00004681:EE_|SN7PR12MB7420:EE_
X-MS-Office365-Filtering-Correlation-Id: f9b3a39e-1c1b-45f8-c65e-08dc586b3fa7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d5xv+ITLPiK3VS28frFqzRE5KU1AFgw9ZPYO8f3snsrFi5TlupdaiRSwU3CoSKfnl4RqLQwiyoh9QWBgjSf1sCbrHQ1XydjRhqtzUgm+/A1Rva4pxROnYL4LGQpxorJNhkHvEM06AHk/O384JNCnSvh5adwYgv7gg4msFdZZrHlxsGypBip4WEmwvyYOrOL7bVCuU52JlUoZ16pwrSsTMjASHIuk7kKGlIBwpGeeO9ZcGlQ2h/FjIFYKRmB1eqNRY67cS2BnC6LIJM3SZIFismvUAV6QDCJEwrWJ/igwweeAXQvnLzdPYW3937nLQDtElb/PUIXHK3RA7XHAnHVqbYAjYGuvDfcRfHq0qO1QrQvpmg8g0eQkAlMHhrix81kCaD1mlFo0kBBjv1PhQOifTKr7p5COcgWKJRYIM0aYhDNrzOX8VzcbKYHjWrbtCXFFwOwIPyqM5TBushcNqV7VrmhzCAoaw+hKXSb2Gvf/Bxh84D/ueeCStyssLaJgROiJPvGedpe6T8m8hsCt6qxL35sm396WomIZKfiAFg5XU5GNPEx1m/SSJVadyzzvH7VpWSRjt4HarFRRlPMKDNXXuYTXDH3P5cALSLAyt57i7PyHewZiBXKXJCbfcxhU839weWoIX5675ICStNaPg/xfN8kwyGMILWudOA0PlVAZs9sjAJbmHA3HA24pbJ+TBdUf3TmZh5MxFX0+teUs0zpxM+kYmrCzgdGnAFJ+GqkK0VOcf+pYIeUb76NX5mXazrXC
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(1800799015)(7416005)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 08:01:23.2160
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f9b3a39e-1c1b-45f8-c65e-08dc586b3fa7
X-MS-Exchange-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: SN7PR12MB7420

Hi Shawn,

On 05/04/2024 20:20, Shawn Anastasio wrote:
> 
> 
> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
> that the header can be included on architectures without ACPI support,
> like ppc.
> 
> This change revealed some missing #includes across the ARM tree, so fix
> those as well.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 09:10:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 09:10:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702189.1097061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru7Uu-0003nL-3G; Tue, 09 Apr 2024 09:10:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702189.1097061; Tue, 09 Apr 2024 09:10:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru7Uu-0003nE-0c; Tue, 09 Apr 2024 09:10:32 +0000
Received: by outflank-mailman (input) for mailman id 702189;
 Tue, 09 Apr 2024 09:10: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 1ru7Us-0003n4-9N; Tue, 09 Apr 2024 09:10: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 1ru7Us-0004PB-2Z; Tue, 09 Apr 2024 09:10: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 1ru7Ur-0003JZ-LM; Tue, 09 Apr 2024 09:10:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ru7Ur-0003ik-Kp; Tue, 09 Apr 2024 09:10:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ueg55v72evJZUOCeoKb0beKUzZ/Xo8C5SskIv2+ot+8=; b=SMNRMvAmZQ05yJVtDMMUyrQDim
	9MVJDXJZAcRZ3H3uw5yJhAX4v+TyOIjWZZwmTo5HUVHKgo9oLonejf6G2lRUU+EArVwbMj43cmS7U
	muafIUF4v8m/il63Sd5sIsBH5iYOA3ICK1sXGhiQ8fBXewpqS+eVUT0tiM4OGUcoekWY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185280-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185280: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=932db9df0caa26daca4edf133fb2aed7b4a9193e
X-Osstest-Versions-That:
    ovmf=b7f8779fe1f60113fdaab3b2f3f17c9f900b0456
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 09:10:29 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 932db9df0caa26daca4edf133fb2aed7b4a9193e
baseline version:
 ovmf                 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456

Last test of basis   185272  2024-04-08 06:12:54 Z    1 days
Testing same since   185280  2024-04-09 07:11:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaron Li <aaron.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
   b7f8779fe1..932db9df0c  932db9df0caa26daca4edf133fb2aed7b4a9193e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 09:26:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 09:26:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702202.1097071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru7kT-0005kA-Du; Tue, 09 Apr 2024 09:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702202.1097071; Tue, 09 Apr 2024 09: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 1ru7kT-0005k3-AR; Tue, 09 Apr 2024 09:26:37 +0000
Received: by outflank-mailman (input) for mailman id 702202;
 Tue, 09 Apr 2024 09: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=/B/Z=LO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ru7kR-0005js-MX
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 09:26:35 +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 2fd9196d-f653-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 11:26:05 +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 3E23C21981;
 Tue,  9 Apr 2024 09:26:03 +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 1819013980;
 Tue,  9 Apr 2024 09:26:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id NeH6A6sJFWZXWwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 09 Apr 2024 09:26:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fd9196d-f653-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712654763; 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=tz9hn/qgNtGL6TOQsZaPonXsTvNTDaX8hFzAggQ+pvo=;
	b=BOZIXrgIKwl8zk0ly4dXTtE3DrhdZO1oJLyPh24Sr2kJahjkhjXJty31S3VLT9oJ0flKAA
	DTHHCYKNv4p3Fe+cO8Pp8coDmeyFnBWWmZmZOren51uQWGj7+KXPWxvZgxRdgQmL9h1v3n
	lCUp6kYfgx9aQJfYIr7PE7hx107vCTE=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=BOZIXrgI
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712654763; 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=tz9hn/qgNtGL6TOQsZaPonXsTvNTDaX8hFzAggQ+pvo=;
	b=BOZIXrgIKwl8zk0ly4dXTtE3DrhdZO1oJLyPh24Sr2kJahjkhjXJty31S3VLT9oJ0flKAA
	DTHHCYKNv4p3Fe+cO8Pp8coDmeyFnBWWmZmZOren51uQWGj7+KXPWxvZgxRdgQmL9h1v3n
	lCUp6kYfgx9aQJfYIr7PE7hx107vCTE=
Message-ID: <70e7a017-0343-4d6d-9d46-3875f71e6bf9@suse.com>
Date: Tue, 9 Apr 2024 11:26:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Linux Xen PV CPA W^X violation false-positives
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
References: <20240124165401.35784-1-jandryuk@gmail.com>
 <a2246242-627a-493b-9cd4-c76b0cb301ee@suse.com>
 <CAKf6xps9X=6GYxuk9u2cPYh_pzpLu2MQ00smydRQ40TjxDhgEQ@mail.gmail.com>
 <9b5a105a-650c-4b33-9f4e-03612fb6701c@suse.com>
 <f86bc525-1a77-4b7a-b1b3-9a22d9525e90@perard>
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: <f86bc525-1a77-4b7a-b1b3-9a22d9525e90@perard>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Tu2PG8GmNWKWV09o0ICA6B8G"
X-Spam-Level: 
X-Spamd-Result: default: False [-6.40 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	XM_UA_NO_VERSION(0.01)[];
	MX_GOOD(-0.01)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	FREEMAIL_CC(0.00)[gmail.com,lists.xenproject.org];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCPT_COUNT_THREE(0.00)[3];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:email,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]
X-Rspamd-Action: no action
X-Rspamd-Queue-Id: 3E23C21981
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Score: -6.40

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Tu2PG8GmNWKWV09o0ICA6B8G
Content-Type: multipart/mixed; boundary="------------vh8kPMaTp8oziu0Y1uYsI07r";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Message-ID: <70e7a017-0343-4d6d-9d46-3875f71e6bf9@suse.com>
Subject: Re: Linux Xen PV CPA W^X violation false-positives
References: <20240124165401.35784-1-jandryuk@gmail.com>
 <a2246242-627a-493b-9cd4-c76b0cb301ee@suse.com>
 <CAKf6xps9X=6GYxuk9u2cPYh_pzpLu2MQ00smydRQ40TjxDhgEQ@mail.gmail.com>
 <9b5a105a-650c-4b33-9f4e-03612fb6701c@suse.com>
 <f86bc525-1a77-4b7a-b1b3-9a22d9525e90@perard>
In-Reply-To: <f86bc525-1a77-4b7a-b1b3-9a22d9525e90@perard>

--------------vh8kPMaTp8oziu0Y1uYsI07r
Content-Type: multipart/mixed; boundary="------------CeUSB0hRix7rPc4K2PIJVUo7"

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

T24gMDguMDQuMjQgMTI6MjIsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBUaHUsIE1h
ciAyOCwgMjAyNCBhdCAwMjowMDoxNFBNICswMTAwLCBKw7xyZ2VuIEdyb8OfIHdyb3RlOg0K
Pj4gSGkgSmFzb24sDQo+Pg0KPj4gT24gMjguMDMuMjQgMDI6MjQsIEphc29uIEFuZHJ5dWsg
d3JvdGU6DQo+Pj4gT24gV2VkLCBNYXIgMjcsIDIwMjQgYXQgNzo0NuKAr0FNIErDvHJnZW4g
R3Jvw58gPGpncm9zc0BzdXNlLmNvbT4gd3JvdGU6DQo+Pj4+DQo+Pj4+IE9uIDI0LjAxLjI0
IDE3OjU0LCBKYXNvbiBBbmRyeXVrIHdyb3RlOg0KPj4+Pj4gKw0KPj4+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBuZXc7DQo+Pj4+PiArICAgICAgICAgICAgIH0NCj4+Pj4+
ICsgICAgIH0NCj4+Pj4+ICsNCj4+Pj4+ICAgICAgICAgZW5kID0gc3RhcnQgKyBucGcgKiBQ
QUdFX1NJWkUgLSAxOw0KPj4+Pj4gICAgICAgICBXQVJOX09OQ0UoMSwgIkNQQSBkZXRlY3Rl
ZCBXXlggdmlvbGF0aW9uOiAlMDE2bGx4IC0+ICUwMTZsbHggcmFuZ2U6IDB4JTAxNmx4IC0g
MHglMDE2bHggUEZOICVseFxuIiwNCj4+Pj4+ICAgICAgICAgICAgICAgICAgICh1bnNpZ25l
ZCBsb25nIGxvbmcpcGdwcm90X3ZhbChvbGQpLA0KPj4+Pg0KPj4+PiBKYXNvbiwgZG8geW91
IHdhbnQgdG8gc2VuZCBhIFYyIHdpdGggeW91ciBTaWduZWQtb2ZmLCBvciB3b3VsZCB5b3Ug
bGlrZSBtZSB0bw0KPj4+PiB0cnkgdXBzdHJlYW1pbmcgdGhlIHBhdGNoPw0KPj4+DQo+Pj4g
SGkgSsO8cmdlbiwNCj4+Pg0KPj4+IFllcywgcGxlYXNlIHVwc3RyZWFtIHlvdXIgYXBwcm9h
Y2guICBJIHdhc24ndCBzdXJlIGhvdyB0byBkZWFsIHdpdGgNCj4+PiBpdCwgc28gaXQgd2Fz
IG1vcmUgb2YgYSBidWcgcmVwb3J0Lg0KPj4NCj4+IFRoZSBmaW5hbCBzb2x1dGlvbiB3YXMg
YSBiaXQgbW9yZSBjb21wbGljYXRlZCwgYXMgdGhlcmUgYXJlIHNvbWUNCj4+IGNvcm5lciBj
YXNlcyB0byBiZSBjb25zaWRlcmVkLiBPVE9IIGl0IGlzIG5vdyBjb21wbGV0ZSBieSBsb29r
aW5nDQo+PiBhdCBhbGwgdXNlZCB0cmFuc2xhdGlvbiBlbnRyaWVzLg0KPj4NCj4+IEFyZSB5
b3UgYWJsZSB0byB0ZXN0IHRoZSBhdHRhY2hlZCBwYXRjaD8gSSBkb24ndCBzZWUgdGhlIG9y
aWdpbmFsDQo+PiBpc3N1ZSBhbmQgY2FuIG9ubHkgdmVyaWZ5IHRoZSBwYXRjaCBkb2Vzbid0
IGNhdXNlIGFueSByZWdyZXNzaW9uLg0KPj4NCj4+DQo+PiBKdWVyZ2VuDQo+IA0KPiBIaSBK
w7xyZ2VuLA0KPiANCj4gSSBnYXZlIGEgdHJ5IHRvIHRoZSBwYXRjaCBpbiB0aGlzIGVtYWls
IHdpdGggb3NzdGVzdCwgYW5kIEkgY2FuJ3QgZmluZCBhDQo+IHNpbmdsZSAiQ1BBIGRldGVj
dGVkIFdeWCB2aW9sYXRpb24iIGxvZyBlbnRyeSwgd2hlbiB0aGVyZSdzIHNlZW1zIHRvIGJl
DQo+IG1hbnkgaW4gb3NzdGVzdCBpbiBnZW5lcmFsLCBmcm9tIGRvbTAgaXQgc2VlbXMgYXMg
aXQncyBvbiB0aGUgaG9zdA0KPiBzZXJpYWwgY29uc29sZSB1c3VhbGx5Lg0KPiANCj4gaHR0
cDovL2xvZ3MudGVzdC1sYWIueGVucHJvamVjdC5vcmcvb3NzdGVzdC9sb2dzLzE4NTI1Mi8N
Cj4gDQo+IElmIHlvdSBsb29rIGluIHNldmVyYWwgInNlcmlhbC0kaG9zdC5sb2cqIiBmaWxl
cywgdGhlcmUgd2lsbCBiZSB0aGUNCj4gIkNQQSBkZXRlY3RlZCIgbWVzc2FnZSwgYnV0IHRo
ZXkgaGFwcGVuIG9uIHByZXZpb3VzIHRlc3QgcnVuLg0KPiANCj4gSSBkaWQgYW4gb3RoZXIg
c21hbGxlciBydW4gYmVmb3JlIHRoaXMgb25lLCBhbmQgc2FtZSB0aGluZzoNCj4gaHR0cDov
L2xvZ3MudGVzdC1sYWIueGVucHJvamVjdC5vcmcvb3NzdGVzdC9sb2dzLzE4NTE4Ni8NCj4g
DQo+IEFuZCB0aGlzIG90aGVyIHJ1biBhcyB3ZWxsLCB3aGljaCBJIGZhaWxlZCB0byBzZXR1
cCBwcm9wZXJseSB3aXRoIGxvdHMNCj4gb2YgYnJva2VuLCBidXQgbm8gZmFpbHVyZSBkdWUg
dG8gdGhlIHBhdGNoIGFuZCBJIGNhbid0IGZpbmQgYW55ICJDUEENCj4gZGV0ZWN0ZWQiIG1l
c3NhZ2VzLg0KPiBodHRwOi8vbG9ncy50ZXN0LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0ZXN0
L2xvZ3MvMTg1MjQ4Lw0KPiANCj4gSSBob3BlIHRoYXQgaGVscHM/DQoNClllcywgaXQgZG9l
cy4gVGhhbmtzIGZvciB0ZXN0aW5nLg0KDQoNCkp1ZXJnZW4NCg0K
--------------CeUSB0hRix7rPc4K2PIJVUo7
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-----

--------------CeUSB0hRix7rPc4K2PIJVUo7--

--------------vh8kPMaTp8oziu0Y1uYsI07r--

--------------Tu2PG8GmNWKWV09o0ICA6B8G
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/Ey8FAmYVCaoFAwAAAAAACgkQsN6d1ii/Ey97
YQf/TLAkxkXFwAxwKK6nZPXusNpNsm6xUbn/cgSF3dQXEbRVCfppcNuvXGixadQaU17ZVdwxQpTZ
7FYHm12JfqZG6iR6RaxMsSz62cbPC9E8ltj357v1UYrgdM/Jn1m2b1RnlTLdrRa/nA6lyYdWvUXy
ostoot2UT3YS0KXexM9Cd/iec1EOYX83GL5bH7GmEh/9K4VOLVmfVPC7AO1VINqegEtsN94aM91n
mwOPeTqKYI4slL/Ju8wa8MtmC9dbrCWXhNkHhakk2+TX6nVtkeheosO9afcAKffcW3zDKNNakqYq
m6/3AjBpzCmgOpIyfHYt436rI64IGMWVVB8C/qCAPg==
=dt/h
-----END PGP SIGNATURE-----

--------------Tu2PG8GmNWKWV09o0ICA6B8G--


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 09:47:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 09:47:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702211.1097080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru84Z-0000La-43; Tue, 09 Apr 2024 09:47:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702211.1097080; Tue, 09 Apr 2024 09:47:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru84Z-0000LT-1K; Tue, 09 Apr 2024 09:47:23 +0000
Received: by outflank-mailman (input) for mailman id 702211;
 Tue, 09 Apr 2024 09:47:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/B/Z=LO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ru84Y-0000LN-G5
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 09:47:22 +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 28ba7a75-f656-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 11:47:21 +0200 (CEST)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0909233904;
 Tue,  9 Apr 2024 09:47:17 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id A2F511332F;
 Tue,  9 Apr 2024 09:47:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id 0XM5JqQOFWZASgAAn2gu4w
 (envelope-from <jgross@suse.com>); Tue, 09 Apr 2024 09:47: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: 28ba7a75-f656-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712656040; h=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=cEE8Wkn6d/y/YCLZKnivxV/RHoBHYd8a0gnOUebWuHI=;
	b=QPIsBPKXFZQh4+vLDEzgsnt0bg3YwEGyDRlmiwKIi4lKPWao9NQZRxJwCvyIKmVZj87H5d
	e9JmVvhPyixj49BBxhRrWJ7XdSsk6dejLV3tZpzaKk3sCVZwgb132fGAthHr0MLbmlTek6
	xiWX1K9ko21Q7zNv+XBqvuMiiAoYiak=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1712656037; h=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=cEE8Wkn6d/y/YCLZKnivxV/RHoBHYd8a0gnOUebWuHI=;
	b=XQCW9dDhAKoIQB09DrYFhr2OwWLpOb3l1/9HziRBilLuIN+Zhn1eVM7/5v7y/fmBJcGULR
	/3rpmrNegO5XOQgiFiPECw0sXaSDA4wbUSrXTrBtU8VexfLw8SVOaEY8a/U/hwbKv/TJbD
	bmhEots0E6NDYp1ZAqEULxHfNQrXMKk=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	xen-devel@lists.xenproject.org,
	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>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH] x86/pat: fix W^X violation false-positives when running as Xen PV guest
Date: Tue,  9 Apr 2024 11:47:12 +0200
Message-Id: <20240409094712.21285-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -2.80
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];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	ARC_NA(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCPT_COUNT_TWELVE(0.00)[12];
	MIME_TRACE(0.00)[0:+];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FREEMAIL_CC(0.00)[suse.com,lists.xenproject.org,linutronix.de,redhat.com,alien8.de,linux.intel.com,zytor.com,kernel.org,infradead.org,gmail.com];
	RCVD_TLS_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	FREEMAIL_ENVRCPT(0.00)[gmail.com]

When running as Xen PV guest in some cases W^X violation WARN()s have
been observed. Those WARN()s are produced by verify_rwx(), which looks
into the PTE to verify that writable kernel pages have the NX bit set
in order to avoid code modifications of the kernel by rogue code.

As the NX bits of all levels of translation entries are or-ed and the
RW bits of all levels are and-ed, looking just into the PTE isn't enough
for the decision that a writable page is executable, too. When running
as a Xen PV guest, kernel initialization will set the NX bit in PMD
entries of the initial page tables covering the .data segment.

When finding the PTE to have set the RW bit but no NX bit, higher level
entries must be looked at. Only when all levels have the RW bit set and
no NX bit set, the W^X violation should be flagged.

Additionally show_fault_oops() has a similar problem: it will issue the
"kernel tried to execute NX-protected page" message only if it finds
the NX bit set in the leaf translation entry, while any NX bit in
non-leaf entries are being ignored for issuing the message.

Modify lookup_address_in_pgd() to return the effective NX and RW bit
values of the non-leaf translation entries and evaluate those as well
in verify_rwx() and show_fault_oops().

Fixes: 652c5bf380ad ("x86/mm: Refuse W^X violations")
Reported-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/include/asm/pgtable_types.h |  2 +-
 arch/x86/kernel/sev.c                |  3 +-
 arch/x86/mm/fault.c                  |  7 ++--
 arch/x86/mm/pat/set_memory.c         | 56 +++++++++++++++++++++-------
 arch/x86/virt/svm/sev.c              |  3 +-
 5 files changed, 52 insertions(+), 19 deletions(-)

diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
index 0b748ee16b3d..91ab538d3872 100644
--- a/arch/x86/include/asm/pgtable_types.h
+++ b/arch/x86/include/asm/pgtable_types.h
@@ -565,7 +565,7 @@ static inline void update_page_count(int level, unsigned long pages) { }
  */
 extern pte_t *lookup_address(unsigned long address, unsigned int *level);
 extern pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
-				    unsigned int *level);
+				    unsigned int *level, bool *nx, bool *rw);
 extern pmd_t *lookup_pmd_address(unsigned long address);
 extern phys_addr_t slow_virt_to_phys(void *__address);
 extern int __init kernel_map_pages_in_pgd(pgd_t *pgd, u64 pfn,
diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
index 38ad066179d8..adba581e999d 100644
--- a/arch/x86/kernel/sev.c
+++ b/arch/x86/kernel/sev.c
@@ -516,12 +516,13 @@ static enum es_result vc_slow_virt_to_phys(struct ghcb *ghcb, struct es_em_ctxt
 	unsigned long va = (unsigned long)vaddr;
 	unsigned int level;
 	phys_addr_t pa;
+	bool nx, rw;
 	pgd_t *pgd;
 	pte_t *pte;
 
 	pgd = __va(read_cr3_pa());
 	pgd = &pgd[pgd_index(va)];
-	pte = lookup_address_in_pgd(pgd, va, &level);
+	pte = lookup_address_in_pgd(pgd, va, &level, &nx, &rw);
 	if (!pte) {
 		ctxt->fi.vector     = X86_TRAP_PF;
 		ctxt->fi.cr2        = vaddr;
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 622d12ec7f08..eb8e897a5653 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -514,18 +514,19 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code, unsigned long ad
 
 	if (error_code & X86_PF_INSTR) {
 		unsigned int level;
+		bool nx, rw;
 		pgd_t *pgd;
 		pte_t *pte;
 
 		pgd = __va(read_cr3_pa());
 		pgd += pgd_index(address);
 
-		pte = lookup_address_in_pgd(pgd, address, &level);
+		pte = lookup_address_in_pgd(pgd, address, &level, &nx, &rw);
 
-		if (pte && pte_present(*pte) && !pte_exec(*pte))
+		if (pte && pte_present(*pte) && (!pte_exec(*pte) || nx))
 			pr_crit("kernel tried to execute NX-protected page - exploit attempt? (uid: %d)\n",
 				from_kuid(&init_user_ns, current_uid()));
-		if (pte && pte_present(*pte) && pte_exec(*pte) &&
+		if (pte && pte_present(*pte) && pte_exec(*pte) && !nx &&
 				(pgd_flags(*pgd) & _PAGE_USER) &&
 				(__read_cr4() & X86_CR4_SMEP))
 			pr_crit("unable to execute userspace code (SMEP?) (uid: %d)\n",
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index 80c9037ffadf..baa4dc4748e9 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -619,7 +619,8 @@ static inline pgprot_t static_protections(pgprot_t prot, unsigned long start,
  * Validate strict W^X semantics.
  */
 static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long start,
-				  unsigned long pfn, unsigned long npg)
+				  unsigned long pfn, unsigned long npg,
+				  bool nx, bool rw)
 {
 	unsigned long end;
 
@@ -641,6 +642,10 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
 	if ((pgprot_val(new) & (_PAGE_RW | _PAGE_NX)) != _PAGE_RW)
 		return new;
 
+	/* Non-leaf translation entries can disable writing or execution. */
+	if (!rw || nx)
+		return new;
+
 	end = start + npg * PAGE_SIZE - 1;
 	WARN_ONCE(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
 		  (unsigned long long)pgprot_val(old),
@@ -660,17 +665,22 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
  * Return a pointer to the entry and the level of the mapping.
  */
 pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
-			     unsigned int *level)
+			     unsigned int *level, bool *nx, bool *rw)
 {
 	p4d_t *p4d;
 	pud_t *pud;
 	pmd_t *pmd;
 
 	*level = PG_LEVEL_NONE;
+	*nx = false;
+	*rw = true;
 
 	if (pgd_none(*pgd))
 		return NULL;
 
+	*nx |= pgd_flags(*pgd) & _PAGE_NX;
+	*rw &= pgd_flags(*pgd) & _PAGE_RW;
+
 	p4d = p4d_offset(pgd, address);
 	if (p4d_none(*p4d))
 		return NULL;
@@ -679,6 +689,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
 	if (p4d_leaf(*p4d) || !p4d_present(*p4d))
 		return (pte_t *)p4d;
 
+	*nx |= p4d_flags(*p4d) & _PAGE_NX;
+	*rw &= p4d_flags(*p4d) & _PAGE_RW;
+
 	pud = pud_offset(p4d, address);
 	if (pud_none(*pud))
 		return NULL;
@@ -687,6 +700,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
 	if (pud_leaf(*pud) || !pud_present(*pud))
 		return (pte_t *)pud;
 
+	*nx |= pud_flags(*pud) & _PAGE_NX;
+	*rw &= pud_flags(*pud) & _PAGE_RW;
+
 	pmd = pmd_offset(pud, address);
 	if (pmd_none(*pmd))
 		return NULL;
@@ -695,6 +711,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
 	if (pmd_leaf(*pmd) || !pmd_present(*pmd))
 		return (pte_t *)pmd;
 
+	*nx |= pmd_flags(*pmd) & _PAGE_NX;
+	*rw &= pmd_flags(*pmd) & _PAGE_RW;
+
 	*level = PG_LEVEL_4K;
 
 	return pte_offset_kernel(pmd, address);
@@ -710,18 +729,24 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
  */
 pte_t *lookup_address(unsigned long address, unsigned int *level)
 {
-	return lookup_address_in_pgd(pgd_offset_k(address), address, level);
+	bool nx, rw;
+
+	return lookup_address_in_pgd(pgd_offset_k(address), address, level,
+				     &nx, &rw);
 }
 EXPORT_SYMBOL_GPL(lookup_address);
 
 static pte_t *_lookup_address_cpa(struct cpa_data *cpa, unsigned long address,
-				  unsigned int *level)
+				  unsigned int *level, bool *nx, bool *rw)
 {
-	if (cpa->pgd)
-		return lookup_address_in_pgd(cpa->pgd + pgd_index(address),
-					       address, level);
+	pgd_t *pgd;
+
+	if (!cpa->pgd)
+		pgd = pgd_offset_k(address);
+	else
+		pgd = cpa->pgd + pgd_index(address);
 
-	return lookup_address(address, level);
+	return lookup_address_in_pgd(pgd, address, level, nx, rw);
 }
 
 /*
@@ -849,12 +874,13 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
 	pgprot_t old_prot, new_prot, req_prot, chk_prot;
 	pte_t new_pte, *tmp;
 	enum pg_level level;
+	bool nx, rw;
 
 	/*
 	 * Check for races, another CPU might have split this page
 	 * up already:
 	 */
-	tmp = _lookup_address_cpa(cpa, address, &level);
+	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
 	if (tmp != kpte)
 		return 1;
 
@@ -965,7 +991,8 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
 	new_prot = static_protections(req_prot, lpaddr, old_pfn, numpages,
 				      psize, CPA_DETECT);
 
-	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages);
+	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages,
+			      nx, rw);
 
 	/*
 	 * If there is a conflict, split the large page.
@@ -1046,6 +1073,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
 	pte_t *pbase = (pte_t *)page_address(base);
 	unsigned int i, level;
 	pgprot_t ref_prot;
+	bool nx, rw;
 	pte_t *tmp;
 
 	spin_lock(&pgd_lock);
@@ -1053,7 +1081,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
 	 * Check for races, another CPU might have split this page
 	 * up for us already:
 	 */
-	tmp = _lookup_address_cpa(cpa, address, &level);
+	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
 	if (tmp != kpte) {
 		spin_unlock(&pgd_lock);
 		return 1;
@@ -1594,10 +1622,11 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
 	int do_split, err;
 	unsigned int level;
 	pte_t *kpte, old_pte;
+	bool nx, rw;
 
 	address = __cpa_addr(cpa, cpa->curpage);
 repeat:
-	kpte = _lookup_address_cpa(cpa, address, &level);
+	kpte = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
 	if (!kpte)
 		return __cpa_process_fault(cpa, address, primary);
 
@@ -1619,7 +1648,8 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
 		new_prot = static_protections(new_prot, address, pfn, 1, 0,
 					      CPA_PROTECT);
 
-		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1);
+		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1,
+				      nx, rw);
 
 		new_prot = pgprot_clear_protnone_bits(new_prot);
 
diff --git a/arch/x86/virt/svm/sev.c b/arch/x86/virt/svm/sev.c
index ab0e8448bb6e..3d73b44a64a7 100644
--- a/arch/x86/virt/svm/sev.c
+++ b/arch/x86/virt/svm/sev.c
@@ -338,12 +338,13 @@ void snp_dump_hva_rmpentry(unsigned long hva)
 {
 	unsigned long paddr;
 	unsigned int level;
+	bool nx, rw;
 	pgd_t *pgd;
 	pte_t *pte;
 
 	pgd = __va(read_cr3_pa());
 	pgd += pgd_index(hva);
-	pte = lookup_address_in_pgd(pgd, hva, &level);
+	pte = lookup_address_in_pgd(pgd, hva, &level, &nx, &rw);
 
 	if (!pte) {
 		pr_err("Can't dump RMP entry for HVA %lx: no PTE/PFN found\n", hva);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 10:16:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 10:16:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702215.1097091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8WW-0004Zk-7l; Tue, 09 Apr 2024 10:16:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702215.1097091; Tue, 09 Apr 2024 10:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8WW-0004Zd-4n; Tue, 09 Apr 2024 10:16:16 +0000
Received: by outflank-mailman (input) for mailman id 702215;
 Tue, 09 Apr 2024 10:16: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=4Fcd=LO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ru8WV-0004ZX-OK
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 10:16:15 +0000
Received: from mail-oi1-x22d.google.com (mail-oi1-x22d.google.com
 [2607:f8b0:4864:20::22d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30df3184-f65a-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 12:16:13 +0200 (CEST)
Received: by mail-oi1-x22d.google.com with SMTP id
 5614622812f47-3c5d5de746cso1457001b6e.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 03:16:12 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 a16-20020a05620a16d000b0078d6349aa03sm2149141qkn.103.2024.04.09.03.16.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Apr 2024 03:16: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: 30df3184-f65a-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712657771; x=1713262571; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zyLWdwJrVGnXha2DC94ks0u26BusRQpfi4H2jAVofI0=;
        b=l6dKienju6wZgZBYbYPqrXZ/CS4OWNaWan1TlyEY7HTjstHhm7BEkLNytIKbZUoT3+
         8OIvwXmxCKHy3ryDGDVs3yR2HPdskIAfWPIjltCE81SNg0vfH86njFuzwZWjHNbV6mwv
         YNsRfIh/GWIgLoNYBy2tkZ3ghAYAv3c/knicg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712657771; x=1713262571;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zyLWdwJrVGnXha2DC94ks0u26BusRQpfi4H2jAVofI0=;
        b=A3wvmPB8936a6IgMBepoz9kGgB23va9ygWhYJwTB6/XsD2IJwHATK+o0qIysW92B5H
         A8qEoStEit7X0kKk9Zrtl8YiyykHSsQezZXkL009X6q2OwPwJqcjQLdFA8Rs/Sr0l6YU
         3RNIjnvbOxkw2wc3qBn8zoJABRwc7QjVLDpONLH45mp6oRwPNz5b49yGGbZ2Sc+hC7VE
         +S75pkLrEL2rOf7wzFfyXmplrgwTKjyt7K5vhFut7Amek23Y8IvKEMhlpX1QVh0VWinj
         Eg/ftLkcrHsbOmtY4Tuidva7Iu90v2ls3JYwhtdMql8tzxkte/bZKqNiec752Gjlp94S
         OQRQ==
X-Gm-Message-State: AOJu0YwBGXlLRdJBXj8lrpwn+srH/6V6t+ey0uUVAb57A9jxtwUp52uY
	DywuTEPaYHArV7iSRiSDeVhKWJLKnDsiezkFTKMHyIpq5uQaHN22JgBAB7s1M6vFhcgxEZiTVLD
	ge4M=
X-Google-Smtp-Source: AGHT+IFelibODgitWsfD58410h5WA4X95oM4hPfgX7beVnQj5usoOG59dlUUDCXIz027a/IymBUrUQ==
X-Received: by 2002:a05:6808:23c5:b0:3c5:d909:2634 with SMTP id bq5-20020a05680823c500b003c5d9092634mr14092021oib.35.1712657770874;
        Tue, 09 Apr 2024 03:16:10 -0700 (PDT)
Message-ID: <581730f1-8f71-4d54-ad34-82dc6623ce14@citrix.com>
Date: Tue, 9 Apr 2024 11:16:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 0/3] xen/livepatch: Fix .altinstructions safety checks
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Jan Beulich
 <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20230417121357.3738919-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: <20230417121357.3738919-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/04/2023 1:13 pm, Andrew Cooper wrote:
> This replaces the previous singleton patch, with several build fixes found by
> Gitlab.  I also included some feedback from Jan on patch 3.
>
> Andrew Cooper (3):
>   xen/ELF: Fix ELF32 PRI formatters
>   arm/alternatives: Rename alt_instr fields which are used in common code
>   xen/livepatch: Fix .altinstructions safety checks

This series was committed into 4.18, but not picked up for backport
despite several fixes tags.

We've just fallen over a livepatching issue which would have been caught
by it, so I'm going to backport it to 4.17 while 4.17 is still in
general support.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 10:20:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 10:20:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702217.1097102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8ax-00061D-RO; Tue, 09 Apr 2024 10:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702217.1097102; Tue, 09 Apr 2024 10:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8ax-000616-N0; Tue, 09 Apr 2024 10:20:51 +0000
Received: by outflank-mailman (input) for mailman id 702217;
 Tue, 09 Apr 2024 10:20: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=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ru8aw-000610-R7
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 10:20:50 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d4bddec7-f65a-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 12:20:48 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-516d0161e13so6017917e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 03:20:47 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 be9-20020a05600c1e8900b004163ee3922csm11976111wmb.38.2024.04.09.03.20.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 03:20: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: d4bddec7-f65a-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712658047; x=1713262847; 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=6vi3mXNPAtFhRZ7VRL4VAPHciBEA8X0AtAtcbaG6HHM=;
        b=Waj41uBvwjm31l5t1pfvLEbduq9fXJMGlf29UTZbnwHSP5kwOQKWNCa6Ua2j2rZEsm
         oB5+u8k5Cybn6P6sNYZ3dpUdGyjj55B6G53yGUkov2HYDGkbKVvjR1x+Zp3VoYSkk+JM
         LVx+sAC8vJdKPu9rf5yXguuuEHZ/PO+aiW3WE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712658047; x=1713262847;
        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=6vi3mXNPAtFhRZ7VRL4VAPHciBEA8X0AtAtcbaG6HHM=;
        b=lXh4iPJc3bPkuSf4PGCXPcbweWNBRtfI2dVIMn5myzXvL/P2nYIsF8IF6JHcQqgq3r
         DVVzDc1yIYacHoh/PwgfHtvpKlmq7pwn/c9tP+AGbWcmppYk9wi99biJtblxTwwhP2Ra
         31kkJjOJYCdvyb26OfIKhQZt6+XQ0OZ9NKUtE1J6r43KkOP+uRRqB0WYlM9h7Ge3Gwbq
         Kk3oZ6gWSITalIC+wbe8JyNkAoHIwqYwKJdd9Tr25grwubwaAjr2QFWB/jYianJ1c6ny
         zvPLOm9Ek2tFXXTdXpm0yGm2XjOCMdwHf+SQJXjpxfyfomAnQwfWO7NUUFKDxci0IS0q
         Up3w==
X-Forwarded-Encrypted: i=1; AJvYcCX3YQKpnZhOEPfr8Oep+nE5pa0A9xD+CGmStSnqaTDX4yFABfOxp1PKCPA4QEN0pLW+Ente7OHmmFpNzwWrAZR0KjahIm9rR8LRivOs8RE=
X-Gm-Message-State: AOJu0YzR4Je3Tu9RG3XSuIaL8dl4+Ab/DvAtSiPdt4alanVYX9h0gySq
	2VT3sCmKDvF4pMeOz2NhSRhN7qmszXZmqgQMAztmZbo2gx3JJ1iZRXr19s68bQNAIKj3eo/Ze58
	D
X-Google-Smtp-Source: AGHT+IHaIpT9eyePhKlcsD5qHDIV8IJtmm5ucgNemPRD1+yysRCR0QTSHPLYSNTgt9iOxBdqVBzHAg==
X-Received: by 2002:ac2:48a4:0:b0:513:c95c:4dc4 with SMTP id u4-20020ac248a4000000b00513c95c4dc4mr7701691lfg.7.1712658046987;
        Tue, 09 Apr 2024 03:20:46 -0700 (PDT)
Date: Tue, 9 Apr 2024 11:20:45 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org,
	qemu-devel@nongnu.org
Subject: Re: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
Message-ID: <90f07634-1600-4654-8e36-7ac9e2f457e8@perard>
References: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240404140833.1557953-1-ross.lagerwall@citrix.com>

On Thu, Apr 04, 2024 at 03:08:33PM +0100, Ross Lagerwall wrote:
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index 1627da739822..1116b3978938 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -521,22 +521,30 @@ static bool handle_buffered_iopage(XenIOState *state)
[...]
>  
>  static void handle_buffered_io(void *opaque)
>  {
> +    unsigned int handled;
>      XenIOState *state = opaque;
>  
> -    if (handle_buffered_iopage(state)) {
> +    handled = handle_buffered_iopage(state);
> +    if (handled >= IOREQ_BUFFER_SLOT_NUM) {
> +        /* We handled a full page of ioreqs. Schedule a timer to continue
> +         * processing while giving other stuff a chance to run.
> +         */

./scripts/checkpatch.pl report a style issue here:
    WARNING: Block comments use a leading /* on a separate line

I can try to remember to fix that on commit.

>          timer_mod(state->buffered_io_timer,
> -                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
> -    } else {
> +                qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
> +    } else if (handled == 0) {

Just curious, why did you check for `handled == 0` here instead of
`handled != 0`? That would have avoided to invert the last 2 cases, and
the patch would just have introduce a new case without changing the
order of the existing ones. But not that important I guess.

>          timer_del(state->buffered_io_timer);
>          qemu_xen_evtchn_unmask(state->xce_handle, state->bufioreq_local_port);
> +    } else {
> +        timer_mod(state->buffered_io_timer,
> +                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
>      }
>  }

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 10:29:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 10:29:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702221.1097110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8j7-0006wQ-I1; Tue, 09 Apr 2024 10:29:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702221.1097110; Tue, 09 Apr 2024 10:29: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 1ru8j7-0006wJ-FM; Tue, 09 Apr 2024 10:29:17 +0000
Received: by outflank-mailman (input) for mailman id 702221;
 Tue, 09 Apr 2024 10: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=MkVj=LO=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1ru8j5-0006wD-VQ
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 10:29:15 +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 027a43fa-f65c-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 12:29:14 +0200 (CEST)
Received: by mail-oi1-x22d.google.com with SMTP id
 5614622812f47-3c4f23d23d9so3280726b6e.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 03:29:14 -0700 (PDT)
Received: from rossla-lxenia.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 p10-20020a05620a056a00b0078d72553055sm286856qkp.11.2024.04.09.03.29.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 03:29: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: 027a43fa-f65c-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712658552; x=1713263352; 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=6T7p+yBCbobXeswh/y6mad7boHlk/WeEpWE6wrxto4Q=;
        b=Aj80E1LkNUAqYbCAjcczXU2xnhdny/cGNjil1p/3zcnrcfy/rMjsqI5Sf1R9L6w3gW
         lQ5diX13ws3/jgj+oA+P+F58GsfA1W5ZRcfS4mxcgQu73F/X45lWQjNHE6f3dxIipUox
         YlkQSbjN1eEeb+1m/yfw6yYjFPXbKJ2/nRx/U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712658552; x=1713263352;
        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=6T7p+yBCbobXeswh/y6mad7boHlk/WeEpWE6wrxto4Q=;
        b=h7cHNZh/suSuwx0MTwbcldRVI0ogTIJgNwVI8hKmVskkodPqA9iRQ8KrEp4DcOTjTm
         7Kgw89OjGkbO5yhwNZW+iemnM/4XzUJlh/rfTkG/CGkGT60lZmpuwajxWtU/3Mn+uh8Q
         6XK8anh1/904NpgpmSB3TI97mbceDUo7G/D5AUgDNmca/ghCTidTBWNZIuYxB3+1JxyV
         nTgIRgRRCBXmRdVQLubauWJbljiD2q4SLBzjpvBazT2WXQZ3s54GJpw5VG24FO64j9cH
         MuM+nkeRPLGpphVZ3WChWWj+3JU3BgP2N4rjz829WMfY64Rwb9t2scGeVaLqDCQjdCRO
         +ZOA==
X-Gm-Message-State: AOJu0YxEH1U7R7dSHn+ehwdQOss8Ac8KNF3duSjIoqzs7LTivBb5zvAR
	xdzFuUzMBYnV7GjVEAB6ztwiPjq7yVRhfeI1zP+Sj8B1PXyw0m+pAXZDPHxe1+Bf1/CmMIVJBAQ
	9HA==
X-Google-Smtp-Source: AGHT+IFk9Bh2c3/vAYeK+lx4uAizYElxGTnahYoxJa3uhzPgJ60WMpSOQWNLNgFf1hhJrl+sWMDtQw==
X-Received: by 2002:a05:6808:1303:b0:3c5:ed2a:f06 with SMTP id y3-20020a056808130300b003c5ed2a0f06mr9437859oiv.33.1712658551928;
        Tue, 09 Apr 2024 03:29:11 -0700 (PDT)
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: xen-devel@lists.xenproject.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Konrad Rzeszutek Wilk <konrad@kernel.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] MAINTAINERS: Update livepatch maintainers
Date: Tue,  9 Apr 2024 11:32:07 +0100
Message-ID: <20240409103208.1641887-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Remove Konrad from the livepatch maintainers list as he hasn't been
active for a few years.
At the same time, add Roger as a new maintainer since he has been
actively working on it for a while.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 MAINTAINERS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 1bd22fd75f0e..4bc45ded4130 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -395,7 +395,7 @@ F:	tools/include/xentoollog.h
 F:	tools/libs/
 
 LIVEPATCH
-M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+M:	Roger Pau Monné <roger.pau@citrix.com>
 M:	Ross Lagerwall <ross.lagerwall@citrix.com>
 S:	Supported
 F:	docs/misc/livepatch.pandoc
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 10:35:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 10:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702226.1097121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8ol-0000Lx-8h; Tue, 09 Apr 2024 10:35:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702226.1097121; Tue, 09 Apr 2024 10:35:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8ol-0000Lq-5k; Tue, 09 Apr 2024 10:35:07 +0000
Received: by outflank-mailman (input) for mailman id 702226;
 Tue, 09 Apr 2024 10:35: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=FmRN=LO=epam.com=prvs=08294c27eb=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1ru8oj-0000Lk-JL
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 10:35:05 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d18fccf9-f65c-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 12:35:02 +0200 (CEST)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 4397aqwI018640; Tue, 9 Apr 2024 10:34:51 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3xd1ekrjhj-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 09 Apr 2024 10:34:50 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by GV1PR03MB8336.eurprd03.prod.outlook.com (2603:10a6:150:50::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 10:34:44 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7409.042; Tue, 9 Apr 2024
 10:34:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d18fccf9-f65c-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JXqc2Uuu/ZTh4nOCW2bHo3b8SnKJEXwnzf+xt9NRbh0+FZamgxCjG0OMWUaMeLLIaNhr0pvUZx/QgUBwWGqyXRVUqR8VhagbqvcLFEE0lfZen+hjSWx1KLmVdsJB/iCnI3g6p2M8VQ+fVKBOdG9ReOsW7tBGCnK0Im96OKWtUtejOZmeayo0hMR/sGe4kGmW7YQf67vxihCet461FH3w5htFJju5UA4LgPKQivKBLsjoQU1wSeKaJKxHpiAenyH4pEkygyLyl1rc9UWp+YmUVGLRBnjPXjSwHyKGrrElJ50kS8Aar2El5X+bGt7bV125kqdA6OxtyT8/SyaBarwxhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V+qyKgKgm1jI8Kk2IrZI3dLglKQ79AMCe5blz2R45Vs=;
 b=NoM/serihwf3blB3eJUD0QL6kg/4hvx72bIOtjI2ZZmc0McEi2DsIRwMGTDe/4BlCnaKjWkvtYlJ96AlwCcvcB4rtLx7T3A8/9kDUFP6ZCiwXzwsvxL5FZD2GwssAtj3t/JMiJvGvenzvbEueRKM5hpiqySpI24vLUw3Owr9xK1JhgYCA0zpwmmmzQMxkuWNqtVNunSNfQ3JxXJ3/r7hYigMYxLDs7rQFujmf8Cv0xfsP4A8fGirB62N7CND7EPyheJ4P5lz5eu4w6MI3A00+SWvMgWDr6qmaDNC7t9/KD/x0hQVxkZr5bafRla4O7vjS6VP6bS983/ixeww/UpyjQ==
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=V+qyKgKgm1jI8Kk2IrZI3dLglKQ79AMCe5blz2R45Vs=;
 b=ZJC+jz64n/GdH+rio3vcXuZbSAgg8LSndALynSBEngX9U2HyZwt+vAFZcd8A3Y95irubvQj9swSqYornRxgQE/l78lXXxJ1bSEW4woj6sBBCFiLJnNtmoYCF5WECaAxqyPurEl/oZ8Pr6YCVLnkvqMm5qvAHHuTypieHLFkJiUgIk8tO2DiHsYXbAPCy9lYh5Fb7bkh2nyZS4V6tavgSgji/ofyxrgDab+XS5+qvAOrmBfzU6BzeccCND4Wa4Rw/yDJ1d3ClYChURiRq+Nl1hs9/I6u3R3nUrG2LwOj/Okmwl9qlqyhyx6IPN6tM0txK9DdSar7i6YtygVy+QUkDjg==
Message-ID: <ae38f758-7894-4098-85dc-04cbf3523393@epam.com>
Date: Tue, 9 Apr 2024 13:34:41 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH V1] x86/ucode: optional amd/intel ucode build & load
To: Andrew Cooper <andrew.cooper3@citrix.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
References: <20240405103027.2704728-1-Sergiy_Kibrik@epam.com>
 <33eb77af-2196-40d9-9cdb-a4acf95f221c@citrix.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <33eb77af-2196-40d9-9cdb-a4acf95f221c@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0029.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1f::29) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|GV1PR03MB8336:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	KgtxttxPv2xP2EuEkAnsG57I05Vru9f6PqZ65Yfaq02x3OXmWmsD3B1MZa1sCNzIdAlX3cPvfXnL1CkcM4DWrz8dBXTh5KAoGY7Jbt5cer80d2+GP5W04QMVB0gGRfkRa1Vqcbe9B5R5u/SqwnS0TC8xqM30Bos8q3FuxT8bOgc57JXFRMdKX4lTfKvSvG8vinMdCnfan8wrxDXT6BEGOXAAnJyi/lRYcxiAY1etygUDS7WAI2H+dkrFediSelqsFIfx/eCWzUgemDiHplw7slREtK8Ko78pGXhTTHlM+Jlf0rLFSuPd8eS05rHrqx24V34Onf5EDfZbxptjlFzubMYHDVgrBD8CBSoP7Sxo++kmoydZzHXhWz/+QOAROkR46CP4MqgO55iZvUtuWPIQc2+/2wByS6WRIRLoJCXZT2xfJochdZYNe0EIyhP1PQ+x7BLGktfhjJyjyFDFISN2T+A/i6kGT1BU1QWLggFO3kA1dhDSNaZFdXNjwTMLWd11M0s4IsNfjWtmizCPwL0584nkjjVgJAhcgycBY+s5DwQBt5U3zL7UKBRanAtEB24dxw+ycjG5MjiCf0t1QQPpA0Jn35OARbyiooG7qMAEappWBFRZdwO5LC9Xp0jbC0IKEgvvqMeIS1FJtc3SjYcTrUtuPF9rarTF65KtF/B/pcc=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?aFJXSXdsa1Ftbno0cWFaMmxIQVgwbUplUmxJcHRyNXRNMTcrc1kyN2FJOFMw?=
 =?utf-8?B?L1N4WFF1RGNuVVN4VURrdUt0RzFpYTZ2alRkQzQwc2x2dkxJc2VTWDRXNHBX?=
 =?utf-8?B?VkxCVHZkemY1dGtOcVJQV0Jnd2pQczdEeTZjZk4xT2IwcFpWMVRPNUlqTjNq?=
 =?utf-8?B?bk1JRFI0VGV5c1JBd0ZqWXNFK294MEgxS1VBMDQwVGJwMWF0UWxCUitpNzhv?=
 =?utf-8?B?eWNSWHlDUjhRWTVOTjNBZnlvU0ZiYTE0M0dtU0Y4WUdyT3RKV2Z0djg3UnRG?=
 =?utf-8?B?eHhZaHBPL3ZsbVlxYXRuOTllbFYzMXZYL3V2NmgwOXROZTEyWXZkT2tuM3Ba?=
 =?utf-8?B?WGpweVNEQlhYd1dnd2ZnQXM4Y0tvUU9xSG0yeWhGQTBEeHlYdkpvT0VBRWND?=
 =?utf-8?B?Q1l0N25BUi92M2dTNGFKdFhPcnE5MjEwbFhBV2pYM281RkNONUlnMEhjMFYr?=
 =?utf-8?B?WG1CWHI1SUt2WHJiUTZvYURYNlp5ZE4rYzFXNS8xVkkyNHFESk1BZ2MxbWNK?=
 =?utf-8?B?SnVubytqRTJxcG45U2x3VUtMOVN6SE10clQrU1E3dVdCQlUzdWc1Yk1oeVNX?=
 =?utf-8?B?ZWF6Tk1TdXJiTTM3d0ZZMytQSzV2QkhHYms1QnVXbzgvKzhGWkNubUlScFVF?=
 =?utf-8?B?M0FpMW9SN1pYWndkVHpnem5kS0kya3JUOWxGWlV2RWt1TjZ6bEU4SHdyZ3Zx?=
 =?utf-8?B?QWZ3UmlwUHRybktveFpCSGE5ZWpvMThJbG9ab3pSKzFDbTZwbGJiN2ZqYW1o?=
 =?utf-8?B?cW5Qd0I0aHk5R1h6UjJFbDBFcmthcGZxMHc2dzNvRWNPTjVrQWxHSU5HWjBR?=
 =?utf-8?B?UHA3SU95M3J2SklRSVRHai94MmNSbTdQWXVDS2RYS3lQWU4xVk1VejVYMEdl?=
 =?utf-8?B?bVJOeGJzdU90RlAxV1VXUXZhOFQwdkVuTjBSbzU5M1UvRURqK2pqZWczNHVi?=
 =?utf-8?B?ZmZRam9yc3FuK0xwajF3Ni9XV1lNeDk3U0x6YnpZcGpBaXArMHMxSFpuV1da?=
 =?utf-8?B?Qm1mRkM0UE9HRzd6d2VNMmN0VE1CbE1DWHdzWi9yZWNNNmhPNWpIWVFYWUh6?=
 =?utf-8?B?bFdSZWhqM1VpM3k0NEhZT2xhTFptQUlOVzRwei9taTIrekFKMVZ6eCt5SUE0?=
 =?utf-8?B?QlQwd05aVDZDdWpsZDAvOVlTNVJ1V0N3RTl5ZXZiV2pxc0xvbzBYQTVzcmRl?=
 =?utf-8?B?bkMrS2kzaGw1MlU2QWI0cnBDajVWQVBodmFkbHdKSlNrbmU5QzdUTnc1d2VX?=
 =?utf-8?B?L05ORVdWelJqN0svVUNZT085bkV3ZWF1a244WEo4Z2lUUXBWQnIvVlJNNWZM?=
 =?utf-8?B?MkxMaGd6NC9XSjNmSFhzTngyZm5uNjNZVmRNOWVvUytRa09mNU5qNDBORmNp?=
 =?utf-8?B?NFl6WCtTeXRIL2prTGdjU1ZGLzExdnhSQ21UcHIvYWh3ZEVjeHFjNk9nZ3hn?=
 =?utf-8?B?V3RSelgxTmtrTHNJSnVXdVpneFFzK0JZakhKQ0F0SVhRVE9yOEJVL0tIK0pl?=
 =?utf-8?B?RkkyZzBFM1VyN0pjT3U2aEc0RGl3dG1zZGlvTFBKejVuOXRpbnFaU1VGblh5?=
 =?utf-8?B?NXJLWnF6ZTBGYTltUWZVS3NML1pIcFI1ajBSUVczK3dJMCtVZXFNeHBHZm1z?=
 =?utf-8?B?QkpvN1QvV29INHRueEc2TkI2TVJwUDQwT3BzYWk4ckMvalBIb1JtMWVqU2hL?=
 =?utf-8?B?NENzOFNybC9wbDVKSzVIWjRRQUx2YTU4N1ZVSUFrSER4dXdIS0NKTmpzVWFy?=
 =?utf-8?B?ZldPblRjQWtsMlNpcWFzRDVkby9NYkt3eEVtVkZMUUNyTzdKdnAzZmRKTDVv?=
 =?utf-8?B?enBYMHNHaElTTFkrM1dwWHJrZ0Y0SjgwVE5ZemlTMWxVZkNITmZaa3UvMjBn?=
 =?utf-8?B?NXhBelB3NVNGQm12NFV3MnJTbmMvSFFtdy9EZ2FObzczWW1TcC82MW1oaWxa?=
 =?utf-8?B?eDA0YjlpVWVEa3JsMFVkbkE0R0RJTVkxM0E2ZGl1eHZVN3dTMVFBSnlFRGZL?=
 =?utf-8?B?UTN4ZXFlUmp0MWFKWEw3eWM4cFpidUxCcWhLR1ZBUXpTU1lzeTU4K1kxRXEy?=
 =?utf-8?B?clRlVU0wZVhINSs4MWdCYkp6eUVSa1RwYkJBZFNUR3JJVkVFU2NBNERudlZv?=
 =?utf-8?Q?boqgRkA60TGnxdkVe+TCAZr/o?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9828015b-18f4-4ce6-4f74-08dc5880ab26
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 10:34:43.1705
 (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: TSdy7WhCL5czoCM9SXmWD3eeG6GcAHZzgli3mRXthscNdkoCZgzlRfj98TFifVJST6VS+NV82RTdAaWQACIcaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8336
X-Proofpoint-GUID: Z7NimYE9tCNTW6dz8U5OnWcNNzk_sgxh
X-Proofpoint-ORIG-GUID: Z7NimYE9tCNTW6dz8U5OnWcNNzk_sgxh
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-09_08,2024-04-05_02,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 adultscore=0 mlxscore=0 bulkscore=0 clxscore=1011 priorityscore=1501
 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 phishscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404090066

05.04.24 13:57, Andrew Cooper:
> On 05/04/2024 11:30 am, Sergiy Kibrik wrote:
>> Introduce configuration variables to make it possible to selectively turn
>> on/off CPU microcode management code in the build for AMD and Intel CPUs.
>>
>> This is to allow build configuration for a specific CPU, not compile and
>> load what will not be used anyway.
>>
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> Hmm... Stefano didn't check up with me first.
> 
> _https://lore.kernel.org/xen-devel/20231027191926.3283871-1-andrew.cooper3@citrix.com/
> 
> I've already got a series out for this, although its blocked on naming
> and IMO, particularly unhelpful replies.  I've not had time to apply the
> community-resolution vote on naming issues.  (Also, you should be CC-ing
> Roger on x86 patches).

+ Stefano & Roger

should we revisit this series then?

  -Sergiy


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 10:36:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 10:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702228.1097131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8pn-0000rA-Hu; Tue, 09 Apr 2024 10:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702228.1097131; Tue, 09 Apr 2024 10: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 1ru8pn-0000r3-En; Tue, 09 Apr 2024 10:36:11 +0000
Received: by outflank-mailman (input) for mailman id 702228;
 Tue, 09 Apr 2024 10:36: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=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ru8pm-0000qw-Ox
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 10:36:10 +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 faa57b14-f65c-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 12:36:09 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-416632343d0so15537495e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 03:36:09 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 o32-20020a05600c512000b004163321790esm14051022wms.19.2024.04.09.03.36.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 03:36: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: faa57b14-f65c-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712658969; x=1713263769; 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=w3rT+xEpYur+zOIyTaMERteYIBg4r43hD9FxqZ8lYJ8=;
        b=P6kSvQy0ujrFXuvIIpcsi/QQ6v3XfuGS0XpbZy9R7AgA3PVKsus/vUQNr8yZb04mTn
         D3E0by1EQbaHP7yZckAWtXZ92o6UCIwCcsg4L/RxpSh62Wad502JZZC1M1jw3szgojJY
         EO4V/E+sPdjPDmkj8DckU6txr996tMBFnb5nc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712658969; x=1713263769;
        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=w3rT+xEpYur+zOIyTaMERteYIBg4r43hD9FxqZ8lYJ8=;
        b=i18xSA6gjQmpRIV959ILSvtGs1QtRt+fl1tub3+5My/0ATAB8EYet+QHjuhKIYXnov
         1fgkR56ZyKollz2cY4ktG2/S+o8W96Ly+EP/mRi7FsETsuQH0PEvifA3h29OnmPD/Wl9
         YGy88CvRuyXjWUdxJc78lyQhJZjSAAZ9N4okbrqXF1AubLmqh/OildCvWCa6dD5x6RLB
         yemiKtYsUY1eTWaaTVm8mkZteIqvM08KfCNqqPvLWSHJ8QYxwDbZ+3QBvdRHDx++Y81H
         xN15g6ah5SGCrm/xZinqEqofiArfZfbp97rw65Dt9mfL5nvbqDoqfVw7ZFXovQdrGpm5
         /Ubg==
X-Gm-Message-State: AOJu0YxK3Td8xC3UJwfvr9bIyp8mk4jCtyhgfKfq6VhnLcklk5Uo456X
	+4Tu1lPPnlTYKMCsL5axHx06wlHyIbtbEzyrgxVaXvbpfoBal0Z6FT0BUT0umoI=
X-Google-Smtp-Source: AGHT+IFzO1U2/OQc9BCsP0kcqDoJ6iGKHHRCU8op1TyOZf6mcYBEIbs9fHNW6HJruI0BS3h+rxGAjQ==
X-Received: by 2002:a05:600c:4f05:b0:416:6d1d:e2 with SMTP id l5-20020a05600c4f0500b004166d1d00e2mr4248393wmq.3.1712658969355;
        Tue, 09 Apr 2024 03:36:09 -0700 (PDT)
Date: Tue, 9 Apr 2024 11:36:08 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v2] libxl: devd: Spawn QEMU for 9pfs
Message-ID: <c5fd7030-fc65-4394-ab2c-4b85a0c21214@perard>
References: <20240407205809.60871-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240407205809.60871-1-jandryuk@gmail.com>

On Sun, Apr 07, 2024 at 04:58:09PM -0400, Jason Andryuk wrote:
> Add support for xl devd to support 9pfs in a domU.  devd need to spawn a
> pvqemu for the domain to service 9pfs as well as qdisk backends.  Rename
> num_qdisks to pvqemu_refcnt to be more generic.
> 
> Keep the qdisk-backend-pid xenstore key as well as the disk-%u log file.
> They are externally visible, so the might be used by other tooling.

nit:                              ^^^ they

> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> v2:
> Retain xenstore qdisk-backend-pid and qdisk-%u logfile

Patch looks fine otherwise:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 10:36:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 10:36:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702230.1097141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8pz-0001AO-RC; Tue, 09 Apr 2024 10:36:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702230.1097141; Tue, 09 Apr 2024 10: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 1ru8pz-0001AH-M8; Tue, 09 Apr 2024 10:36:23 +0000
Received: by outflank-mailman (input) for mailman id 702230;
 Tue, 09 Apr 2024 10:36: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 1ru8py-00019Y-H1; Tue, 09 Apr 2024 10:36: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 1ru8py-0005vp-Bl; Tue, 09 Apr 2024 10:36: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 1ru8px-0005d5-R8; Tue, 09 Apr 2024 10:36:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ru8px-0001SJ-Qe; Tue, 09 Apr 2024 10:36:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MluBjiU7xI6tQjsmzOWFD9KomNixP/OK1AqGePDR7jY=; b=yjft+ujtzDvkdi5GX+0GVJrjis
	7H5I2Yr69VKEbJ8bzKqkcvtP1kkyLv+XWhS9yEKI8DusaEjPIaq2gVel1IKKJUcF0W1qUqPLK8F3M
	wrkAYRYPNLM+8GGGDNW40J8UZGWD6vJWi5hcL4Fa8c3Z9D8Ky9rkxnZ7+azE3TrS2h2k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185277-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185277: 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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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=c079823df64c98dd7bb40fe77d9ef410e85a7624
X-Osstest-Versions-That:
    xen=c079823df64c98dd7bb40fe77d9ef410e85a7624
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 10:36:21 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185277  2024-04-09 01:53:59 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 Tue Apr 09 10:45:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 10:45:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702239.1097151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru8yo-0003SF-PR; Tue, 09 Apr 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 702239.1097151; Tue, 09 Apr 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 1ru8yo-0003S8-Lo; Tue, 09 Apr 2024 10:45:30 +0000
Received: by outflank-mailman (input) for mailman id 702239;
 Tue, 09 Apr 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=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ru8yn-0003S2-Nf
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 10:45:29 +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 47c4a177-f65e-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 12:45:28 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-416632343d0so15585445e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 03:45:28 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 cg6-20020a5d5cc6000000b00345e730aa7csm3322838wrb.11.2024.04.09.03.45.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 03: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: 47c4a177-f65e-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712659528; x=1713264328; 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=DPd9OL27DqjNiu7RPISNzn6sIXao5VZQF9RZVBrlFf4=;
        b=jphlZeLQZcXbrcrM0Lz6KCqOajInd6OSsXI6UHuvRbG7w1lN4t+GKuzf3Z6uYVeJ0u
         3YtorCuseoEB07uPFaGLO3QiJ/nCrHuxU3GoQxyJJKoLNKGd+Nzk+eZ8w54EVdgJcB4z
         5TLSlulyTKWWU7Ec7eA9jnPk3yeJgKV7BrLJI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712659528; x=1713264328;
        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=DPd9OL27DqjNiu7RPISNzn6sIXao5VZQF9RZVBrlFf4=;
        b=f9DH7capAfiUCplfraTiHVqRt72/QnwRjSdpjWDARZTa+OC6THJVJBSqTrUXQHLuxf
         +iH5HvX4nbDCfuMm9ma+iAX0+bQkXjp4eJnY5g96Jd/EBLNyjOjevTBAbRMDBr+QNadO
         lZSki8n8mmM4CbeOeUS2VpNWe0vNmp7D4uTpyvRIxBNZxSKh9+/vDcK/SUwELgzyjIhQ
         Ge+TQm/FLS3iYUlZf8kIibFxif4IeZEDGlKiT8RIh1Mv++vOFwpCSOiWtTwm3k6FW2uR
         p9SoUAIfLMDDjFnyC8cinYerHQrXG8u/Sab/z9SX8fOkEAjKnFD3eCw85k16DGsA3ii+
         ccFQ==
X-Gm-Message-State: AOJu0YxjoAgAgjGZefWuGWtzueou7OJAPX+C7IYFxfkZ0/jGwxfhzlxG
	46BlFuyyWiaQh3JhMqHA7/HB92LqeYYh0lSPjs/IxAViWi/kPu4POVwpV3L6xYo=
X-Google-Smtp-Source: AGHT+IFR0xvMeQysJXIrZ+x0z1Yr1vuIubGwGbVSN8UDaP7q1UldbnK6jI2isb+R7cY82iP58olAhA==
X-Received: by 2002:a05:600c:511b:b0:416:90e6:5f2a with SMTP id o27-20020a05600c511b00b0041690e65f2amr2237397wms.19.1712659528253;
        Tue, 09 Apr 2024 03:45:28 -0700 (PDT)
Date: Tue, 9 Apr 2024 11:45:27 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v2 1/6] tools/misc: xenwatchdogd: use EXIT_* constants
Message-ID: <78aff49a-a244-4d0f-a5e9-15b03985d46f@perard>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-2-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240329111056.6118-2-leigh@solinno.co.uk>

On Fri, Mar 29, 2024 at 11:10:51AM +0000, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Use EXIT_SUCCESS/EXIT_FAILURE constants instead of magic numbers.
> 
> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702249.1097206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vO-0005Jw-Bh; Tue, 09 Apr 2024 11:46:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702249.1097206; Tue, 09 Apr 2024 11:46: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 1ru9vO-0005Id-7I; Tue, 09 Apr 2024 11:46:02 +0000
Received: by outflank-mailman (input) for mailman id 702249;
 Tue, 09 Apr 2024 11:46: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vN-0004JG-1w
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id bbcc171d-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:45:59 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 51A311007;
 Tue,  9 Apr 2024 04:46:29 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3E0B83F766;
 Tue,  9 Apr 2024 04:45: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: bbcc171d-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 05/13] xen/arm: Conditional compilation of kernel_info.shm_mem member
Date: Tue,  9 Apr 2024 12:45:35 +0100
Message-Id: <20240409114543.3332150-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The user of shm_mem member of the 'struct kernel_info' is only
the code managing the static shared memory feature, which can be
compiled out using CONFIG_STATIC_SHM, so in case the feature is
not requested, that member won't be used and will waste memory
space.

To address this issue, protect the member with the Kconfig parameter
and modify the signature of the only function using it to remove
any reference to the member from outside the static-shmem module.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - add Michal R-by
 - Removed the signature modification of make_resv_memory_node from
   this patch
v1:
 - new patch
---
---
 xen/arch/arm/include/asm/kernel.h | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 1730854d7f3c..85e1625cc989 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -39,7 +39,9 @@ struct kernel_info {
     void *fdt; /* flat device tree */
     paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
     struct meminfo mem;
+#ifdef CONFIG_STATIC_SHM
     struct meminfo shm_mem;
+#endif
 
     /* kernel entry point */
     paddr_t entry;
@@ -89,10 +91,16 @@ kernel_info_get_mem_const(const struct kernel_info *kinfo)
     return &kinfo->mem.common;
 }
 
+#ifdef CONFIG_STATIC_SHM
+#define KERNEL_INFO_SHM_MEM_INIT .shm_mem.common.max_banks = NR_MEM_BANKS,
+#else
+#define KERNEL_INFO_SHM_MEM_INIT
+#endif
+
 #define KERNEL_INFO_INIT                        \
 {                                               \
     .mem.common.max_banks = NR_MEM_BANKS,       \
-    .shm_mem.common.max_banks = NR_MEM_BANKS,   \
+    KERNEL_INFO_SHM_MEM_INIT                    \
 }
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702247.1097177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vL-0004b8-JS; Tue, 09 Apr 2024 11:45:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702247.1097177; Tue, 09 Apr 2024 11:45:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vL-0004aJ-DZ; Tue, 09 Apr 2024 11:45:59 +0000
Received: by outflank-mailman (input) for mailman id 702247;
 Tue, 09 Apr 2024 11: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vJ-0004JG-VX
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:45:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id b9c89427-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:45:56 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BCEE915DB;
 Tue,  9 Apr 2024 04:46:25 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 737AB3F766;
 Tue,  9 Apr 2024 04:45: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: b9c89427-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v2 02/13] xen/arm: avoid repetitive checking in process_shm_node
Date: Tue,  9 Apr 2024 12:45:32 +0100
Message-Id: <20240409114543.3332150-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Putting overlap and overflow checking in the loop is causing repetitive
operation, so this commit extracts both checking outside the loop.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - add Michal R-by
v1:
 - Rework of https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-3-Penny.Zheng@arm.com/
 - use strncmp to match the branch above
 - drop Michal R-by given the change
---
---
 xen/arch/arm/static-shmem.c | 39 +++++++++++++++----------------------
 1 file changed, 16 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index cb268cd2edf1..40a0e860c79d 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -349,7 +349,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 {
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
-    paddr_t paddr, gaddr, size;
+    paddr_t paddr, gaddr, size, end;
     struct meminfo *mem = &bootinfo.reserved_mem;
     unsigned int i;
     int len;
@@ -422,6 +422,13 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
         return -EINVAL;
     }
 
+    end = paddr + size;
+    if ( end <= paddr )
+    {
+        printk("fdt: static shared memory region %s overflow\n", shm_id);
+        return -EINVAL;
+    }
+
     for ( i = 0; i < mem->nr_banks; i++ )
     {
         /*
@@ -441,30 +448,13 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
                 return -EINVAL;
             }
         }
+        else if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) != 0 )
+            continue;
         else
         {
-            paddr_t end = paddr + size;
-            paddr_t bank_end = mem->bank[i].start + mem->bank[i].size;
-
-            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
-            {
-                printk("fdt: static shared memory region %s overflow\n", shm_id);
-                return -EINVAL;
-            }
-
-            if ( check_reserved_regions_overlap(paddr, size) )
-                return -EINVAL;
-            else
-            {
-                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
-                    continue;
-                else
-                {
-                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
-                           shm_id);
-                    return -EINVAL;
-                }
-            }
+            printk("fdt: different shared memory region could not share the same shm ID %s\n",
+                   shm_id);
+            return -EINVAL;
         }
     }
 
@@ -472,6 +462,9 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     {
         if ( i < NR_MEM_BANKS )
         {
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+
             /* Static shared memory shall be reserved from any other use. */
             safe_strcpy(mem->bank[mem->nr_banks].shm_id, shm_id);
             mem->bank[mem->nr_banks].start = paddr;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702245.1097161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vK-0004Jd-4V; Tue, 09 Apr 2024 11:45:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702245.1097161; Tue, 09 Apr 2024 11:45:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vK-0004JT-0A; Tue, 09 Apr 2024 11:45:58 +0000
Received: by outflank-mailman (input) for mailman id 702245;
 Tue, 09 Apr 2024 11:45: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vJ-0004JG-7S
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:45:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id b82d0820-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:45: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 1D4411007;
 Tue,  9 Apr 2024 04:46:23 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 91CCE3F766;
 Tue,  9 Apr 2024 04:45: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: b82d0820-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 00/13] Static shared memory followup v2 - pt1
Date: Tue,  9 Apr 2024 12:45:30 +0100
Message-Id: <20240409114543.3332150-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is a partial rework of this other serie:
https://patchwork.kernel.org/project/xen-devel/cover/20231206090623.1932275-1-Penny.Zheng@arm.com/

The original serie is addressing an issue of the static shared memory feature
that impacts the memory footprint of other component when the feature is
enabled, another issue impacts the device tree generation for the guests when
the feature is enabled and used and the last one is a missing feature that is
the option to have a static shared memory region that is not from the host
address space.

This serie is handling some comment on the original serie and it is splitting
the rework in two part, this first part is addressing the memory footprint issue
and the device tree generation, there will be a following serie addressing the
last missing feature soon.

>From v1:
 - Add new patches, moved the patch related to the static memory helper.

Luca Fancellu (9):
  xen/arm: Pass struct kernel_info parameter to make_resv_memory_node
  xen/arm: Introduce a generic way to access memory bank structures
  xen/arm: Conditional compilation of kernel_info.shm_mem member
  xen/arm: Avoid code duplication in find_unallocated_memory
  xen/arm: Avoid code duplication in check_reserved_regions_overlap
  xen/arm: Introduce helper for static memory pages
  xen/arm: Reduce struct membank size on static shared memory
  xen/device_tree: Introduce function to merge overlapping intervals
  xen/arm: List static shared memory regions as /memory nodes

Penny Zheng (4):
  xen/arm: remove stale addr_cells/size_cells in assign_shared_memory
  xen/arm: avoid repetitive checking in process_shm_node
  xen/arm: remove shm holes from extended regions
  xen/arm: fix duplicate /reserved-memory node in Dom0

 xen/arch/arm/acpi/domain_build.c         |   6 +-
 xen/arch/arm/arm32/mmu/mm.c              |  68 ++++--
 xen/arch/arm/arm64/mmu/mm.c              |   4 +-
 xen/arch/arm/bootfdt.c                   |  45 ++--
 xen/arch/arm/dom0less-build.c            |  19 +-
 xen/arch/arm/domain_build.c              | 226 +++++++++++---------
 xen/arch/arm/efi/efi-boot.h              |   8 +-
 xen/arch/arm/efi/efi-dom0.c              |  13 +-
 xen/arch/arm/include/asm/domain_build.h  |   6 +-
 xen/arch/arm/include/asm/kernel.h        |  27 ++-
 xen/arch/arm/include/asm/setup.h         |  81 ++++++-
 xen/arch/arm/include/asm/static-memory.h |  13 ++
 xen/arch/arm/include/asm/static-shmem.h  |  62 +++++-
 xen/arch/arm/io.c                        |  11 +-
 xen/arch/arm/kernel.c                    |  12 +-
 xen/arch/arm/setup.c                     |  97 ++++++---
 xen/arch/arm/static-memory.c             |  35 ++-
 xen/arch/arm/static-shmem.c              | 260 ++++++++++++++++++-----
 xen/arch/x86/extable.c                   |   5 +-
 xen/common/device_tree.c                 | 140 ++++++++++++
 xen/include/xen/device_tree.h            |  19 ++
 xen/include/xen/sort.h                   |  14 +-
 22 files changed, 881 insertions(+), 290 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702252.1097227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vQ-0005oi-8g; Tue, 09 Apr 2024 11:46:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702252.1097227; Tue, 09 Apr 2024 11:46:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vQ-0005nr-04; Tue, 09 Apr 2024 11:46:04 +0000
Received: by outflank-mailman (input) for mailman id 702252;
 Tue, 09 Apr 2024 11:46: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vO-0004JG-KU
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id bc880f6b-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:46:00 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6B88A1650;
 Tue,  9 Apr 2024 04:46:30 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 57BB73F766;
 Tue,  9 Apr 2024 04:45: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: bc880f6b-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 06/13] xen/arm: Avoid code duplication in find_unallocated_memory
Date: Tue,  9 Apr 2024 12:45:36 +0100
Message-Id: <20240409114543.3332150-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function find_unallocated_memory is using the same code to
loop through 3 structure of the same type, in order to avoid
code duplication, rework the code to have only one loop that
goes through all the structures.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - Add comment in the loop inside find_unallocated_memory to
   improve readability
v1:
 - new patch
---
---
 xen/arch/arm/domain_build.c | 70 +++++++++++++------------------------
 1 file changed, 25 insertions(+), 45 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 57cf92668ae6..269aaff4d067 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -869,12 +869,14 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
                                           struct membanks *ext_regions)
 {
-    const struct membanks *kinfo_mem = kernel_info_get_mem_const(kinfo);
-    const struct membanks *mem = bootinfo_get_mem();
-    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+    const struct membanks *mem_banks[] = {
+        bootinfo_get_mem(),
+        kernel_info_get_mem_const(kinfo),
+        bootinfo_get_reserved_mem(),
+    };
     struct rangeset *unalloc_mem;
     paddr_t start, end;
-    unsigned int i;
+    unsigned int i, j;
     int res;
 
     dt_dprintk("Find unallocated memory for extended regions\n");
@@ -883,50 +885,28 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     if ( !unalloc_mem )
         return -ENOMEM;
 
-    /* Start with all available RAM */
-    for ( i = 0; i < mem->nr_banks; i++ )
-    {
-        start = mem->bank[i].start;
-        end = mem->bank[i].start + mem->bank[i].size;
-        res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
-                                 PFN_DOWN(end - 1));
-        if ( res )
+    /*
+     * Exclude the following regions, in order:
+     * 1) Start with all available RAM
+     * 2) Remove RAM assigned to Dom0
+     * 3) Remove reserved memory
+     * The order comes from the initialization of the variable "mem_banks"
+     * above
+     */
+    for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ )
+        for ( j = 0; j < mem_banks[i]->nr_banks; j++ )
         {
-            printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
-                   start, end);
-            goto out;
-        }
-    }
-
-    /* Remove RAM assigned to Dom0 */
-    for ( i = 0; i < kinfo_mem->nr_banks; i++ )
-    {
-        start = kinfo_mem->bank[i].start;
-        end = kinfo_mem->bank[i].start + kinfo_mem->bank[i].size;
-        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
+            start = mem_banks[i]->bank[j].start;
+            end = mem_banks[i]->bank[j].start + mem_banks[i]->bank[j].size;
+            res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
                                     PFN_DOWN(end - 1));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
-                   start, end);
-            goto out;
-        }
-    }
-
-    /* Remove reserved-memory regions */
-    for ( i = 0; i < reserved_mem->nr_banks; i++ )
-    {
-        start = reserved_mem->bank[i].start;
-        end = reserved_mem->bank[i].start + reserved_mem->bank[i].size;
-        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
-                                    PFN_DOWN(end - 1));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
-                   start, end);
-            goto out;
+            if ( res )
+            {
+                printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
+                    start, end);
+                goto out;
+            }
         }
-    }
 
     /* Remove grant table region */
     if ( kinfo->gnttab_size )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702248.1097190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vM-00050L-Nh; Tue, 09 Apr 2024 11:46:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702248.1097190; Tue, 09 Apr 2024 11:46:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vM-00050E-Kw; Tue, 09 Apr 2024 11:46:00 +0000
Received: by outflank-mailman (input) for mailman id 702248;
 Tue, 09 Apr 2024 11:45:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vL-0004JG-1B
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:45:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ba669c3c-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:45:57 +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 D68F41007;
 Tue,  9 Apr 2024 04:46:26 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C2D263F766;
 Tue,  9 Apr 2024 04:45:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba669c3c-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 03/13] xen/arm: Pass struct kernel_info parameter to make_resv_memory_node
Date: Tue,  9 Apr 2024 12:45:33 +0100
Message-Id: <20240409114543.3332150-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The struct domain parameter is not used in make_resv_memory_node
and in its called function make_shm_memory_node, so drop it from
both function, also, take the occasion to pass directly
struct kernel_info, from which we can infer other parameter
passed to the functions and drop them as well.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - new patch
---
---
 xen/arch/arm/dom0less-build.c           |  3 +--
 xen/arch/arm/domain_build.c             |  3 +--
 xen/arch/arm/include/asm/static-shmem.h |  9 ++++-----
 xen/arch/arm/static-shmem.c             | 16 +++++++++-------
 4 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index fb63ec6fd111..0edc5357caef 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -645,8 +645,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     if ( ret )
         goto err;
 
-    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                &kinfo->shm_mem);
+    ret = make_resv_memory_node(kinfo, addrcells, sizecells);
     if ( ret )
         goto err;
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 085d88671ebc..b497fb6a3090 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1770,8 +1770,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                 return res;
         }
 
-        res = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                    &kinfo->shm_mem);
+        res = make_resv_memory_node(kinfo, addrcells, sizecells);
         if ( res )
             return res;
     }
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 1536ff18b895..680594b6843d 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -7,8 +7,8 @@
 
 #ifdef CONFIG_STATIC_SHM
 
-int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
-                          int sizecells, const struct meminfo *mem);
+int make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
+                          int sizecells);
 
 int process_shm(struct domain *d, struct kernel_info *kinfo,
                 const struct dt_device_node *node);
@@ -26,9 +26,8 @@ int process_shm_node(const void *fdt, int node, uint32_t address_cells,
 
 #else /* !CONFIG_STATIC_SHM */
 
-static inline int make_resv_memory_node(const struct domain *d, void *fdt,
-                                        int addrcells, int sizecells,
-                                        const struct meminfo *mem)
+static inline int make_resv_memory_node(const struct kernel_info *kinfo,
+                                        int addrcells, int sizecells)
 {
     return 0;
 }
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 40a0e860c79d..349b85667684 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -277,10 +277,11 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init make_shm_memory_node(const struct domain *d, void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
+static int __init make_shm_memory_node(const struct kernel_info *kinfo,
+                                       int addrcells, int sizecells)
 {
+    const struct meminfo *mem = &kinfo->shm_mem;
+    void *fdt = kinfo->fdt;
     unsigned int i = 0;
     int res = 0;
 
@@ -488,10 +489,11 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     return 0;
 }
 
-int __init make_resv_memory_node(const struct domain *d, void *fdt,
-                                 int addrcells, int sizecells,
-                                 const struct meminfo *mem)
+int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
+                                 int sizecells)
 {
+    const struct meminfo *mem = &kinfo->shm_mem;
+    void *fdt = kinfo->fdt;
     int res = 0;
     /* Placeholder for reserved-memory\0 */
     const char resvbuf[16] = "reserved-memory";
@@ -518,7 +520,7 @@ int __init make_resv_memory_node(const struct domain *d, void *fdt,
     if ( res )
         return res;
 
-    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
+    res = make_shm_memory_node(kinfo, addrcells, sizecells);
     if ( res )
         return res;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702250.1097201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vO-0005Fw-2l; Tue, 09 Apr 2024 11:46:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702250.1097201; Tue, 09 Apr 2024 11:46: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 1ru9vN-0005Fn-T5; Tue, 09 Apr 2024 11:46:01 +0000
Received: by outflank-mailman (input) for mailman id 702250;
 Tue, 09 Apr 2024 11:46: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vM-0004JL-Nz
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id bb36dc04-f666-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 13:45:58 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 37D0015DB;
 Tue,  9 Apr 2024 04:46:28 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DEDB53F766;
 Tue,  9 Apr 2024 04:45: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: bb36dc04-f666-11ee-b907-491648fe20b8
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 04/13] xen/arm: Introduce a generic way to access memory bank structures
Date: Tue,  9 Apr 2024 12:45:34 +0100
Message-Id: <20240409114543.3332150-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the 'stuct meminfo' is defining a static defined array of
'struct membank' of NR_MEM_BANKS elements, some feature like
shared memory don't require such amount of memory allocation but
might want to reuse existing code to manipulate this kind of
structure that is just as 'struct meminfo' but less bulky.

For this reason introduce a generic way to access this kind of
structure using a new structure 'struct membanks', which implements
all the fields needed by a structure related to memory banks
without the need to specify at build time the size of the
'struct membank' array, using a flexible array member.

Modify 'struct meminfo' to implement the field related to the new
introduced structure, given the change all usage of this structure
are updated in this way:
 - code accessing bootinfo.{mem,reserved_mem,acpi} field now uses
   3 new introduced static inline helpers to access the new field
   of 'struct meminfo' named 'common'.
 - code accessing 'struct kernel_info *' member 'mem' now use the
   new introduced macro 'kernel_info_get_mem(...)' to access the
   new field of 'struct meminfo' named 'common'.

Constify pointers where needed.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - Fixed typos in commit message and mention flexible array member
 - Add static assert for struct membanks
 - use static inline for the kernel_info structure instead of macro
 - use xzalloc_flex_struct inside make_hypervisor_node instead of
   xzalloc
 - Fix trailing backslash style
v1:
 - new patch
---
---
 xen/arch/arm/acpi/domain_build.c        |   6 +-
 xen/arch/arm/arm32/mmu/mm.c             |  44 +++++-----
 xen/arch/arm/arm64/mmu/mm.c             |   2 +-
 xen/arch/arm/bootfdt.c                  |  39 ++++++---
 xen/arch/arm/dom0less-build.c           |  16 ++--
 xen/arch/arm/domain_build.c             | 103 +++++++++++++-----------
 xen/arch/arm/efi/efi-boot.h             |   8 +-
 xen/arch/arm/efi/efi-dom0.c             |  13 +--
 xen/arch/arm/include/asm/domain_build.h |   2 +-
 xen/arch/arm/include/asm/kernel.h       |  17 ++++
 xen/arch/arm/include/asm/setup.h        |  40 ++++++++-
 xen/arch/arm/kernel.c                   |  12 +--
 xen/arch/arm/setup.c                    |  58 +++++++------
 xen/arch/arm/static-memory.c            |  27 ++++---
 xen/arch/arm/static-shmem.c             |  34 ++++----
 15 files changed, 258 insertions(+), 163 deletions(-)

diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
index b58389ce9e9f..2ce75543d004 100644
--- a/xen/arch/arm/acpi/domain_build.c
+++ b/xen/arch/arm/acpi/domain_build.c
@@ -444,14 +444,14 @@ static int __init acpi_create_fadt(struct domain *d, struct membank tbl_add[])
 }
 
 static int __init estimate_acpi_efi_size(struct domain *d,
-                                         struct kernel_info *kinfo)
+                                         const struct kernel_info *kinfo)
 {
     size_t efi_size, acpi_size, madt_size;
     u64 addr;
     struct acpi_table_rsdp *rsdp_tbl;
     struct acpi_table_header *table;
 
-    efi_size = estimate_efi_size(kinfo->mem.nr_banks);
+    efi_size = estimate_efi_size(kernel_info_get_mem_const(kinfo)->nr_banks);
 
     acpi_size = ROUNDUP(sizeof(struct acpi_table_fadt), 8);
     acpi_size += ROUNDUP(sizeof(struct acpi_table_stao), 8);
@@ -546,7 +546,7 @@ int __init prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 
     acpi_map_other_tables(d);
     acpi_create_efi_system_table(d, tbl_add);
-    acpi_create_efi_mmap_table(d, &kinfo->mem, tbl_add);
+    acpi_create_efi_mmap_table(d, kernel_info_get_mem(kinfo), tbl_add);
 
     /* Map the EFI and ACPI tables to Dom0 */
     rc = map_regions_p2mt(d,
diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index cb441ca87c0d..e6bb5d934c16 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -41,6 +41,7 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
                                        uint32_t size, paddr_t align,
                                        int first_mod)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     const struct bootmodules *mi = &bootinfo.modules;
     int i;
     int nr;
@@ -99,15 +100,14 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
      * possible kinds of bootmodules.
      *
      * When retrieving the corresponding reserved-memory addresses, we
-     * need to index the bootinfo.reserved_mem bank starting from 0, and
-     * only counting the reserved-memory modules. Hence, we need to use
-     * i - nr.
+     * need to index the reserved_mem bank starting from 0, and only counting
+     * the reserved-memory modules. Hence, we need to use i - nr.
      */
     nr += mi->nr_mods;
-    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( ; i - nr < reserved_mem->nr_banks; i++ )
     {
-        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
-        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
+        paddr_t r_s = reserved_mem->bank[i - nr].start;
+        paddr_t r_e = r_s + reserved_mem->bank[i - nr].size;
 
         if ( s < r_e && r_s < e )
         {
@@ -128,17 +128,18 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
  */
 static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int i;
     paddr_t end = 0, aligned_start, aligned_end;
     paddr_t bank_start, bank_size, bank_end;
 
-    for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( i = 0 ; i < reserved_mem->nr_banks; i++ )
     {
-        if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+        if ( reserved_mem->bank[i].type != MEMBANK_STATIC_HEAP )
             continue;
 
-        bank_start = bootinfo.reserved_mem.bank[i].start;
-        bank_size = bootinfo.reserved_mem.bank[i].size;
+        bank_start = reserved_mem->bank[i].start;
+        bank_size = reserved_mem->bank[i].size;
         bank_end = bank_start + bank_size;
 
         if ( bank_size < size )
@@ -161,13 +162,14 @@ static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
 
 void __init setup_mm(void)
 {
+    const struct membanks *mem = bootinfo_get_mem();
     paddr_t ram_start, ram_end, ram_size, e, bank_start, bank_end, bank_size;
     paddr_t static_heap_end = 0, static_heap_size = 0;
     unsigned long heap_pages, xenheap_pages, domheap_pages;
     unsigned int i;
     const uint32_t ctr = READ_CP32(CTR);
 
-    if ( !bootinfo.mem.nr_banks )
+    if ( !mem->nr_banks )
         panic("No memory bank\n");
 
     /* We only supports instruction caches implementing the IVIPT extension. */
@@ -176,14 +178,14 @@ void __init setup_mm(void)
 
     init_pdx();
 
-    ram_start = bootinfo.mem.bank[0].start;
-    ram_size  = bootinfo.mem.bank[0].size;
+    ram_start = mem->bank[0].start;
+    ram_size  = mem->bank[0].size;
     ram_end   = ram_start + ram_size;
 
-    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
+    for ( i = 1; i < mem->nr_banks; i++ )
     {
-        bank_start = bootinfo.mem.bank[i].start;
-        bank_size = bootinfo.mem.bank[i].size;
+        bank_start = mem->bank[i].start;
+        bank_size = mem->bank[i].size;
         bank_end = bank_start + bank_size;
 
         ram_size  = ram_size + bank_size;
@@ -195,13 +197,15 @@ void __init setup_mm(void)
 
     if ( bootinfo.static_heap )
     {
-        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+
+        for ( i = 0 ; i < reserved_mem->nr_banks; i++ )
         {
-            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+            if ( reserved_mem->bank[i].type != MEMBANK_STATIC_HEAP )
                 continue;
 
-            bank_start = bootinfo.reserved_mem.bank[i].start;
-            bank_size = bootinfo.reserved_mem.bank[i].size;
+            bank_start = reserved_mem->bank[i].start;
+            bank_size = reserved_mem->bank[i].size;
             bank_end = bank_start + bank_size;
 
             static_heap_size += bank_size;
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index d2651c948698..f8aaf4ac18be 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -194,7 +194,7 @@ static void __init setup_directmap_mappings(unsigned long base_mfn,
 
 void __init setup_mm(void)
 {
-    const struct meminfo *banks = &bootinfo.mem;
+    const struct membanks *banks = bootinfo_get_mem();
     paddr_t ram_start = INVALID_PADDR;
     paddr_t ram_end = 0;
     paddr_t ram_size = 0;
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 35dbdf3384cb..4c80962f79d4 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -17,6 +17,18 @@
 #include <asm/setup.h>
 #include <asm/static-shmem.h>
 
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * Check that no padding is between struct membanks "bank" flexible array
+     * member and struct meminfo "bank" member
+     */
+    BUILD_BUG_ON((offsetof(struct membanks, bank) !=
+                 offsetof(struct meminfo, bank)));
+    /* Ensure "struct membanks" is 8-byte aligned */
+    BUILD_BUG_ON(alignof(struct membanks) != 8);
+}
+
 static bool __init device_tree_node_is_available(const void *fdt, int node)
 {
     const char *status;
@@ -107,14 +119,14 @@ void __init device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
 static int __init device_tree_get_meminfo(const void *fdt, int node,
                                           const char *prop_name,
                                           u32 address_cells, u32 size_cells,
-                                          void *data, enum membank_type type)
+                                          struct membanks *mem,
+                                          enum membank_type type)
 {
     const struct fdt_property *prop;
     unsigned int i, banks;
     const __be32 *cell;
     u32 reg_cells = address_cells + size_cells;
     paddr_t start, size;
-    struct meminfo *mem = data;
 
     if ( !device_tree_node_is_available(fdt, node) )
         return 0;
@@ -133,10 +145,10 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     cell = (const __be32 *)prop->data;
     banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof (u32));
 
-    for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
+    for ( i = 0; i < banks && mem->nr_banks < mem->max_banks; i++ )
     {
         device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
-        if ( mem == &bootinfo.reserved_mem &&
+        if ( mem == bootinfo_get_reserved_mem() &&
              check_reserved_regions_overlap(start, size) )
             return -EINVAL;
         /* Some DT may describe empty bank, ignore them */
@@ -231,10 +243,10 @@ int __init device_tree_for_each_node(const void *fdt, int node,
 static int __init process_memory_node(const void *fdt, int node,
                                       const char *name, int depth,
                                       u32 address_cells, u32 size_cells,
-                                      void *data)
+                                      struct membanks *mem)
 {
     return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells,
-                                   data, MEMBANK_DEFAULT);
+                                   mem, MEMBANK_DEFAULT);
 }
 
 static int __init process_reserved_memory_node(const void *fdt, int node,
@@ -259,7 +271,7 @@ static int __init process_reserved_memory(const void *fdt, int node,
 {
     return device_tree_for_each_node(fdt, node,
                                      process_reserved_memory_node,
-                                     &bootinfo.reserved_mem);
+                                     bootinfo_get_reserved_mem());
 }
 
 static void __init process_multiboot_node(const void *fdt, int node,
@@ -358,7 +370,7 @@ static int __init process_chosen_node(const void *fdt, int node,
 
         rc = device_tree_get_meminfo(fdt, node, "xen,static-heap",
                                      address_cells, size_cells,
-                                     &bootinfo.reserved_mem,
+                                     bootinfo_get_reserved_mem(),
                                      MEMBANK_STATIC_HEAP);
         if ( rc )
             return rc;
@@ -420,7 +432,7 @@ static int __init process_domain_node(const void *fdt, int node,
         return 0;
 
     return device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
-                                   size_cells, &bootinfo.reserved_mem,
+                                   size_cells, bootinfo_get_reserved_mem(),
                                    MEMBANK_STATIC_DOMAIN);
 }
 
@@ -438,7 +450,7 @@ static int __init early_scan_node(const void *fdt,
     if ( !efi_enabled(EFI_BOOT) &&
          device_tree_node_matches(fdt, node, "memory") )
         rc = process_memory_node(fdt, node, name, depth,
-                                 address_cells, size_cells, &bootinfo.mem);
+                                 address_cells, size_cells, bootinfo_get_mem());
     else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )
         rc = process_reserved_memory(fdt, node, name, depth,
                                      address_cells, size_cells);
@@ -459,8 +471,8 @@ static int __init early_scan_node(const void *fdt,
 
 static void __init early_print_info(void)
 {
-    struct meminfo *mi = &bootinfo.mem;
-    struct meminfo *mem_resv = &bootinfo.reserved_mem;
+    const struct membanks *mi = bootinfo_get_mem();
+    const struct membanks *mem_resv = bootinfo_get_reserved_mem();
     struct bootmodules *mods = &bootinfo.modules;
     struct bootcmdlines *cmds = &bootinfo.cmdlines;
     unsigned int i, j;
@@ -537,6 +549,7 @@ static void __init swap_memory_node(void *_a, void *_b, size_t size)
  */
 size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
 {
+    struct membanks *mem = bootinfo_get_mem();
     int ret;
 
     ret = fdt_check_header(fdt);
@@ -554,7 +567,7 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
      * bank in memory first. There is no requirement that the DT will provide
      * the banks sorted in ascending order. So sort them through.
      */
-    sort(bootinfo.mem.bank, bootinfo.mem.nr_banks, sizeof(struct membank),
+    sort(mem->bank, mem->nr_banks, sizeof(struct membank),
          cmp_memory_node, swap_memory_node);
 
     early_print_info();
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 0edc5357caef..51cf03221d56 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -50,6 +50,7 @@ bool __init is_dom0less_mode(void)
 
 static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     unsigned int i;
     paddr_t bank_size;
 
@@ -57,7 +58,7 @@ static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
            /* Don't want format this as PRIpaddr (16 digit hex) */
            (unsigned long)(kinfo->unassigned_mem >> 20), d);
 
-    kinfo->mem.nr_banks = 0;
+    mem->nr_banks = 0;
     bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
     if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
                                bank_size) )
@@ -71,15 +72,15 @@ static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
     if ( kinfo->unassigned_mem )
         goto fail;
 
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    for( i = 0; i < mem->nr_banks; i++ )
     {
         printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
                d,
                i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               mem->bank[i].start,
+               mem->bank[i].start + mem->bank[i].size,
                /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+               (unsigned long)(mem->bank[i].size >> 20));
     }
 
     return;
@@ -641,7 +642,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     if ( ret )
         goto err;
 
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                           kernel_info_get_mem(kinfo));
     if ( ret )
         goto err;
 
@@ -740,7 +742,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
-    struct kernel_info kinfo = {};
+    struct kernel_info kinfo = KERNEL_INFO_INIT;
     const char *dom0less_enhanced;
     int rc;
     u64 mem;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b497fb6a3090..57cf92668ae6 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -142,6 +142,7 @@ static bool __init insert_11_bank(struct domain *d,
                                   struct page_info *pg,
                                   unsigned int order)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     unsigned int i;
     int res;
     mfn_t smfn;
@@ -158,9 +159,9 @@ static bool __init insert_11_bank(struct domain *d,
              (unsigned long)(kinfo->unassigned_mem >> 20),
              order);
 
-    if ( kinfo->mem.nr_banks > 0 &&
+    if ( mem->nr_banks > 0 &&
          size < MB(128) &&
-         start + size < kinfo->mem.bank[0].start )
+         start + size < mem->bank[0].start )
     {
         D11PRINT("Allocation below bank 0 is too small, not using\n");
         goto fail;
@@ -172,17 +173,17 @@ static bool __init insert_11_bank(struct domain *d,
 
     kinfo->unassigned_mem -= size;
 
-    if ( kinfo->mem.nr_banks == 0 )
+    if ( mem->nr_banks == 0 )
     {
-        kinfo->mem.bank[0].start = start;
-        kinfo->mem.bank[0].size = size;
-        kinfo->mem.nr_banks = 1;
+        mem->bank[0].start = start;
+        mem->bank[0].size = size;
+        mem->nr_banks = 1;
         return true;
     }
 
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    for( i = 0; i < mem->nr_banks; i++ )
     {
-        struct membank *bank = &kinfo->mem.bank[i];
+        struct membank *bank = &mem->bank[i];
 
         /* If possible merge new memory into the start of the bank */
         if ( bank->start == start+size )
@@ -205,24 +206,24 @@ static bool __init insert_11_bank(struct domain *d,
          * could have inserted the memory into/before we would already
          * have done so, so this must be the right place.
          */
-        if ( start + size < bank->start && kinfo->mem.nr_banks < NR_MEM_BANKS )
+        if ( start + size < bank->start && mem->nr_banks < mem->max_banks )
         {
             memmove(bank + 1, bank,
-                    sizeof(*bank) * (kinfo->mem.nr_banks - i));
-            kinfo->mem.nr_banks++;
+                    sizeof(*bank) * (mem->nr_banks - i));
+            mem->nr_banks++;
             bank->start = start;
             bank->size = size;
             return true;
         }
     }
 
-    if ( i == kinfo->mem.nr_banks && kinfo->mem.nr_banks < NR_MEM_BANKS )
+    if ( i == mem->nr_banks && mem->nr_banks < mem->max_banks )
     {
-        struct membank *bank = &kinfo->mem.bank[kinfo->mem.nr_banks];
+        struct membank *bank = &mem->bank[mem->nr_banks];
 
         bank->start = start;
         bank->size = size;
-        kinfo->mem.nr_banks++;
+        mem->nr_banks++;
         return true;
     }
 
@@ -294,6 +295,7 @@ static void __init allocate_memory_11(struct domain *d,
     const unsigned int min_low_order =
         get_order_from_bytes(min_t(paddr_t, dom0_mem, MB(128)));
     const unsigned int min_order = get_order_from_bytes(MB(4));
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     struct page_info *pg;
     unsigned int order = get_allocation_size(kinfo->unassigned_mem);
     unsigned int i;
@@ -312,7 +314,7 @@ static void __init allocate_memory_11(struct domain *d,
            /* Don't want format this as PRIpaddr (16 digit hex) */
            (unsigned long)(kinfo->unassigned_mem >> 20));
 
-    kinfo->mem.nr_banks = 0;
+    mem->nr_banks = 0;
 
     /*
      * First try and allocate the largest thing we can as low as
@@ -350,7 +352,7 @@ static void __init allocate_memory_11(struct domain *d,
      * continue allocating from above the lowmem and fill in banks.
      */
     order = get_allocation_size(kinfo->unassigned_mem);
-    while ( kinfo->unassigned_mem && kinfo->mem.nr_banks < NR_MEM_BANKS )
+    while ( kinfo->unassigned_mem && mem->nr_banks < mem->max_banks )
     {
         pg = alloc_domheap_pages(d, order,
                                  lowmem ? MEMF_bits(lowmem_bitsize) : 0);
@@ -374,7 +376,7 @@ static void __init allocate_memory_11(struct domain *d,
 
         if ( !insert_11_bank(d, kinfo, pg, order) )
         {
-            if ( kinfo->mem.nr_banks == NR_MEM_BANKS )
+            if ( mem->nr_banks == mem->max_banks )
                 /* Nothing more we can do. */
                 break;
 
@@ -404,14 +406,14 @@ static void __init allocate_memory_11(struct domain *d,
         panic("Failed to allocate requested dom0 memory. %ldMB unallocated\n",
               (unsigned long)kinfo->unassigned_mem >> 20);
 
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    for( i = 0; i < mem->nr_banks; i++ )
     {
         printk("BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
                i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               mem->bank[i].start,
+               mem->bank[i].start + mem->bank[i].size,
                /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+               (unsigned long)(mem->bank[i].size >> 20));
     }
 }
 
@@ -419,6 +421,7 @@ static void __init allocate_memory_11(struct domain *d,
 bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                                  gfn_t sgfn, paddr_t tot_size)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     int res;
     struct page_info *pg;
     struct membank *bank;
@@ -432,7 +435,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
     if ( tot_size == 0 )
         return true;
 
-    bank = &kinfo->mem.bank[kinfo->mem.nr_banks];
+    bank = &mem->bank[mem->nr_banks];
     bank->start = gfn_to_gaddr(sgfn);
     bank->size = tot_size;
 
@@ -472,7 +475,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
         tot_size -= (1ULL << (PAGE_SHIFT + order));
     }
 
-    kinfo->mem.nr_banks++;
+    mem->nr_banks++;
     kinfo->unassigned_mem -= bank->size;
 
     return true;
@@ -757,7 +760,7 @@ int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
 int __init make_memory_node(const struct domain *d,
                             void *fdt,
                             int addrcells, int sizecells,
-                            struct meminfo *mem)
+                            const struct membanks *mem)
 {
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
@@ -817,12 +820,12 @@ int __init make_memory_node(const struct domain *d,
 static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                                   void *data)
 {
-    struct meminfo *ext_regions = data;
+    struct membanks *ext_regions = data;
     paddr_t start, size;
     paddr_t s = pfn_to_paddr(s_gfn);
     paddr_t e = pfn_to_paddr(e_gfn);
 
-    if ( ext_regions->nr_banks >= ARRAY_SIZE(ext_regions->bank) )
+    if ( ext_regions->nr_banks >= ext_regions->max_banks )
         return 0;
 
     /*
@@ -864,9 +867,11 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
  * - grant table space
  */
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
-                                          struct meminfo *ext_regions)
+                                          struct membanks *ext_regions)
 {
-    const struct meminfo *assign_mem = &kinfo->mem;
+    const struct membanks *kinfo_mem = kernel_info_get_mem_const(kinfo);
+    const struct membanks *mem = bootinfo_get_mem();
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     struct rangeset *unalloc_mem;
     paddr_t start, end;
     unsigned int i;
@@ -879,10 +884,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
         return -ENOMEM;
 
     /* Start with all available RAM */
-    for ( i = 0; i < bootinfo.mem.nr_banks; i++ )
+    for ( i = 0; i < mem->nr_banks; i++ )
     {
-        start = bootinfo.mem.bank[i].start;
-        end = bootinfo.mem.bank[i].start + bootinfo.mem.bank[i].size;
+        start = mem->bank[i].start;
+        end = mem->bank[i].start + mem->bank[i].size;
         res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
                                  PFN_DOWN(end - 1));
         if ( res )
@@ -894,10 +899,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     }
 
     /* Remove RAM assigned to Dom0 */
-    for ( i = 0; i < assign_mem->nr_banks; i++ )
+    for ( i = 0; i < kinfo_mem->nr_banks; i++ )
     {
-        start = assign_mem->bank[i].start;
-        end = assign_mem->bank[i].start + assign_mem->bank[i].size;
+        start = kinfo_mem->bank[i].start;
+        end = kinfo_mem->bank[i].start + kinfo_mem->bank[i].size;
         res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
                                     PFN_DOWN(end - 1));
         if ( res )
@@ -909,11 +914,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     }
 
     /* Remove reserved-memory regions */
-    for ( i = 0; i < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( i = 0; i < reserved_mem->nr_banks; i++ )
     {
-        start = bootinfo.reserved_mem.bank[i].start;
-        end = bootinfo.reserved_mem.bank[i].start +
-            bootinfo.reserved_mem.bank[i].size;
+        start = reserved_mem->bank[i].start;
+        end = reserved_mem->bank[i].start + reserved_mem->bank[i].size;
         res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
                                     PFN_DOWN(end - 1));
         if ( res )
@@ -991,7 +995,7 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
  * - PCI aperture
  */
 static int __init find_memory_holes(const struct kernel_info *kinfo,
-                                    struct meminfo *ext_regions)
+                                    struct membanks *ext_regions)
 {
     struct dt_device_node *np;
     struct rangeset *mem_holes;
@@ -1081,19 +1085,20 @@ out:
 }
 
 static int __init find_domU_holes(const struct kernel_info *kinfo,
-                                  struct meminfo *ext_regions)
+                                  struct membanks *ext_regions)
 {
     unsigned int i;
     uint64_t bankend;
     const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
     const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
+    const struct membanks *kinfo_mem = kernel_info_get_mem_const(kinfo);
     int res = -ENOENT;
 
     for ( i = 0; i < GUEST_RAM_BANKS; i++ )
     {
         struct membank *ext_bank = &(ext_regions->bank[ext_regions->nr_banks]);
 
-        ext_bank->start = ROUNDUP(bankbase[i] + kinfo->mem.bank[i].size, SZ_2M);
+        ext_bank->start = ROUNDUP(bankbase[i] + kinfo_mem->bank[i].size, SZ_2M);
 
         bankend = ~0ULL >> (64 - p2m_ipa_bits);
         bankend = min(bankend, bankbase[i] + banksize[i] - 1);
@@ -1121,7 +1126,7 @@ int __init make_hypervisor_node(struct domain *d,
     gic_interrupt_t intr;
     int res;
     void *fdt = kinfo->fdt;
-    struct meminfo *ext_regions = NULL;
+    struct membanks *ext_regions = NULL;
     unsigned int i, nr_ext_regions;
 
     dt_dprintk("Create hypervisor node\n");
@@ -1157,10 +1162,12 @@ int __init make_hypervisor_node(struct domain *d,
     }
     else
     {
-        ext_regions = xzalloc(struct meminfo);
+        ext_regions = xzalloc_flex_struct(struct membanks, bank, NR_MEM_BANKS);
         if ( !ext_regions )
             return -ENOMEM;
 
+        ext_regions->max_banks = NR_MEM_BANKS;
+
         if ( is_domain_direct_mapped(d) )
         {
             if ( !is_iommu_enabled(d) )
@@ -1729,6 +1736,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
 
     if ( node == dt_host )
     {
+        const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
         int addrcells = dt_child_n_addr_cells(node);
         int sizecells = dt_child_n_size_cells(node);
 
@@ -1754,7 +1762,8 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
-        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                               kernel_info_get_mem(kinfo));
         if ( res )
             return res;
 
@@ -1762,10 +1771,10 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
          * Create a second memory node to store the ranges covering
          * reserved-memory regions.
          */
-        if ( bootinfo.reserved_mem.nr_banks > 0 )
+        if ( reserved_mem->nr_banks > 0 )
         {
             res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                   &bootinfo.reserved_mem);
+                                   reserved_mem);
             if ( res )
                 return res;
         }
@@ -2039,7 +2048,7 @@ int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 
 static int __init construct_dom0(struct domain *d)
 {
-    struct kernel_info kinfo = {};
+    struct kernel_info kinfo = KERNEL_INFO_INIT;
     int rc;
 
     /* Sanity! */
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 0cb29f90a066..199f5260229d 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -157,14 +157,14 @@ static void __init *lookup_fdt_config_table(EFI_SYSTEM_TABLE *sys_table)
     return fdt;
 }
 
-static bool __init meminfo_add_bank(struct meminfo *mem,
+static bool __init meminfo_add_bank(struct membanks *mem,
                                     EFI_MEMORY_DESCRIPTOR *desc)
 {
     struct membank *bank;
     paddr_t start = desc->PhysicalStart;
     paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
 
-    if ( mem->nr_banks >= NR_MEM_BANKS )
+    if ( mem->nr_banks >= mem->max_banks )
         return false;
 #ifdef CONFIG_ACPI
     if ( check_reserved_regions_overlap(start, size) )
@@ -198,7 +198,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
                (desc_ptr->Type == EfiBootServicesCode ||
                 desc_ptr->Type == EfiBootServicesData))) )
         {
-            if ( !meminfo_add_bank(&bootinfo.mem, desc_ptr) )
+            if ( !meminfo_add_bank(bootinfo_get_mem(), desc_ptr) )
             {
                 PrintStr(L"Warning: All " __stringify(NR_MEM_BANKS)
                           " bootinfo mem banks exhausted.\r\n");
@@ -208,7 +208,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
 #ifdef CONFIG_ACPI
         else if ( desc_ptr->Type == EfiACPIReclaimMemory )
         {
-            if ( !meminfo_add_bank(&bootinfo.acpi, desc_ptr) )
+            if ( !meminfo_add_bank(bootinfo_get_acpi(), desc_ptr) )
             {
                 PrintStr(L"Error: All " __stringify(NR_MEM_BANKS)
                           " acpi meminfo mem banks exhausted.\r\n");
diff --git a/xen/arch/arm/efi/efi-dom0.c b/xen/arch/arm/efi/efi-dom0.c
index aae0f979112a..baee8ab716cb 100644
--- a/xen/arch/arm/efi/efi-dom0.c
+++ b/xen/arch/arm/efi/efi-dom0.c
@@ -44,7 +44,7 @@ size_t __init estimate_efi_size(unsigned int mem_nr_banks)
     unsigned int acpi_mem_nr_banks = 0;
 
     if ( !acpi_disabled )
-        acpi_mem_nr_banks = bootinfo.acpi.nr_banks;
+        acpi_mem_nr_banks = bootinfo_get_acpi()->nr_banks;
 
     size = ROUNDUP(est_size + ect_size + fw_vendor_size, 8);
     /* plus 1 for new created tables */
@@ -107,9 +107,10 @@ static void __init fill_efi_memory_descriptor(EFI_MEMORY_DESCRIPTOR *desc,
 }
 
 void __init acpi_create_efi_mmap_table(struct domain *d,
-                                       const struct meminfo *mem,
+                                       const struct membanks *mem,
                                        struct membank tbl_add[])
 {
+    const struct membanks *acpi = bootinfo_get_acpi();
     EFI_MEMORY_DESCRIPTOR *desc;
     unsigned int i;
     u8 *base_ptr;
@@ -122,10 +123,10 @@ void __init acpi_create_efi_mmap_table(struct domain *d,
         fill_efi_memory_descriptor(desc, EfiConventionalMemory,
                                    mem->bank[i].start, mem->bank[i].size);
 
-    for ( i = 0; i < bootinfo.acpi.nr_banks; i++, desc++ )
+    for ( i = 0; i < acpi->nr_banks; i++, desc++ )
         fill_efi_memory_descriptor(desc, EfiACPIReclaimMemory,
-                                   bootinfo.acpi.bank[i].start,
-                                   bootinfo.acpi.bank[i].size);
+                                   acpi->bank[i].start,
+                                   acpi->bank[i].size);
 
     fill_efi_memory_descriptor(desc, EfiACPIReclaimMemory,
                                d->arch.efi_acpi_gpa, d->arch.efi_acpi_len);
@@ -133,7 +134,7 @@ void __init acpi_create_efi_mmap_table(struct domain *d,
     tbl_add[TBL_MMAP].start = d->arch.efi_acpi_gpa
                               + acpi_get_table_offset(tbl_add, TBL_MMAP);
     tbl_add[TBL_MMAP].size = sizeof(EFI_MEMORY_DESCRIPTOR)
-                             * (mem->nr_banks + bootinfo.acpi.nr_banks + 1);
+                             * (mem->nr_banks + acpi->nr_banks + 1);
 }
 
 /* Create /hypervisor/uefi node for efi properties. */
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index da9e6025f37c..a6f276cc4263 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -15,7 +15,7 @@ int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
                          int addrcells, int sizecells);
 int make_memory_node(const struct domain *d, void *fdt, int addrcells,
-                     int sizecells, struct meminfo *mem);
+                     int sizecells, const struct membanks *mem);
 int make_psci_node(void *fdt);
 int make_timer_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 0a23e86c2d37..1730854d7f3c 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -78,6 +78,23 @@ struct kernel_info {
     };
 };
 
+static inline struct membanks *kernel_info_get_mem(struct kernel_info *kinfo)
+{
+    return &kinfo->mem.common;
+}
+
+static inline const struct membanks *
+kernel_info_get_mem_const(const struct kernel_info *kinfo)
+{
+    return &kinfo->mem.common;
+}
+
+#define KERNEL_INFO_INIT                        \
+{                                               \
+    .mem.common.max_banks = NR_MEM_BANKS,       \
+    .shm_mem.common.max_banks = NR_MEM_BANKS,   \
+}
+
 /*
  * Probe the kernel to detemine its type and select a loader.
  *
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index d15a88d2e0d1..696f55db86b1 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -56,8 +56,14 @@ struct membank {
 #endif
 };
 
-struct meminfo {
+struct membanks {
     unsigned int nr_banks;
+    unsigned int max_banks;
+    struct membank bank[];
+};
+
+struct meminfo {
+    struct membanks common;
     struct membank bank[NR_MEM_BANKS];
 };
 
@@ -107,6 +113,19 @@ struct bootinfo {
     bool static_heap;
 };
 
+#ifdef CONFIG_ACPI
+#define BOOTINFO_ACPI_INIT .acpi.common.max_banks = NR_MEM_BANKS,
+#else
+#define BOOTINFO_ACPI_INIT
+#endif
+
+#define BOOTINFO_INIT                               \
+{                                                   \
+    .mem.common.max_banks = NR_MEM_BANKS,           \
+    .reserved_mem.common.max_banks = NR_MEM_BANKS,  \
+    BOOTINFO_ACPI_INIT                              \
+}
+
 struct map_range_data
 {
     struct domain *d;
@@ -122,6 +141,23 @@ extern struct bootinfo bootinfo;
 
 extern domid_t max_init_domid;
 
+static inline struct membanks *bootinfo_get_mem(void)
+{
+    return &bootinfo.mem.common;
+}
+
+static inline struct membanks *bootinfo_get_reserved_mem(void)
+{
+    return &bootinfo.reserved_mem.common;
+}
+
+#ifdef CONFIG_ACPI
+static inline struct membanks *bootinfo_get_acpi(void)
+{
+    return &bootinfo.acpi.common;
+}
+#endif
+
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
 
 size_t estimate_efi_size(unsigned int mem_nr_banks);
@@ -130,7 +166,7 @@ void acpi_create_efi_system_table(struct domain *d,
                                   struct membank tbl_add[]);
 
 void acpi_create_efi_mmap_table(struct domain *d,
-                                const struct meminfo *mem,
+                                const struct membanks *mem,
                                 struct membank tbl_add[]);
 
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index bc3e5bd6f940..674388fa11a2 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -45,13 +45,14 @@ static void __init place_modules(struct kernel_info *info,
 {
     /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
     const struct bootmodule *mod = info->initrd_bootmodule;
+    const struct membanks *mem = kernel_info_get_mem(info);
     const paddr_t initrd_len = ROUNDUP(mod ? mod->size : 0, MB(2));
     const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
     const paddr_t modsize = initrd_len + dtb_len;
 
     /* Convenient */
-    const paddr_t rambase = info->mem.bank[0].start;
-    const paddr_t ramsize = info->mem.bank[0].size;
+    const paddr_t rambase = mem->bank[0].start;
+    const paddr_t ramsize = mem->bank[0].size;
     const paddr_t ramend = rambase + ramsize;
     const paddr_t kernsize = ROUNDUP(kernend, MB(2)) - kernbase;
     const paddr_t ram128mb = rambase + MB(128);
@@ -96,11 +97,12 @@ static void __init place_modules(struct kernel_info *info,
 
 static paddr_t __init kernel_zimage_place(struct kernel_info *info)
 {
+    const struct membanks *mem = kernel_info_get_mem(info);
     paddr_t load_addr;
 
 #ifdef CONFIG_ARM_64
     if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
-        return info->mem.bank[0].start + info->zimage.text_offset;
+        return mem->bank[0].start + info->zimage.text_offset;
 #endif
 
     /*
@@ -113,8 +115,8 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
     {
         paddr_t load_end;
 
-        load_end = info->mem.bank[0].start + info->mem.bank[0].size;
-        load_end = MIN(info->mem.bank[0].start + MB(128), load_end);
+        load_end = mem->bank[0].start + mem->bank[0].size;
+        load_end = MIN(mem->bank[0].start + MB(128), load_end);
 
         load_addr = load_end - info->zimage.len;
         /* Align to 2MB */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 424744ad5e1a..02bd27eb0c69 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -48,7 +48,7 @@
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
 
-struct bootinfo __initdata bootinfo;
+struct bootinfo __initdata bootinfo = BOOTINFO_INIT;
 
 /*
  * Sanitized version of cpuinfo containing only features available on all
@@ -207,6 +207,7 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
                                          void (*cb)(paddr_t ps, paddr_t pe),
                                          unsigned int first)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int i, nr;
     int rc;
 
@@ -240,14 +241,14 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
      * kinds.
      *
      * When retrieving the corresponding reserved-memory addresses
-     * below, we need to index the bootinfo.reserved_mem bank starting
+     * below, we need to index the reserved_mem->bank starting
      * from 0, and only counting the reserved-memory modules. Hence,
      * we need to use i - nr.
      */
-    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( ; i - nr < reserved_mem->nr_banks; i++ )
     {
-        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
-        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
+        paddr_t r_s = reserved_mem->bank[i - nr].start;
+        paddr_t r_e = r_s + reserved_mem->bank[i - nr].size;
 
         if ( s < r_e && r_s < e )
         {
@@ -264,18 +265,18 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
  * TODO: '*_end' could be 0 if the bank/region is at the end of the physical
  * address space. This is for now not handled as it requires more rework.
  */
-static bool __init meminfo_overlap_check(struct meminfo *meminfo,
+static bool __init meminfo_overlap_check(const struct membanks *mem,
                                          paddr_t region_start,
                                          paddr_t region_size)
 {
     paddr_t bank_start = INVALID_PADDR, bank_end = 0;
     paddr_t region_end = region_start + region_size;
-    unsigned int i, bank_num = meminfo->nr_banks;
+    unsigned int i, bank_num = mem->nr_banks;
 
     for ( i = 0; i < bank_num; i++ )
     {
-        bank_start = meminfo->bank[i].start;
-        bank_end = bank_start + meminfo->bank[i].size;
+        bank_start = mem->bank[i].start;
+        bank_end = bank_start + mem->bank[i].size;
 
         if ( region_end <= bank_start || region_start >= bank_end )
             continue;
@@ -339,8 +340,11 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e,
 bool __init check_reserved_regions_overlap(paddr_t region_start,
                                            paddr_t region_size)
 {
-    /* Check if input region is overlapping with bootinfo.reserved_mem banks */
-    if ( meminfo_overlap_check(&bootinfo.reserved_mem,
+    /*
+     * Check if input region is overlapping with bootinfo_get_reserved_mem()
+     * banks
+     */
+    if ( meminfo_overlap_check(bootinfo_get_reserved_mem(),
                                region_start, region_size) )
         return true;
 
@@ -351,7 +355,7 @@ bool __init check_reserved_regions_overlap(paddr_t region_start,
 
 #ifdef CONFIG_ACPI
     /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
-    if ( meminfo_overlap_check(&bootinfo.acpi, region_start, region_size) )
+    if ( meminfo_overlap_check(bootinfo_get_acpi(), region_start, region_size) )
         return true;
 #endif
 
@@ -580,6 +584,7 @@ static paddr_t __init next_module(paddr_t s, paddr_t *end)
 
 void __init init_pdx(void)
 {
+    const struct membanks *mem = bootinfo_get_mem();
     paddr_t bank_start, bank_size, bank_end;
 
     /*
@@ -592,18 +597,18 @@ void __init init_pdx(void)
     uint64_t mask = pdx_init_mask(0x0);
     int bank;
 
-    for ( bank = 0 ; bank < bootinfo.mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < mem->nr_banks; bank++ )
     {
-        bank_start = bootinfo.mem.bank[bank].start;
-        bank_size = bootinfo.mem.bank[bank].size;
+        bank_start = mem->bank[bank].start;
+        bank_size = mem->bank[bank].size;
 
         mask |= bank_start | pdx_region_mask(bank_start, bank_size);
     }
 
-    for ( bank = 0 ; bank < bootinfo.mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < mem->nr_banks; bank++ )
     {
-        bank_start = bootinfo.mem.bank[bank].start;
-        bank_size = bootinfo.mem.bank[bank].size;
+        bank_start = mem->bank[bank].start;
+        bank_size = mem->bank[bank].size;
 
         if (~mask & pdx_region_mask(bank_start, bank_size))
             mask = 0;
@@ -611,10 +616,10 @@ void __init init_pdx(void)
 
     pfn_pdx_hole_setup(mask >> PAGE_SHIFT);
 
-    for ( bank = 0 ; bank < bootinfo.mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < mem->nr_banks; bank++ )
     {
-        bank_start = bootinfo.mem.bank[bank].start;
-        bank_size = bootinfo.mem.bank[bank].size;
+        bank_start = mem->bank[bank].start;
+        bank_size = mem->bank[bank].size;
         bank_end = bank_start + bank_size;
 
         set_pdx_range(paddr_to_pfn(bank_start),
@@ -636,18 +641,19 @@ void __init init_pdx(void)
 void __init populate_boot_allocator(void)
 {
     unsigned int i;
-    const struct meminfo *banks = &bootinfo.mem;
+    const struct membanks *banks = bootinfo_get_mem();
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     paddr_t s, e;
 
     if ( bootinfo.static_heap )
     {
-        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        for ( i = 0 ; i < reserved_mem->nr_banks; i++ )
         {
-            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+            if ( reserved_mem->bank[i].type != MEMBANK_STATIC_HEAP )
                 continue;
 
-            s = bootinfo.reserved_mem.bank[i].start;
-            e = s + bootinfo.reserved_mem.bank[i].size;
+            s = reserved_mem->bank[i].start;
+            e = s + reserved_mem->bank[i].size;
 #ifdef CONFIG_ARM_32
             /* Avoid the xenheap, note that the xenheap cannot across a bank */
             if ( s <= mfn_to_maddr(directmap_mfn_start) &&
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
index cffbab7241b7..34bd12696a53 100644
--- a/xen/arch/arm/static-memory.c
+++ b/xen/arch/arm/static-memory.c
@@ -85,6 +85,7 @@ static int __init parse_static_mem_prop(const struct dt_device_node *node,
 void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
                                    const struct dt_device_node *node)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, gbank, bank = 0;
     const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
@@ -106,7 +107,7 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
      */
     gbank = 0;
     gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
+    mem->bank[gbank].start = rambase[gbank];
     nr_banks = length / (reg_cells * sizeof (u32));
 
     for ( ; bank < nr_banks; bank++ )
@@ -122,7 +123,7 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
         while ( 1 )
         {
             /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+            if ( !append_static_memory_to_bank(d, &mem->bank[gbank], smfn,
                                                min(psize, gsize)) )
                 goto fail;
 
@@ -153,14 +154,14 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
                 /* Update to the next guest bank. */
                 gbank++;
                 gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
+                mem->bank[gbank].start = rambase[gbank];
             }
         }
 
         tot_size += psize;
     }
 
-    kinfo->mem.nr_banks = ++gbank;
+    mem->nr_banks = ++gbank;
 
     kinfo->unassigned_mem -= tot_size;
     /*
@@ -190,6 +191,7 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
 void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
                                     const struct dt_device_node *node)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, bank = 0;
     const __be32 *cell;
@@ -206,7 +208,7 @@ void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
     reg_cells = addr_cells + size_cells;
     nr_banks = length / (reg_cells * sizeof(u32));
 
-    if ( nr_banks > NR_MEM_BANKS )
+    if ( nr_banks > mem->max_banks )
     {
         printk(XENLOG_ERR
                "%pd: exceed max number of supported guest memory banks.\n", d);
@@ -224,15 +226,15 @@ void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
                d, bank, pbase, pbase + psize);
 
         /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+        mem->bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &mem->bank[bank],
                                            smfn, psize) )
             goto fail;
 
         kinfo->unassigned_mem -= psize;
     }
 
-    kinfo->mem.nr_banks = nr_banks;
+    mem->nr_banks = nr_banks;
 
     /*
      * The property 'memory' should match the amount of memory given to
@@ -257,14 +259,15 @@ void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
 /* Static memory initialization */
 void __init init_staticmem_pages(void)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int bank;
 
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
     {
-        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
+        if ( reserved_mem->bank[bank].type == MEMBANK_STATIC_DOMAIN )
         {
-            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
+            mfn_t bank_start = _mfn(PFN_UP(reserved_mem->bank[bank].start));
+            unsigned long bank_pages = PFN_DOWN(reserved_mem->bank[bank].size);
             mfn_t bank_end = mfn_add(bank_start, bank_pages);
 
             if ( mfn_x(bank_end) <= mfn_x(bank_start) )
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 349b85667684..11f3c0da81a4 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -10,22 +10,23 @@ static int __init acquire_nr_borrower_domain(struct domain *d,
                                              paddr_t pbase, paddr_t psize,
                                              unsigned long *nr_borrowers)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int bank;
 
     /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
     {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+        paddr_t bank_start = reserved_mem->bank[bank].start;
+        paddr_t bank_size = reserved_mem->bank[bank].size;
 
         if ( (pbase == bank_start) && (psize == bank_size) )
             break;
     }
 
-    if ( bank == bootinfo.reserved_mem.nr_banks )
+    if ( bank == reserved_mem->nr_banks )
         return -ENOENT;
 
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+    *nr_borrowers = reserved_mem->bank[bank].nr_shm_borrowers;
 
     return 0;
 }
@@ -157,17 +158,17 @@ static int __init assign_shared_memory(struct domain *d,
     return ret;
 }
 
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+static int __init append_shm_bank_to_domain(struct membanks *shm_mem,
                                             paddr_t start, paddr_t size,
                                             const char *shm_id)
 {
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
+    if ( shm_mem->nr_banks >= shm_mem->max_banks )
         return -ENOMEM;
 
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
-    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
-    kinfo->shm_mem.nr_banks++;
+    shm_mem->bank[shm_mem->nr_banks].start = start;
+    shm_mem->bank[shm_mem->nr_banks].size = size;
+    safe_strcpy(shm_mem->bank[shm_mem->nr_banks].shm_id, shm_id);
+    shm_mem->nr_banks++;
 
     return 0;
 }
@@ -269,7 +270,8 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
          * Record static shared memory region info for later setting
          * up shm-node in guest device tree.
          */
-        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
+        ret = append_shm_bank_to_domain(&kinfo->shm_mem.common, gbase, psize,
+                                        shm_id);
         if ( ret )
             return ret;
     }
@@ -280,7 +282,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
 static int __init make_shm_memory_node(const struct kernel_info *kinfo,
                                        int addrcells, int sizecells)
 {
-    const struct meminfo *mem = &kinfo->shm_mem;
+    const struct membanks *mem = &kinfo->shm_mem.common;
     void *fdt = kinfo->fdt;
     unsigned int i = 0;
     int res = 0;
@@ -351,7 +353,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
     paddr_t paddr, gaddr, size, end;
-    struct meminfo *mem = &bootinfo.reserved_mem;
+    struct membanks *mem = bootinfo_get_reserved_mem();
     unsigned int i;
     int len;
     bool owner = false;
@@ -461,7 +463,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 
     if ( i == mem->nr_banks )
     {
-        if ( i < NR_MEM_BANKS )
+        if (i < mem->max_banks)
         {
             if ( check_reserved_regions_overlap(paddr, size) )
                 return -EINVAL;
@@ -492,7 +494,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                                  int sizecells)
 {
-    const struct meminfo *mem = &kinfo->shm_mem;
+    const struct membanks *mem = &kinfo->shm_mem.common;
     void *fdt = kinfo->fdt;
     int res = 0;
     /* Placeholder for reserved-memory\0 */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702246.1097170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vL-0004Xt-9G; Tue, 09 Apr 2024 11:45:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702246.1097170; Tue, 09 Apr 2024 11:45:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vL-0004Xl-6m; Tue, 09 Apr 2024 11:45:59 +0000
Received: by outflank-mailman (input) for mailman id 702246;
 Tue, 09 Apr 2024 11:45: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vJ-0004JL-QG
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:45:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id b8f879d0-f666-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 13:45: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 6CE65139F;
 Tue,  9 Apr 2024 04:46:24 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 23A833F766;
 Tue,  9 Apr 2024 04:45:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8f879d0-f666-11ee-b907-491648fe20b8
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v2 01/13] xen/arm: remove stale addr_cells/size_cells in assign_shared_memory
Date: Tue,  9 Apr 2024 12:45:31 +0100
Message-Id: <20240409114543.3332150-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Function parameters {addr_cells,size_cells} are stale parameters in
assign_shared_memory, so we shall remove them.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - no change
v1:
 - This is this patch: https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-2-Penny.Zheng@arm.com/
---
---
 xen/arch/arm/static-shmem.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 9097bc8b1511..cb268cd2edf1 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -90,7 +90,6 @@ static mfn_t __init acquire_shared_memory_bank(struct domain *d,
 }
 
 static int __init assign_shared_memory(struct domain *d,
-                                       uint32_t addr_cells, uint32_t size_cells,
                                        paddr_t pbase, paddr_t psize,
                                        paddr_t gbase)
 {
@@ -252,7 +251,6 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
              * specified, so they should be assigned to dom_io.
              */
             ret = assign_shared_memory(owner_dom_io ? dom_io : d,
-                                       addr_cells, size_cells,
                                        pbase, psize, gbase);
             if ( ret )
                 return ret;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702251.1097221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vP-0005lq-RX; Tue, 09 Apr 2024 11:46:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702251.1097221; Tue, 09 Apr 2024 11:46:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vP-0005le-Ns; Tue, 09 Apr 2024 11:46:03 +0000
Received: by outflank-mailman (input) for mailman id 702251;
 Tue, 09 Apr 2024 11:46: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vO-0004JL-5F
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id bd164c23-f666-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 13:46:01 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 852921655;
 Tue,  9 Apr 2024 04:46:31 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 717293F766;
 Tue,  9 Apr 2024 04:46: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: bd164c23-f666-11ee-b907-491648fe20b8
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 07/13] xen/arm: Avoid code duplication in check_reserved_regions_overlap
Date: Tue,  9 Apr 2024 12:45:37 +0100
Message-Id: <20240409114543.3332150-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function check_reserved_regions_overlap is calling
'meminfo_overlap_check' on the same type of structure, this code
can be written in a way to avoid code duplication, so rework the
function to do that.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - no changes
v1:
 - new patch
---
---
 xen/arch/arm/setup.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 02bd27eb0c69..cc719d508d63 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -340,25 +340,27 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e,
 bool __init check_reserved_regions_overlap(paddr_t region_start,
                                            paddr_t region_size)
 {
+    const struct membanks *mem_banks[] = {
+        bootinfo_get_reserved_mem(),
+#ifdef CONFIG_ACPI
+        bootinfo_get_acpi(),
+#endif
+    };
+    unsigned int i;
+
     /*
-     * Check if input region is overlapping with bootinfo_get_reserved_mem()
-     * banks
+     * Check if input region is overlapping with reserved memory banks or
+     * ACPI EfiACPIReclaimMemory (when ACPI feature is enabled)
      */
-    if ( meminfo_overlap_check(bootinfo_get_reserved_mem(),
-                               region_start, region_size) )
-        return true;
+    for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ )
+        if ( meminfo_overlap_check(mem_banks[i], region_start, region_size) )
+            return true;
 
     /* Check if input region is overlapping with bootmodules */
     if ( bootmodules_overlap_check(&bootinfo.modules,
                                    region_start, region_size) )
         return true;
 
-#ifdef CONFIG_ACPI
-    /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
-    if ( meminfo_overlap_check(bootinfo_get_acpi(), region_start, region_size) )
-        return true;
-#endif
-
     return false;
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702253.1097240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vR-0006Dc-I2; Tue, 09 Apr 2024 11:46:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702253.1097240; Tue, 09 Apr 2024 11:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vR-0006DC-B9; Tue, 09 Apr 2024 11:46:05 +0000
Received: by outflank-mailman (input) for mailman id 702253;
 Tue, 09 Apr 2024 11:46:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vQ-0004JG-9N
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id bdbd7d8c-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:46:02 +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 9F5651007;
 Tue,  9 Apr 2024 04:46:32 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8B5B23F766;
 Tue,  9 Apr 2024 04: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: bdbd7d8c-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 08/13] xen/arm: Introduce helper for static memory pages
Date: Tue,  9 Apr 2024 12:45:38 +0100
Message-Id: <20240409114543.3332150-9-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new helper function in the static-memory module
that can be called to manage static memory banks, this is
done to reuse the code when other modules would like to
manage static memory banks that are not part of the
reserved_mem structure, this is done because the static
shared memory banks will be removed from reserved_mem.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - Add Michal R-by
 - Changed commit msg
v1:
 - new patch
---
---
 xen/arch/arm/include/asm/static-memory.h | 13 +++++++++++++
 xen/arch/arm/static-memory.c             | 12 +-----------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
index 3e3efd70c38d..804166e541ef 100644
--- a/xen/arch/arm/include/asm/static-memory.h
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -3,10 +3,23 @@
 #ifndef __ASM_STATIC_MEMORY_H_
 #define __ASM_STATIC_MEMORY_H_
 
+#include <xen/pfn.h>
 #include <asm/kernel.h>
 
 #ifdef CONFIG_STATIC_MEMORY
 
+static inline void init_staticmem_bank(const struct membank *bank)
+{
+    mfn_t bank_start = _mfn(PFN_UP(bank->start));
+    unsigned long bank_pages = PFN_DOWN(bank->size);
+    mfn_t bank_end = mfn_add(bank_start, bank_pages);
+
+    if ( mfn_x(bank_end) <= mfn_x(bank_start) )
+        return;
+
+    unprepare_staticmem_pages(mfn_to_page(bank_start), bank_pages, false);
+}
+
 void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
                             const struct dt_device_node *node);
 void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
index 34bd12696a53..d4585c5a0633 100644
--- a/xen/arch/arm/static-memory.c
+++ b/xen/arch/arm/static-memory.c
@@ -265,17 +265,7 @@ void __init init_staticmem_pages(void)
     for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
     {
         if ( reserved_mem->bank[bank].type == MEMBANK_STATIC_DOMAIN )
-        {
-            mfn_t bank_start = _mfn(PFN_UP(reserved_mem->bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(reserved_mem->bank[bank].size);
-            mfn_t bank_end = mfn_add(bank_start, bank_pages);
-
-            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
-                return;
-
-            unprepare_staticmem_pages(mfn_to_page(bank_start),
-                                      bank_pages, false);
-        }
+            init_staticmem_bank(&reserved_mem->bank[bank]);
     }
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702254.1097250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vT-0006eY-Nn; Tue, 09 Apr 2024 11:46:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702254.1097250; Tue, 09 Apr 2024 11:46:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vT-0006eC-Ki; Tue, 09 Apr 2024 11:46:07 +0000
Received: by outflank-mailman (input) for mailman id 702254;
 Tue, 09 Apr 2024 11:46:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vS-0004JG-1l
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id be68a0be-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:46:03 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B98E7139F;
 Tue,  9 Apr 2024 04:46:33 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A5DF03F766;
 Tue,  9 Apr 2024 04: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: be68a0be-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static shared memory
Date: Tue,  9 Apr 2024 12:45:39 +0100
Message-Id: <20240409114543.3332150-10-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the memory footprint of the static shared memory feature
is impacting all the struct meminfo instances with memory space
that is not going to be used.

To solve this issue, rework the static shared memory extra
information linked to the memory bank to another structure,
struct shmem_membank_extra, and exploit the struct membank
padding to host a pointer to that structure in a union with the
enum membank_type, with this trick the 'struct membank' has the
same size with or without the static shared memory, given that
the 'type' and 'shmem_extra' are never used at the same time,
hence the 'struct membank' won't grow in size.

Afterwards, create a new structure 'struct shared_meminfo' which
has the same interface of 'struct meminfo', but requires less
banks and hosts the extra information for the static shared memory.
The fields 'bank' and 'extra' of this structure are meant to be
linked by the index (e.g. extra[idx] will have the information for
the bank[idx], for i=0..NR_SHMEM_BANKS), the convinient pointer
'shmem_extra' of 'struct membank' is then linked to the related
'extra' bank to ease the fruition when a function has access only
to the 'struct membanks common' of 'struct shared_meminfo'.

The last part of this work is to move the allocation of the
static shared memory banks from the 'reserved_mem' to a new
'shmem' member of the 'struct bootinfo'.
Change also the 'shm_mem' member type to be 'struct shared_meminfo'
in order to match the above changes and allow a memory space
reduction also in 'struct kernel_info'.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - Made clear that the struct membank is not growing in size in the
   commit message.
 - Add static assert for the struct shared_meminfo bank field.
v1:
 - new patch
---
---
 xen/arch/arm/arm32/mmu/mm.c             | 24 ++++++++
 xen/arch/arm/arm64/mmu/mm.c             |  2 +
 xen/arch/arm/bootfdt.c                  |  1 +
 xen/arch/arm/domain_build.c             |  5 ++
 xen/arch/arm/include/asm/kernel.h       |  4 +-
 xen/arch/arm/include/asm/setup.h        | 41 ++++++++++++-
 xen/arch/arm/include/asm/static-shmem.h |  8 +++
 xen/arch/arm/setup.c                    | 25 +++++++-
 xen/arch/arm/static-shmem.c             | 79 +++++++++++++++++++------
 9 files changed, 165 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index e6bb5d934c16..45e42b307e20 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -7,6 +7,7 @@
 #include <xen/pfn.h>
 #include <asm/fixmap.h>
 #include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 static unsigned long opt_xenheap_megabytes __initdata;
 integer_param("xenheap_megabytes", opt_xenheap_megabytes);
@@ -42,6 +43,9 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
                                        int first_mod)
 {
     const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+#ifdef CONFIG_STATIC_SHM
+    const struct membanks *shmem = bootinfo_get_shmem();
+#endif
     const struct bootmodules *mi = &bootinfo.modules;
     int i;
     int nr;
@@ -118,6 +122,25 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
             return consider_modules(s, r_s, size, align, i + 1);
         }
     }
+
+#ifdef CONFIG_STATIC_SHM
+    nr += reserved_mem->nr_banks;
+    for ( ; i - nr < shmem->nr_banks; i++ )
+    {
+        paddr_t r_s = shmem->bank[i - nr].start;
+        paddr_t r_e = r_s + shmem->bank[i - nr].size;
+
+        if ( s < r_e && r_s < e )
+        {
+            r_e = consider_modules(r_e, e, size, align, i + 1);
+            if ( r_e )
+                return r_e;
+
+            return consider_modules(s, r_s, size, align, i + 1);
+        }
+    }
+#endif
+
     return e;
 }
 
@@ -294,6 +317,7 @@ void __init setup_mm(void)
                        mfn_to_maddr(directmap_mfn_end));
 
     init_staticmem_pages();
+    init_sharedmem_pages();
 }
 
 /*
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index f8aaf4ac18be..293acb67e09c 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -6,6 +6,7 @@
 
 #include <asm/setup.h>
 #include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
@@ -236,6 +237,7 @@ void __init setup_mm(void)
     max_page = PFN_DOWN(ram_end);
 
     init_staticmem_pages();
+    init_sharedmem_pages();
 }
 
 /*
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 4c80962f79d4..4d708442a19e 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -511,6 +511,7 @@ static void __init early_print_info(void)
                mem_resv->bank[j].start,
                mem_resv->bank[j].start + mem_resv->bank[j].size - 1);
     }
+    early_print_info_shmem();
     printk("\n");
     for ( i = 0 ; i < cmds->nr_mods; i++ )
         printk("CMDLINE[%"PRIpaddr"]:%s %s\n", cmds->cmdline[i].start,
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 269aaff4d067..01d66fbde92b 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -864,6 +864,7 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
  * regions we exclude every region assigned to Dom0 from the Host RAM:
  * - domain RAM
  * - reserved-memory
+ * - static shared memory
  * - grant table space
  */
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
@@ -873,6 +874,9 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
         bootinfo_get_mem(),
         kernel_info_get_mem_const(kinfo),
         bootinfo_get_reserved_mem(),
+#ifdef CONFIG_STATIC_SHM
+        bootinfo_get_shmem(),
+#endif
     };
     struct rangeset *unalloc_mem;
     paddr_t start, end;
@@ -890,6 +894,7 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
      * 1) Start with all available RAM
      * 2) Remove RAM assigned to Dom0
      * 3) Remove reserved memory
+     * 4) Remove static shared memory
      * The order comes from the initialization of the variable "mem_banks"
      * above
      */
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 85e1625cc989..7663d9f18d02 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -40,7 +40,7 @@ struct kernel_info {
     paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
     struct meminfo mem;
 #ifdef CONFIG_STATIC_SHM
-    struct meminfo shm_mem;
+    struct shared_meminfo shm_mem;
 #endif
 
     /* kernel entry point */
@@ -92,7 +92,7 @@ kernel_info_get_mem_const(const struct kernel_info *kinfo)
 }
 
 #ifdef CONFIG_STATIC_SHM
-#define KERNEL_INFO_SHM_MEM_INIT .shm_mem.common.max_banks = NR_MEM_BANKS,
+#define KERNEL_INFO_SHM_MEM_INIT .shm_mem.common.max_banks = NR_SHMEM_BANKS,
 #else
 #define KERNEL_INFO_SHM_MEM_INIT
 #endif
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 696f55db86b1..28fb659fe946 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -9,6 +9,7 @@
 #define MAX_FDT_SIZE SZ_2M
 
 #define NR_MEM_BANKS 256
+#define NR_SHMEM_BANKS 32
 
 #define MAX_MODULES 32 /* Current maximum useful modules */
 
@@ -46,14 +47,20 @@ enum membank_type {
 /* Indicates the maximum number of characters(\0 included) for shm_id */
 #define MAX_SHM_ID_LENGTH 16
 
+struct shmem_membank_extra {
+    char shm_id[MAX_SHM_ID_LENGTH];
+    unsigned int nr_shm_borrowers;
+};
+
 struct membank {
     paddr_t start;
     paddr_t size;
-    enum membank_type type;
+    union {
+        enum membank_type type;
 #ifdef CONFIG_STATIC_SHM
-    char shm_id[MAX_SHM_ID_LENGTH];
-    unsigned int nr_shm_borrowers;
+        struct shmem_membank_extra *shmem_extra;
 #endif
+    };
 };
 
 struct membanks {
@@ -67,6 +74,12 @@ struct meminfo {
     struct membank bank[NR_MEM_BANKS];
 };
 
+struct shared_meminfo {
+    struct membanks common;
+    struct membank bank[NR_SHMEM_BANKS];
+    struct shmem_membank_extra extra[NR_SHMEM_BANKS];
+};
+
 /*
  * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
  * The purpose of the domU flag is to avoid getting confused in
@@ -109,6 +122,9 @@ struct bootinfo {
     struct bootcmdlines cmdlines;
 #ifdef CONFIG_ACPI
     struct meminfo acpi;
+#endif
+#ifdef CONFIG_STATIC_SHM
+    struct shared_meminfo shmem;
 #endif
     bool static_heap;
 };
@@ -119,11 +135,18 @@ struct bootinfo {
 #define BOOTINFO_ACPI_INIT
 #endif
 
+#ifdef CONFIG_STATIC_SHM
+#define BOOTINFO_SHMEM_INIT .shmem.common.max_banks = NR_SHMEM_BANKS,
+#else
+#define BOOTINFO_SHMEM_INIT
+#endif
+
 #define BOOTINFO_INIT                               \
 {                                                   \
     .mem.common.max_banks = NR_MEM_BANKS,           \
     .reserved_mem.common.max_banks = NR_MEM_BANKS,  \
     BOOTINFO_ACPI_INIT                              \
+    BOOTINFO_SHMEM_INIT                             \
 }
 
 struct map_range_data
@@ -158,6 +181,18 @@ static inline struct membanks *bootinfo_get_acpi(void)
 }
 #endif
 
+#ifdef CONFIG_STATIC_SHM
+static inline struct membanks *bootinfo_get_shmem(void)
+{
+    return &bootinfo.shmem.common;
+}
+
+static inline struct shmem_membank_extra *bootinfo_get_shmem_extra(void)
+{
+    return bootinfo.shmem.extra;
+}
+#endif
+
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
 
 size_t estimate_efi_size(unsigned int mem_nr_banks);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 680594b6843d..90aafc81e740 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -24,6 +24,10 @@ static inline int process_shm_chosen(struct domain *d,
 int process_shm_node(const void *fdt, int node, uint32_t address_cells,
                      uint32_t size_cells);
 
+void early_print_info_shmem(void);
+
+void init_sharedmem_pages(void);
+
 #else /* !CONFIG_STATIC_SHM */
 
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
@@ -51,6 +55,10 @@ static inline int process_shm_node(const void *fdt, int node,
     return -EINVAL;
 }
 
+static inline void early_print_info_shmem(void) {};
+
+static inline void init_sharedmem_pages(void) {};
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index cc719d508d63..111172a8c4b1 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -208,6 +208,9 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
                                          unsigned int first)
 {
     const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+#ifdef CONFIG_STATIC_SHM
+    const struct membanks *shmem = bootinfo_get_shmem();
+#endif
     unsigned int i, nr;
     int rc;
 
@@ -258,6 +261,22 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
         }
     }
 
+#ifdef CONFIG_STATIC_SHM
+    nr += reserved_mem->nr_banks;
+    for ( ; i - nr < shmem->nr_banks; i++ )
+    {
+        paddr_t r_s = shmem->bank[i - nr].start;
+        paddr_t r_e = r_s + shmem->bank[i - nr].size;
+
+        if ( s < r_e && r_s < e )
+        {
+            dt_unreserved_regions(r_e, e, cb, i + 1);
+            dt_unreserved_regions(s, r_s, cb, i + 1);
+            return;
+        }
+    }
+#endif
+
     cb(s, e);
 }
 
@@ -344,13 +363,17 @@ bool __init check_reserved_regions_overlap(paddr_t region_start,
         bootinfo_get_reserved_mem(),
 #ifdef CONFIG_ACPI
         bootinfo_get_acpi(),
+#endif
+#ifdef CONFIG_STATIC_SHM
+        bootinfo_get_shmem(),
 #endif
     };
     unsigned int i;
 
     /*
      * Check if input region is overlapping with reserved memory banks or
-     * ACPI EfiACPIReclaimMemory (when ACPI feature is enabled)
+     * ACPI EfiACPIReclaimMemory (when ACPI feature is enabled) or static
+     * 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) )
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 11f3c0da81a4..fcf8227bf404 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -4,29 +4,40 @@
 #include <xen/sched.h>
 
 #include <asm/domain_build.h>
+#include <asm/static-memory.h>
 #include <asm/static-shmem.h>
 
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * Check that no padding is between struct membanks "bank" flexible array
+     * member and struct shared_meminfo "bank" member
+     */
+    BUILD_BUG_ON((offsetof(struct membanks, bank) !=
+                 offsetof(struct shared_meminfo, bank)));
+}
+
 static int __init acquire_nr_borrower_domain(struct domain *d,
                                              paddr_t pbase, paddr_t psize,
                                              unsigned long *nr_borrowers)
 {
-    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+    const struct membanks *shmem = bootinfo_get_shmem();
     unsigned int bank;
 
     /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
+    for ( bank = 0 ; bank < shmem->nr_banks; bank++ )
     {
-        paddr_t bank_start = reserved_mem->bank[bank].start;
-        paddr_t bank_size = reserved_mem->bank[bank].size;
+        paddr_t bank_start = shmem->bank[bank].start;
+        paddr_t bank_size = shmem->bank[bank].size;
 
         if ( (pbase == bank_start) && (psize == bank_size) )
             break;
     }
 
-    if ( bank == reserved_mem->nr_banks )
+    if ( bank == shmem->nr_banks )
         return -ENOENT;
 
-    *nr_borrowers = reserved_mem->bank[bank].nr_shm_borrowers;
+    *nr_borrowers = shmem->bank[bank].shmem_extra->nr_shm_borrowers;
 
     return 0;
 }
@@ -158,16 +169,22 @@ static int __init assign_shared_memory(struct domain *d,
     return ret;
 }
 
-static int __init append_shm_bank_to_domain(struct membanks *shm_mem,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
+static int __init
+append_shm_bank_to_domain(struct shared_meminfo *kinfo_shm_mem, paddr_t start,
+                          paddr_t size, const char *shm_id)
 {
+    struct membanks *shm_mem = &kinfo_shm_mem->common;
+    struct shmem_membank_extra *shm_mem_extra;
+
     if ( shm_mem->nr_banks >= shm_mem->max_banks )
         return -ENOMEM;
 
+    shm_mem_extra = &kinfo_shm_mem->extra[shm_mem->nr_banks];
+
     shm_mem->bank[shm_mem->nr_banks].start = start;
     shm_mem->bank[shm_mem->nr_banks].size = size;
-    safe_strcpy(shm_mem->bank[shm_mem->nr_banks].shm_id, shm_id);
+    safe_strcpy(shm_mem_extra->shm_id, shm_id);
+    shm_mem->bank[shm_mem->nr_banks].shmem_extra = shm_mem_extra;
     shm_mem->nr_banks++;
 
     return 0;
@@ -270,7 +287,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
          * Record static shared memory region info for later setting
          * up shm-node in guest device tree.
          */
-        ret = append_shm_bank_to_domain(&kinfo->shm_mem.common, gbase, psize,
+        ret = append_shm_bank_to_domain(&kinfo->shm_mem, gbase, psize,
                                         shm_id);
         if ( ret )
             return ret;
@@ -325,7 +342,8 @@ static int __init make_shm_memory_node(const struct kernel_info *kinfo,
         dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
                    i, start, start + size);
 
-        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
+        res = fdt_property_string(fdt, "xen,id",
+                                  mem->bank[i].shmem_extra->shm_id);
         if ( res )
             return res;
 
@@ -353,7 +371,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
     paddr_t paddr, gaddr, size, end;
-    struct membanks *mem = bootinfo_get_reserved_mem();
+    struct membanks *mem = bootinfo_get_shmem();
+    struct shmem_membank_extra *shmem_extra = bootinfo_get_shmem_extra();
     unsigned int i;
     int len;
     bool owner = false;
@@ -442,7 +461,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
          */
         if ( paddr == mem->bank[i].start && size == mem->bank[i].size )
         {
-            if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) == 0 )
+            if ( strncmp(shm_id, shmem_extra[i].shm_id,
+                         MAX_SHM_ID_LENGTH) == 0  )
                 break;
             else
             {
@@ -451,7 +471,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
                 return -EINVAL;
             }
         }
-        else if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) != 0 )
+        else if ( strncmp(shm_id, shmem_extra[i].shm_id,
+                          MAX_SHM_ID_LENGTH) != 0 )
             continue;
         else
         {
@@ -469,10 +490,10 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
                 return -EINVAL;
 
             /* Static shared memory shall be reserved from any other use. */
-            safe_strcpy(mem->bank[mem->nr_banks].shm_id, shm_id);
+            safe_strcpy(shmem_extra[mem->nr_banks].shm_id, shm_id);
             mem->bank[mem->nr_banks].start = paddr;
             mem->bank[mem->nr_banks].size = size;
-            mem->bank[mem->nr_banks].type = MEMBANK_STATIC_DOMAIN;
+            mem->bank[mem->nr_banks].shmem_extra = &shmem_extra[mem->nr_banks];
             mem->nr_banks++;
         }
         else
@@ -486,7 +507,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
      * to calculate the reference count.
      */
     if ( !owner )
-        mem->bank[i].nr_shm_borrowers++;
+        shmem_extra[i].nr_shm_borrowers++;
 
     return 0;
 }
@@ -531,6 +552,28 @@ int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
     return res;
 }
 
+void __init early_print_info_shmem(void)
+{
+    const struct membanks *shmem = bootinfo_get_shmem();
+    unsigned int bank;
+
+    for ( bank = 0; bank < shmem->nr_banks; bank++ )
+    {
+        printk(" SHMEM[%u]: %"PRIpaddr" - %"PRIpaddr"\n", bank,
+               shmem->bank[bank].start,
+               shmem->bank[bank].start + shmem->bank[bank].size - 1);
+    }
+}
+
+void __init init_sharedmem_pages(void)
+{
+    const struct membanks *shmem = bootinfo_get_shmem();
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < shmem->nr_banks; bank++ )
+        init_staticmem_bank(&shmem->bank[bank]);
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702255.1097257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vU-0006l1-HE; Tue, 09 Apr 2024 11:46:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702255.1097257; Tue, 09 Apr 2024 11:46:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vU-0006jI-5E; Tue, 09 Apr 2024 11:46:08 +0000
Received: by outflank-mailman (input) for mailman id 702255;
 Tue, 09 Apr 2024 11:46:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vT-0004JG-2s
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:07 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id bf372315-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:46:05 +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 155211007;
 Tue,  9 Apr 2024 04:46:35 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C04B93F766;
 Tue,  9 Apr 2024 04: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: bf372315-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v2 10/13] xen/arm: remove shm holes from extended regions
Date: Tue,  9 Apr 2024 12:45:40 +0100
Message-Id: <20240409114543.3332150-11-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Static shared memory acts as reserved memory in guest, so it shall be
excluded from extended regions.

Extended regions are taken care of under three different scenarios:
normal DomU, direct-map domain with iommu on, and direct-map domain
with iommu off.

For normal DomU, we create a new function "remove_shm_holes_for_domU",
to firstly transfer original outputs into the format of
"struct rangeset", then use "remove_shm_from_rangeset" to remove static
shm from them.

For direct-map domain with iommu on, after we get guest shm info from "kinfo",
we use "remove_shm_from_rangeset" to remove static shm.

For direct-map domain with iommu off, as static shm has already been taken
care of through reserved memory banks, we do nothing.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - Fixed commit title, fixed comment, moved call of remove_shm_from_rangeset
   after populating rangeset in find_memory_holes, print error code when
   possible
 - used PFN_DOWN where needed
v1:
 - Rework of https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-8-Penny.Zheng@arm.com/
---
---
 xen/arch/arm/domain_build.c             | 16 ++++-
 xen/arch/arm/include/asm/domain_build.h |  2 +
 xen/arch/arm/include/asm/static-shmem.h | 18 +++++
 xen/arch/arm/static-shmem.c             | 88 +++++++++++++++++++++++++
 4 files changed, 121 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 01d66fbde92b..9b36d6bb70c9 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -817,8 +817,8 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
-                                  void *data)
+int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
+                           void *data)
 {
     struct membanks *ext_regions = data;
     paddr_t start, size;
@@ -978,6 +978,8 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
  * - MMIO
  * - Host RAM
  * - PCI aperture
+ * - Static shared memory regions, which are described by special property
+ *   "xen,shared-mem"
  */
 static int __init find_memory_holes(const struct kernel_info *kinfo,
                                     struct membanks *ext_regions)
@@ -1005,6 +1007,11 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
         goto out;
     }
 
+    /* Remove static shared memory regions */
+    res = remove_shm_from_rangeset(kinfo, mem_holes);
+    if ( res )
+        goto out;
+
     /*
      * Remove regions described by "reg" and "ranges" properties where
      * the memory is addressable (MMIO, RAM, PCI BAR, etc).
@@ -1097,7 +1104,10 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
         res = 0;
     }
 
-    return res;
+    if ( res )
+        return res;
+
+    return remove_shm_holes_for_domU(kinfo, ext_regions);
 }
 
 int __init make_hypervisor_node(struct domain *d,
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index a6f276cc4263..026d975da28e 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -51,6 +51,8 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
 
+int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *data);
+
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 90aafc81e740..2e8b138eb989 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -28,6 +28,12 @@ void early_print_info_shmem(void);
 
 void init_sharedmem_pages(void);
 
+int remove_shm_from_rangeset(const struct kernel_info *kinfo,
+                             struct rangeset *rangeset);
+
+int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
+                              struct membanks *ext_regions);
+
 #else /* !CONFIG_STATIC_SHM */
 
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
@@ -59,6 +65,18 @@ static inline void early_print_info_shmem(void) {};
 
 static inline void init_sharedmem_pages(void) {};
 
+static inline int remove_shm_from_rangeset(const struct kernel_info *kinfo,
+                                           struct rangeset *rangeset)
+{
+    return 0;
+}
+
+static inline int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
+                                            struct membanks *ext_regions)
+{
+    return 0;
+}
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index fcf8227bf404..a08413ff44e2 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
 #include <xen/libfdt/libfdt.h>
+#include <xen/rangeset.h>
 #include <xen/sched.h>
 
 #include <asm/domain_build.h>
@@ -574,6 +575,93 @@ void __init init_sharedmem_pages(void)
         init_staticmem_bank(&shmem->bank[bank]);
 }
 
+int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
+                                    struct rangeset *rangeset)
+{
+    const struct membanks *shm_mem = &kinfo->shm_mem.common;
+    unsigned int i;
+
+    /* Remove static shared memory regions */
+    for ( i = 0; i < shm_mem->nr_banks; i++ )
+    {
+        paddr_t start, end;
+        int res;
+
+        start = shm_mem->bank[i].start;
+        end = shm_mem->bank[i].start + shm_mem->bank[i].size - 1;
+        res = rangeset_remove_range(rangeset, PFN_DOWN(start), PFN_DOWN(end));
+        if ( res )
+        {
+            printk(XENLOG_ERR
+                   "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr", error: %d\n",
+                   start, end, res);
+            return -EINVAL;
+        }
+    }
+
+    return 0;
+}
+
+int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
+                                     struct membanks *ext_regions)
+{
+    const struct membanks *shm_mem = &kinfo->shm_mem.common;
+    struct rangeset *guest_holes;
+    unsigned int i;
+    paddr_t start;
+    paddr_t end;
+    int res;
+
+    /* No static shared memory region. */
+    if ( shm_mem->nr_banks == 0 )
+        return 0;
+
+    dt_dprintk("Remove static shared memory holes from extended regions of DomU\n");
+
+    guest_holes = rangeset_new(NULL, NULL, 0);
+    if ( !guest_holes )
+        return -ENOMEM;
+
+    /* Copy extended regions sets into the rangeset */
+    for ( i = 0; i < ext_regions->nr_banks; i++ )
+    {
+        start = ext_regions->bank[i].start;
+        end = start + ext_regions->bank[i].size - 1;
+
+        res = rangeset_add_range(guest_holes, PFN_DOWN(start), PFN_DOWN(end));
+        if ( res )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add: %#"PRIpaddr"->%#"PRIpaddr", error: %d\n",
+                   start, end, res);
+            goto out;
+        }
+    }
+
+    /* Remove static shared memory regions */
+    res = remove_shm_from_rangeset(kinfo, guest_holes);
+    if ( res )
+        goto out;
+
+    i = ext_regions->nr_banks - 1;
+    start = ext_regions->bank[0].start;
+    end = ext_regions->bank[i].start + ext_regions->bank[i].size - 1;
+
+    /* Reset original extended regions to hold new value */
+    ext_regions->nr_banks = 0;
+    res = rangeset_report_ranges(guest_holes, PFN_DOWN(start), PFN_DOWN(end),
+                                 add_ext_regions, ext_regions);
+    if ( res )
+        ext_regions->nr_banks = 0;
+    else if ( !ext_regions->nr_banks )
+        res = -ENOENT;
+
+ out:
+    rangeset_destroy(guest_holes);
+
+    return res;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702256.1097270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vV-00078q-UZ; Tue, 09 Apr 2024 11:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702256.1097270; Tue, 09 Apr 2024 11: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 1ru9vV-00077B-Kv; Tue, 09 Apr 2024 11:46:09 +0000
Received: by outflank-mailman (input) for mailman id 702256;
 Tue, 09 Apr 2024 11: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vU-0004JG-9S
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id bffe69ae-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:46:06 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 65725139F;
 Tue,  9 Apr 2024 04:46:36 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1C1723F766;
 Tue,  9 Apr 2024 04:46: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: bffe69ae-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v2 11/13] xen/arm: fix duplicate /reserved-memory node in Dom0
Date: Tue,  9 Apr 2024 12:45:41 +0100
Message-Id: <20240409114543.3332150-12-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

In case there is a /reserved-memory node already present in the host
dtb, current Xen codes would create yet another /reserved-memory node
when the static shared memory feature is enabled and static shared
memory regions are present.
This would result in an incorrect device tree generation and hwdom
would not be able to detect the static shared memory region.

Avoid this issue by checking the presence of the /reserved-memory
node and appending the nodes instead of generating a duplicate
/reserved-memory.

Make make_shm_memory_node externally visible and rename it to
make_shm_resv_memory_node to make clear it produces childs for
/reserved-memory.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - fix comment, remove function signature change, fixed commit msg
 - rename make_shm_memory_node to make_shm_resv_memory_node in order
   to make clear that it produces childs for /reserved-memory
 - Add Michal R-by
v1:
 - Rework of https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-11-Penny.Zheng@arm.com/
---
 xen/arch/arm/domain_build.c             | 23 ++++++++++++++++++++---
 xen/arch/arm/include/asm/static-shmem.h |  9 +++++++++
 xen/arch/arm/static-shmem.c             |  8 ++++----
 3 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9b36d6bb70c9..71eebfcf7e03 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1628,6 +1628,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         DT_MATCH_PATH("/hypervisor"),
         { /* sentinel */ },
     };
+    static __initdata bool res_mem_node_found = false;
     struct dt_device_node *child;
     int res, i, nirq, irq_id;
     const char *name;
@@ -1722,6 +1723,19 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     if ( res )
         return res;
 
+    if ( dt_node_path_is_equal(node, "/reserved-memory") )
+    {
+        res_mem_node_found = true;
+        /*
+         * Avoid duplicate /reserved-memory nodes in Device Tree, so add the
+         * static shared memory nodes there.
+         */
+        res = make_shm_resv_memory_node(kinfo, dt_n_addr_cells(node),
+                                        dt_n_size_cells(node));
+        if ( res )
+            return res;
+    }
+
     for ( child = node->child; child != NULL; child = child->sibling )
     {
         res = handle_node(d, kinfo, child, p2mt);
@@ -1774,9 +1788,12 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                 return res;
         }
 
-        res = make_resv_memory_node(kinfo, addrcells, sizecells);
-        if ( res )
-            return res;
+        if ( !res_mem_node_found )
+        {
+            res = make_resv_memory_node(kinfo, addrcells, sizecells);
+            if ( res )
+                return res;
+        }
     }
 
     res = fdt_end_node(kinfo->fdt);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 2e8b138eb989..7495a91e7a31 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -34,6 +34,9 @@ int remove_shm_from_rangeset(const struct kernel_info *kinfo,
 int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
                               struct membanks *ext_regions);
 
+int make_shm_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
+                              int sizecells);
+
 #else /* !CONFIG_STATIC_SHM */
 
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
@@ -77,6 +80,12 @@ static inline int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
     return 0;
 }
 
+static inline int make_shm_resv_memory_node(const struct kernel_info *kinfo,
+                                            int addrcells, int sizecells)
+{
+    return 0;
+}
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index a08413ff44e2..5ad6f1269c48 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -297,8 +297,8 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init make_shm_memory_node(const struct kernel_info *kinfo,
-                                       int addrcells, int sizecells)
+int __init make_shm_resv_memory_node(const struct kernel_info *kinfo,
+                                     int addrcells, int sizecells)
 {
     const struct membanks *mem = &kinfo->shm_mem.common;
     void *fdt = kinfo->fdt;
@@ -306,7 +306,7 @@ static int __init make_shm_memory_node(const struct kernel_info *kinfo,
     int res = 0;
 
     if ( mem->nr_banks == 0 )
-        return -ENOENT;
+        return 0;
 
     /*
      * For each shared memory region, a range is exposed under
@@ -544,7 +544,7 @@ int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
     if ( res )
         return res;
 
-    res = make_shm_memory_node(kinfo, addrcells, sizecells);
+    res = make_shm_resv_memory_node(kinfo, addrcells, sizecells);
     if ( res )
         return res;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:46:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702257.1097281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ru9vY-0007hW-I5; Tue, 09 Apr 2024 11:46:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702257.1097281; Tue, 09 Apr 2024 11: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 1ru9vY-0007gh-Ai; Tue, 09 Apr 2024 11:46:12 +0000
Received: by outflank-mailman (input) for mailman id 702257;
 Tue, 09 Apr 2024 11:46: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vW-0004JG-1R
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c0e8297f-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:46:07 +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 EB1BA1007;
 Tue,  9 Apr 2024 04:46:37 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6C7693F766;
 Tue,  9 Apr 2024 04:46: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: c0e8297f-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 12/13] xen/device_tree: Introduce function to merge overlapping intervals
Date: Tue,  9 Apr 2024 12:45:42 +0100
Message-Id: <20240409114543.3332150-13-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a function that given an array of cells containing
(address,size) intervals, merges the overlapping ones, returning
an array with no overlapping intervals.

The algorithm needs to sort the intervals by ascending order
address, so the sort() function already included in the codebase
is used, however in this case additional data is needed for the
compare function, to be able to extract the address from the
interval.
So add one argument to the sort() function and its compare
callback to have additional data and be able to pass, in this
case, the address length. In case the argument is not needed,
NULL can be provided.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - new patch
---
---
 xen/arch/arm/bootfdt.c        |   5 +-
 xen/arch/arm/io.c             |  11 ++-
 xen/arch/x86/extable.c        |   5 +-
 xen/common/device_tree.c      | 140 ++++++++++++++++++++++++++++++++++
 xen/include/xen/device_tree.h |  19 +++++
 xen/include/xen/sort.h        |  14 ++--
 6 files changed, 181 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 4d708442a19e..a2aba67b45e7 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -521,7 +521,8 @@ static void __init early_print_info(void)
 }
 
 /* This function assumes that memory regions are not overlapped */
-static int __init cmp_memory_node(const void *key, const void *elem)
+static int __init cmp_memory_node(const void *key, const void *elem,
+                                  const void *data)
 {
     const struct membank *handler0 = key;
     const struct membank *handler1 = elem;
@@ -569,7 +570,7 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
      * the banks sorted in ascending order. So sort them through.
      */
     sort(mem->bank, mem->nr_banks, sizeof(struct membank),
-         cmp_memory_node, swap_memory_node);
+         cmp_memory_node, swap_memory_node, NULL);
 
     early_print_info();
 
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 96c740d5636c..c1814491fec4 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -57,7 +57,7 @@ static enum io_state handle_write(const struct mmio_handler *handler,
 }
 
 /* This function assumes that mmio regions are not overlapped */
-static int cmp_mmio_handler(const void *key, const void *elem)
+static int cmp_mmio_handler(const void *key, const void *elem, const void *data)
 {
     const struct mmio_handler *handler0 = key;
     const struct mmio_handler *handler1 = elem;
@@ -71,6 +71,11 @@ static int cmp_mmio_handler(const void *key, const void *elem)
     return 0;
 }
 
+static int bsearch_cmp_mmio_handler(const void *key, const void *elem)
+{
+    return cmp_mmio_handler(key, elem, NULL);
+}
+
 static void swap_mmio_handler(void *_a, void *_b, size_t size)
 {
     struct mmio_handler *a = _a, *b = _b;
@@ -87,7 +92,7 @@ static const struct mmio_handler *find_mmio_handler(struct domain *d,
 
     read_lock(&vmmio->lock);
     handler = bsearch(&key, vmmio->handlers, vmmio->num_entries,
-                      sizeof(*handler), cmp_mmio_handler);
+                      sizeof(*handler), bsearch_cmp_mmio_handler);
     read_unlock(&vmmio->lock);
 
     return handler;
@@ -219,7 +224,7 @@ void register_mmio_handler(struct domain *d,
 
     /* Sort mmio handlers in ascending order based on base address */
     sort(vmmio->handlers, vmmio->num_entries, sizeof(struct mmio_handler),
-         cmp_mmio_handler, swap_mmio_handler);
+         cmp_mmio_handler, swap_mmio_handler, NULL);
 
     write_unlock(&vmmio->lock);
 }
diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index 8415cd1fa249..589e251b29b9 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -23,7 +23,8 @@ static inline unsigned long ex_cont(const struct exception_table_entry *x)
 	return EX_FIELD(x, cont);
 }
 
-static int init_or_livepatch cf_check cmp_ex(const void *a, const void *b)
+static int init_or_livepatch cf_check cmp_ex(const void *a, const void *b,
+                                             const void *data)
 {
 	const struct exception_table_entry *l = a, *r = b;
 	unsigned long lip = ex_addr(l);
@@ -53,7 +54,7 @@ void init_or_livepatch sort_exception_table(struct exception_table_entry *start,
                                  const struct exception_table_entry *stop)
 {
     sort(start, stop - start,
-         sizeof(struct exception_table_entry), cmp_ex, swap_ex);
+         sizeof(struct exception_table_entry), cmp_ex, swap_ex, NULL);
 }
 
 void __init sort_exception_tables(void)
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 8d1017a49d80..24914a80d03b 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -18,6 +18,7 @@
 #include <xen/lib.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
+#include <xen/sort.h>
 #include <xen/stdarg.h>
 #include <xen/string.h>
 #include <xen/cpumask.h>
@@ -2243,6 +2244,145 @@ int dt_get_pci_domain_nr(struct dt_device_node *node)
     return (u16)domain;
 }
 
+static int __init cmp_mem_reg_cell(const void *key, const void *elem,
+                                   const void *data)
+{
+    const __be32 *cell0 = key;
+    const __be32 *cell1 = elem;
+    const int *addrcells = data;
+    u64 addr0, addr1;
+
+    /* Same address, same element */
+    if ( cell0 == cell1 )
+        return 0;
+
+    BUG_ON(!addrcells || !*addrcells || *addrcells > 2);
+    addr0 = dt_read_number(cell0, *addrcells);
+    addr1 = dt_read_number(cell1, *addrcells);
+
+    if ( addr0 < addr1 )
+        return -1;
+
+    if ( addr0 > addr1 )
+        return 1;
+
+    return 0;
+}
+
+static void __init swap_mem_reg_cell(void *_a, void *_b, size_t size)
+{
+    __be32 tmp[4];
+    __be32 *cell0 = _a;
+    __be32 *cell1 = _b;
+
+    BUG_ON(size > (4 * sizeof(__be32)));
+
+    /* Don't swap the same element */
+    if ( cell0 == cell1 )
+        return;
+
+    /* Swap cell0 and cell1 */
+    memcpy(tmp, cell0, size);
+    memcpy(cell0, cell1, size);
+    memcpy(cell1, tmp, size);
+}
+
+int __init dt_merge_overlapping_addr_size_intervals(__be32 *reg, int *nr_cells,
+                                                    int addrcells,
+                                                    int sizecells)
+{
+    int reg_size = addrcells + sizecells;
+    u64 start_last, size_last, end_last;
+    unsigned int count;
+    unsigned int i = 1;
+    __be32 *last_cell = reg;
+
+    BUG_ON(!nr_cells || !reg);
+
+    if ( (addrcells < 1) || (addrcells > 2) || (sizecells < 1) ||
+         (sizecells > 2) )
+        return -EINVAL;
+
+    count = *nr_cells / reg_size;
+    /* Early stop, only one interval in the array */
+    if ( count == 1 )
+        return 0;
+
+    /* Sort cells by ascending address */
+    sort(reg, count, reg_size * sizeof(__be32), cmp_mem_reg_cell,
+         swap_mem_reg_cell, &addrcells);
+
+    /*
+     * Algorithm to merge overlapping intervals in place, prerequisite for the
+     * intervals is that they must be sorted with ascending order address
+     */
+    start_last = dt_read_number(last_cell, addrcells);
+    size_last = dt_read_number(last_cell + addrcells, sizecells);
+    end_last = start_last + size_last;
+
+    /* The sum is too big */
+    if ( end_last < start_last )
+        return -ERANGE;
+
+    while ( i < count )
+    {
+        __be32 *current_cell = &reg[i * reg_size];
+        u64 start_current = dt_read_number(current_cell, addrcells);
+        u64 size_current = dt_read_number(current_cell + addrcells, sizecells);
+        u64 end_current = start_current + size_current;
+        bool overlap = end_last >= start_current;
+        u64 new_size;
+
+        /* The sum is too big */
+        if ( end_current < start_current )
+            return -ERANGE;
+
+        new_size = MAX(end_last, end_current) - start_last;
+
+        /*
+         * If the last interval end is not connected with the current one, or
+         * if they are connected but the new computed size would not be
+         * representable given the input sizecells, don't merge and advance the
+         * last of one position.
+         */
+        if ( !overlap ||
+             (overlap && (sizecells < 2) && (new_size > UINT32_MAX)) )
+        {
+            /* last element doesn't overlap with the current, advance it */
+            last_cell = last_cell + reg_size;
+            start_last = dt_read_number(last_cell, addrcells);
+            size_last = dt_read_number(last_cell + addrcells, sizecells);
+            end_last = start_last + size_last;
+        }
+        else
+        {
+            /* Temporary pointer because dt_set_cell modifies it */
+            __be32 *tmp_last_cell_size = last_cell + addrcells;
+
+            dt_set_cell(&tmp_last_cell_size, sizecells, new_size);
+            /*
+             * This current interval is merged with the last one, so remove this
+             * interval and shift left all the remaining elements
+             */
+            memmove(current_cell, current_cell + reg_size,
+                    (reg_size * (count - i)) * sizeof(__be32));
+            /* Now the array has less element since we merged two intervals */
+            count--;
+            /*
+             * Next iteration needs to start from the current index, skip
+             * increment
+             */
+            continue;
+        }
+        /* Point to the next element in the array */
+        i++;
+    }
+
+    /* Now count holds the number of intervals in the array */
+    *nr_cells = count * reg_size;
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index e6287305a7b5..95a88a0d3bc9 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -946,6 +946,25 @@ int dt_get_pci_domain_nr(struct dt_device_node *node);
 
 struct dt_device_node *dt_find_node_by_phandle(dt_phandle handle);
 
+/**
+ * dt_merge_overlapping_addr_size_intervals - Given an array of (address, size)
+ *   cells intervals, returns an array with the overlapping intervals merged.
+ * @reg: Array of (address, size) cells.
+ * @nr_cells: Total number of cells in the array.
+ * @addrcells: Size of the "address" in number of cells.
+ * @sizecells: Size of the "size" in number of cells.
+ *
+ * Return:
+ * * 0       - On success.
+ * * -ERANGE - The interval computation results are not representable.
+ *             (address + size results in truncation overflow).
+ * * -EINVAL - addrcells or sizecells are outside the interval [1, 2]
+ *
+ * Returns in nr_cells the new number of cells in the array.
+ */
+int dt_merge_overlapping_addr_size_intervals(__be32 *reg, int *nr_cells,
+                                             int addrcells, int sizecells);
+
 #ifdef CONFIG_DEVICE_TREE_DEBUG
 #define dt_dprintk(fmt, args...)  \
     printk(XENLOG_DEBUG fmt, ## args)
diff --git a/xen/include/xen/sort.h b/xen/include/xen/sort.h
index b95328628465..1bd4420457c0 100644
--- a/xen/include/xen/sort.h
+++ b/xen/include/xen/sort.h
@@ -23,8 +23,8 @@
 extern gnu_inline
 #endif
 void sort(void *base, size_t num, size_t size,
-          int (*cmp)(const void *a, const void *b),
-          void (*swap)(void *a, void *b, size_t size))
+          int (*cmp)(const void *a, const void *b, const void *data),
+          void (*swap)(void *a, void *b, size_t size), const void *cmp_data)
 {
     /* pre-scale counters for performance */
     size_t i = (num / 2) * size, n = num * size, c, r;
@@ -35,9 +35,10 @@ void sort(void *base, size_t num, size_t size,
         for ( r = i -= size; r * 2 + size < n; r = c )
         {
             c = r * 2 + size;
-            if ( (c < n - size) && (cmp(base + c, base + c + size) < 0) )
+            if ( (c < n - size) &&
+                 (cmp(base + c, base + c + size, cmp_data) < 0) )
                 c += size;
-            if ( cmp(base + r, base + c) >= 0 )
+            if ( cmp(base + r, base + c, cmp_data) >= 0 )
                 break;
             swap(base + r, base + c, size);
         }
@@ -51,9 +52,10 @@ void sort(void *base, size_t num, size_t size,
         for ( r = 0; r * 2 + size < i; r = c )
         {
             c = r * 2 + size;
-            if ( (c < i - size) && (cmp(base + c, base + c + size) < 0) )
+            if ( (c < i - size) &&
+                 (cmp(base + c, base + c + size, cmp_data) < 0) )
                 c += size;
-            if ( cmp(base + r, base + c) >= 0 )
+            if ( cmp(base + r, base + c, cmp_data) >= 0 )
                 break;
             swap(base + r, base + c, size);
         }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 11:53:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 11:53:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702275.1097290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruA2h-0003t2-JK; Tue, 09 Apr 2024 11:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702275.1097290; Tue, 09 Apr 2024 11: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 1ruA2h-0003sv-Ga; Tue, 09 Apr 2024 11:53:35 +0000
Received: by outflank-mailman (input) for mailman id 702275;
 Tue, 09 Apr 2024 11:53: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=0lRi=LO=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ru9vX-0004JG-1P
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 11:46:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c190aba0-f666-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 13:46:09 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1102315DB;
 Tue,  9 Apr 2024 04:46:39 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F14DD3F766;
 Tue,  9 Apr 2024 04:46: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: c190aba0-f666-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 13/13] xen/arm: List static shared memory regions as /memory nodes
Date: Tue,  9 Apr 2024 12:45:43 +0100
Message-Id: <20240409114543.3332150-14-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409114543.3332150-1-luca.fancellu@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently Xen is not exporting the static shared memory regions
to the device tree as /memory node, this commit is fixing this
issue.

The static shared memory banks can be part of the memory range
available for the domain, so if they are overlapping with the
normal memory banks, they need to be merged together in order
to produce a /memory node with non overlapping ranges in 'reg'.

Given that now make_memory_node needs a parameter 'struct kernel_info'
in order to call the new function shm_mem_node_merge_reg_range,
take the occasion to remove the unused struct domain parameter.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2:
 - try to use make_memory_node, don't add overlapping ranges of
   memory, commit message changed.
v1:
 - new patch
---
---
 xen/arch/arm/dom0less-build.c           |  2 +-
 xen/arch/arm/domain_build.c             | 38 ++++++++++++++++++-------
 xen/arch/arm/include/asm/domain_build.h |  2 +-
 xen/arch/arm/include/asm/static-shmem.h | 18 ++++++++++++
 xen/arch/arm/static-shmem.c             | 26 +++++++++++++++++
 5 files changed, 73 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 51cf03221d56..74f053c242f4 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -642,7 +642,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     if ( ret )
         goto err;
 
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+    ret = make_memory_node(kinfo, addrcells, sizecells,
                            kernel_info_get_mem(kinfo));
     if ( ret )
         goto err;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 71eebfcf7e03..f9b749d0a068 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -757,15 +757,14 @@ int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
     return fdt_begin_node(fdt, buf);
 }
 
-int __init make_memory_node(const struct domain *d,
-                            void *fdt,
-                            int addrcells, int sizecells,
-                            const struct membanks *mem)
+int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
+                            int sizecells, const struct membanks *mem)
 {
+    void *fdt = kinfo->fdt;
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
     int nr_cells = 0;
-    __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
+    __be32 reg[DT_MEM_NODE_REG_RANGE_SIZE];
     __be32 *cells;
 
     if ( mem->nr_banks == 0 )
@@ -798,14 +797,32 @@ int __init make_memory_node(const struct domain *d,
         if ( mem->bank[i].type == MEMBANK_STATIC_DOMAIN )
             continue;
 
-        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
-
         nr_cells += reg_size;
         BUG_ON(nr_cells >= ARRAY_SIZE(reg));
         dt_child_set_range(&cells, addrcells, sizecells, start, size);
     }
 
+    /*
+     * static shared memory banks need to be listed as /memory node, so when
+     * this function is handling the normal memory, merge the banks.
+     */
+    if ( mem == kernel_info_get_mem_const(kinfo) )
+    {
+        res = shm_mem_node_merge_reg_range(kinfo, reg, &nr_cells, addrcells,
+                                           sizecells);
+        if ( res )
+            return res;
+    }
+
+    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
+    {
+        u64 start = dt_read_number(cells, addrcells);
+        u64 size = dt_read_number(cells + addrcells, sizecells);
+
+        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
+                   i, start, start + size);
+    }
+
     dt_dprintk("(reg size %d, nr cells %d)\n", reg_size, nr_cells);
 
     res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg));
@@ -1771,7 +1788,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
-        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+        res = make_memory_node(kinfo, addrcells, sizecells,
                                kernel_info_get_mem(kinfo));
         if ( res )
             return res;
@@ -1782,8 +1799,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
          */
         if ( reserved_mem->nr_banks > 0 )
         {
-            res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                   reserved_mem);
+            res = make_memory_node(kinfo, addrcells, sizecells, reserved_mem);
             if ( res )
                 return res;
         }
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 026d975da28e..45936212ca21 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -14,7 +14,7 @@ int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
                          int addrcells, int sizecells);
-int make_memory_node(const struct domain *d, void *fdt, int addrcells,
+int make_memory_node(const struct kernel_info *kinfo, int addrcells,
                      int sizecells, const struct membanks *mem);
 int make_psci_node(void *fdt);
 int make_timer_node(const struct kernel_info *kinfo);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 7495a91e7a31..bb5624c801af 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -3,10 +3,15 @@
 #ifndef __ASM_STATIC_SHMEM_H_
 #define __ASM_STATIC_SHMEM_H_
 
+#include <xen/types.h>
 #include <asm/kernel.h>
+#include <asm/setup.h>
 
 #ifdef CONFIG_STATIC_SHM
 
+/* Worst case /memory node reg element: (addrcells + sizecells) */
+#define DT_MEM_NODE_REG_RANGE_SIZE ((NR_MEM_BANKS + NR_SHMEM_BANKS) * 4)
+
 int make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                           int sizecells);
 
@@ -37,8 +42,14 @@ int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
 int make_shm_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                               int sizecells);
 
+int shm_mem_node_merge_reg_range(const struct kernel_info *kinfo, __be32 *reg,
+                                 int *nr_cells, int addrcells, int sizecells);
+
 #else /* !CONFIG_STATIC_SHM */
 
+/* Worst case /memory node reg element: (addrcells + sizecells) */
+#define DT_MEM_NODE_REG_RANGE_SIZE (NR_MEM_BANKS * 4)
+
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
                                         int addrcells, int sizecells)
 {
@@ -86,6 +97,13 @@ static inline int make_shm_resv_memory_node(const struct kernel_info *kinfo,
     return 0;
 }
 
+static inline int shm_mem_node_merge_reg_range(const struct kernel_info *kinfo,
+                                               __be32 *reg, int *nr_cells,
+                                               int addrcells, int sizecells)
+{
+    return 0;
+}
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 5ad6f1269c48..61fcbe217c61 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/device_tree.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/rangeset.h>
 #include <xen/sched.h>
@@ -662,6 +663,31 @@ int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
     return res;
 }
 
+int __init shm_mem_node_merge_reg_range(const struct kernel_info *kinfo,
+                                        __be32 *reg, int *nr_cells,
+                                        int addrcells, int sizecells)
+{
+    const struct membanks *mem = &kinfo->shm_mem.common;
+    unsigned int i;
+    __be32 *cells;
+
+    BUG_ON(!nr_cells || !reg);
+
+    cells = &reg[*nr_cells];
+    for ( i = 0; i < mem->nr_banks; i++ )
+    {
+        u64 start = mem->bank[i].start;
+        u64 size = mem->bank[i].size;
+
+        *nr_cells += addrcells + sizecells;
+        BUG_ON(*nr_cells >= DT_MEM_NODE_REG_RANGE_SIZE);
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+    }
+
+    return dt_merge_overlapping_addr_size_intervals(reg, nr_cells, addrcells,
+                                                    sizecells);
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 12:01:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 12:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702308.1097332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruAA2-0006Vp-72; Tue, 09 Apr 2024 12:01:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702308.1097332; Tue, 09 Apr 2024 12:01:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruAA2-0006Vh-3g; Tue, 09 Apr 2024 12:01:10 +0000
Received: by outflank-mailman (input) for mailman id 702308;
 Tue, 09 Apr 2024 12:01:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pd+N=LO=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1ruAA0-0005ow-EN
 for xen-devel@lists.xen.org; Tue, 09 Apr 2024 12:01:08 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5e4d946-f668-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 14:01:05 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1ruA9m-0007Va-E5; Tue, 09 Apr 2024 12:00:54 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1ruA9m-0002tQ-By; Tue, 09 Apr 2024 12:00:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5e4d946-f668-11ee-b907-491648fe20b8
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=ksEmaXSEKY9rdV6L7/g9h66IR+oM69SitAeqfso61fM=; b=kJrwhcpV8KUNxCz2Fk59oKoa7F
	29GjELDWNjZM3/Bn3Y3LSuG3TVsijFGN4MQ15pbJEM3NxV8e9XPMudig3I8CIQ3tuy4NXP8B7HfxL
	YsmZOM6z49P4hVAb996+6+b35JD0Oo+KEGwGILnVzuX9nGlJREgV+D+bBgFIZb3Ong/I=;
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 454 v2 (CVE-2023-46842) - x86 HVM
 hypercalls may trigger Xen bug check
Message-Id: <E1ruA9m-0002tQ-By@xenbits.xenproject.org>
Date: Tue, 09 Apr 2024 12:00:54 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2023-46842 / XSA-454
                               version 2

             x86 HVM hypercalls may trigger Xen bug check

UPDATES IN VERSION 2
====================

Avoid new Misra violation in 1st staging patch.

Public release.

ISSUE DESCRIPTION
=================

Unlike 32-bit PV guests, HVM guests may switch freely between 64-bit and
other modes.  This in particular means that they may set registers used
to pass 32-bit-mode hypercall arguments to values outside of the range
32-bit code would be able to set them to.

When processing of hypercalls takes a considerable amount of time,
the hypervisor may choose to invoke a hypercall continuation.  Doing so
involves putting (perhaps updated) hypercall arguments in respective
registers.  For guests not running in 64-bit mode this further involves
a certain amount of translation of the values.

Unfortunately internal sanity checking of these translated values
assumes high halves of registers to always be clear when invoking a
hypercall.  When this is found not to be the case, it triggers a
consistency check in the hypervisor and causes a crash.

IMPACT
======

A HVM or PVH guest can cause a hypervisor crash, causing a Denial of
Service (DoS) of the entire host.

VULNERABLE SYSTEMS
==================

All Xen versions from at least 3.2 onwards are vulnerable.  Earlier
versions have not been inspected.

Only x86 systems are vulnerable.  Arm systems are not vulnerable.

Only HVM or PVH guests can leverage the vulnerability.  PV guests cannot
leverage the vulnerability.

MITIGATION
==========

Not using HVM / PVH guests will avoid the vulnerability.

CREDITS
=======

This issue was discovered by Manuel Andreas of Technical University of
Munich.

RESOLUTION
==========

Applying either of the attached patches from the appropriate set 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.

xsa454-?.patch           xen-unstable
xsa454-4.18-?.patch      Xen 4.18.x
xsa454-4.17-?.patch      Xen 4.17.x
xsa454-4.16-?.patch      Xen 4.16.x - Xen 4.15.x

$ sha256sum xsa454*
2df9af16605b634d3585a30f673b4cf9e327889cfd8714a697de215c3f809fb5  xsa454-1.patch
f2ed0468350f2c2e0285a546ab5c722e928add5425b05bff663c632ada09ee3b  xsa454-2.patch
4106f323251e262d30319c61de7c876f2b18edfcce38cc70501fb3c22677ff0a  xsa454-4.16-1.patch
962ea7d8f3e378ec775619e44525f66768369423b56113420763651dbbf6bc1e  xsa454-4.16-2.patch
95b299237d13ae27f643d804eb40b600b9b8ef056953686d4f770f03c46c42c8  xsa454-4.17-1.patch
7af290595cbea3153e49344827095c874e6a8d208d8c843e62ee0787b0d7d46d  xsa454-4.17-2.patch
999006e7917c996741dfc332d28e7b2ca8376f8e9d5b38161cbd5988528d0238  xsa454-4.18-1.patch
f2ed0468350f2c2e0285a546ab5c722e928add5425b05bff663c632ada09ee3b  xsa454-4.18-2.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmYVK4QMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZGckH/3BlZCckKISpUFMM/633xyAdJ8ZMVwZDhS2/eC+n
SJA4VuqAgw6dqqvAA5ga7jzBiCxe78S1BVXAZjOctmfVHRTOoyKg2hcEcKAit8uf
Pbxm/XHqgQRb6FTAlZROqX0rxq+7kSftm0teQWvMfauwVia59Shhye67dmdk9tCP
G8BTDFVEAspFYopQOiTmFQbxIkLLC6rg0UljQfxStPMw3MyX8pO5Lzl3+POlM1xV
XBynHxVmpdXNe1rFYcRKIsQWbbgYiEMXjQmOkax2mTfMHDhMZjkxvpLZa2jMfzkP
wTdqwWqO+z2eGZPWVL95uwZ49Q6Pzhnd6MXkn0wfHtDzy24=
=oUIS
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa454-1.patch"
Content-Disposition: attachment; filename="xsa454-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBjbGVhciB1cHBlciBoYWx2ZXMgb2YgR1BScyB1cG9uIGVu
dHJ5IGZyb20gMzItYml0IGNvZGUKCkh5cGVyY2FsbHMgaW4gcGFydGljdWxh
ciBjYW4gYmUgdGhlIHN1YmplY3Qgb2YgY29udGludWF0aW9ucywgYW5kIGxv
Z2ljCnRoZXJlIGNoZWNrcyB1cGRhdGVkIHN0YXRlIGFnYWluc3QgaW5jb21p
bmcgcmVnaXN0ZXIgdmFsdWVzLiBJZiB0aGUKZ3Vlc3QgbWFudWZhY3R1cmVk
IGEgc3VpdGFibGUgYXJndW1lbnQgcmVnaXN0ZXIgd2l0aCBhIG5vbi16ZXJv
IHVwcGVyCmhhbGYgYmVmb3JlIGVudGVyaW5nIGNvbXBhdGliaWxpdHkgbW9k
ZSBhbmQgaXNzdWluZyBhIGh5cGVyY2FsbCBmcm9tCnRoZXJlLCBjaGVja3Mg
aW4gaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKCkgbWlnaHQgdHJpcC4K
ClNpbmNlIGZvciBIVk0gd2Ugd2FudCB0byBhbHNvIGJlIHN1cmUgdG8gbm90
IGhpdCBhIGNvcm5lciBjYXNlIGluIHRoZQplbXVsYXRvciwgaW5pdGlhdGUg
dGhlIGNsaXBwaW5nIHJpZ2h0IGZyb20gdGhlIHRvcCBvZgp7c3ZtLHZteH1f
dm1leGl0X2hhbmRsZXIoKS4gQWxzbyByZW5hbWUgdGhlIGludm9rZWQgZnVu
Y3Rpb24sIGFzIGl0IG5vCmxvbmdlciBkb2VzIG9ubHkgaW52YWxpZGF0aW9u
IG9mIGZpZWxkcy4KCk5vdGUgdGhhdCBhcmNoaXRlY3R1cmFsbHkgdGhlIHVw
cGVyIGhhbHZlcyBvZiByZWdpc3RlcnMgYXJlIHVuZGVmaW5lZAphZnRlciBh
IHN3aXRjaCBiZXR3ZWVuIGNvbXBhdGliaWxpdHkgYW5kIDY0LWJpdCBtb2Rl
IChlaXRoZXIgZGlyZWN0aW9uKS4KSGVuY2Ugb25jZSBoYXZpbmcgZW50ZXJl
ZCBjb21wYXRpYmlsaXR5IG1vZGUsIHRoZSBndWVzdCBjYW4ndCBhc3N1bWUK
dGhlIHVwcGVyIGhhbGYgb2YgYW55IHJlZ2lzdGVyIHRvIHJldGFpbiBpdHMg
dmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ1NCAvIENWRS0yMDIzLTQ2
ODQyLgoKRml4ZXM6IGI4YTdlZmU4NTI4YSAoIkVuYWJsZSBjb21wYXRpYmls
aXR5IG1vZGUgb3BlcmF0aW9uIGZvciBIWVBFUlZJU09SX21lbW9yeV9vcCIp
ClJlcG9ydGVkLWJ5OiBNYW51ZWwgQW5kcmVhcyA8bWFudWVsLmFuZHJlYXNA
dHVtLmRlPgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl
ci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3Zt
L3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0y
NjAzLDcgKzI2MDMsOCBAQCB2b2lkIGFzbWxpbmthZ2Ugc3ZtX3ZtZXhpdF9o
YW5kbGVyKHZvaWQpCiAgICAgcmVncy0+cnNwID0gdm1jYi0+cnNwOwogICAg
IHJlZ3MtPnJmbGFncyA9IHZtY2ItPnJmbGFnczsKIAotICAgIGh2bV9pbnZh
bGlkYXRlX3JlZ3NfZmllbGRzKHJlZ3MpOworICAgIGh2bV9zYW5pdGl6ZV9y
ZWdzX2ZpZWxkcygKKyAgICAgICAgcmVncywgISh2bWNiX2dldF9lZmVyKHZt
Y2IpICYgRUZFUl9MTUEpIHx8ICEodm1jYi0+Y3MubCkpOwogCiAgICAgaWYg
KCBwYWdpbmdfbW9kZV9oYXAodi0+ZG9tYWluKSApCiAgICAgICAgIHYtPmFy
Y2guaHZtLmd1ZXN0X2NyWzNdID0gdi0+YXJjaC5odm0uaHdfY3JbM10gPSB2
bWNiX2dldF9jcjModm1jYik7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14
L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC00
MDMzLDYgKzQwMzMsNyBAQCBzdGF0aWMgdm9pZCB1bmRvX25taXNfdW5ibG9j
a2VkX2J5X2lyZXQoCiB2b2lkIGFzbWxpbmthZ2Ugdm14X3ZtZXhpdF9oYW5k
bGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewogICAgIHVuc2ln
bmVkIGxvbmcgZXhpdF9xdWFsaWZpY2F0aW9uLCBleGl0X3JlYXNvbiwgaWR0
dl9pbmZvLCBpbnRyX2luZm8gPSAwOworICAgIHVuc2lnbmVkIGxvbmcgY3Nf
YXJfYnl0ZXMgPSAwOwogICAgIHVuc2lnbmVkIGludCB2ZWN0b3IgPSAwOwog
ICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKICAgICBzdHJ1Y3QgZG9t
YWluICpjdXJyZCA9IHYtPmRvbWFpbjsKQEAgLTQwNDEsNyArNDA0MiwxMCBA
QCB2b2lkIGFzbWxpbmthZ2Ugdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjCiAg
ICAgX192bXJlYWQoR1VFU1RfUlNQLCAgICAmcmVncy0+cnNwKTsKICAgICBf
X3ZtcmVhZChHVUVTVF9SRkxBR1MsICZyZWdzLT5yZmxhZ3MpOwogCi0gICAg
aHZtX2ludmFsaWRhdGVfcmVnc19maWVsZHMocmVncyk7CisgICAgaWYgKCBo
dm1fbG9uZ19tb2RlX2FjdGl2ZSh2KSApCisgICAgICAgIF9fdm1yZWFkKEdV
RVNUX0NTX0FSX0JZVEVTLCAmY3NfYXJfYnl0ZXMpOworCisgICAgaHZtX3Nh
bml0aXplX3JlZ3NfZmllbGRzKHJlZ3MsICEoY3NfYXJfYnl0ZXMgJiBYODZf
U0VHX0FSX0NTX0xNX0FDVElWRSkpOwogCiAgICAgaWYgKCBwYWdpbmdfbW9k
ZV9oYXAodi0+ZG9tYWluKSApCiAgICAgewotLS0gYS94ZW4vYXJjaC94ODYv
aW5jbHVkZS9hc20vaHZtL2h2bS5oCisrKyBiL3hlbi9hcmNoL3g4Ni9pbmNs
dWRlL2FzbS9odm0vaHZtLmgKQEAgLTU2OSw4ICs1NjksMjQgQEAgc3RhdGlj
IGlubGluZSB1bnNpZ25lZCBpbnQgaHZtX2dldF9pbnNuXwogICAgICAgICAg
ICAgPyBhbHRlcm5hdGl2ZV9jYWxsKGh2bV9mdW5jcy5nZXRfaW5zbl9ieXRl
cywgdiwgYnVmKSA6IDApOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgaHZt
X2ludmFsaWRhdGVfcmVnc19maWVsZHMoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MpCitzdGF0aWMgaW5saW5lIHZvaWQgaHZtX3Nhbml0aXplX3JlZ3Nf
ZmllbGRzKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNvbXBh
dCkKIHsKKyAgICBpZiAoIGNvbXBhdCApCisgICAgeworICAgICAgICAvKiBD
bGVhciBHUFIgdXBwZXIgaGFsdmVzLCB0byBjb3VudGVyYWN0IGd1ZXN0cyBw
bGF5aW5nIGdhbWVzLiAqLworICAgICAgICByZWdzLT5yYnAgPSAodWludDMy
X3QpcmVncy0+cmJwOworICAgICAgICByZWdzLT5yYnggPSAodWludDMyX3Qp
cmVncy0+cmJ4OworICAgICAgICByZWdzLT5yYXggPSAodWludDMyX3QpcmVn
cy0+cmF4OworICAgICAgICByZWdzLT5yY3ggPSAodWludDMyX3QpcmVncy0+
cmN4OworICAgICAgICByZWdzLT5yZHggPSAodWludDMyX3QpcmVncy0+cmR4
OworICAgICAgICByZWdzLT5yc2kgPSAodWludDMyX3QpcmVncy0+cnNpOwor
ICAgICAgICByZWdzLT5yZGkgPSAodWludDMyX3QpcmVncy0+cmRpOworICAg
ICAgICByZWdzLT5yaXAgPSAodWludDMyX3QpcmVncy0+cmlwOworICAgICAg
ICByZWdzLT5yZmxhZ3MgPSAodWludDMyX3QpcmVncy0+cmZsYWdzOworICAg
ICAgICByZWdzLT5yc3AgPSAodWludDMyX3QpcmVncy0+cnNwOworICAgIH0K
KwogI2lmbmRlZiBOREVCVUcKICAgICByZWdzLT5lcnJvcl9jb2RlID0gMHhi
ZWVmOwogICAgIHJlZ3MtPmVudHJ5X3ZlY3RvciA9IDB4YmVlZjsK

--=separator
Content-Type: application/octet-stream; name="xsa454-2.patch"
Content-Disposition: attachment; filename="xsa454-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQmpvZXJuIERvZWJlbCA8ZG9lYmVsQGFtYXpvbi5kZT4KU3ViamVj
dDogaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uOiBSZXBsYWNlIEJVR19P
TiB3aXRoIGRvbWFpbl9jcmFzaAoKSW5zdGVhZCBvZiBjcmFzaGluZyB0aGUg
aG9zdCBpbiBjYXNlIG9mIHVuZXhwZWN0ZWQgaHlwZXJjYWxsIHBhcmFtZXRl
cnMsCnJlc29ydCB0byBvbmx5IGNyYXNoaW5nIHRoZSBjYWxsaW5nIGRvbWFp
bi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDU0IC8gQ1ZFLTIwMjMtNDY4NDIu
CgpGaXhlczogYjhhN2VmZTg1MjhhICgiRW5hYmxlIGNvbXBhdGliaWxpdHkg
bW9kZSBvcGVyYXRpb24gZm9yIEhZUEVSVklTT1JfbWVtb3J5X29wIikKUmVw
b3J0ZWQtYnk6IE1hbnVlbCBBbmRyZWFzIDxtYW51ZWwuYW5kcmVhc0B0dW0u
ZGU+ClNpZ25lZC1vZmYtYnk6IEJqb2VybiBEb2ViZWwgPGRvZWJlbEBhbWF6
b24uZGU+ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L2h5cGVyY2Fs
bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9oeXBlcmNhbGwuYwpAQCAtMTQwLDgg
KzE0MCwxMCBAQCBpbnQgaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVu
c2lnbmVkCiAgICAgICAgICAgICAgICAgY3ZhbCA9IHZhX2FyZyhhcmdzLCB1
bnNpZ25lZCBpbnQpOwogICAgICAgICAgICAgICAgIGlmICggY3ZhbCA9PSBu
dmFsICkKICAgICAgICAgICAgICAgICAgICAgbWFzayAmPSB+MVU7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBCVUdfT04o
bnZhbCA9PSAodW5zaWduZWQgaW50KW52YWwpOworICAgICAgICAgICAgICAg
IGVsc2UgaWYgKCBudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCApCisgICAg
ICAgICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVsdGljYWxs
IChvcCAlbHUpIGJvZ3VzIGNvbnRpbnVhdGlvbiBhcmcldSAoJSNseClcbiIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtY3MtPmNhbGwu
b3AsIGksIG52YWwpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxz
ZSBpZiAoIGlkICYmICppZCA9PSBpICkKICAgICAgICAgICAgIHsKQEAgLTE1
Myw4ICsxNTUsMTAgQEAgaW50IGh5cGVyY2FsbF94bGF0X2NvbnRpbnVhdGlv
bih1bnNpZ25lZAogICAgICAgICAgICAgICAgIG1jcy0+Y2FsbC5hcmdzW2ld
ID0gY3ZhbDsKICAgICAgICAgICAgICAgICArK3JjOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIEJVR19PTiht
Y3MtPmNhbGwuYXJnc1tpXSAhPSAodW5zaWduZWQgaW50KW1jcy0+Y2FsbC5h
cmdzW2ldKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKCBtY3MtPmNhbGwuYXJn
c1tpXSAhPSAodW5zaWduZWQgaW50KW1jcy0+Y2FsbC5hcmdzW2ldICkKKyAg
ICAgICAgICAgICAgICBkb21haW5fY3Jhc2goY3VycmVudC0+ZG9tYWluLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVsdGljYWxsIChvcCAl
bHUpIGJhZCBjb250aW51YXRpb24gYXJnJXUgKCUjbHgpXG4iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtY3MtPmNhbGwub3AsIGksIG1jcy0+
Y2FsbC5hcmdzW2ldKTsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlCkBA
IC0xODAsOCArMTg0LDEwIEBAIGludCBoeXBlcmNhbGxfeGxhdF9jb250aW51
YXRpb24odW5zaWduZWQKICAgICAgICAgICAgICAgICBjdmFsID0gdmFfYXJn
KGFyZ3MsIHVuc2lnbmVkIGludCk7CiAgICAgICAgICAgICAgICAgaWYgKCBj
dmFsID09IG52YWwgKQogICAgICAgICAgICAgICAgICAgICBtYXNrICY9IH4x
VTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IEJVR19PTihudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCk7CisgICAgICAg
ICAgICAgICAgZWxzZSBpZiAoIG52YWwgPT0gKHVuc2lnbmVkIGludCludmFs
ICkKKyAgICAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKGN1cnJlbnQt
PmRvbWFpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJo
eXBlcmNhbGwgKG9wICV1KSBib2d1cyBjb250aW51YXRpb24gYXJnJXUgKCUj
bHgpXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVn
cy0+ZWF4LCBpLCBudmFsKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGVsc2UgaWYgKCBpZCAmJiAqaWQgPT0gaSApCiAgICAgICAgICAgICB7CkBA
IC0xOTMsOCArMTk5LDEwIEBAIGludCBoeXBlcmNhbGxfeGxhdF9jb250aW51
YXRpb24odW5zaWduZWQKICAgICAgICAgICAgICAgICAqcmVnID0gY3ZhbDsK
ICAgICAgICAgICAgICAgICArK3JjOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIEJVR19PTigqcmVnICE9ICh1
bnNpZ25lZCBpbnQpKnJlZyk7CisgICAgICAgICAgICBlbHNlIGlmICggKnJl
ZyAhPSAodW5zaWduZWQgaW50KSpyZWcgKQorICAgICAgICAgICAgICAgIGRv
bWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJoeXBlcmNhbGwgKG9wICV1KSBiYWQgY29udGludWF0
aW9uIGFyZyV1ICglI2x4KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVncy0+ZWF4LCBpLCAqcmVnKTsKICAgICAgICAgfQogICAgIH0K
IAo=

--=separator
Content-Type: application/octet-stream; name="xsa454-4.16-1.patch"
Content-Disposition: attachment; filename="xsa454-4.16-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBjbGVhciB1cHBlciBoYWx2ZXMgb2YgR1BScyB1cG9uIGVu
dHJ5IGZyb20gMzItYml0IGNvZGUKCkh5cGVyY2FsbHMgaW4gcGFydGljdWxh
ciBjYW4gYmUgdGhlIHN1YmplY3Qgb2YgY29udGludWF0aW9ucywgYW5kIGxv
Z2ljCnRoZXJlIGNoZWNrcyB1cGRhdGVkIHN0YXRlIGFnYWluc3QgaW5jb21p
bmcgcmVnaXN0ZXIgdmFsdWVzLiBJZiB0aGUKZ3Vlc3QgbWFudWZhY3R1cmVk
IGEgc3VpdGFibGUgYXJndW1lbnQgcmVnaXN0ZXIgd2l0aCBhIG5vbi16ZXJv
IHVwcGVyCmhhbGYgYmVmb3JlIGVudGVyaW5nIGNvbXBhdGliaWxpdHkgbW9k
ZSBhbmQgaXNzdWluZyBhIGh5cGVyY2FsbCBmcm9tCnRoZXJlLCBjaGVja3Mg
aW4gaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKCkgbWlnaHQgdHJpcC4K
ClNpbmNlIGZvciBIVk0gd2Ugd2FudCB0byBhbHNvIGJlIHN1cmUgdG8gbm90
IGhpdCBhIGNvcm5lciBjYXNlIGluIHRoZQplbXVsYXRvciwgaW5pdGlhdGUg
dGhlIGNsaXBwaW5nIHJpZ2h0IGZyb20gdGhlIHRvcCBvZgp7c3ZtLHZteH1f
dm1leGl0X2hhbmRsZXIoKS4gQWxzbyByZW5hbWUgdGhlIGludm9rZWQgZnVu
Y3Rpb24sIGFzIGl0IG5vCmxvbmdlciBkb2VzIG9ubHkgaW52YWxpZGF0aW9u
IG9mIGZpZWxkcy4KCk5vdGUgdGhhdCBhcmNoaXRlY3R1cmFsbHkgdGhlIHVw
cGVyIGhhbHZlcyBvZiByZWdpc3RlcnMgYXJlIHVuZGVmaW5lZAphZnRlciBh
IHN3aXRjaCBiZXR3ZWVuIGNvbXBhdGliaWxpdHkgYW5kIDY0LWJpdCBtb2Rl
IChlaXRoZXIgZGlyZWN0aW9uKS4KSGVuY2Ugb25jZSBoYXZpbmcgZW50ZXJl
ZCBjb21wYXRpYmlsaXR5IG1vZGUsIHRoZSBndWVzdCBjYW4ndCBhc3N1bWUK
dGhlIHVwcGVyIGhhbGYgb2YgYW55IHJlZ2lzdGVyIHRvIHJldGFpbiBpdHMg
dmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ1NCAvIENWRS0yMDIzLTQ2
ODQyLgoKRml4ZXM6IGI4YTdlZmU4NTI4YSAoIkVuYWJsZSBjb21wYXRpYmls
aXR5IG1vZGUgb3BlcmF0aW9uIGZvciBIWVBFUlZJU09SX21lbW9yeV9vcCIp
ClJlcG9ydGVkLWJ5OiBNYW51ZWwgQW5kcmVhcyA8bWFudWVsLmFuZHJlYXNA
dHVtLmRlPgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl
ci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3Zt
L3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0y
NTkzLDcgKzI1OTMsOCBAQCB2b2lkIHN2bV92bWV4aXRfaGFuZGxlcihzdHJ1
Y3QgY3B1X3VzZXJfCiAgICAgcmVncy0+cnNwID0gdm1jYi0+cnNwOwogICAg
IHJlZ3MtPnJmbGFncyA9IHZtY2ItPnJmbGFnczsKIAotICAgIGh2bV9pbnZh
bGlkYXRlX3JlZ3NfZmllbGRzKHJlZ3MpOworICAgIGh2bV9zYW5pdGl6ZV9y
ZWdzX2ZpZWxkcygKKyAgICAgICAgcmVncywgISh2bWNiX2dldF9lZmVyKHZt
Y2IpICYgRUZFUl9MTUEpIHx8ICEodm1jYi0+Y3MubCkpOwogCiAgICAgaWYg
KCBwYWdpbmdfbW9kZV9oYXAodi0+ZG9tYWluKSApCiAgICAgICAgIHYtPmFy
Y2guaHZtLmd1ZXN0X2NyWzNdID0gdi0+YXJjaC5odm0uaHdfY3JbM10gPSB2
bWNiX2dldF9jcjModm1jYik7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14
L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0z
OTM5LDYgKzM5MzksNyBAQCBzdGF0aWMgaW50IHZteF9oYW5kbGVfYXBpY193
cml0ZSh2b2lkKQogdm9pZCB2bXhfdm1leGl0X2hhbmRsZXIoc3RydWN0IGNw
dV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBleGl0
X3F1YWxpZmljYXRpb24sIGV4aXRfcmVhc29uLCBpZHR2X2luZm8sIGludHJf
aW5mbyA9IDA7CisgICAgdW5zaWduZWQgbG9uZyBjc19hcl9ieXRlcyA9IDA7
CiAgICAgdW5zaWduZWQgaW50IHZlY3RvciA9IDAsIG1vZGU7CiAgICAgc3Ry
dWN0IHZjcHUgKnYgPSBjdXJyZW50OwogICAgIHN0cnVjdCBkb21haW4gKmN1
cnJkID0gdi0+ZG9tYWluOwpAQCAtMzk0Nyw3ICszOTQ4LDEwIEBAIHZvaWQg
dm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl8KICAgICBfX3Zt
cmVhZChHVUVTVF9SU1AsICAgICZyZWdzLT5yc3ApOwogICAgIF9fdm1yZWFk
KEdVRVNUX1JGTEFHUywgJnJlZ3MtPnJmbGFncyk7CiAKLSAgICBodm1faW52
YWxpZGF0ZV9yZWdzX2ZpZWxkcyhyZWdzKTsKKyAgICBpZiAoIGh2bV9sb25n
X21vZGVfYWN0aXZlKHYpICkKKyAgICAgICAgX192bXJlYWQoR1VFU1RfQ1Nf
QVJfQllURVMsICZjc19hcl9ieXRlcyk7CisKKyAgICBodm1fc2FuaXRpemVf
cmVnc19maWVsZHMocmVncywgIShjc19hcl9ieXRlcyAmIFg4Nl9TRUdfQVJf
Q1NfTE1fQUNUSVZFKSk7CiAKICAgICBpZiAoIHBhZ2luZ19tb2RlX2hhcCh2
LT5kb21haW4pICkKICAgICB7Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv
aHZtL2h2bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5o
CkBAIC01NzksOCArNTc5LDI0IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg
aW50IGh2bV9nZXRfaW5zbl8KICAgICAgICAgICAgID8gYWx0ZXJuYXRpdmVf
Y2FsbChodm1fZnVuY3MuZ2V0X2luc25fYnl0ZXMsIHYsIGJ1ZikgOiAwKTsK
IH0KIAotc3RhdGljIGlubGluZSB2b2lkIGh2bV9pbnZhbGlkYXRlX3JlZ3Nf
ZmllbGRzKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQorc3RhdGljIGlu
bGluZSB2b2lkIGh2bV9zYW5pdGl6ZV9yZWdzX2ZpZWxkcyhzdHJ1Y3QgY3B1
X3VzZXJfcmVncyAqcmVncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBjb21wYXQpCiB7CisgICAgaWYgKCBj
b21wYXQgKQorICAgIHsKKyAgICAgICAgLyogQ2xlYXIgR1BSIHVwcGVyIGhh
bHZlcywgdG8gY291bnRlcmFjdCBndWVzdHMgcGxheWluZyBnYW1lcy4gKi8K
KyAgICAgICAgcmVncy0+cmJwID0gcmVncy0+ZWJwOworICAgICAgICByZWdz
LT5yYnggPSByZWdzLT5lYng7CisgICAgICAgIHJlZ3MtPnJheCA9IHJlZ3Mt
PmVheDsKKyAgICAgICAgcmVncy0+cmN4ID0gcmVncy0+ZWN4OworICAgICAg
ICByZWdzLT5yZHggPSByZWdzLT5lZHg7CisgICAgICAgIHJlZ3MtPnJzaSA9
IHJlZ3MtPmVzaTsKKyAgICAgICAgcmVncy0+cmRpID0gcmVncy0+ZWRpOwor
ICAgICAgICByZWdzLT5yaXAgPSByZWdzLT5laXA7CisgICAgICAgIHJlZ3Mt
PnJmbGFncyA9IHJlZ3MtPmVmbGFnczsKKyAgICAgICAgcmVncy0+cnNwID0g
cmVncy0+ZXNwOworICAgIH0KKwogI2lmbmRlZiBOREVCVUcKICAgICByZWdz
LT5lcnJvcl9jb2RlID0gMHhiZWVmOwogICAgIHJlZ3MtPmVudHJ5X3ZlY3Rv
ciA9IDB4YmVlZjsK

--=separator
Content-Type: application/octet-stream; name="xsa454-4.16-2.patch"
Content-Disposition: attachment; filename="xsa454-4.16-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQmpvZXJuIERvZWJlbCA8ZG9lYmVsQGFtYXpvbi5kZT4KU3ViamVj
dDogaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uOiBSZXBsYWNlIEJVR19P
TiB3aXRoIGRvbWFpbl9jcmFzaAoKSW5zdGVhZCBvZiBjcmFzaGluZyB0aGUg
aG9zdCBpbiBjYXNlIG9mIHVuZXhwZWN0ZWQgaHlwZXJjYWxsIHBhcmFtZXRl
cnMsCnJlc29ydCB0byBvbmx5IGNyYXNoaW5nIHRoZSBjYWxsaW5nIGRvbWFp
bi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDU0IC8gQ1ZFLTIwMjMtNDY4NDIu
CgpGaXhlczogYjhhN2VmZTg1MjhhICgiRW5hYmxlIGNvbXBhdGliaWxpdHkg
bW9kZSBvcGVyYXRpb24gZm9yIEhZUEVSVklTT1JfbWVtb3J5X29wIikKUmVw
b3J0ZWQtYnk6IE1hbnVlbCBBbmRyZWFzIDxtYW51ZWwuYW5kcmVhc0B0dW0u
ZGU+ClNpZ25lZC1vZmYtYnk6IEJqb2VybiBEb2ViZWwgPGRvZWJlbEBhbWF6
b24uZGU+ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L2h5cGVyY2Fs
bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9oeXBlcmNhbGwuYwpAQCAtMjExLDgg
KzIxMSwxMyBAQCBpbnQgaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVu
c2lnbmVkCiAgICAgICAgICAgICAgICAgY3ZhbCA9IHZhX2FyZyhhcmdzLCB1
bnNpZ25lZCBpbnQpOwogICAgICAgICAgICAgICAgIGlmICggY3ZhbCA9PSBu
dmFsICkKICAgICAgICAgICAgICAgICAgICAgbWFzayAmPSB+MVU7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBCVUdfT04o
bnZhbCA9PSAodW5zaWduZWQgaW50KW52YWwpOworICAgICAgICAgICAgICAg
IGVsc2UgaWYgKCBudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCApCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBwcmludGsoWEVO
TE9HX0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVsdGlj
YWxsIChvcCAlbHUpIGJvZ3VzIGNvbnRpbnVhdGlvbiBhcmcldSAoJSNseClc
biIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtY3MtPmNhbGwub3As
IGksIG52YWwpOworICAgICAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2go
Y3VycmVudC0+ZG9tYWluKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmICggaWQgJiYgKmlkID09IGkg
KQogICAgICAgICAgICAgewpAQCAtMjI0LDggKzIyOSwxMyBAQCBpbnQgaHlw
ZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVuc2lnbmVkCiAgICAgICAgICAg
ICAgICAgbWNzLT5jYWxsLmFyZ3NbaV0gPSBjdmFsOwogICAgICAgICAgICAg
ICAgICsrcmM7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgQlVHX09OKG1jcy0+Y2FsbC5hcmdzW2ldICE9ICh1
bnNpZ25lZCBpbnQpbWNzLT5jYWxsLmFyZ3NbaV0pOworICAgICAgICAgICAg
ZWxzZSBpZiAoIG1jcy0+Y2FsbC5hcmdzW2ldICE9ICh1bnNpZ25lZCBpbnQp
bWNzLT5jYWxsLmFyZ3NbaV0gKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIKKyAgICAgICAgICAgICAgICAg
ICAgICAgIm11bHRpY2FsbCAob3AgJWx1KSBiYWQgY29udGludWF0aW9uIGFy
ZyV1ICglI2x4KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgbWNzLT5j
YWxsLm9wLCBpLCBtY3MtPmNhbGwuYXJnc1tpXSk7CisgICAgICAgICAgICAg
ICAgZG9tYWluX2NyYXNoKGN1cnJlbnQtPmRvbWFpbik7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZQpAQCAtMjUxLDggKzI2
MSwxMyBAQCBpbnQgaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVuc2ln
bmVkCiAgICAgICAgICAgICAgICAgY3ZhbCA9IHZhX2FyZyhhcmdzLCB1bnNp
Z25lZCBpbnQpOwogICAgICAgICAgICAgICAgIGlmICggY3ZhbCA9PSBudmFs
ICkKICAgICAgICAgICAgICAgICAgICAgbWFzayAmPSB+MVU7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBCVUdfT04obnZh
bCA9PSAodW5zaWduZWQgaW50KW52YWwpOworICAgICAgICAgICAgICAgIGVs
c2UgaWYgKCBudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCApCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9H
X0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHlwZXJjYWxs
IChvcCAldSkgYm9ndXMgY29udGludWF0aW9uIGFyZyV1ICglI2x4KVxuIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ3MtPmVheCwgaSwgbnZh
bCk7CisgICAgICAgICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChjdXJyZW50
LT5kb21haW4pOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGVsc2UgaWYgKCBpZCAmJiAqaWQgPT0gaSApCiAgICAg
ICAgICAgICB7CkBAIC0yNjQsOCArMjc5LDEzIEBAIGludCBoeXBlcmNhbGxf
eGxhdF9jb250aW51YXRpb24odW5zaWduZWQKICAgICAgICAgICAgICAgICAq
cmVnID0gY3ZhbDsKICAgICAgICAgICAgICAgICArK3JjOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIEJVR19P
TigqcmVnICE9ICh1bnNpZ25lZCBpbnQpKnJlZyk7CisgICAgICAgICAgICBl
bHNlIGlmICggKnJlZyAhPSAodW5zaWduZWQgaW50KSpyZWcgKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIK
KyAgICAgICAgICAgICAgICAgICAgICAgImh5cGVyY2FsbCAob3AgJXUpIGJh
ZCBjb250aW51YXRpb24gYXJnJXUgKCUjbHgpXG4iLAorICAgICAgICAgICAg
ICAgICAgICAgICByZWdzLT5lYXgsIGksICpyZWcpOworICAgICAgICAgICAg
ICAgIGRvbWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4pOworICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa454-4.17-1.patch"
Content-Disposition: attachment; filename="xsa454-4.17-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBjbGVhciB1cHBlciBoYWx2ZXMgb2YgR1BScyB1cG9uIGVu
dHJ5IGZyb20gMzItYml0IGNvZGUKCkh5cGVyY2FsbHMgaW4gcGFydGljdWxh
ciBjYW4gYmUgdGhlIHN1YmplY3Qgb2YgY29udGludWF0aW9ucywgYW5kIGxv
Z2ljCnRoZXJlIGNoZWNrcyB1cGRhdGVkIHN0YXRlIGFnYWluc3QgaW5jb21p
bmcgcmVnaXN0ZXIgdmFsdWVzLiBJZiB0aGUKZ3Vlc3QgbWFudWZhY3R1cmVk
IGEgc3VpdGFibGUgYXJndW1lbnQgcmVnaXN0ZXIgd2l0aCBhIG5vbi16ZXJv
IHVwcGVyCmhhbGYgYmVmb3JlIGVudGVyaW5nIGNvbXBhdGliaWxpdHkgbW9k
ZSBhbmQgaXNzdWluZyBhIGh5cGVyY2FsbCBmcm9tCnRoZXJlLCBjaGVja3Mg
aW4gaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKCkgbWlnaHQgdHJpcC4K
ClNpbmNlIGZvciBIVk0gd2Ugd2FudCB0byBhbHNvIGJlIHN1cmUgdG8gbm90
IGhpdCBhIGNvcm5lciBjYXNlIGluIHRoZQplbXVsYXRvciwgaW5pdGlhdGUg
dGhlIGNsaXBwaW5nIHJpZ2h0IGZyb20gdGhlIHRvcCBvZgp7c3ZtLHZteH1f
dm1leGl0X2hhbmRsZXIoKS4gQWxzbyByZW5hbWUgdGhlIGludm9rZWQgZnVu
Y3Rpb24sIGFzIGl0IG5vCmxvbmdlciBkb2VzIG9ubHkgaW52YWxpZGF0aW9u
IG9mIGZpZWxkcy4KCk5vdGUgdGhhdCBhcmNoaXRlY3R1cmFsbHkgdGhlIHVw
cGVyIGhhbHZlcyBvZiByZWdpc3RlcnMgYXJlIHVuZGVmaW5lZAphZnRlciBh
IHN3aXRjaCBiZXR3ZWVuIGNvbXBhdGliaWxpdHkgYW5kIDY0LWJpdCBtb2Rl
IChlaXRoZXIgZGlyZWN0aW9uKS4KSGVuY2Ugb25jZSBoYXZpbmcgZW50ZXJl
ZCBjb21wYXRpYmlsaXR5IG1vZGUsIHRoZSBndWVzdCBjYW4ndCBhc3N1bWUK
dGhlIHVwcGVyIGhhbGYgb2YgYW55IHJlZ2lzdGVyIHRvIHJldGFpbiBpdHMg
dmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ1NCAvIENWRS0yMDIzLTQ2
ODQyLgoKRml4ZXM6IGI4YTdlZmU4NTI4YSAoIkVuYWJsZSBjb21wYXRpYmls
aXR5IG1vZGUgb3BlcmF0aW9uIGZvciBIWVBFUlZJU09SX21lbW9yeV9vcCIp
ClJlcG9ydGVkLWJ5OiBNYW51ZWwgQW5kcmVhcyA8bWFudWVsLmFuZHJlYXNA
dHVtLmRlPgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl
ci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3Zt
L3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0y
NjI2LDcgKzI2MjYsOCBAQCB2b2lkIHN2bV92bWV4aXRfaGFuZGxlcihzdHJ1
Y3QgY3B1X3VzZXJfCiAgICAgcmVncy0+cnNwID0gdm1jYi0+cnNwOwogICAg
IHJlZ3MtPnJmbGFncyA9IHZtY2ItPnJmbGFnczsKIAotICAgIGh2bV9pbnZh
bGlkYXRlX3JlZ3NfZmllbGRzKHJlZ3MpOworICAgIGh2bV9zYW5pdGl6ZV9y
ZWdzX2ZpZWxkcygKKyAgICAgICAgcmVncywgISh2bWNiX2dldF9lZmVyKHZt
Y2IpICYgRUZFUl9MTUEpIHx8ICEodm1jYi0+Y3MubCkpOwogCiAgICAgaWYg
KCBwYWdpbmdfbW9kZV9oYXAodi0+ZG9tYWluKSApCiAgICAgICAgIHYtPmFy
Y2guaHZtLmd1ZXN0X2NyWzNdID0gdi0+YXJjaC5odm0uaHdfY3JbM10gPSB2
bWNiX2dldF9jcjModm1jYik7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14
L3ZteC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0z
OTgxLDYgKzM5ODEsNyBAQCBzdGF0aWMgdm9pZCB1bmRvX25taXNfdW5ibG9j
a2VkX2J5X2lyZXQoCiB2b2lkIHZteF92bWV4aXRfaGFuZGxlcihzdHJ1Y3Qg
Y3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICB1bnNpZ25lZCBsb25nIGV4
aXRfcXVhbGlmaWNhdGlvbiwgZXhpdF9yZWFzb24sIGlkdHZfaW5mbywgaW50
cl9pbmZvID0gMDsKKyAgICB1bnNpZ25lZCBsb25nIGNzX2FyX2J5dGVzID0g
MDsKICAgICB1bnNpZ25lZCBpbnQgdmVjdG9yID0gMDsKICAgICBzdHJ1Y3Qg
dmNwdSAqdiA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IGRvbWFpbiAqY3VycmQg
PSB2LT5kb21haW47CkBAIC0zOTg5LDcgKzM5OTAsMTAgQEAgdm9pZCB2bXhf
dm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyXwogICAgIF9fdm1yZWFk
KEdVRVNUX1JTUCwgICAgJnJlZ3MtPnJzcCk7CiAgICAgX192bXJlYWQoR1VF
U1RfUkZMQUdTLCAmcmVncy0+cmZsYWdzKTsKIAotICAgIGh2bV9pbnZhbGlk
YXRlX3JlZ3NfZmllbGRzKHJlZ3MpOworICAgIGlmICggaHZtX2xvbmdfbW9k
ZV9hY3RpdmUodikgKQorICAgICAgICBfX3ZtcmVhZChHVUVTVF9DU19BUl9C
WVRFUywgJmNzX2FyX2J5dGVzKTsKKworICAgIGh2bV9zYW5pdGl6ZV9yZWdz
X2ZpZWxkcyhyZWdzLCAhKGNzX2FyX2J5dGVzICYgWDg2X1NFR19BUl9DU19M
TV9BQ1RJVkUpKTsKIAogICAgIGlmICggcGFnaW5nX21vZGVfaGFwKHYtPmRv
bWFpbikgKQogICAgIHsKLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L2h2bS9odm0uaAorKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZt
L2h2bS5oCkBAIC01ODMsOCArNTgzLDI0IEBAIHN0YXRpYyBpbmxpbmUgdW5z
aWduZWQgaW50IGh2bV9nZXRfaW5zbl8KICAgICAgICAgICAgID8gYWx0ZXJu
YXRpdmVfY2FsbChodm1fZnVuY3MuZ2V0X2luc25fYnl0ZXMsIHYsIGJ1Zikg
OiAwKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIGh2bV9pbnZhbGlkYXRl
X3JlZ3NfZmllbGRzKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQorc3Rh
dGljIGlubGluZSB2b2lkIGh2bV9zYW5pdGl6ZV9yZWdzX2ZpZWxkcyhzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjb21wYXQpCiB7CisgICAg
aWYgKCBjb21wYXQgKQorICAgIHsKKyAgICAgICAgLyogQ2xlYXIgR1BSIHVw
cGVyIGhhbHZlcywgdG8gY291bnRlcmFjdCBndWVzdHMgcGxheWluZyBnYW1l
cy4gKi8KKyAgICAgICAgcmVncy0+cmJwID0gcmVncy0+ZWJwOworICAgICAg
ICByZWdzLT5yYnggPSByZWdzLT5lYng7CisgICAgICAgIHJlZ3MtPnJheCA9
IHJlZ3MtPmVheDsKKyAgICAgICAgcmVncy0+cmN4ID0gcmVncy0+ZWN4Owor
ICAgICAgICByZWdzLT5yZHggPSByZWdzLT5lZHg7CisgICAgICAgIHJlZ3Mt
PnJzaSA9IHJlZ3MtPmVzaTsKKyAgICAgICAgcmVncy0+cmRpID0gcmVncy0+
ZWRpOworICAgICAgICByZWdzLT5yaXAgPSByZWdzLT5laXA7CisgICAgICAg
IHJlZ3MtPnJmbGFncyA9IHJlZ3MtPmVmbGFnczsKKyAgICAgICAgcmVncy0+
cnNwID0gcmVncy0+ZXNwOworICAgIH0KKwogI2lmbmRlZiBOREVCVUcKICAg
ICByZWdzLT5lcnJvcl9jb2RlID0gMHhiZWVmOwogICAgIHJlZ3MtPmVudHJ5
X3ZlY3RvciA9IDB4YmVlZjsK

--=separator
Content-Type: application/octet-stream; name="xsa454-4.17-2.patch"
Content-Disposition: attachment; filename="xsa454-4.17-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQmpvZXJuIERvZWJlbCA8ZG9lYmVsQGFtYXpvbi5kZT4KU3ViamVj
dDogaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uOiBSZXBsYWNlIEJVR19P
TiB3aXRoIGRvbWFpbl9jcmFzaAoKSW5zdGVhZCBvZiBjcmFzaGluZyB0aGUg
aG9zdCBpbiBjYXNlIG9mIHVuZXhwZWN0ZWQgaHlwZXJjYWxsIHBhcmFtZXRl
cnMsCnJlc29ydCB0byBvbmx5IGNyYXNoaW5nIHRoZSBjYWxsaW5nIGRvbWFp
bi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDU0IC8gQ1ZFLTIwMjMtNDY4NDIu
CgpGaXhlczogYjhhN2VmZTg1MjhhICgiRW5hYmxlIGNvbXBhdGliaWxpdHkg
bW9kZSBvcGVyYXRpb24gZm9yIEhZUEVSVklTT1JfbWVtb3J5X29wIikKUmVw
b3J0ZWQtYnk6IE1hbnVlbCBBbmRyZWFzIDxtYW51ZWwuYW5kcmVhc0B0dW0u
ZGU+ClNpZ25lZC1vZmYtYnk6IEJqb2VybiBEb2ViZWwgPGRvZWJlbEBhbWF6
b24uZGU+ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L2h5cGVyY2Fs
bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9oeXBlcmNhbGwuYwpAQCAtMTUyLDgg
KzE1MiwxMyBAQCBpbnQgaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVu
c2lnbmVkCiAgICAgICAgICAgICAgICAgY3ZhbCA9IHZhX2FyZyhhcmdzLCB1
bnNpZ25lZCBpbnQpOwogICAgICAgICAgICAgICAgIGlmICggY3ZhbCA9PSBu
dmFsICkKICAgICAgICAgICAgICAgICAgICAgbWFzayAmPSB+MVU7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBCVUdfT04o
bnZhbCA9PSAodW5zaWduZWQgaW50KW52YWwpOworICAgICAgICAgICAgICAg
IGVsc2UgaWYgKCBudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCApCisgICAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBwcmludGsoWEVO
TE9HX0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVsdGlj
YWxsIChvcCAlbHUpIGJvZ3VzIGNvbnRpbnVhdGlvbiBhcmcldSAoJSNseClc
biIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtY3MtPmNhbGwub3As
IGksIG52YWwpOworICAgICAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2go
Y3VycmVudC0+ZG9tYWluKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmICggaWQgJiYgKmlkID09IGkg
KQogICAgICAgICAgICAgewpAQCAtMTY1LDggKzE3MCwxMyBAQCBpbnQgaHlw
ZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVuc2lnbmVkCiAgICAgICAgICAg
ICAgICAgbWNzLT5jYWxsLmFyZ3NbaV0gPSBjdmFsOwogICAgICAgICAgICAg
ICAgICsrcmM7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgQlVHX09OKG1jcy0+Y2FsbC5hcmdzW2ldICE9ICh1
bnNpZ25lZCBpbnQpbWNzLT5jYWxsLmFyZ3NbaV0pOworICAgICAgICAgICAg
ZWxzZSBpZiAoIG1jcy0+Y2FsbC5hcmdzW2ldICE9ICh1bnNpZ25lZCBpbnQp
bWNzLT5jYWxsLmFyZ3NbaV0gKQorICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIKKyAgICAgICAgICAgICAgICAg
ICAgICAgIm11bHRpY2FsbCAob3AgJWx1KSBiYWQgY29udGludWF0aW9uIGFy
ZyV1ICglI2x4KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgbWNzLT5j
YWxsLm9wLCBpLCBtY3MtPmNhbGwuYXJnc1tpXSk7CisgICAgICAgICAgICAg
ICAgZG9tYWluX2NyYXNoKGN1cnJlbnQtPmRvbWFpbik7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZQpAQCAtMTkyLDggKzIw
MiwxMyBAQCBpbnQgaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVuc2ln
bmVkCiAgICAgICAgICAgICAgICAgY3ZhbCA9IHZhX2FyZyhhcmdzLCB1bnNp
Z25lZCBpbnQpOwogICAgICAgICAgICAgICAgIGlmICggY3ZhbCA9PSBudmFs
ICkKICAgICAgICAgICAgICAgICAgICAgbWFzayAmPSB+MVU7Ci0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBCVUdfT04obnZh
bCA9PSAodW5zaWduZWQgaW50KW52YWwpOworICAgICAgICAgICAgICAgIGVs
c2UgaWYgKCBudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCApCisgICAgICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9H
X0dfRVJSCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiaHlwZXJjYWxs
IChvcCAldSkgYm9ndXMgY29udGludWF0aW9uIGFyZyV1ICglI2x4KVxuIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ3MtPmVheCwgaSwgbnZh
bCk7CisgICAgICAgICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChjdXJyZW50
LT5kb21haW4pOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGVsc2UgaWYgKCBpZCAmJiAqaWQgPT0gaSApCiAgICAg
ICAgICAgICB7CkBAIC0yMDUsOCArMjIwLDEzIEBAIGludCBoeXBlcmNhbGxf
eGxhdF9jb250aW51YXRpb24odW5zaWduZWQKICAgICAgICAgICAgICAgICAq
cmVnID0gY3ZhbDsKICAgICAgICAgICAgICAgICArK3JjOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIEJVR19P
TigqcmVnICE9ICh1bnNpZ25lZCBpbnQpKnJlZyk7CisgICAgICAgICAgICBl
bHNlIGlmICggKnJlZyAhPSAodW5zaWduZWQgaW50KSpyZWcgKQorICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIK
KyAgICAgICAgICAgICAgICAgICAgICAgImh5cGVyY2FsbCAob3AgJXUpIGJh
ZCBjb250aW51YXRpb24gYXJnJXUgKCUjbHgpXG4iLAorICAgICAgICAgICAg
ICAgICAgICAgICByZWdzLT5lYXgsIGksICpyZWcpOworICAgICAgICAgICAg
ICAgIGRvbWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4pOworICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQogCg==

--=separator
Content-Type: application/octet-stream; name="xsa454-4.18-1.patch"
Content-Disposition: attachment; filename="xsa454-4.18-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBjbGVhciB1cHBlciBoYWx2ZXMgb2YgR1BScyB1cG9uIGVu
dHJ5IGZyb20gMzItYml0IGNvZGUKCkh5cGVyY2FsbHMgaW4gcGFydGljdWxh
ciBjYW4gYmUgdGhlIHN1YmplY3Qgb2YgY29udGludWF0aW9ucywgYW5kIGxv
Z2ljCnRoZXJlIGNoZWNrcyB1cGRhdGVkIHN0YXRlIGFnYWluc3QgaW5jb21p
bmcgcmVnaXN0ZXIgdmFsdWVzLiBJZiB0aGUKZ3Vlc3QgbWFudWZhY3R1cmVk
IGEgc3VpdGFibGUgYXJndW1lbnQgcmVnaXN0ZXIgd2l0aCBhIG5vbi16ZXJv
IHVwcGVyCmhhbGYgYmVmb3JlIGVudGVyaW5nIGNvbXBhdGliaWxpdHkgbW9k
ZSBhbmQgaXNzdWluZyBhIGh5cGVyY2FsbCBmcm9tCnRoZXJlLCBjaGVja3Mg
aW4gaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKCkgbWlnaHQgdHJpcC4K
ClNpbmNlIGZvciBIVk0gd2Ugd2FudCB0byBhbHNvIGJlIHN1cmUgdG8gbm90
IGhpdCBhIGNvcm5lciBjYXNlIGluIHRoZQplbXVsYXRvciwgaW5pdGlhdGUg
dGhlIGNsaXBwaW5nIHJpZ2h0IGZyb20gdGhlIHRvcCBvZgp7c3ZtLHZteH1f
dm1leGl0X2hhbmRsZXIoKS4gQWxzbyByZW5hbWUgdGhlIGludm9rZWQgZnVu
Y3Rpb24sIGFzIGl0IG5vCmxvbmdlciBkb2VzIG9ubHkgaW52YWxpZGF0aW9u
IG9mIGZpZWxkcy4KCk5vdGUgdGhhdCBhcmNoaXRlY3R1cmFsbHkgdGhlIHVw
cGVyIGhhbHZlcyBvZiByZWdpc3RlcnMgYXJlIHVuZGVmaW5lZAphZnRlciBh
IHN3aXRjaCBiZXR3ZWVuIGNvbXBhdGliaWxpdHkgYW5kIDY0LWJpdCBtb2Rl
IChlaXRoZXIgZGlyZWN0aW9uKS4KSGVuY2Ugb25jZSBoYXZpbmcgZW50ZXJl
ZCBjb21wYXRpYmlsaXR5IG1vZGUsIHRoZSBndWVzdCBjYW4ndCBhc3N1bWUK
dGhlIHVwcGVyIGhhbGYgb2YgYW55IHJlZ2lzdGVyIHRvIHJldGFpbiBpdHMg
dmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ1NCAvIENWRS0yMDIzLTQ2
ODQyLgoKRml4ZXM6IGI4YTdlZmU4NTI4YSAoIkVuYWJsZSBjb21wYXRpYmls
aXR5IG1vZGUgb3BlcmF0aW9uIGZvciBIWVBFUlZJU09SX21lbW9yeV9vcCIp
ClJlcG9ydGVkLWJ5OiBNYW51ZWwgQW5kcmVhcyA8bWFudWVsLmFuZHJlYXNA
dHVtLmRlPgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl
ci5wYXVAY2l0cml4LmNvbT4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3Zt
L3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0y
NjAzLDcgKzI2MDMsOCBAQCB2b2lkIHN2bV92bWV4aXRfaGFuZGxlcih2b2lk
KQogICAgIHJlZ3MtPnJzcCA9IHZtY2ItPnJzcDsKICAgICByZWdzLT5yZmxh
Z3MgPSB2bWNiLT5yZmxhZ3M7CiAKLSAgICBodm1faW52YWxpZGF0ZV9yZWdz
X2ZpZWxkcyhyZWdzKTsKKyAgICBodm1fc2FuaXRpemVfcmVnc19maWVsZHMo
CisgICAgICAgIHJlZ3MsICEodm1jYl9nZXRfZWZlcih2bWNiKSAmIEVGRVJf
TE1BKSB8fCAhKHZtY2ItPmNzLmwpKTsKIAogICAgIGlmICggcGFnaW5nX21v
ZGVfaGFwKHYtPmRvbWFpbikgKQogICAgICAgICB2LT5hcmNoLmh2bS5ndWVz
dF9jclszXSA9IHYtPmFyY2guaHZtLmh3X2NyWzNdID0gdm1jYl9nZXRfY3Iz
KHZtY2IpOwotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysg
Yi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwpAQCAtNDA0MSw2ICs0MDQx
LDcgQEAgc3RhdGljIHZvaWQgdW5kb19ubWlzX3VuYmxvY2tlZF9ieV9pcmV0
KAogdm9pZCB2bXhfdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3Jl
Z3MgKnJlZ3MpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBleGl0X3F1YWxpZmlj
YXRpb24sIGV4aXRfcmVhc29uLCBpZHR2X2luZm8sIGludHJfaW5mbyA9IDA7
CisgICAgdW5zaWduZWQgbG9uZyBjc19hcl9ieXRlcyA9IDA7CiAgICAgdW5z
aWduZWQgaW50IHZlY3RvciA9IDA7CiAgICAgc3RydWN0IHZjcHUgKnYgPSBj
dXJyZW50OwogICAgIHN0cnVjdCBkb21haW4gKmN1cnJkID0gdi0+ZG9tYWlu
OwpAQCAtNDA0OSw3ICs0MDUwLDEwIEBAIHZvaWQgdm14X3ZtZXhpdF9oYW5k
bGVyKHN0cnVjdCBjcHVfdXNlcl8KICAgICBfX3ZtcmVhZChHVUVTVF9SU1As
ICAgICZyZWdzLT5yc3ApOwogICAgIF9fdm1yZWFkKEdVRVNUX1JGTEFHUywg
JnJlZ3MtPnJmbGFncyk7CiAKLSAgICBodm1faW52YWxpZGF0ZV9yZWdzX2Zp
ZWxkcyhyZWdzKTsKKyAgICBpZiAoIGh2bV9sb25nX21vZGVfYWN0aXZlKHYp
ICkKKyAgICAgICAgX192bXJlYWQoR1VFU1RfQ1NfQVJfQllURVMsICZjc19h
cl9ieXRlcyk7CisKKyAgICBodm1fc2FuaXRpemVfcmVnc19maWVsZHMocmVn
cywgIShjc19hcl9ieXRlcyAmIFg4Nl9TRUdfQVJfQ1NfTE1fQUNUSVZFKSk7
CiAKICAgICBpZiAoIHBhZ2luZ19tb2RlX2hhcCh2LT5kb21haW4pICkKICAg
ICB7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9odm0vaHZtLmgK
KysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2h2bS9odm0uaApAQCAt
NTc5LDggKzU3OSwyNCBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBo
dm1fZ2V0X2luc25fCiAgICAgICAgICAgICA/IGFsdGVybmF0aXZlX2NhbGwo
aHZtX2Z1bmNzLmdldF9pbnNuX2J5dGVzLCB2LCBidWYpIDogMCk7CiB9CiAK
LXN0YXRpYyBpbmxpbmUgdm9pZCBodm1faW52YWxpZGF0ZV9yZWdzX2ZpZWxk
cyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKK3N0YXRpYyBpbmxpbmUg
dm9pZCBodm1fc2FuaXRpemVfcmVnc19maWVsZHMoc3RydWN0IGNwdV91c2Vy
X3JlZ3MgKnJlZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgY29tcGF0KQogeworICAgIGlmICggY29tcGF0
ICkKKyAgICB7CisgICAgICAgIC8qIENsZWFyIEdQUiB1cHBlciBoYWx2ZXMs
IHRvIGNvdW50ZXJhY3QgZ3Vlc3RzIHBsYXlpbmcgZ2FtZXMuICovCisgICAg
ICAgIHJlZ3MtPnJicCA9IHJlZ3MtPmVicDsKKyAgICAgICAgcmVncy0+cmJ4
ID0gcmVncy0+ZWJ4OworICAgICAgICByZWdzLT5yYXggPSByZWdzLT5lYXg7
CisgICAgICAgIHJlZ3MtPnJjeCA9IHJlZ3MtPmVjeDsKKyAgICAgICAgcmVn
cy0+cmR4ID0gcmVncy0+ZWR4OworICAgICAgICByZWdzLT5yc2kgPSByZWdz
LT5lc2k7CisgICAgICAgIHJlZ3MtPnJkaSA9IHJlZ3MtPmVkaTsKKyAgICAg
ICAgcmVncy0+cmlwID0gcmVncy0+ZWlwOworICAgICAgICByZWdzLT5yZmxh
Z3MgPSByZWdzLT5lZmxhZ3M7CisgICAgICAgIHJlZ3MtPnJzcCA9IHJlZ3Mt
PmVzcDsKKyAgICB9CisKICNpZm5kZWYgTkRFQlVHCiAgICAgcmVncy0+ZXJy
b3JfY29kZSA9IDB4YmVlZjsKICAgICByZWdzLT5lbnRyeV92ZWN0b3IgPSAw
eGJlZWY7Cg==

--=separator
Content-Type: application/octet-stream; name="xsa454-4.18-2.patch"
Content-Disposition: attachment; filename="xsa454-4.18-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogQmpvZXJuIERvZWJlbCA8ZG9lYmVsQGFtYXpvbi5kZT4KU3ViamVj
dDogaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uOiBSZXBsYWNlIEJVR19P
TiB3aXRoIGRvbWFpbl9jcmFzaAoKSW5zdGVhZCBvZiBjcmFzaGluZyB0aGUg
aG9zdCBpbiBjYXNlIG9mIHVuZXhwZWN0ZWQgaHlwZXJjYWxsIHBhcmFtZXRl
cnMsCnJlc29ydCB0byBvbmx5IGNyYXNoaW5nIHRoZSBjYWxsaW5nIGRvbWFp
bi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDU0IC8gQ1ZFLTIwMjMtNDY4NDIu
CgpGaXhlczogYjhhN2VmZTg1MjhhICgiRW5hYmxlIGNvbXBhdGliaWxpdHkg
bW9kZSBvcGVyYXRpb24gZm9yIEhZUEVSVklTT1JfbWVtb3J5X29wIikKUmVw
b3J0ZWQtYnk6IE1hbnVlbCBBbmRyZWFzIDxtYW51ZWwuYW5kcmVhc0B0dW0u
ZGU+ClNpZ25lZC1vZmYtYnk6IEJqb2VybiBEb2ViZWwgPGRvZWJlbEBhbWF6
b24uZGU+ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L2h5cGVyY2Fs
bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9oeXBlcmNhbGwuYwpAQCAtMTQwLDgg
KzE0MCwxMCBAQCBpbnQgaHlwZXJjYWxsX3hsYXRfY29udGludWF0aW9uKHVu
c2lnbmVkCiAgICAgICAgICAgICAgICAgY3ZhbCA9IHZhX2FyZyhhcmdzLCB1
bnNpZ25lZCBpbnQpOwogICAgICAgICAgICAgICAgIGlmICggY3ZhbCA9PSBu
dmFsICkKICAgICAgICAgICAgICAgICAgICAgbWFzayAmPSB+MVU7Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBCVUdfT04o
bnZhbCA9PSAodW5zaWduZWQgaW50KW52YWwpOworICAgICAgICAgICAgICAg
IGVsc2UgaWYgKCBudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCApCisgICAg
ICAgICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVsdGljYWxs
IChvcCAlbHUpIGJvZ3VzIGNvbnRpbnVhdGlvbiBhcmcldSAoJSNseClcbiIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtY3MtPmNhbGwu
b3AsIGksIG52YWwpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxz
ZSBpZiAoIGlkICYmICppZCA9PSBpICkKICAgICAgICAgICAgIHsKQEAgLTE1
Myw4ICsxNTUsMTAgQEAgaW50IGh5cGVyY2FsbF94bGF0X2NvbnRpbnVhdGlv
bih1bnNpZ25lZAogICAgICAgICAgICAgICAgIG1jcy0+Y2FsbC5hcmdzW2ld
ID0gY3ZhbDsKICAgICAgICAgICAgICAgICArK3JjOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIEJVR19PTiht
Y3MtPmNhbGwuYXJnc1tpXSAhPSAodW5zaWduZWQgaW50KW1jcy0+Y2FsbC5h
cmdzW2ldKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKCBtY3MtPmNhbGwuYXJn
c1tpXSAhPSAodW5zaWduZWQgaW50KW1jcy0+Y2FsbC5hcmdzW2ldICkKKyAg
ICAgICAgICAgICAgICBkb21haW5fY3Jhc2goY3VycmVudC0+ZG9tYWluLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVsdGljYWxsIChvcCAl
bHUpIGJhZCBjb250aW51YXRpb24gYXJnJXUgKCUjbHgpXG4iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtY3MtPmNhbGwub3AsIGksIG1jcy0+
Y2FsbC5hcmdzW2ldKTsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlCkBA
IC0xODAsOCArMTg0LDEwIEBAIGludCBoeXBlcmNhbGxfeGxhdF9jb250aW51
YXRpb24odW5zaWduZWQKICAgICAgICAgICAgICAgICBjdmFsID0gdmFfYXJn
KGFyZ3MsIHVuc2lnbmVkIGludCk7CiAgICAgICAgICAgICAgICAgaWYgKCBj
dmFsID09IG52YWwgKQogICAgICAgICAgICAgICAgICAgICBtYXNrICY9IH4x
VTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IEJVR19PTihudmFsID09ICh1bnNpZ25lZCBpbnQpbnZhbCk7CisgICAgICAg
ICAgICAgICAgZWxzZSBpZiAoIG52YWwgPT0gKHVuc2lnbmVkIGludCludmFs
ICkKKyAgICAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKGN1cnJlbnQt
PmRvbWFpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJo
eXBlcmNhbGwgKG9wICV1KSBib2d1cyBjb250aW51YXRpb24gYXJnJXUgKCUj
bHgpXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVn
cy0+ZWF4LCBpLCBudmFsKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGVsc2UgaWYgKCBpZCAmJiAqaWQgPT0gaSApCiAgICAgICAgICAgICB7CkBA
IC0xOTMsOCArMTk5LDEwIEBAIGludCBoeXBlcmNhbGxfeGxhdF9jb250aW51
YXRpb24odW5zaWduZWQKICAgICAgICAgICAgICAgICAqcmVnID0gY3ZhbDsK
ICAgICAgICAgICAgICAgICArK3JjOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgIEJVR19PTigqcmVnICE9ICh1
bnNpZ25lZCBpbnQpKnJlZyk7CisgICAgICAgICAgICBlbHNlIGlmICggKnJl
ZyAhPSAodW5zaWduZWQgaW50KSpyZWcgKQorICAgICAgICAgICAgICAgIGRv
bWFpbl9jcmFzaChjdXJyZW50LT5kb21haW4sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJoeXBlcmNhbGwgKG9wICV1KSBiYWQgY29udGludWF0
aW9uIGFyZyV1ICglI2x4KVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVncy0+ZWF4LCBpLCAqcmVnKTsKICAgICAgICAgfQogICAgIH0K
IAo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 12:07:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 12:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702356.1097342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruAFz-0000Iw-2V; Tue, 09 Apr 2024 12:07:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702356.1097342; Tue, 09 Apr 2024 12:07:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruAFy-0000Ip-Ue; Tue, 09 Apr 2024 12:07:18 +0000
Received: by outflank-mailman (input) for mailman id 702356;
 Tue, 09 Apr 2024 12:07: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=V9ji=LO=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1ruAFw-0000Ia-RR
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 12:07:16 +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 b2c7a290-f669-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 14:07:14 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 132C81E2479;
 Tue,  9 Apr 2024 08:07:12 -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 0A65F1E2478;
 Tue,  9 Apr 2024 08:07:12 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.85])
 (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 E7D171E2476;
 Tue,  9 Apr 2024 08:07: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: b2c7a290-f669-11ee-94a3-07e782e9044d
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=M+0ThZwlLi1+QZQgDEh1pzvFM7wGP/1Yeg/Srys7x2w=; b=e18S
	kcu987qyVXn3HEQ3VXcfD4ahPPcP5TVOOAAws2wHM3SvkDAy2JzBBsIRPYxQtUNQ
	nr+LS1iK9SXpc5xcj0UJQzmK98oWOyfa7PGy44J4r2EWw30gRTPSxvIgCRUSwYoc
	YzLECqfxkIrhyhCrrpFIQOIWsJXIR1c3GJaAE7Q=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	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>
Subject: [XEN PATCH V2] x86/MCE: move intel mcheck init code to separate file
Date: Tue,  9 Apr 2024 15:06:45 +0300
Message-Id: <20240409120645.2948405-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 B1C67DA0-F669-11EE-A362-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Separate Intel nonfatal MCE initialization code from generic MCE code, th=
e same
way it is done for AMD code. This is to be able to later make intel/amd M=
CE
code optional in the build.

Convert to Xen coding style. Clean up unused includes. Remove seemingly
outdated comment about MCE check period.

No functional change intended.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/Makefile         |  1 +
 xen/arch/x86/cpu/mcheck/intel-nonfatal.c | 85 ++++++++++++++++++++++++
 xen/arch/x86/cpu/mcheck/mce.h            |  1 +
 xen/arch/x86/cpu/mcheck/non-fatal.c      | 82 +----------------------
 4 files changed, 88 insertions(+), 81 deletions(-)
 create mode 100644 xen/arch/x86/cpu/mcheck/intel-nonfatal.c

V2:
 * convert to Xen coding style
 * file naming
 * drop outdated comment

diff --git a/xen/arch/x86/cpu/mcheck/Makefile b/xen/arch/x86/cpu/mcheck/M=
akefile
index 0d63ff9096..f927f10b4d 100644
--- a/xen/arch/x86/cpu/mcheck/Makefile
+++ b/xen/arch/x86/cpu/mcheck/Makefile
@@ -2,6 +2,7 @@ obj-y +=3D amd_nonfatal.o
 obj-y +=3D mce_amd.o
 obj-y +=3D mcaction.o
 obj-y +=3D barrier.o
+obj-y +=3D intel-nonfatal.o
 obj-y +=3D mctelem.o
 obj-y +=3D mce.o
 obj-y +=3D mce-apei.o
diff --git a/xen/arch/x86/cpu/mcheck/intel-nonfatal.c b/xen/arch/x86/cpu/=
mcheck/intel-nonfatal.c
new file mode 100644
index 0000000000..e18e8a4030
--- /dev/null
+++ b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
@@ -0,0 +1,85 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Non Fatal Machine Check Exception Reporting
+ * (C) Copyright 2002 Dave Jones. <davej@codemonkey.org.uk>
+ */
+
+#include <xen/event.h>
+
+#include "mce.h"
+#include "vmce.h"
+
+static struct timer mce_timer;
+
+#define MCE_PERIOD MILLISECS(8000)
+#define MCE_PERIOD_MIN MILLISECS(2000)
+#define MCE_PERIOD_MAX MILLISECS(16000)
+
+static uint64_t period =3D MCE_PERIOD;
+static int adjust =3D 0;
+static int variable_period =3D 1;
+
+static void cf_check mce_checkregs(void *info)
+{
+    mctelem_cookie_t mctc;
+    struct mca_summary bs;
+    static uint64_t dumpcount =3D 0;
+
+    mctc =3D mcheck_mca_logout(MCA_POLLER, this_cpu( poll_bankmask),
+                             &bs, NULL);
+
+    if ( bs.errcnt && mctc !=3D NULL )
+    {
+        adjust++;
+
+        /* If Dom0 enabled the VIRQ_MCA event, then notify it.
+         * Otherwise, if dom0 has had plenty of time to register
+         * the virq handler but still hasn't then dump telemetry
+         * to the Xen console.  The call count may be incremented
+         * on multiple cpus at once and is indicative only - just
+         * a simple-minded attempt to avoid spamming the console
+         * for corrected errors in early startup.
+         */
+
+        if ( dom0_vmce_enabled() )
+        {
+            mctelem_commit(mctc);
+            send_global_virq(VIRQ_MCA);
+        }
+        else if ( ++dumpcount >=3D 10 )
+        {
+            x86_mcinfo_dump((struct mc_info *)mctelem_dataptr(mctc));
+            mctelem_dismiss(mctc);
+        }
+        else
+            mctelem_dismiss(mctc);
+    }
+    else if ( mctc !=3D NULL )
+        mctelem_dismiss(mctc);
+}
+
+static void cf_check mce_work_fn(void *data)
+{
+    on_each_cpu(mce_checkregs, NULL, 1);
+
+    if ( variable_period )
+    {
+        if ( adjust )
+            period /=3D (adjust + 1);
+        else
+            period *=3D 2;
+        if ( period > MCE_PERIOD_MAX )
+            period =3D MCE_PERIOD_MAX;
+        if ( period < MCE_PERIOD_MIN )
+            period =3D MCE_PERIOD_MIN;
+    }
+
+    set_timer(&mce_timer, NOW() + period);
+    adjust =3D 0;
+}
+
+void __init intel_nonfatal_mcheck_init(struct cpuinfo_x86 *unused)
+{
+    init_timer(&mce_timer, mce_work_fn, NULL, 0);
+    set_timer(&mce_timer, NOW() + MCE_PERIOD);
+}
diff --git a/xen/arch/x86/cpu/mcheck/mce.h b/xen/arch/x86/cpu/mcheck/mce.=
h
index 7f26afae23..4806405f96 100644
--- a/xen/arch/x86/cpu/mcheck/mce.h
+++ b/xen/arch/x86/cpu/mcheck/mce.h
@@ -47,6 +47,7 @@ enum mcheck_type amd_mcheck_init(const struct cpuinfo_x=
86 *c, bool bsp);
 enum mcheck_type intel_mcheck_init(struct cpuinfo_x86 *c, bool bsp);
=20
 void amd_nonfatal_mcheck_init(struct cpuinfo_x86 *c);
+void intel_nonfatal_mcheck_init(struct cpuinfo_x86 *c);
=20
 extern unsigned int firstbank;
 extern unsigned int ppin_msr;
diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mchec=
k/non-fatal.c
index 1c0c32ba08..33cacd15c2 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -7,84 +7,7 @@
  *
  */
=20
-#include <xen/init.h>
-#include <xen/types.h>
-#include <xen/kernel.h>
-#include <xen/smp.h>
-#include <xen/timer.h>
-#include <xen/errno.h>
-#include <xen/event.h>
-#include <xen/sched.h>
-#include <asm/processor.h>=20
-#include <asm/system.h>
-#include <asm/msr.h>
-
 #include "mce.h"
-#include "vmce.h"
-
-static struct timer mce_timer;
-
-#define MCE_PERIOD MILLISECS(8000)
-#define MCE_PERIOD_MIN MILLISECS(2000)
-#define MCE_PERIOD_MAX MILLISECS(16000)
-
-static uint64_t period =3D MCE_PERIOD;
-static int adjust =3D 0;
-static int variable_period =3D 1;
-
-static void cf_check mce_checkregs(void *info)
-{
-	mctelem_cookie_t mctc;
-	struct mca_summary bs;
-	static uint64_t dumpcount =3D 0;
-
-	mctc =3D mcheck_mca_logout(MCA_POLLER, this_cpu(poll_bankmask),
-				 &bs, NULL);
-
-	if (bs.errcnt && mctc !=3D NULL) {
-		adjust++;
-
-		/* If Dom0 enabled the VIRQ_MCA event, then notify it.
-		 * Otherwise, if dom0 has had plenty of time to register
-		 * the virq handler but still hasn't then dump telemetry
-		 * to the Xen console.  The call count may be incremented
-		 * on multiple cpus at once and is indicative only - just
-		 * a simple-minded attempt to avoid spamming the console
-		 * for corrected errors in early startup.
-		 */
-
-		if (dom0_vmce_enabled()) {
-			mctelem_commit(mctc);
-			send_global_virq(VIRQ_MCA);
-		} else if (++dumpcount >=3D 10) {
-			x86_mcinfo_dump((struct mc_info *)mctelem_dataptr(mctc));
-			mctelem_dismiss(mctc);
-		} else {
-			mctelem_dismiss(mctc);
-		}
-	} else if (mctc !=3D NULL) {
-		mctelem_dismiss(mctc);
-	}
-}
-
-static void cf_check mce_work_fn(void *data)
-{=20
-	on_each_cpu(mce_checkregs, NULL, 1);
-
-	if (variable_period) {
-		if (adjust)
-			period /=3D (adjust + 1);
-		else
-			period *=3D 2;
-		if (period > MCE_PERIOD_MAX)
-			period =3D MCE_PERIOD_MAX;
-		if (period < MCE_PERIOD_MIN)
-			period =3D MCE_PERIOD_MIN;
-	}
-
-	set_timer(&mce_timer, NOW() + period);
-	adjust =3D 0;
-}
=20
 static int __init cf_check init_nonfatal_mce_checker(void)
 {
@@ -106,13 +29,10 @@ static int __init cf_check init_nonfatal_mce_checker=
(void)
 		/* Assume we are on K8 or newer AMD or Hygon CPU here */
 		amd_nonfatal_mcheck_init(c);
 		break;
-
 	case X86_VENDOR_INTEL:
-		init_timer(&mce_timer, mce_work_fn, NULL, 0);
-		set_timer(&mce_timer, NOW() + MCE_PERIOD);
+		intel_nonfatal_mcheck_init(c);
 		break;
 	}
-
 	printk(KERN_INFO "mcheck_poll: Machine check polling timer started.\n")=
;
 	return 0;
 }
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 12:44:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 12:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702415.1097399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruApk-0007Tr-0Z; Tue, 09 Apr 2024 12:44:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702415.1097399; Tue, 09 Apr 2024 12: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 1ruApj-0007Tk-Ts; Tue, 09 Apr 2024 12:44:15 +0000
Received: by outflank-mailman (input) for mailman id 702415;
 Tue, 09 Apr 2024 12:44:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruApj-0007Ta-4f; Tue, 09 Apr 2024 12:44:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruApj-0008KO-0m; Tue, 09 Apr 2024 12:44:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruApi-0001Ov-JU; Tue, 09 Apr 2024 12:44:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruApi-0004a7-It; Tue, 09 Apr 2024 12:44:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=q0wQp6ODpCUmAbjzycJGDxYieA6lg1HBpLoKOzhDakY=; b=sUtj69No1assAMY9Q+wpWlxJO4
	p8WDxvp99MufSnzcA5RYdfaOP6pbALDViknEhNC8358+t2Td98WjLxUItRN+XpXuzI9K6g7xUyw+9
	lqQ7Hk6QUA2/6a5JigKmHPoWhqXtfovBhkQ0AiX/RVmXevj3FbG8fPIErjRERWWJ9WtU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185278-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185278: 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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt: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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-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=4b5cc57ed35dc24d11673dd3f04bfb8073c0340d
X-Osstest-Versions-That:
    libvirt=a39dd2571538513e23103b3b20526f84f01596a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 12:44:14 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185244  2024-04-05 04:18:43 Z    4 days
Testing same since   185278  2024-04-09 04:18:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Göran Uddeborg <goeran@uddeborg.se>
  Jim Fehlig <jfehlig@suse.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
   a39dd25715..4b5cc57ed3  4b5cc57ed35dc24d11673dd3f04bfb8073c0340d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 12:51:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 12:51:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702427.1097409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruAwH-0001Dr-NV; Tue, 09 Apr 2024 12:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702427.1097409; Tue, 09 Apr 2024 12:51:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruAwH-0001Dk-Ka; Tue, 09 Apr 2024 12:51:01 +0000
Received: by outflank-mailman (input) for mailman id 702427;
 Tue, 09 Apr 2024 12:51:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SUYQ=LO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruAwG-0001De-5t
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 12:51:00 +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 d044f495-f66f-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 14:50:59 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4155819f710so43582265e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 05:50:59 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 x15-20020a5d490f000000b003439b45ca08sm11361772wrq.17.2024.04.09.05.50.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 05: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: d044f495-f66f-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712667058; x=1713271858; 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=CFKFyLkXgkEtMi21Oinq/xuxXXZV6GWLEDgy3mOzsiI=;
        b=szWVycphbZmSgxB7u+no1SUwH8bHbKlquSh46O4ABhFu5vOX8krxrCxl7KJiiIXYyD
         DqgNUHmCuPX5A8oyKmmeWPuvxuMmNasnotySv8N2qLrJi2FX6Re6w19XX9YOUFRcqZXu
         3wIUv8WVhCfcXrt7L4ZKL+l3F0zLqe0jpD2Q8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712667058; x=1713271858;
        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=CFKFyLkXgkEtMi21Oinq/xuxXXZV6GWLEDgy3mOzsiI=;
        b=lMub0OhH7JkVM3WRQvxLgxJneL4Y+kbmERFzk7YngETChbd6BY28UQIuaxCD5L9GmC
         aJN6fRbVVpuT2mbgBBcmf9yJ4qgHStvfNl1Is/0zsP1DH1jMwZkOKWYIZRKzK7a9oM22
         /9I/VJcbui+fOwJBuDtHYtcWzaX4ccNuhgZvDJCo/sFuy5iwGlX3UdelOa9ddNHkwewF
         EwfpQcJ2yV6/TpdgEaPTpGq83ztdzH+qmgUm9OgPwuU1Lrf5+xLgc8zHYj7O4JbpjH5R
         xf1bbH9egpnpbZBczby6CM5vSS0i+oZEsz4m3aJiVWZopZJQdq0ePo0YcVszXhHL7EKT
         yR1Q==
X-Gm-Message-State: AOJu0Yy4Bn9zFfHZPLT/PQcO1RxJWw0K1P2d2nK5DsrVLJGsYZOR82gd
	oii+anZcv3pE+H4PGCUNQb1fVhomtalDRAk3OjVnZMd70urWY1WIAsoe3+BE27qGsUndQYNli4i
	A
X-Google-Smtp-Source: AGHT+IEk/TSzvsarVODiBi/sOC3VyQHNTiKNcIP99FwTDDdf7/k/S0J/ivv2eZ+n85L5Jb7g8u+n7w==
X-Received: by 2002:a05:600c:3d1a:b0:416:9bd1:6ec4 with SMTP id bh26-20020a05600c3d1a00b004169bd16ec4mr2335466wmb.35.1712667057897;
        Tue, 09 Apr 2024 05:50:57 -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/alternatives: fix .init section reference in _apply_alternatives()
Date: Tue,  9 Apr 2024 14:50:46 +0200
Message-ID: <20240409125046.60382-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The code in _apply_alternatives() will unconditionally attempt to read
__initdata_cf_clobber_{start,end} when called as part of applying alternatives
to a livepatch payload.  That leads to a page-fault as
__initdata_cf_clobber_{start,end} living in .init section will have been
unmapped by the time a livepatch gets loaded.

Fix by adding a check that limits the clobbering of endbr64 instructions to
boot time only.

Fixes: 37ed5da851b8 ('x86/altcall: Optimise away endbr64 instruction where possible')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/alternative.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 21af0e825822..2e7ba6e0b833 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -326,7 +326,7 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
      * Clobber endbr64 instructions now that altcall has finished optimising
      * all indirect branches to direct ones.
      */
-    if ( force && cpu_has_xen_ibt )
+    if ( force && cpu_has_xen_ibt && system_state < SYS_STATE_active )
     {
         void *const *val;
         unsigned int clobbered = 0;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 12:56:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 12:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702430.1097420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruB1S-0002Sw-9w; Tue, 09 Apr 2024 12:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702430.1097420; Tue, 09 Apr 2024 12: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 1ruB1S-0002Sp-6L; Tue, 09 Apr 2024 12:56:22 +0000
Received: by outflank-mailman (input) for mailman id 702430;
 Tue, 09 Apr 2024 12: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=4Fcd=LO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruB1R-0002Sh-NI
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 12:56:21 +0000
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com
 [2607:f8b0:4864:20::72d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ef2a5df-f670-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 14:56:19 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-78d683c469dso136609985a.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 05:56:19 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u14-20020a05620a0c4e00b0078d4732d92fsm4088189qki.115.2024.04.09.05.56.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Apr 2024 05: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: 8ef2a5df-f670-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712667378; x=1713272178; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HwogDxAhx9l+csggl/rwifRkAk67XvwgPWc+crWwtqQ=;
        b=TYSJUw3hJl4ekVYkrmXjj2p9ju0gRkb3wF5QQuWSjI07Qvaeez6dOnLYr3VOUZ8qqp
         BiKCla6j+AUIhYvpkJz4qIakxcHABpPQY0xgH2T98e0wizfBLwtDxENofqC7WLbUG956
         cE70hbNO2QRRDiyvIknBeI0UOowYztz6/NGmY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712667378; x=1713272178;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HwogDxAhx9l+csggl/rwifRkAk67XvwgPWc+crWwtqQ=;
        b=iOBcKhNtMI+dGNFLZiVxZqoJ6cfts0IStec7UUHO1ayKu4oEBBXPAeHBlZMDapxZ+2
         6GWwPgSnV/Nalds6CjOtIoXa3FM3/ymX9thqcl87dPH28UxloApbVYYse8rf5Yur0t2k
         k6onxo1A4I3e83awMYffj7N5a76eT+zz8wJg/2rVOqUvEhe5AM1PvtRuHEbI5hejCFLU
         K+TWJQPxh8WaCERTGs2TzxSdbsbsrxJ5gmS9SCrcDBplXSveKonAgV4lg2kUltKURrox
         nK0W0GpkB/SjpjB5b4hJbho+GJKfqvtvp1Mtpe3WT2YQxs/WsS9Xgi3YAYqm5wh//Qig
         FttA==
X-Forwarded-Encrypted: i=1; AJvYcCXrsOmyZuu3DwqFGZT6EyZjITinw5oX3jxjVRaliOfTlPXQyH+fB9e8C/9ybA5gPLffeoeNViZU7tIdyDFNoXZPYMZJe6zQPmZyITxgRds=
X-Gm-Message-State: AOJu0YytMjx0Iw47sa7I9AcPHKSZzpiIcVhZesK8TAZy3RGf2I3CbF+/
	iht2GoTbI/PhMkrlg+TAZobsTzvic5DTi5JwzXb7V/lBL18m1NpL+EHwmeLzZAc=
X-Google-Smtp-Source: AGHT+IFA2FmL1zKMeRVFM6zIR17pQl8pUIXqBuo14zsD9gI12PxoXoJIUogEOyua6ObghirZqPIqFQ==
X-Received: by 2002:a05:620a:5207:b0:78b:c3a2:26c6 with SMTP id dc7-20020a05620a520700b0078bc3a226c6mr11137546qkb.21.1712667378525;
        Tue, 09 Apr 2024 05:56:18 -0700 (PDT)
Message-ID: <c7d7452f-7a3c-4269-9e68-081e2c38aea1@citrix.com>
Date: Tue, 9 Apr 2024 13:56:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/alternatives: fix .init section reference in
 _apply_alternatives()
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20240409125046.60382-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: <20240409125046.60382-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/04/2024 1:50 pm, Roger Pau Monne wrote:
> The code in _apply_alternatives() will unconditionally attempt to read
> __initdata_cf_clobber_{start,end} when called as part of applying alternatives
> to a livepatch payload.

When CET-IBT is active.

In practice this narrows the impact to ADL/RPL and SPR/EMR.

> That leads to a page-fault as
> __initdata_cf_clobber_{start,end} living in .init section will have been
> unmapped by the time a livepatch gets loaded.
>
> Fix by adding a check that limits the clobbering of endbr64 instructions to
> boot time only.
>
> Fixes: 37ed5da851b8 ('x86/altcall: Optimise away endbr64 instruction where possible')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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

In hindsight I really should have tried livepatching when I was doing
the IBT work, but that was also done under an embargo deadline.

I'm happy to tweak the commit message on commit.


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 13:00:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 13:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702435.1097429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruB5e-00041c-TH; Tue, 09 Apr 2024 13:00:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702435.1097429; Tue, 09 Apr 2024 13:00: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 1ruB5e-00041V-Qa; Tue, 09 Apr 2024 13:00:42 +0000
Received: by outflank-mailman (input) for mailman id 702435;
 Tue, 09 Apr 2024 13:00: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=SUYQ=LO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruB5d-00041P-QJ
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 13:00:41 +0000
Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com
 [2607:f8b0:4864:20::82e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2aa9e201-f671-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 15:00:40 +0200 (CEST)
Received: by mail-qt1-x82e.google.com with SMTP id
 d75a77b69052e-434942fb16aso6292691cf.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 06:00:40 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 bw9-20020a05622a098900b004330090b874sm4591966qtb.95.2024.04.09.06.00.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 06: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: 2aa9e201-f671-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712667640; x=1713272440; 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=jp7ePbOq5Too2kljLeo9eJtK4Q2BYrdPJ3bM0Q7O9yM=;
        b=gHrK5TESXZAdTdCEk7kTrgld94cT71HJ6FJNBT8Ui1wl0JWCEMy1WtrwPjam40i1F8
         eNYGhhN/IC1ZZ3X95ES/k9FtWjH/xUHozrRhDPHZ5XHdvS3Lj2vk0YmYxg/cxSOur2pp
         WCRZfTkcjnGXQ83hCkKiM4aNGFbX9/4YJm0/c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712667640; x=1713272440;
        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=jp7ePbOq5Too2kljLeo9eJtK4Q2BYrdPJ3bM0Q7O9yM=;
        b=ZspHL64pyyZ1Pi8myPpREgbDmpqo2i3x4dx6cdSshChQxmjqVvGfuycN/forM6wDVb
         obpQac9ipPvrNrqlB/l0Lqi7UpBtUByGXnrwYQ7Tb5BjWQikdV6DgRAGqMd8sxN6qXLe
         odr7+veLW/yq+A7gvgFeCTSOEJ0Ju9/G6GlFaZmIxTrihm05/F8kKFh0bW2OGxhts8+0
         smoYIH0xFuNkzsDcV+iJhIQltVzscsFclZpNUEh3TXlHWAhE6baaS7fPtLwjbwy1lGNU
         ckverHsoKN43fun8Qm2q4Y/YBlVYtQzevqBaIo22KPbeCsd+KOuWL1Z/6ny3ueK3lx5s
         mNrA==
X-Gm-Message-State: AOJu0YwSXsD+Sox1SdlTh/SZbjS9XZoxhhQEoC4W76QJrM5g7a/ShhoN
	LtQhvN01Zjl81DcBbo5xDbmCVWy+WOxq37ayn8btmZ7TihRPiNhta+cbMkrO+Jo=
X-Google-Smtp-Source: AGHT+IFasTIEvevMIuXbDVOua1018VNM7+linF2e1Ry4PD8OeNumaJOa+3cl2uhGEJEdTyA2NMl6lg==
X-Received: by 2002:a05:622a:1915:b0:432:b389:7c42 with SMTP id w21-20020a05622a191500b00432b3897c42mr13127697qtc.16.1712667638318;
        Tue, 09 Apr 2024 06:00:38 -0700 (PDT)
Date: Tue, 9 Apr 2024 15:00:36 +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/alternatives: fix .init section reference in
 _apply_alternatives()
Message-ID: <ZhU79AYGpEUivzaO@macbook>
References: <20240409125046.60382-1-roger.pau@citrix.com>
 <c7d7452f-7a3c-4269-9e68-081e2c38aea1@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c7d7452f-7a3c-4269-9e68-081e2c38aea1@citrix.com>

On Tue, Apr 09, 2024 at 01:56:16PM +0100, Andrew Cooper wrote:
> On 09/04/2024 1:50 pm, Roger Pau Monne wrote:
> > The code in _apply_alternatives() will unconditionally attempt to read
> > __initdata_cf_clobber_{start,end} when called as part of applying alternatives
> > to a livepatch payload.
> 
> When CET-IBT is active.
> 
> In practice this narrows the impact to ADL/RPL and SPR/EMR.

Oh, yes, forgot to add that.

> 
> > That leads to a page-fault as
> > __initdata_cf_clobber_{start,end} living in .init section will have been
> > unmapped by the time a livepatch gets loaded.
> >
> > Fix by adding a check that limits the clobbering of endbr64 instructions to
> > boot time only.
> >
> > Fixes: 37ed5da851b8 ('x86/altcall: Optimise away endbr64 instruction where possible')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> In hindsight I really should have tried livepatching when I was doing
> the IBT work, but that was also done under an embargo deadline.
> 
> I'm happy to tweak the commit message on commit.

Sure, please go ahead.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 13:18:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 13:18:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702443.1097444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruBMj-0007B9-Ap; Tue, 09 Apr 2024 13:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702443.1097444; Tue, 09 Apr 2024 13: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 1ruBMj-0007B2-8H; Tue, 09 Apr 2024 13:18:21 +0000
Received: by outflank-mailman (input) for mailman id 702443;
 Tue, 09 Apr 2024 13:18: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=NvYF=LO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruBMh-0007Aw-RR
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 13:18:19 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:200a::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fdde24e-f673-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 15:18:17 +0200 (CEST)
Received: from BN9PR03CA0184.namprd03.prod.outlook.com (2603:10b6:408:f9::9)
 by SA3PR12MB9159.namprd12.prod.outlook.com (2603:10b6:806:3a0::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 13:18:13 +0000
Received: from BN2PEPF000044A2.namprd02.prod.outlook.com
 (2603:10b6:408:f9:cafe::37) by BN9PR03CA0184.outlook.office365.com
 (2603:10b6:408:f9::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Tue, 9 Apr 2024 13:18:13 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF000044A2.mail.protection.outlook.com (10.167.243.153) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 13:18:13 +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.35; Tue, 9 Apr
 2024 08:18:12 -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.35; Tue, 9 Apr
 2024 08:18:12 -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.35 via Frontend
 Transport; Tue, 9 Apr 2024 08:18:11 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fdde24e-f673-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qri4WpiHH2w9XRy75343UPVPFTZaD4O1+oRTHeF0uoGK78u4lPe8RGd0guxZKtl7zzEmpJWg5p/tz9Tu0gBdPNZ2ufHvOoUZ+6m6bHbu5IjQtLllUH1Gm8+l+/T7tN84FNMDQrvZToJGHt9U0Geo9zPLAuZI7gXHB+jDGQACYlKkZc4h+JsRUJjq6Fa+l66W0qCvb3e6zDaUp9AOgSJWrot+hybR/4baO3SXiZ/W8l//MJ2OgWAiw7EY7qKrJ/YyDeHkYuzZBd9quCcpYDiFFvhTiTlzzA9L69ZpNk0h/ggO17WAt2gy7Go5MyvhTQuhKvFCwKqCPMWYau4cQ/utIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7vtqHpgt3NZn1fmP6u2Ngwt5fQom3+jGPQO3Uh/kIIU=;
 b=UtUYVBuBeohskDeKAT42S93nh3KyXbJxo0r5Br/cobCrNc7u+zmwaK0qKBxEY38mgWMXawqmsXw+e5Q86OYNVy/BR8xyLxte9OZwdXjwpobVC9fmrgWZZxBiqTNrdT1qrbplNp8/yEtxezBCG1Mo09ZXxYAVVPQSOBWw5TU9wvMm7/jkiN45HhqvGXgwpskXiHH6L+YGor+EfvmPtMEPTYybCO5ckOv70Pa1BXO1FN+Y2J25kHz04azyucM2CRbCXvO9E65C7vdHVVnjS8iBi8k3sXiaxWLyXR4bVHZhpfc56DiJUoMyfOt1Ezk4zOQWgOop3CpnxGdlJLNsTHohRw==
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=7vtqHpgt3NZn1fmP6u2Ngwt5fQom3+jGPQO3Uh/kIIU=;
 b=MYK0ZL4uqCMGBAcWcBFaxCGucF1XiHgxxG/++8M6v0Ma/sP5VGXgCW/LQm/sgiyl0SQ+mAdrf/L5LAY6FodsJaYIZLC0q3eiC/zSa1xkwWYQOK0+ivFMfBBzQ0Gn9JGWWpkK7xJY4bHXP8ulQOxCj0xrDynHimkiFIv7Dr1kSvE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <ba515602-0dcb-4efb-8154-121893bb1318@amd.com>
Date: Tue, 9 Apr 2024 15:18:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v2 03/13] xen/arm: Pass struct kernel_info parameter to
 make_resv_memory_node
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-4-luca.fancellu@arm.com>
Content-Language: en-US
In-Reply-To: <20240409114543.3332150-4-luca.fancellu@arm.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: BN2PEPF000044A2:EE_|SA3PR12MB9159:EE_
X-MS-Office365-Filtering-Correlation-Id: da533e51-9d58-46ed-a17b-08dc589782b1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J3KAKIhSJxLb/+BqckE0jDzzUkbDftVeh5AACVyjOp5iobFpLetU2B3vi7lG6CyFusNrQYg79D7eQd+Gt4e6OTgWm0/ZKnCfYYzGFu23P2IdmN1DnZj7+J0hiOIY5Ru0XtM2K6SdTBIm251r0DhNidAjRWaYwMlCZJPcqS40psI/cKuq/pI8kc/DFagvhKBS8M7A8nLh3yyAOliybH9JlnlcmqYS3KDWRs+y0sMI3Lc6bbvecolyJEkD1XnYIzGU0rEqk3UOkmDQP1tnqOIfZ1leFmGe8FFN2q0QFufsWUV/vAdTcY+FjMaajRk9sjn79weugye4j9sRLAz6FjvKNN2RPlDZvMLR58iE1FpilBj8/nsD1i+CUYhap4EU4jmiR6fGCToUWx9G22e7esIS+H61jPHS+QaXHxY5Q0IaITW6QmLAX9I+vWITf2+kwCkleEm4Z3mJybcvnC1u4slx+iqE4m/T5VHut5z/v4/5F7vtxokETSQJDhJ0ERIWkQP3M0ZvD5s9B+pw0SShfbSSQFInbE81ep8+e+YaYuVQ2keP8CXURnKo3ArPPxv5LH16IZSt1vFk8WNhuyMRQsF6wzBvWOCCilLT+7r40Z9kG0JnC0JR6bbsxURc7DIkMd7QcHPi790BfIA8HQjpdmqUyWQz+oBk7wE4WKWa0xyMmg0qIKnjH+67793tR7dTBZ99h0FxApoH+giT1bdyzuik78RGWTsd/WgMF6jUiVSu7173Z+U3jD36DIZhdiK2fx5r
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 13:18:13.4503
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: da533e51-9d58-46ed-a17b-08dc589782b1
X-MS-Exchange-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:
	BN2PEPF000044A2.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9159

Hi Luca,

The title should be "xen/arm: Pass struct kernel_info parameter to make_{resv,shm}_memory_node
given that you're modifying both functions.

On 09/04/2024 13:45, Luca Fancellu wrote:
> 
> 
> The struct domain parameter is not used in make_resv_memory_node
> and in its called function make_shm_memory_node, so drop it from
> both function, also, take the occasion to pass directly
s/function/functions

> struct kernel_info, from which we can infer other parameter
s/parameter/parameters

> passed to the functions and drop them as well.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Other than that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 13:24:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 13:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702446.1097454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruBSe-0000QV-Vj; Tue, 09 Apr 2024 13:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702446.1097454; Tue, 09 Apr 2024 13:24:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruBSe-0000QO-Sy; Tue, 09 Apr 2024 13:24:28 +0000
Received: by outflank-mailman (input) for mailman id 702446;
 Tue, 09 Apr 2024 13:24: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=NvYF=LO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruBSd-0000QI-Q7
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 13:24:27 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b8647f6-f674-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 15:24:25 +0200 (CEST)
Received: from PH8P222CA0017.NAMP222.PROD.OUTLOOK.COM (2603:10b6:510:2d7::27)
 by DS7PR12MB6069.namprd12.prod.outlook.com (2603:10b6:8:9f::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 13:24:22 +0000
Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com
 (2603:10b6:510:2d7:cafe::9) by PH8P222CA0017.outlook.office365.com
 (2603:10b6:510:2d7::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Tue, 9 Apr 2024 13:24:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD3.mail.protection.outlook.com (10.167.241.207) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 13:24:21 +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.35; Tue, 9 Apr
 2024 08:24:17 -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.35; Tue, 9 Apr
 2024 08:24:17 -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.35 via Frontend
 Transport; Tue, 9 Apr 2024 08: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: 7b8647f6-f674-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F5oTzkW0hLRPZU3hMS3DGirVHSKACbOqVCbzRLppCLZ8ZDwWTk1qmJdA8CUf1DMbP8+58CjE3D3PueEQ4hncCNalw+6XDDAuPpY/CZYFKUPVbZYrlYLC9Dz/s/nZ6FrClrURiRYwCufG8+1woSGA7Yxh/HPdJtOsI+mSukqjzL9HuPOGHBT7A+SXD2tPUXN38Ss5dY4D9t33HVwUD2yQEBRFJQK/jU97T8r/A72tRGDYycpyNzgAV2Ey6t2QyIPJId77nKVnF+T7iCO09UUaBAF2MqSOxFzmeQ35sHbHsfgMRNJA1qfz1dteXUWN3enL6BmP/MkyoiTrRymYcaZOfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xkuXPUZHS3I3sBwcFqAuAeKj5ryb6NvJ4aH2wL+z2yk=;
 b=Nsa9LbETc29YYEyjipFMhkuDGYSTjj5iosKWLzdPQh1X9Ims7WzdToCHdfqr05biKXPN4qQNWadnXL1PNG5yPxWiPPPaU1tfMJExREDlXBPJw0FSBhG9e1XKvdAATV0Htjbi5azFQEPHHaCh6H3vEaIjKTBNZDtHuzd6LO2JCXEnZwBDsi4GeW8gq/xjo2OOfY0YyRNr6NIqwzsyazWoI6hLXiMDT991VJeVoHNsb6a1PO939VMK6FfETrPMnnJEJmrbbT6yTiETgMhbTq+QGzxWioeivEmrCwNc5gF2n8TkSgHugzYpD7SbJo6xywSIIlg8cAdkLZzPOIGzk7Qdlw==
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=xkuXPUZHS3I3sBwcFqAuAeKj5ryb6NvJ4aH2wL+z2yk=;
 b=Kje4Hw2lJd8neV2Sg8agF2Pk468yIdos8lnE90k+uttkSoI3VLUmQLEEPpvc7/Lfq/tuGDg7ZwkCXLemD/4hJtxygG7ZvVQLp7TDxD6PmLjO9LjWh+oIQFOnotJNfWxoIobEgvNXo4qHsXglLFqRiPxUe+oSFmYoSx/9UIiXvlo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <ba304e14-64b5-4b18-90c2-c54158b67df8@amd.com>
Date: Tue, 9 Apr 2024 15:24:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 04/13] xen/arm: Introduce a generic way to access
 memory bank structures
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-5-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240409114543.3332150-5-luca.fancellu@arm.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: CY4PEPF0000EDD3:EE_|DS7PR12MB6069:EE_
X-MS-Office365-Filtering-Correlation-Id: ad05e5cc-2fc6-4933-8f05-08dc58985dfc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BNoUHBu5l1vsFHl6+W4GP+PfHX/q/7sYVViOaTlc5HuShz2iKLRzo5q/nQN3Q1828BqVDsPdsgM9NnRt0bX3Rp/eZkg5YIKVZ+d7O07VMrB1E9yjUaNUJDNBqM+qeToHX1VyrVCXndrw1NaCflcRpfHv+nzraniypTI07slzUBw0riR+y/tDQqt8vrmdTxdHsu21gN/IZNP4L4BlqHgW7PRTvN6e/9IBsSM/kygx52a5z+fLH79aj6x4oEjw71PKJgKUig1CBD0TZoXS4Wfn073Q4lxkXF58arpbJ6VeEjfd0thYhG1HKn+cjyZUgbU6e1kDJfvqumut4PzcPgHNWAJEZFUSzpJPdZTKbZQkp5cHgOChXh1ONL5q/NOP16ac0DmlHtMXm2c1URBVYCo6WVHc9uyrtQKox+b7yFyCkD5UTgcjK6aXA1tsV4xcwg/Tws3Ir5vXVxjFUfkAnENvG8KZj3azD/JvbnH4qINDmH+DHR15I0W4doe4/yQsMvi6ahkxJm4WurfaPziCT1aNGkglaaizEoXiF7voLtH4luKCHEJ+FRsSoa1P4VAXN1oN13ONVl2wsYlZL0bFHnthvUYWBqoQGtzMQ+064ZuwPG5aFZuiB8c3CBLRiEN3lW7o3JJkFJhDDra9N4X5P2DaLMla4tSzRa0kIvCdUYHYmrwMGm3NRrG1nQlr5cAAejOSluIjezWeYy+AX6i9upZslNmZG4vS6GUWRwWsh7BAnqf96ivhwnt1rLfCJVwbh8Fq
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 13:24:21.3780
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ad05e5cc-2fc6-4933-8f05-08dc58985dfc
X-MS-Exchange-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:
	CY4PEPF0000EDD3.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6069

Hi Luca,

On 09/04/2024 13:45, Luca Fancellu wrote:
> 
> 
> Currently the 'stuct meminfo' is defining a static defined array of
s/stuct/struct

> 'struct membank' of NR_MEM_BANKS elements, some feature like
s/feature/features

> shared memory don't require such amount of memory allocation but
> might want to reuse existing code to manipulate this kind of
> structure that is just as 'struct meminfo' but less bulky.
> 
> For this reason introduce a generic way to access this kind of
> structure using a new structure 'struct membanks', which implements
> all the fields needed by a structure related to memory banks
> without the need to specify at build time the size of the
> 'struct membank' array, using a flexible array member.
> 
> Modify 'struct meminfo' to implement the field related to the new
> introduced structure, given the change all usage of this structure
> are updated in this way:
>  - code accessing bootinfo.{mem,reserved_mem,acpi} field now uses
>    3 new introduced static inline helpers to access the new field
>    of 'struct meminfo' named 'common'.
>  - code accessing 'struct kernel_info *' member 'mem' now use the
>    new introduced macro 'kernel_info_get_mem(...)' to access the
>    new field of 'struct meminfo' named 'common'.

I would also mention introduction of KERNEL_INFO_INIT, BOOTINFO_INIT that should be used
from now onwards to initialize corresponding structs (.max_banks member).

> 
> Constify pointers where needed.
> 
> Suggested-by: Julien Grall <julien@xen.org>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v2:
>  - Fixed typos in commit message and mention flexible array member
>  - Add static assert for struct membanks
>  - use static inline for the kernel_info structure instead of macro
>  - use xzalloc_flex_struct inside make_hypervisor_node instead of
>    xzalloc
>  - Fix trailing backslash style


[...]

> 
> +static inline struct membanks *kernel_info_get_mem(struct kernel_info *kinfo)
> +{
> +    return &kinfo->mem.common;
> +}
> +
> +static inline const struct membanks *
> +kernel_info_get_mem_const(const struct kernel_info *kinfo)
I'm not a fan of having 2 helpers named this way. Maybe macro (as in v1) would be better here.

Other than that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 13:38:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 13:38:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702451.1097464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruBg6-0003H6-5Z; Tue, 09 Apr 2024 13:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702451.1097464; Tue, 09 Apr 2024 13:38:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruBg6-0003Gz-2X; Tue, 09 Apr 2024 13:38:22 +0000
Received: by outflank-mailman (input) for mailman id 702451;
 Tue, 09 Apr 2024 13:38:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NvYF=LO=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruBg5-0003Gt-FS
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 13:38:21 +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 6c481179-f676-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 15:38:19 +0200 (CEST)
Received: from PH7PR10CA0009.namprd10.prod.outlook.com (2603:10b6:510:23d::29)
 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.7409.46; Tue, 9 Apr
 2024 13:38:15 +0000
Received: from CY4PEPF0000EE32.namprd05.prod.outlook.com
 (2603:10b6:510:23d:cafe::ba) by PH7PR10CA0009.outlook.office365.com
 (2603:10b6:510:23d::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Tue, 9 Apr 2024 13:38:15 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE32.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 9 Apr 2024 13:38:14 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 9 Apr
 2024 08:38:14 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 9 Apr
 2024 06:38:14 -0700
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.35 via Frontend
 Transport; Tue, 9 Apr 2024 08:38: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: 6c481179-f676-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gpV4NrEq+lV8KuEBy98T8ksphJ6E/c32YgIIh9t4TyC/K7Lyu8qzttF1jIlyFJOYYFBvUH6YsnooDxAvFko0XIr9+TVGQapNk2teZ72SjMC8eI5Dig3eGLxLXJog0fUrG7eCIlsMVfVZx8QPFKT3XkUh/ykvQ6OAsRxsAFL+3WszXukxnoqEd91UdwOC+dDU/yAKOAWqatGc64kWQ+vKeqfudL5rqnFW0aRGsxnRF4SPbDtSDGzXLhJkfFpVFoxYxadq+C7GxsPVIbpxx2v0LiMMAdZjSjOiZZcbS+y7FxdDKFZzLHLVHOdd9LI0ig0RuIOTAHxXgvJJ7tuoC26x0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1S5gcepFEut6mWo0Vqg5/fAfmi2CGeyyFjQ/NZPEUJM=;
 b=IrFiZmO8NSfe9VjZ+nh6OSR5AoU9xfiyubvmNWlDAyw0/+vNCzzw9ZtQIJ/gX13uyWa/BU/NxYoe/8VW/QFUKTGQyIHIpnZbCZPSg5XGyEfW9cTXJKtIm5B+27heZO33ffNms0QhwwI8mSH68fZAXjjRYoZ0Ht8OmrGX7bz7L4yUTuSlkNJjtUskE6MCBIicRt7FGaKhell91EJfl1ZiuVgiPiouAocKyfukLL/e/hBk59of0tINBlv/x19YRL0nkZERDc3Ewbcl2SArpLMIbm2WAuzYdOXuGvg6uvSuTXPqoxtwMrH6HjJbmFY5YJPF90IHUg9+PAHLLWtSiMkKUA==
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=1S5gcepFEut6mWo0Vqg5/fAfmi2CGeyyFjQ/NZPEUJM=;
 b=g5FbloD55hGYH6LqUhZrMkSJYJfe1CYgtOkRN7s26XqIwf3uPtMpygvV4sX6+tDT6w6GPX6RIM2/VbLlQabQkF1R5yNhrC6T8bvKBWXpOHAieepqrncIf8Bp0mp9wSIsQTNNtCETvPfjNR5jTtODrBkANfIDrh82Jb7mL9+MWO0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <611fb8ea-1b2f-487e-956f-0aba716912c3@amd.com>
Date: Tue, 9 Apr 2024 15:38:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 06/13] xen/arm: Avoid code duplication in
 find_unallocated_memory
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-7-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240409114543.3332150-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE32:EE_|SJ2PR12MB9005:EE_
X-MS-Office365-Filtering-Correlation-Id: 5458b75a-6643-4ac4-9dd0-08dc589a4eda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Rm2T8Wpi/bSTOtiNNGOr+GGhx7T3zWoQ3ulKrKzs/LVuEGm60HgcS5CYWOxnc+pmG8yL/WRomB0Op7pHokJsez+cURIqo+a/NXqAcGsjQs/mZ6JDk9xPfxfmPpizsQEIzoy+ozIL8RR6bO9a/tDA/ZdIqjMAQxDuqjZ2I+H8poQS4tqJCxfwTlUfdhomAzpg4gYPVBpzo7Wew21lq2RB5OZh4hWVgOUVbj9pJiJLokkq2aEo1CMnsUcj90nDBySSAmoNiC/sjxt8XZIq5+MQPzdhyZBY5s67/kjZjAKJm6cRt7MWEG6Qf1gn/WsGLit2hMyNNDTU99COSPw+ZONDzEXomVaP38HSIvap73LI4llIFPgrvacLDr/nVUoKcBIwkGiqCgQe9zvRPr28zaQ/KwhMOVN1byx7V/3yLieknE6F5sDNGeqTmvBHQQyBcIxLxTIRtLi3WtPJVXk0xoqHgY8n7PPyjIMV5mGK2jAPrNVlE2vbL5id84nqH+adtc1qEbhxQ33QRQGkHUNY8ILKDLmErjLewIzeh70W4Lc+N14t7220kWrn3y8UpINnTbZt15u0eUyOTj/0rx+80wY7bFEegTQXhBNwjdwXuUr4GJMC2/a8uxGJSIonAPGhnphZW3OdQLSVzO2aiH7/sQwZ1MQAscStInOVcE61k0Kp6G2aSEUshI8XNxFjSM4p0lHXeexNePTHN/oMzE2jQPuBR0H2A6w6Vs9Hr8TSbKcKWUIln01WfpGODGflWXuJiM4B
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 13:38:14.9843
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5458b75a-6643-4ac4-9dd0-08dc589a4eda
X-MS-Exchange-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:
	CY4PEPF0000EE32.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9005

Hi Luca,

On 09/04/2024 13:45, Luca Fancellu wrote:
> 
> 
> The function find_unallocated_memory is using the same code to
> loop through 3 structure of the same type, in order to avoid
> code duplication, rework the code to have only one loop that
> goes through all the structures.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v2:
>  - Add comment in the loop inside find_unallocated_memory to
>    improve readability
> v1:
>  - new patch
> ---
> ---
>  xen/arch/arm/domain_build.c | 70 +++++++++++++------------------------
>  1 file changed, 25 insertions(+), 45 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 57cf92668ae6..269aaff4d067 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -869,12 +869,14 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
>  static int __init find_unallocated_memory(const struct kernel_info *kinfo,
>                                            struct membanks *ext_regions)
>  {
> -    const struct membanks *kinfo_mem = kernel_info_get_mem_const(kinfo);
> -    const struct membanks *mem = bootinfo_get_mem();
> -    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
> +    const struct membanks *mem_banks[] = {
> +        bootinfo_get_mem(),
> +        kernel_info_get_mem_const(kinfo),
> +        bootinfo_get_reserved_mem(),
> +    };
>      struct rangeset *unalloc_mem;
>      paddr_t start, end;
> -    unsigned int i;
> +    unsigned int i, j;
>      int res;
> 
>      dt_dprintk("Find unallocated memory for extended regions\n");
> @@ -883,50 +885,28 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
>      if ( !unalloc_mem )
>          return -ENOMEM;
> 
> -    /* Start with all available RAM */
> -    for ( i = 0; i < mem->nr_banks; i++ )
> -    {
> -        start = mem->bank[i].start;
> -        end = mem->bank[i].start + mem->bank[i].size;
> -        res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
> -                                 PFN_DOWN(end - 1));
> -        if ( res )
> +    /*
> +     * Exclude the following regions, in order:
> +     * 1) Start with all available RAM
> +     * 2) Remove RAM assigned to Dom0
> +     * 3) Remove reserved memory
Given this commit and the previous code, I expect one call to rangeset_add_range() and
3 calls to rangeset_remove_range(). However ...
> +     * The order comes from the initialization of the variable "mem_banks"
> +     * above
> +     */
> +    for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ )
> +        for ( j = 0; j < mem_banks[i]->nr_banks; j++ )
>          {
> -            printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
> -                   start, end);
> -            goto out;
> -        }
> -    }
> -
> -    /* Remove RAM assigned to Dom0 */
> -    for ( i = 0; i < kinfo_mem->nr_banks; i++ )
> -    {
> -        start = kinfo_mem->bank[i].start;
> -        end = kinfo_mem->bank[i].start + kinfo_mem->bank[i].size;
> -        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
> +            start = mem_banks[i]->bank[j].start;
> +            end = mem_banks[i]->bank[j].start + mem_banks[i]->bank[j].size;
> +            res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
... here you always call rangeset_add_range() which is wrong. For direct mapped domain
you would e.g. register its RAM region as extended region.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:03:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702458.1097473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruC41-0008LD-4O; Tue, 09 Apr 2024 14:03:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702458.1097473; Tue, 09 Apr 2024 14: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 1ruC41-0008L6-1Y; Tue, 09 Apr 2024 14:03:05 +0000
Received: by outflank-mailman (input) for mailman id 702458;
 Tue, 09 Apr 2024 14: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=qKuC=LO=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruC3z-0008L0-MN
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:03:03 +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 dfbdec14-f679-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 16:03:01 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712671370128960.176597926592;
 Tue, 9 Apr 2024 07: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: dfbdec14-f679-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1712671371; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ZMpodFN+sUWv5J3lXehKRfob2EYh3yANNG9f0Lfm/DpvG+sW+XkvHdEqfbgCVHwouexghGdWSiuvBVlAioJhSD0OoZxbsXBvhDlx31rEwgvvWqAImWlky2FD9N4xTIZ+ctGDPhSUbpZGPkp7Vnm6WSykvIyJhVIajBFaIaOv7VE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712671371; 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=geIvMGkuAVJMhX4gYU7oJF6o4PokcRR8agqNYVfuC2k=; 
	b=NiTDC0FLwRTPtsFkMbc+nxDc8OmdTMXfPR+TfOhojjEO7L0eMnXornQj8Lyo5nTnxElTgWyT7BVXSUoHUeGKNJcdzAjasKss4+MIeZX/0+hGdvfSHWw5jWOd7vpAHdhoLdkBkN9hnhGeyNaGaapxat1a/fNaWX87EIaMYWgk+BI=
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=1712671371;
	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=geIvMGkuAVJMhX4gYU7oJF6o4PokcRR8agqNYVfuC2k=;
	b=HEf8tSZQplbNhoBhlWFKjvrssGJlRBLIwons2IvyWziG+u2eVDg0xVQyy3U9W6td
	nNqMfcA6MKVZpFsEhfFl7n9WDvbaBSarjX2kHU4LjjUOjRnWbng0fJEEpkDqW9tWH/b
	SFnw8cOebv6e5/7s4jeInMr7N34xVbVkZO9PeHRg=
Message-ID: <543f34ed-48f3-4ce5-bd34-00c2cf176ba0@apertussolutions.com>
Date: Tue, 9 Apr 2024 10:02:48 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 7/9] xen/xsm: address violation of MISRA C Rule
 16.2
Content-Language: en-US
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
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <7fbb80bf62fc2e5f91a89375134622366c0b3891.1712305581.git.nicola.vetrini@bugseng.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: <7fbb80bf62fc2e5f91a89375134622366c0b3891.1712305581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/5/24 05:14, Nicola Vetrini wrote:
> Refactor the switch so that a violation of
> MISRA C Rule 16.2 is resolved (A switch label shall only be used
> when the most closely-enclosing compound statement is the body of
> a switch statement).
> Note that the switch clause ending with the pseudo
> keyword "fallthrough" is an allowed exception to Rule 16.3.
> 

To give you a quick response, on cursory review, I do not believe the 
two are equivalent. I have never been a fan of the Duff's device in use 
here, as it makes reasoning about all the variations difficult. I 
unrolled all of this once before, and I recall it being a bit more 
intricate than this.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:11:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:11:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702461.1097483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCBr-00022h-Sa; Tue, 09 Apr 2024 14:11:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702461.1097483; Tue, 09 Apr 2024 14: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 1ruCBr-00022a-Q5; Tue, 09 Apr 2024 14:11:11 +0000
Received: by outflank-mailman (input) for mailman id 702461;
 Tue, 09 Apr 2024 14:11:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4Fcd=LO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruCBq-00021L-K9
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:11:10 +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 02d822c4-f67b-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 16:11:08 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-56e48d0a632so4990932a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 07:11:08 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h1-20020a0564020e8100b005682a0e915fsm5269162eda.76.2024.04.09.07.11.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 07:11: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: 02d822c4-f67b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712671867; x=1713276667; 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=XMRR3cy/AZjaysGx13DnD1gQxMBslwfuoOd2jKo1CTk=;
        b=rMTlLzdqUVPdsgjIxeiMIOvOUNaaOqngNGZzMEw5jAd+EK/vzVzwcETrsywfTbNtIu
         ST7ALmlPyI4IUjSbRquOzdC6WNXmBkN15Ap0SeNZvdWfc8daazET1EdxBAZ0AIidV6e/
         JoCw+9uHABw4f02l/Lgj6mJrPDs+YWGEq5dy8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712671867; x=1713276667;
        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=XMRR3cy/AZjaysGx13DnD1gQxMBslwfuoOd2jKo1CTk=;
        b=oeg6tYzW+DEoEby0OmrjNin8VS9atZ6Qkk7KXpFgQHno35vTwFM1ByJYY5jXLWvcsq
         wrci0J3qxQQK46OEDW7OhbqgSvr9OqcTgQS2bJocoMKZKzwK1X8Hv0JntONZYtOXOxF+
         iym1enCwrEpi86B4SNvvLz9sRpWxAUBwusdYgrFMi7uTx/0zzWEv00yityLP7Qfft3tO
         fppvWa6vmdGW1xp2/DHqSkIIKtj4lJhbgFCz5bFctkZPUae8DMoReVH4LdRV9MWlVx1Y
         LeCF6G183elQ/L7SxajTTzLxt0QEYr7QJ/6ZcwIHL/5vZpvQFwpt8lP7sy9JNM+kvwB6
         Phuw==
X-Gm-Message-State: AOJu0Yz2P/sWDwgkeFl3/zfayVyKwvtvzZfMsQpkJhSJyI3RFyfhR91y
	a2q+oIT8LnqAA/tZ1KU95zGF8onhO75TdZtI1r4dNbI9PzhWbCtSnDZTgnB9z7Q5XBTdrcSshzY
	ZXJQ=
X-Google-Smtp-Source: AGHT+IGgrzawivC/060GMrjrsh7AxP0dHPGScNeh0F3TkjbcZukD5jzq/RaJAojhqbYzZDRTh006pQ==
X-Received: by 2002:a50:a6c3:0:b0:56e:7722:553 with SMTP id f3-20020a50a6c3000000b0056e77220553mr1204642edc.24.1712671867588;
        Tue, 09 Apr 2024 07:11:07 -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/cpuid: Don't expose {IPRED,RRSBA,BHI}_CTRL to PV guests
Date: Tue,  9 Apr 2024 15:11:05 +0100
Message-Id: <20240409141105.125969-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All of these are prediction-mode (i.e. CPL) based.  They don't operate as
expected in PV context, and need emulating to have the intended behaviour.

Fixes: 4dd676070684 ("x86/spec-ctrl: Expose IPRED_CTRL to guests")
Fixes: 478e4787fa64 ("x86/spec-ctrl: Expose RRSBA_CTRL to guests")
Fixes: 583f1d095052 ("x86/spec-ctrl: Expose BHI_CTRL to guests")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/include/public/arch-x86/cpufeatureset.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 3de7c0383f0e..6bb1ee3b0af4 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -311,10 +311,10 @@ XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory
 
 /* Intel-defined CPU features, CPUID level 0x00000007:2.edx, word 13 */
 XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
-XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*A  MSR_SPEC_CTRL.IPRED_DIS_* */
-XEN_CPUFEATURE(RRSBA_CTRL,         13*32+ 2) /*A  MSR_SPEC_CTRL.RRSBA_DIS_* */
+XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*S  MSR_SPEC_CTRL.IPRED_DIS_* */
+XEN_CPUFEATURE(RRSBA_CTRL,         13*32+ 2) /*S  MSR_SPEC_CTRL.RRSBA_DIS_* */
 XEN_CPUFEATURE(DDP_CTRL,           13*32+ 3) /*   MSR_SPEC_CTRL.DDP_DIS_U */
-XEN_CPUFEATURE(BHI_CTRL,           13*32+ 4) /*A  MSR_SPEC_CTRL.BHI_DIS_S */
+XEN_CPUFEATURE(BHI_CTRL,           13*32+ 4) /*S  MSR_SPEC_CTRL.BHI_DIS_S */
 XEN_CPUFEATURE(MCDT_NO,            13*32+ 5) /*A  MCDT_NO */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */

base-commit: 4be1fef1e6572c2be0bd378902ffb62a6e73faeb
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:19:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:19:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702465.1097495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCJt-0003cT-Nk; Tue, 09 Apr 2024 14:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702465.1097495; Tue, 09 Apr 2024 14:19:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCJt-0003cM-JO; Tue, 09 Apr 2024 14:19:29 +0000
Received: by outflank-mailman (input) for mailman id 702465;
 Tue, 09 Apr 2024 14:19:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MkVj=LO=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1ruCJr-0003cG-KI
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:19:27 +0000
Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com
 [2607:f8b0:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b159e5f-f67c-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 16:19:26 +0200 (CEST)
Received: by mail-pf1-x42f.google.com with SMTP id
 d2e1a72fcca58-6ed0938cd1dso3537008b3a.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 07:19: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: 2b159e5f-f67c-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712672365; x=1713277165; 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=ZKNwH61ogJYZeuk308ZpQ6diRlo1mDu3aiO1U5w7UaQ=;
        b=ObI7K5IK/cDEZJKIS7lax9MAfaHIzpHkUu3Xqw275KL6QYWNJjaRVQvG85e4m+U0t8
         4m7HWecl2SJ+Lvu47W9LlSpkNvx1qgHrea+mmEg9H2ot36NAV74C+zgPjjJyHL7TgQNs
         MtLRJmN4Ml5AalUfRK9b+fnCwx7M+Su127TUw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712672365; x=1713277165;
        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=ZKNwH61ogJYZeuk308ZpQ6diRlo1mDu3aiO1U5w7UaQ=;
        b=EX2sIAVLnHjpLkBFmcsTbnrXAHu4VzEMzHfEos57BxFjdAFxf0sMg+tdcPXHP1CNaS
         r9xTboKq6cyTZQ4ZLI/6LzTF+cOdRR6lMZnQV+KdZXYUoah95g8vT+zBBEzKr3jzL7A2
         lyu5Zf3UKjGGApqHnOeI3scDIHmR3ond8ahMkFG+lIWn8lwaYkItNkXAOjLvt+lmqcFH
         tTRB+Llmwf585s5PghmtPBLC7fu5DQN3xG4xTg+xEOYVEqK2Nond8qvKQOpzz8rDBG91
         M9TK6T2GqHZNemXT0ZQh2YAUTzMFKHNh2sui3kOoePJRkRwfF6g261PsGnj7kwIIETVV
         Y2dw==
X-Forwarded-Encrypted: i=1; AJvYcCULxFnyn5+zJ+5mrpjtfLMS0VAPdFR72WDleXbZWyiFq1UncFa1HmYK8TbWey+kx6JKOTDev2k3LB1fepOQv2/CFRc3Y3eM8PkLiz3+mSY=
X-Gm-Message-State: AOJu0YwZS0UW1UABGuRLGVe5XJhPi+TV4DGmqKmDJxVjxxjsVqWlxm67
	Dicxh3MSC7BI0W/MyylZHHVWsDg0ZrmDdEnhDFrtUw3gGv2giDN6e7NBThSDnp6lcGL074qAjEt
	t8qXNoTmkC7LNRkTPFu1QT+i8S3JBuifgfeRG
X-Google-Smtp-Source: AGHT+IEYZXNObBVw3ngDHwROEzFvrdey38md44MZZx9KaPUyg5O0H88Zi9oOToDjnG+ra3FB9wi06t3tsYpNugg/X10=
X-Received: by 2002:a05:6a20:3241:b0:1a7:807:ca2 with SMTP id
 hm1-20020a056a20324100b001a708070ca2mr11980431pzc.29.1712672364737; Tue, 09
 Apr 2024 07:19:24 -0700 (PDT)
MIME-Version: 1.0
References: <20240404140833.1557953-1-ross.lagerwall@citrix.com> <90f07634-1600-4654-8e36-7ac9e2f457e8@perard>
In-Reply-To: <90f07634-1600-4654-8e36-7ac9e2f457e8@perard>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Tue, 9 Apr 2024 15:19:12 +0100
Message-ID: <CAG7k0EqJvVZJUNaf31Jd1ZfwvOon8saNbtHofon=VvB6gpj9qw@mail.gmail.com>
Subject: Re: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org, 
	qemu-devel@nongnu.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 9, 2024 at 11:20=E2=80=AFAM Anthony PERARD <anthony.perard@clou=
d.com> wrote:
>
> On Thu, Apr 04, 2024 at 03:08:33PM +0100, Ross Lagerwall wrote:
> > diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> > index 1627da739822..1116b3978938 100644
> > --- a/hw/xen/xen-hvm-common.c
> > +++ b/hw/xen/xen-hvm-common.c
> > @@ -521,22 +521,30 @@ static bool handle_buffered_iopage(XenIOState *st=
ate)
> [...]
> >
> >  static void handle_buffered_io(void *opaque)
> >  {
> > +    unsigned int handled;
> >      XenIOState *state =3D opaque;
> >
> > -    if (handle_buffered_iopage(state)) {
> > +    handled =3D handle_buffered_iopage(state);
> > +    if (handled >=3D IOREQ_BUFFER_SLOT_NUM) {
> > +        /* We handled a full page of ioreqs. Schedule a timer to conti=
nue
> > +         * processing while giving other stuff a chance to run.
> > +         */
>
> ./scripts/checkpatch.pl report a style issue here:
>     WARNING: Block comments use a leading /* on a separate line
>
> I can try to remember to fix that on commit.

I copied the comment style from a few lines above but I guess it was
wrong.

>
> >          timer_mod(state->buffered_io_timer,
> > -                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REA=
LTIME));
> > -    } else {
> > +                qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
> > +    } else if (handled =3D=3D 0) {
>
> Just curious, why did you check for `handled =3D=3D 0` here instead of
> `handled !=3D 0`? That would have avoided to invert the last 2 cases, and
> the patch would just have introduce a new case without changing the
> order of the existing ones. But not that important I guess.
>

In general I try to use conditionals with the least amount of negation
since I think it is easier to read. I can change it if you would prefer?

Ross


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:25:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:25:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702469.1097503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCQ6-0005h7-AV; Tue, 09 Apr 2024 14:25:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702469.1097503; Tue, 09 Apr 2024 14:25: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 1ruCQ6-0005h0-7i; Tue, 09 Apr 2024 14:25:54 +0000
Received: by outflank-mailman (input) for mailman id 702469;
 Tue, 09 Apr 2024 14:25: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=SUYQ=LO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruCQ5-0005g2-Qn
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:25:53 +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 116900b9-f67d-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 16:25:52 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2d8a2cbe1baso10649471fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 07:25:52 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 h16-20020a05600c315000b00416b8da33e6sm909364wmo.37.2024.04.09.07.25.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 07:25: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: 116900b9-f67d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712672751; x=1713277551; 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=CioAqJ1gxh4c09XZ8q69ctIP0mj1slIgm+tSMRVePcM=;
        b=O9zNz4WpVxCVFpGMlQ3HiLeBSr9iLuXHyjJiM7DcCmgGUdV5ULEb9hFTs9Y1SFK7o+
         pOyhQkwwYWEFS720dVNRRmHAp0q4ZB+KsJYtSwmIuq6PBFK5C/NLCWhJ2Qq+01CovEnj
         bFccjaTj76hA6BRWBfq0jp+baVAO69v4E5KeU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712672751; x=1713277551;
        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=CioAqJ1gxh4c09XZ8q69ctIP0mj1slIgm+tSMRVePcM=;
        b=skJJv46XL/9Ol+29imJyGZVoejac9fO4sjI1IIwXKmGLq5jizJgkZTxEt6b7AJnzI9
         hrCd1KWmHglOCve7HU751sWDVZyVoXMwEv129tkeqRX7Za80Z/uKpr8EO+vEkxxJjgLp
         VpCFB+Lehp+Dfm/lPKIVZRBavo+2ZkUrQMibeghQZi1l7S7Pip/W0REfLTUkAUTBEUJa
         EuHB8Tp2Ad1PcxkSHQZAQTEZqrWCPD6nekQFwuFoJKT84+4N8SX7BFM4jTvlhS1yZFx3
         vFo/RQjXV18vwTx3EzZHh2zI30Wtg23d4vePKNHewRQ/O/qO4s7O60tsOBhH32YoyOS8
         OOIw==
X-Gm-Message-State: AOJu0YymDmE+DlhAPUGGUvkgndhFK2cthIdWQlQRKrWHL73dVSsWclso
	KQ8HeGCQLbqfVs2OyVMxz8RdA/evSh+B2GcEBVn4DNE71X59OOfofYzvIEUoBPnukp7oeDYMP1S
	S
X-Google-Smtp-Source: AGHT+IEBGgQTEHvzA2RqTeEvJslz7fQ7BhX0U+9W746yvHVR7ZdBROkLTGZ0G+nYTM2bXu6v5LB2Sw==
X-Received: by 2002:a2e:7204:0:b0:2d5:9bd4:4496 with SMTP id n4-20020a2e7204000000b002d59bd44496mr9251364ljc.50.1712672751400;
        Tue, 09 Apr 2024 07:25:51 -0700 (PDT)
Date: Tue, 9 Apr 2024 16:25:50 +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/cpuid: Don't expose {IPRED,RRSBA,BHI}_CTRL to PV
 guests
Message-ID: <ZhVP7iTFg9-HB_tv@macbook>
References: <20240409141105.125969-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: <20240409141105.125969-1-andrew.cooper3@citrix.com>

On Tue, Apr 09, 2024 at 03:11:05PM +0100, Andrew Cooper wrote:
> All of these are prediction-mode (i.e. CPL) based.  They don't operate as
> expected in PV context, and need emulating to have the intended behaviour.
> 
> Fixes: 4dd676070684 ("x86/spec-ctrl: Expose IPRED_CTRL to guests")
> Fixes: 478e4787fa64 ("x86/spec-ctrl: Expose RRSBA_CTRL to guests")
> Fixes: 583f1d095052 ("x86/spec-ctrl: Expose BHI_CTRL to guests")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:30:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:30:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702473.1097513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCUF-0007Pi-PT; Tue, 09 Apr 2024 14:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702473.1097513; Tue, 09 Apr 2024 14:30:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCUF-0007Pb-Mx; Tue, 09 Apr 2024 14:30:11 +0000
Received: by outflank-mailman (input) for mailman id 702473;
 Tue, 09 Apr 2024 14: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=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruCUF-0007PV-5a
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:30:11 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aabc5fa7-f67d-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 16:30:09 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-345600106d3so2103056f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 07:30:09 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e8-20020a5d4e88000000b003438cc1d2b4sm11615040wru.59.2024.04.09.07.30.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 07: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: aabc5fa7-f67d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712673009; x=1713277809; 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=DdpsnSMgSmCBcCOSRRou9HJURRfhbFWPT4Myu8GjPFo=;
        b=VyZdygHAXX73Ik9lY9Cftg9otYrBV0H+0hNV48WKmGUkxgBGkhmmQaoMh3Eg0fF4/1
         ZZ2eqvN6GKyIhJKWEAlB0EW4Zx7YLBVGa7wd8wU6/Yixp/bcj75R2BGiy+JCAeqGaJCP
         j4QnpoM1uPYIyRnjJav4a4hfrJ/dN3vnbv8qc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712673009; x=1713277809;
        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=DdpsnSMgSmCBcCOSRRou9HJURRfhbFWPT4Myu8GjPFo=;
        b=HjXK74FC1AZJnGVAqEBeqAfu6OBerz5qT7RxNXlLQarD4ChwDBl/NwVb5RqRFzdC/j
         HA9wcjuONRhSv9kuzWCtaEr0JuB5E/JjDmvdR6GLO97kq//mwAvmVHm7EllT6oz9LfNB
         3Z3wcDlubDNjMjaANHRrH7E4kiJPncaQNrAaQAnUVkN8Xb998SmeIipYnnT9/1SJMJH/
         H3I0atZM3etrpVgEdxE9CRCciGgoi+ODDHoy+fu+Ik9dIpdUHYyfbC4wR7rOfK7WXrp8
         cZcCgFZF+inclVgdFU8yEeQKJ0ONKm3QfUlbX7A2KNuwR1/+ShzwhSrwsSAhHQ5r7iOU
         +PoA==
X-Gm-Message-State: AOJu0YwjulyvgpWrQUnliqRi5KcIdITQ+GbpPU/ZCGI7983bb5pHwOH0
	SsF7dvr+UYIR6Yoc0OLkUkHA/Co/XFmjQI3gLP5y2eqL9+TDLuLHaFw4a3LE3PA=
X-Google-Smtp-Source: AGHT+IFjUSOQCxiMX0fQ0/W69U1/+OW3c2/u8oRYof7jnKbyQRzpHGM7DVPn7LhdVnPaOm2UZgCW0A==
X-Received: by 2002:a5d:5283:0:b0:346:44:3910 with SMTP id c3-20020a5d5283000000b0034600443910mr2646164wrv.49.1712673008612;
        Tue, 09 Apr 2024 07:30:08 -0700 (PDT)
Date: Tue, 9 Apr 2024 15:30:07 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v2 2/6] tools/misc: rework xenwatchdogd signal handling
Message-ID: <cbad8e28-23a2-433f-b70d-bd71efdc5ee6@perard>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-3-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240329111056.6118-3-leigh@solinno.co.uk>

On Fri, Mar 29, 2024 at 11:10:52AM +0000, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Rework xenwatchdogd signal handling to do the minimum in the signal
> handler. This is a very minor enhancement.
> 
> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:31:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:31:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702475.1097523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCVj-0007vS-2f; Tue, 09 Apr 2024 14:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702475.1097523; Tue, 09 Apr 2024 14: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 1ruCVj-0007vL-0A; Tue, 09 Apr 2024 14:31:43 +0000
Received: by outflank-mailman (input) for mailman id 702475;
 Tue, 09 Apr 2024 14:31:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruCVi-0007vF-6u
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:31:42 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0ed7330-f67d-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 16:31:40 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-346406a5fb9so329410f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 07:31:40 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r12-20020a056000014c00b00346406a5c80sm893404wrx.32.2024.04.09.07.31.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 07:31: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: e0ed7330-f67d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712673099; x=1713277899; 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=oU8cB650JDaWg09dhytPehC+d6uZFyQIz1ZV2q/jBIk=;
        b=J2mnpB054UTNnfn6NJqZi/iZDKQ22mbAZ3BNXb7ihgRkHKKwzOqXA0M9pwD7rEKEwx
         +W/hhT73g2VkjlJk3/codPM0xsonrjUJeo7beiZp2TtRwd1PtWFqFd/ToRyoPnx12R+Z
         1E4t9pEfvmoqjtgd/5RbFa/wKw22Slnlq6U4Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712673099; x=1713277899;
        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=oU8cB650JDaWg09dhytPehC+d6uZFyQIz1ZV2q/jBIk=;
        b=mJ8v9z63uRIbRGBjP0znTVNHS6B++Ji893aNhNNVPCiyxhTGBAPO8IbSMz8TUtIHZh
         fh5x/De5hAXxOV11i49BVPR8y0RUQa8zcm69V0t2C3GF1SPPeJEuCeq7a0jpbNzHiCr8
         Y/JQk91oYIPJkOrEZmk9PJv/g/UQR6yFOABbNxyXa7NyG+3RpxnQr2X3DU1LxwBbaR2F
         2bjg16tWttj9P9BiRpCtjT91+0I4I9q2Nn+gQdLXz9cQdbKbZbETQbiQIZXenr/eXYHU
         dhT6or3USzcxsGZ+XeNlV00/42ioTPVoCdwzmMPglj57ZY1/9+QorByif3PmuWlzaUnd
         jtZQ==
X-Gm-Message-State: AOJu0YynEF0q/Sy/PM/10Y2SfE9NH5DxUjRDVocS5uae4jvjrrRMSKWu
	w9J8yJfcg8rQf30soxglg4HQZXz7Iv4JZ1qnivMtPx9nF6AnvQ56tMM0UlnywXY=
X-Google-Smtp-Source: AGHT+IGLKiEu24hi791vfokjn1Ssk/9rC0MaRHPUSsMUyQgeJ2hsBHsKQ69PuxtBAGVJggjb8fOKtw==
X-Received: by 2002:adf:f6cd:0:b0:343:81ea:c534 with SMTP id y13-20020adff6cd000000b0034381eac534mr8205366wrp.64.1712673099594;
        Tue, 09 Apr 2024 07:31:39 -0700 (PDT)
Date: Tue, 9 Apr 2024 15:31:36 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v2 3/6] tools/misc: xenwatchdogd: add static qualifier
Message-ID: <ff5915d2-1024-4a52-9771-d265b64f5858@perard>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-4-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240329111056.6118-4-leigh@solinno.co.uk>

On Fri, Mar 29, 2024 at 11:10:53AM +0000, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Make all functions except main() static in xenwatchdogd.c. Also make
> the remaining global variable static.
> 
> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:35:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:35:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702479.1097539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCZB-00016O-Oc; Tue, 09 Apr 2024 14:35:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702479.1097539; Tue, 09 Apr 2024 14:35:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCZB-00016H-JZ; Tue, 09 Apr 2024 14:35:17 +0000
Received: by outflank-mailman (input) for mailman id 702479;
 Tue, 09 Apr 2024 14:35: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=zydU=LO=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1ruCZ9-00016B-Q8
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:35:15 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60de3a56-f67e-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 16:35:14 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-56e69a51a33so1667287a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 07:35:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60de3a56-f67e-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712673314; x=1713278114; 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=GxP/xLOSQE4DlqjS6hxD6RpV28qNSWUAHdA1VliyOg0=;
        b=zlHNPrA0nNq8HSQt08B6M+Bx0blVYyygdRBmjhbANf8F2dG+bM3E3sjWpQ9tzL4T/f
         wVeUo1A1eJiz7XynpcK8v6uh9/6lwQdC4DlM9wK1yM0O4afa4KZP7H9FafceuC07o00m
         lOS7I6efIwIt3JmvHlj1IALTH/G0aOHWYqtxsIrCSac54z5V4jmB+D2abIBw05sjhDDC
         Hv4PN0DpJ8ew7ohx+KrPqBxJQ6moRCOUXCAj+4j+L8HbfFxgTfdKm4n4g1ugksuOoUJk
         m+QQu9OUm5xmR+BqsjzOWwE3fMHMWamgS45mbT+hcH+zTwOgrqFQjRb0gPC9a9RV9m31
         i3ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712673314; x=1713278114;
        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=GxP/xLOSQE4DlqjS6hxD6RpV28qNSWUAHdA1VliyOg0=;
        b=MfFHuXT9Y8O3k3u2mZusvsFdozFDWY/hE984gG00i2SdU1Ty1rUEYVZzdgIm8LxCMH
         WY9Gp55Zvlj8mJFP4SiI4OdN6fkAbm3OCzYhhEjqWL7PtILx6pqgVYWkUBB8zo30ueLY
         x/7J+EJ+IxWmvIgwC5He3QvTxUaTIuEFo/EEW6RDBBYM+h1MBr+Qzc6sX+VuezjxQdNI
         EeRqYq5RWalqjaISUqJ51nF/I9CT9w3vFdCUPPoergtLXI7LDp3MUI6g0uhiAAAMBkRc
         Xai1P2bQ1VRrM4NPvzGqotokBi3XrAcFj8iO9ZGS9RRsCpiuSvQcb+gqcTwOsZi6l3SS
         SIVg==
X-Forwarded-Encrypted: i=1; AJvYcCU4uv4aNvfTyYQqgSqTCK8DAPdXVl4j5/w3a39mkA6z7e7p+SaBhW1MW0TmD1sr26AzMSm9PSwzxbytKPWIIHiltQJgmEVCPxtbYOVdFWk=
X-Gm-Message-State: AOJu0YyhHDLrKz4GAKPAYdFQ6R3eH/IfmFc9SpqQZA7T5mKBzJ/EhCeR
	VrHBovfl5TvTwMoxOG/Fgf5EsLaIAllT9bjOo/OhZTewW/ZfVWNF0GEXUnPlw3kIH6DqXNYowz3
	35CBZrQRzCSTzYPv7NRHmuqv3fN39/1/M/tlEgw==
X-Google-Smtp-Source: AGHT+IECGSkbWKFSnYTrHx1muxALrruUoMZs6nDrfynceIA6/aSeJRRdgHOQklv/+WejsjqIX4AQOqSvzB4xb/UQwsE=
X-Received: by 2002:a50:cd5d:0:b0:56e:2464:7c41 with SMTP id
 d29-20020a50cd5d000000b0056e24647c41mr9418694edj.19.1712673314113; Tue, 09
 Apr 2024 07:35:14 -0700 (PDT)
MIME-Version: 1.0
References: <20240404140833.1557953-1-ross.lagerwall@citrix.com>
 <90f07634-1600-4654-8e36-7ac9e2f457e8@perard> <CAG7k0EqJvVZJUNaf31Jd1ZfwvOon8saNbtHofon=VvB6gpj9qw@mail.gmail.com>
In-Reply-To: <CAG7k0EqJvVZJUNaf31Jd1ZfwvOon8saNbtHofon=VvB6gpj9qw@mail.gmail.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Tue, 9 Apr 2024 15:35:03 +0100
Message-ID: <CAFEAcA9LzTTO=H6CB26-wVAFJg5xvq8tpkrKOY_D57376NNfkw@mail.gmail.com>
Subject: Re: [PATCH] xen-hvm: Avoid livelock while handling buffered ioreqs
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Anthony PERARD <anthony.perard@cloud.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org, qemu-devel@nongnu.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 9 Apr 2024 at 15:20, Ross Lagerwall <ross.lagerwall@citrix.com> wro=
te:
>
> On Tue, Apr 9, 2024 at 11:20=E2=80=AFAM Anthony PERARD <anthony.perard@cl=
oud.com> wrote:
> >
> > On Thu, Apr 04, 2024 at 03:08:33PM +0100, Ross Lagerwall wrote:
> > > diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> > > index 1627da739822..1116b3978938 100644
> > > --- a/hw/xen/xen-hvm-common.c
> > > +++ b/hw/xen/xen-hvm-common.c
> > > @@ -521,22 +521,30 @@ static bool handle_buffered_iopage(XenIOState *=
state)
> > [...]
> > >
> > >  static void handle_buffered_io(void *opaque)
> > >  {
> > > +    unsigned int handled;
> > >      XenIOState *state =3D opaque;
> > >
> > > -    if (handle_buffered_iopage(state)) {
> > > +    handled =3D handle_buffered_iopage(state);
> > > +    if (handled >=3D IOREQ_BUFFER_SLOT_NUM) {
> > > +        /* We handled a full page of ioreqs. Schedule a timer to con=
tinue
> > > +         * processing while giving other stuff a chance to run.
> > > +         */
> >
> > ./scripts/checkpatch.pl report a style issue here:
> >     WARNING: Block comments use a leading /* on a separate line
> >
> > I can try to remember to fix that on commit.
>
> I copied the comment style from a few lines above but I guess it was
> wrong.

Yes, this is one of those cases where we've settled on a
style choice but there's still quite a lot of older code
in the codebase that doesn't adhere to it. Checkpatch
usually will catch this kind of nit for you.

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 14:38:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 14:38:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702485.1097547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCbr-0001f1-34; Tue, 09 Apr 2024 14:38:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702485.1097547; Tue, 09 Apr 2024 14:38:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruCbr-0001eu-0I; Tue, 09 Apr 2024 14:38:03 +0000
Received: by outflank-mailman (input) for mailman id 702485;
 Tue, 09 Apr 2024 14:38:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0lRi=LO=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ruCbp-0001em-Pr
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 14:38:01 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2606::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c35f2241-f67e-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 16:38:00 +0200 (CEST)
Received: from DU2PR04CA0313.eurprd04.prod.outlook.com (2603:10a6:10:2b5::18)
 by PAVPR08MB8821.eurprd08.prod.outlook.com (2603:10a6:102:2fc::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 14:37:54 +0000
Received: from DB5PEPF00014B9D.eurprd02.prod.outlook.com
 (2603:10a6:10:2b5:cafe::32) by DU2PR04CA0313.outlook.office365.com
 (2603:10a6:10:2b5::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Tue, 9 Apr 2024 14:37:54 +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.7452.22
 via Frontend Transport; Tue, 9 Apr 2024 14:37:54 +0000
Received: ("Tessian outbound ff4e98f65004:v300");
 Tue, 09 Apr 2024 14:37:53 +0000
Received: from f3db432659a2.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 951DC119-5118-489F-AB96-C4CE62E48EFC.1; 
 Tue, 09 Apr 2024 14:37:48 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f3db432659a2.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 09 Apr 2024 14:37:48 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB8565.eurprd08.prod.outlook.com (2603:10a6:20b:568::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 14:37:46 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%5]) with mapi id 15.20.7409.053; Tue, 9 Apr 2024
 14:37: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: c35f2241-f67e-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=aj3snASZVxp8X36NmNkNJ4xVDHDuYfh2Kro1stP5KtwkR2hbN9ImQGAhCfso5/5FhmX1srFpXwUMyOBzP/VV2RVvqGNFciPVmZ00+VbKbpSt/dC7IgI8reKeBjVzjUIVIzsI9CcPBaYcfWu20/Pthut4sOeOSSFosxrfENKJXLG/g+WzIfHmfI54KQGb0K6u89jBZ9zbeKzT7Rx9CalZv3dSvGhGU50GFD1O68j6UUS11oQPnbj/mD08FxRRel12yqukdk4DAvqUEm50QClXGSn0QlV5WFuFfQnRnJOABnswMaQbPz3ibVm0c2IACibqwI4qY5RVmW5hcynSojM03g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pG+vC1Pu0qLn7IahqeWMalRGteEWL1LJMGbyUbwFqQ0=;
 b=nlBUnQYLMphaLOT1GtztrGN2P6E/2JxwaGJVad/1w713P68pwTO5dsFeXMp5l4VKpLzdXpJkHRyt2Ry/hPPDiEMzCJ9JmFTveYI5Vo+Ffiv5FCzGfQe4qRUi+PDeQKZ3s/WV2loUReO+cEObrQxaj3GNeWm1A9nEafXkqKpe+HacFGxMumEopB4BXQp32Cq7HBm2eaOp9TvrYehZleT/u339CvU8c4esNpLgR5tbwQUauvYaNvh4PMEkrbQsSyd2dqj+t8k2v7u7+14AijP9tScrO91BtyPyRlAU2ox0M9/Z9nopZuKeHpSLzxi+4YPbDaUNlw75QWezRUUKeZe4Nw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pG+vC1Pu0qLn7IahqeWMalRGteEWL1LJMGbyUbwFqQ0=;
 b=iizWo5k7p9L2qb8d7nD8ca07RwykdOw09ODJZ0p0yifWhvd3LciU2vX84e/eT38EvepArW1oI5PTZABtekZdEnBmV3V7ysUtlZ6XY2yeph5hWhANQzehZ880YwpgO0dJK9vUhB5JIAYRP+5U9lDVNMbXwb9Hsojb6z1+2MZ3PaQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 8e29d77798d7127b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K6Ciqfe/t98u5g2Devhi8ZjWVbOfZj364IPQn0zuKFeFNjRrCvlpvEE3+zGQASAs13++K2o7Fq9q9eDbrBGDTPFZFJ5JrpGjRJ+b1UHloqQUQAp77SMIJAcXJV00v26QJKzEiEYw3qfJO++I2yzJG2FQeqNkgKST/JLn6h5KmnERJNmRVCCJACVAK7OVRCUFr0KqwClH/S7a7FcUqIN0sqSCKjK5EawcvpdYTN3IOqHjkq8TTqvEDFRWhWP3Ewn0qSr0ouJTJCDnvDoc5OlijImNsA/SsR+Eg8gqq2/0WXSjzUn1nlisbhN7kAmTS/2Mg5zh7MiToqGm3NkBN6zq5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pG+vC1Pu0qLn7IahqeWMalRGteEWL1LJMGbyUbwFqQ0=;
 b=f8JQwg/zfQppYRFtfcIb26Nz8RTIkMETGxm+IP0vdHs+Pmn0PzDELKS/gwtYI9Yw4hL93VQmTpVAeI9aPSkYm8V8OkpRSPYulcfKF7BY60iZLsCB+xNDKhUbspOScVcOoBBuDdzAbqMZbGFVe012vfyfMLtdCeozIU4WTvDwAVbp0RkOzBfjv8019TwtYE0QLqyCuNHJgl0kJ9Py6dTS34mDm+YBEkbDH7j7Erxas9ALuWBpJdgHrDJq+ngZdnlXwjVl9diRV+wzM1SMQXqA9Oy1JrMzqACqwmtfh1b/k6VEtR2CAxGNkqmD/mJrZ+wbFEwiNB/m/mXFnS6l8BZy/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pG+vC1Pu0qLn7IahqeWMalRGteEWL1LJMGbyUbwFqQ0=;
 b=iizWo5k7p9L2qb8d7nD8ca07RwykdOw09ODJZ0p0yifWhvd3LciU2vX84e/eT38EvepArW1oI5PTZABtekZdEnBmV3V7ysUtlZ6XY2yeph5hWhANQzehZ880YwpgO0dJK9vUhB5JIAYRP+5U9lDVNMbXwb9Hsojb6z1+2MZ3PaQ=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 06/13] xen/arm: Avoid code duplication in
 find_unallocated_memory
Thread-Topic: [PATCH v2 06/13] xen/arm: Avoid code duplication in
 find_unallocated_memory
Thread-Index: AQHainOJn9rbiVDC1UmGGgx4oNVl2bFf8W4AgAAQl4A=
Date: Tue, 9 Apr 2024 14:37:46 +0000
Message-ID: <C945CE60-22BB-4D79-94B4-74ACBC349595@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-7-luca.fancellu@arm.com>
 <611fb8ea-1b2f-487e-956f-0aba716912c3@amd.com>
In-Reply-To: <611fb8ea-1b2f-487e-956f-0aba716912c3@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB8565:EE_|DB5PEPF00014B9D:EE_|PAVPR08MB8821:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 KBQ5lVDX7hvwkI7JVsGGHZNXFLa4zSCxPEI/6yzZWRdImvmsvBIfjRsElAe6WmmNYLimS3s0+KV5HPpt1Qbnld+rQuIRm++4T0hLB8yilAf3rHfLGsKcuhd0hFKt6qECqnKEZDEpkcTfXkHJD+ELmtTVMk+6V6XQGaL84N8uTbhIdFIRzo+g9mz3ecVmc6IluTIPzGLTHe6AgKnQX9iHRbTJVGXdmTJu1VAsckdzpNsauUGhpqpscZWg4HXKxCa7kYMYho6LF8anfAxsD57JoFphPDuqPGsKylmGCU7kbtimi6qAjjDe734B+pmintD2+wPjmeMZhKvXJHYqUwPyHBOz/VIlKxa7rUfs1PJKQ9zkUoZvAw4dXwPqTVALnTfKJxe3seXb/jtANL6/stRUR3NyyE2fFAVwpUk3qUPbaDWRv3Bv5cvtZcf6e4jV6tHQHyd7S40C9TjkmGjfrybIFmEN2JCadQ6cEHwO4Q06QmYmSPdqwcBSlPhWsNJGE69wEhPao0gZi9sbTyYK0Ugoxv7Sod96H1arjInXekNG/9OAYCOalbuie7NhVB9jM8Rq0w+aQTD1QBCjeAnJxTe10BdXD2AiCPLIj1vcH36gzMvwkm6IJSFdMdU3UVamorULmrET9ch7+B2QbZ1AjMYHBozpbAczl3fkrU1IByb1LTk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(366007)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <B79A4D340D007B4B8D9D6086EBC6B97D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8565
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B9D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 94f3c7b2-87e1-4ddb-1a3a-08dc58a2a41a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tjFJgJKDbOGr/lcxYiyVuWgNX5glnNRIXkq5azH9XgTSwzvfNJTlUipUroeOQEnNC2aOdMyN3KR61X+lE7bDROngGej8Kl8WeI1aFotepbkXR6SvUcwa0wdU/lGhPUXI0wn+PYkBNpcLPqfYLMBP0FkJMkOTdoRQVdlyqhlb3gr8LVTz54KdH85xqaGcppFEaO77eWhx3ch9O4CZjM92BJdt8G7NX175+b0+Aox/SU7Ja3LoU/qPRP6QjzbW2Y9xggXHOXKKPIl6qstlrTbVo/pwJ3c+lgFOeXDkODmXXucZxLQGoSCv0A7Y35Nub4aUNXYmC4Dbn2gwO0wIhcb1wW6QRtFNmfczbg17CCqvBEJXzrN0NTZdf6TGl8AewXhuXPGzBGLM9TpY6YcWgbzIuB7lkm3P3b67wDYi10ThejndBAy1w1spA8axDbigh/POA/5ejPaId/kn/0WmLWmqsjws0T4T2fiMDkjdOZ/uDVh5ZRwJhjeCn375c8PqZPj9ztYLZ0UkFMsX3QXIWhtwCVj7HbZ59aSr6WCr8LqArxhj9/5k12QYN/bVJVRlNvcrh+s2pGuC37ztfIlEPgpxzenogPNhE6aluQ/cYABI0zQsCxjiR2LCJ16PsWQq0g5YsINd96RHHbZ9T3EfCiVAu6rHETGzWDGC0D9hlZipCbUQoupUnPZ2tTCfXxFzr4qSCxgAvlNh2MACudBl2QAzsDjcuNUjN8/DVoseZeSKvWaJWxV6YEPllKGR3pBpgX3t
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 14:37:54.0888
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 94f3c7b2-87e1-4ddb-1a3a-08dc58a2a41a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: PAVPR08MB8821



> On 9 Apr 2024, at 14:38, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Luca,
>=20
> On 09/04/2024 13:45, Luca Fancellu wrote:
>>=20
>>=20
>> The function find_unallocated_memory is using the same code to
>> loop through 3 structure of the same type, in order to avoid
>> code duplication, rework the code to have only one loop that
>> goes through all the structures.
>>=20
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>> v2:
>> - Add comment in the loop inside find_unallocated_memory to
>>   improve readability
>> v1:
>> - new patch
>> ---
>> ---
>> xen/arch/arm/domain_build.c | 70 +++++++++++++------------------------
>> 1 file changed, 25 insertions(+), 45 deletions(-)
>>=20
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 57cf92668ae6..269aaff4d067 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -869,12 +869,14 @@ static int __init add_ext_regions(unsigned long s_=
gfn, unsigned long e_gfn,
>> static int __init find_unallocated_memory(const struct kernel_info *kinf=
o,
>>                                           struct membanks *ext_regions)
>> {
>> -    const struct membanks *kinfo_mem =3D kernel_info_get_mem_const(kinf=
o);
>> -    const struct membanks *mem =3D bootinfo_get_mem();
>> -    const struct membanks *reserved_mem =3D bootinfo_get_reserved_mem()=
;
>> +    const struct membanks *mem_banks[] =3D {
>> +        bootinfo_get_mem(),
>> +        kernel_info_get_mem_const(kinfo),
>> +        bootinfo_get_reserved_mem(),
>> +    };
>>     struct rangeset *unalloc_mem;
>>     paddr_t start, end;
>> -    unsigned int i;
>> +    unsigned int i, j;
>>     int res;
>>=20
>>     dt_dprintk("Find unallocated memory for extended regions\n");
>> @@ -883,50 +885,28 @@ static int __init find_unallocated_memory(const st=
ruct kernel_info *kinfo,
>>     if ( !unalloc_mem )
>>         return -ENOMEM;
>>=20
>> -    /* Start with all available RAM */
>> -    for ( i =3D 0; i < mem->nr_banks; i++ )
>> -    {
>> -        start =3D mem->bank[i].start;
>> -        end =3D mem->bank[i].start + mem->bank[i].size;
>> -        res =3D rangeset_add_range(unalloc_mem, PFN_DOWN(start),
>> -                                 PFN_DOWN(end - 1));
>> -        if ( res )
>> +    /*
>> +     * Exclude the following regions, in order:
>> +     * 1) Start with all available RAM
>> +     * 2) Remove RAM assigned to Dom0
>> +     * 3) Remove reserved memory
> Given this commit and the previous code, I expect one call to rangeset_ad=
d_range() and
> 3 calls to rangeset_remove_range(). However ...
>> +     * The order comes from the initialization of the variable "mem_ban=
ks"
>> +     * above
>> +     */
>> +    for ( i =3D 0; i < ARRAY_SIZE(mem_banks); i++ )
>> +        for ( j =3D 0; j < mem_banks[i]->nr_banks; j++ )
>>         {
>> -            printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr=
"\n",
>> -                   start, end);
>> -            goto out;
>> -        }
>> -    }
>> -
>> -    /* Remove RAM assigned to Dom0 */
>> -    for ( i =3D 0; i < kinfo_mem->nr_banks; i++ )
>> -    {
>> -        start =3D kinfo_mem->bank[i].start;
>> -        end =3D kinfo_mem->bank[i].start + kinfo_mem->bank[i].size;
>> -        res =3D rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
>> +            start =3D mem_banks[i]->bank[j].start;
>> +            end =3D mem_banks[i]->bank[j].start + mem_banks[i]->bank[j]=
.size;
>> +            res =3D rangeset_add_range(unalloc_mem, PFN_DOWN(start),
> ... here you always call rangeset_add_range() which is wrong. For direct =
mapped domain
> you would e.g. register its RAM region as extended region.

Right, I read it wrong initially, my mistake, here we are adding all availa=
ble ram and later removing the dom0 regions
and reserved regions. Will fix

>=20
> ~Michal



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 15:14:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 15:14:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702495.1097558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDAu-0000iq-O0; Tue, 09 Apr 2024 15:14:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702495.1097558; Tue, 09 Apr 2024 15: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 1ruDAu-0000ij-Kd; Tue, 09 Apr 2024 15:14:16 +0000
Received: by outflank-mailman (input) for mailman id 702495;
 Tue, 09 Apr 2024 15:14:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruDAt-0000hs-UR
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 15:14: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 d3a51097-f683-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 17:14:14 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4169ebcc924so7954415e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 08:14:14 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u12-20020a05600c19cc00b0041469869d11sm21105360wmq.47.2024.04.09.08.14.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 08: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: d3a51097-f683-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712675654; x=1713280454; 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=5d+8phuU62rSILC7GcY2dmqF0ruh/s7CXWR432xzIOs=;
        b=XQ+ZkXxjzts8QQtuDGhNufhltLOqXy8hg9bJv7l7tngV+RjgkAYPLez/JPlfHgJVSf
         G32cKdwdacCypmw1md19dPWFts7M0LHNJSKJ4hI64326Ld4fSB4zSJxKw0IcJvjX6zfP
         xaaXIr34yR7XUV3+4lsKnaBB2gYIo97ppZlHw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712675654; x=1713280454;
        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=5d+8phuU62rSILC7GcY2dmqF0ruh/s7CXWR432xzIOs=;
        b=Bkk4nKBWja3p5JFlfUpnIMMRCLmRNMSRLHKxSp3nWqHfEh3LI//66wcqtmYYprTHqt
         evmlB3TK7NMzMgfaXy58cacxcQVgqu0H0ntC/LSU/pmLsvlkE2OaDFv/1ZAmarfqGvTI
         F+6t3dhk7Ssq0AMKb2nF5jpc2fNfzr3lXXFRw+TSETkYkKS4pgxav1w/XSgNbUHq1gGf
         8YGsjBr0VJM015BZEz/U+YNoc8zaDO0rn9YyN6wMAmzJ9JD3S5MAPSn+cbZoYhIT0b7U
         foA0lLvLErp3MXgeidEiG13IJZWWUcINSRyHc6q8kXALRn+NpVFGPnqHjlnAE69PhlKG
         wR9g==
X-Gm-Message-State: AOJu0YxLllmwH4Dpd9JF+R+aFVB17AlLDnr6JX0v9B2yNWK22K+EHM/M
	3kKu9cCkSGhE6aEqJdR25jIYbfCAvl1sJwnMREtw1PkCnMaiDwA0ZMrcfjIb6Y8=
X-Google-Smtp-Source: AGHT+IEFDsSF3CwrXTOTPwxVSOjHo5dstCQG8F8UckQtxdryWfCT1RlkJaUAVKC/9U+MtEt2G5CwQQ==
X-Received: by 2002:a05:600c:3504:b0:416:bc6d:e8bb with SMTP id h4-20020a05600c350400b00416bc6de8bbmr45151wmq.0.1712675654118;
        Tue, 09 Apr 2024 08:14:14 -0700 (PDT)
Date: Tue, 9 Apr 2024 16:14:12 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v2 4/6] tools/misc: xenwatchdogd: add parse_secs()
Message-ID: <3af3ed44-575c-47b7-9ef7-76be6e9889c0@perard>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-5-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240329111056.6118-5-leigh@solinno.co.uk>

On Fri, Mar 29, 2024 at 11:10:54AM +0000, leigh@solinno.co.uk wrote:
> diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
> index 2e7f9f51c5..19ec4c5359 100644
> --- a/tools/misc/xenwatchdogd.c
> +++ b/tools/misc/xenwatchdogd.c
> @@ -49,6 +49,18 @@ static void catch_usr1(int sig)
>      done = true;
>  }
>  
> +static int parse_secs(const char *arg, const char *what)
> +{
> +    char *endptr;
> +    unsigned long val;
> +
> +    val = strtoul(arg, &endptr, 0);
> +    if (val > INT_MAX || *endptr != 0)

nit: '\0' would be more accurate       ^ here.
Otherwise, just `*endptr` without "!= 0" would work too.
But comparing a char to a digit feels wrong.

> +	errx(EXIT_FAILURE, "invalid %s: '%s'", what, arg);
> +
> +    return val;
> +}
> +
>  int main(int argc, char **argv)
>  {
>      int id;
> @@ -64,16 +76,11 @@ int main(int argc, char **argv)
>      if (h == NULL)
>  	err(EXIT_FAILURE, "xc_interface_open");
>  
> -    t = strtoul(argv[1], NULL, 0);
> -    if (t == ULONG_MAX)
> -	err(EXIT_FAILURE, "strtoul");
> +    t = parse_secs(argv[optind], "timeout");
>  
>      s = t / 2;
> -    if (argc == 3) {
> -	s = strtoul(argv[2], NULL, 0);
> -	if (s == ULONG_MAX)
> -	    err(EXIT_FAILURE, "strtoul");
> -    }
> +    if (argc == 3)
> +	s = parse_secs(argv[optind], "sleep");

This is parsing the wrong value here, should it be +1 to parse the sleep
argument instead of the timeout argument a second time.

Also, are you sure you want to start using "optind" here? It's a
variable used by getopt(), but we don't use it yet. It almost feel like
"optind" happen to be set to 1 by luck.


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 15:36:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 15:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702502.1097583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWb-0005aT-3d; Tue, 09 Apr 2024 15:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702502.1097583; Tue, 09 Apr 2024 15:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWa-0005Zp-Th; Tue, 09 Apr 2024 15:36:40 +0000
Received: by outflank-mailman (input) for mailman id 702502;
 Tue, 09 Apr 2024 15:36:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=n+OA=LO=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruDWZ-0005IN-Oz
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 15:36:39 +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 f4456e89-f686-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 17:36:38 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a5200202c1bso73898366b.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 08:36:38 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 gs44-20020a1709072d2c00b00a46a3ad035esm5849000ejc.179.2024.04.09.08.36.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 08:36:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4456e89-f686-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712676997; x=1713281797; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2oUmASxTp+9g/nhjEeQPRm9Cad1umKqLTvyNY/+uRUE=;
        b=E+guPPP4NS6AjQTZ5xJbP015XBPfd+EXo9xJGDnzZWWTxfJgskyeX17wV4cGYdf7NC
         dB9gvH9Ij/6OUGF/9VUNe1EA1gSVLzqzd9oAbrFh2t9/CtOUt/PZp0mLWQ19p/uuZzZo
         f99ZMPea97mEQU574Z+4S3NYFoH2C1QkwGQC42WkOQpm9/He0+kkWjvcsJ6WGHuiQC15
         cVSEwP5IvBKXviPuAm++ZdqLyiLoOaQ2X463f1M0B2TAaOj0gCGH8qjMYCFbXisTvy2K
         fZi4dsWjp7f79T/ms7UF7ItWNJRo9UhgzBPeKMD6Hei5ltfn+qg4buV2/wwbTBernPoM
         1Ceg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712676997; x=1713281797;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2oUmASxTp+9g/nhjEeQPRm9Cad1umKqLTvyNY/+uRUE=;
        b=tqOwrThUUTDekfCQ+29BaxCtO87fxfkLMIqlH0nmPlHY+6F16oDw/DLi6LYCxK4M4+
         L9g5o2jblm0gG06goKYhjPpdiKWPGp9F1QmjyYAaOnONKLxsBfXlVfQ9n9UkUd8S7Kcr
         2uvgvwsulXCfgFrVxobRuDV59KRygArRVSNx52DxJfBz4h7J1v8dCQslis0+73swINSH
         ywX4G+2u3g4xwVzXTkjdRZE5kCmdBf38Te3c82I8Fqd621TSwQKdIkuXb9+DzrxQvyJL
         4Lwd4gM6V2Ax6Mm+8CmfXffgjzlJ65R9ipUv1w6NgeOLLgs52fg3QFkr8QhLvsvrekfK
         QBzA==
X-Gm-Message-State: AOJu0Yy0/Lb4RzaCew8a2RdJB3NWihxNn8MsTLGC5CBz9eNWyR3EIUt3
	M7Cd2CIrW1S7nqGe9arrlEK36TCyuu5f5Wiwrec0xC1fnLFkk2ugr+iiV7rXMHBoqMVlp5j+OCK
	s
X-Google-Smtp-Source: AGHT+IGbto1wNOCGSVxLb+C98WA2o9ISJr0k/9kSL+BzB/yrxIQfwl4kANp2eL8ONh7P0r3LzcNXAQ==
X-Received: by 2002:a17:907:72c4:b0:a46:dd30:7cb5 with SMTP id du4-20020a17090772c400b00a46dd307cb5mr11754671ejc.76.1712676997351;
        Tue, 09 Apr 2024 08:36:37 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v1 2/5] xen/arm: ffa: use ACCESS_ONCE()
Date: Tue,  9 Apr 2024 17:36:27 +0200
Message-Id: <20240409153630.2026584-3-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409153630.2026584-1-jens.wiklander@linaro.org>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace read_atomic() with ACCESS_ONCE() to match the intended use, that
is, to prevent the compiler from (via optimization) reading shared
memory more than once.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/tee/ffa_shm.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index eed9ad2d2986..75a5b66aeb4c 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -7,6 +7,7 @@
 #include <xen/sizes.h>
 #include <xen/types.h>
 #include <xen/mm.h>
+#include <xen/lib.h>
 #include <xen/list.h>
 #include <xen/spinlock.h>
 
@@ -171,8 +172,8 @@ static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
 
     for ( n = 0; n < range_count; n++ )
     {
-        page_count = read_atomic(&range[n].page_count);
-        addr = read_atomic(&range[n].address);
+        page_count = ACCESS_ONCE(range[n].page_count);
+        addr = ACCESS_ONCE(range[n].address);
         for ( m = 0; m < page_count; m++ )
         {
             if ( pg_idx >= shm->page_count )
@@ -527,13 +528,13 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
 
     mem_access = ctx->tx + trans.mem_access_offs;
-    if ( read_atomic(&mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
+    if ( ACCESS_ONCE(mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
     {
         ret = FFA_RET_NOT_SUPPORTED;
         goto out_unlock;
     }
 
-    region_offs = read_atomic(&mem_access->region_offs);
+    region_offs = ACCESS_ONCE(mem_access->region_offs);
     if ( sizeof(*region_descr) + region_offs > frag_len )
     {
         ret = FFA_RET_NOT_SUPPORTED;
@@ -541,8 +542,8 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     }
 
     region_descr = ctx->tx + region_offs;
-    range_count = read_atomic(&region_descr->address_range_count);
-    page_count = read_atomic(&region_descr->total_page_count);
+    range_count = ACCESS_ONCE(region_descr->address_range_count);
+    page_count = ACCESS_ONCE(region_descr->total_page_count);
 
     if ( !page_count )
     {
@@ -557,7 +558,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
     }
     shm->sender_id = trans.sender_id;
-    shm->ep_id = read_atomic(&mem_access->access_perm.endpoint_id);
+    shm->ep_id = ACCESS_ONCE(mem_access->access_perm.endpoint_id);
 
     /*
      * Check that the Composite memory region descriptor fits.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 15:36:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 15:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702501.1097578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWa-0005X9-Pg; Tue, 09 Apr 2024 15:36:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702501.1097578; Tue, 09 Apr 2024 15:36: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 1ruDWa-0005X2-MJ; Tue, 09 Apr 2024 15:36:40 +0000
Received: by outflank-mailman (input) for mailman id 702501;
 Tue, 09 Apr 2024 15:36:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=n+OA=LO=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruDWZ-0005IN-41
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 15:36:39 +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 f3be7998-f686-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 17:36:37 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a44665605f3so658896566b.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 08:36:37 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 gs44-20020a1709072d2c00b00a46a3ad035esm5849000ejc.179.2024.04.09.08.36.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 08:36:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3be7998-f686-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712676996; x=1713281796; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tq93WPQosnJ9mNzaU1t6RTCuYLzdJLsCMqw2tR2kTUc=;
        b=dn0myULHZ1TQtYEf4eDWraP2MQK56OXDIPpGPR7qc2i8HV1OeYHFRIoM5Cv5L9f6Le
         HRRtMYSh8rr1bEydGfsxCaHqEJ21+X/Ul7y8TTv3Ryp+nSh1a9XCU8pYyOzYHbYb9ld5
         IKVjFo71hXXxaR823NoQffiKwUmlUiT7NnZUKaUMwN3TMH3OciwVkJeMAN13E7I47eRJ
         30xTUa8hBqdNjsoBUzmsbIf8Xm1AB3njIGfZHuBP02M5ynTgHoWbFP7w45+fbJ/YhuLD
         FO8rdq52UGKy/12FmN8nTshuHhlykBY/JTqSL2tMMoAZpUM9WCBoZ7Biugljhi2Ox8i6
         0/5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712676996; x=1713281796;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tq93WPQosnJ9mNzaU1t6RTCuYLzdJLsCMqw2tR2kTUc=;
        b=pRVd9UaIBQsDnTSGNHfxNhXeJkdOZ2JkWtQS51XsvyEacp16uf+pvBCfWv317vSnGp
         Z8QxJkkV72B/8cp6ww1bRzae6WmtH4fsYWLs1z9OAs/liLmUFnuaaydyqkxbSEOkpwsX
         HLlOnnB3xL7tOM4WrY5HH8x4EQi+ipBt9UCgBit3+NmJjm5SfphF1SK3MX+pfDHWB8C3
         rU3g73DgRZUHaE66pxXvYk8PKdtj9CKNQWCTKwVCRjdBHZe2WC8onxUml9hH5FekoqOZ
         ig/xeHIMBwvmP6tDz6XqrS9Sn8r7qW5D8Rquj44NAmNJua95h4jQ9NhSRXVBu2+0HbWF
         ciRg==
X-Gm-Message-State: AOJu0YyV7bXLwJQzP20bJq5jg3R0ADd2/TblVhNxRSxw9fsyq87jJXoQ
	YUkM5z8U2du7vsK4aQgmB60/BqvqjFNs1V+ST9wY0nqYTrGyU80VWmRxv+aC9kH87yOpVoe2ieh
	Z
X-Google-Smtp-Source: AGHT+IHzQ4aNK0bOM68T+jvL5+0yoYRMd3y8CZAcEIbSCHRQw5E/IvmNyJidSpMF2jN5u6WxxPPjtQ==
X-Received: by 2002:a17:906:fb8d:b0:a51:986c:79dd with SMTP id lr13-20020a170906fb8d00b00a51986c79ddmr7613505ejb.27.1712676996347;
        Tue, 09 Apr 2024 08:36:36 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v1 1/5] xen/arm: ffa: refactor ffa_handle_call()
Date: Tue,  9 Apr 2024 17:36:26 +0200
Message-Id: <20240409153630.2026584-2-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409153630.2026584-1-jens.wiklander@linaro.org>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactors the large switch block in ffa_handle_call() to use common code
for the simple case where it's either an error code or success with no
further parameters.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/tee/ffa.c | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 8665201e34a9..5209612963e1 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -273,18 +273,10 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
     case FFA_RXTX_MAP_64:
         e = ffa_handle_rxtx_map(fid, get_user_reg(regs, 1),
 				get_user_reg(regs, 2), get_user_reg(regs, 3));
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_RXTX_UNMAP:
         e = ffa_handle_rxtx_unmap();
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_PARTITION_INFO_GET:
         e = ffa_handle_partition_info_get(get_user_reg(regs, 1),
                                           get_user_reg(regs, 2),
@@ -299,11 +291,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         return true;
     case FFA_RX_RELEASE:
         e = ffa_handle_rx_release();
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_MSG_SEND_DIRECT_REQ_32:
     case FFA_MSG_SEND_DIRECT_REQ_64:
         handle_msg_send_direct_req(regs, fid);
@@ -316,17 +304,19 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         e = ffa_handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs, 2),
                                                      get_user_reg(regs, 1)),
                                    get_user_reg(regs, 3));
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
 
     default:
         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return true;
     }
+
+    if ( e )
+        ffa_set_regs_error(regs, e);
+    else
+        ffa_set_regs_success(regs, 0, 0);
+    return true;
 }
 
 static int ffa_domain_init(struct domain *d)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 15:36:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 15:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702500.1097568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWZ-0005Ia-EH; Tue, 09 Apr 2024 15:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702500.1097568; Tue, 09 Apr 2024 15: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 1ruDWZ-0005IT-B0; Tue, 09 Apr 2024 15:36:39 +0000
Received: by outflank-mailman (input) for mailman id 702500;
 Tue, 09 Apr 2024 15: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=n+OA=LO=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruDWY-0005IE-6d
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 15:36:38 +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 f320c7a1-f686-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 17:36:36 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a46ea03c2a5so959447866b.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 08:36:36 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 gs44-20020a1709072d2c00b00a46a3ad035esm5849000ejc.179.2024.04.09.08.36.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 08:36: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: f320c7a1-f686-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712676995; x=1713281795; 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=QjXGxf6hN/NI8eCQVoC4arVtcJrr38FNNbbecDYi4BA=;
        b=uCEV9rP1C71cFpzStSsDdPDlK2DyWRU5cg64li2rxI6eUnWlSioqUxJeOXgsRzSYXM
         G2SZsIedhegAxeSigqo6Fd1UX7TwuLZn3EwtCrlym5aQ92e6p8mzL6sjzvLUDen7BQKJ
         UkdSupHn++4ygoPg0pkJYW6P86oUypamPS5pIX9OxQT6TlmZkBYxcsKFhROZw3HhHcHB
         0Zv7k7IvC4IPKqci+2PPefnxCmhw9DEHtNidfucTIbo5RM1KPT1XHxgqKbwDYrHjCPe4
         +WsjU9OXyf8/n7Ly6nnsF1I4g19uho4FQY9s2aRsep0fhphWr24/pJZQsBHBVRNGDB17
         2Kow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712676995; x=1713281795;
        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=QjXGxf6hN/NI8eCQVoC4arVtcJrr38FNNbbecDYi4BA=;
        b=ffZJLRykxE8BTvyDdGLfuen1MAaoMImLKYXEFsl6+IH7HsAXl7KTTATzKQJirFzMbF
         rSausdCGuLnhr2fWu7fRUnlXQHBoAgDEzDba1ZeZg9Ge77BvI9cvxp9gh5h0nHLvvQYY
         0l+wQzP8VU0vKOc/oG8ze+eIU+8cQAxYgEx9PifLYN22+lI8MS1VkG9ytasinuG04rjI
         Tb/2TV9PzNcNY8ZpB50BPWkabklIIcf0DvXgB0JwralCUzfASSpvgb/OlC6P+bQ6pVMy
         UxfHswIass41SJJ5vHt85qxfP+2LWI4BQwrfixGfgG9/vCixEvTCBKjMbkSSDGnbEh17
         W75Q==
X-Gm-Message-State: AOJu0YyIyKYkeQisDseIUNMwx0R6enSTE08oWeIopupp+6h75h9dOiYq
	JFaS3xaxsiJmUBNIyoyB+1Bpmm90vm5ZmdbNDLGjXDEPgKl4fBsTOMXGspWVxvMgzRzfs06gEYq
	F
X-Google-Smtp-Source: AGHT+IGvB5tGOacB/63jolemEgVxGnqjwji3HeJEdir1nI9YkX9YRmpC6o7pVHrrAzUyBkWr4qE9nQ==
X-Received: by 2002:a17:906:e97:b0:a46:4bd4:df86 with SMTP id p23-20020a1709060e9700b00a464bd4df86mr2874428ejf.3.1712676995231;
        Tue, 09 Apr 2024 08:36:35 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v1 0/5] FF-A notifications
Date: Tue,  9 Apr 2024 17:36:25 +0200
Message-Id: <20240409153630.2026584-1-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

This patch set adds support for FF-A notifications. We only support
global notifications, per vCPU notifications remain unsupported.

The first three patches are further cleanup and can be merged before the
rest if desired.

A physical SGI is used to make Xen aware of pending FF-A notifications. The
physical SGI is selected by the SPMC in the secure world. Since it must not
already be used by Xen the SPMC is in practice forced to donate one of the
secure SGIs, but that's normally not a problem. The SGI handling in Xen is
updated to support registration of handlers for SGIs that aren't statically
assigned, that is, SGI IDs above GIC_SGI_MAX.

Thanks,
Jens

Jens Wiklander (5):
  xen/arm: ffa: refactor ffa_handle_call()
  xen/arm: ffa: use ACCESS_ONCE()
  xen/arm: ffa: simplify ffa_handle_mem_share()
  xen/arm: allow dynamically assigned SGI handlers
  xen/arm: ffa: support notification

 xen/arch/arm/gic.c             |   5 +-
 xen/arch/arm/irq.c             |   7 +-
 xen/arch/arm/tee/Makefile      |   1 +
 xen/arch/arm/tee/ffa.c         |  86 +++++++--
 xen/arch/arm/tee/ffa_notif.c   | 319 +++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_private.h |  71 ++++++++
 xen/arch/arm/tee/ffa_shm.c     |  33 ++--
 7 files changed, 480 insertions(+), 42 deletions(-)
 create mode 100644 xen/arch/arm/tee/ffa_notif.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 15:36:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 15:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702503.1097590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWb-0005gI-FZ; Tue, 09 Apr 2024 15:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702503.1097590; Tue, 09 Apr 2024 15:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWb-0005eU-80; Tue, 09 Apr 2024 15:36:41 +0000
Received: by outflank-mailman (input) for mailman id 702503;
 Tue, 09 Apr 2024 15:36: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=n+OA=LO=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruDWa-0005IE-E1
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 15:36:40 +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 f565771a-f686-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 17:36:39 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a51a7d4466bso518056466b.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 08:36:39 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 gs44-20020a1709072d2c00b00a46a3ad035esm5849000ejc.179.2024.04.09.08.36.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 08: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: f565771a-f686-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712676999; x=1713281799; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+uEJrO4wREA7Y495lkxFCQXI3O8u6pydWDQAtd/HK8M=;
        b=oGNEd/lLI5v+J19dOV/2sePbBZGcjY1E8ymJ8bXIq8owBLcv/EUegKtFZ5w9pBo/3x
         CLwwe4sjbBW3FlkGQrrmRhmSSWqU8Br8TEiYQENrzatP6zUJ37zM9zlOBz+Kaoi9WBAx
         CAgctetevhuoUXk88cx93QNOtJtD1i7Vm0UUYqaTmPMMO4WGLjmBc7oB6dkNOxl8Le8K
         4e2+tNjoGcZJLU1LCzdAoCAc+I35lmX9bm8a5MppVMFbx7AKSYRioS9RNikzwpceM9fJ
         z/vLWSpX7FIKEX/SWGa4dJojzpB7PrZDS00Ep8MriqnGONjEBJjI0fgao1UNGlRgd4M4
         YBFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712676999; x=1713281799;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+uEJrO4wREA7Y495lkxFCQXI3O8u6pydWDQAtd/HK8M=;
        b=E7xaA2DjadlkOrgwcEDJ+BLsET4qc2Y1aOVI7L/t3eyhcpxRjiFsEFyTR+MtMlusbS
         uzgf+DmL/bDOvVl4mguAs69VLSdDrN2eM8KxP9d5LV0bAHqTqeFWbLPdfStC2f7uFKA+
         KT2jmBxYclZMS+qaUGfQJAusy8NF7022y5YIV3GXBnoQpMnnw2d9g8OUNh5PwTR4zDEo
         UHbhMktv8MLVh37zWyn6d7DY9qqwBjHsmzuUIIC2GL8QFky7mrJkBxFOVn2ASPFfXvch
         NjcvJMuH8cCWid4C84fD3Og7e0v0Ge+8Rpif0ckIxTORhMG1pn2Kv8MwPHOCrpG+nwMh
         rNRg==
X-Gm-Message-State: AOJu0YyRQE5ZZDvWuTH6ypAv6zubejQ0x+05/jJNnVxGL6a1B+fqO93s
	d/ensJyXBGrfqip35I/EipSdZwbIXHFoEyOaiY7LWy0NI/nIKjdiUFXfd5od30KJtxzf0fnP9FR
	s
X-Google-Smtp-Source: AGHT+IG0Viseu+hUAYAPjjQpOZn2uDv0CplDB0QrTJy7b31K6uj6uQbi8ba76tBgsTmmrU8GNqnLVQ==
X-Received: by 2002:a17:907:3fa3:b0:a51:d2d4:1302 with SMTP id hr35-20020a1709073fa300b00a51d2d41302mr5631524ejc.40.1712676999287;
        Tue, 09 Apr 2024 08:36:39 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v1 4/5] xen/arm: allow dynamically assigned SGI handlers
Date: Tue,  9 Apr 2024 17:36:29 +0200
Message-Id: <20240409153630.2026584-5-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409153630.2026584-1-jens.wiklander@linaro.org>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Updates so request_irq() can be used with a dynamically assigned SGI irq
as input.

gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they have
their type assigned earlier during boot

gic_interrupt() is updated to route the dynamically assigned SGIs to
do_IRQ() instead of do_sgi(). The latter still handles the statically
assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/gic.c | 5 +++--
 xen/arch/arm/irq.c | 7 +++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 44c40e86defe..e9aeb7138455 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -117,7 +117,8 @@ void gic_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
 
     desc->handler = gic_hw_ops->gic_host_irq_type;
 
-    gic_set_irq_type(desc, desc->arch.type);
+    if ( desc->irq >= NR_GIC_SGI)
+        gic_set_irq_type(desc, desc->arch.type);
     gic_set_irq_priority(desc, priority);
 }
 
@@ -375,7 +376,7 @@ void gic_interrupt(struct cpu_user_regs *regs, int is_fiq)
         /* Reading IRQ will ACK it */
         irq = gic_hw_ops->read_irq();
 
-        if ( likely(irq >= 16 && irq < 1020) )
+        if ( likely(irq >= GIC_SGI_MAX && irq < 1020) )
         {
             isb();
             do_IRQ(regs, irq, is_fiq);
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index bcce80a4d624..fdb214560978 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -224,9 +224,12 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq, int is_fiq)
 
     perfc_incr(irqs);
 
-    ASSERT(irq >= 16); /* SGIs do not come down this path */
+    /* Statically assigned SGIs do not come down this path */
+    ASSERT(irq >= GIC_SGI_MAX);
 
-    if ( irq < 32 )
+    if ( irq < NR_GIC_SGI )
+        perfc_incr(ipis);
+    else if ( irq < NR_GIC_LOCAL_IRQS )
         perfc_incr(ppis);
     else
         perfc_incr(spis);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 15:36:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 15:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702505.1097618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWe-0006YC-SM; Tue, 09 Apr 2024 15:36:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702505.1097618; Tue, 09 Apr 2024 15: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 1ruDWe-0006Y0-OE; Tue, 09 Apr 2024 15:36:44 +0000
Received: by outflank-mailman (input) for mailman id 702505;
 Tue, 09 Apr 2024 15:36:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=n+OA=LO=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruDWd-0005IN-AN
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 15:36:43 +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 f633d0cd-f686-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 17:36:41 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-516d47ce662so7418911e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 08:36:41 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 gs44-20020a1709072d2c00b00a46a3ad035esm5849000ejc.179.2024.04.09.08.36.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 08:36:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f633d0cd-f686-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712677000; x=1713281800; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pkiNITyS2Gv4ORmeiWESmXZBMWeFqhOQWcTG7lLPN6s=;
        b=EPAM68IqZCexAA0Tgfi6dlwTN3cMb5kOWQCZmRBmF1GLPVnUB2AtcwHcpVxNUVJZPZ
         5yR7z73HIrce3Y6puagjun/KXSLCQnrUd6vwDfWEsTPK1J+quByNt+wo6EHx1cWALow3
         SzR2O9w5oWzvVRvH0M6HNE727vuOYb/snOZHhySb7ZQ88QFZckt3Fxa6dDDgjYjMfF1i
         m6jXdoezTaH/stU4xUyxfXJBrUlGJYPPN14Uksc0RovEhRVzGlSkQ63qU78PobIpplMK
         aDBUcmVBA6+QcJSewSSiK8UD0a6PmNABIt2pvngXWW5ixERy0e38C0jEhyzbn3U+b1f2
         zfRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712677000; x=1713281800;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pkiNITyS2Gv4ORmeiWESmXZBMWeFqhOQWcTG7lLPN6s=;
        b=Aa8xqo08AyLA3TnfAtexvIRJm0az80R0DbbZhqAxpFHyX5497vjN31AfTCDiq93baK
         lFWUQAewphY6mvF2/iAnXFQHGcpWQfKPwAVVZInyXAqZtvcSCPxPKI+e9X2M+Dntk5e0
         GRRskccYDbmc/DJpTZFGuUrnfOty42eTq+Glnu6W56PgA1KAM+ysgem3gGbfxy5eo2tW
         fcLHK3OLWSUp/3DLfwzIL4WB9ukSFzPfy3fR7zIB45G1z210OcA/cl/ZjDRU+/ZG1pRQ
         OyliJ5dJDT6g/akeHtRK5K20gv2IDIK5lV4cZptbALKq/2lSef1ZaYWnzmjwu+pzgV+K
         Z1CA==
X-Gm-Message-State: AOJu0YyP2ysP1pwXVOV7oyZ2oY4yBXXj6N0z4xjdGszV22/JE04Z9CiF
	V1YNZQFyK4c84kIE8dHVp093ShmuwtCB0vhV9ggO7mwAwc6ZPt1dZFzN15Iw+F3THajBfWhoClI
	Z
X-Google-Smtp-Source: AGHT+IEAky4+JDj2TctdrcJCyOVFPoPiRfvC26YHi7IvJM1efJOuaoiQa50MH8ZQ4INEeypAIdf0KA==
X-Received: by 2002:a05:6512:475:b0:515:bfaa:fa12 with SMTP id x21-20020a056512047500b00515bfaafa12mr11383475lfd.22.1712677000297;
        Tue, 09 Apr 2024 08:36:40 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Date: Tue,  9 Apr 2024 17:36:30 +0200
Message-Id: <20240409153630.2026584-6-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409153630.2026584-1-jens.wiklander@linaro.org>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for FF-A notifications, currently limited to an SP (Secure
Partition) sending an asynchronous notification to a guest.

Guests and Xen itself are made aware of pending notifications with an
interrupt. The interrupt handler retrieves the notifications using the
FF-A ABI and deliver them to their destinations.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/tee/Makefile      |   1 +
 xen/arch/arm/tee/ffa.c         |  58 ++++++
 xen/arch/arm/tee/ffa_notif.c   | 319 +++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_private.h |  71 ++++++++
 4 files changed, 449 insertions(+)
 create mode 100644 xen/arch/arm/tee/ffa_notif.c

diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
index f0112a2f922d..7c0f46f7f446 100644
--- a/xen/arch/arm/tee/Makefile
+++ b/xen/arch/arm/tee/Makefile
@@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) += ffa.o
 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-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 5209612963e1..ce9757bfeed1 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -39,6 +39,9 @@
  *   - at most 32 shared memory regions per guest
  * o FFA_MSG_SEND_DIRECT_REQ:
  *   - only supported from a VM to an SP
+ * o FFA_NOTIFICATION_*:
+ *   - only supports global notifications, that is, per vCPU notifications
+ *     are not supported
  *
  * There are some large locked sections with ffa_tx_buffer_lock and
  * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
@@ -194,6 +197,8 @@ out:
 
 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;
 
@@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *regs)
         BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
         ffa_set_regs_success(regs, 0, 0);
         break;
+    case FFA_FEATURE_NOTIF_PEND_INTR:
+        if ( ctx->notif.enabled )
+            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
+        else
+            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        break;
+    case FFA_FEATURE_SCHEDULE_RECV_INTR:
+        if ( ctx->notif.enabled )
+            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
+        else
+            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        break;
+
+    case FFA_NOTIFICATION_BIND:
+    case FFA_NOTIFICATION_UNBIND:
+    case FFA_NOTIFICATION_GET:
+    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);
+        break;
     default:
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         break;
@@ -305,6 +334,30 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
                                                      get_user_reg(regs, 1)),
                                    get_user_reg(regs, 3));
         break;
+    case FFA_NOTIFICATION_BIND:
+        e = ffa_handle_notification_bind(get_user_reg(regs, 1),
+                                         get_user_reg(regs, 2),
+                                         get_user_reg(regs, 3),
+                                         get_user_reg(regs, 4));
+        break;
+    case FFA_NOTIFICATION_UNBIND:
+        e = ffa_handle_notification_unbind(get_user_reg(regs, 1),
+                                           get_user_reg(regs, 3),
+                                           get_user_reg(regs, 4));
+        break;
+    case FFA_NOTIFICATION_INFO_GET_32:
+    case FFA_NOTIFICATION_INFO_GET_64:
+        ffa_handle_notification_info_get(regs);
+        return true;
+    case FFA_NOTIFICATION_GET:
+        ffa_handle_notification_get(regs);
+        return true;
+    case FFA_NOTIFICATION_SET:
+        e = ffa_handle_notification_set(get_user_reg(regs, 1),
+                                        get_user_reg(regs, 2),
+                                        get_user_reg(regs, 3),
+                                        get_user_reg(regs, 4));
+        break;
 
     default:
         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
@@ -348,6 +401,9 @@ static int ffa_domain_init(struct domain *d)
     if ( !ffa_partinfo_domain_init(d) )
         return -EIO;
 
+    if ( !ffa_notif_domain_init(d) )
+        return -ENOMEM;
+
     return 0;
 }
 
@@ -423,6 +479,7 @@ static int ffa_domain_teardown(struct domain *d)
         return 0;
 
     ffa_rxtx_domain_destroy(d);
+    ffa_notif_domain_destroy(d);
 
     ffa_domain_teardown_continue(ctx, true /* first_time */);
 
@@ -502,6 +559,7 @@ static bool ffa_probe(void)
     if ( !ffa_partinfo_init() )
         goto err_rxtx_destroy;
 
+    ffa_notif_init();
     INIT_LIST_HEAD(&ffa_teardown_head);
     init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
 
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
new file mode 100644
index 000000000000..0173ee515362
--- /dev/null
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -0,0 +1,319 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2024  Linaro Limited
+ */
+
+#include <xen/const.h>
+#include <xen/list.h>
+#include <xen/spinlock.h>
+#include <xen/types.h>
+
+#include <asm/smccc.h>
+#include <asm/regs.h>
+
+#include "ffa_private.h"
+
+static bool __ro_after_init notif_enabled;
+
+int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
+                                 uint32_t bitmap_lo, uint32_t bitmap_hi)
+{
+    struct domain *d = current->domain;
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst & 0xffff) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    if ( flags )    /* Only global notifications are supported */
+        return FFA_RET_DENIED;
+
+    /*
+     * We only support notifications from SP so no need to check the sender
+     * endpoint ID, the SPMC will take care of that for us.
+     */
+    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_hi,
+                           bitmap_lo);
+}
+
+int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_lo,
+                                   uint32_t bitmap_hi)
+{
+    struct domain *d = current->domain;
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst & 0xffff) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /*
+     * We only support notifications from SP so no need to check the
+     * destination endpoint ID, the SPMC will take care of that for us.
+     */
+    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_hi,
+                            bitmap_lo);
+}
+
+void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.tee;
+    bool pending_global;
+
+    if ( !notif_enabled )
+    {
+        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        return;
+    }
+
+    spin_lock(&ctx->notif.lock);
+    pending_global = ctx->notif.secure_pending;
+    ctx->notif.secure_pending = false;
+    spin_unlock(&ctx->notif.lock);
+
+    if ( pending_global )
+    {
+        /* A pending global notification for the guest */
+        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
+                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_vm_id(d),
+                     0, 0, 0, 0);
+    }
+    else
+    {
+        /* Report an error if there where no pending global notification */
+        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
+    }
+}
+
+void ffa_handle_notification_get(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t recv = get_user_reg(regs, 1);
+    uint32_t flags = get_user_reg(regs, 2);
+    uint32_t w2 = 0;
+    uint32_t w3 = 0;
+    uint32_t w4 = 0;
+    uint32_t w5 = 0;
+    uint32_t w6 = 0;
+    uint32_t w7 = 0;
+
+    if ( !notif_enabled )
+    {
+        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        return;
+    }
+
+    if ( (recv & 0xffff) != ffa_get_vm_id(d) )
+    {
+        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
+        return;
+    }
+
+    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM ) )
+    {
+        struct arm_smccc_1_2_regs arg = {
+            .a0 = FFA_NOTIFICATION_GET,
+            .a1 = recv,
+            .a2 = flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
+                            FFA_NOTIF_FLAG_BITMAP_SPM ),
+        };
+        struct arm_smccc_1_2_regs resp;
+        int32_t e;
+
+        arm_smccc_1_2_smc(&arg, &resp);
+        e = ffa_get_ret_code(&resp);
+        if ( e )
+        {
+            ffa_set_regs_error(regs, e);
+            return;
+        }
+
+        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
+        {
+            w2 = resp.a2;
+            w3 = resp.a3;
+        }
+
+        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
+            w6 = resp.a6;
+    }
+
+    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
+}
+
+int ffa_handle_notification_set(uint32_t src_dst, uint32_t flags,
+                                uint32_t bitmap_lo, uint32_t bitmap_hi)
+{
+    struct domain *d = current->domain;
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst >> 16) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /*
+     * We only support notifications from SP so no need to check the sender
+     * endpoint ID, the SPMC will take care of that for us.
+     */
+    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
+                           bitmap_hi);
+}
+
+static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
+                                 unsigned int n)
+{
+    unsigned int ids_per_reg;
+    unsigned int reg_idx;
+    unsigned int reg_shift;
+
+    if ( smccc_is_conv_64(resp->a0) )
+        ids_per_reg = 4;
+    else
+        ids_per_reg = 2;
+
+    reg_idx = n / ids_per_reg + 3;
+    reg_shift = ( n % ids_per_reg ) * 16;
+
+    switch ( reg_idx )
+    {
+    case 3:
+        return resp->a3 >> reg_shift;
+    case 4:
+        return resp->a4 >> reg_shift;
+    case 5:
+        return resp->a5 >> reg_shift;
+    case 6:
+        return resp->a6 >> reg_shift;
+    case 7:
+        return resp->a7 >> reg_shift;
+    default:
+        ASSERT(0); /* "Can't happen" */
+        return 0;
+    }
+}
+
+static void notif_irq_handler(int irq, void *data)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_NOTIFICATION_INFO_GET_64,
+    };
+    struct arm_smccc_1_2_regs resp;
+    unsigned int id_pos;
+    unsigned int list_count;
+    uint64_t ids_count;
+    unsigned int n;
+    int32_t res;
+
+    do {
+        arm_smccc_1_2_smc(&arg, &resp);
+        res = ffa_get_ret_code(&resp);
+        if ( res )
+        {
+            if ( res != FFA_RET_NO_DATA )
+                printk(XENLOG_ERR "ffa: notification info get failed: error %d\n",
+                       res);
+            return;
+        }
+
+        ids_count = resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
+        list_count = ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT ) &
+                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
+
+        id_pos = 0;
+        for ( n = 0; n < list_count; n++ )
+        {
+            unsigned int count = ((ids_count >> 2 * n) & 0x3) + 1;
+            struct domain *d;
+
+            d = ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_pos));
+
+            if ( d )
+            {
+                struct ffa_ctx *ctx = d->arch.tee;
+
+                spin_lock(&ctx->notif.lock);
+                ctx->notif.secure_pending = true;
+                spin_unlock(&ctx->notif.lock);
+
+                /*
+                 * Since we're only delivering global notification, always
+                 * deliver to the first vCPU. It doesn't matter which we
+                 * chose, as long as it's available.
+                 */
+                vgic_inject_irq(d, d->vcpu[0], FFA_NOTIF_PEND_INTR_ID, true);
+
+                put_domain(d);
+            }
+
+            id_pos += count;
+        }
+
+    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
+}
+
+static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
+                                              uint32_t vcpu_count)
+{
+    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu_count,
+                           0, 0);
+}
+
+static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
+{
+    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, 0, 0);
+}
+
+void ffa_notif_init(void)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_FEATURES,
+        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
+    };
+    struct arm_smccc_1_2_regs resp;
+    unsigned int irq;
+    int ret;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+    if ( resp.a0 != FFA_SUCCESS_32 )
+        return;
+
+    irq = resp.a2;
+    if ( irq >= NR_GIC_SGI )
+        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
+    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
+    if ( ret )
+        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
+               irq, ret);
+    notif_enabled = !ret;
+}
+
+bool ffa_notif_domain_init(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.tee;
+    int32_t res;
+
+    if ( !notif_enabled )
+        return true;
+
+    res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
+    if ( res )
+        return false;
+
+    ctx->notif.enabled = true;
+
+    return true;
+}
+
+void ffa_notif_domain_destroy(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.tee;
+
+    if ( ctx->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 98236cbf14a3..26c2af164d38 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -25,6 +25,7 @@
 #define FFA_RET_DENIED                  -6
 #define FFA_RET_RETRY                   -7
 #define FFA_RET_ABORTED                 -8
+#define FFA_RET_NO_DATA                 -9
 
 /* FFA_VERSION helpers */
 #define FFA_VERSION_MAJOR_SHIFT         16U
@@ -60,6 +61,8 @@
  */
 #define FFA_PAGE_SIZE                   SZ_4K
 
+#define FFA_NOTIF_BITMAP_SIZE           64
+
 /*
  * The number of pages used for each of the RX and TX buffers shared with
  * the SPMC.
@@ -97,6 +100,18 @@
  */
 #define FFA_MAX_SHM_COUNT               32
 
+/*
+ * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
+ * unused, but that may change.
+ *
+ * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not used
+ * by a guest as they in a non-virtualized system typically are assigned to
+ * the secure world. Here we're free to use SGI 8-15 since they are virtual
+ * and have nothing to do with the secure world.
+ */
+#define FFA_NOTIF_PEND_INTR_ID      8
+#define FFA_SCHEDULE_RECV_INTR_ID   9
+
 /*
  * The time we wait until trying to tear down a domain again if it was
  * blocked initially.
@@ -175,6 +190,21 @@
  */
 #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
 
+/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
+#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
+#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
+#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
+#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
+
+#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
+#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
+#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
+#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
+
+/* Feature IDs used with FFA_FEATURES */
+#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
+#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
+
 /* Function IDs */
 #define FFA_ERROR                       0x84000060U
 #define FFA_SUCCESS_32                  0x84000061U
@@ -213,6 +243,27 @@
 #define FFA_MEM_FRAG_TX                 0x8400007BU
 #define FFA_MSG_SEND                    0x8400006EU
 #define FFA_MSG_POLL                    0x8400006AU
+#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
+#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
+#define FFA_NOTIFICATION_BIND           0x8400007FU
+#define FFA_NOTIFICATION_UNBIND         0x84000080U
+#define FFA_NOTIFICATION_SET            0x84000081U
+#define FFA_NOTIFICATION_GET            0x84000082U
+#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
+#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
+
+struct ffa_ctx_notif {
+    bool enabled;
+
+    /* Used to serialize access to the rest of this struct */
+    spinlock_t lock;
+
+    /*
+     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
+     * pending global notifications.
+     */
+    bool secure_pending;
+};
 
 struct ffa_ctx {
     void *rx;
@@ -228,6 +279,7 @@ struct ffa_ctx {
     struct list_head shm_list;
     /* Number of allocated shared memory object */
     unsigned int shm_count;
+    struct ffa_ctx_notif notif;
     /*
      * tx_lock is used to serialize access to tx
      * rx_lock is used to serialize access to rx
@@ -271,12 +323,31 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
 uint32_t ffa_handle_rxtx_unmap(void);
 int32_t ffa_handle_rx_release(void);
 
+void ffa_notif_init(void);
+bool ffa_notif_domain_init(struct domain *d);
+void ffa_notif_domain_destroy(struct domain *d);
+
+int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
+                                 uint32_t bitmap_lo, uint32_t bitmap_hi);
+int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_lo,
+                                   uint32_t bitmap_hi);
+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(uint32_t src_dst, uint32_t flags,
+                                uint32_t bitmap_lo, uint32_t bitmap_hi);
+
 static inline uint16_t ffa_get_vm_id(const struct domain *d)
 {
     /* +1 since 0 is reserved for the hypervisor in FF-A */
     return d->domain_id + 1;
 }
 
+static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
+{
+    /* -1 to match ffa_get_vm_id() */
+    return get_domain_by_id(vm_id - 1);
+}
+
 static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t v0,
                                 register_t v1, register_t v2, register_t v3,
                                 register_t v4, register_t v5, register_t v6,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 15:36:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 15:36:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702504.1097593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWb-0005oK-ML; Tue, 09 Apr 2024 15:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702504.1097593; Tue, 09 Apr 2024 15:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruDWb-0005kU-HA; Tue, 09 Apr 2024 15:36:41 +0000
Received: by outflank-mailman (input) for mailman id 702504;
 Tue, 09 Apr 2024 15:36: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=n+OA=LO=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruDWa-0005IN-P5
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 15:36:40 +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 f4da0e13-f686-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 17:36:39 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a519eae91d1so553105666b.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 08:36:39 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 gs44-20020a1709072d2c00b00a46a3ad035esm5849000ejc.179.2024.04.09.08.36.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 08: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: f4da0e13-f686-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712676998; x=1713281798; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C8OCgwxfFNBl0g/LFD7KGefGi5I0NjNvh/BY8PRWmBI=;
        b=G/QzDv2s9Qtf0wUCYr8OL9nTWgFvBwYh2sA/xKsd2kqNDE4L/YKGfPsUpEvtuQdCuy
         xYeVtNpCuUY8i893qQ02Qb3/l+JsXObnOrYiHOr8Eeg7Bbi6rlilIjv2OQMBXxnJ49oh
         fXtDoszs3FAyWFM719yq+gAknab3N7ibbJIuvIEmz33BuzCluVOU1alHa6Dmpwa+8M2g
         l0kvHFxRN4YZ+LJcDVUgC+gdtR2nzOpW0Y0WnUj80EtRgT+SedjI7stYLx8DyV5tX0ft
         wD2/4W/yUU28qOYmQy8la8jM/XNFvwgkc5leCiedcOvrusFMa7lua0bTCZBLVjQfIoOw
         lRSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712676998; x=1713281798;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=C8OCgwxfFNBl0g/LFD7KGefGi5I0NjNvh/BY8PRWmBI=;
        b=VY7tMpb/yKFIrTOvRFTKWJlEGeRnm8fuXRqwoSxBOl6MCiYYlzDSLJMKNWzx/tI7VP
         D/K1vc351Rn5xIkpgbIQeVVWRThZp8tbaVMWScChCXXj9BNZjbiVN3Wpx/3YSLKqRjjo
         JztgGcjdWY4oFS7yanLBigzNDZPHswiyhkJDcI8zlVj2RpxHAfeulZhks3WZhnQa0Qm9
         DJjZkY37xZFBIUfbFaFPbNImMV29QNWZ1dJ8Yi8GER3nbNhdv4kc75kWxpte1TYjxdmb
         OyvBfdeRTVhGZuyq0NV+6ohER+q9F79VmXqVL3saD8fO8uoiq6JW7Vg2FfYRgonjYEp7
         6qyg==
X-Gm-Message-State: AOJu0YzAQ5Rq23V9hQV04r6ShhH5Fe97l84i+1PPGHRqhUi1rLkBH5cT
	VeDy02HDJwqn1T1sxU+HN5SOGs/hq0Xh6yXuusDc9Y30KdXOUD3/ofGDmQhHtNveK0MG7+gjMxv
	a
X-Google-Smtp-Source: AGHT+IEV6VmAkaioQ3AY4tx0PhOMRDHEhLjTgJ4V/HabB0Lb33pB1LlO5vHf9bOM8u8CsFT7cXzTQw==
X-Received: by 2002:a17:907:7b88:b0:a51:a488:8fb8 with SMTP id ne8-20020a1709077b8800b00a51a4888fb8mr8848674ejc.70.1712676998350;
        Tue, 09 Apr 2024 08:36:38 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v1 3/5] xen/arm: ffa: simplify ffa_handle_mem_share()
Date: Tue,  9 Apr 2024 17:36:28 +0200
Message-Id: <20240409153630.2026584-4-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240409153630.2026584-1-jens.wiklander@linaro.org>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Simplify ffa_handle_mem_share() by removing the start_page_idx and
last_page_idx parameters from get_shm_pages() and check that the number
of pages matches expectations at the end of get_shm_pages().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
 xen/arch/arm/tee/ffa_shm.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index 75a5b66aeb4c..370d83ec5cf8 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -159,10 +159,9 @@ static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
  */
 static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
                          const struct ffa_address_range *range,
-                         uint32_t range_count, unsigned int start_page_idx,
-                         unsigned int *last_page_idx)
+                         uint32_t range_count)
 {
-    unsigned int pg_idx = start_page_idx;
+    unsigned int pg_idx = 0;
     gfn_t gfn;
     unsigned int n;
     unsigned int m;
@@ -191,7 +190,9 @@ static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
         }
     }
 
-    *last_page_idx = pg_idx;
+    /* The ranges must add up */
+    if ( pg_idx < shm->page_count )
+            return FFA_RET_INVALID_PARAMETERS;
 
     return FFA_RET_OK;
 }
@@ -460,7 +461,6 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
     struct ffa_shm_mem *shm = NULL;
-    unsigned int last_page_idx = 0;
     register_t handle_hi = 0;
     register_t handle_lo = 0;
     int ret = FFA_RET_DENIED;
@@ -570,15 +570,9 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out;
     }
 
-    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count,
-                        0, &last_page_idx);
+    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count);
     if ( ret )
         goto out;
-    if ( last_page_idx != shm->page_count )
-    {
-        ret = FFA_RET_INVALID_PARAMETERS;
-        goto out;
-    }
 
     /* Note that share_shm() uses our tx buffer */
     spin_lock(&ffa_tx_buffer_lock);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 16:14:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 16:14:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702529.1097627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruE6d-00085U-OU; Tue, 09 Apr 2024 16:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702529.1097627; Tue, 09 Apr 2024 16: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 1ruE6d-00085N-Lb; Tue, 09 Apr 2024 16:13:55 +0000
Received: by outflank-mailman (input) for mailman id 702529;
 Tue, 09 Apr 2024 16:13:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uqhR=LO=oracle.com=konrad.wilk@srs-se1.protection.inumbo.net>)
 id 1ruE6c-0007w8-Cx
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 16:13:54 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26f63cac-f68c-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 18:13:52 +0200 (CEST)
Received: from pps.filterd (m0246629.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 439BYIcH031281; Tue, 9 Apr 2024 16:13:47 GMT
Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta03.appoci.oracle.com [138.1.37.129])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xax9b5bsw-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 09 Apr 2024 16:13:46 +0000
Received: from pps.filterd
 (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 439Fp1o2032367; Tue, 9 Apr 2024 16:13:46 GMT
Received: from nam12-mw2-obe.outbound.protection.outlook.com
 (mail-mw2nam12lp2041.outbound.protection.outlook.com [104.47.66.41])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3xavu7ddpv-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 09 Apr 2024 16:13:46 +0000
Received: from DM4PR10MB6719.namprd10.prod.outlook.com (2603:10b6:8:111::19)
 by BN0PR10MB5142.namprd10.prod.outlook.com (2603:10b6:408:114::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 9 Apr
 2024 16:13:43 +0000
Received: from DM4PR10MB6719.namprd10.prod.outlook.com
 ([fe80::4581:e656:3f19:5977]) by DM4PR10MB6719.namprd10.prod.outlook.com
 ([fe80::4581:e656:3f19:5977%7]) with mapi id 15.20.7409.042; Tue, 9 Apr 2024
 16:13:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26f63cac-f68c-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc
 : subject : message-id : references : content-type :
 content-transfer-encoding : in-reply-to : mime-version; s=corp-2023-11-20;
 bh=ytD0acT6fIJrO4Bi2Z/mj/1qK3I8GNPRL9Pp1TSDoks=;
 b=RmejxL5Mn0mVbKvCh0BBdHJy/evt62jye6FK8/2KjinGUa2kehCZ2KGZZprN42v0qA7p
 H71f1u+nPksyejtRV80SEUw9YiOsbUzi0JwdziG/YInrgymSAVM1plMQU2LWLeeVqaIk
 IycrQ3TUnR20xZ7fuptaOZquN1G75jfMDnQJYVngwXM+2Q6PvqCWMtCAXDjwRHlRp8O/
 6nW3TPcn34S6t6Cmnz25KrCr1aDdeOSOI5GQhI2uWvp+bh95UgHiT8KsNn76QA+phmYu
 iQdWc5Q/g/19oFrrCtG92BMFWp+8asn9FhW0Zh4Oc83HqpphqfCASu++FobDjMMSs0gB dg== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X7UPL+vFCNCCw+IFdsEnIubu2l8Ih4Z1UHJBSgC4INTHvwpqkrOCTyVOVd7MpRhZAQh+duPaIW8wIoYEu7Ji0+bTSb0cZsSyrMYBqJAq+Z/bLbBMmW5HFF82lnCZcint5xedAy7wUr2k54tm3HgjvuSJqMnohIlR4yk3f8wUYCcihrYoh99/cib05qDc/YMFR+zvoUO8ofMy1sNYtgyIcjW1JrdsZvkYujpyVNvj5fCQriZpsOI0uo0N0qmYnTIq8e0tO4uzOCh4f2P4dogBVp1iyUmXG3ozRKLZVB04AFMSZNhPGpOj/m45bjnO7iPVX25WxXcJanKfS42iZy7EVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pwpPInyrepjRMFADzdU3PYLX1lVgD/amIQNI+ydRVEE=;
 b=D4KY7UZ+ltOy8gQDtqsyezuoowBgI1LqbO7t18waqG20kxEdVoqNmo+yCyZF5Ahd5/7iJ5JIpsgwwLhp1+8lwZQwgXFUVwDqBTb1SxoP4MRQa2EFTuta0fsUsOg2EEs272wZVowZGKYZK0p2oihSOWX7q5GJwnEMFsLZYoehsP+p3DkZaWzrTqTrLSsxwJWBOfTestT9arBbzoa61No+05d1vCiyriexYLc45AAHdJxsrStgztd+mXc0splqyNEqoS53u253dZVcaKt45kl9hgDatO+LsLu1zQ5UKyTIqiS2r/lRSXBiSgjGkBtIoI/eamONrXV2gDzX2Zr2faWiig==
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=pwpPInyrepjRMFADzdU3PYLX1lVgD/amIQNI+ydRVEE=;
 b=svAXEYGM7tlc0d58aB/aXK2958P8RXKPyR5vm1dROCpXH0EDfTWf9GB9EGvbs2J98m0t7Ju+qLewFLgg/OaOgi2qKC8Um2vSz/m6+gGgf+EYlmxlnNdF0d1+4RiNsB/AZNc+oypVZKeko4bB3jfD+cnfOipR4/2E66+4hYq0c4s=
Date: Tue, 9 Apr 2024 12:13:23 -0400
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: xen-devel@lists.xenproject.org, Konrad Rzeszutek Wilk <konrad@kernel.org>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] MAINTAINERS: Update livepatch maintainers
Message-ID: <ZhVpIxhOjeRhYflW@char.us.oracle.com>
References: <20240409103208.1641887-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240409103208.1641887-1-ross.lagerwall@citrix.com>
X-ClientProxiedBy: PH7P220CA0040.NAMP220.PROD.OUTLOOK.COM
 (2603:10b6:510:32b::24) To DM4PR10MB6719.namprd10.prod.outlook.com
 (2603:10b6:8:111::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM4PR10MB6719:EE_|BN0PR10MB5142:EE_
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	DN5tBnvztz+5t9uom29TXY7MniNaSScLPGdZAl9vDXmUfvD+zHDOXWnJkXHCzluOY+Th3557JIOyiWn6SVIzv9a/5qpSUSxd6OUAh2k2Y40/pN/viJHTUh5z0dJjDh/SL9WP6ALBSW56GxGWypaqg3au849KMYETOHo9IJ9rUPLBxx84bJ5YpDhJBafYleAopk2BE1PB+cVq4D0dz1uCT/W7E96M3bjNhEAxVGVSeFtSFDbgdK5h52+8lLAUcXGTlrhGrXRyuBiCmkpbhX1G8Zivg0EQB5iBJ2MPiNE4qVym7AUiEOYPjpVFehvsifDaCFpF/lrQFtx8LFCktU32iFJaR+a7FUPkJTuYYJ7O0gWyJh1r3AU+QEEAjaLYSCghgDH54akUnFd7Yts27ukIxGB1q54Gozzqa8Nb83pj7vjtpDuOzQzU30iFWKX4RD2ABrFUZMPS00C4X0zIllgFEGWJh2ESKriIQV+3rXN0slmmzIuyl3JwPvIGGY1OIHYWvXg1OEzSXmG72UEl1qawwXV7WnRN2bUEO6XJbPJqxUeYnarr5LzQvn2JsFWUf3cvGfD1R9PEdwu9JDHMVTt42n9HdixKIINXayayKiJJCCkIXbssAqI4zXauqpr+5ok0JxZZw8zm/42e26RQVXEXHAf40Bcv28cVo9oN23gDaEk=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR10MB6719.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(366007)(376005);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?iso-8859-1?Q?2LfwBAhn+T5faX6GfYueGFoapE+DBYu54u9c0vhvE3dkdtBJrG4demt0Ok?=
 =?iso-8859-1?Q?5u1F/OySx2oidzbVk0ZQ0rdoh5HKoWh6Q606PaJfEoFdPU6mLvrLzSv9bz?=
 =?iso-8859-1?Q?d1GKLDJoKGQYlUJPWPeIx8fxFzH5ZR2Mfj3liYjqJ0u/bjft9SMDtfvnxj?=
 =?iso-8859-1?Q?Niepa2B/afZDncEH/GHg0s9I6xBmf7sNU18T82xKUbf/3NsfgxssBtmytt?=
 =?iso-8859-1?Q?451n8RU42dqFsdoiag45zeTSp061my/HMjBnBINJCRPHF44lkX9Kl+6dI3?=
 =?iso-8859-1?Q?ASasNAOe5d644RLfxxP0idpeiSkHO4LkERPZgrEMwAtfdKKybuOUTL43vT?=
 =?iso-8859-1?Q?OgXGufQ9R4lv55L0kZWrjdQ0rAbxV4OWjWuPbzoFBx+WyJpQnnp50XGqFj?=
 =?iso-8859-1?Q?HSEO1l/6LruUTtq9LHi0tWzlZ3pMQl6XV+AJ6iebpEEFCYhW7jB0E58CIC?=
 =?iso-8859-1?Q?HYw0COcpx0hSNOnATlAYoSINE1otlxDeQXH9ypLYSKNGT/sYzhlxKfNrke?=
 =?iso-8859-1?Q?YelDDwI72QFNcEVZUWC7uS8ENhCWms0AB/w5T5MfsvxKc3Q2F6NL4m6/d2?=
 =?iso-8859-1?Q?5+kehxeGmGdxhDoaiXU9s/nIlYUr/+Q92/J87QdgTJ4AkLltqjePLm0o8E?=
 =?iso-8859-1?Q?+o9xdAm+0cF9y42W+s8nBYjZRsfpUG2SQ1nbiK32thROfD4/Txf94uthCF?=
 =?iso-8859-1?Q?He3nriBnqyHyV/tA2Al0dQ/Vr4b/vgICsI7hyQV8mKdY4+/6oGSY6R8qS8?=
 =?iso-8859-1?Q?7oIbPeqW6ZfA7hFGm7zVxTJsJmvZCpI3Tpom1ADzUOSlUWdj4HUyYm40Lt?=
 =?iso-8859-1?Q?4zIoehNpd8IXqyDV1REJUsi0PCoYdt36G9B+hOeW6jfTNWJWGoISooQnSH?=
 =?iso-8859-1?Q?iPqeKr5qiTaUsh3VbeA7F2aMXbxfXj3RR1AG1OlLjAbxx1aIA1lR7FkyEJ?=
 =?iso-8859-1?Q?mFdeaeoi+UdGB0fuTzK7W7pi+U7BZWZlKvp2Yzgeye8Bl5WPlvIRlmZgNB?=
 =?iso-8859-1?Q?qmTN93AY1FUiEsRSMnDCITUFuXDvHLUtEUDcMkRPYZsmzVQ+R8FktbLm7b?=
 =?iso-8859-1?Q?8YrkPEA3OwLZV4HfV2K5PlTfgUUR0QoU2+6tpEc/OrqZW1L2gIg9DNloE8?=
 =?iso-8859-1?Q?1QBuN+U19qJesc4k3Fh+apqdzXSJmzj+eGLUoCtTW5xOwrrWdgc4Y0ohjw?=
 =?iso-8859-1?Q?AlimeGEXAlU+1mGL0HSl6+7Hvj6G0VvgDoU739JGD0P/8B10/2DGyNotzi?=
 =?iso-8859-1?Q?d9XeWPvPazUOh1+7FnGo2A593j23UfX9qw1e/vhq1hrDXAedqAKzdX1H8N?=
 =?iso-8859-1?Q?y80g4w53uGRM9edhNBQmucnuhUqDOhUlMVVNTZDfjc92k2DsNcGIyCOwDb?=
 =?iso-8859-1?Q?lqp8orhdBNkptXPD3vRoO3ZITXuOaY/LkZsifwPr93wZGrAlY7lHzNDw7k?=
 =?iso-8859-1?Q?cDuporv/eAonyatKmKHsnY2rrpb5pl3iDRqHXLxQI8ypK+2ilTFp199IeI?=
 =?iso-8859-1?Q?NVUuRTULbP/375FGzd0L/6ER54V2GhaJ9ISi3snrxLjcjK7K3SNyvJ01zQ?=
 =?iso-8859-1?Q?hN5e+3mhd9h43vn2vzXkBsJIh7R7m+aPJ+blZ/Z6BpHurJn6sof58i4ojY?=
 =?iso-8859-1?Q?oSyUXkikMR8VW6WBcHV5QBIHINqvburv+buaNnliYlxCLkJ3K7HzqdTw?=
 =?iso-8859-1?Q?=3D=3D?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 
	edoWk2R/aSzNfEuIMdzm2mjoSvK/Lwo6Bqj1U/YxZwvHcYlH1atu3pgCXIJeu1gxAuYE5obBuwUPz+KU916zWR8UAbthc7uY2sRsVs06lbkihgLVaQE0IdtwjsJC9pp5DtxRLNVDpjvNVdVVZ9QYyoJZPl5zUOAskGfKKXPvJlIrQM6PkYY1LB4nwGqz18JhbHR1NkIvbOQUGUjM8bXHC8VTaNzJmGpiwPJAIcELrBGx0BwqE6yWh0v5oFV98xBrgaGX2+X9530XKzfx2BgyreHWwSpfHHmtEAgO3lwoeEVGBHIHE7uwsoLVHITNI3gi+ZvlF+oaHRRGWCmNikUC0EWfxMbey5xuQm0wg0kXHl4hdSlHSX1koeZBaoDvPTIlrdNJ0WwnQLoIi0Vaj3MWt5g2VNbzB3GRDCgUsEoppISI+0Rl8qsUkVoTFXj/hPQtqnHnmMTiT39uoGjkHQ5TuO672zJ5Sd4MqRH2xNpRx1yCBDR8xYuPG1/T3WyjqtZLtQUkNSas5Y5rZHrJGdX5B/4DIl5tmzcPQkg1atsFrYP2j27EBqj9tq72kTctKe+l86K6sQTYCAVNVilrjk3yQLQRQ+bmksGm2xzfR4NaKo8=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d6ef1182-db7e-43c7-8cc0-08dc58b00508
X-MS-Exchange-CrossTenant-AuthSource: DM4PR10MB6719.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2024 16:13:42.5449
 (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: rDUds40adZ/r62UMdIv7VlDVglKe4BIZJ6OAJcY2Q1GC57OcQgYg0H1t8sobfOrpq7s91xErwwdgugApCjO3fQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB5142
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-09_11,2024-04-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0
 bulkscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2404010000 definitions=main-2404090107
X-Proofpoint-GUID: -24UPNJ_OTgJCgR_Weq7lRFo2B8k09q1
X-Proofpoint-ORIG-GUID: -24UPNJ_OTgJCgR_Weq7lRFo2B8k09q1

On Tue, Apr 09, 2024 at 11:32:07AM +0100, Ross Lagerwall wrote:
> Remove Konrad from the livepatch maintainers list as he hasn't been
> active for a few years.
> At the same time, add Roger as a new maintainer since he has been
> actively working on it for a while.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

Thank you for picking it up!
> ---
>  MAINTAINERS | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 1bd22fd75f0e..4bc45ded4130 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -395,7 +395,7 @@ F:	tools/include/xentoollog.h
>  F:	tools/libs/
>  
>  LIVEPATCH
> -M:	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> +M:	Roger Pau Monn <roger.pau@citrix.com>
>  M:	Ross Lagerwall <ross.lagerwall@citrix.com>
>  S:	Supported
>  F:	docs/misc/livepatch.pandoc
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 16:46:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 16:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702534.1097637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruEc8-0005vp-RL; Tue, 09 Apr 2024 16:46:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702534.1097637; Tue, 09 Apr 2024 16:46:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruEc8-0005vi-Oo; Tue, 09 Apr 2024 16:46:28 +0000
Received: by outflank-mailman (input) for mailman id 702534;
 Tue, 09 Apr 2024 16:46:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruEc7-0005vc-0f
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 16:46:27 +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 b347bfab-f690-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 18:46:24 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2d718ee7344so67422771fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 09:46:23 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m6-20020adff386000000b00343300a4eb8sm11830459wro.49.2024.04.09.09.46.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 09:46: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: b347bfab-f690-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712681183; x=1713285983; 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=Ew4xNTMER6FcNBl8NvmpYgwC8GEh9JTHCYmFqfvT1Mw=;
        b=ejqlcfm7iUSgRUMXxgBlm03rRosRjTtp5OlhXiEIEPTAD1e7ennHSLd4eKlwn4tZx5
         ic53kt6IknCiZxVdUm2jgx5ysChGBmiFsIoaE9PPv540X+Vs5Oiq0CTntRMwSp+PXti2
         Ros37sFlUxsh+hzMuK0+iHuhdoE3dHwXGyMzc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712681183; x=1713285983;
        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=Ew4xNTMER6FcNBl8NvmpYgwC8GEh9JTHCYmFqfvT1Mw=;
        b=e7uNgXBXzZ2fXPCbC/IhB2LNKqqnDeYbeJeAGvj+3Mne4KtWkz9Fu91+s1+wP9q+3r
         Env7gL0O1sBwURPhpi3fqxstXbqb7cyUZWm59Jf28S1pFtUI7e4welycxLp4PnBcoepo
         GzB+H5AG0wDA/rN1rD0Bm0SR6ODrjFrzk9BWsHNqHtwJ+XfMOWwo68fRItlMJp1ZyDzG
         z/wH/i3yZLdZuIDTb75v8rkKXVE1Hxux7b2++LCzCK5Ev80t68fMxsthiIIKkEyvosQ5
         SUYApEim6cch522B+cnrZZmTHLXSZMMNVb28Mcibdwj9ho9M3KHVP8ZDqzdJY/CrsN+F
         mKwg==
X-Gm-Message-State: AOJu0YzssYwU6WVhTVAy31R/aNkUvwt5oHKgx1h5R4Lnw4xDggjBxHyw
	WNgEuniXZErqXBG6CAb6a9fW9r7Loz/8QENdxYA+I/AnQHov/InNEoQg957kdsM=
X-Google-Smtp-Source: AGHT+IGAQI36grRyTUp7hRB9aT/dhAmC4VFo7F8WiaYkY8jF7upO5ko/3lFRjdqMLH4Gmu002+vqkg==
X-Received: by 2002:a2e:3e1a:0:b0:2d7:b78:4109 with SMTP id l26-20020a2e3e1a000000b002d70b784109mr224280lja.53.1712681183112;
        Tue, 09 Apr 2024 09:46:23 -0700 (PDT)
Date: Tue, 9 Apr 2024 17:46:21 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v2 5/6] tools/misc: xenwatchdogd enhancements
Message-ID: <ba23ee1e-6cd5-469b-902f-d5feac4d1cdd@perard>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-6-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240329111056.6118-6-leigh@solinno.co.uk>

On Fri, Mar 29, 2024 at 11:10:55AM +0000, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Add enhanced parameter parsing and validation, making use of
> getopt_long(). Adds usage() function, ability to run in the foreground,
> and the ability to disarm the watchdog timer when exiting.  Now checks
> the number of parameters are correct, that timeout is at least two
> seconds (to allow a minimum sleep time of one second), and that the
> sleep time is at least one and less than the watchdog timeout. After
> these changes, the daemon will no longer instantly reboot the domain
> if you enter a zero timeout (or non-numeric parameter), and prevent
> the daemon consuming 100% of a CPU. Add a copyright message. This is
> based on the previous commits which were from Citrix email addresses.

This to me is really hard to read, it just looks like a blob of text,
where it supposed to be a list with several modification listed. The
part about the copyright should be in its own paragraph for example.


> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
> ---
>  tools/misc/xenwatchdogd.c | 111 ++++++++++++++++++++++++++++++++++----
>  1 file changed, 101 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
> index 19ec4c5359..b78320f86d 100644
> --- a/tools/misc/xenwatchdogd.c
> +++ b/tools/misc/xenwatchdogd.c
> @@ -1,3 +1,20 @@
> +/*
> + * xenwatchdogd.c
> + *
> + * Watchdog based on Xen hypercall watchdog interface
> + *
> + * Copyright 2010-2024 Citrix Ltd and other contributors

This is probably more like:
Copyright (C) 2010 Citrix Ltd.
Copyright (C) 2024 *** your copyright here ***

Because it's looks like the only contribution from us was in 2010, and I
suppose it's fine to have more than one copyright line.

> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU Lesser General Public License as published
> + * by the Free Software Foundation; version 2.1 only. with the special
> + * exception on linking described in file LICENSE.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU Lesser General Public License for more details.

This might be the wrong license, the default license we use is GPL 2.0
only, not LGPL. See :/COPYING .

These days, we prefer SPDX tags instead of the full licence text.

So overall, the header of the file should look something like:

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * xenwatchdogd.c
 * 
 * Watchdog based on Xen hypercall watchdog interface
 * 
 * Copyright (C) 2010 Citrix Ltd.
 * Copyright (C) 2024 *** your copyright here ***
 */

I don't know if adding the file name in that header is very useful, but
I don't mind either way.

Also, could you do this in a separate patch?

> + */
>  
>  #include <err.h>
>  #include <limits.h>

Nice change overall, it's just the license part that need fixing.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 17:00:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 17:00:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702541.1097662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruEpn-0000l2-NI; Tue, 09 Apr 2024 17:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702541.1097662; Tue, 09 Apr 2024 17: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 1ruEpn-0000jI-IE; Tue, 09 Apr 2024 17:00:35 +0000
Received: by outflank-mailman (input) for mailman id 702541;
 Tue, 09 Apr 2024 17: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=pd+N=LO=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1ruEpm-0000Y6-Im
 for xen-devel@lists.xen.org; Tue, 09 Apr 2024 17:00:34 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac084a60-f692-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 19:00:31 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1ruEpb-0005A9-CJ; Tue, 09 Apr 2024 17:00:23 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1ruEpb-0000jN-81; Tue, 09 Apr 2024 17:00: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: ac084a60-f692-11ee-b907-491648fe20b8
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=CcBlvz101lK1NIoWtOiS8wZEyRsmzX7G5kSbkqvufOI=; b=GYDA/NTabsZfDbN+1Obr3GaUxu
	HjO7TplQr+D/4HLHotZJN9F4i7CQg4jUW7PMQWqvcl0VTxq9Mnty2oR7rr4Q9BTyHNg/K8MIE5HRT
	SKPZBApHq5UM9z1xJmogqucGWeA2UUtxBZXng2Kg2UTF7kBg+8vfd3hOUMcChub4ew5M=;
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 455 v4 (CVE-2024-31142) - x86: Incorrect
 logic for BTC/SRSO mitigations
Message-Id: <E1ruEpb-0000jN-81@xenbits.xenproject.org>
Date: Tue, 09 Apr 2024 17:00:23 +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-31142 / XSA-455
                                version 4

	     x86: Incorrect logic for BTC/SRSO mitigations

UPDATES IN VERSION 4
====================

Public release.

Correct references to prior XSAs.  The XSA fixing Branch Type Confusion
was XSA-407, not XSA-422 as previously stated.

ISSUE DESCRIPTION
=================

Because of a logical error in XSA-407 (Branch Type Confusion), the
mitigation is not applied properly when it is intended to be used.
XSA-434 (Speculative Return Stack Overflow) uses the same
infrastructure, so is equally impacted.

For more details, see:
  https://xenbits.xen.org/xsa/advisory-407.html
  https://xenbits.xen.org/xsa/advisory-434.html

IMPACT
======

XSAs 407 and 434 are unmitigated, even when the patches are in place.

VULNERABLE SYSTEMS
==================

All versions of Xen containing the XSA-407 fixes are vulnerable.

See XSAs 407 and 434 for details on which hardware is susceptible to
BTC/SRSO.

MITIGATION
==========

There are no mitigations.

CREDITS
=======

This issue was discovered by Andrew Cooper of XenServer.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

Note that the Xen Security Team is intending to produce releases on all
stable trees, on the public embargo.  Therefore, this fix is expected to
be contained in the following release tags:

  RELEASE-4.18.2
  RELEASE-4.17.4
  RELEASE-4.16.6
  RELEASE-4.15.6

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.

xsa455.patch           xen-unstable - Xen 4.17.x
xsa455-4.16.patch      Xen 4.16.x - Xen 4.15.x

$ sha256sum xsa455*
96bcfcc0ce1afcc54f637c728ab5250c65f0a5a1d8ccfc59ac5d496baf1a53a4  xsa455.patch
02e3fe13ac68f665534fabae1520254d5d1832fef7c95fceb190be3b9944a5e1  xsa455-4.16.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmYVbQcMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZsY4IAJnYJTEEzhdG9+Qy/gcgwiKFB6lA5D6hQ1kAD739
fOh4GyA0ZYRLpfw8J4sVgYmPKl+S0Rx1qdt9X2GHVNIq5FqtFytx3lQt1VF4BTW6
kRHqqccHLKIo0MCRcNBw9wtn5BSQXpmJO9jpsazrBwxMPZpf2Z4mQhMO0aRxq2k7
Oyxz2O1ElNXzItuXM4ZT4OSR2pISjLC5mhKcauH3m/ecAbUwqEf6CjpvLXt7iI/0
OUqnZ7gO4m8fPoIaA0iT51o5Pb/EXTLnvyIrnlOL5C+xyNB8pQETP+cJZSnYYYWX
eNwQ+LwEgSHptPP09cbNFOnf+r1eJR22haPL2sMPveGbKRY=
=LR1k
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa455.patch"
Content-Disposition: attachment; filename="xsa455.patch"
Content-Transfer-Encoding: base64

RnJvbSA1YmM1NjEwMjRmODEzNzFmZjI2N2VkYWU3M2FlNGE3NjhiMmY3YTkx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpEYXRlOiBUdWUsIDI2IE1h
ciAyMDI0IDIyOjQ3OjI1ICswMDAwClN1YmplY3Q6IHg4Ni9zcGVjLWN0cmw6
IEZpeCBCVEMvU1JTTyBtaXRpZ2F0aW9ucwoKV2Ugd2VyZSBsb29raW5nIGZv
ciBTQ0ZfZW50cnlfaWJwYiBpbiB0aGUgd3JvbmcgdmFyaWFibGUgaW4gdGhl
IHRvcC1vZi1zdGFjawpibG9jaywgYW5kIHhlbl9zcGVjX2N0cmwgd29uJ3Qg
aGF2ZSBoYWQgYml0IDUgc2V0IGJlY2F1c2UgWGVuIGRvZXNuJ3QKdW5kZXJz
dGFuZCBTUEVDX0NUUkxfUlJTQkFfRElTX1UgeWV0LgoKVGhpcyBpcyBYU0Et
NDU1IC8gQ1ZFLTIwMjQtMzExNDIuCgpGaXhlczogNTNhNTcwYjI4NTY5ICgi
eDg2L3NwZWMtY3RybDogU3VwcG9ydCBJQlBCLW9uLWVudHJ5IikKU2lnbmVk
LW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9lbnRy
eS5TIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vZW50cnkuUwppbmRleCA2MGIw
YjAwZWQwYWYuLjA3MWIzOTk3YjFjMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L2h2bS9zdm0vZW50cnkuUworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2
bS9lbnRyeS5TCkBAIC0xMDEsNyArMTAxLDcgQEAgX19VTkxJS0VMWV9FTkQo
bnN2bV9oYXApCiAgICAgICAgIC8qIFNQRUNfQ1RSTF9FTlRSWV9GUk9NX1NW
TSAgICBSZXE6ICVyc3A9cmVncy9jcHVpbmZvLCAlcmR4PTAgQ2xvYjogYWNk
ICovCiAKICAgICAgICAgLm1hY3JvIHN2bV92bWV4aXRfY29uZF9pYnBiCi0g
ICAgICAgICAgICB0ZXN0YiAgJFNDRl9lbnRyeV9pYnBiLCBDUFVJTkZPX3hl
bl9zcGVjX2N0cmwoJXJzcCkKKyAgICAgICAgICAgIHRlc3RiICAkU0NGX2Vu
dHJ5X2licGIsIENQVUlORk9fc3BlY19jdHJsX2ZsYWdzKCVyc3ApCiAgICAg
ICAgICAgICBqeiAgICAgLkxfc2tpcF9pYnBiCiAKICAgICAgICAgICAgIG1v
diAgICAkTVNSX1BSRURfQ01ELCAlZWN4CmRpZmYgLS1naXQgYS94ZW4vYXJj
aC94ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsX2FzbS5oIGIveGVuL2FyY2gv
eDg2L2luY2x1ZGUvYXNtL3NwZWNfY3RybF9hc20uaAppbmRleCA2Mjk1MThj
YzY5MjUuLmMxOWIzOWQ4YzIwMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL3NwZWNfY3RybF9hc20uaAorKysgYi94ZW4vYXJjaC94
ODYvaW5jbHVkZS9hc20vc3BlY19jdHJsX2FzbS5oCkBAIC05MCw3ICs5MCw3
IEBACiAgICAgICAgIGp6ICAgICAuTFxAX3NraXAKICAgICAgICAgdGVzdGIg
ICQzLCBVUkVHU19jcyglcnNwKQogICAgIC5lbHNlCi0gICAgICAgIHRlc3Ri
ICAkU0NGX2VudHJ5X2licGIsIENQVUlORk9feGVuX3NwZWNfY3RybCglcnNw
KQorICAgICAgICB0ZXN0YiAgJFNDRl9lbnRyeV9pYnBiLCBDUFVJTkZPX3Nw
ZWNfY3RybF9mbGFncyglcnNwKQogICAgIC5lbmRpZgogICAgIGp6ICAgICAu
TFxAX3NraXAKIAo=

--=separator
Content-Type: application/octet-stream; name="xsa455-4.16.patch"
Content-Disposition: attachment; filename="xsa455-4.16.patch"
Content-Transfer-Encoding: base64

RnJvbSA5MDljZGRlOWYxMjZiZWFjOTg4OGU2YTFmZjIxZjA0MTRlZjg2ZmRi
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpEYXRlOiBUdWUsIDI2IE1h
ciAyMDI0IDIyOjQ3OjI1ICswMDAwClN1YmplY3Q6IHg4Ni9zcGVjLWN0cmw6
IEZpeCBCVEMvU1JTTyBtaXRpZ2F0aW9ucwoKV2Ugd2VyZSBsb29raW5nIGZv
ciBTQ0ZfZW50cnlfaWJwYiBpbiB0aGUgd3JvbmcgdmFyaWFibGUgaW4gdGhl
IHRvcC1vZi1zdGFjawpibG9jaywgYW5kIHhlbl9zcGVjX2N0cmwgd29uJ3Qg
aGF2ZSBoYWQgYml0IDUgc2V0IGJlY2F1c2UgWGVuIGRvZXNuJ3QKdW5kZXJz
dGFuZCBTUEVDX0NUUkxfUlJTQkFfRElTX1UgeWV0LgoKVGhpcyBpcyBYU0Et
NDU1IC8gQ1ZFLTIwMjQtMzExNDIuCgpGaXhlczogNTNhNTcwYjI4NTY5ICgi
eDg2L3NwZWMtY3RybDogU3VwcG9ydCBJQlBCLW9uLWVudHJ5IikKU2lnbmVk
LW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4
LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4KCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9lbnRy
eS5TIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vZW50cnkuUwppbmRleCBhZDVj
YTUwYzEyZTIuLmQxY2E1MzAzMTVmZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L2h2bS9zdm0vZW50cnkuUworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2
bS9lbnRyeS5TCkBAIC0xMDEsNyArMTAxLDcgQEAgX19VTkxJS0VMWV9FTkQo
bnN2bV9oYXApCiAgICAgICAgIC8qIFNQRUNfQ1RSTF9FTlRSWV9GUk9NX1NW
TSAgICBSZXE6ICVyc3A9cmVncy9jcHVpbmZvLCAlcmR4PTAgQ2xvYjogYWNk
ICovCiAKICAgICAgICAgLm1hY3JvIHN2bV92bWV4aXRfY29uZF9pYnBiCi0g
ICAgICAgICAgICB0ZXN0YiAgJFNDRl9lbnRyeV9pYnBiLCBDUFVJTkZPX3hl
bl9zcGVjX2N0cmwoJXJzcCkKKyAgICAgICAgICAgIHRlc3RiICAkU0NGX2Vu
dHJ5X2licGIsIENQVUlORk9fc3BlY19jdHJsX2ZsYWdzKCVyc3ApCiAgICAg
ICAgICAgICBqeiAgICAgLkxfc2tpcF9pYnBiCiAKICAgICAgICAgICAgIG1v
diAgICAkTVNSX1BSRURfQ01ELCAlZWN4CmRpZmYgLS1naXQgYS94ZW4vaW5j
bHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20uaCBiL3hlbi9pbmNsdWRlL2Fz
bS14ODYvc3BlY19jdHJsX2FzbS5oCmluZGV4IDZlNzcyNWMxMWYzYS4uOTQx
NjQ4M2MwYjI2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Nw
ZWNfY3RybF9hc20uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNf
Y3RybF9hc20uaApAQCAtMTAyLDcgKzEwMiw3IEBACiAgICAgICAgIGp6ICAg
ICAuTFxAX3NraXAKICAgICAgICAgdGVzdGIgICQzLCBVUkVHU19jcyglcnNw
KQogICAgIC5lbHNlCi0gICAgICAgIHRlc3RiICAkU0NGX2VudHJ5X2licGIs
IENQVUlORk9feGVuX3NwZWNfY3RybCglcnNwKQorICAgICAgICB0ZXN0YiAg
JFNDRl9lbnRyeV9pYnBiLCBDUFVJTkZPX3NwZWNfY3RybF9mbGFncyglcnNw
KQogICAgIC5lbmRpZgogICAgIGp6ICAgICAuTFxAX3NraXAKIAo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 17:04:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 17:04:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702569.1097689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruEtA-0002pl-7o; Tue, 09 Apr 2024 17:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702569.1097689; Tue, 09 Apr 2024 17: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 1ruEtA-0002pe-56; Tue, 09 Apr 2024 17:04:04 +0000
Received: by outflank-mailman (input) for mailman id 702569;
 Tue, 09 Apr 2024 17: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=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruEt8-0002nf-Eh
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 17:04: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 29079bfd-f693-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 19:04:00 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-516cbf3fe68so7216459e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 10:04:00 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m1-20020a05600c4f4100b0041665d968f1sm9141653wmq.47.2024.04.09.10.03.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 10: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: 29079bfd-f693-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712682240; x=1713287040; 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=egatvpYLsqeiB+vTmfKHdX0l32AmU3FIzRbxdVFw57U=;
        b=jGYyytzV5znfyQa9FWIA6ZQwbjjq6Usmc1rWQklny7PemqOVOW9/sIAKu6SxQJsAzB
         vyUCUYnMKMmCstO673snc/fvQSM1Vmue+t2tIvvPPbM/KYgJynXsqkI15dFcUNHnH3zU
         cMRD7rQ5Vn/jcsWnRPhdwBIyOQnjuXLp3vbt0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712682240; x=1713287040;
        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=egatvpYLsqeiB+vTmfKHdX0l32AmU3FIzRbxdVFw57U=;
        b=IG+uMuLnQ1u+3Vk2OsuHzl+StgeRkZfgFUnzs0qWa2BfhHswAxYndLm0uf6Ou1NlEo
         UxDGLRwdNRdCeIhHpKKWElXwboM0qdoH91/p4JFsOupRhdkdlJtr6wxCny87r3RDakth
         zgNLxsi37m1tbFQAsjjU/rKYbgkX51WOED0ljNRXhJbQAiiGbNVFXifbQay3a6UEkx9h
         EKOqfTf47VhgFEggSMybIRvwo7nJCxvUX83zCQHbp2LOSQlfLnG1fxF3BYYeEwnEKGPs
         +vN5J+GXa94JNKy2tHipmGuA5b8nGFc2JYzRZUwI7rr4vjunz6Dv6XX4V5+cloB9B7m6
         6j8Q==
X-Gm-Message-State: AOJu0Yy2UHYnpkrGQYfxRhd6ovo2YXsosdwBiRftJryMLMSq3xkRkWeU
	AwRF11Tb4nmTg0nj2jbMvdabL85PDKg0pqhGGetWXi0SckDnME6MCtsmkKtwggM=
X-Google-Smtp-Source: AGHT+IFzJ8i5TZ15zmtmVd+mLmjziOATF1hWoV1BuyCV6azXz1UbLhwnAmiLUKUaSZ4wXgM7jHnaKQ==
X-Received: by 2002:a2e:9ece:0:b0:2d8:5084:f5b9 with SMTP id h14-20020a2e9ece000000b002d85084f5b9mr203105ljk.28.1712682239866;
        Tue, 09 Apr 2024 10:03:59 -0700 (PDT)
Date: Tue, 9 Apr 2024 18:03:58 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v2 6/6] docs/man: Add xenwatchdog manual page
Message-ID: <8e8ed151-696f-47df-a458-4d84dfe043bc@perard>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-7-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240329111056.6118-7-leigh@solinno.co.uk>

On Fri, Mar 29, 2024 at 11:10:56AM +0000, leigh@solinno.co.uk wrote:
> diff --git a/docs/man/xenwatchdogd.8.pod b/docs/man/xenwatchdogd.8.pod
> new file mode 100644
> index 0000000000..2f6454f183
> --- /dev/null
> +++ b/docs/man/xenwatchdogd.8.pod
> @@ -0,0 +1,54 @@
> +=head1 NAME
> +
> +xenwatchdogd - Xen hypercall based watchdog daemon
> +
> +=head1 SYNOPSIS
> +
> +B<xenwatchdogd> [ I<OPTIONS> ] <I<TIMEOUT>> [ <I<SLEEP>> ]
> +
> +=head1 DESCRIPTION
> +
> +B<xenwatchdogd> arms the Xen watchdog timer to I<TIMEOUT> every I<SLEEP>
> +seconds. If the xenwatchdogd process dies or is delayed for more than
> +I<TIMEOUT> seconds, then Xen will reboot the domain.

Xen will not reboot the domain, it will just kill the domain with
watchdog as explanation. I think the toolstack is in charge of rebooting
the domain. There's a setting for `xl` created VM named
on_watchdog="ACTION", which by default is "destroy". So it's more likely
that the domain will be killed rather than rebooted.

So something like:
    Depending on the configuration for the guest, the domain might be
    destroyed, rebooted, or other. See B<on_watchdog> in xl.cfg(5)

> + If the domain being
> +rebooted is domain 0, the whole system will reboot.

Maybe something like "if B<xenwatchdogd> is running in dom0, the whole
system will reboot". I'm not sure if the host reboot in this case by
default, probably.

> +=head1 SIGNALS
> +
> +B<SIGUSR1> Will cause the program to disarm the watchdog timer and exit,
> +regardless of whether the safe exit option was passed.

"whether B<--safe-exit> option" ..

I think it's better to call-out the option explicitly.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 17:07:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 17:07:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702583.1097699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruEwg-0003wi-PU; Tue, 09 Apr 2024 17:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702583.1097699; Tue, 09 Apr 2024 17:07:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruEwg-0003wb-MI; Tue, 09 Apr 2024 17:07:42 +0000
Received: by outflank-mailman (input) for mailman id 702583;
 Tue, 09 Apr 2024 17: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=mUTu=LO=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruEwf-0003wV-SF
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 17:07:41 +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 abd1de7f-f693-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 19:07:40 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-343c2f5b50fso3901466f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 10:07:40 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n15-20020a5d4c4f000000b0034403ee44b1sm9684846wrt.14.2024.04.09.10.07.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 10: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: abd1de7f-f693-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712682459; x=1713287259; 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=7W0XoYJG1ABQmQWziB6ZTH+cVgNmcQ5aFQjOf+T3hBY=;
        b=JoCjzx5lYAI/itI+oZaH6R4B6OFgxThwOsbz0OTanq0jqC9+Eg+7wswaLOar5FMRkK
         qQpPA8rOvX6MM1vTSQy5LGtqCphY+dLVm+iw3qL0gN0SEeHM5XllcLlvvk8qtpp4IXtG
         lkBs806493NA7utbQtXgita5jBih4uH+P7d08=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712682459; x=1713287259;
        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=7W0XoYJG1ABQmQWziB6ZTH+cVgNmcQ5aFQjOf+T3hBY=;
        b=iJbKgDekf38fV/vLnEOEOu/YXtIn6KEqqTJ4yHoL7f7Qezp9ZrUgNgvyNeF+UjAf3f
         F0frvGe0v741/cQTg2X35QcEm+hHxZ12LyGJVVKzdtk0x2JYN56Z4OH9Fb0pAGZnx85z
         uMA8IxW9BSm+DWR4prqiu/0sXJkj55cGJw8hA7PP8mOFb0pOxP2J1AMUb+iqFGQmbybq
         NLvZvlSheVE+tKi1MT0RgIQxfKzf5vSW9Fr2L3D5Zv+LJl4gkMESEVfaxIiYJ6rdrCEx
         Osc/oloY3d1bEli7WskR/kIsJ0gKYyHT+W0qf5c47dCoSKAvN+sQLUL/b3hUQirua3aA
         3nng==
X-Gm-Message-State: AOJu0Ywr3dE48RKxBOQBk/IaHNmyj1rEA08YT941M3ED0muO7J5vo1Yj
	a7ChBvoGW3szXmI59pBaQmLkgopObBcAOoeU6375dvqKP42yyAxNtsxLuOhz1L6hJ9y5/tLyeBh
	2
X-Google-Smtp-Source: AGHT+IF36X3R37sJWQQsGWyDknjDaHlA6Rqcww3+1bjXUXjN3OV6iND4TxbzHCReXGXLptbL1BYAmA==
X-Received: by 2002:a5d:58d7:0:b0:343:a2fb:92aa with SMTP id o23-20020a5d58d7000000b00343a2fb92aamr169104wrf.71.1712682459335;
        Tue, 09 Apr 2024 10:07:39 -0700 (PDT)
Date: Tue, 9 Apr 2024 18:07:38 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v2 0/6] xenwatchdogd bugfixes and enhancements
Message-ID: <67267013-2505-4685-b2ac-b62645e73ca7@perard>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240329111056.6118-1-leigh@solinno.co.uk>

On Fri, Mar 29, 2024 at 11:10:50AM +0000, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> The primary intention of this patch series is to replace the 
> pathologically bad behaviour of rebooting the domain if you run 
> "xenwatchdogd -h". To that end, I have implemented comprehensive 
> argument validation. This validation ensures you can't pass 
> arguments that instantly reboot the domain or cause it to spin 
> loop running sleep(0) repeatedly.
> 
> I added a couple of enhancements whilst working on the changes as 
> they were easy enough.  In particular, being able to run in the
> foreground, disarming the watchdog on exit, help and a manpage.
> 
> Changes since v1:
> - Add Signed-off-by on every patch.
> - Make global variables static.
> 
> Full list of changes:
> - Use getopt_long() to add -h/--help with associated usage help.
> - Add -F/--foreground parameter to run without daemonizing.
> - Add -x/--save-exit parameter to disarm the watchdog when exiting.
> - Validate timeout is numeric and is at least two seconds.
> - Validate sleep is numeric and is at least one and less than timeout.
> - Check for too many arguments.
> - Use symbol constants instead of magic numbers where possible.
> - Make all functions except main() and global variables static.
> - Add a manual page for xenwatchdogd().

It might be worth mentioning something about these in the CHANGELOG.
Probably not need to go into detail, maybe just "improved xenwatchdogd
options, see new man page."

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 17:11:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 17:11:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702595.1097743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruF05-0006Wu-T9; Tue, 09 Apr 2024 17:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702595.1097743; Tue, 09 Apr 2024 17: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 1ruF05-0006Wm-QS; Tue, 09 Apr 2024 17:11:13 +0000
Received: by outflank-mailman (input) for mailman id 702595;
 Tue, 09 Apr 2024 17: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=pd+N=LO=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1ruF04-0005pB-22
 for xen-devel@lists.xen.org; Tue, 09 Apr 2024 17:11:12 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2840499d-f694-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 19:11:09 +0200 (CEST)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1ruEzu-0005MG-NW; Tue, 09 Apr 2024 17:11:02 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1ruEzu-0003pl-M1; Tue, 09 Apr 2024 17:11:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2840499d-f694-11ee-b907-491648fe20b8
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=U1PG/nsPCwUqdMSdLQxGWBCZUtFoLKVsU0sovIo+LGo=; b=LueaI/8VcS18FHtsrwSn+PS31G
	wBYtj8bh7XoxF9FhIT2KSM+jo5aEtUOHG5apb3sLSXaQSKREK59sVJ/fcr+hwLrMaYn1Eg8HjAtD8
	ywUUw+EbDPe+rw0EcB5Db6vzaD5TZ5VBdFW2gweJ29nHxALM4HRoeaJqcHLFBjueqwE8=;
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 456 v2 (CVE-2024-2201) - x86: Native Branch
 History Injection
Message-Id: <E1ruEzu-0003pl-M1@xenbits.xenproject.org>
Date: Tue, 09 Apr 2024 17:11:02 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2024-2201 / XSA-456
                              version 2

                 x86: Native Branch History Injection

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

In August 2022, researchers at VU Amsterdam disclosed Spectre-BHB.

Spectre-BHB was discussed in XSA-398.  At the time, the susceptibility
of Xen to Spectre-BHB was uncertain so no specific action was taken in
XSA-398.  However, various changes were made thereafter in upstream Xen
as a consequence; more on these later.

VU Amsterdam have subsequently adjusted the attack to be pulled off
entirely from userspace, without the aid of a managed runtime in the
victim context.

For more details, see:
  https://vusec.net/projects/native-bhi
  https://vusec.net/projects/bhi-spectre-bhb
  https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html
  https://xenbits.xen.org/xsa/advisory-398.html

IMPACT
======

An attacker might be able to infer the contents of arbitrary host
memory, including memory assigned to other guests.

VULNERABLE SYSTEMS
==================

Systems running all versions of Xen are affected.

Only Intel x86 CPUs are potentially affected.  CPUs from other
manufacturers are not known to be affected.

A wide range of Intel CPUs employ Branch History prediction techniques.
However for older CPUs existing Spectre-v2 mitigations (XSA-254) are
believed to be sufficient to mitigate Native-BHI.

Therefore, the rest of the discussion will be limited in scope to the
CPUs for which a change in behaviour is expected.  These are believed to
be all CPUs with eIBRS (Enhanced IBRS, a.k.a. IBRS_ALL or IBRS_ATT).
eIBRS signifies a hardware adjustment (mode-tagged indirect predictions)
designed to combat Spectre-v2, available in CPUs from 2019 onwards.

To determine if a system has eIBRS, run `xen-cpuid -v` in dom0, looking for
the string "eibrs" in the Dynamic Raw block of information.  e.g.

  # xen-cpuid -v
  ...
  Dynamic sets:
  Raw                             ...
    ...
    [16] MSR_ARCH_CAPS.lo         ... eibrs ...
    ...
  ...

Be aware that the Static sets are compile time information so will include the
string "eibrs" irrespective of hardware support.  If there is no row for "[16]
MSR_ARCH_CAPS.lo" then the fixes for XSA-435 are missing.

MITIGATION
==========

There are no mitigations.

CREDITS
=======

This issue was discovered by VU Amsterdam.

RESOLUTION
==========

In Xen 4.17, in response to the original Spectre-BHB, CET-IBT support was
added to Xen to use on capable hardware.  It also came with work to remove
unnecessary function pointers, and to de-virtualise function pointers at boot,
as both a performance and hardening improvement.  This work has been steadily
continuing since, and every removed/de-virtualised function pointer reduces
the options available to an adversary trying to mount a Native-BHI attack.
All of this work has been backported to 4.17 and later for this advisory.

Beginning with the Intel Alder Lake (Client) and Sapphire Rapids (Server)
CPUs, a hardware control called BHI_DIS_S is available, which restricts
history-based predictions.  This control requires updated microcode on some
CPUs.  Look for "bhi-ctrl" in `xen-cpuid -v`, similar to eibrs above.

Xen has been updated to use this control when available, and to virtualise it
for guests to use.

For CPUs without BHI_DIS_S, BHB clearing sequences need using.  Out of an
abundance of caution, all sequences in the Intel whitepaper have been
implemented, although Xen will only use the "short" sequence by default.  The
others are available to opt in to.

The work to mitigate Native-BHI is extensive, and the backports are
more-extensive still.

Therefore, we have decided to produce new releases on all stable trees.
Please find fixes in the respective branches under the following release
tags:

  RELEASE-4.18.2
  RELEASE-4.17.4
  RELEASE-4.16.6
  RELEASE-4.15.6

Other release activities (tarballs, announcements, etc) will happen in
due course.

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/4UyVfoK9kFAmYVdY4MHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZNk0IAMWbhl7mAn9QN5pG9rl36Vc/I3JKW5L0Tk4WAlMH
edpuYbd6epNofksphsSmpEf2clYqtDs/7Rcy138YlyfEoE5JVTWcN/RgXqJ3/W84
bzkLb1qY1U8muyQpa0jmo9DXM1Yb20ejVUSf2s290ninuhmy7HsZpl/Gnwj+zV0R
zhR1dgGMvnqzj4b+7XAi5n9Y0vFWoAN+fsMCx4Ml0yPM8yIOJSswDfGmzgc/KKMV
Wq+li52y+qpqACuODTDq7NQAZIE8biwkxrUC9kg9N9q2jsAJbEFwnNLrOHT8UA+9
pDIcuR7aF4hTDaqK31mD2cdXosBkWprcPQgyM/4mpTKuu+I=
=M1Pd
-----END PGP SIGNATURE-----

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 17:36:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 17:36:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702781.1098318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruFNz-00029e-JA; Tue, 09 Apr 2024 17:35:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702781.1098318; Tue, 09 Apr 2024 17: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 1ruFNz-00029X-Fr; Tue, 09 Apr 2024 17:35:55 +0000
Received: by outflank-mailman (input) for mailman id 702781;
 Tue, 09 Apr 2024 17:35: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 1ruFNy-00029M-7V; Tue, 09 Apr 2024 17:35: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 1ruFNy-00061B-6Y; Tue, 09 Apr 2024 17:35: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 1ruFNx-0008So-So; Tue, 09 Apr 2024 17:35:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruFNx-0004zB-SD; Tue, 09 Apr 2024 17:35:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FS/EOS8bVevw+dzeR03OJJLdKq0go2cb4jOTF382P1o=; b=cCXncQMRKqN1RGilJG9/jslcF1
	jSNVnPqsqs1MDMfsTgw8XyXlGSqZ40vrQtvUho2XSZpFjmZdUde4dJm0eIiiPNQyl9pb04iSy9ZhA
	r9sizLyHCaMQnpMCRZ82RHPahX6US8SOfngQnJqmkopRDrXf1EfH431E/kwKM1fFwHCk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185286-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185286: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9926e692c4afc40bcd66f8416ff6a1e93ce402f6
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 17:35:53 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9926e692c4afc40bcd66f8416ff6a1e93ce402f6
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185276  2024-04-09 01:02:07 Z    0 days
Testing same since   185286  2024-04-09 13:02:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bjoern Doebel <doebel@amazon.de>
  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
   672b26b66e..9926e692c4  9926e692c4afc40bcd66f8416ff6a1e93ce402f6 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 18:33:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 18:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702790.1098328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruGHh-0005Wy-Ff; Tue, 09 Apr 2024 18:33:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702790.1098328; Tue, 09 Apr 2024 18: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 1ruGHh-0005Wr-CB; Tue, 09 Apr 2024 18:33:29 +0000
Received: by outflank-mailman (input) for mailman id 702790;
 Tue, 09 Apr 2024 18:33: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 1ruGHg-0005Wh-0A; Tue, 09 Apr 2024 18:33: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 1ruGHf-000713-SQ; Tue, 09 Apr 2024 18:33:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruGHf-0003Ra-Hs; Tue, 09 Apr 2024 18:33:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruGHf-0000dW-HR; Tue, 09 Apr 2024 18:33:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=e40oP1NZEUDGGyi3lPiIRISOUXkfFMFE+a0Rrg5HxAM=; b=Hd0Gxat9kpdcz5zuxvcY5lzde1
	w0Gm2ZeY1I36g/HnyU+4oK+sdPTGtRkEBjXJCnOxYqEFe95xI5ac5TNbpKJYyiADxJU8KGGOfrO//
	4I/Y303Exa5+t+veH7zOwLvm06Kq+kQP9dJ/Mh0KTgiicPCyqGcCPefqECzpb7ReiPKc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185279-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185279: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=20cb38a7af88dc40095da7c2c9094da3873fea23
X-Osstest-Versions-That:
    linux=fec50db7033ea478773b159e0e2efb135270e3b7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 18:33:27 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build   fail in 185275 REGR. vs. 185270

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 185275
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 185275

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

version targeted for testing:
 linux                20cb38a7af88dc40095da7c2c9094da3873fea23
baseline version:
 linux                fec50db7033ea478773b159e0e2efb135270e3b7

Last test of basis   185270  2024-04-07 20:42:12 Z    1 days
Testing same since   185275  2024-04-08 23:43:57 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Boris Burkov <boris@bur.io>
  David Sterba <dsterba@suse.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Wei Yang <richard.weiyang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          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                                  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


Not pushing.

------------------------------------------------------------
commit 20cb38a7af88dc40095da7c2c9094da3873fea23
Merge: 4f0a8fe3215c 6e68de0bb0ed
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Apr 8 13:11:11 2024 -0700

    Merge tag 'for-6.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
     "Several fixes to qgroups that have been recently identified by test
      generic/475:
    
       - fix prealloc reserve leak in subvolume operations
    
       - various other fixes in reservation setup, conversion or cleanup"
    
    * tag 'for-6.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: always clear PERTRANS metadata during commit
      btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
      btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_trans
      btrfs: record delayed inode root in transaction
      btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations
      btrfs: qgroup: correctly model root qgroup rsv in convert

commit 4f0a8fe3215c432234baed20eb8210efe1c32b10
Merge: fec50db7033e 592447f6cb3c
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Apr 8 10:11:37 2024 -0700

    Merge tag 'fixes-2024-04-08' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock
    
    Pull memblock fixes from Mike Rapoport:
     "Fix build errors in memblock tests:
    
       - add stubs to functions that calls to them were recently added to
         memblock but they were missing in tests
    
       - update gfp_types.h to include bits.h so that BIT() definitions
         won't depend on other includes"
    
    * tag 'fixes-2024-04-08' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock:
      memblock tests: fix undefined reference to `BIT'
      memblock tests: fix undefined reference to `panic'
      memblock tests: fix undefined reference to `early_pfn_to_nid'

commit 592447f6cb3c20d606d6c5d8e6af68e99707b786
Author: Wei Yang <richard.weiyang@gmail.com>
Date:   Tue Apr 2 13:27:01 2024 +0000

    memblock tests: fix undefined reference to `BIT'
    
    commit 772dd0342727 ("mm: enumerate all gfp flags") define gfp flags
    with the help of BIT, while gfp_types.h doesn't include header file for
    the definition. This through an error on building memblock tests.
    
    Let's include linux/bits.h to fix it.
    
    Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    CC: Suren Baghdasaryan <surenb@google.com>
    CC: Michal Hocko <mhocko@suse.com>
    Link: https://lore.kernel.org/r/20240402132701.29744-4-richard.weiyang@gmail.com
    Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>

commit e0f5a8e74be88f2476e58b25d3b49a9521bdc4ec
Author: Wei Yang <richard.weiyang@gmail.com>
Date:   Tue Apr 2 13:27:00 2024 +0000

    memblock tests: fix undefined reference to `panic'
    
    commit e96c6b8f212a ("memblock: report failures when memblock_can_resize
    is not set") introduced the usage of panic, which is not defined in
    memblock test.
    
    Let's define it directly in panic.h to fix it.
    
    Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    CC: Song Shuai <songshuaishuai@tinylab.org>
    CC: Mike Rapoport <rppt@kernel.org>
    Link: https://lore.kernel.org/r/20240402132701.29744-3-richard.weiyang@gmail.com
    Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>

commit 7d8ed162e6a92268d4b2b84d364a931216102c8e
Author: Wei Yang <richard.weiyang@gmail.com>
Date:   Tue Apr 2 13:26:59 2024 +0000

    memblock tests: fix undefined reference to `early_pfn_to_nid'
    
    commit 6a9531c3a880 ("memblock: fix crash when reserved memory is not
    added to memory") introduce the usage of early_pfn_to_nid, which is not
    defined in memblock tests.
    
    The original definition of early_pfn_to_nid is defined in mm.h, so let
    add this in the corresponding mm.h.
    
    Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
    CC: Yajun Deng <yajun.deng@linux.dev>
    CC: Mike Rapoport <rppt@kernel.org>
    Link: https://lore.kernel.org/r/20240402132701.29744-2-richard.weiyang@gmail.com
    Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org>

commit 6e68de0bb0ed59e0554a0c15ede7308c47351e2d
Author: Boris Burkov <boris@bur.io>
Date:   Tue Mar 26 12:01:28 2024 -0700

    btrfs: always clear PERTRANS metadata during commit
    
    It is possible to clear a root's IN_TRANS tag from the radix tree, but
    not clear its PERTRANS, if there is some error in between. Eliminate
    that possibility by moving the free up to where we clear the tag.
    
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 3c6f0c5ecc8910d4ffb0dfe85609ebc0c91c8f34
Author: Boris Burkov <boris@bur.io>
Date:   Tue Mar 26 11:55:22 2024 -0700

    btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve
    
    Currently, this call site in btrfs_clear_delalloc_extent() only converts
    the reservation. We are marking it not delalloc, so I don't think it
    makes sense to keep the rsv around.  This is a path where we are not
    sure to join a transaction, so it leads to incorrect free-ing during
    umount.
    
    Helps with the pass rate of generic/269 and generic/475.
    
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 211de93367304ab395357f8cb12568a4d1e20701
Author: Boris Burkov <boris@bur.io>
Date:   Thu Mar 21 10:18:39 2024 -0700

    btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_trans
    
    The transaction is only able to free PERTRANS reservations for a root
    once that root has been recorded with the TRANS tag on the roots radix
    tree. Therefore, until we are sure that this root will get tagged, it
    isn't safe to convert. Generally, this is not an issue as *some*
    transaction will likely tag the root before long and this reservation
    will get freed in that transaction, but technically it could stick
    around until unmount and result in a warning about leaked metadata
    reservation space.
    
    This path is most exercised by running the generic/269 fstest with
    CONFIG_BTRFS_DEBUG.
    
    Fixes: a6496849671a ("btrfs: fix start transaction qgroup rsv double free")
    CC: stable@vger.kernel.org # 6.6+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 71537e35c324ea6fbd68377a4f26bb93a831ae35
Author: Boris Burkov <boris@bur.io>
Date:   Thu Mar 21 10:14:24 2024 -0700

    btrfs: record delayed inode root in transaction
    
    When running delayed inode updates, we do not record the inode's root in
    the transaction, but we do allocate PREALLOC and thus converted PERTRANS
    space for it. To be sure we free that PERTRANS meta rsv, we must ensure
    that we record the root in the transaction.
    
    Fixes: 4f5427ccce5d ("btrfs: delayed-inode: Use new qgroup meta rsv for delayed inode and item")
    CC: stable@vger.kernel.org # 6.1+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 74e97958121aa1f5854da6effba70143f051b0cd
Author: Boris Burkov <boris@bur.io>
Date:   Thu Mar 21 10:02:04 2024 -0700

    btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations
    
    Create subvolume, create snapshot and delete subvolume all use
    btrfs_subvolume_reserve_metadata() to reserve metadata for the changes
    done to the parent subvolume's fs tree, which cannot be mediated in the
    normal way via start_transaction. When quota groups (squota or qgroups)
    are enabled, this reserves qgroup metadata of type PREALLOC. Once the
    operation is associated to a transaction, we convert PREALLOC to
    PERTRANS, which gets cleared in bulk at the end of the transaction.
    
    However, the error paths of these three operations were not implementing
    this lifecycle correctly. They unconditionally converted the PREALLOC to
    PERTRANS in a generic cleanup step regardless of errors or whether the
    operation was fully associated to a transaction or not. This resulted in
    error paths occasionally converting this rsv to PERTRANS without calling
    record_root_in_trans successfully, which meant that unless that root got
    recorded in the transaction by some other thread, the end of the
    transaction would not free that root's PERTRANS, leaking it. Ultimately,
    this resulted in hitting a WARN in CONFIG_BTRFS_DEBUG builds at unmount
    for the leaked reservation.
    
    The fix is to ensure that every qgroup PREALLOC reservation observes the
    following properties:
    
    1. any failure before record_root_in_trans is called successfully
       results in freeing the PREALLOC reservation.
    2. after record_root_in_trans, we convert to PERTRANS, and now the
       transaction owns freeing the reservation.
    
    This patch enforces those properties on the three operations. Without
    it, generic/269 with squotas enabled at mkfs time would fail in ~5-10
    runs on my system. With this patch, it ran successfully 1000 times in a
    row.
    
    Fixes: e85fde5162bf ("btrfs: qgroup: fix qgroup meta rsv leak for subvolume operations")
    CC: stable@vger.kernel.org # 6.1+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>

commit 141fb8cd206ace23c02cd2791c6da52c1d77d42a
Author: Boris Burkov <boris@bur.io>
Date:   Tue Mar 19 10:54:22 2024 -0700

    btrfs: qgroup: correctly model root qgroup rsv in convert
    
    We use add_root_meta_rsv and sub_root_meta_rsv to track prealloc and
    pertrans reservations for subvolumes when quotas are enabled. The
    convert function does not properly increment pertrans after decrementing
    prealloc, so the count is not accurate.
    
    Note: we check that the fs is not read-only to mirror the logic in
    qgroup_convert_meta, which checks that before adding to the pertrans rsv.
    
    Fixes: 8287475a2055 ("btrfs: qgroup: Use root::qgroup_meta_rsv_* to record qgroup meta reserved space")
    CC: stable@vger.kernel.org # 6.1+
    Reviewed-by: Qu Wenruo <wqu@suse.com>
    Signed-off-by: Boris Burkov <boris@bur.io>
    Signed-off-by: David Sterba <dsterba@suse.com>


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 19:45:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 19:45:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702802.1098338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHPB-0001FV-Mw; Tue, 09 Apr 2024 19:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702802.1098338; Tue, 09 Apr 2024 19:45:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHPB-0001FO-Js; Tue, 09 Apr 2024 19:45:17 +0000
Received: by outflank-mailman (input) for mailman id 702802;
 Tue, 09 Apr 2024 19:45: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=xQG8=LO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1ruHPA-0001FI-CR
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 19:45:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae6a3879-f6a9-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 21:45:13 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id BABB64EE0739;
 Tue,  9 Apr 2024 21:45: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: ae6a3879-f6a9-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Tue, 09 Apr 2024 21:45:12 +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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 1/9] x86/vlapic: tidy switch statement and address
 MISRA violation
In-Reply-To: <36e84201-b31f-4204-8cff-ed50a01a47ed@suse.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com>
 <36e84201-b31f-4204-8cff-ed50a01a47ed@suse.com>
Message-ID: <e847ee06b76b816a62a555dfa6d52a4a@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-04-08 09:32, Jan Beulich wrote:
> On 05.04.2024 11:14, Nicola Vetrini wrote:
>> Remove unneded blank lines between switch clauses.
> 
> "Unneeded" based on what? We're carefully trying to improve readability 
> of
> large switch() statements by adding such blank lines (at least) between 
> non-
> fall-through case blocks, and you go and remove them?
> 
> Jan

I wrote that based on this earlier suggestion [1]. If I misunderstood 
the suggestion, then I apologize and feel free to strip them if you 
want.

[1] 
https://lore.kernel.org/xen-devel/e40579ba-acae-4c11-bea1-a5b83208db10@suse.com/

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 19:48:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 19:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702805.1098349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHRw-0001u3-5N; Tue, 09 Apr 2024 19:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702805.1098349; Tue, 09 Apr 2024 19:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHRw-0001tw-15; Tue, 09 Apr 2024 19:48:08 +0000
Received: by outflank-mailman (input) for mailman id 702805;
 Tue, 09 Apr 2024 19:48: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=xQG8=LO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1ruHRu-0001to-0F
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 19:48:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1443a1b0-f6aa-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 21:48:04 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id D44F54EE0739;
 Tue,  9 Apr 2024 21:48:03 +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: 1443a1b0-f6aa-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Tue, 09 Apr 2024 21:48:03 +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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 2/9] x86/cpuid: address violation of MISRA C Rule
 16.2
In-Reply-To: <33239d84-3998-4ed6-a970-243fe4468b0b@suse.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <f957c92d9a00c66df47fc3cac336e378488b9fea.1712305581.git.nicola.vetrini@bugseng.com>
 <33239d84-3998-4ed6-a970-243fe4468b0b@suse.com>
Message-ID: <14dd6fb69770924d1860cf523c99848c@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-04-08 09:39, Jan Beulich wrote:
> On 05.04.2024 11:14, Nicola Vetrini wrote:
>> Refactor the switch so that a violation of MISRA C Rule 16.2 is 
>> resolved
>> (A switch label shall only be used when the most closely-enclosing
>> compound statement is the body of a switch statement).
>> Note that the switch clause ending with the pseudo
>> keyword "fallthrough" is an allowed exception to Rule 16.3.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> albeit once again with remarks:
> 
>> --- a/xen/arch/x86/cpuid.c
>> +++ b/xen/arch/x86/cpuid.c
>> @@ -331,23 +331,22 @@ void guest_cpuid(const struct vcpu *v, uint32_t 
>> leaf,
>>          switch ( subleaf )
>>          {
>>          case 1:
>> -            if ( p->xstate.xsavec || p->xstate.xsaves )
>> -            {
>> -                /*
>> -                 * TODO: Figure out what to do for XSS state.  VT-x 
>> manages
>> -                 * host vs guest MSR_XSS automatically, so as soon as 
>> we start
>> -                 * supporting any XSS states, the wrong XSS will be 
>> in
>> -                 * context.
>> -                 */
>> -                BUILD_BUG_ON(XSTATE_XSAVES_ONLY != 0);
>> -
>> -                /*
>> -                 * Read CPUID[0xD,0/1].EBX from hardware.  They vary 
>> with
>> -                 * enabled XSTATE, and appropraite XCR0|XSS are in 
>> context.
>> -                 */
>> +            if ( !(p->xstate.xsavec || p->xstate.xsaves) )
> 
> Personally I dislike with for of writing such. It may not be overly 
> much of a
> problem for simple cases like here, but the more complex the expression 
> gets,
> the less helpful it is that somewhere far away there's an enclosing 
> !(...). I
> may take the liberty to adjust this, should I end up committing this 
> change.
> 

Ok, makes sense. I didn't think about that style aspect.

>> +                break;
>> +            /*
>> +             * TODO: Figure out what to do for XSS state.  VT-x 
>> manages
>> +             * host vs guest MSR_XSS automatically, so as soon as we 
>> start
>> +             * supporting any XSS states, the wrong XSS will be in
>> +             * context.
>> +             */
> 
> Much like one actually needs to consider re-flowing when increasing 
> indentation
> of a comment, it is generally desirable to also to so when decreasing
> indentation, which in this case surely would allow at least "context" 
> to be
> moved to the earlier line.
> 
> Jan

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 19:49:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 19:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702808.1098359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHSv-0002S5-F5; Tue, 09 Apr 2024 19:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702808.1098359; Tue, 09 Apr 2024 19: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 1ruHSv-0002Ry-AB; Tue, 09 Apr 2024 19:49:09 +0000
Received: by outflank-mailman (input) for mailman id 702808;
 Tue, 09 Apr 2024 19: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=xQG8=LO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1ruHSu-0002Pe-Gr
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 19:49:08 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a28034b-f6aa-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 21:49:07 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 705C14EE0739;
 Tue,  9 Apr 2024 21:49: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: 3a28034b-f6aa-11ee-b907-491648fe20b8
MIME-Version: 1.0
Date: Tue, 09 Apr 2024 21:49:07 +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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 6/9] x86/hvm: address violations of MISRA C Rule
 16.2
In-Reply-To: <1ed00b0a-2aa3-4ab4-b483-e6fd6ed2cd9e@suse.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <165d61fab77c0b6613b78e0091195753fe9cd2cc.1712305581.git.nicola.vetrini@bugseng.com>
 <1ed00b0a-2aa3-4ab4-b483-e6fd6ed2cd9e@suse.com>
Message-ID: <a8cddd0cc669e3eacfe71902f8d7ee27@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-04-08 09:57, Jan Beulich wrote:
> On 05.04.2024 11:14, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/hvm/hypercall.c
>> +++ b/xen/arch/x86/hvm/hypercall.c
>> @@ -119,12 +119,12 @@ int hvm_hypercall(struct cpu_user_regs *regs)
>>              (mode == 8 ? regs->rdi : regs->ebx) == 
>> HVMOP_guest_request_vm_event )
>>              break;
>> 
>> -        if ( unlikely(hvm_get_cpl(curr)) )
>> -        {
>> +        if ( !unlikely(hvm_get_cpl(curr)) )
> 
> likely() / unlikely() want to be the outermost part of a conditional
> like this (things are different with && or ||), i.e.
> 
>         if ( likely(!hvm_get_cpl(curr)) )
> 

Ok, LGTM

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

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 20:00:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 20:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702812.1098367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHdi-0005VJ-C0; Tue, 09 Apr 2024 20:00:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702812.1098367; Tue, 09 Apr 2024 20:00:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHdi-0005VC-9W; Tue, 09 Apr 2024 20:00:18 +0000
Received: by outflank-mailman (input) for mailman id 702812;
 Tue, 09 Apr 2024 20:00:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xQG8=LO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1ruHdg-0005V6-T4
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 20:00:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7c51963-f6ab-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 22:00:14 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 697A64EE0739;
 Tue,  9 Apr 2024 22:00: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: c7c51963-f6ab-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Tue, 09 Apr 2024 22:00:14 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.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
Subject: Re: [XEN PATCH v2 7/9] xen/xsm: address violation of MISRA C Rule
 16.2
In-Reply-To: <543f34ed-48f3-4ce5-bd34-00c2cf176ba0@apertussolutions.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <7fbb80bf62fc2e5f91a89375134622366c0b3891.1712305581.git.nicola.vetrini@bugseng.com>
 <543f34ed-48f3-4ce5-bd34-00c2cf176ba0@apertussolutions.com>
Message-ID: <c364de9357b5f3419e592e7ad3bd307a@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-04-09 16:02, Daniel P. Smith wrote:
> On 4/5/24 05:14, Nicola Vetrini wrote:
>> Refactor the switch so that a violation of
>> MISRA C Rule 16.2 is resolved (A switch label shall only be used
>> when the most closely-enclosing compound statement is the body of
>> a switch statement).
>> Note that the switch clause ending with the pseudo
>> keyword "fallthrough" is an allowed exception to Rule 16.3.
>> 
> 
> To give you a quick response, on cursory review, I do not believe the 
> two are equivalent. I have never been a fan of the Duff's device in use 
> here, as it makes reasoning about all the variations difficult. I 
> unrolled all of this once before, and I recall it being a bit more 
> intricate than this.
> 
> v/r,
> dps

Hi,

basically what I was trying to accomplish is this: XSM_TARGET will 
either enter the if and return, or fallthrough to XSM_XS_PRIV, but then 
it won't enter the if (as it did before because in order to reach this 
second case's if statement it had to also satisfy the first condition 
(evaluate_nospec(src == target)), which would then cause the XSM_TARGET 
phase to return 0). And then if either the action != XSM_XS_PRIV or the 
other condition is not satisfied we go down to XSM_DM_PRIV, just like 
before. I may have made a logical mistake somewhere, of course, but it 
seems the same thing semantically, by relying on the fact that

case XSM_TARGET:
if (...) {
   return 0;
case XSM_XS_PRIV:
    ...
}

can be rewritten as

case XSM_TARGET:
   if (...) { return 0; }
   fallthrough;
case XSM_XS_PRIV:
   if (action == XSM_XS_PRIV && ...) { ... }
case XSM_DM_PRIV:

because there wasn't other code after the closed bracket of the if in 
the XSM_XS_PRIV case (only a fallthough that remained as is).

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 20:03:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 20:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702816.1098378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruHgf-00064j-RC; Tue, 09 Apr 2024 20:03:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702816.1098378; Tue, 09 Apr 2024 20: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 1ruHgf-00064c-Nr; Tue, 09 Apr 2024 20:03:21 +0000
Received: by outflank-mailman (input) for mailman id 702816;
 Tue, 09 Apr 2024 20: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=Oxf6=LO=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1ruHge-00064W-9z
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 20:03:20 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 351f8580-f6ac-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 22:03: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 56DED61A02;
 Tue,  9 Apr 2024 20:03:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6EFDC433F1;
 Tue,  9 Apr 2024 20:03:16 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 351f8580-f6ac-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712692996;
	bh=W0Dg/LFVG/zk6w1OJr/E+L0AAUiXJ9nwCf1h17aljN0=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=qIuyFRFe8Io8vngdx3pCHOgr9fPX5ND0sl//x5REFfEOjyjYNU76rWwfsRqAw6vDv
	 3Vib8zwLf743gCAZaVORYHFdeQSWBjOKZ5k0yJxTbO8HsUfJZDiZYbd+hGnpXRUc8T
	 ZX109BdQn0wlxURG5F2KlWvXYdgcHPHFf6tjCnChvmRiY33b/a4pYTzJv4R6bTTcJV
	 UJroth14Lrg1CsSiP/NUrmp8jlcJIsPDDTTsOWZfa7qKaHWkbebDvYgcu2xGVpWZr/
	 GzkTGJMCToZ8xhCzRsQn1IAetrwX0w0O9cWHbWXO6ZVomimvxzE2jhBqO8B+I131GQ
	 I2c2hOSkzQ4Xg==
Date: Tue, 9 Apr 2024 15:03:14 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>
Cc: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Len Brown <lenb@kernel.org>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	"Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [RFC KERNEL PATCH v4 3/3] PCI/sysfs: Add gsi sysfs for pci_dev
Message-ID: <20240409200314.GA2086199@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <BL1PR12MB5849572DFC67B1F8A68E123DE7002@BL1PR12MB5849.namprd12.prod.outlook.com>

[+to Rafael]

On Mon, Apr 08, 2024 at 06:42:31AM +0000, Chen, Jiqian wrote:
> Hi Bjorn,
> It has been almost two months since we received your reply last time.
> This series are blocking on this patch, since there are patches on Xen and Qemu side depending on it.
> Do you still have any confusion about this patch? Or do you have other suggestions?
> If no, may I get your Reviewed-by?

  - This is ACPI-specific, but exposes /sys/.../gsi for all systems,
    including non-ACPI systems.  I don't think we want that.

  - Do you care about similar Xen configurations on non-ACPI systems?
    If so, maybe the commit log could mention how you learn about PCI
    INTx routing on them in case there's some way to unify this in the
    future.

  - Missing an update to Documentation/ABI/.

  - A nit: I asked about s/dumU/DomU/ in the commit log earlier,
    haven't seen any response.

  - Commit log mentions "and for other potential scenarios."  It's
    another nit, but unless you have another concrete use for this,
    that phrase is meaningless hand waving and should be dropped.

  - A _PRT entry may refer directly to a GSI or to an interrupt link
    device (PNP0C0F) that can be routed to one of several GSIs:

      ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12 14 15)
 
    I don't think the kernel reconfigures interrupt links after
    enumeration, but if they are reconfigured at run-time (via _SRS),
    the cached GSI will be wrong.  I think setpnp could do this, but
    that tool is dead.  So maybe this isn't a concern anymore, but I
    *would* like to get Rafael's take on this.  If we don't care
    enough, I think we should mention it in the commit log just in
    case.

Bjorn


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 20:40:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 20:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702820.1098388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruIG6-0003Zc-IM; Tue, 09 Apr 2024 20:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702820.1098388; Tue, 09 Apr 2024 20: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 1ruIG6-0003ZV-F6; Tue, 09 Apr 2024 20:39:58 +0000
Received: by outflank-mailman (input) for mailman id 702820;
 Tue, 09 Apr 2024 20: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=4Fcd=LO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruIG4-0003ZP-Lq
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 20:39:56 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52b132c5-f6b1-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 22:39:55 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a47385a4379so1305816766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 13:39:55 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 my46-20020a1709065a6e00b00a4735e440e1sm6119925ejc.97.2024.04.09.13.39.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Apr 2024 13:39: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: 52b132c5-f6b1-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712695194; x=1713299994; 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=QHNIsObenkT3/PuQu0roL45npBIQsBHe0lyyeGDOwCQ=;
        b=EfyPG2SLrID8TVqtOIbYaCeDelRX7JLX0gVC1eFwa81rjdQ3AdLwBhJT8Z+Jl1cu4B
         t0PhuzMdnXJPXdlZ/HdFRcaKP9d4pS0+7sHKvZkXapkSt3xYguUI8u+w4vXIubmvA5Lo
         XM9AGf2rkQYyXud0/85e7DnDPqzLybaX3FL48=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712695194; x=1713299994;
        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=QHNIsObenkT3/PuQu0roL45npBIQsBHe0lyyeGDOwCQ=;
        b=uSgHqWEcmgw7lEBcT6SZz0w3CQ5b3arj3/e0lpuMr7tf54Bh8WqoDe3+WVy8I+/SGG
         oRdxHkebk9FolAI2+P5zyawrJiJtnTVst2EykWWSWKZ0fVO6cjmLwK1QtDMNtwUZKP4W
         Xc97loh3PhWWHy0rZy3XkIvIiS2ftGJf7Kq9ATMKAbchL7Gpo0kSCxkeJRL7PD5lohXd
         amYKnZ4uE2B1PrTPc4XUmlYX1N2LTqfPZMZ8IGsuRNFw9LL9WTkdIl3GtpDBwdTqyzMq
         BTZo8EdTlzSud0lTJLu8Rz8vWefWDf75cprx8qz66Jj4lfOd7GguhczCBFjRJqEseP3+
         Wdxg==
X-Gm-Message-State: AOJu0Ywq74f+msXWqhxVTDI3soOhjIoIVNRZVJFnoop40n7AOxws5FJH
	6TLM77CC/+jxQwOlA9reJf2rj935JBNYHZ4yHxzsdsRA1MeNTsN7kTDTRABsBfRNJSeXz1X1XN+
	/vdw=
X-Google-Smtp-Source: AGHT+IFGSrSIqqVp9tm8xJtqPkqRwkMyPt6JhkKrTap9lpnDGTJnIfIyTRoME/U63ygzoFlJg/8IiQ==
X-Received: by 2002:a17:906:a8d:b0:a51:f865:61b2 with SMTP id y13-20020a1709060a8d00b00a51f86561b2mr641509ejf.15.1712695194016;
        Tue, 09 Apr 2024 13:39:54 -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/entry: Fix build with older toolchains
Date: Tue,  9 Apr 2024 21:39:51 +0100
Message-Id: <20240409203951.577241-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Binutils older than 2.29 doesn't know INCSSPD.

Fixes: 8e186f98ce0e ("x86: Use indirect calls in reset-stack infrastructure")
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/x86_64/entry.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 461bbc355872..a4615e1ccbaf 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -650,7 +650,9 @@ FUNC(continue_pv_domain)
          * JMPed to.  Drop the return address.
          */
         add   $8, %rsp
+#ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "mov $2, %eax; incsspd %eax", X86_FEATURE_XEN_SHSTK
+#endif
 
         call  check_wakeup_from_wait
 ret_from_intr:

base-commit: d5887c0decbd90e798b24ed696628645b04632fb
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 21:11:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 21:11:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702823.1098398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruIkU-0000zr-Vg; Tue, 09 Apr 2024 21:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702823.1098398; Tue, 09 Apr 2024 21:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruIkU-0000zk-RP; Tue, 09 Apr 2024 21:11:22 +0000
Received: by outflank-mailman (input) for mailman id 702823;
 Tue, 09 Apr 2024 21:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruIkU-0000za-6r; Tue, 09 Apr 2024 21:11:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruIkU-0001Gk-4y; Tue, 09 Apr 2024 21:11:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruIkT-0003cc-Rz; Tue, 09 Apr 2024 21:11:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruIkT-00031l-R6; Tue, 09 Apr 2024 21:11:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l29xoOAPGjgm8nKp+e+U3O9iQ6qQL6q080bF1PPQ/J4=; b=rC5IlZ0ivOBUB6siJT6kJD9Soi
	6+dO35tQZ9Xyv+8jPq2mMg8Se6cosSDigdkcGPPkeISvr4rKO4LkEMBL4jKxcPPNBpxB4k/8boktW
	Ya4XxGpgx0kgZv/yEbRqrhplVylGEC8l28uYoMc4FmClH0TQT+vqZImiP2kSI9QoYBUg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185289-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185289: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d5887c0decbd90e798b24ed696628645b04632fb
X-Osstest-Versions-That:
    xen=9926e692c4afc40bcd66f8416ff6a1e93ce402f6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 21:11:21 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  d5887c0decbd90e798b24ed696628645b04632fb
baseline version:
 xen                  9926e692c4afc40bcd66f8416ff6a1e93ce402f6

Last test of basis   185286  2024-04-09 13:02:15 Z    0 days
Testing same since   185289  2024-04-09 18:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   9926e692c4..d5887c0dec  d5887c0decbd90e798b24ed696628645b04632fb -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 21:24:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 21:24:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702830.1098408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruIwp-0003FZ-4N; Tue, 09 Apr 2024 21:24:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702830.1098408; Tue, 09 Apr 2024 21:24:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruIwp-0003FS-1L; Tue, 09 Apr 2024 21:24:07 +0000
Received: by outflank-mailman (input) for mailman id 702830;
 Tue, 09 Apr 2024 21:24: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=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ruIwo-0003FM-L9
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 21:24:06 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7bfeb704-f6b7-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 23:24:03 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 15BEECE127B;
 Tue,  9 Apr 2024 21:23:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C55A1C433C7;
 Tue,  9 Apr 2024 21:23: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: 7bfeb704-f6b7-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712697837;
	bh=l9AkjMm+J2n3uYpxzrGZgiFxOgUN7vUdT8bfKjK/pek=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cg53QKF7dYjDxWAemP1q+Z4UUnuZlggw/Ym+ONSzdNfPIMYpnFYZqA8b8bpIcGneD
	 5+fO7zbc/kpuAEFPiYYl3t+/usiZoXnDrQeeIhL/pq6RNFonB2ec4881bBzbdqhJ/d
	 /n/RvH4hkM65XvGvnmpaaej9IsBPC1E1YLVYDLibEpJ2wtd74BuCOAz4pBRyrkILMe
	 W1v+7IQIMvq3DFFdA0oXYmYvflZiqk4CIrSPFYRfhGwSAQltTaM/oc6Nnnr3Dy0lho
	 pfhtY/uaPyTEBLzC+fcSfGmIFYMXKTtnfoCTSwEurc7SleFgYVktcGkQTZNADk7kjO
	 Yyjvj4kk8IV3g==
Date: Tue, 9 Apr 2024 14:23:55 -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>
Subject: Re: [PATCH] x86/entry: Fix build with older toolchains
In-Reply-To: <20240409203951.577241-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404091423460.2245130@ubuntu-linux-20-04-desktop>
References: <20240409203951.577241-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-152951099-1712697833=:2245130"
Content-ID: <alpine.DEB.2.22.394.2404091423540.2245130@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-152951099-1712697833=:2245130
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2404091423541.2245130@ubuntu-linux-20-04-desktop>

On Tue, 9 Apr 2024, Andrew Cooper wrote:
> Binutils older than 2.29 doesn't know INCSSPD.
> 
> Fixes: 8e186f98ce0e ("x86: Use indirect calls in reset-stack infrastructure")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/arch/x86/x86_64/entry.S | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> index 461bbc355872..a4615e1ccbaf 100644
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -650,7 +650,9 @@ FUNC(continue_pv_domain)
>           * JMPed to.  Drop the return address.
>           */
>          add   $8, %rsp
> +#ifdef CONFIG_XEN_SHSTK
>          ALTERNATIVE "", "mov $2, %eax; incsspd %eax", X86_FEATURE_XEN_SHSTK
> +#endif
>  
>          call  check_wakeup_from_wait
>  ret_from_intr:
> 
> base-commit: d5887c0decbd90e798b24ed696628645b04632fb
> -- 
> 2.30.2
> 
> 
--8323329-152951099-1712697833=:2245130--


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 21:43:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 21:43:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702838.1098438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruJF0-0006nk-S3; Tue, 09 Apr 2024 21:42:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702838.1098438; Tue, 09 Apr 2024 21: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 1ruJF0-0006nd-Nv; Tue, 09 Apr 2024 21:42:54 +0000
Received: by outflank-mailman (input) for mailman id 702838;
 Tue, 09 Apr 2024 21: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=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ruJEz-0006nH-Ub
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 21:42:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d8db7b3-f6ba-11ee-b907-491648fe20b8;
 Tue, 09 Apr 2024 23:42: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 BF65061A34;
 Tue,  9 Apr 2024 21:42:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C778C433C7;
 Tue,  9 Apr 2024 21:42: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: 1d8db7b3-f6ba-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712698970;
	bh=xQT2EdI5cB1VZ0965OQiPl+vGyn2Pr7iIa3G+rk2UhA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bS1CbCF+ECSa7Nulbr+KV51eAG2lrayJuKXUPulbBQgkfDVSuWKa7vxCL1eH9GHPM
	 9fc1SlO0bmTNHXZz4e6CqwWFqh88blrXdaU2f2KwJ3hWCDQOlfV72lGDce9PU8+o5f
	 RF7whJSpfVJBaHypmd/juFLZgTdvY3KXOe/6cvFJStbtoVdgdfpmKWMklQzhRLPDWg
	 Auu2CJSLbNhYjNESi1oakWVFxqJCw67O/X5YCCoq+hGXygm8xwI7A1RcpuiCSLqgrA
	 ziX7OlSCehfSoF5kByL55yNwQ8CrAJG8k/+dzzT5ohrVSgBe+boboEGlLz7kIKrxyA
	 zlWiGnlTpUpxQ==
Date: Tue, 9 Apr 2024 14:42:48 -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>, 
    Wei Liu <wl@xen.org>, Alejandro Vallejo <alejandro.vallejo@cloud.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: Re: [PATCH v2.5 2/2] x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and
 conditionalise ucode
In-Reply-To: <20231027191926.3283871-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404091435170.2245130@ubuntu-linux-20-04-desktop>
References: <ZTu_WxdWTrthCs4m@macbook> <20231027191926.3283871-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1528487512-1712698970=:2245130"

  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-1528487512-1712698970=:2245130
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 27 Oct 2023, Andrew Cooper wrote:
> We eventually want to be able to build a stripped down Xen for a single
> platform.  Make a start with CONFIG_{AMD,INTEL} (hidden behind EXPERT, but
> available to randconfig), and adjust the microcode logic.
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

I read the discussion here:
https://marc.info/?l=xen-devel&m=169865507432363
https://lore.kernel.org/xen-devel/ZT9yNrdoCKZs3_uY@macbook/

I think we want two top-level simple CONFIG_AMD and CONFIG_INTEL
options. Do we also want finer granular sub-options such as
CONFIG_AMD_CPU and CONFIG_INTEL_CPU, which would be controlled by the
top-level options CONFIG_AMD and CONFIG_INTEL? I think we could go
either way. CONFIG_{AMD,INTEL} could be sufficient, but also having
them control CONFIG_{AMD,INTEL}_CPU and CONFIG_{AMD,INTEL}_IOMMU is
fine too.

We already have CONFIG_{AMD,INTEL}_IOMMU. At the time I wondered if we
could have just used CONFIG_{AMD,INTEL} for evertything. But given we
have CONFIG_{AMD,INTEL}_IOMMU, I can see why the reviewers suggested to
use CONFIG_{AMD,INTEL}_CPU.

I would have introduced CONFIG_{AMD,INTEL} only, given that it is not
possible to have an AMD CPU with an INTEL IOMMU and vice versa. 

Anyway, I don't really have a strong opinion either way but we need this
patch to move forward one way or another so:

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

(I would also ck different versions of this patch.)


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> CC: Stefano Stabellini <stefano.stabellini@amd.com>
> CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> 
> I've intentionally ignored the other vendors for now.  They can be put into
> Kconfig by whomever figures out the actual dependencies between their init
> routines.
> 
> v2:
>  * Tweak text
> v2.5:
>  * Fix indentation
>  * Rename with _CPU suffixes as requested
> ---
>  xen/arch/x86/Kconfig                 |  2 ++
>  xen/arch/x86/Kconfig.cpu             | 22 ++++++++++++++++++++++
>  xen/arch/x86/cpu/microcode/Makefile  |  4 ++--
>  xen/arch/x86/cpu/microcode/private.h |  9 +++++++++
>  4 files changed, 35 insertions(+), 2 deletions(-)
>  create mode 100644 xen/arch/x86/Kconfig.cpu
> 
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index eac77573bd75..d9eacdd7e0fa 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -49,6 +49,8 @@ config HAS_CC_CET_IBT
>  
>  menu "Architecture Features"
>  
> +source "arch/x86/Kconfig.cpu"
> +
>  source "arch/Kconfig"
>  
>  config PV
> diff --git a/xen/arch/x86/Kconfig.cpu b/xen/arch/x86/Kconfig.cpu
> new file mode 100644
> index 000000000000..b68c41977a3b
> --- /dev/null
> +++ b/xen/arch/x86/Kconfig.cpu
> @@ -0,0 +1,22 @@
> +menu "Supported CPU vendors"
> +	visible if EXPERT
> +
> +config AMD_CPU
> +	bool "AMD"
> +	default y
> +	help
> +	  Detection, tunings and quirks for AMD platforms.
> +
> +	  May be turned off in builds targetting other vendors.  Otherwise,
> +	  must be enabled for Xen to work suitably on AMD platforms.
> +
> +config INTEL_CPU
> +	bool "Intel"
> +	default y
> +	help
> +	  Detection, tunings and quirks for Intel platforms.
> +
> +	  May be turned off in builds targetting other vendors.  Otherwise,
> +	  must be enabled for Xen to work suitably on Intel platforms.
> +
> +endmenu
> diff --git a/xen/arch/x86/cpu/microcode/Makefile b/xen/arch/x86/cpu/microcode/Makefile
> index aae235245b06..194ddc239ee3 100644
> --- a/xen/arch/x86/cpu/microcode/Makefile
> +++ b/xen/arch/x86/cpu/microcode/Makefile
> @@ -1,3 +1,3 @@
> -obj-y += amd.o
> +obj-$(CONFIG_AMD_CPU) += amd.o
>  obj-y += core.o
> -obj-y += intel.o
> +obj-$(CONFIG_INTEL_CPU) += intel.o
> diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
> index b58611e908aa..bb329933ac89 100644
> --- a/xen/arch/x86/cpu/microcode/private.h
> +++ b/xen/arch/x86/cpu/microcode/private.h
> @@ -70,7 +70,16 @@ struct microcode_ops {
>   * support available) and (not) ops->apply_microcode (i.e. read only).
>   * Otherwise, all hooks must be filled in.
>   */
> +#ifdef CONFIG_AMD_CPU
>  void ucode_probe_amd(struct microcode_ops *ops);
> +#else
> +static inline void ucode_probe_amd(struct microcode_ops *ops) {}
> +#endif
> +
> +#ifdef CONFIG_INTEL_CPU
>  void ucode_probe_intel(struct microcode_ops *ops);
> +#else
> +static inline void ucode_probe_intel(struct microcode_ops *ops) {}
> +#endif
>  
>  #endif /* ASM_X86_MICROCODE_PRIVATE_H */
> -- 
> 2.30.2
> 
> 
--8323329-1528487512-1712698970=:2245130--


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 21:49:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 21:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702842.1098448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruJLC-00082n-F7; Tue, 09 Apr 2024 21:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702842.1098448; Tue, 09 Apr 2024 21:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruJLC-00082g-CD; Tue, 09 Apr 2024 21:49:18 +0000
Received: by outflank-mailman (input) for mailman id 702842;
 Tue, 09 Apr 2024 21:49:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ruJLB-00082a-5p
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 21:49:17 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01b42ca9-f6bb-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 23:49: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 82A0461A33;
 Tue,  9 Apr 2024 21:49:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 811E9C433C7;
 Tue,  9 Apr 2024 21:49:12 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01b42ca9-f6bb-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712699353;
	bh=VR5xSj1SeIHvsPlNGU1lnCpdectzy6A1+GhLRPfZ9nA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=P+X4HC06w37PZ4nUod707Rt4OWf+eJx8cvFelP+nI0+0fjztY4VLQrWBTyXVQDTAI
	 A2ABKF29TClnmth1khKRAklG0KkIlVu7wmwBkcOCv/WhnmLJpJx/OoTzdPgUvLxRyT
	 A71Q9d4NfVHUqMic06Gx2eDQgeEiGyY2vnX55s5kJgTSvO1Wrm/mxIy1Hhie/U67MH
	 uYDKZDsnY7YGObmWjq03Pb2/cuA8fg6c7kEEYpAOHVEucRztzv/ozHo9LFxIeUx5Kw
	 MJzomiu28Y3ibMl4fs5bZftoQAcGDn8IdYNujdIgDOjRzcnU09vUEua47AJE4hL2Kg
	 OTBGVUz2bh/Yw==
Date: Tue, 9 Apr 2024 14:49:11 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH V1] x86/ucode: optional amd/intel ucode build &
 load
In-Reply-To: <ae38f758-7894-4098-85dc-04cbf3523393@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404091443140.2245130@ubuntu-linux-20-04-desktop>
References: <20240405103027.2704728-1-Sergiy_Kibrik@epam.com> <33eb77af-2196-40d9-9cdb-a4acf95f221c@citrix.com> <ae38f758-7894-4098-85dc-04cbf3523393@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1525855345-1712699353=:2245130"

  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-1525855345-1712699353=:2245130
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 9 Apr 2024, Sergiy Kibrik wrote:
> 05.04.24 13:57, Andrew Cooper:
> > On 05/04/2024 11:30 am, Sergiy Kibrik wrote:
> > > Introduce configuration variables to make it possible to selectively turn
> > > on/off CPU microcode management code in the build for AMD and Intel CPUs.
> > > 
> > > This is to allow build configuration for a specific CPU, not compile and
> > > load what will not be used anyway.
> > > 
> > > Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> > 
> > Hmm... Stefano didn't check up with me first.
> > 
> > _https://lore.kernel.org/xen-devel/20231027191926.3283871-1-andrew.cooper3@citrix.com/
> > 
> > I've already got a series out for this, although its blocked on naming
> > and IMO, particularly unhelpful replies.  I've not had time to apply the
> > community-resolution vote on naming issues.  (Also, you should be CC-ing
> > Roger on x86 patches).
> 
> + Stefano & Roger
> 
> should we revisit this series then?

Yes, I replied. I think there are three naming options:

Option-1)
CONFIG_{AMD,INTEL}
nothing else

Option-2)
CONFIG_{AMD,INTEL}_IOMMU
CONFIG_{AMD,INTEL} selects CONFIG_{AMD,INTEL}_IOMMU

Option-3)
CONFIG_{AMD,INTEL}_IOMMU
CONFIG_{AMD,INTEL}_CPU
CONFIG_{AMD,INTEL} selects both CPU and IOMMU options


My preference is Option-1 (best), Option-3, Option-2 (worse)

I am fine with anything but please let move this forward.
--8323329-1525855345-1712699353=:2245130--


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 21:49:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 21:49:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702843.1098458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruJLU-0008NL-M0; Tue, 09 Apr 2024 21:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702843.1098458; Tue, 09 Apr 2024 21:49:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruJLU-0008NC-Is; Tue, 09 Apr 2024 21:49:36 +0000
Received: by outflank-mailman (input) for mailman id 702843;
 Tue, 09 Apr 2024 21: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=4Fcd=LO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruJLT-00082a-G7
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 21:49:35 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ce64057-f6bb-11ee-94a3-07e782e9044d;
 Tue, 09 Apr 2024 23:49:33 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-78d61a716ddso214512385a.3
 for <xen-devel@lists.xenproject.org>; Tue, 09 Apr 2024 14:49:33 -0700 (PDT)
Received: from ?IPV6:2a05:87c6:1ccf:2:6740:ba01:927e:a522?
 ([2a05:87c6:1ccf:2:6740:ba01:927e:a522])
 by smtp.gmail.com with ESMTPSA id
 a8-20020ad441c8000000b0069b1f86f754sm1820974qvq.28.2024.04.09.14.49.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 09 Apr 2024 14: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: 0ce64057-f6bb-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712699372; x=1713304172; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=L4uyCYQDFkE7GExI6Jd0kvHjyswAt9S8ciEET657++I=;
        b=rEs13gISWncTm1/EEFpEcB5gd2VOmv1MvV0Xb9+uTOXK8ZUFCIkgGv0jWhDc7Bryby
         LrZ4l6RkLZlhKnAadbGaYNVHXvgtshvJ8PtYGMLw56Y5FDLfTLiBmNx12GQo4n5ToUXq
         SJby1d8UVvWIub3nMeHPpSnbWztAiwIXNC5nI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712699372; x=1713304172;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L4uyCYQDFkE7GExI6Jd0kvHjyswAt9S8ciEET657++I=;
        b=KqrRrsi8jP5/Yzks0B1IMIqQZALhyeGJ9V5fuuRjLK1rBn2jWQ7Zu9SFsIbdaXRuF2
         dtPllNs2MY7U1ftZ56U3RWtxAyYcbZXGTTdKHm8SHrrwvtDR+ql1dTZ8g9Dyq/DSzUG1
         7ArGuLVC9yFfNUMI8ycK0jGBiQBE5jlutkg40rfFlRleFdM2KlbUK/ay0VYGmjGqYJNp
         ViLP1eSNj7mhSnSu3gRf7wfebe7OzVeVO/PVt6wpZBGOvMhgiAbdTi17kiWJ0r6HP0Jz
         7+NskWoxULdCCicvEd7Al8QCXOSRynLNZ32siruJh0bzin8es6ZtiTO+wHGYq2fiTBEy
         Mfog==
X-Gm-Message-State: AOJu0YwdK9C80irmDhlbg6ZXhuuw5n6k7obxhJxU9Z15oorpc7Z0UW3n
	fX0+tHXsflN/k05AMbc9nUN0q9vZH7fld0b3rf+1NaJK8gQIjTKMtotysybKyQo=
X-Google-Smtp-Source: AGHT+IGnHj+mxEKrSCE+1h/0mz5J5+T/u4Tmitpq7xMNkrJowpmsiF78oTwn5ssM4J4L5qSBUVCv7w==
X-Received: by 2002:a0c:c489:0:b0:69b:23eb:3d3a with SMTP id u9-20020a0cc489000000b0069b23eb3d3amr717826qvi.35.1712699372565;
        Tue, 09 Apr 2024 14:49:32 -0700 (PDT)
Message-ID: <8dec3edb-973a-481c-899b-b30c970ea928@citrix.com>
Date: Tue, 9 Apr 2024 22:49:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2.5 2/2] x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and
 conditionalise ucode
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>
References: <ZTu_WxdWTrthCs4m@macbook>
 <20231027191926.3283871-1-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2404091435170.2245130@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.2404091435170.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/04/2024 10:42 pm, Stefano Stabellini wrote:
> On Fri, 27 Oct 2023, Andrew Cooper wrote:
>> We eventually want to be able to build a stripped down Xen for a single
>> platform.  Make a start with CONFIG_{AMD,INTEL} (hidden behind EXPERT, but
>> available to randconfig), and adjust the microcode logic.
>>
>> No practical change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> I read the discussion here:
> https://marc.info/?l=xen-devel&m=169865507432363
> https://lore.kernel.org/xen-devel/ZT9yNrdoCKZs3_uY@macbook/
>
> I think we want two top-level simple CONFIG_AMD and CONFIG_INTEL
> options. Do we also want finer granular sub-options such as
> CONFIG_AMD_CPU and CONFIG_INTEL_CPU, which would be controlled by the
> top-level options CONFIG_AMD and CONFIG_INTEL? I think we could go
> either way. CONFIG_{AMD,INTEL} could be sufficient, but also having
> them control CONFIG_{AMD,INTEL}_CPU and CONFIG_{AMD,INTEL}_IOMMU is
> fine too.
>
> We already have CONFIG_{AMD,INTEL}_IOMMU. At the time I wondered if we
> could have just used CONFIG_{AMD,INTEL} for evertything. But given we
> have CONFIG_{AMD,INTEL}_IOMMU, I can see why the reviewers suggested to
> use CONFIG_{AMD,INTEL}_CPU.
>
> I would have introduced CONFIG_{AMD,INTEL} only, given that it is not
> possible to have an AMD CPU with an INTEL IOMMU and vice versa. 
>
> Anyway, I don't really have a strong opinion either way but we need this
> patch to move forward one way or another so:
>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

FWIW, I have a very strong preference for the v2 of this patch (which is
just simply CONFIG_{AMD,INTEL}), rather than this instance of it.

Subdividing it is a mistake IMO, as it draws boundaries that doesn't
exist in reality.

There's nothing CONFIG_{AMD,INTEL} can reasonably be used for which
isn't this purpose.

Having IOMMU separate makes sense at least in principle.  There are
(well - were) some systems without an IOMMU, and you could be targetting
one of those.

However, there's nothing you can reasonably to to pick and choose
between microcode loading vs the other large number of
$foo/{intel,amd}.c splits we have through the codebase.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 22:16:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 22:16:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702850.1098468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruJlQ-0005eO-MT; Tue, 09 Apr 2024 22:16:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702850.1098468; Tue, 09 Apr 2024 22:16: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 1ruJlQ-0005eH-Jc; Tue, 09 Apr 2024 22:16:24 +0000
Received: by outflank-mailman (input) for mailman id 702850;
 Tue, 09 Apr 2024 22:16:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nipE=LO=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1ruJlP-0005eB-Dz
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 22:16:23 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca21209e-f6be-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 00:16:20 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 2CFD9828565D;
 Tue,  9 Apr 2024 17:16:18 -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 RRWNK4nCQJFI; Tue,  9 Apr 2024 17:16:17 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6DA2582857D4;
 Tue,  9 Apr 2024 17:16:17 -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 x0G6uqvK4tz0; Tue,  9 Apr 2024 17:16:17 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 7E030828565D;
 Tue,  9 Apr 2024 17:16:16 -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: ca21209e-f6be-11ee-b907-491648fe20b8
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 6DA2582857D4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712700977; bh=IrqYeoF/AHP9VZMZyy3QTrgq6/0aKoRUmndDALsKsTg=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=WL0EgGsdSj8nQjJmd9Yt+vPd/a8Offcd/4eQ4KoLNkS6SdFcl7AwEg7pIRI84yWvB
	 NJrPSBMahVY4mvvP52Qf9nBpZ+mZJjiMRtLOFNhjyc86hOl62pVDDKC3oT2Yw9lING
	 Xm6k03gs2EvCmpMo/7wTl0jj2SazeTKRV8aT8WFw=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <eb22ec4e-6e60-458d-a17c-ad47a3146a6e@raptorengineering.com>
Date: Tue, 9 Apr 2024 17:16:15 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/acpi: Allow xen/acpi.h to be included on non-ACPI
 archs
To: Jan Beulich <jbeulich@suse.com>
Cc: tpearson@raptorengineering.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Juergen Gross <jgross@suse.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20240405182031.396528-1-sanastasio@raptorengineering.com>
 <7ab4053f-f8b3-4b6a-bd29-5d0fa228fca5@suse.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <7ab4053f-f8b3-4b6a-bd29-5d0fa228fca5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 4/8/24 1:54 AM, Jan Beulich wrote:
> On 05.04.2024 20:20, Shawn Anastasio wrote:
>> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
>> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
>> that the header can be included on architectures without ACPI support,
>> like ppc.
>>
>> This change revealed some missing #includes across the ARM tree, so fix
>> those as well.
>>
>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> albeit preferably with ...
> 
>> @@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr;
>>  #else	/*!CONFIG_ACPI*/
>>  
>>  #define acpi_mp_config	0
>> +#define acpi_disabled (true)
> 
> ... the unnecessary parentheses avoided here.
>

If you'd like to handle this durring commit, that would be fine with me.
Otherwise let me know if you'd like a v2 to be sent.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 22:35:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 22:35:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702854.1098478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruK3l-0000a8-9G; Tue, 09 Apr 2024 22:35:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702854.1098478; Tue, 09 Apr 2024 22:35:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruK3l-0000a1-63; Tue, 09 Apr 2024 22:35:21 +0000
Received: by outflank-mailman (input) for mailman id 702854;
 Tue, 09 Apr 2024 22:35: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 1ruK3j-0000Yq-OC; Tue, 09 Apr 2024 22:35: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 1ruK3j-0002hm-IV; Tue, 09 Apr 2024 22:35: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 1ruK3j-00005c-6N; Tue, 09 Apr 2024 22:35:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruK3j-0008Lu-5q; Tue, 09 Apr 2024 22:35:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8l6N96cRrZY8T21AZhL9iqrjDcsU09M3Mi68Vua4q20=; b=3wuAO8C9Et/ISDj0Vf5yWXyuXQ
	rH9jCuHtEIkNuVFrScfQweVjE8ymncB0kpb0RTHu+OC1L798Q7aPlqOGW/7y0jD9/f/ll6qLrl2k0
	1FUIHwK6JJtasvWp5nRGSJBYDQpFov99khEK+dIE7hsUe5hb7EcXcRfJoDXUhbhTGkao=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185288-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185288: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=665789b61bc39de67d3f17288bacb4662434e251
X-Osstest-Versions-That:
    ovmf=932db9df0caa26daca4edf133fb2aed7b4a9193e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 22:35:19 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 665789b61bc39de67d3f17288bacb4662434e251
baseline version:
 ovmf                 932db9df0caa26daca4edf133fb2aed7b4a9193e

Last test of basis   185280  2024-04-09 07:11:25 Z    0 days
Testing same since   185288  2024-04-09 17:45:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Duggapu Chinni B <chinni.b.duggapu@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
   932db9df0c..665789b61b  665789b61bc39de67d3f17288bacb4662434e251 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 22:57:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 22:57:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702866.1098487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruKPY-0004Mb-SI; Tue, 09 Apr 2024 22:57:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702866.1098487; Tue, 09 Apr 2024 22:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruKPY-0004MU-Pn; Tue, 09 Apr 2024 22:57:52 +0000
Received: by outflank-mailman (input) for mailman id 702866;
 Tue, 09 Apr 2024 22:57:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ruKPW-0004MO-Qe
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 22:57:50 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94dcdc3e-f6c4-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 00:57:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id F1FCBCE2452;
 Tue,  9 Apr 2024 22:57:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6D396C433C7;
 Tue,  9 Apr 2024 22:57:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94dcdc3e-f6c4-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712703461;
	bh=r2CA0FRvlgmRHvvk+yo/6/dmvMj4c+cbxqWWZHUivK0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=md8f3CZn1KE7bbqpBoPROXf3JTs5pB8qNwh6asAdFnfnWB9zWdeCW6UYDc/ycYGu2
	 3RyWhcter//VM+kURdJ18HCYTOPN5gVQLvGyMMgVWJ4S/hf/ayeOCFFQq0GGT4fVTv
	 xNugE1U2xjUP+bdCkedH8peuoh8xygZBuUn5d8tCgBDrZMvU+2VWEjWei5FZPlmByt
	 py3VUyV0Rd7maInH7VK2XUMD8vcbwCTVSoJH0bYVD+Bhtchce4PFyzRXG0Egs7fr6U
	 EpiCfC266DPt6QSVHWDJmUNjpKAs2E8MoOdXW6KSYD77ppcjJTBQ+BzujKBIbPd2XM
	 AiDqFyyWMwKQw==
Date: Tue, 9 Apr 2024 15:57:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    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: [XEN PATCH V2] x86/MCE: move intel mcheck init code to separate
 file
In-Reply-To: <20240409120645.2948405-1-Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404091556360.711344@ubuntu-linux-20-04-desktop>
References: <20240409120645.2948405-1-Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 9 Apr 2024, Sergiy Kibrik wrote:
> Separate Intel nonfatal MCE initialization code from generic MCE code, the same
> way it is done for AMD code. This is to be able to later make intel/amd MCE
> code optional in the build.
> 
> Convert to Xen coding style. Clean up unused includes. Remove seemingly
> outdated comment about MCE check period.
> 
> No functional change intended.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/cpu/mcheck/Makefile         |  1 +
>  xen/arch/x86/cpu/mcheck/intel-nonfatal.c | 85 ++++++++++++++++++++++++
>  xen/arch/x86/cpu/mcheck/mce.h            |  1 +
>  xen/arch/x86/cpu/mcheck/non-fatal.c      | 82 +----------------------
>  4 files changed, 88 insertions(+), 81 deletions(-)
>  create mode 100644 xen/arch/x86/cpu/mcheck/intel-nonfatal.c
> 
> V2:
>  * convert to Xen coding style
>  * file naming
>  * drop outdated comment

I find code movement together with coding style changes harder to
review, but I know that Jan asked for it. I reviewed the code and
everything checks out.

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


> diff --git a/xen/arch/x86/cpu/mcheck/Makefile b/xen/arch/x86/cpu/mcheck/Makefile
> index 0d63ff9096..f927f10b4d 100644
> --- a/xen/arch/x86/cpu/mcheck/Makefile
> +++ b/xen/arch/x86/cpu/mcheck/Makefile
> @@ -2,6 +2,7 @@ obj-y += amd_nonfatal.o
>  obj-y += mce_amd.o
>  obj-y += mcaction.o
>  obj-y += barrier.o
> +obj-y += intel-nonfatal.o
>  obj-y += mctelem.o
>  obj-y += mce.o
>  obj-y += mce-apei.o
> diff --git a/xen/arch/x86/cpu/mcheck/intel-nonfatal.c b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
> new file mode 100644
> index 0000000000..e18e8a4030
> --- /dev/null
> +++ b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
> @@ -0,0 +1,85 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Non Fatal Machine Check Exception Reporting
> + * (C) Copyright 2002 Dave Jones. <davej@codemonkey.org.uk>
> + */
> +
> +#include <xen/event.h>
> +
> +#include "mce.h"
> +#include "vmce.h"
> +
> +static struct timer mce_timer;
> +
> +#define MCE_PERIOD MILLISECS(8000)
> +#define MCE_PERIOD_MIN MILLISECS(2000)
> +#define MCE_PERIOD_MAX MILLISECS(16000)
> +
> +static uint64_t period = MCE_PERIOD;
> +static int adjust = 0;
> +static int variable_period = 1;
> +
> +static void cf_check mce_checkregs(void *info)
> +{
> +    mctelem_cookie_t mctc;
> +    struct mca_summary bs;
> +    static uint64_t dumpcount = 0;
> +
> +    mctc = mcheck_mca_logout(MCA_POLLER, this_cpu( poll_bankmask),
> +                             &bs, NULL);
> +
> +    if ( bs.errcnt && mctc != NULL )
> +    {
> +        adjust++;
> +
> +        /* If Dom0 enabled the VIRQ_MCA event, then notify it.
> +         * Otherwise, if dom0 has had plenty of time to register
> +         * the virq handler but still hasn't then dump telemetry
> +         * to the Xen console.  The call count may be incremented
> +         * on multiple cpus at once and is indicative only - just
> +         * a simple-minded attempt to avoid spamming the console
> +         * for corrected errors in early startup.
> +         */
> +
> +        if ( dom0_vmce_enabled() )
> +        {
> +            mctelem_commit(mctc);
> +            send_global_virq(VIRQ_MCA);
> +        }
> +        else if ( ++dumpcount >= 10 )
> +        {
> +            x86_mcinfo_dump((struct mc_info *)mctelem_dataptr(mctc));
> +            mctelem_dismiss(mctc);
> +        }
> +        else
> +            mctelem_dismiss(mctc);
> +    }
> +    else if ( mctc != NULL )
> +        mctelem_dismiss(mctc);
> +}
> +
> +static void cf_check mce_work_fn(void *data)
> +{
> +    on_each_cpu(mce_checkregs, NULL, 1);
> +
> +    if ( variable_period )
> +    {
> +        if ( adjust )
> +            period /= (adjust + 1);
> +        else
> +            period *= 2;
> +        if ( period > MCE_PERIOD_MAX )
> +            period = MCE_PERIOD_MAX;
> +        if ( period < MCE_PERIOD_MIN )
> +            period = MCE_PERIOD_MIN;
> +    }
> +
> +    set_timer(&mce_timer, NOW() + period);
> +    adjust = 0;
> +}
> +
> +void __init intel_nonfatal_mcheck_init(struct cpuinfo_x86 *unused)
> +{
> +    init_timer(&mce_timer, mce_work_fn, NULL, 0);
> +    set_timer(&mce_timer, NOW() + MCE_PERIOD);
> +}
> diff --git a/xen/arch/x86/cpu/mcheck/mce.h b/xen/arch/x86/cpu/mcheck/mce.h
> index 7f26afae23..4806405f96 100644
> --- a/xen/arch/x86/cpu/mcheck/mce.h
> +++ b/xen/arch/x86/cpu/mcheck/mce.h
> @@ -47,6 +47,7 @@ enum mcheck_type amd_mcheck_init(const struct cpuinfo_x86 *c, bool bsp);
>  enum mcheck_type intel_mcheck_init(struct cpuinfo_x86 *c, bool bsp);
>  
>  void amd_nonfatal_mcheck_init(struct cpuinfo_x86 *c);
> +void intel_nonfatal_mcheck_init(struct cpuinfo_x86 *c);
>  
>  extern unsigned int firstbank;
>  extern unsigned int ppin_msr;
> diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
> index 1c0c32ba08..33cacd15c2 100644
> --- a/xen/arch/x86/cpu/mcheck/non-fatal.c
> +++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
> @@ -7,84 +7,7 @@
>   *
>   */
>  
> -#include <xen/init.h>
> -#include <xen/types.h>
> -#include <xen/kernel.h>
> -#include <xen/smp.h>
> -#include <xen/timer.h>
> -#include <xen/errno.h>
> -#include <xen/event.h>
> -#include <xen/sched.h>
> -#include <asm/processor.h> 
> -#include <asm/system.h>
> -#include <asm/msr.h>
> -
>  #include "mce.h"
> -#include "vmce.h"
> -
> -static struct timer mce_timer;
> -
> -#define MCE_PERIOD MILLISECS(8000)
> -#define MCE_PERIOD_MIN MILLISECS(2000)
> -#define MCE_PERIOD_MAX MILLISECS(16000)
> -
> -static uint64_t period = MCE_PERIOD;
> -static int adjust = 0;
> -static int variable_period = 1;
> -
> -static void cf_check mce_checkregs(void *info)
> -{
> -	mctelem_cookie_t mctc;
> -	struct mca_summary bs;
> -	static uint64_t dumpcount = 0;
> -
> -	mctc = mcheck_mca_logout(MCA_POLLER, this_cpu(poll_bankmask),
> -				 &bs, NULL);
> -
> -	if (bs.errcnt && mctc != NULL) {
> -		adjust++;
> -
> -		/* If Dom0 enabled the VIRQ_MCA event, then notify it.
> -		 * Otherwise, if dom0 has had plenty of time to register
> -		 * the virq handler but still hasn't then dump telemetry
> -		 * to the Xen console.  The call count may be incremented
> -		 * on multiple cpus at once and is indicative only - just
> -		 * a simple-minded attempt to avoid spamming the console
> -		 * for corrected errors in early startup.
> -		 */
> -
> -		if (dom0_vmce_enabled()) {
> -			mctelem_commit(mctc);
> -			send_global_virq(VIRQ_MCA);
> -		} else if (++dumpcount >= 10) {
> -			x86_mcinfo_dump((struct mc_info *)mctelem_dataptr(mctc));
> -			mctelem_dismiss(mctc);
> -		} else {
> -			mctelem_dismiss(mctc);
> -		}
> -	} else if (mctc != NULL) {
> -		mctelem_dismiss(mctc);
> -	}
> -}
> -
> -static void cf_check mce_work_fn(void *data)
> -{ 
> -	on_each_cpu(mce_checkregs, NULL, 1);
> -
> -	if (variable_period) {
> -		if (adjust)
> -			period /= (adjust + 1);
> -		else
> -			period *= 2;
> -		if (period > MCE_PERIOD_MAX)
> -			period = MCE_PERIOD_MAX;
> -		if (period < MCE_PERIOD_MIN)
> -			period = MCE_PERIOD_MIN;
> -	}
> -
> -	set_timer(&mce_timer, NOW() + period);
> -	adjust = 0;
> -}
>  
>  static int __init cf_check init_nonfatal_mce_checker(void)
>  {
> @@ -106,13 +29,10 @@ static int __init cf_check init_nonfatal_mce_checker(void)
>  		/* Assume we are on K8 or newer AMD or Hygon CPU here */
>  		amd_nonfatal_mcheck_init(c);
>  		break;
> -
>  	case X86_VENDOR_INTEL:
> -		init_timer(&mce_timer, mce_work_fn, NULL, 0);
> -		set_timer(&mce_timer, NOW() + MCE_PERIOD);
> +		intel_nonfatal_mcheck_init(c);
>  		break;
>  	}
> -
>  	printk(KERN_INFO "mcheck_poll: Machine check polling timer started.\n");
>  	return 0;
>  }
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 23:09:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 23:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702870.1098497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruKag-0006S9-Rf; Tue, 09 Apr 2024 23:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702870.1098497; Tue, 09 Apr 2024 23: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 1ruKag-0006S2-Op; Tue, 09 Apr 2024 23:09:22 +0000
Received: by outflank-mailman (input) for mailman id 702870;
 Tue, 09 Apr 2024 23:09:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruKaf-0006Rs-Pq; Tue, 09 Apr 2024 23:09:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruKaf-0003Gu-Ni; Tue, 09 Apr 2024 23:09: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 1ruKaf-0001vP-Do; Tue, 09 Apr 2024 23:09:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruKaf-0000g2-DL; Tue, 09 Apr 2024 23:09:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CYzJA4nH6DNll+nbaMXGhnw+3DwxHPTHzw4/AowQScg=; b=Rm58U4sy+8kVzBkxE7AJFux7kG
	Nmt3StBpKA9Q7edmmtUBOhxg/EHDh/50yeR/33zjvZlorjLuRWF2dIIb+psW1TgL4xaxCf5MWxcdv
	lRcxg4nTYkWXvqNMfwZmJ3hrsGfz9Y29vJm9iRqdZsnIjVbF9sWt2N5esuYJvTZKOQ18=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185287-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 185287: 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=c5a361c09a19e3b1a83557b01f11f04b27181a11
X-Osstest-Versions-That:
    seabios=1588fd1437960d94cadc30c42243671e8c0f1281
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 09 Apr 2024 23:09:21 +0000

flight 185287 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185287/

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 185103
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185103
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185103
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 seabios              c5a361c09a19e3b1a83557b01f11f04b27181a11
baseline version:
 seabios              1588fd1437960d94cadc30c42243671e8c0f1281

Last test of basis   185103  2024-03-20 00:42:59 Z   20 days
Testing same since   185287  2024-04-09 15:42:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Kevin O'Connor <kevin@koconnor.net>

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
   1588fd1..c5a361c  c5a361c09a19e3b1a83557b01f11f04b27181a11 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 23:26:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 23:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702876.1098508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruKrB-0001FU-9Z; Tue, 09 Apr 2024 23:26:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702876.1098508; Tue, 09 Apr 2024 23:26:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruKrB-0001FN-6N; Tue, 09 Apr 2024 23:26:25 +0000
Received: by outflank-mailman (input) for mailman id 702876;
 Tue, 09 Apr 2024 23:26: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=0ECT=LO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1ruKrA-0001FD-7S
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 23:26:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9155a8cf-f6c8-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 01:26: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 0E7D5612AE;
 Tue,  9 Apr 2024 23:26:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 846D3C433C7;
 Tue,  9 Apr 2024 23:26: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: 9155a8cf-f6c8-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712705177;
	bh=FXFImw6hVZA59zy9LM1OBN47ZZKg6swmiXrPdR4UCrM=;
	h=Date:From:To:cc:Subject:From;
	b=grPtCGY+emicLIT8yTAOULiBr3VFlSvq40kW0s8Fsqni5evlXuXD2FHhjRWjpLNop
	 fUsyw/Rpqv0w5lZlPZaXZWWojC/r4jdziuDtkC7wgfNN8/h1NPPLqNMS0MegdKWaYm
	 1CrchjIc4Mz6R5fRdWiAgSfNzJT2D/SMEu0wRAUEGfrRZNBkwVdjSKM2q6MseUYXf0
	 I5pYagNwUh0pZ9JEYzvYsJEkKHvorOVVfzLclhfSpnZlYxI4L1puyGl4Lt2ammyzTn
	 aDiEGsjM1GV//wnyvKWYLNTDP79GEoBUe1WstzstPweHxwUNf6GKXwEcYviyjH1G/h
	 bP4EI//FIV/7A==
Date: Tue, 9 Apr 2024 16:26:15 -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.cooper3@citrix.com, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, jbeulich@suse.com, 
    julien@xen.org, michal.orzel@amd.com, roger.pau@citrix.com
Subject: [PATCH] xen/public: s/int/int32_t
Message-ID: <alpine.DEB.2.22.394.2404091625170.711344@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


>From 28f83c4ec0c0b5c1e7eb2bd8bc5dc3190314a5b7 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini@amd.com>
Date: Tue, 9 Apr 2024 16:19:21 -0700
Subject: [PATCH] public: s/int/int32_t

Straightforward int -> int32_t and unsigned int -> uint32_t replacements
in public headers. No ABI or semantic changes intended.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 xen/include/public/kexec.h   |  8 ++++----
 xen/include/public/memory.h  | 24 ++++++++++++------------
 xen/include/public/physdev.h | 18 +++++++++---------
 xen/include/public/sched.h   |  6 +++---
 xen/include/public/vcpu.h    |  2 +-
 5 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index 40d79e936b..8d2a0ef697 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -105,7 +105,7 @@ typedef struct xen_kexec_image {
  */
 #define KEXEC_CMD_kexec                 0
 typedef struct xen_kexec_exec {
-    int type;
+    int32_t type;
 } xen_kexec_exec_t;
 
 /*
@@ -116,7 +116,7 @@ typedef struct xen_kexec_exec {
 #define KEXEC_CMD_kexec_load_v1         1 /* obsolete since 0x00040400 */
 #define KEXEC_CMD_kexec_unload_v1       2 /* obsolete since 0x00040400 */
 typedef struct xen_kexec_load_v1 {
-    int type;
+    int32_t type;
     xen_kexec_image_t image;
 } xen_kexec_load_v1_t;
 
@@ -143,8 +143,8 @@ typedef struct xen_kexec_load_v1 {
  */
 #define KEXEC_CMD_kexec_get_range       3
 typedef struct xen_kexec_range {
-    int range;
-    int nr;
+    int32_t range;
+    int32_t nr;
     unsigned long size;
     unsigned long start;
 } xen_kexec_range_t;
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 5e545ae9a4..9eb67d231d 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -61,13 +61,13 @@ struct xen_memory_reservation {
 
     /* Number of extents, and size/alignment of each (2^extent_order pages). */
     xen_ulong_t    nr_extents;
-    unsigned int   extent_order;
+    uint32_t       extent_order;
 
 #if __XEN_INTERFACE_VERSION__ >= 0x00030209
     /* XENMEMF flags. */
-    unsigned int   mem_flags;
+    uint32_t       mem_flags;
 #else
-    unsigned int   address_bits;
+    uint32_t       address_bits;
 #endif
 
     /*
@@ -163,7 +163,7 @@ struct xen_machphys_mfn_list {
      * Size of the 'extent_start' array. Fewer entries will be filled if the
      * machphys table is smaller than max_extents * 2MB.
      */
-    unsigned int max_extents;
+    uint32_t max_extents;
 
     /*
      * Pointer to buffer to fill with list of extent starts. If there are
@@ -176,7 +176,7 @@ struct xen_machphys_mfn_list {
      * Number of extents written to the above array. This will be smaller
      * than 'max_extents' if the machphys table is smaller than max_e * 2MB.
      */
-    unsigned int nr_extents;
+    uint32_t nr_extents;
 };
 typedef struct xen_machphys_mfn_list xen_machphys_mfn_list_t;
 DEFINE_XEN_GUEST_HANDLE(xen_machphys_mfn_list_t);
@@ -232,7 +232,7 @@ struct xen_add_to_physmap {
     /* Number of pages to go through for gmfn_range */
     uint16_t    size;
 
-    unsigned int space; /* => enum phys_map_space */
+    uint32_t    space; /* => enum phys_map_space */
 
 #define XENMAPIDX_grant_table_status 0x80000000U
 
@@ -274,7 +274,7 @@ struct xen_add_to_physmap_batch {
     /* OUT */
 
     /* Per index error code. */
-    XEN_GUEST_HANDLE(int) errs;
+    XEN_GUEST_HANDLE(int32_t) errs;
 };
 typedef struct xen_add_to_physmap_batch xen_add_to_physmap_batch_t;
 DEFINE_XEN_GUEST_HANDLE(xen_add_to_physmap_batch_t);
@@ -317,7 +317,7 @@ struct xen_memory_map {
      * return the number of entries which have been stored in
      * buffer.
      */
-    unsigned int nr_entries;
+    uint32_t nr_entries;
 
     /*
      * Entries in the buffer are in the same format as returned by the
@@ -591,7 +591,7 @@ struct xen_reserved_device_memory_map {
      * Gets set to the required number of entries when too low,
      * signaled by error code -ERANGE.
      */
-    unsigned int nr_entries;
+    uint32_t nr_entries;
     /* OUT */
     XEN_GUEST_HANDLE(xen_reserved_device_memory_t) buffer;
     /* IN */
@@ -711,9 +711,9 @@ struct xen_vnuma_topology_info {
     domid_t domid;
     uint16_t pad;
     /* IN/OUT */
-    unsigned int nr_vnodes;
-    unsigned int nr_vcpus;
-    unsigned int nr_vmemranges;
+    uint32_t nr_vnodes;
+    uint32_t nr_vcpus;
+    uint32_t nr_vmemranges;
     /* OUT */
     union {
         XEN_GUEST_HANDLE(uint) h;
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index f0c0d4727c..03ccf86618 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -142,17 +142,17 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
 struct physdev_map_pirq {
     domid_t domid;
     /* IN */
-    int type;
+    int32_t type;
     /* IN (ignored for ..._MULTI_MSI) */
-    int index;
+    int32_t index;
     /* IN or OUT */
-    int pirq;
+    int32_t pirq;
     /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
-    int bus;
+    int32_t bus;
     /* IN */
-    int devfn;
+    int32_t devfn;
     /* IN (also OUT for ..._MULTI_MSI) */
-    int entry_nr;
+    int32_t entry_nr;
     /* IN */
     uint64_t table_base;
 };
@@ -163,7 +163,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_map_pirq_t);
 struct physdev_unmap_pirq {
     domid_t domid;
     /* IN */
-    int pirq;
+    int32_t pirq;
 };
 
 typedef struct physdev_unmap_pirq physdev_unmap_pirq_t;
@@ -224,7 +224,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_op_t);
 
 #define PHYSDEVOP_setup_gsi    21
 struct physdev_setup_gsi {
-    int gsi;
+    int32_t gsi;
     /* IN */
     uint8_t triggering;
     /* IN */
@@ -242,7 +242,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_setup_gsi_t);
 #define PHYSDEVOP_get_free_pirq    23
 struct physdev_get_free_pirq {
     /* IN */
-    int type;
+    int32_t type;
     /* OUT */
     uint32_t pirq;
 };
diff --git a/xen/include/public/sched.h b/xen/include/public/sched.h
index b4362c6a1d..57ac3df47b 100644
--- a/xen/include/public/sched.h
+++ b/xen/include/public/sched.h
@@ -116,14 +116,14 @@
 /* ` } */
 
 struct sched_shutdown {
-    unsigned int reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
+    uint32_t reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
 };
 typedef struct sched_shutdown sched_shutdown_t;
 DEFINE_XEN_GUEST_HANDLE(sched_shutdown_t);
 
 struct sched_poll {
     XEN_GUEST_HANDLE(evtchn_port_t) ports;
-    unsigned int nr_ports;
+    uint32_t nr_ports;
     uint64_t timeout;
 };
 typedef struct sched_poll sched_poll_t;
@@ -131,7 +131,7 @@ DEFINE_XEN_GUEST_HANDLE(sched_poll_t);
 
 struct sched_remote_shutdown {
     domid_t domain_id;         /* Remote domain ID */
-    unsigned int reason;       /* SHUTDOWN_* => enum sched_shutdown_reason */
+    uint32_t reason;           /* SHUTDOWN_* => enum sched_shutdown_reason */
 };
 typedef struct sched_remote_shutdown sched_remote_shutdown_t;
 DEFINE_XEN_GUEST_HANDLE(sched_remote_shutdown_t);
diff --git a/xen/include/public/vcpu.h b/xen/include/public/vcpu.h
index f7445ac0b0..2b8df2b0da 100644
--- a/xen/include/public/vcpu.h
+++ b/xen/include/public/vcpu.h
@@ -63,7 +63,7 @@
 #define VCPUOP_get_runstate_info     4
 struct vcpu_runstate_info {
     /* VCPU's current state (RUNSTATE_*). */
-    int      state;
+    int32_t  state;
     /* When was current state entered (system time, ns)? */
     uint64_t state_entry_time;
     /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 09 23:35:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 23:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702882.1098517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruKzq-0003HR-4K; Tue, 09 Apr 2024 23:35:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702882.1098517; Tue, 09 Apr 2024 23:35:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruKzq-0003HK-1e; Tue, 09 Apr 2024 23:35:22 +0000
Received: by outflank-mailman (input) for mailman id 702882;
 Tue, 09 Apr 2024 23:35:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nipE=LO=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1ruKzo-0003HC-UQ
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 23:35:20 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2f9f535-f6c9-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 01:35:18 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D7112828554F;
 Tue,  9 Apr 2024 18: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 ehYQuNLBZTbh; Tue,  9 Apr 2024 18:35:17 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 060838285626;
 Tue,  9 Apr 2024 18: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 10026)
 with ESMTP id X1mmGV7dR9tL; Tue,  9 Apr 2024 18:35:16 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 044BE828554F;
 Tue,  9 Apr 2024 18: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: d2f9f535-f6c9-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 060838285626
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712705717; bh=yDV8pOK28ES2sxyCK5YCRfZ0jxyd90RUOTDHu6/7l6k=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=Q/93DC3mDHMQXERt3FWtg/BVxF5oph4E25vvXv3R7kMoU0I/QgMpguSWVofjo3LPU
	 4BZa8ZRiHXcM/VMtZrbrG/3ZIDfno53nIDPNpT3wntShAdmGC2YR6zd/4wdTg5nnOd
	 p+3bgQO7CY2iSNfvUhbobevmhfKGEniepYCntMjI=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <d9a61ba5-3f75-4d06-a033-0ee0ffc4cd23@raptorengineering.com>
Date: Tue, 9 Apr 2024 18:35:15 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/9] xen/ppc: Introduce stub asm/static-shmem.h
To: Jan Beulich <jbeulich@suse.com>
Cc: tpearson@raptorengineering.com, xen-devel@lists.xenproject.org
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <0cf8286269a1c5cdc63e2c19d832a4923cd14f39.1710443965.git.sanastasio@raptorengineering.com>
 <aaaaa735-ce88-42a3-9a2c-22de7f5eeb32@suse.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <aaaaa735-ce88-42a3-9a2c-22de7f5eeb32@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Jan,

On 3/25/24 10:24 AM, Jan Beulich wrote:
> On 14.03.2024 23:15, Shawn Anastasio wrote:
>> Required for bootfdt.c to build.
>>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> As a temporary workaround this may be okay, but was the alternative
> considered to properly provide stubs in a single central place for
> anything !CONFIG_STATIC_SHM?
>

I can't think of an existing place where this would cleanly fit, but if
you have any suggestions I'm open to it.

Otherwise, I think that this solution is acceptable for now.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Apr 09 23:48:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 09 Apr 2024 23:48:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702885.1098528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruLCJ-0005L1-8y; Tue, 09 Apr 2024 23:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702885.1098528; Tue, 09 Apr 2024 23:48:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruLCJ-0005Ku-59; Tue, 09 Apr 2024 23:48:15 +0000
Received: by outflank-mailman (input) for mailman id 702885;
 Tue, 09 Apr 2024 23:48:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qKuC=LO=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruLCH-0005Ko-Kk
 for xen-devel@lists.xenproject.org; Tue, 09 Apr 2024 23:48:13 +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 9f3005a8-f6cb-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 01:48:12 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712706481623267.91561022500775;
 Tue, 9 Apr 2024 16: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: 9f3005a8-f6cb-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1712706483; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=kK8LMyjz/mcnhfst1Hr2dM7Ht+L4ylDanIYUu17Mi9Z2cbVB1Ix3uzSsK3W7Lda9fGf7We1hmRDUDt8ksLyLmE2ZQwpi3rxZARbZ/9juc6AphJKt/2pv666Z2uvtJTlZ5o0rblk7eRWFRCn4YabWzjVq7OAx2XwbbaVKNBLX6fQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712706483; 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=di/pighn2n0P/F1kEpnn48PgTA7yCfqZOBlmgKI/SLk=; 
	b=M0IGThozh6FBtScgxEyBOdHYNkwcAYq8MbkH1rDrRAXUVEo+W/NP3PKRMtue6Hqo4kgekw0d7cGNM2cq7efEAenyMwMwVtTbWIJDGEhpbNzJhgZHEguAblwitNZujNNhHbyDg7S3X1hGWaRmp5PMLLtZ/KMWL4yn9qsWjV+i81A=
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=1712706483;
	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=di/pighn2n0P/F1kEpnn48PgTA7yCfqZOBlmgKI/SLk=;
	b=DohFnq7xDcWmE5Jyib9ixGXlV0KazJpe/o+RFPdbBOiwnc9dYvLc1v/WN9wvu8ap
	/8raeqIhnl6NF3Ck8+AXdCG9xbPM0gj+dQRrwSQsjjZmoT9MtB5JUIxegngxIKvY4NP
	kMbxxg0Ph/PtkAHBH7nB2OMdWNM2eKLJrfjOSGjQ=
Message-ID: <82d7a374-5b38-4d71-92a2-b2b0e1bbf0da@apertussolutions.com>
Date: Tue, 9 Apr 2024 19:48:00 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 7/9] xen/xsm: address violation of MISRA C Rule
 16.2
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <7fbb80bf62fc2e5f91a89375134622366c0b3891.1712305581.git.nicola.vetrini@bugseng.com>
 <543f34ed-48f3-4ce5-bd34-00c2cf176ba0@apertussolutions.com>
 <c364de9357b5f3419e592e7ad3bd307a@bugseng.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: <c364de9357b5f3419e592e7ad3bd307a@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/9/24 16:00, Nicola Vetrini wrote:
> On 2024-04-09 16:02, Daniel P. Smith wrote:
>> On 4/5/24 05:14, Nicola Vetrini wrote:
>>> Refactor the switch so that a violation of
>>> MISRA C Rule 16.2 is resolved (A switch label shall only be used
>>> when the most closely-enclosing compound statement is the body of
>>> a switch statement).
>>> Note that the switch clause ending with the pseudo
>>> keyword "fallthrough" is an allowed exception to Rule 16.3.
>>>
>>
>> To give you a quick response, on cursory review, I do not believe the 
>> two are equivalent. I have never been a fan of the Duff's device in 
>> use here, as it makes reasoning about all the variations difficult. I 
>> unrolled all of this once before, and I recall it being a bit more 
>> intricate than this.
>>
>> v/r,
>> dps
> 
> Hi,
> 
> basically what I was trying to accomplish is this: XSM_TARGET will 
> either enter the if and return, or fallthrough to XSM_XS_PRIV, but then 
> it won't enter the if (as it did before because in order to reach this 
> second case's if statement it had to also satisfy the first condition 
> (evaluate_nospec(src == target)), which would then cause the XSM_TARGET 
> phase to return 0). And then if either the action != XSM_XS_PRIV or the 
> other condition is not satisfied we go down to XSM_DM_PRIV, just like 
> before. I may have made a logical mistake somewhere, of course, but it 
> seems the same thing semantically, by relying on the fact that
> 
> case XSM_TARGET:
> if (...) {
>    return 0;
> case XSM_XS_PRIV:
>     ...
> }
> 
> can be rewritten as
> 
> case XSM_TARGET:
>    if (...) { return 0; }
>    fallthrough;
> case XSM_XS_PRIV:
>    if (action == XSM_XS_PRIV && ...) { ... }
> case XSM_DM_PRIV:
> 
> because there wasn't other code after the closed bracket of the if in 
> the XSM_XS_PRIV case (only a fallthough that remained as is).

Yes, upon a closer look, you are correct. I just did a quick read 
earlier since this has been sitting for a few days. I missed that you 
did in fact have it falling all the way down through all the subsequent 
checks for each case "entry point" into the privilege hierarchy. 
Honestly, I probably should look into a comment to document the 
hierarchy of the checks that is buried in there.

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 00:50:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 00:50:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702891.1098538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruMAW-0007X0-NF; Wed, 10 Apr 2024 00:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702891.1098538; Wed, 10 Apr 2024 00:50:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruMAW-0007Wt-I5; Wed, 10 Apr 2024 00:50:28 +0000
Received: by outflank-mailman (input) for mailman id 702891;
 Wed, 10 Apr 2024 00:50: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 1ruMAW-0007Wj-3C; Wed, 10 Apr 2024 00:50: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 1ruMAV-0005VK-UM; Wed, 10 Apr 2024 00:50: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 1ruMAV-0005wA-K9; Wed, 10 Apr 2024 00:50:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruMAV-0006LW-Jm; Wed, 10 Apr 2024 00:50:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=n7WvfvwHC0608WHw99gJJyE/8ZA10MX+KAWFBAgnzWU=; b=elE1aDjbWgz4hBbhfpvtehUGax
	UYtpFqvMx7++HhtM0UyvpgGQPO9Xw+dJee9A5USoBNe0XNnIjQzFmCf5YNAJnyQX01kUOeF0Agcvs
	yfPYsieE+FOdOTGLr1ksIiWwtVwUYB9gmwRi07LeTv/ALUNhU1WqnkF5ujC8VW5Q2at8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185291-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185291: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f48299cad5c3c69fdc2c101517a6dab9c9827ea5
X-Osstest-Versions-That:
    xen=d5887c0decbd90e798b24ed696628645b04632fb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 00:50:27 +0000

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

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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f48299cad5c3c69fdc2c101517a6dab9c9827ea5
baseline version:
 xen                  d5887c0decbd90e798b24ed696628645b04632fb

Last test of basis   185289  2024-04-09 18:00:25 Z    0 days
Testing same since   185291  2024-04-09 22:02:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  John Ernberg <john.ernberg@actia.se>
  Julien Grall <jgrall@amazon.com>
  Peng Fan <peng.fan@nxp.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
   d5887c0dec..f48299cad5  f48299cad5c3c69fdc2c101517a6dab9c9827ea5 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 04:18:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 04:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702898.1098547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruPP7-0007pK-L0; Wed, 10 Apr 2024 04:17:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702898.1098547; Wed, 10 Apr 2024 04:17:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruPP7-0007pD-IL; Wed, 10 Apr 2024 04:17:45 +0000
Received: by outflank-mailman (input) for mailman id 702898;
 Wed, 10 Apr 2024 04:17: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 1ruPP6-0007p3-JE; Wed, 10 Apr 2024 04:17: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 1ruPP6-0007z5-Ek; Wed, 10 Apr 2024 04:17: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 1ruPP6-0003in-06; Wed, 10 Apr 2024 04:17:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruPP5-0007wC-Po; Wed, 10 Apr 2024 04:17:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=x0EIxErVpwFbh7qfUHfJGFFic+DGCK6rAKYhN7jAXXE=; b=gJm3P9yjYRfW8MTN3b1beNeJfF
	6+ISU4obIfhLp9EW7BFtGsjezKNT6kJi6mGbAg0agndLnNIuWqiYnBFur7y8IUrGNg0btRO6GV8rd
	rjIfMjru6QgukhOzFOEVsAhZ3sZAUoZSdjaO5YSpXoHZ/9QVHjfbbcPAdkKmVNaN6gfE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185281-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185281: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-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-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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=672b26b66ebb5ff3d28c573a6545a08020b27495
X-Osstest-Versions-That:
    xen=c079823df64c98dd7bb40fe77d9ef410e85a7624
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 04:17:43 +0000

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

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail in 185292 like 185277
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185277
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185277
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185277
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185277
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185277
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-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                  672b26b66ebb5ff3d28c573a6545a08020b27495
baseline version:
 xen                  c079823df64c98dd7bb40fe77d9ef410e85a7624

Last test of basis   185277  2024-04-09 01:53:59 Z    1 days
Testing same since   185281  2024-04-09 11:10:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Vaishnav Achath <vaishnav.a@ti.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
   c079823df6..672b26b66e  672b26b66ebb5ff3d28c573a6545a08020b27495 -> master


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 04:24:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 04:24:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702905.1098561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruPV8-0001Ij-Fh; Wed, 10 Apr 2024 04:23:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702905.1098561; Wed, 10 Apr 2024 04:23: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 1ruPV8-0001Ic-Cj; Wed, 10 Apr 2024 04:23:58 +0000
Received: by outflank-mailman (input) for mailman id 702905;
 Wed, 10 Apr 2024 04:23: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 1ruPV7-0001I9-C6; Wed, 10 Apr 2024 04:23: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 1ruPV7-000875-6U; Wed, 10 Apr 2024 04:23: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 1ruPV6-0003tH-Tf; Wed, 10 Apr 2024 04:23:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruPV6-00043i-T9; Wed, 10 Apr 2024 04: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7qQvjfbnliNP0xg8FjcO45I5ilJuQF9Mod00EAEWm90=; b=E6hhi2OXLyBdSXvwpBM0b/bkDY
	WQ3Vgwi8lc5i1Zt9MOqd9LRVL55QXL+2UvTKVxbsQiBBHUN0sZymNVJkIL3DW+FTPlInUf1x7GRGw
	Tagi31iSsKa5/Ga7VFy67Kk1E1NOl1AEqiAWgs+OAI1u+F50ThRLAe0SwAiz31AD1euY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185293-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185293: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=963671d3801a6992d1aa06f05d86e32efa6b205e
X-Osstest-Versions-That:
    ovmf=665789b61bc39de67d3f17288bacb4662434e251
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 04:23:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 963671d3801a6992d1aa06f05d86e32efa6b205e
baseline version:
 ovmf                 665789b61bc39de67d3f17288bacb4662434e251

Last test of basis   185288  2024-04-09 17:45:00 Z    0 days
Testing same since   185293  2024-04-10 02:11:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  HoraceX Lien <horacex.lien@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
   665789b61b..963671d380  963671d3801a6992d1aa06f05d86e32efa6b205e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 05:58:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 05:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702917.1098580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruQyS-0005QE-0v; Wed, 10 Apr 2024 05:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702917.1098580; Wed, 10 Apr 2024 05:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruQyR-0005Q7-Sy; Wed, 10 Apr 2024 05:58:19 +0000
Received: by outflank-mailman (input) for mailman id 702917;
 Wed, 10 Apr 2024 05:58: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 1ruQyR-0005Px-Ag; Wed, 10 Apr 2024 05:58: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 1ruQyR-0001np-8F; Wed, 10 Apr 2024 05:58: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 1ruQyQ-00070K-Sy; Wed, 10 Apr 2024 05:58:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruQyQ-00069p-SO; Wed, 10 Apr 2024 05:58: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=IKDDyJtSREZ2/5Y2Xq9o/oQtEqOjJ0UiJ/A0RC8rpEE=; b=7MZOP1Xi8dThPodb9CHGgj+o9A
	mPgCPmaYZXVWeCWnmwxWAqcDh9Gof0V/toJtp9yBTuPl6ZvWjCZsvhHKmcQQphGly2ohADox4Hr5x
	fse/Uo/MKjhbZdwGV+qoludEKV+jpOJtK1LnNlFk7e6BM06UhdyFiQs7V2PboIqObxA8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185282-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185282: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
X-Osstest-Versions-That:
    xen=0fb100a94d0127910fe1dfa253cb759f6bc11174
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 05:58:18 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185006
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185006
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185006
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185006
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185006
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185006
 test-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     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-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-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 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-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                  65eb8f32b6b82e0268a9d66b49da354bc6698e87
baseline version:
 xen                  0fb100a94d0127910fe1dfa253cb759f6bc11174

Last test of basis   185006  2024-03-12 17:36:59 Z   28 days
Testing same since   185282  2024-04-09 12:06:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bjoern Doebel <doebel@amazon.de>
  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
   0fb100a94d..65eb8f32b6  65eb8f32b6b82e0268a9d66b49da354bc6698e87 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 06:53:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 06:53:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702923.1098590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruRpW-0004jK-0i; Wed, 10 Apr 2024 06:53:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702923.1098590; Wed, 10 Apr 2024 06:53: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 1ruRpV-0004jD-Sd; Wed, 10 Apr 2024 06:53:09 +0000
Received: by outflank-mailman (input) for mailman id 702923;
 Wed, 10 Apr 2024 06:53: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=iiiq=LP=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1ruRpU-0004ha-Mq
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 06:53:08 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id faf5e9a8-f706-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 08:53:04 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S036ANL.actianordic.se
 (10.12.31.117) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Wed, 10 Apr
 2024 08:53:04 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Wed, 10 Apr 2024 08:53:04 +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: faf5e9a8-f706-11ee-94a3-07e782e9044d
From: John Ernberg <john.ernberg@actia.se>
To: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Topic: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Index: AQHaic9tXQJwwldfJUm8+1aRDWuvfLFfXksAgAGUBwA=
Date: Wed, 10 Apr 2024 06:53:04 +0000
Message-ID: <813e9e0a-9447-4012-822a-843e1f88f254@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
 <d02b7de4-41bf-4bf9-8b04-e21625449f27@amd.com>
In-Reply-To: <d02b7de4-41bf-4bf9-8b04-e21625449f27@amd.com>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A2958D7295464746A
Content-Type: text/plain; charset="utf-8"
Content-ID: <D3965DE9A8C3994C98E0C14A9B04749F@actia.se>
Content-Transfer-Encoding: base64
MIME-Version: 1.0

T24gNC85LzI0IDg6NDcgQU0sIE1pY2hhbCBPcnplbCB3cm90ZToNCj4gSGkgSm9obiwNCj4gDQo+
IE9uIDA4LzA0LzIwMjQgMTg6MTEsIEpvaG4gRXJuYmVyZyB3cm90ZToNCj4+DQo+Pg0KPj4gV2hl
biB1c2luZyBMaW51eCBmb3IgZG9tMCB0aGVyZSBhcmUgYSBidW5jaCBvZiBkcml2ZXJzIHRoYXQg
bmVlZCB0byBkbyBTTUMNCj4+IFNJUCBjYWxscyBpbnRvIHRoZSBmaXJtd2FyZSB0byBlbmFibGUg
Y2VydGFpbiBoYXJkd2FyZSBiaXRzIGxpa2UgdGhlDQo+PiB3YXRjaGRvZy4NCj4+DQo+PiBQcm92
aWRlIGEgYmFzaWMgcGxhdGZvcm0gZ2x1ZSB0aGF0IGltcGxlbWVudHMgdGhlIG5lZWRlZCBTTUMg
Zm9yd2FyZGluZy4NCj4+DQo+PiBUaGUgZm9ybWF0IG9mIHRoZXNlIGNhbGxzIGFyZSBhcyBmb2xs
b3dzOg0KPj4gICAtIHJlZyAwOiBmdW5jdGlvbiBJRA0KPj4gICAtIHJlZyAxOiBzdWJmdW5jdGlv
biBJRCAod2hlbiB0aGVyZSdzIGEgc3ViZnVuY3Rpb24pDQo+PiAgIHJlbWFpbmluZyByZWdzOiBh
cmdzDQo+Pg0KPj4gRm9yIG5vdyB3ZSBvbmx5IGFsbG93IERvbTAgdG8gbWFrZSB0aGVzZSBjYWxs
cyBhcyB0aGV5IGFyZSBhbGwgbWFuYWdpbmcNCj4+IGhhcmR3YXJlLiBUaGVyZSBpcyBubyBzcGVj
aWZpY2F0aW9uIGZvciB0aGVzZSBTSVAgY2FsbHMsIHRoZSBJRHMgYW5kIG5hbWVzDQo+PiBoYXZl
IGJlZW4gZXh0cmFjdGVkIGZyb20gdGhlIHVwc3RyZWFtIGxpbnV4IGtlcm5lbCBhbmQgdGhlIHZl
bmRvciBrZXJuZWwuDQo+Pg0KPj4gTW9zdCBvZiB0aGUgU0lQIGNhbGxzIGFyZSBvbmx5IGF2YWls
YWJsZSBmb3IgdGhlIGlNWDhNIHNlcmllcyBvZiBTb0NzLCBzbw0KPj4gdGhleSBhcmUgZWFzeSB0
byByZWplY3QgYW5kIHRoZXkgbmVlZCB0byBiZSByZXZpc2l0ZWQgd2hlbiBpTVg4TSBzZXJpZXMN
Cj4+IHN1cHBvcnQgaXMgYWRkZWQuDQo+IFN0YWxlIHBhcmFncmFwaC4gU2hvdWxkIGJlIHJlbW92
ZWQgZ2l2ZW4gdGhhdCB0aGUgZHJpdmVyIHRhcmdldHMgb25seSBRe00sWFB9Lg0KPiANCj4+DQo+
PiAgRnJvbSB0aGUgb3RoZXIgY2FsbHMgd2UgY2FuIHJlamVjdCBDUFVGUkVRIGJlY2F1c2UgRG9t
MCBjYW5ub3QgbWFrZSBhbg0KPj4gaW5mb3JtZWQgZGVjaXNpb24gcmVnYXJkaW5nIENQVSBmcmVx
dWVuY3kgc2NhbGluZywgV0FLRVVQX1NSQyBpcyB0byB3YWtlDQo+PiB1cCBmcm9tIHN1c3BlbmQs
IHdoaWNoIFhlbiBkb2Vzbid0IHN1cHBvcnQgYXQgdGhpcyB0aW1lLg0KPj4NCj4+IFRoaXMgbGVh
dmVzIHRoZSBUSU1FIFNJUCwgT1RQIFNJUHMsIEJVSUxESU5GTyBTSVAgYW5kIFRFTVAgQUxBUk0g
U0lQLCB3aGljaA0KPj4gZm9yIG5vdyBhcmUgYWxsb3dlZCB0byBEb20wLg0KPiBCVUlMRElORk8s
IFRFTVAgQUxBUk0gYXJlIGxlZnRvdmVycyBmcm9tIHByZXZpb3VzIHJldmlzaW9uLg0KPiANCj4+
DQo+PiBOT1RFOiBUaGlzIGNvZGUgaXMgYmFzZWQgb24gY29kZSBmb3VuZCBpbiBOWFAgWGVuIHRy
ZWUgbG9jYXRlZCBoZXJlOg0KPj4gaHR0cHM6Ly9naXRodWIuY29tL254cC1pbXgvaW14LXhlbi9i
bG9iL2xmLTUuMTAueV80LjEzL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvaW14OHFtLmMNCj4+DQo+
PiBTaWduZWQtb2ZmLWJ5OiBQZW5nIEZhbiA8cGVuZy5mYW5AbnhwLmNvbT4NCj4+IFtqZXJuYmVy
ZzogQWRkIFNJUCBjYWxsIGZpbHRlcmluZ10NCj4+IFNpZ25lZC1vZmYtYnk6IEpvaG4gRXJuYmVy
ZyA8am9obi5lcm5iZXJnQGFjdGlhLnNlPg0KPiBSZXZpZXdlZC1ieTogTWljaGFsIE9yemVsIDxt
aWNoYWwub3J6ZWxAYW1kLmNvbT4NCj4gDQo+IFRoZSBjb21taXQgbXNnIGNhbiBiZSBmaXhlZCBv
biBjb21taXQuDQo+IA0KPiB+TWljaGFsDQoNCg0KQXBvbG9naWVzIGZvciBmb3JnZXR0aW5nIHRv
IGFkanVzdCB0aGF0LiBMZXQgbWUga25vdyBpZiBpdCdzIGVhc2llciBmb3IgDQp5b3UgaWYgSSBk
byBhIHY1IHdpdGggdGhlIGZpeGVkIGNvbW1pdCBtZXNzYWdlLg0KDQpUaGFua3MhIC8vIEpvaG4g
RXJuYmVyZw==


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 07:04:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 07:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702927.1098600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruS0k-0006n7-1M; Wed, 10 Apr 2024 07:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702927.1098600; Wed, 10 Apr 2024 07:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruS0j-0006n0-Tb; Wed, 10 Apr 2024 07:04:45 +0000
Received: by outflank-mailman (input) for mailman id 702927;
 Wed, 10 Apr 2024 07:04: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=Oh3E=LP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1ruS0i-0006mu-O1
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 07:04:44 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ad54ecf-f708-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 09:04:42 +0200 (CEST)
Received: from AM8P251CA0003.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:21b::8)
 by PA4PR08MB6016.eurprd08.prod.outlook.com (2603:10a6:102:e3::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.54; Wed, 10 Apr
 2024 07:04:33 +0000
Received: from AM4PEPF00027A62.eurprd04.prod.outlook.com
 (2603:10a6:20b:21b:cafe::ac) by AM8P251CA0003.outlook.office365.com
 (2603:10a6:20b:21b::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.36 via Frontend
 Transport; Wed, 10 Apr 2024 07:04:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A62.mail.protection.outlook.com (10.167.16.71) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 07:04:33 +0000
Received: ("Tessian outbound 9d16f63426bd:v300");
 Wed, 10 Apr 2024 07:04:32 +0000
Received: from 11334a8494bb.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 84EEA4A8-22D0-4774-93EB-83607F3AB649.1; 
 Wed, 10 Apr 2024 07:04:25 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 11334a8494bb.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 07:04:25 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DB3PR08MB9897.eurprd08.prod.outlook.com (2603:10a6:10:436::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 07:04:22 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 07:04:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ad54ecf-f708-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=PVWKp2i+CpvHKbJc1A36qnW0HXGEmVJDIsHiVNsXAXKMIRBkp28CADj292Y+anDYjQAELbMhLe2RgOCWvxd5F8XPBt6fBeoEu62+KgApFmbMfHNZL8Dk5JH9nI/JPx7tIJ/WCYhZ0wTwBGPC181k0xRSibo3XS54FIrzJ+i6HUnAfW2QqwsR3mtGgQBLLox98E2gQ+xYSxfc88SaTdTLeRcinRIfgXTU4A3rJwA6XIpyXnytEs2+glCbkJi3qXCjy0a1C7P1vCQycjnoG7cgr+q2flnxSVU+a8bz/IWfys/ozEYjAhwE4WW3xMKYwf4YewO7QN833+aRM+ghzLbrwQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oYc5+cJMbOtVGL7/jJFXnS9bVn/ilE+xcryFhm5I3rU=;
 b=cvPO1sgJjalSUNz/PD66DRIMfqOxcxo4seA1YEKLBuGhHm6RjLmul/XgsTCfkGuANs2MiU1QHDlbaKyWUrd9REmzeniUI9IhMlXED92WSKuLgJyg4eGzCykRE7+WW82ZTA74PwfmfVp0bx1IfOyzxPtBhOUpGS17+HUypfM0ZPt8uED98WTdgzrPrscHQPUwHdZlcDLC81DvRpbmYzSKsikO8VYr8BsfJQDqWVhhT1v3PaLjCjL4X+ec0cvo8kCN0NoE6eL9G0tZgk8jKyQjoswC3fC8p+3pAdkMiavTs4ERUlsGIR+2ZG6MKaJK7FIm/5OjLShUCbWfRR1XDGHVxw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oYc5+cJMbOtVGL7/jJFXnS9bVn/ilE+xcryFhm5I3rU=;
 b=Smj7McD3RQXJXnk1rc3NyMXnrJpRDdJa8iXEQ1CGOpY/iV4KcHhspObrK7N3KbXXwIbLauVM20a4Bvw3jWnEXrwHz9bvXFb1ZOgHpWbncvZX8I+1kyeWebPlmrrRebPyBcXVVWKRX2/ilrO5HHuarOs5nNSH3UOiu+r1dYefUmA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1574c74e64d4dab8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5s8jbv1N47Vc2kvITyf5bZeKpuXP1hPjaVJ+AfBGXqK+LnoIx9XpzJgksObrtLcf24bXuARCpVu6qg7iVqkE7XtTrQm/3ydStLo2bzPnN6WNKaz7HQ8EJVFxNuPvbctA2SOzgIWXQDbGBadczYbYHygjbYD2GGVKPuLLrx8wH5QPonb5k0efHKLl+Piuwmqh81fJ5wYxFUR9vj9mDdqI+NNnWMoSN6Zux668CLYiVYzziT4nuqNgeO8H8OVyT9PRgkLYJiZD6GJg5gkvylAMNHs+4eQ6vIQgz0gJpHCUcavfki7nXhY5ISL5fj0W++Vr94Cdn1y8EnLfvQnwpW2tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oYc5+cJMbOtVGL7/jJFXnS9bVn/ilE+xcryFhm5I3rU=;
 b=lcJXGeM11tDA906V5oT119Ynsbohn2aZi4hD/7bg3VQyFIN9aRk5okUOnDB6nekdiyxpq3Ylk+db6UHyLgwAMeeGL/4crdDScSbFITdjp40wZUnVxWQfQhy41HrF7vh7KswwnP0kYMPubixhd/EeM/D3SNepJCP+80eq/FyF6g/1ChS1RzQXis4YQjDma3PIof/WdwRzEehTCDVtn+nP55JisF/3T5h51IYzCVI5h3YyeLPQwCqtlcy+X3exsvktLuyrUA5l47c96K2Mxo7fMj0V4ouk5wnGEfSrVXPC/9qKbzD/A04i5ZDLCAcsJ3ofbFbmbg7OnkQ17tPAEiEmjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oYc5+cJMbOtVGL7/jJFXnS9bVn/ilE+xcryFhm5I3rU=;
 b=Smj7McD3RQXJXnk1rc3NyMXnrJpRDdJa8iXEQ1CGOpY/iV4KcHhspObrK7N3KbXXwIbLauVM20a4Bvw3jWnEXrwHz9bvXFb1ZOgHpWbncvZX8I+1kyeWebPlmrrRebPyBcXVVWKRX2/ilrO5HHuarOs5nNSH3UOiu+r1dYefUmA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v1 1/5] xen/arm: ffa: refactor ffa_handle_call()
Thread-Topic: [XEN PATCH v1 1/5] xen/arm: ffa: refactor ffa_handle_call()
Thread-Index: AQHaipO7gx2fHTq0t0aNBoE/iQWW9bFhFW0A
Date: Wed, 10 Apr 2024 07:04:22 +0000
Message-ID: <52ACBB77-58F3-4337-85E1-7F5C2343BF53@arm.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-2-jens.wiklander@linaro.org>
In-Reply-To: <20240409153630.2026584-2-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DB3PR08MB9897:EE_|AM4PEPF00027A62:EE_|PA4PR08MB6016:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 78MwY+JLyFzLrLpASY9hr4awEQn2e9a88eFf4D34C15wfdZZGmh3+Q8lfud41SGik9t2DUftlW3IXPR5QIQgyBpxZB1MzUf60/jiBy12tJdDHncdv88U+ACHK7/z3zRlHA0GLYISXOdO1LpVIMV6fH8d3Il7OBPV1eKs3AL1hcwNeOxOBMqWOct7YDeRTUowyacrfQlD4UR1iH6vS2+gI/RGkypa9GK+wWTJwLFJG/7BgbCiRhPmTfTkxcH/fHRRR7qlqspSMCqAvDreaHAmpbD7m8KLH3+aGtfHSme55ingR6L9zUyHZPXrq5AzsDfMGnNCOhX+8BOoO7AVmZAylxujwAimJ7PHwQhLCJ8/bJ+NnfMrRuRLc1DcjwygISXW2hBAEY/iM8Dkz1ijiE6c5MraSovr8tlOOGuyCrNm4FgDKlcBN1/qNvoBXpyKxfsrqHA01w2KPkCmuHnNLrDLuzzrSttNe6TK+OWlWzWiA9JB8Yu90qXDfWhCLSEO+qwjwxWGjox/rsASgHhn16tDc18MrczJbWmJryFCT4hnJWyOpLHzkDrvFwrS3MRJc/Dl9KwFOy++zgmjJiFeef4iQowJv6hjI6LCrCT0V3ORMjYNk2GUGmWKpiVWtGevbcahovXeS3Gwp4TuYWTlBjwg+BwlIlNS1QaXrmKwxRXEM5w=
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:(13230031)(1800799015)(366007)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <128106857472AF4BBA86057F063E9CC8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9897
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM4PEPF00027A62.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 04ccb10b-9ece-4a5b-5b66-08dc592c7971
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7fUJyS+yVPu+BWVQtMsia/f4gcw1WSlE4RIVxAfda0fUFPw2u0lS8auWiZOVWtvjqQKTEjewGHpjqUSDttczbm7+1A4hPHmbZAEEEQwRab+gldUxwq+KuYnw3VTDyq9yFtZ2t23ifw4Vcmiq9IUGcvTFXkLdnOH0IhDZyxgZsELrJTWvYbHinUl0ZtTL6iiQeYfy3EeeL9gNX3RrD6LkDxs29/zWiHMriRcSY3izqb8uogUy/OF1AUFfnSGTAxTPbJn39eepfbwmPpJXTl3gr7mGli4vAPp41PcMYP2wDXin7VGnhtjcv77QfJR7ZeUJENGM7J16eszQy2ekgGvUJnhGiL1HhYmgj1jkpbLPlbGNf2RTsszzx+T5QpHUhqegO3Yc3DLAMaNq8Ld3sapy7O8C5TC3zhJ3Pro51OQ6ZlStwuPW6dkBN3UqEa/I87ReV+0iWw972f3awtzLnTbNcamd/wLsqj3U+BcBB0Fxi2qGsKuk63XEpUK1KRq/EUPL7FMJTv08SWBJHwQquPO/MMVcqVVrRsRUSfxxCCd2DL2rsB6SfGQafC00Yv22bNEa/1T2Q4U2XcXCf0bUZGJ+O95VEMbRytBc2+YmeCZrwmX38Fxr6PCau8HfI4PS54wBnJ2kyHpQrFBRocMD65DvAvUBJ2cbjUwS39EJoqCgVZJMuDbNrljALsYGQGHnGboZDYo81KVRtE5C0wL/A5ATSkiFtwW9MH7HVoLIy0miRoHtz1TEijBwb8aLWAMyTiVk
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 07:04:33.0204
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 04ccb10b-9ece-4a5b-5b66-08dc592c7971
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM4PEPF00027A62.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6016

Hi Jens,

> On 9 Apr 2024, at 17:36, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Refactors the large switch block in ffa_handle_call() to use common code
> for the simple case where it's either an error code or success with no
> further parameters.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/tee/ffa.c | 30 ++++++++++--------------------
> 1 file changed, 10 insertions(+), 20 deletions(-)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 8665201e34a9..5209612963e1 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -273,18 +273,10 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
>     case FFA_RXTX_MAP_64:
>         e =3D ffa_handle_rxtx_map(fid, get_user_reg(regs, 1),
> get_user_reg(regs, 2), get_user_reg(regs, 3));
> -        if ( e )
> -            ffa_set_regs_error(regs, e);
> -        else
> -            ffa_set_regs_success(regs, 0, 0);
> -        return true;
> +        break;
>     case FFA_RXTX_UNMAP:
>         e =3D ffa_handle_rxtx_unmap();
> -        if ( e )
> -            ffa_set_regs_error(regs, e);
> -        else
> -            ffa_set_regs_success(regs, 0, 0);
> -        return true;
> +        break;
>     case FFA_PARTITION_INFO_GET:
>         e =3D ffa_handle_partition_info_get(get_user_reg(regs, 1),
>                                           get_user_reg(regs, 2),
> @@ -299,11 +291,7 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>         return true;
>     case FFA_RX_RELEASE:
>         e =3D ffa_handle_rx_release();
> -        if ( e )
> -            ffa_set_regs_error(regs, e);
> -        else
> -            ffa_set_regs_success(regs, 0, 0);
> -        return true;
> +        break;
>     case FFA_MSG_SEND_DIRECT_REQ_32:
>     case FFA_MSG_SEND_DIRECT_REQ_64:
>         handle_msg_send_direct_req(regs, fid);
> @@ -316,17 +304,19 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
>         e =3D ffa_handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs,=
 2),
>                                                      get_user_reg(regs, 1=
)),
>                                    get_user_reg(regs, 3));
> -        if ( e )
> -            ffa_set_regs_error(regs, e);
> -        else
> -            ffa_set_regs_success(regs, 0, 0);
> -        return true;
> +        break;
>=20
>     default:
>         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
>         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>         return true;
>     }
> +
> +    if ( e )
> +        ffa_set_regs_error(regs, e);
> +    else
> +        ffa_set_regs_success(regs, 0, 0);
> +    return true;
> }
>=20
> static int ffa_domain_init(struct domain *d)
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 07:05:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 07:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702930.1098610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruS1c-0007KA-Bq; Wed, 10 Apr 2024 07:05:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702930.1098610; Wed, 10 Apr 2024 07: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 1ruS1c-0007K3-90; Wed, 10 Apr 2024 07:05:40 +0000
Received: by outflank-mailman (input) for mailman id 702930;
 Wed, 10 Apr 2024 07:05: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=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruS1b-0007Jx-As
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 07:05:39 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2407::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb48e2f6-f708-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 09:05:37 +0200 (CEST)
Received: from CY5PR15CA0144.namprd15.prod.outlook.com (2603:10b6:930:67::11)
 by SA0PR12MB4367.namprd12.prod.outlook.com (2603:10b6:806:94::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 07:05:34 +0000
Received: from CY4PEPF0000FCC0.namprd03.prod.outlook.com
 (2603:10b6:930:67:cafe::5a) by CY5PR15CA0144.outlook.office365.com
 (2603:10b6:930:67::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 07:05:34 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000FCC0.mail.protection.outlook.com (10.167.242.102) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 07:05:33 +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.35; Wed, 10 Apr
 2024 02:05:32 -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.35 via Frontend
 Transport; Wed, 10 Apr 2024 02: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: bb48e2f6-f708-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D01+JqgpcXFSnItoaLxsZKsp8LY2aoJrT941NWyxVG0oyxy0NQDFrdIwu6RvVQXz61mxA4ksDqSdU48/6ldJzv7pFWuv65/CtJZoHb4vz3tBGKYojbGlUkcX1Lj6pZ/FR2Txym3iMMx/+KAQWoYZEV4Mb6Qgpkht3KbaoxssaoB9l/zYSu4PBINbA3vy5VS9B7CBkIb+3Fno/dx6XqHqUjoZ7d+aHPVGZUXc/T7yEygFlTFt+6Gv+MmF1LlfWzkkQee3PhLcBKYHVDDFB8YfYUnaGCVRqwL7vDTC/pRExvuY2atnWiK6i2YSArQ13Eh/OytLx2Pyhx7+XitRKhL5zA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eErT36/RII/2aOMLaO00ftmzJ1j8KmvR+NeXdBzkLwo=;
 b=AAg2rthEIuPBrwtaDgckEC82nl3F0iElO8YPxO609vm/AGiD8cfRM+AO+xXA+WiTf9BKbxWrjrVi92XgI5aIuKO+DIGgfCQ6hD8BnwK6Loegt5faKG+noN9iqzWb+9sQW76B5FnTwGEpK+1XIRPBrTvszxU6Yk75X+i3b2ePTjI7ZUqSiWmGGhXCYK/6gG+3sW3cXx+knKUdC9AhC10BvvajChSQelxF6BVcGT1/zFMULJBi3DwPv9LTR+JzYefyw7bXuvbq6VawaFFJzz+CFSCtGfIxGtNMuCnTUYmlLvLU3QsuG77rnGE6umsg3jU/R1OKPMA5rGz1YI8uRJqVgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=actia.se smtp.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=eErT36/RII/2aOMLaO00ftmzJ1j8KmvR+NeXdBzkLwo=;
 b=CKmF6JHne8oEQ9rV+SzA+SkUFRn2ayqoij3LEA4iZmK6MHgQ+7IKE/YkNuPHn7Sjo6CgjOgSRSE/TLHP/whRkito8PkYcbGXJjgHLI4Ayme/11eLZJFGm6F/jz5HrSLOtuUmn+zMafiA2CxKFPYawtLYnPWRAsIOxFKYBlnoGrY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e7e7aea9-1488-4d3a-bf96-7145236ab470@amd.com>
Date: Wed, 10 Apr 2024 09:05:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
To: John Ernberg <john.ernberg@actia.se>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan
	<peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
 <d02b7de4-41bf-4bf9-8b04-e21625449f27@amd.com>
 <813e9e0a-9447-4012-822a-843e1f88f254@actia.se>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <813e9e0a-9447-4012-822a-843e1f88f254@actia.se>
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: CY4PEPF0000FCC0:EE_|SA0PR12MB4367:EE_
X-MS-Office365-Filtering-Correlation-Id: 02b8eb4a-6ae3-412e-1858-08dc592c9d73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rpspZEY9ZYll5SAX5LTh2DdYs4xSudmXQ5XqIyJgfeRUnvDJgdKRXSVbzN13YzsLcfDvdRORb3PMA5FJ7DrxBDSC25CaGKlSsuEkEKxMjoLtdUSsSHqh9qRVG1j6oQ6a6JCfxejxWgmgH1wOL9pOBHPusmdGENnZJAjR2nPa/uJ7wz1OP7mHZ5Ni4lGoKrQ4FqGSez7m3lYcN5/xa7Ssryes9W6a3eI9UxP7+JnIOCqKjzHA7HDngKQdUaQ/9fXxbebwKjq+Jo3FhQoGvE+x5vtipiTDX9EAT67kA4owh8i+4Be8bceBxkKbK3Hy0wZFVDQOf72XZf8DL608cVFGn+LAIeqFcw8R7gZf+8iS6YPZVXVAvH35Dl+AmxgsydKIYPVHB4b1Pt7tiaLOSydLG8MYKsW5tdcfXK5/3z6vVFagpFsWcPYVcxz/aXTAhMYD3VRX/fznYNst77ZWYgsJP4t8cmq/ZoA8X4DWNf7Lcr9Fn8l9CheLiLHnp2NESUrdyEaYXUBz3TxfZTkOeNB5rSewURMgbZ5HVgrKwl57dkmNROIXoxPw6+LeyIekRifyEgXt1S2xFpo7apkj3+MGB5QkxkNT3rUDB2WWbJkg1VJQeJ2o/RQeW6/Ag6ENMtfUE/tYDxm9NE8kw/tajsK7aaoU5EbrKBJGrcoX01Cm4ex7nFrrN4tvdBEAKCBfcv67ndNp+Js54uDh2rMZnDaUcA6xn10apAEcMsBskM66pVr01euyeG42GowttLsVuzGV
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004)(7416005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 07:05:33.3672
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 02b8eb4a-6ae3-412e-1858-08dc592c9d73
X-MS-Exchange-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:
	CY4PEPF0000FCC0.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4367

Hi John,

On 10/04/2024 08:53, John Ernberg wrote:
> 
> 
> On 4/9/24 8:47 AM, Michal Orzel wrote:
>> Hi John,
>>
>> On 08/04/2024 18:11, John Ernberg wrote:
>>>
>>>
>>> When using Linux for dom0 there are a bunch of drivers that need to do SMC
>>> SIP calls into the firmware to enable certain hardware bits like the
>>> watchdog.
>>>
>>> Provide a basic platform glue that implements the needed SMC forwarding.
>>>
>>> The format of these calls are as follows:
>>>   - reg 0: function ID
>>>   - reg 1: subfunction ID (when there's a subfunction)
>>>   remaining regs: args
>>>
>>> For now we only allow Dom0 to make these calls as they are all managing
>>> hardware. There is no specification for these SIP calls, the IDs and names
>>> have been extracted from the upstream linux kernel and the vendor kernel.
>>>
>>> Most of the SIP calls are only available for the iMX8M series of SoCs, so
>>> they are easy to reject and they need to be revisited when iMX8M series
>>> support is added.
>> Stale paragraph. Should be removed given that the driver targets only Q{M,XP}.
>>
>>>
>>>  From the other calls we can reject CPUFREQ because Dom0 cannot make an
>>> informed decision regarding CPU frequency scaling, WAKEUP_SRC is to wake
>>> up from suspend, which Xen doesn't support at this time.
>>>
>>> This leaves the TIME SIP, OTP SIPs, BUILDINFO SIP and TEMP ALARM SIP, which
>>> for now are allowed to Dom0.
>> BUILDINFO, TEMP ALARM are leftovers from previous revision.
>>
>>>
>>> NOTE: This code is based on code found in NXP Xen tree located here:
>>> https://github.com/nxp-imx/imx-xen/blob/lf-5.10.y_4.13/xen/arch/arm/platforms/imx8qm.c
>>>
>>> Signed-off-by: Peng Fan <peng.fan@nxp.com>
>>> [jernberg: Add SIP call filtering]
>>> Signed-off-by: John Ernberg <john.ernberg@actia.se>
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>
>> The commit msg can be fixed on commit.
>>
>> ~Michal
> 
> 
> Apologies for forgetting to adjust that. Let me know if it's easier for
> you if I do a v5 with the fixed commit message.
> 
> Thanks! // John Ernberg

The series is already committed and Stefano fixed my remarks on commit.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 07:05:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 07:05:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702932.1098620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruS1j-0007bK-JB; Wed, 10 Apr 2024 07:05:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702932.1098620; Wed, 10 Apr 2024 07:05:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruS1j-0007bD-Ft; Wed, 10 Apr 2024 07:05:47 +0000
Received: by outflank-mailman (input) for mailman id 702932;
 Wed, 10 Apr 2024 07:05: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=Oh3E=LP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1ruS1i-0007Jx-H8
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 07:05:46 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2608::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c06af22f-f708-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 09:05:45 +0200 (CEST)
Received: from DU2PR04CA0352.eurprd04.prod.outlook.com (2603:10a6:10:2b4::23)
 by PA6PR08MB10393.eurprd08.prod.outlook.com (2603:10a6:102:3cb::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 07:05:43 +0000
Received: from DU2PEPF0001E9C2.eurprd03.prod.outlook.com
 (2603:10a6:10:2b4:cafe::99) by DU2PR04CA0352.outlook.office365.com
 (2603:10a6:10:2b4::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 07:05:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF0001E9C2.mail.protection.outlook.com (10.167.8.71) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22 via
 Frontend Transport; Wed, 10 Apr 2024 07:05:43 +0000
Received: ("Tessian outbound 5ad6c4395be7:v300");
 Wed, 10 Apr 2024 07:05:43 +0000
Received: from 18e3b3ca2c65.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E25C29E2-D0A2-49C4-B940-271134956D13.1; 
 Wed, 10 Apr 2024 07:05:37 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 18e3b3ca2c65.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 07:05:37 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB8346.eurprd08.prod.outlook.com (2603:10a6:10:40a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 07:05:35 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 07:05:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c06af22f-f708-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ehHJUmx24aaxZooFRZZ/lgN9nrm0x8MLSMolkpilruYh7FTQ4kbWIWIevoNS5xWbUAU9QdY6pR9Y+STInMWQBGgOfYLvXRu7/lyTPiCm5yexDihTflmzJxqKUra72b06XFC2EzybOWLTUeChePmGwwmdBW2PUq6g5ehhQDyZbLMrv3AfYpzwQ4jaYU2Dgyi9ftcyyMbSuzvlyPrQNygOz4mIsg8SnGenGPuabH3VNiA9SXmIfYMaV6KBzOmPpzHJ1mgpvKdJGtuKKpsaaVEBaphF/U2zf7wMkCP43r0+bNn9AwWDQ48U5d/OXxakeIUbYjYF7IAolFZbq2/fKJwN6w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F/MwjtnK9qmzlWjtgCd002xcrCUf8czW5AHH3/FHceY=;
 b=iRsGgKrQq6XZ8sJDyUQFEi59O6dLk5ei73Lyg0cWymdtSlzjyHXIgjPzjOh1p4smiFCjHTRuorQ8qq7kZgrloPecjURegjkV3ziCBNl0aDWi7nwI0y/eC6fw7IlnoeMcfum1xUudpZtlxyRCryR5RsrKGWJ94a/fzQU7z1mwUESyBXV3dqHMEm3yUyKfdVPQXbg8PMtcryE8WJ3d2OOWiTvcISkJD4yFPyzi7XUbNlrVxGb+/nT7NAWRf8TT/VrifqdRDHq1+RXprjMUENCW323MmJi1oFjVSghecT2X3ZvvWx6/6ABJPmp9GQ6Ij776XFVlpBL9lKoq5kP7yoGqKw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F/MwjtnK9qmzlWjtgCd002xcrCUf8czW5AHH3/FHceY=;
 b=6SvFmwWwyKvOf1dz5rsd3XlZWpkzXLPJowvjJDHExM4NJfrlxx2yY/xphnXI7qOUksa4Zz4JaaVUVSmQf05M5f+7zVL9jSrAgHFBv3WMhC9o08gBCIuWVuU5d1Dxm1KbBX30bQ5ZnusIbvLhb/8Hwfl3fBqkHlu/4pPmG5VTGsk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 20fc27449019e2c4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mjO4LVHuEL8YN3knICxtC72utVmX+zH6ma4XYOk8HedA8t7Lnzx2GxI23dt2nc2F9T/Mzg37tZkVqZMESprGi5mD4ckZ/yfBxKd6P7lEcJVYbTN+oATLw51y8iwCBk0Cxn/q2ZEwQEERM3hms/dLQXd9QBLRrVMp5IOCmcgn/Kyu+c2RiKgITdsvQ/a80zzZUzalQEGM4tfLwlGPbVvJWYMi0OiZjKNCUjgyE6iIOHPqj4Al0IFbWQKJsJoWuYGyhp/HMUstQ7wfhUAOraF4YVdedr7fx+Zi11kDEh2XsjqYMvW+xX/AhAlg8HnFY0FOqKxJhydG2tA+sLDIe82LZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F/MwjtnK9qmzlWjtgCd002xcrCUf8czW5AHH3/FHceY=;
 b=OK/7WBC+z6SpUHAbxZu/KS/Jm2WNrfsKXtEGykajyMOZZDroExTMXeqiEi5yQeACUctOkhD8kDrcl3una6V9GPd4ILQ9B6DpDcRyMlSyBTsy8N9kEywA+0R8TBRsTcFmKSBgp3Gj9Phy4pwYdRtMBEze8udT87tg8S+8X3L3HjqMmI3k4ipd4Mj6w3A2W1cEcwCql9ZgvSbkwyl0P+H2WkfgF/cjspoIEesHfLUibiIbtQbEfNge2z9qmXFZGkdOyKlpl+qvUwrvvmhPoJ7NeYAImeFFOTHreZw2fuR50M0CA/QXjtr/58zK/OCJSe6GdtKdbRXSQsvkpBiC9JCK8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F/MwjtnK9qmzlWjtgCd002xcrCUf8czW5AHH3/FHceY=;
 b=6SvFmwWwyKvOf1dz5rsd3XlZWpkzXLPJowvjJDHExM4NJfrlxx2yY/xphnXI7qOUksa4Zz4JaaVUVSmQf05M5f+7zVL9jSrAgHFBv3WMhC9o08gBCIuWVuU5d1Dxm1KbBX30bQ5ZnusIbvLhb/8Hwfl3fBqkHlu/4pPmG5VTGsk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v1 2/5] xen/arm: ffa: use ACCESS_ONCE()
Thread-Topic: [XEN PATCH v1 2/5] xen/arm: ffa: use ACCESS_ONCE()
Thread-Index: AQHaipO90m+vC5zVBEutoTp706SovLFhFcSA
Date: Wed, 10 Apr 2024 07:05:35 +0000
Message-ID: <26F7F71B-C0C2-4844-81C6-3FF27F2C3854@arm.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-3-jens.wiklander@linaro.org>
In-Reply-To: <20240409153630.2026584-3-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB8346:EE_|DU2PEPF0001E9C2:EE_|PA6PR08MB10393:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 c64TRGdL8MZrEZlN+Lqqf8UEEcr5HwWni9qIkzEoo4Nuf8+o3R/hYwVjISRmH5VjoGFfbwuA7mMb9/GrSe8IkwjEcF4nwHyBSEZDUM4v52J890MOMa2AE8ZsBVR/eMyOHvPuRdyilUxtCBfkTpsif+Nm3+tTb9XzE9pMxf6aXZQTGL8fgUwz1hMX2gFBYxf0WKaKkC4B/GzptQsx1/PaSDoEUYHRxgoJA+xc4U1IgFrwIaKfyqSmFYK0XsJIBHv4hWVNqa/dhKPC6iOBbdVQahPW2saWTnpkH3D7xJ8R17FQPqou8EDQJtnaEapbwPdVxG0BTosErspFahaNL2x35asCHoRR3zgMMoJIZ1KJYmpi3uPPCK4RM8BPkJUuwAJRlWOHnfeP5j1kRNRzPLI2ygnlKW21Ks1f1dbyk+j2hlExsssXwFL2KOrw40cF5vZuVIKr6jSVG3lIa/vmei7KKAbexDpphNf5upB96AwkXRw+zsKsekgNRv5zmVpd0j9/j1pMFmqaTwsgAv07daKDUg1b4BHmdRBFi+OIIkxJNQPdcS09H1T4lvXl7cx66dy4S20Q93H11eZZ3p9FSLSs/SgHSaQRR1mL1kEabALbRGPLQZOxDGcLgL1GVSzUApoIIgC0TQW6wZPqx7HKW1zt9RE+nXvO2O1ttt8RUnI5FII=
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:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <D7CD5C1B6F0CB64294B5A25BC6DCA6D4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8346
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF0001E9C2.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9856ffc4-4cff-4524-9cda-08dc592ca348
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3S1zVmr6XOje5KPmvXGgPxMrr3FkQstgcwrTZV0kkMwhkGvMc0ZrovGee19QDg882+vUeBgX1d4WmE9AYluZyGCTPF+k6i3UrmZtir/nnSRAE7jz9kY/y46r+gmBxmMbfEUdIDNNBQS56UmfJhA6IDUYJ0zwQB0WqX/r48AKZPFsM9gYPUugNPLzCuj5tQvH8y+pzny3yM6gHFlnzjf1+0jrQMetZeepnUcmcRcoTzXEwXFw1QULZ4yDdBc1IcaD9v9pi7Ug5A7a0NFGyGvh7XjTNrGihtxod5fZBUV5pDR5+leM+brlMV/vsfzpX9SNfqfwXSJs2nLGRjFz7E5WPnag3C5N4KoGl60xOpluJGu4Pk4JcVuQwNjK6JrVprvVd5QqS9S94rw9LTJX3YarUt1zRKpJ1ocVk2vqnTdZzJwlXGq0DPQlaAzcfFZq1HEjtOfDa7bkNsTw0LanUXbDPc6qrONTOja3LZxIE4d1jvW8B8cp0Fkxw7jYjpwuDLqosekuCFlS3hiY1fJ23Ll1wgwut4c1JGOvI9x3x9WKnQ/HdBAQUaMm7vgr52KKoH52oZURyfdn//t9xYlwPQdZ6zpCTlZteHJytc9HMLZvy1P5Sj5yX6cipPG5KRMaYDVhIEYLdWm5PmERDLqN/Ur1gR0ERpaQQWR7HSJToaj04/jofKUhNtHxWZFjvePVuohpKDsA+Mjzj7pl8hIddGlyB6e8sar5f1r7MmwV7e2C+HA2DsT5WrQeZENO22Q3scFa
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 07:05:43.2489
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9856ffc4-4cff-4524-9cda-08dc592ca348
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF0001E9C2.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10393

Hi Jens,

> On 9 Apr 2024, at 17:36, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Replace read_atomic() with ACCESS_ONCE() to match the intended use, that
> is, to prevent the compiler from (via optimization) reading shared
> memory more than once.

This definitely makes sense.

>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/tee/ffa_shm.c | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>=20
> diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
> index eed9ad2d2986..75a5b66aeb4c 100644
> --- a/xen/arch/arm/tee/ffa_shm.c
> +++ b/xen/arch/arm/tee/ffa_shm.c
> @@ -7,6 +7,7 @@
> #include <xen/sizes.h>
> #include <xen/types.h>
> #include <xen/mm.h>
> +#include <xen/lib.h>
> #include <xen/list.h>
> #include <xen/spinlock.h>
>=20
> @@ -171,8 +172,8 @@ static int get_shm_pages(struct domain *d, struct ffa=
_shm_mem *shm,
>=20
>     for ( n =3D 0; n < range_count; n++ )
>     {
> -        page_count =3D read_atomic(&range[n].page_count);
> -        addr =3D read_atomic(&range[n].address);
> +        page_count =3D ACCESS_ONCE(range[n].page_count);
> +        addr =3D ACCESS_ONCE(range[n].address);
>         for ( m =3D 0; m < page_count; m++ )
>         {
>             if ( pg_idx >=3D shm->page_count )
> @@ -527,13 +528,13 @@ void ffa_handle_mem_share(struct cpu_user_regs *reg=
s)
>         goto out_unlock;
>=20
>     mem_access =3D ctx->tx + trans.mem_access_offs;
> -    if ( read_atomic(&mem_access->access_perm.perm) !=3D FFA_MEM_ACC_RW =
)
> +    if ( ACCESS_ONCE(mem_access->access_perm.perm) !=3D FFA_MEM_ACC_RW )
>     {
>         ret =3D FFA_RET_NOT_SUPPORTED;
>         goto out_unlock;
>     }
>=20
> -    region_offs =3D read_atomic(&mem_access->region_offs);
> +    region_offs =3D ACCESS_ONCE(mem_access->region_offs);
>     if ( sizeof(*region_descr) + region_offs > frag_len )
>     {
>         ret =3D FFA_RET_NOT_SUPPORTED;
> @@ -541,8 +542,8 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
>     }
>=20
>     region_descr =3D ctx->tx + region_offs;
> -    range_count =3D read_atomic(&region_descr->address_range_count);
> -    page_count =3D read_atomic(&region_descr->total_page_count);
> +    range_count =3D ACCESS_ONCE(region_descr->address_range_count);
> +    page_count =3D ACCESS_ONCE(region_descr->total_page_count);
>=20
>     if ( !page_count )
>     {
> @@ -557,7 +558,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
>         goto out_unlock;
>     }
>     shm->sender_id =3D trans.sender_id;
> -    shm->ep_id =3D read_atomic(&mem_access->access_perm.endpoint_id);
> +    shm->ep_id =3D ACCESS_ONCE(mem_access->access_perm.endpoint_id);
>=20
>     /*
>      * Check that the Composite memory region descriptor fits.
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 07:07:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 07:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702936.1098629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruS3R-0008O3-Ty; Wed, 10 Apr 2024 07:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702936.1098629; Wed, 10 Apr 2024 07:07:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruS3R-0008Nw-RP; Wed, 10 Apr 2024 07:07:33 +0000
Received: by outflank-mailman (input) for mailman id 702936;
 Wed, 10 Apr 2024 07:07: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=Oh3E=LP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1ruS3Q-0008Nq-FP
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 07:07:32 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2613::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff8a5eeb-f708-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 09:07:31 +0200 (CEST)
Received: from DUZPR01CA0071.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c2::16) by GV1PR08MB7916.eurprd08.prod.outlook.com
 (2603:10a6:150:8c::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 07:07:27 +0000
Received: from DB5PEPF00014B9A.eurprd02.prod.outlook.com
 (2603:10a6:10:3c2:cafe::2f) by DUZPR01CA0071.outlook.office365.com
 (2603:10a6:10:3c2::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Wed, 10 Apr 2024 07:07:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B9A.mail.protection.outlook.com (10.167.8.167) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 07:07:27 +0000
Received: ("Tessian outbound dc0a9029eb2c:v300");
 Wed, 10 Apr 2024 07:07:26 +0000
Received: from e6cdd20fb770.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E797C4E6-8C32-4629-A418-F5D57F4A1F9F.1; 
 Wed, 10 Apr 2024 07:07:20 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e6cdd20fb770.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 07:07:20 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB7640.eurprd08.prod.outlook.com (2603:10a6:10:31b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.54; Wed, 10 Apr
 2024 07:07:17 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 07: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>
X-Inumbo-ID: ff8a5eeb-f708-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VrV/qPy6ON2VpzqqDZTKV5Hq58yACdG0SD0cKS6/RTV6zBXKEkclnY5yntcFbZue0ghqXIhWHKiPyyIUGgOuAwNHBRVPsx1QtNl0B527V1V5+CsjLSBVvUFlHc3xMIdVw4mv+myBpOlQUkNGWEdCJ0ddRtLzkzkDkJGxN/6WhZCEAlDqZfffXgKd1yXLbaD2HbZFbi/2dHh5r3coY3/GzXgSGlzWvH9ZT3g6fBzvj7IL8M83yC3cXJOJv3iyqUmXS0OlvDxzBCI3n0PnTUZMYTOvfABjPB5B5StkBwHo3/gtrunFrASJAXJaUucf5PlXIb/MNxUg3qCJz5cABslf6g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j7VzH6NTtehvGbJ/7QpdOn/OZApWx2FdsX+6WHygoSw=;
 b=C0k3JYo+U/A2ErmQr8ibvyXYhlO1nrZYQPF4r7ZZzUqgVekjVpyDHkMBO6tiqDsJZaL4zAGpChc7HDsDvZRiGgyZJfbMghEfAqq92boWO7Dfgtd/QD4tox9SXdwjzMIxcxGChZxFgpvba/7uSu5Cftmva8gzZcRhi3Z2tIOxGvFGmU3EjUQYxgb3bZjtTje8sGOxa5VsGDJ1Un6Rk0+XAv93KwKmmA+AsVWEjAONOb7m3UsGOGE6FwQ7M4Be1db4isyoqgWJWQCZShr9FSDcrCc+khmrJyds8Oz+EL6ETKYbFqbd4f0S+1paa30/HiHs2V+P90MWlhxduqlZsSbL1g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j7VzH6NTtehvGbJ/7QpdOn/OZApWx2FdsX+6WHygoSw=;
 b=ZNwrH7Sb2sbK0mJvyEVOBptPuPukiifZLECwYzCHtQSqZN1hh6Eoyx4zM5Xy+U9w91Sfwg9hIvSJpu5kNPEctZqDBufdPxfAW1x3TSzgq+qCYCwDQRNkJ8mWiZwDmiNy6mI4X4gIUdmvLIpysf2bIZULjlVd4ZaHcSEhLfcYv3o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b55bc86efff5e85c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZH58vkr63O065nnb+V4k9/6un7EbuR+OrxhsKRr+2Pgbkjh1HuaUwIGCkkpllw2x/Heho12kIXwFgQrwUBr7j5P4K5rL2QciHnVxJk47Dhjl2Jj2JJ3xfc9qooaSm1icSULKghBCblqKi0mYugwWYC1mocIwaPJPt/8/yBCtK1mkwcRtKE9MxZcGvCZo+ucbuRbyEDaqYHRU948Fyu75FXZz6J5dIiMEOA+Vx0iBD7ZqNIJPC8qylyiZu5ky7JfoYnnswquSfBuHZJkFx8DPD49XPamV023MVXtEwxbkZ9qJvfsoS1BnpfUJSjeZkStl4XljF+UykV/v+plcOSNojA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j7VzH6NTtehvGbJ/7QpdOn/OZApWx2FdsX+6WHygoSw=;
 b=e9JUByv/HNs73Uj28i05PWw4T1hIaKF8Wyl3PZdfKxIlwPHEJwoa3wk+MC1eqHQK9Btm8Zj6PCWL6rd6fJB1+DKdf2K77BerZx9A9uK25Bnw5fITVZ8NvhSnIEnJZCzcpD9OPQkgD3QvbnfvQ+YhhphQmNdr6EOr+1V5RVJ+sZw33P+o7l4gdGN6j8QqXf+4YaC8O21eq5byjqE9D19xgG7fnIkSVkJjGEAT1v9BRAPuRvOTELdqmavywqe7GHycRAoOZXS2w1FKP2pvNZACESICyggHkXv05r4bffF/6ON6HFANQ6pbriYp+T2EGRcIfFTqtg2+1hBi+HR3z1co7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j7VzH6NTtehvGbJ/7QpdOn/OZApWx2FdsX+6WHygoSw=;
 b=ZNwrH7Sb2sbK0mJvyEVOBptPuPukiifZLECwYzCHtQSqZN1hh6Eoyx4zM5Xy+U9w91Sfwg9hIvSJpu5kNPEctZqDBufdPxfAW1x3TSzgq+qCYCwDQRNkJ8mWiZwDmiNy6mI4X4gIUdmvLIpysf2bIZULjlVd4ZaHcSEhLfcYv3o=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v1 3/5] xen/arm: ffa: simplify ffa_handle_mem_share()
Thread-Topic: [XEN PATCH v1 3/5] xen/arm: ffa: simplify ffa_handle_mem_share()
Thread-Index: AQHaipO7JiFTQp6ixkmJ3l2NEqDHxrFhFj2A
Date: Wed, 10 Apr 2024 07:07:17 +0000
Message-ID: <824C6BD9-4687-4F84-9CBE-8E4BCACCC447@arm.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-4-jens.wiklander@linaro.org>
In-Reply-To: <20240409153630.2026584-4-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB7640:EE_|DB5PEPF00014B9A:EE_|GV1PR08MB7916:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 5wL9OC2gaptkc7YItV6nOcq3f0EZBEUOaeqewJ1ZzoXQ+kBB125goUrl82vPhMZ0nUSe/pMuBW8br738kWtc22Ga1KlnWvs9KBMXSTaN8ZzGhx0kWIo+dnUCu8VYigkL8/R6BREl8X/C8DCqRtW9G8rjEd3xZqnC+2ai/ZPYlxzsSw/SXRFSA6Ren4EGlffqjmiQXugaK4tpm6PV1lyDkyT3iJ30bYwUDhh0sRseSDsnOk91cSRfVgLKdBsFU/5E9PgD3IZts5TwM4D8HE7zifkRChz/5I49uL6tAhdXfoEzFg+YH0rWla660AbOiZX2n37KwxeiQtP1Sqnxgkf1IiEC5eyBurbTxW8oVsIL6CF4IWOVhJxRODrIWNs+ZGiSaHOvAs1Vyu2BniN9wApUEipaq2HAtGFd2tEqFRgrWRiy3WFNQFWZEm38em2LfdyvAEKsxT7H1MIUbfoFzuw+f23eqXhGWjkda5U4rgcEUU7tBHtxTUC9meRv8hXfCtxsCDMeu9rAsyRXH1ejXlSYIWCIMoaADDObm8JId/cS+G65YcVpLxEQNMpXQRePH9oTyJjQdAYtht/D2VlAUx7PJaCY0it9Jnp3H8EIRhQ3l486H8WhBMWiAMfQ0dTk1kW9koPhgoaVvqPaDQ+rN6lpDc0DOGVy1E11rRTNIxgWxOM=
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:(13230031)(366007)(376005)(1800799015);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <84AB922516548F4791F2C40EA28D2615@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7640
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B9A.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 34f63ef6-6e38-4b6f-21fc-08dc592ce139
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NlzqqYSxvYdIZi44hmc0MhGL66smIEcDboOCpZrKp/Q1TAvIYjDe/ydfW/TRIUVYCR1knI7BFkABTg9qK/jKHg0Lnu9ZG75ZVcXqyei1qwXFkFyhDBtIrzcZrUbrDZA7azcR3s5UkuKJk9icyIeMowvPNRKo8FXngTQ5iCvrv0ge+thcPWjcNZYcBM/dWhlqmbj+6W+cF5Tjk3G7iNKq6VGphIDnAbOpOwXpKEdh0k9mjrbxiqSFc2ZscB+y5HLDEEzAekeN4qSSpqDeqBfbwTwIEalureBA3oeIQ7uZQnRNoDeTg5cB49GbgT2EbPaRpWwXwmMwCFs3EeRQ+49zq+YrlHv3OW3yPH6ixL6+cBG3zhE/3yXM51CafUngnGV/wJ0PMCqYi9z8UxBpg+W+stB6GGHn9BtcJdK7sx+F/2k3VXSy8TjxKvmOWwO1CnF2ZeuWhlROKSDG5D/abyIQWq8Q/ktYHo/kPC5bP8h0fQUxYK6YcbWvMuioLqXoxgX5uBqtYPCNfIMB/QyxO5fHsfI3GdQ7Y+ZpYnPzmI0t/IRYKAyHNXShSZH4L8zodd9rYH7h4Q7J2HlP4a0yN7hM00XMyy9+1+ZY9lBZOqndlNd9rGTx3U6G5T28+Ls5bvzbmbehXMutrVrsUQo/PlyBUIy4/vg9+vsrHnyBaMOIh82OU8tev2qZXY9ZeB/xF0204p9vL02TYNS7SesGvLE3hHpvOmCIKSlaT+LA33HmiSGOjINVYpstioJ6z0Z1XgcR
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 07:07:27.1662
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 34f63ef6-6e38-4b6f-21fc-08dc592ce139
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5PEPF00014B9A.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7916

Hi Jens,

> On 9 Apr 2024, at 17:36, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Simplify ffa_handle_mem_share() by removing the start_page_idx and
> last_page_idx parameters from get_shm_pages() and check that the number
> of pages matches expectations at the end of get_shm_pages().
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/tee/ffa_shm.c | 18 ++++++------------
> 1 file changed, 6 insertions(+), 12 deletions(-)
>=20
> diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
> index 75a5b66aeb4c..370d83ec5cf8 100644
> --- a/xen/arch/arm/tee/ffa_shm.c
> +++ b/xen/arch/arm/tee/ffa_shm.c
> @@ -159,10 +159,9 @@ static int32_t ffa_mem_reclaim(uint32_t handle_lo, u=
int32_t handle_hi,
>  */
> static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
>                          const struct ffa_address_range *range,
> -                         uint32_t range_count, unsigned int start_page_i=
dx,
> -                         unsigned int *last_page_idx)
> +                         uint32_t range_count)
> {
> -    unsigned int pg_idx =3D start_page_idx;
> +    unsigned int pg_idx =3D 0;
>     gfn_t gfn;
>     unsigned int n;
>     unsigned int m;
> @@ -191,7 +190,9 @@ static int get_shm_pages(struct domain *d, struct ffa=
_shm_mem *shm,
>         }
>     }
>=20
> -    *last_page_idx =3D pg_idx;
> +    /* The ranges must add up */
> +    if ( pg_idx < shm->page_count )
> +            return FFA_RET_INVALID_PARAMETERS;
>=20
>     return FFA_RET_OK;
> }
> @@ -460,7 +461,6 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
>     struct domain *d =3D current->domain;
>     struct ffa_ctx *ctx =3D d->arch.tee;
>     struct ffa_shm_mem *shm =3D NULL;
> -    unsigned int last_page_idx =3D 0;
>     register_t handle_hi =3D 0;
>     register_t handle_lo =3D 0;
>     int ret =3D FFA_RET_DENIED;
> @@ -570,15 +570,9 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs=
)
>         goto out;
>     }
>=20
> -    ret =3D get_shm_pages(d, shm, region_descr->address_range_array, ran=
ge_count,
> -                        0, &last_page_idx);
> +    ret =3D get_shm_pages(d, shm, region_descr->address_range_array, ran=
ge_count);
>     if ( ret )
>         goto out;
> -    if ( last_page_idx !=3D shm->page_count )
> -    {
> -        ret =3D FFA_RET_INVALID_PARAMETERS;
> -        goto out;
> -    }
>=20
>     /* Note that share_shm() uses our tx buffer */
>     spin_lock(&ffa_tx_buffer_lock);
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 07:40:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 07:40:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702945.1098640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruSZc-0006CS-HW; Wed, 10 Apr 2024 07:40:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702945.1098640; Wed, 10 Apr 2024 07:40:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruSZc-0006CL-En; Wed, 10 Apr 2024 07:40:48 +0000
Received: by outflank-mailman (input) for mailman id 702945;
 Wed, 10 Apr 2024 07:40:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruSZb-0006CF-Qq
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 07:40:47 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2417::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3f9feac-f70d-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 09:40:46 +0200 (CEST)
Received: from BL1PR13CA0030.namprd13.prod.outlook.com (2603:10b6:208:256::35)
 by DS0PR12MB8367.namprd12.prod.outlook.com (2603:10b6:8:fd::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.47; Wed, 10 Apr
 2024 07:40:42 +0000
Received: from MN1PEPF0000ECD5.namprd02.prod.outlook.com
 (2603:10b6:208:256:cafe::ec) by BL1PR13CA0030.outlook.office365.com
 (2603:10b6:208:256::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 07:40:42 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD5.mail.protection.outlook.com (10.167.242.133) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 07:40:41 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 02:40:41 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 00:40:41 -0700
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.35 via Frontend
 Transport; Wed, 10 Apr 2024 02:40:39 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3f9feac-f70d-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oCLLoXCwHdCOCDqlfnGaUTeNMYtBbXPat/G8BbRsymEx3t/OqzpijX5nM+ZAHsEXlLh7iTIudbgkVKg65Y9Z1I5W5FiTEA+J1S79qyjbw1v4HaIhhBeIHDbxuvNhSpRVWyVam2rCEHnTlS+cQh0LHEwJjfJ+RWyAYpLZ44Phh+jVUvX8XOFXc0e/auad9VNcJo2qDNAQf6LpMTS2bLsp0OYgkOaFF10GnfUGKslK400EJ76Ha58IOhxssRo/XWjo00RexNwcAA/VRcEIQiUggskw0JPjCaVFv6ZwIGF61YMfcKRHNkoLFoTP3QQAmvIiOAaHP+G/5ScyhKSzVvxo6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P0kKm5Cq8rOCKpE1++/tVU4awLhYuW2oT58PhMsRtFI=;
 b=m1rnQ3A69ocEPnoPSJzxkzYEkpj9nuyPPtLr72tJyqinmeylu/5T5MezDi1zK6FWjkkWBHdZloZzmuYhT+vQ/uldA1H2Kx2uo6SQvLVoSH8PLu+RvY96yMtO+GD783Ed2ugiGwfiK1xFN4mWa18ic4Umxr37os4TarrvvNPedIxj+O0d2s+zBHttHz75wlubZaV9NWpLAZbeNzIv9w/RmJjIy33/UbHZYHHz9jpJ+DrboBWxOSvM56wPpYp96p5lAqn2eU1ZwmiNocMmRA7JgI7zcqDqIEnEOQt05AXX/OeZzM8KW7R7jRt95mIOLbopIX9Up1a02QQ+XPMGdoeaig==
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=P0kKm5Cq8rOCKpE1++/tVU4awLhYuW2oT58PhMsRtFI=;
 b=KfW50ZJISqVMoAxC/3fjVtlzBzWMdIsrxnH+MqtnH/GLUOtC/I9yb/patT5zV+cAEQ0B3Hc7js3wI15BzgKcYskSaeZ1m1LxVHTpRF9KQrm44ldZ/bbA9cBGgMOWx+EE9+CSjBB4MEQ2n6eQqJpcp8faEt06tdCS53L482rnI/E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <226aaee8-abb8-4a9e-802e-0dccfb1dfaa8@amd.com>
Date: Wed, 10 Apr 2024 09:40:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/13] xen/arm: Avoid code duplication in
 check_reserved_regions_overlap
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-8-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240409114543.3332150-8-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD5:EE_|DS0PR12MB8367:EE_
X-MS-Office365-Filtering-Correlation-Id: 8daf987f-c9fd-4225-8eab-08dc5931864d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8GsVGTJ8ch0h1AoTFayFOhoGk+v1eDQmvNjXq+mET1bMcVvgQbPPfoQ+nkNQTpLczddDfFlqBFGdgepcXFLQf0/Ns0FZT4BVTzxUzjth2pjALUgeSjc4wjqCbdyQqkDdowtn7j3WHo3BwK4z9wLhLj6pk4ulvrOkMtyPCR/CtjGvWOfWPAeKuII4GOibr54Mqp+ivqY7lNgYfxRO4rcNHtFm9C4WeSLFYPeyLPKEzJqdGgL+Affz0peQ++JjUVnJJQRYLtM2FXD7KWan9hLDOPLqlMLstzg+qRcD1SkEcdM+ekfbK2xkeay9NoU/suOMqxTVuRLZAWQwZx7/ztN5Saaxis4+N6ZPvIcCPye8tKRKIpln6S4SyJIyZijMqZEm+PFGVY4PSYqSwCqaJ8EZ2BchWmBpfeUW0UjXn+Gx7H8GLlQ2oSg4VKnnLQ1yGMYQcqDXpowT7K3kszB/XY/f+hztfRGmcOg9QDiw+bHbiAaUSSTpB2CVCWV2+rybOYMWZOnnCg4mrv4OWDidB0sTyg/QSwhPHrfVFZng1076R7kiLh4bbJTWMm+o5ri99Z3zpRBt8GS3vd/o8QZrAj5w+OHBeO6FiSWCd5TkkILH7oijrAz0pfLUu60qveY6dr5kBkqiyiwAyh6CVkDC+k/xsYWcMFjCtEd303m2VzIKdzy/FUaQPN9Lqwn9kxWBly9fxLQTj7/AlgsEgo1MKNZ6oHI+T2nq2v8k3NAvTeYCM+sxJwC1dyafHiBIy9lQxBYR
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 07:40:41.9548
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8daf987f-c9fd-4225-8eab-08dc5931864d
X-MS-Exchange-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:
	MN1PEPF0000ECD5.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8367

Hi Luca,

On 09/04/2024 13:45, Luca Fancellu wrote:
> 
> 
> The function check_reserved_regions_overlap is calling
> 'meminfo_overlap_check' on the same type of structure, this code
> can be written in a way to avoid code duplication, so rework the
> function to do that.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 07:49:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 07:49:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702948.1098650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruSiO-0007LX-Bk; Wed, 10 Apr 2024 07:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702948.1098650; Wed, 10 Apr 2024 07:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruSiO-0007LQ-8p; Wed, 10 Apr 2024 07:49:52 +0000
Received: by outflank-mailman (input) for mailman id 702948;
 Wed, 10 Apr 2024 07:49:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Oh3E=LP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1ruSiM-0007LK-QK
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 07:49:51 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2608::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8a47ea4-f70e-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 09:49:50 +0200 (CEST)
Received: from DUZPR01CA0086.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:46a::13) by DB9PR08MB8698.eurprd08.prod.outlook.com
 (2603:10a6:10:3d2::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 07:49:43 +0000
Received: from DB1PEPF0003922D.eurprd03.prod.outlook.com
 (2603:10a6:10:46a:cafe::5a) by DUZPR01CA0086.outlook.office365.com
 (2603:10a6:10:46a::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 07:49:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF0003922D.mail.protection.outlook.com (10.167.8.100) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 07:49:42 +0000
Received: ("Tessian outbound dc0a9029eb2c:v300");
 Wed, 10 Apr 2024 07:49:42 +0000
Received: from f5c9fbaaeeba.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4A78C6EB-C0D4-4445-BB6A-5AA92AFD5B63.1; 
 Wed, 10 Apr 2024 07:49:36 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f5c9fbaaeeba.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 07:49:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by VE1PR08MB5680.eurprd08.prod.outlook.com (2603:10a6:800:1a6::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 07:49:33 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 07:49:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8a47ea4-f70e-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Qat8slgllG2WZl3STz/Ep/5JuUV9oZH/ztAMSeh9i2/cli2YVZYbhVu1sp5q4S35EQmXsTZ3htGn9O4di5x+ZmWmynBD8d6S9JYkRZ51Swkuqm6TPFR80uvO5tX24RfcWMQ0L9taZK+G/cI9GoBLsp1hhAhUYvG1dgpkDyrk0v2Nuu0eAAwFzBnN/xMvxbr7Zgc0mROKjvdhKkc/9/IU3/wRvNoqFwZjCWz3ksBFHphI0OxwvQ9pnlUgziJIqiWYOHxZwEliigeMmTqHh4XwcRrLH7cZcuPw2HAs2ffa9IwGgs52LzCvRFD3niYAui8oomOKn23+SIi2YvsNou7Dbw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OlXzSNJI2IUXkEgK5R6+JWwSAC75UXKrxfYJpPelcpw=;
 b=lCAvllOCkfBIxpapjUSLUs6mogQKrg1LCVahBmRELLgrGHtC1+0Y6t0GAyaQqOCJ7F2mLW/gWbWxgL+ar9S/vT6TpRdp2CIKOrK7iw/q4QcwHF2pJW8PnYZyYfm+s3R2fEazGmNL8A2J3SGyf1Mx3AgpSoZTsT//8QZz6P7kJFMxe8oGyp5vurgtBiNc5skiMqFdxYxoqolG1UyiR1uljmnPWmso4L/ohfyvhoGbpB31zpdRV0xPoSfhOXg7Ym5t+beu853rU5egqF/YGprgYgYyThw+PgFkUFfD47EXXqiRS7BWb1HqkLwz9co3LApToeasoOiuMb0LgkUwMFWPfw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OlXzSNJI2IUXkEgK5R6+JWwSAC75UXKrxfYJpPelcpw=;
 b=24R8T36b7SSn3vQJYQqzmVs0fOHL87VnFppcJIxsOFlVUB4ZgXE0spDA37PxDvymS2vU4NLetf1jMr2CroDOu7NN55MCjKcN4LQam6L/Rd+KPQ2ySu7NcfgmvWpjl2g/hPY8Flji2muMuwhZgTjxOjCJtI1H670CsRfohqGVVa0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: de6f831f5d0e2a7a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j9jCFKO6OogDSGjim+UfI+ogKeCQzDpJ5NMxyIx/xLJAC9fc5ZjsCLAdvxdNfvF5YM8jgqDiezbeEwM8L4lTkt320t6pGNTnZgBvjk5r3EESDAz8mOkGtnNGX0nwKtdhTrPD495TpZAXzyBiVDVYBdCySca+oih5U6ILf4Mk1A+JDFV+TgIS4T0g135u+OHj2RbDZgDei4q2R+TNYuyAGE8hvJi8IGlkIIbs/t5ZjMrSBZPH5/q7PIoEN7hBV3DOZUIElSWRTZLY1Ll4NVdjpPEjo/8VRa0E31WDXTrO3FcQleLiFogjZRc3ushjAOErs03RwFKH5xuNYGTDZOgvlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OlXzSNJI2IUXkEgK5R6+JWwSAC75UXKrxfYJpPelcpw=;
 b=g8U0n8icrey+1StK13Dv8F74K0bvwqwKEBB3A/cU+S/Gg+KNa5nuUG9yuZy31uXI+lHhZUcfNB/FH6ZJWrggNMzB1bS/bEuuR478lZUfLVyHFLXDub1vYBMaVBCRqSPtb9T3nw9bUkVRyEphlWPRTqsoUyRO1dCkxd6komYQCyiwPDumYQvPgznhGRvCzoS/iOTRrxh49ujGk6eoKbST8uitUba/Jh1BHnyPGqGC5/Y+F5MTM1r/BEl9ZzFu+C5O5VCs03TMJ1nT1tSP56jw3PnoFOKBriJAwBQHWOY/P2SMKKuar6nmu+LhkGUIUJwHNGIpdjgGysezRIKp8wPvHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OlXzSNJI2IUXkEgK5R6+JWwSAC75UXKrxfYJpPelcpw=;
 b=24R8T36b7SSn3vQJYQqzmVs0fOHL87VnFppcJIxsOFlVUB4ZgXE0spDA37PxDvymS2vU4NLetf1jMr2CroDOu7NN55MCjKcN4LQam6L/Rd+KPQ2ySu7NcfgmvWpjl2g/hPY8Flji2muMuwhZgTjxOjCJtI1H670CsRfohqGVVa0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Index: AQHaipO/QuGF8TXkikCEHPNBW62gObFhIgsA
Date: Wed, 10 Apr 2024 07:49:33 +0000
Message-ID: <C9733F1F-E308-46D3-AC84-D4651B4D6723@arm.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-6-jens.wiklander@linaro.org>
In-Reply-To: <20240409153630.2026584-6-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|VE1PR08MB5680:EE_|DB1PEPF0003922D:EE_|DB9PR08MB8698:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 iYf5Vq7pTl7DlcG9onQXx3TXbjfkXRyx/mjgdU8MURqmKmWvLIxSNTS0fl2MRdyG5OY1veLXzytUTTmQMd6ceN8EAV9XXwn47+uvIACUNWxTYuO91ZBHZx1/eZ3WDDAXWKHdo+Op3C0L2rgGJfp9yJlzmCzFW5r05eRo4Tr603FTz1cixwoDYUUdfKeKhcaOG5/2OlH1GT/Qg1qs84WzZIWK6KyvyOZVUiKASFQtwRRpJXtp2DZh+i/3FW/q22EU33lAxEViKVzqcQfstz3EM1oJroppBSpUYYZAF6N2iqfIh3t0hVACZkorej0pIpBldYXG24aidGbiuvSfo0r5MVjKfujzw3sI6H0VM51AnjXpnPGVn+WXJtbNH3wxCZzV9lw9H2+mW3Hg8QQIlJgRcLT+OUUnrna7TKmgZzY8/hRAgZnOJ5S3bCJ7YW6h+xWvDVRF4qkLLFZkxUC/1GFLpxlIt8lwOwCpnO1yA2ciSbD2lBUhp3wDjPDdfRpiC3EZkQCqZ12jxnBavXG4DGdUTLYS1x/yr5riEX8O/xuhf1a4h7slpUJU6yhcrwdqpY//BF9f5n/tvRTRs3YarW19ahS1DxuDdpXVzLEM7C9n4cF9gi+N1pNAQLuzKrX4wNAdi4/tHvMUiaRmiykHrDdlIYhWMR4FA/0Ugo7EX108hlg=
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:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <93A1979807AABE468F2271767D0EA0BE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5680
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF0003922D.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 6b3313fc-85a0-4f79-d032-08dc5932c873
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QLMzh2Qh3eH2/D1OSUQ0q4z7LCNuLzlF92Yn8Agm4l1rh3x2rdX7S9emUU682zd3Z2wm75hV3NXx1rO5vf0dz9Kkay9lBvNaD5faSlZ/nEqyCbgMWpG1qNb5u7kDfAGdNyldChbKC39FJJcdBg4GAf1DlSg9u9YFxFtFcUxliiHMh2db8uOnaGUK9sUpvBkx+zwHldo6L/4H8c4QlEgB8UO8sf6kJDUJt5+HHmTLqH/JMiEWuQMo3dZnPJkT6q1pz7FOBCwKi6drvCqO2AB7HGGsDMnCVKfzEywKGGtBvbwChu6ea7vj99u+J1sXtUyOjv3Y3nSlCRDva26bL04cOjm5hmTq/b+URb4J3vckPVCeP4vXASGUHGWi0lOG8+CPf96nHrJaVkRI5AWly12f+Kd2s2CtKFIJQvRVK05xzmDn0GqzJKKJZP/5gcjE88KRCmJm2Yqasi2mbxcPjmSzZ5pMD5e1zOo3VDhaa7LJzKlpE/DLRfxoIZeWaHAHlojjZEdFFm8+ISGU81YNw311VoMc8EeXTSztq2awRmH3+g1IGI/qhNiBfdSIJcbhIAx0/BCHEmsau41jpVC1CvGOmIcrj6LKvajucjGdA1q12+6EeRYwZUqjJIMMwZQ2ushfFYRu71MFJFldFOMkGKLcpYYtwV/HQ8P5pDZ06jv11B2UjsPNg2ThRPoPABhlmoSGCpLAzK4OJxUpd11/4q/6Fdy7G7hwXkLJHpaciXULTUGc4OR8tXZ9RTsYhV0LE+uA
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 07:49:42.6037
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b3313fc-85a0-4f79-d032-08dc5932c873
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF0003922D.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8698

Hi Jens,

> On 9 Apr 2024, at 17:36, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Add support for FF-A notifications, currently limited to an SP (Secure
> Partition) sending an asynchronous notification to a guest.
>=20
> Guests and Xen itself are made aware of pending notifications with an
> interrupt. The interrupt handler retrieves the notifications using the
> FF-A ABI and deliver them to their destinations.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> xen/arch/arm/tee/Makefile      |   1 +
> xen/arch/arm/tee/ffa.c         |  58 ++++++
> xen/arch/arm/tee/ffa_notif.c   | 319 +++++++++++++++++++++++++++++++++
> xen/arch/arm/tee/ffa_private.h |  71 ++++++++
> 4 files changed, 449 insertions(+)
> create mode 100644 xen/arch/arm/tee/ffa_notif.c
>=20
> diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> index f0112a2f922d..7c0f46f7f446 100644
> --- a/xen/arch/arm/tee/Makefile
> +++ b/xen/arch/arm/tee/Makefile
> @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
> obj-$(CONFIG_FFA) +=3D ffa_shm.o
> obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
> obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
> +obj-$(CONFIG_FFA) +=3D ffa_notif.o
> obj-y +=3D tee.o
> obj-$(CONFIG_OPTEE) +=3D optee.o
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 5209612963e1..ce9757bfeed1 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -39,6 +39,9 @@
>  *   - at most 32 shared memory regions per guest
>  * o FFA_MSG_SEND_DIRECT_REQ:
>  *   - only supported from a VM to an SP
> + * o FFA_NOTIFICATION_*:
> + *   - only supports global notifications, that is, per vCPU notificatio=
ns
> + *     are not supported
>  *
>  * There are some large locked sections with ffa_tx_buffer_lock and
>  * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> @@ -194,6 +197,8 @@ out:
>=20
> static void handle_features(struct cpu_user_regs *regs)
> {
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
>     uint32_t a1 =3D get_user_reg(regs, 1);
>     unsigned int n;
>=20
> @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *re=
gs)
>         BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
>         ffa_set_regs_success(regs, 0, 0);
>         break;
> +    case FFA_FEATURE_NOTIF_PEND_INTR:
> +        if ( ctx->notif.enabled )
> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> +        else
> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        break;
> +    case FFA_FEATURE_SCHEDULE_RECV_INTR:
> +        if ( ctx->notif.enabled )
> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);

This should return the RECV_INTR, not the PEND one.

> +        else
> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        break;
> +
> +    case FFA_NOTIFICATION_BIND:
> +    case FFA_NOTIFICATION_UNBIND:
> +    case FFA_NOTIFICATION_GET:
> +    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);
> +        break;
>     default:
>         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>         break;
> @@ -305,6 +334,30 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>                                                      get_user_reg(regs, 1=
)),
>                                    get_user_reg(regs, 3));
>         break;
> +    case FFA_NOTIFICATION_BIND:
> +        e =3D ffa_handle_notification_bind(get_user_reg(regs, 1),
> +                                         get_user_reg(regs, 2),
> +                                         get_user_reg(regs, 3),
> +                                         get_user_reg(regs, 4));

I would suggest to pass regs and handle the get_user_regs in the function.

> +        break;
> +    case FFA_NOTIFICATION_UNBIND:
> +        e =3D ffa_handle_notification_unbind(get_user_reg(regs, 1),
> +                                           get_user_reg(regs, 3),
> +                                           get_user_reg(regs, 4));

same here

> +        break;
> +    case FFA_NOTIFICATION_INFO_GET_32:
> +    case FFA_NOTIFICATION_INFO_GET_64:
> +        ffa_handle_notification_info_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_GET:
> +        ffa_handle_notification_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_SET:
> +        e =3D ffa_handle_notification_set(get_user_reg(regs, 1),
> +                                        get_user_reg(regs, 2),
> +                                        get_user_reg(regs, 3),
> +                                        get_user_reg(regs, 4));

same here

> +        break;
>=20
>     default:
>         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -348,6 +401,9 @@ static int ffa_domain_init(struct domain *d)
>     if ( !ffa_partinfo_domain_init(d) )
>         return -EIO;
>=20
> +    if ( !ffa_notif_domain_init(d) )
> +        return -ENOMEM;

Having this function deciding on the return code is a bit weird.
I would suggest to have ffa_notif_domain_init returning an int
and deciding on the error code and this one just returning the
error if !=3D0.

If possible the same principle should be applied for the partinfo.

> +
>     return 0;
> }
>=20
> @@ -423,6 +479,7 @@ static int ffa_domain_teardown(struct domain *d)
>         return 0;
>=20
>     ffa_rxtx_domain_destroy(d);
> +    ffa_notif_domain_destroy(d);
>=20
>     ffa_domain_teardown_continue(ctx, true /* first_time */);
>=20
> @@ -502,6 +559,7 @@ static bool ffa_probe(void)
>     if ( !ffa_partinfo_init() )
>         goto err_rxtx_destroy;
>=20
> +    ffa_notif_init();
>     INIT_LIST_HEAD(&ffa_teardown_head);
>     init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0)=
;
>=20
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> new file mode 100644
> index 000000000000..0173ee515362
> --- /dev/null
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -0,0 +1,319 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright (C) 2024  Linaro Limited
> + */
> +
> +#include <xen/const.h>
> +#include <xen/list.h>
> +#include <xen/spinlock.h>
> +#include <xen/types.h>
> +
> +#include <asm/smccc.h>
> +#include <asm/regs.h>
> +
> +#include "ffa_private.h"
> +
> +static bool __ro_after_init notif_enabled;
> +
> +int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
> +                                 uint32_t bitmap_lo, uint32_t bitmap_hi)
> +{
> +    struct domain *d =3D current->domain;
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;

s/0xffff/0xFFFFU/

> +
> +    if ( flags )    /* Only global notifications are supported */
> +        return FFA_RET_DENIED;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the sen=
der
> +     * endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap=
_hi,
> +                           bitmap_lo);
> +}
> +
> +int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_lo,
> +                                   uint32_t bitmap_hi)
> +{
> +    struct domain *d =3D current->domain;
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;

s/0xffff/0xFFFFU/

> +
> +    /*
> +     * We only support notifications from SP so no need to check the
> +     * destination endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_=
hi,
> +                            bitmap_lo);
> +}
> +
> +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    bool pending_global;
> +
> +    if ( !notif_enabled )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        return;
> +    }
> +
> +    spin_lock(&ctx->notif.lock);
> +    pending_global =3D ctx->notif.secure_pending;
> +    ctx->notif.secure_pending =3D false;
> +    spin_unlock(&ctx->notif.lock);
> +
> +    if ( pending_global )
> +    {
> +        /* A pending global notification for the guest */
> +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_vm=
_id(d),
> +                     0, 0, 0, 0);
> +    }
> +    else
> +    {
> +        /* Report an error if there where no pending global notification=
 */
> +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> +    }
> +}
> +
> +void ffa_handle_notification_get(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    uint32_t recv =3D get_user_reg(regs, 1);
> +    uint32_t flags =3D get_user_reg(regs, 2);
> +    uint32_t w2 =3D 0;
> +    uint32_t w3 =3D 0;
> +    uint32_t w4 =3D 0;
> +    uint32_t w5 =3D 0;
> +    uint32_t w6 =3D 0;
> +    uint32_t w7 =3D 0;
> +
> +    if ( !notif_enabled )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        return;
> +    }
> +
> +    if ( (recv & 0xffff) !=3D ffa_get_vm_id(d) )
s/0xffff/0xFFFFU/

> +    {
> +        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
> +        return;
> +    }
> +
> +    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM =
) )
> +    {
> +        struct arm_smccc_1_2_regs arg =3D {
> +            .a0 =3D FFA_NOTIFICATION_GET,
> +            .a1 =3D recv,
> +            .a2 =3D flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
> +                            FFA_NOTIF_FLAG_BITMAP_SPM ),
> +        };
> +        struct arm_smccc_1_2_regs resp;
> +        int32_t e;
> +
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        e =3D ffa_get_ret_code(&resp);
> +        if ( e )
> +        {
> +            ffa_set_regs_error(regs, e);
> +            return;
> +        }
> +
> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
> +        {
> +            w2 =3D resp.a2;
> +            w3 =3D resp.a3;
> +        }
> +
> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
> +            w6 =3D resp.a6;
> +    }
> +
> +    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
> +}
> +
> +int ffa_handle_notification_set(uint32_t src_dst, uint32_t flags,
> +                                uint32_t bitmap_lo, uint32_t bitmap_hi)
> +{
> +    struct domain *d =3D current->domain;
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;

This needs some checking as i would have used the lowest bits here
for the source and not the highest. The spec is using the same description
for all ABIs so I am wondering if you are not using the destination instead=
 of
the source here.

> +
> +    /*
> +     * We only support notifications from SP so no need to check the sen=
der
> +     * endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_=
lo,
> +                           bitmap_hi);
> +}
> +

The following function would deserve some explanation in a comment
to clear up a bit what is done here and why.

> +static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
> +                                 unsigned int n)
> +{
> +    unsigned int ids_per_reg;
> +    unsigned int reg_idx;
> +    unsigned int reg_shift;
> +
> +    if ( smccc_is_conv_64(resp->a0) )
> +        ids_per_reg =3D 4;
> +    else
> +        ids_per_reg =3D 2;
> +
> +    reg_idx =3D n / ids_per_reg + 3;
> +    reg_shift =3D ( n % ids_per_reg ) * 16;
> +
> +    switch ( reg_idx )
> +    {
> +    case 3:
> +        return resp->a3 >> reg_shift;
> +    case 4:
> +        return resp->a4 >> reg_shift;
> +    case 5:
> +        return resp->a5 >> reg_shift;
> +    case 6:
> +        return resp->a6 >> reg_shift;
> +    case 7:
> +        return resp->a7 >> reg_shift;
> +    default:
> +        ASSERT(0); /* "Can't happen" */
> +        return 0;
> +    }
> +}
> +
> +static void notif_irq_handler(int irq, void *data)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int id_pos;
> +    unsigned int list_count;
> +    uint64_t ids_count;
> +    unsigned int n;
> +    int32_t res;
> +
> +    do {
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        res =3D ffa_get_ret_code(&resp);
> +        if ( res )
> +        {
> +            if ( res !=3D FFA_RET_NO_DATA )
> +                printk(XENLOG_ERR "ffa: notification info get failed: er=
ror %d\n",
> +                       res);
> +            return;
> +        }
> +
> +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT ) =
&
> +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> +
> +        id_pos =3D 0;
> +        for ( n =3D 0; n < list_count; n++ )
> +        {
> +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
> +            struct domain *d;
> +
> +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_pos=
));
> +
> +            if ( d )
> +            {
> +                struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +                spin_lock(&ctx->notif.lock);
> +                ctx->notif.secure_pending =3D true;
> +                spin_unlock(&ctx->notif.lock);
> +
> +                /*
> +                 * Since we're only delivering global notification, alwa=
ys
> +                 * deliver to the first vCPU. It doesn't matter which we
> +                 * chose, as long as it's available.
> +                 */
> +                vgic_inject_irq(d, d->vcpu[0], FFA_NOTIF_PEND_INTR_ID, t=
rue);
> +
> +                put_domain(d);
> +            }
> +
> +            id_pos +=3D count;
> +        }
> +
> +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
> +}
> +
> +static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
> +                                              uint32_t vcpu_count)
> +{
> +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu_c=
ount,
> +                           0, 0);
> +}
> +
> +static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
> +{
> +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, 0,=
 0);
> +}
> +
> +void ffa_notif_init(void)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_FEATURES,
> +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int irq;
> +    int ret;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> +        return;
> +
> +    irq =3D resp.a2;
> +    if ( irq >=3D NR_GIC_SGI )
> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> +    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
> +    if ( ret )
> +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
> +               irq, ret);
> +    notif_enabled =3D !ret;
> +}
> +
> +bool ffa_notif_domain_init(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    int32_t res;
> +
> +    if ( !notif_enabled )
> +        return true;
> +
> +    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpu=
s);
> +    if ( res )
> +        return false;
> +
> +    ctx->notif.enabled =3D true;
> +
> +    return true;
> +}
> +
> +void ffa_notif_domain_destroy(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    if ( ctx->notif.enabled )
> +    {
> +        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
> +        ctx->notif.enabled =3D false;
> +    }
> +}
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index 98236cbf14a3..26c2af164d38 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -25,6 +25,7 @@
> #define FFA_RET_DENIED                  -6
> #define FFA_RET_RETRY                   -7
> #define FFA_RET_ABORTED                 -8
> +#define FFA_RET_NO_DATA                 -9
>=20
> /* FFA_VERSION helpers */
> #define FFA_VERSION_MAJOR_SHIFT         16U
> @@ -60,6 +61,8 @@
>  */
> #define FFA_PAGE_SIZE                   SZ_4K
>=20
> +#define FFA_NOTIF_BITMAP_SIZE           64
> +

This does not seem to be used.

> /*
>  * The number of pages used for each of the RX and TX buffers shared with
>  * the SPMC.
> @@ -97,6 +100,18 @@
>  */
> #define FFA_MAX_SHM_COUNT               32
>=20
> +/*
> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
> + * unused, but that may change.

I am a bit wondering what your TODO means here.
Do you mean that we should have a way to "allocate a free SGI" ?

> + *
> + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not u=
sed
> + * by a guest as they in a non-virtualized system typically are assigned=
 to
> + * the secure world. Here we're free to use SGI 8-15 since they are virt=
ual
> + * and have nothing to do with the secure world.
> + */
> +#define FFA_NOTIF_PEND_INTR_ID      8
> +#define FFA_SCHEDULE_RECV_INTR_ID   9
> +
> /*
>  * The time we wait until trying to tear down a domain again if it was
>  * blocked initially.
> @@ -175,6 +190,21 @@
>  */
> #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
>=20
> +/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
> +#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
> +#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> +#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
> +#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
> +
> +#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
> +#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
> +#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
> +#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
> +
> +/* Feature IDs used with FFA_FEATURES */
> +#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
> +#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
> +
> /* Function IDs */
> #define FFA_ERROR                       0x84000060U
> #define FFA_SUCCESS_32                  0x84000061U
> @@ -213,6 +243,27 @@
> #define FFA_MEM_FRAG_TX                 0x8400007BU
> #define FFA_MSG_SEND                    0x8400006EU
> #define FFA_MSG_POLL                    0x8400006AU
> +#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
> +#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
> +#define FFA_NOTIFICATION_BIND           0x8400007FU
> +#define FFA_NOTIFICATION_UNBIND         0x84000080U
> +#define FFA_NOTIFICATION_SET            0x84000081U
> +#define FFA_NOTIFICATION_GET            0x84000082U
> +#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
> +#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
> +
> +struct ffa_ctx_notif {
> +    bool enabled;
> +
> +    /* Used to serialize access to the rest of this struct */
> +    spinlock_t lock;
> +
> +    /*
> +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> +     * pending global notifications.
> +     */
> +    bool secure_pending;
> +};
>=20
> struct ffa_ctx {
>     void *rx;
> @@ -228,6 +279,7 @@ struct ffa_ctx {
>     struct list_head shm_list;
>     /* Number of allocated shared memory object */
>     unsigned int shm_count;
> +    struct ffa_ctx_notif notif;
>     /*
>      * tx_lock is used to serialize access to tx
>      * rx_lock is used to serialize access to rx
> @@ -271,12 +323,31 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register=
_t tx_addr,
> uint32_t ffa_handle_rxtx_unmap(void);
> int32_t ffa_handle_rx_release(void);
>=20
> +void ffa_notif_init(void);
> +bool ffa_notif_domain_init(struct domain *d);
> +void ffa_notif_domain_destroy(struct domain *d);
> +
> +int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
> +                                 uint32_t bitmap_lo, uint32_t bitmap_hi)=
;
> +int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_lo,
> +                                   uint32_t bitmap_hi);
> +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(uint32_t src_dst, uint32_t flags,
> +                                uint32_t bitmap_lo, uint32_t bitmap_hi);
> +
> static inline uint16_t ffa_get_vm_id(const struct domain *d)
> {
>     /* +1 since 0 is reserved for the hypervisor in FF-A */
>     return d->domain_id + 1;
> }
>=20
> +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
> +{
> +    /* -1 to match ffa_get_vm_id() */
> +    return get_domain_by_id(vm_id - 1);
> +}
> +
> static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t v0=
,
>                                 register_t v1, register_t v2, register_t =
v3,
>                                 register_t v4, register_t v5, register_t =
v6,
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 09:32:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 09:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702959.1098670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUJA-0006cS-2i; Wed, 10 Apr 2024 09:31:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702959.1098670; Wed, 10 Apr 2024 09: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 1ruUJ9-0006cL-VJ; Wed, 10 Apr 2024 09:31:55 +0000
Received: by outflank-mailman (input) for mailman id 702959;
 Wed, 10 Apr 2024 09:31:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5G6/=LP=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1ruUJ8-0006XG-UW
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 09:31:54 +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 2a033a4c-f71d-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 11:31:52 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-516c97ddcd1so7785187e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 02:31: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
 s17-20020a195e11000000b00516cef1f1casm1814111lfb.181.2024.04.10.02.31.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 02:31: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: 2a033a4c-f71d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712741512; x=1713346312; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QtOy8penHihNF/nf/lux7OjWap5QccP5xHkOXb4bAUc=;
        b=YKpJchWQnelTCDvMgH10/9c0/Yadl4GBi0aavAhUD0t0Yg9ETBR+dh9K7PeIL5EMQt
         8/JyoGhtRhrp3v5+N+sy2OgyxX//V9aCiwVd0Im8VnBwQOQisccWHMn3Ahfp32snBs36
         PxtdKihfUTT/BgP9Ht5Dm0VVHFMUUg5ebyy3xOGubj0g4YaZ2k+HYetPJUhJW7n52P4w
         VYKmDT99u8SlsKHlxg9tYFXTK16jVSQGbEXo+66QLP2qs8OMk6NyScY03cYJW8Jb2g/f
         1TElI68jsh9bpp2EYOGN2r2jPVFGLK06AYeZOPCpr9g9eG3zGQfew1xErjfTx7Jdh0ls
         S/Zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712741512; x=1713346312;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QtOy8penHihNF/nf/lux7OjWap5QccP5xHkOXb4bAUc=;
        b=fF6vBAFcPEmCvNWLH4eERdSoeRh/ji6zdkow4nTGMf23Z/XuLcoURZRcy9yi6d9ue3
         K0t5v3HAehPfBlNslV895t/dg9NrxPysl1AszAhD7tjzEZSfBUeOsD2h9tZTwtm13UHX
         KAPiizodsRqwMRQScp/dmXwigsAJw9Iz52A4tDtSPHNIMwTyVUV9eom3bbB9QuR5wH3V
         AuJ+yKM3uwMUlNUM8ZBnLrJWP4/IkByAdswE3kkeK0ItT1re+b0VyJEbfksbXYc1yQEl
         Re6TxZXL2iqr+0fb8d1zgKnrIZ6d5xDJGsGMx4aYYqvafueQq7TNnWyCjhS3puSstYRS
         /BeA==
X-Gm-Message-State: AOJu0YxbKpEk54g1zPFs5jES941+aZpTrryKy3Bs9glmSwDvhxa5yZrI
	Iu3nRGuMLXBC8ZAdY3CksOLLXcWTapCSTz/A1HqjtnwlRiOPQXlzKNf5AacUdIAkNw==
X-Google-Smtp-Source: AGHT+IFwq2d/+Hv5j9m4Q4eOl0UbCfR4S9sXmHVSyxusDhW7AUuCpl4BAwN1eE/zziE+plJPIt1AHw==
X-Received: by 2002:a05:6512:31cb:b0:516:9f20:9838 with SMTP id j11-20020a05651231cb00b005169f209838mr1615146lfe.19.1712741511733;
        Wed, 10 Apr 2024 02:31:51 -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,
	jbeulich@suse.com,
	edgar.iglesias@amd.com
Subject: [RFC PATCH v1 1/2] xen/arm64: entry: Use xen/linkage.h to annotate symbols
Date: Wed, 10 Apr 2024 11:19:46 +0200
Message-Id: <20240410091947.1498695-2-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
References: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Use the generic xen/linkage.h macros when annotating symbols.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/arch/arm/arm64/entry.S | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
index f963c923bb..6188dd2416 100644
--- a/xen/arch/arm/arm64/entry.S
+++ b/xen/arch/arm/arm64/entry.S
@@ -480,9 +480,9 @@ guest_fiq_invalid_compat:
 guest_error_compat:
         guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_serror
 
-ENTRY(return_to_new_vcpu32)
+FUNC(return_to_new_vcpu32)
         exit    hyp=0, compat=1
-ENTRY(return_to_new_vcpu64)
+FUNC(return_to_new_vcpu64)
         exit    hyp=0, compat=0
 
 return_from_trap:
@@ -536,7 +536,7 @@ return_from_trap:
  * it. So the function will unmask SError exception for a small window and
  * then mask it again.
  */
-check_pending_guest_serror:
+FUNC_LOCAL(check_pending_guest_serror)
         /*
          * Save elr_el2 to check whether the pending SError exception takes
          * place while we are doing this sync exception.
@@ -586,7 +586,7 @@ abort_guest_exit_end:
         cset    x19, ne
 
         ret
-ENDPROC(check_pending_guest_serror)
+END(check_pending_guest_serror)
 
 /*
  * Exception vectors.
@@ -597,7 +597,7 @@ ENDPROC(check_pending_guest_serror)
         .endm
 
         .align  11
-ENTRY(hyp_traps_vector)
+FUNC(hyp_traps_vector)
         ventry  hyp_sync_invalid            /* Synchronous EL2t */
         ventry  hyp_irq_invalid             /* IRQ EL2t */
         ventry  hyp_fiq_invalid             /* FIQ EL2t */
@@ -626,7 +626,7 @@ ENTRY(hyp_traps_vector)
  *
  * Returns prev in x0
  */
-ENTRY(__context_switch)
+FUNC(__context_switch)
         add     x8, x0, #VCPU_arch_saved_context
         mov     x9, sp
         stp     x19, x20, [x8], #16         /* store callee-saved registers */
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 09:32:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 09:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702958.1098659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUJ7-0006OC-Qf; Wed, 10 Apr 2024 09:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702958.1098659; Wed, 10 Apr 2024 09: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 1ruUJ7-0006O5-OA; Wed, 10 Apr 2024 09:31:53 +0000
Received: by outflank-mailman (input) for mailman id 702958;
 Wed, 10 Apr 2024 09: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=5G6/=LP=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1ruUJ6-0006Nz-Tv
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 09:31:52 +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 2918adf6-f71d-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 11:31:51 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-516d0c004b1so7717561e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 02:31:51 -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
 t20-20020a056512209400b00516be9fa424sm1778520lfr.254.2024.04.10.02.31.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 02: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: 2918adf6-f71d-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712741510; x=1713346310; 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=0G6oq6E5A9amVfy3uzECr08z3tfdIDoBAzOhqHG7jfM=;
        b=D1hnL6ANGKLjFtimjxkjy9ohLrNewZdVewc24Aa+ERA3y2N0S1VvfxTzWieGnF9/cD
         cymSBPTXhYRbjSeuo2odU15F0PxSfRoefj/svsKdxGYjTYqRlDQk6/VPrQQXHKZWL3s6
         2Mj8EA4ZNbNmOVjmSlPuA/2JPbVgDEUrVv/BTN5wdI0rZiLPTCAgrS0qSWKiPlB99F8G
         9FwegbDCfPEcxQBwmkFkTpWGJ8ZPGvI+WZs+iFciLPcXc7Dj/JUbc/gYyXmnqNcxOTne
         Y1ISyn4Y/L/IxrYAggHDYCb9U32mJgDYP3RyzMQXSHaKpu1ejiD92d5l77gcDF/uU6AA
         H72A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712741510; x=1713346310;
        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=0G6oq6E5A9amVfy3uzECr08z3tfdIDoBAzOhqHG7jfM=;
        b=uPu4t6HOktMjCzbZ+ZJyvdudVQIZuoReUe6qM4507AafiA4wnKmsT0Sjb0QKiw5ZtI
         ofAbVzilDZMjogRjWKqLM9uNXzsRnW/Y5FA7I9C0yuWZVFpg975/a/yhePJL4/5kddZz
         cANonRnbj4kh18a45/7gzhq9dbHrTdt15ZrGMAm4NNqkePgpV5XziWT4tLKBtZnRxZlz
         zKe7oeim5kJY6YzeueLuTcz8PJrykFqsal0Lfth6ATaUHH9ICOcuSbp10TmQZATvD65p
         jTBgvTborYpgnuxda4qvCcrCdte/lYVqPO/Xrcm9SnSt9l/jirAAfV0K881gLd4+bIC6
         iV2w==
X-Gm-Message-State: AOJu0YwYx91x1KGXLBnhTjR8kpb9IoVC4sYlTKFjCIRR6PFZ50eoFVtP
	s+2ZIWswEA/g+6QsXBEbpxnciTu2SENsGPKrRGkuylfTVVvskeMydBOj2Wjk84dEIQ==
X-Google-Smtp-Source: AGHT+IG8owHPdjRnhrLcKqYY6e2CNEQVVMEI0EOMypdrbXr00SHoqB8gsRXuNG6uZxaVcNzwxLcpcg==
X-Received: by 2002:a19:8c0c:0:b0:517:5ee6:4f5b with SMTP id o12-20020a198c0c000000b005175ee64f5bmr1621237lfd.43.1712741509610;
        Wed, 10 Apr 2024 02:31:49 -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,
	jbeulich@suse.com,
	edgar.iglesias@amd.com
Subject: [RFC PATCH v1 0/2] xen/arm: Annotate code symbols
Date: Wed, 10 Apr 2024 11:19:45 +0200
Message-Id: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

On the way towards Xen safety certification we're evaluating the use
of tools to collect code-coverage/profiling information from execution
traces. Some tools rely on ELF symbols for code being declared with
type FUNC and having a symbol size.

We currently annotate some symbols but not all. Also, there seems to be
different ways to do the annotation so I'm sending out this RFC to first
figure out how we want to do things before I go ahead and edit more
of the ARM port.

In this first try I've followed the style from commit:
b3a9037550 x86: annotate entry points with type and size
IIUC, prefering to use macros from the generic framework in
xen/linkage.h in favor of ENTRY/ENDPROC.

But perhaps we would like to keep using ENTRY() for entry points
into the hypervisor?
Another way could be to add .type name, %function to the ENTRY macro
and use END from xen/linkage.h.

Or we can keep using ENTRY/GLOBAL/ENDPROC.

Any thoughts or better ideas?

Best regards,
Edgar

Edgar E. Iglesias (2):
  xen/arm64: entry: Use xen/linkage.h to annotate symbols
  xen/arm64: entry: Add missing code symbol annotations

 xen/arch/arm/arm64/entry.S | 72 +++++++++++++++++++++++++-------------
 1 file changed, 48 insertions(+), 24 deletions(-)

-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 09:32:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 09:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702960.1098680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUJB-0006r1-9f; Wed, 10 Apr 2024 09:31:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702960.1098680; Wed, 10 Apr 2024 09: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 1ruUJB-0006qs-6K; Wed, 10 Apr 2024 09:31:57 +0000
Received: by outflank-mailman (input) for mailman id 702960;
 Wed, 10 Apr 2024 09:31:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5G6/=LP=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1ruUJA-0006XG-1z
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 09:31: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 2b02e34a-f71d-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 11:31:54 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516dc51bb72so4985643e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 02:31: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
 y21-20020ac24475000000b005170a946960sm1071418lfl.87.2024.04.10.02.31.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 02:31: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: 2b02e34a-f71d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712741513; x=1713346313; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XrHNHtlt8FUpJ9wMxd9V9rpHBMaDrTyKZ2os3fPl9w0=;
        b=Xrs1tK7nABtGHP/k+m3JHUQg9FJKYVS958h7xFja3Mck8/3Hp/yrY5TZe/hnFs8TVG
         bPCcwkJMYXQwkraXpMS8w5D2ImZSQTYvYK8C8PO5lNkjHUxnn6rNJBV9X/jedAuFoKtv
         gskbe3822Ybh3Mi8k05O+llhagVlk6BCL9VPBjHw4BuUpi9i768JQkUy62MQCtutdU44
         gKpJjAcnGctoCHcA1d4gWYzKSw7xc8apJ/qpgFPU+S2mMykcP6IaGa723rkpUjS6mW4k
         WEmMF2Vh7qbSrxNSmemC7E083Ng5SHPeF4nw/wf4oQmCVy84p+jtG4CtNsn4lva+iVap
         f5Tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712741513; x=1713346313;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XrHNHtlt8FUpJ9wMxd9V9rpHBMaDrTyKZ2os3fPl9w0=;
        b=hAw7rKIYGiCaFpeJklCTgIWODAhjZKCLiQ8wOlTn3oHYXSo/tD/AhCTW76ChyGGhxk
         YkMNo7ryCV0GISqDIUG6bYV3emQpW/lzZFOcKLKndFjZLm99oyNp841bQEnfP/Lp85Zl
         dA1fatRTDb5rJHwE/mNPAAXmFIU7x524TdcSeFJLCcv4c9EHIleHU41u3l2u3jyuAHiN
         tlBFGksS1Nye4E/CmYrMl8SqeQobIQMGQlG0picWZfh+WrfRkciyGgE4dHhHrCPnhixc
         1FIp/Nyd8Bv7wxm5853Zxf+ARVZXmEPLgrUQ6smUtPwiSFAxdeQEvCSdjzUq9tCi9c16
         PGsA==
X-Gm-Message-State: AOJu0Yz21+3tlrJTKOJTNN6MkwPTH1tZDbpgvuO0eQExcq96fJVgDJHQ
	ZObva7ev1pDBeFaxRizTAwHt9KMjF+bBsdqQ68f3j4qoHC39ohE976kbgPW1YhuKfA==
X-Google-Smtp-Source: AGHT+IEWDn5A82mPXnEXA6gVl1X9JVHOR8A0zSGHpa8cmyTDh13m38j9Khy0JNuwpAIXMJ0JKgXvng==
X-Received: by 2002:a05:6512:614:b0:515:d335:a0ab with SMTP id b20-20020a056512061400b00515d335a0abmr1176626lfe.37.1712741513171;
        Wed, 10 Apr 2024 02:31:53 -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,
	jbeulich@suse.com,
	edgar.iglesias@amd.com
Subject: [RFC PATCH v1 2/2] xen/arm64: entry: Add missing code symbol annotations
Date: Wed, 10 Apr 2024 11:19:47 +0200
Message-Id: <20240410091947.1498695-3-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
References: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add missing code symbol annotations.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/arch/arm/arm64/entry.S | 60 ++++++++++++++++++++++++++------------
 1 file changed, 42 insertions(+), 18 deletions(-)

diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
index 6188dd2416..af9a592cae 100644
--- a/xen/arch/arm/arm64/entry.S
+++ b/xen/arch/arm/arm64/entry.S
@@ -289,21 +289,25 @@
         b       do_bad_mode
         .endm
 
-hyp_sync_invalid:
+FUNC_LOCAL(hyp_sync_invalid)
         entry   hyp=1
         invalid BAD_SYNC
+END(hyp_sync_invalid)
 
-hyp_irq_invalid:
+FUNC_LOCAL(hyp_irq_invalid)
         entry   hyp=1
         invalid BAD_IRQ
+END(hyp_irq_invalid)
 
-hyp_fiq_invalid:
+FUNC_LOCAL(hyp_fiq_invalid)
         entry   hyp=1
         invalid BAD_FIQ
+END(hyp_fiq_invalid)
 
-hyp_error_invalid:
+FUNC_LOCAL(hyp_error_invalid)
         entry   hyp=1
         invalid BAD_ERROR
+END(hyp_error_invalid)
 
 /*
  * SError received while running in the hypervisor mode.
@@ -313,11 +317,12 @@ hyp_error_invalid:
  * simplicity, as SError should be rare and potentially fatal,
  * all interrupts are kept masked.
  */
-hyp_error:
+FUNC_LOCAL(hyp_error)
         entry   hyp=1
         mov     x0, sp
         bl      do_trap_hyp_serror
         exit    hyp=1
+END(hyp_error)
 
 /*
  * Synchronous exception received while running in the hypervisor mode.
@@ -327,7 +332,7 @@ hyp_error:
  * some of them. So we want to inherit the state from the interrupted
  * context.
  */
-hyp_sync:
+FUNC_LOCAL(hyp_sync)
         entry   hyp=1
 
         /* Inherit interrupts */
@@ -338,6 +343,7 @@ hyp_sync:
         mov     x0, sp
         bl      do_trap_hyp_sync
         exit    hyp=1
+END(hyp_sync)
 
 /*
  * IRQ received while running in the hypervisor mode.
@@ -352,7 +358,7 @@ hyp_sync:
  * would require some rework in some paths (e.g. panic, livepatch) to
  * ensure the ordering is enforced everywhere.
  */
-hyp_irq:
+FUNC_LOCAL(hyp_irq)
         entry   hyp=1
 
         /* Inherit D, A, F interrupts and keep I masked */
@@ -365,8 +371,9 @@ hyp_irq:
         mov     x0, sp
         bl      do_trap_irq
         exit    hyp=1
+END(hyp_irq)
 
-guest_sync:
+FUNC_LOCAL(guest_sync)
         /*
          * Save x0, x1 in advance
          */
@@ -413,8 +420,9 @@ fastpath_out_workaround:
         mov     x1, xzr
         eret
         sb
+END(guest_sync)
 
-wa2_ssbd:
+FUNC_LOCAL(wa2_ssbd)
 #ifdef CONFIG_ARM_SSBD
 alternative_cb arm_enable_wa2_handling
         b       wa2_end
@@ -450,42 +458,55 @@ wa2_end:
         mov     x0, xzr
         eret
         sb
-guest_sync_slowpath:
+END(wa2_ssbd)
+
+FUNC_LOCAL(guest_sync_slowpath)
         /*
          * x0/x1 may have been scratch by the fast path above, so avoid
          * to save them.
          */
         guest_vector compat=0, iflags=IFLAGS__AI_, trap=guest_sync, save_x0_x1=0
+END(guest_sync_slowpath)
 
-guest_irq:
+FUNC_LOCAL(guest_irq)
         guest_vector compat=0, iflags=IFLAGS__A__, trap=irq
+END(guest_irq)
 
-guest_fiq_invalid:
+FUNC_LOCAL(guest_fiq_invalid)
         entry   hyp=0, compat=0
         invalid BAD_FIQ
+END(guest_fiq_invalid)
 
-guest_error:
+FUNC_LOCAL(guest_error)
         guest_vector compat=0, iflags=IFLAGS__AI_, trap=guest_serror
+END(guest_error)
 
-guest_sync_compat:
+FUNC_LOCAL(guest_sync_compat)
         guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_sync
+END(guest_sync_compat)
 
-guest_irq_compat:
+FUNC_LOCAL(guest_irq_compat)
         guest_vector compat=1, iflags=IFLAGS__A__, trap=irq
+END(guest_irq_compat)
 
-guest_fiq_invalid_compat:
+FUNC_LOCAL(guest_fiq_invalid_compat)
         entry   hyp=0, compat=1
         invalid BAD_FIQ
+END(guest_fiq_invalid_compat)
 
-guest_error_compat:
+FUNC_LOCAL(guest_error_compat)
         guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_serror
+END(guest_error_compat)
 
 FUNC(return_to_new_vcpu32)
         exit    hyp=0, compat=1
+END(return_to_new_vcpu32)
+
 FUNC(return_to_new_vcpu64)
         exit    hyp=0, compat=0
+END(return_to_new_vcpu64)
 
-return_from_trap:
+FUNC_LOCAL(return_from_trap)
         msr     daifset, #IFLAGS___I_ /* Mask interrupts */
 
         ldr     x21, [sp, #UREGS_PC]            /* load ELR */
@@ -524,6 +545,7 @@ return_from_trap:
 
         eret
         sb
+END(return_from_trap)
 
 /*
  * Consume pending SError generated by the guest if any.
@@ -617,6 +639,7 @@ FUNC(hyp_traps_vector)
         ventry  guest_irq_compat            /* IRQ 32-bit EL0/EL1 */
         ventry  guest_fiq_invalid_compat    /* FIQ 32-bit EL0/EL1 */
         ventry  guest_error_compat          /* Error 32-bit EL0/EL1 */
+END(hyp_traps_vector)
 
 /*
  * struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next)
@@ -647,6 +670,7 @@ FUNC(__context_switch)
         ldr     lr, [x8]
         mov     sp, x9
         ret
+END(__context_switch)
 
 /*
  * Local variables:
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 09:41:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 09:41:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702969.1098689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUSj-00011L-5Q; Wed, 10 Apr 2024 09:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702969.1098689; Wed, 10 Apr 2024 09:41:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUSj-00011E-2l; Wed, 10 Apr 2024 09:41:49 +0000
Received: by outflank-mailman (input) for mailman id 702969;
 Wed, 10 Apr 2024 09:41:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NLmP=LP=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1ruUSi-00010m-BG
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 09:41:48 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b63205e-f71e-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 11:41:46 +0200 (CEST)
Received: by mail-pj1-x1030.google.com with SMTP id
 98e67ed59e1d1-2a536b08d63so1939956a91.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 02:41: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: 8b63205e-f71e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712742105; x=1713346905; 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=xqMRxOb/MoLU81En1hAr8zM8il7853Hn2/m88F6Q4ds=;
        b=kWKuCrbn79tvikK81J4Mv0GWOjqzQS/W94fGKW38Asa8v7TWnXbL38ivrF8+ReDX5d
         XTawvt4k2No9GIZlTN7sxgQqDkbiouFuZ2JDad05o+JlodgI1lwj+8L2XwVRXlvWpfG1
         JSVD4emUH+F09pmselKFfKy0EfcddzRhKsvDg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712742105; x=1713346905;
        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=xqMRxOb/MoLU81En1hAr8zM8il7853Hn2/m88F6Q4ds=;
        b=OCl3yXJMmukNMGfqhEQyqX7mj/V3HHy+EHmiLwnahqt6HAxND6wtWPDZOgho0GlzGL
         RzhbYSB59vIIQz1xLEsClNLODpiMUs+b6vihqcD2+NWRHvFuG4whBKSDl8ejgpATi05q
         big4dofNlsk4soQ+sR33h0jAySx89XH4+hxihozU8NDUmth2ZVr+/VkaEZFNF913C44E
         sSXB1Hf0cHPkCBlKJu+vuR/kAtBiRGoARGH6K84GElP/ruuwSUKOz1WMkoHJ8kgzFeWa
         K6NKSzzAB1Z44azlCNvZwy8XCU5RHcWax1++ePazO9sfSVLuNPRq0PJo0BI2+uXaSUvH
         iZ5A==
X-Forwarded-Encrypted: i=1; AJvYcCXeM8hlbEs3aDTsHL1ThZ6Gn1S8lyq6F3kjehP57QntRq8OvvZLrefln1IljKL2nJLA4FTOL3M+psw2XIMtjR+Jq7zYzKFXkVd39vYrzbc=
X-Gm-Message-State: AOJu0YyhB/VFgTfXbcfw5k8dG4A8UWkAz3cN0qV8IK4jHcPZ9Ge4C6ie
	Xd6ZHvHlcspfaX0Ku+8lob7I9Eexpxs0KU4uKH11gOd3YWh8l++cqhadIyFhLrFs8OJPXzFW93Y
	H8JXXi+WQt3KGk/9QD1JxIuDTyLmgD6hU1f6Q
X-Google-Smtp-Source: AGHT+IF0mQn9zh77uCBA1ty9p978L2N460uKhIkzUYw/83lwxvyXrNes+qk3zndjyT/eztyI9cZCkIxi1zZNp0RC39M=
X-Received: by 2002:a17:90a:b786:b0:29b:961a:29c3 with SMTP id
 m6-20020a17090ab78600b0029b961a29c3mr1683796pjr.49.1712742104692; Wed, 10 Apr
 2024 02:41:44 -0700 (PDT)
MIME-Version: 1.0
References: <20240328151106.1451104-1-ross.lagerwall@citrix.com>
 <20240328151106.1451104-2-ross.lagerwall@citrix.com> <c3c2ce12-0699-42b3-bcaf-5bddf0616566@suse.com>
In-Reply-To: <c3c2ce12-0699-42b3-bcaf-5bddf0616566@suse.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Wed, 10 Apr 2024 10:41:32 +0100
Message-ID: <CAG7k0EroeA=cRRDWnJqzH8esoaSmtg8-xjTwc-01og5R9JwPzg@mail.gmail.com>
Subject: Re: [PATCH v2 1/2] x86: Add support for building a multiboot2 PE binary
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>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 8, 2024 at 11:25=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.03.2024 16:11, Ross Lagerwall wrote:
> > In addition to building xen.efi and xen.gz, build xen-mbi.exe. The
> > latter is a PE binary that can be used with a multiboot2 loader that
> > supports loading PE binaries.
>
> I have to admit I find .exe a strange extension outside of the Windows
> world. Would it be an option to have no extension at all (xen-mbi), or
> use xen.mbi?

Sure, I have no strong preference on the name. I'll change it to
xen-mbi.

>
> > Using this option allows the binary to be signed and verified by Shim.
> > This means the same xen-mbi.exe binary can then be used for BIOS boot,
> > UEFI Boot and UEFI boot with Secure Boot verification (all with the
> > convenience of GRUB2 as a bootloader).
>
> With which "UEFI boot" really means "chainloader" from grub? That isn't
> required though, is it? I.e. "UEFI boot" ought to work also without
> involving grub?

There are a few comments here related to terminology and purpose so let
me try and clarify them in one place...

These are the existing methods of booting Xen on x86 that I know of:

* UEFI firmware boots xen.efi directly. This can be used with
  Secure Boot enabled.

* UEFI GRUB2 chainloads xen.efi by calling the firmware's
  LoadImage/StartImage. This can be used with Secure Boot enabled.

* BIOS GRUB2 boots xen.gz via multiboot1 protocol.

* BIOS GRUB2 boots xen.gz via multiboot2 protocol.

* UEFI GRUB2 boots xen.gz via multiboot2 protocol. This is much the
  same as the previous ,ethod but it does use a different entry point.
  This cannot be used with Secure Boot because Shim can only verify PE
  binaries.

These methods _do not_ work:

* BIOS GRUB2 boots xen.efi via multiboot2 protocol.

* UEFI GRUB2 boots xen.efi via multiboot2 protocol (despite what is
  implied by https://xenbits.xen.org/docs/unstable/misc/efi.html).

* Shim chainloads xen.efi. AFAICT this may have worked some time in
  the past but it doesn't currently work in my testing.

* GRUB2 verifies xen.efi using Shim and then chainloads it using an
  internal PE loader. This functionality doesn't exist in upstream
  GRUB. There are some distro patches to implement this functionality
  but they did not work with Xen when I tested them (probably for the
  same reason as the previous method).

This patch series adds 2 new methods of booting Xen:

* BIOS GRUB2 boots xen-mbi via multiboot2 protocol.

* UEFI GRUB2 boots xen-mbi via multiboot2 protocol. This supports
  Secure Boot by making it possible to call back to Shim to verify
  Xen.

We want to add Secure Boot support to XenServer and to that end, the
boot methods added by this patch are preferable to the existing boot
methods for a few reasons:

* We want a similar user experience regardless of whether BIOS or UEFI
  is used.
* When using GRUB2/multiboot, the boot files (xen.gz, vmlinuz, initrd)
  can be stored outside of the ESP which is preferable since the ESP
  is less flexible and is often somewhat limited in size.
* Using GRUB2/multiboot makes it easier to edit the Xen/Dom0
  command-line while booting / recovering a host compared with the
  config files used by the direct EFI boot.
* Using GRUB2 makes it easier to choose different boot options rather
  than having to use the firmware boot menu which is often quite
  unpleasant. Yes, we could use a UEFI bootloader like rEFInd to help
  with this but that then goes back to the first point about user
  experience.
* For development it makes life easier to always have a single Xen
  binary that is used regardless of whether BIOS/UEFI is used.

The terminology used in the patch description was not particularly
precise. To clarify, "BIOS boot" means booting xen-mbi via the
multiboot2 protocol with a BIOS-booted bootloader (like GRUB2).
"(U)EFI boot" means booting xen-mbi via the multiboot2 protocol with
a UEFI bootloader (like GRUB2).

>
> > The new binary is created by modifying xen.efi:
> > * Relocations are stripped since they are not needed.
>
> Because of the changed entry point, aiui. What hasn't become clear to
> me is what difference in functionality there's going to be between
> booting this new image in "UEFI boot" mode vs using xen.efi. Clearly
> xen.efi's own (EFI-level) command line options won't be available. But
> it feels like there might be more.

Indeed, relocations are not needed because we're using the multiboot2
entry point which handles everything without the need for relocations.

Hopefully the long comment above addresses why this patch is useful.

>
> > * The image base address is set to 0 since it must necessarily be below
> >   4 GiB and the loader will relocate it anyway.
>
> While technically okay, what is the reason for this adjustment?

The multiboot2 spec generally uses 32 bit addresses for everything and
says:

"The bootloader must not load any part of the kernel, the modules, the
Multiboot2 information structure, etc. higher than 4 GiB - 1."

An image base address above 4 GiB causes trouble because multiboot2
wasn't designed for this.

>
> > * The PE entry point is set to the multiboot2 entry point rather than
> >   the normal EFI entry point. This is only relevant for BIOS boot since
> >   for EFI boot the entry point is specified via a multiboot2 tag.
>
> Hmm, I may then be confused about the terminology further up: What is
> "BIOS boot" then? So far I've taken that as the equivalent of xen.gz's
> way of being booted (i.e. grub without EFI underneath).

Hopefully the long comment above clarifies the terminology.

>
> > @@ -123,6 +124,19 @@ syms-warn-dup-$(CONFIG_ENFORCE_UNIQUE_SYMBOLS) :=
=3D --error-dup
> >
> >  orphan-handling-$(call ld-option,--orphan-handling=3Dwarn) +=3D --orph=
an-handling=3Dwarn
> >
> > +ifeq ($(XEN_BUILD_PE),y)
> > +$(TARGET)-mbi.exe: $(TARGET).efi $(obj)/efi/modify-mbi-exe
> > +     $(OBJCOPY) --remove-section=3D.reloc $< $@.tmp
> > +     $(obj)/efi/modify-mbi-exe $@.tmp
> > +     $(OBJCOPY) --set-start=3D0x$$($(NM) -pa $@.tmp | awk '/T start$$/=
{print $$1}') $@.tmp $@.tmp2
>
> I understand section removal is better done by objcopy. Changing the entr=
y
> point could be done by the new tool, though (by passing it the designated
> address)?

Sure, I can do that if you would prefer.

>
> As to stripping .reloc - generally this needs accompanying by setting the
> "relocations stripped" flag in the COFF(?) header. Here, however, I take
> it this is not only not needed, but actually not wanted. This imo wants
> saying somewhere; the individual steps done here could do with brief
> comments anyway, imo.

Correct, it is not wanted. I can add some descriptive comments.

>
> > --- /dev/null
> > +++ b/xen/arch/x86/efi/modify-mbi-exe.c
> > @@ -0,0 +1,77 @@
> > +#include <stdio.h>
> > +#include <stdint.h>
> > +#include <unistd.h>
> > +#include <fcntl.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 coff_hdr {
> > +    uint32_t signature;
> > +    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;
> > +};
>
> I can't spot any use of this struct.
>

Indeed, though this will actually be used if changing the entry point
is done with this tool so I'll probably keep it.

Thanks for your review,
Ross


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 09:59:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 09:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702974.1098699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUjh-0003c4-J7; Wed, 10 Apr 2024 09:59:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702974.1098699; Wed, 10 Apr 2024 09:59:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUjh-0003bx-GY; Wed, 10 Apr 2024 09:59:21 +0000
Received: by outflank-mailman (input) for mailman id 702974;
 Wed, 10 Apr 2024 09:59: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 1ruUjg-0003bn-No; Wed, 10 Apr 2024 09:59: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 1ruUjg-0006S1-Kl; Wed, 10 Apr 2024 09:59: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 1ruUjg-00059d-6L; Wed, 10 Apr 2024 09:59:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruUjg-0006V9-4N; Wed, 10 Apr 2024 09: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=SDhW6HR7Kl7o/5OE5hO8yRsshC9oxUy1Vwc/d6+VXmg=; b=tDWPjrftZE1vYFMLS05KVwnrFG
	oMGEi+UUDYYZLVAmLNCJqkOu5GT4gfpIsn4M/nvng5tOrGRBf9Tm1p/ZhGzgcnM2HmqEAEg71TcBt
	dGCp3wiZhkz6tWyW69IcBJzpKS2usngdrjq36/NVyjVbqmv89Ey//JtUxgDeverp5ZkI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185283-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185283: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-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-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-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-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-qcow2: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:saverestore-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-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=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
X-Osstest-Versions-That:
    xen=ea1da2ba8ea7c76a8a3a08d11f7de5acb8b17801
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 09:59:20 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail baseline untested
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185007
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185007
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185007
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185007
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185007
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185007
 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-qcow2 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-xsm 15 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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-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                  9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
baseline version:
 xen                  ea1da2ba8ea7c76a8a3a08d11f7de5acb8b17801

Last test of basis   185007  2024-03-12 17:37:05 Z   28 days
Testing same since   185283  2024-04-09 12:06:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bjoern Doebel <doebel@amazon.de>
  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                               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-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
   ea1da2ba8e..9c7c50969f  9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 10:00:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 10:00:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702981.1098718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUl3-00058q-10; Wed, 10 Apr 2024 10:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702981.1098718; Wed, 10 Apr 2024 10:00:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUl2-00058j-Tm; Wed, 10 Apr 2024 10:00:44 +0000
Received: by outflank-mailman (input) for mailman id 702981;
 Wed, 10 Apr 2024 10: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=NLmP=LP=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1ruUl1-00058b-RD
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 10:00:43 +0000
Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com
 [2607:f8b0:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 308f1489-f721-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 12:00:42 +0200 (CEST)
Received: by mail-pg1-x533.google.com with SMTP id
 41be03b00d2f7-5e8470c1cb7so4659432a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 03:00: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: 308f1489-f721-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712743241; x=1713348041; 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=vbuadahcPcDtpwyiNfAM/yEGZFyh07JAmz36+DTl11Y=;
        b=Q/5nwuazx3JuSpE2DsggEbq23SrZWNsrIxO3CdCHdpYXG52QasApft41MfFAtyxt4M
         O7edb1U67Gnu5nIUDm5L88TnutFIGtzJwcIcw7iq4dqrUxycQCU/04Nbg8TNO0khYYK8
         iRM7C2kWPGygSvmENuY8XDc1sueae7Qpo1VLo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712743241; x=1713348041;
        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=vbuadahcPcDtpwyiNfAM/yEGZFyh07JAmz36+DTl11Y=;
        b=uW9hAYwnZlYyHvg1WCSAqju6xD+bH7ZKHvPoQ8JyFhkKnUBkL1rUR3m6kR4fCfo9Jy
         U1CIG/QTbkp+aKh+NMQ/nnwO2l/AKu9CT+6ZZICXtBgFJIXfOlczQ6OVVJW1gJuryCJb
         c3w1AIArFsmYX7iqwGM1ZYeOS9bSem4gMgDXSsgy9JxDY62m3qj2ye5v0s9etnnZIS75
         PuukYNtTLii29g7Oce+fB5GGd1q4TVK20hvF8Lo6tLD97t/kylyfWCpM4Qj4ICPdS4nS
         KIS5v74m+7IwS9b685zC68S2JYxvow6d/Aynk8kxwZo0dVofr6M0XBrmqQchkn7hUUg8
         qpAg==
X-Forwarded-Encrypted: i=1; AJvYcCUtZXftzSP+j1aCiENOox6WnvAx3ZMQtuprG/KGR1SHmwKUjmKIVoY+qhs63ip3aE/j/Jw8QltpBF/bkOZkvdoYzuAxmj2hzA8HslG6mrA=
X-Gm-Message-State: AOJu0YzzReC8rNfq9S7GxeGe9Jgkm62gF/TQfqzUJeW5AT7eO2HPsltg
	Uc4g1TjzLS935ViK9rZ4C33ufqy2GUNKPjM4c1WRZSNuXfxXTaML315z9QJY72OGgHt7iNAxiBN
	y8DSRvt8BPP6ioNAjHfhoABbpk+DPvSJ8xO7QueAjYbDAQn47Lw==
X-Google-Smtp-Source: AGHT+IEdeNP9Hekzv1F3oINVGRGMIC760MljW4+JO4o5q1BVCrrwxA3CIF7kll7he4u1XPrnkRDCwqsR2OZsAOoVgiw=
X-Received: by 2002:a17:90a:6046:b0:2a2:c2c4:9d28 with SMTP id
 h6-20020a17090a604600b002a2c2c49d28mr1991612pjm.8.1712743240862; Wed, 10 Apr
 2024 03:00:40 -0700 (PDT)
MIME-Version: 1.0
References: <20240328151106.1451104-1-ross.lagerwall@citrix.com>
 <20240328151106.1451104-3-ross.lagerwall@citrix.com> <d15e9313-c5d9-442f-9e47-caa504df9977@suse.com>
In-Reply-To: <d15e9313-c5d9-442f-9e47-caa504df9977@suse.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Wed, 10 Apr 2024 11:00:29 +0100
Message-ID: <CAG7k0Ep+Ar9eJQK=nfkc7ADWUG5JzdT4pZis=CPXhatxTb33Fw@mail.gmail.com>
Subject: Re: [PATCH v2 2/2] x86: Call Shim Verify in the multiboot2 path
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, Apr 8, 2024 at 11:42=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.03.2024 16:11, Ross Lagerwall wrote:
> > --- a/xen/arch/x86/efi/efi-boot.h
> > +++ b/xen/arch/x86/efi/efi-boot.h
> > @@ -3,6 +3,7 @@
> >   * is intended to be included by common/efi/boot.c _only_, and
> >   * therefore can define arch specific global variables.
> >   */
> > +#include <xen/multiboot2.h>
> >  #include <xen/vga.h>
> >  #include <asm/e820.h>
> >  #include <asm/edd.h>
> > @@ -808,9 +809,69 @@ static const char *__init get_option(const char *c=
md, const char *opt)
> >      return o;
> >  }
> >
> > +#define ALIGN_UP(arg, align) \
> > +                (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
>
> Nit: I don't think aligning the opening parentheses is an appropriate
> criteria here. Imo either
>
> #define ALIGN_UP(arg, align) \
>             (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
>
> or
>
> #define ALIGN_UP(arg, align) \
>         (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
>
> or
>
> #define ALIGN_UP(arg, align) \
>     (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
>
> .

OK, will fix.

>
> > +static void __init efi_verify_dom0(uint64_t mbi_in)
> > +{
> > +    uint64_t ptr;
> > +    const multiboot2_tag_t *tag;
> > +    EFI_SHIM_LOCK_PROTOCOL *shim_lock;
> > +    EFI_STATUS status;
> > +    const multiboot2_tag_module_t *kernel =3D NULL;
> > +    const multiboot2_fixed_t *mbi_fix =3D _p(mbi_in);
> > +    static EFI_GUID __initdata shim_lock_guid =3D SHIM_LOCK_PROTOCOL_G=
UID;
> > +    static EFI_GUID __initdata global_variable_guid =3D EFI_GLOBAL_VAR=
IABLE;
> > +
> > +    ptr =3D ALIGN_UP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
> > +
> > +    for ( tag =3D _p(ptr); (uint64_t)tag - mbi_in < mbi_fix->total_siz=
e;
> > +          tag =3D _p(ALIGN_UP((uint64_t)tag + tag->size, MULTIBOOT2_TA=
G_ALIGN)) )
> > +    {
> > +        if ( tag->type =3D=3D MULTIBOOT2_TAG_TYPE_MODULE )
> > +        {
> > +            kernel =3D (const multiboot2_tag_module_t *)tag;
> > +            break;
>
> This could do with a comment along the lines of what __start_xen() has
> ("Dom0 kernel is always first").

Will add.

>
> > +        }
> > +        else if ( tag->type =3D=3D MULTIBOOT2_TAG_TYPE_END )
>
> Not need for "else" here (personally I find such irritating).

OK, I'll remove it.

>
> > +            break;
> > +    }
> > +
> > +    if ( !kernel )
> > +        return;
> > +
> > +    if ( (status =3D efi_bs->LocateProtocol(&shim_lock_guid, NULL,
> > +                                          (void **)&shim_lock)) !=3D E=
FI_SUCCESS )
> > +    {
> > +        UINT32 attr;
> > +        UINT8 data;
> > +        UINTN size =3D sizeof(data);
> > +
> > +        status =3D efi_rs->GetVariable((CHAR16 *)L"SecureBoot", &globa=
l_variable_guid,
> > +                                     &attr, &size, &data);
> > +        if ( status =3D=3D EFI_NOT_FOUND )
> > +            return;
> > +
> > +        if ( EFI_ERROR(status) )
> > +            PrintErrMesg(L"Could not get SecureBoot variable", status)=
;
> > +
> > +        if ( attr !=3D (EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE=
_RUNTIME_ACCESS) )
> > +            PrintErrMesg(L"Unexpected SecureBoot attributes", attr);
>
> This wants to be blexit(), not PrintErrMesg().

blexit() doesn't allow printing the attributes but I can call some
other function like DisplayUint() to do that before calling blexit().

>
> > +        if ( size =3D=3D 1 && data =3D=3D 0 )
> > +            return;
> > +
> > +        blexit(L"Could not locate shim but Secure Boot is enabled");
> > +    }
> > +
> > +    if ( (status =3D shim_lock->Verify(_p(kernel->mod_start),
> > +                                     kernel->mod_end - kernel->mod_sta=
rt)) !=3D EFI_SUCCESS )
> > +        PrintErrMesg(L"Dom0 kernel image could not be verified", statu=
s);
> > +}
>
> Overall this is a superset of what efi_start() does. What I'm missing fro=
m
> the description is some discussion of why what's done there is not
> sufficient (beyond the env var check, which iirc there once was a patch t=
o
> add it). One could only then judge whether it wouldn't make sense to make
> this function uniformly used by both paths (with mbi_in suitably dealt wi=
th
> for the other case).
>

Hmm, I wasn't really looking at efi_start() verification for the
purpose of this patch series. I can update the patch so that
both paths use a common verification function and also describe
how it differs from the simple call to shim verify that currently
exists in efi_start().

Thanks,
Ross


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 10:02:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 10:02:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702986.1098728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUmO-0005dJ-A5; Wed, 10 Apr 2024 10:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702986.1098728; Wed, 10 Apr 2024 10:02:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruUmO-0005dC-77; Wed, 10 Apr 2024 10:02:08 +0000
Received: by outflank-mailman (input) for mailman id 702986;
 Wed, 10 Apr 2024 10:02:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruUmN-0005d0-1V
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 10:02:07 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2412::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6142e45b-f721-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 12:02:04 +0200 (CEST)
Received: from DS7PR05CA0060.namprd05.prod.outlook.com (2603:10b6:8:2f::13) by
 MW3PR12MB4347.namprd12.prod.outlook.com (2603:10b6:303:2e::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.54; Wed, 10 Apr 2024 10:02:01 +0000
Received: from DS1PEPF00017094.namprd03.prod.outlook.com
 (2603:10b6:8:2f:cafe::67) by DS7PR05CA0060.outlook.office365.com
 (2603:10b6:8:2f::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.20 via Frontend
 Transport; Wed, 10 Apr 2024 10:02:01 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF00017094.mail.protection.outlook.com (10.167.17.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 10:02:00 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 05:02:00 -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.35; Wed, 10 Apr
 2024 05:02:00 -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.35 via Frontend
 Transport; Wed, 10 Apr 2024 05:01: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: 6142e45b-f721-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lcsR2Tp2SsRtVK+9fyMPSPk4DDSewKKHdbCN8BRhAGtOFz48sZvQ5QfSr2WEGhJlx8hm9l5qb0aQWpQJaa+J9bazzROjLQVDARLN8ZefJAU6EvxGxkaLsOW2j9yp6fx8jMQeI1+HZ86l002Z5f1rdV28PIj4JrGzM/KA2EGjIm6lTg/M8uRqPVDumj6RQ+jQ4vFuwEbtBR7+HOwrBHAkqbFCH0xkhvuAadWiPsQf7ET0HpdqKySJwhP/5RgoGBo1irnSNkzNUxBPIi7XSI33uu14HMZWcarNcCj4Xaigrk1DQNlOLpg+RRfC5273L1FxgmUFtN4xVfog3Z4LiIQhbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YnwQ/yYqH88s0p4ms1VGOnWDamEhOzWM8aaMSIYA6sM=;
 b=GxmbtQI6gDIUIiCE9LztwsvpiO4tqNP2iJBkjZrofHIM/V4t8FDs8n8GxAAGeCMSL4l0HMdncce0I9d1rooMKXnRX8OKF3zy2qS1Jb+T8UGJE/HYoqWjvBko52uKDfdDNHVFkIsltorxEg5zz2HlJjghhIj4NKNQZSqCSYyN8Q7MvrD40VkwCZ+T87dWAFZRhD+wnxcmaDbvhEgR3EnO4zljP3nan0lYotaP1a6CJw6i6U41+dvnv8HyPQCNDBxrDzmZUS1dxkwDoQyj928lNuk5EvwDHwl0oB2qoq8kJPMq103XuIrw5JLNFA1HV4nQBVtXQ1s2jXCUVv5jDd1zzQ==
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=YnwQ/yYqH88s0p4ms1VGOnWDamEhOzWM8aaMSIYA6sM=;
 b=YgP4J2TPZHvdmHnUW/EACrYO1ZVLayK9na2lTPzr5/KlWtFGmpNwGXjFcoG1cR2YqaYxIUbwoiA8j7DJcljuhjcKJqO5QwK97u9J1U3jnDGzPc6fh9anf8Gur99phqSif+OJ+dbwAA/AohVhvscpvzDMYKIO7/M/+fjLfeLDwV0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <36108be2-d950-4839-a2a6-06462de7e952@amd.com>
Date: Wed, 10 Apr 2024 12:01:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static
 shared memory
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-10-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240409114543.3332150-10-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017094:EE_|MW3PR12MB4347:EE_
X-MS-Office365-Filtering-Correlation-Id: 42e2d8c3-3c32-41b2-7063-08dc59454426
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	72v4LuZNyuG5wLoH6iVv9mA3t/AjH92Pw6ezzlZh4OAoQXg4PFX9iPJ2fuDdYz3/vVujdJCl0vS6eJGRFDy5HhBivCnVbsUMuv4ceHjW750aOVjLhn5t4eAKNOsfv4Ht0rvUAjpKDZlhzMYzyMBV5p1BBsAvEQaUXMAcj9ebHPLgwKK3+0LLnolZEDPhwFZcT2j8+ypCuyV+uch0ZaoAXAsUpBB0WrRXwhQP3sBS5wtEEeyo1t4mXDUZadxOxIk8YqaUXcbQ7btksCaTzztxVZyLXXYzJM7H/OuG27/Nu6CMLTJKs1eSyaHnNeur5rEvOwXrpyjQTCH9R2GFEAjJ5mx9GNF2SH+PiRFUqlmVnJxj+hvTVYuH7prZjNtVh9oN65u8jsbq3cP8RsicsBAkQbWMUY/ftzlGE27F2j6R6+r7tWHnbRISCYNBOBQerJI0JiP0BKn+rd5ZbwHAAx6nAnBkLzNzwo25GF6r5enia+gtT4r+q1lTmDdmjGIX2mMj9sIfJHjkWMJoPTieZLYmD/5LRURRgNsi3xsCscy3GpANFRxwd1FLJFp/0QNAD56mLKSe9PTExk+VKotDLPXajnzfA2J3/K18NH5TnCs7qC6aIgWRhVigvIgZjR2GAkqHsLh1Sa9ZES11PgeC9AJOhlT8mfnKUkEKIcnQR1EU222mA/d4VpJPO/EYr4NxW74yi5wv91Ntrjr8810uVe8J9R5faxYzMWyOmXuCQdw/Kg2f6cUhlLGp0E6AnQZ+3Gl+
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 10:02:00.9815
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 42e2d8c3-3c32-41b2-7063-08dc59454426
X-MS-Exchange-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:
	DS1PEPF00017094.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4347

Hi Luca,

On 09/04/2024 13:45, Luca Fancellu wrote:
> 
> 
> Currently the memory footprint of the static shared memory feature
> is impacting all the struct meminfo instances with memory space
> that is not going to be used.
> 
> To solve this issue, rework the static shared memory extra
> information linked to the memory bank to another structure,
> struct shmem_membank_extra, and exploit the struct membank
> padding to host a pointer to that structure in a union with the
> enum membank_type, with this trick the 'struct membank' has the
> same size with or without the static shared memory, given that
> the 'type' and 'shmem_extra' are never used at the same time,
> hence the 'struct membank' won't grow in size.
> 
> Afterwards, create a new structure 'struct shared_meminfo' which
> has the same interface of 'struct meminfo', but requires less
I would expect some justification for selecting 32 as the max number of shmem banks

> banks and hosts the extra information for the static shared memory.
> The fields 'bank' and 'extra' of this structure are meant to be
> linked by the index (e.g. extra[idx] will have the information for
> the bank[idx], for i=0..NR_SHMEM_BANKS), the convinient pointer
> 'shmem_extra' of 'struct membank' is then linked to the related
> 'extra' bank to ease the fruition when a function has access only
> to the 'struct membanks common' of 'struct shared_meminfo'.
> 
> The last part of this work is to move the allocation of the
> static shared memory banks from the 'reserved_mem' to a new
> 'shmem' member of the 'struct bootinfo'.
> Change also the 'shm_mem' member type to be 'struct shared_meminfo'
> in order to match the above changes and allow a memory space
> reduction also in 'struct kernel_info'.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
With the find_unallocated_memory() issue fixed:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 10:22:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 10:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702992.1098737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruV5Z-0000vu-VB; Wed, 10 Apr 2024 10:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702992.1098737; Wed, 10 Apr 2024 10:21:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruV5Z-0000vn-SN; Wed, 10 Apr 2024 10:21:57 +0000
Received: by outflank-mailman (input) for mailman id 702992;
 Wed, 10 Apr 2024 10:21:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruV5Y-0000vf-8w
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 10:21:56 +0000
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com
 [2607:f8b0:4864:20::72d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26766ad0-f724-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 12:21:54 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-78d5f0440d3so262399485a.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 03:21:53 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z2-20020a05620a100200b0078d7558beb7sm1084619qkj.48.2024.04.10.03.21.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Apr 2024 03: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: 26766ad0-f724-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712744512; x=1713349312; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TYY5lMkfr6y0cgfeb4bpNtlUwSvFjpE7dc4xm3RzNWU=;
        b=bikekerpDY/kC7MMNGuDlBs+j+n0b1Q4CRg/SIWKoyXy8NpK5QnURMeMsW8l/C5u3Q
         gGCMgkswZp24X7hP2JUBwe/AjwSenGzg75b3AkSxFasHdk9WjJwPpjIXYsGlfzhVvYh1
         p4oz0DAU/Kd5DdzqllpfNV6xhEpi3e6QSRrls=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712744512; x=1713349312;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TYY5lMkfr6y0cgfeb4bpNtlUwSvFjpE7dc4xm3RzNWU=;
        b=jHIIzWwPeFl7MAFZoCDhtqElsMyMK7o1Vqgs84GTB8mVJfgA9ErxGhZ1zT0q8v+NGk
         DpMrf+y8w5Z8IDkN16saVKd+LNaZlle0vjzcRkzAgX9jCU2sHoszhYL2Z4wrPPMZ/3rZ
         4YG/4wz+J0Bk8S1CEZvOTHwWhsJq1jn1U8zJBlob4l/2FShd7MYY2sGXAKH/sj4Qjlem
         umz69/2bvcdms0tiDkKfUNj9ieOPUGCWdia876CJ0G6XE3g2Y3uWDEzvUXKlsBt1/iGr
         20FwpBJdEfRubTimcaeeLIYtoZpmBsDmB2ogwFUMfVokcm7oHqjOZGpgIQj9Mb9LarOf
         9U+w==
X-Forwarded-Encrypted: i=1; AJvYcCUHpQHpgVWFSy8OnBuuBO4J2MFjuArtTH8neWMcAgD9uQSGRr2fKzVoPIezBGTSzCJ2JMMQoFPrcyK4DXEyz/HGjr4VAVNj4SkqaXV6NsA=
X-Gm-Message-State: AOJu0YwXZAP8j32kEQ9UpTrhifqgvhFPPZlkp3Az61IjK8AKr/3+5N6C
	SFZNZvD+HnRM0+2dTyxT8gayyDFBa9ktvfFdXKLjz55K0HFfn5GFUbYo0bAKm4g=
X-Google-Smtp-Source: AGHT+IFFDxzi3sArD6Z8cAX9HCOOQ274I+XaWfMW+Mxs0eAGuOVT45QqlNOG+07HfIS/flkhwkcUPA==
X-Received: by 2002:a05:620a:2955:b0:78d:6ae4:6778 with SMTP id n21-20020a05620a295500b0078d6ae46778mr2463144qkp.47.1712744512548;
        Wed, 10 Apr 2024 03:21:52 -0700 (PDT)
Message-ID: <9f12ebbb-5080-4eff-a965-8d5ab8e3ccd0@citrix.com>
Date: Wed, 10 Apr 2024 11:21:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v1 1/2] xen/arm64: entry: Use xen/linkage.h to
 annotate symbols
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, jbeulich@suse.com,
 edgar.iglesias@amd.com
References: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
 <20240410091947.1498695-2-edgar.iglesias@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: <20240410091947.1498695-2-edgar.iglesias@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10/04/2024 10:19 am, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>
> Use the generic xen/linkage.h macros when annotating symbols.
>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>  xen/arch/arm/arm64/entry.S | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
> index f963c923bb..6188dd2416 100644
> --- a/xen/arch/arm/arm64/entry.S
> +++ b/xen/arch/arm/arm64/entry.S
> @@ -480,9 +480,9 @@ guest_fiq_invalid_compat:
>  guest_error_compat:
>          guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_serror
>  
> -ENTRY(return_to_new_vcpu32)
> +FUNC(return_to_new_vcpu32)
>          exit    hyp=0, compat=1

In the new world, you want an END() too, which sets the size of the symbol.

A good cross-check of this annotation stuff is:

readelf -Wa xen-syms | grep return_to_new_vcpu32

which in this case will tell you that the symbol called
return_to_new_vcpu32 still has a size of 0.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 10:24:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 10:24:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.702995.1098748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruV86-0001kN-C2; Wed, 10 Apr 2024 10:24:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 702995.1098748; Wed, 10 Apr 2024 10: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 1ruV86-0001kG-8L; Wed, 10 Apr 2024 10:24:34 +0000
Received: by outflank-mailman (input) for mailman id 702995;
 Wed, 10 Apr 2024 10:24: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=5G6/=LP=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1ruV84-0001kA-DK
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 10:24:32 +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 84cc6650-f724-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 12:24:31 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-56c5d05128dso7351761a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 03:24: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: 84cc6650-f724-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712744671; x=1713349471; 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=und2lZIMFp+EXPIJ10OTL9dUopKiN4VcTGNIt2LV+4I=;
        b=EOUABQ2nIBtRKjrZdgkuWkx7FwwwOKJByPEDrxOFR/ym7Dh5Xxutuo8JVbZHUdboXS
         sNmhWHDW/qjBkVlhctrbPT7qgJ/Fz5GE0CkGXne9nksMRtzhiGrDFNQMZ5dsO8C/a6q4
         SRC3Cn25Rw12f3vW7q1Yek83FK+YhFrbztRInaPJWPVxoIkKwSCBA7eXI+h53JMSZCHd
         s388JQ9JoXaeHGKw2V0k3USmTJx2qdF1gzxoH5D7twYz66g3FGNelMzq5m++rMrGCVI0
         5FmF/r4ArN9WhnOb060DcI5G0CUbwGmJPgDqoDu+UAtHs3EBqoampJY5hcakpttK+zQr
         7Ygg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712744671; x=1713349471;
        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=und2lZIMFp+EXPIJ10OTL9dUopKiN4VcTGNIt2LV+4I=;
        b=uqALo3WjHg02l1DHpRFo3flrKgwxl6ghXNfhEmvfwXhnegLexezzlUfW8oEVeTRwG/
         71PyJYgtPzq/vYSN6zW8h72akz2WXFhjc5qVsYglrogeP9bUyzqfnAJyVfxJp4Swrc88
         tRmViqRH6vtkPAzinFLVs1ldf2pTwo6G0+kgmc7wbMXmHo+uVR5KlQXxUr0XcF0OBVqO
         Ms1QhN0n43K+7wA6t1Nhg9NNB5Hai7UeVrVkZUDAfPkFfyXIAU5Ew+gRMQYEYmVIoZak
         5cSkJgu503FNp5EHO6QoXuPf0xCekM2yq1hbDVn8ALP//xYcYEIw3k9ZCDaYnZmODjgv
         0xOw==
X-Gm-Message-State: AOJu0YwQkzMGksd9anRDKwZvGl6lzi6MV1MnDzjdAZTGgNx21HMGFDki
	E1INA2Bn7OGWtRs5kKKcvez8SJ4z2X4e48CRdgBaT0iO5qiu3CI+7vfwjaMwAajGSMIcdHkwV8y
	Yrccrhx7dcOdKiWvqtDUZBgPnglE=
X-Google-Smtp-Source: AGHT+IH7ZbyWXQ+Q6XCtwUG1D6xf5VCyjubmwLL5d20Q6/HCgzIvdqi9jrPS4x5MxgN9rrd9Sx/SqkTpSGQ7T77AdAU=
X-Received: by 2002:a50:a415:0:b0:56e:cde:8983 with SMTP id
 u21-20020a50a415000000b0056e0cde8983mr1474424edb.7.1712744670775; Wed, 10 Apr
 2024 03:24:30 -0700 (PDT)
MIME-Version: 1.0
References: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
 <20240410091947.1498695-2-edgar.iglesias@gmail.com> <9f12ebbb-5080-4eff-a965-8d5ab8e3ccd0@citrix.com>
In-Reply-To: <9f12ebbb-5080-4eff-a965-8d5ab8e3ccd0@citrix.com>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Wed, 10 Apr 2024 12:24:18 +0200
Message-ID: <CAJy5ezraDhjVvAp_VCG0FO0smNK7=5goVOwcnCEY_8LycjwWYQ@mail.gmail.com>
Subject: Re: [RFC PATCH v1 1/2] xen/arm64: entry: Use xen/linkage.h to
 annotate symbols
To: Andrew Cooper <andrew.cooper3@citrix.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, 
	jbeulich@suse.com, edgar.iglesias@amd.com
Content-Type: multipart/alternative; boundary="000000000000b152ac0615bb714e"

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

On Wed, Apr 10, 2024 at 12:21=E2=80=AFPM Andrew Cooper <andrew.cooper3@citr=
ix.com>
wrote:

> On 10/04/2024 10:19 am, Edgar E. Iglesias wrote:
> > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> >
> > Use the generic xen/linkage.h macros when annotating symbols.
> >
> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > ---
> >  xen/arch/arm/arm64/entry.S | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
> > index f963c923bb..6188dd2416 100644
> > --- a/xen/arch/arm/arm64/entry.S
> > +++ b/xen/arch/arm/arm64/entry.S
> > @@ -480,9 +480,9 @@ guest_fiq_invalid_compat:
> >  guest_error_compat:
> >          guest_vector compat=3D1, iflags=3DIFLAGS__AI_, trap=3Dguest_se=
rror
> >
> > -ENTRY(return_to_new_vcpu32)
> > +FUNC(return_to_new_vcpu32)
> >          exit    hyp=3D0, compat=3D1
>
> In the new world, you want an END() too, which sets the size of the symbo=
l.
>
> A good cross-check of this annotation stuff is:
>
> readelf -Wa xen-syms | grep return_to_new_vcpu32
>
> which in this case will tell you that the symbol called
> return_to_new_vcpu32 still has a size of 0.
>

Thanks Andrew,

Patch 2/2 adds the END, I should probably have squashed them into one...

Best regards,
Edgar

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

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Apr 10, 2024 at 12:21=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_quot=
e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)=
;padding-left:1ex">On 10/04/2024 10:19 am, Edgar E. Iglesias wrote:<br>
&gt; From: &quot;Edgar E. Iglesias&quot; &lt;<a href=3D"mailto:edgar.iglesi=
as@amd.com" target=3D"_blank">edgar.iglesias@amd.com</a>&gt;<br>
&gt;<br>
&gt; Use the generic xen/linkage.h macros when annotating symbols.<br>
&gt;<br>
&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; ---<br>
&gt;=C2=A0 xen/arch/arm/arm64/entry.S | 12 ++++++------<br>
&gt;=C2=A0 1 file changed, 6 insertions(+), 6 deletions(-)<br>
&gt;<br>
&gt; diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S<b=
r>
&gt; index f963c923bb..6188dd2416 100644<br>
&gt; --- a/xen/arch/arm/arm64/entry.S<br>
&gt; +++ b/xen/arch/arm/arm64/entry.S<br>
&gt; @@ -480,9 +480,9 @@ guest_fiq_invalid_compat:<br>
&gt;=C2=A0 guest_error_compat:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 guest_vector compat=3D1, iflags=3DIF=
LAGS__AI_, trap=3Dguest_serror<br>
&gt;=C2=A0 <br>
&gt; -ENTRY(return_to_new_vcpu32)<br>
&gt; +FUNC(return_to_new_vcpu32)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 exit=C2=A0 =C2=A0 hyp=3D0, compat=3D=
1<br>
<br>
In the new world, you want an END() too, which sets the size of the symbol.=
<br>
<br>
A good cross-check of this annotation stuff is:<br>
<br>
readelf -Wa xen-syms | grep return_to_new_vcpu32<br>
<br>
which in this case will tell you that the symbol called<br>
return_to_new_vcpu32 still has a size of 0.<br></blockquote><div><br></div>=
<div>Thanks Andrew,</div><div><br></div><div>Patch 2/2 adds the END, I shou=
ld probably have squashed them into one...</div><div><br></div><div>Best re=
gards,</div><div>Edgar</div><div><br></div></div></div>

--000000000000b152ac0615bb714e--


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 10:37:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 10:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703000.1098758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVKY-0004DA-E3; Wed, 10 Apr 2024 10:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703000.1098758; Wed, 10 Apr 2024 10:37:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVKY-0004D3-BM; Wed, 10 Apr 2024 10:37:26 +0000
Received: by outflank-mailman (input) for mailman id 703000;
 Wed, 10 Apr 2024 10:37:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruVKX-0004Cx-LK
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 10:37: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 515209ed-f726-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 12:37:24 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a519ef3054bso621672066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 03:37:24 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 q26-20020a170906b29a00b00a51dd500071sm3119108ejz.169.2024.04.10.03.37.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 03:37: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: 515209ed-f726-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712745443; x=1713350243; 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=5RnrHsqwo8RE6VxgiL7wXAgM6cFtodAhRpuovZ8ouyQ=;
        b=WCU5F1n19eq9nPA/A1K6F0D3mtBWjczKGySI5Us5nDbFIlrp9eVkoI5rk2gTu8Jn5U
         8BmmIZCQPEXvLbMiHWpwVhwHKt6WCPVbn+18kBl6aEC0Dcws9H4gtl0gGI1rZXnc53Xp
         mnAQ37o8nKDGtx2W8nbSRha8bIx20VPPtY4kU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712745443; x=1713350243;
        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=5RnrHsqwo8RE6VxgiL7wXAgM6cFtodAhRpuovZ8ouyQ=;
        b=puiYW4Q5sC7UFfc9+89lbvE6YgeIMFxloelg72IaWcrCMHhcWLIGNKlpenORke27OY
         l6u4usYvuzrGvnmGyXHEwigDOgiQBsyK+c9VkZZB43BC9dj1HpogYoSw6v6HXQ0mIc02
         rS3b7A8uxCOMxbQxjmWGVLuOyIWbJijk0SDHjnpu5j7jiGrhfBjIPoECf3jZWkz4Q48c
         vr+CNJyHnStegTw2IMb38jgg9D3rNzO7F2ssCbNzF7b6m0AqkGEzTivHQ3bgOsl24FzC
         gz7D1VtH7aD4wbUeMgZrbyvb6M6Yuu1JWj7/8fM24KO5+sYFZcxT2EYGU3Y/AjkqY0m5
         K8ag==
X-Gm-Message-State: AOJu0YyfstVcEGRKhh5unN3XRVK9q3WevaQPTi6f/H49Un6vHhEcd+EG
	vmW6FpUUZa2GpEHVfVgG8sNPhWpzsyCBK4xLXawy1FQQZS+EYcUNMh8weOYDcAYSCeqKI9G8cJv
	3NDU=
X-Google-Smtp-Source: AGHT+IG8gb4DS5jcGyz6sU2P/vzuWizZhMjMNBkm9dGGQlUhdiW3iKckHTuovbDgvPPGugQbgx56RQ==
X-Received: by 2002:a17:906:3b09:b0:a51:95f1:4308 with SMTP id g9-20020a1709063b0900b00a5195f14308mr1710222ejf.51.1712745443215;
        Wed, 10 Apr 2024 03:37: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH] x86/hvm: Fix Misra Rule 19.1 regression
Date: Wed, 10 Apr 2024 11:37:21 +0100
Message-Id: <20240410103721.593839-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Despite noticing an impending Rule 19.1 violation, the adjustment made (the
uint32_t cast) wasn't sufficient to avoid it.  Try again.

Fixes: 6a98383b0877 ("x86/HVM: clear upper halves of GPRs upon entry from 32-bit code")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: consulting@bugseng.com <consulting@bugseng.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Federico Serafini <federico.serafini@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/include/asm/hvm/hvm.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 595253babeaf..899233fb257b 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -575,16 +575,16 @@ static inline void hvm_sanitize_regs_fields(struct cpu_user_regs *regs,
     if ( compat )
     {
         /* Clear GPR upper halves, to counteract guests playing games. */
-        regs->rbp = (uint32_t)regs->ebp;
-        regs->rbx = (uint32_t)regs->ebx;
-        regs->rax = (uint32_t)regs->eax;
-        regs->rcx = (uint32_t)regs->ecx;
-        regs->rdx = (uint32_t)regs->edx;
-        regs->rsi = (uint32_t)regs->esi;
-        regs->rdi = (uint32_t)regs->edi;
-        regs->rip = (uint32_t)regs->eip;
-        regs->rflags = (uint32_t)regs->eflags;
-        regs->rsp = (uint32_t)regs->esp;
+        regs->rbp = (uint32_t)regs->rbp;
+        regs->rbx = (uint32_t)regs->rbx;
+        regs->rax = (uint32_t)regs->rax;
+        regs->rcx = (uint32_t)regs->rcx;
+        regs->rdx = (uint32_t)regs->rdx;
+        regs->rsi = (uint32_t)regs->rsi;
+        regs->rdi = (uint32_t)regs->rdi;
+        regs->rip = (uint32_t)regs->rip;
+        regs->rflags = (uint32_t)regs->rflags;
+        regs->rsp = (uint32_t)regs->rsp;
     }
 
 #ifndef NDEBUG

base-commit: f48299cad5c3c69fdc2c101517a6dab9c9827ea5
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 10:57:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 10:57:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703006.1098768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVdL-0007vM-VD; Wed, 10 Apr 2024 10:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703006.1098768; Wed, 10 Apr 2024 10:56:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVdL-0007vD-SA; Wed, 10 Apr 2024 10:56:51 +0000
Received: by outflank-mailman (input) for mailman id 703006;
 Wed, 10 Apr 2024 10:56:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ruVdK-0007v6-K0
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 10:56:50 +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 06dc4c20-f729-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 12:56:47 +0200 (CEST)
Received: from AM0PR10CA0038.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::18)
 by VI1PR08MB5359.eurprd08.prod.outlook.com (2603:10a6:803:12f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Wed, 10 Apr
 2024 10:56:44 +0000
Received: from AMS0EPF000001B5.eurprd05.prod.outlook.com
 (2603:10a6:20b:150:cafe::c1) by AM0PR10CA0038.outlook.office365.com
 (2603:10a6:20b:150::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.33 via Frontend
 Transport; Wed, 10 Apr 2024 10:56:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B5.mail.protection.outlook.com (10.167.16.169) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 10:56:44 +0000
Received: ("Tessian outbound e26069fc76b9:v300");
 Wed, 10 Apr 2024 10:56:43 +0000
Received: from 12f8e26cb141.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 55BF8784-2B57-47D6-9C22-4A8E05821181.1; 
 Wed, 10 Apr 2024 10:56:32 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 12f8e26cb141.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 10:56:32 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PA6PR08MB10596.eurprd08.prod.outlook.com (2603:10a6:102:3d2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 10:56:31 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 10:56:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06dc4c20-f729-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cnYZa4BYZXSZe0evdslpCYqT4PIjsGXqiFnLqQXS0Y1bEbQmosTXfpown9CF0FcbYUrUGy3jfkQ7cBoCPMJMsfrcIoRgMnfgi+q6ESBOY4Ngk1copiWtf9fwwqsNbpmP3Bnrr3I05hc3GojMrsJUYdrseLSWM/onYNUuuRXVUpRqQwBKCMPOokY3PTLyMDtx7JBFGrHlVUZ7u0wmF4gBen6DRQyRoWl/aQpnY0HlNDW6V2i+E/xGcXck8ugINjDnX1uMl6og8baR01FlVpg1IkJ5FC3JDIWqQXCxTkxoHJmFDbMMlkt7CAVcgaa0kdHC9+rNaxJyTp6eJOQeo2RlsA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9fsC73++81eeedQtknHK4B8IVXnjeiza5AogDnYS240=;
 b=FZwPquNxfQp8ZarZhY3YAZMD07SsFKnzcad+k2zUpPgDeYDsreY+xIoiW4jWzkcGUUATc9yABAArHhfUXRlbTINjH3LsBcpfDkU/1My7QGff+NgtMSysyJz4bvK3prDGAJ+7xyOeSlPdmdhqN14YF+QJu25JA21YCCl+RXPipGOsqwpEH4FDB+ylq5nDI6bSHswpStyiW0s0vgMyBvYME3oywKs5sDi5L71eaDz6rFYgElilCvQH1qFl9tDkOgO8qt0//HlwP387DcBBeEnPd7RQDb56/eg/npWWvdyROQjIJqcVdi6PdroKXKhaoHXVMjYgtIpfcTa5YIAd9jSi2g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9fsC73++81eeedQtknHK4B8IVXnjeiza5AogDnYS240=;
 b=6J7vnKHaUL0QLE4G88qB5OK0Z2YJd5LMPy8jPSxA2hyGJzKtvFyZdw00aYhWJhRkEHJUVuuKQXRwCl+gqDpZ/NeB9DMSgMxjg/hdRpZRwOI0XY28jAYiiUxNnTB/3u4OfIvFMnZX2mH4/9DhzNRPrK7Bc+S9TxiuNl3fghC4s3A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ee2bc378b9cc49fc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XrgmxmP43lBS5JzgLXiO/mI8/RmNNAgY0EJCsMJ4vlpQXJhB6xeKENlpuwEgpWatWjF53PWRjMGRG2oNEjg53YdVQBuh+uSsCir6T5fn7n9RXJtwNSaGndvZR+lsEfFchEvuyZf8JuQ4imQ/uI93j7pUDJrVPze/k9F08ql3s+6+gBCoJzx1GKqKJk7+0QECzzfhP6Wgm3HBCKFuhTe9MIYLVlfqlXQDr2k0tPQE4ULyIKcmuG/nwaZ0DL0YUN0NNxagZBSmhHyO51IDUeMsls+nyXuch4b2oP3oW4x72YbwiRdl0lxoINPq4lZDywHTSIA8pe4jbfKm3mf0PDNK6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9fsC73++81eeedQtknHK4B8IVXnjeiza5AogDnYS240=;
 b=XB539sxIVTKa8wCCJm3F6FWE+Ff8FND+qtvz9ghLlHMo90T8wKLFqmMJ3Q/t4+ZMRSw0lY4xDXPm/YvUBVQCEsJvZJEmsmYwso74eALiSWD0F6uFsEgQ8EaWf4hj9bmPeVeb4soOrwXsREtT+h/ruKANMqFwNTDGC7/ddN0Rd2FbpEws66c0i/2tqumjbJF7pZHoy7Tmq7OkVW4DQCo2BRaa2bpPjlQNvLxENh+Xg6Zo5n0PRGKot4CtO9VPvHzSawYnGp8thbL2UmVe8QnO5wQtwo70z6aPMj9yiWnVDmn5pVS6SGv9ww+KPI++C1JZ7hZ0TYiopszrF8Pvopvo9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9fsC73++81eeedQtknHK4B8IVXnjeiza5AogDnYS240=;
 b=6J7vnKHaUL0QLE4G88qB5OK0Z2YJd5LMPy8jPSxA2hyGJzKtvFyZdw00aYhWJhRkEHJUVuuKQXRwCl+gqDpZ/NeB9DMSgMxjg/hdRpZRwOI0XY28jAYiiUxNnTB/3u4OfIvFMnZX2mH4/9DhzNRPrK7Bc+S9TxiuNl3fghC4s3A=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static
 shared memory
Thread-Topic: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static
 shared memory
Thread-Index: AQHainOQqOQ8ACmqS0SD80lqrmS1tLFhR1gAgAAPMQA=
Date: Wed, 10 Apr 2024 10:56:30 +0000
Message-ID: <045818A6-3E13-465B-8DB6-067877B8A035@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-10-luca.fancellu@arm.com>
 <36108be2-d950-4839-a2a6-06462de7e952@amd.com>
In-Reply-To: <36108be2-d950-4839-a2a6-06462de7e952@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PA6PR08MB10596:EE_|AMS0EPF000001B5:EE_|VI1PR08MB5359:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 LkOpEdzBAk36EWP7tURIrry8bMPVhv2uo6h3gqNfmHhYm7Vk2vvXCQ3mQ5R5VlyVU+2zM8T7GF+R1mptr5jBJqn6kZMhX8KMYXTbX43FW0v3dV3p//Xoz4XDluKAXaLAqWSnseMaTCGAIfwTeTvNWqrlPEiDv3ggydDykVHfSFDD7AT73Fkec/BtgdsgwvTYYD62rjHiZkiBEc5PO77dpFb/YR1yG3RMX9SdMlpGNnhpAZgqtsc9tfX0NOPKrhA6/1cWQwFF7IGvlvi1OX6g58PuyDDFvpm1WSvSRKm/TJh9eNfv+6HvACAuY8ob2bNnFMZBznJTQusHSk6W3WJwQtGJ52tAyBhcK0pSsmO0M/Vrvscgh3ZeApvLo9uQKES0GdPSdyQsXqcvcLRxw6mWZS7fqGKYnAV/zvqLArutY+pCKLRy9RtJ+gxHSo/XL1T5ix5mxGFuoYtYOjsicDL4BrjOPoY3d1T9wPdcfwBsGnVA9sEkDKT3CzXr0AFha93z+x6bfSKR49eBy76mefhWXgscLadmRWisdsmY5svOWK0WQexQCUAkPcz/qcSBrnRhoAnmNRUvaIXf30zoNatTgOQYZq+25sImz8qEbcl2RAvBdpmi5vOMa/TAf0bLYP+ozF/wkplJVr3wlIOtlyHjZ9t6xFUPId0Hbcg1PZkxQrg=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="utf-8"
Content-ID: <D556A5458149D045875A8630627BFBEB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10596
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001B5.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b570dba9-950e-4c72-fb9b-08dc594ce912
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	slEtdFAZf8fIEul8LP5Ymmn28GPnM/HmT1+CxnuvACg+wNTVpRe+cZZjDtTccqSBfg0NBZfDJgcePB8+nHqHULFT5gKmldznxUU7vYLwRqmst3a1rUUn52fGP3abvAHtZ+u0yum3IBLFNUNEEonTRfT8KiEgJBA5uPmZ9wpKCMHM1VoWUoEs4PilwzWaUUToVXMRmV7D3UoXRl6X9euqFZmCMDovRvV4+oSLbmSPRLH2uvigVhnaKPtG/xhk2zUKlVEIgcdJ+7goQZgJFCkbgT0y4zNFuzyaCMdGLwsAGWLVDfUh0cdtYWBhR6DEjmUcK29grRMtVcYg46CgEBs9JCLTxarGomxcDGDtCSOvnWU2aW+kQHEE6u5DmfqavL4wZb9inLTyjJqhLQ2uiz9uiMv0tSr/2aOkVIdUFyWTexnOVOZRCc23oC0AKFhc79Tj2JT0gD5qlO4kXPfuDgASS1mlt2KphBFZ2pKSSB7KTccO9SqLKuFJmp9YMPx/3mjGHnSuejLz3O3dCEssi4Yi7dCSa5UKyn1S9Tx8/ZelmQP+p/F4P0+1x4uyTxACKKCUWIagq7AGNvEjfJmMZlWsJu1NcgdTHNZGw18kpQt/0lOaIvw4Px8nJ0dKQiaBUScnbxxl62mUPDHchqo/qeO95VJI7buLESg7yYxR8I3L7tTzXvUjMpIUev9AVLe1+H9WJaLNNLwGMJaX6jApJB3/woj67QlwrVCeqe1Y/JTnFkSgkxbpDyWEMJQuAfht34MN
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 10:56:44.2021
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b570dba9-950e-4c72-fb9b-08dc594ce912
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001B5.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5359

SGkgTWljaGFsLA0KDQo+IE9uIDEwIEFwciAyMDI0LCBhdCAxMTowMSwgTWljaGFsIE9yemVsIDxt
aWNoYWwub3J6ZWxAYW1kLmNvbT4gd3JvdGU6DQo+IA0KPiBIaSBMdWNhLA0KPiANCj4gT24gMDkv
MDQvMjAyNCAxMzo0NSwgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+IA0KPj4gDQo+PiBDdXJyZW50
bHkgdGhlIG1lbW9yeSBmb290cHJpbnQgb2YgdGhlIHN0YXRpYyBzaGFyZWQgbWVtb3J5IGZlYXR1
cmUNCj4+IGlzIGltcGFjdGluZyBhbGwgdGhlIHN0cnVjdCBtZW1pbmZvIGluc3RhbmNlcyB3aXRo
IG1lbW9yeSBzcGFjZQ0KPj4gdGhhdCBpcyBub3QgZ29pbmcgdG8gYmUgdXNlZC4NCj4+IA0KPj4g
VG8gc29sdmUgdGhpcyBpc3N1ZSwgcmV3b3JrIHRoZSBzdGF0aWMgc2hhcmVkIG1lbW9yeSBleHRy
YQ0KPj4gaW5mb3JtYXRpb24gbGlua2VkIHRvIHRoZSBtZW1vcnkgYmFuayB0byBhbm90aGVyIHN0
cnVjdHVyZSwNCj4+IHN0cnVjdCBzaG1lbV9tZW1iYW5rX2V4dHJhLCBhbmQgZXhwbG9pdCB0aGUg
c3RydWN0IG1lbWJhbmsNCj4+IHBhZGRpbmcgdG8gaG9zdCBhIHBvaW50ZXIgdG8gdGhhdCBzdHJ1
Y3R1cmUgaW4gYSB1bmlvbiB3aXRoIHRoZQ0KPj4gZW51bSBtZW1iYW5rX3R5cGUsIHdpdGggdGhp
cyB0cmljayB0aGUgJ3N0cnVjdCBtZW1iYW5rJyBoYXMgdGhlDQo+PiBzYW1lIHNpemUgd2l0aCBv
ciB3aXRob3V0IHRoZSBzdGF0aWMgc2hhcmVkIG1lbW9yeSwgZ2l2ZW4gdGhhdA0KPj4gdGhlICd0
eXBlJyBhbmQgJ3NobWVtX2V4dHJhJyBhcmUgbmV2ZXIgdXNlZCBhdCB0aGUgc2FtZSB0aW1lLA0K
Pj4gaGVuY2UgdGhlICdzdHJ1Y3QgbWVtYmFuaycgd29uJ3QgZ3JvdyBpbiBzaXplLg0KPj4gDQo+
PiBBZnRlcndhcmRzLCBjcmVhdGUgYSBuZXcgc3RydWN0dXJlICdzdHJ1Y3Qgc2hhcmVkX21lbWlu
Zm8nIHdoaWNoDQo+PiBoYXMgdGhlIHNhbWUgaW50ZXJmYWNlIG9mICdzdHJ1Y3QgbWVtaW5mbycs
IGJ1dCByZXF1aXJlcyBsZXNzDQo+IEkgd291bGQgZXhwZWN0IHNvbWUganVzdGlmaWNhdGlvbiBm
b3Igc2VsZWN0aW5nIDMyIGFzIHRoZSBtYXggbnVtYmVyIG9mIHNobWVtIGJhbmtzDQoNClNvIEkg
aGF2ZSB0byBzYXkgSSBwaWNrZWQgdXAgYSB2YWx1ZSBJIHRob3VnaHQgd2FzIG9rIGZvciB0aGUg
YW1vdW50IG9mIHNoYXJlZCBtZW1vcnkNCkJhbmtzLCBkbyB5b3UgdGhpbmsgaXQgaXMgdG9vIGxv
dz8gVGhlIHJlYWwgaW50ZW50aW9uIGhlcmUgd2FzIHRvIGRlY291cGxlIHRoZSBudW1iZXINCm9m
IHNoYXJlZCBtZW1vcnkgYmFua3MgZnJvbSB0aGUgbnVtYmVyIG9mIGdlbmVyaWMgbWVtb3J5IGJh
bmtzLCBhbmQgSSBmZWx0IDMyIHdhcyBlbm91Z2gsDQpidXQgaWYgeW91IHRoaW5rIGl0IG1pZ2h0
IGJlIGFuIGlzc3VlIEkgY291bGQgYnVtcCBpdCwgb3Igd2UgY291bGQgaGF2ZSBhIEtjb25maWcu
Li4NCg0KPj4gDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFu
Y2VsbHVAYXJtLmNvbT4NCj4gV2l0aCB0aGUgZmluZF91bmFsbG9jYXRlZF9tZW1vcnkoKSBpc3N1
ZSBmaXhlZDoNCj4gUmV2aWV3ZWQtYnk6IE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5j
b20+DQoNClRoYW5rcywgSSB0b29rIHRoZSBvcHBvcnR1bml0eSB0byBpbXByb3ZlIHRoZSBjb21t
ZW50IGluIHRoYXQgZnVuY3Rpb24gaW4gdGhpcyB3YXksDQphZGRpbmcg4oCcICh3aGVuIHRoZSBm
ZWF0dXJlIGlzIGVuYWJsZWQpIjoNCg0KICAgICAqIDMpIFJlbW92ZSBzdGF0aWMgc2hhcmVkIG1l
bW9yeSAod2hlbiB0aGUgZmVhdHVyZSBpcyBlbmFibGVkKQ0KDQpQbGVhc2UgdGVsbCBtZSBpZiB0
aGF0IHdvcmtzIGZvciB5b3Ugc28gSSB3aWxsIGtlZXAgeW91ciBSLWJ5DQoNCkNoZWVycywNCkx1
Y2ENCg0KPiANCj4gfk1pY2hhbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:01:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:01:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703010.1098777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVi7-00012j-Ip; Wed, 10 Apr 2024 11:01:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703010.1098777; Wed, 10 Apr 2024 11: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 1ruVi7-00012c-GF; Wed, 10 Apr 2024 11:01:47 +0000
Received: by outflank-mailman (input) for mailman id 703010;
 Wed, 10 Apr 2024 11:01: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=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruVi6-00012W-KE
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:01:46 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2407::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7a4df0b-f729-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 13:01:45 +0200 (CEST)
Received: from MW4PR03CA0028.namprd03.prod.outlook.com (2603:10b6:303:8f::33)
 by PH7PR12MB6835.namprd12.prod.outlook.com (2603:10b6:510:1b5::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.54; Wed, 10 Apr
 2024 11:01:41 +0000
Received: from MWH0EPF000971E4.namprd02.prod.outlook.com
 (2603:10b6:303:8f:cafe::83) by MW4PR03CA0028.outlook.office365.com
 (2603:10b6:303:8f::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Wed, 10 Apr 2024 11:01:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000971E4.mail.protection.outlook.com (10.167.243.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 11:01:41 +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.35; Wed, 10 Apr
 2024 06:01:41 -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.35; Wed, 10 Apr
 2024 06:01:40 -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.35 via Frontend
 Transport; Wed, 10 Apr 2024 06:01:39 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7a4df0b-f729-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bQ5uo0mfvkjQP+qgoXeCchqVRWtpR7NBoFgkll2+FG64GhKFvIFIt9m1Igtsdyp7yF6CSAPdYlboEKC9pUfAWqIGiW6r/3/34kOGqp6saWw8uFY9lbWANjo2rTDtdgD7Plsq4Flb0jLN04712iCiIfu4qY6BD2yu1szr3pecdb3Urgs77W1En17tOnmzo9TC/nWmgrN66cbrsyyMZK/4t4c8blW+qgZfNORLqh17HRYnBBJXxlSSzBddS2Aapjm6CHg86DhZ/SdPsPBBBfo6OFk+c/kNmMP4taYJZQMwjU58VqQ1lHfQa+62c/R6kPyUeYIy1vtnjnGN2gBZTq78FQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=quqC/nHW5U9z+dpT4T4w7Vsx8hDiZoRV7wsaXcL3PAc=;
 b=Y61HTsfUZ+zj0ocwRMGhqLlDHNHK34+HWqz3aOyZJzkSmbEDQdLgfA6uVXDyhQabwrKTOUmhWYp7GBb8E24N5c0HqHqtJYNGgauPm4R/y75o4WtR69NAHLgjemehbHyMnxo01m09KmH+cHjB4OFAlREmkkD0dVBm8pS0ch7oob7vGpN+TjfpLE9W4wIfZ+2L9dFF26DoP3KFQQTwIURODvlKdTAx5wkie256sfzaTGf1AhAvNjVwwNxYS7Scf0Wex+EMnoydv3yKjg3mWLUUBQHnQOI/13NSDocGIxiDAuF3khXwNOBiOJbAsUY1aiqtCnas9BaDa8UIWSUVxhdrlA==
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=quqC/nHW5U9z+dpT4T4w7Vsx8hDiZoRV7wsaXcL3PAc=;
 b=sx1IyeFMbza0csG5zp1wEkayouXGwruiEUeEXVWmAHsH5jOBaqHCW82zHb5rnfOF7bprBaL8bEJZL68gxOEktnN1aAiwH1juX8AUCEQYrrdsnJ3EXOgxmnhyK+V59I3BwwXormkOB9fWlNtXzHzaW6rminsoslaHPwV/s2v3h/c=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <698db158-fd87-401c-9c13-5b94f973436d@amd.com>
Date: Wed, 10 Apr 2024 13:01:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static
 shared memory
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-10-luca.fancellu@arm.com>
 <36108be2-d950-4839-a2a6-06462de7e952@amd.com>
 <045818A6-3E13-465B-8DB6-067877B8A035@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <045818A6-3E13-465B-8DB6-067877B8A035@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E4:EE_|PH7PR12MB6835:EE_
X-MS-Office365-Filtering-Correlation-Id: b3792621-526f-430e-e442-08dc594d9a5b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UAzsRhdJmGVa+MJGDN0UYxZ3dkMo5hYoH2J8Bn/j58ctf9i7kJ6D7JvvWNOrB3tvG3jzs4sU8PnN6j3QDfVGf+XiPRyLgcXqSItqGOGqdOSiIXrZ2G5c+mLgjlcAi9+lokOyLY0GLVjBvlDjYQXa+FMEbDA+0xu8pcVpLqu2fB3J6+2t3+tsyIcTioaeOfb07Yg+D97hwCye/yGBItNYoPdYbHScdw23KJOOICq9dD5XgtQ9ralE6QmCothXXeeUbDdX8uva1IBrGZr8N1PfzIcKHCCS+z5OokpM/QzmyOWOegvIr/fUxbuKXGTMo7PZEUNqW6RTISuvWmwUYuBMQS+NClUjWDKNft08rUcX+KedHu/rUp+eTt54j7rOoLOm0bb138vvoClvxpNfXXWP8wVgOwKYmXWHO+3CvdsZdFsQygThM+4lF3shuujUqbIwZEYdOMJYch+9xkCdgmjQGnJMh/6n0GyqZR6LdNls2i1jl5HWF8liz+0fOyjIsdGIjr3tsjtwZAiqnjbu9a84nNcptgdZCu+wmERWYnIyLFHkLmvh9Zcn4NMngZiVk0obz70cNFL+/JoS1LdJLncMJE/zBkNi5vLZITKdXqMRzZKOnPPtnBxuFS5akahTwsnbDYTDj48DQONlF2hJpFCy0WEA88JOqeYcGtxoWhi2cQluraZUGxAJ/e/BkEpbsus0VN6J2K/jn4CWdgaZQctjtwoyfn8oWJLHpxKONPDTSdDU3PTZULXsnNkQzJtZMwhF
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 11:01:41.4960
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b3792621-526f-430e-e442-08dc594d9a5b
X-MS-Exchange-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:
	MWH0EPF000971E4.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6835



On 10/04/2024 12:56, Luca Fancellu wrote:
> 
> 
> Hi Michal,
> 
>> On 10 Apr 2024, at 11:01, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Luca,
>>
>> On 09/04/2024 13:45, Luca Fancellu wrote:
>>>
>>>
>>> Currently the memory footprint of the static shared memory feature
>>> is impacting all the struct meminfo instances with memory space
>>> that is not going to be used.
>>>
>>> To solve this issue, rework the static shared memory extra
>>> information linked to the memory bank to another structure,
>>> struct shmem_membank_extra, and exploit the struct membank
>>> padding to host a pointer to that structure in a union with the
>>> enum membank_type, with this trick the 'struct membank' has the
>>> same size with or without the static shared memory, given that
>>> the 'type' and 'shmem_extra' are never used at the same time,
>>> hence the 'struct membank' won't grow in size.
>>>
>>> Afterwards, create a new structure 'struct shared_meminfo' which
>>> has the same interface of 'struct meminfo', but requires less
>> I would expect some justification for selecting 32 as the max number of shmem banks
> 
> So I have to say I picked up a value I thought was ok for the amount of shared memory
> Banks, do you think it is too low? The real intention here was to decouple the number
> of shared memory banks from the number of generic memory banks, and I felt 32 was enough,
> but if you think it might be an issue I could bump it, or we could have a Kconfig...
No need for Kconfig. 32 is enough for now but I expect a paragraph in commit msg that you select
32 which should be enough for current use cases and can be bumped in the future in case there is a need.

> 
>>>
>>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> With the find_unallocated_memory() issue fixed:
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> Thanks, I took the opportunity to improve the comment in that function in this way,
> adding “ (when the feature is enabled)":
> 
>      * 3) Remove static shared memory (when the feature is enabled)
> 
> Please tell me if that works for you so I will keep your R-by
You can retain Rb.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:12:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703016.1098788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVry-0003Ab-Gh; Wed, 10 Apr 2024 11:11:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703016.1098788; Wed, 10 Apr 2024 11:11:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVry-0003AU-Dx; Wed, 10 Apr 2024 11:11:58 +0000
Received: by outflank-mailman (input) for mailman id 703016;
 Wed, 10 Apr 2024 11:11: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=5G6/=LP=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1ruVrw-0003AO-Tw
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:11:56 +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 23952da6-f72b-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 13:11:54 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-56e6e08d328so2514597a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 04:11: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: 23952da6-f72b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712747514; x=1713352314; 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=bne216KvbRGOdDDZ6zCMMcUDZ+DucEkPd+/ueG20gE8=;
        b=P5URodRrQs6BoV/x89DkjnG6gjyOJ1WiLyKFCLLDu+CPxgi5UBqi/0/IuW5FQJADUS
         +LVKcFXSt8DPlkxl72ka7mtTzCTpGDHQryeQND4pjewtUqWeCW4vcpQ+mUxrA2VgN3ca
         8wpG7CHi440MhP+VQo4mu3RBrwpV9TPDGzkfkzZtJQzWe5byLMHnK0nwWpotUkbcVz99
         EPdDlwlO1Pu9iMbSTTFoEw3UqVY16IF2sGARAvbbn1xM4JgFKUD9DsbasgNbnUMfp0aW
         pQcrnnneLZZ3K3K8H2Uyl0tnTLvAD/g9QEZBSU7ILxBAplcFrQp60szjPXSbIaiLb2Kn
         QTRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712747514; x=1713352314;
        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=bne216KvbRGOdDDZ6zCMMcUDZ+DucEkPd+/ueG20gE8=;
        b=IbC92L2/cpSsEsSXriY2v9r9jPoGrP0VnYUAsVUJwCScZV8SS4LWwp81h7PnzscftB
         KO4BvHczqKSs9fo5qRDyf5Bvg8ulbol6pYcay4SV6w8cqaWsyCHhpXqyMJwJHQkpPvWl
         5gySS71g7cGhPAS/A/gAGgfmdQnhbFSkJQKzNk08NQq3bg6J5W8fts+pVr2MJBegj+rH
         1mK0ej5FKieUXvD54MQW5lzTuEXbQDUoENgTOji8XbJlplJCMGTSOQ4euZdk+fhsWoOc
         GU4OwBSPmAu0p/FPFSfz8iPmo9g/lN2h+ayfzSfvSArlFhf94um6VNEYBKhkwey0xXuE
         pQMQ==
X-Forwarded-Encrypted: i=1; AJvYcCVR59nJ5uXVBGIXG2Riszn+4wIZBHySZK4sBdMNDfKOx9XKHB7tTS8PcG+XS6Pb+JfseQGd5Q8vEN86C0QbaS04f4OGBbpapsPvJn8kotY=
X-Gm-Message-State: AOJu0YzpSqc2CZtuFh5Wab2XFa/UaVGXcLn4DY16k2zmEzyhpfz8sFmp
	pvQk4K286BlXmIqsN9hwHYKr6Vveyqt/Eep9Bhumbp1oGkzJJTZQL/6UleSfbn5GMtzzN8r4sBs
	A2iRgTb0hXXrN101f3RCNxFqmP88=
X-Google-Smtp-Source: AGHT+IG5dbz3lz/dWNLr/AQRR3ivAeMkFvzTbCxh3cKrC759lTqXHPW1TDEExfmNgU8/cwX5iC2IsSAeVTKWqc4BhKk=
X-Received: by 2002:a50:99da:0:b0:56e:2b1c:d013 with SMTP id
 n26-20020a5099da000000b0056e2b1cd013mr1785719edb.21.1712747514144; Wed, 10
 Apr 2024 04:11:54 -0700 (PDT)
MIME-Version: 1.0
References: <20240227223501.28475-1-vikram.garhwal@amd.com>
 <20240227223501.28475-7-vikram.garhwal@amd.com> <alpine.DEB.2.22.394.2402291510080.853156@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2402291510080.853156@ubuntu-linux-20-04-desktop>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Wed, 10 Apr 2024 13:11:42 +0200
Message-ID: <CAJy5ezo2f8gxZ+Lfx3aXg7Oqx-1SMBTN-sU6-oZotUu3ARA3cg@mail.gmail.com>
Subject: Re: [QEMU][PATCH v3 6/7] xen: add map and unmap callbacks for grant region
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-devel@nongnu.org, jgross@suse.com, 
	Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
	Paolo Bonzini <pbonzini@redhat.com>, Peter Xu <peterx@redhat.com>, 
	David Hildenbrand <david@redhat.com>, =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <philmd@linaro.org>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000002bac5a0615bc1b0f"

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

On Fri, Mar 1, 2024 at 12:34=E2=80=AFAM Stefano Stabellini <sstabellini@ker=
nel.org>
wrote:

> On Tue, 27 Feb 2024, Vikram Garhwal wrote:
> > From: Juergen Gross <jgross@suse.com>
> >
> > Add the callbacks for mapping/unmapping guest memory via grants to the
> > special grant memory region.
> >
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>
>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

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

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><div class=3D"gmail_quote"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Fri, Mar 1, 2024 at 12:34=E2=80=AFAM S=
tefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.org">sstabellini=
@kernel.org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">On Tue, 27 Feb 2024, Vikram Garhwal wrote:<br>
&gt; From: Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" target=3D"_=
blank">jgross@suse.com</a>&gt;<br>
&gt; <br>
&gt; Add the callbacks for mapping/unmapping guest memory via grants to the=
<br>
&gt; special grant memory region.<br>
&gt; <br>
&gt; Signed-off-by: Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" ta=
rget=3D"_blank">jgross@suse.com</a>&gt;<br>
&gt; Signed-off-by: Vikram Garhwal &lt;<a href=3D"mailto:vikram.garhwal@amd=
.com" target=3D"_blank">vikram.garhwal@amd.com</a>&gt;<br>
<br>
Reviewed-by: Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.or=
g" target=3D"_blank">sstabellini@kernel.org</a>&gt;<br>
<br></blockquote><div><br></div><div>Reviewed-by: Edgar E. Iglesias &lt;<a =
href=3D"mailto:edgar.iglesias@amd.com">edgar.iglesias@amd.com</a>&gt;<br></=
div><div><br></div></div></div>

--0000000000002bac5a0615bc1b0f--


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:12:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:12:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703018.1098798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVso-0003es-Q3; Wed, 10 Apr 2024 11:12:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703018.1098798; Wed, 10 Apr 2024 11:12:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVso-0003el-NC; Wed, 10 Apr 2024 11:12:50 +0000
Received: by outflank-mailman (input) for mailman id 703018;
 Wed, 10 Apr 2024 11:12: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=5G6/=LP=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1ruVsm-0003bF-Os
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:12:48 +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 4372e8e9-f72b-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 13:12:48 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-516d1ecaf25so7054881e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 04:12: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: 4372e8e9-f72b-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712747568; x=1713352368; 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=ALT6kqEnrjbh1nQAK2UvKfGb74xu8lPYLkMQ+6mKJxs=;
        b=SI2x/StvdQPlwJGsHve/p7eV1sb7Wp9OU764y7SqXPyWQ2eO+1W7RklsY3EX28e2fA
         LqXsYNKRZyYUjbgADEoYhOjtF5mvx6afATirWstvr4M/V3+A/Fv30IhSmpQ+eYBAlUBw
         nOFUP9bP4p60RaXQNn1+KzmUwkUHOPdQdJma8pmb2Lfooz3KyFo66sB6aheyooPSRU1o
         KO1RIgqvxJSDG6BGtMZeE1HDiCTqBHlJ8zUIACtUlsWeh5VvFucmzrkHnrmK3wd+5bPy
         N2SMzF6ZZjM/nHhKfzpW/wIc5V6bcfY5dCX+l5gvBVXQrpmwGbjkETHslAJjc+qodumZ
         IUcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712747568; x=1713352368;
        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=ALT6kqEnrjbh1nQAK2UvKfGb74xu8lPYLkMQ+6mKJxs=;
        b=vUI+6DtKNCSyTTdBMzLcspbtr/mf2qXM6bw+BTmVjgnzCq6tBHqZn2OlGrRTk8EgCb
         +STcYwvQ1cuhjW1QUq60JlTwviIFHqs5oR44QtoYVjpkFL+10el2uXEFxdu4gFJBioNy
         nMVmbDYIdgXdgvy2fq2migBOglkoRCatYHfX4UYVBOBEyMRGXMTCkbkvtzsaPYeVK92R
         id7UqHhQJp5OqDh3mwUDDRPreJUK6jG0LmOeWu1HQATUTzoiwJkt+Er8BGzeRTQ1rsxP
         xO/speGfST1sVotxXBA9pEngGlfakoIhmUBreqr8fLHmFxtzaJQx1goqDU1zzlWLV+FX
         /2Rg==
X-Forwarded-Encrypted: i=1; AJvYcCXTpfm9lHqnofZJVNF78sZOriOHeoT2K/W5FhFfhWteM5eDbWTyvE20NyBB2pG1k4cIssSUuv5p1UALugHH1/TULoDK3ha4oka0i64C4KQ=
X-Gm-Message-State: AOJu0Yxt1OaPXl9qal3t22/7MIRU1jAY9JXWsoOaJo2ZX8dzhqvlJYmF
	tOmUHhMPlshAB3xLz8fs0+EUOLVBEov0Dl6BEfaR/uLWrOh5RGmTrbS/2IVxPX2jdJ7IJtp0e9Y
	i0uo9vDepX0mdG60yVp5c0aZmVxY=
X-Google-Smtp-Source: AGHT+IEcfMnAGY+YId1/vKeyCz6HCH/seMLuFbXPkv+qzkzyvPCN43a5QYTzcwAeKjoODGKkTEYUg8tHJxVPcN/UUM4=
X-Received: by 2002:ac2:5450:0:b0:516:d4f5:9382 with SMTP id
 d16-20020ac25450000000b00516d4f59382mr1328455lfn.52.1712747567575; Wed, 10
 Apr 2024 04:12:47 -0700 (PDT)
MIME-Version: 1.0
References: <20240227223501.28475-1-vikram.garhwal@amd.com>
 <20240227223501.28475-3-vikram.garhwal@amd.com> <875xy659op.fsf@draig.linaro.org>
In-Reply-To: <875xy659op.fsf@draig.linaro.org>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Wed, 10 Apr 2024 13:12:36 +0200
Message-ID: <CAJy5ezqbMq=gCPZJYsQZNq7V5OP-2BjA6kp7RbvZzyKzxC71mA@mail.gmail.com>
Subject: Re: [QEMU][PATCH v3 2/7] xen: add pseudo RAM region for grant mappings
To: =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>
Cc: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-devel@nongnu.org, sstabellini@kernel.org, 
	jgross@suse.com, Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
	Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, 
	Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000005af99c0615bc1ee1"

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

On Fri, Mar 1, 2024 at 3:06=E2=80=AFPM Alex Benn=C3=A9e <alex.bennee@linaro=
.org> wrote:

> Vikram Garhwal <vikram.garhwal@amd.com> writes:
>
> > From: Juergen Gross <jgross@suse.com>
> >
> > Add a memory region which can be used to automatically map granted
> > memory. It is starting at 0x8000000000000000ULL in order to be able to
> > distinguish it from normal RAM.
>
> Is the Xen memory map for HVM guests documented anywhere? I couldn't
> find anything googling or on the Xen wiki. I'm guessing this is going to
> be shared across all 64 bit HVM arches in Xen?
>
> Anyway:
>
> Reviewed-by: Alex Benn=C3=A9e <alex.bennee@linaro.org>
>
>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

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

<div dir=3D"ltr"><div dir=3D"ltr">On Fri, Mar 1, 2024 at 3:06=E2=80=AFPM Al=
ex Benn=C3=A9e &lt;<a href=3D"mailto:alex.bennee@linaro.org">alex.bennee@li=
naro.org</a>&gt; wrote:<br></div><div class=3D"gmail_quote"><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex">Vikram Garhwal &lt;<a href=3D"mailto:vik=
ram.garhwal@amd.com" target=3D"_blank">vikram.garhwal@amd.com</a>&gt; write=
s:<br>
<br>
&gt; From: Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" target=3D"_=
blank">jgross@suse.com</a>&gt;<br>
&gt;<br>
&gt; Add a memory region which can be used to automatically map granted<br>
&gt; memory. It is starting at 0x8000000000000000ULL in order to be able to=
<br>
&gt; distinguish it from normal RAM.<br>
<br>
Is the Xen memory map for HVM guests documented anywhere? I couldn&#39;t<br=
>
find anything googling or on the Xen wiki. I&#39;m guessing this is going t=
o<br>
be shared across all 64 bit HVM arches in Xen?<br>
<br>
Anyway:<br>
<br>
Reviewed-by: Alex Benn=C3=A9e &lt;<a href=3D"mailto:alex.bennee@linaro.org"=
 target=3D"_blank">alex.bennee@linaro.org</a>&gt;<br>
<br></blockquote><div><br></div><div>Reviewed-by: Edgar E. Iglesias &lt;<a =
href=3D"mailto:edgar.iglesias@amd.com">edgar.iglesias@amd.com</a>&gt;<br></=
div><div><br></div></div></div>

--0000000000005af99c0615bc1ee1--


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:14:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703021.1098808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVuS-0004RM-4a; Wed, 10 Apr 2024 11:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703021.1098808; Wed, 10 Apr 2024 11: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 1ruVuS-0004RF-1a; Wed, 10 Apr 2024 11:14:32 +0000
Received: by outflank-mailman (input) for mailman id 703021;
 Wed, 10 Apr 2024 11: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=5G6/=LP=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1ruVuQ-0004R9-SM
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:14:30 +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 7f59133c-f72b-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 13:14:28 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-56bdf81706aso8773432a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 04: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: 7f59133c-f72b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712747668; x=1713352468; 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=94RVQwcYAG4eFmMmGTmocKdyi2FDWMMAMoG0R8BdJRo=;
        b=OsbrKEW2ST3XDmEA3Kt8U1Xp87ZB4Tfuc5aoUfaL112xNxYCEjjbbvl6PlLNdUc2Ig
         gKQy8GTFbPkngD+U3Ey9Fp7KdkD0iNtXN8rzqrVXr04zOX9DB0beSuoVLL7/gC5Uko9+
         hNz4brNfcGmc9iMXpiBybtkD5yMJ6XUqdVNcr9DErh3kD8WtUpDAp0z2xkp6ueh8Mp1e
         AJ5IG4D+v+8xgABByepe9FkqJmzd8Xo8TV6+C8QzAznXhVieOvvao/zaq9dnNsPwvMg5
         FQ6TolOzC935tJcCfD0nThtDVpjtWkOLX3tMXzeQ7mu0gMMcea0S7UbiW29jO5KnixH8
         KV8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712747668; x=1713352468;
        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=94RVQwcYAG4eFmMmGTmocKdyi2FDWMMAMoG0R8BdJRo=;
        b=W5O6wkCARAN8c0rbWJHk3Esr6ydWPbjIVxfZNbzotF31LHc9sT4k615DGn4Ja3dfIT
         vKuVixliYMSOMXD2GzF1RaQTY6z7+iupU3endkkpcjKOzDflIE6UVeDM+00Q7XYEII2J
         jEEy41QlSzlLzsv9wbr93fHfHgL8HfKBewe0+8+VnmjYpnmh5RiJY3MdFNRLx13ppFdS
         wMT0Y/l8qRgiPQNrifcJM7qt0+h9h7h5Cotl4CbkXp4yUmZj6C9oY8Yf5gs2k2lwAZ5U
         USjm0RXkyAgle3Iqczypj3veJB6pNmA8+eYOUei7U6WPfJUSwJ3GeV/mgFwOOBliIHGA
         tf3A==
X-Forwarded-Encrypted: i=1; AJvYcCWram6vvTWQFC9YgxMD9QXNU7/pqVn46NhJzW5oBf+VzHJzg0XCPy9Tnaj69N0YO72t7oSa60NIpCV249/3dmR8TdqB+6t771InwiNVZQw=
X-Gm-Message-State: AOJu0YwFh0EjiNfMpSWtWlghqfgneaM/HWk7CjMycWJT4oYG7zKIby+2
	AdaQ2CO3Mu3xYC0v8LHA+ZgilOSzTR2PiXLi3UutTeCww59U54SZvS92kwEiG+iWR+4rEudUe6K
	xOtvGGlgbB44yjs8d+2w5XcgSd7Q=
X-Google-Smtp-Source: AGHT+IHZUo6Pt6cHPn2HE+zPZFOJvm6Ppz12wUMJIHfV1gr9Dy/wFeCvOTGykeUz1W16/FiVEwX1BlwUryFYMPLE4VE=
X-Received: by 2002:a50:d5d9:0:b0:568:8e22:4eff with SMTP id
 g25-20020a50d5d9000000b005688e224effmr1525770edj.37.1712747668168; Wed, 10
 Apr 2024 04:14:28 -0700 (PDT)
MIME-Version: 1.0
References: <20240227223501.28475-1-vikram.garhwal@amd.com>
 <20240227223501.28475-5-vikram.garhwal@amd.com> <87o7bx5187.fsf@draig.linaro.org>
In-Reply-To: <87o7bx5187.fsf@draig.linaro.org>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Wed, 10 Apr 2024 13:14:16 +0200
Message-ID: <CAJy5ezrG0m6_5hKD1axpOSYLp-jk14=E+XPo9=oThyY-TN-7TQ@mail.gmail.com>
Subject: Re: [QEMU][PATCH v3 4/7] xen: let xen_ram_addr_from_mapcache() return
 -1 in case of not found entry
To: =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>
Cc: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-devel@nongnu.org, sstabellini@kernel.org, 
	jgross@suse.com, Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="00000000000059e8be0615bc2419"

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

On Fri, Mar 1, 2024 at 6:08=E2=80=AFPM Alex Benn=C3=A9e <alex.bennee@linaro=
.org> wrote:

> Vikram Garhwal <vikram.garhwal@amd.com> writes:
>
> > From: Juergen Gross <jgross@suse.com>
> >
> > Today xen_ram_addr_from_mapcache() will either abort() or return 0 in
> > case it can't find a matching entry for a pointer value. Both cases
> > are bad, so change that to return an invalid address instead.
> >
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> >  hw/xen/xen-mapcache.c | 11 +++--------
> >  1 file changed, 3 insertions(+), 8 deletions(-)
> >
> > diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
> > index dfc412d138..179b7e95b2 100644
> > --- a/hw/xen/xen-mapcache.c
> > +++ b/hw/xen/xen-mapcache.c
> > @@ -396,13 +396,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
> >          }
> >      }
> >      if (!found) {
> > -        trace_xen_ram_addr_from_mapcache_not_found(ptr);
> > -        QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
> > -
> trace_xen_ram_addr_from_mapcache_found(reventry->paddr_index,
> > -                                                   reventry->vaddr_req=
);
> > -        }
>
> If these tracepoints aren't useful they need removing from trace-events.
> However I suspect it would be better to keep them in as they are fairly
> cheap.
>
> Otherwise:
>
> Reviewed-by: Alex Benn=C3=A9e <alex.bennee@linaro.org>
>
>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

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

<div dir=3D"ltr"><div dir=3D"ltr">On Fri, Mar 1, 2024 at 6:08=E2=80=AFPM Al=
ex Benn=C3=A9e &lt;<a href=3D"mailto:alex.bennee@linaro.org">alex.bennee@li=
naro.org</a>&gt; wrote:<br></div><div class=3D"gmail_quote"><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex">Vikram Garhwal &lt;<a href=3D"mailto:vik=
ram.garhwal@amd.com" target=3D"_blank">vikram.garhwal@amd.com</a>&gt; write=
s:<br>
<br>
&gt; From: Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" target=3D"_=
blank">jgross@suse.com</a>&gt;<br>
&gt;<br>
&gt; Today xen_ram_addr_from_mapcache() will either abort() or return 0 in<=
br>
&gt; case it can&#39;t find a matching entry for a pointer value. Both case=
s<br>
&gt; are bad, so change that to return an invalid address instead.<br>
&gt;<br>
&gt; Signed-off-by: Juergen Gross &lt;<a href=3D"mailto:jgross@suse.com" ta=
rget=3D"_blank">jgross@suse.com</a>&gt;<br>
&gt; Reviewed-by: Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kern=
el.org" target=3D"_blank">sstabellini@kernel.org</a>&gt;<br>
&gt; ---<br>
&gt;=C2=A0 hw/xen/xen-mapcache.c | 11 +++--------<br>
&gt;=C2=A0 1 file changed, 3 insertions(+), 8 deletions(-)<br>
&gt;<br>
&gt; diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c<br>
&gt; index dfc412d138..179b7e95b2 100644<br>
&gt; --- a/hw/xen/xen-mapcache.c<br>
&gt; +++ b/hw/xen/xen-mapcache.c<br>
&gt; @@ -396,13 +396,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
&gt;=C2=A0 =C2=A0 =C2=A0 }<br>
&gt;=C2=A0 =C2=A0 =C2=A0 if (!found) {<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 trace_xen_ram_addr_from_mapcache_not_foun=
d(ptr);<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 QTAILQ_FOREACH(reventry, &amp;mapcache-&g=
t;locked_entries, next) {<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 trace_xen_ram_addr_from_map=
cache_found(reventry-&gt;paddr_index,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0reventry-&gt;vaddr_req);<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
<br>
If these tracepoints aren&#39;t useful they need removing from trace-events=
.<br>
However I suspect it would be better to keep them in as they are fairly<br>
cheap.<br>
<br>
Otherwise:<br>
<br>
Reviewed-by: Alex Benn=C3=A9e &lt;<a href=3D"mailto:alex.bennee@linaro.org"=
 target=3D"_blank">alex.bennee@linaro.org</a>&gt;<br>
<br></blockquote><div><br></div><div>Reviewed-by: Edgar E. Iglesias &lt;<a =
href=3D"mailto:edgar.iglesias@amd.com">edgar.iglesias@amd.com</a>&gt;<br></=
div><div><br></div></div></div>

--00000000000059e8be0615bc2419--


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:16:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703025.1098817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVw3-0005Ht-J0; Wed, 10 Apr 2024 11:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703025.1098817; Wed, 10 Apr 2024 11:16:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVw3-0005Hk-GL; Wed, 10 Apr 2024 11:16:11 +0000
Received: by outflank-mailman (input) for mailman id 703025;
 Wed, 10 Apr 2024 11:16: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=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruVw2-0005HV-2G
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:16:10 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba1ff2ea-f72b-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 13:16:07 +0200 (CEST)
Received: from SA9PR10CA0017.namprd10.prod.outlook.com (2603:10b6:806:a7::22)
 by PH7PR12MB6395.namprd12.prod.outlook.com (2603:10b6:510:1fd::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.54; Wed, 10 Apr
 2024 11:16:02 +0000
Received: from SN1PEPF00026369.namprd02.prod.outlook.com
 (2603:10b6:806:a7:cafe::87) by SA9PR10CA0017.outlook.office365.com
 (2603:10b6:806:a7::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 11:16:01 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00026369.mail.protection.outlook.com (10.167.241.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 11:16: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.35; Wed, 10 Apr
 2024 06:16:01 -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.35; Wed, 10 Apr
 2024 06:16: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.35 via Frontend
 Transport; Wed, 10 Apr 2024 06:15: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: ba1ff2ea-f72b-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=obmBtnIt2af9tosTzjYRFqHExQsAk5rVOyiVK5WsHjrM/sjtzq7/LaZzW7TBUVGl9UsU8W8PgNfrcp4lEfWmgacCpERd5aIIO3I0MWvAfOWEIurbdpSzTc/SLse+Ok02d3EU34gUO5Es8cpDzy1OovI4O1LJBKN/9cJ3za6vlRu+qirncv5WHtaJNAJFLth1en/r9CidlLQFo+68E1z+9H4yUIF8dO1zxM8DAaAwQqty+IS+9Ang3ZP2XD/4trDQfOdN8vYvFPwh29AVLqtC+jA95P8CJPTbqTdbRKgt+QweoBW5lo4fFHCEOQg5R2D7eZlK7zYKFDSSOFwoCqxiOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pL9tmG2X2EpNkipyFusGJHfiKOtbhOR8CPqrm1NPHxg=;
 b=WZRXRisz12pS1GcqbfC5pVLT2iQBbPUQ+lBNXg8Eo1G5r6V7FHPSWCaVdJkOmzyG1k0UZaWu8nwjKU+kPNx1pJh86nFqpje7j8WIjDSAY73CGVttpbXx9Eeti/1V/jN2PDa9Xa77PTT54a84Y25xQ5Ve8i2hV9dr1Ff7PfmyY37+W0elhArcLZ6X46AabJE+opvBYuO7jNbJC0/ApBI746oIMPaaoCeixp0IOgHDrvI6otPDakbnQJQDpbWTDcxV6ckm2+nwLCBg2uJeT+ks0gMKE0YnOtj1RckHzOs/0/UuCrfjtyErx5Ogz96eojmO0ge7H6iGyXI8uI9Yg/fLnQ==
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=pL9tmG2X2EpNkipyFusGJHfiKOtbhOR8CPqrm1NPHxg=;
 b=wpUyWlfe4W4T7HbPSgkNwKlhvghBxhpcQ8awNgbE+FNO+IQAI4ME787hkNIEiesMeFBs657hRa63Vhn+BWROZyzH8WLSMpEuvEECXRCIk+O0BAEpVbtA2Jof8HeXBZCaHniYuw+6qf74BLFGBYNDoWbb4fgJfPfZXpPqCiHefQY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <38281ab3-0680-44d3-8c81-14b09d52680b@amd.com>
Date: Wed, 10 Apr 2024 13:15:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 10/13] xen/arm: remove shm holes from extended regions
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Penny Zheng <Penny.Zheng@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-11-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240409114543.3332150-11-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00026369:EE_|PH7PR12MB6395:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c283145-b14c-4c27-6e2c-08dc594f9b05
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X1/GU4PRddSCSkm7obLoffmnwrHJ0YzebEUOwf8dZ37oAZTqMcdtpWdB/PaiDPX8hzSumHat9KeqFQOfBmOhNH5Bj70ylRQS2u97HXMAREsIBXye+2nufU1TzNZNBdApegeUogI3vfnTh2b8q2nsCHeMxJE/uYrkEHSxggTYZbFyfxTIB/+/xda2aHveTUXB6n/jMIk0r7QV8LFCTsMIAWnWVw8rqBb86UGz3dNMGdNq7cRYJRpmLlknpPYBMQkBqBlGVNRRgyrChAm+y9Z2Na8UWT047Ufx8E2RK52OT5HyvJkfn5teu1jdIg8HMNHPSlj41UpHrJfJUauCfVKqo2l5UyFTc0/G+BFBOF6BGvYJrKQr2O6DXwBJ9fhYjk08sryUqUmKRKiiO4OTD0wfCS+D7H2ctw0bzNDOldO4xw0Ul9407TU7cJ8SGbYHQZNe7mZ4PNnfOaoCWN3MCjyVij2KjUpqjm/Hd//CypupS1YOkGV/g68A5ql14B1T/IlJt0Y+vj0tJigpGtOlnk5yckWCs7o8WjZr7esygK9D6C0LB7VqhIiARCP6tDs0+1RkP/B8Sc9zxLoVeUaSfM+JaFy6RFtb8OOrpi1Pi0OvjyT5diRMLH2bsxkuUVfY3OWo+hO2MOwoFXCOMLDal9kp6coVVOQkmcgK8EicwaAEgutg3sMOJ0luMircWuhI+RUCkrH0ZOqPlHsBjYLxjGwpQoTjnCaz75WogHq8nrD8OQeEVrI7939CjopqQRRydkn8
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 11:16:01.7411
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c283145-b14c-4c27-6e2c-08dc594f9b05
X-MS-Exchange-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:
	SN1PEPF00026369.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6395

Hi Luca,

On 09/04/2024 13:45, Luca Fancellu wrote:
> 
> 
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> Static shared memory acts as reserved memory in guest, so it shall be
> excluded from extended regions.
> 
> Extended regions are taken care of under three different scenarios:
> normal DomU, direct-map domain with iommu on, and direct-map domain
> with iommu off.
> 
> For normal DomU, we create a new function "remove_shm_holes_for_domU",
> to firstly transfer original outputs into the format of
> "struct rangeset", then use "remove_shm_from_rangeset" to remove static
> shm from them.
> 
> For direct-map domain with iommu on, after we get guest shm info from "kinfo",
> we use "remove_shm_from_rangeset" to remove static shm.
> 
> For direct-map domain with iommu off, as static shm has already been taken
> care of through reserved memory banks, we do nothing.
Stale info given that shmem is no longer part of reserved memory banks. It's been taken care
of by removing shmem regions in find_unallocated_memory()

> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v2:
>  - Fixed commit title, fixed comment, moved call of remove_shm_from_rangeset
>    after populating rangeset in find_memory_holes, print error code when
>    possible
>  - used PFN_DOWN where needed
> v1:
>  - Rework of https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-8-Penny.Zheng@arm.com/
> ---
> ---
>  xen/arch/arm/domain_build.c             | 16 ++++-
>  xen/arch/arm/include/asm/domain_build.h |  2 +
>  xen/arch/arm/include/asm/static-shmem.h | 18 +++++
>  xen/arch/arm/static-shmem.c             | 88 +++++++++++++++++++++++++
>  4 files changed, 121 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 01d66fbde92b..9b36d6bb70c9 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -817,8 +817,8 @@ int __init make_memory_node(const struct domain *d,
>      return res;
>  }
> 
> -static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
> -                                  void *data)
> +int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
> +                           void *data)
>  {
>      struct membanks *ext_regions = data;
>      paddr_t start, size;
> @@ -978,6 +978,8 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
>   * - MMIO
>   * - Host RAM
>   * - PCI aperture
> + * - Static shared memory regions, which are described by special property
> + *   "xen,shared-mem"
>   */
>  static int __init find_memory_holes(const struct kernel_info *kinfo,
>                                      struct membanks *ext_regions)
> @@ -1005,6 +1007,11 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
>          goto out;
>      }
> 
> +    /* Remove static shared memory regions */
> +    res = remove_shm_from_rangeset(kinfo, mem_holes);
> +    if ( res )
> +        goto out;
> +
>      /*
>       * Remove regions described by "reg" and "ranges" properties where
>       * the memory is addressable (MMIO, RAM, PCI BAR, etc).
> @@ -1097,7 +1104,10 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
>          res = 0;
>      }
> 
> -    return res;
> +    if ( res )
> +        return res;
> +
> +    return remove_shm_holes_for_domU(kinfo, ext_regions);
>  }
> 
>  int __init make_hypervisor_node(struct domain *d,
> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
> index a6f276cc4263..026d975da28e 100644
> --- a/xen/arch/arm/include/asm/domain_build.h
> +++ b/xen/arch/arm/include/asm/domain_build.h
> @@ -51,6 +51,8 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
>  int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
>  #endif
> 
> +int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *data);
> +
>  #endif
> 
>  /*
> diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
> index 90aafc81e740..2e8b138eb989 100644
> --- a/xen/arch/arm/include/asm/static-shmem.h
> +++ b/xen/arch/arm/include/asm/static-shmem.h
> @@ -28,6 +28,12 @@ void early_print_info_shmem(void);
> 
>  void init_sharedmem_pages(void);
> 
> +int remove_shm_from_rangeset(const struct kernel_info *kinfo,
> +                             struct rangeset *rangeset);
> +
> +int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
> +                              struct membanks *ext_regions);
> +
>  #else /* !CONFIG_STATIC_SHM */
> 
>  static inline int make_resv_memory_node(const struct kernel_info *kinfo,
> @@ -59,6 +65,18 @@ static inline void early_print_info_shmem(void) {};
> 
>  static inline void init_sharedmem_pages(void) {};
> 
> +static inline int remove_shm_from_rangeset(const struct kernel_info *kinfo,
> +                                           struct rangeset *rangeset)
> +{
> +    return 0;
> +}
> +
> +static inline int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
> +                                            struct membanks *ext_regions)
> +{
> +    return 0;
> +}
> +
>  #endif /* CONFIG_STATIC_SHM */
> 
>  #endif /* __ASM_STATIC_SHMEM_H_ */
> diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
> index fcf8227bf404..a08413ff44e2 100644
> --- a/xen/arch/arm/static-shmem.c
> +++ b/xen/arch/arm/static-shmem.c
> @@ -1,6 +1,7 @@
>  /* SPDX-License-Identifier: GPL-2.0-only */
> 
>  #include <xen/libfdt/libfdt.h>
> +#include <xen/rangeset.h>
>  #include <xen/sched.h>
> 
>  #include <asm/domain_build.h>
> @@ -574,6 +575,93 @@ void __init init_sharedmem_pages(void)
>          init_staticmem_bank(&shmem->bank[bank]);
>  }
> 
> +int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
> +                                    struct rangeset *rangeset)
> +{
> +    const struct membanks *shm_mem = &kinfo->shm_mem.common;
> +    unsigned int i;
> +
> +    /* Remove static shared memory regions */
> +    for ( i = 0; i < shm_mem->nr_banks; i++ )
> +    {
> +        paddr_t start, end;
> +        int res;
> +
> +        start = shm_mem->bank[i].start;
> +        end = shm_mem->bank[i].start + shm_mem->bank[i].size - 1;
If you look at other rangeset_remove_range use cases and error messages, 1 is subtracted
in PFN_DOWN() so that the error message contains end unchanged. Please adhere to that so that
printed messages are consistent.

> +        res = rangeset_remove_range(rangeset, PFN_DOWN(start), PFN_DOWN(end));
> +        if ( res )
> +        {
> +            printk(XENLOG_ERR
> +                   "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr", error: %d\n",
> +                   start, end, res);
> +            return -EINVAL;
> +        }
> +    }
> +
> +    return 0;
> +}
> +
> +int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
> +                                     struct membanks *ext_regions)
> +{
> +    const struct membanks *shm_mem = &kinfo->shm_mem.common;
> +    struct rangeset *guest_holes;
> +    unsigned int i;
> +    paddr_t start;
> +    paddr_t end;
> +    int res;
> +
> +    /* No static shared memory region. */
> +    if ( shm_mem->nr_banks == 0 )
> +        return 0;
> +
> +    dt_dprintk("Remove static shared memory holes from extended regions of DomU\n");
> +
> +    guest_holes = rangeset_new(NULL, NULL, 0);
> +    if ( !guest_holes )
> +        return -ENOMEM;
> +
> +    /* Copy extended regions sets into the rangeset */
> +    for ( i = 0; i < ext_regions->nr_banks; i++ )
> +    {
> +        start = ext_regions->bank[i].start;
> +        end = start + ext_regions->bank[i].size - 1;
> +
> +        res = rangeset_add_range(guest_holes, PFN_DOWN(start), PFN_DOWN(end));
same remark about the end

> +        if ( res )
> +        {
> +            printk(XENLOG_ERR
> +                   "Failed to add: %#"PRIpaddr"->%#"PRIpaddr", error: %d\n",
> +                   start, end, res);
> +            goto out;
> +        }
> +    }
> +
> +    /* Remove static shared memory regions */
> +    res = remove_shm_from_rangeset(kinfo, guest_holes);
> +    if ( res )
> +        goto out;
> +
Could you please add a comment explaining here what's done below?
> +    i = ext_regions->nr_banks - 1;
> +    start = ext_regions->bank[0].start;
> +    end = ext_regions->bank[i].start + ext_regions->bank[i].size - 1;
> +
> +    /* Reset original extended regions to hold new value */
> +    ext_regions->nr_banks = 0;
> +    res = rangeset_report_ranges(guest_holes, PFN_DOWN(start), PFN_DOWN(end),
> +                                 add_ext_regions, ext_regions);
> +    if ( res )
> +        ext_regions->nr_banks = 0;
> +    else if ( !ext_regions->nr_banks )
> +        res = -ENOENT;
> +
> + out:
> +    rangeset_destroy(guest_holes);
> +
> +    return res;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> --
> 2.34.1
> 

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:19:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703034.1098828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVzd-00068C-2C; Wed, 10 Apr 2024 11:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703034.1098828; Wed, 10 Apr 2024 11:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruVzc-000685-VY; Wed, 10 Apr 2024 11:19:52 +0000
Received: by outflank-mailman (input) for mailman id 703034;
 Wed, 10 Apr 2024 11:19:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ruVzb-00067z-Od
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:19:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2612::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f2f4f3a-f72c-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 13:19:50 +0200 (CEST)
Received: from AS9PR05CA0306.eurprd05.prod.outlook.com (2603:10a6:20b:491::20)
 by VI1PR08MB9958.eurprd08.prod.outlook.com (2603:10a6:800:1c0::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 11:19:44 +0000
Received: from AMS1EPF0000004B.eurprd04.prod.outlook.com
 (2603:10a6:20b:491:cafe::4a) by AS9PR05CA0306.outlook.office365.com
 (2603:10a6:20b:491::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Wed, 10 Apr 2024 11:19:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF0000004B.mail.protection.outlook.com (10.167.16.136) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 11:19:42 +0000
Received: ("Tessian outbound f0b355493f75:v300");
 Wed, 10 Apr 2024 11:19:42 +0000
Received: from e052a3e45c48.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E22F79C6-85C0-40D1-9DB5-E6F3066073AF.1; 
 Wed, 10 Apr 2024 11:19:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e052a3e45c48.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 11:19:36 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS4PR08MB7782.eurprd08.prod.outlook.com (2603:10a6:20b:516::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.26; Wed, 10 Apr
 2024 11:19:32 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 11:19:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f2f4f3a-f72c-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=il8aPoEMIc9faAOAiVDZWjScbhJoogapYk1EhoKEkvQm3b7wKapAI2Jg7YlIxeyyFd4e+RGg619ASwpbZ9o4dWr9+rQBjGcuhM0lVrctrYWl9DtqLHQeTAlzXrHgxs8Mp6qmjiIDrKEqtpnNV5OpBC3lH9gR/MQO7e9lmhSCe7Ka0JjjpjqcUKXSB/VmzcQ7emLRASqJe+lcF5WppwDtQmifXt4VQSbKRKrZQHmmgzZ/JYI8v4VXEk55HnwtCbi00ti50GkFgVgzuFqsY3ooPOegVKBa0/50NKMVIrIx8qJ9buyNR2267tsLlrwoxMusbZux70G0+SGKxP/hG2bJ2Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6A/1qkUxhlab+P/th8YJkLqmToP6x19+FT/yJN+nPJM=;
 b=dgT2YBJI9nL0gBlWDjZp6Kw/ZvMKr5RikMBTk32CuBZokI4TI4YtaXK+ZpExt+sHftbFdPNPKuhLk+uKv+dr5MgVntaciMIiOE+1ZqWQWP8GN8Ik9826nYSfdiMYd7EYJuR3mp4rpcpyUMKU1eK5X5zf3lWjyrIlKlA1et0ot5N6zBff4G5P60XFa6ONrsxQhwBDEeYlI9M8KLzGyxcv2Vu8jryRc6Z1JTrBrNbyiNRGDNcb4SY0RwFBtzrpG5xWmjeeZwjPRRn4lr8gv+rIAeb8mUznRICGgzWBM33zxbj1UHkzb50URIh9nX+m15nXzU1PtBfN4ey5EN+xssVjiw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6A/1qkUxhlab+P/th8YJkLqmToP6x19+FT/yJN+nPJM=;
 b=G/5NmMe4/MK6GKCzC/mWNuVm5gwQj8F9ISrewUbaYxOjzLwOma/BdwpaNl5Ozg2F/O3h8vMsLBD+6JfJlTLuwKFXMhSJp6Jx0y4kwY6emtP4tf0Ns5ftcf6u1X65oTradY8R9QR/AykJcSsMihhm17sKVeFrVec3HwopVLXc9G0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ad3d0339da3f48ea
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Si7YP/iyiacaILDc9cdMOiPBezhcCRk/IOGclLNFH4gmXEVf3egnHzu8JbKm3UfaLoXwP5iOVbv0oY91ppfQ8ZKJLi5qrI6DOLgWEqgsVXr+opQuwLRSeTLs3C+OQHwILzFbQAQA8UQWIyxDJxPuObetR8EWIgYteIw5/jdMUNl9FWh91AVglat188DRknK4dLm96bu9XT5UzMLb5tCnljt1EHPpxIqKl+G9s/htHWoLt8Z3OsbgTG5EwZWxzByFuO0cEwvbBaMXDFECBcJ597SMP87R7NEzG+jr0+pA1gs3N893k563PPkjmo4jLI6VNQ0IaD0ny/JHiSsGE/BHYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6A/1qkUxhlab+P/th8YJkLqmToP6x19+FT/yJN+nPJM=;
 b=aRhlSxgPvRPP69K6k5u+xrLeLTvoMd+Y+Kr5PhKBGDjsBQSUwMvcpP299F1dbJCBuoXKtAs5MK8jQuqI056phl+EsGp3gZ12rHE1fwon6LTbbouzBFjqeL6pw443XUiIKDCC+LPODhwnFMZslNTBoZcH3drx2PUP9MJbHNFubpIR4BRddPHrB2cp1H3MVF1pLp2b+qro4sC67buFqRSrL+QKik2S3zT21OQKoeDsvC04twRfP2dWkN7WRBf3HaWxQMIvqT9J08CB6bqP9WSqyPfZMg/9L6PZBymBkEbP8GsQvhl55gT0VA5jqcuZ6d53AKR0h19rk+XnldvPqTLC0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6A/1qkUxhlab+P/th8YJkLqmToP6x19+FT/yJN+nPJM=;
 b=G/5NmMe4/MK6GKCzC/mWNuVm5gwQj8F9ISrewUbaYxOjzLwOma/BdwpaNl5Ozg2F/O3h8vMsLBD+6JfJlTLuwKFXMhSJp6Jx0y4kwY6emtP4tf0Ns5ftcf6u1X65oTradY8R9QR/AykJcSsMihhm17sKVeFrVec3HwopVLXc9G0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static
 shared memory
Thread-Topic: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static
 shared memory
Thread-Index: AQHainOQqOQ8ACmqS0SD80lqrmS1tLFhR1gAgAAPMQCAAAF2AIAABPiA
Date: Wed, 10 Apr 2024 11:19:32 +0000
Message-ID: <F5F625A1-094E-4AA8-AF8F-1CE61098EDFF@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-10-luca.fancellu@arm.com>
 <36108be2-d950-4839-a2a6-06462de7e952@amd.com>
 <045818A6-3E13-465B-8DB6-067877B8A035@arm.com>
 <698db158-fd87-401c-9c13-5b94f973436d@amd.com>
In-Reply-To: <698db158-fd87-401c-9c13-5b94f973436d@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS4PR08MB7782:EE_|AMS1EPF0000004B:EE_|VI1PR08MB9958:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 zCSFk7XGsgPXF+iOIcYYp5AGvyfyEqGLOEp3Dy5aZJGMrAjr8J8kyHnwGOuA1EnXeL3z8kq1rE5500Ky/0iyapEjAE3q9JvPUFKbJN1WGvHfvzU3pHDSJapxgaimre5TcuT/nJ2vBreVfsMGSsr+ug33Vp1TAKLQuWaOJfOt87OtlqwuhLGKP9FY0OW3xmR2Sb54A/B7qdKB7OSxoK520q99FTDvD5Zdg8+SiZDfbX3ConmyFD4Ony099KJAU16LI2mo46GBmnXvRBY2RCB4j+IsRQE5fqBhilIsrl+vMxy8ODOJ7k21JVo+1X1xooRQ++X1ujIyZTrK7LEYG08MqLD0ry/vGgZZL0djod57GJPBZxwj/Dt7anpS7aZUfakcwIay/+1bBC2fhE+KitcayEvvwz6MBO9kJ9w+6DyMbQDvM5NOeqQhi+/3vONAUfo2EHZXBGOi/FOzGrjpey1Q3M676y9GSBglYzpaGY0hixzCgLBZlOeb5+E8s9kWKrK3fhWBulwwoCxVL430EeucRLgx9w2HyhJJIAPIoDmKzlyA2rgl8G5qoPKOiI6Gwb8rChzvRwhEkKXzSX9IXOqH81xrO40gM4K4u4qRI6jyORoYIHouK78xqQF3MpUAcgBgJPe/tZWO6VyQIWd+BsP3R13P3yPB7rmnLBC/UwBto6k=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <FA187B8DF37B1F448406F1D488AD86BF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7782
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF0000004B.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 48181f43-d649-424f-573d-08dc59501ed7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XWBtEm+I/J/PjRsIEi6y5aWzl091gHXqasXNbg87F7IRBL1tksPpaYauvXAx5uuAgWhm6FRbbvnILI8QBum5T07S18yLVRECerFvsN9pASGJJ9SHZmxlEUsrIHJwpbAiVK5e8PqgtiirqtRL+jsLz02rpYSX99/AVOtGcnH5Tmc8B0BmdKb86JOBaFbB87FcC9bqIRQ198+PSZroLbFzk8bpuzJX1b1KH0pDysEll1C6AFSL0sVi1WLBPVPHdQrKQ9OW1sAoP5/yUESgYPo+kxdMMGN6Gk4q1c6xP2TMfUMAFbfyy4sHT7AhowD25GuJ6wmXw5vRV2IexR5vHbajjRIdj9zM8s+/i5E6XAtPz1Nljhiz3bMRLMmvQ1YBcBhxdQ1eg7CwjtJxoXprn6unh1Wu383zSenomzdqV+fv83Rot/eNYtqKkcFqS9pUxmdFpeJiz6WyJHotUcEiKEIURT8Zc14cIgCBebbgMUJK29ySTtdo+gfeULuMiaoZrgdisdkbKkgCSrRvAXCTcqoZxQxPvDiZBpkWfY5gAUNn40m4BJxNIe9xtQh/DGUVOAli/c6hj0P+TxAK6aiH0zLqayWni4Lk4DF67D3ekyut5rQFCKJg7cEmA/md7sKT2OQiLrgIfoZI+0/iUh5ZGf4t8Vu6E/AHaoSwvNT90qi5WLzPn5510DyW5ypq+fdYTmCu8SWHrvzBjbSz3keaJJT3qj/gOg4YjO43bfIqGs/PW4Dy0b4pb6odnoxeB++S0mnX
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 11:19:42.8983
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 48181f43-d649-424f-573d-08dc59501ed7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF0000004B.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB9958


>>>>=20
>>>> Afterwards, create a new structure 'struct shared_meminfo' which
>>>> has the same interface of 'struct meminfo', but requires less
>>> I would expect some justification for selecting 32 as the max number of=
 shmem banks
>>=20
>> So I have to say I picked up a value I thought was ok for the amount of =
shared memory
>> Banks, do you think it is too low? The real intention here was to decoup=
le the number
>> of shared memory banks from the number of generic memory banks, and I fe=
lt 32 was enough,
>> but if you think it might be an issue I could bump it, or we could have =
a Kconfig...
> No need for Kconfig. 32 is enough for now but I expect a paragraph in com=
mit msg that you select
> 32 which should be enough for current use cases and can be bumped in the =
future in case there is a need.

What do you think of this proposal:

[...]
hence the 'struct membank' won't grow in size.

Afterwards, create a new structure 'struct shared_meminfo' which
has the same interface of 'struct meminfo', but requires less
banks, defined by the number in NR_SHMEM_BANKS, which is 32 at the=20
moment and should be enough for the current use cases, the value =20
might be increased in te future if needed.=20
Finally, this structure hosts also the extra information for the
static shared memory banks.
The fields 'bank' and 'extra' of this structure are meant to be
[...]

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:23:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:23:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703039.1098838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruW2s-0007Zt-ID; Wed, 10 Apr 2024 11:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703039.1098838; Wed, 10 Apr 2024 11:23:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruW2s-0007Zm-Dp; Wed, 10 Apr 2024 11:23:14 +0000
Received: by outflank-mailman (input) for mailman id 703039;
 Wed, 10 Apr 2024 11: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=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruW2r-0007Zg-Bk
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:23:13 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6c9f591-f72c-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 13:23:12 +0200 (CEST)
Received: from SJ0PR05CA0064.namprd05.prod.outlook.com (2603:10b6:a03:332::9)
 by CY8PR12MB7316.namprd12.prod.outlook.com (2603:10b6:930:50::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 11:23:09 +0000
Received: from MWH0EPF000971E9.namprd02.prod.outlook.com
 (2603:10b6:a03:332:cafe::90) by SJ0PR05CA0064.outlook.office365.com
 (2603:10b6:a03:332::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 11:23:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MWH0EPF000971E9.mail.protection.outlook.com (10.167.243.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 11:23:08 +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.35; Wed, 10 Apr
 2024 06:23:07 -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.35; Wed, 10 Apr
 2024 06:23:07 -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.35 via Frontend
 Transport; Wed, 10 Apr 2024 06:23:06 -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: b6c9f591-f72c-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=guKMcE1Yfb//Lo38t9iKQkjqvyjAwQ9FmbjnwAqb5NLBIOucexZw2zONuLNZwUyzRCNR/tAugHc3STi6ugwtVpIXP7hhX54x0yKaH5HKj/8qTxkndjU/RfBkREBIZRiUTXl9q/gCKgisIuDdJBrdWcP4mkd7y6zsQGjuerZFY9q1HKFTBJMQkXeRTFsu5b9vHVsGqaHyrzsdWkmJbyEWb49DHNKH4d8eNKPTJkk/YuehqID9d96Kzo3lfTuzQcfwBJjHqi/+QLBUFhYOxscUnCK8md8z1oUFubBoVzqniy0hYexHz4BaZa8DDKj/buoJnx+vC95c3bSVp7ZAcyzMgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nbGA5iRZ5pXlMn3s3WZS8If/pZJn3fhxbuHxWXnDtAI=;
 b=VmNc28exBNvWHBZ9osvpC7qPgVMkK56YAB5TcBP/jGWhvYms+wgE7Wfa9ZpRe6sfAH5OZbwX4X3skzEPJ6U0D1BcVfTUZVCdRsSrMHViMvnbC+otd4wgYuOJk/LgCxVjejOV8o6tkdk8LYQM0PAAsSbwMhzmBNK8mAKRx/+sIXtfCyQo4rg15F1YE9IvvtE45W+fmPbYZEgqQ9hw/nufbqVKrOLfTsq9DBrqEq94cHawQ950QC3fHMCOZSsnRVui9h+/Tmy/TdtXLNnM/WNSWdk6NBNN+TavuxBRfXbsuKrVW80JoJ1Jndo/gg3q+xtbBNLY/p9/wcIVzcbNR3UpTQ==
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=nbGA5iRZ5pXlMn3s3WZS8If/pZJn3fhxbuHxWXnDtAI=;
 b=ptM5Hoom/WZG0yAA1GoQhhhxkjE6pZ4WKuVtJF4NvLePwcV+IUx+Y4xiiKDpgP20U+3DJc+kab4327prtIgFXS+V47KpnBR/C3cdssFc4V+kmgye3qY7NC5CrMEG7joFbd0vTauBU0iGMJF3VxIWsodWDxB5T6s9nIXv85jyz48=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <1c2fe516-0a92-426b-85a5-f75f1b43cbca@amd.com>
Date: Wed, 10 Apr 2024 13:23:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 09/13] xen/arm: Reduce struct membank size on static
 shared memory
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-10-luca.fancellu@arm.com>
 <36108be2-d950-4839-a2a6-06462de7e952@amd.com>
 <045818A6-3E13-465B-8DB6-067877B8A035@arm.com>
 <698db158-fd87-401c-9c13-5b94f973436d@amd.com>
 <F5F625A1-094E-4AA8-AF8F-1CE61098EDFF@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <F5F625A1-094E-4AA8-AF8F-1CE61098EDFF@arm.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: MWH0EPF000971E9:EE_|CY8PR12MB7316:EE_
X-MS-Office365-Filtering-Correlation-Id: 205e92c3-25fc-4411-cd20-08dc59509990
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	25GlbadcG9PChJNlyr9Wzw2lqlyW/vwqvHH8MpFNbJFgPA7JB6ft9VpKHom413N7pOOgU225Qn+loQ6J+aLu4wyqVUeiIsXkZWvQ3Lu3iq9yN0i/M2CFePYBB4DR2S2FTC27zbjvMZoPpG3CoqY/smAOLnhvqwH6OQsbVs7GHnAwnaKYaIrVrPYMQttk31cxA4NR/8LWJNl3nsdarU6brViWEIuX/iTkC8nFi3FpMWJORzbxY1FGQk7xwJWMxc2X/seShgcVOVNkkVvDkLqvoZDgLvZj9SW5ds4SMrO9TT4XkUeNTuhXJ7VC1TBXqFCgvcCHA6OuDBLX2Sb4RHqu/SycVNM1oEdw1YNb4bhdsfK3tmVmzuPmj3tDtr20QzP1OSu+fm9p/oK+gC1XszrK4ZVefoE2n5F6+a5Bq7a/RYTZjZGdrqs7PFzMNE7TFxwRoTvAtrt6IVwsMLvKD7XRCWTNjfPbGxjWif4+iKoVH34WLCuN8k93uyl1sRJrzXCCxnzdjipY4kxgPhTxX6vySHxOANnWNo/SRbAyPOiAH8EYAmmeY/j5PVswc2ZAlhRMJEqnCRQa+Pm582Uq17HujCZavIruEWLTV8ipRiqIgdUu0kwra7QkQ6g6OqxB+6Tvy3Q4sXW2GJtwC8yeU/xZOR7j+U2HOg/J741ejAvJKRCCeSlPxtQBinyyZK+HFbMhVpEBh1NayTIJ2totbinWdCcje8Eg/pJGgHmEjwNOW6QveuuFhbFri2gVARs0ZzDS
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 11:23:08.6708
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 205e92c3-25fc-4411-cd20-08dc59509990
X-MS-Exchange-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:
	MWH0EPF000971E9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7316



On 10/04/2024 13:19, Luca Fancellu wrote:
> 
> 
>>>>>
>>>>> Afterwards, create a new structure 'struct shared_meminfo' which
>>>>> has the same interface of 'struct meminfo', but requires less
>>>> I would expect some justification for selecting 32 as the max number of shmem banks
>>>
>>> So I have to say I picked up a value I thought was ok for the amount of shared memory
>>> Banks, do you think it is too low? The real intention here was to decouple the number
>>> of shared memory banks from the number of generic memory banks, and I felt 32 was enough,
>>> but if you think it might be an issue I could bump it, or we could have a Kconfig...
>> No need for Kconfig. 32 is enough for now but I expect a paragraph in commit msg that you select
>> 32 which should be enough for current use cases and can be bumped in the future in case there is a need.
> 
> What do you think of this proposal:
> 
> [...]
> hence the 'struct membank' won't grow in size.
> 
> Afterwards, create a new structure 'struct shared_meminfo' which
> has the same interface of 'struct meminfo', but requires less
> banks, defined by the number in NR_SHMEM_BANKS, which is 32 at the
> moment and should be enough for the current use cases, the value
> might be increased in te future if needed.
> Finally, this structure hosts also the extra information for the
> static shared memory banks.
> The fields 'bank' and 'extra' of this structure are meant to be
> [...]
reads ok

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:43:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:43:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703047.1098848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWMe-0003VE-7N; Wed, 10 Apr 2024 11:43:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703047.1098848; Wed, 10 Apr 2024 11:43:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWMe-0003V7-49; Wed, 10 Apr 2024 11:43:40 +0000
Received: by outflank-mailman (input) for mailman id 703047;
 Wed, 10 Apr 2024 11:43: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=rpn4=LP=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1ruWMc-0003V1-Mp
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:43:38 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 916ea3f7-f72f-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 13:43:37 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4167fce0a41so16389755e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 04:43:37 -0700 (PDT)
Received: from localhost.localdomain (adsl-125.109.242.226.tellas.gr.
 [109.242.226.125]) by smtp.gmail.com with ESMTPSA id
 a20-20020a05600c349400b00416a7313deasm1622874wmq.4.2024.04.10.04.43.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 04:43: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: 916ea3f7-f72f-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712749416; x=1713354216; 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=eIOOIl9Rw1Y1qSX9CrPFraMXRXSZ6MzaRuCNGToA2kA=;
        b=UeWb/bHYWBMsJwbosSnxm/JZS9uySBuAKwkJfPGV2rOJeGbdAP3bSEzRdeSyuJ8IPT
         sYtU8ZF7d3jlq3sdXAjkWhamLaiTvv5Yh3FyrqUHDBsaudnzRviyw3Wy4e1gwJ49+D3G
         ba/sb2v2/Xh2M0TkfNyMCwcnJ5pe46TCTkYS+NyRlnslYZGjdaIUVDsnArbqtunaPqIS
         eiSSnMh1AQRz3iECmHA8ZvWBeVMPApzptduWqkFVgZOGTwXxU3c6fbCss/+ny87FhBbs
         riupm2D65ELppzCg6+IubwpXxSubqse1+AkCm7Ain6JuuL8tfvvlDTNiw4P817k/sVDc
         FFrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712749416; x=1713354216;
        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=eIOOIl9Rw1Y1qSX9CrPFraMXRXSZ6MzaRuCNGToA2kA=;
        b=ks0l74jThCi9Kqv60NSjON5DSoP5a94M96Y81C620/BUjw2o4OfFXPW5rMaw8PMZ6Y
         Ku0PS1w4azFqey7rRsYiVDKaxhgmFBgYpZP8GV8ZVdX4x6qpsKQLHg5hfozPM+XEHoTq
         GoH/iyvnHDW1M2hGfQYFE21nl1aXnpLACNTm+7GT48h8IEvgQE60cHmbUOyNIUP8b3xN
         Chl3E9bOoxcRvkIBK/KO+MTIlEOMogz/zoBhbhTwThkvt4aZU83ewGlj24oV8NEA+yZ6
         EMVY9sln3a8bkbEjkSXBRrBH+1W8yVkkA0Wi1hN7maCdOj89jj9e3tkazsUibepwf3yp
         wnBA==
X-Gm-Message-State: AOJu0Yxzr/P/OWI6soNAtq2qz6MvAN436ICkx9SikZiYBPneB7zUjF4k
	7+Hd/1uCKUjL83j3PWs48A6IyUSlOphb9NV4jfNtdl6+oPILrZXrXr1WuFKAHT3IgG06sydo5Rf
	I
X-Google-Smtp-Source: AGHT+IFXJ6i1+PXzEDR4YtTL1S4r8HjAH5VABIHgs5qvaGYEcG1Mtp5qHDLYJxoyrAN4+Ikl3dgEZw==
X-Received: by 2002:a05:600c:470d:b0:416:bd66:af68 with SMTP id v13-20020a05600c470d00b00416bd66af68mr2033774wmo.7.1712749416316;
        Wed, 10 Apr 2024 04:43:36 -0700 (PDT)
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [RFC PATCH v1 0/2] convert LIBXL_DEVICE_MODEL_START_TIMEOUT to env var
Date: Wed, 10 Apr 2024 14:43:13 +0300
Message-Id: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF8
Content-Transfer-Encoding: 8bit

This patch series proposes converting the compile-time define 
LIBXL_DEVICE_MODEL_START_TIMEOUT value to an optionally overridden by 
environment variable value, just like the current behavior for 
LIBXL_BOOTLOADER_TIMEOUT is.

Manos Pitsidianakis (2):
  libs/light: add device model start timeout env var
  libs/light: expand device model start timeout use

 docs/man/xl.1.pod.in                 | 11 +++++++++++
 tools/libs/light/libxl_9pfs.c        |  2 +-
 tools/libs/light/libxl_device.c      |  2 +-
 tools/libs/light/libxl_dm.c          | 10 +++++-----
 tools/libs/light/libxl_dom_suspend.c |  2 +-
 tools/libs/light/libxl_domain.c      |  5 +++--
 tools/libs/light/libxl_internal.h    |  6 ++++++
 tools/libs/light/libxl_pci.c         | 10 +++++-----
 tools/libs/light/libxl_usb.c         |  8 ++++----
 9 files changed, 37 insertions(+), 19 deletions(-)


base-commit: f48299cad5c3c69fdc2c101517a6dab9c9827ea5
-- 
γαῖα πυρί μιχθήτω



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:43:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:43:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703049.1098864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWMl-0003oE-Nc; Wed, 10 Apr 2024 11:43:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703049.1098864; Wed, 10 Apr 2024 11:43:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWMl-0003nf-J2; Wed, 10 Apr 2024 11:43:47 +0000
Received: by outflank-mailman (input) for mailman id 703049;
 Wed, 10 Apr 2024 11:43: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=rpn4=LP=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1ruWMk-0003V1-GP
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:43:46 +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 96a5ca92-f72f-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 13:43:45 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516d0162fa1so7927262e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 04:43:45 -0700 (PDT)
Received: from localhost.localdomain (adsl-125.109.242.226.tellas.gr.
 [109.242.226.125]) by smtp.gmail.com with ESMTPSA id
 a20-20020a05600c349400b00416a7313deasm1622874wmq.4.2024.04.10.04.43.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 04:43: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: 96a5ca92-f72f-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712749425; x=1713354225; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SdOOUOZq9LZ5gV0smnTOUe9GEEiQVAIyweoYczkDsxA=;
        b=LNqVY7BaXxURz6Y8EGrnq8lHjUnD2QUoeY/f/2PYLczzo9VvJ76Nsq8jQyc50lSy/P
         iNB8ZtRVJENOYVsWolPOpbQM1uvhZdW+UQW8N3Ns4W0qhCPaj+P4gFzM312eb/qJxkXt
         A7TzmwaFgFnoW/c/MbjqE8Pjol8x2tSgwpESRiMciWFZf2P3lJGTGg8aeepwRfrPmOn6
         aRYXXEEa0rm3sswchDvz+xKa6BsamIL8XA672RRKSVesJHYnOt7kB0OfsA6rtvXswkK8
         1LADQ2ab+uYb7gPnzRiN5s1dQsme+J5fRQXHGP1yvOhno8qDFx+ic/ca5tHb53RAgu2V
         4KZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712749425; x=1713354225;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SdOOUOZq9LZ5gV0smnTOUe9GEEiQVAIyweoYczkDsxA=;
        b=tONUfPY8+apuFHcXB4dOgs2kniuVcFuIWJ4itFqRNkxqIKeGPj8HZM2LJe8owk2S0z
         XddFodtio0al69iYqt3OANdAXxip4xT+QCgy4Fx7ccdiYjNk1UQIzP/31mgq35Xy2+Wa
         0H5Q7YPW/+XUPbOpdd4DAqGWdWH7TfaWfH9DCJFKOlVOp+2lLZHc9MPCT/hPkPqIhgod
         0aGsBYLhm0RGpoCzXatW+isO5Z/p3JLnAQhQYdQt8Jvj63QRYtYaQ2JXJ3b91uWkTjCU
         Vjv27aOrftNwdYuNv398mjDzQIjpR9unbgT5FhFyxDqrpa6gcj35ZvUWhuPUVOGiQmtO
         Nncg==
X-Gm-Message-State: AOJu0Yy7BH7JutFkUPvzS28hzKsXCS1RGMt0wVQQHIQlwOXDIobkglhb
	+xcAVBergJHm1ydQMP5aN6mb8v2VRZqC5SPi/XiXijA8T59l24xM4uy6OS7KpiDTA60ssAP+rNz
	3
X-Google-Smtp-Source: AGHT+IG/X340dtXOKOxCwIIO2gXgjMZdoqDI+lvwqfcPHVfGIpVcBcM+MFm8ik3Qw/FpZiEPSA1fPw==
X-Received: by 2002:a2e:9911:0:b0:2d8:e159:23b6 with SMTP id v17-20020a2e9911000000b002d8e15923b6mr431080lji.16.1712749425283;
        Wed, 10 Apr 2024 04:43:45 -0700 (PDT)
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [RFC PATCH v1 2/2] libs/light: expand device model start timeout use
Date: Wed, 10 Apr 2024 14:43:15 +0300
Message-Id: <125210f392aacaa5dd605ce7036c7c9b9e783a2a.1712748711.git.manos.pitsidianakis@linaro.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
References: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF8
Content-Transfer-Encoding: 8bit

Various timeout values that depend on the device model should also
respect the device model start timeout setting. This commit adds the
__libxl_device_model_start_timeout() value to those time outs without
changing their default values.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
---
 tools/libs/light/libxl_dm.c     | 4 ++--
 tools/libs/light/libxl_domain.c | 5 +++--
 tools/libs/light/libxl_pci.c    | 4 ++--
 tools/libs/light/libxl_usb.c    | 8 ++++----
 4 files changed, 11 insertions(+), 10 deletions(-)

diff --git tools/libs/light/libxl_dm.c tools/libs/light/libxl_dm.c
index 4369fef161..9ffdd50c69 100644
--- tools/libs/light/libxl_dm.c
+++ tools/libs/light/libxl_dm.c
@@ -2807,7 +2807,7 @@ static void stubdom_pvqemu_unpaused(libxl__egc *egc,
                                   dm_domid, sdss->dm.guest_domid);
     sdss->xswait.path = DEVICE_MODEL_XS_PATH(gc, dm_domid, sdss->dm.guest_domid,
                                              "/state");
-    sdss->xswait.timeout_ms = LIBXL_STUBDOM_START_TIMEOUT * 1000;
+    sdss->xswait.timeout_ms = (__libxl_device_model_start_timeout() + LIBXL_STUBDOM_START_TIMEOUT) * 1000;
     sdss->xswait.callback = stubdom_xswait_cb;
     rc = libxl__xswait_start(gc, &sdss->xswait);
     if (rc) goto out;
@@ -3177,7 +3177,7 @@ static void device_model_spawn_outcome(libxl__egc *egc,
             == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
         rc = libxl__ev_time_register_rel(ao, &dmss->timeout,
                                          devise_model_postconfig_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
         dmss->qmp.ao = ao;
         dmss->qmp.domid = dmss->guest_domid;
diff --git tools/libs/light/libxl_domain.c tools/libs/light/libxl_domain.c
index 6751fc785f..2fc3481f78 100644
--- tools/libs/light/libxl_domain.c
+++ tools/libs/light/libxl_domain.c
@@ -1882,7 +1882,8 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid,
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             rc = libxl__ev_time_register_rel(ao, &svos->timeout,
                                              set_vcpuonline_timeout,
-                                             LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                             (__libxl_device_model_start_timeout()
+                                              + LIBXL_QMP_CMD_TIMEOUT) * 1000);
             if (rc) goto out;
             qmp->callback = set_vcpuonline_qmp_cpus_fast_queried;
             rc = libxl__ev_qmp_send(egc, qmp, "query-cpus-fast", NULL);
@@ -2353,7 +2354,7 @@ static void retrieve_domain_configuration_lock_acquired(
          */
         rc = libxl__ev_time_register_rel(ao, &rdcs->timeout,
             retrieve_domain_configuration_timeout,
-            LIBXL_QMP_CMD_TIMEOUT * 1000);
+            (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
         libxl_bitmap_alloc(CTX, &rdcs->qemuu_cpus,
                            d_config->b_info.max_vcpus);
diff --git tools/libs/light/libxl_pci.c tools/libs/light/libxl_pci.c
index 7bdd9f6c3b..3120649a8e 100644
--- tools/libs/light/libxl_pci.c
+++ tools/libs/light/libxl_pci.c
@@ -1165,7 +1165,7 @@ static void do_pci_add(libxl__egc *egc,
             case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
                 rc = libxl__ev_time_register_rel(ao, &pas->timeout,
                                                  pci_add_timeout,
-                                                 LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                                 (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
                 if (rc) goto out;
 
                 pci_add_qmp_device_add(egc, pas); /* must be last */
@@ -2030,7 +2030,7 @@ static void pci_remove_qmp_device_del(libxl__egc *egc,
 
     rc = libxl__ev_time_register_rel(ao, &prs->timeout,
                                      pci_remove_timeout,
-                                     LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                     (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
     if (rc) goto out;
 
     QMP_PARAMETERS_SPRINTF(&args, "id", PCI_PT_QDEV_ID,
diff --git tools/libs/light/libxl_usb.c tools/libs/light/libxl_usb.c
index c5ae59681c..59db8a6f64 100644
--- tools/libs/light/libxl_usb.c
+++ tools/libs/light/libxl_usb.c
@@ -487,7 +487,7 @@ static void libxl__device_usbctrl_add(libxl__egc *egc, uint32_t domid,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbctrl_add_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto outrm;
 
         qmp->ao = ao;
@@ -644,7 +644,7 @@ static void device_usbctrl_usbdevs_removed(libxl__egc *egc,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbctrl_remove_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
 
         qmp->ao = ao;
@@ -1794,7 +1794,7 @@ static void libxl__device_usbdev_add(libxl__egc *egc, uint32_t domid,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbdev_add_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
 
         aodev->qmp.ao = ao;
@@ -1976,7 +1976,7 @@ static void libxl__device_usbdev_remove(libxl__egc *egc, uint32_t domid,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbdev_remove_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
 
         aodev->qmp.ao = ao;
-- 
γαῖα πυρί μιχθήτω



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 11:43:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 11:43:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703048.1098857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWMl-0003kh-Dd; Wed, 10 Apr 2024 11:43:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703048.1098857; Wed, 10 Apr 2024 11:43:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWMl-0003kY-Aj; Wed, 10 Apr 2024 11:43:47 +0000
Received: by outflank-mailman (input) for mailman id 703048;
 Wed, 10 Apr 2024 11:43: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=rpn4=LP=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1ruWMj-0003jg-UJ
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 11:43:45 +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 94dcd558-f72f-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 13:43:42 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-516d536f6f2so5502176e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 04:43:42 -0700 (PDT)
Received: from localhost.localdomain (adsl-125.109.242.226.tellas.gr.
 [109.242.226.125]) by smtp.gmail.com with ESMTPSA id
 a20-20020a05600c349400b00416a7313deasm1622874wmq.4.2024.04.10.04.43.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 04:43: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: 94dcd558-f72f-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712749422; x=1713354222; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=30QgisvmYFSN9sJ9N9ya959fCAYBnhZkkLkxzE/5MPo=;
        b=dNmQDbqR/u7QQuz8XOmtBiYVVo+sQBzYAsaMCslLxG06neU88pxNATocQXWndqXowz
         KwEcFTeggRSquqiHP/uIabTek85XxDLfG+HHVLCs7EjObWaqt0vhGtI6stNxxrhq5d0y
         h2S2I6RgxQifLhZkVpLsaTp3HRDP1qU+cAOUNvHHjKSxgpJSJZ+dNBaSZL4JCeYxZwj2
         q8I29wKi1SYXqN6aM5m35iQA4Ern4GOWVfYjqxRAX1qosP28n1vyCpszDcoqaawQ1Ctb
         m190ePTXN8bd2qXYvQUvz0PipqbpZF7DLGvyfuLAjcROLnsorxJQPp3SwsZnAZ2BjGvP
         5YQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712749422; x=1713354222;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=30QgisvmYFSN9sJ9N9ya959fCAYBnhZkkLkxzE/5MPo=;
        b=JZy5qWKY7naxRqoSvr644uIGuQY6wCsOuY4QTjMGwTVG9RcMsorQe+zncnWGRxoZkT
         8U/bCj8fKgwgei1yb8sJUGB/metIg6Bi95i1K2AJip5RSlFrKGDHAgkH99R6oXlWKAfL
         fbmmI1LXWJ8SyVbFfkemcLIOPcv28fuoiZskw2MWxeRbjtf5P/IJ5sdkeeK75TJr9e5A
         Ra9+ukRx8+aFaIBSOQdCHFHqTTQy2ShDcoJN/WyozoKFJjvhuHg4qDFAjjSnTGZMlrKJ
         SDCcxUaNpTK+IYPm7uykuR5+Qc2UBdeVHR4jkd3VHQh3ZNdiJLPt0uqoK2dEHpfPCkoj
         BgOw==
X-Gm-Message-State: AOJu0YzZ/7gGcbsVk4/CdVvBnTFWGQX/R/8U8WqzTBuxd4FnDFuZXoRe
	o7/3dAlv4/bENM7g/UEPQZmmkNE0bEaWC7BpsnOxelaGqByi6upQJYbpTNnohtt4FbaPw6NRiZW
	I
X-Google-Smtp-Source: AGHT+IE20KzbMtODb8+bNw8FvlxwWB0TqrVoVzdK6c4JfiuP/AKDBh95JYCmXDDqLRdH4oCyP4D0EA==
X-Received: by 2002:a19:f706:0:b0:513:c95c:4dc4 with SMTP id z6-20020a19f706000000b00513c95c4dc4mr1362819lfe.7.1712749422025;
        Wed, 10 Apr 2024 04:43:42 -0700 (PDT)
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [RFC PATCH v1 1/2] libs/light: add device model start timeout env var
Date: Wed, 10 Apr 2024 14:43:14 +0300
Message-Id: <334b5a46e31dbf3e8114e9ea8bafd92cf060f2af.1712748711.git.manos.pitsidianakis@linaro.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
References: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF8
Content-Transfer-Encoding: 8bit

When debugging QEMU, the need to run it under Valgrind and asan meant
the compile-time define LIBXL_DEVICE_MODEL_START_TIMEOUT must be changed
to allow for `xl` to wait longer while the instrumented QEMU
initializes.

This commit adds support for reading the environment variable
LIBXL_DEVICE_MODEL_START_TIMEOUT to configure the timeout value and
otherwise fall back to the default 60.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
---
 docs/man/xl.1.pod.in                 | 11 +++++++++++
 tools/libs/light/libxl_9pfs.c        |  2 +-
 tools/libs/light/libxl_device.c      |  2 +-
 tools/libs/light/libxl_dm.c          |  6 +++---
 tools/libs/light/libxl_dom_suspend.c |  2 +-
 tools/libs/light/libxl_internal.h    |  6 ++++++
 tools/libs/light/libxl_pci.c         |  6 +++---
 7 files changed, 26 insertions(+), 9 deletions(-)

diff --git docs/man/xl.1.pod.in docs/man/xl.1.pod.in
index bed8393473..c159877094 100644
--- docs/man/xl.1.pod.in
+++ docs/man/xl.1.pod.in
@@ -1993,6 +1993,17 @@ Otherwise the build time default in LIBXL_BOOTLOADER_TIMEOUT will be used.
 If defined the value must be an unsigned integer between 0 and INT_MAX,
 otherwise behavior is undefined.  Setting to 0 disables the timeout.
 
+=item LIBXL_DEVICE_MODEL_START_TIMEOUT
+
+Timeout in seconds for starting the device model process. Useful in case the
+device model takes an unusual amount of time to start— for example in case of
+very slow I/O, in case of slow performance due to memory sanitizer usage, etc.
+
+If undefined, the default hard-coded value of 60 seconds is used.
+
+If defined, the value must be an unsigned integer between 0 and INT_MAX,
+otherwise behaviour is undefined.  Setting the value to 0 disables the timeout.
+
 =back
 
 =head1 SEE ALSO
diff --git tools/libs/light/libxl_9pfs.c tools/libs/light/libxl_9pfs.c
index 48f894f070..950a464b45 100644
--- tools/libs/light/libxl_9pfs.c
+++ tools/libs/light/libxl_9pfs.c
@@ -132,7 +132,7 @@ static int xen9pfsd_spawn(libxl__egc *egc, uint32_t domid, libxl_device_p9 *p9,
     aop9->spawn.ao = aodev->ao;
     aop9->spawn.what = "xen-9pfs daemon";
     aop9->spawn.xspath = GCSPRINTF("%s/state", path);
-    aop9->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    aop9->spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;
     aop9->spawn.pidpath = GCSPRINTF("%s/pid", path);
     aop9->spawn.midproc_cb = libxl__spawn_record_pid;
     aop9->spawn.confirm_cb = xen9pfsd_confirm;
diff --git tools/libs/light/libxl_device.c tools/libs/light/libxl_device.c
index 6f0100d05e..452e55ba23 100644
--- tools/libs/light/libxl_device.c
+++ tools/libs/light/libxl_device.c
@@ -1436,7 +1436,7 @@ int libxl__wait_for_device_model_deprecated(libxl__gc *gc,
 
     path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
     return libxl__xenstore_child_wait_deprecated(gc, domid,
-                                     LIBXL_DEVICE_MODEL_START_TIMEOUT,
+                                     __libxl_device_model_start_timeout(),
                                      "Device Model", path, state, spawning,
                                      check_callback, check_callback_userdata);
 }
diff --git tools/libs/light/libxl_dm.c tools/libs/light/libxl_dm.c
index 0b03a7c747..4369fef161 100644
--- tools/libs/light/libxl_dm.c
+++ tools/libs/light/libxl_dm.c
@@ -2629,7 +2629,7 @@ static void spawn_qmp_proxy(libxl__egc *egc,
     sdss->qmp_proxy_spawn.pidpath = GCSPRINTF("%s/image/qmp-proxy-pid", dom_path);
     sdss->qmp_proxy_spawn.xspath = DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID,
                                                         dm_domid, "/qmp-proxy-state");
-    sdss->qmp_proxy_spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    sdss->qmp_proxy_spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;
     sdss->qmp_proxy_spawn.midproc_cb = libxl__spawn_record_pid;
     sdss->qmp_proxy_spawn.confirm_cb = qmp_proxy_confirm;
     sdss->qmp_proxy_spawn.failure_cb = qmp_proxy_startup_failed;
@@ -3011,7 +3011,7 @@ retry_transaction:
     spawn->what = GCSPRINTF("domain %d device model", domid);
     spawn->xspath = DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID, domid,
                                          "/state");
-    spawn->timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    spawn->timeout_ms = __libxl_device_model_start_timeout() * 1000;
     spawn->pidpath = GCSPRINTF("%s/image/device-model-pid", dom_path);
     spawn->midproc_cb = libxl__spawn_record_pid;
     spawn->confirm_cb = device_model_confirm;
@@ -3435,7 +3435,7 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
 
     dmss->spawn.what = GCSPRINTF("domain %u Qdisk backend", domid);
     dmss->spawn.xspath = GCSPRINTF("device-model/%u/state", domid);
-    dmss->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    dmss->spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;
     /*
      * We cannot save Qemu pid anywhere in the xenstore guest dir,
      * because we will call this from unprivileged driver domains,
diff --git tools/libs/light/libxl_dom_suspend.c tools/libs/light/libxl_dom_suspend.c
index 6091a5f3f6..29e51f6c40 100644
--- tools/libs/light/libxl_dom_suspend.c
+++ tools/libs/light/libxl_dom_suspend.c
@@ -517,7 +517,7 @@ void libxl__dm_resume(libxl__egc *egc,
     rc = libxl__ev_time_register_rel(dmrs->ao,
                                      &dmrs->time,
                                      dm_resume_timeout,
-                                     LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000);
+                                     __libxl_device_model_start_timeout() * 1000);
     if (rc) goto out;
 
     switch (libxl__device_model_version_running(gc, domid)) {
diff --git tools/libs/light/libxl_internal.h tools/libs/light/libxl_internal.h
index 803dbc1a03..684390f822 100644
--- tools/libs/light/libxl_internal.h
+++ tools/libs/light/libxl_internal.h
@@ -97,6 +97,12 @@
 /* QEMU may be slow to load and start due to a bug in Linux where the I/O
  * subsystem sometime produce high latency under load. */
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 60
+static inline int __libxl_device_model_start_timeout(void)
+{
+  const char *timeout_env = getenv("LIBXL_DEVICE_MODEL_START_TIMEOUT");
+  return timeout_env ? atoi(timeout_env)
+    : LIBXL_DEVICE_MODEL_START_TIMEOUT;
+}
 #define LIBXL_DEVICE_MODEL_SAVE_FILE XEN_LIB_DIR "/qemu-save" /* .$domid */
 #define LIBXL_DEVICE_MODEL_RESTORE_FILE XEN_LIB_DIR "/qemu-resume" /* .$domid */
 #define LIBXL_QMP_CMD_TIMEOUT 10
diff --git tools/libs/light/libxl_pci.c tools/libs/light/libxl_pci.c
index 96cb4da079..7bdd9f6c3b 100644
--- tools/libs/light/libxl_pci.c
+++ tools/libs/light/libxl_pci.c
@@ -1157,7 +1157,7 @@ static void do_pci_add(libxl__egc *egc,
                 pas->xswait.what = "Device Model";
                 pas->xswait.path = DEVICE_MODEL_XS_PATH(gc,
                     libxl_get_stubdom_id(CTX, domid), domid, "/state");
-                pas->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+                pas->xswait.timeout_ms = __libxl_device_model_start_timeout() * 1000;
                 pas->xswait.callback = pci_add_qemu_trad_watch_state_cb;
                 rc = libxl__xswait_start(gc, &pas->xswait);
                 if (rc) goto out;
@@ -1719,7 +1719,7 @@ static void device_pci_add_stubdom_wait(libxl__egc *egc,
     rc = libxl__ev_devstate_wait(ao, &pas->pciback_ds,
             device_pci_add_stubdom_ready,
             state_path, XenbusStateConnected,
-            LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000);
+            __libxl_device_model_start_timeout() * 1000);
     if (rc) goto out;
     return;
 out:
@@ -1976,7 +1976,7 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
             prs->xswait.what = "Device Model";
             prs->xswait.path = DEVICE_MODEL_XS_PATH(gc,
                 libxl_get_stubdom_id(CTX, domid), domid, "/state");
-            prs->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+            prs->xswait.timeout_ms = __libxl_device_model_start_timeout() * 1000;
             prs->xswait.callback = pci_remove_qemu_trad_watch_state_cb;
             rc = libxl__xswait_start(gc, &prs->xswait);
             if (rc) goto out_fail;
-- 
γαῖα πυρί μιχθήτω



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 12:14:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 12:14:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703083.1098878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWps-0002fS-Ea; Wed, 10 Apr 2024 12:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703083.1098878; Wed, 10 Apr 2024 12:13:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruWps-0002fL-Bc; Wed, 10 Apr 2024 12:13:52 +0000
Received: by outflank-mailman (input) for mailman id 703083;
 Wed, 10 Apr 2024 12:13:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruWpr-0002X7-NA
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 12:13:51 +0000
Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com
 [2607:f8b0:4864:20::22b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c97f7db6-f733-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 14:13:50 +0200 (CEST)
Received: by mail-oi1-x22b.google.com with SMTP id
 5614622812f47-3c60019eecaso692008b6e.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 05:13:50 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c3-20020ac85183000000b004349a69764fsm3189267qtn.74.2024.04.10.05.13.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Apr 2024 05:13: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: c97f7db6-f733-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712751228; x=1713356028; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CdWY73GQV0cRoXCtD81nix4DUOulDBoVoEHcLcr21AE=;
        b=hJtBTBzWyMnwTgoK6RZxIBMLIdDP3j8TOQ9UsXn3RwXijLeKL59TiUt6xp0pxyjvMn
         PuAGAUp6Y3zpmp1mqncFsCHaHyZwKqJmbusrIICecK5I1aX+D4JeidHxmKCK2LQRlMJT
         ZyQU8oO/ajoWnQ7jFWQF8S6Hkm8MKhMjJHGmw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712751228; x=1713356028;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CdWY73GQV0cRoXCtD81nix4DUOulDBoVoEHcLcr21AE=;
        b=nWrJObBiTXcoricq5qacBNuW7ASWNy5XnjLaC/rk5NLl4pT8bmSnMvdcHT6NleToDX
         HjoqvY6N7tTfV9KLVIHeAcz1B16VKUEw4OEDNBmizmUoYQl1um9zX6WW0x1L4DNANlHF
         TVw+4GUsyYS0PiIkAe/c2a+NX6fPRokbsbaWgWQgKJPPmwel+tmWVhhhpMczoVTYiAv5
         LBMjoUiPw5S1tCh9D7p9XyWUkufVHTQ8krUi1+RJQk94GblzuaKsanOOf2ywqpqt82E5
         NjeHGsgi5OiZ16usfW32EJ1qtV0UjHrnFfd1JWe2ZuC3M1zRF2/NZO4pbNM+3mGMIVGe
         FcWQ==
X-Gm-Message-State: AOJu0YyOpuHPNs5rCr1ykHC6pjg/plOe+t+zPRoWJNfLqUe2/wklHufZ
	dlhpuLz/xA3uF7xQVVHThMtnjSXH6yoEfSnNceAzPDi0vcZydpMi9HzMCP9DMyoA0hXDpDd/XKq
	3KHI=
X-Google-Smtp-Source: AGHT+IFCQQl/COtYv238wV56pfxWnRmV+rGZ4Rgrzh7bDAn4hKg4by4dq0js27aOpEElZ/tBIDcqkA==
X-Received: by 2002:a05:6808:21a3:b0:3c5:f42a:316 with SMTP id be35-20020a05680821a300b003c5f42a0316mr2764154oib.22.1712751226647;
        Wed, 10 Apr 2024 05:13:46 -0700 (PDT)
Message-ID: <be431885-738d-4d82-9d4e-ebff351d0e63@citrix.com>
Date: Wed, 10 Apr 2024 13:13:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/hvm: Fix Misra Rule 19.1 regression
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 "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: <20240410103721.593839-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: <20240410103721.593839-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/04/2024 11:37 am, Andrew Cooper wrote:
> Despite noticing an impending Rule 19.1 violation, the adjustment made (the
> uint32_t cast) wasn't sufficient to avoid it.  Try again.
>
> Fixes: 6a98383b0877 ("x86/HVM: clear upper halves of GPRs upon entry from 32-bit code")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Subsequently noticed by Coverity too.  CIDs 15962{89..98}


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 13:24:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 13:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703093.1098887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruXw7-0006JV-Vk; Wed, 10 Apr 2024 13:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703093.1098887; Wed, 10 Apr 2024 13:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruXw7-0006JO-T0; Wed, 10 Apr 2024 13:24:23 +0000
Received: by outflank-mailman (input) for mailman id 703093;
 Wed, 10 Apr 2024 13:24:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruXw6-0006JI-VM
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 13:24:23 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e88::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a35b2c19-f73d-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 15:24:21 +0200 (CEST)
Received: from PH8PR15CA0018.namprd15.prod.outlook.com (2603:10b6:510:2d2::11)
 by PH7PR12MB9102.namprd12.prod.outlook.com (2603:10b6:510:2f8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 13:24:18 +0000
Received: from CY4PEPF0000FCC2.namprd03.prod.outlook.com
 (2603:10b6:510:2d2:cafe::4c) by PH8PR15CA0018.outlook.office365.com
 (2603:10b6:510:2d2::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 13:24:18 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000FCC2.mail.protection.outlook.com (10.167.242.104) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 13:24: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.35; Wed, 10 Apr
 2024 08:24:17 -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.35 via Frontend
 Transport; Wed, 10 Apr 2024 08:24:15 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a35b2c19-f73d-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FVijp9fzNXtFgdzpk89AQ+dU2QBslN7RXWqpEmEmZhNI2lXTVX8/g6UpNxoXTq6QlBQzhZp+9tOU5CSgw4DySvaub8rQj4wCUKjDD/FfoF3HW6lZ0VRkn94T1cZBP2Pkarqep9tFSSlIwEezZWGGvxgJJJLPiC6zHLo6zlzO/TckFz0sk1UHt7gYbHmL7HXnCR+TGB9V2TSx+j+M3nMaBM5YDL32RaayVzuL1XGyp830vUER4WvzxYKECSNkQsPEI6W+vHLzMibv1fEBmvx2W3fKA3oyJmBbVsQpRK/GiYxWhka0L9d2i4CXCa4iiEq4FHypMVHbiUIrr+29p47HYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zYI8i5pzAIr9hWphtaCpet18oeiaiNBVZUBjSOu4Qr8=;
 b=IJ/rsmg23GxBAq/VNgkLXJ+KJrOJ++IhnLCOw33L+1Mgtz3jbNWXtDA/P5eJ/El8/O+qDgGpXBSnDO+X7xieo2+sExetJLKCVDNHTxDvijN1Acc/bjDgdkeT/+ZG9Ev+/uH6LiJV92alFh739CrMYZLxXObMwv+iwvIrNJCkfD1ILdiEkKXYinpaFkjPebfG8Uqcr+qBZmDj1wVUoBrbgfoHCdQ1KIzLv+oDbQS8uZTBqemXVXkkQTG2Dhv6EBe2Yx5H1UphAAGgDB4H+akQjRApEpwwNPSLoj1pM79kR6uTnMB77K6VhUOl/z4cZNWT2xU7OVQMS42GRSXnl+9y3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=linaro.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=zYI8i5pzAIr9hWphtaCpet18oeiaiNBVZUBjSOu4Qr8=;
 b=LtUad1I9qwvSg1YLiyIwQADMcYCBwEo9Z8IafF/n4w3k++KkIDmdzkOBeKNotchxpXHnwzIRS9Bdv2vbVplTX6dhirmklP7MCO0wgeMOvjLA4QiNOGujCJaNMndUsqfC+jPMpJ4UGd5Kxte5KgWPmGIKF8QwBeMFDnIF7lJjAS4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <da2d2945-5d94-40e8-a632-6ea8cbf3bcb9@amd.com>
Date: Wed, 10 Apr 2024 15:24:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 4/5] xen/arm: allow dynamically assigned SGI
 handlers
To: Jens Wiklander <jens.wiklander@linaro.org>,
	<xen-devel@lists.xenproject.org>
CC: <patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-5-jens.wiklander@linaro.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240409153630.2026584-5-jens.wiklander@linaro.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: CY4PEPF0000FCC2:EE_|PH7PR12MB9102:EE_
X-MS-Office365-Filtering-Correlation-Id: e566e2df-c4b2-4fda-062d-08dc59618639
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d1u7Q5VB4r1ek8pPP2IJfhb2qk5htZrFMOQ7G2oudntme43OSmGNdFGrQd0dBJyFG+F29WmzRXUPa5R6BbVspK4SWqWmrouzEp2PBAsCnzCfJV/4TmaTBxN6UDXcwO/rNGl70zzZk4TVfvDuYJPErOVDGvi69DfyQoERXi4jHkg0IDEjzz1VxOBuZgXS6NLFkJRuj/elmihRj8CfrdB3c9NgV/aCihfjILuqLk5UrQumV2TdeaU49EH/BxKUmX73/ieHVWSUG9XrrBn8MGw/NnYS7l/bxuXWdKTpqvR7fv2XviMaxLFekr1P2UopsuSXzlPtaRZ3RCp/p0XBIGXQcf8ccrU91Ki8fPAaAX3x5BmHK87bRhZ0BiNf9wyTpL1Md8z4olQpvIscCuqHILE9T26/s7crocc0VyHvIMi+IwRsBVtHt+LdcVqbG+C/scFjxgiqlzIYBhtC1SILj457WQ1dGcTjhQyyutnCgSQUZH+F3walHP8YUvqpxzaanqZN5ttv94gL/A+0rHK09wYZIxfKE+/II2BS8WDUPtVErRDoh/dUEjFEbCUKrGkGzdZPl83L/QoJbm2bPBR1U9xczRsDEBb36kDcad5XEhQTfXooJet9ct+frfQ9taqXJtcYrzu22xFVD5EIjxc6HtWljn8hrP/dIM6mmihEEGrKCJ8e4YrIaR6zx3/nf12nftApPjpmeM2WMkyDRhe++yPiOBVwsv6RvQeRQMyirHe8CwSegBYDOxfckLXM25cbPjlx
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 13:24:17.7414
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e566e2df-c4b2-4fda-062d-08dc59618639
X-MS-Exchange-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:
	CY4PEPF0000FCC2.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9102

Hi Jens,

On 09/04/2024 17:36, Jens Wiklander wrote:
> 
> 
> Updates so request_irq() can be used with a dynamically assigned SGI irq
> as input.
At this point it would be handy to mention the use case for which you need to add this support

> 
> gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they have
> their type assigned earlier during boot
Could you elaborate more on that? Do you mean that SGIs are always edge triggered and there's no need
for setting the type?

> 
> gic_interrupt() is updated to route the dynamically assigned SGIs to
> do_IRQ() instead of do_sgi(). The latter still handles the statically
> assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.
> 
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Other than that, it LGTM:
Acked-by: Michal Orzel <michal.orzel@amd.com>

but I would like other maintainers (especially Julien) to cross check it.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 13:48:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 13:48:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703217.1098898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYJb-0000zp-PY; Wed, 10 Apr 2024 13:48:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703217.1098898; Wed, 10 Apr 2024 13:48:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYJb-0000zi-ML; Wed, 10 Apr 2024 13:48:39 +0000
Received: by outflank-mailman (input) for mailman id 703217;
 Wed, 10 Apr 2024 13:48:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lkb3=LP=gmail.com=mingo.kernel.org@srs-se1.protection.inumbo.net>)
 id 1ruYJa-0000zV-8v
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 13:48:38 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 078ef2fa-f741-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 15:48:36 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5176f217b7bso1105602e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 06:48:36 -0700 (PDT)
Received: from gmail.com (1F2EF1A5.nat.pool.telekom.hu. [31.46.241.165])
 by smtp.gmail.com with ESMTPSA id
 r4-20020a170906c28400b00a51e05711b9sm3000950ejz.166.2024.04.10.06.48.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 06:48: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
X-Inumbo-ID: 078ef2fa-f741-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712756916; x=1713361716; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qxMt7To/rBHmDe2wvrBGXvblS5dXRQ5rorH0JH8RPuc=;
        b=Z4uiLtjTKzwkLZM86Z74b7VLdaB6wpbb0b4qgkYA79SvYz+OUwrPHeIdd/r4cn4HLf
         Fg9knyL1PxOLwOOxPsoD1YYnKIzrOzdIs5rlS1Pz+tQn8eFd3NGWYr6WnQY+r1xft5pZ
         2XL/H8eG86658dmKsujivkBpJkC5bYYpyBi6hkGk5lP2WxiOpcMIfn6tn9L9866NWq3j
         Bo+0AZyeM81XR2BRAZ1nU8wWJ/zpbZzMOAyCNpIm6HOMFLlfeas9GFh2NkrRzr/cgibu
         AcLDJhAYnwMoiqgvlxjSb8nnNSUNBLovMbDRTrXYk21yl7i/iZJfr+i+SjAbmcqPJqNI
         LfOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712756916; x=1713361716;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qxMt7To/rBHmDe2wvrBGXvblS5dXRQ5rorH0JH8RPuc=;
        b=jHEYsmYySuxWnxl0+2KL+w9LgyMpgbtW2scmGA8htjoasnuGE9zYyd7Fomp19+FoF0
         IqU+WDveCubjY0uCRqFPI1Q3zVCQy8xNM8S6jBOEY1LB2DarM9ir6RuFqWgzyDEGQQp/
         gTnAtupcqk7NE7Hz6p5DR0wOORvCIxc7tLV4HSoHFYWPqU65zG/UU6lTNrmXEDhwlHIh
         1WqbfemI0UvtPndHPFOK+DHmThSsNyfwgA+mCuRD0V7S1Oh+RtJgpGFpWg8ML+/XWGcd
         8Mi4HqQ3NFIGfCMFPYp+d91KqagSsgwyoyKfu4d8C0hEpYpReDxpsHHr4wU38IFTFfm1
         UuvQ==
X-Forwarded-Encrypted: i=1; AJvYcCXuC/STF1dle8pmD9SzMtdkVHzarT/BeZTY7rvxgrsc3b54YcB7mH/n0Wq/KszW8dR1winkkNWzR1JF4ACl5F2KYTSdfcXcW8LKBpQRTBY=
X-Gm-Message-State: AOJu0YwwdIA5bsE10z6FdthPIZK70mY9unh3Fgr4HUL8dNJwGIjg+qSy
	/Wjgikkghl+CrLAkhPQC2vSlqyBVUPHPQo3mqVeuyfBpm38LC+QD
X-Google-Smtp-Source: AGHT+IEErt20UxgtbjOl4ueyBisjAY86VNz0NmfPKw3ecyVWn1dIbIAdmu9rplzuE6lr9Riq7Vho2Q==
X-Received: by 2002:a05:6512:6c4:b0:515:cf42:117b with SMTP id u4-20020a05651206c400b00515cf42117bmr2813343lff.60.1712756915606;
        Wed, 10 Apr 2024 06:48:35 -0700 (PDT)
Sender: Ingo Molnar <mingo.kernel.org@gmail.com>
Date: Wed, 10 Apr 2024 15:48:32 +0200
From: Ingo Molnar <mingo@kernel.org>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	xen-devel@lists.xenproject.org,
	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>, Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: Re: [PATCH] x86/pat: fix W^X violation false-positives when running
 as Xen PV guest
Message-ID: <ZhaYsAuhhqomQUWT@gmail.com>
References: <20240409094712.21285-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240409094712.21285-1-jgross@suse.com>


* Juergen Gross <jgross@suse.com> wrote:

> When running as Xen PV guest in some cases W^X violation WARN()s have
> been observed. Those WARN()s are produced by verify_rwx(), which looks
> into the PTE to verify that writable kernel pages have the NX bit set
> in order to avoid code modifications of the kernel by rogue code.
> 
> As the NX bits of all levels of translation entries are or-ed and the
> RW bits of all levels are and-ed, looking just into the PTE isn't enough
> for the decision that a writable page is executable, too. When running
> as a Xen PV guest, kernel initialization will set the NX bit in PMD
> entries of the initial page tables covering the .data segment.
> 
> When finding the PTE to have set the RW bit but no NX bit, higher level
> entries must be looked at. Only when all levels have the RW bit set and
> no NX bit set, the W^X violation should be flagged.
> 
> Additionally show_fault_oops() has a similar problem: it will issue the
> "kernel tried to execute NX-protected page" message only if it finds
> the NX bit set in the leaf translation entry, while any NX bit in
> non-leaf entries are being ignored for issuing the message.
> 
> Modify lookup_address_in_pgd() to return the effective NX and RW bit
> values of the non-leaf translation entries and evaluate those as well
> in verify_rwx() and show_fault_oops().

Ok, this fix makes sense, as that's how the hardware works and we interpret 
the pagetables poorly.

> Fixes: 652c5bf380ad ("x86/mm: Refuse W^X violations")
> Reported-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  arch/x86/include/asm/pgtable_types.h |  2 +-
>  arch/x86/kernel/sev.c                |  3 +-
>  arch/x86/mm/fault.c                  |  7 ++--
>  arch/x86/mm/pat/set_memory.c         | 56 +++++++++++++++++++++-------
>  arch/x86/virt/svm/sev.c              |  3 +-
>  5 files changed, 52 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
> index 0b748ee16b3d..91ab538d3872 100644
> --- a/arch/x86/include/asm/pgtable_types.h
> +++ b/arch/x86/include/asm/pgtable_types.h
> @@ -565,7 +565,7 @@ static inline void update_page_count(int level, unsigned long pages) { }
>   */
>  extern pte_t *lookup_address(unsigned long address, unsigned int *level);
>  extern pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
> -				    unsigned int *level);
> +				    unsigned int *level, bool *nx, bool *rw);
>  extern pmd_t *lookup_pmd_address(unsigned long address);
>  extern phys_addr_t slow_virt_to_phys(void *__address);
>  extern int __init kernel_map_pages_in_pgd(pgd_t *pgd, u64 pfn,

Please introduce a new lookup_address_in_pgd_attr() function or so, which 
is used by code intentionally.

This avoids changing the arch/x86/kernel/sev.c and arch/x86/virt/svm/sev.c 
uses, that retrieve these attributes but don't do anything with them:

> diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
> index 38ad066179d8..adba581e999d 100644
> --- a/arch/x86/kernel/sev.c
> +++ b/arch/x86/kernel/sev.c
> @@ -516,12 +516,13 @@ static enum es_result vc_slow_virt_to_phys(struct ghcb *ghcb, struct es_em_ctxt
>  	unsigned long va = (unsigned long)vaddr;
>  	unsigned int level;
>  	phys_addr_t pa;
> +	bool nx, rw;
>  	pgd_t *pgd;
>  	pte_t *pte;
>  
>  	pgd = __va(read_cr3_pa());
>  	pgd = &pgd[pgd_index(va)];
> -	pte = lookup_address_in_pgd(pgd, va, &level);
> +	pte = lookup_address_in_pgd(pgd, va, &level, &nx, &rw);
>  	if (!pte) {
>  		ctxt->fi.vector     = X86_TRAP_PF;
>  		ctxt->fi.cr2        = vaddr;
> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
> index 622d12ec7f08..eb8e897a5653 100644
> --- a/arch/x86/mm/fault.c
> +++ b/arch/x86/mm/fault.c
> @@ -514,18 +514,19 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code, unsigned long ad
>  
>  	if (error_code & X86_PF_INSTR) {
>  		unsigned int level;
> +		bool nx, rw;
>  		pgd_t *pgd;
>  		pte_t *pte;
>  
>  		pgd = __va(read_cr3_pa());
>  		pgd += pgd_index(address);
>  
> -		pte = lookup_address_in_pgd(pgd, address, &level);
> +		pte = lookup_address_in_pgd(pgd, address, &level, &nx, &rw);
>  
> -		if (pte && pte_present(*pte) && !pte_exec(*pte))
> +		if (pte && pte_present(*pte) && (!pte_exec(*pte) || nx))
>  			pr_crit("kernel tried to execute NX-protected page - exploit attempt? (uid: %d)\n",
>  				from_kuid(&init_user_ns, current_uid()));
> -		if (pte && pte_present(*pte) && pte_exec(*pte) &&
> +		if (pte && pte_present(*pte) && pte_exec(*pte) && !nx &&
>  				(pgd_flags(*pgd) & _PAGE_USER) &&
>  				(__read_cr4() & X86_CR4_SMEP))
>  			pr_crit("unable to execute userspace code (SMEP?) (uid: %d)\n",

This should be a separate patch - as it might change observed behavior.

> diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
> index 80c9037ffadf..baa4dc4748e9 100644
> --- a/arch/x86/mm/pat/set_memory.c
> +++ b/arch/x86/mm/pat/set_memory.c
> @@ -619,7 +619,8 @@ static inline pgprot_t static_protections(pgprot_t prot, unsigned long start,
>   * Validate strict W^X semantics.
>   */
>  static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long start,
> -				  unsigned long pfn, unsigned long npg)
> +				  unsigned long pfn, unsigned long npg,
> +				  bool nx, bool rw)
>  {
>  	unsigned long end;
>  
> @@ -641,6 +642,10 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
>  	if ((pgprot_val(new) & (_PAGE_RW | _PAGE_NX)) != _PAGE_RW)
>  		return new;
>  
> +	/* Non-leaf translation entries can disable writing or execution. */
> +	if (!rw || nx)
> +		return new;
> +
>  	end = start + npg * PAGE_SIZE - 1;
>  	WARN_ONCE(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
>  		  (unsigned long long)pgprot_val(old),
> @@ -660,17 +665,22 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
>   * Return a pointer to the entry and the level of the mapping.
>   */
>  pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
> -			     unsigned int *level)
> +			     unsigned int *level, bool *nx, bool *rw)
>  {
>  	p4d_t *p4d;
>  	pud_t *pud;
>  	pmd_t *pmd;
>  
>  	*level = PG_LEVEL_NONE;
> +	*nx = false;
> +	*rw = true;
>  
>  	if (pgd_none(*pgd))
>  		return NULL;
>  
> +	*nx |= pgd_flags(*pgd) & _PAGE_NX;
> +	*rw &= pgd_flags(*pgd) & _PAGE_RW;
> +
>  	p4d = p4d_offset(pgd, address);
>  	if (p4d_none(*p4d))
>  		return NULL;
> @@ -679,6 +689,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  	if (p4d_leaf(*p4d) || !p4d_present(*p4d))
>  		return (pte_t *)p4d;
>  
> +	*nx |= p4d_flags(*p4d) & _PAGE_NX;
> +	*rw &= p4d_flags(*p4d) & _PAGE_RW;
> +
>  	pud = pud_offset(p4d, address);
>  	if (pud_none(*pud))
>  		return NULL;
> @@ -687,6 +700,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  	if (pud_leaf(*pud) || !pud_present(*pud))
>  		return (pte_t *)pud;
>  
> +	*nx |= pud_flags(*pud) & _PAGE_NX;
> +	*rw &= pud_flags(*pud) & _PAGE_RW;
> +
>  	pmd = pmd_offset(pud, address);
>  	if (pmd_none(*pmd))
>  		return NULL;
> @@ -695,6 +711,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>  	if (pmd_leaf(*pmd) || !pmd_present(*pmd))
>  		return (pte_t *)pmd;
>  
> +	*nx |= pmd_flags(*pmd) & _PAGE_NX;
> +	*rw &= pmd_flags(*pmd) & _PAGE_RW;
> +
>  	*level = PG_LEVEL_4K;
>  

This should be a separate preparatory patch that also introduces the new 
method - without changing any behavior.

  	return pte_offset_kernel(pmd, address);
> @@ -710,18 +729,24 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>   */
>  pte_t *lookup_address(unsigned long address, unsigned int *level)
>  {
> -	return lookup_address_in_pgd(pgd_offset_k(address), address, level);
> +	bool nx, rw;
> +
> +	return lookup_address_in_pgd(pgd_offset_k(address), address, level,
> +				     &nx, &rw);
>  }
>  EXPORT_SYMBOL_GPL(lookup_address);
>  
>  static pte_t *_lookup_address_cpa(struct cpa_data *cpa, unsigned long address,
> -				  unsigned int *level)
> +				  unsigned int *level, bool *nx, bool *rw)
>  {
> -	if (cpa->pgd)
> -		return lookup_address_in_pgd(cpa->pgd + pgd_index(address),
> -					       address, level);
> +	pgd_t *pgd;
> +
> +	if (!cpa->pgd)
> +		pgd = pgd_offset_k(address);
> +	else
> +		pgd = cpa->pgd + pgd_index(address);
>  
> -	return lookup_address(address, level);
> +	return lookup_address_in_pgd(pgd, address, level, nx, rw);

I think it would be better to split out this change as well into a separate 
patch. It changes the flow from lookup_address_in_pgd() + lookup_address() 
to only use lookup_address_in_pgd(), which is an identity transformation 
that should be better done separately.

>  }
>  
>  /*
> @@ -849,12 +874,13 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
>  	pgprot_t old_prot, new_prot, req_prot, chk_prot;
>  	pte_t new_pte, *tmp;
>  	enum pg_level level;
> +	bool nx, rw;
>  
>  	/*
>  	 * Check for races, another CPU might have split this page
>  	 * up already:
>  	 */
> -	tmp = _lookup_address_cpa(cpa, address, &level);
> +	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>  	if (tmp != kpte)
>  		return 1;
>  
> @@ -965,7 +991,8 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
>  	new_prot = static_protections(req_prot, lpaddr, old_pfn, numpages,
>  				      psize, CPA_DETECT);
>  
> -	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages);
> +	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages,
> +			      nx, rw);
>  
>  	/*
>  	 * If there is a conflict, split the large page.
> @@ -1046,6 +1073,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
>  	pte_t *pbase = (pte_t *)page_address(base);
>  	unsigned int i, level;
>  	pgprot_t ref_prot;
> +	bool nx, rw;
>  	pte_t *tmp;
>  
>  	spin_lock(&pgd_lock);
> @@ -1053,7 +1081,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
>  	 * Check for races, another CPU might have split this page
>  	 * up for us already:
>  	 */
> -	tmp = _lookup_address_cpa(cpa, address, &level);
> +	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>  	if (tmp != kpte) {
>  		spin_unlock(&pgd_lock);
>  		return 1;
> @@ -1594,10 +1622,11 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
>  	int do_split, err;
>  	unsigned int level;
>  	pte_t *kpte, old_pte;
> +	bool nx, rw;
>  
>  	address = __cpa_addr(cpa, cpa->curpage);
>  repeat:
> -	kpte = _lookup_address_cpa(cpa, address, &level);
> +	kpte = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>  	if (!kpte)
>  		return __cpa_process_fault(cpa, address, primary);
>  
> @@ -1619,7 +1648,8 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
>  		new_prot = static_protections(new_prot, address, pfn, 1, 0,
>  					      CPA_PROTECT);
>  
> -		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1);
> +		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1,
> +				      nx, rw);
>  
>  		new_prot = pgprot_clear_protnone_bits(new_prot);

And then this should be the final patch, which fixes RWX verification 
within the CPA code.

Thanks,

	Ingo


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 13:55:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 13:55:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703303.1098907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYPo-0003Ha-Gw; Wed, 10 Apr 2024 13:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703303.1098907; Wed, 10 Apr 2024 13:55:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYPo-0003HT-Dx; Wed, 10 Apr 2024 13:55:04 +0000
Received: by outflank-mailman (input) for mailman id 703303;
 Wed, 10 Apr 2024 13:55:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Wol=LP=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruYPm-0003FI-UZ
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 13:55:02 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec56e5cf-f741-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 15:55:00 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-416a8ec0239so10552475e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 06:55:00 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t7-20020a05600c198700b00416c160ff88sm2378404wmq.1.2024.04.10.06.54.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 06: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: ec56e5cf-f741-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712757300; x=1713362100; 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=mZIA6m6jMVARV50mGP6l13RB67dMJdaB5b9QrDrXt7o=;
        b=LIlgPCobYiWpNEPQiuT5rClbLe1SUtMzCVe3CrYrNbZGv8phiuqUkFnk2O/NVYVhgG
         K2yn6Sno/BZQWCCq3O8RflCUZoznk2Y/LOX7vGX1gpULz3/ukiQjKGq30sJ6CBNsKG1e
         b9FsET8t8lZYM20uNmM7RxxaTHxiGTEu8CCTs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712757300; x=1713362100;
        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=mZIA6m6jMVARV50mGP6l13RB67dMJdaB5b9QrDrXt7o=;
        b=F3zgA7XVYjy09ZwItN1T5i18TKB8lD7L6R2STre+aoMMw+pk95ktdIiGxU6zhy1wdT
         DrokjZfIWxgbKSg14Z0cX60UbCq0HR54r32wLC2iAQFoy2g2iiRjA72eYWtjJxTBOKs6
         6Jpxe9LHdbAzhjkfmNnj+1ouV8M7RsGgPV5Lkj9rGDnDSjKU3ygvIuJvMfvEcs8eDhyl
         jXTe1rE/vRD9jb7ga9g7SAzaToHcnac/OMEelk0eh9qR0Skxf5wfrlEr9kSMafSDdrT0
         h/yRNS9A6WH6Uy/slTIVCCt6DXyUkKUwDxfF62vCsG+lWsQf7VGg/X+vWXrDGbbsWF2z
         JZvg==
X-Gm-Message-State: AOJu0YxO92D39kCv+laVJgcI+9YEl/zccB5PSIY8Cm5d0Q74amDbZNjX
	Ldx6l1BCM8LUzvhuMt1tahURz3uJrPEzjnRDYmbV5en+FtyrXP6A468xu+cepQcujjnCYPZ/9uz
	v
X-Google-Smtp-Source: AGHT+IGt1CFAk0TFtOPyjYyKU6ONOS5iIserIMQY/YztpyF8wmk5CCy3FFakDBG0xwuib8jkB42nAQ==
X-Received: by 2002:a05:600c:474e:b0:416:3deb:e3ef with SMTP id w14-20020a05600c474e00b004163debe3efmr2364194wmo.1.1712757300091;
        Wed, 10 Apr 2024 06:55:00 -0700 (PDT)
Date: Wed, 10 Apr 2024 14:54:58 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 4/5] x86: Use getopt to handle command line args
Message-ID: <d5928474-c6ce-40d4-a7f2-ab7d46730891@perard>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-5-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240405121128.260493-5-fouad.hilly@cloud.com>

On Fri, Apr 05, 2024 at 01:11:27PM +0100, Fouad Hilly wrote:
> diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> index 1edcebfb9f9c..9bde991c5df5 100644
> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -11,6 +11,7 @@
>  #include <sys/stat.h>
>  #include <fcntl.h>
>  #include <xenctrl.h>
> +#include <getopt.h>
>  
>  static xc_interface *xch;
>  
> @@ -20,7 +21,10 @@ static const char   amd_id[] = "AuthenticAMD";
>  static void usage(const char *name)
>  {
>      printf("%s: Xen microcode updating tool\n"
> -            "Usage: %s [<microcode file> | show-cpu-info]\n"
> +            "Usage: %s [<microcode file> | --show-cpu-info]\n"

This look like a change worth mentioning to users, can we add something
in the CHANGELOG to say "show-cpu-info" is no longer an option and
users/admin should use "--show-cpu-info" instead?

> +            "\n"
> +            "  -h, --help            display this help and exit\n"
> +            "  -s, --show-cpu-info   show CPU information and exit\n"
>              "\n"
>              , name, name);
>  }
> @@ -82,9 +86,16 @@ static void show_curr_cpu(FILE *f)
>  int main(int argc, char *argv[])
>  {
>      int fd, ret;
> -    char *filename, *buf;
> +    char *filename = NULL, *buf;
>      size_t len;
>      struct stat st;
> +    int opt;
> +
> +    const static struct option options[] = {
> +        {"help", no_argument, NULL, 'h'},
> +        {"show-cpu-info", no_argument, NULL, 's'},
> +        {NULL, no_argument, NULL, 0}
> +    };
>  
>      xch = xc_interface_open(NULL, NULL, 0);
>      if ( xch == NULL )
> @@ -94,20 +105,33 @@ int main(int argc, char *argv[])
>          exit(1);
>      }
>  
> -    if ( argc < 2 )
> +    if ( argc != 2 )

This is overly restrictive, and doesn't need to be, especially when this
patch introduces the use of getopt_long().

> +        goto ext_err;
> +
> +    while ( (opt = getopt_long(argc, argv, "hs:", options, NULL)) != -1 )

`-s` requires an argument but `--show-cpu-info`, looks there's an extra
':' in the `optstring`, it should read "hs", not "hs:".

>      {
> -        usage(argv[0]);
> -        show_curr_cpu(stderr);
> -        exit(2);
> +        switch (opt)
> +        {
> +            case 'h':
> +                usage(argv[0]);
> +                exit(EXIT_SUCCESS);
> +            case 's':
> +                if ( argc > 2 )

Why is `-s` only allowed alone? What if want to include some other
option like "--json" to print the cpu-info in a different format?

I think one way to deal with this would be to record the fact that we
want to display the cpu information, and after the getopt_long() loop,
check that they are no more arguments. (Check out `optind` in the man page)

> +                    goto ext_err;
> +                show_curr_cpu(stdout);
> +                exit(EXIT_SUCCESS);
> +            default:
> +                goto ext_err;
> +        }
>      }
>  
> -    if ( !strcmp(argv[1], "show-cpu-info") )
> +    filename = argv[1];



> +    if ( filename == NULL )
>      {
> -        show_curr_cpu(stdout);
> -        return 0;
> +        printf("File name error\n");
> +        goto ext_err;
>      }
>  
> -    filename = argv[1];
>      fd = open(filename, O_RDONLY);
>      if ( fd < 0 )
>      {
> @@ -149,4 +173,9 @@ int main(int argc, char *argv[])
>      close(fd);
>  
>      return 0;
> +
> +ext_err:
> +    usage(argv[0]);
> +    show_curr_cpu(stderr);

Why is show_curr_cpu() called on an error path?

> +    exit(STDERR_FILENO);

STDERR_FILENO isn't an exit code, it's a file descriptor.


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:00:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:00:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703307.1098918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYUd-0004YZ-VG; Wed, 10 Apr 2024 14:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703307.1098918; Wed, 10 Apr 2024 14:00: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 1ruYUd-0004Y5-SO; Wed, 10 Apr 2024 14:00:03 +0000
Received: by outflank-mailman (input) for mailman id 703307;
 Wed, 10 Apr 2024 14: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=7FY1=LP=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruYUc-00048F-3a
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:00:02 +0000
Received: from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com
 [2607:f8b0:4864:20::f35])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e7ba5dc-f742-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 16:00:00 +0200 (CEST)
Received: by mail-qv1-xf35.google.com with SMTP id
 6a1803df08f44-69b236a942dso22804496d6.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 07:00:00 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 iw9-20020a0562140f2900b0069b1e9df4f8sm2722362qvb.55.2024.04.10.06.59.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 06:59:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e7ba5dc-f742-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712757599; x=1713362399; 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=CzcqJTKtdG23TG9FbHR+xZsnTTlqt4yuyLCdXAGVsXA=;
        b=NKEe52AFe0bflg1VOyYG6zTvu3HadGzbsdmgRfHBvnwhxN9ep+V6XtXyOFNnQA2fIK
         E1HkqWOfVCBGKekq3wrIbUM2PJcOwClY1AKW8sTnjhHuHqRpCytrOms/TIYd2N7U+vIM
         7lpt+b3+ZweW9j65nvmjvgbh2NDMhvzPvT66I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712757599; x=1713362399;
        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=CzcqJTKtdG23TG9FbHR+xZsnTTlqt4yuyLCdXAGVsXA=;
        b=EiCd2uErGkFayFEaXkLO3LygbVo/CQA2LVsV7t0V9F5+/XSydqOd/Sdm5Nq+2sUfEm
         0TFyfmxOnAhwvScCvCoYz4GpTUmmYnYQYCbnOCqAc+9JRAMlCkrvhd4Ht+fi8X6fnqrO
         ZqM73D+R45fFUlUYHWgE27g4IVgfsRMX9VtgIvv47wUqxkY+SIveP/FkaUEHHxY2DPrG
         M7hhbL8KOnbw/z6u8DQouQXysNi/DMH/W39YR31lSe+s0ThOV/FIZZAgpl5yfyMl7jSC
         WspOOKre1O7K9Ri0kivvatkQWpuhgMTQSNVPN62d/7iu7GvTIQZPT5Pt+RW8KfhAGUh3
         SWCA==
X-Forwarded-Encrypted: i=1; AJvYcCWpo4Yq71JuQbIPFQlreVrWc4P3+gSDb/GDgVGr8aJEJVb2l8QFf2+arJKeOZtQOop7QmCCsKW29+K1jaqoc/H8N2b4mHvvQxqTJxmI5Gw=
X-Gm-Message-State: AOJu0Yz1OO6e6i6tiw8mZbjMHRc54vjvnev1qfY5IVPYtOwiRwcuYaSu
	U/O37/EzT/h0+hQhwMLG9oV71P4yxid3vVNIO7blmJjaz3otyPSoEZWwzKwktAY=
X-Google-Smtp-Source: AGHT+IFcLcQfbTBtN/FUZODwx1ZdUULQTwLLgswMWlw0OTevzreEGKJ4pc8RKP4P434D2pubaLfQIQ==
X-Received: by 2002:ad4:5e8d:0:b0:691:67f9:16e7 with SMTP id jl13-20020ad45e8d000000b0069167f916e7mr4816390qvb.24.1712757598829;
        Wed, 10 Apr 2024 06:59:58 -0700 (PDT)
Date: Wed, 10 Apr 2024 15:59:56 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org,
	Konrad Rzeszutek Wilk <konrad@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] MAINTAINERS: Update livepatch maintainers
Message-ID: <ZhabXICHcLm8y1nW@macbook>
References: <20240409103208.1641887-1-ross.lagerwall@citrix.com>
 <ZhVpIxhOjeRhYflW@char.us.oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZhVpIxhOjeRhYflW@char.us.oracle.com>

On Tue, Apr 09, 2024 at 12:13:23PM -0400, Konrad Rzeszutek Wilk wrote:
> On Tue, Apr 09, 2024 at 11:32:07AM +0100, Ross Lagerwall wrote:
> > Remove Konrad from the livepatch maintainers list as he hasn't been
> > active for a few years.
> > At the same time, add Roger as a new maintainer since he has been
> > actively working on it for a while.
> > 
> > Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> 
> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> 
> Thank you for picking it up!

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

Thanks for your work on this Konrad.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:08:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:08:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703314.1098928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYco-00060Z-Ob; Wed, 10 Apr 2024 14:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703314.1098928; Wed, 10 Apr 2024 14:08:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYco-00060S-Ko; Wed, 10 Apr 2024 14:08:30 +0000
Received: by outflank-mailman (input) for mailman id 703314;
 Wed, 10 Apr 2024 14: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=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ruYcn-00060M-06
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:08:29 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2611::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ccf64c23-f743-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 16:08:27 +0200 (CEST)
Received: from AM6PR08CA0011.eurprd08.prod.outlook.com (2603:10a6:20b:b2::23)
 by PA6PR08MB10624.eurprd08.prod.outlook.com (2603:10a6:102:3d2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.53; Wed, 10 Apr
 2024 14:08:24 +0000
Received: from AMS1EPF00000049.eurprd04.prod.outlook.com
 (2603:10a6:20b:b2:cafe::e3) by AM6PR08CA0011.outlook.office365.com
 (2603:10a6:20b:b2::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 14:08:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000049.mail.protection.outlook.com (10.167.16.133) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 14:08:24 +0000
Received: ("Tessian outbound 5ad6c4395be7:v300");
 Wed, 10 Apr 2024 14:08:23 +0000
Received: from 9fd9624a4f18.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 95663788-0E67-46E8-B942-FC4E34D3A80D.1; 
 Wed, 10 Apr 2024 14:08:13 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9fd9624a4f18.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 14:08:13 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU2PR08MB7360.eurprd08.prod.outlook.com (2603:10a6:10:2f3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.40; Wed, 10 Apr
 2024 14:08:05 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 14:08:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccf64c23-f743-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=N3a/xfIG6ZnJGM+GNqxw0f8CZWpCgMuuWT8KLDMcz+NphEPyWBs9VrLDuZrmP2I9JiTsEty0PS3rVOY3mcGGBrC+Uf087sRr+EboK6y0z9vH9E9up8NTiedGuSpMKb3eG5+heUwZ8ciIrtfedDr1sb5mPwBTAZfcwhWZfx8e51SEar6W5bKLg+gE266eafzavo8B15WWEZDTnZEdm9F/YLJGKJUXPXfyAfm5BiP4js3djl85/8ST7PIqyFZxgbfFuG7NJcaUe0lpQFX/VMZpoliB1Yjjkk8v9SqBv+wxcuNUADEBlUhAKVa4Mc0V28RThCk4Z4w0zrslHI/Tffg/9Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ltsPFWhJLxKQAabjmdEhyDMnVaRfWXK24rj3aHIp5FU=;
 b=oXSgdWcM3tUX1vMJ5E/LUi10uzdgADK/ZWbBF9SRszE6fdEdHsLn8BUoBHdtalCj5roVfm4Lw4vAb5dFl/E+UDP2P/caidSNVqLm2SjiZRCjVDeLzjErfW2TKBpSZt9xcGLYnz636/ZTnGGmqZh6Loih1hRO7ZVgb/tabShyYOF6VYQzf97K6FgG97Mlx8b4ScqcmekK79Vb08KNcL6fwjAytqKkx/kNkHZeQoulra6OwANAIBghTttlI0FkDAcLKrHlDeJhyMLhQnTBdZroDGiI5X7HzlatuxQzLGcXNrLulvzYLGahbxQbvsPUtBnDH4AHDOUXFaT7Xqq36eZZsw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ltsPFWhJLxKQAabjmdEhyDMnVaRfWXK24rj3aHIp5FU=;
 b=ah3scvPY3Clj9aMDfrOOkhAmRr4goSfrVNfxsasmyccwQfa+I5966loNa9VCAEr2yTYLjyVUgdRiE/PBRxEEjMVzB9ltC3vm8ZDby7VrOLtCw+39TMaLcDjA92V4Aq6dd65uBqckW+naBQEhKvfAb2rtPR6q7sRd/WZiyDoiwJQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 29b33a97734fda7a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N/J2D10s15aAfFWh6lS341EJHzN0nycYtwZvzThIHEE4+0mj16C3MBDWARb7oPXu9PmZDiHWETFok1FDRot0dZBzMiiwRi5vh8MDuDPfaAydioGa/m4WwuMalby1LnYT/Ju1TRW31bztjJE+Z5r+T9/4O3wBcxL+9U9HuZjcE0AFH3PujA4KQ5QndMbhtBqibUYYTlmP7sR4hpUd0QytjE1DiZ3S8w81g9U/QsPNhRPUcg626rAVi6SoDjsHpBlK2MSBo48RrbcaURAfj38D2pdyE/MDjfal3zdg8Pc52qZnfm2dKF/aC0anlcOFpE8xu6Nf0TM+eSOifSzG70171g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ltsPFWhJLxKQAabjmdEhyDMnVaRfWXK24rj3aHIp5FU=;
 b=PyciLrR5d3NpGsDL1bjeXv4RDcvBp5OPwkF+D0FMrM29CRIYuur/UVsH23axc87Z7WunhQEGhi2dEG9pr7lIIkxA6JsQXjkEFNBd+JASsv1IrOA2quKc4pgWnClPn2L1fi6aQxqs+4zeEbkrRz5YkK9v246iRHcpeF3G50XWthXXvP7MTWlzit1vXDLgBfjeS7JOOI5ax2qnibmI5KDkzYJ6Go69c/26Nu1Yop59M0bTZm7IinjL6he2lWHGVekJujXKWneJxKk7Lydw8BefGTElI8cF0i60ZCK67IIhKmjmZ+xlgDYigYtoRng6rxnvWkGejHx4GsmJ0wVF8Zfm0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ltsPFWhJLxKQAabjmdEhyDMnVaRfWXK24rj3aHIp5FU=;
 b=ah3scvPY3Clj9aMDfrOOkhAmRr4goSfrVNfxsasmyccwQfa+I5966loNa9VCAEr2yTYLjyVUgdRiE/PBRxEEjMVzB9ltC3vm8ZDby7VrOLtCw+39TMaLcDjA92V4Aq6dd65uBqckW+naBQEhKvfAb2rtPR6q7sRd/WZiyDoiwJQ=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 10/13] xen/arm: remove shm holes from extended regions
Thread-Topic: [PATCH v2 10/13] xen/arm: remove shm holes from extended regions
Thread-Index: AQHainORNadX2Zn/QkSGO7PTdS59ZLFhXAaAgAAwCoA=
Date: Wed, 10 Apr 2024 14:08:05 +0000
Message-ID: <B92FBADE-8FB8-471F-AD6E-693FC5C1D91A@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-11-luca.fancellu@arm.com>
 <38281ab3-0680-44d3-8c81-14b09d52680b@amd.com>
In-Reply-To: <38281ab3-0680-44d3-8c81-14b09d52680b@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU2PR08MB7360:EE_|AMS1EPF00000049:EE_|PA6PR08MB10624:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 CuUgHr6+G6iQy3ytLlDK63IY6QpE6LKKVu3YYBcUyQBzIf5G1VJVuQ0m32wRLxPgriSeUxqx+hFiWia06kKx3oOwdsZTjfndXrxK2nPVpTTzTMBDNbBQvybjYAOxd/OwdsXwIqOskiY433jA73vKIAgQnjqe/EJsqIDuO42/5H50sJkx/X2EY7g2V/CxmgtdShAPhMVv3k1SB/0/a7Nbc8vXRNV2VsEyPthgGork9wdumhXlAscBERAoUKkXfWarHepgcWKHwV2IDc+1JhYF7u8g6GmllKu14uP/Wq0QmxyMPlWOq0ccuY5+PgQwtrl4BO2n3VitTHEwPLJmjS48zre3tJv9bf7YfNEjFHgjGCzSc3/xalLxWu5SBBVUTsvceL44Vm1DmucLOcO8xEuHax7txEBvSYmVun9Rk9srR7tkbBFVKOdCOJsFxsVkYsGyHj+ctppWsf9XKreD+EhXehCwYc68vkhmyVfFnwxIBbVGbV8y6kRI3AIa8OB0mCgSJWdBqWkX8rfzTqi+ABe72QuJrevTK7nrxJzYSTJ5fcUC2Ii8VxoDUJ5pU1EmOdP5Q+aVsbhR7SRmG9vJJIZrZIjsdCMXMNkoABVy9RlOlU4865jAdhvoRm2Sim0tG1bZZZXY6yoh21rhMihH1M95gmjmYScA3Ugw7GFUrFYnNtc=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9D5486F28A0D8A4FBAC2B37041563FD4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7360
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF00000049.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ffb3e206-10e0-4f51-3471-08dc5967af87
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kZfqZDSgUPcG8jOHPqNz80cVbsk2pwgHX7TXDLL1zkjfwMql0DaT2hn0x0YFByuqZ7BieyR0cgcF/gPLmdcNjVS8eMATi0G3ylnLTclWwTAmEkJ7zCNNofLRb5nG2oxrdyk5Z9mCHWnzw2fIi9LLAUU3AxGDJbyAx99I91d6dkn8RBPMfq42PNXgEn10qRphT8GcGJRe5ZF0DJuTdBtwPHB5XeARNmp2O86sFyaPz6Fwnsn5MVmMYvoaC2ouuLsmdjQSZSjCHmZHigsfX3u0uxANuMpwlN+uUnoxHaZmITOSCvpGuO7r2KMn2qYdMa4QO13eypfZkezsOtc23UvdiCAALu22k38WvShv3HsN9sMKbs0T89671JelOd5JrqSayZP6GhbnpvSBn0o3HGQdFmPI+e7rOiFgguPKgDWHr03FEjcOod0Kc0YNGeyv2SmJo1sXtAE8wRUw8IFrNKeqQ6bNx8DZ9liVImCf4Ct94V9lPxqKM5MuGM9ihLLh6Gy3TjVfSm8UWoisXAIDrYAFtaDOY32efGVp744q8QVzptkEL4nN+AFkDp7HdLHShBlsbhq2LX1soqYz5JKI+R0XKZQLbPS+qzRbWlQyXoa2/GzG1hOVwSVl3TvNkjFVFLlYBjcbjqqy5tBWQzCZjqGt16K718Tlgf1SfBbAjupCJEiYKeMPY2N7kyVUOk9vF9nGWXtt6aoIjDkVypjCayRNemj/Y6/hCoRboTnWj7Q+LvM4oDx+pI57Bo4Pkdvqpioh
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 14:08:24.0676
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ffb3e206-10e0-4f51-3471-08dc5967af87
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF00000049.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10624

Hi Michal,

>>=20
>> For direct-map domain with iommu on, after we get guest shm info from "k=
info",
>> we use "remove_shm_from_rangeset" to remove static shm.
>>=20
>> For direct-map domain with iommu off, as static shm has already been tak=
en
>> care of through reserved memory banks, we do nothing.
> Stale info given that shmem is no longer part of reserved memory banks. I=
t's been taken care
> of by removing shmem regions in find_unallocated_memory()

Sure, will amend for this:

>>=20
>> +int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
>> +                                    struct rangeset *rangeset)
>> +{
>> +    const struct membanks *shm_mem =3D &kinfo->shm_mem.common;
>> +    unsigned int i;
>> +
>> +    /* Remove static shared memory regions */
>> +    for ( i =3D 0; i < shm_mem->nr_banks; i++ )
>> +    {
>> +        paddr_t start, end;
>> +        int res;
>> +
>> +        start =3D shm_mem->bank[i].start;
>> +        end =3D shm_mem->bank[i].start + shm_mem->bank[i].size - 1;
> If you look at other rangeset_remove_range use cases and error messages, =
1 is subtracted
> in PFN_DOWN() so that the error message contains end unchanged. Please ad=
here to that so that
> printed messages are consistent.

Yes I will change it to have -1 inside PFN_DOWN(), here and in the other oc=
currences
>>=20
>> +    /* Remove static shared memory regions */
>> +    res =3D remove_shm_from_rangeset(kinfo, guest_holes);
>> +    if ( res )
>> +        goto out;
>> +
> Could you please add a comment explaining here what's done below?

Is it ok something like this:

/*
 * Take the interval of memory starting from the first extended region bank
 * start address and ending to the end of the last extended region bank.
 * The interval will be passed to rangeset_report_ranges to allow it to
 * create, by the add_ext_regions callback, a set of extended memory region
 * banks from the guest_holes rangeset, which contains the original extende=
d
 * memory region ranges where the static shared memory ranges are carved
 * out.
 */

>> +    i =3D ext_regions->nr_banks - 1;
>> +    start =3D ext_regions->bank[0].start;
>> +    end =3D ext_regions->bank[i].start + ext_regions->bank[i].size - 1;
>> +
>> +    /* Reset original extended regions to hold new value */
>> +    ext_regions->nr_banks =3D 0;
>> +    res =3D rangeset_report_ranges(guest_holes, PFN_DOWN(start), PFN_DO=
WN(end),
>> +                                 add_ext_regions, ext_regions);
>> +    if ( res )
>> +        ext_regions->nr_banks =3D 0;
>> +    else if ( !ext_regions->nr_banks )
>> +        res =3D -ENOENT;
>> +
>> + out:
>> +    rangeset_destroy(guest_holes);
>> +
>> +    return res;
>> +}
>> +
>> /*
>>  * Local variables:
>>  * mode: C
>> --
>> 2.34.1
>>=20
>=20
> ~Michal
>=20

Cheers,
Luca=


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:13:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:13:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703325.1098938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYhH-0007Ws-7m; Wed, 10 Apr 2024 14:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703325.1098938; Wed, 10 Apr 2024 14:13:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYhH-0007Wl-58; Wed, 10 Apr 2024 14:13:07 +0000
Received: by outflank-mailman (input) for mailman id 703325;
 Wed, 10 Apr 2024 14:13:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ruYhF-0007Wf-VC
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:13:05 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2606::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71c6ba83-f744-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 16:13:03 +0200 (CEST)
Received: from DU6P191CA0065.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:53e::27)
 by AM9PR08MB5907.eurprd08.prod.outlook.com (2603:10a6:20b:2da::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.53; Wed, 10 Apr
 2024 14:13:01 +0000
Received: from DU2PEPF00028D08.eurprd03.prod.outlook.com
 (2603:10a6:10:53e:cafe::90) by DU6P191CA0065.outlook.office365.com
 (2603:10a6:10:53e::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 14:13:01 +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.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 14:13:01 +0000
Received: ("Tessian outbound e26069fc76b9:v300");
 Wed, 10 Apr 2024 14:13:01 +0000
Received: from c70380364e75.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FD9C9D44-A379-47C6-94BC-C4D009882C24.1; 
 Wed, 10 Apr 2024 14:12:55 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c70380364e75.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 14:12:55 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV1PR08MB7347.eurprd08.prod.outlook.com (2603:10a6:150:22::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 14:12:52 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 14:12:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71c6ba83-f744-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=CBqFvqeLBL6syF2LUqVWjWwnw9Dwm3U5eSKHDDr68UbJaO3ayL7ps8g1EVEYl29RNrYK+1o6XBGoJykw2fsLzfy3D49OxCA0Yq5bdyo2xS6350eCOc987pGOt6GCKBVQvMXN6Yz47AHLV24QXAApC256rOnwTt70PwEbzd9h5p/8unJSnI7P5qGNe3pRh0C/unFOgZGZP269wrLyS2rbCoyOUSJ5YO58Sj7tr2DGn5kd26lTMdrlMuHiSy/7IpZlo8WjKdNHH7kAvEiQvT+JVtt5oyHVMbD0fQgzAgrkW9596swgx1vqMigsDOj10nA+OgC5WmMNSymDdvDN2r4uRA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XMIAwGnV1HFDgviNHDJR3yXbIfYL3DSik9WPIyo0vrM=;
 b=Y9B4H+1m9I0eHfK4tCZJYCgG+GMGArFUoXpckYM0sBSMguhjRwcNzolHoLFR/oBPXRc3uyzFYbC0ls53gZ2hxLlK6cjO4Vg3FsMI8fhuxGeCgaNeiKiUaLKYF6G8J+zd8hCUEaIFrqSQuTdnBV1uRWBAFKsJqxxwVe0rs/6bdOALLRmjV4Mjl6DedWN8VXVw9o125gUzjluBFZTHtNdUNu8qXmet3/hoZlLq3XD233SqTIHvmSri8i5r0AOwSXS5mMYiMl1rUReYNCYEGtbWYXIaHUSIAdDZRLFtTGragCNfDULNwpDC/rplaWd12Lpy1Wtylqs9AtFJmyIm5XtXvw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XMIAwGnV1HFDgviNHDJR3yXbIfYL3DSik9WPIyo0vrM=;
 b=Q3Oz5z5ZZ4KBFj7Y1Z1pUIWqWryBmBF6jYY/0vJ9lvQYZ5tFyTEd67XGo6Y7YTEcCucypjrIlFu9K1OAC3Kg4G+5ZSixxSAlsVx8hEXucrSCLCOzJvJQDH2eB+Z5jygaIW2hyU0kQK7jN8ukeC7lG8D9P+S9vXbXwdlQ8Xkuz8Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7923f4667f956716
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hhkjj0+h2yOQZWQuvqq7NP+MKrud/ZzbQmN6e4KK4C8lEONi23G2JIH/e2tM9PJ1OE0ixY9cixJNJHkY0O6bYD2HYFw4cXEOGG3XtdA+1R4v4xLNQxs7KxdV20fBUrZfIgpQcS0Zr1DqLTQut+OtEhIt/cM23a/TQ4tx5P1g47ZaSgl2+SJ54Dwkp70MJl350o861ILxJMyB9lmFyZzQB1iJi+fjbWZa+Itva6uokTxkVLYyFAkITBTL6J59u9wFkcpcKzH6RmyyWNcvj5zsEpgmwhz0i5zlagBfUGlx4K1xJsFoDwTYLvIa3pnbOajTZjwFOd+tNy9g6uqrc4tXRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XMIAwGnV1HFDgviNHDJR3yXbIfYL3DSik9WPIyo0vrM=;
 b=dpVOqhubAZbe+stq41MC7qOhhDLUUfb3we65Sul1UVgqPUzVyyo9Rl7WRZ14GiDVcsjDNJrtRHkKD+SKdzbqMG6AxkbZWRgddUEdzB3yDGwqaqOgDpJy5z73+4vUbrpfWr+y85boHVPkH/qJkv5GIRxlSP/fE0E/WZ+bpV3KSrJGsSIwff9dVr3unk5mhA+Jkf7E4yuJSDDn38OdoA6dOEBnOxc9Gq9v6bP69HTCF0vFHn66cXS23jMjFuoZqnxjtyXXi4gwVnkTBHpeF0z7gLXoBsFsUrfooclxtosOu3A9Xd9XFCeWK4C6UGRW4s9nmvBfenzhf8D3atysph0rXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XMIAwGnV1HFDgviNHDJR3yXbIfYL3DSik9WPIyo0vrM=;
 b=Q3Oz5z5ZZ4KBFj7Y1Z1pUIWqWryBmBF6jYY/0vJ9lvQYZ5tFyTEd67XGo6Y7YTEcCucypjrIlFu9K1OAC3Kg4G+5ZSixxSAlsVx8hEXucrSCLCOzJvJQDH2eB+Z5jygaIW2hyU0kQK7jN8ukeC7lG8D9P+S9vXbXwdlQ8Xkuz8Q=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 10/13] xen/arm: remove shm holes from extended regions
Thread-Topic: [PATCH v2 10/13] xen/arm: remove shm holes from extended regions
Thread-Index: AQHainORNadX2Zn/QkSGO7PTdS59ZLFhXAaAgAAxYAA=
Date: Wed, 10 Apr 2024 14:12:52 +0000
Message-ID: <933424A0-627F-428E-8A32-6CB3F2839294@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-11-luca.fancellu@arm.com>
 <38281ab3-0680-44d3-8c81-14b09d52680b@amd.com>
In-Reply-To: <38281ab3-0680-44d3-8c81-14b09d52680b@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV1PR08MB7347:EE_|DU2PEPF00028D08:EE_|AM9PR08MB5907:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 agKByOfIb47W9zJ4+fts7Nr8WOYuQnHCAv5ceVuTwRIaFj2wmBi2DeWm2+YVuQxEfiyOS1fSrKwMgDhn3MA37icR8xjw/zaeY0vTl4bH1NnDan/FO3y8YyqkGcoVNvFyS3l0RRmkodIMa8zt32huA2I9EnnR+2N/4+DLGb/tpPEZ4wBmnp17KwCmSfwcyDZ1hp92SyK5tJc9y5PT6/o9pDR9CYrldZyUrOVaSySWQr5b03qyGQ8zIe9y4ufr/3IltqQuT/cICvHc7PRVbLepTKZrszYg41tz0qOF+GHFtaKb/xl+bwpLPzZ4/jPdfUuV4Vcg7DSVDpj2eB0lfU5A3Pw++oj7HUk/UT3UCEfFo+EjVowh0AW8qpcvSioBdZUgldUgHxyG0XeB7JLbadi6mPJs6/ObgpIzffMvurIprDtc4yfbm+4LlKC2XFlSXJVkNmTRryXfHI5cKyd1lS5qNFN0IndYZcWGxEaThvBznovhDHrcD84c7AbZYdlPlk3MwQeTgFd0ytsQIJfaYFZORbjRKES/yhxKGFm9l0NbSkrkFj3Mr3eYKBD/uc0E+uZcLlSFucUc52BH7i0E6Rd4/zDFBOGtAwzvu9rbwAXUb0MTz6wg/tq7EyGI1Vk2XEYlPv2jjLhsdWR1MoJpVDNzCW6DOphdASakCCkI1Ss+wpk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="utf-8"
Content-ID: <98343E42A1B53D45A662E05994533671@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7347
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D08.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: b47e7dbc-4c05-4fab-db3e-08dc596854c6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pAeGBXpePTp2adWLw0JTopqqR3QJ6mdjGRiam+/SfBGg6r2nl1WToy7ubL8K8Crw34b3htf8w0Vos7NMnmQgZEC2i9HdrLkqdlASgZTUfI1Z4GwfmiFjpu/vJuDZLgfdqSoaekGROZzGn2tt1R9FN3fixeJdgWUejmTijC+Ut0hb3eV3blxhdW7DdfsEeenfb1MR1fH4SMfOGyBR7du7Yl4CM1wBSc4J1bDIhuxgnW6hD1S8dy3EnzsTUgXALbAzOWe7IwZeRwmSPqbiq9AgabGd2L7iY3CS76hFSEfWzz/GbPCK/qQzc7bEcbkgHop7Ho53UB0u2M8Rwm9oaf9p4TjyyNiMk0xDY2yPrwm3MCUIJVzaM/mlLSoFvYPjFYlVYcYOjCZW3ADMiuYwPo1kn2Vuy7CE6L2pbm8IBPBqavsrFNdrS1FBctGkqovOw2UjCrErosyRqlUHjOZ6jjN31lPqcCE7pLROo2uLoZcdA1Yb99tQgO3BETl57/si9y+icP7nTMjHIpGJy9PdYg+BqwBMYyg8vKz/Z8bWxhL8MeYtM4f8UBZ5vCcz6LgZglL1sVfnMVuMtEiscFA3oAudUiLA/xmCnS3B3kG7Hb+Zo2tq2Dq3wQy1Da+4QBWSo0R0tkxg0tcP/xfuxI0o/mL7Jd33H4ue7d76hNs2vQl2oQQOk9kekQ8CNMWMUeNVGnkjYIM1jLgxZ3fzu3XmLWtfqlceCW0PL+RBjwbRgj/ltu34keKlP+BQa156+jK5Ok7T
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 14:13:01.3557
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b47e7dbc-4c05-4fab-db3e-08dc596854c6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AM9PR08MB5907

DQpIaSBNaWNoYWwsDQoNCg0KPj4gDQo+PiBGb3IgZGlyZWN0LW1hcCBkb21haW4gd2l0aCBpb21t
dSBvZmYsIGFzIHN0YXRpYyBzaG0gaGFzIGFscmVhZHkgYmVlbiB0YWtlbg0KPj4gY2FyZSBvZiB0
aHJvdWdoIHJlc2VydmVkIG1lbW9yeSBiYW5rcywgd2UgZG8gbm90aGluZy4NCj4gU3RhbGUgaW5m
byBnaXZlbiB0aGF0IHNobWVtIGlzIG5vIGxvbmdlciBwYXJ0IG9mIHJlc2VydmVkIG1lbW9yeSBi
YW5rcy4gSXQncyBiZWVuIHRha2VuIGNhcmUNCj4gb2YgYnkgcmVtb3Zpbmcgc2htZW0gcmVnaW9u
cyBpbiBmaW5kX3VuYWxsb2NhdGVkX21lbW9yeSgpDQoNClNvcnJ5LCBpbiB0aGUgcHJldmlvdXMg
bWFpbCBpdCBkaWRu4oCZdCBwYXN0ZSBteSBwcm9wb3NlZCBmaXg6DQoNCkZvciBkaXJlY3QtbWFw
IGRvbWFpbiB3aXRoIGlvbW11IG9mZiwgYXMgc3RhdGljIHNobSBoYXMgYWxyZWFkeSBiZWVuIHRh
a2VuDQpjYXJlIG9mIHRocm91Z2ggZmluZF91bmFsbG9jYXRlZF9tZW1vcnksIHdlIGRvIG5vdGhp
bmcuDQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:13:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:13:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703328.1098947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYhh-00081t-II; Wed, 10 Apr 2024 14:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703328.1098947; Wed, 10 Apr 2024 14:13:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYhh-00081m-FX; Wed, 10 Apr 2024 14:13:33 +0000
Received: by outflank-mailman (input) for mailman id 703328;
 Wed, 10 Apr 2024 14:13:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Fu/Z=LP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ruYhg-0007wz-OD
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:13:32 +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 8289abe4-f744-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 16:13:31 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a46ea03c2a5so1120693466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 07:13:31 -0700 (PDT)
Received: from ?IPV6:2003:e5:8705:9b00:4df1:9dd5:4f97:24a?
 (p200300e587059b004df19dd54f97024a.dip0.t-ipconnect.de.
 [2003:e5:8705:9b00:4df1:9dd5:4f97:24a])
 by smtp.gmail.com with ESMTPSA id
 l15-20020a170906414f00b00a519de61bebsm6998316ejk.137.2024.04.10.07.13.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Apr 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: 8289abe4-f744-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712758411; x=1713363211; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=vDpK/3WQjVbeikam+hAfuyMA1XIDGJ8Ln1Tz+atruM0=;
        b=XVsfk7PpEJ6TQIcjF4vL08B613ET4+s01Cjl8JCyOwF6FZXJcl7WO1Jwsw0TN93Vzf
         nsA19xLz6seDCiJSBVTOE/b6+qktZv+k3GNQn1lmK94Vy4aDQ1KBvWe9z9eH0uK2vYPi
         /v1p7YLCbT7kMjn3Lf5pTswyQ3DbwlZNpzei7kyXOLDRaemA7Y2+E4yzv/kPdIs1ovgd
         gkhn5ZMOGoP3S/yjBVt5UzqCa5aDeY8mu4DLe66n/e/bKSk19KPFGSxq7lszdAyLF6eS
         Nn5/A/AieqSYlc28fJoLa2qYS71I2wvnESNDgjtmnUNdgfkJ6dB4E6hvBQgJgXyJSwBD
         t4EA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712758411; x=1713363211;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vDpK/3WQjVbeikam+hAfuyMA1XIDGJ8Ln1Tz+atruM0=;
        b=pipqu3GgsR6ZEc/OChr5N3i4cZaiG47BpA+J1PuFEoxytcLs+2OPxP+1yphUp1PaNj
         3Bvhul8ZNMAjvogxXzOW3s1UFGq9q/bqSi5+b0G6rIuZfkt1EUUurd36Hp6t5WmwMJ3j
         6EmC3Eqf3mQo3aAqE2WkyxAteBNF9IG0tTE13xXnxFAseZhFVERofrkYHnOqrTnhTlqX
         1zs0i06wix2EDCN4k/LBOQqOy7nTO13H1EuBwmQe6AXywkz+Y7hGjd9D7FAvjZNpXuI/
         CncVL9fhNtUuVhDubckaxzlO7UmYtuCzUvJy4Lxxg/zAvQXw/hZ8UvR3MUCfMwdWziet
         mntA==
X-Forwarded-Encrypted: i=1; AJvYcCW0OySAgjA0zOtvsfvFNxO+NfWzcRuCmTr2L9KeGjY5JsirxF4MFUofhER1dwumBt+vx/hf3hcZScIq3b+u+NrxJMj8lqbnmhTO6DHSdzU=
X-Gm-Message-State: AOJu0Yy4emapS+X17cVZ5w9R6SpaVC5ofrwRKhGoe6N06hfv7Xyv8nyi
	97Ar1GVi0BWTx8EDJmuXWWcZ8HcZlwDwqabgYQDxQ0MrciuDtQz/+NGGZLCxv0Q=
X-Google-Smtp-Source: AGHT+IG//o2hSrl1V8BVIIurZsctw3ES6spYWYRLuk2P/pNTWjV+L9bcGgL69go/rwrLf1sT4SSsfg==
X-Received: by 2002:a17:906:3b9b:b0:a4f:193e:9600 with SMTP id u27-20020a1709063b9b00b00a4f193e9600mr5028138ejf.18.1712758410890;
        Wed, 10 Apr 2024 07:13:30 -0700 (PDT)
Message-ID: <78018558-35d9-41de-947d-3b0a2c72b616@suse.com>
Date: Wed, 10 Apr 2024 16:13:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/pat: fix W^X violation false-positives when running
 as Xen PV guest
Content-Language: en-US
To: Ingo Molnar <mingo@kernel.org>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
 xen-devel@lists.xenproject.org, 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>,
 Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20240409094712.21285-1-jgross@suse.com>
 <ZhaYsAuhhqomQUWT@gmail.com>
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <ZhaYsAuhhqomQUWT@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10.04.24 15:48, Ingo Molnar wrote:
> 
> * Juergen Gross <jgross@suse.com> wrote:
> 
>> When running as Xen PV guest in some cases W^X violation WARN()s have
>> been observed. Those WARN()s are produced by verify_rwx(), which looks
>> into the PTE to verify that writable kernel pages have the NX bit set
>> in order to avoid code modifications of the kernel by rogue code.
>>
>> As the NX bits of all levels of translation entries are or-ed and the
>> RW bits of all levels are and-ed, looking just into the PTE isn't enough
>> for the decision that a writable page is executable, too. When running
>> as a Xen PV guest, kernel initialization will set the NX bit in PMD
>> entries of the initial page tables covering the .data segment.
>>
>> When finding the PTE to have set the RW bit but no NX bit, higher level
>> entries must be looked at. Only when all levels have the RW bit set and
>> no NX bit set, the W^X violation should be flagged.
>>
>> Additionally show_fault_oops() has a similar problem: it will issue the
>> "kernel tried to execute NX-protected page" message only if it finds
>> the NX bit set in the leaf translation entry, while any NX bit in
>> non-leaf entries are being ignored for issuing the message.
>>
>> Modify lookup_address_in_pgd() to return the effective NX and RW bit
>> values of the non-leaf translation entries and evaluate those as well
>> in verify_rwx() and show_fault_oops().
> 
> Ok, this fix makes sense, as that's how the hardware works and we interpret
> the pagetables poorly.

Thanks for confirmation that my approach is sane.

> 
>> Fixes: 652c5bf380ad ("x86/mm: Refuse W^X violations")
>> Reported-by: Jason Andryuk <jandryuk@gmail.com>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>>   arch/x86/include/asm/pgtable_types.h |  2 +-
>>   arch/x86/kernel/sev.c                |  3 +-
>>   arch/x86/mm/fault.c                  |  7 ++--
>>   arch/x86/mm/pat/set_memory.c         | 56 +++++++++++++++++++++-------
>>   arch/x86/virt/svm/sev.c              |  3 +-
>>   5 files changed, 52 insertions(+), 19 deletions(-)
>>
>> diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
>> index 0b748ee16b3d..91ab538d3872 100644
>> --- a/arch/x86/include/asm/pgtable_types.h
>> +++ b/arch/x86/include/asm/pgtable_types.h
>> @@ -565,7 +565,7 @@ static inline void update_page_count(int level, unsigned long pages) { }
>>    */
>>   extern pte_t *lookup_address(unsigned long address, unsigned int *level);
>>   extern pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>> -				    unsigned int *level);
>> +				    unsigned int *level, bool *nx, bool *rw);
>>   extern pmd_t *lookup_pmd_address(unsigned long address);
>>   extern phys_addr_t slow_virt_to_phys(void *__address);
>>   extern int __init kernel_map_pages_in_pgd(pgd_t *pgd, u64 pfn,
> 
> Please introduce a new lookup_address_in_pgd_attr() function or so, which
> is used by code intentionally.
> 
> This avoids changing the arch/x86/kernel/sev.c and arch/x86/virt/svm/sev.c
> uses, that retrieve these attributes but don't do anything with them:

Okay.

> 
>> diff --git a/arch/x86/kernel/sev.c b/arch/x86/kernel/sev.c
>> index 38ad066179d8..adba581e999d 100644
>> --- a/arch/x86/kernel/sev.c
>> +++ b/arch/x86/kernel/sev.c
>> @@ -516,12 +516,13 @@ static enum es_result vc_slow_virt_to_phys(struct ghcb *ghcb, struct es_em_ctxt
>>   	unsigned long va = (unsigned long)vaddr;
>>   	unsigned int level;
>>   	phys_addr_t pa;
>> +	bool nx, rw;
>>   	pgd_t *pgd;
>>   	pte_t *pte;
>>   
>>   	pgd = __va(read_cr3_pa());
>>   	pgd = &pgd[pgd_index(va)];
>> -	pte = lookup_address_in_pgd(pgd, va, &level);
>> +	pte = lookup_address_in_pgd(pgd, va, &level, &nx, &rw);
>>   	if (!pte) {
>>   		ctxt->fi.vector     = X86_TRAP_PF;
>>   		ctxt->fi.cr2        = vaddr;
>> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
>> index 622d12ec7f08..eb8e897a5653 100644
>> --- a/arch/x86/mm/fault.c
>> +++ b/arch/x86/mm/fault.c
>> @@ -514,18 +514,19 @@ show_fault_oops(struct pt_regs *regs, unsigned long error_code, unsigned long ad
>>   
>>   	if (error_code & X86_PF_INSTR) {
>>   		unsigned int level;
>> +		bool nx, rw;
>>   		pgd_t *pgd;
>>   		pte_t *pte;
>>   
>>   		pgd = __va(read_cr3_pa());
>>   		pgd += pgd_index(address);
>>   
>> -		pte = lookup_address_in_pgd(pgd, address, &level);
>> +		pte = lookup_address_in_pgd(pgd, address, &level, &nx, &rw);
>>   
>> -		if (pte && pte_present(*pte) && !pte_exec(*pte))
>> +		if (pte && pte_present(*pte) && (!pte_exec(*pte) || nx))
>>   			pr_crit("kernel tried to execute NX-protected page - exploit attempt? (uid: %d)\n",
>>   				from_kuid(&init_user_ns, current_uid()));
>> -		if (pte && pte_present(*pte) && pte_exec(*pte) &&
>> +		if (pte && pte_present(*pte) && pte_exec(*pte) && !nx &&
>>   				(pgd_flags(*pgd) & _PAGE_USER) &&
>>   				(__read_cr4() & X86_CR4_SMEP))
>>   			pr_crit("unable to execute userspace code (SMEP?) (uid: %d)\n",
> 
> This should be a separate patch - as it might change observed behavior.

Fine with me.

> 
>> diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
>> index 80c9037ffadf..baa4dc4748e9 100644
>> --- a/arch/x86/mm/pat/set_memory.c
>> +++ b/arch/x86/mm/pat/set_memory.c
>> @@ -619,7 +619,8 @@ static inline pgprot_t static_protections(pgprot_t prot, unsigned long start,
>>    * Validate strict W^X semantics.
>>    */
>>   static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long start,
>> -				  unsigned long pfn, unsigned long npg)
>> +				  unsigned long pfn, unsigned long npg,
>> +				  bool nx, bool rw)
>>   {
>>   	unsigned long end;
>>   
>> @@ -641,6 +642,10 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
>>   	if ((pgprot_val(new) & (_PAGE_RW | _PAGE_NX)) != _PAGE_RW)
>>   		return new;
>>   
>> +	/* Non-leaf translation entries can disable writing or execution. */
>> +	if (!rw || nx)
>> +		return new;
>> +
>>   	end = start + npg * PAGE_SIZE - 1;
>>   	WARN_ONCE(1, "CPA detected W^X violation: %016llx -> %016llx range: 0x%016lx - 0x%016lx PFN %lx\n",
>>   		  (unsigned long long)pgprot_val(old),
>> @@ -660,17 +665,22 @@ static inline pgprot_t verify_rwx(pgprot_t old, pgprot_t new, unsigned long star
>>    * Return a pointer to the entry and the level of the mapping.
>>    */
>>   pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>> -			     unsigned int *level)
>> +			     unsigned int *level, bool *nx, bool *rw)
>>   {
>>   	p4d_t *p4d;
>>   	pud_t *pud;
>>   	pmd_t *pmd;
>>   
>>   	*level = PG_LEVEL_NONE;
>> +	*nx = false;
>> +	*rw = true;
>>   
>>   	if (pgd_none(*pgd))
>>   		return NULL;
>>   
>> +	*nx |= pgd_flags(*pgd) & _PAGE_NX;
>> +	*rw &= pgd_flags(*pgd) & _PAGE_RW;
>> +
>>   	p4d = p4d_offset(pgd, address);
>>   	if (p4d_none(*p4d))
>>   		return NULL;
>> @@ -679,6 +689,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>>   	if (p4d_leaf(*p4d) || !p4d_present(*p4d))
>>   		return (pte_t *)p4d;
>>   
>> +	*nx |= p4d_flags(*p4d) & _PAGE_NX;
>> +	*rw &= p4d_flags(*p4d) & _PAGE_RW;
>> +
>>   	pud = pud_offset(p4d, address);
>>   	if (pud_none(*pud))
>>   		return NULL;
>> @@ -687,6 +700,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>>   	if (pud_leaf(*pud) || !pud_present(*pud))
>>   		return (pte_t *)pud;
>>   
>> +	*nx |= pud_flags(*pud) & _PAGE_NX;
>> +	*rw &= pud_flags(*pud) & _PAGE_RW;
>> +
>>   	pmd = pmd_offset(pud, address);
>>   	if (pmd_none(*pmd))
>>   		return NULL;
>> @@ -695,6 +711,9 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>>   	if (pmd_leaf(*pmd) || !pmd_present(*pmd))
>>   		return (pte_t *)pmd;
>>   
>> +	*nx |= pmd_flags(*pmd) & _PAGE_NX;
>> +	*rw &= pmd_flags(*pmd) & _PAGE_RW;
>> +
>>   	*level = PG_LEVEL_4K;
>>   
> 
> This should be a separate preparatory patch that also introduces the new
> method - without changing any behavior.

Okay.

> 
>    	return pte_offset_kernel(pmd, address);
>> @@ -710,18 +729,24 @@ pte_t *lookup_address_in_pgd(pgd_t *pgd, unsigned long address,
>>    */
>>   pte_t *lookup_address(unsigned long address, unsigned int *level)
>>   {
>> -	return lookup_address_in_pgd(pgd_offset_k(address), address, level);
>> +	bool nx, rw;
>> +
>> +	return lookup_address_in_pgd(pgd_offset_k(address), address, level,
>> +				     &nx, &rw);
>>   }
>>   EXPORT_SYMBOL_GPL(lookup_address);
>>   
>>   static pte_t *_lookup_address_cpa(struct cpa_data *cpa, unsigned long address,
>> -				  unsigned int *level)
>> +				  unsigned int *level, bool *nx, bool *rw)
>>   {
>> -	if (cpa->pgd)
>> -		return lookup_address_in_pgd(cpa->pgd + pgd_index(address),
>> -					       address, level);
>> +	pgd_t *pgd;
>> +
>> +	if (!cpa->pgd)
>> +		pgd = pgd_offset_k(address);
>> +	else
>> +		pgd = cpa->pgd + pgd_index(address);
>>   
>> -	return lookup_address(address, level);
>> +	return lookup_address_in_pgd(pgd, address, level, nx, rw);
> 
> I think it would be better to split out this change as well into a separate
> patch. It changes the flow from lookup_address_in_pgd() + lookup_address()
> to only use lookup_address_in_pgd(), which is an identity transformation
> that should be better done separately.

Okay.

> 
>>   }
>>   
>>   /*
>> @@ -849,12 +874,13 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
>>   	pgprot_t old_prot, new_prot, req_prot, chk_prot;
>>   	pte_t new_pte, *tmp;
>>   	enum pg_level level;
>> +	bool nx, rw;
>>   
>>   	/*
>>   	 * Check for races, another CPU might have split this page
>>   	 * up already:
>>   	 */
>> -	tmp = _lookup_address_cpa(cpa, address, &level);
>> +	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>>   	if (tmp != kpte)
>>   		return 1;
>>   
>> @@ -965,7 +991,8 @@ static int __should_split_large_page(pte_t *kpte, unsigned long address,
>>   	new_prot = static_protections(req_prot, lpaddr, old_pfn, numpages,
>>   				      psize, CPA_DETECT);
>>   
>> -	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages);
>> +	new_prot = verify_rwx(old_prot, new_prot, lpaddr, old_pfn, numpages,
>> +			      nx, rw);
>>   
>>   	/*
>>   	 * If there is a conflict, split the large page.
>> @@ -1046,6 +1073,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
>>   	pte_t *pbase = (pte_t *)page_address(base);
>>   	unsigned int i, level;
>>   	pgprot_t ref_prot;
>> +	bool nx, rw;
>>   	pte_t *tmp;
>>   
>>   	spin_lock(&pgd_lock);
>> @@ -1053,7 +1081,7 @@ __split_large_page(struct cpa_data *cpa, pte_t *kpte, unsigned long address,
>>   	 * Check for races, another CPU might have split this page
>>   	 * up for us already:
>>   	 */
>> -	tmp = _lookup_address_cpa(cpa, address, &level);
>> +	tmp = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>>   	if (tmp != kpte) {
>>   		spin_unlock(&pgd_lock);
>>   		return 1;
>> @@ -1594,10 +1622,11 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
>>   	int do_split, err;
>>   	unsigned int level;
>>   	pte_t *kpte, old_pte;
>> +	bool nx, rw;
>>   
>>   	address = __cpa_addr(cpa, cpa->curpage);
>>   repeat:
>> -	kpte = _lookup_address_cpa(cpa, address, &level);
>> +	kpte = _lookup_address_cpa(cpa, address, &level, &nx, &rw);
>>   	if (!kpte)
>>   		return __cpa_process_fault(cpa, address, primary);
>>   
>> @@ -1619,7 +1648,8 @@ static int __change_page_attr(struct cpa_data *cpa, int primary)
>>   		new_prot = static_protections(new_prot, address, pfn, 1, 0,
>>   					      CPA_PROTECT);
>>   
>> -		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1);
>> +		new_prot = verify_rwx(old_prot, new_prot, address, pfn, 1,
>> +				      nx, rw);
>>   
>>   		new_prot = pgprot_clear_protnone_bits(new_prot);
> 
> And then this should be the final patch, which fixes RWX verification
> within the CPA code.

Agreed.


Juergen



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:14:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:14:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703337.1098958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYif-0000LX-S9; Wed, 10 Apr 2024 14:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703337.1098958; Wed, 10 Apr 2024 14: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 1ruYif-0000LQ-Ot; Wed, 10 Apr 2024 14:14:33 +0000
Received: by outflank-mailman (input) for mailman id 703337;
 Wed, 10 Apr 2024 14:14: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=0Wol=LP=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruYie-0007Wf-2b
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:14:32 +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 a58cfc53-f744-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 16:14:30 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-416b66163a9so16170865e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 07:14:30 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gw9-20020a05600c850900b00416c990d650sm2407573wmb.28.2024.04.10.07.14.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 07:14: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: a58cfc53-f744-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712758470; x=1713363270; 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=7gLLf+Fm+o8svuDRuzCFMJnpRBjJr/TBMx/w9Ap41cg=;
        b=aAlLY3nPLPDKPq0WvHafdPVknEyzG/kBEr+4/Uorq9CWOZMb7yXstVZob1cz+UrIAG
         yGSMZqM4bkrSQGM9zCAP/2FQQSIVirCqcrD5rzu8BMoeyd6+mQglb0DdVVNXL2RTmmXV
         UFjIRa3MF+MTDrUZNQZsKbj+M+2HXs3EuMTmw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712758470; x=1713363270;
        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=7gLLf+Fm+o8svuDRuzCFMJnpRBjJr/TBMx/w9Ap41cg=;
        b=VQImCHBd3M+c/3LBuUyrI9WvdLJzo8cXJh3uNT1k7cogr51oWQAR8v9sUErkE4xy9F
         RTk8hnGyQDOKcRW0E8YUN+43WCfuz+EUWNYROFMvu0rJXa1wLyYoZ7SeZtUvtVMxu9e6
         x1CiniouoKv4NffYlLxJuSFaKaIQSN8TFjs24e/zTDVWxiJJcfESukHfa/FVIruFzaap
         L4tNzYfM0I9fRQ1SIiP1iS19RTtU6le+j/K9+B7pYAKODPCnwKUbq6CiYgWKkKyIkHyE
         lLRd6Nh+CSzSjgPQblY31N3NRiagtwgzkaI5fqwRnjumYtJoKv3Pi2KsUfF8cHmd2nDt
         xR7A==
X-Gm-Message-State: AOJu0YwGVJEh8+8pn8TQt379YUXkfnmtdin9tWOOquEvB/XjZMD2dyuT
	ZiJ/qC6CP5H/jF16f5exHRuUSaTvLxVD2twhQKQPswhf6aCBSk8xa84xGELPCT4=
X-Google-Smtp-Source: AGHT+IH8cTlGH3r3zM5iW8UhLJYXUXZ3P9P9xzqU2P8YwP8SBQtgHdH2xkjsp9tkJIEVSkSlmv9GfQ==
X-Received: by 2002:a05:600c:4e94:b0:416:3416:205 with SMTP id f20-20020a05600c4e9400b0041634160205mr2562944wmq.23.1712758469852;
        Wed, 10 Apr 2024 07:14:29 -0700 (PDT)
Date: Wed, 10 Apr 2024 15:14:29 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 5/5] x86: Add --force option to xen-ucode to override
 microcode version check
Message-ID: <f18c84db-a4d3-497b-adb7-67cc18b24973@perard>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-6-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240405121128.260493-6-fouad.hilly@cloud.com>

On Fri, Apr 05, 2024 at 01:11:28PM +0100, Fouad Hilly wrote:
> diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
> index 5ecdfa2c7934..edce45bc2a17 100644
> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -21,10 +23,11 @@ static const char   amd_id[] = "AuthenticAMD";
>  static void usage(const char *name)
>  {
>      printf("%s: Xen microcode updating tool\n"
> -            "Usage: %s [<microcode file> | --show-cpu-info]\n"
> +            "Usage: %s [[--force] <microcode file> | --show-cpu-info]\n"

How about "Usage: %s [OPTIONS..] [MICROCODE FILE]" ?

>              "\n"
>              "  -h, --help            display this help and exit\n"
>              "  -s, --show-cpu-info   show CPU information and exit\n"
> +            "  -f, --force           force to skip micorocde version check\n"

typo: microcode ;-)

>              "\n"
>              , name, name);
>  }
> @@ -89,11 +92,13 @@ int main(int argc, char *argv[])
>      char *filename = NULL, *buf;
>      size_t len;
>      struct stat st;
> +    uint32_t ucode_flag = XENPF_UCODE_FLAG_FORCE_NOT_SET;
>      int opt;
>  
>      const static struct option options[] = {
>          {"help", no_argument, NULL, 'h'},
>          {"show-cpu-info", no_argument, NULL, 's'},
> +        {"force", required_argument, NULL, 'f'},

This is weird, could you do without the argument?

It is weird because sometime "microcode file" is an argument of
"--force", sometime it is part of the rests of the options.

>          {NULL, no_argument, NULL, 0}
>      };
>  
> @@ -105,10 +110,10 @@ int main(int argc, char *argv[])
>          exit(1);
>      }
>  
> -    if ( argc != 2 )
> +    if ( argc < 2 || argc > 3)
>          goto ext_err;
>  
> -    while ( (opt = getopt_long(argc, argv, "hs:", options, NULL)) != -1 )
> +    while ( (opt = getopt_long(argc, argv, "hsf:", options, NULL)) != -1 )
>      {
>          switch (opt)
>          {
> @@ -120,12 +125,17 @@ int main(int argc, char *argv[])
>                      goto ext_err;
>                  show_curr_cpu(stdout);
>                  exit(EXIT_SUCCESS);
> +            case 'f':
> +            ucode_flag = XENPF_UCODE_FLAG_FORCE_SET;
> +                filename = optarg;
> +                break;
>              default:
>                  goto ext_err;
>          }
>      }
>  
> -    filename = argv[1];
> +    if ( argc == 2 )
> +        filename = argv[1];

Sometime we take filename from argv[1], sometime we don't? The logic is
going to be very confusing, takeout of context, only set `filename` from a
single place please.


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:28:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703348.1098967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYvS-000343-U4; Wed, 10 Apr 2024 14:27:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703348.1098967; Wed, 10 Apr 2024 14:27:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruYvS-00033w-RS; Wed, 10 Apr 2024 14:27:46 +0000
Received: by outflank-mailman (input) for mailman id 703348;
 Wed, 10 Apr 2024 14:27:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wd5r=LP=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruYvR-00033k-7V
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:27:45 +0000
Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com
 [2607:f8b0:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c233e02-f746-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 16:27:40 +0200 (CEST)
Received: by mail-oi1-x229.google.com with SMTP id
 5614622812f47-3c5f6b33f1bso699123b6e.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 07: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: 7c233e02-f746-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712759259; x=1713364059; 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=G2yMedaIYLKGhbMZ42+7cK9qLzGOqZZ8z+qhQpS0Xlg=;
        b=CSeGpNcyM8XTSYHtRgC9HxDD/RmsPhRWn53Y5BJuO+3N7qIO3Vkd/mKKX8anFF5VPj
         jpc+LWmRbeN/l3MvPHxOhNThJryykI8Mlbfuv3HQJNW4SDyaBrigMD5iWXYVmjPA+fdL
         JRXOaOKf4er7Xwpz5KJlTGZPE3PWKIM9d/xm/mRBOcJRTkmUsDCcRAV6+1egoyOTUVBt
         yDuuWfd2DXKgtzn6WvGDLpkGHzFwOHFD+0R1V/pwnb2IOa+B4svCVtEX4PXkrOMPBFbS
         UmXdvmzDj9t9V+hi48qaeO88nMXyZoc1Vf56TL+QovRJtuPO3EZatbYvifR3LjMfI/Qr
         iCNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712759259; x=1713364059;
        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=G2yMedaIYLKGhbMZ42+7cK9qLzGOqZZ8z+qhQpS0Xlg=;
        b=NfMmceNueY6wzhBtabITHpfCyk2JFqe+v46o+C3+gqhGK/wZR3shWthPlD/aqSmz4K
         Iamt5E3F8zteE+zwjXtGgJwgN+4NB+JlaBFd6wJvO+uam9AZs0dmtldxX0gCHgGlWTkG
         DDVBB6jsnw7O48pVOqP0RMsrzSynk8Xq9JHGs/TP3etoudPCgFR/O+64WHGOKSKs6pN6
         SJ7H82r6HtSCTjQe7dUJshZQlGszxy6MLCzpJiACoE9QnE0JpSRf9jIOCePJaO6Bjc+Z
         YBYmVEqHeBKbWqRc7RGAI2WmFhT/Yn1bDJe1klK/eHQht9a7inHytvMl3IlSqhvwzvts
         rEwQ==
X-Gm-Message-State: AOJu0YyhCc5Qt0NbG4+m/uJDDETud3WsusRMlFllrlMSla7EN2DKhbZ5
	mlyFYMgbOi31GfCZIglrj4Cd4arB4n/doQZ//ZVWl93+PpCUh+Vk1NK7q/iffcahBoW93ihlhaX
	uhoPPvGJUEfwEkrOW1+KVVAQ9qJWDJk6hvY+Qow==
X-Google-Smtp-Source: AGHT+IF4VwmLC3A00Y1O2YAiPU0Uw7QBzc3YJePsjzjvKhQlDZCQLhJpgvpvHjruJTsj4SxzKH2r4yf1oG76a+3xoz4=
X-Received: by 2002:a05:6870:414e:b0:232:fa39:1e2d with SMTP id
 r14-20020a056870414e00b00232fa391e2dmr966963oad.7.1712759259077; Wed, 10 Apr
 2024 07:27:39 -0700 (PDT)
MIME-Version: 1.0
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-6-jens.wiklander@linaro.org> <C9733F1F-E308-46D3-AC84-D4651B4D6723@arm.com>
In-Reply-To: <C9733F1F-E308-46D3-AC84-D4651B4D6723@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 10 Apr 2024 16:27:28 +0200
Message-ID: <CAHUa44H3=QsEkJ6RrBRS30ccaCbg3GQTYeVF+WpnvDk8qnzw=w@mail.gmail.com>
Subject: Re: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.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

On Wed, Apr 10, 2024 at 9:49=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 9 Apr 2024, at 17:36, Jens Wiklander <jens.wiklander@linaro.org> wro=
te:
> >
> > Add support for FF-A notifications, currently limited to an SP (Secure
> > Partition) sending an asynchronous notification to a guest.
> >
> > Guests and Xen itself are made aware of pending notifications with an
> > interrupt. The interrupt handler retrieves the notifications using the
> > FF-A ABI and deliver them to their destinations.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/Makefile      |   1 +
> > xen/arch/arm/tee/ffa.c         |  58 ++++++
> > xen/arch/arm/tee/ffa_notif.c   | 319 +++++++++++++++++++++++++++++++++
> > xen/arch/arm/tee/ffa_private.h |  71 ++++++++
> > 4 files changed, 449 insertions(+)
> > create mode 100644 xen/arch/arm/tee/ffa_notif.c
> >
> > diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> > index f0112a2f922d..7c0f46f7f446 100644
> > --- a/xen/arch/arm/tee/Makefile
> > +++ b/xen/arch/arm/tee/Makefile
> > @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
> > obj-$(CONFIG_FFA) +=3D ffa_shm.o
> > obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
> > obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
> > +obj-$(CONFIG_FFA) +=3D ffa_notif.o
> > obj-y +=3D tee.o
> > obj-$(CONFIG_OPTEE) +=3D optee.o
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 5209612963e1..ce9757bfeed1 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -39,6 +39,9 @@
> >  *   - at most 32 shared memory regions per guest
> >  * o FFA_MSG_SEND_DIRECT_REQ:
> >  *   - only supported from a VM to an SP
> > + * o FFA_NOTIFICATION_*:
> > + *   - only supports global notifications, that is, per vCPU notificat=
ions
> > + *     are not supported
> >  *
> >  * There are some large locked sections with ffa_tx_buffer_lock and
> >  * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> > @@ -194,6 +197,8 @@ out:
> >
> > static void handle_features(struct cpu_user_regs *regs)
> > {
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> >     uint32_t a1 =3D get_user_reg(regs, 1);
> >     unsigned int n;
> >
> > @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *=
regs)
> >         BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
> >         ffa_set_regs_success(regs, 0, 0);
> >         break;
> > +    case FFA_FEATURE_NOTIF_PEND_INTR:
> > +        if ( ctx->notif.enabled )
> > +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> > +        else
> > +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> > +        break;
> > +    case FFA_FEATURE_SCHEDULE_RECV_INTR:
> > +        if ( ctx->notif.enabled )
> > +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
>
> This should return the RECV_INTR, not the PEND one.

Thanks, I'll fix it.

>
> > +        else
> > +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> > +        break;
> > +
> > +    case FFA_NOTIFICATION_BIND:
> > +    case FFA_NOTIFICATION_UNBIND:
> > +    case FFA_NOTIFICATION_GET:
> > +    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);
> > +        break;
> >     default:
> >         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >         break;
> > @@ -305,6 +334,30 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
> >                                                      get_user_reg(regs,=
 1)),
> >                                    get_user_reg(regs, 3));
> >         break;
> > +    case FFA_NOTIFICATION_BIND:
> > +        e =3D ffa_handle_notification_bind(get_user_reg(regs, 1),
> > +                                         get_user_reg(regs, 2),
> > +                                         get_user_reg(regs, 3),
> > +                                         get_user_reg(regs, 4));
>
> I would suggest to pass regs and handle the get_user_regs in the function=
.

OK

>
> > +        break;
> > +    case FFA_NOTIFICATION_UNBIND:
> > +        e =3D ffa_handle_notification_unbind(get_user_reg(regs, 1),
> > +                                           get_user_reg(regs, 3),
> > +                                           get_user_reg(regs, 4));
>
> same here

OK

>
> > +        break;
> > +    case FFA_NOTIFICATION_INFO_GET_32:
> > +    case FFA_NOTIFICATION_INFO_GET_64:
> > +        ffa_handle_notification_info_get(regs);
> > +        return true;
> > +    case FFA_NOTIFICATION_GET:
> > +        ffa_handle_notification_get(regs);
> > +        return true;
> > +    case FFA_NOTIFICATION_SET:
> > +        e =3D ffa_handle_notification_set(get_user_reg(regs, 1),
> > +                                        get_user_reg(regs, 2),
> > +                                        get_user_reg(regs, 3),
> > +                                        get_user_reg(regs, 4));
>
> same here

OK

>
> > +        break;
> >
> >     default:
> >         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> > @@ -348,6 +401,9 @@ static int ffa_domain_init(struct domain *d)
> >     if ( !ffa_partinfo_domain_init(d) )
> >         return -EIO;
> >
> > +    if ( !ffa_notif_domain_init(d) )
> > +        return -ENOMEM;
>
> Having this function deciding on the return code is a bit weird.
> I would suggest to have ffa_notif_domain_init returning an int
> and deciding on the error code and this one just returning the
> error if !=3D0.
>
> If possible the same principle should be applied for the partinfo.

OK, I'll fix it.

>
> > +
> >     return 0;
> > }
> >
> > @@ -423,6 +479,7 @@ static int ffa_domain_teardown(struct domain *d)
> >         return 0;
> >
> >     ffa_rxtx_domain_destroy(d);
> > +    ffa_notif_domain_destroy(d);
> >
> >     ffa_domain_teardown_continue(ctx, true /* first_time */);
> >
> > @@ -502,6 +559,7 @@ static bool ffa_probe(void)
> >     if ( !ffa_partinfo_init() )
> >         goto err_rxtx_destroy;
> >
> > +    ffa_notif_init();
> >     INIT_LIST_HEAD(&ffa_teardown_head);
> >     init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, =
0);
> >
> > diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.=
c
> > new file mode 100644
> > index 000000000000..0173ee515362
> > --- /dev/null
> > +++ b/xen/arch/arm/tee/ffa_notif.c
> > @@ -0,0 +1,319 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * Copyright (C) 2024  Linaro Limited
> > + */
> > +
> > +#include <xen/const.h>
> > +#include <xen/list.h>
> > +#include <xen/spinlock.h>
> > +#include <xen/types.h>
> > +
> > +#include <asm/smccc.h>
> > +#include <asm/regs.h>
> > +
> > +#include "ffa_private.h"
> > +
> > +static bool __ro_after_init notif_enabled;
> > +
> > +int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
> > +                                 uint32_t bitmap_lo, uint32_t bitmap_h=
i)
> > +{
> > +    struct domain *d =3D current->domain;
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
>
> s/0xffff/0xFFFFU/

OK

>
> > +
> > +    if ( flags )    /* Only global notifications are supported */
> > +        return FFA_RET_DENIED;
> > +
> > +    /*
> > +     * We only support notifications from SP so no need to check the s=
ender
> > +     * endpoint ID, the SPMC will take care of that for us.
> > +     */
> > +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitm=
ap_hi,
> > +                           bitmap_lo);
> > +}
> > +
> > +int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_l=
o,
> > +                                   uint32_t bitmap_hi)
> > +{
> > +    struct domain *d =3D current->domain;
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
>
> s/0xffff/0xFFFFU/

OK

>
> > +
> > +    /*
> > +     * We only support notifications from SP so no need to check the
> > +     * destination endpoint ID, the SPMC will take care of that for us=
.
> > +     */
> > +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitma=
p_hi,
> > +                            bitmap_lo);
> > +}
> > +
> > +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    bool pending_global;
> > +
> > +    if ( !notif_enabled )
> > +    {
> > +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> > +        return;
> > +    }
> > +
> > +    spin_lock(&ctx->notif.lock);
> > +    pending_global =3D ctx->notif.secure_pending;
> > +    ctx->notif.secure_pending =3D false;
> > +    spin_unlock(&ctx->notif.lock);
> > +
> > +    if ( pending_global )
> > +    {
> > +        /* A pending global notification for the guest */
> > +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> > +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_=
vm_id(d),
> > +                     0, 0, 0, 0);
> > +    }
> > +    else
> > +    {
> > +        /* Report an error if there where no pending global notificati=
on */
> > +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> > +    }
> > +}
> > +
> > +void ffa_handle_notification_get(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    uint32_t recv =3D get_user_reg(regs, 1);
> > +    uint32_t flags =3D get_user_reg(regs, 2);
> > +    uint32_t w2 =3D 0;
> > +    uint32_t w3 =3D 0;
> > +    uint32_t w4 =3D 0;
> > +    uint32_t w5 =3D 0;
> > +    uint32_t w6 =3D 0;
> > +    uint32_t w7 =3D 0;
> > +
> > +    if ( !notif_enabled )
> > +    {
> > +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> > +        return;
> > +    }
> > +
> > +    if ( (recv & 0xffff) !=3D ffa_get_vm_id(d) )
> s/0xffff/0xFFFFU/

OK

>
> > +    {
> > +        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
> > +        return;
> > +    }
> > +
> > +    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SP=
M ) )
> > +    {
> > +        struct arm_smccc_1_2_regs arg =3D {
> > +            .a0 =3D FFA_NOTIFICATION_GET,
> > +            .a1 =3D recv,
> > +            .a2 =3D flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
> > +                            FFA_NOTIF_FLAG_BITMAP_SPM ),
> > +        };
> > +        struct arm_smccc_1_2_regs resp;
> > +        int32_t e;
> > +
> > +        arm_smccc_1_2_smc(&arg, &resp);
> > +        e =3D ffa_get_ret_code(&resp);
> > +        if ( e )
> > +        {
> > +            ffa_set_regs_error(regs, e);
> > +            return;
> > +        }
> > +
> > +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
> > +        {
> > +            w2 =3D resp.a2;
> > +            w3 =3D resp.a3;
> > +        }
> > +
> > +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
> > +            w6 =3D resp.a6;
> > +    }
> > +
> > +    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
> > +}
> > +
> > +int ffa_handle_notification_set(uint32_t src_dst, uint32_t flags,
> > +                                uint32_t bitmap_lo, uint32_t bitmap_hi=
)
> > +{
> > +    struct domain *d =3D current->domain;
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
>
> This needs some checking as i would have used the lowest bits here
> for the source and not the highest. The spec is using the same descriptio=
n
> for all ABIs so I am wondering if you are not using the destination inste=
ad of
> the source here.

This is a bit tricky because not all ABI functions define Sender and
Receiver in the same way. For FFA_NOTIFICATION_BIND it's the Sender
and Receiver of the notification, while for instance,
FFA_MSG_SEND_DIRECT_REQ defines it as the Sender and Receiver of the
message.

When the Hypervisor invokes FFA_NOTIFICATION_SET it's the Sender and
Receiver of the notification, that is, the guest is the same as the
sender of the notification. So the guest ID should go into BIT[31:16],
and the receiver of the notification in BIT[15:0].

When the guest invokes FFA_NOTIFICATION_SET the Hypervisor is
requested to signal notifications to the Sender endpoint BIT[31:16].
What's expected in BIT[15:0] isn't mentioned so I assume the
Hypervisor should ignore it since it already knows the guest ID.

Following that analysis, we should replace the if statement above with:
src_dst =3D ((uint32_t)ffa_get_vm_id(d) << 16) | (src_dst >> 16)

But I'm not certain I've understood the specification correctly, in
particular the part where the guest invokes FFA_NOTIFICATION_SET.

What's your take on this?

I don't use this function in my tests so it's perhaps better to wait
with the implementation of this function until it's used.

>
> > +
> > +    /*
> > +     * We only support notifications from SP so no need to check the s=
ender
> > +     * endpoint ID, the SPMC will take care of that for us.
> > +     */
> > +    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitma=
p_lo,
> > +                           bitmap_hi);
> > +}
> > +
>
> The following function would deserve some explanation in a comment
> to clear up a bit what is done here and why.

I'll add a description.

>
> > +static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
> > +                                 unsigned int n)
> > +{
> > +    unsigned int ids_per_reg;
> > +    unsigned int reg_idx;
> > +    unsigned int reg_shift;
> > +
> > +    if ( smccc_is_conv_64(resp->a0) )
> > +        ids_per_reg =3D 4;
> > +    else
> > +        ids_per_reg =3D 2;
> > +
> > +    reg_idx =3D n / ids_per_reg + 3;
> > +    reg_shift =3D ( n % ids_per_reg ) * 16;
> > +
> > +    switch ( reg_idx )
> > +    {
> > +    case 3:
> > +        return resp->a3 >> reg_shift;
> > +    case 4:
> > +        return resp->a4 >> reg_shift;
> > +    case 5:
> > +        return resp->a5 >> reg_shift;
> > +    case 6:
> > +        return resp->a6 >> reg_shift;
> > +    case 7:
> > +        return resp->a7 >> reg_shift;
> > +    default:
> > +        ASSERT(0); /* "Can't happen" */
> > +        return 0;
> > +    }
> > +}
> > +
> > +static void notif_irq_handler(int irq, void *data)
> > +{
> > +    const struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +    unsigned int id_pos;
> > +    unsigned int list_count;
> > +    uint64_t ids_count;
> > +    unsigned int n;
> > +    int32_t res;
> > +
> > +    do {
> > +        arm_smccc_1_2_smc(&arg, &resp);
> > +        res =3D ffa_get_ret_code(&resp);
> > +        if ( res )
> > +        {
> > +            if ( res !=3D FFA_RET_NO_DATA )
> > +                printk(XENLOG_ERR "ffa: notification info get failed: =
error %d\n",
> > +                       res);
> > +            return;
> > +        }
> > +
> > +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> > +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT =
) &
> > +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> > +
> > +        id_pos =3D 0;
> > +        for ( n =3D 0; n < list_count; n++ )
> > +        {
> > +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
> > +            struct domain *d;
> > +
> > +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_p=
os));
> > +
> > +            if ( d )
> > +            {
> > +                struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +                spin_lock(&ctx->notif.lock);
> > +                ctx->notif.secure_pending =3D true;
> > +                spin_unlock(&ctx->notif.lock);
> > +
> > +                /*
> > +                 * Since we're only delivering global notification, al=
ways
> > +                 * deliver to the first vCPU. It doesn't matter which =
we
> > +                 * chose, as long as it's available.
> > +                 */
> > +                vgic_inject_irq(d, d->vcpu[0], FFA_NOTIF_PEND_INTR_ID,=
 true);
> > +
> > +                put_domain(d);
> > +            }
> > +
> > +            id_pos +=3D count;
> > +        }
> > +
> > +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
> > +}
> > +
> > +static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
> > +                                              uint32_t vcpu_count)
> > +{
> > +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu=
_count,
> > +                           0, 0);
> > +}
> > +
> > +static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
> > +{
> > +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, =
0, 0);
> > +}
> > +
> > +void ffa_notif_init(void)
> > +{
> > +    const struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_FEATURES,
> > +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +    unsigned int irq;
> > +    int ret;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> > +        return;
> > +
> > +    irq =3D resp.a2;
> > +    if ( irq >=3D NR_GIC_SGI )
> > +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> > +    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL)=
;
> > +    if ( ret )
> > +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n"=
,
> > +               irq, ret);
> > +    notif_enabled =3D !ret;
> > +}
> > +
> > +bool ffa_notif_domain_init(struct domain *d)
> > +{
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    int32_t res;
> > +
> > +    if ( !notif_enabled )
> > +        return true;
> > +
> > +    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vc=
pus);
> > +    if ( res )
> > +        return false;
> > +
> > +    ctx->notif.enabled =3D true;
> > +
> > +    return true;
> > +}
> > +
> > +void ffa_notif_domain_destroy(struct domain *d)
> > +{
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +    if ( ctx->notif.enabled )
> > +    {
> > +        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
> > +        ctx->notif.enabled =3D false;
> > +    }
> > +}
> > diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_priv=
ate.h
> > index 98236cbf14a3..26c2af164d38 100644
> > --- a/xen/arch/arm/tee/ffa_private.h
> > +++ b/xen/arch/arm/tee/ffa_private.h
> > @@ -25,6 +25,7 @@
> > #define FFA_RET_DENIED                  -6
> > #define FFA_RET_RETRY                   -7
> > #define FFA_RET_ABORTED                 -8
> > +#define FFA_RET_NO_DATA                 -9
> >
> > /* FFA_VERSION helpers */
> > #define FFA_VERSION_MAJOR_SHIFT         16U
> > @@ -60,6 +61,8 @@
> >  */
> > #define FFA_PAGE_SIZE                   SZ_4K
> >
> > +#define FFA_NOTIF_BITMAP_SIZE           64
> > +
>
> This does not seem to be used.

You're right, I'll remove it.

>
> > /*
> >  * The number of pages used for each of the RX and TX buffers shared wi=
th
> >  * the SPMC.
> > @@ -97,6 +100,18 @@
> >  */
> > #define FFA_MAX_SHM_COUNT               32
> >
> > +/*
> > + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
> > + * unused, but that may change.
>
> I am a bit wondering what your TODO means here.
> Do you mean that we should have a way to "allocate a free SGI" ?

As long as only the FF-A mediator adds a special meaning to certain
virtual SGIs in the 8-15 range it might be overkill with an allocator.
But if other parts start to do the same we may have conflicts if it's
not managed centrally.

Thanks,
Jens

>
> > + *
> > + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not=
 used
> > + * by a guest as they in a non-virtualized system typically are assign=
ed to
> > + * the secure world. Here we're free to use SGI 8-15 since they are vi=
rtual
> > + * and have nothing to do with the secure world.
> > + */
> > +#define FFA_NOTIF_PEND_INTR_ID      8
> > +#define FFA_SCHEDULE_RECV_INTR_ID   9
> > +
> > /*
> >  * The time we wait until trying to tear down a domain again if it was
> >  * blocked initially.
> > @@ -175,6 +190,21 @@
> >  */
> > #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
> >
> > +/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
> > +#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
> > +#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> > +#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
> > +#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
> > +
> > +#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
> > +#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
> > +#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
> > +#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
> > +
> > +/* Feature IDs used with FFA_FEATURES */
> > +#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
> > +#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
> > +
> > /* Function IDs */
> > #define FFA_ERROR                       0x84000060U
> > #define FFA_SUCCESS_32                  0x84000061U
> > @@ -213,6 +243,27 @@
> > #define FFA_MEM_FRAG_TX                 0x8400007BU
> > #define FFA_MSG_SEND                    0x8400006EU
> > #define FFA_MSG_POLL                    0x8400006AU
> > +#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
> > +#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
> > +#define FFA_NOTIFICATION_BIND           0x8400007FU
> > +#define FFA_NOTIFICATION_UNBIND         0x84000080U
> > +#define FFA_NOTIFICATION_SET            0x84000081U
> > +#define FFA_NOTIFICATION_GET            0x84000082U
> > +#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
> > +#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
> > +
> > +struct ffa_ctx_notif {
> > +    bool enabled;
> > +
> > +    /* Used to serialize access to the rest of this struct */
> > +    spinlock_t lock;
> > +
> > +    /*
> > +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> > +     * pending global notifications.
> > +     */
> > +    bool secure_pending;
> > +};
> >
> > struct ffa_ctx {
> >     void *rx;
> > @@ -228,6 +279,7 @@ struct ffa_ctx {
> >     struct list_head shm_list;
> >     /* Number of allocated shared memory object */
> >     unsigned int shm_count;
> > +    struct ffa_ctx_notif notif;
> >     /*
> >      * tx_lock is used to serialize access to tx
> >      * rx_lock is used to serialize access to rx
> > @@ -271,12 +323,31 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, regist=
er_t tx_addr,
> > uint32_t ffa_handle_rxtx_unmap(void);
> > int32_t ffa_handle_rx_release(void);
> >
> > +void ffa_notif_init(void);
> > +bool ffa_notif_domain_init(struct domain *d);
> > +void ffa_notif_domain_destroy(struct domain *d);
> > +
> > +int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
> > +                                 uint32_t bitmap_lo, uint32_t bitmap_h=
i);
> > +int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_l=
o,
> > +                                   uint32_t bitmap_hi);
> > +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(uint32_t src_dst, uint32_t flags,
> > +                                uint32_t bitmap_lo, uint32_t bitmap_hi=
);
> > +
> > static inline uint16_t ffa_get_vm_id(const struct domain *d)
> > {
> >     /* +1 since 0 is reserved for the hypervisor in FF-A */
> >     return d->domain_id + 1;
> > }
> >
> > +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
> > +{
> > +    /* -1 to match ffa_get_vm_id() */
> > +    return get_domain_by_id(vm_id - 1);
> > +}
> > +
> > static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t =
v0,
> >                                 register_t v1, register_t v2, register_=
t v3,
> >                                 register_t v4, register_t v5, register_=
t v6,
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:48:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703357.1098977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruZEw-0006uG-L2; Wed, 10 Apr 2024 14:47:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703357.1098977; Wed, 10 Apr 2024 14:47:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruZEw-0006u9-IN; Wed, 10 Apr 2024 14:47:54 +0000
Received: by outflank-mailman (input) for mailman id 703357;
 Wed, 10 Apr 2024 14:47:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Oh3E=LP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1ruZEv-0006u3-3W
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:47:53 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e96cf54-f749-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 16:47:52 +0200 (CEST)
Received: from DBBPR09CA0010.eurprd09.prod.outlook.com (2603:10a6:10:c0::22)
 by DB9PR08MB9683.eurprd08.prod.outlook.com (2603:10a6:10:45d::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Wed, 10 Apr
 2024 14:47:44 +0000
Received: from DU6PEPF0000B61F.eurprd02.prod.outlook.com
 (2603:10a6:10:c0:cafe::4a) by DBBPR09CA0010.outlook.office365.com
 (2603:10a6:10:c0::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 14:47:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000B61F.mail.protection.outlook.com (10.167.8.134) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 14:47:43 +0000
Received: ("Tessian outbound 1b0f2681ce6f:v300");
 Wed, 10 Apr 2024 14:47:43 +0000
Received: from ef4d72d25c6a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1D01FCDC-EE16-40EF-A7E0-5446BDCAF0A9.1; 
 Wed, 10 Apr 2024 14:47:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ef4d72d25c6a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 14:47:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAWPR08MB9494.eurprd08.prod.outlook.com (2603:10a6:102:2e3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 14:47:33 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 14: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: 4e96cf54-f749-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=BXgyFh5wOdCv9Fp87ip2hfQZ3vmOkOspDJDW2pugIKTm40HvknsF2q3eOBTYQQ64pzj4u1C/EGgWuFUdlLA9TemBRDECegCxaGLdUieU5lkNDhzpO2AtleOXvzYf7w1Nurrkr8JzgdA4tD8SVp+tWJwdQLydctVw+jyWpDDvw2nLfV+GlQtfXI3z5xY5DDmTmOxfBC0YXvwmaxtU3diw2etSovCBeupxX+v/6krnCSHSD5zCj5DvAcHNv9RCbebCsU77mr0C0S6SJt0DwjschkHkMzv1oE03meEB2mEAA1ku0/a7eYD6yxkFI3sLmAny27LeVxvVEP88kO2t/xTbdA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6hqh7b3aihF2yIMNCFI16EGrX3EIFHJo6APsDCgPdL0=;
 b=Teky5wx4VBR2P1aO3KgBvS9Z8jzX4u3VM/Z5lS2ahV69vUUIrhC1C9oVSwksUvzC+1Qr/V0A+adJWcVXfmt/Walq8+mCPz+JIxksR+EVEGGbVsVEmGypDB7m69+CcnqyIi/L9iaShRywmOOmo/HDRWsFgD4xdRsS9AZTON+C9MOtSFSz0Nb2DW9GeVymOP4J1kZgaRhONuWWrcCumppTF7iDP9PFn9gmfFpsqi8hfQb3AOYICGLL/FZLkkLKIqAyY9edgnaYNWqhHUnhjlFoT7egogcNhEpyYkRP5bz930Ibkl0SXx7Ko6LPjLvGN0J66b33znDk4nEjAzMmtRDxgQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6hqh7b3aihF2yIMNCFI16EGrX3EIFHJo6APsDCgPdL0=;
 b=F9fvpuJDxny5JEkylbks9+KSYXjFC0Rh9rlfqle7eE0zoxiLEQGTnTpCsdNysl1AU3C6z/RUHsp8OTp9ffeJ+8isntWwGmAciknauEeEJVRkWHjcSdNwrPK7+GySlHwKGSsn2iMJI4Lstz+xfBmlAz7UG79pCxioB1l6BRuzkFU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 68604ffb7b56138b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g1WBExpWmDTUIIyPhvD3yNEfFPilGRZV745DpSkbzrvEpVKuI2eXGunZm2ndS0T8F9aEXUeM8xBlY4Y1jtAfcBFoX/TxOyB7yxBFLQjYEJgWGae/2VwtKWpj0vK5HH0EFkPiRf8LV1lXvIS95aA9e5aMjL/DDPKhe2WQiUdbLz4lWzpqQkeY+2YgGaEoZDijpAQoUnJOw/QLDrKh+4E3ROG/GK4PwKF8bG/pB76OOMaA9xwXtUDnGFvRQm51fxb8oYA6Vdw8YflEfDk/CmZHvpRzJAieHRzkEYXx1m+S4e2DEnnQ8YHdz89MzsmYPqeUsoldeVpKEFzAVwNRnAIGrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6hqh7b3aihF2yIMNCFI16EGrX3EIFHJo6APsDCgPdL0=;
 b=aCb9wFuNi8rahFWzyIohrrWaKV/jY53WzNBUX60pwP/FyYx/56gka3Xc48nxzagdHkaooGe8Dc4su1LKg3SNmysBM9oZq3Yn2ZB6TVD2au/e1IFuWGpbNiCQUZPkm/DbKDTYGolAcnWXSTBgb3si4GsCbgS78SbS5s1yeu0w/61BPv/KK5IH3TVZYZKtVgjkbWsPpKJ+aLRBe3bYXeTBH014HWavyeh/xRPR0Jh5czPCWa3+WQkJU8YKXZ3j79r2gva3CbsQI+K7E+Y/086nClBx2z1X4gw1tgT7c4vsLYW0O3vEIkzMUzAoFSFWVHZ6r1kO1IXMl1e8VGBFS+zqKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6hqh7b3aihF2yIMNCFI16EGrX3EIFHJo6APsDCgPdL0=;
 b=F9fvpuJDxny5JEkylbks9+KSYXjFC0Rh9rlfqle7eE0zoxiLEQGTnTpCsdNysl1AU3C6z/RUHsp8OTp9ffeJ+8isntWwGmAciknauEeEJVRkWHjcSdNwrPK7+GySlHwKGSsn2iMJI4Lstz+xfBmlAz7UG79pCxioB1l6BRuzkFU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Index: AQHaipO/QuGF8TXkikCEHPNBW62gObFhIgsAgABvOwCAAAWPAA==
Date: Wed, 10 Apr 2024 14:47:33 +0000
Message-ID: <9188C0FC-D005-49B4-A458-2C064BFAA435@arm.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-6-jens.wiklander@linaro.org>
 <C9733F1F-E308-46D3-AC84-D4651B4D6723@arm.com>
 <CAHUa44H3=QsEkJ6RrBRS30ccaCbg3GQTYeVF+WpnvDk8qnzw=w@mail.gmail.com>
In-Reply-To:
 <CAHUa44H3=QsEkJ6RrBRS30ccaCbg3GQTYeVF+WpnvDk8qnzw=w@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAWPR08MB9494:EE_|DU6PEPF0000B61F:EE_|DB9PR08MB9683:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 YDoSobK4lwhLNrnBJZJfLccMo7xsM1ucOPhm4qmnIgVQ2pbJuhugdKE+jdSvegw9VOkjK2pi2zdweOQX5E9Uc2JxTa8m8H/SxQNQCieEcZtZs9OzN2agb7UjpkgfsGR5zehMcMvQ1R00t16IXUvBg4/SU36BpELGWXYF/VqlYi4O0vjiDpFmauGtm0ktdQVt9RgwYqag7qBIgLM0oEQ6QtHSNu/oRnhMyNY/tuwe/5WUb1hvkbR+ftO0mILn3JzvGqqNQyehvdVv3EQ6jr7qm1xtYo7MRy0zzWFwtnI+FgI3vnEzOpmpgKuo9wIJf7ZvH8dhGWio14Nw9WjJ0ZbMSuOB+IQFmZalkAa1e6obfXgOaspjgtUv8kidj8+JxvQpWfJNP80VC3wK3eMiJbQynWLBTnR2RiPo8N8tS1RxoO+mdH08jEWT+ZF6JctS45YmGQVssG2NE11ELF1Ve3Zt9lQKzHZwbdz8TZUA+nLofhuiddf7Dsp/G7PtZNojvMQ7/AEnDJtAt09mGPJWptGX0g7xOZkThx0sc8QvstG4tHs7ELo5AXz0vsY+xY8CICDmSi3+z/tz3ZUz7uptwZp0dsgpsbLwkJb/oFPchsiZvqR/xvrNsX4IG5kk0JSaJN49aAUWGoiuVvMWZV/SoqCtWmiK1xLGBS0t4HZqqTxGtyE=
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:(13230031)(1800799015)(366007)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="utf-8"
Content-ID: <F3BCD7F9B2939D44AC04B762A3C3DBBC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9494
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000B61F.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: ba8b9fea-d315-476c-6a1d-08dc596d2dee
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wc6DylDrvblKaBmi9iLQ3q/jzhlJQgi/WxHVyuDmFZ/DIFTNNig6BKpzzmrc0waIfBX46geLxSZcYb+RBVAQEkbFK1wPkNKgodi/AOHGWTFYMQxdnh/s7pJ5zodk41sW8W1NInTqHzPPqhQ5zDzm/zqntfhquXjzN8pi9CA/RCs6COk4EeFuoEhBvWI61LqeuIZVlYd1dOTp+bJgJgFnqXtRvZo1wfpNkl/J9/lHKR6s3C6TBrfWqfFnTDEvwnmO6FK+N/CgjmZ1ztkGod8rmNGgGmY+DrJ/+gkPcBaz0k6m623CWQOgc8MTh44oMd9RCBGxeRkCNs2nCkil5pP2lVujzSY2GTv7ST45ZKEJk7kMr/I6331JCowXctPrzzhYtde2Uj2Hxds3iATHoKiMVq2DmSIVQ8OlzREG2y9wuCJaP6jrYHyu399FCLnH5lP8b/AxCKFzK1HvvtaCOtl6F0CJIfaQAVJyoRUYJ7LWqxBWdKnL/liL2KOijh0fxug82upEggAoPSFNwi6FU+KYcTxQAhL+QYSenKT9n66IFFiYSBv4WA+mX5YDCiTFdb8tckguy200IxXe7f2DkGPmKCyOvrTYQorVdshY3vIdU1YHo3AZcn8ERtnaJcWWiubVoefgNx9rdAh0sqxXCIU1a3S8yndwIltBvTfMLzkBBd6S7WcTxfQPJ/pH0GZ38oXTq5FlBP91z/pHG73dZtElsNlqR+9yQwiNLV6y8JvWI+pQ8pMm+sDJXobjsEvO7jgV
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 14:47:43.6518
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ba8b9fea-d315-476c-6a1d-08dc596d2dee
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000B61F.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9683

SGkgSmVucywNCg0KPiBPbiAxMCBBcHIgMjAyNCwgYXQgMTY6MjcsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IE9uIFdlZCwgQXByIDEwLCAy
MDI0IGF0IDk6NDnigK9BTSBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxCZXJ0cmFuZC5NYXJxdWlzQGFy
bS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIaSBKZW5zLA0KPj4gDQo+Pj4gT24gOSBBcHIgMjAyNCwg
YXQgMTc6MzYsIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90
ZToNCj4+PiANCj4+PiBBZGQgc3VwcG9ydCBmb3IgRkYtQSBub3RpZmljYXRpb25zLCBjdXJyZW50
bHkgbGltaXRlZCB0byBhbiBTUCAoU2VjdXJlDQo+Pj4gUGFydGl0aW9uKSBzZW5kaW5nIGFuIGFz
eW5jaHJvbm91cyBub3RpZmljYXRpb24gdG8gYSBndWVzdC4NCj4+PiANCj4+PiBHdWVzdHMgYW5k
IFhlbiBpdHNlbGYgYXJlIG1hZGUgYXdhcmUgb2YgcGVuZGluZyBub3RpZmljYXRpb25zIHdpdGgg
YW4NCj4+PiBpbnRlcnJ1cHQuIFRoZSBpbnRlcnJ1cHQgaGFuZGxlciByZXRyaWV2ZXMgdGhlIG5v
dGlmaWNhdGlvbnMgdXNpbmcgdGhlDQo+Pj4gRkYtQSBBQkkgYW5kIGRlbGl2ZXIgdGhlbSB0byB0
aGVpciBkZXN0aW5hdGlvbnMuDQo+Pj4gDQo+Pj4gU2lnbmVkLW9mZi1ieTogSmVucyBXaWtsYW5k
ZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+DQo+Pj4gLS0tDQo+Pj4geGVuL2FyY2gvYXJt
L3RlZS9NYWtlZmlsZSAgICAgIHwgICAxICsNCj4+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jICAg
ICAgICAgfCAgNTggKysrKysrDQo+Pj4geGVuL2FyY2gvYXJtL3RlZS9mZmFfbm90aWYuYyAgIHwg
MzE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4+IHhlbi9hcmNoL2FybS90
ZWUvZmZhX3ByaXZhdGUuaCB8ICA3MSArKysrKysrKw0KPj4+IDQgZmlsZXMgY2hhbmdlZCwgNDQ5
IGluc2VydGlvbnMoKykNCj4+PiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3RlZS9m
ZmFfbm90aWYuYw0KPj4+IA0KPj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL01ha2Vm
aWxlIGIveGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQ0KPj4+IGluZGV4IGYwMTEyYTJmOTIyZC4u
N2MwZjQ2ZjdmNDQ2IDEwMDY0NA0KPj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvTWFrZWZpbGUN
Cj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL01ha2VmaWxlDQo+Pj4gQEAgLTIsNSArMiw2IEBA
IG9iai0kKENPTkZJR19GRkEpICs9IGZmYS5vDQo+Pj4gb2JqLSQoQ09ORklHX0ZGQSkgKz0gZmZh
X3NobS5vDQo+Pj4gb2JqLSQoQ09ORklHX0ZGQSkgKz0gZmZhX3BhcnRpbmZvLm8NCj4+PiBvYmot
JChDT05GSUdfRkZBKSArPSBmZmFfcnh0eC5vDQo+Pj4gK29iai0kKENPTkZJR19GRkEpICs9IGZm
YV9ub3RpZi5vDQo+Pj4gb2JqLXkgKz0gdGVlLm8NCj4+PiBvYmotJChDT05GSUdfT1BURUUpICs9
IG9wdGVlLm8NCj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmEuYyBiL3hlbi9h
cmNoL2FybS90ZWUvZmZhLmMNCj4+PiBpbmRleCA1MjA5NjEyOTYzZTEuLmNlOTc1N2JmZWVkMSAx
MDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+Pj4gKysrIGIveGVuL2Fy
Y2gvYXJtL3RlZS9mZmEuYw0KPj4+IEBAIC0zOSw2ICszOSw5IEBADQo+Pj4gKiAgIC0gYXQgbW9z
dCAzMiBzaGFyZWQgbWVtb3J5IHJlZ2lvbnMgcGVyIGd1ZXN0DQo+Pj4gKiBvIEZGQV9NU0dfU0VO
RF9ESVJFQ1RfUkVROg0KPj4+ICogICAtIG9ubHkgc3VwcG9ydGVkIGZyb20gYSBWTSB0byBhbiBT
UA0KPj4+ICsgKiBvIEZGQV9OT1RJRklDQVRJT05fKjoNCj4+PiArICogICAtIG9ubHkgc3VwcG9y
dHMgZ2xvYmFsIG5vdGlmaWNhdGlvbnMsIHRoYXQgaXMsIHBlciB2Q1BVIG5vdGlmaWNhdGlvbnMN
Cj4+PiArICogICAgIGFyZSBub3Qgc3VwcG9ydGVkDQo+Pj4gKg0KPj4+ICogVGhlcmUgYXJlIHNv
bWUgbGFyZ2UgbG9ja2VkIHNlY3Rpb25zIHdpdGggZmZhX3R4X2J1ZmZlcl9sb2NrIGFuZA0KPj4+
ICogZmZhX3J4X2J1ZmZlcl9sb2NrLiBFc3BlY2lhbGx5IHRoZSBmZmFfdHhfYnVmZmVyX2xvY2sg
c3BpbmxvY2sgdXNlZA0KPj4+IEBAIC0xOTQsNiArMTk3LDggQEAgb3V0Og0KPj4+IA0KPj4+IHN0
YXRpYyB2b2lkIGhhbmRsZV9mZWF0dXJlcyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+
PiB7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4+ICsg
ICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+ICAgIHVpbnQzMl90IGEx
ID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpOw0KPj4+ICAgIHVuc2lnbmVkIGludCBuOw0KPj4+IA0K
Pj4+IEBAIC0yNDAsNiArMjQ1LDMwIEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9mZWF0dXJlcyhzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+PiAgICAgICAgQlVJTERfQlVHX09OKFBBR0VfU0la
RSAhPSBGRkFfUEFHRV9TSVpFKTsNCj4+PiAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVn
cywgMCwgMCk7DQo+Pj4gICAgICAgIGJyZWFrOw0KPj4+ICsgICAgY2FzZSBGRkFfRkVBVFVSRV9O
T1RJRl9QRU5EX0lOVFI6DQo+Pj4gKyAgICAgICAgaWYgKCBjdHgtPm5vdGlmLmVuYWJsZWQgKQ0K
Pj4+ICsgICAgICAgICAgICBmZmFfc2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCBGRkFfTk9USUZfUEVO
RF9JTlRSX0lELCAwKTsNCj4+PiArICAgICAgICBlbHNlDQo+Pj4gKyAgICAgICAgICAgIGZmYV9z
ZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQpOw0KPj4+ICsgICAgICAg
IGJyZWFrOw0KPj4+ICsgICAgY2FzZSBGRkFfRkVBVFVSRV9TQ0hFRFVMRV9SRUNWX0lOVFI6DQo+
Pj4gKyAgICAgICAgaWYgKCBjdHgtPm5vdGlmLmVuYWJsZWQgKQ0KPj4+ICsgICAgICAgICAgICBm
ZmFfc2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCBGRkFfTk9USUZfUEVORF9JTlRSX0lELCAwKTsNCj4+
IA0KPj4gVGhpcyBzaG91bGQgcmV0dXJuIHRoZSBSRUNWX0lOVFIsIG5vdCB0aGUgUEVORCBvbmUu
DQo+IA0KPiBUaGFua3MsIEknbGwgZml4IGl0Lg0KPiANCj4+IA0KPj4+ICsgICAgICAgIGVsc2UN
Cj4+PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NV
UFBPUlRFRCk7DQo+Pj4gKyAgICAgICAgYnJlYWs7DQo+Pj4gKw0KPj4+ICsgICAgY2FzZSBGRkFf
Tk9USUZJQ0FUSU9OX0JJTkQ6DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fVU5CSU5E
Og0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FUSU9OX0dFVDoNCj4+PiArICAgIGNhc2UgRkZB
X05PVElGSUNBVElPTl9TRVQ6DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fSU5GT19H
RVRfMzI6DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fSU5GT19HRVRfNjQ6DQo+Pj4g
KyAgICAgICAgaWYgKCBjdHgtPm5vdGlmLmVuYWJsZWQgKQ0KPj4+ICsgICAgICAgICAgICBmZmFf
c2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCAwLCAwKTsNCj4+PiArICAgICAgICBlbHNlDQo+Pj4gKyAg
ICAgICAgICAgIGZmYV9zZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQp
Ow0KPj4+ICsgICAgICAgIGJyZWFrOw0KPj4+ICAgIGRlZmF1bHQ6DQo+Pj4gICAgICAgIGZmYV9z
ZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQpOw0KPj4+ICAgICAgICBi
cmVhazsNCj4+PiBAQCAtMzA1LDYgKzMzNCwzMCBAQCBzdGF0aWMgYm9vbCBmZmFfaGFuZGxlX2Nh
bGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAxKSksDQo+
Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAz
KSk7DQo+Pj4gICAgICAgIGJyZWFrOw0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FUSU9OX0JJ
TkQ6DQo+Pj4gKyAgICAgICAgZSA9IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2JpbmQoZ2V0X3Vz
ZXJfcmVnKHJlZ3MsIDEpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAyKSwNCj4+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnZXRfdXNlcl9yZWcocmVncywgMyksDQo+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDQpKTsN
Cj4+IA0KPj4gSSB3b3VsZCBzdWdnZXN0IHRvIHBhc3MgcmVncyBhbmQgaGFuZGxlIHRoZSBnZXRf
dXNlcl9yZWdzIGluIHRoZSBmdW5jdGlvbi4NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4gKyAgICAg
ICAgYnJlYWs7DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fVU5CSU5EOg0KPj4+ICsg
ICAgICAgIGUgPSBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl91bmJpbmQoZ2V0X3VzZXJfcmVnKHJl
Z3MsIDEpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2V0X3VzZXJfcmVnKHJlZ3MsIDMpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDQpKTsNCj4+IA0KPj4gc2FtZSBoZXJl
DQo+IA0KPiBPSw0KPiANCj4+IA0KPj4+ICsgICAgICAgIGJyZWFrOw0KPj4+ICsgICAgY2FzZSBG
RkFfTk9USUZJQ0FUSU9OX0lORk9fR0VUXzMyOg0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FU
SU9OX0lORk9fR0VUXzY0Og0KPj4+ICsgICAgICAgIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2lu
Zm9fZ2V0KHJlZ3MpOw0KPj4+ICsgICAgICAgIHJldHVybiB0cnVlOw0KPj4+ICsgICAgY2FzZSBG
RkFfTk9USUZJQ0FUSU9OX0dFVDoNCj4+PiArICAgICAgICBmZmFfaGFuZGxlX25vdGlmaWNhdGlv
bl9nZXQocmVncyk7DQo+Pj4gKyAgICAgICAgcmV0dXJuIHRydWU7DQo+Pj4gKyAgICBjYXNlIEZG
QV9OT1RJRklDQVRJT05fU0VUOg0KPj4+ICsgICAgICAgIGUgPSBmZmFfaGFuZGxlX25vdGlmaWNh
dGlvbl9zZXQoZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDIpLA0KPj4+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpLA0K
Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVn
KHJlZ3MsIDQpKTsNCj4+IA0KPj4gc2FtZSBoZXJlDQo+IA0KPiBPSw0KPiANCj4+IA0KPj4+ICsg
ICAgICAgIGJyZWFrOw0KPj4+IA0KPj4+ICAgIGRlZmF1bHQ6DQo+Pj4gICAgICAgIGdwcmludGso
WEVOTE9HX0VSUiwgImZmYTogdW5oYW5kbGVkIGZpZCAweCV4XG4iLCBmaWQpOw0KPj4+IEBAIC0z
NDgsNiArNDAxLDkgQEAgc3RhdGljIGludCBmZmFfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAq
ZCkNCj4+PiAgICBpZiAoICFmZmFfcGFydGluZm9fZG9tYWluX2luaXQoZCkgKQ0KPj4+ICAgICAg
ICByZXR1cm4gLUVJTzsNCj4+PiANCj4+PiArICAgIGlmICggIWZmYV9ub3RpZl9kb21haW5faW5p
dChkKSApDQo+Pj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+PiANCj4+IEhhdmluZyB0aGlz
IGZ1bmN0aW9uIGRlY2lkaW5nIG9uIHRoZSByZXR1cm4gY29kZSBpcyBhIGJpdCB3ZWlyZC4NCj4+
IEkgd291bGQgc3VnZ2VzdCB0byBoYXZlIGZmYV9ub3RpZl9kb21haW5faW5pdCByZXR1cm5pbmcg
YW4gaW50DQo+PiBhbmQgZGVjaWRpbmcgb24gdGhlIGVycm9yIGNvZGUgYW5kIHRoaXMgb25lIGp1
c3QgcmV0dXJuaW5nIHRoZQ0KPj4gZXJyb3IgaWYgIT0wLg0KPj4gDQo+PiBJZiBwb3NzaWJsZSB0
aGUgc2FtZSBwcmluY2lwbGUgc2hvdWxkIGJlIGFwcGxpZWQgZm9yIHRoZSBwYXJ0aW5mby4NCj4g
DQo+IE9LLCBJJ2xsIGZpeCBpdC4NCj4gDQo+PiANCj4+PiArDQo+Pj4gICAgcmV0dXJuIDA7DQo+
Pj4gfQ0KPj4+IA0KPj4+IEBAIC00MjMsNiArNDc5LDcgQEAgc3RhdGljIGludCBmZmFfZG9tYWlu
X3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpDQo+Pj4gICAgICAgIHJldHVybiAwOw0KPj4+IA0K
Pj4+ICAgIGZmYV9yeHR4X2RvbWFpbl9kZXN0cm95KGQpOw0KPj4+ICsgICAgZmZhX25vdGlmX2Rv
bWFpbl9kZXN0cm95KGQpOw0KPj4+IA0KPj4+ICAgIGZmYV9kb21haW5fdGVhcmRvd25fY29udGlu
dWUoY3R4LCB0cnVlIC8qIGZpcnN0X3RpbWUgKi8pOw0KPj4+IA0KPj4+IEBAIC01MDIsNiArNTU5
LDcgQEAgc3RhdGljIGJvb2wgZmZhX3Byb2JlKHZvaWQpDQo+Pj4gICAgaWYgKCAhZmZhX3BhcnRp
bmZvX2luaXQoKSApDQo+Pj4gICAgICAgIGdvdG8gZXJyX3J4dHhfZGVzdHJveTsNCj4+PiANCj4+
PiArICAgIGZmYV9ub3RpZl9pbml0KCk7DQo+Pj4gICAgSU5JVF9MSVNUX0hFQUQoJmZmYV90ZWFy
ZG93bl9oZWFkKTsNCj4+PiAgICBpbml0X3RpbWVyKCZmZmFfdGVhcmRvd25fdGltZXIsIGZmYV90
ZWFyZG93bl90aW1lcl9jYWxsYmFjaywgTlVMTCwgMCk7DQo+Pj4gDQo+Pj4gZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlmLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3Rp
Zi5jDQo+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjAx
NzNlZTUxNTM2Mg0KPj4+IC0tLSAvZGV2L251bGwNCj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVl
L2ZmYV9ub3RpZi5jDQo+Pj4gQEAgLTAsMCArMSwzMTkgQEANCj4+PiArLyogU1BEWC1MaWNlbnNl
LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KPj4+ICsvKg0KPj4+ICsgKiBDb3B5cmlnaHQg
KEMpIDIwMjQgIExpbmFybyBMaW1pdGVkDQo+Pj4gKyAqLw0KPj4+ICsNCj4+PiArI2luY2x1ZGUg
PHhlbi9jb25zdC5oPg0KPj4+ICsjaW5jbHVkZSA8eGVuL2xpc3QuaD4NCj4+PiArI2luY2x1ZGUg
PHhlbi9zcGlubG9jay5oPg0KPj4+ICsjaW5jbHVkZSA8eGVuL3R5cGVzLmg+DQo+Pj4gKw0KPj4+
ICsjaW5jbHVkZSA8YXNtL3NtY2NjLmg+DQo+Pj4gKyNpbmNsdWRlIDxhc20vcmVncy5oPg0KPj4+
ICsNCj4+PiArI2luY2x1ZGUgImZmYV9wcml2YXRlLmgiDQo+Pj4gKw0KPj4+ICtzdGF0aWMgYm9v
bCBfX3JvX2FmdGVyX2luaXQgbm90aWZfZW5hYmxlZDsNCj4+PiArDQo+Pj4gK2ludCBmZmFfaGFu
ZGxlX25vdGlmaWNhdGlvbl9iaW5kKHVpbnQzMl90IHNyY19kc3QsIHVpbnQzMl90IGZsYWdzLA0K
Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiaXRtYXBfbG8s
IHVpbnQzMl90IGJpdG1hcF9oaSkNCj4+PiArew0KPj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZCA9
IGN1cnJlbnQtPmRvbWFpbjsNCj4+PiArDQo+Pj4gKyAgICBpZiAoICFub3RpZl9lbmFibGVkICkN
Cj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsNCj4+PiAr
ICAgIGlmICggKHNyY19kc3QgJiAweGZmZmYpICE9IGZmYV9nZXRfdm1faWQoZCkgKQ0KPj4+ICsg
ICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+IA0KPj4gcy8weGZm
ZmYvMHhGRkZGVS8NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4gKw0KPj4+ICsgICAgaWYgKCBmbGFn
cyApICAgIC8qIE9ubHkgZ2xvYmFsIG5vdGlmaWNhdGlvbnMgYXJlIHN1cHBvcnRlZCAqLw0KPj4+
ICsgICAgICAgIHJldHVybiBGRkFfUkVUX0RFTklFRDsNCj4+PiArDQo+Pj4gKyAgICAvKg0KPj4+
ICsgICAgICogV2Ugb25seSBzdXBwb3J0IG5vdGlmaWNhdGlvbnMgZnJvbSBTUCBzbyBubyBuZWVk
IHRvIGNoZWNrIHRoZSBzZW5kZXINCj4+PiArICAgICAqIGVuZHBvaW50IElELCB0aGUgU1BNQyB3
aWxsIHRha2UgY2FyZSBvZiB0aGF0IGZvciB1cy4NCj4+PiArICAgICAqLw0KPj4+ICsgICAgcmV0
dXJuIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9USUZJQ0FUSU9OX0JJTkQsIHNyY19kc3QsIGZsYWdz
LCBiaXRtYXBfaGksDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9sbyk7
DQo+Pj4gK30NCj4+PiArDQo+Pj4gK2ludCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl91bmJpbmQo
dWludDMyX3Qgc3JjX2RzdCwgdWludDMyX3QgYml0bWFwX2xvLA0KPj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJpdG1hcF9oaSkNCj4+PiArew0KPj4+ICsg
ICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFpbjsNCj4+PiArDQo+Pj4gKyAgICBp
ZiAoICFub3RpZl9lbmFibGVkICkNCj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQ
UE9SVEVEOw0KPj4+ICsNCj4+PiArICAgIGlmICggKHNyY19kc3QgJiAweGZmZmYpICE9IGZmYV9n
ZXRfdm1faWQoZCkgKQ0KPj4+ICsgICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1F
VEVSUzsNCj4+IA0KPj4gcy8weGZmZmYvMHhGRkZGVS8NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4g
Kw0KPj4+ICsgICAgLyoNCj4+PiArICAgICAqIFdlIG9ubHkgc3VwcG9ydCBub3RpZmljYXRpb25z
IGZyb20gU1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUNCj4+PiArICAgICAqIGRlc3RpbmF0aW9u
IGVuZHBvaW50IElELCB0aGUgU1BNQyB3aWxsIHRha2UgY2FyZSBvZiB0aGF0IGZvciB1cy4NCj4+
PiArICAgICAqLw0KPj4+ICsgICAgcmV0dXJuICBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNB
VElPTl9VTkJJTkQsIHNyY19kc3QsIDAsIGJpdG1hcF9oaSwNCj4+PiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJpdG1hcF9sbyk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3ZvaWQgZmZhX2hh
bmRsZV9ub3RpZmljYXRpb25faW5mb19nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+
Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+Pj4g
KyAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0gZC0+YXJjaC50ZWU7DQo+Pj4gKyAgICBib29sIHBl
bmRpbmdfZ2xvYmFsOw0KPj4+ICsNCj4+PiArICAgIGlmICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+
ICsgICAgew0KPj4+ICsgICAgICAgIGZmYV9zZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05P
VF9TVVBQT1JURUQpOw0KPj4+ICsgICAgICAgIHJldHVybjsNCj4+PiArICAgIH0NCj4+PiArDQo+
Pj4gKyAgICBzcGluX2xvY2soJmN0eC0+bm90aWYubG9jayk7DQo+Pj4gKyAgICBwZW5kaW5nX2ds
b2JhbCA9IGN0eC0+bm90aWYuc2VjdXJlX3BlbmRpbmc7DQo+Pj4gKyAgICBjdHgtPm5vdGlmLnNl
Y3VyZV9wZW5kaW5nID0gZmFsc2U7DQo+Pj4gKyAgICBzcGluX3VubG9jaygmY3R4LT5ub3RpZi5s
b2NrKTsNCj4+PiArDQo+Pj4gKyAgICBpZiAoIHBlbmRpbmdfZ2xvYmFsICkNCj4+PiArICAgIHsN
Cj4+PiArICAgICAgICAvKiBBIHBlbmRpbmcgZ2xvYmFsIG5vdGlmaWNhdGlvbiBmb3IgdGhlIGd1
ZXN0ICovDQo+Pj4gKyAgICAgICAgZmZhX3NldF9yZWdzKHJlZ3MsIEZGQV9TVUNDRVNTXzY0LCAw
LA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAxVSA8PCBGRkFfTk9USUZfSU5GT19HRVRfSURf
Q09VTlRfU0hJRlQsIGZmYV9nZXRfdm1faWQoZCksDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAg
IDAsIDAsIDAsIDApOw0KPj4+ICsgICAgfQ0KPj4+ICsgICAgZWxzZQ0KPj4+ICsgICAgew0KPj4+
ICsgICAgICAgIC8qIFJlcG9ydCBhbiBlcnJvciBpZiB0aGVyZSB3aGVyZSBubyBwZW5kaW5nIGds
b2JhbCBub3RpZmljYXRpb24gKi8NCj4+PiArICAgICAgICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVn
cywgRkZBX1JFVF9OT19EQVRBKTsNCj4+PiArICAgIH0NCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9p
ZCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp
DQo+Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+
Pj4gKyAgICB1aW50MzJfdCByZWN2ID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpOw0KPj4+ICsgICAg
dWludDMyX3QgZmxhZ3MgPSBnZXRfdXNlcl9yZWcocmVncywgMik7DQo+Pj4gKyAgICB1aW50MzJf
dCB3MiA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3MyA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3
NCA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NSA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NiA9
IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NyA9IDA7DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCAhbm90
aWZfZW5hYmxlZCApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9y
KHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+Pj4gKyAgICAgICAgcmV0dXJuOw0KPj4+
ICsgICAgfQ0KPj4+ICsNCj4+PiArICAgIGlmICggKHJlY3YgJiAweGZmZmYpICE9IGZmYV9nZXRf
dm1faWQoZCkgKQ0KPj4gcy8weGZmZmYvMHhGRkZGVS8NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4g
KyAgICB7DQo+Pj4gKyAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIEZGQV9SRVRfSU5W
QUxJRF9QQVJBTUVURVJTKTsNCj4+PiArICAgICAgICByZXR1cm47DQo+Pj4gKyAgICB9DQo+Pj4g
Kw0KPj4+ICsgICAgaWYgKCBmbGFncyAmICggRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQIHwgRkZB
X05PVElGX0ZMQUdfQklUTUFQX1NQTSApICkNCj4+PiArICAgIHsNCj4+PiArICAgICAgICBzdHJ1
Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIGFyZyA9IHsNCj4+PiArICAgICAgICAgICAgLmEwID0gRkZB
X05PVElGSUNBVElPTl9HRVQsDQo+Pj4gKyAgICAgICAgICAgIC5hMSA9IHJlY3YsDQo+Pj4gKyAg
ICAgICAgICAgIC5hMiA9IGZsYWdzICYgKCBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1AgfA0KPj4+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQTSAp
LA0KPj4+ICsgICAgICAgIH07DQo+Pj4gKyAgICAgICAgc3RydWN0IGFybV9zbWNjY18xXzJfcmVn
cyByZXNwOw0KPj4+ICsgICAgICAgIGludDMyX3QgZTsNCj4+PiArDQo+Pj4gKyAgICAgICAgYXJt
X3NtY2NjXzFfMl9zbWMoJmFyZywgJnJlc3ApOw0KPj4+ICsgICAgICAgIGUgPSBmZmFfZ2V0X3Jl
dF9jb2RlKCZyZXNwKTsNCj4+PiArICAgICAgICBpZiAoIGUgKQ0KPj4+ICsgICAgICAgIHsNCj4+
PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIGUpOw0KPj4+ICsgICAgICAg
ICAgICByZXR1cm47DQo+Pj4gKyAgICAgICAgfQ0KPj4+ICsNCj4+PiArICAgICAgICBpZiAoIGZs
YWdzICYgRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQICkNCj4+PiArICAgICAgICB7DQo+Pj4gKyAg
ICAgICAgICAgIHcyID0gcmVzcC5hMjsNCj4+PiArICAgICAgICAgICAgdzMgPSByZXNwLmEzOw0K
Pj4+ICsgICAgICAgIH0NCj4+PiArDQo+Pj4gKyAgICAgICAgaWYgKCBmbGFncyAmIEZGQV9OT1RJ
Rl9GTEFHX0JJVE1BUF9TUE0gKQ0KPj4+ICsgICAgICAgICAgICB3NiA9IHJlc3AuYTY7DQo+Pj4g
KyAgICB9DQo+Pj4gKw0KPj4+ICsgICAgZmZhX3NldF9yZWdzKHJlZ3MsIEZGQV9TVUNDRVNTXzMy
LCAwLCB3MiwgdzMsIHc0LCB3NSwgdzYsIHc3KTsNCj4+PiArfQ0KPj4+ICsNCj4+PiAraW50IGZm
YV9oYW5kbGVfbm90aWZpY2F0aW9uX3NldCh1aW50MzJfdCBzcmNfZHN0LCB1aW50MzJfdCBmbGFn
cywNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiaXRtYXBf
bG8sIHVpbnQzMl90IGJpdG1hcF9oaSkNCj4+PiArew0KPj4+ICsgICAgc3RydWN0IGRvbWFpbiAq
ZCA9IGN1cnJlbnQtPmRvbWFpbjsNCj4+PiArDQo+Pj4gKyAgICBpZiAoICFub3RpZl9lbmFibGVk
ICkNCj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsNCj4+
PiArICAgIGlmICggKHNyY19kc3QgPj4gMTYpICE9IGZmYV9nZXRfdm1faWQoZCkgKQ0KPj4+ICsg
ICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+IA0KPj4gVGhpcyBu
ZWVkcyBzb21lIGNoZWNraW5nIGFzIGkgd291bGQgaGF2ZSB1c2VkIHRoZSBsb3dlc3QgYml0cyBo
ZXJlDQo+PiBmb3IgdGhlIHNvdXJjZSBhbmQgbm90IHRoZSBoaWdoZXN0LiBUaGUgc3BlYyBpcyB1
c2luZyB0aGUgc2FtZSBkZXNjcmlwdGlvbg0KPj4gZm9yIGFsbCBBQklzIHNvIEkgYW0gd29uZGVy
aW5nIGlmIHlvdSBhcmUgbm90IHVzaW5nIHRoZSBkZXN0aW5hdGlvbiBpbnN0ZWFkIG9mDQo+PiB0
aGUgc291cmNlIGhlcmUuDQo+IA0KPiBUaGlzIGlzIGEgYml0IHRyaWNreSBiZWNhdXNlIG5vdCBh
bGwgQUJJIGZ1bmN0aW9ucyBkZWZpbmUgU2VuZGVyIGFuZA0KPiBSZWNlaXZlciBpbiB0aGUgc2Ft
ZSB3YXkuIEZvciBGRkFfTk9USUZJQ0FUSU9OX0JJTkQgaXQncyB0aGUgU2VuZGVyDQo+IGFuZCBS
ZWNlaXZlciBvZiB0aGUgbm90aWZpY2F0aW9uLCB3aGlsZSBmb3IgaW5zdGFuY2UsDQo+IEZGQV9N
U0dfU0VORF9ESVJFQ1RfUkVRIGRlZmluZXMgaXQgYXMgdGhlIFNlbmRlciBhbmQgUmVjZWl2ZXIg
b2YgdGhlDQo+IG1lc3NhZ2UuDQo+IA0KPiBXaGVuIHRoZSBIeXBlcnZpc29yIGludm9rZXMgRkZB
X05PVElGSUNBVElPTl9TRVQgaXQncyB0aGUgU2VuZGVyIGFuZA0KPiBSZWNlaXZlciBvZiB0aGUg
bm90aWZpY2F0aW9uLCB0aGF0IGlzLCB0aGUgZ3Vlc3QgaXMgdGhlIHNhbWUgYXMgdGhlDQo+IHNl
bmRlciBvZiB0aGUgbm90aWZpY2F0aW9uLiBTbyB0aGUgZ3Vlc3QgSUQgc2hvdWxkIGdvIGludG8g
QklUWzMxOjE2XSwNCj4gYW5kIHRoZSByZWNlaXZlciBvZiB0aGUgbm90aWZpY2F0aW9uIGluIEJJ
VFsxNTowXS4NCj4gDQo+IFdoZW4gdGhlIGd1ZXN0IGludm9rZXMgRkZBX05PVElGSUNBVElPTl9T
RVQgdGhlIEh5cGVydmlzb3IgaXMNCj4gcmVxdWVzdGVkIHRvIHNpZ25hbCBub3RpZmljYXRpb25z
IHRvIHRoZSBTZW5kZXIgZW5kcG9pbnQgQklUWzMxOjE2XS4NCj4gV2hhdCdzIGV4cGVjdGVkIGlu
IEJJVFsxNTowXSBpc24ndCBtZW50aW9uZWQgc28gSSBhc3N1bWUgdGhlDQo+IEh5cGVydmlzb3Ig
c2hvdWxkIGlnbm9yZSBpdCBzaW5jZSBpdCBhbHJlYWR5IGtub3dzIHRoZSBndWVzdCBJRC4NCj4g
DQo+IEZvbGxvd2luZyB0aGF0IGFuYWx5c2lzLCB3ZSBzaG91bGQgcmVwbGFjZSB0aGUgaWYgc3Rh
dGVtZW50IGFib3ZlIHdpdGg6DQo+IHNyY19kc3QgPSAoKHVpbnQzMl90KWZmYV9nZXRfdm1faWQo
ZCkgPDwgMTYpIHwgKHNyY19kc3QgPj4gMTYpDQo+IA0KPiBCdXQgSSdtIG5vdCBjZXJ0YWluIEkn
dmUgdW5kZXJzdG9vZCB0aGUgc3BlY2lmaWNhdGlvbiBjb3JyZWN0bHksIGluDQo+IHBhcnRpY3Vs
YXIgdGhlIHBhcnQgd2hlcmUgdGhlIGd1ZXN0IGludm9rZXMgRkZBX05PVElGSUNBVElPTl9TRVQu
DQo+IA0KPiBXaGF0J3MgeW91ciB0YWtlIG9uIHRoaXM/DQo+IA0KPiBJIGRvbid0IHVzZSB0aGlz
IGZ1bmN0aW9uIGluIG15IHRlc3RzIHNvIGl0J3MgcGVyaGFwcyBiZXR0ZXIgdG8gd2FpdA0KPiB3
aXRoIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIHVudGlsIGl0J3MgdXNlZC4N
Cg0KWW91IGFyZSByaWdodCwgdGhpcyBpcyBhIGJpdCBpbXByZWNpc2UuDQoNCkluIG5vdGlmaWNh
dGlvbl9zZXQgU2VuZGVyIGlzIGRlZmluZWQgYXMgInNpZ25hbCB0byB0aGUgc2VuZGVyIiBhbmQg
dGhlbiBzYXlpbmcgdGhhdCAic2VuZGVyIiBpcyB0aGUgVk0gd2hlbiB0aGUgaHlwZXJ2aXNvciBw
dXNoIGl0IHRvIHRoZSBTUE1DLg0KDQpJIHdpbGwgZGlnIG9uIHRoYXQgYW5kIGNvbWUgYmFjayB0
byB5b3Ugb24gdGhpcy4NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQo+IA0KPj4gDQo+Pj4gKw0KPj4+
ICsgICAgLyoNCj4+PiArICAgICAqIFdlIG9ubHkgc3VwcG9ydCBub3RpZmljYXRpb25zIGZyb20g
U1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUgc2VuZGVyDQo+Pj4gKyAgICAgKiBlbmRwb2ludCBJ
RCwgdGhlIFNQTUMgd2lsbCB0YWtlIGNhcmUgb2YgdGhhdCBmb3IgdXMuDQo+Pj4gKyAgICAgKi8N
Cj4+PiArICAgIHJldHVybiBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNBVElPTl9TRVQsIHNy
Y19kc3QsIGZsYWdzLCBiaXRtYXBfbG8sDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJpdG1hcF9oaSk7DQo+Pj4gK30NCj4+PiArDQo+PiANCj4+IFRoZSBmb2xsb3dpbmcgZnVuY3Rp
b24gd291bGQgZGVzZXJ2ZSBzb21lIGV4cGxhbmF0aW9uIGluIGEgY29tbWVudA0KPj4gdG8gY2xl
YXIgdXAgYSBiaXQgd2hhdCBpcyBkb25lIGhlcmUgYW5kIHdoeS4NCj4gDQo+IEknbGwgYWRkIGEg
ZGVzY3JpcHRpb24uDQo+IA0KPj4gDQo+Pj4gK3N0YXRpYyB1aW50MTZfdCBnZXRfaWRfZnJvbV9y
ZXNwKHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgKnJlc3AsDQo+Pj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBuKQ0KPj4+ICt7DQo+Pj4gKyAgICB1bnNp
Z25lZCBpbnQgaWRzX3Blcl9yZWc7DQo+Pj4gKyAgICB1bnNpZ25lZCBpbnQgcmVnX2lkeDsNCj4+
PiArICAgIHVuc2lnbmVkIGludCByZWdfc2hpZnQ7DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCBzbWNj
Y19pc19jb252XzY0KHJlc3AtPmEwKSApDQo+Pj4gKyAgICAgICAgaWRzX3Blcl9yZWcgPSA0Ow0K
Pj4+ICsgICAgZWxzZQ0KPj4+ICsgICAgICAgIGlkc19wZXJfcmVnID0gMjsNCj4+PiArDQo+Pj4g
KyAgICByZWdfaWR4ID0gbiAvIGlkc19wZXJfcmVnICsgMzsNCj4+PiArICAgIHJlZ19zaGlmdCA9
ICggbiAlIGlkc19wZXJfcmVnICkgKiAxNjsNCj4+PiArDQo+Pj4gKyAgICBzd2l0Y2ggKCByZWdf
aWR4ICkNCj4+PiArICAgIHsNCj4+PiArICAgIGNhc2UgMzoNCj4+PiArICAgICAgICByZXR1cm4g
cmVzcC0+YTMgPj4gcmVnX3NoaWZ0Ow0KPj4+ICsgICAgY2FzZSA0Og0KPj4+ICsgICAgICAgIHJl
dHVybiByZXNwLT5hNCA+PiByZWdfc2hpZnQ7DQo+Pj4gKyAgICBjYXNlIDU6DQo+Pj4gKyAgICAg
ICAgcmV0dXJuIHJlc3AtPmE1ID4+IHJlZ19zaGlmdDsNCj4+PiArICAgIGNhc2UgNjoNCj4+PiAr
ICAgICAgICByZXR1cm4gcmVzcC0+YTYgPj4gcmVnX3NoaWZ0Ow0KPj4+ICsgICAgY2FzZSA3Og0K
Pj4+ICsgICAgICAgIHJldHVybiByZXNwLT5hNyA+PiByZWdfc2hpZnQ7DQo+Pj4gKyAgICBkZWZh
dWx0Og0KPj4+ICsgICAgICAgIEFTU0VSVCgwKTsgLyogIkNhbid0IGhhcHBlbiIgKi8NCj4+PiAr
ICAgICAgICByZXR1cm4gMDsNCj4+PiArICAgIH0NCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGlj
IHZvaWQgbm90aWZfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGF0YSkNCj4+PiArew0KPj4+
ICsgICAgY29uc3Qgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncyBhcmcgPSB7DQo+Pj4gKyAgICAg
ICAgLmEwID0gRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCwNCj4+PiArICAgIH07DQo+Pj4g
KyAgICBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIHJlc3A7DQo+Pj4gKyAgICB1bnNpZ25lZCBp
bnQgaWRfcG9zOw0KPj4+ICsgICAgdW5zaWduZWQgaW50IGxpc3RfY291bnQ7DQo+Pj4gKyAgICB1
aW50NjRfdCBpZHNfY291bnQ7DQo+Pj4gKyAgICB1bnNpZ25lZCBpbnQgbjsNCj4+PiArICAgIGlu
dDMyX3QgcmVzOw0KPj4+ICsNCj4+PiArICAgIGRvIHsNCj4+PiArICAgICAgICBhcm1fc21jY2Nf
MV8yX3NtYygmYXJnLCAmcmVzcCk7DQo+Pj4gKyAgICAgICAgcmVzID0gZmZhX2dldF9yZXRfY29k
ZSgmcmVzcCk7DQo+Pj4gKyAgICAgICAgaWYgKCByZXMgKQ0KPj4+ICsgICAgICAgIHsNCj4+PiAr
ICAgICAgICAgICAgaWYgKCByZXMgIT0gRkZBX1JFVF9OT19EQVRBICkNCj4+PiArICAgICAgICAg
ICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJmZmE6IG5vdGlmaWNhdGlvbiBpbmZvIGdldCBmYWls
ZWQ6IGVycm9yICVkXG4iLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJlcyk7DQo+Pj4g
KyAgICAgICAgICAgIHJldHVybjsNCj4+PiArICAgICAgICB9DQo+Pj4gKw0KPj4+ICsgICAgICAg
IGlkc19jb3VudCA9IHJlc3AuYTIgPj4gRkZBX05PVElGX0lORk9fR0VUX0lEX0xJU1RfU0hJRlQ7
DQo+Pj4gKyAgICAgICAgbGlzdF9jb3VudCA9ICggcmVzcC5hMiA+PiBGRkFfTk9USUZfSU5GT19H
RVRfSURfQ09VTlRfU0hJRlQgKSAmDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIEZGQV9OT1RJ
Rl9JTkZPX0dFVF9JRF9DT1VOVF9NQVNLOw0KPj4+ICsNCj4+PiArICAgICAgICBpZF9wb3MgPSAw
Ow0KPj4+ICsgICAgICAgIGZvciAoIG4gPSAwOyBuIDwgbGlzdF9jb3VudDsgbisrICkNCj4+PiAr
ICAgICAgICB7DQo+Pj4gKyAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3VudCA9ICgoaWRzX2Nv
dW50ID4+IDIgKiBuKSAmIDB4MykgKyAxOw0KPj4+ICsgICAgICAgICAgICBzdHJ1Y3QgZG9tYWlu
ICpkOw0KPj4+ICsNCj4+PiArICAgICAgICAgICAgZCA9IGZmYV9nZXRfZG9tYWluX2J5X3ZtX2lk
KGdldF9pZF9mcm9tX3Jlc3AoJnJlc3AsIGlkX3BvcykpOw0KPj4+ICsNCj4+PiArICAgICAgICAg
ICAgaWYgKCBkICkNCj4+PiArICAgICAgICAgICAgew0KPj4+ICsgICAgICAgICAgICAgICAgc3Ry
dWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+ICsNCj4+PiArICAgICAgICAgICAg
ICAgIHNwaW5fbG9jaygmY3R4LT5ub3RpZi5sb2NrKTsNCj4+PiArICAgICAgICAgICAgICAgIGN0
eC0+bm90aWYuc2VjdXJlX3BlbmRpbmcgPSB0cnVlOw0KPj4+ICsgICAgICAgICAgICAgICAgc3Bp
bl91bmxvY2soJmN0eC0+bm90aWYubG9jayk7DQo+Pj4gKw0KPj4+ICsgICAgICAgICAgICAgICAg
LyoNCj4+PiArICAgICAgICAgICAgICAgICAqIFNpbmNlIHdlJ3JlIG9ubHkgZGVsaXZlcmluZyBn
bG9iYWwgbm90aWZpY2F0aW9uLCBhbHdheXMNCj4+PiArICAgICAgICAgICAgICAgICAqIGRlbGl2
ZXIgdG8gdGhlIGZpcnN0IHZDUFUuIEl0IGRvZXNuJ3QgbWF0dGVyIHdoaWNoIHdlDQo+Pj4gKyAg
ICAgICAgICAgICAgICAgKiBjaG9zZSwgYXMgbG9uZyBhcyBpdCdzIGF2YWlsYWJsZS4NCj4+PiAr
ICAgICAgICAgICAgICAgICAqLw0KPj4+ICsgICAgICAgICAgICAgICAgdmdpY19pbmplY3RfaXJx
KGQsIGQtPnZjcHVbMF0sIEZGQV9OT1RJRl9QRU5EX0lOVFJfSUQsIHRydWUpOw0KPj4+ICsNCj4+
PiArICAgICAgICAgICAgICAgIHB1dF9kb21haW4oZCk7DQo+Pj4gKyAgICAgICAgICAgIH0NCj4+
PiArDQo+Pj4gKyAgICAgICAgICAgIGlkX3BvcyArPSBjb3VudDsNCj4+PiArICAgICAgICB9DQo+
Pj4gKw0KPj4+ICsgICAgfSB3aGlsZSAocmVzcC5hMiAmIEZGQV9OT1RJRl9JTkZPX0dFVF9NT1JF
X0ZMQUcpOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtzdGF0aWMgaW50MzJfdCBmZmFfbm90aWZpY2F0
aW9uX2JpdG1hcF9jcmVhdGUodWludDE2X3Qgdm1faWQsDQo+Pj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2Y3B1X2NvdW50KQ0KPj4+ICt7
DQo+Pj4gKyAgICByZXR1cm4gZmZhX3NpbXBsZV9jYWxsKEZGQV9OT1RJRklDQVRJT05fQklUTUFQ
X0NSRUFURSwgdm1faWQsIHZjcHVfY291bnQsDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDAsIDApOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtzdGF0aWMgaW50MzJfdCBmZmFfbm90aWZp
Y2F0aW9uX2JpdG1hcF9kZXN0cm95KHVpbnQxNl90IHZtX2lkKQ0KPj4+ICt7DQo+Pj4gKyAgICBy
ZXR1cm4gZmZhX3NpbXBsZV9jYWxsKEZGQV9OT1RJRklDQVRJT05fQklUTUFQX0RFU1RST1ksIHZt
X2lkLCAwLCAwLCAwKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9pZCBmZmFfbm90aWZfaW5pdCh2
b2lkKQ0KPj4+ICt7DQo+Pj4gKyAgICBjb25zdCBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIGFy
ZyA9IHsNCj4+PiArICAgICAgICAuYTAgPSBGRkFfRkVBVFVSRVMsDQo+Pj4gKyAgICAgICAgLmEx
ID0gRkZBX0ZFQVRVUkVfU0NIRURVTEVfUkVDVl9JTlRSLA0KPj4+ICsgICAgfTsNCj4+PiArICAg
IHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgcmVzcDsNCj4+PiArICAgIHVuc2lnbmVkIGludCBp
cnE7DQo+Pj4gKyAgICBpbnQgcmV0Ow0KPj4+ICsNCj4+PiArICAgIGFybV9zbWNjY18xXzJfc21j
KCZhcmcsICZyZXNwKTsNCj4+PiArICAgIGlmICggcmVzcC5hMCAhPSBGRkFfU1VDQ0VTU18zMiAp
DQo+Pj4gKyAgICAgICAgcmV0dXJuOw0KPj4+ICsNCj4+PiArICAgIGlycSA9IHJlc3AuYTI7DQo+
Pj4gKyAgICBpZiAoIGlycSA+PSBOUl9HSUNfU0dJICkNCj4+PiArICAgICAgICBpcnFfc2V0X3R5
cGUoaXJxLCBJUlFfVFlQRV9FREdFX1JJU0lORyk7DQo+Pj4gKyAgICByZXQgPSByZXF1ZXN0X2ly
cShpcnEsIDAsIG5vdGlmX2lycV9oYW5kbGVyLCAiRkYtQSBub3RpZiIsIE5VTEwpOw0KPj4+ICsg
ICAgaWYgKCByZXQgKQ0KPj4+ICsgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJmZmE6IHJlcXVl
c3RfaXJxIGlycSAldSBmYWlsZWQ6IGVycm9yICVkXG4iLA0KPj4+ICsgICAgICAgICAgICAgICBp
cnEsIHJldCk7DQo+Pj4gKyAgICBub3RpZl9lbmFibGVkID0gIXJldDsNCj4+PiArfQ0KPj4+ICsN
Cj4+PiArYm9vbCBmZmFfbm90aWZfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkNCj4+PiAr
ew0KPj4+ICsgICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+ICsgICAg
aW50MzJfdCByZXM7DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCAhbm90aWZfZW5hYmxlZCApDQo+Pj4g
KyAgICAgICAgcmV0dXJuIHRydWU7DQo+Pj4gKw0KPj4+ICsgICAgcmVzID0gZmZhX25vdGlmaWNh
dGlvbl9iaXRtYXBfY3JlYXRlKGZmYV9nZXRfdm1faWQoZCksIGQtPm1heF92Y3B1cyk7DQo+Pj4g
KyAgICBpZiAoIHJlcyApDQo+Pj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOw0KPj4+ICsNCj4+PiAr
ICAgIGN0eC0+bm90aWYuZW5hYmxlZCA9IHRydWU7DQo+Pj4gKw0KPj4+ICsgICAgcmV0dXJuIHRy
dWU7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3ZvaWQgZmZhX25vdGlmX2RvbWFpbl9kZXN0cm95KHN0
cnVjdCBkb21haW4gKmQpDQo+Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBmZmFfY3R4ICpjdHggPSBk
LT5hcmNoLnRlZTsNCj4+PiArDQo+Pj4gKyAgICBpZiAoIGN0eC0+bm90aWYuZW5hYmxlZCApDQo+
Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgZmZhX25vdGlmaWNhdGlvbl9iaXRtYXBfZGVzdHJveShm
ZmFfZ2V0X3ZtX2lkKGQpKTsNCj4+PiArICAgICAgICBjdHgtPm5vdGlmLmVuYWJsZWQgPSBmYWxz
ZTsNCj4+PiArICAgIH0NCj4+PiArfQ0KPj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVl
L2ZmYV9wcml2YXRlLmggYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2YXRlLmgNCj4+PiBpbmRl
eCA5ODIzNmNiZjE0YTMuLjI2YzJhZjE2NGQzOCAxMDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9h
cm0vdGVlL2ZmYV9wcml2YXRlLmgNCj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wcml2
YXRlLmgNCj4+PiBAQCAtMjUsNiArMjUsNyBAQA0KPj4+ICNkZWZpbmUgRkZBX1JFVF9ERU5JRUQg
ICAgICAgICAgICAgICAgICAtNg0KPj4+ICNkZWZpbmUgRkZBX1JFVF9SRVRSWSAgICAgICAgICAg
ICAgICAgICAtNw0KPj4+ICNkZWZpbmUgRkZBX1JFVF9BQk9SVEVEICAgICAgICAgICAgICAgICAt
OA0KPj4+ICsjZGVmaW5lIEZGQV9SRVRfTk9fREFUQSAgICAgICAgICAgICAgICAgLTkNCj4+PiAN
Cj4+PiAvKiBGRkFfVkVSU0lPTiBoZWxwZXJzICovDQo+Pj4gI2RlZmluZSBGRkFfVkVSU0lPTl9N
QUpPUl9TSElGVCAgICAgICAgIDE2VQ0KPj4+IEBAIC02MCw2ICs2MSw4IEBADQo+Pj4gKi8NCj4+
PiAjZGVmaW5lIEZGQV9QQUdFX1NJWkUgICAgICAgICAgICAgICAgICAgU1pfNEsNCj4+PiANCj4+
PiArI2RlZmluZSBGRkFfTk9USUZfQklUTUFQX1NJWkUgICAgICAgICAgIDY0DQo+Pj4gKw0KPj4g
DQo+PiBUaGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgdXNlZC4NCj4gDQo+IFlvdSdyZSByaWdodCwg
SSdsbCByZW1vdmUgaXQuDQo+IA0KPj4gDQo+Pj4gLyoNCj4+PiAqIFRoZSBudW1iZXIgb2YgcGFn
ZXMgdXNlZCBmb3IgZWFjaCBvZiB0aGUgUlggYW5kIFRYIGJ1ZmZlcnMgc2hhcmVkIHdpdGgNCj4+
PiAqIHRoZSBTUE1DLg0KPj4+IEBAIC05Nyw2ICsxMDAsMTggQEANCj4+PiAqLw0KPj4+ICNkZWZp
bmUgRkZBX01BWF9TSE1fQ09VTlQgICAgICAgICAgICAgICAzMg0KPj4+IA0KPj4+ICsvKg0KPj4+
ICsgKiBUT0RPIEhvdyB0byBtYW5hZ2UgdGhlIGF2YWlsYWJsZSBTR0lzPyBTR0kgOC0xNSBzZWVt
IHRvIGJlIGVudGlyZWx5DQo+Pj4gKyAqIHVudXNlZCwgYnV0IHRoYXQgbWF5IGNoYW5nZS4NCj4+
IA0KPj4gSSBhbSBhIGJpdCB3b25kZXJpbmcgd2hhdCB5b3VyIFRPRE8gbWVhbnMgaGVyZS4NCj4+
IERvIHlvdSBtZWFuIHRoYXQgd2Ugc2hvdWxkIGhhdmUgYSB3YXkgdG8gImFsbG9jYXRlIGEgZnJl
ZSBTR0kiID8NCj4gDQo+IEFzIGxvbmcgYXMgb25seSB0aGUgRkYtQSBtZWRpYXRvciBhZGRzIGEg
c3BlY2lhbCBtZWFuaW5nIHRvIGNlcnRhaW4NCj4gdmlydHVhbCBTR0lzIGluIHRoZSA4LTE1IHJh
bmdlIGl0IG1pZ2h0IGJlIG92ZXJraWxsIHdpdGggYW4gYWxsb2NhdG9yLg0KPiBCdXQgaWYgb3Ro
ZXIgcGFydHMgc3RhcnQgdG8gZG8gdGhlIHNhbWUgd2UgbWF5IGhhdmUgY29uZmxpY3RzIGlmIGl0
J3MNCj4gbm90IG1hbmFnZWQgY2VudHJhbGx5Lg0KPiANCj4gVGhhbmtzLA0KPiBKZW5zDQo+IA0K
Pj4gDQo+Pj4gKyAqDQo+Pj4gKyAqIFNHSSBpcyB0aGUgcHJlZmVycmVkIGRlbGl2ZXJ5IG1lY2hh
bmlzbS4gU0dJcyA4LTE1IGFyZSBub3JtYWxseSBub3QgdXNlZA0KPj4+ICsgKiBieSBhIGd1ZXN0
IGFzIHRoZXkgaW4gYSBub24tdmlydHVhbGl6ZWQgc3lzdGVtIHR5cGljYWxseSBhcmUgYXNzaWdu
ZWQgdG8NCj4+PiArICogdGhlIHNlY3VyZSB3b3JsZC4gSGVyZSB3ZSdyZSBmcmVlIHRvIHVzZSBT
R0kgOC0xNSBzaW5jZSB0aGV5IGFyZSB2aXJ0dWFsDQo+Pj4gKyAqIGFuZCBoYXZlIG5vdGhpbmcg
dG8gZG8gd2l0aCB0aGUgc2VjdXJlIHdvcmxkLg0KPj4+ICsgKi8NCj4+PiArI2RlZmluZSBGRkFf
Tk9USUZfUEVORF9JTlRSX0lEICAgICAgOA0KPj4+ICsjZGVmaW5lIEZGQV9TQ0hFRFVMRV9SRUNW
X0lOVFJfSUQgICA5DQo+Pj4gKw0KPj4+IC8qDQo+Pj4gKiBUaGUgdGltZSB3ZSB3YWl0IHVudGls
IHRyeWluZyB0byB0ZWFyIGRvd24gYSBkb21haW4gYWdhaW4gaWYgaXQgd2FzDQo+Pj4gKiBibG9j
a2VkIGluaXRpYWxseS4NCj4+PiBAQCAtMTc1LDYgKzE5MCwyMSBAQA0KPj4+ICovDQo+Pj4gI2Rl
ZmluZSBGRkFfUEFSVElUSU9OX0lORk9fR0VUX0NPVU5UX0ZMQUcgQklUKDAsIFUpDQo+Pj4gDQo+
Pj4gKy8qIEZsYWdzIHVzZWQgaW4gY2FsbHMgdG8gRkZBX05PVElGSUNBVElPTl9HRVQgaW50ZXJm
YWNlICAqLw0KPj4+ICsjZGVmaW5lIEZGQV9OT1RJRl9GTEFHX0JJVE1BUF9TUCAgICAgICAgQklU
KDAsIFUpDQo+Pj4gKyNkZWZpbmUgRkZBX05PVElGX0ZMQUdfQklUTUFQX1ZNICAgICAgICBCSVQo
MSwgVSkNCj4+PiArI2RlZmluZSBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1BNICAgICAgIEJJVCgy
LCBVKQ0KPj4+ICsjZGVmaW5lIEZGQV9OT1RJRl9GTEFHX0JJVE1BUF9IWVAgICAgICAgQklUKDMs
IFUpDQo+Pj4gKw0KPj4+ICsjZGVmaW5lIEZGQV9OT1RJRl9JTkZPX0dFVF9NT1JFX0ZMQUcgICAg
ICAgIEJJVCgwLCBVKQ0KPj4+ICsjZGVmaW5lIEZGQV9OT1RJRl9JTkZPX0dFVF9JRF9MSVNUX1NI
SUZUICAgIDEyDQo+Pj4gKyNkZWZpbmUgRkZBX05PVElGX0lORk9fR0VUX0lEX0NPVU5UX1NISUZU
ICAgNw0KPj4+ICsjZGVmaW5lIEZGQV9OT1RJRl9JTkZPX0dFVF9JRF9DT1VOVF9NQVNLICAgIDB4
MUYNCj4+PiArDQo+Pj4gKy8qIEZlYXR1cmUgSURzIHVzZWQgd2l0aCBGRkFfRkVBVFVSRVMgKi8N
Cj4+PiArI2RlZmluZSBGRkFfRkVBVFVSRV9OT1RJRl9QRU5EX0lOVFIgICAgIDB4MVUNCj4+PiAr
I2RlZmluZSBGRkFfRkVBVFVSRV9TQ0hFRFVMRV9SRUNWX0lOVFIgIDB4MlUNCj4+PiArDQo+Pj4g
LyogRnVuY3Rpb24gSURzICovDQo+Pj4gI2RlZmluZSBGRkFfRVJST1IgICAgICAgICAgICAgICAg
ICAgICAgIDB4ODQwMDAwNjBVDQo+Pj4gI2RlZmluZSBGRkFfU1VDQ0VTU18zMiAgICAgICAgICAg
ICAgICAgIDB4ODQwMDAwNjFVDQo+Pj4gQEAgLTIxMyw2ICsyNDMsMjcgQEANCj4+PiAjZGVmaW5l
IEZGQV9NRU1fRlJBR19UWCAgICAgICAgICAgICAgICAgMHg4NDAwMDA3QlUNCj4+PiAjZGVmaW5l
IEZGQV9NU0dfU0VORCAgICAgICAgICAgICAgICAgICAgMHg4NDAwMDA2RVUNCj4+PiAjZGVmaW5l
IEZGQV9NU0dfUE9MTCAgICAgICAgICAgICAgICAgICAgMHg4NDAwMDA2QVUNCj4+PiArI2RlZmlu
ZSBGRkFfTk9USUZJQ0FUSU9OX0JJVE1BUF9DUkVBVEUgIDB4ODQwMDAwN0RVDQo+Pj4gKyNkZWZp
bmUgRkZBX05PVElGSUNBVElPTl9CSVRNQVBfREVTVFJPWSAweDg0MDAwMDdFVQ0KPj4+ICsjZGVm
aW5lIEZGQV9OT1RJRklDQVRJT05fQklORCAgICAgICAgICAgMHg4NDAwMDA3RlUNCj4+PiArI2Rl
ZmluZSBGRkFfTk9USUZJQ0FUSU9OX1VOQklORCAgICAgICAgIDB4ODQwMDAwODBVDQo+Pj4gKyNk
ZWZpbmUgRkZBX05PVElGSUNBVElPTl9TRVQgICAgICAgICAgICAweDg0MDAwMDgxVQ0KPj4+ICsj
ZGVmaW5lIEZGQV9OT1RJRklDQVRJT05fR0VUICAgICAgICAgICAgMHg4NDAwMDA4MlUNCj4+PiAr
I2RlZmluZSBGRkFfTk9USUZJQ0FUSU9OX0lORk9fR0VUXzMyICAgIDB4ODQwMDAwODNVDQo+Pj4g
KyNkZWZpbmUgRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NCAgICAweEM0MDAwMDgzVQ0KPj4+
ICsNCj4+PiArc3RydWN0IGZmYV9jdHhfbm90aWYgew0KPj4+ICsgICAgYm9vbCBlbmFibGVkOw0K
Pj4+ICsNCj4+PiArICAgIC8qIFVzZWQgdG8gc2VyaWFsaXplIGFjY2VzcyB0byB0aGUgcmVzdCBv
ZiB0aGlzIHN0cnVjdCAqLw0KPj4+ICsgICAgc3BpbmxvY2tfdCBsb2NrOw0KPj4+ICsNCj4+PiAr
ICAgIC8qDQo+Pj4gKyAgICAgKiBUcnVlIGlmIGRvbWFpbiBpcyByZXBvcnRlZCBieSBGRkFfTk9U
SUZJQ0FUSU9OX0lORk9fR0VUIHRvIGhhdmUNCj4+PiArICAgICAqIHBlbmRpbmcgZ2xvYmFsIG5v
dGlmaWNhdGlvbnMuDQo+Pj4gKyAgICAgKi8NCj4+PiArICAgIGJvb2wgc2VjdXJlX3BlbmRpbmc7
DQo+Pj4gK307DQo+Pj4gDQo+Pj4gc3RydWN0IGZmYV9jdHggew0KPj4+ICAgIHZvaWQgKnJ4Ow0K
Pj4+IEBAIC0yMjgsNiArMjc5LDcgQEAgc3RydWN0IGZmYV9jdHggew0KPj4+ICAgIHN0cnVjdCBs
aXN0X2hlYWQgc2htX2xpc3Q7DQo+Pj4gICAgLyogTnVtYmVyIG9mIGFsbG9jYXRlZCBzaGFyZWQg
bWVtb3J5IG9iamVjdCAqLw0KPj4+ICAgIHVuc2lnbmVkIGludCBzaG1fY291bnQ7DQo+Pj4gKyAg
ICBzdHJ1Y3QgZmZhX2N0eF9ub3RpZiBub3RpZjsNCj4+PiAgICAvKg0KPj4+ICAgICAqIHR4X2xv
Y2sgaXMgdXNlZCB0byBzZXJpYWxpemUgYWNjZXNzIHRvIHR4DQo+Pj4gICAgICogcnhfbG9jayBp
cyB1c2VkIHRvIHNlcmlhbGl6ZSBhY2Nlc3MgdG8gcngNCj4+PiBAQCAtMjcxLDEyICszMjMsMzEg
QEAgdWludDMyX3QgZmZhX2hhbmRsZV9yeHR4X21hcCh1aW50MzJfdCBmaWQsIHJlZ2lzdGVyX3Qg
dHhfYWRkciwNCj4+PiB1aW50MzJfdCBmZmFfaGFuZGxlX3J4dHhfdW5tYXAodm9pZCk7DQo+Pj4g
aW50MzJfdCBmZmFfaGFuZGxlX3J4X3JlbGVhc2Uodm9pZCk7DQo+Pj4gDQo+Pj4gK3ZvaWQgZmZh
X25vdGlmX2luaXQodm9pZCk7DQo+Pj4gK2Jvb2wgZmZhX25vdGlmX2RvbWFpbl9pbml0KHN0cnVj
dCBkb21haW4gKmQpOw0KPj4+ICt2b2lkIGZmYV9ub3RpZl9kb21haW5fZGVzdHJveShzdHJ1Y3Qg
ZG9tYWluICpkKTsNCj4+PiArDQo+Pj4gK2ludCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9iaW5k
KHVpbnQzMl90IHNyY19kc3QsIHVpbnQzMl90IGZsYWdzLA0KPj4+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1aW50MzJfdCBiaXRtYXBfbG8sIHVpbnQzMl90IGJpdG1hcF9oaSk7
DQo+Pj4gK2ludCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl91bmJpbmQodWludDMyX3Qgc3JjX2Rz
dCwgdWludDMyX3QgYml0bWFwX2xvLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHVpbnQzMl90IGJpdG1hcF9oaSk7DQo+Pj4gK3ZvaWQgZmZhX2hhbmRsZV9ub3RpZmlj
YXRpb25faW5mb19nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOw0KPj4+ICt2b2lkIGZm
YV9oYW5kbGVfbm90aWZpY2F0aW9uX2dldChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7DQo+
Pj4gK2ludCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9zZXQodWludDMyX3Qgc3JjX2RzdCwgdWlu
dDMyX3QgZmxhZ3MsDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgYml0bWFwX2xvLCB1aW50MzJfdCBiaXRtYXBfaGkpOw0KPj4+ICsNCj4+PiBzdGF0aWMgaW5s
aW5lIHVpbnQxNl90IGZmYV9nZXRfdm1faWQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCkNCj4+PiB7
DQo+Pj4gICAgLyogKzEgc2luY2UgMCBpcyByZXNlcnZlZCBmb3IgdGhlIGh5cGVydmlzb3IgaW4g
RkYtQSAqLw0KPj4+ICAgIHJldHVybiBkLT5kb21haW5faWQgKyAxOw0KPj4+IH0NCj4+PiANCj4+
PiArc3RhdGljIGlubGluZSBzdHJ1Y3QgZG9tYWluICpmZmFfZ2V0X2RvbWFpbl9ieV92bV9pZCh1
aW50MTZfdCB2bV9pZCkNCj4+PiArew0KPj4+ICsgICAgLyogLTEgdG8gbWF0Y2ggZmZhX2dldF92
bV9pZCgpICovDQo+Pj4gKyAgICByZXR1cm4gZ2V0X2RvbWFpbl9ieV9pZCh2bV9pZCAtIDEpOw0K
Pj4+ICt9DQo+Pj4gKw0KPj4+IHN0YXRpYyBpbmxpbmUgdm9pZCBmZmFfc2V0X3JlZ3Moc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHJlZ2lzdGVyX3QgdjAsDQo+Pj4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdGVyX3QgdjEsIHJlZ2lzdGVyX3QgdjIsIHJlZ2lzdGVyX3Qg
djMsDQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyX3QgdjQsIHJl
Z2lzdGVyX3QgdjUsIHJlZ2lzdGVyX3QgdjYsDQo+Pj4gLS0NCj4+PiAyLjM0LjENCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 14:58:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 14:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703363.1098988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruZPX-0000eg-Nw; Wed, 10 Apr 2024 14:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703363.1098988; Wed, 10 Apr 2024 14: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 1ruZPX-0000eZ-Ks; Wed, 10 Apr 2024 14:58:51 +0000
Received: by outflank-mailman (input) for mailman id 703363;
 Wed, 10 Apr 2024 14:58:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=23xn=LP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruZPW-0000eT-Ov
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 14:58:50 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2414::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d55d3808-f74a-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 16:58:48 +0200 (CEST)
Received: from MW2PR16CA0066.namprd16.prod.outlook.com (2603:10b6:907:1::43)
 by IA0PR12MB8893.namprd12.prod.outlook.com (2603:10b6:208:484::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.54; Wed, 10 Apr
 2024 14:58:44 +0000
Received: from MWH0EPF000989E5.namprd02.prod.outlook.com
 (2603:10b6:907:1:cafe::63) by MW2PR16CA0066.outlook.office365.com
 (2603:10b6:907:1::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 14:58:44 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MWH0EPF000989E5.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 14:58:44 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 09:58:43 -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.35 via Frontend
 Transport; Wed, 10 Apr 2024 09:58: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: d55d3808-f74a-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CoPabj3pLU3MYE7mMmMUwu2CP5rRlQoq7BdvwIeqsoiig3Bg8kCG2Wfci+XLosDwH1FSgxv6U9cp99oVmAn77kurVxDMdSa6dZMVFsnFHaN2/0nl54R0GN5qzTZAxrn6dp3DH6NluThaPAw7F74LqX7YuSPwvmJFBV8aOiaEM/u4pFJ3bh9Kv2oeYMvSCrwuGW6eO6V1WUQgsi7d2TxDqimxUPhC2Fdd4qOenjGeWd4lJYvrv9/8kDcSqYrYtyM5IAtW+eo5BLZoqe25lHGx7DYjKlJYU/3dlRc4wTZa+lv0pqeLkxEkJ3lT1wedGkLQPRj8NcDU8Fpdn/13Uw1ntQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lUYXT+lySupyG2n8L+1iRKSiFtZLMt2zGXTL1cZJQ/c=;
 b=c5CHnwQJ6vBiI0miMpM2zoXof9F7jE6nHBEa8JMHCAksHbcbbtcKLFOz2clxICk8xZzPep04kR1BHD26SAIg/W2+QqfDFS/hy7vILzQbvr92nP7q/toNRnKvBX6cpwCwLc1NtnX8SNByyStS/MtXtTxoXzrpMtgKVM6fiBxg+UdhG1iAVzgPR1c9ZrkAHaeceYr4bZWsl4kXgdQj7rcoD83l6yyif0/wyrBsBr8zHzKmWS0L84QZqQnss9a4VIhy3U6Kerbe0g8ymevqQXfmIhOORWdGK6gkUkHdjjYWU/Uen+C7thoyy+Bt0vW/bydzMnbs7S8FIK+mbtnDd+QVMA==
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=lUYXT+lySupyG2n8L+1iRKSiFtZLMt2zGXTL1cZJQ/c=;
 b=dkiGYlPQwYg+5jTIOBNtw9Yfp+iCl05jFX54ZhG3ETua8tvasejKezjz3+tO+/p58ObfTHp7Bb0U1JOx0viSgoV3GSuJ8rXfD/B1LADjFyvC/xP2PJSMZYPVvdID1LGa/S5qn0fQn9+nUb15Rv8bS3YQqTn0AndF9wcseyUCRks=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <f31cf43c-90f9-40e2-8d25-7a421d4c6d6f@amd.com>
Date: Wed, 10 Apr 2024 16:58:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 10/13] xen/arm: remove shm holes from extended regions
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-11-luca.fancellu@arm.com>
 <38281ab3-0680-44d3-8c81-14b09d52680b@amd.com>
 <B92FBADE-8FB8-471F-AD6E-693FC5C1D91A@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <B92FBADE-8FB8-471F-AD6E-693FC5C1D91A@arm.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: MWH0EPF000989E5:EE_|IA0PR12MB8893:EE_
X-MS-Office365-Filtering-Correlation-Id: efb4f885-ad51-4805-d873-08dc596eb7c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rCP0dW7xxmDOG3hDj7LtuQYpsPU6gTvLqo725jLfhVHJ0XE/kXyIYu8UWkXLhcSkHIlDpBPxE3e6uOoP7WAjxPYtCcYF12eiNusxC7gbZYqCkS8//xAqiwc2hOS8O0dwPe3/FKdeyM1kPOjMC0uqTRvaSCxQQgHxBcXJcxZUBxT1Fiwbei8iJ1VogG+Zh9iWGuUqbRcUHSGkvU87YC8Z4jNp7JfZFwCM5Hvp8+ELi5Zny9ih8gmSt7Lyh4R5qx2JUPZWWkUl1uJXiQ1d9DkQMZYmH3slvMCDKHdLV5ZEZ7askUBKQBaXu6rmF5kNb8+I3AQ4YpQnNGCnk2D+OY2lXOq+bN4VsoR5YNrp5Le2hCF3WbPpg905UPG2M2HoSlQZARrDMD1Nsr7OgEIBRDZn1djQeajdixb8S+HkfUIcKH2MO0tFop2Xml1lPFukiMnWySmMVmsf+V+SVQrX2ov8LYazO5XD0aMmWLqdu9vwZUCEBss506+auvdMzfm6agiJLxhP0BgQ6EB2y3a/hf+mRQGUkrShI8XTquxXm0HO1pa12BRfOxRx4S3a3CPpDZIb/930LsY7oA0yWWc7RiR8el9Gzs3EBVZgzGCOAIHzc36uAZYfM2f71AD0K8r7q29+WVnMpztjW+VFqrlPhNSTYuzkq4hfBkVLddgjFCJaLPi419hnr1HZeOZ1OMxlEcxg7r1yvhZdd6BF42SPXeP4flTPGmX4iKxu+K/WaVf0Gid+H/5Otl8EvtYGahWQsIIH
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 14:58:44.2545
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: efb4f885-ad51-4805-d873-08dc596eb7c3
X-MS-Exchange-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:
	MWH0EPF000989E5.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8893

Hi Luca,

On 10/04/2024 16:08, Luca Fancellu wrote:
> 
> 
> Hi Michal,
> 
>>>
>>> For direct-map domain with iommu on, after we get guest shm info from "kinfo",
>>> we use "remove_shm_from_rangeset" to remove static shm.
>>>
>>> For direct-map domain with iommu off, as static shm has already been taken
>>> care of through reserved memory banks, we do nothing.
>> Stale info given that shmem is no longer part of reserved memory banks. It's been taken care
>> of by removing shmem regions in find_unallocated_memory()
> 
> Sure, will amend for this:
> 
>>>
>>> +int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
>>> +                                    struct rangeset *rangeset)
>>> +{
>>> +    const struct membanks *shm_mem = &kinfo->shm_mem.common;
>>> +    unsigned int i;
>>> +
>>> +    /* Remove static shared memory regions */
>>> +    for ( i = 0; i < shm_mem->nr_banks; i++ )
>>> +    {
>>> +        paddr_t start, end;
>>> +        int res;
>>> +
>>> +        start = shm_mem->bank[i].start;
>>> +        end = shm_mem->bank[i].start + shm_mem->bank[i].size - 1;
>> If you look at other rangeset_remove_range use cases and error messages, 1 is subtracted
>> in PFN_DOWN() so that the error message contains end unchanged. Please adhere to that so that
>> printed messages are consistent.
> 
> Yes I will change it to have -1 inside PFN_DOWN(), here and in the other occurrences
>>>
>>> +    /* Remove static shared memory regions */
>>> +    res = remove_shm_from_rangeset(kinfo, guest_holes);
>>> +    if ( res )
>>> +        goto out;
>>> +
>> Could you please add a comment explaining here what's done below?
> 
> Is it ok something like this:
I'm ok with your proposal in the other e-mail.

> 
> /*
>  * Take the interval of memory starting from the first extended region bank
>  * start address and ending to the end of the last extended region bank.
I would stop here. The rest reads quite difficult.

>  * The interval will be passed to rangeset_report_ranges to allow it to
>  * create, by the add_ext_regions callback, a set of extended memory region
>  * banks from the guest_holes rangeset, which contains the original extended
>  * memory region ranges where the static shared memory ranges are carved
>  * out.
>  */
> 
>>> +    i = ext_regions->nr_banks - 1;
>>> +    start = ext_regions->bank[0].start;
>>> +    end = ext_regions->bank[i].start + ext_regions->bank[i].size - 1;
>>> +
>>> +    /* Reset original extended regions to hold new value */
>>> +    ext_regions->nr_banks = 0;
>>> +    res = rangeset_report_ranges(guest_holes, PFN_DOWN(start), PFN_DOWN(end),
>>> +                                 add_ext_regions, ext_regions);
>>> +    if ( res )
>>> +        ext_regions->nr_banks = 0;
>>> +    else if ( !ext_regions->nr_banks )
>>> +        res = -ENOENT;
>>> +
>>> + out:
>>> +    rangeset_destroy(guest_holes);
>>> +
>>> +    return res;
>>> +}
>>> +
>>> /*
>>>  * Local variables:
>>>  * mode: C
>>> --
>>> 2.34.1
>>>
>>
>> ~Michal
>>
> 
> Cheers,
> Luca

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:14:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703368.1098998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruZev-0003qg-0K; Wed, 10 Apr 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 703368.1098998; Wed, 10 Apr 2024 15:14:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruZeu-0003qZ-Te; Wed, 10 Apr 2024 15:14:44 +0000
Received: by outflank-mailman (input) for mailman id 703368;
 Wed, 10 Apr 2024 15:14: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=7FY1=LP=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruZet-0003oZ-4F
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:14:43 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e2e7ba5-f74d-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 17:14:41 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-41551639550so47352215e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 08:14:41 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 n6-20020a5d6606000000b0033e745b8bcfsm13911362wru.88.2024.04.10.08.14.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 08:14: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: 0e2e7ba5-f74d-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712762081; x=1713366881; 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=Udh8ZMDVEpECGFfFBU6EwaiH5r4l1ii9BHFyxiYdzRg=;
        b=U2lefbNBXNatST4WmOTs1IFVOcHmGIRj9zJmvjIQn73AvyMNX7Sn5/xV2kvy5IgW6n
         IKJxIZewwXZwBmVGhgv1OS3/C7vcXvz5eCCcgVUrSi5YdxqXLMWbjRhJqcF3rTzhuxpP
         HxJzTA2cE3dCMnQp7q1cN6jNsT3axEt4N78mI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712762081; x=1713366881;
        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=Udh8ZMDVEpECGFfFBU6EwaiH5r4l1ii9BHFyxiYdzRg=;
        b=sh3XX/773eK8ep/n6rVOBrzNc0jJ9sRho0eJZXhr6FsNHdCEvUkGB89F/2pZfS2b/+
         urdSD+oZ8WKen6GDfh4Ud2T+J5jsnzSJS7CDtYShwDLparKG35ec3zBsMD0eLEZG50Wm
         w/NEjXiujZHPuUx8YcYpusGoQgIg6+qEaguoiuiGciVcKB6qqp3tKiCXFGTvIPYT1nsb
         JUHNffPJsmS+F8BvQOhuymXO8hTr9TOwE9KIzI7AHAj8mG5kSSxD/CTnq9cdLXPui9P/
         a68DLkBMAwZniUMBnBhVgTZH28wM4X3BiKmKxiVnkm3sFn8bycXSsMe9qtZsp70+FBmb
         sGfg==
X-Gm-Message-State: AOJu0YwcTTS2lyCwh0y0B9GCcSKpoDbN26MhfZgwU1EyCoqGvQpE4S96
	qqv0PQnPddMYRoWZdvYh4UZXiktEl2vsfIMZgH1XA831iRVuQkPjZXOXR2UEUvQ=
X-Google-Smtp-Source: AGHT+IEFFk1rpRMkCPZMJxvqvktLYBdF8shanxlUvfeFqpY2ycN+Q5t7Pb9XPz41K0WHk9DNquCBEg==
X-Received: by 2002:a05:6000:1561:b0:345:bbf8:5568 with SMTP id 1-20020a056000156100b00345bbf85568mr3202098wrz.7.1712762081179;
        Wed, 10 Apr 2024 08:14:41 -0700 (PDT)
Date: Wed, 10 Apr 2024 17:14:40 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: Re: [PATCH v2 2/2] x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and
 conditionalise ucode
Message-ID: <Zhas4MQdL3hQ6Uww@macbook>
References: <20231026205539.3261811-1-andrew.cooper3@citrix.com>
 <20231026205539.3261811-3-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: <20231026205539.3261811-3-andrew.cooper3@citrix.com>

On Thu, Oct 26, 2023 at 09:55:39PM +0100, Andrew Cooper wrote:
> We eventually want to be able to build a stripped down Xen for a single
> platform.  Make a start with CONFIG_{AMD,INTEL} (hidden behind EXPERT, but
> available to randconfig), and adjust the microcode logic.
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> CC: Stefano Stabellini <stefano.stabellini@amd.com>
> CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> 
> I've intentionally ignored the other vendors for now.  They can be put into
> Kconfig by whomever figures out the actual dependencies between their init
> routines.
> 
> v2:
>  * Tweak text
> ---
>  xen/arch/x86/Kconfig                 |  2 ++
>  xen/arch/x86/Kconfig.cpu             | 22 ++++++++++++++++++++++
>  xen/arch/x86/cpu/microcode/Makefile  |  4 ++--
>  xen/arch/x86/cpu/microcode/private.h |  9 +++++++++
>  4 files changed, 35 insertions(+), 2 deletions(-)
>  create mode 100644 xen/arch/x86/Kconfig.cpu
> 
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index eac77573bd75..d9eacdd7e0fa 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -49,6 +49,8 @@ config HAS_CC_CET_IBT
>  
>  menu "Architecture Features"
>  
> +source "arch/x86/Kconfig.cpu"

Since we are not targeting at the CPU only, would this be better named
as Kconfig.vendor?  Or Kconfig.platform?  (I'm OK if you prefer to
leave as .cpu, just suggesting more neutral names.

> +
>  source "arch/Kconfig"
>  
>  config PV
> diff --git a/xen/arch/x86/Kconfig.cpu b/xen/arch/x86/Kconfig.cpu
> new file mode 100644
> index 000000000000..3c5d88fdfd16
> --- /dev/null
> +++ b/xen/arch/x86/Kconfig.cpu
> @@ -0,0 +1,22 @@
> +menu "Supported CPU vendors"
> +	visible if EXPERT
> +
> +config AMD
> +	bool "AMD"
> +        default y
> +        help
> +          Detection, tunings and quirks for AMD platforms.
> +
> +	  May be turned off in builds targetting other vendors.  Otherwise,
> +	  must be enabled for Xen to work suitably on AMD platforms.
> +
> +config INTEL
> +	bool "Intel"
> +        default y
> +        help
> +          Detection, tunings and quirks for Intel platforms.
> +
> +	  May be turned off in builds targetting other vendors.  Otherwise,
> +	  must be enabled for Xen to work suitably on Intel platforms.

There seems to be a weird mix between hard tabs and spaces above.
Naming is OK for me.

> +
> +endmenu
> diff --git a/xen/arch/x86/cpu/microcode/Makefile b/xen/arch/x86/cpu/microcode/Makefile
> index aae235245b06..30d600544f45 100644
> --- a/xen/arch/x86/cpu/microcode/Makefile
> +++ b/xen/arch/x86/cpu/microcode/Makefile
> @@ -1,3 +1,3 @@
> -obj-y += amd.o
> +obj-$(CONFIG_AMD) += amd.o
>  obj-y += core.o
> -obj-y += intel.o
> +obj-$(CONFIG_INTEL) += intel.o
> diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
> index b58611e908aa..da556fe5060a 100644
> --- a/xen/arch/x86/cpu/microcode/private.h
> +++ b/xen/arch/x86/cpu/microcode/private.h
> @@ -70,7 +70,16 @@ struct microcode_ops {
>   * support available) and (not) ops->apply_microcode (i.e. read only).
>   * Otherwise, all hooks must be filled in.
>   */
> +#ifdef CONFIG_AMD
>  void ucode_probe_amd(struct microcode_ops *ops);
> +#else
> +static inline void ucode_probe_amd(struct microcode_ops *ops) {}
> +#endif
> +
> +#ifdef CONFIG_INTEL
>  void ucode_probe_intel(struct microcode_ops *ops);
> +#else
> +static inline void ucode_probe_intel(struct microcode_ops *ops) {}

This is stale now, and will need some updating to match what's in
private.h.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:36:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703375.1099028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua0O-0007pn-6P; Wed, 10 Apr 2024 15:36:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703375.1099028; Wed, 10 Apr 2024 15:36:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua0O-0007pa-1B; Wed, 10 Apr 2024 15:36:56 +0000
Received: by outflank-mailman (input) for mailman id 703375;
 Wed, 10 Apr 2024 15:36: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=NRyK=LP=localhost=root@srs-se1.protection.inumbo.net>)
 id 1rua0M-0007oC-Sg
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:36:54 +0000
Received: from localhost (ip-201.net-81-220-136.rev.numericable.fr
 [81.220.136.201]) by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 26cd26b8-f750-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 17:36:51 +0200 (CEST)
Received: by localhost (Postfix, from userid 0)
 id 57DEEE3202; Wed, 10 Apr 2024 17:36:51 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26cd26b8-f750-11ee-94a3-07e782e9044d
From: Andrei Semenov <andrei.semenov@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Andrei Semenov <andrei.semenov@vates.fr>,
	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 v1 1/2] Implemented AMD SEV discovery and enabling.
Date: Wed, 10 Apr 2024 17:36:36 +0200
Message-Id: <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.1712759753.git.andrei.semenov@vates.fr>
References: <cover.1712759753.git.andrei.semenov@vates.fr>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Andrei Semenov <andrei.semenov@vates.fr>
---
 xen/arch/x86/cpu/amd.c                 | 53 ++++++++++++++++++++++++++
 xen/arch/x86/hvm/svm/Makefile          |  1 +
 xen/arch/x86/hvm/svm/sev.c             |  4 ++
 xen/arch/x86/include/asm/cpufeature.h  |  3 ++
 xen/arch/x86/include/asm/cpufeatures.h |  2 +
 xen/arch/x86/include/asm/msr-index.h   |  1 +
 xen/arch/x86/include/asm/sev.h         | 11 ++++++
 7 files changed, 75 insertions(+)
 create mode 100644 xen/arch/x86/hvm/svm/sev.c
 create mode 100644 xen/arch/x86/include/asm/sev.h

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index ab92333673..a5903613f0 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -16,6 +16,7 @@
 #include <asm/acpi.h>
 #include <asm/apic.h>
 #include <asm/microcode.h>
+#include <asm/sev.h>
 
 #include "cpu.h"
 
@@ -1030,6 +1031,54 @@ static void amd_check_erratum_1485(void)
 	wrmsrl(MSR_AMD64_BP_CFG, val | chickenbit);
 }
 
+#ifdef CONFIG_HVM
+static void amd_enable_mem_encrypt(const struct cpuinfo_x86 *c)
+{
+	unsigned int  eax, ebx, ecx, edx;
+	uint64_t syscfg;
+
+	if (!smp_processor_id()) {
+
+		cpuid_count(0x80000000,0,&eax, &ebx, &ecx, &edx);
+
+		if (eax <  0x8000001f)
+			return;
+
+		cpuid_count(0x8000001f,0,&eax, &ebx, &ecx, &edx);
+
+		if (eax & 0x1)
+			setup_force_cpu_cap(X86_FEATURE_SME);
+
+		if (eax & 0x2) {
+			setup_force_cpu_cap(X86_FEATURE_SEV);
+			max_sev_asid = ecx;
+			min_sev_asid = edx;
+		}
+
+		if (eax & 0x3)
+			pte_c_bit_mask = 1UL << (ebx & 0x3f);
+	}
+
+	if (!(cpu_has_sme || cpu_has_sev))
+		return;
+
+	if (!smp_processor_id()) {
+		if (cpu_has_sev)
+			printk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",
+			min_sev_asid, max_sev_asid);
+	}
+
+	rdmsrl(MSR_K8_SYSCFG, syscfg);
+
+	if (syscfg & SYSCFG_MEM_ENCRYPT) {
+		return;
+	}
+
+	syscfg |= SYSCFG_MEM_ENCRYPT;
+	wrmsrl(MSR_K8_SYSCFG, syscfg);
+}
+#endif
+
 static void cf_check init_amd(struct cpuinfo_x86 *c)
 {
 	u32 l, h;
@@ -1305,6 +1354,10 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
 	check_syscfg_dram_mod_en();
 
 	amd_log_freq(c);
+
+#ifdef CONFIG_HVM
+	amd_enable_mem_encrypt(c);
+#endif
 }
 
 const struct cpu_dev __initconst_cf_clobber amd_cpu_dev = {
diff --git a/xen/arch/x86/hvm/svm/Makefile b/xen/arch/x86/hvm/svm/Makefile
index 760d2954da..9773d539ef 100644
--- a/xen/arch/x86/hvm/svm/Makefile
+++ b/xen/arch/x86/hvm/svm/Makefile
@@ -6,3 +6,4 @@ obj-y += nestedsvm.o
 obj-y += svm.o
 obj-y += svmdebug.o
 obj-y += vmcb.o
+obj-y += sev.o
diff --git a/xen/arch/x86/hvm/svm/sev.c b/xen/arch/x86/hvm/svm/sev.c
new file mode 100644
index 0000000000..336fad25f5
--- /dev/null
+++ b/xen/arch/x86/hvm/svm/sev.c
@@ -0,0 +1,4 @@
+#include <asm/sev.h>
+uint64_t __read_mostly pte_c_bit_mask;
+unsigned int __read_mostly min_sev_asid;
+unsigned int __read_mostly max_sev_asid;
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 743f11f989..a41374d0b7 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -231,6 +231,9 @@ static inline bool boot_cpu_has(unsigned int feat)
 
 #define cpu_has_msr_tsc_aux     (cpu_has_rdtscp || cpu_has_rdpid)
 
+#define cpu_has_sme             boot_cpu_has(X86_FEATURE_SME)
+#define cpu_has_sev             boot_cpu_has(X86_FEATURE_SEV)
+
 /* Bugs. */
 #define cpu_bug_fpu_ptrs        boot_cpu_has(X86_BUG_FPU_PTRS)
 #define cpu_bug_null_seg        boot_cpu_has(X86_BUG_NULL_SEG)
diff --git a/xen/arch/x86/include/asm/cpufeatures.h b/xen/arch/x86/include/asm/cpufeatures.h
index ba3df174b7..9b67ea2427 100644
--- a/xen/arch/x86/include/asm/cpufeatures.h
+++ b/xen/arch/x86/include/asm/cpufeatures.h
@@ -42,6 +42,8 @@ XEN_CPUFEATURE(XEN_SHSTK,         X86_SYNTH(26)) /* Xen uses CET Shadow Stacks *
 XEN_CPUFEATURE(XEN_IBT,           X86_SYNTH(27)) /* Xen uses CET Indirect Branch Tracking */
 XEN_CPUFEATURE(IBPB_ENTRY_PV,     X86_SYNTH(28)) /* MSR_PRED_CMD used by Xen for PV */
 XEN_CPUFEATURE(IBPB_ENTRY_HVM,    X86_SYNTH(29)) /* MSR_PRED_CMD used by Xen for HVM */
+XEN_CPUFEATURE(SME,               X86_SYNTH(30)) /* AMD Secure Memory Encrypion */
+XEN_CPUFEATURE(SEV,               X86_SYNTH(31)) /* AMD Secure Encryption Virtualization */
 
 /* Bug words follow the synthetic words. */
 #define X86_NR_BUG 1
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 92dd9fa496..318e8ca0c0 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -221,6 +221,7 @@
 #define  SYSCFG_MTRR_VAR_DRAM_EN            (_AC(1, ULL) << 20)
 #define  SYSCFG_MTRR_TOM2_EN                (_AC(1, ULL) << 21)
 #define  SYSCFG_TOM2_FORCE_WB               (_AC(1, ULL) << 22)
+#define  SYSCFG_MEM_ENCRYPT                 (_AC(1, ULL) << 23)
 
 #define MSR_K8_IORR_BASE0                   _AC(0xc0010016, U)
 #define MSR_K8_IORR_MASK0                   _AC(0xc0010017, U)
diff --git a/xen/arch/x86/include/asm/sev.h b/xen/arch/x86/include/asm/sev.h
new file mode 100644
index 0000000000..7bec230c7b
--- /dev/null
+++ b/xen/arch/x86/include/asm/sev.h
@@ -0,0 +1,11 @@
+#ifndef __XEN_SEV_H__
+#define __XEN_SEV_H__
+
+#include <xen/types.h>
+#include <asm/cache.h>
+
+extern uint64_t __read_mostly pte_c_bit_mask;
+extern unsigned int __read_mostly min_sev_asid;
+extern unsigned int __read_mostly max_sev_asid;
+
+#endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:36:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703376.1099038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua0P-00085c-Hf; Wed, 10 Apr 2024 15:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703376.1099038; Wed, 10 Apr 2024 15:36:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua0P-00085V-EF; Wed, 10 Apr 2024 15:36:57 +0000
Received: by outflank-mailman (input) for mailman id 703376;
 Wed, 10 Apr 2024 15:36:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NRyK=LP=localhost=root@srs-se1.protection.inumbo.net>)
 id 1rua0N-0007oC-Q3
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:36:56 +0000
Received: from localhost (ip-201.net-81-220-136.rev.numericable.fr
 [81.220.136.201]) by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 278380bc-f750-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 17:36:52 +0200 (CEST)
Received: by localhost (Postfix, from userid 0)
 id A41B0E3204; Wed, 10 Apr 2024 17:36:52 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 278380bc-f750-11ee-94a3-07e782e9044d
From: Andrei Semenov <andrei.semenov@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Andrei Semenov <andrei.semenov@vates.fr>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 2/2] Implemented Amd Secure Processor device driver
Date: Wed, 10 Apr 2024 17:36:37 +0200
Message-Id: <8c9627ef69e8d809efcb93b50fc34474f2b0ba7f.1712759753.git.andrei.semenov@vates.fr>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.1712759753.git.andrei.semenov@vates.fr>
References: <cover.1712759753.git.andrei.semenov@vates.fr>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Andrei Semenov <andrei.semenov@vates.fr>
---
 xen/arch/x86/include/asm/psp-sev.h | 655 +++++++++++++++++++++++
 xen/drivers/Kconfig                |   2 +
 xen/drivers/Makefile               |   1 +
 xen/drivers/crypto/Kconfig         |  10 +
 xen/drivers/crypto/Makefile        |   1 +
 xen/drivers/crypto/asp.c           | 808 +++++++++++++++++++++++++++++
 xen/include/xen/types.h            |   2 +-
 7 files changed, 1478 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/x86/include/asm/psp-sev.h
 create mode 100644 xen/drivers/crypto/Kconfig
 create mode 100644 xen/drivers/crypto/Makefile
 create mode 100644 xen/drivers/crypto/asp.c

diff --git a/xen/arch/x86/include/asm/psp-sev.h b/xen/arch/x86/include/asm/psp-sev.h
new file mode 100644
index 0000000000..3413de41a9
--- /dev/null
+++ b/xen/arch/x86/include/asm/psp-sev.h
@@ -0,0 +1,655 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * AMD Secure Encrypted Virtualization (SEV) driver interface
+ *
+ * Copyright (C) 2016-2017 Advanced Micro Devices, Inc.
+ *
+ * Author: Brijesh Singh <brijesh.singh@amd.com>
+ *
+ * SEV API spec is available at https://developer.amd.com/sev
+ */
+
+#ifndef __PSP_SEV_H__
+#define __PSP_SEV_H__
+
+#include <xen/types.h>
+
+/**
+ * SEV platform and guest management commands
+ */
+enum sev_cmd {
+	/* platform commands */
+	SEV_CMD_INIT			= 0x001,
+	SEV_CMD_SHUTDOWN		= 0x002,
+	SEV_CMD_FACTORY_RESET		= 0x003,
+	SEV_CMD_PLATFORM_STATUS		= 0x004,
+	SEV_CMD_PEK_GEN			= 0x005,
+	SEV_CMD_PEK_CSR			= 0x006,
+	SEV_CMD_PEK_CERT_IMPORT		= 0x007,
+	SEV_CMD_PDH_CERT_EXPORT		= 0x008,
+	SEV_CMD_PDH_GEN			= 0x009,
+	SEV_CMD_DF_FLUSH		= 0x00A,
+	SEV_CMD_DOWNLOAD_FIRMWARE	= 0x00B,
+	SEV_CMD_GET_ID			= 0x00C,
+	SEV_CMD_INIT_EX                 = 0x00D,
+
+	/* Guest commands */
+	SEV_CMD_DECOMMISSION		= 0x020,
+	SEV_CMD_ACTIVATE		= 0x021,
+	SEV_CMD_DEACTIVATE		= 0x022,
+	SEV_CMD_GUEST_STATUS		= 0x023,
+
+	/* Guest launch commands */
+	SEV_CMD_LAUNCH_START		= 0x030,
+	SEV_CMD_LAUNCH_UPDATE_DATA	= 0x031,
+	SEV_CMD_LAUNCH_UPDATE_VMSA	= 0x032,
+	SEV_CMD_LAUNCH_MEASURE		= 0x033,
+	SEV_CMD_LAUNCH_UPDATE_SECRET	= 0x034,
+	SEV_CMD_LAUNCH_FINISH		= 0x035,
+	SEV_CMD_ATTESTATION_REPORT	= 0x036,
+
+	/* Guest migration commands (outgoing) */
+	SEV_CMD_SEND_START		= 0x040,
+	SEV_CMD_SEND_UPDATE_DATA	= 0x041,
+	SEV_CMD_SEND_UPDATE_VMSA	= 0x042,
+	SEV_CMD_SEND_FINISH		= 0x043,
+	SEV_CMD_SEND_CANCEL		= 0x044,
+
+	/* Guest migration commands (incoming) */
+	SEV_CMD_RECEIVE_START		= 0x050,
+	SEV_CMD_RECEIVE_UPDATE_DATA	= 0x051,
+	SEV_CMD_RECEIVE_UPDATE_VMSA	= 0x052,
+	SEV_CMD_RECEIVE_FINISH		= 0x053,
+
+	/* Guest debug commands */
+	SEV_CMD_DBG_DECRYPT		= 0x060,
+	SEV_CMD_DBG_ENCRYPT		= 0x061,
+
+	SEV_CMD_MAX,
+};
+
+/**
+ * struct sev_data_init - INIT command parameters
+ *
+ * @flags: processing flags
+ * @tmr_address: system physical address used for SEV-ES
+ * @tmr_len: len of tmr_address
+ */
+struct sev_data_init {
+	u32 flags;			/* In */
+	u32 reserved;			/* In */
+	u64 tmr_address;		/* In */
+	u32 tmr_len;			/* In */
+} __packed;
+
+/**
+ * struct sev_data_init_ex - INIT_EX command parameters
+ *
+ * @length: len of the command buffer read by the PSP
+ * @flags: processing flags
+ * @tmr_address: system physical address used for SEV-ES
+ * @tmr_len: len of tmr_address
+ * @nv_address: system physical address used for PSP NV storage
+ * @nv_len: len of nv_address
+ */
+struct sev_data_init_ex {
+	u32 length;                     /* In */
+	u32 flags;                      /* In */
+	u64 tmr_address;                /* In */
+	u32 tmr_len;                    /* In */
+	u32 reserved;                   /* In */
+	u64 nv_address;                 /* In/Out */
+	u32 nv_len;                     /* In */
+} __packed;
+
+#define SEV_INIT_FLAGS_SEV_ES	0x01
+
+/**
+ * struct sev_data_pek_csr - PEK_CSR command parameters
+ *
+ * @address: PEK certificate chain
+ * @len: len of certificate
+ */
+struct sev_data_pek_csr {
+	u64 address;				/* In */
+	u32 len;				/* In/Out */
+} __packed;
+
+/**
+ * struct sev_data_cert_import - PEK_CERT_IMPORT command parameters
+ *
+ * @pek_address: PEK certificate chain
+ * @pek_len: len of PEK certificate
+ * @oca_address: OCA certificate chain
+ * @oca_len: len of OCA certificate
+ */
+struct sev_data_pek_cert_import {
+	u64 pek_cert_address;			/* In */
+	u32 pek_cert_len;			/* In */
+	u32 reserved;				/* In */
+	u64 oca_cert_address;			/* In */
+	u32 oca_cert_len;			/* In */
+} __packed;
+
+/**
+ * struct sev_data_download_firmware - DOWNLOAD_FIRMWARE command parameters
+ *
+ * @address: physical address of firmware image
+ * @len: len of the firmware image
+ */
+struct sev_data_download_firmware {
+	u64 address;				/* In */
+	u32 len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_get_id - GET_ID command parameters
+ *
+ * @address: physical address of region to place unique CPU ID(s)
+ * @len: len of the region
+ */
+struct sev_data_get_id {
+	u64 address;				/* In */
+	u32 len;				/* In/Out */
+} __packed;
+/**
+ * struct sev_data_pdh_cert_export - PDH_CERT_EXPORT command parameters
+ *
+ * @pdh_address: PDH certificate address
+ * @pdh_len: len of PDH certificate
+ * @cert_chain_address: PDH certificate chain
+ * @cert_chain_len: len of PDH certificate chain
+ */
+struct sev_data_pdh_cert_export {
+	u64 pdh_cert_address;			/* In */
+	u32 pdh_cert_len;			/* In/Out */
+	u32 reserved;				/* In */
+	u64 cert_chain_address;			/* In */
+	u32 cert_chain_len;			/* In/Out */
+} __packed;
+
+/**
+ * struct sev_data_decommission - DECOMMISSION command parameters
+ *
+ * @handle: handle of the VM to decommission
+ */
+struct sev_data_decommission {
+	u32 handle;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_activate - ACTIVATE command parameters
+ *
+ * @handle: handle of the VM to activate
+ * @asid: asid assigned to the VM
+ */
+struct sev_data_activate {
+	u32 handle;				/* In */
+	u32 asid;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_deactivate - DEACTIVATE command parameters
+ *
+ * @handle: handle of the VM to deactivate
+ */
+struct sev_data_deactivate {
+	u32 handle;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_guest_status - SEV GUEST_STATUS command parameters
+ *
+ * @handle: handle of the VM to retrieve status
+ * @policy: policy information for the VM
+ * @asid: current ASID of the VM
+ * @state: current state of the VM
+ */
+struct sev_data_guest_status {
+	u32 handle;				/* In */
+	u32 policy;				/* Out */
+	u32 asid;				/* Out */
+	u8 state;				/* Out */
+} __packed;
+
+/**
+ * struct sev_data_launch_start - LAUNCH_START command parameters
+ *
+ * @handle: handle assigned to the VM
+ * @policy: guest launch policy
+ * @dh_cert_address: physical address of DH certificate blob
+ * @dh_cert_len: len of DH certificate blob
+ * @session_address: physical address of session parameters
+ * @session_len: len of session parameters
+ */
+struct sev_data_launch_start {
+	u32 handle;				/* In/Out */
+	u32 policy;				/* In */
+	u64 dh_cert_address;			/* In */
+	u32 dh_cert_len;			/* In */
+	u32 reserved;				/* In */
+	u64 session_address;			/* In */
+	u32 session_len;			/* In */
+} __packed;
+
+/**
+ * struct sev_data_launch_update_data - LAUNCH_UPDATE_DATA command parameter
+ *
+ * @handle: handle of the VM to update
+ * @len: len of memory to be encrypted
+ * @address: physical address of memory region to encrypt
+ */
+struct sev_data_launch_update_data {
+	u32 handle;				/* In */
+	u32 reserved;
+	u64 address;				/* In */
+	u32 len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_launch_update_vmsa - LAUNCH_UPDATE_VMSA command
+ *
+ * @handle: handle of the VM
+ * @address: physical address of memory region to encrypt
+ * @len: len of memory region to encrypt
+ */
+struct sev_data_launch_update_vmsa {
+	u32 handle;				/* In */
+	u32 reserved;
+	u64 address;				/* In */
+	u32 len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_launch_measure - LAUNCH_MEASURE command parameters
+ *
+ * @handle: handle of the VM to process
+ * @address: physical address containing the measurement blob
+ * @len: len of measurement blob
+ */
+struct sev_data_launch_measure {
+	u32 handle;				/* In */
+	u32 reserved;
+	u64 address;				/* In */
+	u32 len;				/* In/Out */
+} __packed;
+
+/**
+ * struct sev_data_launch_secret - LAUNCH_SECRET command parameters
+ *
+ * @handle: handle of the VM to process
+ * @hdr_address: physical address containing the packet header
+ * @hdr_len: len of packet header
+ * @guest_address: system physical address of guest memory region
+ * @guest_len: len of guest_paddr
+ * @trans_address: physical address of transport memory buffer
+ * @trans_len: len of transport memory buffer
+ */
+struct sev_data_launch_secret {
+	u32 handle;				/* In */
+	u32 reserved1;
+	u64 hdr_address;			/* In */
+	u32 hdr_len;				/* In */
+	u32 reserved2;
+	u64 guest_address;			/* In */
+	u32 guest_len;				/* In */
+	u32 reserved3;
+	u64 trans_address;			/* In */
+	u32 trans_len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_launch_finish - LAUNCH_FINISH command parameters
+ *
+ * @handle: handle of the VM to process
+ */
+struct sev_data_launch_finish {
+	u32 handle;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_send_start - SEND_START command parameters
+ *
+ * @handle: handle of the VM to process
+ * @policy: policy information for the VM
+ * @pdh_cert_address: physical address containing PDH certificate
+ * @pdh_cert_len: len of PDH certificate
+ * @plat_certs_address: physical address containing platform certificate
+ * @plat_certs_len: len of platform certificate
+ * @amd_certs_address: physical address containing AMD certificate
+ * @amd_certs_len: len of AMD certificate
+ * @session_address: physical address containing Session data
+ * @session_len: len of session data
+ */
+struct sev_data_send_start {
+	u32 handle;				/* In */
+	u32 policy;				/* Out */
+	u64 pdh_cert_address;			/* In */
+	u32 pdh_cert_len;			/* In */
+	u32 reserved1;
+	u64 plat_certs_address;			/* In */
+	u32 plat_certs_len;			/* In */
+	u32 reserved2;
+	u64 amd_certs_address;			/* In */
+	u32 amd_certs_len;			/* In */
+	u32 reserved3;
+	u64 session_address;			/* In */
+	u32 session_len;			/* In/Out */
+} __packed;
+
+/**
+ * struct sev_data_send_update - SEND_UPDATE_DATA command
+ *
+ * @handle: handle of the VM to process
+ * @hdr_address: physical address containing packet header
+ * @hdr_len: len of packet header
+ * @guest_address: physical address of guest memory region to send
+ * @guest_len: len of guest memory region to send
+ * @trans_address: physical address of host memory region
+ * @trans_len: len of host memory region
+ */
+struct sev_data_send_update_data {
+	u32 handle;				/* In */
+	u32 reserved1;
+	u64 hdr_address;			/* In */
+	u32 hdr_len;				/* In/Out */
+	u32 reserved2;
+	u64 guest_address;			/* In */
+	u32 guest_len;				/* In */
+	u32 reserved3;
+	u64 trans_address;			/* In */
+	u32 trans_len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_send_update - SEND_UPDATE_VMSA command
+ *
+ * @handle: handle of the VM to process
+ * @hdr_address: physical address containing packet header
+ * @hdr_len: len of packet header
+ * @guest_address: physical address of guest memory region to send
+ * @guest_len: len of guest memory region to send
+ * @trans_address: physical address of host memory region
+ * @trans_len: len of host memory region
+ */
+struct sev_data_send_update_vmsa {
+	u32 handle;				/* In */
+	u64 hdr_address;			/* In */
+	u32 hdr_len;				/* In/Out */
+	u32 reserved2;
+	u64 guest_address;			/* In */
+	u32 guest_len;				/* In */
+	u32 reserved3;
+	u64 trans_address;			/* In */
+	u32 trans_len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_send_finish - SEND_FINISH command parameters
+ *
+ * @handle: handle of the VM to process
+ */
+struct sev_data_send_finish {
+	u32 handle;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_send_cancel - SEND_CANCEL command parameters
+ *
+ * @handle: handle of the VM to process
+ */
+struct sev_data_send_cancel {
+	u32 handle;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_receive_start - RECEIVE_START command parameters
+ *
+ * @handle: handle of the VM to perform receive operation
+ * @pdh_cert_address: system physical address containing PDH certificate blob
+ * @pdh_cert_len: len of PDH certificate blob
+ * @session_address: system physical address containing session blob
+ * @session_len: len of session blob
+ */
+struct sev_data_receive_start {
+	u32 handle;				/* In/Out */
+	u32 policy;				/* In */
+	u64 pdh_cert_address;			/* In */
+	u32 pdh_cert_len;			/* In */
+	u32 reserved1;
+	u64 session_address;			/* In */
+	u32 session_len;			/* In */
+} __packed;
+
+/**
+ * struct sev_data_receive_update_data - RECEIVE_UPDATE_DATA command parameters
+ *
+ * @handle: handle of the VM to update
+ * @hdr_address: physical address containing packet header blob
+ * @hdr_len: len of packet header
+ * @guest_address: system physical address of guest memory region
+ * @guest_len: len of guest memory region
+ * @trans_address: system physical address of transport buffer
+ * @trans_len: len of transport buffer
+ */
+struct sev_data_receive_update_data {
+	u32 handle;				/* In */
+	u32 reserved1;
+	u64 hdr_address;			/* In */
+	u32 hdr_len;				/* In */
+	u32 reserved2;
+	u64 guest_address;			/* In */
+	u32 guest_len;				/* In */
+	u32 reserved3;
+	u64 trans_address;			/* In */
+	u32 trans_len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_receive_update_vmsa - RECEIVE_UPDATE_VMSA command parameters
+ *
+ * @handle: handle of the VM to update
+ * @hdr_address: physical address containing packet header blob
+ * @hdr_len: len of packet header
+ * @guest_address: system physical address of guest memory region
+ * @guest_len: len of guest memory region
+ * @trans_address: system physical address of transport buffer
+ * @trans_len: len of transport buffer
+ */
+struct sev_data_receive_update_vmsa {
+	u32 handle;				/* In */
+	u32 reserved1;
+	u64 hdr_address;			/* In */
+	u32 hdr_len;				/* In */
+	u32 reserved2;
+	u64 guest_address;			/* In */
+	u32 guest_len;				/* In */
+	u32 reserved3;
+	u64 trans_address;			/* In */
+	u32 trans_len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_receive_finish - RECEIVE_FINISH command parameters
+ *
+ * @handle: handle of the VM to finish
+ */
+struct sev_data_receive_finish {
+	u32 handle;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_dbg - DBG_ENCRYPT/DBG_DECRYPT command parameters
+ *
+ * @handle: handle of the VM to perform debug operation
+ * @src_addr: source address of data to operate on
+ * @dst_addr: destination address of data to operate on
+ * @len: len of data to operate on
+ */
+struct sev_data_dbg {
+	u32 handle;				/* In */
+	u32 reserved;
+	u64 src_addr;				/* In */
+	u64 dst_addr;				/* In */
+	u32 len;				/* In */
+} __packed;
+
+/**
+ * struct sev_data_attestation_report - SEV_ATTESTATION_REPORT command parameters
+ *
+ * @handle: handle of the VM
+ * @mnonce: a random nonce that will be included in the report.
+ * @address: physical address where the report will be copied.
+ * @len: length of the physical buffer.
+ */
+struct sev_data_attestation_report {
+	u32 handle;				/* In */
+	u32 reserved;
+	u64 address;				/* In */
+	u8 mnonce[16];				/* In */
+	u32 len;				/* In/Out */
+} __packed;
+
+
+/**
+ * SEV platform commands
+ */
+enum {
+	SEV_FACTORY_RESET = 0,
+	SEV_PLATFORM_STATUS,
+	SEV_PEK_GEN,
+	SEV_PEK_CSR,
+	SEV_PDH_GEN,
+	SEV_PDH_CERT_EXPORT,
+	SEV_PEK_CERT_IMPORT,
+	SEV_GET_ID,	/* This command is deprecated, use SEV_GET_ID2 */
+	SEV_GET_ID2,
+
+	SEV_MAX,
+};
+
+/**
+ * SEV Firmware status code
+ */
+typedef enum {
+	/*
+	 * This error code is not in the SEV spec. Its purpose is to convey that
+	 * there was an error that prevented the SEV firmware from being called.
+	 * The SEV API error codes are 16 bits, so the -1 value will not overlap
+	 * with possible values from the specification.
+	 */
+	SEV_RET_NO_FW_CALL = -1,
+	SEV_RET_SUCCESS = 0,
+	SEV_RET_INVALID_PLATFORM_STATE,
+	SEV_RET_INVALID_GUEST_STATE,
+	SEV_RET_INAVLID_CONFIG,
+	SEV_RET_INVALID_LEN,
+	SEV_RET_ALREADY_OWNED,
+	SEV_RET_INVALID_CERTIFICATE,
+	SEV_RET_POLICY_FAILURE,
+	SEV_RET_INACTIVE,
+	SEV_RET_INVALID_ADDRESS,
+	SEV_RET_BAD_SIGNATURE,
+	SEV_RET_BAD_MEASUREMENT,
+	SEV_RET_ASID_OWNED,
+	SEV_RET_INVALID_ASID,
+	SEV_RET_WBINVD_REQUIRED,
+	SEV_RET_DFFLUSH_REQUIRED,
+	SEV_RET_INVALID_GUEST,
+	SEV_RET_INVALID_COMMAND,
+	SEV_RET_ACTIVE,
+	SEV_RET_HWSEV_RET_PLATFORM,
+	SEV_RET_HWSEV_RET_UNSAFE,
+	SEV_RET_UNSUPPORTED,
+	SEV_RET_INVALID_PARAM,
+	SEV_RET_RESOURCE_LIMIT,
+	SEV_RET_SECURE_DATA_INVALID,
+	SEV_RET_MAX,
+} sev_ret_code;
+
+/**
+ * struct sev_user_data_status - PLATFORM_STATUS command parameters
+ *
+ * @major: major API version
+ * @minor: minor API version
+ * @state: platform state
+ * @flags: platform config flags
+ * @build: firmware build id for API version
+ * @guest_count: number of active guests
+ */
+struct sev_user_data_status {
+	__u8 api_major;				/* Out */
+	__u8 api_minor;				/* Out */
+	__u8 state;				/* Out */
+	__u32 flags;				/* Out */
+	__u8 build;				/* Out */
+	__u32 guest_count;			/* Out */
+} __packed;
+
+#define SEV_STATUS_FLAGS_CONFIG_ES	0x0100
+
+/**
+ * struct sev_user_data_pek_csr - PEK_CSR command parameters
+ *
+ * @address: PEK certificate chain
+ * @length: length of certificate
+ */
+struct sev_user_data_pek_csr {
+	__u64 address;				/* In */
+	__u32 length;				/* In/Out */
+} __packed;
+
+/**
+ * struct sev_user_data_cert_import - PEK_CERT_IMPORT command parameters
+ *
+ * @pek_address: PEK certificate chain
+ * @pek_len: length of PEK certificate
+ * @oca_address: OCA certificate chain
+ * @oca_len: length of OCA certificate
+ */
+struct sev_user_data_pek_cert_import {
+	__u64 pek_cert_address;			/* In */
+	__u32 pek_cert_len;			/* In */
+	__u64 oca_cert_address;			/* In */
+	__u32 oca_cert_len;			/* In */
+} __packed;
+
+/**
+ * struct sev_user_data_pdh_cert_export - PDH_CERT_EXPORT command parameters
+ *
+ * @pdh_address: PDH certificate address
+ * @pdh_len: length of PDH certificate
+ * @cert_chain_address: PDH certificate chain
+ * @cert_chain_len: length of PDH certificate chain
+ */
+struct sev_user_data_pdh_cert_export {
+	__u64 pdh_cert_address;			/* In */
+	__u32 pdh_cert_len;			/* In/Out */
+	__u64 cert_chain_address;		/* In */
+	__u32 cert_chain_len;			/* In/Out */
+} __packed;
+
+/**
+ * struct sev_user_data_get_id - GET_ID command parameters (deprecated)
+ *
+ * @socket1: Buffer to pass unique ID of first socket
+ * @socket2: Buffer to pass unique ID of second socket
+ */
+struct sev_user_data_get_id {
+	__u8 socket1[64];			/* Out */
+	__u8 socket2[64];			/* Out */
+} __packed;
+
+/**
+ * struct sev_user_data_get_id2 - GET_ID command parameters
+ * @address: Buffer to store unique ID
+ * @length: length of the unique ID
+ */
+struct sev_user_data_get_id2 {
+	__u64 address;				/* In */
+	__u32 length;				/* In/Out */
+} __packed;
+
+extern int sev_do_cmd(int cmd, void* data, int *psp_ret, bool poll);
+
+#endif	/* __PSP_SEV_H__ */
diff --git a/xen/drivers/Kconfig b/xen/drivers/Kconfig
index db94393f47..190215b5f8 100644
--- a/xen/drivers/Kconfig
+++ b/xen/drivers/Kconfig
@@ -12,6 +12,8 @@ source "drivers/pci/Kconfig"
 
 source "drivers/video/Kconfig"
 
+source "drivers/crypto/Kconfig"
+
 config HAS_VPCI
 	bool
 
diff --git a/xen/drivers/Makefile b/xen/drivers/Makefile
index 2a1ae8ad13..08b70c2825 100644
--- a/xen/drivers/Makefile
+++ b/xen/drivers/Makefile
@@ -5,3 +5,4 @@ obj-$(CONFIG_HAS_VPCI) += vpci/
 obj-$(CONFIG_HAS_PASSTHROUGH) += passthrough/
 obj-$(CONFIG_ACPI) += acpi/
 obj-$(CONFIG_VIDEO) += video/
+obj-$(CONFIG_AMD_SP) += crypto/
diff --git a/xen/drivers/crypto/Kconfig b/xen/drivers/crypto/Kconfig
new file mode 100644
index 0000000000..b37cd50cd7
--- /dev/null
+++ b/xen/drivers/crypto/Kconfig
@@ -0,0 +1,10 @@
+config AMD_SP
+        bool "AMD Secure Processor" if EXPERT
+        depends on X86
+        default n
+        help
+          Enables AMD Secure Processor.
+
+          If your platform includes AMD Secure Processor devices and you are
+          intended to use AMD Secure Virtualization Technology, say Y.
+          If in doubt, say N.
diff --git a/xen/drivers/crypto/Makefile b/xen/drivers/crypto/Makefile
new file mode 100644
index 0000000000..1dda0cdfbb
--- /dev/null
+++ b/xen/drivers/crypto/Makefile
@@ -0,0 +1 @@
+obj-y += asp.o
diff --git a/xen/drivers/crypto/asp.c b/xen/drivers/crypto/asp.c
new file mode 100644
index 0000000000..eb104f342e
--- /dev/null
+++ b/xen/drivers/crypto/asp.c
@@ -0,0 +1,808 @@
+#include <xen/init.h>
+#include <xen/pci.h>
+#include <xen/list.h>
+#include <xen/tasklet.h>
+#include <xen/pci_ids.h>
+#include <xen/delay.h>
+#include <xen/timer.h>
+#include <xen/wait.h>
+#include <xen/smp.h>
+#include <asm/msi.h>
+#include <asm/system.h>
+#include <asm/psp-sev.h>
+
+/*
+TODO:
+-  GLOBAL:
+     - add command line params for tunables
+ - INTERRUPT MODE:
+    - CET shadow stack: adapt #CP handler???
+    - Serialization: must be done by the client? adapt spinlock?
+ */
+
+#define PSP_CAPABILITY_SEV                      (1 << 0)
+#define PSP_CAPABILITY_TEE                      (1 << 1)
+#define PSP_CAPABILITY_PSP_SECURITY_REPORTING   (1 << 7)
+#define PSP_CAPABILITY_PSP_SECURITY_OFFSET      8
+
+#define PSP_INTSTS_CMD_COMPLETE       (1 << 1)
+
+#define SEV_CMDRESP_CMD_MASK          0x7ff0000
+#define SEV_CMDRESP_CMD_SHIFT         16
+#define SEV_CMDRESP_CMD(cmd)          ((cmd) << SEV_CMDRESP_CMD_SHIFT)
+#define SEV_CMDRESP_STS_MASK          0xffff
+#define SEV_CMDRESP_STS(x)            ((x) & SEV_CMDRESP_STS_MASK)
+#define SEV_CMDRESP_RESP              (1 << 31)
+#define SEV_CMDRESP_IOC               (1 << 0)
+
+#define ASP_CMD_BUFF_SIZE    0x1000
+#define SEV_FW_BLOB_MAX_SIZE 0x4000
+
+/*
+ * SEV platform state
+ */
+enum sev_state {
+        SEV_STATE_UNINIT                = 0x0,
+        SEV_STATE_INIT                  = 0x1,
+        SEV_STATE_WORKING               = 0x2,
+        SEV_STATE_MAX
+};
+
+struct sev_vdata {
+    const unsigned int cmdresp_reg;
+    const unsigned int cmdbuff_addr_lo_reg;
+    const unsigned int cmdbuff_addr_hi_reg;
+};
+
+struct psp_vdata {
+    const unsigned short   base_offset;
+    const struct sev_vdata *sev;
+    const unsigned int feature_reg;
+    const unsigned int inten_reg;
+    const unsigned int intsts_reg;
+    const char* name;
+};
+
+static struct sev_vdata sevv1 = {
+    .cmdresp_reg         = 0x10580,     /* C2PMSG_32 */
+    .cmdbuff_addr_lo_reg = 0x105e0,     /* C2PMSG_56 */
+    .cmdbuff_addr_hi_reg = 0x105e4,     /* C2PMSG_57 */
+};
+
+static struct sev_vdata sevv2 = {
+    .cmdresp_reg         = 0x10980,     /* C2PMSG_32 */
+    .cmdbuff_addr_lo_reg = 0x109e0,     /* C2PMSG_56 */
+    .cmdbuff_addr_hi_reg = 0x109e4,     /* C2PMSG_57 */
+};
+
+static struct psp_vdata pspv1 = {
+    .base_offset = PCI_BASE_ADDRESS_2,
+    .sev         = &sevv1,
+    .feature_reg = 0x105fc,     /* C2PMSG_63 */
+    .inten_reg   = 0x10610,     /* P2CMSG_INTEN */
+    .intsts_reg  = 0x10614,     /* P2CMSG_INTSTS */
+    .name = "pspv1",
+};
+
+static struct psp_vdata pspv2 = {
+    .base_offset = PCI_BASE_ADDRESS_2,
+    .sev         = &sevv2,
+    .feature_reg = 0x109fc,     /* C2PMSG_63 */
+    .inten_reg   = 0x10690,     /* P2CMSG_INTEN */
+    .intsts_reg  = 0x10694,     /* P2CMSG_INTSTS */
+    .name = "pspv2",
+};
+
+static struct psp_vdata pspv4 = {
+    .base_offset = PCI_BASE_ADDRESS_2,
+    .sev         = &sevv2,
+    .feature_reg = 0x109fc,     /* C2PMSG_63 */
+    .inten_reg   = 0x10690,     /* P2CMSG_INTEN */
+    .intsts_reg  = 0x10694,     /* P2CMSG_INTSTS */
+    .name = "pspv4",
+};
+
+static struct psp_vdata pspv6 = {
+    .base_offset =  PCI_BASE_ADDRESS_2,
+    .sev         = &sevv2,
+    .feature_reg = 0x109fc,     /* C2PMSG_63 */
+    .inten_reg   = 0x10510,     /* P2CMSG_INTEN */
+    .intsts_reg  = 0x10514,     /* P2CMSG_INTSTS */
+    .name = "pspv6",
+};
+
+struct amd_sp_dev
+{
+    struct list_head list;
+    struct pci_dev   *pdev;
+    struct  psp_vdata *vdata;
+    void    *io_base;
+    paddr_t io_pbase;
+    size_t  io_size;
+    int     irq;
+    int     state;
+    void* cmd_buff;
+    uint32_t cbuff_pa_low;
+    uint32_t cbuff_pa_high;
+    unsigned int capability;
+    uint8_t api_major;
+    uint8_t api_minor;
+    uint8_t build;
+    int     intr_rcvd;
+    int     cmd_timeout;
+    struct timer cmd_timer;
+    struct waitqueue_head cmd_in_progress;
+};
+
+LIST_HEAD(amd_sp_units);
+#define for_each_sp_unit(sp) \
+    list_for_each_entry(sp, &amd_sp_units, list)
+
+static spinlock_t _sp_cmd_lock = SPIN_LOCK_UNLOCKED;
+
+static struct amd_sp_dev *amd_sp_master;
+
+static void do_sp_irq(void *data);
+static DECLARE_SOFTIRQ_TASKLET(sp_irq_tasklet, do_sp_irq, NULL);
+
+static bool force_sync = false;
+static unsigned int asp_timeout_val = 30000;
+static unsigned long long asp_sync_delay = 100ULL;
+static int asp_sync_tries = 10;
+
+static void sp_cmd_lock(void)
+{
+    spin_lock(&_sp_cmd_lock);
+}
+
+static void sp_cmd_unlock(void)
+{
+    spin_unlock(&_sp_cmd_lock);
+}
+
+static int sev_cmd_buffer_len(int cmd)
+{
+    switch (cmd) {
+        case SEV_CMD_INIT:                      return sizeof(struct sev_data_init);
+        case SEV_CMD_INIT_EX:                   return sizeof(struct sev_data_init_ex);
+        case SEV_CMD_PLATFORM_STATUS:           return sizeof(struct sev_user_data_status);
+        case SEV_CMD_PEK_CSR:                   return sizeof(struct sev_data_pek_csr);
+        case SEV_CMD_PEK_CERT_IMPORT:           return sizeof(struct sev_data_pek_cert_import);
+        case SEV_CMD_PDH_CERT_EXPORT:           return sizeof(struct sev_data_pdh_cert_export);
+        case SEV_CMD_LAUNCH_START:              return sizeof(struct sev_data_launch_start);
+        case SEV_CMD_LAUNCH_UPDATE_DATA:        return sizeof(struct sev_data_launch_update_data);
+        case SEV_CMD_LAUNCH_UPDATE_VMSA:        return sizeof(struct sev_data_launch_update_vmsa);
+        case SEV_CMD_LAUNCH_FINISH:             return sizeof(struct sev_data_launch_finish);
+        case SEV_CMD_LAUNCH_MEASURE:            return sizeof(struct sev_data_launch_measure);
+        case SEV_CMD_ACTIVATE:                  return sizeof(struct sev_data_activate);
+        case SEV_CMD_DEACTIVATE:                return sizeof(struct sev_data_deactivate);
+        case SEV_CMD_DECOMMISSION:              return sizeof(struct sev_data_decommission);
+        case SEV_CMD_GUEST_STATUS:              return sizeof(struct sev_data_guest_status);
+        case SEV_CMD_DBG_DECRYPT:               return sizeof(struct sev_data_dbg);
+        case SEV_CMD_DBG_ENCRYPT:               return sizeof(struct sev_data_dbg);
+        case SEV_CMD_SEND_START:                return sizeof(struct sev_data_send_start);
+        case SEV_CMD_SEND_UPDATE_DATA:          return sizeof(struct sev_data_send_update_data);
+        case SEV_CMD_SEND_UPDATE_VMSA:          return sizeof(struct sev_data_send_update_vmsa);
+        case SEV_CMD_SEND_FINISH:               return sizeof(struct sev_data_send_finish);
+        case SEV_CMD_RECEIVE_START:             return sizeof(struct sev_data_receive_start);
+        case SEV_CMD_RECEIVE_FINISH:            return sizeof(struct sev_data_receive_finish);
+        case SEV_CMD_RECEIVE_UPDATE_DATA:       return sizeof(struct sev_data_receive_update_data);
+        case SEV_CMD_RECEIVE_UPDATE_VMSA:       return sizeof(struct sev_data_receive_update_vmsa);
+        case SEV_CMD_LAUNCH_UPDATE_SECRET:      return sizeof(struct sev_data_launch_secret);
+        case SEV_CMD_DOWNLOAD_FIRMWARE:         return sizeof(struct sev_data_download_firmware);
+        case SEV_CMD_GET_ID:                    return sizeof(struct sev_data_get_id);
+        case SEV_CMD_ATTESTATION_REPORT:        return sizeof(struct sev_data_attestation_report);
+        case SEV_CMD_SEND_CANCEL:               return sizeof(struct sev_data_send_cancel);
+        default:                                return 0;
+    }
+
+    return 0;
+}
+
+static void invalidate_cache(void *unused)
+{
+    wbinvd();
+}
+
+int _sev_do_cmd(struct amd_sp_dev *sp, int cmd, void *data, int *psp_ret)
+{
+    unsigned int cbuff_pa_low, cbuff_pa_high, cmd_val;
+    int buf_len, cmdresp, rc;
+
+
+    buf_len = sev_cmd_buffer_len(cmd);
+
+
+    if ( data )
+        memcpy(sp->cmd_buff, data, buf_len);
+
+    cbuff_pa_low  = data ? sp->cbuff_pa_low : 0;
+    cbuff_pa_high = data ? sp->cbuff_pa_high : 0;
+
+    writel(cbuff_pa_low, sp->io_base + sp->vdata->sev->cmdbuff_addr_lo_reg);
+    writel(cbuff_pa_high, sp->io_base + sp->vdata->sev->cmdbuff_addr_hi_reg);
+
+    cmd_val = SEV_CMDRESP_CMD(cmd) | SEV_CMDRESP_IOC;
+
+    sp->cmd_timeout = 0;
+    sp->intr_rcvd = 0;
+
+    writel(cmd_val, sp->io_base + sp->vdata->sev->cmdresp_reg);
+
+    set_timer(&sp->cmd_timer,  NOW() + MILLISECS(asp_timeout_val));
+
+    /* FIXME: If the timer triggers here the device will be set offline */
+
+    wait_event(sp->cmd_in_progress, sp->cmd_timeout || sp->intr_rcvd);
+
+    stop_timer(&sp->cmd_timer);
+
+    if ( sp->intr_rcvd )
+    {
+        cmdresp = readl(sp->io_base + sp->vdata->sev->cmdresp_reg);
+
+	ASSERT(cmdresp & SEV_CMDRESP_RESP);
+
+        rc = SEV_CMDRESP_STS(cmdresp) ? -EFAULT : 0;
+
+	if ( rc && psp_ret )
+            *psp_ret = SEV_CMDRESP_STS(cmdresp);
+
+	if ( data && (!rc) )
+	    memcpy(data, sp->cmd_buff, buf_len);
+    }
+    else
+    {
+        ASSERT(sp->cmd_timeout);
+
+        sp->state = SEV_STATE_UNINIT;
+
+        writel(0, sp->io_base + sp->vdata->inten_reg);
+
+        rc = -EIO;
+    }
+    return rc;
+}
+
+static int _sev_do_cmd_sync(struct amd_sp_dev *sp, int cmd, void *data, int *psp_ret)
+{
+    unsigned int cbuff_pa_low, cbuff_pa_high, cmd_val;
+    int buf_len, cmdresp, rc, i;
+
+    buf_len = sev_cmd_buffer_len(cmd);
+
+    if ( data )
+        memcpy(sp->cmd_buff, data, buf_len);
+
+    cbuff_pa_low  = data ? sp->cbuff_pa_low : 0;
+    cbuff_pa_high = data ? sp->cbuff_pa_high : 0;
+
+    writel(cbuff_pa_low, sp->io_base + sp->vdata->sev->cmdbuff_addr_lo_reg);
+    writel(cbuff_pa_high, sp->io_base + sp->vdata->sev->cmdbuff_addr_hi_reg);
+
+    cmd_val = SEV_CMDRESP_CMD(cmd);
+
+    writel(cmd_val, sp->io_base + sp->vdata->sev->cmdresp_reg);
+
+    for (rc = -EIO, i = asp_sync_tries; i; i-- )
+    {
+
+	mdelay(asp_sync_delay);
+
+	cmdresp = readl(sp->io_base + sp->vdata->sev->cmdresp_reg);
+	if ( cmdresp & SEV_CMDRESP_RESP )
+	{
+	    rc = 0;
+	    break;
+	}
+    }
+
+    if ( !rc && SEV_CMDRESP_STS(cmdresp) )
+	rc = -EFAULT;
+
+    if ( rc &&  psp_ret )
+        *psp_ret = SEV_CMDRESP_STS(cmdresp);
+
+    if ( data && (!rc) )
+        memcpy(data, sp->cmd_buff, buf_len);
+
+    return rc;
+}
+
+int sev_do_cmd(int cmd, void *data, int *psp_ret, bool poll)
+{
+    struct amd_sp_dev *sp  = amd_sp_master;
+    int buf_len, rc;
+
+    if ( !sp )
+	return -ENODEV;
+
+    if ( sp->state < SEV_STATE_INIT )
+        return -ENODEV;
+
+    if ( cmd >= SEV_CMD_MAX )
+        return -EINVAL;
+
+    buf_len = sev_cmd_buffer_len(cmd);
+
+    if ( !data != !buf_len )
+        return -EINVAL;
+
+    if ( force_sync || poll )
+    {
+	sp_cmd_lock();
+	rc = _sev_do_cmd_sync(sp, cmd, data, psp_ret);
+	sp_cmd_unlock();
+    }
+    else
+    {
+	rc = _sev_do_cmd(sp, cmd, data, psp_ret);
+    }
+
+    return rc;
+}
+
+static void do_sp_cmd_timer(void *data)
+{
+    struct amd_sp_dev *sp = (struct amd_sp_dev*)data;
+
+    sp->cmd_timeout = 1;
+    wake_up_nr(&sp->cmd_in_progress, 1);
+}
+
+static void do_sp_irq(void *data)
+{
+    struct amd_sp_dev *sp;
+
+    for_each_sp_unit(sp) {
+	uint32_t cmdresp = readl(sp->io_base + sp->vdata->sev->cmdresp_reg);
+	if ( cmdresp & SEV_CMDRESP_RESP )
+	{
+	    sp->intr_rcvd = 1;
+	    wake_up_nr(&sp->cmd_in_progress, 1);
+	}
+    }
+}
+
+static void sp_interrupt_handler(int irq, void *dev_id)
+{
+    struct amd_sp_dev *sp = (struct amd_sp_dev*)dev_id;
+    uint32_t status;
+
+    status = readl(sp->io_base + sp->vdata->intsts_reg);
+    writel(status, sp->io_base + sp->vdata->intsts_reg);
+
+    if ( status & PSP_INTSTS_CMD_COMPLETE )
+	    tasklet_schedule(&sp_irq_tasklet);
+}
+
+static int __init sp_get_capability(struct amd_sp_dev *sp)
+{
+    uint32_t val = readl(sp->io_base + sp->vdata->feature_reg);
+
+    if ( (val == 0xffffffff) || (!(val & PSP_CAPABILITY_SEV)) )
+        return -ENODEV;
+
+    sp->capability = val;
+
+    return 0;
+}
+
+static int __init sp_get_state(struct amd_sp_dev *sp, int *state, int *err)
+{
+    struct sev_user_data_status status;
+    int rc;
+
+    rc = _sev_do_cmd_sync(sp, SEV_CMD_PLATFORM_STATUS, &status, err);
+    if ( rc )
+        return rc;
+
+    *state     = status.state;
+
+    return 0;
+}
+
+static int __init sp_get_api_version(struct amd_sp_dev *sp)
+{
+    struct sev_user_data_status status;
+    int err, rc;
+
+    rc = _sev_do_cmd_sync(sp, SEV_CMD_PLATFORM_STATUS, &status, &err);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't get API version (%d 0x%x)\n",
+                &sp->pdev->sbdf, rc, err);
+        return rc;
+    }
+
+    sp->api_major = status.api_major;
+    sp->api_minor = status.api_minor;
+    sp->state     = status.state;
+
+    return 0;
+}
+
+static int __init sp_update_firmware(struct amd_sp_dev *sp)
+{
+        /*
+         * FIXME: nothing to do for now
+         */
+    return 0;
+}
+
+static int __init sp_alloc_special_regions(struct amd_sp_dev *sp)
+{
+        /*
+         * FIXME: allocate TMP memory area for SEV-ES
+         */
+    return 0;
+}
+
+static int __init sp_do_init(struct amd_sp_dev *sp)
+{
+    struct sev_data_init data;
+    int err, rc;
+
+    if ( sp->state == SEV_STATE_INIT )
+        return 0;
+
+    memset(&data, 0, sizeof(data));
+
+    rc = _sev_do_cmd_sync(sp, SEV_CMD_INIT, &data, &err);
+    if ( rc )
+        dprintk(XENLOG_ERR, "asp-%pp: can't init device: (%d 0x%x)\n", &sp->pdev->sbdf, rc, err);
+
+    return 0;
+}
+
+static int __init sp_df_flush(struct amd_sp_dev *sp)
+{
+    int rc, err;
+
+    rc = _sev_do_cmd_sync(sp, SEV_CMD_DF_FLUSH, NULL, &err);
+    if ( rc )
+        dprintk(XENLOG_ERR, "asp-%pp: can't flush device: (%d 0x%x)\n", &sp->pdev->sbdf, rc, err);
+
+    return 0;
+}
+
+static int __init sp_dev_init(struct amd_sp_dev *sp)
+{
+    int err, rc;
+
+    rc = sp_get_capability(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: capability is broken %d\n",
+		&sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    rc = sp_get_api_version(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't get API version %d\n",
+		&sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    rc = sp_update_firmware(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't update firmware %d\n",
+		&sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    rc = sp_alloc_special_regions(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't alloc special regions %d\n",
+		&sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    rc = sp_do_init(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't init device %d\n", &sp->pdev->sbdf,
+		rc);
+        return rc;
+    }
+
+    on_each_cpu(invalidate_cache, NULL, 1);
+
+    rc = sp_df_flush(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't flush %d\n", &sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    rc = sp_get_state(sp, &sp->state, &err);
+    if ( rc )
+        dprintk(XENLOG_ERR, "asp-%pp: can't get sate %d\n", &sp->pdev->sbdf,rc);
+
+
+    if ( sp->state != SEV_STATE_INIT )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: device is not inited 0x%x\n",
+		&sp->pdev->sbdf, sp->state);
+        return rc;
+    }
+
+    printk(XENLOG_INFO "inited asp-%pp device\n", &sp->pdev->sbdf);
+    return 0;
+}
+
+static int __init sp_init_irq(struct amd_sp_dev *sp)
+{
+    int irq, rc;
+    struct msi_info minfo;
+    struct msi_desc *mdesc;
+
+    /* Disable and clear interrupts until ready */
+    writel(0, sp->io_base + sp->vdata->inten_reg);
+    writel(-1, sp->io_base + sp->vdata->intsts_reg);
+
+    irq = create_irq(0, false);
+    if ( !irq )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't create interrupt\n", &sp->pdev->sbdf);
+        return -EBUSY;
+    }
+
+    minfo.sbdf = sp->pdev->sbdf;
+    minfo.irq  = irq;
+    minfo.entry_nr = 1;
+    if ( pci_find_cap_offset(sp->pdev->sbdf, PCI_CAP_ID_MSI) )
+        minfo.table_base = 0;
+    else {
+        dprintk(XENLOG_ERR, "asp-%pp: only MSI is handled\n", &sp->pdev->sbdf);
+        return -EINVAL;
+    }
+
+    mdesc = NULL;
+
+    pcidevs_lock();
+
+    rc = pci_enable_msi(sp->pdev, &minfo, &mdesc);
+    if ( !rc )
+    {
+        struct irq_desc *idesc = irq_to_desc(irq);
+        unsigned long flags;
+
+        spin_lock_irqsave(&idesc->lock, flags);
+        rc = setup_msi_irq(idesc, mdesc);
+        spin_unlock_irqrestore(&idesc->lock, flags);
+        if ( rc ) {
+            pci_disable_msi(mdesc);
+	    dprintk(XENLOG_ERR, "asp-%pp: can't setup msi %d\n", &sp->pdev->sbdf, rc);
+	}
+    }
+
+    pcidevs_unlock();
+
+    if ( rc)
+    {
+        if ( mdesc )
+            msi_free_irq(mdesc);
+	else
+            destroy_irq(irq);
+        return rc;
+
+    }
+
+    rc = request_irq(irq, 0, sp_interrupt_handler, "amd_sp", sp);
+
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't request interrupt %d\n", &sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    sp->irq = irq;
+
+        /* Enable interrupts */
+    writel(-1, sp->io_base + sp->vdata->inten_reg);
+
+    return 0;
+}
+
+static int __init sp_map_iomem(struct amd_sp_dev *sp)
+{
+    uint32_t base_low;
+    uint32_t base_high;
+    uint16_t cmd;
+    size_t   size;
+    bool     high_space;
+
+    base_low = pci_conf_read32(sp->pdev->sbdf, sp->vdata->base_offset);
+
+    if ( (base_low & PCI_BASE_ADDRESS_SPACE) != PCI_BASE_ADDRESS_SPACE_MEMORY )
+        return -EINVAL;
+
+    if ( (base_low & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == PCI_BASE_ADDRESS_MEM_TYPE_64 )
+    {
+        base_high = pci_conf_read32(sp->pdev->sbdf, sp->vdata->base_offset + 4);
+        high_space = true;
+    } else {
+        base_high = 0;
+        high_space = false;
+    }
+
+    sp->io_pbase = ((paddr_t)base_high << 32) | (base_low & PCI_BASE_ADDRESS_MEM_MASK);
+    ASSERT(sp->io_pbase);
+
+    pci_conf_write32(sp->pdev->sbdf, sp->vdata->base_offset, 0xFFFFFFFF);
+
+    if ( high_space ) {
+        pci_conf_write32(sp->pdev->sbdf, sp->vdata->base_offset + 4, 0xFFFFFFFF);
+        size = (size_t)pci_conf_read32(sp->pdev->sbdf, sp->vdata->base_offset + 4) << 32;
+    } else
+        size = ~0xffffffffUL;
+
+    size |= pci_conf_read32(sp->pdev->sbdf, sp->vdata->base_offset);
+    sp->io_size = ~(size & PCI_BASE_ADDRESS_MEM_MASK) + 1;
+
+    pci_conf_write32(sp->pdev->sbdf, sp->vdata->base_offset, base_low);
+
+    if ( high_space )
+          pci_conf_write32(sp->pdev->sbdf, sp->vdata->base_offset + 4, base_high);
+
+    cmd = pci_conf_read16(sp->pdev->sbdf, PCI_COMMAND);
+    pci_conf_write16(sp->pdev->sbdf, PCI_COMMAND, cmd | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
+
+    sp->io_base = ioremap(sp->io_pbase, sp->io_size);
+    if ( !sp->io_base )
+        return -EFAULT;
+
+    if ( pci_ro_device(0, sp->pdev->bus, sp->pdev->devfn) )
+    {
+	dprintk(XENLOG_ERR, "asp-%pp: can't hide PCI device\n",&sp->pdev->sbdf);
+	return -EFAULT;
+    }
+
+    return 0;
+}
+
+static int  __init sp_dev_create(struct pci_dev *pdev, struct psp_vdata *vdata)
+{
+    struct amd_sp_dev *sp;
+    int rc;
+
+    sp = xzalloc(struct amd_sp_dev);
+    if ( !sp )
+        return -ENOMEM;
+
+    sp->pdev = pdev;
+    sp->vdata = vdata;
+    sp->state = SEV_STATE_UNINIT;
+
+    init_timer(&sp->cmd_timer, do_sp_cmd_timer, (void*)sp, 0);
+
+    init_waitqueue_head(&sp->cmd_in_progress);
+
+    rc = sp_map_iomem(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't map iomem %d\n", &sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    rc = sp_init_irq(sp);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't init irq %d\n", &sp->pdev->sbdf, rc);
+        return rc;
+    }
+
+    sp->cmd_buff = alloc_xenheap_pages(get_order_from_bytes(ASP_CMD_BUFF_SIZE), 0);
+    if ( !sp->cmd_buff )
+    {
+        dprintk(XENLOG_ERR, "asp-%pp: can't allocate cmd buffer\n", &sp->pdev->sbdf);
+        return -ENOMEM;
+    }
+
+    sp->cbuff_pa_low = (uint32_t)(__pa(sp->cmd_buff));
+    sp->cbuff_pa_high = (uint32_t)(__pa(sp->cmd_buff) >> 32);
+
+    list_add(&sp->list, &amd_sp_units);
+
+    amd_sp_master = sp;
+
+    printk(XENLOG_INFO "discovered asp-%pp device\n", &sp->pdev->sbdf);
+
+    return 0;
+}
+
+static void sp_dev_destroy(struct amd_sp_dev* sp)
+{
+    if( sp->io_base )
+	writel(0, sp->io_base + sp->vdata->inten_reg);
+
+    if ( sp->cmd_buff )
+	free_xenheap_pages(sp->cmd_buff, get_order_from_bytes(ASP_CMD_BUFF_SIZE));
+
+    xfree(sp);
+}
+
+static void sp_devs_destroy(void)
+{
+    struct amd_sp_dev *sp, *next;
+
+    list_for_each_entry_safe ( sp, next, &amd_sp_units, list)
+    {
+        list_del(&sp->list);
+        sp_dev_destroy(sp);
+    }
+}
+
+static int __init amd_sp_probe(void)
+{
+    int bus = 0, devfn = 0, rc;
+    struct  amd_sp_dev *sp;
+
+     if ( !boot_cpu_has(X86_FEATURE_SEV) )
+     {
+	 dprintk(XENLOG_INFO, "AMD SEV isn't supported on the platform\n");
+	 return 0;
+     }
+
+     if ( boot_cpu_has(X86_FEATURE_XEN_SHSTK) )
+     {
+	 force_sync = true;
+
+	 dprintk(XENLOG_INFO,"AMD SEV: CET-SS detected - sync mode forced\n");
+     }
+
+    for ( bus = 0; bus < 256; ++bus )
+        for ( devfn = 0; devfn < 256; ++devfn )
+        {
+            struct pci_dev *pdev;
+            pcidevs_lock();
+            pdev = pci_get_pdev(NULL, PCI_SBDF(0, bus, devfn));
+            pcidevs_unlock();
+
+            if ( !pdev || pci_conf_read16(pdev->sbdf, PCI_VENDOR_ID) !=
+                 PCI_VENDOR_ID_AMD )
+                continue;
+
+            switch ( pci_conf_read16(pdev->sbdf, PCI_DEVICE_ID) )
+            {
+            case 0x1456:
+                rc = sp_dev_create(pdev, &pspv1);
+                break;
+            case 0x1486:
+                rc = sp_dev_create(pdev, &pspv2);
+                break;
+            case 0x14CA:
+                rc = sp_dev_create(pdev, &pspv4);
+                break;
+            case 0x156E:
+                rc = sp_dev_create(pdev, &pspv6);
+                break;
+            default:
+                rc = 0;
+                break;
+            }
+            if ( rc ) {
+                goto err;
+            }
+        }
+
+    for_each_sp_unit(sp)
+    {
+        rc = sp_dev_init(sp);
+        if ( rc )
+            goto err;
+    }
+
+    return 0;
+
+  err:
+    sp_devs_destroy();
+    return rc;
+}
+
+__initcall(amd_sp_probe);
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 449947b353..f7599845fd 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -6,7 +6,7 @@
 
 /* Linux inherited types which are being phased out */
 typedef int8_t s8;
-typedef uint8_t u8;
+typedef uint8_t u8, __u8;
 typedef int16_t s16;
 typedef uint16_t u16, __u16;
 typedef int32_t s32;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:36:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703373.1099009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua0G-0007KY-OS; Wed, 10 Apr 2024 15:36:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703373.1099009; Wed, 10 Apr 2024 15: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 1rua0G-0007KR-KG; Wed, 10 Apr 2024 15:36:48 +0000
Received: by outflank-mailman (input) for mailman id 703373;
 Wed, 10 Apr 2024 15:36: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=NRyK=LP=localhost=root@srs-se1.protection.inumbo.net>)
 id 1rua0E-0007KL-N4
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:36:46 +0000
Received: from localhost (ip-201.net-81-220-136.rev.numericable.fr
 [81.220.136.201]) by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 231cba31-f750-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 17:36:45 +0200 (CEST)
Received: by localhost (Postfix, from userid 0)
 id E573BE31FC; Wed, 10 Apr 2024 17:36: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: 231cba31-f750-11ee-b907-491648fe20b8
From: Andrei Semenov <andrei.semenov@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Andrei Semenov <andrei.semenov@vates.fr>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 0/2] Starting AMD SEV work
Date: Wed, 10 Apr 2024 17:36:34 +0200
Message-Id: <cover.1712759753.git.andrei.semenov@vates.fr>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series initiate work on AMD SEV technology implementation in Xen.
SEV stands for "Secure Encrypted Virtualization" and allows the memory contents
of a VM to be encrypted with a key unique to this VM. In this way the neither
other VMs nor hypervisor can't read the memory content of this "encrypted"
VM.

In order to create and to run such a VM different layers of software must
interact (bascally Xen hypevisor, Xen toolstack in dom0 and the encrypted VM
itself).

In this work we start with discovering and enabling SEV feature on the platform.
The second patch ports AMD Secure Processor driver on Xen. This AMD Secure
Processor device (a.k.a PSP) is the way the different software layers interact
with AMD firmware/hardware to manage and run the encrypted VM.

Actually there's two modes of functionning of the ASP driver. The "polling" mode
and the "interrupt" mode. The interrupt mode raises some questions about how we
put the client thread to sleep (wait for interrupt). The actual way, based on
waitqueue, have two major inconvinients.

- compatibility with Intel Control-flow Enfocement (shadow stack)
- requests serialization (locking)

So, actually if CET is enabled on the platform all requests will be done by the
driver in "polling" mode. As with requests serialization, the "interrupt" mode
actually assumes the serialization is done by the driver client.

Obviously, I hope there wll be discussions with the community  on these 2
inconvienients to find out more efficient solutions.

Andrei Semenov (2):
  Implemented AMD SEV discovery and enabling.
  Implemented Amd Secure Processor device driver

 xen/arch/x86/cpu/amd.c                 |  53 ++
 xen/arch/x86/hvm/svm/Makefile          |   1 +
 xen/arch/x86/hvm/svm/sev.c             |   4 +
 xen/arch/x86/include/asm/cpufeature.h  |   3 +
 xen/arch/x86/include/asm/cpufeatures.h |   2 +
 xen/arch/x86/include/asm/msr-index.h   |   1 +
 xen/arch/x86/include/asm/psp-sev.h     | 655 ++++++++++++++++++++
 xen/arch/x86/include/asm/sev.h         |  11 +
 xen/drivers/Kconfig                    |   2 +
 xen/drivers/Makefile                   |   1 +
 xen/drivers/crypto/Kconfig             |  10 +
 xen/drivers/crypto/Makefile            |   1 +
 xen/drivers/crypto/asp.c               | 808 +++++++++++++++++++++++++
 xen/include/xen/types.h                |   2 +-
 14 files changed, 1553 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/x86/hvm/svm/sev.c
 create mode 100644 xen/arch/x86/include/asm/psp-sev.h
 create mode 100644 xen/arch/x86/include/asm/sev.h
 create mode 100644 xen/drivers/crypto/Kconfig
 create mode 100644 xen/drivers/crypto/Makefile
 create mode 100644 xen/drivers/crypto/asp.c

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:36:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703374.1099017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua0H-0007Yn-Th; Wed, 10 Apr 2024 15:36:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703374.1099017; Wed, 10 Apr 2024 15: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 1rua0H-0007Yg-R2; Wed, 10 Apr 2024 15:36:49 +0000
Received: by outflank-mailman (input) for mailman id 703374;
 Wed, 10 Apr 2024 15: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=NRyK=LP=localhost=root@srs-se1.protection.inumbo.net>)
 id 1rua0H-0007KL-Ff
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:36:49 +0000
Received: from localhost (ip-201.net-81-220-136.rev.numericable.fr
 [81.220.136.201]) by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 25484fe0-f750-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 17:36:49 +0200 (CEST)
Received: by localhost (Postfix, from userid 0)
 id E1467E3200; Wed, 10 Apr 2024 17:36:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25484fe0-f750-11ee-b907-491648fe20b8
From: Andrei Semenov <andrei.semenov@vates.fr>
To: xen-devel@lists.xenproject.org
Cc: Andrei Semenov <andrei.semenov@vates.fr>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 0/2] AMD SEV initial work
Date: Wed, 10 Apr 2024 17:36:35 +0200
Message-Id: <cover.1712759753.git.andrei.semenov@vates.fr>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <cover.1712759753.git.andrei.semenov@vates.fr>
References: 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

///HERE YOU GO

Andrei Semenov (2):
  Implemented AMD SEV discovery and enabling.
  Implemented Amd Secure Processor device driver

 xen/arch/x86/cpu/amd.c                 |  53 ++
 xen/arch/x86/hvm/svm/Makefile          |   1 +
 xen/arch/x86/hvm/svm/sev.c             |   4 +
 xen/arch/x86/include/asm/cpufeature.h  |   3 +
 xen/arch/x86/include/asm/cpufeatures.h |   2 +
 xen/arch/x86/include/asm/msr-index.h   |   1 +
 xen/arch/x86/include/asm/psp-sev.h     | 655 ++++++++++++++++++++
 xen/arch/x86/include/asm/sev.h         |  11 +
 xen/drivers/Kconfig                    |   2 +
 xen/drivers/Makefile                   |   1 +
 xen/drivers/crypto/Kconfig             |  10 +
 xen/drivers/crypto/Makefile            |   1 +
 xen/drivers/crypto/asp.c               | 808 +++++++++++++++++++++++++
 xen/include/xen/types.h                |   2 +-
 14 files changed, 1553 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/x86/hvm/svm/sev.c
 create mode 100644 xen/arch/x86/include/asm/psp-sev.h
 create mode 100644 xen/arch/x86/include/asm/sev.h
 create mode 100644 xen/drivers/crypto/Kconfig
 create mode 100644 xen/drivers/crypto/Makefile
 create mode 100644 xen/drivers/crypto/asp.c

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:41:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:41:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703393.1099048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua4p-00023C-7C; Wed, 10 Apr 2024 15:41:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703393.1099048; Wed, 10 Apr 2024 15:41: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 1rua4p-000235-3e; Wed, 10 Apr 2024 15:41:31 +0000
Received: by outflank-mailman (input) for mailman id 703393;
 Wed, 10 Apr 2024 15:41: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=Oh3E=LP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rua4n-00022z-NS
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:41:29 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2612::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb7b06fa-f750-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 17:41:28 +0200 (CEST)
Received: from DB7PR05CA0070.eurprd05.prod.outlook.com (2603:10a6:10:2e::47)
 by DB5PR08MB10046.eurprd08.prod.outlook.com (2603:10a6:10:48f::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 15:41:23 +0000
Received: from DU2PEPF00028D0A.eurprd03.prod.outlook.com
 (2603:10a6:10:2e:cafe::3c) by DB7PR05CA0070.outlook.office365.com
 (2603:10a6:10:2e::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 15:41:23 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D0A.mail.protection.outlook.com (10.167.242.170) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 15:41:23 +0000
Received: ("Tessian outbound 9d16f63426bd:v300");
 Wed, 10 Apr 2024 15:41:23 +0000
Received: from e3241646caa5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F8DFA79D-0464-4EF4-AB34-29A92E4AF44A.1; 
 Wed, 10 Apr 2024 15:41:16 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e3241646caa5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 15:41:16 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PR3PR08MB5818.eurprd08.prod.outlook.com (2603:10a6:102:8b::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 15:41:14 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 15:41: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: cb7b06fa-f750-11ee-b907-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=FsEThTp0yQ2q0jREBYd/hnNr9P2h4bMit9Zptw8ytD3aSioXyGZlGZoPnJaiYQu0i08aJe9+GdOayl0VVwstq5c8k/Hw2ArAGSB1+ZZymSfBMCoEWWdVoH5wRhfC//KCoIkQWXEW4aG6Iv4tStfDt5rzMbhmI/BvZQ1unzUGtQinB//4vHpoprtLw6wS3BJUxda1Z83MFHT2E9kmcTtDyIoGaBh797XIhZVq8oRY8ruF9sBdsnvNjBBfL3ZLhgI2+g9JprEwydVRQtHayxiROHbFNHgnYgbWO4HkNcRCauitoqs/fQsOhGUSykrwU5m29tk0iuE00LIne0V/PJpsHQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6jciKEEfytZgvNZpKYLfpt1hj+DQx0iMuZ4VOos53wo=;
 b=Z9iv/DDXPUOt/7H8XPWlKhh9QCo5JqpQwZFIETzTGx8MAkMEQ8MB7af/we9uVHCgI67cJDNc44QonC8vn8mRe9IFLY+eW+mFXVA0ej73ggTSUxoGG7wo8rmTEdkto5N69B5d9IwUTuiq7cZHzy7njKQx7vLXQ1tDPHzFzkXULV7l3iiUNjDWIpzvHiRIsUvg7yJ4RE3hg2Ps6ZZN35uQQkXgYT1kctATEcmfMqW/TrR/IAxgPhwQ4G2SPIhQqebdXyEQrdjtvKLnByoprdQLccUoT4QnqzOByMhiEyiFK7cKfYOJ3CBGIUG4QwRU1qUfNAUcGdQUr4YTKHuetb268Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6jciKEEfytZgvNZpKYLfpt1hj+DQx0iMuZ4VOos53wo=;
 b=Naol4D7CewhSn3uaVY56HX0nGT1okzvE4T4oSIw3AFSzu6dywBoUaWq1jH5QtVxu3aUo94Hnd5nuMLix8uh3K6pAy/552CAXff0nqve9vSgL/DU9rXBFiKvokVpAfpEk4biRvIucP/zJyNMWPZFheLnbTG6Boh/uVa0uayLFrlg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2c7c46eebc082ed1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JDTiSo8NpJFTdejt+763R511EONZA0HAALsl/i/AQtT+Y77oP6SsnrZ62qmi0L6+aatks2vK2lyOvGEEg/cWIw9+wy+VzbMrJ8ISRZFHhna0/kRyniquQTKpw193NRZ53Ea2akfayBB5w3cbgVp/h5T3VgDTJRGQuzCJfIJjOxGwKOZjMdk6fuxi5uHngjELUtz34RlZQkMZWor8LxIUtOi7AecJavf2+Heuo4kvoQ4fRBENVBDo6btfeYtneDmoWggttGgE2NA4+l9Q6b/uGRnaMH9NAufvGKW6E9Zzf7eAKRlHJVKZtCdeOG2zt+oDvNBtu51SsIPrbMUwr+/BuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6jciKEEfytZgvNZpKYLfpt1hj+DQx0iMuZ4VOos53wo=;
 b=biLQiP97p60ZEz6dqcSVqn6cIYRF4D28esWtac+Eah2qpyXvCUHoCFuXqLleDDHk6Vn+QJ9RACxiXIqAMwhShgUIrtWz3xWfmk5cfcgxtPPqFUPQ15p3n8ACUGMbRgoJjkhs9hU2n2w/r3jB+n4v9qus6ti6Oqa5EFHyEuEIFLSp0fMfp34I6p27dyuLlINuz9baIv05pcT+7uY6XGV1k4nunk4muPipI6iZZ9I0PxwtxAYPomJVgPTL5H39S1xZvnVCq5/wBvc75ZNL9j/wPBeUAH+mAnzdlg5U//b+s6/z1TEB8lStmkD4RJtRrPanJzWzlh+xK0XSrDCHV7btFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6jciKEEfytZgvNZpKYLfpt1hj+DQx0iMuZ4VOos53wo=;
 b=Naol4D7CewhSn3uaVY56HX0nGT1okzvE4T4oSIw3AFSzu6dywBoUaWq1jH5QtVxu3aUo94Hnd5nuMLix8uh3K6pAy/552CAXff0nqve9vSgL/DU9rXBFiKvokVpAfpEk4biRvIucP/zJyNMWPZFheLnbTG6Boh/uVa0uayLFrlg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Index: AQHaipO/QuGF8TXkikCEHPNBW62gObFhIgsAgABvOwCAABSPgA==
Date: Wed, 10 Apr 2024 15:41:13 +0000
Message-ID: <F27906D5-80F4-4542-99B7-1666B7A3AD95@arm.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-6-jens.wiklander@linaro.org>
 <C9733F1F-E308-46D3-AC84-D4651B4D6723@arm.com>
 <CAHUa44H3=QsEkJ6RrBRS30ccaCbg3GQTYeVF+WpnvDk8qnzw=w@mail.gmail.com>
In-Reply-To:
 <CAHUa44H3=QsEkJ6RrBRS30ccaCbg3GQTYeVF+WpnvDk8qnzw=w@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PR3PR08MB5818:EE_|DU2PEPF00028D0A:EE_|DB5PR08MB10046:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Y6L/uj72tDfxbYTJ3e2vl++BwFI77HHJgHwRs6+lKlryNHMzCrLcgIlvg/blbZOLWFFoa8js2jkWS9mlQQqhPwkoJFQOQzQ65Iu7zyuiN2bYAe6TI5pZKX0uT3eTurhh6m3L4Rb1gJxiL+TS/YIsRR52R3LgJGLgMMGccFckG0kjG9DCXZs+Ay/gkUZKed0iOCJDVVkHL9+pKZ4FuRfoMYG7/TjAtpINws4dEuny9ML/iil0IGRX6WYHdWkg6dy2hG2Jdk1XjpwTmdjoJ7rBNYgjbY/7dPBNYl3NAH3NagJNBmxKU0DP2mYs0YnbOXPxPJeKMuZRQKqKt7rVbQwabJrPPvfn2gjGbTzqqxMmjfBVug+kBj/P9SBLLTqAsJWEtVsBGkKi0SLHvfYwS6owvfzZa4XrLaZT6kZj8sm8swSo0hXXsUdA2gjys8M5iyOPonSPsDMSl99qR2vXNFhBvRd6NoTEKF86ZeYIA8Ns1YF/+yWHXu5ywdIY7gdrk335xllvf8g1/ZPGm05byCGgLp1GI4vcMIUBWozDQi1grU+Z/cYxdag+kEQdO7FkQ9myG62FuQ5aXNFkpP6j2UAAwdclR2Blq2Wsp1DANT2ubDnASyvBc1qC0KO/lQ917fS6tPPcvrQaE7c6LBCIK2uvR0cXO4mk8nbpBlNefVjwIcU=
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:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="utf-8"
Content-ID: <43BD2DD7468F6941874856205EFD48A4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5818
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D0A.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 45497adc-9653-4f9c-03d7-08dc5974ad2e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DV4AqR1//mv4CdM1CxdAzQ2kjb5BXHBao6gKykhDv20Jp/1crYbIv5SAf4RiKO2CZnIylGeDc46BV4IaSi1/4nQ7LbwMI9E4aXvz88XNUTtho/Ituq/m6sjdK9cbKc5mFp9OawVaPzgPO0Enrjp70xJ6uhxwIdMuA8+l7nMQNShJvHWrNbGDg+Vnke3v/Euls9rlFNS5jEAGfxjhdGkH9/c46PYGvCPwKkEocLLjlwaABipbag9oXizucpP/DwZ+W12VLx9XfpyEcsyRHVzTCAgrVWnIyZ6nR4wfsA5URPFZmtUDlV1WH3FGcdP4w7Ioc5TRyQXeNBNQECWgY/gAJ5Ycf/OIYBFmsWd8DJPclspSK2MrEgQ5uBOlPIr/REDNxaV5uThUILljr9x5X5o5v4rNrzDVYuLLSmvvC4R/lo4bCDIP70Q0RxIuIeHbr/OsQcF7SCj2JwkBUcbywlNALs5yR3ncsInN3JowkCJBWsHxYEG+eB7ZxilV9kWHP0hIs6YyPQPxWXPhgLCNl9JxhNaWZyBa/B2gjVWdFPodI1hNXu8Ao7BP9cavyk3Y68aavbe/5kDmKHBSLT32fc/+j09z1GTUltIbgRY//hauTORn9O8HU8X9KHRCQ91Ncm4+FYhjq89V8NZFybLZgY2YsvE+RLYBqSERJYHg9CwNbqwmQGaPs8C9ZcxaM12/TU7g1XAExatjx/vFCaZGED/ZKll2851EJ56fmjQvHZBa8+zSbuqZKZr4hyehmO4pedg9
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 15:41:23.6007
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 45497adc-9653-4f9c-03d7-08dc5974ad2e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D0A.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10046

SGkgSmVucywNCg0KPiBPbiAxMCBBcHIgMjAyNCwgYXQgMTY6MjcsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IE9uIFdlZCwgQXByIDEwLCAy
MDI0IGF0IDk6NDnigK9BTSBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxCZXJ0cmFuZC5NYXJxdWlzQGFy
bS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIaSBKZW5zLA0KPj4gDQo+Pj4gT24gOSBBcHIgMjAyNCwg
YXQgMTc6MzYsIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90
ZToNCj4+PiANCj4+PiBBZGQgc3VwcG9ydCBmb3IgRkYtQSBub3RpZmljYXRpb25zLCBjdXJyZW50
bHkgbGltaXRlZCB0byBhbiBTUCAoU2VjdXJlDQo+Pj4gUGFydGl0aW9uKSBzZW5kaW5nIGFuIGFz
eW5jaHJvbm91cyBub3RpZmljYXRpb24gdG8gYSBndWVzdC4NCj4+PiANCj4+PiBHdWVzdHMgYW5k
IFhlbiBpdHNlbGYgYXJlIG1hZGUgYXdhcmUgb2YgcGVuZGluZyBub3RpZmljYXRpb25zIHdpdGgg
YW4NCj4+PiBpbnRlcnJ1cHQuIFRoZSBpbnRlcnJ1cHQgaGFuZGxlciByZXRyaWV2ZXMgdGhlIG5v
dGlmaWNhdGlvbnMgdXNpbmcgdGhlDQo+Pj4gRkYtQSBBQkkgYW5kIGRlbGl2ZXIgdGhlbSB0byB0
aGVpciBkZXN0aW5hdGlvbnMuDQo+Pj4gDQo+Pj4gU2lnbmVkLW9mZi1ieTogSmVucyBXaWtsYW5k
ZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+DQo+Pj4gLS0tDQo+Pj4geGVuL2FyY2gvYXJt
L3RlZS9NYWtlZmlsZSAgICAgIHwgICAxICsNCj4+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jICAg
ICAgICAgfCAgNTggKysrKysrDQo+Pj4geGVuL2FyY2gvYXJtL3RlZS9mZmFfbm90aWYuYyAgIHwg
MzE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4+IHhlbi9hcmNoL2FybS90
ZWUvZmZhX3ByaXZhdGUuaCB8ICA3MSArKysrKysrKw0KPj4+IDQgZmlsZXMgY2hhbmdlZCwgNDQ5
IGluc2VydGlvbnMoKykNCj4+PiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3RlZS9m
ZmFfbm90aWYuYw0KPj4+IA0KPj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL01ha2Vm
aWxlIGIveGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQ0KPj4+IGluZGV4IGYwMTEyYTJmOTIyZC4u
N2MwZjQ2ZjdmNDQ2IDEwMDY0NA0KPj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvTWFrZWZpbGUN
Cj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL01ha2VmaWxlDQo+Pj4gQEAgLTIsNSArMiw2IEBA
IG9iai0kKENPTkZJR19GRkEpICs9IGZmYS5vDQo+Pj4gb2JqLSQoQ09ORklHX0ZGQSkgKz0gZmZh
X3NobS5vDQo+Pj4gb2JqLSQoQ09ORklHX0ZGQSkgKz0gZmZhX3BhcnRpbmZvLm8NCj4+PiBvYmot
JChDT05GSUdfRkZBKSArPSBmZmFfcnh0eC5vDQo+Pj4gK29iai0kKENPTkZJR19GRkEpICs9IGZm
YV9ub3RpZi5vDQo+Pj4gb2JqLXkgKz0gdGVlLm8NCj4+PiBvYmotJChDT05GSUdfT1BURUUpICs9
IG9wdGVlLm8NCj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmEuYyBiL3hlbi9h
cmNoL2FybS90ZWUvZmZhLmMNCj4+PiBpbmRleCA1MjA5NjEyOTYzZTEuLmNlOTc1N2JmZWVkMSAx
MDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+Pj4gKysrIGIveGVuL2Fy
Y2gvYXJtL3RlZS9mZmEuYw0KPj4+IEBAIC0zOSw2ICszOSw5IEBADQo+Pj4gKiAgIC0gYXQgbW9z
dCAzMiBzaGFyZWQgbWVtb3J5IHJlZ2lvbnMgcGVyIGd1ZXN0DQo+Pj4gKiBvIEZGQV9NU0dfU0VO
RF9ESVJFQ1RfUkVROg0KPj4+ICogICAtIG9ubHkgc3VwcG9ydGVkIGZyb20gYSBWTSB0byBhbiBT
UA0KPj4+ICsgKiBvIEZGQV9OT1RJRklDQVRJT05fKjoNCj4+PiArICogICAtIG9ubHkgc3VwcG9y
dHMgZ2xvYmFsIG5vdGlmaWNhdGlvbnMsIHRoYXQgaXMsIHBlciB2Q1BVIG5vdGlmaWNhdGlvbnMN
Cj4+PiArICogICAgIGFyZSBub3Qgc3VwcG9ydGVkDQo+Pj4gKg0KPj4+ICogVGhlcmUgYXJlIHNv
bWUgbGFyZ2UgbG9ja2VkIHNlY3Rpb25zIHdpdGggZmZhX3R4X2J1ZmZlcl9sb2NrIGFuZA0KPj4+
ICogZmZhX3J4X2J1ZmZlcl9sb2NrLiBFc3BlY2lhbGx5IHRoZSBmZmFfdHhfYnVmZmVyX2xvY2sg
c3BpbmxvY2sgdXNlZA0KPj4+IEBAIC0xOTQsNiArMTk3LDggQEAgb3V0Og0KPj4+IA0KPj4+IHN0
YXRpYyB2b2lkIGhhbmRsZV9mZWF0dXJlcyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+
PiB7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4+ICsg
ICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+ICAgIHVpbnQzMl90IGEx
ID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpOw0KPj4+ICAgIHVuc2lnbmVkIGludCBuOw0KPj4+IA0K
Pj4+IEBAIC0yNDAsNiArMjQ1LDMwIEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9mZWF0dXJlcyhzdHJ1
Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+PiAgICAgICAgQlVJTERfQlVHX09OKFBBR0VfU0la
RSAhPSBGRkFfUEFHRV9TSVpFKTsNCj4+PiAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVn
cywgMCwgMCk7DQo+Pj4gICAgICAgIGJyZWFrOw0KPj4+ICsgICAgY2FzZSBGRkFfRkVBVFVSRV9O
T1RJRl9QRU5EX0lOVFI6DQo+Pj4gKyAgICAgICAgaWYgKCBjdHgtPm5vdGlmLmVuYWJsZWQgKQ0K
Pj4+ICsgICAgICAgICAgICBmZmFfc2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCBGRkFfTk9USUZfUEVO
RF9JTlRSX0lELCAwKTsNCj4+PiArICAgICAgICBlbHNlDQo+Pj4gKyAgICAgICAgICAgIGZmYV9z
ZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQpOw0KPj4+ICsgICAgICAg
IGJyZWFrOw0KPj4+ICsgICAgY2FzZSBGRkFfRkVBVFVSRV9TQ0hFRFVMRV9SRUNWX0lOVFI6DQo+
Pj4gKyAgICAgICAgaWYgKCBjdHgtPm5vdGlmLmVuYWJsZWQgKQ0KPj4+ICsgICAgICAgICAgICBm
ZmFfc2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCBGRkFfTk9USUZfUEVORF9JTlRSX0lELCAwKTsNCj4+
IA0KPj4gVGhpcyBzaG91bGQgcmV0dXJuIHRoZSBSRUNWX0lOVFIsIG5vdCB0aGUgUEVORCBvbmUu
DQo+IA0KPiBUaGFua3MsIEknbGwgZml4IGl0Lg0KPiANCj4+IA0KPj4+ICsgICAgICAgIGVsc2UN
Cj4+PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NV
UFBPUlRFRCk7DQo+Pj4gKyAgICAgICAgYnJlYWs7DQo+Pj4gKw0KPj4+ICsgICAgY2FzZSBGRkFf
Tk9USUZJQ0FUSU9OX0JJTkQ6DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fVU5CSU5E
Og0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FUSU9OX0dFVDoNCj4+PiArICAgIGNhc2UgRkZB
X05PVElGSUNBVElPTl9TRVQ6DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fSU5GT19H
RVRfMzI6DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fSU5GT19HRVRfNjQ6DQo+Pj4g
KyAgICAgICAgaWYgKCBjdHgtPm5vdGlmLmVuYWJsZWQgKQ0KPj4+ICsgICAgICAgICAgICBmZmFf
c2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCAwLCAwKTsNCj4+PiArICAgICAgICBlbHNlDQo+Pj4gKyAg
ICAgICAgICAgIGZmYV9zZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQp
Ow0KPj4+ICsgICAgICAgIGJyZWFrOw0KPj4+ICAgIGRlZmF1bHQ6DQo+Pj4gICAgICAgIGZmYV9z
ZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQpOw0KPj4+ICAgICAgICBi
cmVhazsNCj4+PiBAQCAtMzA1LDYgKzMzNCwzMCBAQCBzdGF0aWMgYm9vbCBmZmFfaGFuZGxlX2Nh
bGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAxKSksDQo+
Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAz
KSk7DQo+Pj4gICAgICAgIGJyZWFrOw0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FUSU9OX0JJ
TkQ6DQo+Pj4gKyAgICAgICAgZSA9IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2JpbmQoZ2V0X3Vz
ZXJfcmVnKHJlZ3MsIDEpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAyKSwNCj4+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnZXRfdXNlcl9yZWcocmVncywgMyksDQo+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDQpKTsN
Cj4+IA0KPj4gSSB3b3VsZCBzdWdnZXN0IHRvIHBhc3MgcmVncyBhbmQgaGFuZGxlIHRoZSBnZXRf
dXNlcl9yZWdzIGluIHRoZSBmdW5jdGlvbi4NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4gKyAgICAg
ICAgYnJlYWs7DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fVU5CSU5EOg0KPj4+ICsg
ICAgICAgIGUgPSBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl91bmJpbmQoZ2V0X3VzZXJfcmVnKHJl
Z3MsIDEpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2V0X3VzZXJfcmVnKHJlZ3MsIDMpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDQpKTsNCj4+IA0KPj4gc2FtZSBoZXJl
DQo+IA0KPiBPSw0KPiANCj4+IA0KPj4+ICsgICAgICAgIGJyZWFrOw0KPj4+ICsgICAgY2FzZSBG
RkFfTk9USUZJQ0FUSU9OX0lORk9fR0VUXzMyOg0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FU
SU9OX0lORk9fR0VUXzY0Og0KPj4+ICsgICAgICAgIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2lu
Zm9fZ2V0KHJlZ3MpOw0KPj4+ICsgICAgICAgIHJldHVybiB0cnVlOw0KPj4+ICsgICAgY2FzZSBG
RkFfTk9USUZJQ0FUSU9OX0dFVDoNCj4+PiArICAgICAgICBmZmFfaGFuZGxlX25vdGlmaWNhdGlv
bl9nZXQocmVncyk7DQo+Pj4gKyAgICAgICAgcmV0dXJuIHRydWU7DQo+Pj4gKyAgICBjYXNlIEZG
QV9OT1RJRklDQVRJT05fU0VUOg0KPj4+ICsgICAgICAgIGUgPSBmZmFfaGFuZGxlX25vdGlmaWNh
dGlvbl9zZXQoZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDIpLA0KPj4+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpLA0K
Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVn
KHJlZ3MsIDQpKTsNCj4+IA0KPj4gc2FtZSBoZXJlDQo+IA0KPiBPSw0KPiANCj4+IA0KPj4+ICsg
ICAgICAgIGJyZWFrOw0KPj4+IA0KPj4+ICAgIGRlZmF1bHQ6DQo+Pj4gICAgICAgIGdwcmludGso
WEVOTE9HX0VSUiwgImZmYTogdW5oYW5kbGVkIGZpZCAweCV4XG4iLCBmaWQpOw0KPj4+IEBAIC0z
NDgsNiArNDAxLDkgQEAgc3RhdGljIGludCBmZmFfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAq
ZCkNCj4+PiAgICBpZiAoICFmZmFfcGFydGluZm9fZG9tYWluX2luaXQoZCkgKQ0KPj4+ICAgICAg
ICByZXR1cm4gLUVJTzsNCj4+PiANCj4+PiArICAgIGlmICggIWZmYV9ub3RpZl9kb21haW5faW5p
dChkKSApDQo+Pj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+PiANCj4+IEhhdmluZyB0aGlz
IGZ1bmN0aW9uIGRlY2lkaW5nIG9uIHRoZSByZXR1cm4gY29kZSBpcyBhIGJpdCB3ZWlyZC4NCj4+
IEkgd291bGQgc3VnZ2VzdCB0byBoYXZlIGZmYV9ub3RpZl9kb21haW5faW5pdCByZXR1cm5pbmcg
YW4gaW50DQo+PiBhbmQgZGVjaWRpbmcgb24gdGhlIGVycm9yIGNvZGUgYW5kIHRoaXMgb25lIGp1
c3QgcmV0dXJuaW5nIHRoZQ0KPj4gZXJyb3IgaWYgIT0wLg0KPj4gDQo+PiBJZiBwb3NzaWJsZSB0
aGUgc2FtZSBwcmluY2lwbGUgc2hvdWxkIGJlIGFwcGxpZWQgZm9yIHRoZSBwYXJ0aW5mby4NCj4g
DQo+IE9LLCBJJ2xsIGZpeCBpdC4NCj4gDQo+PiANCj4+PiArDQo+Pj4gICAgcmV0dXJuIDA7DQo+
Pj4gfQ0KPj4+IA0KPj4+IEBAIC00MjMsNiArNDc5LDcgQEAgc3RhdGljIGludCBmZmFfZG9tYWlu
X3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpDQo+Pj4gICAgICAgIHJldHVybiAwOw0KPj4+IA0K
Pj4+ICAgIGZmYV9yeHR4X2RvbWFpbl9kZXN0cm95KGQpOw0KPj4+ICsgICAgZmZhX25vdGlmX2Rv
bWFpbl9kZXN0cm95KGQpOw0KPj4+IA0KPj4+ICAgIGZmYV9kb21haW5fdGVhcmRvd25fY29udGlu
dWUoY3R4LCB0cnVlIC8qIGZpcnN0X3RpbWUgKi8pOw0KPj4+IA0KPj4+IEBAIC01MDIsNiArNTU5
LDcgQEAgc3RhdGljIGJvb2wgZmZhX3Byb2JlKHZvaWQpDQo+Pj4gICAgaWYgKCAhZmZhX3BhcnRp
bmZvX2luaXQoKSApDQo+Pj4gICAgICAgIGdvdG8gZXJyX3J4dHhfZGVzdHJveTsNCj4+PiANCj4+
PiArICAgIGZmYV9ub3RpZl9pbml0KCk7DQo+Pj4gICAgSU5JVF9MSVNUX0hFQUQoJmZmYV90ZWFy
ZG93bl9oZWFkKTsNCj4+PiAgICBpbml0X3RpbWVyKCZmZmFfdGVhcmRvd25fdGltZXIsIGZmYV90
ZWFyZG93bl90aW1lcl9jYWxsYmFjaywgTlVMTCwgMCk7DQo+Pj4gDQo+Pj4gZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL2FybS90ZWUvZmZhX25vdGlmLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3Rp
Zi5jDQo+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjAx
NzNlZTUxNTM2Mg0KPj4+IC0tLSAvZGV2L251bGwNCj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVl
L2ZmYV9ub3RpZi5jDQo+Pj4gQEAgLTAsMCArMSwzMTkgQEANCj4+PiArLyogU1BEWC1MaWNlbnNl
LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KPj4+ICsvKg0KPj4+ICsgKiBDb3B5cmlnaHQg
KEMpIDIwMjQgIExpbmFybyBMaW1pdGVkDQo+Pj4gKyAqLw0KPj4+ICsNCj4+PiArI2luY2x1ZGUg
PHhlbi9jb25zdC5oPg0KPj4+ICsjaW5jbHVkZSA8eGVuL2xpc3QuaD4NCj4+PiArI2luY2x1ZGUg
PHhlbi9zcGlubG9jay5oPg0KPj4+ICsjaW5jbHVkZSA8eGVuL3R5cGVzLmg+DQo+Pj4gKw0KPj4+
ICsjaW5jbHVkZSA8YXNtL3NtY2NjLmg+DQo+Pj4gKyNpbmNsdWRlIDxhc20vcmVncy5oPg0KPj4+
ICsNCj4+PiArI2luY2x1ZGUgImZmYV9wcml2YXRlLmgiDQo+Pj4gKw0KPj4+ICtzdGF0aWMgYm9v
bCBfX3JvX2FmdGVyX2luaXQgbm90aWZfZW5hYmxlZDsNCj4+PiArDQo+Pj4gK2ludCBmZmFfaGFu
ZGxlX25vdGlmaWNhdGlvbl9iaW5kKHVpbnQzMl90IHNyY19kc3QsIHVpbnQzMl90IGZsYWdzLA0K
Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiaXRtYXBfbG8s
IHVpbnQzMl90IGJpdG1hcF9oaSkNCj4+PiArew0KPj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZCA9
IGN1cnJlbnQtPmRvbWFpbjsNCj4+PiArDQo+Pj4gKyAgICBpZiAoICFub3RpZl9lbmFibGVkICkN
Cj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsNCj4+PiAr
ICAgIGlmICggKHNyY19kc3QgJiAweGZmZmYpICE9IGZmYV9nZXRfdm1faWQoZCkgKQ0KPj4+ICsg
ICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+IA0KPj4gcy8weGZm
ZmYvMHhGRkZGVS8NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4gKw0KPj4+ICsgICAgaWYgKCBmbGFn
cyApICAgIC8qIE9ubHkgZ2xvYmFsIG5vdGlmaWNhdGlvbnMgYXJlIHN1cHBvcnRlZCAqLw0KPj4+
ICsgICAgICAgIHJldHVybiBGRkFfUkVUX0RFTklFRDsNCj4+PiArDQo+Pj4gKyAgICAvKg0KPj4+
ICsgICAgICogV2Ugb25seSBzdXBwb3J0IG5vdGlmaWNhdGlvbnMgZnJvbSBTUCBzbyBubyBuZWVk
IHRvIGNoZWNrIHRoZSBzZW5kZXINCj4+PiArICAgICAqIGVuZHBvaW50IElELCB0aGUgU1BNQyB3
aWxsIHRha2UgY2FyZSBvZiB0aGF0IGZvciB1cy4NCj4+PiArICAgICAqLw0KPj4+ICsgICAgcmV0
dXJuIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9USUZJQ0FUSU9OX0JJTkQsIHNyY19kc3QsIGZsYWdz
LCBiaXRtYXBfaGksDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9sbyk7
DQo+Pj4gK30NCj4+PiArDQo+Pj4gK2ludCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl91bmJpbmQo
dWludDMyX3Qgc3JjX2RzdCwgdWludDMyX3QgYml0bWFwX2xvLA0KPj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGJpdG1hcF9oaSkNCj4+PiArew0KPj4+ICsg
ICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFpbjsNCj4+PiArDQo+Pj4gKyAgICBp
ZiAoICFub3RpZl9lbmFibGVkICkNCj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQ
UE9SVEVEOw0KPj4+ICsNCj4+PiArICAgIGlmICggKHNyY19kc3QgJiAweGZmZmYpICE9IGZmYV9n
ZXRfdm1faWQoZCkgKQ0KPj4+ICsgICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1F
VEVSUzsNCj4+IA0KPj4gcy8weGZmZmYvMHhGRkZGVS8NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4g
Kw0KPj4+ICsgICAgLyoNCj4+PiArICAgICAqIFdlIG9ubHkgc3VwcG9ydCBub3RpZmljYXRpb25z
IGZyb20gU1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUNCj4+PiArICAgICAqIGRlc3RpbmF0aW9u
IGVuZHBvaW50IElELCB0aGUgU1BNQyB3aWxsIHRha2UgY2FyZSBvZiB0aGF0IGZvciB1cy4NCj4+
PiArICAgICAqLw0KPj4+ICsgICAgcmV0dXJuICBmZmFfc2ltcGxlX2NhbGwoRkZBX05PVElGSUNB
VElPTl9VTkJJTkQsIHNyY19kc3QsIDAsIGJpdG1hcF9oaSwNCj4+PiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJpdG1hcF9sbyk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3ZvaWQgZmZhX2hh
bmRsZV9ub3RpZmljYXRpb25faW5mb19nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+
Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+Pj4g
KyAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0gZC0+YXJjaC50ZWU7DQo+Pj4gKyAgICBib29sIHBl
bmRpbmdfZ2xvYmFsOw0KPj4+ICsNCj4+PiArICAgIGlmICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+
ICsgICAgew0KPj4+ICsgICAgICAgIGZmYV9zZXRfcmVnc19lcnJvcihyZWdzLCBGRkFfUkVUX05P
VF9TVVBQT1JURUQpOw0KPj4+ICsgICAgICAgIHJldHVybjsNCj4+PiArICAgIH0NCj4+PiArDQo+
Pj4gKyAgICBzcGluX2xvY2soJmN0eC0+bm90aWYubG9jayk7DQo+Pj4gKyAgICBwZW5kaW5nX2ds
b2JhbCA9IGN0eC0+bm90aWYuc2VjdXJlX3BlbmRpbmc7DQo+Pj4gKyAgICBjdHgtPm5vdGlmLnNl
Y3VyZV9wZW5kaW5nID0gZmFsc2U7DQo+Pj4gKyAgICBzcGluX3VubG9jaygmY3R4LT5ub3RpZi5s
b2NrKTsNCj4+PiArDQo+Pj4gKyAgICBpZiAoIHBlbmRpbmdfZ2xvYmFsICkNCj4+PiArICAgIHsN
Cj4+PiArICAgICAgICAvKiBBIHBlbmRpbmcgZ2xvYmFsIG5vdGlmaWNhdGlvbiBmb3IgdGhlIGd1
ZXN0ICovDQo+Pj4gKyAgICAgICAgZmZhX3NldF9yZWdzKHJlZ3MsIEZGQV9TVUNDRVNTXzY0LCAw
LA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAxVSA8PCBGRkFfTk9USUZfSU5GT19HRVRfSURf
Q09VTlRfU0hJRlQsIGZmYV9nZXRfdm1faWQoZCksDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAg
IDAsIDAsIDAsIDApOw0KPj4+ICsgICAgfQ0KPj4+ICsgICAgZWxzZQ0KPj4+ICsgICAgew0KPj4+
ICsgICAgICAgIC8qIFJlcG9ydCBhbiBlcnJvciBpZiB0aGVyZSB3aGVyZSBubyBwZW5kaW5nIGds
b2JhbCBub3RpZmljYXRpb24gKi8NCj4+PiArICAgICAgICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVn
cywgRkZBX1JFVF9OT19EQVRBKTsNCj4+PiArICAgIH0NCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9p
ZCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp
DQo+Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+
Pj4gKyAgICB1aW50MzJfdCByZWN2ID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpOw0KPj4+ICsgICAg
dWludDMyX3QgZmxhZ3MgPSBnZXRfdXNlcl9yZWcocmVncywgMik7DQo+Pj4gKyAgICB1aW50MzJf
dCB3MiA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3MyA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3
NCA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NSA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NiA9
IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NyA9IDA7DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCAhbm90
aWZfZW5hYmxlZCApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9y
KHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+Pj4gKyAgICAgICAgcmV0dXJuOw0KPj4+
ICsgICAgfQ0KPj4+ICsNCj4+PiArICAgIGlmICggKHJlY3YgJiAweGZmZmYpICE9IGZmYV9nZXRf
dm1faWQoZCkgKQ0KPj4gcy8weGZmZmYvMHhGRkZGVS8NCj4gDQo+IE9LDQo+IA0KPj4gDQo+Pj4g
KyAgICB7DQo+Pj4gKyAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIEZGQV9SRVRfSU5W
QUxJRF9QQVJBTUVURVJTKTsNCj4+PiArICAgICAgICByZXR1cm47DQo+Pj4gKyAgICB9DQo+Pj4g
Kw0KPj4+ICsgICAgaWYgKCBmbGFncyAmICggRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQIHwgRkZB
X05PVElGX0ZMQUdfQklUTUFQX1NQTSApICkNCj4+PiArICAgIHsNCj4+PiArICAgICAgICBzdHJ1
Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIGFyZyA9IHsNCj4+PiArICAgICAgICAgICAgLmEwID0gRkZB
X05PVElGSUNBVElPTl9HRVQsDQo+Pj4gKyAgICAgICAgICAgIC5hMSA9IHJlY3YsDQo+Pj4gKyAg
ICAgICAgICAgIC5hMiA9IGZsYWdzICYgKCBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1AgfA0KPj4+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQTSAp
LA0KPj4+ICsgICAgICAgIH07DQo+Pj4gKyAgICAgICAgc3RydWN0IGFybV9zbWNjY18xXzJfcmVn
cyByZXNwOw0KPj4+ICsgICAgICAgIGludDMyX3QgZTsNCj4+PiArDQo+Pj4gKyAgICAgICAgYXJt
X3NtY2NjXzFfMl9zbWMoJmFyZywgJnJlc3ApOw0KPj4+ICsgICAgICAgIGUgPSBmZmFfZ2V0X3Jl
dF9jb2RlKCZyZXNwKTsNCj4+PiArICAgICAgICBpZiAoIGUgKQ0KPj4+ICsgICAgICAgIHsNCj4+
PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIGUpOw0KPj4+ICsgICAgICAg
ICAgICByZXR1cm47DQo+Pj4gKyAgICAgICAgfQ0KPj4+ICsNCj4+PiArICAgICAgICBpZiAoIGZs
YWdzICYgRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQICkNCj4+PiArICAgICAgICB7DQo+Pj4gKyAg
ICAgICAgICAgIHcyID0gcmVzcC5hMjsNCj4+PiArICAgICAgICAgICAgdzMgPSByZXNwLmEzOw0K
Pj4+ICsgICAgICAgIH0NCj4+PiArDQo+Pj4gKyAgICAgICAgaWYgKCBmbGFncyAmIEZGQV9OT1RJ
Rl9GTEFHX0JJVE1BUF9TUE0gKQ0KPj4+ICsgICAgICAgICAgICB3NiA9IHJlc3AuYTY7DQo+Pj4g
KyAgICB9DQo+Pj4gKw0KPj4+ICsgICAgZmZhX3NldF9yZWdzKHJlZ3MsIEZGQV9TVUNDRVNTXzMy
LCAwLCB3MiwgdzMsIHc0LCB3NSwgdzYsIHc3KTsNCj4+PiArfQ0KPj4+ICsNCj4+PiAraW50IGZm
YV9oYW5kbGVfbm90aWZpY2F0aW9uX3NldCh1aW50MzJfdCBzcmNfZHN0LCB1aW50MzJfdCBmbGFn
cywNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBiaXRtYXBf
bG8sIHVpbnQzMl90IGJpdG1hcF9oaSkNCj4+PiArew0KPj4+ICsgICAgc3RydWN0IGRvbWFpbiAq
ZCA9IGN1cnJlbnQtPmRvbWFpbjsNCj4+PiArDQo+Pj4gKyAgICBpZiAoICFub3RpZl9lbmFibGVk
ICkNCj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsNCj4+
PiArICAgIGlmICggKHNyY19kc3QgPj4gMTYpICE9IGZmYV9nZXRfdm1faWQoZCkgKQ0KPj4+ICsg
ICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+IA0KPj4gVGhpcyBu
ZWVkcyBzb21lIGNoZWNraW5nIGFzIGkgd291bGQgaGF2ZSB1c2VkIHRoZSBsb3dlc3QgYml0cyBo
ZXJlDQo+PiBmb3IgdGhlIHNvdXJjZSBhbmQgbm90IHRoZSBoaWdoZXN0LiBUaGUgc3BlYyBpcyB1
c2luZyB0aGUgc2FtZSBkZXNjcmlwdGlvbg0KPj4gZm9yIGFsbCBBQklzIHNvIEkgYW0gd29uZGVy
aW5nIGlmIHlvdSBhcmUgbm90IHVzaW5nIHRoZSBkZXN0aW5hdGlvbiBpbnN0ZWFkIG9mDQo+PiB0
aGUgc291cmNlIGhlcmUuDQo+IA0KPiBUaGlzIGlzIGEgYml0IHRyaWNreSBiZWNhdXNlIG5vdCBh
bGwgQUJJIGZ1bmN0aW9ucyBkZWZpbmUgU2VuZGVyIGFuZA0KPiBSZWNlaXZlciBpbiB0aGUgc2Ft
ZSB3YXkuIEZvciBGRkFfTk9USUZJQ0FUSU9OX0JJTkQgaXQncyB0aGUgU2VuZGVyDQo+IGFuZCBS
ZWNlaXZlciBvZiB0aGUgbm90aWZpY2F0aW9uLCB3aGlsZSBmb3IgaW5zdGFuY2UsDQo+IEZGQV9N
U0dfU0VORF9ESVJFQ1RfUkVRIGRlZmluZXMgaXQgYXMgdGhlIFNlbmRlciBhbmQgUmVjZWl2ZXIg
b2YgdGhlDQo+IG1lc3NhZ2UuDQo+IA0KPiBXaGVuIHRoZSBIeXBlcnZpc29yIGludm9rZXMgRkZB
X05PVElGSUNBVElPTl9TRVQgaXQncyB0aGUgU2VuZGVyIGFuZA0KPiBSZWNlaXZlciBvZiB0aGUg
bm90aWZpY2F0aW9uLCB0aGF0IGlzLCB0aGUgZ3Vlc3QgaXMgdGhlIHNhbWUgYXMgdGhlDQo+IHNl
bmRlciBvZiB0aGUgbm90aWZpY2F0aW9uLiBTbyB0aGUgZ3Vlc3QgSUQgc2hvdWxkIGdvIGludG8g
QklUWzMxOjE2XSwNCj4gYW5kIHRoZSByZWNlaXZlciBvZiB0aGUgbm90aWZpY2F0aW9uIGluIEJJ
VFsxNTowXS4NCj4gDQo+IFdoZW4gdGhlIGd1ZXN0IGludm9rZXMgRkZBX05PVElGSUNBVElPTl9T
RVQgdGhlIEh5cGVydmlzb3IgaXMNCj4gcmVxdWVzdGVkIHRvIHNpZ25hbCBub3RpZmljYXRpb25z
IHRvIHRoZSBTZW5kZXIgZW5kcG9pbnQgQklUWzMxOjE2XS4NCj4gV2hhdCdzIGV4cGVjdGVkIGlu
IEJJVFsxNTowXSBpc24ndCBtZW50aW9uZWQgc28gSSBhc3N1bWUgdGhlDQo+IEh5cGVydmlzb3Ig
c2hvdWxkIGlnbm9yZSBpdCBzaW5jZSBpdCBhbHJlYWR5IGtub3dzIHRoZSBndWVzdCBJRC4NCj4g
DQo+IEZvbGxvd2luZyB0aGF0IGFuYWx5c2lzLCB3ZSBzaG91bGQgcmVwbGFjZSB0aGUgaWYgc3Rh
dGVtZW50IGFib3ZlIHdpdGg6DQo+IHNyY19kc3QgPSAoKHVpbnQzMl90KWZmYV9nZXRfdm1faWQo
ZCkgPDwgMTYpIHwgKHNyY19kc3QgPj4gMTYpDQo+IA0KPiBCdXQgSSdtIG5vdCBjZXJ0YWluIEkn
dmUgdW5kZXJzdG9vZCB0aGUgc3BlY2lmaWNhdGlvbiBjb3JyZWN0bHksIGluDQo+IHBhcnRpY3Vs
YXIgdGhlIHBhcnQgd2hlcmUgdGhlIGd1ZXN0IGludm9rZXMgRkZBX05PVElGSUNBVElPTl9TRVQu
DQo+IA0KPiBXaGF0J3MgeW91ciB0YWtlIG9uIHRoaXM/DQo+IA0KPiBJIGRvbid0IHVzZSB0aGlz
IGZ1bmN0aW9uIGluIG15IHRlc3RzIHNvIGl0J3MgcGVyaGFwcyBiZXR0ZXIgdG8gd2FpdA0KPiB3
aXRoIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIHVudGlsIGl0J3MgdXNlZC4N
Cg0KSSBkaXNjdXNzZWQgdGhpcyBpbnRlcm5hbGx5IGFuZCBpbiBmYWN0IHdlIGhhdmUgYSB0eXBv
IGluIHRoZQ0KIE5PVElGSUNBVElPTl9TRVQgZGVzY3JpcHRpb24gdGhhdCB3ZSBoYXZlIHRvIGZp
eCAoZmlyc3QgYnVsbGV0IG9mDQogZGVzY3JpcHRpb24gc2hvdWxkIHNheSByZWNlaXZlciBhbmQg
bm90IHNlbmRlcikNCg0KU28gdGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBjaGVjayB0aGUgbG93
ZXN0IGJpdHMgdG8gYmUgdGhlIGNhbGxlciBJRA0KZm9yIGFsbCBjYWxscyBleGNlcHQgbm90aWZp
Y2F0aW9uX3NldCB3aGVyZSBpdCBzaG91bGQgY2hlY2sgdGhlIGhpZ2hlc3QgYml0cy4NCg0KSW4g
bm90aWZpY2F0aW9uX3NldCB0aGUgbG93ZXN0IGJpdHMgYXJlIGVuY29kaW5nIHRoZSBJRCBvZiB0
aGUgZW5kcG9pbnQgdG8NCndoaWNoIGEgbm90aWZpY2F0aW9uIG11c3QgYmUgZ2VuZXJhdGVkLg0K
DQpUZWxsIG1lIGlmIHRoaXMgaXMgY2xlYXJpbmcgaXQgdXAgOi0pDQoNCkNoZWVycw0KQmVydHJh
bmQNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:45:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703402.1099058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rua8m-00031g-RA; Wed, 10 Apr 2024 15:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703402.1099058; Wed, 10 Apr 2024 15: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 1rua8m-00031Z-Nz; Wed, 10 Apr 2024 15:45:36 +0000
Received: by outflank-mailman (input) for mailman id 703402;
 Wed, 10 Apr 2024 15:45:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wd5r=LP=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1rua8l-00031T-Du
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:45:35 +0000
Received: from mail-oa1-x31.google.com (mail-oa1-x31.google.com
 [2001:4860:4864:20::31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cd8f669-f751-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 17:45:32 +0200 (CEST)
Received: by mail-oa1-x31.google.com with SMTP id
 586e51a60fabf-22a96054726so5641651fac.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 08:45: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: 5cd8f669-f751-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712763931; x=1713368731; 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=5q+s7aQ6d+Mb/GWWV6PGQ9hc+apzFQuvLGgB+x4Pb+U=;
        b=NQecYgL8+9KB5mDxjgpnhrcE9a4UEaOQAIK7jtyhmkAfXPv1IuwminTfWe2kFhSA6m
         CEcxGz49ev/L7DOzEAiTbgJpw/tsTQigzGRsXQOgt8nmcVgLwZPGdjhW0JFKckNpb1lq
         lDDFuZXn0WZfKb8q7OF8vusyWdzSBud7ACCJ8btj+sRrkhcDKnHRZ8FvxBn664IgEMbX
         TFr/FccWACIaPLJhE0yhDSU24v7m/GMjPN2p2YDgJe4ayAt0EpVHK9UkRda+Gxi/dypA
         M8ncViozcCZIyb9QFPsuA1lk13qDeTS6tKBp48H0gmddCTv2Nv1OyS1XY23XR/mFGlEI
         j+wQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712763931; x=1713368731;
        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=5q+s7aQ6d+Mb/GWWV6PGQ9hc+apzFQuvLGgB+x4Pb+U=;
        b=wkpuJnB9gJ2PGY7bvrPESC5XHfXJzfIIDa1CsaYiLJ7a9fpKffs07j59gJJAZq2LSZ
         5GU1HxCb0Rb74jyf/W1skwVkc9AxOCV4kCibZ/kPmuUZOkuqonVWH/cgHZSE6HD3YBLZ
         6AVvdE4dmiOcBacIG6syVUSqxQ/ywelmDca3HZJ8SL+5oBqOy4dchr2NcqSXxhpLrWcT
         w4L/MK5RMyY03CvkMVz2FlieoJ05tvkmywO6SBODvXXcEU9A4wa9w4nlTbTlyu+/ORdv
         6iIos4WFqMnZNl1oU3Sxx5nXC01yoZvzUjFgpPxpGQcFvD6vln7y4g1SnPtjGSNM6hMa
         nVrg==
X-Gm-Message-State: AOJu0YzvcVFwL5u0ItgvHZpGyeHfmZg7BqcUTCUY/cKqaEt08zkUPMgM
	fCcFaRMdWopisXhi13JcLVhbqRwUSLkTPpz+sLFB0Fncf+A4keOq6BHOeePVQUd9oykF0uftzGM
	eaC+0v9mW8AKmR+gYxh0D++SJenOj15q0NiHMc5cf736rvIXg3RQ=
X-Google-Smtp-Source: AGHT+IGh4+ktIXLCtx9ugQAhHvavUg5iWn6KgjL0sHdGFiRfwdiQg+96xb3D6sv3L0jcy0WSATI81xKVyfMEYB0GQfQ=
X-Received: by 2002:a05:6870:9193:b0:22e:bace:ed96 with SMTP id
 b19-20020a056870919300b0022ebaceed96mr3018061oaf.15.1712763930911; Wed, 10
 Apr 2024 08:45:30 -0700 (PDT)
MIME-Version: 1.0
References: <20240409153630.2026584-1-jens.wiklander@linaro.org> <20240409153630.2026584-6-jens.wiklander@linaro.org>
In-Reply-To: <20240409153630.2026584-6-jens.wiklander@linaro.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 10 Apr 2024 17:45:19 +0200
Message-ID: <CAHUa44EeCeX6nbY+FG_WUK6n-GMBFFYS9khpHF59fH8BSiW01Q@mail.gmail.com>
Subject: Re: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	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 Tue, Apr 9, 2024 at 5:36=E2=80=AFPM Jens Wiklander <jens.wiklander@linar=
o.org> wrote:
>
> Add support for FF-A notifications, currently limited to an SP (Secure
> Partition) sending an asynchronous notification to a guest.
>
> Guests and Xen itself are made aware of pending notifications with an
> interrupt. The interrupt handler retrieves the notifications using the
> FF-A ABI and deliver them to their destinations.
>
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
>  xen/arch/arm/tee/Makefile      |   1 +
>  xen/arch/arm/tee/ffa.c         |  58 ++++++
>  xen/arch/arm/tee/ffa_notif.c   | 319 +++++++++++++++++++++++++++++++++
>  xen/arch/arm/tee/ffa_private.h |  71 ++++++++
>  4 files changed, 449 insertions(+)
>  create mode 100644 xen/arch/arm/tee/ffa_notif.c
>
> diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> index f0112a2f922d..7c0f46f7f446 100644
> --- a/xen/arch/arm/tee/Makefile
> +++ b/xen/arch/arm/tee/Makefile
> @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
>  obj-$(CONFIG_FFA) +=3D ffa_shm.o
>  obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
>  obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
> +obj-$(CONFIG_FFA) +=3D ffa_notif.o
>  obj-y +=3D tee.o
>  obj-$(CONFIG_OPTEE) +=3D optee.o
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 5209612963e1..ce9757bfeed1 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -39,6 +39,9 @@
>   *   - at most 32 shared memory regions per guest
>   * o FFA_MSG_SEND_DIRECT_REQ:
>   *   - only supported from a VM to an SP
> + * o FFA_NOTIFICATION_*:
> + *   - only supports global notifications, that is, per vCPU notificatio=
ns
> + *     are not supported
>   *
>   * There are some large locked sections with ffa_tx_buffer_lock and
>   * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> @@ -194,6 +197,8 @@ out:
>
>  static void handle_features(struct cpu_user_regs *regs)
>  {
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
>      uint32_t a1 =3D get_user_reg(regs, 1);
>      unsigned int n;
>
> @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *re=
gs)
>          BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
>          ffa_set_regs_success(regs, 0, 0);
>          break;
> +    case FFA_FEATURE_NOTIF_PEND_INTR:
> +        if ( ctx->notif.enabled )
> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> +        else
> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        break;
> +    case FFA_FEATURE_SCHEDULE_RECV_INTR:
> +        if ( ctx->notif.enabled )
> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> +        else
> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        break;

With the recently posted kernel patch
https://lore.kernel.org/all/20240410-ffa_npi_support-v1-3-1a5223391bd1@arm.=
com/
we need to decide which feature interrupt to return since the kernel
will only install a handle for the first it finds. Right now I propose
to to not report FFA_FEATURE_SCHEDULE_RECV_INTR. When the time comes
to use a secondary scheduler we'll need to report the SRI instead.

Cheers,
Jens

> +
> +    case FFA_NOTIFICATION_BIND:
> +    case FFA_NOTIFICATION_UNBIND:
> +    case FFA_NOTIFICATION_GET:
> +    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);
> +        break;
>      default:
>          ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>          break;
> @@ -305,6 +334,30 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>                                                       get_user_reg(regs, =
1)),
>                                     get_user_reg(regs, 3));
>          break;
> +    case FFA_NOTIFICATION_BIND:
> +        e =3D ffa_handle_notification_bind(get_user_reg(regs, 1),
> +                                         get_user_reg(regs, 2),
> +                                         get_user_reg(regs, 3),
> +                                         get_user_reg(regs, 4));
> +        break;
> +    case FFA_NOTIFICATION_UNBIND:
> +        e =3D ffa_handle_notification_unbind(get_user_reg(regs, 1),
> +                                           get_user_reg(regs, 3),
> +                                           get_user_reg(regs, 4));
> +        break;
> +    case FFA_NOTIFICATION_INFO_GET_32:
> +    case FFA_NOTIFICATION_INFO_GET_64:
> +        ffa_handle_notification_info_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_GET:
> +        ffa_handle_notification_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_SET:
> +        e =3D ffa_handle_notification_set(get_user_reg(regs, 1),
> +                                        get_user_reg(regs, 2),
> +                                        get_user_reg(regs, 3),
> +                                        get_user_reg(regs, 4));
> +        break;
>
>      default:
>          gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -348,6 +401,9 @@ static int ffa_domain_init(struct domain *d)
>      if ( !ffa_partinfo_domain_init(d) )
>          return -EIO;
>
> +    if ( !ffa_notif_domain_init(d) )
> +        return -ENOMEM;
> +
>      return 0;
>  }
>
> @@ -423,6 +479,7 @@ static int ffa_domain_teardown(struct domain *d)
>          return 0;
>
>      ffa_rxtx_domain_destroy(d);
> +    ffa_notif_domain_destroy(d);
>
>      ffa_domain_teardown_continue(ctx, true /* first_time */);
>
> @@ -502,6 +559,7 @@ static bool ffa_probe(void)
>      if ( !ffa_partinfo_init() )
>          goto err_rxtx_destroy;
>
> +    ffa_notif_init();
>      INIT_LIST_HEAD(&ffa_teardown_head);
>      init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0=
);
>
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> new file mode 100644
> index 000000000000..0173ee515362
> --- /dev/null
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -0,0 +1,319 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright (C) 2024  Linaro Limited
> + */
> +
> +#include <xen/const.h>
> +#include <xen/list.h>
> +#include <xen/spinlock.h>
> +#include <xen/types.h>
> +
> +#include <asm/smccc.h>
> +#include <asm/regs.h>
> +
> +#include "ffa_private.h"
> +
> +static bool __ro_after_init notif_enabled;
> +
> +int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
> +                                 uint32_t bitmap_lo, uint32_t bitmap_hi)
> +{
> +    struct domain *d =3D current->domain;
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    if ( flags )    /* Only global notifications are supported */
> +        return FFA_RET_DENIED;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the sen=
der
> +     * endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap=
_hi,
> +                           bitmap_lo);
> +}
> +
> +int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_lo,
> +                                   uint32_t bitmap_hi)
> +{
> +    struct domain *d =3D current->domain;
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the
> +     * destination endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_=
hi,
> +                            bitmap_lo);
> +}
> +
> +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    bool pending_global;
> +
> +    if ( !notif_enabled )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        return;
> +    }
> +
> +    spin_lock(&ctx->notif.lock);
> +    pending_global =3D ctx->notif.secure_pending;
> +    ctx->notif.secure_pending =3D false;
> +    spin_unlock(&ctx->notif.lock);
> +
> +    if ( pending_global )
> +    {
> +        /* A pending global notification for the guest */
> +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_vm=
_id(d),
> +                     0, 0, 0, 0);
> +    }
> +    else
> +    {
> +        /* Report an error if there where no pending global notification=
 */
> +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> +    }
> +}
> +
> +void ffa_handle_notification_get(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    uint32_t recv =3D get_user_reg(regs, 1);
> +    uint32_t flags =3D get_user_reg(regs, 2);
> +    uint32_t w2 =3D 0;
> +    uint32_t w3 =3D 0;
> +    uint32_t w4 =3D 0;
> +    uint32_t w5 =3D 0;
> +    uint32_t w6 =3D 0;
> +    uint32_t w7 =3D 0;
> +
> +    if ( !notif_enabled )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        return;
> +    }
> +
> +    if ( (recv & 0xffff) !=3D ffa_get_vm_id(d) )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
> +        return;
> +    }
> +
> +    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM =
) )
> +    {
> +        struct arm_smccc_1_2_regs arg =3D {
> +            .a0 =3D FFA_NOTIFICATION_GET,
> +            .a1 =3D recv,
> +            .a2 =3D flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
> +                            FFA_NOTIF_FLAG_BITMAP_SPM ),
> +        };
> +        struct arm_smccc_1_2_regs resp;
> +        int32_t e;
> +
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        e =3D ffa_get_ret_code(&resp);
> +        if ( e )
> +        {
> +            ffa_set_regs_error(regs, e);
> +            return;
> +        }
> +
> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
> +        {
> +            w2 =3D resp.a2;
> +            w3 =3D resp.a3;
> +        }
> +
> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
> +            w6 =3D resp.a6;
> +    }
> +
> +    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
> +}
> +
> +int ffa_handle_notification_set(uint32_t src_dst, uint32_t flags,
> +                                uint32_t bitmap_lo, uint32_t bitmap_hi)
> +{
> +    struct domain *d =3D current->domain;
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the sen=
der
> +     * endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_=
lo,
> +                           bitmap_hi);
> +}
> +
> +static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
> +                                 unsigned int n)
> +{
> +    unsigned int ids_per_reg;
> +    unsigned int reg_idx;
> +    unsigned int reg_shift;
> +
> +    if ( smccc_is_conv_64(resp->a0) )
> +        ids_per_reg =3D 4;
> +    else
> +        ids_per_reg =3D 2;
> +
> +    reg_idx =3D n / ids_per_reg + 3;
> +    reg_shift =3D ( n % ids_per_reg ) * 16;
> +
> +    switch ( reg_idx )
> +    {
> +    case 3:
> +        return resp->a3 >> reg_shift;
> +    case 4:
> +        return resp->a4 >> reg_shift;
> +    case 5:
> +        return resp->a5 >> reg_shift;
> +    case 6:
> +        return resp->a6 >> reg_shift;
> +    case 7:
> +        return resp->a7 >> reg_shift;
> +    default:
> +        ASSERT(0); /* "Can't happen" */
> +        return 0;
> +    }
> +}
> +
> +static void notif_irq_handler(int irq, void *data)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int id_pos;
> +    unsigned int list_count;
> +    uint64_t ids_count;
> +    unsigned int n;
> +    int32_t res;
> +
> +    do {
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        res =3D ffa_get_ret_code(&resp);
> +        if ( res )
> +        {
> +            if ( res !=3D FFA_RET_NO_DATA )
> +                printk(XENLOG_ERR "ffa: notification info get failed: er=
ror %d\n",
> +                       res);
> +            return;
> +        }
> +
> +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT ) =
&
> +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> +
> +        id_pos =3D 0;
> +        for ( n =3D 0; n < list_count; n++ )
> +        {
> +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
> +            struct domain *d;
> +
> +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_pos=
));
> +
> +            if ( d )
> +            {
> +                struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +                spin_lock(&ctx->notif.lock);
> +                ctx->notif.secure_pending =3D true;
> +                spin_unlock(&ctx->notif.lock);
> +
> +                /*
> +                 * Since we're only delivering global notification, alwa=
ys
> +                 * deliver to the first vCPU. It doesn't matter which we
> +                 * chose, as long as it's available.
> +                 */
> +                vgic_inject_irq(d, d->vcpu[0], FFA_NOTIF_PEND_INTR_ID, t=
rue);
> +
> +                put_domain(d);
> +            }
> +
> +            id_pos +=3D count;
> +        }
> +
> +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
> +}
> +
> +static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
> +                                              uint32_t vcpu_count)
> +{
> +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu_c=
ount,
> +                           0, 0);
> +}
> +
> +static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
> +{
> +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, 0,=
 0);
> +}
> +
> +void ffa_notif_init(void)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_FEATURES,
> +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int irq;
> +    int ret;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> +        return;
> +
> +    irq =3D resp.a2;
> +    if ( irq >=3D NR_GIC_SGI )
> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> +    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
> +    if ( ret )
> +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
> +               irq, ret);
> +    notif_enabled =3D !ret;
> +}
> +
> +bool ffa_notif_domain_init(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    int32_t res;
> +
> +    if ( !notif_enabled )
> +        return true;
> +
> +    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpu=
s);
> +    if ( res )
> +        return false;
> +
> +    ctx->notif.enabled =3D true;
> +
> +    return true;
> +}
> +
> +void ffa_notif_domain_destroy(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    if ( ctx->notif.enabled )
> +    {
> +        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
> +        ctx->notif.enabled =3D false;
> +    }
> +}
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index 98236cbf14a3..26c2af164d38 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -25,6 +25,7 @@
>  #define FFA_RET_DENIED                  -6
>  #define FFA_RET_RETRY                   -7
>  #define FFA_RET_ABORTED                 -8
> +#define FFA_RET_NO_DATA                 -9
>
>  /* FFA_VERSION helpers */
>  #define FFA_VERSION_MAJOR_SHIFT         16U
> @@ -60,6 +61,8 @@
>   */
>  #define FFA_PAGE_SIZE                   SZ_4K
>
> +#define FFA_NOTIF_BITMAP_SIZE           64
> +
>  /*
>   * The number of pages used for each of the RX and TX buffers shared wit=
h
>   * the SPMC.
> @@ -97,6 +100,18 @@
>   */
>  #define FFA_MAX_SHM_COUNT               32
>
> +/*
> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
> + * unused, but that may change.
> + *
> + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not u=
sed
> + * by a guest as they in a non-virtualized system typically are assigned=
 to
> + * the secure world. Here we're free to use SGI 8-15 since they are virt=
ual
> + * and have nothing to do with the secure world.
> + */
> +#define FFA_NOTIF_PEND_INTR_ID      8
> +#define FFA_SCHEDULE_RECV_INTR_ID   9
> +
>  /*
>   * The time we wait until trying to tear down a domain again if it was
>   * blocked initially.
> @@ -175,6 +190,21 @@
>   */
>  #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
>
> +/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
> +#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
> +#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> +#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
> +#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
> +
> +#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
> +#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
> +#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
> +#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
> +
> +/* Feature IDs used with FFA_FEATURES */
> +#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
> +#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
> +
>  /* Function IDs */
>  #define FFA_ERROR                       0x84000060U
>  #define FFA_SUCCESS_32                  0x84000061U
> @@ -213,6 +243,27 @@
>  #define FFA_MEM_FRAG_TX                 0x8400007BU
>  #define FFA_MSG_SEND                    0x8400006EU
>  #define FFA_MSG_POLL                    0x8400006AU
> +#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
> +#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
> +#define FFA_NOTIFICATION_BIND           0x8400007FU
> +#define FFA_NOTIFICATION_UNBIND         0x84000080U
> +#define FFA_NOTIFICATION_SET            0x84000081U
> +#define FFA_NOTIFICATION_GET            0x84000082U
> +#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
> +#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
> +
> +struct ffa_ctx_notif {
> +    bool enabled;
> +
> +    /* Used to serialize access to the rest of this struct */
> +    spinlock_t lock;
> +
> +    /*
> +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> +     * pending global notifications.
> +     */
> +    bool secure_pending;
> +};
>
>  struct ffa_ctx {
>      void *rx;
> @@ -228,6 +279,7 @@ struct ffa_ctx {
>      struct list_head shm_list;
>      /* Number of allocated shared memory object */
>      unsigned int shm_count;
> +    struct ffa_ctx_notif notif;
>      /*
>       * tx_lock is used to serialize access to tx
>       * rx_lock is used to serialize access to rx
> @@ -271,12 +323,31 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register=
_t tx_addr,
>  uint32_t ffa_handle_rxtx_unmap(void);
>  int32_t ffa_handle_rx_release(void);
>
> +void ffa_notif_init(void);
> +bool ffa_notif_domain_init(struct domain *d);
> +void ffa_notif_domain_destroy(struct domain *d);
> +
> +int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
> +                                 uint32_t bitmap_lo, uint32_t bitmap_hi)=
;
> +int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap_lo,
> +                                   uint32_t bitmap_hi);
> +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(uint32_t src_dst, uint32_t flags,
> +                                uint32_t bitmap_lo, uint32_t bitmap_hi);
> +
>  static inline uint16_t ffa_get_vm_id(const struct domain *d)
>  {
>      /* +1 since 0 is reserved for the hypervisor in FF-A */
>      return d->domain_id + 1;
>  }
>
> +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
> +{
> +    /* -1 to match ffa_get_vm_id() */
> +    return get_domain_by_id(vm_id - 1);
> +}
> +
>  static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t v=
0,
>                                  register_t v1, register_t v2, register_t=
 v3,
>                                  register_t v4, register_t v5, register_t=
 v6,
> --
> 2.34.1
>


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:48:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703407.1099067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruaBD-0003ZP-6Y; Wed, 10 Apr 2024 15:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703407.1099067; Wed, 10 Apr 2024 15:48:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruaBD-0003ZI-3e; Wed, 10 Apr 2024 15:48:07 +0000
Received: by outflank-mailman (input) for mailman id 703407;
 Wed, 10 Apr 2024 15:48:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wd5r=LP=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruaBB-0003ZC-RF
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:48:06 +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 b75cc74f-f751-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 17:48:04 +0200 (CEST)
Received: by mail-oa1-x29.google.com with SMTP id
 586e51a60fabf-221e76cad07so4295468fac.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 08:48: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: b75cc74f-f751-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712764083; x=1713368883; 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=SpLpUpj5p8kB7JADxI3npWjIi4LjnitfPxAhFTSOkhA=;
        b=Vm9VU5NYO5XmZ57WwUnxjhCe+SL0GraQ8KSPdh4jgSWARXkhBjLN33qsGts4NZDiIV
         svtmMZ4dH/rY1J/XeWPJ7v7oJ+VJCDERMwDR1iMOSyUrGT2Lqc/W7t+4muQZRPae+NFg
         XCB1FjBwleEBA2BrGHCnvCnq1VBRPmHOIkx3NliH0ZQHHDtEZrO6bTvZCRX8mbYxQMuk
         HXQbg27nLnQCWbuS4ZgMXT3+gu8msoKf/CQZmfHLLE8gB/vmEk7QOUZNQ8DXiFcVbYuq
         avaDeqaAkuwZ9YYSxkM359qWf9BL+04Y2VEeIA1qwXl9NhdKgzG6T1Kqj4f4f9mBHBz8
         0isw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712764083; x=1713368883;
        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=SpLpUpj5p8kB7JADxI3npWjIi4LjnitfPxAhFTSOkhA=;
        b=qANP0Q0U76Pt9rQc67ubG16Cd8joXrVuDdCkUKrZIeSJgxCEzFo8VWR1XVeajnUk1I
         w1oxrIXwDZnKmPte9qhp5wLoV9kOvMZjmSXO/wfvtd4bTOrMVgNBhLE2XSK5+YhB/45/
         C7QKJb8zm6QToAmOObfYDzRWy9PNPkZTSPO1AUC/f75g+Gqy7Mwf5OzgXtLR3u1L0ZA2
         YF/c4CROFdWW17KYBYxNxXbfI1lcqB0o+L4S373oSWobGPR5cHXItxYEj9TG/aHvFR3F
         76r3IWcVM03FIe2gdaBoUrgV+2Ft7CqbNgEXR4/vI3IOOI0fRIOdjDq1nA0F3GKnS05o
         WMAA==
X-Gm-Message-State: AOJu0YznyZ2GvtKXGxlFYJwkcVs3WmlLkEqXHPKDNaYSZcDiGnvXKrbs
	lYGldTuYtyds1VPZHlsdjtiYlN29xgBw69ssm+sdiU2kaSoAWkuMJke9KUwGYmhrBAqgQxDT/52
	JoBwE97sTTOEhkRRFnvN6NYRoayT4a+abgFlQyBGx/rK+jxn3
X-Google-Smtp-Source: AGHT+IHY9Yb3GtPBjgEt5EUiRC2djAO18cF2o989IARZFSHr1CkJZ+XLNmEKCfIqwfKuzqO8F2krZ1/7upjsm2PU2tM=
X-Received: by 2002:a05:6871:418e:b0:22a:51f6:b059 with SMTP id
 lc14-20020a056871418e00b0022a51f6b059mr25320oab.3.1712764082962; Wed, 10 Apr
 2024 08:48:02 -0700 (PDT)
MIME-Version: 1.0
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-6-jens.wiklander@linaro.org> <C9733F1F-E308-46D3-AC84-D4651B4D6723@arm.com>
 <CAHUa44H3=QsEkJ6RrBRS30ccaCbg3GQTYeVF+WpnvDk8qnzw=w@mail.gmail.com> <F27906D5-80F4-4542-99B7-1666B7A3AD95@arm.com>
In-Reply-To: <F27906D5-80F4-4542-99B7-1666B7A3AD95@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 10 Apr 2024 17:47:51 +0200
Message-ID: <CAHUa44Gqtvu-eKSAR+5iW2YBb-7D3Ga0yxU7fEvLk=cOg2-txw@mail.gmail.com>
Subject: Re: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.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 Bertrand,

On Wed, Apr 10, 2024 at 5:41=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 10 Apr 2024, at 16:27, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > On Wed, Apr 10, 2024 at 9:49=E2=80=AFAM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 9 Apr 2024, at 17:36, Jens Wiklander <jens.wiklander@linaro.org> w=
rote:
> >>>
> >>> Add support for FF-A notifications, currently limited to an SP (Secur=
e
> >>> Partition) sending an asynchronous notification to a guest.
> >>>
> >>> Guests and Xen itself are made aware of pending notifications with an
> >>> interrupt. The interrupt handler retrieves the notifications using th=
e
> >>> FF-A ABI and deliver them to their destinations.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/Makefile      |   1 +
> >>> xen/arch/arm/tee/ffa.c         |  58 ++++++
> >>> xen/arch/arm/tee/ffa_notif.c   | 319 ++++++++++++++++++++++++++++++++=
+
> >>> xen/arch/arm/tee/ffa_private.h |  71 ++++++++
> >>> 4 files changed, 449 insertions(+)
> >>> create mode 100644 xen/arch/arm/tee/ffa_notif.c
> >>>
> >>> diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> >>> index f0112a2f922d..7c0f46f7f446 100644
> >>> --- a/xen/arch/arm/tee/Makefile
> >>> +++ b/xen/arch/arm/tee/Makefile
> >>> @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
> >>> obj-$(CONFIG_FFA) +=3D ffa_shm.o
> >>> obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
> >>> obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
> >>> +obj-$(CONFIG_FFA) +=3D ffa_notif.o
> >>> obj-y +=3D tee.o
> >>> obj-$(CONFIG_OPTEE) +=3D optee.o
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index 5209612963e1..ce9757bfeed1 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -39,6 +39,9 @@
> >>> *   - at most 32 shared memory regions per guest
> >>> * o FFA_MSG_SEND_DIRECT_REQ:
> >>> *   - only supported from a VM to an SP
> >>> + * o FFA_NOTIFICATION_*:
> >>> + *   - only supports global notifications, that is, per vCPU notific=
ations
> >>> + *     are not supported
> >>> *
> >>> * There are some large locked sections with ffa_tx_buffer_lock and
> >>> * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> >>> @@ -194,6 +197,8 @@ out:
> >>>
> >>> static void handle_features(struct cpu_user_regs *regs)
> >>> {
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>>    uint32_t a1 =3D get_user_reg(regs, 1);
> >>>    unsigned int n;
> >>>
> >>> @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs=
 *regs)
> >>>        BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
> >>>        ffa_set_regs_success(regs, 0, 0);
> >>>        break;
> >>> +    case FFA_FEATURE_NOTIF_PEND_INTR:
> >>> +        if ( ctx->notif.enabled )
> >>> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> >>> +        else
> >>> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>> +        break;
> >>> +    case FFA_FEATURE_SCHEDULE_RECV_INTR:
> >>> +        if ( ctx->notif.enabled )
> >>> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> >>
> >> This should return the RECV_INTR, not the PEND one.
> >
> > Thanks, I'll fix it.
> >
> >>
> >>> +        else
> >>> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>> +        break;
> >>> +
> >>> +    case FFA_NOTIFICATION_BIND:
> >>> +    case FFA_NOTIFICATION_UNBIND:
> >>> +    case FFA_NOTIFICATION_GET:
> >>> +    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);
> >>> +        break;
> >>>    default:
> >>>        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>>        break;
> >>> @@ -305,6 +334,30 @@ static bool ffa_handle_call(struct cpu_user_regs=
 *regs)
> >>>                                                     get_user_reg(regs=
, 1)),
> >>>                                   get_user_reg(regs, 3));
> >>>        break;
> >>> +    case FFA_NOTIFICATION_BIND:
> >>> +        e =3D ffa_handle_notification_bind(get_user_reg(regs, 1),
> >>> +                                         get_user_reg(regs, 2),
> >>> +                                         get_user_reg(regs, 3),
> >>> +                                         get_user_reg(regs, 4));
> >>
> >> I would suggest to pass regs and handle the get_user_regs in the funct=
ion.
> >
> > OK
> >
> >>
> >>> +        break;
> >>> +    case FFA_NOTIFICATION_UNBIND:
> >>> +        e =3D ffa_handle_notification_unbind(get_user_reg(regs, 1),
> >>> +                                           get_user_reg(regs, 3),
> >>> +                                           get_user_reg(regs, 4));
> >>
> >> same here
> >
> > OK
> >
> >>
> >>> +        break;
> >>> +    case FFA_NOTIFICATION_INFO_GET_32:
> >>> +    case FFA_NOTIFICATION_INFO_GET_64:
> >>> +        ffa_handle_notification_info_get(regs);
> >>> +        return true;
> >>> +    case FFA_NOTIFICATION_GET:
> >>> +        ffa_handle_notification_get(regs);
> >>> +        return true;
> >>> +    case FFA_NOTIFICATION_SET:
> >>> +        e =3D ffa_handle_notification_set(get_user_reg(regs, 1),
> >>> +                                        get_user_reg(regs, 2),
> >>> +                                        get_user_reg(regs, 3),
> >>> +                                        get_user_reg(regs, 4));
> >>
> >> same here
> >
> > OK
> >
> >>
> >>> +        break;
> >>>
> >>>    default:
> >>>        gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> >>> @@ -348,6 +401,9 @@ static int ffa_domain_init(struct domain *d)
> >>>    if ( !ffa_partinfo_domain_init(d) )
> >>>        return -EIO;
> >>>
> >>> +    if ( !ffa_notif_domain_init(d) )
> >>> +        return -ENOMEM;
> >>
> >> Having this function deciding on the return code is a bit weird.
> >> I would suggest to have ffa_notif_domain_init returning an int
> >> and deciding on the error code and this one just returning the
> >> error if !=3D0.
> >>
> >> If possible the same principle should be applied for the partinfo.
> >
> > OK, I'll fix it.
> >
> >>
> >>> +
> >>>    return 0;
> >>> }
> >>>
> >>> @@ -423,6 +479,7 @@ static int ffa_domain_teardown(struct domain *d)
> >>>        return 0;
> >>>
> >>>    ffa_rxtx_domain_destroy(d);
> >>> +    ffa_notif_domain_destroy(d);
> >>>
> >>>    ffa_domain_teardown_continue(ctx, true /* first_time */);
> >>>
> >>> @@ -502,6 +559,7 @@ static bool ffa_probe(void)
> >>>    if ( !ffa_partinfo_init() )
> >>>        goto err_rxtx_destroy;
> >>>
> >>> +    ffa_notif_init();
> >>>    INIT_LIST_HEAD(&ffa_teardown_head);
> >>>    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL,=
 0);
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_noti=
f.c
> >>> new file mode 100644
> >>> index 000000000000..0173ee515362
> >>> --- /dev/null
> >>> +++ b/xen/arch/arm/tee/ffa_notif.c
> >>> @@ -0,0 +1,319 @@
> >>> +/* SPDX-License-Identifier: GPL-2.0-only */
> >>> +/*
> >>> + * Copyright (C) 2024  Linaro Limited
> >>> + */
> >>> +
> >>> +#include <xen/const.h>
> >>> +#include <xen/list.h>
> >>> +#include <xen/spinlock.h>
> >>> +#include <xen/types.h>
> >>> +
> >>> +#include <asm/smccc.h>
> >>> +#include <asm/regs.h>
> >>> +
> >>> +#include "ffa_private.h"
> >>> +
> >>> +static bool __ro_after_init notif_enabled;
> >>> +
> >>> +int ffa_handle_notification_bind(uint32_t src_dst, uint32_t flags,
> >>> +                                 uint32_t bitmap_lo, uint32_t bitmap=
_hi)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +
> >>> +    if ( !notif_enabled )
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>> +
> >>> +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>
> >> s/0xffff/0xFFFFU/
> >
> > OK
> >
> >>
> >>> +
> >>> +    if ( flags )    /* Only global notifications are supported */
> >>> +        return FFA_RET_DENIED;
> >>> +
> >>> +    /*
> >>> +     * We only support notifications from SP so no need to check the=
 sender
> >>> +     * endpoint ID, the SPMC will take care of that for us.
> >>> +     */
> >>> +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bi=
tmap_hi,
> >>> +                           bitmap_lo);
> >>> +}
> >>> +
> >>> +int ffa_handle_notification_unbind(uint32_t src_dst, uint32_t bitmap=
_lo,
> >>> +                                   uint32_t bitmap_hi)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +
> >>> +    if ( !notif_enabled )
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>> +
> >>> +    if ( (src_dst & 0xffff) !=3D ffa_get_vm_id(d) )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>
> >> s/0xffff/0xFFFFU/
> >
> > OK
> >
> >>
> >>> +
> >>> +    /*
> >>> +     * We only support notifications from SP so no need to check the
> >>> +     * destination endpoint ID, the SPMC will take care of that for =
us.
> >>> +     */
> >>> +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bit=
map_hi,
> >>> +                            bitmap_lo);
> >>> +}
> >>> +
> >>> +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +    bool pending_global;
> >>> +
> >>> +    if ( !notif_enabled )
> >>> +    {
> >>> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>> +        return;
> >>> +    }
> >>> +
> >>> +    spin_lock(&ctx->notif.lock);
> >>> +    pending_global =3D ctx->notif.secure_pending;
> >>> +    ctx->notif.secure_pending =3D false;
> >>> +    spin_unlock(&ctx->notif.lock);
> >>> +
> >>> +    if ( pending_global )
> >>> +    {
> >>> +        /* A pending global notification for the guest */
> >>> +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> >>> +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_ge=
t_vm_id(d),
> >>> +                     0, 0, 0, 0);
> >>> +    }
> >>> +    else
> >>> +    {
> >>> +        /* Report an error if there where no pending global notifica=
tion */
> >>> +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> >>> +    }
> >>> +}
> >>> +
> >>> +void ffa_handle_notification_get(struct cpu_user_regs *regs)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +    uint32_t recv =3D get_user_reg(regs, 1);
> >>> +    uint32_t flags =3D get_user_reg(regs, 2);
> >>> +    uint32_t w2 =3D 0;
> >>> +    uint32_t w3 =3D 0;
> >>> +    uint32_t w4 =3D 0;
> >>> +    uint32_t w5 =3D 0;
> >>> +    uint32_t w6 =3D 0;
> >>> +    uint32_t w7 =3D 0;
> >>> +
> >>> +    if ( !notif_enabled )
> >>> +    {
> >>> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >>> +        return;
> >>> +    }
> >>> +
> >>> +    if ( (recv & 0xffff) !=3D ffa_get_vm_id(d) )
> >> s/0xffff/0xFFFFU/
> >
> > OK
> >
> >>
> >>> +    {
> >>> +        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
> >>> +        return;
> >>> +    }
> >>> +
> >>> +    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_=
SPM ) )
> >>> +    {
> >>> +        struct arm_smccc_1_2_regs arg =3D {
> >>> +            .a0 =3D FFA_NOTIFICATION_GET,
> >>> +            .a1 =3D recv,
> >>> +            .a2 =3D flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
> >>> +                            FFA_NOTIF_FLAG_BITMAP_SPM ),
> >>> +        };
> >>> +        struct arm_smccc_1_2_regs resp;
> >>> +        int32_t e;
> >>> +
> >>> +        arm_smccc_1_2_smc(&arg, &resp);
> >>> +        e =3D ffa_get_ret_code(&resp);
> >>> +        if ( e )
> >>> +        {
> >>> +            ffa_set_regs_error(regs, e);
> >>> +            return;
> >>> +        }
> >>> +
> >>> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
> >>> +        {
> >>> +            w2 =3D resp.a2;
> >>> +            w3 =3D resp.a3;
> >>> +        }
> >>> +
> >>> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
> >>> +            w6 =3D resp.a6;
> >>> +    }
> >>> +
> >>> +    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
> >>> +}
> >>> +
> >>> +int ffa_handle_notification_set(uint32_t src_dst, uint32_t flags,
> >>> +                                uint32_t bitmap_lo, uint32_t bitmap_=
hi)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +
> >>> +    if ( !notif_enabled )
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>> +
> >>> +    if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>
> >> This needs some checking as i would have used the lowest bits here
> >> for the source and not the highest. The spec is using the same descrip=
tion
> >> for all ABIs so I am wondering if you are not using the destination in=
stead of
> >> the source here.
> >
> > This is a bit tricky because not all ABI functions define Sender and
> > Receiver in the same way. For FFA_NOTIFICATION_BIND it's the Sender
> > and Receiver of the notification, while for instance,
> > FFA_MSG_SEND_DIRECT_REQ defines it as the Sender and Receiver of the
> > message.
> >
> > When the Hypervisor invokes FFA_NOTIFICATION_SET it's the Sender and
> > Receiver of the notification, that is, the guest is the same as the
> > sender of the notification. So the guest ID should go into BIT[31:16],
> > and the receiver of the notification in BIT[15:0].
> >
> > When the guest invokes FFA_NOTIFICATION_SET the Hypervisor is
> > requested to signal notifications to the Sender endpoint BIT[31:16].
> > What's expected in BIT[15:0] isn't mentioned so I assume the
> > Hypervisor should ignore it since it already knows the guest ID.
> >
> > Following that analysis, we should replace the if statement above with:
> > src_dst =3D ((uint32_t)ffa_get_vm_id(d) << 16) | (src_dst >> 16)
> >
> > But I'm not certain I've understood the specification correctly, in
> > particular the part where the guest invokes FFA_NOTIFICATION_SET.
> >
> > What's your take on this?
> >
> > I don't use this function in my tests so it's perhaps better to wait
> > with the implementation of this function until it's used.
>
> I discussed this internally and in fact we have a typo in the
>  NOTIFICATION_SET description that we have to fix (first bullet of
>  description should say receiver and not sender)
>
> So the implementation should check the lowest bits to be the caller ID
> for all calls except notification_set where it should check the highest b=
its.
>
> In notification_set the lowest bits are encoding the ID of the endpoint t=
o
> which a notification must be generated.
>
> Tell me if this is clearing it up :-)

Thanks for looking into this. It's clear now. I'll update the code
accordingly in the next version.

Cheers,
Jens

>
> Cheers
> Bertrand
>


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 15:53:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 15:53:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703413.1099078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruaGa-00056c-VS; Wed, 10 Apr 2024 15:53:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703413.1099078; Wed, 10 Apr 2024 15:53:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruaGa-00056V-SO; Wed, 10 Apr 2024 15:53:40 +0000
Received: by outflank-mailman (input) for mailman id 703413;
 Wed, 10 Apr 2024 15:53: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=0Wol=LP=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ruaGZ-00056P-Bq
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 15:53:39 +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 7ec8a652-f752-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 17:53:38 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-417c339d261so2542405e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 08:53:38 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c15-20020adffb0f000000b00345fb949c28sm5474269wrr.100.2024.04.10.08.53.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 08: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: 7ec8a652-f752-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712764418; x=1713369218; 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/XbFWPz641If8F2DOfBw2zZvHADuMeoQrBFBBkb7aw=;
        b=gDWXnLYUlIN/MXUZY+Qte6ohdd3pMxolUoH8KoEO8dnu3yDMsAuanccKAu1h6gSTXp
         6O1L5nthWAg7bGST8E073CfzGn76cPzisw/G795GIny0+79cserlXF9NsxCqjsUczr6e
         t+NAdOcVfgfFJPouLCq3OSoleEYK4KACsp+x4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712764418; x=1713369218;
        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/XbFWPz641If8F2DOfBw2zZvHADuMeoQrBFBBkb7aw=;
        b=iXWAeXJq50CEAsb6l6zfyfvefFcZw9sAILrXk4LzUBHlG0suGqmpznV4ItNqfSQr+a
         2q5N1sWqjiXHeiyvCblIpjmji1UHbFV8EpkC8KJrMb7syZXueioNci+yKqZzJH4zf1mx
         HczqirpnybI62o0A9qyRTdFtiabJBuVsEwmxA61fuBL32iIDchSToVw5XP/4SuJDIxrb
         ABHX9HQt94ge83eztXA0LFxaK+TUCtD6TF/n2h2yDGOGfCr6tWzJaFd8uUxfkvrtoiU2
         g4m7IX4C3NPiBEta8vtmcIFME5iUuOM65DR7iilJ/arwJ2tyNK/CPYlqdByf10uaQkt8
         l1Sw==
X-Gm-Message-State: AOJu0Ywz1c7fcoP1GijwLBfVLTeWH9Cz/bmWsXnBOujMciEN0IZpesHV
	FALka9tHTgfrngxvEz9MiQoNIszgNt5W4e+cztj9xmi0V2GwIrtI7lxGCrHzKRE=
X-Google-Smtp-Source: AGHT+IHYIOv+DD2pBKdlkdYHMBQ0ek+2aMjCI2zASo+EF7qz4wYJ1yPyXZ7HgaQbknDxsAMH78IFaQ==
X-Received: by 2002:a05:600c:3c8e:b0:415:6dae:7727 with SMTP id bg14-20020a05600c3c8e00b004156dae7727mr2258127wmb.11.1712764417658;
        Wed, 10 Apr 2024 08:53:37 -0700 (PDT)
Date: Wed, 10 Apr 2024 16:53:36 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [RFC PATCH v1 0/2] convert LIBXL_DEVICE_MODEL_START_TIMEOUT to
 env var
Message-ID: <c00304a2-f990-4fb3-9276-7f4907b583ea@perard>
References: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cover.1712748711.git.manos.pitsidianakis@linaro.org>

On Wed, Apr 10, 2024 at 02:43:13PM +0300, Manos Pitsidianakis wrote:
> This patch series proposes converting the compile-time define 
> LIBXL_DEVICE_MODEL_START_TIMEOUT value to an optionally overridden by 
> environment variable value, just like the current behavior for 
> LIBXL_BOOTLOADER_TIMEOUT is.
> 
> Manos Pitsidianakis (2):
>   libs/light: add device model start timeout env var
>   libs/light: expand device model start timeout use
> 
>  docs/man/xl.1.pod.in                 | 11 +++++++++++
>  tools/libs/light/libxl_9pfs.c        |  2 +-
>  tools/libs/light/libxl_device.c      |  2 +-
>  tools/libs/light/libxl_dm.c          | 10 +++++-----
>  tools/libs/light/libxl_dom_suspend.c |  2 +-
>  tools/libs/light/libxl_domain.c      |  5 +++--
>  tools/libs/light/libxl_internal.h    |  6 ++++++
>  tools/libs/light/libxl_pci.c         | 10 +++++-----
>  tools/libs/light/libxl_usb.c         |  8 ++++----
>  9 files changed, 37 insertions(+), 19 deletions(-)
> 
> 
> base-commit: f48299cad5c3c69fdc2c101517a6dab9c9827ea5
> -- 
> γαῖα πυρί μιχθήτω
> 
> 

Hi Manos,

Did you know that you could run something like
    `git send-email --cc-cmd="scripts/get_maintainer.pl --no-l" ...`
and git would CC the maintainers of the code?

I've configure my xen repo to have that been automatic, with
    git config sendemail.cccmd 'cd `git rev-parse --show-toplevel` && scripts/get_maintainer.pl --no-l'

There's other way to send patch, like using
"scripts/add_maintainers.pl" described on this page:
https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches#Sending_a_Patch_Series
Not sure which one is better.

Anyway, I've added the series to my list of patch to look at. But I
might miss it next time if I'm not CCed.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 16:21:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 16:21:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703420.1099087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruahk-0001yE-27; Wed, 10 Apr 2024 16:21:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703420.1099087; Wed, 10 Apr 2024 16:21:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruahj-0001y7-Vq; Wed, 10 Apr 2024 16:21:43 +0000
Received: by outflank-mailman (input) for mailman id 703420;
 Wed, 10 Apr 2024 16:21:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruahj-0001y1-6D
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 16:21:43 +0000
Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com
 [2607:f8b0:4864:20::82a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 696cdf06-f756-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 18:21:41 +0200 (CEST)
Received: by mail-qt1-x82a.google.com with SMTP id
 d75a77b69052e-43444a599d0so42802291cf.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 09:21:40 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ku3-20020a05622a0a8300b004348513d0dbsm3846289qtb.31.2024.04.10.09.21.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Apr 2024 09:21:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 696cdf06-f756-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712766100; x=1713370900; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hBLaJxqM0jx5ixmwNn6JaIoCuBMG6QMDZ0hMJ1fqgYk=;
        b=pyy94h64kkUZU08KxVcXGMgjCiRKfVQwMN2ph+rMFDOtJSy/3u2IIcDBWv+TsfjyBz
         EgrLAXylOoGkkNJHX+rV5b4TrkmTJkwg7zqaG9ej/YOJ3ETeSKeXZICt+i8e8fJr7lI0
         R3IAAjtXL1IyilU5odGa92H7xBH36YUqYOFB8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712766100; x=1713370900;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hBLaJxqM0jx5ixmwNn6JaIoCuBMG6QMDZ0hMJ1fqgYk=;
        b=uP3LyZKwCm5DtdwbBwZVa00ZimUUVqIqxkDpkYj+/gEANAhVSYhf632k8Y2Np6Y1Cu
         PIa3CaDiAfXRslw0f5BUPufVUQxoIvX/FevQNpnKCIBsBScb5kZlsPakKHkHnWmsoU5c
         yL0eoBevK/+Z8IUo5HNDZJJQ3GobxFVE1jq2hjOMvPcUfuObACD2sBfcgN2DAbJqGSOg
         bClEhL2FBYbdxuG+Xp9uFNvxdRYan9nmxr8OAbOaWscYCFM63kayW/s1wuiPBVZo7f4u
         XxOcvZeH/HPQfq3cDZ19RQ2+MDiR5JFOhs4nvJ9ILQsi1LESBsYaTsa2nPeunY6P4az/
         PZ/g==
X-Gm-Message-State: AOJu0YxwrUc1Kwf0BVeUDo0Hs19/JeplQ5tDBbwwmtKTQSj1UnlH2QLw
	3I5FJa0XupvADZpWzjYI4zXctEzxjME6SABNvjONQshx1+nMIF+AJ5juu/oBLv8=
X-Google-Smtp-Source: AGHT+IEWlF4GiYaNbjFQRj89usZP/Lb6/7XFz80dviQB1zRq0kWovRS0vCpORho8EX7ZP/DWOgehhQ==
X-Received: by 2002:ac8:5881:0:b0:434:4beb:36e3 with SMTP id t1-20020ac85881000000b004344beb36e3mr3141704qta.12.1712766099750;
        Wed, 10 Apr 2024 09:21:39 -0700 (PDT)
Message-ID: <2fd969ef-8326-4ae8-a568-4256f00542f0@citrix.com>
Date: Wed, 10 Apr 2024 17:21:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and
 conditionalise ucode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>
References: <20231026205539.3261811-1-andrew.cooper3@citrix.com>
 <20231026205539.3261811-3-andrew.cooper3@citrix.com>
 <Zhas4MQdL3hQ6Uww@macbook>
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: <Zhas4MQdL3hQ6Uww@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/04/2024 4:14 pm, Roger Pau Monné wrote:
> On Thu, Oct 26, 2023 at 09:55:39PM +0100, Andrew Cooper wrote:
>> We eventually want to be able to build a stripped down Xen for a single
>> platform.  Make a start with CONFIG_{AMD,INTEL} (hidden behind EXPERT, but
>> available to randconfig), and adjust the microcode logic.
>>
>> No practical change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Wei Liu <wl@xen.org>
>> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> CC: Stefano Stabellini <stefano.stabellini@amd.com>
>> CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
>>
>> I've intentionally ignored the other vendors for now.  They can be put into
>> Kconfig by whomever figures out the actual dependencies between their init
>> routines.
>>
>> v2:
>>  * Tweak text
>> ---
>>  xen/arch/x86/Kconfig                 |  2 ++
>>  xen/arch/x86/Kconfig.cpu             | 22 ++++++++++++++++++++++
>>  xen/arch/x86/cpu/microcode/Makefile  |  4 ++--
>>  xen/arch/x86/cpu/microcode/private.h |  9 +++++++++
>>  4 files changed, 35 insertions(+), 2 deletions(-)
>>  create mode 100644 xen/arch/x86/Kconfig.cpu
>>
>> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
>> index eac77573bd75..d9eacdd7e0fa 100644
>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -49,6 +49,8 @@ config HAS_CC_CET_IBT
>>  
>>  menu "Architecture Features"
>>  
>> +source "arch/x86/Kconfig.cpu"
> Since we are not targeting at the CPU only, would this be better named
> as Kconfig.vendor?  Or Kconfig.platform?  (I'm OK if you prefer to
> leave as .cpu, just suggesting more neutral names.

Well - its based on ...

>
>> +
>>  source "arch/Kconfig"
>>  
>>  config PV
>> diff --git a/xen/arch/x86/Kconfig.cpu b/xen/arch/x86/Kconfig.cpu
>> new file mode 100644
>> index 000000000000..3c5d88fdfd16
>> --- /dev/null
>> +++ b/xen/arch/x86/Kconfig.cpu
>> @@ -0,0 +1,22 @@
>> +menu "Supported CPU vendors"
>> +	visible if EXPERT

... this, and I think "cpu" is the thing that is going to be most
meaningful to people.  (Also because this is what Linux calls the file.)

Technically platform would be the right term, but "CPU vendors" is what
you call Intel / AMD / etc in the x86 world.

>> +
>> +config AMD
>> +	bool "AMD"
>> +        default y
>> +        help
>> +          Detection, tunings and quirks for AMD platforms.
>> +
>> +	  May be turned off in builds targetting other vendors.  Otherwise,
>> +	  must be enabled for Xen to work suitably on AMD platforms.
>> +
>> +config INTEL
>> +	bool "Intel"
>> +        default y
>> +        help
>> +          Detection, tunings and quirks for Intel platforms.
>> +
>> +	  May be turned off in builds targetting other vendors.  Otherwise,
>> +	  must be enabled for Xen to work suitably on Intel platforms.
> There seems to be a weird mix between hard tabs and spaces above.
> Naming is OK for me.

Yeah.  I already fixed those locally.

>
>> +
>> +endmenu
>> diff --git a/xen/arch/x86/cpu/microcode/Makefile b/xen/arch/x86/cpu/microcode/Makefile
>> index aae235245b06..30d600544f45 100644
>> --- a/xen/arch/x86/cpu/microcode/Makefile
>> +++ b/xen/arch/x86/cpu/microcode/Makefile
>> @@ -1,3 +1,3 @@
>> -obj-y += amd.o
>> +obj-$(CONFIG_AMD) += amd.o
>>  obj-y += core.o
>> -obj-y += intel.o
>> +obj-$(CONFIG_INTEL) += intel.o
>> diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
>> index b58611e908aa..da556fe5060a 100644
>> --- a/xen/arch/x86/cpu/microcode/private.h
>> +++ b/xen/arch/x86/cpu/microcode/private.h
>> @@ -70,7 +70,16 @@ struct microcode_ops {
>>   * support available) and (not) ops->apply_microcode (i.e. read only).
>>   * Otherwise, all hooks must be filled in.
>>   */
>> +#ifdef CONFIG_AMD
>>  void ucode_probe_amd(struct microcode_ops *ops);
>> +#else
>> +static inline void ucode_probe_amd(struct microcode_ops *ops) {}
>> +#endif
>> +
>> +#ifdef CONFIG_INTEL
>>  void ucode_probe_intel(struct microcode_ops *ops);
>> +#else
>> +static inline void ucode_probe_intel(struct microcode_ops *ops) {}
> This is stale now, and will need some updating to match what's in
> private.h.

There's nothing state I can see.

Patch 1 does significantly edit this vs what's currently in staging.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 16:30:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 16:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703425.1099098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruaq6-0003t4-TQ; Wed, 10 Apr 2024 16:30:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703425.1099098; Wed, 10 Apr 2024 16:30:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruaq6-0003sx-Pe; Wed, 10 Apr 2024 16:30:22 +0000
Received: by outflank-mailman (input) for mailman id 703425;
 Wed, 10 Apr 2024 16:30: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=Oh3E=LP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1ruaq6-0003sr-54
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 16:30:22 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2606::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9e0e8f59-f757-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 18:30:18 +0200 (CEST)
Received: from DB7PR05CA0054.eurprd05.prod.outlook.com (2603:10a6:10:2e::31)
 by PAVPR08MB9038.eurprd08.prod.outlook.com (2603:10a6:102:32d::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 16:30:15 +0000
Received: from DB1PEPF00039231.eurprd03.prod.outlook.com
 (2603:10a6:10:2e:cafe::6a) by DB7PR05CA0054.outlook.office365.com
 (2603:10a6:10:2e::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 16:30:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039231.mail.protection.outlook.com (10.167.8.104) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 16:30:14 +0000
Received: ("Tessian outbound ff4e98f65004:v300");
 Wed, 10 Apr 2024 16:30:14 +0000
Received: from 5a8b2ed38bed.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 90A731B7-CE20-429E-9D74-8F5665CA2F90.1; 
 Wed, 10 Apr 2024 16:30:08 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5a8b2ed38bed.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 16:30:08 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DB9PR08MB8386.eurprd08.prod.outlook.com (2603:10a6:10:3d9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 16:30:05 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 16:30:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e0e8f59-f757-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=HhO3WjL5eLzLkRPE9a0uH7Ciod2HJzfcsC2moDBfCPZaYXotgIcouIRpJiNMULQa94LLbgqIAf76imRViYDiDTDegcdcwl51s9VV/0KyrybVVDYrlDrRamoG3es1FhTuN+1QToP9wEHQnl49dg/1L6fc+OBbrX6JmJe4TqffGQQPC/qSZGWXQyWcGRlckZ6Q0gq1ylNggOx1CUJXFTHx2OHHK2bERJXwfmbvG2hDtXptavIbU9pkKaA1DU3ZgKpUSJvZIto7I4iuGllNHqlTqnCbt4Qp3cY+lir+2ovLGGCw7OflhXkI5zEFRsI70kyWErLfBbpVean5YAzl1pp0Qw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jTx7pGz53t+jPfJUg35n+hHGsol3nmtxMgmVz3opd8A=;
 b=hXyvi41gurRInDTb190Qns0i0uuA6CsLePB6rwEMyrfFTx1ef5mzV2NvMjSlEKTYUxlGr6zjmMdXqhvnjEDH6/M2CHgGb3YpxrODSF+LXWFQBYX4rh5MRwYe5ctTxWcTcPC4rTu8nzOICn0Ld32kF2ayylduxWalEHo+n9AVmxPetIfGdm03OzHv/aXK2oWge21Gereup0qwxsxqlgBS98zUtAXE795fzhNCnkOyLqi8aotu2i+StJ8NmJSFwJGJewd4hdXjOgseVi1WCxjn7r/5orRsWZG6Ee1fxXcefPRO9N+wlzd6yCL7F27QYXGG6Az75Adcr25vpa9TB7cTXA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jTx7pGz53t+jPfJUg35n+hHGsol3nmtxMgmVz3opd8A=;
 b=Az2+Mb4QuDUkmgbNISxvBqRRWLVGfNMCaFf+Urpa1QZCgOe/6dg9fALtZZV3CpJPEWhTzpMHcfS1G64OlD/Axm+NEbj7KrtsObTHx/zAQCBykkpInfAXelsMQlWShKQnoFeomp/GClLAMijhHzy2BAxFs0Ts+NrYTNp4jmXNbOk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 197d455c9c07f677
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g/RwzzH9cYJZ9fvB7ywUjrJqoIYCBKusfRR5QwFpA05dTAezEjt7arAOMfaoFuSq0QoOiPZy5U6ZYo9WhmXYqu5AfrjgmhmXByOEQiBidPsuOtFk02bQ7srdAkBosJtFA9WQLSQqmlZnAzTzPUdyky/3ml12t3PNp41SZ1r5wU9kHJW57PbpgFXbxdkE1n5CAI+5VgqZixm1c/q/jYfvzUGM0B6rgTnJNQ05qkOfZ1kn1MLYiNoVQ9KanmdvDTmYuOuL+2+PlSzjzbt5ZLGSYn1PP0N6AYWvb9/wLktiz72QPerHTFb8L8XdEt0H6B0WLNvvC1i6W91yiEq8cBBukw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jTx7pGz53t+jPfJUg35n+hHGsol3nmtxMgmVz3opd8A=;
 b=G/KLcW1p2bjxjO4WG57a19wnrB24aHYlB28SqLJa6GcjUBZrxadAYwJI3NFpnVJkmW8cnH+iiUOugRMc8iBlH4VQ0NO21iuEeKL4Iu/e/GHeDtYdcKh2c3sPgvRbwPJ2gD4pADVJmnpxoyh6vZ6rN/BcBCWUi5pMyUogp+L0NXF9VAZMA1shVJDHHCBbK3zDZI1QMVOTgeR9EWil4xKWAZsWeMuUgqihC6nAMOz6SFH7jPklZ7fsxQoOP/aHZczjtuchUzw9k1DtI3sbVN6h6vByW8h71pp7BjOtgCXYLONcXrwNmBgb1J/9pl5fG8F8G2TxY4ZpjoiYkV8NLIa6gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jTx7pGz53t+jPfJUg35n+hHGsol3nmtxMgmVz3opd8A=;
 b=Az2+Mb4QuDUkmgbNISxvBqRRWLVGfNMCaFf+Urpa1QZCgOe/6dg9fALtZZV3CpJPEWhTzpMHcfS1G64OlD/Axm+NEbj7KrtsObTHx/zAQCBykkpInfAXelsMQlWShKQnoFeomp/GClLAMijhHzy2BAxFs0Ts+NrYTNp4jmXNbOk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
Thread-Index: AQHaipO/QuGF8TXkikCEHPNBW62gObFhpwaAgAAMdQA=
Date: Wed, 10 Apr 2024 16:30:05 +0000
Message-ID: <BC039B3A-5796-4D5F-9E18-4A54DAE368F5@arm.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-6-jens.wiklander@linaro.org>
 <CAHUa44EeCeX6nbY+FG_WUK6n-GMBFFYS9khpHF59fH8BSiW01Q@mail.gmail.com>
In-Reply-To:
 <CAHUa44EeCeX6nbY+FG_WUK6n-GMBFFYS9khpHF59fH8BSiW01Q@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DB9PR08MB8386:EE_|DB1PEPF00039231:EE_|PAVPR08MB9038:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 D1Xmw+Q2M5Uy4HlFVkt+vHtnTMD4nl8X1U4wPJ7NxOZZGVphZZVTqKvGT8HeEwgRBjfqfBUQoM8y7NLNSXSrp9kOOHY4D+Ocxe6vtDeeVkAWxriHofVNad5dzv0eIDXlvpibNjo3eF0U7EUrbA/LkgtN3PuuEoMFWF1M08OXspcyVwZDdCpsPTwtuiHVEcrEFGzYbEj3aQ3g/xQJEkQJZbMdKavti+xcAdiOVzn0W7NaPYd3aF43AyUiSg7oiyM5qNN7XeuyYb41pQggCh6gqiY0xruY780rtS0tIzJHWCyDDrzjO/EXNcWEocDIerG94mCdxVIT/irR2O5c5QQXEOQQCMYerdxt0ly1hoticoweiKQTrvak22vggn/NkbCRrb4JSUKORv2QTWTY5ptH1Z1ieR7K0jf8yfC40yxTl/XmDfWrqMStxmtAgI9lTr+naboYNWkbFHXAiqMUFd9Z9G2dNwgxaiOnTuEvBT8KehL/BcKnBt9nAv3jv5+i3rY0omOXoQqQHXiYcq8DVfOwRoWCoypSxhIdXzSCrEiSfa7v0nwyZ8O1rH+5+KXzODtAnGUbi9hk3v0XwzAR3g9EwNPIF+5WX7dnfO9ujD48wH5cwYtQqsAi6ihytUw1zEd2sR9CO4J2uTsCF1DY9pxHGKEJXGMqeNmwZ+lj0GDH/1Q=
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:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="utf-8"
Content-ID: <A19905389A735F4190DBDBFFDEAC07AF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8386
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF00039231.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 483d0713-a26d-4b4b-eead-08dc597b8057
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bKYYG1ySpwzObxTCb79GOOvGCOg0XBazgbfGBD3B/6CyAiAEs0BDmM3Q0lT41wZx1Qs6+bcwJDityuZdpa680BLU4TMRIAMunOANewAU0SfHeT6vbCOMAA6gK12uz82qMB1lMcIx82gv0YXs8ekmFSi1WvqZd6igp5KNCdM8/5Qwr3+KqQNGjjmPE5/3fT5FdO/dZheVRq75kGgcEpjqDLkxFK/RNQ/0DmtbyHy7YJMwrOXD2prrIDq8dGicMjfofIog8SyMQ2Op0OjC2v+uGDAbF1xTLbXVdVPPRXcru1Ra1SJE0pH2LSMkKTBNnR0Lo4Hycb76NCUb9SiqSngz6BZPTfjDEZVRc50w1NhbkCKJyWDyhmx9YAWVx3Kcc19Ivbcqc4erW4GXBMurRXUTlXF8dpZJ/qwnmArqGL/fuUlEpP3ffpPcJkpn5EF6y8SFQ7TOWqVguMArZnaxfzdcU5a1kjhT+X6G6RH4C4iXbwLTZqGya2DL55qx/9G5jPbmrc1YLXraL1enbdYiaWsv630h5Mzjhm8ibZiMkz8NKHZYTQAF96sydRcdYtQNWOfO7u7AK/PUgQuAlOKWGs87klIaAwUPcntq2XIXm4i+26WyUcAc+Fnlrg2WD2vjdJEOnU2f844CaMiqUOWQiz/8V4Aw0ODljfABSd8lPyTBIoPVii0uqM8GdESsdRBcHFQ+cQvhWcYHs6anXxBi8j7CjAJ+YFfaSaaccfurAudxF2Shv7+o3EGuKlztMpHL1vf0
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 16:30:14.8863
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 483d0713-a26d-4b4b-eead-08dc597b8057
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF00039231.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9038

SGkgSmVucywNCg0KPiBPbiAxMCBBcHIgMjAyNCwgYXQgMTc6NDUsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IE9uIFR1ZSwgQXByIDksIDIw
MjQgYXQgNTozNuKAr1BNIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xhbmRlckBsaW5hcm8ub3Jn
PiB3cm90ZToNCj4+IA0KPj4gQWRkIHN1cHBvcnQgZm9yIEZGLUEgbm90aWZpY2F0aW9ucywgY3Vy
cmVudGx5IGxpbWl0ZWQgdG8gYW4gU1AgKFNlY3VyZQ0KPj4gUGFydGl0aW9uKSBzZW5kaW5nIGFu
IGFzeW5jaHJvbm91cyBub3RpZmljYXRpb24gdG8gYSBndWVzdC4NCj4+IA0KPj4gR3Vlc3RzIGFu
ZCBYZW4gaXRzZWxmIGFyZSBtYWRlIGF3YXJlIG9mIHBlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRo
IGFuDQo+PiBpbnRlcnJ1cHQuIFRoZSBpbnRlcnJ1cHQgaGFuZGxlciByZXRyaWV2ZXMgdGhlIG5v
dGlmaWNhdGlvbnMgdXNpbmcgdGhlDQo+PiBGRi1BIEFCSSBhbmQgZGVsaXZlciB0aGVtIHRvIHRo
ZWlyIGRlc3RpbmF0aW9ucy4NCj4+IA0KPj4gU2lnbmVkLW9mZi1ieTogSmVucyBXaWtsYW5kZXIg
PGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+DQo+PiAtLS0NCj4+IHhlbi9hcmNoL2FybS90ZWUv
TWFrZWZpbGUgICAgICB8ICAgMSArDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jICAgICAgICAg
fCAgNTggKysrKysrDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3RpZi5jICAgfCAzMTkgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9w
cml2YXRlLmggfCAgNzEgKysrKysrKysNCj4+IDQgZmlsZXMgY2hhbmdlZCwgNDQ5IGluc2VydGlv
bnMoKykNCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3RpZi5j
DQo+PiANCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL01ha2VmaWxlIGIveGVuL2Fy
Y2gvYXJtL3RlZS9NYWtlZmlsZQ0KPj4gaW5kZXggZjAxMTJhMmY5MjJkLi43YzBmNDZmN2Y0NDYg
MTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL01ha2VmaWxlDQo+PiArKysgYi94ZW4v
YXJjaC9hcm0vdGVlL01ha2VmaWxlDQo+PiBAQCAtMiw1ICsyLDYgQEAgb2JqLSQoQ09ORklHX0ZG
QSkgKz0gZmZhLm8NCj4+IG9iai0kKENPTkZJR19GRkEpICs9IGZmYV9zaG0ubw0KPj4gb2JqLSQo
Q09ORklHX0ZGQSkgKz0gZmZhX3BhcnRpbmZvLm8NCj4+IG9iai0kKENPTkZJR19GRkEpICs9IGZm
YV9yeHR4Lm8NCj4+ICtvYmotJChDT05GSUdfRkZBKSArPSBmZmFfbm90aWYubw0KPj4gb2JqLXkg
Kz0gdGVlLm8NCj4+IG9iai0kKENPTkZJR19PUFRFRSkgKz0gb3B0ZWUubw0KPj4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+PiBp
bmRleCA1MjA5NjEyOTYzZTEuLmNlOTc1N2JmZWVkMSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNo
L2FybS90ZWUvZmZhLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+IEBAIC0z
OSw2ICszOSw5IEBADQo+PiAgKiAgIC0gYXQgbW9zdCAzMiBzaGFyZWQgbWVtb3J5IHJlZ2lvbnMg
cGVyIGd1ZXN0DQo+PiAgKiBvIEZGQV9NU0dfU0VORF9ESVJFQ1RfUkVROg0KPj4gICogICAtIG9u
bHkgc3VwcG9ydGVkIGZyb20gYSBWTSB0byBhbiBTUA0KPj4gKyAqIG8gRkZBX05PVElGSUNBVElP
Tl8qOg0KPj4gKyAqICAgLSBvbmx5IHN1cHBvcnRzIGdsb2JhbCBub3RpZmljYXRpb25zLCB0aGF0
IGlzLCBwZXIgdkNQVSBub3RpZmljYXRpb25zDQo+PiArICogICAgIGFyZSBub3Qgc3VwcG9ydGVk
DQo+PiAgKg0KPj4gICogVGhlcmUgYXJlIHNvbWUgbGFyZ2UgbG9ja2VkIHNlY3Rpb25zIHdpdGgg
ZmZhX3R4X2J1ZmZlcl9sb2NrIGFuZA0KPj4gICogZmZhX3J4X2J1ZmZlcl9sb2NrLiBFc3BlY2lh
bGx5IHRoZSBmZmFfdHhfYnVmZmVyX2xvY2sgc3BpbmxvY2sgdXNlZA0KPj4gQEAgLTE5NCw2ICsx
OTcsOCBAQCBvdXQ6DQo+PiANCj4+IHN0YXRpYyB2b2lkIGhhbmRsZV9mZWF0dXJlcyhzdHJ1Y3Qg
Y3B1X3VzZXJfcmVncyAqcmVncykNCj4+IHsNCj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1
cnJlbnQtPmRvbWFpbjsNCj4+ICsgICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVl
Ow0KPj4gICAgIHVpbnQzMl90IGExID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpOw0KPj4gICAgIHVu
c2lnbmVkIGludCBuOw0KPj4gDQo+PiBAQCAtMjQwLDYgKzI0NSwzMCBAQCBzdGF0aWMgdm9pZCBo
YW5kbGVfZmVhdHVyZXMoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgICAgIEJV
SUxEX0JVR19PTihQQUdFX1NJWkUgIT0gRkZBX1BBR0VfU0laRSk7DQo+PiAgICAgICAgIGZmYV9z
ZXRfcmVnc19zdWNjZXNzKHJlZ3MsIDAsIDApOw0KPj4gICAgICAgICBicmVhazsNCj4+ICsgICAg
Y2FzZSBGRkFfRkVBVFVSRV9OT1RJRl9QRU5EX0lOVFI6DQo+PiArICAgICAgICBpZiAoIGN0eC0+
bm90aWYuZW5hYmxlZCApDQo+PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVn
cywgRkZBX05PVElGX1BFTkRfSU5UUl9JRCwgMCk7DQo+PiArICAgICAgICBlbHNlDQo+PiArICAg
ICAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7
DQo+PiArICAgICAgICBicmVhazsNCj4+ICsgICAgY2FzZSBGRkFfRkVBVFVSRV9TQ0hFRFVMRV9S
RUNWX0lOVFI6DQo+PiArICAgICAgICBpZiAoIGN0eC0+bm90aWYuZW5hYmxlZCApDQo+PiArICAg
ICAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVncywgRkZBX05PVElGX1BFTkRfSU5UUl9J
RCwgMCk7DQo+PiArICAgICAgICBlbHNlDQo+PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX2Vy
cm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+PiArICAgICAgICBicmVhazsNCj4g
DQo+IFdpdGggdGhlIHJlY2VudGx5IHBvc3RlZCBrZXJuZWwgcGF0Y2gNCj4gaHR0cHM6Ly9sb3Jl
Lmtlcm5lbC5vcmcvYWxsLzIwMjQwNDEwLWZmYV9ucGlfc3VwcG9ydC12MS0zLTFhNTIyMzM5MWJk
MUBhcm0uY29tLw0KPiB3ZSBuZWVkIHRvIGRlY2lkZSB3aGljaCBmZWF0dXJlIGludGVycnVwdCB0
byByZXR1cm4gc2luY2UgdGhlIGtlcm5lbA0KPiB3aWxsIG9ubHkgaW5zdGFsbCBhIGhhbmRsZSBm
b3IgdGhlIGZpcnN0IGl0IGZpbmRzLiBSaWdodCBub3cgSSBwcm9wb3NlDQo+IHRvIHRvIG5vdCBy
ZXBvcnQgRkZBX0ZFQVRVUkVfU0NIRURVTEVfUkVDVl9JTlRSLiBXaGVuIHRoZSB0aW1lIGNvbWVz
DQo+IHRvIHVzZSBhIHNlY29uZGFyeSBzY2hlZHVsZXIgd2UnbGwgbmVlZCB0byByZXBvcnQgdGhl
IFNSSSBpbnN0ZWFkLg0KDQoNCldlIGp1c3QgaGFkIGEgbWVldGluZyB3aXRoIFN1ZGVlcCB0byBk
aXNjdXNzIHRoYXQgbWF0dGVyIGFuZCBoZSBhZ3JlZWQgdGhhdA0KaGUgd291bGQgcmVnaXN0ZXIg
dGhlIGludGVycnVwdCBoYW5kbGVyIGZvciBhbGwgdGhlIGludGVycnVwdHMgYXZhaWxhYmxlIHNv
IHRoYXQNCndlIGNhbiBrZWVwIGEgbW9kZWwgd2hlcmUgd2Ugd2lsbCBnZW5lcmF0ZSBTUklzIG9u
bHkgdG8gYSBzZWNvbmRhcnkgc2NoZWR1bGVyDQphbmQgTlBJIGZvciBub3RpZmljYXRpb24gaW50
ZXJydXB0cyAoc28gdGhhdCB0aGUgVk0gZG9lcyBub3QgZG8gYSBJTkZPX0dFVCB3aGVuDQpub3Qg
cmVxdWlyZWQpLg0KDQpXZSB3aWxsIGhhdmUgdG8gcmVwb3J0IGJvdGggYXMgYW55IFZNIGNvdWxk
IGFjdCBhcyBzZWNvbmRhcnkgc2NoZWR1bGVyIGZvciBTUHMNCmluIHRoZW9yeSAod2UgbWlnaHQg
bmVlZCBhdCBzb21lIHBvaW50IGEgcGFyYW1ldGVyIGZvciB0aGF0KSBidXQgZm9yIG5vdyB0aG9z
ZQ0Kc2hvdWxkIG9ubHkgYmUgZ2VuZXJhdGVkIHRvIERvbTAgaWYgdGhlcmUgYXJlIHBlbmRpbmcg
bm90aWZpY2F0aW9ucyBmb3IgU1BzLg0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 16:31:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 16:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703429.1099108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruar1-0004QS-9i; Wed, 10 Apr 2024 16:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703429.1099108; Wed, 10 Apr 2024 16:31:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruar1-0004QL-6L; Wed, 10 Apr 2024 16:31:19 +0000
Received: by outflank-mailman (input) for mailman id 703429;
 Wed, 10 Apr 2024 16:31: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 1ruaqz-0004Q7-NA; Wed, 10 Apr 2024 16:31: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 1ruaqz-0005lw-Kx; Wed, 10 Apr 2024 16:31: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 1ruaqz-0004Of-8b; Wed, 10 Apr 2024 16:31:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruaqz-0002J7-7c; Wed, 10 Apr 2024 16:31:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nlTcC59xp+sUxKFRK/R48eiUL7jrZ7zBYGA3evoF+uU=; b=Z+XyTlclrJDUBGFgsBpHuHEgJc
	ur6wrI7WqpbG6L0ydFzEBrIuBqYsXRLtOZAitcKO9o2TY7uC2TRtFfwqKsLHMa7Gr6sHqLjT19i9K
	zbndmb3LWsmPmsTbZjqwN2sWFR7Nw+ymW08ELhUWk1uZL0hQYWc5DnuD4DTrIgF25PdI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185284-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185284: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-armhf-armhf-xl-qcow2:xen-boot:fail:heisenbug
    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-libvirt:saverestore-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-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-vhd:migrate-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:migrate-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-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
X-Osstest-Versions-That:
    xen=9bc40dbcf9eafccc1923b2555286bf6a2af03b7a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 16:31:17 +0000

flight 185284 xen-4.17-testing real [real]
flight 185298 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185284/
http://logs.test-lab.xenproject.org/osstest/logs/185298/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-qcow2     8 xen-boot            fail pass in 185298-retest

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

Last test of basis   185217  2024-04-02 14:38:50 Z    8 days
Testing same since   185284  2024-04-09 12:07:06 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bjoern Doebel <doebel@amazon.de>
  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                                    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/xen.git
   9bc40dbcf9..b8f39fd4d0  b8f39fd4d024ea72c586f1afd233f379c6f6230b -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 16:34:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 16:34:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703443.1099134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruatt-0005T3-Td; Wed, 10 Apr 2024 16:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703443.1099134; Wed, 10 Apr 2024 16:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruatt-0005Sw-Pf; Wed, 10 Apr 2024 16:34:17 +0000
Received: by outflank-mailman (input) for mailman id 703443;
 Wed, 10 Apr 2024 16:34:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7FY1=LP=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruats-0005So-Dr
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 16:34:16 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b5032a0-f758-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 18:34:15 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-34665dd7610so468081f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 09:34:15 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 dx18-20020a0560000e1200b00343d840b3f8sm14052814wrb.33.2024.04.10.09.34.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 09:34: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: 2b5032a0-f758-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712766855; x=1713371655; 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=wrg8+/52Qx2VD0ziJFUTnYlaVPI9+ixypph2v1bHypA=;
        b=ooOK8TLrfgpu37hDZIyDFRWWLeBh1nlPeASm8tD60DBZbYKR5+KL8rzGGr8ntlfX/y
         aPe/fwfDx5fweiKA+HQ4CRhPpNtqR2cyRuCj02ycW5WK+nGxvbK909AZWopEB8Ob5TTL
         ROUK6OQ+9Fvwgri9FxJ/fNuRxffjkxvs7d7ks=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712766855; x=1713371655;
        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=wrg8+/52Qx2VD0ziJFUTnYlaVPI9+ixypph2v1bHypA=;
        b=eqyfgGWLOrJFbxsNCCgQo6d1oZkJsRI5zy15q84nWdONP1UtpxJ8X8XzAnBEtI8nmA
         IUF3dR8Inay1K672lUCVxqM3Ybx69VrT7nemvIlZSqt1y1b5M/AO2p0xMahWh6FapPkT
         BYFRk4fVKMY+3/VG5jcIllWLgjBtsq+CzTfPydg33J4VptTgFCvWBGvvgSmSUVgdtXsN
         RTxU+fOCFF48GTVawDdXrjmCvwkJmImCcy/j7ozlx/I7Okmbcu0d5/SCszqQEzh94H9O
         nJAbLFwIAOlt2cwv6lJMkKz/jXyTU0VL6drcb3/J8LwEXLPVlQXmOuqWZcE604hNMQLA
         0Sgw==
X-Gm-Message-State: AOJu0YxyiW+7RMXhH8KRRlPfNgFK75XbQma9CY3/mEpG/g206NL8wOYk
	vUTo0ah1AxBx9w3G7yJWt8Zi93iEalyhup8zf6k7PqQA1qxviLxFP/7pLeRNfSg=
X-Google-Smtp-Source: AGHT+IFfTYvtK2w2Ovj2gDQ0na9DutXaEhdjWdgXJpPqoIvfm1Jo6vNXzQ+H7W/GWo0V+idMGoPtWg==
X-Received: by 2002:adf:f146:0:b0:342:40b0:abf5 with SMTP id y6-20020adff146000000b0034240b0abf5mr1873341wro.55.1712766854623;
        Wed, 10 Apr 2024 09:34:14 -0700 (PDT)
Date: Wed, 10 Apr 2024 18:34:13 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: Re: [PATCH v2 2/2] x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and
 conditionalise ucode
Message-ID: <Zha_hXU3zRwVzFZN@macbook>
References: <20231026205539.3261811-1-andrew.cooper3@citrix.com>
 <20231026205539.3261811-3-andrew.cooper3@citrix.com>
 <Zhas4MQdL3hQ6Uww@macbook>
 <2fd969ef-8326-4ae8-a568-4256f00542f0@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2fd969ef-8326-4ae8-a568-4256f00542f0@citrix.com>

On Wed, Apr 10, 2024 at 05:21:37PM +0100, Andrew Cooper wrote:
> On 10/04/2024 4:14 pm, Roger Pau Monné wrote:
> > On Thu, Oct 26, 2023 at 09:55:39PM +0100, Andrew Cooper wrote:
> >> +
> >> +config AMD
> >> +	bool "AMD"
> >> +        default y
> >> +        help
> >> +          Detection, tunings and quirks for AMD platforms.
> >> +
> >> +	  May be turned off in builds targetting other vendors.  Otherwise,
> >> +	  must be enabled for Xen to work suitably on AMD platforms.
> >> +
> >> +config INTEL
> >> +	bool "Intel"
> >> +        default y
> >> +        help
> >> +          Detection, tunings and quirks for Intel platforms.
> >> +
> >> +	  May be turned off in builds targetting other vendors.  Otherwise,
> >> +	  must be enabled for Xen to work suitably on Intel platforms.
> > There seems to be a weird mix between hard tabs and spaces above.
> > Naming is OK for me.
> 
> Yeah.  I already fixed those locally.

With that fixed:

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

> >> +
> >> +endmenu
> >> diff --git a/xen/arch/x86/cpu/microcode/Makefile b/xen/arch/x86/cpu/microcode/Makefile
> >> index aae235245b06..30d600544f45 100644
> >> --- a/xen/arch/x86/cpu/microcode/Makefile
> >> +++ b/xen/arch/x86/cpu/microcode/Makefile
> >> @@ -1,3 +1,3 @@
> >> -obj-y += amd.o
> >> +obj-$(CONFIG_AMD) += amd.o
> >>  obj-y += core.o
> >> -obj-y += intel.o
> >> +obj-$(CONFIG_INTEL) += intel.o
> >> diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
> >> index b58611e908aa..da556fe5060a 100644
> >> --- a/xen/arch/x86/cpu/microcode/private.h
> >> +++ b/xen/arch/x86/cpu/microcode/private.h
> >> @@ -70,7 +70,16 @@ struct microcode_ops {
> >>   * support available) and (not) ops->apply_microcode (i.e. read only).
> >>   * Otherwise, all hooks must be filled in.
> >>   */
> >> +#ifdef CONFIG_AMD
> >>  void ucode_probe_amd(struct microcode_ops *ops);
> >> +#else
> >> +static inline void ucode_probe_amd(struct microcode_ops *ops) {}
> >> +#endif
> >> +
> >> +#ifdef CONFIG_INTEL
> >>  void ucode_probe_intel(struct microcode_ops *ops);
> >> +#else
> >> +static inline void ucode_probe_intel(struct microcode_ops *ops) {}
> > This is stale now, and will need some updating to match what's in
> > private.h.
> 
> There's nothing state I can see.
> 
> Patch 1 does significantly edit this vs what's currently in staging.

Oh, sorry, I'm missed patch 1 then.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 16:37:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 16:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703434.1099144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruawn-0006JH-9y; Wed, 10 Apr 2024 16:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703434.1099144; Wed, 10 Apr 2024 16: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 1ruawn-0006JA-7F; Wed, 10 Apr 2024 16:37:17 +0000
Received: by outflank-mailman (input) for mailman id 703434;
 Wed, 10 Apr 2024 16: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=DqiL=LP=bounce.vates.tech=bounce-md_30504962.6616bef7.v1-d14370195b404c52b72b1f148820ba6e@srs-se1.protection.inumbo.net>)
 id 1ruara-0004sW-H8
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 16:31:54 +0000
Received: from mail132-22.atl131.mandrillapp.com
 (mail132-22.atl131.mandrillapp.com [198.2.132.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d67a6558-f757-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 18:31:53 +0200 (CEST)
Received: from pmta09.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail132-22.atl131.mandrillapp.com (Mailchimp) with ESMTP id
 4VF7dM2xF0zGlspGF
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 16:31:51 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d14370195b404c52b72b1f148820ba6e; Wed, 10 Apr 2024 16:31:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d67a6558-f757-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712766711; x=1713027211;
	bh=sSfrU7AoiIs020T7QtgqqYpI39Dr+n4OosN3e67IR84=;
	h=From:Subject:In-Reply-To:References:Message-Id:To:Cc:Feedback-ID:
	 Date:MIME-Version:Content-Type:CC:Date:Subject:From;
	b=NBTvcVd2qt+rXsbH4IUpAeQY/uHM+r+3P4vNDgfE3h60Lbcy/TyNl6O9O+F5TAtt+
	 mOXszb75J+mi0u7S4wez3xw/AsFOmtmweMnYRirFNgFHZMuXd0C6yJdtDFNq2AwYcx
	 6ldE+goUN2lxiEOt9VJINiNoYDLstdvjWe1UG7o9HDqaUbtFKnJPHo4ZMkizICnvQR
	 +5tSlxaDmy7Ht69YQfrvTAgmAyZVMznnHwBlYiqTvV0r6XLPvxEq/mxsO7uMh6baQF
	 sG2+Re0l0avpLynlhtq3IH+97v3fKIgVc3Ui29ySMuGPf14asW97GGdzKTc2+fafbV
	 I4jzq1ZjZ8iwg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712766711; x=1713027211; i=andrei.semenov@vates.tech;
	bh=sSfrU7AoiIs020T7QtgqqYpI39Dr+n4OosN3e67IR84=;
	h=From:Subject:In-Reply-To:References:Message-Id:To:Cc:Feedback-ID:
	 Date:MIME-Version:Content-Type:CC:Date:Subject:From;
	b=HJVRJIvqsLomCDsXYXdr7kOSxp7oM0FxQ+HpCVC0e+iDp0mJoo/F+lh9FOWNAeYkq
	 HcTnw5HDRTEcllV3Ho19adI4cXtG9S2LMd8E5JrEkGqaXi+AQXWRgHN+guW4tXWoLQ
	 cuVZTegoEeb6skdnBNFv4CtAEKvA+mwwFY1xzaTONfGqLG4cKs6vOktjOpQfPu1TDi
	 h0wNY9QXs5oczn6ukLxlnhFFNq+DeyD1gxtQuwjzpYDfFE976VQYoeZBoHIpJb+l7+
	 4GXjKMUXbKKgRhVliRg9v2UIC3/HqzwlNCTfiTaXw9ZvFnFP/C05jbK+ly3OrklcTb
	 K4c62zJmpAz9g==
From: Andrei Semenov <andrei.semenov@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=200/2]=20AMD=20SEV=20initial=20work?=
X-Bm-Draft-Info: {"type":"REPLY-ALL","messageInternalId":2365954,"folderUid":"5bc3cd3c-1c54-4448-8b93-1d5e00399c41"}
X-Bm-Draft-Identity: default
X-Bm-Sent-Folder: e241ae38-d68a-470c-b463-de37822a6206
X-Bm-Draft-Refresh-Date: 1712766707351
X-Bm-Internal-Id: AF93AA0B-DAD8-4612-B2C2-10A4B7388341 bluemind-4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2 2366246
X-Bm-Previous-Body: 772a8432c78e6cf357f02335a8aba3e17fe04e12
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712766708276
In-Reply-To: <cover.1712759753.git.andrei.semenov@vates.fr>
References: <cover.1712759753.git.andrei.semenov@vates.fr> <cover.1712759753.git.andrei.semenov@vates.fr>
Message-Id: <luu104te.1nffyo9e5v9c0@vates.tech>
To: Andrei Semenov <andrei.semenov@vates.fr>, 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>, George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.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.d14370195b404c52b72b1f148820ba6e?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240410:md
Date: Wed, 10 Apr 2024 16:31:51 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="_av-5B1GENlOtEY6IStm5WuMBw"

--_av-5B1GENlOtEY6IStm5WuMBw
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Also sent emacs ~ file. To ignore, sorry
Le mercredi 10/04/2024 17:39, Andrei Semenov <andrei.semenov@vates.fr> a =
=C3=A9crit :

///HERE YOU GO

Andrei Semenov (2):
  Implemented AMD SEV discovery and enabling.
  Implemented Amd Secure Processor device driver

 xen/arch/x86/cpu/amd.c                 |  53 ++
 xen/arch/x86/hvm/svm/Makefile          |   1 +
 xen/arch/x86/hvm/svm/sev.c             |   4 +
 xen/arch/x86/include/asm/cpufeature.h  |   3 +
 xen/arch/x86/include/asm/cpufeatures.h |   2 +
 xen/arch/x86/include/asm/msr-index.h   |   1 +
 xen/arch/x86/include/asm/psp-sev.h     | 655 ++++++++++++++++++++
 xen/arch/x86/include/asm/sev.h         |  11 +
 xen/drivers/Kconfig                    |   2 +
 xen/drivers/Makefile                   |   1 +
 xen/drivers/crypto/Kconfig             |  10 +
 xen/drivers/crypto/Makefile            |   1 +
 xen/drivers/crypto/asp.c               | 808 +++++++++++++++++++++++++
 xen/include/xen/types.h                |   2 +-
 14 files changed, 1553 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/x86/hvm/svm/sev.c
 create mode 100644 xen/arch/x86/include/asm/psp-sev.h
 create mode 100644 xen/arch/x86/include/asm/sev.h
 create mode 100644 xen/drivers/crypto/Kconfig
 create mode 100644 xen/drivers/crypto/Makefile
 create mode 100644 xen/drivers/crypto/asp.c

-- 
2.35.3





--_av-5B1GENlOtEY6IStm5WuMBw
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<div id=3D"bm-composer-content-wrapper"><div style=3D"font-family: Montserr=
at, montserrat, &quot;Source Sans&quot;, &quot;Helvetica Neue&quot;, Helvet=
ica, Arial, sans-serif;">Also sent emacs ~ file.&nbsp;<span style=3D"displa=
y: inline !important; color: rgb(0, 0, 0); background-color: rgb(255, 255, =
255);">To ignore, sorry</span></div><br><div id=3D"data-bm-forward-separato=
r"><p>Le mercredi 10/04/2024 17:39, Andrei Semenov &lt;andrei.semenov@vates=
.fr&gt; a =C3=A9crit :</p><blockquote style=3D"margin-left: 1rem; padding-l=
eft: 1rem; border-left: 2px solid black;"><div id=3D"bm-composer-content-wr=
apper"><pre>///HERE YOU GO

Andrei Semenov (2):
  Implemented AMD SEV discovery and enabling.
  Implemented Amd Secure Processor device driver

 xen/arch/x86/cpu/amd.c                 |  53 ++
 xen/arch/x86/hvm/svm/Makefile          |   1 +
 xen/arch/x86/hvm/svm/sev.c             |   4 +
 xen/arch/x86/include/asm/cpufeature.h  |   3 +
 xen/arch/x86/include/asm/cpufeatures.h |   2 +
 xen/arch/x86/include/asm/msr-index.h   |   1 +
 xen/arch/x86/include/asm/psp-sev.h     | 655 ++++++++++++++++++++
 xen/arch/x86/include/asm/sev.h         |  11 +
 xen/drivers/Kconfig                    |   2 +
 xen/drivers/Makefile                   |   1 +
 xen/drivers/crypto/Kconfig             |  10 +
 xen/drivers/crypto/Makefile            |   1 +
 xen/drivers/crypto/asp.c               | 808 +++++++++++++++++++++++++
 xen/include/xen/types.h                |   2 +-
 14 files changed, 1553 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/x86/hvm/svm/sev.c
 create mode 100644 xen/arch/x86/include/asm/psp-sev.h
 create mode 100644 xen/arch/x86/include/asm/sev.h
 create mode 100644 xen/drivers/crypto/Kconfig
 create mode 100644 xen/drivers/crypto/Makefile
 create mode 100644 xen/drivers/crypto/asp.c

-- 
2.35.3


</pre></div></blockquote></div><style></style></div>
<img src=3D"http://bounce.vates.tech/track/open.php?u=3D30504962&id=3Dd1437=
0195b404c52b72b1f148820ba6e" height=3D"1" width=3D"1" alt=3D"">

--_av-5B1GENlOtEY6IStm5WuMBw--



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 17:36:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 17:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703516.1099154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rubro-0007ln-OY; Wed, 10 Apr 2024 17:36:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703516.1099154; Wed, 10 Apr 2024 17:36:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rubro-0007lg-Ko; Wed, 10 Apr 2024 17:36:12 +0000
Received: by outflank-mailman (input) for mailman id 703516;
 Wed, 10 Apr 2024 17:36:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NMnl=LP=suse.cz=dsterba@srs-se1.protection.inumbo.net>)
 id 1rubrm-0007lU-DQ
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 17:36:10 +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 d046695a-f760-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 19:36:08 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3395033A89;
 Wed, 10 Apr 2024 17:36:07 +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 EFAAD13691;
 Wed, 10 Apr 2024 17:36: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 20hgOgbOFmZrWQAAD6G6ig
 (envelope-from <dsterba@suse.cz>); Wed, 10 Apr 2024 17:36:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d046695a-f760-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1712770567;
	h=from:from:reply-to: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=0ZHHE5aOwQ1Ezn/ab1buAuDtcCLPcpIIchKLIUxoBbM=;
	b=Wo/su6uxAz3KDCet7sG1IMbLmZNu/s492NxBN+stUG6oo2qYtuABn+4iFfLZA7KwEty81H
	IdrOqxowTjwdMcGmvVJuVhd3KhUwlHGwlvUKUWet7620GxVeKx3CiehY9/HodlAMarXBGu
	QKA3ILsUtN07gfz8aoS5W8ffx3zw7mU=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1712770567;
	h=from:from:reply-to: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=0ZHHE5aOwQ1Ezn/ab1buAuDtcCLPcpIIchKLIUxoBbM=;
	b=pwQ8usD0NAyGD6U1k6UXV+bVfsviAAMcwHC0rXMTXFxYTDSQht5I5OMD0LYFtofyWnG5ZB
	JIolcEC5hlnuCvCg==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa;
	t=1712770567;
	h=from:from:reply-to: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=0ZHHE5aOwQ1Ezn/ab1buAuDtcCLPcpIIchKLIUxoBbM=;
	b=Wo/su6uxAz3KDCet7sG1IMbLmZNu/s492NxBN+stUG6oo2qYtuABn+4iFfLZA7KwEty81H
	IdrOqxowTjwdMcGmvVJuVhd3KhUwlHGwlvUKUWet7620GxVeKx3CiehY9/HodlAMarXBGu
	QKA3ILsUtN07gfz8aoS5W8ffx3zw7mU=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz;
	s=susede2_ed25519; t=1712770567;
	h=from:from:reply-to: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=0ZHHE5aOwQ1Ezn/ab1buAuDtcCLPcpIIchKLIUxoBbM=;
	b=pwQ8usD0NAyGD6U1k6UXV+bVfsviAAMcwHC0rXMTXFxYTDSQht5I5OMD0LYFtofyWnG5ZB
	JIolcEC5hlnuCvCg==
Date: Wed, 10 Apr 2024 19:28:37 +0200
From: David Sterba <dsterba@suse.cz>
To: Jan Kara <jack@suse.cz>
Cc: Matthew Wilcox <willy@infradead.org>, Yu Kuai <yukuai1@huaweicloud.com>,
	axboe@kernel.dk, roger.pau@citrix.com, colyli@suse.de,
	kent.overstreet@gmail.com, joern@lazybastard.org,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com,
	sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com,
	gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com,
	dsterba@suse.com, viro@zeniv.linux.org.uk, brauner@kernel.org,
	nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
	adilger.kernel@dilger.ca, jack@suse.com, konishi.ryusuke@gmail.com,
	akpm@linux-foundation.org, hare@suse.de, p.raghav@samsung.com,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	linux-nilfs@vger.kernel.org, yukuai3@huawei.com,
	yi.zhang@huawei.com, yangerkun@huawei.com
Subject: Re: [PATCH RFC v3 for-6.8/block 09/17] btrfs: use bdev apis
Message-ID: <20240410172837.GO3492@suse.cz>
Reply-To: dsterba@suse.cz
References: <20231221085712.1766333-1-yukuai1@huaweicloud.com>
 <20231221085712.1766333-10-yukuai1@huaweicloud.com>
 <ZYcZi5YYvt5QHrG9@casper.infradead.org>
 <20240104114958.f3cit5q7syp3tn3a@quack3>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240104114958.f3cit5q7syp3tn3a@quack3>
User-Agent: Mutt/1.5.23.1-rc1 (2014-03-12)
X-Spam-Flag: NO
X-Spam-Score: -2.50
X-Spam-Level: 
X-Spamd-Result: default: False [-2.50 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SUSPICIOUS_RECIPS(1.50)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	HAS_REPLYTO(0.30)[dsterba@suse.cz];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_TWELVE(0.00)[49];
	TO_DN_SOME(0.00)[];
	ARC_NA(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	RCVD_TLS_ALL(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLtpaten8pmzgjg419jubxqoa7)];
	REPLYTO_ADDR_EQ_FROM(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_CC(0.00)[infradead.org,huaweicloud.com,kernel.dk,citrix.com,suse.de,gmail.com,lazybastard.org,bootlin.com,nod.at,ti.com,linux.ibm.com,oracle.com,fb.com,toxicpanda.com,suse.com,zeniv.linux.org.uk,kernel.org,fluxnic.net,mit.edu,dilger.ca,linux-foundation.org,samsung.com,vger.kernel.org,lists.xenproject.org,lists.infradead.org,lists.ozlabs.org,huawei.com];
	RCVD_COUNT_TWO(0.00)[2];
	TAGGED_RCPT(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]

On Thu, Jan 04, 2024 at 12:49:58PM +0100, Jan Kara wrote:
> On Sat 23-12-23 17:31:55, Matthew Wilcox wrote:
> > On Thu, Dec 21, 2023 at 04:57:04PM +0800, Yu Kuai wrote:
> > > @@ -3674,16 +3670,17 @@ struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev,
> > >  		 * Drop the page of the primary superblock, so later read will
> > >  		 * always read from the device.
> > >  		 */
> > > -		invalidate_inode_pages2_range(mapping,
> > > -				bytenr >> PAGE_SHIFT,
> > > +		invalidate_bdev_range(bdev, bytenr >> PAGE_SHIFT,
> > >  				(bytenr + BTRFS_SUPER_INFO_SIZE) >> PAGE_SHIFT);
> > >  	}
> > >  
> > > -	page = read_cache_page_gfp(mapping, bytenr >> PAGE_SHIFT, GFP_NOFS);
> > > -	if (IS_ERR(page))
> > > -		return ERR_CAST(page);
> > > +	nofs_flag = memalloc_nofs_save();
> > > +	folio = bdev_read_folio(bdev, bytenr);
> > > +	memalloc_nofs_restore(nofs_flag);
> > 
> > This is the wrong way to use memalloc_nofs_save/restore.  They should be
> > used at the point that the filesystem takes/releases whatever lock is
> > also used during reclaim.  I don't know btrfs well enough to suggest
> > what lock is missing these annotations.
> 
> In principle I agree with you but in this particular case I agree the ask
> is just too big. I suspect it is one of btrfs btree locks or maybe
> chunk_mutex but I doubt even btrfs developers know and maybe it is just a
> cargo cult. And it is not like this would be the first occurence of this
> anti-pattern in btrfs - see e.g. device_list_add(), add_missing_dev(),
> btrfs_destroy_delalloc_inodes() (here the wrapping around
> invalidate_inode_pages2() looks really weird), and many others...

The pattern is intentional and a temporary solution before we could
implement the scoped NOFS. Functions calling allocations get converted
from GFP_NOFS to GFP_KERNEL but in case they're called from a context
that either holds big locks or can recursively enter the filesystem then
it's protected by the memalloc calls. This should not be surprising.
What may not be obvious is which locks or kmalloc calling functions it
could be, this depends on the analysis of the function call chain and
usually there's enough evidence why it's needed.


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 17:50:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 17:50:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703525.1099164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruc5B-0001Mi-S3; Wed, 10 Apr 2024 17:50:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703525.1099164; Wed, 10 Apr 2024 17:50:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruc5B-0001M8-OX; Wed, 10 Apr 2024 17:50:01 +0000
Received: by outflank-mailman (input) for mailman id 703525;
 Wed, 10 Apr 2024 17:50: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=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruc5B-0001K8-Bw
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 17:50:01 +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 bf7ee5e0-f762-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 19:49:59 +0200 (CEST)
Received: by mail-ua1-x92b.google.com with SMTP id
 a1e0cc1a2514c-7e7bd3e7d0aso195661241.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 10:49:59 -0700 (PDT)
Received: from [10.80.67.139] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f17-20020a0cc311000000b00698fa74199fsm3979247qvi.1.2024.04.10.10.49.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 10 Apr 2024 10:49: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: bf7ee5e0-f762-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712771398; x=1713376198; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FUbwomd5J1OW3cjrKO13gp2AC0+F0qqAeqKGk5r28uI=;
        b=Ol9eRQPdQV54KfDFQnG7YRSfUduG9v+vRdyRGDVtfj1h0YDye1VIqw+ArUkzg3Blgq
         yD4e8RBTcw/NWaDioZ+FhQI8hHoYwVoOmbCiTSMfUe1TgF6AdB00KIGSmmU83m0Ji72c
         rHJxfXhNFhfCNc6fxdKeGdM4h5gQ7wwudmC/I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712771398; x=1713376198;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FUbwomd5J1OW3cjrKO13gp2AC0+F0qqAeqKGk5r28uI=;
        b=N4YqUP6wgn/i2AVNqJBLzNMyeZgddwAFGODT1dRRrdnMHWa7FJ5zW0jaJYShWl+0CR
         BslbpkASyhsgINLYNudDnmG16EPC4B32uTllcM2BNZj6P6WnGkh1FPhX4RC+HD6j8mj7
         ihY6MU4Q/eZntEXGo/pS7akoL45EaTn1Vl0AWxacTnPoxQvuV/Yik6QSKNLSbhk0diDb
         7Yw8j68Y4lEMphquQM2+W/gOar8cS/o2JVjm8hlfYgKETFLO1weRkcRektszlr2hVu/s
         ah/+LtA/VO7M1YrDrRcWaR1gmRYdEf9+scJziAkT5EgKvo+t3gv1VChKcQg2PNumAR0W
         pb4w==
X-Gm-Message-State: AOJu0YwJYM+i2tTh8M5WLZrOXYdMPp7KCZScJ/G6Gz07duz5+Ahg62Wk
	fSzVfeX2XsZBeHU2Csouwk6nZMYrHy5NRNgZJOIx5kG4AvbX5E4r3QAC9t9Ilc4=
X-Google-Smtp-Source: AGHT+IEQmSURNEb+vr6iSgLBmKz8OegheTCoJyXmyDSDxKwPMCcrZMXw75vwYRT4YHn1LdxtaWz80g==
X-Received: by 2002:a05:6122:1d8f:b0:4da:e977:1fb7 with SMTP id gg15-20020a0561221d8f00b004dae9771fb7mr3420436vkb.15.1712771398130;
        Wed, 10 Apr 2024 10:49:58 -0700 (PDT)
Message-ID: <7a6ae6d2-f070-4b87-9c40-688cba3184de@citrix.com>
Date: Wed, 10 Apr 2024 18:49:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and
 conditionalise ucode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>
References: <20231026205539.3261811-1-andrew.cooper3@citrix.com>
 <20231026205539.3261811-3-andrew.cooper3@citrix.com>
 <Zhas4MQdL3hQ6Uww@macbook> <2fd969ef-8326-4ae8-a568-4256f00542f0@citrix.com>
 <Zha_hXU3zRwVzFZN@macbook>
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: <Zha_hXU3zRwVzFZN@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/04/2024 5:34 pm, Roger Pau Monné wrote:
> On Wed, Apr 10, 2024 at 05:21:37PM +0100, Andrew Cooper wrote:
>> On 10/04/2024 4:14 pm, Roger Pau Monné wrote:
>>> On Thu, Oct 26, 2023 at 09:55:39PM +0100, Andrew Cooper wrote:
>>>> +
>>>> +config AMD
>>>> +	bool "AMD"

After double checking what {menu,old}config looks like, I've extended
these prompts "Support $X CPU" so they make more sense in the context
they're asked in.


>>>> +        default y
>>>> +        help
>>>> +          Detection, tunings and quirks for AMD platforms.
>>>> +
>>>> +	  May be turned off in builds targetting other vendors.  Otherwise,
>>>> +	  must be enabled for Xen to work suitably on AMD platforms.
>>>> +
>>>> +config INTEL
>>>> +	bool "Intel"
>>>> +        default y
>>>> +        help
>>>> +          Detection, tunings and quirks for Intel platforms.
>>>> +
>>>> +	  May be turned off in builds targetting other vendors.  Otherwise,
>>>> +	  must be enabled for Xen to work suitably on Intel platforms.
>>> There seems to be a weird mix between hard tabs and spaces above.
>>> Naming is OK for me.
>> Yeah.  I already fixed those locally.
> With that fixed:
>
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

We can always tweak later if necessary.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 18:19:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 18:19:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703532.1099182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rucXK-00069K-4L; Wed, 10 Apr 2024 18:19:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703532.1099182; Wed, 10 Apr 2024 18:19:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rucXK-00069D-1H; Wed, 10 Apr 2024 18:19:06 +0000
Received: by outflank-mailman (input) for mailman id 703532;
 Wed, 10 Apr 2024 18:19: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=rcYN=LP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rucXI-000697-Fj
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 18:19:04 +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 ceb5e805-f766-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 20:19:03 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id BEA6E61D9A;
 Wed, 10 Apr 2024 18:19:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B4BBC433F1;
 Wed, 10 Apr 2024 18:19:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ceb5e805-f766-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712773141;
	bh=Vm43bTEM0qzUTEhGgdHrHm5bejC1NNkZjXNFX2N0feE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CpLj/4jcj23xTIjpgL4Qxkyi1DUz3C5vQQcbv++rJvl+KVXAwX++0758eTJZA0+13
	 FM1t7RlE6mYUhzCdo/0ZkOg2wCZVeLiZG5vXFU2guHYixfw+jM/DCB9dkx75uAjGcK
	 hu60iX40cV+L2B3ErLzHpGgL6ix5wU7s8+HfUXbXZhvAZK6eckXrNij85gWOQnMLXS
	 ySwOTcokBLqmMig34m82BBQJdIm28bc82VLKcgaCrU7YL61G9WqqLbXa25J1nSWzCg
	 umIQsx6k3sZ1Hqz5IW9k8Awq+vrW4iS+4wvFIsG8fUjrk2ASfDIg2lXDBdsJBO/su/
	 kTPSwTEVKNLUg==
Date: Wed, 10 Apr 2024 11:18:59 -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: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>, 
    Alejandro Vallejo <alejandro.vallejo@cloud.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: Re: [PATCH v2 2/2] x86/Kconfig: Introduce CONFIG_{AMD,INTEL} and
 conditionalise ucode
In-Reply-To: <Zha_hXU3zRwVzFZN@macbook>
Message-ID: <alpine.DEB.2.22.394.2404101118420.711344@ubuntu-linux-20-04-desktop>
References: <20231026205539.3261811-1-andrew.cooper3@citrix.com> <20231026205539.3261811-3-andrew.cooper3@citrix.com> <Zhas4MQdL3hQ6Uww@macbook> <2fd969ef-8326-4ae8-a568-4256f00542f0@citrix.com> <Zha_hXU3zRwVzFZN@macbook>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-213840694-1712773141=:711344"

  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-213840694-1712773141=:711344
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 10 Apr 2024, Roger Pau Monné wrote:
> On Wed, Apr 10, 2024 at 05:21:37PM +0100, Andrew Cooper wrote:
> > On 10/04/2024 4:14 pm, Roger Pau Monné wrote:
> > > On Thu, Oct 26, 2023 at 09:55:39PM +0100, Andrew Cooper wrote:
> > >> +
> > >> +config AMD
> > >> +	bool "AMD"
> > >> +        default y
> > >> +        help
> > >> +          Detection, tunings and quirks for AMD platforms.
> > >> +
> > >> +	  May be turned off in builds targetting other vendors.  Otherwise,
> > >> +	  must be enabled for Xen to work suitably on AMD platforms.
> > >> +
> > >> +config INTEL
> > >> +	bool "Intel"
> > >> +        default y
> > >> +        help
> > >> +          Detection, tunings and quirks for Intel platforms.
> > >> +
> > >> +	  May be turned off in builds targetting other vendors.  Otherwise,
> > >> +	  must be enabled for Xen to work suitably on Intel platforms.
> > > There seems to be a weird mix between hard tabs and spaces above.
> > > Naming is OK for me.
> > 
> > Yeah.  I already fixed those locally.
> 
> With that fixed:
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

This is fine for me too

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

--8323329-213840694-1712773141=:711344--


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 18:37:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 18:37:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703538.1099200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rucog-0000vq-KP; Wed, 10 Apr 2024 18:37:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703538.1099200; Wed, 10 Apr 2024 18:37:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rucog-0000vj-H9; Wed, 10 Apr 2024 18:37:02 +0000
Received: by outflank-mailman (input) for mailman id 703538;
 Wed, 10 Apr 2024 18:37:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rucof-0000vZ-DE; Wed, 10 Apr 2024 18:37:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rucof-0008NU-Be; Wed, 10 Apr 2024 18:37:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rucoe-000293-Vj; Wed, 10 Apr 2024 18:37:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rucoe-0004qR-VC; Wed, 10 Apr 2024 18:37:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=S26VCQRiS2WNoiX8xAw/6bgk8Wxe5gmVVmvD0I9FyFI=; b=X1Px8hK6n0Fas+SYvFKh49J9Bl
	mF6Kmuyk2Z2Kxu3Q0p92xkYICKvXXMw1s5cee3vbPmi3871MMUgznH39Ls9c1SSHl0vM72qqke3cG
	ReODNd5DUbXWNU4tUKKqf8WhLnoTrpls+8aOiNLINBWP3Zr+f8ahaSXpH1kLWjvsG5t8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185285-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185285: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    xen-4.18-testing:test-armhf-armhf-libvirt: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-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-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-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-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-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-raw: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
X-Osstest-Versions-This:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
X-Osstest-Versions-That:
    xen=17cf285d87e28a9ee9ab1f192982fc6dfc9e4193
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 18:37:00 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 185301-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 185301 like 185218
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 185301 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185218
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185218
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185218
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185218
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185218
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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                  1166467ed300d605529aaf7a7d26c8c92defe36a
baseline version:
 xen                  17cf285d87e28a9ee9ab1f192982fc6dfc9e4193

Last test of basis   185218  2024-04-02 14:38:50 Z    8 days
Testing same since   185285  2024-04-09 12:07:14 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bjoern Doebel <doebel@amazon.de>
  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
   17cf285d87..1166467ed3  1166467ed300d605529aaf7a7d26c8c92defe36a -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 18:42:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 18:42:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703546.1099220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ructu-0002jR-Ki; Wed, 10 Apr 2024 18:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703546.1099220; Wed, 10 Apr 2024 18: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 1ructu-0002jI-Ge; Wed, 10 Apr 2024 18:42:26 +0000
Received: by outflank-mailman (input) for mailman id 703546;
 Wed, 10 Apr 2024 18:42: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=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ructs-0002iK-Iv
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 18:42:24 +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 1158eca4-f76a-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 20:42:22 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a4715991c32so948951066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 11:42:22 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gv18-20020a170906f11200b00a4e1a9e1ab4sm7228404ejb.157.2024.04.10.11.42.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 11: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: 1158eca4-f76a-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712774542; x=1713379342; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TsNIZ9Ks155ZkwoUu/vGrjMHW6z4GukXwUvQ1y/Pu+A=;
        b=nME0t5WNiWTaNwhi7gBn+qrdeMzNQ0qwAVr8TTVLNNBtxb1lKFqma0JqZ4UsAnF7T9
         y+J69MUl+ZrwuOJtVVnq1ECgnhwRfKy4T/A1vqldhX8OfdrUiIgWVjsvTIYpi23Uifrm
         qO4zxQEMRLD3gu+7fSdGKXWfJQZUfIzEtJj7s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712774542; x=1713379342;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TsNIZ9Ks155ZkwoUu/vGrjMHW6z4GukXwUvQ1y/Pu+A=;
        b=wPCFIxD8uEpQmxPUqLj65IRnJJjwl9EjmllGxYw2d0/0DljworEOksdjpcYJpvjsSZ
         b7Wi2DlpE2SJoVpu6TE4/jX31+aA412kd2FVPLt+WHMALCNb+nKVK+wMzFvLY25SbnIP
         z2sk17aKVNZi5P6jTQoTXo1kt3C9ON7vHBSzCquaI7wl87FeGpG1Xs/OHHxR/Qhv5rYp
         egrpDKBo4tFZ2gyZEnQuEMNK1bBTAi1Buro9RxVk6nssNZ7I6dR0I+U/1rtO0+3o+CKA
         w2EAbFTnSDnid2t1+0+TOcrRrc5nCY0es7JR8m/zw4ABFO8XlqA17lJSentpcst9VeYi
         cf7Q==
X-Gm-Message-State: AOJu0Yy2wwGIyQWk1a+A9kxzyHRPFYjyXZ6iQGDLrU54yN0RWQQcijQv
	0/yX42hd27W1cFGMs+YxpLXXtdBTE3E7kHUzq8DFrGk6I4CydpyZFflBwj5UxJNDYbTeZZHnQpk
	3/6M=
X-Google-Smtp-Source: AGHT+IHvf+/DkK/dEiPklmW3RhoQi2EHNqyJPHqOJB+T+k6g2LGD0/+pwLJMh1zhFKIsvqQ8/KZcdg==
X-Received: by 2002:a17:906:2352:b0:a51:d7b1:daa5 with SMTP id m18-20020a170906235200b00a51d7b1daa5mr1795559eja.65.1712774541645;
        Wed, 10 Apr 2024 11:42:21 -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>,
	Wei Liu <wl@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 1/4] xen/link: Introduce a common BUGFRAMES definition
Date: Wed, 10 Apr 2024 19:42:14 +0100
Message-Id: <20240410184217.1482366-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Bugframe linkage is identical in all architectures.  This is not surprising
given that it is (now) only consumed by common/virtual_region.c

Introduce a common BUGFRAMES define in xen.lds.h ahead of rearranging their
structure.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
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>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/arm/xen.lds.S    | 13 +++----------
 xen/arch/ppc/xen.lds.S    | 13 +++----------
 xen/arch/riscv/xen.lds.S  | 13 +++----------
 xen/arch/x86/xen.lds.S    | 11 +----------
 xen/include/xen/xen.lds.h | 11 +++++++++++
 5 files changed, 21 insertions(+), 40 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 2266c9536f05..bd884664adf6 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -55,16 +55,9 @@ SECTIONS
   . = ALIGN(PAGE_SIZE);
   .rodata : {
         _srodata = .;          /* Read-only data */
-        /* Bug frames table */
-       __start_bug_frames = .;
-       *(.bug_frames.0)
-       __stop_bug_frames_0 = .;
-       *(.bug_frames.1)
-       __stop_bug_frames_1 = .;
-       *(.bug_frames.2)
-       __stop_bug_frames_2 = .;
-       *(.bug_frames.3)
-       __stop_bug_frames_3 = .;
+
+        BUGFRAMES
+
        *(.rodata)
        *(.rodata.*)
        *(.data.rel.ro)
diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 8840a0044666..38cd857187e2 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -45,16 +45,9 @@ SECTIONS
     . = ALIGN(PAGE_SIZE);
     DECL_SECTION(.rodata) {
         _srodata = .;          /* Read-only data */
-        /* Bug frames table */
-        __start_bug_frames = .;
-        *(.bug_frames.0)
-        __stop_bug_frames_0 = .;
-        *(.bug_frames.1)
-        __stop_bug_frames_1 = .;
-        *(.bug_frames.2)
-        __stop_bug_frames_2 = .;
-        *(.bug_frames.3)
-        __stop_bug_frames_3 = .;
+
+        BUGFRAMES
+
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index ace6f49c579c..070b19d91503 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -42,16 +42,9 @@ SECTIONS
     . = ALIGN(PAGE_SIZE);
     .rodata : {
         _srodata = .;          /* Read-only data */
-        /* Bug frames table */
-        __start_bug_frames = .;
-        *(.bug_frames.0)
-        __stop_bug_frames_0 = .;
-        *(.bug_frames.1)
-        __stop_bug_frames_1 = .;
-        *(.bug_frames.2)
-        __stop_bug_frames_2 = .;
-        *(.bug_frames.3)
-        __stop_bug_frames_3 = .;
+
+        BUGFRAMES
+
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 1ef6645128b2..9a1dfe1b340a 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -127,16 +127,7 @@ SECTIONS
        . = ALIGN(PAGE_SIZE);
        __ro_after_init_end = .;
 
-       /* Bug frames table */
-       __start_bug_frames = .;
-       *(.bug_frames.0)
-       __stop_bug_frames_0 = .;
-       *(.bug_frames.1)
-       __stop_bug_frames_1 = .;
-       *(.bug_frames.2)
-       __stop_bug_frames_2 = .;
-       *(.bug_frames.3)
-       __stop_bug_frames_3 = .;
+       BUGFRAMES
 
        *(.rodata)
        *(.rodata.*)
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index be90f5ca0fdb..7ab7aa567872 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -114,6 +114,17 @@
 
 /* List of constructs other than *_SECTIONS in alphabetical order. */
 
+#define BUGFRAMES                               \
+    __start_bug_frames = .;                     \
+    *(.bug_frames.0)                            \
+    __stop_bug_frames_0 = .;                    \
+    *(.bug_frames.1)                            \
+    __stop_bug_frames_1 = .;                    \
+    *(.bug_frames.2)                            \
+    __stop_bug_frames_2 = .;                    \
+    *(.bug_frames.3)                            \
+    __stop_bug_frames_3 = .;
+
 #ifdef CONFIG_HYPFS
 #define HYPFS_PARAM              \
        . = ALIGN(POINTER_ALIGN); \
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 18:42:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 18:42:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703545.1099210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ructr-0002U1-D2; Wed, 10 Apr 2024 18:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703545.1099210; Wed, 10 Apr 2024 18: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 1ructr-0002Tu-9w; Wed, 10 Apr 2024 18:42:23 +0000
Received: by outflank-mailman (input) for mailman id 703545;
 Wed, 10 Apr 2024 18:42:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ructq-0002To-7K
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 18:42:22 +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 10b19a2a-f76a-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 20:42:21 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-516b6e75dc3so9022602e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 11:42:21 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gv18-20020a170906f11200b00a4e1a9e1ab4sm7228404ejb.157.2024.04.10.11.42.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 11:42: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: 10b19a2a-f76a-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712774540; x=1713379340; 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=U5A5WdBeqGTW92Oo4C5cYpBYdiQqmVarWwQ7B0CNpSc=;
        b=p/oQ4AK3sCUy7VXbX+nPvo1HtGtd+UdWbkxnTGpqLwg6dJky/IuLJxPcZJc5osdOlV
         EZ0oD7jaoOtjRU1roZ7JOR/IkjDM43oEsYDCyzs/1HNhaiJAPY1ma8bu2h+TiDVxRzt3
         jpj7hIt7d7w1XIHTVK403xTBTUxoP+sy4jwiY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712774540; x=1713379340;
        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=U5A5WdBeqGTW92Oo4C5cYpBYdiQqmVarWwQ7B0CNpSc=;
        b=o/zUHHtLw61Q5iAT2gUWqlC5U5Rj8PVyBIZG6psy2BSebmBmh2gmJQbL/1vdzLCVbp
         CqSaL/fTVaXDe5pR07ZWttcq3Bp2kahVXfksS90QcnfzIBiGQ3/VO1h+Sc0viwOHCCLD
         4EKaDgFpz4kCTTEma+qRZE/Lvb/RL1PTWaIi4sTzqH4idt1fBLoJ1tkYHrk5gYO3aQ4E
         550Mgzecj7CesUsS8xaK64VvfDnXgA4t0lzyC09PzodJtj/JoZCUDJ9es8cBSMLmSqfm
         ZH8/QJ9/moqUCx9ZLXdo+BgNEYV/06orjdbe5mu1aCQMU0GbrdyiCmwG+SfaIB6vMYaR
         tZrw==
X-Gm-Message-State: AOJu0Yz1aNZboqt7bl5nmuX+4Cx2dFyVUMzxZmspWOb9NJ7uliRDVJ8N
	1zgkoX6zOLn3P3IGe0snzufV21wMM9kAHENAER2IeyitGtzlJiNSi1vXWrkSDdZ5lxEEn3Sjm04
	Zu8k=
X-Google-Smtp-Source: AGHT+IFOWHe3EIfjH5zyqnEXwnRx/0x1OGIcx1Kbwm+FuN2oTPV4thkLsB91E35bx2VsXhzRCxQZuA==
X-Received: by 2002:a05:6512:68c:b0:515:c195:d6b8 with SMTP id t12-20020a056512068c00b00515c195d6b8mr2575529lfe.60.1712774539766;
        Wed, 10 Apr 2024 11:42: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>,
	Wei Liu <wl@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 0/4] xen/arch: Simplify virtual_region setup
Date: Wed, 10 Apr 2024 19:42:13 +0100
Message-Id: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

There is nothing that setup_virtual_regions() does which can't be done at
build time.  Make this happen.

Importantly, this removes logic from needed prior to setting up exceptions.

v2:
 * Only minor changes in patches 3 and 4.

Andrew Cooper (4):
  xen/link: Introduce a common BUGFRAMES definition
  xen/virtual-region: Rework how bugframe linkage works
  xen/virtual-region: Link the list build time
  xen/virtual-region: Drop setup_virtual_regions()

 xen/arch/arm/setup.c             |   1 -
 xen/arch/arm/traps.c             |   5 +-
 xen/arch/arm/xen.lds.S           |  13 +---
 xen/arch/ppc/xen.lds.S           |  13 +---
 xen/arch/riscv/xen.lds.S         |  13 +---
 xen/arch/x86/setup.c             |   2 -
 xen/arch/x86/xen.lds.S           |  11 +---
 xen/common/bug.c                 |   5 +-
 xen/common/livepatch.c           |   7 +--
 xen/common/virtual_region.c      | 101 ++++++++++++++++---------------
 xen/include/xen/bug.h            |   6 --
 xen/include/xen/virtual_region.h |   7 +--
 xen/include/xen/xen.lds.h        |  17 ++++++
 13 files changed, 90 insertions(+), 111 deletions(-)


base-commit: 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 18:42:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 18:42:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703547.1099225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ructu-0002lb-T9; Wed, 10 Apr 2024 18:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703547.1099225; Wed, 10 Apr 2024 18: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 1ructu-0002kv-O0; Wed, 10 Apr 2024 18:42:26 +0000
Received: by outflank-mailman (input) for mailman id 703547;
 Wed, 10 Apr 2024 18:42:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ructt-0002iK-Ph
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 18:42: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 122a496e-f76a-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 20:42:23 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-516d0c004b1so8389024e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 11:42:23 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gv18-20020a170906f11200b00a4e1a9e1ab4sm7228404ejb.157.2024.04.10.11.42.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 11:42: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: 122a496e-f76a-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712774543; x=1713379343; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ukDAjmcMpf650PdUhUxZlNvZY089aJWuIQPAP0FBqkA=;
        b=s7kUJhfHxwmHk+Y5ecvys////TIrzyO14lA7bpavZp2T8PC/CGRv/cxOPjGioXxA8r
         OyehLb5mOmOnbRuAEo5DRMHxH5lU8HG3bEyP0AdUq9XztO/AHxD9mWLEArnUBy12jhff
         Tgn5DA69Pur/epPiKcBPVNdPM0j2nO1+wf10k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712774543; x=1713379343;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ukDAjmcMpf650PdUhUxZlNvZY089aJWuIQPAP0FBqkA=;
        b=ASXQ7UBSXKELtbp82gTEGtxnjU7ttRz0DXBjmXlXDjHbcX+sjAn3rV7apv4kqx8fx4
         NDsjyMDU0iXByW4/EhYBU44pRoWxT9cF5A20Zb0JyVQ9sUC2Ac5SBtXjUq7jNuYUzU0m
         mFEgYMoj0cJbp5sTBjHOe48JBn0bUylogk+x8XAxzujvpU+kY/abOed+W3jLK98ytCQB
         +9+k9BlETpwJx33eCX4gRpnZeqQN55FQX+Y+wNa9D7GnoBmn3YGK/xFITV/N3ghcSeEr
         LGRQXwUJZOfQ0A50e3HNBGM7frAim8Elljdld5R/A1dMBzBDPMSRWuoxKKSoytcsVug8
         QD/w==
X-Gm-Message-State: AOJu0Yyo9IOgS0VhgsAuj6pia+sM+MxjD2obRMeNcfgJLebYtGMumYMX
	5M4UFkd0ZAFZyQUZizpgeCHrzT9oehbrRWqi2zs+gcCiHaU7QC6sTCrWyFg81IzpCi1vesHtwv1
	H7Lg=
X-Google-Smtp-Source: AGHT+IGDaH/9QknP6CAoXXWRXtTwYi3Gfw6NQpu6oJ7f3XDm1pyEE9CcWbhZL6WN8tVegXQD46jt7g==
X-Received: by 2002:ac2:5df9:0:b0:516:afb5:6a71 with SMTP id z25-20020ac25df9000000b00516afb56a71mr2372510lfq.67.1712774542977;
        Wed, 10 Apr 2024 11:42:22 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: [PATCH v2 2/4] xen/virtual-region: Rework how bugframe linkage works
Date: Wed, 10 Apr 2024 19:42:15 +0100
Message-Id: <20240410184217.1482366-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The start/stop1/etc linkage scheme predates struct virtual_region, and as
setup_virtual_regions() shows, it's awkward to express in the new scheme.

Change the linker to provide explicit start/stop symbols for each bugframe
type, and change virtual_region to have a stop pointer rather than a count.

This marginly simplifies both do_bug_frame()s and prepare_payload(), but it
massively simplifies setup_virtual_regions() by allowing the compiler to
initialise the .frame[] array at build time.

virtual_region.c is the only user of the linker symbols, and this is unlikely
to change given the purpose of struct virtual_region, so move their externs
out of bug.h

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
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>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 xen/arch/arm/traps.c             |  5 ++--
 xen/common/bug.c                 |  5 ++--
 xen/common/livepatch.c           |  7 +++--
 xen/common/virtual_region.c      | 45 ++++++++++++++------------------
 xen/include/xen/bug.h            |  6 -----
 xen/include/xen/virtual_region.h |  3 +--
 xen/include/xen/xen.lds.h        |  8 +++++-
 7 files changed, 35 insertions(+), 44 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 9cffe7f79005..a8039087c805 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1226,10 +1226,9 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
         for ( id = 0; id < BUGFRAME_NR; id++ )
         {
             const struct bug_frame *b;
-            unsigned int i;
 
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
+            for ( b = region->frame[id].start;
+                  b < region->frame[id].stop; b++ )
             {
                 if ( ((vaddr_t)bug_loc(b)) == pc )
                 {
diff --git a/xen/common/bug.c b/xen/common/bug.c
index c43e7c439735..b7c5d8fd4d4a 100644
--- a/xen/common/bug.c
+++ b/xen/common/bug.c
@@ -25,10 +25,9 @@ int do_bug_frame(const struct cpu_user_regs *regs, unsigned long pc)
     for ( id = 0; id < BUGFRAME_NR; id++ )
     {
         const struct bug_frame *b;
-        size_t i;
 
-        for ( i = 0, b = region->frame[id].bugs;
-              i < region->frame[id].n_bugs; b++, i++ )
+        for ( b = region->frame[id].start;
+              b < region->frame[id].stop; b++ )
         {
             if ( bug_loc(b) == pc )
             {
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index cabfb6391117..351a3e0b9a60 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -804,12 +804,11 @@ static int prepare_payload(struct payload *payload,
         if ( !sec )
             continue;
 
-        if ( !section_ok(elf, sec, sizeof(*region->frame[i].bugs)) )
+        if ( !section_ok(elf, sec, sizeof(*region->frame[i].start)) )
             return -EINVAL;
 
-        region->frame[i].bugs = sec->load_addr;
-        region->frame[i].n_bugs = sec->sec->sh_size /
-                                  sizeof(*region->frame[i].bugs);
+        region->frame[i].start = sec->load_addr;
+        region->frame[i].stop  = sec->load_addr + sec->sec->sh_size;
     }
 
     sec = livepatch_elf_sec_by_name(elf, ".altinstructions");
diff --git a/xen/common/virtual_region.c b/xen/common/virtual_region.c
index 142f21e18153..7d8bdeb61282 100644
--- a/xen/common/virtual_region.c
+++ b/xen/common/virtual_region.c
@@ -9,12 +9,25 @@
 #include <xen/spinlock.h>
 #include <xen/virtual_region.h>
 
+extern const struct bug_frame
+    __start_bug_frames_0[], __stop_bug_frames_0[],
+    __start_bug_frames_1[], __stop_bug_frames_1[],
+    __start_bug_frames_2[], __stop_bug_frames_2[],
+    __start_bug_frames_3[], __stop_bug_frames_3[];
+
 static struct virtual_region core = {
     .list = LIST_HEAD_INIT(core.list),
     .text_start = _stext,
     .text_end = _etext,
     .rodata_start = _srodata,
     .rodata_end = _erodata,
+
+    .frame = {
+        { __start_bug_frames_0, __stop_bug_frames_0 },
+        { __start_bug_frames_1, __stop_bug_frames_1 },
+        { __start_bug_frames_2, __stop_bug_frames_2 },
+        { __start_bug_frames_3, __stop_bug_frames_3 },
+    },
 };
 
 /* Becomes irrelevant when __init sections are cleared. */
@@ -22,6 +35,13 @@ static struct virtual_region core_init __initdata = {
     .list = LIST_HEAD_INIT(core_init.list),
     .text_start = _sinittext,
     .text_end = _einittext,
+
+    .frame = {
+        { __start_bug_frames_0, __stop_bug_frames_0 },
+        { __start_bug_frames_1, __stop_bug_frames_1 },
+        { __start_bug_frames_2, __stop_bug_frames_2 },
+        { __start_bug_frames_3, __stop_bug_frames_3 },
+    },
 };
 
 /*
@@ -133,31 +153,6 @@ void __init unregister_init_virtual_region(void)
 void __init setup_virtual_regions(const struct exception_table_entry *start,
                                   const struct exception_table_entry *end)
 {
-    size_t sz;
-    unsigned int i;
-    static const struct bug_frame *const __initconstrel bug_frames[] = {
-        __start_bug_frames,
-        __stop_bug_frames_0,
-        __stop_bug_frames_1,
-        __stop_bug_frames_2,
-        __stop_bug_frames_3,
-        NULL
-    };
-
-    for ( i = 1; bug_frames[i]; i++ )
-    {
-        const struct bug_frame *s;
-
-        s = bug_frames[i - 1];
-        sz = bug_frames[i] - s;
-
-        core.frame[i - 1].n_bugs = sz;
-        core.frame[i - 1].bugs = s;
-
-        core_init.frame[i - 1].n_bugs = sz;
-        core_init.frame[i - 1].bugs = s;
-    }
-
     core_init.ex = core.ex = start;
     core_init.ex_end = core.ex_end = end;
 
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
index 77fe1e1ba840..99814c4bef36 100644
--- a/xen/include/xen/bug.h
+++ b/xen/include/xen/bug.h
@@ -155,12 +155,6 @@ int do_bug_frame(const struct cpu_user_regs *regs, unsigned long pc);
 
 #endif /* CONFIG_GENERIC_BUG_FRAME */
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #endif /* !__ASSEMBLY__ */
 
 #endif /* __XEN_BUG_H__ */
diff --git a/xen/include/xen/virtual_region.h b/xen/include/xen/virtual_region.h
index dcdc95ba494c..c8a90e3ef26d 100644
--- a/xen/include/xen/virtual_region.h
+++ b/xen/include/xen/virtual_region.h
@@ -29,8 +29,7 @@ struct virtual_region
     symbols_lookup_t *symbols_lookup;
 
     struct {
-        const struct bug_frame *bugs; /* The pointer to array of bug frames. */
-        size_t n_bugs;          /* The number of them. */
+        const struct bug_frame *start, *stop; /* Pointers to array of bug frames. */
     } frame[BUGFRAME_NR];
 
     const struct exception_table_entry *ex;
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index 7ab7aa567872..a17810bb286f 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -115,13 +115,19 @@
 /* List of constructs other than *_SECTIONS in alphabetical order. */
 
 #define BUGFRAMES                               \
-    __start_bug_frames = .;                     \
+    __start_bug_frames_0 = .;                   \
     *(.bug_frames.0)                            \
     __stop_bug_frames_0 = .;                    \
+                                                \
+    __start_bug_frames_1 = .;                   \
     *(.bug_frames.1)                            \
     __stop_bug_frames_1 = .;                    \
+                                                \
+    __start_bug_frames_2 = .;                   \
     *(.bug_frames.2)                            \
     __stop_bug_frames_2 = .;                    \
+                                                \
+    __start_bug_frames_3 = .;                   \
     *(.bug_frames.3)                            \
     __stop_bug_frames_3 = .;
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 18:42:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 18:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703548.1099240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ructw-0003CU-4M; Wed, 10 Apr 2024 18:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703548.1099240; Wed, 10 Apr 2024 18:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ructw-0003Bl-0E; Wed, 10 Apr 2024 18:42:28 +0000
Received: by outflank-mailman (input) for mailman id 703548;
 Wed, 10 Apr 2024 18:42:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ructu-0002iK-TE
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 18:42:26 +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 12f3b1ce-f76a-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 20:42:25 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-516db2214e6so6155088e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 11:42:25 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gv18-20020a170906f11200b00a4e1a9e1ab4sm7228404ejb.157.2024.04.10.11.42.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 11:42: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: 12f3b1ce-f76a-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712774544; x=1713379344; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=825D0q9VW5ChJA7t5t0rSUJnwEdMxB4Mm0IclQ3mWnY=;
        b=ZlpJCR3kA3JJ4C8tb279F5A39f7VMLGwBaFxRYI6X+MBzTb1Z8gNOOF0B22HPMHnyo
         X5Vwc2OLaQGvtern9v4yEKN8p6j2Quhs03uCg0ew9DgT8FA9zTX/KwJonSFSheRZJdBQ
         QIufEnXzAropYUlBgi0fYbVmO+IimsgW++QWc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712774544; x=1713379344;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=825D0q9VW5ChJA7t5t0rSUJnwEdMxB4Mm0IclQ3mWnY=;
        b=WJ+S892U3shatG+qnB1lSUEsafvoDSsqYnaljy1wBhH2PTkgWLSLVzTxt6nhWOqnKK
         ufuq4EqWoVU7c+Egb8VIq9+/0E70Z/lfp1sCdUpPRYSBC4zQ1atAMqrzCZV7jm6NXfs7
         akz0ShUvJKoVGvm0YbWQ4OGjZvKEOBvXdFP8TE6pIJ8PigkMkA8P2cxynZTr5OiJCzLB
         p+xRpvZtFyHA0NmgYQzr/scVkLYYWr1gPGCiX2hzqPSW4xs/f2EtQ3JM8gmakSojevNj
         1Meikv5xAmVcZwMPMjolREDYKpp4opc3IdzjhUguvAs/WEHgI3J+BHPlknxKjKU8GilA
         YEIg==
X-Gm-Message-State: AOJu0YzMXZV9z4kkZrH/hXgfFlxulyzByaOxmblKUSK4cWIyqqoAJ4Op
	dCtXxQGDwzL5vb/l1W4GUWAgbknzI8Jlc89cio88GiH8QjK0nAytn5TuRuk2wDdex5rBy82IMoU
	/LxQ=
X-Google-Smtp-Source: AGHT+IGqZhwABSKKcqmSHOPFUjTJJI3TOiGeH+PGNXLx6+NV8wjKCSy22eFNHisUlWOHJFhe20f19w==
X-Received: by 2002:a19:914c:0:b0:516:d09b:cbd6 with SMTP id y12-20020a19914c000000b00516d09bcbd6mr1878645lfj.15.1712774544347;
        Wed, 10 Apr 2024 11:42: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 3/4] xen/virtual-region: Link the list build time
Date: Wed, 10 Apr 2024 19:42:16 +0100
Message-Id: <20240410184217.1482366-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Given 3 statically initialised objects, its easy to link the list at build
time.  There's no need to do it during runtime at boot (and with IRQs-off,
even).

As a consequence, register_virtual_region() can now move inside ifdef
CONFIG_LIVEPATCH like unregister_virtual_region().

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>

v2:
 * Collect the initialisers togoether too.
---
 xen/common/virtual_region.c | 37 ++++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/xen/common/virtual_region.c b/xen/common/virtual_region.c
index 7d8bdeb61282..db3e0dc9fe74 100644
--- a/xen/common/virtual_region.c
+++ b/xen/common/virtual_region.c
@@ -15,8 +15,18 @@ extern const struct bug_frame
     __start_bug_frames_2[], __stop_bug_frames_2[],
     __start_bug_frames_3[], __stop_bug_frames_3[];
 
+/*
+ * For the built-in regions, the double linked list can be constructed at
+ * build time.  Forward-declare the elements and their initialisers.
+ */
+static struct list_head virtual_region_list;
+static struct virtual_region core, core_init;
+#define LIST_ENTRY_HEAD() { .next = &core.list,           .prev = &core_init.list }
+#define LIST_ENTRY_CORE() { .next = &core_init.list,      .prev = &virtual_region_list }
+#define LIST_ENTRY_INIT() { .next = &virtual_region_list, .prev = &core.list }
+
 static struct virtual_region core = {
-    .list = LIST_HEAD_INIT(core.list),
+    .list = LIST_ENTRY_CORE(),
     .text_start = _stext,
     .text_end = _etext,
     .rodata_start = _srodata,
@@ -32,7 +42,7 @@ static struct virtual_region core = {
 
 /* Becomes irrelevant when __init sections are cleared. */
 static struct virtual_region core_init __initdata = {
-    .list = LIST_HEAD_INIT(core_init.list),
+    .list = LIST_ENTRY_INIT(),
     .text_start = _sinittext,
     .text_end = _einittext,
 
@@ -50,7 +60,7 @@ static struct virtual_region core_init __initdata = {
  *
  * All readers of virtual_region_list MUST use list_for_each_entry_rcu.
  */
-static LIST_HEAD(virtual_region_list);
+static struct list_head virtual_region_list = LIST_ENTRY_HEAD();
 static DEFINE_SPINLOCK(virtual_region_lock);
 static DEFINE_RCU_READ_LOCK(rcu_virtual_region_lock);
 
@@ -73,15 +83,6 @@ const struct virtual_region *find_text_region(unsigned long addr)
     return region;
 }
 
-void register_virtual_region(struct virtual_region *r)
-{
-    unsigned long flags;
-
-    spin_lock_irqsave(&virtual_region_lock, flags);
-    list_add_tail_rcu(&r->list, &virtual_region_list);
-    spin_unlock_irqrestore(&virtual_region_lock, flags);
-}
-
 /*
  * Suggest inline so when !CONFIG_LIVEPATCH the function is not left
  * unreachable after init code is removed.
@@ -96,6 +97,15 @@ static void inline remove_virtual_region(struct virtual_region *r)
 }
 
 #ifdef CONFIG_LIVEPATCH
+void register_virtual_region(struct virtual_region *r)
+{
+    unsigned long flags;
+
+    spin_lock_irqsave(&virtual_region_lock, flags);
+    list_add_tail_rcu(&r->list, &virtual_region_list);
+    spin_unlock_irqrestore(&virtual_region_lock, flags);
+}
+
 void unregister_virtual_region(struct virtual_region *r)
 {
     remove_virtual_region(r);
@@ -155,9 +165,6 @@ void __init setup_virtual_regions(const struct exception_table_entry *start,
 {
     core_init.ex = core.ex = start;
     core_init.ex_end = core.ex_end = end;
-
-    register_virtual_region(&core_init);
-    register_virtual_region(&core);
 }
 
 /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 18:42:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 18:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703549.1099250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ructx-0003US-It; Wed, 10 Apr 2024 18:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703549.1099250; Wed, 10 Apr 2024 18: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 1ructx-0003UA-EZ; Wed, 10 Apr 2024 18:42:29 +0000
Received: by outflank-mailman (input) for mailman id 703549;
 Wed, 10 Apr 2024 18:42:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ructw-0002iK-64
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 18:42:28 +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 13b4e167-f76a-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 20:42:26 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-56e47843cc7so4513665a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 11:42:26 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gv18-20020a170906f11200b00a4e1a9e1ab4sm7228404ejb.157.2024.04.10.11.42.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 11:42: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: 13b4e167-f76a-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712774545; x=1713379345; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=s+pmAYkyO8mBQKZUy/WOmEI9YmJh2MHSDjUgBLRaceg=;
        b=JquiehXUbQH9CQFeM0NvNzwfFJgjDk0M53fxUk7DWyVUnONfzWFj7za+dxxIASbwK+
         ww68RlSdFfgSNJs+6ESzW59mKecNc6YzEn51A3Fef7weO5yqQMznlnaQTo1Y+OZjHVku
         oK+7Kb5ZWI2E46CbClLtbU92AFOKZttrm28+8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712774545; x=1713379345;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=s+pmAYkyO8mBQKZUy/WOmEI9YmJh2MHSDjUgBLRaceg=;
        b=CN+cMEvVMeUQ1XCVo3sJBJ4jAur3G3xpod6uUcKmO1l5QnogMZ0Cc1f9Q29lk2WMv2
         8sPNnFnM6a4zN7KjfLDZ7wQRuhoc4znYP2eNDmABxSRxjSuruCha/A09HmBOveg1w/eD
         ifNMDI6p2qeEXRZyb9CE+bLU4TDdBuLCM4896cSIvLin66BZKQKJAr7mKdFqd4oMutij
         xftWarA6fX5l89WLd3nJ91Y9uM5uKeYjgZfCouGZpETzSObB2r8GYMdG+L/QKSsJAnKy
         tU0aNl5RwvFY+HCvnLLOfwUAoyvlUGtu+xmChSNgMGPDfnzyoXrLtpP+8L5XiCtLVR0+
         Ypkw==
X-Gm-Message-State: AOJu0YzzUAoN90A1ysbck8oO0+j8yLqBTrDwaRZu61aGIx1iPvRXfoHr
	nkWU1nm3wvMdtHP7gOIU8SIKk/F7IxQTYDr/nW3p8QJUEmjQNlJSv1HMbr1PkGcRP2GT/h4QJgJ
	OqVU=
X-Google-Smtp-Source: AGHT+IFqjGHSfSQxb97+Z0xxY3mHpK1V/Kc7/GWcChZDG6kmo9ZVl3EdBpDQU8y8S2GWq9BRQrQ93Q==
X-Received: by 2002:a17:907:20ec:b0:a51:deec:483c with SMTP id rh12-20020a17090720ec00b00a51deec483cmr1915598ejb.6.1712774545655;
        Wed, 10 Apr 2024 11:42:25 -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>,
	Wei Liu <wl@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 4/4] xen/virtual-region: Drop setup_virtual_regions()
Date: Wed, 10 Apr 2024 19:42:17 +0100
Message-Id: <20240410184217.1482366-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All other actions it used to perform have been converted to build-time
initialisation.  The extable setup can done at build time too.

This is one fewer setup step required to get exceptions working.

Take the opportunity to move 'core' into read_mostly, where it probably should
have lived all along.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>

v2:
 * Use CONFIG_HAS_EX_TABLE
---
 xen/arch/arm/setup.c             |  1 -
 xen/arch/x86/setup.c             |  2 --
 xen/common/virtual_region.c      | 19 +++++++++++--------
 xen/include/xen/virtual_region.h |  4 ++--
 4 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 424744ad5e1a..b9a7f61f73ef 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -719,7 +719,6 @@ void asmlinkage __init start_xen(unsigned long boot_phys_offset,
     percpu_init_areas();
     set_processor_id(0); /* needed early, for smp_processor_id() */
 
-    setup_virtual_regions(NULL, NULL);
     /* Initialize traps early allow us to get backtrace when an error occurred */
     init_traps();
 
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index ac983ddc6977..86cd8b999774 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1014,8 +1014,6 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
     smp_prepare_boot_cpu();
     sort_exception_tables();
 
-    setup_virtual_regions(__start___ex_table, __stop___ex_table);
-
     /* Full exception support from here on in. */
 
     rdmsrl(MSR_EFER, this_cpu(efer));
diff --git a/xen/common/virtual_region.c b/xen/common/virtual_region.c
index db3e0dc9fe74..0d0a3df0b669 100644
--- a/xen/common/virtual_region.c
+++ b/xen/common/virtual_region.c
@@ -25,7 +25,7 @@ static struct virtual_region core, core_init;
 #define LIST_ENTRY_CORE() { .next = &core_init.list,      .prev = &virtual_region_list }
 #define LIST_ENTRY_INIT() { .next = &virtual_region_list, .prev = &core.list }
 
-static struct virtual_region core = {
+static struct virtual_region core __read_mostly = {
     .list = LIST_ENTRY_CORE(),
     .text_start = _stext,
     .text_end = _etext,
@@ -38,6 +38,11 @@ static struct virtual_region core = {
         { __start_bug_frames_2, __stop_bug_frames_2 },
         { __start_bug_frames_3, __stop_bug_frames_3 },
     },
+
+#ifdef CONFIG_HAS_EX_TABLE
+    .ex = __start___ex_table,
+    .ex_end = __stop___ex_table,
+#endif
 };
 
 /* Becomes irrelevant when __init sections are cleared. */
@@ -52,6 +57,11 @@ static struct virtual_region core_init __initdata = {
         { __start_bug_frames_2, __stop_bug_frames_2 },
         { __start_bug_frames_3, __stop_bug_frames_3 },
     },
+
+#ifdef CONFIG_HAS_EX_TABLE
+    .ex = __start___ex_table,
+    .ex_end = __stop___ex_table,
+#endif
 };
 
 /*
@@ -160,13 +170,6 @@ void __init unregister_init_virtual_region(void)
     remove_virtual_region(&core_init);
 }
 
-void __init setup_virtual_regions(const struct exception_table_entry *start,
-                                  const struct exception_table_entry *end)
-{
-    core_init.ex = core.ex = start;
-    core_init.ex_end = core.ex_end = end;
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/virtual_region.h b/xen/include/xen/virtual_region.h
index c8a90e3ef26d..a18dfb6fb05e 100644
--- a/xen/include/xen/virtual_region.h
+++ b/xen/include/xen/virtual_region.h
@@ -32,13 +32,13 @@ struct virtual_region
         const struct bug_frame *start, *stop; /* Pointers to array of bug frames. */
     } frame[BUGFRAME_NR];
 
+#ifdef CONFIG_HAS_EX_TABLE
     const struct exception_table_entry *ex;
     const struct exception_table_entry *ex_end;
+#endif
 };
 
 const struct virtual_region *find_text_region(unsigned long addr);
-void setup_virtual_regions(const struct exception_table_entry *start,
-                           const struct exception_table_entry *end);
 void unregister_init_virtual_region(void);
 void register_virtual_region(struct virtual_region *r);
 void unregister_virtual_region(struct virtual_region *r);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:27:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:27:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703572.1099260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudb9-0003Xk-RK; Wed, 10 Apr 2024 19:27:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703572.1099260; Wed, 10 Apr 2024 19:27:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudb9-0003Xd-Nh; Wed, 10 Apr 2024 19:27:07 +0000
Received: by outflank-mailman (input) for mailman id 703572;
 Wed, 10 Apr 2024 19:27: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=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rudb8-0003XU-0T
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:27:06 +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 4e7e1f93-f770-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 21:27:02 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-56e2b41187aso266512a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 12:27:02 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 x26-20020aa7d6da000000b0056e460eda12sm5449178edr.55.2024.04.10.12.27.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 12:27: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: 4e7e1f93-f770-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712777221; x=1713382021; 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=P1XojucwcBoOj2YCVjGcUgrZ4dJuDGeY0F252K1EUEU=;
        b=B5BBMatvWycRsAk25E7Z3CX8jsECCn6QegPF91ti281cz9WyWmjAwuaKx1IrCY3wGN
         IywLNGz5J/wm7M/qKemae3u4oUjYnRzynQ2aPL0bG97uvU1mICz1kAkXeZzZBin8h3WX
         4lHuKiqWirZdeqiBGCTedgCmuPWmkdlPRVpNc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712777221; x=1713382021;
        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=P1XojucwcBoOj2YCVjGcUgrZ4dJuDGeY0F252K1EUEU=;
        b=XI+p3nbUmGc6HtSgHWt9XecYEtEVb+tCi/vflqPJE0lZ+XddjSi32DIomaYPlliwhC
         b81dr4d8QAU6DT+uqf7+6gBDNVX8B543iDd5X0cz/eTixkUd2AaUsZ7NkBqrSGcA+NXl
         NMkxoP75QRLVKmUyoQ0W7wcGMR7YjbE1QiJGRgc/0MhowRftNrOxLjiaulcZVTslG3N3
         k3rWsFsMutjyY9KMnlD/mNrbxMeaoYIvE/Kpq8+5bpBHi1l1TBJjMzM7eGcrafEImrnm
         k4XJKDT7H67m4YcdoH04Qz4iNCHHjcWGF9TAJmMuBE++/VkmFeBgp8IF5UHYNNdufGoi
         P85w==
X-Gm-Message-State: AOJu0Yzbj292RTqRESJBAcQS9yUfKOhLSns5iJ+AlI581dxQ5cT+Y1Lh
	vAK3xqx/25G5GzL/Rz8OqIrb+d6fdZ6vnzhjBXNkkbyIg3rD5VnVXwVnoNYwVI4auspxYY+ONaw
	lX6E=
X-Google-Smtp-Source: AGHT+IFKJnRqQNCPURbLiHRZvUssBKJtjoArog7gHJPsbHES3mvs4XWzpcKgk9CxKHQcxftplTlYnQ==
X-Received: by 2002:a50:a45a:0:b0:56e:1e47:c0b2 with SMTP id v26-20020a50a45a000000b0056e1e47c0b2mr480359edb.4.1712777221282;
        Wed, 10 Apr 2024 12:27: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH] xen/nospec: Remove unreachable code
Date: Wed, 10 Apr 2024 20:26:59 +0100
Message-Id: <20240410192659.1490271-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When CONFIG_SPECULATIVE_HARDEN_LOCK is active, this reads:

  static always_inline bool lock_evaluate_nospec(bool condition)
  {
      return arch_lock_evaluate_nospec(condition);
      return condition;
  }

Insert an #else to take out the second return.

Fixes: 7ef0084418e1 ("x86/spinlock: introduce support for blocking speculation into critical regions")
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: consulting@bugseng.com <consulting@bugseng.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Federico Serafini <federico.serafini@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/include/xen/nospec.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/include/xen/nospec.h b/xen/include/xen/nospec.h
index 9fb15aa26aa9..828dbd4e0ad8 100644
--- a/xen/include/xen/nospec.h
+++ b/xen/include/xen/nospec.h
@@ -82,8 +82,9 @@ static always_inline bool lock_evaluate_nospec(bool condition)
 {
 #ifdef CONFIG_SPECULATIVE_HARDEN_LOCK
     return arch_lock_evaluate_nospec(condition);
-#endif
+#else
     return condition;
+#endif
 }
 
 #endif /* XEN_NOSPEC_H */

base-commit: 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:33:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703576.1099270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudhh-0005Cn-FU; Wed, 10 Apr 2024 19:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703576.1099270; Wed, 10 Apr 2024 19:33:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudhh-0005Cg-CM; Wed, 10 Apr 2024 19:33:53 +0000
Received: by outflank-mailman (input) for mailman id 703576;
 Wed, 10 Apr 2024 19:33:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rudhg-0005Ca-8W
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:33:52 +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 4257748e-f771-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 21:33:51 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a51aac16b6eso307568166b.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 12:33:51 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y9-20020a056402440900b0056e3707323bsm5979403eda.97.2024.04.10.12.33.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 12:33: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: 4257748e-f771-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712777630; x=1713382430; 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=0irfrVrpqm+MWlSh3nT3HIX5ho9HQLtaPGTwOIu4/9w=;
        b=kyDAqonlRMHoREHLHZKv50hqiqGIt6miNcbrz8YIOD7Wi2WsAeTGeQGKgGp1EVs9ml
         fKgTZ/ELGrV3zWwS1IO7ObGoFKav9YHqkck/+xSRIjaIKXF794VJ5hNmdMZdoNENi4b1
         Zq6F8zcd7Km+0jDz884BqFsTTP44mS9VGYaOs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712777630; x=1713382430;
        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=0irfrVrpqm+MWlSh3nT3HIX5ho9HQLtaPGTwOIu4/9w=;
        b=tdIC/aVIFxS7d60qGXCqi65meCplH/4sEJmk2tyjcRq040tq6shwft7ux5Uy+L4lzS
         exyV91z6qT+OrwOIAlKQfSqxaOkmVRtTciRBo8KlnnzlDxcnSaiNq+UuW37Lo1Cjvdii
         a5xNbfkQ9b8mC36TyIdH8xwvrR/gatiVUfuCQjpiPNQ27aThtUhbwFD2PfBPz3uvqTiY
         I4/FQWPBkAmZrKk+MWHcrDRN5P7EiBfZrK8xqSlX4PA/Ohrsc2fdois0zaB7IdSfjskk
         Z+aZZW6Roj6XgZcgRVTWVn2SoidpwKG55H0gvGM6Z/FIqNf+zXMyQ5nr7Eo/kQpkSXkt
         EADg==
X-Gm-Message-State: AOJu0YwoT6sxUW4uigKvnP6QejPCl0NjBszgDGqDXhOausduPGtPNk4i
	HvyEKH0i3YSlXIP/RM8FRCfQPZBUNk8o/2b4L7bwZku7RVKxmqhSxOpKcWzca38UV0gE/WOVkmM
	J2S8=
X-Google-Smtp-Source: AGHT+IG5shGsR74/T3oXRTSmFm28Z75nYIQWUbcHYhk5pPm60FLJp/zaT9XMbXKSX6n1YRFL4G4V/g==
X-Received: by 2002:a50:8d5e:0:b0:568:abe3:52b2 with SMTP id t30-20020a508d5e000000b00568abe352b2mr3122066edt.23.1712777630302;
        Wed, 10 Apr 2024 12:33: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH] xen/vPCI: Remove shadowed variable
Date: Wed, 10 Apr 2024 20:33:48 +0100
Message-Id: <20240410193348.1492018-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Resolves a MISRA R5.3 violation.

Fixes: 622bdd962822 ("vpci/header: handle p2m range sets per BAR")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: consulting@bugseng.com <consulting@bugseng.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Federico Serafini <federico.serafini@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/drivers/vpci/vpci.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 260b72875ee1..97e115dc5798 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -62,8 +62,6 @@ void vpci_deassign_device(struct pci_dev *pdev)
     spin_unlock(&pdev->vpci->lock);
     if ( pdev->vpci->msix )
     {
-        unsigned int i;
-
         list_del(&pdev->vpci->msix->next);
         for ( i = 0; i < ARRAY_SIZE(pdev->vpci->msix->table); i++ )
             if ( pdev->vpci->msix->table[i] )
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:35:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:35:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703579.1099279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudjN-00062a-Oy; Wed, 10 Apr 2024 19:35:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703579.1099279; Wed, 10 Apr 2024 19:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudjN-00062T-MT; Wed, 10 Apr 2024 19:35:37 +0000
Received: by outflank-mailman (input) for mailman id 703579;
 Wed, 10 Apr 2024 19: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=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rudjM-00062N-Th
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:35:36 +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 80e6d11f-f771-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 21:35:36 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2d8b2389e73so23451831fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 12:35:36 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ji7-20020a170907980700b00a4e86dd231dsm7192483ejc.42.2024.04.10.12.35.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 12:35: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: 80e6d11f-f771-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712777735; x=1713382535; 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=zhU14UictSRaK0JRs1BvAkcwPDCX6XlNf7Ku0rddFnc=;
        b=ghkZ6cY4Sf1ttEIvqiTsEWotMV166tyIzAx8EG/w9R/viR42Ijzo5BtAJNEdH9oF+c
         RtswhcTUjE5BkpYKQFpmnQe70q0EA8KL+o1gG6pisJzZsBueQL18scrbC7lXZ5yXrkGs
         pJCUu0OsDimmOkgWq2nhvegpK4Zpsr8dAjgRM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712777735; x=1713382535;
        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=zhU14UictSRaK0JRs1BvAkcwPDCX6XlNf7Ku0rddFnc=;
        b=DNe9u3u4syWeLxqosgWAPwMPQRrJTMXInfcHInZT2ApnQd5B2Di8xPsneNo05WrrYl
         iINXqGdPUx315xkEifEWTp1xc/Sk/QKhGNCylMDlFptUfPXBgS5q8A0mk/Ms1xj7rmtM
         MVQiXuOvSwUBBtGOE3SZ8cLZUj7P4IR96xdU0yy4qExaC7n3/vi62Wip4Us9fJ6AS86U
         uXPKW+hs2ECL+sBAUSHuThREdh4MTfCy+hPWebvYYiwtf/ZkNGhMujE2HCOH3MQOGaED
         OqxPKAtb//5FzQUBZ+c84nuPuOy0lQO4i2fx3XERCjok2U3rQ/OKFUBWVk5d5eY3qO8v
         40OA==
X-Gm-Message-State: AOJu0YwnLbQ70XWiP6bywNGCoM309HruXw3Owb22z8Druy0UqhDYf/ny
	ugyDRuDbDFKYGemkHoXebGwSVbdCO4jbfTUAJ5aJ3Tvyiq79hiv7izOFENf3t3PoOJ9S6VmOiAX
	3Io4=
X-Google-Smtp-Source: AGHT+IGr6423c394JYvpCYavu8ehM3wqRfsoe76I8wWeZbM983LlPSmqaQxfJuk7XLrbWBPzkEHa6Q==
X-Received: by 2002:a19:e04f:0:b0:516:d538:35b2 with SMTP id g15-20020a19e04f000000b00516d53835b2mr2069736lfj.23.1712777734945;
        Wed, 10 Apr 2024 12:35: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>,
	George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Juergen Gross <jgross@suse.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>
Subject: [PATCH] xen/spinlock: Adjust LOCK_DEBUG_INITVAL to placate MISRA
Date: Wed, 10 Apr 2024 20:35:31 +0100
Message-Id: <20240410193531.1499128-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Resolves an R7.2 violation.

Fixes: c286bb93d20c ("xen/spinlock: support higher number of cpus")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Juergen Gross <jgross@suse.com>
CC: consulting@bugseng.com <consulting@bugseng.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Federico Serafini <federico.serafini@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/include/xen/spinlock.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index db00a24646bd..18793c5e29cb 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -13,7 +13,7 @@
 #ifdef CONFIG_DEBUG_LOCKS
 union lock_debug {
     uint32_t val;
-#define LOCK_DEBUG_INITVAL 0xffffffff
+#define LOCK_DEBUG_INITVAL 0xffffffffU
     struct {
         unsigned int cpu:SPINLOCK_CPU_BITS;
 #define LOCK_DEBUG_PAD_BITS (30 - SPINLOCK_CPU_BITS)

base-commit: 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
prerequisite-patch-id: 8d06e56c5d8a52f1387e1f5a7fce6a94b8c4a1ed
prerequisite-patch-id: 13355d26254b979c79de456c9a6ea6a9c639ba63
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:45:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703586.1099290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudt3-0008AQ-MF; Wed, 10 Apr 2024 19:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703586.1099290; Wed, 10 Apr 2024 19:45:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudt3-0008AJ-Je; Wed, 10 Apr 2024 19:45:37 +0000
Received: by outflank-mailman (input) for mailman id 703586;
 Wed, 10 Apr 2024 19:45:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wftW=LP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rudt2-0008AD-Bz
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:45:36 +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 e55eb251-f772-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 21:45:34 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a5213f0f85dso105495166b.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 12:45:34 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l13-20020a170906230d00b00a51f0f9a2casm2567845eja.188.2024.04.10.12.45.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Apr 2024 12:45: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: e55eb251-f772-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712778333; x=1713383133; 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=Q5HdQpnvHrH/YBHNhvbeu+vnuV113IZ3Z4yBsyYl9hE=;
        b=ohjRPQgljoSfyu2G/fWOnnRHYAJNe8rbNM0iqAgzND4SU1Yi0CWKv+YtS/JVcgga82
         79BaxBMlN+HEI0oj+WkuUcBkgFM2jQQ76E6T9AIR75CaPk3H8Vdzf5Bpgv0llHrQS0wv
         /PplDzRv8aoHmnU0t9UK4SHYj/oeAWgY+jSg4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712778333; x=1713383133;
        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=Q5HdQpnvHrH/YBHNhvbeu+vnuV113IZ3Z4yBsyYl9hE=;
        b=Ic8HvbTpArLDbVIF/RE8GUBzvJGCgdEjlRwpwHE/0h44DFFbKVcPTiplFQybmlIFzL
         t3Y6UalAUlUaemJ932Q+rkHvvU3XPpbGvxcy+qNqXzu/IG8ey9ThNmpcG9GuPL+fKTrB
         /a/91cCUvjVf+DXvjJhIAIE4YROFB3dLNCvKDJTKYslyUlum4KKoeJMQiM2z9KeGJ/ig
         x+5ptMOQ3OKbw6lufdq6NBt1yVQ84KUyR3cVz/6DriYGet9z9tFF+mmCh1eblD+Kjvb4
         jnGrbclsnykGVxSWg+WZTwL8kjeD9ihS/lROE2npJvOO3+qLQNf1J57hPqmQohIImgTx
         4Gbg==
X-Gm-Message-State: AOJu0YxDL1fc3kq+njAVQYQ0tAuscSltZqHLTHb6t7/IX549VMv4EIr6
	+wAWP7u0gLioGqakqlpKKnNvTDjO2oazLfcBWHQjVbgoZv/4aPfsX2JKwYXg4n40RXJpPweYHc6
	3XIo=
X-Google-Smtp-Source: AGHT+IEQeqcZiU62WncIHnkFSFMa7CDZKstddHbkcyiXT+uGXT62N8aMwFrUNmTGWG8iisFh1dpe+g==
X-Received: by 2002:a17:907:944e:b0:a52:1208:31eb with SMTP id dl14-20020a170907944e00b00a52120831ebmr2055368ejc.48.1712778333052;
        Wed, 10 Apr 2024 12:45:33 -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>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH] x86/emul: Adjust X86EMUL_OPC_EXT_MASK to placate MISRA
Date: Wed, 10 Apr 2024 20:45:31 +0100
Message-Id: <20240410194531.1500509-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Resolves 4740 MISRA R7.2 violations.

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: consulting@bugseng.com <consulting@bugseng.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Federico Serafini <federico.serafini@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

of 4935, so 96% of them...
---
 xen/arch/x86/x86_emulate/x86_emulate.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 698750267a90..d92be69d84d9 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -620,7 +620,7 @@ struct x86_emulate_ctxt
  * below).
  * Hence no separate #define-s get added.
  */
-#define X86EMUL_OPC_EXT_MASK         0xffff0000
+#define X86EMUL_OPC_EXT_MASK         0xffff0000U
 #define X86EMUL_OPC(ext, byte)       ((uint8_t)(byte) | \
                                       MASK_INSR((ext), X86EMUL_OPC_EXT_MASK))
 /*

base-commit: 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
prerequisite-patch-id: 8d06e56c5d8a52f1387e1f5a7fce6a94b8c4a1ed
prerequisite-patch-id: 13355d26254b979c79de456c9a6ea6a9c639ba63
prerequisite-patch-id: d1f308616490257685a49248e29f1b3516c2dde4
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:49:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703593.1099300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwM-0000Oi-7w; Wed, 10 Apr 2024 19:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703593.1099300; Wed, 10 Apr 2024 19:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwM-0000Ob-4d; Wed, 10 Apr 2024 19:49:02 +0000
Received: by outflank-mailman (input) for mailman id 703593;
 Wed, 10 Apr 2024 19:49: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=fkSW=LP=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rudwK-0000OV-TL
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:49:01 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2418::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f333b46-f773-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 21:48:59 +0200 (CEST)
Received: from SN6PR08CA0007.namprd08.prod.outlook.com (2603:10b6:805:66::20)
 by SA1PR12MB6822.namprd12.prod.outlook.com (2603:10b6:806:25d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 19:48:56 +0000
Received: from SA2PEPF00001508.namprd04.prod.outlook.com
 (2603:10b6:805:66:cafe::90) by SN6PR08CA0007.outlook.office365.com
 (2603:10b6:805:66::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 19:48:55 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00001508.mail.protection.outlook.com (10.167.242.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 19:48:55 +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.35; Wed, 10 Apr
 2024 14:48:55 -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.35; Wed, 10 Apr
 2024 14:48:54 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 14:48: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: 5f333b46-f773-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HXg0/SvRmB2zsmOymhR4ZotI9taE1NG2IA/Inrr91VQHN49cD0gHLn1SeZ4JSKvu7ql397rkOM3QQvg58uYqhByxl1H9Hve9srBis8VNmybXeka90DUa76F/fgpV1I41q1OS6U60Ac73fhjjE/LNWwmJ7UgDPr5Aaoq7zqofV4wE8YYtNYEBFv+IJKHOpcZrsFv5Mh+c2Pg0fmNbyGGpK9tdqKrwsd+q5jmDve679dpJElj9tYS6TmfBI5hZdsnACwcPrYItlCjylbMlipcVIjn1ivNqDztMISXXPIXC/u4oP+bdegCk8Q1lzBLcYHtncTvdiKyn6xARrb767tghFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k0LRVzS8grWUW2SXthNFTo83cUa9GynSeTFdqAUi4wo=;
 b=Ki3rMboSt47bv/SI6Yn0E9jgUWPets3Mo+LtgghrGljGftVZcKlKlXxnYpji/c3yrWb0bvyUVNaA4ijiMJUH4L0B+g++GBZJvPmb5IK5RfRCz87SHdiebgSABCyp5MzK485VvU23pTDSCUhaVJYuTs/m5VUXo0Fpw6NpEU3IioeEYzVx9Xbh/20iWM+EYstG4UJllJCU47Iwc/22JeQd+Y9RqmIBY1CXpvl0/GqPIgp7J9Q+Adfq99itxbW4VPlOrnOk31n73QvULDwViH4CEAN16I+lrudbPQH/4w8jw7S/64iuiZZzaDA60KtmWW99psxDEpM3D2eeGipi0SpWlg==
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=k0LRVzS8grWUW2SXthNFTo83cUa9GynSeTFdqAUi4wo=;
 b=xCEiiU4Mpg4Z2mCQw8yadmTbTodX1nU9r3WPt9mbIW4/SJRM7lVuS+R7yFxmEXin+4xRJS+RCXtIAZgoQsbNy0VSCnYkHRhk4P3bJpadac4PnMedo8KoUvATkm+NlvrI/+Tyt49P0YI+kpqubjXC2x6jqx7AxhXcLQFvDTlrq0Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Jason Andryuk <jason.andryuk@amd.com>
To: 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>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>, "Jason
 Andryuk" <jason.andryuk@amd.com>
Subject: [PATCH 0/5] x86/pvh: Make PVH entry relocatable
Date: Wed, 10 Apr 2024 15:48:45 -0400
Message-ID: <20240410194850.39994-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001508:EE_|SA1PR12MB6822:EE_
X-MS-Office365-Filtering-Correlation-Id: 28717031-e15d-4c1a-2eb0-08dc599741d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H+zzQjvRY0w9QKyty8feI3ffpbd+kGRTEAPthS7CtX0N6qqYDcygx4O/wiOJYRNlx3f3dmZ1EsPfN4kka2sSq80/l97orx3EVos8OX50YhkJy+54apPHWQu3qk/DI9FoQEg/n9hLlQGOhoSo79pq9KDeWXg7nrr+l7XEyd+lQXUHpZF1+5LTjIte6SvMjfnR/wS019g6vyLntPh16yks8LB240wfhLQiT/f5Wuapeyfeh7Fw7kLwVhG0MIpctezwq2NnPi4m2fgrVtWhmSJe/qPamQq7eexaBG8ovN3zvcVRXGo4GyveFPu4/V3rBr0ckeAwctkBTFvb+hnfvdsAW9uN5tohTJk4ZxD8XwYTN0eY6GZ9pY06HjspmMioa8oZd74B9XGommmfTny5IpgMf8ljrMc1Oy9RlMyuBrdc21+C3nLz23fZzFeMJG1zs4bufPmTxMcYizhOvO192R3MKGcr8PUudMV3s3KfNFw5eerh8LXzFvkiY+N/+UkJ87SbOkkqT4+6WzW8ey6WVTVp5ierk5LjQSJbVgceFb/zkxh3Ml0dL7oTVyMDRWyqAz3bUx1pr6S4VylEsr9Ljln3gBwSgBVkLM5t8smWetnLpoL+puinDR7t7AZ2kZ0giWheqPnlbt/xfd2/yqdNU8fIzXMWwXrRSmaEmfxcfeCFRvgy/PRZWaAnsFBOVjA3vzEAHo9lU3o3mpSZF45iY/87CBreWyNi+EBtl9tDXp+xQn9FmSajxKNd9Q2w1QZsg2rukk/qn2n6d52zbxConuzhaw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(7416005)(82310400014)(36860700004)(921011);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 19:48:55.8697
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 28717031-e15d-4c1a-2eb0-08dc599741d7
X-MS-Exchange-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:
	SA2PEPF00001508.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6822

Using the PVH entry point, the uncompressed vmlinux is loaded at
LOAD_PHYSICAL_ADDR, and execution starts in 32bit mode at the
address in XEN_ELFNOTE_PHYS32_ENTRY, pvh_start_xen, with paging
disabled.

Loading at LOAD_PHYSICAL_ADDR has not been a problem in the past as
virtual machines don't have conflicting memory maps.  But Xen now
supports a PVH dom0, which uses the host memory map, and there are
Coreboot/EDK2 firmwares that have reserved regions conflicting with
LOAD_PHYSICAL_ADDR.  Xen recently added XEN_ELFNOTE_PHYS32_RELOC to
specify an alignment, minimum and maximum load address when
LOAD_PHYSICAL_ADDR cannot be used.  This patch series makes the PVH
entry path PIC to support relocation.

Only x86-64 is converted.  The 32bit entry path calling into vmlinux,
which is not PIC, will not support relocation.

The entry path needs pages tables to switch to 64bit mode.  A new
pvh_init_top_pgt is added to make the transition into the startup_64
when the regular init_top_pgt pagetables are setup.  This duplication is
unfortunate, but it keeps the changes simpler.  __startup_64() can't be
used to setup init_top_pgt for PVH entry because it is 64bit code - the
32bit entry code doesn't have page tables to use.

This is the straight forward implementation to make it work.  Other
approaches could be pursued.

checkpatch.pl gives an error: "ERROR: Macros with multiple statements
should be enclosed in a do - while loop" about the moved PMDS macro.
But PMDS is an assembler macro, so its not applicable.  There are some
false positive warnings "WARNING: space prohibited between function name
and open parenthesis '('" about the macro, too.

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 new header
  x86/pvh: Add 64bit relocation page tables

 arch/x86/kernel/head_64.S            |  22 +---
 arch/x86/kernel/pgtable_64_helpers.h |  28 +++++
 arch/x86/platform/pvh/head.S         | 157 +++++++++++++++++++++++++--
 include/xen/interface/elfnote.h      |  93 +++++++++++++++-
 4 files changed, 265 insertions(+), 35 deletions(-)
 create mode 100644 arch/x86/kernel/pgtable_64_helpers.h

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:49:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:49:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703594.1099310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwO-0000dZ-Ee; Wed, 10 Apr 2024 19:49:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703594.1099310; Wed, 10 Apr 2024 19:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwO-0000dS-Ba; Wed, 10 Apr 2024 19:49:04 +0000
Received: by outflank-mailman (input) for mailman id 703594;
 Wed, 10 Apr 2024 19:49:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fkSW=LP=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rudwO-0000OV-1G
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:49:04 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2416::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6110eb31-f773-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 21:49:03 +0200 (CEST)
Received: from SA1P222CA0009.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:22c::25)
 by MW4PR12MB5627.namprd12.prod.outlook.com (2603:10b6:303:16a::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.47; Wed, 10 Apr
 2024 19:48:59 +0000
Received: from SN1PEPF0002636C.namprd02.prod.outlook.com
 (2603:10b6:806:22c:cafe::d3) by SA1P222CA0009.outlook.office365.com
 (2603:10b6:806:22c::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 19:48:58 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636C.mail.protection.outlook.com (10.167.241.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 19:48:58 +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.35; Wed, 10 Apr
 2024 14:48:58 -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.35; Wed, 10 Apr
 2024 14:48:58 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 14:48: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: 6110eb31-f773-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W+Z7mJeFAYp3UCoF4dVgBenKULB+0ySKxHczpDrZfsbwl3R2pevjUBOGvR19ucImHZT0sKkm9/PTRL8cTtqBGFVVQ4MmJucb6EFHs4Sszdit4dQHUwxLBFt+Th4zqBB+4/21jRpo/re8kojfZwOwgxOXpNP6sxstngFJqsUwUhFoc9k3acKDrPZIjTsareoCvcKu4Ic8X0V1hviiZndFhOpR8slEvs+OIHsTQfnKNTCfL9vl9BHykgptRAW01k64q79PvlbtIxjpl72aqqq0+OrYWi5HFfcwncxk83TEcjMgkIYQDA1s/jZbZyU8PCsc19ORX9HP5qb5v0M0R5SkFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8T+x4jxsg29hp4NrWsDHlq3PgPopfnz5izPwrEU32xo=;
 b=b9tHmcMuIw/doMjqGzYJwNb3VbTHQgnSNvyzp0GA6EXfRCKS+YN1FhWJOvatRHu0Eb75m9oSpgdAIfB7Wp6u3nxjWRdMgagZUKMkLoZLXRYrFxy2VxNj7F0kTIzeAalNOgux4MjYGl3fgs+QPxdoszS2+I6eE5EYXtC2t2NO2livCuqevGgVgAKVVBsTfdqW4Hvncqq8rvJLjdrtVRnNddYzrQJUUWxSwrI/uSfwPrtoGRQbrESoxN0o0Re73FZ2hyQUwRktp8TAnxSYWDRZiHXoW7tQJfa+XinHI5oaX/GcpXgxp0/Rg6fQSHdinDcMMaasFds1L9Xhv7qbhllhmQ==
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=8T+x4jxsg29hp4NrWsDHlq3PgPopfnz5izPwrEU32xo=;
 b=NDv9o+u8w347Ovn++snfiNVRGoi9kRUZToRc4xCigt9wn4ixF0BEC8vLa5bGNY19yqfuhJ878jas9VCSWzT6rqq+FP79lnqszESsE0He8HKu5XaIVJujv/n+btWu5bX7TTG0eG0znAuv8+4p6vbIH/aTPBt17kSNHo9JAQC2SGc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, 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>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>, "Jason
 Andryuk" <jason.andryuk@amd.com>
Subject: [PATCH 1/5] xen: sync elfnote.h from xen tree
Date: Wed, 10 Apr 2024 15:48:46 -0400
Message-ID: <20240410194850.39994-2-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240410194850.39994-1-jason.andryuk@amd.com>
References: <20240410194850.39994-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636C:EE_|MW4PR12MB5627:EE_
X-MS-Office365-Filtering-Correlation-Id: 9db9141e-40e4-44bc-d8d5-08dc5997439a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Wu2E9xIhxl/NYeJ1hGTh5Zf3Tf6ycEQKnQpDZ6tcFFrrRz68sqFCBH6S8dmCCw12VvQirhZwT8Cbd3XLOOynDGi7dYsAtrxm180hz5oZfaHN1eR4unrmJ6q1Lj6sl6vkAxoKwIpNOJ4KN8xX1UTxm/FeRRzIynR8eCTrFcBK3e0J0m5L6+3dVtZ5wVJtWzZoIjPwYjK3CxjdJJPVwawk7JEYPIUbY2NKqg+JH8z0lPc89tDF4rRxrVju6ddOHzQ++1sRoIIOORniqaZnr8mAW071PlFuPS4eb+N5ZU9pEeqmqWARTc6Jmi0O+TsehEXv8s0w4k2PXHjYsMjOzK0j/U85hXT7s4k+xP/e+rpwIu1w3XRWZS6CNdlOvLyLDPCwSKWCzjT2oADsOcLwWmiq4UazrL0v3AQh50aBRaerxAVhacosvSvImwxmSFDNzJ/PKd1/rrV7TWEAGPOHFK0eecbLtf8AUyHiuWR5LUnvVgC9beHs2CCp9BAfdgaV4Fkh3lFjYvuA1Hd+Og/hDI/W/YS4kn0sWR4r7Mh7EOYjBTWDyQo9veu00GNJmVF7Guw07DdYws9MuOD8p99ZhcV1OyRUpHyiHryV5LYH3mg0BSuYK+i9KNWMqvO55eZBdFIBUa1zjYtyShk6JRYccD214N8ROgnKrZV5zgZq/B7JuJTFNtZeY7i0Utft4j31V1dbHaU3IGzdHUFCX7I/OrI2j8RXfbiWAFiOT6VaTvyKaKc8FGQRKSqkoUrwxduaDyQ4fBuZwfco7d8J5gCsyK/BMg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(36860700004)(82310400014)(376005)(921011);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 19:48:58.8454
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9db9141e-40e4-44bc-d8d5-08dc5997439a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF0002636C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5627

Sync Xen's elfnote.h header from xen.git to pull in the
XEN_ELFNOTE_PHYS32_RELOC define.

xen commit dfc9fab00378 ("x86/PVH: Support relocatable dom0 kernels")

This is a copy except for the removal of the emacs editor config at the
end of the file.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 include/xen/interface/elfnote.h | 93 +++++++++++++++++++++++++++++++--
 1 file changed, 88 insertions(+), 5 deletions(-)

diff --git a/include/xen/interface/elfnote.h b/include/xen/interface/elfnote.h
index 38deb1214613..918f47d87d7a 100644
--- a/include/xen/interface/elfnote.h
+++ b/include/xen/interface/elfnote.h
@@ -11,7 +11,9 @@
 #define __XEN_PUBLIC_ELFNOTE_H__
 
 /*
- * The notes should live in a SHT_NOTE segment and have "Xen" in the
+ * `incontents 200 elfnotes ELF notes
+ *
+ * The notes should live in a PT_NOTE segment and have "Xen" in the
  * name field.
  *
  * Numeric types are either 4 or 8 bytes depending on the content of
@@ -22,6 +24,8 @@
  *
  * String values (for non-legacy) are NULL terminated ASCII, also known
  * as ASCIZ type.
+ *
+ * Xen only uses ELF Notes contained in x86 binaries.
  */
 
 /*
@@ -52,7 +56,7 @@
 #define XEN_ELFNOTE_VIRT_BASE      3
 
 /*
- * The offset of the ELF paddr field from the acutal required
+ * The offset of the ELF paddr field from the actual required
  * pseudo-physical address (numeric).
  *
  * This is used to maintain backwards compatibility with older kernels
@@ -92,7 +96,12 @@
 #define XEN_ELFNOTE_LOADER         8
 
 /*
- * The kernel supports PAE (x86/32 only, string = "yes" or "no").
+ * The kernel supports PAE (x86/32 only, string = "yes", "no" or
+ * "bimodal").
+ *
+ * For compatibility with Xen 3.0.3 and earlier the "bimodal" setting
+ * may be given as "yes,bimodal" which will cause older Xen to treat
+ * this kernel as PAE.
  *
  * LEGACY: PAE (n.b. The legacy interface included a provision to
  * indicate 'extended-cr3' support allowing L3 page tables to be
@@ -149,7 +158,9 @@
  * The (non-default) location the initial phys-to-machine map should be
  * placed at by the hypervisor (Dom0) or the tools (DomU).
  * The kernel must be prepared for this mapping to be established using
- * large pages, despite such otherwise not being available to guests.
+ * large pages, despite such otherwise not being available to guests. Note
+ * that these large pages may be misaligned in PFN space (they'll obviously
+ * be aligned in MFN and virtual address spaces).
  * The kernel must also be able to handle the page table pages used for
  * this mapping not being accessible through the initial mapping.
  * (Only x86-64 supports this at present.)
@@ -185,9 +196,81 @@
  */
 #define XEN_ELFNOTE_PHYS32_ENTRY 18
 
+/*
+ * Physical loading constraints for PVH kernels
+ *
+ * The presence of this note indicates the kernel supports relocating itself.
+ *
+ * The note may include up to three 32bit values to place constraints on the
+ * guest physical loading addresses and alignment for a PVH kernel.  Values
+ * are read in the following order:
+ *  - a required start alignment (default 0x200000)
+ *  - a minimum address for the start of the image (default 0; see below)
+ *  - a maximum address for the last byte of the image (default 0xffffffff)
+ *
+ * When this note specifies an alignment value, it is used.  Otherwise the
+ * maximum p_align value from loadable ELF Program Headers is used, if it is
+ * greater than or equal to 4k (0x1000).  Otherwise, the default is used.
+ */
+#define XEN_ELFNOTE_PHYS32_RELOC 19
+
 /*
  * The number of the highest elfnote defined.
  */
-#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_ENTRY
+#define XEN_ELFNOTE_MAX XEN_ELFNOTE_PHYS32_RELOC
+
+/*
+ * System information exported through crash notes.
+ *
+ * The kexec / kdump code will create one XEN_ELFNOTE_CRASH_INFO
+ * note in case of a system crash. This note will contain various
+ * information about the system, see xen/include/xen/elfcore.h.
+ */
+#define XEN_ELFNOTE_CRASH_INFO 0x1000001
+
+/*
+ * System registers exported through crash notes.
+ *
+ * The kexec / kdump code will create one XEN_ELFNOTE_CRASH_REGS
+ * note per cpu in case of a system crash. This note is architecture
+ * specific and will contain registers not saved in the "CORE" note.
+ * See xen/include/xen/elfcore.h for more information.
+ */
+#define XEN_ELFNOTE_CRASH_REGS 0x1000002
+
+
+/*
+ * xen dump-core none note.
+ * xm dump-core code will create one XEN_ELFNOTE_DUMPCORE_NONE
+ * in its dump file to indicate that the file is xen dump-core
+ * file. This note doesn't have any other information.
+ * See tools/libxc/xc_core.h for more information.
+ */
+#define XEN_ELFNOTE_DUMPCORE_NONE               0x2000000
+
+/*
+ * xen dump-core header note.
+ * xm dump-core code will create one XEN_ELFNOTE_DUMPCORE_HEADER
+ * in its dump file.
+ * See tools/libxc/xc_core.h for more information.
+ */
+#define XEN_ELFNOTE_DUMPCORE_HEADER             0x2000001
+
+/*
+ * xen dump-core xen version note.
+ * xm dump-core code will create one XEN_ELFNOTE_DUMPCORE_XEN_VERSION
+ * in its dump file. It contains the xen version obtained via the
+ * XENVER hypercall.
+ * See tools/libxc/xc_core.h for more information.
+ */
+#define XEN_ELFNOTE_DUMPCORE_XEN_VERSION        0x2000002
+
+/*
+ * xen dump-core format version note.
+ * xm dump-core code will create one XEN_ELFNOTE_DUMPCORE_FORMAT_VERSION
+ * in its dump file. It contains a format version identifier.
+ * See tools/libxc/xc_core.h for more information.
+ */
+#define XEN_ELFNOTE_DUMPCORE_FORMAT_VERSION     0x2000003
 
 #endif /* __XEN_PUBLIC_ELFNOTE_H__ */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:49:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:49:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703595.1099320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwT-0000vm-Lc; Wed, 10 Apr 2024 19:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703595.1099320; Wed, 10 Apr 2024 19: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 1rudwT-0000vd-Il; Wed, 10 Apr 2024 19:49:09 +0000
Received: by outflank-mailman (input) for mailman id 703595;
 Wed, 10 Apr 2024 19: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=fkSW=LP=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rudwS-0000OV-PM
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:49:08 +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 64285fb7-f773-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 21:49:08 +0200 (CEST)
Received: from SN6PR01CA0004.prod.exchangelabs.com (2603:10b6:805:b6::17) by
 CY5PR12MB6130.namprd12.prod.outlook.com (2603:10b6:930:26::12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.46; Wed, 10 Apr 2024 19:49:03 +0000
Received: from SN1PEPF0002636B.namprd02.prod.outlook.com
 (2603:10b6:805:b6:cafe::ea) by SN6PR01CA0004.outlook.office365.com
 (2603:10b6:805:b6::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.21 via Frontend
 Transport; Wed, 10 Apr 2024 19:49:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 19:49:03 +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.35; Wed, 10 Apr
 2024 14:49:03 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 14:49: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: 64285fb7-f773-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ItA2HYzklBqNdbLijzteMpEt8IpC1bHrV/OcdtY2oblEm1SpOdFX2kfpKE6Hu1jbantAJam80Xu3nspDU9ppoUWhZ8Nf/8ADQVgR8G5m7DxoJEziRbrQzNVU9cQz//XdFnyasRG6MriP2K5yRtXXBRWP4rWEwNlmEAgcFFldWfFbPHw/MVCCSRCvc8xBI0SPgfLxLa3yKPn0jBo8cSc5utR64ggaIWce9nKv13Xn7tULaHL6dMvXCaEoPkmi0QNGLDw6itJGrc6sflhZFz1HQwO0fzpbfJLKZ7R7oGqGNH9RgKUPn5EEBtn/HU8GSt1QOpw4DXwv+jKVLHPFdCb3OQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6aGShkfhPfFFWeAFRLHJuhfTDAE6nHPfx+9E7Z29HTo=;
 b=cTSirRTDi7jJFDA8LmODI4Xd1BIGOC6Hu7ZEiR0pDcqfBatghRThIGRXZXf0LoNJn8fCZe7hTBXjDLT6yggwhShpdWPBNZNAsvYA1BhdOVpBiFwVYxdIc5OObNHQQP/nJbDnwd0kaFcWdYEF1LPTCzF+gtVkfYL8U/qk2IajIzUtaY2yFtjvEnT2Pdew0TJlSzwTEBobKR617XJWqSgNLV2+4Fiy1tXL/33Qv00Af5/ld082O5Zmq9hffUCd+XHXiUXFf4tcmGJOXOmhbWvjTGjhNSTS8tgA3gCu/EqtS/W3EM6BEyAnh5neTvid8G9BW2eqzWXvt58UZwovjhbk3Q==
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=6aGShkfhPfFFWeAFRLHJuhfTDAE6nHPfx+9E7Z29HTo=;
 b=PDX50g03Uxd2jBK0see9BqGTAY1jxGn6sjyLz/Gn0OqSbYIecdV92i0mrmg3RMRilwzQdpGNlKH76KNeMSIO00ex65UkHTmYCybGmmRzrH+mR+/NlMkg79rE4eRIKIlUuhddRltHwe5rUtCTzrfU9HhYZ33cpBcEBXTTwhKO2Jc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, 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>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>, "Jason
 Andryuk" <jason.andryuk@amd.com>
Subject: [PATCH 3/5] x86/pvh: Set phys_base when calling xen_prepare_pvh()
Date: Wed, 10 Apr 2024 15:48:48 -0400
Message-ID: <20240410194850.39994-4-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240410194850.39994-1-jason.andryuk@amd.com>
References: <20240410194850.39994-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SN1PEPF0002636B:EE_|CY5PR12MB6130:EE_
X-MS-Office365-Filtering-Correlation-Id: 5b51e1fe-9d0d-4a1f-b88d-08dc5997465f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XVBm9L2PuCo/0Qc+UBqidKjVjR1Ng3tgNhwQm5HXMaeH1RzxriqOARAJ0wvTRznI28+gqoR72iS1SJBtWk8uWhF/zTU9wm8nOK9KftL7vv+3kyo6gJZalot8BbqAnUokwL6joS1OY7XCH5/aCwO6ujkF83zBTJkBB/hneMBhr4KBdw+z1zrXOx5viON23J14BXMYoiWmT3Y9oiife+5ZgiHbj0pY+ZdN+F1tjEbwIywATO8fNB/AKtfipu/ZScNwmohwCZcJxinf2jkF5k3kg/OaOiuFVflTPhaCBRES8l5pahuURX6g2jAC5b05DqzlYYzK7HdWGSJ9Se1WJnbcKcwf19Pyt0+boLne/t639/xphIfYZdYXVa7dmrup/UbKjtQ+zTOtAHjyqiN4LAf9bfbapQuaAdL0ZkI+UVuvmDMQKn8YprZkO3wWtAAsJFJCNRiQk/bD3EFlftYgOBAMz2MXkXRX63THgzXXcSWEzsk5qGhU9V3i+p95RmAUXLTV6hdcEwy8mn8b9rMskUB2sI6M5A+UPta/dXj4sT+/UeLQpWWHobcfT8eFQD9KI03QC3PGbUmbdsZOsoYBds862k8gfuKtDzFHDxyNY70Mr3gVMxn04d/YLqFSahTa395tjyVcRCOYP6pYRNT10hbVL9HkS7aumNPO10Im6csoKoLdbOXEN5rBBx9ixqnSmpvlUSTYNFkZAAybn9iX9vtnVQw+sW3/2Ake2M7jMRCCg++ZoDLNRX3N0bc4DBfoS6H4amMHVxvNRjCe5bnQDPG4gg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(82310400014)(376005)(36860700004)(921011);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 19:49:03.4754
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b51e1fe-9d0d-4a1f-b88d-08dc5997465f
X-MS-Exchange-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:
	SN1PEPF0002636B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6130

phys_base needs to be set for __pa() to work in xen_pvh_init() when
finding the hypercall page.  Set it before calling into
xen_prepare_pvh(), which calls xen_pvh_init().  Clear it afterward to
avoid __startup_64() adding to it and creating an incorrect value.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
Instead of setting and clearing phys_base, a dedicated variable could be
used just for the hypercall page.  Having phys_base set properly may
avoid further issues if the use of phys_base or __pa() grows.
---
 arch/x86/platform/pvh/head.S | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index bb1e582e32b1..c08d08d8cc92 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -125,7 +125,17 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	xor %edx, %edx
 	wrmsr
 
+	/* Calculate load offset from LOAD_PHYSICAL_ADDR and store in
+	 * phys_base.  __pa() needs phys_base set to calculate the
+	 * hypercall page in xen_pvh_init(). */
+	movq %rbp, %rbx
+	subq $LOAD_PHYSICAL_ADDR, %rbx
+	movq %rbx, phys_base(%rip)
 	call xen_prepare_pvh
+	/* 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 rva(pvh_bootparams)(%ebp), %rsi
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:49:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703596.1099330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwW-0001D0-0g; Wed, 10 Apr 2024 19:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703596.1099330; Wed, 10 Apr 2024 19: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 1rudwV-0001Cs-TM; Wed, 10 Apr 2024 19:49:11 +0000
Received: by outflank-mailman (input) for mailman id 703596;
 Wed, 10 Apr 2024 19:49: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=fkSW=LP=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rudwV-0001Ay-1P
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:49:11 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2418::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 643ed77f-f773-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 21:49:08 +0200 (CEST)
Received: from SN6PR05CA0029.namprd05.prod.outlook.com (2603:10b6:805:de::42)
 by DM4PR12MB5986.namprd12.prod.outlook.com (2603:10b6:8:69::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 19:49:03 +0000
Received: from SA2PEPF00001506.namprd04.prod.outlook.com
 (2603:10b6:805:de:cafe::8c) by SN6PR05CA0029.outlook.office365.com
 (2603:10b6:805:de::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 19:49:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00001506.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 19:49:01 +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.35; Wed, 10 Apr
 2024 14:49:01 -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.35; Wed, 10 Apr
 2024 14:49:00 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 14:48: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: 643ed77f-f773-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JAEFP7xCU3nCE5az1K0l/P8vq2pbvhqJyl78vO8I0fqu+pViAe6j9FbXgj7tgEnMtV+weEk9TmfOlMfg+0SW62Egne2iVR0o+TD9ghqPj9FkuO0OaPdzeeFP0u/M3+/QQ1BaZBys8TgeKhBGKQ6csnku29ZH5esO0Dpkj5a2oRXZAkjGns9Cy5HOpkWkQLI/n1bsGvUa12nepu6FiiLvVkFn1p8Eingx4MjSEKBbeQbsIKNuJGM1WmIdD2oePKAJBXAqmdunGCHB0evfjF1O0WiSsZpkJ6EteQqX24cCFUqWEz7iFuahbALjw6KSRv8RtVUaojdYvP3Azwnru+bI8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HkbpZW9hMkc53U7U+wRYozFG0AyYVfEuOqSKx2pbsjo=;
 b=m2ixDhHsgYrIRUqb/WPyvfaP49yCSDvdfwMPmC7F3ekCZma1WFgqEmcStgfzYYgRWynPCpxNfGFRsab3Vq51s2DPnOa0Jl9MeKyyY7sEMapC8YGvkEWhx6HwrXYJ2ND19FCP/MPbU9C1cq1ktjqjBdrtQ/RsobySnd/TAp1+i6NjvZHau/tom9NM/uX2S+rcHRleA07qFqF7pgvsanSRn05SW4yiXh0tVExk3ehbN4fCmIk2mhLV0igkwJsmtPTZZRiOcMd9y+wVSLNgQCNS1V7KDbQCvGmOtWZAXIGDSCTK3e3G1tQYFQ8HbKhyRpy+WGIDThruSC0BEBgyJkuONA==
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=HkbpZW9hMkc53U7U+wRYozFG0AyYVfEuOqSKx2pbsjo=;
 b=ApsEdYA5s63vSjsSGnBGBiGyf1oCwla8ipRXAswsyfcXsgnz6P1z1DsPf+yGp6iAFy7AavmCZxe7wjpVJS/GN7+Ed4rfeLAorHo6bSXrPyTFTLzP9e6iZ2inMxjO3wkcOGD882lQSK30YqA4rCGq7/LE7sHHz0eajS+IcAJSMOU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Jason Andryuk <jason.andryuk@amd.com>
To: 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>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>, "Jason
 Andryuk" <jason.andryuk@amd.com>
Subject: [PATCH 2/5] x86/pvh: Make PVH entrypoint PIC for x86-64
Date: Wed, 10 Apr 2024 15:48:47 -0400
Message-ID: <20240410194850.39994-3-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240410194850.39994-1-jason.andryuk@amd.com>
References: <20240410194850.39994-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001506:EE_|DM4PR12MB5986:EE_
X-MS-Office365-Filtering-Correlation-Id: e5af0b23-221b-4d88-41f3-08dc59974539
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M4J5Yl9NB++fZpNjgzq0ZJOqlEasUG7FhFUaICwBwScpv7DxbuFM5QA9lbeKoYGULPpalbck66dZi/5Ex8aGYLfNHr6TU+F75utTzN3wED24jhjtGTesSXdRZTpzA60Oun+EOU05JbJCKl8QRzuM7lkk5aQfct9sYY0olKJSPEEPkHSPIqeRPFy31hSzkjeMNsZLA2XwGXdR/T6EGDOc2FULmTAHcDJbAdhCkN5YrUHUyZ8V3nRmWd/2afw0LzeVInadOx/wbvhiFFepiwrsXUAGr9WTBgRU7xjVexwPKDYVBo6Z+9Pk+XX3AfVheA5teNKF/iDKUtiDRP0LK/xYGyIAkbK1KbJAVDnXvqpCz0RbTi7zQzN5flZapbuBfj3+thz/TeK1XkfVaLXw4Y7mg2Q/MKNFc6G5Sate1bDubaDv2wlx/9jf6Z/Nh+6Pe6V7h3jVUzCQ+d6bIc5VTorGNtenDxegsroDJ8Gmp5MTr7EomZtDmejvbsMveb6XE87sF5fBYYAyh5+hO4wiD6KMNorAZyIrZoeXZsLroK5Wvy2i38kEDEylWXUh5yHu/Iliafzuv7Kbd6G/drK44k60LbPh03LfDJ/iXBq9g3aPVjFt8xMoW9rF4de6wdL34ktXipjl7UQNwn2H1aLJzdgsgsjOAlGtYQkyIcPgGzz24GJ2A91BJlFJbN5HcNIJKC+9tCbHBKKHgFXX449ZMEIsUVY1GSP3rHzd1dB0Frhx/OHxKRoaYQ0YfjpP1aVyQT7SvTuEdClIRwedoGjBaOJRUg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(7416005)(82310400014)(1800799015)(36860700004)(921011);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 19:49:01.5456
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5af0b23-221b-4d88-41f3-08dc59974539
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00001506.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5986

The PVH entrypoint is 32bit non-PIC code running the uncompressed
vmlinux at its load address CONFIG_PHYSICAL_START - default 0x1000000
(16MB).  The kernel is loaded at that physical address inside the VM by
the VMM software (Xen/QEMU).

When running a Xen PVH Dom0, the host reserved addresses are mapped 1-1
into the PVH container.  There exist system firmwares (Coreboot/EDK2)
with reserved memory at 16MB.  This creates a conflict where the PVH
kernel cannot be loaded at that address.

Modify the PVH entrypoint to be position-indepedent to allow flexibility
in load address.  Only the 64bit entry path is converted.  A 32bit
kernel is not PIC, so calling into other parts of the kernel, like
xen_prepare_pvh() and mk_pgtable_32(), don't work properly when
relocated.

This makes the code PIC, but the page tables need to be updated as well
to handle running from the kernel high map.

The UNWIND_HINT_END_OF_STACK is to silence:
vmlinux.o: warning: objtool: pvh_start_xen+0x7f: unreachable instruction
after the lret into 64bit code.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
---
 arch/x86/platform/pvh/head.S | 44 ++++++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 10 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index f7235ef87bc3..bb1e582e32b1 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -7,6 +7,7 @@
 	.code32
 	.text
 #define _pa(x)          ((x) - __START_KERNEL_map)
+#define rva(x)          ((x) - pvh_start_xen)
 
 #include <linux/elfnote.h>
 #include <linux/init.h>
@@ -54,7 +55,25 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	UNWIND_HINT_END_OF_STACK
 	cld
 
-	lgdt (_pa(gdt))
+	/*
+	 * See the comment for startup_32 for more details.  We need to
+	 * execute a call to get the execution address to be position
+	 * independent, but we don't have a stack.  Save and restore the
+	 * magic field of start_info in ebx, and use that as the stack.
+	 */
+	mov  (%ebx), %eax
+	leal 4(%ebx), %esp
+	ANNOTATE_INTRA_FUNCTION_CALL
+	call 1f
+1:	popl %ebp
+	mov  %eax, (%ebx)
+	subl $rva(1b), %ebp
+	movl $0, %esp
+
+	leal rva(gdt)(%ebp), %eax
+	leal rva(gdt_start)(%ebp), %ecx
+	movl %ecx, 2(%eax)
+	lgdt (%eax)
 
 	mov $PVH_DS_SEL,%eax
 	mov %eax,%ds
@@ -62,14 +81,14 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	mov %eax,%ss
 
 	/* Stash hvm_start_info. */
-	mov $_pa(pvh_start_info), %edi
+	leal rva(pvh_start_info)(%ebp), %edi
 	mov %ebx, %esi
-	mov _pa(pvh_start_info_sz), %ecx
+	movl rva(pvh_start_info_sz)(%ebp), %ecx
 	shr $2,%ecx
 	rep
 	movsl
 
-	mov $_pa(early_stack_end), %esp
+	leal rva(early_stack_end)(%ebp), %esp
 
 	/* Enable PAE mode. */
 	mov %cr4, %eax
@@ -84,28 +103,33 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	wrmsr
 
 	/* Enable pre-constructed page tables. */
-	mov $_pa(init_top_pgt), %eax
+	leal rva(init_top_pgt)(%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)
+	pushl $PVH_CS_SEL
+	leal  rva(1f)(%ebp), %eax
+	pushl %eax
+	lretl
 
 	/* 64-bit entry point. */
 	.code64
 1:
+	UNWIND_HINT_END_OF_STACK
+
 	/* Set base address in stack canary descriptor. */
 	mov $MSR_GS_BASE,%ecx
-	mov $_pa(canary), %eax
+	leal rva(canary)(%ebp), %eax
 	xor %edx, %edx
 	wrmsr
 
 	call xen_prepare_pvh
 
 	/* startup_64 expects boot_params in %rsi. */
-	mov $_pa(pvh_bootparams), %rsi
-	mov $_pa(startup_64), %rax
+	lea rva(pvh_bootparams)(%ebp), %rsi
+	lea rva(startup_64)(%ebp), %rax
 	ANNOTATE_RETPOLINE_SAFE
 	jmp *%rax
 
@@ -143,7 +167,7 @@ SYM_CODE_END(pvh_start_xen)
 	.balign 8
 SYM_DATA_START_LOCAL(gdt)
 	.word gdt_end - gdt_start
-	.long _pa(gdt_start)
+	.long _pa(gdt_start) /* x86-64 will overwrite if relocated. */
 	.word 0
 SYM_DATA_END(gdt)
 SYM_DATA_START_LOCAL(gdt_start)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:49:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:49:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703598.1099340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwd-0001fy-Ay; Wed, 10 Apr 2024 19:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703598.1099340; Wed, 10 Apr 2024 19:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwd-0001fk-5p; Wed, 10 Apr 2024 19:49:19 +0000
Received: by outflank-mailman (input) for mailman id 703598;
 Wed, 10 Apr 2024 19:49:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fkSW=LP=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rudwb-0001Ay-K5
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:49:17 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6816fd59-f773-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 21:49:15 +0200 (CEST)
Received: from SN7PR04CA0214.namprd04.prod.outlook.com (2603:10b6:806:127::9)
 by BL1PR12MB5780.namprd12.prod.outlook.com (2603:10b6:208:393::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 19:49:10 +0000
Received: from SN1PEPF0002636E.namprd02.prod.outlook.com
 (2603:10b6:806:127:cafe::fe) by SN7PR04CA0214.outlook.office365.com
 (2603:10b6:806:127::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 19:49:10 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636E.mail.protection.outlook.com (10.167.241.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 19:49:10 +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.35; Wed, 10 Apr
 2024 14:49:09 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 14:49: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: 6816fd59-f773-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HeXhF0Gq8r5kfAGnxVhbsDAsPXAiEhZ3WOCglTzGxMVBt7IUnbgrGoE59QLOTuWVBOfk9P5iyJTyIECkn5SN6eXqVEBOi/9OqY8oqIwCrQvPc1s9Z3CQaPRe2ulOWO3GekTaZiqzqNUNLmWRIHQahY+lUrg7UBCHnCPCWDNXjjSaMFGef7LVCeyli4pn0W5yhB9aEol45zE0AlKAqcsOw+ooWNAsv10Tl09kOH2Yp8Lh6vPwGIQprto+c7zglPbDb2J8uvl/dbzoxgJOwTW84c/ifuoUQ6zTObslfYLzjPJ1FryNuW/i6MGwlZF97AelwYua0ifgR8P5V7r81O3Kww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NJcvBdWX17XntXG7nnPBUo+yiX3g7hqZkIUkQ22tiy8=;
 b=ZPrAw+Qyj83DqJhQ1xW44DUWMnn6+/1hcXhx90u02/lO5kCNFgbLVODdx5LS3oVyh65O3EcYL97TGNiuZ8ur7NrdYQF5VkaqZaRS/tOhcLvek0mXEkTPtx51aDRB49UDPezCmFTVm0RJurcqEcNFBAuvtIlPO7o6f4922qPaW/Fu5gHsykCq/gcFaSDAt+dC0REYrLGXpFuGMS/qvTMYWXHpsPV0n3l5FadEK8IFVAnCw2k5JIhaS/Z+tRonny7WYXDoE9rPl4ljwWf0yfD+xa3YeugILLjNV+R9rue3dliKvxwkG+D69eCArUqpL5trPndWqbLSgQYRd+2szA9WHg==
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=NJcvBdWX17XntXG7nnPBUo+yiX3g7hqZkIUkQ22tiy8=;
 b=WzpIdH2Z3wBMrgtb52wZ+6MJNT76sDX58kBQB9y8ak/ShILVBAeJiHExU0343Z/uQq7E7Go9otCJKaEq8hIChUtTqY1OjySaocJ8yFiyC25gLkYBhwIes/Q9Y5YinyRNJGauBNuyubVdZ8ZpYdfPvmMQjXVrHUd8lzrLdnVxXz8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, 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>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>, "Jason
 Andryuk" <jason.andryuk@amd.com>
Subject: [PATCH 5/5] x86/pvh: Add 64bit relocation page tables
Date: Wed, 10 Apr 2024 15:48:50 -0400
Message-ID: <20240410194850.39994-6-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240410194850.39994-1-jason.andryuk@amd.com>
References: <20240410194850.39994-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SN1PEPF0002636E:EE_|BL1PR12MB5780:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d54aceb-29a4-4713-b9f4-08dc59974a6b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7pezkZQ//Se4v0JvD3x4hLYAlIKS3Bh/TWtA8kWmz8yBAAX9Ehu0NYlbuUwnwGyu45WGKNbu4xrGE2nOFjuxmulLWFL2wfwIBrUmYzJZj8Ou4xQuqSmBHo6ut4k1jJkp7VIyKAcLqGYJIwIw8o+6DlGTNuwatYdhnzUI2mRXVCOtYeS/9xHXrnJ91uAKygIrx2NWq2/Y30FSI6gFKjvPv+PjPw6zqff2+0GvGpVxIYvWrqKD0CdASF4gfPzGeFW9rlA6n4Y494lRdvxfj211AQENQ0t+NnAP4/GHiHodSnXWNeEgaAD8cwFa7nh126jhhZaZtvPqyHvpGh8wlmiM/g8qyKgQpCwJQtu/txNg+l7ATuqPu0KmzhqFNANYR9j1Sc/c2g2T6Bg9GVyP8QDXRTXm9aR64yI7mXyANnghBopD0zfIcmBKUPgfG6FjL6RTyzxhtbL7UmMPEJqy821hFIiVqiFqQlRqAirbLnYgLgUwoczspEdfhiD8zPRXRl0jzzsYygy+p8Ns+v/9HcqWJXNctEbSEyN8gxfEqJgOfwYdv8KzWbu85WtYJrBA+p4jARwVO2RxpSBRn3xdqwolJs7SNMg303x8S6eFA4IY3xQdbFTbyVBh0sLYK7JDXEvJgoJz/S5cKGa3e+EGo3SfAYXlnu9d4avPOVoBOPii4667QBVo6KKM+HZ38Xq01wx7JuVe1lEzJodH5sLKdW6/7GXTQDITQ4xHbloT8lxasBfw7Gglx69jUgEnfBjsFOS6DIAPJyPNg2N2r7sUmL6w6Q==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(82310400014)(36860700004)(376005)(921011);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 19:49:10.2650
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d54aceb-29a4-4713-b9f4-08dc59974a6b
X-MS-Exchange-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:
	SN1PEPF0002636E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5780

The PVH entry point is 32bit.  For a 64bit kernel, the entry point must
switch to 64bit mode, which requires a set of page tables.  In the past,
PVH used init_top_pgt.

This works fine when the kernel is loaded at LOAD_PHYSICAL_ADDR, as the
page tables are prebuilt for this address.  If the kernel is loaded at a
different address, they need to be adjusted.

__startup_64() adjusts the prebuilt page tables for the physical load
address, but it is 64bit code.  The 32bit PVH entry code can't call it
to adjust the page tables, so it can't readily be re-used.

64bit PVH entry needs page tables set up for identity map, the kernel
high map and the direct map.  pvh_start_xen() enters identity mapped.
Inside xen_prepare_pvh(), it jumps through a pv_ops function pointer
into the highmap.  The direct map is used for __va() on the initramfs
and other guest physical addresses.

Add a dedicated set of prebuild page tables for PVH entry.  They are
adjusted in assembly before loading.

Add XEN_ELFNOTE_PHYS32_RELOC to indicate support for relocation
along with the kernel's loading constraints.  The maximum load address,
KERNEL_IMAGE_SIZE - 1, is determined by a single pvh_level2_ident_pgt
page.  It could be larger with more pages.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
Instead of adding 5 pages of prebuilt page tables, they could be
contructed dynamically in the .bss area.  They are then only used for
PVH entry and until transitioning to init_top_pgt.  The .bss is later
cleared.  It's safer to add the dedicated pages, so that is done here.
---
 arch/x86/platform/pvh/head.S | 105 ++++++++++++++++++++++++++++++++++-
 1 file changed, 104 insertions(+), 1 deletion(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index c08d08d8cc92..4af3cfbcf2f8 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -21,6 +21,8 @@
 #include <asm/nospec-branch.h>
 #include <xen/interface/elfnote.h>
 
+#include "../kernel/pgtable_64_helpers.h"
+
 	__HEAD
 
 /*
@@ -102,8 +104,47 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	btsl $_EFER_LME, %eax
 	wrmsr
 
+	mov %ebp, %ebx
+	subl $LOAD_PHYSICAL_ADDR, %ebx /* offset */
+	jz .Lpagetable_done
+
+	/* Fixup page-tables for relocation. */
+	leal rva(pvh_init_top_pgt)(%ebp), %edi
+	movl $512, %ecx
+2:
+	testl $_PAGE_PRESENT, 0x00(%edi)
+	jz 1f
+	addl %ebx, 0x00(%edi)
+1:
+	addl $8, %edi
+	decl %ecx
+	jnz 2b
+
+	/* L3 ident has a single entry. */
+	leal rva(pvh_level3_ident_pgt)(%ebp), %edi
+	addl %ebx, 0x00(%edi)
+
+	leal rva(pvh_level3_kernel_pgt)(%ebp), %edi
+	addl %ebx, (4096 - 16)(%edi)
+	addl %ebx, (4096 - 8)(%edi)
+
+	/* pvh_level2_ident_pgt is fine - large pages */
+
+	/* pvh_level2_kernel_pgt needs adjustment - large pages */
+	leal rva(pvh_level2_kernel_pgt)(%ebp), %edi
+	movl $512, %ecx
+2:
+	testl $_PAGE_PRESENT, 0x00(%edi)
+	jz 1f
+	addl %ebx, 0x00(%edi)
+1:
+	addl $8, %edi
+	decl %ecx
+	jnz 2b
+
+.Lpagetable_done:
 	/* Enable pre-constructed page tables. */
-	leal rva(init_top_pgt)(%ebp), %eax
+	leal rva(pvh_init_top_pgt)(%ebp), %eax
 	mov %eax, %cr3
 	mov $(X86_CR0_PG | X86_CR0_PE), %eax
 	mov %eax, %cr0
@@ -197,5 +238,67 @@ SYM_DATA_START_LOCAL(early_stack)
 	.fill BOOT_STACK_SIZE, 1, 0
 SYM_DATA_END_LABEL(early_stack, SYM_L_LOCAL, early_stack_end)
 
+#ifdef CONFIG_X86_64
+/*
+ * Xen PVH needs a set of identity mapped and kernel high mapping
+ * page tables.  pvh_start_xen starts running on the identity mapped
+ * page tables, but xen_prepare_pvh calls into the high mapping.
+ * These page tables need to be relocatable and are only used until
+ * startup_64 transitions to init_top_pgt.
+ */
+SYM_DATA_START_PAGE_ALIGNED(pvh_init_top_pgt)
+	.quad   pvh_level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
+	.org    pvh_init_top_pgt + L4_PAGE_OFFSET*8, 0
+	.quad   pvh_level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
+	.org    pvh_init_top_pgt + L4_START_KERNEL*8, 0
+	/* (2^48-(2*1024*1024*1024))/(2^39) = 511 */
+	.quad   pvh_level3_kernel_pgt - __START_KERNEL_map + _PAGE_TABLE_NOENC
+SYM_DATA_END(pvh_init_top_pgt)
+
+SYM_DATA_START_PAGE_ALIGNED(pvh_level3_ident_pgt)
+	.quad	pvh_level2_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
+	.fill	511, 8, 0
+SYM_DATA_END(pvh_level3_ident_pgt)
+SYM_DATA_START_PAGE_ALIGNED(pvh_level2_ident_pgt)
+	/*
+	 * Since I easily can, map the first 1G.
+	 * Don't set NX because code runs from these pages.
+	 *
+	 * Note: This sets _PAGE_GLOBAL despite whether
+	 * the CPU supports it or it is enabled.  But,
+	 * the CPU should ignore the bit.
+	 */
+	PMDS(0, __PAGE_KERNEL_IDENT_LARGE_EXEC, PTRS_PER_PMD)
+SYM_DATA_END(pvh_level2_ident_pgt)
+SYM_DATA_START_PAGE_ALIGNED(pvh_level3_kernel_pgt)
+	.fill	L3_START_KERNEL,8,0
+	/* (2^48-(2*1024*1024*1024)-((2^39)*511))/(2^30) = 510 */
+	.quad	pvh_level2_kernel_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
+	.quad	0 /* no fixmap */
+SYM_DATA_END(pvh_level3_kernel_pgt)
+
+SYM_DATA_START_PAGE_ALIGNED(pvh_level2_kernel_pgt)
+	/*
+	 * Kernel high mapping.
+	 *
+	 * The kernel code+data+bss must be located below KERNEL_IMAGE_SIZE in
+	 * virtual address space, which is 1 GiB if RANDOMIZE_BASE is enabled,
+	 * 512 MiB otherwise.
+	 *
+	 * (NOTE: after that starts the module area, see MODULES_VADDR.)
+	 *
+	 * This table is eventually used by the kernel during normal runtime.
+	 * Care must be taken to clear out undesired bits later, like _PAGE_RW
+	 * or _PAGE_GLOBAL in some cases.
+	 */
+	PMDS(0, __PAGE_KERNEL_LARGE_EXEC, KERNEL_IMAGE_SIZE/PMD_SIZE)
+SYM_DATA_END(pvh_level2_kernel_pgt)
+
+	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_RELOC,
+		     .long CONFIG_PHYSICAL_ALIGN;
+		     .long LOAD_PHYSICAL_ADDR;
+		     .long KERNEL_IMAGE_SIZE - 1)
+#endif
+
 	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY,
 	             _ASM_PTR (pvh_start_xen - __START_KERNEL_map))
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 19:49:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 19:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703599.1099350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rudwe-0001wu-IH; Wed, 10 Apr 2024 19:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703599.1099350; Wed, 10 Apr 2024 19: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 1rudwe-0001wf-Ee; Wed, 10 Apr 2024 19:49:20 +0000
Received: by outflank-mailman (input) for mailman id 703599;
 Wed, 10 Apr 2024 19: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=fkSW=LP=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rudwc-0001Ay-KC
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 19:49:18 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e88::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 684399ec-f773-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 21:49:15 +0200 (CEST)
Received: from SN7PR04CA0232.namprd04.prod.outlook.com (2603:10b6:806:127::27)
 by SJ1PR12MB6241.namprd12.prod.outlook.com (2603:10b6:a03:458::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.45; Wed, 10 Apr
 2024 19:49:09 +0000
Received: from SN1PEPF0002636E.namprd02.prod.outlook.com
 (2603:10b6:806:127:cafe::77) by SN7PR04CA0232.outlook.office365.com
 (2603:10b6:806:127::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 19:49:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636E.mail.protection.outlook.com (10.167.241.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 19:49:06 +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.35; Wed, 10 Apr
 2024 14:49:06 -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.35; Wed, 10 Apr
 2024 14:49:05 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 14:49: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: 684399ec-f773-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KG88tcF5mZFhJM9eOoIzRKCF50WcxyC3ktn7v/8C4g0ept1S2pellel2FVUtjx3+OlBLvTNllI8+NJLRPm5+A4z81GKDCJ2VKz454N+FqYj3r7AzDRJ/LTc5/8f+bk0N8AUhDZtapEBLV60mvGwyj0jgJibayKVpvNUTxi4+L5MjMhphOKzKVZjEudwgfsImapek7rp93mve4SzpKIkovfpnCIaD14v3NkniQvqmDTIjRofpVQsu3nF68TbRQuqlvHH2zj+cv8CUUoGIzbil+EfP2w+lZbpDX0B4coCJLCZbSZwLLDCdyIS3N0eyUnOs1Vr/JgiO6pCnLD8CH/i8TA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+9P1w22kGcM/YIuzXKmy4d/dILHBo+JSHWpnaF5lHxI=;
 b=Kvy5cNQMbP8c9m9UkupV/4wDFkyxFsqu3RdXhthqpkJLTQ3C5xP1Uz5t76b2qY1xhDL2Hjf8GsMIwvaFP/KtcEvoB4reGNDyVW12u1xFquLVnr5IuRp5fsFHLn8uJi20OOoM+iVnKk6DX4gvVFgBs2YlS3XtWN19BcoyacpzS5M0JlnZWHdstjakaWRwXmZP4E2fQcXmKZSFX66Ov0LbM02knpfLmh3s/7U502L25XaFdtAlrSVWa222BE/ZJQT6amsrUKXjKl+3f1riavLT3NZG/DBe1g8Tsg7TzQ9o5gkiQmcg1VdTgGgFKpOqKG+fEf0IbOchpInIA1Z0WrRVEw==
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=+9P1w22kGcM/YIuzXKmy4d/dILHBo+JSHWpnaF5lHxI=;
 b=hgFOFrCvhL9sO4gdpg9+idWmMu9igWCc8YjVuvG0kymR4hlYpHr1Erddv1ixHQkqZnlHLiu2y/df15gTjqEJPLuQouxZRVpkgiHykoCDWYOwIYEWoKhW57mvRHNHMWnCWqgDRbFW1hGCqSom4xIlnRbBoysnqt0TWqc/XL4d6u8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, 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>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>, "Jason
 Andryuk" <jason.andryuk@amd.com>
Subject: [PATCH 4/5] x86/kernel: Move page table macros to new header
Date: Wed, 10 Apr 2024 15:48:49 -0400
Message-ID: <20240410194850.39994-5-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240410194850.39994-1-jason.andryuk@amd.com>
References: <20240410194850.39994-1-jason.andryuk@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636E:EE_|SJ1PR12MB6241:EE_
X-MS-Office365-Filtering-Correlation-Id: 67010e63-3262-47d2-bed8-08dc5997482a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lf6/4YNvxFSy7vaTA8J4dp6W5kXrhwYlfGr9FCsr7ApDv9IUFrHysrkaFw6t6jWIyXvg0Y/1z0KAXiYx4ITzlC6qLtcqlGumsDkSPRhzxEdSIIKw2SrC1GCFCQGHaDucBVENGlmUZL4TN4pJjH11zbo60Ti49YeJvBQeWBDTwtoA6FIPKUtJKeRURbPBS22oYOpW83Flh/DjuigvFyTeZMzLXqfcADTLzpNP4ZCpBziAS3kcgCrEWMClb/eK+wW0321UwneJftdxtAt81EeFgusPO6WqFe++sh3dkAKsrDkmslnvwXdibJRNqbzk5286l3RwmWebWG+6BJumsehPaDdL1SVA5pGVTJOWJge/iq75ngKzGXLjjGgECmJJSxc7pmbHU7BqR2K8+vsbOqzv3pQskyCCcjOJGyOIxNX2QDTt929+O5mmWyPSW0U2QWUdlp1X+vH1zrI9tGNA/IZPhto5mG1X+N63uBYo+cxLeZDdHvicuW2WWCRABBvCrm09uO4TiCT8wXbDk1d7qnNNLbxEBYkPL1KgOkRdLz9h405rS40SBCTdZhKcFnRfXIalmy7gKGRODBMlUTPi5i9yIhzFR/hqV92XpOGQp9/ByR3++pHHQ/03LjdlGY3TQ85YaqO3OZVmCxCiarAcqiy/JygLO2cPMJKU45P8WEkz2CmysSdyiMvTlGLe5q5kyz3C9lPCtcFHdfsL6diib/xMdfiX5F8IuXXq5Ylr0bhWjgCrpdkrCo7Lq4yQymIDI4Y685QyBa29GckKspg+aP1Kag==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(7416005)(36860700004)(1800799015)(376005)(921011);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 19:49:06.4837
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 67010e63-3262-47d2-bed8-08dc5997482a
X-MS-Exchange-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:
	SN1PEPF0002636E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6241

The PVH entry point will need an additional set of prebuild page tables.
Move the macros and defines to a new header so they can be re-used.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
checkpatch.pl gives an error: "ERROR: Macros with multiple statements
should be enclosed in a do - while loop" about the moved PMDS macro.
But PMDS is an assembler macro, so its not applicable.
---
 arch/x86/kernel/head_64.S            | 22 ++--------------------
 arch/x86/kernel/pgtable_64_helpers.h | 28 ++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 20 deletions(-)
 create mode 100644 arch/x86/kernel/pgtable_64_helpers.h

diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index d4918d03efb4..4b036f3220f2 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -27,17 +27,12 @@
 #include <asm/fixmap.h>
 #include <asm/smp.h>
 
+#include "pgtable_64_helpers.h"
+
 /*
  * We are not able to switch in one step to the final KERNEL ADDRESS SPACE
  * because we need identity-mapped pages.
  */
-#define l4_index(x)	(((x) >> 39) & 511)
-#define pud_index(x)	(((x) >> PUD_SHIFT) & (PTRS_PER_PUD-1))
-
-L4_PAGE_OFFSET = l4_index(__PAGE_OFFSET_BASE_L4)
-L4_START_KERNEL = l4_index(__START_KERNEL_map)
-
-L3_START_KERNEL = pud_index(__START_KERNEL_map)
 
 	.text
 	__HEAD
@@ -619,9 +614,6 @@ SYM_CODE_START_NOALIGN(vc_no_ghcb)
 SYM_CODE_END(vc_no_ghcb)
 #endif
 
-#define SYM_DATA_START_PAGE_ALIGNED(name)			\
-	SYM_START(name, SYM_L_GLOBAL, .balign PAGE_SIZE)
-
 #ifdef CONFIG_PAGE_TABLE_ISOLATION
 /*
  * Each PGD needs to be 8k long and 8k aligned.  We do not
@@ -643,14 +635,6 @@ SYM_CODE_END(vc_no_ghcb)
 #define PTI_USER_PGD_FILL	0
 #endif
 
-/* Automate the creation of 1 to 1 mapping pmd entries */
-#define PMDS(START, PERM, COUNT)			\
-	i = 0 ;						\
-	.rept (COUNT) ;					\
-	.quad	(START) + (i << PMD_SHIFT) + (PERM) ;	\
-	i = i + 1 ;					\
-	.endr
-
 	__INITDATA
 	.balign 4
 
@@ -749,8 +733,6 @@ SYM_DATA_START_PAGE_ALIGNED(level1_fixmap_pgt)
 	.endr
 SYM_DATA_END(level1_fixmap_pgt)
 
-#undef PMDS
-
 	.data
 	.align 16
 
diff --git a/arch/x86/kernel/pgtable_64_helpers.h b/arch/x86/kernel/pgtable_64_helpers.h
new file mode 100644
index 000000000000..0ae87d768ce2
--- /dev/null
+++ b/arch/x86/kernel/pgtable_64_helpers.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __PGTABLES_64_H__
+#define __PGTABLES_64_H__
+
+#ifdef __ASSEMBLY__
+
+#define l4_index(x)	(((x) >> 39) & 511)
+#define pud_index(x)	(((x) >> PUD_SHIFT) & (PTRS_PER_PUD-1))
+
+L4_PAGE_OFFSET = l4_index(__PAGE_OFFSET_BASE_L4)
+L4_START_KERNEL = l4_index(__START_KERNEL_map)
+
+L3_START_KERNEL = pud_index(__START_KERNEL_map)
+
+#define SYM_DATA_START_PAGE_ALIGNED(name)			\
+	SYM_START(name, SYM_L_GLOBAL, .balign PAGE_SIZE)
+
+/* Automate the creation of 1 to 1 mapping pmd entries */
+#define PMDS(START, PERM, COUNT)			\
+	i = 0 ;						\
+	.rept (COUNT) ;					\
+	.quad	(START) + (i << PMD_SHIFT) + (PERM) ;	\
+	i = i + 1 ;					\
+	.endr
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __PGTABLES_64_H__ */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 20:11:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 20:11:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703625.1099359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rueHg-0000A2-HL; Wed, 10 Apr 2024 20:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703625.1099359; Wed, 10 Apr 2024 20:11:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rueHg-00009s-Et; Wed, 10 Apr 2024 20:11:04 +0000
Received: by outflank-mailman (input) for mailman id 703625;
 Wed, 10 Apr 2024 20:11:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rueHf-00009h-18; Wed, 10 Apr 2024 20:11:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rueHe-0001eD-Uo; Wed, 10 Apr 2024 20:11: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 1rueHe-0005th-L8; Wed, 10 Apr 2024 20:11:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rueHe-0002mb-Kh; Wed, 10 Apr 2024 20:11:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fH0xX40ZkdG9+KsJxWnkj6VyKLtr4hW7t742qYVdArs=; b=gwIVLiJwJQqBMJnEUnqxp3g+/q
	EQG/rx5rdD6D70ezV3OvLaJfDDZOnTi5nt8p0E7ovudcMXj411G4XlI0iEAkNKGQZYngzaP4VXMSw
	wUF/eRzbSrkvTenea8ro5vb2gybJqcDVF9wUB+QSXbGONT313ZEdeYfNiNwktk8Hc5Js=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185295-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185295: regressions - FAIL
X-Osstest-Failures:
    libvirt:build-arm64-pvops:kernel-build:fail:regression
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt: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-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=01f2b614a25f60b9deab44e3efd05646958776ad
X-Osstest-Versions-That:
    libvirt=4b5cc57ed35dc24d11673dd3f04bfb8073c0340d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 20:11:02 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 185278

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185278
 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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 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-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              01f2b614a25f60b9deab44e3efd05646958776ad
baseline version:
 libvirt              4b5cc57ed35dc24d11673dd3f04bfb8073c0340d

Last test of basis   185278  2024-04-09 04:18:45 Z    1 days
Testing same since   185295  2024-04-10 04:20:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 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                                 blocked 
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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


Not pushing.

------------------------------------------------------------
commit 01f2b614a25f60b9deab44e3efd05646958776ad
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Tue Apr 9 10:17:11 2024 +0200

    qemusecuritytest: Call real virFileExists in mock
    
    When I suggested to Jim to call real virFileExists() I forgot to
    also suggest calling init_syms(). Without it, real_virFileExists
    pointer might be left unset. And indeed, that's what we were
    seeing on FreeBSD.
    
    This effectively reverts commit 4b5cc57ed35dc24d11673dd3f04bfb8073c0340d.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
    Reviewed-by: Jim Fehlig <jfehlig@suse.com>


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 21:00:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 21:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703633.1099373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruf3S-0000R8-8E; Wed, 10 Apr 2024 21:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703633.1099373; Wed, 10 Apr 2024 21:00: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 1ruf3S-0000R1-5C; Wed, 10 Apr 2024 21:00:26 +0000
Received: by outflank-mailman (input) for mailman id 703633;
 Wed, 10 Apr 2024 21:00: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=KBji=LP=gmail.com=brgerst@srs-se1.protection.inumbo.net>)
 id 1ruf3Q-0000Qu-9E
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 21:00:24 +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 58da1dac-f77d-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 23:00:23 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-516d0c004b1so8523131e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 14: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: 58da1dac-f77d-11ee-b907-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712782822; x=1713387622; 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=OTOLX4JLh5I1S63wm7ZYTbxWd3eO8LcCr+U3ImNr+Hw=;
        b=i28bPgNQtv2rqr0//of3KX6ujJAO8kNVc8RBgwbvTrNw35u/PmTPzcmvR9IdYUspuT
         sKLLeeHiNJ0H4j46CtJBkjqafArENN7OJSqKLltNTLtvqJH1JPQ4RPF/XavEesU/7kDr
         HouRp8wm3rzOYzECD1+Sapf7RyPiTr8Tp98e+seH8LyQoSlvQDMGpOZPh1gDRd+5EbZN
         tcKxHrj/WJcpo2qkkSENTn5SRMcp0xDPUMF/XqYkXwfZZ+yr8rOF45WELRmdRE0vjcg3
         5FDbmacHbSm0/wPsYwBlA06amEGnbbf55KTunSyjFpifSrZVMBT66oD15SIuzDN4klQk
         WWOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712782822; x=1713387622;
        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=OTOLX4JLh5I1S63wm7ZYTbxWd3eO8LcCr+U3ImNr+Hw=;
        b=vG5euG6xywAapP1YO3ehBpjLwB1tbzTJWJ1iX0nWT1TiEt672AxY3QaElVOGiYQ/DR
         YMwaoXzdsB1OXGtzWJWMlgHcOt4URSepUPn0/qUM58kaveZijEoPb9/FDgnbMgRHZL3I
         R8aGvJo/M6Aa3QGCj1HM/XF6YAbIFP9e3q4yA6XytNXvbG4P6NZD+CRMViYPCAvvstCE
         bPqhrNJMK5Yvu0a+gfbJaoLhL+SrVpVITlhKxYMj+A7y2cwdEPl+afh6Y8vPDDghB8PL
         3HAnirNWI7mbDCrJTLhO07oTCfCipkMCu84kxUD7j6ebQ7NAO8OtxVUQC4eLXuTktvDV
         F74A==
X-Forwarded-Encrypted: i=1; AJvYcCUuI3DvertdsI2kINQ+2zTrYGgYOt4RcbWIuDdcDvE95cfBJxq1PqndqXEwptHM5erdsAiDkki8FLXz5HEYoHz6O2t3krpvNPjwX2lP4Rk=
X-Gm-Message-State: AOJu0YxmGz0K2vrEYQGDYfOmNTv6ZqBXtk9fFHpvFkNKPDPVhzsuKluY
	OO7aciPeH+4DlpY1YFJEdnLNi0rTSArRNUckEy7wfiilpcx0pjeNK2DTEjp98psrAEGrTuZv5dN
	GSxq6xHA4MEXw1vEnR47COXpsag==
X-Google-Smtp-Source: AGHT+IHamXN4IgV+QiIETJSN7sHN7KaKh2Hd0vq3jXc0f0d0B2F3cy+oSbc44j/6FZ2J7UpYNoO8hZBCUqgdA8GF4rU=
X-Received: by 2002:ac2:5598:0:b0:516:26cd:da71 with SMTP id
 v24-20020ac25598000000b0051626cdda71mr2936245lfg.3.1712782822109; Wed, 10 Apr
 2024 14:00:22 -0700 (PDT)
MIME-Version: 1.0
References: <20240410194850.39994-1-jason.andryuk@amd.com> <20240410194850.39994-3-jason.andryuk@amd.com>
In-Reply-To: <20240410194850.39994-3-jason.andryuk@amd.com>
From: Brian Gerst <brgerst@gmail.com>
Date: Wed, 10 Apr 2024 17:00:10 -0400
Message-ID: <CAMzpN2h6S69bOLXCUhmkVJErvoKxq-wPmfoaqR7eGHYLgirn+Q@mail.gmail.com>
Subject: Re: [PATCH 2/5] x86/pvh: Make PVH entrypoint PIC for x86-64
To: Jason Andryuk <jason.andryuk@amd.com>
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>, 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>, 
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Apr 10, 2024 at 3:50=E2=80=AFPM Jason Andryuk <jason.andryuk@amd.co=
m> wrote:
>
> The PVH entrypoint is 32bit non-PIC code running the uncompressed
> vmlinux at its load address CONFIG_PHYSICAL_START - default 0x1000000
> (16MB).  The kernel is loaded at that physical address inside the VM by
> the VMM software (Xen/QEMU).
>
> When running a Xen PVH Dom0, the host reserved addresses are mapped 1-1
> into the PVH container.  There exist system firmwares (Coreboot/EDK2)
> with reserved memory at 16MB.  This creates a conflict where the PVH
> kernel cannot be loaded at that address.
>
> Modify the PVH entrypoint to be position-indepedent to allow flexibility
> in load address.  Only the 64bit entry path is converted.  A 32bit
> kernel is not PIC, so calling into other parts of the kernel, like
> xen_prepare_pvh() and mk_pgtable_32(), don't work properly when
> relocated.
>
> This makes the code PIC, but the page tables need to be updated as well
> to handle running from the kernel high map.
>
> The UNWIND_HINT_END_OF_STACK is to silence:
> vmlinux.o: warning: objtool: pvh_start_xen+0x7f: unreachable instruction
> after the lret into 64bit code.
>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> ---
>  arch/x86/platform/pvh/head.S | 44 ++++++++++++++++++++++++++++--------
>  1 file changed, 34 insertions(+), 10 deletions(-)
>
> diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
> index f7235ef87bc3..bb1e582e32b1 100644
> --- a/arch/x86/platform/pvh/head.S
> +++ b/arch/x86/platform/pvh/head.S
> @@ -7,6 +7,7 @@
>         .code32
>         .text
>  #define _pa(x)          ((x) - __START_KERNEL_map)
> +#define rva(x)          ((x) - pvh_start_xen)
>
>  #include <linux/elfnote.h>
>  #include <linux/init.h>
> @@ -54,7 +55,25 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
>         UNWIND_HINT_END_OF_STACK
>         cld
>
> -       lgdt (_pa(gdt))
> +       /*
> +        * See the comment for startup_32 for more details.  We need to
> +        * execute a call to get the execution address to be position
> +        * independent, but we don't have a stack.  Save and restore the
> +        * magic field of start_info in ebx, and use that as the stack.
> +        */
> +       mov  (%ebx), %eax
> +       leal 4(%ebx), %esp
> +       ANNOTATE_INTRA_FUNCTION_CALL
> +       call 1f
> +1:     popl %ebp
> +       mov  %eax, (%ebx)
> +       subl $rva(1b), %ebp
> +       movl $0, %esp
> +
> +       leal rva(gdt)(%ebp), %eax
> +       leal rva(gdt_start)(%ebp), %ecx
> +       movl %ecx, 2(%eax)
> +       lgdt (%eax)
>
>         mov $PVH_DS_SEL,%eax
>         mov %eax,%ds
> @@ -62,14 +81,14 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
>         mov %eax,%ss
>
>         /* Stash hvm_start_info. */
> -       mov $_pa(pvh_start_info), %edi
> +       leal rva(pvh_start_info)(%ebp), %edi
>         mov %ebx, %esi
> -       mov _pa(pvh_start_info_sz), %ecx
> +       movl rva(pvh_start_info_sz)(%ebp), %ecx
>         shr $2,%ecx
>         rep
>         movsl
>
> -       mov $_pa(early_stack_end), %esp
> +       leal rva(early_stack_end)(%ebp), %esp
>
>         /* Enable PAE mode. */
>         mov %cr4, %eax
> @@ -84,28 +103,33 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
>         wrmsr
>
>         /* Enable pre-constructed page tables. */
> -       mov $_pa(init_top_pgt), %eax
> +       leal rva(init_top_pgt)(%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)
> +       pushl $PVH_CS_SEL
> +       leal  rva(1f)(%ebp), %eax
> +       pushl %eax
> +       lretl
>
>         /* 64-bit entry point. */
>         .code64
>  1:
> +       UNWIND_HINT_END_OF_STACK
> +
>         /* Set base address in stack canary descriptor. */
>         mov $MSR_GS_BASE,%ecx
> -       mov $_pa(canary), %eax
> +       leal rva(canary)(%ebp), %eax

Since this is in 64-bit mode, RIP-relative addressing can be used.

>         xor %edx, %edx
>         wrmsr
>
>         call xen_prepare_pvh
>
>         /* startup_64 expects boot_params in %rsi. */
> -       mov $_pa(pvh_bootparams), %rsi
> -       mov $_pa(startup_64), %rax
> +       lea rva(pvh_bootparams)(%ebp), %rsi
> +       lea rva(startup_64)(%ebp), %rax

RIP-relative here too.

>         ANNOTATE_RETPOLINE_SAFE
>         jmp *%rax
>
> @@ -143,7 +167,7 @@ SYM_CODE_END(pvh_start_xen)
>         .balign 8
>  SYM_DATA_START_LOCAL(gdt)
>         .word gdt_end - gdt_start
> -       .long _pa(gdt_start)
> +       .long _pa(gdt_start) /* x86-64 will overwrite if relocated. */
>         .word 0
>  SYM_DATA_END(gdt)
>  SYM_DATA_START_LOCAL(gdt_start)
> --
> 2.44.0
>
>

Brian Gerst


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 21:23:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 21:23:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703638.1099382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rufPl-0003r0-0q; Wed, 10 Apr 2024 21:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703638.1099382; Wed, 10 Apr 2024 21:23:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rufPk-0003qt-UB; Wed, 10 Apr 2024 21:23:28 +0000
Received: by outflank-mailman (input) for mailman id 703638;
 Wed, 10 Apr 2024 21:23:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rufPj-0003qn-KV
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 21:23:27 +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 90ba37ee-f780-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 23:23:25 +0200 (CEST)
Received: from AM6PR04CA0043.eurprd04.prod.outlook.com (2603:10a6:20b:f0::20)
 by PAVPR08MB9354.eurprd08.prod.outlook.com (2603:10a6:102:301::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Wed, 10 Apr
 2024 21:23:22 +0000
Received: from AMS1EPF00000046.eurprd04.prod.outlook.com
 (2603:10a6:20b:f0:cafe::a1) by AM6PR04CA0043.outlook.office365.com
 (2603:10a6:20b:f0::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Wed, 10 Apr 2024 21:23:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000046.mail.protection.outlook.com (10.167.16.43) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 21:23:21 +0000
Received: ("Tessian outbound ff4e98f65004:v300");
 Wed, 10 Apr 2024 21:23:21 +0000
Received: from e775a913c96a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C011364D-4148-4D84-BD02-62E6E13D4863.1; 
 Wed, 10 Apr 2024 21:23:14 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e775a913c96a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 21:23:14 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAXPR08MB7624.eurprd08.prod.outlook.com (2603:10a6:102:242::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 21:23:11 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 21:23:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90ba37ee-f780-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mF5+9ZQqeg548MgnDfNp4P5SF6B5c35ZZv6t1GeU4X4j6CiDNHFe9DWZ4HE7An8AuC+1u0+pkOxmx0io0OZFD9KeF/OWliznDC6WkcfcQ7HyDJ52NcPM7IunXKJwnHmz2S7v3N12gQCJay/cHoAYetB/bVrJcmrJFG/oPEpXpOJE8R1Tr3m8vPZ5IaTX2pV3EDU7Qz6gGfpgAssiGbfgpuHYneOSGRc9ruZ+LUB6mBwcTMd0fd1/UhlX5IhoFMbjve8zK2LC4swxhUGV/04xntgSfH/kp50z+TLVNbcZ36uh5IAjmmfRf9zSqP5bEJtV+QT+7Du7i1/7kI4ujYo3Ow==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KtjdVxjrlIEy/RjoAtV4Lx00phKPUM+IughvFEq9Gc0=;
 b=gzUu+lNnXFPZ1rn7EspLsu/Gt9UwqdDJc9usSh1iOz/eHoqZPohD7x2zcBnZgystd3dAovVNTFKqw4QBTGN4NjBOjcGnNK1SlZkwFCGyb+UuxCQYgFmYyZ1qZaRnJHLbUKRvKGG5acCbQO5wwmDC/oCo+BjBI5XMD3yY3xxbxIr9O4bx1gPFlguHcEK4q3q1EJyS4v3BvCw5k2Qt36xDB6Uh5CzA9dqT4oGJw3ttIdfhOLXrI8q/vL5YVnh8lgm/XWvHoClkof0wVftFhY+L5B/9dY5jyIqXWIvs4jKbqOu/lGoCvWG30aJPR5ikAQ/hnYlU/0sdJO4PFgaFjlD5gw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KtjdVxjrlIEy/RjoAtV4Lx00phKPUM+IughvFEq9Gc0=;
 b=Hyu72m6eff4Xf6ilpIS7FZyy1aE75owL6LOIsk0i0SZ5jUljcapFcp/iCAUXUHEb/SleSMjyr0DkCTRi7dYWoCE5cx1nzh51pQkPhEwuWLdW0nZRfmoxdRW6OjcQL5FUcKxOSw0i0S/3281tolb9BZ5tV8c8QCT/cnky979FKLI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 9bb4dde034fe1286
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hMRIvm5ZqILvmAz3IVt3mq8YQWD1zP8LxDEtfmCi8cjdVp38pixe1u6RdX4Qz3DNJzwop2Pvs9TfO4yPVD1/OdJhDDq0ZW2XZGV3Y+hb5Jlntxm+RSkvuebzdRqwBqZBoxZQFdUe4H8bdlkTN0DQ2j7SwZ4TRE3LFA/7BAsbML0ooWl5BqHozapLM7NdPOkZZRPk5QLAPbP6woG6ZDWGbMOy+emXvdPelcYKKro8D5bIFAWsewI5WMkhHDREcPu6UmXpz/vJ0Pscf88tjFs8kZjOV8G/NFhNsgMOeMS5Q0WRWswgD7XrgaKX0vjL4MRS9bOzM+s69pGSRTtkUsMxig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KtjdVxjrlIEy/RjoAtV4Lx00phKPUM+IughvFEq9Gc0=;
 b=OXvC9as8IrBnbLBM4iH7HOl3ITeKrTjjuTEik769IZ4TyulYl9/gwwqxJDLyjY3V4Cw6HlM9jCQWjK7omqfwsU5EDiZzk2nfmnH10WOZqdFGALz1sjFgsoVCgidypTJnKLhkJB+Tl1gOInpBJEUzUAXAAYqsvjIU3zFQbEo0IbhRexPLjLJCjLICofJhFlEDYL145pWKLdVUAWAklpTXkl1wyl9kxNdMMjqIPyC2Ic8Jy5SsK96eA8dEDYRv3OB+NssWauWKjjAxr412SK9glOYSLR6RJ1jVYtdGIH3Rm30d+f8kpZyboXQQTxW4Jezra/dP/LAIZXH1d0XmBig+tA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KtjdVxjrlIEy/RjoAtV4Lx00phKPUM+IughvFEq9Gc0=;
 b=Hyu72m6eff4Xf6ilpIS7FZyy1aE75owL6LOIsk0i0SZ5jUljcapFcp/iCAUXUHEb/SleSMjyr0DkCTRi7dYWoCE5cx1nzh51pQkPhEwuWLdW0nZRfmoxdRW6OjcQL5FUcKxOSw0i0S/3281tolb9BZ5tV8c8QCT/cnky979FKLI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Juergen
 Gross <jgross@suse.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>
Subject: Re: [PATCH] xen/spinlock: Adjust LOCK_DEBUG_INITVAL to placate MISRA
Thread-Topic: [PATCH] xen/spinlock: Adjust LOCK_DEBUG_INITVAL to placate MISRA
Thread-Index: AQHai35ZGujeX/vlNEOnzpRmbshCIbFiA4cA
Date: Wed, 10 Apr 2024 21:23:09 +0000
Message-ID: <8384F95E-4EE0-457D-9858-7461556432EB@arm.com>
References: <20240410193531.1499128-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240410193531.1499128-1-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAXPR08MB7624:EE_|AMS1EPF00000046:EE_|PAVPR08MB9354:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 TiqWukN29JYoqQuh6WAP/1QdAwDMBrMU35lWTXl4CA8i657VNVL5pDvPmr5hChMyRKOuDUdpAjcjjlTnTQlNRd/+aL/5rtbsiwu9ecqk1cjkyHvLwfVV8HCo7W3nMwNVdscfkl3Z/dSPHoN8pKUV4ckqkspjf59huswPF2BOsfkLrq3rIaUk9PkB2oanGZfEmR4crMkFDjc66mYkWm3jnG3kmuuW5wIjSNGN2A1yMMM74K1HkwP3U45HiCba9lnflXiyopDBUQRkul/6Pjv52WF4CGuSq8nPQIz74d1X1h0W4u0+7TDWCx187b+pcFsjO+XoYxp0bJBUcIcl8GDYsBjtsO7k6XBvBgo/b/OQ+uEzbdBLwLCmDbFm2UdkxFG5dMNLGl6wmdwnsJ6Gn/WcXkF3QsTQHWN5cwnrszX/4JQI1OcuPR9I883tVJglLLc/Czf1nuWKDco5GPIW+7ra06Q+kjtEzj1Tu2sTf6eZX6z2HFdeMw6GdWKTHFm35voRVgeFMGapENHVdN4UZaeDuTJxLOX0ePoTpKwJdmxQcYJZ0YvmjeO8XPNTxDcr5jIOKoJ6ZZhpuQXvpVEPyhI0w01phuiBtPPVSnKmgOux47MkDS29FcQYFKzaHHbdc4QkxaZ6OC7v1TlFULYc8mzMlI2EHbSuz3+ZJAFd5KY/43Q=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(7416005)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <63CC7FE6E236874FB48D290B7F09C107@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7624
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF00000046.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: eefeb339-72e9-44de-2e81-08dc59a472f3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BWT9qjSQ5qxitCPmo6nEO48y4dhiCgmVSWQp8k7RobBtbMw2zu8RvVGVONw2Z0WHz2mw2/dMBslKYi7ctTS62f4ayHaWsm4ie5Cu3B2jRmhvkkpVgHEVDJKM/jpE3BjaXgrvZznfXVY4Rc3E1o7yWhi4AuxSeIr3VVya95/1tlkYQDPc+YzaJWd1oxZME144R56zxTIPWk33a5+W1Ma5uDo+jaFUOigo00k/YplnMJM7d4bdpVVZc9fD9RGRPRr2Qza3yDm5r5ZEFtdiU58xDWL3eHPhTq6A2XCK5gNcreE0WAGTIQ9vVsc3DCBm7hVRAcHhqgtBkJQs0EEtLGtf1MSYmakad0h7RgBoTL+7mWfQ7aLy7DdkSUnyvNQ6laXM9EjFK9F6fCIATHO9yL/pF/DmRR77MjR+auellXqoLosFoMGQTpggY1WVz0FuoLsTrmACc5nobVqFEHDkv1vzi9tRd0ZL037yzrqa9VhJ/ApktKe42BwbyUP+bOgmSVMq/uPUi/01+Zsu7nbtZ28AJzlgxhjlV9fIs6cY/7dH/ZimvfVbSbppl+ezb0N/Ngx7tEyMr0aHuer3TLd6d6i01+4sE0PX5RcU58av9ZA7Du7QdomflR+E91P0E/IIUcDK9B0AreX29hJWNyfcScHQIy2T/4zgw0FP7DKUkc45S9ZaqiaIQqCo38afcTFcCFAW44qlUGnYdywFRd3OjidllIbxMrSb4A8XFgym9l9uXH4Tp7r7FwP1nYEOgyrpFNHf
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 21:23:21.7347
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eefeb339-72e9-44de-2e81-08dc59a472f3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF00000046.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9354



> On 10 Apr 2024, at 20:35, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>=20
> Resolves an R7.2 violation.
>=20
> Fixes: c286bb93d20c ("xen/spinlock: support higher number of cpus")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Yes makes sense

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>





From xen-devel-bounces@lists.xenproject.org Wed Apr 10 21:25:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 21:25:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703640.1099393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rufRi-0004ml-Ch; Wed, 10 Apr 2024 21:25:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703640.1099393; Wed, 10 Apr 2024 21: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 1rufRi-0004me-9y; Wed, 10 Apr 2024 21:25:30 +0000
Received: by outflank-mailman (input) for mailman id 703640;
 Wed, 10 Apr 2024 21: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=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rufRh-0004mY-Rs
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 21:25:29 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0601.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9ad6a56-f780-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 23:25:28 +0200 (CEST)
Received: from AM4PR07CA0035.eurprd07.prod.outlook.com (2603:10a6:205:1::48)
 by AS8PR08MB9907.eurprd08.prod.outlook.com (2603:10a6:20b:563::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 21:25:20 +0000
Received: from AM2PEPF0001C70C.eurprd05.prod.outlook.com
 (2603:10a6:205:1:cafe::94) by AM4PR07CA0035.outlook.office365.com
 (2603:10a6:205:1::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 21:25:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C70C.mail.protection.outlook.com (10.167.16.200) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 21:25:19 +0000
Received: ("Tessian outbound 9d16f63426bd:v300");
 Wed, 10 Apr 2024 21:25:19 +0000
Received: from be2072fd9d38.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FB91E031-3A56-485F-9973-18B4F60E31AA.1; 
 Wed, 10 Apr 2024 21:25:12 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id be2072fd9d38.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 21:25:12 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAXPR08MB7624.eurprd08.prod.outlook.com (2603:10a6:102:242::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 21:25:10 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 21:25:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9ad6a56-f780-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mGmyE48tZrqDvqyIBla7W9gJQIZ0P/3VkUprFZM0z8LjUjsrFgX07Q3r3jR5yRv7vU352tUdVVk6oPE3U7AEJ0x9Fj7tCu2oWnt7izFnrj/tv6BgKdJSHQy3G/84/q2iBdTr8cXLUXgGnFgaU9R2s1SVAOch/9xelRonzhMzY7rzaKPCS/uq7sPxgaRgiIq6tOObzoldDWNFFHN8FTq9LxzTxYcWtFpWreJUjaSn9TQO7DAjoT0Z+UFpqXNMB8Q4ZykxSwQuuodAg1CpWy0vBABe6HIJ73+LHNdO66QgytqfeftQQsOpQZnDvOLDMecwVWCVaoNSR9+mPfxfA4pxGA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qDvMN3MgnnAmQU6/16NDMx6S7t9Nf12Lr1HgJkf34iY=;
 b=Sfo5mSNS2BiFHU30GapCkY8c3wAfV1GQ4v1mod7IMTZnJPfSYczRa0qXS4/ReUe5xUVH6A34PSe3YnHv5LUuZXhrli4GXB4qEiXvAMzkaWIEfmyGxjGsTAVWIuMmhB2oOOSmJLSPuB6Fief4kUAs43QsS7LUU7nd7iMFBoltMotGTuDnbmLNkCtxD7gHDW2Xd9f/59bQVuh+kwIYgR8GUL3PPlhET5Lizfg3rFdsTgJhld5jj/rxTDoTzbnL04Lf8vPamKPx/lr0+cQEo/lY05UEzjwyxUQTa0E31WtKJ1dDTtQACCIp+Zl3JuvLSfgKtA5f0urA3X2ziFJ0uoFCQA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qDvMN3MgnnAmQU6/16NDMx6S7t9Nf12Lr1HgJkf34iY=;
 b=bNW0mybl2R3GWO7urxpZo+3RcCO1/gYeJ6OREykEDLaBKnoRCwK75zd5Fh/sH4EDwYLA4tHMHRcRM2LJ8yHveaYazDWQR/aQ6upvC3D4XFMTIZRRz+Yw1CxmbplCyP9KZXlSEZzIIzXB7eqTi4JoU5XzjmH4C8+lCy302GXlr1Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 29612702012b73e2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VZNqqDdb2vGdKLAeabLgVkruOdnbVzNjIy/tKWsFqv/izCCz0jkyAwZX5Xmpq1Lf+bzmB/QmePuz1u+LxEsa+pmefaBeyG0utCu1TL1L5zeYLixSNfQMmj51LRxCF9MhfLYHo47mAcdlVUf8vxIdCx2voqo7lAT1RLIknYxLsUAmBfRQEeD7miIwj1/LRlaq8zwbNCK6McQBfU9b///fbmYUWfw/wMQGqxPG0T13MvwSRGKHFoaqiHuTK3wX1SzxwpTZo9fT7nuc5pBRvxaHvcv1x/YXV6zQV57ip83aiozpHfnpKtL6KPPkS9WllylxzCbGL77bpF3hqjKdBDtlUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qDvMN3MgnnAmQU6/16NDMx6S7t9Nf12Lr1HgJkf34iY=;
 b=grTBTq9NYzoX3ZNboIopZ7GifZRp5H0cSrbg9jdtDc3mvHNNMxY1QvTbMBP/1Iwqtnx3UfACSBXMO6KSJER0CQnHSBYIPXj76yaLpr3VywoUHBEqQWiyZjx+s6jgZ6r7ozv1gql0Y4v4SL1kxF/lpoeLJBfyCb1IdOk4DGtlCmuAhGUrLPJqrim9Z6P1tUxDQ+PwPKYvkUrOn7iymRQU6cdWKw66MFP6iraswO6LVJVzXmU4IYwEaD0Dt5IwTlL3wGdXUE2eocEMQHkv5zN2lo8HUkAl4s7Can2JFNe58/z+3FsQNjwIaKugfFb2qGK+TV2uI/DgiZ7GpX0w3HntZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qDvMN3MgnnAmQU6/16NDMx6S7t9Nf12Lr1HgJkf34iY=;
 b=bNW0mybl2R3GWO7urxpZo+3RcCO1/gYeJ6OREykEDLaBKnoRCwK75zd5Fh/sH4EDwYLA4tHMHRcRM2LJ8yHveaYazDWQR/aQ6upvC3D4XFMTIZRRz+Yw1CxmbplCyP9KZXlSEZzIIzXB7eqTi4JoU5XzjmH4C8+lCy302GXlr1Y=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "consulting @ bugseng . com"
	<consulting@bugseng.com>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] xen/vPCI: Remove shadowed variable
Thread-Topic: [PATCH] xen/vPCI: Remove shadowed variable
Thread-Index: AQHai34Se9wADCtXik2K5//57Y0vDrFiBBIA
Date: Wed, 10 Apr 2024 21:25:04 +0000
Message-ID: <09CAF1CC-40B9-4E3B-877B-1516B68D0740@arm.com>
References: <20240410193348.1492018-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240410193348.1492018-1-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAXPR08MB7624:EE_|AM2PEPF0001C70C:EE_|AS8PR08MB9907:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 K0jzKfNZ+1AtZolgGiCdE1yv+OklQhHgEJuEdBV+pJlU7WhYNeSipAFLYpvOEZ6Tye44XtSArdp0D/LAi57+ZJRfNPRrV6NRe8xdgaJtOkUCzwSfOW0paiaD98oTugqY6GckUbOcolzB3EbezZ+dpMfknGBmzQ9W7xxhZDlxqzExGFfqQgeBfxE3liSBsZzuXzjRuYlTCb4FWeAenIkqr18WaeEEZMhJ0a2wDvFMABUeT+FXX0Xsnxiz7Q/4uvWIepK0gj5DwObdWMEf+bU1HmwI2rZ+6a/evUIT7eeFDi3weXI261VS5TpGpyO/vBm5JiWbYaT9V++RthJsvCIyWnesQXzISIxzdw9zg5tyoZjWEzFGYEU+AjyoFt8bsHSUSwNUzrptMZ+ii7flb+ElQCP7/G60YunWUhnqhUon5MavsAk6Gegoa0izGdRsc+zCD5ZckG5fDJWcRZHt3/ew8WutQnXSKd5Q+saSNsBo2jMrASAs9O6qkIOuMw4UIYjJt9hv9qEr1BeLk46G3G3xsPc1d19D0FrCmX2v0BgcbQMSLRkNjVDUgG4GQ/4+vqWjxj3k3Tfxk/b+bhmDMWQ4gtecyxyT+OMlpJ20DWaG8cIqRjwlGRFWQOiuBJzcTbvQL80pphSHhmCcb6qH7HqPrVI2x6E5AFXHTj2gznMVK9U=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <CE7BA49E63B18449BFA4C1A5F5414E38@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7624
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C70C.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4f1516e8-5745-41e2-41f2-08dc59a4b927
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	olOPpm0og0cZwoPS1HCjW80KPCNpgZIjhe/AnqUyxtVqQ8fMhc4C6XEHUdyrDXoeDaQaB6RnkkvMXtTntPtv/4TQMY4gK1yMJVrqTQo0lrNc13BAfg0RTvD8T0wUjQh4hWw6JJdtW7zQbp+OuMMD8fnFTmIvi1hYeTSv446A3sTQ7fC6VpQBhrvc/W3VMCBZWiFffWvmpCLqSRBcppybNeU0mBoAu6ZShEbT0LaZsrHuX8AUC+rN5U1yhXfNOG6quJCtdKJ2kSU94NKqw7MqzGI9CkWl4IXehPj4n2I2bVcQwLegD1njroSruNtx85UqqHwRKj3nfMYvsqnhb21q8udAI9CR6D4vrNOxLIXLBXnUcCkUDto4qt0ysrOQjuvkihamUOew4BdZTQFAJY6vKLcVvFhrTiJDdodHplFCsYQegWlpyyhg/ZT+7KGZyzJoExYOo5vRThbyI2qAzrPmd/lm0J7OXSfxtJgHxMf4GZ2D7Oqz8ITq047/MMlzsbTDg6zAcDlZDxATHPB9epVA7dUs6HuFtuog0oNW2eFMi4oA+dna5e62wMC21ya62rCAD4Cu7O9nfpzxnku6xSDv0o90eCSE+d7bLBIoWLmZ/BsCnyEZBu3QCHSIqVMsvV2oZmLs89trQXMb/twn/DEuPakkZ2Q7szZQ83tKNqqP109TTLN7oK6Ydwt+a8ZSvlcfKlDuy6uAl8YJXfwwYbjBTEASQoUmQFNsjzkhd746MH55Po4vrM8rZRYSxSZfendS
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 21:25:19.5009
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f1516e8-5745-41e2-41f2-08dc59a4b927
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C70C.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9907



> On 10 Apr 2024, at 20:33, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>=20
> Resolves a MISRA R5.3 violation.
>=20
> Fixes: 622bdd962822 ("vpci/header: handle p2m range sets per BAR")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>





From xen-devel-bounces@lists.xenproject.org Wed Apr 10 21:28:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 21:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703647.1099403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rufUm-0005So-VW; Wed, 10 Apr 2024 21:28:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703647.1099403; Wed, 10 Apr 2024 21:28: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 1rufUm-0005Sh-Rs; Wed, 10 Apr 2024 21:28:40 +0000
Received: by outflank-mailman (input) for mailman id 703647;
 Wed, 10 Apr 2024 21:28:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rufUm-0005Sb-2r
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 21:28:40 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2059.outbound.protection.outlook.com [40.107.7.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4af46d37-f781-11ee-94a3-07e782e9044d;
 Wed, 10 Apr 2024 23:28:37 +0200 (CEST)
Received: from DB9PR06CA0009.eurprd06.prod.outlook.com (2603:10a6:10:1db::14)
 by AS8PR08MB5893.eurprd08.prod.outlook.com (2603:10a6:20b:23e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Wed, 10 Apr
 2024 21:28:02 +0000
Received: from DB1PEPF000509E9.eurprd03.prod.outlook.com
 (2603:10a6:10:1db:cafe::cb) by DB9PR06CA0009.outlook.office365.com
 (2603:10a6:10:1db::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Wed, 10 Apr 2024 21:28:02 +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.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 21:28:01 +0000
Received: ("Tessian outbound 1b0f2681ce6f:v300");
 Wed, 10 Apr 2024 21:28:01 +0000
Received: from a67bee210758.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C26E5EE2-179B-468D-9353-B2C73CB0C01B.1; 
 Wed, 10 Apr 2024 21:27:54 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a67bee210758.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 21:27:54 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAXPR08MB7624.eurprd08.prod.outlook.com (2603:10a6:102:242::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 21:27:52 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 21: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>
X-Inumbo-ID: 4af46d37-f781-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=d0Z62+XQ/6hbs5DG+uSZIqL7yjxwHxETlF39Fmk9ahdmtKe741PmwcKZYgjjOnzVwz2woLDg6VLRjbuqDOIwZ9SMUSqNPoUZQEK2GGnMboGxYeI+FJCJrnCPvsF9j0LS71DdCMjWldqdcL1uttyQinLZGU0YxkThD4cQZTIVlz7yWZRmSU6FE0p2L2lK5da8mzkREv6NxFcHa4qZkOAsvxLNJrIzIFaQLw+ofOphisya5IicYERxlu0ZCLMSLC2FEnzJjlFLyMDOW6X3cCuRAZ9Abs+nL+L4EWZkZz3Hq7U0eJfqn0X5gPzXg2QxaU6wmXr+a2OQvP9DCXd4sQFC7A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hqDVVuVZIT9XpLtZ9dxEXKgRvETkyzpDzmWB1qR8OmI=;
 b=WDuOouxTLcdhiZ3ObQQuOa06yYSTNcNbGj6KgGqzm1gLgab2wQWioh3te6W/Zzm5PbIqv+TqnBrmb/15ejF5bVl/eYxyGZDK4IbJfS7g6XYpT0mY8ABw1foo2WvnV66P6kNVbekSReQbNnHHz33MagwDrgDu2Fhy9sZ+vkbBbmL5s4Eqct/8hYcrtcQsAWyg26poFxlFdhppOhcbqJHd7cHNKwiFRuc/qAmAjlVfC2ghZNl+yRHvFGqEh2+nSL5Y3vBG11m4UkCeyrYyEW8pV9WefbONbvtBtrGG09xQT7jP/Hs69zjydPLTUk4NVh0DyTfjT2npvKlkLyNNdp/wzg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hqDVVuVZIT9XpLtZ9dxEXKgRvETkyzpDzmWB1qR8OmI=;
 b=2L5Rr+5bckfp/RiDRm3yW31lYrPQ5bjb/JB/0Ej5GGqWNSbuB5fPdpY7Wz/WfzPONqX++Vqf1MGihqIgIdGSEiwpIn2Dw/rnuQWJsISix1UVq7+B7g7Bwes9BKbnNjAWoTgOX1nNeTNSQIUusXVHqtWsxVME07eAIzCcCLeUM+Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 15cd4e06bb220371
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HGtnyaobqjB8P+mvoHh/0UlBUQbWo/xSCqADHxdssmPP3iNiM2FeWwpnnPrw4Sk1MnPJudyjAk7RxaNxIg4qFCvX8NSxicyD5uOivwfqMbpxqzJcvz6mgNECaJqvd1Kvm0peDMK/tYm9RslBflYJMeH+8A8pYrFm+dRl7PQ8oToWe002p4vzNau/eWsryjPBA/kw1Al2E4uEvAfRggFDdki2HEU6HYlkGhsKYFcgeJBEyPYIUkOdTJlFD2sjwJo0cWYh1JvCvgh6a06+5JFJyxW7ZSlnLvB56X9FES52HOpVem14o1IlUC5yWURRL1gMjSRPTuPzwsL1kwHKOE/fIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hqDVVuVZIT9XpLtZ9dxEXKgRvETkyzpDzmWB1qR8OmI=;
 b=Oj1dVKOI5HDEk4Vzxjt++mMkPZU4H2HHRzTw1ZrVM2m1u8CIEng7Ts1BQQDh8URziIbsRka1oZxJaRlvt3armCgTyq85AVc6CN1j/cVk3pJOAKsdk9xh9n+VI1hIdQzJ9hDgiWWP1Un0JFb6jmrbLvTsfzsxjT9W4E9+PIAdkIEpcvq0u3SUJorzjwcvXxSYjqRNinku2uXaBJiZoxw9J9VT9FAIPeCmZPVKaVztHTYjBNccF/HsTyhQ1vsXyMJnaaN/SckLjXQwsxIiRd6NSXFhCv7Qq0BYgzYePF0nBGwY2i+QW8VcWMBUaXo2PW8bTdtfcfDo1tr9xxG/zKtvDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hqDVVuVZIT9XpLtZ9dxEXKgRvETkyzpDzmWB1qR8OmI=;
 b=2L5Rr+5bckfp/RiDRm3yW31lYrPQ5bjb/JB/0Ej5GGqWNSbuB5fPdpY7Wz/WfzPONqX++Vqf1MGihqIgIdGSEiwpIn2Dw/rnuQWJsISix1UVq7+B7g7Bwes9BKbnNjAWoTgOX1nNeTNSQIUusXVHqtWsxVME07eAIzCcCLeUM+Y=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Federico Serafini
	<federico.serafini@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] xen/nospec: Remove unreachable code
Thread-Topic: [PATCH] xen/nospec: Remove unreachable code
Thread-Index: AQHai30hEj6dToSBkkethOfcXBQ7mLFiBNuA
Date: Wed, 10 Apr 2024 21:27:51 +0000
Message-ID: <BA6C8B3D-4381-4356-A473-BF1A9E26C57D@arm.com>
References: <20240410192659.1490271-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240410192659.1490271-1-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAXPR08MB7624:EE_|DB1PEPF000509E9:EE_|AS8PR08MB5893:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 56ghAF6z7wsujAAhEz0zJP9FxRghs0O1dqVSg9Eyv7JfOPoQ4JIwF/GSXKoN1WrSKp4S/+hBZTRPEtehiFzN4ZScNqMR5gCFt8LiF3zQKQYfikmzKWAB7Hbx/BagOMy81sG5B/VD5+EA/Hhccb/ubjqZXQlvEbDhFsP8DSOHq99Tt+tL9tTtQyomzNXMbeHof8BMS1vnQRTJkVNjEwPzoF7dDVQWnhlOZxvhPqTSE7Pqrkc/fMRFWB8DSkoUmFjA4lpasc5sovJv3R24sHP61RA1X+tcpBAU+YEmOOgvsYhyR5kzr+Mm8RsixihQZxSCc7s+kh/S6VVvpGefOrEhhJ/ngz4nFNG7idDxTAEca5MUJQHs+fTtkuzayS4BeLoKNMxe8cUZc1OmGhfJQhHgZ4gfual5KSsXBLQ7bgbUv/eSLRw05gkvO6UsSBcGPKB8CKGyAHFSReikOfU35p6OoYrSXrSFApqhxaIUxRE2qqcRqja4oSit6E8/ttF9sB9sdKbXO4nKMTUjuwYDGU1Y9QuJmDnbhMVvJEbi4dz1XYIBhTFHV3fxatbUmHbFyKQuk5stViab2w4r5PqPiEe8eZbJyrwFVHsQ6maiPpCNS1hwlOWkSYyaMoTfhmxax2IcVdwKlQs9mlA2Pftltk1kBmgMKsg+QLbkgGZbhPty3kM=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <AC364FB2FE141F4C8254B5FA154F96BB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7624
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509E9.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 820462c2-6901-40e3-43c5-08dc59a519c5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wtQVl1kbw6En/5sw17C5njKC1Ed4A8IFuza6ruRlNiGv7tjtmOgjoc8Ml+yIkOYIn5ZDSYky/XMk4s+Au9IyetTJhinZ5axKOAQae5IyxPxLA7kr0C6j9jVA/ERG8PoFMxeLx4+KZ9RFlkObme4yKnmG5ssC0ChKbVvy2B8oXwIqso54R9P7uPQt2MdnaE00bhSv3SSzN8xtmNGCOqv921Si0J7NzYCUabdRPtdY//6HQNK4uf1bAkvSZ+YablBRcntlC01pLfoO4bvEYXDnCCFeFX9td15u2Ws5EnmFbnicYBw7G1NtN7L6lHO+sTSviNdZ22A3JGMb9mtGP/OwxLOPbMzqF+oVH1ZTJcN7+ufJc9OqxtdItsGK4TPZIJdHtyNlv6OaxP7SltyN7tVp0MEZ307oZxGy3fDWfQj6w8yNneblXpEN0spnwDDza3k17DxWHrl11Yx8+NJ76nU3ayIKATl1Vxh2BvK1RfUbXr3ZbJGTgp31hhKJfyeWeThfy1iJqZKOGQhAAAqVmCKklJELkJ39J3XPHW76XpKAozhsQq4FgcdZnAj4spYLhPz8iTKlTRb/HYxEgvatbtMNH6/BnWfustyLHOGnNdR9+rkH6MQ17aLFgYKdKXJCIWGgIHOkJs/RY3n0dMx5gl9rKrFXd8nc1hyJab/3qLeZuRW73Ac9o9Wxa4bKLXJDlNg7xv++xnCC2duCNCZG7FKVZVtp/pRFc244Si7Cb6x0+HpxfFDyxhnJbPfHQlzlJM9f
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 21:28:01.6602
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 820462c2-6901-40e3-43c5-08dc59a519c5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: AS8PR08MB5893



> On 10 Apr 2024, at 20:26, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>=20
> When CONFIG_SPECULATIVE_HARDEN_LOCK is active, this reads:
>=20
>  static always_inline bool lock_evaluate_nospec(bool condition)
>  {
>      return arch_lock_evaluate_nospec(condition);
>      return condition;
>  }
>=20
> Insert an #else to take out the second return.
>=20
> Fixes: 7ef0084418e1 ("x86/spinlock: introduce support for blocking specul=
ation into critical regions")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>





From xen-devel-bounces@lists.xenproject.org Wed Apr 10 21:45:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 21:45:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703652.1099413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rufl4-0000bS-AC; Wed, 10 Apr 2024 21:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703652.1099413; Wed, 10 Apr 2024 21: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 1rufl4-0000bL-6i; Wed, 10 Apr 2024 21:45:30 +0000
Received: by outflank-mailman (input) for mailman id 703652;
 Wed, 10 Apr 2024 21: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=/Qmm=LP=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1rufl3-0000bE-5X
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 21:45:29 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0727.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::727])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4a52da4-f783-11ee-b907-491648fe20b8;
 Wed, 10 Apr 2024 23:45:27 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8467.eurprd04.prod.outlook.com (2603:10a6:20b:34a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Wed, 10 Apr
 2024 21:45:25 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::2af1:bf89:5576:b0f4]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::2af1:bf89:5576:b0f4%4]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 21:45: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: a4a52da4-f783-11ee-b907-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YLAtN1KUqmQ6P/9M8j7K+RDCPQv7cCnPAm345Upb5M9CCyxhwNysInQcEXSbqPCAbS8KFjoV7qz56aup4HfKlK972cwrxTbLY1KxiowHyWmMxLQ4N04kGUoLLp1ZmueqIsFXqgQcvq8pVhmUWhHWYW1aOvAt025+WxOZuXD1A//Z8yNdHZAjTva6HJLyEvWOwvBt74BbmJHV4QxUzR5jbtahdhFSvMJGhb0tISRHdat8X2DwDSc364tL08MbPdXyiAZvc/W3x6JG5Uc2M0fA6YFvRHtiiDbek59f+VXNvnEQMjuuWrMZMyYQ48St6A/QTblWVWRJ5p2C2BKMPrjruw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ntfI0OXXHuLXVWRK9749vLQXNNQiZVnw55sIE2Db4JI=;
 b=R1NvaKKcLqi7zWWN++84wKcuqsnJ6qRPIOJUjkFwbvVP7cPcp/xhykdMlcrONlSUoQkLftJm97b5tgAwpnN9dc+hVrIkljvUGYqfDya6xmOkk2tvPwbohSfAUQfuFoVbvcqBt+UdnHGcVRcxfb8qWgQKS5+SIqpvdi0ES61Yqom8XpHnMULGuSthnFZOhVXu0M8Nl9WmB0q7729lGKqHKrk+F0/h0rdgzSp0S5q+Njxr+fEbRlVE4/jxjSa5EYUG5tb11gLKYW2vHXea2f6LRaFtJ+OgepyEd1gcSR6QKbrM71jZGetLfkb8qtOfgPWUIzC9DgP1OkEydJZUzC6Gbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ntfI0OXXHuLXVWRK9749vLQXNNQiZVnw55sIE2Db4JI=;
 b=GShIV+DQLR7riUnNVyjkOjnAVvc/SEpcOFbUDOxsE9IHGuYlr4Vl+p38nO5TH9f6NkpIOhzB7LGTVdHvC4/yeCByI9/NyBJO5MWZ2MViQ5QFsfTX+7ZlQLaCSp7FT1NQ5KBGLS0XzfX4zL7DnP17qeUbY9S9ky3Acn+Rzs/0030=
Message-ID: <5fb49c84-0f54-49a5-9106-7f207b3eee4c@oss.nxp.com>
Date: Thu, 11 Apr 2024 00:44:48 +0300
User-Agent: Mozilla Thunderbird
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
Subject: Re: [VirtIO] Support for various devices in Xen
To: Vikram Garhwal <vikram.garhwal@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: "viresh.kumar@linaro.org" <viresh.kumar@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>, Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrei Cherechesu <andrei.cherechesu@nxp.com>, Bertrand.Marquis@arm.com,
 michal.orzel@amd.com, Artem_Mygaiev@epam.com
References: <PA4PR04MB95655F653BBFE3A70A8CD0FBF9682@PA4PR04MB9565.eurprd04.prod.outlook.com>
 <alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop>
 <ZaCOVSuEJtsAj9G5@amd.com>
Content-Language: en-US
In-Reply-To: <ZaCOVSuEJtsAj9G5@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM0PR01CA0106.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:10e::47) 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_|AS8PR04MB8467:EE_
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Dv5x/ForNFqFjRXwGU9lZa77sIlajC4/6BrV6bSt0oEMKgEw1KjSItZdpviILKuKrKK9aGnuKbkXNkr9wG+TA38j7KBwVJ/HT7ZikeiTbslDGo+k4hMPSOL/fA0Ext2e8kgEjqYhPTUoFVAAo2T3FX6PXXR93e2ICUytmqDD1vFcRdd3dMO1f9y7hsmQyZSi/jEgg5ghf7RTMP5hcwaahUlYKzyxd5bbD9hNqKVvyr8D0DD1IpXo/fI/MCimCBk4NG7s8u4navteUgW1syo3xXP94CchERI8/1oUC0aqi2Pjy5f8dogWa9h+z5T3quk4ny6XOnM8JCm5pDQWiOuGMoehesYVojlK4caE9xYIeK9Lhr5PyUOj6PzRMkboC/EJ1xG+hbYmjRchB9PR/4xBlIwPRF1RqDxSWqcJb9T5d4nbfRGGbFjmSZyziE6Tdtbw6E+dWBnqgCXkOIEnPN+AwvJRmik+NFkUdPjuYeat2aTezbR6qRcK9TYeARLaD+KM0QRfb9qHGiQsHgZcfotcBF8PkX1w2LIsoxetXzctQPkIYTYmq5cfjzz2Axk8veDqXORGyxrDCP+KAgRWUQRDv1YV4iFaylWTvvYhtHXZlgUnLYVRQXcFajLOfwgTG7Za
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:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWlLNmYxN3l2R0htTlJTalJuSUR1NFdZOXVma2dTNXZCRkxEeDhpeVhKRWdG?=
 =?utf-8?B?Y1g1SnFTK0dZWGhVNlF1WlI4ZVlwRkJLRkpORitPMTROUE4xSkZXbFowQkE0?=
 =?utf-8?B?Mm1MUFp4eFBUTEFoU1NjWmNuencveGczUnpZejl6dDdlU1c5b1A2Rnp6OUJ3?=
 =?utf-8?B?dlo2VUlhbHJMRGNYTURBejR4bzVtYktIbTdtMnRUM0JEZ3l5RnRjMXVnVkM4?=
 =?utf-8?B?UHpwRE5xNXNtaEdzcmh5d0x1N0w5Y2lQL0wwQzdYc0o5RThoL0RKN3drZ0J1?=
 =?utf-8?B?OGN1NmlLTDVtZXQ1UDN3bS9Va1pJY3ViakRJVTkyWFkyV0k0UnZ6SUN4bXZX?=
 =?utf-8?B?dXhJOTFTVEE0QW5oazgyaHFqTDZlNEZFT2F3YWo4Vk91Z3JMUTJuMGVJVlNs?=
 =?utf-8?B?WHROMk9MZlBjcTMzWXBrb2VZMW5EaU1LbDBISzFWL09KbDNqdE95S1YwOEVB?=
 =?utf-8?B?Rkp0V1MvVnF3YnRZeVRjQ0tkQ0Q1c3VFUXRITEc5RGhUaERnbEI2Y3JreWpk?=
 =?utf-8?B?Z1Z4SjlFMkE3Y0lXMmJBQmZPYjRPV3RyLzZKdS9vVTYyQlZ5UStOdVVSNm9n?=
 =?utf-8?B?bG5jNTRpRmFQd2lNdk56M1IyYzYzdVQxSG5oVWl1ZkhQOEwvK0thSEZtT2pi?=
 =?utf-8?B?T1daQjNUNTdNL0dxVTd5aXZYTFVJSmUxd0UxS21Rd05RaG9KKyswR3ZFVWxG?=
 =?utf-8?B?cFAvdHlxNFpaZUhMbkpoZkdCWDFRRUE0WXd6OEhieVo3MmtQNGNmMFgyYTE0?=
 =?utf-8?B?cWcyZGU0WWF5S2FWOFhEdUd6a0hkaWJONEpkNUJFdHlqc0lRNnplTlduV2VY?=
 =?utf-8?B?U3Viakw2eDV4S0FMd1VCU0krVmVtankvZ0JyQy9kdE95aWhlbmhZUzdyVjZm?=
 =?utf-8?B?czNQdG1YRjhlbUNCaWlicWRYWjlHUC9hQ0ZYdTVmaHBobjBOSTVJNXllZ3pv?=
 =?utf-8?B?dXhHY0E2K2NoNGxDNFhTMXVySmtrWktONVhaaUcxdlVyMzlJTTBCZCtNbVVm?=
 =?utf-8?B?T05JczBSY2hBL1JiM1YxSnFWdHlTamNKVlVFTG9lUlY0cExKbEoraWRWendV?=
 =?utf-8?B?b0tZTHRRRnJwd1VwY0l6K2czc0lnS3ZoZk1PL29MV0UvbExPd3lzRkRjbEkv?=
 =?utf-8?B?SzBLQVcvMmZwYnd5ZXd1VjErdHVCQXRmRFU0MUdDdVBTOHJweFB1UWxjTmFB?=
 =?utf-8?B?NXBlMWEwMW9XTkhzRmQyQWZ1WHJMbnJ1bnAyU1RBR0hucXdYS3kvdGtaejc3?=
 =?utf-8?B?bVlOVm1GL1Vwb21xQ09PVDAvMDRvdjRHUlloT2t6K1dUa0xON1VPa2gvY3RH?=
 =?utf-8?B?azU0RzIwOHRkcFMrK1c2N0ExTWVyak9mdUZPSFVFeW1rKzRxREU4UkxkS3pB?=
 =?utf-8?B?bTFsNklKbVhJWVZsNkNiUUlPUitrVUFJQVZvblRnZ1dVQ1JROXp2UzVpVVRD?=
 =?utf-8?B?Z0EzUWNXK25lZVlETkR0bWcrTW5aMHcrYWlzVXdQeGV1Q0ptNjZLaWdJbmlO?=
 =?utf-8?B?d1IrT0kwN3grQTJiTXpkVzBXeGdzUDg3Y3NQVVZXeVdUSjM1SUh3d0tLZXIr?=
 =?utf-8?B?aVNtTi85c3ZHdmJiUlY4Z2QwaFF0RExSU1E0UTI3VkFmZDJ4RytKY1ZLUHE4?=
 =?utf-8?B?bGdPK2ljVFVkZlVwdkN6QjVYdG5Cdkg5MStkQlVSdGdQY05JWWYvREh3R0o4?=
 =?utf-8?B?M29QOWRVQndEUm9rSFFUZUxjSkVveXcrMk0zTjU0UzIrNFYwbi85RzZ5aTAx?=
 =?utf-8?B?VlFMaVZWVUVlMk90V0tPOTdpM01uaWJJL0lZU0dZZDBlbzJzZVA3SzBnTFRY?=
 =?utf-8?B?UnVlZFpmLzZaY0RyYnZqOHNsRWZFeWRVMFdCS3V2cEpDMkdrU3lxaE1iaGhI?=
 =?utf-8?B?R1ppSUpBSUdVa1VrcnlxaFlubERRZ0xDK0NYTGNleDloQjlxVGtHNVFIYUJT?=
 =?utf-8?B?cVJ4RDJlR1p5bGUxRXJOMG5mUlllRXZSWmF5MkR5VSsrdm15MGMva2FyRkx1?=
 =?utf-8?B?VzNLY1ZsOFdlc0VTNXRrY3hldkc5SUxsU2krQnEweDZ6S2RVV0hNMEc1citE?=
 =?utf-8?B?bSs4b05RblZEMTNSQm5kbmpha2tkWTkwVGpEeGg3RW96dnZZTjI2Rkdtc3di?=
 =?utf-8?B?a3pDTFNaUkNKU1pOU1BHcGJnUXdiS0tTU2w2dnoraDFnSlRTSytRdG9qeGtV?=
 =?utf-8?B?NWc9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c92e31d-a57a-4409-cae2-08dc59a78712
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 21:45:24.7903
 (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: 1hWmaE08A5VbgK7ZIG8vEYVIlZBJKuJT9VmyCxcW5OYO+q6tfA2zUW30d0vV/9Wj5A9RR7vrzwcZzGFrA08ZWYapGTzdH+rfAsa0q7dwalc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8467

Hi Stefano, Vikram, Viresh,

Thank you for your answers and support, and sorry for my late reply.


On 12/01/2024 02:56, Vikram Garhwal wrote:
> Hi Andrei & Stefano,
>
> Actually, QEMU patches are already upstreamed for virtio-blk and virtio-net
> devices available in v8.2.0.
> For virtio with grants, the patches are WiP.
>
> On Xen side, we are yet to upstream xen-tools patches which basically generate
> the right arguments when invoking QEMU.
> Here are down stream patches if you want:
> 1. https://github.com/Xilinx/xen/commit/be35b46e907c7c78fd23888d837475eb28334638
> 2. For Virtio disk backend:
>     https://github.com/Xilinx/xen/commit/947280803294bbb963f428423f679d074c60d632
> 3. For Virtio-net:
>     https://github.com/Xilinx/xen/commit/32fcc702718591270e5c8928b7687d853249c882
> 4. For changing the machine name to Xenpvh(to align with QEMU changes):
>     https://github.com/Xilinx/xen/commit/5f669949c9ffdb1947cb47038956b5fb8eeb072a
>> The libxl changes are lagging behind a bit and you might have to use
>> device_model_args to enable virtio backends in QEMU.
> But QEMU 8.2.0 can still be used for virtio-net on ARM.
>
> @Andrei here is an example on how to use virtio-net with QEMU:
>     -device virtio-net-device,id=nic0,netdev=net0,mac=00:16:3e:4f:43:05 \
>     -netdev type=tap,id=net0,ifname=vif1.0-emu,br=xenbr0,script=no,downscript=no\
>     -machine xenpvh
>
> Please make sure to use xenpvh as QEMU machine.
>
> Regards,
> Vikram
I've managed to successfully get a DomU up and running with the rootfs based on virtio-blk. I'm running QEMU 8.2.1, Xen 4.18 + Vikram's downstream patches, Linux 6.6.12-rt, built through yocto with some changes to xen-tools and QEMU recipes.

However, when also enabling PV networking through virtio-net, it seems that DomU cannot successfully boot. The device model args passed by xen-tools when invoking QEMU look exactly like what Vikram said they should.

While executing `xl -v create ..` I can see some error regarding the device model crashing:

        libxl: debug: libxl_exec.c:127:libxl_report_child_exitstatus: domain 1 device model (dying as expected) [300] died due to fatal signal Killed

But the error is not fatal and the DomU spawn goes on, it boots but never reaches prompt. It seems that kernel crashes silently at some point. Though, the networking interface is present since udev tries to rename it right before boot hangs:

        [    4.376715] vif vif-0 enX0: renamed from eth1

Why would the QEMU DM process be killed, though? Invalid memory access?

Here are the full logs for the "xl create" command [0] and for DomU's dmesg [1].
Any ideas as to why that might happen, some debugging insights, or maybe some configuration details I could have overlooked?

Thank you very much for your help once again.

Regards,
Andrei Cherechesu

[0] https://privatebin.net/?0fc1db27433dbcb5#4twCBMayizr7x89pxPzNqQ198z92q8YxVheHvNDsVAtd
[1] https://privatebin.net/?ec3cb13fe2a086a1#F1zynLYQJCUDfZiwikZtRBEPJTACR2GZX6jn2ShXxmae
>> For SCMI, I'll let Bertrand (CCed) comment.
>>
>> Cheers,
>>
>> Stefano
>>
>>
>> On Thu, 11 Jan 2024, Andrei Cherechesu (OSS) wrote:
>>> Hello,
>>>
>>> As I've mentioned in previous discussion threads in the xen-devel
>>> community, we are running Xen 4.17 (uprev to 4.18 in progress) on NXP
>>> S32G automotive processors (Cortex-A53 cores) and we wanted to know more
>>> about the support for various VirtIO device types in Xen.
>>>
>>> In the Xen 4.17 release notes, the VirtIO standalone backends mentioned
>>> as supported and tested are: virtio-disk, virtio-net, virtio-i2c and
>>> virtio-gpio.
>>>
>>> However, we've only managed to successfully set up and try some
>>> use-cases with the virtio-disk standalone backend [0] (which Olexandr
>>> provided) based on the virtio-mmio transport.
>>>
>>> As such, we have a few questions, which we haven't been able to figure
>>> out from the mailing list discussions and/or code:
>>>     1. Are there any plans for the virtio-disk repo to have a stable
>>>     version? Is it going to be long-term hosted and maintained in the
>>>     xen-troops github repo? Or was it just an one-time PoC implementation
>>>
>>>     and the strategy for future VirtIO devices will be based on a more generic
>>>
>>>     approach (i.e., without need for a specific standalone app)?
>>>
>>>
>>>     2. With regards to the other backends, we want to try out and provide PV
>>>
>>>     networking to a DomU based on virtio-net, but we haven't found any available
>>>
>>>     resources for it (e.g., the standalone backend implementation if needed for
>>>
>>>     control plane, configuration examples, presentations, demos, docs). Does it
>>>
>>>     rely on the QEMU virtio-net or vhost implementation? Are there any examples
>>>
>>>     on how to set it up? Any required Xen/Linux Kernel/QEMU versions?
>>>
>>>
>>>     3. What other VirtIO device types are there planned to be supported in Xen?
>>>
>>>     I'm supposing libxl will also need changes to accomodate new configuration
>>>
>>>     parameters for each of them. Or is there something I'm missing?
>>>
>>>
>>>     4. Also, while we're at it, are there any plans regarding SCMI
>>>     awareness for Xen (e.g., SCMI Mediator - where the RFC thread from 2022
>>>
>>>     seems discontinued)? Or is the preferred approach for sharing SCMI access
>>>
>>>     to guests through virtio-scmi?
>>>
>>> Thank you very much for the support, once again, and we're also looking
>>> forward to the progress on the rust-vmm initiative.
>>>
>>> Regards,
>>> Andrei Cherechesu,
>>> NXP Semiconductors
>>>
>>> [0] https://github.com/xen-troops/virtio-disk
>>>
>>>
>>>


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 21:51:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 21:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703657.1099422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rufr1-000263-Tr; Wed, 10 Apr 2024 21:51:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703657.1099422; Wed, 10 Apr 2024 21: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 1rufr1-00025w-RH; Wed, 10 Apr 2024 21:51:39 +0000
Received: by outflank-mailman (input) for mailman id 703657;
 Wed, 10 Apr 2024 21:51:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rufr0-00025i-PS; Wed, 10 Apr 2024 21:51:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rufr0-0003Zc-El; Wed, 10 Apr 2024 21:51:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rufr0-000371-3i; Wed, 10 Apr 2024 21:51:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rufr0-0004Fy-3J; Wed, 10 Apr 2024 21:51:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9bkYgzs5qS8AEhgzbjtpRQu3Ak93VGw7M/YG+muNeeY=; b=i1m0qf2JZIQOp71I8AZo5T1mVc
	FKrLNLliMZf4WiKCribAr7NgMXX9sXoteTvmCWSeylUVZPn1CYfSWApI/wj2i3MADZQGtMRs4qS/B
	nChSHnU25DRCiR1xv4Fn7kqPpfairjVYncLJ1huts0IRina4rgXWsrP4XbyR6nvBT8HI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185302-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185302: 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=0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
X-Osstest-Versions-That:
    xen=f48299cad5c3c69fdc2c101517a6dab9c9827ea5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 10 Apr 2024 21:51:38 +0000

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

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                  0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
baseline version:
 xen                  f48299cad5c3c69fdc2c101517a6dab9c9827ea5

Last test of basis   185291  2024-04-09 22:02:16 Z    0 days
Testing same since   185302  2024-04-10 18:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f48299cad5..0e7ea8ca5f  0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 22:14:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 22:14:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703665.1099433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugCh-0006Bb-PI; Wed, 10 Apr 2024 22:14:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703665.1099433; Wed, 10 Apr 2024 22:14:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugCh-0006BU-MR; Wed, 10 Apr 2024 22:14:03 +0000
Received: by outflank-mailman (input) for mailman id 703665;
 Wed, 10 Apr 2024 22:14:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rcYN=LP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rugCf-00069p-Ua
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 22:14:02 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0e5dbee-f787-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 00:14:00 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 6C3FFCE1AAF;
 Wed, 10 Apr 2024 22:13:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76796C433C7;
 Wed, 10 Apr 2024 22:13: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: a0e5dbee-f787-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712787232;
	bh=JszXjHBQ5GW6OameGhPMD+u4QZm+LdxWjTLbTcS5xfw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bGAawdg1AJH+ouBqOfCL0GM6Y7eE3yYSLpe5tRpUnebfOv4Z6kqI+cBG02vdeDW8P
	 HmilV4Qrbgx38wLXjb5eW4q+nYJVS59+i8zs0RJa/G9yqqJPyz+BDqL2mlBMHGIcSI
	 p6QYDviuWsHLa2KXLLCvIsCfEAyu2K0NhDn8YZcNch5Fr/+fH1EfOumLOOTRwXoOLT
	 xwyWoc4HrH6iQITmZHX0S1qrGWC+7rKtdv0yIDiMiBljqtXGmNx5EXI4vxwalvpxLL
	 W07VLm8rmtmGwXuysVvImDRVBe++2COkRdP8E83wIvUJSD9Pvl7QWew9/Op0zuEEgG
	 DyYJvl13U3Wxg==
Date: Wed, 10 Apr 2024 15:13:50 -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>, 
    "consulting @ bugseng . com" <consulting@bugseng.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] x86/hvm: Fix Misra Rule 19.1 regression
In-Reply-To: <20240410103721.593839-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404101513310.711344@ubuntu-linux-20-04-desktop>
References: <20240410103721.593839-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-378593374-1712787232=:711344"

  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-378593374-1712787232=:711344
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 10 Apr 2024, Andrew Cooper wrote:
> Despite noticing an impending Rule 19.1 violation, the adjustment made (the
> uint32_t cast) wasn't sufficient to avoid it.  Try again.
> 
> Fixes: 6a98383b0877 ("x86/HVM: clear upper halves of GPRs upon entry from 32-bit code")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: consulting@bugseng.com <consulting@bugseng.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Federico Serafini <federico.serafini@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/include/asm/hvm/hvm.h | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
> index 595253babeaf..899233fb257b 100644
> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -575,16 +575,16 @@ static inline void hvm_sanitize_regs_fields(struct cpu_user_regs *regs,
>      if ( compat )
>      {
>          /* Clear GPR upper halves, to counteract guests playing games. */
> -        regs->rbp = (uint32_t)regs->ebp;
> -        regs->rbx = (uint32_t)regs->ebx;
> -        regs->rax = (uint32_t)regs->eax;
> -        regs->rcx = (uint32_t)regs->ecx;
> -        regs->rdx = (uint32_t)regs->edx;
> -        regs->rsi = (uint32_t)regs->esi;
> -        regs->rdi = (uint32_t)regs->edi;
> -        regs->rip = (uint32_t)regs->eip;
> -        regs->rflags = (uint32_t)regs->eflags;
> -        regs->rsp = (uint32_t)regs->esp;
> +        regs->rbp = (uint32_t)regs->rbp;
> +        regs->rbx = (uint32_t)regs->rbx;
> +        regs->rax = (uint32_t)regs->rax;
> +        regs->rcx = (uint32_t)regs->rcx;
> +        regs->rdx = (uint32_t)regs->rdx;
> +        regs->rsi = (uint32_t)regs->rsi;
> +        regs->rdi = (uint32_t)regs->rdi;
> +        regs->rip = (uint32_t)regs->rip;
> +        regs->rflags = (uint32_t)regs->rflags;
> +        regs->rsp = (uint32_t)regs->rsp;
>      }
>  
>  #ifndef NDEBUG
> 
> base-commit: f48299cad5c3c69fdc2c101517a6dab9c9827ea5
> -- 
> 2.30.2
> 
--8323329-378593374-1712787232=:711344--


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 22:15:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 22:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703667.1099442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugE9-0006mB-2K; Wed, 10 Apr 2024 22:15:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703667.1099442; Wed, 10 Apr 2024 22:15:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugE8-0006m4-W3; Wed, 10 Apr 2024 22:15:32 +0000
Received: by outflank-mailman (input) for mailman id 703667;
 Wed, 10 Apr 2024 22:15: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=rcYN=LP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rugE7-0006lw-7J
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 22:15:31 +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 d6d17d2e-f787-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 00:15: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 76D5A61EBF;
 Wed, 10 Apr 2024 22:15:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EB220C433C7;
 Wed, 10 Apr 2024 22:15: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: d6d17d2e-f787-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712787328;
	bh=RajWWn5wHyd9SEhjABkVHwoohvGQCx9wQpPZ5Q/WPBI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Cbx45eaO7zLg0j6bZwfdJal3RCC6FmoqeOuZ+7FFFWy325e8qZU128sz7F4cUXMZE
	 mK9x+DKdGbC1jOb/k+oQmZJ9IJcboz5/S112ZcbaNG36RioLgPAmZx76Dr/h9SDIEE
	 DqlEem5gOHb1rx8Q8dhNrYGUyplU63aqs8KIZf+SZZV2JZPTCUDtm88gpvpX7SkhLV
	 a4jrWKkfmfMoFcEF9txd1FOoXrJYCcFeg4T2zez+FmcmmKHzr2YSAN0BGdeFbnkoMa
	 Kb4Le0O46QEIK77rT2gfxfun9IHo7aDmuEL0dcqmpMxvmawSk06mG3kUIeDaFWX5cA
	 9pzHmqTBDipng==
Date: Wed, 10 Apr 2024 15:15:25 -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>, 
    "consulting @ bugseng . com" <consulting@bugseng.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] xen/nospec: Remove unreachable code
In-Reply-To: <20240410192659.1490271-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404101515190.711344@ubuntu-linux-20-04-desktop>
References: <20240410192659.1490271-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 10 Apr 2024, Andrew Cooper wrote:
> When CONFIG_SPECULATIVE_HARDEN_LOCK is active, this reads:
> 
>   static always_inline bool lock_evaluate_nospec(bool condition)
>   {
>       return arch_lock_evaluate_nospec(condition);
>       return condition;
>   }
> 
> Insert an #else to take out the second return.
> 
> Fixes: 7ef0084418e1 ("x86/spinlock: introduce support for blocking speculation into critical regions")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 22:15:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 22:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703669.1099453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugEZ-0007Ex-AV; Wed, 10 Apr 2024 22:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703669.1099453; Wed, 10 Apr 2024 22:15:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugEZ-0007Eq-7Y; Wed, 10 Apr 2024 22:15:59 +0000
Received: by outflank-mailman (input) for mailman id 703669;
 Wed, 10 Apr 2024 22:15:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YNPZ=LP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rugEX-0007EL-5a
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 22:15:57 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2077.outbound.protection.outlook.com [40.107.7.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e54f2402-f787-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 00:15:53 +0200 (CEST)
Received: from DU2P251CA0001.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::12)
 by DU0PR08MB7859.eurprd08.prod.outlook.com (2603:10a6:10:3b1::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 22:15:23 +0000
Received: from DU6PEPF0000B61D.eurprd02.prod.outlook.com
 (2603:10a6:10:230:cafe::63) by DU2P251CA0001.outlook.office365.com
 (2603:10a6:10:230::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Wed, 10 Apr 2024 22:15:23 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000B61D.mail.protection.outlook.com (10.167.8.137) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 10 Apr 2024 22:15:23 +0000
Received: ("Tessian outbound f0b355493f75:v300");
 Wed, 10 Apr 2024 22:15:22 +0000
Received: from 9936c50dbbb0.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AD211F90-9836-4C4B-9CCE-859BBD0DDDE1.1; 
 Wed, 10 Apr 2024 22:15:12 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9936c50dbbb0.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 10 Apr 2024 22:15:12 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB6454.eurprd08.prod.outlook.com (2603:10a6:20b:33a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.47; Wed, 10 Apr
 2024 22:15:08 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024
 22:15:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e54f2402-f787-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Nsdt9LRMdVW1W5WvzOPBIT0z6Pvc76Rmyl9eTX7kcHm4ac2nbVkYryjgvkpkyhtPRpLMuZIU45FvY1hBzcy+btlWv1304mreUTLk2S9i3iyD3mzN3lpIDNNAwwGPKNIW9DLHlOK3jwxLNlfx2G+IZ0SjmrqxSbP+b+N3DITcKC8z/7VCV9rdy1svpTEz05ZAHIlGwD60qh0FENMnsiuF9Iovv3F45HAhnf0Ich4cN3/fKdCMFIdTMYgGKFSA54NdQ2lVrPdSMLtVql69K6DQg2PhsRdHPig2dFRceMIeuJWjEXkdDKvnZ6iAZFc43WBRi1VN4Qjflkkmof3hFkosug==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i4NjFr8QXusWYiDeLGqgJZoqYhbdfoqnOJxzVEGKduE=;
 b=mK6HpGvScV+ezi0oqDYoqJY/4uFQqoVU2ndvyQNVExMXXhvL/T8Hy7EROjufqf9xtO6U0lXvVDNsW7P6/ZU920SseNPihfYtpPZlwa9AHF+j8b+hn9+3qJ6tu+2jpY22Gm7IEqcIgeHudbaTKrSIgt6hDB85S14oZUHvB0pWVAeCnHESSQM08MFRwL1mM4gBGTKbGteMM0JodOe0jUWsPPJ63P2wO/7r5WdcuzpTLnU2Twj3eInO9tFEWOBiQ74UaTlTBIEXdIpOw/68ib008Yyf7HJKpiL6Y8nJ9UxAYa9ogWijg9dCG+QC4utoKXePDDEWQhbvJAvPWwuoE0GxUw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i4NjFr8QXusWYiDeLGqgJZoqYhbdfoqnOJxzVEGKduE=;
 b=b+wWk3PzT5+YY+GSrzmvLI5ju1FiSWrhwLoqff9ipCm1wlIpMQdi7LFtGUS0RoOJ+u2Jr+xt52kxoIeBLsGI0Mf6wWNYhorwvpUTXS847eZZljR3ehvDJWJsD0Eu1T49o7m8qk6lNYrcv5HIbwemWmZXQXYDCvZ7Q5EYfIakALU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 4f69cbb5f7d51c24
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aBdm7AwdEDiUcoHAI4RzSoTpTooFkamKhd5EAz7+ZZpSEOSr9+sx0EMe1l4NbX0Gcc3ObRYet4NRm6lAtOdXZFSGfJPdZ2lpSjRndkmeZS3L44xM6dzY2Gl0hP2OK4aUnDT1wBZO/hwLMxdy9TtAmFKkkYPIHGg8rWTCbljIJShg9oFTGd7jSi+JBJXkOvlMzuppXR8ju7MExfX188LZjndke9wBS8evT3a1s8l2kz0/yCkpZxQPDc9eav9ywl6LdsBYdv+WENttGeh5uBoCgWsCDR8ontWkTTAi0Pgk/ubuSj0VpwwCdYIP5Ix1oxhdFIu7lqPRAfaAuA4dS38v9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i4NjFr8QXusWYiDeLGqgJZoqYhbdfoqnOJxzVEGKduE=;
 b=dyFTxRns3l7WCfhGzcfIx7ToxdMxyg7uFN7u/TKWRLRFxnlKKz6BUWHJhCPad8igfHRSjWQ40mbl3QwGSMptkNl3yFVs1hEH+imMyqBhhsTc0lVi/Toi3zeKDNE29npgJWQ2BCGG5aFGY9hoDqJCaoZZWBieyJBbe4oJ+n/At540uIjCuj4Xkknrjf8yf/fKMiWnG1hXZq91RGfw6rSlKjTAhAP/Zygvmzq5s+FN4MZ73IoFYvgIAdQnz4WCxBQkl7yv8ksYtKNcGPGGHLcRy0QRiZ0E9/jPAc9LfRYZYMCBvS5fQdwKTznSRvCF24lUKw041xxdY4SbXt2VjaAvrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i4NjFr8QXusWYiDeLGqgJZoqYhbdfoqnOJxzVEGKduE=;
 b=b+wWk3PzT5+YY+GSrzmvLI5ju1FiSWrhwLoqff9ipCm1wlIpMQdi7LFtGUS0RoOJ+u2Jr+xt52kxoIeBLsGI0Mf6wWNYhorwvpUTXS847eZZljR3ehvDJWJsD0Eu1T49o7m8qk6lNYrcv5HIbwemWmZXQXYDCvZ7Q5EYfIakALU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 4/4] xen/virtual-region: Drop setup_virtual_regions()
Thread-Topic: [PATCH v2 4/4] xen/virtual-region: Drop setup_virtual_regions()
Thread-Index: AQHai3biMWazacOqM0yj9H6Ey1PPRbFiEh4A
Date: Wed, 10 Apr 2024 22:15:08 +0000
Message-ID: <3545F142-9557-4A91-8CEC-133CDA5F0EA9@arm.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
 <20240410184217.1482366-5-andrew.cooper3@citrix.com>
In-Reply-To: <20240410184217.1482366-5-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB6454:EE_|DU6PEPF0000B61D:EE_|DU0PR08MB7859:EE_
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 vsY/4/aOdiT/ay8xWJDRlIMQ8XrO2wObjlTq+oBPpANRHyDBr2PSkDUXe7yCVvZCYPQ0DJaExNSAPX6E/fhNAZ70D1SHVOAQcXWIIj+pxTrOCEref09NjOFWUh14uZnI1YW6ohNUx8BrwLh5PtXVoWA+s2BRiDnaufLuPhf175Y/L/dRr0gCTd1Au+ez1fxUa9tNxbrkqdcA+HJ0XGyz1lcL1wRjoQi7o/360cBAVeobQ3T1TZFz3qjTxwEZ2bATny1mP/DctSwfK9gdso0lG0ebXicliHrkNk30I3yZpHc/yd6xTMFvRhYAJQIkDGPZZoQwbdOzKZhiEOuba+hZIdndH2liWzdN+JN6ZKLQ0GWdqQE4TopgnlSO6kkaTKqizijAy2Z+KYTNO7XGFk5AttmC9edp5ITS/SaICCv+svk8COqHSc6D4DoOoyAoakHTbo3dIxfJTvU4muhQMHgd7QeQ199KMhJPx/YtFwO5tlZVslfULwZIiPQfVJGHZDD1Ntm5eQmo5nkSXT0pfd2i9AsohxxiConc4BGvODsLxXP71wmC7kS+kENpdVE9qfNm92stdp+mQ7Di2dLtl8BCurqB8+L9Y7k0lcWPxqGVIOUUmgM9X/x558O8FKdNcYzQ7m3l/5EWWHlFwNA51ok9FBBDFQXoZRU1z/oUUNnQW70=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(7416005)(376005);DIR:OUT;SFP:1102;
Content-Type: text/plain; charset="utf-8"
Content-ID: <715F3F33B7CB6642B2B3097ED42043E5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6454
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000B61D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d2e8d9ad-944e-4ba7-484b-08dc59abb76a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pek9FdqkatXTrlBIyF8IK0F9na6LEl9L/dTipevKHJqtExyr6VVgLUq5qCyhUPoJ+8p2c3EUvbgG27lYYdVty3Jcgzyw2XKX43+43Kfm4DLPG9Aen+/Dy43RKgQSUBhsDmvBTFvoPHp3RWci+JAEBr9mvZmX8Z5PhFk9i2aAKuZn0XGPgmQ3M7i7UWMMVOTPXS8XPmkML6/dCM/zmyE2EBYzkdIjRkAnabTakMPMBNKYE6+U7PR031/F693rEQrIr/F3FKwc2LO8C04AhaY1tHDbC1wbPnL1bB9fdDRmuzpqBWR6iNeydhuyYJT6beBuUb/n/naine3lzO7k3CBeFcH9krMJQpzxma4XDrckVEnHBylXg7JBS3kOU1MZzfVptU7h/w46/pHiIVsPKflDIwuRAGbFiLiHiGCehAe7yWfMFlLrBVJ5nPQS977vBXEXEe4LByBPZl1ptt+qpMCgv7qB49CGbFpkU6dAezJ1KQ87npFcQ7cHDnXYoQFi9Qx0DZCQxVpD60lAVBkxl5uMc9/BR0ElJ+TrVVFTcIdeBG5TDbw+bs6/9cMDFyOvIZumJ/WfPyZYoMs5xJP8Ve9STrIiD2vkKo8rnRachjp73Hz/sBPjFMhBwBj3uqIfGB0uSUVg75oj5noS8tdzAg2HALX9lImSuGzuQEXyPnV/L2kvV7IZ7RKJ/E0PfJGw1E+lFH2IwzBtoAmMHUucNMcm3vS1D5CQnW+cwHBMguL0E1EmW2j8WbNinaXJ0gw4t9PU
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 22:15:23.1087
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d2e8d9ad-944e-4ba7-484b-08dc59abb76a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000B61D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7859

DQoNCj4gT24gMTAgQXByIDIwMjQsIGF0IDE5OjQyLCBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IEFsbCBvdGhlciBhY3Rpb25zIGl0IHVzZWQg
dG8gcGVyZm9ybSBoYXZlIGJlZW4gY29udmVydGVkIHRvIGJ1aWxkLXRpbWUNCj4gaW5pdGlhbGlz
YXRpb24uICBUaGUgZXh0YWJsZSBzZXR1cCBjYW4gZG9uZSBhdCBidWlsZCB0aW1lIHRvby4NCj4g
DQo+IFRoaXMgaXMgb25lIGZld2VyIHNldHVwIHN0ZXAgcmVxdWlyZWQgdG8gZ2V0IGV4Y2VwdGlv
bnMgd29ya2luZy4NCj4gDQo+IFRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIG1vdmUgJ2NvcmUnIGlu
dG8gcmVhZF9tb3N0bHksIHdoZXJlIGl0IHByb2JhYmx5IHNob3VsZA0KPiBoYXZlIGxpdmVkIGFs
bCBhbG9uZy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+DQoNCkZvciB0aGUgYXJtIHBhcnQ6DQoNClJldmlld2VkLWJ5OiBMdWNh
IEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+ICNhcm0NCg0KSeKAmXZlIGFsc28gdGVz
dGVkIHRoZSBzZXJpZSBvbiBhcm0zMiBhbmQgYXJtNjQgb24gcWVtdQ0KDQpUZXN0ZWQtYnk6IEx1
Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 22:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 22:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703670.1099463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugEk-0007ZW-If; Wed, 10 Apr 2024 22:16:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703670.1099463; Wed, 10 Apr 2024 22:16:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugEk-0007ZL-Fk; Wed, 10 Apr 2024 22:16:10 +0000
Received: by outflank-mailman (input) for mailman id 703670;
 Wed, 10 Apr 2024 22:16: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=rcYN=LP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rugEj-0007YI-7l
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 22:16:09 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed80821b-f787-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 00:16:08 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id E8F2261D0F;
 Wed, 10 Apr 2024 22:16:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86AA8C433F1;
 Wed, 10 Apr 2024 22:16:05 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed80821b-f787-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712787366;
	bh=46IkWD+AwYLdXm+T3R5SOQtm9GRT7B94y+pScVw/Hoc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CGcMFCflZX1AHYYt7tTki8sZAU1GhJ5e2GPrSOgixX7zKVJ6a+OYhdO4rYCb1ShPn
	 r+7QBRIMl4czauDb/mksfwmmyusiR04dd/EEsap9N9zXz2qVeRGgEHiWYX+X1vQ5ED
	 TcO45zfze17vkBKW3j8/+9m8z4E0yH2J9uHyNur+kGzefT0vyOM3Y5OGC2JcJ6T9/6
	 +7zYqu3FUImznldI8z3A6NmrQ7wsUqK6GixAZcpn58tWJNLLo9CPIbYNR+BhDZ2aMM
	 1K8QaT0eiMNc+hRlEjxdkUw+FrbrMAXYED0v+hsUsf4zFFtEhGwzm1MaZnSBt3rYhw
	 kMItsFemiTYtg==
Date: Wed, 10 Apr 2024 15:16:04 -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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "consulting @ bugseng . com" <consulting@bugseng.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] xen/vPCI: Remove shadowed variable
In-Reply-To: <20240410193348.1492018-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404101515580.711344@ubuntu-linux-20-04-desktop>
References: <20240410193348.1492018-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 10 Apr 2024, Andrew Cooper wrote:
> Resolves a MISRA R5.3 violation.
> 
> Fixes: 622bdd962822 ("vpci/header: handle p2m range sets per BAR")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 22:16:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 22:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703674.1099472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugFS-0008Jj-Qq; Wed, 10 Apr 2024 22:16:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703674.1099472; Wed, 10 Apr 2024 22:16:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugFS-0008Jc-OJ; Wed, 10 Apr 2024 22:16:54 +0000
Received: by outflank-mailman (input) for mailman id 703674;
 Wed, 10 Apr 2024 22:16: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=rcYN=LP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rugFR-0008JC-TK
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 22:16:53 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07aa4f5b-f788-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 00:16:52 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 6DA65CE291E;
 Wed, 10 Apr 2024 22:16:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 56E3BC433F1;
 Wed, 10 Apr 2024 22:16: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: 07aa4f5b-f788-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712787409;
	bh=9PDV7xbjZEyDJ4qcPe84mUN5sTL+1vwkkw/SxGvG+sY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=oXrzhz2WQRGbcO8h8YxU1hQCfrltpvfVHIDkxiUi4vMseoZcver6xtcMPIH1PS+JJ
	 xIxqzdKeEWu3dT/Mw+5mp6mB4oxHiAYmGb51V/aNZNLY59QQiKmTLJcymifsBrkiu0
	 J1lvT2v1qdja5BT2ZwqktLM52r02dwdYhbXluGhxjivrKmxwsKzFN2oWWVCf4/O9dO
	 Xw9u1OlHgUSYWQ5QWLqeMZ+rkQgZij5GV9VxRK/q1dlCPWnAzo504mvrNOuokcAlFJ
	 aIt7sYqv06GX6/yeStlHGJbkivi5ntdNu9vmkG77NEHX6hhweoRxM+r6M4rLbU7iif
	 z/s9+SHLd/3+A==
Date: Wed, 10 Apr 2024 15:16: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>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Juergen Gross <jgross@suse.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>
Subject: Re: [PATCH] xen/spinlock: Adjust LOCK_DEBUG_INITVAL to placate
 MISRA
In-Reply-To: <20240410193531.1499128-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404101516400.711344@ubuntu-linux-20-04-desktop>
References: <20240410193531.1499128-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 10 Apr 2024, Andrew Cooper wrote:
> Resolves an R7.2 violation.
> 
> Fixes: c286bb93d20c ("xen/spinlock: support higher number of cpus")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 22:17:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 22:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703678.1099483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rugGE-0000RX-2a; Wed, 10 Apr 2024 22:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703678.1099483; Wed, 10 Apr 2024 22:17: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 1rugGE-0000RQ-05; Wed, 10 Apr 2024 22:17:42 +0000
Received: by outflank-mailman (input) for mailman id 703678;
 Wed, 10 Apr 2024 22:17: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=rcYN=LP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rugGD-0008JC-2m
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 22:17:41 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23fc59de-f788-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 00:17:40 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 0789BCE2AB0;
 Wed, 10 Apr 2024 22:17:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C77EC433F1;
 Wed, 10 Apr 2024 22: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: 23fc59de-f788-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712787457;
	bh=hyzAmNc5yc+bIFBdfeWPrFehNQaEIVwneQZVyo52llc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XbJmXkSCSVU/BJu7cXjZ5eE7ndytJ9RQ5SLEYdooy/fH3QtQ5GaDrcItj8PRg/4/+
	 K8kh7w3f45t8aygNXU6jYtMLtxVUDGCBwIDK3eNuIGIwZBiJNTuE+WNlMZb9ZFzDEb
	 xJo2i/n7DgHsZVqph9eC3s6OECEEcOKXmv+2fcdYOXrLTvohuJ50JMqQCGe12P4iQv
	 ZpTP3p6rIz4+eDShuNkucQbsP6pNBmG7JTYT2BVB+4pmMQedgTFcm3x2Eb1FqFKPll
	 T243HNSBTOGpRUC020f7uteV3YD3RBVo5HNC3ZqwD/fY5vzqus59HecklqPRrMOWYU
	 s/j4aVs+Xkdig==
Date: Wed, 10 Apr 2024 15:17: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>, 
    "consulting @ bugseng . com" <consulting@bugseng.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] x86/emul: Adjust X86EMUL_OPC_EXT_MASK to placate MISRA
In-Reply-To: <20240410194531.1500509-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404101517200.711344@ubuntu-linux-20-04-desktop>
References: <20240410194531.1500509-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1780247962-1712787457=:711344"

  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-1780247962-1712787457=:711344
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 10 Apr 2024, Andrew Cooper wrote:
> Resolves 4740 MISRA R7.2 violations.

LOL!!


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


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

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: consulting@bugseng.com <consulting@bugseng.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Federico Serafini <federico.serafini@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> of 4935, so 96% of them...
> ---
>  xen/arch/x86/x86_emulate/x86_emulate.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
> index 698750267a90..d92be69d84d9 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -620,7 +620,7 @@ struct x86_emulate_ctxt
>   * below).
>   * Hence no separate #define-s get added.
>   */
> -#define X86EMUL_OPC_EXT_MASK         0xffff0000
> +#define X86EMUL_OPC_EXT_MASK         0xffff0000U
>  #define X86EMUL_OPC(ext, byte)       ((uint8_t)(byte) | \
>                                        MASK_INSR((ext), X86EMUL_OPC_EXT_MASK))
>  /*
> 
> base-commit: 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
> prerequisite-patch-id: 8d06e56c5d8a52f1387e1f5a7fce6a94b8c4a1ed
> prerequisite-patch-id: 13355d26254b979c79de456c9a6ea6a9c639ba63
> prerequisite-patch-id: d1f308616490257685a49248e29f1b3516c2dde4
> -- 
> 2.30.2
> 
--8323329-1780247962-1712787457=:711344--


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 22:44:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 22:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703693.1099492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruggG-0005x2-3x; Wed, 10 Apr 2024 22:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703693.1099492; Wed, 10 Apr 2024 22:44:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruggG-0005wv-0y; Wed, 10 Apr 2024 22:44:36 +0000
Received: by outflank-mailman (input) for mailman id 703693;
 Wed, 10 Apr 2024 22:44:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a91P=LP=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1ruggE-0005vW-F6
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 22:44:34 +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 e5c330d1-f78b-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 00:44:32 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-56e6646d78bso4048781a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 15:44: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: e5c330d1-f78b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712789072; x=1713393872; 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=tMizZl+Vqp5JNwp1YMb5ta7Uk1RvNa2X4SM4hK/B6PI=;
        b=O5dQ1Yb2YW8lg1Ouk75DpRYKnbPT0nLF5rx2CRpjDmVB10EdchrUjgEJGxoPZWLXvJ
         0MIEHwnEFg/ClVKaSglLn76kG2xUcBvut+24zHqziLDebmVRUbLFCDzsws2ilt2qCOGS
         qfpNvpqO/FvFkIkThE8Cke6bEUfNXzuR8ZgvzMSqN/k0jCD3JzajLnarSKplAT8KY+bd
         Y/SN/a97x3t6u6h/TRw+uNY40UMLdeNUSjg7Rv05K/DA7DXNdLBH/nt5OXHxvfCTVq6F
         dfIcpzHthpTxsnyB3v43plyKYAazwhLm8mnVPcKoh2i6eqpmWuuMLivfdPOokE7iNMcF
         vmkw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712789072; x=1713393872;
        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=tMizZl+Vqp5JNwp1YMb5ta7Uk1RvNa2X4SM4hK/B6PI=;
        b=up40fx+FCIPcKX1n36tB+G0JzGOdxcoJ/MuSor5QtYL52yrlohZwuHarD1PxNMWKps
         nzKJYLd5ieb2hJaSedb8flhJuBkGrwc20I+Fly40adiSLgrhR/QinbzEyXa1Uun5GgiU
         40TPREPASuI54V1/EXLgoZgebi22THVS8g95ZQ+NlM626ac4QZe8SR5oxcIwa3JHneW9
         7JxBGF9eA2gQGNp+U1BPtFRsTxGYWdWkd3Nu1VPoH0Os6J1cysUORIzEvOmggNvhxgNM
         v+gK2/0nkbzMnY9fGUSpmJPj8f1yjEZDoEPTVhuwMrruPerxPD1nMJ0HEcwVGhE6q1bA
         WPiQ==
X-Forwarded-Encrypted: i=1; AJvYcCW0a9BS+QK8w8bKtWKttaIU/y5QHM0AEulVovA3TuY82ooHqf5DQz2EQ+xfbLwAVPr2xpkeJgMEerlU7q/z/QjC9n1OWslxH2/kRG63k4c=
X-Gm-Message-State: AOJu0Yw7+mCKxZEiktvlPJr3B1NISzNlVm5ToYhwzXWnYDvvgff6zgPh
	6BSS5dmnk+utbY/3kEeKasV9AKZn59O1Mic5tu33J1JMwLH4QY7RQ37fr6mort3JCF1aICOKC+o
	y6q+n7C/pHljzQ/uq70ZMfb4Ao2A=
X-Google-Smtp-Source: AGHT+IHUb2kSqmQGoyf/pmBPVmanUCKY1ukJu0Hjls0xlJbsF3+yQNgx6yhmq+jquYJQb7UKAKsU2zKca4hxGXn8sEU=
X-Received: by 2002:a50:875a:0:b0:56e:359d:fcea with SMTP id
 26-20020a50875a000000b0056e359dfceamr2534639edv.34.1712789071572; Wed, 10 Apr
 2024 15:44:31 -0700 (PDT)
MIME-Version: 1.0
References: <20240409094712.21285-1-jgross@suse.com>
In-Reply-To: <20240409094712.21285-1-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 10 Apr 2024 18:44:19 -0400
Message-ID: <CAKf6xptBEksXYaPg55fEHAvPLuCkW+h4iWerofxzu1GdLcrPBg@mail.gmail.com>
Subject: Re: [PATCH] x86/pat: fix W^X violation false-positives when running
 as Xen PV guest
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org, 
	xen-devel@lists.xenproject.org, 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>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Juergen,

On Tue, Apr 9, 2024 at 5:47=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> When running as Xen PV guest in some cases W^X violation WARN()s have
> been observed. Those WARN()s are produced by verify_rwx(), which looks
> into the PTE to verify that writable kernel pages have the NX bit set
> in order to avoid code modifications of the kernel by rogue code.
>
> As the NX bits of all levels of translation entries are or-ed and the
> RW bits of all levels are and-ed, looking just into the PTE isn't enough
> for the decision that a writable page is executable, too. When running
> as a Xen PV guest, kernel initialization will set the NX bit in PMD
> entries of the initial page tables covering the .data segment.

I think this is a more accurate description of what I investigated:
"When running as a Xen PV guest, the direct map PMDs and kernel high
map PMDs share the same set of PTEs.  Kernel initialization will set
the NX bit in the direct map PMD entries, and not the shared PTEs."

The WARN()s I saw were with direct map addresses.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 23:47:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 23:47:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703698.1099503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhek-0007tN-HI; Wed, 10 Apr 2024 23:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703698.1099503; Wed, 10 Apr 2024 23: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 1ruhek-0007tG-EE; Wed, 10 Apr 2024 23:47:06 +0000
Received: by outflank-mailman (input) for mailman id 703698;
 Wed, 10 Apr 2024 23:47:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IHON=LP=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1ruhei-0007t7-Cz
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 23:47:04 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2417::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0230dd7-f794-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 01:47:01 +0200 (CEST)
Received: from MN2PR08CA0021.namprd08.prod.outlook.com (2603:10b6:208:239::26)
 by DS7PR12MB6168.namprd12.prod.outlook.com (2603:10b6:8:97::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7409.55; Wed, 10 Apr 2024 23:46:57 +0000
Received: from BL6PEPF0001AB56.namprd02.prod.outlook.com
 (2603:10b6:208:239:cafe::dc) by MN2PR08CA0021.outlook.office365.com
 (2603:10b6:208:239::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.21 via Frontend
 Transport; Wed, 10 Apr 2024 23:46:57 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB56.mail.protection.outlook.com (10.167.241.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 23:46:57 +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.35; Wed, 10 Apr
 2024 18:46:56 -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.35 via Frontend Transport; Wed, 10 Apr 2024 18:46: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: a0230dd7-f794-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hn7BOqFVZ2YCfbLLPAMbwEgyUHutLQ+dXUIz1WA7hS3/FE0PcBFWAkfyJ8M5nsLVzg6EHmlRFHrLLCdcRrJtScbFRyi2FztBAv5P9o4yIpZfo40lMgZn5m7nWl7/iMyzVt/CUz9rEw73b+bKFtYdGYIchX0am2JCyMie+PzaBcO5p6sWMPfGXmm3METutAc1qlp3YFhMIZ+VlDq/novNn6p4MNkATYPzMTPAHSBwA++qoI9/jXKqaPRADRAssZkxEyNZTOsCSiKHDtP9cjUoJv3IYNYZuz1wET4+1eP3/5EPxtIivqbwaRT4w/hEi3cqFUz2AsKK+/up3L0nI0ZMFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=leTZkBBDMUOQmiQ2SJOw/6i4poxD1KhJnVX+szn1yH0=;
 b=Vfzw29Y0JkvrFcUalTnGP9BZzVbIZML4PiDO+32Yymb1ycYTr9iHPGYpSk0WgkQiyTvknMaOEefYDM/Jj/y7uDLlPqG/itz/MlqsVs4OPbvqEfeVUfBFE/ib81W0IjmD+Ioid4KiJGA0mSHrVjEf72/9KKaj7kScLntJuOxHQZ0ZHKOohwQAkWPKK60eJFfswskSDOnppu9cgtmSoxRan/kENCUQLWruGaYUNl4+RzaBN6rynHaHqd1uX0iDaNi1z/n/Dz3qKrxDLaZlcR+JuXqyIw8j8foI4qvGwB6CZMFyBdhv4xoGwOop45EIkzP0BmS+v3S0GMo0xr2HwP+j3A==
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=leTZkBBDMUOQmiQ2SJOw/6i4poxD1KhJnVX+szn1yH0=;
 b=0eg61K1i+Vmt1wQSx3tXaaGfBSmemTt9mKZ5d4T0g2rNSf3BbPC8wbFwdqebjG+1dsk6ooJnwmhyKRtzIHMyUXfYTxsvpdVakNtmHzK/m27Fi55b4pRKsPs9M6yUUeU3eEeHyvVbW3l+kU387KkJMaPQ1pby+6hAht4XU9ztAOc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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, 10 Apr 2024 16:46:55 -0700
From: Stefano Stabellini <stefano.stabellini@amd.com>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<julien@xen.org>, <michal.orzel@amd.com>, <roger.pau@citrix.com>
Subject: [PATCH v2 0/4] xen/public: use fixed-size integers
Message-ID: <alpine.DEB.2.22.394.2404101644130.976094@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"
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: BL6PEPF0001AB56:EE_|DS7PR12MB6168:EE_
X-MS-Office365-Filtering-Correlation-Id: 6ef775c9-3a6f-4cae-de46-08dc59b8823a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4z3i26Zd9aU0VZSEz2uh3+SkPLtqPyqW9AkTQ2cI0zUFYZrnE8AXF0jB2u40hTuL0A6kA6/kXKnovOuaLFe6N87YEn9vei+NDM+M/4bK1uuoVzaHIhLzQoH9aCb/uPcyB7yQ9PkZRWxZhrd9IaESDja5VHUK8KGaTDDOPT0+ufO059YqE4hRYxT/25WrAPZZ70Dsr6Xu2qrvtlmCuj9ue2M/R8GscrhZypGXvl8o2FQBsTExg3e3+k9waxc2EfJnj1nNFM8nxrSfIbessGmYS7e8587G7QGqzhRm2kt2cjwJD61tDa6whUy1qvwwMP9qNlfpA3tejRf2nOvyk/vd1CRoLJBdiS7iNr08yL/eF1B2KqCjLiD0x3Q4yqFlr+mGTpN69uZZAoAlRdNlAVHYdFBHwybb2Ul81BcazlwOZKcHFNaionrAOc4FCvMGPYG3yp/jhv96b66AbyjAW5Vsz1JqCkkbtZCopk/WdpA3cgf6WdGugIkQ7E0HWsQ3G5ysACEtmnwjq//7UW8mgt1pWF8ggRe05FOA9/UIcXpk2LWTtZY5BJF+t2DlgnlzK+f6c9i5GCPlKVseJOt/S2qqEVHduNGqog0ztyxbu9oGdiZ/+NF2ZG5whlsojJAFpEfKxlyAgvQ40dNKi4x+J1WBGbQkUd10+i1XSUhqfJhpJH/dnZUFTeavj/3uuQ2+QIVriXD5wJoc2IPY0+qmNWOLinxwA0yCdwZcbGAkTpEQJV3ZfE35c5gWTai7i3hLoP14
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 23:46:57.3205
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ef775c9-3a6f-4cae-de46-08dc59b8823a
X-MS-Exchange-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:
	BL6PEPF0001AB56.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6168

Hi all,

This short patch series replaces integers without a fixed size with
fixed-size integers in public headers.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Wed Apr 10 23:47:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 23:47:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703700.1099513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhfR-0008MG-RC; Wed, 10 Apr 2024 23:47:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703700.1099513; Wed, 10 Apr 2024 23:47:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhfR-0008M9-Md; Wed, 10 Apr 2024 23:47:49 +0000
Received: by outflank-mailman (input) for mailman id 703700;
 Wed, 10 Apr 2024 23:47:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IHON=LP=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1ruhfQ-0007t7-GO
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 23:47:48 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e88::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id baa886fd-f794-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 01:47:46 +0200 (CEST)
Received: from CH2PR18CA0040.namprd18.prod.outlook.com (2603:10b6:610:55::20)
 by CH2PR12MB4279.namprd12.prod.outlook.com (2603:10b6:610:af::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 23:47:43 +0000
Received: from CH2PEPF0000013E.namprd02.prod.outlook.com
 (2603:10b6:610:55:cafe::15) by CH2PR18CA0040.outlook.office365.com
 (2603:10b6:610:55::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.21 via Frontend
 Transport; Wed, 10 Apr 2024 23:47:43 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF0000013E.mail.protection.outlook.com (10.167.244.70) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 23:47:42 +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.35; Wed, 10 Apr
 2024 18:47:42 -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.35; Wed, 10 Apr
 2024 18:47:42 -0500
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 18:47: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: baa886fd-f794-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xz0aPTC7yJsBrSTqLXwv/Z94O00NmP8HaaJnsML+69f5Whu7Vg3cerIraViOU35SCkk+5Tlyt3C2tYhKCDgxTzrDzlcUMoQeQ3H6X4uGjnz7yXK/3QX6VORd9w2nPiV1v10Sf3A/VHpJR+D2LDjOkK5rhhCj/peKraxI7meVuD8eEQ8X14KeyKhDzrD/G5apNPGgOrH84yDXzNIlylqyElLXhbZ3wbzbGe8KSo/wOXSIQQ/zzOj4ksbHYrV6i3JUDqb+s40ISBwkJExQQXU7gl3FHW5ZExMN+slawp29N2sbv/+WCo20Cvxr2JpcxwLhDeRinoIiOo7shjKMLZASrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ot1zIKwUZdXj/ZfNnzvk1/bHE2ALpacyHXmCky+ZK38=;
 b=hZ59EtBCG3qm0fLNfZ9HtUV/PS4bt9dR+1oU8OlnNRmP6UNdkkDfQJfnJggmj41aj+1NyMkdCnf9r8ydumoAWwWTNpd+P44G2p071DF25YMThdajEoUEV6cVBm4rvUbM5m0Fw0bVmcawg2YchxAEj9LTNdYk0UAkz6jAC3AICeNPZ42z1PUR6PoTO5L5DNtadJ3r643Yxp93SsnE8A4qn0lHiOmSVJ0ZfbDQxMabKs/adISm72oKceU7k1A6nHGYhUuJFXuRnrqka1AUAqmVxbxAtzBzDePnMoUHv0nsVo7KwYy3QW3aIU2aB7v+HwhHvGAqNUvL79Tp2RvEZA+aaw==
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=Ot1zIKwUZdXj/ZfNnzvk1/bHE2ALpacyHXmCky+ZK38=;
 b=Pb59rVsy8Hl9SXzfopfGZ89o7cJBf4E04Sb70Ra75zyWCDvTL0ObD2OrnDKwcXP46znhhu7py011uJmg1J/LuyA0blibdCBh2OCVcPq0HCIgN47rl+fJ4uYZKNcjQ+nMImt5fgpBJATCD1P0NSTRt/D2HP520J4AaQshbvk9dt4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<julien@xen.org>, <michal.orzel@amd.com>, <roger.pau@citrix.com>, "Stefano
 Stabellini" <stefano.stabellini@amd.com>
Subject: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers sizes/alignments
Date: Wed, 10 Apr 2024 16:47:37 -0700
Message-ID: <20240410234740.994001-1-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF0000013E:EE_|CH2PR12MB4279:EE_
X-MS-Office365-Filtering-Correlation-Id: b697effd-5984-4c12-d294-08dc59b89d4c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Gy5hwsz4WKY/cBQVoPO+rpKWhrSDjr38t7GoJcjtVOTSPC53WGHg8l+EnEPCYtugw6eH4c739Qosq/EAdVOVrZEQZsjZLuTvFSk09E1ACozBrd682hhUxPpm8SWz0U9prtNmMmPiBjxuz9Jmf4YH92KzlEFmn9Y3y5uOI6qBZ1d6+LD1jLoWnvi4u34C17Cz9ybAUwqBtNdTQdl1CBT8Nd44eaYRVsDe+z5UIvKyRLqvfUhgCFsW99fCG/n8ahl/quInbBl7nIDXrpn/63JtP5tF023wYgDJPqrtY+5Qd5Xmi+7eJ0N4X6ySQYfOwDX0PXmFFsSXOZg6zDOsYlCPgJ0wXFqVGzs9egukvSKMlOj0gq28Qd28+y+JG7cZ+aG7Ol593x9Mr+pXcmJcU81NRndl0A9+7R1zvUzdOusyzGNNqv3Z/hHkHQYThm1UTbkDDwYLntCfjF/dLiHct7oi5X9VlqorNmSDLXKKu5d1zzMNYA7DcfDcdIQvC6QH0/yJa5SlhgvuzABqodHg+I12AarEIEhKuXdDD7eO6NxoHY2wah63Sc7pX4qdXj2+7JdZCOOYNn59Dbm+SY6aupbEfYnvO3rBfNjmk4vM0AtfW5EOmFMdlS/TnJd7B4exkXFJh/kiH67CDlALM5m/QVya12xY4yqg2my+LjiiuZ1iS6lQUiV2Gp4XXbkG4wKDOpB6oh7uyC0TIkuwcrKaSy/Nhfj1QnhI0+AV8iNB+/pW/ngjYg6pLm/djJs5XPp37XeU
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 23:47:42.7054
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b697effd-5984-4c12-d294-08dc59b89d4c
X-MS-Exchange-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:
	CH2PEPF0000013E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4279

xen_ulong_t is widely used in public headers.

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

Given that xen_ulong_t is used in public headers there could be a better
place for documenting it but this was the most straightforward to add.
---
 docs/misra/C-language-toolchain.rst | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index 5ddfe7bdbe..7a334260e6 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -531,6 +531,17 @@ A summary table of data types, sizes and alignment is below:
      - 64 bits 
      - x86_64, ARMv8-A AArch64, RV64, PPC64
 
+   * - xen_ulong_t
+     - 32 bits
+     - 32 bits 
+     - x86_32
+
+   * - xen_ulong_t
+     - 64 bits
+     - 64 bits 
+     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R
+       AArch32, ARMv7-A
+
    * - long long
      - 64-bit
      - 32-bit
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 23:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 23:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703701.1099523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhfT-00009f-0y; Wed, 10 Apr 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 703701.1099523; Wed, 10 Apr 2024 23: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 1ruhfS-00009Y-UC; Wed, 10 Apr 2024 23:47:50 +0000
Received: by outflank-mailman (input) for mailman id 703701;
 Wed, 10 Apr 2024 23: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=IHON=LP=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1ruhfR-0007t7-SC
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 23:47:49 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbf7e741-f794-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 01:47:47 +0200 (CEST)
Received: from MN2PR19CA0065.namprd19.prod.outlook.com (2603:10b6:208:19b::42)
 by BL3PR12MB6644.namprd12.prod.outlook.com (2603:10b6:208:3b1::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 23:47:44 +0000
Received: from BL6PEPF0001AB55.namprd02.prod.outlook.com
 (2603:10b6:208:19b:cafe::74) by MN2PR19CA0065.outlook.office365.com
 (2603:10b6:208:19b::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 23:47:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB55.mail.protection.outlook.com (10.167.241.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 23:47:43 +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.35; Wed, 10 Apr
 2024 18:47:43 -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.35; Wed, 10 Apr
 2024 18:47:43 -0500
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 18:47: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: bbf7e741-f794-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jv+eQzE59uYRpgDZQzo1+ss1Y0qMisSd39Ww/BsgrnY+1AEv9yyxXjJrAZFTRJ6xxx2kqgeMU4vTfyZ4VRSPjRvuuHNqlS3zASpXthtJO1SpuO7DsogJv3kXniIDaZup23m6mfBLp0Ocq6bWjWZ5BtNfsCYQeq5oj4cVi75CMyBRDeIGpdsfPXcpKQO8AetxyRA/WiW5zVTQPJ42lj/czyMfcDHSTWNi8dIhCqfgj76XkVIDJM1DCZh/tmHgykXP8hjZCOLlyHRYvhiJr9bqhlbnzxmiszX0Zp4vNhLyaQEDUIWvIZJHw2TK7fGwVbiIDcD5qNDf3Vh2yeVDHETwnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gaIg2vgRJkUNARF3tfFcTa4SSvAWBZd5C0EPMzdLi6I=;
 b=bqrrap8dSOgS+MjXXgsJ1gXeOtue+/0iObxFnetegAj3hRu/IegsDAsTgq3Z3GvoDfa6ehhUaYoyXYvA8BSa9eXg17eTQe8CLrtvWMOzAZWkcg6gDYalsKBRx5ZNEvavR82JQRUwAvY9m2UV5qAJvAOxPpQEFzFBMsNqWiaz82bXlu9XBN3RtUdDT+LT5zD9BcJouW8G4y6y0NJ6ZPqSQ/cBupdCSe7VXwIYzwu2pFDJLQK+BSF6Fp4ctfgX+EIybZQfDOSeLDg7tBV9FdJoa71EfvQgp2lMsJxNhUEoY3MZ+cbSnU14bUW3suZHLoai5Eo/UMui/1GKgWXE1IpHUQ==
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=gaIg2vgRJkUNARF3tfFcTa4SSvAWBZd5C0EPMzdLi6I=;
 b=Vk+2zYhBNRmZ8/iIB13nP7MvN/Od8fwYUvrWHQ992zaSFThSznKX1ZTwbTJa8HoT6ODzVrUtSOGYaDRc/YgJ1O2WDHRo/mqb381eSq2iuQsd5wvMumgxGUrgMAp3F/bufYqyAwOwhuYC7e+V6X/5N+0kKckFRlEqjbMrZ8oOCUc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<julien@xen.org>, <michal.orzel@amd.com>, <roger.pau@citrix.com>, "Stefano
 Stabellini" <stefano.stabellini@amd.com>
Subject: [PATCH v2 2/4] public: s/int/int32_t
Date: Wed, 10 Apr 2024 16:47:38 -0700
Message-ID: <20240410234740.994001-2-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB55:EE_|BL3PR12MB6644:EE_
X-MS-Office365-Filtering-Correlation-Id: 702328bc-c093-4e5c-ca80-08dc59b89dd1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h9Scw4j9GOPVcZg0lVjC4C1ncTKDm0fFAgXTSz1HYtVKG05QifkvYcSoI8/D0jA+SRGH9TQdi4gSn0ZYMFV7/FHfgYK6JovMaYuKVJQ7AlBN7c2237ii+1r+fVvziU529xasxISsLhM2j5vhLaAiuJjeLLFngnCUcNqMFRpHCRyRmQBuRjQ+XwIbYHeZHOVIMYPRUwkgfN8xzVQfSoZGvTNmP82/M8ImMPoOLNa9jR69hWhwwa6BsIjKM8ot0BNZPamBGrPHg06Zjv45ep52VbiH2E3VUgRZIFmTiFYoB5DMVHgxuF7zSsLxrh/YatB5Zj5Btn7EfzEGLqtsRZpm0V6BWldQ48Ugh3QsbNl2I1ab6TBY0HPciva4WkXW95LZhExSlFeRX0gQ77Jx1DsYuRC+sPly/h69XaFv/Xq+2wlQCPySWCu1yy1BuVzM1Uat9m/aDs2CGLLLnyeVNG480HPSQliDk7Wo8f8fbNFe+z24rK0+8bI8PBV+Le3jv5QsJXE2YHevr9SX0sgTTr3X+n9FzS/P/1XNAi7EJN1XlAVB/0Oq/TCP4N3xW75NLswRVbyBuyJyDGoh8z/KkM2SUdV3MJjKKEMUWG+e9gFd4MYd8bKAYBZ8qYWpFDqyksKq7SHsSaFCcYIg1fnQZ4KAdM4zJv3jEPUnsT+TbSlbRtFFWXw08wRucTXPu9sesm2ekDLmdLqVP1I1071ZGcyxGSZHS2zcl9r6SUzz/h/p80ZJJOIN8cpC/P0fSZiiNROb
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 23:47:43.5926
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 702328bc-c093-4e5c-ca80-08dc59b89dd1
X-MS-Exchange-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:
	BL6PEPF0001AB55.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6644

Straightforward int -> int32_t and unsigned int -> uint32_t replacements
in public headers. No ABI or semantic changes intended.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- avoid changes to GUEST_HANDLEs for now (there was one GUEST_HANDLE
change in v1)
---
 xen/include/public/kexec.h   |  8 ++++----
 xen/include/public/memory.h  | 22 +++++++++++-----------
 xen/include/public/physdev.h | 18 +++++++++---------
 xen/include/public/sched.h   |  6 +++---
 xen/include/public/vcpu.h    |  2 +-
 5 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index 40d79e936b..8d2a0ef697 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -105,7 +105,7 @@ typedef struct xen_kexec_image {
  */
 #define KEXEC_CMD_kexec                 0
 typedef struct xen_kexec_exec {
-    int type;
+    int32_t type;
 } xen_kexec_exec_t;
 
 /*
@@ -116,7 +116,7 @@ typedef struct xen_kexec_exec {
 #define KEXEC_CMD_kexec_load_v1         1 /* obsolete since 0x00040400 */
 #define KEXEC_CMD_kexec_unload_v1       2 /* obsolete since 0x00040400 */
 typedef struct xen_kexec_load_v1 {
-    int type;
+    int32_t type;
     xen_kexec_image_t image;
 } xen_kexec_load_v1_t;
 
@@ -143,8 +143,8 @@ typedef struct xen_kexec_load_v1 {
  */
 #define KEXEC_CMD_kexec_get_range       3
 typedef struct xen_kexec_range {
-    int range;
-    int nr;
+    int32_t range;
+    int32_t nr;
     unsigned long size;
     unsigned long start;
 } xen_kexec_range_t;
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 5e545ae9a4..ae4a71268f 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -61,13 +61,13 @@ struct xen_memory_reservation {
 
     /* Number of extents, and size/alignment of each (2^extent_order pages). */
     xen_ulong_t    nr_extents;
-    unsigned int   extent_order;
+    uint32_t       extent_order;
 
 #if __XEN_INTERFACE_VERSION__ >= 0x00030209
     /* XENMEMF flags. */
-    unsigned int   mem_flags;
+    uint32_t       mem_flags;
 #else
-    unsigned int   address_bits;
+    uint32_t       address_bits;
 #endif
 
     /*
@@ -163,7 +163,7 @@ struct xen_machphys_mfn_list {
      * Size of the 'extent_start' array. Fewer entries will be filled if the
      * machphys table is smaller than max_extents * 2MB.
      */
-    unsigned int max_extents;
+    uint32_t max_extents;
 
     /*
      * Pointer to buffer to fill with list of extent starts. If there are
@@ -176,7 +176,7 @@ struct xen_machphys_mfn_list {
      * Number of extents written to the above array. This will be smaller
      * than 'max_extents' if the machphys table is smaller than max_e * 2MB.
      */
-    unsigned int nr_extents;
+    uint32_t nr_extents;
 };
 typedef struct xen_machphys_mfn_list xen_machphys_mfn_list_t;
 DEFINE_XEN_GUEST_HANDLE(xen_machphys_mfn_list_t);
@@ -232,7 +232,7 @@ struct xen_add_to_physmap {
     /* Number of pages to go through for gmfn_range */
     uint16_t    size;
 
-    unsigned int space; /* => enum phys_map_space */
+    uint32_t    space; /* => enum phys_map_space */
 
 #define XENMAPIDX_grant_table_status 0x80000000U
 
@@ -317,7 +317,7 @@ struct xen_memory_map {
      * return the number of entries which have been stored in
      * buffer.
      */
-    unsigned int nr_entries;
+    uint32_t nr_entries;
 
     /*
      * Entries in the buffer are in the same format as returned by the
@@ -591,7 +591,7 @@ struct xen_reserved_device_memory_map {
      * Gets set to the required number of entries when too low,
      * signaled by error code -ERANGE.
      */
-    unsigned int nr_entries;
+    uint32_t nr_entries;
     /* OUT */
     XEN_GUEST_HANDLE(xen_reserved_device_memory_t) buffer;
     /* IN */
@@ -711,9 +711,9 @@ struct xen_vnuma_topology_info {
     domid_t domid;
     uint16_t pad;
     /* IN/OUT */
-    unsigned int nr_vnodes;
-    unsigned int nr_vcpus;
-    unsigned int nr_vmemranges;
+    uint32_t nr_vnodes;
+    uint32_t nr_vcpus;
+    uint32_t nr_vmemranges;
     /* OUT */
     union {
         XEN_GUEST_HANDLE(uint) h;
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index f0c0d4727c..03ccf86618 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -142,17 +142,17 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
 struct physdev_map_pirq {
     domid_t domid;
     /* IN */
-    int type;
+    int32_t type;
     /* IN (ignored for ..._MULTI_MSI) */
-    int index;
+    int32_t index;
     /* IN or OUT */
-    int pirq;
+    int32_t pirq;
     /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
-    int bus;
+    int32_t bus;
     /* IN */
-    int devfn;
+    int32_t devfn;
     /* IN (also OUT for ..._MULTI_MSI) */
-    int entry_nr;
+    int32_t entry_nr;
     /* IN */
     uint64_t table_base;
 };
@@ -163,7 +163,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_map_pirq_t);
 struct physdev_unmap_pirq {
     domid_t domid;
     /* IN */
-    int pirq;
+    int32_t pirq;
 };
 
 typedef struct physdev_unmap_pirq physdev_unmap_pirq_t;
@@ -224,7 +224,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_op_t);
 
 #define PHYSDEVOP_setup_gsi    21
 struct physdev_setup_gsi {
-    int gsi;
+    int32_t gsi;
     /* IN */
     uint8_t triggering;
     /* IN */
@@ -242,7 +242,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_setup_gsi_t);
 #define PHYSDEVOP_get_free_pirq    23
 struct physdev_get_free_pirq {
     /* IN */
-    int type;
+    int32_t type;
     /* OUT */
     uint32_t pirq;
 };
diff --git a/xen/include/public/sched.h b/xen/include/public/sched.h
index b4362c6a1d..57ac3df47b 100644
--- a/xen/include/public/sched.h
+++ b/xen/include/public/sched.h
@@ -116,14 +116,14 @@
 /* ` } */
 
 struct sched_shutdown {
-    unsigned int reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
+    uint32_t reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
 };
 typedef struct sched_shutdown sched_shutdown_t;
 DEFINE_XEN_GUEST_HANDLE(sched_shutdown_t);
 
 struct sched_poll {
     XEN_GUEST_HANDLE(evtchn_port_t) ports;
-    unsigned int nr_ports;
+    uint32_t nr_ports;
     uint64_t timeout;
 };
 typedef struct sched_poll sched_poll_t;
@@ -131,7 +131,7 @@ DEFINE_XEN_GUEST_HANDLE(sched_poll_t);
 
 struct sched_remote_shutdown {
     domid_t domain_id;         /* Remote domain ID */
-    unsigned int reason;       /* SHUTDOWN_* => enum sched_shutdown_reason */
+    uint32_t reason;           /* SHUTDOWN_* => enum sched_shutdown_reason */
 };
 typedef struct sched_remote_shutdown sched_remote_shutdown_t;
 DEFINE_XEN_GUEST_HANDLE(sched_remote_shutdown_t);
diff --git a/xen/include/public/vcpu.h b/xen/include/public/vcpu.h
index f7445ac0b0..2b8df2b0da 100644
--- a/xen/include/public/vcpu.h
+++ b/xen/include/public/vcpu.h
@@ -63,7 +63,7 @@
 #define VCPUOP_get_runstate_info     4
 struct vcpu_runstate_info {
     /* VCPU's current state (RUNSTATE_*). */
-    int      state;
+    int32_t  state;
     /* When was current state entered (system time, ns)? */
     uint64_t state_entry_time;
     /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 23:47:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 23:47:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703702.1099533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhfV-0000Qz-Ck; Wed, 10 Apr 2024 23:47:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703702.1099533; Wed, 10 Apr 2024 23:47: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 1ruhfV-0000Qs-8K; Wed, 10 Apr 2024 23:47:53 +0000
Received: by outflank-mailman (input) for mailman id 703702;
 Wed, 10 Apr 2024 23:47: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=IHON=LP=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1ruhfT-0007t7-Kn
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 23:47:51 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2416::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd3430bf-f794-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 01:47:49 +0200 (CEST)
Received: from CH2PR08CA0016.namprd08.prod.outlook.com (2603:10b6:610:5a::26)
 by BY5PR12MB4179.namprd12.prod.outlook.com (2603:10b6:a03:211::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 23:47:45 +0000
Received: from CH2PEPF00000141.namprd02.prod.outlook.com
 (2603:10b6:610:5a:cafe::99) by CH2PR08CA0016.outlook.office365.com
 (2603:10b6:610:5a::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 23:47:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF00000141.mail.protection.outlook.com (10.167.244.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 23:47:44 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 18:47:44 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 16:47:44 -0700
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 18:47:43 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd3430bf-f794-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mkx5idiKwmP+0GweDu1YTBHzCHkqO/wiF3WavkELe4upegSJlqZYX5BCmEn/D1jcEiTBVXit69MZeN9jWj2GA7B2h93/nC7L7U+yepencwyv3U/uiD8EpZzb1SdKNzd70410jdVweXim3koSBJn2lsr9JLXutIC8bjxYFtEuZz8ipPBx5E9rmYlX9kMnTLXg5Y8lMj2eXjvS/KY+VDRDLcxDnoea9cr1gBwFcdte2eOdbNBZTKZ4mZuWpK9xtjLjQUMKna/nqFkNCHB2jxhB8OZWOTl+zxMSPU1shTNw25LCphCOdiRRnRbRKvsyZMJBONipBHZIFvrEbKntfH37mg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gjXObuSoQi0Mi/Diq12/QBuomsKSbc6r1oDEiMbK9vk=;
 b=I6L8vm5mo/Xl4aNQHg/6NJHvPYE+pygsKlG+VSHl2lCQ8efJYESUTDbzsfaKi1J6EQ9GCj1xWX2mM8lZtIa1SX5BUuhr4pVvkHN0HwdvXgwzI+zJPEAOCRYSO7LUeaiXU8XidFPxU6cjCodvpiuUBq/FaJqHkSdw0L8AsW0/z4UTfbIFetSwAvZMf/S5DaCESw3auaJ6k1UTrBOg7l87JEI1nvTr3CCsavkFXorprXbX4+RqNgu2E7zo6VP1AAjUKlgs2Sw6c8bXR+MBfBeezVBmRzmegiSg8C9JV2R6ZIA92dhhYZdz0NschqAMBiflusEOscwjQrXe1m3hWOd51w==
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=gjXObuSoQi0Mi/Diq12/QBuomsKSbc6r1oDEiMbK9vk=;
 b=es3hTMFov5ZMIHMGDSoXos8kcktB16wHQUMQjVROTw1/wZMOtfgYM+Ye+uLV1BCN6mEMOKXk2KOsO/PkW5RaV901JZQ4h/Q4WwfJHIyvsNGrEMAQSi6oM3kUyKWoUx9F2hzj8SOwC22fe3jUNmuRGPPnI41/PfTXH8G5ijI1/FM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<julien@xen.org>, <michal.orzel@amd.com>, <roger.pau@citrix.com>, "Stefano
 Stabellini" <stefano.stabellini@amd.com>
Subject: [PATCH v2 3/4] xen/public: s/unsigned long/xen_ulong_t
Date: Wed, 10 Apr 2024 16:47:39 -0700
Message-ID: <20240410234740.994001-3-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF00000141:EE_|BY5PR12MB4179:EE_
X-MS-Office365-Filtering-Correlation-Id: 293d367a-adbf-428b-22a8-08dc59b89e74
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ogr6uBxTnxgTj99C/iDnAqFU0kbREFzKw4LECr69WNyoafHJYXOoA57svm3urbqif1nv2gog1LaiExvbwBx3/piJ9PswmoTQgnlq9rPdOaIKS4ue3T+QcGkHmiuetniCCzA97sgUaJMw7YjeHPIOKXJXyloDmvR1GYzfyrJ6MzysUf1nk6JdmfeMyAAN89wm0lWrRecfFctn2SVFCeDJhZ3SqqbTYlh4GFQJIhGo3534XDfHrEI8GTy19nxnVBRR+83RAYFrkwB6JION+MYAYK/qxayV6d4Zaw9GfKlTn/q92IZK4EB72butZiN34W25ONOcQLN678cEsPLW+kTTGgqGSm45CTr/gWHhu9pvoFwfB/hjKovJ8YpNiJnVVKez7VzKDWyRRjGaS+e+IdL/W6/99J/cJikLsCySyrKeV1dq2b5kNaJTQ8rAyy3CmP4bDVoFbERperaGdJadU/3ne1nNDIlMvlLskK/GxVPWnOLAfkM9rqPC2gQt/NHGxzr02J7hEW2yhIY4fvrIBdB4zftqfDDuwB8OAhwz3cYyyPtB02Ls0NFB8d31HJERv+kOZiPNsRegNfKio9SwTM0LMtFhm76AbftVHBrShN3hrueHucV5ooF/uaD8G7FOcd86sZTrUOkAIajcPhW5qZKgBJZayD10zI2Y17M8bN1oeG63S2x8MqtbMdyzt1FbhE5rHUznN8AsQEiwEcLmzijcogsnXSdgfnNv2BGMmOltQmXEYLob4KlNFJUirN2wEMm8
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 23:47:44.6408
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 293d367a-adbf-428b-22a8-08dc59b89e74
X-MS-Exchange-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:
	CH2PEPF00000141.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4179

The goal is to use only fixed-size integers in public headers, such as
uint32_t and uint64_t.

However, there are cases where the ABI changes depending on the
architecture. In those cases, adding #ifdefs might be the clearest
solution but it is also cumbersome. We already define a xen_ulong_t type
which is widely used in public headers and it is defined differently by
architecture.

Instead of unsigned long, use xen_ulong_t in public headers:
- it makes it clearer that size might change by arch
- it gets us closer to the goal of no unfixed-size integers in public
headers

Note that unsigned long and xen_ulong_t are the same thing on x86 (both
32-bit and 64-bit) but they differ on all other arches. However, all
the interfaces with xen_ulong_t or unsigned long are x86-only interfaces
today. Thus, this patch doesn't introduce any ABI or semantic changes.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 xen/include/public/kexec.h   | 10 +++++-----
 xen/include/public/nmi.h     |  4 ++--
 xen/include/public/physdev.h |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index 8d2a0ef697..89164094d9 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -78,10 +78,10 @@
 
 typedef struct xen_kexec_image {
 #if defined(__i386__) || defined(__x86_64__)
-    unsigned long page_list[KEXEC_XEN_NO_PAGES];
+    xen_ulong_t page_list[KEXEC_XEN_NO_PAGES];
 #endif
-    unsigned long indirection_page;
-    unsigned long start_address;
+    xen_ulong_t indirection_page;
+    xen_ulong_t start_address;
 } xen_kexec_image_t;
 
 /*
@@ -145,8 +145,8 @@ typedef struct xen_kexec_load_v1 {
 typedef struct xen_kexec_range {
     int32_t range;
     int32_t nr;
-    unsigned long size;
-    unsigned long start;
+    xen_ulong_t size;
+    xen_ulong_t start;
 } xen_kexec_range_t;
 
 #if __XEN_INTERFACE_VERSION__ >= 0x00040400
diff --git a/xen/include/public/nmi.h b/xen/include/public/nmi.h
index 5900703f5f..c8c0ddafc2 100644
--- a/xen/include/public/nmi.h
+++ b/xen/include/public/nmi.h
@@ -43,8 +43,8 @@
  */
 #define XENNMI_register_callback   0
 struct xennmi_callback {
-    unsigned long handler_address;
-    unsigned long pad;
+    xen_ulong_t handler_address;
+    xen_ulong_t pad;
 };
 typedef struct xennmi_callback xennmi_callback_t;
 DEFINE_XEN_GUEST_HANDLE(xennmi_callback_t);
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index 03ccf86618..5bbb809fae 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -109,7 +109,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_set_iobitmap_t);
 #define PHYSDEVOP_apic_write             9
 struct physdev_apic {
     /* IN */
-    unsigned long apic_physbase;
+    xen_ulong_t apic_physbase;
     uint32_t reg;
     /* IN or OUT */
     uint32_t value;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 23:47:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 23:47:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703703.1099540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhfV-0000UZ-Rl; Wed, 10 Apr 2024 23:47:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703703.1099540; Wed, 10 Apr 2024 23:47: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 1ruhfV-0000U3-I6; Wed, 10 Apr 2024 23:47:53 +0000
Received: by outflank-mailman (input) for mailman id 703703;
 Wed, 10 Apr 2024 23:47:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IHON=LP=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1ruhfT-0007t7-Ri
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 23:47:51 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bccf6886-f794-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 01:47:49 +0200 (CEST)
Received: from BL0PR02CA0130.namprd02.prod.outlook.com (2603:10b6:208:35::35)
 by IA1PR12MB6114.namprd12.prod.outlook.com (2603:10b6:208:3ea::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Wed, 10 Apr
 2024 23:47:46 +0000
Received: from BL6PEPF0001AB59.namprd02.prod.outlook.com
 (2603:10b6:208:35:cafe::25) by BL0PR02CA0130.outlook.office365.com
 (2603:10b6:208:35::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Wed, 10 Apr 2024 23:47:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB59.mail.protection.outlook.com (10.167.241.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 10 Apr 2024 23:47:46 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 18:47:45 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 10 Apr
 2024 16:47:44 -0700
Received: from smtp.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 10 Apr 2024 18:47:44 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bccf6886-f794-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oCt2VsceRPGGwTVkv5rKIuNY22rB+tt+TW47EClnznBC3nOgzIsEYmXpp1sSjajBekJqfZt2uMAMJ+o03nrsvcjWTz0jS0mfvy96y9NeMcezhMHpeFtwvvjS/g5tfpgHccP/QQ16RECBWOvsGmFJL/GiSogqappvM/n9UdVC41nJIOnrGC6tnr2HwKiFlOS0DaU5aOrKS8VIDmmb3YO56N1BIiV+4nYQavTgUAH12eZ3qDKbXIGzKyAQkcLgMsRb8WMBO2e1+A7KDk4HVnTv0EwQ8eM0s01y3KDbu35lS+luU4ZBuijmdcta02K8Vysb6rJupwnQY46g317lto9Igw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FmOGjAB3JzSfwRzRe/4an+3+taCqNqKKqxNPitif1Ek=;
 b=S3u3WURuG7Kb0kcNbCDaty6TC4cFipGuG2ZXCIo3FBiAY2b7VMF0oPfrWM8zlFFd/hvxo4GojKy6SSEP3c7aFLm0zp0MGHKEpm9iFcGhqIYZ853ZLgb3sYj9exvtbLnBDNwdHBk1VMiGpO5qUqnTAWwsUwFSVqerEij8yzKkKk+EXQEyxO94SLyHyxu7g4uZWSdvyxg+z+wBwGR6R2gPG+Xe+tUU+wx81D/vPkipiY00cfo+WTDDqNh+BwMKufxAPc80/YYbU7JCBUBkDQpyU+Dq7wA+vQGRvi/6qtsT5zRevZVGA0GaFCdiy+MXFhEiHG6jMHR/6e1PSrxr9k+wag==
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=FmOGjAB3JzSfwRzRe/4an+3+taCqNqKKqxNPitif1Ek=;
 b=K1SsA6JVEihBj3CrL87V2rq0ChTuMSYjOmKWIU1nwq6iRJjit75vpvEFIxYH38zN0OPo2mGP2N4Vyj4Pn73tuGMGat9TSU4znSKCWxGXsbInfiLI0yR2BgI1P2AXG8TAZzTYvhn7NVFEcZjaYTuGooXUy/vfVNLsLSqurN4MGaE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Stefano Stabellini <stefano.stabellini@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <andrew.cooper3@citrix.com>,
	<bertrand.marquis@arm.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<julien@xen.org>, <michal.orzel@amd.com>, <roger.pau@citrix.com>, "Stefano
 Stabellini" <stefano.stabellini@amd.com>
Subject: [PATCH v2 4/4] xen/public: replace remaining int and long
Date: Wed, 10 Apr 2024 16:47:40 -0700
Message-ID: <20240410234740.994001-4-stefano.stabellini@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB59:EE_|IA1PR12MB6114:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f58f3be-e1b1-4b97-ab04-08dc59b89f7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Fr4CchXOYuS83nGdBpTLeun5R7IT8jLYTlZlxp9fvt+EYBTn/0ikTSHrpSnnnMVaony15D5rbhGvOHdK+TR4jEGcp4lZ4OrQ0wjZMpWd6HXbPycr1zFAxb/aMcT0/eba5hjI65cNqJemlBFe5hR/1dehY0aPkpKlRPpNm5Hn/8Fu2HMBaNGyJhsolMNJkhzogfi1hDM8QiihrZNa0tFZ/jnF3c1bZQ04HH6O+GPTA2lIV/Kmw+wgaquAZYI3EPBCEWHBuo6AMzmftpTijq+i8psKfVZkGTkPatcaC5nztyMF9dWgyqqXyIk8tAVd+gMmWxfx7WlKwz4LAVVCRREx7BCIkK0+KS7qXNmDNVIOrwX7TetjGpaUCoQkXXzcAQx8fHWi/jlLH5IV9ML7olDxLgBx2M2u+DBZSlqWk8Gc/+bKDbDYpQ+Wx67ejOP0jpkzzx5yhYWgs+2LKA6Atn4RyurExwDd//0R1qo+K2XpuP34CA/LyJ2UATPkjycBTv2M7YNY0Qp/9+NpX1cfn8aKgf1l0yKsnpgGzxR4R+J8UTGJ1WamaNv5xeBTwzyfgTDbRRjCUbrwY3k8kfGZ6/vRcqQdgh5mdUxDP+KGWNCsuAOm1wrCcmNo3P3kZRgQkPBq1ZDzD4WHFo8ZIPoydQSd4HvquQlm60LZZYToFhSF771RVhdlTqLkPuV+ELBT4b5bZERuF1Dcr/R91cC0pRYSfN4/IFlWKJXrCR8cyDOBAAV3D5jz1mrn/MWRiXqhn28R
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2024 23:47:46.3901
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f58f3be-e1b1-4b97-ab04-08dc59b89f7c
X-MS-Exchange-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:
	BL6PEPF0001AB59.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6114

Replace all int and long in few remaining x86-specific headers and
x86-specific hypercalls.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 xen/include/public/arch-x86/hvm/save.h   |  4 +-
 xen/include/public/arch-x86/xen-x86_32.h | 10 ++---
 xen/include/public/arch-x86/xen-x86_64.h | 10 ++---
 xen/include/public/arch-x86/xen.h        | 50 ++++++++++++------------
 xen/include/public/xen.h                 | 24 ++++++------
 5 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 7ecacadde1..8e3dfcf439 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -415,7 +415,7 @@ struct hvm_hw_pci_irqs {
      * Indexed by: device*4 + INTx#.
      */
     union {
-        unsigned long i[16 / sizeof (unsigned long)]; /* DECLARE_BITMAP(i, 32*4); */
+        xen_ulong_t i[16 / sizeof (xen_ulong_t)]; /* DECLARE_BITMAP(i, 32*4); */
         uint64_t pad[2];
     };
 };
@@ -428,7 +428,7 @@ struct hvm_hw_isa_irqs {
      * Indexed by ISA IRQ (assumes no ISA-device IRQ sharing).
      */
     union {
-        unsigned long i[1];  /* DECLARE_BITMAP(i, 16); */
+        xen_ulong_t i[1];  /* DECLARE_BITMAP(i, 16); */
         uint64_t pad[1];
     };
 };
diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h
index 9e3bf06b12..0b2671ab65 100644
--- a/xen/include/public/arch-x86/xen-x86_32.h
+++ b/xen/include/public/arch-x86/xen-x86_32.h
@@ -68,7 +68,7 @@
 #define MACH2PHYS_VIRT_END    xen_mk_ulong(__MACH2PHYS_VIRT_END)
 #define MACH2PHYS_NR_ENTRIES  ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>2)
 #ifndef machine_to_phys_mapping
-#define machine_to_phys_mapping ((unsigned long *)MACH2PHYS_VIRT_START)
+#define machine_to_phys_mapping ((xen_ulong_t *)MACH2PHYS_VIRT_START)
 #endif
 
 /* 32-/64-bit invariability for control interfaces (domctl/sysctl). */
@@ -151,14 +151,14 @@ DEFINE_XEN_GUEST_HANDLE(cpu_user_regs_t);
 #define xen_cr3_to_pfn(cr3) (((unsigned)(cr3) >> 12) | ((unsigned)(cr3) << 20))
 
 struct arch_vcpu_info {
-    unsigned long cr2;
-    unsigned long pad[5]; /* sizeof(vcpu_info_t) == 64 */
+    xen_ulong_t cr2;
+    xen_ulong_t pad[5]; /* sizeof(vcpu_info_t) == 64 */
 };
 typedef struct arch_vcpu_info arch_vcpu_info_t;
 
 struct xen_callback {
-    unsigned long cs;
-    unsigned long eip;
+    xen_ulong_t cs;
+    xen_ulong_t eip;
 };
 typedef struct xen_callback xen_callback_t;
 
diff --git a/xen/include/public/arch-x86/xen-x86_64.h b/xen/include/public/arch-x86/xen-x86_64.h
index 43f6e3d220..bd27fc59fe 100644
--- a/xen/include/public/arch-x86/xen-x86_64.h
+++ b/xen/include/public/arch-x86/xen-x86_64.h
@@ -67,7 +67,7 @@
 #define MACH2PHYS_VIRT_END    xen_mk_ulong(__MACH2PHYS_VIRT_END)
 #define MACH2PHYS_NR_ENTRIES  ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>3)
 #ifndef machine_to_phys_mapping
-#define machine_to_phys_mapping ((unsigned long *)HYPERVISOR_VIRT_START)
+#define machine_to_phys_mapping ((xen_ulong_t *)HYPERVISOR_VIRT_START)
 #endif
 
 /*
@@ -198,12 +198,12 @@ DEFINE_XEN_GUEST_HANDLE(cpu_user_regs_t);
 #undef __DECL_REG_LO16
 #undef __DECL_REG_HI
 
-#define xen_pfn_to_cr3(pfn) ((unsigned long)(pfn) << 12)
-#define xen_cr3_to_pfn(cr3) ((unsigned long)(cr3) >> 12)
+#define xen_pfn_to_cr3(pfn) ((xen_ulong_t)(pfn) << 12)
+#define xen_cr3_to_pfn(cr3) ((xen_ulong_t)(cr3) >> 12)
 
 struct arch_vcpu_info {
-    unsigned long cr2;
-    unsigned long pad; /* sizeof(vcpu_info_t) == 64 */
+    xen_ulong_t cr2;
+    xen_ulong_t pad; /* sizeof(vcpu_info_t) == 64 */
 };
 typedef struct arch_vcpu_info arch_vcpu_info_t;
 
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index a9a87d9b50..90710c1230 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -141,7 +141,7 @@ struct trap_info {
     uint8_t       vector;  /* exception vector                              */
     uint8_t       flags;   /* 0-3: privilege level; 4: clear event enable?  */
     uint16_t      cs;      /* code selector                                 */
-    unsigned long address; /* code offset                                   */
+    xen_ulong_t address;   /* code offset                                   */
 };
 typedef struct trap_info trap_info_t;
 DEFINE_XEN_GUEST_HANDLE(trap_info_t);
@@ -174,36 +174,36 @@ struct vcpu_guest_context {
 #define VGCF_syscall_disables_events   (1<<_VGCF_syscall_disables_events)
 #define _VGCF_online                   5
 #define VGCF_online                    (1<<_VGCF_online)
-    unsigned long flags;                    /* VGCF_* flags                 */
-    struct cpu_user_regs user_regs;         /* User-level CPU registers     */
-    struct trap_info trap_ctxt[256];        /* Virtual IDT                  */
-    unsigned long ldt_base, ldt_ents;       /* LDT (linear address, # ents) */
-    unsigned long gdt_frames[16], gdt_ents; /* GDT (machine frames, # ents) */
-    unsigned long kernel_ss, kernel_sp;     /* Virtual TSS (only SS1/SP1)   */
+    xen_ulong_t flags;                    /* VGCF_* flags                 */
+    struct cpu_user_regs user_regs;       /* User-level CPU registers     */
+    struct trap_info trap_ctxt[256];      /* Virtual IDT                  */
+    xen_ulong_t ldt_base, ldt_ents;       /* LDT (linear address, # ents) */
+    xen_ulong_t gdt_frames[16], gdt_ents; /* GDT (machine frames, # ents) */
+    xen_ulong_t kernel_ss, kernel_sp;     /* Virtual TSS (only SS1/SP1)   */
     /* NB. User pagetable on x86/64 is placed in ctrlreg[1]. */
-    unsigned long ctrlreg[8];               /* CR0-CR7 (control registers)  */
-    unsigned long debugreg[8];              /* DB0-DB7 (debug registers)    */
+    xen_ulong_t ctrlreg[8];               /* CR0-CR7 (control registers)  */
+    xen_ulong_t debugreg[8];              /* DB0-DB7 (debug registers)    */
 #ifdef __i386__
-    unsigned long event_callback_cs;        /* CS:EIP of event callback     */
-    unsigned long event_callback_eip;
-    unsigned long failsafe_callback_cs;     /* CS:EIP of failsafe callback  */
-    unsigned long failsafe_callback_eip;
+    xen_ulong_t event_callback_cs;        /* CS:EIP of event callback     */
+    xen_ulong_t event_callback_eip;
+    xen_ulong_t failsafe_callback_cs;     /* CS:EIP of failsafe callback  */
+    xen_ulong_t failsafe_callback_eip;
 #else
-    unsigned long event_callback_eip;
-    unsigned long failsafe_callback_eip;
+    xen_ulong_t event_callback_eip;
+    xen_ulong_t failsafe_callback_eip;
 #ifdef __XEN__
     union {
-        unsigned long syscall_callback_eip;
+        xen_ulong_t syscall_callback_eip;
         struct {
-            unsigned int event_callback_cs;    /* compat CS of event cb     */
-            unsigned int failsafe_callback_cs; /* compat CS of failsafe cb  */
+            uint32_t event_callback_cs;    /* compat CS of event cb     */
+            uint32_t failsafe_callback_cs; /* compat CS of failsafe cb  */
         };
     };
 #else
-    unsigned long syscall_callback_eip;
+    xen_ulong_t syscall_callback_eip;
 #endif
 #endif
-    unsigned long vm_assist;                /* VMASST_TYPE_* bitmap */
+    xen_ulong_t vm_assist;                /* VMASST_TYPE_* bitmap */
 #ifdef __x86_64__
     /* Segment base addresses. */
     uint64_t      fs_base;
@@ -219,7 +219,7 @@ struct arch_shared_info {
      * Number of valid entries in the p2m table(s) anchored at
      * pfn_to_mfn_frame_list_list and/or p2m_vaddr.
      */
-    unsigned long max_pfn;
+    xen_ulong_t max_pfn;
     /*
      * Frame containing list of mfns containing list of mfns containing p2m.
      * A value of 0 indicates it has not yet been set up, ~0 indicates it has
@@ -228,7 +228,7 @@ struct arch_shared_info {
      * is to be used.
      */
     xen_pfn_t     pfn_to_mfn_frame_list_list;
-    unsigned long nmi_reason;
+    xen_ulong_t nmi_reason;
     /*
      * Following three fields are valid if p2m_cr3 contains a value different
      * from 0.
@@ -247,9 +247,9 @@ struct arch_shared_info {
      * Modifying a p2m element in the linear p2m list is allowed via an atomic
      * write only.
      */
-    unsigned long p2m_cr3;         /* cr3 value of the p2m address space */
-    unsigned long p2m_vaddr;       /* virtual address of the p2m list */
-    unsigned long p2m_generation;  /* generation count of p2m mapping */
+    xen_ulong_t p2m_cr3;         /* cr3 value of the p2m address space */
+    xen_ulong_t p2m_vaddr;       /* virtual address of the p2m list */
+    xen_ulong_t p2m_generation;  /* generation count of p2m mapping */
 #ifdef __i386__
     /* There's no room for this field in the generic structure. */
     uint32_t wc_sec_hi;
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index b47d48d0e2..2444e752ab 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -430,17 +430,17 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
 
 #ifndef __ASSEMBLY__
 struct mmuext_op {
-    unsigned int cmd; /* => enum mmuext_cmd */
+    uint32_t cmd; /* => enum mmuext_cmd */
     union {
         /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR
          * CLEAR_PAGE, COPY_PAGE, [UN]MARK_SUPER */
         xen_pfn_t     mfn;
         /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
-        unsigned long linear_addr;
+        xen_ulong_t linear_addr;
     } arg1;
     union {
         /* SET_LDT */
-        unsigned int nr_ents;
+        uint32_t nr_ents;
         /* TLB_FLUSH_MULTI, INVLPG_MULTI */
 #if __XEN_INTERFACE_VERSION__ >= 0x00030205
         XEN_GUEST_HANDLE(const_void) vcpumask;
@@ -832,8 +832,8 @@ typedef struct shared_info shared_info_t;
 struct start_info {
     /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
     char magic[32];             /* "xen-<version>-<platform>".            */
-    unsigned long nr_pages;     /* Total pages allocated to this domain.  */
-    unsigned long shared_info;  /* MACHINE address of shared info struct. */
+    xen_ulong_t nr_pages;     /* Total pages allocated to this domain.  */
+    xen_ulong_t shared_info;  /* MACHINE address of shared info struct. */
     uint32_t flags;             /* SIF_xxx flags.                         */
     xen_pfn_t store_mfn;        /* MACHINE page number of shared page.    */
     uint32_t store_evtchn;      /* Event channel for store communication. */
@@ -848,18 +848,18 @@ struct start_info {
         } dom0;
     } console;
     /* THE FOLLOWING ARE ONLY FILLED IN ON INITIAL BOOT (NOT RESUME).     */
-    unsigned long pt_base;      /* VIRTUAL address of page directory.     */
-    unsigned long nr_pt_frames; /* Number of bootstrap p.t. frames.       */
-    unsigned long mfn_list;     /* VIRTUAL address of page-frame list.    */
-    unsigned long mod_start;    /* VIRTUAL address of pre-loaded module   */
+    xen_ulong_t pt_base;      /* VIRTUAL address of page directory.     */
+    xen_ulong_t nr_pt_frames; /* Number of bootstrap p.t. frames.       */
+    xen_ulong_t mfn_list;     /* VIRTUAL address of page-frame list.    */
+    xen_ulong_t mod_start;    /* VIRTUAL address of pre-loaded module   */
                                 /* (PFN of pre-loaded module if           */
                                 /*  SIF_MOD_START_PFN set in flags).      */
-    unsigned long mod_len;      /* Size (bytes) of pre-loaded module.     */
+    xen_ulong_t mod_len;      /* Size (bytes) of pre-loaded module.     */
 #define MAX_GUEST_CMDLINE 1024
     int8_t cmd_line[MAX_GUEST_CMDLINE];
     /* The pfn range here covers both page table and p->m table frames.   */
-    unsigned long first_p2m_pfn;/* 1st pfn forming initial P->M table.    */
-    unsigned long nr_p2m_frames;/* # of pfns forming initial P->M table.  */
+    xen_ulong_t first_p2m_pfn;/* 1st pfn forming initial P->M table.    */
+    xen_ulong_t nr_p2m_frames;/* # of pfns forming initial P->M table.  */
 };
 typedef struct start_info start_info_t;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 10 23:51:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 10 Apr 2024 23:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703717.1099552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhiV-00039J-7W; Wed, 10 Apr 2024 23:50:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703717.1099552; Wed, 10 Apr 2024 23:50:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruhiV-00039C-4l; Wed, 10 Apr 2024 23:50:59 +0000
Received: by outflank-mailman (input) for mailman id 703717;
 Wed, 10 Apr 2024 23:50:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=na/H=LP=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1ruhiU-000392-HG
 for xen-devel@lists.xenproject.org; Wed, 10 Apr 2024 23:50:58 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c3a4abf-f795-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 01:50:56 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-346b94fa7ecso104762f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 16:50: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: 2c3a4abf-f795-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712793055; x=1713397855; 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=Ww3u0ZO/gh18m48+nNGtoXihgeW317XcZOEOt9tWw7A=;
        b=EBcUciLxbvceFOP+KpNOyFnBPH32x6xdweQsWGjoKDfKqfZXQRyKHOFoJcV1fw7IXZ
         qX7lqiMasMf0DqKfEL2tU+PsGjU4OlErQe9cRKEKXdW3zz96X4J0xy9DnfTw7gF+Fbw3
         NyFANR5R6c92t+hSAMLBuLoxbaWAhkPCKgSpiZvB5VoY4td9YPpIso2zgrOgCuoMzjVR
         cmYzesWzu4Sl4jVRQE4rzEJEQusSygzwXLLVSmVC8K1p1HLQ2IXhJv2TGkWLWMSnIPG8
         Q7PbyXwPRzRK++T3lEBh3ZmNEBwQfivHURgciYmK9Lq4DOBsYVwk4s108amJwbrQFEHz
         N9+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712793055; x=1713397855;
        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=Ww3u0ZO/gh18m48+nNGtoXihgeW317XcZOEOt9tWw7A=;
        b=v2CTmpPKNv8K+6vVJIeT6EPxUxm1oPhsHGuS7dNoT8LvqAolQt8bFZoYRBc4r/f+pq
         cb6wUPBUSV/Xzd6L7uHBeJIwd3pfjKxZcxbnn3SEnsk3wdHokhs0gPvGzR+3uMI/2o88
         mthJYAGv7Hpi5zblNqeT6HPpiLHou/HQiJxQg9qVkT0RshOSZphr32rGWK77OmC0CONn
         eVS+7DrkKSVz5GXl3bb6kctbZei9+TCkh26scDQvqL1/N1e9Lf2QYOU3XThAUMLwqYge
         YPBOR60df/4v5XN/8j5xFZgBfSXA5eLs3YpwAwWzlX+YiNoPMWPTaYAQihWwPj2w8p6r
         l5/g==
X-Forwarded-Encrypted: i=1; AJvYcCX9phgLGH4hTOhuh7ahWrlI97neDTIM77YCzDR/KAKEnG+QQoA9HQqe4Wt9eGC7fpL4GkAlCrwi0sOqYkD9Vu/lb3e/i+z7cUARR8vbsWE=
X-Gm-Message-State: AOJu0YyzswGf2o1FXUhA02hyoeRrvkTO8jb1OISnEt7cBhokoC7LXITk
	o9fFKpa/Mt60X7hAItJFL5FY94yk1jGzAiqnCoN78UqCFG56PflrhpQ/VkjvXUG2cXFSq8fW/jx
	Egf5dxTG+aQG4eRhmJvdH0qZ22Pc=
X-Google-Smtp-Source: AGHT+IEYqEJX9xMACkrP53U7Kg/PWOnuqAwXuCRXxrQ+i9EEI2Hs9FFlurJhnF9/j3l0dIuE+MRI8V2lvY9BnwJ1JCs=
X-Received: by 2002:adf:e2cf:0:b0:346:aed4:7108 with SMTP id
 d15-20020adfe2cf000000b00346aed47108mr475354wrj.18.1712793055377; Wed, 10 Apr
 2024 16:50:55 -0700 (PDT)
MIME-Version: 1.0
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-1-stefano.stabellini@amd.com>
In-Reply-To: <20240410234740.994001-1-stefano.stabellini@amd.com>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Wed, 10 Apr 2024 19:50:44 -0400
Message-ID: <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers sizes/alignments
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: andrew.cooper3@citrix.com, bertrand.marquis@arm.com, 
	george.dunlap@citrix.com, jbeulich@suse.com, michal.orzel@amd.com, 
	roger.pau@citrix.com, sstabellini@kernel.org, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000a3bfde0615c6b514"

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

On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini <stefano.stabellini@amd.com>
wrote:

> xen_ulong_t is widely used in public headers.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>
> Given that xen_ulong_t is used in public headers there could be a better
> place for documenting it but this was the most straightforward to add.
> ---
>  docs/misra/C-language-toolchain.rst | 11 +++++++++++
>  1 file changed, 11 insertions(+)
>
> diff --git a/docs/misra/C-language-toolchain.rst
> b/docs/misra/C-language-toolchain.rst
> index 5ddfe7bdbe..7a334260e6 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -531,6 +531,17 @@ A summary table of data types, sizes and alignment is
> below:
>       - 64 bits
>       - x86_64, ARMv8-A AArch64, RV64, PPC64
>
> +   * - xen_ulong_t
> +     - 32 bits
> +     - 32 bits
> +     - x86_32
> +
> +   * - xen_ulong_t
> +     - 64 bits
> +     - 64 bits
> +     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R
> +       AArch32, ARMv7-A


We support neither ARMv8-R nor ARMv8-A Aarch32.

I could possibly accept the latter because it works to. But the former is
so far misleading.

Cheers,


> +
>     * - long long
>       - 64-bit
>       - 32-bit
> --
> 2.25.1
>
>

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

<div><br></div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini &lt;<a hre=
f=3D"mailto:stefano.stabellini@amd.com">stefano.stabellini@amd.com</a>&gt; =
wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0=
px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;bor=
der-left-color:rgb(204,204,204)">xen_ulong_t is widely used in public heade=
rs.<br>
<br>
Signed-off-by: Stefano Stabellini &lt;<a href=3D"mailto:stefano.stabellini@=
amd.com" target=3D"_blank">stefano.stabellini@amd.com</a>&gt;<br>
---<br>
<br>
Given that xen_ulong_t is used in public headers there could be a better<br=
>
place for documenting it but this was the most straightforward to add.<br>
---<br>
=C2=A0docs/misra/C-language-toolchain.rst | 11 +++++++++++<br>
=C2=A01 file changed, 11 insertions(+)<br>
<br>
diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-to=
olchain.rst<br>
index 5ddfe7bdbe..7a334260e6 100644<br>
--- a/docs/misra/C-language-toolchain.rst<br>
+++ b/docs/misra/C-language-toolchain.rst<br>
@@ -531,6 +531,17 @@ A summary table of data types, sizes and alignment is =
below:<br>
=C2=A0 =C2=A0 =C2=A0 - 64 bits <br>
=C2=A0 =C2=A0 =C2=A0 - x86_64, ARMv8-A AArch64, RV64, PPC64<br>
<br>
+=C2=A0 =C2=A0* - xen_ulong_t<br>
+=C2=A0 =C2=A0 =C2=A0- 32 bits<br>
+=C2=A0 =C2=A0 =C2=A0- 32 bits <br>
+=C2=A0 =C2=A0 =C2=A0- x86_32<br>
+<br>
+=C2=A0 =C2=A0* - xen_ulong_t<br>
+=C2=A0 =C2=A0 =C2=A0- 64 bits<br>
+=C2=A0 =C2=A0 =C2=A0- 64 bits <br>
+=C2=A0 =C2=A0 =C2=A0- x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch3=
2, ARMv8-R<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0AArch32, ARMv7-A</blockquote><div dir=3D"auto">=
<br></div><div dir=3D"auto">We support neither ARMv8-R nor ARMv8-A Aarch32.=
</div><div dir=3D"auto"><br></div><div dir=3D"auto">I could possibly accept=
 the latter because it works to. But the former is so far misleading.</div>=
<div dir=3D"auto"><br></div><div dir=3D"auto">Cheers,</div><div dir=3D"auto=
"><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-=
left-color:rgb(204,204,204)" dir=3D"auto"><br>
+<br>
=C2=A0 =C2=A0 * - long long<br>
=C2=A0 =C2=A0 =C2=A0 - 64-bit<br>
=C2=A0 =C2=A0 =C2=A0 - 32-bit<br>
-- <br>
2.25.1<br>
<br>
</blockquote></div></div>

--000000000000a3bfde0615c6b514--


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 00:51:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 00:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703729.1099562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruieN-00059r-VB; Thu, 11 Apr 2024 00:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703729.1099562; Thu, 11 Apr 2024 00: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 1ruieN-00059k-S6; Thu, 11 Apr 2024 00:50:47 +0000
Received: by outflank-mailman (input) for mailman id 703729;
 Thu, 11 Apr 2024 00:50:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Tv7g=LQ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1ruieL-00059e-U4
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 00:50:46 +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 84368f53-f79d-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 02:50:40 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfout.nyi.internal (Postfix) with ESMTP id 18AB9138015A;
 Wed, 10 Apr 2024 20:50:39 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Wed, 10 Apr 2024 20:50:39 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 10 Apr 2024 20:50: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: 84368f53-f79d-11ee-94a3-07e782e9044d
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=1712796639;
	 x=1712883039; bh=/RJn+hOtsmsXwC2DD2gTMfDo0SfIuuOW4wrb1PeX3X4=; b=
	bvq4VqNR2cKEPNjfZNQUheeifLaMtd1f99ap6UCUMMSwHH7o7jGTUcKboGCYJaek
	2WX66QQfrfkY6AXLA03yEMONTddNcNNcMilkz9TGGhMg0gfY38vBZ5PX6fNsgfTt
	95rwBafVxWXWES9eOgHErAO+yGUqh122CZEMrhlN4rZWx/ar7a1XfZIDAN35UJm5
	pHp7K6H5KOt7OmreZPS9/HxtonwcX/qVkfgbygKK9u2SZcUsJPHF4fq6GHMFc73Q
	1VP79Fyasesxf2kfRV5++zO4AFjK1l4PfT2iI5x3/1oHNbhKe5BC6hmHhhk0P55M
	C/hDQkDQapZWxzBhvSrZnQ==
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=1712796639; x=1712883039; bh=/RJn+hOtsmsXwC2DD2gTMfDo0SfI
	uuOW4wrb1PeX3X4=; b=p5nUL/Hl1zTGLqzgUSoBbS41NIZ0J5S8cGWijnnBHhZw
	DoJ8IsVjSd0CD3CPgl02DFAeObepaSR2Ao/d5/OMkFuagJoFvDo0/cOhFOY0igMt
	FhbqDiahsf5M/M1YSgjSjZmTYJYUXuLJUuoLwsrKdyg7I+kfnKIkQXK0GPwgXxz8
	xh9oQ7DS0hM8Ek2ibQL7/WfPzbniYVLWrQMlOF3d2GDH8o1JEE0l1J/tsN4RrOSq
	BG9ZK/en1HDR+HK0EaVHNo1UXXBf9nTeXXozfGn3EBoWf8tILTTRdE9wUBPVXcAD
	VY6yfVauBf+NF4MAO7PpjCj6JjiTKRecK/Ufy85BLQ==
X-ME-Sender: <xms:3jMXZvRqnEdUewFEIyboaSYkC5Umo3KweNz64qWOrtwAKkSW0hzY9w>
    <xme:3jMXZgzeln7_KESdI63UWbz1ibttc5lHLEAYulsqsAumeMrQw5GzEWmsJJLxgkzMg
    q9nCxlKuu_L2A>
X-ME-Received: <xmr:3jMXZk2rK4Ryz3W_0VDybDVsJPUAWV0hHyiUcgGK012g-sDK5e8nFeMurBYT8Nw0xyeNtd56_BAGE4E4YdsX9mIITtTAlH7sAw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudehjedggedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:3jMXZvCJXnjURfp5aQOBg5D-HE_-zVuhq8RJKW-APAcuU82rJnECjA>
    <xmx:3jMXZogfsrXi1OAVTRLEdFpojCHN9vHI3swi_2Dr_X66DCFxBW-7Cg>
    <xmx:3jMXZjo5cud2jJqFumsHmm5tTTlo3_-KSqw26Q8hlCyBIGGDp3xtrw>
    <xmx:3jMXZjgLIqt-1JBWnMIx8wFT9VOQlMCD55ckeZPQgPnHGEwJmok_Eg>
    <xmx:3zMXZkgD5GG0L7j0zOR-VbDd0nt2pInW2zI_Jxu8XmNwqI3XdQqFZ_NF>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 11 Apr 2024 02:50:32 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrei Semenov <andrei.semenov@vates.fr>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 0/2] Starting AMD SEV work
Message-ID: <Zhcz2d4JsAl4J6vG@mail-itl>
References: <cover.1712759753.git.andrei.semenov@vates.fr>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="tyDnHw+PVSMXISWv"
Content-Disposition: inline
In-Reply-To: <cover.1712759753.git.andrei.semenov@vates.fr>


--tyDnHw+PVSMXISWv
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 11 Apr 2024 02:50:32 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrei Semenov <andrei.semenov@vates.fr>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 0/2] Starting AMD SEV work

On Wed, Apr 10, 2024 at 05:36:34PM +0200, Andrei Semenov wrote:
> This patch series initiate work on AMD SEV technology implementation in X=
en.
> SEV stands for "Secure Encrypted Virtualization" and allows the memory co=
ntents
> of a VM to be encrypted with a key unique to this VM. In this way the nei=
ther
> other VMs nor hypervisor can't read the memory content of this "encrypted"
> VM.
>=20
> In order to create and to run such a VM different layers of software must
> interact (bascally Xen hypevisor, Xen toolstack in dom0 and the encrypted=
 VM
> itself).
>=20
> In this work we start with discovering and enabling SEV feature on the pl=
atform.
> The second patch ports AMD Secure Processor driver on Xen. This AMD Secure
> Processor device (a.k.a PSP) is the way the different software layers int=
eract
> with AMD firmware/hardware to manage and run the encrypted VM.

How will that interact with the PSP driver in dom0? AFAIK amdgpu driver
uses PSP for loading the GPU firmware. Does it mean one need to choose
either GPU in dom0 or encrypted VMs, or is it going to work somehow
together?

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

--tyDnHw+PVSMXISWv
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYXM9kACgkQ24/THMrX
1yyDfwf+LdVXgFvcyKWEengkx8hBAVIq6TaAMOjdtH4J8jvJPvtFSQxfWA/4ZDvX
xPFOXXGXw4T6e01yhAmT4QyVKdHqDYNnedLhq5wKJiGGfOIMEAOKhXPRAfpO1TAv
IUU6I7zY+NKCA3aC9WVARjJQWOvkxbYVZJOmJkhFCM8NbcA/dkYQAiTMJy8VrAsc
P8D/NnBxbkJn4VNPBWJn1OipRRaa6hO0xDShOMlaDaoMZS96u3QTe/ILibS4bspn
FeUjjPOKibV6HaJRGChzV5Q7293+fvKOA9s4sSom9xnBOMKZZlSr1eV1RTJHwx2K
rf0grhxBJC8HZNsMJbiYrPgLbpZORA==
=CfPI
-----END PGP SIGNATURE-----

--tyDnHw+PVSMXISWv--


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 02:41:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 02:41:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703733.1099572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rukNW-0001SK-JM; Thu, 11 Apr 2024 02:41:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703733.1099572; Thu, 11 Apr 2024 02: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 1rukNW-0001SD-Gg; Thu, 11 Apr 2024 02:41:30 +0000
Received: by outflank-mailman (input) for mailman id 703733;
 Thu, 11 Apr 2024 02:41:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OKQ8=LQ=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1rukNU-0001S7-Sv
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 02:41:28 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd285128-f7ac-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 04:41:26 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:8ac4:0:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.17.1) with ESMTPS id 43B2fBX3064891
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 10 Apr 2024 22:41:16 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 43B2f91A064890;
 Wed, 10 Apr 2024 19:41:09 -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: fd285128-f7ac-11ee-b908-491648fe20b8
Date: Wed, 10 Apr 2024 19:41:09 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, Kelly Choi <kelly.choi@cloud.com>
Subject: Re: Serious AMD-Vi(?) issue
Message-ID: <ZhdNxWNpM0KCzz8E@mattapan.m5p.com>
References: <ZbLDlRi0vctlhsNp@mattapan.m5p.com>
 <ZcqoVBnsgUJw8G0l@mattapan.m5p.com>
 <ZfiY7/FBTwPQlfYi@mattapan.m5p.com>
 <CAO-mL=xndFd7xTU4Q+9hjLL-7zqZUGjYcp3_REa6QqXvtyAEYg@mail.gmail.com>
 <Zf3aWXfCANR7zXj8@mattapan.m5p.com>
 <e9b1c9c4-523b-481b-946e-37c7c18ea1d2@suse.com>
 <ZgHwEGCsCLHiYU5J@mattapan.m5p.com>
 <ZgRXHQpamLIdu7dk@mattapan.m5p.com>
 <c2ce4002-58d5-48a3-949c-3c361c78c0ac@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c2ce4002-58d5-48a3-949c-3c361c78c0ac@suse.com>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Thu, Mar 28, 2024 at 07:25:02AM +0100, Jan Beulich wrote:
> On 27.03.2024 18:27, Elliott Mitchell wrote:
> > On Mon, Mar 25, 2024 at 02:43:44PM -0700, Elliott Mitchell wrote:
> >> On Mon, Mar 25, 2024 at 08:55:56AM +0100, Jan Beulich wrote:
> >>>
> >>> In fact when running into trouble, the usual course of action would be to
> >>> increase verbosity in both hypervisor and kernel, just to make sure no
> >>> potentially relevant message is missed.
> >>
> >> More/better information might have been obtained if I'd been engaged
> >> earlier.
> > 
> > This is still true, things are in full mitigation mode and I'll be
> > quite unhappy to go back with experiments at this point.
> 
> Well, it very likely won't work without further experimenting by someone
> able to observe the bad behavior. Recall we're on xen-devel here; it is
> kind of expected that without clear (and practical) repro instructions
> experimenting as well as info collection will remain with the reporter.

After looking at the situation and considering the issues, I /may/ be
able to setup for doing more testing.  I guess I should confirm, which of
those criteria do you think currently provided information fails at?

AMD-IOMMU + Linux MD RAID1 + dual Samsung SATA (or various NVMe) +
dbench; seems a pretty specific setup.

I could see this being criticised as impractical if /new/ devices were
required, but the confirmed flash devices are several generations old.
Difficulty is cheaper candidate devices are being recycled for their
precious metal content, rather than resold as used.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Thu Apr 11 03:47:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 03:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703739.1099583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rulPe-0000co-2d; Thu, 11 Apr 2024 03:47:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703739.1099583; Thu, 11 Apr 2024 03: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 1rulPd-0000ch-V3; Thu, 11 Apr 2024 03:47:45 +0000
Received: by outflank-mailman (input) for mailman id 703739;
 Thu, 11 Apr 2024 03:47: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 1rulPc-0000cR-6z; Thu, 11 Apr 2024 03:47: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 1rulPc-0000sO-55; Thu, 11 Apr 2024 03:47: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 1rulPb-0004hJ-Ny; Thu, 11 Apr 2024 03:47:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rulPb-0003Hh-NT; Thu, 11 Apr 2024 03:47: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=0wrGEn2qY9quaJe22xGLbjVtXGmUzswN8C/t1V2zBKA=; b=mI2SbqQD/PxdB2/t2XVyoO4NQ8
	XHBg8BuqrVu3c5/jLTsEuemolZp3ZH9adT9d8BrpK2Lf5/rqVcqW9dFbzr9ps5PJTqgGI9Eq+GGp3
	7mJwDRGV7Gy8CGyOhuZ9g9tbtVy9gXN7fyctCY0+AL4qjdHI/4y5C+zts6PkhH5nlktI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185290-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185290: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2: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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2c71fdf02a95b3dd425b42f28fd47fb2b1d22702
X-Osstest-Versions-That:
    linux=fec50db7033ea478773b159e0e2efb135270e3b7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 03:47:43 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail pass in 185305-retest

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

version targeted for testing:
 linux                2c71fdf02a95b3dd425b42f28fd47fb2b1d22702
baseline version:
 linux                fec50db7033ea478773b159e0e2efb135270e3b7

Last test of basis   185270  2024-04-07 20:42:12 Z    3 days
Failing since        185275  2024-04-08 23:43:57 Z    2 days    3 attempts
Testing same since   185290  2024-04-09 18:43:05 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Boris Burkov <boris@bur.io>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Airlie <airlied@gmail.com>
  Dave Airlie <airlied@redhat.com>
  David Sterba <dsterba@suse.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Wei Yang <richard.weiyang@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          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                          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-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
   fec50db7033e..2c71fdf02a95  2c71fdf02a95b3dd425b42f28fd47fb2b1d22702 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 05:07:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 05:07:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703748.1099593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rumep-0002Qw-Pl; Thu, 11 Apr 2024 05:07:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703748.1099593; Thu, 11 Apr 2024 05:07:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rumep-0002Qp-Lo; Thu, 11 Apr 2024 05:07:31 +0000
Received: by outflank-mailman (input) for mailman id 703748;
 Thu, 11 Apr 2024 05: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=llhl=LQ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rumen-0002Qj-T1
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 05:07:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63ad7860-f7c1-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 07:07:27 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6E3944EE0739;
 Thu, 11 Apr 2024 07:07:26 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63ad7860-f7c1-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Thu, 11 Apr 2024 07:07:26 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
 <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Juergen
 Gross <jgross@suse.com>, "consulting @ bugseng . com"
 <consulting@bugseng.com>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Federico Serafini <federico.serafini@bugseng.com>
Subject: Re: [PATCH] xen/spinlock: Adjust LOCK_DEBUG_INITVAL to placate MISRA
In-Reply-To: <20240410193531.1499128-1-andrew.cooper3@citrix.com>
References: <20240410193531.1499128-1-andrew.cooper3@citrix.com>
Message-ID: <a8d51ec13809acfde7c463c53290b74d@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-04-10 21:35, Andrew Cooper wrote:
> Resolves an R7.2 violation.
> 

Thanks, I was going to suggest the same change. This will resolve the 
failure of the CI MISRA analysis on GitLab.

Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

> Fixes: c286bb93d20c ("xen/spinlock: support higher number of cpus")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Juergen Gross <jgross@suse.com>
> CC: consulting@bugseng.com <consulting@bugseng.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Federico Serafini <federico.serafini@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/include/xen/spinlock.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
> index db00a24646bd..18793c5e29cb 100644
> --- a/xen/include/xen/spinlock.h
> +++ b/xen/include/xen/spinlock.h
> @@ -13,7 +13,7 @@
>  #ifdef CONFIG_DEBUG_LOCKS
>  union lock_debug {
>      uint32_t val;
> -#define LOCK_DEBUG_INITVAL 0xffffffff
> +#define LOCK_DEBUG_INITVAL 0xffffffffU
>      struct {
>          unsigned int cpu:SPINLOCK_CPU_BITS;
>  #define LOCK_DEBUG_PAD_BITS (30 - SPINLOCK_CPU_BITS)
> 
> base-commit: 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
> prerequisite-patch-id: 8d06e56c5d8a52f1387e1f5a7fce6a94b8c4a1ed
> prerequisite-patch-id: 13355d26254b979c79de456c9a6ea6a9c639ba63

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 05:43:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 05:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703753.1099604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1runDP-0007Q2-4J; Thu, 11 Apr 2024 05:43:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703753.1099604; Thu, 11 Apr 2024 05: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 1runDO-0007Pv-WE; Thu, 11 Apr 2024 05:43:15 +0000
Received: by outflank-mailman (input) for mailman id 703753;
 Thu, 11 Apr 2024 05:43: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=NlLc=LQ=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1runDO-0007PZ-ED
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 05:43:14 +0000
Received: from mail-ot1-x330.google.com (mail-ot1-x330.google.com
 [2607:f8b0:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 627dbac9-f7c6-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 07:43:13 +0200 (CEST)
Received: by mail-ot1-x330.google.com with SMTP id
 46e09a7af769-6ea1f98f3b9so1578240a34.1
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 22:43: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: 627dbac9-f7c6-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712814192; x=1713418992; 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=kwBVRIiwmur7FTDSRS6Sp3Q2WWprLKaR8CwhKo/e+F8=;
        b=NntqTDBzThn95WfXm7Y5FD5iDNG8llXtU56DpT5ISWDEe/XIbswTZgdOmbPSlFn5EF
         HvjvhF+A3pF92YadLRW+gf8DQPzGgQu25FlaUdai1yOVXjpYyJVrAp8f8nDvSRvLzhkl
         tNSIQRlZgjvwOZfGaULxGAXjgYQpQ2BAqJqGqZn/S66ogHM5fvwZjRYRZ5RfrE2+DA/t
         tl2QKZV/pOqzSJVlqdxsO8Tbpkq3SmOnxQo4Uy+VLLGNQ1GlssIJWuml/MEcHun17q0s
         ii/bnLkHNLuYfEbSLnPylAoaq79w9wlRjThHRKQC1ecXssheH+FAt4/YIDE7rsyy8Ry4
         r9YA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712814192; x=1713418992;
        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=kwBVRIiwmur7FTDSRS6Sp3Q2WWprLKaR8CwhKo/e+F8=;
        b=S9/srsL64idb8zi6qHPE6gRN7uZglAeblivVZ55LgizJKlmXZ1VCOan2dQlR+rixQR
         ltwfwUpGp6OaoDLA5K1q7UXayxqoWc0ONbZKamXxxwnCYxoQDrw1LzxP3d7p+GjCVPAx
         mNn3sgLBxYUHYAFcwEdXKqWHMVQhkYDZcjr+AmDjcZGjU1u/8znIJqOk+ji8WLaQACOq
         rut4wOqg48+iuwftKccpjOhVgkSHTzyLf3RAsAWuquN8HHCcQNqNfM58D/L2mz1uoM5Z
         +GQ6Pzus4EzR4/o0kQ3uH+orkvTBWCle98VbxRbk6sDPFBlyvVN783Xjzdu+KrrbWbvm
         zrDA==
X-Gm-Message-State: AOJu0YxMkLd8wg7nKK/cn6T/lae07/io8EcasPrT+Ae39Q3u20Wqze9d
	S+CCo253X1gzQaLStxl9sBLqtYnw8TCqWYYXperxxqypk2pJYIk3JogmCD40eylu1mIc1V37UXb
	LRcQ4aDTj82fZ1KH+nsJtP4AQ5XKtQ3iJuSJgMA==
X-Google-Smtp-Source: AGHT+IFvqvsLTPk+CVqa0mtfZeSMIhLULKILagQlAO6Oy0qt6pkkfAcKzvq95aJFh5jPiA67/ezYcc+Qw96+7eMImlc=
X-Received: by 2002:a05:6871:b24:b0:22a:6d7f:6171 with SMTP id
 fq36-20020a0568710b2400b0022a6d7f6171mr5316711oab.36.1712814191666; Wed, 10
 Apr 2024 22:43:11 -0700 (PDT)
MIME-Version: 1.0
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-6-jens.wiklander@linaro.org> <CAHUa44EeCeX6nbY+FG_WUK6n-GMBFFYS9khpHF59fH8BSiW01Q@mail.gmail.com>
 <BC039B3A-5796-4D5F-9E18-4A54DAE368F5@arm.com>
In-Reply-To: <BC039B3A-5796-4D5F-9E18-4A54DAE368F5@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 11 Apr 2024 07:43:00 +0200
Message-ID: <CAHUa44HB1qB4cp0g=szq-EePzOijfDd3ynPMx4hnrw3FTt3zCw@mail.gmail.com>
Subject: Re: [XEN PATCH v1 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.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 Bertrand,

On Wed, Apr 10, 2024 at 6:30=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 10 Apr 2024, at 17:45, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > On Tue, Apr 9, 2024 at 5:36=E2=80=AFPM Jens Wiklander <jens.wiklander@l=
inaro.org> wrote:
> >>
> >> Add support for FF-A notifications, currently limited to an SP (Secure
> >> Partition) sending an asynchronous notification to a guest.
> >>
> >> Guests and Xen itself are made aware of pending notifications with an
> >> interrupt. The interrupt handler retrieves the notifications using the
> >> FF-A ABI and deliver them to their destinations.
> >>
> >> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >> ---
[snip]
> >> +    case FFA_FEATURE_NOTIF_PEND_INTR:
> >> +        if ( ctx->notif.enabled )
> >> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> >> +        else
> >> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >> +        break;
> >> +    case FFA_FEATURE_SCHEDULE_RECV_INTR:
> >> +        if ( ctx->notif.enabled )
> >> +            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
> >> +        else
> >> +            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >> +        break;
> >
> > With the recently posted kernel patch
> > https://lore.kernel.org/all/20240410-ffa_npi_support-v1-3-1a5223391bd1@=
arm.com/
> > we need to decide which feature interrupt to return since the kernel
> > will only install a handle for the first it finds. Right now I propose
> > to to not report FFA_FEATURE_SCHEDULE_RECV_INTR. When the time comes
> > to use a secondary scheduler we'll need to report the SRI instead.
>
>
> We just had a meeting with Sudeep to discuss that matter and he agreed th=
at
> he would register the interrupt handler for all the interrupts available =
so that
> we can keep a model where we will generate SRIs only to a secondary sched=
uler
> and NPI for notification interrupts (so that the VM does not do a INFO_GE=
T when
> not required).
>
> We will have to report both as any VM could act as secondary scheduler fo=
r SPs
> in theory (we might need at some point a parameter for that) but for now =
those
> should only be generated to Dom0 if there are pending notifications for S=
Ps.

OK, thanks. I'll keep both then.

Cheers,
Jens


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 06:12:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 06:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703758.1099614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1runfZ-0003Jp-Bm; Thu, 11 Apr 2024 06:12:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703758.1099614; Thu, 11 Apr 2024 06:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1runfZ-0003Ji-6w; Thu, 11 Apr 2024 06:12:21 +0000
Received: by outflank-mailman (input) for mailman id 703758;
 Thu, 11 Apr 2024 06:12: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=NlLc=LQ=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1runfY-0003Jc-55
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 06:12:20 +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 72a208e2-f7ca-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 08:12:18 +0200 (CEST)
Received: by mail-oi1-x236.google.com with SMTP id
 5614622812f47-3c5ed7fdbb1so356248b6e.0
 for <xen-devel@lists.xenproject.org>; Wed, 10 Apr 2024 23:12: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: 72a208e2-f7ca-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712815937; x=1713420737; 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=gDLR2cQiVJpj2ibS9pKNPs30jJX2ec1Nam5LoH9bNXs=;
        b=uoHa3+qwWl3W+lKsQttI4QTT+UZvCUwe7RDFMWqNZo2OXpSOlJcRbV08lektuzAMBn
         m6DgtYvO2SYMisaeBou3KStlqesmomACaz/4YFvN6dYsc0yjrxiHWaGn2FX66a32JHH8
         O3scE4emcBDTWEgG+JA6M8uBix/JIMj7hfRkoA3A89N5xCLpZWZY8sDgm2IGzUnM6xN4
         Ekjfcq16o32kHXp+BjtwsixKVUdvml1i5h5QQFZsEgJYrHKykP6FPYxK2nslW3+9za3L
         HJzLFaLX45IhqTdd0DngPf8lTOzjMsb0vqVMknUjaBN51rxW8ghxbcC20v0rDOxtw66n
         Ft5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712815937; x=1713420737;
        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=gDLR2cQiVJpj2ibS9pKNPs30jJX2ec1Nam5LoH9bNXs=;
        b=mdqj5B2GHuAlZq7Xbe1RXp7BrSb/9p8Cbmhmw4KfM8fw42IHtMQQZSOC6ZSFq0whvX
         VW2w3gZSQjptHHtDj+neuc7+DgplEnA5C0BOyJo96oHsyQkBgfkX63ALqT4CPmuE0SHm
         d0E1MOII6MyAHmskaTmteoLvtE6jb8zX88TMJiXefpQDNvD5W42/QB9h9veFI0s1Tf32
         gm5ORqhpFVXdAddeacWMFZ/McLTD16iT4aHfcqpkxdJ612ou7fYaT7BpW6i5njCj0K34
         P6SShSHQh8vjcFUOq1EGchqYBxoK+WAR9eNCR5I5AXWXcJhh6EN8OgCEPBbtCwe6KYku
         KbRA==
X-Gm-Message-State: AOJu0Yzc+JCX6xZrjpCWRwqbfDQ7FYnsS05W8o9ooWIdxwHF+AGihEQQ
	wjfN/oVnK5r1mVc5IhhU9I6vfL76vvi48ch+nMpUCXXGCaralgmmabh9Dtc5kwcDL0OvoIrpgXk
	bQ9S2r7iuZ4w2sYA5BLueqBGxxVkubbei4Huz/A==
X-Google-Smtp-Source: AGHT+IE/vr0ZSNWTYQfCvR1YPwutaCmKuo7M/n1GesNg7bv8zVlxbnKW4vmxCSxlHvvRMqn+W+47FK/HDy4NCTKPZPM=
X-Received: by 2002:a05:6808:130c:b0:3c5:dc82:d0f0 with SMTP id
 y12-20020a056808130c00b003c5dc82d0f0mr696721oiv.23.1712815936810; Wed, 10 Apr
 2024 23:12:16 -0700 (PDT)
MIME-Version: 1.0
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-5-jens.wiklander@linaro.org> <da2d2945-5d94-40e8-a632-6ea8cbf3bcb9@amd.com>
In-Reply-To: <da2d2945-5d94-40e8-a632-6ea8cbf3bcb9@amd.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 11 Apr 2024 08:12:05 +0200
Message-ID: <CAHUa44ET8XOk9vvz3_ffazV=DHDmbrZzB_TUEv=_Z4Rp=1N2ag@mail.gmail.com>
Subject: Re: [XEN PATCH v1 4/5] xen/arm: allow dynamically assigned SGI handlers
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, patches@linaro.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Michal,

On Wed, Apr 10, 2024 at 3:24=E2=80=AFPM Michal Orzel <michal.orzel@amd.com>=
 wrote:
>
> Hi Jens,
>
> On 09/04/2024 17:36, Jens Wiklander wrote:
> >
> >
> > Updates so request_irq() can be used with a dynamically assigned SGI ir=
q
> > as input.
> At this point it would be handy to mention the use case for which you nee=
d to add this support

OK, I'll add something like:
This prepares for a later patch where an FF-A schedule receiver
interrupt handler is installed for an SGI generated by the secure
world.

>
> >
> > gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they hav=
e
> > their type assigned earlier during boot
> Could you elaborate more on that? Do you mean that SGIs are always edge t=
riggered and there's no need
> for setting the type?

Yes, see https://developer.arm.com/documentation/ihi0069/h
4.4 Software Generated Interrupts
SGIs are typically used for inter-processor communication, and are
generated by a write to an SGI register in the
GIC. SGIs can be either Group 0 or Group 1 interrupts, and they can
support only edge-triggered behavior.

How about:
SGI should only be configured as edge triggered.

Thanks,
Jens

>
> >
> > gic_interrupt() is updated to route the dynamically assigned SGIs to
> > do_IRQ() instead of do_sgi(). The latter still handles the statically
> > assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> Other than that, it LGTM:
> Acked-by: Michal Orzel <michal.orzel@amd.com>
>
> but I would like other maintainers (especially Julien) to cross check it.
>
> ~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 06:16:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 06:16:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703762.1099623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1runk1-0004Cz-RU; Thu, 11 Apr 2024 06:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703762.1099623; Thu, 11 Apr 2024 06: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 1runk1-0004Cs-Nw; Thu, 11 Apr 2024 06:16:57 +0000
Received: by outflank-mailman (input) for mailman id 703762;
 Thu, 11 Apr 2024 06: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=1M6P=LQ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1runk0-0004Ck-Gn
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 06:16:56 +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 17b7bc96-f7cb-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 08:16:54 +0200 (CEST)
Received: from SJ0PR13CA0213.namprd13.prod.outlook.com (2603:10b6:a03:2c1::8)
 by IA0PR12MB8864.namprd12.prod.outlook.com (2603:10b6:208:485::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Thu, 11 Apr
 2024 06:16:50 +0000
Received: from MWH0EPF000971E6.namprd02.prod.outlook.com
 (2603:10b6:a03:2c1:cafe::11) by SJ0PR13CA0213.outlook.office365.com
 (2603:10b6:a03:2c1::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.11 via Frontend
 Transport; Thu, 11 Apr 2024 06:16:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000971E6.mail.protection.outlook.com (10.167.243.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 11 Apr 2024 06:16:49 +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.35; Thu, 11 Apr
 2024 01:16:48 -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.35; Thu, 11 Apr
 2024 01:16:48 -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.35 via Frontend
 Transport; Thu, 11 Apr 2024 01: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: 17b7bc96-f7cb-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SuW43DkOqtak9A5/HBQFkuvJVWkOvwz/E4fOUGJ59YtQNgDso6t8LRLJ4mhxeRtlxYx+osGFLvAp5f5DsM4RInjn6g4oxRkdj9CdBYOTsBrQBvdqjYHsYGXr1MbKgKb8egWSGKhPipCQK+2dopVaGBwTVIgbPWAbL/4YNBFBH8vIYB+HSaiWvj1CfjD9z8KNsajYMcEkOMhQ/Yufep9bYoLkSYHaPxxyVvPVTDA4ACsoCEreqr3KZNWKQv8aHmpVYMY1x0mZ6zxi1YSUgsdPsrfjVlY7jGmDubaoAiuNn0m0byKU/2Zj05glOO+rIhSpMfqGvrg1fQpcwFPwatdrqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=muQwYSrefNPv/4y0vJzJnhmptdR3vG0UEVmmIDbCi7I=;
 b=OaMHCrEtUMSkvsxcnxNDxJDhy9s5H7Jmg15MzFgD5+ZktYN2S4h6oTqu1elvx7uObcMLnZ0fPstD60dGhk7OlSQc34VNKu3nc8jCb5Y9DdLYQfVh0OAw2EH20Kh3DdqFEM/1he9hI4ExKXpZhkGCzrdb/fSVOgM9goZliRHGwPoHlOlrhDShuHgIrkDJxbhVK9t+u+7Rs/CVra3rCSB7DbRI90/hbQloPnWJSz2at1eE1Z3FeVR779R0aQ2au7jr7koq5AwtBkdwNaRiEHVvaNrs5sgMOAaiqDIXHvGhMIw1B9SXbBDMcpzlB5J7EgZGcMf+0kt3nKdKKklMkLIHHw==
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=muQwYSrefNPv/4y0vJzJnhmptdR3vG0UEVmmIDbCi7I=;
 b=Bo7v0T+GyXe/Ge/glRgXl8OVIL/X++OKLhVMCnI9RW/attXWmOIQTxHmyPh6Ly+vT04p0/7UKMdBN+/x6N4Im8TTB9NuZ1BpLFcHjIhp2eUCQvRMwKqmTaGAHOacc7l1XZytNbay83ALU/xs0JBbLLE6yyatn7lgpaTCj8qvtFc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <338968ad-0851-4d76-bc61-5622f8836316@amd.com>
Date: Thu, 11 Apr 2024 08:16:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/link: Introduce a common BUGFRAMES definition
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
 <20240410184217.1482366-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240410184217.1482366-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: MWH0EPF000971E6:EE_|IA0PR12MB8864:EE_
X-MS-Office365-Filtering-Correlation-Id: d04fe148-c8e5-45f7-58da-08dc59eef90e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VqIpCsNW8a+YAWjtnDJUA2ByZuTfAowToHpCNdqoGhaC1FNloLkQvzIXzEN5gZl2CUerCPLwMbwDEDBrLZCKuxMpKwX+u/8iyjssNXCGBooO/2vwUNd/gmbCi4yoJzk01qW5N0Gy0PQl/f2GYcMgYsQFcQkY7laIV7nbEI4U7Bx7rn4P5KmEowWf5uO5bT9lM2iidVrMF9/Ny9hA8VhwAiVUGYK0eB8rAv/iVg16zeduJfL8IGhNxo4vXiQvYCoSGXXAekq46h5xIO34JO08OfZ4XgiGIEHEhKe5Vq1pHEFBrw83C8dXWUgPIaP0CNU1vjcaZXXNHtQco+vJBDUUplXjSPUQKS5t/dIZFb0Y6dpbbsdhVopA2BvF5luPxOfKSWBAixwH/72I8vkqIeeXMcu1sk5jYLuZyxeMCQJNvQkI24zBKw1DJwYswDqq8iYuhpjBb2fQz8s2kxdAv1WNGcgrySO4K2X/KEyaJxqhqq3gun8VegwkkU66a/bHJ19WurcX/FEI73CD6KeKetEYCiQUDaeXAuRwyKsfZiiKE0F2p/lGXGE8vTc9Sc91Ojz+sXOKMywjjrqHjtyMvObpvyjsumny3QYy8pwvBoHevNaSrPVXACRAJm/xtEaWCGc96NXlq+hsi2xRbHL//kUy1XFMMP2OoPk420Hh3gr3UtA+I1jSlg04d9araVxdNApthGJdfynLItnpZjBUzgHQixwDi+dgQbwuzFb6bJsR2b21NZ8VJQ0siB3Sd0YBv7ax
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(7416005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 06:16:49.3760
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d04fe148-c8e5-45f7-58da-08dc59eef90e
X-MS-Exchange-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:
	MWH0EPF000971E6.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8864

Hi Andrew,

On 10/04/2024 20:42, Andrew Cooper wrote:
> 
> 
> Bugframe linkage is identical in all architectures.  This is not surprising
> given that it is (now) only consumed by common/virtual_region.c
> 
> Introduce a common BUGFRAMES define in xen.lds.h ahead of rearranging their
> structure.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
For Arm:
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 06:20:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 06:20:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703765.1099633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1runno-0005gY-Ae; Thu, 11 Apr 2024 06:20:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703765.1099633; Thu, 11 Apr 2024 06:20: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 1runno-0005gR-6y; Thu, 11 Apr 2024 06:20:52 +0000
Received: by outflank-mailman (input) for mailman id 703765;
 Thu, 11 Apr 2024 06:20: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=1M6P=LQ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1runnn-0005gL-5b
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 06:20:51 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2416::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a2d54a50-f7cb-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 08:20:49 +0200 (CEST)
Received: from DM6PR02CA0040.namprd02.prod.outlook.com (2603:10b6:5:177::17)
 by SJ2PR12MB8136.namprd12.prod.outlook.com (2603:10b6:a03:4f8::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Thu, 11 Apr
 2024 06:20:41 +0000
Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com
 (2603:10b6:5:177:cafe::7d) by DM6PR02CA0040.outlook.office365.com
 (2603:10b6:5:177::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Thu, 11 Apr 2024 06:20:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD2.mail.protection.outlook.com (10.167.241.206) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 11 Apr 2024 06:20:40 +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.35; Thu, 11 Apr
 2024 01:20:39 -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.35 via Frontend
 Transport; Thu, 11 Apr 2024 01:20: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: a2d54a50-f7cb-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ccgh9R7ncAKScMZkREoy1fEg+odVb7jSmpUhWji/PLatIYgMWjVyEZsOSKbOT5OVOqn8Dpzni2D8913x/hXakwtLBWeS+XqZ3LZR8PV74asdcegRvnxjMcygc7LSlm1CZyEqsV3TxeTBmXRTDFb+ZWivzRdkAR/06NrAkaNwqZ2p4P3lsIGySRzNziSejMwt4/AeUowU+gAa12a1QdhhfWV7lrdqeA6GWArH8hjbeo/ZZKSY8ro+2oTxqpiENUkLwxRjDQ0RLX23T4dhQ8c8pGHpHA8RCKfzprc45uj+Y2IQ9g//XYru5HP8H92r8vrAR5Zrq65clV1J1pRb0Czp4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KNQBc+WRHN83s8CDV6RHZ6lMWbh9DMwkNyvlj3ivSSw=;
 b=NkWPyJVkvf3ksvttNIdwcgmg6szidaKLp8rIcZ7qT3+1eZ97upgik/gNHqgM99do0zzEXS4dsMUU7aWz+t7+lGo+Vdt7chjN+kdhkIaqXJ66EP+2uLNQ85c2oDQHGNSvSwWmGPI8QEfUJyxu7yINUT95BVqL1PoKLMkFU8Gd8SlxTanV4HHOERmvaZtJZbfhEMXGHuowXqOYVYJGMChzeXcXDgZfIovjdA3vbV4H4hHYq8bTLiZifLf0u2n/t22slfA8VQXOWFDPHk0KRsoKLhvJeCFBuYYg91FXkUu8Cp5WlD9ByIbTK1/4cfd4mEFXreiBTmYZxakhXjQZq18q+A==
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=KNQBc+WRHN83s8CDV6RHZ6lMWbh9DMwkNyvlj3ivSSw=;
 b=imCh3GtNN14f7UbZeEcS8nsQZ7NxzQjRqbwOzOLRKYbQ9VGK+Ljjk1w+HHa6OSSq+Bg83SRxZKB2U10GizY075z7hx7Ou4JjsnWKbkszxOWkVcvk62K3iAXMb770Lv7evT+r03jBLwQoBbTP9ZAAoW1uhu0m/r9l8RjZ0MnAB6o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <ddc89f97-d71b-4175-a222-64c4c42bd8a1@amd.com>
Date: Thu, 11 Apr 2024 08:20:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] xen/virtual-region: Rework how bugframe linkage
 works
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Oleksii Kurochko
	<oleksii.kurochko@gmail.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
 <20240410184217.1482366-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240410184217.1482366-3-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: CY4PEPF0000EDD2:EE_|SJ2PR12MB8136:EE_
X-MS-Office365-Filtering-Correlation-Id: 65f8c00f-20bd-4402-88c1-08dc59ef82b7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n7I4dQiQA8sBO9FqQlpeVigK2FlTIOWHi7fpEFz5wNalTU+h5fZkP82xyGLgCi5nVTkIsOwGHQ4pjoZSE4hyH7+dgXDEd+LGV/ErtnMPwvwKUqRG1e6hLC+7fsK1a/JbzQqZjxUUNLr3MB+ooX6aOTSLsH8ERc+eAQZ1aHFCh5fUuSVPOBUVzGNkaAcCwClZmXKIrY+RjE1Nwjzmcv4uo0X8vM/WXZ+W+n5eVaX+5lf1Zu2ARTEzPpDeCb64hhik4e4HaqT/klvH03rMC/Qz599wYSFlUdrmVtyzjfOFxqfQrNHCBIFJva1Tgcdj/1c4eBpH6IGHeIAQro9padlvvKAnZKLm1ifEdgbnEUvGC9r5M9Hnc6pxnn8aPh5ofxgPnvy1mFR8M8KPsbpkbvhZaYDV2AqjOV7gx0Vn04dMcF6FJztiWVUXtSYfPs7nBpEcy19XFq8ocIrYsZbUYqQ+tRD/H7bKmsFFvd8orkugQIRvot8RT4/6AyG+OqcgcUECwhp1eLhxLJYiGiNiU43Xx8ptitoi3u+2FDyWGvY7sXglZNB6ZUk1rX+1mge3nP3NDitU2MgTlxOchspGLMAgBHcOsMZC/xOXYRLREGouyTISmaugNkLXb6wfP5Jx65aiEsD2lazddhPLbtdOjYVIBHcyHPNKRE+/3KIhqcKYOEggZ2NdkcK96XK/Xg72kR4tDWcegcanuzVZZDtippF+wLs+ZkTiwOXIzea6WhQJFhcPRWGEM7cunHyKs0NSfeDe
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(7416005)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 06:20:40.3952
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 65f8c00f-20bd-4402-88c1-08dc59ef82b7
X-MS-Exchange-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:
	CY4PEPF0000EDD2.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8136

Hi Andrew,

On 10/04/2024 20:42, Andrew Cooper wrote:
> 
> 
> The start/stop1/etc linkage scheme predates struct virtual_region, and as
> setup_virtual_regions() shows, it's awkward to express in the new scheme.
> 
> Change the linker to provide explicit start/stop symbols for each bugframe
> type, and change virtual_region to have a stop pointer rather than a count.
> 
> This marginly simplifies both do_bug_frame()s and prepare_payload(), but it
NIT: s/marginly/marginally

> massively simplifies setup_virtual_regions() by allowing the compiler to
> initialise the .frame[] array at build time.
> 
> virtual_region.c is the only user of the linker symbols, and this is unlikely
> to change given the purpose of struct virtual_region, so move their externs
> out of bug.h
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
For Arm:
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 06:34:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 06:34:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703774.1099643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruo0k-00085G-IZ; Thu, 11 Apr 2024 06:34:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703774.1099643; Thu, 11 Apr 2024 06:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruo0k-000859-Fs; Thu, 11 Apr 2024 06:34:14 +0000
Received: by outflank-mailman (input) for mailman id 703774;
 Thu, 11 Apr 2024 06:34: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=1M6P=LQ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruo0j-00084z-32
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 06:34:13 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:200a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8096d45a-f7cd-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 08:34:10 +0200 (CEST)
Received: from MW3PR06CA0007.namprd06.prod.outlook.com (2603:10b6:303:2a::12)
 by MN2PR12MB4157.namprd12.prod.outlook.com (2603:10b6:208:1db::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 11 Apr
 2024 06:34:05 +0000
Received: from CO1PEPF000066EB.namprd05.prod.outlook.com
 (2603:10b6:303:2a:cafe::7f) by MW3PR06CA0007.outlook.office365.com
 (2603:10b6:303:2a::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Thu, 11 Apr 2024 06:34:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000066EB.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.7452.22 via Frontend Transport; Thu, 11 Apr 2024 06:34:04 +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.35; Thu, 11 Apr
 2024 01:34:03 -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.35; Thu, 11 Apr
 2024 01:34:03 -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.35 via Frontend
 Transport; Thu, 11 Apr 2024 01:34: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: 8096d45a-f7cd-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B7MgjRMPdV6jx6A5Ak458k+skxcv/N9+8Fd8Hk7/cK5y9rY0mVwjOEfmWj/O4vm4h1qJ8MiPIdb0K3UxiJ6IKzQRRM52oXeXfQGiO2Fr4qulSvxDSPIvBQlFSOAhb5YESzGa7xBEqhM/47/G3LoHkCa6p+d6L4qwlFHDD/nYclir/+IDx2DDok1uKOuqyrZ08un8q96PjI4aSyTlPrZmfZpCtpcf3/5hKlKEkZiAf/wUkXYIrvJjTLj0hnnY/eEb7s2yaTC+sqq0sgU7XxlmpIUc+dbTomZ7Y0P+q3SWZRGORogS0uvVjCxVa/FRkfkXx67yKkUwjB3NlGyTOUgGvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OOI0AzJ5Cm3uEZRcOUEXrT/C+7DL70klYEtygp89xRc=;
 b=dh8ONskdGVNm1kv3cFQKaZjxbkdVTZ9X6tPDztwyI9Ad39ng6rsYf2d6HC2MBYzfMKH6qPEfcFQxaTITK1iQCd/OUHN2K4azVwyz/cOsZtd+MXmGqZbrxgqtyOtCPIHnycRDehGGbvsssBBcz0oP0DPebwl+RjBkxQS+2BY8ypq/hUq3YdtT26DsCWh9eVg8lstWH6JKrUsTA5gYkQS4ww1H6Zz11RyP9iuOSg70fa3Kkh3f0Bz+Qa6xKsyPzCZPwO/0ri/v2nZDB727lmASiVq1EG09eNL5OiiVoM0UYjrFIeOHGb/VfcZ80vGMkgWztA+81gdD216kWreoMs5TBQ==
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=OOI0AzJ5Cm3uEZRcOUEXrT/C+7DL70klYEtygp89xRc=;
 b=gOyZ3c5iQSk4z4I1CL5rutALR7b22V1Oy/uU8r7yojdW8KfMYhNkYUmrEfdvq3ZGFETfp6EMhJXYOxdwBwFc9wwaJ2OsvJVJyAgU8cuhNN5UBLDORoDQ4XrLnbX0nRcvqIJTVO5Ap19fxIcUWBtHjoBysnw6Qp0/P64ptPMn5Uk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <beb9bda6-43cd-458f-a952-66c6071104bb@amd.com>
Date: Thu, 11 Apr 2024 08:34:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/virtual-region: Link the list build time
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
 <20240410184217.1482366-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240410184217.1482366-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066EB:EE_|MN2PR12MB4157:EE_
X-MS-Office365-Filtering-Correlation-Id: bbeaf35a-20a4-4c0f-6611-08dc59f1622e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NIi3K6GMvx1+v4eXqOhVALYMaeW0C7uO1jCzuv3pGdK5vZMgb5iM/sJU4I/jbeGWs324Lvf5LmZWYpBBhJi5IHee4pYp4n55nGePmtcxk4a0F/MivPBDJNuXlVlj4yAq1Tw2wj5gHdzrj1N2ZaviqYMrf1uZospjfDuYlTOowykKTf00bbXwYPNJ4nYFjxmfNqQhKcOpqHpcSZm1tz4rTNVoJoh988U8wkVbIbR9kHgPinPle6Uu2DQTiyX4zM02Huu6Ooe3mggGwSDN94mzsXkSwi7B8NWvggEjmgACnrPMycz9lVouo4ABEGoDSKEVoAjBZLpuPYXlO9d0c6EoAlwoI+oH1aB2bMKf/GmUu5FBwe305yPhU1VFxZEy3XdKCqmVoyEEXTs822Tcm83MrvEY3UX/r/wq1+ts/vm7rw3nWmlRINOkrpySW2zuVZ/pgHApuDqKIzwL+eanNgbPn03UkNnIVpKsBzqS0v/7x2WqtjBaMoCjfkvGN21/+z23LEFN60e87tdkyXSvXFyNQLW6GU3Z4cVjVvE4Dm550aEJnS4vLtp+y8orFg2yUr9hUpCh9k6Z+unCVTYzcupRH3zFleTQ35EnGoiBiFgGMlAXWxPrb3eJxlKo05XMtA1ZHyyLEAaMLm1mdgVTHIYDSuqrY7gE4cbSKmu04xpE6MSqa+fYB7VBbD3/eeWIUWTefxQj9EWw9QtIGiE1bfpyz2g8q81f+Cv0ojHvAh9Bt+CQP876rSVDDH9cMlRKfyM2
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(376005)(82310400014)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 06:34:04.7247
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bbeaf35a-20a4-4c0f-6611-08dc59f1622e
X-MS-Exchange-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:
	CO1PEPF000066EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4157

Hi Andrew,

On 10/04/2024 20:42, Andrew Cooper wrote:
> 
> 
> Given 3 statically initialised objects, its easy to link the list at build
> time.  There's no need to do it during runtime at boot (and with IRQs-off,
> even).
> 
> As a consequence, register_virtual_region() can now move inside ifdef
> CONFIG_LIVEPATCH like unregister_virtual_region().
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Maybe with ...
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
> CC: Ross Lagerwall <ross.lagerwall@citrix.com>
> 
> v2:
>  * Collect the initialisers togoether too.
> ---
>  xen/common/virtual_region.c | 37 ++++++++++++++++++++++---------------
>  1 file changed, 22 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/common/virtual_region.c b/xen/common/virtual_region.c
> index 7d8bdeb61282..db3e0dc9fe74 100644
> --- a/xen/common/virtual_region.c
> +++ b/xen/common/virtual_region.c
> @@ -15,8 +15,18 @@ extern const struct bug_frame
>      __start_bug_frames_2[], __stop_bug_frames_2[],
>      __start_bug_frames_3[], __stop_bug_frames_3[];
> 
> +/*
> + * For the built-in regions, the double linked list can be constructed at
> + * build time.  Forward-declare the elements and their initialisers.
> + */
> +static struct list_head virtual_region_list;
> +static struct virtual_region core, core_init;
... empty line here for better readability

> +#define LIST_ENTRY_HEAD() { .next = &core.list,           .prev = &core_init.list }
> +#define LIST_ENTRY_CORE() { .next = &core_init.list,      .prev = &virtual_region_list }
> +#define LIST_ENTRY_INIT() { .next = &virtual_region_list, .prev = &core.list }

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 06:44:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 06:44:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703779.1099653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruoAr-0001ug-Hn; Thu, 11 Apr 2024 06:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703779.1099653; Thu, 11 Apr 2024 06: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 1ruoAr-0001uZ-F6; Thu, 11 Apr 2024 06:44:41 +0000
Received: by outflank-mailman (input) for mailman id 703779;
 Thu, 11 Apr 2024 06:44: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=1M6P=LQ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruoAq-0001uR-Qg
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 06:44:40 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f71ac24a-f7ce-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 08:44:38 +0200 (CEST)
Received: from MW4PR04CA0385.namprd04.prod.outlook.com (2603:10b6:303:81::30)
 by SA0PR12MB4367.namprd12.prod.outlook.com (2603:10b6:806:94::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 11 Apr
 2024 06:44:35 +0000
Received: from CO1PEPF000044F2.namprd05.prod.outlook.com
 (2603:10b6:303:81:cafe::36) by MW4PR04CA0385.outlook.office365.com
 (2603:10b6:303:81::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Thu, 11 Apr 2024 06:44:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F2.mail.protection.outlook.com (10.167.241.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 11 Apr 2024 06:44:35 +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.35; Thu, 11 Apr
 2024 01:44:34 -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.35; Thu, 11 Apr
 2024 01:44:34 -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.35 via Frontend
 Transport; Thu, 11 Apr 2024 01:44:33 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f71ac24a-f7ce-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b/x0xFkJCx6WKhSV8JXTGRNReU+OzR1gUMs+3SxAjqHcK+BtySfOMW/AjNcH0xPAmWWZ++R9YNv9xeSRWbIws3Es8rbjBX73clLiTa7xKWtXGd8GPCWlF4Jre/uM23Iqds7w96/lfCAdhlfIFDIYae1TEPRRhG5aT/5rz/WjG8E74ljV1byc+9T262M3bPrlKtN1Y5PYDzjf2eGRB6t4Ii39CkoOi4y8zKex6gVv4xbNiB8kny3xI/frwqrpqh05SwzYWd92r29kFJVbffeHNjq6/3az86bGgYiAYv46LeDKejQ9MBpCCOOSvZfy8YT1Tm0H15nWW5rs+vjHZFoqfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M1mC/AbtcsIMaL1lRIHIxpnoE7XbVh+GDiW7Cyo0btg=;
 b=jIlnYw9HqwcO6E8sEs+jSy72j0apmSL9pqvyf+hMzqtyBTXgUzmAYjNDgAT9rUJSlq3oBRhzV5j0h7t+1sY5+TcPKThMxt9vw7sKft9DhwEDrtGtZSZeSmdan0YMo73SZ4qW+9EqDebveNM3q+HprCM+AFV8R0epMnCBmtrq544VQqvlZKPJeeoib1eil2LvL2HOr2Ujlv+r09OCdptQxqk+srWxXIJE19zRHbkr20YBfD0nuRipL0wKP5F8uHuFTADyxAxqUXFl1xs93Uf1pqa/hLKDwnLNtS9UI5lAoLpW7TIHw+3ahSTVmiPBbkjixlx2FuYBIvwzo+Pl2EzR6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=linaro.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=M1mC/AbtcsIMaL1lRIHIxpnoE7XbVh+GDiW7Cyo0btg=;
 b=ktm5Oa1Hl9YeWkX3PcgnY8vRIyI7ABotQVApNny9vdxBWDZbiPSts/DMUYiMzGkq/qz5mFTvmxPrlp/DMZsJKRB2kaJekxvIGknJhn/DUDLVqeLZCLFTgTDNmlz+rCXxvcx3sQcGIWcvY098wAN74aWfRezPH9b/AnBjmgdlCy8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <3c7d5147-9eab-41fb-b8fb-ac1dc5befd19@amd.com>
Date: Thu, 11 Apr 2024 08:44:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 4/5] xen/arm: allow dynamically assigned SGI
 handlers
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: <xen-devel@lists.xenproject.org>, <patches@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-5-jens.wiklander@linaro.org>
 <da2d2945-5d94-40e8-a632-6ea8cbf3bcb9@amd.com>
 <CAHUa44ET8XOk9vvz3_ffazV=DHDmbrZzB_TUEv=_Z4Rp=1N2ag@mail.gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <CAHUa44ET8XOk9vvz3_ffazV=DHDmbrZzB_TUEv=_Z4Rp=1N2ag@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F2:EE_|SA0PR12MB4367:EE_
X-MS-Office365-Filtering-Correlation-Id: 74fe7a27-08ef-4d31-63a3-08dc59f2da0e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	soCyqfH3twhvwbB/n1SUgfSd3e8ejiVG2tmt/vYGtIq89UW5uIHF5yQFbE2b3ij5a8txi/bxyPGOvDYEklk1IpKimJu/P8gKuMX9ikeqV94cnf/z+7yODWChc/LQ9r5Y7QTQUzZ7r4m3LZoo4ABrjTdPzAmDoUuSazpi96aTE5CBNt8ywyyYBIg0bR8KjtqjG3jsZW/0LAlawDPtUBlnbySy8C+ZujL//R/0smrzo0TYXclqHlNxvS2xpxga0FWJhiou8E4Vbb9sznWdIj4NrLv6edlFYB5L0bu9GVnVJkKsxcOBGgcOn6kYRloMS4wdHC/n2yCjNGroNHDn+sd4ZJiKm44V473co7JzYTYXJS0uKRm8oJB5yi652MDQBZ7HTsDtH1mztcaQ0QINV4P+fH/EJUnD6IU59mZJQaRez9CTbG188wO+IxgEMhT3DP8pfe3Ws0vUo+yv1sGH0A+/XBYfd6lq9bMJPFsjRsRfEOQXq1rdRkOkTamGRXyirGe+7qzINomWn461HZlxkCNK2KpzRxzRuk52+ukreKSxH5FE4xnH3kKo5r36x+XlKjMZQkZWu01hwjQ+EoIYm0alG0v4fMgMPGRSKwqiuU0js5DzpRjrVSFaTfhrejyf63Lh/RAHxL9n5kUk1vwnIzoQke1rHy/0Rqi+gkXU2wy8P+LVeJ2AdKYiFZqMfu/AMN77DM14jV9Bljf+JEwmOkiMGNtGKUVnVsVFpxiYxxmr4L2au9ljeZxzvZuYTrAduhEo
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 06:44:35.3382
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 74fe7a27-08ef-4d31-63a3-08dc59f2da0e
X-MS-Exchange-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:
	CO1PEPF000044F2.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4367

Hi Jens,

On 11/04/2024 08:12, Jens Wiklander wrote:
> 
> 
> Hi Michal,
> 
> On Wed, Apr 10, 2024 at 3:24 PM Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Jens,
>>
>> On 09/04/2024 17:36, Jens Wiklander wrote:
>>>
>>>
>>> Updates so request_irq() can be used with a dynamically assigned SGI irq
>>> as input.
>> At this point it would be handy to mention the use case for which you need to add this support
> 
> OK, I'll add something like:
> This prepares for a later patch where an FF-A schedule receiver
> interrupt handler is installed for an SGI generated by the secure
> world.
ok

> 
>>
>>>
>>> gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they have
>>> their type assigned earlier during boot
>> Could you elaborate more on that? Do you mean that SGIs are always edge triggered and there's no need
>> for setting the type?
> 
> Yes, see https://developer.arm.com/documentation/ihi0069/h
> 4.4 Software Generated Interrupts
> SGIs are typically used for inter-processor communication, and are
> generated by a write to an SGI register in the
> GIC. SGIs can be either Group 0 or Group 1 interrupts, and they can
> support only edge-triggered behavior.
Exactly. But you wrote "have their type assigned earlier during boot" which is not true.
There is no write to ICFGR0 in Xen codebase. They are implicitly edge triggered.
So I would write:
"... for SGIs since they are always edge triggered"

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 07:06:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 07:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703784.1099662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruoVQ-0005dF-6R; Thu, 11 Apr 2024 07:05:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703784.1099662; Thu, 11 Apr 2024 07: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 1ruoVQ-0005d8-3t; Thu, 11 Apr 2024 07:05:56 +0000
Received: by outflank-mailman (input) for mailman id 703784;
 Thu, 11 Apr 2024 07:05: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=NlLc=LQ=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ruoVO-0005d2-UU
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 07:05:54 +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 ef320637-f7d1-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 09:05:53 +0200 (CEST)
Received: by mail-ot1-x332.google.com with SMTP id
 46e09a7af769-6ea156bee62so197378a34.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 00:05: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: ef320637-f7d1-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712819152; x=1713423952; 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=QJbpjEFeCwqYDtF2U74SgvsVcyDKNfy3B34Zr7z5d/c=;
        b=W+ZKa6Hmgpg0V3hF3DPORfZOMVQgD76k8Qf/l43Nwj72QMEQgwSfK1Bm1vJK4/6UYy
         T4I2kyCRZ+KaUxD/oRq/bcgT5DOjYRUESPqwtnxHof3nwutNIFeDKqwqRuas1CBP/u8K
         4SRNj9wKDRKnOpyUSBeTURYZU59Ph/8P6nzDV+i3mYcBJsvRqgwg539k2Aau9NG7rZ68
         Vwy1uk2vFiseSH65DJ7Fbivkrei+faB1qrZrtpteoiaZe5fmCp6s5sFxeojXUCQaPnvo
         g4gC8dyCcAGWiioA6ieS0pSNKo9DI0OwWrvqXaGCm0xBjOCEGKjxYV3Eai3zSIjGIg/s
         +X4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712819152; x=1713423952;
        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=QJbpjEFeCwqYDtF2U74SgvsVcyDKNfy3B34Zr7z5d/c=;
        b=duqM2pgmPtCfih8uc4sr0T99P9F8vXt0XsJlfI7kWjQsuv1MfgLyG8YrFa2+fSIxFK
         kYK7QQ3tzPPv9HGnNxVvc4KyNL04t7TgpQkxwsx81a1rRQ4v70S9vLUlOSaa/qkxCrKY
         gN3CumibJmszMoPsi2ODnx+9Xj7i+RA5yQ8s2LsPUMtsA2zusEg7DpdIDD43gQaDQfhH
         koxrtD+Vrtifd7hzLoidawzNPKJ+VglPLrhYa3A1AWgqtB7ZGZ058WJ1ZDVG8kneHM9S
         sG+yDxa5q2lmDVEcBm3k9etiNoS+M1IrcpAV3wi27v737pRDoPCVGwAJvEJJu+BEf4kW
         h8Pw==
X-Gm-Message-State: AOJu0YwdTtB47GNYXzYNRs3DjdpU0+szjZlM8ryE3B+7MZaIPhrN6f9c
	RpdWUGa6Yx5cEd47k4PVPFLzvw774Jg45ioapthGukw+sEnqOTlPcn6F45jsJZ+0rj8lQnS1hig
	l5dHTZ4cZqABoVGnVRVoSD1rwe5So8HIpIdY9eQ==
X-Google-Smtp-Source: AGHT+IGxgRsOVFB4GAtd/C3GMeHrvJCpFn4XDwgz5FVx6Ow/Ir6UEDJatnYzMe3xE7xRl8HTaTGRD1l5B2xSEtZOjng=
X-Received: by 2002:a05:6870:558a:b0:22e:2101:7535 with SMTP id
 qj10-20020a056870558a00b0022e21017535mr680998oac.25.1712819152296; Thu, 11
 Apr 2024 00:05:52 -0700 (PDT)
MIME-Version: 1.0
References: <20240409153630.2026584-1-jens.wiklander@linaro.org>
 <20240409153630.2026584-5-jens.wiklander@linaro.org> <da2d2945-5d94-40e8-a632-6ea8cbf3bcb9@amd.com>
 <CAHUa44ET8XOk9vvz3_ffazV=DHDmbrZzB_TUEv=_Z4Rp=1N2ag@mail.gmail.com> <3c7d5147-9eab-41fb-b8fb-ac1dc5befd19@amd.com>
In-Reply-To: <3c7d5147-9eab-41fb-b8fb-ac1dc5befd19@amd.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Thu, 11 Apr 2024 09:05:38 +0200
Message-ID: <CAHUa44Ff1eZH1mTfLTGt4HgT1paVNyDumpAm838Z-AG_MG1Pqg@mail.gmail.com>
Subject: Re: [XEN PATCH v1 4/5] xen/arm: allow dynamically assigned SGI handlers
To: Michal Orzel <michal.orzel@amd.com>
Cc: xen-devel@lists.xenproject.org, patches@linaro.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Michal,

On Thu, Apr 11, 2024 at 8:44=E2=80=AFAM Michal Orzel <michal.orzel@amd.com>=
 wrote:
>
> Hi Jens,
>
> On 11/04/2024 08:12, Jens Wiklander wrote:
> >
> >
> > Hi Michal,
> >
> > On Wed, Apr 10, 2024 at 3:24=E2=80=AFPM Michal Orzel <michal.orzel@amd.=
com> wrote:
> >>
> >> Hi Jens,
> >>
> >> On 09/04/2024 17:36, Jens Wiklander wrote:
> >>>
> >>>
> >>> Updates so request_irq() can be used with a dynamically assigned SGI =
irq
> >>> as input.
> >> At this point it would be handy to mention the use case for which you =
need to add this support
> >
> > OK, I'll add something like:
> > This prepares for a later patch where an FF-A schedule receiver
> > interrupt handler is installed for an SGI generated by the secure
> > world.
> ok
>
> >
> >>
> >>>
> >>> gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they h=
ave
> >>> their type assigned earlier during boot
> >> Could you elaborate more on that? Do you mean that SGIs are always edg=
e triggered and there's no need
> >> for setting the type?
> >
> > Yes, see https://developer.arm.com/documentation/ihi0069/h
> > 4.4 Software Generated Interrupts
> > SGIs are typically used for inter-processor communication, and are
> > generated by a write to an SGI register in the
> > GIC. SGIs can be either Group 0 or Group 1 interrupts, and they can
> > support only edge-triggered behavior.
> Exactly. But you wrote "have their type assigned earlier during boot" whi=
ch is not true.
> There is no write to ICFGR0 in Xen codebase. They are implicitly edge tri=
ggered.
> So I would write:
> "... for SGIs since they are always edge triggered"

I'll use that instead.

Thanks,
Jens

>
> ~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 07:49:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 07:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703791.1099673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rupB3-0003l4-Cl; Thu, 11 Apr 2024 07:48:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703791.1099673; Thu, 11 Apr 2024 07:48:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rupB3-0003kx-8l; Thu, 11 Apr 2024 07:48:57 +0000
Received: by outflank-mailman (input) for mailman id 703791;
 Thu, 11 Apr 2024 07:48:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=X8Vl=LQ=bounce.vates.tech=bounce-md_30504962.661795e3.v1-421806e59dad4091ac07bacef9305c56@srs-se1.protection.inumbo.net>)
 id 1rupB1-0003kr-Kd
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 07:48:55 +0000
Received: from mail177-6.suw61.mandrillapp.com
 (mail177-6.suw61.mandrillapp.com [198.2.177.6])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0d498ce-f7d7-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 09:48:53 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-6.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4VFWzR6YK1z2K1rf7
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 07:48:51 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 421806e59dad4091ac07bacef9305c56; Thu, 11 Apr 2024 07:48:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0d498ce-f7d7-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712821731; x=1713082231;
	bh=dGrIy8avszgj6K1Y8ll0VWeRa34JdWQcIosoWvYASkA=;
	h=From:Subject:In-Reply-To:References:Message-Id:To:Cc:Feedback-ID:
	 Date:MIME-Version:Content-Type:CC:Date:Subject:From;
	b=BYZDb0GAWdK4T+1GceJF4ww4ebe2evWA9j0M74myIapDjnBPgNzpVftR9EJ+t34eG
	 ORRgkhj8MZKJp4FRmA79kazWDqumzxdpbfnzCPTv4PQjAz+jOZQX0PbvvO8JviKCdW
	 RF7IC/jQenHAwMhf5aaa46TWbgEF2qJQMHJrZZcKiK9SM0z2pQoBxaLX4WnF1vVbCn
	 CMBdsDArroucEe9UyEAANSsKpOUuQlpvgVLPBveCjgGfGURKGqrJLgdVEHrEd9S7j6
	 VRZKvd8XsHOGhbXSg62082vk2ArNACDmF9MHOhAdfR2wzWNqVLh7rPK3jFLgzZ7V7a
	 EFZN8sxLzXbqw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712821731; x=1713082231; i=andrei.semenov@vates.tech;
	bh=dGrIy8avszgj6K1Y8ll0VWeRa34JdWQcIosoWvYASkA=;
	h=From:Subject:In-Reply-To:References:Message-Id:To:Cc:Feedback-ID:
	 Date:MIME-Version:Content-Type:CC:Date:Subject:From;
	b=YzRVJjrYZZEhL/xdqJghAeIqYdwtvNzAQaS+XlFrlarbmvGU59YLRokgASutdBh2n
	 C0Q6PXeQKDO3k8a7xcT/PtFZSgo4OV2dOwoHHmSUYXIo1fAUAXBqsmYAKMgNwDVMAU
	 eT4adv6RxRki7jU4bQUeh3CayYosDWpP3FdAcvXAdNqYypgjUS2gabqj6LMqxabQ+H
	 8apF5Wf+2rwdKk0I0jOnlRk9Y6UBLN3RHJXJnhs1wmbSOj1o2rtPzzHwquYy7PZiIb
	 ZgaPHqqgt4OC+Vxq8LhrdRc/ClXrT72n9yNJJGK+Sg83fTj4VG4ml6KAYQls0wpV1z
	 0goXbZUoDQoow==
From: Andrei Semenov <andrei.semenov@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=200/2]=20Starting=20AMD=20SEV=20work?=
X-Bm-Draft-Info: {"type":"REPLY-ALL","messageInternalId":2367385,"folderUid":"5bc3cd3c-1c54-4448-8b93-1d5e00399c41"}
X-Bm-Draft-Identity: default
X-Bm-Sent-Folder: e241ae38-d68a-470c-b463-de37822a6206
X-Bm-Draft-Refresh-Date: 1712821713054
X-Bm-Internal-Id: AF93AA0B-DAD8-4612-B2C2-10A4B7388341 bluemind-4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2 2367893
X-Bm-Previous-Body: 501ae02fae91c64faa0e31183ea6e96eb951f431
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712821715123
In-Reply-To: <Zhcz2d4JsAl4J6vG@mail-itl>
References: <cover.1712759753.git.andrei.semenov@vates.fr> <Zhcz2d4JsAl4J6vG@mail-itl>
Message-Id: <luuxtj4p.1c2sh0vy8yf40@vates.tech>
To: =?utf-8?Q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, Andrei Semenov <andrei.semenov@vates.fr>
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>, George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.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.421806e59dad4091ac07bacef9305c56?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240411:md
Date: Thu, 11 Apr 2024 07:48:51 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="_av-ZsQGSnJ_JO4Y2Io0z9KJfA"

--_av-ZsQGSnJ_JO4Y2Io0z9KJfA
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Yes, actually a PSP device and all its interfaces come as unique PCI device=
 (one BDF). So, yes we will need to export
other interfaces as a paravirtualized operations for dom0. Actual PSP desig=
n feet very well for KVM, but for "type 1"
hypervisors it oblige to export all other potential PSP interfaces for priv=
eleged guests.
Best regards,
Andrei Semenov
Le jeudi 11/04/2024 02:50, Marek Marczykowski-G=C3=B3recki <marmarek@invisi=
blethingslab.com> a =C3=A9crit :

On Wed, Apr 10, 2024 at 05:36:34PM +0200, Andrei Semenov wrote:

 This patch series initiate work on AMD SEV technology implementation in Xe=
n.
 SEV stands for "Secure Encrypted Virtualization" and allows the memory con=
tents
 of a VM to be encrypted with a key unique to this VM. In this way the neit=
her
 other VMs nor hypervisor can't read the memory content of this "encrypted"
 VM.
 
 In order to create and to run such a VM different layers of software must
 interact (bascally Xen hypevisor, Xen toolstack in dom0 and the encrypted =
VM
 itself).
 
 In this work we start with discovering and enabling SEV feature on the pla=
tform.
 The second patch ports AMD Secure Processor driver on Xen. This AMD Secure
 Processor device (a.k.a PSP) is the way the different software layers inte=
ract
 with AMD firmware/hardware to manage and run the encrypted VM.


How will that interact with the PSP driver in dom0? AFAIK amdgpu driver
uses PSP for loading the GPU firmware. Does it mean one need to choose
either GPU in dom0 or encrypted VMs, or is it going to work somehow
together?

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



--_av-ZsQGSnJ_JO4Y2Io0z9KJfA
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<div id=3D"bm-composer-content-wrapper"><div style=3D"font-family: Montserr=
at, montserrat, &quot;Source Sans&quot;, &quot;Helvetica Neue&quot;, Helvet=
ica, Arial, sans-serif;"><span style=3D"max-width:100%;font-size:14px;text-=
align:start">Yes, actually a PSP device and all its interfaces come as uniq=
ue PCI device (one BDF). So, yes we will need to export&nbsp;</span><div st=
yle=3D"max-width:100%;font-size:14px;text-align:start">other interfaces&nbs=
p;&nbsp;<span style=3D"max-width:100%;font-size:0.8125rem">as a paravirtual=
ized operations for dom0. Actual PSP design feet very well for KVM, but for=
 "type 1"&nbsp;</span></div><div style=3D"max-width:100%;font-size:14px;tex=
t-align:start"><span style=3D"max-width:100%;font-size:0.8125rem">hyperviso=
rs it oblige&nbsp;</span><span style=3D"max-width:100%;font-size:0.8125rem"=
>to export all&nbsp;</span><span style=3D"max-width:100%;font-size:0.8125re=
m">other potential PSP interfaces for priveleged guests.</span></div><div s=
tyle=3D"max-width:100%;font-size:14px;text-align:start"><br style=3D"max-wi=
dth:100%"></div><div style=3D"max-width:100%;font-size:14px;text-align:star=
t">Best regards,</div><span style=3D"max-width:100%;font-size:14px;text-ali=
gn:start">Andrei Semenov</span><br></div><br><div id=3D"data-bm-forward-sep=
arator"><p>Le jeudi 11/04/2024 02:50, Marek Marczykowski-G=C3=B3recki &lt;m=
armarek@invisiblethingslab.com&gt; a =C3=A9crit :</p><blockquote style=3D"m=
argin-left: 1rem; padding-left: 1rem; border-left: 2px solid black;"><div i=
d=3D"bm-composer-content-wrapper"><pre>On Wed, Apr 10, 2024 at 05:36:34PM +=
0200, Andrei Semenov wrote:
<blockquote class=3D"reply"> This patch series initiate work on AMD SEV tec=
hnology implementation in Xen.
 SEV stands for "Secure Encrypted Virtualization" and allows the memory con=
tents
 of a VM to be encrypted with a key unique to this VM. In this way the neit=
her
 other VMs nor hypervisor can't read the memory content of this "encrypted"
 VM.
 
 In order to create and to run such a VM different layers of software must
 interact (bascally Xen hypevisor, Xen toolstack in dom0 and the encrypted =
VM
 itself).
 
 In this work we start with discovering and enabling SEV feature on the pla=
tform.
 The second patch ports AMD Secure Processor driver on Xen. This AMD Secure
 Processor device (a.k.a PSP) is the way the different software layers inte=
ract
 with AMD firmware/hardware to manage and run the encrypted VM.
</blockquote>
How will that interact with the PSP driver in dom0? AFAIK amdgpu driver
uses PSP for loading the GPU firmware. Does it mean one need to choose
either GPU in dom0 or encrypted VMs, or is it going to work somehow
together?

-- 
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab
</pre></div></blockquote></div><style></style></div>
<img src=3D"http://bounce.vates.tech/track/open.php?u=3D30504962&id=3D42180=
6e59dad4091ac07bacef9305c56" height=3D"1" width=3D"1" alt=3D"">

--_av-ZsQGSnJ_JO4Y2Io0z9KJfA--



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 09:38:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 09:38:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703807.1099682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruqsR-0001Wz-LP; Thu, 11 Apr 2024 09:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703807.1099682; Thu, 11 Apr 2024 09:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruqsR-0001Ws-Is; Thu, 11 Apr 2024 09:37:51 +0000
Received: by outflank-mailman (input) for mailman id 703807;
 Thu, 11 Apr 2024 09:37: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 1ruqsQ-0001Wg-0p; Thu, 11 Apr 2024 09:37:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruqsP-0008Dq-RV; Thu, 11 Apr 2024 09:37: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 1ruqsP-0004TO-DW; Thu, 11 Apr 2024 09:37:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruqsP-00057b-D1; Thu, 11 Apr 2024 09:37: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=mk2znxyLImE6TVQLKloNCHUskZ6Mw6MecdS3EWFE4Uo=; b=PQE4PB17a/8P1gfXH0Up3dR9FV
	7YMKKRtdcj1jVyTaVw4WSCjhvfNzOnUy4957DIdRfYTREoHkpRAbdQwl6mmvDpeHRKiE8acjwOS1M
	63Q5fxhR/cvIJ43bWI98Abw17pvUt4MLJcSo7bb3tW6ZgqDglpeXDmrKXEaFDTqsRX7c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185294-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185294: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-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-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=f48299cad5c3c69fdc2c101517a6dab9c9827ea5
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 09:37:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 185281

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 185308-retest
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 185308-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail blocked in 185281
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185281
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185281
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185281
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185281
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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                  f48299cad5c3c69fdc2c101517a6dab9c9827ea5
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    1 days
Testing same since   185294  2024-04-10 04:20:17 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Jan Beulich <jbeulich@suse.com>
  John Ernberg <john.ernberg@actia.se>
  Julien Grall <jgrall@amazon.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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                       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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 09:51:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 09:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703814.1099693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rur5R-0004Ae-RT; Thu, 11 Apr 2024 09:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703814.1099693; Thu, 11 Apr 2024 09: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 1rur5R-0004AW-OO; Thu, 11 Apr 2024 09:51:17 +0000
Received: by outflank-mailman (input) for mailman id 703814;
 Thu, 11 Apr 2024 09:51:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RFZQ=LQ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rur5R-0004A8-4f
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 09:51:17 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2612::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08bdbefa-f7e9-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 11:51:14 +0200 (CEST)
Received: from AS9PR01CA0004.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:540::13) by AS8PR08MB9480.eurprd08.prod.outlook.com
 (2603:10a6:20b:61f::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 11 Apr
 2024 09:51:09 +0000
Received: from AMS0EPF0000019D.eurprd05.prod.outlook.com
 (2603:10a6:20b:540:cafe::4a) by AS9PR01CA0004.outlook.office365.com
 (2603:10a6:20b:540::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.21 via Frontend
 Transport; Thu, 11 Apr 2024 09:51:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019D.mail.protection.outlook.com (10.167.16.249) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Thu, 11 Apr 2024 09:51:08 +0000
Received: ("Tessian outbound dc0a9029eb2c:v300");
 Thu, 11 Apr 2024 09:51:07 +0000
Received: from 3150ad1cb4e2.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F2063E9B-EEBA-423D-957F-D19E6158F798.1; 
 Thu, 11 Apr 2024 09:50:57 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3150ad1cb4e2.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Apr 2024 09:50:57 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB7884.eurprd08.prod.outlook.com (2603:10a6:10:3b0::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Thu, 11 Apr
 2024 09:50:52 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Thu, 11 Apr 2024
 09:50:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08bdbefa-f7e9-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=jpoZsgzUeg2jrse0biJerdQuQA2LOJ4T++214VDJT9nvbpHR3EcAjAub//MS/HRAdol/mI0rijHjsUI+GBvZo7DI6sozeS0UNhE7vJO3NQHSRgkLhRHbQApEaOk4ymlN0x2TdBK2sLe1CTEMfM+mhNe8IydHSWXl9HO7Djwigh6YK6OiYCHkjfawrufUVsnttlj+ZgNtnOk9vm2QROQ1KbdpGawvXOhmXvQKVhLwmXIvz8OQBWq5wAhih6NjfzJk2iHfeSH/ouQ2fdRVlJC9hyNYmDgsl3zWBjS1/d/ckKia3KGVWcFCBgArhUuZXF4IEEGv21snyNCsY/Z0OHRDww==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WCE8QvsEwiQeefXH2IOEu+LdEJgeMDHIVnqCoS5DHmo=;
 b=er2ILm3vRwfDX3SufZYpTM6i/oyaGmYew5fGOTFrzUKhqdiNfIEGN0sElbb0HtsTPI4tDPpECZwmWMObChFGB8v7XabjywYDedwxxKQXZf/kPjWoerA4OGmpIitgp3bG18d5lGru/8vaILlp7xCOVjWocFmvbleAmObL8eoZa0oq/zmjWUcX8ORAxsTZIQYfCEzZjxvn9BWiwcZZxzChEzNOjNTPdr1VRDN5b19UsVw/q1Qfkq4Y8CabUnr5XzH00K81lBAZ4pW36Yv0tK0CESYr+yJ1Dau2mvkReI0AGRkModjWIQipWaD5l4tLWGtJEMF2sa6GmvttzZqJ12x6/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=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WCE8QvsEwiQeefXH2IOEu+LdEJgeMDHIVnqCoS5DHmo=;
 b=hQKlUDZqwRWGqDofQ9Rlq33VCbaLep0VFprznA7iYMZpIhZ+aUlReMULsh9WrpJ14IYRScxwFeB2Q2fuAvH6hzEI1aM9lnf+lIisL/4K34RTFWv/9rljF9nhmuA3zS5oEQ2jRry7fUGr6oC2HpemUbB5WUvufh8fWtju8+k+1jA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3acdce9dd74609d8
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z0ybR/N63Puz6e+XV2Za72ntLfE6E9iFRnCLmzidomh/qNdbiKBzEMNxWcAYmvAeUd8Hh+ZVG4CjTpXBQXaq9pp0/PjiwuMkNz/Yu3gtZ0rdmzzG2OTwhZe+i1AMldBz6NMoBNjS1aq1xr/j1Hy6OU4ud6yV4SMaNl4OK9CwCTlG1PqTTRjcdZ+ibHYLZv4mJQyZZHidPLEYZXrpPTXUGzb5nH8+bTe0irGoz6HGyOIrYfDcG84OHWJNqm5eLr0ZnDeyzdKWgTciBpU0JEVPUcC2WAI47BWxrMVVtOyr3SKikC6hkdRBY9yhjWWSWMX1inQ3QzsoM7tduBjccd0TBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WCE8QvsEwiQeefXH2IOEu+LdEJgeMDHIVnqCoS5DHmo=;
 b=AWYpEjuptvx83JOzr5e+NOUaV9DBtLQ1yQJJheGRVql66DesV9UuTodF7cQqJa4hlXb8yoKpcKihhvwU/XX+YD0hjWiJDRLHvI9wzfuGAuTSuVuID1zjcRnfxve8aS54oYPI5Xvf+jVJIh8QWcjZvAaVwHMi7QGwxjQ7OLQG7xy3IucD9ygqq7fV+dekQGpr6+ZPkQhVmDeaGF3tgseKz8ZKJ5AcjwqL/ATwIGkRjnbWq3Sl1oH0u9KWOZx67UcvjARgwx59ZhpUlh4rEva4e+Qd5x3Zhk/E9FY8WEyjHnDicws6Km9aLKfjvbObRW3vMZZ8CQlcpfRj/ToGrrbBpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WCE8QvsEwiQeefXH2IOEu+LdEJgeMDHIVnqCoS5DHmo=;
 b=hQKlUDZqwRWGqDofQ9Rlq33VCbaLep0VFprznA7iYMZpIhZ+aUlReMULsh9WrpJ14IYRScxwFeB2Q2fuAvH6hzEI1aM9lnf+lIisL/4K34RTFWv/9rljF9nhmuA3zS5oEQ2jRry7fUGr6oC2HpemUbB5WUvufh8fWtju8+k+1jA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 12/13] xen/device_tree: Introduce function to merge
 overlapping intervals
Thread-Topic: [PATCH v2 12/13] xen/device_tree: Introduce function to merge
 overlapping intervals
Thread-Index: AQHainObwzEJT+Mf6kG9My8yFKsem7Fi1oaA
Date: Thu, 11 Apr 2024 09:50:51 +0000
Message-ID: <C42AED6D-CD32-4829-82B1-F4213E1FD294@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-13-luca.fancellu@arm.com>
In-Reply-To: <20240409114543.3332150-13-luca.fancellu@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB7884:EE_|AMS0EPF0000019D:EE_|AS8PR08MB9480:EE_
X-MS-Office365-Filtering-Correlation-Id: 22cc4c27-6061-45d7-9896-08dc5a0ce95c
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 NuQLX/g1TRduONSGnPrH5k1hMHrFgSKhXfSNyNe+q+jrdFrlpQNv22YwzIIWfqkJ6rLTlrHCSc3jfZQEIvszZ9JnLdqoIl8nbghFHcXwmfOlB2yOgB6ACwyOieW//A/vCfp5wg0fx6PXdulH08tGeVxpG6mPKNJU6uL6TViaHlAA2XsyhVp9jtp8gAZw0Zx/4VnnSzgzv119BUIbu/av+rSRFyIvdVv8BFZi1DRvR29I7uvFZ40YaLs/4ne4qU2WA+JRl96pHO3PlPRb8HnUxfTHSINpAyWb26ouzocSP0lsLCRY2dSKoJpPiaD9OBKjW74NeIF+q3o2mCtnQVzrLPZnppsi965EzApxJKLzZWP5bZKlJJSCMJemZ/UZkYFqyBMzrqClRk75Vn24AMAjd1GQREM1O3S/VIv4+sqOD0kIj6zS8RqQpUs7Vy6AJ+n/jfDEhC+8xSbmO12JKhpje4Je29sN13JYhX4+H2YfIvJ9GXdFw83YIjj5DMZ9zBhrLO0Kitpbl+PSBwsxqzuL5aSxka/maeApC/9uAhSSGo2SXBs3WCwsNsrDY4nlrO6tzphKYSHmm+vSBykaTqcR1i5D5YvQc/F4JOt35LaI/Ry1jbGtjaMe+gLNrGldqKLi3g7lh69OHwR0a9mAHO/1t5Uim+Lj2oiNNuTf8IWY/6vs+rKMqx3uUqtbdN2XtTdyzqdf2oVaW/doASLa3QQa9HcrTJpD1xAe+Qmm2MuGTdU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <7A4857D5EA68FF4A85B91ED741D94A84@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7884
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF0000019D.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3b794793-8854-48ec-4a5d-08dc5a0cdf82
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Br6Em3Uuke5l5541y6FehOQ69HValTmraSjml+/qtMgH4/EmZ7Vxnqj3iUvUqcH/H4IOlMEXqMDllxr3mRwNLjM+jYEBwKZ76CztChqcpK+iMdib2k1WbWMJL55W1XE2bvZytLVic4PW5SNRkxfzwhzYF/J13w1e+/0zzEMCz5daRA0cIGt3WG90jzbV3IMu3AEO9lGHHhiEvK5MYtv53mTVOX1L45QZIF+LcMRUra2mLKJLZzpJeuKb3RJFTKRxaPqWYuGl1ba6buyHPvyHU65+pVSab4mPWUlUgyT4L6MYVFhETHUjJMcwq+edPYcCvauE1UPXACafAPnD2T0d9w4UWbQh8QCJ3ywdWJpMvm5puGqhUwB5Aaj+q8Ol+eYVbSe3AZaM3aV3GrXlMwWk5/1Jb/m1X9e417NTjnliRHnHzPJtwwd6nw9jtNSWSbydnKBdOiaW1geDFD1wvT6Swb607fEgHxhz02Tls3V/19e75yBrOl6EGsDjkrPk7KQI9BBzdrlcdndmaKYNP3cmANczjCZRxjfq7sLalFlr6ipTgDez/n9cQpYAxVWnx3cbIFeqMX0O/IZJR+8huunk7zMswKX19gSse0wePBNrHrp6f/2cnNfi9m1qzAQLlbm1OP1IePwS2GiqVNNJ70UcH9oL6c8oOEbe/yw10SOFQSAzKmge2KGpKCtDH87DEE8Z2ZFTJSsCsq9LyTTi0QiDrJjlKQtomUn1KiJyuggFw/99r3gDQLCX6ZIh3sNAdrSh
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 09:51:08.0409
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 22cc4c27-6061-45d7-9896-08dc5a0ce95c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF0000019D.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9480

DQoNCj4gT24gOSBBcHIgMjAyNCwgYXQgMTI6NDUsIEx1Y2EgRmFuY2VsbHUgPEx1Y2EuRmFuY2Vs
bHVAYXJtLmNvbT4gd3JvdGU6DQo+IA0KPiBJbnRyb2R1Y2UgYSBmdW5jdGlvbiB0aGF0IGdpdmVu
IGFuIGFycmF5IG9mIGNlbGxzIGNvbnRhaW5pbmcNCj4gKGFkZHJlc3Msc2l6ZSkgaW50ZXJ2YWxz
LCBtZXJnZXMgdGhlIG92ZXJsYXBwaW5nIG9uZXMsIHJldHVybmluZw0KPiBhbiBhcnJheSB3aXRo
IG5vIG92ZXJsYXBwaW5nIGludGVydmFscy4NCj4gDQo+IFRoZSBhbGdvcml0aG0gbmVlZHMgdG8g
c29ydCB0aGUgaW50ZXJ2YWxzIGJ5IGFzY2VuZGluZyBvcmRlcg0KPiBhZGRyZXNzLCBzbyB0aGUg
c29ydCgpIGZ1bmN0aW9uIGFscmVhZHkgaW5jbHVkZWQgaW4gdGhlIGNvZGViYXNlDQo+IGlzIHVz
ZWQsIGhvd2V2ZXIgaW4gdGhpcyBjYXNlIGFkZGl0aW9uYWwgZGF0YSBpcyBuZWVkZWQgZm9yIHRo
ZQ0KPiBjb21wYXJlIGZ1bmN0aW9uLCB0byBiZSBhYmxlIHRvIGV4dHJhY3QgdGhlIGFkZHJlc3Mg
ZnJvbSB0aGUNCj4gaW50ZXJ2YWwuDQo+IFNvIGFkZCBvbmUgYXJndW1lbnQgdG8gdGhlIHNvcnQo
KSBmdW5jdGlvbiBhbmQgaXRzIGNvbXBhcmUNCj4gY2FsbGJhY2sgdG8gaGF2ZSBhZGRpdGlvbmFs
IGRhdGEgYW5kIGJlIGFibGUgdG8gcGFzcywgaW4gdGhpcw0KPiBjYXNlLCB0aGUgYWRkcmVzcyBs
ZW5ndGguIEluIGNhc2UgdGhlIGFyZ3VtZW50IGlzIG5vdCBuZWVkZWQsDQo+IE5VTEwgY2FuIGJl
IHByb3ZpZGVkLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5j
ZWxsdUBhcm0uY29tPg0KPiAtLS0NCg0KSGkgYWxsLA0KDQpJ4oCZdmUganVzdCBzcG90dGVkIGFu
IGlzc3VlIHdpdGggdGhlIGFsZ29yaXRobSwgdGhlIGZpeCBpcyB0aGlzIG9uZToNCg0KZGlmZiAt
LWdpdCBhL3hlbi9jb21tb24vZGV2aWNlX3RyZWUuYyBiL3hlbi9jb21tb24vZGV2aWNlX3RyZWUu
Yw0KaW5kZXggMjQ5MTRhODBkMDNiLi4yNjIzODVhMDQxYTggMTAwNjQ0DQotLS0gYS94ZW4vY29t
bW9uL2RldmljZV90cmVlLmMNCisrKyBiL3hlbi9jb21tb24vZGV2aWNlX3RyZWUuYw0KQEAgLTIz
NjAsNiArMjM2MCwxMCBAQCBpbnQgX19pbml0IGR0X21lcmdlX292ZXJsYXBwaW5nX2FkZHJfc2l6
ZV9pbnRlcnZhbHMoX19iZTMyICpyZWcsIGludCAqbnJfY2VsbHMsDQogICAgICAgICAgICAgX19i
ZTMyICp0bXBfbGFzdF9jZWxsX3NpemUgPSBsYXN0X2NlbGwgKyBhZGRyY2VsbHM7DQogDQogICAg
ICAgICAgICAgZHRfc2V0X2NlbGwoJnRtcF9sYXN0X2NlbGxfc2l6ZSwgc2l6ZWNlbGxzLCBuZXdf
c2l6ZSk7DQorDQorICAgICAgICAgICAgLyogTGFzdCBpbnRlcnZhbCB1cGRhdGVkLCBzbyB0aGUg
ZW5kIGlzIGNoYW5nZWQgKi8NCisgICAgICAgICAgICBlbmRfbGFzdCA9IHN0YXJ0X2xhc3QgKyBz
aXplX2xhc3Q7DQorDQogICAgICAgICAgICAgLyoNCiAgICAgICAgICAgICAgKiBUaGlzIGN1cnJl
bnQgaW50ZXJ2YWwgaXMgbWVyZ2VkIHdpdGggdGhlIGxhc3Qgb25lLCBzbyByZW1vdmUgdGhpcw0K
ICAgICAgICAgICAgICAqIGludGVydmFsIGFuZCBzaGlmdCBsZWZ0IGFsbCB0aGUgcmVtYWluaW5n
IGVsZW1lbnRzDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KTm93LCBJ
IHdvdWxkIGxpa2UgdG8gd3JpdGUgc29tZXRoaW5nIGFib3V0IHRoZSBhbGdvcml0aG0gdG8gZWFz
ZSB0aGUgcmV2aWV3ZXJzLA0KdGhlIHByb2JsZW0gaXMgdGhhdCB3ZSBoYXZlIHNvbWUgaW50ZXJ2
YWxzIGFuZCB3ZSB3b3VsZCBsaWtlIHRvIG1lcmdlIHRoZSBvdmVybGFwcGluZw0Kb25lcywgYSBz
aW1wbGUgYWxnb3JpdGhtIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwczovL3d3dy5pbnRlcnZpZXdi
aXQuY29tL2Jsb2cvbWVyZ2UtaW50ZXJ2YWxzLw0KDQpMaW1pdGF0aW9uIG5vdyBpcyB0aGF0IHdo
ZW4gbWVyZ2luZyB0aGUgaW50ZXJ2YWxzLCB3ZSBkb27igJl0IHdhbnQgdG8gZXhjZWVkIHRoZSBz
cGFjZSBuZWVkZWQNCnRvIHN0b3JlIHRoZSBpbmZvcm1hdGlvbiwgZm9yIGV4YW1wbGU6DQoNCnNp
emVjZWxsczogMSAobWVhbmluZyBvbmUgX19iZTMyLCA0IGJ5dGUpDQpJbnQxOiBzdGFydCAweDAs
ICAgICAgICAgICAgICAgICBzaXplIDB4RkZGRkZGRkYNCkludDI6IHN0YXJ0IDB4RkZGRkZGRkYs
ICBzaXplIDB4MTAwMA0KDQpXZSBjYW7igJl0IG1lcmdlIHRoZW0gYmVjYXVzZSB0aGUgbmV3IHNp
emUgd291bGQgYmUgb3ZlciA0IGJ5dGUuDQoNCkR1cmluZyB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhp
cyBhbGdvcml0aG0gSeKAmXZlIHByb3RvdHlwZWQgaXQgaW4gUHl0aG9uLCBJ4oCZbGwgYXR0YWNo
IG15IHNjcmlwdCBoZXJlDQpzbyB0aGF0IGl04oCZcyBlYXNpZXIgdG8gdW5kZXJzdGFuZDoNCg0K
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMw0KDQpkZWYgbWVyZ2VfaW50ZXJ2YWxzX2lucGxhY2UoaW50
ZXJ2YWxzLCBzaXplX2xpbWl0KToNCiAgICBtZXJnZWQgPSBpbnRlcnZhbHNbOl0NCiAgICBsYXN0
X2lkeCA9IDANCiAgICBpID0gMQ0KICAgIGNvdW50ID0gbGVuKG1lcmdlZCkNCg0KICAgIGlmIGNv
dW50ID09IDE6DQogICAgICAgIHJldHVybiBtZXJnZWQNCg0KICAgIGxhc3RfY2VsbCA9IG1lcmdl
ZFtsYXN0X2lkeF0NCiAgICBzdGFydF9sYXN0ID0gbGFzdF9jZWxsWzBdDQogICAgc2l6ZV9sYXN0
ID0gbGFzdF9jZWxsWzFdDQogICAgZW5kX2xhc3QgPSBzdGFydF9sYXN0ICsgc2l6ZV9sYXN0DQoN
CiAgICB3aGlsZSBpIDwgY291bnQ6DQoNCiAgICAgICAgc3RhcnRfY3VycmVudCA9IG1lcmdlZFtp
XVswXQ0KICAgICAgICBzaXplX2N1cnJlbnQgPSBtZXJnZWRbaV1bMV0NCiAgICAgICAgZW5kX2N1
cnJlbnQgPSBzdGFydF9jdXJyZW50ICsgc2l6ZV9jdXJyZW50DQogICAgICAgIG92ZXJsYXAgPSBl
bmRfbGFzdCA+PSBzdGFydF9jdXJyZW50DQogICAgICAgIG5ld19zaXplID0gbWF4KGVuZF9sYXN0
LCBlbmRfY3VycmVudCkgLSBzdGFydF9sYXN0DQogICAgICAgICNwcmludCgoZiJsYXN0ICh7c3Rh
cnRfbGFzdH0se2VuZF9sYXN0fSksIg0KICAgICAgICAjICAgICAgIGYiIGN1cnIgKHtzdGFydF9j
dXJyZW50fSx7ZW5kX2N1cnJlbnR9KSwiDQogICAgICAgICMgICAgICAgZiIgbmV3c2l6ZToge25l
d19zaXplfSINCiAgICAgICAgIyAgICApKQ0KDQogICAgICAgICMgSWYgdGhlIGN1cnJlbnQgaW50
ZXJ2YWwgZG9lc24ndCBvdmVybGFwIHdpdGggdGhlIGxhc3Qgb25lLCBvciBldmVuIGlmDQogICAg
ICAgICMgdGhleSBvdmVybGFwIGJ1dCB0aGUgY29tcHV0ZWQgbmV3IHNpemUgd291bGQgYmUgb3Zl
ciB0aGUgaW1wb3NlZA0KICAgICAgICAjIGxpbWl0LCB0aGVuIGFkdmFuY2UgdGhlIGxhc3QgZWxl
bWVudCBieSBvbmUgcG9zaXRpb24NCiAgICAgICAgaWYgKG5vdCBvdmVybGFwKSBvciAob3Zlcmxh
cCBhbmQgbmV3X3NpemUgPiBzaXplX2xpbWl0KToNCiAgICAgICAgICAgICNwcmludCgiYWR2YW5j
ZSBsYXN0IikNCiAgICAgICAgICAgIGxhc3RfaWR4ICs9IDENCiAgICAgICAgICAgIGxhc3RfY2Vs
bCA9IG1lcmdlZFtsYXN0X2lkeF0NCiAgICAgICAgICAgIHN0YXJ0X2xhc3QgPSBsYXN0X2NlbGxb
MF0NCiAgICAgICAgICAgIHNpemVfbGFzdCA9IGxhc3RfY2VsbFsxXQ0KICAgICAgICAgICAgZW5k
X2xhc3QgPSBzdGFydF9sYXN0ICsgc2l6ZV9sYXN0DQogICAgICAgIGVsc2U6DQogICAgICAgICAg
ICAjcHJpbnQoIm1lcmdlIikNCiAgICAgICAgICAgICMgU2V0IG5ldyBzaXplIGZvciB0aGUgbGFz
dCBlbGVtZW50LCBtZXJnaW5nIHRoZSBsYXN0IGludGVydmFsIHdpdGgNCiAgICAgICAgICAgICMg
dGhlIGN1cnJlbnQgb25lDQogICAgICAgICAgICBtZXJnZWRbbGFzdF9pZHhdID0gKHN0YXJ0X2xh
c3QsIG5ld19zaXplKQ0KICAgICAgICAgICAgIyBVcGRhdGUgbGFzdCBlbGVtIGludGVydmFsIGVu
ZA0KICAgICAgICAgICAgZW5kX2xhc3QgPSBzdGFydF9sYXN0ICsgbmV3X3NpemUNCiAgICAgICAg
ICAgICMgVGhlIGN1cnJlbnQgaW50ZXJ2YWwgKGkpIGlzIG1lcmdlZCB3aXRoIHRoZSBsYXN0LCBz
byByZW1vdmUgaXQgYW5kDQogICAgICAgICAgICAjIHNoaWZ0IGxlZnQgYWxsIHRoZSByZW1haW5p
bmcgaW50ZXJ2YWxzDQogICAgICAgICAgICBtZXJnZWQgPSBtZXJnZWRbOmldICsgbWVyZ2VkW2kr
MTpdDQogICAgICAgICAgICAjIE5vdyB0aGUgYXJyYXkgaGFzIGxlc3MgZWxlbWVudCBzaW5jZSB3
ZSBtZXJnZWQgdHdvIGludGVydmFscw0KICAgICAgICAgICAgY291bnQgLT0gMQ0KICAgICAgICAg
ICAgIyBOZXh0IGl0ZXJhdGlvbiBuZWVkcyB0byBzdGFydCBmcm9tIHRoZSBjdXJyZW50IGluZGV4
LCBza2lwDQogICAgICAgICAgICAjIGluY3JlbWVudA0KICAgICAgICAgICAgY29udGludWUNCiAg
ICAgICAgaSArPSAxDQoNCiAgICByZXR1cm4gbWVyZ2VkDQoNCg0KZGVmIHByaW50X2ludGVydmFs
KGludGVydmFscyk6DQogICAgcHJpbnQoIlsiLCBlbmQ9JycpDQogICAgZm9yIGludGVydmFsIGlu
IGludGVydmFsczoNCiAgICAgICAgcyA9IGludGVydmFsWzBdDQogICAgICAgIHN6ID0gaW50ZXJ2
YWxbMV0NCiAgICAgICAgcHJpbnQoZiIgKHtzfSx7c3p9KSAiLCBlbmQ9JycpDQogICAgcHJpbnQo
Il0gLT4gIiwgZW5kPScnKQ0KICAgIHByaW50KCJbIiwgZW5kPScnKQ0KICAgIGZvciBpbnRlcnZh
bCBpbiBpbnRlcnZhbHM6DQogICAgICAgIHMgPSBpbnRlcnZhbFswXQ0KICAgICAgICBlID0gaW50
ZXJ2YWxbMF0gKyBpbnRlcnZhbFsxXQ0KICAgICAgICBwcmludChmIiAoe3N9LHtlfSkgIiwgZW5k
PScnKQ0KICAgIHByaW50KCJdIikNCg0KDQpkZWYgbWFpbihhcmd2KToNCiAgICBsaW1pdD0yMA0K
DQogICAgIyBBcnJheSBvZiBpbnRlcnZhbHMgKHN0YXJ0IGFkZHJlc3MsIHNpemUpDQogICAgI2Jh
bmtzID0gWygwLDIpLCAoNSwxKSwgKDAsMTApLCAoMTAsNyksICgyLDYpXQ0KICAgIGJhbmtzID0g
WygwLDIwKSwgKDIwLDUpLCAoMTAsMTUpLCAoNSwxNSldDQoNCiAgICBmb3IgaW50ZXJ2YWwgaW4g
YmFua3M6DQogICAgICAgIGlmIGludGVydmFsWzFdID4gbGltaXQ6DQogICAgICAgICAgICByYWlz
ZSBFeGNlcHRpb24oZiJ7aW50ZXJ2YWx9IHNpemUgPiBsaW1pdCAoe2xpbWl0fSkiKQ0KDQogICAg
IyBTb3J0IGJ5IHN0YXJ0IGFkZHJlc3MgYXNjZW5kaW5nIG9yZGVyDQogICAgYmFua3Muc29ydChr
ZXk9bGFtYmRhIGE6IGFbMF0pDQoNCiAgICBwcmludCgiSU4gKHNvcnRlZCkgWyhzdGFydCxzaXpl
KV0gLT4gWyhzdGFydCxlbmQpXSIpDQogICAgcHJpbnRfaW50ZXJ2YWwoYmFua3MpDQoNCiAgICBi
YW5rcyA9IG1lcmdlX2ludGVydmFsc19pbnBsYWNlKGJhbmtzLCBsaW1pdCkNCg0KICAgIHByaW50
KCJPVVQgWyhzdGFydCxzaXplKV0gLT4gWyhzdGFydCxlbmQpXSIpDQogICAgcHJpbnRfaW50ZXJ2
YWwoYmFua3MpDQoNCg0KaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoNCiAgICBtYWluKHN5cy5h
cmd2WzE6XSkNCg0KDQpDaGVlcnMsDQpMdWNhDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 10:20:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 10:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703824.1099705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rurXq-0008US-5M; Thu, 11 Apr 2024 10:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703824.1099705; Thu, 11 Apr 2024 10:20:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rurXq-0008UL-2p; Thu, 11 Apr 2024 10:20:38 +0000
Received: by outflank-mailman (input) for mailman id 703824;
 Thu, 11 Apr 2024 10:20:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rurXo-0008UB-MX; Thu, 11 Apr 2024 10:20:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rurXo-0000jr-KJ; Thu, 11 Apr 2024 10:20:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rurXo-0005cO-6A; Thu, 11 Apr 2024 10:20:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rurXo-0007JE-5r; Thu, 11 Apr 2024 10:20:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5IJXMSvYBk5tRmGN4HH5Zq0OGKf6Wdo89+tGTxMMwyc=; b=xm8LZttsQG8F6WGxzJmcXgM1dx
	yiwukuKz8zjOXXeXZgINPjkMPuyIleH1gmULMv1o3ECs/Jepbw6VGbmxDd2a34KU4Nn/tBsRqXFDn
	O5lEGgOvnrjkLLfu18vH/X8nE5zzMTjg+fxBRSlJqZcs4z1poAKbUUWYssjRhabcp7C0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185309-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185309: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=98f150a954b35cc74bd87ae355cf35d8c9e1580d
X-Osstest-Versions-That:
    ovmf=963671d3801a6992d1aa06f05d86e32efa6b205e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 10:20:36 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 98f150a954b35cc74bd87ae355cf35d8c9e1580d
baseline version:
 ovmf                 963671d3801a6992d1aa06f05d86e32efa6b205e

Last test of basis   185293  2024-04-10 02:11:42 Z    1 days
Testing same since   185309  2024-04-11 08:11:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@...>
  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
   963671d380..98f150a954  98f150a954b35cc74bd87ae355cf35d8c9e1580d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 10:23:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 10:23:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703829.1099716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruraY-0000dp-J1; Thu, 11 Apr 2024 10:23:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703829.1099716; Thu, 11 Apr 2024 10: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 1ruraY-0000dg-Fa; Thu, 11 Apr 2024 10:23:26 +0000
Received: by outflank-mailman (input) for mailman id 703829;
 Thu, 11 Apr 2024 10:23:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RVMu=LQ=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1ruraX-0000da-Cn
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 10:23:25 +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 86b939ef-f7ed-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 12:23:24 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a522715519bso34765266b.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 03:23: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: 86b939ef-f7ed-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712831003; x=1713435803; 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=ygIGmYwRz8hhzE0Eyn9WW/twVMRy7GWhBN5DIae5z5g=;
        b=eHk4NMBJ4Vv1BNGPxO2f4UhC7/Xb2AivvQnWLRE0qrdrRf0H2Pxi4PLsp1WTQ0pOgZ
         AlYEoJaQ0HmYnJYWip2S7KKRInQtk3nto5QzRQfr9yUpFOCqpDWW9Os7zbVkBtDYQ8B9
         2UXlzglPcD37XkWwZ+h9lp3muMJUiC7/2RV5uh7AgqjTzQvbGD8QOiouqOfaYc7WkNkC
         nr1eikVTs7pIOGfcG6sz64GwmSQMY5wTaB9AxP+2rtlHBZXdb8JE9mamDlp14X5E78TV
         rwHqUd3JrGYJDmnucs8mO/YHxjE4YSpFrb+2wxljh1XbL0NwTyS1xAvAdwgS2pYphq/6
         8+Sg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712831003; x=1713435803;
        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=ygIGmYwRz8hhzE0Eyn9WW/twVMRy7GWhBN5DIae5z5g=;
        b=asRL35zl8CJRJt8MyMjk+dmBS/uVIP1rtrqiWuWPO1+/EW9nVcJGAldHWybJSj9xC7
         31Ywx5VXLNJjaYmrauYmu02N5GlxA+h5OGCoM8gtSl55MnRsKX6CioelhReeoNvlK2kn
         mTzAQ40fhTgMzPFwZCb7rFf1GvRhQ4AYDNIjRSUP3delJUUsUGaeqfLJIX63QSgB3/Oi
         oghiyYoeTZoBgk4U4LLwpxIngFkqmRSlOiQwjwQzsEpVKlZ4NKEO8400Wx4anBExxIKN
         5Jys9/9nz3x0gHMqf3q6TYoPpT0SK0DxVD+SEZ5JdG5kcPUhetqwo7cpVclk53oCpwOP
         t/Rg==
X-Gm-Message-State: AOJu0YxWtRN4GBtRMCyBf83fUrFfBR3Sck8OIYEG6q2WdHHqpsgcaDhs
	IvAy35xh4jpvEEXljxJC09tLgEh3TNbs4oGLQvetFJveiOs9Xf1ZR6JDSwuBR8nUvYYogAy6gYy
	ji15fuhK8KWnFhFMTT72HJXZxpJav4Uqu3wK5qg==
X-Google-Smtp-Source: AGHT+IFYo2NhRc1jCIhq6usz7cX1NBd0FwmNfFMi6LXNNUgde+85kZjsxcNx4x9uXJDLZlUkPdApJhsuJl3WJPRWmQ4=
X-Received: by 2002:a17:907:9302:b0:a52:1466:4d1b with SMTP id
 bu2-20020a170907930200b00a5214664d1bmr3283563ejc.17.1712831003079; Thu, 11
 Apr 2024 03:23:23 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1712748711.git.manos.pitsidianakis@linaro.org> <c00304a2-f990-4fb3-9276-7f4907b583ea@perard>
In-Reply-To: <c00304a2-f990-4fb3-9276-7f4907b583ea@perard>
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Date: Thu, 11 Apr 2024 13:23:07 +0300
Message-ID: <CAAjaMXbhjQT-PFJmYBOyXWbOwMKsUEa964+svR8XkJ-tYQ4a+g@mail.gmail.com>
Subject: Re: [RFC PATCH v1 0/2] convert LIBXL_DEVICE_MODEL_START_TIMEOUT to
 env var
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 10 Apr 2024 at 18:53, Anthony PERARD <anthony.perard@citrix.com> wr=
ote:
>
> On Wed, Apr 10, 2024 at 02:43:13PM +0300, Manos Pitsidianakis wrote:
> > This patch series proposes converting the compile-time define
> > LIBXL_DEVICE_MODEL_START_TIMEOUT value to an optionally overridden by
> > environment variable value, just like the current behavior for
> > LIBXL_BOOTLOADER_TIMEOUT is.
> >
> > Manos Pitsidianakis (2):
> >   libs/light: add device model start timeout env var
> >   libs/light: expand device model start timeout use
> >
> >  docs/man/xl.1.pod.in                 | 11 +++++++++++
> >  tools/libs/light/libxl_9pfs.c        |  2 +-
> >  tools/libs/light/libxl_device.c      |  2 +-
> >  tools/libs/light/libxl_dm.c          | 10 +++++-----
> >  tools/libs/light/libxl_dom_suspend.c |  2 +-
> >  tools/libs/light/libxl_domain.c      |  5 +++--
> >  tools/libs/light/libxl_internal.h    |  6 ++++++
> >  tools/libs/light/libxl_pci.c         | 10 +++++-----
> >  tools/libs/light/libxl_usb.c         |  8 ++++----
> >  9 files changed, 37 insertions(+), 19 deletions(-)
> >
> >
> > base-commit: f48299cad5c3c69fdc2c101517a6dab9c9827ea5
> > --
> > =CE=B3=CE=B1=E1=BF=96=CE=B1 =CF=80=CF=85=CF=81=CE=AF =CE=BC=CE=B9=CF=87=
=CE=B8=CE=AE=CF=84=CF=89
> >
> >
>
> Hi Manos,
>
> Did you know that you could run something like
>     `git send-email --cc-cmd=3D"scripts/get_maintainer.pl --no-l" ...`
> and git would CC the maintainers of the code?
>
> I've configure my xen repo to have that been automatic, with
>     git config sendemail.cccmd 'cd `git rev-parse --show-toplevel` && scr=
ipts/get_maintainer.pl --no-l'
>
> There's other way to send patch, like using
> "scripts/add_maintainers.pl" described on this page:
> https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches#Sending_a=
_Patch_Series
> Not sure which one is better.
>
> Anyway, I've added the series to my list of patch to look at. But I
> might miss it next time if I'm not CCed.
>
> Cheers,
>
> --
> Anthony PERARD

Hello Anthony,

I do know about that, in fact I used it and it did not output your
email. Here's what the `get_maintainer.pl` outputs: (same output for
all patches):

$ ./scripts/get_maintainer.pl --no-l
../../patches/libxl-dm-timeout-v1/v1-0001-libs-light-add-device-model-start=
-timeout-env-var.patch
Andrew Cooper <andrew.cooper3@citrix.com>
George Dunlap <george.dunlap@citrix.com>
Jan Beulich <jbeulich@suse.com>
Julien Grall <julien@xen.org>
Stefano Stabellini <sstabellini@kernel.org>

Thanks,

--=20
Manos Pitsidianakis
Emulation and Virtualization Engineer at Linaro Ltd


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 10:55:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 10:55:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703837.1099725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rus52-00059B-RE; Thu, 11 Apr 2024 10:54:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703837.1099725; Thu, 11 Apr 2024 10: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 1rus52-000594-Oj; Thu, 11 Apr 2024 10:54:56 +0000
Received: by outflank-mailman (input) for mailman id 703837;
 Thu, 11 Apr 2024 10:54:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rus51-00058y-QU
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 10:54:55 +0000
Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com
 [2607:f8b0:4864:20::733])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec3b20b0-f7f1-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 12:54:53 +0200 (CEST)
Received: by mail-qk1-x733.google.com with SMTP id
 af79cd13be357-78d683c469dso306172085a.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 03:54:52 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 es17-20020a056214193100b0069687cdaba3sm791886qvb.36.2024.04.11.03.54.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 03:54: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: ec3b20b0-f7f1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712832891; x=1713437691; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bdA/4Yz4v4m5E1lygQi2sSZ+6dHwGuaFCTBQQ99QMe4=;
        b=jATg3MiW6kFPEUo9JaD6rhDl8FXLbvR8cd4uu+9eCCie6LINDu7gwuWZF5GeZ6Cy1F
         I2YxnrHwOCc0CUlQp3yZd+uC8Rpp1LseEXpN5kWPatcGBaBtNl/ekeQzu4H/eivF9fzu
         CTQsFy/dHBRx2Wt7DzLVwEY53qGO45jumpL2M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712832891; x=1713437691;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bdA/4Yz4v4m5E1lygQi2sSZ+6dHwGuaFCTBQQ99QMe4=;
        b=itQIQrOMQuiJ/AnoIo/OvVWSEKKGzpYb4cPmVfaKH8FvskWUhjMrkYyAL49TymW5KD
         oxqwbH94QUJH4PcDewhZblwxG+opYbt1iAmRbijtQnUvpEAIoHvMPfyg08TNmkmvd8WR
         KEzuHvsYE+s+DN+z18xj+Dv4twgU3th1G3qsAV9oYlwDfleOx4ZP/nw2CIBqDIAJLoQ+
         5YJlNa4pegeQ6bSFRvPzzfF9Ec4igm7z5OOhn9NT0sR4LIJhHoFwk7659Crxyax4WWV2
         5FZBWr369S+iqkgnP5WxGteCSxDhi/zupKhlEIt8q/jENItT7ixkfyJD+9JVD4erCi42
         qryA==
X-Forwarded-Encrypted: i=1; AJvYcCXrFVCkDEjl4KiBREnHNrPvaEB3DGbZkK11DCFImc512xz8R37SbRLNpz6PMIP2GwOeEtJn/tfAx+eCHWv3lBvTOse0LebcVITKr34BCsk=
X-Gm-Message-State: AOJu0YziMEIfmbrWYfpCvy/QBhkYXv7xt839MDr4MYRNXhR7ftriezj+
	pAVpWS4VFyGvKfleveYgoa5USE9wzk7pWrEOI9KQgqkwyqUFdQBD3PxVTKthevQ=
X-Google-Smtp-Source: AGHT+IHyg9Xt5NQqiD17U3+63veUaDUAhrk5L1Xp/aQa1pjWSPEP12ZZ62hUpXvvKLbgCWIQxOuKMQ==
X-Received: by 2002:ad4:5ce9:0:b0:69b:1dd6:f31c with SMTP id iv9-20020ad45ce9000000b0069b1dd6f31cmr4327816qvb.56.1712832891300;
        Thu, 11 Apr 2024 03:54:51 -0700 (PDT)
Message-ID: <a67efb31-f0a5-48e0-89c3-b822fb60312a@citrix.com>
Date: Thu, 11 Apr 2024 11:54:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] xen/virtual-region: Rework how bugframe linkage
 works
To: Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
 <20240410184217.1482366-3-andrew.cooper3@citrix.com>
 <ddc89f97-d71b-4175-a222-64c4c42bd8a1@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: <ddc89f97-d71b-4175-a222-64c4c42bd8a1@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/04/2024 7:20 am, Michal Orzel wrote:
> Hi Andrew,
>
> On 10/04/2024 20:42, Andrew Cooper wrote:
>>
>> The start/stop1/etc linkage scheme predates struct virtual_region, and as
>> setup_virtual_regions() shows, it's awkward to express in the new scheme.
>>
>> Change the linker to provide explicit start/stop symbols for each bugframe
>> type, and change virtual_region to have a stop pointer rather than a count.
>>
>> This marginly simplifies both do_bug_frame()s and prepare_payload(), but it
> NIT: s/marginly/marginally

Fixed.

>
>> massively simplifies setup_virtual_regions() by allowing the compiler to
>> initialise the .frame[] array at build time.
>>
>> virtual_region.c is the only user of the linker symbols, and this is unlikely
>> to change given the purpose of struct virtual_region, so move their externs
>> out of bug.h
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> For Arm:
> Acked-by: Michal Orzel <michal.orzel@amd.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 10:55:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 10:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703838.1099736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rus5d-0005Zt-3i; Thu, 11 Apr 2024 10:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703838.1099736; Thu, 11 Apr 2024 10: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 1rus5d-0005Zm-0z; Thu, 11 Apr 2024 10:55:33 +0000
Received: by outflank-mailman (input) for mailman id 703838;
 Thu, 11 Apr 2024 10: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=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rus5a-0005ZF-UG
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 10:55:30 +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 01fa7c6d-f7f2-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 12:55:29 +0200 (CEST)
Received: by mail-oi1-x235.google.com with SMTP id
 5614622812f47-3c5ebfd8fe9so1106173b6e.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 03:55:29 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fp17-20020a05622a509100b004343d021503sm746886qtb.67.2024.04.11.03.55.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 03: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: 01fa7c6d-f7f2-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712832928; x=1713437728; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SIzIWqt8ld32svQccEwDg49abMLYJiXplyTqx04EgUM=;
        b=c6iof1u33JW3tG1oKtr3BRhe4jHCGt+h0Dg+tCkVoJP0nl1qaLSWgyJJuQ+aWGdMt4
         qbPpG/DqQwae4tDY+dElm/XNPTSAYZH4HQJ7tC8qcf85KpZbSR4xi8i0YyQKTO1hPB8L
         +bEyDsX4rTTP9BeGRvEW82f1i2UTi0cOwLlCE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712832928; x=1713437728;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SIzIWqt8ld32svQccEwDg49abMLYJiXplyTqx04EgUM=;
        b=Nz/Eg13U35tYR6Qu+/q5+KtDFQ603XEto2ATlBlyqCJdiYxs1Lrch7fHdwar1j1wRv
         UdlZ4H7xk3HzrFWJgINh5fdIyTXlIsG0mwQglNJT+3sdH6zyywUgsUvfTV7Wlf0IBdeh
         rTFhWZR/S1gmoV3p3AEKYXL1VURZZq2OJ53vwGNi+J602Q68ffsA74ywHb9sLfLwIpc6
         7kLYXdaU4jpo9a7GXvj3wVtlWVKXg+tVi76pTQR8hlBWqLZWbAvstPCK9/juKMrZu4Hs
         JqirXTP5k5++Ysl3HPcYO6ISogglZCA/x4rqv7RaPfizxZIEMDTVPjCCowtAgpsTfS1A
         40SQ==
X-Forwarded-Encrypted: i=1; AJvYcCUApX5p3p99r1P9ovkEmMA/ovVI7fNE6ISKXiLyLas30mgq5ipqphEuhem0L7PP2RSEzOELUolDaPZzdJA2AAT21OFGGNgdevXJAsEfG2o=
X-Gm-Message-State: AOJu0Yx4o45cAu/73WkKg3OkpWHeKf/W8yWJajR6scqA7SJGMJjEuTjx
	Zif3TKLCWDhAKEKe7EXSY4RMBkDIeGqyIZndklwSdnRZF5ntqwYLhs/fh+p/3WE=
X-Google-Smtp-Source: AGHT+IGPAzlFFKCzZ3t49j/hv9AG0JTo1iHVuQpdOlSNXB7zgSztmSnygZsxOz6CNDNg1mWI3aIORw==
X-Received: by 2002:a05:6808:178f:b0:3c6:b55:b28b with SMTP id bg15-20020a056808178f00b003c60b55b28bmr4981940oib.48.1712832927661;
        Thu, 11 Apr 2024 03:55:27 -0700 (PDT)
Message-ID: <47eede33-b4cd-4896-a453-25043236b9a9@citrix.com>
Date: Thu, 11 Apr 2024 11:55:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/virtual-region: Link the list build time
To: Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
 <20240410184217.1482366-4-andrew.cooper3@citrix.com>
 <beb9bda6-43cd-458f-a952-66c6071104bb@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: <beb9bda6-43cd-458f-a952-66c6071104bb@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/04/2024 7:34 am, Michal Orzel wrote:
> Hi Andrew,
>
> On 10/04/2024 20:42, Andrew Cooper wrote:
>> diff --git a/xen/common/virtual_region.c b/xen/common/virtual_region.c
>> index 7d8bdeb61282..db3e0dc9fe74 100644
>> --- a/xen/common/virtual_region.c
>> +++ b/xen/common/virtual_region.c
>> @@ -15,8 +15,18 @@ extern const struct bug_frame
>>      __start_bug_frames_2[], __stop_bug_frames_2[],
>>      __start_bug_frames_3[], __stop_bug_frames_3[];
>>
>> +/*
>> + * For the built-in regions, the double linked list can be constructed at
>> + * build time.  Forward-declare the elements and their initialisers.
>> + */
>> +static struct list_head virtual_region_list;
>> +static struct virtual_region core, core_init;
> ... empty line here for better readability

Will do.  Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 10:58:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 10:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703844.1099746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rus8b-0006F2-HQ; Thu, 11 Apr 2024 10:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703844.1099746; Thu, 11 Apr 2024 10:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rus8b-0006Ev-ET; Thu, 11 Apr 2024 10:58:37 +0000
Received: by outflank-mailman (input) for mailman id 703844;
 Thu, 11 Apr 2024 10:58: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=Poi8=LQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rus8a-0006EO-BW
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 10:58:36 +0000
Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com
 [2607:f8b0:4864:20::f29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 716fd4a1-f7f2-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 12:58:35 +0200 (CEST)
Received: by mail-qv1-xf29.google.com with SMTP id
 6a1803df08f44-69625f89aa2so58400496d6.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 03:58:35 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 oj6-20020a056214440600b006986db59235sm787313qvb.68.2024.04.11.03.58.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 03:58: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: 716fd4a1-f7f2-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712833115; x=1713437915; 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=qEWVJ0k1wnRaeVKyvNWmhsqfjvMy+N1ww5EbTYXqA44=;
        b=Zf2HHr8ETM5PA6qmxdmMsF4e1fB5H7jQsiAc4Egr/+3zaC3UNOXtt/7DLwyqLldcL6
         8CxKD/YF+A8JVuzCSpFiQPT6WqZB2otTMjC3dLqxccz1rkzQRXnWoLgGrsvBejVv4i9O
         IXFkJmTBvJZ9ze4Hj0FUQD3g0FydnL+iCH2RI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712833115; x=1713437915;
        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=qEWVJ0k1wnRaeVKyvNWmhsqfjvMy+N1ww5EbTYXqA44=;
        b=MU4tiynM09H7mAaFL3nQmDYJ4FXh3Z8MWWnj18xSZFSYnrpj6TzawydPV6aNw31bCq
         I4Ohs09skTJ62OlgwrxQM0kizJ4ehTDk/2Rbc0i0PFZjo1iTYWya3vcEmOvPVJp6UaZM
         xf0j+NiqsVIQJ8wfLoxW1vfp8+bNieYsXf6PiKymvzVTwF96WeWQemoSwA/INih5551L
         Uh6MfnssoTz/TXE4PSztOXUchnBD1rtYOK/4lQ6gx5fGoTean+4CV1vZRWFkD7Uv86zE
         +Nclt/xKMU+rR3gqRw9kV4RGbE0nQHGSNTouiVyr4RqI7aaYX+fAx4ljIkm/avCjzC1C
         9OmQ==
X-Gm-Message-State: AOJu0Yw4rQN0wWTeIjBHlcLrwGiYFUY+a3cXGpBO6Qcr6Nj3UjUVxyqv
	MFgPWcuQ/GmwDRM2j34A6c7zqC6ybOMFWjxsRNuiTZmeYvPvyQ2GKCUWaxKCxLk=
X-Google-Smtp-Source: AGHT+IEXrE3cKMbSHUK0Wk6NzurV7bPHvnoNY3oJHo+edlhqCx3d2d1LrOKnN8TU1AbGeJ6iw2RRUA==
X-Received: by 2002:a05:6214:29e2:b0:69b:215f:e2b0 with SMTP id jv2-20020a05621429e200b0069b215fe2b0mr5612919qvb.55.1712833114685;
        Thu, 11 Apr 2024 03:58:34 -0700 (PDT)
Date: Thu, 11 Apr 2024 12:58:32 +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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] xen/vPCI: Remove shadowed variable
Message-ID: <ZhfCWGzazXFNxSCk@macbook>
References: <20240410193348.1492018-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: <20240410193348.1492018-1-andrew.cooper3@citrix.com>

On Wed, Apr 10, 2024 at 08:33:48PM +0100, Andrew Cooper wrote:
> Resolves a MISRA R5.3 violation.
> 
> Fixes: 622bdd962822 ("vpci/header: handle p2m range sets per BAR")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Thanks!


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 11:24:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 11:24:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703856.1099761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rusXw-0002dL-LX; Thu, 11 Apr 2024 11:24:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703856.1099761; Thu, 11 Apr 2024 11:24:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rusXw-0002dE-J7; Thu, 11 Apr 2024 11:24:48 +0000
Received: by outflank-mailman (input) for mailman id 703856;
 Thu, 11 Apr 2024 11:24:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=04oP=LQ=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rusXv-0002d8-LX
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 11:24:47 +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 1a02f15c-f7f6-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 13:24:46 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-34665dd7610so793191f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 04:24:46 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d16-20020adff2d0000000b003418364032asm1538368wrp.112.2024.04.11.04.24.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 04: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: 1a02f15c-f7f6-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712834686; x=1713439486; 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=rfJsaR1TfK10rq4u8nVeQwNlrJ8dME5xcDhqJYgYsfM=;
        b=TsAXn1Mi082oBGsNANb08arBkJNDxoP+2KhQYS0zUOYGHkD6E2j0QKPUhr2U4NiA/5
         NbecowDFrGgyblx0OJWQRHMHYqihZi4bTvXZalQVvwmwwakbg4EFk5BOxEj2pQqU+jXx
         ORgTSndV6FK8pHnPKMZPy/g/wv35XJW4Ax+xQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712834686; x=1713439486;
        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=rfJsaR1TfK10rq4u8nVeQwNlrJ8dME5xcDhqJYgYsfM=;
        b=hpBYQAvPAhEelC3b1KifDF0k8JfoO2igENr9TKrEQ/TUF2iipRXv9bir9josW8LZau
         M4JegUiS4FU1b7NOF1JcdcJ72mLBP6remgraIkaDlUPIYqHvmH8VfmlDWc4uwWR+68gb
         3TnAgM5IE+RZ9d34hHgYfxcj88AyS8VDhwW/R6tEd4PBHLIqmE8qeW7Y0NhRY1qh8CHp
         bP9jzLxQf2kd5zaoxr/YY495uQTkYiArVFeOBqPwpRH5RsIzVBaC7Ibp1vmktbS75cCl
         y7lzesIJFELraIGn9UOY+IUH4q1L2OiM0XCPdKen/vcnGIRELd6XiQ5lcUELA821ExSM
         Qcew==
X-Gm-Message-State: AOJu0Yz6tPMcKoWWYE6VGgttTluW+WSS7iE72coT5im8EFJH529vAIkt
	PZeNuNAe9JnLkNm6l3zk9IQG5bobe8PfHx4g9GNLEaTt1A0RyDg3qhp/PSQrllk=
X-Google-Smtp-Source: AGHT+IFx7ZBxbc5aR/v8iRsdOJRQ2RA+HFh/uCOct3t4Fv4w1it+/pG6kNOY/HtbQdaVSmZptWIEow==
X-Received: by 2002:adf:e7c8:0:b0:341:a640:b516 with SMTP id e8-20020adfe7c8000000b00341a640b516mr3342286wrn.70.1712834686130;
        Thu, 11 Apr 2024 04:24:46 -0700 (PDT)
Date: Thu, 11 Apr 2024 12:24:45 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [RFC PATCH v1 0/2] convert LIBXL_DEVICE_MODEL_START_TIMEOUT to
 env var
Message-ID: <e8103b89-c324-46a3-b58a-dc8253acee53@perard>
References: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
 <c00304a2-f990-4fb3-9276-7f4907b583ea@perard>
 <CAAjaMXbhjQT-PFJmYBOyXWbOwMKsUEa964+svR8XkJ-tYQ4a+g@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAAjaMXbhjQT-PFJmYBOyXWbOwMKsUEa964+svR8XkJ-tYQ4a+g@mail.gmail.com>

On Thu, Apr 11, 2024 at 01:23:07PM +0300, Manos Pitsidianakis wrote:
> Hello Anthony,
> 
> I do know about that, in fact I used it and it did not output your
> email. Here's what the `get_maintainer.pl` outputs: (same output for
> all patches):
> 
> $ ./scripts/get_maintainer.pl --no-l
> ../../patches/libxl-dm-timeout-v1/v1-0001-libs-light-add-device-model-start-timeout-env-var.patch
> Andrew Cooper <andrew.cooper3@citrix.com>
> George Dunlap <george.dunlap@citrix.com>
> Jan Beulich <jbeulich@suse.com>
> Julien Grall <julien@xen.org>
> Stefano Stabellini <sstabellini@kernel.org>

Oh, sorry, I didn't realise this was "THE REST" that is the list of
default maintainers.

So for some reason, the script fail to parse the patches to find which
files are modified. And I think I know why. Usually, `git format-patch`
output something like:
    diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
    index 4369fef161..9ffdd50c69 100644
    --- a/tools/libs/light/libxl_dm.c
    +++ b/tools/libs/light/libxl_dm.c
with all path starting with "a/" or "b/", which get_maintainer then
strip. (It strip them from the "diff --git" line, but remove the first
"directory" from the path for line starting with "---" or "+++".)

The patches in this series instead look like this:
    diff --git tools/libs/light/libxl_dm.c tools/libs/light/libxl_dm.c
    index 4369fef161..9ffdd50c69 100644
    --- tools/libs/light/libxl_dm.c
    +++ tools/libs/light/libxl_dm.c
with "a/" and "b/" missing, and that confuses get_maintainer.pl. It
tries to find maintainers for "libs/light/libxl_dm.c" which don't exist.

Did you by any chance used "--no-prefix"? It doesn't seems worse it to
handle this case as I'm guessing more than on tool rely on those.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 11:49:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 11:49:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703863.1099772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rusw5-0005vv-Gn; Thu, 11 Apr 2024 11:49:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703863.1099772; Thu, 11 Apr 2024 11:49:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rusw5-0005vo-DR; Thu, 11 Apr 2024 11:49:45 +0000
Received: by outflank-mailman (input) for mailman id 703863;
 Thu, 11 Apr 2024 11:49: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 1rusw4-0005ve-6Q; Thu, 11 Apr 2024 11:49: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 1rusw4-0002S3-34; Thu, 11 Apr 2024 11:49: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 1rusw3-0001eL-Nw; Thu, 11 Apr 2024 11:49:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rusw3-0001v4-NU; Thu, 11 Apr 2024 11:49:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gHdZvH4P47S9rRPDFnmu3Wct830NV3HCHCW7+El4/yM=; b=N5gauoOAGcE4v3HyXqA2LvyI3Y
	N4hfpb7O5e03ugeU/yrH8sJOAfkId0oG1RxMuPLWo8dMBehAimq9cDPfPUZjY7pXg/IXeqmTUFZeY
	1acXI/zMmnHtf1d1lheBCMIFQ9H5O2A+ElLftBMy2Zde8xGlH3AM+nOCw5xHmcjvrRnY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185296-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185296: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-saverestore:fail:regression
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 11:49:43 +0000

flight 185296 xen-4.15-testing real [real]
flight 185312 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185296/
http://logs.test-lab.xenproject.org/osstest/logs/185312/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 185282
 test-amd64-amd64-xl-qemut-debianhvm-amd64 15 guest-saverestore fail REGR. vs. 185282
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 15 guest-saverestore fail REGR. vs. 185282

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 185312-retest

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

Last test of basis   185282  2024-04-09 12:06:43 Z    1 days
Testing same since   185296  2024-04-10 06:02:43 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 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                    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-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                                   fail    
 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 Thu Apr 11 12:03:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:03:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703873.1099785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rut9F-0000Lb-SN; Thu, 11 Apr 2024 12:03:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703873.1099785; Thu, 11 Apr 2024 12: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 1rut9F-0000LU-PN; Thu, 11 Apr 2024 12:03:21 +0000
Received: by outflank-mailman (input) for mailman id 703873;
 Thu, 11 Apr 2024 12:03: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=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rut9E-0000LO-Jm
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:03:20 +0000
Received: from mail-qv1-xf30.google.com (mail-qv1-xf30.google.com
 [2607:f8b0:4864:20::f30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ba47031-f7fb-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 14:03:18 +0200 (CEST)
Received: by mail-qv1-xf30.google.com with SMTP id
 6a1803df08f44-69625f89aa2so58752526d6.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:03:18 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 v7-20020a0ccd87000000b00699413a7386sm840800qvm.114.2024.04.11.05.03.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 05:03: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: 7ba47031-f7fb-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712836997; x=1713441797; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LxturFcWGF36/BJIIfle5Nqa6xO8AQ0l0Wiw5My3GGA=;
        b=Ri8uACP1DHuyXY0IZJg2M8BUoDabRgi4LBsAqnoQykxEjp59Wv2laJJwlUGW46KYc7
         PeCBGBGPeOn16qmz9cyThj3HEN/lsVj+lHX274Zd1obEmaKMKiPfwFBmI5G2ZR+6tP2y
         d/aVgs/YbRAyv2/A47HGJp2KsS/HxMg2+iGVY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712836997; x=1713441797;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LxturFcWGF36/BJIIfle5Nqa6xO8AQ0l0Wiw5My3GGA=;
        b=lROsV8WRExFwGVDueXy/ZJINJZXIX87gBiuH4Tz1jRq0+PcWoPIPnK6Pv1KpyzhPaO
         7QIfs9Ok6hqKxyW87WGOo6hXgLDpe3N+E2+gQhg5ROABaQsDpnSmIH8TtJnE5Ui8kBGS
         3m9iEPB4FBH/iQv1P5sP+eF2pl8y1mYJF7es1zwP6zxdf+rwUMm3sGQTUlhxhWDguvNi
         VqlYZ9bp8yHyGOjWvF0c21RyXgowtk+ulT4KcBoXgUw+zU0NXf2uD6eqHvTyOPZW7xi1
         dEkzYeCwaxv/TwPidQAxg4NkWxE1n26Ga/NGn3JD6rA+4Iy3mT7rDSMxxotrSzbbO0Rx
         Y4bg==
X-Forwarded-Encrypted: i=1; AJvYcCXSH6Kv7OWaUsI2WQH24UA8+YDq6YjDCBqfamyzk9dGsIINinYev5CZuHYYDZdLXrbuGu4UAzhGX5Dt2+mz9CEihLFbIARWZi/eU/367qU=
X-Gm-Message-State: AOJu0YyPYgELW1/4/q1wtBXfRlS8YZrHGv5B3hpQam1bo9a/WV76nmup
	zXgnyAGN2rOyO+8L2qKTnX3l/UHFXqjjwji1HS2S+UTxttC7bmVDMbRY3h16/b8=
X-Google-Smtp-Source: AGHT+IFuJRWSDmUu6YZs5RpKYwGWM8dxWQvRVzmmaaLOY9emfmFZ0nds4mDd2XZ+eh21M36d8nnhzg==
X-Received: by 2002:a05:6214:1c05:b0:69b:1fa6:e88e with SMTP id u5-20020a0562141c0500b0069b1fa6e88emr6503761qvc.30.1712836997349;
        Thu, 11 Apr 2024 05:03:17 -0700 (PDT)
Message-ID: <dd6ad7c5-bf99-42d4-9082-9ff87185705c@citrix.com>
Date: Thu, 11 Apr 2024 13:03:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 1/9] x86/vlapic: tidy switch statement and address
 MISRA violation
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com>
 <36e84201-b31f-4204-8cff-ed50a01a47ed@suse.com>
 <e847ee06b76b816a62a555dfa6d52a4a@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: <e847ee06b76b816a62a555dfa6d52a4a@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/04/2024 8:45 pm, Nicola Vetrini wrote:
> On 2024-04-08 09:32, Jan Beulich wrote:
>> On 05.04.2024 11:14, Nicola Vetrini wrote:
>>> Remove unneded blank lines between switch clauses.
>>
>> "Unneeded" based on what? We're carefully trying to improve
>> readability of
>> large switch() statements by adding such blank lines (at least)
>> between non-
>> fall-through case blocks, and you go and remove them?
>>
>> Jan
>
> I wrote that based on this earlier suggestion [1]. If I misunderstood
> the suggestion, then I apologize and feel free to strip them if you want.
>
> [1]
> https://lore.kernel.org/xen-devel/e40579ba-acae-4c11-bea1-a5b83208db10@suse.com/

I'm afraid I also can't figure out what that suggestion was supposed to
be, but we definitely do want to keep blank lines.  They're specifically
for improved legibility.

But fighting over spacing like this is a waste of everyone's time.  I've
taken patches 1 thru 7, accounting for the suggestions made so far, and
adjusted to retain the blank lines.

Please double check carefully.

Patch 8 didn't apply because SAF-4-safe has been used for something else
now.  You'll need to rebase and resubmit patches 8 and 9.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 12:05:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703875.1099795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutBC-00015b-81; Thu, 11 Apr 2024 12:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703875.1099795; Thu, 11 Apr 2024 12:05: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 1rutBC-00015U-4X; Thu, 11 Apr 2024 12:05:22 +0000
Received: by outflank-mailman (input) for mailman id 703875;
 Thu, 11 Apr 2024 12:05:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rutBA-00015O-75
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:05:20 +0000
Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com
 [2607:f8b0:4864:20::f32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3081f12-f7fb-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 14:05:18 +0200 (CEST)
Received: by mail-qv1-xf32.google.com with SMTP id
 6a1803df08f44-69b10c9cdf4so19270036d6.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:05:18 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 s11-20020ad44b2b000000b0069b1ecd6109sm859123qvw.19.2024.04.11.05.05.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 05:05: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: c3081f12-f7fb-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712837117; x=1713441917; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dhwMRq2KEIymkW5s9GDxHsoYWg6i5/kRh45ouqzY7Bg=;
        b=NVPFJi1Bmwkfo6mXJAlFQ1Jvx8tOQa5yvPxew4h8sO7P9RvgdXiqUbAKOaVTLYj/hs
         J3yHFegVHLFpQ/jIHCfqHlrcpWTkDuyAB9WtGkF6sh/mqkzyiHkKlljRsMeY5c1yz8UD
         cabyVP0wiwokx+hw/RU41PIc+T5Cz1o/B7sAc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712837117; x=1713441917;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dhwMRq2KEIymkW5s9GDxHsoYWg6i5/kRh45ouqzY7Bg=;
        b=AW+l/tlJn6hbZaoPhQJePuC53UfGYkU6tqPlWuGVd7oa87LIFrn8Y5tXrc1oD3DXJH
         iyeG7tRNPMUITBQMH1lq+OmD5uzo03SVFjhP0Kq8xXWhnIQGNshz4FwO9eyv9u0mp0oG
         igl1srQbXse1nQB4wekN1eaE3X+Q7BP/k82lXN41fCKLA2YjnyBS+u9EsuHPdhWQrrQA
         1C5TC3X3Sdpu1V3fOZbAeD+qss4BCKrZtCRYGYnxv6RlMxvXai+5yXbtswg6UPqtXgba
         DilPCfW3QZ3+k4I/Y187mWEZeNWJ+cITgZwHt+dM15b8kQT+dE+2tiOgEmRKlhtQJqMi
         aLnQ==
X-Forwarded-Encrypted: i=1; AJvYcCU/U+YT0kihrzwPRCAh4o1PTeQyDXWiAs+qf/Jmi1sc5GL2zIr34znLUWKdAWmr6qnTdxzfiyYSwzwtHRX7+XcwQ3hjL9kZM2XawtphdnY=
X-Gm-Message-State: AOJu0YyGr4K4WOZzJGNrA/xba8GYrFRtObOLBBiqIjsvZNrXB1Y8gCnY
	Oj6gaDY+38k652uuwIhmXfATUCOw/rekDE2VOgJXYHy1+dToJPCaBfoGlTYPGBI=
X-Google-Smtp-Source: AGHT+IGhCJDtVgErQtdciV+Weu/6n4/h1KnzU8yuPie39K4CfxqaloWltPpA+bzkBC/hRnYZMu3/qA==
X-Received: by 2002:ad4:5aee:0:b0:69b:246b:4bff with SMTP id c14-20020ad45aee000000b0069b246b4bffmr5595186qvh.33.1712837117055;
        Thu, 11 Apr 2024 05:05:17 -0700 (PDT)
Message-ID: <f6222be7-c398-46a4-a1cc-6324cddac3ae@citrix.com>
Date: Thu, 11 Apr 2024 13:05:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/acpi: Allow xen/acpi.h to be included on non-ACPI
 archs
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: tpearson@raptorengineering.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>,
 George Dunlap <george.dunlap@citrix.com>, Juergen Gross <jgross@suse.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <20240405182031.396528-1-sanastasio@raptorengineering.com>
 <7ab4053f-f8b3-4b6a-bd29-5d0fa228fca5@suse.com>
 <eb22ec4e-6e60-458d-a17c-ad47a3146a6e@raptorengineering.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: <eb22ec4e-6e60-458d-a17c-ad47a3146a6e@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/04/2024 11:16 pm, Shawn Anastasio wrote:
> On 4/8/24 1:54 AM, Jan Beulich wrote:
>> On 05.04.2024 20:20, Shawn Anastasio wrote:
>>> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
>>> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
>>> that the header can be included on architectures without ACPI support,
>>> like ppc.
>>>
>>> This change revealed some missing #includes across the ARM tree, so fix
>>> those as well.
>>>
>>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> Thanks.
>
>> albeit preferably with ...
>>
>>> @@ -118,6 +121,7 @@ extern u32 pci_mmcfg_base_addr;
>>>  #else	/*!CONFIG_ACPI*/
>>>  
>>>  #define acpi_mp_config	0
>>> +#define acpi_disabled (true)
>> ... the unnecessary parentheses avoided here.
>>
> If you'd like to handle this durring commit, that would be fine with me.
> Otherwise let me know if you'd like a v2 to be sent.

I've fixed on commit.  No need to send a v2.

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 12:13:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:13:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703881.1099805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutIZ-0002hz-Ue; Thu, 11 Apr 2024 12:12:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703881.1099805; Thu, 11 Apr 2024 12:12:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutIZ-0002hs-Ry; Thu, 11 Apr 2024 12:12:59 +0000
Received: by outflank-mailman (input) for mailman id 703881;
 Thu, 11 Apr 2024 12:12: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=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rutIY-0002hk-05
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:12:58 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4863ee2-f7fc-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 14:12:57 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id
 d75a77b69052e-43493745415so19761901cf.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:12:57 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f18-20020ac81c92000000b00434f50f5d82sm831619qtl.14.2024.04.11.05.12.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 05: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: d4863ee2-f7fc-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712837576; x=1713442376; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ySCRczzvMVB58WjnHUwULBNHEzdhVeYlOS/feJ5C65A=;
        b=UCU6ZK+qLAdJE0TH0m9clhEW89BiapBqHKvjFLogdxBLvNwEdo0YZSyjpOnKSmfYmd
         v9P0d6zQuiUoO/A1tBh1pfaIXk8VBjvJsGjRr/XliRWUyuLX0BAwTrZsQmYUUocxYodn
         6nxFYicySpq0AjcN8dwZoVJMVY9vVQRGoavAI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712837576; x=1713442376;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ySCRczzvMVB58WjnHUwULBNHEzdhVeYlOS/feJ5C65A=;
        b=HRiyh38oHF5piTNM/ORrn2GsVRAwk749+dfFl6/zzMqNPiZdF9uTV8AGNBPiRDoSeC
         Fvz0VcUZCSN9u/3o91XsQGefrpkVZx9FOUXoZ0ayJY2N4KEYwb/OQg8OrnuFQE/9mlIG
         7DTLWTHCa1bquvOKXhyVjQGVwu6ABHMayLnUQw/yNHLFtIYY/bLAg8dEDP7qlugmpDym
         GJPliH27ihqMA+IvWebRWvZa4R8x9Oe6ZpcH+HbozstrPhE6R+ds/RPH4/QDXuRxlssz
         V7mJWEuciPZ4ReuUQ7JttNKBQZBoaZLaaZ20Yb00qGqnakBewNklrLvH6vitOvn7SA/e
         EdVA==
X-Forwarded-Encrypted: i=1; AJvYcCWmnfumxoblpIjsOF6sNmBbeGoShJoZoXU5W8OZ7zQEneK2jEtJN/ViXA0PI/XlPQZogC+G+vog7zQ88NArTb2mhuqwFPIs60h/KZFj0dQ=
X-Gm-Message-State: AOJu0YxU0jvT0xIxipzOlonqnwj86FxYE/LGaShbCL+Ir2bcc9EFw0sg
	wLJ48r8urLzYCxp9PT0mmDUAmyh8BsZpIfh6jLkcgtAVbOH4aBBkWXzSUBKqTmG/RrX75YtRtvA
	WLqg=
X-Google-Smtp-Source: AGHT+IGC8mcO+1uxmmFHV3bOEUQCiJ4TtAjB1GDT0zJSzuJ6BSxNryn1tqXkiESxqQCmYHDiPEVukg==
X-Received: by 2002:ac8:578a:0:b0:436:7b8e:677 with SMTP id v10-20020ac8578a000000b004367b8e0677mr108381qta.49.1712837575930;
        Thu, 11 Apr 2024 05:12:55 -0700 (PDT)
Message-ID: <66ef2d24-0c4f-4d35-89c3-04ffd870cc91@citrix.com>
Date: Thu, 11 Apr 2024 13:12:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/6] tools/misc: rework xenwatchdogd signal handling
To: leigh@solinno.co.uk, xen-devel@lists.xenproject.org
Cc: anthony.perard@citrix.com, slack@rabbit.lu
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-3-leigh@solinno.co.uk>
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: <20240329111056.6118-3-leigh@solinno.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29/03/2024 11:10 am, leigh@solinno.co.uk wrote:
> diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
> index 2f7c822d61..35a0df655a 100644
> --- a/tools/misc/xenwatchdogd.c
> +++ b/tools/misc/xenwatchdogd.c
> @@ -9,9 +9,11 @@
>  #include <unistd.h>
>  #include <signal.h>
>  #include <stdio.h>
> +#include <stdbool.h>
>  
>  xc_interface *h;
> -int id = 0;
> +static bool safeexit = false;
> +static bool done = false;

It's a common bug, but these need to be volatile.  Right now, ...

> @@ -90,10 +90,14 @@ int main(int argc, char **argv)
>      if (id <= 0)
>          err(EXIT_FAILURE, "xc_watchdog setup");
>  
> -    for (;;) {
> +    while (!done) {
>          sleep(s);

... the only reason this isn't an infinite loop is because the compiler
can't prove that sleep() doesn't modify the variable.  This goes wrong
in subtle and fun ways when using LTO.

I'll fix on commit.

For the record, I've taken 1-3 which are ready.  You'll need to rework 4
and later per Anthony's feedback.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 12:23:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:23:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703886.1099814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutSy-0004rv-TA; Thu, 11 Apr 2024 12:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703886.1099814; Thu, 11 Apr 2024 12: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 1rutSy-0004ro-QS; Thu, 11 Apr 2024 12:23:44 +0000
Received: by outflank-mailman (input) for mailman id 703886;
 Thu, 11 Apr 2024 12:23: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=RVMu=LQ=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1rutSy-0004ri-87
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:23:44 +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 554d743a-f7fe-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 14:23:42 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-516db2214e6so7081665e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:23: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: 554d743a-f7fe-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712838221; x=1713443021; 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=hQODPu6FHcQYR3JyUEnQZ1dUqgFU2GtzUbHXmNRJoww=;
        b=wbnPSqfFw7b6fLGpG81ECAVq1LJjSA4AhiH3Ay8nOu8OEHsLym6GzB28fjB4LUco7t
         UxmrLCI8G+7Mo5iHctmTLzj6yPJXeDKS67QDsd23kQZv7laMU4NLS2NTN88TIgJi3ek/
         MwueIwMIe20DExnegakf2q6Jx9jYceyNBXOXzL4jLTSzO2L0EcEbFFDN4sAsJ+y6n9DW
         Ah/jmFGrm3Gpl4LOR1+V7xeoCrhlpjwkglOUD/HO+0fSAEMRMy24BgqipDvYjvZh0AD9
         P/e5G8lkloC9AcI7cTiL1JZ5eJPlJ2YhK4YHTxycBfYuV2ivXMTJ9uXedEi5MPXgKLAR
         SbLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712838221; x=1713443021;
        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=hQODPu6FHcQYR3JyUEnQZ1dUqgFU2GtzUbHXmNRJoww=;
        b=NpyCf8w2L8Fy+O6dpqK7BD578VSIWR2UEhSOplE4w8TY0ik/EZGpSi3wKPrAR4kUWW
         IItGAsM1I7WUscC2Jzkiik+0Qv9g/azqV09hpCPI18ddLhNX45eAGJmRbFJGbldtXvDO
         EPksPwGxPN18Pa4ME36z9qG1ue7Hek+KY0KQhi4OUdYYyoAp59H/3TN6tpso5a3cJBW/
         Ya9JK3BcAofCxLORRC6Xr4DFZibaze41T63kSVWnDAtA+2bf0vQOnmTaMu0sOcLDu/y8
         p6ojscuFvxI8LOEz3WgAg0MJFSRI+yktv375f0H6ekaF7rGBps/J0vF4J53BZLANxRtB
         3LfA==
X-Gm-Message-State: AOJu0Yww7xvQnAC14RJft9Aa+FVqx7PRCKgxt7ia6buxXAOh2uxcng8O
	YrbB4L4gymtnEYwFKOI01Vfqy+XA/cDQDuPOV6goYt+LPYEO/AWsapRLbgO05lOwmK/38VIbwwX
	DaTFNnKGbQIyEAhLiAfoKyxaNsSHrJjsf8Tk0wQ==
X-Google-Smtp-Source: AGHT+IFba9IPlYJm7O8mxw/YQonyyFo4T7SCxsLHzVU+TcLHh0IRGTUClI3/n9h/OK9L/PfsfctJawOfpvTLZ5nIYn4=
X-Received: by 2002:a19:6a04:0:b0:515:bb3a:116a with SMTP id
 u4-20020a196a04000000b00515bb3a116amr3298256lfu.41.1712838221370; Thu, 11 Apr
 2024 05:23:41 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1712748711.git.manos.pitsidianakis@linaro.org>
 <c00304a2-f990-4fb3-9276-7f4907b583ea@perard> <CAAjaMXbhjQT-PFJmYBOyXWbOwMKsUEa964+svR8XkJ-tYQ4a+g@mail.gmail.com>
 <e8103b89-c324-46a3-b58a-dc8253acee53@perard>
In-Reply-To: <e8103b89-c324-46a3-b58a-dc8253acee53@perard>
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Date: Thu, 11 Apr 2024 15:23:25 +0300
Message-ID: <CAAjaMXZshO5-uw=k33LhmOraXR6w9OG3+Kv6KPS0Y4xRaYcKjQ@mail.gmail.com>
Subject: Re: [RFC PATCH v1 0/2] convert LIBXL_DEVICE_MODEL_START_TIMEOUT to
 env var
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"

On Thu, 11 Apr 2024 at 14:24, Anthony PERARD <anthony.perard@cloud.com> wrote:
>
> On Thu, Apr 11, 2024 at 01:23:07PM +0300, Manos Pitsidianakis wrote:
> > Hello Anthony,
> >
> > I do know about that, in fact I used it and it did not output your
> > email. Here's what the `get_maintainer.pl` outputs: (same output for
> > all patches):
> >
> > $ ./scripts/get_maintainer.pl --no-l
> > ../../patches/libxl-dm-timeout-v1/v1-0001-libs-light-add-device-model-start-timeout-env-var.patch
> > Andrew Cooper <andrew.cooper3@citrix.com>
> > George Dunlap <george.dunlap@citrix.com>
> > Jan Beulich <jbeulich@suse.com>
> > Julien Grall <julien@xen.org>
> > Stefano Stabellini <sstabellini@kernel.org>
>
> Oh, sorry, I didn't realise this was "THE REST" that is the list of
> default maintainers.
>
> So for some reason, the script fail to parse the patches to find which
> files are modified. And I think I know why. Usually, `git format-patch`
> output something like:
>     diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
>     index 4369fef161..9ffdd50c69 100644
>     --- a/tools/libs/light/libxl_dm.c
>     +++ b/tools/libs/light/libxl_dm.c
> with all path starting with "a/" or "b/", which get_maintainer then
> strip. (It strip them from the "diff --git" line, but remove the first
> "directory" from the path for line starting with "---" or "+++".)
>
> The patches in this series instead look like this:
>     diff --git tools/libs/light/libxl_dm.c tools/libs/light/libxl_dm.c
>     index 4369fef161..9ffdd50c69 100644
>     --- tools/libs/light/libxl_dm.c
>     +++ tools/libs/light/libxl_dm.c
> with "a/" and "b/" missing, and that confuses get_maintainer.pl. It
> tries to find maintainers for "libs/light/libxl_dm.c" which don't exist.
>
> Did you by any chance used "--no-prefix"? It doesn't seems worse it to
> handle this case as I'm guessing more than on tool rely on those.
>
> Cheers,
>
> --
> Anthony PERARD


Mystery solved: I generated those patches on my arm64 workstation,
which had the debian packaged git version 2.39 which has the old
behavior of git-format-patch being affected by diff.noprefix. I just
re-generated them using 2.44 (which is what my config expected) and
the a/b prefixes are back:

./scripts/get_maintainer.pl
../../patches/libxl-dm-timeout-v2/v2-0002-libs-light-expand-device-model-start-timeout-use.patch
Anthony PERARD <anthony.perard@citrix.com>
Juergen Gross <jgross@suse.com>
xen-devel@lists.xenproject.org

I will send a v2, thanks for letting me know!


-- 
Manos Pitsidianakis
Emulation and Virtualization Engineer at Linaro Ltd


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 12:28:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703892.1099825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutXm-0005wm-He; Thu, 11 Apr 2024 12:28:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703892.1099825; Thu, 11 Apr 2024 12:28:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutXm-0005wf-F1; Thu, 11 Apr 2024 12:28:42 +0000
Received: by outflank-mailman (input) for mailman id 703892;
 Thu, 11 Apr 2024 12:28:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RVMu=LQ=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1rutXl-0005wZ-9Y
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:28:41 +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 068b0330-f7ff-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 14:28:39 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2d718ee7344so88866871fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:28:39 -0700 (PDT)
Received: from localhost.localdomain (adsl-245.37.6.163.tellas.gr.
 [37.6.163.245]) by smtp.gmail.com with ESMTPSA id
 k9-20020a05600c1c8900b00416c1e7c9e7sm2212992wms.2.2024.04.11.05.28.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 05:28: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: 068b0330-f7ff-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712838518; x=1713443318; 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=DtSlWc4YPgAHctv5Zc3I7c4OsaLOaeAxuTgKwqXnQis=;
        b=IXjPfdg+pvh2drm0fEeSOxdNPcAlKITbDv0S402E9UD+J8nQbR/1bvOV7NZAFrEGFP
         vkLZOxirhsYeiniOhm+HWaTzZM3sZcvRSag5SaMbqWClkHiKbL+XeT2hUGxcNo/X66h3
         MJX3+jUXBD7FTCLqCsNtmFGU+OR0+jt6lxol8XPn1pw6EqHdpfvDlvVJBcVj3uH6mETD
         HMJW4SncJ6RFBYcK3nQyDTYbF5lm+TQzfIrPw54EA0eS4BjOnJNfN/hzxSiZLv6gSbp0
         v0p0Z6/CdMlHwdP4uj9bewLQBesUzWwtPjQbKURZMljBPR4j2egyB83H5lKXtXvhhVhI
         9zAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712838518; x=1713443318;
        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=DtSlWc4YPgAHctv5Zc3I7c4OsaLOaeAxuTgKwqXnQis=;
        b=X38T+027LtdtJKt/lk1v1NqgVjoCxMBye/Ejn/PEUGPuPvEtSUL3XXPb/To7lawfiP
         gVwcnjb68iy/WzaTpFaG+Wdbc+yJHZODslt22zEkihwCEKnd0PZ01vJD7m+PzaGy+KxU
         I8NdC9MJW843qPDEB3uy0e3svREzOH8+ErgovuZ2qnAXug/QInMvjkTOmsm0UYwsWfI/
         VeGPDNvprwOC7+aJuF5cZURmO1bGCrhM00LhDxsdNCFOK5YqLKv/ThZrajGub5MN2EDZ
         KPXoHKljcJcpFu75t3Upt1KO61ZPTLvjO46ftgKgtMuL3lHbc46MLWvIao6T72U25Agz
         KX8w==
X-Gm-Message-State: AOJu0YzbJY+qPlKjIIwhD1mSbEeGrOrsiX4Kfe+nTReGSeuXvbcSoMvr
	LTIiSNOT0Ahm9fib8AkLpFWqbBlCHOjNVEAXN1m26LdmwHB0xJU59joNSYkk4ENcHqJkmfHJT90
	4
X-Google-Smtp-Source: AGHT+IGT4BNptKwvGQZV4Og03HxlDUxJWtzKiynJcsRF4Qp9X8e8moSubPMoYd4lgcnAqxSGM+3wuA==
X-Received: by 2002:a05:651c:11d3:b0:2d8:5b4e:bdd8 with SMTP id z19-20020a05651c11d300b002d85b4ebdd8mr4179032ljo.39.1712838518614;
        Thu, 11 Apr 2024 05:28:38 -0700 (PDT)
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH v2 0/2] convert LIBXL_DEVICE_MODEL_START_TIMEOUT to env var
Date: Thu, 11 Apr 2024 15:28:18 +0300
Message-ID: <cover.1712837961.git.manos.pitsidianakis@linaro.org>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF8
Content-Transfer-Encoding: 8bit

This patch series proposes converting the compile-time define 
LIBXL_DEVICE_MODEL_START_TIMEOUT value to an optionally overridden by 
environment variable value, just like the current behavior for 
LIBXL_BOOTLOADER_TIMEOUT is.

v1 -> v2 changes:
 - version 1 had no a/ b/ prefixes in patches due to old git version, no 
   other changes 

Manos Pitsidianakis (2):
  libs/light: add device model start timeout env var
  libs/light: expand device model start timeout use

 docs/man/xl.1.pod.in                 | 11 +++++++++++
 tools/libs/light/libxl_9pfs.c        |  2 +-
 tools/libs/light/libxl_device.c      |  2 +-
 tools/libs/light/libxl_dm.c          | 10 +++++-----
 tools/libs/light/libxl_dom_suspend.c |  2 +-
 tools/libs/light/libxl_domain.c      |  5 +++--
 tools/libs/light/libxl_internal.h    |  6 ++++++
 tools/libs/light/libxl_pci.c         | 10 +++++-----
 tools/libs/light/libxl_usb.c         |  8 ++++----
 9 files changed, 37 insertions(+), 19 deletions(-)


base-commit: f48299cad5c3c69fdc2c101517a6dab9c9827ea5
-- 
γαῖα πυρί μιχθήτω



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 12:29:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:29:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703893.1099835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutY3-0006Is-PK; Thu, 11 Apr 2024 12:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703893.1099835; Thu, 11 Apr 2024 12: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 1rutY3-0006Il-MV; Thu, 11 Apr 2024 12:28:59 +0000
Received: by outflank-mailman (input) for mailman id 703893;
 Thu, 11 Apr 2024 12:28:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RVMu=LQ=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1rutY2-0005wZ-DP
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:28:58 +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 10985f41-f7ff-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 14:28:56 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-417d42dd5a4so4418575e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:28:56 -0700 (PDT)
Received: from localhost.localdomain (adsl-245.37.6.163.tellas.gr.
 [37.6.163.245]) by smtp.gmail.com with ESMTPSA id
 k9-20020a05600c1c8900b00416c1e7c9e7sm2212992wms.2.2024.04.11.05.28.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 05:28: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: 10985f41-f7ff-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712838535; x=1713443335; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a5R8+TAttLnmvCBoXL/OpLvWYXKsyqMK3wsyQqa2P/E=;
        b=S503Zfb0b4FbwtULMO9mHj4e84XoueimoRvk9WJPTdJZwZtcQSdQjdOO9oEPb8NfrB
         VVWVWw52OWfqYSeX2JTJU8LJ2I0WKHNaO7iZlGVKx/6nhPKVEvPxkfLsK/uDLRLEWDiH
         vX+y8K1O6BAIjNdPOUVIHOMLIRMMaZWuDSJhmoJnH9LTGYI0oQmUZmDfdWQq6omENKrf
         +XYDE/Oyv7djN82Y/zvbUeqt9OPudmSKqBzKS/o/NhVoJPDg6wBqHKKt/4xOspw6R1c+
         HUW1ivKXwhyIBlKGxelBejiz5flhrbC/064nF8WrQPGdP9Ks2yQ4Vs0gQDVYmUXExJvI
         0WvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712838535; x=1713443335;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a5R8+TAttLnmvCBoXL/OpLvWYXKsyqMK3wsyQqa2P/E=;
        b=NWuA4L7GW+yTng4akd9Wf4Fqh3q04Vctjz50Z7l971aHqypnxyHCrQWruAaJxbH4VR
         XbJTwOOlSoRnKy3AfFS06Cs9j1/Zx2jPL57DlsW870CZs0u0aZhTUcQyOtxE+exNdFzD
         LRT+n56dNvQ20GzC/S6qjGOgahLYnu6pPhGTPCwUu+L3AXOUeXsfAlFtJD/wk8VLSePz
         PCF1aDOYbIHTy5d5jDI1DhtGPYXNslDIop3Ddo29BBfz0bRrSv8HAAqtJWd5YdcR1ATl
         aHoeKknU418lXI/VBlGsvZXwwgENLfyOKPe5wmlgNpJC5WUwOOZDkFNfeXQmU/juKkqz
         Ncrw==
X-Gm-Message-State: AOJu0YzZXSd1pdzIVUmKm9LnzwhEoTbnBwfGM3uowva94utR0+pp0Qk5
	orGBfV2hAJct+6rVkn4d7uwiX+w0BX5+UptSEr4sHAN4qX8jdLhdPS4gn/PQlXqsYoY/HeECjsT
	L
X-Google-Smtp-Source: AGHT+IF4STdq4T8yRpLdKvkWjUp9nGZmWWvtct3mo56/QYhy5llx/4/QTB7ilqAF6L9cOKCergTsow==
X-Received: by 2002:a05:600c:3585:b0:416:bbf7:f18a with SMTP id p5-20020a05600c358500b00416bbf7f18amr4151152wmq.28.1712838535605;
        Thu, 11 Apr 2024 05:28:55 -0700 (PDT)
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH v2 1/2] libs/light: add device model start timeout env var
Date: Thu, 11 Apr 2024 15:28:19 +0300
Message-ID: <334b5a46e31dbf3e8114e9ea8bafd92cf060f2af.1712837961.git.manos.pitsidianakis@linaro.org>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1712837961.git.manos.pitsidianakis@linaro.org>
References: <cover.1712837961.git.manos.pitsidianakis@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF8
Content-Transfer-Encoding: 8bit

When debugging QEMU, the need to run it under Valgrind and asan meant
the compile-time define LIBXL_DEVICE_MODEL_START_TIMEOUT must be changed
to allow for `xl` to wait longer while the instrumented QEMU
initializes.

This commit adds support for reading the environment variable
LIBXL_DEVICE_MODEL_START_TIMEOUT to configure the timeout value and
otherwise fall back to the default 60.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
---
 docs/man/xl.1.pod.in                 | 11 +++++++++++
 tools/libs/light/libxl_9pfs.c        |  2 +-
 tools/libs/light/libxl_device.c      |  2 +-
 tools/libs/light/libxl_dm.c          |  6 +++---
 tools/libs/light/libxl_dom_suspend.c |  2 +-
 tools/libs/light/libxl_internal.h    |  6 ++++++
 tools/libs/light/libxl_pci.c         |  6 +++---
 7 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
index bed8393473..c159877094 100644
--- a/docs/man/xl.1.pod.in
+++ b/docs/man/xl.1.pod.in
@@ -1993,6 +1993,17 @@ Otherwise the build time default in LIBXL_BOOTLOADER_TIMEOUT will be used.
 If defined the value must be an unsigned integer between 0 and INT_MAX,
 otherwise behavior is undefined.  Setting to 0 disables the timeout.
 
+=item LIBXL_DEVICE_MODEL_START_TIMEOUT
+
+Timeout in seconds for starting the device model process. Useful in case the
+device model takes an unusual amount of time to start— for example in case of
+very slow I/O, in case of slow performance due to memory sanitizer usage, etc.
+
+If undefined, the default hard-coded value of 60 seconds is used.
+
+If defined, the value must be an unsigned integer between 0 and INT_MAX,
+otherwise behaviour is undefined.  Setting the value to 0 disables the timeout.
+
 =back
 
 =head1 SEE ALSO
diff --git a/tools/libs/light/libxl_9pfs.c b/tools/libs/light/libxl_9pfs.c
index 48f894f070..950a464b45 100644
--- a/tools/libs/light/libxl_9pfs.c
+++ b/tools/libs/light/libxl_9pfs.c
@@ -132,7 +132,7 @@ static int xen9pfsd_spawn(libxl__egc *egc, uint32_t domid, libxl_device_p9 *p9,
     aop9->spawn.ao = aodev->ao;
     aop9->spawn.what = "xen-9pfs daemon";
     aop9->spawn.xspath = GCSPRINTF("%s/state", path);
-    aop9->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    aop9->spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;
     aop9->spawn.pidpath = GCSPRINTF("%s/pid", path);
     aop9->spawn.midproc_cb = libxl__spawn_record_pid;
     aop9->spawn.confirm_cb = xen9pfsd_confirm;
diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_device.c
index 6f0100d05e..452e55ba23 100644
--- a/tools/libs/light/libxl_device.c
+++ b/tools/libs/light/libxl_device.c
@@ -1436,7 +1436,7 @@ int libxl__wait_for_device_model_deprecated(libxl__gc *gc,
 
     path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
     return libxl__xenstore_child_wait_deprecated(gc, domid,
-                                     LIBXL_DEVICE_MODEL_START_TIMEOUT,
+                                     __libxl_device_model_start_timeout(),
                                      "Device Model", path, state, spawning,
                                      check_callback, check_callback_userdata);
 }
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 0b03a7c747..4369fef161 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2629,7 +2629,7 @@ static void spawn_qmp_proxy(libxl__egc *egc,
     sdss->qmp_proxy_spawn.pidpath = GCSPRINTF("%s/image/qmp-proxy-pid", dom_path);
     sdss->qmp_proxy_spawn.xspath = DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID,
                                                         dm_domid, "/qmp-proxy-state");
-    sdss->qmp_proxy_spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    sdss->qmp_proxy_spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;
     sdss->qmp_proxy_spawn.midproc_cb = libxl__spawn_record_pid;
     sdss->qmp_proxy_spawn.confirm_cb = qmp_proxy_confirm;
     sdss->qmp_proxy_spawn.failure_cb = qmp_proxy_startup_failed;
@@ -3011,7 +3011,7 @@ retry_transaction:
     spawn->what = GCSPRINTF("domain %d device model", domid);
     spawn->xspath = DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID, domid,
                                          "/state");
-    spawn->timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    spawn->timeout_ms = __libxl_device_model_start_timeout() * 1000;
     spawn->pidpath = GCSPRINTF("%s/image/device-model-pid", dom_path);
     spawn->midproc_cb = libxl__spawn_record_pid;
     spawn->confirm_cb = device_model_confirm;
@@ -3435,7 +3435,7 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
 
     dmss->spawn.what = GCSPRINTF("domain %u Qdisk backend", domid);
     dmss->spawn.xspath = GCSPRINTF("device-model/%u/state", domid);
-    dmss->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    dmss->spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;
     /*
      * We cannot save Qemu pid anywhere in the xenstore guest dir,
      * because we will call this from unprivileged driver domains,
diff --git a/tools/libs/light/libxl_dom_suspend.c b/tools/libs/light/libxl_dom_suspend.c
index 6091a5f3f6..29e51f6c40 100644
--- a/tools/libs/light/libxl_dom_suspend.c
+++ b/tools/libs/light/libxl_dom_suspend.c
@@ -517,7 +517,7 @@ void libxl__dm_resume(libxl__egc *egc,
     rc = libxl__ev_time_register_rel(dmrs->ao,
                                      &dmrs->time,
                                      dm_resume_timeout,
-                                     LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000);
+                                     __libxl_device_model_start_timeout() * 1000);
     if (rc) goto out;
 
     switch (libxl__device_model_version_running(gc, domid)) {
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index 803dbc1a03..684390f822 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -97,6 +97,12 @@
 /* QEMU may be slow to load and start due to a bug in Linux where the I/O
  * subsystem sometime produce high latency under load. */
 #define LIBXL_DEVICE_MODEL_START_TIMEOUT 60
+static inline int __libxl_device_model_start_timeout(void)
+{
+  const char *timeout_env = getenv("LIBXL_DEVICE_MODEL_START_TIMEOUT");
+  return timeout_env ? atoi(timeout_env)
+    : LIBXL_DEVICE_MODEL_START_TIMEOUT;
+}
 #define LIBXL_DEVICE_MODEL_SAVE_FILE XEN_LIB_DIR "/qemu-save" /* .$domid */
 #define LIBXL_DEVICE_MODEL_RESTORE_FILE XEN_LIB_DIR "/qemu-resume" /* .$domid */
 #define LIBXL_QMP_CMD_TIMEOUT 10
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 96cb4da079..7bdd9f6c3b 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1157,7 +1157,7 @@ static void do_pci_add(libxl__egc *egc,
                 pas->xswait.what = "Device Model";
                 pas->xswait.path = DEVICE_MODEL_XS_PATH(gc,
                     libxl_get_stubdom_id(CTX, domid), domid, "/state");
-                pas->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+                pas->xswait.timeout_ms = __libxl_device_model_start_timeout() * 1000;
                 pas->xswait.callback = pci_add_qemu_trad_watch_state_cb;
                 rc = libxl__xswait_start(gc, &pas->xswait);
                 if (rc) goto out;
@@ -1719,7 +1719,7 @@ static void device_pci_add_stubdom_wait(libxl__egc *egc,
     rc = libxl__ev_devstate_wait(ao, &pas->pciback_ds,
             device_pci_add_stubdom_ready,
             state_path, XenbusStateConnected,
-            LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000);
+            __libxl_device_model_start_timeout() * 1000);
     if (rc) goto out;
     return;
 out:
@@ -1976,7 +1976,7 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
             prs->xswait.what = "Device Model";
             prs->xswait.path = DEVICE_MODEL_XS_PATH(gc,
                 libxl_get_stubdom_id(CTX, domid), domid, "/state");
-            prs->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+            prs->xswait.timeout_ms = __libxl_device_model_start_timeout() * 1000;
             prs->xswait.callback = pci_remove_qemu_trad_watch_state_cb;
             rc = libxl__xswait_start(gc, &prs->xswait);
             if (rc) goto out_fail;
-- 
γαῖα πυρί μιχθήτω



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 12:29:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703895.1099844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutYF-0006ir-0y; Thu, 11 Apr 2024 12:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703895.1099844; Thu, 11 Apr 2024 12: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 1rutYE-0006ik-UI; Thu, 11 Apr 2024 12:29:10 +0000
Received: by outflank-mailman (input) for mailman id 703895;
 Thu, 11 Apr 2024 12:29:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RVMu=LQ=linaro.org=manos.pitsidianakis@srs-se1.protection.inumbo.net>)
 id 1rutYD-0006az-RB
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:29:09 +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 182f1fb2-f7ff-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 14:29:09 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2d8a2cbe1baso37472941fa.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:29:09 -0700 (PDT)
Received: from localhost.localdomain (adsl-245.37.6.163.tellas.gr.
 [37.6.163.245]) by smtp.gmail.com with ESMTPSA id
 k9-20020a05600c1c8900b00416c1e7c9e7sm2212992wms.2.2024.04.11.05.29.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 05:29: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: 182f1fb2-f7ff-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1712838548; x=1713443348; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y66oHHLKi7EjtJauIa8Cpfp2Sdjm/ajt/hGPJgUv3oY=;
        b=szEGFp8I1y6QSq+j/baTbLanIxo/Q0XB0pkm2W5eT0WNO9hP46h0PlkCEmL04zG7oT
         mP7i1XeMoYNB8YSQoOCsCWr5EQ2IDJDlF4OM+GATWQ2MwWNN4ki9bLsucycBv3+7Fn+5
         RvYwwMzDz2vLUom4nJOLcYVmCnw6hd64dzcx/tXmm8hkZcT1KROMvu/wiZHQuIHJA0v8
         xBp+aUmwPypKSCDv7Uj43NHMTn+yzWOQQ60lkxunn+seN/z4JQEIaBvvwpO4stUt86HD
         VQPQ6zqRUcSsDkoNmxR7F9Y4jdd37t6MDj+NkLsdl4oVqA+pdNvFwqddS71lsslh4kcS
         Y8cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712838548; x=1713443348;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=y66oHHLKi7EjtJauIa8Cpfp2Sdjm/ajt/hGPJgUv3oY=;
        b=wlq4fXACPIqjbfGUyME9oPPMcUIiWhnBMYhBYTKG6FKNM741TRFRXFp98SoyRwdckC
         xpMLXKvSK2rUngH+LalHtMPoqY+3P7Ublm79dYzctMxBBbtwCm+aluZz3HZXgvEaAP32
         Hi7YHflF+sUfpKlo6c1GtgmuRLg/fYu+NG49B+yRqPYPpn32kyYwCD8xlQMAO19ZJzEE
         zaSqHRPXMa261P675p43WBgEwQTY6W2qHtjMx7tD/X8r2DysT+w6FbX/M+LAIw//KCzm
         XsnsNijCdBJKRHMWw/297XxPOiPfeBnP4MHDcPS/vd6ofd1/jN2DgzHlgTDgHYJPRCYT
         UyFA==
X-Gm-Message-State: AOJu0YyDd1Q9YHuVrXHFnsqWcwGu9ck3TA0J3trRusllOhKuvU4679qZ
	n0EUP8AbJALg4TnNSEN/ZgvzaYKlU7loLnxfrBdkECmgx7AnaeL2uyA9uE+vQKiM3wsqoUVxx+L
	Z
X-Google-Smtp-Source: AGHT+IH8d7sSC8H7E64XNhqRD+MVD9GnhbZyha1M5GR2wx1IsiolkGcEiWAK0SnSprFMjbK1t7Ob0Q==
X-Received: by 2002:a2e:9a81:0:b0:2d7:1323:6792 with SMTP id p1-20020a2e9a81000000b002d713236792mr4107786lji.43.1712838548239;
        Thu, 11 Apr 2024 05:29:08 -0700 (PDT)
From: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH v2 2/2] libs/light: expand device model start timeout use
Date: Thu, 11 Apr 2024 15:28:20 +0300
Message-ID: <125210f392aacaa5dd605ce7036c7c9b9e783a2a.1712837961.git.manos.pitsidianakis@linaro.org>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1712837961.git.manos.pitsidianakis@linaro.org>
References: <cover.1712837961.git.manos.pitsidianakis@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF8
Content-Transfer-Encoding: 8bit

Various timeout values that depend on the device model should also
respect the device model start timeout setting. This commit adds the
__libxl_device_model_start_timeout() value to those time outs without
changing their default values.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
---
 tools/libs/light/libxl_dm.c     | 4 ++--
 tools/libs/light/libxl_domain.c | 5 +++--
 tools/libs/light/libxl_pci.c    | 4 ++--
 tools/libs/light/libxl_usb.c    | 8 ++++----
 4 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 4369fef161..9ffdd50c69 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -2807,7 +2807,7 @@ static void stubdom_pvqemu_unpaused(libxl__egc *egc,
                                   dm_domid, sdss->dm.guest_domid);
     sdss->xswait.path = DEVICE_MODEL_XS_PATH(gc, dm_domid, sdss->dm.guest_domid,
                                              "/state");
-    sdss->xswait.timeout_ms = LIBXL_STUBDOM_START_TIMEOUT * 1000;
+    sdss->xswait.timeout_ms = (__libxl_device_model_start_timeout() + LIBXL_STUBDOM_START_TIMEOUT) * 1000;
     sdss->xswait.callback = stubdom_xswait_cb;
     rc = libxl__xswait_start(gc, &sdss->xswait);
     if (rc) goto out;
@@ -3177,7 +3177,7 @@ static void device_model_spawn_outcome(libxl__egc *egc,
             == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
         rc = libxl__ev_time_register_rel(ao, &dmss->timeout,
                                          devise_model_postconfig_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
         dmss->qmp.ao = ao;
         dmss->qmp.domid = dmss->guest_domid;
diff --git a/tools/libs/light/libxl_domain.c b/tools/libs/light/libxl_domain.c
index 6751fc785f..2fc3481f78 100644
--- a/tools/libs/light/libxl_domain.c
+++ b/tools/libs/light/libxl_domain.c
@@ -1882,7 +1882,8 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid,
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
             rc = libxl__ev_time_register_rel(ao, &svos->timeout,
                                              set_vcpuonline_timeout,
-                                             LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                             (__libxl_device_model_start_timeout()
+                                              + LIBXL_QMP_CMD_TIMEOUT) * 1000);
             if (rc) goto out;
             qmp->callback = set_vcpuonline_qmp_cpus_fast_queried;
             rc = libxl__ev_qmp_send(egc, qmp, "query-cpus-fast", NULL);
@@ -2353,7 +2354,7 @@ static void retrieve_domain_configuration_lock_acquired(
          */
         rc = libxl__ev_time_register_rel(ao, &rdcs->timeout,
             retrieve_domain_configuration_timeout,
-            LIBXL_QMP_CMD_TIMEOUT * 1000);
+            (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
         libxl_bitmap_alloc(CTX, &rdcs->qemuu_cpus,
                            d_config->b_info.max_vcpus);
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 7bdd9f6c3b..3120649a8e 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1165,7 +1165,7 @@ static void do_pci_add(libxl__egc *egc,
             case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
                 rc = libxl__ev_time_register_rel(ao, &pas->timeout,
                                                  pci_add_timeout,
-                                                 LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                                 (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
                 if (rc) goto out;
 
                 pci_add_qmp_device_add(egc, pas); /* must be last */
@@ -2030,7 +2030,7 @@ static void pci_remove_qmp_device_del(libxl__egc *egc,
 
     rc = libxl__ev_time_register_rel(ao, &prs->timeout,
                                      pci_remove_timeout,
-                                     LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                     (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
     if (rc) goto out;
 
     QMP_PARAMETERS_SPRINTF(&args, "id", PCI_PT_QDEV_ID,
diff --git a/tools/libs/light/libxl_usb.c b/tools/libs/light/libxl_usb.c
index c5ae59681c..59db8a6f64 100644
--- a/tools/libs/light/libxl_usb.c
+++ b/tools/libs/light/libxl_usb.c
@@ -487,7 +487,7 @@ static void libxl__device_usbctrl_add(libxl__egc *egc, uint32_t domid,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbctrl_add_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto outrm;
 
         qmp->ao = ao;
@@ -644,7 +644,7 @@ static void device_usbctrl_usbdevs_removed(libxl__egc *egc,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbctrl_remove_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
 
         qmp->ao = ao;
@@ -1794,7 +1794,7 @@ static void libxl__device_usbdev_add(libxl__egc *egc, uint32_t domid,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbdev_add_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
 
         aodev->qmp.ao = ao;
@@ -1976,7 +1976,7 @@ static void libxl__device_usbdev_remove(libxl__egc *egc, uint32_t domid,
 
         rc = libxl__ev_time_register_rel(ao, &aodev->timeout,
                                          device_usbdev_remove_timeout,
-                                         LIBXL_QMP_CMD_TIMEOUT * 1000);
+                                         (__libxl_device_model_start_timeout() + LIBXL_QMP_CMD_TIMEOUT) * 1000);
         if (rc) goto out;
 
         aodev->qmp.ao = ao;
-- 
γαῖα πυρί μιχθήτω



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 12:29:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 12:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703900.1099854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutYV-0007GI-8I; Thu, 11 Apr 2024 12:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703900.1099854; Thu, 11 Apr 2024 12:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rutYV-0007G8-5W; Thu, 11 Apr 2024 12:29:27 +0000
Received: by outflank-mailman (input) for mailman id 703900;
 Thu, 11 Apr 2024 12:29:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rutYT-0005wZ-QT
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 12:29:25 +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 20de0d12-f7ff-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 14:29:23 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-346b96f1483so329203f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 05:29:23 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t7-20020a05600c198700b0041622c88852sm5406647wmq.16.2024.04.11.05.29.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 05:29: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: 20de0d12-f7ff-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712838563; x=1713443363; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tcvsdHApO6NhTyLkZGCPDIhAvFpDPS+Tlct1fEu3bTE=;
        b=c4B+II5Fa/ylQJ5oOmXaRIZMijhesDiaVeEj+vEOmLfiZYzJomquJ+w/YUvoRwesDZ
         R5iErVOH1D9L167vjAPxnk6pdQOXrmBtOm7CEUj7lma9URhBTXEG1dawjO1BmJrtS1KC
         4/3c4PD0XRoFK7w1CmJJYTh7xqA0PQ/tzObDE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712838563; x=1713443363;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tcvsdHApO6NhTyLkZGCPDIhAvFpDPS+Tlct1fEu3bTE=;
        b=Mxo83vq59jekMY/b1xODKWaPtErqFTwt+UH1sEFvEffmKJwCA8ZyxYH7aNQFvhqjZA
         QUXmhlnwQyBHFi/+izUpMvbQLMivA9vfoZobrin5shFKtSF1NyZPvyJaaZ6gemklNJiz
         Iw4kcy8PIyfLNyRoXcmnAjvVR11gn48MzAjLNKgm1jmMnV6vCyheY18riKZLsrFblp4A
         IT30Rf0mglQ66ly4Qu7niQY6thxOj3vQYizADvGjqfI0vwXP51B02Sq3UnofxCvOYKGn
         eG4i31oRn/Y9QImfzdOuUGCu2bX8MuIaQC9kVYPIiSkAMgWAE/WyMGVqfZdQiWJCYljD
         35Yw==
X-Forwarded-Encrypted: i=1; AJvYcCWdcTRR/yeDsl5VqPZRyYAyOGvu0Kq+m00wBmbm0xdH94uwzU3R2xP8kN2gD6ckbOmln7cr+dWFUm6QmsDXcEGEJcRNZ9z5/xkn2NgfbKc=
X-Gm-Message-State: AOJu0YwJ+mzNtcfKcansJ9io6t6XOjwqm/M8BosaV9s7kwYzqneEXzH3
	BbxWzv1ViYEm8f0kTO3CLPd8IDljQWE/jUSAFoxInWFsg5kWYfCcp1AofWmLumI=
X-Google-Smtp-Source: AGHT+IE0LpBnVFIK4EoyooRPFK0T0Y87BjwBGXeKTF5wsJP5ae3h7I35TsO5NfrqUiwKRga1d/ruNA==
X-Received: by 2002:a5d:44cc:0:b0:346:aac5:add8 with SMTP id z12-20020a5d44cc000000b00346aac5add8mr1980338wrr.6.1712838563098;
        Thu, 11 Apr 2024 05:29:23 -0700 (PDT)
Message-ID: <9c552c86-a915-48b0-9a62-fdcb051ed53e@citrix.com>
Date: Thu, 11 Apr 2024 13:29:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/include: move definition of ASM_INT() to
 xen/linkage.h
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>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
References: <20240403120323.18433-1-jgross@suse.com>
 <e401ffe1-de4b-4548-8eba-feb7e85c9971@suse.com>
 <018e20ba-f15b-48e7-9333-19f6e570d55f@citrix.com>
 <47374e80-4ac3-44d4-a440-5fbebc0c6a6c@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: <47374e80-4ac3-44d4-a440-5fbebc0c6a6c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/04/2024 3:22 pm, Jan Beulich wrote:
> On 03.04.2024 15:59, Andrew Cooper wrote:
>> On 03/04/2024 1:51 pm, Jan Beulich wrote:
>>> On 03.04.2024 14:03, Juergen Gross wrote:
>>>> ASM_INT() is defined in arch/[arm|x86]/include/asm/asm_defns.h in
>>>> exactly the same way. Instead of replicating this definition for riscv
>>>> and ppc, move it to include/xen/linkage.h, where other arch agnostic
>>>> definitions for assembler code are living already.
>>> And this is why I didn't make a change right away, back when noticing the
>>> duplication: Arch-agnostic really means ...
>>>
>>>> --- a/xen/include/xen/linkage.h
>>>> +++ b/xen/include/xen/linkage.h
>>>> @@ -60,6 +60,8 @@
>>>>  #define DATA_LOCAL(name, align...) \
>>>>          SYM(name, DATA, LOCAL, LASTARG(DATA_ALIGN, ## align), DATA_FILL)
>>>>  
>>>> +#define ASM_INT(label, val)    DATA(label, 4) .long (val); END(label)
>>> ... to avoid .long [1]. There's no arch-independent aspect guaranteeing
>>> that what .long emits matches "unsigned int" as used e.g. in the
>>> declaration of xen_config_data_size.
>> I'd forgotten that point, but I don't think it's a good reason force
>> every architecture to implement the same thing.
> Of course.
>
>> Borrowing a trick from the alternatives, what about this as a sanity check?
>>
>> diff --git a/xen/tools/binfile b/xen/tools/binfile
>> index 0299326ccc3f..21593debc872 100755
>> --- a/xen/tools/binfile
>> +++ b/xen/tools/binfile
>> @@ -35,4 +35,10 @@ DATA($varname, 1 << $align)
>>  END($varname)
>>  
>>          ASM_INT(${varname}_size, .Lend - $varname)
>> +.Lsize_end:
>> +
>> +        .section .discard
>> +        # Build assert sizeof(ASM_INT) == 4
>> +        .byte 0xff - ((.Lsize_end - ${varname}_size) == 4)
>> +
>>  EOF
> Hmm, tools/binfile may not be involved in a build, yet ASM_INT() may
> still be used. Since there may not be any good place, I think we're
> okay-ish for now without such a check.
>
>> Ideally we'd want BYTES_PER_INT here but it turns out that doesn't exist
>> in Xen.  If we find an architecture where .long isn't the right thing,
>> we can make ASM_INT optionally arch-specific.
> We don't even need to go this far - merely introducing an abstraction
> for .long would suffice, and then also allow using that in bug.h.

Ok.  I'll take this patch as-is for now.  We can abstract away .long later.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 13:15:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 13:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703914.1099865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruuH2-0008HV-PA; Thu, 11 Apr 2024 13:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703914.1099865; Thu, 11 Apr 2024 13: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 1ruuH2-0008H0-MN; Thu, 11 Apr 2024 13:15:28 +0000
Received: by outflank-mailman (input) for mailman id 703914;
 Thu, 11 Apr 2024 13:15:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruuH1-0008DM-He
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 13:15:27 +0000
Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com
 [2607:f8b0:4864:20::735])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e16dfb9-f805-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 15:15:24 +0200 (CEST)
Received: by mail-qk1-x735.google.com with SMTP id
 af79cd13be357-78d743f3654so161902885a.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 06:15:24 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c5-20020a056214070500b0069b4f48003bsm499892qvz.100.2024.04.11.06.15.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 06:15: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: 8e16dfb9-f805-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712841323; x=1713446123; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BDfkR508UhuMOpZ5Vqs7Nc/5Ex0M8PSv8lobDUUe+Xg=;
        b=M1HfHZttpNVR2sXlgXq9OZQLv/y9GS2vcmaX6flVLx8Ik9UJ8nMEMiDchbIde4WSie
         9RYNIy6Bg551Az149SSggV+uf6xRyL4QwT1aBCk/Jq0DcMZS2+p9xRFYptv2x9cY7fxz
         zBBuWz3zqPkB3u1rKKm0MbzRz7BfnbTz5aFt4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712841323; x=1713446123;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BDfkR508UhuMOpZ5Vqs7Nc/5Ex0M8PSv8lobDUUe+Xg=;
        b=pwV9aLPDX3Ka+S5uMZqVcWsbRAJblTZn2c3BOqjHab9wuL1oeuyMdaC3xs2dbKDJBv
         gz76BA4y/EDdQXgcb7V3EH6vCSF17/MFFlfPPRMtcIavEM0GQmtN+updZ+yepNTuYpUG
         djYZBBC6L5Punpur60lbP/U170ewC2b0QnbzIgEhSNqY560I71UAFe0afv/xvxFp8p1X
         pPr6B72eGQdLctZ7OJfuHQjGjXgmrViiGKQrdRuROUp6VBdAaegN176VJUC/qslVn/Qo
         HIFSUnRcyXVNl9QzxrLWyaDzu15TaqxMiQWDoUBs2YDBT4BvZw+Pu7ZmUeZit8D8ITpl
         w68Q==
X-Forwarded-Encrypted: i=1; AJvYcCVq3lbG10wmDS39+5AU4Cr8eF5jyLqkxIEaoQ2C+C5DT7+DvPwOj+udMI5jXch8ntRFZBIEurM81+rSmSiM2qmidL/Ysn84s71vlZLGzJM=
X-Gm-Message-State: AOJu0YxR+taGWEhaUoLMraetamLPzGL0w0pNHClHAVp+2BHfiQTfmoka
	8HcA8JzwNbsSNJCc/077F6d7+VY7mL9VtJBMZ9kZzXr7EZPQgHKHo671EF77Kzk=
X-Google-Smtp-Source: AGHT+IF4crVf6zgz8w+PYVeN+wUneb6+HHniyIhVd+tYy13GwcwL2vXdmVXc9s5qo+jOa76qjFo6uw==
X-Received: by 2002:a05:6214:5290:b0:69b:2703:8f37 with SMTP id kj16-20020a056214529000b0069b27038f37mr5073814qvb.8.1712841323152;
        Thu, 11 Apr 2024 06:15:23 -0700 (PDT)
Message-ID: <0d31894c-2541-4187-94f2-0ca88bace67c@citrix.com>
Date: Thu, 11 Apr 2024 14:15:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/acpi: Allow xen/acpi.h to be included on non-ACPI
 archs
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.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>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Juergen Gross <jgross@suse.com>, Dario Faggioli <dfaggioli@suse.com>,
 Henry Wang <Henry.Wang@arm.com>
References: <20240405182031.396528-1-sanastasio@raptorengineering.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: <20240405182031.396528-1-sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/04/2024 7:20 pm, Shawn Anastasio wrote:
> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
> that the header can be included on architectures without ACPI support,
> like ppc.
>
> This change revealed some missing #includes across the ARM tree, so fix
> those as well.
>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> ---
>  xen/arch/arm/arm32/mmu/mm.c     | 1 +
>  xen/arch/arm/arm64/smpboot.c    | 3 ++-
>  xen/arch/arm/domain_build.c     | 1 -
>  xen/arch/arm/gic-v2.c           | 1 -
>  xen/arch/arm/gic-v3.c           | 2 --
>  xen/arch/arm/include/asm/acpi.h | 1 -
>  xen/arch/arm/mmu/setup.c        | 1 +
>  xen/arch/arm/psci.c             | 1 +
>  xen/arch/arm/smpboot.c          | 1 +
>  xen/arch/arm/traps.c            | 3 ++-
>  xen/common/sched/boot-cpupool.c | 2 +-
>  xen/include/xen/acpi.h          | 8 ++++++--
>  12 files changed, 15 insertions(+), 10 deletions(-)


Pre-push testing found a randconfig error caused by this: 
https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/6602857882

Henry diagnosed this as "arm asm/acpi.h includes the arm asm/setup.h
then asm/p2m.h then finally asm/current.h".

pt.c uses smp_processor_id() explicitly, so should include
asm/current.h.  I've folded the following delta in to fix the issue,

diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index a7755728aeda..da28d669e796 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -11,6 +11,7 @@
 #include <xen/sizes.h>
 #include <xen/vmap.h>
 
+#include <asm/current.h>
 #include <asm/fixmap.h>
 
 #ifdef NDEBUG


But I suspect this may not be the only instance.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 13:24:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 13:24:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703936.1099942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruuQ8-0002dl-8d; Thu, 11 Apr 2024 13:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703936.1099942; Thu, 11 Apr 2024 13:24:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruuQ8-0002de-62; Thu, 11 Apr 2024 13:24:52 +0000
Received: by outflank-mailman (input) for mailman id 703936;
 Thu, 11 Apr 2024 13:24: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=JjjB=LQ=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1ruuQ7-0002dQ-AQ
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 13:24:51 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2408::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df29061b-f806-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 15:24:49 +0200 (CEST)
Received: from MN2PR20CA0031.namprd20.prod.outlook.com (2603:10b6:208:e8::44)
 by BY5PR12MB4258.namprd12.prod.outlook.com (2603:10b6:a03:20d::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Thu, 11 Apr
 2024 13:24:45 +0000
Received: from MN1PEPF0000F0DF.namprd04.prod.outlook.com
 (2603:10b6:208:e8:cafe::1c) by MN2PR20CA0031.outlook.office365.com
 (2603:10b6:208:e8::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.35 via Frontend
 Transport; Thu, 11 Apr 2024 13:24:45 +0000
Received: from SATLEXMB03.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.7452.22 via Frontend Transport; Thu, 11 Apr 2024 13:24:45 +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.35; Thu, 11 Apr
 2024 08:24:45 -0500
Received: from [172.31.100.92] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 11 Apr 2024 08:24: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: df29061b-f806-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hxJIY3K4xNV0Q3U81C+14ernD/Y2OpLDVmRIM3G8SUp3K2/BOrvAbgJZx126KioqQR3xgtUHBPISxzplheiW/Od+3yAMT6g63s3OqHRtfU1ngCdxfUvg3T+unmfpH7YdILmNSOjlpJMxluU7laJr/8WHffoJ/3JDJt9CDAFSsask0V6XCBfKb7WdjPOmBsRjv6lrw29XOvusrXTMTQMfE0sHL8rr+o4/KBWHzh+8EAO9sglh9v1mv0ArgXCqrzfZKdPK+Ux+GAYToz+lc4GBVDS4qXCkDBFGN8pyyc8aGpvtvjXkZEfgs6AfsNF7bALoy40CItzkhCieZn1wT5EVQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Oe/YMjvQ6OizNvAhPx/8hv5SIrFUnv/3b1wpfD2O0Ww=;
 b=E35zGzM8NZm7NFwFnw6f/fJxTTDjJmnn8jTb1cBB9iJgj74s/mksFrT2j7USbmN2vA1fqp0AkCYjs9vxs4EsSo9NmmJJFA7k8/1lbKLudkQ+lglItTGUVb0OUNXBJNp5YWpcml7JxL1/psExzL44ljIW9TQKCDJSXgUYL0sdtOl/20yZV2TRddpN3283iqDKY3yizF2Xe+l68IIbmfeOBoAJfLWnI1+0D8++UUDbRH/qFZF+OaHIPsfuC5R408QRYAmIyXocmurN7CfsqCIoH+SbZR2yUDPEsvkbGJm4svU+XXc2fCGNf1Ncx+134y0ixhrAT9LCl3CxGEgi8+IROA==
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=Oe/YMjvQ6OizNvAhPx/8hv5SIrFUnv/3b1wpfD2O0Ww=;
 b=21zAGq1n2J1ypSiODNYa/inefiXgTDPQopF8+gplueqKWTNhSPl3laGu2INKi3vyT8RJex35b/fx+t0RUHa3ixEZo/Aeyf4jqPNj6iBg9sc4tGR22803FpA2Y6hebDPCTkf4LRK8aJRG6onSxVrGgCXxDniG4tC3Y4H52jF8b2g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <7a694885-5934-4ecd-9e48-25077b336c36@amd.com>
Date: Thu, 11 Apr 2024 21:24:41 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/acpi: Allow xen/acpi.h to be included on non-ACPI
 archs
To: Andrew Cooper <andrew.cooper3@citrix.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>, <xen-devel@lists.xenproject.org>
CC: <tpearson@raptorengineering.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>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Juergen Gross
	<jgross@suse.com>, Dario Faggioli <dfaggioli@suse.com>
References: <20240405182031.396528-1-sanastasio@raptorengineering.com>
 <0d31894c-2541-4187-94f2-0ca88bace67c@citrix.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <0d31894c-2541-4187-94f2-0ca88bace67c@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0DF:EE_|BY5PR12MB4258:EE_
X-MS-Office365-Filtering-Correlation-Id: ea903b69-7435-483f-ae50-08dc5a2ac10e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+d44WONNxittaEOW/g8wm9JsywpvojMhylswkjgoKCRDQyYMlnsB4nig3GaWhslSb1xYvhxmAbcsSKjLgbdLa7VEaxsmko0CL+UNp4co4reML3M6CSXgIcpPsUknaZciCebEuqdpbbuCOmCcaE1nKG5ATv4H0WC+Ugy2UFiOLVUlq+Ij3Js+pRgf8zh5WJaT1ZV7zk+tNhQL3Upy7T7MD31nhaJfcQvL0InEuLMGePWox6BA9D5IFRV0FwlNkpm21b99inC8S3R2rsq8TJglLvp64L7tPeTdFcm03084zSnHKEfJpG2XC6DWH+61d4eC7yDg0xiQ041fOai60qj05GuSEzzyfHset8eR423FJ7SEmV/xgiLmPqmsEWHsL+Zm+ZAne9XF5HBxsVyKtTCX4FYED+QbqApL3NvS69z62oPX4Dh09GYD4YewC9OioaF3hwZMuVeOV32iGJmNofIHAO0HRmSl7TQriHyJM7lc0B23WxC1ZmcjH8FKLFkEAHy4o+06UUIPyPAgOkz+nM2ShdueK0wymjqdAQ1ZWGZApi0rx9LhQYvUYHX4hvwh0nY0ZFWKC0W9vcshbHd8IJt8zqdpNj+woYxmaT1zKMg5bjYpLU2WwjKKhngb1Of4vDcP1Lx4NlDyVjOJEXxtM4zOWdsW46JchGnmlsUBDva9gEvNcZxJgEfb6LL/Q3Nu6mYLdd0sVXKKmww1jiRbQYg0fBei5ICbVDMZabIwzUkdQf6UzTbZOAla25ibBsRY1s9y
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(82310400014)(7416005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 13:24:45.3390
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ea903b69-7435-483f-ae50-08dc5a2ac10e
X-MS-Exchange-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:
	MN1PEPF0000F0DF.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4258

Hi Andrew,

On 4/11/2024 9:15 PM, Andrew Cooper wrote:
> On 05/04/2024 7:20 pm, Shawn Anastasio wrote:
>> Conditionalize xen/acpi.h's inclusion of acpi/acpi.h and asm/acpi.h on
>> CONFIG_ACPI and import ARM's !CONFIG_ACPI stub for acpi_disabled() so
>> that the header can be included on architectures without ACPI support,
>> like ppc.
>>
>> This change revealed some missing #includes across the ARM tree, so fix
>> those as well.
>>
>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>> ---
>>   xen/arch/arm/arm32/mmu/mm.c     | 1 +
>>   xen/arch/arm/arm64/smpboot.c    | 3 ++-
>>   xen/arch/arm/domain_build.c     | 1 -
>>   xen/arch/arm/gic-v2.c           | 1 -
>>   xen/arch/arm/gic-v3.c           | 2 --
>>   xen/arch/arm/include/asm/acpi.h | 1 -
>>   xen/arch/arm/mmu/setup.c        | 1 +
>>   xen/arch/arm/psci.c             | 1 +
>>   xen/arch/arm/smpboot.c          | 1 +
>>   xen/arch/arm/traps.c            | 3 ++-
>>   xen/common/sched/boot-cpupool.c | 2 +-
>>   xen/include/xen/acpi.h          | 8 ++++++--
>>   12 files changed, 15 insertions(+), 10 deletions(-)
>
> Pre-push testing found a randconfig error caused by this:
> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/6602857882
>
> Henry diagnosed this as "arm asm/acpi.h includes the arm asm/setup.h
> then asm/p2m.h then finally asm/current.h".
>
> pt.c uses smp_processor_id() explicitly, so should include
> asm/current.h.  I've folded the following delta in to fix the issue,

I tried to build with below diff locally and confirm below diff will fix 
the build error reported by the randconfig job of gitlab-ci.

Kind regards,
Henry

> diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
> index a7755728aeda..da28d669e796 100644
> --- a/xen/arch/arm/mmu/pt.c
> +++ b/xen/arch/arm/mmu/pt.c
> @@ -11,6 +11,7 @@
>   #include <xen/sizes.h>
>   #include <xen/vmap.h>
>   
> +#include <asm/current.h>
>   #include <asm/fixmap.h>
>   
>   #ifdef NDEBUG
>
>
> But I suspect this may not be the only instance.
>
> ~Andrew
>



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 13:33:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 13:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703946.1099969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruuYn-0004iA-9Q; Thu, 11 Apr 2024 13:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703946.1099969; Thu, 11 Apr 2024 13:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruuYn-0004i3-5l; Thu, 11 Apr 2024 13:33:49 +0000
Received: by outflank-mailman (input) for mailman id 703946;
 Thu, 11 Apr 2024 13:33:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1M6P=LQ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ruuYm-0004hx-8P
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 13:33:48 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2417::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e8b7ee0-f808-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 15:33:46 +0200 (CEST)
Received: from BN9PR03CA0795.namprd03.prod.outlook.com (2603:10b6:408:13f::20)
 by DS7PR12MB5816.namprd12.prod.outlook.com (2603:10b6:8:78::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.53; Thu, 11 Apr
 2024 13:33:41 +0000
Received: from BN3PEPF0000B06B.namprd21.prod.outlook.com
 (2603:10b6:408:13f:cafe::79) by BN9PR03CA0795.outlook.office365.com
 (2603:10b6:408:13f::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.21 via Frontend
 Transport; Thu, 11 Apr 2024 13:33:40 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN3PEPF0000B06B.mail.protection.outlook.com (10.167.243.70) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7495.0 via Frontend Transport; Thu, 11 Apr 2024 13:33:40 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 11 Apr
 2024 08:33:40 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 11 Apr
 2024 06:33:40 -0700
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.35 via Frontend
 Transport; Thu, 11 Apr 2024 08:33: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: 1e8b7ee0-f808-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lb1c0/u2hv4+RsgESUIAqo5o1XbGxR3Llbbm75Gl626q4+nhKA7AjSzGxt/QZt5yPf5GfcjC07oHp4w9IInrZ8YwMao+bfLOcDii+Lxf9tDnxs3c1rsSOfJYRP5pV7tdJwhoChvtpTejlwnMXCCAHRdeRwXlrDi2uD+dUYU7AgIk3VTokjIRzKWIYXcO5G3wag5CQbnsdOvVMvAfgDd8Oj6ca3b2BJlZj5Yc+/LYMsyXNCUvfjv5uvgBTExMEqsAN13nGE5/rH9nefbaQXVgg9yOS5olqpcHe55nepJ/mNC4IMUp+wOBsd61xUmOKiicWht8GhgMNZUKWqRJOMAwJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aLZfrGIJBUtElR6uQavfhF/pzO2vpb6tUTF3vAKf8GM=;
 b=HWH3tUJokhGOeMmCmd9/HtW6gG95e1v4G6sBgDsclSIR/Pms8pEaik1S9+1Vd9azE7FTuSfMaF1FFOPIkYlvxJkSldN+J1Z2jdkXB1jhvegrTO0hrRdUBQqcy6b3wZBA9091G5jrr8YxHcn17XPGQgzmL8yt36IhSblMyuweBfABQVPLQk6+JFlfkJqvQftOKKRvc43/NJGNOonWrj5VVBmEEPUd8Y6ztBjxjwLX1P4pZxvRQ75d1CBzDavjXZgIcvNS1mnSxlZvH/+nG4U+EoPHDPDZra3JWxWLpuFfC+1qefzHdYH8o0QZyRsXh96zs4lsBT+7l0F60zs4mGDpwQ==
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=aLZfrGIJBUtElR6uQavfhF/pzO2vpb6tUTF3vAKf8GM=;
 b=WXGEbq87wNLWqRUOFhOE44NPIqPEaNZjZjyLcRyz45eC1+fWWB3aUWcpjXBfigE52mot0jRTL6d+uMLq9IlBwBgMaY0v9UM/f33MRN33q6hGFtCdezeT6Zvnwm4k7UnwI3HptBGT7sUt8lcoNsGRHCo13DN9zA46WY/g80LeZU0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <d57ea031-6fc0-405f-b431-a217e16c2e6a@amd.com>
Date: Thu, 11 Apr 2024 15:33:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/include: move definition of ASM_INT() to
 xen/linkage.h
To: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20240403120323.18433-1-jgross@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240403120323.18433-1-jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B06B:EE_|DS7PR12MB5816:EE_
X-MS-Office365-Filtering-Correlation-Id: 03686b8d-2413-438d-6d9e-08dc5a2c0045
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cMTRH/5y1eGJsLGCW8bfBDKQ0P16TrNkXTL4TmxmkUmc7NSA68/ZmE+ajLIf2kBy6J5q6qt+N0uS8Q6qGL3lOUifXlDteDxVh0yJqPUj1s8Av6YnvkWjf3otHm94uP+vw9He2RbYMtweT38n7QLg1DybsRlexoR9cwviHDPJLE7H8oTn++LdwziLve1oNHpwC7YSjzO4s9dyapRBoZbI5FUK2b7FDQiLspdmxoTu/Djk4IHlpXOpKiWuVCGgMiir/O7yzZb5NoH7tkH4hzNJfN2SajZAjNQqQQpDQbkkBsSwkpasS/MAjpvo/z5MZaVGzPvajBeOtlmTV9Fq4rRG0O6/UKboxo9QHjz5zAHs1JJnhDdcysChCyugXXNHjpIfXiOL+loR4W4LCU3X3eJ/WgRrzt5i/F/1u0dUgrX6oGkyOgenF96zctH9T/AbJ9E/9x9TBOiUqwjTBTqinq4ZPOt2PVcDFCGxrqyoU68rG84jxwHVH7Czz4cxd/Jc8GD9XHtUDOnnAtss46PYPgsWhZbc6f5/2UVUWkwcVSdZ3WrF8GYYARDUR3/91iFTTPuxA/IQs/fOYS2HZuyizqvguIwWfEo1YGIvDUpl08K1Rsj4czoKJaNXd+FRZQKVrwFV8gadSiaNOZH56lnKWvZTkhKOvDe6LAsUe4akl/ACgnVp/rb861UAjo9+sXfaBPx4ZEl+VRLSoDBJ+b5JCC8T17m1FIHZv++vcZjTyhpsI56G+QRWo0hnUw+Pcf4/jZju
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(376005)(7416005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 13:33:40.9066
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 03686b8d-2413-438d-6d9e-08dc5a2c0045
X-MS-Exchange-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:
	BN3PEPF0000B06B.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5816



On 03/04/2024 14:03, Juergen Gross wrote:
> 
> 
> ASM_INT() is defined in arch/[arm|x86]/include/asm/asm_defns.h in
> exactly the same way. Instead of replicating this definition for riscv
> and ppc, move it to include/xen/linkage.h, where other arch agnostic
> definitions for assembler code are living already.
> 
> Adapt the generation of assembler sources via tools/binfile to include
> the new home of ASM_INT().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 13:36:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 13:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703948.1099979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruubZ-0005nB-Lt; Thu, 11 Apr 2024 13:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703948.1099979; Thu, 11 Apr 2024 13: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 1ruubZ-0005n4-Im; Thu, 11 Apr 2024 13:36:41 +0000
Received: by outflank-mailman (input) for mailman id 703948;
 Thu, 11 Apr 2024 13:36: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=RFZQ=LQ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ruubY-0005mw-Nf
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 13:36:40 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0612.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85b6abe2-f808-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 15:36:39 +0200 (CEST)
Received: from DU2PR04CA0075.eurprd04.prod.outlook.com (2603:10a6:10:232::20)
 by DB9PR08MB8508.eurprd08.prod.outlook.com (2603:10a6:10:3d3::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 11 Apr
 2024 13:36:33 +0000
Received: from DU6PEPF00009526.eurprd02.prod.outlook.com
 (2603:10a6:10:232:cafe::22) by DU2PR04CA0075.outlook.office365.com
 (2603:10a6:10:232::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Thu, 11 Apr 2024 13:36:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF00009526.mail.protection.outlook.com (10.167.8.7) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22 via
 Frontend Transport; Thu, 11 Apr 2024 13:36:32 +0000
Received: ("Tessian outbound 601c9811abf4:v300");
 Thu, 11 Apr 2024 13:36:32 +0000
Received: from 91db5bf9a34a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D3DD33E0-5090-4D2D-A7A3-4F4B6279B0A7.1; 
 Thu, 11 Apr 2024 13:36:21 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 91db5bf9a34a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Apr 2024 13:36:21 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB4PR08MB8125.eurprd08.prod.outlook.com (2603:10a6:10:384::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Thu, 11 Apr
 2024 13:36:17 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Thu, 11 Apr 2024
 13:36:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85b6abe2-f808-11ee-b908-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cZo7tn1gnGDkSCtWrLiL/ZRKSaWG6taFBcYHnlYK5GlRBYXtPDG9erWNz++Sk2HqLoXhlzI7R39R6GQEDDfA5UlEtYp2TXQsD++fomruYzcOtAjNrPf+WVMpwkQ1d5FCAAsQioM7MUG3dkdsUCcSG6/Ly9aluHhKp7xYPsuymUKkoUmJ6VJpTGisqTgIwo4tJC0Y5RnM4aoqXBcIivIw3ciIClAmt38Os0mRknm6DRvMA5JxQVfHz9xyn7i1TJYyL3cnQv0y43DCbyd8FKAheuebRU1+fkJ2uuW9rGJtdLpxtZwv4wO59ROKUc8v/dLl424mYtNiwozOuCpqvH4INw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lb7QXCCmn67zncSAysXNO9F+injbQ4l3htdtoi5lf50=;
 b=RFDrb+NglJmwnyAPizPmNZU4bBbFs66b2SDj9Ezi5uzImlzs4k9fHmJ8M5l1rwI8vns/Pa1GO+Qa8oVBRv98Uwc6AC1PQKuFD85XAiLPaBtpmvc8kymOuQ2TfpTuRWWxMaW8Kac/he5ccqXFWhTqhDn/eE7YsfDsBOF1lMtvePxMelNptw48Nk3Y1gLvNuLmQqF1CBlOlxBmUyJnDCIztReWnCh65vzUxhI64Rhr1om+4RX2QoOJz0BsCNxC1o83AA83XEDm/sf0a8IQilwRrEUW0zIF1rQDT/KLzvB4wwliwtoXUbAgxRxI4bm4WLhQ9AMM+r8pTD71wRTHKeMDgw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lb7QXCCmn67zncSAysXNO9F+injbQ4l3htdtoi5lf50=;
 b=7kxrKko1zMUwpz95BZoBuIfg8HDe7TYEpXVIxsHPHrGPgbahIGrYzSL2g8vlYnlPDaeNFv4cB5pPXIUds1m9LqHuBp5aBvjk0G/IK6ak9dyrIsrRYBTcOXcZv0aZ2ZvjUo3/3v81BQOLg1pjwulKIB20iQFA5XZyA2XNNF1K2FE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5151743a993311ec
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KN/E3y5DzElZlGxuz/60Ii01mVwd/kaYy4AOpzTRG54Jyoa3nm+Jo9A/TgSVqqDmQijzSjhseyIhluO3owAJRcCzklJzJA1kuwuxK9Gvldw5tpnkwSwhBOPlMABbWenke1rPd/5GNwzxwZiIxsz0m4JyBaElPqeY4StBIOav28e3yTUJzl3DMAn40M8FJPVnvz/zJYUvTQfNsjHxHz3ee05G+gABpX+3aC2kvOw0r0g76BGhIb1w2A5RJ7SV+VNy2URtAkNeeARWOlyfd85Tt6apzvMKkJXeSSFwvtFf+BAJELCLgg9fXeUZ8yduo3zOw0X/uPYOenTK3t/Jf8nRUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lb7QXCCmn67zncSAysXNO9F+injbQ4l3htdtoi5lf50=;
 b=BDHU5BheOQ1U4oUSD3C5qmUc3TJI6xPY8v3cj2an+r743klkdd0RKdh2/ESwt7x4Lg0iODhI7HUsL2kYsKsPXO0iSR9HuLhS8wgN550oY8F2JEqWrDY9Zr/1zPUhWoxv0A2y/VHPoQUGYr2X/FdGHyWuzZOxIvERCgCVw81r8bk7FZxG9VRpOUz6vyvtn534Ex9kZETVipjppD+z+KvQfhmOUV9RFFaMWAakWNTevYxioJnBf+nUGwUp705TliRsrZBrFt5qZj5voc3AcETQ6hnMlmRK9+4o5OPXfejZcvLxB7kU+qRwvQvrbqolWRVJjsGpCF7IxUZR76jdC648gA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lb7QXCCmn67zncSAysXNO9F+injbQ4l3htdtoi5lf50=;
 b=7kxrKko1zMUwpz95BZoBuIfg8HDe7TYEpXVIxsHPHrGPgbahIGrYzSL2g8vlYnlPDaeNFv4cB5pPXIUds1m9LqHuBp5aBvjk0G/IK6ak9dyrIsrRYBTcOXcZv0aZ2ZvjUo3/3v81BQOLg1pjwulKIB20iQFA5XZyA2XNNF1K2FE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 12/13] xen/device_tree: Introduce function to merge
 overlapping intervals
Thread-Topic: [PATCH v2 12/13] xen/device_tree: Introduce function to merge
 overlapping intervals
Thread-Index: AQHainObwzEJT+Mf6kG9My8yFKsem7Fi1oaAgAA++wA=
Date: Thu, 11 Apr 2024 13:36:17 +0000
Message-ID: <983C3633-08B7-4F5F-AEC4-45E01F9C1388@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-13-luca.fancellu@arm.com>
 <C42AED6D-CD32-4829-82B1-F4213E1FD294@arm.com>
In-Reply-To: <C42AED6D-CD32-4829-82B1-F4213E1FD294@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB4PR08MB8125:EE_|DU6PEPF00009526:EE_|DB9PR08MB8508:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c9d27f5-a64a-48c9-5b2b-08dc5a2c66bf
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 nRykOK2sgC9FSOqpoT4Dm3m5ktMwm7qKKbBkTSKkvRg6lC27uLVuuvZocX6oB/xCW2JrK/ztPCOeXndDFpVYkyIvjfVMWYNBvklaDU8X4ePV0jdLzcmGGxOXSdzNQuxJSGyaCuGwCdskOlhDM/9mspeGd1cHt5IMZbRzKBX33wMrN4UR1nJ0/s6jMoJ0RU+h34c28fJ1TXlNAdLHCJpe9UzxTH5jNOYh0C+dDlMppKnt4AUsFWIPQGRws31HGgDKDxgl6XGxYwRtcPgNSFG+50UHYdGU0sW5Al0WyzsDDbAxfO5w/LVHfRgAp78HdBKNx9tBTCCXcfBy93nIjq5/65EREG+tY+3JkBoFGOqe5qVQgFTaG6x44SL/az5aATKmVdT0UKvx6eX87Krtln7XwNnugoAYfr/FEPefG7Cvf1duCtzetOBYkprUYh90PrHVlPFaO+9KZxMkbsTAAqYXkL4RSAGGHzW+jB/myOYWg1jmQpWHbI+L1luUjMuDmXl0wHvfNN0WQdCO9CulYUSpsnrHlwlHHe3WXrwPJYQmzrRGpn8dlLf2ei0B3iul28UEbgeJXFS7Y5fc3sF4rMV3CX27+mxISCdw9FYOkm+Z00UNi53s9pEAJpKkLGGgPdesY9JiTgRIWsWNJD+ZiWpQQQTUxN9P+SMw2trfrzQCcWPjA/x0mzgxCQ8WngEDNPPvCnU6NqTxYUpYT2h6mH5vQA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <512FBB64CE5FB94A9DBE4AFAB4F0FE17@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8125
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF00009526.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	262da2c6-7835-41b2-527d-08dc5a2c5d6c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bmoV9AdJ3fJSbG0OWpuwEu3hodnAJETnPaK78ryTXsiwuQ8Yuy9I8ghLF64kYX3F+dDcRH5K3bU2nDX0ohAUHnoQdDaK35LbBWCEg+mg/zocedF2LM+RMfZYMVhdgpQCVPJp8O5D2VIMku6/SahbcgE14aT4/BoW5D4PjUZcke+VwveUszvqtXOQZHrU6HQO2EGFb3t0pnvvES9D2kZYG7apAJPjdQ1CXjx4/fXteGIKmZtVhnG41LVL+dgrQQ8wTWGK1ZIcuj/vgwxttWQHnlBLqnlvgKUh3mxttQLmwRLVLPJ1iR94OsaD42qF/HSg8cUXmh9NfJ9f/yunw5bj7BH5H+tneI6JU78jaFYRnV9D5ur0eFEsd31+ZijJMfITzL8Ox9nWz3zd7aF+GyURe6gVukayuSfWAhl5OYYY1tL2xgW9TDDmjQae84f/HavIKH9YjngkOa2487tg6cXiGOO0QqizpLl9w/hUicyceq2SYUpZ4n+6mxiMdgTwzkb9zHFvWMDpbWQvOyFbtZVCYJqHNBjNivcxC97rHUfTYieICuG0k2ul1ULcLG4BhSkOeIuSyQPE28a872pbWTmA7Rce5if68eE94pYW/GVEHsmD/0UzPDQgveWFK2mv3EYm0YGjRt7UzRt4fCOaAVNwuryq3C4Yzal4gufsXLSrIlLnjcmK2Q3lDvmE/YZ/GQiUx6cKpXZL+oNQwoGVxIOGlwZQSe44o9IXfbDJPN66XXytPuU3cY7J1V/t04y9g3IW
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 13:36:32.8489
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c9d27f5-a64a-48c9-5b2b-08dc5a2c66bf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF00009526.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8508

PiANCj4gSeKAmXZlIGp1c3Qgc3BvdHRlZCBhbiBpc3N1ZSB3aXRoIHRoZSBhbGdvcml0aG0sIHRo
ZSBmaXggaXMgdGhpcyBvbmU6DQo+IA0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kZXZpY2Vf
dHJlZS5jIGIveGVuL2NvbW1vbi9kZXZpY2VfdHJlZS5jDQo+IGluZGV4IDI0OTE0YTgwZDAzYi4u
MjYyMzg1YTA0MWE4IDEwMDY0NA0KPiAtLS0gYS94ZW4vY29tbW9uL2RldmljZV90cmVlLmMNCj4g
KysrIGIveGVuL2NvbW1vbi9kZXZpY2VfdHJlZS5jDQo+IEBAIC0yMzYwLDYgKzIzNjAsMTAgQEAg
aW50IF9faW5pdCBkdF9tZXJnZV9vdmVybGFwcGluZ19hZGRyX3NpemVfaW50ZXJ2YWxzKF9fYmUz
MiAqcmVnLCBpbnQgKm5yX2NlbGxzLA0KPiAgICAgICAgICAgICBfX2JlMzIgKnRtcF9sYXN0X2Nl
bGxfc2l6ZSA9IGxhc3RfY2VsbCArIGFkZHJjZWxsczsNCj4gDQo+ICAgICAgICAgICAgIGR0X3Nl
dF9jZWxsKCZ0bXBfbGFzdF9jZWxsX3NpemUsIHNpemVjZWxscywgbmV3X3NpemUpOw0KPiArDQo+
ICsgICAgICAgICAgICAvKiBMYXN0IGludGVydmFsIHVwZGF0ZWQsIHNvIHRoZSBlbmQgaXMgY2hh
bmdlZCAqLw0KPiArICAgICAgICAgICAgZW5kX2xhc3QgPSBzdGFydF9sYXN0ICsgc2l6ZV9sYXN0
Ow0KPiArDQo+ICAgICAgICAgICAgIC8qDQo+ICAgICAgICAgICAgICAqIFRoaXMgY3VycmVudCBp
bnRlcnZhbCBpcyBtZXJnZWQgd2l0aCB0aGUgbGFzdCBvbmUsIHNvIHJlbW92ZSB0aGlzDQo+ICAg
ICAgICAgICAgICAqIGludGVydmFsIGFuZCBzaGlmdCBsZWZ0IGFsbCB0aGUgcmVtYWluaW5nIGVs
ZW1lbnRzDQo+IA0KDQpBcG9sb2dpZXMsIHRoaXMgaXMgdGhlIGZpeDoNCg0KZGlmZiAtLWdpdCBh
L3hlbi9jb21tb24vZGV2aWNlX3RyZWUuYyBiL3hlbi9jb21tb24vZGV2aWNlX3RyZWUuYw0KaW5k
ZXggMjQ5MTRhODBkMDNiLi45YTJmNWIyN2FhOWIgMTAwNjQ0DQotLS0gYS94ZW4vY29tbW9uL2Rl
dmljZV90cmVlLmMNCisrKyBiL3hlbi9jb21tb24vZGV2aWNlX3RyZWUuYw0KQEAgLTIzNjAsNiAr
MjM2MCwxMCBAQCBpbnQgX19pbml0IGR0X21lcmdlX292ZXJsYXBwaW5nX2FkZHJfc2l6ZV9pbnRl
cnZhbHMoX19iZTMyICpyZWcsIGludCAqbnJfY2VsbHMsDQogICAgICAgICAgICAgX19iZTMyICp0
bXBfbGFzdF9jZWxsX3NpemUgPSBsYXN0X2NlbGwgKyBhZGRyY2VsbHM7DQogDQogICAgICAgICAg
ICAgZHRfc2V0X2NlbGwoJnRtcF9sYXN0X2NlbGxfc2l6ZSwgc2l6ZWNlbGxzLCBuZXdfc2l6ZSk7
DQorDQorICAgICAgICAgICAgLyogTGFzdCBpbnRlcnZhbCB1cGRhdGVkLCBzbyB0aGUgZW5kIGlz
IGNoYW5nZWQgKi8NCisgICAgICAgICAgICBlbmRfbGFzdCA9IHN0YXJ0X2xhc3QgKyBuZXdfc2l6
ZTsNCisNCiAgICAgICAgICAgICAvKg0KICAgICAgICAgICAgICAqIFRoaXMgY3VycmVudCBpbnRl
cnZhbCBpcyBtZXJnZWQgd2l0aCB0aGUgbGFzdCBvbmUsIHNvIHJlbW92ZSB0aGlzDQogICAgICAg
ICAgICAgICogaW50ZXJ2YWwgYW5kIHNoaWZ0IGxlZnQgYWxsIHRoZSByZW1haW5pbmcgZWxlbWVu
dHMNCg0KU28gaW5zdGVhZCBvZiDigJxzaXplX2xhc3TigJ0gLT4g4oCcbmV3X3NpemXigJ0uDQoN
ClNvcnJ5IGZvciB0aGUgbm9pc2UuDQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 13:39:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 13:39:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703954.1099989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruueT-0006Qa-7D; Thu, 11 Apr 2024 13:39:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703954.1099989; Thu, 11 Apr 2024 13:39:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruueT-0006QT-3r; Thu, 11 Apr 2024 13:39:41 +0000
Received: by outflank-mailman (input) for mailman id 703954;
 Thu, 11 Apr 2024 13:39:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=P8ns=LQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ruueR-0006QN-NV
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 13:39:39 +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 f06861d9-f808-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 15:39:37 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a51c8274403so628697366b.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 06:39:37 -0700 (PDT)
Received: from ?IPV6:2003:e5:8705:9b00:4df1:9dd5:4f97:24a?
 (p200300e587059b004df19dd54f97024a.dip0.t-ipconnect.de.
 [2003:e5:8705:9b00:4df1:9dd5:4f97:24a])
 by smtp.gmail.com with ESMTPSA id
 r10-20020a1709060d4a00b00a46a9cdcfa5sm759701ejh.162.2024.04.11.06.39.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 06:39:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f06861d9-f808-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1712842777; x=1713447577; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Nw5oWo8SbG/JjbLUd+pDYICRWpYvqotAi1XzjeWc850=;
        b=baSmZj9l0bCLgI3cmMSRalYGXli8nMSTTZaOTjNKYlfuzJCnUjN31WW1ibgvpROlrh
         U+RyV+0+RenXvyJ4LDIpMxJpfeAMom5J7KgopPVITBUo51X0LsXfnNweP1IHdZAENree
         oZKEaQ+J2jpma/cZPnlC6RAwKMq/F+cyJjOHjztepVX4qPPtrF4g+DJavhkjJmqbANT3
         /zo2TO7BflSacXWxnapbNcfCx3Bq7iG8iTl3VkY07FfqsTZqAdPaJdufLHhBbSgmvHRg
         4FOZls8YTV+AMRjcAipWhh/i/V8pbknL/aR3Pxf2VIxARJEHfheP3X/ra825nU9FOY9B
         Svgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712842777; x=1713447577;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Nw5oWo8SbG/JjbLUd+pDYICRWpYvqotAi1XzjeWc850=;
        b=LPtpH+bh8IP8C+Mb9PHQzby4YJGvhA5U/nvR5BODSsKsniofHlKYgAcKYpNRNIMygV
         +55mCN2LyXBwLQlYXdaP0Z4ksbnUbhqXYUT610EONueLqly4XnUL+UrbKAS744e56WBg
         HP/yj1Qn4P8aS/s3jYboP+fiC8KJN1KHpuemeGbeWFCKujqFh1jm5VfnYK6Zbk2oe2Fo
         2yiv2T/QBspaYAKf+YUzaExW1YUJrX4fFpJ5qp13bEX/AEa8AFgy1vEE7OPAVcobIadd
         GMj6cCOlOQDB/w42eG1YlYtOKDy/X3Idwb+pKb7wZ1RRyTPtvvUZ5kV5oepkl7R/OFBW
         eyjQ==
X-Forwarded-Encrypted: i=1; AJvYcCUjKpFBtr4Eu79aUEXVXh55TFoHmYp58n5lvYpdSuB/SUwpWIutkI5z3+x4zwlDSr6bGnBvDsKzH1lWtoQKUA9UaNOwdB13jKUQ1WL8S3U=
X-Gm-Message-State: AOJu0YzceCbr8wdi2urvjfZ0vv/XoVliGz8aAKu9Vk6Fs+jO9wsr1TBp
	m4z2ueK4YkCnWKI4wv7P9S0VNZVRUP9AubVerngcqdr5sXrYOrTOE7lULO8nHmk=
X-Google-Smtp-Source: AGHT+IFDZdEXgvpYFvYDPlTbFe/I24LhPGaam33E+x0qZmk8Ha0VpCJchtO79TGC7Q5GKUPegeSFeg==
X-Received: by 2002:a17:907:ea5:b0:a51:c281:60f3 with SMTP id ho37-20020a1709070ea500b00a51c28160f3mr4251234ejc.77.1712842776616;
        Thu, 11 Apr 2024 06:39:36 -0700 (PDT)
Message-ID: <99c720a9-b042-46d3-8182-cb9bcabb89db@suse.com>
Date: Thu, 11 Apr 2024 15:39:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] locking/x86/xen: Use try_cmpxchg() in
 xen_alloc_p2m_entry()
Content-Language: en-US
To: Uros Bizjak <ubizjak@gmail.com>, xen-devel@lists.xenproject.org,
 x86@kernel.org, linux-kernel@vger.kernel.org
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@kernel.org>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>
References: <20240405083335.507471-1-ubizjak@gmail.com>
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <20240405083335.507471-1-ubizjak@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 05.04.24 10:32, Uros Bizjak wrote:
> Use try_cmpxchg() instead of cmpxchg(*ptr, old, new) == old.
> 
> The x86 CMPXCHG instruction returns success in the ZF flag,
> so this change saves a compare after CMPXCHG.
> 
> Also, try_cmpxchg() implicitly assigns old *ptr value to "old"
> when CMPXCHG fails. There is no need to explicitly assign
> old *ptr value to the temporary, which can simplify the
> surrounding source code.
> 
> No functional change intended.
> 
> Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
> Cc: Juergen Gross <jgross@suse.com>
> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>

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


Juergen


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 14:35:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 14:35:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703963.1099999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruvWh-0007sS-5Q; Thu, 11 Apr 2024 14:35:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703963.1099999; Thu, 11 Apr 2024 14:35: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 1ruvWh-0007sL-2l; Thu, 11 Apr 2024 14:35:43 +0000
Received: by outflank-mailman (input) for mailman id 703963;
 Thu, 11 Apr 2024 14:35: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 1ruvWf-0007sB-Rb; Thu, 11 Apr 2024 14:35: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 1ruvWf-0005fc-Mg; Thu, 11 Apr 2024 14:35: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 1ruvWf-00055I-8Q; Thu, 11 Apr 2024 14:35:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruvWf-0000MM-7i; Thu, 11 Apr 2024 14:35:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JLW9rkwOL/3hULmGWi18SFKV6GYFBP7I9HP3KAKdN3M=; b=4tba/VUx8KuL901MbAJ65bldW3
	Xj2UTjGLzC77UFpY5O95SKqi/Qk8IitvCB6hnEKJ2IjrwA4ogqohSVqrN6og5oiNhHPn79m3jqIxG
	V7HZqFggDIB0m9rxLmQq+hjJ5cLqDaouVp8ksMXTcm7PMdcUkm8FM0W7eVp5vC/n5PrM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185300-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185300: regressions - FAIL
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.17-testing:build-arm64-pvops:kernel-build:fail:regression
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qcow2: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-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:migrate-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-vhd:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d530627aaa9b6e03c7f911434bb342fca3d13300
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 14:35:41 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 185284
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185284
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 185284

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185284
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185284
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-armhf-armhf-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          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
 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                  d530627aaa9b6e03c7f911434bb342fca3d13300
baseline version:
 xen                  b8f39fd4d024ea72c586f1afd233f379c6f6230b

Last test of basis   185284  2024-04-09 12:07:06 Z    2 days
Testing same since   185300  2024-04-10 16:35:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-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                                    fail    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 14:39:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 14:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703968.1100009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruvaM-0000IU-L4; Thu, 11 Apr 2024 14:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703968.1100009; Thu, 11 Apr 2024 14:39:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruvaM-0000IN-Hw; Thu, 11 Apr 2024 14:39:30 +0000
Received: by outflank-mailman (input) for mailman id 703968;
 Thu, 11 Apr 2024 14:39:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IPxQ=LQ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ruvaK-0000I8-Gu
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 14:39: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 4c56b841-f811-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 16:39:27 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-56e2e09fc27so1619977a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 07:39:27 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 cs9-20020a0564020c4900b005682a0e915fsm763462edb.76.2024.04.11.07.39.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 07: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: 4c56b841-f811-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712846367; x=1713451167; 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=z0SRZLkRPtWDq1HCfaglWOVgX9DIgNcFUibF3GsNaMw=;
        b=bsO5NirGv67Q5+ieiIU5s8oOW2ebXpTDA+dolYzaIyX472zBekQeIm1akNGOllk3cF
         7T4TE1SVLbdycR8QdpDpiB4ELUBwqb5hI+yvsUBVJPsFNsEmNS0ZUOlrPKnW23KFxFkD
         cl+NYOK+O9AgkfceULod50tAFfvhG2ymo9u27pBwyDpgLp6oSD/+SozTBuZQZtaDfLUC
         n9ZQmwFVsFGK/ph9h2ntkOpJxH70F48HudT+Odm03lycLNBUEdGpeEr0VOKt/pmWZ8g5
         dINNv795OHjbwH/VRnWMJShjwomRpwL+TY9wbPW2PyTM4IxYjNk3AdSpzKZTdqVvkwcV
         IBkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712846367; x=1713451167;
        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=z0SRZLkRPtWDq1HCfaglWOVgX9DIgNcFUibF3GsNaMw=;
        b=UTtakdBEBFS9+mVkWnTwkFc7QUv1yc6m52XMCMhszKbkDGvrAPyDlWnibZRYFLhvFd
         p3lJZZvMHjz3Vg4TIODWihMwg5cWU1j4eUBKHO7FgB/0gB2y1ttCouTL6JsfkkKp7FVX
         ttEuFq5X9bV+aTxK/vkKrsuO+2VJYSB1Zyyhu7jhAUGOUgmV24wLSNOtoMbUw1L7tVaK
         7vEhVKO68Y/YAKFOxAVCRxrhF/R7G31pcKIaNtIyXv2YNdP1h5XCNR8V8uceSJi7uieH
         db/yPq0r74pHftHYsL0kM7ReADb506zME9PEx3LaGRGsAwVdeKc9nWQGARfdLu8NN0Y1
         nlBA==
X-Forwarded-Encrypted: i=1; AJvYcCWeWqbadtGZ3IAOxrkV84juuU2khbwzpkmJePjMmNXPSaXrYCnHPtDbNSEGcvl8bIxmENYr9y+CNvD0VXVqhFR9U69yOsS+V+CdUinkpk4=
X-Gm-Message-State: AOJu0Yxjgdsi0jHgFJVDpMhvxDwiamG0BUwotA2ZvwP/fVrfGwIJB01Y
	R8Ykc2HgyTUjD9C7OmNJ4to2m9EaLAvoOXcC++Cy+OcGRK3JvUtc
X-Google-Smtp-Source: AGHT+IG8Ih8mPgLUkb2WOS5W7ZOPc2P1MSItD+C3wFolzzsBDd3uMaW4YbnS7tHYUSgPboByD8AqHA==
X-Received: by 2002:a50:d71c:0:b0:56e:1dda:5c2a with SMTP id t28-20020a50d71c000000b0056e1dda5c2amr2447499edi.16.1712846366715;
        Thu, 11 Apr 2024 07:39:26 -0700 (PDT)
Message-ID: <1192836601da5f50db4ea9bb6ab818586e2f6872.camel@gmail.com>
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	 <sstabellini@kernel.org>, Alistair Francis <alistair.francis@wdc.com>, Bob
	Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, 
	xen-devel@lists.xenproject.org
Date: Thu, 11 Apr 2024 16:39:25 +0200
In-Reply-To: <7593c2e7-57ee-42eb-8d38-a3aa177d3420@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
	 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
	 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
	 <7593c2e7-57ee-42eb-8d38-a3aa177d3420@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Wed, 2024-04-03 at 13:53 +0200, Jan Beulich wrote:
> On 03.04.2024 12:54, Oleksii wrote:
> > On Wed, 2024-04-03 at 12:28 +0200, Jan Beulich wrote:
> > > On 03.04.2024 12:19, Oleksii Kurochko wrote:
> > > > This patch disables unnecessary configs for two cases:
> > > > 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds
> > > > (GitLab CI jobs).
> > > > 2. By using tiny64_defconfig for non-randconfig builds.
> > > >=20
> > > > Only configs which lead to compilation issues were disabled.
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > ---
> > > > Changes in V7:
> > > > =C2=A0- Disable only configs which cause compilation issues.
> > >=20
> > > Since the description doesn't go into details: While I can see
> > > that
> > > PERF_COUNTERS and LIVEPATCH may require (a little / some more)
> > > extra
> > > work, are HYPFS, ARGO, and XSM really causing issues?
> > For Argo, I recieved the following compilation errors:
> > =C2=A0=C2=A0 common/argo.c:1416:5: error: unknown type name 'p2m_type_t=
'; did
> > you
> > =C2=A0=C2=A0 mean 'hvmmem_type_t'?
> > =C2=A0=C2=A0=C2=A0 1416 |=C2=A0=C2=A0=C2=A0=C2=A0 p2m_type_t p2mt;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=
=A0 ^~~~~~~~~~
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=
=A0 hvmmem_type_t
> > =C2=A0=C2=A0 common/argo.c:1419:11: error: implicit declaration of func=
tion
> > =C2=A0=C2=A0 'check_get_page_from_gfn' [-Werror=3Dimplicit-function-
> > declaration]
> > =C2=A0=C2=A0=C2=A0 1419 |=C2=A0=C2=A0=C2=A0=C2=A0 ret =3D check_get_pag=
e_from_gfn(d, gfn, false, &p2mt,
> > &page);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~~~~~~~~~~~~~~
> > =C2=A0=C2=A0 common/argo.c:1427:10: error: 'p2m_ram_rw' undeclared (fir=
st use
> > in
> > =C2=A0=C2=A0 this function)
> > =C2=A0=C2=A0=C2=A0 1427 |=C2=A0=C2=A0=C2=A0=C2=A0 case p2m_ram_rw:
> > =C2=A0=C2=A0=20
> > It seems it should be included xen/p2m-common.h and asm/p2m.h in
> > common/argo.c.
> >=20
> > For CONFIG_HYPFS_CONFIG ( there is no issue with CONFIG_HYPFS,
> > overlooked that ):
> > =C2=A0=C2=A0 common/config_data.S:1:10: fatal error: asm/asm_defns.h: N=
o such
> > file
> > =C2=A0=C2=A0 or directory
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 | #include <asm/asm_defns.h>
> > =C2=A0=C2=A0=20
> >=20
> > For XSM, I recieved the following error:
> >=20
> > =C2=A0=C2=A0 xsm/xsm_core.c:79:19: error: 'xsm_core_init' defined but n=
ot
> > used [-
> > =C2=A0=C2=A0 Werror=3Dunused-function]
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 79 | static int __init xsm_core_init(con=
st void
> > *policy_buffer,
> > =C2=A0=C2=A0 size_t policy_size)
> >=20
> > I'll add an information with compilation errors to the commit
> > message.
>=20
> No need to quote full compiler diagnostics, but a hint at the
> problems
> at least. That said, perhaps we want to rather sort the issues than
> disable building stuff that sooner or later you will want to build
> anyway. For hypfs we look to have an approach already. For Argo what
> you suggest makes sense to me; it might be nice to understand where
> the P2M headers needed are coming from on x86 and Arm. Ideally common
> code .c files wouldn't include asm/*.h.
It seems to me that p2m.h comes for Arm from argo.c -> xen/domain.h ->
asm/domain.h and for x86 from argo.c -> xen/guest_access.h -> #include
<asm/hvm/support.h> -> asm/p2m.h.

So I can include asm/p2m.h to asm/domain.h as p2m will be used anyway
in asm/domain.h header and drop disablement of ARGO config from
*_defconfig and build.yaml for CI. Does it make sense?

~ Oleksii
>=20
> For XSM I'm a little puzzled: Shouldn't RISC-V have
> HAS_DEVICE_TREE=3Dy?
> Then xsm_core_init() would have a caller.
>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:05:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703983.1100021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruvz5-0004vG-ON; Thu, 11 Apr 2024 15:05:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703983.1100021; Thu, 11 Apr 2024 15:05:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruvz5-0004v9-Lv; Thu, 11 Apr 2024 15:05:03 +0000
Received: by outflank-mailman (input) for mailman id 703983;
 Thu, 11 Apr 2024 15:05:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruvz4-0004v3-OR
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:05:02 +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 de5c1451-f814-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:05:01 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a450bedffdfso1099767566b.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 08:05:01 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 gb25-20020a170907961900b00a522d34fee8sm154658ejc.114.2024.04.11.08.04.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 08:04: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: de5c1451-f814-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712847900; x=1713452700; 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=vfK5sFYc7cZ0oHbvxhR26eCXsM2Sg2ijhwpKH9wjPgU=;
        b=SqhyIJRknzdF6gsCJyT7exhym8mRS6A931ADqd4W1TZadTgRcH4yhjqU1LX0DKrifN
         L3xzFFCe43EROzbqU2L7X96ubQnmX0s2ZVDHxd8GphCN/ymn4JXbHgSyUcMqJFSDRDJZ
         IliG5+mM7UOFfhq7/Oa1p45Nc7LR1t1pNiuqU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712847900; x=1713452700;
        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=vfK5sFYc7cZ0oHbvxhR26eCXsM2Sg2ijhwpKH9wjPgU=;
        b=L3ty9LxnOwkjKgE3Mof+tM4kgiN3rQQzEheZdvsiH/rIY1JBDxEy7sLNF36H3xEnyW
         rPCuiHYBN4rm+NrRlX3/bq09w7owhBoAyo3nxYIV0Kt5iXW9XpCMuI5fYYtfTQdam0AM
         2+N1X75Pw7UryEeleZBFZ02MZqWNQZXDVZiWTKiZ/JXFBFSQF+fOca84iG97jrpwMFdu
         AiAlhIq0snUhJKERlFH4/uKYxjLJB/IzYkzYQX9HTfETtZV4Zx8L37v06Fjnb+fQDW7/
         Na2jTr9rN7xnCxAVSA7HI/dIkEdb2H6phsJGMUAZNF/gR1Ry2eOofno/TRXPfjYE2Dw8
         h6+Q==
X-Gm-Message-State: AOJu0YzgjKVJQXWQFxBoM1ablGC9NAw5mnyr1tOJkbtqyqeKfxwbM+mP
	ahDqe7qmxv9ooZs0Jh8XsPqTzQdS2Sfg8FD1p014Ajs1eUlvLkmwjRHzL4+0Q2qPfmP0cfiI24o
	S2Zk=
X-Google-Smtp-Source: AGHT+IFbnYWAqukudh0Yrj4QoEfN+24mEqGPUnZv1/xSaNHQqIji0rLc/hZ/qtSe1/B4UpNdEsyhGA==
X-Received: by 2002:a17:906:f6d2:b0:a52:2f1a:d36 with SMTP id jo18-20020a170906f6d200b00a522f1a0d36mr29317ejb.38.1712847900105;
        Thu, 11 Apr 2024 08:05: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] docs/hypercall-abi: State that the hypercall page is optional
Date: Thu, 11 Apr 2024 16:04:58 +0100
Message-Id: <20240411150458.1726116-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Xen doesn't care (and indeed, cannot feasibly tell) whether a hypercall was
initiated from inside or outside a hypercall page.

For SEV-SNP/TDX encrypted VMs, use of a hypercall page would violate the
integrity properties wanted.

Explicitly state that the hypercall page is optional.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 docs/guest-guide/x86/hypercall-abi.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/guest-guide/x86/hypercall-abi.rst b/docs/guest-guide/x86/hypercall-abi.rst
index 83890e1cb613..8004122ca49d 100644
--- a/docs/guest-guide/x86/hypercall-abi.rst
+++ b/docs/guest-guide/x86/hypercall-abi.rst
@@ -79,7 +79,8 @@ Hypercall Page
 ==============
 
 The hypercall page is a page of guest RAM into which Xen will write suitable
-transfer stubs.
+transfer stubs.  It is intended as a convenience for guests, but use of the
+hypercall page is not mandatory for making hypercalls to Xen.
 
 Creating a hypercall page is an isolated operation from Xen's point of view.
 It is the guests responsibility to ensure that the hypercall page, once

base-commit: 6cb501e3e6db36b1b4b6345f5af8adc0a291b404
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:23:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703987.1100032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwGl-0007zC-7U; Thu, 11 Apr 2024 15:23:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703987.1100032; Thu, 11 Apr 2024 15: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 1ruwGl-0007z5-3v; Thu, 11 Apr 2024 15:23:19 +0000
Received: by outflank-mailman (input) for mailman id 703987;
 Thu, 11 Apr 2024 15:23:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruwGk-0007yz-IM
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:23:18 +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 6b9d00d6-f817-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:23:17 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-56c404da0ebso11890775a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 08:23:16 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fg5-20020a056402548500b0056c5515c183sm779639edb.13.2024.04.11.08.23.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 08: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: 6b9d00d6-f817-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712848996; x=1713453796; 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=Kvx5iWu0y4pMcC1rcy3iKy6ujT2KOD9cF1Frc/ddC/k=;
        b=jkGmBWYiCJTkrw1Dv0Fhyo1F4WFyOqZdqCaN8i5lOkwXMiUkYnsxD7KmhfDvj4/l35
         GTldcakiftyG82Z/qZ1S4MoMGWC4nVx5d0KEoO+9sJboTWTGWolnjsYLUaL8GNoC0sxv
         cZBT2neIGc9H7+iedhA73pSiKU0NvQUHyrSms=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712848996; x=1713453796;
        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=Kvx5iWu0y4pMcC1rcy3iKy6ujT2KOD9cF1Frc/ddC/k=;
        b=iek1u8ploGztEjWCMdEJ8iJxxePVxBopAcibIzfuExnF5I66cTCM3sd3gYzn3hTiD9
         /MB8ih1zy/ZD0QaxRk/bt8cA6ihdV+3LjeOG1G6L92qfbxUYr/AY6RUdTYUzHJoPUpkE
         lKhFVy7bZv9eieUpYuyU7wWXWSpTOvIKybUFod3V0AsQnK2viMBOhVKwil11r8p8HJMs
         guyyFjARWoy4o4Pi9pSZ8VtwWjKH48BAInFIbhZVFMhFle73ZrbtsZy0fNqvoy/dGGO8
         9Alet7H5+ZtNU4Vzdd5WhHPDSlKQE6DmOjzAiScsJTI0rzcxxmzQnX+9IVEOZL3CqHjf
         D9kA==
X-Gm-Message-State: AOJu0Yw6iAJgElfRSJffx5GzZKaClZ7qq5JxnQvd4npaoiAc4RsyI7um
	nxu4b6BgsGUa/ZTgeS1FoWlAi1vlbBcUfAuswobjIpM02IUcW1xQFFmI7ve0hK7Y0QoDz4RPQ+B
	l5E8=
X-Google-Smtp-Source: AGHT+IGA3qPPz8ulC9rAxmuThsDLUGs6jB3U1/OyvRy69tM+DhQAXGf/qEPIYgufZEqNAOl7ckwCSQ==
X-Received: by 2002:a50:9f2b:0:b0:56e:2ebc:5c4 with SMTP id b40-20020a509f2b000000b0056e2ebc05c4mr76801edf.20.1712848996042;
        Thu, 11 Apr 2024 08:23: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>
Subject: [PATCH] x86/emul: Simplify segment override prefix decoding
Date: Thu, 11 Apr 2024 16:23:14 +0100
Message-Id: <20240411152314.1755561-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

x86_seg_* uses architectural encodings.  Therefore, we can fold the prefix
handling cases together and derive the segment from the prefix byte itself.

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>

This makes a marginal saving of 47 bytes, indicating (not unexpectedly) that
the optimiser cannot fold the case statements automatically.

fs/gs is weirder.  The expression is 4 + (b & 1), and for some reason this
adds +264 bytes to the function.  Even if the logical expression is larger
than two simple stores (and it probably is), it's not +264 bytes larger...
---
 xen/arch/x86/x86_emulate/decode.c | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/decode.c b/xen/arch/x86/x86_emulate/decode.c
index de836068fdd8..ee4cbdc0002c 100644
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -1043,17 +1043,12 @@ int x86emul_decode(struct x86_emulate_state *s,
         case 0x67: /* address-size override */
             ad_bytes = def_ad_bytes ^ (mode_64bit() ? 12 : 6);
             break;
-        case 0x2e: /* CS override / ignored in 64-bit mode */
+        case 0x26: /* ES override */
+        case 0x2e: /* CS override */
+        case 0x36: /* SS override */
+        case 0x3e: /* DS override, all ignored in 64-bit mode */
             if ( !mode_64bit() )
-                override_seg = x86_seg_cs;
-            break;
-        case 0x3e: /* DS override / ignored in 64-bit mode */
-            if ( !mode_64bit() )
-                override_seg = x86_seg_ds;
-            break;
-        case 0x26: /* ES override / ignored in 64-bit mode */
-            if ( !mode_64bit() )
-                override_seg = x86_seg_es;
+                override_seg = (b >> 3) & 3;
             break;
         case 0x64: /* FS override */
             override_seg = x86_seg_fs;
@@ -1061,10 +1056,6 @@ int x86emul_decode(struct x86_emulate_state *s,
         case 0x65: /* GS override */
             override_seg = x86_seg_gs;
             break;
-        case 0x36: /* SS override / ignored in 64-bit mode */
-            if ( !mode_64bit() )
-                override_seg = x86_seg_ss;
-            break;
         case 0xf0: /* LOCK */
             s->lock_prefix = true;
             break;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:24:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703990.1100042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwIG-0000Mv-HB; Thu, 11 Apr 2024 15:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703990.1100042; Thu, 11 Apr 2024 15:24:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwIG-0000Mo-DE; Thu, 11 Apr 2024 15:24:52 +0000
Received: by outflank-mailman (input) for mailman id 703990;
 Thu, 11 Apr 2024 15:24: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=TdS7=LQ=cloud.com=matthew.barnes@srs-se1.protection.inumbo.net>)
 id 1ruwIF-0000Mi-AS
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:24:51 +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 a3517040-f817-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:24:50 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2d6ff0422a2so99359681fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 08:24:50 -0700 (PDT)
Received: from EMEAENGAAD91498.citrite.net ([2.223.45.79])
 by smtp.gmail.com with ESMTPSA id
 jg25-20020a05600ca01900b004169836bf9asm5719725wmb.23.2024.04.11.08.24.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 08:24: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: a3517040-f817-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712849089; x=1713453889; 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=MyG28NV0LIBCoyoOk3M1T9RmN0wl3VvIjJk55UXCQb4=;
        b=ZLfa6HNUSkSzU+3BADwsLSPEyigYZhWblatIqaKZDMepmIhBTOGJcigvM17T++XGFK
         Pxoqa4q5SyPf+mHEqJsRQ3fauLmH6pj0eNrOWQrvblRxzApDw6uuYrIhUHqdMx4Dv9bd
         deAiKvUZn+0+8Kzx94pXA0w/nY6/P+t0GoTCQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712849089; x=1713453889;
        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=MyG28NV0LIBCoyoOk3M1T9RmN0wl3VvIjJk55UXCQb4=;
        b=HoVNwK1QVOsHivhwTJL0UBALW4Q3eEhOz5gSujRjqWl+/OZDCdYhAGQqvKp62kLH7u
         CTxvAYxwGumg5hJO8bmApX7ULKDHmr8Ov5LZ83/VL9N7PYy/3As0O/OLm785Oa52eq8Q
         YHtLRd4GGWMXE4tHKiPkBF2Wu2VZLhoe5bttV94MQnne0ZdSPlMKhg6zuUzq53O2gYzw
         17/F/wXhJamolAATPRGVObQksIE+VR1o2+Hm+Wx9q7NryyHQ/ZwMpBSBuvvj4xuTb0Mq
         qEqlYycj13n9yTlRHBBTNpVhX9GH/f77L19/tnPNYlBQIACZz4CBx8AlPfb3O3vlML0n
         n0sg==
X-Gm-Message-State: AOJu0Yy/WpySoMOAknoeVEQ3G1ZSbmuPts/5Prv+P/pKpxdwl1cTG9qO
	grcHX3fQ+OZe8+onvWXDF0rAEPgy/aXmcKsa8xrTY+uwlkEu54p/mJWK3hXVutY4WP3yeR53R9m
	a
X-Google-Smtp-Source: AGHT+IHL2E7YF306VkyBludtWczBBXMpdkqMrwhFLWYTAiGJvNWQWXIQNSF8kbdxh0yFGvdf+S/h0Q==
X-Received: by 2002:a2e:8496:0:b0:2d9:fbac:dbee with SMTP id b22-20020a2e8496000000b002d9fbacdbeemr41172ljh.31.1712849089495;
        Thu, 11 Apr 2024 08:24:49 -0700 (PDT)
From: Matthew Barnes <matthew.barnes@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Matthew Barnes <matthew.barnes@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [XEN PATCH 0/2] Enumerate all allocated evtchns in lsevtchn
Date: Thu, 11 Apr 2024 16:24:09 +0100
Message-Id: <cover.1712840924.git.matthew.barnes@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, lsevtchn aborts its event channel enumeration when it hits
its first hypercall error, namely:
* When an event channel doesn't exist at the specified port
* When the event channel is owned by Xen

This results in lsevtchn missing potential relevant event channels with
higher port numbers.

This patch series adds the highest allocated event channel port for a
given domain in the xen_domctl_getdomaininfo hypercall struct, and uses
that value as an upper bound in the lsevtchn loop.

Matthew Barnes (2):
  xen/domctl: Add highest allocated evtchn port to getdomaininfo
  tools/lsevtchn: Use evtchn port upper bound for evtchn enumeration

 tools/xcutils/lsevtchn.c    | 8 ++++++--
 xen/common/domctl.c         | 1 +
 xen/include/public/domctl.h | 3 ++-
 3 files changed, 9 insertions(+), 3 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:25:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703991.1100052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwIP-0000gC-NG; Thu, 11 Apr 2024 15:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703991.1100052; Thu, 11 Apr 2024 15: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 1ruwIP-0000g3-KL; Thu, 11 Apr 2024 15:25:01 +0000
Received: by outflank-mailman (input) for mailman id 703991;
 Thu, 11 Apr 2024 15: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=TdS7=LQ=cloud.com=matthew.barnes@srs-se1.protection.inumbo.net>)
 id 1ruwIN-0000Mi-SN
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:24:59 +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 a8a462ce-f817-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:24:59 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-417d14c3426so6478195e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 08:24:59 -0700 (PDT)
Received: from EMEAENGAAD91498.citrite.net ([2.223.45.79])
 by smtp.gmail.com with ESMTPSA id
 jg25-20020a05600ca01900b004169836bf9asm5719725wmb.23.2024.04.11.08.24.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 08: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: a8a462ce-f817-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712849098; x=1713453898; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OjuqnmWYV0nc4dRzJON3TQC6x9O1cypmz7qzf7KldJU=;
        b=J8e9dd9Qs/jrEfzG3dmy+ej+y6Us7J60Z6w3HCZreJOMKuedN01mB44Pj1xHGxOj7Z
         EvHEAnGP7ZEWoiLcXgVvqcbjMYzkkoJK7x//rYVoC7pM2ytfWFWcXlyH9Evhs+IjuPS3
         mo7XX0lsUQ1cRsU4Rxh/D2s8YIWLabUy2Gfzs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712849098; x=1713453898;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OjuqnmWYV0nc4dRzJON3TQC6x9O1cypmz7qzf7KldJU=;
        b=xDAqtBEzyo9LGQbbrZAFFDednyLIeqQyNlEI/QfJAkJXz6UEO4PK8+iX8mSE2lC2dl
         uqvtHYl4a08alEwRya4IUhjB0E3sLU8799Y14FyyO5Gij7HLCerrq4dkFcERKNumFt7Y
         4mYnXE6LDZOB1WGHR/qgYP8qawCES15dOiBgCqjSGKHq86ICdOXew3WhLJgAPiNYfkJo
         YD7CWU/Y2Mz1Art8A7lySOpg0m9kHI3PLewoyi0f8t0jku6SRkSv06VWIGRAnOu2tCQR
         W6LcOYVZbvhyvX40jGyuckzuDtKir2rlRhXzuHsZXJjqKZVK6fxSDp1ZAqblLOJ835qd
         3aTA==
X-Gm-Message-State: AOJu0YzT9OuRtrnlJFhsZj4aJRLTDjMlo1/cK+wyJVENaAgOAOsiqOpw
	xtQ1lSwRumi7YnXc4y1phQGEQaxmPjMBXwX3MDG6yEAifyi8EjEhG20P/4kA+/9pZDX6AwHjtYJ
	c
X-Google-Smtp-Source: AGHT+IF8OOPAtok9GOT+TbeQfHXvMOoeh4PkWlDFuo7e+puuSsXRp7cXKM8ugkRAh/8/otE2eE1sYw==
X-Received: by 2002:a05:600c:a10:b0:416:731e:4a26 with SMTP id z16-20020a05600c0a1000b00416731e4a26mr84206wmp.38.1712849098668;
        Thu, 11 Apr 2024 08:24:58 -0700 (PDT)
From: Matthew Barnes <matthew.barnes@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Matthew Barnes <matthew.barnes@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 1/2] xen/domctl: Add highest allocated evtchn port to getdomaininfo
Date: Thu, 11 Apr 2024 16:24:10 +0100
Message-Id: <55a9cc8fa53e57f898d05463746cbabda821ce25.1712840924.git.matthew.barnes@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712840924.git.matthew.barnes@cloud.com>
References: <cover.1712840924.git.matthew.barnes@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For tools such as lsevtchn to enumerate through event channels, they
need an upper bound on the port number.

Add the highest allocated event channel port number for a domain in the
xen_domctl_getdomaininfo struct, and populate it.

The field is added above the padding to avoid implicit padding.

Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
---
 xen/common/domctl.c         | 1 +
 xen/include/public/domctl.h | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 43b0b074c3a6..1d1ee17f6f91 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -73,6 +73,7 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
 
     info->domain = d->domain_id;
     info->max_vcpu_id = XEN_INVALID_MAX_VCPU_ID;
+    info->highest_evtchn_port = read_atomic(&d->valid_evtchns);
 
     /*
      * - domain is marked as blocked only if all its vcpus are blocked
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b08..d28d29180c75 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -145,7 +145,8 @@ struct xen_domctl_getdomaininfo {
     xen_domain_handle_t handle;
     uint32_t cpupool;
     uint8_t gpaddr_bits; /* Guest physical address space size. */
-    uint8_t pad2[7];
+    uint8_t pad2[3];
+    evtchn_port_t highest_evtchn_port; /* Highest allocated event channel port. Used for enumeration */
     struct xen_arch_domainconfig arch_config;
 };
 typedef struct xen_domctl_getdomaininfo xen_domctl_getdomaininfo_t;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:25:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703992.1100062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwIQ-0000vb-Tm; Thu, 11 Apr 2024 15:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703992.1100062; Thu, 11 Apr 2024 15:25:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwIQ-0000vS-Qp; Thu, 11 Apr 2024 15:25:02 +0000
Received: by outflank-mailman (input) for mailman id 703992;
 Thu, 11 Apr 2024 15:25:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TdS7=LQ=cloud.com=matthew.barnes@srs-se1.protection.inumbo.net>)
 id 1ruwIO-0000Mi-Vu
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:25:00 +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 a94b3a9d-f817-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:25:00 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-343f1957ffcso637264f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 08:25:00 -0700 (PDT)
Received: from EMEAENGAAD91498.citrite.net ([2.223.45.79])
 by smtp.gmail.com with ESMTPSA id
 jg25-20020a05600ca01900b004169836bf9asm5719725wmb.23.2024.04.11.08.24.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 08: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: a94b3a9d-f817-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712849099; x=1713453899; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xMI7WvuqX+Ej2NliaNj//U1NPJxEWYxQSV37pRh8e88=;
        b=A54e6Qbi8vS0XHwDt5zEPlOxtmBD5qlokbEMDT3+gQgsS1kArRjYYh93wtlXmGiTtw
         QUAP/0hgGbsIeOHLp1fkvq0RLiY/T3/ivJd81apiSpjJ+NW05hUjin9M432CcNURgQcC
         615sDvQRBubPKAM/HzblisNirAPqHuo2HC3sU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712849099; x=1713453899;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xMI7WvuqX+Ej2NliaNj//U1NPJxEWYxQSV37pRh8e88=;
        b=U1OSs1kUARYrFy/X8spjk+obmbFou4bdds3dw75H6x1TV46M+cFhPPsRSDJxUnBILS
         GLAfGgzfzdYZ56yASay8A9nIMFZjxa7Rolqos8g1XGPWl2JBO2LeTYTZ5HqNtJaNVD4U
         XAD4FC9FtzfCmiAG+7fgkRNitF247b1WMZ1qEUxRj2NLyOmWSQ8p6IL7fo8MovfVLCMi
         f47nqyz4Xm6YRvksPZwno8riZa/SxZCBCV62blOZQ6PVE/80pqlI1froFlWTDkJLy4jA
         xXRBrQppW5CvYLC9aIZG19TLVtfxfCKKBpjkkbsfSQFpx5kFxmg/n5GZTyS4VKvBbrOg
         EbMg==
X-Gm-Message-State: AOJu0YyUc65SfdgR9LaVePRmoJNtO2Wunda/2mxgpCMH5SZMwUoVaqdh
	DJpyHnriGDcIglcWza17QUlA1lQts31+TihG4wLTzgQEhWPu3+AXoZkuwo+Oy0w8qGq34OZ3Wz3
	6
X-Google-Smtp-Source: AGHT+IH9Mnb75ahazlimxXm3WRe8tx+doVjGN9xELFybPpFETKZAgljT3+Hbi7moF1U4URfho75FWA==
X-Received: by 2002:adf:cc89:0:b0:343:8bd6:97cf with SMTP id p9-20020adfcc89000000b003438bd697cfmr2238148wrj.35.1712849099350;
        Thu, 11 Apr 2024 08:24:59 -0700 (PDT)
From: Matthew Barnes <matthew.barnes@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Matthew Barnes <matthew.barnes@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [XEN PATCH 2/2] tools/lsevtchn: Use evtchn port upper bound for evtchn enumeration
Date: Thu, 11 Apr 2024 16:24:11 +0100
Message-Id: <bc201c67ef728ebaf678eac4d97e6800a95e8081.1712840924.git.matthew.barnes@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1712840924.git.matthew.barnes@cloud.com>
References: <cover.1712840924.git.matthew.barnes@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

lsevtchn terminates the loop when the hypercall returns an error, even
if there are still event channels with higher port numbers to be
enumerated over.

Use the highest allocated event channel port number for a given domain
to bound the loop so that all relevant event channels can be enumerated
over.

Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
---
 tools/xcutils/lsevtchn.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/xcutils/lsevtchn.c b/tools/xcutils/lsevtchn.c
index d1710613ddc5..7f8ad7c8e7ce 100644
--- a/tools/xcutils/lsevtchn.c
+++ b/tools/xcutils/lsevtchn.c
@@ -11,6 +11,7 @@ int main(int argc, char **argv)
     xc_interface *xch;
     int domid, port, rc;
     xc_evtchn_status_t status;
+    xc_domaininfo_t info;
 
     domid = (argc > 1) ? strtol(argv[1], NULL, 10) : 0;
 
@@ -18,13 +19,16 @@ int main(int argc, char **argv)
     if ( !xch )
         errx(1, "failed to open control interface");
 
-    for ( port = 0; ; port++ )
+    if ( xc_domain_getinfo_single(xch, domid, &info) < 0 )
+        errx(1, "failed to fetch domain info");
+
+    for ( port = 0; port <= info.highest_evtchn_port; port++ )
     {
         status.dom = domid;
         status.port = port;
         rc = xc_evtchn_status(xch, &status);
         if ( rc < 0 )
-            break;
+            continue;
 
         if ( status.status == EVTCHNSTAT_closed )
             continue;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:25:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:25:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703998.1100073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJ1-0001pW-8B; Thu, 11 Apr 2024 15:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703998.1100073; Thu, 11 Apr 2024 15:25:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJ1-0001pP-3a; Thu, 11 Apr 2024 15:25:39 +0000
Received: by outflank-mailman (input) for mailman id 703998;
 Thu, 11 Apr 2024 15:25: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=jyOp=LQ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruwIz-0001Lt-Rl
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:25:37 +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 bd8e272b-f817-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 17:25:35 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1712849127754598.9550868019217;
 Thu, 11 Apr 2024 08:25: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: bd8e272b-f817-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712849130; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=fnzqQ2LoEx1ehz8bNykrsmhdsNIa7uAg6qZQx8nEtEAuDkwydu+wEh5FGmch8D6pP+8R0ZfQgC/Rf6p39MoHm3EI2AxnfM+hTbaVbl0OPT9Ufx1iSq0DKaFgIY05W6GfKYpwKvjMz9fwXEJbRIWFUZDVVuJKcbCZ8+VZI3gaokM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712849130; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=VWwVf1+eBCnfe5TG053/5wkNSqTRJgj9CDOPhhAc5gw=; 
	b=aC3BQdEypK4FVlvbeY+TrjF/XZhaoZI0z6Hy5Z8h5HfUKfVqYsyQizp+6e3rZHAVlFNiuSm+ofySLa8R/T2C7mj3iz60Vid8Dm71Kl3M6Bu1raucQ6IwyiWXTXdXTeO1SdofDokrxgfY5eIoQd+JQdmxwPzApMuHXjbLUHby5Nw=
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=1712849130;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=VWwVf1+eBCnfe5TG053/5wkNSqTRJgj9CDOPhhAc5gw=;
	b=BlYVLKf+jkUEfadEBDdjNXLcDbfYJC2V5GKfP1wys60+X+5rmqHkNKzq976S7z79
	2mbF6Bz3OZIwa/U7ziMFwq/J701HejKx+Egtv2J+u3ulH2aLOy6tyTVaW3bsVGFeiEy
	sXxkge/HdL/flcG4fEPHrQphO6d8WaU1afyg0XMs=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/5] Clean up of gzip decompressor
Date: Thu, 11 Apr 2024 11:25:13 -0400
Message-Id: <20240411152518.2995-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

An issue ran into by hyperlaunch was the need to use the gzip decompressor
multiple times. The current implementation fails when reused due to tainting of
decompressor state from a previous usage. This series seeks to colocate the
gzip unit files under a single directory similar to the other decompression
algorithms.  To enable the refactoring of the state tracking, the code is then
cleaned up in line with Xen coding style.

Daniel P. Smith (5):
  gzip: colocate gunzip code files
  gzip: clean up comments and fix code alignment
  gzip: refactor state tracking
  gzip: move crc state into consilidated gzip state
  gzip: move huffman code table tracking into gzip state

 xen/common/Makefile             |   2 +-
 xen/common/gzip/Makefile        |   1 +
 xen/common/{ => gzip}/gunzip.c  |  73 ++-
 xen/common/{ => gzip}/inflate.c | 912 ++++++++++++++++----------------
 4 files changed, 504 insertions(+), 484 deletions(-)
 create mode 100644 xen/common/gzip/Makefile
 rename xen/common/{ => gzip}/gunzip.c (64%)
 rename xen/common/{ => gzip}/inflate.c (57%)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:25:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.703999.1100082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJF-0002HC-Hu; Thu, 11 Apr 2024 15:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 703999.1100082; Thu, 11 Apr 2024 15: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 1ruwJF-0002H5-ES; Thu, 11 Apr 2024 15:25:53 +0000
Received: by outflank-mailman (input) for mailman id 703999;
 Thu, 11 Apr 2024 15: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=jyOp=LQ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruwJE-0001Lt-QU
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:25:52 +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 c6b147b3-f817-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 17:25:51 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1712849129263617.850379804771;
 Thu, 11 Apr 2024 08:25: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: c6b147b3-f817-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712849131; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=HIx5FW/9J/YpXJij7ziRXd0hJp9LM4o0J4Zsep2HgEIF79eACWqzQSCN0NdAUGiH3yKv1qCzrjKfi70lbC+2TlAb1ShAZBPI6ki4mhTdfc13g19v17SeW8mKCh3daKSKEBi+uaSiAAzeMaAnyltQNJxaGp3uthFGaEVDfAjAXD0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712849131; h=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=PUB6KtciZH+3eK2ig4StmU9ob+dKCPfxbaMjLlfbeTo=; 
	b=crNwOm4J84maaWqDwfzmaiwZoffjq7bM5Lto2XWWZsouecA/4qr6vStpzsI0JqtcoXY+vhLXuQaZx6ewVaxRah5PgpRdEAehv+qkD598EjyEfRr4BNGAAaWlfJZPNgBVZtQG9qGNmmptYfjnUbDoditFZiiT7r++emasFsojWf0=
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=1712849131;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=PUB6KtciZH+3eK2ig4StmU9ob+dKCPfxbaMjLlfbeTo=;
	b=S01Ct4aY3yD9hCl+rm5uNia74MOxMvb0TqZ8/MBmvfuSuq7gSHxXzEXWxiSSxz4A
	pXKtoiqatUYSzVKneF+cX5EZIwhL0yIeMJXfhPATY6aL5oRwpRJcHLxXU1H39AUYmZM
	hE3SpgS/Qwa54fpYGQoT26o/GEEWHItbsP9++KVM=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/5] gzip: colocate gunzip code files
Date: Thu, 11 Apr 2024 11:25:14 -0400
Message-Id: <20240411152518.2995-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240411152518.2995-1-dpsmith@apertussolutions.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This patch moves the gunzip code files to common/gzip. Makefiles are adjusted
accordingly.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/Makefile             | 2 +-
 xen/common/gzip/Makefile        | 1 +
 xen/common/{ => gzip}/gunzip.c  | 0
 xen/common/{ => gzip}/inflate.c | 0
 4 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 xen/common/gzip/Makefile
 rename xen/common/{ => gzip}/gunzip.c (100%)
 rename xen/common/{ => gzip}/inflate.c (100%)

diff --git a/xen/common/Makefile b/xen/common/Makefile
index e5eee19a8537..d512cad5243f 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -14,7 +14,7 @@ obj-y += event_channel.o
 obj-y += event_fifo.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
 obj-y += guestcopy.o
-obj-bin-y += gunzip.init.o
+obj-y += gzip/
 obj-$(CONFIG_HYPFS) += hypfs.o
 obj-$(CONFIG_IOREQ_SERVER) += ioreq.o
 obj-y += irq.o
diff --git a/xen/common/gzip/Makefile b/xen/common/gzip/Makefile
new file mode 100644
index 000000000000..bda73c0184ad
--- /dev/null
+++ b/xen/common/gzip/Makefile
@@ -0,0 +1 @@
+obj-bin-y += gunzip.init.o
diff --git a/xen/common/gunzip.c b/xen/common/gzip/gunzip.c
similarity index 100%
rename from xen/common/gunzip.c
rename to xen/common/gzip/gunzip.c
diff --git a/xen/common/inflate.c b/xen/common/gzip/inflate.c
similarity index 100%
rename from xen/common/inflate.c
rename to xen/common/gzip/inflate.c
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:26:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:26:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704002.1100092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJV-0002lT-Ph; Thu, 11 Apr 2024 15:26:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704002.1100092; Thu, 11 Apr 2024 15:26:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJV-0002lL-Mj; Thu, 11 Apr 2024 15:26:09 +0000
Received: by outflank-mailman (input) for mailman id 704002;
 Thu, 11 Apr 2024 15:26: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=jyOp=LQ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruwJU-0001Lt-Ho
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:26:08 +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 cf11a791-f817-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 17:26:05 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1712849130831104.55316761502581;
 Thu, 11 Apr 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: cf11a791-f817-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712849132; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=dfq6s3J0FdvjK3PIHwQAXMp1M6zTA2CwRo0blv1aRPDRwQ+SPm7XrZyCqur/mKwBSfIsT8LMAUo2sJInpHnPje/em4cj2D2LZRUgmTDL+TlgumwDqzjZ30A/KOXZEY5xRa6piFGNnCs5QYSKKgTkCsR+N8ukdT1HnRJU+tOM0ak=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712849132; h=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=zwBRHesFqrojuiJM5pcYDRw1bIFgWCwZpvMXaXWRBMI=; 
	b=MHzP+KBRCFaP4w5mcPMqO+4rsEbcGRxRkjh3MAX79umb7YLJJEmfiN5MAWZymy4zb1hdFM5EASNWbiybK1VdaY9EQt83IoDL6oLsJGIpcOKNMqZkSLmByIfbU7Wn686nXI9EOQVdb7Rv3/bJ2clKw1j2bGkrpYwLiqBPwckRG3A=
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=1712849132;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=zwBRHesFqrojuiJM5pcYDRw1bIFgWCwZpvMXaXWRBMI=;
	b=uqt7eBw3443XEpKGSro8LAC1utB95xfDnc8DmQ+4j/tXSD3bYvAnl1/PwkpPjplW
	dBaK7k+tFlC9X8b2A8F3NtuWjQwZQe1UZf+5tMUKLiZGD7jDOLZr4sjftna0vYJlt/8
	E+ED9cJIHwExD9sQFAj51Xh+W4Lc0knrY9YSdLag=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/5] gzip: clean up comments and fix code alignment
Date: Thu, 11 Apr 2024 11:25:15 -0400
Message-Id: <20240411152518.2995-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240411152518.2995-1-dpsmith@apertussolutions.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This commit cleans up the comments and fixes the code alignment using Xen
coding style. This is done to make the code more legible before refactoring.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  |  10 +-
 xen/common/gzip/inflate.c | 748 +++++++++++++++++++-------------------
 2 files changed, 384 insertions(+), 374 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 2c6eae167d54..1bcb007395ba 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -63,7 +63,6 @@ static __init int fill_inbuf(void)
         return 0;
 }
 
-
 #include "inflate.c"
 
 static __init void flush_window(void)
@@ -137,3 +136,12 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
 
     return rc;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 58f263d9e852..feb6d51008aa 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1,11 +1,13 @@
 #define DEBG(x)
 #define DEBG1(x)
-/* inflate.c -- Not copyrighted 1992 by Mark Adler
-   version c10p1, 10 January 1993 */
+/*
+ * inflate.c -- Not copyrighted 1992 by Mark Adler
+ * version c10p1, 10 January 1993
+ */
 
-/* 
+/*
  * Adapted for booting Linux by Hannu Savolainen 1993
- * based on gzip-1.0.3 
+ * based on gzip-1.0.3
  *
  * Nicolas Pitre <nico@cam.org>, 1999/04/14 :
  *   Little mods for all variable to reside either into rodata or bss segments
@@ -15,92 +17,91 @@
  */
 
 /*
-   Inflate deflated (PKZIP's method 8 compressed) data.  The compression
-   method searches for as much of the current string of bytes (up to a
-   length of 258) in the previous 32 K bytes.  If it doesn't find any
-   matches (of at least length 3), it codes the next byte.  Otherwise, it
-   codes the length of the matched string and its distance backwards from
-   the current position.  There is a single Huffman code that codes both
-   single bytes (called "literals") and match lengths.  A second Huffman
-   code codes the distance information, which follows a length code.  Each
-   length or distance code actually represents a base value and a number
-   of "extra" (sometimes zero) bits to get to add to the base value.  At
-   the end of each deflated block is a special end-of-block (EOB) literal/
-   length code.  The decoding process is basically: get a literal/length
-   code; if EOB then done; if a literal, emit the decoded byte; if a
-   length then get the distance and emit the referred-to bytes from the
-   sliding window of previously emitted data.
-
-   There are (currently) three kinds of inflate blocks: stored, fixed, and
-   dynamic.  The compressor deals with some chunk of data at a time, and
-   decides which method to use on a chunk-by-chunk basis.  A chunk might
-   typically be 32 K or 64 K.  If the chunk is incompressible, then the
-   "stored" method is used.  In this case, the bytes are simply stored as
-   is, eight bits per byte, with none of the above coding.  The bytes are
-   preceded by a count, since there is no longer an EOB code.
-
-   If the data is compressible, then either the fixed or dynamic methods
-   are used.  In the dynamic method, the compressed data is preceded by
-   an encoding of the literal/length and distance Huffman codes that are
-   to be used to decode this block.  The representation is itself Huffman
-   coded, and so is preceded by a description of that code.  These code
-   descriptions take up a little space, and so for small blocks, there is
-   a predefined set of codes, called the fixed codes.  The fixed method is
-   used if the block codes up smaller that way (usually for quite small
-   chunks), otherwise the dynamic method is used.  In the latter case, the
-   codes are customized to the probabilities in the current block, and so
-   can code it much better than the pre-determined fixed codes.
- 
-   The Huffman codes themselves are decoded using a multi-level table
-   lookup, in order to maximize the speed of decoding plus the speed of
-   building the decoding tables.  See the comments below that precede the
-   lbits and dbits tuning parameters.
+ * Inflate deflated (PKZIP's method 8 compressed) data.  The compression
+ * method searches for as much of the current string of bytes (up to a
+ * length of 258) in the previous 32 K bytes.  If it doesn't find any
+ * matches (of at least length 3), it codes the next byte.  Otherwise, it
+ * codes the length of the matched string and its distance backwards from
+ * the current position.  There is a single Huffman code that codes both
+ * single bytes (called "literals") and match lengths.  A second Huffman
+ * code codes the distance information, which follows a length code.  Each
+ * length or distance code actually represents a base value and a number
+ * of "extra" (sometimes zero) bits to get to add to the base value.  At
+ * the end of each deflated block is a special end-of-block (EOB) literal/
+ * length code.  The decoding process is basically: get a literal/length
+ * code; if EOB then done; if a literal, emit the decoded byte; if a
+ * length then get the distance and emit the referred-to bytes from the
+ * sliding window of previously emitted data.
+ *
+ * There are (currently) three kinds of inflate blocks: stored, fixed, and
+ * dynamic.  The compressor deals with some chunk of data at a time, and
+ * decides which method to use on a chunk-by-chunk basis.  A chunk might
+ * typically be 32 K or 64 K.  If the chunk is incompressible, then the
+ * "stored" method is used.  In this case, the bytes are simply stored as
+ * is, eight bits per byte, with none of the above coding.  The bytes are
+ * preceded by a count, since there is no longer an EOB code.
+ *
+ * If the data is compressible, then either the fixed or dynamic methods
+ * are used.  In the dynamic method, the compressed data is preceded by
+ * an encoding of the literal/length and distance Huffman codes that are
+ * to be used to decode this block.  The representation is itself Huffman
+ * coded, and so is preceded by a description of that code.  These code
+ * descriptions take up a little space, and so for small blocks, there is
+ * a predefined set of codes, called the fixed codes.  The fixed method is
+ * used if the block codes up smaller that way (usually for quite small
+ * chunks), otherwise the dynamic method is used.  In the latter case, the
+ * codes are customized to the probabilities in the current block, and so
+ * can code it much better than the pre-determined fixed codes.
+ *
+ * The Huffman codes themselves are decoded using a multi-level table
+ * lookup, in order to maximize the speed of decoding plus the speed of
+ * building the decoding tables.  See the comments below that precede the
+ * lbits and dbits tuning parameters.
  */
 
-
 /*
-   Notes beyond the 1.93a appnote.txt:
-
-   1. Distance pointers never point before the beginning of the output
-      stream.
-   2. Distance pointers can point back across blocks, up to 32k away.
-   3. There is an implied maximum of 7 bits for the bit length table and
-      15 bits for the actual data.
-   4. If only one code exists, then it is encoded using one bit.  (Zero
-      would be more efficient, but perhaps a little confusing.)  If two
-      codes exist, they are coded using one bit each (0 and 1).
-   5. There is no way of sending zero distance codes--a dummy must be
-      sent if there are none.  (History: a pre 2.0 version of PKZIP would
-      store blocks with no distance codes, but this was discovered to be
-      too harsh a criterion.)  Valid only for 1.93a.  2.04c does allow
-      zero distance codes, which is sent as one code of zero bits in
-      length.
-   6. There are up to 286 literal/length codes.  Code 256 represents the
-      end-of-block.  Note however that the static length tree defines
-      288 codes just to fill out the Huffman codes.  Codes 286 and 287
-      cannot be used though, since there is no length base or extra bits
-      defined for them.  Similarly, there are up to 30 distance codes.
-      However, static trees define 32 codes (all 5 bits) to fill out the
-      Huffman codes, but the last two had better not show up in the data.
-   7. Unzip can check dynamic Huffman blocks for complete code sets.
-      The exception is that a single code would not be complete (see #4).
-   8. The five bits following the block type is really the number of
-      literal codes sent minus 257.
-   9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
-      (1+6+6).  Therefore, to output three times the length, you output
-      three codes (1+1+1), whereas to output four times the same length,
-      you only need two codes (1+3).  Hmm.
-  10. In the tree reconstruction algorithm, Code = Code + Increment
-      only if BitLength(i) is not zero.  (Pretty obvious.)
-  11. Correction: 4 Bits: # of Bit Length codes - 4     (4 - 19)
-  12. Note: length code 284 can represent 227-258, but length code 285
-      really is 258.  The last length deserves its own, short code
-      since it gets used a lot in very redundant files.  The length
-      258 is special since 258 - 3 (the min match length) is 255.
-  13. The literal/length and distance code bit lengths are read as a
-      single stream of lengths.  It is possible (and advantageous) for
-      a repeat code (16, 17, or 18) to go across the boundary between
-      the two sets of lengths.
+ * Notes beyond the 1.93a appnote.txt:
+ *
+ *  1. Distance pointers never point before the beginning of the output
+ *     stream.
+ *  2. Distance pointers can point back across blocks, up to 32k away.
+ *  3. There is an implied maximum of 7 bits for the bit length table and
+ *     15 bits for the actual data.
+ *  4. If only one code exists, then it is encoded using one bit.  (Zero
+ *     would be more efficient, but perhaps a little confusing.)  If two
+ *     codes exist, they are coded using one bit each (0 and 1).
+ *  5. There is no way of sending zero distance codes--a dummy must be
+ *     sent if there are none.  (History: a pre 2.0 version of PKZIP would
+ *     store blocks with no distance codes, but this was discovered to be
+ *     too harsh a criterion.)  Valid only for 1.93a.  2.04c does allow
+ *     zero distance codes, which is sent as one code of zero bits in
+ *     length.
+ *  6. There are up to 286 literal/length codes.  Code 256 represents the
+ *     end-of-block.  Note however that the static length tree defines
+ *     288 codes just to fill out the Huffman codes.  Codes 286 and 287
+ *     cannot be used though, since there is no length base or extra bits
+ *     defined for them.  Similarly, there are up to 30 distance codes.
+ *     However, static trees define 32 codes (all 5 bits) to fill out the
+ *     Huffman codes, but the last two had better not show up in the data.
+ *  7. Unzip can check dynamic Huffman blocks for complete code sets.
+ *     The exception is that a single code would not be complete (see #4).
+ *  8. The five bits following the block type is really the number of
+ *     literal codes sent minus 257.
+ *  9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
+ *     (1+6+6).  Therefore, to output three times the length, you output
+ *     three codes (1+1+1), whereas to output four times the same length,
+ *     you only need two codes (1+3).  Hmm.
+ * 10. In the tree reconstruction algorithm, Code = Code + Increment
+ *     only if BitLength(i) is not zero.  (Pretty obvious.)
+ * 11. Correction: 4 Bits: # of Bit Length codes - 4     (4 - 19)
+ * 12. Note: length code 284 can represent 227-258, but length code 285
+ *     really is 258.  The last length deserves its own, short code
+ *     since it gets used a lot in very redundant files.  The length
+ *     258 is special since 258 - 3 (the min match length) is 255.
+ * 13. The literal/length and distance code bit lengths are read as a
+ *     single stream of lengths.  It is possible (and advantageous) for
+ *     a repeat code (16, 17, or 18) to go across the boundary between
+ *     the two sets of lengths.
  */
 
 #ifdef RCSID
@@ -120,13 +121,15 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
 
 #define slide window
 
-/* Huffman code lookup table entry--this entry is four bytes for machines
-   that have 16-bit pointers (e.g. PC's in the small or medium model).
-   Valid extra bits are 0..13.  e == 15 is EOB (end of block), e == 16
-   means that v is a literal, 16 < e < 32 means that v is a pointer to
-   the next table, which codes e - 16 bits, and lastly e == 99 indicates
-   an unused code.  If a code with e == 99 is looked up, this implies an
-   error in the data. */
+/*
+ * Huffman code lookup table entry--this entry is four bytes for machines
+ * that have 16-bit pointers (e.g. PC's in the small or medium model).
+ * Valid extra bits are 0..13.  e == 15 is EOB (end of block), e == 16
+ * means that v is a literal, 16 < e < 32 means that v is a pointer to
+ * the next table, which codes e - 16 bits, and lastly e == 99 indicates
+ * an unused code.  If a code with e == 99 is looked up, this implies an
+ * error in the data.
+ */
 struct huft {
     uch e;                /* number of extra bits or operation */
     uch b;                /* number of bits in this code or subcode */
@@ -136,7 +139,6 @@ struct huft {
     } v;
 };
 
-
 /* Function prototypes */
 static int huft_build OF((unsigned *, unsigned, unsigned,
                           const ush *, const ush *, struct huft **, int *));
@@ -148,15 +150,17 @@ static int inflate_dynamic OF((void));
 static int inflate_block OF((int *));
 static int inflate OF((void));
 
-
-/* The inflate algorithm uses a sliding 32 K byte window on the uncompressed
-   stream to find repeated byte strings.  This is implemented here as a
-   circular buffer.  The index is updated simply by incrementing and then
-   ANDing with 0x7fff (32K-1). */
-/* It is left to other modules to supply the 32 K area.  It is assumed
-   to be usable as if it were declared "uch slide[32768];" or as just
-   "uch *slide;" and then malloc'ed in the latter case.  The definition
-   must be in unzip.h, included above. */
+/*
+ * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
+ * stream to find repeated byte strings.  This is implemented here as a
+ * circular buffer.  The index is updated simply by incrementing and then
+ * ANDing with 0x7fff (32K-1).
+ *
+ * It is left to other modules to supply the 32 K area.  It is assumed
+ * to be usable as if it were declared "uch slide[32768];" or as just
+ * "uch *slide;" and then malloc'ed in the latter case.  The definition
+ * must be in unzip.h, included above.
+ */
 /* unsigned wp;             current position in slide */
 #define wp outcnt
 #define flush_output(w) (wp=(w),flush_window())
@@ -180,36 +184,35 @@ static const ush cpdext[] = {         /* Extra bits for distance codes */
     7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
     12, 12, 13, 13};
 
-
-
-/* Macros for inflate() bit peeking and grabbing.
-   The usage is:
-   
-        NEEDBITS(j)
-        x = b & mask_bits[j];
-        DUMPBITS(j)
-
-   where NEEDBITS makes sure that b has at least j bits in it, and
-   DUMPBITS removes the bits from b.  The macros use the variable k
-   for the number of bits in b.  Normally, b and k are register
-   variables for speed, and are initialized at the beginning of a
-   routine that uses these macros from a global bit buffer and count.
-
-   If we assume that EOB will be the longest code, then we will never
-   ask for bits with NEEDBITS that are beyond the end of the stream.
-   So, NEEDBITS should not read any more bytes than are needed to
-   meet the request.  Then no bytes need to be "returned" to the buffer
-   at the end of the last block.
-
-   However, this assumption is not true for fixed blocks--the EOB code
-   is 7 bits, but the other literal/length codes can be 8 or 9 bits.
-   (The EOB code is shorter than other codes because fixed blocks are
-   generally short.  So, while a block always has an EOB, many other
-   literal/length codes have a significantly lower probability of
-   showing up at all.)  However, by making the first table have a
-   lookup of seven bits, the EOB code will be found in that first
-   lookup, and so will not require that too many bits be pulled from
-   the stream.
+/*
+ * Macros for inflate() bit peeking and grabbing.
+ * The usage is:
+ *
+ *      NEEDBITS(j)
+ *      x = b & mask_bits[j];
+ *      DUMPBITS(j)
+ *
+ * where NEEDBITS makes sure that b has at least j bits in it, and
+ * DUMPBITS removes the bits from b.  The macros use the variable k
+ * for the number of bits in b.  Normally, b and k are register
+ * variables for speed, and are initialized at the beginning of a
+ * routine that uses these macros from a global bit buffer and count.
+ *
+ * If we assume that EOB will be the longest code, then we will never
+ * ask for bits with NEEDBITS that are beyond the end of the stream.
+ * So, NEEDBITS should not read any more bytes than are needed to
+ * meet the request.  Then no bytes need to be "returned" to the buffer
+ * at the end of the last block.
+ *
+ * However, this assumption is not true for fixed blocks--the EOB code
+ * is 7 bits, but the other literal/length codes can be 8 or 9 bits.
+ * (The EOB code is shorter than other codes because fixed blocks are
+ * generally short.  So, while a block always has an EOB, many other
+ * literal/length codes have a significantly lower probability of
+ * showing up at all.)  However, by making the first table have a
+ * lookup of seven bits, the EOB code will be found in that first
+ * lookup, and so will not require that too many bits be pulled from
+ * the stream.
  */
 
 static ulg __initdata bb;                /* bit buffer */
@@ -226,7 +229,8 @@ static const ush mask_bits[] = {
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
 #ifndef NO_INFLATE_MALLOC
-/* A trivial malloc implementation, adapted from
+/*
+ * A trivial malloc implementation, adapted from
  *  malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
  */
 
@@ -272,64 +276,64 @@ static void __init free(void *where)
 #endif
 
 /*
-   Huffman code decoding is performed using a multi-level table lookup.
-   The fastest way to decode is to simply build a lookup table whose
-   size is determined by the longest code.  However, the time it takes
-   to build this table can also be a factor if the data being decoded
-   is not very long.  The most common codes are necessarily the
-   shortest codes, so those codes dominate the decoding time, and hence
-   the speed.  The idea is you can have a shorter table that decodes the
-   shorter, more probable codes, and then point to subsidiary tables for
-   the longer codes.  The time it costs to decode the longer codes is
-   then traded against the time it takes to make longer tables.
-
-   This results of this trade are in the variables lbits and dbits
-   below.  lbits is the number of bits the first level table for literal/
-   length codes can decode in one step, and dbits is the same thing for
-   the distance codes.  Subsequent tables are also less than or equal to
-   those sizes.  These values may be adjusted either when all of the
-   codes are shorter than that, in which case the longest code length in
-   bits is used, or when the shortest code is *longer* than the requested
-   table size, in which case the length of the shortest code in bits is
-   used.
-
-   There are two different values for the two tables, since they code a
-   different number of possibilities each.  The literal/length table
-   codes 286 possible values, or in a flat code, a little over eight
-   bits.  The distance table codes 30 possible values, or a little less
-   than five bits, flat.  The optimum values for speed end up being
-   about one bit more than those, so lbits is 8+1 and dbits is 5+1.
-   The optimum values may differ though from machine to machine, and
-   possibly even between compilers.  Your mileage may vary.
+ * Huffman code decoding is performed using a multi-level table lookup.
+ * The fastest way to decode is to simply build a lookup table whose
+ * size is determined by the longest code.  However, the time it takes
+ * to build this table can also be a factor if the data being decoded
+ * is not very long.  The most common codes are necessarily the
+ * shortest codes, so those codes dominate the decoding time, and hence
+ * the speed.  The idea is you can have a shorter table that decodes the
+ * shorter, more probable codes, and then point to subsidiary tables for
+ * the longer codes.  The time it costs to decode the longer codes is
+ * then traded against the time it takes to make longer tables.
+ *
+ * This results of this trade are in the variables lbits and dbits
+ * below.  lbits is the number of bits the first level table for literal/
+ * length codes can decode in one step, and dbits is the same thing for
+ * the distance codes.  Subsequent tables are also less than or equal to
+ * those sizes.  These values may be adjusted either when all of the
+ * codes are shorter than that, in which case the longest code length in
+ * bits is used, or when the shortest code is *longer* than the requested
+ * table size, in which case the length of the shortest code in bits is
+ * used.
+ *
+ * There are two different values for the two tables, since they code a
+ * different number of possibilities each.  The literal/length table
+ * codes 286 possible values, or in a flat code, a little over eight
+ * bits.  The distance table codes 30 possible values, or a little less
+ * than five bits, flat.  The optimum values for speed end up being
+ * about one bit more than those, so lbits is 8+1 and dbits is 5+1.
+ * The optimum values may differ though from machine to machine, and
+ * possibly even between compilers.  Your mileage may vary.
  */
 
-
 static const int lbits = 9;          /* bits in base literal/length lookup table */
 static const int dbits = 6;          /* bits in base distance lookup table */
 
-
 /* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
 #define BMAX 16         /* maximum bit length of any code (16 for explode) */
 #define N_MAX 288       /* maximum number of codes in any set */
 
-
 static unsigned __initdata hufts;      /* track memory usage */
 
-
+/*
+ * Given a list of code lengths and a maximum table size, make a set of
+ * tables to decode that set of codes.  Return zero on success, one if
+ * the given code set is incomplete (the tables are still built in this
+ * case), two if the input is invalid (all zero length codes or an
+ * oversubscribed set of lengths), and three if not enough memory.
+ *
+ * @param b Code lengths in bits (all assumed <= BMAX)
+ * @param n Number of codes (assumed <= N_MAX)
+ * @param s Number of simple-valued codes (0..s-1)
+ * @param d List of base values for non-simple codes
+ * @param e List of extra bits for non-simple codes
+ * @param t Result: starting table
+ * @param m Maximum lookup bits, returns actual
+ */
 static int __init huft_build(
-    unsigned *b,            /* code lengths in bits (all assumed <= BMAX) */
-    unsigned n,             /* number of codes (assumed <= N_MAX) */
-    unsigned s,             /* number of simple-valued codes (0..s-1) */
-    const ush *d,           /* list of base values for non-simple codes */
-    const ush *e,           /* list of extra bits for non-simple codes */
-    struct huft **t,        /* result: starting table */
-    int *m                  /* maximum lookup bits, returns actual */
-    )
-/* Given a list of code lengths and a maximum table size, make a set of
-   tables to decode that set of codes.  Return zero on success, one if
-   the given code set is incomplete (the tables are still built in this
-   case), two if the input is invalid (all zero length codes or an
-   oversubscribed set of lengths), and three if not enough memory. */
+    unsigned *b, unsigned n, unsigned s, const ush *d, const ush *e,
+    struct huft **t, int *m)
 {
     unsigned a;                   /* counter for codes of length k */
     unsigned f;                   /* i repeats in table every f entries */
@@ -559,14 +563,13 @@ static int __init huft_build(
     return ret;
 }
 
-
-
-static int __init huft_free(
-    struct huft *t         /* table to free */
-    )
 /* Free the malloc'ed tables built by huft_build(), which makes a linked
-   list of the tables it made, with the links in a dummy first entry of
-   each table. */
+ * list of the tables it made, with the links in a dummy first entry of
+ * each table.
+ *
+ * @param t Table to free
+ */
+static int __init huft_free(struct huft *t)
 {
     register struct huft *p, *q;
 
@@ -578,19 +581,21 @@ static int __init huft_free(
         q = (--p)->v.t;
         free((char*)p);
         p = q;
-    } 
+    }
     return 0;
 }
 
-
+/*
+ * inflate (decompress) the codes in a deflated (compressed) block.
+ * Return an error code or zero if it all goes ok.
+ *
+ * @param huft tl Literal/length decoder tables
+ * @param huft td Distance decoder tables
+ * @param bl  Number of bits decoded by tl[]
+ * @param bd  Number of bits decoded by td[]
+ */
 static int __init inflate_codes(
-    struct huft *tl,    /* literal/length decoder tables */
-    struct huft *td,    /* distance decoder tables */
-    int bl,             /* number of bits decoded by tl[] */
-    int bd              /* number of bits decoded by td[] */
-    )
-/* inflate (decompress) the codes in a deflated (compressed) block.
-   Return an error code or zero if it all goes ok. */
+    struct huft *tl, struct huft *td, int bl, int bd)
 {
     register unsigned e;  /* table entry flag/number of extra bits */
     unsigned n, d;        /* length and index for copy */
@@ -612,78 +617,77 @@ static int __init inflate_codes(
     for (;;)                      /* do until end of block */
     {
         NEEDBITS((unsigned)bl)
-            if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
+        if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
+            do {
+            if (e == 99)
+                return 1;
+            DUMPBITS(t->b)
+            e -= 16;
+            NEEDBITS(e)
+            } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+        DUMPBITS(t->b)
+        if (e == 16)                /* then it's a literal */
+        {
+            slide[w++] = (uch)t->v.n;
+            Tracevv((stderr, "%c", slide[w-1]));
+            if (w == WSIZE)
+            {
+                flush_output(w);
+                w = 0;
+            }
+        }
+        else                        /* it's an EOB or a length */
+        {
+            /* exit if end of block */
+            if (e == 15)
+                break;
+
+            /* get length of block to copy */
+            NEEDBITS(e)
+            n = t->v.n + ((unsigned)b & mask_bits[e]);
+            DUMPBITS(e);
+
+            /* decode distance of block to copy */
+            NEEDBITS((unsigned)bd)
+            if ((e = (t = td + ((unsigned)b & md))->e) > 16)
                 do {
                     if (e == 99)
                         return 1;
                     DUMPBITS(t->b)
-                        e -= 16;
+                    e -= 16;
                     NEEDBITS(e)
-                        } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
-        DUMPBITS(t->b)
-            if (e == 16)                /* then it's a literal */
-            {
-                slide[w++] = (uch)t->v.n;
-                Tracevv((stderr, "%c", slide[w-1]));
+                } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+            DUMPBITS(t->b)
+            NEEDBITS(e)
+            d = w - t->v.n - ((unsigned)b & mask_bits[e]);
+            DUMPBITS(e)
+            Tracevv((stderr,"\\[%d,%d]", w-d, n));
+
+            /* do the copy */
+            do {
+                n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
+                #if !defined(NOMEMCPY) && !defined(DEBUG)
+                if (w - d >= e)         /* (this test assumes unsigned comparison) */
+                {
+                    memcpy(slide + w, slide + d, e);
+                    w += e;
+                    d += e;
+                }
+                else                      /* do it slow to avoid memcpy() overlap */
+                #endif /* !NOMEMCPY */
+                    do {
+                        slide[w++] = slide[d++];
+                        Tracevv((stderr, "%c", slide[w-1]));
+                    } while (--e);
                 if (w == WSIZE)
                 {
                     flush_output(w);
                     w = 0;
                 }
-            }
-            else                        /* it's an EOB or a length */
-            {
-                /* exit if end of block */
-                if (e == 15)
-                    break;
-
-                /* get length of block to copy */
-                NEEDBITS(e)
-                    n = t->v.n + ((unsigned)b & mask_bits[e]);
-                DUMPBITS(e);
-
-                /* decode distance of block to copy */
-                NEEDBITS((unsigned)bd)
-                    if ((e = (t = td + ((unsigned)b & md))->e) > 16)
-                        do {
-                            if (e == 99)
-                                return 1;
-                            DUMPBITS(t->b)
-                                e -= 16;
-                            NEEDBITS(e)
-                                } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
-                DUMPBITS(t->b)
-                    NEEDBITS(e)
-                    d = w - t->v.n - ((unsigned)b & mask_bits[e]);
-                DUMPBITS(e)
-                    Tracevv((stderr,"\\[%d,%d]", w-d, n));
-
-                /* do the copy */
-                do {
-                    n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
-#if !defined(NOMEMCPY) && !defined(DEBUG)
-                    if (w - d >= e)         /* (this test assumes unsigned comparison) */
-                    {
-                        memcpy(slide + w, slide + d, e);
-                        w += e;
-                        d += e;
-                    }
-                    else                      /* do it slow to avoid memcpy() overlap */
-#endif /* !NOMEMCPY */
-                        do {
-                            slide[w++] = slide[d++];
-                            Tracevv((stderr, "%c", slide[w-1]));
-                        } while (--e);
-                    if (w == WSIZE)
-                    {
-                        flush_output(w);
-                        w = 0;
-                    }
-                } while (n);
-            }
+            } while (n);
+        }
     }
 
-
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
     bb = b;                       /* restore global bit buffer */
@@ -696,10 +700,8 @@ static int __init inflate_codes(
     return 4;   /* Input underrun */
 }
 
-
-
-static int __init inflate_stored(void)
 /* "decompress" an inflated type 0 (stored) block. */
+static int __init inflate_stored(void)
 {
     unsigned n;           /* number of bytes in block */
     unsigned w;           /* current window position */
@@ -721,27 +723,25 @@ static int __init inflate_stored(void)
 
     /* get the length and its complement */
     NEEDBITS(16)
-        n = ((unsigned)b & 0xffff);
+    n = ((unsigned)b & 0xffff);
     DUMPBITS(16)
-        NEEDBITS(16)
-        if (n != (unsigned)((~b) & 0xffff))
-            return 1;                   /* error in compressed data */
+    NEEDBITS(16)
+    if (n != (unsigned)((~b) & 0xffff))
+        return 1;                   /* error in compressed data */
     DUMPBITS(16)
 
-
-        /* read and output the compressed data */
-        while (n--)
+    /* read and output the compressed data */
+    while (n--)
+    {
+        NEEDBITS(8)
+        slide[w++] = (uch)b;
+        if (w == WSIZE)
         {
-            NEEDBITS(8)
-                slide[w++] = (uch)b;
-            if (w == WSIZE)
-            {
-                flush_output(w);
-                w = 0;
-            }
-            DUMPBITS(8)
-                }
-
+            flush_output(w);
+            w = 0;
+        }
+        DUMPBITS(8)
+    }
 
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
@@ -759,10 +759,13 @@ static int __init inflate_stored(void)
 /*
  * We use `noinline' here to prevent gcc-3.5 from using too much stack space
  */
+
+/*
+ * decompress an inflated type 1 (fixed Huffman codes) block.  We should
+ * either replace this with a custom decoder, or at least precompute the
+ * Huffman tables.
+ */
 static int noinline __init inflate_fixed(void)
-/* decompress an inflated type 1 (fixed Huffman codes) block.  We should
-   either replace this with a custom decoder, or at least precompute the
-   Huffman tables. */
 {
     int i;                /* temporary variable */
     struct huft *tl;      /* literal/length code table */
@@ -805,7 +808,6 @@ static int noinline __init inflate_fixed(void)
         return i;
     }
 
-
     /* decompress until an end-of-block code */
     if (inflate_codes(tl, td, bl, bd)) {
         free(l);
@@ -819,12 +821,12 @@ static int noinline __init inflate_fixed(void)
     return 0;
 }
 
-
 /*
  * We use `noinline' here to prevent gcc-3.5 from using too much stack space
  */
-static int noinline __init inflate_dynamic(void)
+
 /* decompress an inflated type 2 (dynamic Huffman codes) block. */
+static int noinline __init inflate_dynamic(void)
 {
     int i;                /* temporary variables */
     unsigned j;
@@ -858,26 +860,25 @@ static int noinline __init inflate_dynamic(void)
     b = bb;
     k = bk;
 
-
     /* read in table lengths */
     NEEDBITS(5)
-        nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
+    nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
     DUMPBITS(5)
-        NEEDBITS(5)
-        nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
+    NEEDBITS(5)
+    nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
     DUMPBITS(5)
-        NEEDBITS(4)
-        nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
+    NEEDBITS(4)
+    nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
     DUMPBITS(4)
 #ifdef PKZIP_BUG_WORKAROUND
-        if (nl > 288 || nd > 32)
+    if (nl > 288 || nd > 32)
 #else
-            if (nl > 286 || nd > 30)
+    if (nl > 286 || nd > 30)
 #endif
-            {
-                ret = 1;             /* bad lengths */
-                goto out;
-            }
+    {
+        ret = 1;             /* bad lengths */
+        goto out;
+    }
 
     DEBG("dyn1 ");
 
@@ -885,9 +886,9 @@ static int noinline __init inflate_dynamic(void)
     for (j = 0; j < nb; j++)
     {
         NEEDBITS(3)
-            ll[border[j]] = (unsigned)b & 7;
+        ll[border[j]] = (unsigned)b & 7;
         DUMPBITS(3)
-            }
+    }
     for (; j < 19; j++)
         ll[border[j]] = 0;
 
@@ -912,32 +913,32 @@ static int noinline __init inflate_dynamic(void)
     while ((unsigned)i < n)
     {
         NEEDBITS((unsigned)bl)
-            j = (td = tl + ((unsigned)b & m))->b;
+        j = (td = tl + ((unsigned)b & m))->b;
         DUMPBITS(j)
-            j = td->v.n;
+        j = td->v.n;
         if (j < 16)                 /* length of code in bits (0..15) */
             ll[i++] = l = j;          /* save last length in l */
         else if (j == 16)           /* repeat last length 3 to 6 times */
         {
             NEEDBITS(2)
-                j = 3 + ((unsigned)b & 3);
+            j = 3 + ((unsigned)b & 3);
             DUMPBITS(2)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
-                ll[i++] = l;
+            ll[i++] = l;
         }
         else if (j == 17)           /* 3 to 10 zero length codes */
         {
             NEEDBITS(3)
-                j = 3 + ((unsigned)b & 7);
+            j = 3 + ((unsigned)b & 7);
             DUMPBITS(3)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
                 ll[i++] = 0;
             l = 0;
@@ -945,12 +946,12 @@ static int noinline __init inflate_dynamic(void)
         else                        /* j == 18: 11 to 138 zero length codes */
         {
             NEEDBITS(7)
-                j = 11 + ((unsigned)b & 0x7f);
+            j = 11 + ((unsigned)b & 0x7f);
             DUMPBITS(7)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
                 ll[i++] = 0;
             l = 0;
@@ -993,94 +994,89 @@ static int noinline __init inflate_dynamic(void)
             i = 0;
         }
 #else
-        huft_free(td);
-    }
-    huft_free(tl);
-    ret = i;                   /* incomplete code set */
-    goto out;
+            huft_free(td);
+        }
+        huft_free(tl);
+        ret = i;                   /* incomplete code set */
+        goto out;
 #endif
-}
+    }
 
-DEBG("dyn6 ");
+    DEBG("dyn6 ");
 
-  /* decompress until an end-of-block code */
-if (inflate_codes(tl, td, bl, bd)) {
-    ret = 1;
-    goto out;
-}
+      /* decompress until an end-of-block code */
+    if (inflate_codes(tl, td, bl, bd)) {
+        ret = 1;
+        goto out;
+    }
 
-DEBG("dyn7 ");
+    DEBG("dyn7 ");
 
-  /* free the decoding tables, return */
-huft_free(tl);
-huft_free(td);
+      /* free the decoding tables, return */
+    huft_free(tl);
+    huft_free(td);
 
-DEBG(">");
-ret = 0;
-out:
-free(ll);
-return ret;
+    DEBG(">");
+    ret = 0;
+ out:
+    free(ll);
+    return ret;
 
-underrun:
-ret = 4;   /* Input underrun */
-goto out;
+ underrun:
+    ret = 4;   /* Input underrun */
+    goto out;
 }
 
-
-
-static int __init inflate_block(
-int *e                  /* last block flag */
-)
-/* decompress an inflated block */
+/*
+ * decompress an inflated block
+ *
+ * @param e Last block flag
+ */
+static int __init inflate_block(int *e)
 {
-unsigned t;           /* block type */
-register ulg b;       /* bit buffer */
-register unsigned k;  /* number of bits in bit buffer */
-
-DEBG("<blk");
+    unsigned t;           /* block type */
+    register ulg b;       /* bit buffer */
+    register unsigned k;  /* number of bits in bit buffer */
 
-/* make local bit buffer */
-b = bb;
-k = bk;
+    DEBG("<blk");
 
+    /* make local bit buffer */
+    b = bb;
+    k = bk;
 
-/* read in last block bit */
-NEEDBITS(1)
+    /* read in last block bit */
+    NEEDBITS(1)
     *e = (int)b & 1;
     DUMPBITS(1)
 
-
     /* read in block type */
     NEEDBITS(2)
     t = (unsigned)b & 3;
     DUMPBITS(2)
 
-
     /* restore the global bit buffer */
     bb = b;
     bk = k;
 
     /* inflate that block type */
     if (t == 2)
-    return inflate_dynamic();
+        return inflate_dynamic();
     if (t == 0)
-    return inflate_stored();
+        return inflate_stored();
     if (t == 1)
-    return inflate_fixed();
+        return inflate_fixed();
 
     DEBG(">");
 
     /* bad block type */
     return 2;
 
-    underrun:
+ underrun:
     return 4;   /* Input underrun */
 }
 
-
-
-static int __init inflate(void)
 /* decompress an inflated entry */
+static int __init inflate(void)
 {
     int e;                /* last block flag */
     int r;                /* result code */
@@ -1091,7 +1087,6 @@ static int __init inflate(void)
     bk = 0;
     bb = 0;
 
-
     /* decompress until the last block */
     h = 0;
     do {
@@ -1117,7 +1112,6 @@ static int __init inflate(void)
     /* flush out slide */
     flush_output(wp);
 
-
     /* return success */
 #ifdef DEBUG
     fprintf(stderr, "<%u> ", h);
@@ -1136,12 +1130,11 @@ static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss *
 #define CRC_VALUE (crc ^ 0xffffffffUL)
 
 /*
- * Code to compute the CRC-32 table. Borrowed from 
+ * Code to compute the CRC-32 table. Borrowed from
  * gzip-1.0.3/makecrc.c.
  */
 
-static void __init
-makecrc(void)
+static void __init makecrc(void)
 {
 /* Not copyrighted 1990 Mark Adler */
 
@@ -1244,7 +1237,7 @@ static int __init gunzip(void)
     if ((flags & ORIG_NAME) != 0) {
         /* Discard the old name */
         while (NEXTBYTE() != 0) /* null */ ;
-    } 
+    }
 
     /* Discard file comment if any */
     if ((flags & COMMENT) != 0) {
@@ -1273,7 +1266,7 @@ static int __init gunzip(void)
         }
         return -1;
     }
-     
+
     /* Get the crc and original length */
     /* crc32  (see algorithm.doc)
      * uncompressed input size modulo 2^32
@@ -1282,12 +1275,12 @@ static int __init gunzip(void)
     orig_crc |= (ulg) NEXTBYTE() << 8;
     orig_crc |= (ulg) NEXTBYTE() << 16;
     orig_crc |= (ulg) NEXTBYTE() << 24;
-    
+
     orig_len = (ulg) NEXTBYTE();
     orig_len |= (ulg) NEXTBYTE() << 8;
     orig_len |= (ulg) NEXTBYTE() << 16;
     orig_len |= (ulg) NEXTBYTE() << 24;
-    
+
     /* Validate decompression */
     if (orig_crc != CRC_VALUE) {
         error("crc error");
@@ -1303,3 +1296,12 @@ static int __init gunzip(void)
     error("out of input data");
     return -1;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:26:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:26:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704006.1100102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJk-0003HG-7K; Thu, 11 Apr 2024 15:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704006.1100102; Thu, 11 Apr 2024 15:26:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJk-0003H9-4O; Thu, 11 Apr 2024 15:26:24 +0000
Received: by outflank-mailman (input) for mailman id 704006;
 Thu, 11 Apr 2024 15: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=ICBI=LQ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1ruwJi-0000Mi-7U
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:26:22 +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 d87d7fed-f817-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:26:21 +0200 (CEST)
Received: from MN2PR12CA0011.namprd12.prod.outlook.com (2603:10b6:208:a8::24)
 by BL3PR12MB6401.namprd12.prod.outlook.com (2603:10b6:208:3b1::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Thu, 11 Apr
 2024 15:26:15 +0000
Received: from BL02EPF00021F68.namprd02.prod.outlook.com
 (2603:10b6:208:a8:cafe::94) by MN2PR12CA0011.outlook.office365.com
 (2603:10b6:208:a8::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.19 via Frontend
 Transport; Thu, 11 Apr 2024 15:26:15 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF00021F68.mail.protection.outlook.com (10.167.249.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 11 Apr 2024 15:26:15 +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.35; Thu, 11 Apr
 2024 10:26:14 -0500
Received: from [172.21.251.124] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 11 Apr 2024 10:26: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: d87d7fed-f817-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AO6sQlznzBttOwwGeI0zGXDnqqA3l1EJVnhryOI/+19hxyUKKPm+lRc8vra2o9HRWeLbjGTZrGovcG3Q7SMSIrVTbij2TITNJII5u4E3wIpvSEiSz+ARr14C3v7IuJqeuhurEW0qPDfGi4ukdlwVuAGEZR4UDIXWX71z+h2PWmfvFPhZv+/+A6SvIFtpJFXubkZRWK9HOLFHwa0nlzX0O2xC1Cw7bMH+RL45MBSzJKwHX0HuL1EeqMgD1EdF3TKrcWPj/+GFDlBbqmsUKzOIZBv0isiJc402E4RPOA5b6YbcX9IVs154+QOWe7uGx1p28ZmIFfG+li/gsfMAZCtD5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rfMafOy+/HWmlZ/c505nfexOb8nMx6QuJl1F1hf+zYw=;
 b=PjbTYD1aIRaAS1UTjAHAEYM3fKsEH32tksSBHcFiu6GWFvxOok99zOl1mHeivoWbNIEY1dtWp9IuF5iCt7ljfxhk4kPtKmODWZ8qnsyK/2dCkLlld/6KCWPk60YoPsq/6jqdmOxWXSRB3gjBdsVlRdiMnlvu96Fr7SXJbioCAS124bzD4AAi91h9oQ7RrRrZGJtUj20US+cv0fL9w3Zq7N8Is7+0g3ASIpmpdJHtJwghoYXCXSrb0eiEDMo3CSa8Fbd1eLlh8fy2j/TJ78mqHYWK4NY9RTl6Lz4rlKeDJzyB5RmGEWbpMFlDjCmgXp8O/pvC7mXkR6XPd20N8PxJ6Q==
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=rfMafOy+/HWmlZ/c505nfexOb8nMx6QuJl1F1hf+zYw=;
 b=mmZz+WKd1UoFUjAQUJMTiNXxBXhi0ErapsFae9Hq5atL3ncyRELtFKdlMQZDbEyohZwUd6yUZ7W/n2+RP2DMStd/UjOGWu8wp/+DYcY2N3se7C0i5K7+s0CGJjlcCQeuY7LIdBoHFNXtp/vVfOVUbqvR6Y0PIQ+uoLQnOnKvfgY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <74465ac2-0060-4047-97d7-acadcdff4cd4@amd.com>
Date: Thu, 11 Apr 2024 11:26:11 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/pvh: Make PVH entrypoint PIC for x86-64
To: Brian Gerst <brgerst@gmail.com>
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>, <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>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
References: <20240410194850.39994-1-jason.andryuk@amd.com>
 <20240410194850.39994-3-jason.andryuk@amd.com>
 <CAMzpN2h6S69bOLXCUhmkVJErvoKxq-wPmfoaqR7eGHYLgirn+Q@mail.gmail.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <CAMzpN2h6S69bOLXCUhmkVJErvoKxq-wPmfoaqR7eGHYLgirn+Q@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
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: BL02EPF00021F68:EE_|BL3PR12MB6401:EE_
X-MS-Office365-Filtering-Correlation-Id: 5bcd1676-4bda-40f5-8697-08dc5a3bba2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ho85NdNUr7+6PUovuj7DKzkiCbbcQu1xT1W9IqSqD5ZFs7kgMEGAEwUYAUWK46aEkp3B3dhfgCX+9j2YUftcHoVzRu6jVy1ECJKTvyh8YzXkTzFaYjjeb/sTi1lEIfSHi2XOI7s7WWOg5zg0YQuEo6lgPLa9ZPfgkPpUmyRmy/CGYUW10mMxtoEpfg3ETndUVJSpPAay602gz2+k8IAvppWUaHBiRdR0RQrCFuVVWuVretTmguiQf+wk1fIJNzobyvGRmb4ZsP/OjiMkJ/NcFqCVq2MEH6XOuQvsq1vhfYI4dGGD/I4NOZOJyY47miw9FDg51RNh3d+z33a55Dxgv3+nCwquMFtG9BM4hV12FgzxdZ5WKFMCqD0TUL0h66+mPTOQRUr32ru1b8zNUUFfbkXx6TB3SiJtNWx4lVBSddhwLhZlJ3N5QH6pQuoQwjBUkSn9/hjsQAQk16rB2s95+vQuAy+zZ8pXa/6FW3o7wwAinfMoQIsFGXeAuCxebw059Vk5j7E2nsufOOhVvt2Ei9xwOpYyF+mWi6njzFZu0RuS+1+wlTkQc0N3VsaWzIJVmBmlRMCoQsx2W92jQ+VfHnPb2Gqcl0bj2J2UJX3ZBqCS0F7b9GYtPUVyncdIZ82SNcZcJ9LtJNO/C8Et4Weaa/AIgd1po1qwHO2zp5VV9BE88YgmOk1sj5+PAQT7xQUsBfDRNkjUBPWrULope+EGn+vYE6pRSF7uIzpPq1bHICPF77gR7irvKeuzZg7NL5MF
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(36860700004)(7416005)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 15:26:15.2440
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bcd1676-4bda-40f5-8697-08dc5a3bba2b
X-MS-Exchange-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:
	BL02EPF00021F68.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6401

On 2024-04-10 17:00, Brian Gerst wrote:
> On Wed, Apr 10, 2024 at 3:50 PM Jason Andryuk <jason.andryuk@amd.com> wrote:

>>          /* 64-bit entry point. */
>>          .code64
>>   1:
>> +       UNWIND_HINT_END_OF_STACK
>> +
>>          /* Set base address in stack canary descriptor. */
>>          mov $MSR_GS_BASE,%ecx
>> -       mov $_pa(canary), %eax
>> +       leal rva(canary)(%ebp), %eax
> 
> Since this is in 64-bit mode, RIP-relative addressing can be used.
> 
>>          xor %edx, %edx
>>          wrmsr
>>
>>          call xen_prepare_pvh
>>
>>          /* startup_64 expects boot_params in %rsi. */
>> -       mov $_pa(pvh_bootparams), %rsi
>> -       mov $_pa(startup_64), %rax
>> +       lea rva(pvh_bootparams)(%ebp), %rsi
>> +       lea rva(startup_64)(%ebp), %rax
> 
> RIP-relative here too.

Yes, thanks for catching that.  With the RIP-relative conversion, there 
is now:
vmlinux.o: warning: objtool: pvh_start_xen+0x10d: relocation to !ENDBR: 
startup_64+0x0

I guess RIP-relative made it visible.  That can be quieted by adding 
ANNOTATE_NOENDBR to startup_64.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:26:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704007.1100112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJl-0003Wg-FC; Thu, 11 Apr 2024 15:26:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704007.1100112; Thu, 11 Apr 2024 15:26:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwJl-0003WX-C6; Thu, 11 Apr 2024 15:26:25 +0000
Received: by outflank-mailman (input) for mailman id 704007;
 Thu, 11 Apr 2024 15:26:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jyOp=LQ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruwJj-0000Mi-K5
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:26: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 d946f07e-f817-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:26:22 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1712849132131503.5133015510213;
 Thu, 11 Apr 2024 08: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: d946f07e-f817-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1712849134; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=THcYo5pxHWOMGgrMAFLmvAbbxp2fu3ewJ6Mf3Umf3eohD2Ky/6lDdELQj3zDhnknu9mGKZWGLpOE+kgD/4l32pscJMMFS7At32o2c/pEUHUiLtUMuGnISbmJBxaIWNoWZrCwXZTIjWtWL9PYtO3giU085U/1R794AFj6/Fsa02A=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712849134; h=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=HYSIEYTwh5p4MTbHEclOqmrjQp9zeCs7GmXlIkw618s=; 
	b=DKW0EdJSc1Uj7OaGhjDokjW3ErW6ym0zlZteCXDTfiMZon5BYJ3MW7mof+SKhj6BZ1Qny3i8PBZWv4a/xUX3azgIB04Z433EXXnVKh6+IdeMtZx3W91PsqB78Um2+eQIaPczdykTlIw5evgRSIxLLren9v9zYgRTUimQCiY6qcE=
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=1712849134;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=HYSIEYTwh5p4MTbHEclOqmrjQp9zeCs7GmXlIkw618s=;
	b=TXavKt1z9xCBereVl3rq/Y05xDs9m6EoCsqSzDaXSXHpgfzp0f6XtSi0vwi36sre
	EKRzOMueLe58e6ae5914QnegUV6zFRbVMj6rMumO2xI1TOYt4GFUmmepjzMyTe7jDVA
	FIvj3QyVmx/D5hn/YYE35P9D/AVshO9g7FZNRbb8=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 3/5] gzip: refactor state tracking
Date: Thu, 11 Apr 2024 11:25:16 -0400
Message-Id: <20240411152518.2995-4-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240411152518.2995-1-dpsmith@apertussolutions.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Move the core state into struct gzip_data to allow a per decompression
instance.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  |  50 ++++++-----
 xen/common/gzip/inflate.c | 174 +++++++++++++++++++-------------------
 2 files changed, 116 insertions(+), 108 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 1bcb007395ba..9b4891731b8b 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -6,21 +6,29 @@
 
 #define HEAPORDER 3
 
-static unsigned char *__initdata window;
 #define memptr long
 static memptr __initdata free_mem_ptr;
 static memptr __initdata free_mem_end_ptr;
 
 #define WSIZE           0x80000000U
 
-static unsigned char *__initdata inbuf;
-static unsigned int __initdata insize;
+struct gzip_data {
+    unsigned char *window;
 
-/* Index of next byte to be processed in inbuf: */
-static unsigned int __initdata inptr;
+    unsigned char *inbuf;
+    unsigned int insize;
 
-/* Bytes in output buffer: */
-static unsigned int __initdata outcnt;
+    /* Index of next byte to be processed in inbuf: */
+    unsigned int inptr;
+
+    /* Bytes in output buffer: */
+    unsigned int outcnt;
+
+    long bytes_out;
+
+    unsigned long bb;      /* bit buffer */
+    unsigned bk;           /* bits in bit buffer */
+};
 
 #define OF(args)        args
 
@@ -30,7 +38,7 @@ typedef unsigned char   uch;
 typedef unsigned short  ush;
 typedef unsigned long   ulg;
 
-#define get_byte()      (inptr < insize ? inbuf[inptr++] : fill_inbuf())
+#define get_byte()     (gd->inptr < gd->insize ? gd->inbuf[gd->inptr++] : fill_inbuf())
 
 /* Diagnostic functions */
 #ifdef DEBUG
@@ -49,8 +57,7 @@ typedef unsigned long   ulg;
 #  define Tracecv(c, x)
 #endif
 
-static long __initdata bytes_out;
-static void flush_window(void);
+static void flush_window(struct gzip_data *gd);
 
 static __init void error(const char *x)
 {
@@ -65,7 +72,7 @@ static __init int fill_inbuf(void)
 
 #include "inflate.c"
 
-static __init void flush_window(void)
+static __init void flush_window(struct gzip_data *gd)
 {
     /*
      * The window is equal to the output buffer therefore only need to
@@ -75,16 +82,16 @@ static __init void flush_window(void)
     unsigned int n;
     unsigned char *in, ch;
 
-    in = window;
-    for ( n = 0; n < outcnt; n++ )
+    in = gd->window;
+    for ( n = 0; n < gd->outcnt; n++ )
     {
         ch = *in++;
         c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
     }
     crc = c;
 
-    bytes_out += (unsigned long)outcnt;
-    outcnt = 0;
+    gd->bytes_out += (unsigned long)gd->outcnt;
+    gd->outcnt = 0;
 }
 
 __init int gzip_check(char *image, unsigned long image_len)
@@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned long image_len)
 
 __init int perform_gunzip(char *output, char *image, unsigned long image_len)
 {
+    struct gzip_data gd;
     int rc;
 
     if ( !gzip_check(image, image_len) )
         return 1;
 
-    window = (unsigned char *)output;
+    gd.window = (unsigned char *)output;
 
     free_mem_ptr = (unsigned long)alloc_xenheap_pages(HEAPORDER, 0);
     if ( !free_mem_ptr )
@@ -116,14 +124,14 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
     free_mem_end_ptr = free_mem_ptr + (PAGE_SIZE << HEAPORDER);
     init_allocator();
 
-    inbuf = (unsigned char *)image;
-    insize = image_len;
-    inptr = 0;
-    bytes_out = 0;
+    gd.inbuf = (unsigned char *)image;
+    gd.insize = image_len;
+    gd.inptr = 0;
+    gd.bytes_out = 0;
 
     makecrc();
 
-    if ( gunzip() < 0 )
+    if ( gunzip(&gd) < 0 )
     {
         rc = -EINVAL;
     }
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index feb6d51008aa..c8dd35962abb 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -119,7 +119,7 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
 
 #endif /* !__XEN__ */
 
-#define slide window
+#define slide gd->window
 
 /*
  * Huffman code lookup table entry--this entry is four bytes for machines
@@ -143,12 +143,12 @@ struct huft {
 static int huft_build OF((unsigned *, unsigned, unsigned,
                           const ush *, const ush *, struct huft **, int *));
 static int huft_free OF((struct huft *));
-static int inflate_codes OF((struct huft *, struct huft *, int, int));
-static int inflate_stored OF((void));
-static int inflate_fixed OF((void));
-static int inflate_dynamic OF((void));
-static int inflate_block OF((int *));
-static int inflate OF((void));
+static int inflate_codes OF((struct gzip_data *, struct huft *, struct huft *, int, int));
+static int inflate_stored OF((struct gzip_data *));
+static int inflate_fixed OF((struct gzip_data *));
+static int inflate_dynamic OF((struct gzip_data *));
+static int inflate_block OF((struct gzip_data *, int *));
+static int inflate OF((struct gzip_data *));
 
 /*
  * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
@@ -162,8 +162,8 @@ static int inflate OF((void));
  * must be in unzip.h, included above.
  */
 /* unsigned wp;             current position in slide */
-#define wp outcnt
-#define flush_output(w) (wp=(w),flush_window())
+#define wp gd->outcnt
+#define flush_output(gd, w) (wp=(w),flush_window(gd))
 
 /* Tables for deflate from PKZIP's appnote.txt. */
 static const unsigned border[] = {    /* Order of the bit length code lengths */
@@ -215,17 +215,14 @@ static const ush cpdext[] = {         /* Extra bits for distance codes */
  * the stream.
  */
 
-static ulg __initdata bb;                /* bit buffer */
-static unsigned __initdata bk;           /* bits in bit buffer */
-
 static const ush mask_bits[] = {
     0x0000,
     0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
     0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
 };
 
-#define NEXTBYTE()  ({ int v = get_byte(); if (v < 0) goto underrun; (uch)v; })
-#define NEEDBITS(n) {while(k<(n)){b|=((ulg)NEXTBYTE())<<k;k+=8;}}
+#define NEXTBYTE(gd)  ({ int v = get_byte(); if (v < 0) goto underrun; (uch)v; })
+#define NEEDBITS(gd, n) {while(k<(n)){b|=((ulg)NEXTBYTE(gd))<<k;k+=8;}}
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
 #ifndef NO_INFLATE_MALLOC
@@ -595,7 +592,7 @@ static int __init huft_free(struct huft *t)
  * @param bd  Number of bits decoded by td[]
  */
 static int __init inflate_codes(
-    struct huft *tl, struct huft *td, int bl, int bd)
+    struct gzip_data *gd, struct huft *tl, struct huft *td, int bl, int bd)
 {
     register unsigned e;  /* table entry flag/number of extra bits */
     unsigned n, d;        /* length and index for copy */
@@ -607,8 +604,8 @@ static int __init inflate_codes(
 
 
     /* make local copies of globals */
-    b = bb;                       /* initialize bit buffer */
-    k = bk;
+    b = gd->bb;                   /* initialize bit buffer */
+    k = gd->bk;
     w = wp;                       /* initialize window position */
 
     /* inflate the coded data */
@@ -616,14 +613,14 @@ static int __init inflate_codes(
     md = mask_bits[bd];
     for (;;)                      /* do until end of block */
     {
-        NEEDBITS((unsigned)bl)
+        NEEDBITS(gd, (unsigned)bl)
         if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
             do {
             if (e == 99)
                 return 1;
             DUMPBITS(t->b)
             e -= 16;
-            NEEDBITS(e)
+            NEEDBITS(gd, e)
             } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
         DUMPBITS(t->b)
         if (e == 16)                /* then it's a literal */
@@ -632,7 +629,7 @@ static int __init inflate_codes(
             Tracevv((stderr, "%c", slide[w-1]));
             if (w == WSIZE)
             {
-                flush_output(w);
+                flush_output(gd, w);
                 w = 0;
             }
         }
@@ -643,22 +640,22 @@ static int __init inflate_codes(
                 break;
 
             /* get length of block to copy */
-            NEEDBITS(e)
+            NEEDBITS(gd, e)
             n = t->v.n + ((unsigned)b & mask_bits[e]);
             DUMPBITS(e);
 
             /* decode distance of block to copy */
-            NEEDBITS((unsigned)bd)
+            NEEDBITS(gd, (unsigned)bd)
             if ((e = (t = td + ((unsigned)b & md))->e) > 16)
                 do {
                     if (e == 99)
                         return 1;
                     DUMPBITS(t->b)
                     e -= 16;
-                    NEEDBITS(e)
+                    NEEDBITS(gd, e)
                 } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
             DUMPBITS(t->b)
-            NEEDBITS(e)
+            NEEDBITS(gd, e)
             d = w - t->v.n - ((unsigned)b & mask_bits[e]);
             DUMPBITS(e)
             Tracevv((stderr,"\\[%d,%d]", w-d, n));
@@ -681,7 +678,7 @@ static int __init inflate_codes(
                     } while (--e);
                 if (w == WSIZE)
                 {
-                    flush_output(w);
+                    flush_output(gd, w);
                     w = 0;
                 }
             } while (n);
@@ -690,8 +687,8 @@ static int __init inflate_codes(
 
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
-    bb = b;                       /* restore global bit buffer */
-    bk = k;
+    gd->bb = b;                   /* restore global bit buffer */
+    gd->bk = k;
 
     /* done */
     return 0;
@@ -701,7 +698,7 @@ static int __init inflate_codes(
 }
 
 /* "decompress" an inflated type 0 (stored) block. */
-static int __init inflate_stored(void)
+static int __init inflate_stored(struct gzip_data *gd)
 {
     unsigned n;           /* number of bytes in block */
     unsigned w;           /* current window position */
@@ -711,8 +708,8 @@ static int __init inflate_stored(void)
     DEBG("<stor");
 
     /* make local copies of globals */
-    b = bb;                       /* initialize bit buffer */
-    k = bk;
+    b = gd->bb;                   /* initialize bit buffer */
+    k = gd->bk;
     w = wp;                       /* initialize window position */
 
 
@@ -722,10 +719,10 @@ static int __init inflate_stored(void)
 
 
     /* get the length and its complement */
-    NEEDBITS(16)
+    NEEDBITS(gd, 16)
     n = ((unsigned)b & 0xffff);
     DUMPBITS(16)
-    NEEDBITS(16)
+    NEEDBITS(gd, 16)
     if (n != (unsigned)((~b) & 0xffff))
         return 1;                   /* error in compressed data */
     DUMPBITS(16)
@@ -733,11 +730,11 @@ static int __init inflate_stored(void)
     /* read and output the compressed data */
     while (n--)
     {
-        NEEDBITS(8)
+        NEEDBITS(gd, 8)
         slide[w++] = (uch)b;
         if (w == WSIZE)
         {
-            flush_output(w);
+            flush_output(gd, w);
             w = 0;
         }
         DUMPBITS(8)
@@ -745,8 +742,8 @@ static int __init inflate_stored(void)
 
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
-    bb = b;                       /* restore global bit buffer */
-    bk = k;
+    gd->bb = b;                   /* restore global bit buffer */
+    gd->bk = k;
 
     DEBG(">");
     return 0;
@@ -765,7 +762,7 @@ static int __init inflate_stored(void)
  * either replace this with a custom decoder, or at least precompute the
  * Huffman tables.
  */
-static int noinline __init inflate_fixed(void)
+static int noinline __init inflate_fixed(struct gzip_data *gd)
 {
     int i;                /* temporary variable */
     struct huft *tl;      /* literal/length code table */
@@ -809,7 +806,8 @@ static int noinline __init inflate_fixed(void)
     }
 
     /* decompress until an end-of-block code */
-    if (inflate_codes(tl, td, bl, bd)) {
+    if ( inflate_codes(gd, tl, td, bl, bd) )
+    {
         free(l);
         return 1;
     }
@@ -826,7 +824,7 @@ static int noinline __init inflate_fixed(void)
  */
 
 /* decompress an inflated type 2 (dynamic Huffman codes) block. */
-static int noinline __init inflate_dynamic(void)
+static int noinline __init inflate_dynamic(struct gzip_data *gd)
 {
     int i;                /* temporary variables */
     unsigned j;
@@ -857,17 +855,17 @@ static int noinline __init inflate_dynamic(void)
         return 1;
 
     /* make local bit buffer */
-    b = bb;
-    k = bk;
+    b = gd->bb;
+    k = gd->bk;
 
     /* read in table lengths */
-    NEEDBITS(5)
+    NEEDBITS(gd, 5)
     nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
     DUMPBITS(5)
-    NEEDBITS(5)
+    NEEDBITS(gd, 5)
     nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
     DUMPBITS(5)
-    NEEDBITS(4)
+    NEEDBITS(gd, 4)
     nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
     DUMPBITS(4)
 #ifdef PKZIP_BUG_WORKAROUND
@@ -885,7 +883,7 @@ static int noinline __init inflate_dynamic(void)
     /* read in bit-length-code lengths */
     for (j = 0; j < nb; j++)
     {
-        NEEDBITS(3)
+        NEEDBITS(gd, 3)
         ll[border[j]] = (unsigned)b & 7;
         DUMPBITS(3)
     }
@@ -912,7 +910,7 @@ static int noinline __init inflate_dynamic(void)
     i = l = 0;
     while ((unsigned)i < n)
     {
-        NEEDBITS((unsigned)bl)
+        NEEDBITS(gd, (unsigned)bl)
         j = (td = tl + ((unsigned)b & m))->b;
         DUMPBITS(j)
         j = td->v.n;
@@ -920,7 +918,7 @@ static int noinline __init inflate_dynamic(void)
             ll[i++] = l = j;          /* save last length in l */
         else if (j == 16)           /* repeat last length 3 to 6 times */
         {
-            NEEDBITS(2)
+            NEEDBITS(gd, 2)
             j = 3 + ((unsigned)b & 3);
             DUMPBITS(2)
             if ((unsigned)i + j > n) {
@@ -932,7 +930,7 @@ static int noinline __init inflate_dynamic(void)
         }
         else if (j == 17)           /* 3 to 10 zero length codes */
         {
-            NEEDBITS(3)
+            NEEDBITS(gd, 3)
             j = 3 + ((unsigned)b & 7);
             DUMPBITS(3)
             if ((unsigned)i + j > n) {
@@ -945,7 +943,7 @@ static int noinline __init inflate_dynamic(void)
         }
         else                        /* j == 18: 11 to 138 zero length codes */
         {
-            NEEDBITS(7)
+            NEEDBITS(gd, 7)
             j = 11 + ((unsigned)b & 0x7f);
             DUMPBITS(7)
             if ((unsigned)i + j > n) {
@@ -966,8 +964,8 @@ static int noinline __init inflate_dynamic(void)
     DEBG("dyn5 ");
 
     /* restore the global bit buffer */
-    bb = b;
-    bk = k;
+    gd->bb = b;
+    gd->bk = k;
 
     DEBG("dyn5a ");
 
@@ -1005,7 +1003,8 @@ static int noinline __init inflate_dynamic(void)
     DEBG("dyn6 ");
 
       /* decompress until an end-of-block code */
-    if (inflate_codes(tl, td, bl, bd)) {
+    if ( inflate_codes(gd, tl, td, bl, bd) )
+    {
         ret = 1;
         goto out;
     }
@@ -1030,9 +1029,10 @@ static int noinline __init inflate_dynamic(void)
 /*
  * decompress an inflated block
  *
+ * @param gd Gzip decompression state
  * @param e Last block flag
  */
-static int __init inflate_block(int *e)
+static int __init inflate_block(struct gzip_data *gd, int *e)
 {
     unsigned t;           /* block type */
     register ulg b;       /* bit buffer */
@@ -1041,30 +1041,30 @@ static int __init inflate_block(int *e)
     DEBG("<blk");
 
     /* make local bit buffer */
-    b = bb;
-    k = bk;
+    b = gd->bb;
+    k = gd->bk;
 
     /* read in last block bit */
-    NEEDBITS(1)
+    NEEDBITS(gd, 1)
     *e = (int)b & 1;
     DUMPBITS(1)
 
     /* read in block type */
-    NEEDBITS(2)
+    NEEDBITS(gd, 2)
     t = (unsigned)b & 3;
     DUMPBITS(2)
 
     /* restore the global bit buffer */
-    bb = b;
-    bk = k;
+    gd->bb = b;
+    gd->bk = k;
 
     /* inflate that block type */
     if (t == 2)
-        return inflate_dynamic();
+        return inflate_dynamic(gd);
     if (t == 0)
-        return inflate_stored();
+        return inflate_stored(gd);
     if (t == 1)
-        return inflate_fixed();
+        return inflate_fixed(gd);
 
     DEBG(">");
 
@@ -1076,7 +1076,7 @@ static int __init inflate_block(int *e)
 }
 
 /* decompress an inflated entry */
-static int __init inflate(void)
+static int __init inflate(struct gzip_data *gd)
 {
     int e;                /* last block flag */
     int r;                /* result code */
@@ -1084,8 +1084,8 @@ static int __init inflate(void)
 
     /* initialize window, bit buffer */
     wp = 0;
-    bk = 0;
-    bb = 0;
+    gd->bk = 0;
+    gd->bb = 0;
 
     /* decompress until the last block */
     h = 0;
@@ -1094,7 +1094,7 @@ static int __init inflate(void)
 #ifdef ARCH_HAS_DECOMP_WDOG
         arch_decomp_wdog();
 #endif
-        r = inflate_block(&e);
+        r = inflate_block(gd, &e);
         if (r)
             return r;
         if (hufts > h)
@@ -1104,13 +1104,13 @@ static int __init inflate(void)
     /* Undo too much lookahead. The next read will be byte aligned so we
      * can discard unused bits in the last meaningful byte.
      */
-    while (bk >= 8) {
-        bk -= 8;
-        inptr--;
+    while (gd->bk >= 8) {
+        gd->bk -= 8;
+        gd->inptr--;
     }
 
     /* flush out slide */
-    flush_output(wp);
+    flush_output(gd, wp);
 
     /* return success */
 #ifdef DEBUG
@@ -1181,7 +1181,7 @@ static void __init makecrc(void)
 /*
  * Do the uncompression!
  */
-static int __init gunzip(void)
+static int __init gunzip(struct gzip_data *gd)
 {
     uch flags;
     unsigned char magic[2]; /* magic header */
@@ -1190,9 +1190,9 @@ static int __init gunzip(void)
     ulg orig_len = 0;       /* original uncompressed length */
     int res;
 
-    magic[0] = NEXTBYTE();
-    magic[1] = NEXTBYTE();
-    method   = NEXTBYTE();
+    magic[0] = NEXTBYTE(gd);
+    magic[1] = NEXTBYTE(gd);
+    method   = NEXTBYTE(gd);
 
     if (magic[0] != 037 ||                            /* octal-ok */
         ((magic[1] != 0213) && (magic[1] != 0236))) { /* octal-ok */
@@ -1219,18 +1219,18 @@ static int __init gunzip(void)
         error("Input has invalid flags");
         return -1;
     }
-    NEXTBYTE(); /* Get timestamp */
-    NEXTBYTE();
-    NEXTBYTE();
-    NEXTBYTE();
+    NEXTBYTE(gd); /* Get timestamp */
+    NEXTBYTE(gd);
+    NEXTBYTE(gd);
+    NEXTBYTE(gd);
 
-    (void)NEXTBYTE();  /* Ignore extra flags for the moment */
-    (void)NEXTBYTE();  /* Ignore OS type for the moment */
+    (void)NEXTBYTE(gd);  /* Ignore extra flags for the moment */
+    (void)NEXTBYTE(gd);  /* Ignore OS type for the moment */
 
     if ((flags & EXTRA_FIELD) != 0) {
-        unsigned len = (unsigned)NEXTBYTE();
-        len |= ((unsigned)NEXTBYTE())<<8;
-        while (len--) (void)NEXTBYTE();
+        unsigned len = (unsigned)NEXTBYTE(gd);
+        len |= ((unsigned)NEXTBYTE(gd))<<8;
+        while (len--) (void)NEXTBYTE(gd);
     }
 
     /* Get original file name if it was truncated */
@@ -1241,11 +1241,11 @@ static int __init gunzip(void)
 
     /* Discard file comment if any */
     if ((flags & COMMENT) != 0) {
-        while (NEXTBYTE() != 0) /* null */ ;
+        while (NEXTBYTE(gd) != 0) /* null */ ;
     }
 
     /* Decompress */
-    if ((res = inflate())) {
+    if ((res = inflate(gd))) {
         switch (res) {
         case 0:
             break;
@@ -1286,13 +1286,13 @@ static int __init gunzip(void)
         error("crc error");
         return -1;
     }
-    if (orig_len != bytes_out) {
+    if (orig_len != gd->bytes_out) {
         error("length error");
         return -1;
     }
     return 0;
 
- underrun:   /* NEXTBYTE() goto's here if needed */
+ underrun:   /* NEXTBYTE(gd) goto's here if needed */
     error("out of input data");
     return -1;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:38:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:38:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704030.1100123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwVa-0006FX-NJ; Thu, 11 Apr 2024 15:38:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704030.1100123; Thu, 11 Apr 2024 15: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 1ruwVa-0006FQ-Ih; Thu, 11 Apr 2024 15:38:38 +0000
Received: by outflank-mailman (input) for mailman id 704030;
 Thu, 11 Apr 2024 15:38:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jyOp=LQ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruwJy-0000Mi-HD
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:26:38 +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 e2744a0a-f817-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:26:37 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1712849133372546.854655551866;
 Thu, 11 Apr 2024 08:25: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: e2744a0a-f817-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1712849135; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=AM1W3oM3/jBer+uk2dAhpydvxPiQ/v639/VYDawNR1+WcWCzQka2JHvEHLQE+yi+DY2nqF+p1fM8y3exUvlX9JFP06AUQfHRWy3og01fGgJ/lGg1OGwrOrJJEgje7wbiw0kgAdCaxG38cKrCgOeAYEBLk+AP8DaPr23U1Qe8JVw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712849135; h=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=CnTjEaX3hnuMjXMsnX980kERulKrcznM7VftSyLKlZI=; 
	b=GuYjC4zciGnSsOPeFDqwQgL2tlRlCGJIVqU5ky6RK0AvmqVp1fii5FS5cpYgNY+Mlg74uTscyhKxc7PVgzRkzuzeH0455ajJxtPdg4nvZRL4YZvVTRuDXTMppehD6e1sIFWroTNHIvR/IGJlJNy6Ui/kKtVDCrbKHCkUq+D6lR0=
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=1712849135;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=CnTjEaX3hnuMjXMsnX980kERulKrcznM7VftSyLKlZI=;
	b=lYmTdwQR4nnpkPHJ989rRXQVWJp5sRTKy77MpiThId6AAgnyBnWB5/J/KHMCfSvP
	xaYjtxmRXGnaCMSZKqJRt1kO9dVjLol5VLsmV070iJQU6QDNnrueBnycW1ruK3BI0zA
	zdRayhCvKTadoXY1IXWrGr+8JOLVQRg3B2eo+Xo4=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 4/5] gzip: move crc state into consilidated gzip state
Date: Thu, 11 Apr 2024 11:25:17 -0400
Message-Id: <20240411152518.2995-5-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240411152518.2995-1-dpsmith@apertussolutions.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 11 +++++++----
 xen/common/gzip/inflate.c | 12 +++++-------
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 9b4891731b8b..a1b516b925c9 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -28,6 +28,9 @@ struct gzip_data {
 
     unsigned long bb;      /* bit buffer */
     unsigned bk;           /* bits in bit buffer */
+
+    unsigned long crc_32_tab[256];
+    unsigned long crc;
 };
 
 #define OF(args)        args
@@ -78,7 +81,7 @@ static __init void flush_window(struct gzip_data *gd)
      * The window is equal to the output buffer therefore only need to
      * compute the crc.
      */
-    unsigned long c = crc;
+    unsigned long c = gd->crc;
     unsigned int n;
     unsigned char *in, ch;
 
@@ -86,9 +89,9 @@ static __init void flush_window(struct gzip_data *gd)
     for ( n = 0; n < gd->outcnt; n++ )
     {
         ch = *in++;
-        c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
+        c = gd->crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
     }
-    crc = c;
+    gd->crc = c;
 
     gd->bytes_out += (unsigned long)gd->outcnt;
     gd->outcnt = 0;
@@ -129,7 +132,7 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
     gd.inptr = 0;
     gd.bytes_out = 0;
 
-    makecrc();
+    makecrc(&gd);
 
     if ( gunzip(&gd) < 0 )
     {
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index c8dd35962abb..6c8c7452a31f 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1125,16 +1125,14 @@ static int __init inflate(struct gzip_data *gd)
  *
  **********************************************************************/
 
-static ulg __initdata crc_32_tab[256];
-static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss */
-#define CRC_VALUE (crc ^ 0xffffffffUL)
+#define CRC_VALUE (gd->crc ^ 0xffffffffUL)
 
 /*
  * Code to compute the CRC-32 table. Borrowed from
  * gzip-1.0.3/makecrc.c.
  */
 
-static void __init makecrc(void)
+static void __init makecrc(struct gzip_data *gd)
 {
 /* Not copyrighted 1990 Mark Adler */
 
@@ -1151,7 +1149,7 @@ static void __init makecrc(void)
     for (i = 0; i < sizeof(p)/sizeof(int); i++)
         e |= 1L << (31 - p[i]);
 
-    crc_32_tab[0] = 0;
+    gd->crc_32_tab[0] = 0;
 
     for (i = 1; i < 256; i++)
     {
@@ -1162,11 +1160,11 @@ static void __init makecrc(void)
             if (k & 1)
                 c ^= e;
         }
-        crc_32_tab[i] = c;
+        gd->crc_32_tab[i] = c;
     }
 
     /* this is initialized here so this code could reside in ROM */
-    crc = (ulg)0xffffffffUL; /* shift register contents */
+    gd->crc = (ulg)0xffffffffUL; /* shift register contents */
 }
 
 /* gzip flag byte */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:41:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:41:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704038.1100131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwXw-00088M-1l; Thu, 11 Apr 2024 15:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704038.1100131; Thu, 11 Apr 2024 15:41:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwXv-00088F-VL; Thu, 11 Apr 2024 15:41:03 +0000
Received: by outflank-mailman (input) for mailman id 704038;
 Thu, 11 Apr 2024 15:41: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=jyOp=LQ=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1ruwKA-0001Lt-1t
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:26:50 +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 e8aa9416-f817-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 17:26:48 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1712849134652616.8489386519366;
 Thu, 11 Apr 2024 08:25: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: e8aa9416-f817-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712849136; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=E58Lf3xgoVtF86ugEj9CKlfrWiASx4+nrMGVQCvnNo8XZop1KtMxqHMT6flc+NtypXZMbCtz8r74B22VBdUPlhEynKBsa709JSPNMJsLfQNx15gfwyGftBhLzI56cNYVXe8qncOMUD3bAPRDby+Z33LkCql1cqNNNB5V4nLJhK0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712849136; h=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=hJK+WJnd5udbin6GvR9ns7l4RIkHc9Dr7sf74H4OiFw=; 
	b=RcqtzxNLf3bh92nJY4cmbvwcC9V1HPrA0wYq8RY8c/AJBUyk3Xb5mgNg05Gw6/zBMK2DQdrXTUZ2Jy9IwMLXMUouvFIMEwTBmS/18ellofRZfdIUwKLWEsqUIk/zo68pF3gpQNslBZw5lF4lktUMqQ+gieuK+OT7OarcYvgW/ko=
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=1712849136;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=hJK+WJnd5udbin6GvR9ns7l4RIkHc9Dr7sf74H4OiFw=;
	b=nHgtEdiN21wyE1rw3uC5evU5pmgtuArpFTwlnGAn4BPyZUMTnkc1aQQTNWgenFFr
	4AzF6zcR9qF0LchSt8/hSpkvXlx6U/FjkmYoeEAffnRnnw/y2SCvTfJf6no1gInXnpb
	4GXYBT/D/IQMfZ0mjZmY4Nu/r8vilWtujapHkys8=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 5/5] gzip: move huffman code table tracking into gzip state
Date: Thu, 11 Apr 2024 11:25:18 -0400
Message-Id: <20240411152518.2995-6-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240411152518.2995-1-dpsmith@apertussolutions.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  |  2 ++
 xen/common/gzip/inflate.c | 26 ++++++++++++--------------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index a1b516b925c9..79a641263597 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -31,6 +31,8 @@ struct gzip_data {
 
     unsigned long crc_32_tab[256];
     unsigned long crc;
+
+    unsigned hufts;        /* track memory usage */
 };
 
 #define OF(args)        args
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 6c8c7452a31f..53ee1d8ce1e3 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -140,7 +140,7 @@ struct huft {
 };
 
 /* Function prototypes */
-static int huft_build OF((unsigned *, unsigned, unsigned,
+static int huft_build OF((struct gzip_data *, unsigned *, unsigned, unsigned,
                           const ush *, const ush *, struct huft **, int *));
 static int huft_free OF((struct huft *));
 static int inflate_codes OF((struct gzip_data *, struct huft *, struct huft *, int, int));
@@ -311,8 +311,6 @@ static const int dbits = 6;          /* bits in base distance lookup table */
 #define BMAX 16         /* maximum bit length of any code (16 for explode) */
 #define N_MAX 288       /* maximum number of codes in any set */
 
-static unsigned __initdata hufts;      /* track memory usage */
-
 /*
  * Given a list of code lengths and a maximum table size, make a set of
  * tables to decode that set of codes.  Return zero on success, one if
@@ -329,8 +327,8 @@ static unsigned __initdata hufts;      /* track memory usage */
  * @param m Maximum lookup bits, returns actual
  */
 static int __init huft_build(
-    unsigned *b, unsigned n, unsigned s, const ush *d, const ush *e,
-    struct huft **t, int *m)
+    struct gzip_data *gd, unsigned *b, unsigned n, unsigned s, const ush *d,
+    const ush *e, struct huft **t, int *m)
 {
     unsigned a;                   /* counter for codes of length k */
     unsigned f;                   /* i repeats in table every f entries */
@@ -492,7 +490,7 @@ static int __init huft_build(
                     goto out;
                 }
                 DEBG1("4 ");
-                hufts += z + 1;         /* track memory usage */
+                gd->hufts += z + 1;         /* track memory usage */
                 *t = q + 1;             /* link to list for huft_free() */
                 *(t = &(q->v.t)) = (struct huft *)NULL;
                 u[h] = ++q;             /* table starts after link */
@@ -787,7 +785,7 @@ static int noinline __init inflate_fixed(struct gzip_data *gd)
     for (; i < 288; i++)          /* make a complete, but wrong code set */
         l[i] = 8;
     bl = 7;
-    if ((i = huft_build(l, 288, 257, cplens, cplext, &tl, &bl)) != 0) {
+    if ((i = huft_build(gd, l, 288, 257, cplens, cplext, &tl, &bl)) != 0) {
         free(l);
         return i;
     }
@@ -796,7 +794,7 @@ static int noinline __init inflate_fixed(struct gzip_data *gd)
     for (i = 0; i < 30; i++)      /* make an incomplete code set */
         l[i] = 5;
     bd = 5;
-    if ((i = huft_build(l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
+    if ((i = huft_build(gd, l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
     {
         huft_free(tl);
         free(l);
@@ -894,7 +892,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
 
     /* build decoding table for trees--single level, 7 bit lookup */
     bl = 7;
-    if ((i = huft_build(ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
+    if ((i = huft_build(gd, ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
     {
         if (i == 1)
             huft_free(tl);
@@ -971,7 +969,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
 
     /* build the decoding tables for literal/length and distance codes */
     bl = lbits;
-    if ((i = huft_build(ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
+    if ((i = huft_build(gd, ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
     {
         DEBG("dyn5b ");
         if (i == 1) {
@@ -983,7 +981,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
     }
     DEBG("dyn5c ");
     bd = dbits;
-    if ((i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
+    if ((i = huft_build(gd, ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
     {
         DEBG("dyn5d ");
         if (i == 1) {
@@ -1090,15 +1088,15 @@ static int __init inflate(struct gzip_data *gd)
     /* decompress until the last block */
     h = 0;
     do {
-        hufts = 0;
+        gd->hufts = 0;
 #ifdef ARCH_HAS_DECOMP_WDOG
         arch_decomp_wdog();
 #endif
         r = inflate_block(gd, &e);
         if (r)
             return r;
-        if (hufts > h)
-            h = hufts;
+        if (gd->hufts > h)
+            h = gd->hufts;
     } while (!e);
 
     /* Undo too much lookahead. The next read will be byte aligned so we
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:53:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:53:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704054.1100159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwjw-0002bA-92; Thu, 11 Apr 2024 15:53:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704054.1100159; Thu, 11 Apr 2024 15: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 1ruwjw-0002b3-6N; Thu, 11 Apr 2024 15:53:28 +0000
Received: by outflank-mailman (input) for mailman id 704054;
 Thu, 11 Apr 2024 15:53: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=Poi8=LQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruwju-0002ZT-Ft
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:53:26 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0596f54-f81b-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 17:53:24 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-789f00aba19so488235785a.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 08:53:24 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 dw7-20020a05620a600700b0078ec2d73c9esm945976qkb.4.2024.04.11.08.53.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 08:53: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: a0596f54-f81b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712850802; x=1713455602; 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=RRN4wyQVKK8sx/p5OaCggnAVPVY2eawZsZuVzZ2KlCg=;
        b=V6H+v4qJVJ9oP5u2Z/TClafiRRJn3eIkANuNCDJ5RjNt+iLNO2xc6FCXWDc1qEJOhr
         DBHnDGhrNdeiyPEsY8UkqD9nSc7kPx2p12gD1xy+stowNF14nRRLLgxwiLcXGNGTkJqQ
         TxIAezazWvD9M/+vwW/BGd0pW8R7WiOfrGV1A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712850802; x=1713455602;
        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=RRN4wyQVKK8sx/p5OaCggnAVPVY2eawZsZuVzZ2KlCg=;
        b=h651CrNaMi2+0kqUGO+RXYAEMxvcfVuBI1LS8/cuVwnH9z8HNvT5drHOeQzMiVbchV
         zkye56Y1eprgt4rPfen8Jybn0dhmrgEAdaIj+0WbLkb5gQ+xq68H1brW9eE86z6GWRUW
         3hISPpAUoQ5Z8tIkRD4yLwGu1ppCko+Fp2R3afyzUItY9srmfk26Vnm1jmGyQkyO4AXg
         9AhGr0dCSSyjbIHnAIw7HOjwfKIw9lIa0MyvBE2DwSqT1s5AW08A5MKVj80Ck+6P8gQy
         dQb5mVOwZJBVn7uyDP6/n1eFpIlyAbmb5cSjf9x1erXBG+6PasIQu2ic/FAuAhdefv82
         QNRg==
X-Gm-Message-State: AOJu0YzxlhggOWOhaYz9oKtgvDcLAdHuZ4QYi/XQS8YYFY4cE76pTfHH
	Is2abTwOEfpIoaMxsPQGWS7iG/HxXnGmA2WtipfaBfA54VoaU5009uXuXwMd9haViXcvRAyqV90
	J
X-Google-Smtp-Source: AGHT+IHzC7kWDx1kLumqb1s4U8lf3wUnnSRI5UUmJQKzT2d15wfPZW8XcZBHfnAv9epFFCrStISumg==
X-Received: by 2002:a05:620a:4691:b0:78d:67aa:9d66 with SMTP id bq17-20020a05620a469100b0078d67aa9d66mr53749qkb.15.1712850802389;
        Thu, 11 Apr 2024 08:53:22 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] altcall: fix __alt_call_maybe_initdata so it's safe for livepatch
Date: Thu, 11 Apr 2024 17:53:14 +0200
Message-ID: <20240411155314.73811-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Setting alternative call variables as __init is not safe for use with
livepatch, as livepatches can rightfully introduce new alternative calls to
structures marked as __alt_call_maybe_initdata (possibly just indirectly due to
replacing existing functions that use those).  Attempting to resolve those
alternative calls then results in page faults as the variable that holds the
function pointer address has been freed.

When livepatch is supported use the __ro_after_init attribute instead of
__initdata for __alt_call_maybe_initdata.

Fixes: f26bb285949b ('xen: Implement xen/alternative-call.h for use in common code')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/include/xen/alternative-call.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/include/xen/alternative-call.h b/xen/include/xen/alternative-call.h
index 5c6b9a562b92..1896063e5da5 100644
--- a/xen/include/xen/alternative-call.h
+++ b/xen/include/xen/alternative-call.h
@@ -50,7 +50,12 @@
 
 #include <asm/alternative.h>
 
-#define __alt_call_maybe_initdata __initdata
+#ifndef CONFIG_LIVEPATCH
+# define __alt_call_maybe_initdata __initdata
+#else
+/* Must keep for livepatches to resolve alternative calls against them. */
+# define __alt_call_maybe_initdata __ro_after_init
+#endif
 
 #else
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 15:59:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 15:59:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704058.1100170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwpY-0004P2-Tc; Thu, 11 Apr 2024 15:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704058.1100170; Thu, 11 Apr 2024 15:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwpY-0004Ov-Pg; Thu, 11 Apr 2024 15:59:16 +0000
Received: by outflank-mailman (input) for mailman id 704058;
 Thu, 11 Apr 2024 15:59:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SAdS=LQ=solinno.co.uk=leigh@srs-se1.protection.inumbo.net>)
 id 1ruwpX-0004Op-EZ
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 15:59:16 +0000
Received: from doppler.solinno.uk (doppler.solinno.uk [81.2.106.178])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 710e1d95-f81c-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 17:59:13 +0200 (CEST)
Received: from mail.solinno.uk (localhost [127.0.0.1])
 by doppler.solinno.uk (Postfix) with ESMTP id 0DF6B80069;
 Thu, 11 Apr 2024 16:59:13 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 710e1d95-f81c-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk;
	s=mail; t=1712851153;
	bh=No9lKz09vbqU86I7NL6L8ctqyWnNh2GJNxd3fhnfEiM=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=27wvxXImElR8NWLblKR2+PVwAeprbciQTutyRYD1C1+IzXt2twW1QK0ASVFsHS/lQ
	 gPXox3ulcmsk2L3H/ACCaA+bqmxWySnpqQVve2/5qw9YIQ90jxONjTbQmOnq5z52rM
	 drUVdwdzuQ6cDQXi1Z3hYX5+Wa5Rp+gAWBx0jOsc=
MIME-Version: 1.0
Date: Thu, 11 Apr 2024 16:59:13 +0100
From: Leigh Brown <leigh@solinno.co.uk>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, anthony.perard@citrix.com,
 slack@rabbit.lu
Subject: Re: [PATCH v2 2/6] tools/misc: rework xenwatchdogd signal handling
In-Reply-To: <66ef2d24-0c4f-4d35-89c3-04ffd870cc91@citrix.com>
References: <20240329111056.6118-1-leigh@solinno.co.uk>
 <20240329111056.6118-3-leigh@solinno.co.uk>
 <66ef2d24-0c4f-4d35-89c3-04ffd870cc91@citrix.com>
Message-ID: <33fe9429ac89099686025185a964ce83@solinno.co.uk>
X-Sender: leigh@solinno.co.uk
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrew,

On 2024-04-11 13:12, Andrew Cooper wrote:
> On 29/03/2024 11:10 am, leigh@solinno.co.uk wrote:
>> diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
>> index 2f7c822d61..35a0df655a 100644
>> --- a/tools/misc/xenwatchdogd.c
>> +++ b/tools/misc/xenwatchdogd.c
>> @@ -9,9 +9,11 @@
>>  #include <unistd.h>
>>  #include <signal.h>
>>  #include <stdio.h>
>> +#include <stdbool.h>
>> 
>>  xc_interface *h;
>> -int id = 0;
>> +static bool safeexit = false;
>> +static bool done = false;
> 
> It's a common bug, but these need to be volatile.  Right now, ...

I'm an idiot (I'm sure I've mentioned this a couple of times :-) )

>> @@ -90,10 +90,14 @@ int main(int argc, char **argv)
>>      if (id <= 0)
>>          err(EXIT_FAILURE, "xc_watchdog setup");
>> 
>> -    for (;;) {
>> +    while (!done) {
>>          sleep(s);
> 
> ... the only reason this isn't an infinite loop is because the compiler
> can't prove that sleep() doesn't modify the variable.  This goes wrong
> in subtle and fun ways when using LTO.
> 
> I'll fix on commit.
> 
> For the record, I've taken 1-3 which are ready.  You'll need to rework 
> 4
> and later per Anthony's feedback.
> 
> ~Andrew

Thanks, I will get those done this evening, hopefully.

Regards,

Leigh.


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 16:01:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 16:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704062.1100179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwrq-0006Lj-8J; Thu, 11 Apr 2024 16:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704062.1100179; Thu, 11 Apr 2024 16: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 1ruwrq-0006Lc-58; Thu, 11 Apr 2024 16:01:38 +0000
Received: by outflank-mailman (input) for mailman id 704062;
 Thu, 11 Apr 2024 16:01: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=RFZQ=LQ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ruwrp-0006LW-Kx
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 16:01:37 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2077.outbound.protection.outlook.com [40.107.13.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c65ce536-f81c-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 18:01:36 +0200 (CEST)
Received: from AM6P193CA0080.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:88::21)
 by VI1PR08MB10031.eurprd08.prod.outlook.com (2603:10a6:800:1cd::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 11 Apr
 2024 16:01:06 +0000
Received: from AMS0EPF00000192.eurprd05.prod.outlook.com
 (2603:10a6:209:88:cafe::ba) by AM6P193CA0080.outlook.office365.com
 (2603:10a6:209:88::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Thu, 11 Apr 2024 16:01:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000192.mail.protection.outlook.com (10.167.16.218) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Thu, 11 Apr 2024 16:01:05 +0000
Received: ("Tessian outbound 7b505d68bb66:v300");
 Thu, 11 Apr 2024 16:01:05 +0000
Received: from ed2233b66f89.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 63F95F52-3AFB-45C3-BD82-6284675F123D.1; 
 Thu, 11 Apr 2024 16:00:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ed2233b66f89.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Apr 2024 16:00:58 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB6613.eurprd08.prod.outlook.com (2603:10a6:20b:339::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 11 Apr
 2024 16:00:56 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Thu, 11 Apr 2024
 16:00:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c65ce536-f81c-11ee-b908-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=L+kHMwnbTUTOa+20YuAEjV2M1hLY3I4Etg571trtUtooDpeqbkfHtYH4H+M1eRo59CNgShEIOymtQU6cAv4iWFx9tyqM2i3H8hVtk+agvwvXSNc9DYUZTFV38SD0+48Gc3beSGBS2NBEdiMDp3oEoUf5kkPmUuZxz7Ii114QqXqGRssKIdlkGhMjrUgghxvmEb1Tjw64MgbhTqasZHyZX/SteG3ICWNjMDq8e54Kqm2vQIiK/aqYwP4bomWw4S99XJ+fa/JwnnRU5749MNOAAdcxZckfmjKHzb95vhtrN12d9c55mEDyoIoT0lC4YHUMjhlmG3o+mQbO/HDna8EoqQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EtFg4TLnwdiEGcWJIAYygZEjvYZ9om1IFUDvILgfdMw=;
 b=QZHW4FXjGoiwruAcbVxagbMDqRSUUhiZ9g2nKwZYKiSLNJcsbnvW29SZOuRqVYcOprKPQYcW4ijfJsDbJZfoUl3Dw+XDriKjGouV/0kniktOzueAap5HyVobzbGbNZegivT0Gff47PmQr3lbJ/+WIXSqm7pKUsCLibr3UQJjKPh2YKvH2Cba0eG57mhYa5VCz/AemICbpREbFPzIx2z+zK7iY3T3WPfLcQT/LxP87E16RQ1MQ5T5Yg/xr06Jl3VALx0RZKXoxCdY+7p/SPl41b2pPIkOZ9cYdf/NZKi5jArg1ksX9aWKKdZwIrw94oHO8557k4nU1haRYv+vL5jSTA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EtFg4TLnwdiEGcWJIAYygZEjvYZ9om1IFUDvILgfdMw=;
 b=O38tEIIRq8SNsJ7mz8ZNWi63gJpck1laO3HPvrvSllYU1sccU4V837Nf40/TiVQDdma2kfXgBkdTcKzSI7GRrtTQSxWaSXjZ4+CrvonRVlMv70L44QLAw35N5yx5U2w/JbE6IYKIj2xDKUzF1s0VXoDBBuS45nZnH9aJcr9os8Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: a0a9dba7193662cf
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MOsVn+XsQdeM6rEl5L/gzGqbTR8Bri0g2qLet8GAgY/YSzIe+Xmp51hHM0fOMM7Fad6Zx4WBjEjii9eEsA3gXa2CZZ3e21WjXR5BQ6UVg1ywgCtQCXGoC0RA7j4TsWQbuBGaQcHttNQD2CIKKGoeO6nlnsGIZ8o6GIWes03JT1rKepI+xDFkayD+2oP963SKReAChMplHDrf79Jbq2vBIdbixvfMp2+SvDyy214hB27LTlXoaq7KVDYbwpR9mPjGYjezSg0hR+qlY6QYys1OkljV5FAVpWRPpsVddOrSUZvCelGLtFXTalraaltxVvHj8rxz4DS+JL6IQZicN8OSUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EtFg4TLnwdiEGcWJIAYygZEjvYZ9om1IFUDvILgfdMw=;
 b=lG1JxNarCbMGGmobmkXdLMYZnO0xyK+HT+gCamim+qyB3Q1+Rx5oIW9LzyOIEPFKf7b2MnnMyF/htJPDAVGvV9xWKgCr3eazzKurI0YOvYe7fb8j0+19DuDjxDwplTb80hKUsNABNfbHQ/4mG+X9oX7ZbOmjH1GNVP61qrvFaWskk79VWAUiWBL6aUpLUzCkppC02ltCkyBquCKKlPK0VsL5/aOZDHQIAVYioMY116xWAd8A4nVDSS6v/yU1cOswe0C3AT27tVgCwS5zVQO132JDuNtYVOUhkPKGXw4rNa6LfUqLm1BZSsF+GrsSo9A8nzfZrDn4AkKJ5LUQWqwVNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EtFg4TLnwdiEGcWJIAYygZEjvYZ9om1IFUDvILgfdMw=;
 b=O38tEIIRq8SNsJ7mz8ZNWi63gJpck1laO3HPvrvSllYU1sccU4V837Nf40/TiVQDdma2kfXgBkdTcKzSI7GRrtTQSxWaSXjZ4+CrvonRVlMv70L44QLAw35N5yx5U2w/JbE6IYKIj2xDKUzF1s0VXoDBBuS45nZnH9aJcr9os8Q=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jason Andryuk
	<jason.andryuk@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/5] gzip: colocate gunzip code files
Thread-Topic: [PATCH 1/5] gzip: colocate gunzip code files
Thread-Index: AQHajCSYwHdHlHteY0Sfgy/E9d+Go7FjOomA
Date: Thu, 11 Apr 2024 16:00:55 +0000
Message-ID: <AA1FBA57-A643-4758-B99A-B59181B6329A@arm.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-2-dpsmith@apertussolutions.com>
In-Reply-To: <20240411152518.2995-2-dpsmith@apertussolutions.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB6613:EE_|AMS0EPF00000192:EE_|VI1PR08MB10031:EE_
X-MS-Office365-Filtering-Correlation-Id: fd949b3c-8215-4d6c-c3d4-08dc5a40983c
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 wTRPawFamVZSH+SVnbRjKSh7VEpIyqOUGDSImfmcvcaechMmJMMZfrl9SOV1l92PDdyyh+VY0QON1z9/dNKqMouNxZAADKhE4zudPNgocn9Zh07FDe+4OeHxHGWcYcCXbeyPBN7DASyg6lTTJR5B4JUmB2RyQJ6d/wjqH2p3XHY4h/SFJJFgUVW1jnyxsiL2iZjaxFjJalZWxvz2eLlDHu0lMm7BnaQx1Ep4kvDAFj7fAf1Z1lM2l0F3wN9XPI60s6juzwsMUX8jovd2OCFF57hCly+o71IYM1l5PrtTdOdUbGkKggY4sx7ZpvF2KEFKeSEHVQJoW6JLE9TzYED8pVt3gjCba1IXeTXSMbPnVdg/KekY9MZ0lVuZTH6sPQRh68ck4/75dM7Oi+yqdh9g+PLPJXzT/gcEObAm/aQmRbxiFjRVVLldNHyH4mQvgLo9L58rbTxjxV79SPeI50wn5DuJw62SA5tXWsZN9WXFbSm51H1+UwHbkh345Kn9hl6ql5aXWkyru6MXWE9zmhhXYr8k9jL72xu45jX5MgW+c8vtkGdS4jUByfRqItCp1MsWC/Xs0ztG2PqKLLQph8fcdgMvG3sL7svg81dCllpEOT3+sZDw22jdNsVNw8AU3dYfy9A8pYsX4AKLJ7W032OdmK0K+WOvX0eL+1gaGO3+b+cxX5LwrhEoz/eNF5qXFVVKKktnCf+x7jgScOiZRvYLAg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <BA1CAC30DF213441A59E1A287A538342@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6613
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF00000192.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	272cd284-13e9-48b2-5fcc-08dc5a40923f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I/FHk0hDZKD9wXbph4DcB5Grq8Lii2EW5gD+oJzgXiAfcm670mCuKbgzSCm1BwGlXgXr7wYAu5H4sTuP6A+F6+BSycLJ2qmJ7nV4yHbiY9cmHx7iq0zXpNGmp4hwBu6Y87Ke5hrRIFAsOsS5B67eYQ70dNPiyAheVY4lRlfmY5weOcAcSJ27syd6ADpkUWU8QC1yXj2nJ8jCRmWQfca98iNWW5jxW2W91m1j0RWR0raV0hE1cn6JzC0/QTbLLvSardZYMaYowwIZr0ga6aZQH/DgF850YrNnvBIwOd10dgVYdQ9qWt7zga9ibMHyrU9M3oM5m3nCQWUhROpXV3LIhyByBUO6eQFIM3Bd68ojtSwcxc0kZXVsYTmMSxzQzQLtpEqHn5eilF/b6Z6CpVv33mqdyZ1AuPtTFdcpk/70BHvWuJQQNmNm6MPkg9YO2xka86visvhxEDq5tB8a972kLiyyX/Llpcgc05p82BDghFoK+H4SlHUnn3NHgResAZcBOA+QWjxTujCtlbYmS2gNM5xAdqTdoDFF76vj8wpTcA0Qoc54OzcO5kiqlo0ccba/htgfnyhU0P1+Qw6kQKiUrebFkBmfJeIlYxqTht91DQ9BwUqjXvw1aCAaPsbmJr0dJFJHrSgkBtnmP1yd8FtTS81ph6scqmXH2WRTvLi57bxiiduRKTUBFIXOClFIjQA6oeWp92xzaRPFZEAfEK6nIkq4kY+Fe3Lmtz2xZ1BLZp7flV/5+1kNVQ+lTk3pnr/a
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 16:01:05.7824
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fd949b3c-8215-4d6c-c3d4-08dc5a40983c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF00000192.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10031



> On 11 Apr 2024, at 16:25, Daniel P. Smith <dpsmith@apertussolutions.com> =
wrote:
>=20
> This patch moves the gunzip code files to common/gzip. Makefiles are adju=
sted
> accordingly.
>=20
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
> xen/common/Makefile             | 2 +-
> xen/common/gzip/Makefile        | 1 +
> xen/common/{ =3D> gzip}/gunzip.c  | 0
> xen/common/{ =3D> gzip}/inflate.c | 0
> 4 files changed, 2 insertions(+), 1 deletion(-)
> create mode 100644 xen/common/gzip/Makefile
> rename xen/common/{ =3D> gzip}/gunzip.c (100%)
> rename xen/common/{ =3D> gzip}/inflate.c (100%)

For inflate.c you will need to update also docs/misra/exclude-list.json




From xen-devel-bounces@lists.xenproject.org Thu Apr 11 16:09:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 16:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704068.1100189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwz5-0007QA-2L; Thu, 11 Apr 2024 16:09:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704068.1100189; Thu, 11 Apr 2024 16:09:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruwz4-0007Q3-W9; Thu, 11 Apr 2024 16:09:06 +0000
Received: by outflank-mailman (input) for mailman id 704068;
 Thu, 11 Apr 2024 16:09:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Poi8=LQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ruwz3-0007Px-Pp
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 16:09:05 +0000
Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com
 [2607:f8b0:4864:20::f29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0fd20ae-f81d-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 18:09:04 +0200 (CEST)
Received: by mail-qv1-xf29.google.com with SMTP id
 6a1803df08f44-6962e6fbf60so320596d6.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 09:09:04 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 k10-20020ad4450a000000b0069b4e14fc28sm762332qvu.9.2024.04.11.09.09.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 09: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: d0fd20ae-f81d-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712851743; x=1713456543; 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=cI7sdKD5FmgcXnDnQmTGZKEG+ARXSt1G7DPgTc+R7UM=;
        b=TH4vGKQ6P0J82vRZdz0e4QzQ3ImDkv6DerwEqvnQT0ox/DplbMx0kgbf3MCZRCNn3l
         yTuOokbuXJPhzL56QwhKmYRebeHGEEkMU3dbu2r3oHTumYwzjIwBuD1HNHm+AHEL8Zme
         WEyUdWlPRQrdOCvFRPmuyBYxJo08XD/B6mtHc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712851743; x=1713456543;
        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=cI7sdKD5FmgcXnDnQmTGZKEG+ARXSt1G7DPgTc+R7UM=;
        b=qhnDXNQNRpLZjJ6mrAVRJkvW7vxTVIL6R/rikTXXuWomE2sQ2xj37Dzt0omNoLDEBv
         2rC2b8S8u2+DvDGyum3JpBux1THM6HNhRh8FRuXzStoG9UzpGD0j7OJBp+uSU68vycFw
         my4gI9cY/JW5qoNGC27hape6iIMle/T7wBLNCDEAuA/yfFmA8r9Od+9pS2542qK680y2
         nVAaMKUCSeuwhr9NTrAlUnqr0hC6EsRm8DMNnX0DIz1nMpWkdyJdO6NM1WOqB3F6Q1u3
         XdBlO4eJ8MtXJK/b1AfZWqPkb1rz1NMQ8JtIcoZZVriRWeiIie9L+PSfAb54wz78LbBc
         qQuA==
X-Gm-Message-State: AOJu0YwvB98J2/iqjDl6o3CfTM5eAFf2edCM7Nxjj1NUEbCy403ZzVVb
	tJWqv/+kQlZWAo+Vl6QowxaPoPR4lAVVjJqFZSMplOOfRCin+jBUI62wbJXeXrYTQojlULIMzMd
	k
X-Google-Smtp-Source: AGHT+IE4cdrpQOpDfzPn5BM4uSDMQNn+4mp5YvbUITbTr1Ccho8ku83P57Xl7dqLO6gYu7ogcteayg==
X-Received: by 2002:a05:6214:5097:b0:69b:4dac:19e9 with SMTP id kk23-20020a056214509700b0069b4dac19e9mr198551qvb.33.1712851742946;
        Thu, 11 Apr 2024 09:09: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>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2] altcall: fix __alt_call_maybe_initdata so it's safe for livepatch
Date: Thu, 11 Apr 2024 18:08:38 +0200
Message-ID: <20240411160838.73965-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Setting alternative call variables as __init is not safe for use with
livepatch, as livepatches can rightfully introduce new alternative calls to
structures marked as __alt_call_maybe_initdata (possibly just indirectly due to
replacing existing functions that use those).  Attempting to resolve those
alternative calls then results in page faults as the variable that holds the
function pointer address has been freed.

When livepatch is supported use the __ro_after_init attribute instead of
__initdata for __alt_call_maybe_initdata.

Fixes: f26bb285949b ('xen: Implement xen/alternative-call.h for use in common code')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Use #ifdef instead of #ifndef.
---
 xen/include/xen/alternative-call.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xen/include/xen/alternative-call.h b/xen/include/xen/alternative-call.h
index 5c6b9a562b92..10f7d7637e1e 100644
--- a/xen/include/xen/alternative-call.h
+++ b/xen/include/xen/alternative-call.h
@@ -50,7 +50,12 @@
 
 #include <asm/alternative.h>
 
-#define __alt_call_maybe_initdata __initdata
+#ifdef CONFIG_LIVEPATCH
+/* Must keep for livepatches to resolve alternative calls. */
+# define __alt_call_maybe_initdata __ro_after_init
+#else
+# define __alt_call_maybe_initdata __initdata
+#endif
 
 #else
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 17:49:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 17:49:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704084.1100216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruyYJ-0003pp-9P; Thu, 11 Apr 2024 17:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704084.1100216; Thu, 11 Apr 2024 17: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 1ruyYJ-0003pi-6d; Thu, 11 Apr 2024 17:49:35 +0000
Received: by outflank-mailman (input) for mailman id 704084;
 Thu, 11 Apr 2024 17:49:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=czEU=LQ=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1ruyYH-0003p8-8w
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 17:49:34 +0000
Received: from out-188.mta1.migadu.com (out-188.mta1.migadu.com
 [2001:41d0:203:375::bc])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d93292e1-f82b-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 19:49:31 +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: d93292e1-f82b-11ee-94a3-07e782e9044d
Date: Thu, 11 Apr 2024 13:49:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1712857769;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=V/TZdE1FK3O4qkESTbUB1nUL6z8CdzrLZmjris90VHw=;
	b=aI/Km0jiSMVL4A1tCs8hlsrV66vbuWxJKZ+EgkonCW2LmuJAGBaIivtgu4+3HhSKhbSBh3
	uS3+3l/YqK0GsHToDiJSOy8jQgouByPKNokiyLYxRwngjkex1lryU/nDL4TDH7+GmcHLtc
	35AcbG0Y+MpEd8VLadpzkGxeP5lZ1Bo=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: axboe@kernel.dk, roger.pau@citrix.com, colyli@suse.de, 
	kent.overstreet@gmail.com, joern@lazybastard.org, miquel.raynal@bootlin.com, richard@nod.at, 
	vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com, 
	gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com, 
	martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com, dsterba@suse.com, 
	viro@zeniv.linux.org.uk, brauner@kernel.org, nico@fluxnic.net, xiang@kernel.org, 
	chao@kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca, jack@suse.com, 
	konishi.ryusuke@gmail.com, willy@infradead.org, akpm@linux-foundation.org, hare@suse.de, 
	p.raghav@samsung.com, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org, 
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org, 
	linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org, 
	linux-ext4@vger.kernel.org, linux-nilfs@vger.kernel.org, yukuai3@huawei.com, 
	yi.zhang@huawei.com, yangerkun@huawei.com
Subject: Re: [PATCH RFC v3 for-6.8/block 07/17] bcachefs: remove dead
 function bdev_sectors()
Message-ID: <2pat6ombemqnq5wjl6eb4lbip2pfgg5tkubmbwqphvcvpdc6cu@poiexziaa2q4>
References: <20231221085712.1766333-1-yukuai1@huaweicloud.com>
 <20231221085712.1766333-8-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231221085712.1766333-8-yukuai1@huaweicloud.com>
X-Migadu-Flow: FLOW_OUT

On Thu, Dec 21, 2023 at 04:57:02PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> bdev_sectors() is not used hence remove it.
> 
> Signed-off-by: Yu Kuai <yukuai3@huawei.com>

Acked-by: Kent Overstreet <kent.overstreet@linux.dev>

> ---
>  fs/bcachefs/util.h | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
> index 2984b57b2958..22a0acc1704f 100644
> --- a/fs/bcachefs/util.h
> +++ b/fs/bcachefs/util.h
> @@ -516,11 +516,6 @@ static inline unsigned fract_exp_two(unsigned x, unsigned fract_bits)
>  void bch2_bio_map(struct bio *bio, void *base, size_t);
>  int bch2_bio_alloc_pages(struct bio *, size_t, gfp_t);
>  
> -static inline sector_t bdev_sectors(struct block_device *bdev)
> -{
> -	return bdev->bd_inode->i_size >> 9;
> -}
> -
>  #define closure_bio_submit(bio, cl)					\
>  do {									\
>  	closure_get(cl);						\
> -- 
> 2.39.2
> 


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 17:49:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 17:49:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704083.1100206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruyYE-0003b3-3E; Thu, 11 Apr 2024 17:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704083.1100206; Thu, 11 Apr 2024 17:49:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruyYD-0003aw-Va; Thu, 11 Apr 2024 17:49:29 +0000
Received: by outflank-mailman (input) for mailman id 704083;
 Thu, 11 Apr 2024 17:49:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruyYC-0003aq-Bc
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 17:49:28 +0000
Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com
 [2607:f8b0:4864:20::735])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d63dc460-f82b-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 19:49:26 +0200 (CEST)
Received: by mail-qk1-x735.google.com with SMTP id
 af79cd13be357-78d62c1e82bso3728985a.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 10:49:26 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 p1-20020a05620a22e100b0078d752367e9sm1291743qki.79.2024.04.11.10.49.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 10:49: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: d63dc460-f82b-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712857765; x=1713462565; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mXDG10GpIPW1GoWbpr6dK2JLSUgbgy/rn1mPh1KSgSI=;
        b=JltQogqL7P7CPAuC58Ux4yS3HRZcdJU8Mq0sxn2vS56ctGZATNH5MmLwGW+ShUCdoL
         iOsxHDrixgFFkI+m6NYns8Sd8DYCYKgsJ/x6SONROqGNwTUfwxeUW8vbJsCwOatMB9eI
         gg4bHedvojoIai7KkjfMJC/ZIWFtLNHfDbQ5Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712857765; x=1713462565;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mXDG10GpIPW1GoWbpr6dK2JLSUgbgy/rn1mPh1KSgSI=;
        b=ZFowZofewHThMuykTvB/bg4AgrC+f5P9/aEmMz50DZY9TfrBwRj45wBX2vduFit22e
         iWte0vpqN4qprqC5zpTFh84ZHeCyLEJRo7h1PJXubcImrtUfRVGpqFYzzv+QfvYs9B4S
         ddNOqV2WPzIPNL9BW6mEXoACRV5qHYr6MrDjlnY/aW4Ou6EcGRKmBNgTzU7cR2NaH4br
         5kplQhMk3BG9a4bUdMcUo29jFYKK+Lw1Ye79XXKkxxcwyX26dHfF+ZmDSMP+Qbn4FMip
         CUlKbwzGSCix2PjtsH2FR3hivAxxyBUOLDNNDzpzLXvgEtW8tLFr+VIGNoudaStonIpK
         WXyA==
X-Forwarded-Encrypted: i=1; AJvYcCXlyX8xh0Zd5fmcb0sYK6QRYCeM8wMs24LTwFYltcQLA05ZR/tF6iEgTm2priqB8ZyF6w6CztRf7T6VxBiP5QUW6F8c56TPf21cdK1ef0Q=
X-Gm-Message-State: AOJu0YwYzy4/3g3NFSDPYrDxl52Pqjq1ylIo30zkztlB1I2zEUOBWW1n
	P12IoizueVUY+wrT7+K4qiLFI5+k5yuWng1KpAOtV/JhA9oRSA23dbVmKwMu4bc=
X-Google-Smtp-Source: AGHT+IHry9MKk6g2pHDlrtURwhODVws9w7nlq4WpCa6OdpMSI4yhO9N2wsISVIG/RXfG0PXKIioRzw==
X-Received: by 2002:a05:620a:1720:b0:78d:70d8:5e2f with SMTP id az32-20020a05620a172000b0078d70d85e2fmr502624qkb.7.1712857765219;
        Thu, 11 Apr 2024 10:49:25 -0700 (PDT)
Message-ID: <e69b5b62-f4a1-4adc-8ed8-4e850ff48563@citrix.com>
Date: Thu, 11 Apr 2024 18:49:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] altcall: fix __alt_call_maybe_initdata so it's safe
 for livepatch
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240411160838.73965-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: <20240411160838.73965-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/04/2024 5:08 pm, Roger Pau Monne wrote:
> Setting alternative call variables as __init is not safe for use with
> livepatch, as livepatches can rightfully introduce new alternative calls to
> structures marked as __alt_call_maybe_initdata (possibly just indirectly due to
> replacing existing functions that use those).  Attempting to resolve those
> alternative calls then results in page faults as the variable that holds the
> function pointer address has been freed.
>
> When livepatch is supported use the __ro_after_init attribute instead of
> __initdata for __alt_call_maybe_initdata.
>
> Fixes: f26bb285949b ('xen: Implement xen/alternative-call.h for use in common code')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

I really did screw up livepatching with the indirect-branch reduction
work, didn't I...

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 17:50:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 17:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704089.1100226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruyZV-0005Qs-Ke; Thu, 11 Apr 2024 17:50:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704089.1100226; Thu, 11 Apr 2024 17:50:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruyZV-0005Ql-HG; Thu, 11 Apr 2024 17:50:49 +0000
Received: by outflank-mailman (input) for mailman id 704089;
 Thu, 11 Apr 2024 17:50:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruyZU-0005QZ-Ow; Thu, 11 Apr 2024 17:50:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruyZU-00016R-Ly; Thu, 11 Apr 2024 17:50:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruyZU-0001n8-9Y; Thu, 11 Apr 2024 17:50:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruyZU-000130-93; Thu, 11 Apr 2024 17:50:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IyF+8O6WevKtQU4eN07dvV72UDo3EUAKgteWQEqsUHw=; b=6dy+yn5SahXvFTt/F2OVXlkKjx
	GTw9CgSf/yfpZI6p3Uctq+5A8uCipsAZnkDc3S6WAO55ZdzFWvPVIHRKMTsr+PveXOan+CT++7w6w
	rwpqtVAzLFd5U61kG2gSLJ7WUfcZaGSzDstddSEz5fxkl8rJW83SFvjwOd7NLd5k0xz8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185297-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185297: regressions - FAIL
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    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-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-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-qemuu-debianhvm-amd64-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-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing: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-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-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=4b33780de790bd438dd7cbb6143b410d94f0f049
X-Osstest-Versions-That:
    xen=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 17:50:48 +0000

flight 185297 xen-4.16-testing real [real]
flight 185316 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185297/
http://logs.test-lab.xenproject.org/osstest/logs/185316/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185283
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 185283

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

Last test of basis   185283  2024-04-09 12:06:57 Z    2 days
Testing same since   185297  2024-04-10 10:03:29 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 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                                      fail    
 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 Thu Apr 11 18:03:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:03:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704106.1100255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruylI-0008KS-US; Thu, 11 Apr 2024 18:03:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704106.1100255; Thu, 11 Apr 2024 18:03:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruylI-0008KL-Qu; Thu, 11 Apr 2024 18:03:00 +0000
Received: by outflank-mailman (input) for mailman id 704106;
 Thu, 11 Apr 2024 18:02: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 1ruylH-0008KB-Mu; Thu, 11 Apr 2024 18:02: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 1ruylH-0001PR-Lr; Thu, 11 Apr 2024 18:02: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 1ruylH-0003NR-Ag; Thu, 11 Apr 2024 18:02:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruylH-00006p-AH; Thu, 11 Apr 2024 18:02: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=PxPZIugXhnxa33HGOkwi7g3m6wF+MvJKnye66vzmmgk=; b=ol/4LbdfidFdx1PisXw9+jOd0W
	1kiCvhbTLpnmFD20pYhbupNpafXcHSvf+CYmKDD7IZuFUuuLahmvJBomXGZI91/t1jDTQXSP5T0gw
	v54fJgQHcvOQO4KCYyFEbFLATL595rZqRTXduPEpZceg13HrtkVJcU8pez4b8CRibsHs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185317-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185317: 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=6cb501e3e6db36b1b4b6345f5af8adc0a291b404
X-Osstest-Versions-That:
    xen=0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 18:02:59 +0000

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

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                  6cb501e3e6db36b1b4b6345f5af8adc0a291b404
baseline version:
 xen                  0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9

Last test of basis   185302  2024-04-10 18:00:25 Z    1 days
Testing same since   185317  2024-04-11 14:00:34 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>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0e7ea8ca5f..6cb501e3e6  6cb501e3e6db36b1b4b6345f5af8adc0a291b404 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:16:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:16:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704114.1100268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruyy6-0002U8-W8; Thu, 11 Apr 2024 18:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704114.1100268; Thu, 11 Apr 2024 18: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 1ruyy6-0002U1-Sx; Thu, 11 Apr 2024 18:16:14 +0000
Received: by outflank-mailman (input) for mailman id 704114;
 Thu, 11 Apr 2024 18:16: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=o0DN=LQ=gmail.com=brgerst@srs-se1.protection.inumbo.net>)
 id 1ruyy6-0002Tv-IC
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:16:14 +0000
Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com
 [2001:4860:4864:20::2c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9389538d-f82f-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 20:16:12 +0200 (CEST)
Received: by mail-oa1-x2c.google.com with SMTP id
 586e51a60fabf-22f078f1aecso91991fac.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 11:16: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: 9389538d-f82f-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712859371; x=1713464171; 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=TDS6c2ghnYUkSwWbtZftPqPTODtRchsS8qiLJfzkVWw=;
        b=Mo7DP6ybN2AY7eiX1z0dsw4LN+hBFxbcPyMzHtwGMmUz8pwpQVe3n30D70UMJXQbQj
         DnutIItVKwHX0uoEkUpbNJ0ptlH51zr0odEhPnt3TQioHPlBlKIuM5iLfk2QFmfMzg4a
         /ycldeN21JKNM+c4pHg8nr9NQ4JvHn5iFcZDfA5QYZEHPYUq3CGywxyAyP2m7yeaec2y
         B3QSpNSDVw8+amuZof+27snPHCLNLfTo3QSKdtZZoDZGrnysTs+jKnvcn0Jjtqw2VMKP
         ziDA8ZPrPVoaZZ2mX8/if/ORMjHLmiuItPJhFlKegIxVW5wiHhTSTAqIPMqkWybFS3vl
         zfrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712859371; x=1713464171;
        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=TDS6c2ghnYUkSwWbtZftPqPTODtRchsS8qiLJfzkVWw=;
        b=qatqBZRRi/XQ0g4y3HyqUfCTHnlk5iSvZfT/7TE5sz121TpzRK3o7apuUNq2XoVow7
         oTujcek1oZem1p9ZjImoxRorpBr7bnMDL1CCW9fJ26GHWw+FwBJbz9vAbt+Pc9z/4wBU
         vQsbSCSLc2NI8LhTIznx6yrkm5/EqOyg2rjdi+MRM1Srq9yRdTy5TZOGlFAyt/H1P8st
         VqlJfD3fRtw+79Le7eN74gcow7StkjgmX23b9FrqRPw6CPwFh8qOlt/3gIk8GqOhAPlE
         cFH6JHgejMPFSoiIYXh24mbMqWYzzPMHYvTZnnsULiT2wC9sAsY3DrgXgBZOeREFfex1
         gm+A==
X-Forwarded-Encrypted: i=1; AJvYcCXuLoljCHsuVjZrQF1Bfg/7xDQiRHkM2yV1Yz2CRcE8d8eUg4c+GZCOHNS7TwTJsuBmsfJ5tSI3QIJeXvE2HrLxVWGlj3I9UkULqDzSwIM=
X-Gm-Message-State: AOJu0YybtyaiztAJXu9HThcjucoNDFMi7O0nXa0pE80lAzYjDZA0rusV
	6kesMvgUMstQrltk40X6EjQtolRb8710n/58xZE9cMLdW88fHqlBbTYNB/Q2sfUNnM+ZkFytas3
	w9UxMWOXQ2WLE8vbHQxnivO3aPg==
X-Google-Smtp-Source: AGHT+IF2hVKasS43gNxPvK3Yxqe3GnEmv7WnsgCokhD0KHgBvCacyvI7d2RHHBMtMHdJooKADEYd0Vu236vMpiguadg=
X-Received: by 2002:a05:6871:8795:b0:22a:dc7:7d64 with SMTP id
 td21-20020a056871879500b0022a0dc77d64mr267337oab.10.1712859371153; Thu, 11
 Apr 2024 11:16:11 -0700 (PDT)
MIME-Version: 1.0
References: <20240410194850.39994-1-jason.andryuk@amd.com> <20240410194850.39994-3-jason.andryuk@amd.com>
 <CAMzpN2h6S69bOLXCUhmkVJErvoKxq-wPmfoaqR7eGHYLgirn+Q@mail.gmail.com> <74465ac2-0060-4047-97d7-acadcdff4cd4@amd.com>
In-Reply-To: <74465ac2-0060-4047-97d7-acadcdff4cd4@amd.com>
From: Brian Gerst <brgerst@gmail.com>
Date: Thu, 11 Apr 2024 14:15:58 -0400
Message-ID: <CAMzpN2iCYXuQXXHmg9qevJXDuzvxDF9L=Vw+w2ZAaPk6vZZFDQ@mail.gmail.com>
Subject: Re: [PATCH 2/5] x86/pvh: Make PVH entrypoint PIC for x86-64
To: Jason Andryuk <jason.andryuk@amd.com>
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>, 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>, 
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 11, 2024 at 11:26=E2=80=AFAM Jason Andryuk <jason.andryuk@amd.c=
om> wrote:
>
> On 2024-04-10 17:00, Brian Gerst wrote:
> > On Wed, Apr 10, 2024 at 3:50=E2=80=AFPM Jason Andryuk <jason.andryuk@am=
d.com> wrote:
>
> >>          /* 64-bit entry point. */
> >>          .code64
> >>   1:
> >> +       UNWIND_HINT_END_OF_STACK
> >> +
> >>          /* Set base address in stack canary descriptor. */
> >>          mov $MSR_GS_BASE,%ecx
> >> -       mov $_pa(canary), %eax
> >> +       leal rva(canary)(%ebp), %eax
> >
> > Since this is in 64-bit mode, RIP-relative addressing can be used.
> >
> >>          xor %edx, %edx
> >>          wrmsr
> >>
> >>          call xen_prepare_pvh
> >>
> >>          /* startup_64 expects boot_params in %rsi. */
> >> -       mov $_pa(pvh_bootparams), %rsi
> >> -       mov $_pa(startup_64), %rax
> >> +       lea rva(pvh_bootparams)(%ebp), %rsi
> >> +       lea rva(startup_64)(%ebp), %rax
> >
> > RIP-relative here too.
>
> Yes, thanks for catching that.  With the RIP-relative conversion, there
> is now:
> vmlinux.o: warning: objtool: pvh_start_xen+0x10d: relocation to !ENDBR:
> startup_64+0x0
>
> I guess RIP-relative made it visible.  That can be quieted by adding
> ANNOTATE_NOENDBR to startup_64.

Change it to a direct jump, since branches are always RIP-relative.

Brian Gerst


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:20:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704119.1100280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruz2J-0004ib-Hp; Thu, 11 Apr 2024 18:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704119.1100280; Thu, 11 Apr 2024 18: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 1ruz2J-0004iU-FA; Thu, 11 Apr 2024 18:20:35 +0000
Received: by outflank-mailman (input) for mailman id 704119;
 Thu, 11 Apr 2024 18: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=SAdS=LQ=solinno.co.uk=leigh@srs-se1.protection.inumbo.net>)
 id 1ruz2H-0004iO-VU
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:20:33 +0000
Received: from doppler.solinno.uk
 (8.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.9.a.d.0.6.f.d.1.0.b.8.0.1.0.0.2.ip6.arpa
 [2001:8b0:1df6:da9::18])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e8a632c-f830-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 20:20:32 +0200 (CEST)
Received: from folly.solinno.co.uk (folly.dyn.solinno.co.uk [192.168.2.135])
 by doppler.solinno.uk (Postfix) with ESMTPSA id 7225580069;
 Thu, 11 Apr 2024 19:20:31 +0100 (BST)
Received: by folly.solinno.co.uk (Postfix, from userid 1000)
 id 49FFE2017C; Thu, 11 Apr 2024 19:20:31 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e8a632c-f830-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk;
	s=mail; t=1712859631;
	bh=572pjbUD7n4h0CJX74r8RUlCwEtYRTt6uBNki5qw238=;
	h=From:To:Cc:Subject:Date:From;
	b=meCnVkSTvFuwu14T6O2ny5wWCJnLuUFtTpoIg35EVkQ6f2FtA5qCcI+jVwrU32WZn
	 iIBI1c2QIYktm8Rv1Nsb/wg7UYmouOEd2qSsuQXQlIf1urZ7vVIx2d5uK7zQLuLWK1
	 d1vrv6HBTrz7rencHRsdC1ZMnBZu6+XSBbKo540A=
From: leigh@solinno.co.uk
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@citrix.com,
	slack@rabbit.lu,
	Leigh Brown <leigh@solinno.co.uk>
Subject: [PATCH v3 0/4] xenwatchdogd bugfixes and enhancements
Date: Thu, 11 Apr 2024 19:20:19 +0100
Message-Id: <20240411182023.56309-1-leigh@solinno.co.uk>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Leigh Brown <leigh@solinno.co.uk>

The primary intention of this patch series is to replace the
pathologically bad behaviour of rebooting the domain if you run
"xenwatchdogd -h". To that end, I have implemented comprehensive
argument validation. This validation ensures you can't pass
arguments that instantly reboot the domain or cause it to spin
loop running sleep(0) repeatedly.

I added a couple of enhancements whilst working on the changes as
they were easy enough.  In particular, being able to run in the
foreground, disarming the watchdog on exit, help and a manpage.


Changes since v2:
- Drop patches 1-3 from v2, as they have been applied.
- Tweak check for NULL character.
- Fix initial implementation of parse_secs() not to use optind.
- Updated copyright notice.
- Better patch message for enhancements patch.
- Addressed feedback on manpage.

Changes since v1:
- Add Signed-off-by on every patch.
- Make global variables static.

Leigh Brown (4):
  tools/misc: xenwatchdogd: add parse_secs()
  tools/misc: xenwatchdogd enhancements
  tools/misc: Add xenwatchdogd.c copyright notice
  docs/man: Add xenwatchdog manual page

 docs/man/xenwatchdogd.8.pod |  55 ++++++++++++++++
 tools/misc/xenwatchdogd.c   | 121 +++++++++++++++++++++++++++++++-----
 2 files changed, 161 insertions(+), 15 deletions(-)
 create mode 100644 docs/man/xenwatchdogd.8.pod

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:20:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704120.1100291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruz2M-0004xn-PP; Thu, 11 Apr 2024 18:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704120.1100291; Thu, 11 Apr 2024 18:20:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruz2M-0004xe-Mf; Thu, 11 Apr 2024 18:20:38 +0000
Received: by outflank-mailman (input) for mailman id 704120;
 Thu, 11 Apr 2024 18:20:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SAdS=LQ=solinno.co.uk=leigh@srs-se1.protection.inumbo.net>)
 id 1ruz2L-0004iO-D4
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:20:37 +0000
Received: from doppler.solinno.uk (doppler.solinno.uk [81.2.106.178])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 317080e7-f830-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 20:20:36 +0200 (CEST)
Received: from folly.solinno.co.uk (folly.dyn.solinno.co.uk [192.168.2.135])
 by doppler.solinno.uk (Postfix) with ESMTPSA id 84A458009F;
 Thu, 11 Apr 2024 19:20:36 +0100 (BST)
Received: by folly.solinno.co.uk (Postfix, from userid 1000)
 id 61B7D2017C; Thu, 11 Apr 2024 19:20:36 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 317080e7-f830-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk;
	s=mail; t=1712859636;
	bh=TQCyOQsmoNABjx0+Ku+ZmhWfhTJA+iLoY6x/lfQL2DM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=0g0vFXlmNGfjpysAChqtnhKbK6v/fMMQC64t35xhu/FaB+6pCro2HsRiMW2NQv7S9
	 5UyABXkSej5HZ5EOpzW7PBqZb0MhTXv5wOwuYc9WMyb20Epl87/WToJsyD/RP1jQWO
	 I1S+Ld8JPFut0C5z1fCpzbHLQA3scMSIq2ozpuOU=
From: leigh@solinno.co.uk
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@citrix.com,
	slack@rabbit.lu,
	Leigh Brown <leigh@solinno.co.uk>
Subject: [PATCH v3 3/4] tools/misc: Add xenwatchdogd.c copyright notice
Date: Thu, 11 Apr 2024 19:20:22 +0100
Message-Id: <20240411182023.56309-4-leigh@solinno.co.uk>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240411182023.56309-1-leigh@solinno.co.uk>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Leigh Brown <leigh@solinno.co.uk>

Add copyright notice and description of the program.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
---
 tools/misc/xenwatchdogd.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
index a16d1efc13..2884ca6ca9 100644
--- a/tools/misc/xenwatchdogd.c
+++ b/tools/misc/xenwatchdogd.c
@@ -1,3 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xenwatchdogd.c
+ *
+ * Watchdog based on Xen hypercall watchdog interface.
+ *
+ * Copyright 2010 Citrix Ltd
+ * Copyright 2024 Leigh Brown <leigh@solinno.co.uk>
+ *
+ */
 
 #include <err.h>
 #include <limits.h>
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704121.1100301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruz2O-0005DF-0L; Thu, 11 Apr 2024 18:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704121.1100301; Thu, 11 Apr 2024 18:20:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruz2N-0005D5-Sq; Thu, 11 Apr 2024 18:20:39 +0000
Received: by outflank-mailman (input) for mailman id 704121;
 Thu, 11 Apr 2024 18:20: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=SAdS=LQ=solinno.co.uk=leigh@srs-se1.protection.inumbo.net>)
 id 1ruz2M-0004xS-6g
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:20:38 +0000
Received: from doppler.solinno.uk (doppler.solinno.uk [81.2.106.178])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30d7a3fa-f830-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 20:20:35 +0200 (CEST)
Received: from folly.solinno.co.uk (folly.dyn.solinno.co.uk [192.168.2.135])
 by doppler.solinno.uk (Postfix) with ESMTPSA id 8985380069;
 Thu, 11 Apr 2024 19:20:35 +0100 (BST)
Received: by folly.solinno.co.uk (Postfix, from userid 1000)
 id 628442017C; Thu, 11 Apr 2024 19:20:35 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30d7a3fa-f830-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk;
	s=mail; t=1712859635;
	bh=IQc0cKekmnq3tFF/KmZyaqRrn+6b97CWdWbbmSJl6c4=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=coDTFJrr80EHmyAa5R1oP5glhlZM4LPiCCgBkNUO5llAcIiSgzlW25CIMCfJ4yZHa
	 B2Gzp8aoq6J9LV8GI7d1ctoIeULHmDAfXqxOZ30OAba/+A//YJyfpMroNvVZpLm0mv
	 t9Fc6nWOjejmKefaC78fjOGNwC2d7sRRqo0hoMw0=
From: leigh@solinno.co.uk
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@citrix.com,
	slack@rabbit.lu,
	Leigh Brown <leigh@solinno.co.uk>
Subject: [PATCH v3 1/4] tools/misc: xenwatchdogd: add parse_secs()
Date: Thu, 11 Apr 2024 19:20:20 +0100
Message-Id: <20240411182023.56309-2-leigh@solinno.co.uk>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240411182023.56309-1-leigh@solinno.co.uk>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Leigh Brown <leigh@solinno.co.uk>

Create a new parse_secs() function to parse the timeout and sleep
parameters. This ensures that non-numeric parameters are not
accidentally treated as numbers.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
---
 tools/misc/xenwatchdogd.c | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
index 112b706357..9fa772e49f 100644
--- a/tools/misc/xenwatchdogd.c
+++ b/tools/misc/xenwatchdogd.c
@@ -49,6 +49,18 @@ static void catch_usr1(int sig)
     done = true;
 }
 
+static int parse_secs(const char *arg, const char *what)
+{
+    char *endptr;
+    unsigned long val;
+
+    val = strtoul(arg, &endptr, 0);
+    if (val > INT_MAX || *endptr)
+	errx(EXIT_FAILURE, "invalid %s: '%s'", what, arg);
+
+    return val;
+}
+
 int main(int argc, char **argv)
 {
     int id;
@@ -64,16 +76,11 @@ int main(int argc, char **argv)
     if (h == NULL)
 	err(EXIT_FAILURE, "xc_interface_open");
 
-    t = strtoul(argv[1], NULL, 0);
-    if (t == ULONG_MAX)
-	err(EXIT_FAILURE, "strtoul");
+    t = parse_secs(argv[1], "timeout");
 
     s = t / 2;
-    if (argc == 3) {
-	s = strtoul(argv[2], NULL, 0);
-	if (s == ULONG_MAX)
-	    err(EXIT_FAILURE, "strtoul");
-    }
+    if (argc == 3)
+	s = parse_secs(argv[2], "sleep");
 
     if (signal(SIGHUP, &catch_exit) == SIG_ERR)
 	err(EXIT_FAILURE, "signal");
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704122.1100305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruz2O-0005FC-8W; Thu, 11 Apr 2024 18:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704122.1100305; Thu, 11 Apr 2024 18: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 1ruz2O-0005EP-3g; Thu, 11 Apr 2024 18:20:40 +0000
Received: by outflank-mailman (input) for mailman id 704122;
 Thu, 11 Apr 2024 18:20: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=SAdS=LQ=solinno.co.uk=leigh@srs-se1.protection.inumbo.net>)
 id 1ruz2M-0004xS-T3
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:20:38 +0000
Received: from doppler.solinno.uk (doppler.solinno.uk [81.2.106.178])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3125b4a6-f830-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 20:20:36 +0200 (CEST)
Received: from folly.solinno.co.uk (folly.dyn.solinno.co.uk [192.168.2.135])
 by doppler.solinno.uk (Postfix) with ESMTPSA id 0F4148009E;
 Thu, 11 Apr 2024 19:20:36 +0100 (BST)
Received: by folly.solinno.co.uk (Postfix, from userid 1000)
 id E0E532017C; Thu, 11 Apr 2024 19:20:35 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3125b4a6-f830-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk;
	s=mail; t=1712859636;
	bh=8p8Mh+h+4ZcsbqVep9j9UGhI85GMf2VA/SFHLl4d/EU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=v20Ag00Yj6c+gU5eTxB+dTs/8WOYx0XvULdeB8G4ueMIDqFjLrNFaOzN6lL0eqjdV
	 KNwyyoPKAYvz71Uzg/AMMqEwE2vrrru5KeO3t/LC+ypUeY7Wp6l//3p7yo8Hlpb6Zm
	 i8Dkak9LKW0AE4sT9PjcdoX6PCOfyq3l0zI4CPDk=
From: leigh@solinno.co.uk
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@citrix.com,
	slack@rabbit.lu,
	Leigh Brown <leigh@solinno.co.uk>
Subject: [PATCH v3 2/4] tools/misc: xenwatchdogd enhancements
Date: Thu, 11 Apr 2024 19:20:21 +0100
Message-Id: <20240411182023.56309-3-leigh@solinno.co.uk>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240411182023.56309-1-leigh@solinno.co.uk>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Leigh Brown <leigh@solinno.co.uk>

Add usage() function, the ability to run in the foreground, and
the ability to disarm the watchdog timer when exiting.

Add enhanced parameter parsing and validation, making use of
getopt_long().  Check the number of parameters are correct, the
timeout is at least two seconds (to allow a minimum sleep time of
one second), and that the sleep time is at least one and less
than the watchdog timeout.

With these changes, the daemon will no longer instantly reboot
the domain if you enter a zero timeout (or non-numeric parameter),
and prevent the daemon consuming 100% of a CPU due to zero sleep
time.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
---
 tools/misc/xenwatchdogd.c | 94 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 84 insertions(+), 10 deletions(-)

diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
index 9fa772e49f..a16d1efc13 100644
--- a/tools/misc/xenwatchdogd.c
+++ b/tools/misc/xenwatchdogd.c
@@ -10,6 +10,11 @@
 #include <signal.h>
 #include <stdio.h>
 #include <stdbool.h>
+#include <getopt.h>
+
+#define WDOG_MIN_TIMEOUT 2
+#define WDOG_MIN_SLEEP 1
+#define WDOG_EXIT_TIMEOUT 300
 
 static xc_interface *h;
 static volatile bool safeexit = false;
@@ -49,6 +54,26 @@ static void catch_usr1(int sig)
     done = true;
 }
 
+static void __attribute__((noreturn)) usage(int exit_code)
+{
+    FILE *out = exit_code ? stderr : stdout;
+
+    fprintf(out,
+	"Usage: xenwatchdog [OPTION]... <timeout> [<sleep>]\n"
+	"  -h, --help\t\tDisplay this help text and exit.\n"
+	"  -F, --foreground\tRun in foreground.\n"
+	"  -x, --safe-exit\tDisable watchdog on orderly exit.\n"
+	"\t\t\tNote: default is to set a %d second timeout on exit.\n\n"
+	"  timeout\t\tInteger seconds to arm the watchdog each time.\n"
+	"\t\t\tNote: minimum timeout is %d seconds.\n\n"
+	"  sleep\t\t\tInteger seconds to sleep between arming the watchdog.\n"
+	"\t\t\tNote: sleep must be at least %d and less than timeout.\n"
+	"\t\t\tIf not specified then set to half the timeout.\n",
+	WDOG_EXIT_TIMEOUT, WDOG_MIN_TIMEOUT, WDOG_MIN_SLEEP
+	);
+    exit(exit_code);
+}
+
 static int parse_secs(const char *arg, const char *what)
 {
     char *endptr;
@@ -66,22 +91,71 @@ int main(int argc, char **argv)
     int id;
     int t, s;
     int ret;
+    bool daemon = true;
+
+    for ( ;; )
+    {
+	int option_index = 0, c;
+	static const struct option long_options[] =
+	{
+	    { "help", no_argument, NULL, 'h' },
+	    { "foreground", no_argument, NULL, 'F' },
+	    { "safe-exit", no_argument, NULL, 'x' },
+	    { NULL, 0, NULL, 0 },
+	};
+
+	c = getopt_long(argc, argv, "hFxD", long_options, &option_index);
+	if (c == -1)
+	    break;
+
+	switch (c)
+	{
+	case 'h':
+	    usage(EXIT_SUCCESS);
+
+	case 'F':
+	    daemon = false;
+	    break;
+
+	case 'x':
+	    safeexit = true;
+	    break;
+
+	default:
+	    usage(EXIT_FAILURE);
+	}
+    }
 
-    if (argc < 2)
-	errx(EXIT_FAILURE, "usage: %s <timeout> <sleep>", argv[0]);
+    if (argc - optind < 1)
+	errx(EXIT_FAILURE, "timeout must be specified");
+
+    if (argc - optind > 2)
+	errx(EXIT_FAILURE, "too many arguments");
+
+    t = parse_secs(argv[optind], "timeout");
+    if (t < WDOG_MIN_TIMEOUT)
+	errx(EXIT_FAILURE, "Error: timeout must be at least %d seconds",
+			   WDOG_MIN_TIMEOUT);
+
+    ++optind;
+    if (optind < argc) {
+	s = parse_secs(argv[optind], "sleep");
+	if (s < WDOG_MIN_SLEEP)
+	    errx(EXIT_FAILURE, "Error: sleep must be no less than %d",
+			       WDOG_MIN_SLEEP);
+	if (s >= t)
+	    errx(EXIT_FAILURE, "Error: sleep must be less than timeout");
+    }
+    else
+	s = t / 2;
 
-    daemonize();
+    if (daemon)
+	daemonize();
 
     h = xc_interface_open(NULL, NULL, 0);
     if (h == NULL)
 	err(EXIT_FAILURE, "xc_interface_open");
 
-    t = parse_secs(argv[1], "timeout");
-
-    s = t / 2;
-    if (argc == 3)
-	s = parse_secs(argv[2], "sleep");
-
     if (signal(SIGHUP, &catch_exit) == SIG_ERR)
 	err(EXIT_FAILURE, "signal");
     if (signal(SIGINT, &catch_exit) == SIG_ERR)
@@ -105,6 +179,6 @@ int main(int argc, char **argv)
     }
 
     // Zero seconds timeout will disarm the watchdog timer
-    xc_watchdog(h, id, safeexit ? 0 : 300);
+    xc_watchdog(h, id, safeexit ? 0 : WDOG_EXIT_TIMEOUT);
     return 0;
 }
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704123.1100313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruz2O-0005NE-Pc; Thu, 11 Apr 2024 18:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704123.1100313; Thu, 11 Apr 2024 18: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 1ruz2O-0005Lr-GI; Thu, 11 Apr 2024 18:20:40 +0000
Received: by outflank-mailman (input) for mailman id 704123;
 Thu, 11 Apr 2024 18:20: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=SAdS=LQ=solinno.co.uk=leigh@srs-se1.protection.inumbo.net>)
 id 1ruz2N-0004xS-TJ
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:20:39 +0000
Received: from doppler.solinno.uk (doppler.solinno.uk [81.2.106.178])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31d25aa9-f830-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 20:20:37 +0200 (CEST)
Received: from folly.solinno.co.uk (folly.dyn.solinno.co.uk [192.168.2.135])
 by doppler.solinno.uk (Postfix) with ESMTPSA id 32CC6800AC;
 Thu, 11 Apr 2024 19:20:37 +0100 (BST)
Received: by folly.solinno.co.uk (Postfix, from userid 1000)
 id 0CE7B2017C; Thu, 11 Apr 2024 19:20:37 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31d25aa9-f830-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=solinno.co.uk;
	s=mail; t=1712859637;
	bh=YwGv2PhPp4Evj73ZY3lHmUchew8hvcOMY1tjrOsWuo8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=jyK+6dO6x07zzohtd7D+p7nxPLtdOzqIerpifvQGmAwcDx40I3xLG/VGQD9reAVH+
	 zoKDfCFwo/Ddp+WuY1g5MOYRqcP5rxC9a6HeLv+9V53Bqc0zpNzFYWu3hLyO95jkRM
	 FBeYwGmSn49U4U3w9RWJhI5MT0pRty+vq0aBtZy0=
From: leigh@solinno.co.uk
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	anthony.perard@citrix.com,
	slack@rabbit.lu,
	Leigh Brown <leigh@solinno.co.uk>
Subject: [PATCH v3 4/4] docs/man: Add xenwatchdog manual page
Date: Thu, 11 Apr 2024 19:20:23 +0100
Message-Id: <20240411182023.56309-5-leigh@solinno.co.uk>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240411182023.56309-1-leigh@solinno.co.uk>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Leigh Brown <leigh@solinno.co.uk>

Add a manual page for xenwatchdogd.

Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
---
 docs/man/xenwatchdogd.8.pod | 55 +++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 docs/man/xenwatchdogd.8.pod

diff --git a/docs/man/xenwatchdogd.8.pod b/docs/man/xenwatchdogd.8.pod
new file mode 100644
index 0000000000..b03ed53ee6
--- /dev/null
+++ b/docs/man/xenwatchdogd.8.pod
@@ -0,0 +1,55 @@
+=head1 NAME
+
+xenwatchdogd - Xen hypercall based watchdog daemon
+
+=head1 SYNOPSIS
+
+B<xenwatchdogd> [ I<OPTIONS> ] <I<TIMEOUT>> [ <I<SLEEP>> ]
+
+=head1 DESCRIPTION
+
+B<xenwatchdogd> arms the Xen watchdog timer to I<TIMEOUT> every I<SLEEP>
+seconds. If the xenwatchdogd process dies or is delayed for more than
+I<TIMEOUT> seconds, then Xen will take the B<on_watchdog> action
+specified in the domain configuration (see xl.cfg(5)). If B<xenwatchdogd>
+is running in dom0, the whole system will reboot.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-h>, B<--help>
+
+Display a help message.
+
+=item B<-F>, B<--foreground>
+
+Run in the foreground. The default behaviour is to daemonize.
+
+=item B<-x>, B<--safe-exit>
+
+Disable watchdog on orderly exit. The default behaviour is to arm the
+watchdog to 300 seconds to allow time for the domain to shutdown.  See 
+also the B<SIGNALS> section.
+
+=item B<timeout>
+
+The number of seconds to arm the Xen watchdog timer. This must be set to
+a minimum of two.
+
+=item B<sleep>
+
+The number of seconds to sleep in between calls to arm the Xen watchdog
+timer. This must be at least one second, and less than the I<timeout>
+value. If not specified, it defaults to half the I<timeout> value.
+
+=back
+
+=head1 SIGNALS
+
+B<SIGUSR1> Will cause the program to disarm the watchdog timer and exit,
+regardless of whether the B<--safe-exit> option was passed.
+
+=head1 AUTHOR
+
+Citrix Ltd and other contributors.
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:32:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704146.1100332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzDj-0001Oc-SK; Thu, 11 Apr 2024 18:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704146.1100332; Thu, 11 Apr 2024 18:32:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzDj-0001OV-Nt; Thu, 11 Apr 2024 18:32:23 +0000
Received: by outflank-mailman (input) for mailman id 704146;
 Thu, 11 Apr 2024 18:32: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=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruzDi-0001O6-25
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:32:22 +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 d42a66b2-f831-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 20:32:20 +0200 (CEST)
Received: by mail-oi1-x231.google.com with SMTP id
 5614622812f47-3c60e308067so20476b6e.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 11:32:19 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 o19-20020ac84293000000b00430ea220b32sm1210660qtl.71.2024.04.11.11.32.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 11:32:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d42a66b2-f831-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712860338; x=1713465138; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xOUyJBpvtd3S+XB9J0vZVLH/aIBOJc7oYN0Qi3Iji78=;
        b=FCZbOjO7YqrjrPbmdx8yyznP+XpDBvAuKSYTOKOW47waPAA20CScErYD/90BW9dcKe
         owrNowLRn5Q1o7SMBUCZAO61+Q1/YMT8MFiIruNXxTxK8AaNOvJX9CXyRpzuPw/FG4Jb
         1mmj0MZG3gX8BGj6iNFVpE8Cs39u5Yj5Fx1Yk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712860338; x=1713465138;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xOUyJBpvtd3S+XB9J0vZVLH/aIBOJc7oYN0Qi3Iji78=;
        b=oVLe+SMKnNiu6OT7238Pdkjd3cAwn5wQxycweaElynihGZibYrAEzYF3ps0/FRXbmO
         L7/fnBNSwm6BR6q8Ec8VE+cG4yn3UcE4lnzaR4dn08IW168kM2JjobR2jFwCYja3eD4b
         KzWyrgdeS0L3sfSqAxyrd9PODqGZW2NKiwy/QFWpYUaSyekheP9dU/kdu+2LgBRz77n0
         Cai/TdlDZijHge68s/6BHmpF5tHS6vbLoxHjVa4OXaaHBS+b1Dtv4FfXDx6eCE7gKQoX
         LQhuBOJ1pHYDVn7Vycns5ZRk/ek18bhM6nCK3m21uhlfe9kJJORlnF+PfRYGNZ9r051F
         4juA==
X-Forwarded-Encrypted: i=1; AJvYcCUinaBMmPJ5VrWExxLjZKDA4nxjU/i1UxR3WpNNZceyTu3FcyfQx5uQZbh9hERaaneUakBZC8SrEq26gZTfeL9KvhOaCsOhBRcaT39fgro=
X-Gm-Message-State: AOJu0Yzlgk8KohKCHQJIP/ndTRelMWVtiFnGqUIb9uGYTAEQlwSx11AD
	qdr3xjAAyriBlTVjMbb7eYcWmPsHcmIc2Rnv38RpR5eKVFI7lz1erW0jb/Qrh10=
X-Google-Smtp-Source: AGHT+IFMiRGWJhDMEHPE+BGY8FJFGuUPUiVJEtqw0GVRifAabQPwCsRhAc0UMtuiqwKfU3X6ZClO0g==
X-Received: by 2002:a05:6808:2382:b0:3c5:fb64:1573 with SMTP id bp2-20020a056808238200b003c5fb641573mr581672oib.27.1712860338564;
        Thu, 11 Apr 2024 11:32:18 -0700 (PDT)
Message-ID: <a9638611-8348-462a-a25d-a9efe3fabf9a@citrix.com>
Date: Thu, 11 Apr 2024 19:32:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v1 1/2] Implemented AMD SEV discovery and enabling.
To: Andrei Semenov <andrei.semenov@vates.fr>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1712759753.git.andrei.semenov@vates.fr>
 <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr>
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: <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/04/2024 4:36 pm, Andrei Semenov wrote:
> diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
> index ab92333673..a5903613f0 100644
> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -1030,6 +1031,54 @@ static void amd_check_erratum_1485(void)
>  	wrmsrl(MSR_AMD64_BP_CFG, val | chickenbit);
>  }
>  
> +#ifdef CONFIG_HVM
> +static void amd_enable_mem_encrypt(const struct cpuinfo_x86 *c)
> +{
> +	unsigned int  eax, ebx, ecx, edx;
> +	uint64_t syscfg;
> +
> +	if (!smp_processor_id()) {

c == &boot_cpu_info.

> +
> +		cpuid_count(0x80000000,0,&eax, &ebx, &ecx, &edx);
> +
> +		if (eax <  0x8000001f)
> +			return;

Max leaf is already collected.  c->extended_cpuid_level


> +
> +		cpuid_count(0x8000001f,0,&eax, &ebx, &ecx, &edx);
> +
> +		if (eax & 0x1)
> +			setup_force_cpu_cap(X86_FEATURE_SME);
> +
> +		if (eax & 0x2) {
> +			setup_force_cpu_cap(X86_FEATURE_SEV);
> +			max_sev_asid = ecx;
> +			min_sev_asid = edx;
> +		}
> +
> +		if (eax & 0x3)
> +			pte_c_bit_mask = 1UL << (ebx & 0x3f);

This is decoding the main SEV feature leaf, but outside of normal
mechanisms.

I've got half a mind to brute-force through the remaining work to
un-screw our boot sequence order, and express this in a cpu-policy
straight away.  This is wanted for the SVM leaf info too.

Leave it with me for a bit.


> +	}
> +
> +	if (!(cpu_has_sme || cpu_has_sev))
> +		return;
> +
> +	if (!smp_processor_id()) {
> +		if (cpu_has_sev)
> +			printk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",
> +			min_sev_asid, max_sev_asid);

Why do we have a min as well as a max?  Isn't min always 1?

> +	}
> +
> +	rdmsrl(MSR_K8_SYSCFG, syscfg);
> +
> +	if (syscfg & SYSCFG_MEM_ENCRYPT) {
> +		return;
> +	}
> +
> +	syscfg |= SYSCFG_MEM_ENCRYPT;
> +	wrmsrl(MSR_K8_SYSCFG, syscfg);
> +}
> +#endif
> +
>  static void cf_check init_amd(struct cpuinfo_x86 *c)
>  {
>  	u32 l, h;
> @@ -1305,6 +1354,10 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
>  	check_syscfg_dram_mod_en();
>  
>  	amd_log_freq(c);
> +
> +#ifdef CONFIG_HVM
> +	amd_enable_mem_encrypt(c);
> +#endif

I think we want to drop the CONFIG_HVM here.

Memory encryption is an all-or-nothing thing.  If it's active, it
affects all pagetables that Xen controls, even dom0's.  And we likely do
want get to the point of Xen running on encrypted mappings even if dom0
can't operate it very nicely.

Thoughts?

>  }
>  
>  const struct cpu_dev __initconst_cf_clobber amd_cpu_dev = {
> diff --git a/xen/arch/x86/hvm/svm/Makefile b/xen/arch/x86/hvm/svm/Makefile
> index 760d2954da..9773d539ef 100644
> --- a/xen/arch/x86/hvm/svm/Makefile
> +++ b/xen/arch/x86/hvm/svm/Makefile
> @@ -6,3 +6,4 @@ obj-y += nestedsvm.o
>  obj-y += svm.o
>  obj-y += svmdebug.o
>  obj-y += vmcb.o
> +obj-y += sev.o

Please keep this sorted by object file name.

> diff --git a/xen/arch/x86/hvm/svm/sev.c b/xen/arch/x86/hvm/svm/sev.c
> new file mode 100644
> index 0000000000..336fad25f5
> --- /dev/null
> +++ b/xen/arch/x86/hvm/svm/sev.c
> @@ -0,0 +1,4 @@
> +#include <asm/sev.h>
> +uint64_t __read_mostly pte_c_bit_mask;
> +unsigned int __read_mostly min_sev_asid;
> +unsigned int __read_mostly max_sev_asid;

Several things.  All new files should come with an SPDX tag.  Unless you
have other constraints, GPL-2.0-only is preferred.  There also wants to
be at least a oneline summary of what's going on here.

All these variables look like they should be __ro_after_init.  However,
it's rather hard to judge, given no users yet.

pte_c_bit_mask may want to be an intpte_t rather than uint64_t.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:42:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704152.1100340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzNV-0004Ew-NR; Thu, 11 Apr 2024 18:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704152.1100340; Thu, 11 Apr 2024 18: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 1ruzNV-0004Ep-Ku; Thu, 11 Apr 2024 18:42:29 +0000
Received: by outflank-mailman (input) for mailman id 704152;
 Thu, 11 Apr 2024 18: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=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruzNU-0004Ej-IQ
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:42: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 3e829e4b-f833-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 20:42:27 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516d727074eso217513e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 11:42:27 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 a8-20020a05600c348800b00417bc4820acsm3198806wmq.0.2024.04.11.11.42.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 11:42: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: 3e829e4b-f833-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712860946; x=1713465746; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WwIN2CQdQkp0fXwawdET2VP2E5y1MwZbc1XGcTTlqlg=;
        b=dirik6cBqg7UimcyomcJKz2V21mN386fL1yFJ5iKYB7jckttO9ZxzplJbT2NdSd696
         6H1sOyZScFyrG9zUUDteiyCAkEKf8BdsZ2TfDRC30pSrk2bPY3KQEDVs7dNaphENKdeG
         akYKNCLfHNP8R3BrlSK4uHgNZAjq4Xw37ZriA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712860946; x=1713465746;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WwIN2CQdQkp0fXwawdET2VP2E5y1MwZbc1XGcTTlqlg=;
        b=IPn7wFi1v9UEab8zjWk74EP6Y2lE9Fu9vAPBJIkffqUscRiVddwGfTm3QZZ6lXI2pl
         8cO9Efxza5YU906bkR+i8DZKSVEXDXCBnR3yOxnbd50q4xuwW8EDHFhb/PB62veiNcdc
         S4PXNOIHNBNIOnS/skYuD9405ZPKKeegRB2vYI6hN6s1oew06doyeW6JHHVH0T2kVQ1X
         8pmtPjFjXQglc5U4cgiHYznCiGThA8mpwnbBA6u3x1MGSJNRNhy1Ew2ZICczP2NixUA5
         /KJlZAuk8xzil90w/d824elaTK6l0WTubH7D1/kxHeMwEt7hnqb9/RaNg0MvbAb/LBEm
         vetg==
X-Forwarded-Encrypted: i=1; AJvYcCVQAmPy0aZUs+JAXEdhyFGcn4yjDf98iPmZGKRywGGZe/boOcHrMIw3/0ahrUceKabuZYV45TJCBqhoPf/Doqlnidm2F5Jyp8SXG0OGbek=
X-Gm-Message-State: AOJu0YwNLXdr5WW1aKC6m7CRt/zWEt9aZkRRvsncOStwiBkVcHaWaFwU
	4tkSSkiY0PvnFPAqcxIzXgTT6bzLKUbncqjl/zSKKvaWGIyxP3KfCIRmAK0+osY=
X-Google-Smtp-Source: AGHT+IGpb1qrkpo0o+xj09e/VqrHcWWrbzmWq3G0vPrqn2sF1ZCXQI9qE2LIpEU84yV6fNwcNiBd3g==
X-Received: by 2002:a05:6512:4c7:b0:516:d219:377c with SMTP id w7-20020a05651204c700b00516d219377cmr400759lfq.69.1712860946532;
        Thu, 11 Apr 2024 11:42:26 -0700 (PDT)
Message-ID: <db0f49d5-ea9e-4c62-b7ac-c856656b1e29@citrix.com>
Date: Thu, 11 Apr 2024 19:42:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Implemented Amd Secure Processor device driver
To: Andrei Semenov <andrei.semenov@vates.fr>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1712759753.git.andrei.semenov@vates.fr>
 <8c9627ef69e8d809efcb93b50fc34474f2b0ba7f.1712759753.git.andrei.semenov@vates.fr>
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: <8c9627ef69e8d809efcb93b50fc34474f2b0ba7f.1712759753.git.andrei.semenov@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/04/2024 4:36 pm, Andrei Semenov wrote:
> Signed-off-by: Andrei Semenov <andrei.semenov@vates.fr>
> ---
>  xen/arch/x86/include/asm/psp-sev.h | 655 +++++++++++++++++++++++
>  xen/drivers/Kconfig                |   2 +
>  xen/drivers/Makefile               |   1 +
>  xen/drivers/crypto/Kconfig         |  10 +
>  xen/drivers/crypto/Makefile        |   1 +
>  xen/drivers/crypto/asp.c           | 808 +++++++++++++++++++++++++++++
>  xen/include/xen/types.h            |   2 +-
>  7 files changed, 1478 insertions(+), 1 deletion(-)
>  create mode 100644 xen/arch/x86/include/asm/psp-sev.h
>  create mode 100644 xen/drivers/crypto/Kconfig
>  create mode 100644 xen/drivers/crypto/Makefile
>  create mode 100644 xen/drivers/crypto/asp.c

I'm not going to dive into all of this, but give some high level
feedback to start with.

CCP is driver/crypto in Linux for historical reasons, but is it really
right here?  We can pick whatever we think is suitable.

psp-sev.h looks like it's only the MMIO protocol to the ASP, and that it
shouldn't need including anywhere else?  If so, we're trying to move
those header files to be local to the asp.c dir.


Can you discuss this comment:
>     CET shadow stack: adapt #CP handler???

some more.  What's going on?


> diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
> index 449947b353..f7599845fd 100644
> --- a/xen/include/xen/types.h
> +++ b/xen/include/xen/types.h
> @@ -6,7 +6,7 @@
>  
>  /* Linux inherited types which are being phased out */
>  typedef int8_t s8;
> -typedef uint8_t u8;
> +typedef uint8_t u8, __u8;
>  typedef int16_t s16;
>  typedef uint16_t u16, __u16;
>  typedef int32_t s32;

The comment is here for a reason, so reviewers don't accept hunks like this.

psp-sev.h should be written using normal C99 integer types please.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 18:44:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 18:44:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704155.1100351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzPs-0005B3-3B; Thu, 11 Apr 2024 18:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704155.1100351; Thu, 11 Apr 2024 18:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzPs-0005Aw-00; Thu, 11 Apr 2024 18:44:56 +0000
Received: by outflank-mailman (input) for mailman id 704155;
 Thu, 11 Apr 2024 18: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=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruzPq-0005Aq-Vr
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 18:44:54 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9570c50e-f833-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 20:44:53 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-417d0194705so1082695e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 11:44:53 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 p15-20020a05600c1d8f00b00417e134dd2dsm2074654wms.37.2024.04.11.11.44.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 11:44:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9570c50e-f833-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712861092; x=1713465892; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FadbIeaKr5CBjX43cBX0jigbXTRjsc3nGNIOIB+LeIo=;
        b=ikgM0LBWCtlcLSpPJJ/BCnAG/xW/Z7rcOsIvtGYvwBr/4r3SRNLiR93k/oj1oeyvLh
         Xm4/7VbqyZvSr2rTQYPDhCbKRBZZWGkUQpNTrkC5unVikbQzNjGYNIJfVTtrDD8QkLOc
         06ncPP1Kq5APMV8e6Pmb/0+Tqs/7wsojrhecQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712861092; x=1713465892;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FadbIeaKr5CBjX43cBX0jigbXTRjsc3nGNIOIB+LeIo=;
        b=fB33iO4x4WZ4h8VhtNppcr2o+m02JAP5qdI1MJbPeWdoh1W2xHUSg6WoRRea9T1+lz
         2dk+fd7+hJzd3mlscSjyHfrvRkEiFV9gnGpZHUu+6V/N5ZZZsX7sZQ5bCtiCJ84zvdWk
         i6MJBg13BNYcB49liV1wUvjBPX6+GDUFjzcTIhWK4pCqrIE7j3MuBaltwNqiwyzsXBa+
         chElU8XSvLxUvGq/GjD3kT6bCNkWSfjGtTXNkwiQi93sIdUJimDUVyJLMSl9tva4ONIE
         6n/hyg8c9wSXRL2vuxGkrhn3+NherKgVjoJQA0TJR3mdh360QAxFIvWKZYSaNB9keNpS
         eS9A==
X-Gm-Message-State: AOJu0YzTTEQtJc8gJKEtHGnd1uBuAMAtDjbT6uHbg6DiovOoHZvodmRW
	EFWBWmeVJRfV6aaymfC7jqxPVbLMuyO7bBXDd4yzvFDRwqhMj19/+wXuIDIgs2U=
X-Google-Smtp-Source: AGHT+IGJzpAyWa3NOIWX7KzZX2EV4KLBP+3w7hImEG48H1g1ijhxeeGtGfuvAMQUmki+PEFacVZbDg==
X-Received: by 2002:a05:600c:3482:b0:417:bbb3:ce4a with SMTP id a2-20020a05600c348200b00417bbb3ce4amr422018wmq.37.1712861092466;
        Thu, 11 Apr 2024 11:44:52 -0700 (PDT)
Message-ID: <1552c28a-9c31-4771-94d1-20a51b2c641f@citrix.com>
Date: Thu, 11 Apr 2024 19:44:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] gzip: colocate gunzip code files
To: Luca Fancellu <Luca.Fancellu@arm.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-2-dpsmith@apertussolutions.com>
 <AA1FBA57-A643-4758-B99A-B59181B6329A@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: <AA1FBA57-A643-4758-B99A-B59181B6329A@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/04/2024 5:00 pm, Luca Fancellu wrote:
>> On 11 Apr 2024, at 16:25, Daniel P. Smith <dpsmith@apertussolutions.com> wrote:
>>
>> This patch moves the gunzip code files to common/gzip. Makefiles are adjusted
>> accordingly.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>> xen/common/Makefile             | 2 +-
>> xen/common/gzip/Makefile        | 1 +
>> xen/common/{ => gzip}/gunzip.c  | 0
>> xen/common/{ => gzip}/inflate.c | 0
>> 4 files changed, 2 insertions(+), 1 deletion(-)
>> create mode 100644 xen/common/gzip/Makefile
>> rename xen/common/{ => gzip}/gunzip.c (100%)
>> rename xen/common/{ => gzip}/inflate.c (100%)
> For inflate.c you will need to update also docs/misra/exclude-list.json

Something like this?

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index 36bad9e54f7d..095636415897 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -118,7 +118,7 @@
             "comment": "Imported from Linux, ignore for now"
         },
         {
-            "rel_path": "common/inflate.c",
+            "rel_path": "common/gzip/inflate.c",
             "comment": "Imported from Linux, ignore for now"
         },
         {

I can fold on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 19:02:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 19:02:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704164.1100367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzh7-0001hl-Kb; Thu, 11 Apr 2024 19:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704164.1100367; Thu, 11 Apr 2024 19:02:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzh7-0001he-HK; Thu, 11 Apr 2024 19:02:45 +0000
Received: by outflank-mailman (input) for mailman id 704164;
 Thu, 11 Apr 2024 19:02:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruzh6-0001hU-5b; Thu, 11 Apr 2024 19:02:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruzh5-0002ap-Vg; Thu, 11 Apr 2024 19:02:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ruzh5-0006Q0-L7; Thu, 11 Apr 2024 19:02:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ruzh5-0003yd-FP; Thu, 11 Apr 2024 19:02:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rl5qe4imxwpIeknAXXAuTfUeX3c+i22HRMDbvrGwlr0=; b=Z6uOXZEY4vNwFaC9lORS0DFjza
	5TZnoHHBlAqXq9cw/gTiRyohMfbQOtbKW0+ZKdCst2RNSgVdOLHqqdL00O6aeTWZhCaqsNR6YEplD
	cdeUUjaTAtYOrYr4BDbjv3vyiVd4Jufq9uUBZNRSx5mTq9QiP0v/qW00KgpKiEZ9I9Jw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185299-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185299: 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-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-xl-qemuu-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-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: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-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-xl-credit2: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-credit2:saverestore-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-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-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-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-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-credit1: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: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-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-xsm:migrate-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-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2: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
X-Osstest-Versions-This:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
X-Osstest-Versions-That:
    linux=347385861c50adc8d4801d4b899eded38a2f04cd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 19:02:43 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185231  2024-04-03 20:10:30 Z    7 days
Testing same since   185299  2024-04-10 14:42:59 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Colomar <alx@kernel.org>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
  Alexandra Winter <wintera@linux.ibm.com>
  Alexei Starovoitov <ast@kernel.org>
  Andrei Matei <andreimatei1@gmail.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Antoine Tenart <atenart@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Ashish Kalra <ashish.kalra@amd.com>
  Atlas Yu <atlas.yu@canonical.com>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjørn Mork <bjorn@mork.no>
  Borislav Petkov (AMD) <bp@alien8.de>
  Christian Brauner <brauner@kernel.org>
  Christian Hewitt <christianshewitt@gmail.com>
  Christian König <christian.koenig@amd.com>
  Christoffer Sandberg <cs@tuxedo.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuck Lever <chuck.lever@oracle.com>
  Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
  Clayton Craft <clayton@craftyguy.net>
  Conor Dooley <conor.dooley@microchip.com>
  Damien Le Moal <dlemoal@kernel.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Hildenbrand <david@redhat.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Thompson <davthompson@nvidia.com>
  Davide Caratti <dcaratti@redhat.com>
  Denis Kirjanov <dkirjanov@suse.de>
  Dennis Kirjanov <dkirjanov@suse.de>
  Dominique Martinet <asmadeus@codewreck.org>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geliang Tang <geliang.tang@suse.com>
  Geliang Tang <tanggeliang@kylinos.cn>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gui-Dong Han <2045gemini@gmail.com>
  Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hariprasad Kelam <hkelam@marvell.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Herve Codina <herve.codina@bootlin.com>
  Holger Hoffstätte <holger@applied-asynchrony.com>
  Horatiu Vultur <horatiu.vultur@microchip.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ingo Molnar <mingo@kernel.org>
  Ivan Vecera <ivecera@redhat.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  James Christopher Adduono <jc@adduono.com>
  Jann Horn <jannh@google.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jeff Layton <jlayton@kernel.org>
  Jesper Dangaard Brouer <hawk@kernel.org>
  Jesse Brandeburg <jesse.brandeburg@intel.com>
  Jian Shen <shenjian15@huawei.com>
  Jie Wang <wangjie125@huawei.com>
  Jijie Shao <shaojijie@huawei.com>
  Joe Damato <jdamato@fastly.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  John Ernberg <john.ernberg@actia.se>
  John Fastabend <john.fastabend@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Li Nan <linan122@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Liviu Dudau <liviu@dudau.co.uk>
  Luca Ceresoli <luca.ceresoli@bootlin.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Pinna <marco.pinn95@gmail.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mat Martineau <martineau@kernel.org>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Michael Hofmann <mhofmann@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Miklos Szeredi <mszeredi@redhat.com>
  min15.li <min15.li@samsung.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nikita Kiryushin <kiryushin@ancud.ru>
  Nikita Travkin <nikita@trvn.ru> # sc7180
  Oliver Upton <oliver.upton@linux.dev>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pavel Sakharov <p.sakharov@ispras.ru>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pu Lehui <pulehui@huawei.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Raju Lakkaraju <Raju.Lakkaraju@microchip.com>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Rob Herring <robh@kernel.org>
  Ron Economos <re@w6rz.net>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Salvatore Bonaccorso <carnil@debian.org>
  Samuel Holland <samuel.holland@sifive.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Sridhar Samudrala <sridhar.samudrala@intel.com>
  Stefan O'Rear <sorear@fastmail.com>
  Stephen Lee <slee08177@gmail.com>
  Steve French <stfrench@microsoft.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Price <steven.price@arm.com>
  Su Hui <suhui@nfschina.com>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Sven Joachim <svenjoac@gmx.de>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thorsten Winkler <twinkler@linux.ibm.com>
  Tokunori Ikegami <ikegami.t@gmail.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Vasily Gorbik <gor@linux.ibm.com>
  Wei Fang <wei.fang@nxp.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Yonglong Liu <liuyonglong@huawei.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   347385861c50..bf1e3b1cb1e0  bf1e3b1cb1e002ed1590c91f1a24433b59322368 -> tested/linux-6.1


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 19:12:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 19:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704172.1100377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ruzq0-0004Xv-If; Thu, 11 Apr 2024 19:11:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704172.1100377; Thu, 11 Apr 2024 19: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 1ruzq0-0004Xm-Ft; Thu, 11 Apr 2024 19:11:56 +0000
Received: by outflank-mailman (input) for mailman id 704172;
 Thu, 11 Apr 2024 19: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=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ruzpz-0004XV-Qx
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 19:11:55 +0000
Received: from mail-oa1-x31.google.com (mail-oa1-x31.google.com
 [2001:4860:4864:20::31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5bbff3d1-f837-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 21:11:54 +0200 (CEST)
Received: by mail-oa1-x31.google.com with SMTP id
 586e51a60fabf-23333dddd8aso179269fac.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 12:11:54 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 vy19-20020a05620a491300b0078d7533e00fsm1391380qkn.36.2024.04.11.12.11.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 12: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: 5bbff3d1-f837-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712862713; x=1713467513; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=R2BBMO1hdvxs2eysjAnLkz49a8Bv6XNr/LVgNQfBzHM=;
        b=DuoxpgT3d0cezmezEHzYW3xY4vY5obOHfLtQM+yLEcAFOolegcSrpbnJNrjmyrpSts
         B9PXDSE6/kARZLg1Jo9Cj3SB4I3cSN6FTq69TpBsxo3zK2mfHDerxmb8K3emWu07ho89
         LDKJ7Yfo2LhPJqTBe+6Dhh5vw9uFjyYHGuk/I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712862713; x=1713467513;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R2BBMO1hdvxs2eysjAnLkz49a8Bv6XNr/LVgNQfBzHM=;
        b=kEL6l2xYh3ewZiH7+6+zuttDGTVvDJF4C7CYdBywixMJiupDXqBIQ5P4wTpFHry77k
         dnm2Rv5idEymAbPH6M+3yUumSl3c+Kfm061GvhIMswG/Ctn2Q+oUHpgQ0wGK/Gr8U+cN
         UekMijvJV/uV34gleIkiI2DRAtQ762Kxc7BIQPczvIBZUS3xvpGDPhOhTP/kcsT0IrWM
         5YwVRJio+gWlfmfFsayvqsejqigyzdXMWsGQ9giE3VgnQUp+gBhc5xyviH8lBh1stoPB
         8EjU2+hVHQZeF6w7A7okT48naNG6yZ+OcBnMZ14TgeoBXwyN2JRK+0rHOL6PNg85mb0k
         3Ygg==
X-Forwarded-Encrypted: i=1; AJvYcCUcv9w6KDU8dBu0Dw8aQXvBZCml5cqaEJB/T9vEXREvDm4VraCasd0f7Gpf0xAU82hThxx+6F+FMT19bkei2WPIBjKx8JDETynqWI6VjSw=
X-Gm-Message-State: AOJu0YxXVYM8HIGx24uKbw7qKynQEPVeSL78vscQoOFLRvzLpCshu9UX
	dD23f/Rm8i0DQr4V26z9XRI6T6ssyV7dq1OXTPL8DIyo5ePQFl6sEHb7Upvq7fk=
X-Google-Smtp-Source: AGHT+IFA9jwgV4JmwbPLgJ4m/maamhz3aN1SrfZzTqKLjOCwl/HsB0YrfwacKy076g1bNs/PJt1bow==
X-Received: by 2002:a05:6870:f10c:b0:22e:bd35:d3fb with SMTP id k12-20020a056870f10c00b0022ebd35d3fbmr499277oac.22.1712862713564;
        Thu, 11 Apr 2024 12:11:53 -0700 (PDT)
Message-ID: <382b8aaf-ea9f-42c7-b57b-945fa4fd36aa@citrix.com>
Date: Thu, 11 Apr 2024 20:11:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] gzip: clean up comments and fix code alignment
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-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: <20240411152518.2995-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
> This commit cleans up the comments and fixes the code alignment using Xen
> coding style. This is done to make the code more legible before refactoring.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

I've found two more minor adjustments:

diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index feb6d51008aa..9205189d4618 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -375,7 +375,7 @@ static int __init huft_build(
     memzero(stk->c, sizeof(stk->c));
     p = b;  i = n;
     do {
-        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" :
"0x%x %d\n"),
+        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" :
"0x%x %d\n"),
                      n-i, *p));
         c[*p]++;                    /* assume all entries <= BMAX */
         p++;                      /* Can't combine with above line
(Solaris bug) */
@@ -563,7 +563,8 @@ static int __init huft_build(
     return ret;
 }
 
-/* Free the malloc'ed tables built by huft_build(), which makes a linked
+/*
+ * Free the malloc'ed tables built by huft_build(), which makes a linked
  * list of the tables it made, with the links in a dummy first entry of
  * each table.
  *


I can fold on commit.  (First hunk is trailing whitespace, which doesn't
show up so well on email).


However, there are some more major adjustments wanted too.

The reason why the code indention is so messed up is because it has been
auto-formatted, but with some NEXTBYTE()/NEEDBITS()/DUMPBITS() missing
semi-colons.  This throws off subsequent formatting, including some of
the indentation changes you've made.

Fixing the semicolons is a far more messy diff, but a much better end
result.

However, the PKZIP_BUG_WORKAROUND ifdefary hiding braces still throws
things off, this time in the opposite direction.  NOMEMCPY also gets in
the way.

I'd be tempted to suggest breaking out a patch earlier dropping these
two, and then doing the semicolon fixes in this one along with the other
work.

Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 19:24:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 19:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704177.1100386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv01m-0007cs-K3; Thu, 11 Apr 2024 19:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704177.1100386; Thu, 11 Apr 2024 19:24:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv01m-0007cl-HJ; Thu, 11 Apr 2024 19:24:06 +0000
Received: by outflank-mailman (input) for mailman id 704177;
 Thu, 11 Apr 2024 19:24:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rv01l-0007cf-1h
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 19:24: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 0ed42cf7-f839-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 21:24:04 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-516d6898bebso210644e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 12:24:04 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h14-20020a1709070b0e00b00a518c69c4e3sm1015200ejl.23.2024.04.11.12.24.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 12:24: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: 0ed42cf7-f839-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712863443; x=1713468243; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XG2WtMK/5r6apS8BtDSbN/AY1cqgu30xH777apn6QFY=;
        b=DZX9aUIr10tTfhaL3RBjwXXwO8vw0ztQgYZEyr2t0ee4b5Ju5Fu2UmrA6pk2FSd78Q
         FssFCdFMnQYCLCvQQDoMJa8r5FvEGRdltIvXVJiRSEbsZ0eakgljX6hYEAv8oQ7/No/Q
         PMvdBzoCp5+xeQcO35Gfb/1ci7Yx/WNyE49FA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712863443; x=1713468243;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XG2WtMK/5r6apS8BtDSbN/AY1cqgu30xH777apn6QFY=;
        b=cqBFX90mqxg+1w//D+xHT1BOFhe59nenMO0ldkdUpWbWgvqmV8H7CX5/S0IuxIbZM1
         k24ClX18OgAYSXbqssBMrxLfKAn5/nJGWoH5lqHj6xp+VAd8PaEyYcQMNFCpvVkv97Ro
         i+FNuvTPRE4iJrBYd/AKPnprzDSEr9kaWRwII537hfjbIE9jkVlRggilXz3k7zkSjTBB
         2BuPVTu7qFIZxyPLSfAgNrORx9UkWQtOcdoO3EThE3hcZ/kp6HeXxFyzLPthsniE0Yhi
         AZBKEF0S5AqeoCbWp3xzDuOcKNwsQ3ArQXWT+osCCGK3z5pwHrt+X1NfKgCfE8o+cCqw
         cO4g==
X-Forwarded-Encrypted: i=1; AJvYcCWUifBRS5Rnf4UbFTpil04Nzw7AWUbmHQWpIEDBFnK9PULfkXAApfRrkmXoLKQ8w1dwyhfi62ZhAN5zcrO4W8KknrLgKNht7TO0i2j86hI=
X-Gm-Message-State: AOJu0YzUGk6AWEGPBhbmK9T8xluwKAF+pKkhC4yUzf7An14481dzECBn
	54DROlWJ/VknEUQ9cTrIQVWYzaoEq6TBNr3bmBkglNv3h81d6nmVHIL8XcufWro=
X-Google-Smtp-Source: AGHT+IEK3ZMXKqCmFF3z/XLguectpFMYiXrFDqPfV5Ud6uXfbFsrJnNG61NjOuqqE0kupI1Tw+QjaA==
X-Received: by 2002:ac2:5a50:0:b0:517:8ad8:c64 with SMTP id r16-20020ac25a50000000b005178ad80c64mr357412lfn.21.1712863443561;
        Thu, 11 Apr 2024 12:24:03 -0700 (PDT)
Message-ID: <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
Date: Thu, 11 Apr 2024 20:24:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-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: <20240411152518.2995-4-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
> index 1bcb007395ba..9b4891731b8b 100644
> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned long image_len)
>  
>  __init int perform_gunzip(char *output, char *image, unsigned long image_len)
>  {
> +    struct gzip_data gd;
>      int rc;

By the end of this series,

Reading symbols from xen-syms...
(gdb) p sizeof(struct gzip_data)
$1 = 2120

x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
dynamically allocated, even in inflate.c, so I'd highly recommend doing
the same for this.


Also, could I nitpick the name and request:

struct gzip_state *s;

?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 19:43:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 19:43:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704183.1100403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv0KF-0003vU-6P; Thu, 11 Apr 2024 19:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704183.1100403; Thu, 11 Apr 2024 19: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 1rv0KF-0003vN-3E; Thu, 11 Apr 2024 19:43:11 +0000
Received: by outflank-mailman (input) for mailman id 704183;
 Thu, 11 Apr 2024 19:43:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rv0KE-0003vH-5M
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 19:43:10 +0000
Received: from mail-yw1-x1133.google.com (mail-yw1-x1133.google.com
 [2607:f8b0:4864:20::1133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b834613f-f83b-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 21:43:07 +0200 (CEST)
Received: by mail-yw1-x1133.google.com with SMTP id
 00721157ae682-617d4797d9bso1114437b3.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 12:43:07 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 g15-20020ad4514f000000b00698e1f25f22sm1333374qvq.4.2024.04.11.12.43.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 12: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: b834613f-f83b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712864587; x=1713469387; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bY4XxOzhSi91sU/Vk+DSl17mowpzSK61nxOVFzKzo2Y=;
        b=vUQ565R1JaStXValEeWdnPmLe4ZceoNlAPPVnjMbTgxBA9u+8YZgP7RhqfmvGZogMG
         Wix4gBXw/4sCu17HyP6pbromvjq4O4gxKOVuhjvuqTuhhqG4t077ilFEKGdvPOzRg2Ng
         97GXG4JjkCS8GFDs3Wz/8id+QYW1MiXTo0tus=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712864587; x=1713469387;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bY4XxOzhSi91sU/Vk+DSl17mowpzSK61nxOVFzKzo2Y=;
        b=Ug4KwYUU1OX1L5nHzhjGYM1j6oc+Hc432FwLsr7GPDHGLsKA8I5BhhaflZiTG/nZpK
         4vGhEVTP3Zc3g6tWAWqI5C0WZad50VgxkINY5jnUJ+lT14sK9jH02n87dlLecCW6cbej
         GVvOE0gcTVO+L/o+4cS3QChIx0PBpajGjJFBFSbhKskNZxTZbFT6lwdqHkxApndjLo1f
         sgMqOyYDQIzCLro3pRiD45Sgb+E2H4NuHydNqdC0CZ+OSkXVeVEpOYwM7yYi6xVDPs0n
         vVaZTFqfOONR6E38SDrnafwayKgI21Yz/W4moiVLsJmO6TgGa4ak2DeuaZvD69WiL/Hy
         bRaw==
X-Forwarded-Encrypted: i=1; AJvYcCWwpzOsgFvafr4DXZ9cnk3PlscTE51WcweXJDvw6fu/D49m6CN60mvHwNPh4tIAhQqSL/b+YpO7a5GRZmFPn6H7icyV1dSOEvrfm1Mh/yI=
X-Gm-Message-State: AOJu0YwxNmHSVulSuOIEUbTxJ+k5yO5ZrYSM7PeaOK74iS9IUnmUMNVl
	yeK5F0fVYd5ie71sQ/9crDzbhVbybqTUdwUR8f36+0i+ymhG8wtDd1m657t+Z48=
X-Google-Smtp-Source: AGHT+IERe82NeCCgjFDwCX3B1OxR44nKCbrloVdHahYlRmUrXoPrwyVK13nuZwKqIKx51Plvm7vreg==
X-Received: by 2002:a0d:d816:0:b0:615:35e1:e512 with SMTP id a22-20020a0dd816000000b0061535e1e512mr579589ywe.0.1712864586717;
        Thu, 11 Apr 2024 12:43:06 -0700 (PDT)
Message-ID: <10931f84-3c83-4efd-9a78-933f3e9de3f2@citrix.com>
Date: Thu, 11 Apr 2024 20:43:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] gzip: move crc state into consilidated gzip state
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-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: <20240411152518.2995-5-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index c8dd35962abb..6c8c7452a31f 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -1125,16 +1125,14 @@ static int __init inflate(struct gzip_data *gd)
>   *
>   **********************************************************************/
>  
> -static ulg __initdata crc_32_tab[256];
> -static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss */
> -#define CRC_VALUE (crc ^ 0xffffffffUL)
> +#define CRC_VALUE (gd->crc ^ 0xffffffffUL)
>  
>  /*
>   * Code to compute the CRC-32 table. Borrowed from
>   * gzip-1.0.3/makecrc.c.
>   */
>  
> -static void __init makecrc(void)
> +static void __init makecrc(struct gzip_data *gd)
>  {
>  /* Not copyrighted 1990 Mark Adler */
>  
> @@ -1151,7 +1149,7 @@ static void __init makecrc(void)
>      for (i = 0; i < sizeof(p)/sizeof(int); i++)
>          e |= 1L << (31 - p[i]);
>  
> -    crc_32_tab[0] = 0;
> +    gd->crc_32_tab[0] = 0;
>  
>      for (i = 1; i < 256; i++)
>      {
> @@ -1162,11 +1160,11 @@ static void __init makecrc(void)
>              if (k & 1)
>                  c ^= e;
>          }
> -        crc_32_tab[i] = c;
> +        gd->crc_32_tab[i] = c;
>      }
>  
>      /* this is initialized here so this code could reside in ROM */
> -    crc = (ulg)0xffffffffUL; /* shift register contents */
> +    gd->crc = (ulg)0xffffffffUL; /* shift register contents */
>  }
>  
>  /* gzip flag byte */

I can't see any way that a non-32bit value ever gets stored, because 'e'
doesn't ever have bit 32 set in it.  I have a sneaking suspicion that
this is code written in the 32bit days, where sizeof(long) was still 4.

This change, if correct, halves the size of gzip_state.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 19:43:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 19:43:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704184.1100413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv0KN-0004Be-Dx; Thu, 11 Apr 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 704184.1100413; Thu, 11 Apr 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 1rv0KN-0004BX-As; Thu, 11 Apr 2024 19:43:19 +0000
Received: by outflank-mailman (input) for mailman id 704184;
 Thu, 11 Apr 2024 19:43: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=RFZQ=LQ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rv0KL-0003vH-Ma
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 19:43:17 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2606::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bce71aed-f83b-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 21:43:15 +0200 (CEST)
Received: from AM6P194CA0049.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:84::26)
 by PA6PR08MB10624.eurprd08.prod.outlook.com (2603:10a6:102:3d2::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.53; Thu, 11 Apr
 2024 19:43:13 +0000
Received: from AM3PEPF0000A78F.eurprd04.prod.outlook.com
 (2603:10a6:209:84:cafe::7e) by AM6P194CA0049.outlook.office365.com
 (2603:10a6:209:84::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Thu, 11 Apr 2024 19:43:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A78F.mail.protection.outlook.com (10.167.16.118) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Thu, 11 Apr 2024 19:43:13 +0000
Received: ("Tessian outbound a35d20b28d50:v300");
 Thu, 11 Apr 2024 19:43:12 +0000
Received: from 9593e0edad37.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DFA43A8D-08BA-4CF7-B16E-F7E0EA0B39A6.1; 
 Thu, 11 Apr 2024 19:43:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9593e0edad37.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 11 Apr 2024 19:43:05 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV1PR08MB8129.eurprd08.prod.outlook.com (2603:10a6:150:93::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 11 Apr
 2024 19:43:03 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Thu, 11 Apr 2024
 19:43:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bce71aed-f83b-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ECzkhhiGFjKSBZp+CIuPDFv1+3QCfCXdeJfe4G7OY9nawYr+OkzvRP5iXYKafrnnZ91tJrGDjHg82FvrNopj2JSdVvsO8wlStjJku/9qg16qbo+3RpmPPY8i7sV/hhsNwXhqssi0UEDqnzUei5uPrf4HU8ervjlGEvMKIVAPtBr19ZG6ZhPSZmFocHyvHEN79xeFED+YOvUEzm1kllidG1DC2VyNJloltExFI59eWyFp6qQ+yUGh0QZSwRJEB3+T5RrNAP35oYSeDUYRBPQKPDvDzFGw9MWpCYZpjQUuv43lOBygN6dp2azNtUO8dt9UHYdw59jmHsQbDxXoS6Yrog==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1XZUo5+4/X9ukIpEB25eh7G1VHUHBuYkYHmvfsCpbbA=;
 b=aaCXurSDii4Z+RxcAdugsF+rfIXdDeCYIeW69ks+DpEECAOixF5BzH5Hh3c9ZV7MlrZtNkqlbh8iZUN7vjSoWUunkzWbnQMCvmgv7MeLS5DZF00jb3ZYne/mkTMR892Rm3tVutq+9MZVIn0G9D7wS5aijrC693a8uz1eVpHcF/KIDQLfpOdqLmXd+BDxsXzwmr0UJUqAR6P9A07zdSs71M0kSw+DEwr1lJzytEtK/NDnGpJ4xc3aM0pgyaYoFPd5L489R1VhqMINx+wi9B5oONF6sd5Afhc+N0jd1rzY2wFGFFrZRjQ7c5F9DqMt0u29bYC/XcJmNuHx3dtJ/90Pvg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1XZUo5+4/X9ukIpEB25eh7G1VHUHBuYkYHmvfsCpbbA=;
 b=Et610zP3+b6nsHNixwvVuzJDmSCMo8jUFcC3abCqY8KQs3fwyVYKqmR9POPmbErGLNEQxB23TGKzAOOPsTgvJLHhy1NQrnqpROusxflvCrK2IQG0BguBO2QyU3wzEeIWDK9UHxTTPuyttsGamfe2HGhA4zXx07W1zdOElpTuSN0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1e42fa407eb9de45
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UH4V4+xam9PkarsUHMpclmjw0oOIjwP7+aWFYFSgDgvj98ogMLsEvlH1mZrKx/W+hyCvxmnQz5vk+T6IQr2Z7jvoxmBWbPig+LMZZar/+KAa9kwx5Th4AHk58qKWozxJxCZkllfgPBmW+IBxsrbwCdb8/SXIw8wwzYNS6bmtCqRlthEbRH2dB3KHXKvb6QRouGeryLMnwyk7o6neOjfu8uYY5eYnPjAe6nOZd+SLAwzNCObLW+KmVgXMYolDsUs6IE/mR7mPCaRpGWjxB0rdG0yyCwEN1aKCIzIoFhjAQRiAjYsRlY8uDy8jchsszAMVu0SU/dTK47ddilXxMBwBdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1XZUo5+4/X9ukIpEB25eh7G1VHUHBuYkYHmvfsCpbbA=;
 b=OcGGFepHTNUmn93qwuVfvYInLB5zIDad1zN0G3yUMtNatNLdfDj4kXPE71VLCVdfx8l+U5DqEhnDT0tHZqF5pDnes5WsaMgTN0aq/i8BQhkDoQYBfaf1A/DjgW4i4adoufwwE6QtWTvhZFDzCqU12lYrXz7qoHmnAtY7/wgsAakl27WLXZnhAGzNnnSo2msJ+zok6Y8FrzlhHd4ubC0ejNnUXawZsZy+pIQZF1no4ePZ6HbSiuVSpmx+21iydttIVYMOkNrxsfS/RWGxM5gNRoerilOa7SEllScyM8PNEdOlWsJew96nGryX4Q9llQI4M0RydrdMx7//x4kAjHwCPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1XZUo5+4/X9ukIpEB25eh7G1VHUHBuYkYHmvfsCpbbA=;
 b=Et610zP3+b6nsHNixwvVuzJDmSCMo8jUFcC3abCqY8KQs3fwyVYKqmR9POPmbErGLNEQxB23TGKzAOOPsTgvJLHhy1NQrnqpROusxflvCrK2IQG0BguBO2QyU3wzEeIWDK9UHxTTPuyttsGamfe2HGhA4zXx07W1zdOElpTuSN0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Jason Andryuk <jason.andryuk@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/5] gzip: colocate gunzip code files
Thread-Topic: [PATCH 1/5] gzip: colocate gunzip code files
Thread-Index: AQHajCSYwHdHlHteY0Sfgy/E9d+Go7FjOomAgAAt2ACAABA4gA==
Date: Thu, 11 Apr 2024 19:43:03 +0000
Message-ID: <8055E1FC-38DA-4534-BE04-F22AFC7B049F@arm.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-2-dpsmith@apertussolutions.com>
 <AA1FBA57-A643-4758-B99A-B59181B6329A@arm.com>
 <1552c28a-9c31-4771-94d1-20a51b2c641f@citrix.com>
In-Reply-To: <1552c28a-9c31-4771-94d1-20a51b2c641f@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV1PR08MB8129:EE_|AM3PEPF0000A78F:EE_|PA6PR08MB10624:EE_
X-MS-Office365-Filtering-Correlation-Id: c580ea3e-a152-49e0-6a71-08dc5a5fa002
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 siyMNKjnIeJRpN3qdKqUZUYENp36iL9V8yZFR5iOvmF1g4DR3wKYdseNQe2jK3wx2a+VQDzvtRkeORzH6Qp5FJvPxOEiUJgErO9KsfgKpOeM0ZohGaX7mavNus6HQRnmosOFNMay2PvYIh1PhFWLMxcpLeElwwBY3kgRrzJu589hq/OiefGwBC4nWz/t+B6lG1OcdkMFfyeYLDmWt4A98y1IwpCLmfLGJyES5Xcu18dtsnSr6+O9Tsu7nyPX+4Rq0lG55p6sH5ZdgZz0MJeCCTleBRiaNga0eLHb4ypnStCWcoCP3cM09lyrsl2dUr+EJfVGEO2BBLdf1pcCFGd8Cxzu2oF7vQQo2eNlD08iWfoDkLOSEA80gmSkkraHed3Pxubo90yCgojQUAFjd/VPVrmcu04bn/Uaxw7cEFyatl1oHFay0eeSDpsRrB4yQc0NvUQIf4H77C8GL/044C8d4cUkpLMNbbFHftO0fzZpSyVNiueuS5QOCtCrtM3xw05qAonKWyQr1+WiE5jnCQunBfmaT9A4TC+DhyDtz52Z1QhczC+yi5B/CO/n702fIVnfwK+vTtQ1GL1vBeeyzFGFzd54El7doUrXVViOJWzAsltL+hBxLNUW/qHTFKPolJD4hq78KRb9xVbPVR9ehqLiMHtZebMT5G2SAXXzZWo/c+5gJ8wYhgHUGGhYQf9ytAbR5DTTnt1Kh1jz7mcuwYXpUuxRqFZyb2nePJ9I4+tRUG4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4508A0D341A7764EAA14644E237446B3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8129
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A78F.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d93c2e80-6d79-45af-d83b-08dc5a5f9a27
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i0g2HZJ6ZtWcfzqCa7m9paAApWz2ALxAlim77sG/d8QyNNhK40KSb2lCvOVqsXZAg6Mve/yZbbCDLmfpJo6DTdvZgNEmeGbodtI/fyXgwDcjQu5H2y5cYt4z2kfgz0xkY2V5fgTZn3QZb1g3OTv9tt4iZafdKoehsryzSwwfFMBPSQ04eYRR5hyDq/mi773JxxHi9Swa6U5fTFNPPGyw68r3I28UjNSkM0QibkphmZF6QOIVvcCrq/vW1Un5BstH7Tmv8qCs2Hv6Q3ZRmt19BDaUDr4+b7SoPsYwYJTV9G5EbbcLbE2k/8kZ9RLUAS7XCf5YE6AWz15pT4/mk38GPE3wkDBv2lGVsB7fFZ/OtUVTvodxEb2UAhbqn5SaoBXm0tss0zUJb4COg9VzijLrIxdka/jYJPavrWpvdiSDQlLZ99aOHCRQ2KbczS7AjuVPQICHQYvatSbZ9USSuWcINBOoMopL6bsU2RFBp+4Jyj0kCGIG0vWqN9WwzfZyphbeRqg+0E6zH72OSx13b4mK/Y63yF2qL8K2lVFfcgX9lG2K3K1ery16rQ9JmasinXX7iKagUt/ErGoCdR8aizRba+xm1j9T1SeLzy6sg7z5MuXIMAwhElTIiSOd754GFabDZBjGZ1s5rxHutSm3RW2EN22AlLaEYgND+RpYBbUVA4vbNDESBlQfQWJMuS5BcnzFTO+ZEEAxunr3DJ7oECCpvodanKhd9qRbJ1iBNp4Dbza30us85qyqMVLhwkCrzQrz
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2024 19:43:13.2204
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c580ea3e-a152-49e0-6a71-08dc5a5fa002
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A78F.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10624


>>> create mode 100644 xen/common/gzip/Makefile
>>> rename xen/common/{ =3D> gzip}/gunzip.c (100%)
>>> rename xen/common/{ =3D> gzip}/inflate.c (100%)
>> For inflate.c you will need to update also docs/misra/exclude-list.json
>=20
> Something like this?
>=20
> diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
> index 36bad9e54f7d..095636415897 100644
> --- a/docs/misra/exclude-list.json
> +++ b/docs/misra/exclude-list.json
> @@ -118,7 +118,7 @@
>              "comment": "Imported from Linux, ignore for now"
>          },
>          {
> -            "rel_path": "common/inflate.c",
> +            "rel_path": "common/gzip/inflate.c",
>              "comment": "Imported from Linux, ignore for now"
>          },
>          {

Yes indeed


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 19:49:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 19:49:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704193.1100423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv0Q8-0006WO-4c; Thu, 11 Apr 2024 19:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704193.1100423; Thu, 11 Apr 2024 19: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 1rv0Q8-0006WH-1g; Thu, 11 Apr 2024 19:49:16 +0000
Received: by outflank-mailman (input) for mailman id 704193;
 Thu, 11 Apr 2024 19:49:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rv0Q7-0006WB-2P
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 19:49:15 +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 91c722a5-f83c-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 21:49:12 +0200 (CEST)
Received: by mail-vk1-xa2b.google.com with SMTP id
 71dfb90a1353d-4daa83054easo45359e0c.1
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 12:49:12 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u3-20020a0cdd03000000b0069b53e6cc5bsm274476qvk.94.2024.04.11.12.49.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 12: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: 91c722a5-f83c-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712864952; x=1713469752; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=foP/h3FxkOHZc0fxJCK6lQ8HGxx6TvDZYxOB8aJlUNg=;
        b=VNki9vZ7qhKuvgQ9lzMmO8VpqzSg2c8vyBAicuNuhn46Sp2x24/fGwr2kBlpN95L4q
         eHwyGkFGWrfKqY8VtR1nLvKQ/aPKU6M3MUsuGz0pVWs3Wb97G/4nlg+SpCGgpdpKkgkP
         DuQYiUCxYkjsikoQqt6LplX6sJj5TAPMvIMXI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712864952; x=1713469752;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=foP/h3FxkOHZc0fxJCK6lQ8HGxx6TvDZYxOB8aJlUNg=;
        b=RZQQPFdvMvKjlrcXOl/vs3JPp70Jz+vFNkW2B0q8x54oVElr9Fgxf0BwhoWYJ93r/T
         xILZcSvbKLScOYDtFDsETYkMHwixUtxQSjZXV3CQLl0fUeQbfGPfWAsGsXY77ibtTRWy
         kEEo9yr8cA+I231IoBuWw0OIBvbpE0yPZmneKbIltXTkiM4phT9402K/hOBJtbp5uLf3
         yjBR4nJmclS2U+HmP7NjBsX25uh9Vj4PWVGPJdYhZVYhCmy7uyZ4RWayd7wEP/Z0UmPg
         2D89Ifi7kh7IPYpOz5GiL5cVuTM9PjWvlhbjUGBR4fBivVvS4NFh7Qy5CQO/Bn2/uSyN
         RYEQ==
X-Forwarded-Encrypted: i=1; AJvYcCUVVchvgqhzChxW7yn32th91KFHHzpdp71t9mXjpXKmagmjBrPX6XZd/c40hPShNhwFCxjjuudExGKmutE0hZSy9utThSlPWITAu6t0s2c=
X-Gm-Message-State: AOJu0YwdKWCbgyV8Xag6529Ab6xx7nccU38s9r96mYTpexRpcTh/E8nj
	Ovqs4O1ANULiaDEcSHbPsqDCwwBnliQpmB3dzDF8p1rM8YBcnnPctYayECj0rKPLgGz79jkUQkt
	YqY4=
X-Google-Smtp-Source: AGHT+IEMPpbWh4NeYKHax8jYWC3L9s7tn8YQReSKuvqMmA2Nsnln3wdksJ5n4JvNRiGtM+6SAVa5sQ==
X-Received: by 2002:a05:6122:17a2:b0:4d8:37eb:9562 with SMTP id o34-20020a05612217a200b004d837eb9562mr867008vkf.0.1712864950556;
        Thu, 11 Apr 2024 12:49:10 -0700 (PDT)
Message-ID: <5e822498-cbe1-45e5-806c-1c14aaf76a6d@citrix.com>
Date: Thu, 11 Apr 2024 20:49:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] gzip: move huffman code table tracking into gzip
 state
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-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: <20240411152518.2995-6-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/common/gzip/gunzip.c  |  2 ++
>  xen/common/gzip/inflate.c | 26 ++++++++++++--------------
>  2 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
> index a1b516b925c9..79a641263597 100644
> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -31,6 +31,8 @@ struct gzip_data {
>  
>      unsigned long crc_32_tab[256];
>      unsigned long crc;
> +
> +    unsigned hufts;        /* track memory usage */
>  };
>  
>  #define OF(args)        args
> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index 6c8c7452a31f..53ee1d8ce1e3 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -140,7 +140,7 @@ struct huft {
>  };
>  
>  /* Function prototypes */
> -static int huft_build OF((unsigned *, unsigned, unsigned,
> +static int huft_build OF((struct gzip_data *, unsigned *, unsigned, unsigned,
>                            const ush *, const ush *, struct huft **, int *));
>  static int huft_free OF((struct huft *));
>  static int inflate_codes OF((struct gzip_data *, struct huft *, struct huft *, int, int));
> @@ -311,8 +311,6 @@ static const int dbits = 6;          /* bits in base distance lookup table */
>  #define BMAX 16         /* maximum bit length of any code (16 for explode) */
>  #define N_MAX 288       /* maximum number of codes in any set */
>  
> -static unsigned __initdata hufts;      /* track memory usage */
> -
>  /*
>   * Given a list of code lengths and a maximum table size, make a set of
>   * tables to decode that set of codes.  Return zero on success, one if
> @@ -329,8 +327,8 @@ static unsigned __initdata hufts;      /* track memory usage */
>   * @param m Maximum lookup bits, returns actual
>   */
>  static int __init huft_build(
> -    unsigned *b, unsigned n, unsigned s, const ush *d, const ush *e,
> -    struct huft **t, int *m)
> +    struct gzip_data *gd, unsigned *b, unsigned n, unsigned s, const ush *d,
> +    const ush *e, struct huft **t, int *m)
>  {
>      unsigned a;                   /* counter for codes of length k */
>      unsigned f;                   /* i repeats in table every f entries */
> @@ -492,7 +490,7 @@ static int __init huft_build(
>                      goto out;
>                  }
>                  DEBG1("4 ");
> -                hufts += z + 1;         /* track memory usage */
> +                gd->hufts += z + 1;         /* track memory usage */
>                  *t = q + 1;             /* link to list for huft_free() */
>                  *(t = &(q->v.t)) = (struct huft *)NULL;
>                  u[h] = ++q;             /* table starts after link */
> @@ -787,7 +785,7 @@ static int noinline __init inflate_fixed(struct gzip_data *gd)
>      for (; i < 288; i++)          /* make a complete, but wrong code set */
>          l[i] = 8;
>      bl = 7;
> -    if ((i = huft_build(l, 288, 257, cplens, cplext, &tl, &bl)) != 0) {
> +    if ((i = huft_build(gd, l, 288, 257, cplens, cplext, &tl, &bl)) != 0) {
>          free(l);
>          return i;
>      }
> @@ -796,7 +794,7 @@ static int noinline __init inflate_fixed(struct gzip_data *gd)
>      for (i = 0; i < 30; i++)      /* make an incomplete code set */
>          l[i] = 5;
>      bd = 5;
> -    if ((i = huft_build(l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
> +    if ((i = huft_build(gd, l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
>      {
>          huft_free(tl);
>          free(l);
> @@ -894,7 +892,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
>  
>      /* build decoding table for trees--single level, 7 bit lookup */
>      bl = 7;
> -    if ((i = huft_build(ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
> +    if ((i = huft_build(gd, ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
>      {
>          if (i == 1)
>              huft_free(tl);
> @@ -971,7 +969,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
>  
>      /* build the decoding tables for literal/length and distance codes */
>      bl = lbits;
> -    if ((i = huft_build(ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
> +    if ((i = huft_build(gd, ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
>      {
>          DEBG("dyn5b ");
>          if (i == 1) {
> @@ -983,7 +981,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
>      }
>      DEBG("dyn5c ");
>      bd = dbits;
> -    if ((i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
> +    if ((i = huft_build(gd, ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
>      {
>          DEBG("dyn5d ");
>          if (i == 1) {
> @@ -1090,15 +1088,15 @@ static int __init inflate(struct gzip_data *gd)
>      /* decompress until the last block */
>      h = 0;
>      do {
> -        hufts = 0;
> +        gd->hufts = 0;
>  #ifdef ARCH_HAS_DECOMP_WDOG
>          arch_decomp_wdog();
>  #endif
>          r = inflate_block(gd, &e);
>          if (r)
>              return r;
> -        if (hufts > h)
> -            h = hufts;
> +        if (gd->hufts > h)
> +            h = gd->hufts;
>      } while (!e);
>  
>      /* Undo too much lookahead. The next read will be byte aligned so we


AFAICT, hothing in inflate() reads h.  So hufts is a write-only variable?

Can't we just delete it, rather than plumb it through into the state
block?  It would certainly shrink this patch somewhat.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 20:05:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 20:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704200.1100435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv0fb-0002D5-Eq; Thu, 11 Apr 2024 20:05:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704200.1100435; Thu, 11 Apr 2024 20:05:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv0fb-0002Cy-Bz; Thu, 11 Apr 2024 20:05:15 +0000
Received: by outflank-mailman (input) for mailman id 704200;
 Thu, 11 Apr 2024 20:05:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eZ5N=LQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rv0fa-0002Cs-6z
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 20:05:14 +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 cdc09485-f83e-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 22:05:12 +0200 (CEST)
Received: by mail-ot1-x331.google.com with SMTP id
 46e09a7af769-6ea260f51b8so156120a34.3
 for <xen-devel@lists.xenproject.org>; Thu, 11 Apr 2024 13:05:12 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b3-20020ac86783000000b00430bddc75a5sm1307634qtp.23.2024.04.11.13.05.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 11 Apr 2024 13: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: cdc09485-f83e-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712865911; x=1713470711; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e1XRXFV8O7eANmK8l6b+KFVGJ5AzU2POAqny7OawXFA=;
        b=NqrQZn4QAJ537kvc03TlL8vCE1N7ADYsXjDlI6XXyVZ84sGLMoUfWI/kVt7gONB8Tl
         oYFnyCHQJg0K6b53bDNUGc+ZJOXUbEi2kQar0TPRRfnu4pyDuxk2L69JwkOZiwZnSg2k
         U+B0nTIJZMsG42p4YaZ5YvBu2b4ahOCmq2zjk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712865911; x=1713470711;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e1XRXFV8O7eANmK8l6b+KFVGJ5AzU2POAqny7OawXFA=;
        b=DFduJwgkzQyA1MO7IJ6c6FS0BYItNeLBHd+3hNq7mE8FZs/K7y77AqwX9nVTvXAE7Y
         uBiw9FJ9tH3DagRcXbRQSXGactWpIvBXPrM1sIzVH/5Y0c/FrFhfSbnttE3YLb6XzfEY
         ffoAjDF9SEO1da/HyDOk+wQpCeOGkqtfue7Dqc6Kc6wWjdPyMmkGxvMY1sGcxvUM2eFG
         smVKRP8gA1QcRmQ+Gg39u8zXV8Y6GQ48mnmPYpWQUdQVD4MFyMZb06ASknvt+0ZtFxBx
         Qsj6trJ3oXKsB63YieAHS0rbBU42j1iIXY7DJkX3pAT7JPutiUhW5sqD/PR3HMKgsUgw
         hW6g==
X-Forwarded-Encrypted: i=1; AJvYcCUgPLFL18gqW1ccUDbPkXgJwO2oGucnV4zPeVRQpKyNzcFlrNiWCDOz7Q6eiXdvB+Nxvrz7v1uFqbptA4ZXEXnAHSXoBNq3VQsUXtVvdjM=
X-Gm-Message-State: AOJu0YyTyFDMbFfg+rQszRyylMElrGSNF9KluZLFUTqkwCdxMezjGLRl
	XY1R3x05AJXPhciESb5b8rPlFH8OpxciKKXyeT2pcjdSDOAO3pkGDV/caqpfmsg=
X-Google-Smtp-Source: AGHT+IGKKvi5jwjQau3n674BN8FZ/22UpEqGnIvll7f4pPQ1Gn8VfbOZGUycBX5bNQl7XyjYFGkt/w==
X-Received: by 2002:a05:6808:c2:b0:3c6:1477:3b0a with SMTP id t2-20020a05680800c200b003c614773b0amr669549oic.19.1712865911324;
        Thu, 11 Apr 2024 13:05:11 -0700 (PDT)
Message-ID: <4bf2e6ea-a7fc-4cc6-aefe-4a9ed9ae97e1@citrix.com>
Date: Thu, 11 Apr 2024 21:05:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 0/3] x86/iommu: Drop IOMMU support when cx16 isn't
 supported
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1712580356.git.teddy.astie@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: <cover.1712580356.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08/04/2024 2:02 pm, Teddy Astie wrote:
> All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
> specifically crafted virtual machines).
>
> Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
> while cx16 isn't, those paths may be bugged and are barely tested, dead code
> in practice.
>
> Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
> no-cx16 handling logic from VT-d and AMD-Vi drivers.
>
> Teddy
>
> Changed in v2:
>
>  * Added cleanup no-cx16 code for x2APIC
>  * Fixed commit and code formatting
>  * Added missing Suggested-by note
>
> Teddy Astie (3):
>   VT-d: Disable IOMMU if cx16 isn't supported
>   AMD-Vi: Disable IOMMU if cx16 isn't supported
>   VT-d: Cleanup MAP_SINGLE_DEVICE and related code
>
>  xen/arch/x86/apic.c                         |  6 ++
>  xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
>  xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
>  xen/drivers/passthrough/vtd/intremap.c      | 65 ++++-----------
>  xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
>  xen/drivers/passthrough/vtd/vtd.h           |  5 +-
>  6 files changed, 71 insertions(+), 145 deletions(-)
>

Sorry, but you've sent out two copies of each patch in this series, and
it's not clear if they're identical or not.

Please could you send out another version, making sure there's only one
of each patch.

Also, you need to swap ENOSYS with ENODEV, as per Jan's review on v1.

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 20:14:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 20:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704207.1100449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv0ou-0005IX-Ay; Thu, 11 Apr 2024 20:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704207.1100449; Thu, 11 Apr 2024 20: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 1rv0ou-0005IQ-7s; Thu, 11 Apr 2024 20:14:52 +0000
Received: by outflank-mailman (input) for mailman id 704207;
 Thu, 11 Apr 2024 20:14:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=llhl=LQ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rv0os-0005IK-Sk
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 20:14:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 247910b7-f840-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 22:14:47 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 882754EE0739;
 Thu, 11 Apr 2024 22:14:46 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 247910b7-f840-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Thu, 11 Apr 2024 22:14:46 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 1/9] x86/vlapic: tidy switch statement and address
 MISRA violation
In-Reply-To: <dd6ad7c5-bf99-42d4-9082-9ff87185705c@citrix.com>
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com>
 <36e84201-b31f-4204-8cff-ed50a01a47ed@suse.com>
 <e847ee06b76b816a62a555dfa6d52a4a@bugseng.com>
 <dd6ad7c5-bf99-42d4-9082-9ff87185705c@citrix.com>
Message-ID: <3c216cddfe9151ab27aadc3ece6b12dc@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-04-11 14:03, Andrew Cooper wrote:
> On 09/04/2024 8:45 pm, Nicola Vetrini wrote:
>> On 2024-04-08 09:32, Jan Beulich wrote:
>>> On 05.04.2024 11:14, Nicola Vetrini wrote:
>>>> Remove unneded blank lines between switch clauses.
>>> 
>>> "Unneeded" based on what? We're carefully trying to improve
>>> readability of
>>> large switch() statements by adding such blank lines (at least)
>>> between non-
>>> fall-through case blocks, and you go and remove them?
>>> 
>>> Jan
>> 
>> I wrote that based on this earlier suggestion [1]. If I misunderstood
>> the suggestion, then I apologize and feel free to strip them if you 
>> want.
>> 
>> [1]
>> https://lore.kernel.org/xen-devel/e40579ba-acae-4c11-bea1-a5b83208db10@suse.com/
> 
> I'm afraid I also can't figure out what that suggestion was supposed to
> be, but we definitely do want to keep blank lines.  They're 
> specifically
> for improved legibility.
> 

I interpreted that message as being a suggestion to eliminate blank 
lines, which was obviously incorrect. Anyways, thanks for the effort on 
adjusting and committing the earlier patches.

> But fighting over spacing like this is a waste of everyone's time.  
> I've
> taken patches 1 thru 7, accounting for the suggestions made so far, and
> adjusted to retain the blank lines.
> 
> Please double check carefully.
> 
> Patch 8 didn't apply because SAF-4-safe has been used for something 
> else
> now.  You'll need to rebase and resubmit patches 8 and 9.
> 

I'll certainly do so when I'm fully back to work next week.

> ~Andrew


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


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 21:30:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 21:30:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704219.1100459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv1zY-00030E-Gw; Thu, 11 Apr 2024 21:29:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704219.1100459; Thu, 11 Apr 2024 21:29:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv1zY-000307-Dw; Thu, 11 Apr 2024 21:29:56 +0000
Received: by outflank-mailman (input) for mailman id 704219;
 Thu, 11 Apr 2024 21:29: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=UKzY=LQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rv1zW-000301-MP
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 21:29:54 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a13239c4-f84a-11ee-b908-491648fe20b8;
 Thu, 11 Apr 2024 23:29:52 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 619F6CE2357;
 Thu, 11 Apr 2024 21:29:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F00FC072AA;
 Thu, 11 Apr 2024 21:29: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: a13239c4-f84a-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712870989;
	bh=zMYXoG2iWs0Wt6yI2K32YGYw8c6L89iCTp3MY8ML2fE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mSvDhoTj/pyzUFU/iGliwTq4lqp1g5k39z2v6/NbKfy0swC08lLjI68XhWG1dvSS+
	 RkzL/dOphMQt0KQFW2hgRfDxFpZzcrPAAqTZ2ETplNiTvKyYFlhLaqSMSnBt3qVrWW
	 7soitKTgqTtbbRE5q39c6pl3cJ5iAQ2bKx2k3pQrj23T9UP2/alnpenq69u2dUGz6/
	 gUrzVbD5LjM3pIK856D2RB7bW++EnUNslKFxfg/9k2mkVjAKHITSCDV+k9oU2LtlsM
	 hxJ6dJk+hnNf4PaLdkxU8X/Hxd78IEKeott8wt20ozwGVecmwSlU5XSG2GauQ5c4MI
	 58tDtrbBgqMoQ==
Date: Thu, 11 Apr 2024 14:29:39 -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>, 
    George Dunlap <George.Dunlap@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH] docs/hypercall-abi: State that the hypercall page is
 optional
In-Reply-To: <20240411150458.1726116-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404111429330.997881@ubuntu-linux-20-04-desktop>
References: <20240411150458.1726116-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-636236586-1712870989=:997881"

  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-636236586-1712870989=:997881
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 10 Apr 2024, Andrew Cooper wrote:
> Xen doesn't care (and indeed, cannot feasibly tell) whether a hypercall was
> initiated from inside or outside a hypercall page.
> 
> For SEV-SNP/TDX encrypted VMs, use of a hypercall page would violate the
> integrity properties wanted.
> 
> Explicitly state that the hypercall page is optional.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  docs/guest-guide/x86/hypercall-abi.rst | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/guest-guide/x86/hypercall-abi.rst b/docs/guest-guide/x86/hypercall-abi.rst
> index 83890e1cb613..8004122ca49d 100644
> --- a/docs/guest-guide/x86/hypercall-abi.rst
> +++ b/docs/guest-guide/x86/hypercall-abi.rst
> @@ -79,7 +79,8 @@ Hypercall Page
>  ==============
>  
>  The hypercall page is a page of guest RAM into which Xen will write suitable
> -transfer stubs.
> +transfer stubs.  It is intended as a convenience for guests, but use of the
> +hypercall page is not mandatory for making hypercalls to Xen.
>  
>  Creating a hypercall page is an isolated operation from Xen's point of view.
>  It is the guests responsibility to ensure that the hypercall page, once
> 
> base-commit: 6cb501e3e6db36b1b4b6345f5af8adc0a291b404
> -- 
> 2.30.2
> 
--8323329-636236586-1712870989=:997881--


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 21:50:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 21:50:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704225.1100469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv2JN-00084f-8G; Thu, 11 Apr 2024 21:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704225.1100469; Thu, 11 Apr 2024 21:50:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv2JN-00084Y-4B; Thu, 11 Apr 2024 21:50:25 +0000
Received: by outflank-mailman (input) for mailman id 704225;
 Thu, 11 Apr 2024 21:50:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UKzY=LQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rv2JM-000848-93
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 21:50:24 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d843d4d-f84d-11ee-94a3-07e782e9044d;
 Thu, 11 Apr 2024 23:50:21 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 84A94CE23D1;
 Thu, 11 Apr 2024 21:50:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 492A6C072AA;
 Thu, 11 Apr 2024 21:50: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: 7d843d4d-f84d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712872217;
	bh=qXTnxlgiUSzk3qvLwDue25bCa5BIGucthFflB3c4mcE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WP5kgsY2qEhUVxa5YwgLExTCCb52hAGeIfPQeihhhNlsbXJgiTfK1DmGK4wl4k20s
	 Z1v9UKqWomT8JFr7r5sRaFpgkZLizNQGTJ9oIApza2EvHTyHyO9Dv0ONbujdmjj+zp
	 ArzFM6ibTRhmaNKZNUO+4hu+zMFqtjSMCaZpeF1yIoy1dUdrNw359wtCAgFTnjPCLX
	 7xPsg62Td8gqq8uEXe0uRxd5XLBajKwUeOqzF66JMGNZnEisKQdbd/QZ0sMgg2RPmi
	 mGoK3xxeRrydsSJIc2TJ/NoqQ2th/BHEA91Pj5/NPjjDp3AiY0YXuk/4ftNfCaM0k0
	 FBNgNfIVyexSA==
Date: Thu, 11 Apr 2024 14:50:15 -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>, 
    "viresh.kumar@linaro.org" <viresh.kumar@linaro.org>, 
    "olekstysh@gmail.com" <olekstysh@gmail.com>, Julien Grall <julien@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, Bertrand.Marquis@arm.com, 
    michal.orzel@amd.com, Artem_Mygaiev@epam.com, Edgar.Iglesias@amd.com
Subject: Re: [VirtIO] Support for various devices in Xen
In-Reply-To: <5fb49c84-0f54-49a5-9106-7f207b3eee4c@oss.nxp.com>
Message-ID: <alpine.DEB.2.22.394.2404111446490.997881@ubuntu-linux-20-04-desktop>
References: <PA4PR04MB95655F653BBFE3A70A8CD0FBF9682@PA4PR04MB9565.eurprd04.prod.outlook.com> <alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop> <ZaCOVSuEJtsAj9G5@amd.com> <5fb49c84-0f54-49a5-9106-7f207b3eee4c@oss.nxp.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1568205576-1712872016=:997881"
Content-ID: <alpine.DEB.2.22.394.2404111447130.997881@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-1568205576-1712872016=:997881
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2404111447131.997881@ubuntu-linux-20-04-desktop>

-Vikram +Edgar

On Thu, 11 Apr 2024, Andrei Cherechesu wrote:
> Hi Stefano, Vikram, Viresh,
> 
> Thank you for your answers and support, and sorry for my late reply.
> 
> 
> On 12/01/2024 02:56, Vikram Garhwal wrote:
> > Hi Andrei & Stefano,
> >
> > Actually, QEMU patches are already upstreamed for virtio-blk and virtio-net
> > devices available in v8.2.0.
> > For virtio with grants, the patches are WiP.
> >
> > On Xen side, we are yet to upstream xen-tools patches which basically generate
> > the right arguments when invoking QEMU.
> > Here are down stream patches if you want:
> > 1. https://github.com/Xilinx/xen/commit/be35b46e907c7c78fd23888d837475eb28334638
> > 2. For Virtio disk backend:
> >     https://github.com/Xilinx/xen/commit/947280803294bbb963f428423f679d074c60d632
> > 3. For Virtio-net:
> >     https://github.com/Xilinx/xen/commit/32fcc702718591270e5c8928b7687d853249c882
> > 4. For changing the machine name to Xenpvh(to align with QEMU changes):
> >     https://github.com/Xilinx/xen/commit/5f669949c9ffdb1947cb47038956b5fb8eeb072a
> >> The libxl changes are lagging behind a bit and you might have to use
> >> device_model_args to enable virtio backends in QEMU.
> > But QEMU 8.2.0 can still be used for virtio-net on ARM.
> >
> > @Andrei here is an example on how to use virtio-net with QEMU:
> >     -device virtio-net-device,id=nic0,netdev=net0,mac=00:16:3e:4f:43:05 \
> >     -netdev type=tap,id=net0,ifname=vif1.0-emu,br=xenbr0,script=no,downscript=no\
> >     -machine xenpvh
> >
> > Please make sure to use xenpvh as QEMU machine.
>
> I've managed to successfully get a DomU up and running with the rootfs based on virtio-blk. I'm running QEMU 8.2.1, Xen 4.18 + Vikram's downstream patches, Linux 6.6.12-rt, built through yocto with some changes to xen-tools and QEMU recipes.
> 
> However, when also enabling PV networking through virtio-net, it seems that DomU cannot successfully boot. The device model args passed by xen-tools when invoking QEMU look exactly like what Vikram said they should.
> 
> While executing `xl -v create ..` I can see some error regarding the device model crashing:
> 
>         libxl: debug: libxl_exec.c:127:libxl_report_child_exitstatus: domain 1 device model (dying as expected) [300] died due to fatal signal Killed
> 
> But the error is not fatal and the DomU spawn goes on, it boots but never reaches prompt. It seems that kernel crashes silently at some point. Though, the networking interface is present since udev tries to rename it right before boot hangs:
> 
>         [    4.376715] vif vif-0 enX0: renamed from eth1
> 
> Why would the QEMU DM process be killed, though? Invalid memory access?
> 
> Here are the full logs for the "xl create" command [0] and for DomU's dmesg [1].
> Any ideas as to why that might happen, some debugging insights, or maybe some configuration details I could have overlooked?
> 
> Thank you very much for your help once again.

Edgar (CCed) has recently setup a working system with QEMU and the
xenpvh machine for ARM. He should be able to help you.

Cheers,

Stefano


> [0] https://privatebin.net/?0fc1db27433dbcb5#4twCBMayizr7x89pxPzNqQ198z92q8YxVheHvNDsVAtd
> [1] https://privatebin.net/?ec3cb13fe2a086a1#F1zynLYQJCUDfZiwikZtRBEPJTACR2GZX6jn2ShXxmae
> >> For SCMI, I'll let Bertrand (CCed) comment.
> >>
> >> Cheers,
> >>
> >> Stefano
> >>
> >>
> >> On Thu, 11 Jan 2024, Andrei Cherechesu (OSS) wrote:
> >>> Hello,
> >>>
> >>> As I've mentioned in previous discussion threads in the xen-devel
> >>> community, we are running Xen 4.17 (uprev to 4.18 in progress) on NXP
> >>> S32G automotive processors (Cortex-A53 cores) and we wanted to know more
> >>> about the support for various VirtIO device types in Xen.
> >>>
> >>> In the Xen 4.17 release notes, the VirtIO standalone backends mentioned
> >>> as supported and tested are: virtio-disk, virtio-net, virtio-i2c and
> >>> virtio-gpio.
> >>>
> >>> However, we've only managed to successfully set up and try some
> >>> use-cases with the virtio-disk standalone backend [0] (which Olexandr
> >>> provided) based on the virtio-mmio transport.
> >>>
> >>> As such, we have a few questions, which we haven't been able to figure
> >>> out from the mailing list discussions and/or code:
> >>>     1. Are there any plans for the virtio-disk repo to have a stable
> >>>     version? Is it going to be long-term hosted and maintained in the
> >>>     xen-troops github repo? Or was it just an one-time PoC implementation
> >>>
> >>>     and the strategy for future VirtIO devices will be based on a more generic
> >>>
> >>>     approach (i.e., without need for a specific standalone app)?
> >>>
> >>>
> >>>     2. With regards to the other backends, we want to try out and provide PV
> >>>
> >>>     networking to a DomU based on virtio-net, but we haven't found any available
> >>>
> >>>     resources for it (e.g., the standalone backend implementation if needed for
> >>>
> >>>     control plane, configuration examples, presentations, demos, docs). Does it
> >>>
> >>>     rely on the QEMU virtio-net or vhost implementation? Are there any examples
> >>>
> >>>     on how to set it up? Any required Xen/Linux Kernel/QEMU versions?
> >>>
> >>>
> >>>     3. What other VirtIO device types are there planned to be supported in Xen?
> >>>
> >>>     I'm supposing libxl will also need changes to accomodate new configuration
> >>>
> >>>     parameters for each of them. Or is there something I'm missing?
> >>>
> >>>
> >>>     4. Also, while we're at it, are there any plans regarding SCMI
> >>>     awareness for Xen (e.g., SCMI Mediator - where the RFC thread from 2022
> >>>
> >>>     seems discontinued)? Or is the preferred approach for sharing SCMI access
> >>>
> >>>     to guests through virtio-scmi?
> >>>
> >>> Thank you very much for the support, once again, and we're also looking
> >>> forward to the progress on the rust-vmm initiative.
> >>>
> >>> Regards,
> >>> Andrei Cherechesu,
> >>> NXP Semiconductors
> >>>
> >>> [0] https://github.com/xen-troops/virtio-disk
> >>>
> >>>
> >>>
> 
--8323329-1568205576-1712872016=:997881--


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 22:08:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 22:08:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704232.1100485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv2b7-00039L-Pd; Thu, 11 Apr 2024 22:08:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704232.1100485; Thu, 11 Apr 2024 22:08: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 1rv2b7-00039E-Mh; Thu, 11 Apr 2024 22:08:45 +0000
Received: by outflank-mailman (input) for mailman id 704232;
 Thu, 11 Apr 2024 22:08:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UKzY=LQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rv2b6-000396-Dr
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 22:08:44 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e016e59-f850-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 00:08: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 B45556217F;
 Thu, 11 Apr 2024 22:08:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 22C59C072AA;
 Thu, 11 Apr 2024 22:08: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: 0e016e59-f850-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1712873320;
	bh=zs0r5mLtTLlnB5TSmya+qGdZdm/jzRAHvuK78IAkjxk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iYVqiDLwXPDuUCuqrWTsGptcg1VUPuj9G5LOIfWy6tezbK3oWBnLW9uxz/VqG91Ic
	 JFxYBwh3J8KaeB8KRXDwBYBVbvgOFueNqV4WFcQc/SqXPkQjUdwt+/AHpmjbgxqh6+
	 gZcT0g/4MIimHETwe7fKDgxSQ0RrYqFsBAKOEl+PTBJTEORP8XKXMyXZ97nrzyDd/z
	 TQ4icWLoG/jZrSRAw5TyzImw3u2txZXRsmyxCNCtcGkFFOFNr3E6n+/u6sVHKLNzT5
	 qnMCJY5sE55TxC8ScHNwfAlrL8SPaGS6/oIxTyrC1d5KzrDNuB00KK7ZaiYUCkSHao
	 r3LTORPQiV7mA==
Date: Thu, 11 Apr 2024 15:08:37 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien.grall.oss@gmail.com>
cc: Stefano Stabellini <stefano.stabellini@amd.com>, andrew.cooper3@citrix.com, 
    bertrand.marquis@arm.com, george.dunlap@citrix.com, jbeulich@suse.com, 
    michal.orzel@amd.com, roger.pau@citrix.com, sstabellini@kernel.org, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
In-Reply-To: <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop> <20240410234740.994001-1-stefano.stabellini@amd.com> <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1603262779-1712872707=:997881"
Content-ID: <alpine.DEB.2.22.394.2404111501300.997881@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-1603262779-1712872707=:997881
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2404111501301.997881@ubuntu-linux-20-04-desktop>

On Wed, 10 Apr 2024, Julien Grall wrote:
> On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini <stefano.stabellini@amd.com> wrote:
>       xen_ulong_t is widely used in public headers.
> 
>       Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>       ---
> 
>       Given that xen_ulong_t is used in public headers there could be a better
>       place for documenting it but this was the most straightforward to add.
>       ---
>        docs/misra/C-language-toolchain.rst | 11 +++++++++++
>        1 file changed, 11 insertions(+)
> 
>       diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
>       index 5ddfe7bdbe..7a334260e6 100644
>       --- a/docs/misra/C-language-toolchain.rst
>       +++ b/docs/misra/C-language-toolchain.rst
>       @@ -531,6 +531,17 @@ A summary table of data types, sizes and alignment is below:
>             - 64 bits
>             - x86_64, ARMv8-A AArch64, RV64, PPC64
> 
>       +   * - xen_ulong_t
>       +     - 32 bits
>       +     - 32 bits
>       +     - x86_32
>       +
>       +   * - xen_ulong_t
>       +     - 64 bits
>       +     - 64 bits
>       +     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R
>       +       AArch32, ARMv7-A
> 
> 
> We support neither ARMv8-R nor ARMv8-A Aarch32.
> 
> I could possibly accept the latter because it works to. But the former is so far misleading.

Yes I think you are right. Moreover this document
(C-language-toolchain.rst) is meant for the Xen build. While this patch
is trying to document the types used in the public headers for the
external-facing ABI.

I'll move the information this patch is adding to a separate document,
specific to the public headers. I will only add the architectures
currently working: I'll add ARMv8-A Aarch32 because although it is
unsupported it is interesting to know the size of xen_ulong_t for
aarch32 in the public headers. I will remove ARMv8-R as it is not
available upstream.
--8323329-1603262779-1712872707=:997881--


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 23:21:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 23:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704247.1100507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv3jH-00015H-UT; Thu, 11 Apr 2024 23:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704247.1100507; Thu, 11 Apr 2024 23:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv3jH-00015A-Rj; Thu, 11 Apr 2024 23:21:15 +0000
Received: by outflank-mailman (input) for mailman id 704247;
 Thu, 11 Apr 2024 23:21:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rv3jG-000150-Jr; Thu, 11 Apr 2024 23:21:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rv3jG-00074x-Gn; Thu, 11 Apr 2024 23:21: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 1rv3jG-0002Wn-6b; Thu, 11 Apr 2024 23:21:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rv3jG-0007Bz-68; Thu, 11 Apr 2024 23:21:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CKmIYm8D0yptCRr6q+tyCaWpebAH98mNt7fQzxSglHU=; b=4yLnf3G1JYtWmEy0BH9LqrEAHI
	zjqg9ClLZ2Sf7a3dNFAe8MJXG30+ULQ/L8HjQKSqAiTddhawAMsx5m6jM21gK6kZpIJOW3H6yoIbD
	B5sTdTcUls5xL3Kr1nlSYrjOS+ek/aTawe5E/PGkjZilhoix9JWhrItsi+qxiz/Szk1o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185326-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185326: 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=af4cd0a6a61cdb03bc1afca9478b05b0c9703599
X-Osstest-Versions-That:
    xen=6cb501e3e6db36b1b4b6345f5af8adc0a291b404
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 11 Apr 2024 23:21:14 +0000

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

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                  af4cd0a6a61cdb03bc1afca9478b05b0c9703599
baseline version:
 xen                  6cb501e3e6db36b1b4b6345f5af8adc0a291b404

Last test of basis   185317  2024-04-11 14:00:34 Z    0 days
Testing same since   185326  2024-04-11 19:04:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Juergen Gross <jgross@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6cb501e3e6..af4cd0a6a6  af4cd0a6a61cdb03bc1afca9478b05b0c9703599 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 11 23:54:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 11 Apr 2024 23:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704261.1100534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv4FV-0007mo-Jk; Thu, 11 Apr 2024 23:54:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704261.1100534; Thu, 11 Apr 2024 23: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 1rv4FV-0007mh-H0; Thu, 11 Apr 2024 23:54:33 +0000
Received: by outflank-mailman (input) for mailman id 704261;
 Thu, 11 Apr 2024 23: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=Tv7g=LQ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rv4FT-0007l3-Nr
 for xen-devel@lists.xenproject.org; Thu, 11 Apr 2024 23:54:31 +0000
Received: from fout6-smtp.messagingengine.com (fout6-smtp.messagingengine.com
 [103.168.172.149]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4bfe080-f85e-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 01:54:28 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfout.nyi.internal (Postfix) with ESMTP id E819513802C2;
 Thu, 11 Apr 2024 19:54:26 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Thu, 11 Apr 2024 19:54:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 11 Apr 2024 19:54:25 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4bfe080-f85e-11ee-b908-491648fe20b8
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=1712879666;
	 x=1712966066; bh=YWo0cWGxug3fg9UPzZVh/pDvLOXd5SPS0wm5L876pkQ=; b=
	Fru8IP3eMBL6Dx6UEZW1UEKcD13xlYsQwko8KORukAsa+35FzhMbsQjVVvEDJSYR
	sHSB5TX2JU9BZJj9zQDhtxTqxkS6Y3K7eFJUD6A7kby7lxotUHpvlSlu6TDWJqpv
	rrFt9tfBb1lj7UOonXajZF6UnWwaW280gzKdCDts9yD2x8vyQQrpM2fOj67ghESE
	z7rOOj9DPzWK7Fu3ORDG/p06wmnoDvfSSHi0gn/O0FJVuKn70gUgIkZwbBBnRyKk
	eL6StSBn4x7ZCwRUq8760P6cAJmHyZFlvOdhZcla5bxe9sTvBDns5Sn3AWbBpHF0
	0hFPlDAOqCAOq2vfQ/ptjQ==
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=1712879666; x=1712966066; bh=YWo0cWGxug3fg9UPzZVh/pDvLOXd
	5SPS0wm5L876pkQ=; b=LcIsRNlfEqBtLGLVvq1igMiB/NsktPm7QG6ymVeoWHfz
	q06i0TUO0rbWudgXx+1nZ1cDNvlAhdOK1gOq7y4qT2vhx6f0/nyKiLaC7KnHyUWa
	mUB6M0Wsh7kXiZQyuols9DPZoZTzcLozJyTiiQABGAtbUQdnuAuWT3CRVZKa4IJX
	qYWuggN4N0A2QId85LTiYEGCgQfIzIhAwCHiimQrPVctmXVd6Z8gRp+UJ1GNyrhB
	+Fn7TmF+bJ/vaQlOOKCu6BFggbVttsxRHZjA7ByU4l6y8qYyWI3uQuqYRFN5fn5Y
	TXwT3MVn7wwZHQMV07Rln+x//p6FNMW6Osx6Q2VYFw==
X-ME-Sender: <xms:MngYZoqXIUsypSYFhjPcY7jmNsqn5TwDpKxKy0lQm3Z6PUap0rnhEg>
    <xme:MngYZuqdodI7O8zYEQBleJMWrsCYQBgvQrAepzDKeAQjE4ZyfbUIu1QUCMaVPsR-R
    -8bkzg3PswbVQ>
X-ME-Received: <xmr:MngYZtPQyFn5-3C9aic3Rt8v4IDkmREHOlDZH3Q-eo-f3ZCYraOA5UzAkgBjHFSyhP_UYIns11n-ccTokXQpJJpGXTXtxTlrzA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudehledgvdejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:MngYZv7nhWfVxd1C8-1wxSc1G8DHDVrSSAJ728aRyms5stDxDVb0Sg>
    <xmx:MngYZn6_3cC-7ghDqZkocDVHvUnaCGKvOSpzjLIixezPkH0wrmV5Kg>
    <xmx:MngYZvhYhKWVEgxnTZbJDJH7bm2TxeUnCJLIuFaWHTKeHGMtErbMDg>
    <xmx:MngYZh5DhujhhjMP5UYAWdz41s01c63IDbo4NwKq3cL8VJQmIlt8hQ>
    <xmx:MngYZq3XRQdmZnwPobqnRLMIkcFJSchOoCOM4dXdHMZwcN7pOY2N790n>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 12 Apr 2024 01:54:22 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH v2 0/3] x86/iommu: Drop IOMMU support when cx16 isn't
 supported
Message-ID: <Zhh4L1Svedt5QxGY@mail-itl>
References: <cover.1712580356.git.teddy.astie@vates.tech>
 <4bf2e6ea-a7fc-4cc6-aefe-4a9ed9ae97e1@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="HDh9HtCD+xo70z4U"
Content-Disposition: inline
In-Reply-To: <4bf2e6ea-a7fc-4cc6-aefe-4a9ed9ae97e1@citrix.com>


--HDh9HtCD+xo70z4U
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 12 Apr 2024 01:54:22 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH v2 0/3] x86/iommu: Drop IOMMU support when cx16 isn't
 supported

On Thu, Apr 11, 2024 at 09:05:08PM +0100, Andrew Cooper wrote:
> Sorry, but you've sent out two copies of each patch in this series, and
> it's not clear if they're identical or not.

FWIW I've got just one copy.=20

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

--HDh9HtCD+xo70z4U
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYYeC8ACgkQ24/THMrX
1yxrIgf+MbyK/8YtVuj88gGQ5kjSKoPmuq5/hVO3HDwuDDoJNBquYrnBmn9g5nCv
sibdus1lMP9t59faE/ENITNfXuLJ+kRmeBZ3qzU6aENc4Uil8zaUetYMQ6+nvLlv
eLvLtHG6ojhCOXuLIHOgM5U2Nq9MuxqnaRMeWbe10Pqj/9Y0b2KfJiXM+IVNvAco
4L981kGTgl0Wtpwdw+Ybagem5/bN/VJRjZVoJ1eENgkeD7WFFAqMTXjMCaZRU9Oe
O/fxPEs5PBIelbeW8k3eYtCh3+v8P+7XSgzlCyqvkatp6wmY1z3KZAtiChxU7wNV
w3kHKzqbcam8StcBNEXSeue8JeU2Ow==
=IuAl
-----END PGP SIGNATURE-----

--HDh9HtCD+xo70z4U--


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 01:32:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 01:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704269.1100557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv5mN-0007JV-EO; Fri, 12 Apr 2024 01:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704269.1100557; Fri, 12 Apr 2024 01: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 1rv5mN-0007JN-6w; Fri, 12 Apr 2024 01:32:35 +0000
Received: by outflank-mailman (input) for mailman id 704269;
 Fri, 12 Apr 2024 01:32: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 1rv5mM-0007JD-M1; Fri, 12 Apr 2024 01:32: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 1rv5mM-0008Kl-Ii; Fri, 12 Apr 2024 01:32: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 1rv5mL-0006IQ-Pv; Fri, 12 Apr 2024 01:32:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rv5mL-0000TY-OH; Fri, 12 Apr 2024 01: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=hT6qOZn42/dW7a1wIFyt8xxsHwPLL+AZ77IPbotVvp0=; b=umAsQybBo2CVQaTh/eMc7slYSV
	uTLmSJKpVVTDWTq1QxKawJiTgMDztH35UPMqUOyDUeyzcOR5vcrj4PoSKI/yyuBJ5yW4HOSqFEnvF
	tYPgwbwDwkmgGVc9MJE7Uens/MFeJwXkoIl13uj85iS4fAJ0u4uAInCUdayubf0lLmnE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185303-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185303: regressions - FAIL
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-coresched-amd64-xl:guest-start/debian.repeat:fail:regression
    xen-4.18-testing:build-arm64-xsm:xen-build:fail:regression
    xen-4.18-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-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-qemuu-debianhvm-amd64-xsm: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-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-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-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-raw: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
X-Osstest-Versions-This:
    xen=d152a0424677d8b78e00ed1270a583c5dafff16f
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 01:32:33 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl 22 guest-start/debian.repeat fail REGR. vs. 185285
 build-arm64-xsm               6 xen-build                fail REGR. vs. 185285
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185285

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 185285
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185285
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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                  d152a0424677d8b78e00ed1270a583c5dafff16f
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    2 days
Testing same since   185303  2024-04-10 18:41:55 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              fail    
 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                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                      fail    
 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 700 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 02:44:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 02:44:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704286.1100594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv6tb-0004RS-Ln; Fri, 12 Apr 2024 02:44:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704286.1100594; Fri, 12 Apr 2024 02:44:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv6tb-0004RK-I9; Fri, 12 Apr 2024 02:44:07 +0000
Received: by outflank-mailman (input) for mailman id 704286;
 Fri, 12 Apr 2024 02:44: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv6ta-0004RE-Ps
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 02:44:06 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84846653-f876-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 04:44:02 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1FF5B8285591;
 Thu, 11 Apr 2024 21:44: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 ygWY-N45c9o3; Thu, 11 Apr 2024 21:43:59 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 14A3E82855C0;
 Thu, 11 Apr 2024 21:43: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 mpZboqFsdDGO; Thu, 11 Apr 2024 21:43:58 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 860F18285591;
 Thu, 11 Apr 2024 21:43: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: 84846653-f876-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 14A3E82855C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712889839; bh=kf3IEagB3Vf7gJQfkbNuK4wKdkw5i0BAXPNiJPR0xrA=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=H5frHa1vzp8OzpS5FzPA5Tjn1jefTO5wzNt0ywhcfCujkX6yMWKz5rYwhohBWoohz
	 fqkRut54Gx2wXaHjqAVj6zVnUVA/VdIoIq7O7rfd7B4fush51z0ooiWEoTwIogqzoY
	 lX7G/rw9wlRLk4BqRTtNvHOmDVmY/+mysRxr6RIs=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <fdeabecc-9144-4eb6-9eb8-aac722ed1bb4@raptorengineering.com>
Date: Thu, 11 Apr 2024 21:43:57 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/9] xen/device-tree: Move Arm's setup.c bootinfo
 functions to common
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <039524d4157dddb2faf6887739a727f6e993b53f.1710443965.git.sanastasio@raptorengineering.com>
 <19c4d0c2-c69c-4310-bf02-28d3894f8006@xen.org>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <19c4d0c2-c69c-4310-bf02-28d3894f8006@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Julien,

On 3/21/24 12:47 PM, Julien Grall wrote:
> Hi Shawn,
> 
> On 14/03/2024 22:15, Shawn Anastasio wrote:
>> Arm's setup.c contains a collection of functions for parsing memory map
>> and other boot information from a device tree. Since these routines are
>> generally useful on any architecture that supports device tree booting,
>> move them into xen/common/device-tree.
>>
>> Suggested-by: Julien Grall <julien@xen.org>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>> ---
>>   MAINTAINERS                       |   1 +
>>   xen/arch/arm/setup.c              | 419 --------------------------
>>   xen/common/Makefile               |   1 +
>>   xen/common/device-tree/Makefile   |   1 +
>>   xen/common/device-tree/bootinfo.c | 469 ++++++++++++++++++++++++++++++
> 
> The new bootinfo.c is exported quite a few functions. Please introduce
> an generic header with the associated functions/structures.
>

Good suggestion, will do.

> [...]
> 
>> diff --git a/xen/common/Makefile b/xen/common/Makefile
>> index e5eee19a85..3a39dd35f2 100644
>> --- a/xen/common/Makefile
>> +++ b/xen/common/Makefile
>> @@ -76,6 +76,7 @@ obj-$(CONFIG_UBSAN) += ubsan/
>>     obj-$(CONFIG_NEEDS_LIBELF) += libelf/
>>   obj-$(CONFIG_HAS_DEVICE_TREE) += libfdt/
>> +obj-$(CONFIG_HAS_DEVICE_TREE) += device-tree/
>>     CONF_FILE := $(if $(patsubst
>> /%,,$(KCONFIG_CONFIG)),$(objtree)/)$(KCONFIG_CONFIG)
>>   $(obj)/config.gz: $(CONF_FILE)
>> diff --git a/xen/common/device-tree/Makefile
>> b/xen/common/device-tree/Makefile
>> new file mode 100644
>> index 0000000000..c97b2bd88c
>> --- /dev/null
>> +++ b/xen/common/device-tree/Makefile
>> @@ -0,0 +1 @@
>> +obj-y += bootinfo.o
>> diff --git a/xen/common/device-tree/bootinfo.c
>> b/xen/common/device-tree/bootinfo.c
>> new file mode 100644
>> index 0000000000..a6c0fe7917
>> --- /dev/null
>> +++ b/xen/common/device-tree/bootinfo.c
>> @@ -0,0 +1,469 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Derived from $xen/arch/arm/setup.c.
>> + *
>> + * Early device tree parsing and bookkeeping routines.
>> + *
>> + * Tim Deegan <tim@xen.org>
>> + * Copyright (c) 2011 Citrix Systems.
>> + * Copyright (c) 2024 Raptor Engineering LLC
>> + */
>> +
>> +#include <xen/compile.h>
>> +#include <xen/errno.h>
>> +#include <xen/device_tree.h>
>> +#include <xen/domain_page.h>
>> +#include <xen/grant_table.h>
>> +#include <xen/types.h>
>> +#include <xen/string.h>
>> +#include <xen/serial.h>
>> +#include <xen/sched.h>
>> +#include <xen/console.h>
>> +#include <xen/err.h>
>> +#include <xen/init.h>
>> +#include <xen/irq.h>
>> +#include <xen/mm.h>
>> +#include <xen/param.h>
>> +#include <xen/softirq.h>
>> +#include <xen/keyhandler.h>
>> +#include <xen/cpu.h>
>> +#include <xen/pfn.h>
>> +#include <xen/virtual_region.h>
>> +#include <xen/vmap.h>
>> +#include <xen/trace.h>
>> +#include <xen/libfdt/libfdt-xen.h>
>> +#include <xen/acpi.h>
>> +#include <xen/warning.h>
>> +#include <xen/hypercall.h>
>> +#include <asm/page.h>
>> +#include <asm/current.h>
>> +#include <asm/setup.h>
>> +#include <asm/setup.h>
> 
> setup.h seems duplicated. But this list of headers look suspiciously
> very long for the code you are moving. Can you look at reduce the number
> of includes?
> 
> Also, please take the opportunity to sort them out.

Sure, I'll clean up the order and drop any unneeded includes.

> 
> [...]
> 
>> +/*
>> + * Populate the boot allocator.
>> + * If a static heap was not provided by the admin, all the RAM but the
>> + * following regions will be added:
>> + *  - Modules (e.g., Xen, Kernel)
>> + *  - Reserved regions
>> + *  - Xenheap (arm32 only)
>> + * If a static heap was provided by the admin, populate the boot
>> + * allocator with the corresponding regions only, but with Xenheap
>> excluded
>> + * on arm32.
>> + */
>> +void __init populate_boot_allocator(void)
>> +{
>> +    unsigned int i;
>> +    const struct meminfo *banks = &bootinfo.mem;
>> +    paddr_t s, e;
>> +
>> +    if ( bootinfo.static_heap )
>> +    {
>> +        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
>> +        {
>> +            if ( bootinfo.reserved_mem.bank[i].type !=
>> MEMBANK_STATIC_HEAP )
>> +                continue;
>> +
>> +            s = bootinfo.reserved_mem.bank[i].start;
>> +            e = s + bootinfo.reserved_mem.bank[i].size;
>> +#ifdef CONFIG_ARM_32
> 
> I think this wants to be replaced with #ifdef CONFIG_SEPARATE_XENHEAP
> same ...
> 
>> +            /* Avoid the xenheap, note that the xenheap cannot across
>> a bank */
>> +            if ( s <= mfn_to_maddr(directmap_mfn_start) &&
>> +                 e >= mfn_to_maddr(directmap_mfn_end) )
>> +            {
>> +                init_boot_pages(s, mfn_to_maddr(directmap_mfn_start));
>> +                init_boot_pages(mfn_to_maddr(directmap_mfn_end), e);
>> +            }
>> +            else
>> +#endif
>> +                init_boot_pages(s, e);
>> +        }
>> +
>> +        return;
>> +    }
>> +
>> +    for ( i = 0; i < banks->nr_banks; i++ )
>> +    {
>> +        const struct membank *bank = &banks->bank[i];
>> +        paddr_t bank_end = bank->start + bank->size;
>> +
>> +        s = bank->start;
>> +        while ( s < bank_end )
>> +        {
>> +            paddr_t n = bank_end;
>> +
>> +            e = next_module(s, &n);
>> +
>> +            if ( e == ~(paddr_t)0 )
>> +                e = n = bank_end;
>> +
>> +            /*
>> +             * Module in a RAM bank other than the one which we are
>> +             * not dealing with here.
>> +             */
>> +            if ( e > bank_end )
>> +                e = bank_end;
>> +
>> +#ifdef CONFIG_ARM_32
> 
> ... here. This comment on top of the function would also need to be
> updated.

Good catch, will update the conditional as well as the function's
comment accordingly.

> 
> Cheers,

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 02:47:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 02:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704289.1100604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv6wm-0004yP-4A; Fri, 12 Apr 2024 02:47:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704289.1100604; Fri, 12 Apr 2024 02:47:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv6wm-0004yI-1Q; Fri, 12 Apr 2024 02:47:24 +0000
Received: by outflank-mailman (input) for mailman id 704289;
 Fri, 12 Apr 2024 02:47:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv6wk-0004yC-Mx
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 02:47:22 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb5ee987-f876-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 04:47:20 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 057348285591;
 Thu, 11 Apr 2024 21:47:20 -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 Il8aWT3vVW0D; Thu, 11 Apr 2024 21:47:18 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 53C1D82855C0;
 Thu, 11 Apr 2024 21:47:18 -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 LG0R5TYFBQA9; Thu, 11 Apr 2024 21:47:17 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id A51FF8285591;
 Thu, 11 Apr 2024 21:47:17 -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: fb5ee987-f876-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 53C1D82855C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712890038; bh=9CaQmcxSeJrqC/4Yi7BUjqI5TN3iWe3lv35Dy2cMt7s=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=flnOAZHnN84HfdrJjD1eiGXllM88fRPZmkoikvZ2LUkDZdP4WCgSXZOJ08IFgmfvd
	 bkxskDfj3IWuQgQcGPcf6E9hOXdSyKOsXUJrPp9vOhCyfN9lceHShle1nAfcxyzihi
	 r1LLoekjh4iG2Y7Q7OAWKpxKPQnsIi2Z27s21jek=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <cf1a8d28-4f6c-43a2-bece-302f8f9aacc4@raptorengineering.com>
Date: Thu, 11 Apr 2024 21:47:17 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 8/9] xen/ppc: mm-radix: Replace debug printing code
 with printk
To: Jan Beulich <jbeulich@suse.com>
Cc: tpearson@raptorengineering.com, xen-devel@lists.xenproject.org
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <c96e022413f73a531d078db5540a90113e138241.1710443965.git.sanastasio@raptorengineering.com>
 <9d62ae85-87e2-4645-a43d-1a978c8083fc@suse.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <9d62ae85-87e2-4645-a43d-1a978c8083fc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Jan,

On 3/25/24 10:29 AM, Jan Beulich wrote:
> On 14.03.2024 23:15, Shawn Anastasio wrote:
>> Now that we have common code building, there's no need to keep the old
>> itoa64+debug print function in mm-radix.c
>>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Just to clarify: Is this dependent upon any of the earlier patches in this
> series? If not, it could be committed right away.

Sorry for the late reply. You're correct that this patch is not
dependent on any of the other patches in the series, so it can be
committed whenever.

> 
> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 02:53:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 02:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704295.1100614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv72X-0006Sd-OG; Fri, 12 Apr 2024 02:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704295.1100614; Fri, 12 Apr 2024 02:53:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv72X-0006SW-Kv; Fri, 12 Apr 2024 02:53:21 +0000
Received: by outflank-mailman (input) for mailman id 704295;
 Fri, 12 Apr 2024 02:53: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv72W-0006SQ-1C
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 02:53:20 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d03528ff-f877-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 04:53:17 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CBC7582856C2;
 Thu, 11 Apr 2024 21:53:16 -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 lTrs2UCdtpJ6; Thu, 11 Apr 2024 21:53:16 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 04E988285AAE;
 Thu, 11 Apr 2024 21:53:16 -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 DpyryjoNfMzQ; Thu, 11 Apr 2024 21:53: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 E4B4B82856C2;
 Thu, 11 Apr 2024 21:53:14 -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: d03528ff-f877-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 04E988285AAE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712890396; bh=HX522MYS2uk1bO/+/S1Ipd2zJAJqzty/Pj/COJQYLO0=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=Wi+LxsnqZaCYBWcoTXZEZaoM4KgvU+ApoAORO9Q+gQN99Yz9hfCZ6MTJWi2KF9ykR
	 KJu9CDMTY+F41oy13UJqcEaAsdnhwihAaZ2Q8UskMOh3bnXv2rgaaroZ7mbB9WEx4S
	 qQorhrm3YGv9IDHf2dt1l+JEn8g3bbKF5UbvpJ0c=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <c7de32e6-67d5-4bb8-9cc8-68753c657fc7@raptorengineering.com>
Date: Thu, 11 Apr 2024 21:53:14 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/9] xen/common: Move Arm's bootfdt.c to common
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <908ea2d9bccf0b3455119cfd9af0597aee005fe8.1710443965.git.sanastasio@raptorengineering.com>
 <6069d3de-b298-46e6-a64b-895df3ea037b@xen.org>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <6069d3de-b298-46e6-a64b-895df3ea037b@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Julien,

On 3/21/24 12:50 PM, Julien Grall wrote:
> Hi Shawn,
> 
> On 14/03/2024 22:15, Shawn Anastasio wrote:
>> Move Arm's bootfdt.c to xen/common so that it can be used by other
>> device tree architectures like PPC and RISCV.
>>
>> Suggested-by: Julien Grall <julien@xen.org>
>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>> Acked-by: Julien Grall <julien@xen.org>
>> ---
>> Changes in v2:
>>    - Drop #if defined(CONFIG_ARM_EFI) now that efi_enabled is stubbed
>>
>>   MAINTAINERS                                    | 1 +
>>   xen/arch/arm/Makefile                          | 1 -
>>   xen/common/device-tree/Makefile                | 1 +
>>   xen/{arch/arm => common/device-tree}/bootfdt.c | 0
>>   4 files changed, 2 insertions(+), 1 deletion(-)
>>   rename xen/{arch/arm => common/device-tree}/bootfdt.c (100%)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index e85fbe6737..20fdec9ffa 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -251,6 +251,7 @@ S:    Supported
>>   L:    xen-devel@lists.xenproject.org
>>   F:    docs/misc/arm/
>>   F:    xen/arch/arm/
>> +F:    xen/common/device-tree/bootfdt.c
>>   F:    xen/drivers/char/arm-uart.c
>>   F:    xen/drivers/char/cadence-uart.c
>>   F:    xen/drivers/char/exynos4210-uart.c
>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>> index 7b1350e2ef..9e1548378c 100644
>> --- a/xen/arch/arm/Makefile
>> +++ b/xen/arch/arm/Makefile
>> @@ -10,7 +10,6 @@ obj-$(CONFIG_TEE) += tee/
>>   obj-$(CONFIG_HAS_VPCI) += vpci.o
>>
>>   obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
>> -obj-y += bootfdt.init.o
>>   obj-y += cpuerrata.o
>>   obj-y += cpufeature.o
>>   obj-y += decode.o
>> diff --git a/xen/common/device-tree/Makefile
>> b/xen/common/device-tree/Makefile
>> index c97b2bd88c..fa5beafd65 100644
>> --- a/xen/common/device-tree/Makefile
>> +++ b/xen/common/device-tree/Makefile
>> @@ -1 +1,2 @@
>> +obj-y += bootfdt.init.o
>>   obj-y += bootinfo.o
> 
> Looking at the names, it is not entirely clear what would be the
> differences between bootfdt and bootinfo. Should they just be one file?
> 

With the current split I've chosen, all functions pertaining to managing
the `struct bootinfo` data structure are contained within bootinfo.c and
all functions responsible for parsing the FDT on boot are in bootfdt.c.

This separation exists currently in the ARM tree, but the bootinfo
functions are contained in setup.c rather than a separate self-contained
bootinfo.c.

If you feel strongly that we would be better off with everything in a
single file, I'm not necessarily opposed to that, but I do think that
this split at least makes sense.

>> diff --git a/xen/arch/arm/bootfdt.c b/xen/common/device-tree/bootfdt.c
>> similarity index 100%
>> rename from xen/arch/arm/bootfdt.c
>> rename to xen/common/device-tree/bootfdt.c
>> -- 
>> 2.30.2
>>
> 
> Cheers,

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 02:54:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 02:54:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704298.1100624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv73i-0007c1-0i; Fri, 12 Apr 2024 02:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704298.1100624; Fri, 12 Apr 2024 02: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 1rv73h-0007bu-TU; Fri, 12 Apr 2024 02:54:33 +0000
Received: by outflank-mailman (input) for mailman id 704298;
 Fri, 12 Apr 2024 02: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv73g-0007bo-HV
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 02:54:32 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc166f71-f877-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 04:54:31 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B00A482857EB;
 Thu, 11 Apr 2024 21:54:30 -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 pKwhZFWZ4LTZ; Thu, 11 Apr 2024 21:54:30 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 2957A8285AEB;
 Thu, 11 Apr 2024 21:54:30 -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 UDeHOqSZKikb; Thu, 11 Apr 2024 21:54:30 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 4E07C82857EB;
 Thu, 11 Apr 2024 21:54:29 -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: fc166f71-f877-11ee-b908-491648fe20b8
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 2957A8285AEB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712890470; bh=RFCy+kUgL16Cfff9QKCvL+io/ai/B2MnHFp292omjbE=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=cIIHiP0fMSL7sYZBuMeqBDVNDwFsbjUoKvsw21ESinwkWAkd28KXOryPlr0LRFhSK
	 PhO9mSLuz3spn+K4YXu4HH8r5xqtKcm47ZQl6NS3UopRMVkMbC5Hd7dhqVpbBeufmV
	 sPUVLDzS2tVFNQtJ0bJ6eCXfjTs16A1PA26j4o/A=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <9a08fc6c-dfe5-43a0-adf5-2407e41d0718@raptorengineering.com>
Date: Thu, 11 Apr 2024 21:54:28 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/9] xen/device-tree: Move Arm's setup.c bootinfo
 functions to common
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <039524d4157dddb2faf6887739a727f6e993b53f.1710443965.git.sanastasio@raptorengineering.com>
 <3a3550a2-743f-4fda-8b15-70545d820f56@xen.org>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <3a3550a2-743f-4fda-8b15-70545d820f56@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Julien,

On 3/21/24 12:53 PM, Julien Grall wrote:
> Hi,
> 
> On 14/03/2024 22:15, Shawn Anastasio wrote:
>> diff --git a/xen/common/device-tree/Makefile
>> b/xen/common/device-tree/Makefile
>> new file mode 100644
>> index 0000000000..c97b2bd88c
>> --- /dev/null
>> +++ b/xen/common/device-tree/Makefile
>> @@ -0,0 +1 @@
>> +obj-y += bootinfo.o
> 
> AFAICT everything in the new file is in init. So if you decide to keep
> it (see my comment on patch #6), then this should be "bootinfo.init.o"
> so the build system can check that all functions/data will live in init.
> 

Good catch, this can definitely be built as a .init.o. Will do in v4.

> Cheers,

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 03:20:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:20:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704306.1100634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv7SG-0003qn-W0; Fri, 12 Apr 2024 03:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704306.1100634; Fri, 12 Apr 2024 03: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 1rv7SG-0003qg-TC; Fri, 12 Apr 2024 03:19:56 +0000
Received: by outflank-mailman (input) for mailman id 704306;
 Fri, 12 Apr 2024 03: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv7SF-0003qa-Gy
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:19:55 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86d9b037-f87b-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 05:19:52 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8BE0B8284D62;
 Thu, 11 Apr 2024 22:19:51 -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 qEBAD_gWDevB; Thu, 11 Apr 2024 22:19:50 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 0942A828530B;
 Thu, 11 Apr 2024 22:19:50 -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 CKCBiRhpl2Pk; Thu, 11 Apr 2024 22:19:49 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 9EE928284D62;
 Thu, 11 Apr 2024 22:19:49 -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: 86d9b037-f87b-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 0942A828530B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712891990; bh=GYu38ISAGP6e2ln2YRbcplCflcCBKOpv3oDwhCpf2W0=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=o8EZHHMTs3GAEkf3wKAdJfWcwcREm7Bdt3ppbfYDRzWLAdyx3HNeqTPh7FNW3DTlX
	 Ni4N/rVg6jgmiaGj8fc6MK8O4JlZB2mKhJ7nSXDv8VccymLyb5+VUESxYUkOVuwikn
	 wQtmwV3G7kHGSc+aCov/6ejGpxK7DECl6HPvHVMU=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <dec634ec-b028-42c9-a8b1-64e32c86dfbb@raptorengineering.com>
Date: Thu, 11 Apr 2024 22:19:48 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 9/9] 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.1710443965.git.sanastasio@raptorengineering.com>
 <00f22a6a08451614179219fd430539fbb1e6e8cf.1710443965.git.sanastasio@raptorengineering.com>
 <beab0b2a-b8ff-475c-885f-dec8518b9a8f@suse.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <beab0b2a-b8ff-475c-885f-dec8518b9a8f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Jan,

On 3/25/24 10:39 AM, Jan Beulich wrote:
> On 14.03.2024 23:15, Shawn Anastasio wrote:
>> --- a/xen/arch/ppc/mm-radix.c
>> +++ b/xen/arch/ppc/mm-radix.c
>> @@ -21,69 +21,101 @@ 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)];
>> +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.
>> + */
>> +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(mfn_x(mfn_first) + nr_pfns - 1);
> 
> Please can you use mfn_add() here?
> 

Good catch, will do.

>> -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)));
> 
> Together with the comment ahead of the function - is there some kind of
> assumption here that this range won't span almost all of system memory?
> E.g. expecting allocations to be almost contiguous? If so, I wonder how
> reliable this is, and whether using a rangeset wouldn't be better here.
> 

You're right that this is only sane (i.e. not mapping almost all of
system memory) when the assumption that alloc_boot_pages returns
mostly-contiguous regions holds. I'm not super happy with this either,
but I struggled to come up with a better solution that doesn't involve
re-inventing a rangeset-like data structure.

Looking into your suggestion of using xen/common's rangeset, it looks
like that won't work since it relies on xmalloc which is not yet set up.
I suspect there is a chicken-and-egg problem here that would preclude
xmalloc from sanely working this early on in the boot, but I might be
wrong about that.

I could reinvent a basic statically-allocated rangeset data structure
for this purpose if you think that's the best path forward.

>> @@ -105,81 +138,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));
>> +        unsigned long flags;
>>
>> -        /* Allocate LVL 3 PD if necessary */
>> -        pde = pt_entry(lvl2, page_addr);
>> -        if ( !pde_is_valid(*pde) )
>> +        if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
>>          {
>> -            lvl3 = lvl3_pd_pool_alloc();
>> -            *pde = paddr_to_pde(__pa(lvl3), PDE_VALID,
>> -                                XEN_PT_ENTRIES_LOG2_LVL_3);
>> +            radix_dprintk("%016lx being marked as TEXT (RX)\n", page_addr);
>> +            flags = PTE_XEN_RX;
>>          }
>> -        else
>> -            lvl3 = __va(pde_to_paddr(*pde));
>> -
>> -        /* Allocate LVL 4 PT if necessary */
>> -        pde = pt_entry(lvl3, page_addr);
>> -        if ( !pde_is_valid(*pde) )
>> +        else if ( is_kernel_rodata(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 RODATA (RO)\n", page_addr);
>> +            flags = PTE_XEN_RO;
>>          }
>>          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) )
>>          {
>> -            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);
>> -        }
>> -        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");
>>  }
> 
> Oh, yet another assumption on allocator behavior.

Agreed, it's not ideal, but the assumption is explicitly checked and
the worst case is a panic/failure to boot if it is ever explicitly
broken.

Also related to your previous comment, if we go forward with a
rangeset/rangeset-like data structure this assumption could be
eliminated.

> 
> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 03:55:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704321.1100702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80s-00051N-KZ; Fri, 12 Apr 2024 03:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704321.1100702; Fri, 12 Apr 2024 03: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 1rv80s-00050d-Gc; Fri, 12 Apr 2024 03:55:42 +0000
Received: by outflank-mailman (input) for mailman id 704321;
 Fri, 12 Apr 2024 03:55:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv80q-0003cg-LO
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:55:40 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 853d1402-f880-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 05:55:37 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C010C8285556;
 Thu, 11 Apr 2024 22:55:36 -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 y8mAwMzhx4Ny; Thu, 11 Apr 2024 22:55:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 678F08287000;
 Thu, 11 Apr 2024 22:55:33 -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 zlnvwZV6BNhZ; Thu, 11 Apr 2024 22:55:33 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id B768C8285611;
 Thu, 11 Apr 2024 22:55:32 -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: 853d1402-f880-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 678F08287000
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712894133; bh=4lBNQmQi/xabDS46AhsL1+meGbFpGjZ3/8DO7ocjTe0=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=BMlU5jrYqIT50/E5wx53uFouwhTATDoYN+1nH8HfhzrPUrKurj6xcSuWSbj7ZxXNN
	 xTyYav4Keu/TBWPXExMnAT2CvZMF2oUMtOTdgWrJTAnSCYBngCKd9jHb7488zmMDV4
	 xHsGv8YuQRBF6BPecyhXkPYxFoF1cA262bn3ujhQ=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v4 2/6] xen/device-tree: Move Arm's setup.c bootinfo functions to common
Date: Thu, 11 Apr 2024 22:55:19 -0500
Message-Id: <451705505ff7f80ec66c78cc2830196fa6e4090c.1712893887.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1712893887.git.sanastasio@raptorengineering.com>
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Arm's setup.c contains a collection of functions for parsing memory map
and other boot information from a device tree. Since these routines are
generally useful on any architecture that supports device tree booting,
move them into xen/common/device-tree.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in v4:
  - create new xen/include/bootinfo.h rather than relying on arch's
    asm/setup.h to provide required definitions for bootinfo.c
  - build bootinfo.c as .init.o
  - clean up and sort bootinfo.c's #includes
  - use CONFIG_SEPARATE_XENHEAP rather than CONFIG_ARM_32 to guard
    xenheap-specific behavior of populate_boot_allocator
  - (MAINTAINERS) include all of common/device-tree rather than just
    bootinfo.c

 MAINTAINERS                       |   1 +
 xen/arch/arm/include/asm/setup.h  | 109 +-------
 xen/arch/arm/setup.c              | 419 ----------------------------
 xen/common/Makefile               |   1 +
 xen/common/device-tree/Makefile   |   1 +
 xen/common/device-tree/bootinfo.c | 446 ++++++++++++++++++++++++++++++
 xen/include/xen/bootfdt.h         | 116 ++++++++
 7 files changed, 566 insertions(+), 527 deletions(-)
 create mode 100644 xen/common/device-tree/Makefile
 create mode 100644 xen/common/device-tree/bootinfo.c
 create mode 100644 xen/include/xen/bootfdt.h

diff --git a/MAINTAINERS b/MAINTAINERS
index d1850c134d..13adb794b3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -295,6 +295,7 @@ M:	Stefano Stabellini <sstjabellini@kernel.org>
 M:	Julien Grall <julien@xen.org>
 S:	Supported
 F:	xen/common/libfdt/
+F:	xen/common/device-tree/
 F:	xen/common/device_tree.c
 F:	xen/common/dt-overlay.c
 F:	xen/include/xen/libfdt/
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index d15a88d2e0..bf16afe31c 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -4,108 +4,7 @@
 #include <public/version.h>
 #include <asm/p2m.h>
 #include <xen/device_tree.h>
-
-#define MIN_FDT_ALIGN 8
-#define MAX_FDT_SIZE SZ_2M
-
-#define NR_MEM_BANKS 256
-
-#define MAX_MODULES 32 /* Current maximum useful modules */
-
-typedef enum {
-    BOOTMOD_XEN,
-    BOOTMOD_FDT,
-    BOOTMOD_KERNEL,
-    BOOTMOD_RAMDISK,
-    BOOTMOD_XSM,
-    BOOTMOD_GUEST_DTB,
-    BOOTMOD_UNKNOWN
-}  bootmodule_kind;
-
-enum membank_type {
-    /*
-     * The MEMBANK_DEFAULT type refers to either reserved memory for the
-     * device/firmware (when the bank is in 'reserved_mem') or any RAM (when
-     * the bank is in 'mem').
-     */
-    MEMBANK_DEFAULT,
-    /*
-     * The MEMBANK_STATIC_DOMAIN type is used to indicate whether the memory
-     * bank is bound to a static Xen domain. It is only valid when the bank
-     * is in reserved_mem.
-     */
-    MEMBANK_STATIC_DOMAIN,
-    /*
-     * The MEMBANK_STATIC_HEAP type is used to indicate whether the memory
-     * bank is reserved as static heap. It is only valid when the bank is
-     * in reserved_mem.
-     */
-    MEMBANK_STATIC_HEAP,
-};
-
-/* Indicates the maximum number of characters(\0 included) for shm_id */
-#define MAX_SHM_ID_LENGTH 16
-
-struct membank {
-    paddr_t start;
-    paddr_t size;
-    enum membank_type type;
-#ifdef CONFIG_STATIC_SHM
-    char shm_id[MAX_SHM_ID_LENGTH];
-    unsigned int nr_shm_borrowers;
-#endif
-};
-
-struct meminfo {
-    unsigned int nr_banks;
-    struct membank bank[NR_MEM_BANKS];
-};
-
-/*
- * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
- * The purpose of the domU flag is to avoid getting confused in
- * kernel_probe, where we try to guess which is the dom0 kernel and
- * initrd to be compatible with all versions of the multiboot spec.
- */
-#define BOOTMOD_MAX_CMDLINE 1024
-struct bootmodule {
-    bootmodule_kind kind;
-    bool domU;
-    paddr_t start;
-    paddr_t size;
-};
-
-/* DT_MAX_NAME is the node name max length according the DT spec */
-#define DT_MAX_NAME 41
-struct bootcmdline {
-    bootmodule_kind kind;
-    bool domU;
-    paddr_t start;
-    char dt_name[DT_MAX_NAME];
-    char cmdline[BOOTMOD_MAX_CMDLINE];
-};
-
-struct bootmodules {
-    int nr_mods;
-    struct bootmodule module[MAX_MODULES];
-};
-
-struct bootcmdlines {
-    unsigned int nr_mods;
-    struct bootcmdline cmdline[MAX_MODULES];
-};
-
-struct bootinfo {
-    struct meminfo mem;
-    /* The reserved regions are only used when booting using Device-Tree */
-    struct meminfo reserved_mem;
-    struct bootmodules modules;
-    struct bootcmdlines cmdlines;
-#ifdef CONFIG_ACPI
-    struct meminfo acpi;
-#endif
-    bool static_heap;
-};
+#include <xen/bootfdt.h>

 struct map_range_data
 {
@@ -118,8 +17,6 @@ struct map_range_data
     struct rangeset *irq_ranges;
 };

-extern struct bootinfo bootinfo;
-
 extern domid_t max_init_domid;

 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
@@ -142,9 +39,6 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
                            void (*cb)(paddr_t ps, paddr_t pe),
                            unsigned int first);

-size_t boot_fdt_info(const void *fdt, paddr_t paddr);
-const char *boot_fdt_cmdline(const void *fdt);
-
 bool check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size);

 struct bootmodule *add_boot_module(bootmodule_kind kind,
@@ -159,7 +53,6 @@ struct bootcmdline * boot_cmdline_find_by_name(const char *name);
 const char *boot_module_kind_as_string(bootmodule_kind kind);

 void init_pdx(void);
-void populate_boot_allocator(void);
 void setup_mm(void);

 extern uint32_t hyp_traps_vector[];
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index b9a7f61f73..61203db8af 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -48,8 +48,6 @@
 #include <xsm/xsm.h>
 #include <asm/acpi.h>

-struct bootinfo __initdata bootinfo;
-
 /*
  * Sanitized version of cpuinfo containing only features available on all
  * cores (only on arm64 as there is no sanitization support on arm32).
@@ -203,309 +201,6 @@ static void __init processor_id(void)
     processor_setup();
 }

-static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
-                                         void (*cb)(paddr_t ps, paddr_t pe),
-                                         unsigned int first)
-{
-    unsigned int i, nr;
-    int rc;
-
-    rc = fdt_num_mem_rsv(device_tree_flattened);
-    if ( rc < 0 )
-        panic("Unable to retrieve the number of reserved regions (rc=%d)\n",
-              rc);
-
-    nr = rc;
-
-    for ( i = first; i < nr ; i++ )
-    {
-        paddr_t r_s, r_e;
-
-        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &r_s, &r_e ) < 0 )
-            /* If we can't read it, pretend it doesn't exist... */
-            continue;
-
-        r_e += r_s; /* fdt_get_mem_rsv_paddr returns length */
-
-        if ( s < r_e && r_s < e )
-        {
-            dt_unreserved_regions(r_e, e, cb, i+1);
-            dt_unreserved_regions(s, r_s, cb, i+1);
-            return;
-        }
-    }
-
-    /*
-     * i is the current bootmodule we are evaluating across all possible
-     * kinds.
-     *
-     * When retrieving the corresponding reserved-memory addresses
-     * below, we need to index the bootinfo.reserved_mem bank starting
-     * from 0, and only counting the reserved-memory modules. Hence,
-     * we need to use i - nr.
-     */
-    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
-    {
-        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
-        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
-
-        if ( s < r_e && r_s < e )
-        {
-            dt_unreserved_regions(r_e, e, cb, i + 1);
-            dt_unreserved_regions(s, r_s, cb, i + 1);
-            return;
-        }
-    }
-
-    cb(s, e);
-}
-
-/*
- * TODO: '*_end' could be 0 if the bank/region is at the end of the physical
- * address space. This is for now not handled as it requires more rework.
- */
-static bool __init meminfo_overlap_check(struct meminfo *meminfo,
-                                         paddr_t region_start,
-                                         paddr_t region_size)
-{
-    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
-    paddr_t region_end = region_start + region_size;
-    unsigned int i, bank_num = meminfo->nr_banks;
-
-    for ( i = 0; i < bank_num; i++ )
-    {
-        bank_start = meminfo->bank[i].start;
-        bank_end = bank_start + meminfo->bank[i].size;
-
-        if ( region_end <= bank_start || region_start >= bank_end )
-            continue;
-        else
-        {
-            printk("Region: [%#"PRIpaddr", %#"PRIpaddr") overlapping with bank[%u]: [%#"PRIpaddr", %#"PRIpaddr")\n",
-                   region_start, region_end, i, bank_start, bank_end);
-            return true;
-        }
-    }
-
-    return false;
-}
-
-/*
- * TODO: '*_end' could be 0 if the module/region is at the end of the physical
- * address space. This is for now not handled as it requires more rework.
- */
-static bool __init bootmodules_overlap_check(struct bootmodules *bootmodules,
-                                             paddr_t region_start,
-                                             paddr_t region_size)
-{
-    paddr_t mod_start = INVALID_PADDR, mod_end = 0;
-    paddr_t region_end = region_start + region_size;
-    unsigned int i, mod_num = bootmodules->nr_mods;
-
-    for ( i = 0; i < mod_num; i++ )
-    {
-        mod_start = bootmodules->module[i].start;
-        mod_end = mod_start + bootmodules->module[i].size;
-
-        if ( region_end <= mod_start || region_start >= mod_end )
-            continue;
-        else
-        {
-            printk("Region: [%#"PRIpaddr", %#"PRIpaddr") overlapping with mod[%u]: [%#"PRIpaddr", %#"PRIpaddr")\n",
-                   region_start, region_end, i, mod_start, mod_end);
-            return true;
-        }
-    }
-
-    return false;
-}
-
-void __init fw_unreserved_regions(paddr_t s, paddr_t e,
-                                  void (*cb)(paddr_t ps, paddr_t pe),
-                                  unsigned int first)
-{
-    if ( acpi_disabled )
-        dt_unreserved_regions(s, e, cb, first);
-    else
-        cb(s, e);
-}
-
-/*
- * Given an input physical address range, check if this range is overlapping
- * with the existing reserved memory regions defined in bootinfo.
- * Return true if the input physical address range is overlapping with any
- * existing reserved memory regions, otherwise false.
- */
-bool __init check_reserved_regions_overlap(paddr_t region_start,
-                                           paddr_t region_size)
-{
-    /* Check if input region is overlapping with bootinfo.reserved_mem banks */
-    if ( meminfo_overlap_check(&bootinfo.reserved_mem,
-                               region_start, region_size) )
-        return true;
-
-    /* Check if input region is overlapping with bootmodules */
-    if ( bootmodules_overlap_check(&bootinfo.modules,
-                                   region_start, region_size) )
-        return true;
-
-#ifdef CONFIG_ACPI
-    /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
-    if ( meminfo_overlap_check(&bootinfo.acpi, region_start, region_size) )
-        return true;
-#endif
-
-    return false;
-}
-
-struct bootmodule __init *add_boot_module(bootmodule_kind kind,
-                                          paddr_t start, paddr_t size,
-                                          bool domU)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    unsigned int i;
-
-    if ( mods->nr_mods == MAX_MODULES )
-    {
-        printk("Ignoring %s boot module at %"PRIpaddr"-%"PRIpaddr" (too many)\n",
-               boot_module_kind_as_string(kind), start, start + size);
-        return NULL;
-    }
-
-    if ( check_reserved_regions_overlap(start, size) )
-        return NULL;
-
-    for ( i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        if ( mod->kind == kind && mod->start == start )
-        {
-            if ( !domU )
-                mod->domU = false;
-            return mod;
-        }
-    }
-
-    mod = &mods->module[mods->nr_mods++];
-    mod->kind = kind;
-    mod->start = start;
-    mod->size = size;
-    mod->domU = domU;
-
-    return mod;
-}
-
-/*
- * boot_module_find_by_kind can only be used to return Xen modules (e.g
- * XSM, DTB) or Dom0 modules. This is not suitable for looking up guest
- * modules.
- */
-struct bootmodule * __init boot_module_find_by_kind(bootmodule_kind kind)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    int i;
-    for (i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        if ( mod->kind == kind && !mod->domU )
-            return mod;
-    }
-    return NULL;
-}
-
-void __init add_boot_cmdline(const char *name, const char *cmdline,
-                             bootmodule_kind kind, paddr_t start, bool domU)
-{
-    struct bootcmdlines *cmds = &bootinfo.cmdlines;
-    struct bootcmdline *cmd;
-
-    if ( cmds->nr_mods == MAX_MODULES )
-    {
-        printk("Ignoring %s cmdline (too many)\n", name);
-        return;
-    }
-
-    cmd = &cmds->cmdline[cmds->nr_mods++];
-    cmd->kind = kind;
-    cmd->domU = domU;
-    cmd->start = start;
-
-    ASSERT(strlen(name) <= DT_MAX_NAME);
-    safe_strcpy(cmd->dt_name, name);
-
-    if ( strlen(cmdline) > BOOTMOD_MAX_CMDLINE )
-        panic("module %s command line too long\n", name);
-    safe_strcpy(cmd->cmdline, cmdline);
-}
-
-/*
- * boot_cmdline_find_by_kind can only be used to return Xen modules (e.g
- * XSM, DTB) or Dom0 modules. This is not suitable for looking up guest
- * modules.
- */
-struct bootcmdline * __init boot_cmdline_find_by_kind(bootmodule_kind kind)
-{
-    struct bootcmdlines *cmds = &bootinfo.cmdlines;
-    struct bootcmdline *cmd;
-    int i;
-
-    for ( i = 0 ; i < cmds->nr_mods ; i++ )
-    {
-        cmd = &cmds->cmdline[i];
-        if ( cmd->kind == kind && !cmd->domU )
-            return cmd;
-    }
-    return NULL;
-}
-
-struct bootcmdline * __init boot_cmdline_find_by_name(const char *name)
-{
-    struct bootcmdlines *mods = &bootinfo.cmdlines;
-    struct bootcmdline *mod;
-    unsigned int i;
-
-    for (i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->cmdline[i];
-        if ( strcmp(mod->dt_name, name) == 0 )
-            return mod;
-    }
-    return NULL;
-}
-
-struct bootmodule * __init boot_module_find_by_addr_and_kind(bootmodule_kind kind,
-                                                             paddr_t start)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    unsigned int i;
-
-    for (i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        if ( mod->kind == kind && mod->start == start )
-            return mod;
-    }
-    return NULL;
-}
-
-const char * __init boot_module_kind_as_string(bootmodule_kind kind)
-{
-    switch ( kind )
-    {
-    case BOOTMOD_XEN:     return "Xen";
-    case BOOTMOD_FDT:     return "Device Tree";
-    case BOOTMOD_KERNEL:  return "Kernel";
-    case BOOTMOD_RAMDISK: return "Ramdisk";
-    case BOOTMOD_XSM:     return "XSM";
-    case BOOTMOD_GUEST_DTB:     return "DTB";
-    case BOOTMOD_UNKNOWN: return "Unknown";
-    default: BUG();
-    }
-}
-
 void __init discard_initial_modules(void)
 {
     struct bootmodules *mi = &bootinfo.modules;
@@ -544,40 +239,6 @@ static void * __init relocate_fdt(paddr_t dtb_paddr, size_t dtb_size)
     return fdt;
 }

-/*
- * Return the end of the non-module region starting at s. In other
- * words return s the start of the next modules after s.
- *
- * On input *end is the end of the region which should be considered
- * and it is updated to reflect the end of the module, clipped to the
- * end of the region if it would run over.
- */
-static paddr_t __init next_module(paddr_t s, paddr_t *end)
-{
-    struct bootmodules *mi = &bootinfo.modules;
-    paddr_t lowest = ~(paddr_t)0;
-    int i;
-
-    for ( i = 0; i < mi->nr_mods; i++ )
-    {
-        paddr_t mod_s = mi->module[i].start;
-        paddr_t mod_e = mod_s + mi->module[i].size;
-
-        if ( !mi->module[i].size )
-            continue;
-
-        if ( mod_s < s )
-            continue;
-        if ( mod_s > lowest )
-            continue;
-        if ( mod_s > *end )
-            continue;
-        lowest = mod_s;
-        *end = min(*end, mod_e);
-    }
-    return lowest;
-}
-
 void __init init_pdx(void)
 {
     paddr_t bank_start, bank_size, bank_end;
@@ -622,86 +283,6 @@ void __init init_pdx(void)
     }
 }

-/*
- * Populate the boot allocator.
- * If a static heap was not provided by the admin, all the RAM but the
- * following regions will be added:
- *  - Modules (e.g., Xen, Kernel)
- *  - Reserved regions
- *  - Xenheap (arm32 only)
- * If a static heap was provided by the admin, populate the boot
- * allocator with the corresponding regions only, but with Xenheap excluded
- * on arm32.
- */
-void __init populate_boot_allocator(void)
-{
-    unsigned int i;
-    const struct meminfo *banks = &bootinfo.mem;
-    paddr_t s, e;
-
-    if ( bootinfo.static_heap )
-    {
-        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
-        {
-            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
-                continue;
-
-            s = bootinfo.reserved_mem.bank[i].start;
-            e = s + bootinfo.reserved_mem.bank[i].size;
-#ifdef CONFIG_ARM_32
-            /* Avoid the xenheap, note that the xenheap cannot across a bank */
-            if ( s <= mfn_to_maddr(directmap_mfn_start) &&
-                 e >= mfn_to_maddr(directmap_mfn_end) )
-            {
-                init_boot_pages(s, mfn_to_maddr(directmap_mfn_start));
-                init_boot_pages(mfn_to_maddr(directmap_mfn_end), e);
-            }
-            else
-#endif
-                init_boot_pages(s, e);
-        }
-
-        return;
-    }
-
-    for ( i = 0; i < banks->nr_banks; i++ )
-    {
-        const struct membank *bank = &banks->bank[i];
-        paddr_t bank_end = bank->start + bank->size;
-
-        s = bank->start;
-        while ( s < bank_end )
-        {
-            paddr_t n = bank_end;
-
-            e = next_module(s, &n);
-
-            if ( e == ~(paddr_t)0 )
-                e = n = bank_end;
-
-            /*
-             * Module in a RAM bank other than the one which we are
-             * not dealing with here.
-             */
-            if ( e > bank_end )
-                e = bank_end;
-
-#ifdef CONFIG_ARM_32
-            /* Avoid the xenheap */
-            if ( s < mfn_to_maddr(directmap_mfn_end) &&
-                 mfn_to_maddr(directmap_mfn_start) < e )
-            {
-                e = mfn_to_maddr(directmap_mfn_start);
-                n = mfn_to_maddr(directmap_mfn_end);
-            }
-#endif
-
-            fw_unreserved_regions(s, e, init_boot_pages, 0);
-            s = n;
-        }
-    }
-}
-
 size_t __read_mostly dcache_line_bytes;

 /* C entry point for boot CPU */
diff --git a/xen/common/Makefile b/xen/common/Makefile
index e5eee19a85..3a39dd35f2 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -76,6 +76,7 @@ obj-$(CONFIG_UBSAN) += ubsan/

 obj-$(CONFIG_NEEDS_LIBELF) += libelf/
 obj-$(CONFIG_HAS_DEVICE_TREE) += libfdt/
+obj-$(CONFIG_HAS_DEVICE_TREE) += device-tree/

 CONF_FILE := $(if $(patsubst /%,,$(KCONFIG_CONFIG)),$(objtree)/)$(KCONFIG_CONFIG)
 $(obj)/config.gz: $(CONF_FILE)
diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
new file mode 100644
index 0000000000..947bad979c
--- /dev/null
+++ b/xen/common/device-tree/Makefile
@@ -0,0 +1 @@
+obj-y += bootinfo.init.o
diff --git a/xen/common/device-tree/bootinfo.c b/xen/common/device-tree/bootinfo.c
new file mode 100644
index 0000000000..914f876d29
--- /dev/null
+++ b/xen/common/device-tree/bootinfo.c
@@ -0,0 +1,446 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Derived from $xen/arch/arm/setup.c.
+ *
+ * Early device tree parsing and bookkeeping routines.
+ *
+ * Tim Deegan <tim@xen.org>
+ * Copyright (c) 2011 Citrix Systems.
+ * Copyright (c) 2024 Raptor Engineering LLC
+ */
+
+#include <xen/acpi.h>
+#include <xen/bootfdt.h>
+#include <xen/bug.h>
+#include <xen/device_tree.h>
+#include <xen/init.h>
+#include <xen/libfdt/libfdt-xen.h>
+#include <xen/mm.h>
+
+struct bootinfo __initdata bootinfo;
+
+const char * __init boot_module_kind_as_string(bootmodule_kind kind)
+{
+    switch ( kind )
+    {
+    case BOOTMOD_XEN:     return "Xen";
+    case BOOTMOD_FDT:     return "Device Tree";
+    case BOOTMOD_KERNEL:  return "Kernel";
+    case BOOTMOD_RAMDISK: return "Ramdisk";
+    case BOOTMOD_XSM:     return "XSM";
+    case BOOTMOD_GUEST_DTB:     return "DTB";
+    case BOOTMOD_UNKNOWN: return "Unknown";
+    default: BUG();
+    }
+}
+
+static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
+                                         void (*cb)(paddr_t ps, paddr_t pe),
+                                         unsigned int first)
+{
+    unsigned int i, nr;
+    int rc;
+
+    rc = fdt_num_mem_rsv(device_tree_flattened);
+    if ( rc < 0 )
+        panic("Unable to retrieve the number of reserved regions (rc=%d)\n",
+              rc);
+
+    nr = rc;
+
+    for ( i = first; i < nr ; i++ )
+    {
+        paddr_t r_s, r_e;
+
+        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &r_s, &r_e ) < 0 )
+            /* If we can't read it, pretend it doesn't exist... */
+            continue;
+
+        r_e += r_s; /* fdt_get_mem_rsv_paddr returns length */
+
+        if ( s < r_e && r_s < e )
+        {
+            dt_unreserved_regions(r_e, e, cb, i+1);
+            dt_unreserved_regions(s, r_s, cb, i+1);
+            return;
+        }
+    }
+
+    /*
+     * i is the current bootmodule we are evaluating across all possible
+     * kinds.
+     *
+     * When retrieving the corresponding reserved-memory addresses
+     * below, we need to index the bootinfo.reserved_mem bank starting
+     * from 0, and only counting the reserved-memory modules. Hence,
+     * we need to use i - nr.
+     */
+    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
+    {
+        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
+        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
+
+        if ( s < r_e && r_s < e )
+        {
+            dt_unreserved_regions(r_e, e, cb, i + 1);
+            dt_unreserved_regions(s, r_s, cb, i + 1);
+            return;
+        }
+    }
+
+    cb(s, e);
+}
+
+/*
+ * TODO: '*_end' could be 0 if the bank/region is at the end of the physical
+ * address space. This is for now not handled as it requires more rework.
+ */
+static bool __init meminfo_overlap_check(struct meminfo *meminfo,
+                                         paddr_t region_start,
+                                         paddr_t region_size)
+{
+    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
+    paddr_t region_end = region_start + region_size;
+    unsigned int i, bank_num = meminfo->nr_banks;
+
+    for ( i = 0; i < bank_num; i++ )
+    {
+        bank_start = meminfo->bank[i].start;
+        bank_end = bank_start + meminfo->bank[i].size;
+
+        if ( region_end <= bank_start || region_start >= bank_end )
+            continue;
+        else
+        {
+            printk("Region: [%#"PRIpaddr", %#"PRIpaddr") overlapping with bank[%u]: [%#"PRIpaddr", %#"PRIpaddr")\n",
+                   region_start, region_end, i, bank_start, bank_end);
+            return true;
+        }
+    }
+
+    return false;
+}
+
+/*
+ * TODO: '*_end' could be 0 if the module/region is at the end of the physical
+ * address space. This is for now not handled as it requires more rework.
+ */
+static bool __init bootmodules_overlap_check(struct bootmodules *bootmodules,
+                                             paddr_t region_start,
+                                             paddr_t region_size)
+{
+    paddr_t mod_start = INVALID_PADDR, mod_end = 0;
+    paddr_t region_end = region_start + region_size;
+    unsigned int i, mod_num = bootmodules->nr_mods;
+
+    for ( i = 0; i < mod_num; i++ )
+    {
+        mod_start = bootmodules->module[i].start;
+        mod_end = mod_start + bootmodules->module[i].size;
+
+        if ( region_end <= mod_start || region_start >= mod_end )
+            continue;
+        else
+        {
+            printk("Region: [%#"PRIpaddr", %#"PRIpaddr") overlapping with mod[%u]: [%#"PRIpaddr", %#"PRIpaddr")\n",
+                   region_start, region_end, i, mod_start, mod_end);
+            return true;
+        }
+    }
+
+    return false;
+}
+
+void __init fw_unreserved_regions(paddr_t s, paddr_t e,
+                                  void (*cb)(paddr_t ps, paddr_t pe),
+                                  unsigned int first)
+{
+    if ( acpi_disabled )
+        dt_unreserved_regions(s, e, cb, first);
+    else
+        cb(s, e);
+}
+
+/*
+ * Given an input physical address range, check if this range is overlapping
+ * with the existing reserved memory regions defined in bootinfo.
+ * Return true if the input physical address range is overlapping with any
+ * existing reserved memory regions, otherwise false.
+ */
+bool __init check_reserved_regions_overlap(paddr_t region_start,
+                                           paddr_t region_size)
+{
+    /* Check if input region is overlapping with bootinfo.reserved_mem banks */
+    if ( meminfo_overlap_check(&bootinfo.reserved_mem,
+                               region_start, region_size) )
+        return true;
+
+    /* Check if input region is overlapping with bootmodules */
+    if ( bootmodules_overlap_check(&bootinfo.modules,
+                                   region_start, region_size) )
+        return true;
+
+#ifdef CONFIG_ACPI
+    /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
+    if ( meminfo_overlap_check(&bootinfo.acpi, region_start, region_size) )
+        return true;
+#endif
+
+    return false;
+}
+
+struct bootmodule __init *add_boot_module(bootmodule_kind kind,
+                                          paddr_t start, paddr_t size,
+                                          bool domU)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+
+    if ( mods->nr_mods == MAX_MODULES )
+    {
+        printk("Ignoring %s boot module at %"PRIpaddr"-%"PRIpaddr" (too many)\n",
+               boot_module_kind_as_string(kind), start, start + size);
+        return NULL;
+    }
+
+    if ( check_reserved_regions_overlap(start, size) )
+        return NULL;
+
+    for ( i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        if ( mod->kind == kind && mod->start == start )
+        {
+            if ( !domU )
+                mod->domU = false;
+            return mod;
+        }
+    }
+
+    mod = &mods->module[mods->nr_mods++];
+    mod->kind = kind;
+    mod->start = start;
+    mod->size = size;
+    mod->domU = domU;
+
+    return mod;
+}
+
+/*
+ * boot_module_find_by_kind can only be used to return Xen modules (e.g
+ * XSM, DTB) or Dom0 modules. This is not suitable for looking up guest
+ * modules.
+ */
+struct bootmodule * __init boot_module_find_by_kind(bootmodule_kind kind)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    int i;
+    for (i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        if ( mod->kind == kind && !mod->domU )
+            return mod;
+    }
+    return NULL;
+}
+
+void __init add_boot_cmdline(const char *name, const char *cmdline,
+                             bootmodule_kind kind, paddr_t start, bool domU)
+{
+    struct bootcmdlines *cmds = &bootinfo.cmdlines;
+    struct bootcmdline *cmd;
+
+    if ( cmds->nr_mods == MAX_MODULES )
+    {
+        printk("Ignoring %s cmdline (too many)\n", name);
+        return;
+    }
+
+    cmd = &cmds->cmdline[cmds->nr_mods++];
+    cmd->kind = kind;
+    cmd->domU = domU;
+    cmd->start = start;
+
+    ASSERT(strlen(name) <= DT_MAX_NAME);
+    safe_strcpy(cmd->dt_name, name);
+
+    if ( strlen(cmdline) > BOOTMOD_MAX_CMDLINE )
+        panic("module %s command line too long\n", name);
+    safe_strcpy(cmd->cmdline, cmdline);
+}
+
+/*
+ * boot_cmdline_find_by_kind can only be used to return Xen modules (e.g
+ * XSM, DTB) or Dom0 modules. This is not suitable for looking up guest
+ * modules.
+ */
+struct bootcmdline * __init boot_cmdline_find_by_kind(bootmodule_kind kind)
+{
+    struct bootcmdlines *cmds = &bootinfo.cmdlines;
+    struct bootcmdline *cmd;
+    int i;
+
+    for ( i = 0 ; i < cmds->nr_mods ; i++ )
+    {
+        cmd = &cmds->cmdline[i];
+        if ( cmd->kind == kind && !cmd->domU )
+            return cmd;
+    }
+    return NULL;
+}
+
+struct bootcmdline * __init boot_cmdline_find_by_name(const char *name)
+{
+    struct bootcmdlines *mods = &bootinfo.cmdlines;
+    struct bootcmdline *mod;
+    unsigned int i;
+
+    for (i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->cmdline[i];
+        if ( strcmp(mod->dt_name, name) == 0 )
+            return mod;
+    }
+    return NULL;
+}
+
+struct bootmodule * __init boot_module_find_by_addr_and_kind(bootmodule_kind kind,
+                                                             paddr_t start)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+
+    for (i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        if ( mod->kind == kind && mod->start == start )
+            return mod;
+    }
+    return NULL;
+}
+
+/*
+ * Return the end of the non-module region starting at s. In other
+ * words return s the start of the next modules after s.
+ *
+ * On input *end is the end of the region which should be considered
+ * and it is updated to reflect the end of the module, clipped to the
+ * end of the region if it would run over.
+ */
+static paddr_t __init next_module(paddr_t s, paddr_t *end)
+{
+    struct bootmodules *mi = &bootinfo.modules;
+    paddr_t lowest = ~(paddr_t)0;
+    int i;
+
+    for ( i = 0; i < mi->nr_mods; i++ )
+    {
+        paddr_t mod_s = mi->module[i].start;
+        paddr_t mod_e = mod_s + mi->module[i].size;
+
+        if ( !mi->module[i].size )
+            continue;
+
+        if ( mod_s < s )
+            continue;
+        if ( mod_s > lowest )
+            continue;
+        if ( mod_s > *end )
+            continue;
+        lowest = mod_s;
+        *end = min(*end, mod_e);
+    }
+    return lowest;
+}
+
+/*
+ * Populate the boot allocator.
+ * If a static heap was not provided by the admin, all the RAM but the
+ * following regions will be added:
+ *  - Modules (e.g., Xen, Kernel)
+ *  - Reserved regions
+ *  - Xenheap (CONFIG_SEPARATE_XENHEAP only)
+ * If a static heap was provided by the admin, populate the boot
+ * allocator with the corresponding regions only, but with Xenheap excluded
+ * on arm32.
+ */
+void __init populate_boot_allocator(void)
+{
+    unsigned int i;
+    const struct meminfo *banks = &bootinfo.mem;
+    paddr_t s, e;
+
+    if ( bootinfo.static_heap )
+    {
+        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        {
+            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+                continue;
+
+            s = bootinfo.reserved_mem.bank[i].start;
+            e = s + bootinfo.reserved_mem.bank[i].size;
+#ifdef CONFIG_SEPARATE_XENHEAP
+            /* Avoid the xenheap, note that the xenheap cannot across a bank */
+            if ( s <= mfn_to_maddr(directmap_mfn_start) &&
+                 e >= mfn_to_maddr(directmap_mfn_end) )
+            {
+                init_boot_pages(s, mfn_to_maddr(directmap_mfn_start));
+                init_boot_pages(mfn_to_maddr(directmap_mfn_end), e);
+            }
+            else
+#endif
+                init_boot_pages(s, e);
+        }
+
+        return;
+    }
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        s = bank->start;
+        while ( s < bank_end )
+        {
+            paddr_t n = bank_end;
+
+            e = next_module(s, &n);
+
+            if ( e == ~(paddr_t)0 )
+                e = n = bank_end;
+
+            /*
+             * Module in a RAM bank other than the one which we are
+             * not dealing with here.
+             */
+            if ( e > bank_end )
+                e = bank_end;
+
+#ifdef CONFIG_SEPARATE_XENHEAP
+            /* Avoid the xenheap */
+            if ( s < mfn_to_maddr(directmap_mfn_end) &&
+                 mfn_to_maddr(directmap_mfn_start) < e )
+            {
+                e = mfn_to_maddr(directmap_mfn_start);
+                n = mfn_to_maddr(directmap_mfn_end);
+            }
+#endif
+
+            fw_unreserved_regions(s, e, init_boot_pages, 0);
+            s = n;
+        }
+    }
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/xen/bootfdt.h b/xen/include/xen/bootfdt.h
new file mode 100644
index 0000000000..b0487bdbbd
--- /dev/null
+++ b/xen/include/xen/bootfdt.h
@@ -0,0 +1,116 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __XEN_BOOTFDT_H__
+#define __XEN_BOOTFDT_H__
+
+#include <xen/types.h>
+
+#define MIN_FDT_ALIGN 8
+#define MAX_FDT_SIZE SZ_2M
+
+#define NR_MEM_BANKS 256
+
+#define MAX_MODULES 32 /* Current maximum useful modules */
+
+typedef enum {
+    BOOTMOD_XEN,
+    BOOTMOD_FDT,
+    BOOTMOD_KERNEL,
+    BOOTMOD_RAMDISK,
+    BOOTMOD_XSM,
+    BOOTMOD_GUEST_DTB,
+    BOOTMOD_UNKNOWN
+} bootmodule_kind;
+
+enum membank_type {
+    /*
+     * The MEMBANK_DEFAULT type refers to either reserved memory for the
+     * device/firmware (when the bank is in 'reserved_mem') or any RAM (when
+     * the bank is in 'mem').
+     */
+    MEMBANK_DEFAULT,
+    /*
+     * The MEMBANK_STATIC_DOMAIN type is used to indicate whether the memory
+     * bank is bound to a static Xen domain. It is only valid when the bank
+     * is in reserved_mem.
+     */
+    MEMBANK_STATIC_DOMAIN,
+    /*
+     * The MEMBANK_STATIC_HEAP type is used to indicate whether the memory
+     * bank is reserved as static heap. It is only valid when the bank is
+     * in reserved_mem.
+     */
+    MEMBANK_STATIC_HEAP,
+};
+
+/* Indicates the maximum number of characters(\0 included) for shm_id */
+#define MAX_SHM_ID_LENGTH 16
+
+struct membank {
+    paddr_t start;
+    paddr_t size;
+    enum membank_type type;
+#ifdef CONFIG_STATIC_SHM
+    char shm_id[MAX_SHM_ID_LENGTH];
+    unsigned int nr_shm_borrowers;
+#endif
+};
+
+struct meminfo {
+    unsigned int nr_banks;
+    struct membank bank[NR_MEM_BANKS];
+};
+
+/*
+ * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
+ * The purpose of the domU flag is to avoid getting confused in
+ * kernel_probe, where we try to guess which is the dom0 kernel and
+ * initrd to be compatible with all versions of the multiboot spec.
+ */
+#define BOOTMOD_MAX_CMDLINE 1024
+struct bootmodule {
+    bootmodule_kind kind;
+    bool domU;
+    paddr_t start;
+    paddr_t size;
+};
+
+/* DT_MAX_NAME is the node name max length according the DT spec */
+#define DT_MAX_NAME 41
+struct bootcmdline {
+    bootmodule_kind kind;
+    bool domU;
+    paddr_t start;
+    char dt_name[DT_MAX_NAME];
+    char cmdline[BOOTMOD_MAX_CMDLINE];
+};
+
+struct bootmodules {
+    int nr_mods;
+    struct bootmodule module[MAX_MODULES];
+};
+
+struct bootcmdlines {
+    unsigned int nr_mods;
+    struct bootcmdline cmdline[MAX_MODULES];
+};
+
+struct bootinfo {
+    struct meminfo mem;
+    struct meminfo reserved_mem;
+    struct bootmodules modules;
+    struct bootcmdlines cmdlines;
+#ifdef CONFIG_ACPI
+    struct meminfo acpi;
+#endif
+    bool static_heap;
+};
+
+extern struct bootinfo bootinfo;
+
+void populate_boot_allocator(void);
+
+size_t boot_fdt_info(const void *fdt, paddr_t paddr);
+
+const char *boot_fdt_cmdline(const void *fdt);
+
+#endif /* __XEN_BOOTFDT_H__ */
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 03:55:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704316.1100649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80n-0003fy-W1; Fri, 12 Apr 2024 03:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704316.1100649; Fri, 12 Apr 2024 03: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 1rv80n-0003eo-RO; Fri, 12 Apr 2024 03:55:37 +0000
Received: by outflank-mailman (input) for mailman id 704316;
 Fri, 12 Apr 2024 03:55:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv80m-0003cM-OE
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:55:36 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83d91c66-f880-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 05:55:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 465028287037;
 Thu, 11 Apr 2024 22:55:34 -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 acAbXzFHak1Y; Thu, 11 Apr 2024 22:55:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 37097828560C;
 Thu, 11 Apr 2024 22:55:33 -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 ftt-qx8ZBt6e; Thu, 11 Apr 2024 22:55:32 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id C50C38285556;
 Thu, 11 Apr 2024 22:55:31 -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: 83d91c66-f880-11ee-b908-491648fe20b8
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 37097828560C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712894133; bh=ItEC5+zSFFGxRZgwlxdClhk4sO0BTrEMd3F/MNQQ5NQ=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=AZgE4v3Zq23zsSOjnMEGCfuIO2w9qBN5PtrcVPTmdaEz+/SNJ+W41oZrUa/Rc04Au
	 af4iA4VJDCshI7XkpaoGTtYwLKyqxTHS5gqyprML7f37ya14KLD1NPEnURT0XUuq1e
	 pk+GSjY+XXY6RlyyTMEXVz4YppRNRtdlGvU3meJc=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v4 0/6] Early Boot Allocation on Power
Date: Thu, 11 Apr 2024 22:55:17 -0500
Message-Id: <cover.1712893887.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,
Shawn

Shawn Anastasio (6):
  xen/ppc: Introduce stub asm/static-shmem.h
  xen/device-tree: Move Arm's setup.c bootinfo functions to common
  xen/common: Move Arm's bootfdt.c to common
  xen/ppc: Enable bootfdt and boot allocator
  xen/ppc: mm-radix: Replace debug printing code with printk
  xen/ppc: mm-radix: Allocate all paging structures at runtime

 MAINTAINERS                                   |   1 +
 xen/arch/arm/Makefile                         |   1 -
 xen/arch/arm/include/asm/setup.h              | 122 +----
 xen/arch/arm/setup.c                          | 419 ----------------
 xen/arch/ppc/include/asm/static-shmem.h       |  12 +
 xen/arch/ppc/mm-radix.c                       | 267 +++++------
 xen/arch/ppc/setup.c                          |  22 +-
 xen/common/Makefile                           |   1 +
 xen/common/device-tree/Makefile               |   2 +
 .../arm => common/device-tree}/bootfdt.c      |  22 +-
 xen/common/device-tree/bootinfo.c             | 446 ++++++++++++++++++
 xen/include/xen/bootfdt.h                     | 137 ++++++
 12 files changed, 759 insertions(+), 693 deletions(-)
 create mode 100644 xen/arch/ppc/include/asm/static-shmem.h
 create mode 100644 xen/common/device-tree/Makefile
 rename xen/{arch/arm => common/device-tree}/bootfdt.c (97%)
 create mode 100644 xen/common/device-tree/bootinfo.c
 create mode 100644 xen/include/xen/bootfdt.h

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 03:55:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704319.1100679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80q-0004NO-OS; Fri, 12 Apr 2024 03:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704319.1100679; Fri, 12 Apr 2024 03: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 1rv80q-0004ME-In; Fri, 12 Apr 2024 03:55:40 +0000
Received: by outflank-mailman (input) for mailman id 704319;
 Fri, 12 Apr 2024 03: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv80p-0003cg-4w
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:55:39 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84322b76-f880-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 05:55:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F0A6D828703A;
 Thu, 11 Apr 2024 22:55:34 -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 SYBZZGVPgQS8; Thu, 11 Apr 2024 22:55:34 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3C9488287026;
 Thu, 11 Apr 2024 22:55:34 -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 wNLJwx4J2Rdd; Thu, 11 Apr 2024 22:55:34 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id C98908285A02;
 Thu, 11 Apr 2024 22:55:33 -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: 84322b76-f880-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 3C9488287026
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712894134; bh=eg1UVmj1RCeFzD5J2HKUl3hljqZ0KApTIh1L8o/IKLs=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=Vjot6yvEsM8vakaSq49ltR7MBPmmnNkRLFqDeRxVGKgjgxv47slVKl3JxqPc0Wfa8
	 LIW7XCRVSzA/pfcskXtOhbecYxB6PK217oZihc2AcB0yuDoFXblvo4lvYNZoskKmdu
	 wK5RPp86hxlDqvvfzWdvId4RopPqXNXmhUwDUJ5U=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 4/6] xen/ppc: Enable bootfdt and boot allocator
Date: Thu, 11 Apr 2024 22:55:21 -0500
Message-Id: <46e6d4ddd74b9ecc4937d1086efe06eb39c499dd.1712893887.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1712893887.git.sanastasio@raptorengineering.com>
References: <cover.1712893887.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>
---
Changes in v4:
  - drop unnecessary libfdt.h include in setup.c
  - make boot_fdt and xen_bootmodule const
  - more clearly document that BOOTMOD_FDT is now optional
  - add explicit (void) cast to BOOTMOD_FDT creation

 xen/arch/ppc/setup.c             | 22 +++++++++++++++++++++-
 xen/common/device-tree/bootfdt.c | 11 +++++++++--
 xen/include/xen/bootfdt.h        |  7 +++++++
 3 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 101bdd8bb6..47e997969f 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -1,12 +1,15 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/bootfdt.h>
+#include <xen/device_tree.h>
 #include <xen/mm.h>
 #include <public/version.h>
 #include <asm/boot.h>
 #include <asm/early_printk.h>
 #include <asm/mm.h>
 #include <asm/processor.h>
+#include <asm/setup.h>

 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZE);
@@ -24,6 +27,9 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
                                unsigned long r5, unsigned long r6,
                                unsigned long r7)
 {
+    const void *boot_fdt;
+    const struct bootmodule *xen_bootmodule;
+
     if ( r5 )
     {
         /* Unsupported OpenFirmware boot protocol */
@@ -32,11 +38,25 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
     else
     {
         /* kexec boot protocol */
-        boot_opal_init((void *)r3);
+        boot_fdt = (void *)r3;
+        boot_opal_init(boot_fdt);
     }

     setup_exceptions();

+    device_tree_flattened = boot_fdt;
+    boot_fdt_info(boot_fdt, 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();

     early_printk("Hello, ppc64le!\n");
diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
index f01a5b5d76..76d0f72ef9 100644
--- a/xen/common/device-tree/bootfdt.c
+++ b/xen/common/device-tree/bootfdt.c
@@ -542,12 +542,19 @@ 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);
-
     ret = device_tree_for_each_node(fdt, 0, early_scan_node, NULL);
     if ( ret )
         panic("Early FDT parsing failed (%d)\n", ret);

+    /*
+     * 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
diff --git a/xen/include/xen/bootfdt.h b/xen/include/xen/bootfdt.h
index 577618da16..ea3ad96bb9 100644
--- a/xen/include/xen/bootfdt.h
+++ b/xen/include/xen/bootfdt.h
@@ -13,7 +13,14 @@

 typedef enum {
     BOOTMOD_XEN,
+
+    /*
+     * The BOOTMOD_FDT type will only be present when the firmware-provided FDT
+     * blob exists outside of a reserved memory region which is platform-
+     * dependent and may not be relied upon.
+     */
     BOOTMOD_FDT,
+
     BOOTMOD_KERNEL,
     BOOTMOD_RAMDISK,
     BOOTMOD_XSM,
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 03:55:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704318.1100674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80q-0004Jh-DU; Fri, 12 Apr 2024 03:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704318.1100674; Fri, 12 Apr 2024 03: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 1rv80q-0004Ja-Ai; Fri, 12 Apr 2024 03:55:40 +0000
Received: by outflank-mailman (input) for mailman id 704318;
 Fri, 12 Apr 2024 03: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv80o-0003cg-UK
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:55:38 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84118175-f880-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 05:55:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A642C8286D98;
 Thu, 11 Apr 2024 22:55:34 -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 NAsXlbbp8DZW; Thu, 11 Apr 2024 22:55:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C36DD8285556;
 Thu, 11 Apr 2024 22:55:33 -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 m3PLhvj5tDYh; Thu, 11 Apr 2024 22:55:33 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 49A0D8287026;
 Thu, 11 Apr 2024 22:55:33 -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: 84118175-f880-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com C36DD8285556
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712894133; bh=9DEDygZK7p/Loek4mAbH1z9o5S1b+BWpvMpymX80HZI=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=DjBkXOKKwz+n7R8dZy6Zpmhaf4thjnQZXGOcyA+pbucZ3VX+UVnk0Np0gmGS3A5IT
	 hc4+2Uh661wzpPIJxigqaRj0QyRnqwoozDgeGSCiCpXg6A4q2EkqU2EekQKj9My7Wo
	 ijDvKcU7TM5KkCB5DyDLyaw/4iglz+LLTffgTyzk=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 3/6] xen/common: Move Arm's bootfdt.c to common
Date: Thu, 11 Apr 2024 22:55:20 -0500
Message-Id: <6df5d50608898f0a7ff48d96176d1c7d15424812.1712893887.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1712893887.git.sanastasio@raptorengineering.com>
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Move Arm's bootfdt.c to xen/common so that it can be used by other
device tree architectures like PPC and RISCV.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Acked-by: Julien Grall <julien@xen.org>
---
Changes in v4:
  - move function prototypes to patch 2's xen/include/bootfdt.h
  - clean up #includes

 xen/arch/arm/Makefile                          |  1 -
 xen/arch/arm/include/asm/setup.h               | 13 -------------
 xen/common/device-tree/Makefile                |  1 +
 xen/{arch/arm => common/device-tree}/bootfdt.c | 11 +++++------
 xen/include/xen/bootfdt.h                      | 14 ++++++++++++++
 5 files changed, 20 insertions(+), 20 deletions(-)
 rename xen/{arch/arm => common/device-tree}/bootfdt.c (99%)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7b1350e2ef..9e1548378c 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -10,7 +10,6 @@ obj-$(CONFIG_TEE) += tee/
 obj-$(CONFIG_HAS_VPCI) += vpci.o

 obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
-obj-y += bootfdt.init.o
 obj-y += cpuerrata.o
 obj-y += cpufeature.o
 obj-y += decode.o
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index bf16afe31c..f955b7653a 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -39,19 +39,6 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
                            void (*cb)(paddr_t ps, paddr_t pe),
                            unsigned int first);

-bool check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size);
-
-struct bootmodule *add_boot_module(bootmodule_kind kind,
-                                   paddr_t start, paddr_t size, bool domU);
-struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
-struct bootmodule * boot_module_find_by_addr_and_kind(bootmodule_kind kind,
-                                                             paddr_t start);
-void add_boot_cmdline(const char *name, const char *cmdline,
-                      bootmodule_kind kind, paddr_t start, bool domU);
-struct bootcmdline *boot_cmdline_find_by_kind(bootmodule_kind kind);
-struct bootcmdline * boot_cmdline_find_by_name(const char *name);
-const char *boot_module_kind_as_string(bootmodule_kind kind);
-
 void init_pdx(void);
 void setup_mm(void);

diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
index 947bad979c..ff2de71c96 100644
--- a/xen/common/device-tree/Makefile
+++ b/xen/common/device-tree/Makefile
@@ -1 +1,2 @@
+obj-y += bootfdt.init.o
 obj-y += bootinfo.init.o
diff --git a/xen/arch/arm/bootfdt.c b/xen/common/device-tree/bootfdt.c
similarity index 99%
rename from xen/arch/arm/bootfdt.c
rename to xen/common/device-tree/bootfdt.c
index 35dbdf3384..f01a5b5d76 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/common/device-tree/bootfdt.c
@@ -4,13 +4,12 @@
  *
  * Copyright (C) 2012-2014 Citrix Systems, Inc.
  */
-#include <xen/types.h>
-#include <xen/lib.h>
-#include <xen/kernel.h>
-#include <xen/init.h>
-#include <xen/efi.h>
+
+#include <xen/bootfdt.h>
 #include <xen/device_tree.h>
-#include <xen/lib.h>
+#include <xen/efi.h>
+#include <xen/init.h>
+#include <xen/kernel.h>
 #include <xen/libfdt/libfdt-xen.h>
 #include <xen/sort.h>
 #include <xsm/xsm.h>
diff --git a/xen/include/xen/bootfdt.h b/xen/include/xen/bootfdt.h
index b0487bdbbd..577618da16 100644
--- a/xen/include/xen/bootfdt.h
+++ b/xen/include/xen/bootfdt.h
@@ -107,6 +107,20 @@ struct bootinfo {

 extern struct bootinfo bootinfo;

+bool check_reserved_regions_overlap(paddr_t region_start,
+                                    paddr_t region_size);
+
+struct bootmodule *add_boot_module(bootmodule_kind kind,
+                                   paddr_t start, paddr_t size, bool domU);
+struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
+struct bootmodule * boot_module_find_by_addr_and_kind(bootmodule_kind kind,
+                                                             paddr_t start);
+void add_boot_cmdline(const char *name, const char *cmdline,
+                      bootmodule_kind kind, paddr_t start, bool domU);
+struct bootcmdline *boot_cmdline_find_by_kind(bootmodule_kind kind);
+struct bootcmdline * boot_cmdline_find_by_name(const char *name);
+const char *boot_module_kind_as_string(bootmodule_kind kind);
+
 void populate_boot_allocator(void);

 size_t boot_fdt_info(const void *fdt, paddr_t paddr);
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 03:55:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704320.1100685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80r-0004Ta-44; Fri, 12 Apr 2024 03:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704320.1100685; Fri, 12 Apr 2024 03:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80q-0004St-Uq; Fri, 12 Apr 2024 03:55:40 +0000
Received: by outflank-mailman (input) for mailman id 704320;
 Fri, 12 Apr 2024 03: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv80p-0003cg-LD
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:55:39 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8442fd6d-f880-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 05:55:36 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1F26E8285A02;
 Thu, 11 Apr 2024 22:55:35 -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 OSBGkdgH4Iiv; Thu, 11 Apr 2024 22:55:34 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7C92A82859ED;
 Thu, 11 Apr 2024 22:55:34 -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 f9g-kxk51Npp; Thu, 11 Apr 2024 22:55:34 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 373308286D98;
 Thu, 11 Apr 2024 22:55:34 -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: 8442fd6d-f880-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 7C92A82859ED
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712894134; bh=heOOpt0GaBxaUSv5fvn3lv+UIGdQ/ulfvZ6FNZzyZOw=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=HGYyEtM9BK0j8a4C1oPdhhLQv2GV1dZUoKnAPbrAO1cIn/QembCE7TzIc939HlhSq
	 yC5uAhgcTH/PJtXqAQW8JowkxKVl1bl9L8uezSnXcMR6i/IgkZP4N2N2pp5twpurvO
	 amR93xntax8pE5CDTnt9WhNeI69w3bS+KYUddqT4=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 5/6] xen/ppc: mm-radix: Replace debug printing code with printk
Date: Thu, 11 Apr 2024 22:55:22 -0500
Message-Id: <5b55af3e1e12b17f2f2e7f71df1834a4814d0a25.1712893887.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1712893887.git.sanastasio@raptorengineering.com>
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Now that we have common code building, there's no need to keep the old
itoa64+debug print function in mm-radix.c

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4: none

 xen/arch/ppc/mm-radix.c | 58 +++++++++--------------------------------
 1 file changed, 12 insertions(+), 46 deletions(-)

diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index daa411a6fa..ab5a10695c 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -15,6 +15,12 @@

 void enable_mmu(void);

+#ifdef CONFIG_DEBUG
+#define radix_dprintk(msg, ...) printk(XENLOG_DEBUG msg, ## __VA_ARGS__)
+#else
+#define radix_dprintk(...)
+#endif
+
 #define INITIAL_LVL1_PD_COUNT      1
 #define INITIAL_LVL2_LVL3_PD_COUNT 2
 #define INITIAL_LVL4_PT_COUNT      256
@@ -80,45 +86,6 @@ static __init struct lvl4_pt *lvl4_pt_pool_alloc(void)
     return &initial_lvl4_pt_pool[initial_lvl4_pt_pool_used++];
 }

-#ifndef NDEBUG
-/* TODO: Remove once we get common/ building */
-static char *__init itoa64_hex(uint64_t val, char *out_buf, size_t buf_len)
-{
-    uint64_t cur;
-    size_t i = buf_len - 1;
-
-    /* Null terminate buffer */
-    out_buf[i] = '\0';
-
-    /* Add digits in reverse */
-    cur = val;
-    while ( cur && i > 0 )
-    {
-        out_buf[--i] = "0123456789ABCDEF"[cur % 16];
-        cur /= 16;
-    }
-
-    /* Pad to 16 digits */
-    while ( i > 0 )
-        out_buf[--i] = '0';
-
-    return out_buf + i;
-}
-#endif
-
-static void __init radix_dprint(uint64_t addr, const char *msg)
-{
-#ifndef NDEBUG
-    char buf[sizeof("DEADBEEFCAFEBABA")];
-    char *addr_s = itoa64_hex(addr, buf, sizeof(buf));
-
-    early_printk("(0x");
-    early_printk(addr_s);
-    early_printk(") ");
-    early_printk(msg);
-#endif
-}
-
 static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
                                          vaddr_t map_start,
                                          vaddr_t map_end,
@@ -186,27 +153,26 @@ static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
             unsigned long paddr = (page_addr - map_start) + phys_base;
             unsigned long flags;

-            radix_dprint(paddr, "being mapped to ");
-            radix_dprint(page_addr, "!\n");
+            radix_dprintk("%016lx being mapped to %016lx\n", paddr, page_addr);
             if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
             {
-                radix_dprint(page_addr, "being marked as TEXT (RX)\n");
+                radix_dprintk("%016lx being marked as TEXT (RX)\n", page_addr);
                 flags = PTE_XEN_RX;
             }
             else if ( is_kernel_rodata(page_addr) )
             {
-                radix_dprint(page_addr, "being marked as RODATA (RO)\n");
+                radix_dprintk("%016lx being marked as RODATA (RO)\n", page_addr);
                 flags = PTE_XEN_RO;
             }
             else
             {
-                radix_dprint(page_addr, "being marked as DEFAULT (RW)\n");
+                radix_dprintk("%016lx being marked as DEFAULT (RW)\n", page_addr);
                 flags = PTE_XEN_RW;
             }

             *pte = paddr_to_pte(paddr, flags);
-            radix_dprint(paddr_to_pte(paddr, flags).pte,
-                             "is result of PTE map!\n");
+            radix_dprintk("%016lx is the result of PTE map\n",
+                paddr_to_pte(paddr, flags).pte);
         }
         else
         {
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 03:55:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704317.1100664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80p-00045B-5T; Fri, 12 Apr 2024 03:55:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704317.1100664; Fri, 12 Apr 2024 03: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 1rv80p-000453-2f; Fri, 12 Apr 2024 03:55:39 +0000
Received: by outflank-mailman (input) for mailman id 704317;
 Fri, 12 Apr 2024 03:55:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv80o-0003cM-6e
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:55:38 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84d4d64b-f880-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 05:55:37 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1B2E28285611;
 Thu, 11 Apr 2024 22:55:36 -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 CS4f9qiucV-D; Thu, 11 Apr 2024 22:55:34 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D65ED8285556;
 Thu, 11 Apr 2024 22:55:34 -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 Geqn_ei1Dc-Z; Thu, 11 Apr 2024 22:55:34 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 7F2528287038;
 Thu, 11 Apr 2024 22:55:34 -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: 84d4d64b-f880-11ee-b908-491648fe20b8
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com D65ED8285556
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712894134; bh=+oNr6YI+my9C14uC+qtbQ1w6T4lZvStTVUqWonPVFJk=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=vKUSuEnRWVFTbxsQ0z5Na6B824wIEO/b80JUU2xv6Ps+5fr4qadwCbZXkwoxY9kSz
	 dQnw47wXWGvZfnnZyQ0YSLDOp3dfjo+BGejzQPrSB18lRhRbKYexfBWpUAXy2vicva
	 BKV4eUBNY6TKIs1d0wESuxO3V//wqgDFPfmqSA8M=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 6/6] xen/ppc: mm-radix: Allocate all paging structures at runtime
Date: Thu, 11 Apr 2024 22:55:23 -0500
Message-Id: <d7263aaef3bd59255a84bd78c4ea4c09c78a5902.1712893887.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1712893887.git.sanastasio@raptorengineering.com>
References: <cover.1712893887.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 v4:
  - use mfn_add in initial_page_alloc()
  - zero pages returned by initial_page_alloc()

 xen/arch/ppc/mm-radix.c | 231 +++++++++++++++++++++-------------------
 1 file changed, 123 insertions(+), 108 deletions(-)

diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index ab5a10695c..8f4bfa87c0 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -21,69 +21,105 @@ 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)];
+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)));

-    return &initial_lvl2_lvl3_pd_pool[initial_lvl2_lvl3_pd_pool_used++];
+    memset(__va(mfn_to_maddr(mfn_first)), 0, nr_pfns << PAGE_SHIFT);
+
+    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));
+
+    /* 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));

-    return &initial_lvl4_pt_pool[initial_lvl4_pt_pool_used++];
+    /* 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,
@@ -92,6 +128,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 )
     {
@@ -105,81 +142,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));
+        unsigned long flags;

-        /* Allocate LVL 3 PD if necessary */
-        pde = pt_entry(lvl2, page_addr);
-        if ( !pde_is_valid(*pde) )
+        if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
         {
-            lvl3 = lvl3_pd_pool_alloc();
-            *pde = paddr_to_pde(__pa(lvl3), PDE_VALID,
-                                XEN_PT_ENTRIES_LOG2_LVL_3);
+            radix_dprintk("%016lx being marked as TEXT (RX)\n", page_addr);
+            flags = PTE_XEN_RX;
         }
-        else
-            lvl3 = __va(pde_to_paddr(*pde));
-
-        /* Allocate LVL 4 PT if necessary */
-        pde = pt_entry(lvl3, page_addr);
-        if ( !pde_is_valid(*pde) )
+        else if ( is_kernel_rodata(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 RODATA (RO)\n", page_addr);
+            flags = PTE_XEN_RO;
         }
         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) )
         {
-            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);
-        }
-        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)
@@ -208,9 +211,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 Apr 12 03:55:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 03:55:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704315.1100643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv80n-0003ch-N6; Fri, 12 Apr 2024 03:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704315.1100643; Fri, 12 Apr 2024 03: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 1rv80n-0003cZ-KN; Fri, 12 Apr 2024 03:55:37 +0000
Received: by outflank-mailman (input) for mailman id 704315;
 Fri, 12 Apr 2024 03:55:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rv80m-0003cM-3I
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 03:55:36 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83b9b8eb-f880-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 05:55:35 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 05FD68285611;
 Thu, 11 Apr 2024 22:55:34 -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 hVfuiZoSChIF; Thu, 11 Apr 2024 22:55:33 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C3BC48286D98;
 Thu, 11 Apr 2024 22:55:32 -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 AXGpxrF1BjZr; Thu, 11 Apr 2024 22:55:32 -0500 (CDT)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 653B7828560C;
 Thu, 11 Apr 2024 22:55:32 -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: 83b9b8eb-f880-11ee-b908-491648fe20b8
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com C3BC48286D98
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712894132; bh=h6QhePaFuDvespR2wWM7QXtyi8l5kFrGXTzysLGgKXk=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=pUXKyaB2ltLSDrvQ9QIx0ybpheNbIifDDTbK4RgI8yh10Wio1Fmh6HEShhYWRRlH7
	 uiIF7PT4S/jbeFkiGwooQ/rF5KXKeLuXyrkjuTUTNqMMOL+tx8LU+4JCudUWUK+I3F
	 HqyJsb+pkl3KN4ZZ0uAYS0BXVWD2o4J0mw1nX4Do=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 1/6] xen/ppc: Introduce stub asm/static-shmem.h
Date: Thu, 11 Apr 2024 22:55:18 -0500
Message-Id: <feadb431b4c7a13e803c342ed00c60a6415f2ceb.1712893887.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1712893887.git.sanastasio@raptorengineering.com>
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Required for bootfdt.c to build.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in v4: none

 xen/arch/ppc/include/asm/static-shmem.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 xen/arch/ppc/include/asm/static-shmem.h

diff --git a/xen/arch/ppc/include/asm/static-shmem.h b/xen/arch/ppc/include/asm/static-shmem.h
new file mode 100644
index 0000000000..84370d6e6c
--- /dev/null
+++ b/xen/arch/ppc/include/asm/static-shmem.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier:  GPL-2.0-only */
+
+#ifndef __ASM_PPC_STATIC_SHMEM_H__
+#define __ASM_PPC_STATIC_SHMEM_H__
+
+static inline int process_shm_node(const void *fdt, int node,
+                                   uint32_t address_cells, uint32_t size_cells)
+{
+    return -EINVAL;
+}
+
+#endif /* __ASM_PPC_STATIC_SHMEM_H__ */
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 05:14:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 05:14:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704364.1100737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv9Eq-0007Rn-L5; Fri, 12 Apr 2024 05:14:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704364.1100737; Fri, 12 Apr 2024 05:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rv9Eq-0007Rg-IM; Fri, 12 Apr 2024 05:14:12 +0000
Received: by outflank-mailman (input) for mailman id 704364;
 Fri, 12 Apr 2024 05:14: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 1rv9Ep-0007Ku-Sp; Fri, 12 Apr 2024 05:14: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 1rv9Ep-0004Wv-Ou; Fri, 12 Apr 2024 05:14: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 1rv9Ep-0001bB-BU; Fri, 12 Apr 2024 05:14:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rv9Ep-0002ur-B9; Fri, 12 Apr 2024 05:14:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kggXNtsrhPNagoTkYH/cZ92h/+KvwGB9JDg9tFsuA40=; b=BqGqiAdzzdPQpBbmZ3l3EQPACm
	Y0R8L8hosfDbX1uPeZlz3nC6Q+LBlNCxLiAVU5RFyulP+XevWZ+/7XwhxhJAB4NwG/zJxQiautzim
	Ku0OFmVyY7eUGWJJWa7PYaaPwIFA8PKhOngWBXok8r80Za5eVpIEHXQeOT3eeqQQVgV8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185306-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185306: 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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e8c39d0f57f358950356a8e44ee5159f57f86ec5
X-Osstest-Versions-That:
    linux=2c71fdf02a95b3dd425b42f28fd47fb2b1d22702
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 05:14:11 +0000

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

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

version targeted for testing:
 linux                e8c39d0f57f358950356a8e44ee5159f57f86ec5
baseline version:
 linux                2c71fdf02a95b3dd425b42f28fd47fb2b1d22702

Last test of basis   185290  2024-04-09 18:43:05 Z    2 days
Testing same since   185306  2024-04-11 03:50:59 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bernhard Rosenkränzer <bero@baylibre.com>
  Chen Yu <yu.c.chen@intel.com>
  David McFarland <corngood@gmail.com>
  Doug Smythies <dsmythies@telus.net>
  Enrik Berkhan <Enrik.Berkhan@inka.de>
  Gergo Koteles <soyer@irl.hu>
  Gwendal Grignou <gwendal@chromium.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Irui Wang <irui.wang@mediatek.com>
  Justin Ernst <justin.ernst@hpe.com>
  Kees Cook <keescook@chromium.org>
  Len Brown <len.brown@intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Masami Hiramatsu <mhiramat@kernel.org>
  Nicolas Dufresne <nicolas.dufresne@collabora.com>
  Patryk Wlazlyn <patryk.wlazlyn@linux.intel.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peng Liu <liupeng17@lenovo.com>
  Sebastian Fricke <sebastian.fricke@collabora.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Wyes Karny <wyes.karny@amd.com>
  Yunfei Dong <yunfei.dong@mediatek.com>
  Zhang Rui <rui.zhang@intel.com>
  Zheng Yejian <zhengyejian1@huawei.com>
  Zhenhua Huang <quic_zhenhuah@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
   2c71fdf02a95..e8c39d0f57f3  e8c39d0f57f358950356a8e44ee5159f57f86ec5 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 06:17:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 06:17:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704380.1100774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvADM-0002SR-G1; Fri, 12 Apr 2024 06:16:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704380.1100774; Fri, 12 Apr 2024 06:16:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvADM-0002SK-DU; Fri, 12 Apr 2024 06:16:44 +0000
Received: by outflank-mailman (input) for mailman id 704380;
 Fri, 12 Apr 2024 06:16:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GVg8=LR=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rvADL-0002SC-Sr
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 06:16:44 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2418::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a257d2e-f894-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 08:16:42 +0200 (CEST)
Received: from SJ0PR13CA0105.namprd13.prod.outlook.com (2603:10b6:a03:2c5::20)
 by PH7PR12MB5952.namprd12.prod.outlook.com (2603:10b6:510:1db::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr
 2024 06:16:37 +0000
Received: from MWH0EPF000971E2.namprd02.prod.outlook.com
 (2603:10b6:a03:2c5:cafe::19) by SJ0PR13CA0105.outlook.office365.com
 (2603:10b6:a03:2c5::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.11 via Frontend
 Transport; Fri, 12 Apr 2024 06:16:36 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MWH0EPF000971E2.mail.protection.outlook.com (10.167.243.69) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 12 Apr 2024 06:16:36 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 12 Apr
 2024 01:16:33 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 11 Apr
 2024 23:16:33 -0700
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Fri, 12 Apr 2024 01:16: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: 3a257d2e-f894-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZJAQugKXQgf0BK/0tA4X6N4NdrU4HlyUkBEs8KNINZDAS6ciT0K527NtBQNgqHZOjSjtmkEZJaV/CesJ1KOzHiqWOtqTtOr60Nb96gKlOFg8pOiXNTqxexui+waEemcNTQYb8tQauJdexsxJAzVWuKpFdbYCStvo1/eNAaE24JGZ6npwkPTE+ZSWWHVxgy1TQNaPrMV2CSlfVP8uB5FHppm3wb5iNq9nTKf/GbjK5WJW2AELM2Dh24Jryal2W5nwGgqHNqgD9QL2uT+MqNE1YQjvDSL2jxS874Dg/ho52XLO77Ix5ydyHWgjroclW1cmRE/zacqkXqMeesEWrwRNfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4+3XfYZYQg2+c9cQTWwxXInVfjdr3ix4C9ycK4SuBFM=;
 b=NL5QJ29BrPyEFsqZeosgGTvq75qU3GbjyZPec46cWy+TgWJRh24C3RtWBaLJzDVgFG9oqrGvrAPnSiAZWV5ZpGne8q4MPfEnA11gQ1IV+vvuenRe4K1eH5XxB3wKyEuTVWbXPK3/5SqQyeqICQLX580fnUZ4p6cTM49U3Y23t0BI5LHMkeFv93WAms1Ebcrv3+ZKQPXx/ufzRbLS13ysZMiEz3EBsQ+JcEqfk7wDMn9jFnTpE46qNh80fcLO06EOvgQIANK6X3PfrwaoP+UmmLHHTKybpRfJPqYi9RwnPASuBI14hA3bLp6kuqaIOVnGIc5qkDcs6S5o5kKmOGRXsQ==
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=4+3XfYZYQg2+c9cQTWwxXInVfjdr3ix4C9ycK4SuBFM=;
 b=Be17PjLyWNFkNIkzdzKUC/V875TUflROuR8SHAFzNex4HdVdZqzJvFh3Afdl8hyebOiPBlsOY5vbS5gCQk+O2FGZCf4fNUE+37ZDZ4iCD36A4kwx7F1RpTS5D+EO2WoN+vkmX4tmkxtNPBoR6HQGG/aniGzwggjcvLfGkCH+KFo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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] docs: arm: Update where Xen should be loaded in memory
Date: Fri, 12 Apr 2024 08:16:24 +0200
Message-ID: <20240412061624.3441-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: MWH0EPF000971E2:EE_|PH7PR12MB5952:EE_
X-MS-Office365-Filtering-Correlation-Id: aca5b59d-8057-43a0-bca8-08dc5ab81b88
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S1XaK3GhfbAu30JG4kuWmZZjzQ3ggQc+izpSSYRWqqrkhPOh2t8WYqGq7SgajIQ0HczmcDu/4e0brqFBG/dyVZCWOZVSbpXtWTX/6uizaA3Y5V3HoXvS/VTv+Ut21mhmQzw8jkxaHMrTs8onUbSSAuvu7tcsy5ZIzJJO3zkqgqMFT/OI76OIuwbvF2OxCRjZyEsPpcxKvuMvLp5hc1tZSbOfA/lB/GEnhrhhkJMtrmEr31u6NU97/EKD4jJqRjZprAAtmSpyjytNooU4q83F6xRlVP7zD3YO/qHfH+HHNfrM5fg4JLZnBtkOGRVmj9+zu6elZD7vopQPu6/AHSuEJycqunVKKuK5dFL9rDv7kW5QtGieldGzmEy4FEPQBnU57cF2V7DDDj16+pXpudf7nijGXjqkRmG//WTBDmSYkT4fbm2xu8gOHDp8zuLQCgzotU4essl7XanTFYanFv3cc66uEGBEws1OwescNDo+EwX2GELfqkD65Rq4ZOoblRfW4TJzNMV0Eb6j0URXcyWG4dP71lytif3GHYVFNJIg7Vfm982rjKuS3H0/a1OLwtF7uwyTYQiZ1TypEferIXJR6cEBQt2U2UYfGKceLp0sNZAZ6BoAWXgLg4mssLbRcyECzwQVq4AUEBOE1GWxW1lmUvSP7x7MSbOpBbfjggVreoblvXptQh2KaR6no/4NKvLSbiwm6lB1JQs/gnINjTsSeg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 06:16:36.0789
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aca5b59d-8057-43a0-bca8-08dc5ab81b88
X-MS-Exchange-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:
	MWH0EPF000971E2.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5952

Since commit 6cd046c501bc ("xen/arm: Enlarge identity map space to 10TB")
Xen can be loaded below 10 TiB. Update docs accordingly.

Take the opportunity to update stale links to Linux docs.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 docs/misc/arm/booting.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
index 547f58a7d981..21ae74837dcc 100644
--- a/docs/misc/arm/booting.txt
+++ b/docs/misc/arm/booting.txt
@@ -23,7 +23,7 @@ The exceptions to this on 32-bit ARM are as follows:
 
 The exceptions to this on 64-bit ARM are as follows:
 
- Xen binary should be loaded in memory below 2 TiB.
+ Xen binary should be loaded in memory below 10 TiB.
 
 Booting Guests
 --------------
@@ -64,10 +64,10 @@ Xen relies on some settings the firmware has to configure in EL3 before starting
 
 
 [1] linux/Documentation/arm/booting.rst
-Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst
+Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arch/arm/booting.rst
 
 [2] linux/Documentation/arm64/booting.rst
-Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
+Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arch/arm64/booting.rst
 
 [3] legacy format header
 Latest version: https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 06:42:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 06:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704390.1100788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvAc9-0007kB-Hk; Fri, 12 Apr 2024 06:42:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704390.1100788; Fri, 12 Apr 2024 06:42:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvAc9-0007k4-F1; Fri, 12 Apr 2024 06:42:21 +0000
Received: by outflank-mailman (input) for mailman id 704390;
 Fri, 12 Apr 2024 06:42: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=7X7o=LR=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rvAc8-0007jy-Nu
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 06:42:20 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2042.outbound.protection.outlook.com [40.107.7.42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ceb97fb7-f897-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 08:42:18 +0200 (CEST)
Received: from AS9PR06CA0303.eurprd06.prod.outlook.com (2603:10a6:20b:45b::10)
 by AM0PR08MB5329.eurprd08.prod.outlook.com (2603:10a6:208:185::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Fri, 12 Apr
 2024 06:41:47 +0000
Received: from AMS0EPF000001AD.eurprd05.prod.outlook.com
 (2603:10a6:20b:45b:cafe::6b) by AS9PR06CA0303.outlook.office365.com
 (2603:10a6:20b:45b::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Fri, 12 Apr 2024 06:41:47 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001AD.mail.protection.outlook.com (10.167.16.153) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Fri, 12 Apr 2024 06:41:46 +0000
Received: ("Tessian outbound a35d20b28d50:v300");
 Fri, 12 Apr 2024 06:41:46 +0000
Received: from 4edb33a6fcb5.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D6230F59-FA42-4F23-B900-50E2133A3DD5.1; 
 Fri, 12 Apr 2024 06:41:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4edb33a6fcb5.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 12 Apr 2024 06:41:39 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV2PR08MB8368.eurprd08.prod.outlook.com (2603:10a6:150:bb::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.32; Fri, 12 Apr
 2024 06:41:37 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7409.053; Fri, 12 Apr 2024
 06:41:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ceb97fb7-f897-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=h4qlGpMaMvc8MotF4JsqLPHUqGmebgN7qweGP/E7KI8TtxAFlxKxTOsgSJegV2tqTQuSPz15q1mCy/WVhslXHW3ay/jzli27iETMgyIR4p5B2kRjrNUNh9O5i8q+32GVVazSXnXuVuwfjge7gN9zDGntSnU+VIKAZRGG+kPJ9qlPeid6U/T0UGhorueIsoXZM/T77LdqrdDjNFz2HOYUy3usvGbnflqlAZXRkuKVjsosytOKxu18kaEECDySCed93fdwVl1ExrrxmxvUBF0872PFvn0ZkjG+QyAueLjc2xBAwrGcFZCU4K2sbbzu/qLffDYwCIJlYglcyaXE1emx3A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SA/uD8A2vbVbQ6ThIoMN05l9FB+RL/50yNt0SKJQSHA=;
 b=frwrFW1mti5dbjJ2z4eNzZLOTzTQztYlUNf6vCaPhH/ns0boIKeA2hHEddXLt8djQ196ZSeGj6ffNlx6CGLYy4fe3+iHo/Qcq3LA0g0sp6PkXQ1zyKEf5OI9QjnJ49PYzURor4xb6fLjYX8HHk8lA3//XutQ4YrdsNP/XMl4G0OpNWgeB2ag1s6xWKDQsSCaYdoSAtwubtLl5DHt14Qk8OV5elFH9/bFF2oKTRuA+76jsOvPyT1YBSPjpaffSEyNiCUf6cVyZlhuYNbAXKN7/gAbGowM2nAgiQpNk858xwump2PQ8vHtIMOyuW1mTCQEVDf+oti2DSpMISDzjjfT5A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SA/uD8A2vbVbQ6ThIoMN05l9FB+RL/50yNt0SKJQSHA=;
 b=XEXs8ylasf4lmHEuL1x12IzL7nHCYg3c7xnK746uzxYVYA8cccJsg1wPAIArFxXiJRrroOuOm9I6Z6ymCKsKdIP+Vi0Z4oNFCzJbrEr9kn4McFokiBSFV/CQTrhwrsITnLfVPyfoPyg0gJCu2IXAz9xPA98HOwtxQ1C+8hMPxv0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f97ac9e5817e77d1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SbsNrIPeWB4nK1XUrMWbcFDnp8oBD/BM1vDhtZAMgj+ByGKRYWYjyudbDJAYO35ehdyxCj+S4LpmX0AgiEqrBL4lZLpwno9obJ24u+1ZpjyC5BtFdiR5gxIHeAewMapWR5pHjyZBUVnoiv6eG1JIeVfrdz8H74wYZOOF+DzUqvtkqPkFQLjIXIeE9Ki7yDVFyJeHKAhi6vT9gF88huEidnWf5M9W69jj1ViFA4ehaLTgkyvr75wA+tugO5Gh25SiWBLRUaZTsFmwvzoVLmEqNxpSwIRyFDIKln1lMYOrn6d3zZ+Pix88bIE5C7FFEleE2N+PxXlA23To+ObY2TAj1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SA/uD8A2vbVbQ6ThIoMN05l9FB+RL/50yNt0SKJQSHA=;
 b=VCZua4qr7gnjT5/9p9V1rNh0muBoANpF2AgYqPjLHhUo2SKkyw1obksbU0tI37HakE7G2F4nDM3DuZbxcDw1FyFTUSiz2IRh0vT8o8HKwayugRdcgI7Z+bd2U1896FRMXEAjp6cyF4eLgnpPgzaoo3y42Jf7q9k/hHW0vadyEipP7uXHqp3JJfmjJipNISM62V66JXR6XW3aT5iTjHYGRg0/xlF+ciBO1uaLuBR5ogNTRc5XhXbeXghHvUMD++dsRqgu2m+jk6TKRffhChsVikBcFE2RRk7BvPE6UxEmL7Qnsg+skVeUm0Kkj6NHdfFf+g3t50Y33SDyG53E+AjrsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SA/uD8A2vbVbQ6ThIoMN05l9FB+RL/50yNt0SKJQSHA=;
 b=XEXs8ylasf4lmHEuL1x12IzL7nHCYg3c7xnK746uzxYVYA8cccJsg1wPAIArFxXiJRrroOuOm9I6Z6ymCKsKdIP+Vi0Z4oNFCzJbrEr9kn4McFokiBSFV/CQTrhwrsITnLfVPyfoPyg0gJCu2IXAz9xPA98HOwtxQ1C+8hMPxv0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] docs: arm: Update where Xen should be loaded in memory
Thread-Topic: [PATCH] docs: arm: Update where Xen should be loaded in memory
Thread-Index: AQHajKEMfWuddRL5+0C93ODmeh2G77FkL6AA
Date: Fri, 12 Apr 2024 06:41:36 +0000
Message-ID: <486125C0-3DB3-4A64-8B6F-8BA8A55EC1CB@arm.com>
References: <20240412061624.3441-1-michal.orzel@amd.com>
In-Reply-To: <20240412061624.3441-1-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV2PR08MB8368:EE_|AMS0EPF000001AD:EE_|AM0PR08MB5329:EE_
X-MS-Office365-Filtering-Correlation-Id: 9540ea9b-0704-493b-1dce-08dc5abba002
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 JvbqCTqTpNaYaFR8NZK7C/WvNUr83QLkLZ7ZsZ+BEEUL6uoZSQenQH/zBmkReo5y7chnGA5RH2jmWWQ+KshQ6JsPNicCUEZxmqyJ94pCqoBpNybcg/px1EGrLe1DWWOO7OUytfDYupj2M/xvVJ8mi51SgR0zWXuZAYj+bVuT+NMkoPIxPuk0ld5aEn4SvxYI8CXnPms9Z4naMFg5BnKHYXi7Iei0jQbsCrhuQghRWSrXtQuDJsPlh0y2kxSEHx7HxATXkDMvXIE9rc/hrpC8eI67+Q3NovpyHK3L37qiAACVpNU30UBGFX1L5mgPeJZ+w32irY+qWxDYG0exxAxXBhpoR/54li10hvM/OLCAHCJg2/vSVFfG1QmAQDSHrswdAJgwov+wuOm6AfMQaVu2A+By9ms4vCQ9S7rX3VEtvi9Xgrg0cY7qZPGAOyt2Tb1Oqfrr3HwT7ZtpNRxoD4+ryGEicwi6J+1NOpyWOhN02+RFd7KV0XNuEMlmAi46tmQTzBNO+NN51ABv5M4WcIcfd96nkf+rydo7lPFjhRCIr8njG/9sdaajOsHzXsQMzqze9yJHvz/MKsAzEPHfPvK8KxAvyLjKYHVU1IuXGO+drAUDigYsDCP9s0EUn0ha1FWSssQiRUHHM3crM2frFn/YeCpbT29mhgRuD/OebiJU2m48CYXg0UAo1TiCfzJYdHlwBSKopU++JjO45gJUKXosvlLbKAMJ32RAGB8M6EfKu/g=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <ABFCA75F8896214195DEE26FB4E36E3F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8368
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001AD.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	63c6f1b4-9342-47da-6a58-08dc5abb9a03
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ef4+rOX1XkOY9UOQr6PTR+j2qoXhyvpryk7T1qM+0qGpI2hdRbTqPUUAGOVgKSEidpwtOl33e8dObJs1yIt70GlfsrAdkmZJjEhqB+m4eT7SYgqGoQVGCvg5d005M7dJIdaKu/reEundwOv8vCay1+TbELxfMrCE1LzhZl64lBvYWnxqettw4ui8M5gdqZeF+BzAUnPOJQBOACIF5BXqfWksnsYyRV2PgqMrAgGG/n5dAQH7BBneaGS9IBgfC4WtARKIPKpd7Pr3nxXdRo3eIFTXyHIiwqd40LGwYPWAfngyFlnBvRbyH3YNJH53EK4yoqMK9wZlYWhaLEUwNSNcY23PczRf8ZyQD8fzGPNvXSjebfcw6oGMAiJ/qlrYtamt6tbvmw91fJV0eOw5HAeLdC/RfXBBWDqCJYbpVWP1L+Ec8PLcDuvA3SYBelQ8XDqBAFrmAI4Uy+VrAw9vSjv7VrrcPuLiOPQjp6lxl5o9BAkQE5Zf9LD2ejvyTskFDqjyWKksc6cexUabpGPPPtizjj0GvyewglRYo2ZtBnwhB3Uc21Q8Xs9OtVdugHxdJwAZK/v5UamamPHFTN042nDDCJ0ot1mZ3iAgA98lsvtrLptEtHuGXz/0kiqH37emJhzZDCHxmfuduKjfzzb0hJcydBv+mHfztsT9iqbkMNQ8iYkR5cXfi7epS+L6UHuy4AqnevDNIMUrqu7wqpZZdPwfa3JcIQkYWMaLm5LaeT9/68smST0KriM86nay2FhGfhKg
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 06:41:46.9020
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9540ea9b-0704-493b-1dce-08dc5abba002
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001AD.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5329



> On 12 Apr 2024, at 07:16, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Since commit 6cd046c501bc ("xen/arm: Enlarge identity map space to 10TB")
> Xen can be loaded below 10 TiB. Update docs accordingly.
>=20
> Take the opportunity to update stale links to Linux docs.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>





From xen-devel-bounces@lists.xenproject.org Fri Apr 12 07:32:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 07:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704407.1100804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvBO0-0000hc-4F; Fri, 12 Apr 2024 07:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704407.1100804; Fri, 12 Apr 2024 07:31:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvBO0-0000hV-0e; Fri, 12 Apr 2024 07:31:48 +0000
Received: by outflank-mailman (input) for mailman id 704407;
 Fri, 12 Apr 2024 07:31:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvBNz-0000hL-5a; Fri, 12 Apr 2024 07:31:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvBNz-0006y8-4X; Fri, 12 Apr 2024 07:31:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvBNy-0000Ac-T9; Fri, 12 Apr 2024 07:31:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvBNy-0000Mb-Sl; Fri, 12 Apr 2024 07:31:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Igqu6K0hANebn49r180HsSXYKYYbOoNdILyI9d7jY4U=; b=PFYBN1P3O69rZ/Ef9OfTNjvOsC
	c9Y5NdF4RBVfCDibp+95DTjuE8AP7IJorYw82rymbBZmeeNaWwvsVSip1tWwKYoxAbDGTwx1al5PF
	gxAGdutZWVOdFnw8Ig/QnYkhs9QX/yO1199U/XB5qkjKTYBmiHdjAdZzzOO5N1lRbAUk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185307-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185307: 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-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=01f2b614a25f60b9deab44e3efd05646958776ad
X-Osstest-Versions-That:
    libvirt=4b5cc57ed35dc24d11673dd3f04bfb8073c0340d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 07:31:46 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185278
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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              01f2b614a25f60b9deab44e3efd05646958776ad
baseline version:
 libvirt              4b5cc57ed35dc24d11673dd3f04bfb8073c0340d

Last test of basis   185278  2024-04-09 04:18:45 Z    3 days
Testing same since   185295  2024-04-10 04:20:37 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-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
   4b5cc57ed3..01f2b614a2  01f2b614a25f60b9deab44e3efd05646958776ad -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 08:07:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 08:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704428.1100819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvBws-00083X-7p; Fri, 12 Apr 2024 08:07:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704428.1100819; Fri, 12 Apr 2024 08: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 1rvBws-00083Q-5N; Fri, 12 Apr 2024 08:07:50 +0000
Received: by outflank-mailman (input) for mailman id 704428;
 Fri, 12 Apr 2024 08: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=M3on=LR=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rvBwr-00083K-6F
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 08:07:49 +0000
Received: from mail-ua1-x930.google.com (mail-ua1-x930.google.com
 [2607:f8b0:4864:20::930])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf8411c9-f8a3-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 10:07:48 +0200 (CEST)
Received: by mail-ua1-x930.google.com with SMTP id
 a1e0cc1a2514c-7e406cf6263so262315241.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 01:07:47 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 p7-20020a05621415c700b0069b56900ee4sm690518qvz.106.2024.04.12.01.07.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Apr 2024 01:07: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: bf8411c9-f8a3-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712909266; x=1713514066; 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=9Eggu8OwfYsxInXltLV9w+1KX7tbnbhCGlkg377I70M=;
        b=HrgJ0gBa/Drlz/vQzKX0ET4qG+GAvvZLDCHcu47lNab/x3lD8uwajW+Pw91Vo+OO4b
         lQ3dlr9w3h1VUzS3DmL/d+e0+zkKF6HpwyrtW3gx5/syBPGqH+HYx+58y6jsGyhtZOHZ
         +BACbeG4YNaWdpWOZR8P+Rxt5ug/9XVkFX5EA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712909266; x=1713514066;
        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=9Eggu8OwfYsxInXltLV9w+1KX7tbnbhCGlkg377I70M=;
        b=dubGwX7fXyphgDiyfkmvHX40GfUuUsCcS9KLgUU254C2ma89e8GDgBs23lDwkxd0/X
         FiTkprPl4xC/UcnAXSvijZVQuprLgpF2AIgyx2iolY/UKmZegkMhP2+1evAcNNunwMH7
         TN5IOl5vWT+mZYHdMRmRiC2A/H7htEn4DlgqukRKwpWWEpPaM8VpMppwE3KlnfUD11sv
         W2xAaTDKBS5bK7arVMJMADSjHFwFm5EMq7O6YMt5p6OLj8Ynv/C1ZPYzCz2xcuOrU66o
         86fHGFIg25uY612YOVGlsWv/JnH2djP/bxA+D4B1qINwie1/CLv4hfS4a7DyI07S75Ov
         GboQ==
X-Gm-Message-State: AOJu0YxE5fg5MGqS3GXqiukPOQFXPG/9TpQZJ2Fbg1RdqC7RdrCvnPbP
	+HgNssZ71lJfT98o4qf8FyLTtHxKwLI0e4DCVuLuCkwjnvOInKa889jksyG8R70TQD1k24DHUSK
	a
X-Google-Smtp-Source: AGHT+IFkWogs+eFGt0VHrMRKYUY8P0GF8G/MLVL6vuLBtX1FoemPxZixWEGvkOajhWBuwH/bqvqdaw==
X-Received: by 2002:a05:6122:2010:b0:4d4:42c6:b08d with SMTP id l16-20020a056122201000b004d442c6b08dmr2123769vkd.5.1712909265709;
        Fri, 12 Apr 2024 01:07: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>
Subject: [PATCH] livepatch: refuse to resolve symbols that belong to init sections
Date: Fri, 12 Apr 2024 10:07:22 +0200
Message-ID: <20240412080722.75971-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Livepatch payloads containing symbols that belong to init sections can only
lead to page faults later on, as by the time the livepatch is loaded init
sections have already been freed.

Refuse to resolve such symbols and return an error instead.

Note such resolutions are only relevant for symbols that point to undefined
sections (SHN_UNDEF), as that implies the symbol is not in the current payload
and hence must either be a Xen or a different livepatch payload symbol.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/livepatch_elf.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
index 45d73912a3cd..25b81189c590 100644
--- a/xen/common/livepatch_elf.c
+++ b/xen/common/livepatch_elf.c
@@ -8,6 +8,9 @@
 #include <xen/livepatch_elf.h>
 #include <xen/livepatch.h>
 
+/* Needed to check we don't resolve against init section symbols. */
+extern char __init_begin[], __init_end[];
+
 const struct livepatch_elf_sec *
 livepatch_elf_sec_by_name(const struct livepatch_elf *elf,
                           const char *name)
@@ -310,6 +313,20 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
                     break;
                 }
             }
+            /*
+             * Ensure not an init symbol.  Only applicable to Xen symbols, as
+             * livepatch payloads don't have init sections or equivalent.
+             */
+            else if ( st_value >= (uintptr_t)&__init_begin &&
+                      st_value <= (uintptr_t)&__init_end )
+            {
+                printk(XENLOG_ERR LIVEPATCH
+                       "%s: symbol %s is in init section, not resolving\n",
+                       elf->name, elf->sym[i].name);
+                rc = -ENXIO;
+                break;
+            }
+
             dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Undefined symbol resolved: %s => %#"PRIxElfAddr"\n",
                     elf->name, elf->sym[i].name, st_value);
             break;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 08:31:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 08:31:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704439.1100839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvCJs-0004lj-7y; Fri, 12 Apr 2024 08:31:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704439.1100839; Fri, 12 Apr 2024 08:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvCJs-0004lc-4N; Fri, 12 Apr 2024 08:31:36 +0000
Received: by outflank-mailman (input) for mailman id 704439;
 Fri, 12 Apr 2024 08:31: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=EY2Z=LR=bounce.vates.tech=bounce-md_30504962.6618f162.v1-468edefdb5654a02b8d083a9ad37ca33@srs-se1.protection.inumbo.net>)
 id 1rvCJq-0004lT-Ih
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 08:31:34 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1068ad7e-f8a7-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 10:31:32 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VG8tB5fmzzDRHxMD
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 08:31:30 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 468edefdb5654a02b8d083a9ad37ca33; Fri, 12 Apr 2024 08:31:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1068ad7e-f8a7-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712910690; x=1713171190;
	bh=6e/myeW0UwWYDHdcvyrfEtLs3Xn/yOHkQWO+J0bJNTM=;
	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=gJATNbgMTzPu7IbbdoaVudZ7KLoRDrLXssVcsABusxvA7v/iLhhNwtVL8QyNrlbar
	 loo9r8l9MRvQ5B+mJGM8e/J9gfTcRNZ5qlgSs3+VwSFMalsWByPtlU/qiAhmeZPWIC
	 u6pdWXwotBXQ+vHboIXRvI0TWU2j5vKn0dvFDf4wvgIZ9Are+Qi0crOgq1apDgVJis
	 wlsd6YefpPbfMJpgysN/HVxjA0Lgf5A/7atyd5tXc9fnQqvA3Wf55LlWxJaewxNHtb
	 q6uB67SgKqdJiP7j6GdZNPnqMGZB7Z9+dj3g0RKNLXE/XFbI1gSoM7F3sQR3h3Xy9B
	 Wol91MxpLWN3g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712910690; x=1713171190; i=teddy.astie@vates.tech;
	bh=6e/myeW0UwWYDHdcvyrfEtLs3Xn/yOHkQWO+J0bJNTM=;
	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=QIWLKRcLcyEKOeGwZXpom5TrLalRGceVsSOLut0TUzm+qWd0ppijkmqlOTvliDyWK
	 PrCjKEMrf9l+FYkz13TTe3sRdutesaOftSci2zP6G8bKjr/CVQWt93/RCXI3RKfefd
	 rgp+sRaL/rQu/tAob3QIqPWQLpEu6JtZTEappouxBc3k/BqI3+wHKfuTu4WlE+ATcM
	 wEgaaQzbDAsB6E0kPIG9YdC8v+v804rR3NqGiti/pY7ZtUtpvB8NkCiekQmQ4F6c2L
	 2vU6pIvDz74oV0O+3RiNoSWL5cl2YZATUR2YOw93JA31IHIyGSp/5FXCte4flQV8WQ
	 hb7UW0YaAy5rw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=20v2=200/3]=20x86/iommu:=20Drop=20IOMMU=20support=20when=20cx16=20isn't=20supported?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712910687905
Message-Id: <c7fd7e96-714e-486a-9c67-e5e881218303@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1712580356.git.teddy.astie@vates.tech> <4bf2e6ea-a7fc-4cc6-aefe-4a9ed9ae97e1@citrix.com>
In-Reply-To: <4bf2e6ea-a7fc-4cc6-aefe-4a9ed9ae97e1@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.468edefdb5654a02b8d083a9ad37ca33?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 08:31:30 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 11/04/2024 =C3=A0 22:05, Andrew Cooper a =C3=A9crit=C2=A0:
> On 08/04/2024 2:02 pm, Teddy Astie wrote:
>> All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (a=
side
>> specifically crafted virtual machines).
>>
>> Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is support=
ed
>> while cx16 isn't, those paths may be bugged and are barely tested, dead =
code
>> in practice.
>>
>> Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
>> no-cx16 handling logic from VT-d and AMD-Vi drivers.
>>
>> Teddy
>>
>> Changed in v2:
>>
>>   * Added cleanup no-cx16 code for x2APIC
>>   * Fixed commit and code formatting
>>   * Added missing Suggested-by note
>>
>> Teddy Astie (3):
>>    VT-d: Disable IOMMU if cx16 isn't supported
>>    AMD-Vi: Disable IOMMU if cx16 isn't supported
>>    VT-d: Cleanup MAP_SINGLE_DEVICE and related code
>>
>>   xen/arch/x86/apic.c                         |  6 ++
>>   xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
>>   xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
>>   xen/drivers/passthrough/vtd/intremap.c      | 65 ++++-----------
>>   xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
>>   xen/drivers/passthrough/vtd/vtd.h           |  5 +-
>>   6 files changed, 71 insertions(+), 145 deletions(-)
>>
> 
> Sorry, but you've sent out two copies of each patch in this series, and
> it's not clear if they're identical or not.
> 
> Please could you send out another version, making sure there's only one
> of each patch.
> 
> Also, you need to swap ENOSYS with ENODEV, as per Jan's review on v1.
> 
> Thanks,
> 
> ~Andrew

Hello,

Not entirely sure why it got sent twice, as marek said he only received 
it once. Will double-check next time to avoid this issue in case I 
wrongfully sent it twice.

Will also swap ENOSYS with ENODEV in the next version.

Thanks,

Teddy


Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 08:35:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 08:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704445.1100852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvCNQ-0006Fr-NO; Fri, 12 Apr 2024 08:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704445.1100852; Fri, 12 Apr 2024 08:35:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvCNQ-0006Fk-KE; Fri, 12 Apr 2024 08:35:16 +0000
Received: by outflank-mailman (input) for mailman id 704445;
 Fri, 12 Apr 2024 08:35: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=nr2e=LR=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1rvCNP-0006Fe-5Z
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 08:35:15 +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 94dceaad-f8a7-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 10:35:13 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5700076a8a7so185883a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 01:35: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: 94dceaad-f8a7-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712910913; x=1713515713; 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=0kPs7aqgPMC+z8Asz8tXvfqXVZJMq/lCZJNgrA+2n3c=;
        b=OkHKQF0Q50eaHn8eJSc/ypV1JJDvH6cu5yGsuVFTNfbHN+fFk2nwD9odw04M447OZv
         b9eaFz9/DnjtW/dF6Q5W+hXbeUSE04ROCegL8zwZS3lpRC8eJOQ9REbGwa/kQ+JAofrg
         RoJuAudmUmhnQ/MrwA52nKrJ1O/CN2XxveFFN/6CbhY6dbiEGGfGdPEkLhe8zVwLg11E
         Y8ASSAfBD6Yf9n36yEmDlwDI8FWgHLRWjQs++5NwyeFw3P5y1M1RHY4j0ET1NYxsbrde
         /ForWJu8HVqocX8w+f+Uu5lvwGrL3ACMgLtrerCYJZE0CxiKcMpG2vQy5+4wLLrt/9y0
         UVoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712910913; x=1713515713;
        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=0kPs7aqgPMC+z8Asz8tXvfqXVZJMq/lCZJNgrA+2n3c=;
        b=v73QrRfffOISpM4PNK/+ZGvBsVWO4t1l8QZGU6aYTv2xcd0DHCQloIv5DnUh1PjbuS
         1lJFUc7kqV0f9wDf92aTidHFSiyoSfaRTkTc6IHoKcuc83khIlfOjR+3DLvjpWCegK6C
         725qHzwuwPcnSaEH/qqztnmHdLV0vomnq57pZIVRvj9/UOdzituGbjLjysjmbzqJprHO
         a2k+52F3ubKvb5lbgXYxzCummZwTMa9OtEk+bJ8YDMXY12pSvD4KD8OYC4XBeqXndqgA
         oxxigVsafQG3BlQstIdPIXQAnGUPGqFYFR/XSsJsybH4T6rv2LmkLfr6ogpd+ZDl+q6o
         NETA==
X-Forwarded-Encrypted: i=1; AJvYcCUlDk2ShHPn2/VgEqkulM16CEkEkvt5fTOJjs+wgaXmKmJKGxtDwbqPXS0TGXym4XoToI9jWutWO1MQAlh7rrS9PQ5KxTAuKQxUg0nMWpU=
X-Gm-Message-State: AOJu0Yxuf56dpQ/uDoZWpfGCZKkJhBo4pK9Jq8n+dhLirIH3wA7Bit34
	CAjhpJDCaD273lHrz5V7u6f8Qr7Zf2ixSaIYEpxufGAYU1OcoJNg0OhOGJojvKfnOdMc3NYLe0x
	BjpxtPjWTyjbLjOmas5tvaxeKL6o=
X-Google-Smtp-Source: AGHT+IERLyjFHvVRiyJCUi2Qhxw/Au2iDGtlwPEntU4VnkfGgPQXSmTVhnz9LK8GPDF5xS//2XpnM/Fa277D3BMu3Ts=
X-Received: by 2002:a50:aa98:0:b0:56e:7884:9c7 with SMTP id
 q24-20020a50aa98000000b0056e788409c7mr1312577edc.19.1712910912839; Fri, 12
 Apr 2024 01:35:12 -0700 (PDT)
MIME-Version: 1.0
References: <PA4PR04MB95655F653BBFE3A70A8CD0FBF9682@PA4PR04MB9565.eurprd04.prod.outlook.com>
 <alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop>
 <ZaCOVSuEJtsAj9G5@amd.com> <5fb49c84-0f54-49a5-9106-7f207b3eee4c@oss.nxp.com> <alpine.DEB.2.22.394.2404111446490.997881@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2404111446490.997881@ubuntu-linux-20-04-desktop>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Fri, 12 Apr 2024 10:35:00 +0200
Message-ID: <CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com>
Subject: Re: [VirtIO] Support for various devices in Xen
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>, 
	"viresh.kumar@linaro.org" <viresh.kumar@linaro.org>, "olekstysh@gmail.com" <olekstysh@gmail.com>, 
	Julien Grall <julien@xen.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrei Cherechesu <andrei.cherechesu@nxp.com>, Bertrand.Marquis@arm.com, michal.orzel@amd.com, 
	Artem_Mygaiev@epam.com, Edgar.Iglesias@amd.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 12, 2024 at 1:23=E2=80=AFAM Stefano Stabellini
<sstabellini@kernel.org> wrote:
>
> -Vikram +Edgar
>
> On Thu, 11 Apr 2024, Andrei Cherechesu wrote:
> > Hi Stefano, Vikram, Viresh,
> >
> > Thank you for your answers and support, and sorry for my late reply.
> >
> >
> > On 12/01/2024 02:56, Vikram Garhwal wrote:
> > > Hi Andrei & Stefano,
> > >
> > > Actually, QEMU patches are already upstreamed for virtio-blk and virt=
io-net
> > > devices available in v8.2.0.
> > > For virtio with grants, the patches are WiP.
> > >
> > > On Xen side, we are yet to upstream xen-tools patches which basically=
 generate
> > > the right arguments when invoking QEMU.
> > > Here are down stream patches if you want:
> > > 1. https://github.com/Xilinx/xen/commit/be35b46e907c7c78fd23888d83747=
5eb28334638
> > > 2. For Virtio disk backend:
> > >     https://github.com/Xilinx/xen/commit/947280803294bbb963f428423f67=
9d074c60d632
> > > 3. For Virtio-net:
> > >     https://github.com/Xilinx/xen/commit/32fcc702718591270e5c8928b768=
7d853249c882
> > > 4. For changing the machine name to Xenpvh(to align with QEMU changes=
):
> > >     https://github.com/Xilinx/xen/commit/5f669949c9ffdb1947cb47038956=
b5fb8eeb072a
> > >> The libxl changes are lagging behind a bit and you might have to use
> > >> device_model_args to enable virtio backends in QEMU.
> > > But QEMU 8.2.0 can still be used for virtio-net on ARM.
> > >
> > > @Andrei here is an example on how to use virtio-net with QEMU:
> > >     -device virtio-net-device,id=3Dnic0,netdev=3Dnet0,mac=3D00:16:3e:=
4f:43:05 \
> > >     -netdev type=3Dtap,id=3Dnet0,ifname=3Dvif1.0-emu,br=3Dxenbr0,scri=
pt=3Dno,downscript=3Dno\
> > >     -machine xenpvh
> > >
> > > Please make sure to use xenpvh as QEMU machine.
> >
> > I've managed to successfully get a DomU up and running with the rootfs =
based on virtio-blk. I'm running QEMU 8.2.1, Xen 4.18 + Vikram's downstream=
 patches, Linux 6.6.12-rt, built through yocto with some changes to xen-too=
ls and QEMU recipes.
> >
> > However, when also enabling PV networking through virtio-net, it seems =
that DomU cannot successfully boot. The device model args passed by xen-too=
ls when invoking QEMU look exactly like what Vikram said they should.
> >
> > While executing `xl -v create ..` I can see some error regarding the de=
vice model crashing:
> >
> >         libxl: debug: libxl_exec.c:127:libxl_report_child_exitstatus: d=
omain 1 device model (dying as expected) [300] died due to fatal signal Kil=
led
> >
> > But the error is not fatal and the DomU spawn goes on, it boots but nev=
er reaches prompt. It seems that kernel crashes silently at some point. Tho=
ugh, the networking interface is present since udev tries to rename it righ=
t before boot hangs:
> >
> >         [    4.376715] vif vif-0 enX0: renamed from eth1
> >
> > Why would the QEMU DM process be killed, though? Invalid memory access?
> >
> > Here are the full logs for the "xl create" command [0] and for DomU's d=
mesg [1].
> > Any ideas as to why that might happen, some debugging insights, or mayb=
e some configuration details I could have overlooked?
> >
> > Thank you very much for your help once again.

Hi Andrei,

I'll share some info about my setup:
I'm using:

Xen upstream/master + virtio patches that Vikram shared
Commit 63f66058b5 on this repo/branch:
https://github.com/edgarigl/xen/tree/edgar/virtio-base

QEMU 02e16ab9f4 upstream/master
Linux 09e5c48fea17 upstream/master (from March)
Yocto rootfs.

I had a look at your logs but I can't tell why it's failing on your side.
I've not tried using a virtio-blk as a rootfs on my side, perhaps related.
It would be useful to see a diff of your Xen tree compared to plain
4.18 or whatever base you've got.
You probably don't have
https://github.com/edgarigl/xen/commit/63f66058b508180107963ea37217bc88d813=
df8f
but if that was the problem, I'd thought virtio wouldn't work at all
with your kernel it could also be related.

My guest config looks like this:
name =3D "g0"
memory =3D 1024
vcpus =3D 1
kernel =3D "Image"
ramdisk =3D "core-image-minimal-qemuarm64.rootfs.cpio.gz"
extra =3D "root=3D/dev/ram0 console=3DttyAMA0"
vif =3D [ 'model=3Dvirtio-net,type=3Dioemu,bridge=3Dxenbr0' ]
disk =3D [ '/etc/xen/file.img,,xvda,backendtype=3Dqdisk,specification=3Dvir=
tio' ]

xl launches QEMU with the following args:
/usr/bin/qemu-system-aarch64 -xen-domid 1 -no-shutdown -chardev
socket,id=3Dlibxl-cmd,path=3D/var/run/xen/qmp-libxl-1,server=3Don,wait=3Dof=
f
-mon chardev=3Dlibxl-cmd,mode=3Dcontrol -chardev
socket,id=3Dlibxenstat-cmd,path=3D/var/run/xen/qmp-libxenstat-1,server=3Don=
,wait=3Doff
-mon chardev=3Dlibxenstat-cmd,mode=3Dcontrol -nodefaults -no-user-config
-xen-attach -name g0 -vnc none -display none -nographic -global
virtio-mmio.force-legacy=3Dfalse -device
virtio-net-device,id=3Dnic0,netdev=3Dnet0,mac=3D00:16:3e:13:86:9c,iommu_pla=
tform=3Don
-netdev type=3Dtap,id=3Dnet0,ifname=3Dvif1.0-emu,br=3Dxenbr0,script=3Dno,do=
wnscript=3Dno
-machine xenpvh -m 1024 -device
virtio-blk-device,drive=3Dimage,iommu_platform=3Don -drive
if=3Dnone,id=3Dimage,format=3Draw,file=3D/etc/xen/file.img -global
virtio-mmio.force-legacy=3Dfalse

Cheers,
Edgar


>
> Edgar (CCed) has recently setup a working system with QEMU and the
> xenpvh machine for ARM. He should be able to help you.
>
> Cheers,
>
> Stefano
>
>
> > [0] https://privatebin.net/?0fc1db27433dbcb5#4twCBMayizr7x89pxPzNqQ198z=
92q8YxVheHvNDsVAtd
> > [1] https://privatebin.net/?ec3cb13fe2a086a1#F1zynLYQJCUDfZiwikZtRBEPJT=
ACR2GZX6jn2ShXxmae
> > >> For SCMI, I'll let Bertrand (CCed) comment.
> > >>
> > >> Cheers,
> > >>
> > >> Stefano
> > >>
> > >>
> > >> On Thu, 11 Jan 2024, Andrei Cherechesu (OSS) wrote:
> > >>> Hello,
> > >>>
> > >>> As I've mentioned in previous discussion threads in the xen-devel
> > >>> community, we are running Xen 4.17 (uprev to 4.18 in progress) on N=
XP
> > >>> S32G automotive processors (Cortex-A53 cores) and we wanted to know=
 more
> > >>> about the support for various VirtIO device types in Xen.
> > >>>
> > >>> In the Xen 4.17 release notes, the VirtIO standalone backends menti=
oned
> > >>> as supported and tested are: virtio-disk, virtio-net, virtio-i2c an=
d
> > >>> virtio-gpio.
> > >>>
> > >>> However, we've only managed to successfully set up and try some
> > >>> use-cases with the virtio-disk standalone backend [0] (which Olexan=
dr
> > >>> provided) based on the virtio-mmio transport.
> > >>>
> > >>> As such, we have a few questions, which we haven't been able to fig=
ure
> > >>> out from the mailing list discussions and/or code:
> > >>>     1. Are there any plans for the virtio-disk repo to have a stabl=
e
> > >>>     version? Is it going to be long-term hosted and maintained in t=
he
> > >>>     xen-troops github repo? Or was it just an one-time PoC implemen=
tation
> > >>>
> > >>>     and the strategy for future VirtIO devices will be based on a m=
ore generic
> > >>>
> > >>>     approach (i.e., without need for a specific standalone app)?
> > >>>
> > >>>
> > >>>     2. With regards to the other backends, we want to try out and p=
rovide PV
> > >>>
> > >>>     networking to a DomU based on virtio-net, but we haven't found =
any available
> > >>>
> > >>>     resources for it (e.g., the standalone backend implementation i=
f needed for
> > >>>
> > >>>     control plane, configuration examples, presentations, demos, do=
cs). Does it
> > >>>
> > >>>     rely on the QEMU virtio-net or vhost implementation? Are there =
any examples
> > >>>
> > >>>     on how to set it up? Any required Xen/Linux Kernel/QEMU version=
s?
> > >>>
> > >>>
> > >>>     3. What other VirtIO device types are there planned to be suppo=
rted in Xen?
> > >>>
> > >>>     I'm supposing libxl will also need changes to accomodate new co=
nfiguration
> > >>>
> > >>>     parameters for each of them. Or is there something I'm missing?
> > >>>
> > >>>
> > >>>     4. Also, while we're at it, are there any plans regarding SCMI
> > >>>     awareness for Xen (e.g., SCMI Mediator - where the RFC thread f=
rom 2022
> > >>>
> > >>>     seems discontinued)? Or is the preferred approach for sharing S=
CMI access
> > >>>
> > >>>     to guests through virtio-scmi?
> > >>>
> > >>> Thank you very much for the support, once again, and we're also loo=
king
> > >>> forward to the progress on the rust-vmm initiative.
> > >>>
> > >>> Regards,
> > >>> Andrei Cherechesu,
> > >>> NXP Semiconductors
> > >>>
> > >>> [0] https://github.com/xen-troops/virtio-disk
> > >>>
> > >>>
> > >>>
> >


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 09:40:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 09:40:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704472.1100891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvDNt-0001gm-Op; Fri, 12 Apr 2024 09:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704472.1100891; Fri, 12 Apr 2024 09: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 1rvDNt-0001gf-Lv; Fri, 12 Apr 2024 09:39:49 +0000
Received: by outflank-mailman (input) for mailman id 704472;
 Fri, 12 Apr 2024 09:39:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvDNt-0001gA-8T
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 09:39:49 +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 9966d2bd-f8b0-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 11:39:47 +0200 (CEST)
Received: by mail-qv1-xf34.google.com with SMTP id
 6a1803df08f44-69b10ead8f5so3401846d6.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 02:39:47 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 p9-20020a0ccb89000000b0069924cce40esm2089003qvk.29.2024.04.12.02.39.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 02:39: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: 9966d2bd-f8b0-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712914786; x=1713519586; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=a01fB47i5xoD64l27Kgm4NfFkTcyzlGYPI0UsFuaBYY=;
        b=VCTW1mNNzxIdmG3MfTCd0Z1PvyQP2mE5liilbXyavnuPVkjfAoRZO0UwhpRCpM42ul
         V0EUi1QbnhCKS4DCnLP3a3so6urlM+tpeAK3ucVnOuARLSUteBikyak4Wxx+/qYzU0ZL
         WwGAoNN6lGNckyPHoIKLe8kDFYggR7/VsW6BI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712914786; x=1713519586;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a01fB47i5xoD64l27Kgm4NfFkTcyzlGYPI0UsFuaBYY=;
        b=Cr9WhH8+PJXoba3Vo/4St3Crp39de1uHy01jwtgah4/fkGvSCyjrPMRF3yZO258FQK
         n2aQlP9rXkmYVGCwn/XVIkekb0i/NunxQnNCrHgjVQFmN6geD8IhAPU5CNi9KoKoK09O
         PV2QaRlXEXiEPYev/B6sh2aXqYUgPXwZYdfpx/010PcSi3tiv3wbtXZTDFfMnjC0EtpS
         cXl5GQaJC/dv2td4B+762WvMTnMNw1MUliHSoA29Uq4shV2QacF59DkRUGXignQxQLbV
         i2Di4YJLBR0AnmSm2qttI2p/xFIxyfiPzPoiTPsW98wr+3HTeXsWcET6/+cOBgCZxG8/
         g3BA==
X-Forwarded-Encrypted: i=1; AJvYcCUk//ieOgVBfBuqf6xFgbOEkl/2WW0cis5weOCUEKRLqocMc3ce99OD7LpWHpiz/7L00KCob7UhzIx2mj14WMxKrYg8HyYcvuVfOSFbwMc=
X-Gm-Message-State: AOJu0YzVDHmQIJTf+fNzhIkRi821H8T1azH9HwoTMMGD+vVW0qzli5MF
	hLR4Yz0VGG7Bi7mlXY6UO3Js0MLMX07BF7RL/Qfhb8N0OWy8iayMLfYrR/Y8L6g=
X-Google-Smtp-Source: AGHT+IGw20vQZzbVYn+xfgy6VOe7HZBqTxMEFMToKhB02srpWbas1zQBa3MubZg5lYOf7ChrrGOnKw==
X-Received: by 2002:ad4:4591:0:b0:69b:5552:6cd0 with SMTP id x17-20020ad44591000000b0069b55526cd0mr2232553qvu.60.1712914785978;
        Fri, 12 Apr 2024 02:39:45 -0700 (PDT)
Message-ID: <21e60cc9-e65c-46c1-b01f-b9839c70627d@citrix.com>
Date: Fri, 12 Apr 2024 10:39:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 0/3] x86/iommu: Drop IOMMU support when cx16 isn't
 supported
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1712580356.git.teddy.astie@vates.tech>
 <4bf2e6ea-a7fc-4cc6-aefe-4a9ed9ae97e1@citrix.com>
 <c7fd7e96-714e-486a-9c67-e5e881218303@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: <c7fd7e96-714e-486a-9c67-e5e881218303@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 9:31 am, Teddy Astie wrote:
> Le 11/04/2024 à 22:05, Andrew Cooper a écrit :
>> On 08/04/2024 2:02 pm, Teddy Astie wrote:
>>> All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
>>> specifically crafted virtual machines).
>>>
>>> Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
>>> while cx16 isn't, those paths may be bugged and are barely tested, dead code
>>> in practice.
>>>
>>> Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
>>> no-cx16 handling logic from VT-d and AMD-Vi drivers.
>>>
>>> Teddy
>>>
>>> Changed in v2:
>>>
>>>   * Added cleanup no-cx16 code for x2APIC
>>>   * Fixed commit and code formatting
>>>   * Added missing Suggested-by note
>>>
>>> Teddy Astie (3):
>>>    VT-d: Disable IOMMU if cx16 isn't supported
>>>    AMD-Vi: Disable IOMMU if cx16 isn't supported
>>>    VT-d: Cleanup MAP_SINGLE_DEVICE and related code
>>>
>>>   xen/arch/x86/apic.c                         |  6 ++
>>>   xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
>>>   xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
>>>   xen/drivers/passthrough/vtd/intremap.c      | 65 ++++-----------
>>>   xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
>>>   xen/drivers/passthrough/vtd/vtd.h           |  5 +-
>>>   6 files changed, 71 insertions(+), 145 deletions(-)
>>>
>> Sorry, but you've sent out two copies of each patch in this series, and
>> it's not clear if they're identical or not.
>>
>> Please could you send out another version, making sure there's only one
>> of each patch.
>>
>> Also, you need to swap ENOSYS with ENODEV, as per Jan's review on v1.
>>
>> Thanks,
>>
>> ~Andrew
> Hello,
>
> Not entirely sure why it got sent twice, as marek said he only received 
> it once. Will double-check next time to avoid this issue in case I 
> wrongfully sent it twice.

Huh, lore agrees.  I seem to have both a direct and list copy which
weren't correctly deduplicated.

Sorry for the noise.

> Will also swap ENOSYS with ENODEV in the next version.

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 10:01:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 10:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704479.1100907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvDj8-0006va-Hk; Fri, 12 Apr 2024 10:01:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704479.1100907; Fri, 12 Apr 2024 10:01: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 1rvDj8-0006vT-EQ; Fri, 12 Apr 2024 10:01:46 +0000
Received: by outflank-mailman (input) for mailman id 704479;
 Fri, 12 Apr 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=byEo=LR=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1rvDj7-0006vI-G0
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 10:01:45 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aabee1f5-f8b3-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 12:01:44 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-56fd7df9ea9so821272a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 03:01: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: aabee1f5-f8b3-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1712916103; x=1713520903; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=rEYEG3E/bxKKNMNPRUKo9Yro6SKy06FmbafxKnDXUoI=;
        b=MZ0yM2ed4z5MCabPHlDprEucoMXg1L1VHAIp/z69mUKTVa3WtsNDVoBnbf5xpY0jUO
         gOHw0spmP6aW9lDAjtVR0e20fsOIgRJsEGQXag4h7xAMJSPGeAYLGUjReMxaWg0fcV+4
         1tQNM1C7nUqSOXfIrc/lHsn/6ZRwqbOuZYYQI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712916103; x=1713520903;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rEYEG3E/bxKKNMNPRUKo9Yro6SKy06FmbafxKnDXUoI=;
        b=T3fAxubnbSNXLm0Nb4Q2TdU4roJBl7Z9M7D199Qnxn65b4mTwWJobFkQJqPnmmkZYq
         VXKLAXS3ZiniuFPX20hPkkYeTETnZJXjxPTk3UfRQPFdB3zXMa34nbbgckUL8gdoLv4Q
         hWMt2sMoWf2QgUMLc4cvy9CguwTRWHYckvEoYbY/wcJSWv1327/0ScAn8c043+/d7VaU
         cJKcTzPCsAj/RwlUxj8Rsi6xGuVttoFv8jA2EUkyDbFZ3xpB8uGKFV76xLN5/i2/ud2A
         2TqATwJvpm98vVwPi6+jo3QQEXAO60JSJGlgzopc8LV/4AJ98vCGzO3lE8+rDj7ruzSw
         2ckQ==
X-Gm-Message-State: AOJu0YydIkIE/RKB/U7JWqzI8B6i7dmsT+wAkkjy37gDEjBP3cFqmzG7
	BS8gfh/fMSVyGip9gHScRWAYxHjV1llAd5ToHCNKiGTpPUPeyltyUZaO58XjMJB3vgnHEAnb1lX
	C/DjJzuxLGeP5YEgOfQnZOgYRMThVjaGXBtcJPE6ZBNaVVmxnwJfI5Q==
X-Google-Smtp-Source: AGHT+IG7HkrVYvrdbGmvSAn5UbWE2cH7/RW5fEDVGMyP1ABjY1pnN6EgrbkTtarTgKg6gtNKDoQl8ZzozFndN7yNQUw=
X-Received: by 2002:a50:d79c:0:b0:56c:3b74:ea4 with SMTP id
 w28-20020a50d79c000000b0056c3b740ea4mr1540494edi.21.1712916103467; Fri, 12
 Apr 2024 03:01:43 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 12 Apr 2024 11:01:07 +0100
Message-ID: <CAO-mL=wZeLmvE+M8XQWQ4RveraOfgnFNc1gxTFSWoh8J2SvbYA@mail.gmail.com>
Subject: Xen Summit: Travel scholarships deadline today!
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000e0b4410615e35b0d"

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

Hi all,

We love to give everyone from the community a chance to join our annual
event, Xen Summit.
This is why our project has allocated a small fund to help support those
who wish to attend, who otherwise may not have been able to without
financial assistance.

Travel scholarships are still available, but the deadline is *today!*

Please apply using this link:
https://events.linuxfoundation.org/xen-project-summit/attend/scholarships-travel-funding/#scholarships

Many thanks,
Kelly Choi

Community Manager
Xen Project

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

<div dir=3D"ltr">Hi all,<div><br></div><div>We love to give everyone from t=
he community a chance to join our annual event, Xen Summit.</div><div>This =
is why our project has allocated a small=C2=A0fund to help support those wh=
o wish to attend,=C2=A0who=C2=A0otherwise may not have been able to without=
 financial assistance.</div><div><br></div><div>Travel scholarships=C2=A0ar=
e still available, but the deadline is <b><u>today!</u></b></div><div><br><=
/div><div>Please apply using this link:</div><div><a href=3D"https://events=
.linuxfoundation.org/xen-project-summit/attend/scholarships-travel-funding/=
#scholarships">https://events.linuxfoundation.org/xen-project-summit/attend=
/scholarships-travel-funding/#scholarships</a></div><div><br clear=3D"all">=
<div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_sig=
nature"><div dir=3D"ltr"><div>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></di=
v></div></div></div></div>

--000000000000e0b4410615e35b0d--


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 10:39:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 10:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704533.1100956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvEJt-0008VU-1n; Fri, 12 Apr 2024 10:39:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704533.1100956; Fri, 12 Apr 2024 10:39:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvEJs-0008VN-VE; Fri, 12 Apr 2024 10:39:44 +0000
Received: by outflank-mailman (input) for mailman id 704533;
 Fri, 12 Apr 2024 10:39:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4bSQ=LR=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rvEJs-0008VH-Cm
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 10:39:44 +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 f83b17cd-f8b8-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 12:39:43 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-516d487659bso975704e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 03:39:41 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 z12-20020a2e8e8c000000b002d496ecda1csm483883ljk.61.2024.04.12.03.39.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Apr 2024 03:39:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f83b17cd-f8b8-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712918381; x=1713523181; 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=XeWUnvvhRkLNQhqxUOjt98pOH1Z4EAQyc0vk4tFsq8w=;
        b=MpZNUp/I78H+/M2n2aPvX4w9QTeYypHTh21Y5A+XjftnNdHbsPHBOtm/fbwCsII8d+
         cYQ9U08PcNuyasI4npEvkDAFEFOye70TOaDqFu4OaqYVNE7oMk1JHsAY5+WxQG1IaVv1
         Q9QwXZTlm4Uk3TTolsyU49v+kCPfww4aZJb1IwKdxQ3IYGGLCMy45gV6aBQlvA+duGg4
         isjWT05l1O13P17yruWFDyL6/yxXSgk5CCm/Qe+ZOjafpm0RqcR36m13/HDEt4CEHUyE
         LbUw0Y8e4FudhGt3ssbfN4aR1VZJ1G2zgB3kOE/7J3HwOoaFR5/duodtVxf/1AlmUcBk
         txQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712918381; x=1713523181;
        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=XeWUnvvhRkLNQhqxUOjt98pOH1Z4EAQyc0vk4tFsq8w=;
        b=euaR9ihdFnSx44FrYMOm+GI5/9a3s5CauLQtHmWhdeQSBNXgK8S4XZjal2W+COLGt5
         1z8MdIYQIHsTazD+gWwrTDLCkkZK+ZDxXn6U89mHyyZQ10umq9HGj0NpxIhZqCDnc6eN
         i/WJzwvAkBJ6dhdcnWGMtpIiPvKqWjRLWnD86sk3l31dC5+QCHxkksItgy4GDZRISgxr
         1eXuoXzB0C1Pgt+7OhzAZYMXLdmisgfeJEedBxvMvhjC1o8avC02ftZqlevyNj3pinTN
         Y3OILfRdUJLXh5X1QJCgeiZ+TrA/kqcXQmkl14ch9gYYGoL2Q2HHuMCVuQxQtjL9OsDm
         QpaQ==
X-Forwarded-Encrypted: i=1; AJvYcCWK3F0QQ/ELn3znQBaGqVAEcKgXViz251XdwjgbWVfzdM7TNYSzULV6u978fHLyvTQgOFOAeuJ3iVF3TqA4+O1CaB4+Az8dTmTKPayZRgU=
X-Gm-Message-State: AOJu0YwA1XJr4njP9p1WR9/oQSgw3Gm2l2JGYq/ByUULJVyuF5tKwL6u
	ZtBBVZ9y9e6UTGW781YeqqH7tYO2fKF7ry6ZQTMdrJrw2B2BSPW/
X-Google-Smtp-Source: AGHT+IF5aFMErCE4RJaaLt5rdV3T8WQClliapvrjcI26NEkG92saBbdWO02Z1IoWVDGIgzuIirU/AA==
X-Received: by 2002:a05:651c:502:b0:2d6:d8a3:8c08 with SMTP id o2-20020a05651c050200b002d6d8a38c08mr1372816ljp.12.1712918380982;
        Fri, 12 Apr 2024 03:39:40 -0700 (PDT)
Message-ID: <d9b571b02580e264a4a61e7035a82315fe15838d.camel@gmail.com>
Subject: Re: [PATCH v7 10/19] xen/riscv: introduce atomic.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Fri, 12 Apr 2024 12:39:39 +0200
In-Reply-To: <3c939faa-98a5-4424-b405-b5c7c6c1c0b2@suse.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <6a6c4ef8663d9da8c8a2aba4baf0286f31566edf.1712137031.git.oleksii.kurochko@gmail.com>
	 <3c939faa-98a5-4424-b405-b5c7c6c1c0b2@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Mon, 2024-04-08 at 10:23 +0200, Jan Beulich wrote:
> > +static always_inline void _add_sized(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 un=
signed long x, unsigned int
> > size)
> > +{
> > +=C2=A0=C2=A0=C2=A0 switch ( size )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0 case 1: writeb(read_atomic((volatile uint8_t *)p) +=
 x, p);
> > break;
> > +=C2=A0=C2=A0=C2=A0 case 2: writew(read_atomic((volatile uint16_t *)p) =
+ x, p);
> > break;
> > +=C2=A0=C2=A0=C2=A0 case 4: writel(read_atomic((volatile uint32_t *)p) =
+ x, p);
> > break;
> > +#ifndef CONFIG_RISCV_32
> > +=C2=A0=C2=A0=C2=A0 case 8: writeq(read_atomic((volatile uint64_t *)p) =
+ x, p);
> > break;
> > +#endif
>=20
> Any particular reason for using read_atomic() but write{b,w,l,q}()
> here?
It was done because write_atomic() wants to have pointer as a first
argument, but read_atomic() returns a value.

As an option it can be used read{b,w,l,q}() instead of read_atomic() to
have the code consistent with write{b,w,l,q}.

Another option is to left as is and add the comment.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 10:59:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 10:59:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704541.1100972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvEcs-0004zd-JE; Fri, 12 Apr 2024 10:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704541.1100972; Fri, 12 Apr 2024 10: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 1rvEcs-0004zW-Et; Fri, 12 Apr 2024 10:59:22 +0000
Received: by outflank-mailman (input) for mailman id 704541;
 Fri, 12 Apr 2024 10: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=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvEcq-0004zQ-Ss
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 10:59:20 +0000
Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com
 [2607:f8b0:4864:20::733])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6000b5a-f8bb-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 12:59:19 +0200 (CEST)
Received: by mail-qk1-x733.google.com with SMTP id
 af79cd13be357-78d7558bf10so48100885a.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 03:59:19 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l20-20020ae9f014000000b0078ec5e88805sm1633336qkg.54.2024.04.12.03.59.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 03: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: b6000b5a-f8bb-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712919558; x=1713524358; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/X6mskL8qMeU/S03D5XxolTz6ver5EACj57rm06MCHw=;
        b=k38EGfpm5X9rskv8kUv2NTPuVro0WXrScQIQDR95bod/m3FmMyRdQiwrTBjN328wRQ
         ifucB8/WjjUqw1h4kwQgt/MZBLtN3azySX5d1McWSpl2BllVCsXaLQtkjE8ubmP7i+2O
         mS7TX9TlxqByjENamrL3aGtMPzaKPVQdKa+iU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712919558; x=1713524358;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/X6mskL8qMeU/S03D5XxolTz6ver5EACj57rm06MCHw=;
        b=d4/qfhx2XSYFWwTGdN6LN5x9NBjnYQh3IIPQDmcjzA1Sr31n7VXN4eYV/Wiz+SgUL7
         Z9S11nZzuBIo9a3qO9hUbRPn74AxvI1anzuZU9z1Fx93SYCiKkp9F73P52vY7TImxt1N
         37jUx+ct0LoTmv6qJ/lmgP9cEqEWB42aZe32exSgT+KDUJyOfLRhp67sptlYFZFdE9iI
         RkTDL1LzXPbb21d50lwRzuJviIskygXZZcwagfGZT+qOi2nfDizllv9KjZcGEaD24VTU
         SE0nLa/5ggajqc8bfMI/Tc/xk+MH9RuQlYIeTUv/nzZbBYoD4yOP/uB1ai80pz7+7WzR
         O41Q==
X-Forwarded-Encrypted: i=1; AJvYcCU8JVmrztioaIv4dZgD3Byz5Nvz6Xn7WFls8edwpJnqtjVOt/n+5MWlMd4eIak/Yyb9Pm4ck6BQezq1nbhKT+5dW5RHxMrOcPjTlga9ANY=
X-Gm-Message-State: AOJu0YyNKZo0jiwvK1kMyk5wAVhNgnvIeJmIQrLWYGtSPt1sssck5rZR
	pg19YCxBJU+kDuxuUewgwNfPy1jImRSlq/thw1l+OVWZ55WMxf/yFWSB4kWkQ/8=
X-Google-Smtp-Source: AGHT+IGjh/TjmquJSHtLTAjGcugctJzLOQDUOaxo2KA8EK7P+hZRG83oO+wcYpcS8vm7uZZOyDNjfw==
X-Received: by 2002:a05:620a:4ac5:b0:78e:c62e:1bf4 with SMTP id sq5-20020a05620a4ac500b0078ec62e1bf4mr2049727qkn.54.1712919558573;
        Fri, 12 Apr 2024 03:59:18 -0700 (PDT)
Message-ID: <a1444b09-ed0e-47d0-ad21-2b91077abbc8@citrix.com>
Date: Fri, 12 Apr 2024 11:59:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] livepatch: refuse to resolve symbols that belong to init
 sections
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240412080722.75971-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: <20240412080722.75971-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 9:07 am, Roger Pau Monne wrote:
> Livepatch payloads containing symbols that belong to init sections can only
> lead to page faults later on, as by the time the livepatch is loaded init
> sections have already been freed.
>
> Refuse to resolve such symbols and return an error instead.
>
> Note such resolutions are only relevant for symbols that point to undefined
> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> and hence must either be a Xen or a different livepatch payload symbol.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/common/livepatch_elf.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
> index 45d73912a3cd..25b81189c590 100644
> --- a/xen/common/livepatch_elf.c
> +++ b/xen/common/livepatch_elf.c
> @@ -8,6 +8,9 @@
>  #include <xen/livepatch_elf.h>
>  #include <xen/livepatch.h>
>  
> +/* Needed to check we don't resolve against init section symbols. */
> +extern char __init_begin[], __init_end[];
> +

The livepatching side of this is fine, and definitely an improvement.

However, this is the 3rd set of externs for these symbols.  Could I talk
you into doing a prerequisite patch which introduces <xen/sections.h>
and moves the externs out of {arm,x86}/setup.c ?

This will (subsequently - not to interfere with this change) allow us to
clean up kernel.h, and fix the nonsense that currently is __read_mostly
being in cache.h (which is causing problems for RISCV/PPC).

Also judging by kernel.h, they want a /* SAF-0-safe */ tag too for MISRA.


>  const struct livepatch_elf_sec *
>  livepatch_elf_sec_by_name(const struct livepatch_elf *elf,
>                            const char *name)
> @@ -310,6 +313,20 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>                      break;
>                  }
>              }
> +            /*
> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> +             * livepatch payloads don't have init sections or equivalent.
> +             */
> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> +                      st_value <= (uintptr_t)&__init_end )

I think you want just < here.  A label at __init_end is the start of the
next section.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 11:08:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 11:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704547.1100982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvElW-0007nL-I1; Fri, 12 Apr 2024 11:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704547.1100982; Fri, 12 Apr 2024 11: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 1rvElW-0007nE-EE; Fri, 12 Apr 2024 11:08:18 +0000
Received: by outflank-mailman (input) for mailman id 704547;
 Fri, 12 Apr 2024 11: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=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvElU-0007n8-8o
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 11:08:16 +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 de9dbd06-f8bc-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 13:07:38 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712920048673584.3919028845842;
 Fri, 12 Apr 2024 04:07:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de9dbd06-f8bc-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712920052; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=gIBFZskeh/O+cGQ134h2m3kPYn7xX8Suxt7HoHZqxBiAzx7kggS3Q56SK9dcNIIdOv+4N6vKvN6mXONaLINUaFya4gnemvH0Z+Nat6TpgCxoYJvEuz1eluxFPz+yqEwPnrNUVx2GEup44zYaiS48rE02gLSfx8Y8VAGIv3G+cAw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712920052; 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=oBqIBmXmMqJh2iMf8HK6lFgI+SJYnURbur9shxMNSv8=; 
	b=Gjnw8DjaEQYbjNh8spuLdkOO3fzbzYcWY720935a8qrYWkU9rKwnWN0x/uqLz+v6vXDC0SyG14KQOUG0HJe9f46vdAxZYo84sftQmVMJgQ8WTRUT90Sr0K5UAxOulHNz6c5WWLfTy1XD8fIv4SRIVwe7UpOK2OOWGqq1d2ren+A=
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=1712920052;
	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=oBqIBmXmMqJh2iMf8HK6lFgI+SJYnURbur9shxMNSv8=;
	b=KyBQuMwduGNRv2NjlLAQTzh5L7ZHiMVrxVGLLAX1Zv/bCmZF/h4DNDiBmG406/Te
	JvEgfS6EeALf6mSeMNtcpnYrHJIrKK5ciyOn2FytVBQudGspuC5NcSc9SIHKylsHyZ+
	GCLOLPyHR6e83IjLZLP6+62z6w/Zbio6VZ5px8PI=
Message-ID: <2897b736-1a9d-4948-8e80-f018fd049bb8@apertussolutions.com>
Date: Fri, 12 Apr 2024 07:07:18 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] gzip: colocate gunzip code files
To: Luca Fancellu <Luca.Fancellu@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-2-dpsmith@apertussolutions.com>
 <AA1FBA57-A643-4758-B99A-B59181B6329A@arm.com>
 <1552c28a-9c31-4771-94d1-20a51b2c641f@citrix.com>
 <8055E1FC-38DA-4534-BE04-F22AFC7B049F@arm.com>
Content-Language: en-US
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: <8055E1FC-38DA-4534-BE04-F22AFC7B049F@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External


On 4/11/24 15:43, Luca Fancellu wrote:
> 
>>>> create mode 100644 xen/common/gzip/Makefile
>>>> rename xen/common/{ => gzip}/gunzip.c (100%)
>>>> rename xen/common/{ => gzip}/inflate.c (100%)
>>> For inflate.c you will need to update also docs/misra/exclude-list.json
>>
>> Something like this?
>>
>> diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
>> index 36bad9e54f7d..095636415897 100644
>> --- a/docs/misra/exclude-list.json
>> +++ b/docs/misra/exclude-list.json
>> @@ -118,7 +118,7 @@
>>               "comment": "Imported from Linux, ignore for now"
>>           },
>>           {
>> -            "rel_path": "common/inflate.c",
>> +            "rel_path": "common/gzip/inflate.c",
>>               "comment": "Imported from Linux, ignore for now"
>>           },
>>           {
> 
> Yes indeed

Ack, will add.


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 11:28:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 11:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704555.1100997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvF51-0004Vs-10; Fri, 12 Apr 2024 11:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704555.1100997; Fri, 12 Apr 2024 11:28:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvF50-0004Vl-Ue; Fri, 12 Apr 2024 11:28:26 +0000
Received: by outflank-mailman (input) for mailman id 704555;
 Fri, 12 Apr 2024 11: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=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvF4z-0004Vf-NP
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 11:28:25 +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 c52358f8-f8bf-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 13:28:23 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 171292129608387.97570731085034;
 Fri, 12 Apr 2024 04: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: c52358f8-f8bf-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1712921298; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=j9KMQQEL5zBpyLKq3dVeux2efgjxsqMpl8IZFmiKwQESTyt4ihClC36WkxUA5TGz7vJLANEiRaf3Ji/qJLbhUr4msFzESZXCeJIV0yMSOtVEJ0Hlu2/oq/dW4C0/Tr9cjh6t4GGYoww1v6FoskzHaUx4XjXPtW3Vi8RFJv8/evQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712921298; 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=0HrvEeuJMQuVs/6Ps1OHzTyXZXfMG7qX6nWkzjTNvbw=; 
	b=CFxN6mqXROKtPDrf0gBSYGSXhsXs4dtmyuqX1pUngt0apkwTa/wz46G5Rfe5PrjPUU3qjsc0h5AV8LF6yZmW+8YT08vEX2uq8hOeymGGtCzopC9CRpbNr4pEsoJ1ccwEM2mcqJb09g+w6NJcsSqVdDTwO30J0Fjlu2O9U/7DDWw=
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=1712921298;
	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=0HrvEeuJMQuVs/6Ps1OHzTyXZXfMG7qX6nWkzjTNvbw=;
	b=cwoInlgT3tWi9V7HyXSxMC98mXWXRqrV0zxA0e6Pt0HqM5MjOg+0kBzwJvBAa0hw
	Zj1SPhigGdVesJNbPCUSQ9HQYGKI8OBJFdXSz0mCUOixnF0Q33xHSTEcXChXvWwoBiL
	HQNdMkmKNpfbCNL3BzdV+1y3U7ZYafRZoANG6T/g=
Message-ID: <ef1e2edd-b9fe-4155-ad61-46e0e53b7198@apertussolutions.com>
Date: Fri, 12 Apr 2024 07:28:14 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] gzip: clean up comments and fix code alignment
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-3-dpsmith@apertussolutions.com>
 <382b8aaf-ea9f-42c7-b57b-945fa4fd36aa@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: <382b8aaf-ea9f-42c7-b57b-945fa4fd36aa@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/11/24 15:11, Andrew Cooper wrote:
> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>> This commit cleans up the comments and fixes the code alignment using Xen
>> coding style. This is done to make the code more legible before refactoring.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> I've found two more minor adjustments:
> 
> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index feb6d51008aa..9205189d4618 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -375,7 +375,7 @@ static int __init huft_build(
>       memzero(stk->c, sizeof(stk->c));
>       p = b;  i = n;
>       do {
> -        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" :
> "0x%x %d\n"),
> +        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" :
> "0x%x %d\n"),
>                        n-i, *p));
>           c[*p]++;                    /* assume all entries <= BMAX */
>           p++;                      /* Can't combine with above line
> (Solaris bug) */
> @@ -563,7 +563,8 @@ static int __init huft_build(
>       return ret;
>   }
>   
> -/* Free the malloc'ed tables built by huft_build(), which makes a linked
> +/*
> + * Free the malloc'ed tables built by huft_build(), which makes a linked
>    * list of the tables it made, with the links in a dummy first entry of
>    * each table.
>    *
> 
> 
> I can fold on commit.  (First hunk is trailing whitespace, which doesn't
> show up so well on email).


Hmm, I tried to catch all the trailing space. Since I already have to 
respin for the MISRA exclude list, I can double-check if there are any 
other trailing whitespaces I missed.

> However, there are some more major adjustments wanted too.

That's fine, I attempted at tugging on some of the ugliness and kept 
finding myself in a mess. If there are subtle improvements that can be 
made without doing the complete rewrite I think this really deserves, 
would be glad to incorporate them.

> The reason why the code indention is so messed up is because it has been
> auto-formatted, but with some NEXTBYTE()/NEEDBITS()/DUMPBITS() missing
> semi-colons.  This throws off subsequent formatting, including some of
> the indentation changes you've made.
> 
> Fixing the semicolons is a far more messy diff, but a much better end
> result.

I looked and didn't see any missing semicolons for NEXTBYTE, but you are 
correct, I think almost every invocation of NEEDBITS and DUMPBITS are 
missing semicolons.

> However, the PKZIP_BUG_WORKAROUND ifdefary hiding braces still throws
> things off, this time in the opposite direction.  NOMEMCPY also gets in
> the way.
> 
> I'd be tempted to suggest breaking out a patch earlier dropping these
> two, and then doing the semicolon fixes in this one along with the other
> work.

Upon checking, I did not see any way to set PKZIP_BUG_WORKAROUND and 
NOMEMCPY, so yes I think we can safely drop them.

> Thoughts?

I think it is all doable, the only question is would you prefer to see 
the PKZIP_BUG_WORKAROUND and NOMEMCPY drop happen before relocating the 
files or after relocation?

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 11:34:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 11:34:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704558.1101007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvFB3-0006RE-LP; Fri, 12 Apr 2024 11:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704558.1101007; Fri, 12 Apr 2024 11: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 1rvFB3-0006R7-Iq; Fri, 12 Apr 2024 11:34:41 +0000
Received: by outflank-mailman (input) for mailman id 704558;
 Fri, 12 Apr 2024 11:34:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvFB2-0006R1-Fe
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 11:34:40 +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 a43b6449-f8c0-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 13:34:38 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712921669121388.98311949771437;
 Fri, 12 Apr 2024 04:34: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: a43b6449-f8c0-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712921671; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=UiPqfDZeVt7C2iA2DfDYCyseGw2J5tS4W5KVe2HEQZJf8IQxr7wiLId0EviYYzY0EnSbQzYj9saAZUamTAl7gfmmd8DiVxJgjRDd5Qlc0HjnM1H3srpbm2OJaDp/VLk4hDHSvsdpVHkS97Mjav5mVX8BxA2iZgkJ+H+XYp+7mqI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712921671; 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=9TaWNEKeh2nl8tHY2/iJljIDnXmneDUINGPKaA4m2wE=; 
	b=GPdLQOp1crzB3O6p1hOCps7VJJGD/+F2juFF8zusZvFIpEruqDVL7KJ5Dqs8Ob8rHWBtLvyTxdEY4/wMFCrFGN7NbUbO/x3qeJexYcZ+6XmLCmE6f5oPm8Nixu4hURZRPFUlhxhlZFDLRjom70KaM60XaMtzdfmfaDIkLNBi+nY=
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=1712921671;
	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=9TaWNEKeh2nl8tHY2/iJljIDnXmneDUINGPKaA4m2wE=;
	b=rc1MW54lDv5UmC9BiiQcUCa5Wb4rg3E+7q1oIu21NCsNFsRpjWJJAWpbLK1nbMIN
	98y/BAVJUf9J5OOtSCV7fEaqZtFNYd3M1YZuUlfbNhYNqM3S1KV8MY4ENvTw15wtL9Z
	ODg7GwasaFIwVtPhz0eEIudQuIXj9UeOsCdtBZag=
Message-ID: <c03b4f1e-f2c9-4f92-a369-b8afad56bc0b@apertussolutions.com>
Date: Fri, 12 Apr 2024 07:34:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@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: <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/11/24 15:24, Andrew Cooper wrote:
> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>> index 1bcb007395ba..9b4891731b8b 100644
>> --- a/xen/common/gzip/gunzip.c
>> +++ b/xen/common/gzip/gunzip.c
>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned long image_len)
>>   
>>   __init int perform_gunzip(char *output, char *image, unsigned long image_len)
>>   {
>> +    struct gzip_data gd;
>>       int rc;
> 
> By the end of this series,
> 
> Reading symbols from xen-syms...
> (gdb) p sizeof(struct gzip_data)
> $1 = 2120
> 
> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
> dynamically allocated, even in inflate.c, so I'd highly recommend doing
> the same for this.

I take it you are mainly talking about crc_32_tab? Yes, I can switch 
that to being dynamically allocated.

> Also, could I nitpick the name and request:
> 
> struct gzip_state *s;

I have no attachment to names, so yes, I can switch the name.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 11:42:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 11:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704564.1101017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvFIG-0000NV-CX; Fri, 12 Apr 2024 11:42:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704564.1101017; Fri, 12 Apr 2024 11: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 1rvFIG-0000NO-9k; Fri, 12 Apr 2024 11:42:08 +0000
Received: by outflank-mailman (input) for mailman id 704564;
 Fri, 12 Apr 2024 11:42:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvFIF-0000NI-EC
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 11:42:07 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af0c7f3f-f8c1-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 13:42:05 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712922119221380.95281235996936;
 Fri, 12 Apr 2024 04:41: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: af0c7f3f-f8c1-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1712922121; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ijbSZ7tbCg/zEVJjgmdTphFk06ZG+viwTkFe7kDoJg3GDLzUcmBCQiIRARRHQuGj9Lp/twev2paH4dvWZbcbGmzShOXPQjbxYHrvWnZ4JzBNVakfYOEiUnr/PcM9D4M86ZNgm47IO7qMpuYa8V2FOapVtX6RvE019PkMSgYNmX8=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712922121; 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=GEH9Rl0aYMS8XF11Wv91KlXIyN31zx1pEcivx5VQMWI=; 
	b=kllDh9+MB+8sVREgA6H+7ityhXvgGR4Erc2yTpY6zTYvBCrmsVHMARefNISCYc7vabXKmiY/YgTwgMgBaO99LCIFCWD2EOiqRXbNVqXLd5iEMV6Gw/kqXG0/6cV6bA9JKnvs4AWlp+VrqxZJdrn9h+lHsKWQtQcaKD1gbz/rQ0U=
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=1712922121;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:From:From:To:To:Cc:Cc:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=GEH9Rl0aYMS8XF11Wv91KlXIyN31zx1pEcivx5VQMWI=;
	b=HiW5wobQ8/0sb+oJJAWgig3iYzpy2h5nhNM3qV/fBuqvEke7RODpPmofphazfQh5
	xSmSgUWA60SZv4B7SO7fQlv4b+2UO+OaC6gWxtDsiYgsX75S237peDxUM7odT7+qkP9
	SOjBg1qD7T16YtxGnuffU7GNWnWUSCHHKnfpsfH0=
Message-ID: <9a5112a3-26fe-49a8-93ed-cd8c9610576c@apertussolutions.com>
Date: Fri, 12 Apr 2024 07:41:57 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <c03b4f1e-f2c9-4f92-a369-b8afad56bc0b@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: <c03b4f1e-f2c9-4f92-a369-b8afad56bc0b@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/12/24 07:34, Daniel P. Smith wrote:
> On 4/11/24 15:24, Andrew Cooper wrote:
>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>> index 1bcb007395ba..9b4891731b8b 100644
>>> --- a/xen/common/gzip/gunzip.c
>>> +++ b/xen/common/gzip/gunzip.c
>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned 
>>> long image_len)
>>>   __init int perform_gunzip(char *output, char *image, unsigned long 
>>> image_len)
>>>   {
>>> +    struct gzip_data gd;
>>>       int rc;
>>
>> By the end of this series,
>>
>> Reading symbols from xen-syms...
>> (gdb) p sizeof(struct gzip_data)
>> $1 = 2120
>>
>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
>> dynamically allocated, even in inflate.c, so I'd highly recommend doing
>> the same for this.
> 
> I take it you are mainly talking about crc_32_tab? Yes, I can switch 
> that to being dynamically allocated.

Never mind, reading your comment on patch4 made me realize you wanted 
the instance of struct dynamically allocated. Though the answer is 
still, yes, we can dynamically allocate it.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 11:42:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 11:42:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704566.1101028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvFId-0000oQ-PT; Fri, 12 Apr 2024 11:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704566.1101028; Fri, 12 Apr 2024 11: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 1rvFId-0000oJ-Lk; Fri, 12 Apr 2024 11:42:31 +0000
Received: by outflank-mailman (input) for mailman id 704566;
 Fri, 12 Apr 2024 11: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=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvFIc-0000NI-IE
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 11:42:30 +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 bd44c544-f8c1-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 13:42:29 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712922144138705.1674847806388;
 Fri, 12 Apr 2024 04:42: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: bd44c544-f8c1-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1712922145; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=S1/X09ezzzbJ5AjVMS/vnqRK7qJRE2taCNA937YflodMvywRS/fETRpRlKAwzpYB7rLr/ZslBYzt2nO3CQWTNZ+DGOWka6Hjs+kJMgz+i19rTeQ3GouJiym2JknCCdEv95KKb/3DXndEFUfLPjwnoNZA+kwr7xtU6TmHA/AdcRE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712922145; 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=AH6O84wbgEd1+0PGg1GVHsJ6Sl1tbXLN0Z6vY82xzU8=; 
	b=W6fDOW8s7h5Jc6N+RijRHKuOGCWSVX0GbhviCFd19UeblbQYgP9i5l3HtswkW1ku4pAcDSrmjFE8kz6fWnloDV/eIM6NW130kxZCY4Wx319XtVCowD/6XCov2XCQo5ZWGcE/nBJUKncqV3w32dJ0hNgg28i5zaHvSkNzhddBJO0=
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=1712922145;
	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=AH6O84wbgEd1+0PGg1GVHsJ6Sl1tbXLN0Z6vY82xzU8=;
	b=TOhR8srRh4nIEPdtwR4VRFy2Nu0p+0/lfFbsuErcisj3CCdObhkPpzKYOsNdo8JU
	/Bd1Ka4v4LJPnrOCyHGDwy99d6BOrDzbjTexVpWsITEJynhv229AiMRSEQe+tZcKKL2
	x9R5C88Io7TgZRvRdE2R1vCYNbcETucM44rpb1Bs=
Message-ID: <c03c076b-c61e-4c0b-a3be-776d1626074a@apertussolutions.com>
Date: Fri, 12 Apr 2024 07:42:22 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] gzip: move crc state into consilidated gzip state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-5-dpsmith@apertussolutions.com>
 <10931f84-3c83-4efd-9a78-933f3e9de3f2@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: <10931f84-3c83-4efd-9a78-933f3e9de3f2@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/11/24 15:43, Andrew Cooper wrote:
> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
>> index c8dd35962abb..6c8c7452a31f 100644
>> --- a/xen/common/gzip/inflate.c
>> +++ b/xen/common/gzip/inflate.c
>> @@ -1125,16 +1125,14 @@ static int __init inflate(struct gzip_data *gd)
>>    *
>>    **********************************************************************/
>>   
>> -static ulg __initdata crc_32_tab[256];
>> -static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss */
>> -#define CRC_VALUE (crc ^ 0xffffffffUL)
>> +#define CRC_VALUE (gd->crc ^ 0xffffffffUL)
>>   
>>   /*
>>    * Code to compute the CRC-32 table. Borrowed from
>>    * gzip-1.0.3/makecrc.c.
>>    */
>>   
>> -static void __init makecrc(void)
>> +static void __init makecrc(struct gzip_data *gd)
>>   {
>>   /* Not copyrighted 1990 Mark Adler */
>>   
>> @@ -1151,7 +1149,7 @@ static void __init makecrc(void)
>>       for (i = 0; i < sizeof(p)/sizeof(int); i++)
>>           e |= 1L << (31 - p[i]);
>>   
>> -    crc_32_tab[0] = 0;
>> +    gd->crc_32_tab[0] = 0;
>>   
>>       for (i = 1; i < 256; i++)
>>       {
>> @@ -1162,11 +1160,11 @@ static void __init makecrc(void)
>>               if (k & 1)
>>                   c ^= e;
>>           }
>> -        crc_32_tab[i] = c;
>> +        gd->crc_32_tab[i] = c;
>>       }
>>   
>>       /* this is initialized here so this code could reside in ROM */
>> -    crc = (ulg)0xffffffffUL; /* shift register contents */
>> +    gd->crc = (ulg)0xffffffffUL; /* shift register contents */
>>   }
>>   
>>   /* gzip flag byte */
> 
> I can't see any way that a non-32bit value ever gets stored, because 'e'
> doesn't ever have bit 32 set in it.  I have a sneaking suspicion that
> this is code written in the 32bit days, where sizeof(long) was still 4.

Yes, I can switch crc and crc_32_tab to uint32_t.

> This change, if correct, halves the size of gzip_state.

Ack.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 11:47:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 11:47:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704576.1101044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvFNC-0003I9-CE; Fri, 12 Apr 2024 11:47:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704576.1101044; Fri, 12 Apr 2024 11:47:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvFNC-0003I2-9E; Fri, 12 Apr 2024 11:47:14 +0000
Received: by outflank-mailman (input) for mailman id 704576;
 Fri, 12 Apr 2024 11:47: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=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvFNA-0003Ho-U7
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 11:47:12 +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 64fa877d-f8c2-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 13:47:11 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712922423530196.07713991845515;
 Fri, 12 Apr 2024 04:47: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: 64fa877d-f8c2-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712922426; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=k9CeVTvRq4A2si4GfoamrtlNdSqs9oSCTE+fo7V1snIFqUPup7qGJ4tB51iQognXmoibms8fVPA8DPlV2jYUPDlvktwe+3iXOHEbU9SuBCIXijCI1T70w6/Y0agsOxwP6M9AVOD91CX2HXpXz7nwVKk5XDl7DkHorPwN+n56qBI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712922426; 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=UmGwatd2RFkFR+bnz4CcwqllOhXf8pmquBuOMevZ2G4=; 
	b=eii8b0ugCHVyzQjhQEPhJCvKL6SQEUwPIEPip6wshV2/JmK5lhIz8GtyHYhlQNRjwodzKr+kHoa83KzHQGpCzWGFFOv1UxRqnp2/QIKdcga0hNK/zE/1otbYQYQj2w32eldYgossu7hOhHHHT3qFkyzr8CrD0Cn2yP8Nc6wrrok=
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=1712922426;
	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=UmGwatd2RFkFR+bnz4CcwqllOhXf8pmquBuOMevZ2G4=;
	b=PCKFegdKTpXXFgJf76CIaHvrh+cEE6w0BHQfNKfZLZE0kN5EzRvx2cI0A67w53oQ
	c/NDHys9TcotuOgePhB0UwW6MKiVwio5Yyq/kviC0D1THF2AbeziiGGivv/AvLG0nqA
	GOQL+WetEdsQA+vTj8Ux6GW+x4Kb5vW0ygWatRDY=
Message-ID: <05a427f3-7d19-4a08-9a5f-164bff5c4bf5@apertussolutions.com>
Date: Fri, 12 Apr 2024 07:47:01 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] gzip: move huffman code table tracking into gzip
 state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-6-dpsmith@apertussolutions.com>
 <5e822498-cbe1-45e5-806c-1c14aaf76a6d@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: <5e822498-cbe1-45e5-806c-1c14aaf76a6d@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/11/24 15:49, Andrew Cooper wrote:
> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   xen/common/gzip/gunzip.c  |  2 ++
>>   xen/common/gzip/inflate.c | 26 ++++++++++++--------------
>>   2 files changed, 14 insertions(+), 14 deletions(-)
>>
>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>> index a1b516b925c9..79a641263597 100644
>> --- a/xen/common/gzip/gunzip.c
>> +++ b/xen/common/gzip/gunzip.c
>> @@ -31,6 +31,8 @@ struct gzip_data {
>>   
>>       unsigned long crc_32_tab[256];
>>       unsigned long crc;
>> +
>> +    unsigned hufts;        /* track memory usage */
>>   };
>>   
>>   #define OF(args)        args
>> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
>> index 6c8c7452a31f..53ee1d8ce1e3 100644
>> --- a/xen/common/gzip/inflate.c
>> +++ b/xen/common/gzip/inflate.c
>> @@ -140,7 +140,7 @@ struct huft {
>>   };
>>   
>>   /* Function prototypes */
>> -static int huft_build OF((unsigned *, unsigned, unsigned,
>> +static int huft_build OF((struct gzip_data *, unsigned *, unsigned, unsigned,
>>                             const ush *, const ush *, struct huft **, int *));
>>   static int huft_free OF((struct huft *));
>>   static int inflate_codes OF((struct gzip_data *, struct huft *, struct huft *, int, int));
>> @@ -311,8 +311,6 @@ static const int dbits = 6;          /* bits in base distance lookup table */
>>   #define BMAX 16         /* maximum bit length of any code (16 for explode) */
>>   #define N_MAX 288       /* maximum number of codes in any set */
>>   
>> -static unsigned __initdata hufts;      /* track memory usage */
>> -
>>   /*
>>    * Given a list of code lengths and a maximum table size, make a set of
>>    * tables to decode that set of codes.  Return zero on success, one if
>> @@ -329,8 +327,8 @@ static unsigned __initdata hufts;      /* track memory usage */
>>    * @param m Maximum lookup bits, returns actual
>>    */
>>   static int __init huft_build(
>> -    unsigned *b, unsigned n, unsigned s, const ush *d, const ush *e,
>> -    struct huft **t, int *m)
>> +    struct gzip_data *gd, unsigned *b, unsigned n, unsigned s, const ush *d,
>> +    const ush *e, struct huft **t, int *m)
>>   {
>>       unsigned a;                   /* counter for codes of length k */
>>       unsigned f;                   /* i repeats in table every f entries */
>> @@ -492,7 +490,7 @@ static int __init huft_build(
>>                       goto out;
>>                   }
>>                   DEBG1("4 ");
>> -                hufts += z + 1;         /* track memory usage */
>> +                gd->hufts += z + 1;         /* track memory usage */
>>                   *t = q + 1;             /* link to list for huft_free() */
>>                   *(t = &(q->v.t)) = (struct huft *)NULL;
>>                   u[h] = ++q;             /* table starts after link */
>> @@ -787,7 +785,7 @@ static int noinline __init inflate_fixed(struct gzip_data *gd)
>>       for (; i < 288; i++)          /* make a complete, but wrong code set */
>>           l[i] = 8;
>>       bl = 7;
>> -    if ((i = huft_build(l, 288, 257, cplens, cplext, &tl, &bl)) != 0) {
>> +    if ((i = huft_build(gd, l, 288, 257, cplens, cplext, &tl, &bl)) != 0) {
>>           free(l);
>>           return i;
>>       }
>> @@ -796,7 +794,7 @@ static int noinline __init inflate_fixed(struct gzip_data *gd)
>>       for (i = 0; i < 30; i++)      /* make an incomplete code set */
>>           l[i] = 5;
>>       bd = 5;
>> -    if ((i = huft_build(l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
>> +    if ((i = huft_build(gd, l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
>>       {
>>           huft_free(tl);
>>           free(l);
>> @@ -894,7 +892,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
>>   
>>       /* build decoding table for trees--single level, 7 bit lookup */
>>       bl = 7;
>> -    if ((i = huft_build(ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
>> +    if ((i = huft_build(gd, ll, 19, 19, NULL, NULL, &tl, &bl)) != 0)
>>       {
>>           if (i == 1)
>>               huft_free(tl);
>> @@ -971,7 +969,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
>>   
>>       /* build the decoding tables for literal/length and distance codes */
>>       bl = lbits;
>> -    if ((i = huft_build(ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
>> +    if ((i = huft_build(gd, ll, nl, 257, cplens, cplext, &tl, &bl)) != 0)
>>       {
>>           DEBG("dyn5b ");
>>           if (i == 1) {
>> @@ -983,7 +981,7 @@ static int noinline __init inflate_dynamic(struct gzip_data *gd)
>>       }
>>       DEBG("dyn5c ");
>>       bd = dbits;
>> -    if ((i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
>> +    if ((i = huft_build(gd, ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
>>       {
>>           DEBG("dyn5d ");
>>           if (i == 1) {
>> @@ -1090,15 +1088,15 @@ static int __init inflate(struct gzip_data *gd)
>>       /* decompress until the last block */
>>       h = 0;
>>       do {
>> -        hufts = 0;
>> +        gd->hufts = 0;
>>   #ifdef ARCH_HAS_DECOMP_WDOG
>>           arch_decomp_wdog();
>>   #endif
>>           r = inflate_block(gd, &e);
>>           if (r)
>>               return r;
>> -        if (hufts > h)
>> -            h = hufts;
>> +        if (gd->hufts > h)
>> +            h = gd->hufts;
>>       } while (!e);
>>   
>>       /* Undo too much lookahead. The next read will be byte aligned so we
> 
> 
> AFAICT, hothing in inflate() reads h.  So hufts is a write-only variable?

Good question, let me study it to make sure.

> Can't we just delete it, rather than plumb it through into the state
> block?  It would certainly shrink this patch somewhat.

Yes, if I can't find any reads of gd->hufts, directly or indirectly 
intermediate variables like h above, then yes, I can try dropping it and 
testing to see if anything breaks.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:15:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:15:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704602.1101062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvFoS-0002om-S0; Fri, 12 Apr 2024 12:15:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704602.1101062; Fri, 12 Apr 2024 12: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 1rvFoS-0002of-PI; Fri, 12 Apr 2024 12:15:24 +0000
Received: by outflank-mailman (input) for mailman id 704602;
 Fri, 12 Apr 2024 12:15: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=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvFoR-0002oY-WF
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:15:24 +0000
Received: from mail-ot1-x336.google.com (mail-ot1-x336.google.com
 [2607:f8b0:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55cab136-f8c6-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 14:15:23 +0200 (CEST)
Received: by mail-ot1-x336.google.com with SMTP id
 46e09a7af769-6ea0fd9ca89so578805a34.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 05:15:22 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t12-20020a05620a004c00b0078d43da0be3sm2305590qkt.5.2024.04.12.05.15.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 05:15: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: 55cab136-f8c6-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712924121; x=1713528921; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=plbEXkQWlx5weAXa2T3dGeOsiQSYbb5/wBl5tIl0vUA=;
        b=QWMJWyGznXetgiajVJHFUYrQcoA0JHAsMhOb2y2mIszAy3EHRDESCRFdt1ap5k8QJt
         CCCHAQCZ+jdXqhzpvEgjUBUEj71/cathS7bMqs/+3qjy5k5vuzpJA/FbbbnJxfGd9V56
         KT7fVL0tKWCgBcv1KKUwc4DlUc5/rzzX5hxz0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712924121; x=1713528921;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=plbEXkQWlx5weAXa2T3dGeOsiQSYbb5/wBl5tIl0vUA=;
        b=gu4LstF0rEHmo+V0UsP8k+CcwwgInepBuGcf+TzvZD4/KNc17Pjc8St6cVGYEw39lR
         Yhza/WecSg3j63C8LS6JV2eqArRrOabBXvSCaunR6UHjsfie66w1a4igk/TIt54ICI/I
         Gjlgu/EEGLjMHawd7s60QyTsWiv6decE+x674wa79BgvRFLK77T+AbyrmjnoaG7CDLA+
         iTxZcLQzXKqyfluBN4maTVL+J5Yl9P/Hqa5fBkXYoXoHVI/UJKC5OxwpMIH4aAQUuRZW
         tcISYNiPQhcnHAR3SjD2qQy8YLtupv1ETncHeUYTupMZ67BluGuvd1ul7ZLFn99OKaTN
         XerQ==
X-Forwarded-Encrypted: i=1; AJvYcCULlRlydyeNQYq5DtNzJRwtCfquWRkURuEClJhwO2U/sm9/nA/kwxVT4/hSCyPbeDNWfNbKgIuCIJpT22FCHesi/JyVg3CGf3rvLeX1tbQ=
X-Gm-Message-State: AOJu0Yxua8Zbxc2c34FNcutfXBpL2dZU/x1TCqzfTg8KPPbeXp+HakNo
	sUNN+MNPLOuwitk6tXCZ50T/nKO4whj27LryL2CAqDk4m1+HxNTZAwjffqJXVpw=
X-Google-Smtp-Source: AGHT+IE+LETmLKSi9+DXNSG+gZrGUWqxRiYHkUeAlJirq/C8wVDddMXxpNUz31BxO3lnJZbNMF6aFA==
X-Received: by 2002:a05:6830:1d78:b0:6ea:f61:ec98 with SMTP id l24-20020a0568301d7800b006ea0f61ec98mr2660956oti.7.1712924121648;
        Fri, 12 Apr 2024 05:15:21 -0700 (PDT)
Message-ID: <e540a812-d89d-4873-b308-5be495dd545e@citrix.com>
Date: Fri, 12 Apr 2024 13:15:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] gzip: clean up comments and fix code alignment
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-3-dpsmith@apertussolutions.com>
 <382b8aaf-ea9f-42c7-b57b-945fa4fd36aa@citrix.com>
 <ef1e2edd-b9fe-4155-ad61-46e0e53b7198@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: <ef1e2edd-b9fe-4155-ad61-46e0e53b7198@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/04/2024 12:28 pm, Daniel P. Smith wrote:
> On 4/11/24 15:11, Andrew Cooper wrote:
>
>> Thoughts?
>
> I think it is all doable, the only question is would you prefer to see
> the PKZIP_BUG_WORKAROUND and NOMEMCPY drop happen before relocating
> the files or after relocation?

I'd suggest dropping these two in a prep patch ahead of this main cleanup.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:18:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704607.1101076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvFrL-0004PF-AV; Fri, 12 Apr 2024 12:18:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704607.1101076; Fri, 12 Apr 2024 12: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 1rvFrL-0004P8-7W; Fri, 12 Apr 2024 12:18:23 +0000
Received: by outflank-mailman (input) for mailman id 704607;
 Fri, 12 Apr 2024 12:18:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvFrK-0004Kq-2H
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:18:22 +0000
Received: from mail-oa1-x30.google.com (mail-oa1-x30.google.com
 [2001:4860:4864:20::30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf59ee2b-f8c6-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 14:18:20 +0200 (CEST)
Received: by mail-oa1-x30.google.com with SMTP id
 586e51a60fabf-22ec61aaf01so480701fac.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 05:18:20 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d19-20020ac86693000000b00434f6c1458bsm2164554qtp.17.2024.04.12.05.18.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 05:18: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: bf59ee2b-f8c6-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712924299; x=1713529099; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BYb+uZBFcOwIPCj0/S2b2A4kiFleioUL45N5LB8aevc=;
        b=uEOT32+/RylwPU4esg6knIiJ4mM6PZGmMFjkFhvLSy+fWokDqP6aXWSYZw+2kxnEcn
         TUEWppf4Pu4ZNUHSU8lq9VtYEM9IqBOfnGYe2eDTYtCw595mTLc9u9mzl06rgTie+Yxw
         FOgJpzNv7RxDMHzNV/ve04sLpcQIJSDfT0eEY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712924299; x=1713529099;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BYb+uZBFcOwIPCj0/S2b2A4kiFleioUL45N5LB8aevc=;
        b=keTLihQ+E1McNFlmHh2P2M+LTGiGwcTOdtwP4zZEQp/57sCQBNBExl7UsfjZNSfvBH
         b5MwCWUaorL2DAjqnXlsRInEeGPpBIhFjALYpDei26zC9ghQjqOorZ/vbg4lNIyaAeWT
         J5Fh9Pn/QvNiHPGDKhoSTDjksEQ7pZM4dN+314cJgUuh6KS0Q5Mf4CeIJesgD7yQvMVH
         HAHz7lyOGeEjvjmxMqn2rGmHE3+9+3utEojYRPNPT/xjl4FUyizgXJIu/G/p6exUNmgW
         kcPw4niUnS+rZ5rjJfyWsZkKZupdhFmr+OMrCH3CKWCJvbAdrIPEbIVCvvVfPhvLcsnK
         0RWA==
X-Forwarded-Encrypted: i=1; AJvYcCXR3JAR/UKL0Vi92PrbkIaI/T06miMJwAZAw+vW5AdS6+bewmX/cYYFZcFXgZRS47QCPm66/Qty3DIZ8tQldCLovRQjKwKmgDFS+yYYJXg=
X-Gm-Message-State: AOJu0Yzm2rSw6xjHHKdtZQiQiRjQVHr80OAda1gAXwHCOqn23UMJCpM0
	2t50ZGAI9N/c+DMB8gYZ99LacGTsN379Q86x05rP0hOGnqicTIeUXqY0hV9wTiU=
X-Google-Smtp-Source: AGHT+IGDps1sjxgpmEbeV327ZQk9bjsEOruMC/anw26enDnAqLEnHfi2ELWd/Y7k4dHhcvun+Levkw==
X-Received: by 2002:a05:6870:b015:b0:229:7d01:7e03 with SMTP id y21-20020a056870b01500b002297d017e03mr2393146oae.43.1712924298732;
        Fri, 12 Apr 2024 05:18:18 -0700 (PDT)
Message-ID: <5e63a5b7-d62f-443c-9755-66dbc70fee98@citrix.com>
Date: Fri, 12 Apr 2024 13:18:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <c03b4f1e-f2c9-4f92-a369-b8afad56bc0b@apertussolutions.com>
 <9a5112a3-26fe-49a8-93ed-cd8c9610576c@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: <9a5112a3-26fe-49a8-93ed-cd8c9610576c@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 12:41 pm, Daniel P. Smith wrote:
> On 4/12/24 07:34, Daniel P. Smith wrote:
>> On 4/11/24 15:24, Andrew Cooper wrote:
>>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>>> index 1bcb007395ba..9b4891731b8b 100644
>>>> --- a/xen/common/gzip/gunzip.c
>>>> +++ b/xen/common/gzip/gunzip.c
>>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned
>>>> long image_len)
>>>>   __init int perform_gunzip(char *output, char *image, unsigned
>>>> long image_len)
>>>>   {
>>>> +    struct gzip_data gd;
>>>>       int rc;
>>>
>>> By the end of this series,
>>>
>>> Reading symbols from xen-syms...
>>> (gdb) p sizeof(struct gzip_data)
>>> $1 = 2120
>>>
>>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
>>> dynamically allocated, even in inflate.c, so I'd highly recommend doing
>>> the same for this.
>>
>> I take it you are mainly talking about crc_32_tab? Yes, I can switch
>> that to being dynamically allocated.
>
> Never mind, reading your comment on patch4 made me realize you wanted
> the instance of struct dynamically allocated. Though the answer is
> still, yes, we can dynamically allocate it.

I wrote this before realising that crc_32_tag could be shrunk.

If it's only1k on the stack, then that's a whole lot less bad, and is
perhaps ok.  I guess it depends on the stack size of the other
architectures.

Still - I expect dynamically allocating would be a safer course of
action.  Internal blocks are dynamically allocated already, so this is
"just" one more.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:33:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:33:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704623.1101092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvG6B-0000gp-HR; Fri, 12 Apr 2024 12:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704623.1101092; Fri, 12 Apr 2024 12: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 1rvG6B-0000gi-EL; Fri, 12 Apr 2024 12:33:43 +0000
Received: by outflank-mailman (input) for mailman id 704623;
 Fri, 12 Apr 2024 12:33:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uGUh=LR=bounce.vates.tech=bounce-md_30504962.66192a22.v1-3b07ce38dac04a7aa6620cfa04f75290@srs-se1.protection.inumbo.net>)
 id 1rvG69-0000fM-PK
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:33:41 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3dc9626-f8c8-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 14:33:40 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VGGFZ615KzDRHy9G
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 12:33:38 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 3b07ce38dac04a7aa6620cfa04f75290; Fri, 12 Apr 2024 12:33:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3dc9626-f8c8-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712925218; x=1713185718;
	bh=lUyJPgNnx0SAin6hEtZWlv9ZWViQpLeT4NrclMLzQzg=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=j9A6GE63KybtdPlWDUCBXZlbxQcE/rPJpNYW6RlKqKMszuvj6RauYGS69IG4wV3hD
	 ALwNxeJhVP8IseHLUeBavCx2nDlIBS+6QPK2es9Cv0lAx1mMDvI6355e3Up78+af43
	 zihy4JiOhmYuVUVuRVok3UDgJJvKSToNfD0W9dR41O2J2rIhwj7PfGMUVz69mIbR/K
	 485dJqzY1sEgVldEzCORBEyHTvLDN6PURRDaIzg7wVhXo3qbRzVyA1cZdKlbyTxSdK
	 23gZM/n03p6CiIqihYR0WZAjKWMWKN9ps/dHFxWkvPMkv/naFIhK1AZilAj4x5/344
	 7HQIoF/VdAhQg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712925218; x=1713185718; i=teddy.astie@vates.tech;
	bh=lUyJPgNnx0SAin6hEtZWlv9ZWViQpLeT4NrclMLzQzg=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=v5RAGysVGmuL8VTxbmcnwseQXYj03PBP5oRqrmKWaryZTkAm7TlaVZvFvLBvfuRMu
	 gPpXqIToEDHmQreXKKX18fP9cMPVBvKWeeI+1rN6+dW3WEMRbM9ecnZd45rIfNLzhy
	 la0HWfHy8yt8IvLsfYxndUBqeJDfPoxP66+YwzVpIfyTeUAtUpppPm80p2UqovpBXy
	 7iT9rwoO0rnGBQ0yGscR+bv0JLerHAWr4jlTKaNXG8HaEa/QpjD7I95UvqBq0P4tFs
	 Tr5NFVLELnDZsyAuVdOZ2Ul6hCCLCbmHiyVx/tFyP4PUzamNT3CAWVoUprDRX7X7wG
	 2kkD9URb/MacQ==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v3=200/3]=20x86/iommu:=20Drop=20IOMMU=20support=20when=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712925216018
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <cover.1712915011.git.teddy.astie@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.3b07ce38dac04a7aa6620cfa04f75290?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 12:33:38 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
specifically crafted virtual machines).

Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
while cx16 isn't, those paths may be bugged and are barely tested, dead code
in practice.

Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
no-cx16 handling logic from VT-d and AMD-Vi drivers.

Teddy

Changed in v2:

 * Added cleanup no-cx16 code for x2APIC
 * Fixed commit and code formatting
 * Added missing Suggested-by note

Changed in v3:

 * Use -ENODEV instead of -ENOSYS.

Teddy Astie (3):
  VT-d: Disable IOMMU if cx16 isn't supported
  AMD-Vi: Disable IOMMU if cx16 isn't supported
  VT-d: Cleanup MAP_SINGLE_DEVICE and related code

 xen/arch/x86/apic.c                         |  6 ++
 xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
 xen/drivers/passthrough/vtd/intremap.c      | 65 ++++-----------
 xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
 xen/drivers/passthrough/vtd/vtd.h           |  5 +-
 6 files changed, 71 insertions(+), 145 deletions(-)

-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:33:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:33:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704624.1101102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvG6N-00011R-RA; Fri, 12 Apr 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 704624.1101102; Fri, 12 Apr 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 1rvG6N-00011K-Mg; Fri, 12 Apr 2024 12:33:55 +0000
Received: by outflank-mailman (input) for mailman id 704624;
 Fri, 12 Apr 2024 12:33: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=ydgI=LR=bounce.vates.tech=bounce-md_30504962.66192a2f.v1-40519c22ff8e4971910ac2379b6cc4b0@srs-se1.protection.inumbo.net>)
 id 1rvG6M-0000fM-CO
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:33:54 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebaaa7a5-f8c8-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 14:33:53 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VGGFq5Y4qz8XRqZq
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 12:33:51 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 40519c22ff8e4971910ac2379b6cc4b0; Fri, 12 Apr 2024 12:33:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebaaa7a5-f8c8-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712925231; x=1713185731;
	bh=mePi6MPmTeaXNjR8LJxMOlJEIopZB9AYIU9E5c7duO0=;
	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=aDJcyDOqfpwwM4sDxk0OgQ8juf+6qqIDRnYzluNh/N6lgD3hpzd/s24XZ+6rJTrLH
	 cUwHklOx/dn9UUVMWGzMLNGD42cZMaEZiONRxm1iGav7VOK5l7WsxGLrVwo2OYpnWo
	 mhqhVliYdhm1aTdXixVWwTLBuinc4Yn0v2SxbQOSlrhf/x/21bGQ8b2s8Om6v+vZ0P
	 h7WaEjtfEZUxLwW+IfERF/jgcYtTbnaeoL6CI+ovMbp0ZdUUX+TBKKS6ve6iw4VPKt
	 MVqz2Pt7JZMOl48dbOLdUzEr68vox5L5LEornrauqGmBLIZG/JAfezsQyxZg3n6KOo
	 1ja7uFwuJk+CA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712925231; x=1713185731; i=teddy.astie@vates.tech;
	bh=mePi6MPmTeaXNjR8LJxMOlJEIopZB9AYIU9E5c7duO0=;
	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=NO+i7lea1KvgumfzJth2THfYT2NXpvEiaOtoEttjeeUdGPHA2uWIHU9QScJ2cbprJ
	 FTMgDzdJJMqET+yadHrbJ9MiBNGCs8ZUaMsD3KkzXZqWn561gdLmEgYShBin4eCcEE
	 fiPHv6z2kfjauGd7LT8YDGWi7Wt5ayXK/Mz+ax+miyB5iCyK1PBl9r/Du6yILa1Sx8
	 K5MbFFUBAID5lMmcPQBgV7/uVraRP4Ry83HPwsKDKSd8YWQDfNAoOisj1zQZqOVXkb
	 cR2U2DJf0itteD5dD05HzPJZR9Bpxjuj8BEovdPDidMufmsFNCV3wSpearYjIGJ7xh
	 xUwwCzmGGxoEA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v3=201/3]=20VT-d:=20Disable=20IOMMU=20if=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712925230448
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <af44a89b8a8c5c2bf793c1af7c5a674160d76b1a.1712915011.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1712915011.git.teddy.astie@vates.tech>
References: <cover.1712915011.git.teddy.astie@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.40519c22ff8e4971910ac2379b6cc4b0?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 12:33:51 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

No hardware has VT-d support while not having cx16 support, disable IOMMU in
this case to avoid potentially buggy code.

Now that IOMMU is only enabled if cx16 is supported, drop dead code that
handles cases where cx16 isn't supported.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/arch/x86/apic.c                    |  6 ++
 xen/drivers/passthrough/vtd/intremap.c | 65 +++++----------------
 xen/drivers/passthrough/vtd/iommu.c    | 80 +++++++++-----------------
 3 files changed, 46 insertions(+), 105 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 592b78e11e..91d7f2b248 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -836,6 +836,12 @@ void __init x2apic_bsp_setup(void)
     if ( !cpu_has_x2apic )
         return;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk("x2APIC: CPU doesn't support CMPXCHG16B, disabling\n");
+        return;
+    }
+
     if ( !opt_x2apic )
     {
         if ( !x2apic_enabled )
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index c504852eb8..b0a0dbdbc2 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -173,47 +173,26 @@ bool __init cf_check intel_iommu_supports_eim(void)
  * Assume iremap_lock has been acquired. It is to make sure software will not
  * change the same IRTE behind us. With this assumption, if only high qword or
  * low qword in IRTE is to be updated, this function's atomic variant can
- * present an atomic update to VT-d hardware even when cmpxchg16b
- * instruction is not supported.
+ * present an atomic update to VT-d hardware.
  */
 static void update_irte(struct vtd_iommu *iommu, struct iremap_entry *entry,
                         const struct iremap_entry *new_ire, bool atomic)
 {
-    ASSERT(spin_is_locked(&iommu->intremap.lock));
-
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t ret;
-        struct iremap_entry old_ire;
+    __uint128_t ret;
+    struct iremap_entry old_ire;
 
-        old_ire = *entry;
-        ret = cmpxchg16b(entry, &old_ire, new_ire);
+    ASSERT(spin_is_locked(&iommu->intremap.lock));
+    
+    old_ire = *entry;
+    ret = cmpxchg16b(entry, &old_ire, new_ire);
 
-        /*
-         * In the above, we use cmpxchg16 to atomically update the 128-bit
-         * IRTE, and the hardware cannot update the IRTE behind us, so
-         * the return value of cmpxchg16 should be the same as old_ire.
-         * This ASSERT validate it.
-         */
-        ASSERT(ret == old_ire.val);
-    }
-    else
-    {
-        /*
-         * VT-d hardware doesn't update IRTEs behind us, nor the software
-         * since we hold iremap_lock. If the caller wants VT-d hardware to
-         * always see a consistent entry, but we can't meet it, a bug will
-         * be raised.
-         */
-        if ( entry->lo == new_ire->lo )
-            write_atomic(&entry->hi, new_ire->hi);
-        else if ( entry->hi == new_ire->hi )
-            write_atomic(&entry->lo, new_ire->lo);
-        else if ( !atomic )
-            *entry = *new_ire;
-        else
-            BUG();
-    }
+    /*
+     * In the above, we use cmpxchg16 to atomically update the 128-bit
+     * IRTE, and the hardware cannot update the IRTE behind us, so
+     * the return value of cmpxchg16 should be the same as old_ire.
+     * This ASSERT validate it.
+     */
+    ASSERT(ret == old_ire.val);
 }
 
 /* Mark specified intr remap entry as free */
@@ -395,7 +374,6 @@ static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
     /* Indicate remap format. */
     remap_rte->format = 1;
 
-    /* If cmpxchg16b is not available the caller must mask the IO-APIC pin. */
     update_irte(iommu, iremap_entry, &new_ire, !init && !masked);
     iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
     iommu_flush_iec_index(iommu, 0, index);
@@ -437,21 +415,6 @@ void cf_check io_apic_write_remap_rte(
     bool masked = true;
     int rc;
 
-    if ( !cpu_has_cx16 )
-    {
-       /*
-        * Cannot atomically update the IRTE entry: mask the IO-APIC pin to
-        * avoid interrupts seeing an inconsistent IRTE entry.
-        */
-        old_rte = __ioapic_read_entry(apic, pin, true);
-        if ( !old_rte.mask )
-        {
-            masked = false;
-            old_rte.mask = 1;
-            __ioapic_write_entry(apic, pin, true, old_rte);
-        }
-    }
-
     /* Not the initializer, for old gcc to cope. */
     new_rte.raw = rte;
 
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index c7110af7c9..ef9380ed6a 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1482,7 +1482,7 @@ int domain_context_mapping_one(
 {
     struct domain_iommu *hd = dom_iommu(domain);
     struct context_entry *context, *context_entries, lctxt;
-    __uint128_t old;
+    __uint128_t res, old;
     uint64_t maddr;
     uint16_t seg = iommu->drhd->segment, prev_did = 0;
     struct domain *prev_dom = NULL;
@@ -1580,55 +1580,23 @@ int domain_context_mapping_one(
         ASSERT(!context_fault_disable(lctxt));
     }
 
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t res = cmpxchg16b(context, &old, &lctxt.full);
+    res = cmpxchg16b(context, &old, &lctxt.full);
 
-        /*
-         * Hardware does not update the context entry behind our backs,
-         * so the return value should match "old".
-         */
-        if ( res != old )
-        {
-            if ( pdev )
-                check_cleanup_domid_map(domain, pdev, iommu);
-            printk(XENLOG_ERR
-                   "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
-                   &PCI_SBDF(seg, bus, devfn),
-                   (uint64_t)(res >> 64), (uint64_t)res,
-                   (uint64_t)(old >> 64), (uint64_t)old);
-            rc = -EILSEQ;
-            goto unlock;
-        }
-    }
-    else if ( !prev_dom || !(mode & MAP_WITH_RMRR) )
-    {
-        context_clear_present(*context);
-        iommu_sync_cache(context, sizeof(*context));
-
-        write_atomic(&context->hi, lctxt.hi);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->lo, lctxt.lo);
-    }
-    else /* Best effort, updating DID last. */
+    /*
+     * Hardware does not update the context entry behind our backs,
+     * so the return value should match "old".
+     */
+    if ( res != old )
     {
-         /*
-          * By non-atomically updating the context entry's DID field last,
-          * during a short window in time TLB entries with the old domain ID
-          * but the new page tables may be inserted.  This could affect I/O
-          * of other devices using this same (old) domain ID.  Such updating
-          * therefore is not a problem if this was the only device associated
-          * with the old domain ID.  Diverting I/O of any of a dying domain's
-          * devices to the quarantine page tables is intended anyway.
-          */
-        if ( !(mode & (MAP_OWNER_DYING | MAP_SINGLE_DEVICE)) )
-            printk(XENLOG_WARNING VTDPREFIX
-                   " %pp: reassignment may cause %pd data corruption\n",
-                   &PCI_SBDF(seg, bus, devfn), prev_dom);
-
-        write_atomic(&context->lo, lctxt.lo);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->hi, lctxt.hi);
+        if ( pdev )
+            check_cleanup_domid_map(domain, pdev, iommu);
+        printk(XENLOG_ERR
+                "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
+                &PCI_SBDF(seg, bus, devfn),
+                (uint64_t)(res >> 64), (uint64_t)res,
+                (uint64_t)(old >> 64), (uint64_t)old);
+        rc = -EILSEQ;
+        goto unlock;
     }
 
     iommu_sync_cache(context, sizeof(struct context_entry));
@@ -2630,6 +2598,15 @@ static int __init cf_check vtd_setup(void)
     int ret;
     bool reg_inval_supported = true;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk(XENLOG_ERR VTDPREFIX
+               "IOMMU: CPU doesn't support CMPXCHG16B, disabling\n");
+
+        ret = -ENODEV;
+        goto error;
+    }
+
     if ( list_empty(&acpi_drhd_units) )
     {
         ret = -ENODEV;
@@ -2692,12 +2669,7 @@ static int __init cf_check vtd_setup(void)
             iommu_intremap = iommu_intremap_off;
 
 #ifndef iommu_intpost
-        /*
-         * We cannot use posted interrupt if X86_FEATURE_CX16 is
-         * not supported, since we count on this feature to
-         * atomically update 16-byte IRTE in posted format.
-         */
-        if ( !cap_intr_post(iommu->cap) || !iommu_intremap || !cpu_has_cx16 )
+        if ( !cap_intr_post(iommu->cap) || !iommu_intremap )
             iommu_intpost = false;
 #endif
 
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:34:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704625.1101112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvG6S-0001Mk-70; Fri, 12 Apr 2024 12:34:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704625.1101112; Fri, 12 Apr 2024 12:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvG6S-0001Mb-4F; Fri, 12 Apr 2024 12:34:00 +0000
Received: by outflank-mailman (input) for mailman id 704625;
 Fri, 12 Apr 2024 12: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=w6Y+=LR=bounce.vates.tech=bounce-md_30504962.66192a35.v1-82de3dd6d8ef4c49b3ea33e9723b2d06@srs-se1.protection.inumbo.net>)
 id 1rvG6Q-0000fM-PI
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:33:58 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee74e3b4-f8c8-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 14:33:58 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VGGFx0QRMz8XRrnB
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 12:33:57 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 82de3dd6d8ef4c49b3ea33e9723b2d06; Fri, 12 Apr 2024 12: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>
X-Inumbo-ID: ee74e3b4-f8c8-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712925237; x=1713185737;
	bh=9ykuAdbMKy74rZD6sLaRZCYwlByVWGFeq5PPj63HahY=;
	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=ITM/LjJr0K9tk830oAu3h18fj6J+i3TjZOs4MIN9kleT/moD/BJ2LkIGkT7+DgBmK
	 mX3yUZThvFQhNmIpmSwaDnAs+f2rd2NZ3wW8eXmmNcRDVQndR7jRskZrO7w6EbSo8z
	 h+ERPa6w0Ld6ZcSslQyZn7wOME18OzU7smlf1Kcd6jzKrM0NxnNA3bEXYEZ0LCkCae
	 eGu2R6Qp8DsHJyYmpAMXX4szbxrp//A0gl0HTYgm2BpRZGCH/x/6SqA9ol2u0DLdBU
	 xT59gZj2RAiMl6P+OQxukjGtMJphmzzDU3vU2AjxaessAS1XX4AYfXWaF0siF2MwID
	 dnFRVHQnZMrvA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712925237; x=1713185737; i=teddy.astie@vates.tech;
	bh=9ykuAdbMKy74rZD6sLaRZCYwlByVWGFeq5PPj63HahY=;
	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=Venni2eWYrmoL5ckwa+oZNXCJpBpv5KL/baHE/ZyFFonzRY13/pfp7XXFIM+fnu5R
	 yGWJUA/H4wQei47JlRc8kTCYx6ecd+PaFvY9pK6C6eEpRQWHh9KOeELm7HSFVAXUwj
	 XJ0Q0KKFQX2rzTgRQ/flal/mXUSdIf3hsMWRj9WouDL6Ym+u63bpmWgANL5R5cC0U1
	 1Yjziq1kIZx9N6nhub6kBnRI81TcCX5jiSPpTZpc6hUQyjvVouwgsPrG0ublDmWpph
	 rO9htNGOFOECqZpmLLX/IFYpFhccYwmMCOM7GG32mvjdOg8Cmpclt4t6T/HwRoYfBY
	 CB8YdCaqU9LLw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v3=202/3]=20AMD-Vi:=20Disable=20IOMMU=20if=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712925233452
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <d669d8237d61bbb3f09f846ab9b065be84cab125.1712915011.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1712915011.git.teddy.astie@vates.tech>
References: <cover.1712915011.git.teddy.astie@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.82de3dd6d8ef4c49b3ea33e9723b2d06?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 12:33:57 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

No hardware has AMD-Vi support while not having cx16 support, disable IOMMU
in this case to avoid potentially buggy code.

Now that IOMMU is only enabled if cx16 is supported, drop dead code that
handles cases where cx16 isn't supported.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/amd/iommu_map.c     | 42 +++++++--------------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 +++
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index e0f4fe736a..f67975e700 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -167,15 +167,14 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
 {
     bool valid = flags & SET_ROOT_VALID;
 
-    if ( dte->v && dte->tv &&
-         (cpu_has_cx16 || (flags & SET_ROOT_WITH_UNITY_MAP)) )
+    if ( dte->v && dte->tv )
     {
         union {
             struct amd_iommu_dte dte;
             uint64_t raw64[4];
             __uint128_t raw128[2];
         } ldte = { .dte = *dte };
-        __uint128_t old = ldte.raw128[0];
+        __uint128_t res, old = ldte.raw128[0];
         int ret = 0;
 
         ldte.dte.domain_id = domain_id;
@@ -185,33 +184,20 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
         ldte.dte.paging_mode = paging_mode;
         ldte.dte.v = valid;
 
-        if ( cpu_has_cx16 )
-        {
-            __uint128_t res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
+        res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
 
-            /*
-             * Hardware does not update the DTE behind our backs, so the
-             * return value should match "old".
-             */
-            if ( res != old )
-            {
-                printk(XENLOG_ERR
-                       "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
-                       domain_id,
-                       (uint64_t)(res >> 64), (uint64_t)res,
-                       (uint64_t)(old >> 64), (uint64_t)old);
-                ret = -EILSEQ;
-            }
-        }
-        else /* Best effort, updating domain_id last. */
+        /*
+         * Hardware does not update the DTE behind our backs, so the
+         * return value should match "old".
+         */
+        if ( res != old )
         {
-            uint64_t *ptr = (void *)dte;
-
-            write_atomic(ptr + 0, ldte.raw64[0]);
-            /* No barrier should be needed between these two. */
-            write_atomic(ptr + 1, ldte.raw64[1]);
-
-            ret = 1;
+            printk(XENLOG_ERR
+                   "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
+                   domain_id,
+                   (uint64_t)(res >> 64), (uint64_t)res,
+                   (uint64_t)(old >> 64), (uint64_t)old);
+            ret = -EILSEQ;
         }
 
         return ret;
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index f6efd88e36..a213dbea0b 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -312,6 +312,12 @@ static int __init cf_check iov_detect(void)
         return -ENODEV;
     }
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk("AMD-Vi: CPU doesn't support CMPXCHG16B, disabling\n");
+        return -ENODEV;
+    }
+
     init_done = 1;
 
     if ( !amd_iommu_perdev_intremap )
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:34:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704626.1101122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvG6V-0001e7-DI; Fri, 12 Apr 2024 12:34:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704626.1101122; Fri, 12 Apr 2024 12:34:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvG6V-0001dv-A9; Fri, 12 Apr 2024 12:34:03 +0000
Received: by outflank-mailman (input) for mailman id 704626;
 Fri, 12 Apr 2024 12:34:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3O8t=LR=bounce.vates.tech=bounce-md_30504962.66192a36.v1-7f450573211144e0aec62194d55493a9@srs-se1.protection.inumbo.net>)
 id 1rvG6U-0001cV-45
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:34:02 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef6bb7f3-f8c8-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 14:33:59 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VGGFy4x2RzDRHxKP
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 12:33:58 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 7f450573211144e0aec62194d55493a9; Fri, 12 Apr 2024 12:33:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef6bb7f3-f8c8-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712925238; x=1713185738;
	bh=jU9EIjA+Qc+4GFuonLz2lNzv0PHDDy6bVljleTMmQTg=;
	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=nc8xqp/35GetuhBJQJjPLkLi5tZMDM5mTqP/1CBTduxPpxHIlJjnNlY1rNjvqWciG
	 bBhx1yX6noYaZBoUegxslF3VJAS55GONBjiNIjzY5f0CGRQj8KFBjm2iECXP037DWx
	 Q/1NozbBaxJYbF80rDfF3bxmigkeXMuwZaHvkf5GWulJ+k85X6CycjqKqjM1IDN4OE
	 RxaGvbOGAcs1RxaCl7V9kuMi/61xJS0H/Uz4autL/xE6ydPvIcrzfMC37gZ0ESnYyL
	 n3slKQcSrpqxxkx9YSsblx4G6aSWWRA33AUqBozXV6AIajxtP3QJJayGoDB/558Lke
	 J2chHzpDf9QCg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712925238; x=1713185738; i=teddy.astie@vates.tech;
	bh=jU9EIjA+Qc+4GFuonLz2lNzv0PHDDy6bVljleTMmQTg=;
	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=w9XJtm9zyllT/y7qrGykkrvF7yakOvKued0Su6x2MT/S38R5WB+YX+PMsD7iu+/q/
	 xNcHSh2KglsUpe09TJPy3F0baHQ0llhaSuq4UjBkz4E0Kx0Bnky89HdQkaNE4+JEnC
	 sctCXNfTrH5vJBxh/OLH4gN4wAvoXI6YkgcA15auPz8y6CH7IE+tKwNmTk3N2wJ0H9
	 1CU1KiES9YRD44bofE++1Jp8KuYvbSzN9tVr4v5nE+DzygF68dpXOIL5uG6V4RIOma
	 RUVIWQ2b7SRF/UWdsP83YMMaYUqzwZFvRCflqnpoNNmAFn1zM926nhCsOaSGOPy4JU
	 M6LKXNXR5J1EA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v3=203/3]=20VT-d:=20Cleanup=20MAP=5FSINGLE=5FDEVICE=20and=20related=20code?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712925235934
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <71875378aca7cbd6a03655c48a741060ff20cf2a.1712915011.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1712915011.git.teddy.astie@vates.tech>
References: <cover.1712915011.git.teddy.astie@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.7f450573211144e0aec62194d55493a9?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 12:33:58 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This flag was only used in case cx16 is not available, as those code paths no
longer exist, this flag now does basically nothing.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/iommu.c | 12 +++---------
 xen/drivers/passthrough/vtd/vtd.h   |  5 ++---
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index ef9380ed6a..a1bd3c5ff6 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1692,15 +1692,9 @@ static int domain_context_mapping(struct domain *domain, u8 devfn,
         break;
     }
 
-    if ( domain != pdev->domain && pdev->domain != dom_io )
-    {
-        if ( pdev->domain->is_dying )
-            mode |= MAP_OWNER_DYING;
-        else if ( drhd &&
-                  !any_pdev_behind_iommu(pdev->domain, pdev, drhd->iommu) &&
-                  !pdev->phantom_stride )
-            mode |= MAP_SINGLE_DEVICE;
-    }
+    if ( domain != pdev->domain && pdev->domain != dom_io &&
+         pdev->domain->is_dying )
+        mode |= MAP_OWNER_DYING;
 
     switch ( pdev->type )
     {
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index cb2df76eed..43f06a353d 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -28,9 +28,8 @@
  */
 #define MAP_WITH_RMRR         (1u << 0)
 #define MAP_OWNER_DYING       (1u << 1)
-#define MAP_SINGLE_DEVICE     (1u << 2)
-#define MAP_ERROR_RECOVERY    (1u << 3)
-#define UNMAP_ME_PHANTOM_FUNC (1u << 4)
+#define MAP_ERROR_RECOVERY    (1u << 2)
+#define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
 /* Allow for both IOAPIC and IOSAPIC. */
 #define IO_xAPIC_route_entry IO_APIC_route_entry
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:52:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:52:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704650.1101138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvGNx-0000CS-TU; Fri, 12 Apr 2024 12:52:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704650.1101138; Fri, 12 Apr 2024 12:52:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvGNx-0000CL-QP; Fri, 12 Apr 2024 12:52:05 +0000
Received: by outflank-mailman (input) for mailman id 704650;
 Fri, 12 Apr 2024 12:52: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=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvGNw-0000C1-2l
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:52:04 +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 740eaab4-f8cb-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 14:52:02 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712926314440655.2505186263855;
 Fri, 12 Apr 2024 05:51: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: 740eaab4-f8cb-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712926317; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=AIv/Fwl7Jo3kVmrQmBDDCTYJ31uodVU3F0u8ugiYxlJ0H05MFZmMBTS3xiovILvXkwl/UoKuHSOOO+tL9u2UEEzOCG5DF/fMFrfS3A37IhPCKX4enPwiaTYmNRpcaFqBEj0CxTF0wSlNinc3YABCPrpqCOSHGHiRxT7aGQdwxvQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712926317; 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=IFbn5vx+VtKB35i6ZFpTmolCBqnuDPLwPVFZV+7Jzfc=; 
	b=dhR6gjT9U6ci3F2WyXX8T00ZxWt0RY1C8UaBU0kEEy4zAlkHDxrhWR9nmTfalaKfN6ibaPoz7H7kDeRZ49vbnAoD7ZRd1sl1LeWFHocbnUEyXydgp2xRxxD0UFsYvPP8OjN4lxEpw91I2v9A/QOMHJPhqgU+ddNwsEzpBhTIngE=
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=1712926317;
	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=IFbn5vx+VtKB35i6ZFpTmolCBqnuDPLwPVFZV+7Jzfc=;
	b=u2S0a0bMAAK6Zqif/VSQFHL+1dS5zm3Ns6D73VDkAVxDgNu3HSusUSCie7AwdDpq
	hCbeUtmlnaUsDlTKgg7U8q8XFdYS0dWC6XzxwWO6SFsRrKBOKEw/MnLPokNvB5sf+dw
	vdT7P3ShcxHg5e2xC0uPpr95A/OcwaH+fWfwYqRw=
Message-ID: <8551e410-332d-4e74-91b8-677bba38f90c@apertussolutions.com>
Date: Fri, 12 Apr 2024 08:51:52 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <c03b4f1e-f2c9-4f92-a369-b8afad56bc0b@apertussolutions.com>
 <9a5112a3-26fe-49a8-93ed-cd8c9610576c@apertussolutions.com>
 <5e63a5b7-d62f-443c-9755-66dbc70fee98@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: <5e63a5b7-d62f-443c-9755-66dbc70fee98@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/12/24 08:18, Andrew Cooper wrote:
> On 12/04/2024 12:41 pm, Daniel P. Smith wrote:
>> On 4/12/24 07:34, Daniel P. Smith wrote:
>>> On 4/11/24 15:24, Andrew Cooper wrote:
>>>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>>>> index 1bcb007395ba..9b4891731b8b 100644
>>>>> --- a/xen/common/gzip/gunzip.c
>>>>> +++ b/xen/common/gzip/gunzip.c
>>>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned
>>>>> long image_len)
>>>>>    __init int perform_gunzip(char *output, char *image, unsigned
>>>>> long image_len)
>>>>>    {
>>>>> +    struct gzip_data gd;
>>>>>        int rc;
>>>>
>>>> By the end of this series,
>>>>
>>>> Reading symbols from xen-syms...
>>>> (gdb) p sizeof(struct gzip_data)
>>>> $1 = 2120
>>>>
>>>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
>>>> dynamically allocated, even in inflate.c, so I'd highly recommend doing
>>>> the same for this.
>>>
>>> I take it you are mainly talking about crc_32_tab? Yes, I can switch
>>> that to being dynamically allocated.
>>
>> Never mind, reading your comment on patch4 made me realize you wanted
>> the instance of struct dynamically allocated. Though the answer is
>> still, yes, we can dynamically allocate it.
> 
> I wrote this before realising that crc_32_tag could be shrunk.
> 
> If it's only1k on the stack, then that's a whole lot less bad, and is
> perhaps ok.  I guess it depends on the stack size of the other
> architectures.
> 
> Still - I expect dynamically allocating would be a safer course of
> action.  Internal blocks are dynamically allocated already, so this is
> "just" one more.

Another course of action that could be considered is making a unit file 
global instance of the struct, and then memset() it to zero instead of 
allocating and freeing from heap. The global instance should be able to 
be made init_data and dropped after init was complete.

I am good with either way, just let me know which would be preferred and 
I will adjust appropriately.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 12:53:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 12:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704652.1101148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvGP6-0000jj-5K; Fri, 12 Apr 2024 12:53:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704652.1101148; Fri, 12 Apr 2024 12: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 1rvGP6-0000jc-2j; Fri, 12 Apr 2024 12:53:16 +0000
Received: by outflank-mailman (input) for mailman id 704652;
 Fri, 12 Apr 2024 12:53: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=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvGP4-0000jO-8x
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 12:53:14 +0000
Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com
 [2607:f8b0:4864:20::72a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f2771e8-f8cb-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 14:53:13 +0200 (CEST)
Received: by mail-qk1-x72a.google.com with SMTP id
 af79cd13be357-78a2a97c296so46887185a.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 05:53:13 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l9-20020a05620a210900b0078eccaec580sm808044qkl.81.2024.04.12.05.53.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 05:53: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: 9f2771e8-f8cb-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712926392; x=1713531192; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Gelp3xPVtXUQtNlYB4R2qcaxabLNfvpVO7O7GhYjQIo=;
        b=IEAtbaklstflilU0UBvaaN2f88tI+AzwTxvw+dsXPUPQIJ6UhCMR2y5IYfyCj83eTO
         lB82r5gLYRTWxmuhW4RYWfvGnxFIj7yip//CVFCm+n8SmXM/6qgLz3v0feGGziV5eDvI
         /pS/bv0E9gkcoXv8gYyGcJKDj0TD5eF6NlEJA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712926392; x=1713531192;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Gelp3xPVtXUQtNlYB4R2qcaxabLNfvpVO7O7GhYjQIo=;
        b=XzdxY1UI1as2R5mYy2zyZB7Aj8ZKw26pgmwaOLolHv4D7AxcWa2hG+/AwO8OLTh57G
         Nj4QJvldAxQvoQaztnpT5Z7HwVIf1z4Aj6/dPL4pLzyQ34E8PCCJimN/CuB9By3nklpa
         5z1RT46vZ0leRwrNcByfTAlAdU06jb0P44yfQVNW/RmNlHPLGFG7crHUw4J17wPVCbsz
         uOmRvDVUL86/FRshogv1mBYZBrKryD+YSX9uIf/Dc3A/HPfcdce8YMqlXEuRg83elUnN
         pKjcNHrkvGbW3bHOcyh7HAL6nGBnC6Z8x5P5cy/MpmUgv+ScaKnu7f/JfSdAGPOnPtvf
         b5rw==
X-Forwarded-Encrypted: i=1; AJvYcCVMSXhea2vvjYBBsh0Yl2XX1mZAnjLW1r8NJIF1+6shdrJgwF49v9ukZKwgJIqKk+OBAZZy8cPONh3nzzGiwbTVMF8SPucv3ch4fGlAUEc=
X-Gm-Message-State: AOJu0YyO//z3tLGfP6vAb6z/dwzWOWSjd06KGKUZYxNS0rYAIa4pLwen
	Y5/Bqkd75sIl4hoNmyFuHo9VLwi2AQX5ysMsi7kqmaTf/92xAr88QLd4xTlxG4g=
X-Google-Smtp-Source: AGHT+IG38Xou+6KUO5MnVN/lIdL+vQEz1dg5ubUPjWsxXgGc9Mv7v6OPb7BxErISOQVBkxEmU2XibQ==
X-Received: by 2002:a05:620a:5744:b0:78e:c2ac:3d9d with SMTP id wj4-20020a05620a574400b0078ec2ac3d9dmr3026713qkn.8.1712926392211;
        Fri, 12 Apr 2024 05:53:12 -0700 (PDT)
Message-ID: <7a28a0ac-07a2-42d9-9872-ebc27d751bd9@citrix.com>
Date: Fri, 12 Apr 2024 13:53:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <c03b4f1e-f2c9-4f92-a369-b8afad56bc0b@apertussolutions.com>
 <9a5112a3-26fe-49a8-93ed-cd8c9610576c@apertussolutions.com>
 <5e63a5b7-d62f-443c-9755-66dbc70fee98@citrix.com>
 <8551e410-332d-4e74-91b8-677bba38f90c@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: <8551e410-332d-4e74-91b8-677bba38f90c@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 1:51 pm, Daniel P. Smith wrote:
> On 4/12/24 08:18, Andrew Cooper wrote:
>> On 12/04/2024 12:41 pm, Daniel P. Smith wrote:
>>> On 4/12/24 07:34, Daniel P. Smith wrote:
>>>> On 4/11/24 15:24, Andrew Cooper wrote:
>>>>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>>>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>>>>> index 1bcb007395ba..9b4891731b8b 100644
>>>>>> --- a/xen/common/gzip/gunzip.c
>>>>>> +++ b/xen/common/gzip/gunzip.c
>>>>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned
>>>>>> long image_len)
>>>>>>    __init int perform_gunzip(char *output, char *image, unsigned
>>>>>> long image_len)
>>>>>>    {
>>>>>> +    struct gzip_data gd;
>>>>>>        int rc;
>>>>>
>>>>> By the end of this series,
>>>>>
>>>>> Reading symbols from xen-syms...
>>>>> (gdb) p sizeof(struct gzip_data)
>>>>> $1 = 2120
>>>>>
>>>>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state
>>>>> are
>>>>> dynamically allocated, even in inflate.c, so I'd highly recommend
>>>>> doing
>>>>> the same for this.
>>>>
>>>> I take it you are mainly talking about crc_32_tab? Yes, I can switch
>>>> that to being dynamically allocated.
>>>
>>> Never mind, reading your comment on patch4 made me realize you wanted
>>> the instance of struct dynamically allocated. Though the answer is
>>> still, yes, we can dynamically allocate it.
>>
>> I wrote this before realising that crc_32_tag could be shrunk.
>>
>> If it's only1k on the stack, then that's a whole lot less bad, and is
>> perhaps ok.  I guess it depends on the stack size of the other
>> architectures.
>>
>> Still - I expect dynamically allocating would be a safer course of
>> action.  Internal blocks are dynamically allocated already, so this is
>> "just" one more.
>
> Another course of action that could be considered is making a unit
> file global instance of the struct, and then memset() it to zero
> instead of allocating and freeing from heap. The global instance
> should be able to be made init_data and dropped after init was complete.
>
> I am good with either way, just let me know which would be preferred
> and I will adjust appropriately.

Other things inside gzunip() are dynamically allocated.  I'd keep this
consistent with the others.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 13:11:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 13:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704667.1101157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvGgi-0006qU-MR; Fri, 12 Apr 2024 13:11:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704667.1101157; Fri, 12 Apr 2024 13: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 1rvGgi-0006qN-JQ; Fri, 12 Apr 2024 13:11:28 +0000
Received: by outflank-mailman (input) for mailman id 704667;
 Fri, 12 Apr 2024 13: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=sUrc=LR=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rvGgh-0006qH-Go
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 13:11:27 +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 293025d0-f8ce-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 15:11:24 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1712927477349578.7052116436201;
 Fri, 12 Apr 2024 06:11: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: 293025d0-f8ce-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1712927479; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ckGdccv9H6YRNv8IRlx5U1rOd1uYDmzixixCUZeLT+j8YjxFOdutNiVvzbh64gjKuxuLq9URN5Gd2rqtikYzgs39Wr/M6WQ0OOA8oIcZntfmyrqFMYcxvvjvthAQBMJzBCr0ZNEefuoyz8+o9jWNz8DuN1Z5kv0SkjbTcsvV9Og=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1712927479; 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=D8LDroXoeKTAwey/qNemToMasADUwp3bpi+P0Z8aJOs=; 
	b=AkFcqhxzkAMX51TVpBhmhLVR4ppK2WZPjiGN9mgsdeM9suLIWB5BL1vBLeDBOWBUkC68YMic3+mObXpJNUYBacrNIEtg81gSlejpNCgWM7bO7HlgaDBwjd128CKukwG55JWgCYe/cfZfLjiJ7widZyr3CmZFTIxh+sNlxmeEC+Q=
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=1712927479;
	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=D8LDroXoeKTAwey/qNemToMasADUwp3bpi+P0Z8aJOs=;
	b=mfSUos6zW7zfS4Fb0t6oGNDfgL+i5t2XyE+sBwu0D8wDHnZ/fXgAnID2FWRa4z2p
	ADP279wVsOrnfA860p9A1zFKwVr2n/ZTcVFASI1keH2kSzQ7eodWld+s2vulW5vPtzu
	Y/qzI/ZRPoWCgiIivGrPMKRuEYgutab3Ci/psVJQ=
Message-ID: <7da2b3cd-a9a3-4264-81ef-a363a507d6b6@apertussolutions.com>
Date: Fri, 12 Apr 2024 09:11:15 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <c03b4f1e-f2c9-4f92-a369-b8afad56bc0b@apertussolutions.com>
 <9a5112a3-26fe-49a8-93ed-cd8c9610576c@apertussolutions.com>
 <5e63a5b7-d62f-443c-9755-66dbc70fee98@citrix.com>
 <8551e410-332d-4e74-91b8-677bba38f90c@apertussolutions.com>
 <7a28a0ac-07a2-42d9-9872-ebc27d751bd9@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: <7a28a0ac-07a2-42d9-9872-ebc27d751bd9@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/12/24 08:53, Andrew Cooper wrote:
> On 12/04/2024 1:51 pm, Daniel P. Smith wrote:
>> On 4/12/24 08:18, Andrew Cooper wrote:
>>> On 12/04/2024 12:41 pm, Daniel P. Smith wrote:
>>>> On 4/12/24 07:34, Daniel P. Smith wrote:
>>>>> On 4/11/24 15:24, Andrew Cooper wrote:
>>>>>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>>>>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>>>>>> index 1bcb007395ba..9b4891731b8b 100644
>>>>>>> --- a/xen/common/gzip/gunzip.c
>>>>>>> +++ b/xen/common/gzip/gunzip.c
>>>>>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned
>>>>>>> long image_len)
>>>>>>>     __init int perform_gunzip(char *output, char *image, unsigned
>>>>>>> long image_len)
>>>>>>>     {
>>>>>>> +    struct gzip_data gd;
>>>>>>>         int rc;
>>>>>>
>>>>>> By the end of this series,
>>>>>>
>>>>>> Reading symbols from xen-syms...
>>>>>> (gdb) p sizeof(struct gzip_data)
>>>>>> $1 = 2120
>>>>>>
>>>>>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state
>>>>>> are
>>>>>> dynamically allocated, even in inflate.c, so I'd highly recommend
>>>>>> doing
>>>>>> the same for this.
>>>>>
>>>>> I take it you are mainly talking about crc_32_tab? Yes, I can switch
>>>>> that to being dynamically allocated.
>>>>
>>>> Never mind, reading your comment on patch4 made me realize you wanted
>>>> the instance of struct dynamically allocated. Though the answer is
>>>> still, yes, we can dynamically allocate it.
>>>
>>> I wrote this before realising that crc_32_tag could be shrunk.
>>>
>>> If it's only1k on the stack, then that's a whole lot less bad, and is
>>> perhaps ok.  I guess it depends on the stack size of the other
>>> architectures.
>>>
>>> Still - I expect dynamically allocating would be a safer course of
>>> action.  Internal blocks are dynamically allocated already, so this is
>>> "just" one more.
>>
>> Another course of action that could be considered is making a unit
>> file global instance of the struct, and then memset() it to zero
>> instead of allocating and freeing from heap. The global instance
>> should be able to be made init_data and dropped after init was complete.
>>
>> I am good with either way, just let me know which would be preferred
>> and I will adjust appropriately.
> 
> Other things inside gzunip() are dynamically allocated.  I'd keep this
> consistent with the others.

Ack.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 13:43:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 13:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704691.1101180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHBC-0001AK-6r; Fri, 12 Apr 2024 13:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704691.1101180; Fri, 12 Apr 2024 13:42:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHBC-0001AD-3D; Fri, 12 Apr 2024 13:42:58 +0000
Received: by outflank-mailman (input) for mailman id 704691;
 Fri, 12 Apr 2024 13:42: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=4bSQ=LR=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rvHBB-0001A7-D1
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 13:42:57 +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 90e7061f-f8d2-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 15:42:55 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a46a7208eedso127604566b.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 06:42:55 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 qw17-20020a1709066a1100b00a473774b027sm1833441ejc.207.2024.04.12.06.42.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Apr 2024 06:42: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: 90e7061f-f8d2-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712929375; x=1713534175; 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=By21CEWtFT/wAwrM7ikQtggbqmLvFpec804cg63Xlkw=;
        b=AWSFJeiNpi4hWITYsNeUyyK6iBBKTsoqMQF/LZKjbysQPn07ypPYEBAZbDYHLoBa1b
         AylOpw0fJTnUSc20kVkON4ehgZubUvwcmEl77Rh968WeeR8BhVhtHFrqXqsFRd3nLYAY
         65YW5S0WGgEUC/NsA6nmKqqZZ0le75VqhljC42T1C85Cam7irUkOguFqyOFTiEHecDqu
         2Dpc8eTqsyzYZuu8hee+tsYYzTWlql1VgN/MwZfbvNjcjwVPnx+e7e7L4XJUO7NN72qI
         5jqJDpPR9KFz5xERS1gvs6YxD4frl2U8mP7virc3FzYZ+Ub4AIcBLpLyqdNKJUJXikY+
         37Xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712929375; x=1713534175;
        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=By21CEWtFT/wAwrM7ikQtggbqmLvFpec804cg63Xlkw=;
        b=AEfx7g6z7GG3f9CMWzhuzzK/qY6uXVj9ZUnKVO/RU2osZmVs6iURTF4U1nKIyS2iaI
         VdYR6gQ2g7WOnd+jOI/IVLKVbQ+FPNT6XqyHFFvdYmFCvBisLQ7HutIJ35gW3UvUmoHg
         0JxvpIYa4lqnjpzBpuwjveVGhMyF7590VZvicpt5JoNqdV43VY/OSYR2t7fpks4l4mEk
         RfZtITxLHh6xxvXdLcThNbhlcZyqJWoxr8ZIDYiZN+Pg95vyb1tT5Wgf3OSfKENiWWtk
         bcZocfe1egzcpaxoysaEI0eSnZbQDwC0liV5iBc+kvBnlNNwS4G4vo3esPfvXzj2qpvq
         a+AQ==
X-Forwarded-Encrypted: i=1; AJvYcCWeWwV4EXIbUxJ6lprAMhvk4S8cO4FisIboDGYboWNQOF120rU/pClVRkzkilpqGwfgD+1If93Urja71Oha5E/zYUB7xoZGBoE2Ui48EnY=
X-Gm-Message-State: AOJu0YyjjHqMoEsjGC4d9VAPit4kPEuEH+WdQI4zT4o2ldNgtWdZS9qN
	WZGcxQ7CY45YRomfp9w0n9XC7URAQjWC6P5WGeXF/X6CAQA5Q9J6
X-Google-Smtp-Source: AGHT+IHLBgR4H8i9oKxPpQ5zHYQuqoG5f/p4DhaH2FZrpDqh64QECWxmfaAd6JtKiCn0zc1Or1vIHg==
X-Received: by 2002:a17:906:2b0e:b0:a51:9f51:4af5 with SMTP id a14-20020a1709062b0e00b00a519f514af5mr1569675ejg.45.1712929374597;
        Fri, 12 Apr 2024 06:42:54 -0700 (PDT)
Message-ID: <42b4141bb6e5b314030d106f7e563bef57e35742.camel@gmail.com>
Subject: Re: [PATCH v7 10/19] xen/riscv: introduce atomic.h
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Fri, 12 Apr 2024 15:42:53 +0200
In-Reply-To: <d9b571b02580e264a4a61e7035a82315fe15838d.camel@gmail.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
	 <6a6c4ef8663d9da8c8a2aba4baf0286f31566edf.1712137031.git.oleksii.kurochko@gmail.com>
	 <3c939faa-98a5-4424-b405-b5c7c6c1c0b2@suse.com>
	 <d9b571b02580e264a4a61e7035a82315fe15838d.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Fri, 2024-04-12 at 12:39 +0200, Oleksii wrote:
> On Mon, 2024-04-08 at 10:23 +0200, Jan Beulich wrote:
> > > +static always_inline void _add_sized(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=
 unsigned long x, unsigned
> > > int
> > > size)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 switch ( size )
> > > +=C2=A0=C2=A0=C2=A0 {
> > > +=C2=A0=C2=A0=C2=A0 case 1: writeb(read_atomic((volatile uint8_t *)p)=
 + x, p);
> > > break;
> > > +=C2=A0=C2=A0=C2=A0 case 2: writew(read_atomic((volatile uint16_t *)p=
) + x, p);
> > > break;
> > > +=C2=A0=C2=A0=C2=A0 case 4: writel(read_atomic((volatile uint32_t *)p=
) + x, p);
> > > break;
> > > +#ifndef CONFIG_RISCV_32
> > > +=C2=A0=C2=A0=C2=A0 case 8: writeq(read_atomic((volatile uint64_t *)p=
) + x, p);
> > > break;
> > > +#endif
> >=20
> > Any particular reason for using read_atomic() but write{b,w,l,q}()
> > here?
> It was done because write_atomic() wants to have pointer as a first
> argument, but read_atomic() returns a value.
>=20
> As an option it can be used read{b,w,l,q}() instead of read_atomic()
> to
> have the code consistent with write{b,w,l,q}.
>=20
> Another option is to left as is and add the comment.
I decided to write it using write_atomic() in the next way:

    case 1:
    {
        uint8_t *t =3D (volatile uint8_t)p;
        write_atomic(t, read_atomic(t) + x);
        break;
    }
...

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 13:54:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 13:54:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704696.1101190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHM2-00055T-5w; Fri, 12 Apr 2024 13:54:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704696.1101190; Fri, 12 Apr 2024 13:54:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHM2-00055M-3U; Fri, 12 Apr 2024 13:54:10 +0000
Received: by outflank-mailman (input) for mailman id 704696;
 Fri, 12 Apr 2024 13:54:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fc9m=LR=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1rvHM0-00053e-CL
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 13:54:08 +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 2031193a-f8d4-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 15:54:05 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-417d029bf15so6288545e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 06:54: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: 2031193a-f8d4-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712930045; x=1713534845; 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=PtP52yyyBufQM5XbT/oUQOyMrb0Qg4dNHVJnd/TuKJE=;
        b=k29frupQiYL6MJeyikhMbkhFwbIlU6ID3q1yZL4gQSiEaqUPEIv9QkXECJZS+gKmrJ
         kPXMKOIfeK/jcbLaPH7f55XF1uwUgHrzrFM7jEeCAuT34/2w3JIQMOSK6Bgyza+Pb48M
         qFUMidHwWT9kwvF1gIorBCOdQpzi1DM0n+S1gkFJM/uWD2hOIk6w4Uf6EOSUqyrwMwdA
         bsQsX9hUCNG4ke/YSDaUAM/N9lA8YZaS9BLHDhjHPIlNIwGGhG8tvPbPy2mO2A2sSx4G
         0VEsynFf2euXiHREKubxYuqdduD3MLK6slMney81f0i/wxV6hG7IGubsWOfarRvRJA4C
         UnWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712930045; x=1713534845;
        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=PtP52yyyBufQM5XbT/oUQOyMrb0Qg4dNHVJnd/TuKJE=;
        b=AZBXbvFsU2WpyqXycIFtCquLjr0oUxk1rvhxTZPC6W16h4zoCI1P5YrEXTccWC7n3G
         OmHfvnyC/w08KllVX2zj35/hNDoedLu/xHGM4jCdMHC12QQycAiVa2tYfqSDFC0xoW+m
         fw0vfQm5pEIMVmerIkjZu+XnU0msj56gNjLQjReiPOcRU7OsSnZebLMb528mN7eTA4wX
         +L5DVXWhDATTFWz9DbrHeb6BXvYPJoycjnacvwm1G3I7n+c0wYYY5rDkNonjn85UcRV6
         G6fUbPBMMuMOwdtD4k6Hbn3pZSpikC1aZAIfZO3FDSYYmtNwc0hsGJQelxW9FvuhMj0m
         EPcw==
X-Forwarded-Encrypted: i=1; AJvYcCWhDg438PWWBd6tynRK9StOX/4/o5yBdgl+TO97WLwp6VpmT36S4w4z53mUR8BlVR/ZcuG65Hay6jGNNxzQeD2IUC/5D6ez0EYRR6zQjVw=
X-Gm-Message-State: AOJu0YxH0LqQr+Y+OrpfB8mHjYJUa4SyDS93bR/nnlFjKUc0Pqy+w93N
	2Ce/VcFfRZxaDkj2Ppesf/gt0lX0JAirhBMAvOKghoq6jQl25MBHfTcPNw/IayEP+Nz1atTBuSg
	6uum1P9aCdGiMsxttH995PJdK5k4=
X-Google-Smtp-Source: AGHT+IEYBs4+pg3BRufSaVTUkHn/aUgpwUXY+ceBhwwwGciTK1jRRVuGi2MALLW0RzjbHFBpvml3QuMUcM/JN9uFwqU=
X-Received: by 2002:a5d:6945:0:b0:343:eb28:58e9 with SMTP id
 r5-20020a5d6945000000b00343eb2858e9mr1927491wrw.28.1712930044577; Fri, 12 Apr
 2024 06:54:04 -0700 (PDT)
MIME-Version: 1.0
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-1-stefano.stabellini@amd.com> <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
 <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Fri, 12 Apr 2024 09:53:53 -0400
Message-ID: <CAJ=z9a2gOTLy2B7y9bELQHPhFmCpU2nhyV5zy9_uQvsvx5prqw@mail.gmail.com>
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers sizes/alignments
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>, andrew.cooper3@citrix.com, 
	bertrand.marquis@arm.com, george.dunlap@citrix.com, jbeulich@suse.com, 
	michal.orzel@amd.com, roger.pau@citrix.com, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000d512200615e69a03"

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

On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini <sstabellini@kernel.org>
wrote:

> On Wed, 10 Apr 2024, Julien Grall wrote:
> > On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini <
> stefano.stabellini@amd.com> wrote:
> >       xen_ulong_t is widely used in public headers.
> >
> >       Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> >       ---
> >
> >       Given that xen_ulong_t is used in public headers there could be a
> better
> >       place for documenting it but this was the most straightforward to
> add.
> >       ---
> >        docs/misra/C-language-toolchain.rst | 11 +++++++++++
> >        1 file changed, 11 insertions(+)
> >
> >       diff --git a/docs/misra/C-language-toolchain.rst
> b/docs/misra/C-language-toolchain.rst
> >       index 5ddfe7bdbe..7a334260e6 100644
> >       --- a/docs/misra/C-language-toolchain.rst
> >       +++ b/docs/misra/C-language-toolchain.rst
> >       @@ -531,6 +531,17 @@ A summary table of data types, sizes and
> alignment is below:
> >             - 64 bits
> >             - x86_64, ARMv8-A AArch64, RV64, PPC64
> >
> >       +   * - xen_ulong_t
> >       +     - 32 bits
> >       +     - 32 bits
> >       +     - x86_32
> >       +
> >       +   * - xen_ulong_t
> >       +     - 64 bits
> >       +     - 64 bits
> >       +     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32,
> ARMv8-R
> >       +       AArch32, ARMv7-A
> >
> >
> > We support neither ARMv8-R nor ARMv8-A Aarch32.
> >
> > I could possibly accept the latter because it works to. But the former
> is so far misleading.
>
> Yes I think you are right. Moreover this document
> (C-language-toolchain.rst) is meant for the Xen build. While this patch
> is trying to document the types used in the public headers for the
> external-facing ABI.
>
> I'll move the information this patch is adding to a separate document,
> specific to the public headers. I will only add the architectures
> currently working: I'll add ARMv8-A Aarch32 because although it is
> unsupported it is interesting to know the size of xen_ulong_t for
> aarch32 in the public headers. I will remove ARMv8-R as it is not
> available upstream.


Thinking a bit more. What about Armv9? Rather than listing each version,
should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and later?

>

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

<div><br></div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini &lt;<a hre=
f=3D"mailto:sstabellini@kernel.org">sstabellini@kernel.org</a>&gt; wrote:<b=
r></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border=
-left:1px #ccc solid;padding-left:1ex">On Wed, 10 Apr 2024, Julien Grall wr=
ote:<br>
&gt; On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini &lt;<a href=3D"mailto=
:stefano.stabellini@amd.com" target=3D"_blank">stefano.stabellini@amd.com</=
a>&gt; wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0xen_ulong_t is widely used in public headers=
.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Signed-off-by: Stefano Stabellini &lt;<a hre=
f=3D"mailto:stefano.stabellini@amd.com" target=3D"_blank">stefano.stabellin=
i@amd.com</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0---<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Given that xen_ulong_t is used in public hea=
ders there could be a better<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0place for documenting it but this was the mo=
st straightforward to add.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0---<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0docs/misra/C-language-toolchain.rst | =
11 +++++++++++<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A01 file changed, 11 insertions(+)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0diff --git a/docs/misra/C-language-toolchain=
.rst b/docs/misra/C-language-toolchain.rst<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0index 5ddfe7bdbe..7a334260e6 100644<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0--- a/docs/misra/C-language-toolchain.rst<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+++ b/docs/misra/C-language-toolchain.rst<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0@@ -531,6 +531,17 @@ A summary table of data=
 types, sizes and alignment is below:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 =C2=A0 =C2=A0 - 64 bits<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 =C2=A0 =C2=A0 - x86_64, ARMv8-A AArch=
64, RV64, PPC64<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0* - xen_ulong_t<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 32 bits<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 32 bits<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- x86_32<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0* - xen_ulong_t<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 64 bits<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 64 bits<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- x86_64, ARMv8-A AArch=
64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0 =C2=A0AArch32, ARMv7-A=
<br>
&gt; <br>
&gt; <br>
&gt; We support neither ARMv8-R nor ARMv8-A Aarch32.<br>
&gt; <br>
&gt; I could possibly accept the latter because it works to. But the former=
 is so far misleading.<br>
<br>
Yes I think you are right. Moreover this document<br>
(C-language-toolchain.rst) is meant for the Xen build. While this patch<br>
is trying to document the types used in the public headers for the<br>
external-facing ABI.<br>
<br>
I&#39;ll move the information this patch is adding to a separate document,<=
br>
specific to the public headers. I will only add the architectures<br>
currently working: I&#39;ll add ARMv8-A Aarch32 because although it is<br>
unsupported it is interesting to know the size of xen_ulong_t for<br>
aarch32 in the public headers. I will remove ARMv8-R as it is not<br>
available upstream.</blockquote><div dir=3D"auto"><br></div><div dir=3D"aut=
o">Thinking a bit more. What about Armv9? Rather than listing each version,=
 should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and later=
?</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-=
left:1px #ccc solid;padding-left:1ex" dir=3D"auto"></blockquote></div></div=
>

--000000000000d512200615e69a03--


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 14:06:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:06:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704702.1101200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHXc-0001Gy-2l; Fri, 12 Apr 2024 14:06:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704702.1101200; Fri, 12 Apr 2024 14: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 1rvHXb-0001Gr-WC; Fri, 12 Apr 2024 14:06:07 +0000
Received: by outflank-mailman (input) for mailman id 704702;
 Fri, 12 Apr 2024 14: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=SOxV=LR=bounce.vates.tech=bounce-md_30504962.66193fc8.v1-f767dee5c67d408688a03d00dd5afeec@srs-se1.protection.inumbo.net>)
 id 1rvHXZ-0001Gl-Pm
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 14:06:06 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cae31c50-f8d5-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 16:06:01 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VGJJ83797zDRHxRS
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 14:06:00 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f767dee5c67d408688a03d00dd5afeec; Fri, 12 Apr 2024 14:06: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: cae31c50-f8d5-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712930760; x=1713191260;
	bh=3Vs3YGzR1vLBNYPO9yFFoH/3q/MigkEKm0DNc1fKke4=;
	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=gnhga6A5kN0XxuxlLHyIYvpWwVmF9L/3/GM+lOhTfEiR1tmybXe6mSVhUzaEqwE9O
	 wzuErlDg2H3pWm7IkOh+kV6IKMKSFT8gF4ew4GX7MHGWphcffuldkxjQIo+xL/ezzw
	 r+P7ICyIbE+KqZEqJfCrTnZu756ZglTqpWtW5DK1cu/ulMsdoKWWvrwwAanLMRIMxC
	 KYbzM+H94Dt43sBswrD0WRhx/5UO4yxMGrAucNT2+O9JcEkn0sxfdemeUe+pJ2hcj1
	 u0uf1z3CUZrU4//rpCrYUer0/rfPWUjXQUo85tSATh1wdDlCe/1dE3RXVnrESFc1+L
	 bvtQaI4PJTulA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.fr; s=mte1;
	t=1712930760; x=1713191260; i=andrei.semenov@vates.fr;
	bh=3Vs3YGzR1vLBNYPO9yFFoH/3q/MigkEKm0DNc1fKke4=;
	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=A2QVVd7QOHeELwbiLiMcpuaWzFgd2623aEA3Qdj6JeuROj52bgyboC/E3fva3wbDY
	 SVSuJGTDYza9JNuO/jsA0nP40QRuEYYcGaCPd8s0kA1FmsgUlRiFShtMlSNY9KumJp
	 iUkVfAsM77oKB9Of4NT9pvqPMfN8Nkm0hCG51qGPM3rxGFUAPD/kXLz8IpFpdTrPZX
	 Qpyyqg0nnftsAtdJbYSpUsyE0Dp4FaAYx4MbJcPf+nH2aUApuOy2ylcREcnJL+SDAZ
	 8lqe/CoTg/JXjrYY8tdZXwJrUOJOI4SmrhbJr0Mn5pU6q8La3r1NFIPNTWRuIrUy32
	 XLuy1/3J5rp2g==
From: Andrei Semenov <andrei.semenov@vates.fr>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=201/2]=20Implemented=20AMD=20SEV=20discovery=20and=20enabling.?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712930759319
Message-Id: <ede83752-6151-4c23-a8c0-883aa7bee129@vates.fr>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
References: <cover.1712759753.git.andrei.semenov@vates.fr> <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr> <a9638611-8348-462a-a25d-a9efe3fabf9a@citrix.com>
In-Reply-To: <a9638611-8348-462a-a25d-a9efe3fabf9a@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.f767dee5c67d408688a03d00dd5afeec?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 14:06:00 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable


On 4/11/24 20:32, Andrew Cooper wrote:
> On 10/04/2024 4:36 pm, Andrei Semenov wrote:
>> diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
>> index ab92333673..a5903613f0 100644
>> --- a/xen/arch/x86/cpu/amd.c
>> +++ b/xen/arch/x86/cpu/amd.c
>> @@ -1030,6 +1031,54 @@ static void amd_check_erratum_1485(void)
>>   =09wrmsrl(MSR_AMD64_BP_CFG, val | chickenbit);
>>   }
>>   
>> +#ifdef CONFIG_HVM
>> +static void amd_enable_mem_encrypt(const struct cpuinfo_x86 *c)
>> +{
>> +=09unsigned int  eax, ebx, ecx, edx;
>> +=09uint64_t syscfg;
>> +
>> +=09if (!smp_processor_id()) {
> c =3D=3D &boot_cpu_info.
Agree, will fix.
>
>> +
>> +=09=09cpuid_count(0x80000000,0,&eax, &ebx, &ecx, &edx);
>> +
>> +=09=09if (eax <  0x8000001f)
>> +=09=09=09return;
> Max leaf is already collected.=C2=A0 c->extended_cpuid_level
Agree, will fix.
>
>
>> +
>> +=09=09cpuid_count(0x8000001f,0,&eax, &ebx, &ecx, &edx);
>> +
>> +=09=09if (eax & 0x1)
>> +=09=09=09setup_force_cpu_cap(X86_FEATURE_SME);
>> +
>> +=09=09if (eax & 0x2) {
>> +=09=09=09setup_force_cpu_cap(X86_FEATURE_SEV);
>> +=09=09=09max_sev_asid =3D ecx;
>> +=09=09=09min_sev_asid =3D edx;
>> +=09=09}
>> +
>> +=09=09if (eax & 0x3)
>> +=09=09=09pte_c_bit_mask =3D 1UL << (ebx & 0x3f);
> This is decoding the main SEV feature leaf, but outside of normal
> mechanisms.
>
> I've got half a mind to brute-force through the remaining work to
> un-screw our boot sequence order, and express this in a cpu-policy
> straight away.=C2=A0 This is wanted for the SVM leaf info too.
>
> Leave it with me for a bit.
OK. I wait for your insights on this so.
>
>
>> +=09}
>> +
>> +=09if (!(cpu_has_sme || cpu_has_sev))
>> +=09=09return;
>> +
>> +=09if (!smp_processor_id()) {
>> +=09=09if (cpu_has_sev)
>> +=09=09=09printk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",
>> +=09=09=09min_sev_asid, max_sev_asid);
> Why do we have a min as well as a max?=C2=A0 Isn't min always 1?

Well, "normally it is". But this is the part of CPUID leaf specs. Do 
they plan to potentially change it?

No idea.

>
>> +=09}
>> +
>> +=09rdmsrl(MSR_K8_SYSCFG, syscfg);
>> +
>> +=09if (syscfg & SYSCFG_MEM_ENCRYPT) {
>> +=09=09return;
>> +=09}
>> +
>> +=09syscfg |=3D SYSCFG_MEM_ENCRYPT;
>> +=09wrmsrl(MSR_K8_SYSCFG, syscfg);
>> +}
>> +#endif
>> +
>>   static void cf_check init_amd(struct cpuinfo_x86 *c)
>>   {
>>   =09u32 l, h;
>> @@ -1305,6 +1354,10 @@ static void cf_check init_amd(struct cpuinfo_x86 =
*c)
>>   =09check_syscfg_dram_mod_en();
>>   
>>   =09amd_log_freq(c);
>> +
>> +#ifdef CONFIG_HVM
>> +=09amd_enable_mem_encrypt(c);
>> +#endif
> I think we want to drop the CONFIG_HVM here.
>
> Memory encryption is an all-or-nothing thing.=C2=A0 If it's active, it
> affects all pagetables that Xen controls, even dom0's.=C2=A0 And we likel=
y do
> want get to the point of Xen running on encrypted mappings even if dom0
> can't operate it very nicely.
>
> Thoughts?

Basically I put CONFIG_HVM here because I also wanted to put related 
variables

(max/min_asid) in sev.c. And sev.c is in "HVM" part of the code as SEV

is only related to HVM guests. Now, basically I agree that

- Xen would like potentially use encrypted memory for itself

- in SME case, some encryption could be offered for non-HVM guests, so they

can protect their memory (even though the key is shared and the 
hypervisor can

read it).

OK, so I will drop CONFIG_HVM and put these variables elsewhere. amd.h 
is probably

a good candidate?

>>   }
>>   
>>   const struct cpu_dev __initconst_cf_clobber amd_cpu_dev =3D {
>> diff --git a/xen/arch/x86/hvm/svm/Makefile b/xen/arch/x86/hvm/svm/Makefi=
le
>> index 760d2954da..9773d539ef 100644
>> --- a/xen/arch/x86/hvm/svm/Makefile
>> +++ b/xen/arch/x86/hvm/svm/Makefile
>> @@ -6,3 +6,4 @@ obj-y +=3D nestedsvm.o
>>   obj-y +=3D svm.o
>>   obj-y +=3D svmdebug.o
>>   obj-y +=3D vmcb.o
>> +obj-y +=3D sev.o
> Please keep this sorted by object file name.
Got it. Will do.
>
>> diff --git a/xen/arch/x86/hvm/svm/sev.c b/xen/arch/x86/hvm/svm/sev.c
>> new file mode 100644
>> index 0000000000..336fad25f5
>> --- /dev/null
>> +++ b/xen/arch/x86/hvm/svm/sev.c
>> @@ -0,0 +1,4 @@
>> +#include <asm/sev.h>
>> +uint64_t __read_mostly pte_c_bit_mask;
>> +unsigned int __read_mostly min_sev_asid;
>> +unsigned int __read_mostly max_sev_asid;
> Several things.=C2=A0 All new files should come with an SPDX tag.=C2=A0 U=
nless you
> have other constraints, GPL-2.0-only is preferred.=C2=A0 There also wants=
 to
> be at least a oneline summary of what's going on here.
Will do.
>
> All these variables look like they should be __ro_after_init.=C2=A0 Howev=
er,
> it's rather hard to judge, given no users yet.
Yes, this is not supposed to dynamically change. Will fix.
>
> pte_c_bit_mask may want to be an intpte_t rather than uint64_t.

Agree. Will fix

>
> ~Andrew
Andrei.



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 14:06:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:06:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704706.1101209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHYI-0001rQ-ER; Fri, 12 Apr 2024 14:06:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704706.1101209; Fri, 12 Apr 2024 14:06:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHYI-0001rJ-Bi; Fri, 12 Apr 2024 14:06:50 +0000
Received: by outflank-mailman (input) for mailman id 704706;
 Fri, 12 Apr 2024 14:06: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 1rvHYG-0001pV-Si; Fri, 12 Apr 2024 14:06: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 1rvHYG-0005rt-ME; Fri, 12 Apr 2024 14:06: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 1rvHYG-0001Gu-Ei; Fri, 12 Apr 2024 14:06:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvHYG-0000HB-EH; Fri, 12 Apr 2024 14:06:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=B3J0muQuJz150mHc8KpfXJLfopGU+i6jPXCN11WEB60=; b=G7+N56Kt9MpFpmkAOykFv96CGt
	kB/YdwHoMGz3Pj7IPtpSXkybLx/WnnfbrDUGA+2UrTsrydLASMD3QnWaksfaoBMR7CueKCyevvB3I
	o95wypEulGfwRgl2lvQjl/9BohnUqx7G+12Uhlib5VZDkIQ2XBZ7pBije5843l8JUz0E=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.15-testing bisection] complete test-amd64-amd64-xl-pvshim
Message-Id: <E1rvHYG-0000HB-EH@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 14:06:48 +0000

branch xen-4.15-testing
xenbranch xen-4.15-testing
job test-amd64-amd64-xl-pvshim
testid guest-start

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6672d8ceae4acf0e0ef7dc7002e6146d10507c37
  Bug not present: 65eb8f32b6b82e0268a9d66b49da354bc6698e87
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185372/


  commit 6672d8ceae4acf0e0ef7dc7002e6146d10507c37
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.15-testing/test-amd64-amd64-xl-pvshim.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/xen-4.15-testing/test-amd64-amd64-xl-pvshim.guest-start --summary-out=tmp/185372.bisection-summary --basis-template=185282 --blessings=real,real-bisect,real-retry xen-4.15-testing test-amd64-amd64-xl-pvshim guest-start
Searching for failure / basis pass:
 185296 fail [host=rimava0] / 185282 [host=nobling1] 185006 [host=pinot0] 184784 ok.
Failure / basis pass flights: 185296 / 184784
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4e55b32a8d66388bddb21e327f134f14b1a9b004
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 74b5309da9fb7a919bec5a8b5a63d1ede5eb6745 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 82faf1d5c8b25375b9029f2d6668135e62455a8c 2484803074fc1f93942912a82e4906f9e441bf4e
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-347385861c50adc8d4801d4b899eded38a2f04cd git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#74b5309da9fb7a919bec5a8b5a63d1ede5eb6745-963671d3801a6992d1aa06f05d86e32efa6b205e git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#6503bd6a1b5364ffd346a8a475e1eb91b9f756e5-6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 git://xenbits.xen.org/osstest/seabios.git#82faf1d5c8b25375b9029f2d6668135e62455a8c-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#2484803074fc1f93942912a82e4906f9e441bf4e-4e55b32a8d66388bddb21e327f134f14b1a9b004
adhoc-revtuple-generator: tree discontiguous: linux-pvops
Loaded 12695 nodes in revision graph
Searching for test results:
 184784 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 74b5309da9fb7a919bec5a8b5a63d1ede5eb6745 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 82faf1d5c8b25375b9029f2d6668135e62455a8c 2484803074fc1f93942912a82e4906f9e441bf4e
 185006 [host=pinot0]
 185282 [host=nobling1]
 185315 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 74b5309da9fb7a919bec5a8b5a63d1ede5eb6745 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 82faf1d5c8b25375b9029f2d6668135e62455a8c 2484803074fc1f93942912a82e4906f9e441bf4e
 185296 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4e55b32a8d66388bddb21e327f134f14b1a9b004
 185324 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4e55b32a8d66388bddb21e327f134f14b1a9b004
 185328 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bf8f16f771d48c7cb4c0dfa548d296972513efe2 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 3722c21de19ba64de56495502c0c025b913a9b15 0fb100a94d0127910fe1dfa253cb759f6bc11174
 185330 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 8707f835ae355832965508b6be96765660fb1861 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 aa94925d296dc31a38360056227ffb0eea749572 65eb8f32b6b82e0268a9d66b49da354bc6698e87
 185333 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 13e7c5a9f1b4a6fab563a5994487fc60778073d5
 185340 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 6ddfbeb0d6b76d787c8d6d05232ef04da6a9cdfc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87
 185345 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 2a33c31e4affbca0651599e3b204a01ce7b48a3e
 185349 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87
 185354 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87
 185357 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 6672d8ceae4acf0e0ef7dc7002e6146d10507c37
 185363 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87
 185365 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 6672d8ceae4acf0e0ef7dc7002e6146d10507c37
 185368 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87
 185372 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 6672d8ceae4acf0e0ef7dc7002e6146d10507c37
Searching for interesting versions
 Result found: flight 184784 (pass), for basis pass
 For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87, results HASH(0x55ecb1236150) HASH(0x55ecb123a5e0) HASH(0x55ecb1224950) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87, results HASH(0x55ecb1239b60) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 6ddfbeb0d6b76d787c8d6d05232ef04da6a9cdfc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a4\
 75e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87, results HASH(0x55ecb1231218) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 8707f835ae355832965508b6be96765660fb1861 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 aa94925d296dc31a38360056227ffb0eea749572 65eb8f32b6b82e0268a9d66b49da354bc6698e87, results HASH(0x55ecb122c398) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bf8f16f771d48c7cb4c0dfa548d296972513efe2 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 3722c21de19ba64de56495502c0c025b913a9b15 0fb100a94d0127910fe1dfa253cb759f6bc11174, results HASH(0x55ecb122a368) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 74b5309da9fb7a919bec\
 5a8b5a63d1ede5eb6745 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 82faf1d5c8b25375b9029f2d6668135e62455a8c 2484803074fc1f93942912a82e4906f9e441bf4e, results HASH(0x55ecb1217250) HASH(0x55ecb121de90) Result found: flight 185296 (fail), for basis failure (at ancestor ~857)
 Repro found: flight 185315 (pass), for basis pass
 Repro found: flight 185324 (fail), for basis failure
 0 revisions at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 65eb8f32b6b82e0268a9d66b49da354bc6698e87
No revisions left to test, checking graph state.
 Result found: flight 185354 (pass), for last pass
 Result found: flight 185357 (fail), for first failure
 Repro found: flight 185363 (pass), for last pass
 Repro found: flight 185365 (fail), for first failure
 Repro found: flight 185368 (pass), for last pass
 Repro found: flight 185372 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6672d8ceae4acf0e0ef7dc7002e6146d10507c37
  Bug not present: 65eb8f32b6b82e0268a9d66b49da354bc6698e87
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185372/


  commit 6672d8ceae4acf0e0ef7dc7002e6146d10507c37
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>

pnmtopng: 251 colors found
Revision graph left in /home/logs/results/bisect/xen-4.15-testing/test-amd64-amd64-xl-pvshim.guest-start.{dot,ps,png,html,svg}.
----------------------------------------
185372: tolerable ALL FAIL

flight 185372 xen-4.15-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185372/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start             fail baseline untested


jobs:
 test-amd64-amd64-xl-pvshim                                   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 Apr 12 14:11:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704714.1101224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHdD-00044A-2l; Fri, 12 Apr 2024 14:11:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704714.1101224; Fri, 12 Apr 2024 14:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHdC-000443-Uc; Fri, 12 Apr 2024 14:11:54 +0000
Received: by outflank-mailman (input) for mailman id 704714;
 Fri, 12 Apr 2024 14: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=M3on=LR=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rvHdB-00043x-T2
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 14:11:53 +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 9bf4ef06-f8d6-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 16:11:51 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-516ab4b3251so1209540e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 07:11:51 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 t8-20020a05600c198800b004180c6ab70fsm1045876wmq.5.2024.04.12.07.11.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Apr 2024 07:11: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: 9bf4ef06-f8d6-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712931111; x=1713535911; 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=ckL9ER6pZYN4Z/+nfICoRutxNdQTFFfzqsS/EQ87hkM=;
        b=bnv5IiBkY0yICAHgzG5lW6v/IAaU7SrWNtI85R83hZN+XALoDFO6KYX5IcAL6ryJuH
         hWXFvsryWjG/mg9FgotajqLcw7kCIT+4cjK+Y3oQK5N6rA8oHIGYjkbqD+g3ZbHQYPtq
         b0tsnYhRqjHxMYGdAf1OSbRPV1zszoJkANd5I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712931111; x=1713535911;
        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=ckL9ER6pZYN4Z/+nfICoRutxNdQTFFfzqsS/EQ87hkM=;
        b=dUTgaHyBhTSI86I+oRfJnto1j+oLzkZqpAKHHowfYe+mNvwbg/fimA5FtwPjxQuYS8
         ZMLkFrHObwtRpmSUalE8jM9dZ7u2URRjOwXhHVGG1Kt8/iio0Ci8IkZUkajzNKSKUFge
         LQDMIzT6xHk+8zmxfPHCSEB4rR9AiadV57Fv8lgNnjTJmJyJJR1ttN5Tf7V3GhGWlrnm
         Ed8oiDeXZRFKZfj4gXCTqAuoDnuN49H3pBZro1zWo//TJNW3au0Bhv/JbNrzz8EC+FyM
         /b6Sa4DOAZqV2YpFtz6zmynBGQeT1nLG0d0dPvNHNHiGfyXhTgGwczGcbs+VAlrO5ifk
         ukPA==
X-Gm-Message-State: AOJu0YzDPFYpbphL7BH8sU8cVrEEL1i2ppTe//O9mHI3ddcqNQt/xm7C
	Eb7udmwNO43vUIX1oJa21+u/Bn0DrlFoCektJCkR6vo987jDB5FycTAHuJVmJShku5WPYFKKKTi
	G
X-Google-Smtp-Source: AGHT+IEdMj0vyx5gKPC0vCbjmzdt5Scb2mqu5uangOmY+DtnN+mwKbWZ4bKJpwh9FN3wcpNNCTwtdg==
X-Received: by 2002:a2e:a36b:0:b0:2d4:68ef:c711 with SMTP id i11-20020a2ea36b000000b002d468efc711mr1859477ljn.25.1712931110596;
        Fri, 12 Apr 2024 07:11:50 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: anthony.perard@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH] osstest: increase boot timeout for Debian PV guests
Date: Fri, 12 Apr 2024 16:11:21 +0200
Message-ID: <20240412141121.79280-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current timeout of 40s seems to be too low for AMD boxes (pinots and
rimavas) in the lab after XSA-455, see:

http://logs.test-lab.xenproject.org/osstest/logs/185303/test-amd64-coresched-amd64-xl/info.html

Increase the timeout to 60s.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 ts-debian-di-install | 2 +-
 ts-debian-install    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ts-debian-di-install b/ts-debian-di-install
index 06c7e1f46a92..1a187dfeb9cb 100755
--- a/ts-debian-di-install
+++ b/ts-debian-di-install
@@ -76,7 +76,7 @@ sub prep () {
     target_install_packages_norec($ho, qw(lvm2));
 
     $gho= prepareguest($ho, $gn, $guesthost, 22,
-                       $disk_mb, 40);
+                       $disk_mb, 60);
 
     prepareguest_part_diskimg($ho, $gho, $disk_mb);
 }
diff --git a/ts-debian-install b/ts-debian-install
index 62db487ad15d..ef2954dd3c8e 100755
--- a/ts-debian-install
+++ b/ts-debian-install
@@ -42,7 +42,7 @@ sub prep () {
 
     $gho= prepareguest($ho, $gn, $guesthost, 22,
                        $swap_mb + $disk_mb + 2,
-                       40);
+                       60);
     target_cmd_root($ho, "umount $gho->{Lvdev} ||:");
 }
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 14:12:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:12:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704717.1101233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvHe8-0004Y5-AJ; Fri, 12 Apr 2024 14:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704717.1101233; Fri, 12 Apr 2024 14: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 1rvHe8-0004Xy-7W; Fri, 12 Apr 2024 14:12:52 +0000
Received: by outflank-mailman (input) for mailman id 704717;
 Fri, 12 Apr 2024 14:12:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvHe6-0004Xm-J6
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 14:12:50 +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 be4b37b8-f8d6-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 16:12:49 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-417f81ef467so5803355e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 07:12:49 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k15-20020a05600c1c8f00b004181303f953sm420263wms.47.2024.04.12.07.12.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 07:12: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: be4b37b8-f8d6-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712931169; x=1713535969; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ldk4izjyc0TC0D4a9O9eEDDVBLEWLaFy2rMlDi/K8SE=;
        b=udSuimVtsApMhXvn5wCZBpM5v6Ljb/V09DEzi6T9LSOVR6WdFR+r26RNMEyO0kD83/
         50Y9XqLE7UgWp44ezV1pTbkKu6kwlTH4Cf6KouugnOrQkA2l01frpYY748QYr/HJdsn+
         DOAS04Jzx0FYxhB8G0OVntS9cdO+nUvb1A0R4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712931169; x=1713535969;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ldk4izjyc0TC0D4a9O9eEDDVBLEWLaFy2rMlDi/K8SE=;
        b=tn4lA0XAC2J5otUyhDCqxfE4/Yn7+jhx64SRfVWG4H/uvcKll+PNWS1b0eyY//t72p
         Zu9WiZZOYC8xQDQj875o7PTHDTGIH0I6rWskw6BxtwLPzgXKiEsfSOGnJBhDLtNa1ZD6
         aMyYLzDSyLLrTbFCOvwzRP45e/3Rz7BoqFYtEM5JNe1nDtXrBd0auRqyFaY8RZAawXF3
         LELoXpAOh9TzjaaFT2KmmYL0fLdcaKlZ5xVebXg2Edx4mcar0UTKUkXD2NkbTt/taQCe
         Zbju46B54r3s1al/5hUJUTsxVY0YCz57YmVFqIeZL6UWG1t2ldeMjwOIUaK89XJSNHrh
         XU9w==
X-Forwarded-Encrypted: i=1; AJvYcCWOTif1M7CQHHCU1Z5+R8lBQSHb/TV+ilErucfvUNkzdEVFf3/QFFWZNb6cLkBJeYqdeZ1KctGRb0xdQ3or3bd1SPghVpfwljqNDu7BJOQ=
X-Gm-Message-State: AOJu0Ywg+Lrm30YaeqJkIj52FtEgAM3gxFv5EfU+Bx08ssC4n0zuNDBr
	T6vyeifEyJUSdNj/BszsNbL6h8MjtB3XhWzSKpVyCMQbrcYd3sUuz9Jqqt0J/iI=
X-Google-Smtp-Source: AGHT+IG9bTg9+FbnHpfvrVoZxcqX0quZGJTyhU2uTcsjOnmxb2bY0y69T9V0Z54RklDRY+v5n9fOmA==
X-Received: by 2002:a05:600c:3848:b0:416:920b:19ad with SMTP id s8-20020a05600c384800b00416920b19admr1900884wmr.17.1712931169013;
        Fri, 12 Apr 2024 07:12:49 -0700 (PDT)
Message-ID: <b799b7e9-0972-4182-b3df-915be8212b2b@citrix.com>
Date: Fri, 12 Apr 2024 15:12:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] osstest: increase boot timeout for Debian PV guests
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: anthony.perard@citrix.com
References: <20240412141121.79280-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: <20240412141121.79280-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 3:11 pm, Roger Pau Monne wrote:
> The current timeout of 40s seems to be too low for AMD boxes (pinots and
> rimavas) in the lab after XSA-455, see:
>
> http://logs.test-lab.xenproject.org/osstest/logs/185303/test-amd64-coresched-amd64-xl/info.html
>
> Increase the timeout to 60s.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 14:38:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:38:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704729.1101254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvI2e-0005Ql-CP; Fri, 12 Apr 2024 14:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704729.1101254; Fri, 12 Apr 2024 14:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvI2e-0005Qe-9y; Fri, 12 Apr 2024 14:38:12 +0000
Received: by outflank-mailman (input) for mailman id 704729;
 Fri, 12 Apr 2024 14: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=m1/u=LR=bounce.vates.tech=bounce-md_30504962.6619474d.v1-c4a95ce5ca1345ad8bae29c86b9930b1@srs-se1.protection.inumbo.net>)
 id 1rvI2c-0005QY-PM
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 14:38:10 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46fdd8f6-f8da-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 16:38:08 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VGK190ptVz8XRqj0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 14:38:05 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 c4a95ce5ca1345ad8bae29c86b9930b1; Fri, 12 Apr 2024 14: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: 46fdd8f6-f8da-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712932685; x=1713193185;
	bh=hTeskO7cTnAtgN13EZTm7x3v6yR+TkmazbX6ZtL7IcQ=;
	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=K3tJphHQlx0cLYLorS8NXj4cQmravXbE2+azKa+eWqBalWAW25QgAXqHO4IDZplSa
	 2SaRgQGAuTjxTeb20+cSE8dfL8s8PloWeLbCjJeKc/6h596cXEmTuQsll7YmIzjY60
	 dMDUuRbd3VhbFWEKPvDCam1fRtNZ8W/gDwBjcIrPGJdEqLWP14LxUFoGefUKFkNTTY
	 /T5UqDL2DgGataF9TIoRdxJ6bnmdVKtNfxSRnlr205dKVEfI6mVptY4+ZaQXkXqfWt
	 s0yqlXN0ixUVs66mm/HQmrOQwg2hA3an3Goap6LQOzAUdpbvvQjAWVRSZ2nmyMtjHw
	 8XdiDzi/tPtNw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712932685; x=1713193185; i=vaishali.thakkar@vates.tech;
	bh=hTeskO7cTnAtgN13EZTm7x3v6yR+TkmazbX6ZtL7IcQ=;
	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=DmeRaTmovt9xYSnHosVleTr5DdzyiDemkw25BQi/WWqqDQfaooh4KIthEsRW7s01E
	 WKQfzwY9XMGLqFTfb2AQ+OmYP3uLVEfdrbZH1wiy9G38CVohsaRBfw92YAfmbkvmu/
	 PDPNToOeDcw0SczreljZlc0xKb7pqgHFf908x6noNmDWfTBE9tWNdsgD4jbdmAZ7SM
	 jqkjl6rdf5+F+jBzaD8Ws7IxAMbrBYWah9Vn4ZgA96XreCHcGJmGVpAfwzSBT+EesT
	 f0RHMh8d4iIRDWqCD1fbyPOIpYaXG2Iyz7qUhdX8R3GR0z44bb7qjyH1ib2BZGXw25
	 33d8+7iBFoCLQ==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=201/2]=20Implemented=20AMD=20SEV=20discovery=20and=20enabling.?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712932683808
Message-Id: <51d5395e-7341-438f-8472-3391531c5bb0@vates.tech>
To: Andrei Semenov <andrei.semenov@vates.fr>, Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
References: <cover.1712759753.git.andrei.semenov@vates.fr> <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr> <a9638611-8348-462a-a25d-a9efe3fabf9a@citrix.com> <ede83752-6151-4c23-a8c0-883aa7bee129@vates.fr>
In-Reply-To: <ede83752-6151-4c23-a8c0-883aa7bee129@vates.fr>
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.c4a95ce5ca1345ad8bae29c86b9930b1?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 14:38:05 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 4/12/24 4:06 PM, Andrei Semenov wrote:
> 
> On 4/11/24 20:32, Andrew Cooper wrote:
>> On 10/04/2024 4:36 pm, Andrei Semenov wrote:
>>> diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
>>> index ab92333673..a5903613f0 100644
>>> --- a/xen/arch/x86/cpu/amd.c
>>> +++ b/xen/arch/x86/cpu/amd.c
>>> @@ -1030,6 +1031,54 @@ static void amd_check_erratum_1485(void)
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 wrmsrl(MSR_AMD64_BP_CFG, val | chickenbi=
t);
>>> =C2=A0 }
>>> +#ifdef CONFIG_HVM
>>> +static void amd_enable_mem_encrypt(const struct cpuinfo_x86 *c)
>>> +{
>>> +=C2=A0=C2=A0=C2=A0 unsigned int=C2=A0 eax, ebx, ecx, edx;
>>> +=C2=A0=C2=A0=C2=A0 uint64_t syscfg;
>>> +
>>> +=C2=A0=C2=A0=C2=A0 if (!smp_processor_id()) {
>> c =3D=3D &boot_cpu_info.
> Agree, will fix.
>>
>>> +
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cpuid_count(0x80000000,0,&e=
ax, &ebx, &ecx, &edx);
>>> +
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (eax <=C2=A0 0x8000001f)
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn;
>> Max leaf is already collected.=C2=A0 c->extended_cpuid_level
> Agree, will fix.
>>
>>
>>> +
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cpuid_count(0x8000001f,0,&e=
ax, &ebx, &ecx, &edx);
>>> +
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (eax & 0x1)
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 set=
up_force_cpu_cap(X86_FEATURE_SME);
>>> +
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (eax & 0x2) {
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 set=
up_force_cpu_cap(X86_FEATURE_SEV);
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 max=
_sev_asid =3D ecx;
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 min=
_sev_asid =3D edx;
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>>> +
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (eax & 0x3)
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte=
_c_bit_mask =3D 1UL << (ebx & 0x3f);
>> This is decoding the main SEV feature leaf, but outside of normal
>> mechanisms.
>>
>> I've got half a mind to brute-force through the remaining work to
>> un-screw our boot sequence order, and express this in a cpu-policy
>> straight away.=C2=A0 This is wanted for the SVM leaf info too.
>>
>> Leave it with me for a bit.
> OK. I wait for your insights on this so.
>>
>>
>>> +=C2=A0=C2=A0=C2=A0 }
>>> +
>>> +=C2=A0=C2=A0=C2=A0 if (!(cpu_has_sme || cpu_has_sev))
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return;
>>> +
>>> +=C2=A0=C2=A0=C2=A0 if (!smp_processor_id()) {
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (cpu_has_sev)
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pri=
ntk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 min=
_sev_asid, max_sev_asid);
>> Why do we have a min as well as a max?=C2=A0 Isn't min always 1?

In the case of SEV, it's not true. Some BIOS allow to set the
min_asid. So yeah Xen will also need to adapted for the same.
I've a WIP patch for allowing dynamic generation of asid in such
a case.

> Well, "normally it is". But this is the part of CPUID leaf specs. Do they=
 
> plan to potentially change it?
> 
> No idea.
> 
>>
>>> +=C2=A0=C2=A0=C2=A0 }
>>> +
>>> +=C2=A0=C2=A0=C2=A0 rdmsrl(MSR_K8_SYSCFG, syscfg);
>>> +
>>> +=C2=A0=C2=A0=C2=A0 if (syscfg & SYSCFG_MEM_ENCRYPT) {
>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return;
>>> +=C2=A0=C2=A0=C2=A0 }
>>> +
>>> +=C2=A0=C2=A0=C2=A0 syscfg |=3D SYSCFG_MEM_ENCRYPT;
>>> +=C2=A0=C2=A0=C2=A0 wrmsrl(MSR_K8_SYSCFG, syscfg);
>>> +}
>>> +#endif
>>> +
>>> =C2=A0 static void cf_check init_amd(struct cpuinfo_x86 *c)
>>> =C2=A0 {
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 u32 l, h;
>>> @@ -1305,6 +1354,10 @@ static void cf_check init_amd(struct cpuinfo_x86=
 *c)
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 check_syscfg_dram_mod_en();
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 amd_log_freq(c);
>>> +
>>> +#ifdef CONFIG_HVM
>>> +=C2=A0=C2=A0=C2=A0 amd_enable_mem_encrypt(c);
>>> +#endif
>> I think we want to drop the CONFIG_HVM here.
>>
>> Memory encryption is an all-or-nothing thing.=C2=A0 If it's active, it
>> affects all pagetables that Xen controls, even dom0's.=C2=A0 And we like=
ly do
>> want get to the point of Xen running on encrypted mappings even if dom0
>> can't operate it very nicely.
>>
>> Thoughts?
> 
> Basically I put CONFIG_HVM here because I also wanted to put related vari=
ables
> 
> (max/min_asid) in sev.c. And sev.c is in "HVM" part of the code as SEV
> 
> is only related to HVM guests. Now, basically I agree that
> 
> - Xen would like potentially use encrypted memory for itself
> 
> - in SME case, some encryption could be offered for non-HVM guests, so th=
ey
> 
> can protect their memory (even though the key is shared and the hyperviso=
r can
> 
> read it).
> 
> OK, so I will drop CONFIG_HVM and put these variables elsewhere. amd.h is=
 
> probably
> 
> a good candidate?
> 
>>> =C2=A0 }
>>> =C2=A0 const struct cpu_dev __initconst_cf_clobber amd_cpu_dev =3D {
>>> diff --git a/xen/arch/x86/hvm/svm/Makefile b/xen/arch/x86/hvm/svm/Makef=
ile
>>> index 760d2954da..9773d539ef 100644
>>> --- a/xen/arch/x86/hvm/svm/Makefile
>>> +++ b/xen/arch/x86/hvm/svm/Makefile
>>> @@ -6,3 +6,4 @@ obj-y +=3D nestedsvm.o
>>> =C2=A0 obj-y +=3D svm.o
>>> =C2=A0 obj-y +=3D svmdebug.o
>>> =C2=A0 obj-y +=3D vmcb.o
>>> +obj-y +=3D sev.o
>> Please keep this sorted by object file name.
> Got it. Will do.
>>
>>> diff --git a/xen/arch/x86/hvm/svm/sev.c b/xen/arch/x86/hvm/svm/sev.c
>>> new file mode 100644
>>> index 0000000000..336fad25f5
>>> --- /dev/null
>>> +++ b/xen/arch/x86/hvm/svm/sev.c
>>> @@ -0,0 +1,4 @@
>>> +#include <asm/sev.h>
>>> +uint64_t __read_mostly pte_c_bit_mask;
>>> +unsigned int __read_mostly min_sev_asid;
>>> +unsigned int __read_mostly max_sev_asid;
>> Several things.=C2=A0 All new files should come with an SPDX tag.=C2=A0 =
Unless you
>> have other constraints, GPL-2.0-only is preferred.=C2=A0 There also want=
s to
>> be at least a oneline summary of what's going on here.
> Will do.
>>
>> All these variables look like they should be __ro_after_init.=C2=A0 Howe=
ver,
>> it's rather hard to judge, given no users yet.
> Yes, this is not supposed to dynamically change. Will fix.
>>
>> pte_c_bit_mask may want to be an intpte_t rather than uint64_t.
> 
> Agree. Will fix
> 
>>
>> ~Andrew
> Andrei.
> 
>



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 14:49:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:49:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704739.1101275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIDP-0000yQ-NH; Fri, 12 Apr 2024 14:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704739.1101275; Fri, 12 Apr 2024 14:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIDP-0000yJ-KL; Fri, 12 Apr 2024 14:49:19 +0000
Received: by outflank-mailman (input) for mailman id 704739;
 Fri, 12 Apr 2024 14:49:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvIDO-0000jo-GH
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 14:49:18 +0000
Received: from mail-qk1-x72f.google.com (mail-qk1-x72f.google.com
 [2607:f8b0:4864:20::72f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d646b9bc-f8db-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 16:49:17 +0200 (CEST)
Received: by mail-qk1-x72f.google.com with SMTP id
 af79cd13be357-78d683c469dso69005585a.1
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 07:49:17 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 v10-20020ae9e30a000000b0078bc77b2039sm2463911qkf.18.2024.04.12.07.49.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 07:49: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: d646b9bc-f8db-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712933356; x=1713538156; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rJNSdEWeePhF0S50Vzo+JM2xTB6VfeC+h/lkOk64/ig=;
        b=CyxkJiPWMRIrUd7OZ0hVunQyLA6bnj18iUbFxb46Nxpb4fbCI+/qYDR0x4MaOHhegD
         uEItYpXG4bIk0zWwgioBpmKxFx0QN2tkv+cRXilABzbO6mszmho5oSZzpQzqki/KtZQC
         Zg4VN2AVN8Ipa74plzHIVeSedEib84FrBIwbY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712933356; x=1713538156;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rJNSdEWeePhF0S50Vzo+JM2xTB6VfeC+h/lkOk64/ig=;
        b=cyBuxSOC987bW8+ARWwnk4cUkIN/ELGNq/epq+gkf4P7WQg+xrFMQ93YJoBzrR1rPe
         IrQiODwECRUM0Rqn7wBPMV8yI5OGfeL1mhHe+4ar/z4RJ6bW717YhCSmdpOU+IjkKD76
         KTFov5dJJFKiqlK5NcFmEF4ulgjZRtm2ypsiQCgArSRR4jYsOUABVTAV3EWWoepUdOH1
         3aWIyV/t7loA+/sw0gmUyEs0RhZhb4uVpxyfo2mMMFDJyuXOBnM4lq2Xbm7pPTpQYPCi
         FSf6Fxw0c67H6AGqx31eRzncOIu9/UyXhCglKvDdQ8+k5Wcj23IxQNCWUksYMQNJDFVW
         Q2rg==
X-Forwarded-Encrypted: i=1; AJvYcCW+50u/DJAU8byKvFBIlG2/FoinopTeiPKpRk6JRaLdbK3w7BA1EDvCapTX2bIzj4ScprtPEd7cQWPEfk1TG2XSNgjGNWz4g/NHtQyJFvk=
X-Gm-Message-State: AOJu0Yw92kvIkhdCi5BvIdFgMR7fwklEvMdBzIReFKyHNa8G2SEE2Unc
	xTbHu97kgLFsxQZ53Yencdph9fGwAfQQadMC0aWHfWLVB4+0tzeqpejky8dGpcs=
X-Google-Smtp-Source: AGHT+IHhdYEDGchCCC1yL00FcDasc4ZZik/SwjW6wHkCaoXMA+MsD/G2W2/AdMO+zHXnSgxWRZfpAA==
X-Received: by 2002:a05:620a:100f:b0:78e:d3a7:2f74 with SMTP id z15-20020a05620a100f00b0078ed3a72f74mr354932qkj.55.1712933356703;
        Fri, 12 Apr 2024 07:49:16 -0700 (PDT)
Message-ID: <727d038c-6401-47bf-b1a6-23a554c6154c@citrix.com>
Date: Fri, 12 Apr 2024 15:49:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 0/3] x86/iommu: Drop IOMMU support when cx16 isn't
 supported
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1712915011.git.teddy.astie@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: <cover.1712915011.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 1:33 pm, Teddy Astie wrote:
> All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
> specifically crafted virtual machines).
>
> Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
> while cx16 isn't, those paths may be bugged and are barely tested, dead code
> in practice.
>
> Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
> no-cx16 handling logic from VT-d and AMD-Vi drivers.
>
> Teddy
>
> Changed in v2:
>
>  * Added cleanup no-cx16 code for x2APIC
>  * Fixed commit and code formatting
>  * Added missing Suggested-by note
>
> Changed in v3:
>
>  * Use -ENODEV instead of -ENOSYS.

Hmm - I've still got a double copy of patch 2.  No idea what's going on,
but I'll make do with what b4 thinks is on the list.

A couple of things.

1) You introduced trailing whitespace in patch 1 in the middle line here:

> + ASSERT(spin_is_locked(&iommu->intremap.lock)); + + old_ire = *entry;

2) In your commit messages, the grammar is a bit awkward.  It would be
clearer to say:

"All hardware with VT-d/AMD-Vi has CMPXCHG16 support.  Check this at
initialisation time, and remove the effectively-dead logic for the
non-cx16 case."

just as you've done in the cover letter.


3) In patch 1, you shouldn't modify x2apic_bsp_setup() like that. 
x2APIC && no-IOMMU is a legal combination.

Instead, you should put a cx16 check in both driver's supports_x2apic()
hooks.


4) In patch 3, you should drop the Suggested-by me.  You found that one
all yourself.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 14:49:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:49:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704738.1101265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIDM-0000k1-HJ; Fri, 12 Apr 2024 14:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704738.1101265; Fri, 12 Apr 2024 14:49:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIDM-0000ju-DO; Fri, 12 Apr 2024 14:49:16 +0000
Received: by outflank-mailman (input) for mailman id 704738;
 Fri, 12 Apr 2024 14:49:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WJ5u=LR=bounce.vates.tech=bounce-md_30504962.661949e7.v1-82ffa0108b494c8a9f74252d108fbd6c@srs-se1.protection.inumbo.net>)
 id 1rvIDK-0000jo-Oe
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 14:49:15 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d36ffd9a-f8db-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 16:49:13 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VGKFz5Jmxz8XRqGf
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 14:49:11 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 82ffa0108b494c8a9f74252d108fbd6c; Fri, 12 Apr 2024 14:49:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d36ffd9a-f8db-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712933351; x=1713193851;
	bh=sqDq7+1CoBYFBo9LrJqMOoBFSt4P25wqk78vmExOUmg=;
	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=qD1d/tDiJgdtgiIs6XktAa7i71ALoo1EwjC/qgHiICnqCYZBi+02Tn+6shq8Zb8iS
	 us4rOSMwkeB8w+3R89xXMUjAXUBMc4YtBr7N8JP36upvPSOyEKlBAJxy4TmBg4JuXI
	 8MPYX9fsxZtK95VWOFYdbsVg57eqAWGK0UURl98Eat1HoLwv2goHoKM/t7Z/gbT1Ej
	 6cyVuRG7OVsD5qu5t4CnFOB014m/R/+b4rREJz6P1kX/wZmgup28PH5LbYawcWOdk7
	 ZrtD79jYVYx5dSs+ZPTQPgwXyq4H2A3vpzDGDxzXNFeY0nrmMhtn9BdanV2363vdit
	 PvH68wIlwgPdQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.fr; s=mte1;
	t=1712933351; x=1713193851; i=andrei.semenov@vates.fr;
	bh=sqDq7+1CoBYFBo9LrJqMOoBFSt4P25wqk78vmExOUmg=;
	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=u94EFyBEevCrPB76pMFlylPEbOX2I7tjqSXyU250jWFqoajd9oG8OXMtyHiRc/X1I
	 2ui1x4f/avd8J9OqqwUQ6yNnScmyEmV5D96aBlQhxRvw951v/3gSEwmII8XtRA4Lzh
	 2JBngqWr8US/f9kDgSzjo/UyMMF2TZqo9ZcUpdSyGlUSg9CSxVvkXl2qPbJcwlGRnD
	 j2MeMI88NljToddmXnDXXii4oTDJya5BHzbxDJxBr8q+OkfzEi+fCSw9a7beyayY63
	 BeZw3FSahmIxAvBMnUlRIWgatwDhgmgMzWvq5h42PHtfHUOLHaukJTS8MwxRS3nmpf
	 j6rLZwakBcOMA==
From: Andrei Semenov <andrei.semenov@vates.fr>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=202/2]=20Implemented=20Amd=20Secure=20Processor=20device=20driver?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712933348702
Message-Id: <be2e990c-50bc-4950-a70b-755ffebeaadd@vates.fr>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1712759753.git.andrei.semenov@vates.fr> <8c9627ef69e8d809efcb93b50fc34474f2b0ba7f.1712759753.git.andrei.semenov@vates.fr> <db0f49d5-ea9e-4c62-b7ac-c856656b1e29@citrix.com>
In-Reply-To: <db0f49d5-ea9e-4c62-b7ac-c856656b1e29@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.82ffa0108b494c8a9f74252d108fbd6c?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 14:49:11 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable


On 4/11/24 20:42, Andrew Cooper wrote:
> On 10/04/2024 4:36 pm, Andrei Semenov wrote:
>> Signed-off-by: Andrei Semenov <andrei.semenov@vates.fr>
>> ---
>>   xen/arch/x86/include/asm/psp-sev.h | 655 +++++++++++++++++++++++
>>   xen/drivers/Kconfig                |   2 +
>>   xen/drivers/Makefile               |   1 +
>>   xen/drivers/crypto/Kconfig         |  10 +
>>   xen/drivers/crypto/Makefile        |   1 +
>>   xen/drivers/crypto/asp.c           | 808 +++++++++++++++++++++++++++++
>>   xen/include/xen/types.h            |   2 +-
>>   7 files changed, 1478 insertions(+), 1 deletion(-)
>>   create mode 100644 xen/arch/x86/include/asm/psp-sev.h
>>   create mode 100644 xen/drivers/crypto/Kconfig
>>   create mode 100644 xen/drivers/crypto/Makefile
>>   create mode 100644 xen/drivers/crypto/asp.c
> I'm not going to dive into all of this, but give some high level
> feedback to start with.
>
> CCP is driver/crypto in Linux for historical reasons, but is it really
> right here?=C2=A0 We can pick whatever we think is suitable.

Yes, I only picked SEV interface (for instance) and I called the the 
directory "crypto", for

some reasons as=C2=A0 this is the name in Linux, so to "compliant" and SEV =
is 
related to crypto too.

Later we potentially will need to export some of interfaces to guest so 
will need to extend the driver.

As Marek remarked some AMD GPU may need this to load GPU firmware ...

That's beeing said, I have not very strong opinion on "crypto" name.

>
> psp-sev.h looks like it's only the MMIO protocol to the ASP, and that it
> shouldn't need including anywhere else?=C2=A0 If so, we're trying to move
> those header files to be local to the asp.c dir.

SVM operations (at least) will need this.=C2=A0 Very probably toolstack als=
o will

need a part of this, so potentially this part will move to "public" 
interface.

 =C2=A0For instance hard to say what parts (are moving), so all this in the=
 same

psp-sev.h file.

>
> Can you discuss this comment:
>>      CET shadow stack: adapt #CP handler???
> some more.=C2=A0 What's going on?

Yep. Actually CET Shadow Stack raised #21 exception=C2=A0 (near ret) on old=
er

versions of Xen (when I said older I talk about 4.19 unstable). This is 
no more

the case on staging branch. So it was fixed somehow. Sorry didn't check

- will fix.

>
>
>> diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
>> index 449947b353..f7599845fd 100644
>> --- a/xen/include/xen/types.h
>> +++ b/xen/include/xen/types.h
>> @@ -6,7 +6,7 @@
>>   
>>   /* Linux inherited types which are being phased out */
>>   typedef int8_t s8;
>> -typedef uint8_t u8;
>> +typedef uint8_t u8, __u8;
>>   typedef int16_t s16;
>>   typedef uint16_t u16, __u16;
>>   typedef int32_t s32;
> The comment is here for a reason, so reviewers don't accept hunks like th=
is.
>
> psp-sev.h should be written using normal C99 integer types please.
Got it. Will fix
>
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 14:56:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 14:56:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704752.1101300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIKh-0004gn-MX; Fri, 12 Apr 2024 14:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704752.1101300; Fri, 12 Apr 2024 14:56:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIKh-0004gg-Hl; Fri, 12 Apr 2024 14:56:51 +0000
Received: by outflank-mailman (input) for mailman id 704752;
 Fri, 12 Apr 2024 14:56:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvIKg-0004fD-Re
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 14:56:50 +0000
Received: from mail-vs1-xe31.google.com (mail-vs1-xe31.google.com
 [2607:f8b0:4864:20::e31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3cee4d9-f8dc-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 16:56:50 +0200 (CEST)
Received: by mail-vs1-xe31.google.com with SMTP id
 ada2fe7eead31-479dbcdba2dso404335137.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 07:56:49 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 s12-20020ad44b2c000000b0069b0c9a81b5sm2412689qvw.95.2024.04.12.07.56.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 07: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: e3cee4d9-f8dc-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712933809; x=1713538609; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Yel18ObieU7UhXev70fM3gRKdzzX4ihHX8Pwq/c4H+w=;
        b=QOoxpx+IRm8UZT9B8mV95n2ij7kMEi0gQa6LbZa9jERB55H/vbtEiSCbkkBcO9MHgI
         6zQv6dmmzgdz+w7TscwzrSH/KhZK2iu5wb5xU6ZXq30ga4KPy6m+yz8Yr5nwSOxHKdhU
         cEtwAfsrzFmMTRcD7FtYE3IGi3NaMNXGOBMUo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712933809; x=1713538609;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Yel18ObieU7UhXev70fM3gRKdzzX4ihHX8Pwq/c4H+w=;
        b=IInLdkv5ZdiFdZ9UdMp1S9wbruAKDujgVpwIAmNzffHVxSqXTtkIInXuSqKrpdZZdv
         tuZhTPGJ0of6rCwu1zXhceBqxbp7AX8P3ceWGcaHFybdHMH3GzZV4fCEuikAzk0h0aCN
         wblWrGLFtOTQHVhkKuC6gTZQ3fiWuTOuzDbrSaxRBLyvOMijjvYspk5IpoMhGWGDQ/+u
         nnQkVGd+yx+XRjwTTV5t9LS0irGo6Uqf/HHNR8PbKjBymOg4JJweAJ6SXL0FDSnQeKjU
         qBw7VntJq1TEpLDJDkQ1g4hmH+0SOmsK17mVSSAy18/lKsnCWCLQHY8iKSJexSjGol/C
         HO6g==
X-Forwarded-Encrypted: i=1; AJvYcCX3C9MvVq5iEkgUJyQlB3iLA3DJp50hUo/ww1UpKWA1xN+WB/gbsnF/zuNu+/jXCKftJT9aH7wEfmQJ3M74BsLvU1Xvy7ve/Kb9Ie2DeO8=
X-Gm-Message-State: AOJu0YxGF98JbzJxLtIVDbqjGl3RZAFxlS1ClzbbWTtvl9bFQ48traDz
	fJVevQT4n0gbkTUjN0w4O22xtKYYPECZiKZsLdPaVKtW7coCNbN9Nq3ieWQ1D20=
X-Google-Smtp-Source: AGHT+IGZPm+FIAOkPKOgY0ZQArf5Ad/fV9gnTy2WhwJ3E8RrWJzq/Ij1TxNdKTMCzQgLK7d0qTFsPg==
X-Received: by 2002:a05:6102:5491:b0:47a:28c9:8309 with SMTP id bk17-20020a056102549100b0047a28c98309mr3825654vsb.9.1712933808093;
        Fri, 12 Apr 2024 07:56:48 -0700 (PDT)
Message-ID: <80023689-5783-4b77-97b3-dba5a697057e@citrix.com>
Date: Fri, 12 Apr 2024 15:56:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Implemented Amd Secure Processor device driver
To: Andrei Semenov <andrei.semenov@vates.fr>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1712759753.git.andrei.semenov@vates.fr>
 <8c9627ef69e8d809efcb93b50fc34474f2b0ba7f.1712759753.git.andrei.semenov@vates.fr>
 <db0f49d5-ea9e-4c62-b7ac-c856656b1e29@citrix.com>
 <be2e990c-50bc-4950-a70b-755ffebeaadd@vates.fr>
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: <be2e990c-50bc-4950-a70b-755ffebeaadd@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 3:49 pm, Andrei Semenov wrote:
>> Can you discuss this comment:
>>>      CET shadow stack: adapt #CP handler???
>> some more.  What's going on?
>
> Yep. Actually CET Shadow Stack raised #21 exception  (near ret) on older
>
> versions of Xen (when I said older I talk about 4.19 unstable). This
> is no more
>
> the case on staging branch. So it was fixed somehow. Sorry didn't check
>
> - will fix.

#CP[near ret] means you (/something) clobbered the return address on the
one of the two stacks.

It is something to take seriously, but it's most likely an issue in the
code you're adding, rather than an existing issue in Xen.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 15:07:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 15:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704757.1101310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIUv-00078X-K4; Fri, 12 Apr 2024 15:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704757.1101310; Fri, 12 Apr 2024 15:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIUv-00078Q-FU; Fri, 12 Apr 2024 15:07:25 +0000
Received: by outflank-mailman (input) for mailman id 704757;
 Fri, 12 Apr 2024 15:07: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=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvIUu-00078K-El
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 15:07:24 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d3d0811-f8de-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 17:07:23 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-78d743f3654so72760585a.0
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 08:07:23 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f13-20020a056214076d00b0069b5ec80687sm358753qvz.62.2024.04.12.08.07.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 08: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: 5d3d0811-f8de-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712934442; x=1713539242; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=o7HNu0dPrjmXqFtIUinuxAobPIIwsp56GEzE5+RJ6zk=;
        b=R7bMbf9VTYybtzk9P2TJLXfu5DUgT06IE63P6q33Bkm1M/7R94MMhDfKek0WZeFku3
         lX05caNgY70wC+k9iztHyIeaFzG+QDrO6DxkTH2PO1VK31bDmqzn1je5LIj1jZkcfijp
         A/OMQ5HU84i8+Jh9hgMyPcErtVzDuCSBVOLoM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712934442; x=1713539242;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o7HNu0dPrjmXqFtIUinuxAobPIIwsp56GEzE5+RJ6zk=;
        b=ori5yn2GH0N/Zuu0KAH7HU9MANtgvydhAd8uILh7Wovq1DoPAghGXF5J86l1u+KTvD
         OkB94adgmICRxWCF37tWE1oxx3uzznAV4I+SxYi2sHjGHhQQQdQr29eFB7zpbE/OjAoP
         51SMvAw6VtdKt1QQMroo9zqV5umNNJK+djsjYL8OyHZZY6gD64hNZS7xCO4ajK96IgJ0
         Dtl4NbFPmSWKv99JoTSS7wIqW4ZgrbAts1tzpwdmEQj8Gd9I1BZXIvgEPJdQAjcous7c
         spFvrdHa+0lfh+0ii1078SxOBHGAJuV/uIPsbD08bbESwgyPXBabbIhdvXImYIuQG5XC
         d0kQ==
X-Forwarded-Encrypted: i=1; AJvYcCUaF9fYMbgKD5acJIhjs10QF/2Qko2FgtRWD8GVczKxMomShF3CEQfVfqq0Z3nd9K1/qznTpi2FHujjM+pubVJ/uAJiJ76Wy2CYpfcKocA=
X-Gm-Message-State: AOJu0Yz8j2rAR7NvhohahH1tpsYgRJbEcw4PvIf/L9I0oE0/JdwA3bmF
	jY2D/bwb1pZh0v3KmseSJ2Rdwd7ipO6Np45u/eOSJpBXWEFx+b0sBFKCrkB8WLk=
X-Google-Smtp-Source: AGHT+IEVRRAwEA21LwckaVpRqR1lJSB3ntZj35FspW3F277kCwmiSnYyqiGXXpwY4Wwsy5bZUZQbAw==
X-Received: by 2002:a05:6214:c43:b0:699:2673:1dea with SMTP id r3-20020a0562140c4300b0069926731deamr3628781qvj.33.1712934441960;
        Fri, 12 Apr 2024 08:07:21 -0700 (PDT)
Message-ID: <97cb014b-de7d-4368-a685-fe3fd95acbdc@citrix.com>
Date: Fri, 12 Apr 2024 16:07:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] Implemented AMD SEV discovery and enabling.
To: Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Andrei Semenov <andrei.semenov@vates.fr>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1712759753.git.andrei.semenov@vates.fr>
 <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr>
 <a9638611-8348-462a-a25d-a9efe3fabf9a@citrix.com>
 <ede83752-6151-4c23-a8c0-883aa7bee129@vates.fr>
 <51d5395e-7341-438f-8472-3391531c5bb0@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: <51d5395e-7341-438f-8472-3391531c5bb0@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 3:38 pm, Vaishali Thakkar wrote:
> On 4/12/24 4:06 PM, Andrei Semenov wrote:
>> On 4/11/24 20:32, Andrew Cooper wrote:
>>> On 10/04/2024 4:36 pm, Andrei Semenov wrote:
>>>> +    }
>>>> +
>>>> +    if (!(cpu_has_sme || cpu_has_sev))
>>>> +        return;
>>>> +
>>>> +    if (!smp_processor_id()) {
>>>> +        if (cpu_has_sev)
>>>> +            printk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",
>>>> +            min_sev_asid, max_sev_asid);
>>> Why do we have a min as well as a max?  Isn't min always 1?
>
> In the case of SEV, it's not true. Some BIOS allow to set the
> min_asid. So yeah Xen will also need to adapted for the same.
> I've a WIP patch for allowing dynamic generation of asid in such
> a case.

I also got an answer to this out of a contact of mine at AMD.

The ASID space is divided, 1->$N for SEV-ES/SNP guest, and $N->$M for
SEV guests.

It is a security issue to start a guest as ES/SNP, then "migrate" it to
being SEV-only, so the different types are tracked explicitly.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 15:19:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 15:19:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704769.1101337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIg8-0004Jm-U0; Fri, 12 Apr 2024 15:19:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704769.1101337; Fri, 12 Apr 2024 15:19:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIg8-0004Jf-QK; Fri, 12 Apr 2024 15:19:00 +0000
Received: by outflank-mailman (input) for mailman id 704769;
 Fri, 12 Apr 2024 15:18:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JHrI=LR=bounce.vates.tech=bounce-md_30504962.661950df.v1-4b3b6470d4ae42d982f3773ae2922d63@srs-se1.protection.inumbo.net>)
 id 1rvIg7-0004JZ-1x
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 15:18:59 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id faedc99a-f8df-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 17:18:57 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VGKwJ0GtnzDRHxRY
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 15:18:56 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 4b3b6470d4ae42d982f3773ae2922d63; Fri, 12 Apr 2024 15:18:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faedc99a-f8df-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712935136; x=1713195636;
	bh=K08HFUcBhXN8aSqW6xd9xivhzm9bYCg0sX7MBc+VEsA=;
	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=CcESwrk8hVdi4iBJ5d3zcdUVZ+/pBTdNkErAyMWqWFqqAPPuU10fevtiEntR5ow3V
	 K2diCBJ5etYiI4ekdJIYJzyxfuDprKcAns+mU22Nh5L86Sw6PBacRafzpqIGEzHd3U
	 jwC9Baad8C+0dUd0gy8Iy4o3KbCuIVbZpNHZAvxZIFvM6CGkhGXLMU23Z13c139TrE
	 VTJDxpa7Ytu0o2uqG5eaI0USmdVXusJF4jCHHUI4F1aD3yWkCsaO2w2bBULZ2Oy70L
	 KY5E535JzUeVS2Pn59HlZTZcynxRUjifNp64Qput8JDn/Nt52cogkC0Q4Mmd+b8y1a
	 iu+7PRAwBul6A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712935136; x=1713195636; i=vaishali.thakkar@vates.tech;
	bh=K08HFUcBhXN8aSqW6xd9xivhzm9bYCg0sX7MBc+VEsA=;
	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=IZbLCtlOdIC551Lb1P5ABlqq+5lo3hiC9ZDoqGTirRtPqTBXR5G28W/sajxmLQLl8
	 R2egHLdSxjz5eTX+prSo+S77XpbCcK1IWdy8BfyP66hBy60mlPI/vlvxcKTIZiDjSg
	 stGgUYGmrD9WLl0p9t9/6yltBuyKIQghshrhFLdA7z2R/Mnqg4P1hH3qWB5RrP2fjQ
	 LesahlQ+YwGfkYaO/YpV8QDO9DdMchWkiSym8tibWqArfknlhU0DPRG2tF3R5u/Vr5
	 GSAmzNDFAZVsKkZlMxqtq7JN+gl18U4Iu4P0Yd8eXSJguiUPNGoe0rCDtUUPJe8s35
	 RjeXvnd0HVFkA==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=201/2]=20Implemented=20AMD=20SEV=20discovery=20and=20enabling.?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712935134854
Message-Id: <33072ee1-667f-4c05-a110-bc5d8395bc39@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Andrei Semenov <andrei.semenov@vates.fr>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
References: <cover.1712759753.git.andrei.semenov@vates.fr> <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr> <a9638611-8348-462a-a25d-a9efe3fabf9a@citrix.com> <ede83752-6151-4c23-a8c0-883aa7bee129@vates.fr> <51d5395e-7341-438f-8472-3391531c5bb0@vates.tech> <97cb014b-de7d-4368-a685-fe3fd95acbdc@citrix.com>
In-Reply-To: <97cb014b-de7d-4368-a685-fe3fd95acbdc@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.4b3b6470d4ae42d982f3773ae2922d63?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 15:18:55 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 4/12/24 5:07 PM, Andrew Cooper wrote:
> On 12/04/2024 3:38 pm, Vaishali Thakkar wrote:
>> On 4/12/24 4:06 PM, Andrei Semenov wrote:
>>> On 4/11/24 20:32, Andrew Cooper wrote:
>>>> On 10/04/2024 4:36 pm, Andrei Semenov wrote:
>>>>> +=C2=A0=C2=A0=C2=A0 }
>>>>> +
>>>>> +=C2=A0=C2=A0=C2=A0 if (!(cpu_has_sme || cpu_has_sev))
>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return;
>>>>> +
>>>>> +=C2=A0=C2=A0=C2=A0 if (!smp_processor_id()) {
>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (cpu_has_sev)
>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 p=
rintk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",
>>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
in_sev_asid, max_sev_asid);
>>>> Why do we have a min as well as a max?=C2=A0 Isn't min always 1?
>>
>> In the case of SEV, it's not true. Some BIOS allow to set the
>> min_asid. So yeah Xen will also need to adapted for the same.
>> I've a WIP patch for allowing dynamic generation of asid in such
>> a case.
> 
> I also got an answer to this out of a contact of mine at AMD.
> 
> The ASID space is divided, 1->$N for SEV-ES/SNP guest, and $N->$M for
> SEV guests.
> 
> It is a security issue to start a guest as ES/SNP, then "migrate" it to
> being SEV-only, so the different types are tracked explicitly.

Aha, yeah that seems like a better explanation. Thanks for checking with
the AMD person.

> ~Andrew



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 15:30:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 15:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704779.1101350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIra-0000RY-WD; Fri, 12 Apr 2024 15:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704779.1101350; Fri, 12 Apr 2024 15:30:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvIra-0000RR-Sv; Fri, 12 Apr 2024 15:30:50 +0000
Received: by outflank-mailman (input) for mailman id 704779;
 Fri, 12 Apr 2024 15:30: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=HqPC=LR=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rvIrY-0000RL-Rw
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 15:30:48 +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 a1b6e738-f8e1-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 17:30:46 +0200 (CEST)
Received: from AM0PR04CA0067.eurprd04.prod.outlook.com (2603:10a6:208:1::44)
 by AS2PR08MB9076.eurprd08.prod.outlook.com (2603:10a6:20b:5fe::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr
 2024 15:30:43 +0000
Received: from AM4PEPF00027A68.eurprd04.prod.outlook.com
 (2603:10a6:208:1:cafe::d4) by AM0PR04CA0067.outlook.office365.com
 (2603:10a6:208:1::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.22 via Frontend
 Transport; Fri, 12 Apr 2024 15:30:43 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A68.mail.protection.outlook.com (10.167.16.85) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Fri, 12 Apr 2024 15:30:43 +0000
Received: ("Tessian outbound 9fd7e4b543e6:v313");
 Fri, 12 Apr 2024 15:30:43 +0000
Received: from 8bca064b5a18.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 71B41DA6-3CCA-44A1-B429-57F72AFAAD07.1; 
 Fri, 12 Apr 2024 15:30:36 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8bca064b5a18.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 12 Apr 2024 15:30:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB6390.eurprd08.prod.outlook.com (2603:10a6:20b:31b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.53; Fri, 12 Apr
 2024 15:30:35 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7409.053; Fri, 12 Apr 2024
 15:30:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1b6e738-f8e1-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cLQho5YYD2A4NNU2S2CBI6+o8dY+Jc2ZRgoJLJBZKCut0va+1ioz8IG5T+ODrbjzRDA5NUFu+eumTU7WvrHupL6N9249ARMuPyxYGhlCCyvs6yJ4+H0Z5XYWgD6qA4or6iiOgJq91arnk5Qp6XAWOL2fjU5GQEjNpeov6iQMFj1OAhcBAIeepf7V60QwaGElsDsjaAPgJGEP3btuAsB/6v/hDZXsrdCPvfIovNEE7833n3hxMhX9LpJs3eGeqBpGnzmjFZHPi9UrFomcBm66lHLTN0DbPdP6dyqmJcPqoIHJkJBVIq6E5r8oPxmdA/kXyxVQYeRUHCMO91QBmtvJzg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yJmK3wVdKY1cpzBM1fyWzpOP5nOKjRVG/PS/RQthayk=;
 b=nMNKy0l1DaZQD8ayFQwv1l7Zyq1HSCGDRW6hjoFmFC3a8xyElIShO+55ldINbGB3YBaVOLQpfJpOHbKBa0y7spVMwnT/8Da3OivBHqJRQBi3Tphh/o73LLJeMFhNMh+tUq5PiWhCVckT5s9oN6dAkxzNeh+vUFi6Q0+Tf8lNdl196Dy6+KYVONtBDjUf4j9vHCMYrvsex5zOZsSMmocuf69tsluwfoqrQa0PV1t0oJoA83COFXdb19cMet4Usk4GyyCjbiuTpgIvSdgs03O5ttV5jo4NGKPzKKq5G+cUqOfcfbcgmktSRnE6RTXOD+6mOLBfW/G0eIC/wQEnJ5AjHw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yJmK3wVdKY1cpzBM1fyWzpOP5nOKjRVG/PS/RQthayk=;
 b=d4Hu1PySTVSw+gPabhODYkMm2m+FLHm3sN4GAaolAKKuiwnFQNkUVMDp68Q/hUDCs29+ZPFonM2YFsBGNazHS1gDiHw8DbabZIxrbMTxkFU9JI2vfvgQu2T8DSPuu5BeKaXGYmO6+3HvdeMDyV0x0WnhX5S0a3S0S2nmfwdudII=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5bf501e3bcec1af4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EoT2Z/xUjd5k1P2DiCSyDTWvB2BrS/A1SKUq6/DNs6vHenF+SztGTJr+Xroi/VYTNitrFmw17GRWmRrqknp9THoL6e1l0Eutvivc1Rrm8cmNGjtNAC6lMfztYNMdhNvuDft72bZWPLYqMDlRZo6jdapGq3IimkPJN+c0QMx0AX8QYgayKQ/7Aeg4NcEnvaDRv4hFcfmCi0A4c6teAr9ZttG+BA9V95wmvaRhdwUEVAxiB/tkPC0f128G+yyT/Ya0oWpThJj8NReesfZBDh3++fKrf00JyMZ2Wk9oezVasQj+f2y/+/fa17DeG9TtJbxSfI+pWM9KuTJ4NHK3ZPPGFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yJmK3wVdKY1cpzBM1fyWzpOP5nOKjRVG/PS/RQthayk=;
 b=CgUjhKBcOvxq0vc7dLy2mC1l8mf6iNhkewU8WfGAswie5HqAP86mDxp/GxcQwN3Ph3mtR86Sni0YM+ncmm+whpvBdl7ijPDkaSl2kR9PTnAUzNqjP4Zug7z9gZEGHwsntnOcatftZuZ/konWiTe5QJnVPyd3zWnz6onqlHVpGsOZCuQhcjAmWZnDJfWDtYI/t7we2ZrSU6ahBrtciSDTrPQ9ZxMXCccfH/1RoC6PDgu6chMSn9UBDd0eT3hpkcfsc5A+0Ro4JfSwlK0O+DPM+BUJInE2tatlof4hrOKZrehGbKpwa8+/c8f3gfWZQV6DZa+5EOyvHC5e0UazBssIEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yJmK3wVdKY1cpzBM1fyWzpOP5nOKjRVG/PS/RQthayk=;
 b=d4Hu1PySTVSw+gPabhODYkMm2m+FLHm3sN4GAaolAKKuiwnFQNkUVMDp68Q/hUDCs29+ZPFonM2YFsBGNazHS1gDiHw8DbabZIxrbMTxkFU9JI2vfvgQu2T8DSPuu5BeKaXGYmO6+3HvdeMDyV0x0WnhX5S0a3S0S2nmfwdudII=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien.grall.oss@gmail.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Michal Orzel <michal.orzel@amd.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
Thread-Topic: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
Thread-Index: AQHai6GBZ8b+Nd1+T0SyR++yfNJA87FiLIoAgAF1zYCAAQgbgIAAGvcA
Date: Fri, 12 Apr 2024 15:30:35 +0000
Message-ID: <C8D49EE7-B214-41D5-9556-4D3B98629CEA@arm.com>
References:
 <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-1-stefano.stabellini@amd.com>
 <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
 <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2gOTLy2B7y9bELQHPhFmCpU2nhyV5zy9_uQvsvx5prqw@mail.gmail.com>
In-Reply-To:
 <CAJ=z9a2gOTLy2B7y9bELQHPhFmCpU2nhyV5zy9_uQvsvx5prqw@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB6390:EE_|AM4PEPF00027A68:EE_|AS2PR08MB9076:EE_
X-MS-Office365-Filtering-Correlation-Id: 790987ae-c0fc-4217-f3eb-08dc5b05847c
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Jpc36tR07GX5IrhVhy5gykkCDFmaPhoSkgxDbQguNLkmmtyPm3eUTe/obT4cN2YpSekWvoJyqoGQxKDcoMCJf2N2D5PEODSg8Ds5hPkH/DUmuwCNpb7M+YJWx9xDjzChLplXQMwu5E/Tp7TFQJ7s2rZuEwQOtR1av+MP5nw7e26YaHKFkOIf7rxsn4qBMMnAzyvIPxq+rhPV13rNSGimQyytTLtIkJlcbqSQnbD23ICocRELqxgkAgcmvEkKIGrP/KKQPH5o7gdzgXLCtlR2G5hIg4YSZ5Z7HIMc2KyEx8P0AubLzUrqT2KOPvMIlc+OS1OI4f3ZR6lZXks0E89eC36SXX9S58YWjfi1UmHi0E6phOOMAy8NSBicte8oNg878oFSzy0WtWF+Rt+zyloRN8DHAci2o1N8+W686rRWKcm0qmzBD+VAVzQtKYQxRohPribPgSAlHQDyODFk8o4b3onnKaucbOxBJkm5X0s+uk+KOLaJDC5hg6TzzDjNnqe3eFW0c/2js7ovkDksAT6QI7KceQbMAqry5MIh0g2rI9OLs7ywT5nM/0D/cQLkExJtQi35m6q8tIFOazXAE9Mt+dkb7Y9mtBQx1ahY7i/02Ujku0BSEPRTq9tQfebgrK8apSs6bD7jw6710ceJgzVN413ZgLO/Od1Uve8ekAQlOyQLWJRPZ5xKqFYMH7UxO4cq0SCi0Yh/Jki593FxzO0yTLfiClryaRyn0oTe4YC8Kac=
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:(13230031)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <B00C4693732EBB43BB2A5031FDB4D444@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6390
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM4PEPF00027A68.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ee07a235-39c3-42ea-11e2-08dc5b057f8c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FkZe1LECbC6ylR1PppNp0LODtZURJcmkKAd8pF2DwazITokB6rgbbT/DRJpYGv5i6WHXt3SseaeceWQ8bF9WOlQgx/XBpn2XSch2xQtV8wTeh2Wx7K9KSQbgTH7tELppT69SMiyXlyFD6EnznOuONF5bPZzngVgIkG3s8iDltUU1If3xrOnpM5Y09rLTMcorkDoHWSrEyE6VqK9GZ1NLletFAI2QxncMzpZLfUelNgu27QB/mV6tKUZe7B2Z32e9yNBhhwsOHYbuNfYY7mZETqCfFPwpAc+ZZqW1TrqTRutDWUKTOYs0OjGIROGAEAEZSmdWU8tP1f+Af5HL9qY4jgAGXuNb8u+H3mg6AkpjxriNKESk5JfmjAHe7J3N073x3WHvHYL3UCd3Ud9pIZO2uFSuiEQLYlqu1kWZm2Hwh7D3cI/JmFuhowKyIRybWr1CqTgua2EbxZyxqPtdcuDgZgIfwffJNaB4BGqQNxWW/gh11NYGu+36L0ib4OGSWKRYfrBkN2UdPcr+IWCBkOMec6VwJ2HPUX5ZifunC6pH5du8blFHgfZcldt7LHcHEYH8CGj4mV7LppjaU6SqA/NMhcEzxnIEJBdzKf6Es/83yspJj+TczlANRqQjdrMbuim5izGdy4ZxckLvnLJYW5DiRLaU4wsYqiiMhIqZ9iBtDHskNdziVVCvR9UTny21ay08SpFF+ALynx3O4SXawOTHC+AJOkRywO/16NNd3b56v9y26IqE3bFQhCVG9IPmB251
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 15:30:43.4888
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 790987ae-c0fc-4217-f3eb-08dc5b05847c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM4PEPF00027A68.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9076

Hi Julien,

> On 12 Apr 2024, at 15:53, Julien Grall <julien.grall.oss@gmail.com> wrote=
:
>=20
>=20
>=20
> On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini <sstabellini@kernel.org>=
 wrote:
> On Wed, 10 Apr 2024, Julien Grall wrote:
> > On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini <stefano.stabellini@am=
d.com> wrote:
> >       xen_ulong_t is widely used in public headers.
> >=20
> >       Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> >       ---
> >=20
> >       Given that xen_ulong_t is used in public headers there could be a=
 better
> >       place for documenting it but this was the most straightforward to=
 add.
> >       ---
> >        docs/misra/C-language-toolchain.rst | 11 +++++++++++
> >        1 file changed, 11 insertions(+)
> >=20
> >       diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-l=
anguage-toolchain.rst
> >       index 5ddfe7bdbe..7a334260e6 100644
> >       --- a/docs/misra/C-language-toolchain.rst
> >       +++ b/docs/misra/C-language-toolchain.rst
> >       @@ -531,6 +531,17 @@ A summary table of data types, sizes and ali=
gnment is below:
> >             - 64 bits
> >             - x86_64, ARMv8-A AArch64, RV64, PPC64
> >=20
> >       +   * - xen_ulong_t
> >       +     - 32 bits
> >       +     - 32 bits
> >       +     - x86_32
> >       +
> >       +   * - xen_ulong_t
> >       +     - 64 bits
> >       +     - 64 bits
> >       +     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, AR=
Mv8-R
> >       +       AArch32, ARMv7-A
> >=20
> >=20
> > We support neither ARMv8-R nor ARMv8-A Aarch32.
> >=20
> > I could possibly accept the latter because it works to. But the former =
is so far misleading.
>=20
> Yes I think you are right. Moreover this document
> (C-language-toolchain.rst) is meant for the Xen build. While this patch
> is trying to document the types used in the public headers for the
> external-facing ABI.
>=20
> I'll move the information this patch is adding to a separate document,
> specific to the public headers. I will only add the architectures
> currently working: I'll add ARMv8-A Aarch32 because although it is
> unsupported it is interesting to know the size of xen_ulong_t for
> aarch32 in the public headers. I will remove ARMv8-R as it is not
> available upstream.
>=20
> Thinking a bit more. What about Armv9? Rather than listing each version, =
should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and later?

Definitely you are right here but as for Armv8-R, Armv9 is not something th=
at we explicitely support right now (even though it should work).

Cheers
Bertrand




From xen-devel-bounces@lists.xenproject.org Fri Apr 12 15:51:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 15:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704791.1101365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvJBL-00079X-LM; Fri, 12 Apr 2024 15:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704791.1101365; Fri, 12 Apr 2024 15: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 1rvJBL-00079Q-Iq; Fri, 12 Apr 2024 15:51:15 +0000
Received: by outflank-mailman (input) for mailman id 704791;
 Fri, 12 Apr 2024 15:51:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1s45=LR=bounce.vates.tech=bounce-md_30504962.6619586d.v1-804ca0ef3c9a466d9fec5ec3a2fb4456@srs-se1.protection.inumbo.net>)
 id 1rvJBK-00079K-CP
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 15:51:14 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b60cfa9-f8e4-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 17:51:11 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VGLdT4f8czDRHxF3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 15:51:09 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 804ca0ef3c9a466d9fec5ec3a2fb4456; Fri, 12 Apr 2024 15:51: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: 7b60cfa9-f8e4-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1712937069; x=1713197569;
	bh=03la/Fku9MF9N/hn89aFTB+r3ul5r5z7WB2sjnikZ8I=;
	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=T7mWjvas/bb1bmzeHlsIkhH8XtjVKTw4LwzHTTHmhDwBcrNmulQxO9tsLeJA9c0Tn
	 YwZSkcVyWKvgafkEl7eFlmWY73Albmk7qDXnb55+j7GJhcz2u84X6DCK3MzFc8qD/x
	 6PvreV+OYyDpnJugk31CiUz4YZHlj3zIFX9OnQpvsjkFzl38x6DYgGYHZKDETxS0Q8
	 HT7DXHen4FvEP3qwGDcxKfRxiUYlO58bbGOBwLGmuYeThUnMIFv4pnR1IG3v5iqthd
	 KEWJeaQSVFY7vWG4KuJao/Xk0hy48+CLo/OhAYYdgAt7Kp7uTxJH1LaSGj6XKpG4wx
	 JqVuk6TYNbGfQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1712937069; x=1713197569; i=teddy.astie@vates.tech;
	bh=03la/Fku9MF9N/hn89aFTB+r3ul5r5z7WB2sjnikZ8I=;
	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=Qm6zaX6rIf32Wd2SxH7s4qOA126jll04yykmdUZf6xr76EmQyGjWuuDC35iMwaojW
	 otjWgdSJy5bSzaYhZuB+C//hA+98nQUyQrqESrKCDhRX4GhbR4fPKmGkbD8ISiSVur
	 rATNAnrcgV9JVWU4IdPqvXMTxDYoDs4t/RCVYUErcBelVuuOOb/gD873J7BxIN82hb
	 AAc9wBALjaZ48hbdTNVY2cUztXZjafSA4nPaPsu6iqZb/lfmknBuhrPa0HwNM3MEel
	 muaKHRogdEDIhBbMQeeTK/4W1M45YrT9K8BDv0746mCSgqbV4sLFDWTSSv8V5yJa5D
	 Vozt+sw9XWZUw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=20v3=200/3]=20x86/iommu:=20Drop=20IOMMU=20support=20when=20cx16=20isn't=20supported?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1712937068440
Message-Id: <1e7bf9be-79b6-4147-a92d-37298685056a@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1712915011.git.teddy.astie@vates.tech> <727d038c-6401-47bf-b1a6-23a554c6154c@citrix.com>
In-Reply-To: <727d038c-6401-47bf-b1a6-23a554c6154c@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.804ca0ef3c9a466d9fec5ec3a2fb4456?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240412:md
Date: Fri, 12 Apr 2024 15:51:09 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 12/04/2024 =C3=A0 16:49, Andrew Cooper a =C3=A9crit=C2=A0:

> 1) You introduced trailing whitespace in patch 1 in the middle line here:
> 
>> + ASSERT(spin_is_locked(&iommu->intremap.lock)); + + old_ire =3D *entry;

Good catch, will fix

> 2) In your commit messages, the grammar is a bit awkward.=C2=A0 It would =
be
> clearer to say:
> 
> "All hardware with VT-d/AMD-Vi has CMPXCHG16 support.=C2=A0 Check this at
> initialisation time, and remove the effectively-dead logic for the
> non-cx16 case."
> 
> just as you've done in the cover letter.

Yes

> 3) In patch 1, you shouldn't modify x2apic_bsp_setup() like that.
> x2APIC && no-IOMMU is a legal combination.
> 
> Instead, you should put a cx16 check in both driver's supports_x2apic()
> hooks.

In this case, you mean both intel_iommu_supports_eim and iov_supports_xt 
(AMD) ?

> 
> 4) In patch 3, you should drop the Suggested-by me.=C2=A0 You found that =
one
> all yourself.
>

Will change this.

Teddy

---


Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 16:41:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 16:41:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704809.1101393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvJxc-00061d-9G; Fri, 12 Apr 2024 16:41:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704809.1101393; Fri, 12 Apr 2024 16:41:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvJxc-00061W-6L; Fri, 12 Apr 2024 16:41:08 +0000
Received: by outflank-mailman (input) for mailman id 704809;
 Fri, 12 Apr 2024 16:41: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 1rvJxa-00061M-Ub; Fri, 12 Apr 2024 16: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 1rvJxa-0000gF-Om; Fri, 12 Apr 2024 16: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 1rvJxa-0000vH-Gd; Fri, 12 Apr 2024 16:41:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvJxY-0007k4-QV; Fri, 12 Apr 2024 16: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=EwHYHh0IARqs+bYj3xMs151+Y1Ga2yq+ar/JItqpMbQ=; b=cs+VHNXiK2tVPZvfbWuvN9zHvB
	vmsDjOcMU+lBTYD1HB2gamB90EF/VEbdaNZtsh/cZsHSR5umiOKs4LV+yoqiwOwGKX9MPzdqsKmgT
	9nR33WB/O8Ir2jYArlQeX9cAZKzfCR4alODuWssUhCT9YlNFv7JF7+QFN/xsZXL6MTp4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185310-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185310: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:test-armhf-armhf-xl-raw:host-ping-check-xen:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 16:41:04 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 185281

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw      10 host-ping-check-xen fail pass in 185375-retest

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

version targeted for testing:
 xen                  0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    3 days
Failing since        185294  2024-04-10 04:20:17 Z    2 days    2 attempts
Testing same since   185310  2024-04-11 09:41:58 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Jan Beulich <jbeulich@suse.com>
  John Ernberg <john.ernberg@actia.se>
  Julien Grall <jgrall@amazon.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 17:01:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 17:01:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704817.1101404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvKHO-0003it-UH; Fri, 12 Apr 2024 17:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704817.1101404; Fri, 12 Apr 2024 17: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 1rvKHO-0003im-RG; Fri, 12 Apr 2024 17:01:34 +0000
Received: by outflank-mailman (input) for mailman id 704817;
 Fri, 12 Apr 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=fc9m=LR=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1rvKHO-0003ig-0s
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 17:01:34 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f597418-f8ee-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 19:01:31 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-346f4266e59so817992f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 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: 4f597418-f8ee-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1712941291; x=1713546091; 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=ueitQytYne9OVwQaypVcnl+jAqVfXtnGsCDMUbf4oFU=;
        b=ZE/RfaT4X7WXBm0k2gAPVRMA4ZTqJ5ObMe4N8X9znQ9LuGiZ/QRP5Qw25uyR/nrQcD
         /lACQ6w105Yh+7vZ1T2oap8s2Q5D9kHWwRh5Elo7SoTExoU95hleRDy15z83GTGRNSU5
         K5rrjHF4NigANj+itEJVLZbpw6SVoBn1Ow0v5AfGoVYdPyQpP7rvdOblnGcdBe63YiyW
         LhrLitcgoDwKrl/yr0lOg95dQQVbal4O1gXFQ83iv0eSj3WewDeg5yFPHtZbkbIMzZEG
         DScaPqfaawRSuqcWxWZ0hJkpYr2/hRJsPyz8B/braTVeghWf9mnzGy15y9xAZS8J4pRP
         brkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712941291; x=1713546091;
        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=ueitQytYne9OVwQaypVcnl+jAqVfXtnGsCDMUbf4oFU=;
        b=GSSsrmWDVbknyx6c35NpOi3kE2YfBThiIs1TL6sf3T57p/HOSzRQq+AS8VvpxQcK9e
         v1Ep4F2AuNyWBiTL2G2gKiSsfT0vGbiJe9YcDzewW6JSBZ6ZsDMSPEZ2qXshmD7o+P4x
         r3JNSLMDCjAXkm3vT/G1XuZaJku3FgaytRzW2Nr+fBx0y21TF/vIKBE4sCikZqKSmWUB
         /Dj2NrBjHLQIPoAg8sKLuabLdtMCPvOKqqPuPZPw4pYJUQismC7v/e+6DpDDqyS07c+I
         QWvaeCxZk3XQ6aOTdSAsvLV0bUjxdFZKyOdsrwRQxPSLyuxe9sFV7YqV7F3TldOThbJo
         m8uQ==
X-Forwarded-Encrypted: i=1; AJvYcCWjVDsVxPjRY6/xOtn2leqsO3I4Cgy/v4ZGaQsI5ARHNfV3sLSetxpWu0VVC71zDStvq3YmTlzP+V07aGuLsdA4pOI6/yYCviO8mtLGdFQ=
X-Gm-Message-State: AOJu0YyxSlZUqSEgzsezyKQP0bbPLnvio5/+EPrs2CsNUHpfLRP69fU9
	DPbasjcQ0Uj9fETuShykytqBIiwWQbj0y1BgE8P0/JVOR6dRc/2iZ5x9sRfq0Jttyxly1hCZAjb
	/8fNZQ+Ombj5fub97BiP3QraNeUs=
X-Google-Smtp-Source: AGHT+IFBZYHNpbDmEQN7Omwd524Ik0tbR/W+fqn7hl5rLjTm7FLPy6NlTFF6akOWTgAEWtc5H9R/M/ILVBdq3TXHRDQ=
X-Received: by 2002:a5d:484d:0:b0:343:69b4:b527 with SMTP id
 n13-20020a5d484d000000b0034369b4b527mr2035092wrs.18.1712941290627; Fri, 12
 Apr 2024 10:01:30 -0700 (PDT)
MIME-Version: 1.0
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-1-stefano.stabellini@amd.com> <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
 <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2gOTLy2B7y9bELQHPhFmCpU2nhyV5zy9_uQvsvx5prqw@mail.gmail.com> <C8D49EE7-B214-41D5-9556-4D3B98629CEA@arm.com>
In-Reply-To: <C8D49EE7-B214-41D5-9556-4D3B98629CEA@arm.com>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Fri, 12 Apr 2024 13:01:19 -0400
Message-ID: <CAJ=z9a2ENW-3vh4N59csoeMHeMPGv9XFUuC6GrMTYMKM=FpwgQ@mail.gmail.com>
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers sizes/alignments
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, Michal Orzel <michal.orzel@amd.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Stefano Stabellini <stefano.stabellini@amd.com>, 
	Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000002628d60615e9396c"

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

On Fri, 12 Apr 2024 at 11:30, Bertrand Marquis <Bertrand.Marquis@arm.com>
wrote:

> Hi Julien,
>
> > On 12 Apr 2024, at 15:53, Julien Grall <julien.grall.oss@gmail.com>
> wrote:
> >
> >
> >
> > On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini <sstabellini@kernel.or=
g>
> wrote:
> > On Wed, 10 Apr 2024, Julien Grall wrote:
> > > On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini <
> stefano.stabellini@amd.com> wrote:
> > >       xen_ulong_t is widely used in public headers.
> > >
> > >       Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > >       ---
> > >
> > >       Given that xen_ulong_t is used in public headers there could be
> a better
> > >       place for documenting it but this was the most straightforward
> to add.
> > >       ---
> > >        docs/misra/C-language-toolchain.rst | 11 +++++++++++
> > >        1 file changed, 11 insertions(+)
> > >
> > >       diff --git a/docs/misra/C-language-toolchain.rst
> b/docs/misra/C-language-toolchain.rst
> > >       index 5ddfe7bdbe..7a334260e6 100644
> > >       --- a/docs/misra/C-language-toolchain.rst
> > >       +++ b/docs/misra/C-language-toolchain.rst
> > >       @@ -531,6 +531,17 @@ A summary table of data types, sizes and
> alignment is below:
> > >             - 64 bits
> > >             - x86_64, ARMv8-A AArch64, RV64, PPC64
> > >
> > >       +   * - xen_ulong_t
> > >       +     - 32 bits
> > >       +     - 32 bits
> > >       +     - x86_32
> > >       +
> > >       +   * - xen_ulong_t
> > >       +     - 64 bits
> > >       +     - 64 bits
> > >       +     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32,
> ARMv8-R
> > >       +       AArch32, ARMv7-A
> > >
> > >
> > > We support neither ARMv8-R nor ARMv8-A Aarch32.
> > >
> > > I could possibly accept the latter because it works to. But the forme=
r
> is so far misleading.
> >
> > Yes I think you are right. Moreover this document
> > (C-language-toolchain.rst) is meant for the Xen build. While this patch
> > is trying to document the types used in the public headers for the
> > external-facing ABI.
> >
> > I'll move the information this patch is adding to a separate document,
> > specific to the public headers. I will only add the architectures
> > currently working: I'll add ARMv8-A Aarch32 because although it is
> > unsupported it is interesting to know the size of xen_ulong_t for
> > aarch32 in the public headers. I will remove ARMv8-R as it is not
> > available upstream.
> >
> > Thinking a bit more. What about Armv9? Rather than listing each version=
,
> should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and late=
r?
>
> Definitely you are right here but as for Armv8-R, Armv9 is not something
> that we explicitely support right now (even though it should work).


I am confused with the comparison. I thought you can=E2=80=99t boot Xen at =
all on
Armv8-R. But you can on Armv9-A as this just Armv8-A + features the
software don=E2=80=99t need to use.

Did you intend to draw the comparison with Armv8-A Aarch32?

Cheers,


>
> Cheers
> Bertrand
>
>
>

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

<div><br></div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Fri, 12 Apr 2024 at 11:30, Bertrand Marquis &lt;<a href=
=3D"mailto:Bertrand.Marquis@arm.com">Bertrand.Marquis@arm.com</a>&gt; wrote=
:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.=
8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-l=
eft-color:rgb(204,204,204)">Hi Julien,<br>
<br>
&gt; On 12 Apr 2024, at 15:53, Julien Grall &lt;<a href=3D"mailto:julien.gr=
all.oss@gmail.com" target=3D"_blank">julien.grall.oss@gmail.com</a>&gt; wro=
te:<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini &lt;<a href=3D"mailto=
:sstabellini@kernel.org" target=3D"_blank">sstabellini@kernel.org</a>&gt; w=
rote:<br>
&gt; On Wed, 10 Apr 2024, Julien Grall wrote:<br>
&gt; &gt; On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini &lt;<a href=3D"m=
ailto:stefano.stabellini@amd.com" target=3D"_blank">stefano.stabellini@amd.=
com</a>&gt; wrote:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0xen_ulong_t is widely used in public he=
aders.<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Signed-off-by: Stefano Stabellini &lt;<=
a href=3D"mailto:stefano.stabellini@amd.com" target=3D"_blank">stefano.stab=
ellini@amd.com</a>&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0---<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Given that xen_ulong_t is used in publi=
c headers there could be a better<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0place for documenting it but this was t=
he most straightforward to add.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0---<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 docs/misra/C-language-toolchain.rst | =
11 +++++++++++<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 1 file changed, 11 insertions(+)<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0diff --git a/docs/misra/C-language-tool=
chain.rst b/docs/misra/C-language-toolchain.rst<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0index 5ddfe7bdbe..7a334260e6 100644<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0--- a/docs/misra/C-language-toolchain.r=
st<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+++ b/docs/misra/C-language-toolchain.r=
st<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0@@ -531,6 +531,17 @@ A summary table of=
 data types, sizes and alignment is below:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0- 64 bits<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0- x86_64, ARMv8-A =
AArch64, RV64, PPC64<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0* - xen_ulong_t<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 32 bits<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 32 bits<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- x86_32<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0* - xen_ulong_t<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 64 bits<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- 64 bits<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0- x86_64, ARMv8-A =
AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0+=C2=A0 =C2=A0 =C2=A0 =C2=A0AArch32, AR=
Mv7-A<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; We support neither ARMv8-R nor ARMv8-A Aarch32.<br>
&gt; &gt; <br>
&gt; &gt; I could possibly accept the latter because it works to. But the f=
ormer is so far misleading.<br>
&gt; <br>
&gt; Yes I think you are right. Moreover this document<br>
&gt; (C-language-toolchain.rst) is meant for the Xen build. While this patc=
h<br>
&gt; is trying to document the types used in the public headers for the<br>
&gt; external-facing ABI.<br>
&gt; <br>
&gt; I&#39;ll move the information this patch is adding to a separate docum=
ent,<br>
&gt; specific to the public headers. I will only add the architectures<br>
&gt; currently working: I&#39;ll add ARMv8-A Aarch32 because although it is=
<br>
&gt; unsupported it is interesting to know the size of xen_ulong_t for<br>
&gt; aarch32 in the public headers. I will remove ARMv8-R as it is not<br>
&gt; available upstream.<br>
&gt; <br>
&gt; Thinking a bit more. What about Armv9? Rather than listing each versio=
n, should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and lat=
er?<br>
<br>
Definitely you are right here but as for Armv8-R, Armv9 is not something th=
at we explicitely support right now (even though it should work).</blockquo=
te><div dir=3D"auto"><br></div><div dir=3D"auto">I am confused with the com=
parison. I thought you can=E2=80=99t boot Xen at all on Armv8-R. But you ca=
n on Armv9-A as this just Armv8-A + features the software don=E2=80=99t nee=
d to use.</div><div dir=3D"auto"><br></div><div dir=3D"auto">Did you intend=
 to draw the comparison with Armv8-A Aarch32?</div><div dir=3D"auto"><br></=
div><div dir=3D"auto">Cheers,</div><div dir=3D"auto"><br></div><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1=
px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,2=
04)" dir=3D"auto"><br>
<br>
Cheers<br>
Bertrand<br>
<br>
<br>
</blockquote></div></div>

--0000000000002628d60615e9396c--


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 17:13:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 17:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704825.1101417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvKSW-00071i-Uj; Fri, 12 Apr 2024 17:13:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704825.1101417; Fri, 12 Apr 2024 17:13: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 1rvKSW-00071b-Rn; Fri, 12 Apr 2024 17:13:04 +0000
Received: by outflank-mailman (input) for mailman id 704825;
 Fri, 12 Apr 2024 17:13: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 1rvKSV-00071R-Ln; Fri, 12 Apr 2024 17:13: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 1rvKSV-0001CE-IA; Fri, 12 Apr 2024 17:13: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 1rvKSV-0002JK-9q; Fri, 12 Apr 2024 17:13:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvKSV-0001nk-9L; Fri, 12 Apr 2024 17:13:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=jdBp+Ph9mfAdK6QFSDWGkIKOYh9X5FP6qKTKHY2lO6Y=; b=sQukcoB4w/Pp2jkakQvH/mecBH
	QfS3WArOYgZHUErCjZNQNl5/9hq2Qc3sFpuUHy2NkLwmLjZIcHpWKfnjFtQPN3ty828P9emUZpMXP
	G9MM/punmLDSz40tQEQWTaYVFBoQ/vgS24coHzVyRa0dF/D9Ny3OPJsYNKyK0NARnAOM=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.17-testing bisection] complete test-amd64-amd64-xl-qcow2
Message-Id: <E1rvKSV-0001nk-9L@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 17:13:03 +0000

branch xen-4.17-testing
xenbranch xen-4.17-testing
job test-amd64-amd64-xl-qcow2
testid debian-di-install

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  19887194865cff7d87650c323d5c6b185dfe3ddc
  Bug not present: b8f39fd4d024ea72c586f1afd233f379c6f6230b
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185382/


  commit 19887194865cff7d87650c323d5c6b185dfe3ddc
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.17-testing/test-amd64-amd64-xl-qcow2.debian-di-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.17-testing/test-amd64-amd64-xl-qcow2.debian-di-install --summary-out=tmp/185382.bisection-summary --basis-template=185284 --blessings=real,real-bisect,real-retry xen-4.17-testing test-amd64-amd64-xl-qcow2 debian-di-install
Searching for failure / basis pass:
 185300 fail [host=rimava1] / 185284 [host=fiano1] 185217 [host=fiano0] 185180 [host=elbling0] 185171 [host=rimava0] 185012 [host=himrod0] 185002 [host=debina0] 184909 [host=pinot0] 184838 ok.
Failure / basis pass flights: 185300 / 184838
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 d530627aaa9b6e03c7f911434bb342fca3d13300
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dc7cfa9bab7487aa0cec02d13aa8c34ff24b37a8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 82faf1d5c8b25375b9029f2d6668135e62455a8c 6cbccc4071ef49a8c591ecaddfdcb1cc26d28411
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-347385861c50adc8d4801d4b899eded38a2f04cd git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#dc7cfa9bab7487aa0cec02d13aa8c34ff24b37a8-963671d3801a6992d1aa06f05d86e32efa6b205e git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#ffb451126550b22b43b62fb8731a0d78e3376c03-ffb451126550b22b43b62fb8731a0d78e3376c03 git://xenbits.xen.org/osstest/seabios.git#82faf1d5c8b25375b9029f2d6668135e62455a8c-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#6cbccc4071ef49a8c591ecaddfdcb1cc26d28411-d530627aaa9b6e03c7f911434bb342fca3d13300
adhoc-revtuple-generator: tree discontiguous: linux-pvops
Loaded 12695 nodes in revision graph
Searching for test results:
 184838 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dc7cfa9bab7487aa0cec02d13aa8c34ff24b37a8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 82faf1d5c8b25375b9029f2d6668135e62455a8c 6cbccc4071ef49a8c591ecaddfdcb1cc26d28411
 184909 [host=pinot0]
 185002 [host=debina0]
 185012 [host=himrod0]
 185180 [host=elbling0]
 185171 [host=rimava0]
 185217 [host=fiano0]
 185284 [host=fiano1]
 185300 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 d530627aaa9b6e03c7f911434bb342fca3d13300
 185319 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dc7cfa9bab7487aa0cec02d13aa8c34ff24b37a8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 82faf1d5c8b25375b9029f2d6668135e62455a8c 6cbccc4071ef49a8c591ecaddfdcb1cc26d28411
 185321 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 d530627aaa9b6e03c7f911434bb342fca3d13300
 185327 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0f1281 f38a815a54000ca51ff5165b2863d60b6bbea49c
 185329 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a
 185334 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 a0bd738f9cd158306e046c7a6f3726128219e4eb
 185338 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 aed8192f578fb02111f57eca0868c2262ada1341
 185344 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
 185353 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 653560e02d40c480d08032f3cf1e450db79f5d71
 185358 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 19887194865cff7d87650c323d5c6b185dfe3ddc
 185371 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
 185373 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 19887194865cff7d87650c323d5c6b185dfe3ddc
 185379 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
 185382 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 19887194865cff7d87650c323d5c6b185dfe3ddc
Searching for interesting versions
 Result found: flight 184838 (pass), for basis pass
 For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b, results HASH(0x55ac98d14e58) HASH(0x55ac98d129d0) HASH(0x55ac98d11da8) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a, results HASH(0x55ac98d098e0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8\
 731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0f1281 f38a815a54000ca51ff5165b2863d60b6bbea49c, results HASH(0x55ac98d068e8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dc7cfa9bab7487aa0cec02d13aa8c34ff24b37a8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 82faf1d5c8b25375b9029f2d6668135e62455a8c 6cbccc4071ef49a8c591ecaddfdcb1cc26d28411, results HASH(0x55ac98cf5958) HASH(0x55\
 ac98cef318) Result found: flight 185300 (fail), for basis failure (at ancestor ~1229)
 Repro found: flight 185319 (pass), for basis pass
 Repro found: flight 185321 (fail), for basis failure
 0 revisions at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
No revisions left to test, checking graph state.
 Result found: flight 185344 (pass), for last pass
 Result found: flight 185358 (fail), for first failure
 Repro found: flight 185371 (pass), for last pass
 Repro found: flight 185373 (fail), for first failure
 Repro found: flight 185379 (pass), for last pass
 Repro found: flight 185382 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  19887194865cff7d87650c323d5c6b185dfe3ddc
  Bug not present: b8f39fd4d024ea72c586f1afd233f379c6f6230b
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185382/


  commit 19887194865cff7d87650c323d5c6b185dfe3ddc
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>

pnmtopng: 212 colors found
Revision graph left in /home/logs/results/bisect/xen-4.17-testing/test-amd64-amd64-xl-qcow2.debian-di-install.{dot,ps,png,html,svg}.
----------------------------------------
185382: tolerable ALL FAIL

flight 185382 xen-4.17-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185382/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install       fail baseline untested


jobs:
 test-amd64-amd64-xl-qcow2                                    fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 17:27:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 17:27:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704866.1101436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvKfu-0003lk-6W; Fri, 12 Apr 2024 17:26:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704866.1101436; Fri, 12 Apr 2024 17:26:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvKfu-0003ld-3O; Fri, 12 Apr 2024 17:26:54 +0000
Received: by outflank-mailman (input) for mailman id 704866;
 Fri, 12 Apr 2024 17:26: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=yOJy=LR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rvKft-0003lX-Fo
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 17:26:53 +0000
Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com
 [2607:f8b0:4864:20::834])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d911dff8-f8f1-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 19:26:51 +0200 (CEST)
Received: by mail-qt1-x834.google.com with SMTP id
 d75a77b69052e-434d0a63151so6483091cf.3
 for <xen-devel@lists.xenproject.org>; Fri, 12 Apr 2024 10:26:51 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b7-20020ac812c7000000b00436866ec688sm1289554qtj.0.2024.04.12.10.26.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 12 Apr 2024 10: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: d911dff8-f8f1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1712942810; x=1713547610; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2mUX9Nqb3J1dCvcnsbb0Jn9olFQe/ejrVijowOYkwYs=;
        b=r+Kp3WL0bi4UkRjMCJhuGF1txAqMZJaYu9NyspVgz71HuTQgOgr6aQj4IkdS41a/mG
         3WVh25n/8mKRZhoeUg+2n8mOAvJkmRtRVl4ZoJ8Q+bjdWESmWHj58K5O2FA4fjg0TSFM
         mhi8znmYCbHOog3OUc9n7gzA9k02Dyc0V++6k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1712942810; x=1713547610;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2mUX9Nqb3J1dCvcnsbb0Jn9olFQe/ejrVijowOYkwYs=;
        b=VWQLRgApP79NDvxiWzLfoRxfvRu/PJ7dC1hHyhEMxgBPBjC6EyuOKJxBJSEd0bHWgi
         XHuKjs5j2QNt/5IzlxrdgiX47cOv//58FBsU7ReqSnQdWitFcaGRRHCM9eFOJSp2ti4U
         k/TtaRFV6mEMo3LJRvjKXYjfFo0GuAoLAsxNJ3cVUoN3n69z21iT2I4GdBIw3uSicSgM
         3tl3pI4nJlhrGQVJIakPccVRc0h8rBU8co+sa6WAjhw26Zn8VvlXPYShQXKDAwff7uKm
         qWTx3wuNKLZerbxWQRIP/zn0mJciPSY2IMCY0UfWE62Z6mr1TkUEGvHY0LsOzgvcNrf6
         0dqw==
X-Forwarded-Encrypted: i=1; AJvYcCWkBqgmdSO+Sirm2PLG2IQHzUp0zCLb4PJFhWntIJyjhYKUJAT8DwMhUH8ouVBxvCDEMzaNiGboUKqxP5Sh0896C+qq4y3IitJr6EKGC6k=
X-Gm-Message-State: AOJu0Yw0pY3GDqoFgFei6wVMFJRhIYjUaOQ6/U2dTiGSIrswgsW85Gdd
	Qbor4i5b1jiz9RKj1oQZl2QKn97h8nd+lgFKBYXk90SwE+8T+SMbjOeREpucZxidMv6ON8A4KEs
	jedo=
X-Google-Smtp-Source: AGHT+IEWQW7x+Lg8RColcBB7+YR/jx6UdpqEZqUAxg58hOEi8X7lJZWlnygKJlluedSCCTkgohO+uQ==
X-Received: by 2002:a05:622a:15d2:b0:436:96be:20f with SMTP id d18-20020a05622a15d200b0043696be020fmr2178244qty.4.1712942810214;
        Fri, 12 Apr 2024 10:26:50 -0700 (PDT)
Message-ID: <e31bc365-191b-43a0-9e88-4dcf8452a061@citrix.com>
Date: Fri, 12 Apr 2024 18:26:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 0/3] x86/iommu: Drop IOMMU support when cx16 isn't
 supported
To: Teddy Astie <teddy.astie@vates.tech>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1712915011.git.teddy.astie@vates.tech>
 <727d038c-6401-47bf-b1a6-23a554c6154c@citrix.com>
 <1e7bf9be-79b6-4147-a92d-37298685056a@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: <1e7bf9be-79b6-4147-a92d-37298685056a@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 4:51 pm, Teddy Astie wrote:
> Le 12/04/2024 à 16:49, Andrew Cooper a écrit :
>> 3) In patch 1, you shouldn't modify x2apic_bsp_setup() like that.
>> x2APIC && no-IOMMU is a legal combination.
>>
>> Instead, you should put a cx16 check in both driver's supports_x2apic()
>> hooks.
> In this case, you mean both intel_iommu_supports_eim and iov_supports_xt 
> (AMD) ?

Yes, with the changes in the appropriate patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 18:00:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 18:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704904.1101452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvLCP-0005Ds-S2; Fri, 12 Apr 2024 18:00:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704904.1101452; Fri, 12 Apr 2024 18:00:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvLCP-0005Dl-PA; Fri, 12 Apr 2024 18:00:29 +0000
Received: by outflank-mailman (input) for mailman id 704904;
 Fri, 12 Apr 2024 18:00: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 1rvLCO-0005Db-B7; Fri, 12 Apr 2024 18:00: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 1rvLCO-00025U-94; Fri, 12 Apr 2024 18:00: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 1rvLCN-0004wh-U7; Fri, 12 Apr 2024 18:00:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvLCN-0002dz-Tl; Fri, 12 Apr 2024 18:00:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=29RKCxGxnc8lvkr5+xZTt74cypungVLWjtBF1Q68ZV8=; b=G+DCiB0Vzg+0jSMEX1QQYmm5U2
	NDTW+otTXrEKXQz/KSX2wmH2RjalFpbwQzg4LuABXDKBbpXCBsAHT8tMmL4ixA6y7KBe4egK4GjOu
	WCDHqHU1IrlAcqMDtAyves+Gt/FiZ02gloVf8KG8hDhvLjv52gjzP3bSk0srs7BegBS4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185380-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185380: 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=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=af4cd0a6a61cdb03bc1afca9478b05b0c9703599
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 18:00:27 +0000

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

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                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  af4cd0a6a61cdb03bc1afca9478b05b0c9703599

Last test of basis   185326  2024-04-11 19:04:38 Z    0 days
Testing same since   185380  2024-04-12 15:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.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
   af4cd0a6a6..c0f890cd9d  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 18:32:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 18:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704917.1101465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvLhI-0005c0-Bg; Fri, 12 Apr 2024 18:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704917.1101465; Fri, 12 Apr 2024 18: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 1rvLhI-0005bt-8H; Fri, 12 Apr 2024 18:32:24 +0000
Received: by outflank-mailman (input) for mailman id 704917;
 Fri, 12 Apr 2024 18:32: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 1rvLhH-0005bi-2G; Fri, 12 Apr 2024 18:32: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 1rvLhG-0002kO-W9; Fri, 12 Apr 2024 18:32: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 1rvLhG-0006qf-Lb; Fri, 12 Apr 2024 18:32:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvLhG-0000qK-LC; Fri, 12 Apr 2024 18:32:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VtycVF4HpV+bhXV9COJ6bHVQOyoEFZomg4Z5fS2bAEQ=; b=TP4dEmEdc0Olwo0JlHVmI7ULqk
	HePLxTNec5cYr50San2pY/53zC4SBmb1mNyuNWgfAXwIseZjmdhaGA8F42uA6F/9zH7xvmshx6Iv4
	QHD/BPiSag/iPWgffGE4DpkBrmQ2F0QCEk906FcMX/4D8vpUA/zNBw7diMgqOsAwT+SA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185314-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185314: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-saverestore:fail:regression
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:heisenbug
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 18:32:22 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 185282
 test-amd64-amd64-xl-qemut-debianhvm-amd64 15 guest-saverestore fail REGR. vs. 185282
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 15 guest-saverestore fail REGR. vs. 185282

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 185296 pass in 185314
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore       fail pass in 185296
 test-amd64-amd64-xl-qcow2    12 debian-di-install          fail pass in 185296
 test-amd64-amd64-xl-vhd      12 debian-di-install          fail pass in 185296

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185282
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185282
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185282
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185282
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185282
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185282
 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-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    3 days
Testing same since   185296  2024-04-10 06:02:43 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    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-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                              fail    
 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                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 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                                      fail    
 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 Fri Apr 12 18:48:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 18:48:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704927.1101480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvLwr-0002Cx-Li; Fri, 12 Apr 2024 18:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704927.1101480; Fri, 12 Apr 2024 18:48:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvLwr-0002Cq-JD; Fri, 12 Apr 2024 18:48:29 +0000
Received: by outflank-mailman (input) for mailman id 704927;
 Fri, 12 Apr 2024 18:48: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=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rvLwq-0002Ck-H6
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 18:48:28 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f28f0ef-f8fd-11ee-b908-491648fe20b8;
 Fri, 12 Apr 2024 20:48:27 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B8D008285559;
 Fri, 12 Apr 2024 13:48:25 -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 jltsAkYqeK85; Fri, 12 Apr 2024 13:48:25 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id F3B778285A14;
 Fri, 12 Apr 2024 13:48:24 -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 bYCYhlLHu1ag; Fri, 12 Apr 2024 13:48:24 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 4F8958285559;
 Fri, 12 Apr 2024 13:48:24 -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: 3f28f0ef-f8fd-11ee-b908-491648fe20b8
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com F3B778285A14
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712947705; bh=kENeRGPhMOykWIxdx17jsL3HY2MzI4Sa6hLn3wzgMEc=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=n1BlcvFi8vjRXlxL2/+Dc/u7QZ3LmXAhHr1XCci9X9Lx1U97yonEwg0iAzJObtS2n
	 /qDKgQEYJLTAWRTAfKFHqW9oZxFBOET5xIcZQebTs3dUMeEX2QkYaOpdbvJuN4CY5D
	 do9eKphbU6XzGZMuCPCQtwuAfQNQkYPrM4MoXGRI=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <6bde77da-6ef8-4dc0-8690-6fa50fe47946@raptorengineering.com>
Date: Fri, 12 Apr 2024 13:48:23 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/link: Introduce a common BUGFRAMES definition
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, 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>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240410184217.1482366-1-andrew.cooper3@citrix.com>
 <20240410184217.1482366-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <20240410184217.1482366-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 4/10/24 1:42 PM, Andrew Cooper wrote:
> Bugframe linkage is identical in all architectures.  This is not surprising
> given that it is (now) only consumed by common/virtual_region.c
> 
> Introduce a common BUGFRAMES define in xen.lds.h ahead of rearranging their
> structure.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 18:58:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 18:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704933.1101496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvM6B-0005Pb-Ia; Fri, 12 Apr 2024 18:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704933.1101496; Fri, 12 Apr 2024 18:58:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvM6B-0005PU-Fm; Fri, 12 Apr 2024 18:58:07 +0000
Received: by outflank-mailman (input) for mailman id 704933;
 Fri, 12 Apr 2024 18:58: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 1rvM69-0005PK-UM; Fri, 12 Apr 2024 18:58: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 1rvM69-0003HT-Sk; Fri, 12 Apr 2024 18:58: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 1rvM69-0008FQ-N8; Fri, 12 Apr 2024 18:58:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvM69-0001Dp-KY; Fri, 12 Apr 2024 18:58:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=aQQzoSimxp1lbQpYu04P1qmBBeNxnXu54CEX44eFcPc=; b=d0pmtTelbKzYhhhSS1B9RFsGHa
	fkYeY2lL9imOl31ASAThCHAKU8zYqn45q25M0rbj1fWZAAjkbB7LklR8o95WWZFadgDFy2Li0bhxP
	9OZT2k5oTkLRAdFxkSPtW1Bmakz789b8FCZc0wGoYUQS3xZQZ9r/k/2LgI2tKryDdD2I=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-xl-qemuu-win7-amd64
Message-Id: <E1rvM69-0001Dp-KY@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 18:58:05 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-xl-qemuu-win7-amd64
testid windows-install

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  489d93cd0fdd9609ca0414d7efae51c381106dbc
  Bug not present: 4b3da946ad7e3452761478ae683da842e7ff20d6
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185369/


  commit 489d93cd0fdd9609ca0414d7efae51c381106dbc
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-xl-qemuu-win7-amd64.windows-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-qemuu-win7-amd64.windows-install --summary-out=tmp/185377.bisection-summary --basis-template=185281 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-xl-qemuu-win7-amd64 windows-install
Searching for failure / basis pass:
 185310 fail [host=pinot0] / 185281 ok.
Failure / basis pass flights: 185310 / 185281
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
Basis pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 672b26b66ebb5ff3d28c573a6545a08020b27495
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#347385861c50adc8d4801d4b899eded38a2f04cd-347385861c50adc8d4801d4b899eded38a2f04cd git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f57\
 2342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/xen.git#672b26b66ebb5ff3d28c573a6545a08020b27495-0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
Loaded 5001 nodes in revision graph
Searching for test results:
 185277 pass irrelevant
 185281 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 672b26b66ebb5ff3d28c573a6545a08020b27495
 185294 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 f48299cad5c3c69fdc2c101517a6dab9c9827ea5
 185311 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 672b26b66ebb5ff3d28c573a6545a08020b27495
 185313 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 f48299cad5c3c69fdc2c101517a6dab9c9827ea5
 185320 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 97c5b8b657e41a6645de9d40713b881234417b49
 185325 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c62673c4334b3372ebd4292a7ac8185357e7ea27
 185332 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 4be1fef1e6572c2be0bd378902ffb62a6e73faeb
 185336 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 4b3da946ad7e3452761478ae683da842e7ff20d6
 185342 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 489d93cd0fdd9609ca0414d7efae51c381106dbc
 185348 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 4b3da946ad7e3452761478ae683da842e7ff20d6
 185352 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 489d93cd0fdd9609ca0414d7efae51c381106dbc
 185362 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 4b3da946ad7e3452761478ae683da842e7ff20d6
 185310 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
 185369 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 489d93cd0fdd9609ca0414d7efae51c381106dbc
 185377 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 0e7ea8ca5fc9bce9248414f6aaf2dc861abd45d9
Searching for interesting versions
 Result found: flight 185281 (pass), for basis pass
 For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 4b3da946ad7e3452761478ae683da842e7ff20d6, results HASH(0x560daeb52988) HASH(0x560daebe6ad8) HASH(0x560daebe9948) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8\
 983e1b1e72d8c574356f572342c03e6 4be1fef1e6572c2be0bd378902ffb62a6e73faeb, results HASH(0x560daeb68e50) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 672b26b66ebb5ff3d28c573a6545a08020b27495, results HASH(0x560daeb59bc8) HASH(0x560daeb5e680) Result found: flight 185294 (fail), for basis failure (at ancestor ~3073)
 Repro found: flight 185311 (pass), for basis pass
 Repro found: flight 185377 (fail), for basis failure
 0 revisions at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 4b3da946ad7e3452761478ae683da842e7ff20d6
No revisions left to test, checking graph state.
 Result found: flight 185336 (pass), for last pass
 Result found: flight 185342 (fail), for first failure
 Repro found: flight 185348 (pass), for last pass
 Repro found: flight 185352 (fail), for first failure
 Repro found: flight 185362 (pass), for last pass
 Repro found: flight 185369 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  489d93cd0fdd9609ca0414d7efae51c381106dbc
  Bug not present: 4b3da946ad7e3452761478ae683da842e7ff20d6
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185369/


  commit 489d93cd0fdd9609ca0414d7efae51c381106dbc
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-qemuu-win7-amd64.windows-install.{dot,ps,png,html,svg}.
----------------------------------------
185377: tolerable FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail baseline untested


jobs:
 build-amd64                                                  pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Fri Apr 12 19:14:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 19:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704941.1101507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvMLa-0001pz-09; Fri, 12 Apr 2024 19:14:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704941.1101507; Fri, 12 Apr 2024 19:14:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvMLZ-0001p5-TV; Fri, 12 Apr 2024 19:14:01 +0000
Received: by outflank-mailman (input) for mailman id 704941;
 Fri, 12 Apr 2024 19:14:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cvpr=LR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1rvMLY-0001jK-88
 for xen-devel@lists.xenproject.org; Fri, 12 Apr 2024 19:14:00 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf9a9731-f900-11ee-94a3-07e782e9044d;
 Fri, 12 Apr 2024 21:13:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 97E88828553E;
 Fri, 12 Apr 2024 14:13:56 -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 3AjrrN6n53jx; Fri, 12 Apr 2024 14:13:56 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E30C38285ABA;
 Fri, 12 Apr 2024 14:13:55 -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 KuibNSFzVizz; Fri, 12 Apr 2024 14:13:55 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 37B2F828553E;
 Fri, 12 Apr 2024 14:13: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: cf9a9731-f900-11ee-94a3-07e782e9044d
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com E30C38285ABA
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1712949235; bh=QGUbACwX+V5ICdTyu89weu87hBEo9UP6Xeah4z5IzGg=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=lDTLD+j48/FkR8ne9GCYAp9O/KsC7C+ka21B2rdmz3KtKppXpp5Wmiuy7RVHJ/jcB
	 gRmE31lWjGTduERnGWgxybtO275xj8n+6C7ihypMH8IJRW8PG9ti+uP9Qb+f57sKOJ
	 6UdLODIFGAYOFbYDPp5SNtqpqoOQO8evlCQwdamk=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <601d4c6d-c919-432c-89c7-72536e378c29@raptorengineering.com>
Date: Fri, 12 Apr 2024 14:13:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 06/19] xen/bitops: put __ffs() into linux compatible
 header
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Rahul Singh <rahul.singh@arm.com>
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <854994adfdbaafb4d140fffb72ff5ade6b0aeb1e.1712137031.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <854994adfdbaafb4d140fffb72ff5ade6b0aeb1e.1712137031.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 4/3/24 5:19 AM, Oleksii Kurochko wrote:
> The mentioned macros exist only because of Linux compatible purpose.
> 
> The patch defines __ffs() in terms of Xen bitops and it is safe
> to define in this way ( as __ffs() - 1 ) as considering that __ffs()
> was defined as __builtin_ctzl(x), which has undefined behavior when x=0,
> so it is assumed that such cases are not encountered in the current code.
> 
> To not include <xen/linux-compat.h> to Xen library files __ffs() and __ffz()
> were defined locally in find-next-bit.c.
> 
> Except __ffs() usage in find-next-bit.c only one usage of __ffs() leave
> in smmu-v3.c. It seems that it __ffs can be changed to ffsl(x)-1 in
> this file, but to keep smmu-v3.c looks close to linux it was deciced just
> to define __ffs() in xen/linux-compat.h and include it in smmu-v3.c
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

For the PPC part:
Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Apr 12 22:44:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 12 Apr 2024 22:44:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704961.1101553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvPcs-0008M7-QG; Fri, 12 Apr 2024 22:44:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704961.1101553; Fri, 12 Apr 2024 22:44: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 1rvPcs-0008Lb-Mq; Fri, 12 Apr 2024 22:44:06 +0000
Received: by outflank-mailman (input) for mailman id 704961;
 Fri, 12 Apr 2024 22:44:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvPcr-0008LR-E7; Fri, 12 Apr 2024 22:44:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvPcr-0007rx-BB; Fri, 12 Apr 2024 22:44:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvPcr-0003Lm-13; Fri, 12 Apr 2024 22:44:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvPcr-0002kM-0T; Fri, 12 Apr 2024 22:44:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cEWj+mc1cbipXfcd5EaH/gCveLhUm1YOjc+P0J1jnu8=; b=SdNe2QyMFGDE4ccd+6JdykLvDr
	lXQOgDPOGHbN0E0fUkGSM0YpeH2ePSbIjBbhkAGmRaBBW4MipV2ndKoL1yh401kdtJtXUjjpKxSwM
	p+r3mUJDPYI20tyoccnYsXdCIklGDqhd5DaYAjy4X3d/VV9CMO0JxQcFgkVAStsyCfAM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185318-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185318: regressions - FAIL
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    xen-4.17-testing:build-arm64-pvops:kernel-build:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:heisenbug
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qcow2: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-raw: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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-amd64-amd64-libvirt-vhd:migrate-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-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d530627aaa9b6e03c7f911434bb342fca3d13300
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 12 Apr 2024 22:44:05 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185284
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 185284
 build-arm64-pvops             6 kernel-build   fail in 185300 REGR. vs. 185284

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10    fail pass in 185300

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185300 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185300 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185300 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185300 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185300 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185300 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185300 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185300 n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185284
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185284
 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-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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                  d530627aaa9b6e03c7f911434bb342fca3d13300
baseline version:
 xen                  b8f39fd4d024ea72c586f1afd233f379c6f6230b

Last test of basis   185284  2024-04-09 12:07:06 Z    3 days
Testing same since   185300  2024-04-10 16:35:42 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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                                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                                    fail    
 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                                      fail    
 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 700 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Apr 13 01:09:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 01:09:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.704987.1101586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvRtc-0004A8-QM; Sat, 13 Apr 2024 01:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 704987.1101586; Sat, 13 Apr 2024 01:09:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvRtc-0004A1-Nm; Sat, 13 Apr 2024 01:09:32 +0000
Received: by outflank-mailman (input) for mailman id 704987;
 Sat, 13 Apr 2024 01:09: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 1rvRtc-00049r-4l; Sat, 13 Apr 2024 01:09: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 1rvRtc-0000yJ-0a; Sat, 13 Apr 2024 01:09: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 1rvRtb-0004U1-Ok; Sat, 13 Apr 2024 01:09:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvRtb-0003BZ-OI; Sat, 13 Apr 2024 01:09: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:Message-Id:Subject:To;
	bh=gdzbpMAVtSqliTLnEKc8e79yoinulNNtJ6mKvDLjtEA=; b=tpfEo48UaFUDsET5H+9vhyK58n
	f6NTlefLoHjqVqF0if204ibO2VJHZoQkNVtNuOZ9n+k3QT35YJltvo5+7Ur4DyGoFN+FFCqU6g+bp
	nE+uz9JqbOWseXKaqe6ZjS5ZU46pNj1Mb8QooFT23IXm46h2iYqCLx7fsVZ5OFUmX1kE=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.16-testing bisection] complete test-amd64-amd64-xl-pvshim
Message-Id: <E1rvRtb-0003BZ-OI@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 01:09:31 +0000

branch xen-4.16-testing
xenbranch xen-4.16-testing
job test-amd64-amd64-xl-pvshim
testid guest-start

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  28f5ceb0b19b13a7c0ebd125c587e469490ab872
  Bug not present: 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185404/


  commit 28f5ceb0b19b13a7c0ebd125c587e469490ab872
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-pvshim.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/xen-4.16-testing/test-amd64-amd64-xl-pvshim.guest-start --summary-out=tmp/185404.bisection-summary --basis-template=185283 --blessings=real,real-bisect,real-retry xen-4.16-testing test-amd64-amd64-xl-pvshim guest-start
Searching for failure / basis pass:
 185297 fail [host=rimava0] / 185283 [host=huxelrebe0] 185007 [host=septiner0] 184804 [host=pinot1] 184530 [host=himrod0] 184108 [host=pinot1] 183752 [host=huxelrebe0] 183357 [host=huxelrebe1] 183350 [host=huxelrebe0] 183341 [host=nocera1] 183082 [host=godello1] 182634 [host=godello1] 182236 [host=himrod0] 182166 [host=huxelrebe0] 182107 [host=italia0] 182094 [host=godello1] 181998 [host=albana1] 181882 [host=huxelrebe0] 181851 [host=nocera0] 181831 [host=pinot1] 180918 [host=rimava1] 180478 [ho\
 st=sabro0] 180464 [host=italia0] 180445 [host=godello0] 180407 [host=pinot1] 180397 [host=debina0] 180219 [host=rimava1] 180086 ok.
Failure / basis pass flights: 185297 / 180086
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b08a19eae28e76fb5a296a604c27d06fab29b08a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 62dd49f2172fb7dfe8d4223bfa45aede05155328 ea1b7a0733906b8425d948ae94fba63c32b1d425 06264af090ac69a95cdadbc261cc82d964dcb568
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-347385861c50adc8d4801d4b899eded38a2f04cd git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#b08a19eae28e76fb5a296a604c27d06fab29b08a-963671d3801a6992d1aa06f05d86e32efa6b205e git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#62dd49f2172fb7dfe8d4223bfa45aede05155328-c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 git://xenbits.xen.org/osstest/seabios.git#ea1b7a0733906b8425d948ae94fba63c32b1d425-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#06264af090ac69a95cdadbc261cc82d964dcb568-4b33780de790bd438dd7cbb6143b410d94f0f049
adhoc-revtuple-generator: tree discontiguous: linux-pvops
Loaded 12700 nodes in revision graph
Searching for test results:
 180086 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b08a19eae28e76fb5a296a604c27d06fab29b08a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 62dd49f2172fb7dfe8d4223bfa45aede05155328 ea1b7a0733906b8425d948ae94fba63c32b1d425 06264af090ac69a95cdadbc261cc82d964dcb568
 180219 [host=rimava1]
 180397 [host=debina0]
 180407 [host=pinot1]
 180445 [host=godello0]
 180464 [host=italia0]
 180478 [host=sabro0]
 180918 [host=rimava1]
 181831 [host=pinot1]
 181851 [host=nocera0]
 181882 [host=huxelrebe0]
 181998 [host=albana1]
 182094 [host=godello1]
 182107 [host=italia0]
 182166 [host=huxelrebe0]
 182236 [host=himrod0]
 182634 [host=godello1]
 183082 [host=godello1]
 183341 [host=nocera1]
 183350 [host=huxelrebe0]
 183357 [host=huxelrebe1]
 183752 [host=huxelrebe0]
 184108 [host=pinot1]
 184530 [host=himrod0]
 184804 [host=pinot1]
 185007 [host=septiner0]
 185283 [host=huxelrebe0]
 185297 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185323 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b08a19eae28e76fb5a296a604c27d06fab29b08a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 62dd49f2172fb7dfe8d4223bfa45aede05155328 ea1b7a0733906b8425d948ae94fba63c32b1d425 06264af090ac69a95cdadbc261cc82d964dcb568
 185331 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185335 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 82191f8a0e57f674657c7461189e194b6f863e26 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 29efce0f8f10e381417a61f2f9988b40d4f6bcf0
 185341 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3b1ddbddeee64cee5aba4f0170fbf5e4781d4879 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 e7c3d6ceaf73120098f9213fd12f79fd50e8e588
 185346 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 6bb39cfd003df1ea39e521aa125d819e5088d917 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 82faf1d5c8b25375b9029f2d6668135e62455a8c e481fc9f32339ebf9ddd171a3995a3e44527d148
 185351 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ccf91b518f22102d446f26320110d30ea0fc1fa9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 3722c21de19ba64de56495502c0c025b913a9b15 41d93be76611704bdc73e8fe71c251a6f1da114c
 185356 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 8707f835ae355832965508b6be96765660fb1861 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 913680885350f92965d70122f6fd54406c49af7d 8d6efd087b34127ef9865afc36093617f15080b6
 185361 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 24178feda5e90085d34a5b2c70ff66c7671518d1
 185364 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 89ff5da9f9787be29c173ad5d5c0beb0c262e3cc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185367 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185370 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 c5d815f0dd830b24be8a088e286a166f79f8bb73
 185378 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185385 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 28f5ceb0b19b13a7c0ebd125c587e469490ab872
 185390 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185395 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 28f5ceb0b19b13a7c0ebd125c587e469490ab872
 185398 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185404 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 28f5ceb0b19b13a7c0ebd125c587e469490ab872
Searching for interesting versions
 Result found: flight 180086 (pass), for basis pass
 For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2, results HASH(0x556e3005a800) HASH(0x556e30027a40) HASH(0x556e3002e680) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 b7f8779fe1f60113fdaab3b2f3f17c9f900b0456 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2, results HASH(0x556e30023108) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 89ff5da9f9787be29c173ad5d5c0beb0c262e3cc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641c\
 c35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2, results HASH(0x556e30026938) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 8707f835ae355832965508b6be96765660fb1861 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 913680885350f92965d70122f6fd54406c49af7d 8d6efd087b34127ef9865afc36093617f15080b6, results HASH(0x556e30030988) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ccf91b518f22102d446f26320110d30ea0fc1fa9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 3722c21de19ba64de56495502c0c025b913a9b15 41d93be76611704bdc73e8fe71c251a6f1da114c, results HASH(0x556e2f380038) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 6bb39cfd003df1ea39e5\
 21aa125d819e5088d917 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 82faf1d5c8b25375b9029f2d6668135e62455a8c e481fc9f32339ebf9ddd171a3995a3e44527d148, results HASH(0x556e3003d608) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3b1ddbddeee64cee5aba4f0170fbf5e4781d4879 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6e\
 c3ff8 e7c3d6ceaf73120098f9213fd12f79fd50e8e588, results HASH(0x556e3001b3c0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 82191f8a0e57f674657c7461189e194b6f863e26 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 29efce0f8f10e381417a61f2f9988b40d4f6bcf0, results HASH(0x556e3001fcf8) For basis failure, parent search stopping at c3038e718a19fc59\
 6f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b08a19eae28e76fb5a296a604c27d06fab29b08a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 62dd49f2172fb7dfe8d4223bfa45aede05155328 ea1b7a0733906b8425d948ae94fba63c32b1d425 06264af090ac69a95cdadbc261cc82d964dcb568, results HASH(0x556e30025d38) HASH(0x556e3003b2d8) Result found: flight 185297 (fail), for basis failure (at ancestor ~2005)
 Repro found: flight 185323 (pass), for basis pass
 Repro found: flight 185331 (fail), for basis failure
 0 revisions at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
No revisions left to test, checking graph state.
 Result found: flight 185378 (pass), for last pass
 Result found: flight 185385 (fail), for first failure
 Repro found: flight 185390 (pass), for last pass
 Repro found: flight 185395 (fail), for first failure
 Repro found: flight 185398 (pass), for last pass
 Repro found: flight 185404 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  28f5ceb0b19b13a7c0ebd125c587e469490ab872
  Bug not present: 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185404/


  commit 28f5ceb0b19b13a7c0ebd125c587e469490ab872
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.376749 to fit
pnmtopng: 29 colors found
Revision graph left in /home/logs/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-pvshim.guest-start.{dot,ps,png,html,svg}.
----------------------------------------
185404: tolerable ALL FAIL

flight 185404 xen-4.16-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185404/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start             fail baseline untested


jobs:
 test-amd64-amd64-xl-pvshim                                   fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Sat Apr 13 02:10:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 02:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705000.1101607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvSqf-0005UF-CA; Sat, 13 Apr 2024 02:10:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705000.1101607; Sat, 13 Apr 2024 02:10:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvSqf-0005U8-6U; Sat, 13 Apr 2024 02:10:33 +0000
Received: by outflank-mailman (input) for mailman id 705000;
 Sat, 13 Apr 2024 02:10: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 1rvSqe-0005Ty-HV; Sat, 13 Apr 2024 02:10: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 1rvSqe-0002Pn-Da; Sat, 13 Apr 2024 02:10: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 1rvSqe-0006sC-0d; Sat, 13 Apr 2024 02:10:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvSqe-0006pN-05; Sat, 13 Apr 2024 02: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=lrc8Fhu2ww5CPPROckI1DVp1IvAKwVNrUKpb8a7+NaI=; b=USO6BEviKgduSQb0A3dTaBQAaM
	UIlNgQACifohOqtuWsk9PqinEy3OUUAvadNCrc9EXLrUb5nFTHTEK5Cou6TF/iAmgkoejswCEgb7G
	ywQTV4EP2/MFFUwd254W9019Vbd/FqvLGpOa1lPW39gElcx9l98/pW7OPnMW2+FBfoqw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185322-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185322: regressions - FAIL
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    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-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-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-qemuu-debianhvm-amd64-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-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing: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-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-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=150f6cdbfe079816a0df8b9d57320ca42fc39d12
X-Osstest-Versions-That:
    xen=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 02:10:32 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 185283
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore     fail REGR. vs. 185283
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-ovmf-amd64 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185283
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 185283

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

Last test of basis   185283  2024-04-09 12:06:57 Z    3 days
Failing since        185297  2024-04-10 10:03:29 Z    2 days    2 attempts
Testing same since   185322  2024-04-11 17:53:23 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-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                              fail    
 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                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 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             fail    
 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                                      fail    
 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 494 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Apr 13 09:48:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 09:48:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705076.1101717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvZzL-00017q-GL; Sat, 13 Apr 2024 09:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705076.1101717; Sat, 13 Apr 2024 09: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 1rvZzL-00017j-De; Sat, 13 Apr 2024 09:47:59 +0000
Received: by outflank-mailman (input) for mailman id 705076;
 Sat, 13 Apr 2024 09:47: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 1rvZzK-00017X-QX; Sat, 13 Apr 2024 09:47: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 1rvZzK-0002yx-M8; Sat, 13 Apr 2024 09:47: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 1rvZzK-0004aW-BQ; Sat, 13 Apr 2024 09:47:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvZzK-00083R-B2; Sat, 13 Apr 2024 09:47:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6BMu74Y54kfjunlw8D+5yGD3E+BpXVf/4xiOmw3yT4c=; b=ov4Cnt3vKWsUVjdHZAwNLxn44w
	/OhV3Bm448G1x8+zz12FclVD9W6gTUUnsPM4ztcRc3qwgyPmnEDFIiGjCiAAqktWtrjLT+VYepy03
	ykLFvznEOk9V9X8aMWZqb4SlBQOucYLnYAHaG+9+4zy+GWCnKE/OF+CF6ksISJdTsSC8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185337-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185337: regressions - FAIL
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qcow2:migrate-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-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl: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-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-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-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-raw: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
X-Osstest-Versions-This:
    xen=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 09:47:58 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185285

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

Last test of basis   185285  2024-04-09 12:07:14 Z    3 days
Failing since        185303  2024-04-10 18:41:55 Z    2 days    2 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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                                      fail    
 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 713 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Apr 13 14:43:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 14:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705161.1101785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rveai-0003I1-Is; Sat, 13 Apr 2024 14:42:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705161.1101785; Sat, 13 Apr 2024 14:42:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rveai-0003Hu-Fz; Sat, 13 Apr 2024 14:42:52 +0000
Received: by outflank-mailman (input) for mailman id 705161;
 Sat, 13 Apr 2024 14:42: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 1rveah-0003HP-Ma; Sat, 13 Apr 2024 14:42: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 1rveah-0008Dn-BK; Sat, 13 Apr 2024 14:42:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rveah-0002bk-0A; Sat, 13 Apr 2024 14:42:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rveag-0008RG-W5; Sat, 13 Apr 2024 14:42: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=YVkeGpbE4F6HgIAdb+vVwn3DvSkMt07Q5HlEYl/ofpA=; b=uUrq5UYZYMGgQRBexDqPfEdwGc
	sZVQdbN1lykx7DocKCXpUWZJbvz5RRIqVRfAznm8GdvVGNrEj6zXhVo/0l2DD1mBhvwCIiAb577zK
	8+LdZiOK3cdScX6DkoAtDAI0YRN18HnPcOeVR0EIhINmNul+p2O31OZx2j7NhB8xihpM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185347-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185347: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
X-Osstest-Versions-That:
    linux=e8c39d0f57f358950356a8e44ee5159f57f86ec5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 14:42:50 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 13 guest-start fail pass in 185437-retest

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

version targeted for testing:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
baseline version:
 linux                e8c39d0f57f358950356a8e44ee5159f57f86ec5

Last test of basis   185306  2024-04-11 03:50:59 Z    2 days
Testing same since   185347  2024-04-12 05:19:23 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Wetzel <Alexander@wetzel-home.de>
  Amit Bernstein <amitbern@amazon.com>
  Andrew Morton <akpm@linux-foundation.org>
  Ani Sinha <anisinha@redhat.com>
  Anna-Maria Behnsen <anna-maria@linutronix.de>
  Archie Pusaka <apusaka@chromium.org>
  Arnd Bergmann <arnd@arndb.de>
  Arthur Kiyanovski <akiyano@amazon.com>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Breno Leitao <leitao@debian.org>
  Brett Creeley <brett.creeley@amd.com>
  Carolina Jubran <cjubran@nvidia.com>
  Cosmin Ratiu <cratiu@nvidia.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Golle <daniel@makrotopia.org>
  Daniel Machon <daniel.machon@microchip.com>
  Dave Jiang <dave.jiang@intel.com>
  David Arinzon <darinzon@amazon.com>
  David S. Miller <davem@davemloft.net>
  Dmitry Antipov <dmantipov@yandex.ru>
  Eelco Chaudron <echaudro@redhat.com>
  Eric Dumazet <edumazet@google.com>
  Erni Sri Satya Vennela <ernis@linux.microsoft.com>
  Geetha sowjanya <gakula@marvell.com>
  Gerd Bayer <gbayer@linux.ibm.com>
  Hans de Goede <hdegoede@redhat.com>
  Hariprasad Kelam <hkelam@marvell.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Hongbo Li <lihongbo22@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Ilya Maximets <i.maximets@ovn.org>
  Ira Weiny <ira.weiny@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jiri Benc <jbenc@redhat.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kwangjin Ko <kwangjin.ko@sk.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Marek Vasut <marex@denx.de>
  Mario Limonciello <mario.limonciello@amd.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Maurizio Lombardi <mlombard@redhat.com>
  Michael Chan <michael.chan@broadcom.com>
  Michael Kelley <mhklinux@outlook.com>
  Michael Liang <mliang@purestorage.com>
  Michal Luczaj <mhal@rbox.co>
  Minda Chen <minda.chen@starfivetech.com>
  Noah Loomans <noah@noahloomans.com>
  Nuno Das Neves <nunodasneves@linux.microsoft.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Pavan Chebbi <pavan.chebbi@broadcom.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Tesarik <petr@tesarici.cz>
  Raag Jadav <raag.jadav@intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Sachin Sant <sachinp@linux.ibm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Shay Agroskin <shayagr@amazon.com>
  Shay Drory <shayd@nvidia.com>
  Shradha Gupta <shradhagupta@linux.microsoft.com>
  Simon Horman <horms@kernel.org> # build-tested
  Simon Wunderlich <sw@simonwunderlich.de>
  Sven Eckelmann <sven@narfation.org>
  Tariq Toukan <tariqt@nvidia.com>
  Thomas Bertschinger <tahbertschinger@gmail.com>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tzung-Bi Shih <tzungbi@kernel.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Venkat Rao Bagalkote <venkat88@linux.vnet.ibm.com>
  Vikas Gupta <vikas.gupta@broadcom.com>
  Wei Liu <wei.liu@kernel.org>
  xiabing <xiabing12@h-partners.com>
  Xiang Chen <chenxiang66@hisilicon.com>
  Xingui Yang <yangxingui@huawei.com>
  Yihang Li <liyihang9@huawei.com>
  Yuquan Wang <wangyuquan1236@phytium.com.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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
   e8c39d0f57f3..586b5dfb51b9  586b5dfb51b962c1b6c06495715e4c4f76a7fc5a -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Apr 13 16:49:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 16:49:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705192.1101816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvgYV-0002DW-K9; Sat, 13 Apr 2024 16:48:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705192.1101816; Sat, 13 Apr 2024 16: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 1rvgYV-0002DP-Gl; Sat, 13 Apr 2024 16:48:43 +0000
Received: by outflank-mailman (input) for mailman id 705192;
 Sat, 13 Apr 2024 16:48:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvgYT-0002DD-Ks; Sat, 13 Apr 2024 16:48:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvgYT-0002cN-GB; Sat, 13 Apr 2024 16:48:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvgYT-0002M9-4B; Sat, 13 Apr 2024 16:48:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvgYT-0001sj-3r; Sat, 13 Apr 2024 16:48:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mt3o7VxMh4fpK5qLQTWewXDZQSgR2kOytWHY9tSGkms=; b=TMkqBdCUsyfOYaf8YB2uooXWo6
	+ETISUtzy0QeBYBYTC44vxZ5hIo0KCQqLcVFJ/0UL927HsGiGgUZSImx7AI1W8b384B08+xiez09b
	gIJHzAIqNro5LFfotgMESqU2u70emEnqrvsnS4nwsSOBDkNtlpcdpa4Bhf5eUZVL3OlA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185400-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185400: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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-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-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 16:48:41 +0000

flight 185400 xen-4.17-testing real [real]
flight 185428 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185400/
http://logs.test-lab.xenproject.org/osstest/logs/185428/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 185284
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185284

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 185428-retest

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

version targeted for testing:
 xen                  5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
baseline version:
 xen                  b8f39fd4d024ea72c586f1afd233f379c6f6230b

Last test of basis   185284  2024-04-09 12:07:06 Z    4 days
Failing since        185300  2024-04-10 16:35:42 Z    3 days    3 attempts
Testing same since   185400  2024-04-12 22:46:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          starved 
 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                                 starved 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 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                                    fail    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 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                                 starved 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Apr 13 21:28:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 21:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705239.1101880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvkuU-0003dC-BH; Sat, 13 Apr 2024 21:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705239.1101880; Sat, 13 Apr 2024 21: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 1rvkuU-0003d5-7U; Sat, 13 Apr 2024 21:27:42 +0000
Received: by outflank-mailman (input) for mailman id 705239;
 Sat, 13 Apr 2024 21:27:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvkuT-0003cv-1X; Sat, 13 Apr 2024 21:27:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvkuS-0007OQ-Qf; Sat, 13 Apr 2024 21: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 1rvkuS-0003YV-H8; Sat, 13 Apr 2024 21:27:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvkuS-0004Ns-GZ; Sat, 13 Apr 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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=f+6NJzo5xdI9UJQb/HDti4AYTBMFnxFR0o+/N1qV2ho=; b=26lx5JImYoIeyHOaO6XM+ePu4G
	TSNrgdbOUfWfP80RBZKnCYAv7qqxxgaGBrTFvzoSNWWcumrTc4Z3K2/bUmBzukH+L0FycKioc+A0n
	iop9giQOBepnwjjayH4AAW8Bn44x8paeFLqZbMkORh55gLVZHr/D41sxP5kLCZkxgtFM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185386-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185386: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-armhf-armhf-examine:reboot:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=af4cd0a6a61cdb03bc1afca9478b05b0c9703599
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 21:27:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 185281

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvhv2-amd 20 guest-localmigrate/x10 fail pass in 185450-retest
 test-armhf-armhf-examine      8 reboot              fail pass in 185450-retest

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

Last test of basis   185281  2024-04-09 11:10:22 Z    4 days
Failing since        185294  2024-04-10 04:20:17 Z    3 days    3 attempts
Testing same since   185386  2024-04-12 16:43:32 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.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                                fail    
 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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Apr 13 21:31:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 21:31:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705245.1101890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvkyN-00054p-Qh; Sat, 13 Apr 2024 21:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705245.1101890; Sat, 13 Apr 2024 21: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 1rvkyN-00054i-Nd; Sat, 13 Apr 2024 21:31:43 +0000
Received: by outflank-mailman (input) for mailman id 705245;
 Sat, 13 Apr 2024 21:31:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvkyM-00054W-Nm; Sat, 13 Apr 2024 21:31:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvkyM-0007Sm-M6; Sat, 13 Apr 2024 21:31:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvkyM-0003g6-A5; Sat, 13 Apr 2024 21:31:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvkyM-0006GT-9f; Sat, 13 Apr 2024 21:31:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iK3hqBnc/dn6lW9doRfaP8xGcYRKOfaSUnvWTvqjScc=; b=fnV4OtBs55SCPfJs+imSGuH31m
	U0hhKUO/lMyY41x9kMzy97jlo5PDRhBy4HZw41n1e3FjI3QooxaJ7ndvsZwVfMpt04IziELGOtdeO
	2o7qS2k/416zLHhZu6fWwONVXLlpx0c5H1M66B8OeOvjbZPOQ6i35jzyiMjFDaEyQnmQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185391-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185391: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-saverestore:fail:regression
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-saverestore:fail:heisenbug
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 21:31:42 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 185282
 test-amd64-amd64-xl-qemut-debianhvm-amd64 15 guest-saverestore fail REGR. vs. 185282
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 15 guest-saverestore fail REGR. vs. 185282

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 185296 pass in 185391
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore       fail pass in 185296
 test-amd64-amd64-xl-qcow2    12 debian-di-install          fail pass in 185296
 test-amd64-amd64-xl-vhd      12 debian-di-install          fail pass in 185296
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10     fail pass in 185314
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 15 guest-saverestore fail pass in 185314

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

version targeted for testing:
 xen                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    4 days
Testing same since   185296  2024-04-10 06:02:43 Z    3 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  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-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-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                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 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                                      fail    
 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 Sat Apr 13 22:17:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 22:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705261.1101905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvlgz-0007MQ-Dh; Sat, 13 Apr 2024 22:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705261.1101905; Sat, 13 Apr 2024 22: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 1rvlgz-0007MJ-Ay; Sat, 13 Apr 2024 22:17:49 +0000
Received: by outflank-mailman (input) for mailman id 705261;
 Sat, 13 Apr 2024 22:17: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 1rvlgx-0007M7-Od; Sat, 13 Apr 2024 22:17: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 1rvlgx-0008Cl-Bq; Sat, 13 Apr 2024 22:17: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 1rvlgx-0005jQ-5H; Sat, 13 Apr 2024 22:17:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvlgx-00067T-4v; Sat, 13 Apr 2024 22:17:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=UJarv0wWF0+DXjOKkL7a9CazrP476mMPyK/cHv13uBY=; b=qVuGntVgB2EY0q8+i1aZcRRbB8
	N+AxVhJChFNi9oYoguznu3oF1ro25F/hKXukqwnFfi1ew0cSqlIJKEx54f7iyJFp/sGDn1bZMIBF3
	CXVFr5g63tV7XvGXbS9OFRTLuhmAcV/kp/197X6/MaZ8CtyAjTMEyZ0b2u683oubfmN8=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.16-testing bisection] complete test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm
Message-Id: <E1rvlgx-00067T-4v@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 22:17:47 +0000

branch xen-4.16-testing
xenbranch xen-4.16-testing
job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm
testid guest-saverestore

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  295bf24af77c0556fe023ce727734fd27226b37c
  Bug not present: ec8f105f9c7744408ddea6b320d55703f9e0f522
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185455/


  commit 295bf24af77c0556fe023ce727734fd27226b37c
  Author: Roger Pau Monne <roger.pau@citrix.com>
  Date:   Thu Feb 15 17:46:53 2024 +0100
  
      x86/vmx: Add support for virtualize SPEC_CTRL
      
      The feature is defined in the tertiary exec control, and is available starting
      from Sapphire Rapids and Alder Lake CPUs.
      
      When enabled, two extra VMCS fields are used: SPEC_CTRL mask and shadow.  Bits
      set in mask are not allowed to be toggled by the guest (either set or clear)
      and the value in the shadow field is the value the guest expects to be in the
      SPEC_CTRL register.
      
      By using it the hypervisor can force the value of SPEC_CTRL bits behind the
      guest back without having to trap all accesses to SPEC_CTRL, note that no bits
      are forced into the guest as part of this patch.  It also allows getting rid of
      SPEC_CTRL in the guest MSR load list, since the value in the shadow field will
      be loaded by the hardware on vmentry.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      (cherry picked from commit 97c5b8b657e41a6645de9d40713b881234417b49)


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm.guest-saverestore.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm.guest-saverestore --summary-out=tmp/185455.bisection-summary --basis-template=185283 --blessings=real,real-bisect,real-retry xen-4.16-testing test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm guest-saverestore
Searching for failure / basis pass:
 185322 fail [host=septiner1] / 185283 [host=rimava0] 185007 [host=godello0] 184804 [host=sabro0] 184530 [host=nobling1] 184108 [host=rimava0] 183752 [host=debina0] 183357 [host=debina0] 183350 [host=fiano1] 183341 [host=debina1] 183082 [host=elbling0] 182634 [host=italia1] 182236 [host=himrod0] 182166 [host=godello1] 182107 [host=pinot0] 182094 [host=debina1] 181998 [host=huxelrebe1] 181882 [host=italia0] 181851 [host=nobling1] 181831 [host=albana1] 180918 [host=nobling0] 180478 [host=debina1] \
 180464 [host=albana1] 180445 [host=elbling0] 180407 [host=huxelrebe0] 180397 [host=pinot0] 180219 [host=albana1] 180086 [host=himrod0] 179858 [host=pinot0] 179842 [host=nocera1] 179065 [host=nocera0] 178448 [host=italia1] 178378 [host=italia0] 178195 [host=pinot1] 178138 [host=elbling1] 177405 [host=nobling1] 176835 [host=himrod0] 176755 [host=sabro0] 176458 [host=huxelrebe1] 175454 [host=huxelrebe0] 175155 [host=sabro0] 175099 [host=italia1] 175089 [host=pinot1] 175067 [host=huxelrebe0] 174981 \
 [host=albana0] 174767 [host=fiano1] 174695 [host=debina1] 174678 [host=debina0] 174568 [host=albana0] 174553 [host=albana1] 174452 [host=fiano0] 174383 [host=elbling0] 174314 [host=godello1] 174267 [host=nocera0] 174212 [host=chardonnay0] 174140 [host=pinot1] 174070 [host=italia1] 173986 [host=nobling0] 173882 [host=godello0] 173759 [host=sabro0] 173702 [host=huxelrebe1] 173603 [host=albana1] 173511 [host=himrod0] 173493 [host=fiano0] 172623 [host=albana0] 172548 [host=godello0] 172130 [host=alb\
 ana0] 172110 [host=debina1] 171881 [host=debina0] 171867 [host=himrod0] 171637 [host=nocera0] 171628 [host=chardonnay1] 171608 [host=nocera1] 171595 [host=debina0] 171207 [host=godello1] 170984 [host=nobling1] 170913 [host=huxelrebe1] 170901 [host=nobling0] 170871 [host=italia1] 169252 [host=albana0] 169238 [host=himrod0] 169194 [host=elbling0] 169179 [host=fiano1] 169119 [host=fiano0] 169086 [host=godello1] 169048 [host=chardonnay1] 168993 [host=godello0] 168513 [host=godello1] 168503 [host=god\
 ello0] 168484 [host=huxelrebe1] 168136 [host=huxelrebe1] 168063 [host=albana0] 168015 [host=himrod0] 167997 [host=godello1] 167894 [host=elbling1] 167620 [host=himrod0] 167401 [host=huxelrebe1] 167218 [host=albana0] 166959 [host=godello1] 166394 [host=pinot0] 166322 [host=chardonnay0] template as basis? using template as basis.
Failure / basis pass flights: 185322 / 185283
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
Basis pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1588fd1437960d94cadc30c42243671e8c0f1281 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#347385861c50adc8d4801d4b899eded38a2f04cd-347385861c50adc8d4801d4b899eded38a2f04cd git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#932db9df0caa26daca4edf133fb2aed7b4a9193e-98f150a954b35cc74bd87ae355cf35d8c9e1580d git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3-c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 git://xenbits.xen.org/osstest/seabios.git#1588fd1437960d94cadc30c42243671e8c0f1281-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2-150f6cdbfe079816a0df8b9d57320ca42fc39d12
Loaded 12694 nodes in revision graph
Searching for test results:
 185283 [host=rimava0]
 185297 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185322 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
 185405 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1588fd1437960d94cadc30c42243671e8c0f1281 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185408 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
 185414 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1588fd1437960d94cadc30c42243671e8c0f1281 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185415 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
 185419 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 7db6066d2c4e9facc5095f0681b16bf15ca3a597
 185421 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 21113031fc0db5ff3de8bfb7a441f06e169a931b
 185425 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 7efe5a0eee0e4f593c064b7f1b106acc74d8c7f9
 185430 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
 185436 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
 185440 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
 185444 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
 185448 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
 185452 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
 185455 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
Searching for interesting versions
 Result found: flight 185405 (pass), for basis pass
 For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522, results HASH(0x561a2d270dc8) HASH(0x561a2d24ccf8) HASH(0x561a2d2534b8) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 7efe5a0eee0e4f593c064b7f1b106acc74d8c7f9, results HASH(0x561a2d272c50) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641c\
 c35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 7db6066d2c4e9facc5095f0681b16bf15ca3a597, results HASH(0x561a2d264148) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1588fd1437960d94cadc30c42243671e8c0f1281 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2, results HASH(0x561a2d252bb8) HASH(0x56\
 1a2d256ec8) Result found: flight 185408 (fail), for basis failure (at ancestor ~5704)
 Repro found: flight 185414 (pass), for basis pass
 Repro found: flight 185415 (fail), for basis failure
 0 revisions at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
No revisions left to test, checking graph state.
 Result found: flight 185436 (pass), for last pass
 Result found: flight 185440 (fail), for first failure
 Repro found: flight 185444 (pass), for last pass
 Repro found: flight 185448 (fail), for first failure
 Repro found: flight 185452 (pass), for last pass
 Repro found: flight 185455 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  295bf24af77c0556fe023ce727734fd27226b37c
  Bug not present: ec8f105f9c7744408ddea6b320d55703f9e0f522
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185455/


  commit 295bf24af77c0556fe023ce727734fd27226b37c
  Author: Roger Pau Monne <roger.pau@citrix.com>
  Date:   Thu Feb 15 17:46:53 2024 +0100
  
      x86/vmx: Add support for virtualize SPEC_CTRL
      
      The feature is defined in the tertiary exec control, and is available starting
      from Sapphire Rapids and Alder Lake CPUs.
      
      When enabled, two extra VMCS fields are used: SPEC_CTRL mask and shadow.  Bits
      set in mask are not allowed to be toggled by the guest (either set or clear)
      and the value in the shadow field is the value the guest expects to be in the
      SPEC_CTRL register.
      
      By using it the hypervisor can force the value of SPEC_CTRL bits behind the
      guest back without having to trap all accesses to SPEC_CTRL, note that no bits
      are forced into the guest as part of this patch.  It also allows getting rid of
      SPEC_CTRL in the guest MSR load list, since the value in the shadow field will
      be loaded by the hardware on vmentry.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      (cherry picked from commit 97c5b8b657e41a6645de9d40713b881234417b49)

Revision graph left in /home/logs/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm.guest-saverestore.{dot,ps,png,html,svg}.
----------------------------------------
185455: tolerable ALL FAIL

flight 185455 xen-4.16-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185455/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail baseline untested


jobs:
 test-amd64-amd64-xl-qemuu-debianhvm-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 Sat Apr 13 22:33:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 13 Apr 2024 22:33:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705270.1101918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvlvX-0002W8-Iw; Sat, 13 Apr 2024 22:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705270.1101918; Sat, 13 Apr 2024 22:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvlvX-0002W1-GE; Sat, 13 Apr 2024 22:32:51 +0000
Received: by outflank-mailman (input) for mailman id 705270;
 Sat, 13 Apr 2024 22:32: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 1rvlvV-0002Vr-Qh; Sat, 13 Apr 2024 22:32: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 1rvlvV-0008SC-IQ; Sat, 13 Apr 2024 22:32:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvlvV-0006Fn-97; Sat, 13 Apr 2024 22:32:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvlvV-00009U-7F; Sat, 13 Apr 2024 22:32:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zV+xlRboeNGzBEODNH2NyQf+mdvttIBBR/OO+GQzF0M=; b=Uauz7Sfvx4qSxhmnfcJCPTgl5L
	OEkint+9OFdM1vmUXNS6Ota2L9yWkQT5tPWT6wGyB/TI53SZ1zZsp/7VRQ6y+kJdX2oBqlRza+JGK
	CXbeURnIL/RhthgBKJmr1QPRCj8JRFyrEo9lvEnOgGHNOyb4CvuvsW4qvBs44D8TCquw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185407-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185407: regressions - FAIL
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    xen-4.16-testing:build-arm64-pvops:kernel-build:fail:regression
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore:fail:heisenbug
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt: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-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-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-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-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=150f6cdbfe079816a0df8b9d57320ca42fc39d12
X-Osstest-Versions-That:
    xen=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 13 Apr 2024 22:32:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 185283
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore     fail REGR. vs. 185283
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-ovmf-amd64 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 185283
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185283
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 185283
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 185283

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

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl         15 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 185322 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 185322 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 185322 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 185322 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 185322 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 185322 never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 185322 never pass
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 185322 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 185322 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185283
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185283
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185283
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185283
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185283
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185283
 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-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-armhf-armhf-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-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-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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                  150f6cdbfe079816a0df8b9d57320ca42fc39d12
baseline version:
 xen                  9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2

Last test of basis   185283  2024-04-09 12:06:57 Z    4 days
Failing since        185297  2024-04-10 10:03:29 Z    3 days    3 attempts
Testing same since   185322  2024-04-11 17:53:23 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-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                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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             fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 00:33:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 00:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705297.1101958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvnnb-0003ed-Gb; Sun, 14 Apr 2024 00:32:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705297.1101958; Sun, 14 Apr 2024 00:32:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvnnb-0003eW-E4; Sun, 14 Apr 2024 00:32:47 +0000
Received: by outflank-mailman (input) for mailman id 705297;
 Sun, 14 Apr 2024 00:32: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=EUi4=LT=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rvnnZ-0003eK-R7
 for xen-devel@lists.xenproject.org; Sun, 14 Apr 2024 00:32:46 +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 81a71f03-f9f6-11ee-b908-491648fe20b8;
 Sun, 14 Apr 2024 02:32:43 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailfout.nyi.internal (Postfix) with ESMTP id 3B3F213800A8;
 Sat, 13 Apr 2024 20:32:42 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Sat, 13 Apr 2024 20:32:42 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 13 Apr 2024 20:32: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: 81a71f03-f9f6-11ee-b908-491648fe20b8
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=1713054762;
	 x=1713141162; bh=ONF1Wv6Dl4PkIlJ0SrTg3M5CeC1NXWB7miG07jOYyd0=; b=
	RgFQC9kfz+OvdkMqSKTHG47S6bbDHy1N30KF0g9pbkP6nhsU9OwFdp+Mp520uxf7
	bZdoiAV/TWTsPP54D8XJGLShBr2MOuz7C7zQ2L1PsQFcfBBCUCpAdtXzhNrGvOP7
	SwMoWHaD681ilLhbzI2j+wEp4aDwcR1iCLa6xrrw3yowO/d/7+By9mRMiczcsIf5
	hSAfU75CtSn/1egPIylTd+oHyWLiwEV9FmJwQt3grBiQn4IxNOtPwYO5es+P5CW7
	RV4X1yxo85io5a4S74+PiZLxZ/D8HyLDCbnVY2g4udfW5uf/+esELzV71u2W5P72
	kdNgqbcUCxzYon+WZuH9EQ==
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=1713054762; x=1713141162; bh=ONF1Wv6Dl4PkIlJ0SrTg3M5CeC1N
	XWB7miG07jOYyd0=; b=JnJVxgIhivnUJ1jkllwLfW5dZQ+mRupKtSJ2d/z6RQZM
	mRKt7oHriCYLKcGiUtlWshlNkmiK4At1iZyq7xd/ivOYxPUlxjSJicnUPLC+dFru
	PxN/RbIcpRDq32kLkCVAv1dVTl1rvC6cDKMGIltK13t0CNyOBAqysR9hWkr/nP7G
	MTmiBmLkIsCAIaTDZx6mgKu9AYLP+cCuL35N93foyE1PYmqbzdCJhmwEjQrz+y+/
	tLs+FeY0mmYf16exM4Dw5OQdDumzAcYy+BNCDn/EEr4Z2BxxATRh/BLwkJpKJdDC
	f6zjiGN3D07fpuLGGOdf+UPT7TujnzqqVj/6togoHg==
X-ME-Sender: <xms:KSQbZutKc91S7HXwvJXfwOpWtosA6Wo0EIYaMal-qEKXVF-bIG_bcQ>
    <xme:KSQbZjckAAI5QUD1KrHNoX1RVp-q22pFcmJxLOeLbImHV9BM1RpPn4Azes5fuEabZ
    bTJIV0keE91Nw>
X-ME-Received: <xmr:KSQbZpwtrQasg-twmVr36jeqQZTzAoyXaC_gcR-BTBfpwqHRtGkdxU2XgDFkVwbIBsB4-ihJryFsQiUZityiDGFHaHgVp2uPdw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeijedguddvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:KSQbZpP_aQd9JaLMfgK7lkdwaXgza3XeXYd8yub5a92OvfNWDEM7ZQ>
    <xmx:KSQbZu-nh7VJwaJsfjbn03rs6y_BM0Jv43OA6Q64eE1otwnBuuTAGw>
    <xmx:KSQbZhXX3b7IJv_Ru1161lbcipjlBUppSzQrdPUbfpq4En_Us-gK8w>
    <xmx:KSQbZncDq4MNaJXSqySwTgBwq4vuvF1R_yv-8aRx49D4SMBoEp0LHA>
    <xmx:KiQbZlYq4GndpI9fvkV_tfsyNHF3tbAez-PsTPkdlgE0javJFfWlGNrP>
Feedback-ID: i1568416f:Fastmail
Date: Sun, 14 Apr 2024 02:32:35 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/2] drivers/char: mark extra reserved device memory
 in memory map
Message-ID: <ZhskJAL1fz3lNdg7@mail-itl>
References: <20240327025454.514521-1-marmarek@invisiblethingslab.com>
 <20240327025454.514521-2-marmarek@invisiblethingslab.com>
 <0d7daae5-97c3-4982-8301-7ed2fda24ff9@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="gIMOllW2eE6Vd1E3"
Content-Disposition: inline
In-Reply-To: <0d7daae5-97c3-4982-8301-7ed2fda24ff9@suse.com>


--gIMOllW2eE6Vd1E3
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 14 Apr 2024 02:32:35 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/2] drivers/char: mark extra reserved device memory
 in memory map

On Wed, Apr 03, 2024 at 09:10:40AM +0200, Jan Beulich wrote:
> On 27.03.2024 03:53, Marek Marczykowski-G=C3=B3recki wrote:
> > The IOMMU driver checks if RMRR/IVMD are marked as reserved in memory
> > map. This should be true for addresses coming from the firmware, but
> > when extra pages used by Xen itself are included in the mapping, those
> > are taken from usable RAM used. Mark those pages as reserved too.
> >=20
> > Not marking the pages as reserved didn't caused issues before due to
> > another a bug in IOMMU driver code, that was fixed in 83afa3135830
> > ("amd-vi: fix IVMD memory type checks").
> >=20
> > Failing to reserve memory will lead to panic in IOMMU setup code. And
> > not including the page in IOMMU mapping will lead to broken console (due
> > to IOMMU faults). The pages chosen by the XHCI console driver should
> > still be usable by the CPU though, and the console code already can deal
> > with too slow console by dropping characters (and console not printing
> > anything is a special case of "slow"). When reserving fails print an er=
ror
> > message showing which pages failed and who requested them. This should
> > be enough hint to find why XHCI console doesn't work.
> >=20
> > Fixes: 3a1a7b809ffa "drivers/char: mark DMA buffers as reserved for the=
 XHCI"
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>=20
> Acked-by: Jan Beulich <jbeulich@suse.com>

Hi,

Is any ack missing here, or has it just fallen through the cracks?

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYbJCQACgkQ24/THMrX
1yyKwAf/aj+4GRRnfb3H2tiyg/cvNiJQoHqzAzBVyaCf5oksbV0D5GBywFy3W7OE
VUDx5GPygER7xPtwQAP+DG462vV7uLhgttaLU4Dh2ixRiEqOVddItlYUEGEmYf+5
5bDtXfIVZiWV2+DjDkYXccxfH2FFtiUjzFCAtxsX8zq2rrNV7FGeCJDnuVDl/smh
24ts3R8JXsJ1MewUNv3n2hl8p0xaURlTN2+WZNiCB0kAkdTlMOIz/mfuM6VRnydJ
P5LvCKDZCB4ysM1Xx+e2W24xJu5d6ochsH3i7Gy8inliKw7SbSYcz4vCWIjqIknq
+mqI+qyueoV+ndPReqx2NfUu5dMPdQ==
=tu5o
-----END PGP SIGNATURE-----

--gIMOllW2eE6Vd1E3--


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 01:20:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 01:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705307.1101981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvoXQ-0004pS-5e; Sun, 14 Apr 2024 01:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705307.1101981; Sun, 14 Apr 2024 01:20:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvoXQ-0004pL-12; Sun, 14 Apr 2024 01:20:08 +0000
Received: by outflank-mailman (input) for mailman id 705307;
 Sun, 14 Apr 2024 01: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 1rvoXO-0004nU-IA; Sun, 14 Apr 2024 01: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 1rvoXO-0002NM-9b; Sun, 14 Apr 2024 01:20:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvoXO-0005eY-14; Sun, 14 Apr 2024 01:20:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvoXO-00076m-0a; Sun, 14 Apr 2024 01:20:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=80zCmekEpc8zFw273bRPA5Lov6Av4CC8Kbn4leqwdYc=; b=1tNsnvx+D/lW8FvfZ2XQLq7wDD
	xUT6ag/Yuizqt3lHI3bAF69t9xSfswMpvIvnsx9hq18bmNUiA0Znx3P9t1fNnubkS6bpjmlaqn4EA
	pf98t98PypRi1pgqzsnm/lTrJpOGr93Uq0uWNnO9hEMN9jmz88engYYVHAk1qJfo+yJE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185412-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185412: 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:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=812a146dfe784315edece43d09f8d9e432f8230e
X-Osstest-Versions-That:
    libvirt=01f2b614a25f60b9deab44e3efd05646958776ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 01:20:06 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185307
 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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-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-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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              812a146dfe784315edece43d09f8d9e432f8230e
baseline version:
 libvirt              01f2b614a25f60b9deab44e3efd05646958776ad

Last test of basis   185307  2024-04-11 04:18:41 Z    2 days
Testing same since   185412  2024-04-13 04:19:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-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
   01f2b614a2..812a146dfe  812a146dfe784315edece43d09f8d9e432f8230e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 02:13:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 02:13:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705321.1102009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvpNA-0000KH-7o; Sun, 14 Apr 2024 02:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705321.1102009; Sun, 14 Apr 2024 02: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 1rvpNA-0000KA-2i; Sun, 14 Apr 2024 02:13:36 +0000
Received: by outflank-mailman (input) for mailman id 705321;
 Sun, 14 Apr 2024 02:13: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 1rvpN9-0000K0-H0; Sun, 14 Apr 2024 02:13: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 1rvpN9-0003jO-7X; Sun, 14 Apr 2024 02: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 1rvpN8-0000OP-Se; Sun, 14 Apr 2024 02:13:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvpN8-0001n6-SE; Sun, 14 Apr 2024 02: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=6mnV6JrKm0NEQi0z1zjWHcqD2poy+7tVSakXgKN93cU=; b=Pta+GmgSJXHM+S/LkglEp4fJ8Y
	jddLJul3gHLjBnrk8qsKSTNchVSHmZu02OMezpFnKDBFqh75YfhzyLMVEFgTyfohH/EuLP6Ta9CU8
	hT3NGtf1HLTwu2dB0gClz+F2se18QDFpdBHRtLBS8ckGbU8StC4YRmPM0BsoO66eg7v4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185433-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185433: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 02:13:34 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt             <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail REGR. vs. 185168
 build-arm64-libvirt           5 host-build-prep          fail REGR. vs. 185168
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185168

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2  19 guest-start.2           fail blocked in 185168
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-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          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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 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-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   18 days
Testing same since   185433  2024-04-13 11:16:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-libvirt broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 02:16:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 02:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705328.1102019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvpQO-0001H9-Ol; Sun, 14 Apr 2024 02:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705328.1102019; Sun, 14 Apr 2024 02:16:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvpQO-0001H2-LU; Sun, 14 Apr 2024 02:16:56 +0000
Received: by outflank-mailman (input) for mailman id 705328;
 Sun, 14 Apr 2024 02:16: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 1rvpQO-0001Gq-43; Sun, 14 Apr 2024 02:16: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 1rvpQN-0003pK-U3; Sun, 14 Apr 2024 02:16: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 1rvpQN-0000ht-IE; Sun, 14 Apr 2024 02:16:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvpQH-0002j3-6x; Sun, 14 Apr 2024 02:16:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0yMGlEJ00dsEM9Y2sxUghNhM1TZnHGhmqGtgIvOtTWI=; b=TiO7uGXBIDc/kGGQAXoThVe3k/
	XUpuSVa/SAmidsTpsOexjFMmfoxGEIEHVGXPz4YNPhNX1f2YuB9MIZYm+LdgucYvqP6N0TVwN2+rp
	OP4zLwPxVWekJR4cHGwVHO3WMcUvgJ+AnSoFbapxSDEDaFBVxCVyDfjtvtjKkJ89oCE0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185427-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185427: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-4.18-testing:build-arm64:<job status>:broken:regression
    xen-4.18-testing:build-arm64:host-build-prep:fail:regression
    xen-4.18-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.18-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-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-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl: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-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-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
    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
X-Osstest-Versions-This:
    xen=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 02:16:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                     <job status>                 broken
 build-arm64                   5 host-build-prep          fail REGR. vs. 185285
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185285

Tests which did not succeed, but are not blocking:
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 185285
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185285
 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-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-raw 14 migrate-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 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-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                  2d38302c33b117aa9a417056db241aefc840c2f0
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    4 days
Failing since        185303  2024-04-10 18:41:55 Z    3 days    3 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    2 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  broken  
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-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                                 blocked 
 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                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 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-arm64 broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 03:17:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 03:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705342.1102047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvqMX-0006bE-5g; Sun, 14 Apr 2024 03:17:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705342.1102047; Sun, 14 Apr 2024 03:17:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvqMX-0006b7-2x; Sun, 14 Apr 2024 03:17:01 +0000
Received: by outflank-mailman (input) for mailman id 705342;
 Sun, 14 Apr 2024 03:16: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 1rvqMV-0006ae-Kf; Sun, 14 Apr 2024 03:16: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 1rvqMV-0004tK-AA; Sun, 14 Apr 2024 03:16: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 1rvqMU-0002uG-VR; Sun, 14 Apr 2024 03:16:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvqMU-00020U-V3; Sun, 14 Apr 2024 03:16:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FqgUHX94LCiTlXJU5LzZP9lflM2PoIAgDwLwAQz/jAM=; b=lOYcDSLL0Xi4EV6JK0aaq/M0zY
	InAnlBb24jzuu7Bf9bH9og5VYHKpxxi1iAi3AXUVpDcSYbjSJJqm/mXK5Fjp6eDiKMuc58eEEAc4E
	Rwy4yMPle8LEnM/2vJnuxqh7LwEGU4MLDQl+xAvIOvOvAiJylhpxJIg2IvZkPIpOzV8w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185434-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185434: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-6.1:build-arm64-libvirt:<job status>:broken:regression
    linux-6.1:build-arm64-pvops:<job status>:broken:regression
    linux-6.1:build-arm64-libvirt:host-build-prep:fail:regression
    linux-6.1:build-arm64-pvops:host-build-prep:fail:regression
    linux-6.1:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:build-check(1):blocked: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-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-xl-qemuu-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-qemuu-debianhvm-amd64-xsm:migrate-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-amd64-amd64-libvirt-qcow2:migrate-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-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-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-vhd: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-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:migrate-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-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
X-Osstest-Versions-This:
    linux=cd5d98c0556cd790f78a3ba26afc9d2f896163e4
X-Osstest-Versions-That:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 03:16:58 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt             <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-libvirt           5 host-build-prep          fail REGR. vs. 185299
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185299

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185299
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185299
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185299
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185299
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185299
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185299
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          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-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-xsm 15 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-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                cd5d98c0556cd790f78a3ba26afc9d2f896163e4
baseline version:
 linux                bf1e3b1cb1e002ed1590c91f1a24433b59322368

Last test of basis   185299  2024-04-10 14:42:59 Z    3 days
Testing same since   185434  2024-04-13 11:42:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alban Boyé <alban.boye@protonmail.com>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Andrew Lunn <andrew@lunn.ch>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Ye <bo.ye@mediatek.com>
  Boqun Feng <boqun.feng@gmail.com>
  C Cheng <C.Cheng@mediatek.com>
  Chancel Liu <chancel.liu@nxp.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Dai Ngo <dai.ngo@oracle.com>
  Daniel Drake <drake@endlessos.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gwendal Grignou <gwendal@chromium.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Ian Rogers <irogers@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jian-Hong Pan <jhp@endlessos.org>
  Jiawei Fu (iBug) <i@ibugone.com>
  Jiawei Fu <i@ibugone.com>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Ogness <john.ogness@linutronix.de>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Justin Tee <justin.tee@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karel Balej <balejk@matfyz.cz>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Leon Romanovsky <leon@kernel.org>
  linke li <lilinke99@qq.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Manjunath Patil <manjunath.b.patil@oracle.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Markuss Broks <markuss.broks@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael S. Tsirkin <mst@redhat.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Marshall <hubcap@omnibond.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  mosomate <mosomate@gmail.com>
  Mukesh Sisodiya <mukesh.sisodiya@intel.com>
  Máté Mosonyi <mosomate@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Machek (CIP) <pavel@denx.de>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ron Economos <re@w6rz.net>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Dionne-Riel <samuel@dionne-riel.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Tasos Sahanidis <tasos@tasossah.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Ye Bin <yebin10@huawei.com>
  Zhang Yi <yi.zhang@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                                          broken  
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 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                                      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-arm64-libvirt broken
broken-job build-arm64-pvops broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 04:15:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 04:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705357.1102074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvrGt-00035T-C7; Sun, 14 Apr 2024 04:15:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705357.1102074; Sun, 14 Apr 2024 04: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 1rvrGt-00035M-99; Sun, 14 Apr 2024 04:15:15 +0000
Received: by outflank-mailman (input) for mailman id 705357;
 Sun, 14 Apr 2024 04:15: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 1rvrGr-00035C-R5; Sun, 14 Apr 2024 04:15: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 1rvrGr-00060T-EP; Sun, 14 Apr 2024 04:15:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvrGr-0004Kf-42; Sun, 14 Apr 2024 04:15:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvrGr-00025T-3e; Sun, 14 Apr 2024 04:15:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9CjQlvxXrNAVb8i5Ae800zIvDVoELRTkQRMvltNs3fQ=; b=Usngv/yHNSE50daR1aUfJvgc8L
	IUwl/ofUcSEwXnmK7JHOuHCxqjMpm/f0C97r55SH2yLaVtzYtyYNEQX+3NYoe0MouUNpGrY6ndKPx
	+sIUU1iR7eih2NTRzXuwagYTIUeVw2F8Jw6mJ6IfgvzG28lqIJq0t3Tpvj1/kwbAys1g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185442-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185442: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64:host-build-prep:fail:regression
    linux-linus:build-arm64-pvops:host-build-prep:fail:regression
    linux-linus:build-arm64-libvirt: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-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-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-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-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8f2c057754b25075aa3da132cd4fd4478cdab854
X-Osstest-Versions-That:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 04:15:13 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64                   5 host-build-prep          fail REGR. vs. 185347
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185347

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

version targeted for testing:
 linux                8f2c057754b25075aa3da132cd4fd4478cdab854
baseline version:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a

Last test of basis   185347  2024-04-12 05:19:23 Z    1 days
Testing same since   185442  2024-04-13 14:48:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Animesh Manna <animesh.manna@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Coly Li <colyli@suse.de>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Fabio Estevam <festevam@denx.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Haiyue Wang <haiyue.wang@intel.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harry Wentland <harry.wentland@amd.com>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jouni Högander <jouni.hogander@intel.com>
  Karthik Poosa <karthik.poosa@intel.com>
  Kees Cook <keescook@chromium.org>
  Kenneth Feng <kenneth.feng@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Lang Yu <Lang.Yu@amd.com>
  Li Ma <li.ma@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  lima1002 <li.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Ruhmann <ruhmann@luis.uni-hannover.de>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Miguel Ojeda <ojeda@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  NeilBrown <neilb@suse.de>
  Pavel Begunkov <asml.silence@gmail.com>
  Pierre Gondois <pierre.gondois@arm.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Li <roman.li@amd.com>
  Samuel Holland <samuel.holland@sifive.com>
  shaoyunl <shaoyun.liu@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Song Liu <song@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Harvey <tharvey@gateworks.com>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vasant Hegde <vasant.hegde@amd.com>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Wachowski, Karol <karol.wachowski@intel.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Xiubo Li <xiubli@redhat.com>
  Xuchun Shang <xuchun.shang@linux.alibaba.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Ye Li <ye.li@broadcom.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  Yu Kuai <yukuai3@huawei.com>
  Zack Rusin <zack.rusin@broadcom.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zhongwei <zhongwei.zhang@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  broken  
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 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                                      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-arm64 broken
broken-job build-arm64-pvops broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 05:05:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 05:05:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705372.1102103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvs3G-00062W-TV; Sun, 14 Apr 2024 05:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705372.1102103; Sun, 14 Apr 2024 05: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 1rvs3G-00062P-Qp; Sun, 14 Apr 2024 05:05:14 +0000
Received: by outflank-mailman (input) for mailman id 705372;
 Sun, 14 Apr 2024 05:05: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 1rvs3F-00062F-Hs; Sun, 14 Apr 2024 05:05: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 1rvs3F-0007WP-0e; Sun, 14 Apr 2024 05:05: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 1rvs3E-0005VG-Nh; Sun, 14 Apr 2024 05:05:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvs3E-0000fK-NF; Sun, 14 Apr 2024 05:05:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=e9Ltcll+SjiVX5+9iRAZqse572y9rIMk0//un/gslGQ=; b=Dd7u4OYFYqnxxN+yvUdwKj+VWQ
	o0bgLbiaxGYbQKUD6Tu1Mr0afdhxsdZIj3pydvNVOH4326r9kXVdi3xb5S52Ce5gVAG2yCqIcgYdD
	jKqAR/DvH4KZWCmR9xQlGille31tmahEtOrTjLulZOhrMjb3K6vA7gEcCb2QKsVFPT1c=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.17-testing bisection] complete test-amd64-amd64-xl-vhd
Message-Id: <E1rvs3E-0000fK-NF@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 05:05:12 +0000

branch xen-4.17-testing
xenbranch xen-4.17-testing
job test-amd64-amd64-xl-vhd
testid debian-di-install

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  19887194865cff7d87650c323d5c6b185dfe3ddc
  Bug not present: b8f39fd4d024ea72c586f1afd233f379c6f6230b
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185474/


  commit 19887194865cff7d87650c323d5c6b185dfe3ddc
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.17-testing/test-amd64-amd64-xl-vhd.debian-di-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.17-testing/test-amd64-amd64-xl-vhd.debian-di-install --summary-out=tmp/185474.bisection-summary --basis-template=185284 --blessings=real,real-bisect,real-retry xen-4.17-testing test-amd64-amd64-xl-vhd debian-di-install
Searching for failure / basis pass:
 185400 fail [host=rimava1] / 185284 [host=pinot0] 185217 [host=pinot1] 185180 [host=elbling0] 185171 ok.
Failure / basis pass flights: 185400 / 185171
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
Basis pass d7543167affd372819a94879b8b1e8b9b12547d9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0f1281 bfb69205376d94ff91b09a337c47fb665ee12da3
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#d7543167affd372819a94879b8b1e8b9b12547d9-bf1e3b1cb1e002ed1590c91f1a24433b59322368 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#cf58f47623c40a66b160face4f04e08efb4c7f5b-98f150a954b35cc74bd87ae355cf35d8c9e1580d git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#ffb451126550b22b43b62fb8731a0d78e3376c03-ffb451126550b22b43b62fb8731a0d78e3376c03 git://xenbits.xen.org/osstest/seabios.git#1588fd1437960d94cadc30c42243671e8c0f1281-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#bfb69205376d94ff91b09a337c47fb665ee12da3-5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
Loaded 13547 nodes in revision graph
Searching for test results:
 185180 [host=elbling0]
 185171 pass d7543167affd372819a94879b8b1e8b9b12547d9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0f1281 bfb69205376d94ff91b09a337c47fb665ee12da3
 185217 [host=pinot1]
 185284 [host=pinot0]
 185300 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 d530627aaa9b6e03c7f911434bb342fca3d13300
 185388 pass d7543167affd372819a94879b8b1e8b9b12547d9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0f1281 bfb69205376d94ff91b09a337c47fb665ee12da3
 185393 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 d530627aaa9b6e03c7f911434bb342fca3d13300
 185318 fail irrelevant
 185397 pass 149afee5c7418ec5db9d7387b9c9a5c1eb7ea2a8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0f1281 bfb69205376d94ff91b09a337c47fb665ee12da3
 185401 fail irrelevant
 185406 pass 3070c70a3e46165e4828d519944694694d76a963 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b3871141136ac643332587f33f2e4fa78d72eb07 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 913680885350f92965d70122f6fd54406c49af7d 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a
 185411 pass 9dac54f08198147f5ec0ec52fcf1bc8ac899ac05 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b3871141136ac643332587f33f2e4fa78d72eb07 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 913680885350f92965d70122f6fd54406c49af7d 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a
 185418 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 c98c14576f1a93519402a8e2f4736b479ad6007c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a
 185422 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 6b899fe735d040356ead7170e0fe10f6668624d0
 185400 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
 185426 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 653560e02d40c480d08032f3cf1e450db79f5d71
 185431 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 4f7656fe8ed94d07f7de9a4274cd2a47675fb178
 185438 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
 185443 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 19887194865cff7d87650c323d5c6b185dfe3ddc
 185451 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
 185456 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 19887194865cff7d87650c323d5c6b185dfe3ddc
 185465 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
 185474 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 19887194865cff7d87650c323d5c6b185dfe3ddc
Searching for interesting versions
 Result found: flight 185171 (pass), for basis pass
 For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b, results HASH(0x55ab437c4428) HASH(0x55ab43726710) HASH(0x55ab4376e408) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 4f7656fe8ed94d07f7de9a4274cd2a47675fb178, results HASH(0x55ab437d05a0) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 c98c14576f1a93519402a8e2f4736b479ad6007c 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8\
 731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a, results HASH(0x55ab437d16a8) For basis failure, parent search stopping at 9dac54f08198147f5ec0ec52fcf1bc8ac899ac05 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b3871141136ac643332587f33f2e4fa78d72eb07 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 913680885350f92965d70122f6fd54406c49af7d 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a, results HASH(0x55ab437c3020) For basis\
  failure, parent search stopping at 3070c70a3e46165e4828d519944694694d76a963 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b3871141136ac643332587f33f2e4fa78d72eb07 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 913680885350f92965d70122f6fd54406c49af7d 9bc40dbcf9eafccc1923b2555286bf6a2af03b7a, results HASH(0x55ab437b4398) For basis failure, parent search stopping at 149afee5c7418ec5db9d7387b9c9a5c1eb7ea2a8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160\
 face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0f1281 bfb69205376d94ff91b09a337c47fb665ee12da3, results HASH(0x55ab43790c50) For basis failure, parent search stopping at d7543167affd372819a94879b8b1e8b9b12547d9 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cf58f47623c40a66b160face4f04e08efb4c7f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 1588fd1437960d94cadc30c42243671e8c0\
 f1281 bfb69205376d94ff91b09a337c47fb665ee12da3, results HASH(0x55ab437833d0) HASH(0x55ab43795288) Result found: flight 185300 (fail), for basis failure (at ancestor ~2024)
 Repro found: flight 185388 (pass), for basis pass
 Repro found: flight 185400 (fail), for basis failure
 0 revisions at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ffb451126550b22b43b62fb8731a0d78e3376c03 c5a361c09a19e3b1a83557b01f11f04b27181a11 b8f39fd4d024ea72c586f1afd233f379c6f6230b
No revisions left to test, checking graph state.
 Result found: flight 185438 (pass), for last pass
 Result found: flight 185443 (fail), for first failure
 Repro found: flight 185451 (pass), for last pass
 Repro found: flight 185456 (fail), for first failure
 Repro found: flight 185465 (pass), for last pass
 Repro found: flight 185474 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  19887194865cff7d87650c323d5c6b185dfe3ddc
  Bug not present: b8f39fd4d024ea72c586f1afd233f379c6f6230b
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185474/


  commit 19887194865cff7d87650c323d5c6b185dfe3ddc
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.586382 to fit
pnmtopng: 46 colors found
Revision graph left in /home/logs/results/bisect/xen-4.17-testing/test-amd64-amd64-xl-vhd.debian-di-install.{dot,ps,png,html,svg}.
----------------------------------------
185474: tolerable ALL FAIL

flight 185474 xen-4.17-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185474/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-vhd      12 debian-di-install       fail baseline untested


jobs:
 test-amd64-amd64-xl-vhd                                      fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Sun Apr 14 05:33:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 05:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705384.1102125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvsUe-0003UU-Ac; Sun, 14 Apr 2024 05:33:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705384.1102125; Sun, 14 Apr 2024 05:33: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 1rvsUe-0003UN-7Y; Sun, 14 Apr 2024 05:33:32 +0000
Received: by outflank-mailman (input) for mailman id 705384;
 Sun, 14 Apr 2024 05:33: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 1rvsUd-0003UD-1D; Sun, 14 Apr 2024 05:33: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 1rvsUc-000806-Uw; Sun, 14 Apr 2024 05:33: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 1rvsUc-0006Dn-Li; Sun, 14 Apr 2024 05:33:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvsUc-0004lU-LI; Sun, 14 Apr 2024 05:33:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MxL01fiYz/HBHaKYdfQpBA9lgXKnZnjSawNqKkNeAjk=; b=XOpXQ+9WbBOTnsIocPoTXK+ebZ
	mf+j6dHesdGeJn7it0VjdwcCKZIKjjzAhV5K72uEvT3TkE4pNV9GL0Ut4/ANw3voHWUUruQ6J+QEU
	yhCSXdxIcN/vPqOCF/Uj1bTGeo5Z1qdl4GfAnzsX0zgwbuQlr/66KDp1SUABYpFg9PdY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185458-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185458: regressions - trouble: blocked/broken/pass
X-Osstest-Failures:
    xen-4.15-testing:build-amd64:<job status>:broken:regression
    xen-4.15-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.15-testing:build-arm64:<job status>:broken:regression
    xen-4.15-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386:<job status>:broken:regression
    xen-4.15-testing:build-i386-prev:<job status>:broken:regression
    xen-4.15-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.15-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-i386:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 05:33:30 +0000

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

Regressions :-(

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-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-armhf-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185282
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185282
 build-i386                    5 host-build-prep          fail REGR. vs. 185282
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-amd64                   5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185282
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185282
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-arm64                   5 host-build-prep          fail REGR. vs. 185282
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185282

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    4 days
Testing same since   185296  2024-04-10 06:02:43 Z    3 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 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                                             pass    
 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-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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 06:03:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 06:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705393.1102141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvsxW-000260-NI; Sun, 14 Apr 2024 06:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705393.1102141; Sun, 14 Apr 2024 06: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 1rvsxW-00025t-Ji; Sun, 14 Apr 2024 06:03:22 +0000
Received: by outflank-mailman (input) for mailman id 705393;
 Sun, 14 Apr 2024 06:03:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvsxV-00025j-Dp; Sun, 14 Apr 2024 06:03:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvsxV-0000BP-Az; Sun, 14 Apr 2024 06:03:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvsxV-0006zH-3R; Sun, 14 Apr 2024 06:03:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvsxV-0000wj-2x; Sun, 14 Apr 2024 06:03:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=b/QSLK7LI5YYgG94eo5EUfES4KqswdCMaOAD1srv9Cw=; b=jObxKP9gKaObw0dlHFbs/Zr+4I
	YHXH6N3c35jbXw0M3ELGt4AoU4gFtI5/E7JrWAeBds2JJgX1k5tAViRSRanMQNFmWT9FE6yEhzp9u
	/HIRouJlv1OUtSmMBinr+U2xL6sW5oM83soKfjfFZ+GojTR8D3UPOOte/raGXKJbm0VE=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.18-testing bisection] complete test-amd64-amd64-xl-vhd
Message-Id: <E1rvsxV-0000wj-2x@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 06:03:21 +0000

branch xen-4.18-testing
xenbranch xen-4.18-testing
job test-amd64-amd64-xl-vhd
testid debian-di-install

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
  Bug not present: 1166467ed300d605529aaf7a7d26c8c92defe36a
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185484/


  commit 6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.18-testing/test-amd64-amd64-xl-vhd.debian-di-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.18-testing/test-amd64-amd64-xl-vhd.debian-di-install --summary-out=tmp/185484.bisection-summary --basis-template=185285 --blessings=real,real-bisect,real-retry xen-4.18-testing test-amd64-amd64-xl-vhd debian-di-install
Searching for failure / basis pass:
 185427 fail [host=rimava0] / 185285 [host=debina1] 185218 [host=pinot0] 185183 [host=himrod0] 185172 [host=fiano0] template as basis? using template as basis.
Failure / basis pass flights: 185427 / 185285
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 2d38302c33b117aa9a417056db241aefc840c2f0
Basis pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1588fd1437960d94cadc30c42243671e8c0f1281 1166467ed300d605529aaf7a7d26c8c92defe36a
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#347385861c50adc8d4801d4b899eded38a2f04cd-bf1e3b1cb1e002ed1590c91f1a24433b59322368 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#932db9df0caa26daca4edf133fb2aed7b4a9193e-98f150a954b35cc74bd87ae355cf35d8c9e1580d git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f572342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/osstest/seabios.git#1588fd1437960d94cadc30c42243671e8c0f1281-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#1166467ed300d605529aaf7a7d26c8c92defe36a-2d38302c33b117aa9a417056db241aefc840c2f0
Loaded 25239 nodes in revision graph
Searching for test results:
 185285 [host=debina1]
 185303 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 d152a0424677d8b78e00ed1270a583c5dafff16f
 185359 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1588fd1437960d94cadc30c42243671e8c0f1281 1166467ed300d605529aaf7a7d26c8c92defe36a
 185374 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 d152a0424677d8b78e00ed1270a583c5dafff16f
 185383 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1588fd1437960d94cadc30c42243671e8c0f1281 1166467ed300d605529aaf7a7d26c8c92defe36a
 185389 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 d152a0424677d8b78e00ed1270a583c5dafff16f
 185394 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 4c2208d06cd03e54f97b98b4449dc717fc1dcee5
 185402 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 a44c2c9f89e53e6691b42217fb34d985b28f3cf0
 185410 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 aa94925d296dc31a38360056227ffb0eea749572 1166467ed300d605529aaf7a7d26c8c92defe36a
 185337 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 2d38302c33b117aa9a417056db241aefc840c2f0
 185416 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 22c91412600b7fabd75ef68d2d4d3e63e9e27f9f 1166467ed300d605529aaf7a7d26c8c92defe36a
 185423 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 2d38302c33b117aa9a417056db241aefc840c2f0
 185432 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
 185441 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 1166467ed300d605529aaf7a7d26c8c92defe36a
 185447 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
 185454 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 1166467ed300d605529aaf7a7d26c8c92defe36a
 185459 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
 185427 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 2d38302c33b117aa9a417056db241aefc840c2f0
 185470 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 1166467ed300d605529aaf7a7d26c8c92defe36a
 185484 fail 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
Searching for interesting versions
 Result found: flight 185359 (pass), for basis pass
 For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 1166467ed300d605529aaf7a7d26c8c92defe36a, results HASH(0x564ad266c4a8) HASH(0x564ad266f6d8) HASH(0x564ad2650120) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 22c91412600b7fabd75ef68d2d4d3e63e9e27f9f 1166467ed300d605529aaf7a7d26c8c92defe36a, results HASH(0x564ad2666f70) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c57\
 4356f572342c03e6 aa94925d296dc31a38360056227ffb0eea749572 1166467ed300d605529aaf7a7d26c8c92defe36a, results HASH(0x564ad2661fd8) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1588fd1437960d94cadc30c42243671e8c0f1281 1166467ed300d605529aaf7a7d26c8c92defe36a, results HASH(0x564ad2647ad8) HASH(0x56\
 4ad261e350) Result found: flight 185374 (fail), for basis failure (at ancestor ~7533)
 Repro found: flight 185383 (pass), for basis pass
 Repro found: flight 185423 (fail), for basis failure
 0 revisions at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c5a361c09a19e3b1a83557b01f11f04b27181a11 1166467ed300d605529aaf7a7d26c8c92defe36a
No revisions left to test, checking graph state.
 Result found: flight 185441 (pass), for last pass
 Result found: flight 185447 (fail), for first failure
 Repro found: flight 185454 (pass), for last pass
 Repro found: flight 185459 (fail), for first failure
 Repro found: flight 185470 (pass), for last pass
 Repro found: flight 185484 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
  Bug not present: 1166467ed300d605529aaf7a7d26c8c92defe36a
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185484/


  commit 6d4055b9a5d1d800d7f0e5584b9a0213bf25cd8b
  Author: Andrew Cooper <andrew.cooper3@citrix.com>
  Date:   Tue Mar 26 22:47:25 2024 +0000
  
      x86/spec-ctrl: Fix BTC/SRSO mitigations
      
      We were looking for SCF_entry_ibpb in the wrong variable in the top-of-stack
      block, and xen_spec_ctrl won't have had bit 5 set because Xen doesn't
      understand SPEC_CTRL_RRSBA_DIS_U yet.
      
      This is XSA-455 / CVE-2024-31142.
      
      Fixes: 53a570b28569 ("x86/spec-ctrl: Support IBPB-on-entry")
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      Reviewed-by: Jan Beulich <jbeulich@suse.com>

pnmtopng: 215 colors found
Revision graph left in /home/logs/results/bisect/xen-4.18-testing/test-amd64-amd64-xl-vhd.debian-di-install.{dot,ps,png,html,svg}.
----------------------------------------
185484: tolerable ALL FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-vhd      12 debian-di-install       fail baseline untested


jobs:
 test-amd64-amd64-xl-vhd                                      fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Sun Apr 14 07:12:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 07:12:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705411.1102169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvu1w-0000hI-W5; Sun, 14 Apr 2024 07:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705411.1102169; Sun, 14 Apr 2024 07:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvu1w-0000hB-SJ; Sun, 14 Apr 2024 07:12:00 +0000
Received: by outflank-mailman (input) for mailman id 705411;
 Sun, 14 Apr 2024 07:11: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 1rvu1v-0000h1-KF; Sun, 14 Apr 2024 07:11: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 1rvu1v-0001Uu-3w; Sun, 14 Apr 2024 07:11: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 1rvu1u-0000G9-PK; Sun, 14 Apr 2024 07:11:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvu1u-0007sU-Ou; Sun, 14 Apr 2024 07:11:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8uHMLJPGZK8dcTdGOb1kso9EVBjHEJTCZ11fNh0AtxI=; b=AU4y6cCeIFLTHMWPdj6c5Yz/rd
	FZI8aj6eHP2xi/zZClKjZRHmNh6f2etykqYPZFdmHMtHaElk6plrlbsMiuuXZVf5MiySJtjVoKyu+
	mV7nU5AiKXZJepituL2WhQ7C2O/9CIM+Xobaj1H6QNlY+SapmT1u7JZpMOyH7xBjl0YQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185472-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185472: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-5.4:build-amd64:<job status>:broken:regression
    linux-5.4:build-amd64-pvops:<job status>:broken:regression
    linux-5.4:build-amd64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-armhf:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-i386:<job status>:broken:regression
    linux-5.4:build-i386-pvops:<job status>:broken:regression
    linux-5.4:build-i386-xsm:<job status>:broken:regression
    linux-5.4:build-i386-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-xsm:host-build-prep:fail:regression
    linux-5.4:build-i386:host-build-prep:fail:regression
    linux-5.4:build-armhf-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64:host-build-prep:fail:regression
    linux-5.4:build-i386-xsm:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:build-armhf:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-i386:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 07:11:58 +0000

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

Regressions :-(

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              5 host-build-prep          fail REGR. vs. 185168
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-i386                    5 host-build-prep          fail REGR. vs. 185168
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64                   5 host-build-prep          fail REGR. vs. 185168
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185168
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-arm64                   5 host-build-prep          fail REGR. vs. 185168
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-armhf                   5 host-build-prep          fail REGR. vs. 185168

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-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
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   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-xl-credit1   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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-examine       1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-freebsd10-amd64  1 build-check(1)            blocked n/a
 test-amd64-i386-qemuu-freebsd10-i386  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   18 days
Testing same since   185433  2024-04-13 11:16:55 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@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-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-qemuu-freebsd10-amd64                        blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-i386-examine-bios                                 blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      blocked 
 test-amd64-i386-qemuu-freebsd10-i386                         blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-i386-libvirt-qcow2                                blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-i386-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-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-i386-examine-uefi                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-amd64-i386-xl-vhd                                       blocked 


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 07:27:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 07:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705424.1102182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvuHE-0004az-Es; Sun, 14 Apr 2024 07:27:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705424.1102182; Sun, 14 Apr 2024 07:27:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvuHE-0004as-B2; Sun, 14 Apr 2024 07:27:48 +0000
Received: by outflank-mailman (input) for mailman id 705424;
 Sun, 14 Apr 2024 07:27:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvuHD-0004ai-0m; Sun, 14 Apr 2024 07:27:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvuHC-0001m5-L2; Sun, 14 Apr 2024 07:27: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 1rvuHC-0000cS-A3; Sun, 14 Apr 2024 07:27:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvuHC-0006M4-9U; Sun, 14 Apr 2024 07:27:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bOfX1gGr4sUlY/Fn5oH5BFJeQdNjfijKd5MfDH4ytXo=; b=QXE7sQDHKXW8xmBk6OQUnqPWdt
	000xtiatzFoesPEGseQPMR79uccHVrPIihR2M3kVkkqDi1zpjThge/N368PzeLhD8Ce40YzW4BrGw
	Bl0dvDdKaNyLqwjEu6x72gkbhg2n9gUwq3fGbbFkgXGyd86vppXhfem8HEvcsFH+HuEA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185446-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185446: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-4.17-testing:build-arm64:<job status>:broken:regression
    xen-4.17-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.17-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.17-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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-amd64-amd64-libvirt-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 07:27:46 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185284
 build-arm64                   5 host-build-prep          fail REGR. vs. 185284
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185284
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 185284
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185284

Tests which did not succeed, but are not blocking:
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185284
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185284
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185284
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-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-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          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
 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                  5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
baseline version:
 xen                  b8f39fd4d024ea72c586f1afd233f379c6f6230b

Last test of basis   185284  2024-04-09 12:07:06 Z    4 days
Failing since        185300  2024-04-10 16:35:42 Z    3 days    4 attempts
Testing same since   185400  2024-04-12 22:46:40 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  broken  
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-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                                    fail    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 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-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 08:51:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 08:51:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705446.1102213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvva0-0006Yp-Pp; Sun, 14 Apr 2024 08:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705446.1102213; Sun, 14 Apr 2024 08:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvva0-0006Yi-Lw; Sun, 14 Apr 2024 08:51:16 +0000
Received: by outflank-mailman (input) for mailman id 705446;
 Sun, 14 Apr 2024 08:51: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 1rvvZz-0006YY-1o; Sun, 14 Apr 2024 08:51: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 1rvvZy-00047d-Sv; Sun, 14 Apr 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 1rvvZy-0002eS-Iu; Sun, 14 Apr 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 1rvvZy-0004jR-IS; Sun, 14 Apr 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=Hez3VIp43YxGbdb/g4ekcGwWMcWduogoU+AIS0mPW8E=; b=k8raKj+zpxh7bYMbwpy87jtzDf
	8WaIYU+bX5730ght3UI9JTXii721LFey9Y/XHihCH4C/kKWW/rPW2XeF0zF137nXsICpYiNScIr5r
	v7+0FfPwxNihX0FEgeDxHL2zElljls2itzBOApizjhjsDnrLviLweh15NBuom2mf/1FI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185477-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185477: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-6.1:build-amd64:<job status>:broken:regression
    linux-6.1:build-amd64-pvops:<job status>:broken:regression
    linux-6.1:build-amd64-xsm:<job status>:broken:regression
    linux-6.1:build-arm64:<job status>:broken:regression
    linux-6.1:build-arm64-pvops:<job status>:broken:regression
    linux-6.1:build-arm64-xsm:<job status>:broken:regression
    linux-6.1:build-armhf:<job status>:broken:regression
    linux-6.1:build-armhf-pvops:<job status>:broken:regression
    linux-6.1:build-i386:<job status>:broken:regression
    linux-6.1:build-i386-pvops:<job status>:broken:regression
    linux-6.1:build-i386-xsm:<job status>:broken:regression
    linux-6.1:build-i386:host-build-prep:fail:regression
    linux-6.1:build-amd64-pvops:host-build-prep:fail:regression
    linux-6.1:build-amd64:host-build-prep:fail:regression
    linux-6.1:build-amd64-xsm:host-build-prep:fail:regression
    linux-6.1:build-armhf-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64:host-build-prep:fail:regression
    linux-6.1:build-arm64-pvops:host-build-prep:fail:regression
    linux-6.1:build-armhf:host-build-prep:fail:regression
    linux-6.1:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-6.1:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=cd5d98c0556cd790f78a3ba26afc9d2f896163e4
X-Osstest-Versions-That:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 08:51:14 +0000

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

Regressions :-(

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                    5 host-build-prep          fail REGR. vs. 185299
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-amd64                   5 host-build-prep          fail REGR. vs. 185299
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185299
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185299
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-arm64                   5 host-build-prep          fail REGR. vs. 185299
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-armhf                   5 host-build-prep          fail REGR. vs. 185299

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                cd5d98c0556cd790f78a3ba26afc9d2f896163e4
baseline version:
 linux                bf1e3b1cb1e002ed1590c91f1a24433b59322368

Last test of basis   185299  2024-04-10 14:42:59 Z    3 days
Testing same since   185434  2024-04-13 11:42:42 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alban Boyé <alban.boye@protonmail.com>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Andrew Lunn <andrew@lunn.ch>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Ye <bo.ye@mediatek.com>
  Boqun Feng <boqun.feng@gmail.com>
  C Cheng <C.Cheng@mediatek.com>
  Chancel Liu <chancel.liu@nxp.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Dai Ngo <dai.ngo@oracle.com>
  Daniel Drake <drake@endlessos.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gwendal Grignou <gwendal@chromium.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Ian Rogers <irogers@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jian-Hong Pan <jhp@endlessos.org>
  Jiawei Fu (iBug) <i@ibugone.com>
  Jiawei Fu <i@ibugone.com>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Ogness <john.ogness@linutronix.de>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Justin Tee <justin.tee@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karel Balej <balejk@matfyz.cz>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Leon Romanovsky <leon@kernel.org>
  linke li <lilinke99@qq.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Manjunath Patil <manjunath.b.patil@oracle.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Markuss Broks <markuss.broks@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael S. Tsirkin <mst@redhat.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Marshall <hubcap@omnibond.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  mosomate <mosomate@gmail.com>
  Mukesh Sisodiya <mukesh.sisodiya@intel.com>
  Máté Mosonyi <mosomate@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Machek (CIP) <pavel@denx.de>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ron Economos <re@w6rz.net>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Dionne-Riel <samuel@dionne-riel.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Tasos Sahanidis <tasos@tasossah.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Ye Bin <yebin10@huawei.com>
  Zhang Yi <yi.zhang@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 09:43:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 09:43:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705464.1102241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvwOU-0000qO-SV; Sun, 14 Apr 2024 09:43:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705464.1102241; Sun, 14 Apr 2024 09: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 1rvwOU-0000qH-Pl; Sun, 14 Apr 2024 09:43:26 +0000
Received: by outflank-mailman (input) for mailman id 705464;
 Sun, 14 Apr 2024 09:43: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 1rvwOT-0000q7-Mc; Sun, 14 Apr 2024 09:43: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 1rvwOT-00057I-L0; Sun, 14 Apr 2024 09:43: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 1rvwOT-0003qs-Dn; Sun, 14 Apr 2024 09:43:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvwOT-00006Z-DH; Sun, 14 Apr 2024 09:43: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=MI1bIngpQAulE5U7c9DkRr49nHZ5DvSy5CycF33IbWo=; b=cGVB8UeMWYxBLXzQMichmM8J/n
	npWtGhOhXNogCpKcWZwW5w/dtUX8UEJnyRWDVRhULW+TRSmnGOKEw62y+zcF9PyxQG9tin/2TnO2U
	UyVph36ckVF+2aW49Zm/GgQTgSgYS7h7klLWh2sJO3uTSp4BPAzoffu9LOAF4yy+IrBM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185481-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185481: regressions - 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:host-build-prep:fail:regression
    linux-linus:build-amd64-xsm:host-build-prep:fail:regression
    linux-linus:build-amd64-pvops:host-build-prep:fail:regression
    linux-linus:build-armhf-pvops:host-build-prep:fail:regression
    linux-linus:build-amd64:host-build-prep:fail:regression
    linux-linus:build-i386-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64:host-build-prep:fail:regression
    linux-linus:build-arm64-pvops:host-build-prep:fail:regression
    linux-linus:build-armhf:host-build-prep:fail: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=7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
X-Osstest-Versions-That:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 09:43:25 +0000

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

Regressions :-(

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                    5 host-build-prep          fail REGR. vs. 185347
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185347
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-amd64                   5 host-build-prep          fail REGR. vs. 185347
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185347
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185347
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185347
 build-arm64                   5 host-build-prep          fail REGR. vs. 185347
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-armhf                   5 host-build-prep          fail REGR. vs. 185347

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                7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
baseline version:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a

Last test of basis   185347  2024-04-12 05:19:23 Z    2 days
Failing since        185442  2024-04-13 14:48:28 Z    0 days    2 attempts
Testing same since   185481  2024-04-14 04:18:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Animesh Manna <animesh.manna@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bharath SM <bharathsm@microsoft.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Coly Li <colyli@suse.de>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Damien Le Moal <dlemoal@kernel.org>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Fabio Estevam <festevam@denx.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Haiyue Wang <haiyue.wang@intel.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harry Wentland <harry.wentland@amd.com>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Igor Pylypiv <ipylypiv@google.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jouni Högander <jouni.hogander@intel.com>
  Karthik Poosa <karthik.poosa@intel.com>
  Kees Cook <keescook@chromium.org>
  Kenneth Feng <kenneth.feng@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Lang Yu <Lang.Yu@amd.com>
  Li Ma <li.ma@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  lima1002 <li.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Ruhmann <ruhmann@luis.uni-hannover.de>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Miguel Ojeda <ojeda@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  NeilBrown <neilb@suse.de>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Pierre Gondois <pierre.gondois@arm.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Li <roman.li@amd.com>
  Samuel Holland <samuel.holland@sifive.com>
  shaoyunl <shaoyun.liu@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Song Liu <song@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tim Harvey <tharvey@gateworks.com>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vasant Hegde <vasant.hegde@amd.com>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Wachowski, Karol <karol.wachowski@intel.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Xiubo Li <xiubli@redhat.com>
  Xuchun Shang <xuchun.shang@linux.alibaba.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Ye Li <ye.li@broadcom.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  Yu Kuai <yukuai3@huawei.com>
  Zack Rusin <zack.rusin@broadcom.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zhongwei <zhongwei.zhang@amd.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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 10:29:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 10:29:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705480.1102263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvx6T-0002dP-4B; Sun, 14 Apr 2024 10:28:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705480.1102263; Sun, 14 Apr 2024 10:28:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvx6T-0002dI-0P; Sun, 14 Apr 2024 10:28:53 +0000
Received: by outflank-mailman (input) for mailman id 705480;
 Sun, 14 Apr 2024 10:28: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 1rvx6R-0002d8-Jf; Sun, 14 Apr 2024 10:28: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 1rvx6R-0006RN-Hy; Sun, 14 Apr 2024 10:28: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 1rvx6R-0004wg-CF; Sun, 14 Apr 2024 10:28:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvx6P-0000LG-9w; Sun, 14 Apr 2024 10:28:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GGoCpo04HW1qRFxse/NJvwsAJjsTiye8Hd4J+BC2mBU=; b=bRsLOGLDnhJ/ZF/5exB5jaFA7C
	hKvJlDj4GAob4eybFM2vCFtbPQZpjXyYJVV6/xUsTRWYu/F7+crccruP+xNwIh+YJyV01ixeFW845
	YxZLZAvIB2/e2G0FCmIluFeHBIJSxSHNUTwLkWfw7uy1fiLaFXG/KAlh6W0k5TX/3bTU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185482-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185482: regressions - trouble: blocked/broken
X-Osstest-Failures:
    libvirt:build-amd64:<job status>:broken:regression
    libvirt:build-amd64-pvops:<job status>:broken:regression
    libvirt:build-amd64-xsm:<job status>:broken:regression
    libvirt:build-arm64:<job status>:broken:regression
    libvirt:build-arm64-pvops:<job status>:broken:regression
    libvirt:build-arm64-xsm:<job status>:broken:regression
    libvirt:build-armhf:<job status>:broken:regression
    libvirt:build-armhf-pvops:<job status>:broken:regression
    libvirt:build-i386:<job status>:broken:regression
    libvirt:build-i386-pvops:<job status>:broken:regression
    libvirt:build-i386-xsm:<job status>:broken:regression
    libvirt:build-i386-xsm:host-build-prep:fail:regression
    libvirt:build-i386-pvops:host-build-prep:fail:regression
    libvirt:build-amd64-pvops:host-build-prep:fail:regression
    libvirt:build-amd64-xsm:host-build-prep:fail:regression
    libvirt:build-armhf-pvops:host-build-prep:fail:regression
    libvirt:build-amd64:host-build-prep:fail:regression
    libvirt:build-i386:host-build-prep:fail:regression
    libvirt:build-arm64-xsm:host-build-prep:fail:regression
    libvirt:build-arm64-pvops:host-build-prep:fail:regression
    libvirt:build-arm64:host-build-prep:fail:regression
    libvirt:build-armhf:host-build-prep:fail:regression
    libvirt:build-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:build-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:build-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=a4972778f97ae667a02bbbecdeabb912506fa2cf
X-Osstest-Versions-That:
    libvirt=812a146dfe784315edece43d09f8d9e432f8230e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 10:28:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185412
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185412
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185412
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185412
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185412
 build-amd64                   5 host-build-prep          fail REGR. vs. 185412
 build-i386                    5 host-build-prep          fail REGR. vs. 185412
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185412
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185412
 build-arm64                   5 host-build-prep          fail REGR. vs. 185412
 build-armhf                   5 host-build-prep          fail REGR. vs. 185412

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

version targeted for testing:
 libvirt              a4972778f97ae667a02bbbecdeabb912506fa2cf
baseline version:
 libvirt              812a146dfe784315edece43d09f8d9e432f8230e

Last test of basis   185412  2024-04-13 04:19:07 Z    1 days
Testing same since   185482  2024-04-14 04:19:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.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-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 


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

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

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

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

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

Not pushing.

------------------------------------------------------------
commit a4972778f97ae667a02bbbecdeabb912506fa2cf
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Fri Apr 12 17:45:16 2024 +0200

    vbox: Drop needless g_new0(..., 0) in vbox_snapshot_conf.c
    
    clang on Fedora started to complain about some calls to g_new0()
    we're making in vbox_snapshot_conf.c. Specifically, we're passing
    zero as number of elements to allocate. And while usually SA
    tools are not clever, in this specific case clang is right.
    There are three cases where such call is made, but all of them
    later use VIR_EXPAND_N() to allocate more memory (if needed). But
    VIR_EXPAND_N() accepts a variable set to NULL happily.
    
    Therefore, just drop those three calls to g_new0(..., 0) and let
    VIR_EXPAND_N() allocate memory.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Pavel Hrdina <phrdina@redhat.com>


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 11:20:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 11:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705499.1102285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvxuN-0006Fi-5r; Sun, 14 Apr 2024 11:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705499.1102285; Sun, 14 Apr 2024 11:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvxuN-0006Fb-2a; Sun, 14 Apr 2024 11:20:27 +0000
Received: by outflank-mailman (input) for mailman id 705499;
 Sun, 14 Apr 2024 11:20: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 1rvxuL-0006FR-Bc; Sun, 14 Apr 2024 11:20: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 1rvxuK-0007Oa-SF; Sun, 14 Apr 2024 11:20: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 1rvxuK-00067V-Ja; Sun, 14 Apr 2024 11:20:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvxuK-0006uI-J5; Sun, 14 Apr 2024 11:20: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=orCNMvYAVTuf7lYOdSXR/xKpzV/9GbTfbWQ2RbNtzN4=; b=KFzlsT9UweJhiQvYlEDyN2gdnz
	135S/gPiGqp8jwIczBISK5+6NJiADXXLgrIr9JrHoXcV6EqTb3YJci4tSlcFD41/ICGwN/pld4w0A
	zoZoB7gzqB9dYHKYlGmDienpWSP0jF60YtsRpXpQMxu53oMFu3IntCVim3IshFhgNWmw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185488-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185488: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.15-testing:build-amd64:<job status>:broken:regression
    xen-4.15-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.15-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.15-testing:build-arm64:<job status>:broken:regression
    xen-4.15-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-armhf:<job status>:broken:regression
    xen-4.15-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386:<job status>:broken:regression
    xen-4.15-testing:build-i386-prev:<job status>:broken:regression
    xen-4.15-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-i386:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf:host-build-prep:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 11:20:24 +0000

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

Regressions :-(

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-xsm                5 host-build-prep          fail REGR. vs. 185282
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-i386                    5 host-build-prep          fail REGR. vs. 185282
 build-amd64                   5 host-build-prep          fail REGR. vs. 185282
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185282
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185282
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-arm64                   5 host-build-prep          fail REGR. vs. 185282
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-armhf                   5 host-build-prep          fail REGR. vs. 185282

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    4 days
Testing same since   185296  2024-04-10 06:02:43 Z    4 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 11:23:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 11:23:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705507.1102295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvxxl-000728-LV; Sun, 14 Apr 2024 11:23:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705507.1102295; Sun, 14 Apr 2024 11:23:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvxxl-000721-Ia; Sun, 14 Apr 2024 11:23:57 +0000
Received: by outflank-mailman (input) for mailman id 705507;
 Sun, 14 Apr 2024 11:23: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 1rvxxk-00071r-5D; Sun, 14 Apr 2024 11:23: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 1rvxxk-0007Qi-2j; Sun, 14 Apr 2024 11:23: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 1rvxxj-0006CF-PA; Sun, 14 Apr 2024 11:23:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvxxj-00009u-Of; Sun, 14 Apr 2024 11:23: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=hd/q1luC9plavyqLHOdso6UsiwKsAvjr6lkeZhA7RdI=; b=4t6F+lspQY6IEd8vovV/Jcyh+a
	5pxSk+ZpoxT5bZ2vIHis/u4NBJ3hok2pVrm+L+Qb6ZCOC6HdUVTNrm08yKXgMA9gNu7a724tjVIut
	HcDT38kwx4XjmQ70c/iVX2ELBprV/0avv7g+LRWTkhw9ZrEJs7XVKmOrAM5BRTLkciVg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185457-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185457: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-unstable:build-amd64-libvirt:<job status>:broken:regression
    xen-unstable:build-amd64-xsm:<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-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-prev:host-build-prep:fail:regression
    xen-unstable:build-amd64-xsm:host-build-prep:fail:regression
    xen-unstable:build-i386-xsm:host-build-prep:fail:regression
    xen-unstable:build-amd64-libvirt:host-build-prep:fail:regression
    xen-unstable:build-i386:host-build-prep:fail:regression
    xen-unstable:build-i386-pvops:host-build-prep:fail:regression
    xen-unstable:build-arm64-xsm:host-build-prep:fail:regression
    xen-unstable:build-arm64:host-build-prep:fail:regression
    xen-unstable:build-arm64-pvops:host-build-prep:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:regression
    xen-unstable:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-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-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 11:23:55 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-libvirt             <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-i386                      <job status>                 broken
 build-i386-prev                 <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185281
 build-amd64-libvirt           5 host-build-prep          fail REGR. vs. 185281
 build-i386                    5 host-build-prep          fail REGR. vs. 185281
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185281
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-arm64                   5 host-build-prep          fail REGR. vs. 185281
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185281
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail REGR. vs. 185281
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185281
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 185281

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-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-libvirt-raw  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-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail blocked in 185281
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185281
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185281
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185281
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185281
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 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-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-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                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    5 days
Failing since        185294  2024-04-10 04:20:17 Z    4 days    4 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  broken  
 build-armhf                                                  pass    
 build-i386                                                   broken  
 build-amd64-libvirt                                          broken  
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           blocked 
 build-amd64-prev                                             pass    
 build-i386-prev                                              broken  
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             broken  
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-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                            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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     blocked 
 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                                blocked 
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 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                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 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-libvirt 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-i386 broken
broken-job build-i386-prev broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 12:09:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 12:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705527.1102316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvyfF-00005v-4v; Sun, 14 Apr 2024 12:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705527.1102316; Sun, 14 Apr 2024 12: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 1rvyfF-00005o-2L; Sun, 14 Apr 2024 12:08:53 +0000
Received: by outflank-mailman (input) for mailman id 705527;
 Sun, 14 Apr 2024 12:08: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 1rvyfD-00005d-7u; Sun, 14 Apr 2024 12:08: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 1rvyfC-0008Ao-RO; Sun, 14 Apr 2024 12:08:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvyfC-0007B3-JL; Sun, 14 Apr 2024 12:08:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvyfC-0006k1-Iu; Sun, 14 Apr 2024 12:08:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t3u2HwrECZTCsrwnKsuXZWwN9o17582pEDK0v9BFntM=; b=sCyZ/1vYSFk67a261fVVUUqNOb
	1LRtoBA0nrWG4l7LGdjlG8RF7rDmK723wFmECJa3N6IdgauIHfK4irYZk5TEFnWCdKA4Nn90FAgq9
	F/LeW56Tkp4NaE7SZvftKIxuQ3gnnmcx2TpYNxINJnWKfR8IrNq22i9pwLnQXU34VLDA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185494-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185494: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.17-testing:build-amd64:<job status>:broken:regression
    xen-4.17-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.17-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.17-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.17-testing:build-arm64:<job status>:broken:regression
    xen-4.17-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.17-testing:build-armhf:<job status>:broken:regression
    xen-4.17-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.17-testing:build-i386:<job status>:broken:regression
    xen-4.17-testing:build-i386-prev:<job status>:broken:regression
    xen-4.17-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.17-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.17-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.17-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.17-testing:build-i386:host-build-prep:fail:regression
    xen-4.17-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-armhf:host-build-prep:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 12:08:50 +0000

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

Regressions :-(

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-xsm                5 host-build-prep          fail REGR. vs. 185284
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185284
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185284
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-amd64                   5 host-build-prep          fail REGR. vs. 185284
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185284
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185284
 build-i386                    5 host-build-prep          fail REGR. vs. 185284
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185284
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185284
 build-arm64                   5 host-build-prep          fail REGR. vs. 185284
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-armhf                   5 host-build-prep          fail REGR. vs. 185284

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
baseline version:
 xen                  b8f39fd4d024ea72c586f1afd233f379c6f6230b

Last test of basis   185284  2024-04-09 12:07:06 Z    5 days
Failing since        185300  2024-04-10 16:35:42 Z    3 days    5 attempts
Testing same since   185400  2024-04-12 22:46:40 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 12:59:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 12:59:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705546.1102345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvzSJ-0002bN-48; Sun, 14 Apr 2024 12:59:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705546.1102345; Sun, 14 Apr 2024 12: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 1rvzSJ-0002bG-0n; Sun, 14 Apr 2024 12:59:35 +0000
Received: by outflank-mailman (input) for mailman id 705546;
 Sun, 14 Apr 2024 12:59: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 1rvzSH-0002b6-Tp; Sun, 14 Apr 2024 12:59: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 1rvzSH-0000dJ-NJ; Sun, 14 Apr 2024 12:59: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 1rvzSH-0008HY-Dg; Sun, 14 Apr 2024 12:59:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvzSH-0003hU-DH; Sun, 14 Apr 2024 12:59:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oTvrbFBZqI84OtykdgTrg0lwDfMlwnuONSL8Nc751UU=; b=L50w6D0/H/5IoJt5Fbhe2QQLky
	gRqiTsile0O6k5aOYnb3lZR0iFS4PXhLznqytEdMxenZqKwgbawNllvF6CEM1OphHRyW/9Lb/5BlY
	n7iwCVF91j+0qQ9RDv9LyHmJEUkPkTLt19Ag40Ut1sUrSaOyh/4IpGaAqjpeBxog8k48=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185495-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185495: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-5.4:build-amd64:<job status>:broken:regression
    linux-5.4:build-amd64-pvops:<job status>:broken:regression
    linux-5.4:build-amd64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-armhf:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-i386:<job status>:broken:regression
    linux-5.4:build-i386-pvops:<job status>:broken:regression
    linux-5.4:build-i386-xsm:<job status>:broken:regression
    linux-5.4:build-i386-pvops:host-build-prep:fail:regression
    linux-5.4:build-i386:host-build-prep:fail:regression
    linux-5.4:build-armhf-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-xsm:host-build-prep:fail:regression
    linux-5.4:build-amd64:host-build-prep:fail:regression
    linux-5.4:build-i386-xsm:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:build-armhf:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-i386:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 12:59:33 +0000

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

Regressions :-(

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              5 host-build-prep          fail REGR. vs. 185168
 build-i386                    5 host-build-prep          fail REGR. vs. 185168
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-amd64                   5 host-build-prep          fail REGR. vs. 185168
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185168
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-arm64                   5 host-build-prep          fail REGR. vs. 185168
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-armhf                   5 host-build-prep          fail REGR. vs. 185168

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-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
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   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-xl-credit1   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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-examine       1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-freebsd10-amd64  1 build-check(1)            blocked n/a
 test-amd64-i386-qemuu-freebsd10-i386  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   18 days
Testing same since   185433  2024-04-13 11:16:55 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@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-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-qemuu-freebsd10-amd64                        blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-i386-examine-bios                                 blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      blocked 
 test-amd64-i386-qemuu-freebsd10-i386                         blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-i386-libvirt-qcow2                                blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-i386-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-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-i386-examine-uefi                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-amd64-i386-xl-vhd                                       blocked 


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 13:33:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 13:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705563.1102361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvzyd-0001uI-QZ; Sun, 14 Apr 2024 13:32:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705563.1102361; Sun, 14 Apr 2024 13:32:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rvzyd-0001uB-Nm; Sun, 14 Apr 2024 13:32:59 +0000
Received: by outflank-mailman (input) for mailman id 705563;
 Sun, 14 Apr 2024 13:32:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvzyc-0001u1-9i; Sun, 14 Apr 2024 13:32:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvzyb-0001Ed-ME; Sun, 14 Apr 2024 13:32:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rvzyb-0000a8-Bp; Sun, 14 Apr 2024 13:32:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rvzyb-00083X-BF; Sun, 14 Apr 2024 13:32:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Jk9UjMsWzEaixq5WS4evbPq1YzTfZuxiJCn6TC9fGl8=; b=CaCmvrv3q0qWdzT43TY5pXNlk6
	Gus2xDZ2QwKXCATCSUPkfPPIEwG0FTXE3GEb/AQdbAr04Zl/LUXMdNARvm+b3uEQxRw3JZ+KzohTA
	CTUbHOkTJWepwTiomVvM4soVtQohuRdA2b0dxSZjUSJZzLQtwVfQ0FT6k+LjH0Rvp63g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185462-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185462: regressions - trouble: blocked/broken/pass
X-Osstest-Failures:
    xen-4.16-testing:build-amd64:<job status>:broken:regression
    xen-4.16-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.16-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.16-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.16-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.16-testing:build-arm64:<job status>:broken:regression
    xen-4.16-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.16-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.16-testing:build-armhf-libvirt:<job status>:broken:regression
    xen-4.16-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.16-testing:build-i386:<job status>:broken:regression
    xen-4.16-testing:build-i386-prev:<job status>:broken:regression
    xen-4.16-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.16-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.16-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.16-testing:build-i386:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.16-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-armhf-libvirt:host-build-prep:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=150f6cdbfe079816a0df8b9d57320ca42fc39d12
X-Osstest-Versions-That:
    xen=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 13:32:57 +0000

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

Regressions :-(

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-libvirt             <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-amd64-xsm               5 host-build-prep          fail REGR. vs. 185283
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185283
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185283
 build-i386                    5 host-build-prep          fail REGR. vs. 185283
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-amd64                   5 host-build-prep          fail REGR. vs. 185283
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185283
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185283
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185283
 build-arm64                   5 host-build-prep          fail REGR. vs. 185283
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185283
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-armhf-libvirt           5 host-build-prep          fail REGR. vs. 185283

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  150f6cdbfe079816a0df8b9d57320ca42fc39d12
baseline version:
 xen                  9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2

Last test of basis   185283  2024-04-09 12:06:57 Z    5 days
Failing since        185297  2024-04-10 10:03:29 Z    4 days    4 attempts
Testing same since   185322  2024-04-11 17:53:23 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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                                          broken  
 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-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-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-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-libvirt 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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 14:35:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 14:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705587.1102388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw0wb-0007xg-HZ; Sun, 14 Apr 2024 14:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705587.1102388; Sun, 14 Apr 2024 14:34:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw0wb-0007xZ-Ew; Sun, 14 Apr 2024 14:34:57 +0000
Received: by outflank-mailman (input) for mailman id 705587;
 Sun, 14 Apr 2024 14:34:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rw0wZ-0007xP-M4; Sun, 14 Apr 2024 14:34:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rw0wZ-0002Mm-71; Sun, 14 Apr 2024 14:34:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rw0wY-0001vi-Tv; Sun, 14 Apr 2024 14:34:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rw0wY-0006Qx-TL; Sun, 14 Apr 2024 14:34:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Lxwxkl8fpjg/sbNnGGo4EbsLA6drA0uvD1jI87F1fPc=; b=GQBzsaAODZyEA0AghFFjCC0A/S
	QFfXSXzQtqT9OH8lAudzLln+3GFZy5U2JNKlJPEzFpRZMxqPvckRXXuicWb72ywBhBVWpEFblZXFZ
	GlXAPk4Qc2CS7TSJpGAqkPoxwRh41SBmV+3DN3PY8pgfmC1+GnNSjm6TkqRmwYaSECgg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185504-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185504: regressions - 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:host-build-prep:fail:regression
    linux-linus:build-amd64-xsm:host-build-prep:fail:regression
    linux-linus:build-armhf-pvops:host-build-prep:fail:regression
    linux-linus:build-amd64:host-build-prep:fail:regression
    linux-linus:build-amd64-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64:host-build-prep:fail:regression
    linux-linus:build-arm64-pvops:host-build-prep:fail:regression
    linux-linus:build-armhf:host-build-prep:fail: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=7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
X-Osstest-Versions-That:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 14:34:54 +0000

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

Regressions :-(

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                    5 host-build-prep          fail REGR. vs. 185347
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185347
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-amd64                   5 host-build-prep          fail REGR. vs. 185347
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185347
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185347
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185347
 build-arm64                   5 host-build-prep          fail REGR. vs. 185347
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-armhf                   5 host-build-prep          fail REGR. vs. 185347

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                7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
baseline version:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a

Last test of basis   185347  2024-04-12 05:19:23 Z    2 days
Failing since        185442  2024-04-13 14:48:28 Z    0 days    3 attempts
Testing same since   185481  2024-04-14 04:18:38 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Animesh Manna <animesh.manna@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bharath SM <bharathsm@microsoft.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Coly Li <colyli@suse.de>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Damien Le Moal <dlemoal@kernel.org>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Fabio Estevam <festevam@denx.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Haiyue Wang <haiyue.wang@intel.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harry Wentland <harry.wentland@amd.com>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Igor Pylypiv <ipylypiv@google.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jouni Högander <jouni.hogander@intel.com>
  Karthik Poosa <karthik.poosa@intel.com>
  Kees Cook <keescook@chromium.org>
  Kenneth Feng <kenneth.feng@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Lang Yu <Lang.Yu@amd.com>
  Li Ma <li.ma@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  lima1002 <li.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Ruhmann <ruhmann@luis.uni-hannover.de>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Miguel Ojeda <ojeda@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  NeilBrown <neilb@suse.de>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Pierre Gondois <pierre.gondois@arm.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Li <roman.li@amd.com>
  Samuel Holland <samuel.holland@sifive.com>
  shaoyunl <shaoyun.liu@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Song Liu <song@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tim Harvey <tharvey@gateworks.com>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vasant Hegde <vasant.hegde@amd.com>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Wachowski, Karol <karol.wachowski@intel.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Xiubo Li <xiubli@redhat.com>
  Xuchun Shang <xuchun.shang@linux.alibaba.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Ye Li <ye.li@broadcom.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  Yu Kuai <yukuai3@huawei.com>
  Zack Rusin <zack.rusin@broadcom.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zhongwei <zhongwei.zhang@amd.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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 15:41:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 15:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705613.1102423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw1z8-00055J-P0; Sun, 14 Apr 2024 15:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705613.1102423; Sun, 14 Apr 2024 15: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 1rw1z8-00055C-KK; Sun, 14 Apr 2024 15:41:38 +0000
Received: by outflank-mailman (input) for mailman id 705613;
 Sun, 14 Apr 2024 15:41: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 1rw1z7-00054z-Io; Sun, 14 Apr 2024 15:41: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 1rw1z6-0003ZL-M2; Sun, 14 Apr 2024 15:41:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rw1z6-0003PK-BM; Sun, 14 Apr 2024 15:41:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rw1z6-0003zO-An; Sun, 14 Apr 2024 15:41:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fIvJirG5eM903G0+IGl4iZ3p7x6NFfjzoDi02ARTFIU=; b=cV36BIci661kz0MvfeZqdeSujy
	fvErPzjuvu8q3YXwehahAufXg2vps1UCpEsJhNB27IuPUSG7lpo/4SqhboatRJI2k61vtXEeBzRUc
	va9b49p6jzjSbUJd2boR1ScDU79JgCkEwr+/Swapd7NJEyak46IDfb4SeU4Gy2RxBJ4Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185508-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185508: regressions - 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-prev:host-build-prep:fail:regression
    xen-unstable:build-amd64:host-build-prep:fail:regression
    xen-unstable:build-amd64-prev:host-build-prep:fail:regression
    xen-unstable:build-armhf-pvops:host-build-prep:fail:regression
    xen-unstable:build-amd64-xtf:host-build-prep:fail:regression
    xen-unstable:build-amd64-xsm:host-build-prep:fail:regression
    xen-unstable:build-i386-xsm:host-build-prep:fail:regression
    xen-unstable:build-amd64-pvops:host-build-prep:fail:regression
    xen-unstable:build-i386:host-build-prep:fail:regression
    xen-unstable:build-i386-pvops:host-build-prep:fail:regression
    xen-unstable:build-arm64-xsm:host-build-prep:fail:regression
    xen-unstable:build-arm64:host-build-prep:fail:regression
    xen-unstable:build-arm64-pvops:host-build-prep:fail:regression
    xen-unstable:build-armhf:host-build-prep:fail: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-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-5:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 15:41:36 +0000

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

Regressions :-(

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-prev               5 host-build-prep          fail REGR. vs. 185281
 build-amd64                   5 host-build-prep          fail REGR. vs. 185281
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185281
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185281
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-i386                    5 host-build-prep          fail REGR. vs. 185281
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185281
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-arm64                   5 host-build-prep          fail REGR. vs. 185281
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-armhf                   5 host-build-prep          fail REGR. vs. 185281

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-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-5        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    5 days
Failing since        185294  2024-04-10 04:20:17 Z    4 days    5 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 15:53:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 15:53:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705627.1102433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw2A5-0007gs-LW; Sun, 14 Apr 2024 15:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705627.1102433; Sun, 14 Apr 2024 15:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw2A5-0007gl-Hz; Sun, 14 Apr 2024 15:52:57 +0000
Received: by outflank-mailman (input) for mailman id 705627;
 Sun, 14 Apr 2024 15:52: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 1rw2A3-0007gb-Tb; Sun, 14 Apr 2024 15:52:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rw2A3-0003m3-H4; Sun, 14 Apr 2024 15:52:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rw2A3-0003eX-5j; Sun, 14 Apr 2024 15:52:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rw2A3-00079R-5L; Sun, 14 Apr 2024 15:52:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wcNdecXfjg00k7KPFGdL8Vy3/owfQwoAdyvnZ6QAx7M=; b=DLEBOLOU8jA8vuIOcMQbege3SE
	td0FjMBMS23ouTqPpd4W5p8yGGf2WNRcWNi24zS+H/EHRR+5uCLHbXwauh5GUXxxrBA99V78sXQud
	xOkvkw4gJNJcajqy5A9UdIj7F3dSrQkHua4/QBSYUim/uYWv9W1vYDh1RnjR79R3yxX0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185473-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185473: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.18-testing:build-amd64:<job status>:broken:regression
    xen-4.18-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.18-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.18-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.18-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.18-testing:build-arm64:<job status>:broken:regression
    xen-4.18-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.18-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.18-testing:build-armhf:<job status>:broken:regression
    xen-4.18-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.18-testing:build-i386:<job status>:broken:regression
    xen-4.18-testing:build-i386-prev:<job status>:broken:regression
    xen-4.18-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.18-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.18-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.18-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.18-testing:build-arm64:host-build-prep:fail:regression
    xen-4.18-testing:build-i386:host-build-prep:fail:regression
    xen-4.18-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.18-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-armhf:host-build-prep:fail:regression
    xen-4.18-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 15:52:55 +0000

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

Regressions :-(

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-xsm                5 host-build-prep          fail REGR. vs. 185285
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185285
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185285
 build-amd64                   5 host-build-prep          fail REGR. vs. 185285
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185285
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185285
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185285
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185285
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185285
 build-arm64                   5 host-build-prep          fail REGR. vs. 185285
 build-i386                    5 host-build-prep          fail REGR. vs. 185285
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185285
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185285
 build-armhf                   5 host-build-prep          fail REGR. vs. 185285

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  2d38302c33b117aa9a417056db241aefc840c2f0
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    5 days
Failing since        185303  2024-04-10 18:41:55 Z    3 days    4 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 16:20:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 16:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705642.1102452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw2aI-0005pE-2Q; Sun, 14 Apr 2024 16:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705642.1102452; Sun, 14 Apr 2024 16: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 1rw2aH-0005oT-Tg; Sun, 14 Apr 2024 16:20:01 +0000
Received: by outflank-mailman (input) for mailman id 705642;
 Sun, 14 Apr 2024 16:20: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 1rw2aG-0005hD-Oc; Sun, 14 Apr 2024 16:20: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 1rw2aG-0004nB-MM; Sun, 14 Apr 2024 16:20: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 1rw2aG-0004Ed-FQ; Sun, 14 Apr 2024 16:20:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rw2aG-0001z0-F6; Sun, 14 Apr 2024 16:20:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BAkTeyU8vZBCLi7xAuk+Y3jYSPzHDJh0NGBDCfZ9y3U=; b=T3ey3MJVH8h1HconVCeFyY9vAA
	ryiPJxDxKjWOfDnZUfk82TxfDAD5x4obvEbJxtbDWRt628fmPBCpGv3k8nJhxLLqjpSFzcpgRmYpV
	hH+rAmuYmCWhlBsHDNuTLhOtTaxqIZcudZtfCnEqA9eIr4rswR8LLiVLfenUG8oXU79Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185510-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185510: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.15-testing:build-amd64:<job status>:broken:regression
    xen-4.15-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.15-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.15-testing:build-arm64:<job status>:broken:regression
    xen-4.15-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-armhf:<job status>:broken:regression
    xen-4.15-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386:<job status>:broken:regression
    xen-4.15-testing:build-i386-prev:<job status>:broken:regression
    xen-4.15-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf:host-build-prep:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 16:20:00 +0000

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

Regressions :-(

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-xsm                5 host-build-prep          fail REGR. vs. 185282
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-i386                    5 host-build-prep          fail REGR. vs. 185282
 build-amd64                   5 host-build-prep          fail REGR. vs. 185282
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185282
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185282
 build-arm64                   5 host-build-prep          fail REGR. vs. 185282
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-armhf                   5 host-build-prep          fail REGR. vs. 185282

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    5 days
Testing same since   185296  2024-04-10 06:02:43 Z    4 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 16:37:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 16:37:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705653.1102466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw2rV-0001uT-LA; Sun, 14 Apr 2024 16:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705653.1102466; Sun, 14 Apr 2024 16:37:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw2rV-0001uM-GF; Sun, 14 Apr 2024 16:37:49 +0000
Received: by outflank-mailman (input) for mailman id 705653;
 Sun, 14 Apr 2024 16:37: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 1rw2rT-0001uC-LS; Sun, 14 Apr 2024 16:37: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 1rw2rT-00056h-4j; Sun, 14 Apr 2024 16:37: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 1rw2rS-0004dL-RK; Sun, 14 Apr 2024 16:37:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rw2rS-0007he-Qn; Sun, 14 Apr 2024 16:37: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=bdpJmGvv41D/vZpdBvaDVkvVjp1sA5Y2oUroI6Q//u8=; b=mS05UIn7d5Ur8DQpMdN40okTBi
	FD0VvpRP4V89l7lySUJChVgILxtGnBArsm4d5nhyHEqEimSxd7EuyaS7Is24BWvb9G8gCewX7ac4/
	C1xhLHSD/wqjfTNgYTbW8tgG1nhwufJyK+6d3libo+fMnKsRrpHQk3erNfO6kxc/kgeQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185500-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185500: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-6.1:build-amd64:<job status>:broken:regression
    linux-6.1:build-amd64-pvops:<job status>:broken:regression
    linux-6.1:build-amd64-xsm:<job status>:broken:regression
    linux-6.1:build-arm64:<job status>:broken:regression
    linux-6.1:build-arm64-pvops:<job status>:broken:regression
    linux-6.1:build-arm64-xsm:<job status>:broken:regression
    linux-6.1:build-armhf:<job status>:broken:regression
    linux-6.1:build-armhf-pvops:<job status>:broken:regression
    linux-6.1:build-i386:<job status>:broken:regression
    linux-6.1:build-i386-pvops:<job status>:broken:regression
    linux-6.1:build-i386-xsm:<job status>:broken:regression
    linux-6.1:build-i386:host-build-prep:fail:regression
    linux-6.1:build-amd64-pvops:host-build-prep:fail:regression
    linux-6.1:build-amd64:host-build-prep:fail:regression
    linux-6.1:build-amd64-xsm:host-build-prep:fail:regression
    linux-6.1:build-armhf-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64:host-build-prep:fail:regression
    linux-6.1:build-arm64-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64-pvops:host-build-prep:fail:regression
    linux-6.1:build-armhf:host-build-prep:fail:regression
    linux-6.1:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-6.1:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=cd5d98c0556cd790f78a3ba26afc9d2f896163e4
X-Osstest-Versions-That:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 16:37:46 +0000

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

Regressions :-(

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                    5 host-build-prep          fail REGR. vs. 185299
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-amd64                   5 host-build-prep          fail REGR. vs. 185299
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185299
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185299
 build-arm64                   5 host-build-prep          fail REGR. vs. 185299
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-armhf                   5 host-build-prep          fail REGR. vs. 185299

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                cd5d98c0556cd790f78a3ba26afc9d2f896163e4
baseline version:
 linux                bf1e3b1cb1e002ed1590c91f1a24433b59322368

Last test of basis   185299  2024-04-10 14:42:59 Z    4 days
Testing same since   185434  2024-04-13 11:42:42 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alban Boyé <alban.boye@protonmail.com>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Andrew Lunn <andrew@lunn.ch>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Ye <bo.ye@mediatek.com>
  Boqun Feng <boqun.feng@gmail.com>
  C Cheng <C.Cheng@mediatek.com>
  Chancel Liu <chancel.liu@nxp.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Dai Ngo <dai.ngo@oracle.com>
  Daniel Drake <drake@endlessos.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gwendal Grignou <gwendal@chromium.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Ian Rogers <irogers@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jian-Hong Pan <jhp@endlessos.org>
  Jiawei Fu (iBug) <i@ibugone.com>
  Jiawei Fu <i@ibugone.com>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Ogness <john.ogness@linutronix.de>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Justin Tee <justin.tee@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karel Balej <balejk@matfyz.cz>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Leon Romanovsky <leon@kernel.org>
  linke li <lilinke99@qq.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Manjunath Patil <manjunath.b.patil@oracle.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Markuss Broks <markuss.broks@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael S. Tsirkin <mst@redhat.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Marshall <hubcap@omnibond.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  mosomate <mosomate@gmail.com>
  Mukesh Sisodiya <mukesh.sisodiya@intel.com>
  Máté Mosonyi <mosomate@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Machek (CIP) <pavel@denx.de>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ron Economos <re@w6rz.net>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Dionne-Riel <samuel@dionne-riel.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Tasos Sahanidis <tasos@tasossah.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Ye Bin <yebin10@huawei.com>
  Zhang Yi <yi.zhang@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 17:07:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 17:07:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705667.1102483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw3KE-0000Dc-4X; Sun, 14 Apr 2024 17:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705667.1102483; Sun, 14 Apr 2024 17:07:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw3KE-0000DV-1D; Sun, 14 Apr 2024 17:07:30 +0000
Received: by outflank-mailman (input) for mailman id 705667;
 Sun, 14 Apr 2024 17:07: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 1rw3KC-0000DL-Oc; Sun, 14 Apr 2024 17:07: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 1rw3KC-0005fA-IS; Sun, 14 Apr 2024 17:07: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 1rw3KC-0005Hf-72; Sun, 14 Apr 2024 17:07:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rw3KC-0002q0-6R; Sun, 14 Apr 2024 17:07: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=bNQwacwwl2oIRmghszaX/ADej+Itdq99t8tytbWJO0I=; b=Nu4yiIkUgm3RpsPkyVaKTNSHCz
	ZkOVPu7VzweAW9RP2aLKLWZTSTxUqXlmlIefecRFkqbYrp9PKWzoyI2Leb0M1lb8V8z8pQQA2y8K3
	XWLg5SuMtzffC9EVo5i2cuJd2DwU99Y9Yj3Lr83/A7BAtr9Vm/riesMjvdwmATqY8Prs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185514-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185514: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.17-testing:build-amd64:<job status>:broken:regression
    xen-4.17-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.17-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.17-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.17-testing:build-arm64:<job status>:broken:regression
    xen-4.17-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.17-testing:build-armhf:<job status>:broken:regression
    xen-4.17-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.17-testing:build-i386:<job status>:broken:regression
    xen-4.17-testing:build-i386-prev:<job status>:broken:regression
    xen-4.17-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.17-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.17-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.17-testing:build-i386:host-build-prep:fail:regression
    xen-4.17-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-armhf:host-build-prep:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 17:07:28 +0000

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

Regressions :-(

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-xsm                5 host-build-prep          fail REGR. vs. 185284
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185284
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185284
 build-amd64                   5 host-build-prep          fail REGR. vs. 185284
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185284
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185284
 build-i386                    5 host-build-prep          fail REGR. vs. 185284
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185284
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185284
 build-arm64                   5 host-build-prep          fail REGR. vs. 185284
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-armhf                   5 host-build-prep          fail REGR. vs. 185284

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
baseline version:
 xen                  b8f39fd4d024ea72c586f1afd233f379c6f6230b

Last test of basis   185284  2024-04-09 12:07:06 Z    5 days
Failing since        185300  2024-04-10 16:35:42 Z    4 days    6 attempts
Testing same since   185400  2024-04-12 22:46:40 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 14 18:21:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 18:21:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705686.1102509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw4Tz-0007ID-Jk; Sun, 14 Apr 2024 18:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705686.1102509; Sun, 14 Apr 2024 18: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 1rw4Tz-0007I6-H1; Sun, 14 Apr 2024 18:21:39 +0000
Received: by outflank-mailman (input) for mailman id 705686;
 Sun, 14 Apr 2024 18: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=tqaP=LT=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rw4Ty-0007Hz-MM
 for xen-devel@lists.xenproject.org; Sun, 14 Apr 2024 18:21:38 +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 d4fa71f3-fa8b-11ee-b908-491648fe20b8;
 Sun, 14 Apr 2024 20:21:37 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-518c59b41ccso784879e87.3
 for <xen-devel@lists.xenproject.org>; Sun, 14 Apr 2024 11:21:37 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cw21-20020a170906479500b00a52182471a2sm4509634ejc.13.2024.04.14.11.21.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 14 Apr 2024 11:21: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: d4fa71f3-fa8b-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713118897; x=1713723697; 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=PZA8gV0BBs2cpErMwaLb8X15x2R7+Izkch+dcq6waB4=;
        b=CLHn5+qxaP9ZxJmM2U2LKNrc8dosw5tdgvVwmuPpyoBcu8XEovbVg2sdqY7kwDzjIr
         6m49KQwmEm7Wkvpe9+p8h/4X+ZYuL9WYVbJkuIOI0+m6/vgnI1NNSYAHYtrPavr7sVO8
         HPX9vWmfFMLfra/UTKvWgS8KIaF+ACEwJ7eBNiRqcm9jgNDzD9agEtQ4qvIs6DE1sr/0
         7vJuPEjBQeMkv8IAHNKaSgrLwOZgcWBffelz+R9Xnlnw/S+02DiEAd3YZ+xLZwIN9n3T
         bOFSZE7a/v6Y+30qanx9JHN0ubO3J943/kBDCUOf13gzJMBY8D7a6kzTnJQ8m/QW0ni5
         5a5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713118897; x=1713723697;
        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=PZA8gV0BBs2cpErMwaLb8X15x2R7+Izkch+dcq6waB4=;
        b=QZKQlDE0DSA17VAfVho+ik2qB3k92iClq9IW/rxptXzk8vrb39ONVJSE747wWl5XNf
         xUuBPKutt4qgLgI1WoMyc8tVK1Spg9cAAw3PBgdU0T7MlIs+YckT/50WgTcHcGBYldMm
         1Ra9N7cTqLex94McjXGMFa9hJQMJMgdXPpTyBkbS7TAXmIUFcfv4G4cmylxKlLHQgigZ
         rKb/FXKdrZ1pveQ2PAjQ6VXzaabk9BFAvipA2YlizGttKM/3+SgM4pcX5ep7QtEgVtIo
         OSGCjqaLxwcaDF5qIbuvn6HhztMoDchwa3dGlhKsxxZyrn2ngK15qQuqa/wOr1ZZxjU5
         QcIA==
X-Gm-Message-State: AOJu0YyQzwSWVpxNO66A7WAQREKaPgYjkieTWzihCChhz0+moAxDm5id
	oXqI/JnpPTNWZmQKZ2/ZCp7XfPRXSHMa9A9Sfu89wgQ1/eHu6+7keFZQkqMH
X-Google-Smtp-Source: AGHT+IFK9OXHMFYtHhakU/lLByCUOH+K/meWAJ/WJbxxgxn69rPlS5theOGe8+c82Hdg+jKoWWxLsg==
X-Received: by 2002:ac2:5b43:0:b0:517:b2b:6ca7 with SMTP id i3-20020ac25b43000000b005170b2b6ca7mr4655372lfp.59.1713118896495;
        Sun, 14 Apr 2024 11:21:36 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.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: [PATCH] x86/monitor: allow fast-singlestepping without enabling singlestep monitor
Date: Sun, 14 Apr 2024 18:21:14 +0000
Message-Id: <4dfbc4c3cfdd36601e0b9b100fa6cd02682be3c6.1713118660.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

Reorder the condition checks within the HVM_MONITOR_SINGLESTEP_BREAKPOINT
case to enable fast singlestepping independently of the singlestep monitor
being enabled. Previously, fast singlestepping required the singlestep
monitor to be explicitly enabled through xc_monitor_singlestep, even though
it operates entirely within Xen and does not generate external events.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 xen/arch/x86/hvm/monitor.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
index 4f500beaf5..2a8ff07ec9 100644
--- a/xen/arch/x86/hvm/monitor.c
+++ b/xen/arch/x86/hvm/monitor.c
@@ -178,8 +178,6 @@ int hvm_monitor_debug(unsigned long rip, enum hvm_monitor_debug_type type,
         break;
 
     case HVM_MONITOR_SINGLESTEP_BREAKPOINT:
-        if ( !ad->monitor.singlestep_enabled )
-            return 0;
         if ( curr->arch.hvm.fast_single_step.enabled )
         {
             p2m_altp2m_check(curr, curr->arch.hvm.fast_single_step.p2midx);
@@ -188,6 +186,8 @@ int hvm_monitor_debug(unsigned long rip, enum hvm_monitor_debug_type type,
             curr->arch.hvm.fast_single_step.p2midx = 0;
             return 0;
         }
+        if ( !ad->monitor.singlestep_enabled )
+            return 0;
         req.reason = VM_EVENT_REASON_SINGLESTEP;
         req.u.singlestep.gfn = gfn_of_rip(rip);
         sync = true;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 14 18:47:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 14 Apr 2024 18:47:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705704.1102525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw4sT-0004Zs-Jq; Sun, 14 Apr 2024 18:46:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705704.1102525; Sun, 14 Apr 2024 18:46:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rw4sT-0004Zl-H8; Sun, 14 Apr 2024 18:46:57 +0000
Received: by outflank-mailman (input) for mailman id 705704;
 Sun, 14 Apr 2024 18:46: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 1rw4sS-0004ZZ-Ax; Sun, 14 Apr 2024 18:46: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 1rw4sS-0007Zr-1S; Sun, 14 Apr 2024 18:46: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 1rw4sR-0000Et-Md; Sun, 14 Apr 2024 18:46:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rw4sR-0007N9-M9; Sun, 14 Apr 2024 18:46: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=+A7thHH8/LBNGztE3u0Qiq86Qb0JOKaiupfu9MtkfTE=; b=GNOgSBOJZqUdH8UQtbwL0UaP7A
	JqcbwvWVsQNDwPguqxa/btqaskBvTVNhcchQmh3IhOdddFth/PTww8i+5j4V4YGaBaqJBt2ScBYrz
	myPRpYYgPZsOzjhFD2kngKPyulUaaZ4A7EqzbapOi4eRxs0zlEfIEJoJKnWWHRjmtJv0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185516-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185516: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-5.4:build-amd64:<job status>:broken:regression
    linux-5.4:build-amd64-pvops:<job status>:broken:regression
    linux-5.4:build-amd64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-armhf:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-i386:<job status>:broken:regression
    linux-5.4:build-i386-pvops:<job status>:broken:regression
    linux-5.4:build-i386-xsm:<job status>:broken:regression
    linux-5.4:build-i386-pvops:host-build-prep:fail:regression
    linux-5.4:build-i386:host-build-prep:fail:regression
    linux-5.4:build-armhf-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-xsm:host-build-prep:fail:regression
    linux-5.4:build-amd64:host-build-prep:fail:regression
    linux-5.4:build-i386-xsm:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:build-armhf:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-i386:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 14 Apr 2024 18:46:55 +0000

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

Regressions :-(

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              5 host-build-prep          fail REGR. vs. 185168
 build-i386                    5 host-build-prep          fail REGR. vs. 185168
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-amd64                   5 host-build-prep          fail REGR. vs. 185168
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185168
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-arm64                   5 host-build-prep          fail REGR. vs. 185168
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-armhf                   5 host-build-prep          fail REGR. vs. 185168

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-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
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   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-xl-credit1   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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-examine       1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-freebsd10-amd64  1 build-check(1)            blocked n/a
 test-amd64-i386-qemuu-freebsd10-i386  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   18 days
Testing same since   185433  2024-04-13 11:16:55 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@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-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-qemuu-freebsd10-amd64                        blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-i386-examine-bios                                 blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      blocked 
 test-amd64-i386-qemuu-freebsd10-i386                         blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-i386-libvirt-qcow2                                blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-i386-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-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-i386-examine-uefi                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-amd64-i386-xl-vhd                                       blocked 


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 00:33:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 00:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705777.1102625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwAHZ-0000E7-7A; Mon, 15 Apr 2024 00:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705777.1102625; Mon, 15 Apr 2024 00: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 1rwAHZ-0000E0-2N; Mon, 15 Apr 2024 00:33:13 +0000
Received: by outflank-mailman (input) for mailman id 705777;
 Mon, 15 Apr 2024 00:33: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 1rwAHY-0000Dq-4W; Mon, 15 Apr 2024 00:33: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 1rwAHX-0005rx-Pd; Mon, 15 Apr 2024 00: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 1rwAHX-0002iH-GF; Mon, 15 Apr 2024 00:33:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwAHX-0006cr-Fm; Mon, 15 Apr 2024 00:33:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=H53niHwREtaNQReAt+Vd6fd2cxuEzGCKwt5+s/HR1Gs=; b=SGNmxcww6hkVrn802bNXiaNGt2
	WhCof95BmlqMGTOVnq0auncc/9HgiC1OwoEJOXr/fyNQs8Lofi32Jq7xX5CdREiTTBlnsBeUxuXct
	PTR+P7luKa+Kgk3pFXeMen2zMzAeky6l+RmY/tFrIvL71IHxozfcbAQbfppYt31ePy5I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185518-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185518: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.16-testing:build-amd64:<job status>:broken:regression
    xen-4.16-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.16-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.16-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.16-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.16-testing:build-arm64:<job status>:broken:regression
    xen-4.16-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.16-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.16-testing:build-armhf:<job status>:broken:regression
    xen-4.16-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.16-testing:build-i386:<job status>:broken:regression
    xen-4.16-testing:build-i386-prev:<job status>:broken:regression
    xen-4.16-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.16-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.16-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-i386:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.16-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-armhf:host-build-prep:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=150f6cdbfe079816a0df8b9d57320ca42fc39d12
X-Osstest-Versions-That:
    xen=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 00:33:11 +0000

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

Regressions :-(

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              5 host-build-prep          fail REGR. vs. 185283
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185283
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185283
 build-i386                    5 host-build-prep          fail REGR. vs. 185283
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-amd64                   5 host-build-prep          fail REGR. vs. 185283
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185283
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185283
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185283
 build-arm64                   5 host-build-prep          fail REGR. vs. 185283
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185283
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-armhf                   5 host-build-prep          fail REGR. vs. 185283

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  150f6cdbfe079816a0df8b9d57320ca42fc39d12
baseline version:
 xen                  9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2

Last test of basis   185283  2024-04-09 12:06:57 Z    5 days
Failing since        185297  2024-04-10 10:03:29 Z    4 days    5 attempts
Testing same since   185322  2024-04-11 17:53:23 Z    3 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 01:22:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 01:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705792.1102647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwB3L-0007tO-SI; Mon, 15 Apr 2024 01:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705792.1102647; Mon, 15 Apr 2024 01: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 1rwB3L-0007tH-PF; Mon, 15 Apr 2024 01:22:35 +0000
Received: by outflank-mailman (input) for mailman id 705792;
 Mon, 15 Apr 2024 01:22: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 1rwB3J-0007t7-Jd; Mon, 15 Apr 2024 01:22: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 1rwB3J-0005DP-I8; Mon, 15 Apr 2024 01:22: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 1rwB3J-0003nK-7N; Mon, 15 Apr 2024 01:22:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwB3J-00050C-6y; Mon, 15 Apr 2024 01:22:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oWPoBbZpMSwsxW55IiIUxKkucvRucTYzePYZ7Wi9C0E=; b=BLtW38iblEy3qJJqK9ANR6Yq8w
	IwY4nhA3ZS01C3OMZtsSR48mkJBFmtPgf/1tFYiJBonOws1F2T7C9PklbU03ixoG+o8WtXwo+F2ar
	QF4t5neutD9NkfUHOl8pSeKD0jawXXs9ouhdykXURCTCbIUJqyNphVJhFAL+sfEvcD6o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185522-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185522: regressions - 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:host-build-prep:fail:regression
    linux-linus:build-amd64-xsm:host-build-prep:fail:regression
    linux-linus:build-amd64:host-build-prep:fail:regression
    linux-linus:build-armhf-pvops:host-build-prep:fail:regression
    linux-linus:build-amd64-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64:host-build-prep:fail:regression
    linux-linus:build-arm64-pvops:host-build-prep:fail:regression
    linux-linus:build-armhf:host-build-prep:fail: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=7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
X-Osstest-Versions-That:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 01:22:33 +0000

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

Regressions :-(

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                    5 host-build-prep          fail REGR. vs. 185347
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185347
 build-amd64                   5 host-build-prep          fail REGR. vs. 185347
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185347
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185347
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185347
 build-arm64                   5 host-build-prep          fail REGR. vs. 185347
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-armhf                   5 host-build-prep          fail REGR. vs. 185347

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                7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1
baseline version:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a

Last test of basis   185347  2024-04-12 05:19:23 Z    2 days
Failing since        185442  2024-04-13 14:48:28 Z    1 days    4 attempts
Testing same since   185481  2024-04-14 04:18:38 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Animesh Manna <animesh.manna@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bharath SM <bharathsm@microsoft.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Coly Li <colyli@suse.de>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Damien Le Moal <dlemoal@kernel.org>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Fabio Estevam <festevam@denx.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Haiyue Wang <haiyue.wang@intel.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harry Wentland <harry.wentland@amd.com>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Igor Pylypiv <ipylypiv@google.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jouni Högander <jouni.hogander@intel.com>
  Karthik Poosa <karthik.poosa@intel.com>
  Kees Cook <keescook@chromium.org>
  Kenneth Feng <kenneth.feng@amd.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Lang Yu <Lang.Yu@amd.com>
  Li Ma <li.ma@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  lima1002 <li.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Ruhmann <ruhmann@luis.uni-hannover.de>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Miguel Ojeda <ojeda@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  NeilBrown <neilb@suse.de>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Pierre Gondois <pierre.gondois@arm.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Li <roman.li@amd.com>
  Samuel Holland <samuel.holland@sifive.com>
  shaoyunl <shaoyun.liu@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Song Liu <song@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tim Harvey <tharvey@gateworks.com>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vasant Hegde <vasant.hegde@amd.com>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Wachowski, Karol <karol.wachowski@intel.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Xiubo Li <xiubli@redhat.com>
  Xuchun Shang <xuchun.shang@linux.alibaba.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Ye Li <ye.li@broadcom.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  Yu Kuai <yukuai3@huawei.com>
  Zack Rusin <zack.rusin@broadcom.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zhongwei <zhongwei.zhang@amd.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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 02:45:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 02:45:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705811.1102681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwCLZ-0006gd-0B; Mon, 15 Apr 2024 02:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705811.1102681; Mon, 15 Apr 2024 02: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 1rwCLY-0006gW-Th; Mon, 15 Apr 2024 02:45:28 +0000
Received: by outflank-mailman (input) for mailman id 705811;
 Mon, 15 Apr 2024 02:45: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 1rwCLY-0006gM-Fd; Mon, 15 Apr 2024 02:45: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 1rwCLY-0007Il-Cq; Mon, 15 Apr 2024 02:45: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 1rwCLY-0005b3-59; Mon, 15 Apr 2024 02:45:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwCLY-00067j-4Y; Mon, 15 Apr 2024 02:45:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WPqE3ueEjY4apjtzb038ft+VryHuqiTjFmUY4ja08xg=; b=2zq5ed6Ylehkp9R74pGKKaSYfe
	3xXoG2HhyqEjveMtqkDnpCxVuEx3a9mWhLBgIDRG7VfFNoCM+Q3w3KOWlLhDYAMoTvP+5k+OInLjU
	qdOnpv9X8ky0n/3DB9wEOidsyQpAzbzX1wEE4MlD0WEurStPaDSGU0ZKZtOkhSQClkFg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185528-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185528: regressions - 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-prev:host-build-prep:fail:regression
    xen-unstable:build-amd64:host-build-prep:fail:regression
    xen-unstable:build-amd64-prev:host-build-prep:fail:regression
    xen-unstable:build-armhf-pvops:host-build-prep:fail:regression
    xen-unstable:build-amd64-xtf:host-build-prep:fail:regression
    xen-unstable:build-amd64-xsm:host-build-prep:fail:regression
    xen-unstable:build-i386-xsm:host-build-prep:fail:regression
    xen-unstable:build-amd64-pvops:host-build-prep:fail:regression
    xen-unstable:build-i386:host-build-prep:fail:regression
    xen-unstable:build-i386-pvops:host-build-prep:fail:regression
    xen-unstable:build-arm64-xsm:host-build-prep:fail:regression
    xen-unstable:build-arm64:host-build-prep:fail:regression
    xen-unstable:build-arm64-pvops:host-build-prep:fail:regression
    xen-unstable:build-armhf:host-build-prep:fail: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=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 02:45:28 +0000

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

Regressions :-(

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-prev               5 host-build-prep          fail REGR. vs. 185281
 build-amd64                   5 host-build-prep          fail REGR. vs. 185281
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185281
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185281
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-i386                    5 host-build-prep          fail REGR. vs. 185281
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185281
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-arm64                   5 host-build-prep          fail REGR. vs. 185281
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-armhf                   5 host-build-prep          fail REGR. vs. 185281

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                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    5 days
Failing since        185294  2024-04-10 04:20:17 Z    4 days    6 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 03:31:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 03:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705825.1102704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwD4B-0007BQ-JA; Mon, 15 Apr 2024 03:31:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705825.1102704; Mon, 15 Apr 2024 03:31:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwD4B-0007BJ-DD; Mon, 15 Apr 2024 03:31:35 +0000
Received: by outflank-mailman (input) for mailman id 705825;
 Mon, 15 Apr 2024 03:31: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 1rwD4A-0007B9-OY; Mon, 15 Apr 2024 03:31: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 1rwD4A-00005I-Iy; Mon, 15 Apr 2024 03:31: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 1rwD4A-0006cN-5v; Mon, 15 Apr 2024 03:31:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwD4A-0006R7-5S; Mon, 15 Apr 2024 03:31:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GXnMIB7H7RKJZM9pq48cTBQ08l59iARvTFVB6/ymubI=; b=SxIT+XN3OkS/P9N2b69EUs4J81
	TuGitAxfNXBGY/z754/iyd6VBtVypFSFSOHzVhrWrfvFeVx/UekYP9DN3b4vEIm6Etmdhu0DrfW1E
	Nu406h5eJ2XyaxNabgoGoNJAvX681BdqMoeEPbYCT8oQTkkZTZzTf73FbfKHuoPGsGUs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185532-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185532: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.15-testing:build-amd64:<job status>:broken:regression
    xen-4.15-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.15-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.15-testing:build-arm64:<job status>:broken:regression
    xen-4.15-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-armhf:<job status>:broken:regression
    xen-4.15-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386:<job status>:broken:regression
    xen-4.15-testing:build-i386-prev:<job status>:broken:regression
    xen-4.15-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf:host-build-prep:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 03:31:34 +0000

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

Regressions :-(

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-xsm                5 host-build-prep          fail REGR. vs. 185282
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-i386                    5 host-build-prep          fail REGR. vs. 185282
 build-amd64                   5 host-build-prep          fail REGR. vs. 185282
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185282
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185282
 build-arm64                   5 host-build-prep          fail REGR. vs. 185282
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-armhf                   5 host-build-prep          fail REGR. vs. 185282

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    5 days
Testing same since   185296  2024-04-10 06:02:43 Z    4 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 04:23:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 04:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705840.1102725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwDsZ-0000b7-IW; Mon, 15 Apr 2024 04:23:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705840.1102725; Mon, 15 Apr 2024 04:23:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwDsZ-0000b0-FH; Mon, 15 Apr 2024 04:23:39 +0000
Received: by outflank-mailman (input) for mailman id 705840;
 Mon, 15 Apr 2024 04:23: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 1rwDsZ-0000aq-0g; Mon, 15 Apr 2024 04:23: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 1rwDsY-0001JL-Id; Mon, 15 Apr 2024 04:23: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 1rwDsY-0007kj-94; Mon, 15 Apr 2024 04:23:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwDsY-0000Gn-8f; Mon, 15 Apr 2024 04:23:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ov+ki/feiQtD4mBdU9nmTowx48EcBnq0S99LfKEEphs=; b=FUWdkBiNMzxau2y1t3LrFwHw9/
	6y2iY1KATC7P8mujMfODoW6XUJlBD+E4suU4JH3tn80/Ie/xQp9xYJ1yKYpCYnUtdU9ciFklK7FlJ
	uhhMwYy9ILbFENiL3NCE4oKqqz/gGW5iMzIHi3HXO759oOOq4ZNg7jrVyQEZ5+kuEedg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185533-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185533: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-6.1:build-amd64:<job status>:broken:regression
    linux-6.1:build-amd64-pvops:<job status>:broken:regression
    linux-6.1:build-amd64-xsm:<job status>:broken:regression
    linux-6.1:build-arm64:<job status>:broken:regression
    linux-6.1:build-arm64-pvops:<job status>:broken:regression
    linux-6.1:build-arm64-xsm:<job status>:broken:regression
    linux-6.1:build-armhf:<job status>:broken:regression
    linux-6.1:build-armhf-pvops:<job status>:broken:regression
    linux-6.1:build-i386:<job status>:broken:regression
    linux-6.1:build-i386-pvops:<job status>:broken:regression
    linux-6.1:build-i386-xsm:<job status>:broken:regression
    linux-6.1:build-i386:host-build-prep:fail:regression
    linux-6.1:build-amd64-pvops:host-build-prep:fail:regression
    linux-6.1:build-amd64:host-build-prep:fail:regression
    linux-6.1:build-amd64-xsm:host-build-prep:fail:regression
    linux-6.1:build-armhf-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64:host-build-prep:fail:regression
    linux-6.1:build-arm64-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64-pvops:host-build-prep:fail:regression
    linux-6.1:build-armhf:host-build-prep:fail:regression
    linux-6.1:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-6.1:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=cd5d98c0556cd790f78a3ba26afc9d2f896163e4
X-Osstest-Versions-That:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 04:23:38 +0000

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

Regressions :-(

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                    5 host-build-prep          fail REGR. vs. 185299
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-amd64                   5 host-build-prep          fail REGR. vs. 185299
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185299
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185299
 build-arm64                   5 host-build-prep          fail REGR. vs. 185299
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-armhf                   5 host-build-prep          fail REGR. vs. 185299

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                cd5d98c0556cd790f78a3ba26afc9d2f896163e4
baseline version:
 linux                bf1e3b1cb1e002ed1590c91f1a24433b59322368

Last test of basis   185299  2024-04-10 14:42:59 Z    4 days
Testing same since   185434  2024-04-13 11:42:42 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alban Boyé <alban.boye@protonmail.com>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Andrew Lunn <andrew@lunn.ch>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Ye <bo.ye@mediatek.com>
  Boqun Feng <boqun.feng@gmail.com>
  C Cheng <C.Cheng@mediatek.com>
  Chancel Liu <chancel.liu@nxp.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Dai Ngo <dai.ngo@oracle.com>
  Daniel Drake <drake@endlessos.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gwendal Grignou <gwendal@chromium.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Ian Rogers <irogers@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jian-Hong Pan <jhp@endlessos.org>
  Jiawei Fu (iBug) <i@ibugone.com>
  Jiawei Fu <i@ibugone.com>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Ogness <john.ogness@linutronix.de>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Justin Tee <justin.tee@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karel Balej <balejk@matfyz.cz>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Leon Romanovsky <leon@kernel.org>
  linke li <lilinke99@qq.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Manjunath Patil <manjunath.b.patil@oracle.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Markuss Broks <markuss.broks@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael S. Tsirkin <mst@redhat.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Marshall <hubcap@omnibond.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  mosomate <mosomate@gmail.com>
  Mukesh Sisodiya <mukesh.sisodiya@intel.com>
  Máté Mosonyi <mosomate@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Machek (CIP) <pavel@denx.de>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ron Economos <re@w6rz.net>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Dionne-Riel <samuel@dionne-riel.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Tasos Sahanidis <tasos@tasossah.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Ye Bin <yebin10@huawei.com>
  Zhang Yi <yi.zhang@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 06:03:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 06:03:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705859.1102763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwFR8-0001cx-2s; Mon, 15 Apr 2024 06:03:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705859.1102763; Mon, 15 Apr 2024 06: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 1rwFR7-0001cq-UQ; Mon, 15 Apr 2024 06:03:25 +0000
Received: by outflank-mailman (input) for mailman id 705859;
 Mon, 15 Apr 2024 06:03: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 1rwFR6-0001cg-6F; Mon, 15 Apr 2024 06:03: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 1rwFR6-0003ob-2m; Mon, 15 Apr 2024 06:03: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 1rwFR5-0001U6-On; Mon, 15 Apr 2024 06:03:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwFR5-00021U-OM; Mon, 15 Apr 2024 06:03:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/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++wNNh+3DlmGbJwlGemwsITNeLW8NZMnBmFbYoceaA=; b=C5okApmdN14GLuKfxBeww4tnDl
	4nbMPL3qiaz5u1F8BofzJ/VFcM+vPFadTDbNzQcGbkRBSoOhCaTVXUwwE3J4zWeXdsLafmi/7O/l7
	ieelsJufp/oNwhsKLTDHonrvgY6QSAaBdMWG58QRnaWSa5iR448tAvJi9LlehklLSUyo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185540-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185540: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-5.4:build-amd64:<job status>:broken:regression
    linux-5.4:build-amd64-pvops:<job status>:broken:regression
    linux-5.4:build-amd64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-armhf:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-i386:<job status>:broken:regression
    linux-5.4:build-i386-pvops:<job status>:broken:regression
    linux-5.4:build-i386-xsm:<job status>:broken:regression
    linux-5.4:build-i386:host-build-prep:fail:regression
    linux-5.4:build-armhf-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-xsm:host-build-prep:fail:regression
    linux-5.4:build-amd64:host-build-prep:fail:regression
    linux-5.4:build-i386-pvops:host-build-prep:fail:regression
    linux-5.4:build-i386-xsm:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:build-armhf:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-i386:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 06:03:23 +0000

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

Regressions :-(

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                    5 host-build-prep          fail REGR. vs. 185168
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-amd64                   5 host-build-prep          fail REGR. vs. 185168
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185168
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185168
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-arm64                   5 host-build-prep          fail REGR. vs. 185168
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-armhf                   5 host-build-prep          fail REGR. vs. 185168

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-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
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   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-xl-credit1   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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-examine       1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-freebsd10-amd64  1 build-check(1)            blocked n/a
 test-amd64-i386-qemuu-freebsd10-i386  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   19 days
Testing same since   185433  2024-04-13 11:16:55 Z    1 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@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-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-qemuu-freebsd10-amd64                        blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-i386-examine-bios                                 blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      blocked 
 test-amd64-i386-qemuu-freebsd10-i386                         blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-i386-libvirt-qcow2                                blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-i386-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-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-i386-examine-uefi                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-amd64-i386-xl-vhd                                       blocked 


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 07:48:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 07:48:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705885.1102798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwH4m-0003mq-Tq; Mon, 15 Apr 2024 07:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705885.1102798; Mon, 15 Apr 2024 07: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 1rwH4m-0003mj-RC; Mon, 15 Apr 2024 07:48:28 +0000
Received: by outflank-mailman (input) for mailman id 705885;
 Mon, 15 Apr 2024 07:48: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=js9Q=LU=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rwH4l-0003mb-Uz
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 07:48:28 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0615.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a754506-fafc-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 09:48:26 +0200 (CEST)
Received: from AS9PR06CA0490.eurprd06.prod.outlook.com (2603:10a6:20b:49b::16)
 by DB4PR08MB8103.eurprd08.prod.outlook.com (2603:10a6:10:385::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Mon, 15 Apr
 2024 07:48:22 +0000
Received: from AMS0EPF000001A0.eurprd05.prod.outlook.com
 (2603:10a6:20b:49b:cafe::f4) by AS9PR06CA0490.outlook.office365.com
 (2603:10a6:20b:49b::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.33 via Frontend
 Transport; Mon, 15 Apr 2024 07:48:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A0.mail.protection.outlook.com (10.167.16.230) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Mon, 15 Apr 2024 07:48:20 +0000
Received: ("Tessian outbound e14047529286:v313");
 Mon, 15 Apr 2024 07:48:20 +0000
Received: from b9aa925e00fb.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 615F40C6-D644-4F2E-A1B0-4869B274332B.1; 
 Mon, 15 Apr 2024 07:48:13 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b9aa925e00fb.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Apr 2024 07:48:13 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU2PR08MB10160.eurprd08.prod.outlook.com (2603:10a6:10:496::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Mon, 15 Apr
 2024 07:48:12 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7452.049; Mon, 15 Apr 2024
 07:48:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a754506-fafc-11ee-b908-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AeKoqANcHOFlmYiswcjUouVIuJ6hJcq2U+AHnwvZUK/+OCy9/uDZYfNwCgUiu33I6/nxDVWRHRXgpj02GrZoVru+O2ZNyacj3QgvK+jdQp8kBGUuvuTaUIKJayxWywy+/vOVCP3rVBqOWH1ZhDVcDULJoJwGRqTL7eZdu0WMgsEjCxC3YOEEmLrbblBRXfr6CLIUyz7jmvQzGbblqMlzYPwNaTZvLVJwWnTyML2tvfpvMZrl3Kk+1fw+b14/RJiBP8DFI8IRu5zsp1BjUPgK462ga7OJFmsuCwzYUaQ09IiYsbpB7DZZ5qV+9RUTasTAENak5jM9Y1rUsTvb9V5liA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ax7pH6n0SRY0NYR75mNBgD/5jZS4gxAl1d3evgc0CL8=;
 b=b6GJamtARCol9F52s0jKht/kfN5iUaw8Up+JpxJLihbeJ4tl4gJyvVYlBJhcGqfsZMmNB2im1TqryKlvv+s/UgOjipNUp7SldA9FAHi+008R5YE8Y1PxWrO5poMTsQtpzklBQhM17aemu956HswZMnHYFvzuIEqygGq+6QfeKrtVkxL8tkawhXBxBCZ0j3BhynVazIDCpgl9viZexwHRAJhROZF5xcGuAICcrn5cuxvw2dd4ZPJQORodpcdCKN4Sc/9essvsd9UOS1+Z77MhduqERW2WrTHtxJFHf8TxQPaOYWX92PiRlwcCKhs/bfmAatLsU86dYS47PqtmaHKtFQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ax7pH6n0SRY0NYR75mNBgD/5jZS4gxAl1d3evgc0CL8=;
 b=wU03phdI7/v6mbpZ4YptnVMJwZ1CaBkCyk5AtKJyptC2HgnYED1WpSCp55Lb8mFw1/i0NWnsClMOpY4+6yRr6cKh9XtZC9v+R2a7IlCX2oTjFegmlVNZ4mBxoo2e2Vk8gfxoqnHWKeuU4YRnK8CgnLEPOtvQK6/ZNcwQ9viuDKo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bb3967e1c73251de
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oBIFU+qItRJIet0xM2DOuEz630NJu4RJURl+kohXJefkEzCabFVeZOK30t8OFaY4EVZkz0O3rEWR9JPJRCfB1CbDloU1eRwx5gCirTc54W9vmsYGyIhLspOKtYtMj3ccIsI1+4BlqjC18JWRglz+to02UKA4hc7m65POP7QJAYYwRLkqInQHNL6LoCfQgULWcQGFAUNt0oHBf/Pj6WpWHMB8n1EatHkD9i+DC5FSQO1UYsG+ChaWjCc3F44eZguYcOFzhUpm7mwl1DBPjuVDC9dzvB6goMZgjex/QUmbMwRyyLpSQzNjjaWIowUyj0BpwjMLQ7DfT82Poac4YDwAxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ax7pH6n0SRY0NYR75mNBgD/5jZS4gxAl1d3evgc0CL8=;
 b=H3X+Xsfs8oRGFSNpawO4UmjflpGTCctOhjxCloGLahRLl1Z2LGEBfvc5DVyod8SUjbgwE8WOJ64sgn4HTeiWlxZtQm77uP32uvOfdnnilG4p/Zz9HpCbZVAC4aSxDZhCXA90qb7qCBthz+6R55Yh8eTy4V+vIE448InAHa9iENG1KmCN6sM0ufd5TkNIWZI3b5VKRDAbrxK46sxNUMAmPZ56OUsDlhnhyQQgk0D5pq5NIcVemQAKo12+K1lff8Urmy27skYJuo4Xi4wfsaOvEL3xUTzBTt2skCwZMMFtWTmAh0K/sapyZzfKtWoQZFTWsm5GcyOzyCqwj1CcLoqvzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ax7pH6n0SRY0NYR75mNBgD/5jZS4gxAl1d3evgc0CL8=;
 b=wU03phdI7/v6mbpZ4YptnVMJwZ1CaBkCyk5AtKJyptC2HgnYED1WpSCp55Lb8mFw1/i0NWnsClMOpY4+6yRr6cKh9XtZC9v+R2a7IlCX2oTjFegmlVNZ4mBxoo2e2Vk8gfxoqnHWKeuU4YRnK8CgnLEPOtvQK6/ZNcwQ9viuDKo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien.grall.oss@gmail.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Michal Orzel
	<michal.orzel@amd.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Stefano
 Stabellini <stefano.stabellini@amd.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
Thread-Topic: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
Thread-Index:
 AQHai6GBZ8b+Nd1+T0SyR++yfNJA87FiLIoAgAF1zYCAAQgbgIAAGvcAgAAZZ4CABBxngA==
Date: Mon, 15 Apr 2024 07:48:11 +0000
Message-ID: <3C913FB6-0273-476E-908F-9FE95CB3E114@arm.com>
References:
 <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-1-stefano.stabellini@amd.com>
 <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
 <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2gOTLy2B7y9bELQHPhFmCpU2nhyV5zy9_uQvsvx5prqw@mail.gmail.com>
 <C8D49EE7-B214-41D5-9556-4D3B98629CEA@arm.com>
 <CAJ=z9a2ENW-3vh4N59csoeMHeMPGv9XFUuC6GrMTYMKM=FpwgQ@mail.gmail.com>
In-Reply-To:
 <CAJ=z9a2ENW-3vh4N59csoeMHeMPGv9XFUuC6GrMTYMKM=FpwgQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU2PR08MB10160:EE_|AMS0EPF000001A0:EE_|DB4PR08MB8103:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d27e2ea-1d81-43fb-de3f-08dc5d206bc2
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 FaYZJaYlDjHfSqJD4CY1GbLkPGpusPaYA0ZACYw5cYY98jnireJXqQkNKuUUrH7YD8eYcLKG8D+35I7Hw/RcegA8S30MDIwCn80ooE6D1wd5bG7qmkhMOTG2RpVqDZrhKUvVL5G+G5D3E/dNXmc7s21c/pBVCePFGK9UPZxX30aXl7VT7Uc6bsYWvxTW8nsmF4JzdzokE99QZ2VGl+GeWamcnqp8dqZrgoJojcrPZntZIij4MjzaE5kYMEDywqljiaDiTUicEXXkMAp9N44XHDLC2MWdUEDUIqp145C6vNgUz2DrcRl+e8aHruZl5EsyVCO6z+oXrv0OLlE9g2E8rpOTZcdxbXnPPJ9eqCzTPkO3sl/460bWjLmkF43a1XSRpjDomEKtK2toMVNYDBoZxUYCOGf4+Ff6/Aq4Ukxx3qvOkwUGVbI5lQ6ZudsbNZwt7p+ZU7FnkS96Np2pA94+tDvz7ucTBV4DYmv6swKpGLNezJPsdyjCTeRnIHyAqujyMacbxOQImzNuWu+suk56CVJjvcd3C1C8gYe2sZCesNkMW3tsHhvc/+jlc0rOn3RjePC7UAlxe32QH9fw5RJ9QQv953SfvxPeY0C8g3GdDzsi7iUaM0dnkkC/iHFv6+GfNWMiD4sR9yt2uKikLiPWDJQxKWJGFE4n5ioPrJRiuUgIuWpbkbDWhd3SBezi7YcC5nBorUq3Apeet3QfrFiPkb8C77+3T0d/BXBBtH0C8Pg=
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:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0D33127DF3EAF34ABEFB85BD98E19929@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB10160
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001A0.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	94f1a620-9ca9-4170-8059-08dc5d20662d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9ZdSNYiO3ThzBarkwxKJ7JKLxCen3EKb2NKO/71THWLCQ9K26ETJiEBXWw0was9fCJXa1wSQbq7KKV32+CjHBPq5cbywYb07KzKjzO0IXrETB5x/mt/vppiL5jz4KrSlvU9oi1lc2xQM5u4Cd4Ze6aCWkTe0/4sOYYfhw6pu0BvU+vlsQ/pLLFM2SH6BMPxdUGzWqdCyS7HzlmO8BjI2mccuoDMZ5b4hMRWLR+PuBbX+eRVaDBh/meulqFuS86nuwr4tFy5EiV6813yFkYWuzqtRvNS7QqlOkKBL/dKGqUyRSKaIq4gfVJzlSgc06CUhyU51mn/La6lBg6sdFpakaPYwKyDnBqH8lIDJfD8WiHVRnffjho3s8GdmkyBGv/hWbaXeuewHkPovkwtFKrQy3sydyljUiCqHdW9RJvqkL6B33BmYjBn7S3wS3fIt+S/F5W/SnI3BlkRed/x8ccnlV2B/vCO8XcYkvdG2qJ84faQa9D6rab3Vy7/cqTmWJwzULmC0LLgc12bpWBeldYEKX5ZgsY0nwbs2CgcGJihKRa9gvdOmp2fog01jjwaz59gMIKMoypAPqSdRB+LKDEWvZoYwEFXzAtptG8Zcc4ez8l7f1bgK6P1e69o6U7HlD0EPS2aWLL59X7F4i0g9kW9YdyKEyLyy776cMJv9wBhr24Z5/XSr6D4ddMMg2nXLoq22hEjGadZPd5U5PpyOfz7KiwYihqh1SDSEhAvruxL2c7Jd6a5cJ2rM6Q2ibA6RaciY
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2024 07:48:20.7412
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d27e2ea-1d81-43fb-de3f-08dc5d206bc2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001A0.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8103

SGkgSnVsaWVuLA0KDQo+IE9uIDEyIEFwciAyMDI0LCBhdCAxOTowMSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW4uZ3JhbGwub3NzQGdtYWlsLmNvbT4gd3JvdGU6DQo+IA0KPiANCj4gDQo+IE9uIEZyaSwg
MTIgQXByIDIwMjQgYXQgMTE6MzAsIEJlcnRyYW5kIE1hcnF1aXMgPEJlcnRyYW5kLk1hcnF1aXNA
YXJtLmNvbT4gd3JvdGU6DQo+IEhpIEp1bGllbiwNCj4gDQo+ID4gT24gMTIgQXByIDIwMjQsIGF0
IDE1OjUzLCBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbC5vc3NAZ21haWwuY29tPiB3cm90ZToN
Cj4gPiANCj4gPiANCj4gPiANCj4gPiBPbiBUaHUsIDExIEFwciAyMDI0IGF0IDE4OjA4LCBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+IHdyb3RlOg0KPiA+IE9uIFdl
ZCwgMTAgQXByIDIwMjQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gPiA+IE9uIFdlZCwgMTAgQXBy
IDIwMjQgYXQgMTk6NDcsIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxsaW5pQGFt
ZC5jb20+IHdyb3RlOg0KPiA+ID4gICAgICAgeGVuX3Vsb25nX3QgaXMgd2lkZWx5IHVzZWQgaW4g
cHVibGljIGhlYWRlcnMuDQo+ID4gPiANCj4gPiA+ICAgICAgIFNpZ25lZC1vZmYtYnk6IFN0ZWZh
bm8gU3RhYmVsbGluaSA8c3RlZmFuby5zdGFiZWxsaW5pQGFtZC5jb20+DQo+ID4gPiAgICAgICAt
LS0NCj4gPiA+IA0KPiA+ID4gICAgICAgR2l2ZW4gdGhhdCB4ZW5fdWxvbmdfdCBpcyB1c2VkIGlu
IHB1YmxpYyBoZWFkZXJzIHRoZXJlIGNvdWxkIGJlIGEgYmV0dGVyDQo+ID4gPiAgICAgICBwbGFj
ZSBmb3IgZG9jdW1lbnRpbmcgaXQgYnV0IHRoaXMgd2FzIHRoZSBtb3N0IHN0cmFpZ2h0Zm9yd2Fy
ZCB0byBhZGQuDQo+ID4gPiAgICAgICAtLS0NCj4gPiA+ICAgICAgICBkb2NzL21pc3JhL0MtbGFu
Z3VhZ2UtdG9vbGNoYWluLnJzdCB8IDExICsrKysrKysrKysrDQo+ID4gPiAgICAgICAgMSBmaWxl
IGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykNCj4gPiA+IA0KPiA+ID4gICAgICAgZGlmZiAtLWdp
dCBhL2RvY3MvbWlzcmEvQy1sYW5ndWFnZS10b29sY2hhaW4ucnN0IGIvZG9jcy9taXNyYS9DLWxh
bmd1YWdlLXRvb2xjaGFpbi5yc3QNCj4gPiA+ICAgICAgIGluZGV4IDVkZGZlN2JkYmUuLjdhMzM0
MjYwZTYgMTAwNjQ0DQo+ID4gPiAgICAgICAtLS0gYS9kb2NzL21pc3JhL0MtbGFuZ3VhZ2UtdG9v
bGNoYWluLnJzdA0KPiA+ID4gICAgICAgKysrIGIvZG9jcy9taXNyYS9DLWxhbmd1YWdlLXRvb2xj
aGFpbi5yc3QNCj4gPiA+ICAgICAgIEBAIC01MzEsNiArNTMxLDE3IEBAIEEgc3VtbWFyeSB0YWJs
ZSBvZiBkYXRhIHR5cGVzLCBzaXplcyBhbmQgYWxpZ25tZW50IGlzIGJlbG93Og0KPiA+ID4gICAg
ICAgICAgICAgLSA2NCBiaXRzDQo+ID4gPiAgICAgICAgICAgICAtIHg4Nl82NCwgQVJNdjgtQSBB
QXJjaDY0LCBSVjY0LCBQUEM2NA0KPiA+ID4gDQo+ID4gPiAgICAgICArICAgKiAtIHhlbl91bG9u
Z190DQo+ID4gPiAgICAgICArICAgICAtIDMyIGJpdHMNCj4gPiA+ICAgICAgICsgICAgIC0gMzIg
Yml0cw0KPiA+ID4gICAgICAgKyAgICAgLSB4ODZfMzINCj4gPiA+ICAgICAgICsNCj4gPiA+ICAg
ICAgICsgICAqIC0geGVuX3Vsb25nX3QNCj4gPiA+ICAgICAgICsgICAgIC0gNjQgYml0cw0KPiA+
ID4gICAgICAgKyAgICAgLSA2NCBiaXRzDQo+ID4gPiAgICAgICArICAgICAtIHg4Nl82NCwgQVJN
djgtQSBBQXJjaDY0LCBSVjY0LCBQUEM2NCwgQVJNdjgtQSBBQXJjaDMyLCBBUk12OC1SDQo+ID4g
PiAgICAgICArICAgICAgIEFBcmNoMzIsIEFSTXY3LUENCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiBX
ZSBzdXBwb3J0IG5laXRoZXIgQVJNdjgtUiBub3IgQVJNdjgtQSBBYXJjaDMyLg0KPiA+ID4gDQo+
ID4gPiBJIGNvdWxkIHBvc3NpYmx5IGFjY2VwdCB0aGUgbGF0dGVyIGJlY2F1c2UgaXQgd29ya3Mg
dG8uIEJ1dCB0aGUgZm9ybWVyIGlzIHNvIGZhciBtaXNsZWFkaW5nLg0KPiA+IA0KPiA+IFllcyBJ
IHRoaW5rIHlvdSBhcmUgcmlnaHQuIE1vcmVvdmVyIHRoaXMgZG9jdW1lbnQNCj4gPiAoQy1sYW5n
dWFnZS10b29sY2hhaW4ucnN0KSBpcyBtZWFudCBmb3IgdGhlIFhlbiBidWlsZC4gV2hpbGUgdGhp
cyBwYXRjaA0KPiA+IGlzIHRyeWluZyB0byBkb2N1bWVudCB0aGUgdHlwZXMgdXNlZCBpbiB0aGUg
cHVibGljIGhlYWRlcnMgZm9yIHRoZQ0KPiA+IGV4dGVybmFsLWZhY2luZyBBQkkuDQo+ID4gDQo+
ID4gSSdsbCBtb3ZlIHRoZSBpbmZvcm1hdGlvbiB0aGlzIHBhdGNoIGlzIGFkZGluZyB0byBhIHNl
cGFyYXRlIGRvY3VtZW50LA0KPiA+IHNwZWNpZmljIHRvIHRoZSBwdWJsaWMgaGVhZGVycy4gSSB3
aWxsIG9ubHkgYWRkIHRoZSBhcmNoaXRlY3R1cmVzDQo+ID4gY3VycmVudGx5IHdvcmtpbmc6IEkn
bGwgYWRkIEFSTXY4LUEgQWFyY2gzMiBiZWNhdXNlIGFsdGhvdWdoIGl0IGlzDQo+ID4gdW5zdXBw
b3J0ZWQgaXQgaXMgaW50ZXJlc3RpbmcgdG8ga25vdyB0aGUgc2l6ZSBvZiB4ZW5fdWxvbmdfdCBm
b3INCj4gPiBhYXJjaDMyIGluIHRoZSBwdWJsaWMgaGVhZGVycy4gSSB3aWxsIHJlbW92ZSBBUk12
OC1SIGFzIGl0IGlzIG5vdA0KPiA+IGF2YWlsYWJsZSB1cHN0cmVhbS4NCj4gPiANCj4gPiBUaGlu
a2luZyBhIGJpdCBtb3JlLiBXaGF0IGFib3V0IEFybXY5PyBSYXRoZXIgdGhhbiBsaXN0aW5nIGVh
Y2ggdmVyc2lvbiwgc2hvdWxkIHdlIGluc3RlYWQgdXNlIEFSTXY3LUEgYWFyY2gzMiBhbmQgbGF0
ZXIsIEFSTXY4LUEgYWFyY2g2NCBhbmQgbGF0ZXI/DQo+IA0KPiBEZWZpbml0ZWx5IHlvdSBhcmUg
cmlnaHQgaGVyZSBidXQgYXMgZm9yIEFybXY4LVIsIEFybXY5IGlzIG5vdCBzb21ldGhpbmcgdGhh
dCB3ZSBleHBsaWNpdGVseSBzdXBwb3J0IHJpZ2h0IG5vdyAoZXZlbiB0aG91Z2ggaXQgc2hvdWxk
IHdvcmspLg0KPiANCj4gSSBhbSBjb25mdXNlZCB3aXRoIHRoZSBjb21wYXJpc29uLiBJIHRob3Vn
aHQgeW91IGNhbuKAmXQgYm9vdCBYZW4gYXQgYWxsIG9uIEFybXY4LVIuIEJ1dCB5b3UgY2FuIG9u
IEFybXY5LUEgYXMgdGhpcyBqdXN0IEFybXY4LUEgKyBmZWF0dXJlcyB0aGUgc29mdHdhcmUgZG9u
4oCZdCBuZWVkIHRvIHVzZS4NCj4gDQo+IERpZCB5b3UgaW50ZW5kIHRvIGRyYXcgdGhlIGNvbXBh
cmlzb24gd2l0aCBBcm12OC1BIEFhcmNoMzI/DQoNClllcyBpbiBteSBtaW5kIGFybXY5IGV2ZW4g
aWYgY3VycmVudGx5IHdvcmtpbmcgaXQgaXMgbm90IHNvbWV0aGluZyBvZmZpY2lhbGx5IHN1cHBv
cnRlZCBzbyBpdCBpcyBpbiB0aGUgc2FtZSBzdGF0ZSBhcyBhcm12OCBhYXJjaDMyLg0KDQpBcm12
OC1SIGN1cnJlbnRseSBjYW5ub3Qgd29yayBhdCBhbGwgc28gaXQgaXMgYSBkaWZmZXJlbnQgc3Rh
dGUuDQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gDQo+IA0KPiBD
aGVlcnMNCj4gQmVydHJhbmQNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 07:51:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 07:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705888.1102809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwH7u-0005Ay-Bf; Mon, 15 Apr 2024 07:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705888.1102809; Mon, 15 Apr 2024 07:51:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwH7u-0005Ar-8W; Mon, 15 Apr 2024 07:51:42 +0000
Received: by outflank-mailman (input) for mailman id 705888;
 Mon, 15 Apr 2024 07:51: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 1rwH7t-0005Ah-Rb; Mon, 15 Apr 2024 07:51: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 1rwH7t-0006MQ-KO; Mon, 15 Apr 2024 07:51: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 1rwH7t-0003vA-Bb; Mon, 15 Apr 2024 07:51:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwH7t-0000Eg-B6; Mon, 15 Apr 2024 07:51:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=92Vkc56Ms7CbD2dsxXgs8Wvx6iys9mHpSeyVYp4IrJw=; b=EvqtRWq91i3RHYgR4RgTNdhPH1
	cKbKxdTfdm3I3ZlPEqb8cehLxM7Ye52sIUF25e+Pq3nPESKsAD8TFwItv7PdIUn7K3UR6DSmpQU2G
	3s5EZUdi4g8eaB7+Hx2gKP8M1TpXtDhKNMLgo00aj+LJTzEQ6bc0awJdpprwWBddrIN8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185560-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185560: regressions - 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-amd64-xsm:host-build-prep:fail:regression
    linux-linus:build-i386:host-build-prep:fail:regression
    linux-linus:build-amd64:host-build-prep:fail:regression
    linux-linus:build-armhf-pvops:host-build-prep:fail:regression
    linux-linus:build-amd64-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64-xsm:host-build-prep:fail:regression
    linux-linus:build-arm64:host-build-prep:fail:regression
    linux-linus:build-arm64-pvops:host-build-prep:fail:regression
    linux-linus:build-armhf:host-build-prep:fail: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=0bbac3facb5d6cc0171c45c9873a2dc96bea9680
X-Osstest-Versions-That:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 07:51:41 +0000

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

Regressions :-(

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               5 host-build-prep          fail REGR. vs. 185347
 build-i386                    5 host-build-prep          fail REGR. vs. 185347
 build-amd64                   5 host-build-prep          fail REGR. vs. 185347
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185347
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185347
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185347
 build-arm64                   5 host-build-prep          fail REGR. vs. 185347
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-armhf                   5 host-build-prep          fail REGR. vs. 185347

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                0bbac3facb5d6cc0171c45c9873a2dc96bea9680
baseline version:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a

Last test of basis   185347  2024-04-12 05:19:23 Z    3 days
Failing since        185442  2024-04-13 14:48:28 Z    1 days    5 attempts
Testing same since   185560  2024-04-15 01:52:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Adam Dunlap <acdunlap@google.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Amir Goldstein <amir73il@gmail.com>
  Animesh Manna <animesh.manna@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bharath SM <bharathsm@microsoft.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Christoph Hellwig <hch@lst.de>
  Coly Li <colyli@suse.de>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Damien Le Moal <dlemoal@kernel.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dexuan Cui <decui@microsoft.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Fabio Estevam <festevam@denx.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Haiyue Wang <haiyue.wang@intel.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harry Wentland <harry.wentland@amd.com>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Igor Pylypiv <ipylypiv@google.com>
  Ilya Dryomov <idryomov@gmail.com>
  Ingo Molnar <mingo@kernel.org>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  John Stultz <jstultz@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Jouni Högander <jouni.hogander@intel.com>
  Justin Stitt <justinstitt@google.com>
  Karthik Poosa <karthik.poosa@intel.com>
  Kees Cook <keescook@chromium.org>
  Kenneth Feng <kenneth.feng@amd.com>
  Kevin Loughlin <kevinloughlin@google.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Lang Yu <Lang.Yu@amd.com>
  Laura Nao <laura.nao@collabora.com>
  Li Ma <li.ma@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  lima1002 <li.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Ruhmann <ruhmann@luis.uni-hannover.de>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Michael Kelley <mhklinux@outlook.com>
  Michael S. Tsirkin <mst@redhat.com>
  Miguel Ojeda <ojeda@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Namhyung Kim <namhyung@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  NeilBrown <neilb@suse.de>
  Nianyao Tang <tangnianyao@huawei.com>
  Oleg Nesterov <oleg@redhat.com>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Petr Tesarik <petr.tesarik1@huawei-partners.com>
  Pierre Gondois <pierre.gondois@arm.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Li <roman.li@amd.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  shaoyunl <shaoyun.liu@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Song Liu <song@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tim Harvey <tharvey@gateworks.com>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vasant Hegde <vasant.hegde@amd.com>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Wachowski, Karol <karol.wachowski@intel.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Xianting Tian <xianting.tian@linux.alibaba.com>
  Xiubo Li <xiubli@redhat.com>
  Xuchun Shang <xuchun.shang@linux.alibaba.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Ye Li <ye.li@broadcom.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  Yu Kuai <yukuai3@huawei.com>
  Zack Rusin <zack.rusin@broadcom.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zhongwei <zhongwei.zhang@amd.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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 08:16:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 08:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705909.1102828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwHVL-0002HY-Vp; Mon, 15 Apr 2024 08:15:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705909.1102828; Mon, 15 Apr 2024 08: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 1rwHVL-0002HR-SM; Mon, 15 Apr 2024 08:15:55 +0000
Received: by outflank-mailman (input) for mailman id 705909;
 Mon, 15 Apr 2024 08:15: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=xRdI=LU=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rwHVK-0002HL-Rz
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 08:15:54 +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 60460891-fb00-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 10:15:53 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a4715991c32so367455866b.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 01:15:53 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 a6-20020a1709064a4600b00a51f2b5b1fcsm5181468ejv.75.2024.04.15.01.15.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 01: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: 60460891-fb00-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713168952; x=1713773752; 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=jabxJURdYFLANyOOPYHWbd3EQcws76nazsE9ptOCHH4=;
        b=Ofqt52GwwCmiYmpeSGRMUg1y5c79l1h9a8sHTMI/7wPhripdZcSC0vAaUSgOC3PVI1
         yrRBFTPiVvDIXciN1UVyfkuLgqWo+sTzoKzmjz9cEIbwGcZX4vw/igOL22Ag0+tiBtw8
         idMVYrfGEsq8GMW3Oe8R5RvN44GfmpZbTQdMo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713168952; x=1713773752;
        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=jabxJURdYFLANyOOPYHWbd3EQcws76nazsE9ptOCHH4=;
        b=tfSGzR2EVp3HQrvYIOw8BVoLINoAJBm4IXftpBCXFzxRfSaX+Nv/Qby2U47AxLkGG7
         7mBIR3SlVZtJ6HNgj3eCIL/0qyWCr0cUGG7xgNxEi5ugbv232Vvaf1cG60ZxR5DVuee8
         WtfuCY614hOja0Yq3Bt3lYIyCpyvI+QHDduz2rURdTC2lOQBPxVjgbASvNrBsRNm5zST
         lP0EYgndijBYfcJpisQsQj4pxfAgoNYLc8QybjJKsB6MqwJRPdTzHs/PlgAlwRet1Xpa
         UKnfb3dICAIAhs9v6RZDOaiMpJfPt6kegP6PEo97c7kKigpQFlsgW4RkgrkyWpBDjvSf
         FS9w==
X-Gm-Message-State: AOJu0YwnjFtuainNlSGQ5Xgg3Dbs9vLyrtTQzQuNdmUDaqrtahm8LlyN
	Y033HacKUqYJP7q7eK3n+LtVORo/yiVMsHUduKcX49KDVQO0rL3nzbvoU5NdXiptE0VBbsTk4zB
	u
X-Google-Smtp-Source: AGHT+IGE9GT2Ol5TU0EVRGgSh08mjdQ5cWzVDEHfvGwjxO1kb4NQIpjMM79wN6vdZl5R9rOWqv2BSA==
X-Received: by 2002:a17:906:5948:b0:a52:10c8:c4e2 with SMTP id g8-20020a170906594800b00a5210c8c4e2mr5627147ejr.66.1713168952362;
        Mon, 15 Apr 2024 01:15:52 -0700 (PDT)
Date: Mon, 15 Apr 2024 09:15:51 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH] osstest: increase boot timeout for Debian PV guests
Message-ID: <2f7689f1-ac3c-47b7-8ba6-b6b9b9e82749@perard>
References: <20240412141121.79280-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240412141121.79280-1-roger.pau@citrix.com>

On Fri, Apr 12, 2024 at 04:11:21PM +0200, Roger Pau Monne wrote:
> The current timeout of 40s seems to be too low for AMD boxes (pinots and
> rimavas) in the lab after XSA-455, see:

There's something else we can tweak if only some machine need extra
time, it is an host property "TimeoutFactor", which can increase all
timeout for a single machine. (It's use on the cubietruck for example.)

Or is it better to just increase boot time for all (or at least those)
pv guest?

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 08:17:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 08:17:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705912.1102838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwHWi-0002oZ-8u; Mon, 15 Apr 2024 08:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705912.1102838; Mon, 15 Apr 2024 08:17:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwHWi-0002oS-6G; Mon, 15 Apr 2024 08:17:20 +0000
Received: by outflank-mailman (input) for mailman id 705912;
 Mon, 15 Apr 2024 08:17:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xRdI=LU=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rwHWg-0002o1-Ig
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 08:17:18 +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 92a24341-fb00-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 10:17:17 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41879f3d204so679225e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 01:17:17 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust35.5-4.cable.virginm.net. [82.13.64.36])
 by smtp.gmail.com with ESMTPSA id
 s11-20020a05600c45cb00b00417f65f148esm12200309wmo.31.2024.04.15.01.17.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 01:17: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: 92a24341-fb00-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713169037; x=1713773837; 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=TspVDJcKtf2IiF6MMEJrOi4bZh+9dt3isUhG9ha8kdE=;
        b=f10UOVBUHGWviwmFu25HT6MxoLu4zb6GJpMyoqupJHq2olM+QcpJw8WAtl3SfTHVtm
         QsxnE2bne9NzWyE58mmNSVy3QAwg3cMMNmvCDjMbKGMFRiCBJw95+O4QVPs6GBR9BCzd
         krOcsPNxXVXkhm3woBQInkjpCTx+nSfdnpHRg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713169037; x=1713773837;
        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=TspVDJcKtf2IiF6MMEJrOi4bZh+9dt3isUhG9ha8kdE=;
        b=esDoj3J64f/ej4TfYZ8LGzKHd0R+faUh30casGIGJX7QN50AEfjNLGgM9hIdosUzh4
         LSrwU+w/WFDg9e5M0OoR8nmeebUCXry2wUONO2g1NpQ5XlNq6H2m9dFMsiDTGyqc+Lhx
         IMdy4xstcONU1emWjfmNtfTXVVcQmScaNgTbAyjrChzfw2cqeUZLghpUFqumbHNQAdV4
         NDrtpF8HgVFeeFWeA3GL49XXctG4cqiycIUN76jFgk+H90HwmfsAivDNX0vM6j9NLfUc
         nmBvpNmnvBlFAmZBHnhIcPcuGYSSF4bWYLE6dSC5mMLnck/0RF5gHziT24IF0r4y3rG/
         yUjA==
X-Gm-Message-State: AOJu0YypuCIVXSyK+FecFBMIEXNqBKYXS/93w3rE+gyFKZ8rfdl9gzK6
	kXuiKDHx7sJL0OhV4mwmPh+4WF9nacx2qV4SzJE21HdIN2hJjkSyLbRtJ+6bhfu4vcZDFtDgQc1
	x
X-Google-Smtp-Source: AGHT+IF921XNWkwYiDM2gXOaRX/DqQsGeogXdq3tDnvfflJDFcEi9mw298ObyPZVY0y0PrDziAkeOA==
X-Received: by 2002:a05:600c:444a:b0:418:cae:5086 with SMTP id v10-20020a05600c444a00b004180cae5086mr5260360wmn.10.1713169036813;
        Mon, 15 Apr 2024 01:17:16 -0700 (PDT)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [OSSTEST PATCH] production-config: override mirror url for buster, use archive
Date: Mon, 15 Apr 2024 09:17:08 +0100
Message-Id: <20240415081708.32671-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

buster-backport isn't available on the main mirror anymore.

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

Notes:
    I've tested the patch already, so I'll push that soon.

 production-config | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/production-config b/production-config
index 6345c40c..5b0c640d 100644
--- a/production-config
+++ b/production-config
@@ -95,6 +95,8 @@ TftpDiVersion_buster 2023-06-20
 
 DebianSnapshotBackports_jessie http://snapshot.debian.org/archive/debian/20190206T211314Z/
 
+DebianMirror_buster http://archive.debian.org/debian/
+
 # For ISO installs
 DebianImageVersion_wheezy 7.2.0
 DebianImageVersion_jessie 8.2.0
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 08:24:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 08:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705918.1102851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwHde-0005FM-34; Mon, 15 Apr 2024 08:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705918.1102851; Mon, 15 Apr 2024 08: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 1rwHdd-0005FE-VA; Mon, 15 Apr 2024 08:24:29 +0000
Received: by outflank-mailman (input) for mailman id 705918;
 Mon, 15 Apr 2024 08:24: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 1rwHdd-0005F5-La; Mon, 15 Apr 2024 08:24: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 1rwHdd-0007Tu-JI; Mon, 15 Apr 2024 08:24: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 1rwHdd-0004d3-8t; Mon, 15 Apr 2024 08:24:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwHdd-0004lf-8X; Mon, 15 Apr 2024 08:24:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ppYQThw4hS7tcGc9wHex2I6w6J2B7XnQGEgV5mmK72s=; b=NfawOfhQ+70xWtmQJciYQbYQkp
	BhTqIT7Nj4CvtA/pknqexReqBc+h1RYzfAqfMProz4PJMPBy1VvNligaroILBGw0QheqQ5K+FV3qy
	bDEtzqwCeMx+T6clmoKru6jTaK5y6oFNg86iLTpmz+ZPaEod1r+ZCf523pv2Pd0BGmD4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185564-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185564: regressions - 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-amd64-prev:host-build-prep:fail:regression
    xen-unstable:build-i386-prev:host-build-prep:fail:regression
    xen-unstable:build-amd64:host-build-prep:fail:regression
    xen-unstable:build-armhf-pvops:host-build-prep:fail:regression
    xen-unstable:build-amd64-xtf:host-build-prep:fail:regression
    xen-unstable:build-amd64-xsm:host-build-prep:fail:regression
    xen-unstable:build-i386-xsm:host-build-prep:fail:regression
    xen-unstable:build-amd64-pvops:host-build-prep:fail:regression
    xen-unstable:build-i386:host-build-prep:fail:regression
    xen-unstable:build-i386-pvops:host-build-prep:fail:regression
    xen-unstable:build-arm64-xsm:host-build-prep:fail:regression
    xen-unstable:build-arm64:host-build-prep:fail:regression
    xen-unstable:build-arm64-pvops:host-build-prep:fail:regression
    xen-unstable:build-armhf:host-build-prep:fail: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=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 08:24:29 +0000

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

Regressions :-(

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-amd64-prev              5 host-build-prep          fail REGR. vs. 185281
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185281
 build-amd64                   5 host-build-prep          fail REGR. vs. 185281
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185281
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-i386                    5 host-build-prep          fail REGR. vs. 185281
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185281
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-arm64                   5 host-build-prep          fail REGR. vs. 185281
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-armhf                   5 host-build-prep          fail REGR. vs. 185281

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                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    5 days
Failing since        185294  2024-04-10 04:20:17 Z    5 days    7 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 08:33:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 08:33:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705927.1102861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwHmH-0006pF-0t; Mon, 15 Apr 2024 08:33:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705927.1102861; Mon, 15 Apr 2024 08:33:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwHmG-0006p8-UM; Mon, 15 Apr 2024 08:33:24 +0000
Received: by outflank-mailman (input) for mailman id 705927;
 Mon, 15 Apr 2024 08:33:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=V/mT=LU=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rwHmF-0006p2-S9
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 08:33:23 +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 d1b54566-fb02-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 10:33:22 +0200 (CEST)
Received: by mail-vk1-xa2b.google.com with SMTP id
 71dfb90a1353d-4dad331b828so1190733e0c.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 01:33:22 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 fb20-20020ad44f14000000b0069b4fe0569fsm5399546qvb.109.2024.04.15.01.33.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 01:33: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: d1b54566-fb02-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713170001; x=1713774801; 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=MKRnV28M2bAJ3B+jDUPIHn7QHZ41qFXsE/g5/Q8S5y4=;
        b=RT6dDnGlAhE9MtoYZ8q+YX4/3Ko2kcmCroMLrzeST0ofO9apEGz4qIPNLhVEO4cQbn
         LLRo5ZCa23zCHHTzBaJlw7FGAspoOe5ARC90+czyOeyuua8YA8i7vMnFca5Ci+sTRiq1
         VF9GXxfamCG1Cnyl2Uopeor+cGdbLsLgmrScQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713170001; x=1713774801;
        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=MKRnV28M2bAJ3B+jDUPIHn7QHZ41qFXsE/g5/Q8S5y4=;
        b=apMr1vDTbRqKJYkkny58+5vZFUheRxN89QSN4tADZ4W5UJ8WjYbCwmFnmywjiZ4vWt
         1tDH3cRVgZ6fmTY7/cJaDX63pwBVxDUUXJRLS64gV63LbR60bmml0TZnk6r5aHJ4pwpG
         0r9TIeq8RPoIhL/2eSNSeYjePZxfjMu7UGy6QzbDPb5ST9MM0ZyQ5sOUAKnoKxmXjo0h
         oPwlaDkresTiIrQT5py89Jwey0IHT2P5mogJoVCXyQlEbLBLehDqp5dvW3i+1V8QI6Zy
         ecR701JVrn1ZU/ODBzK5fKLn++cZeS7Brum+50InPlw16+4YKnHL9WxxsUiM42LELjfx
         mVQA==
X-Gm-Message-State: AOJu0Yxcx0gNCgrt2YuLsY/ONmXxd+Y6Vj+CmSzcX1qXleoJf9IyHT4c
	WyrfBHIUEB2js33+6qQffSxjTNewRZa4Pe6u4IGCroGKerHmUe8ldXXC+WX3528=
X-Google-Smtp-Source: AGHT+IEp9U4EKBPn49PBNRV1hBVCUb8AQsdK3+PsGEQGyqOO3iYLioivXocctAfDS9/u95PuUFz5aw==
X-Received: by 2002:a05:6122:208e:b0:4d4:1a1a:6db7 with SMTP id i14-20020a056122208e00b004d41a1a6db7mr6637067vkd.2.1713170001645;
        Mon, 15 Apr 2024 01:33:21 -0700 (PDT)
Date: Mon, 15 Apr 2024 10:33:19 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH] osstest: increase boot timeout for Debian PV guests
Message-ID: <ZhzmTwP9_90GOnpw@macbook>
References: <20240412141121.79280-1-roger.pau@citrix.com>
 <2f7689f1-ac3c-47b7-8ba6-b6b9b9e82749@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <2f7689f1-ac3c-47b7-8ba6-b6b9b9e82749@perard>

On Mon, Apr 15, 2024 at 09:15:51AM +0100, Anthony PERARD wrote:
> On Fri, Apr 12, 2024 at 04:11:21PM +0200, Roger Pau Monne wrote:
> > The current timeout of 40s seems to be too low for AMD boxes (pinots and
> > rimavas) in the lab after XSA-455, see:
> 
> There's something else we can tweak if only some machine need extra
> time, it is an host property "TimeoutFactor", which can increase all
> timeout for a single machine. (It's use on the cubietruck for example.)
> 
> Or is it better to just increase boot time for all (or at least those)
> pv guest?

I did consider that, but given the timeout is just limited to PV guest
startup I considered the "TimeoutFactor" too broad.  I think
increasing the Debian PV boot timeout from 40s to 60s is a minor
adjustment, and shouldn't affect other tests.

Let me know if you still prefer to use "TimeoutFactor" and I will look
into it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 08:50:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 08:50:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705934.1102876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwI2J-0001pq-ET; Mon, 15 Apr 2024 08:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705934.1102876; Mon, 15 Apr 2024 08:49:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwI2J-0001pj-Bt; Mon, 15 Apr 2024 08:49:59 +0000
Received: by outflank-mailman (input) for mailman id 705934;
 Mon, 15 Apr 2024 08: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=V/mT=LU=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rwI2I-0001pd-QF
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 08:49:58 +0000
Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com
 [2607:f8b0:4864:20::733])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 223c1cd1-fb05-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 10:49:56 +0200 (CEST)
Received: by mail-qk1-x733.google.com with SMTP id
 af79cd13be357-78d620408f8so247759985a.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 01:49:56 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 d6-20020a05620a240600b0078d735ca917sm6068809qkn.123.2024.04.15.01.49.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 01:49: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: 223c1cd1-fb05-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713170996; x=1713775796; 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=57U9yTlAKpJzzt+SsYPGXcbCpqBDhXXulTu0h+EOhd0=;
        b=WT6HB4P2dqTxkS2dAC4jmXU5G/3MRXeD6PeQddT7pmEp86p3/FKYF0+e6ZR3XyYRrY
         0gVB3v9SLGniHOBfDFHwJjJnjQrAbmTM9y9miQcMB/DGpoDbm00IsCK40z9s920N9ORM
         fkdABR8n43k5ceXJOKoxJgei/JQrRzvUhH4oQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713170996; x=1713775796;
        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=57U9yTlAKpJzzt+SsYPGXcbCpqBDhXXulTu0h+EOhd0=;
        b=iD0hBWhYop81fGaIIrFbQBKzeXa5mvGLNotShyS1oQ/laZU/nMTKNCXy1BUPSdQcvT
         lxH4MojfBo9zxJIkDtz6M7xYuqRD7VDX2uOQj3Iy2IVJuoH/QcavWc440CKzaqSa7j09
         F2nyqy5Eq+orsHCNELBlSshsPXxR+cdBqa66UopyyL8jis3eXVc+X+/If6mcTBRuuOSC
         tkX8nBdyDYxPwP1wngJy6Yoib75ngi8Xb1ZhbWYBn8tHBIlu8EmSmIUPERCmKPmm6Kzf
         8ivYg59lqIGWtr00HRv08DoXmDkNrdvgJtSifJSPyEc2HYR7hqrxgT6F/WxDTDX/mqnI
         WG2A==
X-Gm-Message-State: AOJu0Ywr7sydeyrWDJ1pvRk7+dnWfq/ZB8uRU3cBekv/G7aa5pZ1H6U/
	s4E3vaUblrRauv7GHhEIehzhaSZvwqsGmPIqVXE7Xc+BJkz4pekQC2tU0dwhl/94qHBx7wVXEvj
	y
X-Google-Smtp-Source: AGHT+IF57Lc6Y/Yh+cuG/XGOz4FQnuH/kvkHq2PTUjEpb1Vpw8wOmfOMiHznV7QFkY1bJTv2ShjsUw==
X-Received: by 2002:a05:620a:8510:b0:78b:e7ec:99a with SMTP id pe16-20020a05620a851000b0078be7ec099amr9412831qkn.10.1713170995759;
        Mon, 15 Apr 2024 01:49:55 -0700 (PDT)
Date: Mon, 15 Apr 2024 10:49:53 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [OSSTEST PATCH] production-config: override mirror url for
 buster, use archive
Message-ID: <ZhzqMYVgighuBv-k@macbook>
References: <20240415081708.32671-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240415081708.32671-1-anthony.perard@citrix.com>

On Mon, Apr 15, 2024 at 09:17:08AM +0100, Anthony PERARD wrote:
> buster-backport isn't available on the main mirror anymore.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

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

Please push ASAP.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 08:57:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 08:57:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705939.1102886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwI9F-0004Ez-4S; Mon, 15 Apr 2024 08:57:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705939.1102886; Mon, 15 Apr 2024 08:57: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 1rwI9F-0004Es-20; Mon, 15 Apr 2024 08:57:09 +0000
Received: by outflank-mailman (input) for mailman id 705939;
 Mon, 15 Apr 2024 08:57: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=xRdI=LU=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rwI9E-0004Em-6L
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 08:57:08 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 214754e9-fb06-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 10:57:05 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-343d2b20c4bso2294523f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 01:57:05 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 df12-20020a5d5b8c000000b00343a3e62997sm11405428wrb.50.2024.04.15.01.57.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 01: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: 214754e9-fb06-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713171424; x=1713776224; 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=P9SEF9N03H7pTUAyRlXJzL+16LhGKabvpj44u3+jv5k=;
        b=D8eedOa6pfcJP9Xb77gwVHrqmry3THcDJehjfBf3s2/Tl9ZBrgDoEUxrQMn0N6+a+D
         KSyFZxX7WOEnaUHB8mEO1ggdZcre4igOV0TTw/YB6K9ttBw7V0z04mZLxjexCvY/Dcns
         gbJ7rdd4aEdXmvORgUGVjPp63zAnjMd6IqDGY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713171424; x=1713776224;
        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=P9SEF9N03H7pTUAyRlXJzL+16LhGKabvpj44u3+jv5k=;
        b=QWnycUvKCVm8EdY7BEMYHIOWuqojymoB8/y47dfUzQ/oT41BcKORhLckz7gxR9wuMS
         1gz1EtXQLF6iQqBO79wnoWonltL6ftFy+wKtwztKxkf9z35nDkge3xja60mHv1g+DH2d
         jMdqFjuoMD/aCY9IxZkfGC3KKPTKkS7WNDADBuMU0MYNuwwIjfnOxezW06RrPabVhtLG
         LC4j3lZIFxnnYG4EdNgwDlKKx/bGXPGcjedm1N2CvyT/UW8dkrUQOSZq/F7E2O3V+71b
         10B2NlzKoz8VCQGVaohPZwSwcVp3QZ2ttTV2VoTL0Mf9glFXdovtyw6OjLxwFSgega4Z
         pkmA==
X-Gm-Message-State: AOJu0YyPrO7Joct+8MQOq4u0gGq+b1OkYJPsSxxf72ImlcGHGSzJXfUk
	CVws8pEjGIzOvjBV6ptEd2/KxKEMoX0EfJilxmoqKuvKTMAQjC24v9EpjGcRsONECv6LAqCjpUk
	N
X-Google-Smtp-Source: AGHT+IGUNRUexaAtzqzDqPKp1qIgG1Lrplo3jLiOfpEYG9ebes8/bc0P4GeqiV8G0tNcmEe1KvY1Xg==
X-Received: by 2002:adf:f64a:0:b0:346:bbd8:d512 with SMTP id x10-20020adff64a000000b00346bbd8d512mr6053721wrp.9.1713171423666;
        Mon, 15 Apr 2024 01:57:03 -0700 (PDT)
Date: Mon, 15 Apr 2024 09:57:02 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH] osstest: increase boot timeout for Debian PV guests
Message-ID: <e9bc461b-2cb8-4ac9-a437-394892deaee6@perard>
References: <20240412141121.79280-1-roger.pau@citrix.com>
 <2f7689f1-ac3c-47b7-8ba6-b6b9b9e82749@perard>
 <ZhzmTwP9_90GOnpw@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZhzmTwP9_90GOnpw@macbook>

On Mon, Apr 15, 2024 at 10:33:19AM +0200, Roger Pau Monn wrote:
> On Mon, Apr 15, 2024 at 09:15:51AM +0100, Anthony PERARD wrote:
> > On Fri, Apr 12, 2024 at 04:11:21PM +0200, Roger Pau Monne wrote:
> > > The current timeout of 40s seems to be too low for AMD boxes (pinots and
> > > rimavas) in the lab after XSA-455, see:
> > 
> > There's something else we can tweak if only some machine need extra
> > time, it is an host property "TimeoutFactor", which can increase all
> > timeout for a single machine. (It's use on the cubietruck for example.)
> > 
> > Or is it better to just increase boot time for all (or at least those)
> > pv guest?
> 
> I did consider that, but given the timeout is just limited to PV guest
> startup I considered the "TimeoutFactor" too broad.  I think
> increasing the Debian PV boot timeout from 40s to 60s is a minor
> adjustment, and shouldn't affect other tests.
> 
> Let me know if you still prefer to use "TimeoutFactor" and I will look
> into it.

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 09:20:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 09:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705945.1102903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwIVi-00015C-Uk; Mon, 15 Apr 2024 09:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705945.1102903; Mon, 15 Apr 2024 09:20:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwIVi-000155-S1; Mon, 15 Apr 2024 09:20:22 +0000
Received: by outflank-mailman (input) for mailman id 705945;
 Mon, 15 Apr 2024 09:20:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwIVh-00014v-9I; Mon, 15 Apr 2024 09:20:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwIVh-0000N7-3x; Mon, 15 Apr 2024 09:20:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwIVg-0005qC-QA; Mon, 15 Apr 2024 09:20:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwIVg-0007ze-Pk; Mon, 15 Apr 2024 09:20:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=b+3SQg2t0YfJNkg/yPSw4ar8LRcUZzHtPm1BSK2LXJM=; b=AocG6oUFe1fxOagpHdNCP0Vtqs
	wtoM21m4FbOWw0Q6791Y0gYXdUqLlNGGDIG7T1vgegeSpcq2pkNQh8dPCKrTXLzsdHl8V2JPKks8o
	k6srEWLnDJQJssXSINxrnbJngb6QWOOD29qU9nKZ3OdZ3L0A2ba2I3Edsf5K9OO9eTXM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185567-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185567: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.15-testing:build-amd64:<job status>:broken:regression
    xen-4.15-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.15-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.15-testing:build-arm64:<job status>:broken:regression
    xen-4.15-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-armhf:<job status>:broken:regression
    xen-4.15-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386:<job status>:broken:regression
    xen-4.15-testing:build-i386-prev:<job status>:broken:regression
    xen-4.15-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf:host-build-prep:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 09:20:20 +0000

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

Regressions :-(

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-amd64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185282
 build-i386                    5 host-build-prep          fail REGR. vs. 185282
 build-amd64                   5 host-build-prep          fail REGR. vs. 185282
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185282
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185282
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185282
 build-arm64                   5 host-build-prep          fail REGR. vs. 185282
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-armhf                   5 host-build-prep          fail REGR. vs. 185282

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    5 days
Testing same since   185296  2024-04-10 06:02:43 Z    5 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 09:56:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 09:56:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705961.1102924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJ4v-00089D-1I; Mon, 15 Apr 2024 09:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705961.1102924; Mon, 15 Apr 2024 09: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 1rwJ4u-000896-Ux; Mon, 15 Apr 2024 09:56:44 +0000
Received: by outflank-mailman (input) for mailman id 705961;
 Mon, 15 Apr 2024 09:56:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ro5Y=LU=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rwJ4t-000890-4A
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 09:56:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74ee568d-fb0e-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 11:56:40 +0200 (CEST)
Received: from truciolo.bugseng.com (unknown [37.161.163.182])
 by support.bugseng.com (Postfix) with ESMTPSA id 50FC54EE0737;
 Mon, 15 Apr 2024 11:56: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: 74ee568d-fb0e-11ee-94a3-07e782e9044d
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH] docs/misra: mark the gzip folder as adopted code
Date: Mon, 15 Apr 2024 11:56:30 +0200
Message-Id: <2970c1010e227ca1460c5656d13fb87a05d87f29.1713174475.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mark the whole gzip folder as adopted code and remove the redundant
deviation of file inflate.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 5 -----
 docs/misra/exclude-list.json                     | 2 +-
 2 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 0230b41c6d..4287805819 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -148,11 +148,6 @@ const-qualified."
 # Series 8.
 #
 
--doc_begin="The following file is imported from Linux: ignore for now."
--file_tag+={adopted_r8_2,"^xen/common/inflate\\.c$"}
--config=MC3R1.R8.2,reports+={deliberate,"any_area(any_loc(file(adopted_r8_2)))"}
--doc_end
-
 -doc_begin="The type ret_t is deliberately used and defined as int or long depending on the architecture."
 -config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
 -doc_end
diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index 0956364158..cd69765427 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -118,7 +118,7 @@
             "comment": "Imported from Linux, ignore for now"
         },
         {
-            "rel_path": "common/gzip/inflate.c",
+            "rel_path": "common/gzip/*",
             "comment": "Imported from Linux, ignore for now"
         },
         {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 10:00:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 10:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705964.1102936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJ88-0000ra-Jk; Mon, 15 Apr 2024 10:00:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705964.1102936; Mon, 15 Apr 2024 10: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 1rwJ88-0000qq-DU; Mon, 15 Apr 2024 10:00:04 +0000
Received: by outflank-mailman (input) for mailman id 705964;
 Mon, 15 Apr 2024 10:00: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 1rwJ87-0000iQ-Ta; Mon, 15 Apr 2024 10:00: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 1rwJ87-0001AQ-NX; Mon, 15 Apr 2024 10:00: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 1rwJ87-0006iE-By; Mon, 15 Apr 2024 10:00:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwJ87-0007ms-BU; Mon, 15 Apr 2024 10:00: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=Gnp2WYkhfgALUbRMCQZHM9GlepJRn0J+VP9nS1SkKJo=; b=E84La6Yy6apJx+MkutkVNv7OHv
	nbbnt2eBuU88WxalZoOt/0QUAKB34Gg4lWr0DZu+FSkNApgLrwC8jNrmBgD3ZFoS4B5bcdLjNlNZ2
	L4yYLRBlYfkVbfUN2mw/pd8j3BfmJEF/+N0suyrZXBH3EKRezFPzi88GuDMfZFdUVKDU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185570-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185570: regressions - trouble: blocked/broken
X-Osstest-Failures:
    libvirt:build-amd64:<job status>:broken:regression
    libvirt:build-amd64-pvops:<job status>:broken:regression
    libvirt:build-amd64-xsm:<job status>:broken:regression
    libvirt:build-arm64:<job status>:broken:regression
    libvirt:build-arm64-pvops:<job status>:broken:regression
    libvirt:build-arm64-xsm:<job status>:broken:regression
    libvirt:build-armhf:<job status>:broken:regression
    libvirt:build-armhf-pvops:<job status>:broken:regression
    libvirt:build-i386:<job status>:broken:regression
    libvirt:build-i386-pvops:<job status>:broken:regression
    libvirt:build-i386-xsm:<job status>:broken:regression
    libvirt:build-i386-pvops:host-build-prep:fail:regression
    libvirt:build-amd64-pvops:host-build-prep:fail:regression
    libvirt:build-amd64-xsm:host-build-prep:fail:regression
    libvirt:build-armhf-pvops:host-build-prep:fail:regression
    libvirt:build-i386-xsm:host-build-prep:fail:regression
    libvirt:build-amd64:host-build-prep:fail:regression
    libvirt:build-i386:host-build-prep:fail:regression
    libvirt:build-arm64-xsm:host-build-prep:fail:regression
    libvirt:build-arm64-pvops:host-build-prep:fail:regression
    libvirt:build-arm64:host-build-prep:fail:regression
    libvirt:build-armhf:host-build-prep:fail:regression
    libvirt:build-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:build-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:build-i386-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    libvirt=a4972778f97ae667a02bbbecdeabb912506fa2cf
X-Osstest-Versions-That:
    libvirt=812a146dfe784315edece43d09f8d9e432f8230e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 10:00:03 +0000

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

Regressions :-(

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              5 host-build-prep          fail REGR. vs. 185412
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185412
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185412
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185412
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185412
 build-amd64                   5 host-build-prep          fail REGR. vs. 185412
 build-i386                    5 host-build-prep          fail REGR. vs. 185412
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185412
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185412
 build-arm64                   5 host-build-prep          fail REGR. vs. 185412
 build-armhf                   5 host-build-prep          fail REGR. vs. 185412

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

version targeted for testing:
 libvirt              a4972778f97ae667a02bbbecdeabb912506fa2cf
baseline version:
 libvirt              812a146dfe784315edece43d09f8d9e432f8230e

Last test of basis   185412  2024-04-13 04:19:07 Z    2 days
Testing same since   185482  2024-04-14 04:19:08 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.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-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 


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

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

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

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

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

Not pushing.

------------------------------------------------------------
commit a4972778f97ae667a02bbbecdeabb912506fa2cf
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Fri Apr 12 17:45:16 2024 +0200

    vbox: Drop needless g_new0(..., 0) in vbox_snapshot_conf.c
    
    clang on Fedora started to complain about some calls to g_new0()
    we're making in vbox_snapshot_conf.c. Specifically, we're passing
    zero as number of elements to allocate. And while usually SA
    tools are not clever, in this specific case clang is right.
    There are three cases where such call is made, but all of them
    later use VIR_EXPAND_N() to allocate more memory (if needed). But
    VIR_EXPAND_N() accepts a variable set to NULL happily.
    
    Therefore, just drop those three calls to g_new0(..., 0) and let
    VIR_EXPAND_N() allocate memory.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Pavel Hrdina <phrdina@redhat.com>


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 10:09:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 10:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.705989.1102963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJGn-0003YI-MM; Mon, 15 Apr 2024 10:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 705989.1102963; Mon, 15 Apr 2024 10:09:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJGn-0003YB-Jf; Mon, 15 Apr 2024 10:09:01 +0000
Received: by outflank-mailman (input) for mailman id 705989;
 Mon, 15 Apr 2024 10:09:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rwJGm-0003Y3-VC
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 10:09: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 1rwJGj-0001Iv-9X; Mon, 15 Apr 2024 10:08: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 1rwJGj-0006Fw-2j; Mon, 15 Apr 2024 10:08:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dIaWQQZs2fsTANAS4jPGCYoKnZwQYqLmbpUD8bHQ2Xs=; b=t09dDVpsU8N6+hBitCtE4Xkja3
	YjPfeYxrP7Z8kSHryk6Y6BCFOuLyQxt9c0sU9+phPu/YQBpsoYjfdOjf2WxE8LD5aTfF8B7iKq5au
	NNc3/Fm9bAnZ33Myr1hbrbDmhkoldAfrt5k8PfEvxvgEkiXVV61RUAw4fzaF7vSxxO/Y=;
Message-ID: <02401844-98d1-442c-8bd5-1e5c192ddb21@xen.org>
Date: Mon, 15 Apr 2024 11:08:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Julien Grall <julien.grall.oss@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Michal Orzel <michal.orzel@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-1-stefano.stabellini@amd.com>
 <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
 <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2gOTLy2B7y9bELQHPhFmCpU2nhyV5zy9_uQvsvx5prqw@mail.gmail.com>
 <C8D49EE7-B214-41D5-9556-4D3B98629CEA@arm.com>
 <CAJ=z9a2ENW-3vh4N59csoeMHeMPGv9XFUuC6GrMTYMKM=FpwgQ@mail.gmail.com>
 <3C913FB6-0273-476E-908F-9FE95CB3E114@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3C913FB6-0273-476E-908F-9FE95CB3E114@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Bertrand,

On 15/04/2024 08:48, Bertrand Marquis wrote:
> Hi Julien,
> 
>> On 12 Apr 2024, at 19:01, Julien Grall <julien.grall.oss@gmail.com> wrote:
>>
>>
>>
>> On Fri, 12 Apr 2024 at 11:30, Bertrand Marquis <Bertrand.Marquis@arm.com> wrote:
>> Hi Julien,
>>
>>> On 12 Apr 2024, at 15:53, Julien Grall <julien.grall.oss@gmail.com> wrote:
>>>
>>>
>>>
>>> On Thu, 11 Apr 2024 at 18:08, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>> On Wed, 10 Apr 2024, Julien Grall wrote:
>>>> On Wed, 10 Apr 2024 at 19:47, Stefano Stabellini <stefano.stabellini@amd.com> wrote:
>>>>        xen_ulong_t is widely used in public headers.
>>>>
>>>>        Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>>>        ---
>>>>
>>>>        Given that xen_ulong_t is used in public headers there could be a better
>>>>        place for documenting it but this was the most straightforward to add.
>>>>        ---
>>>>         docs/misra/C-language-toolchain.rst | 11 +++++++++++
>>>>         1 file changed, 11 insertions(+)
>>>>
>>>>        diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
>>>>        index 5ddfe7bdbe..7a334260e6 100644
>>>>        --- a/docs/misra/C-language-toolchain.rst
>>>>        +++ b/docs/misra/C-language-toolchain.rst
>>>>        @@ -531,6 +531,17 @@ A summary table of data types, sizes and alignment is below:
>>>>              - 64 bits
>>>>              - x86_64, ARMv8-A AArch64, RV64, PPC64
>>>>
>>>>        +   * - xen_ulong_t
>>>>        +     - 32 bits
>>>>        +     - 32 bits
>>>>        +     - x86_32
>>>>        +
>>>>        +   * - xen_ulong_t
>>>>        +     - 64 bits
>>>>        +     - 64 bits
>>>>        +     - x86_64, ARMv8-A AArch64, RV64, PPC64, ARMv8-A AArch32, ARMv8-R
>>>>        +       AArch32, ARMv7-A
>>>>
>>>>
>>>> We support neither ARMv8-R nor ARMv8-A Aarch32.
>>>>
>>>> I could possibly accept the latter because it works to. But the former is so far misleading.
>>>
>>> Yes I think you are right. Moreover this document
>>> (C-language-toolchain.rst) is meant for the Xen build. While this patch
>>> is trying to document the types used in the public headers for the
>>> external-facing ABI.
>>>
>>> I'll move the information this patch is adding to a separate document,
>>> specific to the public headers. I will only add the architectures
>>> currently working: I'll add ARMv8-A Aarch32 because although it is
>>> unsupported it is interesting to know the size of xen_ulong_t for
>>> aarch32 in the public headers. I will remove ARMv8-R as it is not
>>> available upstream.
>>>
>>> Thinking a bit more. What about Armv9? Rather than listing each version, should we instead use ARMv7-A aarch32 and later, ARMv8-A aarch64 and later?
>>
>> Definitely you are right here but as for Armv8-R, Armv9 is not something that we explicitely support right now (even though it should work).
>>
>> I am confused with the comparison. I thought you can’t boot Xen at all on Armv8-R. But you can on Armv9-A as this just Armv8-A + features the software don’t need to use.
>>
>> Did you intend to draw the comparison with Armv8-A Aarch32?
> 
> Yes in my mind armv9 even if currently working it is not something officially supported so it is in the same state as armv8 aarch32.

AFAICT, Stefano said he will add ARMv8-A AArch32, so we should be 
consistent and add Armv9-A in the list.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 10:25:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 10:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706004.1102976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJX4-00082e-2o; Mon, 15 Apr 2024 10:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706004.1102976; Mon, 15 Apr 2024 10:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJX3-00082X-WA; Mon, 15 Apr 2024 10:25:49 +0000
Received: by outflank-mailman (input) for mailman id 706004;
 Mon, 15 Apr 2024 10:25:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rwJX2-00082R-Hr
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 10:25:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rwJWy-0001cb-6t; Mon, 15 Apr 2024 10:25:44 +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 1rwJWy-0007Gf-0j; Mon, 15 Apr 2024 10:25:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=WHJyTHwAtf+xLJhvyxboFnh0UhYt5gbCNJOoN3IkTjc=; b=6g9Obcbo3VO0SJP+yi/PGwhZLj
	d6Q1Tmx3QoJ5u2zRJWzluIniOJQOiGYoOeoQuJNF+4gOITDhfL6sQMQFBrn3UbN0vfWPbLjwjdIlK
	J07G9zg0gCXvvYB/u9/rImhw43F7Vsim6WTI76VydVdyZucdpsafCKEHr3AmSHlIjb88=;
Message-ID: <084b9ed5-1585-4802-b504-6ccd2f262542@xen.org>
Date: Mon, 15 Apr 2024 11:25:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Content-Language: en-GB
To: John Ernberg <john.ernberg@actia.se>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Peng Fan <peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240408161129.900347-2-john.ernberg@actia.se>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi John,

I saw this patch was committed. I have one question this may require 
some adjustment.

On 08/04/2024 17:11, John Ernberg wrote:
> ---
>   xen/arch/arm/platforms/Makefile |   1 +
>   xen/arch/arm/platforms/imx8qm.c | 139 ++++++++++++++++++++++++++++++++
>   2 files changed, 140 insertions(+)
>   create mode 100644 xen/arch/arm/platforms/imx8qm.c
> 
> diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
> index 8632f4115f..bec6e55d1f 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>   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_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
> diff --git a/xen/arch/arm/platforms/imx8qm.c b/xen/arch/arm/platforms/imx8qm.c
> new file mode 100644
> index 0000000000..3600a073e8
> --- /dev/null
> +++ b/xen/arch/arm/platforms/imx8qm.c
> @@ -0,0 +1,139 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */

The majority of Xen code is using GPL-2.0-only. In the early days for 
Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
Unfortunately this started to spread as people copied/pasted the same 
copyright headers.

So can you confirm whether you intended to use GPL-2.0+? If not would 
you be able to send a patch to adjust it? (Better to it before there are 
more modifications).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 10:38:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 10:38:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706014.1103005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJjb-0002Ie-CC; Mon, 15 Apr 2024 10:38:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706014.1103005; Mon, 15 Apr 2024 10:38:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJjb-0002IX-91; Mon, 15 Apr 2024 10:38:47 +0000
Received: by outflank-mailman (input) for mailman id 706014;
 Mon, 15 Apr 2024 10:38:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rwJjZ-0002IQ-Dv
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 10:38:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rwJjZ-0001pv-0x; Mon, 15 Apr 2024 10:38:45 +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 1rwJjY-0007vf-Q7; Mon, 15 Apr 2024 10:38:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oAsbH74/3hDU9w1qs2/UrsVM/iQLEuQY98xA5u1UnhU=; b=jRubm8nMWMuqEqQM1hGC1672gI
	JzUNYh+EjA41mZaDocRzbMepL9fY81ahgHLKe870rQ7VH/IQJC0H2yaEpdLyLE558VtmUYoGm7Qzo
	ygmdj8nEgw467lHKL+6k5KH5GhleeGgIrk64UQEhMv4KhYw1xl77KEkLxI6KMOmEz9QU=;
Message-ID: <6ee4b38e-cc54-42af-970e-547c4bbc7e69@xen.org>
Date: Mon, 15 Apr 2024 11:38:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: s/int/int32_t
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com, bertrand.marquis@arm.com,
 george.dunlap@citrix.com, jbeulich@suse.com, michal.orzel@amd.com,
 roger.pau@citrix.com
References: <alpine.DEB.2.22.394.2404091625170.711344@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2404091625170.711344@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/04/2024 00:26, Stefano Stabellini wrote:
> 
>>From 28f83c4ec0c0b5c1e7eb2bd8bc5dc3190314a5b7 Mon Sep 17 00:00:00 2001
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> Date: Tue, 9 Apr 2024 16:19:21 -0700
> Subject: [PATCH] public: s/int/int32_t
> 
> Straightforward int -> int32_t and unsigned int -> uint32_t replacements
> in public headers. No ABI or semantic changes intended.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 10:41:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 10:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706018.1103015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJmY-0003iR-Qt; Mon, 15 Apr 2024 10:41:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706018.1103015; Mon, 15 Apr 2024 10:41:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJmY-0003iK-N3; Mon, 15 Apr 2024 10:41:50 +0000
Received: by outflank-mailman (input) for mailman id 706018;
 Mon, 15 Apr 2024 10:41: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 1rwJmX-0003iC-K8
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 10:41: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 1rwJmS-0001u6-3Q; Mon, 15 Apr 2024 10:41:44 +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 1rwJmR-00085e-UQ; Mon, 15 Apr 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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=B5HtHGZFJcaJ/G0CWPkzyumuyLHH3ScqwePZWmZ/z3c=; b=ZzR5g6FTfPCmyAkPTYlRl9Rx7G
	Zxz1SNJdQ0KGYXXF56Ti5ch6V6g7gONuKYf5+bJlVb+E8OEW7vtWTn0GtAuWK4Y1e/xgjZax1lNLi
	5wsFh7ut2cmxMbYHrtUKfrgtFSHx8GJaZqhqownVbU80MKFmaL8vQ/xkJtQ4NdmlDJwo=;
Message-ID: <24b06235-ed02-47cc-a6d3-1344895d29fc@xen.org>
Date: Mon, 15 Apr 2024 11:41:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] drivers: char: Enable OMAP UART driver for TI K3
 devices
Content-Language: en-GB
To: Vaishnav Achath <vaishnav.a@ti.com>, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, jbeulich@suse.com, sstabellini@kernel.org,
 bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com
Cc: xen-devel@lists.xenproject.org
References: <20240408150317.1309759-1-vaishnav.a@ti.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240408150317.1309759-1-vaishnav.a@ti.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 08/04/2024 16:03, Vaishnav Achath wrote:
> TI K3 devices (J721E, J721S2, AM62X .etc) have the same variant
> of UART as OMAP4. Add the compatible used in Linux device tree,
> "ti,am654-uart" to the OMAP UART dt_match so that the driver can
> be used with these devices. Also, enable the driver for ARM64
> platforms.
> 
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>

In general, the tags are sorted chronologically. I can re-order both 
when committing:

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 10:50:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 10:50:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706024.1103025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJuZ-0006LU-Ma; Mon, 15 Apr 2024 10:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706024.1103025; Mon, 15 Apr 2024 10:50:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwJuZ-0006LN-Is; Mon, 15 Apr 2024 10:50:07 +0000
Received: by outflank-mailman (input) for mailman id 706024;
 Mon, 15 Apr 2024 10:50:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwJuY-0006GD-Cv
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 10:50:06 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb1a5515-fb15-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 12:50:05 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-34782453ffdso1303008f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 03:50:05 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b11-20020adfe30b000000b0034625392416sm11756374wrj.104.2024.04.15.03.50.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Apr 2024 03:50: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: eb1a5515-fb15-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713178205; x=1713783005; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jQMNBbQUvDny+CND0VAHwcaY84vHHkZUcJ4xu5OgeYY=;
        b=YqdQFJqrHG5eGrAAahGSP5AdwOXv6ON68c4QMs0Yose45ZDgc/xMAgPNfrW+TK7xyx
         GsUhj1gpPZbX1bXKR6yQiGra0OAlSt4rjGki3VoVsBzFkuHYCeSa/fro+45qotWFV5e3
         kBDSUOqu4TUg+CM1ANyKOBsJfHndHwVejXj34=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713178205; x=1713783005;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jQMNBbQUvDny+CND0VAHwcaY84vHHkZUcJ4xu5OgeYY=;
        b=Zrwc2MJBA5BbuDcvgIOw+HUzf1K26xNNT0HofKW5VtRKXoZLblIy10edV50BA++eT/
         N0Zm0+NyJhcu4hIM8hjHVgYnMKrJqxs0zXc/ZQRW/mHgy42nSrWGvTpAze34tln99mLH
         9ZkbJTC+jkUgDMeragJ6M5Vj8nGTCOP40NWRZDg4Lx8T67uR4gvKTxc2FbNPEUVtr/qr
         j3jZuWPwb5CVuowcBe4MZesWVPxyAuUdY+BcmQEEz4ML/BlYKd+vbfBxKklY/mBxuA8P
         h9EgIgpTGECX+NcvFP6dhhSVi4KWQouAMP+bBu8YqACDTkphHsuOu6sNs+KdHgWOQ7T5
         fQcw==
X-Gm-Message-State: AOJu0Yw1jr73RP1T93n5DuXYvDjq2ZiO0UuqaR6KBDNI9ozXPYQXVjSL
	Gk7GvGnXytpKeXdKlENEDE1ImP9MD1hp8gxhXAIf7a7lQyk+TeNiBWjdi1CwpEw=
X-Google-Smtp-Source: AGHT+IEb71ZvDCLOyKFfOkEDVcGgGBoUDxU8PC+zUAcWzPMcUoHh8Lp7CUdj6Ij8Ueyp/Rr3qiwzjw==
X-Received: by 2002:adf:f80d:0:b0:346:bc1b:4e7c with SMTP id s13-20020adff80d000000b00346bc1b4e7cmr7723055wrp.35.1713178204577;
        Mon, 15 Apr 2024 03:50:04 -0700 (PDT)
Message-ID: <69dcd768-74b8-4033-8ab3-77848d6774dc@citrix.com>
Date: Mon, 15 Apr 2024 11:50:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
To: Julien Grall <julien@xen.org>, John Ernberg <john.ernberg@actia.se>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "conduct@xenproject.org" <conduct@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Peng Fan <peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
 <084b9ed5-1585-4802-b504-6ccd2f262542@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: <084b9ed5-1585-4802-b504-6ccd2f262542@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15/04/2024 11:25 am, Julien Grall wrote:
> Hi John,
>
> I saw this patch was committed. I have one question this may require
> some adjustment.
>
> On 08/04/2024 17:11, John Ernberg wrote:
>> ---
>>   xen/arch/arm/platforms/Makefile |   1 +
>>   xen/arch/arm/platforms/imx8qm.c | 139 ++++++++++++++++++++++++++++++++
>>   2 files changed, 140 insertions(+)
>>   create mode 100644 xen/arch/arm/platforms/imx8qm.c
>>
>> diff --git a/xen/arch/arm/platforms/Makefile
>> b/xen/arch/arm/platforms/Makefile
>> index 8632f4115f..bec6e55d1f 100644
>> --- a/xen/arch/arm/platforms/Makefile
>> +++ b/xen/arch/arm/platforms/Makefile
>> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>>   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_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>>   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
>> diff --git a/xen/arch/arm/platforms/imx8qm.c
>> b/xen/arch/arm/platforms/imx8qm.c
>> new file mode 100644
>> index 0000000000..3600a073e8
>> --- /dev/null
>> +++ b/xen/arch/arm/platforms/imx8qm.c
>> @@ -0,0 +1,139 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>
> The majority of Xen code is using GPL-2.0-only. In the early days for
> Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
> Unfortunately this started to spread as people copied/pasted the same
> copyright headers.
>
> So can you confirm whether you intended to use GPL-2.0+? If not would
> you be able to send a patch to adjust it? (Better to it before there
> are more modifications).

Julien: I've called you out multiple times before.

Don't ever bully contributors into changing licensing.  It is
unacceptable behaviour, and in most cases - including this one by the
looks of things - not legal.


John: Thankyou for your contribution.  It has been made under a license
compatible with the rest of Xen.  There is no need to make any change,
and please do not feel pressured into doing so.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:00:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706031.1103041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwK49-0008G2-MI; Mon, 15 Apr 2024 11:00:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706031.1103041; Mon, 15 Apr 2024 11:00:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwK49-0008Fv-IF; Mon, 15 Apr 2024 11:00:01 +0000
Received: by outflank-mailman (input) for mailman id 706031;
 Mon, 15 Apr 2024 11:00: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 1rwK48-00089f-Kc; Mon, 15 Apr 2024 11:00: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 1rwK48-0002Eh-DI; Mon, 15 Apr 2024 11:00: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 1rwK48-0000Eh-6D; Mon, 15 Apr 2024 11:00:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwK48-0006cD-3k; Mon, 15 Apr 2024 11:00:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IKYncGfY1TCWVrvPL5M7DSnhGKf9dxy1N7mfmyQnETs=; b=Y5Zw76z2spM43WEaUOvkH1/Jx9
	cGFcbOPNhIKf2PzgyI16rqjJZwZyAPpWw4z4RRk2ZTa1aNvMDEniuD8Gs7CNGI9I0CfN6FjJoXMQX
	sZjsjFW10QgeCJxu4/GSAjdxTcLniEf4e0BDi42Axmc7autA8TuHdLM8JpDevH+xPaPA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185571-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185571: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-6.1:build-amd64:<job status>:broken:regression
    linux-6.1:build-amd64-pvops:<job status>:broken:regression
    linux-6.1:build-amd64-xsm:<job status>:broken:regression
    linux-6.1:build-arm64:<job status>:broken:regression
    linux-6.1:build-arm64-pvops:<job status>:broken:regression
    linux-6.1:build-arm64-xsm:<job status>:broken:regression
    linux-6.1:build-armhf:<job status>:broken:regression
    linux-6.1:build-armhf-pvops:<job status>:broken:regression
    linux-6.1:build-i386:<job status>:broken:regression
    linux-6.1:build-i386-pvops:<job status>:broken:regression
    linux-6.1:build-i386-xsm:<job status>:broken:regression
    linux-6.1:build-amd64-pvops:host-build-prep:fail:regression
    linux-6.1:build-amd64:host-build-prep:fail:regression
    linux-6.1:build-amd64-xsm:host-build-prep:fail:regression
    linux-6.1:build-i386:host-build-prep:fail:regression
    linux-6.1:build-armhf-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64:host-build-prep:fail:regression
    linux-6.1:build-arm64-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64-pvops:host-build-prep:fail:regression
    linux-6.1:build-armhf:host-build-prep:fail:regression
    linux-6.1:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-6.1:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=cd5d98c0556cd790f78a3ba26afc9d2f896163e4
X-Osstest-Versions-That:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 11:00:00 +0000

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

Regressions :-(

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             5 host-build-prep          fail REGR. vs. 185299
 build-amd64                   5 host-build-prep          fail REGR. vs. 185299
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-i386                    5 host-build-prep          fail REGR. vs. 185299
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185299
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185299
 build-arm64                   5 host-build-prep          fail REGR. vs. 185299
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-armhf                   5 host-build-prep          fail REGR. vs. 185299

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                cd5d98c0556cd790f78a3ba26afc9d2f896163e4
baseline version:
 linux                bf1e3b1cb1e002ed1590c91f1a24433b59322368

Last test of basis   185299  2024-04-10 14:42:59 Z    4 days
Testing same since   185434  2024-04-13 11:42:42 Z    1 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alban Boyé <alban.boye@protonmail.com>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Andrew Lunn <andrew@lunn.ch>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Ye <bo.ye@mediatek.com>
  Boqun Feng <boqun.feng@gmail.com>
  C Cheng <C.Cheng@mediatek.com>
  Chancel Liu <chancel.liu@nxp.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Dai Ngo <dai.ngo@oracle.com>
  Daniel Drake <drake@endlessos.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gwendal Grignou <gwendal@chromium.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Ian Rogers <irogers@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jian-Hong Pan <jhp@endlessos.org>
  Jiawei Fu (iBug) <i@ibugone.com>
  Jiawei Fu <i@ibugone.com>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Ogness <john.ogness@linutronix.de>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Justin Tee <justin.tee@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karel Balej <balejk@matfyz.cz>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Leon Romanovsky <leon@kernel.org>
  linke li <lilinke99@qq.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Manjunath Patil <manjunath.b.patil@oracle.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Markuss Broks <markuss.broks@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael S. Tsirkin <mst@redhat.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Marshall <hubcap@omnibond.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  mosomate <mosomate@gmail.com>
  Mukesh Sisodiya <mukesh.sisodiya@intel.com>
  Máté Mosonyi <mosomate@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Machek (CIP) <pavel@denx.de>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ron Economos <re@w6rz.net>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Dionne-Riel <samuel@dionne-riel.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Tasos Sahanidis <tasos@tasossah.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Ye Bin <yebin10@huawei.com>
  Zhang Yi <yi.zhang@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:03:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:03:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706039.1103051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwK7x-0001UG-9D; Mon, 15 Apr 2024 11:03:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706039.1103051; Mon, 15 Apr 2024 11:03: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 1rwK7x-0001U9-5P; Mon, 15 Apr 2024 11:03:57 +0000
Received: by outflank-mailman (input) for mailman id 706039;
 Mon, 15 Apr 2024 11:03: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 1rwK7v-0001Pv-SX
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 11:03: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 1rwK7p-0002K9-GN; Mon, 15 Apr 2024 11:03:49 +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 1rwK7p-00016W-99; Mon, 15 Apr 2024 11: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=/Xv1oY/yhdEBC2p7+jQKSSwkraF0FXXpOUrBuBpuF8E=; b=GCv5XxvQNYH4MbCuVvO6F4Y+Jw
	MeaCGTL9WXYCdoF4lAKlq9CM7JlOcZqvuMju5W4RsnVk41H7LrWfwasSExxByAEFORVpR6doT3u6m
	wk4XseARub6SHPzILDyb8D8sbzRZcWD3q5cB5/gTCnxZpuyxg9b7vDC7BfORm1yQY/Hg=;
Message-ID: <4b39f4fa-246d-479e-ab76-ff234b641703@xen.org>
Date: Mon, 15 Apr 2024 12:03:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 John Ernberg <john.ernberg@actia.se>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "conduct@xenproject.org" <conduct@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Peng Fan <peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
 <084b9ed5-1585-4802-b504-6ccd2f262542@xen.org>
 <69dcd768-74b8-4033-8ab3-77848d6774dc@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <69dcd768-74b8-4033-8ab3-77848d6774dc@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 15/04/2024 11:50, Andrew Cooper wrote:
> On 15/04/2024 11:25 am, Julien Grall wrote:
>> Hi John,
>>
>> I saw this patch was committed. I have one question this may require
>> some adjustment.
>>
>> On 08/04/2024 17:11, John Ernberg wrote:
>>> ---
>>>    xen/arch/arm/platforms/Makefile |   1 +
>>>    xen/arch/arm/platforms/imx8qm.c | 139 ++++++++++++++++++++++++++++++++
>>>    2 files changed, 140 insertions(+)
>>>    create mode 100644 xen/arch/arm/platforms/imx8qm.c
>>>
>>> diff --git a/xen/arch/arm/platforms/Makefile
>>> b/xen/arch/arm/platforms/Makefile
>>> index 8632f4115f..bec6e55d1f 100644
>>> --- a/xen/arch/arm/platforms/Makefile
>>> +++ b/xen/arch/arm/platforms/Makefile
>>> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>>>    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_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>>>    obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
>>> diff --git a/xen/arch/arm/platforms/imx8qm.c
>>> b/xen/arch/arm/platforms/imx8qm.c
>>> new file mode 100644
>>> index 0000000000..3600a073e8
>>> --- /dev/null
>>> +++ b/xen/arch/arm/platforms/imx8qm.c
>>> @@ -0,0 +1,139 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>
>> The majority of Xen code is using GPL-2.0-only. In the early days for
>> Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
>> Unfortunately this started to spread as people copied/pasted the same
>> copyright headers.
>>
>> So can you confirm whether you intended to use GPL-2.0+? If not would
>> you be able to send a patch to adjust it? (Better to it before there
>> are more modifications).
> 
> Julien: I've called you out multiple times before.

And there are multiple thread explaining why I am requesting if we can 
use GPLv2-only. In fact from CONTRIBUTING:

The recommended license of a directory will depend on the COPYING file.
If the new file is using a different license, this should be highlighted
and discussed in the commit message or cover letter introducing the
file.

> Don't ever bully contributors into changing licensing.  It is
> unacceptable behaviour, and in most cases - including this one by the
> looks of things - not legal.

I don't think I have bullied the contributor. I have asked politely 
whether it can be done. There is nothing illegal (see above).

The problematic behavior is you trying to pressure the other people to 
accept your point of view by been condescending or insulting them like 
you did here.

I have reported this behavior several times to CoC. And I guess this 
need to happen again.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:17:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:17:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706047.1103061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKKc-00053a-BW; Mon, 15 Apr 2024 11:17:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706047.1103061; Mon, 15 Apr 2024 11:17:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKKc-00053T-8j; Mon, 15 Apr 2024 11:17:02 +0000
Received: by outflank-mailman (input) for mailman id 706047;
 Mon, 15 Apr 2024 11:17: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 1rwKKa-00053J-R3; Mon, 15 Apr 2024 11:17: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 1rwKKa-0002Z2-IB; Mon, 15 Apr 2024 11:17: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 1rwKKa-0001Pa-8E; Mon, 15 Apr 2024 11:17:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwKKa-0007yT-7l; Mon, 15 Apr 2024 11:17: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=m3MNPwOo12Ams5iTd1lgKg/vlID/j9ZY4Kfvr3zabW8=; b=jVQGea+rzeA2SgO46MVk4N0h0q
	0D9peg5XjlAtfbskcfC7a8PDqZxyvd0U7ppUET2sHTB63/NJNL3h+y7oe0CQsRSGACb6IqA3o6uYy
	k6t15KaEEagpb6LpZ3XZ6cNp9dHegLcx3+DIPeOVp47tCaLHgDzfaQJ7nPHRyEnb7O9c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185590-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185590: regressions - trouble: blocked/broken/preparing/queued
X-Osstest-Failures:
    xen-4.15-testing:build-amd64:<job status>:broken:regression
    xen-4.15-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.15-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.15-testing:build-armhf:<job status>:broken:regression
    xen-4.15-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386:<job status>:broken:regression
    xen-4.15-testing:build-i386-prev:<job status>:broken:regression
    xen-4.15-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.15-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.15-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.15-testing:build-i386:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.15-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.15-testing:build-armhf:host-build-prep:fail:regression
    xen-4.15-testing:build-arm64-libvirt:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-xl:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-xl-credit1:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-xl-credit2:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-xl-vhd:<none executed>:queued:regression
    xen-4.15-testing:test-arm64-arm64-xl-xsm:<none executed>:queued:regression
    xen-4.15-testing:build-arm64-xsm:hosts-allocate:running:regression
    xen-4.15-testing:build-arm64:hosts-allocate:running:regression
    xen-4.15-testing:build-arm64-pvops:hosts-allocate:running:regression
    xen-4.15-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=4e55b32a8d66388bddb21e327f134f14b1a9b004
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 11:17:00 +0000

flight 185590 xen-4.15-testing running [real]
http://logs.test-lab.xenproject.org/osstest/logs/185590/

Regressions :-(

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-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-amd64-xsm               5 host-build-prep          fail REGR. vs. 185282
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185282
 build-i386                    5 host-build-prep          fail REGR. vs. 185282
 build-amd64                   5 host-build-prep          fail REGR. vs. 185282
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185282
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185282
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185282
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185282
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185282
 build-armhf                   5 host-build-prep          fail REGR. vs. 185282
 build-arm64-libvirt             <none executed>              queued
 test-arm64-arm64-libvirt-raw    <none executed>              queued
 test-arm64-arm64-libvirt-xsm    <none executed>              queued
 test-arm64-arm64-xl             <none executed>              queued
 test-arm64-arm64-xl-credit1     <none executed>              queued
 test-arm64-arm64-xl-credit2     <none executed>              queued
 test-arm64-arm64-xl-thunderx    <none executed>              queued
 test-arm64-arm64-xl-vhd         <none executed>              queued
 test-arm64-arm64-xl-xsm         <none executed>              queued
 build-arm64-xsm               2 hosts-allocate               running
 build-arm64                   2 hosts-allocate               running
 build-arm64-pvops             2 hosts-allocate               running

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  4e55b32a8d66388bddb21e327f134f14b1a9b004
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    5 days
Testing same since   185296  2024-04-10 06:02:43 Z    5 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              preparing
 build-i386-xsm                                               broken  
 build-amd64-xtf                                              broken  
 build-amd64                                                  broken  
 build-arm64                                                  preparing
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          queued  
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-prev                                             broken  
 build-i386-prev                                              broken  
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            preparing
 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                                          queued  
 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                                 queued  
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      queued  
 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-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  queued  
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  queued  
 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-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                                 queued  
 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                                 queued  
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 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 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-libvirt queued
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-job test-arm64-arm64-libvirt-raw queued
broken-job test-arm64-arm64-libvirt-xsm queued
broken-job test-arm64-arm64-xl queued
broken-job test-arm64-arm64-xl-credit1 queued
broken-job test-arm64-arm64-xl-credit2 queued
broken-job test-arm64-arm64-xl-thunderx queued
broken-job test-arm64-arm64-xl-vhd queued
broken-job test-arm64-arm64-xl-xsm queued

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:17:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706051.1103071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKL6-0005a3-PR; Mon, 15 Apr 2024 11:17:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706051.1103071; Mon, 15 Apr 2024 11:17:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKL6-0005Zw-L6; Mon, 15 Apr 2024 11:17:32 +0000
Received: by outflank-mailman (input) for mailman id 706051;
 Mon, 15 Apr 2024 11:17:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4O8H=LU=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1rwKL5-0005Ya-P5
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 11:17:31 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf11e384-fb19-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 13:17:29 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S036ANL.actianordic.se
 (10.12.31.117) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Mon, 15 Apr
 2024 13:17:28 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Mon, 15 Apr 2024 13:17:28 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf11e384-fb19-11ee-94a3-07e782e9044d
From: John Ernberg <john.ernberg@actia.se>
To: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, "conduct@xenproject.org"
	<conduct@xenproject.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Peng
 Fan" <peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Topic: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Index: AQHaic9tXQJwwldfJUm8+1aRDWuvfLFpCWMAgAAGzoCAAAPWgIAAA9GA
Date: Mon, 15 Apr 2024 11:17:28 +0000
Message-ID: <e3785d8a-9b16-4b74-9453-b0166bdbb171@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
 <084b9ed5-1585-4802-b504-6ccd2f262542@xen.org>
 <69dcd768-74b8-4033-8ab3-77848d6774dc@citrix.com>
 <4b39f4fa-246d-479e-ab76-ff234b641703@xen.org>
In-Reply-To: <4b39f4fa-246d-479e-ab76-ff234b641703@xen.org>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A29059A2F57647260
Content-Type: text/plain; charset="utf-8"
Content-ID: <E6F2F1EA0A821243B20C1F8C4D10FFB6@actia.se>
Content-Transfer-Encoding: base64
MIME-Version: 1.0

SGkgSnVsaWVuLA0KDQpPbiA0LzE1LzI0IDE6MDMgUE0sIEp1bGllbiBHcmFsbCB3cm90ZToNCj4g
DQo+IA0KPiBPbiAxNS8wNC8yMDI0IDExOjUwLCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4gT24g
MTUvMDQvMjAyNCAxMToyNSBhbSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEpvaG4sDQo+
Pj4NCj4+PiBJIHNhdyB0aGlzIHBhdGNoIHdhcyBjb21taXR0ZWQuIEkgaGF2ZSBvbmUgcXVlc3Rp
b24gdGhpcyBtYXkgcmVxdWlyZQ0KPj4+IHNvbWUgYWRqdXN0bWVudC4NCj4+Pg0KPj4+IE9uIDA4
LzA0LzIwMjQgMTc6MTEsIEpvaG4gRXJuYmVyZyB3cm90ZToNCj4+Pj4gLS0tDQo+Pj4+IMKgwqAg
eGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9NYWtlZmlsZSB8wqDCoCAxICsNCj4+Pj4gwqDCoCB4ZW4v
YXJjaC9hcm0vcGxhdGZvcm1zL2lteDhxbS5jIHwgMTM5IA0KPj4+PiArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKw0KPj4+PiDCoMKgIDIgZmlsZXMgY2hhbmdlZCwgMTQwIGluc2VydGlv
bnMoKykNCj4+Pj4gwqDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3BsYXRmb3Jt
cy9pbXg4cW0uYw0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3BsYXRmb3Jt
cy9NYWtlZmlsZQ0KPj4+PiBiL3hlbi9hcmNoL2FybS9wbGF0Zm9ybXMvTWFrZWZpbGUNCj4+Pj4g
aW5kZXggODYzMmY0MTE1Zi4uYmVjNmU1NWQxZiAxMDA2NDQNCj4+Pj4gLS0tIGEveGVuL2FyY2gv
YXJtL3BsYXRmb3Jtcy9NYWtlZmlsZQ0KPj4+PiArKysgYi94ZW4vYXJjaC9hcm0vcGxhdGZvcm1z
L01ha2VmaWxlDQo+Pj4+IEBAIC05LDUgKzksNiBAQCBvYmotJChDT05GSUdfQUxMX1BMQVQpwqDC
oCArPSBzdW54aS5vDQo+Pj4+IMKgwqAgb2JqLSQoQ09ORklHX0FMTDY0X1BMQVQpICs9IHRodW5k
ZXJ4Lm8NCj4+Pj4gwqDCoCBvYmotJChDT05GSUdfQUxMNjRfUExBVCkgKz0geGdlbmUtc3Rvcm0u
bw0KPj4+PiDCoMKgIG9iai0kKENPTkZJR19BTEw2NF9QTEFUKSArPSBicmNtLXJhc3BiZXJyeS1w
aS5vDQo+Pj4+ICtvYmotJChDT05GSUdfQUxMNjRfUExBVCkgKz0gaW14OHFtLm8NCj4+Pj4gwqDC
oCBvYmotJChDT05GSUdfTVBTT0NfUExBVEZPUk0pwqAgKz0geGlsaW54LXp5bnFtcC5vDQo+Pj4+
IMKgwqAgb2JqLSQoQ09ORklHX01QU09DX1BMQVRGT1JNKcKgICs9IHhpbGlueC16eW5xbXAtZWVt
aS5vDQo+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcGxhdGZvcm1zL2lteDhxbS5jDQo+
Pj4+IGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9pbXg4cW0uYw0KPj4+PiBuZXcgZmlsZSBtb2Rl
IDEwMDY0NA0KPj4+PiBpbmRleCAwMDAwMDAwMDAwLi4zNjAwYTA3M2U4DQo+Pj4+IC0tLSAvZGV2
L251bGwNCj4+Pj4gKysrIGIveGVuL2FyY2gvYXJtL3BsYXRmb3Jtcy9pbXg4cW0uYw0KPj4+PiBA
QCAtMCwwICsxLDEzOSBAQA0KPj4+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y
LjAtb3ItbGF0ZXIgKi8NCj4+Pg0KPj4+IFRoZSBtYWpvcml0eSBvZiBYZW4gY29kZSBpcyB1c2lu
ZyBHUEwtMi4wLW9ubHkuIEluIHRoZSBlYXJseSBkYXlzIGZvcg0KPj4+IFhlbiBvbiBBcm0gd2Ug
c3RhcnRlZCB0byB1c2UgR1BMdjIrIHdoaWNoIEkgY29uc2lkZXIgaXQgd2FzIGEgbWlzdGFrZS4N
Cj4+PiBVbmZvcnR1bmF0ZWx5IHRoaXMgc3RhcnRlZCB0byBzcHJlYWQgYXMgcGVvcGxlIGNvcGll
ZC9wYXN0ZWQgdGhlIHNhbWUNCj4+PiBjb3B5cmlnaHQgaGVhZGVycy4NCj4+Pg0KPj4+IFNvIGNh
biB5b3UgY29uZmlybSB3aGV0aGVyIHlvdSBpbnRlbmRlZCB0byB1c2UgR1BMLTIuMCs/IElmIG5v
dCB3b3VsZA0KPj4+IHlvdSBiZSBhYmxlIHRvIHNlbmQgYSBwYXRjaCB0byBhZGp1c3QgaXQ/IChC
ZXR0ZXIgdG8gaXQgYmVmb3JlIHRoZXJlDQo+Pj4gYXJlIG1vcmUgbW9kaWZpY2F0aW9ucykuDQo+
Pg0KPj4gSnVsaWVuOiBJJ3ZlIGNhbGxlZCB5b3Ugb3V0IG11bHRpcGxlIHRpbWVzIGJlZm9yZS4N
Cj4gDQo+IEFuZCB0aGVyZSBhcmUgbXVsdGlwbGUgdGhyZWFkIGV4cGxhaW5pbmcgd2h5IEkgYW0g
cmVxdWVzdGluZyBpZiB3ZSBjYW4gDQo+IHVzZSBHUEx2Mi1vbmx5LiBJbiBmYWN0IGZyb20gQ09O
VFJJQlVUSU5HOg0KPiANCj4gVGhlIHJlY29tbWVuZGVkIGxpY2Vuc2Ugb2YgYSBkaXJlY3Rvcnkg
d2lsbCBkZXBlbmQgb24gdGhlIENPUFlJTkcgZmlsZS4NCj4gSWYgdGhlIG5ldyBmaWxlIGlzIHVz
aW5nIGEgZGlmZmVyZW50IGxpY2Vuc2UsIHRoaXMgc2hvdWxkIGJlIGhpZ2hsaWdodGVkDQo+IGFu
ZCBkaXNjdXNzZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlIG9yIGNvdmVyIGxldHRlciBpbnRyb2R1
Y2luZyB0aGUNCj4gZmlsZS4NCj4gDQoNClNpbmNlIHBhcnQgb2YgdGhlIGNvZGUgd2FzIG5vdCB3
cml0dGVuIGJ5IG1lLCBidXQgYnkgUGVuZywgSSB0aGluayBib3RoIA0Kb2YgdXMgbmVlZCB0byBh
Z3JlZSB0byBhIGxpY2Vuc2UgY2hhbmdlIGlmIG9uZSBpcyB0byBiZSBtYWRlLg0KDQpJIGFtIHBl
cnNvbmFsbHkgZmluZSB3aXRoIGVpdGhlciBsaWNlbnNlLg0KDQo+PiBEb24ndCBldmVyIGJ1bGx5
IGNvbnRyaWJ1dG9ycyBpbnRvIGNoYW5naW5nIGxpY2Vuc2luZy7CoCBJdCBpcw0KPj4gdW5hY2Nl
cHRhYmxlIGJlaGF2aW91ciwgYW5kIGluIG1vc3QgY2FzZXMgLSBpbmNsdWRpbmcgdGhpcyBvbmUg
YnkgdGhlDQo+PiBsb29rcyBvZiB0aGluZ3MgLSBub3QgbGVnYWwuDQo+IA0KPiBJIGRvbid0IHRo
aW5rIEkgaGF2ZSBidWxsaWVkIHRoZSBjb250cmlidXRvci4gSSBoYXZlIGFza2VkIHBvbGl0ZWx5
IA0KPiB3aGV0aGVyIGl0IGNhbiBiZSBkb25lLiBUaGVyZSBpcyBub3RoaW5nIGlsbGVnYWwgKHNl
ZSBhYm92ZSkuDQoNCkp1c3QgYWRkaW5nOiBJIGRpZCBub3QgZmVlbCBidWxsaWVkIGhlcmUuDQoN
Cj4gDQo+IFRoZSBwcm9ibGVtYXRpYyBiZWhhdmlvciBpcyB5b3UgdHJ5aW5nIHRvIHByZXNzdXJl
IHRoZSBvdGhlciBwZW9wbGUgdG8gDQo+IGFjY2VwdCB5b3VyIHBvaW50IG9mIHZpZXcgYnkgYmVl
biBjb25kZXNjZW5kaW5nIG9yIGluc3VsdGluZyB0aGVtIGxpa2UgDQo+IHlvdSBkaWQgaGVyZS4N
Cj4gDQo+IEkgaGF2ZSByZXBvcnRlZCB0aGlzIGJlaGF2aW9yIHNldmVyYWwgdGltZXMgdG8gQ29D
LiBBbmQgSSBndWVzcyB0aGlzIA0KPiBuZWVkIHRvIGhhcHBlbiBhZ2Fpbi4NCj4gDQo+IENoZWVy
cywNCj4gDQoNCkJlc3QgcmVnYXJkcyAvLyBKb2huIEVybmJlcmc=


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:19:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:19:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706056.1103081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKNF-0006BG-4w; Mon, 15 Apr 2024 11:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706056.1103081; Mon, 15 Apr 2024 11:19:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKNF-0006B9-1h; Mon, 15 Apr 2024 11:19:45 +0000
Received: by outflank-mailman (input) for mailman id 706056;
 Mon, 15 Apr 2024 11: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=YQAh=LU=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1rwKND-0006B3-Cg
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 11:19:43 +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 0e4aa333-fb1a-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 13:19:42 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-518a56cdbceso2046782e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 04: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: 0e4aa333-fb1a-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713179982; x=1713784782; 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=t9x7UxFYQJD0O0rY79qm3eAKOY6SZQ1MjRrWksfOPLM=;
        b=g6cpF12njAQbiICrbei9002t1Vn8FnULHt0u+yTkgoFs/mOwYu9tLyJGBug46KGHBw
         2CzVFhE+nMUyKe9dPl6yaL0w08jTwogrReiYJFlXFkqjh10l1AHgUV6YK4n+q8DixUoD
         lcM+qy7zwg7deAipOkFCLzqFKMLb4VAZwOhPA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713179982; x=1713784782;
        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=t9x7UxFYQJD0O0rY79qm3eAKOY6SZQ1MjRrWksfOPLM=;
        b=K1Kz1grGNFtSVgXsm83jviU5u0/u/JkfNqWxtFuOmdmd+FX+WBREPPmpBvYkoT7BZ6
         Zck0wETZFzmz0+2KlbJU2XY2aEnv2dzrO32LT6nsAaC67Bl5gpt3tk2W8zrYFjt0+yqC
         +FyTDcPiHKkhz30lBaBpMXqiPbFJeO1PYAULaYOF3QKvmXyfEuCfgrtzpAG7cra5ZNq7
         8Wab6zfEa7yxkVUUeH2mSG1/EQwuO9J9kK6hKcgXYzvcY7HxQVcFq3fy9yPcrv0P0/NL
         /rN2HoMEwWzKeRInbuM2vVn7x/ZoyqAQl+3lkM7QVkDJIiMDGEI+ZTVpcj8bZ6tKPcjN
         tO4w==
X-Forwarded-Encrypted: i=1; AJvYcCWqJ6QR6Gb3M26uQnwK3UAONqCfvjkHOnqjC5kYWcqSHiiXKxSalbkxLmdK0fTaZKxXvNAHB753RSDyF3+I1AO0zPtumAE1Ju2Kegz/YbE=
X-Gm-Message-State: AOJu0YymRdDhUeJVX9jHNI8HhuIZP8ebpe3zMoptaTHAMHAAAWuSCFav
	ljFybBXfiWsN5g7+LIkyGN3tkbO0b/DC0MOhYH0jjEcGIL9fTs2RtO6DAz6XqK7tCS4aCzc02bp
	T9rXkQcsv6ujLsI3J3Fjmiyw7bguV0TAs5IEDZA==
X-Google-Smtp-Source: AGHT+IFcNxR3QX4yhYah6UwRp7V8eBL8iuuilubgIH1FHHM7io2AoUYACc2SnteXjz1cNPsSmILW4cEhcDObdqET5f8=
X-Received: by 2002:a05:6512:241:b0:516:cd6f:cc53 with SMTP id
 b1-20020a056512024100b00516cd6fcc53mr5540451lfo.39.1713179981747; Mon, 15 Apr
 2024 04:19:41 -0700 (PDT)
MIME-Version: 1.0
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se> <084b9ed5-1585-4802-b504-6ccd2f262542@xen.org>
 <69dcd768-74b8-4033-8ab3-77848d6774dc@citrix.com> <4b39f4fa-246d-479e-ab76-ff234b641703@xen.org>
In-Reply-To: <4b39f4fa-246d-479e-ab76-ff234b641703@xen.org>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 15 Apr 2024 12:19:05 +0100
Message-ID: <CAO-mL=wLm4J_rMa914BUxY0AL+3yZLP72NkfkA8zergQM5W=Hg@mail.gmail.com>
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, John Ernberg <john.ernberg@actia.se>, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	"conduct@xenproject.org" <conduct@xenproject.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Peng Fan <peng.fan@nxp.com>, 
	Jonas Blixt <jonas.blixt@actia.se>
Content-Type: multipart/alternative; boundary="0000000000003fbb22061620cca3"

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

Hi everyone,

We all have a responsibility and pledge to make this community a welcoming
environment.
As such, I would like to request we keep the Code of Conduct and patch
discussions separate.
Should there be a need for any Code of Conduct complaints/investigations,
this will be treated separately.

Thank you John for your contributions.

Many thanks,
Kelly Choi

Community Manager
Xen Project


On Mon, Apr 15, 2024 at 12:03=E2=80=AFPM Julien Grall <julien@xen.org> wrot=
e:

>
>
> On 15/04/2024 11:50, Andrew Cooper wrote:
> > On 15/04/2024 11:25 am, Julien Grall wrote:
> >> Hi John,
> >>
> >> I saw this patch was committed. I have one question this may require
> >> some adjustment.
> >>
> >> On 08/04/2024 17:11, John Ernberg wrote:
> >>> ---
> >>>    xen/arch/arm/platforms/Makefile |   1 +
> >>>    xen/arch/arm/platforms/imx8qm.c | 139
> ++++++++++++++++++++++++++++++++
> >>>    2 files changed, 140 insertions(+)
> >>>    create mode 100644 xen/arch/arm/platforms/imx8qm.c
> >>>
> >>> diff --git a/xen/arch/arm/platforms/Makefile
> >>> b/xen/arch/arm/platforms/Makefile
> >>> index 8632f4115f..bec6e55d1f 100644
> >>> --- a/xen/arch/arm/platforms/Makefile
> >>> +++ b/xen/arch/arm/platforms/Makefile
> >>> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   +=3D sunxi.o
> >>>    obj-$(CONFIG_ALL64_PLAT) +=3D thunderx.o
> >>>    obj-$(CONFIG_ALL64_PLAT) +=3D xgene-storm.o
> >>>    obj-$(CONFIG_ALL64_PLAT) +=3D brcm-raspberry-pi.o
> >>> +obj-$(CONFIG_ALL64_PLAT) +=3D imx8qm.o
> >>>    obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp.o
> >>>    obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp-eemi.o
> >>> diff --git a/xen/arch/arm/platforms/imx8qm.c
> >>> b/xen/arch/arm/platforms/imx8qm.c
> >>> new file mode 100644
> >>> index 0000000000..3600a073e8
> >>> --- /dev/null
> >>> +++ b/xen/arch/arm/platforms/imx8qm.c
> >>> @@ -0,0 +1,139 @@
> >>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> >>
> >> The majority of Xen code is using GPL-2.0-only. In the early days for
> >> Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
> >> Unfortunately this started to spread as people copied/pasted the same
> >> copyright headers.
> >>
> >> So can you confirm whether you intended to use GPL-2.0+? If not would
> >> you be able to send a patch to adjust it? (Better to it before there
> >> are more modifications).
> >
> > Julien: I've called you out multiple times before.
>
> And there are multiple thread explaining why I am requesting if we can
> use GPLv2-only. In fact from CONTRIBUTING:
>
> The recommended license of a directory will depend on the COPYING file.
> If the new file is using a different license, this should be highlighted
> and discussed in the commit message or cover letter introducing the
> file.
>
> > Don't ever bully contributors into changing licensing.  It is
> > unacceptable behaviour, and in most cases - including this one by the
> > looks of things - not legal.
>
> I don't think I have bullied the contributor. I have asked politely
> whether it can be done. There is nothing illegal (see above).
>
> The problematic behavior is you trying to pressure the other people to
> accept your point of view by been condescending or insulting them like
> you did here.
>
> I have reported this behavior several times to CoC. And I guess this
> need to happen again.
>
> Cheers,
>
> --
> Julien Grall
>

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

<div dir=3D"ltr">Hi everyone,<div><br></div><div>We all have a responsibili=
ty and pledge to make this community a welcoming environment.</div><div>As =
such, I would like to request we keep the Code of Conduct and patch discuss=
ions separate.=C2=A0</div><div>Should there be a need for any Code of Condu=
ct complaints/investigations, this will be treated separately.=C2=A0=C2=A0<=
/div><div><br></div><div>Thank you John for your contributions.=C2=A0</div>=
<div><br clear=3D"all"><div><div dir=3D"ltr" class=3D"gmail_signature" data=
-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div=
>Kelly Choi</div><div><br></div><div><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></div><br><div class=3D"gmai=
l_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Apr 15, 2024 at 12:0=
3=E2=80=AFPM Julien Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.=
org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1e=
x"><br>
<br>
On 15/04/2024 11:50, Andrew Cooper wrote:<br>
&gt; On 15/04/2024 11:25 am, Julien Grall wrote:<br>
&gt;&gt; Hi John,<br>
&gt;&gt;<br>
&gt;&gt; I saw this patch was committed. I have one question this may requi=
re<br>
&gt;&gt; some adjustment.<br>
&gt;&gt;<br>
&gt;&gt; On 08/04/2024 17:11, John Ernberg wrote:<br>
&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 xen/arch/arm/platforms/Makefile |=C2=A0=C2=A0 1 +=
<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 xen/arch/arm/platforms/imx8qm.c | 139 +++++++++++=
+++++++++++++++++++++<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 2 files changed, 140 insertions(+)<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 create mode 100644 xen/arch/arm/platforms/imx8qm.=
c<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; diff --git a/xen/arch/arm/platforms/Makefile<br>
&gt;&gt;&gt; b/xen/arch/arm/platforms/Makefile<br>
&gt;&gt;&gt; index 8632f4115f..bec6e55d1f 100644<br>
&gt;&gt;&gt; --- a/xen/arch/arm/platforms/Makefile<br>
&gt;&gt;&gt; +++ b/xen/arch/arm/platforms/Makefile<br>
&gt;&gt;&gt; @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)=C2=A0=C2=A0 +=3D sunxi.=
o<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 obj-$(CONFIG_ALL64_PLAT) +=3D thunderx.o<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 obj-$(CONFIG_ALL64_PLAT) +=3D xgene-storm.o<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 obj-$(CONFIG_ALL64_PLAT) +=3D brcm-raspberry-pi.o=
<br>
&gt;&gt;&gt; +obj-$(CONFIG_ALL64_PLAT) +=3D imx8qm.o<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 obj-$(CONFIG_MPSOC_PLATFORM)=C2=A0 +=3D xilinx-zy=
nqmp.o<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 obj-$(CONFIG_MPSOC_PLATFORM)=C2=A0 +=3D xilinx-zy=
nqmp-eemi.o<br>
&gt;&gt;&gt; diff --git a/xen/arch/arm/platforms/imx8qm.c<br>
&gt;&gt;&gt; b/xen/arch/arm/platforms/imx8qm.c<br>
&gt;&gt;&gt; new file mode 100644<br>
&gt;&gt;&gt; index 0000000000..3600a073e8<br>
&gt;&gt;&gt; --- /dev/null<br>
&gt;&gt;&gt; +++ b/xen/arch/arm/platforms/imx8qm.c<br>
&gt;&gt;&gt; @@ -0,0 +1,139 @@<br>
&gt;&gt;&gt; +/* SPDX-License-Identifier: GPL-2.0-or-later */<br>
&gt;&gt;<br>
&gt;&gt; The majority of Xen code is using GPL-2.0-only. In the early days =
for<br>
&gt;&gt; Xen on Arm we started to use GPLv2+ which I consider it was a mist=
ake.<br>
&gt;&gt; Unfortunately this started to spread as people copied/pasted the s=
ame<br>
&gt;&gt; copyright headers.<br>
&gt;&gt;<br>
&gt;&gt; So can you confirm whether you intended to use GPL-2.0+? If not wo=
uld<br>
&gt;&gt; you be able to send a patch to adjust it? (Better to it before the=
re<br>
&gt;&gt; are more modifications).<br>
&gt; <br>
&gt; Julien: I&#39;ve called you out multiple times before.<br>
<br>
And there are multiple thread explaining why I am requesting if we can <br>
use GPLv2-only. In fact from CONTRIBUTING:<br>
<br>
The recommended license of a directory will depend on the COPYING file.<br>
If the new file is using a different license, this should be highlighted<br=
>
and discussed in the commit message or cover letter introducing the<br>
file.<br>
<br>
&gt; Don&#39;t ever bully contributors into changing licensing.=C2=A0 It is=
<br>
&gt; unacceptable behaviour, and in most cases - including this one by the<=
br>
&gt; looks of things - not legal.<br>
<br>
I don&#39;t think I have bullied the contributor. I have asked politely <br=
>
whether it can be done. There is nothing illegal (see above).<br>
<br>
The problematic behavior is you trying to pressure the other people to <br>
accept your point of view by been condescending or insulting them like <br>
you did here.<br>
<br>
I have reported this behavior several times to CoC. And I guess this <br>
need to happen again.<br>
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<br>
</blockquote></div>

--0000000000003fbb22061620cca3--


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:24:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:24:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706065.1103091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKSB-0000SM-NB; Mon, 15 Apr 2024 11:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706065.1103091; Mon, 15 Apr 2024 11:24:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKSB-0000SF-Ke; Mon, 15 Apr 2024 11:24:51 +0000
Received: by outflank-mailman (input) for mailman id 706065;
 Mon, 15 Apr 2024 11:24: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 1rwKSA-0000S4-9Z; Mon, 15 Apr 2024 11:24: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 1rwKS9-0002iz-Vf; Mon, 15 Apr 2024 11:24: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 1rwKS9-0001md-JN; Mon, 15 Apr 2024 11:24:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwKS9-000447-In; Mon, 15 Apr 2024 11:24:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dRuMA1fsL/j8Bje2ldWXDFkaQDdh/mhtru5QdvvrxNA=; b=Tv0QWiyVLu+t/qdk4UEkT48m9K
	e2lHQUhYb9jQxc6vaohb3vsK1gNEelQ2dcXRAw4XtyXgcVCBpLduv5OF8Cubajz9cpLiAEvH8KDZp
	pDgwAFVYkBonzy3lQGgcWbTvx2ZSrsF3fKf5KLhrSUuuyxQRgnt4G0CX5zxiM3uv59xM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185585-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185585: regressions - trouble: blocked/broken/preparing/queued
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-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-amd64-prev:host-build-prep:fail:regression
    xen-unstable:build-i386-prev:host-build-prep:fail:regression
    xen-unstable:build-amd64:host-build-prep:fail:regression
    xen-unstable:build-armhf-pvops:host-build-prep:fail:regression
    xen-unstable:build-amd64-xtf:host-build-prep:fail:regression
    xen-unstable:build-amd64-xsm:host-build-prep:fail:regression
    xen-unstable:build-i386-xsm:host-build-prep:fail:regression
    xen-unstable:build-amd64-pvops:host-build-prep:fail:regression
    xen-unstable:build-i386:host-build-prep:fail:regression
    xen-unstable:build-i386-pvops:host-build-prep:fail:regression
    xen-unstable:build-armhf:host-build-prep:fail:regression
    xen-unstable:build-arm64-libvirt:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-examine:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-libvirt-raw:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-libvirt-xsm:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-xl:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-xl-credit1:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-xl-credit2:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-xl-thunderx:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-xl-vhd:<none executed>:queued:regression
    xen-unstable:test-arm64-arm64-xl-xsm:<none executed>:queued:regression
    xen-unstable:build-arm64:hosts-allocate:running:regression
    xen-unstable:build-arm64-pvops:hosts-allocate:running:regression
    xen-unstable:build-arm64-xsm:hosts-allocate:running: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: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-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=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 11:24:49 +0000

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

Regressions :-(

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-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-amd64-prev              5 host-build-prep          fail REGR. vs. 185281
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185281
 build-amd64                   5 host-build-prep          fail REGR. vs. 185281
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185281
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-i386                    5 host-build-prep          fail REGR. vs. 185281
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185281
 build-armhf                   5 host-build-prep          fail REGR. vs. 185281
 build-arm64-libvirt             <none executed>              queued
 test-arm64-arm64-examine        <none executed>              queued
 test-arm64-arm64-libvirt-raw    <none executed>              queued
 test-arm64-arm64-libvirt-xsm    <none executed>              queued
 test-arm64-arm64-xl             <none executed>              queued
 test-arm64-arm64-xl-credit1     <none executed>              queued
 test-arm64-arm64-xl-credit2     <none executed>              queued
 test-arm64-arm64-xl-thunderx    <none executed>              queued
 test-arm64-arm64-xl-vhd         <none executed>              queued
 test-arm64-arm64-xl-xsm         <none executed>              queued
 build-arm64                   2 hosts-allocate               running
 build-arm64-pvops             2 hosts-allocate               running
 build-arm64-xsm               2 hosts-allocate               running

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
 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-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                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    6 days
Failing since        185294  2024-04-10 04:20:17 Z    5 days    7 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              preparing
 build-i386-xsm                                               broken  
 build-amd64-xtf                                              broken  
 build-amd64                                                  broken  
 build-arm64                                                  preparing
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          queued  
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-prev                                             broken  
 build-i386-prev                                              broken  
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            preparing
 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                                          queued  
 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                                 queued  
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      queued  
 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                                  queued  
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  queued  
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     queued  
 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                                 queued  
 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                                 queued  
 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                                      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 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-libvirt queued
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-job test-arm64-arm64-examine queued
broken-job test-arm64-arm64-libvirt-raw queued
broken-job test-arm64-arm64-libvirt-xsm queued
broken-job test-arm64-arm64-xl queued
broken-job test-arm64-arm64-xl-credit1 queued
broken-job test-arm64-arm64-xl-credit2 queued
broken-job test-arm64-arm64-xl-thunderx queued
broken-job test-arm64-arm64-xl-vhd queued
broken-job test-arm64-arm64-xl-xsm queued

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:28:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706072.1103101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKVs-000164-CN; Mon, 15 Apr 2024 11:28:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706072.1103101; Mon, 15 Apr 2024 11:28: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 1rwKVs-00015x-8f; Mon, 15 Apr 2024 11:28:40 +0000
Received: by outflank-mailman (input) for mailman id 706072;
 Mon, 15 Apr 2024 11:28: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 1rwKVq-00015n-I5; Mon, 15 Apr 2024 11:28: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 1rwKVq-0002m8-GS; Mon, 15 Apr 2024 11:28: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 1rwKVq-00022L-5k; Mon, 15 Apr 2024 11:28:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwKVq-0007Ir-5C; Mon, 15 Apr 2024 11:28:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yenmdHA8tB8P2ukIxVCD/DRjiO4oZWkuS91GHKhlNuE=; b=0EjMMi2bNsClFS9xvem8neiuHJ
	9RKHXzwlepi2y4i/deNqI2ACh7GyuZVKWLH+FAGyKmmOyfFF8kTIZPmbop+15IbxGGLXjxVNjnPuC
	pAEXlV7uTdZjAtAYnobM63lkhDaA9F6pJvZn1kXNsg6BRBjJwUUu4ab1bcEx1T2fWny4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185582-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185582: regressions - trouble: blocked/broken/preparing/queued
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-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-amd64-xsm:host-build-prep:fail:regression
    linux-linus:build-i386:host-build-prep:fail:regression
    linux-linus:build-amd64:host-build-prep:fail:regression
    linux-linus:build-armhf-pvops:host-build-prep:fail:regression
    linux-linus:build-amd64-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-pvops:host-build-prep:fail:regression
    linux-linus:build-i386-xsm:host-build-prep:fail:regression
    linux-linus:build-armhf:host-build-prep:fail:regression
    linux-linus:build-arm64-libvirt:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-examine:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-libvirt-raw:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-xl:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-xl-credit1:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-xl-credit2:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-xl-thunderx:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-xl-vhd:<none executed>:queued:regression
    linux-linus:test-arm64-arm64-xl-xsm:<none executed>:queued:regression
    linux-linus:build-arm64-pvops:hosts-allocate:running:regression
    linux-linus:build-arm64-xsm:hosts-allocate:running:regression
    linux-linus:build-arm64:hosts-allocate:running: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: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-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=0bbac3facb5d6cc0171c45c9873a2dc96bea9680
X-Osstest-Versions-That:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 11:28:38 +0000

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

Regressions :-(

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-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               5 host-build-prep          fail REGR. vs. 185347
 build-i386                    5 host-build-prep          fail REGR. vs. 185347
 build-amd64                   5 host-build-prep          fail REGR. vs. 185347
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185347
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185347
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185347
 build-armhf                   5 host-build-prep          fail REGR. vs. 185347
 build-arm64-libvirt             <none executed>              queued
 test-arm64-arm64-examine        <none executed>              queued
 test-arm64-arm64-libvirt-raw    <none executed>              queued
 test-arm64-arm64-libvirt-xsm    <none executed>              queued
 test-arm64-arm64-xl             <none executed>              queued
 test-arm64-arm64-xl-credit1     <none executed>              queued
 test-arm64-arm64-xl-credit2     <none executed>              queued
 test-arm64-arm64-xl-thunderx    <none executed>              queued
 test-arm64-arm64-xl-vhd         <none executed>              queued
 test-arm64-arm64-xl-xsm         <none executed>              queued
 build-arm64-pvops             2 hosts-allocate               running
 build-arm64-xsm               2 hosts-allocate               running
 build-arm64                   2 hosts-allocate               running

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
 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-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                0bbac3facb5d6cc0171c45c9873a2dc96bea9680
baseline version:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a

Last test of basis   185347  2024-04-12 05:19:23 Z    3 days
Failing since        185442  2024-04-13 14:48:28 Z    1 days    5 attempts
Testing same since   185560  2024-04-15 01:52:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Adam Dunlap <acdunlap@google.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Amir Goldstein <amir73il@gmail.com>
  Animesh Manna <animesh.manna@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bharath SM <bharathsm@microsoft.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Christoph Hellwig <hch@lst.de>
  Coly Li <colyli@suse.de>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Damien Le Moal <dlemoal@kernel.org>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dexuan Cui <decui@microsoft.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Fabio Estevam <festevam@denx.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Haiyue Wang <haiyue.wang@intel.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harry Wentland <harry.wentland@amd.com>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Igor Pylypiv <ipylypiv@google.com>
  Ilya Dryomov <idryomov@gmail.com>
  Ingo Molnar <mingo@kernel.org>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  John Stultz <jstultz@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Jouni Högander <jouni.hogander@intel.com>
  Justin Stitt <justinstitt@google.com>
  Karthik Poosa <karthik.poosa@intel.com>
  Kees Cook <keescook@chromium.org>
  Kenneth Feng <kenneth.feng@amd.com>
  Kevin Loughlin <kevinloughlin@google.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Lang Yu <Lang.Yu@amd.com>
  Laura Nao <laura.nao@collabora.com>
  Li Ma <li.ma@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  lima1002 <li.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Ruhmann <ruhmann@luis.uni-hannover.de>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Michael Kelley <mhklinux@outlook.com>
  Michael S. Tsirkin <mst@redhat.com>
  Miguel Ojeda <ojeda@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Namhyung Kim <namhyung@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  NeilBrown <neilb@suse.de>
  Nianyao Tang <tangnianyao@huawei.com>
  Oleg Nesterov <oleg@redhat.com>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Petr Tesarik <petr.tesarik1@huawei-partners.com>
  Pierre Gondois <pierre.gondois@arm.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Li <roman.li@amd.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  shaoyunl <shaoyun.liu@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Song Liu <song@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tim Harvey <tharvey@gateworks.com>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vasant Hegde <vasant.hegde@amd.com>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Wachowski, Karol <karol.wachowski@intel.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Xianting Tian <xianting.tian@linux.alibaba.com>
  Xiubo Li <xiubli@redhat.com>
  Xuchun Shang <xuchun.shang@linux.alibaba.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Ye Li <ye.li@broadcom.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  Yu Kuai <yukuai3@huawei.com>
  Zack Rusin <zack.rusin@broadcom.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zhongwei <zhongwei.zhang@amd.com>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              preparing
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  preparing
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          queued  
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            preparing
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          queued  
 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                                 queued  
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      queued  
 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                                  queued  
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  queued  
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     queued  
 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                                 queued  
 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                                 queued  
 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                                      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 build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64-libvirt queued
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-job test-arm64-arm64-examine queued
broken-job test-arm64-arm64-libvirt-raw queued
broken-job test-arm64-arm64-libvirt-xsm queued
broken-job test-arm64-arm64-xl queued
broken-job test-arm64-arm64-xl-credit1 queued
broken-job test-arm64-arm64-xl-credit2 queued
broken-job test-arm64-arm64-xl-thunderx queued
broken-job test-arm64-arm64-xl-vhd queued
broken-job test-arm64-arm64-xl-xsm queued

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:28:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706075.1103111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKVv-0001LH-K3; Mon, 15 Apr 2024 11:28:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706075.1103111; Mon, 15 Apr 2024 11:28:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKVv-0001L8-GR; Mon, 15 Apr 2024 11:28:43 +0000
Received: by outflank-mailman (input) for mailman id 706075;
 Mon, 15 Apr 2024 11:28:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=js9Q=LU=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rwKVt-0001KK-W5
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 11:28:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dba8c74-fb1b-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 13:28:39 +0200 (CEST)
Received: from DUZPR01CA0300.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b7::24) by PA4PR08MB6176.eurprd08.prod.outlook.com
 (2603:10a6:102:ea::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Mon, 15 Apr
 2024 11:28:29 +0000
Received: from DB1PEPF000509E6.eurprd03.prod.outlook.com
 (2603:10a6:10:4b7:cafe::12) by DUZPR01CA0300.outlook.office365.com
 (2603:10a6:10:4b7::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.32 via Frontend
 Transport; Mon, 15 Apr 2024 11:28:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509E6.mail.protection.outlook.com (10.167.242.56) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Mon, 15 Apr 2024 11:28:29 +0000
Received: ("Tessian outbound 8c03561b2da6:v313");
 Mon, 15 Apr 2024 11:28:29 +0000
Received: from bd1353ad7476.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 12BE837E-9A18-474D-9E02-C41F9644CFCB.1; 
 Mon, 15 Apr 2024 11:28:23 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bd1353ad7476.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 15 Apr 2024 11:28:23 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by GV1PR08MB10504.eurprd08.prod.outlook.com (2603:10a6:150:15f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Mon, 15 Apr
 2024 11:28:21 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7452.049; Mon, 15 Apr 2024
 11:28:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4dba8c74-fb1b-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=PlmflEaA2yfVA6huv4O/M15Vrds2J2YOOeplJEsfUmYWSKTiayOvqAublMfHocPfj55BuVTdd/cCwzsfqt0lC9R7m4THYelBybXV3VBbS8HoxRigZicoGL120lp+gYeygfO66muLKlESVZ+h2XWpS4yfrB/re76jdoc3DFEoUIuFuDrR4+EJ6qW3N/SCBfKc7+zXtGDI6RH2T7fwhWqwtXwQFPFx04liTC1NHiUdPuQI7EhlFc8ty3VqPtyds3WMsDgJVFWq/2dYVoan6xs1FL1IcKODrareymRyv0Qv+vjYE34jZHlvQvt75JT/G1QGw9KUY9fqbtIfYWiidNoZ7g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S2e3ExXGLyyUSwE4aebGFz7EaOhMFzR0UwuD+5mKaW0=;
 b=fY6TzLvSL7gy6hWpLy5Qo4cWlHFPubajKcJtjPKKBZKfqREngHyOJ4Us06P8rlFZYygjylSYrWuVoP8w63xG3h47Fj7B8A6MaUo/L4gjo9zEMerOYvVsN1JwCnwCjfjqur52oDmxitnaTLsYrOhcdxcw2MFulRQbobNM7ji5B8DU0SgI79uBHa0DBaCY8mk+7j/PbXVjQTqeO66xAhcHSMXhbscgXJk2IoRSqtuGcmrRHyKVvYI2XSL/5Ywkw6S+NJWs5qVWDyuXi/JHuAK9Wtq3i4NDED+CAFyrDIjNV8GOBvJSlV1WnIEZmwLDsH/Zi35k240GeA+wn1l2RrYNqg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S2e3ExXGLyyUSwE4aebGFz7EaOhMFzR0UwuD+5mKaW0=;
 b=OEz3aiHUh/Pu388U8TAXAhdwOja2eMcccMOt0j9tDsyD00ewBbrZRyyq71cvN1W60wRAe04grk6Fhju+IaumGZTfADv4b0OQdeV7R+5RgoYcSGICNeiIopqQCQEsYns5twxvtD5Z7k7oudZZ1LdD3xWusLt6GS6f9SXPkkBA1Xo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 343bff3da74d105c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MUcImqp1duZCuNJhcIGXp5neRSnvkOZmtGgMdndfBgEB23/f8NBcW45AtYBFFyU/x9q5vIuzEYm4x4eESgp2IAUTVos9hBm7Qd6k1VKAawTUwnToa4V3xyEWaPenUm7bBq12vqhu+x6MHJdTmxBfJ7dblEn6BG1bWiDHiO4eMM/Ei75gYn3L+wDa0p9NHVlBbX3N13vxFIBzLniTPRm/lWywraPd3BlY4MD3AMiMiUFxMUtIGqg8bXN6mnTN46tVcD1fiM2kzH06LmZ1yzCAMykRFruwafoXlqBSBvFB4p5edA9TYg9A2l2pV0lxYSwoYTNcX0kE3VglLeL1RfzRvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S2e3ExXGLyyUSwE4aebGFz7EaOhMFzR0UwuD+5mKaW0=;
 b=UoDqNi1LfINILIR7hXjB/f6BFvxMBJgbMgbCotCHlgtPUZtAxz1XYm3pSg2W1BEgtFSRBIS1w3gchIfF36S6ltutm2/mG/bBnd1VTqbFIV+8Gd2F3JYa/9J/hhznKMJzjdPhC+MGBZ8ADQsF+401py615N0O4kaWuQ5oVq7ftouw4Db5PKYNTGXYIMS1iZ3XJ/NtOAsUfWN1kZ3IFmXwsp64a12XQFZ/DaLVfxXO5BmV5mvlLPWyEGxexSCPZ+oC1TWVxI2jdcDe5+6/paEDiWBRGNkQ4FlBN8N1w21qsTySTdCb/2Tez4z1lIV5Gu/8LNrG7ygN574BQyiiPsZzTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S2e3ExXGLyyUSwE4aebGFz7EaOhMFzR0UwuD+5mKaW0=;
 b=OEz3aiHUh/Pu388U8TAXAhdwOja2eMcccMOt0j9tDsyD00ewBbrZRyyq71cvN1W60wRAe04grk6Fhju+IaumGZTfADv4b0OQdeV7R+5RgoYcSGICNeiIopqQCQEsYns5twxvtD5Z7k7oudZZ1LdD3xWusLt6GS6f9SXPkkBA1Xo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Julien Grall <julien.grall.oss@gmail.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Michal Orzel <michal.orzel@amd.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
Thread-Topic: [PATCH v2 1/4] docs: add xen_ulong_t to the documented integers
 sizes/alignments
Thread-Index:
 AQHai6GBZ8b+Nd1+T0SyR++yfNJA87FiLIoAgAF1zYCAAQgbgIAAGvcAgAAZZ4CABBxngIAAJ16AgAAWJQA=
Date: Mon, 15 Apr 2024 11:28:21 +0000
Message-ID: <41EA226E-B0CB-43BB-B0E9-4E01593E5FF3@arm.com>
References:
 <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-1-stefano.stabellini@amd.com>
 <CAJ=z9a3zMaSLSS0mfKT8dngVwrESycSspy8LnW4FZV6hdu_AAw@mail.gmail.com>
 <alpine.DEB.2.22.394.2404111454570.997881@ubuntu-linux-20-04-desktop>
 <CAJ=z9a2gOTLy2B7y9bELQHPhFmCpU2nhyV5zy9_uQvsvx5prqw@mail.gmail.com>
 <C8D49EE7-B214-41D5-9556-4D3B98629CEA@arm.com>
 <CAJ=z9a2ENW-3vh4N59csoeMHeMPGv9XFUuC6GrMTYMKM=FpwgQ@mail.gmail.com>
 <3C913FB6-0273-476E-908F-9FE95CB3E114@arm.com>
 <02401844-98d1-442c-8bd5-1e5c192ddb21@xen.org>
In-Reply-To: <02401844-98d1-442c-8bd5-1e5c192ddb21@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|GV1PR08MB10504:EE_|DB1PEPF000509E6:EE_|PA4PR08MB6176:EE_
X-MS-Office365-Filtering-Correlation-Id: 7195635c-2b79-4b0c-812b-08dc5d3f2cad
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1uY47Il9gnJdHCUkHub6llppGu/9/6aqQaOUNxeZ9i4pk1T50TJTTmlbcta2LYbDbmTB5W+IMdTJSsO12Q82tM/96+v9bK/plG9EelWedbUtyCShEC+/fjrRIJ41zaX8aR8RJGuGjdZ6W3jmkpdu6qkfL/uF/zANiQ+QrMy9abw+hALOVyXsN9DBSNbTgtfWeGdYcqoo9wTNwYmwcJEwvBBkaVfZ24WAKvKhnwORxH3bPn8RVCFEI0gTS0+cuscVAUYxvKFbk040K0L1Dn+KmXAwaQWb4OMHSVAfq6nt2hEYaUDvJwu4OR6T/CvXgm68xGfrIxXlVOXCoCWhuiYz+lKOvT/S9Usv8/CMh52lyolhZArSMV1/BSWdcCBfOCgaDkiVA/TanGyJL0nRuTW8yK5gvNgPruL6sciF4O//YlXU43MfwKWbN8bfaqiAxEhiYi/alT0tCETcKNs92lZsfUmUZ3wxSlGFYt6ieeXi2emb8rVfw7CN1ADtZPzngylnxaqO+V96nKSQMDmKSd90tGfTuUAorImrJokHQp623LJ3zkq2dQzXYhx9/I2CK0N7uQzH1SWRdUuaWdjImtT/O8g/f9rHuIzYSO+56uW+3htBtEscLFT9mTn+3Lwxh2HLEy+KABQ1AwwKHik/xS2GfPLx/CM+rsJxAOwwD0ft0vmIUFdzFEu5ETCLM8TKamZChwECxgb8KIi8qMozvz8AbUGh7PNuXNUUmo73cqFyWCk=
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:(13230031)(366007)(376005)(7416005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <3AE8E3FE112ADB48ACB7E40319E1D3E6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10504
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509E6.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c0db5108-9c7e-42b8-4e6a-08dc5d3f27d1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eObAY+9ohmLVFNZeKfCuHp8KmmVe3XUiaqzZF5oepmwiY/TYlY0yVkdSmtmK6uEJWnwKrb9M/w2JXoo8O9UIijm2SLu35frTIXhYljn/46jMI49kY5FtMySQrveQzXhhSjv5GYE7fv7LyHtb7dOB2v7Ram6UCG4TzBUq1vvxXzQYn8hanI8nnDtpAATvlaxgxI3HDb8qFlY8Knul+9u11oFUKX8ipOFGQhKtxFsWFf4qW3iSMT+LS6n3BwFcxt6AN9RQk2t/H6m9bp9dbu/PEEnHsb02wOCU63oKoxYDAKFlTUJoBimv3nRJ/ihpAoYPpnl7g3LgzwKwdCvlfOzdTErOO4WJCd038Cm679Uwu/uQu4zvaVZTJDH6+Zn2eUJUNDZe9jN4BEsx1tP2B2C0MMPRkWSX7Wg7nFtrHdtynoXAXPRNDwtnFgwpcmSKb+JdOIsywEw9TDDEsgvGRAA9315svA9bEBOV5uZbj4iVxmJXtJSJugSNvsMffr1DhwVZ7xEzrHNNr/duID0h7qWliQpmwJsGa1jV79beewxHGDA59+QGyvtJYkRXfx/UgcKpPgplSNyS/6q2v/CcCeRDljwmdWDNhXKTdlF2kWSSSDCjoKXU/3AysR329S4LehhWMfTTW94valmmzvpGucm8cztJrkh8WYzfZmGPs+3+nILeIww+QhSzcbxxW5KEFG0+GbD+SkEw2lW4pR1jCOUxJE5bi9K5GZW57Eat7annYWge7YLJZHZzcHz9gnHFAZZl
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2024 11:28:29.3658
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7195635c-2b79-4b0c-812b-08dc5d3f2cad
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509E6.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6176

SGkgSnVsaWVuLA0KDQo+IE9uIDE1IEFwciAyMDI0LCBhdCAxMjowOCwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBCZXJ0cmFuZCwNCj4gDQo+IE9uIDE1LzA0
LzIwMjQgMDg6NDgsIEJlcnRyYW5kIE1hcnF1aXMgd3JvdGU6DQo+PiBIaSBKdWxpZW4sDQo+Pj4g
T24gMTIgQXByIDIwMjQsIGF0IDE5OjAxLCBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbC5vc3NA
Z21haWwuY29tPiB3cm90ZToNCj4+PiANCj4+PiANCj4+PiANCj4+PiBPbiBGcmksIDEyIEFwciAy
MDI0IGF0IDExOjMwLCBCZXJ0cmFuZCBNYXJxdWlzIDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+
IHdyb3RlOg0KPj4+IEhpIEp1bGllbiwNCj4+PiANCj4+Pj4gT24gMTIgQXByIDIwMjQsIGF0IDE1
OjUzLCBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbC5vc3NAZ21haWwuY29tPiB3cm90ZToNCj4+
Pj4gDQo+Pj4+IA0KPj4+PiANCj4+Pj4gT24gVGh1LCAxMSBBcHIgMjAyNCBhdCAxODowOCwgU3Rl
ZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPiB3cm90ZToNCj4+Pj4gT24g
V2VkLCAxMCBBcHIgMjAyNCwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+Pj4gT24gV2VkLCAxMCBB
cHIgMjAyNCBhdCAxOTo0NywgU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlA
YW1kLmNvbT4gd3JvdGU6DQo+Pj4+PiAgICAgICB4ZW5fdWxvbmdfdCBpcyB3aWRlbHkgdXNlZCBp
biBwdWJsaWMgaGVhZGVycy4NCj4+Pj4+IA0KPj4+Pj4gICAgICAgU2lnbmVkLW9mZi1ieTogU3Rl
ZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAYW1kLmNvbT4NCj4+Pj4+ICAgICAg
IC0tLQ0KPj4+Pj4gDQo+Pj4+PiAgICAgICBHaXZlbiB0aGF0IHhlbl91bG9uZ190IGlzIHVzZWQg
aW4gcHVibGljIGhlYWRlcnMgdGhlcmUgY291bGQgYmUgYSBiZXR0ZXINCj4+Pj4+ICAgICAgIHBs
YWNlIGZvciBkb2N1bWVudGluZyBpdCBidXQgdGhpcyB3YXMgdGhlIG1vc3Qgc3RyYWlnaHRmb3J3
YXJkIHRvIGFkZC4NCj4+Pj4+ICAgICAgIC0tLQ0KPj4+Pj4gICAgICAgIGRvY3MvbWlzcmEvQy1s
YW5ndWFnZS10b29sY2hhaW4ucnN0IHwgMTEgKysrKysrKysrKysNCj4+Pj4+ICAgICAgICAxIGZp
bGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQ0KPj4+Pj4gDQo+Pj4+PiAgICAgICBkaWZmIC0t
Z2l0IGEvZG9jcy9taXNyYS9DLWxhbmd1YWdlLXRvb2xjaGFpbi5yc3QgYi9kb2NzL21pc3JhL0Mt
bGFuZ3VhZ2UtdG9vbGNoYWluLnJzdA0KPj4+Pj4gICAgICAgaW5kZXggNWRkZmU3YmRiZS4uN2Ez
MzQyNjBlNiAxMDA2NDQNCj4+Pj4+ICAgICAgIC0tLSBhL2RvY3MvbWlzcmEvQy1sYW5ndWFnZS10
b29sY2hhaW4ucnN0DQo+Pj4+PiAgICAgICArKysgYi9kb2NzL21pc3JhL0MtbGFuZ3VhZ2UtdG9v
bGNoYWluLnJzdA0KPj4+Pj4gICAgICAgQEAgLTUzMSw2ICs1MzEsMTcgQEAgQSBzdW1tYXJ5IHRh
YmxlIG9mIGRhdGEgdHlwZXMsIHNpemVzIGFuZCBhbGlnbm1lbnQgaXMgYmVsb3c6DQo+Pj4+PiAg
ICAgICAgICAgICAtIDY0IGJpdHMNCj4+Pj4+ICAgICAgICAgICAgIC0geDg2XzY0LCBBUk12OC1B
IEFBcmNoNjQsIFJWNjQsIFBQQzY0DQo+Pj4+PiANCj4+Pj4+ICAgICAgICsgICAqIC0geGVuX3Vs
b25nX3QNCj4+Pj4+ICAgICAgICsgICAgIC0gMzIgYml0cw0KPj4+Pj4gICAgICAgKyAgICAgLSAz
MiBiaXRzDQo+Pj4+PiAgICAgICArICAgICAtIHg4Nl8zMg0KPj4+Pj4gICAgICAgKw0KPj4+Pj4g
ICAgICAgKyAgICogLSB4ZW5fdWxvbmdfdA0KPj4+Pj4gICAgICAgKyAgICAgLSA2NCBiaXRzDQo+
Pj4+PiAgICAgICArICAgICAtIDY0IGJpdHMNCj4+Pj4+ICAgICAgICsgICAgIC0geDg2XzY0LCBB
Uk12OC1BIEFBcmNoNjQsIFJWNjQsIFBQQzY0LCBBUk12OC1BIEFBcmNoMzIsIEFSTXY4LVINCj4+
Pj4+ICAgICAgICsgICAgICAgQUFyY2gzMiwgQVJNdjctQQ0KPj4+Pj4gDQo+Pj4+PiANCj4+Pj4+
IFdlIHN1cHBvcnQgbmVpdGhlciBBUk12OC1SIG5vciBBUk12OC1BIEFhcmNoMzIuDQo+Pj4+PiAN
Cj4+Pj4+IEkgY291bGQgcG9zc2libHkgYWNjZXB0IHRoZSBsYXR0ZXIgYmVjYXVzZSBpdCB3b3Jr
cyB0by4gQnV0IHRoZSBmb3JtZXIgaXMgc28gZmFyIG1pc2xlYWRpbmcuDQo+Pj4+IA0KPj4+PiBZ
ZXMgSSB0aGluayB5b3UgYXJlIHJpZ2h0LiBNb3Jlb3ZlciB0aGlzIGRvY3VtZW50DQo+Pj4+IChD
LWxhbmd1YWdlLXRvb2xjaGFpbi5yc3QpIGlzIG1lYW50IGZvciB0aGUgWGVuIGJ1aWxkLiBXaGls
ZSB0aGlzIHBhdGNoDQo+Pj4+IGlzIHRyeWluZyB0byBkb2N1bWVudCB0aGUgdHlwZXMgdXNlZCBp
biB0aGUgcHVibGljIGhlYWRlcnMgZm9yIHRoZQ0KPj4+PiBleHRlcm5hbC1mYWNpbmcgQUJJLg0K
Pj4+PiANCj4+Pj4gSSdsbCBtb3ZlIHRoZSBpbmZvcm1hdGlvbiB0aGlzIHBhdGNoIGlzIGFkZGlu
ZyB0byBhIHNlcGFyYXRlIGRvY3VtZW50LA0KPj4+PiBzcGVjaWZpYyB0byB0aGUgcHVibGljIGhl
YWRlcnMuIEkgd2lsbCBvbmx5IGFkZCB0aGUgYXJjaGl0ZWN0dXJlcw0KPj4+PiBjdXJyZW50bHkg
d29ya2luZzogSSdsbCBhZGQgQVJNdjgtQSBBYXJjaDMyIGJlY2F1c2UgYWx0aG91Z2ggaXQgaXMN
Cj4+Pj4gdW5zdXBwb3J0ZWQgaXQgaXMgaW50ZXJlc3RpbmcgdG8ga25vdyB0aGUgc2l6ZSBvZiB4
ZW5fdWxvbmdfdCBmb3INCj4+Pj4gYWFyY2gzMiBpbiB0aGUgcHVibGljIGhlYWRlcnMuIEkgd2ls
bCByZW1vdmUgQVJNdjgtUiBhcyBpdCBpcyBub3QNCj4+Pj4gYXZhaWxhYmxlIHVwc3RyZWFtLg0K
Pj4+PiANCj4+Pj4gVGhpbmtpbmcgYSBiaXQgbW9yZS4gV2hhdCBhYm91dCBBcm12OT8gUmF0aGVy
IHRoYW4gbGlzdGluZyBlYWNoIHZlcnNpb24sIHNob3VsZCB3ZSBpbnN0ZWFkIHVzZSBBUk12Ny1B
IGFhcmNoMzIgYW5kIGxhdGVyLCBBUk12OC1BIGFhcmNoNjQgYW5kIGxhdGVyPw0KPj4+IA0KPj4+
IERlZmluaXRlbHkgeW91IGFyZSByaWdodCBoZXJlIGJ1dCBhcyBmb3IgQXJtdjgtUiwgQXJtdjkg
aXMgbm90IHNvbWV0aGluZyB0aGF0IHdlIGV4cGxpY2l0ZWx5IHN1cHBvcnQgcmlnaHQgbm93IChl
dmVuIHRob3VnaCBpdCBzaG91bGQgd29yaykuDQo+Pj4gDQo+Pj4gSSBhbSBjb25mdXNlZCB3aXRo
IHRoZSBjb21wYXJpc29uLiBJIHRob3VnaHQgeW91IGNhbuKAmXQgYm9vdCBYZW4gYXQgYWxsIG9u
IEFybXY4LVIuIEJ1dCB5b3UgY2FuIG9uIEFybXY5LUEgYXMgdGhpcyBqdXN0IEFybXY4LUEgKyBm
ZWF0dXJlcyB0aGUgc29mdHdhcmUgZG9u4oCZdCBuZWVkIHRvIHVzZS4NCj4+PiANCj4+PiBEaWQg
eW91IGludGVuZCB0byBkcmF3IHRoZSBjb21wYXJpc29uIHdpdGggQXJtdjgtQSBBYXJjaDMyPw0K
Pj4gWWVzIGluIG15IG1pbmQgYXJtdjkgZXZlbiBpZiBjdXJyZW50bHkgd29ya2luZyBpdCBpcyBu
b3Qgc29tZXRoaW5nIG9mZmljaWFsbHkgc3VwcG9ydGVkIHNvIGl0IGlzIGluIHRoZSBzYW1lIHN0
YXRlIGFzIGFybXY4IGFhcmNoMzIuDQo+IA0KPiBBRkFJQ1QsIFN0ZWZhbm8gc2FpZCBoZSB3aWxs
IGFkZCBBUk12OC1BIEFBcmNoMzIsIHNvIHdlIHNob3VsZCBiZSBjb25zaXN0ZW50IGFuZCBhZGQg
QXJtdjktQSBpbiB0aGUgbGlzdC4NCg0KWWVzIHRoYXQgbWFrZXMgc2Vuc2UsIEkgYWdyZWUuDQoN
CkNoZWVycw0KQmVydHJhbmQNCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGllbiBH
cmFsbA0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:35:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:35:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706086.1103121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKcA-00044c-Cz; Mon, 15 Apr 2024 11:35:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706086.1103121; Mon, 15 Apr 2024 11:35:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKcA-00043w-AI; Mon, 15 Apr 2024 11:35:10 +0000
Received: by outflank-mailman (input) for mailman id 706086;
 Mon, 15 Apr 2024 11:35:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwKc8-00041i-7M; Mon, 15 Apr 2024 11:35:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwKc7-0002un-RJ; Mon, 15 Apr 2024 11:35:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwKc7-0002Re-KC; Mon, 15 Apr 2024 11:35:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwKc7-0001fE-Ik; Mon, 15 Apr 2024 11:35: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=56BOysGBFfXg7Okze1/0Eul/IRbsm/awu0/yVk1oI80=; b=zJ1SP7EEooHvH/naahXYG5c4Ya
	Lw1fnB3QAgB8EByfIFUgoNALkBi0zqESKsGhut5x3mCn76Rw8RhcjceLRrVck8YlZAsdA9GjbFmbF
	mL60I7KxXZ70glP5u01la6SAjr2ndGuraUpjxJka0W7BhLiWWNpgw4Z3vg91K6Ae/zCQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185577-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185577: regressions - trouble: blocked/broken/queued/running
X-Osstest-Failures:
    linux-5.4:build-amd64:<job status>:broken:regression
    linux-5.4:build-amd64-pvops:<job status>:broken:regression
    linux-5.4:build-amd64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-armhf:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-i386:<job status>:broken:regression
    linux-5.4:build-i386-pvops:<job status>:broken:regression
    linux-5.4:build-i386-xsm:<job status>:broken:regression
    linux-5.4:build-i386:host-build-prep:fail:regression
    linux-5.4:build-armhf-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-pvops:host-build-prep:fail:regression
    linux-5.4:build-amd64-xsm:host-build-prep:fail:regression
    linux-5.4:build-amd64:host-build-prep:fail:regression
    linux-5.4:build-i386-pvops:host-build-prep:fail:regression
    linux-5.4:build-i386-xsm:host-build-prep:fail:regression
    linux-5.4:build-arm64:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:build-armhf:host-build-prep:fail:regression
    linux-5.4:test-arm64-arm64-examine:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-libvirt-xsm:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-xl:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-xl-credit1:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-xl-credit2:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-xl-thunderx:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-xl-vhd:<none executed>:queued:regression
    linux-5.4:test-arm64-arm64-xl-xsm:<none executed>:queued:regression
    linux-5.4:build-arm64-pvops:host-build-prep:running:regression
    linux-5.4:build-arm64-pvops:syslog-server:running:regression
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-bios:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-examine-uefi:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-freebsd10-i386:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 11:35:07 +0000

flight 185577 linux-5.4 running [real]
http://logs.test-lab.xenproject.org/osstest/logs/185577/

Regressions :-(

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-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                    5 host-build-prep          fail REGR. vs. 185168
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185168
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-amd64                   5 host-build-prep          fail REGR. vs. 185168
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185168
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185168
 build-arm64                   5 host-build-prep          fail REGR. vs. 185168
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185168
 build-armhf                   5 host-build-prep          fail REGR. vs. 185168
 test-arm64-arm64-examine        <none executed>              queued
 test-arm64-arm64-libvirt-raw    <none executed>              queued
 test-arm64-arm64-libvirt-xsm    <none executed>              queued
 test-arm64-arm64-xl             <none executed>              queued
 test-arm64-arm64-xl-credit1     <none executed>              queued
 test-arm64-arm64-xl-credit2     <none executed>              queued
 test-arm64-arm64-xl-thunderx    <none executed>              queued
 test-arm64-arm64-xl-vhd         <none executed>              queued
 test-arm64-arm64-xl-xsm         <none executed>              queued
 build-arm64-pvops             5 host-build-prep              running
 build-arm64-pvops             3 syslog-server                running

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-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
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   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-xl-credit1   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-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-examine       1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt       1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-libvirt-raw   1 build-check(1)               blocked  n/a
 test-amd64-i386-libvirt-xsm   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-freebsd10-amd64  1 build-check(1)            blocked n/a
 test-amd64-i386-qemuu-freebsd10-i386  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-xsm        1 build-check(1)               blocked  n/a
 test-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   19 days
Testing same since   185433  2024-04-13 11:16:55 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@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                                            running 
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          queued  
 test-armhf-armhf-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            blocked 
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 queued  
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      queued  
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-qemuu-freebsd10-amd64                        blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-i386-examine-bios                                 blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  queued  
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  queued  
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     queued  
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      blocked 
 test-amd64-i386-qemuu-freebsd10-i386                         blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-i386-libvirt-qcow2                                blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 queued  
 test-amd64-i386-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-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 queued  
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-i386-examine-uefi                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      queued  
 test-amd64-i386-xl-vhd                                       blocked 


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 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-job test-arm64-arm64-examine queued
broken-job test-arm64-arm64-libvirt-raw queued
broken-job test-arm64-arm64-libvirt-xsm queued
broken-job test-arm64-arm64-xl queued
broken-job test-arm64-arm64-xl-credit1 queued
broken-job test-arm64-arm64-xl-credit2 queued
broken-job test-arm64-arm64-xl-thunderx queued
broken-job test-arm64-arm64-xl-vhd queued
broken-job test-arm64-arm64-xl-xsm queued

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:46:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:46:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706097.1103137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKnD-0007Dl-Ju; Mon, 15 Apr 2024 11:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706097.1103137; Mon, 15 Apr 2024 11:46:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKnD-0007De-GA; Mon, 15 Apr 2024 11:46:35 +0000
Received: by outflank-mailman (input) for mailman id 706097;
 Mon, 15 Apr 2024 11:46: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=vrLP=LU=tesarici.cz=petr@srs-se1.protection.inumbo.net>)
 id 1rwKnB-0007DY-Fy
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 11:46:34 +0000
Received: from bee.tesarici.cz (bee.tesarici.cz [37.205.15.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cceb7dd2-fb1d-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 13:46:31 +0200 (CEST)
Received: from meshulam.tesarici.cz
 (dynamic-2a00-1028-83b8-1e7a-4427-cc85-6706-c595.ipv6.o2.cz
 [IPv6:2a00:1028:83b8:1e7a:4427:cc85:6706:c595])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest
 SHA256) (No client certificate requested)
 by bee.tesarici.cz (Postfix) with ESMTPSA id 937051BE456;
 Mon, 15 Apr 2024 13:46: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: cceb7dd2-fb1d-11ee-94a3-07e782e9044d
Authentication-Results: mail.tesarici.cz; dmarc=fail (p=quarantine dis=none) header.from=tesarici.cz
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tesarici.cz; s=mail;
	t=1713181589; bh=6j5xRYISiB35jRs4z/V94pxAMYRgG8FouSQ6Gey8Ras=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=yiHirDFDDRGZbAivR7MRW8qcl9uOsM+BCXC9xom1IZLeJX26bj3IuO4T8TdrBoJbS
	 BBkNtuvRs2DQujkKXz4fYGRMfgFvK2EElFoGLRO6hXvL5m11EJw7knCEG9iwKP/9nh
	 Q9/kKZkmfEILfBCguLRnvViLvU6qhURbuuBUGOw8RpQF917InGamhrVhExSyqipPSE
	 t+r6738rFTmAM22Eb+RfDdTl5yvoj3OxhRM966CefVgYq764URk0ZGjCOzgU0InWRk
	 M8jPlC8NjwU/ccQkSjXqx5zVD3hsijJQD9VrspvAaNqstUG8fTgYUieY83LqoDYdph
	 BFWwoAJXpgwmg==
Date: Mon, 15 Apr 2024 13:46:24 +0200
From: Petr =?UTF-8?B?VGVzYcWZw61r?= <petr@tesarici.cz>
To: mhkelley58@gmail.com
Cc: mhklinux@outlook.com, robin.murphy@arm.com, joro@8bytes.org,
 will@kernel.org, jgross@suse.com, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com, hch@lst.de, m.szyprowski@samsung.com,
 iommu@lists.linux.dev, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, roberto.sassu@huaweicloud.com
Subject: Re: [PATCH 1/2] swiotlb: Remove alloc_size argument to
 swiotlb_tbl_map_single()
Message-ID: <20240415134624.22092bb0@meshulam.tesarici.cz>
In-Reply-To: <20240408041142.665563-1-mhklinux@outlook.com>
References: <20240408041142.665563-1-mhklinux@outlook.com>
X-Mailer: Claws Mail 4.2.0 (GTK 3.24.41; x86_64-suse-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Sun,  7 Apr 2024 21:11:41 -0700
mhkelley58@gmail.com wrote:

> From: Michael Kelley <mhklinux@outlook.com>
> 
> Currently swiotlb_tbl_map_single() takes alloc_align_mask and
> alloc_size arguments to specify an swiotlb allocation that is
> larger than mapping_size. This larger allocation is used solely
> by iommu_dma_map_single() to handle untrusted devices that should
> not have DMA visibility to memory pages that are partially used
> for unrelated kernel data.
> 
> Having two arguments to specify the allocation is redundant. While
> alloc_align_mask naturally specifies the alignment of the starting
> address of the allocation, it can also implicitly specify the size
> by rounding up the mapping_size to that alignment.
> 
> Additionally, the current approach has an edge case bug.
> iommu_dma_map_page() already does the rounding up to compute the
> alloc_size argument. But swiotlb_tbl_map_single() then calculates
> the alignment offset based on the DMA min_align_mask, and adds
> that offset to alloc_size. If the offset is non-zero, the addition
> may result in a value that is larger than the max the swiotlb can
> allocate. If the rounding up is done _after_ the alignment offset is
> added to the mapping_size (and the original mapping_size conforms to
> the value returned by swiotlb_max_mapping_size), then the max that the
> swiotlb can allocate will not be exceeded.
> 
> In view of these issues, simplify the swiotlb_tbl_map_single() interface
> by removing the alloc_size argument. Most call sites pass the same
> value for mapping_size and alloc_size, and they pass alloc_align_mask
> as zero. Just remove the redundant argument from these callers, as they
> will see no functional change. For iommu_dma_map_page() also remove
> the alloc_size argument, and have swiotlb_tbl_map_single() compute
> the alloc_size by rounding up mapping_size after adding the offset
> based on min_align_mask. This has the side effect of fixing the
> edge case bug but with no other functional change.
> 
> Also add a sanity test on the alloc_align_mask. While IOMMU code
> currently ensures the granule is not larger than PAGE_SIZE, if
> that guarantee were to be removed in the future, the downstream
> effect on the swiotlb might go unnoticed until strange allocation
> failures occurred.
> 
> Tested on an ARM64 system with 16K page size and some kernel
> test-only hackery to allow modifying the DMA min_align_mask and
> the granule size that becomes the alloc_align_mask. Tested these
> combinations with a variety of original memory addresses and
> sizes, including those that reproduce the edge case bug:
> 
> * 4K granule and 0 min_align_mask
> * 4K granule and 0xFFF min_align_mask (4K - 1)
> * 16K granule and 0xFFF min_align_mask
> * 64K granule and 0xFFF min_align_mask
> * 64K granule and 0x3FFF min_align_mask (16K - 1)
> 
> With the changes, all combinations pass.
> 
> Signed-off-by: Michael Kelley <mhklinux@outlook.com>
> ---
> I've haven't used any "Fixes:" tags. This patch really should be
> backported only if all the other recent swiotlb fixes get backported,
> and I'm unclear on whether that will happen.
> 
> I saw the brief discussion about removing the "dir" parameter from
> swiotlb_tbl_map_single(). That removal could easily be done as part
> of this patch, since it's already changing the swiotlb_tbl_map_single()
> parameters. But I think the conclusion of the discussion was to leave
> the "dir" parameter for symmetry with the swiotlb_sync_*() functions.
> Please correct me if that's wrong, and I'll respin this patch to do
> the removal.

Hi Michael,

sorry for taking so long to answer. Yes, there was no agreement on the
removal of the "dir" parameter, but I'm not sure it's because of
symmetry with swiotlb_sync_*(), because the topic was not really
discussed.

The discussion was about the KUnit test suite and whether direction is
a property of the bounce buffer or of each sync operation. Since DMA API
defines associates each DMA buffer with a direction, the direction
parameter passed to swiotlb_sync_*() should match what was passed to
swiotlb_tbl_map_single(), because that's how it is used by the generic
DMA code. In other words, if the parameter is kept, it should be kept
to match dma_map_*().

However, there is also symmetry with swiotlb_tbl_unmap_single(). This
function does use the parameter for the final sync. I believe there
should be a matching initial sync in swiotlb_tbl_map_single(). In
short, the buffer sync for DMA non-coherent devices should be moved from
swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
the flags parameter.

To sum it up:

* Do *NOT* remove the "dir" parameter.
* Let me send a patch which moves the initial buffer sync.

Petr T

>  drivers/iommu/dma-iommu.c |  2 +-
>  drivers/xen/swiotlb-xen.c |  2 +-
>  include/linux/swiotlb.h   |  2 +-
>  kernel/dma/swiotlb.c      | 56
> +++++++++++++++++++++++++++++---------- 4 files changed, 45
> insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
> index 07d087eecc17..c21ef1388499 100644
> --- a/drivers/iommu/dma-iommu.c
> +++ b/drivers/iommu/dma-iommu.c
> @@ -1165,7 +1165,7 @@ static dma_addr_t iommu_dma_map_page(struct
> device *dev, struct page *page, trace_swiotlb_bounced(dev, phys,
> size); 
>  		aligned_size = iova_align(iovad, size);
> -		phys = swiotlb_tbl_map_single(dev, phys, size,
> aligned_size,
> +		phys = swiotlb_tbl_map_single(dev, phys, size,
>  					      iova_mask(iovad), dir,
> attrs); 
>  		if (phys == DMA_MAPPING_ERROR)
> diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
> index 1c4ef5111651..6579ae3f6dac 100644
> --- a/drivers/xen/swiotlb-xen.c
> +++ b/drivers/xen/swiotlb-xen.c
> @@ -216,7 +216,7 @@ static dma_addr_t xen_swiotlb_map_page(struct
> device *dev, struct page *page, */
>  	trace_swiotlb_bounced(dev, dev_addr, size);
>  
> -	map = swiotlb_tbl_map_single(dev, phys, size, size, 0, dir,
> attrs);
> +	map = swiotlb_tbl_map_single(dev, phys, size, 0, dir, attrs);
>  	if (map == (phys_addr_t)DMA_MAPPING_ERROR)
>  		return DMA_MAPPING_ERROR;
>  
> diff --git a/include/linux/swiotlb.h b/include/linux/swiotlb.h
> index ea23097e351f..14bc10c1bb23 100644
> --- a/include/linux/swiotlb.h
> +++ b/include/linux/swiotlb.h
> @@ -43,7 +43,7 @@ int swiotlb_init_late(size_t size, gfp_t gfp_mask,
>  extern void __init swiotlb_update_mem_attributes(void);
>  
>  phys_addr_t swiotlb_tbl_map_single(struct device *hwdev, phys_addr_t
> phys,
> -		size_t mapping_size, size_t alloc_size,
> +		size_t mapping_size,
>  		unsigned int alloc_aligned_mask, enum
> dma_data_direction dir, unsigned long attrs);
>  
> diff --git a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
> index a5e0dfc44d24..046da973a7e2 100644
> --- a/kernel/dma/swiotlb.c
> +++ b/kernel/dma/swiotlb.c
> @@ -1340,15 +1340,40 @@ static unsigned long mem_used(struct
> io_tlb_mem *mem) 
>  #endif /* CONFIG_DEBUG_FS */
>  
> +/**
> + * swiotlb_tbl_map_single() - bounce buffer map a single contiguous
> physical area
> + * @dev:		Device which maps the buffer.
> + * @orig_addr:		Original (non-bounced) physical IO
> buffer address
> + * @mapping_size:	Requested size of the actual bounce buffer,
> excluding
> + *			any pre- or post-padding for alignment
> + * @alloc_align_mask:	Required start and end alignment of the
> allocated buffer
> + * @dir:		DMA direction
> + * @attrs:		Optional DMA attributes for the map
> operation
> + *
> + * Find and allocate a suitable sequence of IO TLB slots for the
> request.
> + * The allocated space starts at an alignment specified by
> alloc_align_mask,
> + * and the size of the allocated space is rounded up so that the
> total amount
> + * of allocated space is a multiple of (alloc_align_mask + 1). If
> + * alloc_align_mask is zero, the allocated space may be at any
> alignment and
> + * the size is not rounded up.
> + *
> + * The returned address is within the allocated space and matches
> the bits
> + * of orig_addr that are specified in the DMA min_align_mask for the
> device. As
> + * such, this returned address may be offset from the beginning of
> the allocated
> + * space. The bounce buffer space starting at the returned address
> for
> + * mapping_size bytes is initialized to the contents of the original
> IO buffer
> + * area. Any pre-padding (due to an offset) and any post-padding
> (due to
> + * rounding-up the size) is not initialized.
> + */
>  phys_addr_t swiotlb_tbl_map_single(struct device *dev, phys_addr_t
> orig_addr,
> -		size_t mapping_size, size_t alloc_size,
> -		unsigned int alloc_align_mask, enum
> dma_data_direction dir,
> -		unsigned long attrs)
> +		size_t mapping_size, unsigned int alloc_align_mask,
> +		enum dma_data_direction dir, unsigned long attrs)
>  {
>  	struct io_tlb_mem *mem = dev->dma_io_tlb_mem;
>  	unsigned int offset;
>  	struct io_tlb_pool *pool;
>  	unsigned int i;
> +	size_t size;
>  	int index;
>  	phys_addr_t tlb_addr;
>  	unsigned short pad_slots;
> @@ -1362,20 +1387,24 @@ phys_addr_t swiotlb_tbl_map_single(struct
> device *dev, phys_addr_t orig_addr, if
> (cc_platform_has(CC_ATTR_MEM_ENCRYPT)) pr_warn_once("Memory
> encryption is active and system is using DMA bounce buffers\n"); 
> -	if (mapping_size > alloc_size) {
> -		dev_warn_once(dev, "Invalid sizes (mapping: %zd
> bytes, alloc: %zd bytes)",
> -			      mapping_size, alloc_size);
> -		return (phys_addr_t)DMA_MAPPING_ERROR;
> -	}
> +	/*
> +	 * The default swiotlb memory pool is allocated with
> PAGE_SIZE
> +	 * alignment. If a mapping is requested with larger
> alignment,
> +	 * the mapping may be unable to use the initial slot(s) in
> all
> +	 * sets of IO_TLB_SEGSIZE slots. In such case, a mapping
> request
> +	 * of or near the maximum mapping size would always fail.
> +	 */
> +	dev_WARN_ONCE(dev, alloc_align_mask > ~PAGE_MASK,
> +		"Alloc alignment may prevent fulfilling requests
> with max mapping_size\n"); 
>  	offset = swiotlb_align_offset(dev, alloc_align_mask,
> orig_addr);
> -	index = swiotlb_find_slots(dev, orig_addr,
> -				   alloc_size + offset,
> alloc_align_mask, &pool);
> +	size = ALIGN(mapping_size + offset, alloc_align_mask + 1);
> +	index = swiotlb_find_slots(dev, orig_addr, size,
> alloc_align_mask, &pool); if (index == -1) {
>  		if (!(attrs & DMA_ATTR_NO_WARN))
>  			dev_warn_ratelimited(dev,
>  	"swiotlb buffer is full (sz: %zd bytes), total %lu (slots),
> used %lu (slots)\n",
> -				 alloc_size, mem->nslabs,
> mem_used(mem));
> +				 size, mem->nslabs, mem_used(mem));
>  		return (phys_addr_t)DMA_MAPPING_ERROR;
>  	}
>  
> @@ -1388,7 +1417,7 @@ phys_addr_t swiotlb_tbl_map_single(struct
> device *dev, phys_addr_t orig_addr, offset &= (IO_TLB_SIZE - 1);
>  	index += pad_slots;
>  	pool->slots[index].pad_slots = pad_slots;
> -	for (i = 0; i < nr_slots(alloc_size + offset); i++)
> +	for (i = 0; i < (nr_slots(size) - pad_slots); i++)
>  		pool->slots[index + i].orig_addr =
> slot_addr(orig_addr, i); tlb_addr = slot_addr(pool->start, index) +
> offset; /*
> @@ -1543,8 +1572,7 @@ dma_addr_t swiotlb_map(struct device *dev,
> phys_addr_t paddr, size_t size, 
>  	trace_swiotlb_bounced(dev, phys_to_dma(dev, paddr), size);
>  
> -	swiotlb_addr = swiotlb_tbl_map_single(dev, paddr, size,
> size, 0, dir,
> -			attrs);
> +	swiotlb_addr = swiotlb_tbl_map_single(dev, paddr, size, 0,
> dir, attrs); if (swiotlb_addr == (phys_addr_t)DMA_MAPPING_ERROR)
>  		return DMA_MAPPING_ERROR;
>  



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 11:49:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 11:49:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706101.1103147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKpe-0007mU-0H; Mon, 15 Apr 2024 11:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706101.1103147; Mon, 15 Apr 2024 11:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwKpd-0007mN-TX; Mon, 15 Apr 2024 11:49:05 +0000
Received: by outflank-mailman (input) for mailman id 706101;
 Mon, 15 Apr 2024 11:49:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rwKpc-0007mH-W0
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 11:49:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rwKpY-00039C-ES; Mon, 15 Apr 2024 11:49:00 +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 1rwKpY-0003Ua-7c; Mon, 15 Apr 2024 11:49:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oIaDg+t9CGO99Gtq6RLzV8jM0FVTV6QbDygYW+3nI2U=; b=c0UdKGDwx6ZnsIUhn10kZ/r40p
	wO+1hDnxRccDR/x6mGVhE5kLVDLXCzQlKp7enkqUX6lz3KOU4lM1Agz724a0xl3cLLe4MVlmf+pPe
	GOeGtLqrHwo48JPlpw4qjSjX2O4v5K5CQnPovfAk/JTuakTWhH3e0VeepwDskhEi4I5A=;
Message-ID: <1272bb77-8a93-4ca2-af0d-4c1c36729307@xen.org>
Date: Mon, 15 Apr 2024 12:48:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Content-Language: en-GB
To: John Ernberg <john.ernberg@actia.se>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "conduct@xenproject.org" <conduct@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Peng Fan <peng.fan@nxp.com>, Jonas Blixt <jonas.blixt@actia.se>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
 <084b9ed5-1585-4802-b504-6ccd2f262542@xen.org>
 <69dcd768-74b8-4033-8ab3-77848d6774dc@citrix.com>
 <4b39f4fa-246d-479e-ab76-ff234b641703@xen.org>
 <e3785d8a-9b16-4b74-9453-b0166bdbb171@actia.se>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e3785d8a-9b16-4b74-9453-b0166bdbb171@actia.se>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi John,

On 15/04/2024 12:17, John Ernberg wrote:
> Hi Julien,
> 
> On 4/15/24 1:03 PM, Julien Grall wrote:
>>
>>
>> On 15/04/2024 11:50, Andrew Cooper wrote:
>>> On 15/04/2024 11:25 am, Julien Grall wrote:
>>>> Hi John,
>>>>
>>>> I saw this patch was committed. I have one question this may require
>>>> some adjustment.
>>>>
>>>> On 08/04/2024 17:11, John Ernberg wrote:
>>>>> ---
>>>>>     xen/arch/arm/platforms/Makefile |   1 +
>>>>>     xen/arch/arm/platforms/imx8qm.c | 139
>>>>> ++++++++++++++++++++++++++++++++
>>>>>     2 files changed, 140 insertions(+)
>>>>>     create mode 100644 xen/arch/arm/platforms/imx8qm.c
>>>>>
>>>>> diff --git a/xen/arch/arm/platforms/Makefile
>>>>> b/xen/arch/arm/platforms/Makefile
>>>>> index 8632f4115f..bec6e55d1f 100644
>>>>> --- a/xen/arch/arm/platforms/Makefile
>>>>> +++ b/xen/arch/arm/platforms/Makefile
>>>>> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>>>>>     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_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>>>>>     obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
>>>>> diff --git a/xen/arch/arm/platforms/imx8qm.c
>>>>> b/xen/arch/arm/platforms/imx8qm.c
>>>>> new file mode 100644
>>>>> index 0000000000..3600a073e8
>>>>> --- /dev/null
>>>>> +++ b/xen/arch/arm/platforms/imx8qm.c
>>>>> @@ -0,0 +1,139 @@
>>>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>>>
>>>> The majority of Xen code is using GPL-2.0-only. In the early days for
>>>> Xen on Arm we started to use GPLv2+ which I consider it was a mistake.
>>>> Unfortunately this started to spread as people copied/pasted the same
>>>> copyright headers.
>>>>
>>>> So can you confirm whether you intended to use GPL-2.0+? If not would
>>>> you be able to send a patch to adjust it? (Better to it before there
>>>> are more modifications).
>>>
>>> Julien: I've called you out multiple times before.
>>
>> And there are multiple thread explaining why I am requesting if we can
>> use GPLv2-only. In fact from CONTRIBUTING:
>>
>> The recommended license of a directory will depend on the COPYING file.
>> If the new file is using a different license, this should be highlighted
>> and discussed in the commit message or cover letter introducing the
>> file.
>>
> 
> Since part of the code was not written by me, but by Peng, I think both
> of us need to agree to a license change if one is to be made.

Ah I didn't realize that Peng also contributed. Let's wait if he is 
happy with the change.

Also, offline, I was pointed out that I could explain a little bit more 
why I asked if this could be changed. From [1]:

"IIRC from past discussion there are two broads concern with GPLv2+:
    - We are leaving the choice of which license applies to the person
copying the code. So if a new version is released that is less favorable
to the initial contributor, then we have no leverage.
    - Some companies are rather cautious to contribute code that may be
licensed under GPLv3 (would be allowed with GPLv2+).

The later is particularly a problem because not many people realize that
a fair part of Xen on Arm is GPLv2+. I never really understood why we
chose that (this was before my time) but this got spread as the existing
copyright was added to a new file. Admittely, the contributor should be
more cautious. But I would not say this is trivial to spot the difference."

Cheers,

[1] 
https://lore.kernel.org/xen-devel/f235f6f8-d585-4e24-7fc8-3f2df9240c9d@xen.org/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:16:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706127.1103214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGF-0007cx-UX; Mon, 15 Apr 2024 12:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706127.1103214; Mon, 15 Apr 2024 12:16:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGF-0007cq-Ne; Mon, 15 Apr 2024 12:16:35 +0000
Received: by outflank-mailman (input) for mailman id 706127;
 Mon, 15 Apr 2024 12:16:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=28no=LU=bounce.vates.tech=bounce-md_30504962.661d1a9b.v1-bdf670edfcd74494a0a1568848e67be1@srs-se1.protection.inumbo.net>)
 id 1rwLGE-0006tb-IR
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:16:34 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd3bc35b-fb21-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 14:16:30 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJ5kM3bNpz8XRtln
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 12:16:27 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 bdf670edfcd74494a0a1568848e67be1; Mon, 15 Apr 2024 12:16: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: fd3bc35b-fb21-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713183387; x=1713443887;
	bh=RRod8nx7vQ+DrBaq1mB+2iQAFOffxbEGL4R3xb8mHC8=;
	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=GSJUHtN2i4nhoX29yCMABYqzwrKKDs/yaoOmcpEiR53Z3FpPs+J1q7Mgag9qSOCtC
	 ePfIq8NjXtscDhdK1LrW3+iMoLhtI9xxrvCPKWpnLfDOIoCs/C4L8C05uEc2hIauEr
	 ZekO0K+ek6lWSvlcL5oDthIERcjvJO8oYvHsHZc6VlzX8M/xTooQzjkmBYDFSSX6PR
	 AKn3oRJQD7MGZsozwSJpQMHT9JrAScgXUrY7gx1Gtbn7x2e8PfTrdUxOIKfdiZa6Nt
	 taUM6V/s9AxzJ0ajANlR3Fg2DioEsYj4qlp8RNNVpYOPLddXQiNXnT+qeK73XrAzB2
	 9q1gAzgnw81Kw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713183387; x=1713443887; i=teddy.astie@vates.tech;
	bh=RRod8nx7vQ+DrBaq1mB+2iQAFOffxbEGL4R3xb8mHC8=;
	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=fqyN5yuwC0m/N/enB11o7oyguyV0J7Etf9vE3o0BbkSODelsxyVWGOCD4rmisW9iT
	 bgA8VUp3FipV1o7TIC4GEUdIHwqCNJr3xRGS6a2U2bI+3kTuFQWqUOvmD9A4188DeN
	 ERP7zZIAftJvXP88LCiD+rUSiM2cFcR1CiVneXPftlauhFn5tLXVHWpj/XA0G6v/Ae
	 GFLOzjcQO+jbYh0aT6wRkDqwGy3xx7Fs/coggxlGf1KXAEZfC0ARslVCdRj4qLnErG
	 uYGLltLKxlIEPzBhYEg6LbX6IcYiFkfO7l0jhpGA6fFvhVu1q2bbi4HnUZjnQ5Aq6b
	 72CAcele30zzA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v4=203/5]=20VT-d:=20Cleanup=20MAP=5FSINGLE=5FDEVICE=20and=20related=20code?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713183386723
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>
Message-Id: <43876112df408c6f11fa399337db4f3104a969a2.1713174878.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713174878.git.teddy.astie@vates.tech>
References: <cover.1713174878.git.teddy.astie@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.bdf670edfcd74494a0a1568848e67be1?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240415:md
Date: Mon, 15 Apr 2024 12:16:27 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This flag was only used in case cx16 is not available, as those code paths no
longer exist, this flag now does basically nothing.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/iommu.c | 12 +++---------
 xen/drivers/passthrough/vtd/vtd.h   |  5 ++---
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 9c787ba9eb..7c6bae0256 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1692,15 +1692,9 @@ static int domain_context_mapping(struct domain *domain, u8 devfn,
         break;
     }
 
-    if ( domain != pdev->domain && pdev->domain != dom_io )
-    {
-        if ( pdev->domain->is_dying )
-            mode |= MAP_OWNER_DYING;
-        else if ( drhd &&
-                  !any_pdev_behind_iommu(pdev->domain, pdev, drhd->iommu) &&
-                  !pdev->phantom_stride )
-            mode |= MAP_SINGLE_DEVICE;
-    }
+    if ( domain != pdev->domain && pdev->domain != dom_io &&
+         pdev->domain->is_dying )
+        mode |= MAP_OWNER_DYING;
 
     switch ( pdev->type )
     {
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index cb2df76eed..43f06a353d 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -28,9 +28,8 @@
  */
 #define MAP_WITH_RMRR         (1u << 0)
 #define MAP_OWNER_DYING       (1u << 1)
-#define MAP_SINGLE_DEVICE     (1u << 2)
-#define MAP_ERROR_RECOVERY    (1u << 3)
-#define UNMAP_ME_PHANTOM_FUNC (1u << 4)
+#define MAP_ERROR_RECOVERY    (1u << 2)
+#define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
 /* Allow for both IOAPIC and IOSAPIC. */
 #define IO_xAPIC_route_entry IO_APIC_route_entry
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:16:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706122.1103163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGB-0006St-FP; Mon, 15 Apr 2024 12:16:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706122.1103163; Mon, 15 Apr 2024 12: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 1rwLGB-0006Sm-CQ; Mon, 15 Apr 2024 12:16:31 +0000
Received: by outflank-mailman (input) for mailman id 706122;
 Mon, 15 Apr 2024 12:16:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IKSf=LU=bounce.vates.tech=bounce-md_30504962.661d1a9a.v1-df12415ac50046a4b0827733735753de@srs-se1.protection.inumbo.net>)
 id 1rwLG9-0006Sb-VD
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:16:30 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc166306-fb21-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 14:16:28 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJ5kL3k0cz8XRqhX
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 12:16:26 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 df12415ac50046a4b0827733735753de; Mon, 15 Apr 2024 12:16:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc166306-fb21-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713183386; x=1713443886;
	bh=CpLIfnsQ6CTwc8nRBaUZ7IwM1SPQ6YD1gSr8oBgEhC4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=vnO/XCy5oonWo/9iaWGidQIG+mO5ju2HWAg4RIUJ2r1bnOx96H/DvC/TEtRea+bVt
	 xVk5xDFya5hkSZHUrSfcs2GTrp4Yx8xaGVW1IfmfexggpdO7VwVkJNwdcz7aGZ7+fm
	 T5jIsJyDpWhxVUP9ebGr+aKrcFnfE1N+EfDZxrN2dX/uzaiqux5g/3JqJyAezQlQce
	 S/BxwiMf0P7ZHpWaoopaKsD9r6SjNROrdg/YaIQxMpYcUnGWl5OPVhSXELTGwaMdfa
	 oE7ZaNhZTTqwVcrfBAwcRlWs6eP/W28HhBlExqLc9DMk1WDKonXG83mt23P+XRHfkQ
	 v2A6u96hHK4GQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713183386; x=1713443886; i=teddy.astie@vates.tech;
	bh=CpLIfnsQ6CTwc8nRBaUZ7IwM1SPQ6YD1gSr8oBgEhC4=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=yKN+5gwLR+KuqVgnsFp5pS5XH+jupvU54K9UkDo9sv7boUkP37pXjZSwMFpJA9WAh
	 ecMb2NQJtwqFyp5KQWQbyo6bZm5nJvkzocD201Yk5z0l/lrgbubRr/SF8qf5VcYsBy
	 4AyxoU7S03487GJ4DjACvOIpHiDuMcqmJr7fHLN5fl8YjVCx1/wQxNVZiJmpAD6mzj
	 SCCw4jiRZ42B5Ko9SufOF3UKSEGoz1wVsicLFrFRjf+lVoWzaUNnSO8x9pDxWlrdMo
	 6Yh6Vuy+ifxwdCQRSmTqWYnGdSGNuh/325Oj/6AgvaFS2vACsp4B7rrXsDpH2Moxnp
	 fG14Q08vyee/A==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v4=200/5]=20x86/iommu:=20Drop=20IOMMU=20support=20when=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713183385756
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>
Message-Id: <cover.1713174878.git.teddy.astie@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.df12415ac50046a4b0827733735753de?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240415:md
Date: Mon, 15 Apr 2024 12:16:26 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
specifically crafted virtual machines).

Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
while cx16 isn't, those paths may be bugged and are barely tested, dead code
in practice.

Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
no-cx16 handling logic from VT-d and AMD-Vi drivers. Also disable
interrupt remapping that also relies on cx16.

Teddy Astie (5):
  VT-d: Disable IOMMU if cx16 isn't supported
  AMD-Vi: Disable IOMMU if cx16 isn't supported
  VT-d: Cleanup MAP_SINGLE_DEVICE and related code
  VT-d: Disable intrerrupt remapping if cx16 is not supported
  AMD-Vi: Disable intrerrupt remapping if cx16 is not supported

 xen/drivers/passthrough/amd/iommu_intr.c    |  6 ++
 xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
 xen/drivers/passthrough/vtd/intremap.c      | 70 +++++-----------
 xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
 xen/drivers/passthrough/vtd/vtd.h           |  5 +-
 6 files changed, 77 insertions(+), 144 deletions(-)

-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:16:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706123.1103167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGB-0006W9-MP; Mon, 15 Apr 2024 12:16:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706123.1103167; Mon, 15 Apr 2024 12: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 1rwLGB-0006V3-It; Mon, 15 Apr 2024 12:16:31 +0000
Received: by outflank-mailman (input) for mailman id 706123;
 Mon, 15 Apr 2024 12:16:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KJp3=LU=bounce.vates.tech=bounce-md_30504962.661d1a9b.v1-8426781ae7c74282b1e6f20712725546@srs-se1.protection.inumbo.net>)
 id 1rwLGA-0006Sb-JU
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:16:30 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc1438ec-fb21-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 14:16:28 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJ5kM28glz8XRtNL
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 12:16:27 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 8426781ae7c74282b1e6f20712725546; Mon, 15 Apr 2024 12:16: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: fc1438ec-fb21-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713183387; x=1713443887;
	bh=pVW5u35fq+zXx1B2L8XZPx9h9eXL6mZato+52jJIsMA=;
	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=yL1Mr6ZTczaYfHsPFN4XTWjm4qiJyRYGH+LI2gzrNgtb21EgaVN1Y2rRD60uqvrP6
	 zz8C8U7lJLww00F+/SovfYm1qU8w40douXQicu3OTLFpRX9GxxzmjQ1s/KSGNCKeoo
	 EAzhTE9IPIAKv9AUSgJI4itExMJZQ7OwxqHhW+4zuJB6yb8r6sNiaR4NU9KVMZ6roz
	 FiHyKL+Nyve6hHOvGR8d3eDqd6LeQ0dl6I+/ZZUFT0H6Bb3kK+wLEfyfBm7CW3jLC4
	 F5oK+RJtV1TGYNUYQ9sshf2B/RCjG2h6sjkofrnyNMKWngIpsWcaevRILa0Fou5bVG
	 /XhOvT+rB37+A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713183387; x=1713443887; i=teddy.astie@vates.tech;
	bh=pVW5u35fq+zXx1B2L8XZPx9h9eXL6mZato+52jJIsMA=;
	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=UmfWPwzlkKnvKJo1IhUYm6sd2WMBdqKSDOIpv6g0yAro8eN3OeX6++w3tGaPwCfIi
	 B4ow3VSfkEwdhfmC/wDgeckisISoA0sH8QDNNBkroK59GI1VxSOnY5IllsMxftXa+Z
	 aSAQb9G0yoRTM2zY35HNaF6RukpqjZvp2uQYBvsQkuknSCwnI+Ge1eOqqV5XVZGdb6
	 rLIubdMh0XTUBLIkzH64P3mAqRHZCLsCYfkHMip0E9WwFE0kW32VFCn0HU/oBe6tf/
	 dC1qmenMTMs+95YSzCRSbNGwr95ANQjiEf8Yp7TYTwsa+8LAL93m3dfP2/wYyYDTD7
	 bmVrxXhlJxCFQ==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v4=202/5]=20AMD-Vi:=20Disable=20IOMMU=20if=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713183386410
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-Id: <e0aaf39452e274efc558086f3636eccaec241e4c.1713174878.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713174878.git.teddy.astie@vates.tech>
References: <cover.1713174878.git.teddy.astie@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.8426781ae7c74282b1e6f20712725546?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240415:md
Date: Mon, 15 Apr 2024 12:16:27 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware with AMD-Vi has CMPXCHG16 support. Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/amd/iommu_map.c     | 42 +++++++--------------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 +++
 2 files changed, 20 insertions(+), 28 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index e0f4fe736a..f67975e700 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -167,15 +167,14 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
 {
     bool valid = flags & SET_ROOT_VALID;
 
-    if ( dte->v && dte->tv &&
-         (cpu_has_cx16 || (flags & SET_ROOT_WITH_UNITY_MAP)) )
+    if ( dte->v && dte->tv )
     {
         union {
             struct amd_iommu_dte dte;
             uint64_t raw64[4];
             __uint128_t raw128[2];
         } ldte = { .dte = *dte };
-        __uint128_t old = ldte.raw128[0];
+        __uint128_t res, old = ldte.raw128[0];
         int ret = 0;
 
         ldte.dte.domain_id = domain_id;
@@ -185,33 +184,20 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
         ldte.dte.paging_mode = paging_mode;
         ldte.dte.v = valid;
 
-        if ( cpu_has_cx16 )
-        {
-            __uint128_t res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
+        res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
 
-            /*
-             * Hardware does not update the DTE behind our backs, so the
-             * return value should match "old".
-             */
-            if ( res != old )
-            {
-                printk(XENLOG_ERR
-                       "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
-                       domain_id,
-                       (uint64_t)(res >> 64), (uint64_t)res,
-                       (uint64_t)(old >> 64), (uint64_t)old);
-                ret = -EILSEQ;
-            }
-        }
-        else /* Best effort, updating domain_id last. */
+        /*
+         * Hardware does not update the DTE behind our backs, so the
+         * return value should match "old".
+         */
+        if ( res != old )
         {
-            uint64_t *ptr = (void *)dte;
-
-            write_atomic(ptr + 0, ldte.raw64[0]);
-            /* No barrier should be needed between these two. */
-            write_atomic(ptr + 1, ldte.raw64[1]);
-
-            ret = 1;
+            printk(XENLOG_ERR
+                   "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
+                   domain_id,
+                   (uint64_t)(res >> 64), (uint64_t)res,
+                   (uint64_t)(old >> 64), (uint64_t)old);
+            ret = -EILSEQ;
         }
 
         return ret;
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index f6efd88e36..3a6a23f706 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -305,6 +305,12 @@ static int __init cf_check iov_detect(void)
     if ( !iommu_enable && !iommu_intremap )
         return 0;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk("AMD-Vi: CPU doesn't support CMPXCHG16B, disabling\n");
+        return -ENODEV;
+    }
+
     if ( (init_done ? amd_iommu_init_late()
                     : amd_iommu_init(false)) != 0 )
     {
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:16:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706125.1103188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGE-0006xp-4C; Mon, 15 Apr 2024 12:16:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706125.1103188; Mon, 15 Apr 2024 12:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGE-0006x9-0C; Mon, 15 Apr 2024 12:16:34 +0000
Received: by outflank-mailman (input) for mailman id 706125;
 Mon, 15 Apr 2024 12:16:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=73UA=LU=bounce.vates.tech=bounce-md_30504962.661d1a9c.v1-76c1b1f5afb645dab066be61273b0aca@srs-se1.protection.inumbo.net>)
 id 1rwLGC-0006Sb-K2
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:16:32 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd3dd77f-fb21-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 14:16:30 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJ5kN3c36z8XRt03
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 12:16:28 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 76c1b1f5afb645dab066be61273b0aca; Mon, 15 Apr 2024 12:16:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd3dd77f-fb21-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713183388; x=1713443888;
	bh=sMGoHoVGbP7Qy7MkWN2iK9K6d7d7gexdPaWo2on0a1c=;
	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=KzzGEhegveDaeiTGgoeXGg+dPBsltLt76hyczkdN3PNQ/MEhwoecclNdYNncAfuG/
	 jLYe3sIoljv6ztptFwIzNlOK4JxB4f/CG1qEvtGK5LYKWfKoBtDLc0vFfBuo89l6uS
	 rUe2nGlDco/p4RbGZyp5tFYnTx+pNwh1tNhv2Tz+9aD2Bl33n3a8lVqmINysY3vBzo
	 A0Ye/QyNoXdsPqaAw/EE5xjZH19/+J4vy0c5QgyOGYew+P5uewligMcWTpLjqL+1WP
	 Z4Xjdx5szzFG12/tStu3OV1bUz0a58tRmWhlKantQJii7wk6OR0Mlx644rJIRuQizC
	 LU2c6qNlM1wsg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713183388; x=1713443888; i=teddy.astie@vates.tech;
	bh=sMGoHoVGbP7Qy7MkWN2iK9K6d7d7gexdPaWo2on0a1c=;
	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=mkL8Ez9Jous7q8NJSw2rwxYryhuAlCuYTHx9tJgyYgC00E/rc1Cf+A0UXUO1mWnuH
	 0yjymdb83KJTCUffjpbcIUUE2mSK1Gb2QqP64AciQ9XPkjOvCfdlUzHdoQyOo5XbPa
	 6ckdIBY/3MUldQBm01R9CzlSw2Tn7PfF4ZqIP7U1SZA/zgPylqp2X/XUMHhy3JSVto
	 81oSoPs0jgZYjtefNAkC9MSiuxEwRGb43OdiRiDzFR53FDPtE1/v/dpXHAOAVOXViE
	 aofqdKJQbZlzhSqAAlK0RKsQzdhwRUlR+yaVDFHHP+FyDGXP8gxhQRafKmdBja19d6
	 6siWdcv93AOKw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v4=201/5]=20VT-d:=20Disable=20IOMMU=20if=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713183386062
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-Id: <4d229d23a0d4ece607e0d0b9f685c1e5e7a19c95.1713174878.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713174878.git.teddy.astie@vates.tech>
References: <cover.1713174878.git.teddy.astie@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.76c1b1f5afb645dab066be61273b0aca?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240415:md
Date: Mon, 15 Apr 2024 12:16:28 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware with VT-d has CMPXCHG16B support. Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/iommu.c | 73 ++++++++++-------------------
 1 file changed, 25 insertions(+), 48 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index c7110af7c9..9c787ba9eb 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1482,7 +1482,7 @@ int domain_context_mapping_one(
 {
     struct domain_iommu *hd = dom_iommu(domain);
     struct context_entry *context, *context_entries, lctxt;
-    __uint128_t old;
+    __uint128_t res, old;
     uint64_t maddr;
     uint16_t seg = iommu->drhd->segment, prev_did = 0;
     struct domain *prev_dom = NULL;
@@ -1580,55 +1580,23 @@ int domain_context_mapping_one(
         ASSERT(!context_fault_disable(lctxt));
     }
 
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t res = cmpxchg16b(context, &old, &lctxt.full);
-
-        /*
-         * Hardware does not update the context entry behind our backs,
-         * so the return value should match "old".
-         */
-        if ( res != old )
-        {
-            if ( pdev )
-                check_cleanup_domid_map(domain, pdev, iommu);
-            printk(XENLOG_ERR
-                   "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
-                   &PCI_SBDF(seg, bus, devfn),
-                   (uint64_t)(res >> 64), (uint64_t)res,
-                   (uint64_t)(old >> 64), (uint64_t)old);
-            rc = -EILSEQ;
-            goto unlock;
-        }
-    }
-    else if ( !prev_dom || !(mode & MAP_WITH_RMRR) )
-    {
-        context_clear_present(*context);
-        iommu_sync_cache(context, sizeof(*context));
+    res = cmpxchg16b(context, &old, &lctxt.full);
 
-        write_atomic(&context->hi, lctxt.hi);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->lo, lctxt.lo);
-    }
-    else /* Best effort, updating DID last. */
+    /*
+     * Hardware does not update the context entry behind our backs,
+     * so the return value should match "old".
+     */
+    if ( res != old )
     {
-         /*
-          * By non-atomically updating the context entry's DID field last,
-          * during a short window in time TLB entries with the old domain ID
-          * but the new page tables may be inserted.  This could affect I/O
-          * of other devices using this same (old) domain ID.  Such updating
-          * therefore is not a problem if this was the only device associated
-          * with the old domain ID.  Diverting I/O of any of a dying domain's
-          * devices to the quarantine page tables is intended anyway.
-          */
-        if ( !(mode & (MAP_OWNER_DYING | MAP_SINGLE_DEVICE)) )
-            printk(XENLOG_WARNING VTDPREFIX
-                   " %pp: reassignment may cause %pd data corruption\n",
-                   &PCI_SBDF(seg, bus, devfn), prev_dom);
-
-        write_atomic(&context->lo, lctxt.lo);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->hi, lctxt.hi);
+        if ( pdev )
+            check_cleanup_domid_map(domain, pdev, iommu);
+        printk(XENLOG_ERR
+                "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
+                &PCI_SBDF(seg, bus, devfn),
+                (uint64_t)(res >> 64), (uint64_t)res,
+                (uint64_t)(old >> 64), (uint64_t)old);
+        rc = -EILSEQ;
+        goto unlock;
     }
 
     iommu_sync_cache(context, sizeof(struct context_entry));
@@ -2630,6 +2598,15 @@ static int __init cf_check vtd_setup(void)
     int ret;
     bool reg_inval_supported = true;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk(XENLOG_ERR VTDPREFIX
+               "IOMMU: CPU doesn't support CMPXCHG16B, disabling\n");
+
+        ret = -ENODEV;
+        goto error;
+    }
+
     if ( list_empty(&acpi_drhd_units) )
     {
         ret = -ENODEV;
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:16:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706126.1103194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGE-00079B-J6; Mon, 15 Apr 2024 12:16:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706126.1103194; Mon, 15 Apr 2024 12:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGE-00075v-Dz; Mon, 15 Apr 2024 12:16:34 +0000
Received: by outflank-mailman (input) for mailman id 706126;
 Mon, 15 Apr 2024 12:16: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=pS0x=LU=bounce.vates.tech=bounce-md_30504962.661d1a9d.v1-caa6bf1133c14d1cae10a4a7408ac7e0@srs-se1.protection.inumbo.net>)
 id 1rwLGD-0006Sb-K3
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:16:33 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe1b57c1-fb21-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 14:16:31 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJ5kP5ZkLz8XRtNC
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 12:16:29 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 caa6bf1133c14d1cae10a4a7408ac7e0; Mon, 15 Apr 2024 12: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>
X-Inumbo-ID: fe1b57c1-fb21-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713183389; x=1713443889;
	bh=B+c7RehFkAuxaWjjcCy94ZxQGcqvvJ7UfjtxAPt1lFo=;
	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=tJWK3kjKGaJ5ODKmCTaMtkpaAF3SUTDZLG4NY4MZ5cniSka81DmQxs5DWkMbE49DC
	 gXqfMSEnMxibuJO+vl261kCg26QdXwDT5bufrCwbDFVT9ZwDS7jmBGbAz0VCQ24x13
	 NM2XWVFymftX1VfAjoYQW3i3g5gBqIb4D5EmCdC97UDIlBX5W+Fam0znXwdOT+l8IG
	 LuPrZaDrCG4w5GKRvRVQbNcdasvCXYjrFqoB2gk611z4qpsKkYv1nb6HxFxQ6a4iw3
	 SbXIN1pLe5jYqnzmjowJ6/B8BK8cUpylyZWfexe9onQLIeuHB8JnNywgLhWXWhly5n
	 HMpx/kNXgDNUw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713183389; x=1713443889; i=teddy.astie@vates.tech;
	bh=B+c7RehFkAuxaWjjcCy94ZxQGcqvvJ7UfjtxAPt1lFo=;
	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=q03gxlrm5nJiiJuHIPlVeR0H0pmoUMGynKNNJ8AIketBg/xvhJe9Eq7Icj3r4brOc
	 mOvWK14uNZBWgob5C/w11EKDOz1F60WtOj1llO1bfTTKPDscA1EK/ME1NuTx0HQwZa
	 d/Rmn39iqvHXOXsmlhx6+AxG73wYF9PW8QdFJJPYg79NtXuvfPTPjntMY5xKTvOqB1
	 IpGM0Fv+CO0qJ2jGfBXmdZ8g/0FSbu6DzxUK/37+ZrdE4CZ+nJsWbAWIDGx+Ue+nKK
	 +RYqCBayUsoA58e/8elFYemTw5Y1oJplaibW135CNcghDh1lIk5IzV+Feo0m2GCegZ
	 oOY9NXhxg4sTg==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v4=205/5]=20AMD-Vi:=20Disable=20intrerrupt=20remapping=20if=20cx16=20is=20not=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713183387341
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-Id: <26557d23386030166e89dfee240d99d07def6021.1713174878.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713174878.git.teddy.astie@vates.tech>
References: <cover.1713174878.git.teddy.astie@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.caa6bf1133c14d1cae10a4a7408ac7e0?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240415:md
Date: Mon, 15 Apr 2024 12:16:29 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware with AMD-Vi has CMPXCHG16 support.  Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/amd/iommu_intr.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 7fc796dec2..9ab7c68749 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -649,6 +649,12 @@ bool __init cf_check iov_supports_xt(void)
     if ( !iommu_enable || !iommu_intremap )
         return false;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        AMD_IOMMU_WARN("CPU doesn't support CMPXCHG16B, disable interrupt remapping\n");
+        return false;
+    }
+
     if ( amd_iommu_prepare(true) )
         return false;
 
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:16:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706124.1103183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGD-0006vg-TE; Mon, 15 Apr 2024 12:16:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706124.1103183; Mon, 15 Apr 2024 12:16:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLGD-0006vY-Q1; Mon, 15 Apr 2024 12:16:33 +0000
Received: by outflank-mailman (input) for mailman id 706124;
 Mon, 15 Apr 2024 12:16: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=NO1z=LU=bounce.vates.tech=bounce-md_30504962.661d1a9b.v1-5940a3e6221749998ac9aca906e84254@srs-se1.protection.inumbo.net>)
 id 1rwLGB-0006Sb-Ji
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:16:31 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fca20e38-fb21-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 14:16:29 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VJ5kN0Q8xzDRHx8L
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 12:16:28 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 5940a3e6221749998ac9aca906e84254; Mon, 15 Apr 2024 12:16: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: fca20e38-fb21-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713183388; x=1713443888;
	bh=N55hC69B7xJL3Kv7A7B9tNKAYd1n2HnGpDoxaSJnBes=;
	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=bcY4bLo6Tngd9910qD9P9AuopNav7PQ3rhdRCf277Ef/iWENJfyn0w4cbxgwTlX2V
	 sSUVq5UahlurNBJcLnKcYpIr2mSsoQcA0CJ8MYmlHb/P/25caGhu/ZKA0NCjqVr5JR
	 8OxI7fiu5UXgNXjnvFO8UpKOZpv8VJerPemUVLFqe2ZAz5Uy+1bA/VgRFKGWYL/xuo
	 3B8BxJgM/YP+SgPzdzfVejnct3LTHEtWmXV5FJ88YgHlsgRIJPRqMg56j5dhrQLshe
	 PXdO+rHBRdGBSW4h2No0ymisKG/IyVEfU71JqwaidvwxLC9BWWCnl6Qa0eDjwvfqRw
	 KtNDR+0uKZlUw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713183388; x=1713443888; i=teddy.astie@vates.tech;
	bh=N55hC69B7xJL3Kv7A7B9tNKAYd1n2HnGpDoxaSJnBes=;
	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=v2SfJIbwokjLYSpPyKgyooUHE1MuI9xbjPbqmGhGmHTGthMRTx3+gU1l23OAkuSS2
	 hA9Wb0YBDOZ3aOH83JXFXzn+oe3ecmfrPiZONqYFHUuiswpIciaHWKkvJ/UfS4ybs9
	 JlOKYRYhS1eUesqZgMrvHZFAIZCB9ogkUhBe8QQdLixbr2kWATp6wLDMlV161lLBv4
	 WUfeRzj1MNbzB1zaWLOpUZfo/tDYSEE2SrAPsKD1BB8T+nJ3YYnoWlLxIBzPYJGKq8
	 HlLaxycuDdVxp8nZwU/my09g84TPf5cScroQKX8DJDZeByiTKlzwaZlG6zxbcXDplz
	 MPxI/0aSnaNFw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v4=204/5]=20VT-d:=20Disable=20intrerrupt=20remapping=20if=20cx16=20is=20not=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713183387080
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>
Message-Id: <e08d65ded9f82a837f9f0f5cbcd1533018571ebf.1713174878.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713174878.git.teddy.astie@vates.tech>
References: <cover.1713174878.git.teddy.astie@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.5940a3e6221749998ac9aca906e84254?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240415:md
Date: Mon, 15 Apr 2024 12:16:27 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware with VT-d has CMPXCHG16B support.  Check this at initialisation
time, and remove the effectively-dead logic for the non-cx16 case.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/intremap.c | 70 ++++++++------------------
 xen/drivers/passthrough/vtd/iommu.c    |  7 +--
 2 files changed, 21 insertions(+), 56 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index c504852eb8..7d4d907b4f 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -150,6 +150,13 @@ bool __init cf_check intel_iommu_supports_eim(void)
     if ( !iommu_qinval || !iommu_intremap || list_empty(&acpi_drhd_units) )
         return false;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk(XENLOG_WARNING VTDPREFIX
+               "CPU doesn't support CMPXCHG16B, disable interrupt remapping\n");
+        return false;
+    }
+
     /* We MUST have a DRHD unit for each IOAPIC. */
     for ( apic = 0; apic < nr_ioapics; apic++ )
         if ( !ioapic_to_drhd(IO_APIC_ID(apic)) )
@@ -173,47 +180,26 @@ bool __init cf_check intel_iommu_supports_eim(void)
  * Assume iremap_lock has been acquired. It is to make sure software will not
  * change the same IRTE behind us. With this assumption, if only high qword or
  * low qword in IRTE is to be updated, this function's atomic variant can
- * present an atomic update to VT-d hardware even when cmpxchg16b
- * instruction is not supported.
+ * present an atomic update to VT-d hardware.
  */
 static void update_irte(struct vtd_iommu *iommu, struct iremap_entry *entry,
                         const struct iremap_entry *new_ire, bool atomic)
 {
-    ASSERT(spin_is_locked(&iommu->intremap.lock));
+    __uint128_t ret;
+    struct iremap_entry old_ire;
 
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t ret;
-        struct iremap_entry old_ire;
+    ASSERT(spin_is_locked(&iommu->intremap.lock));
 
-        old_ire = *entry;
-        ret = cmpxchg16b(entry, &old_ire, new_ire);
+    old_ire = *entry;
+    ret = cmpxchg16b(entry, &old_ire, new_ire);
 
-        /*
-         * In the above, we use cmpxchg16 to atomically update the 128-bit
-         * IRTE, and the hardware cannot update the IRTE behind us, so
-         * the return value of cmpxchg16 should be the same as old_ire.
-         * This ASSERT validate it.
-         */
-        ASSERT(ret == old_ire.val);
-    }
-    else
-    {
-        /*
-         * VT-d hardware doesn't update IRTEs behind us, nor the software
-         * since we hold iremap_lock. If the caller wants VT-d hardware to
-         * always see a consistent entry, but we can't meet it, a bug will
-         * be raised.
-         */
-        if ( entry->lo == new_ire->lo )
-            write_atomic(&entry->hi, new_ire->hi);
-        else if ( entry->hi == new_ire->hi )
-            write_atomic(&entry->lo, new_ire->lo);
-        else if ( !atomic )
-            *entry = *new_ire;
-        else
-            BUG();
-    }
+    /*
+     * In the above, we use cmpxchg16 to atomically update the 128-bit
+     * IRTE, and the hardware cannot update the IRTE behind us, so
+     * the return value of cmpxchg16 should be the same as old_ire.
+     * This ASSERT validate it.
+     */
+    ASSERT(ret == old_ire.val);
 }
 
 /* Mark specified intr remap entry as free */
@@ -395,7 +381,6 @@ static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
     /* Indicate remap format. */
     remap_rte->format = 1;
 
-    /* If cmpxchg16b is not available the caller must mask the IO-APIC pin. */
     update_irte(iommu, iremap_entry, &new_ire, !init && !masked);
     iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
     iommu_flush_iec_index(iommu, 0, index);
@@ -437,21 +422,6 @@ void cf_check io_apic_write_remap_rte(
     bool masked = true;
     int rc;
 
-    if ( !cpu_has_cx16 )
-    {
-       /*
-        * Cannot atomically update the IRTE entry: mask the IO-APIC pin to
-        * avoid interrupts seeing an inconsistent IRTE entry.
-        */
-        old_rte = __ioapic_read_entry(apic, pin, true);
-        if ( !old_rte.mask )
-        {
-            masked = false;
-            old_rte.mask = 1;
-            __ioapic_write_entry(apic, pin, true, old_rte);
-        }
-    }
-
     /* Not the initializer, for old gcc to cope. */
     new_rte.raw = rte;
 
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 7c6bae0256..a1bd3c5ff6 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2663,12 +2663,7 @@ static int __init cf_check vtd_setup(void)
             iommu_intremap = iommu_intremap_off;
 
 #ifndef iommu_intpost
-        /*
-         * We cannot use posted interrupt if X86_FEATURE_CX16 is
-         * not supported, since we count on this feature to
-         * atomically update 16-byte IRTE in posted format.
-         */
-        if ( !cap_intr_post(iommu->cap) || !iommu_intremap || !cpu_has_cx16 )
+        if ( !cap_intr_post(iommu->cap) || !iommu_intremap )
             iommu_intpost = false;
 #endif
 
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:24:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706153.1103226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLNm-0002cL-N8; Mon, 15 Apr 2024 12:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706153.1103226; Mon, 15 Apr 2024 12: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 1rwLNm-0002bn-KW; Mon, 15 Apr 2024 12:24:22 +0000
Received: by outflank-mailman (input) for mailman id 706153;
 Mon, 15 Apr 2024 12:23: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=uq4e=LU=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1rwLMt-0002DR-2n
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:23:27 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11olkn20801.outbound.protection.outlook.com
 [2a01:111:f403:2c14::801])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f511b039-fb22-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 14:23:26 +0200 (CEST)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by BL3PR02MB8185.namprd02.prod.outlook.com (2603:10b6:208:338::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Mon, 15 Apr
 2024 12:23:23 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::1276:e87b:ae1:a596]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::1276:e87b:ae1:a596%5]) with mapi id 15.20.7409.053; Mon, 15 Apr 2024
 12:23:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f511b039-fb22-11ee-b908-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iUN6rfCd+3+u7WecpObDg3Q6+bYuD9V06JDy/JWYsgn+rg54bv7JIQPi+CUqO/H2imJbTJSC/Afjn6Rnc/24XMtCmN/iqRibdlnQ5YEbdanZ8CtvkRYnijxL6hPAZVKCKJpvLiio1m+CbFM+bV/v6gv7quJAkds2rrFSPYQ6LNgcycL05cAScInhvZiMikv15YavWoG8OHqshjExfNneejopanlrX5ndbrb8F200vEzdlCBz2bUwOIfxSA/5/FbHwYWYb+4VSmtHr2JYOvXmmDs8HP9Lds+3vC/MVwK5XktDVQi1giLHAVUFFCJwpL3IsblUQQRTcu5EnAY0uIjxXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6MhZDabTrpvrJ2J9E/cCi/rE8K3tSlcY4iGhn8KHCGI=;
 b=K/wGIKAPdOkj+WVTCscpZE0zTD6atY4SfD3IjOogw30sSfF9CSnIGvfab2V9AVfgaIi1yLPC21FIFOki+ZNgdAH9OBfDDB0glKSTXX9Oq9/OhdCdraOtGkPCoi5u/6xksJyiLTPHqvywY0uoHAwMbzLc/b0UI+/QWgO+SAomVOzYiqfRGh7zn/I8w3GFlC14O56RG3wcRbAIIvvpGx/fo+ziFlOFSzHeOgnUSt1HL8SNaYDOGLCeJwqUnuPRbUzFVUWgA4WGPH2OUff3OIcHMih6y3YoT7Ysj28DZu2f/hToAbNdFu43ZC6zmhkXbAbyt2alFL7lIuVyZgAyawTTeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6MhZDabTrpvrJ2J9E/cCi/rE8K3tSlcY4iGhn8KHCGI=;
 b=NbLAhqZxM0ymy5DJu9QhEe6mNJ9u9ZKooj/RFNicvJKCRwA8D9xrmqG65XcwnKNHeYnpSccsM3EPYphV0QiTmFMWS+tPSA+sZiNXl6nM5F0NbuSyQb72nfgJHiLFzGD51XkZYj3B4oW9Z5icCFd4HEX489BmwnoIoKU7wlkr1O58ca1rndbKy2B3tSpeN2g2xXogx12uuhngoBKMcCHXgJTMijifsWRP2kotAhZOzlryRn8/awMDRGF/gLafQIYVgODXDaW83gsGnwLlTTi8Cc8F8KcuuxItqD2AtCAwoFBcYBoigAAHUBj4dS0eJqzEuKGMPx7kWvbptq1uQOkong==
From: Michael Kelley <mhklinux@outlook.com>
To: =?iso-8859-2?Q?Petr_Tesa=F8=EDk?= <petr@tesarici.cz>,
	"mhkelley58@gmail.com" <mhkelley58@gmail.com>
CC: "robin.murphy@arm.com" <robin.murphy@arm.com>, "joro@8bytes.org"
	<joro@8bytes.org>, "will@kernel.org" <will@kernel.org>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>, "hch@lst.de"
	<hch@lst.de>, "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"roberto.sassu@huaweicloud.com" <roberto.sassu@huaweicloud.com>
Subject: RE: [PATCH 1/2] swiotlb: Remove alloc_size argument to
 swiotlb_tbl_map_single()
Thread-Topic: [PATCH 1/2] swiotlb: Remove alloc_size argument to
 swiotlb_tbl_map_single()
Thread-Index: AQHaiWsCp8JQSGA74EyasRMxVkBb5LFpQj8AgAAIqdA=
Date: Mon, 15 Apr 2024 12:23:22 +0000
Message-ID:
 <SN6PR02MB4157C8206FE193B2C5B2A93FD4092@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20240408041142.665563-1-mhklinux@outlook.com>
 <20240415134624.22092bb0@meshulam.tesarici.cz>
In-Reply-To: <20240415134624.22092bb0@meshulam.tesarici.cz>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-tmn:
 [LWNEHOfj6DDOT/nyurn4SJkUTEsWk85TEa4IfLRChvEwrvZhf/lhCuh9QOWDtEVmrd6meoCL3Uc=]
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|BL3PR02MB8185:EE_
x-ms-office365-filtering-correlation-id: 24bf1e2d-6ad3-4727-0ec2-08dc5d46d77f
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 RgGwZzlvwRuOuNVG0dcPFfPNkwrhYDk/rME9bThLq/YMO1SNhseZB+ZsC8JRybttGqsJ8jHNHMGYbwJ1NhvexkuPOYck2CgkD3IT0KjsmhFV7TYmhPIrGvANVMRjSmh/MBGlWVDX5IwvVV4noOcZp0NjFVVzdbQhn5Y+Z/2Ibs72nYabTqWBla/4nIdaoQsW5wOqPEK0LgLjg7EU9FrhzwJPGRJXwTJaTD00nkMrISXFE+5RnPdjlsDpqU2hXzkM2tycb0ncWfqs1TYOOTBHWqcBFESqAHlq8e9XdIIkcRRYyOhObCw3riyqV5Dv/vZ8Uw4zQTeH2XS2ndWBwHw/mC5YplLxa6DcN/tLtlrDH7mt0rI0nyoZ+7QSiyIqer13P+AfoWucVfMEQnavVNVD9r7SxAOYfUxq0wghoC64WQeTPC1ojbT4Wx7+DKmRzc1I10tU1Aw3kUAEJp+wuhcc+YeVXI7I43oiLS7axMgTxUwekWh7N5l2kZ1ub1u5UBxNzw15hf8HhNfQstYlUv5XJ2oSw6haTgWrW644eIteSlWiTUbRMvQIbz7loU532yTB
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-2?Q?tiaqRuH7lsvYapt1Sm7t4lcaedyTTyH1r3jfUXn5lkYlv/y1Vzkv07+goT?=
 =?iso-8859-2?Q?v9YPma/rA2Al/gPTJc6Bqe1GRPnbssM/uNXQQY/JBr5xZbgkskCSucCpNR?=
 =?iso-8859-2?Q?UYxd878BZpTyDc+5nKYjpbfW5wdZuAPDPtDPgLXDCaKptzqDKt2zkOD+tg?=
 =?iso-8859-2?Q?y1cB9TITk/TXjM7qdjuZwtZYzOUR0JTlAde2BxaLvguUPQNY7pYxHPPn3c?=
 =?iso-8859-2?Q?vSLKBqypZwzELQOV3OPQigVSqXFIixpudnsl+CBpvcVCNAmUAaMfTlhl3H?=
 =?iso-8859-2?Q?qh4j17sZrEuhVB0aOdI5L9F79aNbLAo0+q4wC3SOygrKYCeNU8aBjm/DKg?=
 =?iso-8859-2?Q?nof+dJarJoIehA5j56RKFLhE64D0cpnK+S8v7EhveKT3U4Ybs8tNbI/7cw?=
 =?iso-8859-2?Q?RdiBoYhfW/uJQF1Myjfk4kMJ6UVW9Vn3iYD/3wFZjWHigEojgnDrshEjXh?=
 =?iso-8859-2?Q?jI++8i99bmB1Lig2LiVmYbHwTyQfOuyycsdmltMGwqx230q/4IKgspsrgv?=
 =?iso-8859-2?Q?4Pe01ucibVgeE+Ifpa5CUxh+XdImY4hessuZ0Mdrzg9T4+HyjXnEcDPJyf?=
 =?iso-8859-2?Q?1li/yHSzrv4vjZ3UXp8/3RLa5AdVtah+XbDTLnJgjg92YssLnyMZG/VyLY?=
 =?iso-8859-2?Q?n+X9H25Mo4ZAmyK55celMwn1gUHDdnJ1y8A/pFvy+phbkkZFfqPEuUnflZ?=
 =?iso-8859-2?Q?qvqSbHBZ0yNCs68G9UIu68UZnD3hPVQrwL4+SE2QvC/qXKwl1o2XQ/EEdA?=
 =?iso-8859-2?Q?1Jm2bK9X0PU5V0tSvP9kxoAfsOFsDT1calK1fT3NOYRAYcdMatB6hBhGNy?=
 =?iso-8859-2?Q?hygwS48Ki8h0gHRUc5Y4K2yhEOnZmeTt7UzOMuqZH01NaVo1pV91MsT2dj?=
 =?iso-8859-2?Q?lgXaszVJd+nImZLi12uKhVMVLUCeuA8mCYnOxmuzfCjEiz1j8+PDT7yVfS?=
 =?iso-8859-2?Q?Q016AK7ClMvOsh0B2oyLqiREKoKfRPEOySn+ls5he1y4P86BssaSKPZ5zl?=
 =?iso-8859-2?Q?o1xFlNzWy1Z413Vc7ZiqA+uOojU0ayT8K29vU4lgQPeyuFWXgynfGhBZ+i?=
 =?iso-8859-2?Q?TNtl9/pRmsGAeAotXxcp8waAzB0Axfcx2WSC4GdOrTIhLv7+Cy8RbkyDy8?=
 =?iso-8859-2?Q?wVqnrFbEHy13yC5FVLnaDE41uqDoptphQnrCjoCXKfnvtbVpD2Xvaioak6?=
 =?iso-8859-2?Q?eXilC3mRHJkR9mAw9BhmHEM8636zOWTdcbbIYt6Sk4cpNQl3woCuGMethT?=
 =?iso-8859-2?Q?NGgIWKk9YAxwSDnP4ow4Phs3eIpvDuf7hfAVwxutd5wT7srxiFDQBRkqpr?=
 =?iso-8859-2?Q?ItTbRc3Y4TrQaGaNJSTLW/reug1TGx0+tXbYyPaqmUjBobY=3D?=
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 24bf1e2d-6ad3-4727-0ec2-08dc5d46d77f
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2024 12:23:22.3777
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR02MB8185

From: Petr Tesa=F8=EDk <petr@tesarici.cz> Sent: Monday, April 15, 2024 4:46=
 AM
>=20
> Hi Michael,
>=20
> sorry for taking so long to answer. Yes, there was no agreement on the
> removal of the "dir" parameter, but I'm not sure it's because of
> symmetry with swiotlb_sync_*(), because the topic was not really
> discussed.
>=20
> The discussion was about the KUnit test suite and whether direction is
> a property of the bounce buffer or of each sync operation. Since DMA API
> defines associates each DMA buffer with a direction, the direction
> parameter passed to swiotlb_sync_*() should match what was passed to
> swiotlb_tbl_map_single(), because that's how it is used by the generic
> DMA code. In other words, if the parameter is kept, it should be kept
> to match dma_map_*().
>=20
> However, there is also symmetry with swiotlb_tbl_unmap_single(). This
> function does use the parameter for the final sync. I believe there
> should be a matching initial sync in swiotlb_tbl_map_single(). In
> short, the buffer sync for DMA non-coherent devices should be moved from
> swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
> then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
> the flags parameter.
>=20
> To sum it up:
>=20
> * Do *NOT* remove the "dir" parameter.
> * Let me send a patch which moves the initial buffer sync.
>=20

I'm not seeing the need to move the initial buffer sync.  All
callers of swiotlb_tbl_map_single() already have a subsequent
check for a non-coherent device, and a call to=20
arch_sync_dma_for_device().  And the Xen code has some=20
special handling that probably shouldn't go in
swiotlb_tbl_map_single().  Or am I missing something?

Michael


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 12:50:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 12:50:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706167.1103241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLn4-0001RC-Q7; Mon, 15 Apr 2024 12:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706167.1103241; Mon, 15 Apr 2024 12: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 1rwLn4-0001R5-N9; Mon, 15 Apr 2024 12:50:30 +0000
Received: by outflank-mailman (input) for mailman id 706167;
 Mon, 15 Apr 2024 12:50:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vrLP=LU=tesarici.cz=petr@srs-se1.protection.inumbo.net>)
 id 1rwLn3-0001Qz-3b
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 12:50:30 +0000
Received: from bee.tesarici.cz (bee.tesarici.cz [37.205.15.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb1534fb-fb26-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 14:50:26 +0200 (CEST)
Received: from meshulam.tesarici.cz
 (dynamic-2a00-1028-83b8-1e7a-4427-cc85-6706-c595.ipv6.o2.cz
 [IPv6:2a00:1028:83b8:1e7a:4427:cc85:6706:c595])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest
 SHA256) (No client certificate requested)
 by bee.tesarici.cz (Postfix) with ESMTPSA id 9439E1BF928;
 Mon, 15 Apr 2024 14:50:24 +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: bb1534fb-fb26-11ee-94a3-07e782e9044d
Authentication-Results: mail.tesarici.cz; dmarc=fail (p=quarantine dis=none) header.from=tesarici.cz
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tesarici.cz; s=mail;
	t=1713185424; bh=M2HaBAuTKrviowlzyI5h8oMxT5Sg+xhz7eOEBl7jJB0=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=c8k06kIOXmMJv7e2ISjtiEV6tNW/S+yPRdzSor2v9Ruz3mcCQpiNe24AiI1zjWSko
	 MqS/+pJZVWvHolsHemuBN7L2IifbIPIQlS1hAn3mEEoYHiMKEUQyG0UZq1O/FcUlEO
	 45fdUvgFPHC9mwNNPMarBaLqlbtpAsgga/rVRGdXEWqBpIFLXuWCWI3zwCCKRPD3Vc
	 XEopKqj+lIjr5amlK43aRwFu+zO95cwkxZaXrklAnO7RVMzUDaodKHArz0nxXer6h7
	 YEVLNNwFVU99aeGT/khpEWzFh9IPgCptc4SEhlTqI6ISRsUsLBAItVnPmeN/bB3LFO
	 lCIGSEtpA+baA==
Date: Mon, 15 Apr 2024 14:50:23 +0200
From: Petr =?UTF-8?B?VGVzYcWZw61r?= <petr@tesarici.cz>
To: Michael Kelley <mhklinux@outlook.com>
Cc: "mhkelley58@gmail.com" <mhkelley58@gmail.com>, "robin.murphy@arm.com"
 <robin.murphy@arm.com>, "joro@8bytes.org" <joro@8bytes.org>,
 "will@kernel.org" <will@kernel.org>, "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
 "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
 <m.szyprowski@samsung.com>, "iommu@lists.linux.dev"
 <iommu@lists.linux.dev>, "linux-kernel@vger.kernel.org"
 <linux-kernel@vger.kernel.org>, "xen-devel@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, "roberto.sassu@huaweicloud.com"
 <roberto.sassu@huaweicloud.com>
Subject: Re: [PATCH 1/2] swiotlb: Remove alloc_size argument to
 swiotlb_tbl_map_single()
Message-ID: <20240415145023.78e7ce97@meshulam.tesarici.cz>
In-Reply-To: <SN6PR02MB4157C8206FE193B2C5B2A93FD4092@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20240408041142.665563-1-mhklinux@outlook.com>
	<20240415134624.22092bb0@meshulam.tesarici.cz>
	<SN6PR02MB4157C8206FE193B2C5B2A93FD4092@SN6PR02MB4157.namprd02.prod.outlook.com>
X-Mailer: Claws Mail 4.2.0 (GTK 3.24.41; x86_64-suse-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Mon, 15 Apr 2024 12:23:22 +0000
Michael Kelley <mhklinux@outlook.com> wrote:

> From: Petr Tesa=C5=99=C3=ADk <petr@tesarici.cz> Sent: Monday, April 15, 2=
024 4:46 AM
> >=20
> > Hi Michael,
> >=20
> > sorry for taking so long to answer. Yes, there was no agreement on the
> > removal of the "dir" parameter, but I'm not sure it's because of
> > symmetry with swiotlb_sync_*(), because the topic was not really
> > discussed.
> >=20
> > The discussion was about the KUnit test suite and whether direction is
> > a property of the bounce buffer or of each sync operation. Since DMA API
> > defines associates each DMA buffer with a direction, the direction
> > parameter passed to swiotlb_sync_*() should match what was passed to
> > swiotlb_tbl_map_single(), because that's how it is used by the generic
> > DMA code. In other words, if the parameter is kept, it should be kept
> > to match dma_map_*().
> >=20
> > However, there is also symmetry with swiotlb_tbl_unmap_single(). This
> > function does use the parameter for the final sync. I believe there
> > should be a matching initial sync in swiotlb_tbl_map_single(). In
> > short, the buffer sync for DMA non-coherent devices should be moved from
> > swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not needed,
> > then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
> > the flags parameter.
> >=20
> > To sum it up:
> >=20
> > * Do *NOT* remove the "dir" parameter.
> > * Let me send a patch which moves the initial buffer sync.
> >  =20
>=20
> I'm not seeing the need to move the initial buffer sync.  All
> callers of swiotlb_tbl_map_single() already have a subsequent
> check for a non-coherent device, and a call to=20
> arch_sync_dma_for_device().  And the Xen code has some=20
> special handling that probably shouldn't go in
> swiotlb_tbl_map_single().  Or am I missing something?

Oh, sure, there's nothing broken ATM. It's merely a cleanup. The API is
asymmetric and thus confusing. You get a final sync by default if you
call swiotlb_tbl_unmap_single(), but you don't get an initial sync by
default if you call swiotlb_tbl_map_single(). This is difficult to
remember, so potential new users of the API may incorrectly assume that
an initial sync is done, or that a final sync is not done.

And yes, when moving the code, all current users of
swiotlb_tbl_map_single() should specify DMA_ATTR_SKIP_CPU_SYNC.

Petr T


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 13:03:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 13:03:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706195.1103270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwLzm-0005Qc-9n; Mon, 15 Apr 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 706195.1103270; Mon, 15 Apr 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 1rwLzm-0005QV-72; Mon, 15 Apr 2024 13:03:38 +0000
Received: by outflank-mailman (input) for mailman id 706195;
 Mon, 15 Apr 2024 13:03: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=uq4e=LU=outlook.com=mhklinux@srs-se1.protection.inumbo.net>)
 id 1rwLzk-0005QP-NR
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 13:03:37 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10olkn20800.outbound.protection.outlook.com
 [2a01:111:f403:2c12::800])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90629636-fb28-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 15:03:34 +0200 (CEST)
Received: from SN6PR02MB4157.namprd02.prod.outlook.com (2603:10b6:805:33::23)
 by SJ0PR02MB8685.namprd02.prod.outlook.com (2603:10b6:a03:3e5::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Mon, 15 Apr
 2024 13:03:30 +0000
Received: from SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::1276:e87b:ae1:a596]) by SN6PR02MB4157.namprd02.prod.outlook.com
 ([fe80::1276:e87b:ae1:a596%5]) with mapi id 15.20.7409.053; Mon, 15 Apr 2024
 13:03: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: 90629636-fb28-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mEe/EQTqGz62BxAS6Y24hwE6D7xzSoVxN25b8pU750NSFQwFl9ILn5YMJbLrRAhfxPCDzTNYS8Ny1iot9wKwqqW2mpayuoEdLgCttS+hWAoxGmwPuIEzYvuvgSnob79m5jOAFilvpQlcu9nAvmYGXKR3UDcIuphi6iBFFeIDMvcHQX0+K3YDu3WYW5ouRA37RCZf0MZ50DE5OR7EMluhBtDBpWj+v4iqh/Zh9/bJbRUlQj6Mna3jhu4vxReeTDkzYGIpVnHDLBqGKccZwQPPWDjEnQZs8IZyd1pkn1wthMbS6dMt4bhC6Qw/5nmjcdIDcXlu9kgPD2sATW7c6gnCpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1t+W7Vt5bnNO8ImQcb2CUq9SL1UfLTfsaSOeTUQsNrQ=;
 b=DsV0RKzTag2UMAUQajO0Z8IavVthxdxElKmSFGxA0BJVMp6Z7do/tz0605jbHUq/qaGf2/UeZ27SkyERAxlAclw8GM9DyQjBj0CLvTihTKPUz40k4V3Tk8+gttnd2+o7OeU6qF5KJ34A/7AdNiD7DCu/+5xLFYigWUxAfLCdmJqHrlg1UMrYzwtVGJGDyKOwtS9DpQbAQRitnmfslX+gjfx81KrWi8v4whS7atpWqjUPBoB+qZ+0tZwQT+9Kbv9lky5yHo/EVrUW5/++kqEhQtvsAKah+h9otNluKSVwU3ZNysaP6ruRVuyIsxgkK1O/CvlUyCoB1YmVj523W3wK8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1t+W7Vt5bnNO8ImQcb2CUq9SL1UfLTfsaSOeTUQsNrQ=;
 b=Gj9VEGc26nWRH2/0OtOQPiSsIXboFCWnKTTs2TbYFPu1mjza7cDFEKq8iVOjB0UyK73BJ137OwpzgZ5YIwL3TUET0u5Np1uWcQf2HF3lk5qAHCnv9Bwd5Z15m3iJ4Wl7GhAiJ6yJKzAAkr6VrkayxzetsMKNgm9QqRMU9Izz9pmDNBBWbzrQgzOdhXxYh3UODp0dWSqLkNMDbeSzkXXZdL9kiP3L8ed09GWlUCxMG1oJ/5gImneoB6now577+u7QjlSxx48dGRrJU7ep0Y+EjWYtCctRrmqTTUk69WS94DeAQFDyiI8cuOk8Z19shOWQ0P8XkXUIjFxrCNRzl6tEyw==
From: Michael Kelley <mhklinux@outlook.com>
To: =?utf-8?B?UGV0ciBUZXNhxZnDrWs=?= <petr@tesarici.cz>
CC: "mhkelley58@gmail.com" <mhkelley58@gmail.com>, "robin.murphy@arm.com"
	<robin.murphy@arm.com>, "joro@8bytes.org" <joro@8bytes.org>,
	"will@kernel.org" <will@kernel.org>, "jgross@suse.com" <jgross@suse.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>, "hch@lst.de"
	<hch@lst.de>, "m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"roberto.sassu@huaweicloud.com" <roberto.sassu@huaweicloud.com>
Subject: RE: [PATCH 1/2] swiotlb: Remove alloc_size argument to
 swiotlb_tbl_map_single()
Thread-Topic: [PATCH 1/2] swiotlb: Remove alloc_size argument to
 swiotlb_tbl_map_single()
Thread-Index: AQHaiWsCp8JQSGA74EyasRMxVkBb5LFpQj8AgAAIqdCAAAk3gIAAAjWw
Date: Mon, 15 Apr 2024 13:03:30 +0000
Message-ID:
 <SN6PR02MB415749D379BFCC0749B44900D4092@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20240408041142.665563-1-mhklinux@outlook.com>
	<20240415134624.22092bb0@meshulam.tesarici.cz>
	<SN6PR02MB4157C8206FE193B2C5B2A93FD4092@SN6PR02MB4157.namprd02.prod.outlook.com>
 <20240415145023.78e7ce97@meshulam.tesarici.cz>
In-Reply-To: <20240415145023.78e7ce97@meshulam.tesarici.cz>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-tmn:
 [pVRsuOJEq9Y5eF/MgqRfCNUe2UqvDHU0OuKkM8evoBccCsYlPFzXCga30KDd97OLufF8iXw7ds0=]
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SN6PR02MB4157:EE_|SJ0PR02MB8685:EE_
x-ms-office365-filtering-correlation-id: cc6f5e38-edd4-4128-7043-08dc5d4c72a6
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 jXQaIJWl7DK90Ty53pwK+9Fsmgr8BzTRHxNCwWVp4/Df/XcIwcvO9kGRaa/FVG8//zkTVg+yppzjiU0uNiOClp3YVdAehuURhUWJmkuE0G6CDMRjrHcDbgqMwXWQAsCdY2ZPxex5hxY2H0Yw+3u9nYBiwG97MiZiwY+DW4fWgW408CXADDFffUG8qmK0VIdcw8Ze6XRORKMwHRwPRbhZzVzX6O52nJuFVW9kBi5mVo/kZ/wzKVxbwOkOPZz1k/BNWiC5uhVKfp1CwxKWm1MTJuvRtxjhzgTzwFTB7Z59y6t06WxGWLAu2zRRapVXIGbTRNedW6Eel77rOkySzyf3W2WENJtGOHeHcq3NOpuIGCy8iLHzenyIh8uHcNsXVdU4E+1M+FiN9UI4Ibzbasq6a4Vnf54B5yx33vWNcJaTEvGkfGciW217VukFOT5IBGfWhkyhfeAnqLoPJbkuBVO/fuk9RfypsvZHzEU41ucs581wlRlFnxvSTHf3n9meModmEI/JWAJ7OO+2r4YpGvuNSB2ecRdgsmJ222ciD+yIm/b9ZBU/F0JXPjFOtjjoBYdB
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eldyZ1Fwa1R4NEVlSjhGcTNpSndTWFlndkVLVGRWMWI3a1JKMjNEWkpwb0pZ?=
 =?utf-8?B?eVZjL1pxN2N6a2h0WFZaYk1KUXgrNDAxSFRVbWREQnB4b3d0TG9xTHpkaXN3?=
 =?utf-8?B?VzdyWG1zUzhvMmViSC9tZlltYkI3QUl5b2d6YUg1ejByc3pEbTFBL2o5R3hj?=
 =?utf-8?B?a3FlcDhKUTBlOUFQQVlLZ0F2Y0V3WEV0aXRNZlpRK0hJMk8yM0ZZODA0Z1d4?=
 =?utf-8?B?bzhFSXpXS2RTZXlFbTNqNmo5a2xKOFI4ZjFLTnhWOXRSSFdxcHU5SWNiVWM2?=
 =?utf-8?B?SVhJRmpXL2FYWkFiVHZzL0wvaStESE5NMEp5U0ZjZnBtN25RbXlmNzZyUnZz?=
 =?utf-8?B?ckM4WmhIaVZiLzBFQmhTZlUvbG1qdjBxREY4S2hlZlp3WGFHNHNva1EwMWVP?=
 =?utf-8?B?d2dJVWQ0Vi9mWmViQXowZHJleVZoNmJmdjR4cEtYSHZIMks2MUh0SlByVG9w?=
 =?utf-8?B?eVpqamtUNHlrVDJRbzM1Tm84TlplaEVhOWlOdzlGMVN0Z01DMEpHWnBIeWQy?=
 =?utf-8?B?UGUvWXROSWdYOTVNV041QzErMmpUY1VGdjlmckYwL25MQmV1L0o2QXhFLzVC?=
 =?utf-8?B?NUJISXN6RzlqRVdOK09xazFDRzlDcGJlSXZUSEJhNFJ3c2N4N0ZtdGZBWEwv?=
 =?utf-8?B?ZkxId1BEQzBMd0piVHBYQlBnR1FNYWF3dGN5UXBGb2pRdGZBSlpPSjIxQVdt?=
 =?utf-8?B?YTdaWnQ2bU1pZjVDUTFmZHpXVERhYkxCUFV3ZlRnYW42dFo1UFVVdWdsd3lJ?=
 =?utf-8?B?MXEwS1pIaGh6c21DSVpiaGJCVnd6TnYzNFg0TFJwMHhSZy95NVB1WUVJSUw4?=
 =?utf-8?B?L2xRK1AvT21PQ09JZzhQQThsVFYxZ0Z5VHQrN3Y3cEtNeXIvY2JONzlFNU5M?=
 =?utf-8?B?N1l1ejBNN2VobENWUloxbEN5RFlWQ3VBcUlJVEw2a0VvOVhWT0w3MENKV0dS?=
 =?utf-8?B?eFBQbW8wRjhhQlBKNkVUbVY4MWV6QXJCNmIrTktZZitDVHB4M1I5emxZVFpN?=
 =?utf-8?B?MkJjdE9RQmRvcmE0SHFJZTJQQnlPRzE1UVJyT1FQZEtTcjIrODJTT2wwYkw0?=
 =?utf-8?B?ampqY2JiK29tbngvUHJ2c3hBMEpoMlZ3Y05ZZ0Z1ZlpRcVRzZnh3ZkV4UldS?=
 =?utf-8?B?SXFZTUNoTU9WMU9XRzhyOWhRMDBmKzdHb0I3SFVibW5rMmRvK0VySDQwdEIy?=
 =?utf-8?B?RG01V3FydGJ0OFBmYlAxYVdNb2twQnlvcFl5S1dFZ1VlU094RUJEc3pCdmFN?=
 =?utf-8?B?T0R6eGZOY2VVN2VvdkVHYUM1WEpQd1dzRi9pN21MK1h2ZURWd3RMUjQ0ZERT?=
 =?utf-8?B?QVZpOUpNSXJDV1ovZ1ord0Myc1lRQWFuVSszbWNpVk1BbWV0STJhSkd6c0ps?=
 =?utf-8?B?eDA4ZlRORlBQbFlXWEJncXFCTktmYmh3M052anA4K0dpa2FKNFJpQktHOWZ0?=
 =?utf-8?B?RC9XMUFNY1YzKy9zSGtVTXdHNTFISHBvMGE1d1hFN2RqWXpPMG4rcTJLUnVv?=
 =?utf-8?B?VWJpNzgvNVFyMFZNYTNZODRTUzhGQUFiRlhac2tEemtkTnlQZ1BQUHNnbTM1?=
 =?utf-8?B?T05DTXh6RmczeHdVQm1QSGVvQ2tST3hwN1luTzdpMVpvSTlVVzJnTy9IVlFU?=
 =?utf-8?B?bDhnMk9JQ0gxUFJhVmVkQ25XS21MM1lNTDRpQjN1R2VqYTJZOGEwNlpsTEkx?=
 =?utf-8?B?akdPTUxaalRqV29IY0JaSEszcXNHWmVJN1MzMDU3REd1dWluRCtqYTRYMldv?=
 =?utf-8?Q?y7Jl5llyyKXPdb4JIg=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SN6PR02MB4157.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: cc6f5e38-edd4-4128-7043-08dc5d4c72a6
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2024 13:03:30.1879
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB8685

RnJvbTogUGV0ciBUZXNhxZnDrWsgPHBldHJAdGVzYXJpY2kuY3o+IFNlbnQ6IE1vbmRheSwgQXBy
aWwgMTUsIDIwMjQgNTo1MCBBTQ0KPiANCj4gT24gTW9uLCAxNSBBcHIgMjAyNCAxMjoyMzoyMiAr
MDAwMA0KPiBNaWNoYWVsIEtlbGxleSA8bWhrbGludXhAb3V0bG9vay5jb20+IHdyb3RlOg0KPiAN
Cj4gPiBGcm9tOiBQZXRyIFRlc2HFmcOtayA8cGV0ckB0ZXNhcmljaS5jej4gU2VudDogTW9uZGF5
LCBBcHJpbCAxNSwgMjAyNCA0OjQ2IEFNDQo+ID4gPg0KPiA+ID4gSGkgTWljaGFlbCwNCj4gPiA+
DQo+ID4gPiBzb3JyeSBmb3IgdGFraW5nIHNvIGxvbmcgdG8gYW5zd2VyLiBZZXMsIHRoZXJlIHdh
cyBubyBhZ3JlZW1lbnQgb24gdGhlDQo+ID4gPiByZW1vdmFsIG9mIHRoZSAiZGlyIiBwYXJhbWV0
ZXIsIGJ1dCBJJ20gbm90IHN1cmUgaXQncyBiZWNhdXNlIG9mDQo+ID4gPiBzeW1tZXRyeSB3aXRo
IHN3aW90bGJfc3luY18qKCksIGJlY2F1c2UgdGhlIHRvcGljIHdhcyBub3QgcmVhbGx5DQo+ID4g
PiBkaXNjdXNzZWQuDQo+ID4gPg0KPiA+ID4gVGhlIGRpc2N1c3Npb24gd2FzIGFib3V0IHRoZSBL
VW5pdCB0ZXN0IHN1aXRlIGFuZCB3aGV0aGVyIGRpcmVjdGlvbiBpcw0KPiA+ID4gYSBwcm9wZXJ0
eSBvZiB0aGUgYm91bmNlIGJ1ZmZlciBvciBvZiBlYWNoIHN5bmMgb3BlcmF0aW9uLiBTaW5jZSBE
TUEgQVBJDQo+ID4gPiBkZWZpbmVzIGFzc29jaWF0ZXMgZWFjaCBETUEgYnVmZmVyIHdpdGggYSBk
aXJlY3Rpb24sIHRoZSBkaXJlY3Rpb24NCj4gPiA+IHBhcmFtZXRlciBwYXNzZWQgdG8gc3dpb3Rs
Yl9zeW5jXyooKSBzaG91bGQgbWF0Y2ggd2hhdCB3YXMgcGFzc2VkIHRvDQo+ID4gPiBzd2lvdGxi
X3RibF9tYXBfc2luZ2xlKCksIGJlY2F1c2UgdGhhdCdzIGhvdyBpdCBpcyB1c2VkIGJ5IHRoZSBn
ZW5lcmljDQo+ID4gPiBETUEgY29kZS4gSW4gb3RoZXIgd29yZHMsIGlmIHRoZSBwYXJhbWV0ZXIg
aXMga2VwdCwgaXQgc2hvdWxkIGJlIGtlcHQNCj4gPiA+IHRvIG1hdGNoIGRtYV9tYXBfKigpLg0K
PiA+ID4NCj4gPiA+IEhvd2V2ZXIsIHRoZXJlIGlzIGFsc28gc3ltbWV0cnkgd2l0aCBzd2lvdGxi
X3RibF91bm1hcF9zaW5nbGUoKS4gVGhpcw0KPiA+ID4gZnVuY3Rpb24gZG9lcyB1c2UgdGhlIHBh
cmFtZXRlciBmb3IgdGhlIGZpbmFsIHN5bmMuIEkgYmVsaWV2ZSB0aGVyZQ0KPiA+ID4gc2hvdWxk
IGJlIGEgbWF0Y2hpbmcgaW5pdGlhbCBzeW5jIGluIHN3aW90bGJfdGJsX21hcF9zaW5nbGUoKS4g
SW4NCj4gPiA+IHNob3J0LCB0aGUgYnVmZmVyIHN5bmMgZm9yIERNQSBub24tY29oZXJlbnQgZGV2
aWNlcyBzaG91bGQgYmUgbW92ZWQgZnJvbQ0KPiA+ID4gc3dpb3RsYl9tYXAoKSB0byBzd2lvdGxi
X3RibF9tYXBfc2luZ2xlKCkuIElmIHRoaXMgc3luYyBpcyBub3QgbmVlZGVkLA0KPiA+ID4gdGhl
biB0aGUgY2FsbGVyIGNhbiAoYW5kIHNob3VsZCkgaW5jbHVkZSBETUFfQVRUUl9TS0lQX0NQVV9T
WU5DIGluDQo+ID4gPiB0aGUgZmxhZ3MgcGFyYW1ldGVyLg0KPiA+ID4NCj4gPiA+IFRvIHN1bSBp
dCB1cDoNCj4gPiA+DQo+ID4gPiAqIERvICpOT1QqIHJlbW92ZSB0aGUgImRpciIgcGFyYW1ldGVy
Lg0KPiA+ID4gKiBMZXQgbWUgc2VuZCBhIHBhdGNoIHdoaWNoIG1vdmVzIHRoZSBpbml0aWFsIGJ1
ZmZlciBzeW5jLg0KPiA+ID4NCj4gPg0KPiA+IEknbSBub3Qgc2VlaW5nIHRoZSBuZWVkIHRvIG1v
dmUgdGhlIGluaXRpYWwgYnVmZmVyIHN5bmMuICBBbGwNCj4gPiBjYWxsZXJzIG9mIHN3aW90bGJf
dGJsX21hcF9zaW5nbGUoKSBhbHJlYWR5IGhhdmUgYSBzdWJzZXF1ZW50DQo+ID4gY2hlY2sgZm9y
IGEgbm9uLWNvaGVyZW50IGRldmljZSwgYW5kIGEgY2FsbCB0bw0KPiA+IGFyY2hfc3luY19kbWFf
Zm9yX2RldmljZSgpLiAgQW5kIHRoZSBYZW4gY29kZSBoYXMgc29tZQ0KPiA+IHNwZWNpYWwgaGFu
ZGxpbmcgdGhhdCBwcm9iYWJseSBzaG91bGRuJ3QgZ28gaW4NCj4gPiBzd2lvdGxiX3RibF9tYXBf
c2luZ2xlKCkuICBPciBhbSBJIG1pc3Npbmcgc29tZXRoaW5nPw0KPiANCj4gT2gsIHN1cmUsIHRo
ZXJlJ3Mgbm90aGluZyBicm9rZW4gQVRNLiBJdCdzIG1lcmVseSBhIGNsZWFudXAuIFRoZSBBUEkg
aXMNCj4gYXN5bW1ldHJpYyBhbmQgdGh1cyBjb25mdXNpbmcuIFlvdSBnZXQgYSBmaW5hbCBzeW5j
IGJ5IGRlZmF1bHQgaWYgeW91DQo+IGNhbGwgc3dpb3RsYl90YmxfdW5tYXBfc2luZ2xlKCksIA0K
DQpJIGRvbid0IHNlZSB0aGF0IGZpbmFsIHN5bmMgaW4gc3dpb3RsYl90YmxfdW5tYXBfc2luZ2xl
KCkuICBJdCBjYWxscw0Kc3dpb3RsYl9ib3VuY2UoKSB0byBjb3B5IHRoZSBkYXRhLCBidXQgaXQg
ZG9lc24ndCBkZWFsIHdpdGgNCm5vbi1jb2hlcmVudCBkZXZpY2VzIG9yIGNhbGwgYXJjaF9zeW5j
X2RtYV9mb3JfY3B1KCkuDQoNCj4gYnV0IHlvdSBkb24ndCBnZXQgYW4gaW5pdGlhbCBzeW5jIGJ5
DQo+IGRlZmF1bHQgaWYgeW91IGNhbGwgc3dpb3RsYl90YmxfbWFwX3NpbmdsZSgpLiBUaGlzIGlz
IGRpZmZpY3VsdCB0bw0KPiByZW1lbWJlciwgc28gcG90ZW50aWFsIG5ldyB1c2VycyBvZiB0aGUg
QVBJIG1heSBpbmNvcnJlY3RseSBhc3N1bWUgdGhhdA0KPiBhbiBpbml0aWFsIHN5bmMgaXMgZG9u
ZSwgb3IgdGhhdCBhIGZpbmFsIHN5bmMgaXMgbm90IGRvbmUuDQo+IA0KPiBBbmQgeWVzLCB3aGVu
IG1vdmluZyB0aGUgY29kZSwgYWxsIGN1cnJlbnQgdXNlcnMgb2YNCj4gc3dpb3RsYl90YmxfbWFw
X3NpbmdsZSgpIHNob3VsZCBzcGVjaWZ5IERNQV9BVFRSX1NLSVBfQ1BVX1NZTkMuDQo+IA0KPiBQ
ZXRyIFQNCg==


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 13:14:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 13:14:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706203.1103286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwMAA-00009f-DI; Mon, 15 Apr 2024 13:14:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706203.1103286; Mon, 15 Apr 2024 13:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwMAA-00009Y-Ag; Mon, 15 Apr 2024 13:14:22 +0000
Received: by outflank-mailman (input) for mailman id 706203;
 Mon, 15 Apr 2024 13: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 1rwMA9-00009O-2Z; Mon, 15 Apr 2024 13: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 1rwMA8-0004sd-RO; Mon, 15 Apr 2024 13:14: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 1rwMA8-0005Uk-JI; Mon, 15 Apr 2024 13:14:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwMA8-0003Nn-Il; Mon, 15 Apr 2024 13: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=j9Z7vSi2X9IAHORMuk5ZqKXUsR0Ygum9FNY2YjaDHGo=; b=1y2wD5B5Jos+K56I6wNkjVsqJs
	tMqMbxSe1IKVxmECkppRNzMi4hO1ctapw91iBJnKeSb3tBkRYWJPhUx3NHCYQzqKIB5z3IANiba/i
	VghewHj3oE+eiIr4fW9pFpZt3vKDWrrq6XjqoRSJsTvmD/w+H0zZ/Bg1GnUefM0doXNE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185595-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185595: regressions - trouble: blocked/broken
X-Osstest-Failures:
    linux-6.1:build-amd64:<job status>:broken:regression
    linux-6.1:build-amd64-pvops:<job status>:broken:regression
    linux-6.1:build-amd64-xsm:<job status>:broken:regression
    linux-6.1:build-arm64:<job status>:broken:regression
    linux-6.1:build-arm64-pvops:<job status>:broken:regression
    linux-6.1:build-arm64-xsm:<job status>:broken:regression
    linux-6.1:build-armhf:<job status>:broken:regression
    linux-6.1:build-armhf-pvops:<job status>:broken:regression
    linux-6.1:build-i386:<job status>:broken:regression
    linux-6.1:build-i386-pvops:<job status>:broken:regression
    linux-6.1:build-i386-xsm:<job status>:broken:regression
    linux-6.1:build-amd64-pvops:host-build-prep:fail:regression
    linux-6.1:build-amd64:host-build-prep:fail:regression
    linux-6.1:build-amd64-xsm:host-build-prep:fail:regression
    linux-6.1:build-i386:host-build-prep:fail:regression
    linux-6.1:build-armhf-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-pvops:host-build-prep:fail:regression
    linux-6.1:build-i386-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64:host-build-prep:fail:regression
    linux-6.1:build-arm64-xsm:host-build-prep:fail:regression
    linux-6.1:build-arm64-pvops:host-build-prep:fail:regression
    linux-6.1:build-armhf:host-build-prep:fail:regression
    linux-6.1:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-6.1:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-6.1:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=cd5d98c0556cd790f78a3ba26afc9d2f896163e4
X-Osstest-Versions-That:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 13:14:20 +0000

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

Regressions :-(

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             5 host-build-prep          fail REGR. vs. 185299
 build-amd64                   5 host-build-prep          fail REGR. vs. 185299
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-i386                    5 host-build-prep          fail REGR. vs. 185299
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185299
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185299
 build-arm64                   5 host-build-prep          fail REGR. vs. 185299
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185299
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185299
 build-armhf                   5 host-build-prep          fail REGR. vs. 185299

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                cd5d98c0556cd790f78a3ba26afc9d2f896163e4
baseline version:
 linux                bf1e3b1cb1e002ed1590c91f1a24433b59322368

Last test of basis   185299  2024-04-10 14:42:59 Z    4 days
Testing same since   185434  2024-04-13 11:42:42 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alban Boyé <alban.boye@protonmail.com>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Andrew Lunn <andrew@lunn.ch>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Ye <bo.ye@mediatek.com>
  Boqun Feng <boqun.feng@gmail.com>
  C Cheng <C.Cheng@mediatek.com>
  Chancel Liu <chancel.liu@nxp.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Dai Ngo <dai.ngo@oracle.com>
  Daniel Drake <drake@endlessos.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gwendal Grignou <gwendal@chromium.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Ian Rogers <irogers@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jian-Hong Pan <jhp@endlessos.org>
  Jiawei Fu (iBug) <i@ibugone.com>
  Jiawei Fu <i@ibugone.com>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Ogness <john.ogness@linutronix.de>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Justin Tee <justin.tee@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karel Balej <balejk@matfyz.cz>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Leon Romanovsky <leon@kernel.org>
  linke li <lilinke99@qq.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Manjunath Patil <manjunath.b.patil@oracle.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Markuss Broks <markuss.broks@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael S. Tsirkin <mst@redhat.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Marshall <hubcap@omnibond.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  mosomate <mosomate@gmail.com>
  Mukesh Sisodiya <mukesh.sisodiya@intel.com>
  Máté Mosonyi <mosomate@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Machek (CIP) <pavel@denx.de>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ron Economos <re@w6rz.net>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Dionne-Riel <samuel@dionne-riel.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Tasos Sahanidis <tasos@tasossah.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Ye Bin <yebin10@huawei.com>
  Zhang Yi <yi.zhang@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 13:19:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 13:19:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706211.1103297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwMFC-0001mR-0T; Mon, 15 Apr 2024 13:19:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706211.1103297; Mon, 15 Apr 2024 13: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 1rwMFB-0001mK-TR; Mon, 15 Apr 2024 13:19:33 +0000
Received: by outflank-mailman (input) for mailman id 706211;
 Mon, 15 Apr 2024 13:19:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vrLP=LU=tesarici.cz=petr@srs-se1.protection.inumbo.net>)
 id 1rwMFA-0001mE-Hw
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 13:19:32 +0000
Received: from bee.tesarici.cz (bee.tesarici.cz [2a03:3b40:fe:2d4::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb301b69-fb2a-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 15:19:31 +0200 (CEST)
Received: from meshulam.tesarici.cz
 (dynamic-2a00-1028-83b8-1e7a-4427-cc85-6706-c595.ipv6.o2.cz
 [IPv6:2a00:1028:83b8:1e7a:4427:cc85:6706:c595])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest
 SHA256) (No client certificate requested)
 by bee.tesarici.cz (Postfix) with ESMTPSA id 171AF1BEEE3;
 Mon, 15 Apr 2024 15:19: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: cb301b69-fb2a-11ee-b908-491648fe20b8
Authentication-Results: mail.tesarici.cz; dmarc=fail (p=quarantine dis=none) header.from=tesarici.cz
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tesarici.cz; s=mail;
	t=1713187170; bh=H7qkdyb/Y4bVUiPoNIOX6jPwjCN1aPjIKdG4tz+fkTw=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=09GybjZJ1pkgrpv8t2KOl3uKTKKOq3Mydc0g3n0IOtyEHDRPP38j3ntH7mdKsnlAO
	 6Hqcizz8+UeFHftXQg4reiQDgXnI3Lo5tTfhPMDjy2DPgjpME3XCggOTCFtRPmfU83
	 5xWyfvjSKaNrWlhcEBxmEc51bHRiOeWnoiySR7p+DA8hU9ksIvEokmv5ep0UBNkE1q
	 XvETXhkz88EpVJGcOFb5FwfLqXpnwF5ofgJYpSaAeXve2JZFyP04cGW/pC/uxbLIuy
	 6bMCzD0Dy/wm5IaVr5qHmb86wUL3hZVhs5KYU5uRTnTuHi301uT2VJjFYmHdcqH//1
	 sIs0YspVlj5xg==
Date: Mon, 15 Apr 2024 15:19:27 +0200
From: Petr =?UTF-8?B?VGVzYcWZw61r?= <petr@tesarici.cz>
To: Michael Kelley <mhklinux@outlook.com>
Cc: "mhkelley58@gmail.com" <mhkelley58@gmail.com>, "robin.murphy@arm.com"
 <robin.murphy@arm.com>, "joro@8bytes.org" <joro@8bytes.org>,
 "will@kernel.org" <will@kernel.org>, "jgross@suse.com" <jgross@suse.com>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
 "hch@lst.de" <hch@lst.de>, "m.szyprowski@samsung.com"
 <m.szyprowski@samsung.com>, "iommu@lists.linux.dev"
 <iommu@lists.linux.dev>, "linux-kernel@vger.kernel.org"
 <linux-kernel@vger.kernel.org>, "xen-devel@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, "roberto.sassu@huaweicloud.com"
 <roberto.sassu@huaweicloud.com>
Subject: Re: [PATCH 1/2] swiotlb: Remove alloc_size argument to
 swiotlb_tbl_map_single()
Message-ID: <20240415151927.0145f742@meshulam.tesarici.cz>
In-Reply-To: <SN6PR02MB415749D379BFCC0749B44900D4092@SN6PR02MB4157.namprd02.prod.outlook.com>
References: <20240408041142.665563-1-mhklinux@outlook.com>
	<20240415134624.22092bb0@meshulam.tesarici.cz>
	<SN6PR02MB4157C8206FE193B2C5B2A93FD4092@SN6PR02MB4157.namprd02.prod.outlook.com>
	<20240415145023.78e7ce97@meshulam.tesarici.cz>
	<SN6PR02MB415749D379BFCC0749B44900D4092@SN6PR02MB4157.namprd02.prod.outlook.com>
X-Mailer: Claws Mail 4.2.0 (GTK 3.24.41; x86_64-suse-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Mon, 15 Apr 2024 13:03:30 +0000
Michael Kelley <mhklinux@outlook.com> wrote:

> From: Petr Tesa=C5=99=C3=ADk <petr@tesarici.cz> Sent: Monday, April 15, 2=
024 5:50 AM
> >=20
> > On Mon, 15 Apr 2024 12:23:22 +0000
> > Michael Kelley <mhklinux@outlook.com> wrote:
> >  =20
> > > From: Petr Tesa=C5=99=C3=ADk <petr@tesarici.cz> Sent: Monday, April 1=
5, 2024 4:46 AM =20
> > > >
> > > > Hi Michael,
> > > >
> > > > sorry for taking so long to answer. Yes, there was no agreement on =
the
> > > > removal of the "dir" parameter, but I'm not sure it's because of
> > > > symmetry with swiotlb_sync_*(), because the topic was not really
> > > > discussed.
> > > >
> > > > The discussion was about the KUnit test suite and whether direction=
 is
> > > > a property of the bounce buffer or of each sync operation. Since DM=
A API
> > > > defines associates each DMA buffer with a direction, the direction
> > > > parameter passed to swiotlb_sync_*() should match what was passed to
> > > > swiotlb_tbl_map_single(), because that's how it is used by the gene=
ric
> > > > DMA code. In other words, if the parameter is kept, it should be ke=
pt
> > > > to match dma_map_*().
> > > >
> > > > However, there is also symmetry with swiotlb_tbl_unmap_single(). Th=
is
> > > > function does use the parameter for the final sync. I believe there
> > > > should be a matching initial sync in swiotlb_tbl_map_single(). In
> > > > short, the buffer sync for DMA non-coherent devices should be moved=
 from
> > > > swiotlb_map() to swiotlb_tbl_map_single(). If this sync is not need=
ed,
> > > > then the caller can (and should) include DMA_ATTR_SKIP_CPU_SYNC in
> > > > the flags parameter.
> > > >
> > > > To sum it up:
> > > >
> > > > * Do *NOT* remove the "dir" parameter.
> > > > * Let me send a patch which moves the initial buffer sync.
> > > > =20
> > >
> > > I'm not seeing the need to move the initial buffer sync.  All
> > > callers of swiotlb_tbl_map_single() already have a subsequent
> > > check for a non-coherent device, and a call to
> > > arch_sync_dma_for_device().  And the Xen code has some
> > > special handling that probably shouldn't go in
> > > swiotlb_tbl_map_single().  Or am I missing something? =20
> >=20
> > Oh, sure, there's nothing broken ATM. It's merely a cleanup. The API is
> > asymmetric and thus confusing. You get a final sync by default if you
> > call swiotlb_tbl_unmap_single(),  =20
>=20
> I don't see that final sync in swiotlb_tbl_unmap_single().  It calls
> swiotlb_bounce() to copy the data, but it doesn't deal with
> non-coherent devices or call arch_sync_dma_for_cpu().

Ouch. You're right! The buffer gets only bounced but not synced if
device DMA is non-coherent. So, how is this supposed to work?

Now I'm looking at the code in dma_direct_map_page(), and it calls
arch_sync_dma_for_device() explicitly, _except_ when using SWIOTLB. So,
maybe I should instead review all callers of swiotlb_map(), make sure
that they handle non-coherent devices, and then remove the sync from
swiotlb_map()?

I mean, the current situation seems somewhat disorganized to me.

Petr T


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 13:58:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 13:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706228.1103319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwMqX-0002iZ-7B; Mon, 15 Apr 2024 13:58:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706228.1103319; Mon, 15 Apr 2024 13:58:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwMqX-0002iS-43; Mon, 15 Apr 2024 13:58:09 +0000
Received: by outflank-mailman (input) for mailman id 706228;
 Mon, 15 Apr 2024 13:58:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KTTO=LU=bounce.vates.tech=bounce-md_30504962.661d326b.v1-3f53356a234540f5b7dcdb8ce226b42f@srs-se1.protection.inumbo.net>)
 id 1rwMqW-0002hb-2M
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 13:58:08 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e216879-fb30-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 15:58:05 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VJ7zc08GZzDRHx8N
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 13:58:04 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 3f53356a234540f5b7dcdb8ce226b42f; Mon, 15 Apr 2024 13: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: 2e216879-fb30-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713189484; x=1713449984;
	bh=BzKnsmB4jyVFuAlTsX3hEq7RfO+rPuia5QX7Cge2lFc=;
	h=From:Subject:Message-Id:To:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=vzByzrynWrLloem+/VHrppcnmUGl6PxxhtJjmJ0wvpShjt7H30tEhko/fk8VytNVB
	 hxysOKSgWkk9QN/sagBv5G5lOF1i502yu1YuAOamI5QPFNz//Dn4IIqKqex0KNkKj9
	 v5uSQ80+w2J1z1M1TwOmFjsOMfPUPjY6nJ7eLvujHZrtAy+qZv3UIkIAffbJmY+ysq
	 hA61VsGMZiT7A/6hU0bhljaTwo3OlCRM5Fb3jwkfTZu7pCm7QoFJYyyx2eo17RAeFg
	 fhbHt9ZGeotiwZCy29aPGa3QWP0Y1X7noLbwfuGqFA9MuTvuXH4sJ12ejzCnGlG7w7
	 NTJACYS7bQo+w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713189484; x=1713449984; i=teddy.astie@vates.tech;
	bh=BzKnsmB4jyVFuAlTsX3hEq7RfO+rPuia5QX7Cge2lFc=;
	h=From:Subject:Message-Id:To:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=at4TE6OZY6cvK2SPZJEllwXfs2kWf+BrMpBjECvNV/Rv5DYr5oLWkbZGIP+AHEcRx
	 pvU77Ha7Zhvz+ZK9YC6WD3pZCHm36reHwlDb3CyBRRQkfrhdqrCMwEgPSpZzz9pHFE
	 VHSU82sNOIhGSlEZHVPs0L8dyVfBPO9ArZdLl0WrPKqkInaHbI0KMgm1DwXeuTHdPS
	 sEbETvNilfs8CCZBdBha85gfOMvOmhgHsdL6B8cxIwcRKbehJl9BucUa0cylOKL8fN
	 SEcjYtSFGiAOj14WK3OAHNscHPI3mBO4Yf4eLBxyWts0F7fO2lE6wQ0INXhcmGH0Wp
	 UpwNSqGt0QkZA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=20v4=200/5]=20x86/iommu:=20Drop=20IOMMU=20support=20when=20cx16=20isn't=20supported?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713189481572
Message-Id: <32d39e38-b128-48f9-ab26-4c69c77cda9c@vates.tech>
To: xen-devel@lists.xenproject.org
References: <cover.1713174878.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713174878.git.teddy.astie@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.3f53356a234540f5b7dcdb8ce226b42f?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240415:md
Date: Mon, 15 Apr 2024 13:58:03 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 15/04/2024 =C3=A0 14:15, Teddy Astie a =C3=A9crit=C2=A0:
> All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (as=
ide
> specifically crafted virtual machines).
> 
> Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supporte=
d
> while cx16 isn't, those paths may be bugged and are barely tested, dead c=
ode
> in practice.
> 
> Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
> no-cx16 handling logic from VT-d and AMD-Vi drivers. Also disable
> interrupt remapping that also relies on cx16.
> 
> Teddy Astie (5):
>    VT-d: Disable IOMMU if cx16 isn't supported
>    AMD-Vi: Disable IOMMU if cx16 isn't supported
>    VT-d: Cleanup MAP_SINGLE_DEVICE and related code
>    VT-d: Disable intrerrupt remapping if cx16 is not supported
>    AMD-Vi: Disable intrerrupt remapping if cx16 is not supported
> 
>   xen/drivers/passthrough/amd/iommu_intr.c    |  6 ++
>   xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
>   xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
>   xen/drivers/passthrough/vtd/intremap.c      | 70 +++++-----------
>   xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
>   xen/drivers/passthrough/vtd/vtd.h           |  5 +-
>   6 files changed, 77 insertions(+), 144 deletions(-)
> 

Here is the patch history that got lost for some reason in this cover.

Changed in v2:

  * Added cleanup no-cx16 code for x2APIC
  * Fixed commit and code formatting
  * Added missing Suggested-by note

Changed in v3:

  * Use -ENODEV instead of -ENOSYS.

Changed in v4:

  * Reworded "Disable IOMMU if cx16 isn't supported"
  * Moved interrupt remapping cleanup in separate patches
  * Check cx16 for interrupt remapping in driver's callbacks rather than 
in x2apic_bsp_setup

Teddy

---


Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 14:14:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 14:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706256.1103348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwN6T-0007mo-Rj; Mon, 15 Apr 2024 14:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706256.1103348; Mon, 15 Apr 2024 14: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 1rwN6T-0007mg-Ow; Mon, 15 Apr 2024 14:14:37 +0000
Received: by outflank-mailman (input) for mailman id 706256;
 Mon, 15 Apr 2024 14:14:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F4OO=LU=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rwN6S-0007h5-2x
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 14:14:36 +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 7c12eb69-fb32-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 16:14:35 +0200 (CEST)
Received: by mail-oa1-x2b.google.com with SMTP id
 586e51a60fabf-233e41de0caso1064799fac.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 07: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: 7c12eb69-fb32-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713190474; x=1713795274; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=JOburCHu9kch6m9gG6B4FMA/OeCpeP2fonuLbMeGMsM=;
        b=iHWYtURsI7FLDpEMhiHjRfKhYwrHO7QamK5THZT2+A7I6pYubO1UsLWYl5LEHk5Skf
         lhUwjpFbFQ2+CjdEDS+HXFlu4yUOEdzSPdgBWXETAdnm0ChMRY36xMOQW+C6ZitdgQok
         sudKB+udFmPmVt/BZs1NJ+B1qHOq99R1EHQko=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713190474; x=1713795274;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JOburCHu9kch6m9gG6B4FMA/OeCpeP2fonuLbMeGMsM=;
        b=wK9q7E+Fj0PDrzKQf4/gxsd7PXCiQKQ5KRqMN9R1B42rmd8b5OsXL3pxsdNCqWR40A
         bd+QwDaq45UKL56+QSUjIOj4d+2StUF4S/1aWuWA8tVxi6SYTU86MEOFQks1JfF9H/Uu
         vAxYyxmsUrP5BsADaBUqIPhweaW3X/8VuG6GT3DAuzT7H+OZpt+X9mjlJDhkfNEQasuH
         HZCUz1Ff//Y7vU+0ekcOnOsylwnurXIlB8eRoi5B2vpn46seJEMAskhiBWgi+eRMwj7v
         l6s4dfUEJ0hCf5xPkc5vxYFRFP3kicvTTJzHAkN/b5N8Ok89ZgP7/jZxsCjm5+tcmXwR
         VO3w==
X-Gm-Message-State: AOJu0YyLUvEHrBXF3kZZzKyquwek1wvHYm07wcYOeHXcCuvviJk4U0OK
	4foMOLAhNNeMUIkIW9RcSlyP19GfI2twMVgOrnwZY58BY/FktgoxJ0biJn81T4FY9PDrdpT0cP/
	3H26ld1eXJsnNQk8XLtequUhEtlrS8nICZEFH94xvGv1FK4MDvLs=
X-Google-Smtp-Source: AGHT+IEB14YSngaVGDsP2B2HIrGHQwg8iy7nkddBWDr2TuzaFqgVr70lMoLulV+TCS8UJOtFaLJ/1dBGUXPVSznt6/4=
X-Received: by 2002:a05:6870:6586:b0:221:9013:d783 with SMTP id
 fp6-20020a056870658600b002219013d783mr11892425oab.34.1713190473814; Mon, 15
 Apr 2024 07:14:33 -0700 (PDT)
MIME-Version: 1.0
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 15 Apr 2024 15:14:23 +0100
Message-ID: <CA+zSX=a_-_QpwbE2_aG6jFFozaCAAZd_PQ-iOfaFygyxmd=cJQ@mail.gmail.com>
Subject: Rewritten XSA status page, xsa.json
To: Xen-devel <xen-devel@lists.xenproject.org>, xen-announce@lists.xenproject.org, 
	xen-users@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

Hey all,

Some of you may have noticed that xenbis.xenproject.org/xsa/ doesn't
currently list XSA-456.  This has prompted me to rewrite the perl code
which generates that area of the webpage into golang, which is much
easier for the current security team to understand and modify.  The
draft replacement is here:

https://xenbits.xenproject.org/people/gdunlap/xsa-draft/

In particular, if you use `xsa.json` for any purpose, let me know if
you have any issues.  If I don't hear any objections I'll replace the
website generation code on Wednesday.

Thanks,
 -George


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 14:17:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 14:17:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706293.1103386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwN9b-00029X-Uw; Mon, 15 Apr 2024 14:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706293.1103386; Mon, 15 Apr 2024 14:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwN9b-00029Q-RM; Mon, 15 Apr 2024 14:17:51 +0000
Received: by outflank-mailman (input) for mailman id 706293;
 Mon, 15 Apr 2024 14: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=V/mT=LU=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rwN9a-00027e-4N
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 14:17:50 +0000
Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com
 [2607:f8b0:4864:20::833])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efff5675-fb32-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 16:17:49 +0200 (CEST)
Received: by mail-qt1-x833.google.com with SMTP id
 d75a77b69052e-4347bcc2b47so14500851cf.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 07:17:49 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 t7-20020ac87607000000b00435163abba5sm5987974qtq.94.2024.04.15.07.17.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 07:17: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: efff5675-fb32-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713190668; x=1713795468; 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=27tQGw34RL0SwJjgwMX6PjGL+Bogfqv+9M2xZQMRSJU=;
        b=acKU7aR+y/0IrvFYqO4shA2VXEEcVdffe9YWUvnp0sa+L4FCrSRI3c7EO5qf0U2tXv
         jWZkL1K7dX7jIlqldSdbN4ygod4qhq46PegbTXW1Dfrc6mbxYy3af/sP+82dzRcX0ac5
         Y9xZtQ3xVek/zL2QVSHmNcQa2HmGBnvEbQsZc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713190668; x=1713795468;
        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=27tQGw34RL0SwJjgwMX6PjGL+Bogfqv+9M2xZQMRSJU=;
        b=IU2rZVJeVgk1feLtcJHdYhTeefo4r+btd/8noSpi/l3BhusPFFFD/tquocKpORio1I
         6lityRYKhyrXxEsZBJgPe2aW+AzgEE9mao6V9YtghZksMMR19crdIaUIW87WV2c9VX3A
         X0Tw6EH6rbMSSJwqoV1OyboGHErIxCRSdPUnwtICUiO0LRDWYUJC3b/j+gBwNYgcYKCq
         bQAf/2UrEM9wBlc/xft8+G+qXn1KY1Ragef5JZit3JC77A5E9jZdQhPqQfHl/8vhsVe5
         2OBghcJB0AU7Bo85TjRsVR/3VxP/uVv6Ip49EDafHmqV/zvw0xN/u8wr0HrqQzeKGZ7x
         Fl8g==
X-Forwarded-Encrypted: i=1; AJvYcCXFqQ/jyQsNk8+endTAvlWmhuiDHARrSyhDkMY6MGIRp2cFls4XRAzbyPtAZHW5Q9ujgCg3vI4RgIH0kJGxKa4m1ftt4As1Z3Sqa1F0RKs=
X-Gm-Message-State: AOJu0YxHM+8/Tk7Cjf5Jbvjxsn+wnX7X54BC5xL5FfSJzNPXpcIF2vWN
	QIeA/iGTk/s2OYjaUO0KcvXkfRjeBVk5RfteaVf5zIV/vCwyQP1E7lT81Ztsykk=
X-Google-Smtp-Source: AGHT+IExIkpO8kzAKUopeuw/fxAsXnN6jFxRvMorbLUkIdPcl29k5cz4C35p1tyOdyh7wSmjFnCF3A==
X-Received: by 2002:a05:622a:1a81:b0:437:1ec3:3b6c with SMTP id s1-20020a05622a1a8100b004371ec33b6cmr1249107qtc.30.1713190668355;
        Mon, 15 Apr 2024 07:17:48 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.or,
	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/spec: fix reporting of BHB clearing usage from guest entry points
Date: Mon, 15 Apr 2024 16:17:37 +0200
Message-ID: <20240415141737.88236-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reporting whether the BHB clearing on entry is done for the different domains
types based on cpu_has_bhb_seq is incorrect, as that variable signals whether
there's a BHB clearing sequence selected, but that alone doesn't imply that
such sequence is used from the PV and/or HVM entry points.

Instead use opt_bhb_entry_{pv,hvm} which do signal whether BHB clearing is
performed on entry from PV/HVM.

Fixes: 689ad48ce9cf ('x86/spec-ctrl: Wire up the Native-BHI software sequences')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/spec_ctrl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index dd01e30844a1..29f5248d01d1 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -643,7 +643,7 @@ 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"    : "",
-           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
+           opt_bhb_entry_hvm                         ? " BHB-entry"     : "");
 
 #endif
 #ifdef CONFIG_PV
@@ -658,7 +658,7 @@ static void __init print_details(enum ind_thunk thunk)
            opt_eager_fpu                             ? " EAGER_FPU"     : "",
            opt_verw_pv                               ? " VERW"          : "",
            boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)   ? " IBPB-entry"    : "",
-           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
+           opt_bhb_entry_pv                          ? " BHB-entry"     : "");
 
     printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
            opt_xpti_hwdom ? "enabled" : "disabled",
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 14:19:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 14:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706300.1103395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwNB7-0002oQ-7q; Mon, 15 Apr 2024 14:19:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706300.1103395; Mon, 15 Apr 2024 14: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 1rwNB7-0002oJ-5C; Mon, 15 Apr 2024 14:19:25 +0000
Received: by outflank-mailman (input) for mailman id 706300;
 Mon, 15 Apr 2024 14:19: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=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwNB5-0002no-T9
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 14:19:23 +0000
Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com
 [2607:f8b0:4864:20::f2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27c55d02-fb33-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 16:19:23 +0200 (CEST)
Received: by mail-qv1-xf2a.google.com with SMTP id
 6a1803df08f44-69b4454e2f1so9686856d6.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 07:19:23 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j7-20020a0ceb07000000b00690cd39da04sm6255782qvp.32.2024.04.15.07.19.20
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Apr 2024 07: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: 27c55d02-fb33-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713190761; x=1713795561; 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=WdkHLGw1jj6gIdxdQaXcwMEhOG1JJyVu1c4koxn1bM8=;
        b=bSBCiis+0pW4JOUrOG0foUHM0SNRs3ilWmxWNrYy/D5eQjPV1d2yzwPD/qUgKz4ZpW
         3oksxqLK3nbyMhegaRF/3pSxdn22hGEXN8ftoBz6r2Rl+coEYQrWGk58Ip20a8yV08Gh
         eNgzgAtLmwojhn7zsF0+Ky4epn8rpaFmn220s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713190761; x=1713795561;
        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=WdkHLGw1jj6gIdxdQaXcwMEhOG1JJyVu1c4koxn1bM8=;
        b=BB8MVdPvmAMDGqr4quCGg1KgJq4QI5Y9h1tPeXgukoaDxtin7t9EpAZ+hl80lTmH7D
         FJEnirB4N9jE9y4i1MwSes0d1AJOAQBw6hMCbYWuO8DpcpKh4tTAnUPAJiztzGRUkrQW
         oQTU0+xxOs3jCoj6/BmZUeTJ67LvSZsKn2/POVXHtIo5V/ibIYqIdo9NmcPw3hAoi8TJ
         zLbM0uW9pectJBUY5FN8K4PPMgD4rVJes+4sx9kRIE7LCvWO15oP504tX4uUn2ff//kh
         hfnyDNRt/pLreeX0+fiOR4cSIZ5PeU8eACvvNHO1hiP3T1e5qJ10HVgh8jdKj7l639Fk
         tFJw==
X-Gm-Message-State: AOJu0Yx4MGyNi9QpLMzI69jI6TIVtzLwnJHyn8xINbHxctUusdwjyXNA
	+X8TBBqsr12iKNrz6ZaQUwNeJHMjd4XIkVAHTrzdPdCjVj85DV63zNDk7rkWgrUYr7uY7DeHQe4
	vLv0=
X-Google-Smtp-Source: AGHT+IGUHrLDM5YkODh3x+wEZZCFPUmiyTcjNQwgqpI9W/TTjyAoBlZRk1tDselry2XIPI2PoED9Eg==
X-Received: by 2002:ad4:5802:0:b0:69b:f88:9567 with SMTP id dd2-20020ad45802000000b0069b0f889567mr9437045qvb.1.1713190761498;
        Mon, 15 Apr 2024 07:19:21 -0700 (PDT)
Message-ID: <99a97dcf-af7a-4af4-98a4-1c1d2c91351b@citrix.com>
Date: Mon, 15 Apr 2024 15:19:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Rewritten XSA status page, xsa.json
To: xen-devel@lists.xenproject.org
References: <CA+zSX=a_-_QpwbE2_aG6jFFozaCAAZd_PQ-iOfaFygyxmd=cJQ@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: <CA+zSX=a_-_QpwbE2_aG6jFFozaCAAZd_PQ-iOfaFygyxmd=cJQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15/04/2024 3:14 pm, George Dunlap wrote:
> Hey all,
>
> Some of you may have noticed that xenbis.xenproject.org/xsa/ doesn't
> currently list XSA-456.  This has prompted me to rewrite the perl code
> which generates that area of the webpage into golang, which is much
> easier for the current security team to understand and modify.  The
> draft replacement is here:
>
> https://xenbits.xenproject.org/people/gdunlap/xsa-draft/
>
> In particular, if you use `xsa.json` for any purpose, let me know if
> you have any issues.  If I don't hear any objections I'll replace the
> website generation code on Wednesday.

As I said on Friday, LGTM.

I'm tempted to say put it live now, announce it on Matrix and ask for
people to point out issues that they find.

Or post your draft link and ask people to look at that?  It's the
downstreams who are more likely to notice problems...


But a tangent while we're here.  How difficult would it be to get some
basic info about XSAs 1-25 on this page?

We have the primary advisory-*.txt's in xsa.git at least, and going to
the wiki isn't great.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:03:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:03:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706321.1103420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwNrq-0005mF-MM; Mon, 15 Apr 2024 15:03:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706321.1103420; Mon, 15 Apr 2024 15: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 1rwNrq-0005m8-Jf; Mon, 15 Apr 2024 15:03:34 +0000
Received: by outflank-mailman (input) for mailman id 706321;
 Mon, 15 Apr 2024 15:03:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwNrp-0005ly-P5; Mon, 15 Apr 2024 15:03:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwNrp-00070C-Mj; Mon, 15 Apr 2024 15:03:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwNrp-0000Ow-Em; Mon, 15 Apr 2024 15:03:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwNrp-00080C-EH; Mon, 15 Apr 2024 15:03:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Xq5idhjRSzvj/E/1wiKUBTvdkCEytKOBr9qtw9PM8Y4=; b=gzvRZQokW5LDPo1mWRrjciA5PB
	jDMnXlwfbDXmvy/xUQX4GeBKZxTL+byPaiQQwqS4oFxCaFILo+OYu+f2f2dYqIDfBbKY75CxnRmfV
	hQYcQBYDlDUiA5rmSTxV54dlh2wmV+LDSlLDdceHZ4olBrdi7odBRvc8xEjXfMuKa+wI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185536-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185536: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.17-testing:build-amd64:<job status>:broken:regression
    xen-4.17-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.17-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.17-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.17-testing:build-arm64:<job status>:broken:regression
    xen-4.17-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.17-testing:build-armhf:<job status>:broken:regression
    xen-4.17-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.17-testing:build-i386:<job status>:broken:regression
    xen-4.17-testing:build-i386-prev:<job status>:broken:regression
    xen-4.17-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.17-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.17-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-i386:host-build-prep:fail:regression
    xen-4.17-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.17-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64:host-build-prep:fail:regression
    xen-4.17-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.17-testing:build-armhf:host-build-prep:fail:regression
    xen-4.17-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.17-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 15:03:33 +0000

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

Regressions :-(

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-amd64-prev              5 host-build-prep          fail REGR. vs. 185284
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185284
 build-amd64                   5 host-build-prep          fail REGR. vs. 185284
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185284
 build-i386                    5 host-build-prep          fail REGR. vs. 185284
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185284
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185284
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185284
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185284
 build-arm64                   5 host-build-prep          fail REGR. vs. 185284
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185284
 build-armhf                   5 host-build-prep          fail REGR. vs. 185284

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
baseline version:
 xen                  b8f39fd4d024ea72c586f1afd233f379c6f6230b

Last test of basis   185284  2024-04-09 12:07:06 Z    6 days
Failing since        185300  2024-04-10 16:35:42 Z    4 days    7 attempts
Testing same since   185400  2024-04-12 22:46:40 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:41:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706343.1103436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOSZ-0008HT-Om; Mon, 15 Apr 2024 15:41:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706343.1103436; Mon, 15 Apr 2024 15:41: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 1rwOSZ-0008HM-Ki; Mon, 15 Apr 2024 15:41:31 +0000
Received: by outflank-mailman (input) for mailman id 706343;
 Mon, 15 Apr 2024 15:41: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 1rwOSY-0008HC-UX; Mon, 15 Apr 2024 15:41: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 1rwOSY-0007i3-L6; Mon, 15 Apr 2024 15:41: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 1rwOSY-0001RT-5o; Mon, 15 Apr 2024 15:41:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwOSY-0002mG-5I; Mon, 15 Apr 2024 15:41:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=i6511Xea7VkQz1fkFW2W7Hw5afQ50NsvUp+izf0mShk=; b=uO778TN8+xGPAGCJXyaZoafGhO
	Jve5dUPukn1QlxIw7kXtT5kuVB5s3k81NSgTdWyRXpa7W8lweXZ/n6Vpim5z91Tnd0E/oVjzFuU0C
	TMZ6BaONTXhiSXnRHtycDDxd60k/6mR9/mGXfGTwKEN0eafq9++qQJ4xWud8sH+FNs/k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185556-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185556: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.16-testing:build-amd64:<job status>:broken:regression
    xen-4.16-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.16-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.16-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.16-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.16-testing:build-arm64:<job status>:broken:regression
    xen-4.16-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.16-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.16-testing:build-armhf:<job status>:broken:regression
    xen-4.16-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.16-testing:build-i386:<job status>:broken:regression
    xen-4.16-testing:build-i386-prev:<job status>:broken:regression
    xen-4.16-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.16-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.16-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-i386:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64:host-build-prep:fail:regression
    xen-4.16-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.16-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.16-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.16-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.16-testing:build-armhf:host-build-prep:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=150f6cdbfe079816a0df8b9d57320ca42fc39d12
X-Osstest-Versions-That:
    xen=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 15:41:30 +0000

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

Regressions :-(

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-amd64-prev              5 host-build-prep          fail REGR. vs. 185283
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185283
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-i386                    5 host-build-prep          fail REGR. vs. 185283
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185283
 build-amd64                   5 host-build-prep          fail REGR. vs. 185283
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185283
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185283
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185283
 build-arm64                   5 host-build-prep          fail REGR. vs. 185283
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185283
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185283
 build-armhf                   5 host-build-prep          fail REGR. vs. 185283

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  150f6cdbfe079816a0df8b9d57320ca42fc39d12
baseline version:
 xen                  9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2

Last test of basis   185283  2024-04-09 12:06:57 Z    6 days
Failing since        185297  2024-04-10 10:03:29 Z    5 days    6 attempts
Testing same since   185322  2024-04-11 17:53:23 Z    3 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:43:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:43:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706349.1103450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU2-0000Np-5D; Mon, 15 Apr 2024 15:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706349.1103450; Mon, 15 Apr 2024 15:43:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU2-0000Ni-2O; Mon, 15 Apr 2024 15:43:02 +0000
Received: by outflank-mailman (input) for mailman id 706349;
 Mon, 15 Apr 2024 15:43:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwOU0-0000NU-RE
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 15:43:00 +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 d6612318-fb3e-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 17:42:59 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a526d381d2fso162206866b.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 08:42:59 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 jz1-20020a17090775e100b00a526457fc84sm1987261ejc.57.2024.04.15.08.42.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 08:42: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: d6612318-fb3e-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713195779; x=1713800579; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=G1RCGR9g9Lr7KYad16REQ3STM1IM5B8gqcK2q8eabvc=;
        b=I03GTBf9ovx1iv/AofUKjnnZmHZiJJNKJ2TOhwBFOR6xCmWfB0pLUQU04Su9D1Kl31
         6J8jNdREh8XW1zPrbYfgJAkhajHRKxFyyMAbXc0445la7p0QIBdr6SYvVS3ZYwMp7Drk
         Zf7H4uElHnpNXiVOY+DDc4VxE12SLUZx/Bk4Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713195779; x=1713800579;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=G1RCGR9g9Lr7KYad16REQ3STM1IM5B8gqcK2q8eabvc=;
        b=gZckKY/QAP2BMGImP9CphVwwiOPtC1su9K9TNdUZBWmCOpCCpevju16M3PQ0hKNZX+
         +2qzHXshZy5l/Z9oPtKPgBQLVoTK5vwrFEwTiptnUkHymRuWTSmeebVbAzaHEAxHeYXy
         diMp2ithScTmtkUJ60Wj1OtSyXHvt4PyLvCzE1+1EqbWNAYNYqIBUOQL8soS812/zV0W
         bjpG1OPlLL656MXjoEg48oAMQUntMDzrvNIGV178OuQVYzNYMSuP2xqHVOtoI9VzzZgT
         v8SffgHM924vX6s2zDmv/uf85T3squJUJvswRA75SvbF1Q5HSpmbxOyPrrXrrtr1/Yy5
         ERVg==
X-Gm-Message-State: AOJu0Yzvqa9jfEiZI3I9a1lC1oIH/4TQsqqIXqyGDJvpUclzTTsG+RZe
	JIPZzJJOI8IT3MUZbrcQZuvEvUj2ukkz5wq7em4CUnKReCd1IyWGuClN7A4TjkMWUVKYkq5GllS
	viro=
X-Google-Smtp-Source: AGHT+IEmcy6eSkqbV4U3jnE0gPcInLxIf23tJp477zNY0F4lOikijgS/GkwONEVwMZThIIXVl8zO1g==
X-Received: by 2002:a17:906:7156:b0:a52:2e4f:62f5 with SMTP id z22-20020a170906715600b00a522e4f62f5mr23258ejj.33.1713195779320;
        Mon, 15 Apr 2024 08:42: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>,
	George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 1/4] xen/xlat: Sort out whitespace
Date: Mon, 15 Apr 2024 16:41:52 +0100
Message-Id: <20240415154155.2718064-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

 * Fix tabs/spaces mismatch for certain rows
 * Insert lines between header files to improve legibility

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
---
 xen/include/xlat.lst | 31 +++++++++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index 9c41948514bf..e811342bb096 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -20,19 +20,24 @@
 # First column indicator:
 # ! - needs translation
 # ? - needs checking
+
 ?	dom0_vga_console_info		xen.h
 ?	xenctl_bitmap			xen.h
 ?	mmu_update			xen.h
 !	mmuext_op			xen.h
 !	start_info			xen.h
 ?	vcpu_time_info			xen.h
+
 ?	pmu_amd_ctxt			arch-x86/pmu.h
 ?	pmu_arch			arch-x86/pmu.h
 ?	pmu_cntr_pair			arch-x86/pmu.h
 ?	pmu_intel_ctxt			arch-x86/pmu.h
 ?	pmu_regs			arch-x86/pmu.h
+
 !	cpu_user_regs			arch-x86/xen-@arch@.h
+
 !	trap_info			arch-x86/xen.h
+
 ?	cpu_offline_action		arch-x86/xen-mca.h
 ?	mc				arch-x86/xen-mca.h
 ?	mcinfo_bank			arch-x86/xen-mca.h
@@ -50,6 +55,7 @@
 ?	mc_notifydomain			arch-x86/xen-mca.h
 !	mc_physcpuinfo			arch-x86/xen-mca.h
 ?	page_offline_action		arch-x86/xen-mca.h
+
 ?	argo_addr			argo.h
 !	argo_iov			argo.h
 ?	argo_register_ring		argo.h
@@ -59,6 +65,7 @@
 ?	argo_ring_message_header	argo.h
 ?	argo_send_addr			argo.h
 ?	argo_unregister_ring		argo.h
+
 ?	evtchn_alloc_unbound		event_channel.h
 ?	evtchn_bind_interdomain		event_channel.h
 ?	evtchn_bind_ipi			event_channel.h
@@ -74,6 +81,7 @@
 ?	evtchn_set_priority		event_channel.h
 ?	evtchn_status			event_channel.h
 ?	evtchn_unmask			event_channel.h
+
 ?	gnttab_cache_flush		grant_table.h
 !	gnttab_copy			grant_table.h
 ?	gnttab_dump_table		grant_table.h
@@ -86,9 +94,10 @@
 ?	gnttab_get_version		grant_table.h
 !	gnttab_get_status_frames	grant_table.h
 ?	grant_entry_v1			grant_table.h
-?       grant_entry_header              grant_table.h
+?	grant_entry_header		grant_table.h
 ?	grant_entry_v2			grant_table.h
 ?	gnttab_swap_grant_ref		grant_table.h
+
 !	dm_op_buf			hvm/dm_op.h
 ?	dm_op_create_ioreq_server	hvm/dm_op.h
 ?	dm_op_destroy_ioreq_server	hvm/dm_op.h
@@ -108,15 +117,20 @@
 ?	dm_op_set_pci_intx_level	hvm/dm_op.h
 ?	dm_op_set_pci_link_route	hvm/dm_op.h
 ?	dm_op_track_dirty_vram		hvm/dm_op.h
+
 !	hvm_altp2m_set_mem_access_multi	hvm/hvm_op.h
+
 ?	vcpu_hvm_context		hvm/hvm_vcpu.h
 ?	vcpu_hvm_x86_32			hvm/hvm_vcpu.h
 ?	vcpu_hvm_x86_64			hvm/hvm_vcpu.h
+
 ?	hypfs_direntry			hypfs.h
 ?	hypfs_dirlistentry		hypfs.h
+
 ?	kexec_exec			kexec.h
 !	kexec_image			kexec.h
 !	kexec_range			kexec.h
+
 !	add_to_physmap			memory.h
 !	add_to_physmap_batch		memory.h
 !	foreign_memory_map		memory.h
@@ -130,6 +144,7 @@
 !	reserved_device_memory_map	memory.h
 ?	vmemrange			memory.h
 !	vnuma_topology_info		memory.h
+
 ?	physdev_eoi			physdev.h
 ?	physdev_get_free_pirq		physdev.h
 ?	physdev_irq			physdev.h
@@ -143,6 +158,7 @@
 ?	physdev_restore_msi		physdev.h
 ?	physdev_set_iopl		physdev.h
 ?	physdev_setup_gsi		physdev.h
+
 !	pct_register			platform.h
 !	power_register			platform.h
 ?	processor_csd			platform.h
@@ -158,23 +174,30 @@
 ?	xenpf_pcpu_version		platform.h
 ?	xenpf_resource_entry		platform.h
 ?	xenpf_ucode_revision		platform.h
+
 ?	pmu_data			pmu.h
 ?	pmu_params			pmu.h
+
 !	sched_poll			sched.h
 ?	sched_pin_override		sched.h
 ?	sched_remote_shutdown		sched.h
 ?	sched_shutdown			sched.h
+
 ?	t_buf				trace.h
+
 ?	vcpu_get_physid			vcpu.h
 ?	vcpu_register_vcpu_info		vcpu.h
 !	vcpu_runstate_info		vcpu.h
 ?	vcpu_set_periodic_timer		vcpu.h
 !	vcpu_set_singleshot_timer	vcpu.h
-?	build_id                        version.h
-?	compile_info                    version.h
-?	feature_info                    version.h
+
+?	build_id			version.h
+?	compile_info			version.h
+?	feature_info			version.h
+
 ?	xenoprof_init			xenoprof.h
 ?	xenoprof_passive		xenoprof.h
+
 ?	flask_access			xsm/flask_op.h
 ?	flask_cache_stats		xsm/flask_op.h
 ?	flask_hash_stats		xsm/flask_op.h

base-commit: c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:43:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:43:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706350.1103455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU2-0000Qt-ER; Mon, 15 Apr 2024 15:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706350.1103455; Mon, 15 Apr 2024 15:43:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU2-0000QJ-9y; Mon, 15 Apr 2024 15:43:02 +0000
Received: by outflank-mailman (input) for mailman id 706350;
 Mon, 15 Apr 2024 15:43: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=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwOU1-0000NU-Gr
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 15:43: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 d6ff518d-fb3e-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 17:43:00 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-518a56cdc03so2156406e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 08:43:00 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 jz1-20020a17090775e100b00a526457fc84sm1987261ejc.57.2024.04.15.08.42.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 08:42: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: d6ff518d-fb3e-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713195780; x=1713800580; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KpgVZvqhPT4WIEsac/Wg+IgEeBJYELSXisBygmL+81k=;
        b=WmSxbQCl7Qkn9XxhzYpMW3A2zS/3uFSxJMInffD5vaK4/Qf34L4WrrahTDki170oUS
         YPeTqwqdRvDhK0vu3Nz04Mr71AW2QvCWzYBCTvopIrn6yFy9q6e8LdBTN78j+yvns444
         IasZ9QJDMlaJqJmaj7sU3/YqrAkqbIxJPtaJo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713195780; x=1713800580;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KpgVZvqhPT4WIEsac/Wg+IgEeBJYELSXisBygmL+81k=;
        b=njXLA4PJ+AxLsemszhBF/08V85a9GFdMmUq64JIlC8akgTxTmV/xuRjQ/DuP54aLV1
         KuxNF57RYHFPkNobLTRtTFQPe7voCYwui2wqbkqxDwpMLsF4IC5Yt+3DqbphacUxYeOo
         k0L+J8U3RNduOKJ/NVb0FUjGpcUEqgy8nnYtHbzg+vc3ycM67kDM20A1SpLwn6/gOPhH
         auRaQ4YwtixLvygb8zcGflifm1fdQfYQFB91sAhgjcX3u3H4W9L5xhlAuBATO9H4nz8t
         tInCNSUeXTo5gzmJvOCODTFZLSDZ6e0zj9EbtrmrxOiTeRGV561hOGtTHZ0A76oSUxcN
         LLzQ==
X-Gm-Message-State: AOJu0YyEp3Gqob70wf8qULVXL3w9COX8xKA15ICgIxp6erNq3zjj//9G
	Vomg+T/1uizLpUmQA9DFlYunA64cLj/AriXVkZ2heA8rhZC7BVCc/5TzAkJwDu1Mvk/8qNLuN40
	XqAc=
X-Google-Smtp-Source: AGHT+IFTQlwoceTmwRCqmdPei0ogfxvb2temagQmdilUfn4ayRUbDk/NyhxitZnuNLs4/rLuDpCNBg==
X-Received: by 2002:a19:6b19:0:b0:518:95b6:176f with SMTP id d25-20020a196b19000000b0051895b6176fmr5057542lfa.50.1713195780133;
        Mon, 15 Apr 2024 08:43: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>,
	George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 2/4] xen/xlat: Sort structs per file
Date: Mon, 15 Apr 2024 16:41:53 +0100
Message-Id: <20240415154155.2718064-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
---
 xen/include/xlat.lst | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index e811342bb096..b3befd9cc113 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -22,11 +22,11 @@
 # ? - needs checking
 
 ?	dom0_vga_console_info		xen.h
-?	xenctl_bitmap			xen.h
 ?	mmu_update			xen.h
 !	mmuext_op			xen.h
 !	start_info			xen.h
 ?	vcpu_time_info			xen.h
+?	xenctl_bitmap			xen.h
 
 ?	pmu_amd_ctxt			arch-x86/pmu.h
 ?	pmu_arch			arch-x86/pmu.h
@@ -40,13 +40,6 @@
 
 ?	cpu_offline_action		arch-x86/xen-mca.h
 ?	mc				arch-x86/xen-mca.h
-?	mcinfo_bank			arch-x86/xen-mca.h
-?	mcinfo_common			arch-x86/xen-mca.h
-?	mcinfo_extended			arch-x86/xen-mca.h
-?	mcinfo_global			arch-x86/xen-mca.h
-?	mcinfo_logical_cpu		arch-x86/xen-mca.h
-?	mcinfo_msr			arch-x86/xen-mca.h
-?	mcinfo_recovery			arch-x86/xen-mca.h
 !	mc_fetch			arch-x86/xen-mca.h
 ?	mc_info				arch-x86/xen-mca.h
 ?	mc_inject_v2			arch-x86/xen-mca.h
@@ -54,6 +47,13 @@
 ?	mc_msrinject			arch-x86/xen-mca.h
 ?	mc_notifydomain			arch-x86/xen-mca.h
 !	mc_physcpuinfo			arch-x86/xen-mca.h
+?	mcinfo_bank			arch-x86/xen-mca.h
+?	mcinfo_common			arch-x86/xen-mca.h
+?	mcinfo_extended			arch-x86/xen-mca.h
+?	mcinfo_global			arch-x86/xen-mca.h
+?	mcinfo_logical_cpu		arch-x86/xen-mca.h
+?	mcinfo_msr			arch-x86/xen-mca.h
+?	mcinfo_recovery			arch-x86/xen-mca.h
 ?	page_offline_action		arch-x86/xen-mca.h
 
 ?	argo_addr			argo.h
@@ -85,18 +85,18 @@
 ?	gnttab_cache_flush		grant_table.h
 !	gnttab_copy			grant_table.h
 ?	gnttab_dump_table		grant_table.h
+!	gnttab_get_status_frames	grant_table.h
+?	gnttab_get_version		grant_table.h
 ?	gnttab_map_grant_ref		grant_table.h
+?	gnttab_set_version		grant_table.h
 !	gnttab_setup_table		grant_table.h
+?	gnttab_swap_grant_ref		grant_table.h
 !	gnttab_transfer			grant_table.h
-?	gnttab_unmap_grant_ref		grant_table.h
 ?	gnttab_unmap_and_replace	grant_table.h
-?	gnttab_set_version		grant_table.h
-?	gnttab_get_version		grant_table.h
-!	gnttab_get_status_frames	grant_table.h
-?	grant_entry_v1			grant_table.h
+?	gnttab_unmap_grant_ref		grant_table.h
 ?	grant_entry_header		grant_table.h
+?	grant_entry_v1			grant_table.h
 ?	grant_entry_v2			grant_table.h
-?	gnttab_swap_grant_ref		grant_table.h
 
 !	dm_op_buf			hvm/dm_op.h
 ?	dm_op_create_ioreq_server	hvm/dm_op.h
@@ -134,11 +134,11 @@
 !	add_to_physmap			memory.h
 !	add_to_physmap_batch		memory.h
 !	foreign_memory_map		memory.h
+!	mem_access_op			memory.h
+!	mem_acquire_resource		memory.h
 !	memory_exchange			memory.h
 !	memory_map			memory.h
 !	memory_reservation		memory.h
-!	mem_access_op			memory.h
-!	mem_acquire_resource		memory.h
 !	pod_target			memory.h
 !	remove_from_physmap		memory.h
 !	reserved_device_memory_map	memory.h
@@ -154,10 +154,10 @@
 ?	physdev_pci_device		physdev.h
 ?	physdev_pci_device_add		physdev.h
 ?	physdev_pci_mmcfg_reserved	physdev.h
-?	physdev_unmap_pirq		physdev.h
 ?	physdev_restore_msi		physdev.h
 ?	physdev_set_iopl		physdev.h
 ?	physdev_setup_gsi		physdev.h
+?	physdev_unmap_pirq		physdev.h
 
 !	pct_register			platform.h
 !	power_register			platform.h
@@ -169,17 +169,17 @@
 ?	processor_px			platform.h
 !	psd_package			platform.h
 ?	xenpf_enter_acpi_sleep		platform.h
-!	xenpf_symdata			platform.h
-?	xenpf_pcpuinfo			platform.h
 ?	xenpf_pcpu_version		platform.h
+?	xenpf_pcpuinfo			platform.h
 ?	xenpf_resource_entry		platform.h
+!	xenpf_symdata			platform.h
 ?	xenpf_ucode_revision		platform.h
 
 ?	pmu_data			pmu.h
 ?	pmu_params			pmu.h
 
-!	sched_poll			sched.h
 ?	sched_pin_override		sched.h
+!	sched_poll			sched.h
 ?	sched_remote_shutdown		sched.h
 ?	sched_shutdown			sched.h
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:43:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:43:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706351.1103470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU5-0000t7-Ni; Mon, 15 Apr 2024 15:43:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706351.1103470; Mon, 15 Apr 2024 15:43:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU5-0000t0-Jg; Mon, 15 Apr 2024 15:43:05 +0000
Received: by outflank-mailman (input) for mailman id 706351;
 Mon, 15 Apr 2024 15:43: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=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwOU2-0000NU-H7
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 15:43:02 +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 d766b22e-fb3e-11ee-b908-491648fe20b8;
 Mon, 15 Apr 2024 17:43:01 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a51a7d4466bso385856466b.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 08:43:01 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 jz1-20020a17090775e100b00a526457fc84sm1987261ejc.57.2024.04.15.08.43.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 08:43: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: d766b22e-fb3e-11ee-b908-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713195781; x=1713800581; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4BacL8QB7ZWP7TY5BHnn9lSxgM8xcnJnilaGER3YBeY=;
        b=S5pW7g21FrdgTExQ0+kWvzsRwbYAnKuAQA7lI3Pk6jp6U2821A7cmHW+Sqe/PZTLyt
         j9bjJekwvFVAbBw2UB0R/Pp74+zrKx40BdWtsgxpBQKVQ+EeW28VTkW7MtzQfOnMH7p2
         xRxUas7mkBeKy1ePuu+J8CMPVSBbEzdfgsmhI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713195781; x=1713800581;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4BacL8QB7ZWP7TY5BHnn9lSxgM8xcnJnilaGER3YBeY=;
        b=ocmupnFAUKK7Iqr8WfeY3KET0xkodkq7GqczS5cf1X9rcAoIatUYCLcxRdVW1/SmJE
         CI5XbJF4Dw7Y/WrRW+EBskIGH0ULhfEzWoMsJmbvQqGGr6cHdmiBhazadEz6yPes8KEV
         Ecp0rXh4T0YjtrYBogXmHq9cl04Q5Pmd8Jc2lHodOAfoRz1iJzXTrA90+rqUGDtVPFEL
         8MOlJ5mEGKHLW1Pg5xC4S+hake/895DCyND1em4nhYLC0sDKRVn0KyLSXg4w4udHfBu6
         Q/WtN/F3xMwPHFJShsIyX/H6gV+5hyTfBsCzWL9dEhnvWFO8p/ZD6dcbwESqdwbPqMne
         wATg==
X-Gm-Message-State: AOJu0YyU2H0onVinGJU8QiwMWNxf3u9F+y37WFxW9NboSQRSkT7+QTdd
	FLJHkIArPniiuQ71Iaj7ki+ulCg9r+Sydm2LH188HnaXqyErwVFtjIyskzk3lYnyRLHVdeYFbVp
	u0ko=
X-Google-Smtp-Source: AGHT+IHPz7GVUB+XTlypiLu1c10rF57FJ4U4D8ixvfZxpXBt7kQI+18aXvdN+HDsFCKk62mq/iTuYA==
X-Received: by 2002:a17:906:254c:b0:a51:a06e:afd1 with SMTP id j12-20020a170906254c00b00a51a06eafd1mr6141580ejb.23.1713195781048;
        Mon, 15 Apr 2024 08:43: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>,
	George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 3/4] xen/gnttab: Perform compat/native gnttab_query_size check
Date: Mon, 15 Apr 2024 16:41:54 +0100
Message-Id: <20240415154155.2718064-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This subop appears to have been missed from the compat checks.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
---
 xen/common/compat/grant_table.c | 4 ++++
 xen/include/xlat.lst            | 1 +
 2 files changed, 5 insertions(+)

diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
index af98eade17c9..8a754055576b 100644
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -30,6 +30,10 @@ CHECK_gnttab_unmap_grant_ref;
 CHECK_gnttab_unmap_and_replace;
 #undef xen_gnttab_unmap_and_replace
 
+#define xen_gnttab_query_size gnttab_query_size
+CHECK_gnttab_query_size;
+#undef xen_gnttab_query_size
+
 DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_compat_t);
 DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_compat_t);
 DEFINE_XEN_GUEST_HANDLE(gnttab_copy_compat_t);
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index b3befd9cc113..53a1bdfc533f 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -88,6 +88,7 @@
 !	gnttab_get_status_frames	grant_table.h
 ?	gnttab_get_version		grant_table.h
 ?	gnttab_map_grant_ref		grant_table.h
+?	gnttab_query_size		grant_table.h
 ?	gnttab_set_version		grant_table.h
 !	gnttab_setup_table		grant_table.h
 ?	gnttab_swap_grant_ref		grant_table.h
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:43:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706352.1103474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU6-0000wn-2B; Mon, 15 Apr 2024 15:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706352.1103474; Mon, 15 Apr 2024 15: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 1rwOU5-0000w2-SJ; Mon, 15 Apr 2024 15:43:05 +0000
Received: by outflank-mailman (input) for mailman id 706352;
 Mon, 15 Apr 2024 15:43: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=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwOU2-0000Nb-Nq
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 15:43: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 d5f59f43-fb3e-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 17:42:59 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a524ecaf215so240260966b.2
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 08:42:59 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 jz1-20020a17090775e100b00a526457fc84sm1987261ejc.57.2024.04.15.08.42.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 08:42: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: d5f59f43-fb3e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713195778; x=1713800578; 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=lPGq0ub75Cw5vDVXRG5deLNZNVu1XpuWe3GsyXEHU90=;
        b=HpjBjigbwtujpj62NNWzKkqSNm1WBafmALPfBehGb2Ug8VGPcM9K21/GoZfAeIvQA1
         kTpqYX4yfg/AApLHTKE/0tTw8C+G7cziZhvBmjLUM+XJlpiqAVIpmfom5Pr7wn15RmRG
         qHBwLpn1I3KWN1ECVIbqzr1qPad2lMwe3gNGE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713195778; x=1713800578;
        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=lPGq0ub75Cw5vDVXRG5deLNZNVu1XpuWe3GsyXEHU90=;
        b=fhYi7GhMqoED0FXJifInImYxKoR6H7qAxo4UBP3z2zlPtM5zFPY9rkjjMFK/60Pzl1
         /7m77S+UgBVZ2fUGWQJ8aRUC5YFZWbBK4D0k6d9+V05mTVoPt3mhIeMYTLMEBJ+Z2TTy
         MJmznoFrgml0gZobqx03rxK+xEy5lxMxLzqDeml0vLygylZuKZV21Ey/JTONj/0mU68K
         IiO34S0+vxKnopuXTXgjyhqHBQBM6oA7lWEFqgmeYw8/sasSrZNLMj+qPhHPtAvzZJw/
         /65Z7W7GVjQFofR9zl9/lqBmo3snRyvbJQF0BuJMqT5HnjANM+UOp9m+Y5jzj8asIK0M
         JBAA==
X-Gm-Message-State: AOJu0Ywju151/7UeJlhu521KCiWTyV4ZdppoHvqWZ4AR8qBkfK7R+b6P
	wTyWsruzNUKgBAp46wgo4vKOmQ3KEWqBUlJydeO1D8ac3KCbRcHWl4V6loJNr8TDfATlaK6R3ku
	RyKI=
X-Google-Smtp-Source: AGHT+IE9r8qSLyg2D7BMJgx3mc2ed305tBKVoys3OAyYk9+ePt/nz1Ml9hXIc+r+TRSGdGKIIA3Ztw==
X-Received: by 2002:a17:906:5a83:b0:a4e:768a:144f with SMTP id l3-20020a1709065a8300b00a4e768a144fmr6141521ejq.36.1713195778076;
        Mon, 15 Apr 2024 08:42: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>,
	George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 0/4] xen/xlat: Improvements to compat hypercall checking
Date: Mon, 15 Apr 2024 16:41:51 +0100
Message-Id: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This started off as patch 3, and grew somewhat.

Patches 1-3 are simple and hopefully non-controversial.

Patch 4 is an attempt to make the headers less fragile, but came with an
unexpected complication.  Details in the patch.

Andrew Cooper (4):
  xen/xlat: Sort out whitespace
  xen/xlat: Sort structs per file
  xen/gnttab: Perform compat/native gnttab_query_size check
  xen/public: Use -Wpadding for public headers

 xen/common/Makefile              |  1 +
 xen/common/compat/grant_table.c  |  4 ++
 xen/common/hdr-chk.c             | 13 ++++++
 xen/include/public/grant_table.h |  7 ++++
 xen/include/xlat.lst             | 70 +++++++++++++++++++++-----------
 5 files changed, 72 insertions(+), 23 deletions(-)
 create mode 100644 xen/common/hdr-chk.c


base-commit: c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:43:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706353.1103481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOU6-00012z-Eo; Mon, 15 Apr 2024 15:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706353.1103481; Mon, 15 Apr 2024 15: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 1rwOU6-00011k-7Y; Mon, 15 Apr 2024 15:43:06 +0000
Received: by outflank-mailman (input) for mailman id 706353;
 Mon, 15 Apr 2024 15:43: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=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwOU4-0000Nb-FT
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 15:43:04 +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 d816c462-fb3e-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 17:43:02 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a51a1c8d931so433377066b.0
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 08:43:02 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 jz1-20020a17090775e100b00a526457fc84sm1987261ejc.57.2024.04.15.08.43.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 15 Apr 2024 08:43: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: d816c462-fb3e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713195782; x=1713800582; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KwG/SvK+aur9Ak8+5b+UV8UOo2svZqs0RzBYX+mlEmk=;
        b=cSap+eBzM4wuLz1xzGg2b6LMSWdzJ6spEEbH7O38LUPvurWI7dwaWJXPfrRbwYo+wd
         NjsrsAm2/Hdg0MToTM7zMYNmM9KPLqq9x6xzHWhEvBAoxwp5aFpBUU6YfS9ZlFLklv3S
         /GZ7RsIm+UO69br4eUW6ar6tHsqjlw6Cj2exQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713195782; x=1713800582;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KwG/SvK+aur9Ak8+5b+UV8UOo2svZqs0RzBYX+mlEmk=;
        b=wJxvUGhAe8zzxI++kVQp2MdnphLWRgG9RJTarKQSqnoZLQ8IamEbUYtKJiJX032j+D
         YdcKq5jlWQWifqk2Q7uD35TTUcTzp9ri06n5YacKPemBBKx25/HFxqFhgukBi096SFw9
         Sjl96iLgbt3SGU6YxsRYRKVJDpT4v5b9k9ZEzbemPaVmsYG/qi8Y8odopYrBjXaoSQG5
         YJgisLd7OgA/ft0MayWijEZAWB156jqC0ChfF0ONBA+a5EyQTpvmWUq/XJyUrLavGoSC
         oL+b8sv5nvVFGj/9NwcDTmbiMafTqGm0KEfdrSN0nLMTcwv/hjpP/yKQNiodSSMqnVq+
         +8kA==
X-Gm-Message-State: AOJu0YwAzuLMDhSZlRJL3IiVxUhVwUveieo2kKn2SAqHi+9sZOtKzdIS
	XZ+5wVCxVwPDr2B1/347VddB4Pie9Cpa4XPq47cN/LLGC+cFMiDi9MXMAizd6DRkDj3u0SiPewR
	wBlo=
X-Google-Smtp-Source: AGHT+IFMRTgoBO75/F6759VTwv2svqgv1NIVz46T3NVo7ac4Ptoecbeo+nDmHrqX5jUOSMk/mP+cCw==
X-Received: by 2002:a17:907:d2a:b0:a52:2f19:f1d7 with SMTP id gn42-20020a1709070d2a00b00a522f19f1d7mr7217919ejc.53.1713195781801;
        Mon, 15 Apr 2024 08:43: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>,
	George Dunlap <George.Dunlap@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 4/4] xen/public: Use -Wpadding for public headers
Date: Mon, 15 Apr 2024 16:41:55 +0100
Message-Id: <20240415154155.2718064-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

RFC.  In theory this is a great way to avoid some of the spiketraps involved
with C being the official representation.

However, this doesn't build.  gnttab_transfer has a layout that requires a
CONFIG_COMPAT if we want to satisfy -Wpadding for both forms of the structure.

Thoughts on whether this cross-check is worthwhile-enough to warrant the
ifdefary?

~Andrew
---
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>
---
 xen/common/Makefile              |  1 +
 xen/common/hdr-chk.c             | 13 +++++++++++++
 xen/include/public/grant_table.h |  7 +++++++
 3 files changed, 21 insertions(+)
 create mode 100644 xen/common/hdr-chk.c

diff --git a/xen/common/Makefile b/xen/common/Makefile
index d512cad5243f..dbbda70829f1 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -15,6 +15,7 @@ obj-y += event_fifo.o
 obj-$(CONFIG_GRANT_TABLE) += grant_table.o
 obj-y += guestcopy.o
 obj-y += gzip/
+obj-y += hdr-chk.o
 obj-$(CONFIG_HYPFS) += hypfs.o
 obj-$(CONFIG_IOREQ_SERVER) += ioreq.o
 obj-y += irq.o
diff --git a/xen/common/hdr-chk.c b/xen/common/hdr-chk.c
new file mode 100644
index 000000000000..1c7a509dcd06
--- /dev/null
+++ b/xen/common/hdr-chk.c
@@ -0,0 +1,13 @@
+#include <xen/stdint.h>
+
+#include <public/xen.h>
+
+#pragma GCC diagnostic error "-Wpadded"
+
+#include <public/grant_table.h>
+
+#ifdef CONFIG_COMPAT
+
+#include <compat/grant_table.h>
+
+#endif /* CONFIG_COMPAT */
diff --git a/xen/include/public/grant_table.h b/xen/include/public/grant_table.h
index 1dfa17a6d02a..a66c77d0166c 100644
--- a/xen/include/public/grant_table.h
+++ b/xen/include/public/grant_table.h
@@ -355,6 +355,7 @@ struct gnttab_unmap_grant_ref {
     grant_handle_t handle;
     /* OUT parameters. */
     int16_t  status;              /* => enum grant_status */
+    uint16_t _pad0;
 };
 typedef struct gnttab_unmap_grant_ref gnttab_unmap_grant_ref_t;
 DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
@@ -371,6 +372,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
 struct gnttab_setup_table {
     /* IN parameters. */
     domid_t  dom;
+    uint16_t _pad0;
     uint32_t nr_frames;
     /* OUT parameters. */
     int16_t  status;              /* => enum grant_status */
@@ -409,9 +411,12 @@ struct gnttab_transfer {
     /* IN parameters. */
     xen_pfn_t     mfn;
     domid_t       domid;
+    uint16_t      _pad0;
     grant_ref_t   ref;
     /* OUT parameters. */
     int16_t       status;
+    uint16_t      _pad1;
+    /* XXX compat-dependent padding. */
 };
 typedef struct gnttab_transfer gnttab_transfer_t;
 DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_t);
@@ -468,10 +473,12 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_copy_t);
 struct gnttab_query_size {
     /* IN parameters. */
     domid_t  dom;
+    uint16_t _ign1;
     /* OUT parameters. */
     uint32_t nr_frames;
     uint32_t max_nr_frames;
     int16_t  status;              /* => enum grant_status */
+    uint16_t _ign2;
 };
 typedef struct gnttab_query_size gnttab_query_size_t;
 DEFINE_XEN_GUEST_HANDLE(gnttab_query_size_t);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 15:45:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 15:45:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706368.1103500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwOVy-0004BM-Qz; Mon, 15 Apr 2024 15:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706368.1103500; Mon, 15 Apr 2024 15:45: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 1rwOVy-0004BF-O1; Mon, 15 Apr 2024 15:45:02 +0000
Received: by outflank-mailman (input) for mailman id 706368;
 Mon, 15 Apr 2024 15:45: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=YQk4=LU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwOVx-0004B3-55
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 15:45:01 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d3596b9-fb3f-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 17:44:59 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id
 af79cd13be357-78d62c1e82bso234576385a.3
 for <xen-devel@lists.xenproject.org>; Mon, 15 Apr 2024 08:44:59 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 vr12-20020a05620a55ac00b0078d66d66d82sm6486438qkn.30.2024.04.15.08.44.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 15 Apr 2024 08: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: 1d3596b9-fb3f-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713195898; x=1713800698; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xvgYPJor+nMjPwufBPfMFWQzpGzB33ttrY3LeKBdFwE=;
        b=LvdJ15D/1TDh5YN/cxWYiK84rD97onUJY5nsslTUfKKFySLPzXzj3Fl+FV53zgDq+a
         WcwSA4HAk4bsg9xm1KAUiI4YMBKZLoCQ1W8HSNRAsYTDF41Tckd4mkEfV1hxq3XDKJQp
         rYwfKMxezv5dbloD/UYNjH9bvMWILHhcsIwZM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713195898; x=1713800698;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xvgYPJor+nMjPwufBPfMFWQzpGzB33ttrY3LeKBdFwE=;
        b=geF1ODER/j7+welyxjaNMklfurqCs65qEUJYjq4n7pHs8/M4HN44TRT6MQ7xqYUMzr
         aAxxxhc40RgX/I/nshZngua+lxzwc01Tmo5tj1DWMLMBJSD/XiWd+JZj5q0VvqV7w+CD
         beP01c876l/FJIxyuqEufetJ2GtSlWNcae9KqWsYCIokHrYwrJqD5xpyUMvvfz3UsVr0
         rGbhhhciXWwb8P30VV+W2zMa5ayN7N8NAYuGvbuqNKmxgw/yOpd1sar4yrDP///25j+D
         ULjod83oIZ/BCgE92VLqU2OzoWBGUAayj5SrXrkIvz7p+dYOaUH/3baF0D0sX8fY3m+3
         pabA==
X-Forwarded-Encrypted: i=1; AJvYcCWyrb9E/xWDpcvwzNNk9e752/8KknYIRhHTKoxpskDKs8YraUaOeWWAfRukaRymDIMjlma95+k1nY8TfrkHIaAD4zdpdKRDRpI9hsd2Rww=
X-Gm-Message-State: AOJu0YwTDyHTMse2NZhZXB+2ZqSTG0vs9T0V2yEZSpjx6YCecmsCS3u0
	Jg5j9H9tSkhuYGfGIm9EIqk8SyPWULOo+gYrsrkvsgZHziNadUnrsby1zSByQy8=
X-Google-Smtp-Source: AGHT+IF75a9KArGxbDoygzgkS2/3hsDGaSvipQAz6J2LkUqxaYeYZdUSIEzGuPZFG2iLxqL8VsWoUw==
X-Received: by 2002:a05:620a:190c:b0:78d:6ae4:6778 with SMTP id bj12-20020a05620a190c00b0078d6ae46778mr14381252qkb.47.1713195898173;
        Mon, 15 Apr 2024 08:44:58 -0700 (PDT)
Message-ID: <d62f622b-65b4-4e37-87db-3cc88c89da67@citrix.com>
Date: Mon, 15 Apr 2024 16:44:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] docs/misra: mark the gzip folder as adopted code
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>
References: <2970c1010e227ca1460c5656d13fb87a05d87f29.1713174475.git.federico.serafini@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: <2970c1010e227ca1460c5656d13fb87a05d87f29.1713174475.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15/04/2024 10:56 am, Federico Serafini wrote:
> Mark the whole gzip folder as adopted code and remove the redundant
> deviation of file inflate.
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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

I hadn't realised that we had a special case like this.  Definitely
better to get rid of it.

I've pulled this into my `for-next` branch, and will get it committed
properly when OSSTest (our non-gitlab CI) is in a happier state.


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 16:54:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 16:54:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706402.1103531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwPal-0003l8-7f; Mon, 15 Apr 2024 16:54:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706402.1103531; Mon, 15 Apr 2024 16:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwPal-0003l1-3U; Mon, 15 Apr 2024 16:54:03 +0000
Received: by outflank-mailman (input) for mailman id 706402;
 Mon, 15 Apr 2024 16:54: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 1rwPak-0003kr-8i; Mon, 15 Apr 2024 16:54: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 1rwPaj-0001C5-Va; Mon, 15 Apr 2024 16:54: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 1rwPaj-0003AO-Hw; Mon, 15 Apr 2024 16:54:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwPaj-00086o-HV; Mon, 15 Apr 2024 16:54:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FI/kdwcM9DXrR+gsyzuHuxuhbcVAljeAK8qRRSxUsd4=; b=ysnpZNHF43ai4sMxnPhXnVUsrr
	AXvZMKUK9RlemYoo2rjuFI4+fTrIGaiFq+SPzYQIGbF3BwnEPvctIE3SYtnvZfH3Q72rHYsOI89fg
	n1ZLAVB8lGADmosMRKWtguogDRorSY2CaffL10S9rb1nMg5fPjb8MggCmvBUvA68/uc0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185597-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185597: regressions - 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-amd64-prev:host-build-prep:fail:regression
    xen-unstable:build-armhf-pvops:host-build-prep:fail:regression
    xen-unstable:build-i386-prev:host-build-prep:fail:regression
    xen-unstable:build-amd64-xtf:host-build-prep:fail:regression
    xen-unstable:build-amd64-xsm:host-build-prep:fail:regression
    xen-unstable:build-i386-xsm:host-build-prep:fail:regression
    xen-unstable:build-amd64-pvops:host-build-prep:fail:regression
    xen-unstable:build-i386:host-build-prep:fail:regression
    xen-unstable:build-i386-pvops:host-build-prep:fail:regression
    xen-unstable:build-arm64-xsm:host-build-prep:fail:regression
    xen-unstable:build-arm64:host-build-prep:fail:regression
    xen-unstable:build-arm64-pvops:host-build-prep:fail:regression
    xen-unstable:build-armhf:host-build-prep:fail:regression
    xen-unstable:build-amd64:host-build-prep:fail: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-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-5:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 16:54:01 +0000

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

Regressions :-(

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-amd64-prev              5 host-build-prep          fail REGR. vs. 185281
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185281
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185281
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-i386                    5 host-build-prep          fail REGR. vs. 185281
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185281
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185281
 build-arm64                   5 host-build-prep          fail REGR. vs. 185281
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185281
 build-armhf                   5 host-build-prep          fail REGR. vs. 185281
 build-amd64                   5 host-build-prep          fail REGR. vs. 185281

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-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-5        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    6 days
Failing since        185294  2024-04-10 04:20:17 Z    5 days    8 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    1 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 17:35:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 17:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706414.1103553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwQF9-0004JU-Ca; Mon, 15 Apr 2024 17:35:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706414.1103553; Mon, 15 Apr 2024 17:35:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwQF9-0004JN-87; Mon, 15 Apr 2024 17:35:47 +0000
Received: by outflank-mailman (input) for mailman id 706414;
 Mon, 15 Apr 2024 17:35: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 1rwQF8-0004JD-Jj; Mon, 15 Apr 2024 17:35: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 1rwQF8-0001v1-GO; Mon, 15 Apr 2024 17:35: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 1rwQF8-000483-9p; Mon, 15 Apr 2024 17:35:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwQF8-0005QD-9T; Mon, 15 Apr 2024 17:35:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Dv+cRvqMp5E6GE78BTYW1zpTv8WGPVBlDhODQYEKBiU=; b=spJE94YjhxJrbEH+yGcMBVoNSQ
	x77FywU08qkxrQnYXzifHr55JvboyqtvYnSB9F0GNFr/33B6yPMVHdFBo/SC11ZylBprdJLBvNsn7
	6jp6J8lMTMQbykZJ4ett4MAKWqhCLEmattNGZjOmK1L/83IMHfggLiba5lKTOcttjayk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185604-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 185604: regressions - trouble: blocked/broken
X-Osstest-Failures:
    seabios:build-amd64:<job status>:broken:regression
    seabios:build-amd64-pvops:<job status>:broken:regression
    seabios:build-amd64-xsm:<job status>:broken:regression
    seabios:build-i386:<job status>:broken:regression
    seabios:build-i386-pvops:<job status>:broken:regression
    seabios:build-i386-xsm:<job status>:broken:regression
    seabios:build-amd64:host-build-prep:fail:regression
    seabios:build-amd64-xsm:host-build-prep:fail:regression
    seabios:build-amd64-pvops:host-build-prep:fail:regression
    seabios:build-i386-xsm:host-build-prep:fail:regression
    seabios:build-i386:host-build-prep:fail:regression
    seabios:build-i386-pvops:host-build-prep:fail:regression
    seabios:build-amd64-libvirt:build-check(1):blocked:nonblocking
    seabios:build-i386-libvirt:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    seabios=e5f2e4c69643bc3cd385306a9e5d29e11578148c
X-Osstest-Versions-That:
    seabios=c5a361c09a19e3b1a83557b01f11f04b27181a11
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 17:35:46 +0000

flight 185604 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185604/

Regressions :-(

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-amd64                   5 host-build-prep          fail REGR. vs. 185287
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185287
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185287
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185287
 build-i386                    5 host-build-prep          fail REGR. vs. 185287
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185287

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-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-qemuu-debianhvm-amd64  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-i386-xsm  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-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a

version targeted for testing:
 seabios              e5f2e4c69643bc3cd385306a9e5d29e11578148c
baseline version:
 seabios              c5a361c09a19e3b1a83557b01f11f04b27181a11

Last test of basis   185287  2024-04-09 15:42:58 Z    6 days
Testing same since   185604  2024-04-15 13:42:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniil Tatianin <d-tatianin@yandex-team.ru>
  Kevin O'Connor <kevin@koconnor.net>

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-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-amd64-qemuu-nested-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-win7-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             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

Not pushing.

------------------------------------------------------------
commit e5f2e4c69643bc3cd385306a9e5d29e11578148c
Author: Daniil Tatianin <d-tatianin@yandex-team.ru>
Date:   Thu Apr 11 22:51:35 2024 +0300

    pciinit: don't misalign large BARs
    
    Previously we would unconditionally lower the alignment for large BARs
    in case their alignment was greater than "pci_mem64_top >> 11", this
    would make it impossible to use these devices by the kernel:
        [   13.821108] pci 0000:9c:00.0: can't claim BAR 1 [mem 0x66000000000-0x67fffffffff 64bit pref]: no compatible bridge window
        [   13.823492] pci 0000:9d:00.0: can't claim BAR 1 [mem 0x64000000000-0x65fffffffff 64bit pref]: no compatible bridge window
        [   13.824218] pci 0000:9e:00.0: can't claim BAR 1 [mem 0x62000000000-0x63fffffffff 64bit pref]: no compatible bridge window
        [   13.828322] pci 0000:8a:00.0: can't claim BAR 1 [mem 0x6e000000000-0x6ffffffffff 64bit pref]: no compatible bridge window
        [   13.830691] pci 0000:8b:00.0: can't claim BAR 1 [mem 0x6c000000000-0x6dfffffffff 64bit pref]: no compatible bridge window
        [   13.832218] pci 0000:8c:00.0: can't claim BAR 1 [mem 0x6a000000000-0x6bfffffffff 64bit pref]: no compatible bridge window
    
    Fix it by only overwriting the alignment in case it's actually greater
    than the desired by the BAR window.
    
    Fixes: 96a8d130a8c ("be less conservative with the 64bit pci io window")
    Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

commit 731c88d503ef07a06a03dd17a6e9163941b329da
Author: Kevin O'Connor <kevin@koconnor.net>
Date:   Mon Apr 1 13:44:58 2024 -0400

    stdvgaio: Only read/write one color palette entry at a time
    
    Introduce stdvga_dac_read_many() and stdvga_dac_write_many() for
    writing multiple dac palette entries.  Convert the stdvga_dac_read()
    and stdvga_dac_write() low-level IO access functions in stdvgaio.c to
    access just one color palette entry.
    
    Signed-off-by: Kevin O'Connor <kevin@koconnor.net>


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 17:36:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 17:36:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706419.1103562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwQFi-0004qO-Lm; Mon, 15 Apr 2024 17:36:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706419.1103562; Mon, 15 Apr 2024 17:36: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 1rwQFi-0004qH-JF; Mon, 15 Apr 2024 17:36:22 +0000
Received: by outflank-mailman (input) for mailman id 706419;
 Mon, 15 Apr 2024 17:36: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 1rwQFh-0004q2-55; Mon, 15 Apr 2024 17:36: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 1rwQFh-0001vQ-2V; Mon, 15 Apr 2024 17:36: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 1rwQFg-00049J-Ri; Mon, 15 Apr 2024 17:36:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwQFg-0005nf-RK; Mon, 15 Apr 2024 17:36: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=kto1ro+EkXbb5pv17dYDYdmfExLb0tpSaxbM4+r+aa4=; b=oKgKzK68RZh+2qwTZcLZy9RAKo
	zv+0YOQ28qADe4zIBiRp/zJb5ppxzwJ8h8RtBCDufBiH193tmpSTeQUHZ0xLHrd12FA7qCUsjU8GH
	yy6uUYmh+Z+rDySoiugspHArIgtuMUkp8w7CN6Qyl0L9MUF7dIr2khS+dw76Ee/z6Dmg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185603-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185603: regressions - 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-amd64-xsm:host-build-prep:fail:regression
    ovmf:build-amd64-pvops:host-build-prep:fail:regression
    ovmf:build-i386:host-build-prep:fail:regression
    ovmf:build-amd64:host-build-prep:fail:regression
    ovmf:build-i386-xsm:host-build-prep:fail:regression
    ovmf:build-i386-pvops:host-build-prep:fail: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=e25808f5018ea601d0adf1d6d10c1cb3cb6a050b
X-Osstest-Versions-That:
    ovmf=98f150a954b35cc74bd87ae355cf35d8c9e1580d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 17:36:20 +0000

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

Regressions :-(

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-amd64-xsm               5 host-build-prep          fail REGR. vs. 185309
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185309
 build-i386                    5 host-build-prep          fail REGR. vs. 185309
 build-amd64                   5 host-build-prep          fail REGR. vs. 185309
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185309
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185309

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                 e25808f5018ea601d0adf1d6d10c1cb3cb6a050b
baseline version:
 ovmf                 98f150a954b35cc74bd87ae355cf35d8c9e1580d

Last test of basis   185309  2024-04-11 08:11:11 Z    4 days
Testing same since   185603  2024-04-15 13:42:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gahan Saraiya <gahan.saraiya@intel.com>
  Qingyu <qingyu.shang@intel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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

Not pushing.

------------------------------------------------------------
commit e25808f5018ea601d0adf1d6d10c1cb3cb6a050b
Author: Qingyu <qingyu.shang@intel.com>
Date:   Mon Apr 8 16:56:47 2024 +0800

    MdePkg: Update the comments of GetInformation function
    
    Refer to Uefi spec 2.10 section 11.11.2, add a new retval
    EFI_NOT_FOUND to EFI_ADAPTER_INFORMATION_PROTOCOL.GetInformation().
    Reference: [mantis #1866] - GetInfo() of Adapter Information
    Protocol should have a provision for IHV to return no data.
    
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Signed-off-by: Qingyu <qingyu.shang@intel.com>
    Signed-off-by: Gahan Saraiya <gahan.saraiya@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 18:41:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 18:41:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706447.1103588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwRGc-0000F8-5l; Mon, 15 Apr 2024 18:41:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706447.1103588; Mon, 15 Apr 2024 18: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 1rwRGc-0000F1-2U; Mon, 15 Apr 2024 18:41:22 +0000
Received: by outflank-mailman (input) for mailman id 706447;
 Mon, 15 Apr 2024 18:41:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rwRGb-0000Eu-3U
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 18:41:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rwRGa-00037z-R6; Mon, 15 Apr 2024 18:41: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 1rwRGa-000765-Jg; Mon, 15 Apr 2024 18:41:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=NCz1C1pHO0cfKbu0iKdelHTspWoc8/NEQhmqUiod8TA=; b=GS93VtD8O3YqMR8+ekWSOSsFBb
	MmR88pXarLPJ3+VzPyBF0bQj/O6tJ2+agE419uHzTZ+wrUc1zY94Z++qvLmc0Ay+Ol8QSXSYfRAqD
	9pL4xhTKSKFaG3QPwnVyEyBmEORy40ZS07DCUWEfQ80RUAr9KdgiCOgaqAC/Mg0IWw4o=;
Message-ID: <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
Date: Mon, 15 Apr 2024 19:41:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@arm.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: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-14-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240409114543.3332150-14-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 09/04/2024 12:45, Luca Fancellu wrote:
> Currently Xen is not exporting the static shared memory regions
> to the device tree as /memory node, this commit is fixing this
> issue.
> 
> The static shared memory banks can be part of the memory range
> available for the domain, so if they are overlapping with the
> normal memory banks, they need to be merged together in order
> to produce a /memory node with non overlapping ranges in 'reg'.

Before reviewing the code in more details, I would like to understand a 
bit more the use case and whether it should be valid.

 From my understanding, the case you are trying to prevent is the 
following setup:
   1. The Guest Physical region 0x0000 to 0x8000 is used for RAM
   2. The Guest Physical region 0x0000 to 0x4000 is used for static memory

The underlying Host Physical regions may be different. Xen doesn't 
guarantee in which order the regions will be mapped, So whether the 
overlapped region will point to the memory or the shared region is 
unknown (we don't guarantee the order of the mapping). So nothing good 
will happen to the guest.

Did I understand correctly? If so, shouldn't this be a configuration we 
should forbid?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 18:55:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 18:55:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706456.1103604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwRUW-0003Pc-DX; Mon, 15 Apr 2024 18:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706456.1103604; Mon, 15 Apr 2024 18: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 1rwRUW-0003PV-AI; Mon, 15 Apr 2024 18:55:44 +0000
Received: by outflank-mailman (input) for mailman id 706456;
 Mon, 15 Apr 2024 18:55: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 1rwRUV-0003PL-Cc; Mon, 15 Apr 2024 18:55: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 1rwRUU-0003Mr-SY; Mon, 15 Apr 2024 18:55: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 1rwRUU-0005wd-Ji; Mon, 15 Apr 2024 18:55:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwRUU-0002P3-JF; Mon, 15 Apr 2024 18:55:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cFRH2RXohG8kKBWnu2rf2Jzl+R62c3znKlEuei//tP4=; b=emO1jUsTpHLODe1j4jOX+amiKT
	+t2F8zVbnIoUkriFLqkCSQ09TBJVshHN0GzksBMYNKSEEvYeXNWIv1lUlHa4EYczBj3JFz2IIbXlw
	45ebFeUikMQ0jYImo0jNTscKw20cp3NfGv85pYDNF9Vl+HX1dZTzizxCFymlxtJPYcis=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185616-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 185616: regressions - trouble: blocked/broken
X-Osstest-Failures:
    seabios:build-amd64:<job status>:broken:regression
    seabios:build-amd64-pvops:<job status>:broken:regression
    seabios:build-amd64-xsm:<job status>:broken:regression
    seabios:build-i386:<job status>:broken:regression
    seabios:build-i386-pvops:<job status>:broken:regression
    seabios:build-i386-xsm:<job status>:broken:regression
    seabios:build-amd64:host-build-prep:fail:regression
    seabios:build-amd64-xsm:host-build-prep:fail:regression
    seabios:build-i386-xsm:host-build-prep:fail:regression
    seabios:build-i386:host-build-prep:fail:regression
    seabios:build-i386-pvops:host-build-prep:fail:regression
    seabios:build-amd64-pvops:host-build-prep:fail:regression
    seabios:build-amd64-libvirt:build-check(1):blocked:nonblocking
    seabios:build-i386-libvirt:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    seabios=e5f2e4c69643bc3cd385306a9e5d29e11578148c
X-Osstest-Versions-That:
    seabios=c5a361c09a19e3b1a83557b01f11f04b27181a11
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 18:55:42 +0000

flight 185616 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185616/

Regressions :-(

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-amd64                   5 host-build-prep          fail REGR. vs. 185287
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185287
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185287
 build-i386                    5 host-build-prep          fail REGR. vs. 185287
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185287
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185287

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-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-qemuu-debianhvm-amd64  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-i386-xsm  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-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ws16-amd64  1 build-check(1)             blocked n/a

version targeted for testing:
 seabios              e5f2e4c69643bc3cd385306a9e5d29e11578148c
baseline version:
 seabios              c5a361c09a19e3b1a83557b01f11f04b27181a11

Last test of basis   185287  2024-04-09 15:42:58 Z    6 days
Testing same since   185604  2024-04-15 13:42:35 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniil Tatianin <d-tatianin@yandex-team.ru>
  Kevin O'Connor <kevin@koconnor.net>

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-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-amd64-qemuu-nested-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-win7-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             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

Not pushing.

------------------------------------------------------------
commit e5f2e4c69643bc3cd385306a9e5d29e11578148c
Author: Daniil Tatianin <d-tatianin@yandex-team.ru>
Date:   Thu Apr 11 22:51:35 2024 +0300

    pciinit: don't misalign large BARs
    
    Previously we would unconditionally lower the alignment for large BARs
    in case their alignment was greater than "pci_mem64_top >> 11", this
    would make it impossible to use these devices by the kernel:
        [   13.821108] pci 0000:9c:00.0: can't claim BAR 1 [mem 0x66000000000-0x67fffffffff 64bit pref]: no compatible bridge window
        [   13.823492] pci 0000:9d:00.0: can't claim BAR 1 [mem 0x64000000000-0x65fffffffff 64bit pref]: no compatible bridge window
        [   13.824218] pci 0000:9e:00.0: can't claim BAR 1 [mem 0x62000000000-0x63fffffffff 64bit pref]: no compatible bridge window
        [   13.828322] pci 0000:8a:00.0: can't claim BAR 1 [mem 0x6e000000000-0x6ffffffffff 64bit pref]: no compatible bridge window
        [   13.830691] pci 0000:8b:00.0: can't claim BAR 1 [mem 0x6c000000000-0x6dfffffffff 64bit pref]: no compatible bridge window
        [   13.832218] pci 0000:8c:00.0: can't claim BAR 1 [mem 0x6a000000000-0x6bfffffffff 64bit pref]: no compatible bridge window
    
    Fix it by only overwriting the alignment in case it's actually greater
    than the desired by the BAR window.
    
    Fixes: 96a8d130a8c ("be less conservative with the 64bit pci io window")
    Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

commit 731c88d503ef07a06a03dd17a6e9163941b329da
Author: Kevin O'Connor <kevin@koconnor.net>
Date:   Mon Apr 1 13:44:58 2024 -0400

    stdvgaio: Only read/write one color palette entry at a time
    
    Introduce stdvga_dac_read_many() and stdvga_dac_write_many() for
    writing multiple dac palette entries.  Convert the stdvga_dac_read()
    and stdvga_dac_write() low-level IO access functions in stdvgaio.c to
    access just one color palette entry.
    
    Signed-off-by: Kevin O'Connor <kevin@koconnor.net>


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 19:24:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 19:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706467.1103620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwRvq-0000kh-MG; Mon, 15 Apr 2024 19:23:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706467.1103620; Mon, 15 Apr 2024 19:23: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 1rwRvq-0000ka-Ij; Mon, 15 Apr 2024 19:23:58 +0000
Received: by outflank-mailman (input) for mailman id 706467;
 Mon, 15 Apr 2024 19:23: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 1rwRvp-0000kQ-0K; Mon, 15 Apr 2024 19:23: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 1rwRvo-0003q0-PR; Mon, 15 Apr 2024 19:23: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 1rwRvo-0006Y6-G5; Mon, 15 Apr 2024 19:23:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwRvo-0003UA-Fb; Mon, 15 Apr 2024 19: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2V1WXdaU24BlNzYx86Un18yHAPjzzcH4m2pADMSg+48=; b=4CbVrBU8sIRpiliUN9A2EJXhJw
	YjJ20MOpjBPLNaz3h5C4YJQV4EqmKrHuoSUCxsjd1P5TqqtkK+LD4RYmWNGOkTRRExtUa4FPc8z0R
	Ktt/rXuuu0VCniNbGiKQZVv6bZM+4RUJa6QMUaLdJfbYji2vyOELIip9T8lC+Yh7Y1uw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185527-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185527: regressions - trouble: blocked/broken
X-Osstest-Failures:
    xen-4.18-testing:build-amd64:<job status>:broken:regression
    xen-4.18-testing:build-amd64-prev:<job status>:broken:regression
    xen-4.18-testing:build-amd64-pvops:<job status>:broken:regression
    xen-4.18-testing:build-amd64-xsm:<job status>:broken:regression
    xen-4.18-testing:build-amd64-xtf:<job status>:broken:regression
    xen-4.18-testing:build-arm64:<job status>:broken:regression
    xen-4.18-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.18-testing:build-arm64-xsm:<job status>:broken:regression
    xen-4.18-testing:build-armhf:<job status>:broken:regression
    xen-4.18-testing:build-armhf-pvops:<job status>:broken:regression
    xen-4.18-testing:build-i386:<job status>:broken:regression
    xen-4.18-testing:build-i386-prev:<job status>:broken:regression
    xen-4.18-testing:build-i386-pvops:<job status>:broken:regression
    xen-4.18-testing:build-i386-xsm:<job status>:broken:regression
    xen-4.18-testing:build-i386-xsm:host-build-prep:fail:regression
    xen-4.18-testing:build-i386-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-prev:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-xtf:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-armhf-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-i386-prev:host-build-prep:fail:regression
    xen-4.18-testing:build-amd64-xsm:host-build-prep:fail:regression
    xen-4.18-testing:build-arm64:host-build-prep:fail:regression
    xen-4.18-testing:build-i386:host-build-prep:fail:regression
    xen-4.18-testing:build-arm64-xsm:host-build-prep:fail:regression
    xen-4.18-testing:build-arm64-pvops:host-build-prep:fail:regression
    xen-4.18-testing:build-armhf:host-build-prep:fail:regression
    xen-4.18-testing:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 19:23:56 +0000

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

Regressions :-(

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-xsm                5 host-build-prep          fail REGR. vs. 185285
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185285
 build-amd64-prev              5 host-build-prep          fail REGR. vs. 185285
 build-amd64                   5 host-build-prep          fail REGR. vs. 185285
 build-amd64-xtf               5 host-build-prep          fail REGR. vs. 185285
 build-amd64-pvops             5 host-build-prep          fail REGR. vs. 185285
 build-armhf-pvops             5 host-build-prep          fail REGR. vs. 185285
 build-i386-prev               5 host-build-prep          fail REGR. vs. 185285
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185285
 build-arm64                   5 host-build-prep          fail REGR. vs. 185285
 build-i386                    5 host-build-prep          fail REGR. vs. 185285
 build-arm64-xsm               5 host-build-prep          fail REGR. vs. 185285
 build-arm64-pvops             5 host-build-prep          fail REGR. vs. 185285
 build-armhf                   5 host-build-prep          fail REGR. vs. 185285

Tests which did not succeed, but are not blocking:
 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
 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-amd64-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-arm64-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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 build-i386-libvirt            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-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           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-qemuu-nested-intel  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-qemuu-nested-amd  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-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        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-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      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-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-2        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-3        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  2d38302c33b117aa9a417056db241aefc840c2f0
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    6 days
Failing since        185303  2024-04-10 18:41:55 Z    5 days    5 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    3 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.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-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-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-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

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 20:08:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 20:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706482.1103631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwScj-0007rd-Ck; Mon, 15 Apr 2024 20:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706482.1103631; Mon, 15 Apr 2024 20: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 1rwScj-0007rW-82; Mon, 15 Apr 2024 20:08:17 +0000
Received: by outflank-mailman (input) for mailman id 706482;
 Mon, 15 Apr 2024 20:08: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 1rwSch-0007rM-5S; Mon, 15 Apr 2024 20:08: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 1rwScg-0004fU-VH; Mon, 15 Apr 2024 20:08: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 1rwScg-0007Vz-MK; Mon, 15 Apr 2024 20:08:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwScg-0004ml-Lr; Mon, 15 Apr 2024 20:08: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=uCQKtN9cQRjZKcrqc3hsPkAm29n7UVQcD36HkSD98Yk=; b=p/SJU1YCqYHBfDChdkbGb+ULq4
	th1kK8IYfAYyjz8tUIGR8s2XdG9oC2rxSrRilkuHxidL0dVvseuMDWOgGD08ggxaxgqS16RswwIsO
	+k6RM4+M0D9ART7Im0V2dOYZOeefY4aVwUbZGGIEVzle9hNXfGdI2RSS1Nxy8XYSJQzI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185617-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185617: regressions - 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-amd64-pvops:host-build-prep:fail:regression
    ovmf:build-amd64-xsm:host-build-prep:fail:regression
    ovmf:build-i386:host-build-prep:fail:regression
    ovmf:build-amd64:host-build-prep:fail:regression
    ovmf:build-i386-xsm:host-build-prep:fail:regression
    ovmf:build-i386-pvops:host-build-prep:fail: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=0707d9296d7536c5baf43b23d70eafce10b1ab03
X-Osstest-Versions-That:
    ovmf=98f150a954b35cc74bd87ae355cf35d8c9e1580d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 20:08:14 +0000

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

Regressions :-(

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-amd64-pvops             5 host-build-prep          fail REGR. vs. 185309
 build-amd64-xsm               5 host-build-prep          fail REGR. vs. 185309
 build-i386                    5 host-build-prep          fail REGR. vs. 185309
 build-amd64                   5 host-build-prep          fail REGR. vs. 185309
 build-i386-xsm                5 host-build-prep          fail REGR. vs. 185309
 build-i386-pvops              5 host-build-prep          fail REGR. vs. 185309

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                 0707d9296d7536c5baf43b23d70eafce10b1ab03
baseline version:
 ovmf                 98f150a954b35cc74bd87ae355cf35d8c9e1580d

Last test of basis   185309  2024-04-11 08:11:11 Z    4 days
Failing since        185603  2024-04-15 13:42:34 Z    0 days    2 attempts
Testing same since   185617  2024-04-15 17:41:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gahan Saraiya <gahan.saraiya@intel.com>
  Jiewen Yao <jiewen.yao@intel.com>
  Qingyu <qingyu.shang@intel.com>
  Wei6 Xu <wei6.xu@intel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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

Not pushing.

------------------------------------------------------------
commit 0707d9296d7536c5baf43b23d70eafce10b1ab03
Author: Wei6 Xu <wei6.xu@intel.com>
Date:   Fri Apr 12 15:14:40 2024 +0800

    SecurityPkg/Tcg2Config: Hide BIOS unsupported hash algorithm from UI
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4731
    
    TCG2 configuration UI shows all the hash algorithms that TPM hardware
    supports in the checkbox. If user only selects one algorithm that is
    supported by TPM hardware but not supported by BIOS and uncheck the
    others, the SyncPcrAllocationsAndPcrMask in Tcg2Pei will not be able
    to decide a viable PCR to activate, then an assert occurs.
    
    Add check against PcdTcg2HashAlgorithmBitmap when deciding whether
    to suppress the hash algorithm checkbox to avoid user to select the
    hash algorithm which may cause an assert.
    
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Rahul Kumar <rahul1.kumar@intel.com>
    Acked-by: Jiewen Yao <jiewen.yao@intel.com>

commit e25808f5018ea601d0adf1d6d10c1cb3cb6a050b
Author: Qingyu <qingyu.shang@intel.com>
Date:   Mon Apr 8 16:56:47 2024 +0800

    MdePkg: Update the comments of GetInformation function
    
    Refer to Uefi spec 2.10 section 11.11.2, add a new retval
    EFI_NOT_FOUND to EFI_ADAPTER_INFORMATION_PROTOCOL.GetInformation().
    Reference: [mantis #1866] - GetInfo() of Adapter Information
    Protocol should have a provision for IHV to return no data.
    
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Signed-off-by: Qingyu <qingyu.shang@intel.com>
    Signed-off-by: Gahan Saraiya <gahan.saraiya@intel.com>


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 21:50:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 21:50:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706494.1103646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwUDA-0004tw-Hn; Mon, 15 Apr 2024 21:50:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706494.1103646; Mon, 15 Apr 2024 21: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 1rwUDA-0004tp-En; Mon, 15 Apr 2024 21:50:00 +0000
Received: by outflank-mailman (input) for mailman id 706494;
 Mon, 15 Apr 2024 21:49: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=VNdO=LU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rwUD9-0004tj-LM
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 21:49: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 18f2b8e5-fb72-11ee-b909-491648fe20b8;
 Mon, 15 Apr 2024 23:49: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 2AD8B60EC4;
 Mon, 15 Apr 2024 21:49:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2536FC32786;
 Mon, 15 Apr 2024 21:49:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18f2b8e5-fb72-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713217794;
	bh=6RApfppfKQF0eOtxHZpl5wjOTkYOk1mCAKY4W3JHWw8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aBl8fWl1QU/vDv+O4MVGg4ecnZJoyRBqHXuNg45U2Pn3iWXD5u7dNadgEgLjSKHVm
	 ehMUVV96zD6SZGHwmGqA8zps/Wfqi+hl+R6fORZdJYrHs14aGI5LAGo8IXlx4Azk6Q
	 s5/T5AH/PMYKkSCH3JamqRPJ9Y2gYHwFf1JkuGUUSEMbfvEe1n9MRk0nfZO/7ZBCFf
	 t/D+4uswawUkDO44aL3JPOxGYiVAac8okmd+BwuEKUwNxTFhMk7Z26yHsUZYz0UPol
	 5f/Cw9RSw5LmK/d4mhDL/ftmmVpJvzUSws0uLXxHdcEUgj8DoXfC0apUD8rNVUlf5d
	 r3NJlxpP37dgQ==
Date: Mon, 15 Apr 2024 14:49:53 -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>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH 1/4] xen/xlat: Sort out whitespace
In-Reply-To: <20240415154155.2718064-2-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404151449240.997881@ubuntu-linux-20-04-desktop>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com> <20240415154155.2718064-2-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 15 Apr 2024, Andrew Cooper wrote:
>  * Fix tabs/spaces mismatch for certain rows
>  * Insert lines between header files to improve legibility
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> ---
>  xen/include/xlat.lst | 31 +++++++++++++++++++++++++++----
>  1 file changed, 27 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
> index 9c41948514bf..e811342bb096 100644
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -20,19 +20,24 @@
>  # First column indicator:
>  # ! - needs translation
>  # ? - needs checking
> +
>  ?	dom0_vga_console_info		xen.h
>  ?	xenctl_bitmap			xen.h
>  ?	mmu_update			xen.h
>  !	mmuext_op			xen.h
>  !	start_info			xen.h
>  ?	vcpu_time_info			xen.h
> +
>  ?	pmu_amd_ctxt			arch-x86/pmu.h
>  ?	pmu_arch			arch-x86/pmu.h
>  ?	pmu_cntr_pair			arch-x86/pmu.h
>  ?	pmu_intel_ctxt			arch-x86/pmu.h
>  ?	pmu_regs			arch-x86/pmu.h
> +
>  !	cpu_user_regs			arch-x86/xen-@arch@.h
> +
>  !	trap_info			arch-x86/xen.h
> +
>  ?	cpu_offline_action		arch-x86/xen-mca.h
>  ?	mc				arch-x86/xen-mca.h
>  ?	mcinfo_bank			arch-x86/xen-mca.h
> @@ -50,6 +55,7 @@
>  ?	mc_notifydomain			arch-x86/xen-mca.h
>  !	mc_physcpuinfo			arch-x86/xen-mca.h
>  ?	page_offline_action		arch-x86/xen-mca.h
> +
>  ?	argo_addr			argo.h
>  !	argo_iov			argo.h
>  ?	argo_register_ring		argo.h
> @@ -59,6 +65,7 @@
>  ?	argo_ring_message_header	argo.h
>  ?	argo_send_addr			argo.h
>  ?	argo_unregister_ring		argo.h
> +
>  ?	evtchn_alloc_unbound		event_channel.h
>  ?	evtchn_bind_interdomain		event_channel.h
>  ?	evtchn_bind_ipi			event_channel.h
> @@ -74,6 +81,7 @@
>  ?	evtchn_set_priority		event_channel.h
>  ?	evtchn_status			event_channel.h
>  ?	evtchn_unmask			event_channel.h
> +
>  ?	gnttab_cache_flush		grant_table.h
>  !	gnttab_copy			grant_table.h
>  ?	gnttab_dump_table		grant_table.h
> @@ -86,9 +94,10 @@
>  ?	gnttab_get_version		grant_table.h
>  !	gnttab_get_status_frames	grant_table.h
>  ?	grant_entry_v1			grant_table.h
> -?       grant_entry_header              grant_table.h
> +?	grant_entry_header		grant_table.h
>  ?	grant_entry_v2			grant_table.h
>  ?	gnttab_swap_grant_ref		grant_table.h
> +
>  !	dm_op_buf			hvm/dm_op.h
>  ?	dm_op_create_ioreq_server	hvm/dm_op.h
>  ?	dm_op_destroy_ioreq_server	hvm/dm_op.h
> @@ -108,15 +117,20 @@
>  ?	dm_op_set_pci_intx_level	hvm/dm_op.h
>  ?	dm_op_set_pci_link_route	hvm/dm_op.h
>  ?	dm_op_track_dirty_vram		hvm/dm_op.h
> +
>  !	hvm_altp2m_set_mem_access_multi	hvm/hvm_op.h
> +
>  ?	vcpu_hvm_context		hvm/hvm_vcpu.h
>  ?	vcpu_hvm_x86_32			hvm/hvm_vcpu.h
>  ?	vcpu_hvm_x86_64			hvm/hvm_vcpu.h
> +
>  ?	hypfs_direntry			hypfs.h
>  ?	hypfs_dirlistentry		hypfs.h
> +
>  ?	kexec_exec			kexec.h
>  !	kexec_image			kexec.h
>  !	kexec_range			kexec.h
> +
>  !	add_to_physmap			memory.h
>  !	add_to_physmap_batch		memory.h
>  !	foreign_memory_map		memory.h
> @@ -130,6 +144,7 @@
>  !	reserved_device_memory_map	memory.h
>  ?	vmemrange			memory.h
>  !	vnuma_topology_info		memory.h
> +
>  ?	physdev_eoi			physdev.h
>  ?	physdev_get_free_pirq		physdev.h
>  ?	physdev_irq			physdev.h
> @@ -143,6 +158,7 @@
>  ?	physdev_restore_msi		physdev.h
>  ?	physdev_set_iopl		physdev.h
>  ?	physdev_setup_gsi		physdev.h
> +
>  !	pct_register			platform.h
>  !	power_register			platform.h
>  ?	processor_csd			platform.h
> @@ -158,23 +174,30 @@
>  ?	xenpf_pcpu_version		platform.h
>  ?	xenpf_resource_entry		platform.h
>  ?	xenpf_ucode_revision		platform.h
> +
>  ?	pmu_data			pmu.h
>  ?	pmu_params			pmu.h
> +
>  !	sched_poll			sched.h
>  ?	sched_pin_override		sched.h
>  ?	sched_remote_shutdown		sched.h
>  ?	sched_shutdown			sched.h
> +
>  ?	t_buf				trace.h
> +
>  ?	vcpu_get_physid			vcpu.h
>  ?	vcpu_register_vcpu_info		vcpu.h
>  !	vcpu_runstate_info		vcpu.h
>  ?	vcpu_set_periodic_timer		vcpu.h
>  !	vcpu_set_singleshot_timer	vcpu.h
> -?	build_id                        version.h
> -?	compile_info                    version.h
> -?	feature_info                    version.h
> +
> +?	build_id			version.h

This is misaligned after this patch. You might want to fix this on
commit.

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


> +?	compile_info			version.h
> +?	feature_info			version.h
> +
>  ?	xenoprof_init			xenoprof.h
>  ?	xenoprof_passive		xenoprof.h
> +
>  ?	flask_access			xsm/flask_op.h
>  ?	flask_cache_stats		xsm/flask_op.h
>  ?	flask_hash_stats		xsm/flask_op.h
> 
> base-commit: c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
> -- 
> 2.30.2
> 


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 21:52:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 21:52:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706497.1103656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwUFH-0006IN-T3; Mon, 15 Apr 2024 21:52:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706497.1103656; Mon, 15 Apr 2024 21:52: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 1rwUFH-0006IG-QK; Mon, 15 Apr 2024 21:52:11 +0000
Received: by outflank-mailman (input) for mailman id 706497;
 Mon, 15 Apr 2024 21:52:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VNdO=LU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rwUFG-0006IA-A6
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 21:52:10 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 677891e5-fb72-11ee-94a3-07e782e9044d;
 Mon, 15 Apr 2024 23:52:08 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 4D1B260EC3;
 Mon, 15 Apr 2024 21:52:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2CBB0C113CC;
 Mon, 15 Apr 2024 21:52:06 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 677891e5-fb72-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713217926;
	bh=Lz/SDKMbXD0hzL8e7UQggC7vkeR7kjh7KnUKomRHsZg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Ehgqo+pV9rsO5EBSUKqawGMmmbTIUzAh6TlkWw/xUV3KCDHiTMEfW8OkGoN6YSkg2
	 50UUm9H8uo//1bOLiBcSUwv/L0ngGNpBs9PeXVhtujD1IXyq2PTuivyKzBtp/00xKl
	 YTrkTJptmCX4qiU+8bbm3Fka5GXJP/AEOKuMtCayQvCe9bMfMgP6iYTDpHsyY03QHx
	 WjxEJ3cUkSslNYfVhR8LTMH3gP7zvq24jQMPYReJssfgdHLeBkb+/mkr4Y/12KaPZk
	 o1SoOdhZgt8Y+lfiOsCf0BuHU7Iig0DdX17wHtcYk8Q4oUOqwwppWSea90J7E5tA73
	 VhOtQiV7b3Fbg==
Date: Mon, 15 Apr 2024 14:52:04 -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>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH 2/4] xen/xlat: Sort structs per file
In-Reply-To: <20240415154155.2718064-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404151451580.997881@ubuntu-linux-20-04-desktop>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com> <20240415154155.2718064-3-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 15 Apr 2024, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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



From xen-devel-bounces@lists.xenproject.org Mon Apr 15 21:54:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 21:54:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706500.1103665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwUHU-0007Ek-9o; Mon, 15 Apr 2024 21:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706500.1103665; Mon, 15 Apr 2024 21: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 1rwUHU-0007Ed-6f; Mon, 15 Apr 2024 21:54:28 +0000
Received: by outflank-mailman (input) for mailman id 706500;
 Mon, 15 Apr 2024 21: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=VNdO=LU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rwUHS-0007EV-Vc
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 21:54:26 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8dcef19-fb72-11ee-b909-491648fe20b8;
 Mon, 15 Apr 2024 23:54:25 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id ECC5DCE0AEB;
 Mon, 15 Apr 2024 21:54:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 70AD0C113CC;
 Mon, 15 Apr 2024 21:54: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: b8dcef19-fb72-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713218062;
	bh=cD7EECxs4sKtM7VgHsPaRPxKxt5Q97QQpMUCAOT08sM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Zje931JZASPJAr6h/uOW9YpAqhqUJdSeZpNqkpz/LlcBDlbrXdunk6auwAf8huSfO
	 HXIUql3L9WBnZjFT8ubvlGOkVvpAQzYC/cBBUgRloo5JXz3kxpGP+n1jJdT97Sp25g
	 FD4tfeVA9YInvUhgrmEt+YEm1XbdylwL4iJvMWpajl0VxhyBI/3g3WUMnxKY8BVTrA
	 dUMRNbmFPlhnkoYH6jHUZKcT/vagT/fyb72B3IvBXbCjNw1YWQIauIbJixlFZzgXoR
	 nQxD7XTMvImVxfeRF9ACV+H0pq39U6jxtpnzvLwDXOyo6jSbI9hPojnC7GcC+s4OhT
	 1KBMdHDLk3Fvw==
Date: Mon, 15 Apr 2024 14:54:20 -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>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH 3/4] xen/gnttab: Perform compat/native gnttab_query_size
 check
In-Reply-To: <20240415154155.2718064-4-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404151453400.997881@ubuntu-linux-20-04-desktop>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com> <20240415154155.2718064-4-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 15 Apr 2024, Andrew Cooper wrote:
> This subop appears to have been missed from the compat checks.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> ---
>  xen/common/compat/grant_table.c | 4 ++++
>  xen/include/xlat.lst            | 1 +
>  2 files changed, 5 insertions(+)
> 
> diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
> index af98eade17c9..8a754055576b 100644
> --- a/xen/common/compat/grant_table.c
> +++ b/xen/common/compat/grant_table.c
> @@ -30,6 +30,10 @@ CHECK_gnttab_unmap_grant_ref;
>  CHECK_gnttab_unmap_and_replace;
>  #undef xen_gnttab_unmap_and_replace
>  
> +#define xen_gnttab_query_size gnttab_query_size
> +CHECK_gnttab_query_size;
> +#undef xen_gnttab_query_size
> +
>  DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_compat_t);
>  DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_compat_t);
>  DEFINE_XEN_GUEST_HANDLE(gnttab_copy_compat_t);
> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
> index b3befd9cc113..53a1bdfc533f 100644
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -88,6 +88,7 @@
>  !	gnttab_get_status_frames	grant_table.h
>  ?	gnttab_get_version		grant_table.h
>  ?	gnttab_map_grant_ref		grant_table.h
> +?	gnttab_query_size		grant_table.h
>  ?	gnttab_set_version		grant_table.h
>  !	gnttab_setup_table		grant_table.h
>  ?	gnttab_swap_grant_ref		grant_table.h
 

I am no compat layer expert, but shouldn't there be something like:

#ifndef CHECK_gnttab_map_grant_ref
    CASE(map_grant_ref);
#endif

somewhere under compat_grant_table_op ?




From xen-devel-bounces@lists.xenproject.org Mon Apr 15 22:16:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 22:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706512.1103682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwUcL-0002Hp-2C; Mon, 15 Apr 2024 22:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706512.1103682; Mon, 15 Apr 2024 22:16:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwUcK-0002Hi-Vn; Mon, 15 Apr 2024 22:16:00 +0000
Received: by outflank-mailman (input) for mailman id 706512;
 Mon, 15 Apr 2024 22: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=VNdO=LU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rwUcJ-0002Hb-Rg
 for xen-devel@lists.xenproject.org; Mon, 15 Apr 2024 22:15: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 bbc30da1-fb75-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 00:15: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 00ADD60BC6;
 Mon, 15 Apr 2024 22:15:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DBAFCC113CC;
 Mon, 15 Apr 2024 22:15: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: bbc30da1-fb75-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713219356;
	bh=z32ELfh15OvDHpkNs+2nkc3lX79AaanhK2uT3Hg7c8g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SLsMhnYvz4uU6iIlInmEYqh64fJ8c4hiEoDJrNKvuH01V0AF6PVkEdWPEehAStLn8
	 YFokIwLzArnrHkoCH2OH8kqcqzpZFM2OSlYNqIBCEnMpOw36dl5owifVww3VB+F4Mk
	 ELdSnM25hj3eJmtEvi4v2qC7RqC8JjNjFj4VNWtw3LINCSbV72Wg/mzYrUlfrcHVjP
	 i2LheMGMfDRYZmSuMmDngt17EN80YjQg6FAEcVobG68mhg4JfCt22fqJN0ytWELs6v
	 ixon0VaIFIunN+WsJ4Wh08zdN0Mf7QQi85V/WGKZwOWLeyepN9naceGV/lIKCFidTN
	 d/sFhIv9CYZ5w==
Date: Mon, 15 Apr 2024 15:15:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH 4/4] xen/public: Use -Wpadding for public headers
In-Reply-To: <20240415154155.2718064-5-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404151456280.997881@ubuntu-linux-20-04-desktop>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com> <20240415154155.2718064-5-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 15 Apr 2024, Andrew Cooper wrote:
> RFC.  In theory this is a great way to avoid some of the spiketraps involved
> with C being the official representation.
> 
> However, this doesn't build.  gnttab_transfer has a layout that requires a
> CONFIG_COMPAT if we want to satisfy -Wpadding for both forms of the structure.
> 
> Thoughts on whether this cross-check is worthwhile-enough to warrant the
> ifdefary?

I like this patch and I think we have no choice but going in this
direction and adding all the padding explicitly with any related
necessary ifdefary.

The only question for me is whether to:

1) add -Wpadding
2) add __packed__
3) do both

I think it is important to add __packed__ to the headers to clear out
any misconceptions about possible hidden paddings and get a
correct-by-default behavior for anyone that would import the headers
into their own projects.

The only issue is that __packed__ makes -Wpadding not useful. We could
technically add both if we disable __packed__ for the -Wpadding build.
For instance we could use __packed which is defined by Xen, and change
the definition of __packed to nothing for the -Wpadding build.

That way we get both the nice -Wpadding checks and also the nice
obvious-by-default __packed__.




> ~Andrew
> ---
> 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>
> ---
>  xen/common/Makefile              |  1 +
>  xen/common/hdr-chk.c             | 13 +++++++++++++
>  xen/include/public/grant_table.h |  7 +++++++
>  3 files changed, 21 insertions(+)
>  create mode 100644 xen/common/hdr-chk.c
> 
> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index d512cad5243f..dbbda70829f1 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -15,6 +15,7 @@ obj-y += event_fifo.o
>  obj-$(CONFIG_GRANT_TABLE) += grant_table.o
>  obj-y += guestcopy.o
>  obj-y += gzip/
> +obj-y += hdr-chk.o
>  obj-$(CONFIG_HYPFS) += hypfs.o
>  obj-$(CONFIG_IOREQ_SERVER) += ioreq.o
>  obj-y += irq.o
> diff --git a/xen/common/hdr-chk.c b/xen/common/hdr-chk.c
> new file mode 100644
> index 000000000000..1c7a509dcd06
> --- /dev/null
> +++ b/xen/common/hdr-chk.c
> @@ -0,0 +1,13 @@
> +#include <xen/stdint.h>
> +
> +#include <public/xen.h>
> +
> +#pragma GCC diagnostic error "-Wpadded"
> +
> +#include <public/grant_table.h>
> +
> +#ifdef CONFIG_COMPAT
> +
> +#include <compat/grant_table.h>
> +
> +#endif /* CONFIG_COMPAT */
> diff --git a/xen/include/public/grant_table.h b/xen/include/public/grant_table.h
> index 1dfa17a6d02a..a66c77d0166c 100644
> --- a/xen/include/public/grant_table.h
> +++ b/xen/include/public/grant_table.h
> @@ -355,6 +355,7 @@ struct gnttab_unmap_grant_ref {
>      grant_handle_t handle;
>      /* OUT parameters. */
>      int16_t  status;              /* => enum grant_status */
> +    uint16_t _pad0;
>  };
>  typedef struct gnttab_unmap_grant_ref gnttab_unmap_grant_ref_t;
>  DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
> @@ -371,6 +372,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
>  struct gnttab_setup_table {
>      /* IN parameters. */
>      domid_t  dom;
> +    uint16_t _pad0;
>      uint32_t nr_frames;
>      /* OUT parameters. */
>      int16_t  status;              /* => enum grant_status */
> @@ -409,9 +411,12 @@ struct gnttab_transfer {
>      /* IN parameters. */
>      xen_pfn_t     mfn;
>      domid_t       domid;
> +    uint16_t      _pad0;
>      grant_ref_t   ref;
>      /* OUT parameters. */
>      int16_t       status;
> +    uint16_t      _pad1;
> +    /* XXX compat-dependent padding. */
>  };
>  typedef struct gnttab_transfer gnttab_transfer_t;
>  DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_t);
> @@ -468,10 +473,12 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_copy_t);
>  struct gnttab_query_size {
>      /* IN parameters. */
>      domid_t  dom;
> +    uint16_t _ign1;
>      /* OUT parameters. */
>      uint32_t nr_frames;
>      uint32_t max_nr_frames;
>      int16_t  status;              /* => enum grant_status */
> +    uint16_t _ign2;
>  };
>  typedef struct gnttab_query_size gnttab_query_size_t;
>  DEFINE_XEN_GUEST_HANDLE(gnttab_query_size_t);
> -- 
> 2.30.2
> 


From xen-devel-bounces@lists.xenproject.org Mon Apr 15 23:12:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 15 Apr 2024 23:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706520.1103698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwVUq-0002ay-Au; Mon, 15 Apr 2024 23:12:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706520.1103698; Mon, 15 Apr 2024 23: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 1rwVUq-0002ar-8E; Mon, 15 Apr 2024 23:12:20 +0000
Received: by outflank-mailman (input) for mailman id 706520;
 Mon, 15 Apr 2024 23:12: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 1rwVUo-0002ah-RT; Mon, 15 Apr 2024 23:12: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 1rwVUo-00080x-FS; Mon, 15 Apr 2024 23:12: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 1rwVUo-00005l-6P; Mon, 15 Apr 2024 23:12:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwVUo-0008J4-5p; Mon, 15 Apr 2024 23:12:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZPy/tKl6QkajtkDKA3F5a/NGSysJ2jcq2h1yPrZiP58=; b=j/yvG0W/4rF3swHHSpp+Uvybmm
	DhPTgBZBX3NhwaNET3R4tRX4FmOU+yQRvmtEw7wqQlbNPkQSMqhj0oDGHYlYsZVDW+1LNmIJY+aHg
	PVVuX+ymytWNgJifsnt7WK0rZmEXvamH/NVq9om/Wat58Ifr/l+oSGacaDfv8G+GNM3c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185624-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185624: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5ba3602e4580d6b65dacf4292a031627f93e1167
X-Osstest-Versions-That:
    ovmf=98f150a954b35cc74bd87ae355cf35d8c9e1580d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 15 Apr 2024 23:12:18 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5ba3602e4580d6b65dacf4292a031627f93e1167
baseline version:
 ovmf                 98f150a954b35cc74bd87ae355cf35d8c9e1580d

Last test of basis   185309  2024-04-11 08:11:11 Z    4 days
Failing since        185603  2024-04-15 13:42:34 Z    0 days    3 attempts
Testing same since   185624  2024-04-15 20:11:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gahan Saraiya <gahan.saraiya@intel.com>
  Jiewen Yao <jiewen.yao@intel.com>
  Qingyu <qingyu.shang@intel.com>
  Taylor Beebe <taylor.d.beebe@gmail.com>
  Wei6 Xu <wei6.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
   98f150a954..5ba3602e45  5ba3602e4580d6b65dacf4292a031627f93e1167 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 02:04:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 02:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706543.1103744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwYBc-0007BT-RF; Tue, 16 Apr 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 706543.1103744; Tue, 16 Apr 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 1rwYBc-0007BM-Nf; Tue, 16 Apr 2024 02:04:40 +0000
Received: by outflank-mailman (input) for mailman id 706543;
 Tue, 16 Apr 2024 02:04: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 1rwYBb-0007BC-3I; Tue, 16 Apr 2024 02:04: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 1rwYBa-0002I2-Pu; Tue, 16 Apr 2024 02:04: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 1rwYBa-0007GP-HE; Tue, 16 Apr 2024 02:04:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwYBa-0002yl-Gj; Tue, 16 Apr 2024 02:04: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=8v1yr25Ku5RA3CDmrjIIdxEMndsWnoCSQnWkc+EwS6c=; b=Qos9tOSDzTFWB2oEwYcKrD2O9c
	CXn4gpWMD/IEJxJb3wzMGJYxL9Pzu1y7s+6XNMAOwaWgpP7fU81T3tvOcTHZBpDC/oQ0r0Ba9E1Zu
	1MdTa6QWbfjIu8QLV4Dfhv/mxt3aYKdE6C7y5nsNDdljgbhy5dMh/GnmtAH0q68LxyG0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185622-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185622: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:build-arm64-pvops:kernel-build:fail:regression
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-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-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2:migrate-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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 02:04:38 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185281
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 185281
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 185281

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail blocked in 185281
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185281
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185281
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185281
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185281
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-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-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-qcow2 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-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-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                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    6 days
Failing since        185294  2024-04-10 04:20:17 Z    5 days    9 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.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                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-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                                 blocked 
 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                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 03:04:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 03:04:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706559.1103765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwZ7D-000768-3Z; Tue, 16 Apr 2024 03:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706559.1103765; Tue, 16 Apr 2024 03:04:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwZ7D-000761-12; Tue, 16 Apr 2024 03:04:11 +0000
Received: by outflank-mailman (input) for mailman id 706559;
 Tue, 16 Apr 2024 03:04: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 1rwZ7B-00075r-Gd; Tue, 16 Apr 2024 03:04: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 1rwZ7B-0003Hb-4b; Tue, 16 Apr 2024 03:04: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 1rwZ7A-0000Re-Od; Tue, 16 Apr 2024 03:04:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwZ7A-0005Tm-O4; Tue, 16 Apr 2024 03: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rZLItHXrJKmWiNNBpZdOaSFf3/AEcZ1DPQDaJP7NQ/4=; b=iD+sOWmiSy8FqlR4HTamJJhyRB
	HjIuoMWZVmLv5hwtVZMSoPnx8JmBTH+V0kt4HzjbVVY79JPr7yXoKHZiF8fmwQNR1IJK83mN9nxRb
	Y4avLmXqt/s6k/YyKWV0k8UmyCY/RrhIoGOIU0vinFEWIJlUWVVIJc3XCifRXh/uzg8w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185623-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 185623: 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=e5f2e4c69643bc3cd385306a9e5d29e11578148c
X-Osstest-Versions-That:
    seabios=c5a361c09a19e3b1a83557b01f11f04b27181a11
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 03:04:08 +0000

flight 185623 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185623/

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 185287
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185287
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185287
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 seabios              e5f2e4c69643bc3cd385306a9e5d29e11578148c
baseline version:
 seabios              c5a361c09a19e3b1a83557b01f11f04b27181a11

Last test of basis   185287  2024-04-09 15:42:58 Z    6 days
Testing same since   185604  2024-04-15 13:42:35 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniil Tatianin <d-tatianin@yandex-team.ru>
  Kevin O'Connor <kevin@koconnor.net>

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
   c5a361c..e5f2e4c  e5f2e4c69643bc3cd385306a9e5d29e11578148c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:19:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:19:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706586.1103809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwc9m-0006Qo-56; Tue, 16 Apr 2024 06:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706586.1103809; Tue, 16 Apr 2024 06: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 1rwc9m-0006Qh-27; Tue, 16 Apr 2024 06:19:02 +0000
Received: by outflank-mailman (input) for mailman id 706586;
 Tue, 16 Apr 2024 06:19: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwc9l-0006Qb-I6
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:19:01 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3304ebd7-fbb9-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:18:58 +0200 (CEST)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id D6D852D883;
 Tue, 16 Apr 2024 02:18:52 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id CFC7D2D882;
 Tue, 16 Apr 2024 02:18:52 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id 93E2F2D881;
 Tue, 16 Apr 2024 02:18:49 -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: 3304ebd7-fbb9-11ee-94a3-07e782e9044d
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=6vHxZ/33ITDABcWjUxehnpnesNP5eX6D9AJ2QQAQcSI=; b=f/OK
	V2KA+4C7xO9OTO2UxHdjZM4j87ScpiAlQmEmrQ2Dxht2gIhq5V40nuIxZmLbTurD
	AtDyhzFY3QkDlAe07sZ2xe3nNGbQJcOBOjr3iOd30WutRndMlt8n00Q4GRMo3OO1
	bBts8jYvPgWnbuKRLM06vrjGqS4AODvDZnMpLS4=
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>,
	George Dunlap <george.dunlap@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Subject: [XEN PATCH v1 00/15] x86: make cpu virtualization support configurable
Date: Tue, 16 Apr 2024 09:18:45 +0300
Message-Id: <20240416061845.3467822-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 307F5F0A-FBB9-11EE-8F54-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

This series aims to continue what Xenia started a year ago:

https://lore.kernel.org/xen-devel/20230213145751.1047236-1-burzalodowa@gm=
ail.com/

Here's an attempt to provide a means to render the cpu virtualization
technology support in Xen configurable.
Currently, irrespectively of the target platform, both AMD-V and Intel VT=
-x
drivers are built.
The series adds two new Kconfig controls, SVM and VMX, that can be
used to switch to a finer-grained configuration for a given platform, and
reduce dead code.

The code separation is done using the new config guards.

Since the initial RFC series felt rather welcomed, I took a courage namin=
g
it v1 and continuing from there. New changes are:

v1:
 * changed Kconfig options naming
 * use IS_ENABLED() instead of #ifdef where possible
 * move altp2m code apart from p2m & hide under VMX option
 * introduce helper in cpu_has_vmx_* macros
 * and address other comments from Jan

Sergiy Kibrik (6):
  x86/monitor: guard altp2m usage
  x86/p2m: guard altp2m init/teardown
  x86/p2m: move altp2m-related code to separate file
  x86/p2m: guard altp2m code with CONFIG_VMX option
  x86/vpmu: separate amd/intel vPMU code
  x86/vmx: introduce helper function for vmcs macro

Xenia Ragiadakou (9):
  x86: introduce AMD-V and Intel VT-x Kconfig options
  x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers
  x86/p2m: guard vmx specific ept functions with CONFIG_VMX
  x86/traps: guard vmx specific functions with CONFIG_VMX
  x86/domain: guard svm specific functions with CONFIG_SVM
  x86/oprofile: guard svm specific symbols with CONFIG_SVM
  x86: wire cpu_has_{svm/vmx}_* to false when svm/vmx not enabled
  x86/ioreq: guard VIO_realmode_completion with CONFIG_VMX
  x86/hvm: make AMD-V and Intel VT-x support configurable

 xen/arch/x86/Kconfig                    |  20 +
 xen/arch/x86/cpu/Makefile               |   4 +-
 xen/arch/x86/domain.c                   |  10 +-
 xen/arch/x86/hvm/Makefile               |   4 +-
 xen/arch/x86/hvm/emulate.c              |   2 +
 xen/arch/x86/hvm/hvm.c                  |   4 +-
 xen/arch/x86/hvm/ioreq.c                |   2 +
 xen/arch/x86/hvm/monitor.c              |   4 +-
 xen/arch/x86/include/asm/altp2m.h       |   5 +-
 xen/arch/x86/include/asm/hvm/hvm.h      |   7 +
 xen/arch/x86/include/asm/hvm/svm/svm.h  |   8 +
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  96 ++--
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  |  28 +-
 xen/arch/x86/include/asm/p2m.h          |  18 +-
 xen/arch/x86/include/asm/vpmu.h         |  19 +
 xen/arch/x86/mm/Makefile                |   5 +-
 xen/arch/x86/mm/altp2m.c                | 631 +++++++++++++++++++++++
 xen/arch/x86/mm/hap/Makefile            |   2 +-
 xen/arch/x86/mm/p2m-basic.c             |  23 +-
 xen/arch/x86/mm/p2m.c                   | 636 +-----------------------
 xen/arch/x86/mm/p2m.h                   |   3 +
 xen/arch/x86/oprofile/op_model_athlon.c |   2 +-
 xen/arch/x86/traps.c                    |   8 +-
 xen/drivers/passthrough/Kconfig         |   4 +-
 xen/include/xen/sched.h                 |   2 +-
 25 files changed, 834 insertions(+), 713 deletions(-)

--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:21:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706591.1103822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcBj-0007rf-Lw; Tue, 16 Apr 2024 06:21:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706591.1103822; Tue, 16 Apr 2024 06:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcBj-0007rY-JN; Tue, 16 Apr 2024 06:21:03 +0000
Received: by outflank-mailman (input) for mailman id 706591;
 Tue, 16 Apr 2024 06:21:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcBi-0007rO-4i
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:21:02 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d5d5d79-fbb9-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:20:59 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 4B6BB364C7;
 Tue, 16 Apr 2024 02:20:58 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 4343B364C6;
 Tue, 16 Apr 2024 02:20:58 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 2972E364C5;
 Tue, 16 Apr 2024 02:20:54 -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: 7d5d5d79-fbb9-11ee-94a3-07e782e9044d
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=Cv2yikNXg84Cn7K/ub1pBhxK6TBxHTPjKhRpG7iJVUw=; b=UJkT
	3qm91j7UuHB+mRYH6ZdZEuxPYSMx+rzlIOkh83h1ihoFXFteF7PGOa+Z50QNKgyI
	M+fiSzOOC0NJcgfNYa7YkbQqwmr4Vv2HMcGWfipcy3TkUVyuOB+X7AuMHyKgSi42
	+oa3wX1/b1C40nFKzBfxZ1AN4I9jsfYghk3UrNs=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 01/15] x86: introduce AMD-V and Intel VT-x Kconfig options
Date: Tue, 16 Apr 2024 09:20:52 +0300
Message-Id: <20240416062052.3467935-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 7B56E264-FBB9-11EE-B5FA-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

Introduce two new Kconfig options, SVM and VMX, to allow code
specific to each virtualization technology to be separated and, when not
required, stripped.
CONFIG_SVM will be used to enable virtual machine extensions on platforms=
 that
implement the AMD Virtualization Technology (AMD-V).
CONFIG_VMX will be used to enable virtual machine extensions on platforms=
 that
implement the Intel Virtualization Technology (Intel VT-x).

Both features depend on HVM support.

Since, at this point, disabling any of them would cause Xen to not compil=
e,
the options are enabled by default if HVM and are not selectable by the u=
ser.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig         | 6 ++++++
 xen/arch/x86/hvm/Makefile    | 4 ++--
 xen/arch/x86/mm/Makefile     | 3 ++-
 xen/arch/x86/mm/hap/Makefile | 2 +-
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index d6f3128588..6f06d3baa5 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -120,6 +120,12 @@ config HVM
=20
 	  If unsure, say Y.
=20
+config SVM
+	def_bool y if HVM
+
+config VMX
+	def_bool y if HVM
+
 config XEN_SHSTK
 	bool "Supervisor Shadow Stacks"
 	depends on HAS_AS_CET_SS
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 3464191544..8434badc64 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -1,5 +1,5 @@
-obj-y +=3D svm/
-obj-y +=3D vmx/
+obj-$(CONFIG_SVM) +=3D svm/
+obj-$(CONFIG_VMX) +=3D vmx/
 obj-y +=3D viridian/
=20
 obj-y +=3D asid.o
diff --git a/xen/arch/x86/mm/Makefile b/xen/arch/x86/mm/Makefile
index 0803ac9297..92168290a8 100644
--- a/xen/arch/x86/mm/Makefile
+++ b/xen/arch/x86/mm/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_MEM_SHARING) +=3D mem_sharing.o
 obj-$(CONFIG_HVM) +=3D nested.o
 obj-$(CONFIG_HVM) +=3D p2m.o
 obj-y +=3D p2m-basic.o
-obj-$(CONFIG_HVM) +=3D p2m-ept.o p2m-pod.o p2m-pt.o
+obj-$(CONFIG_HVM) +=3D p2m-pod.o p2m-pt.o
+obj-$(CONFIG_VMX) +=3D p2m-ept.o
 obj-y +=3D paging.o
 obj-y +=3D physmap.o
diff --git a/xen/arch/x86/mm/hap/Makefile b/xen/arch/x86/mm/hap/Makefile
index 8ef54b1faa..98c8a87819 100644
--- a/xen/arch/x86/mm/hap/Makefile
+++ b/xen/arch/x86/mm/hap/Makefile
@@ -3,4 +3,4 @@ obj-y +=3D guest_walk_2.o
 obj-y +=3D guest_walk_3.o
 obj-y +=3D guest_walk_4.o
 obj-y +=3D nested_hap.o
-obj-y +=3D nested_ept.o
+obj-$(CONFIG_VMX) +=3D nested_ept.o
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:23:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706594.1103832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcDl-0008PO-2i; Tue, 16 Apr 2024 06:23:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706594.1103832; Tue, 16 Apr 2024 06: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 1rwcDk-0008PH-Uk; Tue, 16 Apr 2024 06:23:08 +0000
Received: by outflank-mailman (input) for mailman id 706594;
 Tue, 16 Apr 2024 06: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcDj-0008OO-Pa
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:23:07 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8af5c23-fbb9-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:23:05 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 3D499364D0;
 Tue, 16 Apr 2024 02:23:04 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 16B97364CF;
 Tue, 16 Apr 2024 02:23:04 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 246A6364CD;
 Tue, 16 Apr 2024 02:23: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: c8af5c23-fbb9-11ee-94a3-07e782e9044d
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=nVGF93SwVxjmd/Ty6DZ8L8PrhTbVuUWdW/P91kcIR4Y=; b=Dhoe
	hpAsN9S9fZki+jlw7w7X7i9TxdD9gVrOXbzlqTCM2vOy0Wgz1J+Dsc/ZEaLjkdlr
	BNOzj1Shg0ZyuOL50hS4DntD7//ocr5rI6y7nhHZBg/CP/iH11GFeV1WPkyMgA6w
	eNmikVRcJR3inQ9X/rJijvPswG0NysRfY4OeOdA=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 02/15] x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers
Date: Tue, 16 Apr 2024 09:22:58 +0300
Message-Id: <20240416062258.3468774-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 C66D5B70-FBB9-11EE-9473-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

Since start_svm() is AMD-V specific while start_vmx() is Intel VT-x speci=
fic,
one can be excluded from build completely with CONFIG_SVM and CONFIG_VMX,
respectively.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/hvm/hvm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0ce45b177c..3edbe03caf 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -156,9 +156,9 @@ static int __init cf_check hvm_enable(void)
 {
     const struct hvm_function_table *fns =3D NULL;
=20
-    if ( cpu_has_vmx )
+    if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx )
         fns =3D start_vmx();
-    else if ( cpu_has_svm )
+    else if ( IS_ENABLED(CONFIG_SVM) && cpu_has_svm )
         fns =3D start_svm();
=20
     if ( fns =3D=3D NULL )
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:25:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:25:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706600.1103842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcFn-000112-Cb; Tue, 16 Apr 2024 06:25:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706600.1103842; Tue, 16 Apr 2024 06:25:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcFn-00010v-9w; Tue, 16 Apr 2024 06:25:15 +0000
Received: by outflank-mailman (input) for mailman id 706600;
 Tue, 16 Apr 2024 06:25:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcFl-00010p-JS
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:25:13 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 139b1886-fbba-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:25:11 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 3A83F364E2;
 Tue, 16 Apr 2024 02:25:10 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 2595B364E1;
 Tue, 16 Apr 2024 02:25:10 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 19A2E364E0;
 Tue, 16 Apr 2024 02:25:06 -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: 139b1886-fbba-11ee-94a3-07e782e9044d
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=4n89nVeeX4nXJeA9AycHq/YmU87NztPR/Mi/SSF7NXg=; b=RQL0
	nzpDEpVxb3uyUwjiBEdibwUPoKLzs5hoVcT4gE2VPgw8bZPW9/fQc1zAXObGP3OU
	bV+atRL2g965dqbYwmQhX8vJKDIU+xAVv6xmJenKW5U2a6rghwRKnUsnfsCjTWoR
	LaXtQHCMuxC/T1fw4Pfm66m8HGj6YJipQggiE50=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 03/15] x86/monitor: guard altp2m usage
Date: Tue, 16 Apr 2024 09:25:03 +0300
Message-Id: <20240416062503.3468942-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 1183DA58-FBBA-11EE-B03F-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Use altp2m index only when it is supported by the platform, i.e. VMX.
The puspose of that is the possiblity to disable VMX support and
exclude its code from the build completely.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/hvm/monitor.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
index 4f500beaf5..192a721403 100644
--- a/xen/arch/x86/hvm/monitor.c
+++ b/xen/arch/x86/hvm/monitor.c
@@ -262,6 +262,8 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t g=
fn, uint32_t pfec,
     struct vcpu *curr =3D current;
     vm_event_request_t req =3D {};
     paddr_t gpa =3D (gfn_to_gaddr(gfn) | (gla & ~PAGE_MASK));
+    unsigned int altp2m_idx =3D hvm_altp2m_supported() ?
+                              altp2m_vcpu_idx(curr) : 0;
     int rc;
=20
     ASSERT(curr->arch.vm_event->send_event);
@@ -270,7 +272,7 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t g=
fn, uint32_t pfec,
      * p2m_get_mem_access() can fail from a invalid MFN and return -ESRC=
H
      * in which case access must be restricted.
      */
-    rc =3D p2m_get_mem_access(curr->domain, gfn, &access, altp2m_vcpu_id=
x(curr));
+    rc =3D p2m_get_mem_access(curr->domain, gfn, &access, altp2m_idx);
=20
     if ( rc =3D=3D -ESRCH )
         access =3D XENMEM_access_n;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:27:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706607.1103851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcHn-0001at-OV; Tue, 16 Apr 2024 06:27:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706607.1103851; Tue, 16 Apr 2024 06:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcHn-0001am-Ll; Tue, 16 Apr 2024 06:27:19 +0000
Received: by outflank-mailman (input) for mailman id 706607;
 Tue, 16 Apr 2024 06:27:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcHm-0001ag-WE
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:27:19 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e658636-fbba-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:27:17 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id B7057364F3;
 Tue, 16 Apr 2024 02:27:15 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id B0040364F2;
 Tue, 16 Apr 2024 02:27:15 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id C9B78364F1;
 Tue, 16 Apr 2024 02:27:12 -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: 5e658636-fbba-11ee-94a3-07e782e9044d
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=j8hR43uHFMb8E6XMwU16iGhVgjg2xCVf92GTagxy/BY=; b=V49X
	akXpWQvpcVLLPgqcy8Bvj6a11dKW1hTJta3/pATKuXvX/HHd6ke75Q8hOopWV4i5
	IwqBwK5h/2Gp54dABlAIvt61DZpcpyRZsVXAkQyRsE1W+ITP8aB1zXs5DW4UWKzN
	vE1LD2oG6usRz0fFItG6emsVk/MgjqGPOrKdkSk=
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>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 04/15] x86/p2m: guard altp2m init/teardown
Date: Tue, 16 Apr 2024 09:27:09 +0300
Message-Id: <20240416062709.3469044-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 5C70952E-FBBA-11EE-B4EA-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Initialize and bring down altp2m only when it is supported by the platfor=
m,
i.e. VMX. The puspose of that is the possiblity to disable VMX support an=
d
exclude its code from the build completely.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/mm/p2m-basic.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-basic.c b/xen/arch/x86/mm/p2m-basic.c
index 8599bd15c6..90106997d7 100644
--- a/xen/arch/x86/mm/p2m-basic.c
+++ b/xen/arch/x86/mm/p2m-basic.c
@@ -126,13 +126,15 @@ int p2m_init(struct domain *d)
         return rc;
     }
=20
-    rc =3D p2m_init_altp2m(d);
-    if ( rc )
+    if ( hvm_altp2m_supported() )
     {
-        p2m_teardown_hostp2m(d);
-        p2m_teardown_nestedp2m(d);
+        rc =3D p2m_init_altp2m(d);
+        if ( rc )
+        {
+            p2m_teardown_hostp2m(d);
+            p2m_teardown_nestedp2m(d);
+        }
     }
-
     return rc;
 }
=20
@@ -195,11 +197,12 @@ void p2m_final_teardown(struct domain *d)
 {
     if ( is_hvm_domain(d) )
     {
+        if ( hvm_altp2m_supported() )
+            p2m_teardown_altp2m(d);
         /*
-         * We must tear down both of them unconditionally because
-         * we initialise them unconditionally.
+         * We must tear down nestedp2m unconditionally because
+         * we initialise it unconditionally.
          */
-        p2m_teardown_altp2m(d);
         p2m_teardown_nestedp2m(d);
     }
=20
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:28:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706611.1103861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcIl-00028r-1D; Tue, 16 Apr 2024 06:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706611.1103861; Tue, 16 Apr 2024 06: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 1rwcIk-00028k-Ut; Tue, 16 Apr 2024 06:28:18 +0000
Received: by outflank-mailman (input) for mailman id 706611;
 Tue, 16 Apr 2024 06:28: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=g64T=LV=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rwcIj-00028a-NA
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:28:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81d39ac3-fbba-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:28:15 +0200 (CEST)
Received: from AS9PR04CA0179.eurprd04.prod.outlook.com (2603:10a6:20b:530::21)
 by DB9PR08MB9778.eurprd08.prod.outlook.com (2603:10a6:10:45d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 06:28:11 +0000
Received: from AMS0EPF000001A1.eurprd05.prod.outlook.com
 (2603:10a6:20b:530:cafe::c3) by AS9PR04CA0179.outlook.office365.com
 (2603:10a6:20b:530::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46 via Frontend
 Transport; Tue, 16 Apr 2024 06:28:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A1.mail.protection.outlook.com (10.167.16.231) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Tue, 16 Apr 2024 06:28:10 +0000
Received: ("Tessian outbound f1e9a43166b5:v313");
 Tue, 16 Apr 2024 06:28:10 +0000
Received: from 0df08102d410.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A3EAE37D-9F81-4BB4-A7A4-65ABA7ECBEC0.1; 
 Tue, 16 Apr 2024 06:28:03 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0df08102d410.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Apr 2024 06:28:03 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DBAPR08MB5832.eurprd08.prod.outlook.com (2603:10a6:10:1a5::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 06:27:56 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 06: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>
X-Inumbo-ID: 81d39ac3-fbba-11ee-b909-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=N+LtYI4vjpSiEUtZQGK3gI75iFndOrjXzKM7+QM6f7WDpuH1YWShrzGtWAHDqcEsVh+eeWpgi3FR1HOl8LeLN+P1JU9cOAwcX1u0QxoneFZF7sN0VU+FG/19pCvfMLdpGsbvebyvHKGv027wPxsfhFwU+tw8eld3d87R3/SEAUnDwl6cfGtBbSAMMsU/XnPjfj/t4bxPZYkCgDPnf+iE7xiEmewe3qDNe3wwKQD0XYSjIM/KuJ+Qfxd51zGIwyCNODcvWZ03s3xQljdG4DtOH1vdlx1i+XyCSxdX4Ksg/mGpI7UASOep5j/kFKrG/M+2lmLBrNZ67uKXFx9EBenjMA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bt7/UPxgS8tEojDfuGPnhAl3QrzKoUPyTsXBWYSJEbQ=;
 b=DPpL3XLpxO4643+/yHenobQ7sZA5kKZdkPHpqo9EKEOmIR0/o+aIR2EnIG3OhCBqmfYz9/Wc7stL+27HSqbIC0XmgZi8Lol8UZUEH4lO4ZVYQ9ydvSToqYiiuwmuN3bXFvNa+ae906zR8nYlz4kieBLgypf5CM7wIPSsHpt4sdfW2E287T5HU+9b/LRF1o7V3Mz89bhvz6hUPX8d1CfrwWITHalTEnW69/NUKC67nCII23dnMWjl5Lfa1WJCwfIsZDjan7eopRHwpDzPE0CeQcDEhOKx4Rt2Y+yo5O/bb0cLVpED0HsSOZmOWew/DR6fb1omUpGsepLKFqnJhDLxnw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bt7/UPxgS8tEojDfuGPnhAl3QrzKoUPyTsXBWYSJEbQ=;
 b=4KtAsTaqyBV87/zxuxHT/zQB9BsHw9B72i9yJ7sjd8ky6PHSpMmuA7n/F6ZKmtum5Fismx+xslgy2QMvJ8fVwOL0TwVAxYSd/VeM/vNKLjAlYMyAfPXB9OTjs1ONAkYc7F/0JhEDF7D/dsa9fQBMe1ypQEmEhduZBnzjNFdIbVs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 3767240fa811e385
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YoZPNqdfpsM00JMSrllF94uJT88P43kwoNmuVLJLqKo1n8Vwxrq7buyxqMaXDFRC7pmzoQXilR/QPqtRxCtW98qkW1loDz2rK7z3g4DPsq53kfJdjrdDfDBKVvE20EXr0rzFhaKTsqxt4lCNMANni/B5vofvo5zI9hNLoQwIvwjMb9wHWedG+chUmB0FCxSQ5OPa59bemI7YXt/7pV42r4L6zD+POcxEn6C36vRb8qAGrzhKaM8Uu5FiQw9J/U6q9hZxFVUjRbABzak5VUzhOU9oEiGctVXmiQrkh0PtkuUj9Ukzut0Q6tzLd/dbAbD3oSOzqY1+J/bh1eyHm8bC1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bt7/UPxgS8tEojDfuGPnhAl3QrzKoUPyTsXBWYSJEbQ=;
 b=jM54nnVFwsCUIHbFXe/3oA+d+OVeyfMXxFrkR0KHwsZGy4KPMCqqqPhYi9Ir2TcMDen6/PO69KmB5otHJ+FfIGWkslOOx0DWi+RKVAe7PZZmapCAaidNOke+2BxLnW19m3Spd3gwlxF6huYolMWkCSyk0O70gE0kyTiTmjGHC5w0cePeh8cLUun0Lz3vzVZbEig4275dJ6p+F1Wxwdb4TnCVSzVrrnaCcfoQZf2Yf3pePc5LPWsYgpGnnuYEtN12/p5L1aoUJWMMwcnLZhqV+O3P9Bj1bAHf3Gdm0C28+y49mLSli+5MRyiiV5Qo+u5qJy9Wx5/zylL1GL2ABeBWsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bt7/UPxgS8tEojDfuGPnhAl3QrzKoUPyTsXBWYSJEbQ=;
 b=4KtAsTaqyBV87/zxuxHT/zQB9BsHw9B72i9yJ7sjd8ky6PHSpMmuA7n/F6ZKmtum5Fismx+xslgy2QMvJ8fVwOL0TwVAxYSd/VeM/vNKLjAlYMyAfPXB9OTjs1ONAkYc7F/0JhEDF7D/dsa9fQBMe1ypQEmEhduZBnzjNFdIbVs=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Topic: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Index: AQHainSZ45I8T1wdtkSTioIgDqTSKbFptBmAgADFXAA=
Date: Tue, 16 Apr 2024 06:27:52 +0000
Message-ID: <39165767-26EA-4849-9C02-12393933139E@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-14-luca.fancellu@arm.com>
 <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
In-Reply-To: <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DBAPR08MB5832:EE_|AMS0EPF000001A1:EE_|DB9PR08MB9778:EE_
X-MS-Office365-Filtering-Correlation-Id: 5504c23b-16f6-42a8-743b-08dc5dde6318
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 J074pL0zbHaYkP3kEhpWcgnPI1E5jDsbIL7saBvJDJA2QIskpBeiRUhhMq38SVY2Y6oN3CEWGhKbEbiuY1uVgpFeBlAe5IlT9MwqQCA8HS5l8CefbKLXHISCeR1WY3x6xrLxuMYkQvD9Zbl6sUEPHruKxj6zLwTdY3Oo58katwue+mACmC8ewX6DHOMiEmeHsga4IXzKyjDvdwVI5UpAZlJCUbISYYAuBSKsf5p9g/Pmukm7e+fv1TvWa7JgEYllp7t7QHGSm23JjgyC5FIlpqBkJzRQuCNMbIRHpILlonV/Wi9Emavwx/rs30LVm5zS/+RuWEWz7swT0LmVQTyaLpcD+iZeyukHNSEkkBdDl9n8cDJ8/0lPj4fcN5I9NOEwhUDh5/Y6s3eKi3ROGSHu6QZMgum7Vf50EPbpjrvouxMODV94e4Y7OSAnhXrDj9FJK8vVr7EznlFoLp24wGDmdp5ku9LZt2FxCobVgx0NEVTCLChog6ibYX66/xWnY5os/ouPpTQYMgVPnM9LV52xxYcfIiFIiz/XOPYblXmXcO3xbifLfoFEs+g9zSEwLSvllJvkiTDOcBijwD2oESigkyE++N9W4ErWGlIKyT5pk89xX/mvHfABB+SVDSVPMbmReUIYIuwLFwoOHoKoONQBsRX1+ZDdZyJ8TM7S8gnCqDQAN6cv0OkKKSS6Z3J45J62PlCTwfIQ/TGWAsZ4vJaoBw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <AE92B40B3F44B441BB5DC5C912BE55A5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5832
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001A1.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b65a64b2-5476-44d4-fa8b-08dc5dde587f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V2RUePz5KuNsxpURECf0c8KTm2rNTNCZFZ/DBGglr0sYBmq05qfeFK7HTchLw8nt5ZNRE0goWlI6pUWEJaylCbNIQBPf/1uANHsBMsrsuQPQtAw2Vqp1D3dHNeHxZ0WeafiC4knKybXol1AESvz5yhOGpmD/VXJhqyCB/IVqUWBLR780nC7Kt/Aa6tivKPhD4Z8m1UvMkpn2Pw6QLL/la/+K/t7rTCr13nFsg6+6aXOtW8Mtp677exm6guRY3Z2usp4RQB/OwosP6EBkEiNB5QvNF+vidNk2wRNFLvd0UykvcNmIjNyuYL1SaiQ15oBY7PFr/ZVv6kAm9cpGpjNls4ptUuqXvaaBgo/h3e0KhR64ekGtBtjdaE7j7euXN3RtZR6+AJQyAS2AKeKO408WvecJOjT4XRIspsqAnxADUlFOcxRB3Q831QQR/DNyYayRuKsQqoxVXWXdLpvDFb2TzqoNg9DE25oCPobD1hx7kOE0cRIwaYw7gVvA+r1TUmxbWJYAiOQE9OrjYnL5kFCfYlpiZHEBzSisMPaWfjMqOwS4VyN3YSlb50GamdM979WpeDOsyY5r66CFjljKrWlqAwf1Pt8M6If9a+nUmKLpd+FGiJdJBfh0O8iR3vFBnZ61NNzM9GBU2eLRRDAhtqxBzlMt49C6wMpFKI0uWGrvzNOqgiyeCYRP3Z7cjpMS8HUj5McBfXU3022rWCf4jVVfI9sRoWN8Bjy0Idw1B+nBhgiBAB9smZcXrFYyAd1w/j+6
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 06:28:10.5968
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5504c23b-16f6-42a8-743b-08dc5dde6318
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001A1.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9778

SGkgSnVsaWVuLA0KDQo+IE9uIDE1IEFwciAyMDI0LCBhdCAxOTo0MSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBMdWNhLA0KPiANCj4gT24gMDkvMDQvMjAy
NCAxMjo0NSwgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+IEN1cnJlbnRseSBYZW4gaXMgbm90IGV4
cG9ydGluZyB0aGUgc3RhdGljIHNoYXJlZCBtZW1vcnkgcmVnaW9ucw0KPj4gdG8gdGhlIGRldmlj
ZSB0cmVlIGFzIC9tZW1vcnkgbm9kZSwgdGhpcyBjb21taXQgaXMgZml4aW5nIHRoaXMNCj4+IGlz
c3VlLg0KPj4gVGhlIHN0YXRpYyBzaGFyZWQgbWVtb3J5IGJhbmtzIGNhbiBiZSBwYXJ0IG9mIHRo
ZSBtZW1vcnkgcmFuZ2UNCj4+IGF2YWlsYWJsZSBmb3IgdGhlIGRvbWFpbiwgc28gaWYgdGhleSBh
cmUgb3ZlcmxhcHBpbmcgd2l0aCB0aGUNCj4+IG5vcm1hbCBtZW1vcnkgYmFua3MsIHRoZXkgbmVl
ZCB0byBiZSBtZXJnZWQgdG9nZXRoZXIgaW4gb3JkZXINCj4+IHRvIHByb2R1Y2UgYSAvbWVtb3J5
IG5vZGUgd2l0aCBub24gb3ZlcmxhcHBpbmcgcmFuZ2VzIGluICdyZWcnLg0KPiANCj4gQmVmb3Jl
IHJldmlld2luZyB0aGUgY29kZSBpbiBtb3JlIGRldGFpbHMsIEkgd291bGQgbGlrZSB0byB1bmRl
cnN0YW5kIGEgYml0IG1vcmUgdGhlIHVzZSBjYXNlIGFuZCB3aGV0aGVyIGl0IHNob3VsZCBiZSB2
YWxpZC4NCj4gDQo+IEZyb20gbXkgdW5kZXJzdGFuZGluZywgdGhlIGNhc2UgeW91IGFyZSB0cnlp
bmcgdG8gcHJldmVudCBpcyB0aGUgZm9sbG93aW5nIHNldHVwOg0KPiAgMS4gVGhlIEd1ZXN0IFBo
eXNpY2FsIHJlZ2lvbiAweDAwMDAgdG8gMHg4MDAwIGlzIHVzZWQgZm9yIFJBTQ0KPiAgMi4gVGhl
IEd1ZXN0IFBoeXNpY2FsIHJlZ2lvbiAweDAwMDAgdG8gMHg0MDAwIGlzIHVzZWQgZm9yIHN0YXRp
YyBtZW1vcnkNCg0KU28gZmFyLCBpdCB3YXMgcG9zc2libGUgdG8gbWFwIGd1ZXN0IHBoeXNpY2Fs
IHJlZ2lvbnMgaW5zaWRlIHRoZSBtZW1vcnkgcmFuZ2UgZ2l2ZW4gdG8gdGhlIGd1ZXN0LA0Kc28g
dGhlIGFib3ZlIGNvbmZpZ3VyYXRpb24gd2FzIGFsbG93ZWQgYW5kIHRoZSB1bmRlcmx5aW5nIGhv
c3QgcGh5c2ljYWwgcmVnaW9ucyB3ZXJlIG9mIGNvdXJzZQ0KZGlmZmVyZW50IGFuZCBlbmZvcmNl
ZCB3aXRoIGNoZWNrcy4gU28gSeKAmW0gbm90IHRyeWluZyB0byBwcmV2ZW50IHRoaXMgYmVoYXZp
b3VyLCBob3dldmVyIC4uLg0KDQo+IA0KPiBUaGUgdW5kZXJseWluZyBIb3N0IFBoeXNpY2FsIHJl
Z2lvbnMgbWF5IGJlIGRpZmZlcmVudC4gWGVuIGRvZXNuJ3QgZ3VhcmFudGVlIGluIHdoaWNoIG9y
ZGVyIHRoZSByZWdpb25zIHdpbGwgYmUgbWFwcGVkLCBTbyB3aGV0aGVyIHRoZSBvdmVybGFwcGVk
IHJlZ2lvbiB3aWxsIHBvaW50IHRvIHRoZSBtZW1vcnkgb3IgdGhlIHNoYXJlZCByZWdpb24gaXMg
dW5rbm93biAod2UgZG9uJ3QgZ3VhcmFudGVlIHRoZSBvcmRlciBvZiB0aGUgbWFwcGluZykuIFNv
IG5vdGhpbmcgZ29vZCB3aWxsIGhhcHBlbiB0byB0aGUgZ3Vlc3QuDQoNCi4uLiBub3cgaGVyZSBJ
IGRvbuKAmXQgdW5kZXJzdGFuZCBpZiB0aGlzIHdhcyB3cm9uZyBmcm9tIHRoZSBiZWdpbm5pbmcg
b3Igbm90LCBzaGFsbCB3ZSBlbmZvcmNlIGFsc28gdGhhdA0KZ3Vlc3QgcGh5c2ljYWwgcmVnaW9u
cyBmb3Igc3RhdGljIHNoYXJlZCBtZW1vcnkgYXJlIG91dHNpZGUgdGhlIG1lbW9yeSBnaXZlbiB0
byB0aGUgZ3Vlc3Q/DQoNCj4gDQo+IERpZCBJIHVuZGVyc3RhbmQgY29ycmVjdGx5PyBJZiBzbywg
c2hvdWxkbid0IHRoaXMgYmUgYSBjb25maWd1cmF0aW9uIHdlIHNob3VsZCBmb3JiaWQ/DQo+IA0K
PiBDaGVlcnMsDQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxsDQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:29:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:29:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706616.1103875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcJs-0002jr-IN; Tue, 16 Apr 2024 06:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706616.1103875; Tue, 16 Apr 2024 06: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 1rwcJs-0002jk-EJ; Tue, 16 Apr 2024 06:29:28 +0000
Received: by outflank-mailman (input) for mailman id 706616;
 Tue, 16 Apr 2024 06:29: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcJq-0002jT-TZ
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:29:27 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9c54d99-fbba-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:29:24 +0200 (CEST)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 244E22D8C3;
 Tue, 16 Apr 2024 02:29:22 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 0ECC22D8C2;
 Tue, 16 Apr 2024 02:29:22 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id BD1532D8C1;
 Tue, 16 Apr 2024 02:29:18 -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: a9c54d99-fbba-11ee-b909-491648fe20b8
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=4yot9xHJJsSRFsRHmPkkTqaZKbjidHD4FJwAR2vKH/s=; b=Twt2
	1fbcpzbl2kORh1N8iWDCi+RHWTQgUZj73FNOJnh9RnE01wVC23ywPp9RFkm9PjNK
	hXHU8YxWsJ23ILdB2+B5L6HBZl/cvbYp1A7l9U+R/NTYQVAKP04pQHV8Vt3b88lC
	xByfnwgHdVsOe0d9O8AODcMsxZZasDBY+nDGzLg=
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>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 05/15] x86/p2m: move altp2m-related code to separate file
Date: Tue, 16 Apr 2024 09:29:15 +0300
Message-Id: <20240416062915.3469145-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 A782DC66-FBBA-11EE-BD69-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

Move altp2m code from generic p2m.c file to altp2m.c, so that VMX-specifi=
c
code is kept separately and can possibly be disabled in the build.

No functional change intended.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/mm/altp2m.c | 631 ++++++++++++++++++++++++++++++++++++++
 xen/arch/x86/mm/p2m.c    | 636 +--------------------------------------
 xen/arch/x86/mm/p2m.h    |   3 +
 3 files changed, 637 insertions(+), 633 deletions(-)

diff --git a/xen/arch/x86/mm/altp2m.c b/xen/arch/x86/mm/altp2m.c
index a04297b646..6fe62200ba 100644
--- a/xen/arch/x86/mm/altp2m.c
+++ b/xen/arch/x86/mm/altp2m.c
@@ -9,6 +9,8 @@
 #include <asm/altp2m.h>
 #include "mm-locks.h"
 #include "p2m.h"
+#include <public/hvm/hvm_op.h>
+#include <xen/event.h>
=20
 void
 altp2m_vcpu_initialise(struct vcpu *v)
@@ -151,6 +153,635 @@ void p2m_teardown_altp2m(struct domain *d)
     }
 }
=20
+int altp2m_get_effective_entry(struct p2m_domain *ap2m, gfn_t gfn, mfn_t=
 *mfn,
+                               p2m_type_t *t, p2m_access_t *a,
+                               bool prepopulate)
+{
+    *mfn =3D ap2m->get_entry(ap2m, gfn, t, a, 0, NULL, NULL);
+
+    /* Check host p2m if no valid entry in alternate */
+    if ( !mfn_valid(*mfn) && !p2m_is_hostp2m(ap2m) )
+    {
+        struct p2m_domain *hp2m =3D p2m_get_hostp2m(ap2m->domain);
+        unsigned int page_order;
+        int rc;
+
+        *mfn =3D p2m_get_gfn_type_access(hp2m, gfn, t, a, P2M_ALLOC | P2=
M_UNSHARE,
+                                       &page_order, 0);
+
+        rc =3D -ESRCH;
+        if ( !mfn_valid(*mfn) || *t !=3D p2m_ram_rw )
+            return rc;
+
+        /* If this is a superpage, copy that first */
+        if ( prepopulate && page_order !=3D PAGE_ORDER_4K )
+        {
+            unsigned long mask =3D ~((1UL << page_order) - 1);
+            gfn_t gfn_aligned =3D _gfn(gfn_x(gfn) & mask);
+            mfn_t mfn_aligned =3D _mfn(mfn_x(*mfn) & mask);
+
+            rc =3D ap2m->set_entry(ap2m, gfn_aligned, mfn_aligned, page_=
order, *t, *a, 1);
+            if ( rc )
+                return rc;
+        }
+    }
+
+    return 0;
+}
+
+void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
+{
+    if ( altp2m_active(v->domain) )
+        p2m_switch_vcpu_altp2m_by_id(v, idx);
+}
+
+bool p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx)
+{
+    struct domain *d =3D v->domain;
+    bool rc =3D false;
+
+    if ( idx >=3D MAX_ALTP2M )
+        return rc;
+
+    altp2m_list_lock(d);
+
+    if ( d->arch.altp2m_eptp[idx] !=3D mfn_x(INVALID_MFN) )
+    {
+        if ( p2m_set_altp2m(v, idx) )
+            altp2m_vcpu_update_p2m(v);
+        rc =3D 1;
+    }
+
+    altp2m_list_unlock(d);
+    return rc;
+}
+
+/*
+ * Read info about the gfn in an altp2m, locking the gfn.
+ *
+ * If the entry is valid, pass the results back to the caller.
+ *
+ * If the entry was invalid, and the host's entry is also invalid,
+ * return to the caller without any changes.
+ *
+ * If the entry is invalid, and the host entry was valid, propagate
+ * the host's entry to the altp2m (retaining page order), and indicate
+ * that the caller should re-try the faulting instruction.
+ */
+bool p2m_altp2m_get_or_propagate(struct p2m_domain *ap2m, unsigned long =
gfn_l,
+                                 mfn_t *mfn, p2m_type_t *p2mt,
+                                 p2m_access_t *p2ma, unsigned int *page_=
order)
+{
+    p2m_type_t ap2mt;
+    p2m_access_t ap2ma;
+    unsigned int cur_order;
+    unsigned long mask;
+    gfn_t gfn;
+    mfn_t amfn;
+    int rc;
+
+    /*
+     * NB we must get the full lock on the altp2m here, in addition to
+     * the lock on the individual gfn, since we may change a range of
+     * gfns below.
+     */
+    p2m_lock(ap2m);
+
+    amfn =3D get_gfn_type_access(ap2m, gfn_l, &ap2mt, &ap2ma, 0, &cur_or=
der);
+
+    if ( cur_order > *page_order )
+        cur_order =3D *page_order;
+
+    if ( !mfn_eq(amfn, INVALID_MFN) )
+    {
+        p2m_unlock(ap2m);
+        *mfn  =3D amfn;
+        *p2mt =3D ap2mt;
+        *p2ma =3D ap2ma;
+        *page_order =3D cur_order;
+        return false;
+    }
+
+    /* Host entry is also invalid; don't bother setting the altp2m entry=
. */
+    if ( mfn_eq(*mfn, INVALID_MFN) )
+    {
+        p2m_unlock(ap2m);
+        *page_order =3D cur_order;
+        return false;
+    }
+
+    /*
+     * If this is a superpage mapping, round down both frame numbers
+     * to the start of the superpage.  NB that we repupose `amfn`
+     * here.
+     */
+    mask =3D ~((1UL << cur_order) - 1);
+    amfn =3D _mfn(mfn_x(*mfn) & mask);
+    gfn =3D _gfn(gfn_l & mask);
+
+    /* Override the altp2m entry with its default access. */
+    *p2ma =3D ap2m->default_access;
+
+    rc =3D p2m_set_entry(ap2m, gfn, amfn, cur_order, *p2mt, *p2ma);
+    p2m_unlock(ap2m);
+
+    if ( rc )
+    {
+        gprintk(XENLOG_ERR,
+                "failed to set entry for %"PRI_gfn" -> %"PRI_mfn" altp2m=
 %u, rc %d\n",
+                gfn_l, mfn_x(amfn), vcpu_altp2m(current).p2midx, rc);
+        domain_crash(ap2m->domain);
+    }
+
+    return true;
+}
+
+enum altp2m_reset_type {
+    ALTP2M_RESET,
+    ALTP2M_DEACTIVATE
+};
+
+static void p2m_reset_altp2m(struct domain *d, unsigned int idx,
+                             enum altp2m_reset_type reset_type)
+{
+    struct p2m_domain *p2m;
+
+    ASSERT(idx < MAX_ALTP2M);
+    p2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
+
+    p2m_lock(p2m);
+
+    p2m_flush_table_locked(p2m);
+
+    if ( reset_type =3D=3D ALTP2M_DEACTIVATE )
+        p2m_free_logdirty(p2m);
+
+    /* Uninit and reinit ept to force TLB shootdown */
+    ept_p2m_uninit(p2m);
+    ept_p2m_init(p2m);
+
+    p2m->min_remapped_gfn =3D gfn_x(INVALID_GFN);
+    p2m->max_remapped_gfn =3D 0;
+
+    p2m_unlock(p2m);
+}
+
+void p2m_flush_altp2m(struct domain *d)
+{
+    unsigned int i;
+
+    altp2m_list_lock(d);
+
+    for ( i =3D 0; i < MAX_ALTP2M; i++ )
+    {
+        p2m_reset_altp2m(d, i, ALTP2M_DEACTIVATE);
+        d->arch.altp2m_eptp[i] =3D mfn_x(INVALID_MFN);
+        d->arch.altp2m_visible_eptp[i] =3D mfn_x(INVALID_MFN);
+    }
+
+    altp2m_list_unlock(d);
+}
+
+static int p2m_activate_altp2m(struct domain *d, unsigned int idx,
+                               p2m_access_t hvmmem_default_access)
+{
+    struct p2m_domain *hostp2m, *p2m;
+    int rc;
+
+    ASSERT(idx < MAX_ALTP2M);
+
+    p2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
+    hostp2m =3D p2m_get_hostp2m(d);
+
+    p2m_lock(p2m);
+
+    rc =3D p2m_init_logdirty(p2m);
+
+    if ( rc )
+        goto out;
+
+    /* The following is really just a rangeset copy. */
+    rc =3D rangeset_merge(p2m->logdirty_ranges, hostp2m->logdirty_ranges=
);
+
+    if ( rc )
+    {
+        p2m_free_logdirty(p2m);
+        goto out;
+    }
+
+    p2m->default_access =3D hvmmem_default_access;
+    p2m->domain =3D hostp2m->domain;
+    p2m->global_logdirty =3D hostp2m->global_logdirty;
+    p2m->min_remapped_gfn =3D gfn_x(INVALID_GFN);
+    p2m->max_mapped_pfn =3D p2m->max_remapped_gfn =3D 0;
+
+    p2m_init_altp2m_ept(d, idx);
+
+ out:
+    p2m_unlock(p2m);
+
+    return rc;
+}
+
+int p2m_init_altp2m_by_id(struct domain *d, unsigned int idx)
+{
+    int rc =3D -EINVAL;
+    struct p2m_domain *hostp2m =3D p2m_get_hostp2m(d);
+
+    if ( idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) )
+        return rc;
+
+    altp2m_list_lock(d);
+
+    if ( d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] =3D=3D
+         mfn_x(INVALID_MFN) )
+        rc =3D p2m_activate_altp2m(d, idx, hostp2m->default_access);
+
+    altp2m_list_unlock(d);
+    return rc;
+}
+
+int p2m_init_next_altp2m(struct domain *d, uint16_t *idx,
+                         xenmem_access_t hvmmem_default_access)
+{
+    int rc =3D -EINVAL;
+    unsigned int i;
+    p2m_access_t a;
+    struct p2m_domain *hostp2m =3D p2m_get_hostp2m(d);
+
+    if ( hvmmem_default_access > XENMEM_access_default ||
+         !xenmem_access_to_p2m_access(hostp2m, hvmmem_default_access, &a=
) )
+        return rc;
+
+    altp2m_list_lock(d);
+
+    for ( i =3D 0; i < MAX_ALTP2M; i++ )
+    {
+        if ( d->arch.altp2m_eptp[i] !=3D mfn_x(INVALID_MFN) )
+            continue;
+
+        rc =3D p2m_activate_altp2m(d, i, a);
+
+        if ( !rc )
+            *idx =3D i;
+
+        break;
+    }
+
+    altp2m_list_unlock(d);
+    return rc;
+}
+
+int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx)
+{
+    struct p2m_domain *p2m;
+    int rc =3D -EBUSY;
+
+    if ( !idx || idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) =
)
+        return rc;
+
+    rc =3D domain_pause_except_self(d);
+    if ( rc )
+        return rc;
+
+    rc =3D -EBUSY;
+    altp2m_list_lock(d);
+
+    if ( d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] !=3D
+         mfn_x(INVALID_MFN) )
+    {
+        p2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
+
+        if ( !_atomic_read(p2m->active_vcpus) )
+        {
+            p2m_reset_altp2m(d, idx, ALTP2M_DEACTIVATE);
+            d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] =3D
+                mfn_x(INVALID_MFN);
+            d->arch.altp2m_visible_eptp[array_index_nospec(idx, MAX_EPTP=
)] =3D
+                mfn_x(INVALID_MFN);
+            rc =3D 0;
+        }
+    }
+
+    altp2m_list_unlock(d);
+
+    domain_unpause_except_self(d);
+
+    return rc;
+}
+
+int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx)
+{
+    struct vcpu *v;
+    int rc =3D -EINVAL;
+
+    if ( idx >=3D MAX_ALTP2M )
+        return rc;
+
+    rc =3D domain_pause_except_self(d);
+    if ( rc )
+        return rc;
+
+    rc =3D -EINVAL;
+    altp2m_list_lock(d);
+
+    if ( d->arch.altp2m_visible_eptp[idx] !=3D mfn_x(INVALID_MFN) )
+    {
+        for_each_vcpu( d, v )
+            if ( p2m_set_altp2m(v, idx) )
+                altp2m_vcpu_update_p2m(v);
+
+        rc =3D 0;
+    }
+
+    altp2m_list_unlock(d);
+
+    domain_unpause_except_self(d);
+
+    return rc;
+}
+
+int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
+                          gfn_t old_gfn, gfn_t new_gfn)
+{
+    struct p2m_domain *hp2m, *ap2m;
+    p2m_access_t a;
+    p2m_type_t t;
+    mfn_t mfn;
+    int rc =3D -EINVAL;
+
+    if ( idx >=3D  min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+         d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] =3D=3D
+         mfn_x(INVALID_MFN) )
+        return rc;
+
+    hp2m =3D p2m_get_hostp2m(d);
+    ap2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
+
+    p2m_lock(hp2m);
+    p2m_lock(ap2m);
+
+    if ( gfn_eq(new_gfn, INVALID_GFN) )
+    {
+        mfn =3D ap2m->get_entry(ap2m, old_gfn, &t, &a, 0, NULL, NULL);
+        rc =3D mfn_valid(mfn)
+             ? p2m_remove_entry(ap2m, old_gfn, mfn, PAGE_ORDER_4K)
+             : 0;
+        goto out;
+    }
+
+    rc =3D altp2m_get_effective_entry(ap2m, old_gfn, &mfn, &t, &a,
+                                    AP2MGET_prepopulate);
+    if ( rc )
+        goto out;
+
+    rc =3D altp2m_get_effective_entry(ap2m, new_gfn, &mfn, &t, &a,
+                                    AP2MGET_query);
+    if ( rc )
+        goto out;
+
+    if ( !ap2m->set_entry(ap2m, old_gfn, mfn, PAGE_ORDER_4K, t, a,
+                          (current->domain !=3D d)) )
+    {
+        rc =3D 0;
+
+        if ( gfn_x(new_gfn) < ap2m->min_remapped_gfn )
+            ap2m->min_remapped_gfn =3D gfn_x(new_gfn);
+        if ( gfn_x(new_gfn) > ap2m->max_remapped_gfn )
+            ap2m->max_remapped_gfn =3D gfn_x(new_gfn);
+    }
+
+ out:
+    p2m_unlock(ap2m);
+    p2m_unlock(hp2m);
+    return rc;
+}
+
+int p2m_altp2m_propagate_change(struct domain *d, gfn_t gfn,
+                                mfn_t mfn, unsigned int page_order,
+                                p2m_type_t p2mt, p2m_access_t p2ma)
+{
+    struct p2m_domain *p2m;
+    unsigned int i;
+    unsigned int reset_count =3D 0;
+    unsigned int last_reset_idx =3D ~0;
+    int ret =3D 0;
+
+    if ( !altp2m_active(d) )
+        return 0;
+
+    altp2m_list_lock(d);
+
+    for ( i =3D 0; i < MAX_ALTP2M; i++ )
+    {
+        p2m_type_t t;
+        p2m_access_t a;
+
+        if ( d->arch.altp2m_eptp[i] =3D=3D mfn_x(INVALID_MFN) )
+            continue;
+
+        p2m =3D d->arch.altp2m_p2m[i];
+
+        /* Check for a dropped page that may impact this altp2m */
+        if ( mfn_eq(mfn, INVALID_MFN) &&
+             gfn_x(gfn) + (1UL << page_order) > p2m->min_remapped_gfn &&
+             gfn_x(gfn) <=3D p2m->max_remapped_gfn )
+        {
+            if ( !reset_count++ )
+            {
+                p2m_reset_altp2m(d, i, ALTP2M_RESET);
+                last_reset_idx =3D i;
+            }
+            else
+            {
+                /* At least 2 altp2m's impacted, so reset everything */
+                for ( i =3D 0; i < MAX_ALTP2M; i++ )
+                {
+                    if ( i =3D=3D last_reset_idx ||
+                         d->arch.altp2m_eptp[i] =3D=3D mfn_x(INVALID_MFN=
) )
+                        continue;
+
+                    p2m_reset_altp2m(d, i, ALTP2M_RESET);
+                }
+
+                ret =3D 0;
+                break;
+            }
+        }
+        else if ( !mfn_eq(get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0=
,
+                                              NULL), INVALID_MFN) )
+        {
+            int rc =3D p2m_set_entry(p2m, gfn, mfn, page_order, p2mt, p2=
ma);
+
+            /* Best effort: Don't bail on error. */
+            if ( !ret )
+                ret =3D rc;
+
+            p2m_put_gfn(p2m, gfn);
+        }
+        else
+            p2m_put_gfn(p2m, gfn);
+    }
+
+    altp2m_list_unlock(d);
+
+    return ret;
+}
+
+/*
+ * Set/clear the #VE suppress bit for a page.  Only available on VMX.
+ */
+int p2m_set_suppress_ve(struct domain *d, gfn_t gfn, bool suppress_ve,
+                        unsigned int altp2m_idx)
+{
+    int rc;
+    struct xen_hvm_altp2m_suppress_ve_multi sve =3D {
+        altp2m_idx, suppress_ve, 0, 0, gfn_x(gfn), gfn_x(gfn), 0
+    };
+
+    if ( !(rc =3D p2m_set_suppress_ve_multi(d, &sve)) )
+        rc =3D sve.first_error;
+
+    return rc;
+}
+
+/*
+ * Set/clear the #VE suppress bit for multiple pages.  Only available on=
 VMX.
+ */
+int p2m_set_suppress_ve_multi(struct domain *d,
+                              struct xen_hvm_altp2m_suppress_ve_multi *s=
ve)
+{
+    struct p2m_domain *host_p2m =3D p2m_get_hostp2m(d);
+    struct p2m_domain *ap2m =3D NULL;
+    struct p2m_domain *p2m =3D host_p2m;
+    uint64_t start =3D sve->first_gfn;
+    int rc =3D 0;
+
+    if ( sve->view > 0 )
+    {
+        if ( sve->view >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP=
) ||
+             d->arch.altp2m_eptp[array_index_nospec(sve->view, MAX_EPTP)=
] =3D=3D
+             mfn_x(INVALID_MFN) )
+            return -EINVAL;
+
+        p2m =3D ap2m =3D array_access_nospec(d->arch.altp2m_p2m, sve->vi=
ew);
+    }
+
+    p2m_lock(host_p2m);
+
+    if ( ap2m )
+        p2m_lock(ap2m);
+
+    while ( sve->last_gfn >=3D start )
+    {
+        p2m_access_t a;
+        p2m_type_t t;
+        mfn_t mfn;
+        int err =3D 0;
+
+        if ( (err =3D altp2m_get_effective_entry(p2m, _gfn(start), &mfn,=
 &t, &a,
+                                               AP2MGET_query)) &&
+             !sve->first_error )
+        {
+            sve->first_error_gfn =3D start; /* Save the gfn of the first=
 error */
+            sve->first_error =3D err; /* Save the first error code */
+        }
+
+        if ( !err && (err =3D p2m->set_entry(p2m, _gfn(start), mfn,
+                                           PAGE_ORDER_4K, t, a,
+                                           sve->suppress_ve)) &&
+             !sve->first_error )
+        {
+            sve->first_error_gfn =3D start; /* Save the gfn of the first=
 error */
+            sve->first_error =3D err; /* Save the first error code */
+        }
+
+        /* Check for continuation if it's not the last iteration. */
+        if ( sve->last_gfn >=3D ++start && hypercall_preempt_check() )
+        {
+            rc =3D -ERESTART;
+            break;
+        }
+    }
+
+    sve->first_gfn =3D start;
+
+    if ( ap2m )
+        p2m_unlock(ap2m);
+
+    p2m_unlock(host_p2m);
+
+    return rc;
+}
+
+int p2m_get_suppress_ve(struct domain *d, gfn_t gfn, bool *suppress_ve,
+                        unsigned int altp2m_idx)
+{
+    struct p2m_domain *host_p2m =3D p2m_get_hostp2m(d);
+    struct p2m_domain *ap2m =3D NULL;
+    struct p2m_domain *p2m;
+    mfn_t mfn;
+    p2m_access_t a;
+    p2m_type_t t;
+    int rc =3D 0;
+
+    if ( altp2m_idx > 0 )
+    {
+        if ( altp2m_idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPT=
P) ||
+             d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP=
)] =3D=3D
+             mfn_x(INVALID_MFN) )
+            return -EINVAL;
+
+        p2m =3D ap2m =3D array_access_nospec(d->arch.altp2m_p2m, altp2m_=
idx);
+    }
+    else
+        p2m =3D host_p2m;
+
+    gfn_lock(host_p2m, gfn, 0);
+
+    if ( ap2m )
+        p2m_lock(ap2m);
+
+    mfn =3D p2m->get_entry(p2m, gfn, &t, &a, 0, NULL, suppress_ve);
+    if ( !mfn_valid(mfn) )
+        rc =3D -ESRCH;
+
+    if ( ap2m )
+        p2m_unlock(ap2m);
+
+    gfn_unlock(host_p2m, gfn, 0);
+
+    return rc;
+}
+
+int p2m_set_altp2m_view_visibility(struct domain *d, unsigned int altp2m=
_idx,
+                                   uint8_t visible)
+{
+    int rc =3D 0;
+
+    altp2m_list_lock(d);
+
+    /*
+     * Eptp index is correlated with altp2m index and should not exceed
+     * min(MAX_ALTP2M, MAX_EPTP).
+     */
+    if ( altp2m_idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) |=
|
+         d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] =3D=
=3D
+         mfn_x(INVALID_MFN) )
+        rc =3D -EINVAL;
+    else if ( visible )
+        d->arch.altp2m_visible_eptp[array_index_nospec(altp2m_idx, MAX_E=
PTP)] =3D
+            d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)=
];
+    else
+        d->arch.altp2m_visible_eptp[array_index_nospec(altp2m_idx, MAX_E=
PTP)] =3D
+            mfn_x(INVALID_MFN);
+
+    altp2m_list_unlock(d);
+
+    return rc;
+}
+
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index ce742c12e0..1f219e8e45 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -500,9 +500,8 @@ int p2m_alloc_table(struct p2m_domain *p2m)
     return 0;
 }
=20
-static int __must_check
-p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
-                 unsigned int page_order)
+int __must_check p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn=
_t mfn,
+                                  unsigned int page_order)
 {
     unsigned long i;
     p2m_type_t t;
@@ -1329,8 +1328,7 @@ p2m_getlru_nestedp2m(struct domain *d, struct p2m_d=
omain *p2m)
     return p2m;
 }
=20
-static void
-p2m_flush_table_locked(struct p2m_domain *p2m)
+void p2m_flush_table_locked(struct p2m_domain *p2m)
 {
     struct page_info *top, *pg;
     struct domain *d =3D p2m->domain;
@@ -1729,481 +1727,6 @@ int unmap_mmio_regions(struct domain *d,
     return i =3D=3D nr ? 0 : i ?: ret;
 }
=20
-int altp2m_get_effective_entry(struct p2m_domain *ap2m, gfn_t gfn, mfn_t=
 *mfn,
-                               p2m_type_t *t, p2m_access_t *a,
-                               bool prepopulate)
-{
-    *mfn =3D ap2m->get_entry(ap2m, gfn, t, a, 0, NULL, NULL);
-
-    /* Check host p2m if no valid entry in alternate */
-    if ( !mfn_valid(*mfn) && !p2m_is_hostp2m(ap2m) )
-    {
-        struct p2m_domain *hp2m =3D p2m_get_hostp2m(ap2m->domain);
-        unsigned int page_order;
-        int rc;
-
-        *mfn =3D p2m_get_gfn_type_access(hp2m, gfn, t, a, P2M_ALLOC | P2=
M_UNSHARE,
-                                       &page_order, 0);
-
-        rc =3D -ESRCH;
-        if ( !mfn_valid(*mfn) || *t !=3D p2m_ram_rw )
-            return rc;
-
-        /* If this is a superpage, copy that first */
-        if ( prepopulate && page_order !=3D PAGE_ORDER_4K )
-        {
-            unsigned long mask =3D ~((1UL << page_order) - 1);
-            gfn_t gfn_aligned =3D _gfn(gfn_x(gfn) & mask);
-            mfn_t mfn_aligned =3D _mfn(mfn_x(*mfn) & mask);
-
-            rc =3D ap2m->set_entry(ap2m, gfn_aligned, mfn_aligned, page_=
order, *t, *a, 1);
-            if ( rc )
-                return rc;
-        }
-    }
-
-    return 0;
-}
-
-void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
-{
-    if ( altp2m_active(v->domain) )
-        p2m_switch_vcpu_altp2m_by_id(v, idx);
-}
-
-bool p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx)
-{
-    struct domain *d =3D v->domain;
-    bool rc =3D false;
-
-    if ( idx >=3D MAX_ALTP2M )
-        return rc;
-
-    altp2m_list_lock(d);
-
-    if ( d->arch.altp2m_eptp[idx] !=3D mfn_x(INVALID_MFN) )
-    {
-        if ( p2m_set_altp2m(v, idx) )
-            altp2m_vcpu_update_p2m(v);
-        rc =3D 1;
-    }
-
-    altp2m_list_unlock(d);
-    return rc;
-}
-
-/*
- * Read info about the gfn in an altp2m, locking the gfn.
- *
- * If the entry is valid, pass the results back to the caller.
- *
- * If the entry was invalid, and the host's entry is also invalid,
- * return to the caller without any changes.
- *
- * If the entry is invalid, and the host entry was valid, propagate
- * the host's entry to the altp2m (retaining page order), and indicate
- * that the caller should re-try the faulting instruction.
- */
-bool p2m_altp2m_get_or_propagate(struct p2m_domain *ap2m, unsigned long =
gfn_l,
-                                 mfn_t *mfn, p2m_type_t *p2mt,
-                                 p2m_access_t *p2ma, unsigned int *page_=
order)
-{
-    p2m_type_t ap2mt;
-    p2m_access_t ap2ma;
-    unsigned int cur_order;
-    unsigned long mask;
-    gfn_t gfn;
-    mfn_t amfn;
-    int rc;
-
-    /*
-     * NB we must get the full lock on the altp2m here, in addition to
-     * the lock on the individual gfn, since we may change a range of
-     * gfns below.
-     */
-    p2m_lock(ap2m);
-
-    amfn =3D get_gfn_type_access(ap2m, gfn_l, &ap2mt, &ap2ma, 0, &cur_or=
der);
-
-    if ( cur_order > *page_order )
-        cur_order =3D *page_order;
-
-    if ( !mfn_eq(amfn, INVALID_MFN) )
-    {
-        p2m_unlock(ap2m);
-        *mfn  =3D amfn;
-        *p2mt =3D ap2mt;
-        *p2ma =3D ap2ma;
-        *page_order =3D cur_order;
-        return false;
-    }
-
-    /* Host entry is also invalid; don't bother setting the altp2m entry=
. */
-    if ( mfn_eq(*mfn, INVALID_MFN) )
-    {
-        p2m_unlock(ap2m);
-        *page_order =3D cur_order;
-        return false;
-    }
-
-    /*
-     * If this is a superpage mapping, round down both frame numbers
-     * to the start of the superpage.  NB that we repupose `amfn`
-     * here.
-     */
-    mask =3D ~((1UL << cur_order) - 1);
-    amfn =3D _mfn(mfn_x(*mfn) & mask);
-    gfn =3D _gfn(gfn_l & mask);
-
-    /* Override the altp2m entry with its default access. */
-    *p2ma =3D ap2m->default_access;
-
-    rc =3D p2m_set_entry(ap2m, gfn, amfn, cur_order, *p2mt, *p2ma);
-    p2m_unlock(ap2m);
-
-    if ( rc )
-    {
-        gprintk(XENLOG_ERR,
-                "failed to set entry for %"PRI_gfn" -> %"PRI_mfn" altp2m=
 %u, rc %d\n",
-                gfn_l, mfn_x(amfn), vcpu_altp2m(current).p2midx, rc);
-        domain_crash(ap2m->domain);
-    }
-
-    return true;
-}
-
-enum altp2m_reset_type {
-    ALTP2M_RESET,
-    ALTP2M_DEACTIVATE
-};
-
-static void p2m_reset_altp2m(struct domain *d, unsigned int idx,
-                             enum altp2m_reset_type reset_type)
-{
-    struct p2m_domain *p2m;
-
-    ASSERT(idx < MAX_ALTP2M);
-    p2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
-
-    p2m_lock(p2m);
-
-    p2m_flush_table_locked(p2m);
-
-    if ( reset_type =3D=3D ALTP2M_DEACTIVATE )
-        p2m_free_logdirty(p2m);
-
-    /* Uninit and reinit ept to force TLB shootdown */
-    ept_p2m_uninit(p2m);
-    ept_p2m_init(p2m);
-
-    p2m->min_remapped_gfn =3D gfn_x(INVALID_GFN);
-    p2m->max_remapped_gfn =3D 0;
-
-    p2m_unlock(p2m);
-}
-
-void p2m_flush_altp2m(struct domain *d)
-{
-    unsigned int i;
-
-    altp2m_list_lock(d);
-
-    for ( i =3D 0; i < MAX_ALTP2M; i++ )
-    {
-        p2m_reset_altp2m(d, i, ALTP2M_DEACTIVATE);
-        d->arch.altp2m_eptp[i] =3D mfn_x(INVALID_MFN);
-        d->arch.altp2m_visible_eptp[i] =3D mfn_x(INVALID_MFN);
-    }
-
-    altp2m_list_unlock(d);
-}
-
-static int p2m_activate_altp2m(struct domain *d, unsigned int idx,
-                               p2m_access_t hvmmem_default_access)
-{
-    struct p2m_domain *hostp2m, *p2m;
-    int rc;
-
-    ASSERT(idx < MAX_ALTP2M);
-
-    p2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
-    hostp2m =3D p2m_get_hostp2m(d);
-
-    p2m_lock(p2m);
-
-    rc =3D p2m_init_logdirty(p2m);
-
-    if ( rc )
-        goto out;
-
-    /* The following is really just a rangeset copy. */
-    rc =3D rangeset_merge(p2m->logdirty_ranges, hostp2m->logdirty_ranges=
);
-
-    if ( rc )
-    {
-        p2m_free_logdirty(p2m);
-        goto out;
-    }
-
-    p2m->default_access =3D hvmmem_default_access;
-    p2m->domain =3D hostp2m->domain;
-    p2m->global_logdirty =3D hostp2m->global_logdirty;
-    p2m->min_remapped_gfn =3D gfn_x(INVALID_GFN);
-    p2m->max_mapped_pfn =3D p2m->max_remapped_gfn =3D 0;
-
-    p2m_init_altp2m_ept(d, idx);
-
- out:
-    p2m_unlock(p2m);
-
-    return rc;
-}
-
-int p2m_init_altp2m_by_id(struct domain *d, unsigned int idx)
-{
-    int rc =3D -EINVAL;
-    struct p2m_domain *hostp2m =3D p2m_get_hostp2m(d);
-
-    if ( idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) )
-        return rc;
-
-    altp2m_list_lock(d);
-
-    if ( d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] =3D=3D
-         mfn_x(INVALID_MFN) )
-        rc =3D p2m_activate_altp2m(d, idx, hostp2m->default_access);
-
-    altp2m_list_unlock(d);
-    return rc;
-}
-
-int p2m_init_next_altp2m(struct domain *d, uint16_t *idx,
-                         xenmem_access_t hvmmem_default_access)
-{
-    int rc =3D -EINVAL;
-    unsigned int i;
-    p2m_access_t a;
-    struct p2m_domain *hostp2m =3D p2m_get_hostp2m(d);
-
-    if ( hvmmem_default_access > XENMEM_access_default ||
-         !xenmem_access_to_p2m_access(hostp2m, hvmmem_default_access, &a=
) )
-        return rc;
-
-    altp2m_list_lock(d);
-
-    for ( i =3D 0; i < MAX_ALTP2M; i++ )
-    {
-        if ( d->arch.altp2m_eptp[i] !=3D mfn_x(INVALID_MFN) )
-            continue;
-
-        rc =3D p2m_activate_altp2m(d, i, a);
-
-        if ( !rc )
-            *idx =3D i;
-
-        break;
-    }
-
-    altp2m_list_unlock(d);
-    return rc;
-}
-
-int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx)
-{
-    struct p2m_domain *p2m;
-    int rc =3D -EBUSY;
-
-    if ( !idx || idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) =
)
-        return rc;
-
-    rc =3D domain_pause_except_self(d);
-    if ( rc )
-        return rc;
-
-    rc =3D -EBUSY;
-    altp2m_list_lock(d);
-
-    if ( d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] !=3D
-         mfn_x(INVALID_MFN) )
-    {
-        p2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
-
-        if ( !_atomic_read(p2m->active_vcpus) )
-        {
-            p2m_reset_altp2m(d, idx, ALTP2M_DEACTIVATE);
-            d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] =3D
-                mfn_x(INVALID_MFN);
-            d->arch.altp2m_visible_eptp[array_index_nospec(idx, MAX_EPTP=
)] =3D
-                mfn_x(INVALID_MFN);
-            rc =3D 0;
-        }
-    }
-
-    altp2m_list_unlock(d);
-
-    domain_unpause_except_self(d);
-
-    return rc;
-}
-
-int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx)
-{
-    struct vcpu *v;
-    int rc =3D -EINVAL;
-
-    if ( idx >=3D MAX_ALTP2M )
-        return rc;
-
-    rc =3D domain_pause_except_self(d);
-    if ( rc )
-        return rc;
-
-    rc =3D -EINVAL;
-    altp2m_list_lock(d);
-
-    if ( d->arch.altp2m_visible_eptp[idx] !=3D mfn_x(INVALID_MFN) )
-    {
-        for_each_vcpu( d, v )
-            if ( p2m_set_altp2m(v, idx) )
-                altp2m_vcpu_update_p2m(v);
-
-        rc =3D 0;
-    }
-
-    altp2m_list_unlock(d);
-
-    domain_unpause_except_self(d);
-
-    return rc;
-}
-
-int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
-                          gfn_t old_gfn, gfn_t new_gfn)
-{
-    struct p2m_domain *hp2m, *ap2m;
-    p2m_access_t a;
-    p2m_type_t t;
-    mfn_t mfn;
-    int rc =3D -EINVAL;
-
-    if ( idx >=3D  min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
-         d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] =3D=3D
-         mfn_x(INVALID_MFN) )
-        return rc;
-
-    hp2m =3D p2m_get_hostp2m(d);
-    ap2m =3D array_access_nospec(d->arch.altp2m_p2m, idx);
-
-    p2m_lock(hp2m);
-    p2m_lock(ap2m);
-
-    if ( gfn_eq(new_gfn, INVALID_GFN) )
-    {
-        mfn =3D ap2m->get_entry(ap2m, old_gfn, &t, &a, 0, NULL, NULL);
-        rc =3D mfn_valid(mfn)
-             ? p2m_remove_entry(ap2m, old_gfn, mfn, PAGE_ORDER_4K)
-             : 0;
-        goto out;
-    }
-
-    rc =3D altp2m_get_effective_entry(ap2m, old_gfn, &mfn, &t, &a,
-                                    AP2MGET_prepopulate);
-    if ( rc )
-        goto out;
-
-    rc =3D altp2m_get_effective_entry(ap2m, new_gfn, &mfn, &t, &a,
-                                    AP2MGET_query);
-    if ( rc )
-        goto out;
-
-    if ( !ap2m->set_entry(ap2m, old_gfn, mfn, PAGE_ORDER_4K, t, a,
-                          (current->domain !=3D d)) )
-    {
-        rc =3D 0;
-
-        if ( gfn_x(new_gfn) < ap2m->min_remapped_gfn )
-            ap2m->min_remapped_gfn =3D gfn_x(new_gfn);
-        if ( gfn_x(new_gfn) > ap2m->max_remapped_gfn )
-            ap2m->max_remapped_gfn =3D gfn_x(new_gfn);
-    }
-
- out:
-    p2m_unlock(ap2m);
-    p2m_unlock(hp2m);
-    return rc;
-}
-
-int p2m_altp2m_propagate_change(struct domain *d, gfn_t gfn,
-                                mfn_t mfn, unsigned int page_order,
-                                p2m_type_t p2mt, p2m_access_t p2ma)
-{
-    struct p2m_domain *p2m;
-    unsigned int i;
-    unsigned int reset_count =3D 0;
-    unsigned int last_reset_idx =3D ~0;
-    int ret =3D 0;
-
-    if ( !altp2m_active(d) )
-        return 0;
-
-    altp2m_list_lock(d);
-
-    for ( i =3D 0; i < MAX_ALTP2M; i++ )
-    {
-        p2m_type_t t;
-        p2m_access_t a;
-
-        if ( d->arch.altp2m_eptp[i] =3D=3D mfn_x(INVALID_MFN) )
-            continue;
-
-        p2m =3D d->arch.altp2m_p2m[i];
-
-        /* Check for a dropped page that may impact this altp2m */
-        if ( mfn_eq(mfn, INVALID_MFN) &&
-             gfn_x(gfn) + (1UL << page_order) > p2m->min_remapped_gfn &&
-             gfn_x(gfn) <=3D p2m->max_remapped_gfn )
-        {
-            if ( !reset_count++ )
-            {
-                p2m_reset_altp2m(d, i, ALTP2M_RESET);
-                last_reset_idx =3D i;
-            }
-            else
-            {
-                /* At least 2 altp2m's impacted, so reset everything */
-                for ( i =3D 0; i < MAX_ALTP2M; i++ )
-                {
-                    if ( i =3D=3D last_reset_idx ||
-                         d->arch.altp2m_eptp[i] =3D=3D mfn_x(INVALID_MFN=
) )
-                        continue;
-
-                    p2m_reset_altp2m(d, i, ALTP2M_RESET);
-                }
-
-                ret =3D 0;
-                break;
-            }
-        }
-        else if ( !mfn_eq(get_gfn_type_access(p2m, gfn_x(gfn), &t, &a, 0=
,
-                                              NULL), INVALID_MFN) )
-        {
-            int rc =3D p2m_set_entry(p2m, gfn, mfn, page_order, p2mt, p2=
ma);
-
-            /* Best effort: Don't bail on error. */
-            if ( !ret )
-                ret =3D rc;
-
-            p2m_put_gfn(p2m, gfn);
-        }
-        else
-            p2m_put_gfn(p2m, gfn);
-    }
-
-    altp2m_list_unlock(d);
-
-    return ret;
-}
-
 /*** Audit ***/
=20
 #if P2M_AUDIT
@@ -2540,159 +2063,6 @@ int xenmem_add_to_physmap_one(
     return rc;
 }
=20
-/*
- * Set/clear the #VE suppress bit for a page.  Only available on VMX.
- */
-int p2m_set_suppress_ve(struct domain *d, gfn_t gfn, bool suppress_ve,
-                        unsigned int altp2m_idx)
-{
-    int rc;
-    struct xen_hvm_altp2m_suppress_ve_multi sve =3D {
-        altp2m_idx, suppress_ve, 0, 0, gfn_x(gfn), gfn_x(gfn), 0
-    };
-
-    if ( !(rc =3D p2m_set_suppress_ve_multi(d, &sve)) )
-        rc =3D sve.first_error;
-
-    return rc;
-}
-
-/*
- * Set/clear the #VE suppress bit for multiple pages.  Only available on=
 VMX.
- */
-int p2m_set_suppress_ve_multi(struct domain *d,
-                              struct xen_hvm_altp2m_suppress_ve_multi *s=
ve)
-{
-    struct p2m_domain *host_p2m =3D p2m_get_hostp2m(d);
-    struct p2m_domain *ap2m =3D NULL;
-    struct p2m_domain *p2m =3D host_p2m;
-    uint64_t start =3D sve->first_gfn;
-    int rc =3D 0;
-
-    if ( sve->view > 0 )
-    {
-        if ( sve->view >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP=
) ||
-             d->arch.altp2m_eptp[array_index_nospec(sve->view, MAX_EPTP)=
] =3D=3D
-             mfn_x(INVALID_MFN) )
-            return -EINVAL;
-
-        p2m =3D ap2m =3D array_access_nospec(d->arch.altp2m_p2m, sve->vi=
ew);
-    }
-
-    p2m_lock(host_p2m);
-
-    if ( ap2m )
-        p2m_lock(ap2m);
-
-    while ( sve->last_gfn >=3D start )
-    {
-        p2m_access_t a;
-        p2m_type_t t;
-        mfn_t mfn;
-        int err =3D 0;
-
-        if ( (err =3D altp2m_get_effective_entry(p2m, _gfn(start), &mfn,=
 &t, &a,
-                                               AP2MGET_query)) &&
-             !sve->first_error )
-        {
-            sve->first_error_gfn =3D start; /* Save the gfn of the first=
 error */
-            sve->first_error =3D err; /* Save the first error code */
-        }
-
-        if ( !err && (err =3D p2m->set_entry(p2m, _gfn(start), mfn,
-                                           PAGE_ORDER_4K, t, a,
-                                           sve->suppress_ve)) &&
-             !sve->first_error )
-        {
-            sve->first_error_gfn =3D start; /* Save the gfn of the first=
 error */
-            sve->first_error =3D err; /* Save the first error code */
-        }
-
-        /* Check for continuation if it's not the last iteration. */
-        if ( sve->last_gfn >=3D ++start && hypercall_preempt_check() )
-        {
-            rc =3D -ERESTART;
-            break;
-        }
-    }
-
-    sve->first_gfn =3D start;
-
-    if ( ap2m )
-        p2m_unlock(ap2m);
-
-    p2m_unlock(host_p2m);
-
-    return rc;
-}
-
-int p2m_get_suppress_ve(struct domain *d, gfn_t gfn, bool *suppress_ve,
-                        unsigned int altp2m_idx)
-{
-    struct p2m_domain *host_p2m =3D p2m_get_hostp2m(d);
-    struct p2m_domain *ap2m =3D NULL;
-    struct p2m_domain *p2m;
-    mfn_t mfn;
-    p2m_access_t a;
-    p2m_type_t t;
-    int rc =3D 0;
-
-    if ( altp2m_idx > 0 )
-    {
-        if ( altp2m_idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPT=
P) ||
-             d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP=
)] =3D=3D
-             mfn_x(INVALID_MFN) )
-            return -EINVAL;
-
-        p2m =3D ap2m =3D array_access_nospec(d->arch.altp2m_p2m, altp2m_=
idx);
-    }
-    else
-        p2m =3D host_p2m;
-
-    gfn_lock(host_p2m, gfn, 0);
-
-    if ( ap2m )
-        p2m_lock(ap2m);
-
-    mfn =3D p2m->get_entry(p2m, gfn, &t, &a, 0, NULL, suppress_ve);
-    if ( !mfn_valid(mfn) )
-        rc =3D -ESRCH;
-
-    if ( ap2m )
-        p2m_unlock(ap2m);
-
-    gfn_unlock(host_p2m, gfn, 0);
-
-    return rc;
-}
-
-int p2m_set_altp2m_view_visibility(struct domain *d, unsigned int altp2m=
_idx,
-                                   uint8_t visible)
-{
-    int rc =3D 0;
-
-    altp2m_list_lock(d);
-
-    /*
-     * Eptp index is correlated with altp2m index and should not exceed
-     * min(MAX_ALTP2M, MAX_EPTP).
-     */
-    if ( altp2m_idx >=3D min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) |=
|
-         d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] =3D=
=3D
-         mfn_x(INVALID_MFN) )
-        rc =3D -EINVAL;
-    else if ( visible )
-        d->arch.altp2m_visible_eptp[array_index_nospec(altp2m_idx, MAX_E=
PTP)] =3D
-            d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)=
];
-    else
-        d->arch.altp2m_visible_eptp[array_index_nospec(altp2m_idx, MAX_E=
PTP)] =3D
-            mfn_x(INVALID_MFN);
-
-    altp2m_list_unlock(d);
-
-    return rc;
-}
-
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/mm/p2m.h b/xen/arch/x86/mm/p2m.h
index 04308cfb6d..635f5a7f45 100644
--- a/xen/arch/x86/mm/p2m.h
+++ b/xen/arch/x86/mm/p2m.h
@@ -22,6 +22,9 @@ static inline void p2m_free_logdirty(struct p2m_domain =
*p2m) {}
 int p2m_init_altp2m(struct domain *d);
 void p2m_teardown_altp2m(struct domain *d);
=20
+void p2m_flush_table_locked(struct p2m_domain *p2m);
+int __must_check p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn=
_t mfn,
+                                  unsigned int page_order);
 void p2m_nestedp2m_init(struct p2m_domain *p2m);
 int p2m_init_nestedp2m(struct domain *d);
 void p2m_teardown_nestedp2m(struct domain *d);
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:31:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706624.1103884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcLv-0004D8-1L; Tue, 16 Apr 2024 06:31:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706624.1103884; Tue, 16 Apr 2024 06:31:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcLu-0004Ci-V0; Tue, 16 Apr 2024 06:31:34 +0000
Received: by outflank-mailman (input) for mailman id 706624;
 Tue, 16 Apr 2024 06:31: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcLt-0004CA-LU
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:31:33 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5a1d601-fbba-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:31:32 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 1E2CD3654E;
 Tue, 16 Apr 2024 02:31:29 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 0AA0E3654D;
 Tue, 16 Apr 2024 02:31:29 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id E54993654C;
 Tue, 16 Apr 2024 02:31:24 -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: f5a1d601-fbba-11ee-b909-491648fe20b8
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=rS/UZ+/PSV3QRa1QCAslyBy27wJqULa/1N2ijCmPfxw=; b=CH+2
	PeUFlqfloks1QIAFx91lvy9NFEbmUvuJzKnCyGd+lfdKkZqV9jXOiaVir/0hh2SG
	aF2alDFT4fGolJyZwEx+aKZeC14/fGl4m/7VIZlWubFCLL+D6SLcMxqm1xaaI3FY
	6FIW4dZrfBxxv5jTxRFrZlCouyGlGT5b8HPMRNI=
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>,
	George Dunlap <george.dunlap@citrix.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 06/15] x86/p2m: guard altp2m code with CONFIG_VMX option
Date: Tue, 16 Apr 2024 09:31:21 +0300
Message-Id: <20240416063121.3469245-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 F2B5BBB8-FBBA-11EE-A681-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Instead of using generic CONFIG_HVM option switch to a bit more specific
CONFIG_VMX option for altp2m support, as it depends on VMX. Also guard
altp2m routines, so that it can be disabled completely in the build.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/include/asm/altp2m.h  |  5 ++++-
 xen/arch/x86/include/asm/hvm/hvm.h |  7 +++++++
 xen/arch/x86/include/asm/p2m.h     | 18 +++++++++++++++++-
 xen/arch/x86/mm/Makefile           |  2 +-
 4 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/altp2m.h b/xen/arch/x86/include/asm=
/altp2m.h
index e5e59cbd68..03613dc246 100644
--- a/xen/arch/x86/include/asm/altp2m.h
+++ b/xen/arch/x86/include/asm/altp2m.h
@@ -7,7 +7,7 @@
 #ifndef __ASM_X86_ALTP2M_H
 #define __ASM_X86_ALTP2M_H
=20
-#ifdef CONFIG_HVM
+#ifdef CONFIG_VMX
=20
 #include <xen/types.h>
 #include <xen/sched.h>         /* for struct vcpu, struct domain */
@@ -38,7 +38,10 @@ static inline bool altp2m_active(const struct domain *=
d)
 }
=20
 /* Only declaration is needed. DCE will optimise it out when linking. */
+void altp2m_vcpu_initialise(struct vcpu *v);
+void altp2m_vcpu_destroy(struct vcpu *v);
 uint16_t altp2m_vcpu_idx(const struct vcpu *v);
+int altp2m_vcpu_enable_ve(struct vcpu *v, gfn_t gfn);
 void altp2m_vcpu_disable_ve(struct vcpu *v);
=20
 #endif
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/as=
m/hvm/hvm.h
index 87a6935d97..870ebf3d3a 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -648,11 +648,18 @@ static inline bool hvm_hap_supported(void)
     return hvm_funcs.caps.hap;
 }
=20
+#ifdef CONFIX_VMX
 /* returns true if hardware supports alternate p2m's */
 static inline bool hvm_altp2m_supported(void)
 {
     return hvm_funcs.caps.altp2m;
 }
+#else
+static inline bool hvm_altp2m_supported(void)
+{
+    return false;
+}
+#endif
=20
 /* updates the current hardware p2m */
 static inline void altp2m_vcpu_update_p2m(struct vcpu *v)
diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2=
m.h
index 111badf89a..0b2da1fd05 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -581,9 +581,9 @@ static inline gfn_t mfn_to_gfn(const struct domain *d=
, mfn_t mfn)
         return _gfn(mfn_x(mfn));
 }
=20
-#ifdef CONFIG_HVM
 #define AP2MGET_prepopulate true
 #define AP2MGET_query false
+#ifdef CONFIG_VMX
=20
 /*
  * Looks up altp2m entry. If the entry is not found it looks up the entr=
y in
@@ -593,6 +593,15 @@ static inline gfn_t mfn_to_gfn(const struct domain *=
d, mfn_t mfn)
 int altp2m_get_effective_entry(struct p2m_domain *ap2m, gfn_t gfn, mfn_t=
 *mfn,
                                p2m_type_t *t, p2m_access_t *a,
                                bool prepopulate);
+#else
+static inline int altp2m_get_effective_entry(struct p2m_domain *ap2m,
+                                             gfn_t gfn, mfn_t *mfn,
+                                             p2m_type_t *t, p2m_access_t=
 *a,
+                                             bool prepopulate)
+{
+    ASSERT_UNREACHABLE();
+    return -EOPNOTSUPP;
+}
 #endif
=20
 /* Init the datastructures for later use by the p2m code */
@@ -909,8 +918,15 @@ static inline bool p2m_set_altp2m(struct vcpu *v, un=
signed int idx)
 /* Switch alternate p2m for a single vcpu */
 bool p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx);
=20
+#ifdef CONFIG_VMX
 /* Check to see if vcpu should be switched to a different p2m. */
 void p2m_altp2m_check(struct vcpu *v, uint16_t idx);
+#else
+static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
+{
+    /* Not supported w/o VMX */
+}
+#endif
=20
 /* Flush all the alternate p2m's for a domain */
 void p2m_flush_altp2m(struct domain *d);
diff --git a/xen/arch/x86/mm/Makefile b/xen/arch/x86/mm/Makefile
index 92168290a8..3af992a6e9 100644
--- a/xen/arch/x86/mm/Makefile
+++ b/xen/arch/x86/mm/Makefile
@@ -1,7 +1,7 @@
 obj-y +=3D shadow/
 obj-$(CONFIG_HVM) +=3D hap/
=20
-obj-$(CONFIG_HVM) +=3D altp2m.o
+obj-$(CONFIG_VMX) +=3D altp2m.o
 obj-$(CONFIG_HVM) +=3D guest_walk_2.o guest_walk_3.o guest_walk_4.o
 obj-$(CONFIG_SHADOW_PAGING) +=3D guest_walk_4.o
 obj-$(CONFIG_MEM_ACCESS) +=3D mem_access.o
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:33:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:33:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706630.1103894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcNu-0004o9-Dw; Tue, 16 Apr 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 706630.1103894; Tue, 16 Apr 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 1rwcNu-0004o2-BK; Tue, 16 Apr 2024 06:33:38 +0000
Received: by outflank-mailman (input) for mailman id 706630;
 Tue, 16 Apr 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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcNt-0004ma-0c
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:33:37 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 403c5eaa-fbbb-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:33:36 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 9A5C83655F;
 Tue, 16 Apr 2024 02:33:34 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 92F663655E;
 Tue, 16 Apr 2024 02:33:34 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id AF7E53655D;
 Tue, 16 Apr 2024 02:33:31 -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: 403c5eaa-fbbb-11ee-b909-491648fe20b8
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=8JG4PNjuvlxmdEd1LlKmhuuWXf6XUwBh7cHi41Twr6g=; b=rtoh
	MLRLrV8RqFLvqfgTLdqf/eHbxNbZmOEHfGtPhCX3rKhD5/5NCWZaLWa7SU0UDbTp
	0NQMuhf7HESJsx82uKS0PlmrrdA8wfcOxt9ZL8o8VifMsH8C5nyy3nCO4S+PghNK
	tzErVXbV64L3RlAo99ui58otxtTr+rj8MU45xlE=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 07/15] x86/p2m: guard vmx specific ept functions with CONFIG_VMX
Date: Tue, 16 Apr 2024 09:33:28 +0300
Message-Id: <20240416063328.3469386-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 3E467702-FBBB-11EE-81EF-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

The functions ept_p2m_init() and ept_p2m_uninit() are VT-x specific.
Do build-time checks and skip these functions execution when !VMX.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/mm/p2m-basic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-basic.c b/xen/arch/x86/mm/p2m-basic.c
index 90106997d7..6810941c30 100644
--- a/xen/arch/x86/mm/p2m-basic.c
+++ b/xen/arch/x86/mm/p2m-basic.c
@@ -38,7 +38,7 @@ static int p2m_initialise(struct domain *d, struct p2m_=
domain *p2m)
     p2m_pod_init(p2m);
     p2m_nestedp2m_init(p2m);
=20
-    if ( hap_enabled(d) && cpu_has_vmx )
+    if ( IS_ENABLED(CONFIG_VMX) && hap_enabled(d) && cpu_has_vmx )
         ret =3D ept_p2m_init(p2m);
     else
         p2m_pt_init(p2m);
@@ -70,7 +70,7 @@ struct p2m_domain *p2m_init_one(struct domain *d)
 void p2m_free_one(struct p2m_domain *p2m)
 {
     p2m_free_logdirty(p2m);
-    if ( hap_enabled(p2m->domain) && cpu_has_vmx )
+    if ( IS_ENABLED(CONFIG_VMX) && hap_enabled(p2m->domain) && cpu_has_v=
mx )
         ept_p2m_uninit(p2m);
     free_cpumask_var(p2m->dirty_cpumask);
     xfree(p2m);
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:35:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:35:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706634.1103904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcPw-000696-Oj; Tue, 16 Apr 2024 06:35:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706634.1103904; Tue, 16 Apr 2024 06:35:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcPw-00068z-MF; Tue, 16 Apr 2024 06:35:44 +0000
Received: by outflank-mailman (input) for mailman id 706634;
 Tue, 16 Apr 2024 06:35: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcPv-00068Z-VX
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:35:44 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b22676d-fbbb-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:35:41 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 5BEE33657E;
 Tue, 16 Apr 2024 02:35:40 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 54E1B3657D;
 Tue, 16 Apr 2024 02:35:40 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 6FC1B3657C;
 Tue, 16 Apr 2024 02:35:37 -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: 8b22676d-fbbb-11ee-94a3-07e782e9044d
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=yt1e5CeIcMi14aJOR2Hc7CK1KtViZUVJ3OEeqEmOCWU=; b=AcXW
	tLKha4lIWA5TSibeADqaOn4NyJjQvzDX52EYV/CQewYewjBs8jbiGC9UiTmndK3I
	bJI7mrG3I9b12k6nEoxQ8+11RoOaEki+hT2Y4zI9BEQFUntShtwUhmw9Dv6P5Shh
	/pN6qL5mTX5V7pZ2xvZY9zHH9DQsbFVttPkfG4E=
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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 08/15] x86/vpmu: separate amd/intel vPMU code
Date: Tue, 16 Apr 2024 09:35:34 +0300
Message-Id: <20240416063534.3469482-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 89392214-FBBB-11EE-9506-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Build AMD vPMU when CONFIG_SVM is on, and Intel vPMU when CONFIG_VMX is o=
n
respectively, allowing for a plaftorm-specific build. Also separate
arch_vpmu_ops initializers using these options and static inline stubs.

No functional change intended.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/Makefile       |  4 +++-
 xen/arch/x86/include/asm/vpmu.h | 19 +++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
index 35561fe51d..d3d7b8fb2e 100644
--- a/xen/arch/x86/cpu/Makefile
+++ b/xen/arch/x86/cpu/Makefile
@@ -10,4 +10,6 @@ obj-y +=3D intel.o
 obj-y +=3D intel_cacheinfo.o
 obj-y +=3D mwait-idle.o
 obj-y +=3D shanghai.o
-obj-y +=3D vpmu.o vpmu_amd.o vpmu_intel.o
+obj-y +=3D vpmu.o
+obj-$(CONFIG_SVM) +=3D vpmu_amd.o
+obj-$(CONFIG_VMX) +=3D vpmu_intel.o
diff --git a/xen/arch/x86/include/asm/vpmu.h b/xen/arch/x86/include/asm/v=
pmu.h
index dae9b43dac..da86f2e420 100644
--- a/xen/arch/x86/include/asm/vpmu.h
+++ b/xen/arch/x86/include/asm/vpmu.h
@@ -11,6 +11,7 @@
 #define __ASM_X86_HVM_VPMU_H_
=20
 #include <public/pmu.h>
+#include <xen/err.h>
=20
 #define vcpu_vpmu(vcpu)   (&(vcpu)->arch.vpmu)
 #define vpmu_vcpu(vpmu)   container_of((vpmu), struct vcpu, arch.vpmu)
@@ -42,9 +43,27 @@ struct arch_vpmu_ops {
 #endif
 };
=20
+#ifdef CONFIG_VMX
 const struct arch_vpmu_ops *core2_vpmu_init(void);
+#else
+static inline const struct arch_vpmu_ops* core2_vpmu_init(void)
+{
+    return ERR_PTR(-ENODEV);
+}
+#endif
+#ifdef CONFIG_SVM
 const struct arch_vpmu_ops *amd_vpmu_init(void);
 const struct arch_vpmu_ops *hygon_vpmu_init(void);
+#else
+static inline const struct arch_vpmu_ops* amd_vpmu_init(void)
+{
+    return ERR_PTR(-ENODEV);
+}
+static inline const struct arch_vpmu_ops* hygon_vpmu_init(void)
+{
+    return ERR_PTR(-ENODEV);
+}
+#endif
=20
 struct vpmu_struct {
     u32 flags;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:37:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:37:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706638.1103915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcS1-0006vp-4e; Tue, 16 Apr 2024 06:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706638.1103915; Tue, 16 Apr 2024 06: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 1rwcS1-0006vi-1U; Tue, 16 Apr 2024 06:37:53 +0000
Received: by outflank-mailman (input) for mailman id 706638;
 Tue, 16 Apr 2024 06:37: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcRz-0006va-Kf
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:37:51 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d765debc-fbbb-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:37:49 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id D5B9D36586;
 Tue, 16 Apr 2024 02:37:47 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id C0FCF36585;
 Tue, 16 Apr 2024 02:37:47 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id B4E8D36584;
 Tue, 16 Apr 2024 02:37:43 -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: d765debc-fbbb-11ee-94a3-07e782e9044d
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=9Zw6Q89ndDALDigv8IS7imOfjSDEUzFnmBNeSU/Q/xY=; b=TkFo
	iZVtU4VyBn+zFeGpwLM4tVTkkaKEk24s+noMTIIecFoQYYcN0/qF88jEOdpbfUGP
	xPeUlFnTYSUtcgPUHvHAn9UFBg6DGSTAbjbJu++eDUMhizYy2GNUATZtgG4W4AL1
	/zEpyRGvmtrLETxN+mLc09NB1LcKxIDDkTkJuBo=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 09/15] x86/traps: guard vmx specific functions with CONFIG_VMX
Date: Tue, 16 Apr 2024 09:37:40 +0300
Message-Id: <20240416063740.3469592-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 D47E1B62-FBBB-11EE-BE54-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

The functions vmx_vmcs_enter() and vmx_vmcs_exit() are VT-x specific.
Guard their calls with CONFIG_VMX.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/traps.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index d554c9d41e..218eb5b322 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -676,7 +676,6 @@ void vcpu_show_execution_state(struct vcpu *v)
=20
     vcpu_pause(v); /* acceptably dangerous */
=20
-#ifdef CONFIG_HVM
     /*
      * For VMX special care is needed: Reading some of the register stat=
e will
      * require VMCS accesses. Engaging foreign VMCSes involves acquiring=
 of a
@@ -684,12 +683,11 @@ void vcpu_show_execution_state(struct vcpu *v)
      * region. Despite this being a layering violation, engage the VMCS =
right
      * here. This then also avoids doing so several times in close succe=
ssion.
      */
-    if ( cpu_has_vmx && is_hvm_vcpu(v) )
+    if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx && is_hvm_vcpu(v) )
     {
         ASSERT(!in_irq());
         vmx_vmcs_enter(v);
     }
-#endif
=20
     /* Prevent interleaving of output. */
     flags =3D console_lock_recursive_irqsave();
@@ -714,10 +712,8 @@ void vcpu_show_execution_state(struct vcpu *v)
         console_unlock_recursive_irqrestore(flags);
     }
=20
-#ifdef CONFIG_HVM
-    if ( cpu_has_vmx && is_hvm_vcpu(v) )
+    if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx && is_hvm_vcpu(v) )
         vmx_vmcs_exit(v);
-#endif
=20
     vcpu_unpause(v);
 }
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:40:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706642.1103925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcU2-0007Uk-Fs; Tue, 16 Apr 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 706642.1103925; Tue, 16 Apr 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 1rwcU2-0007Ud-CH; Tue, 16 Apr 2024 06:39:58 +0000
Received: by outflank-mailman (input) for mailman id 706642;
 Tue, 16 Apr 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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcU0-0007UT-N8
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:39:56 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2249d11b-fbbc-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:39:55 +0200 (CEST)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id AC5072D94C;
 Tue, 16 Apr 2024 02:39:53 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id A527C2D94B;
 Tue, 16 Apr 2024 02:39:53 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id 93C3E2D94A;
 Tue, 16 Apr 2024 02:39:50 -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: 2249d11b-fbbc-11ee-b909-491648fe20b8
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=Zov7P26ovoeyz12WpNWta0tTBMaGMTqH9ir2jv5nGU8=; b=BVpW
	s5Fn0VKS4FkDq+TxfFi26d+8QhJ4OCqBuMdnjNUQ8HiBe0QSL7YBS2blU4fZrq9k
	VDiKaObLGrrMC1RKjQAX1wkVK+o5DkzSy/akmgajKlf3KEhZ0uXY6LFiFzIylKoX
	f2YBrxZ3PjgA+XGMFzhcQybFjNPmIj62iXab4g0=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 10/15] x86/domain: guard svm specific functions with CONFIG_SVM
Date: Tue, 16 Apr 2024 09:39:47 +0300
Message-Id: <20240416063947.3469718-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 201CACFA-FBBC-11EE-8CD0-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

The functions svm_load_segs() and svm_load_segs_prefetch() are AMD-V spec=
ific
so guard their calls in common code with CONFIG_SVM.

Since SVM depends on HVM, it can be used alone.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/domain.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 33a2830d9d..e10e453aa1 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1702,11 +1702,10 @@ static void load_segments(struct vcpu *n)
         if ( !(n->arch.flags & TF_kernel_mode) )
             SWAP(gsb, gss);
=20
-#ifdef CONFIG_HVM
-        if ( cpu_has_svm && (uregs->fs | uregs->gs) <=3D 3 )
+        if ( IS_ENABLED(CONFIG_SVM) && cpu_has_svm &&
+             (uregs->fs | uregs->gs) <=3D 3 )
             fs_gs_done =3D svm_load_segs(n->arch.pv.ldt_ents, LDT_VIRT_S=
TART(n),
                                        n->arch.pv.fs_base, gsb, gss);
-#endif
     }
=20
     if ( !fs_gs_done )
@@ -2019,11 +2018,10 @@ static void __context_switch(void)
=20
     write_ptbase(n);
=20
-#if defined(CONFIG_PV) && defined(CONFIG_HVM)
     /* Prefetch the VMCB if we expect to use it later in the context swi=
tch */
-    if ( cpu_has_svm && is_pv_64bit_domain(nd) && !is_idle_domain(nd) )
+    if ( IS_ENABLED(CONFIG_PV) && IS_ENABLED(CONFIG_SVM) &&
+         cpu_has_svm && is_pv_64bit_domain(nd) && !is_idle_domain(nd) )
         svm_load_segs_prefetch();
-#endif
=20
     if ( need_full_gdt(nd) && !per_cpu(full_gdt_loaded, cpu) )
         load_full_gdt(n, cpu);
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:42:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:42:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706651.1103935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcW6-0000TI-Ql; Tue, 16 Apr 2024 06:42:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706651.1103935; Tue, 16 Apr 2024 06: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 1rwcW6-0000TB-Nf; Tue, 16 Apr 2024 06:42:06 +0000
Received: by outflank-mailman (input) for mailman id 706651;
 Tue, 16 Apr 2024 06:42:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcW5-0000T0-62
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:42:05 +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 6f1314a8-fbbc-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:42:04 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 92CCF1D09FA;
 Tue, 16 Apr 2024 02:42:02 -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 8893B1D09F9;
 Tue, 16 Apr 2024 02:42:02 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 5F7661D09F7;
 Tue, 16 Apr 2024 02:42: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: 6f1314a8-fbbc-11ee-b909-491648fe20b8
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=/ajn3Y23Ptep8PMnKlNl2X5WfquTjK0FGfT5lFyKeSU=; b=H51W
	XchhICvzFeR/uw4+9dZNAuizDXUoZJYKW02/V5+qp8Gjg/TsCTncsBvhw51yX472
	Oyhh6M8zkezReYB1Cl2K8uiciuwxKO4mc5JugWBR+tictwacIpI65mmecm4h55Cs
	j59bwE8GKplbK5PBamJId2W20SxlbZrhWnNdxRA=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 11/15] x86/oprofile: guard svm specific symbols with CONFIG_SVM
Date: Tue, 16 Apr 2024 09:41:53 +0300
Message-Id: <20240416064153.3469836-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 6E156D0C-FBBC-11EE-A0B3-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

The symbol svm_stgi_label is AMD-V specific so guard its usage in common =
code
with CONFIG_SVM.

Since SVM depends on HVM, it can be used alone.
Also, use #ifdef instead of #if.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/oprofile/op_model_athlon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/oprofile/op_model_athlon.c b/xen/arch/x86/oprof=
ile/op_model_athlon.c
index 69fd3fcc86..a9c7b87d67 100644
--- a/xen/arch/x86/oprofile/op_model_athlon.c
+++ b/xen/arch/x86/oprofile/op_model_athlon.c
@@ -320,7 +320,7 @@ static int cf_check athlon_check_ctrs(
 	struct vcpu *v =3D current;
 	unsigned int const nr_ctrs =3D model->num_counters;
=20
-#if CONFIG_HVM
+#ifdef CONFIG_SVM
 	struct cpu_user_regs *guest_regs =3D guest_cpu_user_regs();
=20
 	if (!guest_mode(regs) &&
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:44:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:44:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706656.1103945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcY7-0001Xu-9r; Tue, 16 Apr 2024 06:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706656.1103945; Tue, 16 Apr 2024 06: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 1rwcY7-0001Xn-6u; Tue, 16 Apr 2024 06:44:11 +0000
Received: by outflank-mailman (input) for mailman id 706656;
 Tue, 16 Apr 2024 06: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcY6-0001WR-0p
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:44:10 +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 b8a60b5e-fbbc-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:44:07 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 50C931D0A19;
 Tue, 16 Apr 2024 02:44:06 -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 47E661D0A18;
 Tue, 16 Apr 2024 02:44:06 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 AD61A1D0A16;
 Tue, 16 Apr 2024 02:44:04 -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: b8a60b5e-fbbc-11ee-94a3-07e782e9044d
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=/uREAnj7xyFJAn9t5tyenZ0Ga3osS5TtM/XEUFZgq9E=; b=FCff
	Z3V7kiluft6lCJ2isGbY/1lJ/h+y7judJJfBQqI5ZpipjRsLoTKmIyouhvAIBIqM
	Ztyb1g2nseUcOaSZ252VLb6PES0yr0pvrXBH1Q+3kcFtO+c4v4WUVXqKemGW7hES
	XP6E2U67qsh0xsPuPkTbwOaCvk9YADE3p9qVbJg=
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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 12/15] x86/vmx: introduce helper function for vmcs macro
Date: Tue, 16 Apr 2024 09:44:02 +0300
Message-Id: <20240416064402.3469959-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 B791BC6A-FBBC-11EE-A9C4-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Instead of directly accessing control variables from vmcs macros let
intermediate helper routine vmx_ctrl_has_feature() do it. This way
we can turn all the VMX-related macros off, if building for non VT-d plat=
form,
by tweaking only a single helper's function behaviour.

No functional change intended.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 89 ++++++++++++++++---------
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  | 28 +++++---
 2 files changed, 74 insertions(+), 43 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/inclu=
de/asm/hvm/vmx/vmcs.h
index a7dd2eeffc..fd197e2603 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -287,6 +287,11 @@ extern uint64_t vmx_tertiary_exec_control;
 #define VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL 0x80000000000UL=
L
 extern u64 vmx_ept_vpid_cap;
=20
+static inline bool vmx_ctrl_has_feature(uint64_t control, unsigned long =
feature)
+{
+    return control & feature;
+}
+
 #define VMX_MISC_ACTIVITY_MASK                  0x000001c0
 #define VMX_MISC_PROC_TRACE                     0x00004000
 #define VMX_MISC_CR3_TARGET                     0x01ff0000
@@ -295,69 +300,89 @@ extern u64 vmx_ept_vpid_cap;
 #define VMX_TSC_MULTIPLIER_MAX                  0xffffffffffffffffULL
=20
 #define cpu_has_wbinvd_exiting \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_WBINVD_EXITING)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_WBINVD_EXITING)
 #define cpu_has_vmx_virtualize_apic_accesses \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSE=
S)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control,\
+                         SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES)
 #define cpu_has_vmx_tpr_shadow \
-    (vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW)
+    vmx_ctrl_has_feature(vmx_cpu_based_exec_control, CPU_BASED_TPR_SHADO=
W)
 #define cpu_has_vmx_vnmi \
-    (vmx_pin_based_exec_control & PIN_BASED_VIRTUAL_NMIS)
+    vmx_ctrl_has_feature(vmx_pin_based_exec_control, PIN_BASED_VIRTUAL_N=
MIS)
 #define cpu_has_vmx_msr_bitmap \
-    (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_MSR_BITMAP)
+    vmx_ctrl_has_feature(vmx_cpu_based_exec_control, \
+                         CPU_BASED_ACTIVATE_MSR_BITMAP)
 #define cpu_has_vmx_secondary_exec_control \
-    (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
+    vmx_ctrl_has_feature(vmx_cpu_based_exec_control, \
+                         CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
 #define cpu_has_vmx_tertiary_exec_control \
-    (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_TERTIARY_CONTROLS)
+    vmx_ctrl_has_feature(vmx_cpu_based_exec_control, \
+                         CPU_BASED_ACTIVATE_TERTIARY_CONTROLS)
 #define cpu_has_vmx_ept \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, SECONDARY_EXEC_ENAB=
LE_EPT)
 #define cpu_has_vmx_dt_exiting \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITIN=
G)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING)
 #define cpu_has_vmx_rdtscp \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_RDTSCP)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_ENABLE_RDTSCP)
 #define cpu_has_vmx_vpid \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VPID)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_ENABLE_VPID)
 #define cpu_has_monitor_trap_flag \
-    (vmx_cpu_based_exec_control & CPU_BASED_MONITOR_TRAP_FLAG)
+    vmx_ctrl_has_feature(vmx_cpu_based_exec_control, \
+                         CPU_BASED_MONITOR_TRAP_FLAG)
 #define cpu_has_vmx_pat \
-    (vmx_vmentry_control & VM_ENTRY_LOAD_GUEST_PAT)
+    vmx_ctrl_has_feature(vmx_vmentry_control, VM_ENTRY_LOAD_GUEST_PAT)
 #define cpu_has_vmx_efer \
-    (vmx_vmentry_control & VM_ENTRY_LOAD_GUEST_EFER)
+    vmx_ctrl_has_feature(vmx_vmentry_control, VM_ENTRY_LOAD_GUEST_EFER)
 #define cpu_has_vmx_unrestricted_guest \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_UNRESTRICTED_GUEST)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_UNRESTRICTED_GUEST)
 #define vmx_unrestricted_guest(v)               \
     ((v)->arch.hvm.vmx.secondary_exec_control & \
      SECONDARY_EXEC_UNRESTRICTED_GUEST)
 #define cpu_has_vmx_ple \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_PAUSE_LOOP_EXITING)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_PAUSE_LOOP_EXITING)
 #define cpu_has_vmx_invpcid \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_INVPCID)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_ENABLE_INVPCID)
 #define cpu_has_vmx_apic_reg_virt \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_APIC_REGISTER_VIRT)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_APIC_REGISTER_VIRT)
 #define cpu_has_vmx_virtual_intr_delivery \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY)
 #define cpu_has_vmx_virtualize_x2apic_mode \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)
 #define cpu_has_vmx_posted_intr_processing \
-    (vmx_pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT)
+    vmx_ctrl_has_feature(vmx_pin_based_exec_control, PIN_BASED_POSTED_IN=
TERRUPT)
 #define cpu_has_vmx_vmcs_shadowing \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VMCS_SHADOWING)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_ENABLE_VMCS_SHADOWING)
 #define cpu_has_vmx_vmfunc \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_ENABLE_VM_FUNCTIONS)
 #define cpu_has_vmx_virt_exceptions \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS)
 #define cpu_has_vmx_pml \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_PML)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, SECONDARY_EXEC_ENAB=
LE_PML)
 #define cpu_has_vmx_mpx \
-    ((vmx_vmexit_control & VM_EXIT_CLEAR_BNDCFGS) && \
-     (vmx_vmentry_control & VM_ENTRY_LOAD_BNDCFGS))
+    (vmx_ctrl_has_feature(vmx_vmexit_control, VM_EXIT_CLEAR_BNDCFGS) && =
\
+     vmx_ctrl_has_feature(vmx_vmentry_control, VM_ENTRY_LOAD_BNDCFGS))
 #define cpu_has_vmx_xsaves \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_XSAVES)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, SECONDARY_EXEC_XSAV=
ES)
 #define cpu_has_vmx_tsc_scaling \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_TSC_SCALING)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, SECONDARY_EXEC_TSC_=
SCALING)
 #define cpu_has_vmx_bus_lock_detection \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_BUS_LOCK_DETECTION)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_BUS_LOCK_DETECTION)
 #define cpu_has_vmx_notify_vm_exiting \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
+    vmx_ctrl_has_feature(vmx_secondary_exec_control, \
+                         SECONDARY_EXEC_NOTIFY_VM_EXITING)
=20
 #define VMCS_RID_TYPE_MASK              0x80000000U
=20
@@ -381,7 +406,7 @@ extern u64 vmx_ept_vpid_cap;
=20
 extern u64 vmx_basic_msr;
 #define cpu_has_vmx_ins_outs_instr_info \
-    (!!(vmx_basic_msr & VMX_BASIC_INS_OUT_INFO))
+    (!!vmx_ctrl_has_feature(vmx_basic_msr, VMX_BASIC_INS_OUT_INFO))
=20
 /* Guest interrupt status */
 #define VMX_GUEST_INTR_STATUS_SUBFIELD_BITMASK  0x0FF
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/includ=
e/asm/hvm/vmx/vmx.h
index 8ffab7d94c..587772dc51 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -279,17 +279,22 @@ typedef union cr_access_qual {
 extern uint8_t posted_intr_vector;
=20
 #define cpu_has_vmx_ept_exec_only_supported        \
-    (vmx_ept_vpid_cap & VMX_EPT_EXEC_ONLY_SUPPORTED)
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_EXEC_ONLY_SUPPORTED)
=20
 #define cpu_has_vmx_ept_wl4_supported           \
-    (vmx_ept_vpid_cap & VMX_EPT_WALK_LENGTH_4_SUPPORTED)
-#define cpu_has_vmx_ept_mt_uc (vmx_ept_vpid_cap & VMX_EPT_MEMORY_TYPE_UC=
)
-#define cpu_has_vmx_ept_mt_wb (vmx_ept_vpid_cap & VMX_EPT_MEMORY_TYPE_WB=
)
-#define cpu_has_vmx_ept_2mb   (vmx_ept_vpid_cap & VMX_EPT_SUPERPAGE_2MB)
-#define cpu_has_vmx_ept_1gb   (vmx_ept_vpid_cap & VMX_EPT_SUPERPAGE_1GB)
-#define cpu_has_vmx_ept_ad    (vmx_ept_vpid_cap & VMX_EPT_AD_BIT)
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_WALK_LENGTH_4_SUPPORT=
ED)
+#define cpu_has_vmx_ept_mt_uc \
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_MEMORY_TYPE_UC)
+#define cpu_has_vmx_ept_mt_wb \
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_MEMORY_TYPE_WB)
+#define cpu_has_vmx_ept_2mb \
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_SUPERPAGE_2MB)
+#define cpu_has_vmx_ept_1gb \
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_SUPERPAGE_1GB)
+#define cpu_has_vmx_ept_ad \
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_AD_BIT)
 #define cpu_has_vmx_ept_invept_single_context   \
-    (vmx_ept_vpid_cap & VMX_EPT_INVEPT_SINGLE_CONTEXT)
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_EPT_INVEPT_SINGLE_CONTEXT=
)
=20
 #define EPT_2MB_SHIFT     16
 #define EPT_1GB_SHIFT     17
@@ -300,11 +305,12 @@ extern uint8_t posted_intr_vector;
 #define INVEPT_ALL_CONTEXT      2
=20
 #define cpu_has_vmx_vpid_invvpid_individual_addr                    \
-    (vmx_ept_vpid_cap & VMX_VPID_INVVPID_INDIVIDUAL_ADDR)
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_VPID_INVVPID_INDIVIDUAL_A=
DDR)
 #define cpu_has_vmx_vpid_invvpid_single_context                     \
-    (vmx_ept_vpid_cap & VMX_VPID_INVVPID_SINGLE_CONTEXT)
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, VMX_VPID_INVVPID_SINGLE_CONTE=
XT)
 #define cpu_has_vmx_vpid_invvpid_single_context_retaining_global    \
-    (vmx_ept_vpid_cap & VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL=
)
+    vmx_ctrl_has_feature(vmx_ept_vpid_cap, \
+                         VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBA=
L)
=20
 #define INVVPID_INDIVIDUAL_ADDR                 0
 #define INVVPID_SINGLE_CONTEXT                  1
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:46:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706661.1103955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwca5-0003K9-L2; Tue, 16 Apr 2024 06:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706661.1103955; Tue, 16 Apr 2024 06: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 1rwca5-0003K2-IB; Tue, 16 Apr 2024 06:46:13 +0000
Received: by outflank-mailman (input) for mailman id 706661;
 Tue, 16 Apr 2024 06:46:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwca4-0003Jw-5T
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:46:12 +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 01f140a4-fbbd-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:46:10 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 37F031D0A31;
 Tue, 16 Apr 2024 02:46:09 -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 2FD301D0A30;
 Tue, 16 Apr 2024 02:46:09 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 495981D0A2F;
 Tue, 16 Apr 2024 02:46:08 -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: 01f140a4-fbbd-11ee-94a3-07e782e9044d
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=KaEzanhccZjO7IvRYu+AvlrfcyDTCZszIXSID2e2aqc=; b=o1Yd
	N2xvtIDjh0Zts+MV4iuAFUTOxCRn6dUcNNwWVWW8c8dWjRdQx01jkhWWiRhkK8W0
	CaYvUjgqYrH7AtrjCKeEp9WpRGdl6hJbxQPK5okWuo54ocaZB8+lmrX4hYg5XITN
	hQFa1IGPx5GGe6GHeGLjlWZzBtCAwfZDbp0lwL8=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 13/15] x86: wire cpu_has_{svm/vmx}_* to false when svm/vmx not enabled
Date: Tue, 16 Apr 2024 09:46:06 +0300
Message-Id: <20240416064606.3470052-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 013B9CD2-FBBD-11EE-8A6E-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

To be able to use cpu_has_{svm/vmx}_* macros in common code without enclo=
sing
them inside #ifdef guards when the respective virtualization technology i=
s
not enabled, define corresponding helper routines as false when not appli=
cable.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/include/asm/hvm/svm/svm.h  | 8 ++++++++
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 7 +++++++
 2 files changed, 15 insertions(+)

diff --git a/xen/arch/x86/include/asm/hvm/svm/svm.h b/xen/arch/x86/includ=
e/asm/hvm/svm/svm.h
index 4eeeb25da9..7e8cdb4a27 100644
--- a/xen/arch/x86/include/asm/hvm/svm/svm.h
+++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
@@ -38,10 +38,18 @@ extern u32 svm_feature_flags;
 #define SVM_FEATURE_SSS           19 /* NPT Supervisor Shadow Stacks */
 #define SVM_FEATURE_SPEC_CTRL     20 /* MSR_SPEC_CTRL virtualisation */
=20
+#ifdef CONFIG_SVM
 static inline bool cpu_has_svm_feature(unsigned int feat)
 {
     return svm_feature_flags & (1u << feat);
 }
+#else
+static inline bool cpu_has_svm_feature(unsigned int feat)
+{
+    return false;
+}
+#endif
+
 #define cpu_has_svm_npt       cpu_has_svm_feature(SVM_FEATURE_NPT)
 #define cpu_has_svm_lbrv      cpu_has_svm_feature(SVM_FEATURE_LBRV)
 #define cpu_has_svm_svml      cpu_has_svm_feature(SVM_FEATURE_SVML)
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/inclu=
de/asm/hvm/vmx/vmcs.h
index fd197e2603..2d927d3100 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -287,10 +287,17 @@ extern uint64_t vmx_tertiary_exec_control;
 #define VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL 0x80000000000UL=
L
 extern u64 vmx_ept_vpid_cap;
=20
+#ifdef CONFIG_VMX
 static inline bool vmx_ctrl_has_feature(uint64_t control, unsigned long =
feature)
 {
     return control & feature;
 }
+#else
+static inline bool vmx_ctrl_has_feature(uint64_t control, unsigned long =
feature)
+{
+    return false;
+}
+#endif
=20
 #define VMX_MISC_ACTIVITY_MASK                  0x000001c0
 #define VMX_MISC_PROC_TRACE                     0x00004000
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:48:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706666.1103965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcc3-0003u4-0K; Tue, 16 Apr 2024 06:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706666.1103965; Tue, 16 Apr 2024 06: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 1rwcc2-0003tx-Sd; Tue, 16 Apr 2024 06:48:14 +0000
Received: by outflank-mailman (input) for mailman id 706666;
 Tue, 16 Apr 2024 06:48:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwcc2-0003tr-19
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:48: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 4b473517-fbbd-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:48:13 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 17C7B1D0A90;
 Tue, 16 Apr 2024 02:48:12 -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 ED29B1D0A8F;
 Tue, 16 Apr 2024 02:48:11 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 4D6401D0A8E;
 Tue, 16 Apr 2024 02:48: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: 4b473517-fbbd-11ee-b909-491648fe20b8
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=rJcfhoO3HyeAGJ2fKAISiP6yxeb4xPfPNnImBL6CMFY=; b=BfZO
	mIY8TRI7WBIofuwIMB20QkXLnVeBqzdmyUi8MtCpB505WKPFxUHFlU49UJVgGm9k
	w7qHtfyZvTViGkAcBYCBi3t9TlJuqYVLGi7dzWfbcxhiP+GwqN5GraHjqSaWlaUW
	YCvfkTgFq98jvdoggtmNwGsTUgsbQ81pJDOOsRE=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 14/15] x86/ioreq: guard VIO_realmode_completion with CONFIG_VMX
Date: Tue, 16 Apr 2024 09:48:09 +0300
Message-Id: <20240416064809.3470155-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 4A8EDC8C-FBBD-11EE-840E-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

VIO_realmode_completion is specific to vmx realmode, so guard the complet=
ion
handling code with CONFIG_VMX. Also, guard VIO_realmode_completion itself=
 by
CONFIG_VMX, instead of generic CONFIG_X86.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/hvm/emulate.c | 2 ++
 xen/arch/x86/hvm/ioreq.c   | 2 ++
 xen/include/xen/sched.h    | 2 +-
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index ab1bc51683..d60b1f6f4d 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2667,7 +2667,9 @@ static int _hvm_emulate_one(struct hvm_emulate_ctxt=
 *hvmemul_ctxt,
         break;
=20
     case VIO_mmio_completion:
+#ifdef CONFIG_VMX
     case VIO_realmode_completion:
+#endif
         BUILD_BUG_ON(sizeof(hvio->mmio_insn) < sizeof(hvmemul_ctxt->insn=
_buf));
         hvio->mmio_insn_bytes =3D hvmemul_ctxt->insn_buf_bytes;
         memcpy(hvio->mmio_insn, hvmemul_ctxt->insn_buf, hvio->mmio_insn_=
bytes);
diff --git a/xen/arch/x86/hvm/ioreq.c b/xen/arch/x86/hvm/ioreq.c
index 4eb7a70182..b37bbd660b 100644
--- a/xen/arch/x86/hvm/ioreq.c
+++ b/xen/arch/x86/hvm/ioreq.c
@@ -33,6 +33,7 @@ bool arch_vcpu_ioreq_completion(enum vio_completion com=
pletion)
 {
     switch ( completion )
     {
+#ifdef CONFIG_VMX
     case VIO_realmode_completion:
     {
         struct hvm_emulate_ctxt ctxt;
@@ -43,6 +44,7 @@ bool arch_vcpu_ioreq_completion(enum vio_completion com=
pletion)
=20
         break;
     }
+#endif
=20
     default:
         ASSERT_UNREACHABLE();
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 132b841995..50a58fe428 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -152,7 +152,7 @@ enum vio_completion {
     VIO_no_completion,
     VIO_mmio_completion,
     VIO_pio_completion,
-#ifdef CONFIG_X86
+#ifdef CONFIG_VMX
     VIO_realmode_completion,
 #endif
 };
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:49:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:49:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706671.1103975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcd8-0004Q7-84; Tue, 16 Apr 2024 06:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706671.1103975; Tue, 16 Apr 2024 06: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 1rwcd8-0004Q0-5N; Tue, 16 Apr 2024 06:49:22 +0000
Received: by outflank-mailman (input) for mailman id 706671;
 Tue, 16 Apr 2024 06:49:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=f57D=LV=nxp.com=peng.fan@srs-se1.protection.inumbo.net>)
 id 1rwcd6-0004Pu-ID
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:49:20 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7256bac4-fbbd-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 08:49:18 +0200 (CEST)
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11)
 by AS5PR04MB9770.eurprd04.prod.outlook.com (2603:10a6:20b:654::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 06:48:49 +0000
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 06:48:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7256bac4-fbbd-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UZc2XsUTolMeFdm7mJ8Cw2hm4RdFc6E6PYZp9e6DoDrJIg9aXsP8tpVSwucOIqP9Di4s02iYPZd2OxJMJ/Yapw4LT1Ju7myvZZbMAajav15SpwMZ+m7SyPz4GRtDXUtgm4D1NmQmGAzExZlNgLD9uCOyPCS4fR8rB1GBp06+uOzEaAksE+yEokDW6GZDtWeVo13qmVQpd6fxtkMe5HMa/zYFoHdf8pu1OAlo67fAZdTN7x7SG48/p7cluf4uR6n+pvAobtrRCYwGOsR41OzVFUFWUBkcPkQrikuuj1060QWdOb/T8/MP1e4V3+iL1Iouc9mguT3FDlWIP4XwRtpiLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vVPmUrErM2O1e52v870PdwafOgkQsL5a1t3vugd1KR8=;
 b=LczDmwWfFgzDge8/yzmp8/8dFwMVY7mv0zSQDsfEbGcvMCIDoGIZs0+pQV4DIq+HK7DEl2OHSiW3ZW9DCM/+a6IeF8GLe8ygiDfYRZlRBatz4MIufTwsRMQ6BO6oQPFOdNz3vUZmrnbDiL+orA1h09fym6EPUJML3hxNbZ1PhQx6lJr4jn4iSFu+YHk9nD3M1rYhJXCSHIgufEF6XA/QtZNv8qPYFS3S3ow6DoNxQ5RxadBABNHLwG4KzbDfPP3pwpxO8DZR5uIc+NTjpKGtT/MBcCN1/K0rCB10JbtnTYgYa9j+welklnd48pkumYBmbvz+z+H4od+cJYYfa8+IYw==
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=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vVPmUrErM2O1e52v870PdwafOgkQsL5a1t3vugd1KR8=;
 b=JPhSA/UkCP9iXPdV1qn5LOyXuIFcJ8A0+2JXd96D6DrtaofADoYdd4BQQ9mfiQCIL3Wxn6FQWkqS4bqkpUBIYf6lLwa8XKTDveYy0aBtgxL8DL4pR9fMiEz2bTHuzm7l786O2WuuUPGV0LgpmWXi3S4BQ/XOZf7WerlSPnAglBg=
From: Peng Fan <peng.fan@nxp.com>
To: Julien Grall <julien@xen.org>, John Ernberg <john.ernberg@actia.se>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"conduct@xenproject.org" <conduct@xenproject.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jonas
 Blixt <jonas.blixt@actia.se>
Subject: RE: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Topic: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
Thread-Index:
 AQHaic9tXQJwwldfJUm8+1aRDWuvfLFpKuoAgAAGzoCAAAPWgIAAA9MAgAAIzQCAAT4dEA==
Date: Tue, 16 Apr 2024 06:48:49 +0000
Message-ID:
 <DU0PR04MB9417A835B5D04517CC11500788082@DU0PR04MB9417.eurprd04.prod.outlook.com>
References: <20240408161129.900347-1-john.ernberg@actia.se>
 <20240408161129.900347-2-john.ernberg@actia.se>
 <084b9ed5-1585-4802-b504-6ccd2f262542@xen.org>
 <69dcd768-74b8-4033-8ab3-77848d6774dc@citrix.com>
 <4b39f4fa-246d-479e-ab76-ff234b641703@xen.org>
 <e3785d8a-9b16-4b74-9453-b0166bdbb171@actia.se>
 <1272bb77-8a93-4ca2-af0d-4c1c36729307@xen.org>
In-Reply-To: <1272bb77-8a93-4ca2-af0d-4c1c36729307@xen.org>
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: DU0PR04MB9417:EE_|AS5PR04MB9770:EE_
x-ms-office365-filtering-correlation-id: 9d093eba-09f7-4265-e570-08dc5de1454b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ckOOM2bwQ8OgzZp4ozMtuPutOQ/8qIeIaoB/IRatVGFPNj2zqTs1uKjtmd0KkCN2POcbH06M6WMErCCxO30onNs2u7fyTrIrgxeqY2VO9rSCO8xHaEfVQYiDe42CyJpOcCcr0r+3PGXJkidg1YUAL6FMJwotlnvCgTRjMUTAtW2RbwgaV6NpuAjoiBTqayTyw49hOOfTmnKCanCMQ5d1sZmWlhl0SejNKZQcBVnt9yCDwlb7eILpTN5kBQ+nJkDHi/guCQpExNYdo347JZyXPVc/tAxviz3JTh36Lg3HZ16A0xBs8lsYGS6Odo2SND63hFAbJFcZyh2oTP+XHGRNHhBudCV+JSn2PRA7YyVDjZRtMk9p99zdTI/+jShJHA/W+Gv9QGRRzcyH+Mh/0YdWU7EtpPp19BKZj1cWN8V4kRcuz5rT4iNVmniwBmgYu+kgOzgVWKUaGaeMs4DkxqhJgtVc5Ek0tB4PeZP7i0hHMFWcNS5AkgYJNZZAg8MaSOV1KgRwLEJ6EtGHDy3QeeqET/ZaGJOK4Jr9i4H/GWhvFaMta/X+qHwQpxzIrRT5cEQ3moGPAnVXkyLo4j6c7gXuahp/fo4KXiZqpnfnNWCs2GJy8xx79KF7QTPXwJ5yZhwInN0ug6RLtAX7IrcL8Fr8UXkOeKtjiDkm32iiYj1+iX0=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(366007)(376005)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?jblOd0uy257ifqRkvL7uiUH6U89rS68Sp4+evKB3xS5fG6anilWPDtonyu?=
 =?iso-8859-1?Q?as9EBRYqQJdqZg/4ZS8P+AbiLNd96dLgqiFxqYgAWjL6AYXEo7bo3rivd/?=
 =?iso-8859-1?Q?TOJwEV4IRBpJUpw4zX2SbWNl6i4OLd6uTTEUU4COY28lZlmPcJErXynzfY?=
 =?iso-8859-1?Q?WSTYrBi7uVwcjaR6Ognrhg2wCS5r2bARnzZU79ZQH6iJ+toi8/WvWhjp37?=
 =?iso-8859-1?Q?3Euo/702GZAomRRk1Zv/BPI16vu/i5xsqoXhsMAQV/o9oBEo9LZ6P+ZgNA?=
 =?iso-8859-1?Q?kR0HaTKf9gXFreeDeqqRtI9vkuFvkGnhUVHaaAENAmXEoGyKdVrezUiks2?=
 =?iso-8859-1?Q?jcvbMiKQp5kQSFZr28/Hgn/wDfVridCaLWosT+7khEVZBMBloJGngc5yZp?=
 =?iso-8859-1?Q?wViwlfqEcjfN9i9zAqwCdnFRFL+QwPev8XcEVlhop4vHcfT/BSltu2BSqv?=
 =?iso-8859-1?Q?LNsEcQlAI1voGmTP/lF80aqczPo22G035JuQhrhkttuXOMcFe3Fe27VD3/?=
 =?iso-8859-1?Q?1ZwzyXDlMLF4E+797Mw4h89KclKHs0wP/f8B3ZjnZl7gCX4mhIj2+Mb/aC?=
 =?iso-8859-1?Q?kyCV0LkLj0rfscVLD+vgPMF4AbHG0IjA0XONm5vKqz8iYtJB5s6EaYxVRV?=
 =?iso-8859-1?Q?SXzL07ml7132+bUvI1xv6j6+9Z3Ur96CMAlXR5Gp5przGF5ZaCVsaRMlrG?=
 =?iso-8859-1?Q?/xu+LoyUB28RK2gGWmZFI9PP8kCa0ISfpQPu1dzU8zvZUGg6sjO5QJbYRq?=
 =?iso-8859-1?Q?ICuiJcEv/RO+dDOw4FkqlR7IInP5c53tKpbn7Gw2PhYgwd5T1BjVrLtCWX?=
 =?iso-8859-1?Q?3KU4MX74qTJIHenXEPTF/RwLQQn/xCaZmyqW5coh1WLI48ZljxepF9ckDX?=
 =?iso-8859-1?Q?B3ifaA43SiNHDhRhnl2Eqhi0imj03mInYinNgvgtWeTQ6cVBrWxlbSe3qm?=
 =?iso-8859-1?Q?t9jSFtPHd35lZ7ovGq7ruRlA1kC7tMcXjL1ZmWedrNUgMboHeRy6CP/Iy9?=
 =?iso-8859-1?Q?8qOdEyHK7C5SwbelyLgt0H6AZ5qE1EdlGHBrI9274Z5x/XgNHSv5zpR4ho?=
 =?iso-8859-1?Q?if9SNk1CTu2Se2bP/4xTZDXfPHCzTO1Wa21pZTCqjevQVT3nQnZFxToO3m?=
 =?iso-8859-1?Q?XDZhAiZRjRgzuL42S1s09jtGkYpc2j9jAE+c0o67abkolrImZ9Oc7O1EbO?=
 =?iso-8859-1?Q?QbtZ6e27O2ABY1blitw88+AU1U1UsAHg/J6migdlJ1ITv4IblbJhIprSge?=
 =?iso-8859-1?Q?TpNrdLpdLHSv5iQg6ByJO9WKR/whQ9YP+63MiioivaJITkAFWJG2/n6Zfe?=
 =?iso-8859-1?Q?XuIhHaz9JAzKSqc+/JIgEEHSJmnYxwZD9+fVMFXUJ7KHUEvWYclyYVO12J?=
 =?iso-8859-1?Q?1CgsAZumTrJNSW76Pnzv6A/NbRDW2+x3VhJMhRei9UKq0l9ajY9PQ9+M7Z?=
 =?iso-8859-1?Q?2Hzx0NNgjy/BuTmN81Pr3bVPJ3R/nLpk+GTWSUuymal0WFVmBfnddOzfH8?=
 =?iso-8859-1?Q?gtKtZKDQzKCi4q6JOqmwigpph+HVHRfcfUiRmS2pFHr7Zl5StK00sLTSZ6?=
 =?iso-8859-1?Q?exHo4OcOrsLl3J4DYNKabvwH1tvGqSzZFD3EkLf1tgQzE+/zAl2GwNShA0?=
 =?iso-8859-1?Q?9Gjf6qpkTLOmY=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d093eba-09f7-4265-e570-08dc5de1454b
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2024 06:48:49.0880
 (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: /NBkSL4Kxtxt3CelCM+InDvRHbwgKmntz21SARpqJ5Y+mVwspqmWm2oBm133Ur/NRIs9DkpLwx2joVEsaSr26w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9770

Hi Julien, John,

> Subject: Re: [PATCH v4 1/3] xen/arm: Add imx8q{m,x} platform glue
>
> Hi John,
>
> On 15/04/2024 12:17, John Ernberg wrote:
> > Hi Julien,
> >
> > On 4/15/24 1:03 PM, Julien Grall wrote:
> >>
> >>
> >> On 15/04/2024 11:50, Andrew Cooper wrote:
> >>> On 15/04/2024 11:25 am, Julien Grall wrote:
> >>>> Hi John,
> >>>>
> >>>> I saw this patch was committed. I have one question this may
> >>>> require some adjustment.
> >>>>
> >>>> On 08/04/2024 17:11, John Ernberg wrote:
> >>>>> ---
> >>>>>     xen/arch/arm/platforms/Makefile |   1 +
> >>>>>     xen/arch/arm/platforms/imx8qm.c | 139
> >>>>> ++++++++++++++++++++++++++++++++
> >>>>>     2 files changed, 140 insertions(+)
> >>>>>     create mode 100644 xen/arch/arm/platforms/imx8qm.c
> >>>>>
> >>>>> diff --git a/xen/arch/arm/platforms/Makefile
> >>>>> b/xen/arch/arm/platforms/Makefile index 8632f4115f..bec6e55d1f
> >>>>> 100644
> >>>>> --- a/xen/arch/arm/platforms/Makefile
> >>>>> +++ b/xen/arch/arm/platforms/Makefile
> >>>>> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   +=3D sunxi.o
> >>>>>     obj-$(CONFIG_ALL64_PLAT) +=3D thunderx.o
> >>>>>     obj-$(CONFIG_ALL64_PLAT) +=3D xgene-storm.o
> >>>>>     obj-$(CONFIG_ALL64_PLAT) +=3D brcm-raspberry-pi.o
> >>>>> +obj-$(CONFIG_ALL64_PLAT) +=3D imx8qm.o
> >>>>>     obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp.o
> >>>>>     obj-$(CONFIG_MPSOC_PLATFORM)  +=3D xilinx-zynqmp-eemi.o diff
> >>>>> --git a/xen/arch/arm/platforms/imx8qm.c
> >>>>> b/xen/arch/arm/platforms/imx8qm.c new file mode 100644 index
> >>>>> 0000000000..3600a073e8
> >>>>> --- /dev/null
> >>>>> +++ b/xen/arch/arm/platforms/imx8qm.c
> >>>>> @@ -0,0 +1,139 @@
> >>>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> >>>>
> >>>> The majority of Xen code is using GPL-2.0-only. In the early days
> >>>> for Xen on Arm we started to use GPLv2+ which I consider it was a
> mistake.
> >>>> Unfortunately this started to spread as people copied/pasted the
> >>>> same copyright headers.
> >>>>
> >>>> So can you confirm whether you intended to use GPL-2.0+? If not
> >>>> would you be able to send a patch to adjust it? (Better to it
> >>>> before there are more modifications).
> >>>
> >>> Julien: I've called you out multiple times before.
> >>
> >> And there are multiple thread explaining why I am requesting if we
> >> can use GPLv2-only. In fact from CONTRIBUTING:
> >>
> >> The recommended license of a directory will depend on the COPYING file=
.
> >> If the new file is using a different license, this should be
> >> highlighted and discussed in the commit message or cover letter
> >> introducing the file.
> >>
> >
> > Since part of the code was not written by me, but by Peng, I think
> > both of us need to agree to a license change if one is to be made.
>
> Ah I didn't realize that Peng also contributed. Let's wait if he is happy=
 with the
> change.

I am ok with the change.

Thanks,
Peng.
>
> Also, offline, I was pointed out that I could explain a little bit more w=
hy I
> asked if this could be changed. From [1]:
>
> "IIRC from past discussion there are two broads concern with GPLv2+:
>     - We are leaving the choice of which license applies to the person co=
pying
> the code. So if a new version is released that is less favorable to the i=
nitial
> contributor, then we have no leverage.
>     - Some companies are rather cautious to contribute code that may be
> licensed under GPLv3 (would be allowed with GPLv2+).
>
> The later is particularly a problem because not many people realize that =
a fair
> part of Xen on Arm is GPLv2+. I never really understood why we chose that
> (this was before my time) but this got spread as the existing copyright w=
as
> added to a new file. Admittely, the contributor should be more cautious. =
But I
> would not say this is trivial to spot the difference."
>
> Cheers,
>
> [1]
> https://lore.ke/
> rnel.org%2Fxen-devel%2Ff235f6f8-d585-4e24-7fc8-
> 3f2df9240c9d%40xen.org%2F&data=3D05%7C02%7Cpeng.fan%40nxp.com%7C
> 07ac104b960d476c349f08dc5d420db6%7C686ea1d3bc2b4c6fa92cd99c5c3
> 01635%7C0%7C0%7C638487785488861385%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D%7C0%7C%7C%7C&sdata=3Dd5RQJ8nek5a8Xgi%2B%2F9g3GqDL8CZmd3c
> O9EN6w57S9qE%3D&reserved=3D0
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 06:50:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 06:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706675.1103984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwce2-0005qh-L1; Tue, 16 Apr 2024 06:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706675.1103984; Tue, 16 Apr 2024 06: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 1rwce2-0005qa-IX; Tue, 16 Apr 2024 06:50:18 +0000
Received: by outflank-mailman (input) for mailman id 706675;
 Tue, 16 Apr 2024 06: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=uDI1=LV=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rwce0-0003tr-M7
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 06:50:16 +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 94915449-fbbd-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 08:50:16 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 4A5071D0AA6;
 Tue, 16 Apr 2024 02:50:15 -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 427231D0AA4;
 Tue, 16 Apr 2024 02:50:15 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 8E3A61D0AA3;
 Tue, 16 Apr 2024 02:50:14 -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: 94915449-fbbd-11ee-b909-491648fe20b8
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=73oB9cz+rgWGRmiSEPuj3snqYNDtbVDV4nr/Z0x8dhI=; b=rcyS
	Wvj70ZB752KV8xYG/QpWo3ROyuoxrE0D+TlIsXNauNbGy+1n9dT+phE2w1F+005H
	hFQV6EoSLnw8DRmdvY4inLaMLwUOKoyE21x0oyw/gid7go+HdMClyYTqMLHsmEtB
	+D6HP+XuYXA5DcWEm3/uKTsybRMUEJtLvEwpukk=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [XEN PATCH v1 15/15] x86/hvm: make AMD-V and Intel VT-x support configurable
Date: Tue, 16 Apr 2024 09:50:12 +0300
Message-Id: <20240416065012.3470263-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 9407D292-FBBD-11EE-B8B3-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Xenia Ragiadakou <burzalodowa@gmail.com>

Provide the user with configuration control over the cpu virtualization s=
upport
in Xen by making SVM and VMX options user selectable.

To preserve the current default behavior, both options depend on HVM and
default to Y.

To prevent users from unknowingly disabling virtualization support, make =
the
controls user selectable only if EXPERT is enabled.
Also make INTEL_IOMMU/AMD_IOMMU options dependant on VMX/SVM options.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig            | 18 ++++++++++++++++--
 xen/drivers/passthrough/Kconfig |  4 ++--
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6f06d3baa5..98a6f8d877 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -121,10 +121,24 @@ config HVM
 	  If unsure, say Y.
=20
 config SVM
-	def_bool y if HVM
+	bool "AMD-V" if EXPERT
+	depends on HVM
+	default y
+	help
+	  Enables virtual machine extensions on platforms that implement the
+	  AMD Virtualization Technology (AMD-V).
+	  If your system includes a processor with AMD-V support, say Y.
+	  If in doubt, say Y.
=20
 config VMX
-	def_bool y if HVM
+	bool "Intel VT-x" if EXPERT
+	depends on HVM
+	default y
+	help
+	  Enables virtual machine extensions on platforms that implement the
+	  Intel Virtualization Technology (Intel VT-x).
+	  If your system includes a processor with Intel VT-x support, say Y.
+	  If in doubt, say Y.
=20
 config XEN_SHSTK
 	bool "Supervisor Shadow Stacks"
diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kc=
onfig
index 864fcf3b0c..5f53639c2d 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -39,7 +39,7 @@ endif
=20
 config AMD_IOMMU
 	bool "AMD IOMMU" if EXPERT
-	depends on X86
+	depends on X86 && SVM
 	default y
 	help
 	  Enables I/O virtualization on platforms that implement the
@@ -51,7 +51,7 @@ config AMD_IOMMU
=20
 config INTEL_IOMMU
 	bool "Intel VT-d" if EXPERT
-	depends on X86
+	depends on X86 && VMX
 	default y
 	help
 	  Enables I/O virtualization on platforms that implement the
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 07:11:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 07:11:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706687.1104001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwcyr-0004NS-FP; Tue, 16 Apr 2024 07:11:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706687.1104001; Tue, 16 Apr 2024 07: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 1rwcyr-0004NL-Cg; Tue, 16 Apr 2024 07:11:49 +0000
Received: by outflank-mailman (input) for mailman id 706687;
 Tue, 16 Apr 2024 07:11: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=CynW=LV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rwcyq-0004NA-4Q
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 07:11:48 +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 9498eed3-fbc0-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 09:11:45 +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 85F685D811;
 Tue, 16 Apr 2024 07:11: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 5C13313931;
 Tue, 16 Apr 2024 07:11: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 +UsQFa8kHmYYTwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 16 Apr 2024 07:11:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9498eed3-fbc0-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1713251503; h=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=Zu3kW8QNFx8OLYZx8ArErH8TeIxJLq4bIF99YnLcJgg=;
	b=EXTGmEPfMzPfY5eJIZpiMOqN8W608K7D8kST9AeI2hwAqzQ8yZqXeKehReb3IDWMvfJ6kJ
	DBzqAbPILpecAncz5cOyR7YB9xy7HT12cEfPqF1n5aOxWGdZUCNKp9p932On0GJYLtY3Nw
	5p33SGFSq6ZE4tt9/r74UXExUL7Jhrk=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=EXTGmEPf
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1713251503; h=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=Zu3kW8QNFx8OLYZx8ArErH8TeIxJLq4bIF99YnLcJgg=;
	b=EXTGmEPfMzPfY5eJIZpiMOqN8W608K7D8kST9AeI2hwAqzQ8yZqXeKehReb3IDWMvfJ6kJ
	DBzqAbPILpecAncz5cOyR7YB9xy7HT12cEfPqF1n5aOxWGdZUCNKp9p932On0GJYLtY3Nw
	5p33SGFSq6ZE4tt9/r74UXExUL7Jhrk=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] Mini-OS: add some macros for asm statements
Date: Tue, 16 Apr 2024 09:11:39 +0200
Message-Id: <20240416071139.11083-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
X-Spam-Score: -4.01
X-Rspamd-Action: no action
X-Rspamd-Queue-Id: 85F685D811
X-Spam-Level: 
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Spamd-Result: default: False [-4.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	DWL_DNSWL_LOW(-1.00)[suse.com:dkim];
	MID_CONTAINS_FROM(1.00)[];
	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)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:dkim,suse.com:email];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	DKIM_TRACE(0.00)[suse.com:+]

Instead of having #ifdefs sprinkled around in x86 code, add some
macros defining constants for asm statements to address differences
between 32- and 64-bit mode.

Modify existing code to use those macros.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/sched.c | 32 +++++++++-----------------------
 include/x86/os.h | 19 +++++++++++--------
 2 files changed, 20 insertions(+), 31 deletions(-)

diff --git a/arch/x86/sched.c b/arch/x86/sched.c
index dabe6fd6..460dea2e 100644
--- a/arch/x86/sched.c
+++ b/arch/x86/sched.c
@@ -60,16 +60,10 @@ void dump_stack(struct thread *thread)
     unsigned long *bottom = (unsigned long *)(thread->stack + STACK_SIZE); 
     unsigned long *pointer = (unsigned long *)thread->sp;
     int count;
-    if(thread == current)
-    {
-#ifdef __i386__    
-        asm("movl %%esp,%0"
-            : "=r"(pointer));
-#else
-        asm("movq %%rsp,%0"
-            : "=r"(pointer));
-#endif
-    }
+
+    if ( thread == current )
+        asm(ASM_MOV" "ASM_SP",%0" : "=r"(pointer));
+
     printk("The stack for \"%s\"\n", thread->name);
     for(count = 0; count < 25 && pointer < bottom; count ++)
     {
@@ -119,20 +113,12 @@ struct thread* arch_create_thread(char *name, void (*function)(void *),
 
 void run_idle_thread(void)
 {
-    /* Switch stacks and run the thread */ 
-#if defined(__i386__)
-    __asm__ __volatile__("mov %0,%%esp\n\t"
-                         "push %1\n\t" 
-                         "ret"                                            
+    /* Switch stacks and run the thread */
+    __asm__ __volatile__("mov %0,"ASM_SP"\n\t"
+                         "push %1\n\t"
+                         "ret"
                          :"=m" (idle_thread->sp)
-                         :"m" (idle_thread->ip));                          
-#elif defined(__x86_64__)
-    __asm__ __volatile__("mov %0,%%rsp\n\t"
-                         "push %1\n\t" 
-                         "ret"                                            
-                         :"=m" (idle_thread->sp)
-                         :"m" (idle_thread->ip));                                                    
-#endif
+                         :"m" (idle_thread->ip));
 }
 
 unsigned long __local_irq_save(void)
diff --git a/include/x86/os.h b/include/x86/os.h
index ee34d784..485d90b8 100644
--- a/include/x86/os.h
+++ b/include/x86/os.h
@@ -77,6 +77,17 @@ int  arch_suspend(void);
 void arch_post_suspend(int canceled);
 void arch_fini(void);
 
+#if defined(__i386__)
+#define __SZ    "l"
+#define __REG   "e"
+#else
+#define __SZ    "q"
+#define __REG   "r"
+#endif
+
+#define ASM_SP  "%%"__REG"sp"
+#define ASM_MOV "mov"__SZ
+
 #ifdef CONFIG_PARAVIRT
 
 /* 
@@ -141,14 +152,6 @@ do {									\
 
 #else
 
-#if defined(__i386__)
-#define __SZ "l"
-#define __REG "e"
-#else
-#define __SZ "q"
-#define __REG "r"
-#endif
-
 #define __cli() asm volatile ( "cli" : : : "memory" )
 #define __sti() asm volatile ( "sti" : : : "memory" )
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 07:23:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 07:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706697.1104015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwd9c-00089N-Fp; Tue, 16 Apr 2024 07:22:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706697.1104015; Tue, 16 Apr 2024 07:22: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 1rwd9c-00089G-C0; Tue, 16 Apr 2024 07:22:56 +0000
Received: by outflank-mailman (input) for mailman id 706697;
 Tue, 16 Apr 2024 07:22: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 1rwd9a-000896-W7; Tue, 16 Apr 2024 07:22: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 1rwd9a-0000Rp-Ns; Tue, 16 Apr 2024 07:22: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 1rwd9a-00054G-Gq; Tue, 16 Apr 2024 07:22:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwd9a-0006Jg-GI; Tue, 16 Apr 2024 07:22:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C2ZJEuwD3zMAz/fRF3MOvD55eIw0e1yhsFg2pGtFNAk=; b=ouS8G2shKG39rGysuP2QIh5v8/
	RRW0rvTm4v2Hi3rhciAQhjGCVkT50f8VvL7QapSorTJDtLcSy5Y2+zeRVrqDSADTFVBO94m2DRhUs
	5mEBqQy3Qh5tPaCWDUhw/IN+VN0jR1E1Enb2RxXWkBOhs5QSjqgKk1zJqrHAVQOgnl7Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185643-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185643: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=70892b13b28cdb0a10c82f3d3aca560a38dce5c9
X-Osstest-Versions-That:
    ovmf=5ba3602e4580d6b65dacf4292a031627f93e1167
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 07:22:54 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 70892b13b28cdb0a10c82f3d3aca560a38dce5c9
baseline version:
 ovmf                 5ba3602e4580d6b65dacf4292a031627f93e1167

Last test of basis   185624  2024-04-15 20:11:06 Z    0 days
Testing same since   185643  2024-04-16 05:11:11 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
   5ba3602e45..70892b13b2  70892b13b28cdb0a10c82f3d3aca560a38dce5c9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 07:38:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 07:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706706.1104028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwdOn-0005Yd-Q7; Tue, 16 Apr 2024 07:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706706.1104028; Tue, 16 Apr 2024 07: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 1rwdOn-0005YW-N4; Tue, 16 Apr 2024 07:38:37 +0000
Received: by outflank-mailman (input) for mailman id 706706;
 Tue, 16 Apr 2024 07:38:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J6w7=LV=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rwdOn-0005XG-Ay
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 07:38:37 +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 552333dc-fbc4-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 09:38:35 +0200 (CEST)
Received: from AS9PR06CA0070.eurprd06.prod.outlook.com (2603:10a6:20b:464::21)
 by AS2PR08MB9986.eurprd08.prod.outlook.com (2603:10a6:20b:649::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.49; Tue, 16 Apr
 2024 07:38:27 +0000
Received: from AMS0EPF0000019C.eurprd05.prod.outlook.com
 (2603:10a6:20b:464:cafe::67) by AS9PR06CA0070.outlook.office365.com
 (2603:10a6:20b:464::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.33 via Frontend
 Transport; Tue, 16 Apr 2024 07:38:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019C.mail.protection.outlook.com (10.167.16.248) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Tue, 16 Apr 2024 07:38:26 +0000
Received: ("Tessian outbound 88c46f8f09a7:v313");
 Tue, 16 Apr 2024 07:38:26 +0000
Received: from ca3dc6095c06.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DF5E5C70-5FE9-4385-9783-0DF29A2F4170.1; 
 Tue, 16 Apr 2024 07:38:19 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ca3dc6095c06.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Apr 2024 07:38:19 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by VI0PR08MB10655.eurprd08.prod.outlook.com (2603:10a6:800:209::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 16 Apr
 2024 07:38:17 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 07: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: 552333dc-fbc4-11ee-b909-491648fe20b8
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=QlSRdC6yzLsFlyefeF4UNqkUD322CNkVEcXEYFdjE28OQ1XyjG9wV8sfztLMWTFV1ITmJl1KSu/OOeYVtoXQeh+a/NjDqsrRZQVpPtZ/BEZQQ5H5a1ss4mW6JRMtBUXyY9g1LXXUf6LTCn0+X1Zm8blt3JGFTpAH0BlWZ9eYX4r0xHBDG1raDw+rP+zcqq/JURnLspQSlTsjiTlndhX4m22VoIsZ3TehhFYbC8c0C5Tl4hIMvsuPkbVfeyTrA5ez9hgOBNwvMzWkTIMycSTF2h5kWtcbANWIE5Y0EaND0jbCC0TwmOp9Mb6celCy91XhDebSc/3OeOx020heLj9kkQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sSngT+1wNlMPCoqfspufGEtcYGoOTghFFP7Kv9xqUyY=;
 b=eDWa+6Ag3FSEN2m8E/t9P4uqYU02lL6hFZNmDId+EDv25r6HnCqWuoup7xuzC917gRI/yOGMUd4S41S8oeMHpK58/fr7GETPgWfrV2BcE/kD0cwbzPYdXBABgPfz2Yna0M1GgzXyVF/QmpyQhh/FUOf2pwvRrTjI/yYlxIcv09csNnnInXRTNsVw6ff6/Z/PtEGiNMSXAUHUiOVWucXtN2eYiYO/ebS4RW8MDhqyS2dKo/bLbAxoqp2vpXo5moz5QeUsFV7wi6Q7SuAra6PHnEY+NKDWSYdmxY2usBO9NOycntyLWiihwkL5GZ1yv5664V9INnmWHTgO3PhTtvF9AQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sSngT+1wNlMPCoqfspufGEtcYGoOTghFFP7Kv9xqUyY=;
 b=8KiZeSdG16YMgrDvqpNr2vBaAs4pN8OqVZFxKnjX4GtUFFu1IS5DzSNSFLJIsekfewOajT19RaWNRkV9gzt49N5TP2Q0uC+CQgC/zTM+txxhNvwQ8U/A+exXwz3ql+Ace6cviqhKOFSBx6krQCvpN9fLICWKxV4mCb+19wrzW0w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 9b947f4223321720
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YmPV8bd6hihxhuM4zCd/V7hKKjk3bD1ur4SibNOG9kYfhtTknIEFTli1Mg8lJhJJE7kEpXn9E8XVbzNwriHeVrfkvjGFShaOFdRsaz/om+ysRDGCsWQ/RGMtHvuy4aVM9CWkvWRv623boni2HnXh8o+CILg6xBAK74R00v2PYynEKfCKZYKA+sIuym2U0r0E0yVAocjCSKiooOMTvXB8iszmTVRx4NIN6n0/DTfcdUsHqP0enDO07ApFoIq1N3qdgmNsnORIN2ehUwu5rXeqmqB6w64u6ABCAXlN+JsUPzdk5ukJBTEuGX6f1Ejm4qFsUeCbRdbXaPFSw2Lkf8DK5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sSngT+1wNlMPCoqfspufGEtcYGoOTghFFP7Kv9xqUyY=;
 b=b7I+iawIs0NrE5QZLUMWMhluvru/JUbbzQcHIRVdhPrECEEy4q5BhuYDdwfcsBefGe/6FNuUJi6N3Dqe+PFyOlFghmYp04oRWt8GgStiy8xtiHkD+xH8KTUx3FjXDfmqZxxKfay0198l2BvMSHP//qW0h45ZyZpoNXiDXXqWB7LxqxU3ltVfuiAsWtZGb9PNRjXx9dpwDLS2zgMrPlZPtF9LtVrk6MnjIQfuaQy53OTROpenRpX3bdjgn8LRiEFKjQSTfcTdzWNBgDkO6fmktuY7KdXjgoEUymgeAg7v/AJXePP9luo9aeP0hg1O5gA2vtKTyq/k7OsTkOy6S+djcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sSngT+1wNlMPCoqfspufGEtcYGoOTghFFP7Kv9xqUyY=;
 b=8KiZeSdG16YMgrDvqpNr2vBaAs4pN8OqVZFxKnjX4GtUFFu1IS5DzSNSFLJIsekfewOajT19RaWNRkV9gzt49N5TP2Q0uC+CQgC/zTM+txxhNvwQ8U/A+exXwz3ql+Ace6cviqhKOFSBx6krQCvpN9fLICWKxV4mCb+19wrzW0w=
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>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, "julien@xen.org" <julien@xen.org>,
	"michal.orzel@amd.com" <michal.orzel@amd.com>, "roger.pau@citrix.com"
	<roger.pau@citrix.com>
Subject: Re: [PATCH v3] docs/misra/rules.rst: add rule 5.5
Thread-Topic: [PATCH v3] docs/misra/rules.rst: add rule 5.5
Thread-Index: AQHadnCsg0ZMZaBhh0eU/zuPKKU2jbFqtSeA
Date: Tue, 16 Apr 2024 07:38:15 +0000
Message-ID: <3ED1EB41-5260-4A1D-B14C-EFD86CFECA49@arm.com>
References:
 <alpine.DEB.2.22.394.2403141733460.853156@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2403141733460.853156@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.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|VI0PR08MB10655:EE_|AMS0EPF0000019C:EE_|AS2PR08MB9986:EE_
X-MS-Office365-Filtering-Correlation-Id: 7467feed-fbb0-468f-3e2d-08dc5de83413
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 8h3XjgZchMylNnzEB7Ft2uluyA22gQgGbiFUD0ODaWNJnUaTK0/wIRnHF7R8o4oiqyk1AfLH0d6QO2bkDMn8a1a2WYtPEsoop3GvwnyLyurNUypadP8t4DJFGznovfUkdOnpsNLLjQRjx/BSbv2iacIoyC+GmGsNRCG/A2NTtbM95luNg0qG7GAkQ766c0gMucdrI87CZJK5btlVoS7d6tNAxF4xBHRayOVBqTfkWfoIC2pvfeTpLsmFAhWbqr4hLASIN4rQPNbZ8xgV6u9TeYKIKyG6NbFTxFgdC/SJdQewnPwvFhd6sogESd4FOAsZdabmiDAN2dLk/9EhWSLbp3TQk6uqgiuLm9ara2wna4bat9AoAzLVO4HSlzgcq+Q3308nqAUvxuqWWuC8duxWKFTNSqvJsi/GgJY9ac4Dd8zdVbZUTPhhc1axG5X6qtsseotTCQZDt92CGUv5AtjgcGMyKzdCStiWbMIqc4myjzufGODH1lYO7RfGGmv2wAk6gHP/cnCU0eBUxUaMjbz7hmNoyuXW1dN3ZmGk2PhtUUGs2mmMsjI0PUQD8yUxsBDBbTQ6JasOPbT79KExhYzzk6U8Zlq5RD+Vt/hj9o6sXpapgdJsykwc2b9qpcYyy/M6BKbeQrGO7i8gQBt7yMvyvH7vpR01EM2emB/uR9hFbUdwoLxtv40aGBeuCSmuxlPd4Ym1nLyQOr827XHsqAYEwVLeMLCPyjJ4SgZ/9flaSSI=
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:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F0235CE263701C499A8553DFA1580BD4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10655
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF0000019C.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a52b8e75-0a20-460f-2b45-08dc5de82d8c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Sxl10/1Z+NeeiUsWMCZbdm8orNyhZ3ScEVclKWcQfyIOZeER6rEnS8cwVZKv0vguTRby8M45qnRi8INfhJ5zXnmtWCVmwkFbsGOu87q90cXo/n6A0CdBuo6p+TjDbibMhhVVUswxWIZnEdoIwZG0janIqqjn+5+KAAde4NdSxdHe+IwCdiWHaMAnttGLCnwTOW7U7qCZGumz2GFA8MbUgdWnneFfq96Z1xCmkwLEbU8cRLnE4uDT/onQ1rvFT/Hk7z7phQh94CAWUx3qORYx8qrlpxP0KnCp8bkF0BsFY8SJKjSFJbeaeQMGgIwDv0vIPcLEs6+wKUZ2gVjG7sGO+hJwTNr0xJTMiYfkcyuiXyqpKMVvkJXC00h8F1mPBRDqoFIAmctJVhY/3FYBwxBNflvP2JuCb6AvlmZ1o1VOaG360LXvBujy3Owa1pUIjmIkkOWo+IaVKDVGmp2X3RPGay2ouhLtJ50w3rZ31XLEHu1InYRW5S0xnMbyWHWa9CMeRPEdhY1O+524gcbu5D8DV9OEZapngkSTkYxMO3lnzLMLNZld2C8I2vCmwGhcQmNaz+GXBQqpZulWT7HHrTpxIN8d0530GzTApCCfVzdDlnmUtYnkpT3HWFw1rw14QtP7LOFIm/4VFUTYLq+VIZnottSeE0EBzQcnDY+QeNM1574fMV0wABjLlpywlNvZ0RXYKRo83ti+wUnuj9Jypqjld4KlS60cEcA52GjL9URGzkQ0LcghLDdri0PC0iBTRlDR
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 07:38:26.6614
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7467feed-fbb0-468f-3e2d-08dc5de83413
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF0000019C.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9986

Hi Stefano,

> On 15 Mar 2024, at 01:35, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

With the semicolon comment from Jan addressed:

Acked-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 07:41:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 07:41:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706708.1104038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwdRB-0006xe-6a; Tue, 16 Apr 2024 07:41:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706708.1104038; Tue, 16 Apr 2024 07:41:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwdRB-0006xX-2Y; Tue, 16 Apr 2024 07:41:05 +0000
Received: by outflank-mailman (input) for mailman id 706708;
 Tue, 16 Apr 2024 07:41: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=J6w7=LV=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rwdRA-0006xR-AY
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 07:41:04 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac614491-fbc4-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 09:41:02 +0200 (CEST)
Received: from DB7PR02CA0017.eurprd02.prod.outlook.com (2603:10a6:10:52::30)
 by AS2PR08MB8719.eurprd08.prod.outlook.com (2603:10a6:20b:55f::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Tue, 16 Apr
 2024 07:40:56 +0000
Received: from DB5PEPF00014B9A.eurprd02.prod.outlook.com
 (2603:10a6:10:52:cafe::23) by DB7PR02CA0017.outlook.office365.com
 (2603:10a6:10:52::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.33 via Frontend
 Transport; Tue, 16 Apr 2024 07:40:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B9A.mail.protection.outlook.com (10.167.8.167) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Tue, 16 Apr 2024 07:40:55 +0000
Received: ("Tessian outbound 01a47eb2eb85:v313");
 Tue, 16 Apr 2024 07:40:55 +0000
Received: from bb3019798a36.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1C6A7201-217C-4DD5-8D1D-755023CE9FD1.1; 
 Tue, 16 Apr 2024 07:40:49 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bb3019798a36.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Apr 2024 07:40:49 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DB5PR08MB10137.eurprd08.prod.outlook.com (2603:10a6:10:4a8::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 07:40:47 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 07:40:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac614491-fbc4-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=F03m9RM08ixO3DIdlid5EQVjQP2tFKv26xKJVCV2YMt6aEB80vuqKWkvolgQjzgV5XGxbBd+8RALVwhiG0xhWQqBLWI90xHkRedbOtT/BeE3URJurfbhl45dS6wu4tbBIA/1OMlaKiqD4cV+K7Q06+SMHpbHWeO9quA6ZOEIJ2Bos2+SwYcAonfGNbvtw6QIEdvoda7ZClMMF6tX6C19yAK2CsyigT+bdrn7EcroKJ+MMgMoxQqWlZufeXtVnb26Q6WIjelpbmEXewISuJTbcBm0hVaSPiwyKUiY11guomLRCTSmk59BvlqYdBQUKHTLEw1xdxqXrTbS5K+XE1saeg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=twPOSnz33WfoUNjaUm5Y3NBAh2FI0C4OOJNo270PS78=;
 b=BEJrrJZksOI+pIbwOUSfbkXXqChPXRhYWuD3TTiM+lCI/mYkvtSDZNco1REQru45o7DOjR2RWbocEI3rtjdO4S8vWY0JkfR7esc9leXiMd6v3QNKHwjFTimN7uBabcLQMiyuMXkURzLxr0LJq8sDvvO086gzecpwfptt+HzO770hdvuSEP5tuhmZaBE8VkgaDRUPZWwG9VbLJtTjeWASXjCeXmIX6YRawig7DZL0YUmi5b5RsIW3K3AnBV04CtlcLWtbwmvB/2JRrc86kDdvn6QjX3Qj0oCLV66PRKwSKOCA0jWTFX/PHSQafRkRvenwzOTZAhcJZs8MPa2iu1h/KA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=twPOSnz33WfoUNjaUm5Y3NBAh2FI0C4OOJNo270PS78=;
 b=bqADXTUioDClLrdzKagnrpU9cC4KqQxUU2b08xJn3z+VytUaF4SGE79X1qlqxvHs2oGUAgf7djoUXs4ONTO52IeU4lkvBqSUVgyL7FumLdUDpvoalMAlFw/2/W4Q6oYrXOi08eZVQ2vAHv8zoTTshqZ1bwM9Qdelhtwf+P/E3YM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d51670712eec2763
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hor3IUW0wbxakD6chZyN2j/kQahiCnWrhcXYazbHiM7hGdAiCMxgb6ktp7gk0BDsBMbyeTtNcj4qiIhuWm5BqALAr6jIAl3rX1lZTGPA7m/CMymlq8W+FQcZIv92fpLS/0CPjWsJlZLcipwZj834Y5hr8CjINytZvKenGGBRSrCN4/Al1cULFEX1MD1Ej8EWFcFmPe+I8g+E055nXN3bZYHrSg9OsYJ8j/oWKovfgIdiAyCz43CqlBPJwQaSVIA+madm2eGb0lnIlC8M+us7dFgfiYMG7nP0wHn9sZg1XHjVUIEo5qfoSbkqHoeUMXf5puFD+E1ban+m88lv3uLFuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=twPOSnz33WfoUNjaUm5Y3NBAh2FI0C4OOJNo270PS78=;
 b=dH+zSv7dR5GuO4jGJtfOm2h5xxfR7lUuwvLgzx6sigvXM8pjvugxB9zHbdJMsBVGaHbGXhS/Bisgr5dSd6BBNSsTs9GiiJQHkRnLCLkLsVXmF91ePmXAKqBi49Ehtpu0mCe4+lprGjQnRcCCYYYmUGKSWvWf0MSsgYBRkRbWa5Bi/dbsIhM1E+oB6MfLlTuWSqwZbnsr2xxKeh2/7L19fqKVQDhch17sGt2jYIAz5hrq/rfUff/LXX42G8LvlUZKn64Xhs/bmNgt8baqI7WYN8lTBApyw8gYpvAefaVxGj9NZPYX2g9bqMsW3DQk2voAj2a5Ig6xtl+iW6gu1SHVhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=twPOSnz33WfoUNjaUm5Y3NBAh2FI0C4OOJNo270PS78=;
 b=bqADXTUioDClLrdzKagnrpU9cC4KqQxUU2b08xJn3z+VytUaF4SGE79X1qlqxvHs2oGUAgf7djoUXs4ONTO52IeU4lkvBqSUVgyL7FumLdUDpvoalMAlFw/2/W4Q6oYrXOi08eZVQ2vAHv8zoTTshqZ1bwM9Qdelhtwf+P/E3YM=
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>, "george.dunlap@citrix.com"
	<george.dunlap@citrix.com>, "jbeulich@suse.com" <jbeulich@suse.com>,
	"julien@xen.org" <julien@xen.org>, "michal.orzel@amd.com"
	<michal.orzel@amd.com>, "roger.pau@citrix.com" <roger.pau@citrix.com>
Subject: Re: [PATCH v2] docs/misra: add Rule 16.4
Thread-Topic: [PATCH v2] docs/misra: add Rule 16.4
Thread-Index: AQHadlmlNrY7a9bx20+E4BcPM1KboLFqtgoA
Date: Tue, 16 Apr 2024 07:40:47 +0000
Message-ID: <DFEAE2D2-313F-411F-A590-8663F20A6A6D@arm.com>
References:
 <alpine.DEB.2.22.394.2403141449510.853156@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2403141449510.853156@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.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DB5PR08MB10137:EE_|DB5PEPF00014B9A:EE_|AS2PR08MB8719:EE_
X-MS-Office365-Filtering-Correlation-Id: 81c3bb70-e86b-45e6-557c-08dc5de88cd0
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 csQY/nzcU8uVJHOYhapJqqqM/e8LbmnFKFSEeN5sQBKGE2PXmE5arGbOe/3n6kQUpDevtz4xxe1vlb7ptD1eSplzIKG6J+tMSygtoDmiv7MOnibNs1X1X/6QcnZByKQv7yWnqAz6K+6VyrxMdMdpvyMugffsdQyGAFUWSpQBaKwDGgzlhiv+o5W1UUSNopvedjbV7aAzQbYZKfxyW7veb+V9CXkMciU+KWtepp5I2UgY9cRU7AyQEJE8OCFQRfv8enV1gFKzVnmyj6MDP33bJwvhuIRPJkcTJzqc9qrqM2MvvYF3cDGD/+R0iGdlBY7OvodJGD9iLlIs+I1fCnWEBhtar/4j6KELIRWFl/amKAyeRehVAwBk+Z2vNjaPt9MdA4wbJl/CLf7Pdj1IxhogA9BnwBxeicNTkqoWHNlhyUZPOwPnnsWtWgkzoQYvBEfmYDcjOF4Cr3E2YfkC/+yr77mIAcvITR43veILFwh/8yyJR8dlfurnRNf5rv30OQup2UugiMWd5nicwCcgFJ3i2Kdx35ypdjBUAE+MUYRZq1gbXFLCfpeP454A/vGHKsEjgicfPeg7yVOrf8NzyVbqFc5aveG6RfHAPixzTbScQIFDUMe9bB6HQzGJEKzKQ0ZvtjqEJ5rawlAwVbAc6clnigAnpRz/FjMFqIAdNnxCXT3eTBW0vdQx9jWisZhe7rhnFWI08ark2qHI8SiXtLTJc6hxNpt6XPJF0TbCpDpoXiI=
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:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <289C3447575FAE4F9A0ADADF009FD990@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10137
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B9A.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	67356d39-cfff-4a23-caa6-08dc5de887d9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ASVtm3viMBWAaMevNSCrSepHVNOyZRpMVUqFROemU3ceOCZEMC8rjkKqmp41mx3wdLdrtTpVZkaiEzj/A6WsecFpq76cdzRg5NvVMuyGmBjvOzrXnSfLuaO4Q6HFzHO31RAf7jkFFFToe7nEwVRweKgAh4Dc5KqhcpZ7V8q7s4H/owCWj8DhIEWogMdIVoffAviFucT0nhinm6uovIjiQCbFn4etb4FZlawR1lwR+KILu8wq7kh2wmElJNjFQKrpqOzpJfkoRu1YET3pdQ5FZrOzpxQrfCKv6Qg0AyZsp778yr5ZaRabPTzRrXP45SQZ9CIUNLaVq/LwU+soAhIfRDzBtSEdybtxTQNpj45MKip3KDtQEFf4PXAhkK6OFFGZd3bnWSNuAmTlz/vaAI+vbeSRzOBIMQ6+/inFbX4HSiFB13ccMiY4fj/m2D2nJaDjtBu8Cl4B5g72XxGo5JYpO0zuGm/+Ky6n13HszJoy5bSEgBsmZ4QqHSIat1c+K4VNpeTqoW9qBrCk9O2OyTowsdZBhsI6o4QhMFVt6/8GUt4QmSuTKoy7/nkPgwW5uVMLuUYSp+UMD5vT0j7zZp1eaidMscJb9j0UxME/BFKg2bHuzHAqHvJbr4EqDd/+THpnkIMe6UWut0j7D2k/QU7qhkiyIeeAvzV1XfWuYkEmqfFmSSTQZiPsJ5N6Rn2CwIbZn0MZZTd5AHv/3Ya3TWmVsTNOWhgHInP1mrrEpv/lDDfAUDkJzF3VmkRJ5Z01/2EH3giPu+Bmu6pmFNNEqToImQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 07:40:55.6027
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 81c3bb70-e86b-45e6-557c-08dc5de88cd0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5PEPF00014B9A.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8719

Hi Stefano,

> On 14 Mar 2024, at 22:50, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Acked-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes in v2:
> - mention -Werror
> - change the position of the in-code comment in the example
> - use "notifier pattern" in the example
> - clarify it is only an example
> ---
> docs/misra/rules.rst | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>=20
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index 1e134ccebc..5c84091e45 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -478,6 +478,31 @@ maintainers if you want to suggest a change.
>      - In addition to break, also other unconditional flow control statem=
ents
>        such as continue, return, goto are allowed.
>=20
> +   * - `Rule 16.4 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_16_04.c>`_
> +     - Required
> +     - Every switch statement shall have a default label
> +     - Switch statements with enums as controlling expression don't need
> +       a default label as gcc -Wall enables -Wswitch which warns (and
> +       breaks the build as we use -Werror) if one of the enum labels is
> +       missing from the switch.
> +
> +       Switch statements with integer types as controlling expression
> +       should have a default label:
> +
> +       - if the switch is expected to handle all possible cases
> +         explicitly, then a default label shall be added to handle
> +         unexpected error conditions, using BUG(), ASSERT(), WARN(),
> +         domain_crash(), or other appropriate methods;
> +
> +       - if the switch is expected to handle a subset of all possible
> +         cases, then an empty default label shall be added with an
> +         in-code comment on top of the default label with a reason and
> +         when possible a more detailed explanation. Example::
> +
> +             default:
> +                 /* Notifier pattern */
> +                 break;
> +
>    * - `Rule 16.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-=
Suite/-/blob/master/R_16_02.c>`_
>      - Required
>      - A switch label shall only be used when the most closely-enclosing
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:23:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:23:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706728.1104063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwe5j-0003cM-3P; Tue, 16 Apr 2024 08:22:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706728.1104063; Tue, 16 Apr 2024 08:22:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwe5i-0003cF-Tw; Tue, 16 Apr 2024 08:22:58 +0000
Received: by outflank-mailman (input) for mailman id 706728;
 Tue, 16 Apr 2024 08:22: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 1rwe5i-0003c5-6Y; Tue, 16 Apr 2024 08:22: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 1rwe5i-0002gB-0x; Tue, 16 Apr 2024 08:22: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 1rwe5h-0006Yo-Lk; Tue, 16 Apr 2024 08:22:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwe5h-0002TM-LA; Tue, 16 Apr 2024 08:22:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/vjMpF0rffWv+lUbqkWMIyT7znlYP48E7fwgQ4ONx2g=; b=ufodmbagSnRxzsWNktGqt10t3J
	SPzcvHaI8Qilp6gkrVD51fZNHwbxI5o/QDpSV2JFSnKx1YoonbhG0TRJwng73UHzjFfFr9dMojWTj
	qeP3J9CFCB9e8RJDpRbXU1jMz/O/s66a/AQsRO9zw3syIa9K2u/sXC0HdkaCshBakyyg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185632-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185632: regressions - FAIL
X-Osstest-Failures:
    xen-4.18-testing:build-arm64:<job status>:broken:regression
    xen-4.18-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-4.18-testing:build-arm64:host-build-prep:fail:regression
    xen-4.18-testing:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    xen-4.18-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-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-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-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl: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-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-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-amd64-amd64-libvirt-qcow2:migrate-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
    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
X-Osstest-Versions-This:
    xen=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 08:22:57 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                     <job status>                 broken  in 185427
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185285
 build-arm64                  5 host-build-prep fail in 185427 REGR. vs. 185285

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 185427

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185427 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185427 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185427 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185427 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185427 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185427 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185427 n/a
 build-arm64-libvirt           1 build-check(1)           blocked in 185427 n/a
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 185285
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185285
 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-amd64-amd64-libvirt-raw 14 migrate-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-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-armhf-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-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-amd64-amd64-libvirt-qcow2 14 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-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                  2d38302c33b117aa9a417056db241aefc840c2f0
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    6 days
Failing since        185303  2024-04-10 18:41:55 Z    5 days    6 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    4 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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                                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-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      fail    
 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 build-arm64 broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:32:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:32:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706737.1104082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweF4-00078Z-7u; Tue, 16 Apr 2024 08:32:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706737.1104082; Tue, 16 Apr 2024 08:32:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweF4-00077a-2Y; Tue, 16 Apr 2024 08:32:38 +0000
Received: by outflank-mailman (input) for mailman id 706737;
 Tue, 16 Apr 2024 08:32: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=heP+=LV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1rweF2-00075P-D9
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 08:32:36 +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 e04220e3-fbcb-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 10:32:35 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-518a3e0d2e4so2503912e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 01:32:35 -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
 g8-20020a19e048000000b00516d2c05b3dsm1536151lfj.299.2024.04.16.01.32.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 01:32: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: e04220e3-fbcb-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713256354; x=1713861154; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=48w9RzVCrAnY6y/pfkpqctofcQ2H9eeAikbtyqILiGI=;
        b=Axj63OieN+ykBecywtON76I552+Aflbkae8YY+Ud1WvK7pRCR4TBMszPKJZzMLdNKo
         XCXxX8mWqzcjT9KcGlNMIU+CNRXpJJYV/9jeMVGhpLUvGt6nYKaazv7OsJFjUjmoB0FS
         2SeCabxkQR3+Fo/Ldv5WHjtdl5KHY0DsVEWId0YIaBvOUA19d481HG99w1t6RcZw70Nd
         C9mqsVcBAE4PABh4AB+eeKDAdXc3tg7+PGfAJeMOGLk98fMiRRYx4ellghT/Rt8wjCwo
         a4HkBCW5lVk601W5Ejw++erhdcm6udbWZYCOQZxXqBtRbq1iqWvIOGgXqFhpKfCa7PZG
         ONLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713256354; x=1713861154;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=48w9RzVCrAnY6y/pfkpqctofcQ2H9eeAikbtyqILiGI=;
        b=ujZQABNIfPKTMCxHrx+PVBgR4LFJW1kucuKIgGdlkEaCSmdvq0cX0yFpKQTTZYH7KJ
         TrN/b9fcGCewHJz2XBnpYJyOdQLZCf1fQZ9beqqv7Z9+w0bECmVwDBBI/vP17VoPBiPC
         9cq/jIOKpXPrQj+qh4fVw2/qJciaDcDPlzb9ai0Lo5KDzY/tSxStWJnQylx4XAmuJMRy
         F9aEfkOg6cY5gipjs7kRYMP2Fo+mULV2vQVXyomOWIE/Dgoqp0vyCyO3YdJNMf0Kvfke
         ey2gdZcRLDU8J1dxEf4htO9GQqgmGD9cD8L74o6xp8n3e8lbHFZ3AmY0/sm0kYcik1TD
         Hnug==
X-Gm-Message-State: AOJu0Yx6OARivfYSphQsSYloDavH52WHkacVzbMtb3LbNchRZ5uBWYOy
	8zAySy/sEszAYkOyoRxteXWojF3mwHolX0S8mM8yWo0E/jkDXQsqpVjaJD2vuwk=
X-Google-Smtp-Source: AGHT+IEa3tKx5rjWqZfWHJBSXXcUtO9RlNJxcYMAveDZF2+FeRxeqW5Je6Ppec8PXNOFXlqfqp64WQ==
X-Received: by 2002:a05:6512:691:b0:519:99c:9018 with SMTP id t17-20020a056512069100b00519099c9018mr438000lfe.11.1713256353690;
        Tue, 16 Apr 2024 01:32:33 -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,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	edgar.iglesias@amd.com
Subject: [PATCH v2 1/1] xen/arm64: entry: Add missing code symbol annotations
Date: Tue, 16 Apr 2024 01:15:41 +0200
Message-Id: <20240415231541.4140052-2-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240415231541.4140052-1-edgar.iglesias@gmail.com>
References: <20240415231541.4140052-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Use the generic xen/linkage.h macros when and add missing
code symbol annotations.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/arch/arm/arm64/entry.S | 72 +++++++++++++++++++++++++-------------
 1 file changed, 48 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
index f963c923bb..af9a592cae 100644
--- a/xen/arch/arm/arm64/entry.S
+++ b/xen/arch/arm/arm64/entry.S
@@ -289,21 +289,25 @@
         b       do_bad_mode
         .endm
 
-hyp_sync_invalid:
+FUNC_LOCAL(hyp_sync_invalid)
         entry   hyp=1
         invalid BAD_SYNC
+END(hyp_sync_invalid)
 
-hyp_irq_invalid:
+FUNC_LOCAL(hyp_irq_invalid)
         entry   hyp=1
         invalid BAD_IRQ
+END(hyp_irq_invalid)
 
-hyp_fiq_invalid:
+FUNC_LOCAL(hyp_fiq_invalid)
         entry   hyp=1
         invalid BAD_FIQ
+END(hyp_fiq_invalid)
 
-hyp_error_invalid:
+FUNC_LOCAL(hyp_error_invalid)
         entry   hyp=1
         invalid BAD_ERROR
+END(hyp_error_invalid)
 
 /*
  * SError received while running in the hypervisor mode.
@@ -313,11 +317,12 @@ hyp_error_invalid:
  * simplicity, as SError should be rare and potentially fatal,
  * all interrupts are kept masked.
  */
-hyp_error:
+FUNC_LOCAL(hyp_error)
         entry   hyp=1
         mov     x0, sp
         bl      do_trap_hyp_serror
         exit    hyp=1
+END(hyp_error)
 
 /*
  * Synchronous exception received while running in the hypervisor mode.
@@ -327,7 +332,7 @@ hyp_error:
  * some of them. So we want to inherit the state from the interrupted
  * context.
  */
-hyp_sync:
+FUNC_LOCAL(hyp_sync)
         entry   hyp=1
 
         /* Inherit interrupts */
@@ -338,6 +343,7 @@ hyp_sync:
         mov     x0, sp
         bl      do_trap_hyp_sync
         exit    hyp=1
+END(hyp_sync)
 
 /*
  * IRQ received while running in the hypervisor mode.
@@ -352,7 +358,7 @@ hyp_sync:
  * would require some rework in some paths (e.g. panic, livepatch) to
  * ensure the ordering is enforced everywhere.
  */
-hyp_irq:
+FUNC_LOCAL(hyp_irq)
         entry   hyp=1
 
         /* Inherit D, A, F interrupts and keep I masked */
@@ -365,8 +371,9 @@ hyp_irq:
         mov     x0, sp
         bl      do_trap_irq
         exit    hyp=1
+END(hyp_irq)
 
-guest_sync:
+FUNC_LOCAL(guest_sync)
         /*
          * Save x0, x1 in advance
          */
@@ -413,8 +420,9 @@ fastpath_out_workaround:
         mov     x1, xzr
         eret
         sb
+END(guest_sync)
 
-wa2_ssbd:
+FUNC_LOCAL(wa2_ssbd)
 #ifdef CONFIG_ARM_SSBD
 alternative_cb arm_enable_wa2_handling
         b       wa2_end
@@ -450,42 +458,55 @@ wa2_end:
         mov     x0, xzr
         eret
         sb
-guest_sync_slowpath:
+END(wa2_ssbd)
+
+FUNC_LOCAL(guest_sync_slowpath)
         /*
          * x0/x1 may have been scratch by the fast path above, so avoid
          * to save them.
          */
         guest_vector compat=0, iflags=IFLAGS__AI_, trap=guest_sync, save_x0_x1=0
+END(guest_sync_slowpath)
 
-guest_irq:
+FUNC_LOCAL(guest_irq)
         guest_vector compat=0, iflags=IFLAGS__A__, trap=irq
+END(guest_irq)
 
-guest_fiq_invalid:
+FUNC_LOCAL(guest_fiq_invalid)
         entry   hyp=0, compat=0
         invalid BAD_FIQ
+END(guest_fiq_invalid)
 
-guest_error:
+FUNC_LOCAL(guest_error)
         guest_vector compat=0, iflags=IFLAGS__AI_, trap=guest_serror
+END(guest_error)
 
-guest_sync_compat:
+FUNC_LOCAL(guest_sync_compat)
         guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_sync
+END(guest_sync_compat)
 
-guest_irq_compat:
+FUNC_LOCAL(guest_irq_compat)
         guest_vector compat=1, iflags=IFLAGS__A__, trap=irq
+END(guest_irq_compat)
 
-guest_fiq_invalid_compat:
+FUNC_LOCAL(guest_fiq_invalid_compat)
         entry   hyp=0, compat=1
         invalid BAD_FIQ
+END(guest_fiq_invalid_compat)
 
-guest_error_compat:
+FUNC_LOCAL(guest_error_compat)
         guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_serror
+END(guest_error_compat)
 
-ENTRY(return_to_new_vcpu32)
+FUNC(return_to_new_vcpu32)
         exit    hyp=0, compat=1
-ENTRY(return_to_new_vcpu64)
+END(return_to_new_vcpu32)
+
+FUNC(return_to_new_vcpu64)
         exit    hyp=0, compat=0
+END(return_to_new_vcpu64)
 
-return_from_trap:
+FUNC_LOCAL(return_from_trap)
         msr     daifset, #IFLAGS___I_ /* Mask interrupts */
 
         ldr     x21, [sp, #UREGS_PC]            /* load ELR */
@@ -524,6 +545,7 @@ return_from_trap:
 
         eret
         sb
+END(return_from_trap)
 
 /*
  * Consume pending SError generated by the guest if any.
@@ -536,7 +558,7 @@ return_from_trap:
  * it. So the function will unmask SError exception for a small window and
  * then mask it again.
  */
-check_pending_guest_serror:
+FUNC_LOCAL(check_pending_guest_serror)
         /*
          * Save elr_el2 to check whether the pending SError exception takes
          * place while we are doing this sync exception.
@@ -586,7 +608,7 @@ abort_guest_exit_end:
         cset    x19, ne
 
         ret
-ENDPROC(check_pending_guest_serror)
+END(check_pending_guest_serror)
 
 /*
  * Exception vectors.
@@ -597,7 +619,7 @@ ENDPROC(check_pending_guest_serror)
         .endm
 
         .align  11
-ENTRY(hyp_traps_vector)
+FUNC(hyp_traps_vector)
         ventry  hyp_sync_invalid            /* Synchronous EL2t */
         ventry  hyp_irq_invalid             /* IRQ EL2t */
         ventry  hyp_fiq_invalid             /* FIQ EL2t */
@@ -617,6 +639,7 @@ ENTRY(hyp_traps_vector)
         ventry  guest_irq_compat            /* IRQ 32-bit EL0/EL1 */
         ventry  guest_fiq_invalid_compat    /* FIQ 32-bit EL0/EL1 */
         ventry  guest_error_compat          /* Error 32-bit EL0/EL1 */
+END(hyp_traps_vector)
 
 /*
  * struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next)
@@ -626,7 +649,7 @@ ENTRY(hyp_traps_vector)
  *
  * Returns prev in x0
  */
-ENTRY(__context_switch)
+FUNC(__context_switch)
         add     x8, x0, #VCPU_arch_saved_context
         mov     x9, sp
         stp     x19, x20, [x8], #16         /* store callee-saved registers */
@@ -647,6 +670,7 @@ ENTRY(__context_switch)
         ldr     lr, [x8]
         mov     sp, x9
         ret
+END(__context_switch)
 
 /*
  * Local variables:
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:32:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:32:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706736.1104076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweF4-00075z-0I; Tue, 16 Apr 2024 08:32:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706736.1104076; Tue, 16 Apr 2024 08:32:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweF3-00075s-S8; Tue, 16 Apr 2024 08:32:37 +0000
Received: by outflank-mailman (input) for mailman id 706736;
 Tue, 16 Apr 2024 08:32: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=heP+=LV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1rweF2-00075P-4j
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 08:32: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 dfc4c370-fbcb-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 10:32:34 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-516d1c8dc79so5168080e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 01:32:34 -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
 q22-20020a194316000000b00518afd9ee75sm910541lfa.307.2024.04.16.01.32.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 01:32: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: dfc4c370-fbcb-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713256353; x=1713861153; 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=H6mAHSI+f/FD7i5IbFLen6ku7yCwkp6FcxxfiE3yT50=;
        b=KMbhgsmPI1M3azakWrfa9PrVHE4WXQvAQTnB6F/VuICQMECeB4Bg3/7OGpLM/eprgH
         bkVx/TySr4FBdTCHCESq2QRNCxHDZPzaJ1POs27iI7C6+nErKhxpBSIj40vP3W3jprDJ
         H73OQRFkdQOU3YOSBt59UvfnfjRCEBY7hFoWGUOlaWuiqwtjF7woHj5Y1pE4MVlZNJE4
         03iG7nSYE/x3gP0W3oWgeEWA7npe182YGZan4P5dCcYIO90USsp8Nl0tlxIt+0fKwiUL
         hexmh2Bd0+4Ak0jtTsSi/poQd+zIQfr6SUzlG7iwlBG5FsayZwHbd4OspLUS8YcKNmKg
         0q7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713256353; x=1713861153;
        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=H6mAHSI+f/FD7i5IbFLen6ku7yCwkp6FcxxfiE3yT50=;
        b=usE6RB5HzQMKlNv2PpYnjtUFEjIxKG806pTnldzPcLEAGBeWlQRV2GqLfUrpFkHapf
         aJiZNZp/VMRhvMAik6jLHjVz5qQ4s0jrhOdhvXvAzJsF39wkmEUPNzxw1/4yzLsQSO6z
         Kt82YG0pToUlgheocKwkaoqaH6eTnBif3JyAEScnUW5XjF4nOKNsWBVYi/XciZfZkX5I
         wRUSr2viujBMdelaJzx0v3bgzR6ikf+XlXqOFYfiBWj5JD4Yiht2u4U8cv7VkC2+cMLI
         SaMmXPHmWU7jOXImep2OyyjnTCoKyevm1oso8fCBXsmCTAOMasiLg7GYPtduj94KgkGu
         952g==
X-Gm-Message-State: AOJu0YxSAoDtTvy+UgssqI/6AwDxvxiDWxtiaIWLPLEqOHmRIKjvGjK5
	BdgtlgCnR4DYafYQhvQOYBdJGNlfX+fLRcaukjeIwCTB13Xf9RkiZ8Ht81LI1RQ=
X-Google-Smtp-Source: AGHT+IGH+n71VzkKyRm5BN453lRj2Z0WCortjl9fgU0Sl+C0wmkmVpkJsHU/qdimVbDpvQPCmI06JA==
X-Received: by 2002:ac2:5931:0:b0:515:99f6:2ca4 with SMTP id v17-20020ac25931000000b0051599f62ca4mr7992554lfi.36.1713256352792;
        Tue, 16 Apr 2024 01:32:32 -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,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	edgar.iglesias@amd.com
Subject: [PATCH v2 0/1] xen/arm: Annotate code symbols
Date: Tue, 16 Apr 2024 01:15:40 +0200
Message-Id: <20240415231541.4140052-1-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

On the way towards Xen safety certification we're evaluating the use
of tools to collect code-coverage/profiling information from execution
traces. Some tools rely on ELF symbols for code being declared with
type FUNC and having a symbol size.

We currently annotate some symbols but not all. Also, there seems to be
different ways to do the annotation so I'm sending out this series to
first figure out how we want to do things before I go ahead and edit
more of the ARM port.

In this first try I've followed the style from commit:
b3a9037550 x86: annotate entry points with type and size
IIUC, prefering to use macros from the generic framework in
xen/linkage.h in favor of ENTRY/ENDPROC.

But perhaps we would like to keep using ENTRY() for entry points
into the hypervisor?
Another way could be to add .type name, %function to the ENTRY macro
and use END from xen/linkage.h.

Or we can keep using ENTRY/GLOBAL/ENDPROC.

Any thoughts or better ideas?

Best regards,
Edgar

ChangeLog:
v1 -> v2:
* Drop RFC.
* Squash into a single patch to avoid confusion.


Edgar E. Iglesias (1):
  xen/arm64: entry: Add missing code symbol annotations

 xen/arch/arm/arm64/entry.S | 72 +++++++++++++++++++++++++-------------
 1 file changed, 48 insertions(+), 24 deletions(-)

-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:40:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:40:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706747.1104099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweN0-0002lN-6X; Tue, 16 Apr 2024 08:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706747.1104099; Tue, 16 Apr 2024 08:40:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweN0-0002lG-2i; Tue, 16 Apr 2024 08:40:50 +0000
Received: by outflank-mailman (input) for mailman id 706747;
 Tue, 16 Apr 2024 08: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=AiXa=LV=bounce.vates.tech=bounce-md_30504962.661e398c.v1-d48cc00ce8c44aadafc4a9a5b1d0f643@srs-se1.protection.inumbo.net>)
 id 1rweMy-0002lA-88
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 08:40:48 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04991b1a-fbcd-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 10:40:46 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJcv05gXLz8XRtlK
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 08:40:44 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 d48cc00ce8c44aadafc4a9a5b1d0f643; Tue, 16 Apr 2024 08:40:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04991b1a-fbcd-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713256844; x=1713517344;
	bh=pjEjfv9riQAIjJjPevFt35FKNT3qD3QODRtVHVYVp2s=;
	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=eP18DqWd58rvmfU7YllhlC/JG/wR42cHcStgW1FSNyL9PYpldamhJsZNaQ4URx21q
	 5ySnZ9qU7IjJqdbxwNbxEII4XwN9FrmV1g0xY+axkvZXFNHxyRpx0zYWSWmBT19fsi
	 /uoeGzaYP1tGoNgGfoxL6uymSJRoA8buQFXhqMQNHMSuezmgUq399gzqgaZ+NjmZXB
	 8fYIcZkL06sN7TKZHPtA9ETl05kro3z53v9vbMRtBYJclZhB3fD0GMN074Gjvv6/ie
	 X+roeCiwMGup9Ez8V2SH5+zJMeAcWlKdTxafBuHpNBIUy2WehwSmOVDU37Dh8vi+6n
	 hRQXi2Fs6e4rA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713256844; x=1713517344; i=teddy.astie@vates.tech;
	bh=pjEjfv9riQAIjJjPevFt35FKNT3qD3QODRtVHVYVp2s=;
	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=XTau+piv3L83ocq9clXm8va01HT2hMUcYo8jWwD+pavdiZRX3oWkKlhk4tp8Rz6dc
	 Yw6VpVM0l/zGhcyAeuCgqykTKNRwiqTXPVbKuDBZyJLrO4r7azEnKKzMsgedWbwiJt
	 mzGPx3JFguyjrrSJgPXPmbYYJZpCOdgyHh2WxdFBspYAlgTJ2WFDvE+v/EWLko9u+A
	 khMdrELcYDzI9e/dlHVn8vaD1rmY64Ko12n6UCbLYOebneV0csMTp0fpLclYBZcMN0
	 NPEurPs2O/U3xzZ1RW7f+tTgYwCRiDMM2EnuDUdPE94mpy8pDBCHKIqdahHu0hdERR
	 tU+3c9Gd+cUOw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=20v1=2015/15]=20x86/hvm:=20make=20AMD-V=20and=20Intel=20VT-x=20support=20configurable?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713256843068
Message-Id: <2a6779ba-e3d7-4f53-8a0c-404f139ba254@vates.tech>
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@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>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240416065012.3470263-1-Sergiy_Kibrik@epam.com>
In-Reply-To: <20240416065012.3470263-1-Sergiy_Kibrik@epam.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.d48cc00ce8c44aadafc4a9a5b1d0f643?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240416:md
Date: Tue, 16 Apr 2024 08:40:44 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Hello Sergiy,

> Also make INTEL_IOMMU/AMD_IOMMU options dependant on VMX/SVM options.

The discussion in the RFC series stated the IOMMU may be used with PV 
guests, and doesn't rely on VMX/SVM support (in fact, it can be used 
without HVM support in Xen).

However, in the discussion, posted interrupts were supposed to be 
dependent on VMX/SVM instead. I suppose this is a leftover from the 
original RFC ?

> https://lore.kernel.org/xen-devel/e29e375f-3d30-0eb1-7e28-b93f2d831b43@suse.com/

Teddy

---


Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:50:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706753.1104109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweWM-0006Fu-24; Tue, 16 Apr 2024 08:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706753.1104109; Tue, 16 Apr 2024 08: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 1rweWL-0006Fn-V4; Tue, 16 Apr 2024 08:50:29 +0000
Received: by outflank-mailman (input) for mailman id 706753;
 Tue, 16 Apr 2024 08:50: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 1rweWK-0006Fh-IX
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 08:50: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 1rweWJ-0003ZT-OE; Tue, 16 Apr 2024 08:50:27 +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 1rweWJ-0004GF-GZ; Tue, 16 Apr 2024 08:50:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=zv7uB9leGcy68CdEaAep2QTSN5x5v3dBnlgv/QVy0g8=; b=xU60VTd+e/w8/kytWTWopaU9O2
	c/HgTpa5vJ2rqAVBQ4gYKbujIiby9/5eOUe/EFhnCFukg6EcYBCG6bSwjCAsXWwmANGm8K/DCiYYF
	d+PhOZKtjIxbjUKxa1CsUFi2ASZM1huJAnmk3KKAHub9y6LQuX74UjoFuOfnbiUamQcI=;
Message-ID: <74cfa4fe-2ee8-4700-be90-4227704f96d1@xen.org>
Date: Tue, 16 Apr 2024 09:50:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <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: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-14-luca.fancellu@arm.com>
 <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
 <39165767-26EA-4849-9C02-12393933139E@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <39165767-26EA-4849-9C02-12393933139E@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 16/04/2024 07:27, Luca Fancellu wrote:
> Hi Julien,

Hi Luca,

> 
>> On 15 Apr 2024, at 19:41, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 09/04/2024 12:45, Luca Fancellu wrote:
>>> Currently Xen is not exporting the static shared memory regions
>>> to the device tree as /memory node, this commit is fixing this
>>> issue.
>>> The static shared memory banks can be part of the memory range
>>> available for the domain, so if they are overlapping with the
>>> normal memory banks, they need to be merged together in order
>>> to produce a /memory node with non overlapping ranges in 'reg'.
>>
>> Before reviewing the code in more details, I would like to understand a bit more the use case and whether it should be valid.
>>
>>  From my understanding, the case you are trying to prevent is the following setup:
>>   1. The Guest Physical region 0x0000 to 0x8000 is used for RAM
>>   2. The Guest Physical region 0x0000 to 0x4000 is used for static memory
> 
> So far, it was possible to map guest physical regions inside the memory range given to the guest,
> so the above configuration was allowed and the underlying host physical regions were of course
> different and enforced with checks. So I’m not trying to prevent this behaviour, however ...
> 
>>
>> The underlying Host Physical regions may be different. Xen doesn't guarantee in which order the regions will be mapped, So whether the overlapped region will point to the memory or the shared region is unknown (we don't guarantee the order of the mapping). So nothing good will happen to the guest.
> 
> ... now here I don’t understand if this was wrong from the beginning or not, shall we enforce also that
> guest physical regions for static shared memory are outside the memory given to the guest?

Nothing good will happen if you are trying to overwrite mappings. So I 
think this should be enforced. However, this is a more general problem. 
At the moment, this is pretty much as mess because you can overwrite any 
mapping (e.g. map MMIO on top of the RAM).

I think the easiest way to enforce is to do it in the P2M code like x86 
does for certain mappings.

Anyway, I don't think the problem should be solved here or by you (this 
is likely going to be a can of worms). For now, I would consider to 
simply drop the patches that are trying to do the merge.

Any thoughts?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:54:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706758.1104119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweae-0007TI-Hh; Tue, 16 Apr 2024 08:54:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706758.1104119; Tue, 16 Apr 2024 08: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 1rweae-0007TB-Ep; Tue, 16 Apr 2024 08:54:56 +0000
Received: by outflank-mailman (input) for mailman id 706758;
 Tue, 16 Apr 2024 08: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=6dxz=LV=bounce.vates.tech=bounce-md_30504962.661e3cdc.v1-7bba17972cfe4af4ad5390684dfed8e2@srs-se1.protection.inumbo.net>)
 id 1rwead-0007Qr-57
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 08:54:55 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd82c147-fbce-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 10:54:53 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VJdCJ2hJnzDRHxQy
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 08:54:52 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 7bba17972cfe4af4ad5390684dfed8e2; Tue, 16 Apr 2024 08:54:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd82c147-fbce-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713257692; x=1713518192;
	bh=RC5FFGk/Ic0BwHOG6ZfDIeoELywNOK2Ze7hIoIKrmOI=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=Slgy1x0pUhd+E1sXA7dSZmGp444pncoqv/DqGngUKBlBdOzVeKsyNq/2Ghx4ct0TR
	 4FwVZZch3AnTuq5hNtk/CsosIVZRtOiog6HLNFxM/+coPZooAVwoJ/Kb5i5EKvtGAc
	 3qJNFtO1wl3NhirufXd4hhkSPB7g4B8yaZ01chQa1CG2seaT3iH8hhyed4lX0pSToa
	 UvAqR2ghjH/hpb6XxOBWmtby5Ppe9OVwRZOrSA7WOR0I/SeCHysiVd0N7/5zOxl4GN
	 dhtgQ0leycpac03Wdk7p1yoBjk3inX7yBnbxNxqrrPQZjRn9DDvjkvLWwi5ANirVQP
	 2Gkx5s8wPMUpw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713257692; x=1713518192; i=vaishali.thakkar@vates.tech;
	bh=RC5FFGk/Ic0BwHOG6ZfDIeoELywNOK2Ze7hIoIKrmOI=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=1JJI7rZa+TIJhUBTgUK5AID5t56vY45OA+wIDpptWVlytAqiY2UWu0RoXSUnVSkIB
	 7rXGJv/3pxoE3FRpxZWTxajT4MH99NBbgwBY8rxr+8ToOXYSYdCimHOHc9ViwxDg/h
	 MDKR/h0n2SLQOFlrpEm0jYRVvqKT9zwF0hWoXSWGqvjku7xn5D47E4Lz19/iQcNp92
	 h5bECmhtSEkZ717Uy1ORm1J1U8miRy7Ne8RZqbY0VYd7Ei+igONgIZVj+Cz0f9M7o7
	 GrRizEPuv+WWuPlao9dL8H3ZcnD3pvfbPyQJtIJCGSJ4RKf4kTlwv4EHWNd5vlkY63
	 D8yMXtoFmYnhg==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?[PATCH]=20x86/hvm:=20Allow=20supplying=20a=20dynamic=20start=20ASID?=
X-Mailer: git-send-email 2.44.0
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713257688425
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, Vaishali Thakkar <vaishali.thakkar@vates.tech>
Message-Id: <0d4ef987825080715873360c8b41ebb467b7dfdf.1713257278.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.7bba17972cfe4af4ad5390684dfed8e2?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240416:md
Date: Tue, 16 Apr 2024 08:54:52 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Currently, Xen always starts the ASID allocation at 1. But
for SEV technologies the ASID space is divided. This is
because it's a security issue if a guest is started as
ES/SNP and is migrated to SEV-only. So, the types are
tracked explicitly.

Thus, in preparation of SEV support in Xen, add min_asid
to allow supplying the dynamic start ASID during the
allocation process.

Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>
---
 xen/arch/x86/hvm/asid.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/asid.c b/xen/arch/x86/hvm/asid.c
index 8d27b7dba1..e14b64f2c8 100644
--- a/xen/arch/x86/hvm/asid.c
+++ b/xen/arch/x86/hvm/asid.c
@@ -41,6 +41,7 @@ boolean_param("asid", opt_asid_enabled);
 /* Per-CPU ASID management. */
 struct hvm_asid_data {
    uint64_t core_asid_generation;
+   uint32_t min_asid;
    uint32_t next_asid;
    uint32_t max_asid;
    bool disabled;
@@ -53,7 +54,8 @@ void hvm_asid_init(int nasids)
     static int8_t g_disabled = -1;
     struct hvm_asid_data *data = &this_cpu(hvm_asid_data);
 
-    data->max_asid = nasids - 1;
+    data->min_asid = 1;
+    data->max_asid = nasids - data->min_asid;
     data->disabled = !opt_asid_enabled || (nasids <= 1);
 
     if ( g_disabled != data->disabled )
@@ -66,8 +68,8 @@ void hvm_asid_init(int nasids)
     /* Zero indicates 'invalid generation', so we start the count at one. */
     data->core_asid_generation = 1;
 
-    /* Zero indicates 'ASIDs disabled', so we start the count at one. */
-    data->next_asid = 1;
+    /* Zero indicates 'ASIDs disabled', so we start the count at min_asid. */
+    data->next_asid = data->min_asid;
 }
 
 void hvm_asid_flush_vcpu_asid(struct hvm_vcpu_asid *asid)
@@ -117,7 +119,7 @@ bool hvm_asid_handle_vmenter(struct hvm_vcpu_asid *asid)
     if ( unlikely(data->next_asid > data->max_asid) )
     {
         hvm_asid_flush_core();
-        data->next_asid = 1;
+        data->next_asid = data->min_asid;
         if ( data->disabled )
             goto disabled;
     }
-- 
2.44.0


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:58:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706762.1104129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwedb-0000b8-UT; Tue, 16 Apr 2024 08:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706762.1104129; Tue, 16 Apr 2024 08:57:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwedb-0000b1-Rk; Tue, 16 Apr 2024 08:57:59 +0000
Received: by outflank-mailman (input) for mailman id 706762;
 Tue, 16 Apr 2024 08: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=po3y=LV=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rweda-0000av-Sa
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 08:57:59 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:200a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a954ae1-fbcf-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 10:57:57 +0200 (CEST)
Received: from CY5PR15CA0217.namprd15.prod.outlook.com (2603:10b6:930:88::6)
 by CH3PR12MB9342.namprd12.prod.outlook.com (2603:10b6:610:1cb::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 08:57:53 +0000
Received: from CY4PEPF0000EE38.namprd03.prod.outlook.com
 (2603:10b6:930:88:cafe::d3) by CY5PR15CA0217.outlook.office365.com
 (2603:10b6:930:88::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.34 via Frontend
 Transport; Tue, 16 Apr 2024 08:57:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE38.mail.protection.outlook.com (10.167.242.12) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 16 Apr 2024 08:57:53 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 16 Apr
 2024 03:57:52 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 16 Apr
 2024 01:57:52 -0700
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.35 via Frontend
 Transport; Tue, 16 Apr 2024 03:57: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: 6a954ae1-fbcf-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bJcfBTJ8es5HG3nJ700BdfJHo+3LFpDhp9wKNOMRqFVgW/WegxjSSnMM2x0jX38Nf6L/na2EI9LPHaY39xnDdQcipGBBbPj9rxnG72onfxcDpR1LmzLGCOcvF/QIsRoXJ4KqvQ1c4pBMpYgBdy4k7QW71BW5k7pyikOAq6N7kanLNAPY7veGyh8puv535c9m0dfchTVGh9Ax7paUn5rgQFBHNPl+e56VhzGGaGNuyddgHIz9v+dnjEJ4afzKE7dR81K4TShnGqyVRYq8MUAx9vnotwE5/Don2LYyFOn1rHmXfxIGppwicbB1AmyX2YmCoXWnzThH7l0Mi+Pq4POfsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=47IhZGAxV6K8jtfPatfyyJPzlu0xvtWCi4xBOL2Lckw=;
 b=gyLqNx5jJzTPXmaTzq5GtBR3aJHV1o4scRedOL9DzRMo0ZKgj471lWWJJpPy81MYRxW4H0zd5gpRjMe06l3WBJTKJt33BVU2IQg6gSDR2+KlJ5bCakGSdEYB95ldgtxmTBBSaX3U2MVnBacr/eDMr0MlOC3xckXoamP5LNtR1nhick0uvQ2fJmh0MSEwysRz4E9/aMeTifWjoAw6bIoxiohBOxn11TRWnwWawWCjGQj5L9Eo03Mw7SmqnOChpC1mnm717yAbg2ZI8A9DDwgqDPJvH+S0qQIZnLreRCNXhzMFXcGcnCNRXJYcj4GxP6jbQIdA5reU+gQotE7uCGiFRg==
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=47IhZGAxV6K8jtfPatfyyJPzlu0xvtWCi4xBOL2Lckw=;
 b=Doz4R09TgQtfMIAl1IiG8GhCNLe50XGiy+zUiWHL5ayG9IUWmlGjPQx72hyY09IiX0rMS5j4hQQRRIwl0dq7jo8OqDy2mpHsfRNGrt2nH+/h1Qi+cwcvvQac2uvUdOyPrLFH2VvsNiaPXaa6AWHLU419G6E0CdznE3/efn4yW+I=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <8d4e9568-fc88-46a9-a982-90d476945c7e@amd.com>
Date: Tue, 16 Apr 2024 10:57:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
To: Julien Grall <julien@xen.org>, Luca Fancellu <Luca.Fancellu@arm.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: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-14-luca.fancellu@arm.com>
 <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
 <39165767-26EA-4849-9C02-12393933139E@arm.com>
 <74cfa4fe-2ee8-4700-be90-4227704f96d1@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <74cfa4fe-2ee8-4700-be90-4227704f96d1@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE38:EE_|CH3PR12MB9342:EE_
X-MS-Office365-Filtering-Correlation-Id: 69604b31-3ba5-45f5-8df4-08dc5df34d1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PzrbqWD2axYFm3N38aeMJRyExvFoBcfC9uF2yxvXmfG5cnDPbxmyALJu01k3+3H8nxfIkxfiR+NCtoIoV6z1yT6HNV9iwSh/VchZ+44a/Lkpf15AB+NdWQglxhvGW9wbZ0+SYG35vFxmvM5/2QIgFwlHfh01XRpo8PdWzUv7JEejvrv38nS9yDQ55sGE1CcR5EDfTRvKh51vFAFyTKLUTcZKL7rK8SnN0ntbJ+gGn616dioS/l7+1bAt0hNGdNPaiUKXniZZptrDmIvs6CspHuHhRK0xaZe+clJVn3AVdj24bS7utQuyWwbXr1CEQ4AMgQWSyutcP/Lgi3kwWChYu4pZHwpucwVyre2bsRKzSPLo6U+8TndCU+mPLQQLtaJmQfPpDBglmN7MgY8uJ/1IhW1Gl400H3F7vMNXBbvzGoDY5ljts2WAWD8IITAST6MtgFXC4DaeWz81Dea4NzB7hIHsj4M3JWtb3ZIPLzu2wnVc2vARahZOAn0edR8AaIfj5GjhXbW/JYvxjGoUzByhD1A9Nk7lBOLFBCyBNkeXAqCnuP5yKnSPmpvDrl5vGfdiRKhVbRsvCOSgZi/eggkIziVKgj30V3Vw7PsdClTzZO00TSvv6/MsxuTq+SkFL1gHeqkp6N/+Re8WTSNsbsFb2RTcJSv0tws/8lvGDuQoDbqrco6pv74K3/IjTWYICQZFh+ejMNX8aJw2NF4vuGXCo6SKv+zdi48Ag7UWlMZgU62fLkgat6mJxidx+wHWb6i5
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 08:57:53.0827
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 69604b31-3ba5-45f5-8df4-08dc5df34d1c
X-MS-Exchange-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:
	CY4PEPF0000EE38.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9342

Hi Julien,

On 16/04/2024 10:50, Julien Grall wrote:
> 
> 
> On 16/04/2024 07:27, Luca Fancellu wrote:
>> Hi Julien,
> 
> Hi Luca,
> 
>>
>>> On 15 Apr 2024, at 19:41, Julien Grall <julien@xen.org> wrote:
>>>
>>> Hi Luca,
>>>
>>> On 09/04/2024 12:45, Luca Fancellu wrote:
>>>> Currently Xen is not exporting the static shared memory regions
>>>> to the device tree as /memory node, this commit is fixing this
>>>> issue.
>>>> The static shared memory banks can be part of the memory range
>>>> available for the domain, so if they are overlapping with the
>>>> normal memory banks, they need to be merged together in order
>>>> to produce a /memory node with non overlapping ranges in 'reg'.
>>>
>>> Before reviewing the code in more details, I would like to understand a bit more the use case and whether it should be valid.
>>>
>>>  From my understanding, the case you are trying to prevent is the following setup:
>>>   1. The Guest Physical region 0x0000 to 0x8000 is used for RAM
>>>   2. The Guest Physical region 0x0000 to 0x4000 is used for static memory
>>
>> So far, it was possible to map guest physical regions inside the memory range given to the guest,
>> so the above configuration was allowed and the underlying host physical regions were of course
>> different and enforced with checks. So I’m not trying to prevent this behaviour, however ...
>>
>>>
>>> The underlying Host Physical regions may be different. Xen doesn't guarantee in which order the regions will be mapped, So whether the overlapped region will point to the memory or the shared region is unknown (we don't guarantee the order of the mapping). So nothing good will happen to the guest.
>>
>> ... now here I don’t understand if this was wrong from the beginning or not, shall we enforce also that
>> guest physical regions for static shared memory are outside the memory given to the guest?
> 
> Nothing good will happen if you are trying to overwrite mappings. So I
> think this should be enforced. However, this is a more general problem.
> At the moment, this is pretty much as mess because you can overwrite any
> mapping (e.g. map MMIO on top of the RAM).
> 
> I think the easiest way to enforce is to do it in the P2M code like x86
> does for certain mappings.
> 
> Anyway, I don't think the problem should be solved here or by you (this
> is likely going to be a can of worms). For now, I would consider to
> simply drop the patches that are trying to do the merge.
> 
> Any thoughts?
I agree with your analysis. For now, let's drop this patch.
@Luca: This means I reviewed your series completely and you can send a respin.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 08:59:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 08:59:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706765.1104138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweew-0001TU-6s; Tue, 16 Apr 2024 08:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706765.1104138; Tue, 16 Apr 2024 08:59:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rweew-0001TN-4J; Tue, 16 Apr 2024 08:59:22 +0000
Received: by outflank-mailman (input) for mailman id 706765;
 Tue, 16 Apr 2024 08: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=g64T=LV=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rweev-0001TF-EL
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 08:59:21 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2607::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c20af7a-fbcf-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 10:59:19 +0200 (CEST)
Received: from AS4P189CA0053.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:659::17)
 by AS4PR08MB7688.eurprd08.prod.outlook.com (2603:10a6:20b:507::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 08:59:14 +0000
Received: from AM4PEPF00027A5D.eurprd04.prod.outlook.com
 (2603:10a6:20b:659:cafe::b3) by AS4P189CA0053.outlook.office365.com
 (2603:10a6:20b:659::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.34 via Frontend
 Transport; Tue, 16 Apr 2024 08:59:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A5D.mail.protection.outlook.com (10.167.16.69) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Tue, 16 Apr 2024 08:59:13 +0000
Received: ("Tessian outbound e14047529286:v313");
 Tue, 16 Apr 2024 08:59:13 +0000
Received: from f74271070284.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 62A09306-1A61-415F-84A5-3339066489B4.1; 
 Tue, 16 Apr 2024 08:59:02 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f74271070284.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Apr 2024 08:59:02 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8953.eurprd08.prod.outlook.com (2603:10a6:10:464::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 08:59:00 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 08:59: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: 9c20af7a-fbcf-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=DsR6PTIaQrJret7dv9INxaJW9I90FQmssXu8iR69wirK579N/Fnz7WeukoX5c9DPxmBmyqIncW4Lo3xlkz/SMQlHP6NT+Dxkhjj+UR7qUkdRFKPlvRqrBPwzYYiBZxrQ/aZDTWYs6H9mjD5V9uWEIJd6Mmcgg24lAWBwUJQjh8oFohcUZuR8vhq8KAZLMp1osLjWpo1FbRur5bp9u5wl03LkOzc4pAcjfgCwDIln84Z1Qe2+/PXYcjxoVhGC6CahYrmr/wxV0hzEDoi8ZVH+5HI2LIeTe0udu6OGqDi+XFn6qkdJv4bxlxtvBbJpASJhZ+xBSwCXyTMlqHwRjbwDsA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qWXfMaRzwGuvL5uL9AJyEQBJWRxSO5r02Ir2vMlpiqw=;
 b=V2jbmgwDcdzKwFe6iMKeC9vaCs55tp6/7tmwQnZ6W+Xmdgz0X7vBi1TNtaGxf/gqhfCvXdhWo8zyikAP0D1WKm5MNwfHHo4ZXkKGa2mW81pJPg0O37EA5mvi3SfD17drKiq+EDfu7xOfsPg3Ip4rGvBjNb93udljaGDpcu6Yq1NvjBUDkFHCoearJmgsoKL3iFP9S5Y56BkUqhPNMNuO6nduvUQCEMewyr3wLce55D1uKaQvPnwiqPtEZQWwOHodniekqZ0ncZo2Uk+K75uNyXfWrMLMpxzGmDHlEWA8M2f4EhLkXm9/ajpbBun9Ua1sy6beAv6gwMwfWYjwlpLPvw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qWXfMaRzwGuvL5uL9AJyEQBJWRxSO5r02Ir2vMlpiqw=;
 b=Yeuc9LBLkUbXxMTAHQHG4h7EDyoWWHGeynn6j293Y+xeU3xmjMHsI0eiE1LQmT3FqEl20cNQtDWBbt0RoZgiiJJMvwO/a/k4OeO9nttpD2trcNL/lehCK0POoFwYwVNJ4DNEuI1lt/dAs/tz8CSbDMA+n9iGmhTGX5DOavATKhs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 286054192b40484d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=apziTZabqnSBbgroCbxD8aMLc6QkuCcpgouRQJp32m3+gtk4TqwoHWmlxvp/M7fGR/hTKL6Y1thSLWBVAznRqjLiGSY0ivcvyifh5adL83Ht7SQeeUslQsebHBmiwbgVhTEw0YMmSxy7u8sJhenWK7EoXxrcYmDS+gTxIiBTYNwZjXGdK+VXIejqqGxFJMM2O/4qn93OENwBhd2q2+RAcZNRUT/eDF/tcEyY/xStDkh4b+jTw2JTUlbWj3iAAaQDQqEKBKMBHM0FxeUTLQvgo5uNDuDF3YMRliwTWpuvH7IpP2/qOer8VItHGH3vEnCqEqw1xCFFiePbPbjrtfR7IA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qWXfMaRzwGuvL5uL9AJyEQBJWRxSO5r02Ir2vMlpiqw=;
 b=NBx8Pv9kJRBeXCFkG1RppWAO/VXo7yptRqL4ot2qtjp2bZDtFsu4d5IR8G+iHPzTn+RYQyFfHEzqiJGdMeOYwkXGS2dO4uw4Xl0jC+16cuMDlGDJdgADXPKxJLGC//L1oopi+ksMT04Mw+KjMprWDahj3zMmXg5Mk1fuxy9MW84wbJbYdZo7FDG9QC32HU4Co66zzPkQL7tAZCG5IeZMfs0C8hR7DG/IV4AwtqDP5kfOcNW5JhgE0XxVBfICst3uBhSoybK0GLZzt+9BrDxeBYocsY1nuELDT5g9eXAo6DXW50wgYvX54/RSXp8Wh8kQMxLueGJwra52eydlEsh9Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qWXfMaRzwGuvL5uL9AJyEQBJWRxSO5r02Ir2vMlpiqw=;
 b=Yeuc9LBLkUbXxMTAHQHG4h7EDyoWWHGeynn6j293Y+xeU3xmjMHsI0eiE1LQmT3FqEl20cNQtDWBbt0RoZgiiJJMvwO/a/k4OeO9nttpD2trcNL/lehCK0POoFwYwVNJ4DNEuI1lt/dAs/tz8CSbDMA+n9iGmhTGX5DOavATKhs=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Topic: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Index: AQHainSZ45I8T1wdtkSTioIgDqTSKbFptBmAgADFXACAACfggIAAAloA
Date: Tue, 16 Apr 2024 08:59:00 +0000
Message-ID: <F1BB5F9C-0683-420C-AB77-BBE88AB16347@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-14-luca.fancellu@arm.com>
 <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
 <39165767-26EA-4849-9C02-12393933139E@arm.com>
 <74cfa4fe-2ee8-4700-be90-4227704f96d1@xen.org>
In-Reply-To: <74cfa4fe-2ee8-4700-be90-4227704f96d1@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB8953:EE_|AM4PEPF00027A5D:EE_|AS4PR08MB7688:EE_
X-MS-Office365-Filtering-Correlation-Id: c54826b5-8134-42c6-4417-08dc5df37d42
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Awu5NxFQD7hOhgDoGwGc0Gc5vxVnlj7EC0W/+GK6D+TvPCFP9iGibyOrJuTJDG5hEqf2e/H/4Gbk8XyNnDomXpHUt6GVwHLGos7J1P0l9IvcHLhjs6FSLy1hCmoFSlwOaQCky6jiW5rvDrK7HzAGgbCE7E4UWa8q46KYZFiTkSrTFtJzHvNuqas5UljSHS3sFwH+HozZ8ocEPvtRIxqkLw/aPC9sR3RXBg8sVMH/oUcfgPkvVd3pBnFn+WMjnKQ8z0oDvmXwd8MdBfAdEXQLW4C8sEYp8QqMkkBALzcD4X9Ktb5BYcMX7ZCT9wcl6BxxuA6W0aAxYuESa+ZUjo5DZNCdb+0MiuTRCj5vOYGFEApf8LgWExm3IRUSQ4Xqh2aZLss+P/9e+Me+Kxw9eErWH55NDuL5gutDn/o8SMKE8Ul5/ra00rdCnhJ50oaiNmKLOQGetVadGypqo5PX+DBExQJ464vPLJ9scjl0WZwD3540P7di0q3s0RkhuEMMtuXo4dh9FlK0EY3Abpy+EqVPjcum2ZRLM41Y/K8VK1CJNyBydCpccub28lvaROC5K7zSroN2KdLOeAHthDTpLSwHB9OuWgE6LLKViK0UO2a/2J/4vDYcXq8GqRNlrCPbNeeMlSDymVs/XB8Gvle8Wr9wZxj6chDGEe3AIx8thQR9QP3DuOERUVtt8V9oUgMN3bIHnhSH8BDI3KADozFgJLXp+OlMNlXwXCpdLCQebI89Tn4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9195BA824E956F448FE401EC3D348DBF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8953
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM4PEPF00027A5D.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fec13b19-eea3-409e-507d-08dc5df37557
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Guy6KVYajJuTXCGktOI091NVZxYbxv2f2ntmTzx2feOQcULM6A+jPsIXJRf+Bi0c2ZeviO8c+RgXipJwiZ0jRoG5lLgB59wXtuEJbd1KxXsTk8ViLUJOkPNUrrQvwQg10D8P2p6RHJyh/USf7l1lSaJEzyclV8IG7txKdOZr+vziI59TrIwIEEPrqI3KbK7cKpPpp/j6p1juicQgXmuxnQYxDs9wETVLBXRzX2thLccpLBOBW8Z6XfURh80Ks6LLCqR6LBnmPUcfXpUlqqki82Q0HlnPV416w56jx6A3HqLandqnypf34IPewfWrooRpd5pNudzqxDtxoyIy7FQHfAuwogQ+58Qk5JlO9Liim/3PO7cdKmGdtnvMi1mhDXqqzZJRsJg9JijZyeuIZikArzxq+3uVzTPKQeqaTeVNCTRY8ozc3bCC3rx70aT1B91Uk6KNm5Osl/DfOjKhUCrkfMZs2c2yb/GsUQs1z6rvLhRJE9+eFYmF6uHtrch1GPQWQatBBgUQOD76O6NFfTLZLE23qVGEv4aejNFXBmGpAxRoGK4jc4qRO6wkNPlFhIalkkBx0OKF5B1mUlNOLo2uq4q+9j8+voq5njkkqV1F+cHPaFu0FGcQ5jlftewWHZ1y8OwBEWd5ZP/F6UF09/YEtOZWH1ILovv+LaSzn9+RSYWHaOjxfDTY/lBdiCzDkt6laR/AiPFTf/lIDwAD3Sm4Zn2DgEIdPPy6dNQwEKREdDBR7BVaHSc4Py6tRp3O3KBi
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 08:59:13.9073
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c54826b5-8134-42c6-4417-08dc5df37d42
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM4PEPF00027A5D.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7688

DQoNCj4gT24gMTYgQXByIDIwMjQsIGF0IDA5OjUwLCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4u
b3JnPiB3cm90ZToNCj4gDQo+IA0KPiANCj4gT24gMTYvMDQvMjAyNCAwNzoyNywgTHVjYSBGYW5j
ZWxsdSB3cm90ZToNCj4+IEhpIEp1bGllbiwNCj4gDQo+IEhpIEx1Y2EsDQo+IA0KPj4+IE9uIDE1
IEFwciAyMDI0LCBhdCAxOTo0MSwgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4gd3JvdGU6
DQo+Pj4gDQo+Pj4gSGkgTHVjYSwNCj4+PiANCj4+PiBPbiAwOS8wNC8yMDI0IDEyOjQ1LCBMdWNh
IEZhbmNlbGx1IHdyb3RlOg0KPj4+PiBDdXJyZW50bHkgWGVuIGlzIG5vdCBleHBvcnRpbmcgdGhl
IHN0YXRpYyBzaGFyZWQgbWVtb3J5IHJlZ2lvbnMNCj4+Pj4gdG8gdGhlIGRldmljZSB0cmVlIGFz
IC9tZW1vcnkgbm9kZSwgdGhpcyBjb21taXQgaXMgZml4aW5nIHRoaXMNCj4+Pj4gaXNzdWUuDQo+
Pj4+IFRoZSBzdGF0aWMgc2hhcmVkIG1lbW9yeSBiYW5rcyBjYW4gYmUgcGFydCBvZiB0aGUgbWVt
b3J5IHJhbmdlDQo+Pj4+IGF2YWlsYWJsZSBmb3IgdGhlIGRvbWFpbiwgc28gaWYgdGhleSBhcmUg
b3ZlcmxhcHBpbmcgd2l0aCB0aGUNCj4+Pj4gbm9ybWFsIG1lbW9yeSBiYW5rcywgdGhleSBuZWVk
IHRvIGJlIG1lcmdlZCB0b2dldGhlciBpbiBvcmRlcg0KPj4+PiB0byBwcm9kdWNlIGEgL21lbW9y
eSBub2RlIHdpdGggbm9uIG92ZXJsYXBwaW5nIHJhbmdlcyBpbiAncmVnJy4NCj4+PiANCj4+PiBC
ZWZvcmUgcmV2aWV3aW5nIHRoZSBjb2RlIGluIG1vcmUgZGV0YWlscywgSSB3b3VsZCBsaWtlIHRv
IHVuZGVyc3RhbmQgYSBiaXQgbW9yZSB0aGUgdXNlIGNhc2UgYW5kIHdoZXRoZXIgaXQgc2hvdWxk
IGJlIHZhbGlkLg0KPj4+IA0KPj4+IEZyb20gbXkgdW5kZXJzdGFuZGluZywgdGhlIGNhc2UgeW91
IGFyZSB0cnlpbmcgdG8gcHJldmVudCBpcyB0aGUgZm9sbG93aW5nIHNldHVwOg0KPj4+ICAxLiBU
aGUgR3Vlc3QgUGh5c2ljYWwgcmVnaW9uIDB4MDAwMCB0byAweDgwMDAgaXMgdXNlZCBmb3IgUkFN
DQo+Pj4gIDIuIFRoZSBHdWVzdCBQaHlzaWNhbCByZWdpb24gMHgwMDAwIHRvIDB4NDAwMCBpcyB1
c2VkIGZvciBzdGF0aWMgbWVtb3J5DQo+PiBTbyBmYXIsIGl0IHdhcyBwb3NzaWJsZSB0byBtYXAg
Z3Vlc3QgcGh5c2ljYWwgcmVnaW9ucyBpbnNpZGUgdGhlIG1lbW9yeSByYW5nZSBnaXZlbiB0byB0
aGUgZ3Vlc3QsDQo+PiBzbyB0aGUgYWJvdmUgY29uZmlndXJhdGlvbiB3YXMgYWxsb3dlZCBhbmQg
dGhlIHVuZGVybHlpbmcgaG9zdCBwaHlzaWNhbCByZWdpb25zIHdlcmUgb2YgY291cnNlDQo+PiBk
aWZmZXJlbnQgYW5kIGVuZm9yY2VkIHdpdGggY2hlY2tzLiBTbyBJ4oCZbSBub3QgdHJ5aW5nIHRv
IHByZXZlbnQgdGhpcyBiZWhhdmlvdXIsIGhvd2V2ZXIgLi4uDQo+Pj4gDQo+Pj4gVGhlIHVuZGVy
bHlpbmcgSG9zdCBQaHlzaWNhbCByZWdpb25zIG1heSBiZSBkaWZmZXJlbnQuIFhlbiBkb2Vzbid0
IGd1YXJhbnRlZSBpbiB3aGljaCBvcmRlciB0aGUgcmVnaW9ucyB3aWxsIGJlIG1hcHBlZCwgU28g
d2hldGhlciB0aGUgb3ZlcmxhcHBlZCByZWdpb24gd2lsbCBwb2ludCB0byB0aGUgbWVtb3J5IG9y
IHRoZSBzaGFyZWQgcmVnaW9uIGlzIHVua25vd24gKHdlIGRvbid0IGd1YXJhbnRlZSB0aGUgb3Jk
ZXIgb2YgdGhlIG1hcHBpbmcpLiBTbyBub3RoaW5nIGdvb2Qgd2lsbCBoYXBwZW4gdG8gdGhlIGd1
ZXN0Lg0KPj4gLi4uIG5vdyBoZXJlIEkgZG9u4oCZdCB1bmRlcnN0YW5kIGlmIHRoaXMgd2FzIHdy
b25nIGZyb20gdGhlIGJlZ2lubmluZyBvciBub3QsIHNoYWxsIHdlIGVuZm9yY2UgYWxzbyB0aGF0
DQo+PiBndWVzdCBwaHlzaWNhbCByZWdpb25zIGZvciBzdGF0aWMgc2hhcmVkIG1lbW9yeSBhcmUg
b3V0c2lkZSB0aGUgbWVtb3J5IGdpdmVuIHRvIHRoZSBndWVzdD8NCj4gDQo+IE5vdGhpbmcgZ29v
ZCB3aWxsIGhhcHBlbiBpZiB5b3UgYXJlIHRyeWluZyB0byBvdmVyd3JpdGUgbWFwcGluZ3MuIFNv
IEkgdGhpbmsgdGhpcyBzaG91bGQgYmUgZW5mb3JjZWQuIEhvd2V2ZXIsIHRoaXMgaXMgYSBtb3Jl
IGdlbmVyYWwgcHJvYmxlbS4gQXQgdGhlIG1vbWVudCwgdGhpcyBpcyBwcmV0dHkgbXVjaCBhcyBt
ZXNzIGJlY2F1c2UgeW91IGNhbiBvdmVyd3JpdGUgYW55IG1hcHBpbmcgKGUuZy4gbWFwIE1NSU8g
b24gdG9wIG9mIHRoZSBSQU0pLg0KPiANCj4gSSB0aGluayB0aGUgZWFzaWVzdCB3YXkgdG8gZW5m
b3JjZSBpcyB0byBkbyBpdCBpbiB0aGUgUDJNIGNvZGUgbGlrZSB4ODYgZG9lcyBmb3IgY2VydGFp
biBtYXBwaW5ncy4NCj4gDQo+IEFueXdheSwgSSBkb24ndCB0aGluayB0aGUgcHJvYmxlbSBzaG91
bGQgYmUgc29sdmVkIGhlcmUgb3IgYnkgeW91ICh0aGlzIGlzIGxpa2VseSBnb2luZyB0byBiZSBh
IGNhbiBvZiB3b3JtcykuIEZvciBub3csIEkgd291bGQgY29uc2lkZXIgdG8gc2ltcGx5IGRyb3Ag
dGhlIHBhdGNoZXMgdGhhdCBhcmUgdHJ5aW5nIHRvIGRvIHRoZSBtZXJnZS4NCj4gDQo+IEFueSB0
aG91Z2h0cz8NCg0KWWVzIEkgYWdyZWUgd2l0aCB5b3UsIEnigJlsbCBkcm9wIHRoZSBwYXRjaCB0
aGF0IHRyaWVzIHRvIGRvIHRoZSBtZXJnZSwgSSB3YXMgdGhpbmtpbmcgYWJvdXQgY2hlY2tpbmcg
dGhhdCB0aGUgZ3Vlc3QgcGh5cyBzdGF0aWMgbWVtIHJlZ2lvbiBpcw0KaW5zaWRlIHRoZXNlIGJv
dW5kYXJpZXM6DQoNCiNkZWZpbmUgR1VFU1RfUkFNX0JBTktfQkFTRVMgeyBHVUVTVF9SQU0wX0JB
U0UsIEdVRVNUX1JBTTFfQkFTRSB9DQojZGVmaW5lIEdVRVNUX1JBTV9CQU5LX1NJWkVTIHsgR1VF
U1RfUkFNMF9TSVpFLCBHVUVTVF9SQU0xX1NJWkUgfQ0KDQphbmQgYWxzbyB0aGF0IGRvZXNu4oCZ
dCBvdmVybGFwIHdpdGggKHN0cnVjdCBrZXJuZWxfaW5mbykubWVtLCBkb2VzIGl0IHNvdW5kcyBy
aWdodCB0byB5b3U/DQoNClNvIGluIHRoaXMgcGF0Y2ggSSB3aWxsIG9ubHkgcG9wdWxhdGUgdGhl
IC9tZW1vcnkgbm9kZXMgd2l0aCB0aGUgc3RhdGljIHNoYXJlZCBtZW1vcnkgYmFua3MuDQoNCg0K
PiANCj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:06:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706782.1104153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwelo-0004IU-9X; Tue, 16 Apr 2024 09:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706782.1104153; Tue, 16 Apr 2024 09: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 1rwelo-0004IN-5Z; Tue, 16 Apr 2024 09:06:28 +0000
Received: by outflank-mailman (input) for mailman id 706782;
 Tue, 16 Apr 2024 09:06:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rwelm-0004IH-Bk
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:06:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rwelm-0003yV-12; Tue, 16 Apr 2024 09:06:26 +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 1rwell-0005Gi-Qb; Tue, 16 Apr 2024 09:06:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=hek42AkB0WCmB8hfBlA2JqvGThAvFJKFAavCN1HP0jI=; b=A2ozPsmlGK0++w6NSQCzthN9GW
	0NAQ8G4i6n3htsihaKgh/shkKPBuqUbM7E29adwGg7HMkY4fvT/2SLrGa7tt+UM4pPt5G1WqxsZHx
	BlYhHKokgJB8C55h7k4faOkBHWaXIljeztdtfLf1lXi0034Xd2ZzJBEPN2B+D6ExMJa0=;
Message-ID: <cf9fb8b0-a8d2-4d30-a669-db1c09acc49b@xen.org>
Date: Tue, 16 Apr 2024 10:06:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <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: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-14-luca.fancellu@arm.com>
 <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
 <39165767-26EA-4849-9C02-12393933139E@arm.com>
 <74cfa4fe-2ee8-4700-be90-4227704f96d1@xen.org>
 <F1BB5F9C-0683-420C-AB77-BBE88AB16347@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <F1BB5F9C-0683-420C-AB77-BBE88AB16347@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 16/04/2024 09:59, Luca Fancellu wrote:
> 
> 
>> On 16 Apr 2024, at 09:50, Julien Grall <julien@xen.org> wrote:
>>
>>
>>
>> On 16/04/2024 07:27, Luca Fancellu wrote:
>>> Hi Julien,
>>
>> Hi Luca,
>>
>>>> On 15 Apr 2024, at 19:41, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> Hi Luca,
>>>>
>>>> On 09/04/2024 12:45, Luca Fancellu wrote:
>>>>> Currently Xen is not exporting the static shared memory regions
>>>>> to the device tree as /memory node, this commit is fixing this
>>>>> issue.
>>>>> The static shared memory banks can be part of the memory range
>>>>> available for the domain, so if they are overlapping with the
>>>>> normal memory banks, they need to be merged together in order
>>>>> to produce a /memory node with non overlapping ranges in 'reg'.
>>>>
>>>> Before reviewing the code in more details, I would like to understand a bit more the use case and whether it should be valid.
>>>>
>>>>  From my understanding, the case you are trying to prevent is the following setup:
>>>>   1. The Guest Physical region 0x0000 to 0x8000 is used for RAM
>>>>   2. The Guest Physical region 0x0000 to 0x4000 is used for static memory
>>> So far, it was possible to map guest physical regions inside the memory range given to the guest,
>>> so the above configuration was allowed and the underlying host physical regions were of course
>>> different and enforced with checks. So I’m not trying to prevent this behaviour, however ...
>>>>
>>>> The underlying Host Physical regions may be different. Xen doesn't guarantee in which order the regions will be mapped, So whether the overlapped region will point to the memory or the shared region is unknown (we don't guarantee the order of the mapping). So nothing good will happen to the guest.
>>> ... now here I don’t understand if this was wrong from the beginning or not, shall we enforce also that
>>> guest physical regions for static shared memory are outside the memory given to the guest?
>>
>> Nothing good will happen if you are trying to overwrite mappings. So I think this should be enforced. However, this is a more general problem. At the moment, this is pretty much as mess because you can overwrite any mapping (e.g. map MMIO on top of the RAM).
>>
>> I think the easiest way to enforce is to do it in the P2M code like x86 does for certain mappings.
>>
>> Anyway, I don't think the problem should be solved here or by you (this is likely going to be a can of worms). For now, I would consider to simply drop the patches that are trying to do the merge.
>>
>> Any thoughts?
> 
> Yes I agree with you, I’ll drop the patch that tries to do the merge, I was thinking about checking that the guest phys static mem region is
> inside these boundaries:
> 
> #define GUEST_RAM_BANK_BASES { GUEST_RAM0_BASE, GUEST_RAM1_BASE }
> #define GUEST_RAM_BANK_SIZES { GUEST_RAM0_SIZE, GUEST_RAM1_SIZE }
> 
> and also that doesn’t overlap with (struct kernel_info).mem, does it sounds right to you?

I don't fully understand what you want to do. But as I wrote before, the 
overlaps happen with many different regions (what if you try to use the 
GIC Distributor regions for the shared memory?).

So if we want some overlaps check, then it has to be generic.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:08:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:08:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706788.1104161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwena-0005gL-IT; Tue, 16 Apr 2024 09:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706788.1104161; Tue, 16 Apr 2024 09: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 1rwena-0005gE-Fe; Tue, 16 Apr 2024 09:08:18 +0000
Received: by outflank-mailman (input) for mailman id 706788;
 Tue, 16 Apr 2024 09:08: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=ze4s=LV=bounce.vates.tech=bounce-md_30504962.661e3ffc.v1-cd0b31d4047c4070870f72ff6edafebb@srs-se1.protection.inumbo.net>)
 id 1rwenZ-0005g6-3l
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:08:17 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dafffb4a-fbd0-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 11:08:14 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJdVh6Vlrz8XRxWN
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 09:08:12 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 cd0b31d4047c4070870f72ff6edafebb; Tue, 16 Apr 2024 09:08:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dafffb4a-fbd0-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713258492; x=1713518992;
	bh=psZ1jgY5/ShxiZ95g6hDQhTaYC5/6jQ8OcbLtKEGa6w=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=UeOPDwm4rYtRP45FvyZNoXD21U7rUr7oLcP4uAbcyRBEUkAKMNRHVELzlewvUfvi4
	 tzCoFfNuCmzij6jMrE2dgtsS7nDllJssCABQAQnH33YXKd4Pdpjzp1O77YibD8/RyO
	 yYN9AOYzOnU8VypLqXgt/y2FLGlFhN1AQLVZRqDJ4kcgXgbStYlWuZ5Bl4IZCHMHuN
	 0xO0nhgAOcxzlpPxc/CMevh+5m+oHkZpDnXcBCVXttLx7rWlX4HNx1HgmQvHmmUydw
	 2FjTIidoqbTPSp2Abk7OoSGwN85JavX9kHG+n4MaOKniG1zSnJ544vIhDzUXeL8XKj
	 eI+csgV1FGoqw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713258492; x=1713518992; i=vaishali.thakkar@vates.tech;
	bh=psZ1jgY5/ShxiZ95g6hDQhTaYC5/6jQ8OcbLtKEGa6w=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=fXqnSg6MLrAvvRyLbbePKNmeJmTy18U10HUiKC++fbwnkCjeVZAbWcMZX4RAecjrB
	 U6EGW9BjLcrmyIdN1iFfBslWokesUkmFUm8KB5bZVdzcQNrPNk978YTMkkCB7KUaWD
	 kTtN/Wh7vfHH52I+cNS9wPH/5D9lE2SjT0fp4O3PsFqpuXzU/x6bPtEdpJhMb9mv3S
	 iFwvF75Gq8J5g71qdkMmNRGl7kVedP6jhZwGfslC4rP3yc5ucIo5NIMsDSV7CpWiAf
	 u75o5eAr6AucIiLuodj7Y57OzqJOOKGTs86porQfQz0DAc+eMlEiV1IQxcMvELLF2P
	 vKVzWzo2L3QNg==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?[PATCH]=20x86/svm:=20Add=20flushbyasid=20in=20the=20supported=20features?=
X-Mailer: git-send-email 2.44.0
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713258491675
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, Vaishali Thakkar <vaishali.thakkar@vates.tech>
Message-Id: <b8541a3c70058a74c837352901f2e6a8b45e4fa2.1713258186.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.cd0b31d4047c4070870f72ff6edafebb?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240416:md
Date: Tue, 16 Apr 2024 09:08:12 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

TLB Flush by ASID is missing in the list of supported features
here. So, add it.

Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>
---
 xen/arch/x86/hvm/svm/svm.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index a745acd903..4719fffae5 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2510,6 +2510,7 @@ const struct hvm_function_table * __init start_svm(void)
     P(cpu_has_svm_lbrv, "Last Branch Record (LBR) Virtualisation");
     P(cpu_has_svm_nrips, "Next-RIP Saved on #VMEXIT");
     P(cpu_has_svm_cleanbits, "VMCB Clean Bits");
+    P(cpu_has_svm_flushbyasid, "TLB flush by ASID");
     P(cpu_has_svm_decode, "DecodeAssists");
     P(cpu_has_svm_vloadsave, "Virtual VMLOAD/VMSAVE");
     P(cpu_has_svm_vgif, "Virtual GIF");
-- 
2.44.0


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706795.1104174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwev9-0000jD-Av; Tue, 16 Apr 2024 09:16:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706795.1104174; Tue, 16 Apr 2024 09:16: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 1rwev9-0000j6-8S; Tue, 16 Apr 2024 09:16:07 +0000
Received: by outflank-mailman (input) for mailman id 706795;
 Tue, 16 Apr 2024 09:16: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=Qw+g=LV=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rwev8-0000j0-Nm
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:16: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 f3f36ab4-fbd1-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 11:16:05 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a5269c3f9c7so249524866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 02:16:05 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u2-20020a17090657c200b00a524476aac9sm4654723ejr.108.2024.04.16.02.16.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 02:16: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: f3f36ab4-fbd1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713258965; x=1713863765; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VMo9HfH+/6PT62gxIGHAj1EtchV4P4c0BEQDSxaYl8E=;
        b=VJEok3iEtIuwmTdUJzPtp1ihuKw0D7NcjP8Gb5OBw6Cg9Q2WNz13BveNZpueLRBpzm
         5B3eUEwjBxfTgDED4tygut7mHvXw4Pnqs33ekd599tE6tovSANBxNZBGKCRFNaHoCrd4
         czA7ZJI/AxEdHPjl6DE+U6W4ZpGgwgEYYtyC8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713258965; x=1713863765;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VMo9HfH+/6PT62gxIGHAj1EtchV4P4c0BEQDSxaYl8E=;
        b=kbM/vrt1FgsQcXvaA0wsXNEK+sCJ8ZdgbAjHhN5Us0521WVnKZOaycgbHk5YJwm06y
         Yc0C6/xozr6pPp9L9bEVBtXETMwlmF+ZDg7B54+NWEHi+d5ruT386N1NmllMQ6GAtm5d
         T7V/2rH3pmB6kC87uNgcnx6zIZOsjYumiqD8KCQzLHBLjN/81ghSiDDTUysQvzfLqvgJ
         4f4Az0SEVfpR5OVgSj3ubHc3iAc1ug7NRZuPfLv/t3SXrKAWPoNB9uUtHz5Up1Z6nG6H
         hQWwsoOW+qiF6YMU9Yp9w0cDpEktB0U48vX3ckQvahUmgQiNuMkVjMUYZ07yQ4n8OCcD
         z0wQ==
X-Gm-Message-State: AOJu0Yzbuz9+rdStdh2Q9OTjVNdv9L39mdB6BMa27fWO/ml4bOvmZzsv
	KvkRZpADfa7LDxm1gmLJO13nzCqNF3cB4i1Jkam7XWB2lxP1MXirtsCOziIQ1mhn/BeAqSgAvq2
	5
X-Google-Smtp-Source: AGHT+IGiVFzED4vE2YgqcbK2WERtwlr9k7iUaPSamGBfKHXw9VfXOpLltOmof+L9ChbTrnrinumiKA==
X-Received: by 2002:a17:906:2dc5:b0:a52:225a:2ebe with SMTP id h5-20020a1709062dc500b00a52225a2ebemr6719632eji.71.1713258964803;
        Tue, 16 Apr 2024 02:16:04 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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/5] x86: Update x86 low level version check of microcode
Date: Tue, 16 Apr 2024 10:15:42 +0100
Message-ID: <20240416091546.11622-2-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240416091546.11622-1-fouad.hilly@cloud.com>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update microcode version check at Intel and AMD Level by:
Preventing the low level code from sending errors if the microcode
version provided is not a newer version. Other errors will be sent like before.
When the provided microcode version is the same as the current one, code
to point to microcode provided.
Microcode version check happens at higher and common level in core.c.
Keep all the required code at low level that checks for signature and CPU compatibility

[v2]
Update message description to better describe the changes

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 xen/arch/x86/cpu/microcode/amd.c   |  8 ++------
 xen/arch/x86/cpu/microcode/intel.c | 11 +++--------
 2 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 75fc84e445ce..4f805f662701 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -383,12 +383,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
                 goto skip;
             }
 
-            /*
-             * If the new ucode covers current CPU, compare ucodes and store the
-             * one with higher revision.
-             */
-            if ( (microcode_fits(mc->patch) != MIS_UCODE) &&
-                 (!saved || (compare_header(mc->patch, saved) == NEW_UCODE)) )
+            /* If the provided ucode covers current CPU, then store its revision. */
+            if ( (microcode_fits(mc->patch) != MIS_UCODE) && !saved )
             {
                 saved = mc->patch;
                 saved_size = mc->len;
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 060c529a6e5d..e65c02a57987 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct microcode_patch *patch)
 
     result = microcode_update_match(patch);
 
-    if ( result != NEW_UCODE &&
-         !(opt_ucode_allow_same && result == SAME_UCODE) )
+    if ( result != NEW_UCODE && result != SAME_UCODE )
         return -EINVAL;
 
     wbinvd();
@@ -354,12 +353,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
         if ( error )
             break;
 
-        /*
-         * If the new update covers current CPU, compare updates and store the
-         * one with higher revision.
-         */
-        if ( (microcode_update_match(mc) != MIS_UCODE) &&
-             (!saved || compare_revisions(saved->rev, mc->rev) == NEW_UCODE) )
+        /* If the provided ucode covers current CPU, then store its revision. */
+        if ( (microcode_update_match(mc) != MIS_UCODE) && !saved )
             saved = mc;
 
         buf  += blob_size;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706797.1104191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevA-000118-Tf; Tue, 16 Apr 2024 09:16:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706797.1104191; Tue, 16 Apr 2024 09:16:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevA-000104-NU; Tue, 16 Apr 2024 09:16:08 +0000
Received: by outflank-mailman (input) for mailman id 706797;
 Tue, 16 Apr 2024 09:16:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qw+g=LV=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rwev9-0000mP-QT
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:16: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 f37d09b9-fbd1-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 11:16:04 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-56e69888a36so5970587a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 02:16:04 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u2-20020a17090657c200b00a524476aac9sm4654723ejr.108.2024.04.16.02.16.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 02:16: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: f37d09b9-fbd1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713258963; x=1713863763; 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=ltubGLefEDolxtp8ox5INf6GbOLV1KLVErR1cmTeOMk=;
        b=KyQ7jHEC8IrY9g1pjTtqr41KDYGutyotZu7/E2VS998/FAv6CEolGlspOixpJ7PrkX
         Sqz+ik0JSprlwId/gpkbzT1ybOjj0ZbA/5N1Sb2Ejpg5H9JiLLYm+a0ryQLWWV5LQPgY
         d5vZoZUUVZj8NcLjp1eE9UiBt1HfIHn2hiFT4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713258963; x=1713863763;
        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=ltubGLefEDolxtp8ox5INf6GbOLV1KLVErR1cmTeOMk=;
        b=OmqhuqPY4RsgthObnStgKxdJ75e0SkNf2JX9h+svyRCd8aHA4kU6o0CLMnwg8RYeW6
         SXlS89j9NKlcm9nfP3sHONazy809p+RG19boqXEcHhCLd4upe1HKlKo832DecNILqSr+
         iWCFvb775pZndHyxrqDHmtxUzKYKA7+sMj9UtBE2ATbX1U0ZkIpaFnF1kR9xUspqmC5V
         vWU7on/veaqZ41bjDBHnbt+czfti9Y8N9UAX93Rub8RXSouZD/6UDWDhL1smJwAxq/mz
         s1aoluyllNyeao42wFe9ExqHqU382hBHoeCNrw5a1yUHidEHuHKR0YXvHJMbCifzxlSj
         OhGA==
X-Gm-Message-State: AOJu0YzTCjsFE7np3DWYerbbCOPxVEwL5Frv6wolSTRmje5K8PZDi+Jx
	Ckaobz/WyrWOiazqXXSOVevDDseS17S9nADvNOrCNCnIuXE6wVCy/Zf5kdyEwdrnuG2zrehAP1G
	2MWM=
X-Google-Smtp-Source: AGHT+IGSUftes4roGfXCGierUGaj8rcboY5VBtaY0FJucGwosyJlPdAOEwgQ0FZslzNrd+zrdN4wxA==
X-Received: by 2002:a17:907:7283:b0:a52:320a:632f with SMTP id dt3-20020a170907728300b00a52320a632fmr9265665ejc.27.1713258963638;
        Tue, 16 Apr 2024 02:16:03 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 0/5] x86/xen-ucode: Introduce --force option
Date: Tue, 16 Apr 2024 10:15:41 +0100
Message-ID: <20240416091546.11622-1-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor and introduce --force option to xen-ucode, which skips microcode
version check when updating x86 CPU micocode. A new hypercall introduced
with flags field to facilitate the new option and allow for future flags
as needed.

Fouad Hilly (5):
  x86: Update x86 low level version check of microcode
  x86: Refactor microcode_update() hypercall with flags
  x86: Add usage() to print out usage message
  x86: Use getopt to handle command line args
  x86: Add --force option to xen-ucode to override microcode version
    check

 tools/include/xenctrl.h              |  3 +-
 tools/libs/ctrl/xc_misc.c            | 13 +++++-
 tools/misc/xen-ucode.c               | 62 ++++++++++++++++++++++------
 xen/arch/x86/cpu/microcode/amd.c     |  8 +---
 xen/arch/x86/cpu/microcode/core.c    | 14 +++++--
 xen/arch/x86/cpu/microcode/intel.c   | 11 ++---
 xen/arch/x86/include/asm/microcode.h |  3 +-
 xen/arch/x86/platform_hypercall.c    | 12 +++++-
 xen/include/public/platform.h        |  6 +++
 9 files changed, 97 insertions(+), 35 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706796.1104185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevA-0000xd-KK; Tue, 16 Apr 2024 09:16:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706796.1104185; Tue, 16 Apr 2024 09:16:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevA-0000xW-Fb; Tue, 16 Apr 2024 09:16:08 +0000
Received: by outflank-mailman (input) for mailman id 706796;
 Tue, 16 Apr 2024 09: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=Qw+g=LV=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rwev9-0000j0-DM
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:16:07 +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 f4a4db3f-fbd1-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 11:16:06 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a526a200879so259444566b.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 02:16:06 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u2-20020a17090657c200b00a524476aac9sm4654723ejr.108.2024.04.16.02.16.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 02: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: f4a4db3f-fbd1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713258965; x=1713863765; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5JYgU5u131JTGNDKaVXDUtjVdH+AOMW24dDk4iz+IAQ=;
        b=BzYa4uWHuv2Zvez4tzfhdDI/KoMiyVC6rj2YpR1zB1V6o7MQaEHqTGeHINqH32Zq1w
         /9PYScTREX0D+fqhd0bjRAGUzPCCFTF/pKUnueI4i4cSgtSG7r1BDQOGCYBiZNQR/xHR
         ysZ8aA71P81R79L7RSdNaF4zRJWD9T2NOtMCk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713258965; x=1713863765;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=5JYgU5u131JTGNDKaVXDUtjVdH+AOMW24dDk4iz+IAQ=;
        b=f2BX9A74SeYKemXzAmQuC3/t6lWwEab6aIgmQyhExTmESIebEk4SDYKugmEHC1Rvz5
         L7Mf8asg+Dksvg6zxmEVptvbA6jzlbS2wvzXHPoh4v948BSGQbvM8ew1vFxBjq/ddy7E
         AxeXb+nos26IzJh9T4WslNoSzuna/2NvqkH9RY5SVSgP/6+3dgMPzb1V9hLge3Y7e86m
         zEC0TRQKZ/YSgLsHGESfO73XyRSrGHEKQ+kdQFMQQGJfZsqHRVlXYftoKo1yjE+Lnz+w
         +BBJv6rpKvDDVL52goRPEyrMpDUEpkbiGNKk0MdhFLacxpU6qO7yWlO5jdYXhzADPlWx
         bffQ==
X-Gm-Message-State: AOJu0YwYDuTrf69LNg7Kt5RsPFUx1G8amvC0hLH9Bm4YOrRUQleriE0J
	+uOFhznHnligavd+ywBZon22dIvGyEhA3C9JSJjoTZx/I6pDar73XnsBGsgMwJBE+OGkqG8s4QM
	q
X-Google-Smtp-Source: AGHT+IHxM5DeAYgkZJbDRrxtvBfaz5fjtIiGJp51U0h7y+qo192KWoRi01Ube2KEpZZGxGO6bm3fPA==
X-Received: by 2002:a17:906:aed4:b0:a52:6a31:a9f2 with SMTP id me20-20020a170906aed400b00a526a31a9f2mr3136041ejb.70.1713258965596;
        Tue, 16 Apr 2024 02:16:05 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 2/5] x86: Refactor microcode_update() hypercall with flags
Date: Tue, 16 Apr 2024 10:15:43 +0100
Message-ID: <20240416091546.11622-3-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240416091546.11622-1-fouad.hilly@cloud.com>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor microcode_update() hypercall by adding flags field.
Introduce XENPF_microcode_update2 hypercall to handle flags field.
struct xenpf_microcode_update updated to have uint32_t flags at
the end of the sturcture.

[v2]
1- Update message description to highlight interface change.
2- Removed extra empty lines.
3- removed unnecessary define.
4- Corrected long lines.
5- Removed ternary operator.
6- Introduced static ucode_update_flags, which will be used later to determine local ucode_force_flag.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 xen/arch/x86/cpu/microcode/core.c    | 14 +++++++++++---
 xen/arch/x86/include/asm/microcode.h |  3 ++-
 xen/arch/x86/platform_hypercall.c    | 12 +++++++++++-
 xen/include/public/platform.h        |  6 ++++++
 4 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 1c9f66ea8a0f..99b651d8c3a1 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -40,6 +40,8 @@
 #include <asm/processor.h>
 #include <asm/setup.h>
 
+#include <public/platform.h>
+
 #include "private.h"
 
 /*
@@ -100,6 +102,8 @@ static bool ucode_in_nmi = true;
 
 bool __read_mostly opt_ucode_allow_same;
 
+static unsigned int ucode_update_flags = 0;
+
 /* Protected by microcode_mutex */
 static struct microcode_patch *microcode_cache;
 
@@ -580,6 +584,7 @@ static long cf_check microcode_update_helper(void *data)
     struct ucode_buf *buffer = data;
     unsigned int cpu, updated;
     struct microcode_patch *patch;
+    bool ucode_force_flag = ucode_update_flags == XENPF_UCODE_FLAG_FORCE_SET;
 
     /* cpu_online_map must not change during update */
     if ( !get_cpu_maps() )
@@ -633,12 +638,12 @@ static long cf_check microcode_update_helper(void *data)
                                   microcode_cache);
 
         if ( result != NEW_UCODE &&
-             !(opt_ucode_allow_same && result == SAME_UCODE) )
+             !((opt_ucode_allow_same || ucode_force_flag) && result == SAME_UCODE) )
         {
             spin_unlock(&microcode_mutex);
             printk(XENLOG_WARNING
                    "microcode: couldn't find any newer%s revision in the provided blob!\n",
-                   opt_ucode_allow_same ? " (or the same)" : "");
+                   (opt_ucode_allow_same || ucode_force_flag) ? " (or the same)" : "");
             microcode_free_patch(patch);
             ret = -ENOENT;
 
@@ -708,7 +713,8 @@ static long cf_check microcode_update_helper(void *data)
     return ret;
 }
 
-int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
+int microcode_update(XEN_GUEST_HANDLE(const_void) buf,
+                     unsigned long len, unsigned int flags)
 {
     int ret;
     struct ucode_buf *buffer;
@@ -731,6 +737,8 @@ int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
     }
     buffer->len = len;
 
+    ucode_update_flags = flags;
+
     /*
      * Always queue microcode_update_helper() on CPU0.  Most of the logic
      * won't care, but the update of the Raw CPU policy wants to (re)run on
diff --git a/xen/arch/x86/include/asm/microcode.h b/xen/arch/x86/include/asm/microcode.h
index 8f59b20b0289..57c08205d475 100644
--- a/xen/arch/x86/include/asm/microcode.h
+++ b/xen/arch/x86/include/asm/microcode.h
@@ -22,7 +22,8 @@ struct cpu_signature {
 DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
 
 void microcode_set_module(unsigned int idx);
-int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len);
+int microcode_update(XEN_GUEST_HANDLE(const_void) buf,
+                     unsigned long len, unsigned int flags);
 int early_microcode_init(unsigned long *module_map,
                          const struct multiboot_info *mbi);
 int microcode_init_cache(unsigned long *module_map,
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 95467b88ab64..3b29ede8b316 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -311,7 +311,17 @@ ret_t do_platform_op(
 
         guest_from_compat_handle(data, op->u.microcode.data);
 
-        ret = microcode_update(data, op->u.microcode.length);
+        ret = microcode_update(data, op->u.microcode.length, 0);
+        break;
+    }
+
+    case XENPF_microcode_update2:
+    {
+        XEN_GUEST_HANDLE(const_void) data;
+
+        guest_from_compat_handle(data, op->u.microcode.data);
+
+        ret = microcode_update(data, op->u.microcode.length, op->u.microcode.flags);
         break;
     }
 
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 15777b541690..cc19b2956b46 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -99,6 +99,9 @@ struct xenpf_microcode_update {
     /* IN variables. */
     XEN_GUEST_HANDLE(const_void) data;/* Pointer to microcode data */
     uint32_t length;                  /* Length of microcode data. */
+    uint32_t flags;                   /* Flags to be passed with ucode. */
+/* Force to skip microcode version check when set */
+#define XENPF_UCODE_FLAG_FORCE_SET     1
 };
 typedef struct xenpf_microcode_update xenpf_microcode_update_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_microcode_update_t);
@@ -624,6 +627,9 @@ struct xenpf_ucode_revision {
 typedef struct xenpf_ucode_revision xenpf_ucode_revision_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_ucode_revision_t);
 
+/* Hypercall to microcode_update with flags */
+#define XENPF_microcode_update2    66
+
 /*
  * ` enum neg_errnoval
  * ` HYPERVISOR_platform_op(const struct xen_platform_op*);
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706798.1104205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevC-0001Rz-6N; Tue, 16 Apr 2024 09:16:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706798.1104205; Tue, 16 Apr 2024 09:16:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevC-0001Rr-1r; Tue, 16 Apr 2024 09:16:10 +0000
Received: by outflank-mailman (input) for mailman id 706798;
 Tue, 16 Apr 2024 09: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=Qw+g=LV=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rwevA-0000j0-DQ
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:16: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 f503c26e-fbd1-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 11:16:07 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a5200afe39eso512106966b.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 02:16:07 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u2-20020a17090657c200b00a524476aac9sm4654723ejr.108.2024.04.16.02.16.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 02: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: f503c26e-fbd1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713258966; x=1713863766; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8L5gTKzhiipTLmXWv/M3h8GXKJ30XFqq9tUQkMs7y54=;
        b=bOkaKFjMhNuUeICsj4Kb/zaUNlqdoUInm5//RCaxOUjHwVX86j7VcuBkFSlJnAy50Y
         QEr70VoUrQBphwDXecZycAxA8caAV05DE/wGO71czteAjy+y7v3qDoxELqsGF4tyFHQ5
         +iH0yJG6HrLJnPZx4J9Uy7U2FwZNpojCH4UfI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713258966; x=1713863766;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8L5gTKzhiipTLmXWv/M3h8GXKJ30XFqq9tUQkMs7y54=;
        b=kOZk74AdXTIjlVIVhiLJT2pC9rJyup35fxRRwYRFgLWgdde7WXzS6+YGQn4couSmFd
         iCzhzjLWkOUSg2BxJFTiZBabXsah0zkAjYMq2O21Pj6dFLo161opdX181LTwe7h7CS5S
         /5574pv4dUwZlj9t8EQo2cXSZV9qHzGWGiv75fDDHPp0PZ10D94XjbCK8fjdLQ/k8XVt
         yiZmTvgXAlTBurUsalLV8Ggx+XypoNX1t938LZYP/9hJzQGNuJV8k8BSp94JDKYD4c8r
         n+5kIZHE9KKhLht1Gv8KXQ6lO4u5h0YnAI1kLpZGhL01qvXgeQsJUAQzk690i9Q2kZcO
         AK+g==
X-Gm-Message-State: AOJu0Yzb2IbWVRsr1qFgqs6+L6YEekf5Wr9wvkjWGm36dlLwbcF6V9Uy
	aI2JVqnfqBzgldtZ8RJQB//GZWbC5T84fDFgAdqm96tMLb0znjVuaw2P+U1msSEgzFbv4mpyHBv
	9
X-Google-Smtp-Source: AGHT+IFZEmBGqBvnw2Jp/PJNHnVx1tMBkCNCPTVTjpqTQ1tLdZHbYTcE8DSmFB2Nf2q5YLdd+VNC2Q==
X-Received: by 2002:a17:906:af14:b0:a52:68db:9fe7 with SMTP id lx20-20020a170906af1400b00a5268db9fe7mr4714628ejb.11.1713258966751;
        Tue, 16 Apr 2024 02:16:06 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 3/5] x86: Add usage() to print out usage message
Date: Tue, 16 Apr 2024 10:15:44 +0100
Message-ID: <20240416091546.11622-4-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240416091546.11622-1-fouad.hilly@cloud.com>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor xen-ucode tool by adding usage() to handle usage\help messages
As we add more command options this will keep help\usage messages in common block

[v2]
1- Improved message description.
2- Fixed formatting and indentation.
3- Error message to print to stderr.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 tools/misc/xen-ucode.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index c6ae6498d659..0c0b2337b4ea 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -17,6 +17,15 @@ static xc_interface *xch;
 static const char intel_id[] = "GenuineIntel";
 static const char   amd_id[] = "AuthenticAMD";
 
+static void usage(const char *name)
+{
+    printf("%s: Xen microcode updating tool\n"
+           "Usage: %s [microcode file] [options]\n"
+           "Options:\n"
+           "show-cou-info   show CPU information and exit\n",
+           name, name);
+}
+
 static void show_curr_cpu(FILE *f)
 {
     int ret;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:16:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:16:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706799.1104214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevD-0001hX-Dl; Tue, 16 Apr 2024 09:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706799.1104214; Tue, 16 Apr 2024 09:16:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevD-0001h0-AZ; Tue, 16 Apr 2024 09:16:11 +0000
Received: by outflank-mailman (input) for mailman id 706799;
 Tue, 16 Apr 2024 09:16:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qw+g=LV=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rwevB-0000mP-HQ
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:16:09 +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 f560a58d-fbd1-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 11:16:08 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-570097653faso2633925a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 02:16:08 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u2-20020a17090657c200b00a524476aac9sm4654723ejr.108.2024.04.16.02.16.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 02:16: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: f560a58d-fbd1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713258967; x=1713863767; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QqMqjbPKATTcFkSZJE0LrlnS9bwDIdnbbvMhDvcYVI0=;
        b=VD4zMLkKJwilqmWZlfTGn1w949+B5OUX+RIw4cWqBbSjNcY21YbJPv30FhVrPmtXuY
         9aH19xWrPj7JC9DCRge8f+iz98s9Dt3GWVLbydEd72H204chs4PzqYb4dxKMSz41K1sK
         MwgywaYiv9AeYXPDoGFoA1ajGZWIaesCYxk2o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713258967; x=1713863767;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QqMqjbPKATTcFkSZJE0LrlnS9bwDIdnbbvMhDvcYVI0=;
        b=eDu7yhf8ftMqfsmH9tSSN0sS/AeoUVE692+1rZKXDWXv7MJPVjLAk6w/fZvlBGSHtd
         kXblyNC8ENE0lgVV/Sr2umUTTiVTjjzK64VMoNbWaWq5rzYE6SH4pmJV3tRX2AKpAvc7
         59OlDuXp0ia26GvckPh6ZcKfxX3eS3+ee1gxa/3JoArv8Gzhc0o1Qx03SNu/dUpbPw5U
         1BvrPGrqbO+4JcT+oHDve8ZpcWu1RUBBuE7P508KVd94KhKFtwuQPqBKVIuIxZyWccrF
         Z5GqNySqBt3eGxOylspyOg181XJ6qeFeI4TA1B3fPXQ76asbMYJKf4pPThT81GZ1qto7
         Ye7A==
X-Gm-Message-State: AOJu0Ywyp/crmbzYrJwYorogv+n5nxEaOt7UT2vGx+jKWKw3pSTzmRYw
	JqJSs0LfZH3Q/EX2jhuP6+RIU3z/oQBlI9QgIqGLyXrZEOPY6/kko2FxdUEcA4wQZEJB+9a288V
	f
X-Google-Smtp-Source: AGHT+IGZFc5vZSLMqmSJtZ9LG3B1/EYB+WqDlokgwcpiJVA1CYkpP42KgKueD+A6VdIm2whqItACUA==
X-Received: by 2002:a17:907:9443:b0:a52:3f00:616d with SMTP id dl3-20020a170907944300b00a523f00616dmr10232289ejc.30.1713258967372;
        Tue, 16 Apr 2024 02:16:07 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 4/5] x86: Use getopt to handle command line args
Date: Tue, 16 Apr 2024 10:15:45 +0100
Message-ID: <20240416091546.11622-5-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240416091546.11622-1-fouad.hilly@cloud.com>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use getopt_long() to handle command line arguments.
Introduce ext_err for common exit with errors.

[v2]
1- Removed unnecessary NULL initialization.
2- Used static at the beginning of type struct declaration.
3- Corrected switch\case indentations.
4- Removed redundant checks.
5- Corrected label indentation.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
 tools/misc/xen-ucode.c | 43 ++++++++++++++++++++++++++++++------------
 1 file changed, 31 insertions(+), 12 deletions(-)

diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index 0c0b2337b4ea..e3c1943e3633 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -11,6 +11,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <xenctrl.h>
+#include <getopt.h>
 
 static xc_interface *xch;
 
@@ -22,7 +23,8 @@ static void usage(const char *name)
     printf("%s: Xen microcode updating tool\n"
            "Usage: %s [microcode file] [options]\n"
            "Options:\n"
-           "show-cou-info   show CPU information and exit\n",
+           "  -h, --help            display this help and exit\n"
+           "  -s, --show-cpu-info   show CPU information and exit\n",
            name, name);
 }
 
@@ -86,6 +88,13 @@ int main(int argc, char *argv[])
     char *filename, *buf;
     size_t len;
     struct stat st;
+    int opt;
+
+    static const struct option options[] = {
+        {"help", no_argument, NULL, 'h'},
+        {"show-cpu-info", no_argument, NULL, 's'},
+        {NULL, no_argument, NULL, 0}
+    };
 
     xch = xc_interface_open(NULL, NULL, 0);
     if ( xch == NULL )
@@ -95,19 +104,22 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    if ( argc < 2 )
-    {
-        fprintf(stderr,
-                "xen-ucode: Xen microcode updating tool\n"
-                "Usage: %s [<microcode file> | show-cpu-info]\n", argv[0]);
-        show_curr_cpu(stderr);
-        exit(2);
-    }
+    if ( argc != 2 )
+        goto ext_err;
 
-    if ( !strcmp(argv[1], "show-cpu-info") )
+    while ( (opt = getopt_long(argc, argv, "hs", options, NULL)) != -1 )
     {
-        show_curr_cpu(stdout);
-        return 0;
+        switch (opt)
+        {
+        case 'h':
+            usage(argv[0]);
+            exit(EXIT_SUCCESS);
+        case 's':
+            show_curr_cpu(stdout);
+            exit(EXIT_SUCCESS);
+        default:
+            goto ext_err;
+        }
     }
 
     filename = argv[1];
@@ -152,4 +164,11 @@ int main(int argc, char *argv[])
     close(fd);
 
     return 0;
+
+ ext_err:
+    fprintf(stderr,
+            "xen-ucode: Xen microcode updating tool\n"
+            "Usage: %s [microcode file] [options]\n", argv[0]);
+    show_curr_cpu(stderr);
+    exit(STDERR_FILENO);
 }
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:16:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:16:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706800.1104221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevD-0001nA-UZ; Tue, 16 Apr 2024 09:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706800.1104221; Tue, 16 Apr 2024 09:16:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwevD-0001lY-Lj; Tue, 16 Apr 2024 09:16:11 +0000
Received: by outflank-mailman (input) for mailman id 706800;
 Tue, 16 Apr 2024 09:16: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=Qw+g=LV=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rwevC-0000mP-RT
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:16:10 +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 f61d111e-fbd1-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 11:16:09 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a51a7dc45easo461971566b.2
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 02:16:09 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u2-20020a17090657c200b00a524476aac9sm4654723ejr.108.2024.04.16.02.16.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 02:16: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: f61d111e-fbd1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713258968; x=1713863768; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sEqOdsYIwbuJuEjSHon4MvvMLQajO7Ykh4oIkPsh7vk=;
        b=EFcGpBQXmYHnfRATV1FQR91RHfwKH8mQB3gp7V4eOrU3x+SiLzbkTGzG7zBkSu0nCt
         bhCTB79DuUHkGkRh2JmPBrT7V/08J8Rr0B6dSn8PmLHZKoTsugDpEfP6Sm7OPCiF+ugg
         LaEj4lkQ6jljTPALMmb0NG443Zjn8DHUwdB7Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713258968; x=1713863768;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sEqOdsYIwbuJuEjSHon4MvvMLQajO7Ykh4oIkPsh7vk=;
        b=uJQ1yHCsg+JrhsDrINwBmITEnwxHQBR1MRV4TrB0NKFPIDXq8ajEe0g9TsogTA8fnx
         sdjV707XpALj+LPXb0Yjn3QXb2/sokS1wLwRlz8scjiTs/NeB3JmnE3U+xTX/otr+X24
         klL+wwTHkCveYme25fM2/ol5+MNCIysTLDg5oQIgQuBM8yEzJkh2mtC6qviIHrILa4VL
         6ZRRsNowMLtEyyiyTlmGhAuE3fKiIvREvYGuxoMiMgEYymDDdQk9k30TrlaOqHTe7ujZ
         NvNf+JChUp6aWSePetqAE7hAriOzmDIGpMDxIblLooq3yba8Pgod/D/ufzKyQ6rISEAk
         LJhg==
X-Gm-Message-State: AOJu0YzGOlnA0ZtR1Sxde0vRRGyW0ubzo/eumZtUd9UXwZ5GpP5hRxQk
	+bWZHHa2KTwGMn6yEcwDk9+Qb6dpOLNY6/1M4iLEkENRz96QaQAtRx2ddwZVW07wEX/vaKwkHZi
	H
X-Google-Smtp-Source: AGHT+IFWpEzwKPPdl1mw7tvXvVp9ZxgCj5ozb/nm/DQDDqkJUfTfQKWsf4eXQoXnBllzoU9TwfBbVQ==
X-Received: by 2002:a17:907:6d18:b0:a51:e2a9:97c with SMTP id sa24-20020a1709076d1800b00a51e2a9097cmr12237822ejc.6.1713258968006;
        Tue, 16 Apr 2024 02:16:08 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v2 5/5] x86: Add --force option to xen-ucode to override microcode version check
Date: Tue, 16 Apr 2024 10:15:46 +0100
Message-ID: <20240416091546.11622-6-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240416091546.11622-1-fouad.hilly@cloud.com>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce --force option to xen-ucode to force skipping microcode version
check, which allows the user to update x86 microcode even if both versions
are the same.

[v2]
1- Changed data type from uint32_t to unsigned int.
2- Corrected line length.
3- Removed XENPF_UCODE_FLAG_FORCE_NOT_SET.
4- Corrected indentations.
5- Changed command line options to have the file name as first argument when applicable.
6- --force option doesn't require an argument anymore.
7- Used optint to access filename in argv.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 tools/include/xenctrl.h   |  3 ++-
 tools/libs/ctrl/xc_misc.c | 13 +++++++++++--
 tools/misc/xen-ucode.c    | 18 +++++++++++++-----
 3 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e05422..49d2f19c0d77 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1171,7 +1171,8 @@ typedef uint32_t xc_node_to_node_dist_t;
 int xc_physinfo(xc_interface *xch, xc_physinfo_t *info);
 int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo);
-int xc_microcode_update(xc_interface *xch, const void *buf, size_t len);
+int xc_microcode_update(xc_interface *xch, const void *buf,
+                        size_t len, unsigned int flags);
 int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver);
 int xc_get_ucode_revision(xc_interface *xch,
                           struct xenpf_ucode_revision *ucode_rev);
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 5ecdfa2c7934..fbc17cefa82e 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -203,7 +203,8 @@ int xc_physinfo(xc_interface *xch,
     return 0;
 }
 
-int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
+int xc_microcode_update(xc_interface *xch, const void *buf,
+                        size_t len, unsigned int flags)
 {
     int ret;
     struct xen_platform_op platform_op = {};
@@ -215,7 +216,15 @@ int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
 
     memcpy(uc, buf, len);
 
-    platform_op.cmd = XENPF_microcode_update;
+    if ( flags > 0 )
+    {
+        platform_op.cmd = XENPF_microcode_update2;
+        platform_op.u.microcode.flags = flags;
+    }
+    else
+    {
+        platform_op.cmd = XENPF_microcode_update;
+    }
     platform_op.u.microcode.length = len;
     set_xen_guest_handle(platform_op.u.microcode.data, uc);
 
diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index e3c1943e3633..4178fd2221ea 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -13,6 +13,8 @@
 #include <xenctrl.h>
 #include <getopt.h>
 
+#include <xen/platform.h>
+
 static xc_interface *xch;
 
 static const char intel_id[] = "GenuineIntel";
@@ -24,7 +26,8 @@ static void usage(const char *name)
            "Usage: %s [microcode file] [options]\n"
            "Options:\n"
            "  -h, --help            display this help and exit\n"
-           "  -s, --show-cpu-info   show CPU information and exit\n",
+           "  -s, --show-cpu-info   show CPU information and exit\n"
+           "  -f, --force           force to skip micorocde version check\n",
            name, name);
 }
 
@@ -89,10 +92,12 @@ int main(int argc, char *argv[])
     size_t len;
     struct stat st;
     int opt;
+    uint32_t ucode_flag = 0;
 
     static const struct option options[] = {
         {"help", no_argument, NULL, 'h'},
         {"show-cpu-info", no_argument, NULL, 's'},
+        {"force", no_argument, NULL, 'f'},
         {NULL, no_argument, NULL, 0}
     };
 
@@ -104,10 +109,10 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    if ( argc != 2 )
+    if ( argc < 2 || argc > 3)
         goto ext_err;
 
-    while ( (opt = getopt_long(argc, argv, "hs", options, NULL)) != -1 )
+    while ( (opt = getopt_long(argc, argv, "hsf", options, NULL)) != -1 )
     {
         switch (opt)
         {
@@ -117,12 +122,15 @@ int main(int argc, char *argv[])
         case 's':
             show_curr_cpu(stdout);
             exit(EXIT_SUCCESS);
+        case 'f':
+            ucode_flag = XENPF_UCODE_FLAG_FORCE_SET;
+            break;
         default:
             goto ext_err;
         }
     }
 
-    filename = argv[1];
+    filename = argv[optind];
     fd = open(filename, O_RDONLY);
     if ( fd < 0 )
     {
@@ -146,7 +154,7 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    ret = xc_microcode_update(xch, buf, len);
+    ret = xc_microcode_update(xch, buf, len, ucode_flag);
     if ( ret )
     {
         fprintf(stderr, "Failed to update microcode. (err: %s)\n",
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:31:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:31:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706832.1104234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwf9l-00089e-2c; Tue, 16 Apr 2024 09:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706832.1104234; Tue, 16 Apr 2024 09:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwf9l-00089X-05; Tue, 16 Apr 2024 09:31:13 +0000
Received: by outflank-mailman (input) for mailman id 706832;
 Tue, 16 Apr 2024 09:31: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 1rwf9j-00089N-Et; Tue, 16 Apr 2024 09:31: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 1rwf9j-0004Zl-5f; Tue, 16 Apr 2024 09:31: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 1rwf9i-0008JZ-Uj; Tue, 16 Apr 2024 09:31:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwf9i-0006n5-UH; Tue, 16 Apr 2024 09:31:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KWtEoRlMp/QCrGipva5rkP/DHM/ALXCdxKJs+GXAr0U=; b=5gseg961bgMG08Me42Rxm4Khhv
	txpZPvZLBnQBodl1CX9AeYo/kmXzUg+Q+GpuoQBWsTUsP2mVMGkiRflh52LEfADtlapqmqXISybYP
	dta+u+H+OZcUSr1m0ag97uoShzbQ9g6NWWwK6+X0tsnguET0CmykxUMrNk14R/i/SiBA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185649-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185649: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6363872629cd58636128824977e56eea15b97a15
X-Osstest-Versions-That:
    ovmf=70892b13b28cdb0a10c82f3d3aca560a38dce5c9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 09:31:10 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6363872629cd58636128824977e56eea15b97a15
baseline version:
 ovmf                 70892b13b28cdb0a10c82f3d3aca560a38dce5c9

Last test of basis   185643  2024-04-16 05:11:11 Z    0 days
Testing same since   185649  2024-04-16 07:49:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chao Li <lichao@loongson.cn>
  Gerd Hoffmann <kraxel@redhat.com>
  Ray Ni <ray.ni@intel.com>

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


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

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

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

Test harness 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
   70892b13b2..6363872629  6363872629cd58636128824977e56eea15b97a15 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 09:36:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 09:36:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706838.1104245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwfF8-0001w7-Nd; Tue, 16 Apr 2024 09:36:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706838.1104245; Tue, 16 Apr 2024 09:36:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwfF8-0001w0-K9; Tue, 16 Apr 2024 09:36:46 +0000
Received: by outflank-mailman (input) for mailman id 706838;
 Tue, 16 Apr 2024 09:36:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwfF7-0001vu-P6
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 09:36:45 +0000
Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com
 [2607:f8b0:4864:20::731])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d449b1a9-fbd4-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 11:36:41 +0200 (CEST)
Received: by mail-qk1-x731.google.com with SMTP id
 af79cd13be357-78ebcfcd3abso333778785a.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 02:36:41 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 kr5-20020a0562142b8500b0069b7929cdfcsm2711413qvb.111.2024.04.16.02.36.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Apr 2024 02:36:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d449b1a9-fbd4-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713260200; x=1713865000; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0E7dy8vt9fmc5JgqhWuwin5+rMm7UUPfOY+eIt8X9is=;
        b=UqUkEdyvB9NJtnKZtD2WA01j9EI1WCjhv6VASF2V3U/4cWJpEBEL6PGZRmDqmroJyr
         CGJVTR8L67bn3gr4nl0ad6joW9tNcII0o/x0F5KYgT0s8dj+YTgJeg3cbMgk9npOEFEh
         F5i6C+4aR50CNAo8nP95kMp78Q+h5EmWQCQGE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713260200; x=1713865000;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0E7dy8vt9fmc5JgqhWuwin5+rMm7UUPfOY+eIt8X9is=;
        b=Eddfy8YgDy+PSQwgO9NQrw08++P17anwWm6nIhRSU7DSVAMAXv0/1bIS7E2JF19nlF
         l5I0CHbHj0qcjGQ7ZOroeDBLcm8YHkICwTlB8cMuwRcSkXiAToOAFjlAicIsU5JnSuEs
         /w5uBxCvMBlF+LHBzDMzQRKPwfH1PVZY5yKlPaZNHun2V+2GzSS34oLJu7ZDvUm9iGJ3
         vAlaeBemU07CXJDMw4VkyMEhv6DOfpoM5Yc4aF+T8yZF+v0/iyqVjehcipF7fn5EIC7h
         NGJ+BU2jvkngtAxF+vKLWrCYZ4hsZQ2RveM2UTQMND5onlAVtO0vYXgTbdvVxK7SXWw1
         cSjQ==
X-Forwarded-Encrypted: i=1; AJvYcCXkyT1XMnMxxdDt6Ix+uD2QbkTfmbTSkv2DQi4/3eO1emy+A99mFJSZEGEs2jzavGFjtqYFQz/jp1qpLq3AuKa2GxviN90Bl0m9xoQ4pHk=
X-Gm-Message-State: AOJu0YzgMHmLUzLz0JKQ/jV664eKzpgh2JPMqM21Y4k5eczmN4CHk9oD
	2hxdmPH763DXhoV/7/HPvQnrUhyQ+VePC7KoqKotmWkNOgUkm8szJYF4R75B/lQ=
X-Google-Smtp-Source: AGHT+IFp0I95Onox5lQtMpmBOKL/vcNFy++ZMOPZSubMpXng/3zq2Y52xu3kE+ayUzHlNX42KCMi5Q==
X-Received: by 2002:ad4:590f:0:b0:69b:135c:5140 with SMTP id ez15-20020ad4590f000000b0069b135c5140mr11937065qvb.52.1713260200275;
        Tue, 16 Apr 2024 02:36:40 -0700 (PDT)
Message-ID: <bbae1c9d-4c86-415a-963b-a17ff4f3fa4b@citrix.com>
Date: Tue, 16 Apr 2024 10:36:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 15/15] x86/hvm: make AMD-V and Intel VT-x support
 configurable
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240416065012.3470263-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: <20240416065012.3470263-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/04/2024 7:50 am, Sergiy Kibrik wrote:
> From: Xenia Ragiadakou <burzalodowa@gmail.com>
>
> Provide the user with configuration control over the cpu virtualization support
> in Xen by making SVM and VMX options user selectable.
>
> To preserve the current default behavior, both options depend on HVM and
> default to Y.
>
> To prevent users from unknowingly disabling virtualization support, make the
> controls user selectable only if EXPERT is enabled.
> Also make INTEL_IOMMU/AMD_IOMMU options dependant on VMX/SVM options.

Everything else seems ok, but there's no inherent dependency between
VMX/SVM and IOMMUs.  There are certain features (HAP/IOMMU pagetable
sharing, posted interrupts) which do depend on both, but the vast
majority of functionality is independent.

It would be a legitimate config (although getting less plausible, these
days) to have PV && IOMMU && !HVM.

Furthermore, randconfig will do a better job without such restrictions
in place.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 10:13:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 10:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706853.1104270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwfoH-0004CY-P1; Tue, 16 Apr 2024 10:13:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706853.1104270; Tue, 16 Apr 2024 10:13:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwfoH-0004CR-Lp; Tue, 16 Apr 2024 10:13:05 +0000
Received: by outflank-mailman (input) for mailman id 706853;
 Tue, 16 Apr 2024 10:13:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BC7b=LV=epam.com=prvs=0836b5ee6a=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rwfoG-0004CL-FE
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 10:13:04 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7e5842d-fbd9-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 12:13:02 +0200 (CEST)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43G5qcda026305; Tue, 16 Apr 2024 10:12:52 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3xhkjpgqaa-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 16 Apr 2024 10:12:52 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by PAXPR03MB8273.eurprd03.prod.outlook.com (2603:10a6:102:23c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 10:12:49 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 10: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>
X-Inumbo-ID: e7e5842d-fbd9-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JeddmgGkD6RRokAb4fIjyWrDCe2SMR6dAZNkgvZBWXaMERVHxHHiQIqO6msfgUrJahtIWeNaZVVJGAFPdglHnQYtUZID/Jww2kLTB9U4zVH/o6X+2uDzg2NBnf0dz8a1w8iZshOjrgbMdu1ToCJGbLu9RQJ2bu+F15pKhUHFu1vLAvYI+aUL+E5GrU6hqPmEPW0LJavoStA6QI8rONFU0ImjevIQms3k4c3rVxbhRloGVssNiRChuFOgVPqKSsd2BfcPsj+P/ZM5gTp9lRyzf9GMpOqiu5ql3P0CDnv6/ALBL5YIS66aF14egUjlqZUNqmXjQ36fGa38FvOvnOL7kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y4rks9lKeC3LZFoIvdM+vuOnJIJ39cIHHx9+idzsks8=;
 b=VsfxlIMmbLP01WNbWh+DhLVvso6Q4XCKprnvQJCstx2J2o+lT0Yirjxv4xoJk8ZPW3RHSsLLtrjny0GLMpprAgoolis4ip526soKxrIFQ8uhrInYrxRzjyYFeCygT7ddsSFFieZd2tBsH2k8gs3eIW88mK8y6UPJAV/OzAJPGXdBBLuxhN+w3EFwgAn+Urc1jgsAnltlOHP68hoblvHDyRtlErw+hRyVrBKDj1Q5vxdQk8PDCy0ewlWbgp0is8cW6s711wX/3bO8Z/0FOaepr8kjUcw0eFGRo7weTpI9Jgysc1Qr4pMh06rxlUGTJY6GArR2d+HnAnw6uq6/PTRKUg==
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=y4rks9lKeC3LZFoIvdM+vuOnJIJ39cIHHx9+idzsks8=;
 b=pBnMV8hAE8GwSPAcJUWNcFbVO2nICzG4x6vIDucapekKwWmpqsE+p+NrT/i+gssH8uZYw1BCI8nOvISNP8v7phX68lYkFVnEbzphNZLB0KB705n2MrriVcXByL0MpbhjSir5fXSOVM+qmq3ltvTBxg8b2dS+kH3+/bE3LpEOQDgUP692XjSgY8kb1HNASg81TScZ9OD5zxg/95JlbbKr1JN0UdbpJSXLeOaif2ICRiL5QBM5t940OJXhwmwoRQlBMTjQ1KUEC9JawBpEn1AlssDVNaldjIhtKCMvwBu3oh04pAhSdtC0s7bu1dGy8Z4kM2wzFeNwuom6yLQKGz9iDg==
Message-ID: <e3f24e03-4e3d-4106-9887-12cd4aa6eff8@epam.com>
Date: Tue, 16 Apr 2024 13:12:46 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 15/15] x86/hvm: make AMD-V and Intel VT-x support
 configurable
To: Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>, Jan Beulich
 <jbeulich@suse.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
        Stefano Stabellini <sstabellini@kernel.org>
References: <20240416065012.3470263-1-Sergiy_Kibrik@epam.com>
 <2a6779ba-e3d7-4f53-8a0c-404f139ba254@vates.tech>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <2a6779ba-e3d7-4f53-8a0c-404f139ba254@vates.tech>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0006.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::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_|PAXPR03MB8273:EE_
X-MS-Office365-Filtering-Correlation-Id: 1576c8d3-0090-4e33-9735-08dc5dfdc4ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	mKC7mYAiTwHfqjNCXlfziRnnKJzDZkLaykNwwJhqT70LnIN0atbvtWh2EMOZRuwbDMjVlfvGxOmAZ3AGbLeE1eLrpwz32daBE3/fpzgDtOotwvq7YR2NtMkkwBQX2MAdpvllSYrRsYBl/Nbt7DOGloJb6hpJRuCriVoVZC3ryF92d+TIlrneiZYNMJPhZZvk37bFidLrCf3jO2+0avQDJosdG7snnWwUUdXGU3kSvarEKLBI+YbSCi8w8WbmpyNJT7cugZOc250Wb26vBGmIsM3PBsLZhXrru+aIZEGLQrXB0nsEHqrjn/yyEN8CBz4RrO8z2LNDmNpByyBEX3+yl19s0w8Zv/cjXPeNrIhJnwibykyupu3XWL+8tTVMb5t2BxdE+QL24WtcpK1M9DnTy7k4jrh43k/s6WHtYeDYZJS/7iiEK/Ou8cj3ptIiHaorgyQBmFj+iOvaMwg0wOEGutOK37F56Wal/ka3sXz0kbp0JeHBuBanV1n2IvmNMxceY6wXSiPUj+wlenk+xNUg+UCpxhQrYXVwdVCcm+grMO5IBRadePol2WqO117aKjyJ6R3fLCJF5ph9sMYGeOgg/kai4rJHOdoscZ0FW6DkOMBEaKniR70BzQcWW3M4l6AqE1LSm/lEsmUDWUuf4CrpuxrJhqBLMskPpuzS3ghqvVc=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?MU4vV3JUNzI4RlFyYXpzQkIxd1Q2SDQ1TGh1MUJqSHNySUc0dmw5Ly9XajlE?=
 =?utf-8?B?Q1BiNVZzMC9qRGtQRDhDbzhBTXJ3d3NoKzl2Um9VdHVKc2hZQVp0OXlSd0xO?=
 =?utf-8?B?OWZuS0w5eDRYUDBScTFaRjdBa091bkt5N01RMEhiSkVqL0RxZzdtL3dOaERV?=
 =?utf-8?B?LzBxM21qbVBMNHNIN0JYa0lrQ3NUa1JKMUFWdDE2ZFdzaEloVGJScnN6N2lz?=
 =?utf-8?B?cXV6NkUrTys1Z21wYU9jMnJabFpIMUhrQWJ0K3NVOE9iNWFTS1FJOSs4S2Vu?=
 =?utf-8?B?MDZrVWdVNVRCdFk5aXVQcFNWQkgrbU1JcktIamlmK29GeUdQT1RZdG9qMk8v?=
 =?utf-8?B?V0NQYUpWWnZFa1pEN1pzdUVMdW9qdThsbmEveXdSMFViYU1iL3ZZNWMwcCtu?=
 =?utf-8?B?QXI1a3J2bkJDSHFmUkFxbVRPRytxRElSMzVXbS9sTnZGN3FBQytrOWNiOEZI?=
 =?utf-8?B?K3p6UzR3L1ZxQzM1aExvT09LUWd3aTJ2YXpab2E5T3VVZ1cwTHNZTEFMejZu?=
 =?utf-8?B?citZZlBtZXBNT1hrRlpISjQrOG1yVzRtditxMU1iK3NjYzVoZXE4Y0tBY2Q1?=
 =?utf-8?B?RHVYZnJ1dStYTjI2azFkWFcwamViVVliM1V6VWx0K1I3Rkh6cnVwaURhSERP?=
 =?utf-8?B?MFY4Y2NjRGFNV0RpWjJHU20rWmdHVk4vM3BXZVF3TWxESE9WZnVXQjVuVDMy?=
 =?utf-8?B?L0RaQXF4QnpqU0taalB4RjRKL1hnSVd0NTJIdll0T09wRDlkTFNlNnEyeUxh?=
 =?utf-8?B?VnZnTEptVlNLRklLL0lkRktxQlhSTGtYa2ozazM2T3pMTUNGWjBJYUZWaGRn?=
 =?utf-8?B?S1ZKTDdkZHRCekRiNmxjdUJtNmJNa3huUEZWRGw0d2ZyeU5qYUtBdlcvQUtU?=
 =?utf-8?B?Um84RDFUR1lFbkJLdkFKNWtqVzNrdndJTk0wN0R6alJhRERkaUg0bHNYZzNC?=
 =?utf-8?B?M2xFUFpxR2RySjNLekdETEtENWFTRHppZmJRMWtUOHlhdEJMUG92aVIrTjRz?=
 =?utf-8?B?WS9ML2NxN1hvU0pGQjFSR2Jwclpnd3d5Qm14eDcrMWZEbWtQbFhKSW00S0l6?=
 =?utf-8?B?cnFzY2FXSHB5ajg0QWNiVUpJSzAwSmFNRzE5VnZvbHQ0bFpiVXAxSWRqRzV3?=
 =?utf-8?B?dWRaODdVd0FnZlpLVnVYU3k5eUFkbFhYeWJSeWludTBxemwyd2lhbUR1T3N1?=
 =?utf-8?B?M1ZEaVhhcE41ME01eVloTjNBYkt3MHRybnIwQlArTG9yMzVjY0RJVlY0dXRn?=
 =?utf-8?B?bSt0aGk4T2dVRDVaZVVSd0FDU21ZWjhyNGRtRGQ2WGJzdktzSWxpUHdZV2FD?=
 =?utf-8?B?aG5KUWs0MTlWUGs5L1d3NThwM3czNFgwM2JnTXJZaVU2bTRONGM5ZTFibUFy?=
 =?utf-8?B?WHk4c203dDQ5SVFFdzRvOGs3QkNKZ0FNY3BScmdTREhUVENMME54Yk5HZ2Y0?=
 =?utf-8?B?enBwL3R5Mnd0SjdBbEdmaFdTOTJ6TUt5bk9BRmxHMUptQmF5a1cvTjBmQ0ZR?=
 =?utf-8?B?WmRpNDM4MUVEM1BHQmxDems4b2xhNTdRWmQ5MjBkSGZDemp3ZzdlMlVaMGlj?=
 =?utf-8?B?NnJnQ2JyZE41aGswcjNxSjBFcCtYZUgxUEhyYmlLRG9NTmZLRGszNE1Ka21E?=
 =?utf-8?B?QWoyUTFIRzF0WXNmRzFESjdJalJ0Qis5UTZYU3BVL0pUMEFSSmszQkZaUlkr?=
 =?utf-8?B?dWJxUGZUUmtGVDNTbndlVG02eTJVcG5mTFdybjNRM0FwVVNWd3JZcGtzRlVa?=
 =?utf-8?B?am8xaEhyWVI4Z2tRbCtvbGp1SXdPUVlsaUxiM0krcnhmUDJDb0FLbGxNV0dn?=
 =?utf-8?B?V2daV292aGdZaStUR1BkZm9VUTVSZmoraTVoRy9vaTlGVkd1eVlxcFVwaUsx?=
 =?utf-8?B?aHcrd2F2bG82Y21QRHR1T0dMaWtNcUsyMDlmRVZXOVdYVDhaV0VCWHNWdktE?=
 =?utf-8?B?U3JpV3l4YytnWlplbEdTKzlRVU5Xa2tRSUROUFkrbEVrM1M2aldKRVJTNkda?=
 =?utf-8?B?NDhZZEFHblFxTERTaDliSjNpUTJ0WDl6V1Z5YkZmUTR5V1pUNWlqYkpXdzNr?=
 =?utf-8?B?cUFUN09YZktYOUxhdHduTEtpUWtiUWdSS3hmOWtkWnc2Wm1kRWhDMk1GQXFn?=
 =?utf-8?B?S0tzL3V3ZFRQelB4VEpDV1N1eXY1ZjNSaGZBNDFqNWM0SHZYdWNoS0RvMGhk?=
 =?utf-8?B?Smc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1576c8d3-0090-4e33-9735-08dc5dfdc4ab
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 10:12:49.0060
 (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: 1KHEh0OxVt++P+PiFPUrc3w7O/ItcIkKqZxlyxeSHpl1TUoMFHqZaMwRLv2T6RnaAUStwH3c0g5+/5FKgtCplQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8273
X-Proofpoint-ORIG-GUID: QFZfhF5qgIsW4G2yYqR7RV7_7mYBLnXj
X-Proofpoint-GUID: QFZfhF5qgIsW4G2yYqR7RV7_7mYBLnXj
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-16_07,2024-04-15_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0
 adultscore=0 lowpriorityscore=0 mlxscore=0 spamscore=0 bulkscore=0
 impostorscore=0 priorityscore=1501 mlxlogscore=942 suspectscore=0
 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404160062

hi Teddy,

16.04.24 11:40, Teddy Astie:
> Hello Sergiy,
> 
>> Also make INTEL_IOMMU/AMD_IOMMU options dependant on VMX/SVM options.
> 
> The discussion in the RFC series stated the IOMMU may be used with PV
> guests, and doesn't rely on VMX/SVM support (in fact, it can be used
> without HVM support in Xen).
> 
> However, in the discussion, posted interrupts were supposed to be
> dependent on VMX/SVM instead. I suppose this is a leftover from the
> original RFC ?
> 

oh, yes, this bit remained from original patch, and indeed shouldn't be 
here.
I shall drop it in v2.

  -Sergiy


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 10:17:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 10:17:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706857.1104279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwfs8-00067x-7F; Tue, 16 Apr 2024 10:17:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706857.1104279; Tue, 16 Apr 2024 10:17:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwfs8-00067q-4X; Tue, 16 Apr 2024 10:17:04 +0000
Received: by outflank-mailman (input) for mailman id 706857;
 Tue, 16 Apr 2024 10:17: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=BC7b=LV=epam.com=prvs=0836b5ee6a=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rwfs6-000654-Dx
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 10:17:02 +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 75d773da-fbda-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 12:17:00 +0200 (CEST)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43G78l4s004642; Tue, 16 Apr 2024 10:16:50 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3xh185bwq6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 16 Apr 2024 10:16:50 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by PAXPR03MB7949.eurprd03.prod.outlook.com (2603:10a6:102:218::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 10:16:46 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 10:16: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: 75d773da-fbda-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q293SwQjPGZ62cComV/uUJQAZw8Sp+gcThERMBt6bRSzjuZi41dmC6rWF6KPSwU/whjhgv9aDx/uUYdl5rnGbjPy3IjH4cQ0ZZZmPazrta+jMJt0517TxTu+hTp7BGt2Syr/Wte2sKWeGA562q5CNTAhssowZS6KBa6lT7CSFJSTj6zsFdK16G1WcIfP/CMO/KyLhGLQscnnYjXulDU1aMefHhVSKdR2lPPfPWAsYxc71b1K0v+ekJG+azL7WDwMIYSNV6l74A80yixFwr1DtZkETZojeKRzRy+UDN5deI/qgC+2yufhz09OFl2ClzRwFcpv1Km3yVwvqXTPMMTBKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ncGlppm32XK4vT3fDEKNCpA5e5RJxdU7Iqj66hOD2A0=;
 b=cn6RCAWeJ29A4vxNVAw+nS9uxU0LbvF9vJ5XXrLLVSep+0iUb4NIo6EAYCWJRCgGnjVuchDPOaqKqAbVJLe0ZBgYNXu0c1TZF4wVq1baU7cIMQnFTS4qemAhPLBlZe3E+Q2zEKlrLNtZYcviEptx2SDVCPe3Ne47iJwXHbGpSM447c9ZV1s7MNRbCGLZb4aVJeXiNngVrJhXkW/R6V25escNO3rL3bZwWmr3tupRN96SLRSyyVopzpIxbK/9GPYsmKodORVsp+SiJtOb43+NS1cjMfUGc6sSIA8nkVPBLmyemjqjRCONFuNE9BuxyTPEMLApd2gKPNAjBp03MRFVjQ==
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=ncGlppm32XK4vT3fDEKNCpA5e5RJxdU7Iqj66hOD2A0=;
 b=NVNl+dw1mG6QfyZpsxFLbZ7Pb86L+oDYj7Yu/wJWUlLeP31pmLo96YibTT2CyDCAGc4KDHM6NL9V/sPpzKGTyPrkGMvbfwMT0PNEiC7OQ9uHQmDXZ5pBZgLivZbGEgMktaGBOGRKIUSuVGrDQEnu2bQxzIy9zRAN3mPZ99SEH3CDxKVuEq8e1d87c65vVJ65TRGJuSh08QBWOixOP3E0Xuu67YAbqXWPtYkFxCvUrLl7mvpcHLc/T31pt0UxqPiNV1kUNNj/TFRVDc39ORTejLEfKtJQu8Wla+h0aoNyhzCcNh0/wBB26KXBOH3Q/XsqgZBVo4ZqgzPDPv9IxqOOnw==
Message-ID: <ddef1318-1524-43ce-a9c8-6017d9c2abc8@epam.com>
Date: Tue, 16 Apr 2024 13:16:42 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 15/15] x86/hvm: make AMD-V and Intel VT-x support
 configurable
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>
References: <20240416065012.3470263-1-Sergiy_Kibrik@epam.com>
 <bbae1c9d-4c86-415a-963b-a17ff4f3fa4b@citrix.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <bbae1c9d-4c86-415a-963b-a17ff4f3fa4b@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0016.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::12) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|PAXPR03MB7949:EE_
X-MS-Office365-Filtering-Correlation-Id: c6f90e90-b98c-41f4-1192-08dc5dfe51b9
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	mD3CFoUJfJ4eNrKopS3XbwPEpAIX2zHQaDj6wcm2RehkqR1C6IWNo+mp2d1eN6HfOJ2eOqN3igE1XqY0ObeAoyjJF6BbcSTOjfVXmpjZ06V5VF9CyysZGrFHvIqPRGWYX1LusecPW8iCEhNoPecJf6U6IGtm4SGzMeZx3a6AZY/bm2Ql1zDi+PmaPcNdIl3RYRlfrOqv9u6fPqmogWhwJu50LFEkijJ+eGDyr5H+8p3Fa2eGUJO6F/sObLJp68GvVNiV0K9tIB8e8pkJEgLBHSSQCqGn6n3wHkulC5tyDBcjjEDzVszhV7snTRcpgqkl7vpd3aEub42ZLy+SX8QpcdTSqMBPG/ffzbV4damcbt27J5/HV/NlUWleHtvmLbpfNffUnUTZbizl+gR411FkkN/wCoCjkkzBuoYGVOoJ1/LwBa4J/DbjYlz8tYAFxtb5njI2izZNyvKwIAj+5TnEi58t9gXKyfvOEaGm2PMhglPQ8JJ45igkmWlQQ8XBiy4MJIHDG/1vmbCy+fjptaJu5iIl3F1exTyBsLT9FtAaYxZmOPXhSxKXU8C6fP2QHP+CwD0UYOKmgCfihm7EoGeog7h4pgzVbm9Pjr0xAlVeJSZPndgNaLz1HTI5RilQB2CBlQdqPayrQJBSgZjn2mIaGMLTz0ass54TXQ1a3fdqB84=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?L0ZoU1dqSHBWL0pTME93WEloT3NUaXNoaVNQKzlkNUFrV0VGMm9WTkZsTGpy?=
 =?utf-8?B?cVVBZFNlS1FJUzFEaGwxN0NnQ0JVWTdDUFlWaDdhT0RtVUVYWFNuazA2eXM0?=
 =?utf-8?B?cDNWMTBBT0hjTEFjdTVldW9lWHdYWEt1WkRSdmd6dVNEWngrMjhBZmczUnF1?=
 =?utf-8?B?K0c1cDJjMnc5T201UUVtenhJTG5FSHlteGVvalZlZGt0aS9na2RrQ0VrWWVU?=
 =?utf-8?B?QURhVHBZVXhPQlhGeStzdEJvVHJqd3Z3TUFMNk55Zy8veGx2enJzZU4vRUh4?=
 =?utf-8?B?WTNTa2NoTkhIZTF2bXFzRG56ZVhlWjI0S3BESk9iMFdDcy9EczN2eXRaUHBD?=
 =?utf-8?B?VElZUEJqZHgzQnhwb3NyKzRGU1cyMGJkeTk4cUtSMWlHMEdCRWdFcTNrUUY2?=
 =?utf-8?B?NkkzNjMxMjNad1p3ZExhdmV3aGUwZk83N0xvY21laUl5dDB6SXg2SmpaM1B5?=
 =?utf-8?B?aTIrRWJhaU1BWER3enRMUXNRMklNZFArZ2twSkx3OTRMN3J4dzBIS3NsSXRy?=
 =?utf-8?B?T0J0V0EzdXd5b2JqQmNSeStRakRNWk1Eb1FMN0F2bnN1WDB4MWM4QmwzMTBr?=
 =?utf-8?B?MHVGUXV0M0Vzd2FtZ0cybXFSMUVkbDBIT3N0M2c1SFk5ZjVTM3JRL2M3UkhE?=
 =?utf-8?B?cWlDNUh1QWZwTGxzQXVjcE9JZzR3Z0taVE9BdW5XZnVVeE1QM2g2ZElpMk82?=
 =?utf-8?B?THNJKzF5ZHpGS0pHK0FlOUdacnRHa0tWaEJGajFCMHRLM0ljUGhibHNOZ1la?=
 =?utf-8?B?RzJMdHJaVjM0S001Q01zU3lERHVISytNZkNnZUR5ZmRhN2NHS1VjZFB6Szln?=
 =?utf-8?B?WjRMQjBwSGxGYld4eHJXWjltUFpIcHQxQkxhQ1pUQ0piQWhnYjRPS0ZPaXhj?=
 =?utf-8?B?TllqczJoNUtiTUlqNmxjN0F1bkdUWXpWQUI1K2VYY2QwaXo5dzgzOUVteDRn?=
 =?utf-8?B?OUhBU2dqcVpNbFM0TThDeGs1blBRMUNwbVJlOTNrM2phNnp1dlV3WExyaXdJ?=
 =?utf-8?B?OWFDYllPMzdEMXdTUkFtdjVwUGRod3R3cjNMZ3VTelgyajVQWnlyR2RDT2pu?=
 =?utf-8?B?NU1CRnRHRmxEaEhjYU40SkRhMzVRcXdpQ0ZGQThUbmZDdWJjbDA2ZTZ6VE1G?=
 =?utf-8?B?dUFKcTBFOGJiMzFXR1p2UVh6VytCNDczUlpnMkVoWG9rTERYclp5bng5Y25K?=
 =?utf-8?B?azFJWXQ2RUtrd1FZRXZ6S1RFbWxXV3RNeEVMQTV5ak5PMXE1TDZGRG1STThP?=
 =?utf-8?B?ZDNDMmxsL0dtSHozUnJYQm9YUzJlaFNpbzFVSDZWUjZndFJ0cXB2UnB4bmtK?=
 =?utf-8?B?a0hZc0dIRHVrOHJPSXdpeUt3SWZFUkE5a01XL0YwOHZXMzBuWHFKejcxSXpZ?=
 =?utf-8?B?RnByYnRya1R1L3hPbkY1Nzh4aVdjaFF3cFR6T3Jpc3NIb2F3Zm9rNS9MYUlY?=
 =?utf-8?B?N3N1TU42c2JSTFdMMkJLODVQSXZYZm9CMzB4VExsczVUTmJRTEJ6QWF1Ykxt?=
 =?utf-8?B?Nkw4dVBkZDdieUZZNjdYVFArdFFsbWwwb3kyK1RNNGZCWWMrdlJOOWtVOThH?=
 =?utf-8?B?UFM5VXpNQzdKbXd1QnFYNTVWSVRpRDZBNDZxampCc0gyakJzR1JiQkpnU1Yz?=
 =?utf-8?B?VVIvRUNScXBrZ1hlU25iZm9XVkpxbWFITDdpck5XT2Y1ZXd5ZmcwR0hjRldF?=
 =?utf-8?B?b0t5S3JWUXk3WXd4S3FxTGY3UEdIU25YVkoxMXM4NGZMV2h0UXNjT0lkVk4r?=
 =?utf-8?B?Wi8zNldubks2NGt4TElTdnlIb1F4djkyNWM0R3A1dXo2bVpQa0FXM2tuZ0xR?=
 =?utf-8?B?YU5ybHhDV2tkdEZjclo1RmNISUZEWm1KYkhvSS9MTCtJakhQWEZxNDlwRmFz?=
 =?utf-8?B?SWJ4UnFYTUtvb1U3TTRlWDRhajRYTzY3ZFovUlZkd3Y3MmcwK2pGeUVScjVO?=
 =?utf-8?B?QVVoT1R3WDhibjVXS1E0bmh4ZDlHOFQxWlg5SG1nL2UyZXR1dm4yNUo1Tk1l?=
 =?utf-8?B?WnRBemVpSmhLNHlkQ0h3Z0tZRE9HTENyR1ZKSFh3MXQyVEtqMXZPMHdwc1hI?=
 =?utf-8?B?Y1pndWRkNzQ3TXExZEl4R2g2NHhyajdsc3RrZ0FiUHQrOTZweTdHdWIxSWtn?=
 =?utf-8?B?R0tPWVBhc2RBY2FldUszNGxLOUlPTkUrOTJpWlcvSE45dHJyTmJyY09ubHJm?=
 =?utf-8?B?ZWc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6f90e90-b98c-41f4-1192-08dc5dfe51b9
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 10:16:45.5633
 (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: J6SPK5ar+cMkKvi6XNzJYye7cz1Hjh5q/xwX+96Ut0KKthhHvqzQ9KM+z4/zUnuVYR7T6WVSVr5+Tdq6WOauww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7949
X-Proofpoint-GUID: 1v5vvRtHNeIFBswzSsKTRBqDTu1eVbFi
X-Proofpoint-ORIG-GUID: 1v5vvRtHNeIFBswzSsKTRBqDTu1eVbFi
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-16_07,2024-04-15_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 impostorscore=0 suspectscore=0 bulkscore=0 spamscore=0 mlxscore=0
 phishscore=0 clxscore=1011 malwarescore=0 mlxlogscore=756 adultscore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404160063

16.04.24 12:36, Andrew Cooper:
> 
> Everything else seems ok, but there's no inherent dependency between
> VMX/SVM and IOMMUs.  There are certain features (HAP/IOMMU pagetable
> sharing, posted interrupts) which do depend on both, but the vast
> majority of functionality is independent.
> 
> It would be a legitimate config (although getting less plausible, these
> days) to have PV && IOMMU && !HVM.
> 
> Furthermore, randconfig will do a better job without such restrictions
> in place.

understood. I'll make a patch instead to guard posted interrupts calls 
from iommu driver.

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 10:29:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 10:29:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706863.1104293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwg3w-0000a9-3q; Tue, 16 Apr 2024 10:29:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706863.1104293; Tue, 16 Apr 2024 10:29: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 1rwg3w-0000a2-1C; Tue, 16 Apr 2024 10:29:16 +0000
Received: by outflank-mailman (input) for mailman id 706863;
 Tue, 16 Apr 2024 10:29: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=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwg3t-0000Zw-T1
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 10:29:13 +0000
Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com
 [2607:f8b0:4864:20::f32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2aafedcd-fbdc-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 12:29:13 +0200 (CEST)
Received: by mail-qv1-xf32.google.com with SMTP id
 6a1803df08f44-69b16b614d7so27138966d6.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 03:29:12 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z14-20020a0ce98e000000b0069b1e7b251csm7332795qvn.92.2024.04.16.03.29.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Apr 2024 03:29: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: 2aafedcd-fbdc-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713263352; x=1713868152; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ag9wKZN0kekncYXsP4XhaLmfaxYul5SKgH6nFF7YAHA=;
        b=L41gAvGGt7br3bFaWq277IQgMfNUwolfQ7tJQ3nPDdp2MZr/1JyK9wOlJ3UocxQZMC
         9jVQRuM0Ugr/lAqOJndrj7UsokcHNKjp5V3TT4+Umzu7fYGw1b1pMiOqrh7yB4zlh8Qs
         qCoBpL3S/BpJXod/LE/zK8IWEOHL1WQAf58YI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713263352; x=1713868152;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ag9wKZN0kekncYXsP4XhaLmfaxYul5SKgH6nFF7YAHA=;
        b=FTDx052utpiUgj1aTY8KVhqxdZi6JV+qFfDOWPvHFWF+bVZtvaUezthVjryhyH75gI
         FRwXPaXaisNx7wmd0aggCwa1DX3bCJMfll7X5mgiTETVbHeGRJs9sXAg36FF4kWD8MaF
         t+gNyiiDjEkGsiVYkeZvfCUedu5WhrSsSo2QAqvJHlbC+7J0N8p7a0CQqTJ++EhWG1bZ
         F8BphVQy+X2nMLyqEUuLN29A7SJh37AZaCJJLAeaNNchxxSXv8rzoCmlBFhgvoYQwXp4
         6THPb9rbFdTVDxz55Kb5AiodlswaKihwq4QbE5SK+NyDZc5WSZA24j5Fw5CwdF5Et0vr
         OQig==
X-Forwarded-Encrypted: i=1; AJvYcCVQY+7gUDZ7EeZPXRsmEzQUG1ufgJ6JZEm3DTtO1cYTKTBEfgnPa0thE76H4qMVI/As7WvoaxcER4t6X5Jm1n/JcVCIcyyUJ8DBRb5k5pk=
X-Gm-Message-State: AOJu0YxAQJsyL49lTNSOr9il5KouSnwkoN5f9Sp6pFbHxrn4cMd1S/fW
	I7liP+yPpszvoLQLlzxEK9e0nkQADGDa9L4gWSCq9x/LOUDaaudjRf+Lm+3wEd0=
X-Google-Smtp-Source: AGHT+IGsIjr04kJtV8dqLCSZ41ig2LLbwcSdxWPlUI0LK5CJKt89oZRMAM39oxhNK+pDSKuhJPr6og==
X-Received: by 2002:a05:6214:5983:b0:69b:5475:8a67 with SMTP id qp3-20020a056214598300b0069b54758a67mr19173404qvb.10.1713263351794;
        Tue, 16 Apr 2024 03:29:11 -0700 (PDT)
Message-ID: <26950422-3476-4679-8636-405272c279dc@citrix.com>
Date: Tue, 16 Apr 2024 11:29:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 06/15] x86/p2m: guard altp2m code with CONFIG_VMX
 option
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>
References: <20240416063121.3469245-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: <20240416063121.3469245-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/04/2024 7:31 am, Sergiy Kibrik wrote:
> Instead of using generic CONFIG_HVM option switch to a bit more specific
> CONFIG_VMX option for altp2m support, as it depends on VMX. Also guard
> altp2m routines, so that it can be disabled completely in the build.
>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Altp2m is not VMX-specific.  It's just no-one has wired it up on AMD, or
accepted the long-outstanding ARM patchset where it was made to work.

If you want to compile it, you probably want CONFIG_ALTP2M.

However, it's not even x86 specific.  See the uses in common/monitor.c

CC Tamas.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 10:51:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 10:51:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706870.1104307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwgPP-0006O2-0G; Tue, 16 Apr 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 706870.1104307; Tue, 16 Apr 2024 10: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 1rwgPO-0006Nv-RI; Tue, 16 Apr 2024 10:51:26 +0000
Received: by outflank-mailman (input) for mailman id 706870;
 Tue, 16 Apr 2024 10:51:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g64T=LV=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rwgPO-0006Np-4Q
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 10:51:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41cf2e76-fbdf-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 12:51:21 +0200 (CEST)
Received: from AS4P191CA0019.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:5d9::9)
 by GV1PR08MB10792.eurprd08.prod.outlook.com (2603:10a6:150:160::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 10:51:14 +0000
Received: from AMS0EPF000001B0.eurprd05.prod.outlook.com
 (2603:10a6:20b:5d9:cafe::fc) by AS4P191CA0019.outlook.office365.com
 (2603:10a6:20b:5d9::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.34 via Frontend
 Transport; Tue, 16 Apr 2024 10:51:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B0.mail.protection.outlook.com (10.167.16.164) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Tue, 16 Apr 2024 10:51:09 +0000
Received: ("Tessian outbound 9fd7e4b543e6:v313");
 Tue, 16 Apr 2024 10:51:09 +0000
Received: from d5659d21d859.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4E10D15C-8420-48B9-BD7B-24C1CA93C0B6.1; 
 Tue, 16 Apr 2024 10:51:02 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d5659d21d859.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 16 Apr 2024 10:51:02 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PR3PR08MB5580.eurprd08.prod.outlook.com (2603:10a6:102:8c::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.49; Tue, 16 Apr
 2024 10:50:58 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 10:50: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: 41cf2e76-fbdf-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Ip/L2eWKlxDc5Wnx9kXqnt/zLqGy+wwsNE0DLMWGYXRH7URXnzn8uA/okbxeAqSEHjkIe9SfPEc6QjaZGN059Ta/qsgdFgc3Yp1kBaYBx09QewIi+g3RakM4xhLc19qdlkfIQ9+zg3K1j1RHtE6FW0tiEZT8llDfC7arppwb9roDVl5VxDkNek9Oh8MYjqJaJBg0DeIDjD+eZXpLXsVxWFqaCz4oY1m/Fbul2YO2/4IenR4A59o9PK+RtiRNeM3VGKB6fVI4sDDU8xSHfUrhpkPYfi4Wk+UTYFZOZpL9poBQ2iO3krlTONWFpQtRPER8IqrRNuh+mTd8lYq9X/HffQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=neRZvndPX0u2DeLE1jSqCQeaw2sJrkftqxSv6eqwZPQ=;
 b=lynN4Dcz5yrQ0QLiFG0GEKn32DJXnT2Od/fPNIWTTbSJUJINRFjk36FIxez7y/gsaoktV7w1Xgk5/g97t2wYGWY02sWoQNriuBNr6zMRKjHKq7sahu8oMxayxsV2NwakrxxNkjHIZZ7C+yfrVSN/XuedYrKossx2xhfZlb4URQGj6dVeVo7vaKlm+2GLlFXwYRo/hI+VmbnGU9SYFvpzX+WR/09K+6hq3xx+hP6YDRB/SbeWRP626GBQGXrenJsDrcqjTCxqmF0bGIXALDGBXuSETby8nzXvx8XBmCFPSM5BKzaG0fjFPBefCxeNelK/S3kkOo7s6B6wV0/Sgmiy9A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=neRZvndPX0u2DeLE1jSqCQeaw2sJrkftqxSv6eqwZPQ=;
 b=UTGFNkz0nAM4mG36Flr98rMlbR8CFkELK6J3R/McMltAZNxxGLKfkdHcWz4/0jPsH8ADYM0gBuGpL7zptE/lNmfPhWG3v3E+fOxo4715/OgbqA8ythnJhIoTst6fUzamwjGGZN5YaB6Cdqw9JqMMaaY7y1I3TNxmcy42rUvPtGc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ea29b0c28fa5b082
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lL4dPCxuCk2MEYJRDkPYhDOuuAEkyRjCBW5EbGwx1x+pLUvL9k0jGNeyRqElACHSs2Dmf/OSuteTo7kn0/EVLm45txpvNYHTYHDQHAbwpJUO/4rZqp4U/UN3ZcpGPU2whmpIfUTkD0iEuXOry8VzgHxQ0RPAnWGuiNK+KGIyWgs2NyvVViiR9ajdgXKC81UHlIs7a6LUZdiej/mw8DK/BFy7W6OaVlaQJ0tjL0qmLVyW7saxRImojGJGsOp1XbnH7QufCxJ1gKAD21AJOPxecGdi7KFdsDkDopSGUv9VBiWvAGU2nNIYlzgDG6naKF4e5H3bsbp1w1u9YFa9G51Cnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=neRZvndPX0u2DeLE1jSqCQeaw2sJrkftqxSv6eqwZPQ=;
 b=UPKLFmvmC0rtxswcIqZivoC9iJjQLdkTZhzT04BACC+XnH+kxzi4CrI90W2puDeF25hHjoiCuWquCtETnUkPmNsOyVb7vtrc3NztLpXcCYmLtAkFWBG0lwaHs5rF4AAM/8s4NNCoDYQs29Cy9DAxd0BnouFpmFaoWApmEvHRch/Y//uyysWsHS7H4xvwhWVKpmrDac91Kio7FyaZpcjRGAQF+tVO2/A2pYKjtFJqkq0qA9XMIpuSwL4LZhUHg01Bu8o0aBmCohCmwiW7VZbgf7nTTb2g0St0Ko6KYh2wBfj29Q/cn3DaVqJLIVqFFX9NLW4+lHTEFJL569CqYot96A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=neRZvndPX0u2DeLE1jSqCQeaw2sJrkftqxSv6eqwZPQ=;
 b=UTGFNkz0nAM4mG36Flr98rMlbR8CFkELK6J3R/McMltAZNxxGLKfkdHcWz4/0jPsH8ADYM0gBuGpL7zptE/lNmfPhWG3v3E+fOxo4715/OgbqA8ythnJhIoTst6fUzamwjGGZN5YaB6Cdqw9JqMMaaY7y1I3TNxmcy42rUvPtGc=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Topic: [PATCH v2 13/13] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Index:
 AQHainSZ45I8T1wdtkSTioIgDqTSKbFptBmAgADFXACAACfggIAAAloAgAACHgCAAB0rAA==
Date: Tue, 16 Apr 2024 10:50:58 +0000
Message-ID: <3832D45E-39E2-4302-A4A7-AD0F5FA256C0@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-14-luca.fancellu@arm.com>
 <7b09184a-111d-4a38-baec-53f01ec6ed03@xen.org>
 <39165767-26EA-4849-9C02-12393933139E@arm.com>
 <74cfa4fe-2ee8-4700-be90-4227704f96d1@xen.org>
 <F1BB5F9C-0683-420C-AB77-BBE88AB16347@arm.com>
 <cf9fb8b0-a8d2-4d30-a669-db1c09acc49b@xen.org>
In-Reply-To: <cf9fb8b0-a8d2-4d30-a669-db1c09acc49b@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PR3PR08MB5580:EE_|AMS0EPF000001B0:EE_|GV1PR08MB10792:EE_
X-MS-Office365-Filtering-Correlation-Id: ec7908e0-8f0d-48c4-35e2-08dc5e032053
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 vWofRkDoAUT9F3BinGAR5pZVt1B2IzfC7jG5gvXIWslMFUZKLiWmZU1fcjvquDg+eLARQ9KgtIGPaeE/AYhTrgQLxFRolPyktYqYV7NDRtp1YNp+ksmPKmJiofUX/FC8d/PiFUTjTBAUQ5joZouHS5B5U/HJDUIlGHVtUG01ivJref4BdscF4rqxH/JVz+yh5zmNuwZWkFy8m26D6dqHtoDzVKtr0xVlfi93lpm2KjLuv9LCIN65TqxhPEMBsxM9/PiFR2j7JPNghczRlx2iDOpQmJsfU3owquMtETN5gTHuedCaanpEk0jIGy4VUH3RLoF3YcclCzGEWrv8T7kgXE5j6TvURnMrQf546PECppfYr6PBYf6YCHYqZ5foUdFZCDH3akFc+E6DZHbpKaWm55CKJUilorXWQy/RBa0C8la5OnsW/l3jA0XdxZ51YTyMlL/lC62OxV1IBaidXTlWNFu+n5xL1UWLyzTbXt40gSVNtcB26ZOeMJW6OxNAO7FLaYsqssTxf+7udwOQUVNw8kLNBU/2CK4MJ8pfHNDNTFmvpXv7qwLc/Izah0Wk/tuwgb35fBguUvzLus31Fcz6kXVLrf5UoNDCEGscCTJ6Pt0uRYLHEgdBMtgvNef1pVXLsK/ESFUwqZWs/6MueF77R38b1EuQW3TJfdj8quGJzNKkH7QzsO735UZymjQt5uxLofKIFBZE3qt+dZ8N5KSW7R32DGtvQXlhGzseuorD8tk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <498E514C154F814DA70C9F3654BA127C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5580
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001B0.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1753abb5-02e5-4ab3-258e-08dc5e03195a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jVDgsUVFPCQqClvHcFSv0koWpiUXNGlUodKVjWSwLu2ebheiTB/kpe+mgrjZcEofRt/TWCMp8nhSydYr1q47uKWYu9KIlLHbp8deYg3fldLk6Vqa4NoXtB9qLSJh4YOPOXjvbuP5X4qsgYdcKXkFPo4bcC9kaiZrQW2JPxca+JjYhaRXxiJL95Oeymi2qY2+kC1ebnqyrzbLaY9zH5I2d/6G/Ac3P8aYlkHfTk+ihy8FPogaNvFHwN90dTf5mmx4K1VujA7jlDY7ArJ32/SwLBIH62WckPfkdnWhI0OzXf1/QMfp/qJ1vAmeZbjXWTkSNpCsA44c7JYaI9Wu8c9IOdx0gHvy49EacFDDfe54X3QIbnnGrHpJIhczFE3PolvgOKL6CjIRSL2iaZe2jEPyqfa+gtfM7dZyxueoWBPFqyVu88BNXU5JXgQboZTG7cpagKDOyEKSandGyivCNr/dY/2jJ620AWtpKJ702//xdlZqIzW8XShEcsM55jZpcBEzz+pOctgTS0sYpODoUeoYvNYDCYDboV5YbwJaOfIqk+WDEDWnxt4VXslzHmQqo1m8rwkQj6ZnK3A1odXD0ijRP1KKAyg8iiOFXOBRf4kao62Rv+oIegHOjZZyZCXL6mcOXfisXBCAUJQjelxZY1gBWVGOsmjUyQA+DJBvt/oc1Qo1sP93lMc/JpF1+FJrFD9XupUA8D86L+5HaOaxOnFgoirz/nt4VRrl49rHwsQWXrVax88jbRYDWED34RrZtdUQ
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2024 10:51:09.9379
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ec7908e0-8f0d-48c4-35e2-08dc5e032053
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001B0.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10792

DQoNCj4gT24gMTYgQXByIDIwMjQsIGF0IDEwOjA2LCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4u
b3JnPiB3cm90ZToNCj4gDQo+IA0KPiANCj4gT24gMTYvMDQvMjAyNCAwOTo1OSwgTHVjYSBGYW5j
ZWxsdSB3cm90ZToNCj4+PiBPbiAxNiBBcHIgMjAyNCwgYXQgMDk6NTAsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPj4+IA0KPj4+IA0KPj4+IA0KPj4+IE9uIDE2LzA0LzIw
MjQgMDc6MjcsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+IEhpIEp1bGllbiwNCj4+PiANCj4+
PiBIaSBMdWNhLA0KPj4+IA0KPj4+Pj4gT24gMTUgQXByIDIwMjQsIGF0IDE5OjQxLCBKdWxpZW4g
R3JhbGwgPGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4+Pj4+IA0KPj4+Pj4gSGkgTHVjYSwNCj4+
Pj4+IA0KPj4+Pj4gT24gMDkvMDQvMjAyNCAxMjo0NSwgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+
Pj4+PiBDdXJyZW50bHkgWGVuIGlzIG5vdCBleHBvcnRpbmcgdGhlIHN0YXRpYyBzaGFyZWQgbWVt
b3J5IHJlZ2lvbnMNCj4+Pj4+PiB0byB0aGUgZGV2aWNlIHRyZWUgYXMgL21lbW9yeSBub2RlLCB0
aGlzIGNvbW1pdCBpcyBmaXhpbmcgdGhpcw0KPj4+Pj4+IGlzc3VlLg0KPj4+Pj4+IFRoZSBzdGF0
aWMgc2hhcmVkIG1lbW9yeSBiYW5rcyBjYW4gYmUgcGFydCBvZiB0aGUgbWVtb3J5IHJhbmdlDQo+
Pj4+Pj4gYXZhaWxhYmxlIGZvciB0aGUgZG9tYWluLCBzbyBpZiB0aGV5IGFyZSBvdmVybGFwcGlu
ZyB3aXRoIHRoZQ0KPj4+Pj4+IG5vcm1hbCBtZW1vcnkgYmFua3MsIHRoZXkgbmVlZCB0byBiZSBt
ZXJnZWQgdG9nZXRoZXIgaW4gb3JkZXINCj4+Pj4+PiB0byBwcm9kdWNlIGEgL21lbW9yeSBub2Rl
IHdpdGggbm9uIG92ZXJsYXBwaW5nIHJhbmdlcyBpbiAncmVnJy4NCj4+Pj4+IA0KPj4+Pj4gQmVm
b3JlIHJldmlld2luZyB0aGUgY29kZSBpbiBtb3JlIGRldGFpbHMsIEkgd291bGQgbGlrZSB0byB1
bmRlcnN0YW5kIGEgYml0IG1vcmUgdGhlIHVzZSBjYXNlIGFuZCB3aGV0aGVyIGl0IHNob3VsZCBi
ZSB2YWxpZC4NCj4+Pj4+IA0KPj4+Pj4gRnJvbSBteSB1bmRlcnN0YW5kaW5nLCB0aGUgY2FzZSB5
b3UgYXJlIHRyeWluZyB0byBwcmV2ZW50IGlzIHRoZSBmb2xsb3dpbmcgc2V0dXA6DQo+Pj4+PiAg
MS4gVGhlIEd1ZXN0IFBoeXNpY2FsIHJlZ2lvbiAweDAwMDAgdG8gMHg4MDAwIGlzIHVzZWQgZm9y
IFJBTQ0KPj4+Pj4gIDIuIFRoZSBHdWVzdCBQaHlzaWNhbCByZWdpb24gMHgwMDAwIHRvIDB4NDAw
MCBpcyB1c2VkIGZvciBzdGF0aWMgbWVtb3J5DQo+Pj4+IFNvIGZhciwgaXQgd2FzIHBvc3NpYmxl
IHRvIG1hcCBndWVzdCBwaHlzaWNhbCByZWdpb25zIGluc2lkZSB0aGUgbWVtb3J5IHJhbmdlIGdp
dmVuIHRvIHRoZSBndWVzdCwNCj4+Pj4gc28gdGhlIGFib3ZlIGNvbmZpZ3VyYXRpb24gd2FzIGFs
bG93ZWQgYW5kIHRoZSB1bmRlcmx5aW5nIGhvc3QgcGh5c2ljYWwgcmVnaW9ucyB3ZXJlIG9mIGNv
dXJzZQ0KPj4+PiBkaWZmZXJlbnQgYW5kIGVuZm9yY2VkIHdpdGggY2hlY2tzLiBTbyBJ4oCZbSBu
b3QgdHJ5aW5nIHRvIHByZXZlbnQgdGhpcyBiZWhhdmlvdXIsIGhvd2V2ZXIgLi4uDQo+Pj4+PiAN
Cj4+Pj4+IFRoZSB1bmRlcmx5aW5nIEhvc3QgUGh5c2ljYWwgcmVnaW9ucyBtYXkgYmUgZGlmZmVy
ZW50LiBYZW4gZG9lc24ndCBndWFyYW50ZWUgaW4gd2hpY2ggb3JkZXIgdGhlIHJlZ2lvbnMgd2ls
bCBiZSBtYXBwZWQsIFNvIHdoZXRoZXIgdGhlIG92ZXJsYXBwZWQgcmVnaW9uIHdpbGwgcG9pbnQg
dG8gdGhlIG1lbW9yeSBvciB0aGUgc2hhcmVkIHJlZ2lvbiBpcyB1bmtub3duICh3ZSBkb24ndCBn
dWFyYW50ZWUgdGhlIG9yZGVyIG9mIHRoZSBtYXBwaW5nKS4gU28gbm90aGluZyBnb29kIHdpbGwg
aGFwcGVuIHRvIHRoZSBndWVzdC4NCj4+Pj4gLi4uIG5vdyBoZXJlIEkgZG9u4oCZdCB1bmRlcnN0
YW5kIGlmIHRoaXMgd2FzIHdyb25nIGZyb20gdGhlIGJlZ2lubmluZyBvciBub3QsIHNoYWxsIHdl
IGVuZm9yY2UgYWxzbyB0aGF0DQo+Pj4+IGd1ZXN0IHBoeXNpY2FsIHJlZ2lvbnMgZm9yIHN0YXRp
YyBzaGFyZWQgbWVtb3J5IGFyZSBvdXRzaWRlIHRoZSBtZW1vcnkgZ2l2ZW4gdG8gdGhlIGd1ZXN0
Pw0KPj4+IA0KPj4+IE5vdGhpbmcgZ29vZCB3aWxsIGhhcHBlbiBpZiB5b3UgYXJlIHRyeWluZyB0
byBvdmVyd3JpdGUgbWFwcGluZ3MuIFNvIEkgdGhpbmsgdGhpcyBzaG91bGQgYmUgZW5mb3JjZWQu
IEhvd2V2ZXIsIHRoaXMgaXMgYSBtb3JlIGdlbmVyYWwgcHJvYmxlbS4gQXQgdGhlIG1vbWVudCwg
dGhpcyBpcyBwcmV0dHkgbXVjaCBhcyBtZXNzIGJlY2F1c2UgeW91IGNhbiBvdmVyd3JpdGUgYW55
IG1hcHBpbmcgKGUuZy4gbWFwIE1NSU8gb24gdG9wIG9mIHRoZSBSQU0pLg0KPj4+IA0KPj4+IEkg
dGhpbmsgdGhlIGVhc2llc3Qgd2F5IHRvIGVuZm9yY2UgaXMgdG8gZG8gaXQgaW4gdGhlIFAyTSBj
b2RlIGxpa2UgeDg2IGRvZXMgZm9yIGNlcnRhaW4gbWFwcGluZ3MuDQo+Pj4gDQo+Pj4gQW55d2F5
LCBJIGRvbid0IHRoaW5rIHRoZSBwcm9ibGVtIHNob3VsZCBiZSBzb2x2ZWQgaGVyZSBvciBieSB5
b3UgKHRoaXMgaXMgbGlrZWx5IGdvaW5nIHRvIGJlIGEgY2FuIG9mIHdvcm1zKS4gRm9yIG5vdywg
SSB3b3VsZCBjb25zaWRlciB0byBzaW1wbHkgZHJvcCB0aGUgcGF0Y2hlcyB0aGF0IGFyZSB0cnlp
bmcgdG8gZG8gdGhlIG1lcmdlLg0KPj4+IA0KPj4+IEFueSB0aG91Z2h0cz8NCj4+IFllcyBJIGFn
cmVlIHdpdGggeW91LCBJ4oCZbGwgZHJvcCB0aGUgcGF0Y2ggdGhhdCB0cmllcyB0byBkbyB0aGUg
bWVyZ2UsIEkgd2FzIHRoaW5raW5nIGFib3V0IGNoZWNraW5nIHRoYXQgdGhlIGd1ZXN0IHBoeXMg
c3RhdGljIG1lbSByZWdpb24gaXMNCj4+IGluc2lkZSB0aGVzZSBib3VuZGFyaWVzOg0KPj4gI2Rl
ZmluZSBHVUVTVF9SQU1fQkFOS19CQVNFUyB7IEdVRVNUX1JBTTBfQkFTRSwgR1VFU1RfUkFNMV9C
QVNFIH0NCj4+ICNkZWZpbmUgR1VFU1RfUkFNX0JBTktfU0laRVMgeyBHVUVTVF9SQU0wX1NJWkUs
IEdVRVNUX1JBTTFfU0laRSB9DQo+PiBhbmQgYWxzbyB0aGF0IGRvZXNu4oCZdCBvdmVybGFwIHdp
dGggKHN0cnVjdCBrZXJuZWxfaW5mbykubWVtLCBkb2VzIGl0IHNvdW5kcyByaWdodCB0byB5b3U/
DQo+IA0KPiBJIGRvbid0IGZ1bGx5IHVuZGVyc3RhbmQgd2hhdCB5b3Ugd2FudCB0byBkby4gQnV0
IGFzIEkgd3JvdGUgYmVmb3JlLCB0aGUgb3ZlcmxhcHMgaGFwcGVuIHdpdGggbWFueSBkaWZmZXJl
bnQgcmVnaW9ucyAod2hhdCBpZiB5b3UgdHJ5IHRvIHVzZSB0aGUgR0lDIERpc3RyaWJ1dG9yIHJl
Z2lvbnMgZm9yIHRoZSBzaGFyZWQgbWVtb3J5PykuDQo+IA0KPiBTbyBpZiB3ZSB3YW50IHNvbWUg
b3ZlcmxhcHMgY2hlY2ssIHRoZW4gaXQgaGFzIHRvIGJlIGdlbmVyaWMuDQoNCkFmdGVyIGEgY2hh
dCBpbiBNYXRyaXggbm93IEkgdW5kZXJzdGFuZCB3aGF0IHlvdSBtZWFuLCB0aGFua3MsIEkgd2ls
bCBqdXN0IGRyb3AgdGhlIHBhdGNoIDEyIGFuZCB1cGRhdGUgdGhpcyBvbmUuDQoNCkNoZWVycywN
Ckx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 10:56:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 10:56:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706876.1104318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwgTy-00081I-M9; Tue, 16 Apr 2024 10:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706876.1104318; Tue, 16 Apr 2024 10:56:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwgTy-00081B-Ja; Tue, 16 Apr 2024 10:56:10 +0000
Received: by outflank-mailman (input) for mailman id 706876;
 Tue, 16 Apr 2024 10:56: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=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwgTx-00080w-4L
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 10:56:09 +0000
Received: from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com
 [2607:f8b0:4864:20::f35])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecd88628-fbdf-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 12:56:07 +0200 (CEST)
Received: by mail-qv1-xf35.google.com with SMTP id
 6a1803df08f44-69629b4ae2bso37070846d6.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 03:56:07 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u9-20020a05621411a900b0069b57111a98sm5939304qvv.79.2024.04.16.03.56.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Apr 2024 03:56: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: ecd88628-fbdf-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713264966; x=1713869766; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=d9z7WRYShidWsM5MiHYhU2fAxi+R6Zu3pFICuH4pcxQ=;
        b=p0af7CkNUQte51aAE4NDpE6L0rhvA9PCRxlMiyzlqLk/c2auq6WPIjgyXgo+g9HOEo
         4V+pZRt67kkIo7m0V42Pr7LK3/Cq8nAzO6Ni6vhqweynM57Fuitp60Y9gYUbK1vxGmQ0
         tux9m2x1WZhW9QAEYc6X3mn1wIbP7gZMLhJ98=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713264966; x=1713869766;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d9z7WRYShidWsM5MiHYhU2fAxi+R6Zu3pFICuH4pcxQ=;
        b=AtqpgYzU8qM3I/zy+aErUFEL5ijk/zpIw3/K3QfH+XTSraEO2V/0VHfUL0IaccaRs5
         6bxOyNDUNUrtnvqjNNqSo4+3I4njbmhmbl+ZN1G+a2KrjrvtZ88a6hTmUsNmY08MWeEH
         Up12/7ZAl8K5qjBhhKJLhdWGmC2mKy2wkEdgHopBEp3D4ZbgX50Utm9A/TiVl7FsAyNp
         ZNNq8mcTiZtNOSf5gSiZt8C7GcG1OzjJb/5Xx9s/uH/1LFKNbi3ZbN+njNuLczownZqR
         wifxmBqi+f9vhbYYjbBAhRpqqdEoBPvEDA8HQlyrzh2/qD/5v6uvsaIYUQah5hNZe/S1
         GAuA==
X-Forwarded-Encrypted: i=1; AJvYcCUFk77YwwcPPGBjFXYiiewEJ1eHwCxYX8UsjXwXjmCmHHJ+ZyYBfbXzWZNHMsjEufWg5KpuF4IwDodSbToLmJmfQpiQxSUDNsNtX5DwFlI=
X-Gm-Message-State: AOJu0Yx8WbadFR7m7oLOmtsIfh7p9mQplxUCcs9wk5RLt+AF17htQBRi
	Mgev8EaCdwmThncXGC5X2wmaUXxp39MEliW8EeiLbU2wQHZ+uk6gw8AB/07XRwE/Jib88IMJEga
	k49E=
X-Google-Smtp-Source: AGHT+IFbLJLmH/4O3T46wocfE+PWQ5ggyZThhbxooVBhICJ8nT79x5Z0JkjSDVTt4Ipj7oGoGpmOFQ==
X-Received: by 2002:a0c:ef8a:0:b0:69b:52fb:fb88 with SMTP id w10-20020a0cef8a000000b0069b52fbfb88mr11807804qvr.41.1713264965978;
        Tue, 16 Apr 2024 03:56:05 -0700 (PDT)
Message-ID: <10e8d4a3-2e53-478c-bb77-a038f2187c5a@citrix.com>
Date: Tue, 16 Apr 2024 11:56:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Mini-OS: add some macros for asm statements
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org
References: <20240416071139.11083-1-jgross@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: <20240416071139.11083-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/04/2024 8:11 am, Juergen Gross wrote:
> diff --git a/arch/x86/sched.c b/arch/x86/sched.c
> index dabe6fd6..460dea2e 100644
> --- a/arch/x86/sched.c
> +++ b/arch/x86/sched.c
> @@ -119,20 +113,12 @@ struct thread* arch_create_thread(char *name, void (*function)(void *),
>  
>  void run_idle_thread(void)
>  {
> -    /* Switch stacks and run the thread */ 
> -#if defined(__i386__)
> -    __asm__ __volatile__("mov %0,%%esp\n\t"
> -                         "push %1\n\t" 
> -                         "ret"                                            
> +    /* Switch stacks and run the thread */
> +    __asm__ __volatile__("mov %0,"ASM_SP"\n\t"
> +                         "push %1\n\t"
> +                         "ret"
>                           :"=m" (idle_thread->sp)
> -                         :"m" (idle_thread->ip));                          
> -#elif defined(__x86_64__)
> -    __asm__ __volatile__("mov %0,%%rsp\n\t"
> -                         "push %1\n\t" 
> -                         "ret"                                            
> -                         :"=m" (idle_thread->sp)
> -                         :"m" (idle_thread->ip));                                                    
> -#endif
> +                         :"m" (idle_thread->ip));

I know you're only transforming the existing logic, but this is dodgy in
several ways.

First, PUSH/RET is more commonly spelt JMP.  Second, sp is an input
parameter not an output, so I'm pretty sure this only works by luck.

00000000000001ee <run_idle_thread>:
 1ee:   55                      push   %rbp
 1ef:   48 89 e5                mov    %rsp,%rbp
 1f2:   48 8b 05 00 00 00 00    mov    0x0(%rip),%rax        # 1f9
<run_idle_thread+0xb>
 1f9:   48 8b 15 00 00 00 00    mov    0x0(%rip),%rdx        # 200
<run_idle_thread+0x12>
 200:   48 8b 60 10             mov    0x10(%rax),%rsp
 204:   ff 72 18                pushq  0x18(%rdx)
 207:   c3                      retq   
 208:   90                      nop
 209:   5d                      pop    %rbp
 20a:   c3                      retq   


This only works because the address constructed for sp's "output" is
happens to be on a single-parameter instruction where's its good as an
input too.

Anyway, this is a much better way of writing it:

    asm volatile ("mov %[sp], %%"ASM_SP"\n\t"
                  "jmp *%[ip]\n\t"
                  :
                  : [sp] "m" (idle_thread->sp),
                    [ip] "m" (idle_thread->ip));

and also highlights that run_idle_thread() should be marked noreturn.

>  }
>  
>  unsigned long __local_irq_save(void)
> diff --git a/include/x86/os.h b/include/x86/os.h
> index ee34d784..485d90b8 100644
> --- a/include/x86/os.h
> +++ b/include/x86/os.h
> @@ -77,6 +77,17 @@ int  arch_suspend(void);
>  void arch_post_suspend(int canceled);
>  void arch_fini(void);
>  
> +#if defined(__i386__)
> +#define __SZ    "l"
> +#define __REG   "e"
> +#else
> +#define __SZ    "q"
> +#define __REG   "r"
> +#endif
> +
> +#define ASM_SP  "%%"__REG"sp"

The %% should be at the usage sites, not here.  That way, you can use
ASM_SP in e.g. file-scope asm where it's spelt with a single %.

> +#define ASM_MOV "mov"__SZ

There's no need for ASM_MOV.  Regular plain mov (no suffix) will work in
all the cases you're trying to use it, and makes the asm easier to
read.  Notice how run_idle_thread() is already like this.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 11:05:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 11:05:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706887.1104333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwgdG-0002C6-GO; Tue, 16 Apr 2024 11:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706887.1104333; Tue, 16 Apr 2024 11: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 1rwgdG-0002Bz-Df; Tue, 16 Apr 2024 11:05:46 +0000
Received: by outflank-mailman (input) for mailman id 706887;
 Tue, 16 Apr 2024 11:05:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwgdF-0002Br-Bb
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 11:05:45 +0000
Received: from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com
 [2607:f8b0:4864:20::f35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44bbff48-fbe1-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 13:05:44 +0200 (CEST)
Received: by mail-qv1-xf35.google.com with SMTP id
 6a1803df08f44-69b0f08a877so22306726d6.0
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 04:05:44 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 qb14-20020ad4470e000000b0069b7deb02dasm2201203qvb.117.2024.04.16.04.05.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Apr 2024 04:05: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: 44bbff48-fbe1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713265543; x=1713870343; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EOrLN1v6gXHx1bxczDTfFpH+7z7nlYt0ImH4TQTP3Jc=;
        b=R378WjHi84xRCHfCbwZuXGBHjISy8noLm18aJESj1KNhLhkv1XjycrL5r9N230hQl/
         08BZ07eN6fkeOHxK4+rwze/ltI2WOqAczVodAiQxtYso9cKRYs8y+EJTdXLe9j4njQTp
         bpk1B7h/yUNq8iorVFmf/QJPxt+Kc3sfV2xys=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713265543; x=1713870343;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EOrLN1v6gXHx1bxczDTfFpH+7z7nlYt0ImH4TQTP3Jc=;
        b=lkhKtm2dy4KEr+73kEkLb108ZP7koLRXP4Kot96sK8/Javbj6EXE1PvO4caJSIhL9H
         +wYdepMWvYUS5mNrTw2iG36Dq6ZyMHRjCP4LAvH5OO10g1aDH+PCfDWj17ckLCmLtgff
         pYoW5syPMxZvai4vrpLBqeGtSfMqliIQtWOSOW+a1w/h6+u3z/BHx6Na9tSijeNVoD3U
         5Cp/NGYZCJhe7m/VjmP9uezwj6W9Y8/lerN1z0iBgin/h/7iFUdK6Yn+hfU6SXlgZLbr
         SBO45C+HKGpr8XrmlhrRnPdh+hw9O3GMiORKwXzsN+uUz4L8/1rRBFXUxQIVjv0IG0Tg
         +SoA==
X-Forwarded-Encrypted: i=1; AJvYcCVCbCXdbWjx1GxFG6jxB1m3Lcyaw2RMsVl87UG2iuQO0kkZo9ltcTaR4+TJo5gr/+i2Ja4eqEjKmSsZFbVibPAksHjlFYTPdrtUojlzb14=
X-Gm-Message-State: AOJu0YyqLEvpailsdbYH8u70JWvrnzs4x+ZG0Kvyt6w/ExXFM0kfg4oJ
	LSTbQJQXvvB5b1pluXXkmcbSsfbU+1ZGuIXY145ERPRKaivVKqfTe5DMP1O/b4E=
X-Google-Smtp-Source: AGHT+IHPoVd18i8Ba11dsKYPxL3lOOHYATi2KG6ozgHCysWG3fd3A74j/EbgLkaw3ay0KBG7JMZStA==
X-Received: by 2002:a05:6214:911:b0:69b:2aa8:dc56 with SMTP id dj17-20020a056214091100b0069b2aa8dc56mr11444986qvb.36.1713265542974;
        Tue, 16 Apr 2024 04:05:42 -0700 (PDT)
Message-ID: <939adb2d-7816-4f99-9d57-ed444ab859b4@citrix.com>
Date: Tue, 16 Apr 2024 12:05:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 08/15] x86/vpmu: separate amd/intel vPMU code
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240416063534.3469482-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: <20240416063534.3469482-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/04/2024 7:35 am, Sergiy Kibrik wrote:
> diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
> index 35561fe51d..d3d7b8fb2e 100644
> --- a/xen/arch/x86/cpu/Makefile
> +++ b/xen/arch/x86/cpu/Makefile
> @@ -10,4 +10,6 @@ obj-y += intel.o
>  obj-y += intel_cacheinfo.o
>  obj-y += mwait-idle.o
>  obj-y += shanghai.o
> -obj-y += vpmu.o vpmu_amd.o vpmu_intel.o
> +obj-y += vpmu.o
> +obj-$(CONFIG_SVM) += vpmu_amd.o
> +obj-$(CONFIG_VMX) += vpmu_intel.o

I'm afraid this breaks perf counters on PV guests.  These files are
joint guest-type implementations.

Seeing as you leave vpmu.o alone, I guess that all you're actually
wanting to do is compile out vpmu_intel.o?  In which case, use
CONFIG_{AMD,INTEL} rather than CONFIG_{SVM,VMX} please.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 11:29:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 11:29:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706894.1104343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwh0I-0006tE-CM; Tue, 16 Apr 2024 11:29:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706894.1104343; Tue, 16 Apr 2024 11:29:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwh0I-0006t7-90; Tue, 16 Apr 2024 11:29:34 +0000
Received: by outflank-mailman (input) for mailman id 706894;
 Tue, 16 Apr 2024 11:29: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 1rwh0H-0006sx-1R; Tue, 16 Apr 2024 11:29: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 1rwh0G-0007sx-QX; Tue, 16 Apr 2024 11:29:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwh0G-0001qp-I2; Tue, 16 Apr 2024 11:29:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwh0G-0007sm-HT; Tue, 16 Apr 2024 11:29: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:Message-Id:Subject:To;
	bh=OIhXadYCIA9xebOEfOFt1ybSBs/h+uylZM+kHu4TlcE=; b=rhYwI5IVzKWs1bX0PB92HfFq6K
	Vj1k+IgCpupPNAHEIrH8l2Jitc2ZBNK/TcmmopOA/B7m8YEBgXsXgAH5RnlwUhnGbObNIc41FiftJ
	nKkkPGtHxwPrAq/YCZ9h3YaUXIdHLeg1gfeJUCaZoVKWSaotbeD8sbEAME1j9+01t2fA=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.16-testing bisection] complete test-amd64-amd64-xl-pvhv2-intel
Message-Id: <E1rwh0G-0007sm-HT@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 11:29:32 +0000

branch xen-4.16-testing
xenbranch xen-4.16-testing
job test-amd64-amd64-xl-pvhv2-intel
testid guest-saverestore

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:  linux git://xenbits.xen.org/linux-pvops.git
  Bug introduced:  bf1e3b1cb1e002ed1590c91f1a24433b59322368
  Bug not present: c3038e718a19fc596f7b1baba0f83d5146dc7784
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185662/


  (Revision log too long, omitted.)


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-pvhv2-intel.guest-saverestore.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-pvhv2-intel.guest-saverestore --summary-out=tmp/185662.bisection-summary --basis-template=185283 --blessings=real,real-bisect,real-retry xen-4.16-testing test-amd64-amd64-xl-pvhv2-intel guest-saverestore
Searching for failure / basis pass:
 185407 fail [host=albana1] / 185297 [host=huxelrebe0] 185283 [host=debina1] 185007 [host=septiner0] 184804 [host=sabro0] 184530 [host=elbling1] 184108 [host=huxelrebe0] 183752 [host=huxelrebe0] 183357 [host=huxelrebe1] 183350 [host=huxelrebe0] 183341 [host=italia1] 183082 [host=godello1] 182634 [host=huxelrebe0] 182236 [host=huxelrebe0] 182166 [host=elbling1] 182107 [host=italia0] 182094 [host=godello1] 181998 ok.
Failure / basis pass flights: 185407 / 181998
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-bf1e3b1cb1e002ed1590c91f1a24433b59322368 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#dcf05f958eb409095bf330cf8b8f12fe4c940880-98f150a954b35cc74bd87ae355cf35d8c9e1580d git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3-c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 git://xenbits.xen.org/osstest/seabios.git#1281e340ad1d90c0cc8e8d902bb34f1871eb48cf-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#82c5ab6be04a1f5544e38ed5198e79b91cecac45-150f6cdbfe079816a0df8b9d57320ca42fc39d12
adhoc-revtuple-generator: tree discontiguous: linux-pvops
Loaded 12695 nodes in revision graph
Searching for test results:
 181998 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 182094 [host=godello1]
 182107 [host=italia0]
 182166 [host=elbling1]
 182236 [host=huxelrebe0]
 182634 [host=huxelrebe0]
 183082 [host=godello1]
 183341 [host=italia1]
 183350 [host=huxelrebe0]
 183357 [host=huxelrebe1]
 183752 [host=huxelrebe0]
 184108 [host=huxelrebe0]
 184530 [host=elbling1]
 184804 [host=sabro0]
 185007 [host=septiner0]
 185283 [host=debina1]
 185297 [host=huxelrebe0]
 185322 fail irrelevant
 185407 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
 185460 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185463 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185466 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185468 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185471 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185475 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185478 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185480 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185485 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185487 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185490 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185492 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185496 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185498 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185501 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185503 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185506 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185509 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185512 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185462 []
 185515 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185519 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185521 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185524 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185526 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185530 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185534 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185538 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185539 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185541 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185543 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185545 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185547 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185549 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185551 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185553 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185518 []
 185555 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185558 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185561 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185563 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185566 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185569 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185573 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185575 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185578 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185580 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185583 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185586 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185589 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185592 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185594 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185596 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185599 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185601 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185605 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185607 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185556 []
 185609 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185611 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185613 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185615 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185619 blocked c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185621 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45
 185625 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
 185627 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0600bea167e8bc8c75728907eb641e5aade61da1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 4dfe95177b948d1f3ed27a801f603ed7f1bc36e8
 185628 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc0b418cbac5f8e533eede5499ac8e9e703db0ba 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 82faf1d5c8b25375b9029f2d6668135e62455a8c e481fc9f32339ebf9ddd171a3995a3e44527d148
 185630 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 855f52819950673642ca1add72c8eb0fc3499ce9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 163fd9f0872f95366cfe34eb11568934c2d2fe29 ffd75b161de76e43fd54d751ab70d2fdf6e2e87d
 185631 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f698f0a646124ede518d3e255ef725de1239639 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 70f43981b73d6b053bbc53d6f0dcac79d92b9688 ea1da2ba8ea7c76a8a3a08d11f7de5acb8b17801
 185634 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
 185637 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
 185639 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 fb263ffc1f7fc1975dc072a5ebbd9d6e9021337a
 185642 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 665789b61bc39de67d3f17288bacb4662434e251 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185646 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185647 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185648 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185655 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185656 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185659 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
 185662 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
Searching for interesting versions
 Result found: flight 181998 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049, results HASH(0x55e7107f3338) HASH(0x55e710972fe0) HASH(0x55e7109589f8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 665789b61bc39de67d3f17288bacb4662434e251 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049, results HASH(0x55e710975e80) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641c\
 c35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 fb263ffc1f7fc1975dc072a5ebbd9d6e9021337a, results HASH(0x55e710971c08) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c, results HASH(0x55e70fab6368) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2, results HASH(0x55e7109707d0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8f698f0a646124ede518\
 d3e255ef725de1239639 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 70f43981b73d6b053bbc53d6f0dcac79d92b9688 ea1da2ba8ea7c76a8a3a08d11f7de5acb8b17801, results HASH(0x55e710816b70) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 855f52819950673642ca1add72c8eb0fc3499ce9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 163fd9f0872f95366cfe34eb11568934c2d\
 2fe29 ffd75b161de76e43fd54d751ab70d2fdf6e2e87d, results HASH(0x55e710963b90) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bc0b418cbac5f8e533eede5499ac8e9e703db0ba 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 82faf1d5c8b25375b9029f2d6668135e62455a8c e481fc9f32339ebf9ddd171a3995a3e44527d148, results HASH(0x55e70fb4bab8) For basis failure, parent search stopping at c3038e718a19fc59\
 6f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0600bea167e8bc8c75728907eb641e5aade61da1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 4dfe95177b948d1f3ed27a801f603ed7f1bc36e8, results HASH(0x55e710836788) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 dcf05f958eb409095bf330cf8b8f12fe4c940880 3d273dd05e51e5a1ffba3d98c7437ee\
 84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 1281e340ad1d90c0cc8e8d902bb34f1871eb48cf 82c5ab6be04a1f5544e38ed5198e79b91cecac45, results HASH(0x55e7107fbc80) HASH(0x55e7108068f8) HASH(0x55e710803cc8) HASH(0x55e71080f240) HASH(0x55e7107e97c8) HASH(0x55e7107f0a30) HASH(0x55e710810c48) HASH(0x55e7108059d0) HASH(0x55e710814868) HASH(0x55e7107df778) HASH(0x55e7107ea9f0) HASH(0x55e7108214c0) HASH(0x55e71080d838) HASH(0x55e7107ff690) HASH(0x55e7107e3db0) HASH(0x55e70faad720) HASH(0x55e71080d538) H\
 ASH(0x55e70faadd20) HASH(0x55e70faade88) HASH(0x55e710823af0) HASH(0x55e7107fcd88) HASH(0x55e71080d238) HASH(0x55e71081ddb0) HASH(0x55e7107f9c78) HASH(0x55e71080c610) HASH(0x55e710828400) HASH(0x55e70fab5eb8) HASH(0x55e7107f6d48) HASH(0x55e7107ede00) HASH(0x55e710814240) HASH(0x55e710833378) HASH(0x55e710836d88) HASH(0x55e710837388) HASH(0x55e710846010) HASH(0x55e710845710) HASH(0x55e710842900) HASH(0x55e71083b6c0) HASH(0x55e71080ac08) HASH(0x55e710811848) HASH(0x55e7107df478) HASH(0x55e71080c31\
 0) HASH(0x55e70fab5648) HASH(0x55e710838790) HASH(0x55e7108246f0) HASH(0x55e710838a90) HASH(0x55e710837088) HASH(0x55e710845d10) HASH(0x55e71082b030) HASH(0x55e7108402f8) HASH(0x55e71084a948) HASH(0x55e710952bb0) HASH(0x55e7107ea0f0) HASH(0x55e7107f1630) HASH(0x55e7109580f8) HASH(0x55e710962158) HASH(0x55e71095bb08) HASH(0x55e710959e60) HASH(0x55e71096c990) HASH(0x55e71081ae80) HASH(0x55e70fab60f8) HASH(0x55e710849240) HASH(0x55e71096ddf8) Result found: flight 185407 (fail), for basis failure (a\
 t ancestor ~1569)
 Repro found: flight 185621 (pass), for basis pass
 Repro found: flight 185625 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 963671d3801a6992d1aa06f05d86e32efa6b205e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 4b33780de790bd438dd7cbb6143b410d94f0f049
No revisions left to test, checking graph state.
 Result found: flight 185647 (pass), for last pass
 Result found: flight 185648 (fail), for first failure
 Repro found: flight 185655 (pass), for last pass
 Repro found: flight 185656 (fail), for first failure
 Repro found: flight 185659 (pass), for last pass
 Repro found: flight 185662 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  linux git://xenbits.xen.org/linux-pvops.git
  Bug introduced:  bf1e3b1cb1e002ed1590c91f1a24433b59322368
  Bug not present: c3038e718a19fc596f7b1baba0f83d5146dc7784
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185662/


  (Revision log too long, omitted.)

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.550549 to fit
pnmtopng: 60 colors found
Revision graph left in /home/logs/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-pvhv2-intel.guest-saverestore.{dot,ps,png,html,svg}.
----------------------------------------
185662: tolerable ALL FAIL

flight 185662 xen-4.16-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185662/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore    fail baseline untested


jobs:
 test-amd64-amd64-xl-pvhv2-intel                              fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 11:57:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 11:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706914.1104356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwhQm-00048b-DU; Tue, 16 Apr 2024 11:56:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706914.1104356; Tue, 16 Apr 2024 11:56:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwhQm-00048U-Am; Tue, 16 Apr 2024 11:56:56 +0000
Received: by outflank-mailman (input) for mailman id 706914;
 Tue, 16 Apr 2024 11:56:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwhQk-00048I-RZ; Tue, 16 Apr 2024 11:56:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwhQk-0000Av-KH; Tue, 16 Apr 2024 11:56:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwhQk-0004Su-BL; Tue, 16 Apr 2024 11:56:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwhQk-0001cl-As; Tue, 16 Apr 2024 11:56:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wUT+rwkY2sjHWhJ5VJ8PIa+beJxFniVYHNMiuoP1mwM=; b=SduzRzE/WHl9CMKN0UbcLAK8ue
	I2Uoirl1+ZDwmmJF/lcFcITsZ498rzo9VxahSoGVsCN3WDFGc3hndNmaC2qKAOSIqV6VseH09h1sR
	xDVPS/GW+rkSywo/JzzzKO7h2YZqUEMsDkW0oVqyvw8W62xIp9yj9p8/D/k30IlVztqE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185658-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185658: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b6cd5ddce9ade43e4215836f12b43ebbb90eecf2
X-Osstest-Versions-That:
    ovmf=6363872629cd58636128824977e56eea15b97a15
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 11:56:54 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b6cd5ddce9ade43e4215836f12b43ebbb90eecf2
baseline version:
 ovmf                 6363872629cd58636128824977e56eea15b97a15

Last test of basis   185649  2024-04-16 07:49:16 Z    0 days
Testing same since   185658  2024-04-16 09:41:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cindy Kuo <cindyx.kuo@intel.com>
  CindyX Kuo <cindyx.kuo@intel.com>
  Jason Lou <yun.lou@intel.com>
  Jiewen Yao <jiewen.yao@intel.com>

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


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

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

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

Test harness 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
   6363872629..b6cd5ddce9  b6cd5ddce9ade43e4215836f12b43ebbb90eecf2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 13:22:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 13:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706958.1104378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwilD-0007wQ-Fy; Tue, 16 Apr 2024 13:22:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706958.1104378; Tue, 16 Apr 2024 13:22:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwilD-0007wJ-CI; Tue, 16 Apr 2024 13:22:07 +0000
Received: by outflank-mailman (input) for mailman id 706958;
 Tue, 16 Apr 2024 13:22: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 1rwilC-0007w9-Jz; Tue, 16 Apr 2024 13:22: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 1rwilC-0002Fa-9H; Tue, 16 Apr 2024 13:22: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 1rwilB-0002Ji-T7; Tue, 16 Apr 2024 13:22:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwilB-0003mW-SP; Tue, 16 Apr 2024 13:22:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uJP8HH9l8kxuaClwxDu0yc15omjGU8y6wPBGFUIIJTs=; b=uNXHOGyIrHs9bDcfHzFPvx19ZY
	EM+bNxYKEFogxiflx7W6IiklPRmN0FTnKXJzppgG980/DKcErNT+RDyxKXRYlATRsS1l9nBJ+5zwL
	VvkA/O6ExuL03GaE+PferxJm8yc0B0H8QkKbxbNgYZtGJNUsRzC7rY1AyN02ZIyHp7dM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185635-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185635: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    xen-unstable:build-arm64-pvops:kernel-build:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:debian-di-install:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-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-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 13:22:05 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 185281
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 185281
 build-arm64-pvops             6 kernel-build   fail in 185622 REGR. vs. 185281

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2    12 debian-di-install          fail pass in 185622

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185622 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185622 n/a
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail blocked in 185281
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185281
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185281
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185281
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185281
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-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-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-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-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                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
baseline version:
 xen                  672b26b66ebb5ff3d28c573a6545a08020b27495

Last test of basis   185281  2024-04-09 11:10:22 Z    7 days
Failing since        185294  2024-04-10 04:20:17 Z    6 days   10 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    2 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.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                                    fail    
 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                                      fail    
 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 1003 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 13:26:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 13:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706963.1104388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwipZ-0000HT-0P; Tue, 16 Apr 2024 13:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706963.1104388; Tue, 16 Apr 2024 13: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 1rwipY-0000HM-To; Tue, 16 Apr 2024 13:26:36 +0000
Received: by outflank-mailman (input) for mailman id 706963;
 Tue, 16 Apr 2024 13:26:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwipY-0000HG-9a
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 13:26:36 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1d21af3-fbf4-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 15:26:35 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-78ecacab93bso387092485a.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 06:26:35 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 vv10-20020a05620a562a00b0078d6c4b0b3bsm7567665qkn.26.2024.04.16.06.26.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Apr 2024 06: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: f1d21af3-fbf4-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713273994; x=1713878794; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dfTilTUZYTUJNw0Z8dLBhB4zRThATqAWOOkGBPtcBww=;
        b=DJmg0YDrfsuMua9TPXLqe2b8jZYjbbsSia474Szh63GfXUS27fSge8W/Ta8GBh14Rf
         Q//2pfR4lIgqVBQD6Mdv3CS5c+tph0vg2uckkUPiZHN6eSxlMs6qXuN+kslVhlO7Wyzo
         4+j6GhwMhXud9OkxMx9VFoq9H9TdQMeLuvhcc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713273994; x=1713878794;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dfTilTUZYTUJNw0Z8dLBhB4zRThATqAWOOkGBPtcBww=;
        b=mxSjiEzdaUzuFKOIgtnCrOU4GT4szSefYgvywBdUXMSAhPxWw2kfjp5FYc+9eHZH6P
         yDOSUf8hnWlaPwLx58gxiu7uMRSKKOoRJmPOmPaoE+6RPwEZX6FsQxyPvY5TMep3l7KW
         08XIKF5zBnNsJPIGAQNdmyvYWATHoG2A3pKNgG35fvpbyI0qTy1SNbXRR5EijNrUkDbH
         qg+j7lTfwZ/0zPakrZZrM9dngsFsDQ+sSsTh36iB20Sw8YzgRWnS64+8m7UgsnuPU9hg
         1gK6SYQcTHdsGs9QEMLsgByCJkSrlePCCLuk4CxLWVPVt5pC5RG2PqBHSSuCMPKq4qBD
         E4kw==
X-Forwarded-Encrypted: i=1; AJvYcCWtWmDe2G9hkb0nh8Cf26kGrQUw1foeRhAtVYPYIE9d93RI5QZnDQTnbTi9RuZ5ru1Jzx3rpiPA7r/diW7dmLxSSMi3B8Rs+Q4zFGq44uE=
X-Gm-Message-State: AOJu0YwmgA3GaLKObZ4YCVyK7XDDQ4WAB4MnuWSxms+j9iT7le/xDp+x
	+da3WLHzVq6oE0AmzDDUZO8Dyf/sMmGSve2aU6OUWoJUVGQMx3bOocS2HYxfPbI=
X-Google-Smtp-Source: AGHT+IFLYRds+ATwIc0DkLopLz7zWPGg12iJtKzl9Km1JB1ZQ0wdzLW+Ir33OrC6DhWy0EO0+Ld6mA==
X-Received: by 2002:a37:e20b:0:b0:78d:74ed:ae90 with SMTP id g11-20020a37e20b000000b0078d74edae90mr13538346qki.26.1713273993797;
        Tue, 16 Apr 2024 06:26:33 -0700 (PDT)
Message-ID: <fb54fefb-404f-43a4-aea9-28649927c353@citrix.com>
Date: Tue, 16 Apr 2024 14:26:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 13/15] x86: wire cpu_has_{svm/vmx}_* to false when
 svm/vmx not enabled
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240416064606.3470052-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: <20240416064606.3470052-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/04/2024 7:46 am, Sergiy Kibrik wrote:
> From: Xenia Ragiadakou <burzalodowa@gmail.com>
>
> To be able to use cpu_has_{svm/vmx}_* macros in common code without enclosing
> them inside #ifdef guards when the respective virtualization technology is
> not enabled, define corresponding helper routines as false when not applicable.
>
> No functional change intended.
>
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/include/asm/hvm/svm/svm.h  | 8 ++++++++
>  xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 7 +++++++
>  2 files changed, 15 insertions(+)
>
> diff --git a/xen/arch/x86/include/asm/hvm/svm/svm.h b/xen/arch/x86/include/asm/hvm/svm/svm.h
> index 4eeeb25da9..7e8cdb4a27 100644
> --- a/xen/arch/x86/include/asm/hvm/svm/svm.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
> @@ -38,10 +38,18 @@ extern u32 svm_feature_flags;
>  #define SVM_FEATURE_SSS           19 /* NPT Supervisor Shadow Stacks */
>  #define SVM_FEATURE_SPEC_CTRL     20 /* MSR_SPEC_CTRL virtualisation */
>  
> +#ifdef CONFIG_SVM
>  static inline bool cpu_has_svm_feature(unsigned int feat)
>  {
>      return svm_feature_flags & (1u << feat);
>  }
> +#else
> +static inline bool cpu_has_svm_feature(unsigned int feat)
> +{
> +    return false;
> +}
> +#endif
> +
>  #define cpu_has_svm_npt       cpu_has_svm_feature(SVM_FEATURE_NPT)
>  #define cpu_has_svm_lbrv      cpu_has_svm_feature(SVM_FEATURE_LBRV)
>  #define cpu_has_svm_svml      cpu_has_svm_feature(SVM_FEATURE_SVML)
> diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> index fd197e2603..2d927d3100 100644
> --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> @@ -287,10 +287,17 @@ extern uint64_t vmx_tertiary_exec_control;
>  #define VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL 0x80000000000ULL
>  extern u64 vmx_ept_vpid_cap;
>  
> +#ifdef CONFIG_VMX
>  static inline bool vmx_ctrl_has_feature(uint64_t control, unsigned long feature)
>  {
>      return control & feature;
>  }
> +#else
> +static inline bool vmx_ctrl_has_feature(uint64_t control, unsigned long feature)
> +{
> +    return false;
> +}
> +#endif
>  
>  #define VMX_MISC_ACTIVITY_MASK                  0x000001c0
>  #define VMX_MISC_PROC_TRACE                     0x00004000

I'm afraid this is going in an unhelpful direction.  We want to move
both of these files to be local to arch/x86/hvm/{vmx,svm}/.

cpu_has_svm_* isn't actually used outside of svm/; only the plain
SVM_FEATURE_* constants are, and that's only because they're not
expressed as plain cpu features yet.

cpu_has_vmx_* has a few more users, but most are unlikely to remain in
this form.  One critical set of changes to fix vulnerabilities in
nested-virt is to make almost of of these decisions based on per-domain
state, not host state.  The aspects which are host state should be in
regular cpu features.

I already volunteered to sort out the SEV feature leaf properly, and I
was going to do the SVM leaf while I was at it.  If you can wait a few
days, I might be able to make half of this problem disappear.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 13:39:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 13:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706972.1104407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwj1X-0002Q5-Ae; Tue, 16 Apr 2024 13:38:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706972.1104407; Tue, 16 Apr 2024 13:38:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwj1X-0002Py-7m; Tue, 16 Apr 2024 13:38:59 +0000
Received: by outflank-mailman (input) for mailman id 706972;
 Tue, 16 Apr 2024 13:38:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gIXQ=LV=actia.se=john.ernberg@srs-se1.protection.inumbo.net>)
 id 1rwj1V-0002PR-TQ
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 13:38:57 +0000
Received: from mail.actia.se (mail.actia.se [212.181.117.226])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id abb4e3b2-fbf6-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 15:38:55 +0200 (CEST)
Received: from S036ANL.actianordic.se (10.12.31.117) by S035ANL.actianordic.se
 (10.12.31.116) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.37; Tue, 16 Apr
 2024 15:38:54 +0200
Received: from S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69]) by
 S036ANL.actianordic.se ([fe80::e13e:1feb:4ea6:ec69%4]) with mapi id
 15.01.2507.037; Tue, 16 Apr 2024 15:38:54 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abb4e3b2-fbf6-11ee-94a3-07e782e9044d
From: John Ernberg <john.ernberg@actia.se>
To: 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>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "John
 Ernberg" <john.ernberg@actia.se>, Peng Fan <peng.fan@nxp.com>
Subject: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
Thread-Topic: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
Thread-Index: AQHakANs0o7CMXmy6E6n0UqJT/8QvQ==
Date: Tue, 16 Apr 2024 13:38:54 +0000
Message-ID: <20240416133844.2544452-1-john.ernberg@actia.se>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: git-send-email 2.44.0
x-originating-ip: [10.12.12.11]
x-esetresult: clean, is OK
x-esetid: 37303A293A9A2F57647D64
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

New contributions are recommended to be under GPL-2.0-only [1], since this
code piece originally came from the NXP tree the original license was
retained.

However, as discussed both Peng [2] and I [3] are ok with GPL-2.0.-only
as a license. Change the license.

Cc: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/xen-devel/084b9ed5-1585-4802-b504-6ccd2f26254=
2@xen.org/ [1]
Link: https://lore.kernel.org/xen-devel/DU0PR04MB9417A835B5D04517CC11500788=
082@DU0PR04MB9417.eurprd04.prod.outlook.com/ [2]
Link: https://lore.kernel.org/xen-devel/e3785d8a-9b16-4b74-9453-b0166bdbb17=
1@actia.se/ [3]
Signed-off-by: John Ernberg <john.ernberg@actia.se>
---
 xen/arch/arm/platforms/imx8qm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/platforms/imx8qm.c b/xen/arch/arm/platforms/imx8q=
m.c
index 3600a073e8..9dac6af425 100644
--- a/xen/arch/arm/platforms/imx8qm.c
+++ b/xen/arch/arm/platforms/imx8qm.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * xen/arch/arm/platforms/imx8qm.c
  *
--=20
2.44.0


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 13:39:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 13:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706971.1104398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwj1T-0002BG-5F; Tue, 16 Apr 2024 13:38:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706971.1104398; Tue, 16 Apr 2024 13:38: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 1rwj1T-0002B9-1A; Tue, 16 Apr 2024 13:38:55 +0000
Received: by outflank-mailman (input) for mailman id 706971;
 Tue, 16 Apr 2024 13:38:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwj1S-0002B1-8g
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 13:38:54 +0000
Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com
 [2607:f8b0:4864:20::b2c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9b770b1-fbf6-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 15:38:53 +0200 (CEST)
Received: by mail-yb1-xb2c.google.com with SMTP id
 3f1490d57ef6-dcbd1d4904dso4341434276.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 06:38:52 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k26-20020a0c971a000000b0069f77a0079fsm453096qvd.34.2024.04.16.06.38.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Apr 2024 06: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: a9b770b1-fbf6-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713274732; x=1713879532; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uQRnmrxUqjNTrPFx6kAVneHl4mVOqI9ZV+GFuSsOyKk=;
        b=Krf9LDgmm32hCunoaS0nDP8RkJyinMrsQ4gBB06z6VeN7TwtWk8NLzZSeqOzxaD0ls
         3McRWLfkV20PBEpocRq1QY0p/GYuejHk42DefiVzktwgrTkJu1saALlPmvd5DkqwFxC/
         71VCqrxcXnwdC1pchA3v7+jjsed2a0P/SRKaQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713274732; x=1713879532;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uQRnmrxUqjNTrPFx6kAVneHl4mVOqI9ZV+GFuSsOyKk=;
        b=QpUxetNvXsex/2EE6D24QMEOOMhGel5Cz9fF6GqpbdFo5pBWY07r9qXRsPkh1K3UUg
         0VxmEDH0xfd21EwgGud7QhCjaaaHL+zA8qrkSs8lcsa/z7SNTZcwGOB4Pr/N8iwY1mEy
         MnKbb5w1hzeN5noGmYnkuIi+h8RfAxnbq0EQ1u311y7C6/w1bdqi0gCehR1ApySOFX/Q
         g4i1VMuN9x+458p7N5lhhjUACtW+AWworRzzt9qobi9Hj+R2Fax93lbvvhGjSwlifIdc
         3yDIv+nZrcbgIRZQeDVbvX+SmZgq/zjn7cyNxwl4NUuH5AmVIEoRIOFKth1CWjq7dn/K
         D3jg==
X-Forwarded-Encrypted: i=1; AJvYcCUPlxZDb5ipAG+aNDzc8WkJGMniIcZbyKxte5RwNg1qyIrAXHW+6Z01X8RHMO9FNRpFdbiGiWyXtyTg22leyzuV5K5JoNEc+4Hqu4z82x8=
X-Gm-Message-State: AOJu0YwnnMOPWIg6wTOrp2PVo3mMAx27BLh6GgLtYpx+zQnZG6QzKGkg
	/f5mMR8CbMvWoXlhrC9/nTaYHwk4HeC9dxjCefl3d6j2rB0LWEF0uyN9nJmiITE=
X-Google-Smtp-Source: AGHT+IF7knkl0Zc0ny1rhyFG1YJ/wHJ1mOsXbzgeTJ9LcnLwkgsMv13L127G6maJKjZhf6Zhv/TQ1A==
X-Received: by 2002:a25:b589:0:b0:dcf:3ef2:6182 with SMTP id q9-20020a25b589000000b00dcf3ef26182mr11622472ybj.0.1713274731739;
        Tue, 16 Apr 2024 06:38:51 -0700 (PDT)
Message-ID: <10f811aa-0b18-4ef2-9185-3146df13a382@citrix.com>
Date: Tue, 16 Apr 2024 14:38:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/svm: Add flushbyasid in the supported features
To: Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, roger.pau@citrix.com
References: <b8541a3c70058a74c837352901f2e6a8b45e4fa2.1713258186.git.vaishali.thakkar@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: <b8541a3c70058a74c837352901f2e6a8b45e4fa2.1713258186.git.vaishali.thakkar@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16/04/2024 10:08 am, Vaishali Thakkar wrote:
> TLB Flush by ASID is missing in the list of supported features
> here. So, add it.
>
> Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>
> ---
>  xen/arch/x86/hvm/svm/svm.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index a745acd903..4719fffae5 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -2510,6 +2510,7 @@ const struct hvm_function_table * __init start_svm(void)
>      P(cpu_has_svm_lbrv, "Last Branch Record (LBR) Virtualisation");
>      P(cpu_has_svm_nrips, "Next-RIP Saved on #VMEXIT");
>      P(cpu_has_svm_cleanbits, "VMCB Clean Bits");
> +    P(cpu_has_svm_flushbyasid, "TLB flush by ASID");
>      P(cpu_has_svm_decode, "DecodeAssists");
>      P(cpu_has_svm_vloadsave, "Virtual VMLOAD/VMSAVE");
>      P(cpu_has_svm_vgif, "Virtual GIF");

This is consistent with pre-existing behaviour, so

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

However, an ever increasing list of lines like this is something I'm
trying to push back against.

They don't match the configured state of VMs in the system, not least
because one of the things required to fix security vulnerabilities in
nested virt is to break the (false) assumption that there is a single
global state of how a VM is configured.

These ones in particular are just about to appear in CPU policies.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 13:40:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 13:40:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706979.1104423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwj2q-00045T-Lw; Tue, 16 Apr 2024 13:40:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706979.1104423; Tue, 16 Apr 2024 13:40:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwj2q-00045M-Iv; Tue, 16 Apr 2024 13:40:20 +0000
Received: by outflank-mailman (input) for mailman id 706979;
 Tue, 16 Apr 2024 13:40: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=f57D=LV=nxp.com=peng.fan@srs-se1.protection.inumbo.net>)
 id 1rwj2o-00045E-MV
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 13:40:18 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2608::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc5f90f4-fbf6-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 15:40:17 +0200 (CEST)
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11)
 by DU2PR04MB8552.eurprd04.prod.outlook.com (2603:10a6:10:2d7::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Tue, 16 Apr
 2024 13:40:15 +0000
Received: from DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d]) by DU0PR04MB9417.eurprd04.prod.outlook.com
 ([fe80::d30b:44e7:e78e:662d%4]) with mapi id 15.20.7452.049; Tue, 16 Apr 2024
 13: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: dc5f90f4-fbf6-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=obEbx5VnY+hv/9FscL0VVeeIys38LGQopWmn/zxPPcij68N2ShZb6hH73zMYIDb5iEDEGZQSIx6BXMh0v/RPCyw49xxPgVPRHbOeAAWZ93q7jp4I4bibmKiAld53mlIg5SRJ2pstbAKx1bXOVfPlG4deEjQ09h8q0HB53bklYj1hHm0rG6hLpjnzr9k1NaGN+n2zDsx1nqo0VaZXrJMywMxq8rDzO3xs/LBNKnJBgAQiSRKWqp52DI82JFfst7P//Rf7z7IwGjNRfDn0M0IN+wzYyGdRsQjBsNmxf+jEYWhrt53sZ8lFofEGRpoveS1xps33vM9vvCh+fQFKj/E3uA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zo5YjZtryzvZsmso8G6AV+EUVkcMaHBpmCwG+0FAoE4=;
 b=VTVBX/dpv9Fx86SSbPYMcDaZQnjAerUvKwKZazpQXABww5T4VlfCE3c1TvbDO4o+8KQjLLZLUFOzVOBfsGd+SS99pv9p+BHK8msk6wOfm2E+jrnsXUE308HfE9r2MSP13MvU9qK36EVezDQ4j+xVWBxy6jx1eSnokhP5wZE18f0mrBOOBSFoYobujHZDW5Gqj+uo8TK3CgSP5v+mvTf5kkZFHQqkxv+8HNheHmb+exA5jpPE0KYEx6z35XZ6GnTCLU3dJSyaddkND4ib6Oy9FSzzqaCOREgbotSHoaf3XFHf8/1ieKIMAeSvpeQ5G2cOD3CC3uXvxxqpMZ0V6EXKlQ==
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=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zo5YjZtryzvZsmso8G6AV+EUVkcMaHBpmCwG+0FAoE4=;
 b=CSFNWiVGx9FKiRQ7mE/dUK4RNDV9QkJI5YaindpLGwVou8fzxOOCYmXnusLgl+Hr7imsG2B2uRB95TKM9iMQYLdx3qE7UAVL2FoAEhZ7WHRq3IiXT7X5suZidkQmGb4NcDDWWIXkH8Qk+/B9rHArlLIdqpAIPZ09dndNLMfLnLU=
From: Peng Fan <peng.fan@nxp.com>
To: John Ernberg <john.ernberg@actia.se>, 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>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
Thread-Topic: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
Thread-Index: AQHakANs0o7CMXmy6E6n0UqJT/8QvbFq5xeQ
Date: Tue, 16 Apr 2024 13:40:15 +0000
Message-ID:
 <DU0PR04MB9417D2CBEAE4D002596B9F4B88082@DU0PR04MB9417.eurprd04.prod.outlook.com>
References: <20240416133844.2544452-1-john.ernberg@actia.se>
In-Reply-To: <20240416133844.2544452-1-john.ernberg@actia.se>
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: DU0PR04MB9417:EE_|DU2PR04MB8552:EE_
x-ms-office365-filtering-correlation-id: da83ba33-da59-4062-9df6-08dc5e1abfb9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Mmiyj8XUMWu1vZ1Copn+74SQcnXyG4HGgLvaXxBPSZJU18m33sb0gs5LtE2TE5QxP3aLAQ3rV0QzDtSKyTWlkvVhu/coYMQdcq8VVLn9LoQDI1qkhTSUar6lHl040+KAq7w6MhcTPLsPn7NzlwhIi+hGh1prdTznlmWtQ5XNUifO1dmBnGMpqpKOsq0eyN0+t8GfQT9gU2QlFXKNdWjIhI5l8XebLlrEFe5An9o+ZXMAXfhmmXlKImdei+3erxi76J1dChuBw6zZa7ait1mF3jdfYKeSNCJlgQa5nqDQhabgnJvdzadRtZ8xCEXN1bg4Lro9A/VZURDWZNqNvVAbnN2n/Q+aWMUwjXT4TphubS83ILPR9J27qwFSFPVaUTCKwvffcMao2Yj9lUiq8Rcr1c/FlGJYx/paDNHlhO15svv+13k8bS7ztqeont8p46HSEhdJZzjXwBTaxT4WabH87L6aTakQQbi2iE4NolOojKwafBBC2phO1Hija6yveyS0wvQy2IoJQfYqnUr57ANwhpJ6+WThiPUgTNZuGjGfANaPJZ2juzWcUG3Vbv9LvpRjkG8oyo2oby5qobfnEVprd/gsKQgwCRk+MMDxhwoSxP+tJHjLacp1XK811cl3odlj6jsV5Pt62OTQH9btq9hXsstHuApgMvg5CYqxe+9rbF0=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU0PR04MB9417.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?7p9TCA4W+vLiiLICwIHOiKdDAxOOFptmYahsNtt8L0PcHfHNUXPHSXeV3/x8?=
 =?us-ascii?Q?nsxcMwiOmQy6apmZYZnmLSK6Ox2cV5FakDDcyxw6rOSBZKkDh/gXYLMIloxh?=
 =?us-ascii?Q?XhCBEOTlBiEivQMQmvi9aI/7pWpsv5Dz9vy6XCLjEMNllvAiKSPhG3i5JLWB?=
 =?us-ascii?Q?2nWujxd9mcdBw7YCyiz/cA1e8ljtQ4mWHqwy59CM48A6qJ5+sGSPxSNgdNxZ?=
 =?us-ascii?Q?jQ8/JJFsdY1zuyc0xQmxoMbPKJgpkKKS70oH3OiDGyT0feM+7GiUW6KN5QAz?=
 =?us-ascii?Q?tDxem08yQvz3nnHp0Xu+MmTNbrea7k/nWCcYqfu6B1pmWvn3Yb6iVgS1Doqz?=
 =?us-ascii?Q?8CUjQtYRLcS1U8hIJSy7zRGuYZ3SPu7rL5qqnjh9j/r3M6x8HaZREzJPRnkl?=
 =?us-ascii?Q?jEpzzTR8DGmMbM4rBBLPJVK6CjNUQAt6VWbRAcpBtZGOvYSa/AjAlETMeYaU?=
 =?us-ascii?Q?TBPamA/stTlTLk/wqXhDs7iq7ROu3+YyJYiutnDUBAqn1PozcAePeHdIVzU6?=
 =?us-ascii?Q?395jHtHcIc3lQD9BuXFLT/b3Et2zcnlvrlXKFRlOWv7VlqLPUhjsqa455suU?=
 =?us-ascii?Q?1Ug7b0mpeQgWm13C3QpkHODqatqeXtkm5Zmpy09vE4R1GPN2X6enM8AqZCgB?=
 =?us-ascii?Q?mm9gMv5hEtXrcJOsxbq8RtDWwzTTGlZG6mFBTgWhG7ZMEeA3Cyqlwu/DUqZc?=
 =?us-ascii?Q?P/JYMbf6PIGA1JjNrla9USl2hL+ZmNlrgNRpNNys8Xxt0vuiLRAvAO+WWvIr?=
 =?us-ascii?Q?OKelGAiajZQWlT0JB6tgU78VXX+0EUxb+5n/Uen3tvMInPOJhVcWODJNq3fJ?=
 =?us-ascii?Q?uAxBRQFgAnkTTzucCXqOXQrkDmZE1ZSyvKrDkEUGfHioc7x9ntU0k0A6wyCj?=
 =?us-ascii?Q?sngDUfjod/ctxxo/izLf95VP+QEx0a+Kncw5wBhigdFDs6GFWjZ7VTySLSae?=
 =?us-ascii?Q?U6ZnW/yCby7lYZ6s5TQWgpxKCGuG7atrwVFgU6iOpmpxaW+Qqia/LjEdkhKc?=
 =?us-ascii?Q?x/fOVkhPDzzpbSYL3GA2xiipEyYx9eLhOk7Tb/sRT1/G96qdcUaOUHIHKa+H?=
 =?us-ascii?Q?tN1DWw1rEXYjQv5oNik0nXQPxEzZgJXGeFjo2X72WoHeSgBdRidkeicwQLFi?=
 =?us-ascii?Q?oJc5z2MOu4euP3vP1eFnDzYKXAO56SdPR/KRGC+dES+37BENQeCqslARMPJE?=
 =?us-ascii?Q?ptkdjzfBbBfBAwkfWsLCA0m+HsI0npkYK7ZzFu5D8EeNRRREsSwXAwvF/5Ja?=
 =?us-ascii?Q?Tuq82J5dQp/tfFfS9E10viK/os95p1o7gfJk1QsWbjd4ukTo4iBS7uuCckVZ?=
 =?us-ascii?Q?Y697zOwWzf2A9CzMoHeovWZo7R0EuOvuPgRn2a2kcgqri0Ogq57cH7ksvUwv?=
 =?us-ascii?Q?d3hGEaJKYCMNCG5TQCwOFGFrK3ZCU5Dl8JZQVG4FmvhjR17AujqSzYPYLuSq?=
 =?us-ascii?Q?mreXXqVaGlSseibWGMzsWecJ56fR3oXL48HCOSL4bFZLVlLxb69ZbEpOKV1k?=
 =?us-ascii?Q?nhQHgqkaGSeMT0cc6lvolIcWGpIUFlV7qtDHt7sI9OoA2gKw1mPdxLpMX0v/?=
 =?us-ascii?Q?2hdYI9ATpggdvoSiFk8=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da83ba33-da59-4062-9df6-08dc5e1abfb9
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2024 13:40:15.8523
 (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: TaWH+/dgU2YzV8C+xLD4p0TNTet1YEj6oZ56L5p3ZZz5xlyie1oACkX7ff5BNcacmOEaOKdaMoVH0c8lJn6k3w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8552

> Subject: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
>
> New contributions are recommended to be under GPL-2.0-only [1], since thi=
s
> code piece originally came from the NXP tree the original license was ret=
ained.
>
> However, as discussed both Peng [2] and I [3] are ok with GPL-2.0.-only a=
s a
> license. Change the license.
>
> Cc: Peng Fan <peng.fan@nxp.com>
> Link:
> https://lore.ke/
> rnel.org%2Fxen-devel%2F084b9ed5-1585-4802-b504-
> 6ccd2f262542%40xen.org%2F&data=3D05%7C02%7Cpeng.fan%40nxp.com%7C
> 0620114718b349f6acaf08dc5e1a914c%7C686ea1d3bc2b4c6fa92cd99c5c30
> 1635%7C0%7C0%7C638488715401364850%7CUnknown%7CTWFpbGZsb3d
> 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%
> 3D%7C0%7C%7C%7C&sdata=3DkiZCfwbHB4ovpKwpcDSsC%2BqlHp2rHWOF9CP
> Z9vr9WQ0%3D&reserved=3D0 [1]
> Link:
> https://lore.ke/
> rnel.org%2Fxen-
> devel%2FDU0PR04MB9417A835B5D04517CC11500788082%40DU0PR04MB
> 9417.eurprd04.prod.outlook.com%2F&data=3D05%7C02%7Cpeng.fan%40nxp.c
> om%7C0620114718b349f6acaf08dc5e1a914c%7C686ea1d3bc2b4c6fa92cd9
> 9c5c301635%7C0%7C0%7C638488715401382481%7CUnknown%7CTWFpb
> GZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI
> 6Mn0%3D%7C0%7C%7C%7C&sdata=3DSgqvF8j1qcbrRxWlibrZOt%2F5V2kcjJQI1
> pUSLcphjoo%3D&reserved=3D0 [2]
> Link:
> https://lore.ke/
> rnel.org%2Fxen-devel%2Fe3785d8a-9b16-4b74-9453-
> b0166bdbb171%40actia.se%2F&data=3D05%7C02%7Cpeng.fan%40nxp.com%7
> C0620114718b349f6acaf08dc5e1a914c%7C686ea1d3bc2b4c6fa92cd99c5c3
> 01635%7C0%7C0%7C638488715401397178%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D%7C0%7C%7C%7C&sdata=3DINhtc4gq0P5UYCo9xLaM%2BA2Fuzzm2qIFb0s
> ec1oSGaU%3D&reserved=3D0 [3]
> Signed-off-by: John Ernberg <john.ernberg@actia.se>

Acked-by: Peng Fan <peng.fan@nxp.com>
> ---
>  xen/arch/arm/platforms/imx8qm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/arch/arm/platforms/imx8qm.c
> b/xen/arch/arm/platforms/imx8qm.c index 3600a073e8..9dac6af425 100644
> --- a/xen/arch/arm/platforms/imx8qm.c
> +++ b/xen/arch/arm/platforms/imx8qm.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * xen/arch/arm/platforms/imx8qm.c
>   *
> --
> 2.44.0


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 14:12:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 14:12:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706993.1104443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwjXr-0000Hw-5c; Tue, 16 Apr 2024 14:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706993.1104443; Tue, 16 Apr 2024 14:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwjXr-0000Hp-2P; Tue, 16 Apr 2024 14:12:23 +0000
Received: by outflank-mailman (input) for mailman id 706993;
 Tue, 16 Apr 2024 14:12:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwjXq-0000Hh-4w
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 14:12:22 +0000
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com
 [2607:f8b0:4864:20::829])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56596c60-fbfb-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 16:12:20 +0200 (CEST)
Received: by mail-qt1-x829.google.com with SMTP id
 d75a77b69052e-434d0a63151so25182051cf.3
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 07:12:20 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f16-20020ac86ed0000000b004348d54a873sm7252351qtv.57.2024.04.16.07.12.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 16 Apr 2024 07:12: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: 56596c60-fbfb-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713276739; x=1713881539; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ps/yRs7ta/rexAfAl8oEbhrvs+o+iKFPkkoXWreyqXA=;
        b=TVQ+kHgBNErH4uD4TxMni+eN92EnJcyYOsB4urw5Xi1Er6N6A+aK1FOEwOQW5Ev7JU
         80+zDZ09r3PQ5UIFk0zUdsdDVd2Wso4gV/YYlaTugDRe3c2nXcjOwx6vpEVpTtJRgUwY
         dJ9AOpoyMr5fMQuU/CPqjmHQp4iHhFAcvvI/0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713276739; x=1713881539;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ps/yRs7ta/rexAfAl8oEbhrvs+o+iKFPkkoXWreyqXA=;
        b=H18mRQ7z6klQeXc9d/Ptvny9z37ImmF9GA4sYqZyocMOktYIc643yfIbrvlaMvRII7
         qzDIcffhcpkvZUK1KLmxq/5rHNAg6Ji8uxbM64VG1RspnubBIzbWnILZhBEfbl0zVM2l
         zOoqsOJXvZiLOYwSyR0XStTxFCzg/NKFZ6CLo8bty2Wj0uwawrJK6l96TDKz9QqlyN5U
         e9fgA4EMczDBN5EGXaQyDAzu491wx+DPh8OOsA1dT90yYmQBcBmxLValSDt8m7aODBRZ
         8wsq6EUUgTqNwggRwlskxHwQUi/NgI9urOmmWjuiMRTM1byBDCsysgdHfeL2mV2iGHgp
         zY/g==
X-Forwarded-Encrypted: i=1; AJvYcCV4bn8E+fDpkSXJmPVk3bOyd1iAsSR3cdoRNqucv79BJQUYpw0yA1UIUPQhrHmR4+WNkE1TH/SrWgjyW6iBWdMXGIotuCJN2C3W5c97WLI=
X-Gm-Message-State: AOJu0Ywn7dU9QqB6QEz9XAkmknWZFyAokmhFsSh4R1PsP3HsaAk0rcD3
	iONbl6nfoCqfWS0jeEuie4AnX8pK1CZh3qBnIQFbX9a1fShBnc9Ee76Flsn1Hb8=
X-Google-Smtp-Source: AGHT+IF5s5EqAUpF+JSJlLZ4kRyJMFGmeEaZdWqByGvM4YOX/YIGQZoLm2pYdKpfwpMORQlp3pDnqg==
X-Received: by 2002:a05:622a:164e:b0:434:767f:2999 with SMTP id y14-20020a05622a164e00b00434767f2999mr17288608qtj.33.1713276739415;
        Tue, 16 Apr 2024 07:12:19 -0700 (PDT)
Message-ID: <4915dde3-e798-4eb8-addd-b65a417cf3de@citrix.com>
Date: Tue, 16 Apr 2024 15:12:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/hvm: Allow supplying a dynamic start ASID
To: Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, roger.pau@citrix.com
References: <0d4ef987825080715873360c8b41ebb467b7dfdf.1713257278.git.vaishali.thakkar@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: <0d4ef987825080715873360c8b41ebb467b7dfdf.1713257278.git.vaishali.thakkar@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/04/2024 9:54 am, Vaishali Thakkar wrote:
> Currently, Xen always starts the ASID allocation at 1. But
> for SEV technologies the ASID space is divided. This is
> because it's a security issue if a guest is started as
> ES/SNP and is migrated to SEV-only. So, the types are
> tracked explicitly.
>
> Thus, in preparation of SEV support in Xen, add min_asid
> to allow supplying the dynamic start ASID during the
> allocation process.
>
> Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>

Mechanically, this is fine, but is it going to be useful in the long term?

For SEV and SEV-ES/SNP, we must run the VM in the single fixed ASID
negotiated with the ASP.  This is not not optional.

For non-encrypted VMs, we are free to choose between using the remaining
ASID space as we used to (i.e. run it per-pCPU and tick it over to flush
the TLBs), or to run it in a fixed ASID per guest too.

The latter lets us use INVLPGB, and would avoid maintaining two
different TLB-tagging schemes.


I'd say that we absolutely do want INVLPGB support for managing
non-encrypted VMs, and we cannot mix both fixed and floating ASIDs at
the same time.

We should seriously consider whether it's worth maintaining two schemes,
or just switching wholesale to a fixed ASID scheme.

I don't have a good answer here...  If it where anything but TLB
flushing, it would be an obvious choice, but TLB handling bugs are some
of the nastiest to show up.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 14:14:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 14:14:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.706997.1104454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwjZU-0000yt-KZ; Tue, 16 Apr 2024 14:14:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 706997.1104454; Tue, 16 Apr 2024 14:14:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwjZU-0000ym-GQ; Tue, 16 Apr 2024 14:14:04 +0000
Received: by outflank-mailman (input) for mailman id 706997;
 Tue, 16 Apr 2024 14:14: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=DiLf=LV=bounce.vates.tech=bounce-md_30504962.661e87a6.v1-f182c6b77d944505b47577be21c18c11@srs-se1.protection.inumbo.net>)
 id 1rwjZT-0000yc-69
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 14:14:03 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 926ea3ba-fbfb-11ee-b909-491648fe20b8;
 Tue, 16 Apr 2024 16:14:01 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJmHV6mWHz8XRqgw
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 14:13:58 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f182c6b77d944505b47577be21c18c11; Tue, 16 Apr 2024 14:13: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: 926ea3ba-fbfb-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713276838; x=1713537338;
	bh=73L0mWBE3l6PRWlMSSeegN29eLilFCrXXPPjnA8i2jg=;
	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=K0obmuiYUpxigy7W8ZfIGEDuKxa06zsRWuOfkQ+dXZ8AVh+EjotFeYfttLhnjLwy4
	 TNRQWBQLLyXc1Z93LnGzB5SqMj711rEPzQ695FdEWJ89mXlPaaACizkOjjuXgx6e5w
	 zWQjjJafCm4rozyQzPiNZKV6wO1+TSPdwQRjrZU/Zkf2pIkyryZvYC9FFOU+lY5i28
	 WqR6C4WPKoivcrvAQGy8ZfxKV6DG1gqz8HfSlaTlV/Sj4nso2Y4sLvK3P46ctwUKHM
	 xvcFmbWLOM9HoPzLImy6lSzwbdcHlVcMHLCqSDzYmObjmgetx1xykXd8WElH3QTfRY
	 j0yxU+auiYUYA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713276838; x=1713537338; i=vaishali.thakkar@vates.tech;
	bh=73L0mWBE3l6PRWlMSSeegN29eLilFCrXXPPjnA8i2jg=;
	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=bNMEkUg7AKxM4SrnJTf/Gfzb18k8hJkzLA4CoI7YSIEP6pITIJry48Af6vNqUOiH+
	 g1g46HKTDNKkcQe/RIYohKSnri0f390cIWJhcRyy8mHxrtVvQtnczaQVj5RZHGiiWc
	 QkseR9WiqwfNaj5iBNgzKex0xGL+wupCD2LPlnMBr3hbbjalXY9cV1yWWujDw/cbXo
	 1lMCjCcM3+1S7X3VmONvO3rHRFQZXm1CAfWqFC1tyepVq93nDshKo2jXEhneEworqD
	 69fbe0iFEy7vza3IHO3qpsbKNpZ+Jl7WldspkT2TKUVcbjwRw/aNhw0eReHk5foZpI
	 EHcnoDVJkoTvA==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20x86/svm:=20Add=20flushbyasid=20in=20the=20supported=20features?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713276837914
Message-Id: <57d202e4-261d-4c31-9392-88dfbfd86b7d@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, roger.pau@citrix.com
References: <b8541a3c70058a74c837352901f2e6a8b45e4fa2.1713258186.git.vaishali.thakkar@vates.tech> <10f811aa-0b18-4ef2-9185-3146df13a382@citrix.com>
In-Reply-To: <10f811aa-0b18-4ef2-9185-3146df13a382@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.f182c6b77d944505b47577be21c18c11?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240416:md
Date: Tue, 16 Apr 2024 14:13:58 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 4/16/24 3:38 PM, Andrew Cooper wrote:
> On 16/04/2024 10:08 am, Vaishali Thakkar wrote:
>> TLB Flush by ASID is missing in the list of supported features
>> here. So, add it.
>>
>> Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>
>> ---
>>   xen/arch/x86/hvm/svm/svm.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
>> index a745acd903..4719fffae5 100644
>> --- a/xen/arch/x86/hvm/svm/svm.c
>> +++ b/xen/arch/x86/hvm/svm/svm.c
>> @@ -2510,6 +2510,7 @@ const struct hvm_function_table * __init start_svm(void)
>>       P(cpu_has_svm_lbrv, "Last Branch Record (LBR) Virtualisation");
>>       P(cpu_has_svm_nrips, "Next-RIP Saved on #VMEXIT");
>>       P(cpu_has_svm_cleanbits, "VMCB Clean Bits");
>> +    P(cpu_has_svm_flushbyasid, "TLB flush by ASID");
>>       P(cpu_has_svm_decode, "DecodeAssists");
>>       P(cpu_has_svm_vloadsave, "Virtual VMLOAD/VMSAVE");
>>       P(cpu_has_svm_vgif, "Virtual GIF");
> 
> This is consistent with pre-existing behaviour, so
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> However, an ever increasing list of lines like this is something I'm
> trying to push back against.
> 
> They don't match the configured state of VMs in the system, not least

Right, makes sense to not add more stuff to print here.

> because one of the things required to fix security vulnerabilities in
> nested virt is to break the (false) assumption that there is a single
> global state of how a VM is configured.
> 
> These ones in particular are just about to appear in CPU policies.

As part of nested virt work?

> ~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 14:26:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 14:26:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707010.1104465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwjks-0003Fd-KP; Tue, 16 Apr 2024 14:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707010.1104465; Tue, 16 Apr 2024 14: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 1rwjks-0003FW-HW; Tue, 16 Apr 2024 14:25:50 +0000
Received: by outflank-mailman (input) for mailman id 707010;
 Tue, 16 Apr 2024 14:25: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=ytx6=LV=bounce.vates.tech=bounce-md_30504962.661e8a69.v1-a1c6ba1cc8c44f229e43f8f82cd71b5c@srs-se1.protection.inumbo.net>)
 id 1rwjkr-0003FQ-Cp
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 14:25:49 +0000
Received: from mail5.us4.mandrillapp.com (mail5.us4.mandrillapp.com
 [205.201.136.5]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36f99cc0-fbfd-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 16:25:47 +0200 (CEST)
Received: from pmta15.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail5.us4.mandrillapp.com (Mailchimp) with ESMTP id 4VJmY54WshzDRHxKk
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 14:25:45 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 a1c6ba1cc8c44f229e43f8f82cd71b5c; Tue, 16 Apr 2024 14:25:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36f99cc0-fbfd-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713277545; x=1713538045;
	bh=I82avowjjNYaV+5Rc+1Ax5qld7iXqNtcj1EjzZ/hq60=;
	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=Ca07lirUaIKnT1d7qQ7Mla2zz5Mg+W/RwsYdsboOcehn02q2w2smHbbN4UwpYG47+
	 ayBMMwYtGMXHgZr+/GBrOqK9qglN2Iebphtq0wU5mh9RpkboPHDp1C37H7bjzWmYJb
	 jRwJknCmhnDTbuZu9iKS5iqkiX1N2RMn/AGsCvFvCy3+ouWafyXC+lnInt988VYAoS
	 LRRgynDZUfzKR2Eb+PhmxCTazc47Ea/BHvd8EyP8YauGth8MHsV1NyOUBKjA02Qf1p
	 j+U5iORfnBx0RJYtnTNDQafOw+ZtgQr7MyaC8R0h9xrOak0Tr8VhQW5n+0VFrq6ZO+
	 ySOBXIFf1hWDg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713277545; x=1713538045; i=vaishali.thakkar@vates.tech;
	bh=I82avowjjNYaV+5Rc+1Ax5qld7iXqNtcj1EjzZ/hq60=;
	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=S5HaZJ2cyM2JRodKrUQzQ/Q+QZahTb+1GVifTwYgcKHMincuXAoUG5vI6FYpvj9eW
	 64aGuKkjTMvwwXDociBhdEXGzMyv6dBWgaspshJc2krBqWeWvN1Um1Y8gh/o+gXYeW
	 ddzeHqBpCGY2bhc+Wat3M+IIdAn8Kon2p7MtLXLXZM0YD91ePfQvAnwS918bz9wt1T
	 S+lOQgSgAxts9MmvaTy/1caUlacSSgadLoW9Dh+F4bbb7jHgKldIxINPq/DF/+H8zG
	 ph8B66AJCXJNe+Q84Tafan6ErHkNCpEKamuNatW3HQZEuOvoPBNSmGFzzecmlmx907
	 A8IAJLaPV2aOQ==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20x86/hvm:=20Allow=20supplying=20a=20dynamic=20start=20ASID?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713277544363
Message-Id: <61871a46-255e-44a5-ab48-0d40c4d24e33@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, roger.pau@citrix.com
References: <0d4ef987825080715873360c8b41ebb467b7dfdf.1713257278.git.vaishali.thakkar@vates.tech> <4915dde3-e798-4eb8-addd-b65a417cf3de@citrix.com>
In-Reply-To: <4915dde3-e798-4eb8-addd-b65a417cf3de@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.a1c6ba1cc8c44f229e43f8f82cd71b5c?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240416:md
Date: Tue, 16 Apr 2024 14:25:45 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 4/16/24 4:12 PM, Andrew Cooper wrote:
> On 16/04/2024 9:54 am, Vaishali Thakkar wrote:
>> Currently, Xen always starts the ASID allocation at 1. But
>> for SEV technologies the ASID space is divided. This is
>> because it's a security issue if a guest is started as
>> ES/SNP and is migrated to SEV-only. So, the types are
>> tracked explicitly.
>>
>> Thus, in preparation of SEV support in Xen, add min_asid
>> to allow supplying the dynamic start ASID during the
>> allocation process.
>>
>> Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>
> 
> Mechanically, this is fine, but is it going to be useful in the long term=
?
> 
> For SEV and SEV-ES/SNP, we must run the VM in the single fixed ASID
> negotiated with the ASP.=C2=A0 This is not not optional.
> 
> For non-encrypted VMs, we are free to choose between using the remaining
> ASID space as we used to (i.e. run it per-pCPU and tick it over to flush
> the TLBs), or to run it in a fixed ASID per guest too.
> 
> The latter lets us use INVLPGB, and would avoid maintaining two
> different TLB-tagging schemes.
> 
> 
> I'd say that we absolutely do want INVLPGB support for managing
> non-encrypted VMs, and we cannot mix both fixed and floating ASIDs at
> the same time.

I agree that having a both schemes at the time is not practical. And I've 
some RFC patches in work to propose fixed ASID scheme for all domains 
(encrypted or not) to start a discussion regarding that.

IMO, this patch is still useful because my idea was to then use min_asid
as a holder to separate out the non-encrypted, encrypted space and SEV ES/
SNP ASID space. If it's more easier to see the usefulness of this patch
along with other asid fixes, I'm fine with putting it in that RFC patchset.
But I thought that this change was independent enough to be sent by
itself.

> We should seriously consider whether it's worth maintaining two schemes,
> or just switching wholesale to a fixed ASID scheme.
> 
> I don't have a good answer here...=C2=A0 If it where anything but TLB
> flushing, it would be an obvious choice, but TLB handling bugs are some
> of the nastiest to show up.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 14:38:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 14:38:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707015.1104476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwjwn-0005BV-MD; Tue, 16 Apr 2024 14:38:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707015.1104476; Tue, 16 Apr 2024 14: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 1rwjwn-0005BN-IS; Tue, 16 Apr 2024 14:38:09 +0000
Received: by outflank-mailman (input) for mailman id 707015;
 Tue, 16 Apr 2024 14:38:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Kra8=LV=bounce.vates.tech=bounce-md_30504962.661e8d4b.v1-b50749b7fbaa4738baeb90085588e487@srs-se1.protection.inumbo.net>)
 id 1rwjwl-00059y-Lm
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 14:38:07 +0000
Received: from mail145-16.atl61.mandrillapp.com
 (mail145-16.atl61.mandrillapp.com [198.2.145.16])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eefb9df7-fbfe-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 16:38:05 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-16.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VJmqH32RKz8XRvwn
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 14:38:03 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 b50749b7fbaa4738baeb90085588e487; Tue, 16 Apr 2024 14:38: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: eefb9df7-fbfe-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713278283; x=1713538783;
	bh=/H6Rjn33MOJzmOOpE/KPOYcVOSwDAB7pmcdTpRjGUmc=;
	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=FPhsFAlWce62MKTJHSKS9/j3O86ee70TNH84Cnr3ZPlrLwk7hHVV/8ZJ335p60MYM
	 g2KyRZV1xNS7nJEuWGhWpXfYC0Vdbmcret/zX447WlR2lPlxGKr713WcAuhnUc83N+
	 mpNVOi67u+L1SIYfeOHTE3kJEgdV+s+LigpkstELpcbFQNaP3bR7oBxcxzfqdeO1OI
	 c651tfDYhrRunI754TKuWOha4fapa9pGUesfLlFCZ34GZ5OA76RHxMa1Us+Ks8a6Jb
	 BXMANEnGJGy3cwBtKlqEaTSwMo6FongyBhbSuwOz1hRM9PhoZBnRMGMu8RhYKdWwQ8
	 FaLCqha1wEtwg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713278283; x=1713538783; i=vaishali.thakkar@vates.tech;
	bh=/H6Rjn33MOJzmOOpE/KPOYcVOSwDAB7pmcdTpRjGUmc=;
	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=p7riS9asuiOx8FqxdXfi/CF3Bd0FiXX/+kcA6Yy2/urbZOGYpJMeg++Gj5Fj3TstH
	 tgjSucu+aOPjS7NZICpPcuV4GnipioSRniYr7B6z1m3kKGmI+J0plmXc7b/uDKe9pX
	 uJawwHI7WGBy51eq25z+FmS+3UBbDTShBgyrT+IFRiTzedF+U1jx1E8ib1RphDAZbz
	 MyJfcGc9UNVM1AYkRaJqF7Y9PPcC+t6Kz+Ruabkg2HVBDr+6HW+dQqcnWgD16gDVDe
	 t7V7uPoLFPrqBfRJjzdKJOZhGLqs5JApZsE/pmcjvnPV+xbMqL0JDf/KUCT2sqt7AY
	 qUNuBF7CQ+VIQ==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20x86/hvm:=20Allow=20supplying=20a=20dynamic=20start=20ASID?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713278282198
Message-Id: <53ff98a5-f565-421b-aa0b-4d4c359e7bdf@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, roger.pau@citrix.com
References: <0d4ef987825080715873360c8b41ebb467b7dfdf.1713257278.git.vaishali.thakkar@vates.tech> <4915dde3-e798-4eb8-addd-b65a417cf3de@citrix.com> <61871a46-255e-44a5-ab48-0d40c4d24e33@vates.tech>
In-Reply-To: <61871a46-255e-44a5-ab48-0d40c4d24e33@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.b50749b7fbaa4738baeb90085588e487?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240416:md
Date: Tue, 16 Apr 2024 14:38:03 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 4/16/24 4:25 PM, Vaishali Thakkar wrote:
> On 4/16/24 4:12 PM, Andrew Cooper wrote:
>> On 16/04/2024 9:54 am, Vaishali Thakkar wrote:
>>> Currently, Xen always starts the ASID allocation at 1. But
>>> for SEV technologies the ASID space is divided. This is
>>> because it's a security issue if a guest is started as
>>> ES/SNP and is migrated to SEV-only. So, the types are
>>> tracked explicitly.
>>>
>>> Thus, in preparation of SEV support in Xen, add min_asid
>>> to allow supplying the dynamic start ASID during the
>>> allocation process.
>>>
>>> Signed-off-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>
>>
>> Mechanically, this is fine, but is it going to be useful in the long ter=
m?
>>
>> For SEV and SEV-ES/SNP, we must run the VM in the single fixed ASID
>> negotiated with the ASP.=C2=A0 This is not not optional.
>>
>> For non-encrypted VMs, we are free to choose between using the remaining
>> ASID space as we used to (i.e. run it per-pCPU and tick it over to flush
>> the TLBs), or to run it in a fixed ASID per guest too.
>>
>> The latter lets us use INVLPGB, and would avoid maintaining two
>> different TLB-tagging schemes.
>>
>>
>> I'd say that we absolutely do want INVLPGB support for managing
>> non-encrypted VMs, and we cannot mix both fixed and floating ASIDs at
>> the same time.
> 
> I agree that having a both schemes at the time is not practical. And I've=
 
> some RFC patches in work to propose fixed ASID scheme for all domains 
> (encrypted or not) to start a discussion regarding that.
> 
> IMO, this patch is still useful because my idea was to then use min_asid
> as a holder to separate out the non-encrypted, encrypted space and SEV ES=
/
> SNP ASID space. If it's more easier to see the usefulness of this patch
> along with other asid fixes, I'm fine with putting it in that RFC patchse=
t.
> But I thought that this change was independent enough to be sent by
> itself.

s/encrypted/SEV

>> We should seriously consider whether it's worth maintaining two schemes,
>> or just switching wholesale to a fixed ASID scheme.
>>
>> I don't have a good answer here...=C2=A0 If it where anything but TLB
>> flushing, it would be an obvious choice, but TLB handling bugs are some
>> of the nastiest to show up.
>>
>> ~Andrew
> 
>



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 15:15:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 15:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707028.1104492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwkWk-0002nr-FC; Tue, 16 Apr 2024 15:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707028.1104492; Tue, 16 Apr 2024 15:15:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwkWk-0002nk-Bn; Tue, 16 Apr 2024 15:15:18 +0000
Received: by outflank-mailman (input) for mailman id 707028;
 Tue, 16 Apr 2024 15:15: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 1rwkWj-0002na-Rz; Tue, 16 Apr 2024 15:15: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 1rwkWj-0005Kp-BS; Tue, 16 Apr 2024 15:15: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 1rwkWj-0005yF-2n; Tue, 16 Apr 2024 15:15:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwkWj-0000JX-2F; Tue, 16 Apr 2024 15:15:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=i5x4hvzhvwCsCv9u5lwezT0ZMEHhyuZJ0JqPbhx89mk=; b=03W7bs5FL0bxTj4F5GLuKFkprY
	ey8gNx5qbGm0wXNZ7ptntvPv4Qoe4gbhIsivL/rZRRgBbj66qs+bGXXMwn7QCH2K2s1Qd6x2cAlX/
	CK6BS8baAzca2ex4LK1F59S60BxwBfJwU3zU+P1Lq1MzNji6cz4HTE4zYMxWyCuoW8t8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185641-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185641: 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:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=d3fedca80763eeb99f71954da80087510953d3ff
X-Osstest-Versions-That:
    libvirt=812a146dfe784315edece43d09f8d9e432f8230e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 15:15:17 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185412  2024-04-13 04:19:07 Z    3 days
Failing since        185482  2024-04-14 04:19:08 Z    2 days    3 attempts
Testing same since   185641  2024-04-16 04:19:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Göran Uddeborg <goeran@uddeborg.se>
  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
   812a146dfe..d3fedca807  d3fedca80763eeb99f71954da80087510953d3ff -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 15:53:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 15:53:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707043.1104519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwl7C-00080r-D3; Tue, 16 Apr 2024 15:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707043.1104519; Tue, 16 Apr 2024 15: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 1rwl7C-00080k-A6; Tue, 16 Apr 2024 15:52:58 +0000
Received: by outflank-mailman (input) for mailman id 707043;
 Tue, 16 Apr 2024 15:52: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=BYTd=LV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rwl7A-00080e-S4
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 15:52:56 +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 632d799c-fc09-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 17:52:54 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-565c6cf4819so9368927a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 08:52:54 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h18-20020a17090619d200b00a51a80028e8sm6981194ejd.65.2024.04.16.08.52.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 16 Apr 2024 08:52: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: 632d799c-fc09-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713282773; x=1713887573; 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=WTZ3ofxgQk2khebAzIJ5NPGSB5//IH1aQzj3b8mNbYY=;
        b=XKFVUmLSoVnep8UVAeMVTDOFN1q1P1Ph9BLrmD4wcl3tJn3Pn1tX/tWknWAtOYybAb
         RrqEaSIVdiBe0ADXvf5C3osry62qmfRk2zHqK955aVka8poMfxASn28ObI0odByyLg5E
         FqiWen6AdThacFXdYK9iSiBH4EQ6z9Fg2anuI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713282773; x=1713887573;
        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=WTZ3ofxgQk2khebAzIJ5NPGSB5//IH1aQzj3b8mNbYY=;
        b=hvOjGNTtyXiXQo6q6+OUDHPZF8Lq7UQGsGUUTO1bEtm/VKRZm2NerbkYhjZeujHG0F
         3EUrLcq8TgnKHgtxpTn0iXfMXeHFCsg6ZmXZI9Y7XajNR8pLufUR3GPLL7u0HfKQpcBl
         GCdV3ie/Qdl/xJq8aAOT93QQhtOftVlOWwMLkoudw5QYFZpTYCsujQaggzzQWBRXjuAO
         IYipfXZ0XDx7nU1TlwW6sUhwI3ktsrDAmXLmIJ4dbKpjnyD3VFL+Rs2p9cb5uHadqm3R
         3lpbNGir+Z8lz2dLINyvCKy1mRsjvjVjfsZzyYB5cViTI1reaxptxWkaDlOhGzI/wP3n
         jvfg==
X-Gm-Message-State: AOJu0YzI7b+e0cqp8HroqqecYkfIKDtRgwVxd3E9keSoAGQGFB6+EPHN
	voO/pi1ZYbuqYdHPMvGPPpZJ/kxIR15xxWKiznk1k7q9Ac9yzkyXcB8XUSn1cFB4SLnuy22gjkv
	weNc=
X-Google-Smtp-Source: AGHT+IGNgk+5XVnOI6OTX15irTSJPumVj1YKmN6OzDkw3xy9MduKhy02OQC0lH0zVuQJ5B+wknhceA==
X-Received: by 2002:a17:906:b892:b0:a51:8672:66e4 with SMTP id hb18-20020a170906b89200b00a51867266e4mr2793159ejb.22.1713282773338;
        Tue, 16 Apr 2024 08:52: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH] xen/efi: Rewrite DOS/PE magic checking without memcmp()
Date: Tue, 16 Apr 2024 16:52:51 +0100
Message-Id: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Misra Rule 21.16 doesn't like the use of memcmp() between a string literal and
a UINT8 array.  Rewrite using plain compares.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: consulting@bugseng.com <consulting@bugseng.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Federico Serafini <federico.serafini@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/efi/pe.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/common/efi/pe.c b/xen/common/efi/pe.c
index a84992df9afe..ef8a2543e0a1 100644
--- a/xen/common/efi/pe.c
+++ b/xen/common/efi/pe.c
@@ -111,7 +111,8 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
     UINTN offset, i;
 
     if ( image_size < sizeof(*dos) ||
-         memcmp(dos->Magic, "MZ", 2) != 0 )
+         dos->Magic[0] != 'M' ||
+         dos->Magic[1] != 'Z' )
         return NULL;
 
     offset = dos->ExeHeader;
@@ -119,7 +120,10 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
 
     offset += sizeof(*pe);
     if ( image_size < offset ||
-         memcmp(pe->Magic, "PE\0\0", 4) != 0 )
+         pe->Magic[0] != 'P' ||
+         pe->Magic[1] != 'E' ||
+         pe->Magic[2] != '\0' ||
+         pe->Magic[3] != '\0' )
         return NULL;
 
     if ( pe->FileHeader.Machine != PE_HEADER_MACHINE )

base-commit: c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 16:51:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 16:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707054.1104530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwm1a-0007l0-O9; Tue, 16 Apr 2024 16:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707054.1104530; Tue, 16 Apr 2024 16:51:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwm1a-0007kt-Le; Tue, 16 Apr 2024 16:51:14 +0000
Received: by outflank-mailman (input) for mailman id 707054;
 Tue, 16 Apr 2024 16:51:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwm1Z-0007kj-2c; Tue, 16 Apr 2024 16:51:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwm1Y-0007of-LZ; Tue, 16 Apr 2024 16:51:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwm1Y-0008C4-CE; Tue, 16 Apr 2024 16:51:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwm1Y-0005D7-Bj; Tue, 16 Apr 2024 16:51:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=S78y+4nwLeGxWxsK/K7v7SeYfIMsRU9ig3qnvYtUx88=; b=CH5p1jdAm5D3ZcJUd7tPxZaUuv
	rtR0hEp2zEaCr72ebF3lKrKclAHaOI48Du/ls7PI/S5mMFZjEPcwQl4vA1MF0vQjjuXIZDTKelROS
	cemTjLq1SsJuOPFnSk0Lp74Icksl1xIAx3Z6DzEOdsPLlI+1Nle27GQTNx9/Vl5jMwyA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185671-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185671: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=fcfdbe29874320e9f876baa7afebc3fca8f4a7df
X-Osstest-Versions-That:
    ovmf=b6cd5ddce9ade43e4215836f12b43ebbb90eecf2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 16:51:12 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 fcfdbe29874320e9f876baa7afebc3fca8f4a7df
baseline version:
 ovmf                 b6cd5ddce9ade43e4215836f12b43ebbb90eecf2

Last test of basis   185658  2024-04-16 09:41:11 Z    0 days
Testing same since   185671  2024-04-16 14:44:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Liqi Liu <liqi.liu@intel.com>
  Michael D Kinney <michael.d.kinney@intel.com>

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


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

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

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

Test harness 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
   b6cd5ddce9..fcfdbe2987  fcfdbe29874320e9f876baa7afebc3fca8f4a7df -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 17:04:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 17:04:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707064.1104545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwmDs-0001iW-Rm; Tue, 16 Apr 2024 17:03:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707064.1104545; Tue, 16 Apr 2024 17:03:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwmDs-0001iP-PI; Tue, 16 Apr 2024 17:03:56 +0000
Received: by outflank-mailman (input) for mailman id 707064;
 Tue, 16 Apr 2024 17:03: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=h3dN=LV=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1rwmDs-0001iJ-3h
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 17:03:56 +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 4c53a9ae-fc13-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 19:03:52 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1713287027755943.4546068033253;
 Tue, 16 Apr 2024 10:03:47 -0700 (PDT)
Received: by mail-yb1-f175.google.com with SMTP id
 3f1490d57ef6-dc6d8bd612dso4696904276.1
 for <xen-devel@lists.xenproject.org>; Tue, 16 Apr 2024 10:03: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: 4c53a9ae-fc13-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713287029; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=W2/fh3WAHpzvisyJ1bKbJLyJDlMtM20FfdPzvfFXPpoGZ6Fwqt3dKzIyXJlvJDcXxWHVRCpM+8ccgJ1St6iHCwCZrxOC2LdCzXhyVhx16/iSUufn+7mWYBe+NsWRnWDbH9GCXh42JwiRTvJjrmZ9rJlQ0bVXTcZajaFoSzTQFrI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713287029; 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=7Go4dEzn1Ajd6exfmxX0SEKoPMjpljLqVLm4QQhwmFo=; 
	b=hpqusrcBgLLa12+sNbobk+SUSjTafDWaTofbaLdi8KeE8yX4Uk+oueA44tiLtaKYNTgwLzf71X7YxpOlQKnuId6fUqP10zMy6TCJSWGXI3yAqJp74KWiC8I4BfAEXs+107rj4unJRYDdb1p1UUWCtHaum1x9XCtB/UVeVMyDshw=
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=1713287029;
	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=7Go4dEzn1Ajd6exfmxX0SEKoPMjpljLqVLm4QQhwmFo=;
	b=fL5sa4d/6CzcUKy0CxOKKI/muIlXhfa9sP/RFYAPeHCzUS4mTjcClqt4hDqTwGw3
	oPKckW5NBhctf1/C8OQi8lvdol11U810dSiYTOBswKjQVUXW0O1EM/8gFjDdoVlErax
	l9LJPIMqSI+d0BYHIMcqWF4cGtKPnbz+KHfGkZ2k=
X-Forwarded-Encrypted: i=1; AJvYcCV3ysiqL6zKDg4+Tm7lWTbeGJxdbOs56FInfCNtCRClAK3vGMCmjf6xsQd+DlmO/KRGM8VExk2A1v+9abocj8/1fnIOHid497aml1V/JAo=
X-Gm-Message-State: AOJu0YxOYggr46n+IDrtAbip72TpL8epiVudlLL1C7EqVcyumj4qkwib
	4tP8N2uaJu4EGQVl5uQvY6Ug1IT2KyChgZ6C86ds6IumVhISXdFQhQvDEtPU88J1zfmKfFDXn4I
	NjDJ9DHKcESAAh51t3mcOvNNp20A=
X-Google-Smtp-Source: AGHT+IFkgvCQJX0/JJjGkjUzRT4x+YettGAbi6GzL6aXS+uv0aQC9A2q1/I9kBzFwcQeUlVCl5bTU25hfPmf0UpeZOs=
X-Received: by 2002:a25:d84a:0:b0:dcc:8c7d:970d with SMTP id
 p71-20020a25d84a000000b00dcc8c7d970dmr12973690ybg.47.1713287026638; Tue, 16
 Apr 2024 10:03:46 -0700 (PDT)
MIME-Version: 1.0
References: <20240416063121.3469245-1-Sergiy_Kibrik@epam.com> <26950422-3476-4679-8636-405272c279dc@citrix.com>
In-Reply-To: <26950422-3476-4679-8636-405272c279dc@citrix.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 16 Apr 2024 10:03:09 -0700
X-Gmail-Original-Message-ID: <CABfawhnOwWLNe4PPFfdjXViCbUi=gfVZBQs9GH0WcMbDgn5Bfw@mail.gmail.com>
Message-ID: <CABfawhnOwWLNe4PPFfdjXViCbUi=gfVZBQs9GH0WcMbDgn5Bfw@mail.gmail.com>
Subject: Re: [XEN PATCH v1 06/15] x86/p2m: guard altp2m code with CONFIG_VMX option
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org, 
	Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
	Stefano Stabellini <sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 16, 2024 at 3:29=E2=80=AFAM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 16/04/2024 7:31 am, Sergiy Kibrik wrote:
> > Instead of using generic CONFIG_HVM option switch to a bit more specifi=
c
> > CONFIG_VMX option for altp2m support, as it depends on VMX. Also guard
> > altp2m routines, so that it can be disabled completely in the build.
> >
> > Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>
> Altp2m is not VMX-specific.  It's just no-one has wired it up on AMD, or
> accepted the long-outstanding ARM patchset where it was made to work.
>
> If you want to compile it, you probably want CONFIG_ALTP2M.
>
> However, it's not even x86 specific.  See the uses in common/monitor.c

As Andrew said, it is not VMX specific so shouldn't be tied to that.
Adding a CONFIG_ALTP2M would be OK.

Tamas


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 19:28:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 19:28:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707091.1104594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwoTC-0001rs-IW; Tue, 16 Apr 2024 19:27:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707091.1104594; Tue, 16 Apr 2024 19:27:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwoTC-0001rl-ES; Tue, 16 Apr 2024 19:27:54 +0000
Received: by outflank-mailman (input) for mailman id 707091;
 Tue, 16 Apr 2024 19:27:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ggj+=LV=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rwoTA-0001rd-Db
 for xen-devel@lists.xenproject.org; Tue, 16 Apr 2024 19:27:52 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6729aa58-fc27-11ee-94a3-07e782e9044d;
 Tue, 16 Apr 2024 21:27:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id E4E8FCE117E;
 Tue, 16 Apr 2024 19:27:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4A4A2C4AF0C;
 Tue, 16 Apr 2024 19:27: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: 6729aa58-fc27-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713295663;
	bh=U8tzrv9FyflCl7J9eLzS/qexsRCa8ukLXPjHuTuQzyA=;
	h=Date:From:To:cc:Subject:From;
	b=ZwgIWEcaYaV3JwNyC2A3W4sKaOknkqfPGlSq+NwKc0OCWviJkcQbNs9CU559o9gsK
	 5xv+reMGMHKcYCgShB2x3Hns5+jRbVuDUbfWDRxIhGXTwDE9Z9xNjWf9BEix+iarCR
	 GezzofNcZl94EFTUTe/hzQxLEd0//PkTCe1/iq9LG0LV4VUCvuLTR4E61/FSNaCv1d
	 cX5G36tfNmu/2M8V3lh86wD4Z/t6AhfDa5XmwdRGDIZOR01zmfw5S8KvHG+jffcgUq
	 UoWWiirz76ILIJzEWsjceLLvyv8OW/u3JSJ2jD2kiE/t73FbEizPPIA/CY1p1BdRo7
	 TDlFwbWTtC0Vg==
Date: Tue, 16 Apr 2024 12:27:38 -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, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: docs/misra: add R21.6 R21.14 R21.15 R21.16
Message-ID: <alpine.DEB.2.22.394.2404161227340.2257106@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

Also add two specific project-wide deviations for R21.6 and R21.15.

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

diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 32b02905d1..9123c8edb5 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
        of the Rule due to uses of this macro.
      - Tagged as `deliberate` for ECLAIR.
 
+   * - R21.6
+     - The use of snprintf() and vsnprintf() is justifiable as, despite
+       the fact that such functions have the same names of the
+       corresponding standard library functions, each configuration of
+       Xen has a unique implementation for them; the code implementing
+       such functions is subject to the analysis, so that any undefined
+       or unspecified behavior associated to them falls under the
+       responsibility of other MISRA guidelines
+     - Tagged as `safe` for ECLAIR.
+
+   * - R21.15
+     - The use of void* arguments is justifiable as the rationale for
+       the rule is to indicate possible mistakes, and void* is
+       frequently used in Xen to represent virtual memory addresses
+     - Tagged as `deliberate` for ECLAIR.
+
 Other deviations:
 -----------------
 
diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index b7b447e152..00db02ad34 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -652,12 +652,38 @@ maintainers if you want to suggest a change.
        declared
      - See comment for Rule 21.1
 
+   * - `Rule 21.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_06.c>`_
+     - Required
+     - The Standard Library input/output routines shall not be used
+     - See the snprintf() and vsnprintf() deviation in deviations.rst
+
    * - `Rule 21.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_13.c>`_
      - Mandatory
      - Any value passed to a function in <ctype.h> shall be representable as an
        unsigned char or be the value EOF
      -
 
+   * - `Rule 21.14 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_14.c>`_
+     - Required
+     - The Standard Library function memcmp shall not be used to compare
+       null terminated strings
+     -
+
+   * - `Rule 21.15 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_15.c>`_
+     - Required
+     - The pointer arguments to the Standard Library functions memcpy,
+       memmove and memcmp shall be pointers to qualified or unqualified
+       versions of compatible types 
+     - void* arguments are allowed, see deviations.rst
+
+   * - `Rule 21.16 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_16.c>`_
+     - Required
+     - The pointer arguments to the Standard Library function memcmp
+       shall point to either a pointer type, an essentially signed type,
+       an essentially unsigned type, an essentially Boolean type or an
+       essentially enum type 
+     -
+
    * - `Rule 21.17 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_17.c>`_
      - Mandatory
      - Use of the string handling functions from <string.h> shall not result in


From xen-devel-bounces@lists.xenproject.org Tue Apr 16 21:57:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 21:57:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707110.1104640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwqnr-0004IP-Bx; Tue, 16 Apr 2024 21:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707110.1104640; Tue, 16 Apr 2024 21: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 1rwqnr-0004II-93; Tue, 16 Apr 2024 21:57:23 +0000
Received: by outflank-mailman (input) for mailman id 707110;
 Tue, 16 Apr 2024 21:57: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 1rwqnq-0004I8-GB; Tue, 16 Apr 2024 21:57: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 1rwqnq-0004jG-7B; Tue, 16 Apr 2024 21:57: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 1rwqnq-0002eT-0L; Tue, 16 Apr 2024 21:57:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwqnp-0005sU-W0; Tue, 16 Apr 2024 21:57:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=jjn56W3+rOlirvDjbsAZIszPnhF9SP9WnyOZ46YzwBY=; b=tblr6g88BIp2mGPpZqbjw/+JtE
	iguBjvhjUqF3tfPzSPkpx/ylsdF3pbPaPMS7hvY7yI6JIayxePgd3xODlQr0w8ZNK1CVEicVCYg9W
	bbbCGLvxA24UCC3mJF5frmMd65nqEM1JH28jRfp1g2/SkY8nJnQgJdvYN7iQa8HOB2PQ=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.15-testing bisection] complete test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm
Message-Id: <E1rwqnp-0005sU-W0@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 21:57:21 +0000

branch xen-4.15-testing
xenbranch xen-4.15-testing
job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm
testid guest-saverestore

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  598e010adaabc22a434bead255ded2c64a5fba49
  Bug not present: 9591349d8bf8d191ea59992b1e0a4b42cdfebc77
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185687/


  commit 598e010adaabc22a434bead255ded2c64a5fba49
  Author: Roger Pau Monne <roger.pau@citrix.com>
  Date:   Thu Feb 15 17:46:53 2024 +0100
  
      x86/vmx: Add support for virtualize SPEC_CTRL
      
      The feature is defined in the tertiary exec control, and is available starting
      from Sapphire Rapids and Alder Lake CPUs.
      
      When enabled, two extra VMCS fields are used: SPEC_CTRL mask and shadow.  Bits
      set in mask are not allowed to be toggled by the guest (either set or clear)
      and the value in the shadow field is the value the guest expects to be in the
      SPEC_CTRL register.
      
      By using it the hypervisor can force the value of SPEC_CTRL bits behind the
      guest back without having to trap all accesses to SPEC_CTRL, note that no bits
      are forced into the guest as part of this patch.  It also allows getting rid of
      SPEC_CTRL in the guest MSR load list, since the value in the shadow field will
      be loaded by the hardware on vmentry.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      (cherry picked from commit 97c5b8b657e41a6645de9d40713b881234417b49)


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.15-testing/test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm.guest-saverestore.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.15-testing/test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm.guest-saverestore --summary-out=tmp/185687.bisection-summary --basis-template=185282 --blessings=real,real-bisect,real-retry xen-4.15-testing test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm guest-saverestore
Searching for failure / basis pass:
 185391 fail [host=sabro0] / 185282 [host=godello1] 185006 [host=rimava1] 184784 [host=rimava1] 184529 [host=godello0] 184107 [host=himrod0] 183751 [host=huxelrebe0] 183342 [host=huxelrebe0] 183110 ok.
Failure / basis pass flights: 185391 / 183110
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu 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 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4e55b32a8d66388bddb21e327f134f14b1a9b004
Basis pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#2c846fa6bcc11929c9fb857a22430fb9945654ad-2c846fa6bcc11929c9fb857a22430fb9945654ad https://gitlab.com/keycodemap/keycodemapdb.git#27acf0ef828bf719b2053ba398b195829413dbdd-27acf0ef828bf719b2053ba398b195829413dbdd git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-bf1e3b1cb1e002ed1590c91f1a24433b59322368 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0\
 dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#ea628f28e59849ee7b91e6660c0ecd1a5c6e0884-98f150a954b35cc74bd87ae355cf35d8c9e1580d git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#6503bd6a1b5364ffd346a8a475e1eb91b9f756e5-6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 git://xenbits.xen.org/osstest/seabios.git#1e1da7a963007d03a4e0e9a9e0ff17990bb1608d-\
 c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47-4e55b32a8d66388bddb21e327f134f14b1a9b004
adhoc-revtuple-generator: tree discontiguous: linux-pvops
Loaded 12695 nodes in revision graph
Searching for test results:
 183108 [host=pinot0]
 183110 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 183342 [host=huxelrebe0]
 183751 [host=huxelrebe0]
 184107 [host=himrod0]
 184529 [host=godello0]
 184784 [host=rimava1]
 185006 [host=rimava1]
 185282 [host=godello1]
 185296 fail irrelevant
 185314 fail irrelevant
 185391 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4e55b32a8d66388bddb21e327f134f14b1a9b004
 185461 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185464 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185467 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185469 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185476 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185479 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185483 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185458 []
 185486 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185489 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185491 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185493 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185497 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185499 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185502 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185505 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185488 []
 185507 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185511 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185513 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185517 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185520 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185523 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185525 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185510 []
 185529 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185535 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185537 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185542 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185544 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185546 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185548 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185550 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185552 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185554 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185557 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185559 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185562 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185532 []
 185565 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185568 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185572 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185574 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185576 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185579 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185581 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185584 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185567 []
 185587 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185591 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185593 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185598 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185600 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185602 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185606 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185608 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185610 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185612 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185614 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185618 blocked 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185620 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47
 185626 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4e55b32a8d66388bddb21e327f134f14b1a9b004
 185629 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d1c21f8d557f01cd82e06d6b9b6900dec8e6b373 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 6400013f07e5c7fec9f68821755aed94683b663c
 185633 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 11ad164bcea6b0ed3628d595090f84892c367086 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 82faf1d5c8b25375b9029f2d6668135e62455a8c dfafb3ec959b20307d4c640a48b3b55a2896ac30
 185638 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ccf91b518f22102d446f26320110d30ea0fc1fa9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 3722c21de19ba64de56495502c0c025b913a9b15 1b2cc8f9c09696b34d9d985525afa8010a8daa90
 185644 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8707f835ae355832965508b6be96765660fb1861 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 913680885350f92965d70122f6fd54406c49af7d 1a41979210b7d276824dc4660f4f58a1d6dea3ca
 185650 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 eb4b730ac68af4009913a97674837f587ae39957
 185660 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 768ee6d99e2bb1ba315fc7244abf502fe5c16cea
 185664 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4123cb4e8309bcacaf943c7e41e2416c99284918
 185669 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 9591349d8bf8d191ea59992b1e0a4b42cdfebc77
 185672 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 598e010adaabc22a434bead255ded2c64a5fba49
 185677 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 9591349d8bf8d191ea59992b1e0a4b42cdfebc77
 185680 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 598e010adaabc22a434bead255ded2c64a5fba49
 185683 pass 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 9591349d8bf8d191ea59992b1e0a4b42cdfebc77
 185687 fail 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 598e010adaabc22a434bead255ded2c64a5fba49
Searching for interesting versions
 Result found: flight 183110 (pass), for basis pass
 For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 9591349d8bf8d191ea59992b1e0a4b42cdfebc77, results HASH(0x56496e857c18) HASH(0x56496e848370) HASH(0x56496e8639a8) For basis fai\
 lure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 4123cb4e8309bcacaf943c7e41e2416c99284918, results HASH(0x56496e84b318) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a\
 22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 eb4b730ac68af4009913a97674837f587ae39957, results HASH(0x56496e84d828) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbd\
 d c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8707f835ae355832965508b6be96765660fb1861 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 913680885350f92965d70122f6fd54406c49af7d 1a41979210b7d276824dc4660f4f58a1d6dea3ca, results HASH(0x56496d895c80) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a4\
 72b0eb9558310b518f0dfcd8860 ccf91b518f22102d446f26320110d30ea0fc1fa9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 3722c21de19ba64de56495502c0c025b913a9b15 1b2cc8f9c09696b34d9d985525afa8010a8daa90, results HASH(0x56496caf8828) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 11ad164bcea6b0ed3628d595090f\
 84892c367086 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 82faf1d5c8b25375b9029f2d6668135e62455a8c dfafb3ec959b20307d4c640a48b3b55a2896ac30, results HASH(0x56496e719bb0) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d1c21f8d557f01cd82e06d6b9b6900dec8e6b373 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 65\
 03bd6a1b5364ffd346a8a475e1eb91b9f756e5 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 6400013f07e5c7fec9f68821755aed94683b663c, results HASH(0x56496e8434f8) For basis failure, parent search stopping at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ea628f28e59849ee7b91e6660c0ecd1a5c6e0884 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 1e1da7a963007d03a\
 4e0e9a9e0ff17990bb1608d 3a9a2901cc8b24f28dbdc6fb63f57006c77a1f47, results HASH(0x56496e6de4a8) HASH(0x56496e6c82e0) HASH(0x56496e6f0428) HASH(0x56496e6bfc98) HASH(0x56496e6e84f8) HASH(0x56496e6cd518) HASH(0x56496e6e4de8) HASH(0x56496e6d6160) HASH(0x56496e6ffcb0) HASH(0x56496e6f3058) HASH(0x56496e6d3858) HASH(0x56496e6e2de0) HASH(0x56496e6f4d60) HASH(0x56496e6fb6a0) HASH(0x56496e682e20) HASH(0x56496e6c1fa0) HASH(0x56496d895440) HASH(0x56496e6e01b0) HASH(0x56496e6e1eb8) HASH(0x56496e707218) HASH(0\
 x56496d895da0) HASH(0x56496e6c0898) HASH(0x56496e6c68d8) HASH(0x56496e709220) HASH(0x56496e7065f0) HASH(0x56496e70b228) HASH(0x56496e6cc8f0) HASH(0x56496e6f8a70) HASH(0x56496e705ff0) HASH(0x56496e717ba8) HASH(0x56496e70fb60) HASH(0x56496e71e1e8) HASH(0x56496e6ca5e8) HASH(0x56496e7008d8) HASH(0x56496e7045e8) HASH(0x56496e70cc30) HASH(0x56496e6bf970) HASH(0x56496e711b68) HASH(0x56496e723420) HASH(0x56496e6f4a60) HASH(0x56496e6f9398) HASH(0x56496e6c59b0) HASH(0x56496e72b768) HASH(0x56496e715578) HA\
 SH(0x56496e7022e0) HASH(0x56496e6d7b68) HASH(0x56496d88dc50) HASH(0x56496e725728) HASH(0x56496e82d6f8) HASH(0x56496e6ff3b0) HASH(0x56496e834348) HASH(0x56496e722af8) HASH(0x56496e82f160) HASH(0x56496e83d5a0) HASH(0x56496e835d80) HASH(0x56496e8457d0) HASH(0x56496e8536a0) Result found: flight 185391 (fail), for basis failure (at ancestor ~5752)
 Repro found: flight 185620 (pass), for basis pass
 Repro found: flight 185626 (fail), for basis failure
 0 revisions at 2c846fa6bcc11929c9fb857a22430fb9945654ad 27acf0ef828bf719b2053ba398b195829413dbdd c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6503bd6a1b5364ffd346a8a475e1eb91b9f756e5 c5a361c09a19e3b1a83557b01f11f04b27181a11 9591349d8bf8d191ea59992b1e0a4b42cdfebc77
No revisions left to test, checking graph state.
 Result found: flight 185669 (pass), for last pass
 Result found: flight 185672 (fail), for first failure
 Repro found: flight 185677 (pass), for last pass
 Repro found: flight 185680 (fail), for first failure
 Repro found: flight 185683 (pass), for last pass
 Repro found: flight 185687 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  598e010adaabc22a434bead255ded2c64a5fba49
  Bug not present: 9591349d8bf8d191ea59992b1e0a4b42cdfebc77
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185687/


  commit 598e010adaabc22a434bead255ded2c64a5fba49
  Author: Roger Pau Monne <roger.pau@citrix.com>
  Date:   Thu Feb 15 17:46:53 2024 +0100
  
      x86/vmx: Add support for virtualize SPEC_CTRL
      
      The feature is defined in the tertiary exec control, and is available starting
      from Sapphire Rapids and Alder Lake CPUs.
      
      When enabled, two extra VMCS fields are used: SPEC_CTRL mask and shadow.  Bits
      set in mask are not allowed to be toggled by the guest (either set or clear)
      and the value in the shadow field is the value the guest expects to be in the
      SPEC_CTRL register.
      
      By using it the hypervisor can force the value of SPEC_CTRL bits behind the
      guest back without having to trap all accesses to SPEC_CTRL, note that no bits
      are forced into the guest as part of this patch.  It also allows getting rid of
      SPEC_CTRL in the guest MSR load list, since the value in the shadow field will
      be loaded by the hardware on vmentry.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      (cherry picked from commit 97c5b8b657e41a6645de9d40713b881234417b49)

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.710149 to fit
pnmtopng: 83 colors found
Revision graph left in /home/logs/results/bisect/xen-4.15-testing/test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm.guest-saverestore.{dot,ps,png,html,svg}.
----------------------------------------
185687: tolerable FAIL

flight 185687 xen-4.15-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185687/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 15 guest-saverestore fail baseline untested
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass


jobs:
 build-amd64-libvirt                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Tue Apr 16 22:26:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 16 Apr 2024 22:26:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707120.1104656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwrFZ-0008E2-Pv; Tue, 16 Apr 2024 22:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707120.1104656; Tue, 16 Apr 2024 22: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 1rwrFZ-0008Dv-Mt; Tue, 16 Apr 2024 22:26:01 +0000
Received: by outflank-mailman (input) for mailman id 707120;
 Tue, 16 Apr 2024 22:26:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwrFY-0008Dl-Ia; Tue, 16 Apr 2024 22:26:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwrFY-0005F8-C6; Tue, 16 Apr 2024 22:26:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwrFY-0003Ky-3E; Tue, 16 Apr 2024 22:26:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwrFY-000547-2g; Tue, 16 Apr 2024 22:26:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HM2O1Im0c5v3MMduwNJNhj/OzjIQbXzqEd1p1W1B8bA=; b=JhqamMBnN9lNAUq0kF08g19bfV
	eh2Ow0R1+xKOEnt31hQB3onEYn05cr3KsKgNuIcGAD3twu5Y9sPrFBr7vE4Qwuw0gHRS6Q+EjOUax
	hw8QC+BeeB+BzPGrgh3JTd3zFkg+So+Ndtm+TJo83zYHcaWdW/sM9OgKHbg8LTdtHmRc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185684-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185684: 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=ad363fb17d720f1ad047775e1d7b70158f546c46
X-Osstest-Versions-That:
    xen=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 16 Apr 2024 22:26:00 +0000

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

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                  ad363fb17d720f1ad047775e1d7b70158f546c46
baseline version:
 xen                  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429

Last test of basis   185380  2024-04-12 15:00:23 Z    4 days
Testing same since   185684  2024-04-16 20:00:22 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
   c0f890cd9d..ad363fb17d  ad363fb17d720f1ad047775e1d7b70158f546c46 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 00:29:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 00:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707141.1104695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwtAa-0006Aq-Ms; Wed, 17 Apr 2024 00:29:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707141.1104695; Wed, 17 Apr 2024 00:29:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwtAa-0006Aj-KO; Wed, 17 Apr 2024 00:29:00 +0000
Received: by outflank-mailman (input) for mailman id 707141;
 Wed, 17 Apr 2024 00:28:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8jr4=LW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rwtAZ-0006Ad-6d
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 00:28:59 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78088a3e-fc51-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 02:28:54 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 4A0B9CE0F80;
 Wed, 17 Apr 2024 00:28:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B75BC113CE;
 Wed, 17 Apr 2024 00:28:48 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78088a3e-fc51-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713313729;
	bh=4Q8hddUeDL43B0Kd84a31tQOaBZDSydcd8ZPBi9zYbg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=I4dFi6yjG9f7AqnAPjJpxY8THWPBdqmPXYRQ75HzYkF2gT2TRiY5EgVMZB1zRG+Ar
	 4WBCBn8W2FdR+gTaY8uweXAEKJD32qCItaBJfY27nfMJ76/OFlFWCVFbHgyRzYhBKW
	 lz5Mp5UIzTq0CziAQ1B1akForFHnd2kVPf7Ful6AeGiMmvzTgE23Q8VNooH2EP2XWD
	 LWkTlPez8AHQG1D3PKsTNzEJL0UBU4f5nPEWEXe51WglU3kdUVsG+TRyPYlG/XycRR
	 SMU9HFRJmhqrq0miMq/x3XuqPhjxKoUcV4i1fcIPPMq+tmxf25xw2Gd73NKWst5Ovu
	 QaJV/nzy//CdQ==
Date: Tue, 16 Apr 2024 17:28: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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "consulting @ bugseng . com" <consulting@bugseng.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] xen/efi: Rewrite DOS/PE magic checking without
 memcmp()
In-Reply-To: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404161728400.2257106@ubuntu-linux-20-04-desktop>
References: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1733869314-1713313729=:2257106"

  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-1733869314-1713313729=:2257106
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 16 Apr 2024, Andrew Cooper wrote:
> Misra Rule 21.16 doesn't like the use of memcmp() between a string literal and
> a UINT8 array.  Rewrite using plain compares.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: consulting@bugseng.com <consulting@bugseng.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Federico Serafini <federico.serafini@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/common/efi/pe.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/efi/pe.c b/xen/common/efi/pe.c
> index a84992df9afe..ef8a2543e0a1 100644
> --- a/xen/common/efi/pe.c
> +++ b/xen/common/efi/pe.c
> @@ -111,7 +111,8 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
>      UINTN offset, i;
>  
>      if ( image_size < sizeof(*dos) ||
> -         memcmp(dos->Magic, "MZ", 2) != 0 )
> +         dos->Magic[0] != 'M' ||
> +         dos->Magic[1] != 'Z' )
>          return NULL;
>  
>      offset = dos->ExeHeader;
> @@ -119,7 +120,10 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
>  
>      offset += sizeof(*pe);
>      if ( image_size < offset ||
> -         memcmp(pe->Magic, "PE\0\0", 4) != 0 )
> +         pe->Magic[0] != 'P' ||
> +         pe->Magic[1] != 'E' ||
> +         pe->Magic[2] != '\0' ||
> +         pe->Magic[3] != '\0' )
>          return NULL;
>  
>      if ( pe->FileHeader.Machine != PE_HEADER_MACHINE )
> 
> base-commit: c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
> -- 
> 2.30.2
> 
--8323329-1733869314-1713313729=:2257106--


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 00:48:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 00:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707147.1104705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwtSp-0000XG-6x; Wed, 17 Apr 2024 00:47:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707147.1104705; Wed, 17 Apr 2024 00: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 1rwtSp-0000X9-41; Wed, 17 Apr 2024 00:47:51 +0000
Received: by outflank-mailman (input) for mailman id 707147;
 Wed, 17 Apr 2024 00: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=8jr4=LW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rwtSn-0000X3-Uj
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 00:47:49 +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 1b49ab9f-fc54-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 02:47:47 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id EDDC861370;
 Wed, 17 Apr 2024 00:47:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3772C113CE;
 Wed, 17 Apr 2024 00:47: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: 1b49ab9f-fc54-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713314865;
	bh=A2Hw75FrDnrqx+FsK1pNyD3nxiMAW8ST8WqFOXhqMzM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=q+LgUXy/y9IfsA354Ro53HhIYarUG82Iz0JaMQG9G17DPfoUkd1d9j0S9npC0c2gG
	 DeLEKdUMDMRtczAGRZwkmdnKOjtyEF0KNHKh2Lx6IRNXrkYsNHUOEqqv+q6s2vFG9W
	 1EKsGt28EAYiXbvMiPnkqffPuQ9s64aT79+utsSaCvBVTqthKCyrVRaEOGT18Hk67o
	 0kDUgW2SsY1CZZiy+5nOoWU1EP0aKC23xJF5vk3fCbdUWdT4WG+bZcKZtzYi20fRBj
	 Fzn10NPxRY5fUC1Ka3RJHOXjL7Cg5alAjTcnyHy3Germi3wk6i0J9aNIGU5/fWwAbM
	 69FlA824vwk1w==
Date: Tue, 16 Apr 2024 17:47:40 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Peng Fan <peng.fan@nxp.com>
cc: John Ernberg <john.ernberg@actia.se>, 
    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" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
In-Reply-To: <DU0PR04MB9417D2CBEAE4D002596B9F4B88082@DU0PR04MB9417.eurprd04.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2404161747250.2257106@ubuntu-linux-20-04-desktop>
References: <20240416133844.2544452-1-john.ernberg@actia.se> <DU0PR04MB9417D2CBEAE4D002596B9F4B88082@DU0PR04MB9417.eurprd04.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 16 Apr 2024, Peng Fan wrote:
> > Subject: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
> >
> > New contributions are recommended to be under GPL-2.0-only [1], since this
> > code piece originally came from the NXP tree the original license was retained.
> >
> > However, as discussed both Peng [2] and I [3] are ok with GPL-2.0.-only as a
> > license. Change the license.
> >
> > Cc: Peng Fan <peng.fan@nxp.com>
> > Signed-off-by: John Ernberg <john.ernberg@actia.se>
> 
> Acked-by: Peng Fan <peng.fan@nxp.com>

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


> > ---
> >  xen/arch/arm/platforms/imx8qm.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/arm/platforms/imx8qm.c
> > b/xen/arch/arm/platforms/imx8qm.c index 3600a073e8..9dac6af425 100644
> > --- a/xen/arch/arm/platforms/imx8qm.c
> > +++ b/xen/arch/arm/platforms/imx8qm.c
> > @@ -1,4 +1,4 @@
> > -/* SPDX-License-Identifier: GPL-2.0-or-later */
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> >  /*
> >   * xen/arch/arm/platforms/imx8qm.c
> >   *
> > --
> > 2.44.0
> 


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 03:12:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 03:12:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707171.1104764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwviM-0000IG-MC; Wed, 17 Apr 2024 03:12:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707171.1104764; Wed, 17 Apr 2024 03:12:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwviM-0000I8-IY; Wed, 17 Apr 2024 03:12:02 +0000
Received: by outflank-mailman (input) for mailman id 707171;
 Wed, 17 Apr 2024 03:12: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 1rwviL-0000Ht-NS; Wed, 17 Apr 2024 03:12: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 1rwviL-0001Au-Lq; Wed, 17 Apr 2024 03:12: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 1rwviL-0004Fj-9o; Wed, 17 Apr 2024 03:12:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwviL-0000DO-9H; Wed, 17 Apr 2024 03:12:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ficBuU7WGGn9hH7RTtPtNc1Qs9GBIJ+rhcwhp+Ts2bo=; b=tgygfwRC5GbEPHKdMYH4Ne2UgI
	oR0T5hO+P7wQNZgvYVjin283lLQjZ/OdYOGs4FYB1NowoYR0xOsfFYZmEq4Fr8gj8ANfBQht8im7Q
	lByNFcX4o2/41KXsNS8zNmauj9JQvJolKyVaPP7+q4o50I78bSjxKk6O0y2hZO3mGioc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185674-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185674: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qcow2:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-vhd:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-qcow2:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-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-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
X-Osstest-Versions-That:
    xen=672b26b66ebb5ff3d28c573a6545a08020b27495
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 03:12:01 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2   12 debian-di-install fail in 185635 pass in 185674
 test-amd64-amd64-xl-vhd     12 debian-di-install fail in 185635 pass in 185674
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 185635 pass in 185674
 test-armhf-armhf-xl-qcow2     8 xen-boot                   fail pass in 185635

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

Last test of basis   185281  2024-04-09 11:10:22 Z    7 days
Failing since        185294  2024-04-10 04:20:17 Z    6 days   11 attempts
Testing same since   185457  2024-04-13 21:33:46 Z    3 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Bjoern Doebel <doebel@amazon.de>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  John Ernberg <john.ernberg@actia.se>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  Leigh Brown <leigh@solinno.co.uk>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Peng Fan <peng.fan@nxp.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.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                                    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 :

To xenbits.xen.org:/home/xen/git/xen.git
   672b26b66e..c0f890cd9d  c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429 -> master


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 03:20:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 03:20:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707227.1104966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwvqI-00047k-OS; Wed, 17 Apr 2024 03:20:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707227.1104966; Wed, 17 Apr 2024 03:20: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 1rwvqI-00047d-Le; Wed, 17 Apr 2024 03:20:14 +0000
Received: by outflank-mailman (input) for mailman id 707227;
 Wed, 17 Apr 2024 03:20: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 1rwvqH-00047O-0O; Wed, 17 Apr 2024 03:20: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 1rwvqG-0001P5-UW; Wed, 17 Apr 2024 03:20: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 1rwvqG-0004Z2-IQ; Wed, 17 Apr 2024 03:20:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwvqG-0002df-Hw; Wed, 17 Apr 2024 03:20:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=iD39hm7MfkH9PmnOnopwXJ43drvAXNbyKWcI62b6LQ0=; b=xRUFqfp0wbUyimndIfMRV43pDd
	L/Fb8p2YHt5Bnxq4krtieCfNUY+VLSGbdXDlZelforsAjnJfrx3mLdITPbNmz29Ttt7Ku4U7Av387
	2BTO9fAz/0o2hF5DAm6oQxLlgaYN2q+Q4ed7mfJheAdiUfYvcAuFDsgCeIj1mRyooImc=;
To: xen-devel@lists.xenproject.org
Subject: [xen-4.16-testing bisection] complete test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm
Message-Id: <E1rwvqG-0002df-Hw@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 03:20:12 +0000

branch xen-4.16-testing
xenbranch xen-4.16-testing
job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm
testid guest-saverestore

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  295bf24af77c0556fe023ce727734fd27226b37c
  Bug not present: ec8f105f9c7744408ddea6b320d55703f9e0f522
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185699/


  commit 295bf24af77c0556fe023ce727734fd27226b37c
  Author: Roger Pau Monne <roger.pau@citrix.com>
  Date:   Thu Feb 15 17:46:53 2024 +0100
  
      x86/vmx: Add support for virtualize SPEC_CTRL
      
      The feature is defined in the tertiary exec control, and is available starting
      from Sapphire Rapids and Alder Lake CPUs.
      
      When enabled, two extra VMCS fields are used: SPEC_CTRL mask and shadow.  Bits
      set in mask are not allowed to be toggled by the guest (either set or clear)
      and the value in the shadow field is the value the guest expects to be in the
      SPEC_CTRL register.
      
      By using it the hypervisor can force the value of SPEC_CTRL bits behind the
      guest back without having to trap all accesses to SPEC_CTRL, note that no bits
      are forced into the guest as part of this patch.  It also allows getting rid of
      SPEC_CTRL in the guest MSR load list, since the value in the shadow field will
      be loaded by the hardware on vmentry.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      (cherry picked from commit 97c5b8b657e41a6645de9d40713b881234417b49)


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm.guest-saverestore.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm.guest-saverestore --summary-out=tmp/185699.bisection-summary --basis-template=185283 --blessings=real,real-bisect,real-retry xen-4.16-testing test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm guest-saverestore
Searching for failure / basis pass:
 185407 fail [host=albana0] / 185283 [host=septiner1] 185007 [host=sabro1] 184804 [host=fiano0] 184530 [host=debina0] 184108 ok.
Failure / basis pass flights: 185407 / 184108
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cee7ba349c0c1ce489001a338a4e28555728b573 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 e7c3d6ceaf73120098f9213fd12f79fd50e8e588
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-bf1e3b1cb1e002ed1590c91f1a24433b59322368 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#cee7ba349c0c1ce489001a338a4e28555728b573-98f150a954b35cc74bd87ae355cf35d8c9e1580d git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3-c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 git://xenbits.xen.org/osstest/seabios.git#a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8-c5a361c09a19e3b1a83557b01f11f04b27181a11 git://xenbits.xen.org/xen.git#e7c3d6ceaf73120098f9213fd12f79fd50e8e588-150f6cdbfe079816a0df8b9d57320ca42fc39d12
adhoc-revtuple-generator: tree discontiguous: linux-pvops
>From git://cache:9419/git://xenbits.xen.org/xen
   672b26b66e..c0f890cd9d  master     -> origin/master
Loaded 12695 nodes in revision graph
Searching for test results:
 184108 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cee7ba349c0c1ce489001a338a4e28555728b573 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 e7c3d6ceaf73120098f9213fd12f79fd50e8e588
 184530 [host=debina0]
 184804 [host=fiano0]
 185007 [host=sabro1]
 185283 [host=septiner1]
 185297 fail irrelevant
 185322 fail irrelevant
 185407 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
 185462 []
 185518 []
 185556 []
 185663 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cee7ba349c0c1ce489001a338a4e28555728b573 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 e7c3d6ceaf73120098f9213fd12f79fd50e8e588
 185665 fail bf1e3b1cb1e002ed1590c91f1a24433b59322368 c530a75c1e6a472b0eb9558310b518f0dfcd8860 98f150a954b35cc74bd87ae355cf35d8c9e1580d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 150f6cdbfe079816a0df8b9d57320ca42fc39d12
 185667 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e32b58ab5a12d37c82327f28376e7d12cccc8b3a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 82faf1d5c8b25375b9029f2d6668135e62455a8c e481fc9f32339ebf9ddd171a3995a3e44527d148
 185670 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ccf91b518f22102d446f26320110d30ea0fc1fa9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 163fd9f0872f95366cfe34eb11568934c2d2fe29 ffd75b161de76e43fd54d751ab70d2fdf6e2e87d
 185675 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c8f56800fd3a280b1ce9ff6da7f9581304b6a40d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 913680885350f92965d70122f6fd54406c49af7d ea1da2ba8ea7c76a8a3a08d11f7de5acb8b17801
 185676 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 40d05ac943b8102ac32ee85912a89f9eaf46e850
 185679 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 25a496fd22b7ef3b808c0dda35c4610ef41ef632
 185682 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 a8bb8926fd046cd7fa880a057b2675f33c1bfe77
 185685 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 7efe5a0eee0e4f593c064b7f1b106acc74d8c7f9
 185688 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
 185689 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
 185691 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
 185693 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
 185696 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
 185697 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
 185699 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 295bf24af77c0556fe023ce727734fd27226b37c
Searching for interesting versions
 Result found: flight 184108 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522, results HASH(0x55f7841d0a58) HASH(0x55f7841b2848) HASH(0x55f784172b08) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 7efe5a0eee0e4f593c064b7f1b106acc74d8c7f9, results HASH(0x55f7841c8110) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641c\
 c35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 a8bb8926fd046cd7fa880a057b2675f33c1bfe77, results HASH(0x55f7841c40d8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 40d05ac943b8102ac32ee85912a89f9eaf46e850, results HASH(0x55f7841b7780) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c8f56800fd3a280b1ce9ff6da7f9581304b6a40d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 913680885350f92965d70122f6fd54406c49af7d ea1da2ba8ea7c76a8a3a08d11f7de5acb8b17801, results HASH(0x55f7841b4550) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ccf91b518f22102d446f\
 26320110d30ea0fc1fa9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 163fd9f0872f95366cfe34eb11568934c2d2fe29 ffd75b161de76e43fd54d751ab70d2fdf6e2e87d, results HASH(0x55f7841b0518) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e32b58ab5a12d37c82327f28376e7d12cccc8b3a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 82faf1d5c8b25375b9029f2d6668135e624\
 55a8c e481fc9f32339ebf9ddd171a3995a3e44527d148, results HASH(0x55f7841ac508) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cee7ba349c0c1ce489001a338a4e28555728b573 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 e7c3d6ceaf73120098f9213fd12f79fd50e8e588, results HASH(0x55f784193648) HASH(0x55f7841843c0) Result found: flight 185407 (fail), for \
 basis failure (at ancestor ~1092)
 Repro found: flight 185663 (pass), for basis pass
 Repro found: flight 185665 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 932db9df0caa26daca4edf133fb2aed7b4a9193e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3 c5a361c09a19e3b1a83557b01f11f04b27181a11 ec8f105f9c7744408ddea6b320d55703f9e0f522
No revisions left to test, checking graph state.
 Result found: flight 185689 (pass), for last pass
 Result found: flight 185691 (fail), for first failure
 Repro found: flight 185693 (pass), for last pass
 Repro found: flight 185696 (fail), for first failure
 Repro found: flight 185697 (pass), for last pass
 Repro found: flight 185699 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  295bf24af77c0556fe023ce727734fd27226b37c
  Bug not present: ec8f105f9c7744408ddea6b320d55703f9e0f522
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185699/


  commit 295bf24af77c0556fe023ce727734fd27226b37c
  Author: Roger Pau Monne <roger.pau@citrix.com>
  Date:   Thu Feb 15 17:46:53 2024 +0100
  
      x86/vmx: Add support for virtualize SPEC_CTRL
      
      The feature is defined in the tertiary exec control, and is available starting
      from Sapphire Rapids and Alder Lake CPUs.
      
      When enabled, two extra VMCS fields are used: SPEC_CTRL mask and shadow.  Bits
      set in mask are not allowed to be toggled by the guest (either set or clear)
      and the value in the shadow field is the value the guest expects to be in the
      SPEC_CTRL register.
      
      By using it the hypervisor can force the value of SPEC_CTRL bits behind the
      guest back without having to trap all accesses to SPEC_CTRL, note that no bits
      are forced into the guest as part of this patch.  It also allows getting rid of
      SPEC_CTRL in the guest MSR load list, since the value in the shadow field will
      be loaded by the hardware on vmentry.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
      (cherry picked from commit 97c5b8b657e41a6645de9d40713b881234417b49)

pnmtopng: 111 colors found
Revision graph left in /home/logs/results/bisect/xen-4.16-testing/test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm.guest-saverestore.{dot,ps,png,html,svg}.
----------------------------------------
185699: tolerable ALL FAIL

flight 185699 xen-4.16-testing real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185699/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 15 guest-saverestore fail baseline untested


jobs:
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 05:34:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 05:34:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707240.1104991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwxwC-0004xN-2L; Wed, 17 Apr 2024 05:34:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707240.1104991; Wed, 17 Apr 2024 05: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 1rwxwB-0004xG-Vl; Wed, 17 Apr 2024 05:34:27 +0000
Received: by outflank-mailman (input) for mailman id 707240;
 Wed, 17 Apr 2024 05:34: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 1rwxwA-0004x4-FW; Wed, 17 Apr 2024 05:34: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 1rwxwA-0004Ok-5T; Wed, 17 Apr 2024 05:34: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 1rwxw9-0008RC-S9; Wed, 17 Apr 2024 05:34:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwxw9-00036u-Rb; Wed, 17 Apr 2024 05:34:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gaC9Wrv6lL5fcEov3cJhD1qZ8m7dZLLTkQ78niCsMCQ=; b=IbtM3WedC8fdGzuwJ2ol3kXy8y
	gDxUKkbW6lGTt4xkk8dRmt2wZJytLV8Nxr4YUeIxRS9PF5TB/Jid+w0FSS4UtLB7GcaLtECHJ71dq
	tpLKmQX4CrEuh182nh6H2rmApYLwOnx5OJT23pvfp/nK8uDTL0/DUVZyo352cWmfJFtY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185695-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185695: regressions - FAIL
X-Osstest-Failures:
    xen-4.18-testing:build-arm64-pvops:kernel-build:fail:regression
    xen-4.18-testing:test-amd64-amd64-xl-vhd:debian-di-install:fail:heisenbug
    xen-4.18-testing:test-amd64-amd64-xl-raw:guest-start/debian.repeat:fail:heisenbug
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-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-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-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-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-amd64-amd64-libvirt:migrate-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-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-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-amd64-amd64-libvirt-qcow2:migrate-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=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 05:34:25 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 185285

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-vhd     12 debian-di-install fail in 185654 pass in 185695
 test-amd64-amd64-xl-raw      21 guest-start/debian.repeat  fail pass in 185654

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 185285
 test-arm64-arm64-xl         15 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 185654 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 185654 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 185654 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 185654 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 185654 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 185654 never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 185654 never pass
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 185654 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 185654 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185285
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-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-amd64-amd64-libvirt-qcow2 14 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
 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                  2d38302c33b117aa9a417056db241aefc840c2f0
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    7 days
Failing since        185303  2024-04-10 18:41:55 Z    6 days    8 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    5 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-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                                 blocked 
 test-amd64-amd64-xl-raw                                      fail    
 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                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 05:36:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 05:36:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707247.1105001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwxxo-0005YJ-J0; Wed, 17 Apr 2024 05:36:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707247.1105001; Wed, 17 Apr 2024 05: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 1rwxxo-0005YC-F6; Wed, 17 Apr 2024 05:36:08 +0000
Received: by outflank-mailman (input) for mailman id 707247;
 Wed, 17 Apr 2024 05:36: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 1rwxxn-0005Y0-2H; Wed, 17 Apr 2024 05:36: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 1rwxxn-0004Sq-0Y; Wed, 17 Apr 2024 05:36:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rwxxm-0008UD-J9; Wed, 17 Apr 2024 05:36:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rwxxm-0005RC-Ii; Wed, 17 Apr 2024 05:36:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=awJZuLO4dxn1AQWRhk8Kb2P4Ca48G+Jw0TpgURcybQY=; b=x0Lo/YhwUWvOm3XvudCQfRTpjI
	cLlr97dSHn++ixh8JavTbDqvi+IDN5uBDhkII76IXtGzoKg6aeLopH61x+NM4shKcekMkDSImCKGU
	K2E6adXRrlHVxOsCPHHakCkoH1KR5x3bzVm1Vr/gIkaLzt4pYZx4JckcxvfIA8JD/bqU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185701-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185701: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=61185f1d501512f35621d0fdc5f17503c77bf449
X-Osstest-Versions-That:
    ovmf=fcfdbe29874320e9f876baa7afebc3fca8f4a7df
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 05:36:06 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 61185f1d501512f35621d0fdc5f17503c77bf449
baseline version:
 ovmf                 fcfdbe29874320e9f876baa7afebc3fca8f4a7df

Last test of basis   185671  2024-04-16 14:44:05 Z    0 days
Testing same since   185701  2024-04-17 03:13:46 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
   fcfdbe2987..61185f1d50  61185f1d501512f35621d0fdc5f17503c77bf449 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 07:14:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 07:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707267.1105026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwzUi-0002HI-L4; Wed, 17 Apr 2024 07:14:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707267.1105026; Wed, 17 Apr 2024 07:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rwzUi-0002HB-I7; Wed, 17 Apr 2024 07:14:12 +0000
Received: by outflank-mailman (input) for mailman id 707267;
 Wed, 17 Apr 2024 07:14:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SI9G=LW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rwzUg-0002H3-CQ
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 07:14:10 +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 14f4393e-fc8a-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 09:14:08 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-516d487659bso6315893e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 00:14:08 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 c18-20020adffb12000000b003464150a642sm3651548wrr.108.2024.04.17.00.14.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 00:14: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: 14f4393e-fc8a-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713338048; x=1713942848; 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=73yJsMMcq0oF7n3BsPPEmp3Cwlx/EMjMEUi1HZ44BfI=;
        b=Rm8pNAnpjbIFnqKcaGRTbtyTs9H774H0U8QgDgjrT4fkr/tJ2ZOop0bSfS4NK1gauO
         vfzUs30Nt+Bnh8MddKKtdu+E9MWLy0szgJqBjM30jSmqfjJuP9HZIKMpE/E2Oobcu1ky
         uMzrqu2Gjgs58l8Gr7aOW6h5/IXKWSVhSQH0g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713338048; x=1713942848;
        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=73yJsMMcq0oF7n3BsPPEmp3Cwlx/EMjMEUi1HZ44BfI=;
        b=J7bK26pgBbYfe35GNian4ROAszByFQJ01cUxvrzjx3z0Gadhei7taXLCoXfKLyoPR3
         4C/GqxVddGUg+F6MSjOV0L3isMJSF7LMhIl3axnY4+2ETHSTgqdsI/NHlI9SPdrROox2
         p0Ib5vrsH3IxChUg9bKIM8rFrig/FFr37gfrKRDSXCXAzZQFLhWe2dq9gs+l4bFhFMRj
         89q8lNrGRGu1RMY9tv9iNTSuXuQCNVsFAMY7yN/h5qci1l99svwMxk/SR/K9zCyxY8Nv
         tIGCF5RM/6hHR11da63MJST+Cv/2s/Uz855KwL/kI76MXG31suTtsIC78Umb9UChVXuy
         HPHw==
X-Gm-Message-State: AOJu0Yzt5Sn9rb+oVqCMPbz6Oxvz0NOzyX/xjRXeJvRCr57DG44lBYC7
	18y4Vos5quyU1apSDW/YDvi4icssNbzAB34SLFCLF2OkBgk5aLvtcBU6t7FI5ds=
X-Google-Smtp-Source: AGHT+IGGG9P9gLBclRj00Y1Jr5iP1ouy6fg/KcLtNQBVoebMm/TvMq51+x0QOvjvfEirHH1zLJ0Flw==
X-Received: by 2002:a19:7710:0:b0:516:d86b:3d5a with SMTP id s16-20020a197710000000b00516d86b3d5amr9165639lfc.21.1713338047579;
        Wed, 17 Apr 2024 00:14:07 -0700 (PDT)
Date: Wed, 17 Apr 2024 09:14:06 +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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH] xen/efi: Rewrite DOS/PE magic checking without memcmp()
Message-ID: <Zh92vsPzuHjTIs21@macbook>
References: <20240416155251.2942504-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: <20240416155251.2942504-1-andrew.cooper3@citrix.com>

On Tue, Apr 16, 2024 at 04:52:51PM +0100, Andrew Cooper wrote:
> Misra Rule 21.16 doesn't like the use of memcmp() between a string literal and
> a UINT8 array.  Rewrite using plain compares.

The commit message makes it look like it's a type mismatch issue
between the two elements being compared, but from my reading of the
rule the issue is with the usage of a char pointer with memcmp().
IOW: even if the two parameters are char pointers it would still be a
violation.

"Misra Rule 21.16 forbids the use of memcmp() against character
arrays.  Rewrite using plain compares since checking for "PE\0\0"
cannot be done using strncmp()."

> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

LGTM (possibly pending the adjustment of the commit message):

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

One question below to ensure my understating is correct.

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: consulting@bugseng.com <consulting@bugseng.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Federico Serafini <federico.serafini@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/common/efi/pe.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/efi/pe.c b/xen/common/efi/pe.c
> index a84992df9afe..ef8a2543e0a1 100644
> --- a/xen/common/efi/pe.c
> +++ b/xen/common/efi/pe.c
> @@ -111,7 +111,8 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
>      UINTN offset, i;
>  
>      if ( image_size < sizeof(*dos) ||
> -         memcmp(dos->Magic, "MZ", 2) != 0 )
> +         dos->Magic[0] != 'M' ||
> +         dos->Magic[1] != 'Z' )

For this one you could likely use strncmp()?

>          return NULL;
>  
>      offset = dos->ExeHeader;
> @@ -119,7 +120,10 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
>  
>      offset += sizeof(*pe);
>      if ( image_size < offset ||
> -         memcmp(pe->Magic, "PE\0\0", 4) != 0 )
> +         pe->Magic[0] != 'P' ||
> +         pe->Magic[1] != 'E' ||
> +         pe->Magic[2] != '\0' ||
> +         pe->Magic[3] != '\0' )

This one with the double null terminator is indeed not suitable to be
checked using strncmp().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 07:59:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 07:59:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707275.1105042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx0CB-0007sC-0v; Wed, 17 Apr 2024 07:59:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707275.1105042; Wed, 17 Apr 2024 07:59:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx0CA-0007s5-TC; Wed, 17 Apr 2024 07:59:06 +0000
Received: by outflank-mailman (input) for mailman id 707275;
 Wed, 17 Apr 2024 07:59:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EdzU=LW=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rx0C9-0007rz-KI
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 07:59:05 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2606::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a0fd43d-fc90-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 09:59:01 +0200 (CEST)
Received: from DUZPR01CA0009.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c3::16) by DB9PR08MB8388.eurprd08.prod.outlook.com
 (2603:10a6:10:3d7::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr
 2024 07:58:32 +0000
Received: from DU2PEPF00028D0C.eurprd03.prod.outlook.com
 (2603:10a6:10:3c3:cafe::56) by DUZPR01CA0009.outlook.office365.com
 (2603:10a6:10:3c3::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.34 via Frontend
 Transport; Wed, 17 Apr 2024 07:58:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D0C.mail.protection.outlook.com (10.167.242.20) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 17 Apr 2024 07:58:32 +0000
Received: ("Tessian outbound 9fd7e4b543e6:v313");
 Wed, 17 Apr 2024 07:58:31 +0000
Received: from 6f1ff0ebcce9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7F83D93B-E1A2-47C2-8108-6D3231F04FD7.1; 
 Wed, 17 Apr 2024 07:58:21 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6f1ff0ebcce9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 17 Apr 2024 07:58:21 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAWPR08MB8957.eurprd08.prod.outlook.com (2603:10a6:102:33d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr
 2024 07:58:19 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7452.049; Wed, 17 Apr 2024
 07:58:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a0fd43d-fc90-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=aZwX/UG5WZeWr2wna3fRkHBxQQdF3C1AIAYryYR/AFd0LWnnpwGXEKFhVI1i1P5066vWq758jOyHPvuL4vEkEfo+ijgP6Lf7Ll3iiAPbrQRJCtQ2hp6MXltwQZc2MYYy7j/uxeMG0Dq7w9zAdJ3KDEFXR8TJP9J+vMdkDk+vYxIZKGbVlqZv7q4/KbgqMtX/H2F2kG7VWhGENe29o7PJm9j/3OUBdfQ7gi2PfWzseXWZm3lVnI1oE/YZGPbAr26tKgENBPaMjkZpC9r1TNjYP5WE/zsYmnCOPA/KSTKqnGvk95QxKSWgjh5w7gLnw+liAvmaFQ0dC1TsGjJwVY8XMA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LM47rY0ny9PItD6LeIXl3dYrjz9odm4K3JitDuEleLw=;
 b=d1q86OLHde1ysaT4PfPQ7P9FiiFU+fXHge2gChctlp+VvCA0VywyHA4iGjFssNo226nkomsghu8UhYWV7tA+xZgzFoya4T/w936fUGA53WqxgNC7FW2mBh2JPU51vkELMLPPvCUVo2qKxjBRBIigxX3VBnGxw4es8UYIaipvQsTKBxE893NgCuBai7DzBYYWs9drIJhDPk7T+p1aICOStFdM3FZ3MtIYuQddUmiNfv482V4t7gr8Hz0aVsTNDbvz8cxmHddQry5s+FyQd6f0PPqavLqUeHt4GJBonTop2hGKWkGVaf/kSbRHczeeHzF2+0PaZPqMLc4tFCFSOY9CiQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LM47rY0ny9PItD6LeIXl3dYrjz9odm4K3JitDuEleLw=;
 b=xSZJ3E7WWdWaInBZ6u+4237Dd62hELJeNe0VIixGxvGMYCFbP6FE2GrOfWTPaUKJaPDbvnukedUNfDccKtJ/ac3eaUIYw8UKImFj0QXC3H06uRkVmfjhYMzJtfh8LXR5/Pe3JLbwWs3ougEk39toizox2NRezYO5EphPQc4oBiA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f5c73f088e36de06
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nw7YixRiCiHW5PPWj2CHWjPBGz6xDtr8Z9e8SOqY0uNl7iRUbdbkS6xjgb4kp4Eu/1XT5Pyao4YDNzOnjZfOz47T+obff1gyB4TP+bw1nGjOo4KHbIaD5TKyGH59/pCohmnJe0YmSB7LtwBa4MNP03OfRjxA5/GglimeeC7/dLRigktN7CdhnqrR6Squ22HWo/+4tU6sAH7RzhKeEmwAb4d9zvgGi91Vbt+AlwcGSZKN/jhGrSfg7tD36W8KTJ/k2V2kRtJs4ZyjLGnL2kTY724DzTihARmdwdYSpdc/1nNtond5gcOEIDbbewiBRVBSooRQzu9YTy3jgpHTsLOmTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LM47rY0ny9PItD6LeIXl3dYrjz9odm4K3JitDuEleLw=;
 b=BVylkRvJtfKrsgZhpzbA++iMcUjxHr4Q57xsIpfTg/Ya53JHWL9LjElRs7lfh9zcMmiE0hdB2OJKt+dY1kx/6cs6SpxuaZPS81bdYRKBRtmUKEm+rUsFqmbYodCJQFvezsT55eLdqJT/qR+qftTyu5pIJUSyzN6k25nqdbegV6PogILfUzo6YjXX7tTAIUfLe4b4cBqmA/p6xikD5G/lRCSSRX9k7MxGXtI35bPYKNrfOih6LpyekDttcPZFS3BJl7nfTbQTkQT0rQ0aMx0byJXqtQKSDShKmTIqT545PIJsgTna6j3BShX1KqRGbSWd1Ga922tQb7xNpUg4sHKq6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LM47rY0ny9PItD6LeIXl3dYrjz9odm4K3JitDuEleLw=;
 b=xSZJ3E7WWdWaInBZ6u+4237Dd62hELJeNe0VIixGxvGMYCFbP6FE2GrOfWTPaUKJaPDbvnukedUNfDccKtJ/ac3eaUIYw8UKImFj0QXC3H06uRkVmfjhYMzJtfh8LXR5/Pe3JLbwWs3ougEk39toizox2NRezYO5EphPQc4oBiA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
Thread-Topic: docs/misra: add R21.6 R21.14 R21.15 R21.16
Thread-Index: AQHakDQ428r7u0beA0yxVf0iyBBMbbFsGZCA
Date: Wed, 17 Apr 2024 07:58:19 +0000
Message-ID: <94EDC57A-81DE-4A36-BC74-7FF9860B94C3@arm.com>
References:
 <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2404161227340.2257106@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.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAWPR08MB8957:EE_|DU2PEPF00028D0C:EE_|DB9PR08MB8388:EE_
X-MS-Office365-Filtering-Correlation-Id: 375b015a-878c-42f5-a244-08dc5eb42cff
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 +zahwPK1u4Y+/7SPIoo2trmzpHDpUcbpZyhD+zyGjwvw4IDL0nnJ8RsWcLxuqSXmAVKNWvTvNN78f+8IYepc+VwAAUlnCQuDtluzbwvKyWAUMUp6q02lH/ZPLitBuXvgB4Fite10S2tG4SZU/WWiSZnTn5b7jozvMrWgWuqtA2LUKdABrHgy0Ptzimhk6CkZHjQHp/rjgikDx8IBovr4ec24aVCzBviIohzcJ4fqe6njlA2peJPZbEPjN/ILCq7/gV74k/gaSyLiaTJSoUbJ8tcmTNpO7CqWaWFnidlCUpcqroNwS/qMctiXZUscEQQtjHq4t0Mrg+i+31ST8gzl2uwd+2m8hzeLZOlWHFqz043x8sJJPCk+/HYjRScHNaEhhcywYYj0mQE3aXa9YlUZcRCAlkMnOlr7Joc5OOQP/Ya7teS88aglLHpsrzuUKqtZ84AkRwrtjo2d23T6WYjTICF+DSWizEgody1arbW1FLifY2+9O5a+dNyCBs1sSqFjpxfgBBqgEJ5WD+ieZ2ao1oS1eX9fJfqr01rd/+iDX6OcqFhk+ndAPm4Q4MtcBPdr7rbRhCO5aWugMakTjOCtWkq7gXgUaGl2mDhD8CmeY63n31m1lMkC96p776FNW4/x7aEiOJyJDJ5O1p//diEC25r/+u4zTsfuAznakedNBjXaGalH47VzxLlS1YuqwYVMvy+lzo3bu2tXOtpimJSRfY1YnCD+icpqw4LWqgbQ7Ck=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <399496F933F78741800A26926A4697B1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8957
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D0C.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	97e32ff8-13c7-4ad5-35dc-08dc5eb4257a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2uQhKCsT7mbidBCnskteQDf2fVzjGZKb4py9XS5QPZ1uO42NPnPvi2ybfSK0tXi2rUBTAzUtU2muYEAL2TFKOtU+QhNYlSZAkATbsi/6v3DJQo+b2dfQ4wHHhTasPfz8ngbks94/06Evxisir+jwkcvMK3CPlGgSKwQ2DcoZ48mauUGDBk+QDHhK9p5d7u4QRuraiJ5ml8HSKWOcsERsPWZ4CGTuO/cZHGjRv155wmIYsks3u8Ga+UVrBAWSsxu7Ud5Vky/+fTgG2Xj08EGd1AZ/CwLuc1ddFU39U4FVedm0RMivtFHgQsJbbeyJvPQpzOjQ8ciZc4qx0iuBm9n6M5ezpwyfXKM2H4Qu+vlb+Tkv4gvXVH8IqHY0cmckQs6mSdI5lB8jqNkNgmHVPLMa6RokbJFzcJrqrU1SorQGkX2bWbYqd6+9apJO4jJ6wa/PEXdYunptnzNA5IVnjKN4r7Kwr9rxIlLlBk55Sc/RknI8S0PX6yFUuZn4vJjKOG5sU88P9rBAfvQ0HK6vELxzQ4Q3N4MuCmaSaykVpjXjFYbNksRgW+PtdAy//g4FIb1pxPXjsDB987No6NP5Niw+uKUNBVHG4eLacTw00Wj61qJRouB1ZQx7uT6jCIgurk2mMd+eWCoRJrIy8xvErImaI8xtq9IPoeU3fptYP3FLI0hs4xU0qS+E7E/VpygkyeQWNh4WnskCcLB68AVHtb2kAMr8GLQrVLtNWjcuKJ+8fNq9ARjKkkvb7Yfc04x+O9OZDtgujMc0O8eOG5L+c+Jijw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 07:58:32.1842
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 375b015a-878c-42f5-a244-08dc5eb42cff
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D0C.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8388

SGkgU3RlZmFubywNCg0KPiBPdGhlciBkZXZpYXRpb25zOg0KPiAtLS0tLS0tLS0tLS0tLS0tLQ0K
PiANCj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzcmEvcnVsZXMucnN0IGIvZG9jcy9taXNyYS9ydWxl
cy5yc3QNCj4gaW5kZXggYjdiNDQ3ZTE1Mi4uMDBkYjAyYWQzNCAxMDA2NDQNCj4gLS0tIGEvZG9j
cy9taXNyYS9ydWxlcy5yc3QNCj4gKysrIGIvZG9jcy9taXNyYS9ydWxlcy5yc3QNCj4gQEAgLTY1
MiwxMiArNjUyLDM4IEBAIG1haW50YWluZXJzIGlmIHlvdSB3YW50IHRvIHN1Z2dlc3QgYSBjaGFu
Z2UuDQo+ICAgICAgICBkZWNsYXJlZA0KPiAgICAgIC0gU2VlIGNvbW1lbnQgZm9yIFJ1bGUgMjEu
MQ0KPiANCj4gKyAgICogLSBgUnVsZSAyMS42IDxodHRwczovL2dpdGxhYi5jb20vTUlTUkEvTUlT
UkEtQy9NSVNSQS1DLTIwMTIvRXhhbXBsZS1TdWl0ZS8tL2Jsb2IvbWFzdGVyL1JfMjFfMDYuYz5g
Xw0KPiArICAgICAtIFJlcXVpcmVkDQo+ICsgICAgIC0gVGhlIFN0YW5kYXJkIExpYnJhcnkgaW5w
dXQvb3V0cHV0IHJvdXRpbmVzIHNoYWxsIG5vdCBiZSB1c2VkDQo+ICsgICAgIC0gU2VlIHRoZSBz
bnByaW50ZigpIGFuZCB2c25wcmludGYoKSBkZXZpYXRpb24gaW4gZGV2aWF0aW9ucy5yc3QNCj4g
Kw0KPiAgICAqIC0gYFJ1bGUgMjEuMTMgPGh0dHBzOi8vZ2l0bGFiLmNvbS9NSVNSQS9NSVNSQS1D
L01JU1JBLUMtMjAxMi9FeGFtcGxlLVN1aXRlLy0vYmxvYi9tYXN0ZXIvUl8yMV8xMy5jPmBfDQo+
ICAgICAgLSBNYW5kYXRvcnkNCj4gICAgICAtIEFueSB2YWx1ZSBwYXNzZWQgdG8gYSBmdW5jdGlv
biBpbiA8Y3R5cGUuaD4gc2hhbGwgYmUgcmVwcmVzZW50YWJsZSBhcyBhbg0KPiAgICAgICAgdW5z
aWduZWQgY2hhciBvciBiZSB0aGUgdmFsdWUgRU9GDQo+ICAgICAgLQ0KPiANCj4gKyAgICogLSBg
UnVsZSAyMS4xNCA8aHR0cHM6Ly9naXRsYWIuY29tL01JU1JBL01JU1JBLUMvTUlTUkEtQy0yMDEy
L0V4YW1wbGUtU3VpdGUvLS9ibG9iL21hc3Rlci9SXzIxXzE0LmM+YF8NCj4gKyAgICAgLSBSZXF1
aXJlZA0KPiArICAgICAtIFRoZSBTdGFuZGFyZCBMaWJyYXJ5IGZ1bmN0aW9uIG1lbWNtcCBzaGFs
bCBub3QgYmUgdXNlZCB0byBjb21wYXJlDQo+ICsgICAgICAgbnVsbCB0ZXJtaW5hdGVkIHN0cmlu
Z3MNCj4gKyAgICAgLQ0KPiArDQo+ICsgICAqIC0gYFJ1bGUgMjEuMTUgPGh0dHBzOi8vZ2l0bGFi
LmNvbS9NSVNSQS9NSVNSQS1DL01JU1JBLUMtMjAxMi9FeGFtcGxlLVN1aXRlLy0vYmxvYi9tYXN0
ZXIvUl8yMV8xNS5jPmBfDQo+ICsgICAgIC0gUmVxdWlyZWQNCj4gKyAgICAgLSBUaGUgcG9pbnRl
ciBhcmd1bWVudHMgdG8gdGhlIFN0YW5kYXJkIExpYnJhcnkgZnVuY3Rpb25zIG1lbWNweSwNCj4g
KyAgICAgICBtZW1tb3ZlIGFuZCBtZW1jbXAgc2hhbGwgYmUgcG9pbnRlcnMgdG8gcXVhbGlmaWVk
IG9yIHVucXVhbGlmaWVkDQo+ICsgICAgICAgdmVyc2lvbnMgb2YgY29tcGF0aWJsZSB0eXBlcyAN
Cg0KVGhlcmUgaXMgYSB0cmFpbGluZyBzcGFjZSBhdCB0aGUgZW5kIG9mIHRoaXMgbGluZQ0KDQo+
ICsgICAgIC0gdm9pZCogYXJndW1lbnRzIGFyZSBhbGxvd2VkLCBzZWUgZGV2aWF0aW9ucy5yc3QN
Cj4gKw0KPiArICAgKiAtIGBSdWxlIDIxLjE2IDxodHRwczovL2dpdGxhYi5jb20vTUlTUkEvTUlT
UkEtQy9NSVNSQS1DLTIwMTIvRXhhbXBsZS1TdWl0ZS8tL2Jsb2IvbWFzdGVyL1JfMjFfMTYuYz5g
Xw0KPiArICAgICAtIFJlcXVpcmVkDQo+ICsgICAgIC0gVGhlIHBvaW50ZXIgYXJndW1lbnRzIHRv
IHRoZSBTdGFuZGFyZCBMaWJyYXJ5IGZ1bmN0aW9uIG1lbWNtcA0KPiArICAgICAgIHNoYWxsIHBv
aW50IHRvIGVpdGhlciBhIHBvaW50ZXIgdHlwZSwgYW4gZXNzZW50aWFsbHkgc2lnbmVkIHR5cGUs
DQo+ICsgICAgICAgYW4gZXNzZW50aWFsbHkgdW5zaWduZWQgdHlwZSwgYW4gZXNzZW50aWFsbHkg
Qm9vbGVhbiB0eXBlIG9yIGFuDQo+ICsgICAgICAgZXNzZW50aWFsbHkgZW51bSB0eXBlDQoNCkFs
c28gaGVyZS4NCg0KPiArICAgICAtDQo+ICsNCj4gICAgKiAtIGBSdWxlIDIxLjE3IDxodHRwczov
L2dpdGxhYi5jb20vTUlTUkEvTUlTUkEtQy9NSVNSQS1DLTIwMTIvRXhhbXBsZS1TdWl0ZS8tL2Js
b2IvbWFzdGVyL1JfMjFfMTcuYz5gXw0KPiAgICAgIC0gTWFuZGF0b3J5DQo+ICAgICAgLSBVc2Ug
b2YgdGhlIHN0cmluZyBoYW5kbGluZyBmdW5jdGlvbnMgZnJvbSA8c3RyaW5nLmg+IHNoYWxsIG5v
dCByZXN1bHQgaW4NCj4gDQoNCkFwYXJ0IGZyb20gdGhlbSwgdGhhdCBJIGd1ZXNzIGNhbiBiZSBh
ZGRyZXNzZWQgb24gY29tbWl0LCBpdCBsb29rcyBnb29kIHRvIG1lLA0KSeKAmXZlIGFsc28gdGVz
dGVkIHRoYXQgdGhlIGNoYW5nZXMgZG9u4oCZdCBicmVhayBjb252ZXJ0X21pc3JhX2RvYy5weSBi
dWlsZC4NCg0KUmV2aWV3ZWQtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNv
bT4NClRlc3RlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0KDQoN
Cg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 09:55:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 09:55:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707294.1105057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx20D-0005wG-NE; Wed, 17 Apr 2024 09:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707294.1105057; Wed, 17 Apr 2024 09:54:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx20D-0005w9-KY; Wed, 17 Apr 2024 09:54:53 +0000
Received: by outflank-mailman (input) for mailman id 707294;
 Wed, 17 Apr 2024 09:54:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rx20B-0005vn-Us
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 09:54:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx20B-0001pX-Dy; Wed, 17 Apr 2024 09:54:51 +0000
Received: from [15.248.3.90] (helo=[10.24.67.26])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx20B-0002tL-4v; Wed, 17 Apr 2024 09:54:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JO4yvtfgs1RUxJlQy6DCbV3WvAYRqf3TZjtkF8f2Xeo=; b=qk+V9qX999eZ5/pEI7irJ65qot
	9sDhwd/EUtpEaaS8303mkBlxndUHnuB1HXKsYp0bkxyza/6P1SH+wvT2NJOOFolLCB21+W2jpG8te
	pJZLeG0iZ18cKi74/hEPCNqFT2b2UCfdLWsUPZXP3YQNtI2eI0aq8OxpS99VcjEl80b4=;
Message-ID: <45d2bcc7-1d46-413d-bad1-db99dc8f410f@xen.org>
Date: Wed, 17 Apr 2024 10:54:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: arm: Update where Xen should be loaded in memory
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240412061624.3441-1-michal.orzel@amd.com>
 <486125C0-3DB3-4A64-8B6F-8BA8A55EC1CB@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <486125C0-3DB3-4A64-8B6F-8BA8A55EC1CB@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 12/04/2024 07:41, Luca Fancellu wrote:
> 
> 
>> On 12 Apr 2024, at 07:16, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Since commit 6cd046c501bc ("xen/arm: Enlarge identity map space to 10TB")
>> Xen can be loaded below 10 TiB. Update docs accordingly.
>>
>> Take the opportunity to update stale links to Linux docs.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Committed. Thanks!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707301.1105083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2A9-0007tS-5h; Wed, 17 Apr 2024 10:05:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707301.1105083; Wed, 17 Apr 2024 10: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 1rx2A9-0007tA-2j; Wed, 17 Apr 2024 10:05:09 +0000
Received: by outflank-mailman (input) for mailman id 707301;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2A7-0007lO-Qt
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:07 +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 f690ad80-fca1-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 12:05:05 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-516d1c8dc79so6930676e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:05 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03: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: f690ad80-fca1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348304; x=1713953104; 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=ilrN9NnvfXEI2YCLUqiJ/6oBw6G5Xj4ysFR2ccg0NLE=;
        b=PEnZkLbZWG8ZWUxWHIujQVBCMZjcWExRYeUWscEmXDhtAMupTwSgC+qc4MAaXWXEkb
         jgs+7jFbM7sDqTfmtwfDAT8jsMHqdwyAnkUgq3Znvvu2by5wY2WgQi59nFaWid6nStB3
         73xHshqwFK/cCFaIX2cXvpU/R1N/7FZE6W3YTadWA81cYy9eHaJaioLc6DAlDyOGo+US
         wCRHf0G6lBZzVdtmlqC4bqYEP3RJPqvHGkzctJRWAy0dn4Wlee9rZ2vpnfJVms9Y104h
         rzz5CbwNBRmAU1ahphJAiPEETJGMr15KqboJtAHsnXreky2jNC6MvHrkzEwLNJ7HjGbE
         o9Ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348304; x=1713953104;
        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=ilrN9NnvfXEI2YCLUqiJ/6oBw6G5Xj4ysFR2ccg0NLE=;
        b=TkqYFsygY16/t5yc5d6lKUVmu9shcPVPe4+fsZwxoDOvzv2baKb8EUzaaKyoWndgCD
         Sfd0oP+oJNTwKf+R3zQb9tEWZfaQO7JrtQY2WyhK5l/BnCaJZYbGcZd+t2a3dMK85AUf
         8FydCTK6GO/Nz+9fKVVkoIzarTJn3lWjaiuqnMJQmGakQM2cohJilG5M6sYQmbBz5rz4
         e4im+4y9/VM6KZJoUdGCmv4TMDbN8ujZ0lYleaDJpI7GKSyYPUZCuk5iAej1rO9luT4y
         6j078FYV+kp0aE3rKPxqRsJzZr0cCUWH0FP1Rp97RmHcNAhkck/DTP9CF5l+VKYDxqzf
         T0Wg==
X-Gm-Message-State: AOJu0YwGAn6y/2rW+aAAX79+cfpVS7fihUD0832ouDjDnnlFp/YsggSQ
	F4GspP/sr4aTUrXP5V+6Reoa8UlTXmtUmcnOyQblSwIH+anOO4bCO7Gh3w==
X-Google-Smtp-Source: AGHT+IHhlXgqea6uS3kh+dD/a/FLU1oYZ70r3Mi0xjnyJnfPLkxTeuMeixMfDlicUymLSqAJi48kQw==
X-Received: by 2002:a19:740b:0:b0:516:bea2:5931 with SMTP id v11-20020a19740b000000b00516bea25931mr9950045lfe.23.1713348303973;
        Wed, 17 Apr 2024 03:05:03 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Rahul Singh <rahul.singh@arm.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v8 00/17] Enable build of full Xen for RISC-V
Date: Wed, 17 Apr 2024 12:04:43 +0200
Message-ID: <cover.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series performs all of the additions necessary to drop the
build overrides for RISCV and enable the full Xen build. Except in cases
where compatibile implementations already exist (e.g. atomic.h and
bitops.h), the newly added definitions are simple.

The patch series is based on the following patch series:
- [PATCH 0/7] xen/bitops: Reduce the mess, starting with ffs() [1]
- [PATCH] move __read_mostly to xen/cache.h  [2]

Right now, the patch series doesn't have a direct dependency on [2] and it
provides __read_mostly in the patch:
    [PATCH v3 26/34] xen/riscv: add definition of __read_mostly
However, it will be dropped as soon as [2] is merged or at least when the
final version of the patch [2] is provided.
As an option, it can be considered to merge arch-specific patch and then just
rebase [2] and drop arch-specific changes.

[1] https://lore.kernel.org/xen-devel/20240313172716.2325427-1-andrew.cooper3@citrix.com/T/#t
[2] https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com/

---
Changes in V7:
 - Patch was merged to staging:
    - [PATCH v7 01/19] automation: introduce fixed randconfig for RISC-V
    - [PATCH v7 03/19] xen/riscv: introduce extenstion support check by compiler
 - Other changes are specific to specific patches. Please look at changes for
   specific patch.
 - Update the commit message:
     - drop the dependency from STATIC_ASSERT_UNREACHABLE() implementation.
     - Add suggestion to merge arch-specific changes related to __read_mostly.
---
Changes in V7:
 - Patch was merged to staging:
   [PATCH v6 15/20] xen/riscv: add minimal stuff to processor.h to build full Xen.
 - Other changes are specific to specific patches. Please look at changes for
   specific patch.
---
Changes in V6:
 - Update the cover letter message: drop already merged dependecies and add
   a new one.
 - Patches were merged to staging:
   - [PATCH v5 02/23] xen/riscv: use some asm-generic headers ( even v4 was
     merged to staging branch, I just wasn't apply changes on top of the latest staging branch )
   - [PATCH v5 03/23] xen/riscv: introduce nospec.h
   - [PATCH v5 10/23] xen/riscv: introduces acrquire, release and full barriers
 - Introduce new patches:
   - xen/riscv: introduce extenstion support check by compiler
   - xen/bitops: put __ffs() and ffz() into linux compatible header
   - xen/bitops: implement fls{l}() in common logic
 - The following patches were dropped:
   - drop some patches related to bitops operations as they were introduced in another
     patch series [...]
   - introduce new version for generic __ffs(), ffz() and fls{l}().
 - Merge patch from patch series "[PATCH v9 0/7]  Introduce generic headers" to this patch
   series as only one patch left in the generic headers patch series and it is more about
   RISC-V.
 - Other changes are specific to specific patches. please look at specific patch.
---
Changes in V5:
 - Update the cover letter as one of the dependencies were merged to staging.
 - Was introduced asm-generic for atomic ops and separate patches for asm-generic bit ops
 - Moved fence.h to separate patch to deal with some patches dependecies on fence.h
 - Patches were dropped as they were merged to staging:
   * [PATCH v4 03/30] xen: add support in public/hvm/save.h for PPC and RISC-V
   * [PATCH v4 04/30] xen/riscv: introduce cpufeature.h
   * [PATCH v4 05/30] xen/riscv: introduce guest_atomics.h
   * [PATCH v4 06/30] xen: avoid generation of empty asm/iommu.h
   * [PATCH v4 08/30] xen/riscv: introduce setup.h
   * [PATCH v4 10/30] xen/riscv: introduce flushtlb.h
   * [PATCH v4 11/30] xen/riscv: introduce smp.h
   * [PATCH v4 15/30] xen/riscv: introduce irq.h
   * [PATCH v4 16/30] xen/riscv: introduce p2m.h
   * [PATCH v4 17/30] xen/riscv: introduce regs.h
   * [PATCH v4 18/30] xen/riscv: introduce time.h
   * [PATCH v4 19/30] xen/riscv: introduce event.h
   * [PATCH v4 22/30] xen/riscv: define an address of frame table
 - Other changes are specific to specific patches. please look at specific patch
---
Changes in V4:
 - Update the cover letter message: new patch series dependencies.
 - Some patches were merged to staging, so they were dropped in this patch series:
     [PATCH v3 09/34] xen/riscv: introduce system.h
     [PATCH v3 18/34] xen/riscv: introduce domain.h
     [PATCH v3 19/34] xen/riscv: introduce guest_access.h
 - Was sent out of this patch series:
     [PATCH v3 16/34] xen/lib: introduce generic find next bit operations
 - [PATCH v3 17/34] xen/riscv: add compilation of generic find-next-bit.c was
   droped as CONFIG_GENERIC_FIND_NEXT_BIT was dropped.
 - All other changes are specific to a specific patch.
---
Changes in V3:
 - Update the cover letter message
 - The following patches were dropped as they were merged to staging:
    [PATCH v2 03/39] xen/riscv:introduce asm/byteorder.h
    [PATCH v2 04/39] xen/riscv: add public arch-riscv.h
    [PATCH v2 05/39] xen/riscv: introduce spinlock.h
    [PATCH v2 20/39] xen/riscv: define bug frame tables in xen.lds.S
    [PATCH v2 34/39] xen: add RISCV support for pmu.h
    [PATCH v2 35/39] xen: add necessary headers to common to build full Xen for RISC-V
 - Instead of the following patches were introduced new:
    [PATCH v2 10/39] xen/riscv: introduce asm/iommu.h
    [PATCH v2 11/39] xen/riscv: introduce asm/nospec.h
 - remove "asm/"  for commit messages which start with "xen/riscv:"
 - code style updates.
 - add emulation of {cmp}xchg_* for 1 and 2 bytes types.
 - code style fixes.
 - add SPDX and footer for the newly added headers.
 - introduce generic find-next-bit.c.
 - some other mionor changes. ( details please find in a patch )
---
Changes in V2:
  - Drop the following patches as they are the part of [2]:
      [PATCH v1 06/57] xen/riscv: introduce paging.h
      [PATCH v1 08/57] xen/riscv: introduce asm/device.h
      [PATCH v1 10/57] xen/riscv: introduce asm/grant_table.h
      [PATCH v1 12/57] xen/riscv: introduce asm/hypercall.h
      [PATCH v1 13/57] xen/riscv: introduce asm/iocap.h
      [PATCH v1 15/57] xen/riscv: introduce asm/mem_access.h
      [PATCH v1 18/57] xen/riscv: introduce asm/random.h
      [PATCH v1 21/57] xen/riscv: introduce asm/xenoprof.h
      [PATCH v1 24/57] xen/riscv: introduce asm/percpu.h
      [PATCH v1 29/57] xen/riscv: introduce asm/hardirq.h
      [PATCH v1 33/57] xen/riscv: introduce asm/altp2m.h
      [PATCH v1 38/57] xen/riscv: introduce asm/monitor.h
      [PATCH v1 39/57] xen/riscv: introduce asm/numa.h
      [PATCH v1 42/57] xen/riscv: introduce asm/softirq.h
  - xen/lib.h in most of the cases were changed to xen/bug.h as
    mostly functionilty of bug.h is used.
  - align arch-riscv.h with Arm's version of it.
  - change the Author of commit with introduction of asm/atomic.h.
  - update some definition from spinlock.h.
  - code style changes.
---

Oleksii Kurochko (17):
  xen/riscv: disable unnecessary configs
  xen: introduce generic non-atomic test_*bit()
  xen/bitops: implement fls{l}() in common logic
  xen/bitops: put __ffs() into linux compatible header
  xen/riscv: introduce bitops.h
  xen/riscv: introduce cmpxchg.h
  xen/riscv: introduce io.h
  xen/riscv: introduce atomic.h
  xen/riscv: introduce monitor.h
  xen/riscv: add definition of __read_mostly
  xen/riscv: add required things to current.h
  xen/riscv: add minimal stuff to page.h to build full Xen
  xen/riscv: add minimal stuff to mm.h to build full Xen
  xen/riscv: introduce vm_event_*() functions
  xen/riscv: add minimal amount of stubs to build full Xen
  xen/riscv: enable full Xen build
  xen/README: add compiler and binutils versions for RISC-V64

 README                                  |   4 +
 automation/gitlab-ci/build.yaml         |   4 +
 xen/arch/arm/arm64/livepatch.c          |   1 -
 xen/arch/arm/include/asm/arm32/bitops.h |   2 +-
 xen/arch/arm/include/asm/arm64/bitops.h |  27 +-
 xen/arch/arm/include/asm/bitops.h       |  74 +----
 xen/arch/ppc/include/asm/bitops.h       |  76 -----
 xen/arch/ppc/include/asm/page.h         |   2 +-
 xen/arch/ppc/mm-radix.c                 |   2 +-
 xen/arch/riscv/Makefile                 |  18 +-
 xen/arch/riscv/arch.mk                  |   4 -
 xen/arch/riscv/configs/tiny64_defconfig |  12 +-
 xen/arch/riscv/early_printk.c           | 168 ----------
 xen/arch/riscv/include/asm/atomic.h     | 281 ++++++++++++++++
 xen/arch/riscv/include/asm/bitops.h     | 137 ++++++++
 xen/arch/riscv/include/asm/cache.h      |   2 +
 xen/arch/riscv/include/asm/cmpxchg.h    | 237 ++++++++++++++
 xen/arch/riscv/include/asm/config.h     |   2 +
 xen/arch/riscv/include/asm/current.h    |  19 ++
 xen/arch/riscv/include/asm/domain.h     |   2 +
 xen/arch/riscv/include/asm/io.h         | 168 ++++++++++
 xen/arch/riscv/include/asm/mm.h         | 240 ++++++++++++++
 xen/arch/riscv/include/asm/monitor.h    |  26 ++
 xen/arch/riscv/include/asm/p2m.h        |   2 +
 xen/arch/riscv/include/asm/page.h       |  19 ++
 xen/arch/riscv/include/asm/types.h      |   4 +
 xen/arch/riscv/mm.c                     |  52 ++-
 xen/arch/riscv/setup.c                  |  10 +-
 xen/arch/riscv/stubs.c                  | 415 ++++++++++++++++++++++++
 xen/arch/riscv/traps.c                  |  25 ++
 xen/arch/riscv/vm_event.c               |  19 ++
 xen/arch/x86/include/asm/bitops.h       |  36 +-
 xen/common/bitops.c                     |  22 ++
 xen/drivers/passthrough/arm/smmu-v3.c   |   2 +
 xen/include/asm-generic/atomic-ops.h    |  97 ++++++
 xen/include/xen/bitops.h                | 151 +++++++++
 xen/include/xen/linux-compat.h          |   2 +
 xen/include/xen/types.h                 |   5 +
 xen/lib/find-next-bit.c                 |   3 +
 39 files changed, 1992 insertions(+), 380 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/atomic.h
 create mode 100644 xen/arch/riscv/include/asm/bitops.h
 create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h
 create mode 100644 xen/arch/riscv/include/asm/io.h
 create mode 100644 xen/arch/riscv/include/asm/monitor.h
 create mode 100644 xen/arch/riscv/stubs.c
 create mode 100644 xen/arch/riscv/vm_event.c
 create mode 100644 xen/include/asm-generic/atomic-ops.h

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707302.1105096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AA-0008Ex-C8; Wed, 17 Apr 2024 10:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707302.1105096; Wed, 17 Apr 2024 10: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 1rx2AA-0008Eq-9T; Wed, 17 Apr 2024 10:05:10 +0000
Received: by outflank-mailman (input) for mailman id 707302;
 Wed, 17 Apr 2024 10: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2A9-0007lI-1e
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:09 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f83744c7-fca1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:08 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-518b9527c60so4406886e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:08 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: f83744c7-fca1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348307; x=1713953107; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5adx25fr/wfz7f4xSiA3gP6b9sIwZkI9BbkpB5bnGdQ=;
        b=eL23N6sz/4feV/UHGVJQYCgQPerjOabc/Hh8tC45FB/odrODmnStckUTLu/1cIzIUo
         pR9bQ5lHvc3b8xpTSosoh4veHifqZzoOCs/hh+w4IfTK+hQ4qiO+gl5CGB8UQsFpAGIV
         9QzlcweMshq56wR2eGtPIjrYvjAWCCIHBsbk1bO1H5L9krBtgRV/O8XMBnstPqSLOX3b
         VOSBcHO3wqJ9ufStPrdy5Q7XXG4UFdiwNhoDPEb0996KHXht3I5330KkLcfXhSFcdSQn
         7jubxwuOKYW9ZHGn1PaP+evrj4TCctNClISJ7IPE58kzo3mIvf02m+O3r0h8C/pfYuyX
         DhCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348307; x=1713953107;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=5adx25fr/wfz7f4xSiA3gP6b9sIwZkI9BbkpB5bnGdQ=;
        b=dqOr5koc8N5n5GawajDRdLAHJqAB5WP/CobxW220S2050Glf+vbdk6PPOsA88HNaOj
         EA60qMS9j98mrlc/51d0X5XHi7Ud1qFJIsiM0d7H8ZufvpME4QAaZJFdA3dt7UGZf9SG
         8hvWmlLGUw7QABw1yIcKfnNcE7PX9H97UDi/jSapFQMgm5KBbkanRIfD6l7Nqld6WBw6
         w7+nRuK8mWQXxmSP0bIsd9Qo999JwdANg/NtvlfQw0yf6ECLU6h4NGI/wdXqJwPdHKb2
         6LVXQPluP51ZcnrGzYqYBll6/tXueAbmxpi97ovR2+Ihwyj73Q+CFLOookPsLqzDBqlE
         EiFQ==
X-Gm-Message-State: AOJu0YxnorGbROnE1f0xrdOqvthqgTbdbE7M4q34LgXlMLA9f68XTTZF
	FJ610IHgIQpFnZOk1+YagQWU5v2pBsVPN2VI+m6uRbFRJZnRM0YlyYgYNA==
X-Google-Smtp-Source: AGHT+IHqv+tV87zwWHtvBac0yl2JC5RhmbmABUwwWchebqFExK+K+h1ixV+trqLJFPFY0UxK7R1hsg==
X-Received: by 2002:a19:ca58:0:b0:516:d0ec:5308 with SMTP id h24-20020a19ca58000000b00516d0ec5308mr11734206lfj.10.1713348306456;
        Wed, 17 Apr 2024 03:05:06 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <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>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v8 02/17] xen: introduce generic non-atomic test_*bit()
Date: Wed, 17 Apr 2024 12:04:45 +0200
Message-ID: <1a0977e3cf5a2de9f760ca5ec89a0d096894a9e3.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following generic functions were introduced:
* test_bit
* generic__test_and_set_bit
* generic__test_and_clear_bit
* generic__test_and_change_bit

Also, the patch introduces the following generics which are
used by the functions mentioned above:
* BITOP_BITS_PER_WORD
* BITOP_MASK
* BITOP_WORD
* BITOP_TYPE

These functions and macros can be useful for architectures
that don't have corresponding arch-specific instructions.

Because of that x86 has the following check in the macros test_bit(),
__test_and_set_bit(), __test_and_clear_bit(), __test_and_change_bit():
    if ( bitop_bad_size(addr) ) __bitop_bad_size();
It was necessary to make bitop bad size check generic too, so
arch_check_bitop_size() was introduced and defined as empty for other
architectures except x86.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
   The context ("* Find First Set bit.  Bits are labelled from 1." in xen/bitops.h )
   suggests there's a dependency on an uncommitted patch. It happens becuase the current patch
   series is based on Andrew's patch series ( https://lore.kernel.org/xen-devel/20240313172716.2325427-1-andrew.cooper3@citrix.com/T/#t ),
   but if everything is okay with the current one patch it can be merged without Andrew's patch series being merged.
---
 Changes in V8:
  - drop __pure for function which uses volatile.
  - drop unnessary () in generic__test_and_change_bit() for addr casting.
  - update prototype of generic_test_bit() and test_bit(): now it returns bool
    instead of int.
  - update generic_test_bit() to use BITOP_MASK().
  - Deal with fls{l} changes: it should be in the patch with introduced generic fls{l}.
  - add a footer with explanation of dependency on an uncommitted patch after Signed-off.
  - abstract bitop_size().
  - move BITOP_TYPE define to <xen/types.h>.
---
 Changes in V7:
  - move everything to xen/bitops.h to follow the same approach for all generic
    bit ops.
  - put together BITOP_BITS_PER_WORD and bitops_uint_t.
  - make BITOP_MASK more generic.
  - drop #ifdef ... #endif around BITOP_MASK, BITOP_WORD as they are generic
    enough.
  - drop "_" for generic__{test_and_set_bit,...}().
  - drop " != 0" for functions which return bool.
  - add volatile during the cast for generic__{...}().
  - update the commit message.
  - update arch related code to follow the proposed generic approach.
---
 Changes in V6:
  - Nothing changed ( only rebase )
---
 Changes in V5:
   - new patch
---
 xen/arch/arm/arm64/livepatch.c    |   1 -
 xen/arch/arm/include/asm/bitops.h |  67 ----------------
 xen/arch/ppc/include/asm/bitops.h |  52 ------------
 xen/arch/ppc/include/asm/page.h   |   2 +-
 xen/arch/ppc/mm-radix.c           |   2 +-
 xen/arch/x86/include/asm/bitops.h |  30 +++----
 xen/include/xen/bitops.h          | 127 ++++++++++++++++++++++++++++++
 xen/include/xen/types.h           |   5 ++
 8 files changed, 145 insertions(+), 141 deletions(-)

diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index df2cebedde..4bc8ed9be5 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -10,7 +10,6 @@
 #include <xen/mm.h>
 #include <xen/vmap.h>
 
-#include <asm/bitops.h>
 #include <asm/byteorder.h>
 #include <asm/insn.h>
 #include <asm/livepatch.h>
diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 5104334e48..8e16335e76 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -22,9 +22,6 @@
 #define __set_bit(n,p)            set_bit(n,p)
 #define __clear_bit(n,p)          clear_bit(n,p)
 
-#define BITOP_BITS_PER_WORD     32
-#define BITOP_MASK(nr)          (1UL << ((nr) % BITOP_BITS_PER_WORD))
-#define BITOP_WORD(nr)          ((nr) / BITOP_BITS_PER_WORD)
 #define BITS_PER_BYTE           8
 
 #define ADDR (*(volatile int *) addr)
@@ -76,70 +73,6 @@ bool test_and_change_bit_timeout(int nr, volatile void *p,
 bool clear_mask16_timeout(uint16_t mask, volatile void *p,
                           unsigned int max_try);
 
-/**
- * __test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_set_bit(int nr, volatile void *addr)
-{
-        unsigned int mask = BITOP_MASK(nr);
-        volatile unsigned int *p =
-                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
-        unsigned int old = *p;
-
-        *p = old | mask;
-        return (old & mask) != 0;
-}
-
-/**
- * __test_and_clear_bit - Clear a bit and return its old value
- * @nr: Bit to clear
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_clear_bit(int nr, volatile void *addr)
-{
-        unsigned int mask = BITOP_MASK(nr);
-        volatile unsigned int *p =
-                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
-        unsigned int old = *p;
-
-        *p = old & ~mask;
-        return (old & mask) != 0;
-}
-
-/* WARNING: non atomic and it can be reordered! */
-static inline int __test_and_change_bit(int nr,
-                                            volatile void *addr)
-{
-        unsigned int mask = BITOP_MASK(nr);
-        volatile unsigned int *p =
-                ((volatile unsigned int *)addr) + BITOP_WORD(nr);
-        unsigned int old = *p;
-
-        *p = old ^ mask;
-        return (old & mask) != 0;
-}
-
-/**
- * test_bit - Determine whether a bit is set
- * @nr: bit number to test
- * @addr: Address to start counting from
- */
-static inline int test_bit(int nr, const volatile void *addr)
-{
-        const volatile unsigned int *p = (const volatile unsigned int *)addr;
-        return 1UL & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)));
-}
-
 /*
  * On ARMv5 and above those functions can be implemented around
  * the clz instruction for much better code efficiency.
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index 989d341a44..e2b6473c8c 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -15,9 +15,6 @@
 #define __set_bit(n, p)         set_bit(n, p)
 #define __clear_bit(n, p)       clear_bit(n, p)
 
-#define BITOP_BITS_PER_WORD     32
-#define BITOP_MASK(nr)          (1U << ((nr) % BITOP_BITS_PER_WORD))
-#define BITOP_WORD(nr)          ((nr) / BITOP_BITS_PER_WORD)
 #define BITS_PER_BYTE           8
 
 /* PPC bit number conversion */
@@ -69,17 +66,6 @@ static inline void clear_bit(int nr, volatile void *addr)
     clear_bits(BITOP_MASK(nr), (volatile unsigned int *)addr + BITOP_WORD(nr));
 }
 
-/**
- * test_bit - Determine whether a bit is set
- * @nr: bit number to test
- * @addr: Address to start counting from
- */
-static inline int test_bit(int nr, const volatile void *addr)
-{
-    const volatile unsigned int *p = addr;
-    return 1 & (p[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD - 1)));
-}
-
 static inline unsigned int test_and_clear_bits(
     unsigned int mask,
     volatile unsigned int *p)
@@ -133,44 +119,6 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
         (volatile unsigned int *)addr + BITOP_WORD(nr)) != 0;
 }
 
-/**
- * __test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_set_bit(int nr, volatile void *addr)
-{
-    unsigned int mask = BITOP_MASK(nr);
-    volatile unsigned int *p = (volatile unsigned int *)addr + BITOP_WORD(nr);
-    unsigned int old = *p;
-
-    *p = old | mask;
-    return (old & mask) != 0;
-}
-
-/**
- * __test_and_clear_bit - Clear a bit and return its old value
- * @nr: Bit to clear
- * @addr: Address to count from
- *
- * This operation is non-atomic and can be reordered.
- * If two examples of this operation race, one can appear to succeed
- * but actually fail.  You must protect multiple accesses with a lock.
- */
-static inline int __test_and_clear_bit(int nr, volatile void *addr)
-{
-    unsigned int mask = BITOP_MASK(nr);
-    volatile unsigned int *p = (volatile unsigned int *)addr + BITOP_WORD(nr);
-    unsigned int old = *p;
-
-    *p = old & ~mask;
-    return (old & mask) != 0;
-}
-
 #define flsl(x) generic_flsl(x)
 #define fls(x) generic_fls(x)
 
diff --git a/xen/arch/ppc/include/asm/page.h b/xen/arch/ppc/include/asm/page.h
index 890e285051..482053b023 100644
--- a/xen/arch/ppc/include/asm/page.h
+++ b/xen/arch/ppc/include/asm/page.h
@@ -4,7 +4,7 @@
 
 #include <xen/types.h>
 
-#include <asm/bitops.h>
+#include <xen/bitops.h>
 #include <asm/byteorder.h>
 
 #define PDE_VALID     PPC_BIT(0)
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index daa411a6fa..3cd8c4635a 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -1,11 +1,11 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/bitops.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
 #include <xen/mm.h>
 #include <xen/types.h>
 #include <xen/lib.h>
 
-#include <asm/bitops.h>
 #include <asm/byteorder.h>
 #include <asm/early_printk.h>
 #include <asm/page.h>
diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index dd439b69a0..2b2d9219ef 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -21,6 +21,8 @@
 
 extern void __bitop_bad_size(void);
 #define bitop_bad_size(addr) (sizeof(*(addr)) < 4)
+#define arch_check_bitop_size(addr) \
+    if ( bitop_bad_size(addr) ) __bitop_bad_size();
 
 /**
  * set_bit - Atomically set a bit in memory
@@ -175,7 +177,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr)
 })
 
 /**
- * __test_and_set_bit - Set a bit and return its old value
+ * arch__test_and_set_bit - Set a bit and return its old value
  * @nr: Bit to set
  * @addr: Address to count from
  *
@@ -183,7 +185,7 @@ static inline int test_and_set_bit(int nr, volatile void *addr)
  * If two examples of this operation race, one can appear to succeed
  * but actually fail.  You must protect multiple accesses with a lock.
  */
-static inline int __test_and_set_bit(int nr, void *addr)
+static inline int arch__test_and_set_bit(int nr, volatile void *addr)
 {
     int oldbit;
 
@@ -194,10 +196,7 @@ static inline int __test_and_set_bit(int nr, void *addr)
 
     return oldbit;
 }
-#define __test_and_set_bit(nr, addr) ({                 \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
-    __test_and_set_bit(nr, addr);                       \
-})
+#define arch__test_and_set_bit arch__test_and_set_bit
 
 /**
  * test_and_clear_bit - Clear a bit and return its old value
@@ -224,7 +223,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr)
 })
 
 /**
- * __test_and_clear_bit - Clear a bit and return its old value
+ * arch__test_and_clear_bit - Clear a bit and return its old value
  * @nr: Bit to set
  * @addr: Address to count from
  *
@@ -232,7 +231,7 @@ static inline int test_and_clear_bit(int nr, volatile void *addr)
  * If two examples of this operation race, one can appear to succeed
  * but actually fail.  You must protect multiple accesses with a lock.
  */
-static inline int __test_and_clear_bit(int nr, void *addr)
+static inline int arch__test_and_clear_bit(int nr, volatile void *addr)
 {
     int oldbit;
 
@@ -243,13 +242,10 @@ static inline int __test_and_clear_bit(int nr, void *addr)
 
     return oldbit;
 }
-#define __test_and_clear_bit(nr, addr) ({               \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
-    __test_and_clear_bit(nr, addr);                     \
-})
+#define arch__test_and_clear_bit arch__test_and_clear_bit
 
 /* WARNING: non atomic and it can be reordered! */
-static inline int __test_and_change_bit(int nr, void *addr)
+static inline int arch__test_and_change_bit(int nr, volatile void *addr)
 {
     int oldbit;
 
@@ -260,10 +256,7 @@ static inline int __test_and_change_bit(int nr, void *addr)
 
     return oldbit;
 }
-#define __test_and_change_bit(nr, addr) ({              \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
-    __test_and_change_bit(nr, addr);                    \
-})
+#define arch__test_and_change_bit arch__test_and_change_bit
 
 /**
  * test_and_change_bit - Change a bit and return its new value
@@ -307,8 +300,7 @@ static inline int variable_test_bit(int nr, const volatile void *addr)
     return oldbit;
 }
 
-#define test_bit(nr, addr) ({                           \
-    if ( bitop_bad_size(addr) ) __bitop_bad_size();     \
+#define arch_test_bit(nr, addr) ({                      \
     __builtin_constant_p(nr) ?                          \
         constant_test_bit(nr, addr) :                   \
         variable_test_bit(nr, addr);                    \
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index f14ad0d33a..a41ec44064 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -65,10 +65,137 @@ static inline int generic_flsl(unsigned long x)
  * scope
  */
 
+#define BITOP_MASK(nr)  ((bitop_uint_t)1 << ((nr) % BITOP_BITS_PER_WORD))
+
+#define BITOP_WORD(nr)  ((nr) / BITOP_BITS_PER_WORD)
+
 /* --------------------- Please tidy above here --------------------- */
 
 #include <asm/bitops.h>
 
+#ifndef arch_check_bitop_size
+#define arch_check_bitop_size(addr)
+#endif
+
+/**
+ * generic__test_and_set_bit - Set a bit and return its old value
+ * @nr: Bit to set
+ * @addr: Address to count from
+ *
+ * This operation is non-atomic and can be reordered.
+ * If two examples of this operation race, one can appear to succeed
+ * but actually fail.  You must protect multiple accesses with a lock.
+ */
+static always_inline bool
+generic__test_and_set_bit(unsigned long nr, volatile void *addr)
+{
+    bitop_uint_t mask = BITOP_MASK(nr);
+    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);
+    bitop_uint_t old = *p;
+
+    *p = old | mask;
+    return (old & mask);
+}
+
+/**
+ * generic__test_and_clear_bit - Clear a bit and return its old value
+ * @nr: Bit to clear
+ * @addr: Address to count from
+ *
+ * This operation is non-atomic and can be reordered.
+ * If two examples of this operation race, one can appear to succeed
+ * but actually fail.  You must protect multiple accesses with a lock.
+ */
+static always_inline bool
+generic__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
+{
+    bitop_uint_t mask = BITOP_MASK(nr);
+    volatile bitop_uint_t *p = (volatile bitop_uint_t *)addr + BITOP_WORD(nr);
+    bitop_uint_t old = *p;
+
+    *p = old & ~mask;
+    return (old & mask);
+}
+
+/* WARNING: non atomic and it can be reordered! */
+static always_inline bool
+generic__test_and_change_bit(unsigned long nr, volatile void *addr)
+{
+    bitop_uint_t mask = BITOP_MASK(nr);
+    volatile bitop_uint_t *p = (volatile bitop_uint_t *)addr + BITOP_WORD(nr);
+    bitop_uint_t old = *p;
+
+    *p = old ^ mask;
+    return (old & mask);
+}
+/**
+ * generic_test_bit - Determine whether a bit is set
+ * @nr: bit number to test
+ * @addr: Address to start counting from
+ */
+static always_inline bool generic_test_bit(int nr, const volatile void *addr)
+{
+    bitop_uint_t mask = BITOP_MASK(nr);
+    volatile bitop_uint_t *p = (volatile bitop_uint_t *)addr + BITOP_WORD(nr);
+
+    return (*p & mask);
+}
+
+static always_inline bool
+__test_and_set_bit(unsigned long nr, volatile void *addr)
+{
+#ifndef arch__test_and_set_bit
+#define arch__test_and_set_bit generic__test_and_set_bit
+#endif
+
+    return arch__test_and_set_bit(nr, addr);
+}
+#define __test_and_set_bit(nr, addr) ({             \
+    arch_check_bitop_size(addr);                    \
+    __test_and_set_bit(nr, addr);                   \
+})
+
+static always_inline bool
+__test_and_clear_bit(bitop_uint_t nr, volatile void *addr)
+{
+#ifndef arch__test_and_clear_bit
+#define arch__test_and_clear_bit generic__test_and_clear_bit
+#endif
+
+    return arch__test_and_clear_bit(nr, addr);
+}
+#define __test_and_clear_bit(nr, addr) ({           \
+    arch_check_bitop_size(addr);                    \
+    __test_and_clear_bit(nr, addr);                 \
+})
+
+static always_inline bool
+__test_and_change_bit(unsigned long nr, volatile void *addr)
+{
+#ifndef arch__test_and_change_bit
+#define arch__test_and_change_bit generic__test_and_change_bit
+#endif
+
+    return arch__test_and_change_bit(nr, addr);
+}
+#define __test_and_change_bit(nr, addr) ({              \
+    arch_check_bitop_size(addr);                        \
+    __test_and_change_bit(nr, addr);                    \
+})
+
+static always_inline bool test_bit(int nr, const volatile void *addr)
+{
+#ifndef arch_test_bit
+#define arch_test_bit generic_test_bit
+#endif
+
+    return arch_test_bit(nr, addr);
+}
+#define test_bit(nr, addr) ({                           \
+    arch_check_bitop_size(addr);                        \
+    test_bit(nr, addr);                                 \
+})
+
 /*
  * Find First Set bit.  Bits are labelled from 1.
  */
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 449947b353..7a1f5021bd 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -64,6 +64,11 @@ typedef __u64 __be64;
 
 typedef unsigned int __attribute__((__mode__(__pointer__))) uintptr_t;
 
+#ifndef BITOP_TYPE
+    #define BITOP_BITS_PER_WORD 32
+    typedef uint32_t bitop_uint_t;
+#endif
+
 #define test_and_set_bool(b)   xchg(&(b), true)
 #define test_and_clear_bool(b) xchg(&(b), false)
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707300.1105076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2A8-0007lb-NR; Wed, 17 Apr 2024 10:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707300.1105076; Wed, 17 Apr 2024 10: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 1rx2A8-0007lU-K7; Wed, 17 Apr 2024 10:05:08 +0000
Received: by outflank-mailman (input) for mailman id 707300;
 Wed, 17 Apr 2024 10: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2A7-0007lI-5S
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:07 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f72ac45c-fca1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:06 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5194cebd6caso430371e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:06 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03: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: f72ac45c-fca1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348305; x=1713953105; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KHB/UxAL8E3rbDnKIaIo6e50EVsTREcWNgCcpnb5Lfw=;
        b=c7AfCmmGGlvKK6n4lF3Tj+xKbjZSK2IJHswBntBlkk6dcOgUf0DsSgWaD8y0R9dDYY
         qoWF98F5jta7a1x1GpG1U+6atCrz07cExJ/Jii4mtirzWqhVohte6ZlhI/WjKWrmQYmf
         79kEqK6sueyKFpaqcbxm55BnK9u86LHiXniPiqtPliV1z0NnBd8c710NC7YMKue/Ud9H
         9d/NrxchrsmrF8wMqZYNe6mFQcufKDZnSDt54wMusS9OQn6YB3+gOncwVT2NOFoBSL0K
         Hn2A6J2NoZqSc5pSmSQAo4rdRJDWvLyK9uYrwG9WI+59BPJyFyAXYrXFk/O7BMIhaak1
         IqtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348305; x=1713953105;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KHB/UxAL8E3rbDnKIaIo6e50EVsTREcWNgCcpnb5Lfw=;
        b=Ql75SgEf0D4pzFi46KpleEPd/ZGss1BA2R+coV87L7jey4Kl6j5a9OSQJkR1ZSeCR9
         WFiwVGH7MdOLG43HbJSPjxB+19O4JHYSO6BRX2Je+yA1xR2dxc/rxo2lHDrpljhPL9Kb
         V2KKh1bI9ypycUyJkbg0FrWgeoA4H0i3V/iEYjXlFKyvgoC9J/R9nQBjzlVtzwFTkXAW
         vG8AOZqnhXYQtTRLBkyUVxQHjK+yLesVwbECy+cVjgzrgYVoNL2A6InH9kTc7Cd2w9CL
         3fJXZoY/x4QvT6xhQFz6l+3ALU6cHfmcZsUg0FglsO7f5iJ1RnuCc0zWi07dfUJg8f/x
         n5vQ==
X-Gm-Message-State: AOJu0YxmxRtd7PGXOr06c0G5S6TmjnsVqxHb6hurvs0pL752F0neli43
	iPcOcBhQO/KDXXZ4XVVMtnDZ+3KVUY9HVgAml3N1Ka2QpIAkjCSOuJW/PQ==
X-Google-Smtp-Source: AGHT+IFkdm2DmO95vHJ2guYJdPUzTlp6oK0crDh5h01xJ4X5iT+HQ0vhGbj+Fm6QSrgHzq+jSd5yvQ==
X-Received: by 2002:a05:6512:33cb:b0:518:d079:ffd9 with SMTP id d11-20020a05651233cb00b00518d079ffd9mr9099302lfg.13.1713348304889;
        Wed, 17 Apr 2024 03:05:04 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v8 01/17] xen/riscv: disable unnecessary configs
Date: Wed, 17 Apr 2024 12:04:44 +0200
Message-ID: <267bb71ebeeafde25284eff82408effebba4380b.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Disables unnecessary configs for two cases:
1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds (GitLab CI jobs).
2. By using tiny64_defconfig for non-randconfig builds.

Only configs which lead to compilation issues were disabled.

Remove lines related to disablement of configs which aren't affected
compilation:
 -# 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_SPECULATIVE_HARDEN_ARRAY is not set

To allow CONFIG_ARGO build happy it was included <asm/p2m.h> to <asm/domain.h>
as ARGO requires p2m_type_t ( p2m_ram_rw ) and declaration of
check_get_page_from_gfn() from xen/p2m-common.h.

Also, it was included <xen/errno.h> to asm/p2m.h as after the latter was
included to <asm/domain.h> the compilation error that EINVAL, EOPNOTSUPP
aren't declared started to occur.

CONFIG_XSM=n as it requires an introduction of:
* boot_module_find_by_kind()
* BOOTMOD_XSM
* struct bootmodule
* copy_from_paddr()
The mentioned things aren't introduced now.

CPU_BOOT_TIME_CPUPOOLS requires an introduction of cpu_physical_id() and
acpi_disabled, so it is disabled for now.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 - disabled CPU_BOOT_TIME_CPUPOOLS as it requires an introduction of cpu_physical_id() and acpi_disabled.
 - leave XSM disabled, add explanation in the commit message.
 - drop HYPFS as the patch was provided to resolve compilation issue when this condif is enabled for RISC-V.
 - include asm/p2m.h to asm/domain.h, and xen/errno.h to asm/p2m.h to drop ARGO config from
   tiny64_defconfing and build.yaml.
 - update the commit message.
---
Changes in V7:
 - Disable only configs which cause compilation issues.
 - Update the commit message.
---
Changes in V6:
 - Nothing changed. Only rebase.
---
Changes in V5:
 - Rebase and drop duplicated configs in EXTRA_FIXED_RANDCONFIG list
 - Update the commit message
---
Changes in V4:
 - Nothing changed. Only rebase
---
Changes in V3:
 - Remove EXTRA_FIXED_RANDCONFIG for non-randconfig jobs.
   For non-randconfig jobs, it is sufficient to disable configs by using the defconfig.
 - Remove double blank lines in build.yaml file before archlinux-current-gcc-riscv64-debug
---
Changes in V2:
 - update the commit message.
 - remove xen/arch/riscv/Kconfig changes.
---
 automation/gitlab-ci/build.yaml         |  4 ++++
 xen/arch/riscv/configs/tiny64_defconfig | 12 +++++-------
 xen/arch/riscv/include/asm/domain.h     |  2 ++
 xen/arch/riscv/include/asm/p2m.h        |  2 ++
 4 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index aac29ee13a..a1dce6cefd 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -515,10 +515,14 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
 .riscv-fixed-randconfig:
   variables: &riscv-fixed-randconfig
     EXTRA_FIXED_RANDCONFIG: |
+      CONFIG_BOOT_TIME_CPUPOOLS=n
       CONFIG_COVERAGE=n
       CONFIG_EXPERT=y
       CONFIG_GRANT_TABLE=n
       CONFIG_MEM_ACCESS=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_LIVEPATCH=n
+      CONFIG_XSM=n
 
 archlinux-current-gcc-riscv64:
   extends: .gcc-riscv64-cross-build
diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index 09defe236b..fc7a04872f 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -1,12 +1,10 @@
-# 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_BOOT_TIME_CPUPOOLS is not set
 # CONFIG_GRANT_TABLE is not set
-# CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
 # CONFIG_MEM_ACCESS is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_LIVEPATCH is not set
+# CONFIG_XSM is not set
 
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y
diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
index 027bfa8a93..16a9dd57aa 100644
--- a/xen/arch/riscv/include/asm/domain.h
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -5,6 +5,8 @@
 #include <xen/xmalloc.h>
 #include <public/hvm/params.h>
 
+#include <asm/p2m.h>
+
 struct hvm_domain
 {
     uint64_t              params[HVM_NR_PARAMS];
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 87b13f8979..aa86fa10a7 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -2,6 +2,8 @@
 #ifndef __ASM_RISCV_P2M_H__
 #define __ASM_RISCV_P2M_H__
 
+#include <xen/errno.h>
+
 #include <asm/page-bits.h>
 
 #define paddr_bits PADDR_BITS
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707303.1105106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AC-0008VU-OR; Wed, 17 Apr 2024 10:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707303.1105106; Wed, 17 Apr 2024 10:05:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AC-0008VL-LQ; Wed, 17 Apr 2024 10:05:12 +0000
Received: by outflank-mailman (input) for mailman id 707303;
 Wed, 17 Apr 2024 10:05:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AB-0007lI-D0
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:11 +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 f9e3595f-fca1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:10 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-516db2214e6so6721059e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:10 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: f9e3595f-fca1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348310; x=1713953110; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tJ29D9H9JMmfdu32zJ5hu2jEY5dp+g/85uLcvjzKeeQ=;
        b=lRt3HtWaHe7L/r9d4QUkPm0flbv5KyCtfipK3UX1Wk+BLAwBIf4sUBtHcouy972LKj
         1PP2dw2KCLbxaAspLgp48Xl9mZG/b2W4mU8zLvcaXVUEHz6nRyBx6ZxaeaWQc51lDBIE
         5rfJbeIoFCcZkqvIV705T2hD+E0En9ZaSbkp0tLNZm3azj7+t8KE34AE413g4yXAIa2X
         Teb8bNd1mhLmEvqlQSJKtJsB1AHc4DcpnuZWbTLui0ko7Q+eLKqHU/yH0ttA+qKSUagw
         y+Ipj1TEIoxVoOFDEbe+EBR/wlPJG5k+VBswAP5V+NtvROYRrK/yaIzJfzG4Fuljc/Wp
         ZFGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348310; x=1713953110;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tJ29D9H9JMmfdu32zJ5hu2jEY5dp+g/85uLcvjzKeeQ=;
        b=BUE4J07eTlEGTBldiJ38XfuCzGL7QfP19dQxtPcbYDVd21G063ak7Ot4dFU9JJsRyl
         FjQD56NPArE4RiHodDh3DXnB1uSDxY0q7rUryFBoWRXxNgMAkrgVz/tYkUgafzy4PwKu
         DEoBl3mXYVlLH/OolJOT+L1qs0W+70zXLP7vujURtXp/+Pgn34bOby1PLzeEowwiWXvx
         +LInCHNFHuQ35G8zSjt/qBqTiQeovw9RfYKbmvSFKVipy+gVsml7LS8je4UDBYyNE3g2
         eqClmGwig1+H4I9YMRV7x0wWLSQhPuC0tO7lcv1dBSuuxTrNhcsgM0IJeOuRJlTyoYvg
         uJZw==
X-Gm-Message-State: AOJu0Yys9ABwPsWPoijSK0OCoGS5+jTgHRRz9QYIPbjjdzzXFOzm4KeP
	SDvVFWt2O5WGS2UowveANDkk19BQ6auNILKlUZdAy1qwtzx+eS7qSfPT/g==
X-Google-Smtp-Source: AGHT+IFk3ss01QgPMVPrDGJj5xjEAP6QNC+R4zGtC7ztjhFawgFn2SdAqGdsq9uA1exC5L9A7YzkQQ==
X-Received: by 2002:a05:6512:21b2:b0:518:cb17:c50b with SMTP id c18-20020a05651221b200b00518cb17c50bmr5358792lft.65.1713348309351;
        Wed, 17 Apr 2024 03:05:09 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Rahul Singh <rahul.singh@arm.com>
Subject: [PATCH v8 04/17] xen/bitops: put __ffs() into linux compatible header
Date: Wed, 17 Apr 2024 12:04:47 +0200
Message-ID: <2ea76feebc5ffe543801b9b3935a82a64708a909.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The mentioned macros exist only because of Linux compatible purpose.

The patch defines __ffs() in terms of Xen bitops and it is safe
to define in this way ( as __ffs() - 1 ) as considering that __ffs()
was defined as __builtin_ctzl(x), which has undefined behavior when x=0,
so it is assumed that such cases are not encountered in the current code.

To not include <xen/linux-compat.h> to Xen library files __ffs() and __ffz()
were defined locally in find-next-bit.c.

Except __ffs() usage in find-next-bit.c only one usage of __ffs() leave
in smmu-v3.c. It seems that it __ffs can be changed to ffsl(x)-1 in
this file, but to keep smmu-v3.c looks close to linux it was deciced just
to define __ffs() in xen/linux-compat.h and include it in smmu-v3.c

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in V8:
 - drop ffz() for PPC as there is no any usage of it and it seems to me that it was
   introduced only because Arm has it, and Arm uses it only in find-next-bit.c where
   ffz() was moved to.
 - add Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com> for PPC part.
---
Changes in V7:
 - introduce ffz(),__ffs() locally in find-next-bit.c
 - drop inclusion of <xen/linux-compat.h> in find-next-bit.c.
 - update the commit message.
---
Changes in V6:
 - new patch for the patch series.
---
 xen/arch/arm/include/asm/arm64/bitops.h | 21 ---------------------
 xen/arch/ppc/include/asm/bitops.h       | 21 ---------------------
 xen/drivers/passthrough/arm/smmu-v3.c   |  2 ++
 xen/include/xen/linux-compat.h          |  2 ++
 xen/lib/find-next-bit.c                 |  3 +++
 5 files changed, 7 insertions(+), 42 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm64/bitops.h b/xen/arch/arm/include/asm/arm64/bitops.h
index 5f5d97faa0..2deb134388 100644
--- a/xen/arch/arm/include/asm/arm64/bitops.h
+++ b/xen/arch/arm/include/asm/arm64/bitops.h
@@ -1,27 +1,6 @@
 #ifndef _ARM_ARM64_BITOPS_H
 #define _ARM_ARM64_BITOPS_H
 
-/* Based on linux/include/asm-generic/bitops/builtin-__ffs.h */
-/**
- * __ffs - find first bit in word.
- * @word: The word to search
- *
- * Undefined if no bit exists, so code should check against 0 first.
- */
-static /*__*/always_inline unsigned long __ffs(unsigned long word)
-{
-        return __builtin_ctzl(word);
-}
-
-/* Based on linux/include/asm-generic/bitops/ffz.h */
-/*
- * ffz - find first zero in word.
- * @word: The word to search
- *
- * Undefined if no zero exists, so code should check against ~0UL first.
- */
-#define ffz(x)  __ffs(~(x))
-
 static inline int arch_flsl(unsigned long x)
 {
         uint64_t ret;
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index ca308fd62b..2237b9f8f4 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -119,15 +119,6 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
         (volatile unsigned int *)addr + BITOP_WORD(nr)) != 0;
 }
 
-/* Based on linux/include/asm-generic/bitops/ffz.h */
-/*
- * ffz - find first zero in word.
- * @word: The word to search
- *
- * Undefined if no zero exists, so code should check against ~0UL first.
- */
-#define ffz(x) __ffs(~(x))
-
 /**
  * hweightN - returns the hamming weight of a N-bit word
  * @x: the word to weigh
@@ -139,16 +130,4 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
 #define hweight16(x) __builtin_popcount((uint16_t)(x))
 #define hweight8(x)  __builtin_popcount((uint8_t)(x))
 
-/* Based on linux/include/asm-generic/bitops/builtin-__ffs.h */
-/**
- * __ffs - find first bit in word.
- * @word: The word to search
- *
- * Undefined if no bit exists, so code should check against 0 first.
- */
-static always_inline unsigned long __ffs(unsigned long word)
-{
-    return __builtin_ctzl(word);
-}
-
 #endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index b1c40c2c0a..6904962467 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -72,12 +72,14 @@
  */
 
 #include <xen/acpi.h>
+#include <xen/bitops.h>
 #include <xen/config.h>
 #include <xen/delay.h>
 #include <xen/errno.h>
 #include <xen/err.h>
 #include <xen/irq.h>
 #include <xen/lib.h>
+#include <xen/linux-compat.h>
 #include <xen/list.h>
 #include <xen/mm.h>
 #include <xen/rbtree.h>
diff --git a/xen/include/xen/linux-compat.h b/xen/include/xen/linux-compat.h
index 62ba71485c..10db80df57 100644
--- a/xen/include/xen/linux-compat.h
+++ b/xen/include/xen/linux-compat.h
@@ -19,4 +19,6 @@ typedef int64_t __s64;
 
 typedef paddr_t phys_addr_t;
 
+#define __ffs(x) (ffsl(x) - 1)
+
 #endif /* __XEN_LINUX_COMPAT_H__ */
diff --git a/xen/lib/find-next-bit.c b/xen/lib/find-next-bit.c
index ca6f82277e..761b027398 100644
--- a/xen/lib/find-next-bit.c
+++ b/xen/lib/find-next-bit.c
@@ -12,6 +12,9 @@
 
 #include <asm/byteorder.h>
 
+#define __ffs(x) (ffsl(x) - 1)
+#define ffz(x) __ffs(~(x))
+
 #ifndef find_next_bit
 /*
  * Find the next set bit in a memory region.
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707305.1105119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AF-0000Ns-3I; Wed, 17 Apr 2024 10:05:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707305.1105119; Wed, 17 Apr 2024 10:05:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AE-0000Nh-Vx; Wed, 17 Apr 2024 10:05:14 +0000
Received: by outflank-mailman (input) for mailman id 707305;
 Wed, 17 Apr 2024 10:05:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AD-0007lO-Dm
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:13 +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 fa21e76b-fca1-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 12:05:11 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-518c9ff3e29so4069935e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:11 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03: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: fa21e76b-fca1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348311; x=1713953111; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=psmf6PBWRAu81Z4s9T9s93YdCljauaFHYjxf9CcpyFM=;
        b=bXgK2fjzxrn5abQEjAQgrRTnqB+sq7oWiEuF3bnzvM1RuON6jG9XZSwkRS48saG9h8
         RCZxKFd5XANyFgoDnUIF/c4QNMJFsEzuh5qxkVTp6707vWdJDUj8hE58wvAx059J7oA/
         9/P8xcIBi6UC1byRqbDgqEC1GmzKghXHttoqYXq2JGATndn1D07nyftmJLH48s0v1P8X
         BqC8/XPOWhEFFPSbGRpAP7h9Na+bj3mP21HkETsvFac3gwM2b2KkDy5WfXnd/15RdJ1z
         ytVkqXoKFJfPrPBjvUfis5F19nF8AWlZK/TXMu/AvqbADxaDRoq1kGfgyIs3EjizwcBo
         FSXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348311; x=1713953111;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=psmf6PBWRAu81Z4s9T9s93YdCljauaFHYjxf9CcpyFM=;
        b=OMm12nIsC+5/LZNU3pL5MgyQqkRoLGZU+E3C4xKl6AKj1rUnEy84wD6vVtaaTp4hn7
         buzcXUSAYkvGaQi4vYDzlzu6LebUnGMdGnhubL3ieGhrhuWARgXX3x18mYK0cad53/q1
         qDpC28LHWaepnJ24KeKZmdG3RArv2yCEXXRT6QMsBXgu23IUK7Qpiv0Zh3B0IMh2VaDG
         FBXt5irAqVddYLB6ABf79bcBt9xVNMpFvS5Cu4UZ+8NDaYySQ3Qt+eS/Ed3/oI7jIqQ+
         DVAbvG3EOirovranyxbtdmgE0bkJmvIYbr3XPN89Q4VeEA52MHYt9g81m538iFLjphx0
         JKWA==
X-Gm-Message-State: AOJu0YyM9XFM3PqWT90PtUhN3lpjjVddEAeJs7GYXKfKUBR7eqV9hDA1
	B8l5S6K9liiGPxgvp9lvKOlyrlj9hmEIfJl+pwB/zQHfapYlwkYDVe1IXg==
X-Google-Smtp-Source: AGHT+IGplCM0JA0niL+lYDMeEG6P0zYMeNTuHv4n4j7QLhXnRVxCqgVT0Z1VTU9C1bHd/p0oWmNUmA==
X-Received: by 2002:ac2:4c25:0:b0:515:c102:c825 with SMTP id u5-20020ac24c25000000b00515c102c825mr8956250lfq.19.1713348310935;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 05/17] xen/riscv: introduce bitops.h
Date: Wed, 17 Apr 2024 12:04:48 +0200
Message-ID: <c3a9dfadbc6465eb9362c7823d7d2800e98218eb.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Taken from Linux-6.4.0-rc1

Xen's bitops.h consists of several Linux's headers:
* linux/arch/include/asm/bitops.h:
  * The following function were removed as they aren't used in Xen:
        * test_and_set_bit_lock
        * clear_bit_unlock
        * __clear_bit_unlock
  * The following functions were renamed in the way how they are
    used by common code:
        * __test_and_set_bit
        * __test_and_clear_bit
  * The declaration and implementation of the following functios
    were updated to make Xen build happy:
        * clear_bit
        * set_bit
        * __test_and_clear_bit
        * __test_and_set_bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 - define bitop_uint_t in <asm/types.h> after the changes in patch related to introduction of
   "introduce generic non-atomic test_*bit()".
 - drop duplicated __set_bit() and __clear_bit().
 - drop duplicated comment: /* Based on linux/arch/include/asm/bitops.h */.
 - update type of res and mask in test_and_op_bit_ord(): unsigned long -> bitop_uint_t.
 - drop 1 padding blank in test_and_op_bit_ord().
 - update definition of test_and_set_bit(),test_and_clear_bit(),test_and_change_bit:
   change return type to bool.
 - change addr argument type of test_and_change_bit(): unsigned long * -> void *.
 - move test_and_change_bit() closer to other test_and-s function.
 - Code style fixes: tabs -> space.
 - s/#undef __op_bit/#undef op_bit.
 - update the commit message: delete information about generic-non-atomic.h changes as now
   it is a separate patch.
---
Changes in V7:
 - Update the commit message.
 - Drop "__" for __op_bit and __op_bit_ord as they are atomic.
 - add comment above __set_bit and __clear_bit about why they are defined as atomic.
 - align bitops_uint_t with __AMO().
 - make changes after  generic non-atomic test_*bit() were changed.
 - s/__asm__ __volatile__/asm volatile
---
Changes in V6:
 - rebase clean ups were done: drop unused asm-generic includes
---
 Changes in V5:
   - new patch
---
 xen/arch/riscv/include/asm/bitops.h | 137 ++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/types.h  |   4 +
 2 files changed, 141 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/bitops.h

diff --git a/xen/arch/riscv/include/asm/bitops.h b/xen/arch/riscv/include/asm/bitops.h
new file mode 100644
index 0000000000..21db8d1600
--- /dev/null
+++ b/xen/arch/riscv/include/asm/bitops.h
@@ -0,0 +1,137 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (C) 2012 Regents of the University of California */
+
+#ifndef _ASM_RISCV_BITOPS_H
+#define _ASM_RISCV_BITOPS_H
+
+#include <asm/system.h>
+
+#if BITS_PER_LONG == 64
+#define __AMO(op)   "amo" #op ".d"
+#elif BITS_PER_LONG == 32
+#define __AMO(op)   "amo" #op ".w"
+#else
+#error "Unexpected BITS_PER_LONG"
+#endif
+
+/* Based on linux/arch/include/asm/bitops.h */
+
+/*
+ * Non-atomic bit manipulation.
+ *
+ * Implemented using atomics to be interrupt safe. Could alternatively
+ * implement with local interrupt masking.
+ */
+#define __set_bit(n, p)      set_bit(n, p)
+#define __clear_bit(n, p)    clear_bit(n, p)
+
+#define test_and_op_bit_ord(op, mod, nr, addr, ord)     \
+({                                                      \
+    bitop_uint_t res, mask;                             \
+    mask = BITOP_MASK(nr);                              \
+    asm volatile (                                      \
+        __AMO(op) #ord " %0, %2, %1"                    \
+        : "=r" (res), "+A" (addr[BITOP_WORD(nr)])       \
+        : "r" (mod(mask))                               \
+        : "memory");                                    \
+    ((res & mask) != 0);                                \
+})
+
+#define op_bit_ord(op, mod, nr, addr, ord)      \
+    asm volatile (                              \
+        __AMO(op) #ord " zero, %1, %0"          \
+        : "+A" (addr[BITOP_WORD(nr)])           \
+        : "r" (mod(BITOP_MASK(nr)))             \
+        : "memory");
+
+#define test_and_op_bit(op, mod, nr, addr)    \
+    test_and_op_bit_ord(op, mod, nr, addr, .aqrl)
+#define op_bit(op, mod, nr, addr) \
+    op_bit_ord(op, mod, nr, addr, )
+
+/* Bitmask modifiers */
+#define NOP(x)    (x)
+#define NOT(x)    (~(x))
+
+/**
+ * test_and_set_bit - Set a bit and return its old value
+ * @nr: Bit to set
+ * @addr: Address to count from
+ */
+static inline bool test_and_set_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    return test_and_op_bit(or, NOP, nr, addr);
+}
+
+/**
+ * test_and_clear_bit - Clear a bit and return its old value
+ * @nr: Bit to clear
+ * @addr: Address to count from
+ */
+static inline bool test_and_clear_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    return test_and_op_bit(and, NOT, nr, addr);
+}
+
+/**
+ * test_and_change_bit - Toggle (change) a bit and return its old value
+ * @nr: Bit to change
+ * @addr: Address to count from
+ *
+ * This operation is atomic and cannot be reordered.
+ * It also implies a memory barrier.
+ */
+static inline bool test_and_change_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    return test_and_op_bit(xor, NOP, nr, addr);
+}
+
+/**
+ * set_bit - Atomically set a bit in memory
+ * @nr: the bit to set
+ * @addr: the address to start counting from
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ */
+static inline void set_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    op_bit(or, NOP, nr, addr);
+}
+
+/**
+ * clear_bit - Clears a bit in memory
+ * @nr: Bit to clear
+ * @addr: Address to start counting from
+ */
+static inline void clear_bit(int nr, volatile void *p)
+{
+    volatile bitop_uint_t *addr = p;
+
+    op_bit(and, NOT, nr, addr);
+}
+
+#undef test_and_op_bit
+#undef op_bit
+#undef NOP
+#undef NOT
+#undef __AMO
+
+#endif /* _ASM_RISCV_BITOPS_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/riscv/include/asm/types.h b/xen/arch/riscv/include/asm/types.h
index 59358fd698..e8ab50ec18 100644
--- a/xen/arch/riscv/include/asm/types.h
+++ b/xen/arch/riscv/include/asm/types.h
@@ -25,6 +25,10 @@ typedef u64 register_t;
 
 #endif
 
+#define BITOP_TYPE
+#define BITOP_BITS_PER_WORD BITS_PER_LONG
+typedef unsigned long bitop_uint_t;
+
 #endif /* __RISCV_TYPES_H__ */
 /*
  * Local variables:
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707306.1105129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AH-0000g6-CC; Wed, 17 Apr 2024 10:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707306.1105129; Wed, 17 Apr 2024 10:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AH-0000fx-7g; Wed, 17 Apr 2024 10:05:17 +0000
Received: by outflank-mailman (input) for mailman id 707306;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AF-0007lO-34
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:15 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id faff5a3d-fca1-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 12:05:12 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-516d2600569so6889752e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:13 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faff5a3d-fca1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348312; x=1713953112; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PYoKcuxPvIDjafJUN0WvYkwMi61LF4Xs84KxsS85VX4=;
        b=L2zL4PvwWAM0Y1fwKKfhwQNcCaxuQXKxlX9VrvG8JABa8z4OVNTDfNw8yBtkq3dF8k
         s54nl3DcFkKv/KYVOjwHfFONPGNW/hk1/96oH/FPjFfr+zPjwtAyPEpLi5BUP3N3D2co
         dy4s5DTASeh7euHjAuUDKpYgyOWHVumeT3oKMGgaGUX8mbYnSoWgoVxm7yPqwPcsXOOP
         nEHnylK/K4vzq6V7VxzMRrjrre2hUOs1H1LETQ9iRJ6JMR+OoBcPZPpXHSg533ImTWLx
         FmR2OFH1GPK1j4vMIZtpdfUvfFng/HdF840qyk3lZomDvCD4Oj8JhR18gKNsMRhT/ajB
         Q5vA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348312; x=1713953112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PYoKcuxPvIDjafJUN0WvYkwMi61LF4Xs84KxsS85VX4=;
        b=KPLC5/U6+1iNzBDGMTXBNrU/Q3EBUOLXzqMfI6iaxgIcMorWvcDR6vSQ/4gRNRnL5i
         X9HJSK6CkcDT8ARvPNHULb+/H5MO0yUhiyeeIJQIFzHgLkNvOf7rpVH5WUXLT6A7M5OH
         n2OEkL2553ePVGiNHo3qTxQMHY2jE/d+ZCInKjt6xGzFbh0r1/qu0iE1yfgUZlYo4beC
         u5UEGINOpMWQ483weUFN42n9nKKkYRBiebE6zj0/VugT6ccqqeSb2oGHIIdwY4ybVn2C
         z/Qzt3X1xipOeTUJL1JPmYYY1A2k62QwknnugIQLcUbxnJi+0xarktFbRw3vPHN7H8nx
         bu+A==
X-Gm-Message-State: AOJu0Yy68/y00eDlBdjRWkZyw3dLReS6NlS+6ZmkLxnz6Gn2dkGtKM9k
	JR3XFIL1mASXqlJW1OEFjALGZrE4a9mwW3hharoLXvwVtsi/V8FknyoBdQ==
X-Google-Smtp-Source: AGHT+IGXxoKvArJVBsQyH2pZkMEg2vE/si8caQnQmfTBMQJb51y9oqRPoVm78eXmJhtIKnpnwn+hhg==
X-Received: by 2002:a05:6512:2351:b0:513:ec32:aa81 with SMTP id p17-20020a056512235100b00513ec32aa81mr12526419lfu.13.1713348311884;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 06/17] xen/riscv: introduce cmpxchg.h
Date: Wed, 17 Apr 2024 12:04:49 +0200
Message-ID: <6e068a2531f3ecbb7858739ecb5249d22ee01fff.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header was taken from Linux kernl 6.4.0-rc1.

Addionally, were updated:
* add emulation of {cmp}xchg for 1/2 byte types using 32-bit atomic
  access.
* replace tabs with spaces
* replace __* variale with *__
* introduce generic version of xchg_* and cmpxchg_*.
* drop {cmp}xchg{release,relaxed,acquire} as Xen doesn't use them
* drop barries and use instruction suffixices instead ( .aq, .rl, .aqrl )

Implementation of 4- and 8-byte cases were updated according to the spec:
```
              ....
Linux Construct         RVWMO AMO Mapping
    ...
atomic <op>             amo<op>.{w|d}.aqrl
Linux Construct         RVWMO LR/SC Mapping
    ...
atomic <op>             loop: lr.{w|d}.aq; <op>; sc.{w|d}.aqrl; bnez loop

Table A.5: Mappings from Linux memory primitives to RISC-V primitives

```

The current implementation is the same with 8e86f0b409a4
("arm64: atomics: fix use of acquire + release for full barrier
semantics") [1].
RISC-V could combine acquire and release into the SC
instructions and it could reduce a fence instruction to gain better
performance. Here is related description from RISC-V ISA 10.2
Load-Reserved/Store-Conditional Instructions:

 - .aq:   The LR/SC sequence can be given acquire semantics by
          setting the aq bit on the LR instruction.
 - .rl:   The LR/SC sequence can be given release semantics by
          setting the rl bit on the SC instruction.
 - .aqrl: Setting the aq bit on the LR instruction, and setting
          both the aq and the rl bit on the SC instruction makes
          the LR/SC sequence sequentially consistent, meaning that
          it cannot be reordered with earlier or later memory
          operations from the same hart.

 Software should not set the rl bit on an LR instruction unless
 the aq bit is also set, nor should software set the aq bit on an
 SC instruction unless the rl bit is also set. LR.rl and SC.aq
 instructions are not guaranteed to provide any stronger ordering
 than those with both bits clear, but may result in lower
 performance.

Also, I way of transforming ".rl + full barrier" to ".aqrl" was approved
by (the author of the RVWMO spec) [2]

[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.deacon@arm.com/
[2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444fd8e@nvidia.com/

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 - use __bad_{xchg,cmpxch}(ptr,size) insetead of STATIC_ASSERT_UNREACHABLE() to
   make this patch be independent from the macros that haven't been committed yet
   and may never be.
---
Changes in V7:
 - replace __*() -> _*() in cmpxchg.h
 - add () around ptr in _amoswap_generic(), emulate_xchg_1_2()
 - fix typos
 - code style fixes.
 - refactor emulate_xcgh_1_2():
   - add parentheses for new argument.
   - use instead of constant 0x4 -> sizeof(*aligned_ptr).
   - add alignment_mask to save  sizeof(*aligned_ptr) - sizeof(*(ptr));
 - s/CONFIG_32BIT/CONFIG_RISCV_32
 - drop unnecessary parentheses in xchg()
 - drop register in _generic_cmpxchg()
 - refactor and update prototype of _generic_cmpxchg():
   add named operands, return value instead of passing ret as an argument, drop %z and J
   constraints for mask operand as it can't be zero
 - refactor and code style fixes in emulate_cmpxchg_1_2():
   - add explanatory comment for emulate_cmpxchg_1_2().
   - add parentheses for old and new arguments.
   - use instead of constant 0x4 -> sizeof(*aligned_ptr).
   - add alignment_mask to save  sizeof(*aligned_ptr) - sizeof(*(ptr));
 - drop unnessary parenthesses in cmpxchg().
 - update the commit message.
 - s/__asm__ __volatile__/asm volatile
---
Changes in V6:
-  update the commit message? ( As before I don't understand this point. Can you give an example of what sort of opcode / instruction is missing?)
 - Code style fixes
 - change sizeof(*ptr) -> sizeof(*(ptr))
 - update operands names and some local variables for macros emulate_xchg_1_2() and emulate_cmpxchg_1_2()
 - drop {cmp}xchg_{relaxed,acquire,release) versions as they aren't needed for Xen
 - update __amoswap_generic() prototype and defintion: drop pre and post barries.
 - update emulate_xchg_1_2() prototype and definion: add lr_sfx, drop pre and post barries.
 - rename __xchg_generic to __xchg(), make __xchg as static inline function to be able to "#ifndef CONFIG_32BIT case 8:... "
---
Changes in V5:
 - update the commit message.
 - drop ALIGN_DOWN().
 - update the definition of emulate_xchg_1_2():
   - lr.d -> lr.w, sc.d -> sc.w.
   - drop ret argument.
   - code style fixes around asm volatile.
   - update prototype.
   - use asm named operands.
   - rename local variables.
   - add comment above the macros
 - update the definition of __xchg_generic:
   - rename to __xchg()
   - transform it to static inline
   - code style fixes around switch()
   - update prototype.
 - redefine cmpxchg()
 - update emulate_cmpxchg_1_2():
   - update prototype
   - update local variables names and usage of them
   - use name asm operands.
   - add comment above the macros
 - drop pre and post, and use .aq,.rl, .aqrl suffixes.
 - drop {cmp}xchg_{relaxed, aquire, release} as they are not used by Xen.
 - drop unnessary details in comment above emulate_cmpxchg_1_2()
---
Changes in V4:
 - Code style fixes.
 - enforce in __xchg_*() has the same type for new and *ptr, also "\n"
   was removed at the end of asm instruction.
 - dependency from https://lore.kernel.org/xen-devel/cover.1706259490.git.federico.serafini@bugseng.com/
 - switch from ASSERT_UNREACHABLE to STATIC_ASSERT_UNREACHABLE().
 - drop xchg32(ptr, x) and xchg64(ptr, x) as they aren't used.
 - drop cmpxcg{32,64}_{local} as they aren't used.
 - introduce generic version of xchg_* and cmpxchg_*.
 - update the commit message.
---
Changes in V3:
 - update the commit message
 - add emulation of {cmp}xchg_... for 1 and 2 bytes types
---
Changes in V2:
 - update the comment at the top of the header.
 - change xen/lib.h to xen/bug.h.
 - sort inclusion of headers properly.
---
 xen/arch/riscv/include/asm/cmpxchg.h | 237 +++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/config.h  |   2 +
 2 files changed, 239 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h

diff --git a/xen/arch/riscv/include/asm/cmpxchg.h b/xen/arch/riscv/include/asm/cmpxchg.h
new file mode 100644
index 0000000000..f7b53d3848
--- /dev/null
+++ b/xen/arch/riscv/include/asm/cmpxchg.h
@@ -0,0 +1,237 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Copyright (C) 2014 Regents of the University of California */
+
+#ifndef _ASM_RISCV_CMPXCHG_H
+#define _ASM_RISCV_CMPXCHG_H
+
+#include <xen/compiler.h>
+#include <xen/lib.h>
+
+#include <asm/fence.h>
+#include <asm/io.h>
+#include <asm/system.h>
+
+#define _amoswap_generic(ptr, new, ret, sfx) \
+    asm volatile ( \
+        " amoswap" sfx " %0, %2, %1" \
+        : "=r" (ret), "+A" (*(ptr)) \
+        : "r" (new) \
+        : "memory" );
+
+/*
+ * For LR and SC, the A extension requires that the address held in rs1 be
+ * naturally aligned to the size of the operand (i.e., eight-byte aligned
+ * for 64-bit words and four-byte aligned for 32-bit words).
+ * If the address is not naturally aligned, an address-misaligned exception
+ * or an access-fault exception will be generated.
+ *
+ * Thereby:
+ * - for 1-byte xchg access the containing word by clearing low two bits.
+ * - for 2-byte xchg access the containing word by clearing bit 1.
+ *
+ * If resulting 4-byte access is still misalgined, it will fault just as
+ * non-emulated 4-byte access would.
+ */
+#define emulate_xchg_1_2(ptr, new, lr_sfx, sc_sfx) \
+({ \
+    uint32_t *aligned_ptr; \
+    unsigned long alignment_mask = sizeof(*aligned_ptr) - sizeof(*(ptr)); \
+    unsigned int new_val_bit = \
+        ((unsigned long)(ptr) & alignment_mask) * BITS_PER_BYTE; \
+    unsigned long mask = \
+        GENMASK(((sizeof(*(ptr))) * BITS_PER_BYTE) - 1, 0) << new_val_bit; \
+    unsigned int new_ = (new) << new_val_bit; \
+    unsigned int old; \
+    unsigned int scratch; \
+    \
+    aligned_ptr = (uint32_t *)((unsigned long)(ptr) & ~alignment_mask); \
+    \
+    asm volatile ( \
+        "0: lr.w" lr_sfx " %[old], %[ptr_]\n" \
+        "   andn  %[scratch], %[old], %[mask]\n" \
+        "   or   %[scratch], %[scratch], %z[new_]\n" \
+        "   sc.w" sc_sfx " %[scratch], %[scratch], %[ptr_]\n" \
+        "   bnez %[scratch], 0b\n" \
+        : [old] "=&r" (old), [scratch] "=&r" (scratch), \
+          [ptr_] "+A" (*aligned_ptr) \
+        : [new_] "rJ" (new_), [mask] "r" (mask) \
+        : "memory" ); \
+    \
+    (__typeof__(*(ptr)))((old & mask) >> new_val_bit); \
+})
+
+/*
+ * This function doesn't exist, so you'll get a linker error
+ * if something tries to do an invalid xchg().
+ */
+extern void __bad_xchg(volatile void *ptr, int size);
+
+static always_inline unsigned long __xchg(volatile void *ptr, unsigned long new, int size)
+{
+    unsigned long ret;
+
+    switch ( size )
+    {
+    case 1:
+        ret = emulate_xchg_1_2((volatile uint8_t *)ptr, new, ".aq", ".aqrl");
+        break;
+    case 2:
+        ret = emulate_xchg_1_2((volatile uint16_t *)ptr, new, ".aq", ".aqrl");
+        break;
+    case 4:
+        _amoswap_generic((volatile uint32_t *)ptr, new, ret, ".w.aqrl");
+        break;
+#ifndef CONFIG_RISCV_32
+    case 8:
+        _amoswap_generic((volatile uint64_t *)ptr, new, ret, ".d.aqrl");
+        break;
+#endif
+    default:
+        __bad_xchg(ptr, size), ret = 0;
+    }
+
+    return ret;
+}
+
+#define xchg(ptr, x) \
+({ \
+    __typeof__(*(ptr)) n_ = (x); \
+    (__typeof__(*(ptr))) \
+        __xchg((ptr), (unsigned long)n_, sizeof(*(ptr))); \
+})
+
+#define _generic_cmpxchg(ptr, old, new, lr_sfx, sc_sfx) \
+ ({ \
+    unsigned int rc; \
+    unsigned long ret; \
+    unsigned long mask = GENMASK(((sizeof(*(ptr))) * BITS_PER_BYTE) - 1, 0); \
+    asm volatile ( \
+        "0: lr" lr_sfx " %[ret], %[ptr_]\n" \
+        "   and  %[ret], %[ret], %[mask]\n" \
+        "   bne  %[ret], %z[old_], 1f\n" \
+        "   sc" sc_sfx " %[rc], %z[new_], %[ptr_]\n" \
+        "   bnez %[rc], 0b\n" \
+        "1:\n" \
+        : [ret] "=&r" (ret), [rc] "=&r" (rc), [ptr_] "+A" (*ptr) \
+        : [old_] "rJ" (old), [new_] "rJ" (new), [mask] "r" (mask)  \
+        : "memory" ); \
+    ret; \
+ })
+
+/*
+ * For LR and SC, the A extension requires that the address held in rs1 be
+ * naturally aligned to the size of the operand (i.e., eight-byte aligned
+ * for 64-bit words and four-byte aligned for 32-bit words).
+ * If the address is not naturally aligned, an address-misaligned exception
+ * or an access-fault exception will be generated.
+ *
+ * Thereby:
+ * - for 1-byte xchg access the containing word by clearing low two bits
+ * - for 2-byte xchg ccess the containing word by clearing first bit.
+ * 
+ * If resulting 4-byte access is still misalgined, it will fault just as
+ * non-emulated 4-byte access would.
+ *
+ * old_val was casted to unsigned long for cmpxchgptr()
+ */
+#define emulate_cmpxchg_1_2(ptr, old, new, lr_sfx, sc_sfx) \
+({ \
+    uint32_t *aligned_ptr; \
+    unsigned long alignment_mask = sizeof(*aligned_ptr) - sizeof(*(ptr)); \
+    uint8_t new_val_bit = \
+        ((unsigned long)(ptr) & alignment_mask) * BITS_PER_BYTE; \
+    unsigned long mask = \
+        GENMASK(((sizeof(*(ptr))) * BITS_PER_BYTE) - 1, 0) << new_val_bit; \
+    unsigned int old_ = (old) << new_val_bit; \
+    unsigned int new_ = (new) << new_val_bit; \
+    unsigned int old_val; \
+    unsigned int scratch; \
+    \
+    aligned_ptr = (uint32_t *)((unsigned long)ptr & ~alignment_mask); \
+    \
+    asm volatile ( \
+        "0: lr.w" lr_sfx " %[scratch], %[ptr_]\n" \
+        "   and  %[old_val], %[scratch], %[mask]\n" \
+        "   bne  %[old_val], %z[old_], 1f\n" \
+        /* the following line is an equivalent to: \
+         *     scratch = old_val & ~mask; \
+         * And to elimanate one ( likely register ) input it was decided \
+         * to use: \
+         *     scratch = old_val ^ scratch \
+         */ \
+        "   xor  %[scratch], %[old_val], %[scratch]\n" \
+        "   or   %[scratch], %[scratch], %z[new_]\n" \
+        "   sc.w" sc_sfx " %[scratch], %[scratch], %[ptr_]\n" \
+        "   bnez %[scratch], 0b\n" \
+        "1:\n" \
+        : [old_val] "=&r" (old_val), [scratch] "=&r" (scratch), \
+          [ptr_] "+A" (*aligned_ptr) \
+        : [old_] "rJ" (old_), [new_] "rJ" (new_), \
+          [mask] "r" (mask) \
+        : "memory" ); \
+    \
+    (__typeof__(*(ptr)))((unsigned long)old_val >> new_val_bit); \
+})
+
+/* This function doesn't exist, so you'll get a linker error
+   if something tries to do an invalid cmpxchg().  */
+extern unsigned long __bad_cmpxchg(volatile void *ptr, int size);
+
+/*
+ * Atomic compare and exchange.  Compare OLD with MEM, if identical,
+ * store NEW in MEM.  Return the initial value in MEM.  Success is
+ * indicated by comparing RETURN with OLD.
+ */
+static always_inline unsigned long __cmpxchg(volatile void *ptr,
+                                             unsigned long old,
+                                             unsigned long new,
+                                             int size)
+{
+    unsigned long ret;
+
+    switch ( size )
+    {
+    case 1:
+        ret = emulate_cmpxchg_1_2((volatile uint8_t *)ptr, old, new,
+                                  ".aq", ".aqrl");
+        break;
+    case 2:
+        ret = emulate_cmpxchg_1_2((volatile uint16_t *)ptr, old, new,
+                                   ".aq", ".aqrl");
+        break;
+    case 4:
+        ret = _generic_cmpxchg((volatile uint32_t *)ptr, old, new,
+                          ".w.aq", ".w.aqrl");
+        break;
+#ifndef CONFIG_32BIT
+    case 8:
+        ret = _generic_cmpxchg((volatile uint64_t *)ptr, old, new,
+                           ".d.aq", ".d.aqrl");
+        break;
+#endif
+    default:
+        return __bad_cmpxchg(ptr, size);
+    }
+
+    return ret;
+}
+
+#define cmpxchg(ptr, o, n) \
+({ \
+    __typeof__(*(ptr)) o_ = (o); \
+    __typeof__(*(ptr)) n_ = (n); \
+    (__typeof__(*(ptr))) \
+    __cmpxchg((ptr), (unsigned long)o_, (unsigned long)n_, \
+              sizeof(*(ptr))); \
+})
+
+#endif /* _ASM_RISCV_CMPXCHG_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index c5f93e6a01..50583aafdc 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -119,6 +119,8 @@
 
 #define BITS_PER_LLONG 64
 
+#define BITS_PER_BYTE 8
+
 /* xen_ulong_t is always 64 bits */
 #define BITS_PER_XEN_ULONG 64
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707307.1105135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AH-0000ib-Mj; Wed, 17 Apr 2024 10:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707307.1105135; Wed, 17 Apr 2024 10:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AH-0000iD-Fn; Wed, 17 Apr 2024 10:05:17 +0000
Received: by outflank-mailman (input) for mailman id 707307;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AF-0007lO-Qm
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:15 +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 fb851875-fca1-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 12:05:13 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5194a4da476so520178e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:14 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: fb851875-fca1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348313; x=1713953113; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fWDZsyZne5YGeThQFd3jP/j4wvEA0gZdlneLKcMfcRs=;
        b=YVa9QPkY+rDwruABzZqlqPtQJ8xbL+r+W9zZbGFVm81Qa1pb7sgKcBIwTJzjwpVmiz
         RdrgB80UNfrOgunZT9SzL/z+Gy7A+BahiXj1JqdlnBfm2hpr7SoGdRv3KvNaD91RsM1K
         CD5z+LXsOWlUrDzJnyOrAau4h1GL7FRGkVc6e3V/5DJewLNQj/38kfILFyBxgCNseq5/
         Hxsz7beM8CjoOtsSomsnhWCskXm8zIEwkwUZ+vQdPWBlHMxFt8qvRx3XvalJwU+toztc
         ZkAAzdr+LVjtzzvvja9OWhwseQv5ayD7K6rmLSMhzIIwNXOlcDsUqhnBCZXKAcS1emy5
         eS2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348313; x=1713953113;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fWDZsyZne5YGeThQFd3jP/j4wvEA0gZdlneLKcMfcRs=;
        b=CwXUXjred44+xQMIfYyeKFCPWcyeN9zJATDRGkf2DX3QjYqV4YaB282oBRGZrBdPX7
         N2zAYGzHdpihDAjCgACRjCBxpw0G3i3S3C13DooZLIkjBNWdjvk4VnlwlHqJDO+o7MLh
         UtbKKNxtmI/jWWNk5MiWlqase8LOxtFc68TT/mZBoC3Ut8pnFMET/9yE9QI6aT4DfUNE
         +iaIGjHuFcf2uXCLHSSs7UOemrzcP3MlEMTv3rx9GCNFy96Lzp0vF3oj8UTploHhod2c
         JSurYlqKXfJoWnQlMmB7OMxDUZeBmyXAUnta9C/1Zh8hX9+lZifH2vSyrTKwtrISYXmS
         6mkg==
X-Gm-Message-State: AOJu0YxKLzO9PPGN/BzJxIXym7x9R8aRZUqrmfsYKJdzU4Is6M//MQ4u
	osqAfStg8qiBgXK1LvjmcfyvKqpZhSuCK95rCMiIcYNXIxUxLNas9kKLhg==
X-Google-Smtp-Source: AGHT+IE+/TNufPjXchQ1zDG/JMqVhQ2GMe38joHXTWTnUf7X4Aztcu2+v5xHhz/M3essvOIpttKv3Q==
X-Received: by 2002:a19:640e:0:b0:516:cf23:588 with SMTP id y14-20020a19640e000000b00516cf230588mr11757217lfb.27.1713348313232;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 07/17] xen/riscv: introduce io.h
Date: Wed, 17 Apr 2024 12:04:50 +0200
Message-ID: <7f76236845970a011b4fd3e2c93e8f01d811041b.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header taken form Linux 6.4.0-rc1 and is based on
arch/riscv/include/asm/mmio.h with the following changes:
- drop forcing of endianess for read*(), write*() functions as
  no matter what CPU endianness, what endianness a particular device
  (and hence its MMIO region(s)) is using is entirely independent.
  Hence conversion, where necessary, needs to occur at a layer up.
  Another one reason to drop endianess conversion here is:
  https://patchwork.kernel.org/project/linux-riscv/patch/20190411115623.5749-3-hch@lst.de/
  One of the answers of the author of the commit:
    And we don't know if Linux will be around if that ever changes.
    The point is:
     a) the current RISC-V spec is LE only
     b) the current linux port is LE only except for this little bit
    There is no point in leaving just this bitrotting code around.  It
    just confuses developers, (very very slightly) slows down compiles
    and will bitrot.  It also won't be any significant help to a future
    developer down the road doing a hypothetical BE RISC-V Linux port.
- drop unused argument of __io_ar() macros.
- drop "#define _raw_{read,write}{b,w,l,d,q} _raw_{read,write}{b,w,l,d,q}"
  as they are unnecessary.
- Adopt the Xen code style for this header, considering that significant changes
  are not anticipated in the future.
  In the event of any issues, adapting them to Xen style should be easily
  manageable.
- drop unnecessary  __r variables in macros read*_cpu()
- update inline assembler constraints for addr argument for
  __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that
 *addr will be accessed.
- add stubs for __raw_readq() and __raw_writeq() for RISCV_32

Addionally, to the header was added definions of ioremap_*().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V8:
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V7:
 - update the comment message in riscv/io.h at the top.
 - code style fixes.
 - back const in places where it should be.
---
Changes in V6:
 - drop unnecessary spaces and fix typos in the file comment.
 - s/CONFIG_64BIT/CONFIG_RISCV_32 as .d suffix for instruction doesn't exist for RV32.
 - add stubs for __raw_readq() and __raw_writeq() for RISCV_32
 - update inline assembler constraints for addr argument for __raw_read{b,w,l,q} and
   __raw_write{b,w,l,q} to tell compiler that *addr will be accessed.
 - s/u8/uint8_t
 - update the commit message
---
Changes in V5:
 - Xen code style related fixes
 - drop #define _raw_{read,write}{b,w,l,d,q} _raw_{read,write}{b,w,l,d,q}
 - drop cpu_to_le16()
 - remove unuused argument in _io_ar()
 - update the commit message
 - drop unnessary __r variables in macros read*_cpu()
 - update the comments at the top of the header.
---
Changes in V4:
 - delete inner parentheses in macros.
 - s/u<N>/uint<N>.
---
Changes in V3:
 - re-sync with linux kernel
 - update the commit message
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/io.h | 168 ++++++++++++++++++++++++++++++++
 1 file changed, 168 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/io.h

diff --git a/xen/arch/riscv/include/asm/io.h b/xen/arch/riscv/include/asm/io.h
new file mode 100644
index 0000000000..8d9535e973
--- /dev/null
+++ b/xen/arch/riscv/include/asm/io.h
@@ -0,0 +1,168 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ *  The header taken form Linux 6.4.0-rc1 and is based on
+ *  arch/riscv/include/asm/mmio.h with the following changes:
+ *   - drop forcing of endianess for read*(), write*() functions as
+ *     no matter what CPU endianness, what endianness a particular device
+ *     (and hence its MMIO region(s)) is using is entirely independent.
+ *     Hence conversion, where necessary, needs to occur at a layer up.
+ *     Another one reason to drop endianess conversion is:
+ *     https://patchwork.kernel.org/project/linux-riscv/patch/20190411115623.5749-3-hch@lst.de/
+ *     One of the answers of the author of the commit:
+ *       And we don't know if Linux will be around if that ever changes.
+ *       The point is:
+ *        a) the current RISC-V spec is LE only
+ *        b) the current linux port is LE only except for this little bit
+ *       There is no point in leaving just this bitrotting code around.  It
+ *       just confuses developers, (very very slightly) slows down compiles
+ *      and will bitrot.  It also won't be any significant help to a future
+ *       developer down the road doing a hypothetical BE RISC-V Linux port.
+ *   - drop unused argument of __io_ar() macros.
+ *   - drop "#define _raw_{read,write}{b,w,l,q} _raw_{read,write}{b,w,l,q}"
+ *     as they are unnecessary.
+ *   - Adopt the Xen code style for this header, considering that significant
+ *     changes are not anticipated in the future.
+ *     In the event of any issues, adapting them to Xen style should be easily
+ *     manageable.
+ *   - drop unnecessary __r variables in macros read*_cpu()
+ *   - update inline assembler constraints for addr argument for
+ *     __raw_read{b,w,l,q} and __raw_write{b,w,l,q} to tell a compiler that
+ *     *addr will be accessed.
+ *
+ * Copyright (C) 1996-2000 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ * Copyright (C) 2014 Regents of the University of California
+ * Copyright (C) 2024 Vates
+ */
+
+#ifndef _ASM_RISCV_IO_H
+#define _ASM_RISCV_IO_H
+
+#include <asm/byteorder.h>
+
+/*
+ * The RISC-V ISA doesn't yet specify how to query or modify PMAs, so we can't
+ * change the properties of memory regions.  This should be fixed by the
+ * upcoming platform spec.
+ */
+#define ioremap_nocache(addr, size) ioremap(addr, size)
+#define ioremap_wc(addr, size) ioremap(addr, size)
+#define ioremap_wt(addr, size) ioremap(addr, size)
+
+/* Generic IO read/write.  These perform native-endian accesses. */
+static inline void __raw_writeb(uint8_t val, volatile void __iomem *addr)
+{
+    asm volatile ( "sb %1, %0"
+                   : "=m" (*(volatile uint8_t __force *)addr) : "r" (val) );
+}
+
+static inline void __raw_writew(uint16_t val, volatile void __iomem *addr)
+{
+    asm volatile ( "sh %1, %0"
+                   : "=m" (*(volatile uint16_t __force *)addr) : "r" (val) );
+}
+
+static inline void __raw_writel(uint32_t val, volatile void __iomem *addr)
+{
+    asm volatile ( "sw %1, %0"
+                   : "=m" (*(volatile uint32_t __force *)addr) : "r" (val) );
+}
+
+static inline void __raw_writeq(uint64_t val, volatile void __iomem *addr)
+{
+#ifdef CONFIG_RISCV_32
+    BUILD_BUG_ON("unimplemented");
+#else
+    asm volatile ( "sd %1, %0"
+                   : "=m" (*(volatile uint64_t __force *)addr) : "r" (val) );
+#endif
+}
+
+static inline uint8_t __raw_readb(const volatile void __iomem *addr)
+{
+    uint8_t val;
+
+    asm volatile ( "lb %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint8_t __force *)addr) );
+    return val;
+}
+
+static inline uint16_t __raw_readw(const volatile void __iomem *addr)
+{
+    uint16_t val;
+
+    asm volatile ( "lh %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint16_t __force *)addr) );
+    return val;
+}
+
+static inline uint32_t __raw_readl(const volatile void __iomem *addr)
+{
+    uint32_t val;
+
+    asm volatile ( "lw %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint32_t __force *)addr) );
+    return val;
+}
+
+static inline uint64_t __raw_readq(const volatile void __iomem *addr)
+{
+    uint64_t val;
+
+#ifdef CONFIG_RISCV_32
+    BUILD_BUG_ON("unimplemented");
+#else
+    asm volatile ( "ld %0, %1" : "=r" (val)
+                   : "m" (*(const volatile uint64_t __force *)addr) );
+#endif
+
+    return val;
+}
+
+
+/*
+ * Unordered I/O memory access primitives.  These are even more relaxed than
+ * the relaxed versions, as they don't even order accesses between successive
+ * operations to the I/O regions.
+ */
+#define readb_cpu(c)        __raw_readb(c)
+#define readw_cpu(c)        __raw_readw(c)
+#define readl_cpu(c)        __raw_readl(c)
+#define readq_cpu(c)        __raw_readq(c)
+
+#define writeb_cpu(v, c)    __raw_writeb(v, c)
+#define writew_cpu(v, c)    __raw_writew(v, c)
+#define writel_cpu(v, c)    __raw_writel(v, c)
+#define writeq_cpu(v, c)    __raw_writeq(v, c)
+
+/*
+ * I/O memory access primitives. Reads are ordered relative to any
+ * following Normal memory access. Writes are ordered relative to any prior
+ * Normal memory access.  The memory barriers here are necessary as RISC-V
+ * doesn't define any ordering between the memory space and the I/O space.
+ */
+#define __io_br()   do { } while (0)
+#define __io_ar()   asm volatile ( "fence i,r" : : : "memory" );
+#define __io_bw()   asm volatile ( "fence w,o" : : : "memory" );
+#define __io_aw()   do { } while (0)
+
+#define readb(c) ({ uint8_t  v_; __io_br(); v_ = readb_cpu(c); __io_ar(); v_; })
+#define readw(c) ({ uint16_t v_; __io_br(); v_ = readw_cpu(c); __io_ar(); v_; })
+#define readl(c) ({ uint32_t v_; __io_br(); v_ = readl_cpu(c); __io_ar(); v_; })
+#define readq(c) ({ uint64_t v_; __io_br(); v_ = readq_cpu(c); __io_ar(); v_; })
+
+#define writeb(v, c)    ({ __io_bw(); writeb_cpu(v, c); __io_aw(); })
+#define writew(v, c)    ({ __io_bw(); writew_cpu(v, c); __io_aw(); })
+#define writel(v, c)    ({ __io_bw(); writel_cpu(v, c); __io_aw(); })
+#define writeq(v, c)    ({ __io_bw(); writeq_cpu(v, c); __io_aw(); })
+
+#endif /* _ASM_RISCV_IO_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707308.1105141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AI-0000tX-AA; Wed, 17 Apr 2024 10:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707308.1105141; Wed, 17 Apr 2024 10:05:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AI-0000sV-35; Wed, 17 Apr 2024 10:05:18 +0000
Received: by outflank-mailman (input) for mailman id 707308;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AG-0007lI-9l
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:16 +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 fceca417-fca1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:15 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-518a56cdc03so4782967e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:15 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: fceca417-fca1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348315; x=1713953115; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yTTnPcExIPXVMOJsvNhSJgOJAGir4DNBERxSySY7BqI=;
        b=bUZWAwVmBcyYACfKttn0UtiLsdweXrzg87Qc1uJzdMCcXT5Bg8MlbPaIT45pUkihvE
         r9ScKyrOMUov7DWU7/kDnEWtuchSS4zQQURi7pXZ4iQxxAGfOn31U34LKJrOh7nD4Csj
         4wBvViGMugJEXrffxEYc/NEfQ96kVYzc9eSG/9YplEzPUR7V5oiKxbYdnWTYI26ABt7/
         bwIaIr7H9AvspxYO5Y66JPUsktxTtJXCpCyHK9BFbqXKNsPDbn1AReeqTmIgBBRdonHN
         2eGFV9s1VquDVoVj1NqakYJ5ulnCPMQgD5npdB5dHm+J7H+mZRb/ye7FFM1W8H8EjD0J
         0XTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348315; x=1713953115;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yTTnPcExIPXVMOJsvNhSJgOJAGir4DNBERxSySY7BqI=;
        b=XVuXmT/yIfUoLLYljp6wWikuku5j/NZCEvyPghDUnv28JeHQ2pJjvLfWXEGU5+k9v9
         g/0q6wY99xTcKmqZmksUOKSUrGWnuvzlm6rzIMJIP+Lhj2U5ZMAT0GwEFp4g9CGkNRSj
         ooxcuyOZOPTrOSbsJmyHBx7kltEDSySXc/uxhULg+xVQ/ciH0aUJZqzHAmeX9/txeXo3
         TwrW4U/ytu+7lFLKomoCDtbYgswCJE/8sndjOXJv9yElwN/0quweJZ/fjAQ6FdE7267V
         S+EpxDUXGYz+pvTdRCSRcNDuvFC9EPpEY3eyz75Zsdb5BIpxnx7shgGd3fvwSnpdyVpB
         ENNA==
X-Gm-Message-State: AOJu0YwamM81irV2+OHLGgyImUEoSvhivWjXwx14F2NUj9bM8GF7B5qy
	r0xvirpb+0Rnoh5owcv4ZvpEXVpzN0WqAS0vtADxVx7Hjpvmepc/enuAgw==
X-Google-Smtp-Source: AGHT+IEowFMMPwcEJRCxBbHM3xJnMthwLNTEQgVHATjwuA3Rrvu2bHHaJ4JbZyNcNvrzSQaWntRmpA==
X-Received: by 2002:a19:e017:0:b0:517:64ec:1251 with SMTP id x23-20020a19e017000000b0051764ec1251mr9376063lfg.15.1713348315243;
        Wed, 17 Apr 2024 03:05:15 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v8 09/17] xen/riscv: introduce monitor.h
Date: Wed, 17 Apr 2024 12:04:52 +0200
Message-ID: <d645cc9db82890cf3cfed9574b9a909169037b22.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4-V8:
 - Nothing changed. Only rebase.
---
Changes in V3:
 - new patch.
---
 xen/arch/riscv/include/asm/monitor.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/monitor.h

diff --git a/xen/arch/riscv/include/asm/monitor.h b/xen/arch/riscv/include/asm/monitor.h
new file mode 100644
index 0000000000..f4fe2c0690
--- /dev/null
+++ b/xen/arch/riscv/include/asm/monitor.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_RISCV_MONITOR_H__
+#define __ASM_RISCV_MONITOR_H__
+
+#include <xen/bug.h>
+
+#include <asm-generic/monitor.h>
+
+struct domain;
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+#endif /* __ASM_RISCV_MONITOR_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707309.1105156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AJ-0001Kp-KD; Wed, 17 Apr 2024 10:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707309.1105156; Wed, 17 Apr 2024 10: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 1rx2AJ-0001Jg-D7; Wed, 17 Apr 2024 10:05:19 +0000
Received: by outflank-mailman (input) for mailman id 707309;
 Wed, 17 Apr 2024 10:05:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AH-0007lO-2s
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:17 +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 fc32bfd6-fca1-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 12:05:14 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-518c9ff3e29so4070006e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:15 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: fc32bfd6-fca1-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348314; x=1713953114; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JdK79biTxHN9AQ7moQOkmIfzhMAFMy82LX/AbMny6rM=;
        b=FtEAiWlRbOmmmyijA4qJPc5Z/LbtvKZ2FV6Ces3P4ioLMtBGr+V9AQJ2obA2bn7RES
         QExjLqy1bVaF3LzoEMbrtumkqKf8afq2Dg0E71mDXUMY5uyZAYIYWNrRyHseKvqBjZWY
         cMWoIT5I3YYq5xhaHqmx+OXhh5GGPeh2wNR1aNQ2FjG5ywNGTPJJh3+mSW7RS+qi0v25
         OhOOvEBygyGuaLabSQR2GKSWPi+wUoSzN5FpVbt6DxIn1wdynuw5002V3Tj+D5pY4q3L
         5yoG7PTvy5QXlS7JMkdqd8p4YpFnlmfJgowEYRMA73Fa/uHgXnYZPsEHSJy3HcI1e5Zz
         2MkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348314; x=1713953114;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JdK79biTxHN9AQ7moQOkmIfzhMAFMy82LX/AbMny6rM=;
        b=LvazSWrg2m8nhXTzfnKr/g1ygEPqLFKdjC0qfVBnbJ/aa8//6VAC+Chy6AVyvE7uXR
         /wHpqnxaG3KKNvFiEkV/YzOX/a3GWyx94ZkRihj2DgEegs0c5GTkNVwHBFZXJ6WbtSgy
         AhBMKBdWFWoHKyW/Ey6l4Hy9kPlgcP6D2Dq2wveIPHVnNXb2WzFUOW3tsBdylg715aPy
         8fJrn0ukVEmmeS4YGPZ9GqKS01sMBXXpFYenBf+pSQVEJRRAPTSUwMCFt+Dh9kNDlOO7
         S5Vz0pqd8YKEr9d61hXlSHF9fe/vPft//6x+D86vzhcjPPFzMmOQlaADwmK8Sz6G0oMT
         rWFQ==
X-Gm-Message-State: AOJu0YzMUK1LsxQP9aNLbsTOPMzoy+QgnsnLyO9I/1jCn8qhJ4+tnM3G
	0RtPVenojO/IMK6CH2lFPiH6TO2yDrgINQUMCuoep/RSlqrvffWiqrMPFg==
X-Google-Smtp-Source: AGHT+IFOwyYd8dGdrTgRVQwizGCvTXXgLApF6JHhiIM6PLfgprjrQYVjTbWCJJGy1nWTdMyw2XjnOg==
X-Received: by 2002:a19:ca44:0:b0:516:d002:47cb with SMTP id h4-20020a19ca44000000b00516d00247cbmr9940902lfj.43.1713348314256;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 08/17] xen/riscv: introduce atomic.h
Date: Wed, 17 Apr 2024 12:04:51 +0200
Message-ID: <4967a5fcbef0901ef34d8954a48ded369b1ea2b1.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Initially the patch was introduced by Bobby, who takes the header from
Linux kernel.

The following changes were done on top of Bobby's changes:
 - atomic##prefix##_*xchg_*(atomic##prefix##_t *v, c_t n) were updated
   to use__*xchg_generic()
 - drop casts in write_atomic() as they are unnecessary
 - drop introduction of WRITE_ONCE() and READ_ONCE().
   Xen provides ACCESS_ONCE()
 - remove zero-length array access in read_atomic()
 - drop defines similar to pattern:
   #define atomic_add_return_relaxed   atomic_add_return_relaxed
 - move not RISC-V specific functions to asm-generic/atomics-ops.h
 - drop  atomic##prefix##_{cmp}xchg_{release, aquire, release}() as they
   are not used in Xen.
 - update the defintion of  atomic##prefix##_{cmp}xchg according to
   {cmp}xchg() implementation in Xen.
 - some ATOMIC_OP() macros were updated:
   - drop size argument for ATOMIC_OP which defines atomic##prefix##_xchg()
     and atomic##prefix##_cmpxchg().
   - drop c_op argument for ATOMIC_OPS which defines ATOMIC_OPS(and, and),
     ATOMIC_OPS( or,  or), ATOMIC_OPS(xor, xor), ATOMIC_OPS(add, add, +),
     ATOMIC_OPS(sub, add, -) as c_op is always "+" for them.
   - drop "" from definition of __atomic_{acquire/release"}_fence.

The current implementation is the same with 8e86f0b409a4
("arm64: atomics: fix use of acquire + release for full barrier
semantics") [1].
RISC-V could combine acquire and release into the SC
instructions and it could reduce a fence instruction to gain better
performance. Here is related description from RISC-V ISA 10.2
Load-Reserved/Store-Conditional Instructions:

 - .aq:   The LR/SC sequence can be given acquire semantics by
          setting the aq bit on the LR instruction.
 - .rl:   The LR/SC sequence can be given release semantics by
              setting the rl bit on the SC instruction.
 - .aqrl: Setting the aq bit on the LR instruction, and setting
          both the aq and the rl bit on the SC instruction makes
          the LR/SC sequence sequentially consistent, meaning that
          it cannot be reordered with earlier or later memory
          operations from the same hart.

 Software should not set the rl bit on an LR instruction unless
 the aq bit is also set, nor should software set the aq bit on an
 SC instruction unless the rl bit is also set. LR.rl and SC.aq
 instructions are not guaranteed to provide any stronger ordering
 than those with both bits clear, but may result in lower
 performance.

Also, I way of transforming ".rl + full barrier" to ".aqrl" was approved
by (the author of the RVWMO spec) [2]

[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/1391516953-14541-1-git-send-email-will.deacon@arm.com/
[2] https://lore.kernel.org/linux-riscv/41e01514-74ca-84f2-f5cc-2645c444fd8e@nvidia.com/

Signed-off-by: Bobby Eshleman <bobbyeshleman@gmail.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 - drop "" in __atomic_{acquire, release}_fence().
 - code style fixes in atomic##prefix##_##op##_return(): indentation.
 - drop an unary_op argument ("+") for ATOMIC_OPS(and, and), ATOMIC_OPS( or,  or), ATOMIC_OPS(xor, xor)
   and use "+" directly inside definition of ATOMIC_OPS().
 - drop c_op for ATOMIC_OPS(add, add, +) and ATOMIC_OPS(sub, add, -) as it is always "+" for now.
   Just use "+" inside definition of ATOMIC_OPS().
 - drop size argument for ATOMIC_OP() defintions of atomic##prefix##_{xchg,cmpxchg}()
 - update the commit message.
---
Changes in V7:
 - drop relaxed version of atomic ops as they are not used.
 - update the commit message
 - code style fixes
 - refactor functions write_atomic(), add_sized() to be able to use #ifdef CONFIG_RISCV_32 ... #endif
   for {write,read}q().
 - update ATOMIC_OPS to receive unary operator.
 - update the header on top of atomic-ops.h.
 - some minor movements of function inside atomic-ops.h header.
---
Changes in V6:
 - drop atomic##prefix##_{cmp}xchg_{release, aquire, relaxed} as they aren't used
   by Xen
 - code style fixes.
 - %s/__asm__ __volatile__/asm volatile
 - add explanational comments.
 - move inclusion of "#include <asm-generic/atomic-ops.h>" further down in atomic.h
   header.
---
Changes in V5:
 - fence.h changes were moved to separate patch as patches related to io.h and cmpxchg.h,
   which are dependecies for this patch, also needed changes in fence.h
 - remove accessing of zero-length array
 - drops cast in write_atomic()
 - drop introduction of WRITE_ONCE() and READ_ONCE().
 - drop defines similar to pattern #define atomic_add_return_relaxed   atomic_add_return_relaxed
 - Xen code style fixes
 - move not RISC-V specific functions to asm-generic/atomics-ops.h
---
Changes in V4:
 - do changes related to the updates of [PATCH v3 13/34] xen/riscv: introduce cmpxchg.h
 - drop casts in read_atomic_size(), write_atomic(), add_sized()
 - tabs -> spaces
 - drop #ifdef CONFIG_SMP ... #endif in fence.ha as it is simpler to handle NR_CPUS=1
   the same as NR_CPUS>1 with accepting less than ideal performance.
---
Changes in V3:
  - update the commit message
  - add SPDX for fence.h
  - code style fixes
  - Remove /* TODO: ... */ for add_sized macros. It looks correct to me.
  - re-order the patch
  - merge to this patch fence.h
---
Changes in V2:
 - Change an author of commit. I got this header from Bobby's old repo.
---

 xen/arch/riscv/include/asm/atomic.h  | 281 +++++++++++++++++++++++++++
 xen/include/asm-generic/atomic-ops.h |  97 +++++++++
 2 files changed, 378 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/atomic.h
 create mode 100644 xen/include/asm-generic/atomic-ops.h

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
new file mode 100644
index 0000000000..b30355e20e
--- /dev/null
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -0,0 +1,281 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Taken and modified from Linux.
+ *
+ * The following changes were done:
+ * - * atomic##prefix##_*xchg_*(atomic##prefix##_t *v, c_t n) were updated
+ *     to use__*xchg_generic()
+ * - drop casts in write_atomic() as they are unnecessary
+ * - drop introduction of WRITE_ONCE() and READ_ONCE().
+ *   Xen provides ACCESS_ONCE()
+ * - remove zero-length array access in read_atomic()
+ * - drop defines similar to pattern
+ *   #define atomic_add_return_relaxed   atomic_add_return_relaxed
+ * - move not RISC-V specific functions to asm-generic/atomics-ops.h
+ * 
+ * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
+ * Copyright (C) 2012 Regents of the University of California
+ * Copyright (C) 2017 SiFive
+ * Copyright (C) 2024 Vates SAS
+ */
+
+#ifndef _ASM_RISCV_ATOMIC_H
+#define _ASM_RISCV_ATOMIC_H
+
+#include <xen/atomic.h>
+
+#include <asm/cmpxchg.h>
+#include <asm/fence.h>
+#include <asm/io.h>
+#include <asm/system.h>
+
+void __bad_atomic_size(void);
+
+/*
+ * 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;
+#ifndef CONFIG_RISCV_32
+    case 8: *(uint32_t *)res = readq(p); break;
+#endif
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define read_atomic(p) ({                                   \
+    union { typeof(*(p)) val; char c[sizeof(*(p))]; } x_;   \
+    read_atomic_size(p, x_.c, sizeof(*(p)));                \
+    x_.val;                                                 \
+})
+
+static always_inline void _write_atomic(volatile void *p,
+                                       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;
+#ifndef CONFIG_RISCV_32
+    case 8: writeq(x, p); break;
+#endif
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define write_atomic(p, x)                              \
+({                                                      \
+    typeof(*(p)) x_ = (x);                              \
+    _write_atomic((p), x_, sizeof(*(p)));               \
+    x_;                                                 \
+})
+
+static always_inline void _add_sized(volatile void *p,
+                                     unsigned long x, unsigned int size)
+{
+    switch ( size )
+    {
+    case 1:
+    {
+        volatile uint8_t *ptr = (volatile uint8_t *)p;
+        write_atomic(ptr, read_atomic(ptr) + x);
+        break;
+    }
+    case 2:
+    {
+        volatile uint16_t *ptr = (volatile uint16_t *)p;
+        write_atomic(ptr, read_atomic(ptr) + x);
+        break;
+    }
+    case 4:
+    {
+        volatile uint32_t *ptr = (volatile uint32_t *)p;
+        write_atomic(ptr, read_atomic(ptr) + x);
+        break;
+    }
+#ifndef CONFIG_RISCV_32
+    case 8:
+    {
+        volatile uint64_t *ptr = (volatile uint64_t *)p;
+        write_atomic(ptr, read_atomic(ptr) + x);
+        break;
+    }
+#endif
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define add_sized(p, x)                                 \
+({                                                      \
+    typeof(*(p)) x_ = (x);                              \
+    _add_sized((p), x_, sizeof(*(p)));                  \
+})
+
+#define __atomic_acquire_fence() \
+    asm volatile ( RISCV_ACQUIRE_BARRIER ::: "memory" )
+
+#define __atomic_release_fence() \
+    asm volatile ( RISCV_RELEASE_BARRIER ::: "memory" )
+
+/*
+ * First, the atomic ops that have no ordering constraints and therefor don't
+ * have the AQ or RL bits set.  These don't return anything, so there's only
+ * one version to worry about.
+ */
+#define ATOMIC_OP(op, asm_op, unary_op, asm_type, c_type, prefix)  \
+static inline                                               \
+void atomic##prefix##_##op(c_type i, atomic##prefix##_t *v) \
+{                                                           \
+    asm volatile (                                          \
+        "   amo" #asm_op "." #asm_type " zero, %1, %0"      \
+        : "+A" (v->counter)                                 \
+        : "r" (unary_op i)                                  \
+        : "memory" );                                       \
+}                                                           \
+
+/*
+ * Only CONFIG_GENERIC_ATOMIC64=y was ported to Xen that is the reason why
+ * last argument for ATOMIC_OP isn't used.
+ */
+#define ATOMIC_OPS(op, asm_op, unary_op)                    \
+        ATOMIC_OP (op, asm_op, unary_op, w, int,   )
+
+ATOMIC_OPS(add, add, +)
+ATOMIC_OPS(sub, add, -)
+ATOMIC_OPS(and, and, +)
+ATOMIC_OPS( or,  or, +)
+ATOMIC_OPS(xor, xor, +)
+
+#undef ATOMIC_OP
+#undef ATOMIC_OPS
+
+#include <asm-generic/atomic-ops.h>
+
+/*
+ * Atomic ops that have ordered variant.
+ * There's two flavors of these: the arithmatic ops have both fetch and return
+ * versions, while the logical ops only have fetch versions.
+ */
+#define ATOMIC_FETCH_OP(op, asm_op, unary_op, asm_type, c_type, prefix) \
+static inline                                                       \
+c_type atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v) \
+{                                                                   \
+    register c_type ret;                                            \
+    asm volatile (                                                  \
+        "   amo" #asm_op "." #asm_type ".aqrl  %1, %2, %0"          \
+        : "+A" (v->counter), "=r" (ret)                             \
+        : "r" (unary_op i)                                          \
+        : "memory" );                                               \
+    return ret;                                                     \
+}
+
+#define ATOMIC_OP_RETURN(op, asm_op, c_op, unary_op, asm_type, c_type, prefix) \
+static inline                                                           \
+c_type atomic##prefix##_##op##_return(c_type i, atomic##prefix##_t *v)  \
+{                                                                       \
+    return atomic##prefix##_fetch_##op(i, v) c_op (unary_op i);         \
+}
+
+/*
+ * Only CONFIG_GENERIC_ATOMIC64=y was ported to Xen that is the reason why
+ * last argument of ATOMIC_FETCH_OP, ATOMIC_OP_RETURN isn't used.
+ */
+#define ATOMIC_OPS(op, asm_op, unary_op)                        \
+        ATOMIC_FETCH_OP( op, asm_op,    unary_op, w, int,   )   \
+        ATOMIC_OP_RETURN(op, asm_op, +, unary_op, w, int,   )
+
+ATOMIC_OPS(add, add, +)
+ATOMIC_OPS(sub, add, -)
+
+#undef ATOMIC_OPS
+
+#define ATOMIC_OPS(op, asm_op) \
+        ATOMIC_FETCH_OP(op, asm_op, +, w, int,   )
+
+ATOMIC_OPS(and, and)
+ATOMIC_OPS( or,  or)
+ATOMIC_OPS(xor, xor)
+
+#undef ATOMIC_OPS
+
+#undef ATOMIC_FETCH_OP
+#undef ATOMIC_OP_RETURN
+
+/* This is required to provide a full barrier on success. */
+static inline int atomic_add_unless(atomic_t *v, int a, int u)
+{
+    int prev, rc;
+
+    asm volatile (
+        "0: lr.w     %[p],  %[c]\n"
+        "   beq      %[p],  %[u], 1f\n"
+        "   add      %[rc], %[p], %[a]\n"
+        "   sc.w.aqrl  %[rc], %[rc], %[c]\n"
+        "   bnez     %[rc], 0b\n"
+        "1:\n"
+        : [p] "=&r" (prev), [rc] "=&r" (rc), [c] "+A" (v->counter)
+        : [a] "r" (a), [u] "r" (u)
+        : "memory");
+    return prev;
+}
+
+static inline int atomic_sub_if_positive(atomic_t *v, int offset)
+{
+    int prev, rc;
+
+    asm volatile (
+        "0: lr.w     %[p],  %[c]\n"
+        "   sub      %[rc], %[p], %[o]\n"
+        "   bltz     %[rc], 1f\n"
+        "   sc.w.aqrl  %[rc], %[rc], %[c]\n"
+        "   bnez     %[rc], 0b\n"
+        "1:\n"
+        : [p] "=&r" (prev), [rc] "=&r" (rc), [c] "+A" (v->counter)
+        : [o] "r" (offset)
+        : "memory" );
+    return prev - offset;
+}
+
+/*
+ * atomic_{cmp,}xchg is required to have exactly the same ordering semantics as
+ * {cmp,}xchg and the operations that return.
+ */
+#define ATOMIC_OP(c_t, prefix)                                  \
+static inline                                                   \
+c_t atomic##prefix##_xchg(atomic##prefix##_t *v, c_t n)         \
+{                                                               \
+    return __xchg(&v->counter, n, sizeof(c_t));                 \
+}                                                               \
+static inline                                                   \
+c_t atomic##prefix##_cmpxchg(atomic##prefix##_t *v, c_t o, c_t n) \
+{                                                               \
+    return __cmpxchg(&v->counter, o, n, sizeof(c_t));           \
+}
+
+#define ATOMIC_OPS() \
+    ATOMIC_OP(int,   )
+
+ATOMIC_OPS()
+
+#undef ATOMIC_OPS
+#undef ATOMIC_OP
+
+#endif /* _ASM_RISCV_ATOMIC_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-generic/atomic-ops.h b/xen/include/asm-generic/atomic-ops.h
new file mode 100644
index 0000000000..98dd907942
--- /dev/null
+++ b/xen/include/asm-generic/atomic-ops.h
@@ -0,0 +1,97 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * The header provides default implementations for every xen/atomic.h-provided
+ * forward inline declaration that can be synthesized from other atomic
+ * functions or being created from scratch.
+ */
+#ifndef _ASM_GENERIC_ATOMIC_OPS_H_
+#define _ASM_GENERIC_ATOMIC_OPS_H_
+
+#include <xen/atomic.h>
+#include <xen/lib.h>
+
+#ifndef ATOMIC_READ
+static inline int atomic_read(const atomic_t *v)
+{
+    return ACCESS_ONCE(v->counter);
+}
+#endif
+
+#ifndef _ATOMIC_READ
+static inline int _atomic_read(atomic_t v)
+{
+    return v.counter;
+}
+#endif
+
+#ifndef ATOMIC_SET
+static inline void atomic_set(atomic_t *v, int i)
+{
+    ACCESS_ONCE(v->counter) = i;
+}
+#endif
+
+#ifndef _ATOMIC_SET
+static inline void _atomic_set(atomic_t *v, int i)
+{
+    v->counter = i;
+}
+#endif
+
+#ifndef ATOMIC_SUB_AND_TEST
+static inline int atomic_sub_and_test(int i, atomic_t *v)
+{
+    return atomic_sub_return(i, v) == 0;
+}
+#endif
+
+#ifndef ATOMIC_INC_AND_TEST
+static inline int atomic_inc_and_test(atomic_t *v)
+{
+    return atomic_add_return(1, v) == 0;
+}
+#endif
+
+#ifndef ATOMIC_INC
+static inline void atomic_inc(atomic_t *v)
+{
+    atomic_add(1, v);
+}
+#endif
+
+#ifndef ATOMIC_INC_RETURN
+static inline int atomic_inc_return(atomic_t *v)
+{
+    return atomic_add_return(1, v);
+}
+#endif
+
+#ifndef ATOMIC_DEC
+static inline void atomic_dec(atomic_t *v)
+{
+    atomic_sub(1, v);
+}
+#endif
+
+#ifndef ATOMIC_DEC_RETURN
+static inline int atomic_dec_return(atomic_t *v)
+{
+    return atomic_sub_return(1, v);
+}
+#endif
+
+#ifndef ATOMIC_DEC_AND_TEST
+static inline int atomic_dec_and_test(atomic_t *v)
+{
+    return atomic_sub_return(1, v) == 0;
+}
+#endif
+
+#ifndef ATOMIC_ADD_NEGATIVE
+static inline int atomic_add_negative(int i, atomic_t *v)
+{
+    return atomic_add_return(i, v) < 0;
+}
+#endif
+
+#endif /* _ASM_GENERIC_ATOMIC_OPS_H_ */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707310.1105168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AL-0001lw-E9; Wed, 17 Apr 2024 10:05:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707310.1105168; Wed, 17 Apr 2024 10:05:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AL-0001l2-66; Wed, 17 Apr 2024 10:05:21 +0000
Received: by outflank-mailman (input) for mailman id 707310;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AJ-0007lI-H8
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:19 +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 fec5b97f-fca1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:19 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-516db2214e6so6721215e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:19 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: fec5b97f-fca1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348318; x=1713953118; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A55wmsJqyXmnZuLXU+YGkCyPNW/O3UT62P8nJKgR0qE=;
        b=lmj0aURV5HFGTsJ2vC93nYvXIAB5a0X1SKGAi8pvtHj094hyQp4SkR6w/37Ntjt1Tr
         6a9o6U6JNj5HbLOfsqm7X9Jh5mLF4s8JyTfDEgcsZdb4lKgZTpSjpLLPbenhRZeeiDix
         BsvuDORVMiSZsPQEAFAYqxBj38HxCu86FftmOw01fuLw4cy8vCZX8f+iRpyDF33V3+aE
         wJnlOTWp2uwOzgjUgqIxHgbYWgVeW+hnYQjgfwCrQt05FP8dtBvpuVeaCDuTWMJSD+B6
         qn6m0PsyhH3OnDIFFo6eiEa6+X4H8/UepqK4cWlbG29NjHyX3/SMnmpee7UM4G94clbK
         bpwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348318; x=1713953118;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=A55wmsJqyXmnZuLXU+YGkCyPNW/O3UT62P8nJKgR0qE=;
        b=PtHMC0KtrRqo2E8ezQi8NzjmriZ7ofMl01tq4U9tzt6lW1GSTsNszmnIZeVIiF1qzg
         AYEnQxnUj5EzO+y/NZIlCSSUDhSAbfEWfWpiSCu09DXHTNGQk2X2y21kLgRFU5NXbPap
         EyXMWnezySWStigQt226gZTvEZdVUvET/YUPCwhucSMTbmEKzbxjGeOIL7Y3oYdQMJz9
         7Zixhj61vBOWrlQPrO9W1vRpQr0iMGc45TZX7+arHy/eaqcVC044lEF0SwjtYFlrLEOi
         Yqjr0GV/S/C4smjAfLpCzO7SZkiTCzGAOOBGPd3YU5NEYwlc1OlrmigsErm7nc6YvV+y
         TZRQ==
X-Gm-Message-State: AOJu0YysispNyKNrNBPUD5XkPZK3vpvlRdz7Ra0Whm13ddTkrelBMaWu
	4B5VjMpzc1q8bG/Pn4pJl14wMwYxFW6aXuUTpR2vJw4Jn/HnJIzXvUwxyw==
X-Google-Smtp-Source: AGHT+IFA/TrttR/he40SFw+S/7WjIdupAZdY9f6uf/CSuQang1ycRpErrKDMTL1oVTtErcmsI3M7mA==
X-Received: by 2002:a19:f80f:0:b0:513:cf73:d8d2 with SMTP id a15-20020a19f80f000000b00513cf73d8d2mr9089456lff.54.1713348316464;
        Wed, 17 Apr 2024 03:05:16 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 10/17] xen/riscv: add definition of __read_mostly
Date: Wed, 17 Apr 2024 12:04:53 +0200
Message-ID: <6298d783d5b32307e76f91bcb969ef3ed64e28ab.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The definition of __read_mostly should be removed in:
https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com/

The patch introduces it in arch-specific header to not
block enabling of full Xen build for RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
- [PATCH] move __read_mostly to xen/cache.h  [2]

Right now, the patch series doesn't have a direct dependency on [2] and it
provides __read_mostly in the patch:
    [PATCH v3 26/34] xen/riscv: add definition of __read_mostly
However, it will be dropped as soon as [2] is merged or at least when the
final version of the patch [2] is provided.

Considering that there is still no still final decision regarding patch [2] my suggestion
is to merge RISC-V specific patch and just drop the changes in patch [2].

[2] https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com/
---
Change in V8:
 - update the footer after Signed-off.
---
Changes in V4-V7:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/cache.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/riscv/include/asm/cache.h b/xen/arch/riscv/include/asm/cache.h
index 69573eb051..94bd94db53 100644
--- a/xen/arch/riscv/include/asm/cache.h
+++ b/xen/arch/riscv/include/asm/cache.h
@@ -3,4 +3,6 @@
 #ifndef _ASM_RISCV_CACHE_H
 #define _ASM_RISCV_CACHE_H
 
+#define __read_mostly __section(".data.read_mostly")
+
 #endif /* _ASM_RISCV_CACHE_H */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707311.1105179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AM-00024V-TE; Wed, 17 Apr 2024 10:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707311.1105179; Wed, 17 Apr 2024 10:05: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 1rx2AM-00023m-K4; Wed, 17 Apr 2024 10:05:22 +0000
Received: by outflank-mailman (input) for mailman id 707311;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AL-0007lI-5Z
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:21 +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 ffc6d18f-fca1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:20 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-518a56cdc03so4783062e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:20 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: ffc6d18f-fca1-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348319; x=1713953119; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2am1xKyxE6JlgsfSfWnqwPwpi6tx6R61A7kq4D9LFjk=;
        b=gDMrbQYgfJGjP+sqjCeaU7TQPjgY0vkMlC6qeRyDaCjGnAh6LgA0jJZci++FaAeqK6
         rwwBJGobgFbJc4OZlv2PKKdNFfT3eFS1hi5Q0Sjp3KnZxC34EMbVu6jO1rHZx/Im0FHF
         9Q/k2HJHmb8UNPBpKXq/fJBubvbKmuHulDRMIG3QLOVsdZe9e/weQszbW+DyXFoCtvsi
         c6+NuT1C/WCVTUuxEl747WpJhdX0IYw8aS0ORoLlNCqy4mzfkqfUyo8WF02SbupfHR5g
         r2Gf9aec5EgviwrLRuXOClhivcr4vePeJausgITZdH5YTxSENQmxOzDvJUAxLG4EGFdh
         VltQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348319; x=1713953119;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2am1xKyxE6JlgsfSfWnqwPwpi6tx6R61A7kq4D9LFjk=;
        b=dXms2mCD5CbeEdwseq06Hw5CmK17WnM8foBRQ5HpfICH/3njajxdeBFLRU7XXyF6kw
         H6gT3C6SGtDMn6B+vqAQX6e/SctvzLFEZMvtMQMO+XtnKW/tZaBcgWiZjvnQWsQHiXcQ
         MbzdcKkP1ZH01si/xf/H5Cufos/Df/4weR0h5I7CIFyp8ZdSt0wURxqPBdlnTLchDC4w
         P6gtQABGM3FDOlrxdG097X3j65EUP0sOfCmQuhxVRNxJVgxeMI4maDA6CXA+cJDGdnf4
         HupDVJn63avPeNYovl1XMIDT3tYEvU/31LKvBrqQUGMmvMNGzQkrs2yaaarf4Sf6bM4B
         1KWQ==
X-Gm-Message-State: AOJu0YxJ5uWsvsNK3Zhs5/6vWgiSIncaa4eyhVK1+2l6is7jn3eU2R87
	iIHUH9ZkDMlKxIsjMaSXsJ0crjVgtY2N8Cnosa3f6/hQmDFyDG8bLyYdEQ==
X-Google-Smtp-Source: AGHT+IG4YzV6cn8xxJwdwfvBRT665yfVESZrPLkUSP9xoKcmcZwcTYCzLd07SI+jpcSADeYiyZ0ckw==
X-Received: by 2002:a05:6512:124e:b0:519:2a14:8511 with SMTP id fb14-20020a056512124e00b005192a148511mr3293313lfb.69.1713348319472;
        Wed, 17 Apr 2024 03:05:19 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 11/17] xen/riscv: add required things to current.h
Date: Wed, 17 Apr 2024 12:04:54 +0200
Message-ID: <5236076478a67e129e86a7ad0adf3ef5950991e0.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add minimal requied things to be able to build full Xen.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5-V8:
 - Nothing changed. Only rebase.
---
Changes in V4:
 - BUG() was changed to BUG_ON("unimplemented");
 - Change "xen/bug.h" to "xen/lib.h" as BUG_ON is defined in xen/lib.h.
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - add SPDX
 - drop a forward declaration of struct vcpu;
 - update guest_cpu_user_regs() macros
 - replace get_processor_id with smp_processor_id
 - update the commit message
 - code style fixes
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/current.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
index d84f15dc50..aedb6dc732 100644
--- a/xen/arch/riscv/include/asm/current.h
+++ b/xen/arch/riscv/include/asm/current.h
@@ -3,6 +3,21 @@
 #ifndef __ASM_CURRENT_H
 #define __ASM_CURRENT_H
 
+#include <xen/lib.h>
+#include <xen/percpu.h>
+#include <asm/processor.h>
+
+#ifndef __ASSEMBLY__
+
+/* Which VCPU is "current" on this PCPU. */
+DECLARE_PER_CPU(struct vcpu *, curr_vcpu);
+
+#define current            this_cpu(curr_vcpu)
+#define set_current(vcpu)  do { current = (vcpu); } while (0)
+#define get_cpu_current(cpu)  per_cpu(curr_vcpu, cpu)
+
+#define guest_cpu_user_regs() ({ BUG_ON("unimplemented"); NULL; })
+
 #define switch_stack_and_jump(stack, fn) do {               \
     asm volatile (                                          \
             "mv sp, %0\n"                                   \
@@ -10,4 +25,8 @@
     unreachable();                                          \
 } while ( false )
 
+#define get_per_cpu_offset() __per_cpu_offset[smp_processor_id()]
+
+#endif /* __ASSEMBLY__ */
+
 #endif /* __ASM_CURRENT_H */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707312.1105183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AN-00028f-Hc; Wed, 17 Apr 2024 10:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707312.1105183; Wed, 17 Apr 2024 10: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 1rx2AN-00027n-0B; Wed, 17 Apr 2024 10:05:23 +0000
Received: by outflank-mailman (input) for mailman id 707312;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AL-0007lI-SW
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:21 +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 003428eb-fca2-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:21 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-516d2b9cd69so6631302e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:21 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03: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: 003428eb-fca2-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348321; x=1713953121; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NWUhP94yvcA6vU5jYmkYKwbyjJ+QxvIbXmFZAa4CYbo=;
        b=CJzJ0eBSiYQhxQuW8wlVD9GLDMOWfGdJI0gjX7+il9tppL2nbCxBXRu2uRo9kpwBXV
         L04l8cAir2u8t7aGtsUf3839YKM+RGp5lmkP/AYWOB67O0VbmuK5DllJ66u8oqSvHM3w
         +66p9ZyNegDKY5yrF4IO73+TIlwHwGOOfDFWuSBLs1ztta13Faq8hxnmpjLDwnSfNEAb
         hE32jHb1mEElXMFXmF+oPq1u7VqxV04lvV5bXZLA7MmP+UlteLgx1JL1yOdrhqQlYAfm
         JK+/7qi7Po2cxauKSF0GcEmEF1Fi/S597idja+4kgsi6MZdtc+tL8BY3oTK5F5h2TorL
         LkUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348321; x=1713953121;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NWUhP94yvcA6vU5jYmkYKwbyjJ+QxvIbXmFZAa4CYbo=;
        b=lsaj6RkQbob+iU5SolpCf42hx4kQjl+K8sBzT7R2JjbaOncwojjGCPBgfcJN2d97qg
         nK8MyIqe3d5VDnJYoDMHeayiZB5IbVdAEKkpIM7R+ud58IIdTqxXRB/IaxHPrc1GQhFu
         pNrFOpKIB0e1kexQlAErwwt9WAn9+cr7z58r8fv6D4oURnsQJMxjOIv8M1/jsueO/asg
         oJk2CyB403RaFwdDQzponPA13dhipnVBgSq7maD9/FPQdSDZygMtlxzG+6mBaPnAM4CE
         VxWiLUeTY1PMPWIVdWewrZZvkb4dGCRqCGlepBidJx/Se6ON82x2BoUj9XUP3bVI4RAd
         1klw==
X-Gm-Message-State: AOJu0YyoU1aGC+FASvXUfjBjccDEEN3C+kI/8MDSfKkKms8cGKi0r8LE
	U10spTwO5lneSF5mTnf2BLk/E+UaidZyJSfs7bJZ49vH59qB0a96CPVsbA==
X-Google-Smtp-Source: AGHT+IGItd1Co/dnsTLPLrblG3pxMnQ+rY3gmxCzMZpWSytXlOcqxgjmCKgBDhK9mFtoXmAsfxoTGQ==
X-Received: by 2002:a19:6b03:0:b0:518:f8a6:9f42 with SMTP id d3-20020a196b03000000b00518f8a69f42mr4877242lfa.17.1713348320754;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 12/17] xen/riscv: add minimal stuff to page.h to build full Xen
Date: Wed, 17 Apr 2024 12:04:55 +0200
Message-ID: <ff889391c4fb968ae142aeb0fc8cacd25b910fc5.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5-V8:
 - Nothing changed. Only rebase.
---
Changes in V4:
---
 - Change message -> subject in "Changes in V3"
 - s/BUG/BUG_ON("...")
 - Do proper rebase ( pfn_to_paddr() and paddr_to_pfn() aren't removed ).
---
Changes in V3:
 - update the commit subject
 - add implemetation of PAGE_HYPERVISOR macros
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
 - drop definition of pfn_to_addr, and paddr_to_pfn in <asm/mm.h>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/page.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index 95074e29b3..c831e16417 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -6,6 +6,7 @@
 #ifndef __ASSEMBLY__
 
 #include <xen/const.h>
+#include <xen/bug.h>
 #include <xen/types.h>
 
 #include <asm/mm.h>
@@ -32,6 +33,10 @@
 #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
 #define PTE_TABLE                   (PTE_VALID)
 
+#define PAGE_HYPERVISOR_RW          (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
+
+#define PAGE_HYPERVISOR             PAGE_HYPERVISOR_RW
+
 /* Calculate the offsets into the pagetables for a given VA */
 #define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
 
@@ -62,6 +67,20 @@ static inline bool pte_is_valid(pte_t p)
     return p.pte & PTE_VALID;
 }
 
+static inline void invalidate_icache(void)
+{
+    BUG_ON("unimplemented");
+}
+
+#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
+#define copy_page(dp, sp) memcpy(dp, sp, PAGE_SIZE)
+
+/* TODO: Flush the dcache for an entire page. */
+static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
+{
+    BUG_ON("unimplemented");
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707313.1105199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AP-0002pK-R2; Wed, 17 Apr 2024 10:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707313.1105199; Wed, 17 Apr 2024 10: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 1rx2AP-0002oe-LI; Wed, 17 Apr 2024 10:05:25 +0000
Received: by outflank-mailman (input) for mailman id 707313;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AN-0007lI-Vk
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:24 +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 014a3ebb-fca2-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:23 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-518b9527c60so4407229e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:23 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03: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: 014a3ebb-fca2-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348322; x=1713953122; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i7o+kUkpGWjY5GwdMAfJpkURrTF7v9TH7CmTTMJXk70=;
        b=Vb2zE6GlFTRWnINk1E2r70xUnrEH/AT6LaePoP952dMIntBEVFGm7gB1cuCjs0YxVg
         KlwUa52abr2FsKGkahG5yISRyAsEJgsjuMF8O1mAbR7S46P6p5A8AUSx/bnNveNv9EOl
         LIXGfM8G4SMD9YV12EOdSJWMblxC2shh8OCM3T5geuHCY4hysuTyLzlE5b0mgPlZAR9G
         GVLwWQskjj5zfhqKdsHZ/6r9YtmOtfpJJNcVgBSvoFMKovbQcIze68pzErH5B0EnEJCE
         mQeMHHsz0QM+EPb/V8/7LC32nwly+9K6ngIaaKDm58gcdq4lJcZrCDIO5yl6Y04ZYDKg
         xIqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348322; x=1713953122;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=i7o+kUkpGWjY5GwdMAfJpkURrTF7v9TH7CmTTMJXk70=;
        b=SPhSOw1d5IUlJStGlHrA8Qf1XFEVaRD2GZaU1lVNxcUuGcAQhDGWB+rltE6BihFMBv
         fbdHBYi3YP4GBA4qMr9gZcQG22M4DdBwCTKkSMz71KCveTp/sWJN6Or9YFK5qtsP3CDi
         Jkihuaynij0TPu0cEvu6mcrnBbxNZEuFZIGHPJLi/tfJ8cT2YdI+2qjdIUvruP4HNhLl
         XYe7rHmZjkfKLWFquLJFSuLiawaQAP5f4PW3U6MI1XcJ20ZzLvaPvDRaspLp8g3Qeg4r
         Sa6rgZEhVho444NY9WczjKAfneGD6nbyXFC5s3zspfqlH5H5XgK2vJ02O411Xjoin/7F
         vH3g==
X-Gm-Message-State: AOJu0Yx12tKohNadVSseEelyqgw3BhjUVwON8cm3RoFqk/x2xw7keYIF
	Wz02dO1yY54FeJSK8Yk5f10sSbRZQXNRILkfp4PLyNNwaRGybBC4wvLsVg==
X-Google-Smtp-Source: AGHT+IEEqo1Z+6h6zT9w4uT3doKXysRHaxvMFfTe2+o39taOI2jRwC3lD7R0X4hXOF+8nf8CNvid3w==
X-Received: by 2002:a05:6512:251e:b0:518:c83a:fd71 with SMTP id be30-20020a056512251e00b00518c83afd71mr9979661lfb.58.1713348322279;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 13/17] xen/riscv: add minimal stuff to mm.h to build full Xen
Date: Wed, 17 Apr 2024 12:04:56 +0200
Message-ID: <829abfb8d34b82c0dac366c927e1c0eb0721650a.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V8:
 - Nothing changed only rebase.
---
Changes in V7:
 - update argument type of maddr_to_virt() function: unsigned long -> paddr_t
 - rename argument of PFN_ORDER(): pfn -> pg.
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
 - drop __virt_to_maddr() ( transform to macro ) and __maddr_to_virt ( rename to maddr_to_virt ).
 - parenthesize va in definition of vmap_to_mfn().
 - Code style fixes.
---
Changes in V5:
 - update the comment around "struct domain *domain;" : zero -> NULL
 - fix ident. for unsigned long val;
 - put page_to_virt() and virt_to_page() close to each other.
 - drop unnessary leading underscore
 - drop a space before the comment: /* Count of uses of this frame as its current type. */
 - drop comment about a page 'not as a shadow'. it is not necessary for RISC-V
---
Changes in V4:
 - update an argument name of PFN_ORDERN macros.
 - drop pad at the end of 'struct page_info'.
 - Change message -> subject in "Changes in V3"
 - delete duplicated macros from riscv/mm.h
 - fix identation in struct page_info
 - align comment for PGC_ macros
 - update definitions of domain_set_alloc_bitsize() and domain_clamp_alloc_bitsize()
 - drop unnessary comments.
 - s/BUG/BUG_ON("...")
 - define __virt_to_maddr, __maddr_to_virt as stubs
 - add inclusion of xen/mm-frame.h for mfn_x and others
 - include "xen/mm.h" instead of "asm/mm.h" to fix compilation issues:
	 In file included from arch/riscv/setup.c:7:
	./arch/riscv/include/asm/mm.h:60:28: error: field 'list' has incomplete type
	   60 |     struct page_list_entry list;
	      |                            ^~~~
	./arch/riscv/include/asm/mm.h:81:43: error: 'MAX_ORDER' undeclared here (not in a function)
	   81 |                 unsigned long first_dirty:MAX_ORDER + 1;
	      |                                           ^~~~~~~~~
	./arch/riscv/include/asm/mm.h:81:31: error: bit-field 'first_dirty' width not an integer constant
	   81 |                 unsigned long first_dirty:MAX_ORDER + 1;
 - Define __virt_to_mfn() and __mfn_to_virt() using maddr_to_mfn() and mfn_to_maddr().
---
Changes in V3:
 - update the commit title
 - introduce DIRECTMAP_VIRT_START.
 - drop changes related pfn_to_paddr() and paddr_to_pfn as they were remvoe in
   [PATCH v2 32/39] xen/riscv: add minimal stuff to asm/page.h to build full Xen
 - code style fixes.
 - drop get_page_nr  and put_page_nr as they don't need for time being
 - drop CONFIG_STATIC_MEMORY related things
 - code style fixes
---
Changes in V2:
 - define stub for arch_get_dma_bitsize(void)
---
 xen/arch/riscv/include/asm/mm.h | 240 ++++++++++++++++++++++++++++++++
 xen/arch/riscv/mm.c             |   2 +-
 xen/arch/riscv/setup.c          |   2 +-
 3 files changed, 242 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 07c7a0abba..cc4a07a71c 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -3,11 +3,246 @@
 #ifndef _ASM_RISCV_MM_H
 #define _ASM_RISCV_MM_H
 
+#include <public/xen.h>
+#include <xen/bug.h>
+#include <xen/mm-frame.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
+
 #include <asm/page-bits.h>
 
 #define pfn_to_paddr(pfn) ((paddr_t)(pfn) << PAGE_SHIFT)
 #define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
 
+#define paddr_to_pdx(pa)    mfn_to_pdx(maddr_to_mfn(pa))
+#define gfn_to_gaddr(gfn)   pfn_to_paddr(gfn_x(gfn))
+#define gaddr_to_gfn(ga)    _gfn(paddr_to_pfn(ga))
+#define mfn_to_maddr(mfn)   pfn_to_paddr(mfn_x(mfn))
+#define maddr_to_mfn(ma)    _mfn(paddr_to_pfn(ma))
+#define vmap_to_mfn(va)     maddr_to_mfn(virt_to_maddr((vaddr_t)(va)))
+#define vmap_to_page(va)    mfn_to_page(vmap_to_mfn(va))
+
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+#define virt_to_maddr(va) ({ BUG_ON("unimplemented"); 0; })
+
+/* Convert between Xen-heap virtual addresses and machine frame numbers. */
+#define __virt_to_mfn(va)  mfn_x(maddr_to_mfn(virt_to_maddr(va)))
+#define __mfn_to_virt(mfn) maddr_to_virt(mfn_to_maddr(_mfn(mfn)))
+
+/*
+ * We define non-underscored wrappers for above conversion functions.
+ * These are overriden in various source files while underscored version
+ * remain intact.
+ */
+#define virt_to_mfn(va)     __virt_to_mfn(va)
+#define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
+
+struct page_info
+{
+    /* Each frame can be threaded onto a doubly-linked list. */
+    struct page_list_entry list;
+
+    /* Reference count and various PGC_xxx flags and fields. */
+    unsigned long count_info;
+
+    /* Context-dependent fields follow... */
+    union {
+        /* Page is in use: ((count_info & PGC_count_mask) != 0). */
+        struct {
+            /* Type reference count and various PGT_xxx flags and fields. */
+            unsigned long type_info;
+        } inuse;
+
+        /* Page is on a free list: ((count_info & PGC_count_mask) == 0). */
+        union {
+            struct {
+                /*
+                 * Index of the first *possibly* unscrubbed page in the buddy.
+                 * One more bit than maximum possible order to accommodate
+                 * INVALID_DIRTY_IDX.
+                 */
+#define INVALID_DIRTY_IDX ((1UL << (MAX_ORDER + 1)) - 1)
+                unsigned long first_dirty:MAX_ORDER + 1;
+
+                /* Do TLBs need flushing for safety before next page use? */
+                bool need_tlbflush:1;
+
+#define BUDDY_NOT_SCRUBBING    0
+#define BUDDY_SCRUBBING        1
+#define BUDDY_SCRUB_ABORT      2
+                unsigned long scrub_state:2;
+            };
+
+            unsigned long val;
+        } free;
+    } u;
+
+    union {
+        /* Page is in use */
+        struct {
+            /* Owner of this page (NULL if page is anonymous). */
+            struct domain *domain;
+        } inuse;
+
+        /* Page is on a free list. */
+        struct {
+            /* Order-size of the free chunk this page is the head of. */
+            unsigned int order;
+        } free;
+    } v;
+
+    union {
+        /*
+         * Timestamp from 'TLB clock', used to avoid extra safety flushes.
+         * Only valid for: a) free pages, and b) pages with zero type count
+         */
+        uint32_t tlbflush_timestamp;
+    };
+};
+
+#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
+
+/* PDX of the first page in the frame table. */
+extern unsigned long frametable_base_pdx;
+
+/* Convert between machine frame numbers and page-info structures. */
+#define mfn_to_page(mfn)                                            \
+    (frame_table + (mfn_to_pdx(mfn) - frametable_base_pdx))
+#define page_to_mfn(pg)                                             \
+    pdx_to_mfn((unsigned long)((pg) - frame_table) + frametable_base_pdx)
+
+static inline void *page_to_virt(const struct page_info *pg)
+{
+    return mfn_to_virt(mfn_x(page_to_mfn(pg)));
+}
+
+/* Convert between Xen-heap virtual addresses and page-info structures. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    BUG_ON("unimplemented");
+    return NULL;
+}
+
+/*
+ * Common code requires get_page_type and put_page_type.
+ * We don't care about typecounts so we just do the minimum to make it
+ * happy.
+ */
+static inline int get_page_type(struct page_info *page, unsigned long type)
+{
+    return 1;
+}
+
+static inline void put_page_type(struct page_info *page)
+{
+}
+
+static inline void put_page_and_type(struct page_info *page)
+{
+    put_page_type(page);
+    put_page(page);
+}
+
+/*
+ * RISC-V does not have an M2P, but common code expects a handful of
+ * M2P-related defines and functions. Provide dummy versions of these.
+ */
+#define INVALID_M2P_ENTRY        (~0UL)
+#define SHARED_M2P_ENTRY         (~0UL - 1UL)
+#define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)
+
+#define set_gpfn_from_mfn(mfn, pfn) do { (void)(mfn), (void)(pfn); } while (0)
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define PDX_GROUP_SHIFT (PAGE_SHIFT + VPN_BITS)
+
+static inline unsigned long domain_get_maximum_gpfn(struct domain *d)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+static inline long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG_ON("unimplemented");
+    return 0;
+}
+
+/*
+ * On RISCV, all the RAM is currently direct mapped in Xen.
+ * Hence return always true.
+ */
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
+{
+    return true;
+}
+
+#define PG_shift(idx)   (BITS_PER_LONG - (idx))
+#define PG_mask(x, idx) (x ## UL << PG_shift(idx))
+
+#define PGT_none          PG_mask(0, 1)  /* no special uses of this page   */
+#define PGT_writable_page PG_mask(1, 1)  /* has writable mappings?         */
+#define PGT_type_mask     PG_mask(1, 1)  /* Bits 31 or 63.                 */
+
+/* Count of uses of this frame as its current type. */
+#define PGT_count_width   PG_shift(2)
+#define PGT_count_mask    ((1UL << PGT_count_width) - 1)
+
+/*
+ * Page needs to be scrubbed. Since this bit can only be set on a page that is
+ * free (i.e. in PGC_state_free) we can reuse PGC_allocated bit.
+ */
+#define _PGC_need_scrub   _PGC_allocated
+#define PGC_need_scrub    PGC_allocated
+
+/* Cleared when the owning guest 'frees' this page. */
+#define _PGC_allocated    PG_shift(1)
+#define PGC_allocated     PG_mask(1, 1)
+/* Page is Xen heap? */
+#define _PGC_xen_heap     PG_shift(2)
+#define PGC_xen_heap      PG_mask(1, 2)
+/* Page is broken? */
+#define _PGC_broken       PG_shift(7)
+#define PGC_broken        PG_mask(1, 7)
+/* Mutually-exclusive page states: { inuse, offlining, offlined, free }. */
+#define PGC_state         PG_mask(3, 9)
+#define PGC_state_inuse   PG_mask(0, 9)
+#define PGC_state_offlining PG_mask(1, 9)
+#define PGC_state_offlined PG_mask(2, 9)
+#define PGC_state_free    PG_mask(3, 9)
+#define page_state_is(pg, st) (((pg)->count_info&PGC_state) == PGC_state_##st)
+
+/* Count of references to this frame. */
+#define PGC_count_width   PG_shift(9)
+#define PGC_count_mask    ((1UL << PGC_count_width) - 1)
+
+#define _PGC_extra        PG_shift(10)
+#define PGC_extra         PG_mask(1, 10)
+
+#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
+#define is_xen_heap_mfn(mfn) \
+    (mfn_valid(mfn) && is_xen_heap_page(mfn_to_page(mfn)))
+
+#define is_xen_fixed_mfn(mfn)                                   \
+    ((mfn_to_maddr(mfn) >= virt_to_maddr((vaddr_t)_start)) &&   \
+     (mfn_to_maddr(mfn) <= virt_to_maddr((vaddr_t)_end - 1)))
+
+#define page_get_owner(p)    (p)->v.inuse.domain
+#define page_set_owner(p, d) ((p)->v.inuse.domain = (d))
+
+/* TODO: implement */
+#define mfn_valid(mfn) ({ (void)(mfn); 0; })
+
+#define domain_set_alloc_bitsize(d) ((void)(d))
+#define domain_clamp_alloc_bitsize(d, b) ((void)(d), (b))
+
+#define PFN_ORDER(pg) ((pg)->v.free.order)
+
 extern unsigned char cpu0_boot_stack[];
 
 void setup_initial_pagetables(void);
@@ -20,4 +255,9 @@ unsigned long calc_phys_offset(void);
 
 void turn_on_mmu(unsigned long ra);
 
+static inline unsigned int arch_get_dma_bitsize(void)
+{
+    return 32; /* TODO */
+}
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 053f043a3d..fe3a43be20 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -5,12 +5,12 @@
 #include <xen/init.h>
 #include <xen/kernel.h>
 #include <xen/macros.h>
+#include <xen/mm.h>
 #include <xen/pfn.h>
 
 #include <asm/early_printk.h>
 #include <asm/csr.h>
 #include <asm/current.h>
-#include <asm/mm.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 6593f601c1..98a94c4c48 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,9 +2,9 @@
 
 #include <xen/compile.h>
 #include <xen/init.h>
+#include <xen/mm.h>
 
 #include <asm/early_printk.h>
-#include <asm/mm.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707314.1105205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AQ-00030j-PO; Wed, 17 Apr 2024 10:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707314.1105205; Wed, 17 Apr 2024 10:05:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AQ-0002y4-HN; Wed, 17 Apr 2024 10:05:26 +0000
Received: by outflank-mailman (input) for mailman id 707314;
 Wed, 17 Apr 2024 10: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AP-0007lI-0R
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:25 +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 021eca86-fca2-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:24 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-518d98b9620so4271773e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:24 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: 021eca86-fca2-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348324; x=1713953124; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0Zxkw+mL5T/sVZ6fXp1IjzLMBsRj7OUQ6lwn8noHNI4=;
        b=CshkhIO36ZwBu8dZNU7jSQiCfUeZ7/NHzc9tZ8vnmd6ejTV1RCepZ9lq3rts9po2cE
         xy9yDP/aZzCwC0yhu+d8X9GwAVxowkpcVsBKlTUzoxwKCOtNYS8P+JQKXfw7H2ADQYSc
         zLIAmAy0U6et3G+6VpzSOILE+2R+hY3TJtXpPFxaX0nEPCrRK9EYFH/+cJh8HTwhhGV+
         rHBcwBbFY41pM/X1zQFlGqBjpNtyD5ZRttRhwVBwQfpuLqmtbTY3TcIoFBV2xuNg4fDG
         blj7o0fx3YF6BGbNG4s1plCErpyE0/b+TzS3MNoI2CGmkeCgH4GYfv6db3ULQJBLKcj5
         qdMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348324; x=1713953124;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0Zxkw+mL5T/sVZ6fXp1IjzLMBsRj7OUQ6lwn8noHNI4=;
        b=hnuFTNtQWdn+NlfIK/TB4iuzBOWFsPckkR5j77l0PUt12TrtReSpbJ+Nc+TEOCQ0Kb
         uTYwM83tHFAmAmSfftdyLnIVatiXDGIfbCI0Edp7U56hf78cZBy6WGYpIlW0PQ7fe6PO
         clCc5jMoPfU7yyTTq2S6Hi7TVv2G2db4sdDXr/64ycopbQ4rTAD88G9kHv1Cf0aSBcvn
         MoSVVGLkyV0q9wwvdf16cM5DYmntiU1JMOnLrH7bEPRYIrjhQXGh3SrpB7Fnu9JZT4B5
         fBhN44/QKdecHb4bMJ42MUi0Smg1vODn8Xsh8Su9a+cQG0REjjA4OWPdr+tyTjxcLkXD
         s07A==
X-Gm-Message-State: AOJu0YzJHOZHG5xPZ79meVidbpqUmjDoUGgUNmyP1OvZi3bT9NpdyoU5
	bUtcZXDHL0I1u7GUYtrixNeepXg08rSya1CTgvWO/5TsnuhUgQYt1I6GVg==
X-Google-Smtp-Source: AGHT+IEuhthCCU0JkRD0CKl2C5yuozX9kjs4TkkACQDg21fir9fI4U+/HQIqv5CQ0pW6Ey+JqIN48A==
X-Received: by 2002:ac2:555a:0:b0:515:cb19:41f4 with SMTP id l26-20020ac2555a000000b00515cb1941f4mr8962194lfk.59.1713348323866;
        Wed, 17 Apr 2024 03:05:23 -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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v8 14/17] xen/riscv: introduce vm_event_*() functions
Date: Wed, 17 Apr 2024 12:04:57 +0200
Message-ID: <011af5970c3c59b54d03d3f5c0876387958228bc.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5-V8:
 - Only rebase was done.
---
Changes in V4:
  - New patch.
---
 xen/arch/riscv/Makefile   |  1 +
 xen/arch/riscv/vm_event.c | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 xen/arch/riscv/vm_event.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 2fefe14e7c..1ed1a8369b 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 += traps.o
+obj-y += vm_event.o
 
 $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
diff --git a/xen/arch/riscv/vm_event.c b/xen/arch/riscv/vm_event.c
new file mode 100644
index 0000000000..bb1fc73bc1
--- /dev/null
+++ b/xen/arch/riscv/vm_event.c
@@ -0,0 +1,19 @@
+#include <xen/bug.h>
+
+struct vm_event_st;
+struct vcpu;
+
+void vm_event_fill_regs(struct vm_event_st *req)
+{
+    BUG_ON("unimplemented");
+}
+
+void vm_event_set_registers(struct vcpu *v, struct vm_event_st *rsp)
+{
+    BUG_ON("unimplemented");
+}
+
+void vm_event_monitor_next_interrupt(struct vcpu *v)
+{
+    /* Not supported on RISCV. */
+}
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707315.1105219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AU-0003dY-9V; Wed, 17 Apr 2024 10:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707315.1105219; Wed, 17 Apr 2024 10:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AU-0003d9-1t; Wed, 17 Apr 2024 10:05:30 +0000
Received: by outflank-mailman (input) for mailman id 707315;
 Wed, 17 Apr 2024 10:05:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AR-0007lO-Uw
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:28 +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 02ac1e74-fca2-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 12:05:25 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-516d2b9cd69so6631455e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:26 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 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: 02ac1e74-fca2-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348325; x=1713953125; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ji6gandjDY19lFHc/KAub5ijENESxTZvES4zg3uLK3Y=;
        b=a/K4zHmC4xvmOWaBP18U4Ayg65v1itYa6Vt3HTGWf3zmTxSucMk4ac8L+1/x6s+f4V
         NGmwYpdrgOJU9lJJ6uK4598vaczV6e+pHfPjsbPQcIq/P62pQkTaMymO62k+WN+9UuI8
         yJ5KqL2UE7OeFCka6V2sqmIo0CaJZea7mldj4FoLDofH3WJpfrWctdwCUdw2hh0seqcW
         Zm/CqfTrsrYHFcs0g1PZbJpcx+N+xhb1CIGry/ON5dczQM5vbSF8rTaMtqIyje/kJsqV
         vGjW0xTv1v5yhY1/q7whBp8aCmssGGlBNkoelQLq80ildXbLEfXWS2bbumpFzqqKfNjO
         7kVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348325; x=1713953125;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Ji6gandjDY19lFHc/KAub5ijENESxTZvES4zg3uLK3Y=;
        b=Rlx35K2/dLIKJ4vF4u5jb4qIMcIfoo/cn11zHRJtExr0AtJvTZ0uxrrRCIz2bLH5uD
         E4KlFvBqg4udGMF1y8W6aOjmsiYTfswatYfGkHYseekqE1mpfyloY2VpiyEJbLCcWMZV
         FyAeQwH8DGDv667ldlkqZAdx5VmLIGWrFIgR2mtfFsnPGmzOLqj1Z0NSKLl16fD/f+bK
         ybh4Qy/AhodP1a/NkbsUdb7BbZ7wyZuoFiVg2YkMoWvQTzpfXXBMEvUTf7c1DQ2x+HXT
         jg6+cR40sd2iOu07fBUGTURg33xepwx+qYGtCONxPIHzvwQyAVaEYu2sTj0Xy7dsYbt3
         4R1A==
X-Gm-Message-State: AOJu0YxQqIKm7/Hqr1daCGI+bWu1nzrGO9kN/G2UcPD/o/IlVdc65bin
	hgAn2IHlqFNJmwdqnjXfGWBGJ+L/QThQAGbMFIefH1GXFwLQjdH1rZ9+JQ==
X-Google-Smtp-Source: AGHT+IGUO2lO/eVtVCor8fLjRkEFu7RuVm17dpvs4m4aB7rO94EQOhtezbzgrotuGf52rwnuxpg2cQ==
X-Received: by 2002:a05:6512:3107:b0:518:6d2:2a8f with SMTP id n7-20020a056512310700b0051806d22a8fmr9936637lfb.24.1713348325181;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 15/17] xen/riscv: add minimal amount of stubs to build full Xen
Date: Wed, 17 Apr 2024 12:04:58 +0200
Message-ID: <fb6ff24e7ebf89951f2a7009a8b6acd75af3cacd.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V7:
 - Only rebase was done.
---
Changes in V6:
 - update the commit in stubs.c around /* ... common/irq.c ... */
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - drop unrelated changes
 - assert_failed("unimplmented...") change to BUG_ON()
---
Changes in V4:
  - added new stubs which are necessary for compilation after rebase: __cpu_up(), __cpu_disable(), __cpu_die()
    from smpboot.c
  - back changes related to printk() in early_printk() as they should be removed in the next patch to avoid
    compilation error.
  - update definition of cpu_khz: __read_mostly -> __ro_after_init.
  - drop vm_event_reset_vmtrace(). It is defibed in asm-generic/vm_event.h.
  - move vm_event_*() functions from stubs.c to riscv/vm_event.c.
  - s/BUG/BUG_ON("unimplemented") in stubs.c
  - back irq_actor_none() and irq_actor_none() as common/irq.c isn't compiled at this moment,
    so this function are needed to avoid compilation error.
  - defined max_page to avoid compilation error, it will be removed as soon as common/page_alloc.c will
    be compiled.
---
Changes in V3:
 - code style fixes.
 - update attribute for frametable_base_pdx  and frametable_virt_end to __ro_after_init.
   insteaf of read_mostly.
 - use BUG() instead of assert_failed/WARN for newly introduced stubs.
 - drop "#include <public/vm_event.h>" in stubs.c and use forward declaration instead.
 - drop ack_node() and end_node() as they aren't used now.
---
Changes in V2:
 - define udelay stub
 - remove 'select HAS_PDX' from RISC-V Kconfig because of
   https://lore.kernel.org/xen-devel/20231006144405.1078260-1-andrew.cooper3@citrix.com/
---
 xen/arch/riscv/Makefile |   1 +
 xen/arch/riscv/mm.c     |  50 +++++
 xen/arch/riscv/setup.c  |   8 +
 xen/arch/riscv/stubs.c  | 439 ++++++++++++++++++++++++++++++++++++++++
 xen/arch/riscv/traps.c  |  25 +++
 5 files changed, 523 insertions(+)
 create mode 100644 xen/arch/riscv/stubs.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 1ed1a8369b..60afbc0ad9 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 += stubs.o
 obj-y += traps.o
 obj-y += vm_event.o
 
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index fe3a43be20..2c3fb7d72e 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/cache.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
@@ -14,6 +15,9 @@
 #include <asm/page.h>
 #include <asm/processor.h>
 
+unsigned long __ro_after_init frametable_base_pdx;
+unsigned long __ro_after_init frametable_virt_end;
+
 struct mmu_desc {
     unsigned int num_levels;
     unsigned int pgtbl_count;
@@ -294,3 +298,49 @@ unsigned long __init calc_phys_offset(void)
     phys_offset = load_start - XEN_VIRT_START;
     return phys_offset;
 }
+
+void put_page(struct page_info *page)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned long get_upper_mfn_bound(void)
+{
+    /* No memory hotplug yet, so current memory limit is the final one. */
+    return max_page - 1;
+}
+
+void arch_dump_shared_mem_info(void)
+{
+    BUG_ON("unimplemented");
+}
+
+int populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    BUG_ON("unimplemented");
+    return -1;
+}
+
+int xenmem_add_to_physmap_one(struct domain *d, unsigned int space,
+                              union add_to_physmap_extra extra,
+                              unsigned long idx, gfn_t gfn)
+{
+    BUG_ON("unimplemented");
+
+    return 0;
+}
+
+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/setup.c b/xen/arch/riscv/setup.c
index 98a94c4c48..8bb5bdb2ae 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,11 +1,19 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/compile.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 
+#include <public/version.h>
+
 #include <asm/early_printk.h>
 
+void arch_get_xen_caps(xen_capabilities_info_t *info)
+{
+    BUG_ON("unimplemented");
+}
+
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
new file mode 100644
index 0000000000..8285bcffef
--- /dev/null
+++ b/xen/arch/riscv/stubs.c
@@ -0,0 +1,439 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/cpumask.h>
+#include <xen/domain.h>
+#include <xen/irq.h>
+#include <xen/nodemask.h>
+#include <xen/time.h>
+#include <public/domctl.h>
+
+#include <asm/current.h>
+
+/* smpboot.c */
+
+cpumask_t cpu_online_map;
+cpumask_t cpu_present_map;
+cpumask_t cpu_possible_map;
+
+/* ID of the PCPU we're running on */
+DEFINE_PER_CPU(unsigned int, cpu_id);
+/* XXX these seem awfully x86ish... */
+/* representing HT siblings of each logical CPU */
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_mask);
+/* representing HT and core siblings of each logical CPU */
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
+
+nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
+
+/*
+ * max_page is defined in page_alloc.c which isn't complied for now.
+ * definition of max_page will be remove as soon as page_alloc is built.
+ */
+unsigned long __read_mostly max_page;
+
+/* time.c */
+
+unsigned long __ro_after_init cpu_khz;  /* CPU clock frequency in kHz. */
+
+s_time_t get_s_time(void)
+{
+    BUG_ON("unimplemented");
+}
+
+int reprogram_timer(s_time_t timeout)
+{
+    BUG_ON("unimplemented");
+}
+
+void send_timer_event(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+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,
+                    XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_get_domain_info(const struct domain *d,
+                          struct xen_domctl_getdomaininfo *info)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG_ON("unimplemented");
+}
+
+/* monitor.c */
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
+{
+    BUG_ON("unimplemented");
+}
+
+/* smp.c */
+
+void arch_flush_tlb_mask(const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+void smp_send_event_check_mask(const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+void smp_send_call_function_mask(const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+/* irq.c */
+
+struct pirq *alloc_pirq_struct(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int pirq_guest_bind(struct vcpu *v, struct pirq *pirq, int will_share)
+{
+    BUG_ON("unimplemented");
+}
+
+void pirq_guest_unbind(struct domain *d, struct pirq *pirq)
+{
+    BUG_ON("unimplemented");
+}
+
+void pirq_set_affinity(struct domain *d, int pirq, const cpumask_t *mask)
+{
+    BUG_ON("unimplemented");
+}
+
+hw_irq_controller no_irq_type = {
+    .typename = "none",
+    .startup = irq_startup_none,
+    .shutdown = irq_shutdown_none,
+    .enable = irq_enable_none,
+    .disable = irq_disable_none,
+};
+
+int arch_init_one_irq_desc(struct irq_desc *desc)
+{
+    BUG_ON("unimplemented");
+}
+
+void smp_send_state_dump(unsigned int cpu)
+{
+    BUG_ON("unimplemented");
+}
+
+/* domain.c */
+
+DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
+unsigned long __per_cpu_offset[NR_CPUS];
+
+void context_switch(struct vcpu *prev, struct vcpu *next)
+{
+    BUG_ON("unimplemented");
+}
+
+void continue_running(struct vcpu *same)
+{
+    BUG_ON("unimplemented");
+}
+
+void sync_local_execstate(void)
+{
+    BUG_ON("unimplemented");
+}
+
+void sync_vcpu_execstate(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void startup_cpu_idle_loop(void)
+{
+    BUG_ON("unimplemented");
+}
+
+void free_domain_struct(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void dump_pageframe_info(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void free_vcpu_struct(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_vcpu_create(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_vcpu_destroy(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_switch_to_aarch64_mode(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_domain_create(struct domain *d,
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_domain_teardown(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_destroy(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_shutdown(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_pause(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_unpause(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_domain_soft_reset(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_domain_creation_finished(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG_ON("unimplemented");
+}
+
+int arch_vcpu_reset(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+int domain_relinquish_resources(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_dump_domain_info(struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_mark_events_pending(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_update_evtchn_irq(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_block_unless_event_pending(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void vcpu_kick(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+struct domain *alloc_domain_struct(void)
+{
+    BUG_ON("unimplemented");
+}
+
+struct vcpu *alloc_vcpu_struct(const struct domain *d)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned long
+hypercall_create_continuation(unsigned int op, const char *format, ...)
+{
+    BUG_ON("unimplemented");
+}
+
+int __init parse_arch_dom0_param(const char *s, const char *e)
+{
+    BUG_ON("unimplemented");
+}
+
+/* guestcopy.c */
+
+unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned long raw_copy_from_guest(void *to, const void __user *from,
+                                  unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+/* sysctl.c */
+
+long arch_do_sysctl(struct xen_sysctl *sysctl,
+                    XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
+{
+    BUG_ON("unimplemented");
+}
+
+void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
+{
+    BUG_ON("unimplemented");
+}
+
+/* p2m.c */
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    BUG_ON("unimplemented");
+}
+
+int unmap_mmio_regions(struct domain *d,
+                       gfn_t start_gfn,
+                       unsigned long nr,
+                       mfn_t mfn)
+{
+    BUG_ON("unimplemented");
+}
+
+int map_mmio_regions(struct domain *d,
+                     gfn_t start_gfn,
+                     unsigned long nr,
+                     mfn_t mfn)
+{
+    BUG_ON("unimplemented");
+}
+
+int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
+                          unsigned long gfn, mfn_t mfn)
+{
+    BUG_ON("unimplemented");
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    BUG_ON("unimplemented");
+}
+
+/* delay.c */
+
+void udelay(unsigned long usecs)
+{
+    BUG_ON("unimplemented");
+}
+
+/* guest_access.h */ 
+
+static inline unsigned long raw_clear_guest(void *to, unsigned int len)
+{
+    BUG_ON("unimplemented");
+}
+
+/* smpboot.c */
+
+int __cpu_up(unsigned int cpu)
+{
+    BUG_ON("unimplemented");
+}
+
+void __cpu_disable(void)
+{
+    BUG_ON("unimplemented");
+}
+
+void __cpu_die(unsigned int cpu)
+{
+    BUG_ON("unimplemented");
+}
+
+/*
+ * The following functions are defined in common/irq.c, but common/irq.c isn't
+ * built for now. These changes will be removed there when common/irq.c is
+ * ready.
+ */
+
+void cf_check irq_actor_none(struct irq_desc *desc)
+{
+    BUG_ON("unimplemented");
+}
+
+unsigned int cf_check irq_startup_none(struct irq_desc *desc)
+{
+    BUG_ON("unimplemented");
+
+    return 0;
+}
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ccd3593f5a..5415cf8d90 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -4,6 +4,10 @@
  *
  * RISC-V Trap handlers
  */
+
+#include <xen/lib.h>
+#include <xen/sched.h>
+
 #include <asm/processor.h>
 #include <asm/traps.h>
 
@@ -11,3 +15,24 @@ void do_trap(struct cpu_user_regs *cpu_regs)
 {
     die();
 }
+
+void vcpu_show_execution_state(struct vcpu *v)
+{
+    BUG_ON("unimplemented");
+}
+
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    printk("implement show_execution_state(regs)\n");
+}
+
+void arch_hypercall_tasklet_result(struct vcpu *v, long res)
+{
+    BUG_ON("unimplemented");
+}
+
+enum mc_disposition arch_do_multicall_call(struct mc_state *state)
+{
+    BUG_ON("unimplemented");
+    return mc_continue;
+}
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:05:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707316.1105223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AU-0003iC-Sv; Wed, 17 Apr 2024 10:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707316.1105223; Wed, 17 Apr 2024 10:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2AU-0003gw-Iu; Wed, 17 Apr 2024 10:05:30 +0000
Received: by outflank-mailman (input) for mailman id 707316;
 Wed, 17 Apr 2024 10:05: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2AS-0007lI-8p
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:28 +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 03e980fe-fca2-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:27 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-516dc51bb72so6248774e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:27 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: 03e980fe-fca2-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348327; x=1713953127; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GU4zagIyAOEA7Byym/qlTeSdA5aWKifCFuXprpQBGuY=;
        b=hchUYv4xK/5Fy0+I+knEB6hw6hR/Zb2OSX60y8mrjIVfnwbecslVNQyDhOweUFqJ6K
         MQl4IVjSrfnvFk68krU86mDGyMpTcOBgIQevTXswnnvnT1GN3menYF3sD+FYRaT4G+Hx
         njwCwaU1oRmQE93B4oJqzdZw0LgKRtNxW9W0omZP0nv7wfEaSrMcOvNvRTQWkvLHKd63
         OK4MfEOnMuSo14m8GVGQrImLPd9/jIZ+obNdvTbIHu0VEz40MYSyVH08HOVqOO4n3wxE
         5RufrDUUHrlbxk7u/f5qMKGnPG1wRX1iuYi2YyYkeKGeuVTviw8gNfVh7iq3IZmCzLbR
         ZpGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348327; x=1713953127;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GU4zagIyAOEA7Byym/qlTeSdA5aWKifCFuXprpQBGuY=;
        b=HLSH4RnS+S8rm2Xz8padNf7HNBQ9WeQ8rPqkLnQtsOocuufw3By4fn6YGkqfEpuWbe
         WXSbQNeITW07y2Z9eFU/cpYqMCbsh2/iXWc890/XO6aM2l1L0Uy1uhlUGVF4zthGgTFl
         oAMfTcrrEVf00iyebBtlXJusq7YzgsOkE4hxuxATS1yDi6GgTQsPF/CUZxChZ0xStSAJ
         Q+Y68LVAS1zjlZvNVVJ6FaXhX+ohR2nJ3+QldiXw7IXoEE8IT5btyssCZLQjtQjave2k
         uzsJRim7u3V3AsLn0KrPxiUIVndC3mx0UmrsiytRE/bJS+n/joilKXh5bHDs3qo/cH/+
         mvvA==
X-Gm-Message-State: AOJu0YxSjXeF0ZF3iL4NJAU+s2CP7PzafW4v9+T8gk19rkDnLLKXt+1X
	XfzFsoQ6kLEILAMWbqti8tYOdYhCpdoLjRn0STnlkyOdfCdFET+I4V3uwQ==
X-Google-Smtp-Source: AGHT+IGh/azKbbDq8psCgx3qQjXDVP1dq4u1Xfj+QAEtKTfDbZ3lcwt1qajuW35Q466JMsArtZdQMg==
X-Received: by 2002:a05:6512:3b0e:b0:516:be80:178f with SMTP id f14-20020a0565123b0e00b00516be80178fmr12784014lfv.43.1713348326861;
        Wed, 17 Apr 2024 03:05: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 16/17] xen/riscv: enable full Xen build
Date: Wed, 17 Apr 2024 12:04:59 +0200
Message-ID: <2298d686f55c25db4c0532890f181c9412f346c3.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5-V8:
 - Nothing changed. Only rebase.
---
Changes in V4:
 - drop stubs for irq_actor_none() and irq_actor_none() as common/irq.c is compiled now.
 - drop defintion of max_page in stubs.c as common/page_alloc.c is compiled now.
 - drop printk() related changes in riscv/early_printk.c as common version will be used.
---
Changes in V3:
 - Reviewed-by: Jan Beulich <jbeulich@suse.com>
 - unrealted change dropped in tiny64_defconfig
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/Makefile       |  16 +++-
 xen/arch/riscv/arch.mk        |   4 -
 xen/arch/riscv/early_printk.c | 168 ----------------------------------
 xen/arch/riscv/stubs.c        |  24 -----
 4 files changed, 15 insertions(+), 197 deletions(-)

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 60afbc0ad9..81b77b13d6 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -12,10 +12,24 @@ $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) -o $@
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+	$(NM) -pa --format=sysv $(dot-target).0 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).0.S
+	$(MAKE) $(build)=$(@D) $(dot-target).0.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(dot-target).0.o -o $(dot-target).1
+	$(NM) -pa --format=sysv $(dot-target).1 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).1.S
+	$(MAKE) $(build)=$(@D) $(dot-target).1.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
+	rm -f $(@D)/.$(@F).[0-9]*
 
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 9f3ed4ff06..53f3575e7d 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -24,7 +24,3 @@ extensions := $(subst $(space),,$(extensions))
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += $(riscv-generic-flags)$(extensions) -mstrict-align -mcmodel=medany
-
-# TODO: Drop override when more of the build is working
-override ALL_OBJS-y = arch/$(SRCARCH)/built_in.o
-override ALL_LIBS-y =
diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index 60742a042d..610c814f54 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -40,171 +40,3 @@ void early_printk(const char *str)
         str++;
     }
 }
-
-/*
- * The following #if 1 ... #endif should be removed after printk
- * and related stuff are ready.
- */
-#if 1
-
-#include <xen/stdarg.h>
-#include <xen/string.h>
-
-/**
- * strlen - Find the length of a string
- * @s: The string to be sized
- */
-size_t (strlen)(const char * s)
-{
-    const char *sc;
-
-    for (sc = s; *sc != '\0'; ++sc)
-        /* nothing */;
-    return sc - s;
-}
-
-/**
- * memcpy - Copy one area of memory to another
- * @dest: Where to copy to
- * @src: Where to copy from
- * @count: The size of the area.
- *
- * You should not use this function to access IO space, use memcpy_toio()
- * or memcpy_fromio() instead.
- */
-void *(memcpy)(void *dest, const void *src, size_t count)
-{
-    char *tmp = (char *) dest, *s = (char *) src;
-
-    while (count--)
-        *tmp++ = *s++;
-
-    return dest;
-}
-
-int vsnprintf(char* str, size_t size, const char* format, va_list args)
-{
-    size_t i = 0; /* Current position in the output string */
-    size_t written = 0; /* Total number of characters written */
-    char* dest = str;
-
-    while ( format[i] != '\0' && written < size - 1 )
-    {
-        if ( format[i] == '%' )
-        {
-            i++;
-
-            if ( format[i] == '\0' )
-                break;
-
-            if ( format[i] == '%' )
-            {
-                if ( written < size - 1 )
-                {
-                    dest[written] = '%';
-                    written++;
-                }
-                i++;
-                continue;
-            }
-
-            /*
-             * Handle format specifiers.
-             * For simplicity, only %s and %d are implemented here.
-             */
-
-            if ( format[i] == 's' )
-            {
-                char* arg = va_arg(args, char*);
-                size_t arglen = strlen(arg);
-
-                size_t remaining = size - written - 1;
-
-                if ( arglen > remaining )
-                    arglen = remaining;
-
-                memcpy(dest + written, arg, arglen);
-
-                written += arglen;
-                i++;
-            }
-            else if ( format[i] == 'd' )
-            {
-                int arg = va_arg(args, int);
-
-                /* Convert the integer to string representation */
-                char numstr[32]; /* Assumes a maximum of 32 digits */
-                int numlen = 0;
-                int num = arg;
-                size_t remaining;
-
-                if ( arg < 0 )
-                {
-                    if ( written < size - 1 )
-                    {
-                        dest[written] = '-';
-                        written++;
-                    }
-
-                    num = -arg;
-                }
-
-                do
-                {
-                    numstr[numlen] = '0' + num % 10;
-                    num = num / 10;
-                    numlen++;
-                } while ( num > 0 );
-
-                /* Reverse the string */
-                for (int j = 0; j < numlen / 2; j++)
-                {
-                    char tmp = numstr[j];
-                    numstr[j] = numstr[numlen - 1 - j];
-                    numstr[numlen - 1 - j] = tmp;
-                }
-
-                remaining = size - written - 1;
-
-                if ( numlen > remaining )
-                    numlen = remaining;
-
-                memcpy(dest + written, numstr, numlen);
-
-                written += numlen;
-                i++;
-            }
-        }
-        else
-        {
-            if ( written < size - 1 )
-            {
-                dest[written] = format[i];
-                written++;
-            }
-            i++;
-        }
-    }
-
-    if ( size > 0 )
-        dest[written] = '\0';
-
-    return written;
-}
-
-void printk(const char *format, ...)
-{
-    static char buf[1024];
-
-    va_list args;
-    va_start(args, format);
-
-    (void)vsnprintf(buf, sizeof(buf), format, args);
-
-    early_printk(buf);
-
-    va_end(args);
-}
-
-#endif
-
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 8285bcffef..bda35fc347 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -24,12 +24,6 @@ DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
 
 nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
 
-/*
- * max_page is defined in page_alloc.c which isn't complied for now.
- * definition of max_page will be remove as soon as page_alloc is built.
- */
-unsigned long __read_mostly max_page;
-
 /* time.c */
 
 unsigned long __ro_after_init cpu_khz;  /* CPU clock frequency in kHz. */
@@ -419,21 +413,3 @@ void __cpu_die(unsigned int cpu)
 {
     BUG_ON("unimplemented");
 }
-
-/*
- * The following functions are defined in common/irq.c, but common/irq.c isn't
- * built for now. These changes will be removed there when common/irq.c is
- * ready.
- */
-
-void cf_check irq_actor_none(struct irq_desc *desc)
-{
-    BUG_ON("unimplemented");
-}
-
-unsigned int cf_check irq_startup_none(struct irq_desc *desc)
-{
-    BUG_ON("unimplemented");
-
-    return 0;
-}
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:18:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:18:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707365.1105241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2Mu-0001KA-GF; Wed, 17 Apr 2024 10:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707365.1105241; Wed, 17 Apr 2024 10:18:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2Mu-0001K3-Ch; Wed, 17 Apr 2024 10:18:20 +0000
Received: by outflank-mailman (input) for mailman id 707365;
 Wed, 17 Apr 2024 10:18:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2Ad-0007lI-DZ
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:39 +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 0a7aec8d-fca2-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 12:05:38 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516cbf3fe68so6891558e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:38 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: 0a7aec8d-fca2-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348338; x=1713953138; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q5ULn7J+C23bytnZegqIYlqxigksIJAvnkht5gx5amU=;
        b=Yq0hfKRGbxWLDAj2fnlMRlhxR/jHNx/a/J70Q8AVIl2z0sSaHAGQ+C6Zg/XSKl6Gs+
         Np0EnjaQDqoUmF4PFRK7BxVanwMZk36zaIHm3m92rdI4AvfbCM5JX7q0sl4UnpiCzOXT
         7+apaDe9vBJ3P0mmVD1qCu67f+LNEGmBzejAT01k4u9PqsAAFcUAC4zsYUVXfsh6sRqm
         Lw0zQ/KqyK3kAB9CCjNFW4/6xIn3P/kSA1RCIF9cWlkK5Ym/7SPnOuyLvepTn8qTB1OF
         DKL35aS9Vq90hnMYwCp08J/rgBJL7l/4vBoa1XUp9hp6/KYxYxisi8QF+s4yv3XbE7uN
         Z5ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348338; x=1713953138;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Q5ULn7J+C23bytnZegqIYlqxigksIJAvnkht5gx5amU=;
        b=mETPqGu+18VrUod1b8Fx6GrDEvncZgnX3Z1wv8Tm/YKi2Gkr08bI2A+uoPcEVaDpfg
         J0jHgLxjjnCO6yREgdTZi3fRyrKTNYQ2Yup2vRcRubxrOHmHJw41Pvml93d2xAuh/Izt
         N2Wc9GBg5mLX5/jgwFWE/G0oddGntRXY17mCq+19tvhrWsHDTwow9+g8oYJPvZnsOudM
         HeA6idIMwVWE29auCCE7JnpPxkYQfea1KcIcilBoFgiVyWX7TVgyFfADvRcLEZdyUdIQ
         DYGToFsLt9JC3m29DOqxEMqCK+G9zBsC5IWja58no/EvMKSyUSrJr3sJH5rRau6rpXqa
         Z2BA==
X-Gm-Message-State: AOJu0YxaOBuhzTlv926910wFIBMa6fa3iO/06vJv88QNLQO6XgrtOTZC
	POmwqfinFFESiiBettbrqDv8zQSIeE1KhS+yjzc4y9xiJE+/MNp5x/TK0A==
X-Google-Smtp-Source: AGHT+IFuNF9ms6azISaKCHmPIxauFJJF0/Y3ZA1fsWpaRswYHa+kDy29+3l8sQU3UTWlpJPMmPrhZA==
X-Received: by 2002:ac2:4182:0:b0:516:d0c2:755 with SMTP id z2-20020ac24182000000b00516d0c20755mr8877498lfh.63.1713348308113;
        Wed, 17 Apr 2024 03:05:08 -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>,
	George Dunlap <george.dunlap@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 v8 03/17] xen/bitops: implement fls{l}() in common logic
Date: Wed, 17 Apr 2024 12:04:46 +0200
Message-ID: <60bc710b990ed1d45741888df7e97cf25d150e61.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Return type was left 'int' because of the following compilation error:

./include/xen/kernel.h:18:21: error: comparison of distinct pointer types lacks a cast [-Werror]
       18 |         (void) (&_x == &_y);            \
          |                     ^~
    common/page_alloc.c:1843:34: note: in expansion of macro 'min'
     1843 |         unsigned int inc_order = min(MAX_ORDER, flsl(e - s) - 1);

generic_fls{l} was used instead of __builtin_clz{l}(x) as if x is 0,
the result in undefined.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 The patch is almost independent from Andrew's patch series
 ( https://lore.kernel.org/xen-devel/20240313172716.2325427-1-andrew.cooper3@citrix.com/T/#t)
 except test_fls() function which IMO can be merged as a separate patch after Andrew's patch
 will be fully ready.
---
Changes in V8:
 - do proper rebase: back definition of fls{l} to the current patch.
 - drop the changes which removed ffz() in PPC. it should be done not
   in this patch.
 - add a message after Signed-off.
---
Changes in V7:
 - Code style fixes
---
Changes in V6:
 - new patch for the patch series.
---
 xen/arch/arm/include/asm/arm32/bitops.h |  2 +-
 xen/arch/arm/include/asm/arm64/bitops.h |  6 ++----
 xen/arch/arm/include/asm/bitops.h       |  7 ++-----
 xen/arch/ppc/include/asm/bitops.h       |  3 ---
 xen/arch/x86/include/asm/bitops.h       |  6 ++++--
 xen/common/bitops.c                     | 22 ++++++++++++++++++++++
 xen/include/xen/bitops.h                | 24 ++++++++++++++++++++++++
 7 files changed, 55 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm32/bitops.h b/xen/arch/arm/include/asm/arm32/bitops.h
index d0309d47c1..5552d4e945 100644
--- a/xen/arch/arm/include/asm/arm32/bitops.h
+++ b/xen/arch/arm/include/asm/arm32/bitops.h
@@ -1,7 +1,7 @@
 #ifndef _ARM_ARM32_BITOPS_H
 #define _ARM_ARM32_BITOPS_H
 
-#define flsl fls
+#define arch_flsl fls
 
 /*
  * Little endian assembly bitops.  nr = 0 -> byte 0 bit 0.
diff --git a/xen/arch/arm/include/asm/arm64/bitops.h b/xen/arch/arm/include/asm/arm64/bitops.h
index 0efde29068..5f5d97faa0 100644
--- a/xen/arch/arm/include/asm/arm64/bitops.h
+++ b/xen/arch/arm/include/asm/arm64/bitops.h
@@ -22,17 +22,15 @@ static /*__*/always_inline unsigned long __ffs(unsigned long word)
  */
 #define ffz(x)  __ffs(~(x))
 
-static inline int flsl(unsigned long x)
+static inline int arch_flsl(unsigned long x)
 {
         uint64_t ret;
 
-        if (__builtin_constant_p(x))
-               return generic_flsl(x);
-
         asm("clz\t%0, %1" : "=r" (ret) : "r" (x));
 
         return BITS_PER_LONG - ret;
 }
+#define arch_flsl arch_flsl
 
 /* Based on linux/include/asm-generic/bitops/find.h */
 
diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 8e16335e76..860d6d4689 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -78,17 +78,14 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
  * the clz instruction for much better code efficiency.
  */
 
-static inline int fls(unsigned int x)
+static inline int arch_fls(unsigned int x)
 {
         int ret;
 
-        if (__builtin_constant_p(x))
-               return generic_fls(x);
-
         asm("clz\t%"__OP32"0, %"__OP32"1" : "=r" (ret) : "r" (x));
         return 32 - ret;
 }
-
+#define arch_fls arch_fls
 
 #define arch_ffs(x) ({ unsigned int __t = (x); fls(ISOLATE_LSB(__t)); })
 #define arch_ffsl(x) ({ unsigned long __t = (x); flsl(ISOLATE_LSB(__t)); })
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index e2b6473c8c..ca308fd62b 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -119,9 +119,6 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
         (volatile unsigned int *)addr + BITOP_WORD(nr)) != 0;
 }
 
-#define flsl(x) generic_flsl(x)
-#define fls(x) generic_fls(x)
-
 /* Based on linux/include/asm-generic/bitops/ffz.h */
 /*
  * ffz - find first zero in word.
diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index 2b2d9219ef..5d5b9445c5 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -430,7 +430,7 @@ static always_inline unsigned int arch_ffsl(unsigned long x)
  *
  * This is defined the same way as ffs.
  */
-static inline int flsl(unsigned long x)
+static always_inline int arch_flsl(unsigned long x)
 {
     long r;
 
@@ -440,8 +440,9 @@ static inline int flsl(unsigned long x)
           "1:" : "=r" (r) : "rm" (x));
     return (int)r+1;
 }
+#define arch_flsl arch_flsl
 
-static inline int fls(unsigned int x)
+static always_inline int arch_fls(unsigned int x)
 {
     int r;
 
@@ -451,6 +452,7 @@ static inline int fls(unsigned int x)
           "1:" : "=r" (r) : "rm" (x));
     return r + 1;
 }
+#define arch_fls arch_fls
 
 /**
  * hweightN - returns the hamming weight of a N-bit word
diff --git a/xen/common/bitops.c b/xen/common/bitops.c
index a8c32f6767..95bc47176b 100644
--- a/xen/common/bitops.c
+++ b/xen/common/bitops.c
@@ -62,9 +62,31 @@ static void test_ffs(void)
     CHECK(ffs64, (uint64_t)0x8000000000000000, 64);
 }
 
+static void test_fls(void)
+{
+    /* unsigned int ffs(unsigned int) */
+    CHECK(fls, 1, 1);
+    CHECK(fls, 3, 2);
+    CHECK(fls, 3U << 30, 32);
+
+    /* unsigned int flsl(unsigned long) */
+    CHECK(flsl, 1, 1);
+    CHECK(flsl, 1UL << (BITS_PER_LONG - 1), BITS_PER_LONG);
+#if BITS_PER_LONG > 32
+    CHECK(flsl, 3UL << 32, 34);
+#endif
+
+    /* unsigned int fls64(uint64_t) */
+    CHECK(fls64, 1, 1);
+    CHECK(fls64, 0x00000000C0000000ULL, 32);
+    CHECK(fls64, 0x0000000180000000ULL, 33);
+    CHECK(fls64, 0xC000000000000000ULL, 64);
+}
+
 static int __init cf_check test_bitops(void)
 {
     test_ffs();
+    test_fls();
 
     return 0;
 }
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index a41ec44064..a7edee4a95 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -196,6 +196,30 @@ static always_inline bool test_bit(int nr, const volatile void *addr)
     test_bit(nr, addr);                                 \
 })
 
+static always_inline __pure int fls(unsigned int x)
+{
+    if ( __builtin_constant_p(x) )
+        return generic_fls(x);
+
+#ifndef arch_fls
+#define arch_fls generic_fls
+#endif
+
+    return arch_fls(x);
+}
+
+static always_inline __pure int flsl(unsigned long x)
+{
+    if ( __builtin_constant_p(x) )
+        return generic_flsl(x);
+
+#ifndef arch_flsl
+#define arch_flsl generic_flsl
+#endif
+
+    return arch_flsl(x);
+}
+
 /*
  * Find First Set bit.  Bits are labelled from 1.
  */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:19:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:19:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707389.1105251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2O2-0002Yg-P1; Wed, 17 Apr 2024 10:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707389.1105251; Wed, 17 Apr 2024 10: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 1rx2O2-0002YZ-Mb; Wed, 17 Apr 2024 10:19:30 +0000
Received: by outflank-mailman (input) for mailman id 707389;
 Wed, 17 Apr 2024 10:19: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=6A/l=LW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rx2Ah-0007lO-3z
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 10:05:43 +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 0bfe0068-fca2-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 12:05:41 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-518bad5f598so4310685e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 03:05:41 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 p2-20020a056512328200b00516cd83e497sm1893187lfe.210.2024.04.17.03.05.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 03:05: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: 0bfe0068-fca2-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713348341; x=1713953141; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E1MRHWaxfyyc3IOUvgCXcME2tukXRadRa1zIKb0dwxo=;
        b=Z/3qkuoReuZ/1JElXlV9SFNKYmaN8TOmzfBnh3kywRI+2sFY92r/zXWXt0czwx7pxF
         tH+XGDQXGsUi4A18vtXKgH3Dj9Kpb4FfOa7By1D5VWfKEiRpAqNwBNFlO/4YK8Nqy2l+
         ud+S/0fQEu2i1ZZmbqmoqG5InQ++YWy27frpCIaIl8OedD5q/4+cLcgHTgX34QaTysPw
         BcxA+1aBaDnygo0qnfTad2tUG53n6ZowGa6jbNtSWnJmNvXD+9OEKN4eYH5rZzUrZHmF
         0V1iFaNHOpPvJAEjfFaS1uQbNh5f4SZ9fsK3wuPotRnPk/VpmsxXjabQTBsz3FT8Gl5H
         HSIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713348341; x=1713953141;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=E1MRHWaxfyyc3IOUvgCXcME2tukXRadRa1zIKb0dwxo=;
        b=tN/OaWS5mYeahmDpO/hy9D3a7N8jZST9Vn8s1ZUA27PyIIxGyyj5l1zo5KyS3z/SwV
         SNVuqxCBa+qIxez7Rn7viaUZAaVzKIidjWDRUoDuvPxhZBAMITBAxo+iCwUoOAk91Xue
         V8KjnciKb1hWfN3t97vWj7y4Ct6VUzlclaeieq5inpNpARMtL+Ukl2qtChHWFSkgezUD
         MQSly1VtUB3luSFzyOSYPXGI/Iv8ecSShiIR38R+5S1qwgjuHERuOO85HT/OZcPJYhPe
         T8O1OmvbDi+DOt/Y7gLc1WF+VJqVpl0Z0smIhtrhXRjpmHUFMZdErWYLDfg1rBxK74lW
         dBmg==
X-Gm-Message-State: AOJu0YwfsRSLJ+Q9/ofZZXJpqfpNVxmEv7HuCK5caYmmcWuGzRjL266D
	yoaVSlriSK3JSk/hFvAFTm1ad8QM5sF/zXJ1yjFYbI1s60xqWfuGUDXArg==
X-Google-Smtp-Source: AGHT+IHYxUNuLcnj5lnbL+eFh6JkLAxnCR3VtZprkppKkMRKih/MM+e+QJ1vrKUYTB52ld1CJFCzNQ==
X-Received: by 2002:ac2:4c47:0:b0:518:b0fd:bf50 with SMTP id o7-20020ac24c47000000b00518b0fdbf50mr9946612lfk.68.1713348328217;
        Wed, 17 Apr 2024 03:05:28 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 17/17] xen/README: add compiler and binutils versions for RISC-V64
Date: Wed, 17 Apr 2024 12:05:00 +0200
Message-ID: <7d80538976c88fad8005831f7ce85e5a17e49535.1713347222.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713347222.git.oleksii.kurochko@gmail.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch doesn't represent a strict lower bound for GCC and
GNU Binutils; rather, these versions are specifically employed by
the Xen RISC-V container and are anticipated to undergo continuous
testing. Older GCC and GNU Binutils would work,
but this is not a guarantee.

While it is feasible to utilize Clang, it's important to note that,
currently, there is no Xen RISC-V CI job in place to verify the
seamless functioning of the build with Clang.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5-V8:
 - Nothing changed. Only rebase.
---
 Changes in V6:
  - update the message in README.
---
 Changes in V5:
  - update the commit message and README file with additional explanation about GCC and
    GNU Binutils version. Additionally, it was added information about Clang.
---
 Changes in V4:
  - Update version of GCC (12.2) and GNU Binutils (2.39) to the version
    which are in Xen's contrainter for RISC-V
---
 Changes in V3:
  - new patch
---
 README | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/README b/README
index c8a108449e..30da5ff9c0 100644
--- a/README
+++ b/README
@@ -48,6 +48,10 @@ provided by your OS distributor:
       - For ARM 64-bit:
         - GCC 5.1 or later
         - GNU Binutils 2.24 or later
+      - For RISC-V 64-bit:
+        - GCC 12.2 or later
+        - GNU Binutils 2.39 or later
+          Older GCC and GNU Binutils would work, but this is not a guarantee.
     * POSIX compatible awk
     * Development install of zlib (e.g., zlib-dev)
     * Development install of Python 2.7 or later (e.g., python-dev)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 10:56:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 10:56:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707398.1105262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2xR-0002yz-Gg; Wed, 17 Apr 2024 10:56:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707398.1105262; Wed, 17 Apr 2024 10:56:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx2xR-0002ys-E3; Wed, 17 Apr 2024 10:56:05 +0000
Received: by outflank-mailman (input) for mailman id 707398;
 Wed, 17 Apr 2024 10:56: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 1rx2xQ-0002yi-0V; Wed, 17 Apr 2024 10:56: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 1rx2xP-0002yS-O6; Wed, 17 Apr 2024 10:56: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 1rx2xP-0005vm-Er; Wed, 17 Apr 2024 10:56:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rx2xP-0002oq-EP; Wed, 17 Apr 2024 10:56:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pCJF4BCC6apmzCNU2ZTIRmmqMvtATmDKuB670RBS2ec=; b=7AM79o5/VqD/7gL17gWH2+O6+a
	kK2PtlknwPqT+OAkYGXbLVYaFv+gkNdlLhSfcoGNPA+LnAAYE6VnTa/telov2xqTWs2DuRbT6pMIY
	LJmW6TK1Y5yTsXJu5wXWlshFcgqg9y9vUctdqTpBi4kDfoXeUf3UadNkmW/xq1mF4dZY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185715-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185715: regressions - trouble: blocked/fail
X-Osstest-Failures:
    xen-unstable-smoke:build-arm64-xsm:xen-build:fail:regression
    xen-unstable-smoke:build-amd64:xen-build:fail:regression
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=83e081b29e52b0ea946e30677e9caf86e9bcbc65
X-Osstest-Versions-That:
    xen=ad363fb17d720f1ad047775e1d7b70158f546c46
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 10:56:03 +0000

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

Regressions :-(

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

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                  83e081b29e52b0ea946e30677e9caf86e9bcbc65
baseline version:
 xen                  ad363fb17d720f1ad047775e1d7b70158f546c46

Last test of basis   185684  2024-04-16 20:00:22 Z    0 days
Testing same since   185715  2024-04-17 10:02:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              fail    
 build-amd64                                                  fail    
 build-armhf                                                  fail    
 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


Not pushing.

------------------------------------------------------------
commit 83e081b29e52b0ea946e30677e9caf86e9bcbc65
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Fri Apr 12 08:16:24 2024 +0200

    docs: arm: Update where Xen should be loaded in memory
    
    Since commit 6cd046c501bc ("xen/arm: Enlarge identity map space to 10TB")
    Xen can be loaded below 10 TiB. Update docs accordingly.
    
    Take the opportunity to update stale links to Linux docs.
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

commit afab29d0882f1d6889c73302fdf04632a492c529
Author: Stefano Stabellini <stefano.stabellini@amd.com>
Date:   Tue Apr 9 16:19:21 2024 -0700

    public: s/int/int32_t
    
    Straightforward int -> int32_t and unsigned int -> uint32_t replacements
    in public headers. No ABI or semantic changes intended.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:08:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707422.1105325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45T-0006o6-D0; Wed, 17 Apr 2024 12:08:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707422.1105325; Wed, 17 Apr 2024 12:08:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45T-0006nz-9s; Wed, 17 Apr 2024 12:08:27 +0000
Received: by outflank-mailman (input) for mailman id 707422;
 Wed, 17 Apr 2024 12:08:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bxKY=LW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rx45S-0006LA-En
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:08:26 +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 31b3aae2-fcb3-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:08:25 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-56e6affdd21so1722892a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 05:08:25 -0700 (PDT)
Received: from EPUAKYIW03DD.epam.com (ll-22.209.223.85.sovam.net.ua.
 [85.223.209.22]) by smtp.gmail.com with ESMTPSA id
 zh17-20020a170906881100b00a5271ae4458sm3484247ejb.16.2024.04.17.05.08.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 05:08: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: 31b3aae2-fcb3-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713355705; x=1713960505; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GOIA53yAdQfWR8cyvYLHAZc46xc+jabx7ASlkAFV0zA=;
        b=C3oIxryTqVnfz2rRPcHwKpJiavFxbAUYk907efWStcT6sSyMxgk8jEOueO3jfz49kr
         NscMwh3s5kek89HRuUq6kkt7M4AMAKWjRe4ymNqoWHehaloh0T1CmcgLX2IEwEko5HqR
         cwJxPd8q8mgJzU3JYK0MxP/rKhlSM8uqAXl18zrWcTa/LsNfChVsNm+NhHcKoQWbkjt8
         8eR7B0C3rOmYiljcK3fvWxU23pfa/yc5ASxZ10o35ZO1DP8p1gQ4rhxrzd6fiFdIYxa4
         +4lwlYI3sd7u0ojcyxnOVxT+f4/+0fNN4PuOADEHc/dnuuBRciMTK6HWAKqtp7JnlwZ7
         HtMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713355705; x=1713960505;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GOIA53yAdQfWR8cyvYLHAZc46xc+jabx7ASlkAFV0zA=;
        b=ZP59HLQkvCwHp4jawu0xd24M0bq7CZH0fF5uGq7XEn9fer9k0fk6o0oRPkQZSDjJos
         GrSvLPCGkfc455A4UBVcePsu3iUORN+RMQkQZ9TCRLDjztAW7JRkwFMqR/LJ3aG2ZB+g
         DDdQgaapR2lRxlNHIE5727MDJ5gk0a+k5WB9Xk82Yic7/3dXADV2JSG3H1dNb4e8fXyZ
         7C9EZFrjqLSjpCWOrw9FXSeLaRHHdnkFSHxSNiytG5ZGGk1R13iQ2eSsyzY+L49AGMif
         Hd+50sBEbfedo6jMjCKtLLFtM+tjMTMjaLUSwZaZKVMd+q7mRSuiiyGFKEMUDvzqOEA5
         vqEg==
X-Gm-Message-State: AOJu0YzN2rbQD5zWJ0Sm41B1W0cW3zHmVGS2kQLU0P9HnAXLP1OAKevQ
	YkM2/JG5VfHA6+WkSi0Yv7V9nbUWETXU08ycvS/Q/65W5sQY7aHeiE48wQ==
X-Google-Smtp-Source: AGHT+IH3uZrttCb+wuhssXHg+F41A77cgKNUwsAacqWI6tT2aaC+du7EjRH7Yhud75BuABibl2hInQ==
X-Received: by 2002:a50:d6d3:0:b0:56e:64b:8733 with SMTP id l19-20020a50d6d3000000b0056e064b8733mr10813063edj.40.1713355704873;
        Wed, 17 Apr 2024 05:08:24 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [ImageBuilder 2/5] uboot-script-gen: Extend DOMU_ENHANCED to specify "no-xenstore"
Date: Wed, 17 Apr 2024 15:07:38 +0300
Message-Id: <20240417120741.2453431-3-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240417120741.2453431-1-olekstysh@gmail.com>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

We need some Xen services to be available within single dom0less DomU.
Just using "enabled" will lead to Xen panic because of no Dom0.

(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) At the moment, Xenstore support requires dom0 to be present
(XEN) ****************************************

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 README.md                | 7 ++++---
 scripts/uboot-script-gen | 3 +++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 3b4b16f..97db7aa 100644
--- a/README.md
+++ b/README.md
@@ -217,9 +217,10 @@ Where:
   If set to 1, the VM is direct mapped. The default is 1.
   This is only applicable when DOMU_STATIC_MEM is specified.
 
-- DOMU_ENHANCED[number] can be set to 1 or 0, default is 1 when Dom0 is
-  present. If set to 1, the VM can use PV drivers. Older Linux kernels
-  might break.
+- DOMU_ENHANCED[number] can be set to 0, 1, or 2. Default is 1 when Dom0
+  is present. If set to 1, the VM can use PV drivers. Older Linux
+  kernels might break. If set to 2, "no-xenstore" is specified, see Xen
+  documentation about dom0less "no-xenstore" option.
 
 - DOMU_CPUPOOL[number] specifies the id of the cpupool (created using
   CPUPOOL[number] option, where number == id) that will be assigned to domU.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 7cb8c6d..98a64d6 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -348,6 +348,9 @@ function xen_device_tree_editing()
         if [[ "${DOMU_ENHANCED[$i]}" == 1 || ("$DOM0_KERNEL" && "${DOMU_ENHANCED[$i]}" != 0) ]]
         then
             dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
+        elif [ "${DOMU_ENHANCED[$i]}" == 2 ]
+        then
+            dt_set "/chosen/domU$i" "xen,enhanced" "str" "no-xenstore"
         fi
 
         if test -n "${DOMU_SHARED_MEM[i]}"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:08:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707423.1105335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45V-00073z-O7; Wed, 17 Apr 2024 12:08:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707423.1105335; Wed, 17 Apr 2024 12: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 1rx45V-00073l-Ik; Wed, 17 Apr 2024 12:08:29 +0000
Received: by outflank-mailman (input) for mailman id 707423;
 Wed, 17 Apr 2024 12: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=bxKY=LW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rx45U-0006LA-2G
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:08:28 +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 329d029f-fcb3-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:08:27 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-518a56cdbcfso6672686e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 05:08:27 -0700 (PDT)
Received: from EPUAKYIW03DD.epam.com (ll-22.209.223.85.sovam.net.ua.
 [85.223.209.22]) by smtp.gmail.com with ESMTPSA id
 zh17-20020a170906881100b00a5271ae4458sm3484247ejb.16.2024.04.17.05.08.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 05:08:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 329d029f-fcb3-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713355706; x=1713960506; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qhcUEGUnQ0+qUA8Ht423+5o2tI3ICzHo4MGQ4M8SpyU=;
        b=R5O+k4AWllVGWVLEcJuYKJ8JVkYTQkrBkONnJPf9u8f0bv5xS68cw+ySoKSh1PsuIB
         b+isLJaxegGY/3qyiIM5ZpciWrJLYfbo1qh2/LfTMyp8f/RolavDuStS2rOY1jwsvfuO
         z5GsZEYhIMsn8tuThM5MFqacrgN/+OLWplnHGrUvKdnDOHhjfHqeJk+XSjS6VfrG/JcT
         R/EgWpjFcpKfWrAc+dvux/Tdw3csXDlo6OuuLmjkqPqmZML1/cM1jMqAV1bBJ9hjL3w3
         zwwyE6HXTjkhU3XyuH0UM97Psr6qlY02PXqt9NmY8m79AcKf1mUpFc2cwvBydWYsQ2ja
         ZHTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713355706; x=1713960506;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qhcUEGUnQ0+qUA8Ht423+5o2tI3ICzHo4MGQ4M8SpyU=;
        b=pH2wVGCkNuNDqwzWt4Mt7cu5E0KQLXlWLg6kq8LHB1HDZtUUR1GD638bh1PBS8NFJ3
         Hte8ZFMl9DpZnVKnqDXJiVoduvd9X/plZ6TE+uTOzMVpnevBhztwFCAT949CMoDhV6uN
         xMAcg9jGyAdcuP8qCAUUAgKT9N5Z2nXaLaGkMEFbDIRaVMOTQ73a89LwyfN5Kp0rvCmX
         5oYtJmQBZm+bvOnrK5X1HnFzdnxHze+fjKYHOyLDymuudCBM9JBeDDIj13oiq3GsKsPS
         ugOZegSEC2R4Mmg0MttLtav1bfV80djubmPt6s3crkfNzrWDM3h0g99mqVV7IIiW2jUr
         a8bw==
X-Gm-Message-State: AOJu0Yxulgn6FZ0Ds7bSyVXS+pYP2EVuZGvsBApoDXFYIMzFDrFjQo2B
	0LBoPY/wDbK20VpIabYkTqtgElmm2RgrlQqTjzsQvE62/sqI+CLDsZGZFQ==
X-Google-Smtp-Source: AGHT+IErUgnoB3TP98BGjhzgLTymQPYJAM89pZ4O0UIXVUEau8sFyvPVdtsIMQeZ2JAWqdMaU4c3XA==
X-Received: by 2002:a05:6512:3887:b0:518:eb78:3165 with SMTP id n7-20020a056512388700b00518eb783165mr6733605lft.30.1713355706074;
        Wed, 17 Apr 2024 05:08:26 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [ImageBuilder 3/5] uboot-script-gen: Add ability to specify grant table params
Date: Wed, 17 Apr 2024 15:07:39 +0300
Message-Id: <20240417120741.2453431-4-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240417120741.2453431-1-olekstysh@gmail.com>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Use DOMU_GRANT_VER to set "max_grant_version" dt property.
Use DOMU_GRANT_FRAMES to set "max_grant_frames" dt property.
Use DOMU_MAPTRACK_FRAMES to set "max_maptrack_frames" dt property.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 README.md                | 10 ++++++++++
 scripts/uboot-script-gen | 13 +++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/README.md b/README.md
index 97db7aa..b2459fd 100644
--- a/README.md
+++ b/README.md
@@ -222,6 +222,16 @@ Where:
   kernels might break. If set to 2, "no-xenstore" is specified, see Xen
   documentation about dom0less "no-xenstore" option.
 
+- DOMU_GRANT_VER[number] is optional but specifies the maximum version
+  of grant table shared structure (the maximum security supported version
+  by Xen on Arm64 is 1)
+
+- DOMU_GRANT_FRAMES[number] is optional but specifies the maximum number
+  of grant table frames (the default value used by Xen on Arm64 is 64)
+
+- DOMU_MAPTRACK_FRAMES[number] is optional but specifies the maximum number
+  of grant maptrack frames (the default value used by Xen on Arm64 is 1024)
+
 - DOMU_CPUPOOL[number] specifies the id of the cpupool (created using
   CPUPOOL[number] option, where number == id) that will be assigned to domU.
 
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 98a64d6..adec6f9 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -353,6 +353,19 @@ function xen_device_tree_editing()
             dt_set "/chosen/domU$i" "xen,enhanced" "str" "no-xenstore"
         fi
 
+        if test -n "${DOMU_GRANT_VER[i]}"
+        then
+            dt_set "/chosen/domU$i" "max_grant_version" "int" "${DOMU_GRANT_VER[i]}"
+        fi
+        if test -n "${DOMU_GRANT_FRAMES[i]}"
+        then
+            dt_set "/chosen/domU$i" "max_grant_frames" "int" "${DOMU_GRANT_FRAMES[i]}"
+        fi
+        if test -n "${DOMU_MAPTRACK_FRAMES[i]}"
+        then
+            dt_set "/chosen/domU$i" "max_maptrack_frames" "int" "${DOMU_MAPTRACK_FRAMES[i]}"
+        fi
+
         if test -n "${DOMU_SHARED_MEM[i]}"
         then
             add_device_tree_static_shared_mem "/chosen/domU${i}" "${DOMU_SHARED_MEM[i]}"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:08:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707421.1105315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45S-0006Zd-67; Wed, 17 Apr 2024 12:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707421.1105315; Wed, 17 Apr 2024 12:08:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45S-0006ZW-2Z; Wed, 17 Apr 2024 12:08:26 +0000
Received: by outflank-mailman (input) for mailman id 707421;
 Wed, 17 Apr 2024 12: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=bxKY=LW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rx45Q-0006LA-H3
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:08:24 +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 3091711f-fcb3-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:08:24 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a523524e5baso658959666b.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 05:08:24 -0700 (PDT)
Received: from EPUAKYIW03DD.epam.com (ll-22.209.223.85.sovam.net.ua.
 [85.223.209.22]) by smtp.gmail.com with ESMTPSA id
 zh17-20020a170906881100b00a5271ae4458sm3484247ejb.16.2024.04.17.05.08.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 05:08: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: 3091711f-fcb3-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713355703; x=1713960503; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Rc21BLqnZBZmnW+ZTTNZ/eEtQz28m8RtFuzM5WSjFnw=;
        b=bNN2lgW7164Jkelhp/ivIqM+l99yDezzxkxfRkzuF/S0BYuN6iPRkREzz0TuxKGLvb
         IWmvfWj8flw+chg59PyePP3qcHasGHkDOWapwaUn89ivGzwGMGKIwsgMydbuxBpJ8erw
         /+exhx8a53qNAYnXeF1RuDISMREWQBdmxaU2sXlJH7oKGaSPC4VJybTFK6fn37gnue9U
         eCY9PP3QjfxeTG6zmwzc1vIbrtGIKgXoXPccAqdFE9ukoHK/aDhOcmM+BkUmyTTntgkU
         pFMs8aSetW35e2T1xUKbWwUas/p0GDJ1x3hOlxIB8n4acl/cuvKcuFfSzCRkyv/TwEMo
         BThA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713355703; x=1713960503;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Rc21BLqnZBZmnW+ZTTNZ/eEtQz28m8RtFuzM5WSjFnw=;
        b=NKMinyhjgGIPxCAcSb+0WkzWhvxq0H+3i6u/AHcOjIMM4F15yWUjR8T3jnMfDbUrUI
         uAQKtEaCCBAhAQauPGiaLQ80eFFtecz9Ay5RI9IjCFXeB1xbeuPAfqCsS7CxfFF10hUj
         l0TomjDEteRATm9WqAXnjDZ+59gOCmJJj7gPRK6sA2pThfVsNF9VkMyJtxaUgvSgb3Ve
         5u/ev7EGkNKMsMnyW0yaUvevNo2t5C+sBjdPQExVo2PwM2kzrTeiO9OmIG0gBDJhHl3S
         IvVmXwuncQtALYeBF2q54AiuMbOA0ibzCoeNRJaZlM2U0AJuVKGFIBh3msit9CaqrLog
         Qwtw==
X-Gm-Message-State: AOJu0YyEfQCORLRIejncRS9uSZ9AVtVNcV3iQmtLU0GGsqEuakx11lw/
	HshLOWNZwuImdIm6D92Po3j2JUrSPZk1Bg2hjY0q4eaoH2JxUnlY0newxg==
X-Google-Smtp-Source: AGHT+IGPhQebsHwyCOk+OIBgqfov9d0toxo+SH4G4Pn0/4yp2FZc/POdmj0vMVxPkYEqkkVMg1g60w==
X-Received: by 2002:a17:906:70b:b0:a52:6e54:1c96 with SMTP id y11-20020a170906070b00b00a526e541c96mr5427045ejb.15.1713355702737;
        Wed, 17 Apr 2024 05:08:22 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [ImageBuilder 1/5] uboot-script-gen: Update to deal with uImage which is not executable
Date: Wed, 17 Apr 2024 15:07:37 +0300
Message-Id: <20240417120741.2453431-2-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240417120741.2453431-1-olekstysh@gmail.com>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

uImage is the Image that has a U-Boot wrapper, it doesn't contain
"executable" string which subsequent "file" command is looking for
when inspecting it.

Below the proof:

otyshchenko@EPUAKYIW03DD:~/work/xen_tests/input$ file -L binaries/uImage.gz
binaries/uImage.gz: u-boot legacy uImage, Linux Kernel Image, Linux/ARM 64-bit,
OS Kernel Image (gzip), 9822180 bytes, Fri Sep 29 15:39:42 2023, Load Address: 0X40000000,
Entry Point: 0X40000000, Header CRC: 0XE1EF21BF, Data CRC: 0XC418025

otyshchenko@EPUAKYIW03DD:~/work/xen_tests/input$ file -L binaries/uImage
binaries/uImage: u-boot legacy uImage, Linux Kernel Image, Linux/ARM 64-bit,
OS Kernel Image (Not compressed), 23269888 bytes, Fri Sep 29 15:40:19 2023,
Load Address: 0X40000000, Entry Point: 0X40000000, Header CRC: 0XA0B7D051,
Data CRC: 0X42083F51

Suggested-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 scripts/uboot-script-gen | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 3cc6b47..7cb8c6d 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -505,9 +505,9 @@ function check_file_type()
 
     # if file doesn't know what it is, it outputs data, so include that
     # since some executables aren't recongnized
-    if [ "$type" = "executable" ]
+    if [[ "$type" = "executable"* ]]
     then
-        type="executable\|data\|ARM OpenFirmware"
+        type="$type\|data\|ARM OpenFirmware"
     # file in older distros (ex: RHEL 7.4) just output data for device
     # tree blobs
     elif [ "$type" = "Device Tree Blob" ]
@@ -712,7 +712,7 @@ xen_file_loading()
 {
     if test "$DOM0_KERNEL"
     then
-        check_compressed_file_type $DOM0_KERNEL "executable"
+        check_compressed_file_type $DOM0_KERNEL "executable\|uImage"
         dom0_kernel_addr=$memaddr
         load_file $DOM0_KERNEL "dom0_linux"
         dom0_kernel_size=$filesize
@@ -747,7 +747,7 @@ xen_file_loading()
             cleanup_and_return_err
         fi
 
-        check_compressed_file_type ${DOMU_KERNEL[$i]} "executable"
+        check_compressed_file_type ${DOMU_KERNEL[$i]} "executable\|uImage"
         domU_kernel_addr[$i]=$memaddr
         load_file ${DOMU_KERNEL[$i]} "domU${i}_kernel"
         domU_kernel_size[$i]=$filesize
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:08:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707420.1105305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45Q-0006LS-Ue; Wed, 17 Apr 2024 12:08:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707420.1105305; Wed, 17 Apr 2024 12: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 1rx45Q-0006LL-Ru; Wed, 17 Apr 2024 12:08:24 +0000
Received: by outflank-mailman (input) for mailman id 707420;
 Wed, 17 Apr 2024 12:08: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=bxKY=LW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rx45P-0006LA-Dy
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:08:23 +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 2f9aed7f-fcb3-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:08:22 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a4702457ccbso687152266b.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 05:08:22 -0700 (PDT)
Received: from EPUAKYIW03DD.epam.com (ll-22.209.223.85.sovam.net.ua.
 [85.223.209.22]) by smtp.gmail.com with ESMTPSA id
 zh17-20020a170906881100b00a5271ae4458sm3484247ejb.16.2024.04.17.05.08.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 05: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: 2f9aed7f-fcb3-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713355701; x=1713960501; 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=Sj+H5vwl0pa2TUiDvvfE1wpuZQMEDkB+YDup88Wnsdk=;
        b=LkfKqBhnJcoFi3x2CCHT9Ov0+uCAxysu/ogL0P8lHOU7IpXssbyQkYOhlc8LEZN5lZ
         vCRhmMrDWtilW2FTiVOEnIMJF6j2QuXN61laoOqlNGMxCtv9osfg548wd/Iq3H0pc7zv
         atsFC+cc7gXs2mL2wUmRMJqr7rBGSxZrz3IrPP+/3IXvPhXjzoOJhE0V6wQrE/aOJ7KX
         yE3cqk0dCfpmUK4e1239/rm5BbckJAkUt05PjxYNl549a7m6e6tcthEAh+8WNrZA3k11
         D0AbP6CBqKgjdfSGPkQhtAbJE+mRpVwv+qcWfHY0+Y9vt8dVl9RWDYEr018LX2B2D5oQ
         yIoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713355701; x=1713960501;
        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=Sj+H5vwl0pa2TUiDvvfE1wpuZQMEDkB+YDup88Wnsdk=;
        b=l2qJQJ2pjnLdChQKSTP+GCU6ks3x+VdGP9IUQxOMa48/QRbAHr1TKKsPaEcrPReCaP
         uTksG7vqjk7Av79UIUd99AJpCfltOx3bFBlbuWgft/OhBksjwLDW9IIoKMfyenDr+s1m
         lUAnPVYsKYOvoA6+zMnvLLpaoo9VzRY+rGjEVFvL1Qzxz8Cvbr7TbJbK4iOKRv7HwjS7
         VT073YwBP8XtvFnyZ6OEmpZ0lWalopCEjdFhAZavmd6sOmEoEKK1K3oOULfRQOcGdSHr
         h5y7uWgpPoXeChTwRyA/4AmSRbjrAyZ4dDBWS974TbP0jshk+SFlKQCp2+7ZUEQa+Dzo
         1vZQ==
X-Gm-Message-State: AOJu0Yx396jLroX7cFiRkgwDoa+9RJMxLymm1Az1LZOLoqBMt9lEwBGt
	cQQFR/xP8U0TL3hpj7AbsgqBetEbSZtt7neKL2QnceWevfcY14LNcMCQcg==
X-Google-Smtp-Source: AGHT+IHgvlBgq5xAW5g3CzrY4Kb1gOyYSbmbIn43vzPE+6X3QJNTdS3x4+orfc8sNBIf55qB5NM1AA==
X-Received: by 2002:a17:906:b0a:b0:a52:5125:9723 with SMTP id u10-20020a1709060b0a00b00a5251259723mr6772454ejg.71.1713355701097;
        Wed, 17 Apr 2024 05:08:21 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [ImageBuilder 0/5] Misc updates for the dom0less support
Date: Wed, 17 Apr 2024 15:07:36 +0300
Message-Id: <20240417120741.2453431-1-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Hello all,

this is a collection of patches (#2-5) for improving the dom0less support
and a patch (#1) for dealing with uImage.  

Oleksandr Tyshchenko (5):
  uboot-script-gen: Update to deal with uImage which is not executable
  uboot-script-gen: Extend DOMU_ENHANCED to specify "no-xenstore"
  uboot-script-gen: Add ability to specify grant table params
  uboot-script-gen: Add ability to unselect "vpl011"
  uboot-script-gen: Add ability to specify "nr_spis"

 README.md                | 29 +++++++++++++++++++++++++----
 scripts/uboot-script-gen | 35 +++++++++++++++++++++++++++++------
 2 files changed, 54 insertions(+), 10 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:08:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707424.1105345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45W-0007K8-Vg; Wed, 17 Apr 2024 12:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707424.1105345; Wed, 17 Apr 2024 12:08:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45W-0007Jx-S4; Wed, 17 Apr 2024 12:08:30 +0000
Received: by outflank-mailman (input) for mailman id 707424;
 Wed, 17 Apr 2024 12: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=bxKY=LW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rx45V-0006LA-Iu
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:08:29 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3379bda6-fcb3-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:08:29 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a5557e3ebcaso86768466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 05:08:29 -0700 (PDT)
Received: from EPUAKYIW03DD.epam.com (ll-22.209.223.85.sovam.net.ua.
 [85.223.209.22]) by smtp.gmail.com with ESMTPSA id
 zh17-20020a170906881100b00a5271ae4458sm3484247ejb.16.2024.04.17.05.08.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 05: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: 3379bda6-fcb3-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713355708; x=1713960508; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=x4GN6k0JwPyQRPpK231MLixXO3px4oGXprs3iL1xZi8=;
        b=MRoEHqedvsXZ1HJ+k95qDI7SZTk5ou08Pdv6ycREvxTSdjHg7zcWbRNs3kx+wJqPxr
         T/PulHjrNctrRQZJrHA65OzH7ULiZnwrbiV2EJ69Vmr+n+qBapHJZ3MPhFD+Qif9+srk
         9Ep5+6NA3UkTuoPHKs3hnZTtSCd8UGtXKigahW2bkqWrAW97wnUFEcdA0pCQtksTLjel
         BiQFW+ZuMpDBwJpQ/Sb0QYsmbiYtg2CBDgejwU4NHp0+Ef/m39rRNaypAmBAV4y57ZZ1
         fsWr/NYGN8faVoAVXZ2Qwxo0P1rToL09GDNanxPb/TL9UcU6tIdBMfl6IiD2Rlz0xsXB
         bdGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713355708; x=1713960508;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=x4GN6k0JwPyQRPpK231MLixXO3px4oGXprs3iL1xZi8=;
        b=rXdqXvErig//BoyAumQI+apQS0L6mIJMATWLeYqa0KEuIhr2ekziLB57atFdmToGkx
         htBuXQSuW9L3zF9PbHS5GXchxAxH8hYLlfBs5+bbYiOG4gZjkkI3SuMdi4Z0ENdv1rl7
         ax3xRrTQiS8jczGo9hQEf5Z7NN9xXjcCK8Tbc6Yo6HUBDEfugJuXb2pLq/Lv7EhMbIsT
         FYI7PFbxDKD+XsxSm2NWqq8J5mE7YaNwQ1L/7MqRcydHXsaWcFjR9hgzHSfKJJP32vrY
         Dq2CaqHkts8wt2i4/yNqjB8DLK9vOm75Mfm6glLBnliSGdTVC7OF9NcXJ3yCEhIPKGLc
         i4FQ==
X-Gm-Message-State: AOJu0YwcGLYXf30vNJad5rqe+rw9LGqbfKiEDRGODhzo9K8WCQAzJE5P
	DoQoQJSCWHWQzy1QBEFDAuq2tysWG6kZTkGJ8Jha6Q0e0JDRqbPRl5qvwQ==
X-Google-Smtp-Source: AGHT+IGwt9EigWWHTg9MtqaVnIToTJrMrHzuOR3J9RTn7El85XRsROYhk7/E0iHVGj1yWOXdLMpWhA==
X-Received: by 2002:a17:907:7f87:b0:a51:d081:4bab with SMTP id qk7-20020a1709077f8700b00a51d0814babmr5038579ejc.21.1713355707902;
        Wed, 17 Apr 2024 05:08:27 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [ImageBuilder 4/5] uboot-script-gen: Add ability to unselect "vpl011"
Date: Wed, 17 Apr 2024 15:07:40 +0300
Message-Id: <20240417120741.2453431-5-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240417120741.2453431-1-olekstysh@gmail.com>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Introduce new option DOMU_VPL011[nr] that can be set to 0
or 1 (default).

Also align "console=ttyAMA0" Linux cmd arg setting with "vpl011" presense.

Suggested-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 README.md                | 7 ++++++-
 scripts/uboot-script-gen | 7 +++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index b2459fd..63c4708 100644
--- a/README.md
+++ b/README.md
@@ -151,7 +151,8 @@ Where:
 - DOMU_KERNEL[number] specifies the DomU kernel to use.
 
 - DOMU_CMD[number] specifies the command line arguments for DomU's Linux
-  kernel. If not set, then "console=ttyAMA0" is used.
+  kernel. If not set and DOMU_VPL011[number] is not set to 0, then
+  "console=ttyAMA0" is used.
 
 - DOMU_RAMDISK[number] specifies the DomU ramdisk to use.
 
@@ -232,6 +233,10 @@ Where:
 - DOMU_MAPTRACK_FRAMES[number] is optional but specifies the maximum number
   of grant maptrack frames (the default value used by Xen on Arm64 is 1024)
 
+- DOMU_VPL011[number] is optional but used to enable (1)/disable (0) a virtual
+  PL011 UART for domain. The default is 1. If explicitly set to 0, then
+  "console=ttyAMA0" is not used as a default DOMU_CMD[number].
+
 - DOMU_CPUPOOL[number] specifies the id of the cpupool (created using
   CPUPOOL[number] option, where number == id) that will be assigned to domU.
 
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index adec6f9..fd37e18 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -344,7 +344,10 @@ function xen_device_tree_editing()
             add_device_tree_static_mem "/chosen/domU$i" "${DOMU_STATIC_MEM[$i]}"
             dt_set "/chosen/domU$i" "direct-map" "bool" "${DOMU_DIRECT_MAP[$i]}"
         fi
-        dt_set "/chosen/domU$i" "vpl011" "hex" "0x1"
+        if test -z "${DOMU_VPL011[$i]}" || test "${DOMU_VPL011[$i]}" -eq "1"
+        then
+            dt_set "/chosen/domU$i" "vpl011" "hex" "0x1"
+        fi
         if [[ "${DOMU_ENHANCED[$i]}" == 1 || ("$DOM0_KERNEL" && "${DOMU_ENHANCED[$i]}" != 0) ]]
         then
             dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
@@ -677,7 +680,7 @@ function xen_config()
         then
             DOMU_VCPUS[$i]=1
         fi
-        if test -z "${DOMU_CMD[$i]}"
+        if test -z "${DOMU_CMD[$i]}" && (test -z "${DOMU_VPL011[$i]}" || test "${DOMU_VPL011[$i]}" -eq "1")
         then
             DOMU_CMD[$i]="console=ttyAMA0"
         fi
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:08:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707425.1105355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45Y-0007aX-E1; Wed, 17 Apr 2024 12:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707425.1105355; Wed, 17 Apr 2024 12:08:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx45Y-0007aK-9f; Wed, 17 Apr 2024 12:08:32 +0000
Received: by outflank-mailman (input) for mailman id 707425;
 Wed, 17 Apr 2024 12:08:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bxKY=LW=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rx45X-0006LA-3G
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:08:31 +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 3452679e-fcb3-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:08:30 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a52223e004dso617539066b.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 05:08:30 -0700 (PDT)
Received: from EPUAKYIW03DD.epam.com (ll-22.209.223.85.sovam.net.ua.
 [85.223.209.22]) by smtp.gmail.com with ESMTPSA id
 zh17-20020a170906881100b00a5271ae4458sm3484247ejb.16.2024.04.17.05.08.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 05:08: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: 3452679e-fcb3-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713355709; x=1713960509; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=c1Qabi3jNJegdKhnBiMWi1ZQl9X7iHb1l6tidFGT/F0=;
        b=EZvGXeOxLdAD4ASsid4T0Qs7PTssveJ3AIXqqSVcEdup8i0RFLL/x+/qDYXV0YulvU
         dPW+U4p3WqSbYyZTREOxsiRdAirlTPDnCu52v74pnzZeioKdhTrPx/ymESUI+Og5M0DA
         wAxAAKsxYnYnb9TFYifPhad01jkQLnmIZ/cYtNueYcf0oM+Y40202tfZHaAF+2mcm3kU
         RMghTRBGvxSUE9UzLZZcB9EscRU+00N91H8HHGYHs231kHoWHonedq+HK30ayCNgT2kh
         eK3SMP760GRP5L1i5reYTCBqYFN9vJ4FAX82mIPG3U/10pu2k4jZGs31r6QmJ9cn0g4N
         a5Bw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713355709; x=1713960509;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=c1Qabi3jNJegdKhnBiMWi1ZQl9X7iHb1l6tidFGT/F0=;
        b=iEpOqRLD1oY2+1ldYDFe6mYJop+73rb0XyFChODmemrDNpGYWwq+ku/uTf35x1/0SI
         M3+YAcapnbNWSv3X0Wno0Vvw9mkTJkZEHPNL9IRL42blvxxRyDARxyIA7KLJvu2Ze3i4
         KBmr6/qlhIrBFVJs8zo2d1bbDPvT2e3xUe9LMgKR+6mlGycKsDlbdk0uRwyG+f0J6g2C
         RVJC5s6eNTxFEB/ai3QVR2GCMY4UeeEJA8g1/VosujlCcVdGd9eZA5f5XQSd7vWOD7pV
         f09Hy+bSb51REYZPnwmAqkBe4lslWjRzKEkMOpA0ZBoTu4QvBFc4s8yfLW65QZwnhr2Z
         na3A==
X-Gm-Message-State: AOJu0YylbE/woQcNWTi/RhAVqgtOtTp4yyMoPXF+E9ADE9PB0TGg8Pd4
	RqnhMkPEjRajw4uGPA2V1EwaOfbmorQi+/jLQMga1RFazwmCGQc7pGIhfA==
X-Google-Smtp-Source: AGHT+IHb8Vq/IOF6xICYfryAxfUddkwrB/+/DKcfazmmPzBN+SIvkYWlOPrfo0HJ92AWkgZcLafwVA==
X-Received: by 2002:a17:907:86ab:b0:a52:51bb:5f with SMTP id qa43-20020a17090786ab00b00a5251bb005fmr12084368ejc.9.1713355709404;
        Wed, 17 Apr 2024 05:08:29 -0700 (PDT)
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [ImageBuilder 5/5] uboot-script-gen: Add ability to specify "nr_spis"
Date: Wed, 17 Apr 2024 15:07:41 +0300
Message-Id: <20240417120741.2453431-6-olekstysh@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240417120741.2453431-1-olekstysh@gmail.com>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

This is needed to have a possibility of assigning a specified number
of shared peripheral interrupts (SPIs) to domain.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 README.md                | 5 +++++
 scripts/uboot-script-gen | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/README.md b/README.md
index 63c4708..7683492 100644
--- a/README.md
+++ b/README.md
@@ -237,6 +237,11 @@ Where:
   PL011 UART for domain. The default is 1. If explicitly set to 0, then
   "console=ttyAMA0" is not used as a default DOMU_CMD[number].
 
+- DOMU_NR_SPIS[number] is optional. It specifies a number of shared peripheral
+  interrupts (SPIs) to be assigned to domain (depending on the underlying
+  hardware platform). The minimum possible value is 0, if DOMU_VPL011[number]
+  is also explicitly set to 0. Otherwise the minimum value is 1.
+
 - DOMU_CPUPOOL[number] specifies the id of the cpupool (created using
   CPUPOOL[number] option, where number == id) that will be assigned to domU.
 
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index fd37e18..50b6a59 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -348,6 +348,10 @@ function xen_device_tree_editing()
         then
             dt_set "/chosen/domU$i" "vpl011" "hex" "0x1"
         fi
+        if test -n "${DOMU_NR_SPIS[$i]}"
+        then
+            dt_set "/chosen/domU$i" "nr_spis" "int" "${DOMU_NR_SPIS[$i]}"
+        fi
         if [[ "${DOMU_ENHANCED[$i]}" == 1 || ("$DOM0_KERNEL" && "${DOMU_ENHANCED[$i]}" != 0) ]]
         then
             dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:10:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:10:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707433.1105364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx47b-0001ph-Ox; Wed, 17 Apr 2024 12:10:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707433.1105364; Wed, 17 Apr 2024 12:10: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 1rx47b-0001pa-MQ; Wed, 17 Apr 2024 12:10:39 +0000
Received: by outflank-mailman (input) for mailman id 707433;
 Wed, 17 Apr 2024 12:10: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 1rx47a-0001pQ-FD
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:10: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 1rx47T-0004QU-2o; Wed, 17 Apr 2024 12:10:31 +0000
Received: from [15.248.3.90] (helo=[10.24.67.26])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx47S-0002mi-Sq; Wed, 17 Apr 2024 12:10:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=SyRMb1xmbk7nO2LKnu3N+EtKt/VyzMld4Loefr+UNh8=; b=03herz8QI8tA4jVjaCTHh0NcYC
	sKiv0+MU5GRx4vU9TQumoPSK6posPUSMS2BtZVhKkV4ewJkHlNzay9gU6TtzGLtPtRDaIAbl9Vf5L
	RKtj3bBd3D8+bTnqDiRtLnRcpV5ZIysChWDX15PPKiMiWlGkjALjOdHHX2HsCymfgLv0=;
Message-ID: <271ac8f1-b25f-4be2-a8e5-b0940d4da160@xen.org>
Date: Wed, 17 Apr 2024 13:10:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>, Peng Fan <peng.fan@nxp.com>
Cc: John Ernberg <john.ernberg@actia.se>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20240416133844.2544452-1-john.ernberg@actia.se>
 <DU0PR04MB9417D2CBEAE4D002596B9F4B88082@DU0PR04MB9417.eurprd04.prod.outlook.com>
 <alpine.DEB.2.22.394.2404161747250.2257106@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2404161747250.2257106@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi John,

Thanks for the patch!

On 17/04/2024 01:47, Stefano Stabellini wrote:
> On Tue, 16 Apr 2024, Peng Fan wrote:
>>> Subject: [PATCH] xen/arm: imx8qm: Re-license file to GPL-2.0-only
>>>
>>> New contributions are recommended to be under GPL-2.0-only [1], since this
>>> code piece originally came from the NXP tree the original license was retained.
>>>
>>> However, as discussed both Peng [2] and I [3] are ok with GPL-2.0.-only as a
>>> license. Change the license.
>>>
>>> Cc: Peng Fan <peng.fan@nxp.com>
>>> Signed-off-by: John Ernberg <john.ernberg@actia.se>
>>
>> Acked-by: Peng Fan <peng.fan@nxp.com>
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

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

I will commit it once OSSTest has been unblocked.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:14:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:14:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707445.1105375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4Bi-00033c-97; Wed, 17 Apr 2024 12:14:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707445.1105375; Wed, 17 Apr 2024 12: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 1rx4Bi-00033V-5q; Wed, 17 Apr 2024 12:14:54 +0000
Received: by outflank-mailman (input) for mailman id 707445;
 Wed, 17 Apr 2024 12: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=R6tE=LW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rx4Bg-000329-Us
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:14:53 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1719083d-fcb4-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:14:51 +0200 (CEST)
Received: from PH8PR20CA0006.namprd20.prod.outlook.com (2603:10b6:510:23c::11)
 by IA1PR12MB7493.namprd12.prod.outlook.com (2603:10b6:208:41b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr
 2024 12:14:48 +0000
Received: from CY4PEPF0000EDD3.namprd03.prod.outlook.com
 (2603:10b6:510:23c:cafe::da) by PH8PR20CA0006.outlook.office365.com
 (2603:10b6:510:23c::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.24 via Frontend
 Transport; Wed, 17 Apr 2024 12:14:47 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD3.mail.protection.outlook.com (10.167.241.207) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 17 Apr 2024 12:14:46 +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.35; Wed, 17 Apr
 2024 07:14:46 -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.35; Wed, 17 Apr
 2024 07:14:46 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Wed, 17 Apr 2024 07:14:44 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1719083d-fcb4-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SHYwIlxrc2XzNNv2z1yfQMxSDRNoilAUyMlT4Xl+iXUbCOdgrV+pCdKb6lrx2XNKAT9TIPD1CFCCKWEucT6MjOsWa3b23LKSuxv+ev2k6IgnkmVL8HAy49r8BfuL1pVwZwFtVgpHOwcQDiB92E2NfizwE1mmp2CbpwECte7JUN313lwWy15tU29TNhoGJvnG074nwI0NkizzmXMnWsPUJi0IpoZAtQIofuqo59Yky1v6etlq+sKm3FeYtG/XkZ0IXcZm+xbPIaxB+HPp3pA7ujTHCu41qZI12RkB868cpxqmjKBB9v2o3gvwK0100p8F2mNNzCno7rhlnYzC8UnVBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=87AOnwj0YmJESyxXcN9JBbPhqtf3pO0sLJy1fuUzuxk=;
 b=M2AVjA7JXXbinoIa99XVnmXMr92iz1OMguDKyPKVT1ZFj5oAvQUyQxatOJ3oOu+hfyf+ZqBfsXLtHMSJ4cIm6qN2G5R6prUoK7BdJlzpywq/iOm28CLysXc5iih1d6Lt3uAjxhlMhCTqJrZV+v7MCVwNxJZ0nNw4Cm4GI4YV1w4TJCFyIu1iRzjQoyj24Z6x3Sr8BL+9Fl2toiSxdRZy8rTD1cNKeWcmK+XA/nKqmSvWRK4o8/GzLGxuUbiUFOZuWS2dkgV/KhhvsGd+PE3g6cC6lGyOvUPMcpEAlTpHWTopBdsKyRrkhErjXfkr4vaZCGKYf5DbefW8suXRdInCuA==
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=87AOnwj0YmJESyxXcN9JBbPhqtf3pO0sLJy1fuUzuxk=;
 b=mlX3jPtvvflo9jsHb005EDfURLCIUWK0gQdRkrA9GrXpuVLZ0WzqATXhhysLjE5O9wpmIUQEgqwdVfsBTuwSFn7xXsv4YrTcjORLd8Ye2CFAT5UdN2ll6zL89fW2/t/lHMxZAqL/CKeUk3JYk1vOlueLRkkF8en2ctdhUpdxDA4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH] public: xen: Define missing guest handle for int32_t
Date: Wed, 17 Apr 2024 14:14:42 +0200
Message-ID: <20240417121442.56178-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD3:EE_|IA1PR12MB7493:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b3d7f73-4c86-4b2a-f3f3-08dc5ed7f922
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sSPR9C9m8LrysR2oIzZxUVHV+iG1b94Du34m9wUvn1gEEbHNyR8L8xE7LEDIbvwj/2k0Nvo/jcq+wJiw/UKmxDulfxF+1/oevBE2lL/nKAQBzr0eZ72u2zEkp6Nri+u/4Y2QOIu3E3JwXA8zvsEWZKnV8Ga0GI9EnfchuLwqQEYiwWdIFx/eYq116KCOojKRBDw5JWArdpfQbg/xKN42dqIq8gvZWpNhEdBHwMFDioThjwfKTn9UVgREPLrZAuFfj/rEMZjism7UvmlZRdYSIhttcrkKHYDgqg1vHm7/XrtUa6JZDOcK2GEZs8IwOn1MIp7HQOzIgsaMDYMdeEw/vOOnnv9o2sgbs7j1gDfj6surKCm1b3ee8ck8c2MSCIusMBXgEVMQfi2dKsIh29RfC+RqI32/j+862rFDzgeSNuLuxG9TStP8+6LrN62fvqIZ7mJoEjaZYhgulYtjwkB9eCWWQnzePuqPcmCubd/MZ3g7L7l6Lm7Y0QHKkBHhiGmtw3AuzQgxg91jHuFYyl5+lPRrRRS0Ywxp8f5PTbUTy0aLSEpWqCdVXwALsrmQ/AqdmGQ0TJIzoowuLcuU2feXT+/mMiFQP92BBY+H7QJ42KEgWAGuVOfZM9eO9j3C9wk6Bcd9roh4r3md1uf/lOtFukE+4lZcwLlb1c5epqf5DsO7idvzNSjTJmRs5CMb7m+7+egFQb8JHcbzzsEd0W2v/SLdBpMqegM5WNfWyv9+s9fxSBlTb3baEAzN7BcNLtp1
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 12:14:46.9471
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b3d7f73-4c86-4b2a-f3f3-08dc5ed7f922
X-MS-Exchange-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:
	CY4PEPF0000EDD3.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7493

Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
for it. This results in a build failure. Example on Arm:

./include/public/arch-arm.h:205:41: error: unknown type name ‘__guest_handle_64_int32_t’
  205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
      |                                         ^~~~~~~~~~~~~~~~~~
./include/public/arch-arm.h:206:41: note: in expansion of macro ‘__XEN_GUEST_HANDLE’
  206 | #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
      |                                         ^~~~~~~~~~~~~~~~~~
./include/public/memory.h:277:5: note: in expansion of macro ‘XEN_GUEST_HANDLE’
  277 |     XEN_GUEST_HANDLE(int32_t) errs;

Fix it. Also, drop guest handle definition for int given no further use.

Fixes: afab29d0882f ("public: s/int/int32_t")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/include/public/xen.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index b47d48d0e2d6..8fd0cec880d5 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -28,7 +28,6 @@
 /* Guest handles for primitive C types. */
 DEFINE_XEN_GUEST_HANDLE(char);
 __DEFINE_XEN_GUEST_HANDLE(uchar, unsigned char);
-DEFINE_XEN_GUEST_HANDLE(int);
 __DEFINE_XEN_GUEST_HANDLE(uint,  unsigned int);
 #if __XEN_INTERFACE_VERSION__ < 0x00040300
 DEFINE_XEN_GUEST_HANDLE(long);
@@ -36,6 +35,7 @@ __DEFINE_XEN_GUEST_HANDLE(ulong, unsigned long);
 #endif
 DEFINE_XEN_GUEST_HANDLE(void);
 
+DEFINE_XEN_GUEST_HANDLE(int32_t);
 DEFINE_XEN_GUEST_HANDLE(uint64_t);
 DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
 DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:26:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:26:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707459.1105385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4N3-00057A-8I; Wed, 17 Apr 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 707459.1105385; Wed, 17 Apr 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 1rx4N3-000573-5X; Wed, 17 Apr 2024 12:26:37 +0000
Received: by outflank-mailman (input) for mailman id 707459;
 Wed, 17 Apr 2024 12:26:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R6tE=LW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rx4N2-00056x-HA
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:26:36 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2407::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba9b0c7a-fcb5-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 14:26:35 +0200 (CEST)
Received: from PH1PEPF000132F1.NAMP220.PROD.OUTLOOK.COM (2603:10b6:518:1::34)
 by PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.54; Wed, 17 Apr
 2024 12:26:31 +0000
Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com
 (2a01:111:f403:f912::) by PH1PEPF000132F1.outlook.office365.com
 (2603:1036:903:47::3) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.20 via Frontend
 Transport; Wed, 17 Apr 2024 12:26:31 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD2.mail.protection.outlook.com (10.167.241.206) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 17 Apr 2024 12:26:31 +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.35; Wed, 17 Apr
 2024 07:26:30 -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.35 via Frontend
 Transport; Wed, 17 Apr 2024 07:26:29 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba9b0c7a-fcb5-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gWv2wtK8Pk4jZCWz/aooVgo/RU2hmEt7vJxWjyWmT4tNWgmZvfOHE6Hqaejl/KoGc+tyo9CIetgYQsynZSASQYwfsD6TgJVg1EdlovXnYIixIT3T54Z0+mSwOr/UMeE3LuFdX4TsmXfASa6YaH4TGUciffj2/EzovCIh5crS4mkN+8nKPIUKWsKlLL59pt6tFJ8PJfXicEty9vvwXxMMQ+O/qU5MBX8ovxwLqD2f0fz3MuQuLGlz7kM2HHQadps1rE0kGIhrpiVlpox2c0Sz7kEqKoA2J/LTFCR88PnwUK0f2PAHgf09TuK4DG10lEYb0ClTzu4mWvJ9+IJFtYnwVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aVNZGxRMNj9pOBLe90Vkr1scHYK/sfyg9wLGMccFcrE=;
 b=Ya84pg+G8e4SVaGP/jwaWSeYtX35dN2WZBNyCvYVJhr1M9wee1sSGYPZTxDwt77dU/2C+nLWSXHwuI96eZlyfS0X+rgZudWEExqTdQ6PJj2CEmZPaz+gZrLL4UBA51ipS8h5pGlSJ04RAh4TxHxhZ456o3RET1Vnkjk/yuSBpx6LIiKpkCLE3yMpG+2qBT4ui5wvUX0v4om269WnPGZLmCRo/YyuLavVqekOmP7ap0QMT29JJe4nyJF7GFs/uvkOQ0Fghz9/Ag0VLGEObaDfLo0D9+B780n+p8UHyVg+ekRSa50whdMHDP6bfo9sw+ObVPP+WlQ5e2y58+2T5yG3aw==
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=aVNZGxRMNj9pOBLe90Vkr1scHYK/sfyg9wLGMccFcrE=;
 b=U2Myz0GTi05QvLFJjEkWJMKUPmjMAix+72PuKbjr059yNLxPHVtniIxrMBsbbD26OPMmmB1WJS8nimIHKdYswLI+0G4O85w5XCKoRleO1LEjb9fqCez9uQXREzK4WIs5biSERgz40mKU9bHJIf6QEIYVKuTifv5wmKd5JaagjJE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <2c450a07-59dc-458d-bfdd-e0ca5cba4114@amd.com>
Date: Wed, 17 Apr 2024 14:26:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [ImageBuilder 1/5] uboot-script-gen: Update to deal with uImage
 which is not executable
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
 <20240417120741.2453431-2-olekstysh@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240417120741.2453431-2-olekstysh@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: CY4PEPF0000EDD2:EE_|PH8PR12MB7277:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b3a531b-a2f2-4036-43bc-08dc5ed99ce6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZsNzk9sLgbLilfQI8Hu6aU1nU9krtfDSdvB96raI0fr/iGlpYh4ozsDGWYnX2VxdZO1Zcy5kwnbqaRTBMAJBylAJPQqy9rMJxB9BQGl7z0bmjQzDbQUB4eDP5ZR4ecaJNVTBaihYF/DFucnfRim1EwVe8znXaUwXzPA+tgFNoDLaUKD8nRyC9Knbb3uVQGI+aKmnxLfleAtimcw1ca2bj/VQ9j8a6V/FscM4q6D1GN1/FzV0LIAf5E3iiW49+DozvA+TXOqCJaQh94kI161GEPr7g9BbmOErouRFf5T96vUmjyJq5Nks7Wj6pqgDiINHwqAnupYkxtWs9lgUQv3nMOFHzrMJy29NndA+P9D9ukAnYiUhdWN0xiwzBvHRtrxf+8tXymhvo1N8gpfLpon23j2Icwyt8i0myjBNeSNOyaJ3Ucu6utD8AHOzoLDIrx5cn+VpoxHU2Ihf1NNXOBpqEvHVFcd9mM64O1GGwyp2yjotFZqVxIcpaQeq2MSo5SsdoQJ6esSIc662BSHnow8+Pr4YCU2cRLF3OyeR7T0q5XWwwG+WRx5cCNo1RRN3suQ6bRY2/Qt2kG/p8LN+FfrZmZADWeYZ/YfEBE+qDBAZ0mlF3rlZ296aV9Hkhmox1dQs9wf91eC3uvoDkrfow28Y0UWo9bYN+FA4BGF7jL94IDOwyicpD6MDWcUiKcgwy/Yp2oKTrmgLdaR37b1OdgTyNxUpfxwvMaavJre2wwSHV9stnOB5ommG0Ifd6sRPyXmG
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 12:26:31.1924
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b3a531b-a2f2-4036-43bc-08dc5ed99ce6
X-MS-Exchange-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:
	CY4PEPF0000EDD2.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7277



On 17/04/2024 14:07, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> uImage is the Image that has a U-Boot wrapper, it doesn't contain
> "executable" string which subsequent "file" command is looking for
> when inspecting it.
> 
> Below the proof:
> 
> otyshchenko@EPUAKYIW03DD:~/work/xen_tests/input$ file -L binaries/uImage.gz
> binaries/uImage.gz: u-boot legacy uImage, Linux Kernel Image, Linux/ARM 64-bit,
> OS Kernel Image (gzip), 9822180 bytes, Fri Sep 29 15:39:42 2023, Load Address: 0X40000000,
> Entry Point: 0X40000000, Header CRC: 0XE1EF21BF, Data CRC: 0XC418025
> 
> otyshchenko@EPUAKYIW03DD:~/work/xen_tests/input$ file -L binaries/uImage
> binaries/uImage: u-boot legacy uImage, Linux Kernel Image, Linux/ARM 64-bit,
> OS Kernel Image (Not compressed), 23269888 bytes, Fri Sep 29 15:40:19 2023,
> Load Address: 0X40000000, Entry Point: 0X40000000, Header CRC: 0XA0B7D051,
> Data CRC: 0X42083F51
> 
> Suggested-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:27:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:27:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707461.1105394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4Nf-0005a7-G8; Wed, 17 Apr 2024 12:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707461.1105394; Wed, 17 Apr 2024 12:27:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4Nf-0005a0-DW; Wed, 17 Apr 2024 12:27:15 +0000
Received: by outflank-mailman (input) for mailman id 707461;
 Wed, 17 Apr 2024 12: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=R6tE=LW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rx4Nd-0005ZZ-Kr
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:27:13 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2412::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cfdab5c6-fcb5-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 14:27:11 +0200 (CEST)
Received: from BN0PR04CA0193.namprd04.prod.outlook.com (2603:10b6:408:e9::18)
 by IA1PR12MB6041.namprd12.prod.outlook.com (2603:10b6:208:3d7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.37; Wed, 17 Apr
 2024 12:27:05 +0000
Received: from BN3PEPF0000B371.namprd21.prod.outlook.com
 (2603:10b6:408:e9:cafe::f5) by BN0PR04CA0193.outlook.office365.com
 (2603:10b6:408:e9::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.38 via Frontend
 Transport; Wed, 17 Apr 2024 12:27:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN3PEPF0000B371.mail.protection.outlook.com (10.167.243.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.0 via Frontend Transport; Wed, 17 Apr 2024 12:27: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.35; Wed, 17 Apr
 2024 07:27: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.35 via Frontend
 Transport; Wed, 17 Apr 2024 07:27: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: cfdab5c6-fcb5-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dE1KviOznDHorYcNZJYlyqf5d+eMwFcx5BUg2PyVe3WRPLNgzvFgkD+APVMlxstxIhQhJ1gmf5BDPbMkzJx8cJOhwUk+5ae/MVMGrRyTKG6RN193ZG0YRCCCK9/NwNHquyBVPm6kbN2eYVrnM9gjLl4hhemJfQg/VYMDm72Y6gC4vwQaEX0FuDvh3ww9ezC3N0laWwiWLKchcanauV+13QpFA1GyU3txPcAzJzgMwaAG15Qy/+8iIA1LZGeaGfYRq0skoaPqlmDzYGFWSXUAKAjDsLJAlD5SxF+QHT1WA7O1LZx3p0l0TU5Oa+UrEMjMnrRRVIiYsaDRMBeQK2SqVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YbHvg4qBQplAadW29MjytjWZsaY/L0op/dFxQP/havw=;
 b=g10hau3Tb50B8w8PccArd7RYH+to642dvsmVYKvW0BfSQWU63jHMTRqk2j4ZGi60Os1HPLeMBAuSekWKlnSrA4h6LxlwKNXIjpf+1i8s78x4idsXN6RTqlt9YNIuABkx8p/UgpjmlRYFiXbMZvGNcD6LHhnATeniMDbGX3L3wwozYyZm3ksqlEMFvVCmwyrK3TosahmIa8D6dpX7/U454qGRmA7LLloDMQr/YOp9xxfJXDwzAFUPZCr7LOI+/xDiEde+O5vULsRsQzcvUouX11gqu3HwQYOK8ThamvtgcGw5As/rO2CI0RaVzuoZOP5w7IYfUfdt06y+mblD1KK49Q==
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=YbHvg4qBQplAadW29MjytjWZsaY/L0op/dFxQP/havw=;
 b=p4C/azc9vOLNQoOEFfX3nsCOB5HDxbjGbSn7quuyJQwC0ZV48mNJKbojI4ed4uMoKr32piO7ii5mg5kRxeNa4p3YbDd/bsCGUFMK7zmV3TlGhp2poEugId0euRv+sTuWmIO8s/gYCLK5DEkgEFXw6e2qGVtwIiEg6P66EWlMGUU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <3cbeda41-31fe-4bb3-a1a5-5338cfbf2717@amd.com>
Date: Wed, 17 Apr 2024 14:27:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [ImageBuilder 2/5] uboot-script-gen: Extend DOMU_ENHANCED to
 specify "no-xenstore"
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
 <20240417120741.2453431-3-olekstysh@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240417120741.2453431-3-olekstysh@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: BN3PEPF0000B371:EE_|IA1PR12MB6041:EE_
X-MS-Office365-Filtering-Correlation-Id: 2162fec3-d483-454b-efa6-08dc5ed9b154
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SUZiYsWl9Snl/xjbnuzaR75zEp2kCuCDVYDX3IkZzUlD3PbDbS69EioD/MPcQym4UmKmb4rdIS6CqT8HehGbvUFfl1we1UMmYACniv/lNtyhZcFqoEKzszcAZGVswOd+qyJpRMRjtdiBeg212GzmxUPSsNuaf08XJ4lWEePQna37hcQTtIeILNp296DZSKlVqiIh/pbcNgLhYylGBAfs/rrxeFIjtYbIWUyv+1G8xerC+S2cDEZy0ZjdLlAAOtfLXBI0PyWtEkfKxEc6YgHvWFtCcaXVqpDfXMsf8wcKOO4t9iGGRhb7f8vhwoCfD5tysLLydnW8pJSs/b1ef5EkS84a/YFK+fjhYMwxa2R0GDrl0vZreQ/svAJT03D+RX3brakyXVJlIU4FSI/ZoWhhgBlXrnviI3kNrubOuBpB+9wr1GLTebDUMWWcpqU/9w6FrJcnI7mhI8iba+RO4pk30jTj+5sQZRKzEWNyWDctNUqJ9PZN6dHOS+ITMQlB6oQBac2dnkAfiyaF6SfsQ5fAmxruqwRNfKJNskrXDwGhVLJ1xqXxuurgWeIFy8H7BuJeUAv0RX6hi5CK4dge+quGCRckgQRhB/W1m+wH4bTWK4pGFRXxRTE3Sv/AkXSIZdAvZ+TlrBIUXMFzaoM/xzZ2Owb3HYot5xNaON3oLo9tNZr0A0rCvONrRSnv0i+pe2IUaVypB+bvBJbVBnK6Wf3VIGwARmEnqNMUSXApC3sD19TcFViqkAB7BjBFYxhOhmLF
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 12:27:05.5346
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2162fec3-d483-454b-efa6-08dc5ed9b154
X-MS-Exchange-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:
	BN3PEPF0000B371.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6041



On 17/04/2024 14:07, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> We need some Xen services to be available within single dom0less DomU.
> Just using "enabled" will lead to Xen panic because of no Dom0.
> 
> (XEN) ****************************************
> (XEN) Panic on CPU 0:
> (XEN) At the moment, Xenstore support requires dom0 to be present
> (XEN) ****************************************
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:28:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707464.1105405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4Ov-0006WL-V0; Wed, 17 Apr 2024 12:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707464.1105405; Wed, 17 Apr 2024 12: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 1rx4Ov-0006WE-Qt; Wed, 17 Apr 2024 12:28:33 +0000
Received: by outflank-mailman (input) for mailman id 707464;
 Wed, 17 Apr 2024 12: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=R6tE=LW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rx4Ou-0006Vy-4o
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:28:32 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2407::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fedb706e-fcb5-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 14:28:30 +0200 (CEST)
Received: from MN2PR19CA0063.namprd19.prod.outlook.com (2603:10b6:208:19b::40)
 by DM4PR12MB6664.namprd12.prod.outlook.com (2603:10b6:8:bb::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.53; Wed, 17 Apr
 2024 12:28:25 +0000
Received: from BN3PEPF0000B36D.namprd21.prod.outlook.com
 (2603:10b6:208:19b:cafe::a1) by MN2PR19CA0063.outlook.office365.com
 (2603:10b6:208:19b::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.20 via Frontend
 Transport; Wed, 17 Apr 2024 12:28:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN3PEPF0000B36D.mail.protection.outlook.com (10.167.243.164) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.0 via Frontend Transport; Wed, 17 Apr 2024 12:28:25 +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.35; Wed, 17 Apr
 2024 07:28:25 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 17 Apr
 2024 07:28:24 -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.35 via Frontend
 Transport; Wed, 17 Apr 2024 07:28: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: fedb706e-fcb5-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QH1jQUgAA4Wk6UsSNiMJSUMxqP7HVbxDquwDrynCu1ndtUbLK2Vq3Z7/3nHYVPSI+7y7sN/pNqvJuSk0e105Cf2GcVlLm6yMZfE17X60+o8C9kgdNdRse4x2ct5Hxryd7WdRbB72kLfCxop7/PEyZkDI2r/htFtpKlXMRGemCuLJtiUGtCxXXHZP0VK9t+mLw9s3Ck1/1vaHboXJPH9YPVKk3ZAMre2bvKNuyJNGYutsDL1bOwtQb4EYab74PrMJf06oKECezssLz2JDObZt9Y7pv8aXHkKk6IMPhFAc8BBhVHyS1NggEgQJPHEhoM8UExgdAOQK4CykWN9p39QYcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k16I2UbYIBhSrcAw346sjI1ysnOimRpGMhDszO0ygso=;
 b=h0rojXiERVPVBbauhkESE4/hpUM76vbbm/sJq9CrQIUt7DPw8XqnGwRrqsVw+at6rTsR5UFyLhKtgSyoOB/bs/iI/jlb9RfOWoOBblglG1e3thMlY+VZWfO5Yj86EMEkvfi9CBaWzMWkBI3kcXZQXn5grvf6gubgHCGCKBDA2sbFVhXXH6e5GuTyKaEz/+pPdMvFr6U0PZrqRyv24BeY509yLpY/z68DWQVM3k97sXNf7PFh7e4DLGnHKEiUY24zDb4KebSyImeJddsCVFqXBCj2s4HNKc99JeScvMZWnRH7xZO4MKEhWUyVpAosIGULluakzPhgj9ohwBX1PVaCMg==
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=k16I2UbYIBhSrcAw346sjI1ysnOimRpGMhDszO0ygso=;
 b=FTj4L0kjkN4PXp/828O3V1SDV/XZbn4IVe+zFOup4vrSpwg2qFz62RVkAJAz305yazhJPzg1jS/hUwyeZOfNmoz86SZuewqWEf3uqOZbpZfWTOURXUfVTjekHvxxEdwXuwX89OLQOQNjnPKyMGYcyjBNVsMPezmq+ge7iGgHruE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <3ab662ea-d452-4e18-8082-ef608ccdf024@amd.com>
Date: Wed, 17 Apr 2024 14:28:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [ImageBuilder 3/5] uboot-script-gen: Add ability to specify grant
 table params
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
 <20240417120741.2453431-4-olekstysh@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240417120741.2453431-4-olekstysh@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B36D:EE_|DM4PR12MB6664:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e2f35f5-3634-47d9-ff26-08dc5ed9e0e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jH8uuiTlr0ZqKLexwwTem2FEi6WzXGVKsk/MQ8DlZti3xxUUVZ0JtCx0kf0PwT0JT6WlZaM9m/fr79pWbRVEEGNJn0MQxHf4FMdHNHbW5dj49DKghElwEBmQ8oqG+HxzY6lw4V/dTm7ZwPioNZWDmOjQ3K+bFypmA63G1qI/PRr5AdIDHlklUnahAU/zModrf2cSH1jR/gnACl7tn7wc2Yzp5yyBRfz2+d7pEl1hyL3AYrt2nmHlKhbheUATZG9XOZa0nOF1M+mX6WwmOiKRu/PBbGGhFxHRe7sPhrlLvfpQQFgzgncgAnvuoiyz3OWgkTjyxMyLSZa/jXqTpe+tyJnKDDPSjiFDDnhVZFkcp0ziSVJjB2Gwaz5v37dBxP+SqjAG6++hxuoR0FbGUDYLOM230h/y07Wwsi1Leeq4fsIYaErHg3GH0YJxWnETNn8iLyQWV1mmqYGtdVnkQatOLMjxpTBX0MaaU476dMd776UpEuYSwL0lmW4sz2V1lNAm7H/0OximXHu3ZZ7k/Q13k5YCKHj4RGdfShmzeRqSGKw2p5byB44R0g0S/xdJcRhYrjKiMCMHtuhMOU/L2BVaTEaHpL96IU/w0NelCLs+snRfvGF17MH6kzxUlvriAn+zQsWsbb8qy5MNIzDIo/FFrOMGT88mktjXlCgf+cYExLydnL3ld3htnwFTYNyoxmJJNT4vfDu6URaVOedg5adJAw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 12:28:25.3382
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e2f35f5-3634-47d9-ff26-08dc5ed9e0e5
X-MS-Exchange-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:
	BN3PEPF0000B36D.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6664



On 17/04/2024 14:07, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Use DOMU_GRANT_VER to set "max_grant_version" dt property.
> Use DOMU_GRANT_FRAMES to set "max_grant_frames" dt property.
> Use DOMU_MAPTRACK_FRAMES to set "max_maptrack_frames" dt property.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:31:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:31:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707472.1105414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4S9-000810-Cn; Wed, 17 Apr 2024 12:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707472.1105414; Wed, 17 Apr 2024 12: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 1rx4S9-00080t-AA; Wed, 17 Apr 2024 12:31:53 +0000
Received: by outflank-mailman (input) for mailman id 707472;
 Wed, 17 Apr 2024 12:31:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R6tE=LW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rx4S8-00080a-1r
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:31:52 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2418::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 765434b5-fcb6-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 14:31:50 +0200 (CEST)
Received: from BN6PR17CA0040.namprd17.prod.outlook.com (2603:10b6:405:75::29)
 by SJ2PR12MB7824.namprd12.prod.outlook.com (2603:10b6:a03:4c4::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.37; Wed, 17 Apr
 2024 12:31:46 +0000
Received: from BN1PEPF00004684.namprd03.prod.outlook.com
 (2603:10b6:405:75:cafe::ce) by BN6PR17CA0040.outlook.office365.com
 (2603:10b6:405:75::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.26 via Frontend
 Transport; Wed, 17 Apr 2024 12:31:46 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN1PEPF00004684.mail.protection.outlook.com (10.167.243.90) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 17 Apr 2024 12:31:36 +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.35; Wed, 17 Apr
 2024 07:31:20 -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.35; Wed, 17 Apr
 2024 07:31:20 -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.35 via Frontend
 Transport; Wed, 17 Apr 2024 07:31: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: 765434b5-fcb6-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZSm+l4DkJ/m7k9Mom85vTJ7hQeL3UWjUULnZa15SbX43u/Be/k5YkQn0naCWk+nk8O0cy8K5k6PPfk4bOzqQOFAToi7QgY8NQwyIIWM3WwjZCwa/H6K9Q1l7TCQm0Fo3qGD4d/we39zxtDYzYxTe3wZ2QkYAZcb9753Oj4t//HfsXnU2TUKwNOEeG0IX0Ad37PmBFCVHRIy2omAuuE1xaDFNCI9yoeFIFX97ohGRTCRJtJC6uVczxeeegzL4YwYj2M9+dONHd4LuFHn6aCAa8eN1qg77szXuHQuC8irXVX4uXpc7yLGsnivns+UmAE5DoK0fIqu4djovZMV+sVV4lQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SMDR6xsZMDWzwOSdPUcHxnz4fr/pnydhYWoe70ouwH4=;
 b=bSNiLXIlH4AnaWKUcyRmGEaYiRA/PuMU45hciW9+0r9ogU1YvupbvFvWzSPrUfRF1grvOYyppZ1gvBVOdoOJ4zcQuTeZm9nZw2eH2DBDSvbbvc2XGfSs4jtxgaa6yrcwzBF6hBDZu0gcm65h0vIYJqdOCcET97W6f+TFaIv6mO8ryj0HMgbiXImDXdGwtBGGIshepSc3HN4lQ044/6ytM/U5d6gQU41lZHf99OOT2Vyk4DXkc/x01DCMf++TdTXzyb5dTygy92RxW4eCqoJ646I9xvgxpdsBkSqTEtR6mUL0gkdRDSlWMNbYGJiX0L1Y8qG0Dy1OKTUndFeGLJuwjQ==
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=SMDR6xsZMDWzwOSdPUcHxnz4fr/pnydhYWoe70ouwH4=;
 b=3wZqE+m8PR9b22E78M3FQrEM+B/pfWHNAdf2Mb6+GFoSDd9OYJrcgletJi8flYmwLcvg14jcdopqCoVc61Soy2vIYZw7wfplDqAX9XX+hgvDkc8U05HxWv6ow5cOEoIuFMyoL0hmgj+05gQOjCg0zmPVahIecVX0EOT/s23iRgU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <427481d9-19cf-4fcb-a8bc-0fb73f824b42@amd.com>
Date: Wed, 17 Apr 2024 14:31:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [ImageBuilder 4/5] uboot-script-gen: Add ability to unselect
 "vpl011"
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
 <20240417120741.2453431-5-olekstysh@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240417120741.2453431-5-olekstysh@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004684:EE_|SJ2PR12MB7824:EE_
X-MS-Office365-Filtering-Correlation-Id: a0454454-b7f5-47f1-e9f7-08dc5eda5707
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wletAtvmie8k4sxgwbGfGcMT3uvR4EVfUMTnOag7LPEIFDlqa/e3lVgH+yszjdOAqMzwDKNzTX0JyIhBQJIZZgeDNVhhkPga+cFGycbHj2CpiI4/V1qJ7reEskZKODsxQt3R2PoniVc4sNZsfSJJFQvjHcR3IJ8nickfTh6p7WsfORJM5rGDMEEBRYaNpVdRpfaxqXZNhAu7929S1a24Q/WYvtNZJjjLBDgaMgbczpqn7M5spFLepy7n0MKJpYpQZ8p8Rn7MOHB1IreYPpmG9KGqxGhoiP6RzKGRswGR+VT2UdsOtxGwHHErhJ08kGutKxrOAy/ezkIeq8rQlHZm7tyKvHXWi4uLr38KVh3/Jf7seiMv3KljHblZfc1uN4l4so/VXJsJjLQDUJWmBmcwY0h/YceVnoWn3MrpBkaqYDKt84xo4df4i1wTdfYX7d2Gcz2d1SLSZ1/9aPSQifnpFhm00Th+vBGLe/IxZOLt6E98d6PwZtgjctNP86JEwOK5aHBiRXxOHoTtYEzloNZ/9acWYl/frsRYucClZ6vyleReLSbNCJL2dh0SpapL9OsKZ0ykMr9JDa5Std+baXXU1f1p8Enw5KFc/Fy15pb1ve7aById889l4RM5ZJtQpRkpHJ1zZT6OC/vEbHXJM4uUxdCZbBFL5iAlV+UMhHcHvsg1JPFPRW6f06MZSmLOOdlqrpYXi9kGwVkYxcD6wut7ytsfmYmI/lwUgOiN0oRQDWolfUF9mbOBcJ+VQxdj2nBX
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 12:31:36.7504
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a0454454-b7f5-47f1-e9f7-08dc5eda5707
X-MS-Exchange-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:
	BN1PEPF00004684.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7824



On 17/04/2024 14:07, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Introduce new option DOMU_VPL011[nr] that can be set to 0
> or 1 (default).
> 
> Also align "console=ttyAMA0" Linux cmd arg setting with "vpl011" presense.
> 
> Suggested-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

That said, I noticed ...

> ---
>  README.md                | 7 ++++++-
>  scripts/uboot-script-gen | 7 +++++--
>  2 files changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/README.md b/README.md
> index b2459fd..63c4708 100644
> --- a/README.md
> +++ b/README.md
> @@ -151,7 +151,8 @@ Where:
>  - DOMU_KERNEL[number] specifies the DomU kernel to use.
> 
>  - DOMU_CMD[number] specifies the command line arguments for DomU's Linux
> -  kernel. If not set, then "console=ttyAMA0" is used.
> +  kernel. If not set and DOMU_VPL011[number] is not set to 0, then
> +  "console=ttyAMA0" is used.
> 
>  - DOMU_RAMDISK[number] specifies the DomU ramdisk to use.
> 
> @@ -232,6 +233,10 @@ Where:
>  - DOMU_MAPTRACK_FRAMES[number] is optional but specifies the maximum number
>    of grant maptrack frames (the default value used by Xen on Arm64 is 1024)
> 
> +- DOMU_VPL011[number] is optional but used to enable (1)/disable (0) a virtual
> +  PL011 UART for domain. The default is 1. If explicitly set to 0, then
> +  "console=ttyAMA0" is not used as a default DOMU_CMD[number].
> +
>  - DOMU_CPUPOOL[number] specifies the id of the cpupool (created using
>    CPUPOOL[number] option, where number == id) that will be assigned to domU.
> 
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index adec6f9..fd37e18 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -344,7 +344,10 @@ function xen_device_tree_editing()
>              add_device_tree_static_mem "/chosen/domU$i" "${DOMU_STATIC_MEM[$i]}"
>              dt_set "/chosen/domU$i" "direct-map" "bool" "${DOMU_DIRECT_MAP[$i]}"
>          fi
> -        dt_set "/chosen/domU$i" "vpl011" "hex" "0x1"
> +        if test -z "${DOMU_VPL011[$i]}" || test "${DOMU_VPL011[$i]}" -eq "1"
> +        then
> +            dt_set "/chosen/domU$i" "vpl011" "hex" "0x1"
... that the property type is incorrect. According to Xen docs, this should be a bool property.
@Stefano, can you fix it on commit?

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:33:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707475.1105424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4U4-0000Ae-OH; Wed, 17 Apr 2024 12:33:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707475.1105424; Wed, 17 Apr 2024 12:33:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4U4-0000AX-LN; Wed, 17 Apr 2024 12:33:52 +0000
Received: by outflank-mailman (input) for mailman id 707475;
 Wed, 17 Apr 2024 12:33:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R6tE=LW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rx4U4-0000AR-3k
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:33:52 +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 bda91017-fcb6-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 14:33:50 +0200 (CEST)
Received: from BLAPR03CA0020.namprd03.prod.outlook.com (2603:10b6:208:32b::25)
 by DS7PR12MB8321.namprd12.prod.outlook.com (2603:10b6:8:ec::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr
 2024 12:33:47 +0000
Received: from BL02EPF0001A103.namprd05.prod.outlook.com
 (2603:10b6:208:32b:cafe::ae) by BLAPR03CA0020.outlook.office365.com
 (2603:10b6:208:32b::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.34 via Frontend
 Transport; Wed, 17 Apr 2024 12:33:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A103.mail.protection.outlook.com (10.167.241.133) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Wed, 17 Apr 2024 12:33:46 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 17 Apr
 2024 07:33:46 -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.35 via Frontend
 Transport; Wed, 17 Apr 2024 07:33: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: bda91017-fcb6-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KD5Wm2dM7C5qcSaxt+vQG4ZP2UsNVX/n/0V5DSpiF63eEjLisvQLyNSVuq0Ym5xyB62yi8jaz+wlb6BC46jdaiv4x9iwflazeJa5xeM8dsL/SvuHJ4wcEg88l0GhhzG8xqIzMWJKVPoDF+biBYsoqwBYCha9XnRhTGf3/TAxwTTQfCkkDUeW5RFnCxYrFDli0GmdcXpppY30iCFHA6HvQcvvwjbBgvlYc5TDaA2gts/6cb1yEWASbUaoZf75L7KAoWUnJ3ZcQpeWm9mdKKhPGaGuyVz8l010ZsHt0LNj+f0uiJ0Rm5/Mmm+EGZ5P84JDmghoJTuyM5PBNqbSK9daJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2DNNuwdf7l9U52ClT2eBKpYwXpOMBBBfJRl6OMAFP4w=;
 b=kcBZufDVbYYNdicsxGv0rPQbAGgwHSs7QfG7EbH4xKb8qPRfv2nKaZjLpdleBdti4XeDeA4ZmBSnwiEVxa4riFeDW/dSQ/dJpK5bhWLiUJl+T1payhqHsp4PSkpToDF3FDeQcGqoVwZSBdsSVgPcC0OaCpBb9YhAViiKslFbWwPfnbgDT9iiiHSiC6LJMbR5rhawf/8kzE+8SZkYoD/r7OngXxtL5KuRA3+z9n8vQ3TvzVLvRoze/16k7sMOd4o38pq+HcEs3H5SZYOvC9mHIui5WkcDOckT/y0ED4XxSbuis7LOIfd377n7ErlshwRYMghGAjF7gPyu5q1GjnabHQ==
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=2DNNuwdf7l9U52ClT2eBKpYwXpOMBBBfJRl6OMAFP4w=;
 b=wPI/fQTdHIT5szxILvNYPEQA6c0NfQgZ0/N3fsGOK+WmOVnNZJmhAMThASmiovOu3JyqgZQS8AqI7pNRnOJl5ikHMyfBv+sAvIJOZGNTj18N4WvW9YkZ3TstTT0QWRsJPjb19wmi2lwppNz2K/24pqRaEVggbN4ed2XMWUbzRMo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <629e7628-61e1-4c46-8172-cfdc1e848185@amd.com>
Date: Wed, 17 Apr 2024 14:33:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [ImageBuilder 5/5] uboot-script-gen: Add ability to specify
 "nr_spis"
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417120741.2453431-1-olekstysh@gmail.com>
 <20240417120741.2453431-6-olekstysh@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240417120741.2453431-6-olekstysh@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: BL02EPF0001A103:EE_|DS7PR12MB8321:EE_
X-MS-Office365-Filtering-Correlation-Id: 3d564a73-e55d-466d-cd23-08dc5edaa08a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	whruvyE/vr6qEshYR9aRPZk0fqxY0oHt4ULicGQtBYuONZhui00A9FTR4SIHMzY917I8gpyTVUbG0kvM7Nbf/5thYOS8pVoK5AcmLg+8VLgVUkK/upsMXxe9/rpZkoebsbQ62lejFzAExkzUn6SM++FezGdimnardOZXMrR+sM9CC3Lw+F88TJSAHjPRi1JOKNS4Mb/3rWuiuOUWxQO9j6xMnmq/MpMUDv14sJPFNGP81hGKonU50+nwmkwmhLfdR6+UX7qitfC0SjNE2Yn1NruEci4p7+U4XASC79yN369v6RUmumG8imMJmnAFMRYRVidOZsvq9wjF7PNjX2UO8ZmBhMo+HH8g9Q0Y0U/IM0+r4oTRywKd9iXeMg/G93mkVHKlqDF10j7y3BI9mmENaTLAx5Jf3WyxP0PlFwbskVGMC2bjxHDYDoclCbeD9/UgkBmiv1qAeIUaRCJkEA87u8xaeFTalDYMPwC1HWKOdS0Z4gh9rWzw54KpCeySpnWnpmmZ5HjODPqv9TQE04cf/Ccbc2JthVAy6ZYR1qX3ZXC+ZUzU4g2WG9+J8MWEg184Xx4FzNp8Qv0fGd6bvrkBBNvz0cVgyQ7g5gw78kz7lNKQsuEtDpDItKplqj6dA8xo/aytxs5+HbM43aGinY4xLUWyHYeh96wX7sPPCugQ1Fic310vwSrLIpo8FsjPvnI7CqV6rqpa+pKyy12x0Qn8hKuqGcFYB0ZuWkWVn6ODvxoJTm/Bat6IySzWEQUR/oak
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 12:33:46.8631
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d564a73-e55d-466d-cd23-08dc5edaa08a
X-MS-Exchange-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:
	BL02EPF0001A103.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8321



On 17/04/2024 14:07, Oleksandr Tyshchenko wrote:
> 
> 
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> This is needed to have a possibility of assigning a specified number
> of shared peripheral interrupts (SPIs) to domain.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:40:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:40:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707479.1105435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4aA-0002ON-DL; Wed, 17 Apr 2024 12:40:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707479.1105435; Wed, 17 Apr 2024 12: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 1rx4aA-0002OG-AK; Wed, 17 Apr 2024 12:40:10 +0000
Received: by outflank-mailman (input) for mailman id 707479;
 Wed, 17 Apr 2024 12: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=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx4a9-0002OA-2M
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:40:09 +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 9e8579ce-fcb7-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 14:40:06 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-417e327773cso4606355e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 05:40: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
 l37-20020a05600c1d2500b004186f979543sm2715409wms.33.2024.04.17.05.40.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 05:40: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: 9e8579ce-fcb7-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713357606; x=1713962406; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cQtomOWAZ0u83hqF7RHks+zhBXGztnXwjMY2Wvajd0o=;
        b=S3gA7tLZ52QzTMPu9roiOzuVSsxwCan483U0FCaGC+arJ91VHT5qvr4nZBuX3Xq4hP
         CnLquVCwgDkszZb7F/Pvz6kSH6fp1x05UnBxx6MP7Bi8qNw0WIGaLH56XbeMuV9g8kEK
         ORl4JXd84WoOw1YKWySllW6R0aG2VWhVCIud7zusX4khKb/wcxYUwQgoEps6Ut/Z8Uf+
         nyjlSnqfFeZ9K7UJJAJ6bTCc3USIMsgDDeuMX6c04BoUI2nb0mAh68jWje0p5PP7dShG
         Jxv7teMAHkZ0bzOr3wFwfmdxStIlsef6L5MgeksDVGpSaH8F17bGLzKVCR+YBV76Qfnm
         ThHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713357606; x=1713962406;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cQtomOWAZ0u83hqF7RHks+zhBXGztnXwjMY2Wvajd0o=;
        b=IQEqpE1g8SpSXGbTu3TngcY9LMol9tFF1LXvlkNdBfWs6ipYW7hm6ixzL04j85WBjf
         J9cWrSSHN0+UY713IHW3Spg77tQYGcSlcryGo9cAapnCCff0akN6/CRcujAqWvuXqTDk
         97cKvWeUOd6t+6z8H66YIMBptbOTeTOrLB3R0s4KcbiAE77TYW0LuO6jlNlGnUZT0FnQ
         1uE+m1Jl7O42hhlR2ynemWYqtwZLvWZpAueuy06Ru2sOov6AkHarEla3905+2pLMVBLP
         RrYYVhUBnGkL0z/KxlO6db8cq+A8eYWvGmPuJinuVuFmNluqIjuM4lAkSqWUifOOrcHD
         2PTg==
X-Gm-Message-State: AOJu0YxEDZO4XIvj1TPYa5GpJvX0/j4Dsul4SiLXKEEkKLvgi9QKs4Xj
	vxycoIi4W/fkVwweO73W3bJpnf0PwwmeaZxbJeTpcfrZzymVBL3JyQXH9oNqLg==
X-Google-Smtp-Source: AGHT+IGRD0Kl4Vjj39visiXGxANIXcTcYUTQ0Fccb3HLv+KL703mdsID9ciodpKpFTGX5uIc78Phqg==
X-Received: by 2002:a05:600c:3393:b0:418:5e81:415f with SMTP id o19-20020a05600c339300b004185e81415fmr2071460wmp.14.1713357604354;
        Wed, 17 Apr 2024 05:40:04 -0700 (PDT)
Message-ID: <2aa4d1f4-ff37-4f12-bfbb-3ef5ad3f6fdd@suse.com>
Date: Wed, 17 Apr 2024 14:40:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Serious AMD-Vi(?) issue
To: Elliott Mitchell <ehem+xen@m5p.com>
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>,
 Kelly Choi <kelly.choi@cloud.com>
References: <ZbLDlRi0vctlhsNp@mattapan.m5p.com>
 <ZcqoVBnsgUJw8G0l@mattapan.m5p.com> <ZfiY7/FBTwPQlfYi@mattapan.m5p.com>
 <CAO-mL=xndFd7xTU4Q+9hjLL-7zqZUGjYcp3_REa6QqXvtyAEYg@mail.gmail.com>
 <Zf3aWXfCANR7zXj8@mattapan.m5p.com>
 <e9b1c9c4-523b-481b-946e-37c7c18ea1d2@suse.com>
 <ZgHwEGCsCLHiYU5J@mattapan.m5p.com> <ZgRXHQpamLIdu7dk@mattapan.m5p.com>
 <c2ce4002-58d5-48a3-949c-3c361c78c0ac@suse.com>
 <ZhdNxWNpM0KCzz8E@mattapan.m5p.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: <ZhdNxWNpM0KCzz8E@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.04.2024 04:41, Elliott Mitchell wrote:
> On Thu, Mar 28, 2024 at 07:25:02AM +0100, Jan Beulich wrote:
>> On 27.03.2024 18:27, Elliott Mitchell wrote:
>>> On Mon, Mar 25, 2024 at 02:43:44PM -0700, Elliott Mitchell wrote:
>>>> On Mon, Mar 25, 2024 at 08:55:56AM +0100, Jan Beulich wrote:
>>>>>
>>>>> In fact when running into trouble, the usual course of action would be to
>>>>> increase verbosity in both hypervisor and kernel, just to make sure no
>>>>> potentially relevant message is missed.
>>>>
>>>> More/better information might have been obtained if I'd been engaged
>>>> earlier.
>>>
>>> This is still true, things are in full mitigation mode and I'll be
>>> quite unhappy to go back with experiments at this point.
>>
>> Well, it very likely won't work without further experimenting by someone
>> able to observe the bad behavior. Recall we're on xen-devel here; it is
>> kind of expected that without clear (and practical) repro instructions
>> experimenting as well as info collection will remain with the reporter.
> 
> After looking at the situation and considering the issues, I /may/ be
> able to setup for doing more testing.  I guess I should confirm, which of
> those criteria do you think currently provided information fails at?
> 
> AMD-IOMMU + Linux MD RAID1 + dual Samsung SATA (or various NVMe) +
> dbench; seems a pretty specific setup.

Indeed. If that's the only way to observe the issue, it suggests to me
that it'll need to be mainly you to do further testing, and perhaps even
debugging. Which isn't to say we're not available to help, but from all
I have gathered so far we're pretty much in the dark even as to which
component(s) may be to blame. As can still be seen at the top in reply
context, some suggestions were given as to obtaining possible further
information (or confirming the absence thereof).

I'd also like to come back to the vague theory you did voice, in that
you're suspecting flushes to take too long. I continue to have trouble
with this, and I would therefore like to ask that you put this down in
more technical terms, making connections to actual actions taken by
software / hardware.

Jan

> I could see this being criticised as impractical if /new/ devices were
> required, but the confirmed flash devices are several generations old.
> Difficulty is cheaper candidate devices are being recycled for their
> precious metal content, rather than resold as used.
> 
> 



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:52:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:52:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707487.1105444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4mL-0004o5-IG; Wed, 17 Apr 2024 12:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707487.1105444; Wed, 17 Apr 2024 12:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4mL-0004ny-Fj; Wed, 17 Apr 2024 12:52:45 +0000
Received: by outflank-mailman (input) for mailman id 707487;
 Wed, 17 Apr 2024 12:52:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EdzU=LW=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rx4mK-0004ns-6u
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 12:52:44 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2054.outbound.protection.outlook.com [40.107.13.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 60ef658e-fcb9-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 14:52:42 +0200 (CEST)
Received: from DB7PR03CA0097.eurprd03.prod.outlook.com (2603:10a6:10:72::38)
 by DBAPR08MB5734.eurprd08.prod.outlook.com (2603:10a6:10:1aa::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr
 2024 12:52:10 +0000
Received: from DB5PEPF00014B92.eurprd02.prod.outlook.com
 (2603:10a6:10:72:cafe::4b) by DB7PR03CA0097.outlook.office365.com
 (2603:10a6:10:72::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.20 via Frontend
 Transport; Wed, 17 Apr 2024 12:52:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B92.mail.protection.outlook.com (10.167.8.230) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Wed, 17 Apr 2024 12:52:10 +0000
Received: ("Tessian outbound 9fd7e4b543e6:v313");
 Wed, 17 Apr 2024 12:52:10 +0000
Received: from e0c914b1996b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6FA8A63B-CF48-4FB4-8578-E28CBFBFF730.1; 
 Wed, 17 Apr 2024 12:52:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e0c914b1996b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 17 Apr 2024 12:52:03 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB8247.eurprd08.prod.outlook.com (2603:10a6:20b:522::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr
 2024 12:52:01 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7452.049; Wed, 17 Apr 2024
 12:52:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60ef658e-fcb9-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=lzsUoYtZu3QkQ8qCQRnfGEZ6+1ZKYdyrzZxg2KTSMsn92fpUZjO7BasbfsJCWhnCk3Fv+qQj+QN+gbgLgvSEv5VhIq7h3ljilevbBY8J6lH9VTUygmxVnDdjf17Go7YIRCjxBku4Cq9NcIuWKuoJQdLnlxxIPrDwAxByDYp6nTnbqpzgP6IS4/wfTxtRhwzqSQUu396wb7Kr8PJpvjdyjDtWYldUMRrnpx7Y10CIXfD1XkZ9Rqk0NnhSDLhJ49z6VTzqe+CCX+Z169p2BbDvQQH5mUHA67AIuRGxfnVzcTax2oGWNd3RUhKQbM2wEJTE7X2sdcPWjvs/jll2KS9iSw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PqqnQW2idipp9wdIcg2k1TrPdfHpgJNzO2tWzS4qzFU=;
 b=JAiQfX7t04bFlyBKFGJst9GTU/5a7rz4vcFfcKm+N3FUY3ZAcgNsQ9j6gOQkHRJdRXhiw3YZvhG1VOTucycKbZ+/+iBuO3/+bgS7ZYOK7KrFjTOxo+H00y2RA3gY6MMNCa3cVS6LMVsN6tsq80JthZhK0JoCN8u7PqSRVCUPGaGBOnsTQAkAVsC3thfjuyWJXAIj5IxnET84oqvtlePKPUDfsTfw36IGOiRUzRIWhaVVLOXPKrYSeJKioM13W2opRjx8gjaD5qiJCw+BYNxi12EAi8hP7ymME8Wd/uTO139DxBuYCwZo6DlHJsbp2H2U05+r8dt128c5Ug7Yglu/zA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PqqnQW2idipp9wdIcg2k1TrPdfHpgJNzO2tWzS4qzFU=;
 b=Q5wi+IKqgX/qz8gPVnIjb2C4xRZUkABdSHHiXGbU4B0x7l8NDjjXyz1EpJuzKbBoy3nsSh6VG+ftBN9Zb3/WVx9iRfcF/dZpoLjYCnL7yIwtCZfXl76jPi+RMx7UajSOgeYrD4WWIcbvdQFNCplOqugFE804lbM37GrLhr4Pfk0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: feafa76dca9093da
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EqdtE46clF6UaY76Uv7e2s7viC5NJQIlWE+OI3OrEltNsLI4Bq4U/MPgqfRfzsiQiqBN7M+qGt+1dHKPIdNeQxXa+vL4k3siYSLtZjCt6hA7uTWlDN94Pk9v2tDGB49ZvOL+gP3g615FuyKOygEMJAKXK3qbSzPJEqO2kx5VYj9aa9wa4+ejSdxVDLEXUBm8JWZLv/Wuufq2LH7gczlUC29HIhaPMcjVahOlRs7kj+WnhEruvXh3lDlk3iJ4QUH1iNJsUbbSrU/nB2+a0C1Su2h5WcnNjBP6Bi3CghA0pR1jnT3wcNOLZhNhU9DBDnEpDMYZargQAD4m5mwIGmQP3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PqqnQW2idipp9wdIcg2k1TrPdfHpgJNzO2tWzS4qzFU=;
 b=NcQS4Jng08zNFblhEgbl7sQUFXkIseOMCXhksioa1fHVnb+hpQBKJNqCarwB0moqINMdfrOtHHoMIGh9mE11LEj7v5PmmuiAbV45HDySi+QhUV+4vZ9QURZ6apyeAQlEpCTXCvkZNJTp0cCoe69AcgO26FQvIJE9YFJEaQRChyAZqc4pKnynHcAmJxA40YTArb3dwtcGU4XFQMreBznlu+UZ0z1YxEtPKwj9QwypqtlKs58Z22UP4rK7mdbsKR9PjAISdlcdC/Yv7uOj1pS+PX4/9/iLpUPkZBBo40x3H99PlJumidMQotOsagU3zO/VEZZj3EQrFxCWv04rvIXOCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PqqnQW2idipp9wdIcg2k1TrPdfHpgJNzO2tWzS4qzFU=;
 b=Q5wi+IKqgX/qz8gPVnIjb2C4xRZUkABdSHHiXGbU4B0x7l8NDjjXyz1EpJuzKbBoy3nsSh6VG+ftBN9Zb3/WVx9iRfcF/dZpoLjYCnL7yIwtCZfXl76jPi+RMx7UajSOgeYrD4WWIcbvdQFNCplOqugFE804lbM37GrLhr4Pfk0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
Thread-Topic: [PATCH] public: xen: Define missing guest handle for int32_t
Thread-Index: AQHakMDnwJgPHKtLG0OvN5jC+71RJbFsaoaA
Date: Wed, 17 Apr 2024 12:52:01 +0000
Message-ID: <45DB9473-32AE-41F0-ABA5-C5A908451DEB@arm.com>
References: <20240417121442.56178-1-michal.orzel@amd.com>
In-Reply-To: <20240417121442.56178-1-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB8247:EE_|DB5PEPF00014B92:EE_|DBAPR08MB5734:EE_
X-MS-Office365-Filtering-Correlation-Id: ca4b1171-ea2b-426a-c848-08dc5edd3249
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 zV+u8vhdzXqzjeJ/1TsFOh14EDHsEK7oRdi1rQoK3u7H9onNGpVN02aVKHo4hA2tPxxghHV30CRfQw3SXrsoSQyIN6NsMxRhNPJSOx8c2pjLU9ghkg+Z0ebX/eHZLY+RShFxkaXb0fW2C/6pUhw6cYGOnQlBzgsqiUO9AIFLjMIIYvmI4ZzBNtCqzGiSvmI6T+FAQYJn/0KR3Myy5y2uXY04Yb4xBJGn/b3TP0Vx8LqV/8g1YoKM1yQ+f236iVrV57G4XqPlGj13iXrOqHqPgdrr89rrp5dsDimo8KzW4ENxmSX1CyNdwT9H/zKdHB18qSeug+tGq5KXMhN3C51xo/jwcOfF4cH+SvQwKIKXtJ+JNUXIcMiMofc72W1J1gftlFc8WRv/ew92y5xrjY5PffpmJUtVnzziqm9+ddmqUSrxn4DNsoL88U79OU053uOHNgQHURF5uPghbggWFfd0Urvyo51+WWMm2JY6xnTQ0lrFyT98nWWwMMEc9Qx5Ylzkf4r70X3gk/989iHCwpltoCP/1b2NQCt/KmKfNhxCUc+2zuQknsvLoR/XYkEQFZY1GNZniHzW7hBL6KI3QosCsA00t+kKnDNJ0VcI4tI8T6sHqyIJZt2OZUW1NO/eFm558LBgewv7zSMy73igaBNAuTNHKbhEF8k9ajFa7oSCtDvTbce1NY2YRVMcCBp1hz4dRxo3bHLnxhzYRDsCArFQdbofJLzgTUT1e59Z5EPDzh4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C2251052924D4141B4C1631192A13AEC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8247
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B92.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	71cecb38-9f86-4767-2009-08dc5edd2d29
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1+J+dc5ldOxInlstag8YqmJsHG3TsOrHcMMnEMxvkdNqhIkzyrblXxfjEDzG14wfun7oD6vQ1xEe1TjG+00Mx0wNOzeSjlNI0ymytnv0oDG1nYVXvQp78Eic/xX+gJVEXgUfT0vwK+b9sLT+dM9xeR3yRpOuv5HyzWHNb0X0xs7f5qL4Rb2+KAiWu9CuneLyrkO9a/WTifb693OiWRYL7HTYg/flTcOfuJsVYUv+Ex39INNdmDUpfuYZNXZj5rozjwubTzQ6zMjQpUcHFlTdefojFc6Oql1Vvf1hThNo8TsBIalraZLybv3QFqEXRPzh2zB9a4NXKd8sWRuodV3M3CyGxbS3SEUj+fD8XMXm1NBoXNi3oDOJmMpPe+zRBzuuO1YLG5F1vx6aDpsJrit9CGHi5ovp9nB0cwrisVtQDeNl1tuZv9F1k/3tJTUBk3Owmkw4xVTT1T9iVh/7q2JCHVj59hZRfL5bqLGpx5qblMTZGDr725ot/6qSjkau1LcxY7dzh3cuNZbtx71AF0aeVpkRjmVS6mCIxcsvY2WpWiK3bvNI0cH1r04CBQB+F1bcbnXoal9GxYjC5e4A8Hs0K9EPOeZ22ENcnHse2uDejLdSQ28nWohce5JunFMPw/2p0p1qFQd9xcmNS/8Tr5Fd4tgRzZOF3OiAKClZsZIc64zy/dc8lQJ2sMMare7s4Bmro7Wvv7Zc+Pk9IX0xD/bkPw6KiajzDqWQ28bTRWf6wzNGnS6xhVak+Bpiqn9FV4+k
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 12:52:10.4091
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ca4b1171-ea2b-426a-c848-08dc5edd3249
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5PEPF00014B92.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5734

SGkgTWljaGFsLA0KDQo+IE9uIDE3IEFwciAyMDI0LCBhdCAxMzoxNCwgTWljaGFsIE9yemVsIDxt
aWNoYWwub3J6ZWxAYW1kLmNvbT4gd3JvdGU6DQo+IA0KPiBDb21taXQgYWZhYjI5ZDA4ODJmICgi
cHVibGljOiBzL2ludC9pbnQzMl90IikgcmVwbGFjZWQgaW50IHdpdGggaW50MzJfdA0KPiBpbiBY
RU5fR1VFU1RfSEFORExFKCkgaW4gbWVtb3J5LmggYnV0IHRoZXJlIGlzIG5vIGd1ZXN0IGhhbmRs
ZSBkZWZpbmVkDQo+IGZvciBpdC4gVGhpcyByZXN1bHRzIGluIGEgYnVpbGQgZmFpbHVyZS4gRXhh
bXBsZSBvbiBBcm06DQo+IA0KPiAuL2luY2x1ZGUvcHVibGljL2FyY2gtYXJtLmg6MjA1OjQxOiBl
cnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYX19ndWVzdF9oYW5kbGVfNjRfaW50MzJfdOKAmQ0K
PiAgMjA1IHwgI2RlZmluZSBfX1hFTl9HVUVTVF9IQU5ETEUobmFtZSkgICAgICAgIF9fZ3Vlc3Rf
aGFuZGxlXzY0XyAjIyBuYW1lDQo+ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+DQo+IC4vaW5jbHVkZS9wdWJsaWMvYXJjaC1h
cm0uaDoyMDY6NDE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhfX1hFTl9HVUVTVF9I
QU5ETEXigJkNCj4gIDIwNiB8ICNkZWZpbmUgWEVOX0dVRVNUX0hBTkRMRShuYW1lKSAgICAgICAg
ICBfX1hFTl9HVUVTVF9IQU5ETEUobmFtZSkNCj4gICAgICB8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4NCj4gLi9pbmNsdWRlL3B1Ymxp
Yy9tZW1vcnkuaDoyNzc6NTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFhFTl9HVUVT
VF9IQU5ETEXigJkNCj4gIDI3NyB8ICAgICBYRU5fR1VFU1RfSEFORExFKGludDMyX3QpIGVycnM7
DQo+IA0KPiBGaXggaXQuIEFsc28sIGRyb3AgZ3Vlc3QgaGFuZGxlIGRlZmluaXRpb24gZm9yIGlu
dCBnaXZlbiBubyBmdXJ0aGVyIHVzZS4NCj4gDQo+IEZpeGVzOiBhZmFiMjlkMDg4MmYgKCJwdWJs
aWM6IHMvaW50L2ludDMyX3QiKQ0KPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hh
bC5vcnplbEBhbWQuY29tPg0KPiAtLS0NCg0KSeKAmXZlIGJ1aWxkIGl0IGZvciBhcm02NCwgYXJt
MzIgYW5kIHg4Ng0KDQpSZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBh
cm0uY29tPg0KVGVzdGVkLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+
DQoNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 12:57:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 12:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707491.1105459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4qt-0005wL-4k; Wed, 17 Apr 2024 12:57:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707491.1105459; Wed, 17 Apr 2024 12:57:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4qt-0005wE-1x; Wed, 17 Apr 2024 12:57:27 +0000
Received: by outflank-mailman (input) for mailman id 707491;
 Wed, 17 Apr 2024 12: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 1rx4qr-0005w3-0q; Wed, 17 Apr 2024 12: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 1rx4qq-0005Xb-W7; Wed, 17 Apr 2024 12:57: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 1rx4qq-0003tA-QC; Wed, 17 Apr 2024 12:57:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rx4qq-0001tJ-PT; Wed, 17 Apr 2024 12: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=Zn+KNxAOs1dVUEva8/AnAFXUKKMeuWoh+YVSsdEUYd0=; b=1Eekz/HeUZ5EljaV73R41yllB8
	tD1kV9+mAC8qBBU7h23ctFYNgd0IyMnbcajf2cyG9w8uFwcs7XtS0mGZEqtzfiGnSkTAQpVEcb+6e
	kbNySxHyqsa8xexQg3B8FD/iNqKW9pYsvRtWxZ1sUkLZXLTL1OWsFQu0YJKqUkv3pVOs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185718-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185718: regressions - trouble: blocked/fail
X-Osstest-Failures:
    xen-unstable-smoke:build-arm64-xsm:xen-build:fail:regression
    xen-unstable-smoke:build-amd64:xen-build:fail:regression
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=83e081b29e52b0ea946e30677e9caf86e9bcbc65
X-Osstest-Versions-That:
    xen=ad363fb17d720f1ad047775e1d7b70158f546c46
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 12:57:24 +0000

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

Regressions :-(

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

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                  83e081b29e52b0ea946e30677e9caf86e9bcbc65
baseline version:
 xen                  ad363fb17d720f1ad047775e1d7b70158f546c46

Last test of basis   185684  2024-04-16 20:00:22 Z    0 days
Testing same since   185715  2024-04-17 10:02:13 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              fail    
 build-amd64                                                  fail    
 build-armhf                                                  fail    
 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


Not pushing.

------------------------------------------------------------
commit 83e081b29e52b0ea946e30677e9caf86e9bcbc65
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Fri Apr 12 08:16:24 2024 +0200

    docs: arm: Update where Xen should be loaded in memory
    
    Since commit 6cd046c501bc ("xen/arm: Enlarge identity map space to 10TB")
    Xen can be loaded below 10 TiB. Update docs accordingly.
    
    Take the opportunity to update stale links to Linux docs.
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

commit afab29d0882f1d6889c73302fdf04632a492c529
Author: Stefano Stabellini <stefano.stabellini@amd.com>
Date:   Tue Apr 9 16:19:21 2024 -0700

    public: s/int/int32_t
    
    Straightforward int -> int32_t and unsigned int -> uint32_t replacements
    in public headers. No ABI or semantic changes intended.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 13:03:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 13:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707499.1105468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx4wf-0007q9-O8; Wed, 17 Apr 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 707499.1105468; Wed, 17 Apr 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 1rx4wf-0007q1-LJ; Wed, 17 Apr 2024 13:03:25 +0000
Received: by outflank-mailman (input) for mailman id 707499;
 Wed, 17 Apr 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=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx4we-0007pv-9z
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 13:03:24 +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 de4e437d-fcba-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 15:03:22 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-416a8ec0239so5058605e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 06:03: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
 m22-20020a05600c4f5600b004148d7b889asm2820028wmq.8.2024.04.17.06.03.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 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: de4e437d-fcba-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713359001; x=1713963801; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=uqVmfvf2YlryzZx+Qt1pJ7dO7WxSLOQ2A70cmmLmEpQ=;
        b=aMuNCePDez8QwZIwRC+pWX4+ffvPhG6TI2jKctK9gVZ7KCC9GLo4D8DXMU9ixuWxB1
         P14OAG3p6FVhJOD1u6gyCQ05i3Jocryl1XffKsIn7g3Jb8fYJyWfjkyE2htX6HBWMRnQ
         4GvbbmWzi+dd9Nc2Pi/iienqsTEuFiaDKdjax9ei7gQYofkS3YKiR/ujY15Ti2AkLnpR
         5gjUR5JO861b5QwBGCj5nfT5DnGw+KYeGcWku7VvlgPLAThM8DiKCmpbJUvxopZwWwPd
         6HujOgtd8sWhIkwgC+Opg/j7d1IC3cG56TDoBve8TfMiZr+k+elFSAEWhSgeycWStD7b
         OWHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713359001; x=1713963801;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uqVmfvf2YlryzZx+Qt1pJ7dO7WxSLOQ2A70cmmLmEpQ=;
        b=fpBfn1+izHnUSi2AfIvGsxnpmS9rbletV3HC4KpoztBBpAkTB5uTohx6fg7Sf9YvP0
         i2hSna9YZghQ44KY+m5zmJMh2NXW0aRg2fYbIlk98AqNesfzSTENJUfxd3Kx+WpqLDF6
         FRSOIVBNHCVIuO0iruPgjx7/jvsmajBIezcMTnnLBa1bQ8CXrt10Iu8wUFpDmEO9yH7T
         6nVMzOb8YgsZtkVhBEssyRhn8wkW70lz7YKAfUtf79Navau7DgBnA1loqfnNhaB349bt
         QtEbazhkDu+OqmhE/4qEMcGHLIhY++UQ+jXDajoKJL+00TVQm58wT9wNsFKe4KAUO30s
         NaTQ==
X-Forwarded-Encrypted: i=1; AJvYcCVhTd2y6LssEsvMH9NLZr2XZKoFcIbRgnbspc/EMfwR4uoWu6H9E3hjJA75T7XOfFkmGTOS2IdxrTDCAb+yj982n0r3LEn0PmZ1XSYpVFA=
X-Gm-Message-State: AOJu0Yyp2d5H7j3UjrLHPwEdKdjJQfvUqrmYua1R6yxwbOSKsFWj0Xrr
	HOwnuUoNeaMf3qaJb6/be/WVf0TDjrEWpshBQ/eLS42yhxVy7ZKSahUe+zvPBh7gRXiciRco0Hk
	=
X-Google-Smtp-Source: AGHT+IGbwqyjK5SGanMmraqkyCyMBxHQNFi+3jTKtzXTPGiCaPh08+3DneuLWLUuBLXscwQ7g55crw==
X-Received: by 2002:a05:600c:444a:b0:418:60d6:8590 with SMTP id v10-20020a05600c444a00b0041860d68590mr4536907wmn.1.1713359001428;
        Wed, 17 Apr 2024 06:03:21 -0700 (PDT)
Message-ID: <b86f1056-9667-47ef-90a9-91f09298277c@suse.com>
Date: Wed, 17 Apr 2024 15:03:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/9] xen/ppc: Introduce stub asm/static-shmem.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: tpearson@raptorengineering.com, xen-devel@lists.xenproject.org
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <0cf8286269a1c5cdc63e2c19d832a4923cd14f39.1710443965.git.sanastasio@raptorengineering.com>
 <aaaaa735-ce88-42a3-9a2c-22de7f5eeb32@suse.com>
 <d9a61ba5-3f75-4d06-a033-0ee0ffc4cd23@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d9a61ba5-3f75-4d06-a033-0ee0ffc4cd23@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.04.2024 01:35, Shawn Anastasio wrote:
> On 3/25/24 10:24 AM, Jan Beulich wrote:
>> On 14.03.2024 23:15, Shawn Anastasio wrote:
>>> Required for bootfdt.c to build.
>>>
>>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>>
>> As a temporary workaround this may be okay, but was the alternative
>> considered to properly provide stubs in a single central place for
>> anything !CONFIG_STATIC_SHM?
>>
> 
> I can't think of an existing place where this would cleanly fit, but if
> you have any suggestions I'm open to it.

Just like was done for ACPI and before that for NUMA, there ought to be
a respective header in include/xen/, I'd say.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 13:19:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 13:19:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707504.1105482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5CB-0002T4-16; Wed, 17 Apr 2024 13:19:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707504.1105482; Wed, 17 Apr 2024 13:19: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 1rx5CA-0002Sx-TO; Wed, 17 Apr 2024 13:19:26 +0000
Received: by outflank-mailman (input) for mailman id 707504;
 Wed, 17 Apr 2024 13:19: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=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx5C9-0002Sr-Ex
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 13:19:25 +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 1bb61ec6-fcbd-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 15:19:24 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-41879819915so20395535e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 06:19: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
 g18-20020a05600c4ed200b00417d624cffbsm2878656wmq.6.2024.04.17.06.19.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 06:19: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: 1bb61ec6-fcbd-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713359963; x=1713964763; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nkQ8odfQAXubLpGe5gvgHqgA1PrWnw0+zR34CFp8i3g=;
        b=GoinMqP3fdajHtiW0qv0vL3xaP+aLTNRdKKnkZxSKnCLVBe7xhPXae7f0lWXuhQykG
         DeHpkesJ0irLmIucv24FrZdKBa6qdmwFQHZ1gUYJmjAZgjnGmvvfynPUDc5VYhM4b1tk
         qIV9tDT+lI5pySI1e3FzPhPfmWITBdH+J+UgC/I/u+xsOxL995WaFN2hl9HYL0V2yo1r
         8wxroxgRTEBlgIMYYbm6vlH6mBlHdgxUr+sLKQnHMJkidlJ9FsxGFPhXxdQklYDeurjM
         gefsyX7drjLqa952BrxbwCryGAq4lMGsv2Me1dIKOE+Yrt874xfSVuOHeTQR2GwNTJ8U
         A+cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713359963; x=1713964763;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nkQ8odfQAXubLpGe5gvgHqgA1PrWnw0+zR34CFp8i3g=;
        b=OoMX8UIxmGwfo854of+iwBvRxu1TDpUkOIzy6Hi2m1e4ZD/NDRC97Mgx/7ZtRdzL9Y
         rCkcPQmQLJKrMfvHPhkYLCr8r7bHuGyPUpeEpevStg7ig45sj7kWN0jdhW3DpIxrLwXC
         4hMIm5jTseZuvPeIt02LZZy7vI/fLg8iQHNNqdu4mIPfq8WPkDJG40N7F2apxHr8xMF0
         dZkxiJ/pmUkkGFDa65ak19ME79ibdZFcNXlCyk4fJ3l/z7oUxoC+IW/5Dpd7ZYr3wI2m
         NNfngNmldMVx+Z83xFPPLkgYcfFA1K3i0T2Dl6a/jtQCqHlKRS1YAIWCB7PkMdF+qQEp
         9HaA==
X-Forwarded-Encrypted: i=1; AJvYcCXuHHBIL/ejJLmj+oXYd5VU7iFltJj33zvy8nqFuAiahSwil//yvMrNoXDZR/F9AYOeIn12Y9MDmOMGmHZWliAGPww1VpTtPOmn39wcroU=
X-Gm-Message-State: AOJu0Yxkbqc+lxvfZT79RBDqLk+Dnp3hJ4PNeWdt2qMKqtDLj2UMSyAb
	TWtApMVIMSho7Rv2gaJvwPycwExaq3tdIVDRU4MR07ZmAHsDAMstPEshkheclw==
X-Google-Smtp-Source: AGHT+IF75qUH4eCxni1ExkRGiDw//Jz6qyTQC92LKM482ntNE6wNbCdjMt7FgIIOu9Cj/LHIVr5Ngw==
X-Received: by 2002:a05:600c:1994:b0:418:93d1:ef15 with SMTP id t20-20020a05600c199400b0041893d1ef15mr4010448wmq.10.1713359963473;
        Wed, 17 Apr 2024 06:19:23 -0700 (PDT)
Message-ID: <1d8e72fc-0c46-4ddd-ad5c-06baebbfb237@suse.com>
Date: Wed, 17 Apr 2024 15:19:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 9/9] xen/ppc: mm-radix: Allocate all paging structures
 at runtime
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: tpearson@raptorengineering.com, xen-devel@lists.xenproject.org
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <00f22a6a08451614179219fd430539fbb1e6e8cf.1710443965.git.sanastasio@raptorengineering.com>
 <beab0b2a-b8ff-475c-885f-dec8518b9a8f@suse.com>
 <dec634ec-b028-42c9-a8b1-64e32c86dfbb@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dec634ec-b028-42c9-a8b1-64e32c86dfbb@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.04.2024 05:19, Shawn Anastasio wrote:
> On 3/25/24 10:39 AM, Jan Beulich wrote:
>> On 14.03.2024 23:15, Shawn Anastasio wrote:
>>> -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)));
>>
>> Together with the comment ahead of the function - is there some kind of
>> assumption here that this range won't span almost all of system memory?
>> E.g. expecting allocations to be almost contiguous? If so, I wonder how
>> reliable this is, and whether using a rangeset wouldn't be better here.
> 
> You're right that this is only sane (i.e. not mapping almost all of
> system memory) when the assumption that alloc_boot_pages returns
> mostly-contiguous regions holds. I'm not super happy with this either,
> but I struggled to come up with a better solution that doesn't involve
> re-inventing a rangeset-like data structure.
> 
> Looking into your suggestion of using xen/common's rangeset, it looks
> like that won't work since it relies on xmalloc which is not yet set up.
> I suspect there is a chicken-and-egg problem here that would preclude
> xmalloc from sanely working this early on in the boot, but I might be
> wrong about that.
> 
> I could reinvent a basic statically-allocated rangeset data structure
> for this purpose if you think that's the best path forward.

Question is whether anything statically will actually be suitable.

Rather than re-inventing anything, I think it might be okay to keep
the logic as you have it, but with commentary added making explicit
what assumptions there are (and why, and why in the common case it is
acceptable to make such assumptions, and maybe even what to do when
any of the assumptions turns out wrong).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 13:20:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 13:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707508.1105491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5Dd-0003tf-D5; Wed, 17 Apr 2024 13:20:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707508.1105491; Wed, 17 Apr 2024 13:20: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 1rx5Dd-0003tY-AY; Wed, 17 Apr 2024 13:20:57 +0000
Received: by outflank-mailman (input) for mailman id 707508;
 Wed, 17 Apr 2024 13:20:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx5Dc-0003tO-LJ
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 13:20:56 +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 51aba7e5-fcbd-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 15:20:54 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-418c1920313so3735775e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 06: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
 g18-20020a05600c4ed200b00417d624cffbsm2878656wmq.6.2024.04.17.06.20.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 06: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: 51aba7e5-fcbd-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713360054; x=1713964854; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IImrc/XTuR3S+07FouGdRYtQVAvQx5S0Ebb471S17+E=;
        b=LX/7tISZaIwrf2AqKIA1XIQohlsUWtFuXJQvntAnkeQDqMUutNxO6QxaLKIfQz8Mt1
         KUit61bWWMOd/Xdc7eO1tPbmf3s1vqUAzcEGbzqFzlGlWykksQE51TGPtShYUEX1afW3
         aTn/beyDu9Cig0iNRi3RoEUVdgS9nqEiOZv6T3iP05ZcEg1Z12qSeqU4q79yoXCTN1ow
         DUnaXrYNxXm+ov+yt7ubYMyadMACQeC9BA8oFpZeRpdL3DW1JNznfEmnquJyecYII52h
         3kHPY02zqyLD6bWGnlWXJse6L0/VUuitg0hZ5IdN1RGG9zXIOwKmeOa7dPgPFeK1LQc8
         JG2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713360054; x=1713964854;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IImrc/XTuR3S+07FouGdRYtQVAvQx5S0Ebb471S17+E=;
        b=UOGcrCj/xLrr/JaCwSzEl0roQj9kcdD0xDYgRGJckX2TEYfL4jIkoVBc7olDkLbb3C
         6xEj4XF8HYpnVfu5N4d84PArDxk5AghytwVTzqsuxtif6NlyoHEbbOfvy0qBjV5kmYlA
         Q/sXgrqB8V6evbdM2kapTilE8l4dlV1CkDvu+F42sQhrVCGoe4tgu+EBIP+mMUhTTKtN
         PSoru0Vl8iK7fWpofoqbEayNNe2uKqB5FoQGkPbdq28HfzGDk5dI1h8H4dFtKXeQCA1b
         5JUUgY608aJ2aSLSYgs1ZBLvm/b4ZJ0cr0XJg2gGgX0C67kWYFsarz7SaRnOKZM/mXHA
         XCaw==
X-Forwarded-Encrypted: i=1; AJvYcCUelt6j8Y/G4/MhB0Y3yFq50ritGgTg83r9r/8SrTbgF7EVVxc26h+bWafa3XNNxCEqw8c6/2tcKxalyvX0kAJw+RhrytRKl9IhIpXC3ZY=
X-Gm-Message-State: AOJu0YxrUB150XuHJefZcnoezagKnuefkSMh3idujUa0UZUDGszSau9/
	Za8J8pAUmLz+t5BGXusxhIqEo+AtSBkPEAexTjKL2ZPx84R8XvGtbjFkpt02Ow==
X-Google-Smtp-Source: AGHT+IHBdV3w/RUjMdDEfivKyfKLGOt0tQ5TT3EGT9nzikqLlgDm7Ap6j1P38u0ouijK0mbiJS7svA==
X-Received: by 2002:a05:600c:4707:b0:418:e67:2916 with SMTP id v7-20020a05600c470700b004180e672916mr10780055wmo.15.1713360053924;
        Wed, 17 Apr 2024 06:20:53 -0700 (PDT)
Message-ID: <9f2f6cbc-8597-4893-874d-35d76b3c9ce2@suse.com>
Date: Wed, 17 Apr 2024 15:20:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 02/19] xen/riscv: disable unnecessary configs
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <c2ba247adce76c69ecd6400d791db36495b85b75.1712137031.git.oleksii.kurochko@gmail.com>
 <e3da3546-f2a7-4eab-b157-51b6570dcbf9@suse.com>
 <77d63eccd4906ebbb3a5add624490cc25b2cba0c.camel@gmail.com>
 <7593c2e7-57ee-42eb-8d38-a3aa177d3420@suse.com>
 <1192836601da5f50db4ea9bb6ab818586e2f6872.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1192836601da5f50db4ea9bb6ab818586e2f6872.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.04.2024 16:39, Oleksii wrote:
> On Wed, 2024-04-03 at 13:53 +0200, Jan Beulich wrote:
>> On 03.04.2024 12:54, Oleksii wrote:
>>> On Wed, 2024-04-03 at 12:28 +0200, Jan Beulich wrote:
>>>> On 03.04.2024 12:19, Oleksii Kurochko wrote:
>>>>> This patch disables unnecessary configs for two cases:
>>>>> 1. By utilizing EXTRA_FIXED_RANDCONFIG for randconfig builds
>>>>> (GitLab CI jobs).
>>>>> 2. By using tiny64_defconfig for non-randconfig builds.
>>>>>
>>>>> Only configs which lead to compilation issues were disabled.
>>>>>
>>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>> ---
>>>>> Changes in V7:
>>>>>  - Disable only configs which cause compilation issues.
>>>>
>>>> Since the description doesn't go into details: While I can see
>>>> that
>>>> PERF_COUNTERS and LIVEPATCH may require (a little / some more)
>>>> extra
>>>> work, are HYPFS, ARGO, and XSM really causing issues?
>>> For Argo, I recieved the following compilation errors:
>>>    common/argo.c:1416:5: error: unknown type name 'p2m_type_t'; did
>>> you
>>>    mean 'hvmmem_type_t'?
>>>     1416 |     p2m_type_t p2mt;
>>>          |     ^~~~~~~~~~
>>>          |     hvmmem_type_t
>>>    common/argo.c:1419:11: error: implicit declaration of function
>>>    'check_get_page_from_gfn' [-Werror=implicit-function-
>>> declaration]
>>>     1419 |     ret = check_get_page_from_gfn(d, gfn, false, &p2mt,
>>> &page);
>>>          |           ^~~~~~~~~~~~~~~~~~~~~~~
>>>    common/argo.c:1427:10: error: 'p2m_ram_rw' undeclared (first use
>>> in
>>>    this function)
>>>     1427 |     case p2m_ram_rw:
>>>    
>>> It seems it should be included xen/p2m-common.h and asm/p2m.h in
>>> common/argo.c.
>>>
>>> For CONFIG_HYPFS_CONFIG ( there is no issue with CONFIG_HYPFS,
>>> overlooked that ):
>>>    common/config_data.S:1:10: fatal error: asm/asm_defns.h: No such
>>> file
>>>    or directory
>>>        1 | #include <asm/asm_defns.h>
>>>    
>>>
>>> For XSM, I recieved the following error:
>>>
>>>    xsm/xsm_core.c:79:19: error: 'xsm_core_init' defined but not
>>> used [-
>>>    Werror=unused-function]
>>>       79 | static int __init xsm_core_init(const void
>>> *policy_buffer,
>>>    size_t policy_size)
>>>
>>> I'll add an information with compilation errors to the commit
>>> message.
>>
>> No need to quote full compiler diagnostics, but a hint at the
>> problems
>> at least. That said, perhaps we want to rather sort the issues than
>> disable building stuff that sooner or later you will want to build
>> anyway. For hypfs we look to have an approach already. For Argo what
>> you suggest makes sense to me; it might be nice to understand where
>> the P2M headers needed are coming from on x86 and Arm. Ideally common
>> code .c files wouldn't include asm/*.h.
> It seems to me that p2m.h comes for Arm from argo.c -> xen/domain.h ->
> asm/domain.h and for x86 from argo.c -> xen/guest_access.h -> #include
> <asm/hvm/support.h> -> asm/p2m.h.
> 
> So I can include asm/p2m.h to asm/domain.h as p2m will be used anyway
> in asm/domain.h header and drop disablement of ARGO config from
> *_defconfig and build.yaml for CI. Does it make sense?

Looks okay to ma, at a glance.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 13:24:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 13:24:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707515.1105501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5H2-0004hX-S3; Wed, 17 Apr 2024 13:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707515.1105501; Wed, 17 Apr 2024 13:24:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5H2-0004hQ-PR; Wed, 17 Apr 2024 13:24:28 +0000
Received: by outflank-mailman (input) for mailman id 707515;
 Wed, 17 Apr 2024 13:24: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=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx5H1-0004fj-EX
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 13:24:27 +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 cf6e754c-fcbd-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 15:24:25 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-415515178ceso35040495e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 06:24: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
 j13-20020a05600c190d00b00418a386c17bsm2825211wmq.12.2024.04.17.06.24.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 06: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: cf6e754c-fcbd-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713360265; x=1713965065; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=pCGtXgJBAgs27J5U13OzW6bg1iBmsa5nq+r6YUcrYdQ=;
        b=Wb7CgwSd16ec1FoJhqzCHAyk9gwsrbn4EmwDe+Lc2rAZ3/Ldl+v+8pPtq8UEuAGjNL
         v+CTGvUBa5Eve2/XDIqXaz8l20dWthCJz3nDrBT4N6JIYX75xwePOOenAYOS10LmWb5k
         JIlu9niqC7KHbDWottGHba9LxHwRaKzrJoUNjWKI4j4mnnaZIIuoa4L2BqqJthihpPg3
         5cvpjLQdpIjN5k3VJuoy0vFNwMsnCN+N3BQxhnrsUU1VO3TQfsnjPkIfym78nF3IqvFc
         UNogFN2BaeaikpZ88RXMuMfqLksksoOQolfHSiCDFDhybhMx3OgoQMy7Bch8WBYQpUHn
         M4pQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713360265; x=1713965065;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=pCGtXgJBAgs27J5U13OzW6bg1iBmsa5nq+r6YUcrYdQ=;
        b=pMKa9u7zwlwo7R7xIDpCTgqDj+tj8cXqYkEc6EQQq2eNalK6RzavAb40Fs1E0XegO2
         1zSekoWK/NbEdF2OpnisdokaDSEAvJa1Xxu9b+AaG+tz90HM/+njC6QzqvKlftsGBG33
         SpX29UqFWGpszdM+n0QO7GjzeT+RDbaqcEoIJeEdo62XQ4iyEBznxg2JFz/83fSmqL0i
         3EGYvZZZMhZhMhNyitUW9sB69QqisMcrEtyWMlPEWvr/tb06XmbaWyVLvZHXKpgRmbc1
         j8/NWjKbke4Luz0xPc8NG0FuTkgEzURjV574hZCHTn3I98CoBAtHmrQtx3RQbyGuFCmd
         ytDg==
X-Forwarded-Encrypted: i=1; AJvYcCWCFai9MSC8h+iF++x9vr9MfXywJ+PwjK6NQbB5imuSfbBxrMYOIHa5KQWxDa6IGP3hgLbR2WmNS+liZSfoHWhe976x9y0ZhoSviZq71iQ=
X-Gm-Message-State: AOJu0YzDPTSm1NpKkWkMwcVN879Ber6B3AwJehJgThw8DrSxcooOykuP
	FFWcQ9Nh8M0WXSAel0BsZH2dZuvn7beM824zWJNCxWz0pXY+k7VtOikSlvjwsHEMayhO3SK9gCg
	=
X-Google-Smtp-Source: AGHT+IHWQuHl+6FrUX2WKbTl9h9T4BW5CGUo/BE2nymXG89aNKH2v7EC6a//ogNypVLGsGqdHRmRSQ==
X-Received: by 2002:a05:600c:4f0c:b0:418:17e9:c23f with SMTP id l12-20020a05600c4f0c00b0041817e9c23fmr9861066wmq.31.1713360264842;
        Wed, 17 Apr 2024 06:24:24 -0700 (PDT)
Message-ID: <f4864450-0cba-4ff8-9a39-aad792aab026@suse.com>
Date: Wed, 17 Apr 2024 15:24:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/2] x86/PVH: Support relocatable dom0 kernels
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240404212519.16401-1-jason.andryuk@amd.com>
 <20240404212519.16401-3-jason.andryuk@amd.com>
 <70ab0f9d-a451-44a5-8927-4200dbb96a08@suse.com>
 <13d1943e-6341-46de-a356-dc6b92945f3b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <13d1943e-6341-46de-a356-dc6b92945f3b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.04.2024 18:56, Jason Andryuk wrote:
> On 2024-04-08 03:00, Jan Beulich wrote:
>> On 04.04.2024 23:25, Jason Andryuk wrote:
>>> --- a/xen/arch/x86/hvm/dom0_build.c
>>> +++ b/xen/arch/x86/hvm/dom0_build.c
>>> @@ -537,6 +537,111 @@ static paddr_t __init find_memory(
>>>       return INVALID_PADDR;
>>>   }
>>>   
>>> +static bool __init check_load_address(
>>> +    const struct domain *d, const struct elf_binary *elf)
>>> +{
>>> +    paddr_t kernel_start = (uintptr_t)elf->dest_base;
>>> +    paddr_t kernel_end = kernel_start + elf->dest_size;
>>> +    unsigned int i;
>>
>> While properly typed here, ...
>>
>>> +static paddr_t __init find_kernel_memory(
>>> +    const struct domain *d, struct elf_binary *elf,
>>> +    const struct elf_dom_parms *parms)
>>> +{
>>> +    paddr_t kernel_size = elf->dest_size;
>>> +    unsigned int align;
>>> +    int i;
>>
>> ... I must have missed when this was changed to plain int. It should have
>> been unsigned int here, too, ...
>>
>>> +    if ( parms->phys_align != UNSET_ADDR32 )
>>> +        align = parms->phys_align;
>>> +    else if ( elf->palign >= PAGE_SIZE )
>>> +        align = elf->palign;
>>> +    else
>>> +        align = MB(2);
>>> +
>>> +    /* Search backwards to find the highest address. */
>>> +    for ( i = d->arch.nr_e820 - 1; i >= 0 ; i-- )
>>
>> ... with this suitably adjusted. However, I'm not going to change this while
>> committing, to avoid screwing up.
> 
> I intentionally changed this.  Looping downwards, a signed int allows 
> writing the check naturally with i >= 0.  I think it's clearer when 
> written this way.

Just to clarify: Is

    for ( i = d->arch.nr_e820; i--; )

any less clear? (While replying I also notice there's a stray blank
in the for() you have, ahead of the 2nd semicolon.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 13:31:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 13:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707521.1105514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5Nk-0006fQ-Io; Wed, 17 Apr 2024 13:31:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707521.1105514; Wed, 17 Apr 2024 13:31:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5Nk-0006fJ-G0; Wed, 17 Apr 2024 13:31:24 +0000
Received: by outflank-mailman (input) for mailman id 707521;
 Wed, 17 Apr 2024 13:31:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx5Ni-0006f3-Pk
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 13:31:22 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7a8043a-fcbe-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 15:31:22 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-418c979dca2so2885945e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 06:31: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
 t7-20020adfe447000000b00343eac2acc4sm17604985wrm.111.2024.04.17.06.31.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 06:31: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: c7a8043a-fcbe-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713360681; x=1713965481; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=DWreDTf0xdSGqXTwEp122Iabm0W1giroMInLVGdk/e0=;
        b=PEHBj0SNL1eSFjcTXvMBhg70+LKQaIiH0Rte5lp/o8yvcGXuaEKK4TbE//D1WRpcAR
         ShVoa4m8eizHiHd/9z9Ug+z5WmAQRoU6y0mZfGIydXJismYA6S62IBZ2Yni9+9EIZzyy
         WZDycIehV9Lx0VmnwtxjMR9TLpvCnj4lcZj0XJGf8KVOm4T3hADUm5R70BG+j0ZOFcqC
         K2+kPXtuz9BBYmNgLhowVQguT7+uj8YHubY7Iu5/q313U6vXuyUEyfCspwr3lKA9DcHM
         Wp+vnFuTtwOA3LWt7zWdnYVIjacAQNQ5YNaPikTwcZuHezeeIu17Afn2uGLrkpypIehg
         tNaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713360681; x=1713965481;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=DWreDTf0xdSGqXTwEp122Iabm0W1giroMInLVGdk/e0=;
        b=aX0REByU8W0HpjtpiPebnPLnFE2oMmHp/n7ETNJ7ovlgYzD7OgEDxELx+tNNNoWKwF
         pq8lcNPZlZk7M71K9Of0EPgZkI14pB+XiDgSeKuKjHF/7IHPhB1k/KnSmiEJRYoGAWIY
         +Y2u6lefdeOBQiijs0JySsw7XR/KUgm9pQou+qNIzecMYgrZUaCBviXlO6e1OWtwgyzA
         t2oJ4UmdSNts9XNvtN1WLcCyT8BgMP17eyFQ9PJQOtIutbyh6OLSGiaTnpYOPBE+WsjM
         yhA79sSokSOAuUWnU+rmwQOgiIssRas4OfFZd/VpNYdU1hSs7VWaSU9vQRaUkjqav5jr
         NGhQ==
X-Forwarded-Encrypted: i=1; AJvYcCWFFkP08+0x1cVRlFWbG/qfSb+wcy/bXiueF0WtSU+cUagGDA2rxzJAQDZFPOerHkaAneSK7R71g9AhSixSgrvVTeSw8PZuP3S/cq40rfU=
X-Gm-Message-State: AOJu0YzLaSh+QcnbjmtZf0mYZoPObmaWtdaiNvR+dfBe9tLd154Vwn54
	rZ/8mNtOMqJOi+9/srdIdVjouQ7sQ9EzUPkYIMuwkxLC10FBPaL34qZMp/VOvg==
X-Google-Smtp-Source: AGHT+IHMIzkTz96PTTrmQH9bYPobLBWHLcce1ghoM0y7xFh3ut2y834OytfkVJWQiSFBAW59EoXl3g==
X-Received: by 2002:a05:6000:c44:b0:33e:363b:a7dd with SMTP id do4-20020a0560000c4400b0033e363ba7ddmr12343321wrb.20.1713360681436;
        Wed, 17 Apr 2024 06:31:21 -0700 (PDT)
Message-ID: <dbbba5d0-e74f-42e7-876f-b4128e7b5c97@suse.com>
Date: Wed, 17 Apr 2024 15:31:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 1/9] x86/vlapic: tidy switch statement and address
 MISRA violation
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712305581.git.nicola.vetrini@bugseng.com>
 <81ecc35d04456771b1e48cb25155b0151e2225b8.1712305581.git.nicola.vetrini@bugseng.com>
 <36e84201-b31f-4204-8cff-ed50a01a47ed@suse.com>
 <e847ee06b76b816a62a555dfa6d52a4a@bugseng.com>
 <dd6ad7c5-bf99-42d4-9082-9ff87185705c@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dd6ad7c5-bf99-42d4-9082-9ff87185705c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.04.2024 14:03, Andrew Cooper wrote:
> On 09/04/2024 8:45 pm, Nicola Vetrini wrote:
>> On 2024-04-08 09:32, Jan Beulich wrote:
>>> On 05.04.2024 11:14, Nicola Vetrini wrote:
>>>> Remove unneded blank lines between switch clauses.
>>>
>>> "Unneeded" based on what? We're carefully trying to improve
>>> readability of
>>> large switch() statements by adding such blank lines (at least)
>>> between non-
>>> fall-through case blocks, and you go and remove them?
>>>
>>> Jan
>>
>> I wrote that based on this earlier suggestion [1]. If I misunderstood
>> the suggestion, then I apologize and feel free to strip them if you want.
>>
>> [1]
>> https://lore.kernel.org/xen-devel/e40579ba-acae-4c11-bea1-a5b83208db10@suse.com/
> 
> I'm afraid I also can't figure out what that suggestion was supposed to
> be,

The main point of missing clarity there is that we still need to settle on
whether blank lines should also be between blocks where the earlier falls
through to the latter. Iirc you'd like to have blank lines in such cases
nevertheless, while I'd prefer to make the falling-through visually easy
to recognize by not putting blanks lines between the "fallthrough;" /
fall-through comment and the successive "case ...":.

Jan

> but we definitely do want to keep blank lines.  They're specifically
> for improved legibility.




From xen-devel-bounces@lists.xenproject.org Wed Apr 17 13:31:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 13:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707522.1105525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5Nx-0006xc-Pd; Wed, 17 Apr 2024 13:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707522.1105525; Wed, 17 Apr 2024 13:31:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx5Nx-0006xV-Ml; Wed, 17 Apr 2024 13:31:37 +0000
Received: by outflank-mailman (input) for mailman id 707522;
 Wed, 17 Apr 2024 13:31: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=RDzn=LW=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rx5Nw-0006f3-I5
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 13:31:36 +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 cf6e704f-fcbe-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 15:31:35 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-78f042e6b13so26290985a.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 06:31:35 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 ou5-20020a05620a620500b0078d5b3b5b4asm8423537qkn.125.2024.04.17.06.31.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 06:31: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: cf6e704f-fcbe-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713360694; x=1713965494; 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=iQl9OECV+6vYbyMwu5eq+WC6LM71BPCU5F8o6RjC3Yo=;
        b=Mou3Ov0H+eWgPswbS4b39JFpeAPNKDaiBxlWWpr7xz508j4xupro0nANDyZi0G1XIG
         YdQGOBHErqXSlY8zFEzKR/IGp+0qXfkoMuBFDO/knWLolkU5cPXfJEciAQD4aJjaGjpZ
         zWuOxqoEat1Uch2cyOLQYIcUGq2Nb5HoCLqSg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713360694; x=1713965494;
        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=iQl9OECV+6vYbyMwu5eq+WC6LM71BPCU5F8o6RjC3Yo=;
        b=NA0fGun46E6+ysZDSyGdBP01e7+HRTWymB0E+UKQLXz8T7BE/tbpysFad5VjCY8ToA
         1a9E6HUiWmW1CKkySce/kQAxFLcKp5AL0xfWIvIQCWXVguhX2gmjD1PZr0h+RSJiSRB/
         SWmkXuOJUgmUxiSfioq3ALKwwY0gowesMGLED5fI6T4l81yZF1TxEkXmY483oO+K7O6T
         XTb1dn7kK1qtsBImnwTwQuq52+WeC0qJzcn/Y6foU32sEIZSXddAFukOb0/OpCCT0fEt
         bgw1yKqxAJJid7aeRTOGDAsB9cLAFPYblPDsN98wsJMrA3TbeImTjAGCAOkWiamVgBfU
         ST6A==
X-Gm-Message-State: AOJu0Ywopz6OuJYEH6PcshjFRRD98sQchap+L/2YbjC6s0B39xzkEfzs
	4AEPUQNvYJZ6zrVZyYY6Osbu1Ehp4FZpzGN4teF9KDJeAXb1bWiEU8boFH7PXi+SASXpsDEfZKe
	gUJU=
X-Google-Smtp-Source: AGHT+IEJyI1sraoM+s1p6wtpKHxX0lGKSqPZK/vrs8RwHoQsR7vQo3/j/5+JxDUd4NTWbE8DSJgzKQ==
X-Received: by 2002:a05:620a:45a7:b0:78d:5dfd:2241 with SMTP id bp39-20020a05620a45a700b0078d5dfd2241mr23107474qkb.58.1713360694154;
        Wed, 17 Apr 2024 06:31:34 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@cloud.com>
Subject: [PATCH] x86/cpuid-policy: Add AMD SVM CPUID leaf to featureset
Date: Wed, 17 Apr 2024 14:22:37 +0100
Message-Id: <20240417132237.2946862-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, the CPUID leaf for SVM features (extd 0xa.edx) is manually
twiddled:

 - hvm_max_policy takes host_policy and clamps it to supported
   features (with some features unilaterally enabled because they're
   always emulated

 - hvm_default_policy is copied from there

 - When recalculate_policy() is called for a guest, if SVM is clear,
   then the entire leaf is zeroed out.

Move to a mode where the extended features are off by default, and
enabled when nested_virt is enabled.

In cpufeatureset.h, define a new featureset word for the AMD SVM
features, and declare all of the bits defined in
x86/include/asm/hvm/svm/svm.h.  Mark the ones we currently pass
through to the "max policy" as HAP-only and optional.

In cpu-policy.h, define FEATURESET_ead, and convert the un-named space
in struct_cpu_policy into the appropriate union.  FIXME: Do this in a
prerequisite patch, and change all references to p->extd.raw[0xa].

Update x86_cpu_X_to_Y and Y_to_X to copy this into and out of the
appropriate leaf.

Populate this during boot in generic_identify().

Add the new featureset definition into libxl_cpuid.c.

Update the code in calculate_hvm_max_policy() to do nothing with the
"normal" CPUID bits, and use the feature bit to unconditionally enable
VMCBCLEAN. FIXME Move this to a follow-up patch.

In recalculate_cpuid_policy(), enable max_fs when nested_hvm() is
true.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@cloud.com>
---
 tools/libs/light/libxl_cpuid.c              |  1 +
 xen/arch/x86/cpu-policy.c                   | 19 +++++++++----------
 xen/arch/x86/cpu/common.c                   |  2 ++
 xen/include/public/arch-x86/cpufeatureset.h | 16 ++++++++++++++++
 xen/include/xen/lib/x86/cpu-policy.h        | 10 +++++++++-
 xen/lib/x86/cpuid.c                         |  4 +++-
 6 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index ce4f3c7095..2c5749c3a0 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -342,6 +342,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *policy, const char* str)
         CPUID_ENTRY(0x00000007,  1, CPUID_REG_EDX),
         MSR_ENTRY(0x10a, CPUID_REG_EAX),
         MSR_ENTRY(0x10a, CPUID_REG_EDX),
+        CPUID_ENTRY(0x8000000a, NA, CPUID_REG_EDX),
 #undef MSR_ENTRY
 #undef CPUID_ENTRY
     };
diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 4b6d962763..4a5d1b916b 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -754,14 +754,8 @@ static void __init calculate_hvm_max_policy(void)
      */
     if ( p->extd.svm )
     {
-        /* Clamp to implemented features which require hardware support. */
-        p->extd.raw[0xa].d &= ((1u << SVM_FEATURE_NPT) |
-                               (1u << SVM_FEATURE_LBRV) |
-                               (1u << SVM_FEATURE_NRIPS) |
-                               (1u << SVM_FEATURE_PAUSEFILTER) |
-                               (1u << SVM_FEATURE_DECODEASSISTS));
         /* Enable features which are always emulated. */
-        p->extd.raw[0xa].d |= (1u << SVM_FEATURE_VMCBCLEAN);
+        __set_bit(X86_FEATURE_VMCBCLEAN, fs);
     }
     
     guest_common_max_feature_adjustments(fs);
@@ -909,6 +903,14 @@ void recalculate_cpuid_policy(struct domain *d)
             __clear_bit(X86_FEATURE_VMX, max_fs);
             __clear_bit(X86_FEATURE_SVM, max_fs);
         }
+        else
+        {
+            /* 
+             * Enable SVM features.  This will be empty on VMX
+             * hosts. 
+             */
+            fs[FEATURESET_ead] = max_fs[FEATURESET_ead];
+        }
     }
 
     /*
@@ -975,9 +977,6 @@ void recalculate_cpuid_policy(struct domain *d)
          ((vpmu_mode & XENPMU_MODE_ALL) && !is_hardware_domain(d)) )
         p->basic.raw[0xa] = EMPTY_LEAF;
 
-    if ( !p->extd.svm )
-        p->extd.raw[0xa] = EMPTY_LEAF;
-
     if ( !p->extd.page1gb )
         p->extd.raw[0x19] = EMPTY_LEAF;
 }
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 28d7f34c4d..5093379a43 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -477,6 +477,8 @@ static void generic_identify(struct cpuinfo_x86 *c)
 		c->x86_capability[FEATURESET_e7d] = cpuid_edx(0x80000007);
 	if (c->extended_cpuid_level >= 0x80000008)
 		c->x86_capability[FEATURESET_e8b] = cpuid_ebx(0x80000008);
+	if (c->extended_cpuid_level >= 0x8000000a)
+		c->x86_capability[FEATURESET_ead] = cpuid_edx(0x8000000a);
 	if (c->extended_cpuid_level >= 0x80000021)
 		c->x86_capability[FEATURESET_e21a] = cpuid_eax(0x80000021);
 
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 53f13dec31..c5c712cca3 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -357,6 +357,22 @@ XEN_CPUFEATURE(RFDS_CLEAR,         16*32+28) /*!A Register File(s) cleared by VE
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.edx, word 17 */
 
+/* AMD-defined CPU features, CPUID level 0x8000000a.edx, word 18 */
+XEN_CPUFEATURE(NPT,                 18*32+ 0) /*h  Nested page table support */
+XEN_CPUFEATURE(LBRV,                18*32+ 1) /*h  LBR virtualization support */
+XEN_CPUFEATURE(SVML,                18*32+ 2) /*   SVM locking MSR support */
+XEN_CPUFEATURE(NRIPS,               18*32+ 3) /*h  Next RIP save on VMEXIT support */
+XEN_CPUFEATURE(TSCRATEMSR,          18*32+ 4) /*   TSC ratio MSR support */
+XEN_CPUFEATURE(VMCBCLEAN,           18*32+ 5) /*h  VMCB clean bits support */
+XEN_CPUFEATURE(FLUSHBYASID,         18*32+ 6) /*   TLB flush by ASID support */
+XEN_CPUFEATURE(DECODEASSISTS,       18*32+ 7) /*h  Decode assists support */
+XEN_CPUFEATURE(PAUSEFILTER,         18*32+10) /*h  Pause intercept filter support */
+XEN_CPUFEATURE(PAUSETHRESH,         18*32+12) /*   Pause intercept filter threshold */
+XEN_CPUFEATURE(VLOADSAVE,           18*32+15) /*   virtual vmload/vmsave */
+XEN_CPUFEATURE(VGIF,                18*32+16) /*   Virtual GIF */
+XEN_CPUFEATURE(SSS,                 18*32+19) /*   NPT Supervisor Shadow Stacks */
+XEN_CPUFEATURE(SPEC_CTRL,           18*32+20) /*   MSR_SPEC_CTRL virtualisation */
+
 #endif /* XEN_CPUFEATURE */
 
 /* Clean up from a default include.  Close the enum (for C). */
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index d5e447e9dc..4e5c05c56d 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -22,6 +22,7 @@
 #define FEATURESET_7d1       15 /* 0x00000007:1.edx    */
 #define FEATURESET_m10Al     16 /* 0x0000010a.eax      */
 #define FEATURESET_m10Ah     17 /* 0x0000010a.edx      */
+#define FEATURESET_ead       18 /* 0x8000000a.edx      */
 
 struct cpuid_leaf
 {
@@ -296,7 +297,14 @@ struct cpu_policy
             uint32_t /* d */:32;
 
             uint64_t :64, :64; /* Leaf 0x80000009. */
-            uint64_t :64, :64; /* Leaf 0x8000000a - SVM rev and features. */
+            
+            /* Leaf 0x8000000a - SVM rev and features. */
+            uint64_t /* a, b */:64, /* c */:32;
+            union {
+                uint32_t ead;
+                struct { DECL_BITFIELD(ead); };
+            };
+            
             uint64_t :64, :64; /* Leaf 0x8000000b. */
             uint64_t :64, :64; /* Leaf 0x8000000c. */
             uint64_t :64, :64; /* Leaf 0x8000000d. */
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index eb7698dc73..d68f442d4e 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -81,7 +81,8 @@ void x86_cpu_policy_to_featureset(
     fs[FEATURESET_7d1]       = p->feat._7d1;
     fs[FEATURESET_m10Al]     = p->arch_caps.lo;
     fs[FEATURESET_m10Ah]     = p->arch_caps.hi;
-}
+    fs[FEATURESET_ead]       = p->extd.ead;
+ }
 
 void x86_cpu_featureset_to_policy(
     const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpu_policy *p)
@@ -104,6 +105,7 @@ void x86_cpu_featureset_to_policy(
     p->feat._7d1             = fs[FEATURESET_7d1];
     p->arch_caps.lo          = fs[FEATURESET_m10Al];
     p->arch_caps.hi          = fs[FEATURESET_m10Ah];
+    p->extd.ead              = fs[FEATURESET_ead];
 }
 
 void x86_cpu_policy_recalc_synth(struct cpu_policy *p)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:15:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:15:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707532.1105535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx640-0007Ev-4i; Wed, 17 Apr 2024 14:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707532.1105535; Wed, 17 Apr 2024 14: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 1rx640-0007Eo-1J; Wed, 17 Apr 2024 14:15:04 +0000
Received: by outflank-mailman (input) for mailman id 707532;
 Wed, 17 Apr 2024 14:15:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx63z-0007Ei-0W
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:15:03 +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 e0df9e38-fcc4-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 16:15:01 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3481bb34e7dso1271276f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 07:15: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
 z4-20020a5d6404000000b00343b09729easm17671506wru.69.2024.04.17.07.15.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 07:15: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: e0df9e38-fcc4-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713363301; x=1713968101; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1JTzleOEDmFfkoZIM0qvTTNcyt2HkPDk0yTJMAI0IcQ=;
        b=HSeKQwARlRgJyCXo8eWfpC4cR8UlCufFkEYRJdzB1O8UADe2PssyAfxy4IXLqYKxYf
         Ir7zWZFbEUhN3WNr7Yxk0SM8jtWp8k+piqp2rp+lW/7ji3wjFwNRW+lURJhGPk5mt4fL
         CIl5LcSG1JmMQkooWQT90fazal6MLM+YUK/sRcjEj4VOMS8ZZWh+3bxdYfTQdktVABsL
         adBjVksLFHx6yc5/77s4YBKd41mg0JNw4E26fJktqbHtzPkXnTRGQGrmzJfz3wsJzUX+
         L2FFA7Mr2BVNWUuxRrpkvlN20U3iEndBEPETrcL0M50fxvYV950weX5zP1y8WEn1SMpD
         OtxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713363301; x=1713968101;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=1JTzleOEDmFfkoZIM0qvTTNcyt2HkPDk0yTJMAI0IcQ=;
        b=m3ksZ113mTm5QuDmFT9T+6UdEPlVtVeQBcDOeFV1O18Hl1cyUwZIDNeTkaBIge5RYu
         sjcRo+QCaxtxcU5TdCpafJBCqGnHLsvIkxY41ukVe9cGP64Uj9ae0mlJwtPA2oTKCOsc
         SvttPi5d5mCnT5ueWXSi5zYQX0IZJ/5cbiXfMGfDRiF5x8JKz967vKBGmK/4yxqrfvUn
         SHlq/VTW9q4dbcYg8E/GDdaaa7wYbbj+wTqIXg5l2J2F4mXs/E/7FTHknTUIncolwaE4
         c05aNFCbe1Lhs3gU7ABZMjSfxuToXL+Kb6gXpkfgTzsGFGnTICbt92UoWyWdOuIgXbJ5
         ksBQ==
X-Forwarded-Encrypted: i=1; AJvYcCVoyuUoQnNm3FHSgwhmoH7kTZnLrrJa1XqqPkUBieEaqqOrSch5QblN3UHJaAYIK1NC/sBkoqS8ap99NM+nRDIWvJUYalb/6ksdp3v+GyI=
X-Gm-Message-State: AOJu0YxtEC6UFS3UUWkw51dNV9U81bP9Qg/A1OLCfWSs74CG5doLmaq6
	SW4ClohcQgtJTNU5OnCpajifTA0J0gTcotRlaAa5IUCP7daToA3kbv7Wj477DQ==
X-Google-Smtp-Source: AGHT+IFPrVuavRLBDGvLrq3YsuZ2R1MCf0knaoR8Mp//uvN52vGcjbZnsqWwaxLxcmpuiHnL5N/5uA==
X-Received: by 2002:adf:e25b:0:b0:347:3a0d:c665 with SMTP id bl27-20020adfe25b000000b003473a0dc665mr8996580wrb.67.1713363300703;
        Wed, 17 Apr 2024 07:15:00 -0700 (PDT)
Message-ID: <0d84a96a-c1ec-4c4e-9cb5-44a6542e0d43@suse.com>
Date: Wed, 17 Apr 2024 16:14:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86: Add support for building a multiboot2 PE
 binary
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240328151106.1451104-1-ross.lagerwall@citrix.com>
 <20240328151106.1451104-2-ross.lagerwall@citrix.com>
 <c3c2ce12-0699-42b3-bcaf-5bddf0616566@suse.com>
 <CAG7k0EroeA=cRRDWnJqzH8esoaSmtg8-xjTwc-01og5R9JwPzg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAG7k0EroeA=cRRDWnJqzH8esoaSmtg8-xjTwc-01og5R9JwPzg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.04.2024 11:41, Ross Lagerwall wrote:
> On Mon, Apr 8, 2024 at 11:25 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 28.03.2024 16:11, Ross Lagerwall wrote:
>>> * The image base address is set to 0 since it must necessarily be below
>>>   4 GiB and the loader will relocate it anyway.
>>
>> While technically okay, what is the reason for this adjustment?
> 
> The multiboot2 spec generally uses 32 bit addresses for everything and
> says:
> 
> "The bootloader must not load any part of the kernel, the modules, the
> Multiboot2 information structure, etc. higher than 4 GiB - 1."
> 
> An image base address above 4 GiB causes trouble because multiboot2
> wasn't designed for this.

Yet mb2 doesn't care about that PE header field at all, does it? In which
case my question remains: What purpose does this particular modification
of the image have?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:17:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:17:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707535.1105544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx665-00086U-F2; Wed, 17 Apr 2024 14:17:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707535.1105544; Wed, 17 Apr 2024 14: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 1rx665-00086N-C4; Wed, 17 Apr 2024 14:17:13 +0000
Received: by outflank-mailman (input) for mailman id 707535;
 Wed, 17 Apr 2024 14:17:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rx664-00086H-0s
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:17:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx663-00076U-HM; Wed, 17 Apr 2024 14:17:11 +0000
Received: from [15.248.3.90] (helo=[10.24.67.26])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx663-0004LV-6E; Wed, 17 Apr 2024 14:17:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=grbIUBdSBOanmXVHc2LplTUD5Aypguwz/TBe2daZ23Y=; b=Gemhmon5+LdQ+iaRw8mSNekQm2
	Nv4BAuRaJSDDYQrUYYqSLek95Q8y19dmQ1fMrqo9kDniJQkNYkRQ6s//U9oWG94u2cguVjkA0GAiE
	DMAXfmskS+39IeIDxpGuOk1tdgIKzLN+T0Av4fbAr00AZZP+jOeEwrj9iw1j75gDmgJg=;
Message-ID: <be95f6be-0404-4c43-926f-d011782a02db@xen.org>
Date: Wed, 17 Apr 2024 15:17:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240417121442.56178-1-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240417121442.56178-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Michal,

On 17/04/2024 13:14, Michal Orzel wrote:
> Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
> in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
> for it. This results in a build failure. Example on Arm:
> 
> ./include/public/arch-arm.h:205:41: error: unknown type name ‘__guest_handle_64_int32_t’
>    205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
>        |                                         ^~~~~~~~~~~~~~~~~~
> ./include/public/arch-arm.h:206:41: note: in expansion of macro ‘__XEN_GUEST_HANDLE’
>    206 | #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
>        |                                         ^~~~~~~~~~~~~~~~~~
> ./include/public/memory.h:277:5: note: in expansion of macro ‘XEN_GUEST_HANDLE’
>    277 |     XEN_GUEST_HANDLE(int32_t) errs;
> 
> Fix it. Also, drop guest handle definition for int given no further use.
> 
> Fixes: afab29d0882f ("public: s/int/int32_t")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

So it turned out that I committed v1 from Stefano. I was meant to commit 
the patch at all, but I think I started with a dirty staging :(. Sorry 
for that.

I have reverted Stefano's commit for now so we can take the correct patch.

Now, from my understanding, Andrew suggested on Matrix that this 
solution may actually be a good way to handle GUEST_HANLDEs (they were 
removed in v2). Maybe this can be folded in Stefano's patch?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:17:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:17:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707538.1105554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx66h-0000CJ-N2; Wed, 17 Apr 2024 14:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707538.1105554; Wed, 17 Apr 2024 14:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx66h-0000CC-Jz; Wed, 17 Apr 2024 14:17:51 +0000
Received: by outflank-mailman (input) for mailman id 707538;
 Wed, 17 Apr 2024 14: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=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx66g-0008UZ-Js
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:17:50 +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 4565eeb2-fcc5-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 16:17:50 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-418d33ee188so859755e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 07:17: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
 w17-20020a05600c475100b004162d06768bsm3008515wmo.21.2024.04.17.07.17.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 07:17: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: 4565eeb2-fcc5-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713363469; x=1713968269; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xcf3nxJwqBelyg6Kg+IY10nMzaWe+DFYaPaJvSH2lek=;
        b=ToEpZfBtR3ytZXgfg/IwGLJsYqvHai78ryuKnk+SGfT5KoXoWxTzJ9T/ihK6Cs1aua
         ruSKSiCfhpWKAss9hdKw0ME/yfKWZDnXK/Z0XMR++uffXL/nielMyHvfxWc9wzraRnfT
         qPIwxn4zHg4le+K0sePFLKLfmPUgzcJ0Uo6ltmxr2LWcqw6yo91xDOynLaI97Q9y1SPt
         nbjaYMMkWzfQUNyTIFaUxkWU+VhMrFAfM4hRKyhN70dVj+FSrdYsjkomGgevsL5F2bKj
         AOWHH7GaNFRj3wlMByhLIKyzuEIgxmTOlc0RTHbRi8gtGp1Av7DbqB3sYw4a5Y2F4FRL
         25nQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713363469; x=1713968269;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xcf3nxJwqBelyg6Kg+IY10nMzaWe+DFYaPaJvSH2lek=;
        b=hMQBbeIu/vNawn6Qg5xPQX0BU2a+qEMcfJD49tMUa550AXeqo+nh0VntRr6ckpAePV
         F+Agz70s3WT2B5EY1rZ7eosULav4urC6yomLH9UfWPTUcKJOojaMRTkZC7jL4IVe1A9c
         8Hh5LAzkbAk4va1vmpVSdYfezFXp8dFUlFH9V8MuaAOdOrA2M4DZcsyMd6Z7MepGTre0
         YdFABAhuXjwRQTEimLX+KfDCg5HsJZiK5GvEdeMX6RkB/QRift+dBVDxBPXBxaUcrZlM
         P6NUuFQBKbhjo/dCRoQi1bwUxOq2EyZcM4PLEEBFmqfby/LOI9tEUvzdIjc8sSVq66bD
         bczg==
X-Forwarded-Encrypted: i=1; AJvYcCWgXuwbzd/eczk305EDfGksU4lCDlo1ab2X/hwSXol7v5fZA5xh0LBRL3226x5zmRALaNic2GK88H3drCYesz+hhixvMRo/lSORPvMh2jA=
X-Gm-Message-State: AOJu0YydgyUTve6MJAhGbpBwLuK5W7vjfco3yTwE9Yyp9h4WKtW60fR2
	Eq8gUpbUTso0ftYJhXKKBFd6F/a/FBn/AR+dEpwTXeXG/osr5+4iy94R4SX8PA==
X-Google-Smtp-Source: AGHT+IGyLc+BZRJ5H9Jt7bXmxD2XrIiyInYHh4iKlTJo0yPA1izhIs6VkrctG0psu4WAf7gjoMVm1Q==
X-Received: by 2002:a05:600c:4511:b0:415:540e:74e3 with SMTP id t17-20020a05600c451100b00415540e74e3mr14739198wmo.40.1713363469414;
        Wed, 17 Apr 2024 07:17:49 -0700 (PDT)
Message-ID: <4324974a-0a0c-4d81-87c0-6b7d27d2ff46@suse.com>
Date: Wed, 17 Apr 2024 16:17:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] drivers/char: mark extra reserved device memory in
 memory map
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20240327025454.514521-1-marmarek@invisiblethingslab.com>
 <20240327025454.514521-2-marmarek@invisiblethingslab.com>
 <0d7daae5-97c3-4982-8301-7ed2fda24ff9@suse.com> <ZhskJAL1fz3lNdg7@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZhskJAL1fz3lNdg7@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14.04.2024 02:32, Marek Marczykowski-Górecki wrote:
> On Wed, Apr 03, 2024 at 09:10:40AM +0200, Jan Beulich wrote:
>> On 27.03.2024 03:53, Marek Marczykowski-Górecki wrote:
>>> The IOMMU driver checks if RMRR/IVMD are marked as reserved in memory
>>> map. This should be true for addresses coming from the firmware, but
>>> when extra pages used by Xen itself are included in the mapping, those
>>> are taken from usable RAM used. Mark those pages as reserved too.
>>>
>>> Not marking the pages as reserved didn't caused issues before due to
>>> another a bug in IOMMU driver code, that was fixed in 83afa3135830
>>> ("amd-vi: fix IVMD memory type checks").
>>>
>>> Failing to reserve memory will lead to panic in IOMMU setup code. And
>>> not including the page in IOMMU mapping will lead to broken console (due
>>> to IOMMU faults). The pages chosen by the XHCI console driver should
>>> still be usable by the CPU though, and the console code already can deal
>>> with too slow console by dropping characters (and console not printing
>>> anything is a special case of "slow"). When reserving fails print an error
>>> message showing which pages failed and who requested them. This should
>>> be enough hint to find why XHCI console doesn't work.
>>>
>>> Fixes: 3a1a7b809ffa "drivers/char: mark DMA buffers as reserved for the XHCI"
>>> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Is any ack missing here, or has it just fallen through the cracks?

??? (commit dd5101a6169f89b9e3f3b72f0b0fcdb38db2fb35)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:25:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:25:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707546.1105565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Dt-00021k-EJ; Wed, 17 Apr 2024 14:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707546.1105565; Wed, 17 Apr 2024 14:25:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Dt-00021d-Ae; Wed, 17 Apr 2024 14:25:17 +0000
Received: by outflank-mailman (input) for mailman id 707546;
 Wed, 17 Apr 2024 14:25:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QKhp=LW=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rx6Dr-0001zx-Rj
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:25:16 +0000
Received: from wfhigh3-smtp.messagingengine.com
 (wfhigh3-smtp.messagingengine.com [64.147.123.154])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b8b03f6-fcc6-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 16:25:12 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailfhigh.west.internal (Postfix) with ESMTP id 116EC18000FE;
 Wed, 17 Apr 2024 10:25:07 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Wed, 17 Apr 2024 10:25:08 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 17 Apr 2024 10:25:06 -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: 4b8b03f6-fcc6-11ee-94a3-07e782e9044d
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=1713363907;
	 x=1713450307; bh=OWF9dO4KiU73KW7hD0J6XxcMGffKB4Z1eCxT4PQVlfk=; b=
	nI+WDVCUxjK8qu8RQKveZTux63ZjGkvIe7IfwqHiHrcuh8yrE5djhqg2mSR7eHDn
	3sz5S8vJy7l+UvM27/yykiIhe2jKsSBAAwNJaUZRLtpphUds6opFHsH3GEA+gOKi
	SRCdN+RWI76FcsRUH2fxDSW8YClwKPJevDWM3B4VGXlWRAGqd+GzNvSWrNmkStaK
	0hOhkj03z/3xGUqud2juV77lLbS71bHCZdb6Evmbp+Nyso3VE4qP1mGvV0GkSRZ2
	cbjMEQy7RbYThhUiI0rjq4YSQLAtO4TVWsxcFZE/JX2fDQhQFzMYpX36MM2iVqCi
	TInXtDMqnRD41iqjbg8HGQ==
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=
	fm3; t=1713363907; x=1713450307; bh=OWF9dO4KiU73KW7hD0J6XxcMGffK
	B4Z1eCxT4PQVlfk=; b=OakGW61Y18dE2MtgMlJU5FW8SjMcOFe6i2diAdG7TqiC
	Qh01cgjUoYDkSh8mdN1S2SubRcyYKohiApD/5LI28it46Wped2oN/akIGCqwPE4F
	HPc0FnPgRu5/oBw19nmC5GKqumU/IuN5kojfVKZzeP4cLgQBjGb/YE4rO4joVFAZ
	LSA/wr38jGahmPr+4rqwvz69zGm3hRJIthTWOKq4UxzV+bjgE1Up6kT1xFGQuBhf
	q952nTEEX935vHqX6/71aUG/orjIjI37t4TDuZcuASAvHKcyJ76dJkWF7/6E5BWh
	ebW5pImGWcjgHMN2b5OHitPx5brznIG2ZUzRdCe0Fg==
X-ME-Sender: <xms:wtsfZoFl4C6_fwrilc3wRdhVYeSAl5xT-8AATtCP5vjltWNM0r5K6A>
    <xme:wtsfZhU6n0n26hKv2lVipR3-xEok7NyJZ63EwQEhEqlzKgCfWpPN9BMl49743wsjT
    t4l8LOrcjLqBQ>
X-ME-Received: <xmr:wtsfZiLxth_q8UCUPR1WMabqahLZSB4IK7jEHX3WieJBuWcgpPmRnsNNFCRQjuWVLArDmwLp9Lljjd6TsUFtVy47rGYtUEgq_Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudejkedgjeeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:wtsfZqGjxOm7vxCQAYA1ZiTHHbWmBeeudGDxtX95v-5dhmIc6gqnxA>
    <xmx:wtsfZuUVbOaWqt8w7i9-uHIQZnnX4cVSKOqa6WBwL0zmrygBsKdyxA>
    <xmx:wtsfZtOss32UXxsybs4cECmSuqkRhEwCuPvuqO0jo480iuL25lqGgA>
    <xmx:wtsfZl2557Eg9KiR4bBzCTEGsGU8OOSuzptBw68wyfywTU6CNIWVlA>
    <xmx:w9sfZtS5p7kIaSsMRqUMu5t-l9oBp7M4HSNe2VBtaBp7KblhSbQ0ZmYH>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 17 Apr 2024 16:25:02 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/2] drivers/char: mark extra reserved device memory
 in memory map
Message-ID: <Zh_bvtvVAq35A5mI@mail-itl>
References: <20240327025454.514521-1-marmarek@invisiblethingslab.com>
 <20240327025454.514521-2-marmarek@invisiblethingslab.com>
 <0d7daae5-97c3-4982-8301-7ed2fda24ff9@suse.com>
 <ZhskJAL1fz3lNdg7@mail-itl>
 <4324974a-0a0c-4d81-87c0-6b7d27d2ff46@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Jz0btK6xw1y2YmMV"
Content-Disposition: inline
In-Reply-To: <4324974a-0a0c-4d81-87c0-6b7d27d2ff46@suse.com>


--Jz0btK6xw1y2YmMV
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 17 Apr 2024 16:25:02 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/2] drivers/char: mark extra reserved device memory
 in memory map

On Wed, Apr 17, 2024 at 04:17:48PM +0200, Jan Beulich wrote:
> On 14.04.2024 02:32, Marek Marczykowski-G=C3=B3recki wrote:
> > On Wed, Apr 03, 2024 at 09:10:40AM +0200, Jan Beulich wrote:
> >> On 27.03.2024 03:53, Marek Marczykowski-G=C3=B3recki wrote:
> >>> The IOMMU driver checks if RMRR/IVMD are marked as reserved in memory
> >>> map. This should be true for addresses coming from the firmware, but
> >>> when extra pages used by Xen itself are included in the mapping, those
> >>> are taken from usable RAM used. Mark those pages as reserved too.
> >>>
> >>> Not marking the pages as reserved didn't caused issues before due to
> >>> another a bug in IOMMU driver code, that was fixed in 83afa3135830
> >>> ("amd-vi: fix IVMD memory type checks").
> >>>
> >>> Failing to reserve memory will lead to panic in IOMMU setup code. And
> >>> not including the page in IOMMU mapping will lead to broken console (=
due
> >>> to IOMMU faults). The pages chosen by the XHCI console driver should
> >>> still be usable by the CPU though, and the console code already can d=
eal
> >>> with too slow console by dropping characters (and console not printing
> >>> anything is a special case of "slow"). When reserving fails print an =
error
> >>> message showing which pages failed and who requested them. This should
> >>> be enough hint to find why XHCI console doesn't work.
> >>>
> >>> Fixes: 3a1a7b809ffa "drivers/char: mark DMA buffers as reserved for t=
he XHCI"
> >>> Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethi=
ngslab.com>
> >>
> >> Acked-by: Jan Beulich <jbeulich@suse.com>
> >=20
> > Is any ack missing here, or has it just fallen through the cracks?
>=20
> ??? (commit dd5101a6169f89b9e3f3b72f0b0fcdb38db2fb35)

Oh, sorry, somehow I missed it. All good then, thanks.

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYf274ACgkQ24/THMrX
1ywfywf+OmmCL/Y1qmRF6Ba9u5B1R9ky1Nu2XZ42s2TZQeXSSbtsw5KdcqOIE/2x
8D68bpGDnz6BbKIzXMXdCNw3wg5/N/geJ79uCylv/ZsTO+wztEX/LZLL3DSZYbBK
j4o0ElZ2ivvVt0AFO+njgEUDijQy99AWfjE/VafMSAW238aRS8Ppsqyw1ZZeY3t1
BAJK1Darz70zcS4Dtt2Qsy47G2MCgylH9GDLVNpHjxiP03CK2agE/RawBfI9a1Oo
1tMJO/DKh4nyuxNOf2Mt2F8/GBSSR1GAq7rCheJuv0An8nXyRp7gYt+WSkbva6Zp
K9tHwr9XAAJSOLtBJKZFJr4mG6A4eQ==
=Y3DV
-----END PGP SIGNATURE-----

--Jz0btK6xw1y2YmMV--


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:37:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:37:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707553.1105574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Pn-0004wI-Fi; Wed, 17 Apr 2024 14:37:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707553.1105574; Wed, 17 Apr 2024 14:37:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Pn-0004wB-CT; Wed, 17 Apr 2024 14:37:35 +0000
Received: by outflank-mailman (input) for mailman id 707553;
 Wed, 17 Apr 2024 14:37:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VNGY=LW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rx6Pl-0004w5-Jm
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:37:33 +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 0471b6b7-fcc8-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 16:37:30 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713364644831580.568075550855;
 Wed, 17 Apr 2024 07:37: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: 0471b6b7-fcc8-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713364646; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=WqD+dNN7rxzjSMA9/bHq1K3WapfKlMpfPv2js4TnnP6KWGDzIad2iIJBE25ABGgPRmMwI2PZ2jNrDbdUDSt3PGNNCVZlQgHxa6EI+kPZ7z4GI3NzTVpk2+kRHZl4CmnMW7rHSBGEirVtxdKueDFKWhVkkbOEAXbt7pRHDsB6Uyo=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713364646; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=isDImK+xjqFzHXUtxh7Tjizo+scqnKrEO7sLVU22BRg=; 
	b=JT1am32JB/ZS+Ozkj3QiVXuq5U1sqENuLCQ3d5ZyXt8d0XYaw1AdwI+bYeW96SOUGMjS0kgx5PQcUZdSC1mmYeq1/jJ2yxdtpMb+RuPXrp9G3e45aChztAPmZt4vITnziPZUCKZ1/FE3ittvrEpjPKbUIOEo0QldY8WqxjoTH9U=
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=1713364646;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=isDImK+xjqFzHXUtxh7Tjizo+scqnKrEO7sLVU22BRg=;
	b=gr+KwnsZOomzS3qBmus4kaU9nE+ASbtEkSIR0u4b5rDC5EoE7Xt/darRLQzDiMX+
	VGKr116VtHhYulXMI09WaScyP3JMUAGimNt4GwVnjfpvObSkcI3biB55IHGVi/QcHxr
	VB1h786rOLG2nHcCAsimMDQAh+8//2ABYxrG8Q6A=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 0/6]  Clean up of gzip decompressor
Date: Wed, 17 Apr 2024 10:37:10 -0400
Message-Id: <20240417143716.27189-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

An issue ran into by hyperlaunch was the need to use the gzip decompressor
multiple times. The current implementation fails when reused due to tainting of
decompressor state from a previous usage. This series seeks to colocate the
gzip unit files under a single directory similar to the other decompression
algorithms.  To enable the refactoring of the state tracking, the code is then
cleaned up in line with Xen coding style.

Changes in v2:
- patch "xen/gzip: Colocate gunzip code files" was merged
- dropped ifdef chunks that are never enabled
- addressed formatting changes missed in v1
- replaced custom memory allocator with xalloc_bytes()
- renamed gzip_data to gzip_state
- moved gzip_state to being dynamically allocated
- changed crc table to the explicit size of uint32_t 
- instead of moving huffman tracking into state, dropped altogether

Daniel P. Smith (6):
  gzip: drop unused define checks
  gzip: clean up comments and fix code alignment
  gzip: remove custom memory allocator
  gzip: refactor state tracking
  gzip: move crc state into consilidated gzip state
  gzip: drop huffman code table tracking

 xen/common/gzip/gunzip.c  |  87 ++--
 xen/common/gzip/inflate.c | 974 ++++++++++++++++++--------------------
 2 files changed, 501 insertions(+), 560 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:37:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:37:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707554.1105585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Q4-0005HZ-R7; Wed, 17 Apr 2024 14:37:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707554.1105585; Wed, 17 Apr 2024 14:37:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Q4-0005HQ-OJ; Wed, 17 Apr 2024 14:37:52 +0000
Received: by outflank-mailman (input) for mailman id 707554;
 Wed, 17 Apr 2024 14:37:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VNGY=LW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rx6Q4-0004w5-5q
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:37:52 +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 1009bbc9-fcc8-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 16:37:50 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713364646408459.7510772310741;
 Wed, 17 Apr 2024 07:37: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: 1009bbc9-fcc8-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713364648; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=fiW719O+jy6AkTMMrnoTdKzP/YeOnARtF3DjH02aysdQTY/TSWIARARBKKpdp6JF0e9hc6Ba0N8sU8vgqXx4Fei3990JSGoBlcfa0G1mwb1HB/RRN9Tjy4Nkk5C8PIzEzgsJwDF4ObGMjDcOsXhoNOWEqpZlsDzYcgZb0OUKmQw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713364648; h=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=8+kt8iMSGPzyGhHCaIhcFst+HrU8xeK5CDMlGfOE44I=; 
	b=S0jnYwjsyEYHuvpb2LknHXGOqECg3e8mG0+gC70PCB+fH0astSedWAjg0LKBAueGh9cZphvBQ92h+sOUH6ZJiklZBGFwp5QXh/jV188haLefNx8ci+MYblz01mFirEaBAu/34M/gTMQ8to032UuKY55vOIHYuHHQ2GyWnbPdKjs=
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=1713364648;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=8+kt8iMSGPzyGhHCaIhcFst+HrU8xeK5CDMlGfOE44I=;
	b=oNn1170Q+4NC/ObBtwvQnY4jFWlgHc73x042n1pn+8VVkeIzfGYo3hlee2qae8yI
	BUQUCUYBeAFjOB5fuvdN6V3FW5QnNyn36xG0ZqHg6Fow2/NP1+2wYJpXMFDla7Qhy5g
	gUlEk1C/Jpu1sT7U+XZjSDJ/Ib4N6TN90z4uUbgs=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 1/6] gzip: drop unused define checks
Date: Wed, 17 Apr 2024 10:37:11 -0400
Message-Id: <20240417143716.27189-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240417143716.27189-1-dpsmith@apertussolutions.com>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Dropping the define checks for PKZIP_BUG_WORKAROUND and NOMEMCPY define as they
never are set.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/inflate.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 58f263d9e852..e95db2de4d9b 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -661,7 +661,6 @@ static int __init inflate_codes(
                 /* do the copy */
                 do {
                     n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
-#if !defined(NOMEMCPY) && !defined(DEBUG)
                     if (w - d >= e)         /* (this test assumes unsigned comparison) */
                     {
                         memcpy(slide + w, slide + d, e);
@@ -669,7 +668,6 @@ static int __init inflate_codes(
                         d += e;
                     }
                     else                      /* do it slow to avoid memcpy() overlap */
-#endif /* !NOMEMCPY */
                         do {
                             slide[w++] = slide[d++];
                             Tracevv((stderr, "%c", slide[w-1]));
@@ -845,11 +843,7 @@ static int noinline __init inflate_dynamic(void)
 
     DEBG("<dyn");
 
-#ifdef PKZIP_BUG_WORKAROUND
-    ll = malloc(sizeof(*ll) * (288+32));  /* literal/length and distance code lengths */
-#else
     ll = malloc(sizeof(*ll) * (286+30));  /* literal/length and distance code lengths */
-#endif
 
     if (ll == NULL)
         return 1;
@@ -869,11 +863,7 @@ static int noinline __init inflate_dynamic(void)
         NEEDBITS(4)
         nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
     DUMPBITS(4)
-#ifdef PKZIP_BUG_WORKAROUND
-        if (nl > 288 || nd > 32)
-#else
             if (nl > 286 || nd > 30)
-#endif
             {
                 ret = 1;             /* bad lengths */
                 goto out;
@@ -989,16 +979,11 @@ static int noinline __init inflate_dynamic(void)
         DEBG("dyn5d ");
         if (i == 1) {
             error("incomplete distance tree");
-#ifdef PKZIP_BUG_WORKAROUND
-            i = 0;
-        }
-#else
         huft_free(td);
     }
     huft_free(tl);
     ret = i;                   /* incomplete code set */
     goto out;
-#endif
 }
 
 DEBG("dyn6 ");
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:38:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:38:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707557.1105595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6QK-0005nq-2f; Wed, 17 Apr 2024 14:38:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707557.1105595; Wed, 17 Apr 2024 14:38:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6QJ-0005nj-Vm; Wed, 17 Apr 2024 14:38:07 +0000
Received: by outflank-mailman (input) for mailman id 707557;
 Wed, 17 Apr 2024 14:38:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VNGY=LW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rx6QI-0005ks-Cr
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:38:06 +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 178e37d3-fcc8-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 16:38:03 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713364647836196.0724817623684;
 Wed, 17 Apr 2024 07:37:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 178e37d3-fcc8-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1713364650; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ctw/XfvKKD0jfxZkhH1p+lVjzoY6C1lShQ+jo/hNd6oMgsaWfVs5SG2loh+6xewyTjaKbNlEDVVIVFrxttOIlaocyR5TEGDmnz0vTvnIm8dDqKADzlMh5PJyhVVQudvezDWhdt8la27MgQApDt9HPdj3LZzrZtxih2JQtPgxRDE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713364650; h=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=OSlGTQqiRvDxNXJj4MQvDl51HgeA28F6MudGkNCE6Yw=; 
	b=kTnf9+enC8y2kp+HlwUOlZgF5VPXrKuYjo8ZXBxd2Fl5WhRjnZ4ZNIK+WwLTXRqoydM9WXfO9L46xtKnem51zKfVNqBPTqr164jlB+6RsdQtIOTpYwXqBbUWyxCcbc+KpSiDr9ZP1Db/oqASeYig7Av7CDTAtmQcmB3NPEwx99Y=
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=1713364650;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=OSlGTQqiRvDxNXJj4MQvDl51HgeA28F6MudGkNCE6Yw=;
	b=SJo9C6d3LSIo8nIXpqUa9Shq2suQT8JOEIDdUqES7yFT4fIZdZrGD2yCO6GFpGXv
	J8OUiQqnShrnB/WxJYZLUB16irBZmFlbK6bVkkwTZ5tupCsNRlfitAiVQbnq0DVOyY6
	70P56xFgE57YrTpOr3tmXP0Xd/U4epQdN7yeyPl8=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 2/6] gzip: clean up comments and fix code alignment
Date: Wed, 17 Apr 2024 10:37:12 -0400
Message-Id: <20240417143716.27189-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240417143716.27189-1-dpsmith@apertussolutions.com>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This commit cleans up the comments and fixes the code alignment using Xen
coding style. This is done to make the code more legible before refactoring.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  |  10 +-
 xen/common/gzip/inflate.c | 790 +++++++++++++++++++-------------------
 2 files changed, 405 insertions(+), 395 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 2c6eae167d54..1bcb007395ba 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -63,7 +63,6 @@ static __init int fill_inbuf(void)
         return 0;
 }
 
-
 #include "inflate.c"
 
 static __init void flush_window(void)
@@ -137,3 +136,12 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
 
     return rc;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index e95db2de4d9b..73ccfc2bdc6c 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1,11 +1,13 @@
 #define DEBG(x)
 #define DEBG1(x)
-/* inflate.c -- Not copyrighted 1992 by Mark Adler
-   version c10p1, 10 January 1993 */
+/*
+ * inflate.c -- Not copyrighted 1992 by Mark Adler
+ * version c10p1, 10 January 1993
+ */
 
-/* 
+/*
  * Adapted for booting Linux by Hannu Savolainen 1993
- * based on gzip-1.0.3 
+ * based on gzip-1.0.3
  *
  * Nicolas Pitre <nico@cam.org>, 1999/04/14 :
  *   Little mods for all variable to reside either into rodata or bss segments
@@ -15,92 +17,91 @@
  */
 
 /*
-   Inflate deflated (PKZIP's method 8 compressed) data.  The compression
-   method searches for as much of the current string of bytes (up to a
-   length of 258) in the previous 32 K bytes.  If it doesn't find any
-   matches (of at least length 3), it codes the next byte.  Otherwise, it
-   codes the length of the matched string and its distance backwards from
-   the current position.  There is a single Huffman code that codes both
-   single bytes (called "literals") and match lengths.  A second Huffman
-   code codes the distance information, which follows a length code.  Each
-   length or distance code actually represents a base value and a number
-   of "extra" (sometimes zero) bits to get to add to the base value.  At
-   the end of each deflated block is a special end-of-block (EOB) literal/
-   length code.  The decoding process is basically: get a literal/length
-   code; if EOB then done; if a literal, emit the decoded byte; if a
-   length then get the distance and emit the referred-to bytes from the
-   sliding window of previously emitted data.
-
-   There are (currently) three kinds of inflate blocks: stored, fixed, and
-   dynamic.  The compressor deals with some chunk of data at a time, and
-   decides which method to use on a chunk-by-chunk basis.  A chunk might
-   typically be 32 K or 64 K.  If the chunk is incompressible, then the
-   "stored" method is used.  In this case, the bytes are simply stored as
-   is, eight bits per byte, with none of the above coding.  The bytes are
-   preceded by a count, since there is no longer an EOB code.
-
-   If the data is compressible, then either the fixed or dynamic methods
-   are used.  In the dynamic method, the compressed data is preceded by
-   an encoding of the literal/length and distance Huffman codes that are
-   to be used to decode this block.  The representation is itself Huffman
-   coded, and so is preceded by a description of that code.  These code
-   descriptions take up a little space, and so for small blocks, there is
-   a predefined set of codes, called the fixed codes.  The fixed method is
-   used if the block codes up smaller that way (usually for quite small
-   chunks), otherwise the dynamic method is used.  In the latter case, the
-   codes are customized to the probabilities in the current block, and so
-   can code it much better than the pre-determined fixed codes.
- 
-   The Huffman codes themselves are decoded using a multi-level table
-   lookup, in order to maximize the speed of decoding plus the speed of
-   building the decoding tables.  See the comments below that precede the
-   lbits and dbits tuning parameters.
+ * Inflate deflated (PKZIP's method 8 compressed) data.  The compression
+ * method searches for as much of the current string of bytes (up to a
+ * length of 258) in the previous 32 K bytes.  If it doesn't find any
+ * matches (of at least length 3), it codes the next byte.  Otherwise, it
+ * codes the length of the matched string and its distance backwards from
+ * the current position.  There is a single Huffman code that codes both
+ * single bytes (called "literals") and match lengths.  A second Huffman
+ * code codes the distance information, which follows a length code.  Each
+ * length or distance code actually represents a base value and a number
+ * of "extra" (sometimes zero) bits to get to add to the base value.  At
+ * the end of each deflated block is a special end-of-block (EOB) literal/
+ * length code.  The decoding process is basically: get a literal/length
+ * code; if EOB then done; if a literal, emit the decoded byte; if a
+ * length then get the distance and emit the referred-to bytes from the
+ * sliding window of previously emitted data.
+ *
+ * There are (currently) three kinds of inflate blocks: stored, fixed, and
+ * dynamic.  The compressor deals with some chunk of data at a time, and
+ * decides which method to use on a chunk-by-chunk basis.  A chunk might
+ * typically be 32 K or 64 K.  If the chunk is incompressible, then the
+ * "stored" method is used.  In this case, the bytes are simply stored as
+ * is, eight bits per byte, with none of the above coding.  The bytes are
+ * preceded by a count, since there is no longer an EOB code.
+ *
+ * If the data is compressible, then either the fixed or dynamic methods
+ * are used.  In the dynamic method, the compressed data is preceded by
+ * an encoding of the literal/length and distance Huffman codes that are
+ * to be used to decode this block.  The representation is itself Huffman
+ * coded, and so is preceded by a description of that code.  These code
+ * descriptions take up a little space, and so for small blocks, there is
+ * a predefined set of codes, called the fixed codes.  The fixed method is
+ * used if the block codes up smaller that way (usually for quite small
+ * chunks), otherwise the dynamic method is used.  In the latter case, the
+ * codes are customized to the probabilities in the current block, and so
+ * can code it much better than the pre-determined fixed codes.
+ *
+ * The Huffman codes themselves are decoded using a multi-level table
+ * lookup, in order to maximize the speed of decoding plus the speed of
+ * building the decoding tables.  See the comments below that precede the
+ * lbits and dbits tuning parameters.
  */
 
-
 /*
-   Notes beyond the 1.93a appnote.txt:
-
-   1. Distance pointers never point before the beginning of the output
-      stream.
-   2. Distance pointers can point back across blocks, up to 32k away.
-   3. There is an implied maximum of 7 bits for the bit length table and
-      15 bits for the actual data.
-   4. If only one code exists, then it is encoded using one bit.  (Zero
-      would be more efficient, but perhaps a little confusing.)  If two
-      codes exist, they are coded using one bit each (0 and 1).
-   5. There is no way of sending zero distance codes--a dummy must be
-      sent if there are none.  (History: a pre 2.0 version of PKZIP would
-      store blocks with no distance codes, but this was discovered to be
-      too harsh a criterion.)  Valid only for 1.93a.  2.04c does allow
-      zero distance codes, which is sent as one code of zero bits in
-      length.
-   6. There are up to 286 literal/length codes.  Code 256 represents the
-      end-of-block.  Note however that the static length tree defines
-      288 codes just to fill out the Huffman codes.  Codes 286 and 287
-      cannot be used though, since there is no length base or extra bits
-      defined for them.  Similarly, there are up to 30 distance codes.
-      However, static trees define 32 codes (all 5 bits) to fill out the
-      Huffman codes, but the last two had better not show up in the data.
-   7. Unzip can check dynamic Huffman blocks for complete code sets.
-      The exception is that a single code would not be complete (see #4).
-   8. The five bits following the block type is really the number of
-      literal codes sent minus 257.
-   9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
-      (1+6+6).  Therefore, to output three times the length, you output
-      three codes (1+1+1), whereas to output four times the same length,
-      you only need two codes (1+3).  Hmm.
-  10. In the tree reconstruction algorithm, Code = Code + Increment
-      only if BitLength(i) is not zero.  (Pretty obvious.)
-  11. Correction: 4 Bits: # of Bit Length codes - 4     (4 - 19)
-  12. Note: length code 284 can represent 227-258, but length code 285
-      really is 258.  The last length deserves its own, short code
-      since it gets used a lot in very redundant files.  The length
-      258 is special since 258 - 3 (the min match length) is 255.
-  13. The literal/length and distance code bit lengths are read as a
-      single stream of lengths.  It is possible (and advantageous) for
-      a repeat code (16, 17, or 18) to go across the boundary between
-      the two sets of lengths.
+ * Notes beyond the 1.93a appnote.txt:
+ *
+ *  1. Distance pointers never point before the beginning of the output
+ *     stream.
+ *  2. Distance pointers can point back across blocks, up to 32k away.
+ *  3. There is an implied maximum of 7 bits for the bit length table and
+ *     15 bits for the actual data.
+ *  4. If only one code exists, then it is encoded using one bit.  (Zero
+ *     would be more efficient, but perhaps a little confusing.)  If two
+ *     codes exist, they are coded using one bit each (0 and 1).
+ *  5. There is no way of sending zero distance codes--a dummy must be
+ *     sent if there are none.  (History: a pre 2.0 version of PKZIP would
+ *     store blocks with no distance codes, but this was discovered to be
+ *     too harsh a criterion.)  Valid only for 1.93a.  2.04c does allow
+ *     zero distance codes, which is sent as one code of zero bits in
+ *     length.
+ *  6. There are up to 286 literal/length codes.  Code 256 represents the
+ *     end-of-block.  Note however that the static length tree defines
+ *     288 codes just to fill out the Huffman codes.  Codes 286 and 287
+ *     cannot be used though, since there is no length base or extra bits
+ *     defined for them.  Similarly, there are up to 30 distance codes.
+ *     However, static trees define 32 codes (all 5 bits) to fill out the
+ *     Huffman codes, but the last two had better not show up in the data.
+ *  7. Unzip can check dynamic Huffman blocks for complete code sets.
+ *     The exception is that a single code would not be complete (see #4).
+ *  8. The five bits following the block type is really the number of
+ *     literal codes sent minus 257.
+ *  9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
+ *     (1+6+6).  Therefore, to output three times the length, you output
+ *     three codes (1+1+1), whereas to output four times the same length,
+ *     you only need two codes (1+3).  Hmm.
+ * 10. In the tree reconstruction algorithm, Code = Code + Increment
+ *     only if BitLength(i) is not zero.  (Pretty obvious.)
+ * 11. Correction: 4 Bits: # of Bit Length codes - 4     (4 - 19)
+ * 12. Note: length code 284 can represent 227-258, but length code 285
+ *     really is 258.  The last length deserves its own, short code
+ *     since it gets used a lot in very redundant files.  The length
+ *     258 is special since 258 - 3 (the min match length) is 255.
+ * 13. The literal/length and distance code bit lengths are read as a
+ *     single stream of lengths.  It is possible (and advantageous) for
+ *     a repeat code (16, 17, or 18) to go across the boundary between
+ *     the two sets of lengths.
  */
 
 #ifdef RCSID
@@ -120,13 +121,15 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
 
 #define slide window
 
-/* Huffman code lookup table entry--this entry is four bytes for machines
-   that have 16-bit pointers (e.g. PC's in the small or medium model).
-   Valid extra bits are 0..13.  e == 15 is EOB (end of block), e == 16
-   means that v is a literal, 16 < e < 32 means that v is a pointer to
-   the next table, which codes e - 16 bits, and lastly e == 99 indicates
-   an unused code.  If a code with e == 99 is looked up, this implies an
-   error in the data. */
+/*
+ * Huffman code lookup table entry--this entry is four bytes for machines
+ * that have 16-bit pointers (e.g. PC's in the small or medium model).
+ * Valid extra bits are 0..13.  e == 15 is EOB (end of block), e == 16
+ * means that v is a literal, 16 < e < 32 means that v is a pointer to
+ * the next table, which codes e - 16 bits, and lastly e == 99 indicates
+ * an unused code.  If a code with e == 99 is looked up, this implies an
+ * error in the data.
+ */
 struct huft {
     uch e;                /* number of extra bits or operation */
     uch b;                /* number of bits in this code or subcode */
@@ -136,7 +139,6 @@ struct huft {
     } v;
 };
 
-
 /* Function prototypes */
 static int huft_build OF((unsigned *, unsigned, unsigned,
                           const ush *, const ush *, struct huft **, int *));
@@ -148,15 +150,17 @@ static int inflate_dynamic OF((void));
 static int inflate_block OF((int *));
 static int inflate OF((void));
 
-
-/* The inflate algorithm uses a sliding 32 K byte window on the uncompressed
-   stream to find repeated byte strings.  This is implemented here as a
-   circular buffer.  The index is updated simply by incrementing and then
-   ANDing with 0x7fff (32K-1). */
-/* It is left to other modules to supply the 32 K area.  It is assumed
-   to be usable as if it were declared "uch slide[32768];" or as just
-   "uch *slide;" and then malloc'ed in the latter case.  The definition
-   must be in unzip.h, included above. */
+/*
+ * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
+ * stream to find repeated byte strings.  This is implemented here as a
+ * circular buffer.  The index is updated simply by incrementing and then
+ * ANDing with 0x7fff (32K-1).
+ *
+ * It is left to other modules to supply the 32 K area.  It is assumed
+ * to be usable as if it were declared "uch slide[32768];" or as just
+ * "uch *slide;" and then malloc'ed in the latter case.  The definition
+ * must be in unzip.h, included above.
+ */
 /* unsigned wp;             current position in slide */
 #define wp outcnt
 #define flush_output(w) (wp=(w),flush_window())
@@ -180,36 +184,35 @@ static const ush cpdext[] = {         /* Extra bits for distance codes */
     7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
     12, 12, 13, 13};
 
-
-
-/* Macros for inflate() bit peeking and grabbing.
-   The usage is:
-   
-        NEEDBITS(j)
-        x = b & mask_bits[j];
-        DUMPBITS(j)
-
-   where NEEDBITS makes sure that b has at least j bits in it, and
-   DUMPBITS removes the bits from b.  The macros use the variable k
-   for the number of bits in b.  Normally, b and k are register
-   variables for speed, and are initialized at the beginning of a
-   routine that uses these macros from a global bit buffer and count.
-
-   If we assume that EOB will be the longest code, then we will never
-   ask for bits with NEEDBITS that are beyond the end of the stream.
-   So, NEEDBITS should not read any more bytes than are needed to
-   meet the request.  Then no bytes need to be "returned" to the buffer
-   at the end of the last block.
-
-   However, this assumption is not true for fixed blocks--the EOB code
-   is 7 bits, but the other literal/length codes can be 8 or 9 bits.
-   (The EOB code is shorter than other codes because fixed blocks are
-   generally short.  So, while a block always has an EOB, many other
-   literal/length codes have a significantly lower probability of
-   showing up at all.)  However, by making the first table have a
-   lookup of seven bits, the EOB code will be found in that first
-   lookup, and so will not require that too many bits be pulled from
-   the stream.
+/*
+ * Macros for inflate() bit peeking and grabbing.
+ * The usage is:
+ *
+ *      NEEDBITS(j)
+ *      x = b & mask_bits[j];
+ *      DUMPBITS(j)
+ *
+ * where NEEDBITS makes sure that b has at least j bits in it, and
+ * DUMPBITS removes the bits from b.  The macros use the variable k
+ * for the number of bits in b.  Normally, b and k are register
+ * variables for speed, and are initialized at the beginning of a
+ * routine that uses these macros from a global bit buffer and count.
+ *
+ * If we assume that EOB will be the longest code, then we will never
+ * ask for bits with NEEDBITS that are beyond the end of the stream.
+ * So, NEEDBITS should not read any more bytes than are needed to
+ * meet the request.  Then no bytes need to be "returned" to the buffer
+ * at the end of the last block.
+ *
+ * However, this assumption is not true for fixed blocks--the EOB code
+ * is 7 bits, but the other literal/length codes can be 8 or 9 bits.
+ * (The EOB code is shorter than other codes because fixed blocks are
+ * generally short.  So, while a block always has an EOB, many other
+ * literal/length codes have a significantly lower probability of
+ * showing up at all.)  However, by making the first table have a
+ * lookup of seven bits, the EOB code will be found in that first
+ * lookup, and so will not require that too many bits be pulled from
+ * the stream.
  */
 
 static ulg __initdata bb;                /* bit buffer */
@@ -226,7 +229,8 @@ static const ush mask_bits[] = {
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
 #ifndef NO_INFLATE_MALLOC
-/* A trivial malloc implementation, adapted from
+/*
+ * A trivial malloc implementation, adapted from
  *  malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
  */
 
@@ -272,64 +276,64 @@ static void __init free(void *where)
 #endif
 
 /*
-   Huffman code decoding is performed using a multi-level table lookup.
-   The fastest way to decode is to simply build a lookup table whose
-   size is determined by the longest code.  However, the time it takes
-   to build this table can also be a factor if the data being decoded
-   is not very long.  The most common codes are necessarily the
-   shortest codes, so those codes dominate the decoding time, and hence
-   the speed.  The idea is you can have a shorter table that decodes the
-   shorter, more probable codes, and then point to subsidiary tables for
-   the longer codes.  The time it costs to decode the longer codes is
-   then traded against the time it takes to make longer tables.
-
-   This results of this trade are in the variables lbits and dbits
-   below.  lbits is the number of bits the first level table for literal/
-   length codes can decode in one step, and dbits is the same thing for
-   the distance codes.  Subsequent tables are also less than or equal to
-   those sizes.  These values may be adjusted either when all of the
-   codes are shorter than that, in which case the longest code length in
-   bits is used, or when the shortest code is *longer* than the requested
-   table size, in which case the length of the shortest code in bits is
-   used.
-
-   There are two different values for the two tables, since they code a
-   different number of possibilities each.  The literal/length table
-   codes 286 possible values, or in a flat code, a little over eight
-   bits.  The distance table codes 30 possible values, or a little less
-   than five bits, flat.  The optimum values for speed end up being
-   about one bit more than those, so lbits is 8+1 and dbits is 5+1.
-   The optimum values may differ though from machine to machine, and
-   possibly even between compilers.  Your mileage may vary.
+ * Huffman code decoding is performed using a multi-level table lookup.
+ * The fastest way to decode is to simply build a lookup table whose
+ * size is determined by the longest code.  However, the time it takes
+ * to build this table can also be a factor if the data being decoded
+ * is not very long.  The most common codes are necessarily the
+ * shortest codes, so those codes dominate the decoding time, and hence
+ * the speed.  The idea is you can have a shorter table that decodes the
+ * shorter, more probable codes, and then point to subsidiary tables for
+ * the longer codes.  The time it costs to decode the longer codes is
+ * then traded against the time it takes to make longer tables.
+ *
+ * This results of this trade are in the variables lbits and dbits
+ * below.  lbits is the number of bits the first level table for literal/
+ * length codes can decode in one step, and dbits is the same thing for
+ * the distance codes.  Subsequent tables are also less than or equal to
+ * those sizes.  These values may be adjusted either when all of the
+ * codes are shorter than that, in which case the longest code length in
+ * bits is used, or when the shortest code is *longer* than the requested
+ * table size, in which case the length of the shortest code in bits is
+ * used.
+ *
+ * There are two different values for the two tables, since they code a
+ * different number of possibilities each.  The literal/length table
+ * codes 286 possible values, or in a flat code, a little over eight
+ * bits.  The distance table codes 30 possible values, or a little less
+ * than five bits, flat.  The optimum values for speed end up being
+ * about one bit more than those, so lbits is 8+1 and dbits is 5+1.
+ * The optimum values may differ though from machine to machine, and
+ * possibly even between compilers.  Your mileage may vary.
  */
 
-
 static const int lbits = 9;          /* bits in base literal/length lookup table */
 static const int dbits = 6;          /* bits in base distance lookup table */
 
-
 /* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
 #define BMAX 16         /* maximum bit length of any code (16 for explode) */
 #define N_MAX 288       /* maximum number of codes in any set */
 
-
 static unsigned __initdata hufts;      /* track memory usage */
 
-
+/*
+ * Given a list of code lengths and a maximum table size, make a set of
+ * tables to decode that set of codes.  Return zero on success, one if
+ * the given code set is incomplete (the tables are still built in this
+ * case), two if the input is invalid (all zero length codes or an
+ * oversubscribed set of lengths), and three if not enough memory.
+ *
+ * @param b Code lengths in bits (all assumed <= BMAX)
+ * @param n Number of codes (assumed <= N_MAX)
+ * @param s Number of simple-valued codes (0..s-1)
+ * @param d List of base values for non-simple codes
+ * @param e List of extra bits for non-simple codes
+ * @param t Result: starting table
+ * @param m Maximum lookup bits, returns actual
+ */
 static int __init huft_build(
-    unsigned *b,            /* code lengths in bits (all assumed <= BMAX) */
-    unsigned n,             /* number of codes (assumed <= N_MAX) */
-    unsigned s,             /* number of simple-valued codes (0..s-1) */
-    const ush *d,           /* list of base values for non-simple codes */
-    const ush *e,           /* list of extra bits for non-simple codes */
-    struct huft **t,        /* result: starting table */
-    int *m                  /* maximum lookup bits, returns actual */
-    )
-/* Given a list of code lengths and a maximum table size, make a set of
-   tables to decode that set of codes.  Return zero on success, one if
-   the given code set is incomplete (the tables are still built in this
-   case), two if the input is invalid (all zero length codes or an
-   oversubscribed set of lengths), and three if not enough memory. */
+    unsigned *b, unsigned n, unsigned s, const ush *d, const ush *e,
+    struct huft **t, int *m)
 {
     unsigned a;                   /* counter for codes of length k */
     unsigned f;                   /* i repeats in table every f entries */
@@ -371,7 +375,7 @@ static int __init huft_build(
     memzero(stk->c, sizeof(stk->c));
     p = b;  i = n;
     do {
-        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" : "0x%x %d\n"), 
+        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" : "0x%x %d\n"),
                      n-i, *p));
         c[*p]++;                    /* assume all entries <= BMAX */
         p++;                      /* Can't combine with above line (Solaris bug) */
@@ -559,14 +563,13 @@ static int __init huft_build(
     return ret;
 }
 
-
-
-static int __init huft_free(
-    struct huft *t         /* table to free */
-    )
 /* Free the malloc'ed tables built by huft_build(), which makes a linked
-   list of the tables it made, with the links in a dummy first entry of
-   each table. */
+ * list of the tables it made, with the links in a dummy first entry of
+ * each table.
+ *
+ * @param t Table to free
+ */
+static int __init huft_free(struct huft *t)
 {
     register struct huft *p, *q;
 
@@ -578,19 +581,21 @@ static int __init huft_free(
         q = (--p)->v.t;
         free((char*)p);
         p = q;
-    } 
+    }
     return 0;
 }
 
-
+/*
+ * inflate (decompress) the codes in a deflated (compressed) block.
+ * Return an error code or zero if it all goes ok.
+ *
+ * @param huft tl Literal/length decoder tables
+ * @param huft td Distance decoder tables
+ * @param bl  Number of bits decoded by tl[]
+ * @param bd  Number of bits decoded by td[]
+ */
 static int __init inflate_codes(
-    struct huft *tl,    /* literal/length decoder tables */
-    struct huft *td,    /* distance decoder tables */
-    int bl,             /* number of bits decoded by tl[] */
-    int bd              /* number of bits decoded by td[] */
-    )
-/* inflate (decompress) the codes in a deflated (compressed) block.
-   Return an error code or zero if it all goes ok. */
+    struct huft *tl, struct huft *td, int bl, int bd)
 {
     register unsigned e;  /* table entry flag/number of extra bits */
     unsigned n, d;        /* length and index for copy */
@@ -611,77 +616,76 @@ static int __init inflate_codes(
     md = mask_bits[bd];
     for (;;)                      /* do until end of block */
     {
-        NEEDBITS((unsigned)bl)
-            if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
+        NEEDBITS((unsigned)bl);
+        if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
+            do {
+            if (e == 99)
+                return 1;
+            DUMPBITS(t->b);
+            e -= 16;
+            NEEDBITS(e);
+            } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+        DUMPBITS(t->b);
+        if (e == 16)                /* then it's a literal */
+        {
+            slide[w++] = (uch)t->v.n;
+            Tracevv((stderr, "%c", slide[w-1]));
+            if (w == WSIZE)
+            {
+                flush_output(w);
+                w = 0;
+            }
+        }
+        else                        /* it's an EOB or a length */
+        {
+            /* exit if end of block */
+            if (e == 15)
+                break;
+
+            /* get length of block to copy */
+            NEEDBITS(e);
+            n = t->v.n + ((unsigned)b & mask_bits[e]);
+            DUMPBITS(e);
+
+            /* decode distance of block to copy */
+            NEEDBITS((unsigned)bd);
+            if ((e = (t = td + ((unsigned)b & md))->e) > 16)
                 do {
                     if (e == 99)
                         return 1;
-                    DUMPBITS(t->b)
-                        e -= 16;
-                    NEEDBITS(e)
-                        } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
-        DUMPBITS(t->b)
-            if (e == 16)                /* then it's a literal */
-            {
-                slide[w++] = (uch)t->v.n;
-                Tracevv((stderr, "%c", slide[w-1]));
+                    DUMPBITS(t->b);
+                    e -= 16;
+                    NEEDBITS(e);
+                } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+            DUMPBITS(t->b);
+            NEEDBITS(e);
+            d = w - t->v.n - ((unsigned)b & mask_bits[e]);
+            DUMPBITS(e);
+            Tracevv((stderr,"\\[%d,%d]", w-d, n));
+
+            /* do the copy */
+            do {
+                n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
+                if (w - d >= e)         /* (this test assumes unsigned comparison) */
+                {
+                    memcpy(slide + w, slide + d, e);
+                    w += e;
+                    d += e;
+                }
+                else                      /* do it slow to avoid memcpy() overlap */
+                    do {
+                        slide[w++] = slide[d++];
+                        Tracevv((stderr, "%c", slide[w-1]));
+                    } while (--e);
                 if (w == WSIZE)
                 {
                     flush_output(w);
                     w = 0;
                 }
-            }
-            else                        /* it's an EOB or a length */
-            {
-                /* exit if end of block */
-                if (e == 15)
-                    break;
-
-                /* get length of block to copy */
-                NEEDBITS(e)
-                    n = t->v.n + ((unsigned)b & mask_bits[e]);
-                DUMPBITS(e);
-
-                /* decode distance of block to copy */
-                NEEDBITS((unsigned)bd)
-                    if ((e = (t = td + ((unsigned)b & md))->e) > 16)
-                        do {
-                            if (e == 99)
-                                return 1;
-                            DUMPBITS(t->b)
-                                e -= 16;
-                            NEEDBITS(e)
-                                } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
-                DUMPBITS(t->b)
-                    NEEDBITS(e)
-                    d = w - t->v.n - ((unsigned)b & mask_bits[e]);
-                DUMPBITS(e)
-                    Tracevv((stderr,"\\[%d,%d]", w-d, n));
-
-                /* do the copy */
-                do {
-                    n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
-                    if (w - d >= e)         /* (this test assumes unsigned comparison) */
-                    {
-                        memcpy(slide + w, slide + d, e);
-                        w += e;
-                        d += e;
-                    }
-                    else                      /* do it slow to avoid memcpy() overlap */
-                        do {
-                            slide[w++] = slide[d++];
-                            Tracevv((stderr, "%c", slide[w-1]));
-                        } while (--e);
-                    if (w == WSIZE)
-                    {
-                        flush_output(w);
-                        w = 0;
-                    }
-                } while (n);
-            }
+            } while (n);
+        }
     }
 
-
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
     bb = b;                       /* restore global bit buffer */
@@ -694,10 +698,8 @@ static int __init inflate_codes(
     return 4;   /* Input underrun */
 }
 
-
-
-static int __init inflate_stored(void)
 /* "decompress" an inflated type 0 (stored) block. */
+static int __init inflate_stored(void)
 {
     unsigned n;           /* number of bytes in block */
     unsigned w;           /* current window position */
@@ -718,28 +720,26 @@ static int __init inflate_stored(void)
 
 
     /* get the length and its complement */
-    NEEDBITS(16)
-        n = ((unsigned)b & 0xffff);
-    DUMPBITS(16)
-        NEEDBITS(16)
-        if (n != (unsigned)((~b) & 0xffff))
-            return 1;                   /* error in compressed data */
-    DUMPBITS(16)
-
-
-        /* read and output the compressed data */
-        while (n--)
+    NEEDBITS(16);
+    n = ((unsigned)b & 0xffff);
+    DUMPBITS(16);
+    NEEDBITS(16);
+    if (n != (unsigned)((~b) & 0xffff))
+        return 1;                   /* error in compressed data */
+    DUMPBITS(16);
+
+    /* read and output the compressed data */
+    while (n--)
+    {
+        NEEDBITS(8);
+        slide[w++] = (uch)b;
+        if (w == WSIZE)
         {
-            NEEDBITS(8)
-                slide[w++] = (uch)b;
-            if (w == WSIZE)
-            {
-                flush_output(w);
-                w = 0;
-            }
-            DUMPBITS(8)
-                }
-
+            flush_output(w);
+            w = 0;
+        }
+        DUMPBITS(8);
+    }
 
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
@@ -757,10 +757,13 @@ static int __init inflate_stored(void)
 /*
  * We use `noinline' here to prevent gcc-3.5 from using too much stack space
  */
+
+/*
+ * decompress an inflated type 1 (fixed Huffman codes) block.  We should
+ * either replace this with a custom decoder, or at least precompute the
+ * Huffman tables.
+ */
 static int noinline __init inflate_fixed(void)
-/* decompress an inflated type 1 (fixed Huffman codes) block.  We should
-   either replace this with a custom decoder, or at least precompute the
-   Huffman tables. */
 {
     int i;                /* temporary variable */
     struct huft *tl;      /* literal/length code table */
@@ -803,7 +806,6 @@ static int noinline __init inflate_fixed(void)
         return i;
     }
 
-
     /* decompress until an end-of-block code */
     if (inflate_codes(tl, td, bl, bd)) {
         free(l);
@@ -817,12 +819,12 @@ static int noinline __init inflate_fixed(void)
     return 0;
 }
 
-
 /*
  * We use `noinline' here to prevent gcc-3.5 from using too much stack space
  */
-static int noinline __init inflate_dynamic(void)
+
 /* decompress an inflated type 2 (dynamic Huffman codes) block. */
+static int noinline __init inflate_dynamic(void)
 {
     int i;                /* temporary variables */
     unsigned j;
@@ -852,32 +854,31 @@ static int noinline __init inflate_dynamic(void)
     b = bb;
     k = bk;
 
-
     /* read in table lengths */
-    NEEDBITS(5)
-        nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
-    DUMPBITS(5)
-        NEEDBITS(5)
-        nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
-    DUMPBITS(5)
-        NEEDBITS(4)
-        nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
-    DUMPBITS(4)
-            if (nl > 286 || nd > 30)
-            {
-                ret = 1;             /* bad lengths */
-                goto out;
-            }
+    NEEDBITS(5);
+    nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
+    DUMPBITS(5);
+    NEEDBITS(5);
+    nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
+    DUMPBITS(5);
+    NEEDBITS(4);
+    nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
+    DUMPBITS(4);
+    if (nl > 286 || nd > 30)
+    {
+        ret = 1;             /* bad lengths */
+        goto out;
+    }
 
     DEBG("dyn1 ");
 
     /* read in bit-length-code lengths */
     for (j = 0; j < nb; j++)
     {
-        NEEDBITS(3)
-            ll[border[j]] = (unsigned)b & 7;
-        DUMPBITS(3)
-            }
+        NEEDBITS(3);
+        ll[border[j]] = (unsigned)b & 7;
+        DUMPBITS(3);
+    }
     for (; j < 19; j++)
         ll[border[j]] = 0;
 
@@ -901,46 +902,46 @@ static int noinline __init inflate_dynamic(void)
     i = l = 0;
     while ((unsigned)i < n)
     {
-        NEEDBITS((unsigned)bl)
-            j = (td = tl + ((unsigned)b & m))->b;
-        DUMPBITS(j)
-            j = td->v.n;
+        NEEDBITS((unsigned)bl);
+        j = (td = tl + ((unsigned)b & m))->b;
+        DUMPBITS(j);
+        j = td->v.n;
         if (j < 16)                 /* length of code in bits (0..15) */
             ll[i++] = l = j;          /* save last length in l */
         else if (j == 16)           /* repeat last length 3 to 6 times */
         {
-            NEEDBITS(2)
-                j = 3 + ((unsigned)b & 3);
-            DUMPBITS(2)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            NEEDBITS(2);
+            j = 3 + ((unsigned)b & 3);
+            DUMPBITS(2);
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
-                ll[i++] = l;
+            ll[i++] = l;
         }
         else if (j == 17)           /* 3 to 10 zero length codes */
         {
-            NEEDBITS(3)
-                j = 3 + ((unsigned)b & 7);
-            DUMPBITS(3)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            NEEDBITS(3);
+            j = 3 + ((unsigned)b & 7);
+            DUMPBITS(3);
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
                 ll[i++] = 0;
             l = 0;
         }
         else                        /* j == 18: 11 to 138 zero length codes */
         {
-            NEEDBITS(7)
-                j = 11 + ((unsigned)b & 0x7f);
-            DUMPBITS(7)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            NEEDBITS(7);
+            j = 11 + ((unsigned)b & 0x7f);
+            DUMPBITS(7);
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
                 ll[i++] = 0;
             l = 0;
@@ -979,67 +980,64 @@ static int noinline __init inflate_dynamic(void)
         DEBG("dyn5d ");
         if (i == 1) {
             error("incomplete distance tree");
-        huft_free(td);
+            huft_free(td);
+        }
+        huft_free(tl);
+        ret = i;                   /* incomplete code set */
+        goto out;
     }
-    huft_free(tl);
-    ret = i;                   /* incomplete code set */
-    goto out;
-}
 
-DEBG("dyn6 ");
+    DEBG("dyn6 ");
 
-  /* decompress until an end-of-block code */
-if (inflate_codes(tl, td, bl, bd)) {
-    ret = 1;
-    goto out;
-}
+      /* decompress until an end-of-block code */
+    if (inflate_codes(tl, td, bl, bd)) {
+        ret = 1;
+        goto out;
+    }
 
-DEBG("dyn7 ");
+    DEBG("dyn7 ");
 
-  /* free the decoding tables, return */
-huft_free(tl);
-huft_free(td);
+      /* free the decoding tables, return */
+    huft_free(tl);
+    huft_free(td);
 
-DEBG(">");
-ret = 0;
-out:
-free(ll);
-return ret;
+    DEBG(">");
+    ret = 0;
+ out:
+    free(ll);
+    return ret;
 
-underrun:
-ret = 4;   /* Input underrun */
-goto out;
+ underrun:
+    ret = 4;   /* Input underrun */
+    goto out;
 }
 
-
-
-static int __init inflate_block(
-int *e                  /* last block flag */
-)
-/* decompress an inflated block */
+/*
+ * decompress an inflated block
+ *
+ * @param e Last block flag
+ */
+static int __init inflate_block(int *e)
 {
-unsigned t;           /* block type */
-register ulg b;       /* bit buffer */
-register unsigned k;  /* number of bits in bit buffer */
-
-DEBG("<blk");
+    unsigned t;           /* block type */
+    register ulg b;       /* bit buffer */
+    register unsigned k;  /* number of bits in bit buffer */
 
-/* make local bit buffer */
-b = bb;
-k = bk;
+    DEBG("<blk");
 
+    /* make local bit buffer */
+    b = bb;
+    k = bk;
 
-/* read in last block bit */
-NEEDBITS(1)
+    /* read in last block bit */
+    NEEDBITS(1);
     *e = (int)b & 1;
-    DUMPBITS(1)
-
+    DUMPBITS(1);
 
     /* read in block type */
-    NEEDBITS(2)
+    NEEDBITS(2);
     t = (unsigned)b & 3;
-    DUMPBITS(2)
-
+    DUMPBITS(2);
 
     /* restore the global bit buffer */
     bb = b;
@@ -1047,25 +1045,23 @@ NEEDBITS(1)
 
     /* inflate that block type */
     if (t == 2)
-    return inflate_dynamic();
+        return inflate_dynamic();
     if (t == 0)
-    return inflate_stored();
+        return inflate_stored();
     if (t == 1)
-    return inflate_fixed();
+        return inflate_fixed();
 
     DEBG(">");
 
     /* bad block type */
     return 2;
 
-    underrun:
+ underrun:
     return 4;   /* Input underrun */
 }
 
-
-
-static int __init inflate(void)
 /* decompress an inflated entry */
+static int __init inflate(void)
 {
     int e;                /* last block flag */
     int r;                /* result code */
@@ -1076,7 +1072,6 @@ static int __init inflate(void)
     bk = 0;
     bb = 0;
 
-
     /* decompress until the last block */
     h = 0;
     do {
@@ -1102,7 +1097,6 @@ static int __init inflate(void)
     /* flush out slide */
     flush_output(wp);
 
-
     /* return success */
 #ifdef DEBUG
     fprintf(stderr, "<%u> ", h);
@@ -1121,12 +1115,11 @@ static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss *
 #define CRC_VALUE (crc ^ 0xffffffffUL)
 
 /*
- * Code to compute the CRC-32 table. Borrowed from 
+ * Code to compute the CRC-32 table. Borrowed from
  * gzip-1.0.3/makecrc.c.
  */
 
-static void __init
-makecrc(void)
+static void __init makecrc(void)
 {
 /* Not copyrighted 1990 Mark Adler */
 
@@ -1229,7 +1222,7 @@ static int __init gunzip(void)
     if ((flags & ORIG_NAME) != 0) {
         /* Discard the old name */
         while (NEXTBYTE() != 0) /* null */ ;
-    } 
+    }
 
     /* Discard file comment if any */
     if ((flags & COMMENT) != 0) {
@@ -1258,7 +1251,7 @@ static int __init gunzip(void)
         }
         return -1;
     }
-     
+
     /* Get the crc and original length */
     /* crc32  (see algorithm.doc)
      * uncompressed input size modulo 2^32
@@ -1267,12 +1260,12 @@ static int __init gunzip(void)
     orig_crc |= (ulg) NEXTBYTE() << 8;
     orig_crc |= (ulg) NEXTBYTE() << 16;
     orig_crc |= (ulg) NEXTBYTE() << 24;
-    
+
     orig_len = (ulg) NEXTBYTE();
     orig_len |= (ulg) NEXTBYTE() << 8;
     orig_len |= (ulg) NEXTBYTE() << 16;
     orig_len |= (ulg) NEXTBYTE() << 24;
-    
+
     /* Validate decompression */
     if (orig_crc != CRC_VALUE) {
         error("crc error");
@@ -1288,3 +1281,12 @@ static int __init gunzip(void)
     error("out of input data");
     return -1;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:38:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707560.1105605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Qa-0006IX-EE; Wed, 17 Apr 2024 14:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707560.1105605; Wed, 17 Apr 2024 14:38:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Qa-0006IP-BT; Wed, 17 Apr 2024 14:38:24 +0000
Received: by outflank-mailman (input) for mailman id 707560;
 Wed, 17 Apr 2024 14:38: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=VNGY=LW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rx6QZ-0005ks-D5
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:38: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 23772597-fcc8-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 16:38:22 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713364649144455.33632451475705;
 Wed, 17 Apr 2024 07:37: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: 23772597-fcc8-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1713364651; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=IwtaPnAloT2CK6ja2AAR64zZFYaYa90zbVT8TjhYMoWU/vCEUFIDMuP5vSVeRebI8HpnNNSIbzVv80CGfb5i7GwrfRQAiwHx+F99F7hyHgEq77kEMQZkUUpQ+uwA62CQmdAUHEBa5mdy01CgPkAW8EF15M0tlr8twHN0Fd/FCQM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713364651; h=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=yrmeW+pze3W1tZ6Z4iQBLrbBIu7qXPzLrkvg21VCRCg=; 
	b=fzYSrpqtg4xWvw2Wfc/L7wnKtpYhcnwuw8DND+2qDrwgVBLm3Bf8tyMozMPJt5QAzVUGGdqS0evkxO0zuHMd7YUHmEqEKr92Dbz2rRrqjyIH0OwLJ7vkEHskMe5XwIaMmZ/6u3ZET5VkR+uQEADk1hGDTD5pLkNRg/AVXfNUYF0=
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=1713364651;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=yrmeW+pze3W1tZ6Z4iQBLrbBIu7qXPzLrkvg21VCRCg=;
	b=Rto767t2r9TNNb0rHoQDnPiw3Z6rUAyftwBrvaJSZ0pYqKUpqa+CflxhyJjO/SUy
	aLemBahc3x3OQDB+qdkNoP0GnB6p9u6jlUR25I001zp68y7KUXkmhDw2UCLRq2E6pQo
	T0yXdfqtg03lpZ5bOANsQFe0bueYwjGUpB+UZE+k=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 3/6] gzip: remove custom memory allocator
Date: Wed, 17 Apr 2024 10:37:13 -0400
Message-Id: <20240417143716.27189-4-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240417143716.27189-1-dpsmith@apertussolutions.com>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

All the other decompression routines use xmalloc_bytes(), thus there is no
reason for gzip to be handling its own allocation of memory. In fact, there is
a bug somewhere in the allocator as decompression started to break when adding
additional allocations. Instead of troubleshooting the allocator, replace it
with xmalloc_bytes().

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 17 ++------------
 xen/common/gzip/inflate.c | 47 ---------------------------------------
 2 files changed, 2 insertions(+), 62 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 1bcb007395ba..1b448d6e3655 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -4,12 +4,7 @@
 #include <xen/lib.h>
 #include <xen/mm.h>
 
-#define HEAPORDER 3
-
 static unsigned char *__initdata window;
-#define memptr long
-static memptr __initdata free_mem_ptr;
-static memptr __initdata free_mem_end_ptr;
 
 #define WSIZE           0x80000000U
 
@@ -24,6 +19,8 @@ static unsigned int __initdata outcnt;
 
 #define OF(args)        args
 
+#define malloc(a)       xmalloc_bytes(a)
+#define free(a)         xfree(a)
 #define memzero(s, n)   memset((s), 0, (n))
 
 typedef unsigned char   uch;
@@ -108,14 +105,6 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
         return 1;
 
     window = (unsigned char *)output;
-
-    free_mem_ptr = (unsigned long)alloc_xenheap_pages(HEAPORDER, 0);
-    if ( !free_mem_ptr )
-        return -ENOMEM;
-
-    free_mem_end_ptr = free_mem_ptr + (PAGE_SIZE << HEAPORDER);
-    init_allocator();
-
     inbuf = (unsigned char *)image;
     insize = image_len;
     inptr = 0;
@@ -132,8 +121,6 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
         rc = 0;
     }
 
-    free_xenheap_pages((void *)free_mem_ptr, HEAPORDER);
-
     return rc;
 }
 
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 73ccfc2bdc6c..512d9bf0ee2e 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -228,53 +228,6 @@ static const ush mask_bits[] = {
 #define NEEDBITS(n) {while(k<(n)){b|=((ulg)NEXTBYTE())<<k;k+=8;}}
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
-#ifndef NO_INFLATE_MALLOC
-/*
- * A trivial malloc implementation, adapted from
- *  malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994
- */
-
-static unsigned long __initdata malloc_ptr;
-static int __initdata malloc_count;
-
-static void __init init_allocator(void)
-{
-    malloc_ptr = free_mem_ptr;
-    malloc_count = 0;
-}
-
-static void *__init malloc(int size)
-{
-    void *p;
-
-    if (size < 0)
-        error("Malloc error");
-    if (!malloc_ptr)
-        malloc_ptr = free_mem_ptr;
-
-    malloc_ptr = (malloc_ptr + 3) & ~3;     /* Align */
-
-    p = (void *)malloc_ptr;
-    malloc_ptr += size;
-
-    if (free_mem_end_ptr && malloc_ptr >= free_mem_end_ptr)
-        error("Out of memory");
-
-    malloc_count++;
-    return p;
-}
-
-static void __init free(void *where)
-{
-    malloc_count--;
-    if (!malloc_count)
-        malloc_ptr = free_mem_ptr;
-}
-#else
-#define malloc(a) kmalloc(a, GFP_KERNEL)
-#define free(a) kfree(a)
-#endif
-
 /*
  * Huffman code decoding is performed using a multi-level table lookup.
  * The fastest way to decode is to simply build a lookup table whose
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:38:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707565.1105615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Qn-0006p5-MN; Wed, 17 Apr 2024 14:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707565.1105615; Wed, 17 Apr 2024 14: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 1rx6Qn-0006ov-It; Wed, 17 Apr 2024 14:38:37 +0000
Received: by outflank-mailman (input) for mailman id 707565;
 Wed, 17 Apr 2024 14:38:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VNGY=LW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rx6Ql-0004w5-TW
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:38:36 +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 29e12b37-fcc8-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 16:38:33 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713364650378661.1634785547899;
 Wed, 17 Apr 2024 07:37: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: 29e12b37-fcc8-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713364652; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=HNO4Zw8TAqCb47mccT8ei94b6Q2iYyeDx3iBS3dYUnHjzPYWF4XR4BKwkg/TvmvWh5ZzaCS7L5X7GlMBDft/1BUt7drsrjaDAfMFrTlBJt2QX2+6/XRC/sK22w5h03djxv+WUVVRcyvWdPu6b2xRoDOBNV8rzxfXqFkBk6BuKfE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713364652; h=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=C9KWiBXvcAQOB/6xgDOqlewNDvhMoNnnITpwYyb0xYA=; 
	b=iawrayuMYiOF9OBLgf/WEbS42gn65Q9sSJut6tMxOztJUSDlMZQUg4OiaCOzd4dgO0Gk9F02eaRoSHAKq5H0qxFic5U8WYu35EYLox2SRDxEhp7W/c3G40n8d2bMRYIiSADQg10MDZhxprbZzU55HMA598UARvw1HBdCTz4aHhs=
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=1713364652;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=C9KWiBXvcAQOB/6xgDOqlewNDvhMoNnnITpwYyb0xYA=;
	b=ANNKfm/CezOp4TxnCR8A4dbhqHgp9KKatvjsLbrfqY+uy5Itf/VvijMAi08hm1Yn
	BL3SwvMkuWchGJh7RZhyn+IHFsFn8SBVbkROd7Eui6Z7PZyl4foTRCc/y96+P9YuPyg
	mpu58i5ZJ26xPdrSuQvo00Uh4nO5Lcn4UpIYRaV0=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 4/6] gzip: refactor state tracking
Date: Wed, 17 Apr 2024 10:37:14 -0400
Message-Id: <20240417143716.27189-5-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240417143716.27189-1-dpsmith@apertussolutions.com>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Move the core state into struct gzip_data to allow a per decompression
instance.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  |  55 +++++++-----
 xen/common/gzip/inflate.c | 174 +++++++++++++++++++-------------------
 2 files changed, 120 insertions(+), 109 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 1b448d6e3655..8178a05a0190 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -4,18 +4,25 @@
 #include <xen/lib.h>
 #include <xen/mm.h>
 
-static unsigned char *__initdata window;
-
 #define WSIZE           0x80000000U
 
-static unsigned char *__initdata inbuf;
-static unsigned int __initdata insize;
+struct gzip_state {
+    unsigned char *window;
+
+    unsigned char *inbuf;
+    unsigned int insize;
+
+    /* Index of next byte to be processed in inbuf: */
+    unsigned int inptr;
 
-/* Index of next byte to be processed in inbuf: */
-static unsigned int __initdata inptr;
+    /* Bytes in output buffer: */
+    unsigned int outcnt;
 
-/* Bytes in output buffer: */
-static unsigned int __initdata outcnt;
+    long bytes_out;
+
+    unsigned long bb;      /* bit buffer */
+    unsigned bk;           /* bits in bit buffer */
+};
 
 #define OF(args)        args
 
@@ -27,7 +34,7 @@ typedef unsigned char   uch;
 typedef unsigned short  ush;
 typedef unsigned long   ulg;
 
-#define get_byte()      (inptr < insize ? inbuf[inptr++] : fill_inbuf())
+#define get_byte()     (s->inptr < s->insize ? s->inbuf[s->inptr++] : fill_inbuf())
 
 /* Diagnostic functions */
 #ifdef DEBUG
@@ -46,8 +53,7 @@ typedef unsigned long   ulg;
 #  define Tracecv(c, x)
 #endif
 
-static long __initdata bytes_out;
-static void flush_window(void);
+static void flush_window(struct gzip_state *s);
 
 static __init void error(const char *x)
 {
@@ -62,7 +68,7 @@ static __init int fill_inbuf(void)
 
 #include "inflate.c"
 
-static __init void flush_window(void)
+static __init void flush_window(struct gzip_state *s)
 {
     /*
      * The window is equal to the output buffer therefore only need to
@@ -72,16 +78,16 @@ static __init void flush_window(void)
     unsigned int n;
     unsigned char *in, ch;
 
-    in = window;
-    for ( n = 0; n < outcnt; n++ )
+    in = s->window;
+    for ( n = 0; n < s->outcnt; n++ )
     {
         ch = *in++;
         c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
     }
     crc = c;
 
-    bytes_out += (unsigned long)outcnt;
-    outcnt = 0;
+    s->bytes_out += (unsigned long)s->outcnt;
+    s->outcnt = 0;
 }
 
 __init int gzip_check(char *image, unsigned long image_len)
@@ -99,20 +105,25 @@ __init int gzip_check(char *image, unsigned long image_len)
 
 __init int perform_gunzip(char *output, char *image, unsigned long image_len)
 {
+    struct gzip_state *s;
     int rc;
 
     if ( !gzip_check(image, image_len) )
         return 1;
 
-    window = (unsigned char *)output;
-    inbuf = (unsigned char *)image;
-    insize = image_len;
-    inptr = 0;
-    bytes_out = 0;
+    s = (struct gzip_state *)malloc(sizeof(struct gzip_state));
+    if ( !s )
+        return -ENOMEM;
+
+    s->window = (unsigned char *)output;
+    s->inbuf = (unsigned char *)image;
+    s->insize = image_len;
+    s->inptr = 0;
+    s->bytes_out = 0;
 
     makecrc();
 
-    if ( gunzip() < 0 )
+    if ( gunzip(s) < 0 )
     {
         rc = -EINVAL;
     }
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 512d9bf0ee2e..5735bbcf7eb4 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -119,7 +119,7 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
 
 #endif /* !__XEN__ */
 
-#define slide window
+#define slide s->window
 
 /*
  * Huffman code lookup table entry--this entry is four bytes for machines
@@ -143,12 +143,12 @@ struct huft {
 static int huft_build OF((unsigned *, unsigned, unsigned,
                           const ush *, const ush *, struct huft **, int *));
 static int huft_free OF((struct huft *));
-static int inflate_codes OF((struct huft *, struct huft *, int, int));
-static int inflate_stored OF((void));
-static int inflate_fixed OF((void));
-static int inflate_dynamic OF((void));
-static int inflate_block OF((int *));
-static int inflate OF((void));
+static int inflate_codes OF((struct gzip_state *, struct huft *, struct huft *, int, int));
+static int inflate_stored OF((struct gzip_state *));
+static int inflate_fixed OF((struct gzip_state *));
+static int inflate_dynamic OF((struct gzip_state *));
+static int inflate_block OF((struct gzip_state *, int *));
+static int inflate OF((struct gzip_state *));
 
 /*
  * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
@@ -162,8 +162,8 @@ static int inflate OF((void));
  * must be in unzip.h, included above.
  */
 /* unsigned wp;             current position in slide */
-#define wp outcnt
-#define flush_output(w) (wp=(w),flush_window())
+#define wp s->outcnt
+#define flush_output(s, w) (wp=(w),flush_window(s))
 
 /* Tables for deflate from PKZIP's appnote.txt. */
 static const unsigned border[] = {    /* Order of the bit length code lengths */
@@ -215,17 +215,14 @@ static const ush cpdext[] = {         /* Extra bits for distance codes */
  * the stream.
  */
 
-static ulg __initdata bb;                /* bit buffer */
-static unsigned __initdata bk;           /* bits in bit buffer */
-
 static const ush mask_bits[] = {
     0x0000,
     0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
     0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
 };
 
-#define NEXTBYTE()  ({ int v = get_byte(); if (v < 0) goto underrun; (uch)v; })
-#define NEEDBITS(n) {while(k<(n)){b|=((ulg)NEXTBYTE())<<k;k+=8;}}
+#define NEXTBYTE(s)  ({ int v = get_byte(); if (v < 0) goto underrun; (uch)v; })
+#define NEEDBITS(s, n) {while(k<(n)){b|=((ulg)NEXTBYTE(s))<<k;k+=8;}}
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
 /*
@@ -548,7 +545,7 @@ static int __init huft_free(struct huft *t)
  * @param bd  Number of bits decoded by td[]
  */
 static int __init inflate_codes(
-    struct huft *tl, struct huft *td, int bl, int bd)
+    struct gzip_state *s, struct huft *tl, struct huft *td, int bl, int bd)
 {
     register unsigned e;  /* table entry flag/number of extra bits */
     unsigned n, d;        /* length and index for copy */
@@ -560,8 +557,8 @@ static int __init inflate_codes(
 
 
     /* make local copies of globals */
-    b = bb;                       /* initialize bit buffer */
-    k = bk;
+    b = s->bb;                   /* initialize bit buffer */
+    k = s->bk;
     w = wp;                       /* initialize window position */
 
     /* inflate the coded data */
@@ -569,14 +566,14 @@ static int __init inflate_codes(
     md = mask_bits[bd];
     for (;;)                      /* do until end of block */
     {
-        NEEDBITS((unsigned)bl);
+        NEEDBITS(s, (unsigned)bl);
         if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
             do {
             if (e == 99)
                 return 1;
             DUMPBITS(t->b);
             e -= 16;
-            NEEDBITS(e);
+            NEEDBITS(s, e);
             } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
         DUMPBITS(t->b);
         if (e == 16)                /* then it's a literal */
@@ -585,7 +582,7 @@ static int __init inflate_codes(
             Tracevv((stderr, "%c", slide[w-1]));
             if (w == WSIZE)
             {
-                flush_output(w);
+                flush_output(s, w);
                 w = 0;
             }
         }
@@ -596,22 +593,22 @@ static int __init inflate_codes(
                 break;
 
             /* get length of block to copy */
-            NEEDBITS(e);
+            NEEDBITS(s, e);
             n = t->v.n + ((unsigned)b & mask_bits[e]);
             DUMPBITS(e);
 
             /* decode distance of block to copy */
-            NEEDBITS((unsigned)bd);
+            NEEDBITS(s, (unsigned)bd);
             if ((e = (t = td + ((unsigned)b & md))->e) > 16)
                 do {
                     if (e == 99)
                         return 1;
                     DUMPBITS(t->b);
                     e -= 16;
-                    NEEDBITS(e);
+                    NEEDBITS(s, e);
                 } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
             DUMPBITS(t->b);
-            NEEDBITS(e);
+            NEEDBITS(s, e);
             d = w - t->v.n - ((unsigned)b & mask_bits[e]);
             DUMPBITS(e);
             Tracevv((stderr,"\\[%d,%d]", w-d, n));
@@ -632,7 +629,7 @@ static int __init inflate_codes(
                     } while (--e);
                 if (w == WSIZE)
                 {
-                    flush_output(w);
+                    flush_output(s, w);
                     w = 0;
                 }
             } while (n);
@@ -641,8 +638,8 @@ static int __init inflate_codes(
 
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
-    bb = b;                       /* restore global bit buffer */
-    bk = k;
+    s->bb = b;                   /* restore global bit buffer */
+    s->bk = k;
 
     /* done */
     return 0;
@@ -652,7 +649,7 @@ static int __init inflate_codes(
 }
 
 /* "decompress" an inflated type 0 (stored) block. */
-static int __init inflate_stored(void)
+static int __init inflate_stored(struct gzip_state *s)
 {
     unsigned n;           /* number of bytes in block */
     unsigned w;           /* current window position */
@@ -662,8 +659,8 @@ static int __init inflate_stored(void)
     DEBG("<stor");
 
     /* make local copies of globals */
-    b = bb;                       /* initialize bit buffer */
-    k = bk;
+    b = s->bb;                   /* initialize bit buffer */
+    k = s->bk;
     w = wp;                       /* initialize window position */
 
 
@@ -673,10 +670,10 @@ static int __init inflate_stored(void)
 
 
     /* get the length and its complement */
-    NEEDBITS(16);
+    NEEDBITS(s, 16);
     n = ((unsigned)b & 0xffff);
     DUMPBITS(16);
-    NEEDBITS(16);
+    NEEDBITS(s, 16);
     if (n != (unsigned)((~b) & 0xffff))
         return 1;                   /* error in compressed data */
     DUMPBITS(16);
@@ -684,11 +681,11 @@ static int __init inflate_stored(void)
     /* read and output the compressed data */
     while (n--)
     {
-        NEEDBITS(8);
+        NEEDBITS(s, 8);
         slide[w++] = (uch)b;
         if (w == WSIZE)
         {
-            flush_output(w);
+            flush_output(s, w);
             w = 0;
         }
         DUMPBITS(8);
@@ -696,8 +693,8 @@ static int __init inflate_stored(void)
 
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
-    bb = b;                       /* restore global bit buffer */
-    bk = k;
+    s->bb = b;                   /* restore global bit buffer */
+    s->bk = k;
 
     DEBG(">");
     return 0;
@@ -716,7 +713,7 @@ static int __init inflate_stored(void)
  * either replace this with a custom decoder, or at least precompute the
  * Huffman tables.
  */
-static int noinline __init inflate_fixed(void)
+static int noinline __init inflate_fixed(struct gzip_state *s)
 {
     int i;                /* temporary variable */
     struct huft *tl;      /* literal/length code table */
@@ -760,7 +757,8 @@ static int noinline __init inflate_fixed(void)
     }
 
     /* decompress until an end-of-block code */
-    if (inflate_codes(tl, td, bl, bd)) {
+    if ( inflate_codes(s, tl, td, bl, bd) )
+    {
         free(l);
         return 1;
     }
@@ -777,7 +775,7 @@ static int noinline __init inflate_fixed(void)
  */
 
 /* decompress an inflated type 2 (dynamic Huffman codes) block. */
-static int noinline __init inflate_dynamic(void)
+static int noinline __init inflate_dynamic(struct gzip_state *s)
 {
     int i;                /* temporary variables */
     unsigned j;
@@ -804,17 +802,17 @@ static int noinline __init inflate_dynamic(void)
         return 1;
 
     /* make local bit buffer */
-    b = bb;
-    k = bk;
+    b = s->bb;
+    k = s->bk;
 
     /* read in table lengths */
-    NEEDBITS(5);
+    NEEDBITS(s, 5);
     nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
     DUMPBITS(5);
-    NEEDBITS(5);
+    NEEDBITS(s, 5);
     nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
     DUMPBITS(5);
-    NEEDBITS(4);
+    NEEDBITS(s, 4);
     nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
     DUMPBITS(4);
     if (nl > 286 || nd > 30)
@@ -828,7 +826,7 @@ static int noinline __init inflate_dynamic(void)
     /* read in bit-length-code lengths */
     for (j = 0; j < nb; j++)
     {
-        NEEDBITS(3);
+        NEEDBITS(s, 3);
         ll[border[j]] = (unsigned)b & 7;
         DUMPBITS(3);
     }
@@ -855,7 +853,7 @@ static int noinline __init inflate_dynamic(void)
     i = l = 0;
     while ((unsigned)i < n)
     {
-        NEEDBITS((unsigned)bl);
+        NEEDBITS(s, (unsigned)bl);
         j = (td = tl + ((unsigned)b & m))->b;
         DUMPBITS(j);
         j = td->v.n;
@@ -863,7 +861,7 @@ static int noinline __init inflate_dynamic(void)
             ll[i++] = l = j;          /* save last length in l */
         else if (j == 16)           /* repeat last length 3 to 6 times */
         {
-            NEEDBITS(2);
+            NEEDBITS(s, 2);
             j = 3 + ((unsigned)b & 3);
             DUMPBITS(2);
             if ((unsigned)i + j > n) {
@@ -875,7 +873,7 @@ static int noinline __init inflate_dynamic(void)
         }
         else if (j == 17)           /* 3 to 10 zero length codes */
         {
-            NEEDBITS(3);
+            NEEDBITS(s, 3);
             j = 3 + ((unsigned)b & 7);
             DUMPBITS(3);
             if ((unsigned)i + j > n) {
@@ -888,7 +886,7 @@ static int noinline __init inflate_dynamic(void)
         }
         else                        /* j == 18: 11 to 138 zero length codes */
         {
-            NEEDBITS(7);
+            NEEDBITS(s, 7);
             j = 11 + ((unsigned)b & 0x7f);
             DUMPBITS(7);
             if ((unsigned)i + j > n) {
@@ -909,8 +907,8 @@ static int noinline __init inflate_dynamic(void)
     DEBG("dyn5 ");
 
     /* restore the global bit buffer */
-    bb = b;
-    bk = k;
+    s->bb = b;
+    s->bk = k;
 
     DEBG("dyn5a ");
 
@@ -943,7 +941,8 @@ static int noinline __init inflate_dynamic(void)
     DEBG("dyn6 ");
 
       /* decompress until an end-of-block code */
-    if (inflate_codes(tl, td, bl, bd)) {
+    if ( inflate_codes(s, tl, td, bl, bd) )
+    {
         ret = 1;
         goto out;
     }
@@ -968,9 +967,10 @@ static int noinline __init inflate_dynamic(void)
 /*
  * decompress an inflated block
  *
+ * @param s Gzip decompression state
  * @param e Last block flag
  */
-static int __init inflate_block(int *e)
+static int __init inflate_block(struct gzip_state *s, int *e)
 {
     unsigned t;           /* block type */
     register ulg b;       /* bit buffer */
@@ -979,30 +979,30 @@ static int __init inflate_block(int *e)
     DEBG("<blk");
 
     /* make local bit buffer */
-    b = bb;
-    k = bk;
+    b = s->bb;
+    k = s->bk;
 
     /* read in last block bit */
-    NEEDBITS(1);
+    NEEDBITS(s, 1);
     *e = (int)b & 1;
     DUMPBITS(1);
 
     /* read in block type */
-    NEEDBITS(2);
+    NEEDBITS(s, 2);
     t = (unsigned)b & 3;
     DUMPBITS(2);
 
     /* restore the global bit buffer */
-    bb = b;
-    bk = k;
+    s->bb = b;
+    s->bk = k;
 
     /* inflate that block type */
     if (t == 2)
-        return inflate_dynamic();
+        return inflate_dynamic(s);
     if (t == 0)
-        return inflate_stored();
+        return inflate_stored(s);
     if (t == 1)
-        return inflate_fixed();
+        return inflate_fixed(s);
 
     DEBG(">");
 
@@ -1014,7 +1014,7 @@ static int __init inflate_block(int *e)
 }
 
 /* decompress an inflated entry */
-static int __init inflate(void)
+static int __init inflate(struct gzip_state *s)
 {
     int e;                /* last block flag */
     int r;                /* result code */
@@ -1022,8 +1022,8 @@ static int __init inflate(void)
 
     /* initialize window, bit buffer */
     wp = 0;
-    bk = 0;
-    bb = 0;
+    s->bk = 0;
+    s->bb = 0;
 
     /* decompress until the last block */
     h = 0;
@@ -1032,7 +1032,7 @@ static int __init inflate(void)
 #ifdef ARCH_HAS_DECOMP_WDOG
         arch_decomp_wdog();
 #endif
-        r = inflate_block(&e);
+        r = inflate_block(s, &e);
         if (r)
             return r;
         if (hufts > h)
@@ -1042,13 +1042,13 @@ static int __init inflate(void)
     /* Undo too much lookahead. The next read will be byte aligned so we
      * can discard unused bits in the last meaningful byte.
      */
-    while (bk >= 8) {
-        bk -= 8;
-        inptr--;
+    while (s->bk >= 8) {
+        s->bk -= 8;
+        s->inptr--;
     }
 
     /* flush out slide */
-    flush_output(wp);
+    flush_output(s, wp);
 
     /* return success */
 #ifdef DEBUG
@@ -1119,7 +1119,7 @@ static void __init makecrc(void)
 /*
  * Do the uncompression!
  */
-static int __init gunzip(void)
+static int __init gunzip(struct gzip_state *s)
 {
     uch flags;
     unsigned char magic[2]; /* magic header */
@@ -1128,9 +1128,9 @@ static int __init gunzip(void)
     ulg orig_len = 0;       /* original uncompressed length */
     int res;
 
-    magic[0] = NEXTBYTE();
-    magic[1] = NEXTBYTE();
-    method   = NEXTBYTE();
+    magic[0] = NEXTBYTE(s);
+    magic[1] = NEXTBYTE(s);
+    method   = NEXTBYTE(s);
 
     if (magic[0] != 037 ||                            /* octal-ok */
         ((magic[1] != 0213) && (magic[1] != 0236))) { /* octal-ok */
@@ -1157,18 +1157,18 @@ static int __init gunzip(void)
         error("Input has invalid flags");
         return -1;
     }
-    NEXTBYTE(); /* Get timestamp */
-    NEXTBYTE();
-    NEXTBYTE();
-    NEXTBYTE();
+    NEXTBYTE(s); /* Get timestamp */
+    NEXTBYTE(s);
+    NEXTBYTE(s);
+    NEXTBYTE(s);
 
-    (void)NEXTBYTE();  /* Ignore extra flags for the moment */
-    (void)NEXTBYTE();  /* Ignore OS type for the moment */
+    (void)NEXTBYTE(s);  /* Ignore extra flags for the moment */
+    (void)NEXTBYTE(s);  /* Ignore OS type for the moment */
 
     if ((flags & EXTRA_FIELD) != 0) {
-        unsigned len = (unsigned)NEXTBYTE();
-        len |= ((unsigned)NEXTBYTE())<<8;
-        while (len--) (void)NEXTBYTE();
+        unsigned len = (unsigned)NEXTBYTE(s);
+        len |= ((unsigned)NEXTBYTE(s))<<8;
+        while (len--) (void)NEXTBYTE(s);
     }
 
     /* Get original file name if it was truncated */
@@ -1179,11 +1179,11 @@ static int __init gunzip(void)
 
     /* Discard file comment if any */
     if ((flags & COMMENT) != 0) {
-        while (NEXTBYTE() != 0) /* null */ ;
+        while (NEXTBYTE(s) != 0) /* null */ ;
     }
 
     /* Decompress */
-    if ((res = inflate())) {
+    if ((res = inflate(s))) {
         switch (res) {
         case 0:
             break;
@@ -1224,13 +1224,13 @@ static int __init gunzip(void)
         error("crc error");
         return -1;
     }
-    if (orig_len != bytes_out) {
+    if (orig_len != s->bytes_out) {
         error("length error");
         return -1;
     }
     return 0;
 
- underrun:   /* NEXTBYTE() goto's here if needed */
+ underrun:   /* NEXTBYTE(s) goto's here if needed */
     error("out of input data");
     return -1;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:38:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:38:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707568.1105625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Qz-0007J9-T9; Wed, 17 Apr 2024 14:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707568.1105625; Wed, 17 Apr 2024 14:38:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Qz-0007J0-QD; Wed, 17 Apr 2024 14:38:49 +0000
Received: by outflank-mailman (input) for mailman id 707568;
 Wed, 17 Apr 2024 14:38:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VNGY=LW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rx6Qz-0004w5-B3
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:38:49 +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 32069a61-fcc8-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 16:38:47 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 171336465166816.801478738201467;
 Wed, 17 Apr 2024 07:37: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: 32069a61-fcc8-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713364654; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ZkJTpCvrIrDome+ZXwYhHJxzyxg4zmtQfizy6nVNb5CE5JBMOxaqxFSMA0/9B/wjb8LueWBHUeU1eH+nZpsmgw/sh2AySYiYBNPptWbNL1zdaTQOyOWlYjmyGFOZCgdN6+j1Ug2XQ8R/mj39dgea8h6mdXpwXm45LB/EDy8/rqo=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713364654; h=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=N0arzaXrMPl4r4kp3iif6Kha+dns7W1SUMyWcnC9JNw=; 
	b=SulzFp//5+LuqZtaRWFRoM0yQPvpP6iPA7/Pyx64CtpD/wMYI9up0B/dCV7MixlTJBpdzuaLbHaoR3Fmn7R1s4X3MUTwjlrivzTgPH9iRfbX8NFadmZSHRFdErh2pCbwIOAJXMof5RopVF+TJbJmEwOQ4pE08CT7GD0aoxm63aU=
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=1713364654;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=N0arzaXrMPl4r4kp3iif6Kha+dns7W1SUMyWcnC9JNw=;
	b=Jb7WFUtYeoL47Pe+5ZP4zkLXgvKFjIk855CqadzrYCVW2oFWppnlMJN0/MHigrQ7
	xUPybszTZhmatNFfvsuUc3w8voFB7r1b6V1mGjhdu3czqfBcEERvqoQk0/dLfApoJGF
	kg/nw0i5OTpsXMkh6p/arqj16jEQ+94BAt8XMDnw=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 5/6] gzip: move crc state into consilidated gzip state
Date: Wed, 17 Apr 2024 10:37:15 -0400
Message-Id: <20240417143716.27189-6-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240417143716.27189-1-dpsmith@apertussolutions.com>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 11 +++++++----
 xen/common/gzip/inflate.c | 12 +++++-------
 2 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 8178a05a0190..bef324d3d166 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -22,6 +22,9 @@ struct gzip_state {
 
     unsigned long bb;      /* bit buffer */
     unsigned bk;           /* bits in bit buffer */
+
+    uint32_t crc_32_tab[256];
+    uint32_t crc;
 };
 
 #define OF(args)        args
@@ -74,7 +77,7 @@ static __init void flush_window(struct gzip_state *s)
      * The window is equal to the output buffer therefore only need to
      * compute the crc.
      */
-    unsigned long c = crc;
+    unsigned long c = s->crc;
     unsigned int n;
     unsigned char *in, ch;
 
@@ -82,9 +85,9 @@ static __init void flush_window(struct gzip_state *s)
     for ( n = 0; n < s->outcnt; n++ )
     {
         ch = *in++;
-        c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
+        c = s->crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
     }
-    crc = c;
+    s->crc = c;
 
     s->bytes_out += (unsigned long)s->outcnt;
     s->outcnt = 0;
@@ -121,7 +124,7 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
     s->inptr = 0;
     s->bytes_out = 0;
 
-    makecrc();
+    makecrc(s);
 
     if ( gunzip(s) < 0 )
     {
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 5735bbcf7eb4..c18ce20210b0 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1063,16 +1063,14 @@ static int __init inflate(struct gzip_state *s)
  *
  **********************************************************************/
 
-static ulg __initdata crc_32_tab[256];
-static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss */
-#define CRC_VALUE (crc ^ 0xffffffffUL)
+#define CRC_VALUE (s->crc ^ 0xffffffffUL)
 
 /*
  * Code to compute the CRC-32 table. Borrowed from
  * gzip-1.0.3/makecrc.c.
  */
 
-static void __init makecrc(void)
+static void __init makecrc(struct gzip_state *s)
 {
 /* Not copyrighted 1990 Mark Adler */
 
@@ -1089,7 +1087,7 @@ static void __init makecrc(void)
     for (i = 0; i < sizeof(p)/sizeof(int); i++)
         e |= 1L << (31 - p[i]);
 
-    crc_32_tab[0] = 0;
+    s->crc_32_tab[0] = 0;
 
     for (i = 1; i < 256; i++)
     {
@@ -1100,11 +1098,11 @@ static void __init makecrc(void)
             if (k & 1)
                 c ^= e;
         }
-        crc_32_tab[i] = c;
+        s->crc_32_tab[i] = c;
     }
 
     /* this is initialized here so this code could reside in ROM */
-    crc = (ulg)0xffffffffUL; /* shift register contents */
+    s->crc = (ulg)0xffffffffUL; /* shift register contents */
 }
 
 /* gzip flag byte */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:39:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:39:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707570.1105635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6RD-0007ob-7j; Wed, 17 Apr 2024 14:39:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707570.1105635; Wed, 17 Apr 2024 14:39:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6RD-0007oQ-4k; Wed, 17 Apr 2024 14:39:03 +0000
Received: by outflank-mailman (input) for mailman id 707570;
 Wed, 17 Apr 2024 14:39: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=VNGY=LW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rx6RC-0004w5-8J
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:39:02 +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 39d23e12-fcc8-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 16:39:00 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713364653140328.45670023206253;
 Wed, 17 Apr 2024 07:37: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: 39d23e12-fcc8-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713364655; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=GQUI1Xad/9W+P86/QcwV2bVy5l9v8UjrYvnPNS6etEkyZOILzBph9gqpzUQcCrG6GN8lR10G35FA3tOetf7IZfdLrV44ZqrkJz8ckUz0nMZaDL5xvQ56/oW8DTsqt/Lkka9a3AtvGN+iGA2xGZWi+ogNuDtV7wdeFIEMxwHBnSA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713364655; h=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=zy3QMlmFlvRnd4VIdLPcMDUc+UIQW7lW3Z2AoT0uE1Y=; 
	b=R6p8+5CjDPaXgWndfHry9vJ53WpopLeRCvmsmRkG+r+Ob8pyRaIJa87G6mC3l6plTcOcKkaKouBuPMDz+T0n1OU2jbUz/EoCg9zkAMlRvvjqFXsuOqt60Mg472kcVITxPc2K3CzMVG04w9MPErH07emw+vU7hySrbd7VeQQvQXY=
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=1713364655;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=zy3QMlmFlvRnd4VIdLPcMDUc+UIQW7lW3Z2AoT0uE1Y=;
	b=Jh7txosGZD300ljMpQFAQ1HSXcJrvLC5+R3STBpwdDyIK05WaqCg8BGOn7reiIPZ
	ogslMgd3S5j0OwFDcL8VUXp68H1tcC28bVmJ0P80I+jf3OPP58C1hWF/qYYq5t/4IMi
	K5xMyzuon8pbGeX/ypIHXEDqvn0J0NyDCmrYIV8o=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 6/6] gzip: drop huffman code table tracking
Date: Wed, 17 Apr 2024 10:37:16 -0400
Message-Id: <20240417143716.27189-7-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240417143716.27189-1-dpsmith@apertussolutions.com>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

The "tracking" bits does not appear to be used, so dropping from the code.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/inflate.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index c18ce20210b0..15bc187c2bbe 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -264,8 +264,6 @@ static const int dbits = 6;          /* bits in base distance lookup table */
 #define BMAX 16         /* maximum bit length of any code (16 for explode) */
 #define N_MAX 288       /* maximum number of codes in any set */
 
-static unsigned __initdata hufts;      /* track memory usage */
-
 /*
  * Given a list of code lengths and a maximum table size, make a set of
  * tables to decode that set of codes.  Return zero on success, one if
@@ -445,7 +443,6 @@ static int __init huft_build(
                     goto out;
                 }
                 DEBG1("4 ");
-                hufts += z + 1;         /* track memory usage */
                 *t = q + 1;             /* link to list for huft_free() */
                 *(t = &(q->v.t)) = (struct huft *)NULL;
                 u[h] = ++q;             /* table starts after link */
@@ -1028,15 +1025,12 @@ static int __init inflate(struct gzip_state *s)
     /* decompress until the last block */
     h = 0;
     do {
-        hufts = 0;
 #ifdef ARCH_HAS_DECOMP_WDOG
         arch_decomp_wdog();
 #endif
         r = inflate_block(s, &e);
         if (r)
             return r;
-        if (hufts > h)
-            h = hufts;
     } while (!e);
 
     /* Undo too much lookahead. The next read will be byte aligned so we
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:46:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707597.1105645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Yl-0002fi-04; Wed, 17 Apr 2024 14:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707597.1105645; Wed, 17 Apr 2024 14:46:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6Yk-0002fb-Tf; Wed, 17 Apr 2024 14:46:50 +0000
Received: by outflank-mailman (input) for mailman id 707597;
 Wed, 17 Apr 2024 14: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=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx6Yj-0002fI-6k
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:46:49 +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 51a0c87a-fcc9-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 16:46:48 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-343e46ec237so4518549f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 07:46: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
 b10-20020a056000054a00b00341b7d5054bsm17850447wrf.72.2024.04.17.07.46.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 07:46:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51a0c87a-fcc9-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713365208; x=1713970008; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6f+wnBbHvXT2TBkylxXSNwMB9miy6uzllFdO+L5EaJE=;
        b=fN3ZZ6SuucXadvHkxHzI0UzPTSu9igK8gR89HxcoWLSiDT70meRtoWVByzi5nss9lR
         uhaMwqmwz84GsRaikIMTLzjCpAtvLUZkAtc01Zvf0lxcznFe/ClNlIwHAs3AkTbn6HEc
         g7srZH2cU++ZbHBvLKQ/q/GGLnkW822OMsd3CRW6m4MPbkU1cBow0jcD6Idhy5iTs4zx
         4Sw7DipOvW/oxvrrSCJaztiipA0lTRTPhPCsi2ZBb/zZwa0wv3Rfv/srpWVfq+QuuaNP
         1/B+mAiSIQjEdtNW8IUxBvOy+cY5GItUCLy6I4IDr+ztdczHGZHzk+QFI01NYN2zfnLO
         bMmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713365208; x=1713970008;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6f+wnBbHvXT2TBkylxXSNwMB9miy6uzllFdO+L5EaJE=;
        b=l6+EXENeXvyHdV5mdGTj1dZEZuo/cmDeBJB3cuyBndWsbcw2ggZ0Q4EsCsg640cQHA
         S8VIwq4A0b9MsbOdswGcP4GZa7KNyd8AwDarBZgaHkSXqIKrlW7mqE4zLjoj7U9m09j1
         sdPh+42aDfeR5To0HmKMl7y9OxlGyLVBZ6IOnEct57MUsMo0yqpl25DlA043x21YLc8M
         H/3TC/F/W14B7k7t/Dgn3/duVg6pJRuUVhjbgZub8NrjfusbB1XCwwvX4dM0w4lxGtBL
         axXNzC7qUL6dtReMrXg7APUd3LinAhHRr4n5jfsMtZsILH9sILow65Cpwr598r6yatKi
         /U1w==
X-Forwarded-Encrypted: i=1; AJvYcCVliLZbGTInGq5yuFjOa1OQj8XWvllQbY+21B4AY0OoYemc/yqADoMXmvlngh5aRorz+07ZqF+5UoMNE+p6UentP3RrW6FOJD0PmoP3aAI=
X-Gm-Message-State: AOJu0YwwjXnk4VDbqEbPLufi4GPX94hUJ9IR2QAvPE66thgxvrZiURIm
	vPmnmoiFSQ01o7ox2WFdiDsWDFA52E+/Vy1n+q5cr2CI7LRDOab9GVfBmkMzfw==
X-Google-Smtp-Source: AGHT+IFH8VV2y4gFkYcf5oqKNebnmk95So00zw9WrAV5gkWKpdsbr7cmGO1rYPp9Rq4iN8Hfe9nVTw==
X-Received: by 2002:a05:6000:c44:b0:33e:363b:a7dd with SMTP id do4-20020a0560000c4400b0033e363ba7ddmr12502547wrb.20.1713365207894;
        Wed, 17 Apr 2024 07:46:47 -0700 (PDT)
Message-ID: <9f00278c-b205-4afd-950f-857b75004c3e@suse.com>
Date: Wed, 17 Apr 2024 16:46:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 00/15] x86: make cpu virtualization support
 configurable
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>, xen-devel@lists.xenproject.org
References: <20240416061845.3467822-1-Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416061845.3467822-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 08:18, Sergiy Kibrik wrote:
> This series aims to continue what Xenia started a year ago:
> 
> https://lore.kernel.org/xen-devel/20230213145751.1047236-1-burzalodowa@gmail.com/
> 
> Here's an attempt to provide a means to render the cpu virtualization
> technology support in Xen configurable.
> Currently, irrespectively of the target platform, both AMD-V and Intel VT-x
> drivers are built.
> The series adds two new Kconfig controls, SVM and VMX, that can be
> used to switch to a finer-grained configuration for a given platform, and
> reduce dead code.
> 
> The code separation is done using the new config guards.
> 
> Since the initial RFC series felt rather welcomed, I took a courage naming
> it v1 and continuing from there. New changes are:
> 
> v1:
>  * changed Kconfig options naming
>  * use IS_ENABLED() instead of #ifdef where possible
>  * move altp2m code apart from p2m & hide under VMX option
>  * introduce helper in cpu_has_vmx_* macros
>  * and address other comments from Jan
> 
> Sergiy Kibrik (6):
>   x86/monitor: guard altp2m usage
>   x86/p2m: guard altp2m init/teardown
>   x86/p2m: move altp2m-related code to separate file
>   x86/p2m: guard altp2m code with CONFIG_VMX option
>   x86/vpmu: separate amd/intel vPMU code
>   x86/vmx: introduce helper function for vmcs macro
> 
> Xenia Ragiadakou (9):
>   x86: introduce AMD-V and Intel VT-x Kconfig options
>   x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers
>   x86/p2m: guard vmx specific ept functions with CONFIG_VMX
>   x86/traps: guard vmx specific functions with CONFIG_VMX
>   x86/domain: guard svm specific functions with CONFIG_SVM
>   x86/oprofile: guard svm specific symbols with CONFIG_SVM
>   x86: wire cpu_has_{svm/vmx}_* to false when svm/vmx not enabled
>   x86/ioreq: guard VIO_realmode_completion with CONFIG_VMX
>   x86/hvm: make AMD-V and Intel VT-x support configurable

Going forward, can you please make sure you send patch series as threads
(i.e. individual patches with Reply-to: referencing the cover letter)?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:51:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:51:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707602.1105655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6dB-00048y-I7; Wed, 17 Apr 2024 14:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707602.1105655; Wed, 17 Apr 2024 14: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 1rx6dB-00048r-FO; Wed, 17 Apr 2024 14:51:25 +0000
Received: by outflank-mailman (input) for mailman id 707602;
 Wed, 17 Apr 2024 14:51: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=TCN8=LW=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rx6d9-00048l-IC
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:51:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4417f8b-fcc9-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 16:51:21 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.202])
 by support.bugseng.com (Postfix) with ESMTPSA id 8B7384EE073C;
 Wed, 17 Apr 2024 16:51:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4417f8b-fcc9-11ee-94a3-07e782e9044d
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH] automation/eclair_analysis: substitute deprecated service
Date: Wed, 17 Apr 2024 16:51:16 +0200
Message-Id: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The service STD.emptrecd is in the process of being removed in favour
of STD.anonstct.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl b/automation/eclair_analysis/ECLAIR/toolchain.ecl
index 71a1e2cce029..86e9a79b5231 100644
--- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
+++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
@@ -44,8 +44,8 @@
 -doc_end
 
 -doc_begin="See Section \"6.19 Structures with No Members\" of "GCC_MANUAL"."
--config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
--config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
 -doc_end
 
 -doc_begin="See Section \"6.18 Arrays of Length Zero\" of "GCC_MANUAL"."
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 14:57:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 14:57:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707606.1105666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6iq-0005TH-6O; Wed, 17 Apr 2024 14:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707606.1105666; Wed, 17 Apr 2024 14:57:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6iq-0005TA-2R; Wed, 17 Apr 2024 14:57:16 +0000
Received: by outflank-mailman (input) for mailman id 707606;
 Wed, 17 Apr 2024 14:57:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rx6io-0005T4-FP
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 14:57:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx6in-0007mZ-I8; Wed, 17 Apr 2024 14:57:13 +0000
Received: from [15.248.3.90] (helo=[10.24.67.26])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx6in-0006OR-8o; Wed, 17 Apr 2024 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=P+N+rluEAubX72ib7A8BpHvXyOuj0SLReidxTXxCvYk=; b=DIJqoXWRzjgCxaxM75IKGtBzYd
	VvL4Mh1uhBpaSfOKJ0XycfZfjJ83RpWFHA5TxfYMALgFpENA2dfmqia1O05/UkmdDeazm94ORCm3l
	sTR/w5EhTVFqjOxPiSibHlR08ZSrM7tJlCwPY/XV57io2QZCfY/g7NVP1Ae1mIubGHmM=;
Message-ID: <64c40ce6-3305-4fa0-82cb-5ae3431b0ce6@xen.org>
Date: Wed, 17 Apr 2024 15:57:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair_analysis: substitute deprecated
 service
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>
References: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 17/04/2024 15:51, Nicola Vetrini wrote:
> The service STD.emptrecd is in the process of being removed in favour
> of STD.anonstct.

I am guessing this is not a new feature and the current ECLAIR version 
is supporting it?

Cheers,

> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>   automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl b/automation/eclair_analysis/ECLAIR/toolchain.ecl
> index 71a1e2cce029..86e9a79b5231 100644
> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
> @@ -44,8 +44,8 @@
>   -doc_end
>   
>   -doc_begin="See Section \"6.19 Structures with No Members\" of "GCC_MANUAL"."
> --config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
> --config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
> +-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
> +-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
>   -doc_end
>   
>   -doc_begin="See Section \"6.18 Arrays of Length Zero\" of "GCC_MANUAL"."

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 15:01:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 15:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707610.1105674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6mu-0007Tj-N6; Wed, 17 Apr 2024 15:01:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707610.1105674; Wed, 17 Apr 2024 15:01:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6mu-0007Tc-KM; Wed, 17 Apr 2024 15:01:28 +0000
Received: by outflank-mailman (input) for mailman id 707610;
 Wed, 17 Apr 2024 15:01: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 1rx6mt-0007TW-WA
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 15:01:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx6mt-0007tg-Pb; Wed, 17 Apr 2024 15:01:27 +0000
Received: from [15.248.3.90] (helo=[10.24.67.26])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx6mt-0006jv-Cv; Wed, 17 Apr 2024 15:01: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=Mz2BNOBbuoQMNw57CkNsIiWe2ZdYOkC9MWy5EmWJf8M=; b=Qe50fbdK7LDXZB87eJ18iHjl8G
	/+y8Z+kPt+oKk3513nkxyC9yAUE/fKdkG8R89YaIYGRojuDkngsY9umQO79ciN2AqZpfvHBgUAohQ
	Z4TQ+QOf+5JpziWspnsNU1M/ceKSMm+2L3I1FsINNnemOOdGw2tyVLppdAlAXlXr3SLE=;
Message-ID: <b76bc307-6cf6-443f-80de-d27852ede25f@xen.org>
Date: Wed, 17 Apr 2024 16:01:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 16/04/2024 20:27, Stefano Stabellini wrote:
> Also add two specific project-wide deviations for R21.6 and R21.15.

In general, I am fine with add the two rules. However...

> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index 32b02905d1..9123c8edb5 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
>          of the Rule due to uses of this macro.
>        - Tagged as `deliberate` for ECLAIR.
>   
> +   * - R21.6
> +     - The use of snprintf() and vsnprintf() is justifiable as, despite
> +       the fact that such functions have the same names of the
> +       corresponding standard library functions, each configuration of
> +       Xen has a unique implementation for them; the code implementing
> +       such functions is subject to the analysis, so that any undefined
> +       or unspecified behavior associated to them falls under the
> +       responsibility of other MISRA guidelines
> +     - Tagged as `safe` for ECLAIR.

... this implies that ECLAIR should be modified. But this is not 
happening in this patch. Looking at history, we tend to keep 
deviations.rst in sync with ECLAIR, so I think it should be updated here 
too.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 15:01:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 15:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707611.1105685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6n3-0007kO-Vw; Wed, 17 Apr 2024 15:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707611.1105685; Wed, 17 Apr 2024 15: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 1rx6n3-0007kF-SM; Wed, 17 Apr 2024 15:01:37 +0000
Received: by outflank-mailman (input) for mailman id 707611;
 Wed, 17 Apr 2024 15:01:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx6n2-0007jf-Qs
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 15:01:36 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 626c99ac-fccb-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 17:01:35 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-418d33ee188so1407985e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 08:01: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
 w17-20020a05600c475100b004162d06768bsm3134764wmo.21.2024.04.17.08.01.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 08:01: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: 626c99ac-fccb-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713366095; x=1713970895; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=18VnjRHg6xzXTEaGMRRz5zXGGMbbBVhjQ56u5nS7t4U=;
        b=J08FYYQq4HubwhwrsbeC/2Z2hgqK/rQyS1aA/d3pTWn2zqq1N49T/PmIRVpWxinE0I
         z5+6sLIrZFSwL2dsWhLhlUAeIwx8vNqQcyJT9KaR0Tvc506TsrO2ZecuFyRDWztBc9rk
         +u8Up6CAi6xq8bmGMJycxg5NzNcLiqb7i8tfhBTAaxLsBmVasHAENOIWDKQ2oFZPBN/B
         xUWseBf6MdefWEfOfJs3201/+W9hRzSGDXGFkTQ95Mn3mel1Vsfjt/jlLzlFWJC3e0rs
         120I/HPKCRTMlOZ27MRRcf4/bKYd0C7VeuKbbUPdjyW9GewYFD806wqBdnipB8bMnOXc
         zqSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713366095; x=1713970895;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=18VnjRHg6xzXTEaGMRRz5zXGGMbbBVhjQ56u5nS7t4U=;
        b=D+eBu4vcVLOG5LkUaczgWyD6TuhybJlMkLJ1NUugo5aQgLbUGnTYYgruuhER4/Nndm
         TMXv+aAr4TV67fOvwaQkY0VhYwqts2IKm+zHKgYrlsmCVXbzzjlLMW3lpIJDc+n8qsKf
         8rhS7KrSuXz0gURSY3IqIjYGx45tCxglvCBp7pyOwd9QmtgT6+Vjom9SBI4CfLwqWZex
         BbUbjN5UEY7V7DLbp/XvN/S0EmfdN6bWheCHchh1v8Gms1A1hgOI1loJ0USMD6BZNbNk
         BdpOTHTb7Fj+SsZBjDCydRpuRyEYAyaQGtqpf7ZdiuzG/hqZGu6RwCmJFt3jTt8Czh6P
         xiQQ==
X-Gm-Message-State: AOJu0YweVSmCoAF362/4zDLyACGUOIqFbzu3zKtfHxLU6U7VXTbMbEse
	YTLZgkxxm+XOG/IkRa8wiO081hk6/BUSKZzX/wIK91T8c7q4HXJshFInHXDANg==
X-Google-Smtp-Source: AGHT+IFOYYj+voWAI6C8+j9Io9/nRYolY3IoCpfEjLke2Cp79qclFeNJepLt3Th6EiHCnC3YdPF2uA==
X-Received: by 2002:a05:600c:1c13:b0:418:8428:2472 with SMTP id j19-20020a05600c1c1300b0041884282472mr6082678wms.26.1713366094852;
        Wed, 17 Apr 2024 08:01:34 -0700 (PDT)
Message-ID: <0c3a38fe-9608-4ac7-8526-0a0beb545b09@suse.com>
Date: Wed, 17 Apr 2024 17:01:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH V1] x86/ucode: optional amd/intel ucode build & load
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Sergiy Kibrik <sergiy_kibrik@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240405103027.2704728-1-Sergiy_Kibrik@epam.com>
 <33eb77af-2196-40d9-9cdb-a4acf95f221c@citrix.com>
 <ae38f758-7894-4098-85dc-04cbf3523393@epam.com>
 <alpine.DEB.2.22.394.2404091443140.2245130@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404091443140.2245130@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.04.2024 23:49, Stefano Stabellini wrote:
> On Tue, 9 Apr 2024, Sergiy Kibrik wrote:
>> 05.04.24 13:57, Andrew Cooper:
>>> On 05/04/2024 11:30 am, Sergiy Kibrik wrote:
>>>> Introduce configuration variables to make it possible to selectively turn
>>>> on/off CPU microcode management code in the build for AMD and Intel CPUs.
>>>>
>>>> This is to allow build configuration for a specific CPU, not compile and
>>>> load what will not be used anyway.
>>>>
>>>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>>
>>> Hmm... Stefano didn't check up with me first.
>>>
>>> _https://lore.kernel.org/xen-devel/20231027191926.3283871-1-andrew.cooper3@citrix.com/
>>>
>>> I've already got a series out for this, although its blocked on naming
>>> and IMO, particularly unhelpful replies.  I've not had time to apply the
>>> community-resolution vote on naming issues.  (Also, you should be CC-ing
>>> Roger on x86 patches).

I can't remain silent here. Roger has now changed his mind, so formally
things are correct. Yet judging from the earlier example where Roger
was agreeing with you, shouldn't it have been this time the other way
around: A majority was of different opinion than you, and you should
have accepted that? Instead you've waited for a time when I was away,
got Stefano to agree and Roger to change his mind, and once again you
got what you want. It feels increasingly like not everyone among the
REST maintainers and not everyone among the x86 ones are equal.

Jan

>> + Stefano & Roger
>>
>> should we revisit this series then?
> 
> Yes, I replied. I think there are three naming options:
> 
> Option-1)
> CONFIG_{AMD,INTEL}
> nothing else
> 
> Option-2)
> CONFIG_{AMD,INTEL}_IOMMU
> CONFIG_{AMD,INTEL} selects CONFIG_{AMD,INTEL}_IOMMU
> 
> Option-3)
> CONFIG_{AMD,INTEL}_IOMMU
> CONFIG_{AMD,INTEL}_CPU
> CONFIG_{AMD,INTEL} selects both CPU and IOMMU options
> 
> 
> My preference is Option-1 (best), Option-3, Option-2 (worse)
> 
> I am fine with anything but please let move this forward.



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 15:05:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 15:05:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707621.1105694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6qo-0000Pu-Gz; Wed, 17 Apr 2024 15:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707621.1105694; Wed, 17 Apr 2024 15:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6qo-0000Pn-EJ; Wed, 17 Apr 2024 15:05:30 +0000
Received: by outflank-mailman (input) for mailman id 707621;
 Wed, 17 Apr 2024 15:05:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TCN8=LW=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rx6qm-0000Ph-VG
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 15:05:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec1cadf7-fccb-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 17:05:26 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 261A54EE073C;
 Wed, 17 Apr 2024 17:05:26 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec1cadf7-fccb-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Wed, 17 Apr 2024 17:05:26 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, bertrand.marquis@arm.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH] automation/eclair_analysis: substitute deprecated
 service
In-Reply-To: <64c40ce6-3305-4fa0-82cb-5ae3431b0ce6@xen.org>
References: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
 <64c40ce6-3305-4fa0-82cb-5ae3431b0ce6@xen.org>
Message-ID: <504af9967255fcaec1b870e53dfc2617@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-04-17 16:57, Julien Grall wrote:
> Hi Nicola,
> 
> On 17/04/2024 15:51, Nicola Vetrini wrote:
>> The service STD.emptrecd is in the process of being removed in favour
>> of STD.anonstct.
> 
> I am guessing this is not a new feature and the current ECLAIR version 
> is supporting it?
> 
> Cheers,
> 

Yes, it was just an oversight to leave the old emptrcd there. It will 
eventually be phased out in the next release.

>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>   automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>> 
>> diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl 
>> b/automation/eclair_analysis/ECLAIR/toolchain.ecl
>> index 71a1e2cce029..86e9a79b5231 100644
>> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
>> @@ -44,8 +44,8 @@
>>   -doc_end
>>     -doc_begin="See Section \"6.19 Structures with No Members\" of 
>> "GCC_MANUAL"."
>> --config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
>> --config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
>> +-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
>> +-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
>>   -doc_end
>>     -doc_begin="See Section \"6.18 Arrays of Length Zero\" of 
>> "GCC_MANUAL"."

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 15:05:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 15:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707622.1105705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6r0-0000j2-O0; Wed, 17 Apr 2024 15:05:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707622.1105705; Wed, 17 Apr 2024 15:05:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6r0-0000iv-LN; Wed, 17 Apr 2024 15:05:42 +0000
Received: by outflank-mailman (input) for mailman id 707622;
 Wed, 17 Apr 2024 15:05: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=YbRu=LW=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1rx6qy-0000Ph-Rt
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 15:05:40 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f317863d-fccb-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 17:05:39 +0200 (CEST)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-1e3f17c6491so49011145ad.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 08:05: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: f317863d-fccb-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713366337; x=1713971137; 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=2ehegoM7m+I2AbPpzin6M9mzfX1KLG2nSWHjxBMMBm0=;
        b=pu7PMQprSMQvOJHzMVvFzZQSUSCNHm4W7CRGXPaEAaErg3bleKlOI0myJ6JKzEXFsr
         5jWreJ4oUti2fxf8vsvcplr4njidXwMD1uC1cDG+GaC6xT1zrxNrAOddhvWlWwUl489Q
         EsTvvba3u2SZ3YuNmBhJPWf3rhvzUVRMhxxfE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713366337; x=1713971137;
        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=2ehegoM7m+I2AbPpzin6M9mzfX1KLG2nSWHjxBMMBm0=;
        b=gwc2GLdFU9EVeYHAFOMO7mdzFgA3Lv8Cls0ivxk6uaD+uT0donGv0KHZAYxr1tXfNO
         a9SDcEg7qdOZQU6DyQ0sujmUS9hgjGSdh3CHb9EN6bxWLgksZn+01KDXajTA1qFULn4M
         Jq86ETfM57zQwInK46g7hBsPJsbCq+6HiF6ItTsJgyS/i/V6F/UqOr5MmuMnvoJt2s88
         6NebrcB2QAMr9ykICPyGEpByJSmclYoTTwivvqTN4H8YmjiMTjccVCghElH6VgwQIFSC
         jypjbyHjH6bamnK2cKVp2+zca0Dxo9QZug45K5nuAh0M63wzG96gSw2jxudfxkhrhhL4
         jRwQ==
X-Forwarded-Encrypted: i=1; AJvYcCUM+F3OCLpokHwjTcgisyGgU5RpO3XAfJ9jt6HZmvzzPoib3zAbmhHecn1cOMo3aY9t4QpijceKNEMG9xcygT9WTUb4XQi/YQ+j4q1ZO98=
X-Gm-Message-State: AOJu0YxqBvYlUFnBLLTjW+TJPfyUJK/TTwoI23bqMaG/i0L/yjdHzbdD
	lC4/a/TlGTBuLsIY+n6CgvAxipFIvp2AJIgBXsAtD8BJkQY0CdzaF0+0v7JrBxDOYVxSgMXGCaP
	53hnN2NgNqLhQIk23uR+NXaLQxQoZn0m++Mad
X-Google-Smtp-Source: AGHT+IE4vl2IFTPUztnNeSnUDiE7Dg9mUAW6bPiLBVHocCBUjoglzwjqhH1K2vCnlpCQljieF1hyeVN5uIin5twUZ34=
X-Received: by 2002:a17:902:d512:b0:1e4:3dd0:8ce0 with SMTP id
 b18-20020a170902d51200b001e43dd08ce0mr18603565plg.20.1713366337479; Wed, 17
 Apr 2024 08:05:37 -0700 (PDT)
MIME-Version: 1.0
References: <20240328151106.1451104-1-ross.lagerwall@citrix.com>
 <20240328151106.1451104-2-ross.lagerwall@citrix.com> <c3c2ce12-0699-42b3-bcaf-5bddf0616566@suse.com>
 <CAG7k0EroeA=cRRDWnJqzH8esoaSmtg8-xjTwc-01og5R9JwPzg@mail.gmail.com> <0d84a96a-c1ec-4c4e-9cb5-44a6542e0d43@suse.com>
In-Reply-To: <0d84a96a-c1ec-4c4e-9cb5-44a6542e0d43@suse.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Wed, 17 Apr 2024 16:05:25 +0100
Message-ID: <CAG7k0EpKRVpbfBOSA9tsQsGM9_nLCmrZNYzV6G9u5g46oZWKwQ@mail.gmail.com>
Subject: Re: [PATCH v2 1/2] x86: Add support for building a multiboot2 PE binary
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>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Apr 17, 2024 at 3:15=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 10.04.2024 11:41, Ross Lagerwall wrote:
> > On Mon, Apr 8, 2024 at 11:25=E2=80=AFAM Jan Beulich <jbeulich@suse.com>=
 wrote:
> >> On 28.03.2024 16:11, Ross Lagerwall wrote:
> >>> * The image base address is set to 0 since it must necessarily be bel=
ow
> >>>   4 GiB and the loader will relocate it anyway.
> >>
> >> While technically okay, what is the reason for this adjustment?
> >
> > The multiboot2 spec generally uses 32 bit addresses for everything and
> > says:
> >
> > "The bootloader must not load any part of the kernel, the modules, the
> > Multiboot2 information structure, etc. higher than 4 GiB - 1."
> >
> > An image base address above 4 GiB causes trouble because multiboot2
> > wasn't designed for this.
>
> Yet mb2 doesn't care about that PE header field at all, does it? In which
> case my question remains: What purpose does this particular modification
> of the image have?
>

With the currently published version of mb2, it doesn't look at the PE
header field since it has no knowledge about PE binaries.

With the proposal on the grub-devel list [1], mb2 would use the PE
header to load the new xen-mbi binary in which case, the image base
address is indeed relevant.

Ross

[1] https://lists.gnu.org/archive/html/grub-devel/2024-03/msg00081.html


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 15:12:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 15:12:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707632.1105714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx6xW-0003Qj-Cg; Wed, 17 Apr 2024 15:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707632.1105714; Wed, 17 Apr 2024 15: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 1rx6xW-0003Qc-9z; Wed, 17 Apr 2024 15:12:26 +0000
Received: by outflank-mailman (input) for mailman id 707632;
 Wed, 17 Apr 2024 15: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 1rx6xU-0003QS-7r; Wed, 17 Apr 2024 15: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 1rx6xT-00087f-Ut; Wed, 17 Apr 2024 15:12:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rx6xT-0003lI-GH; Wed, 17 Apr 2024 15:12:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rx6xT-000811-Fu; Wed, 17 Apr 2024 15:12:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Rph3mIYaoOfn9UznxlC8XUt7fao9GRZYj4U3rFtBWOI=; b=wKgL91use+JivuxbPY5QGIOUAe
	EFMLzxhpgQtDXlxtMxw4UsDbBmM64GlYi5ew/j0zy7XIZVKWFMQ41ugLeYnYb+PDdsX39EbfLIlTX
	Hrz7jbWJJDJPQwjGK2xfKuxDD7pO1suuT/PWDo5S2TtlSma3bl7m/ovdyiCgnHUDL1Bo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185705-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185705: regressions - FAIL
X-Osstest-Failures:
    xen-4.18-testing:build-arm64-pvops:kernel-build:fail:regression
    xen-4.18-testing:test-amd64-amd64-xl-raw:guest-start/debian.repeat:fail:heisenbug
    xen-4.18-testing:test-amd64-amd64-qemuu-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-amd64-amd64-libvirt:migrate-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-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-amd64-amd64-libvirt-qcow2:migrate-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=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 15:12:23 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build   fail in 185695 REGR. vs. 185285

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-raw 21 guest-start/debian.repeat fail in 185695 pass in 185705
 test-amd64-amd64-qemuu-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 185695

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185695 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185695 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185695 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185695 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185695 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185695 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185695 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185695 n/a
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 185285
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185285
 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-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-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 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
 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                  2d38302c33b117aa9a417056db241aefc840c2f0
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    8 days
Failing since        185303  2024-04-10 18:41:55 Z    6 days    9 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    5 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 15:51:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 15:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707640.1105724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx7Yh-0004Ti-7a; Wed, 17 Apr 2024 15:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707640.1105724; Wed, 17 Apr 2024 15: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 1rx7Yh-0004Tb-4d; Wed, 17 Apr 2024 15:50:51 +0000
Received: by outflank-mailman (input) for mailman id 707640;
 Wed, 17 Apr 2024 15:50: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 1rx7Yf-0004TV-TB
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 15:50: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 1rx7Ye-0000PG-Qb; Wed, 17 Apr 2024 15:50:48 +0000
Received: from [15.248.3.90] (helo=[10.24.67.26])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx7Ye-0001I1-FC; Wed, 17 Apr 2024 15: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=hzyy1R+5/vqu34H54lXJgu9FSfMf7mcDszgr/gfc7bg=; b=raDIOmzW3bzF+sY+SNJrAX7qG1
	Y57UqlhIwuD6kpDSl/ReV2L2cs99HwRDmkRy8LPhZMBDDCQFkQUMdtQz8z5ZVl16IujbEBxJGLu0f
	VhsxeNuCGSJkPiGv+EzxVzMttj1ZxV77DafXSNwEeVhcCl4NH+gPfzOHN4Ey0dEYxrZA=;
Message-ID: <24d70e87-1846-4988-bdc6-081b9a74f6f5@xen.org>
Date: Wed, 17 Apr 2024 16:50:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair_analysis: substitute deprecated
 service
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, bertrand.marquis@arm.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>
References: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
 <64c40ce6-3305-4fa0-82cb-5ae3431b0ce6@xen.org>
 <504af9967255fcaec1b870e53dfc2617@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <504af9967255fcaec1b870e53dfc2617@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 17/04/2024 16:05, Nicola Vetrini wrote:
> On 2024-04-17 16:57, Julien Grall wrote:
>> Hi Nicola,
>>
>> On 17/04/2024 15:51, Nicola Vetrini wrote:
>>> The service STD.emptrecd is in the process of being removed in favour
>>> of STD.anonstct.
>>
>> I am guessing this is not a new feature and the current ECLAIR version 
>> is supporting it?
>>
>> Cheers,
>>
> 
> Yes, it was just an oversight to leave the old emptrcd there. It will 
> eventually be phased out in the next release.

Thanks for confirming!

I don't have a way to test ECLAIR or any knowledge. But if you need an ack:

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

Cheers,


> 
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>>   automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
>>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl 
>>> b/automation/eclair_analysis/ECLAIR/toolchain.ecl
>>> index 71a1e2cce029..86e9a79b5231 100644
>>> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
>>> @@ -44,8 +44,8 @@
>>>   -doc_end
>>>     -doc_begin="See Section \"6.19 Structures with No Members\" of 
>>> "GCC_MANUAL"."
>>> --config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
>>> --config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
>>> +-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
>>> +-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
>>>   -doc_end
>>>     -doc_begin="See Section \"6.18 Arrays of Length Zero\" of 
>>> "GCC_MANUAL"."
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 16:01:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 16:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707646.1105734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx7ik-0007aV-7f; Wed, 17 Apr 2024 16:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707646.1105734; Wed, 17 Apr 2024 16:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx7ik-0007aO-4t; Wed, 17 Apr 2024 16:01:14 +0000
Received: by outflank-mailman (input) for mailman id 707646;
 Wed, 17 Apr 2024 16:01:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Pjj4=LW=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rx7ii-0007aH-O9
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 16:01:12 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4d931e5-fcd3-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 18:01:09 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2d87660d5c9so58631021fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 09:01:09 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 g14-20020a05600c310e00b0041892c774bcsm3269269wmo.2.2024.04.17.09.01.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 17 Apr 2024 09:01: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: b4d931e5-fcd3-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713369669; x=1713974469; 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=5LEesBevK3Svg+8c4iMkBKuSdAkbQUCOodDiRqQFiCA=;
        b=i/dwziPI+hPXDPvMM/vfPl87VeZEyFq+WUumE0H61Dnp8ZItUCZEctAyl3hxB5ylzo
         cXdF/PcxwLMqW3y/9atD921XylfKTHAkADjSgbGqvnmCNUxTZNpk/3RKlZZmKKPBiKZh
         3fnrDa/sZKHie7o8zJcJ5x5qhokZOkqv62/cI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713369669; x=1713974469;
        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=5LEesBevK3Svg+8c4iMkBKuSdAkbQUCOodDiRqQFiCA=;
        b=Dmqezw/q/P7t4brKAY6h/fnABUj88iljiUMD83xyJCDbSYK/YWJbQw29SuubmgX4uo
         ENKkhjGQK9Gklq5irReqjmBOGS7YP9wDWae1lRa/xf/oLBEjE45N0lqvlwGxX1ZIoPPl
         28UNtUh39gLWm78PM1UlZWPW+Eei+hi9ueG0hoZ71/dsZte2ppxK49c9u/d6o7g0rS2b
         3AhPXEMvJmXvJ6Pwe4pgokNte1T8nWZ/4sIPoBzN0MtFhQ64B/coqtH+3/vp7ygOkZdS
         FWdisZR6Bb4dH/IBv0hk34j0aTdAmbXBZWCMELw6hRhIeuI3f5A0xlHVbskwfBR3KvWx
         3Ofw==
X-Gm-Message-State: AOJu0Yybq4/qxgM8w8UL9OnZNk4olV+Han85922srwguQmf6CHOVKmiz
	MX4EkNkwN82AHTWMOVVgprZNNhVUOMEm3LhmQk8GtZBy9kpSpgUyHe1QbfDUJ0A=
X-Google-Smtp-Source: AGHT+IGzJkFW1Wbe4aJhEmRt6plDOt015knV4s00C4ESKU7RnkLYbM6+fMisEPi9oYJkNmpG45GjXQ==
X-Received: by 2002:a2e:8350:0:b0:2d9:fb60:9afa with SMTP id l16-20020a2e8350000000b002d9fb609afamr12585145ljh.40.1713369669058;
        Wed, 17 Apr 2024 09:01:09 -0700 (PDT)
Date: Wed, 17 Apr 2024 17:01:07 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v2] libxl: Enable stubdom cdrom changing
Message-ID: <b8c488ab-c557-4567-a454-96baac284504@perard>
References: <20240407143633.24108-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240407143633.24108-1-jandryuk@gmail.com>

On Sun, Apr 07, 2024 at 10:36:33AM -0400, Jason Andryuk wrote:
> diff --git a/tools/libs/light/libxl_disk.c b/tools/libs/light/libxl_disk.c
> index fa7856f28c..819d34933b 100644
> --- a/tools/libs/light/libxl_disk.c
> +++ b/tools/libs/light/libxl_disk.c
> @@ -829,21 +829,122 @@ int libxl_device_disk_getinfo(libxl_ctx *ctx, uint32_t domid,
>      return rc;
>  }
>  
> +/*
> + * Search through the query-fdsets JSON looking for a matching devid.
> + *
> + * If found, return the fdset-id integer (>=0).
> + *
> + * If not found, return ERROR_NOTFOUND.
> + *
> + * On error, return libxl ERROR_*.
> + */
> +static int query_fdsets_find_fdset(libxl__gc *gc,
> +                                   const libxl__json_object *response,
> +                                   int devid)
> +{
> +    const libxl__json_object *fdset;
> +    const char *needle = GCSPRINTF("stub-devid:%d", devid);
> +    int i, j, rc;
> +
> +    /* query-fdsets returns:
> +     * [
> +     *   { "fds": [
> +     *       { "fd": 30,
> +     *         "opaque": "stub-devid:2080"
> +     *       }
> +     *     ],
> +     *     "fdset-id": 1
> +     *   }
> +     * ]
> +     */
> +    for (i = 0; (fdset = libxl__json_array_get(response, i)); i++) {
> +        const libxl__json_object *fdset_id;
> +        const libxl__json_object *fds;
> +        const libxl__json_object *fd;
> +
> +        fdset_id = libxl__json_map_get("fdset-id", fdset, JSON_INTEGER);
> +        if (!fdset_id) {
> +            rc = ERROR_QEMU_API;
> +            goto out;
> +        }
> +        LOG(DEBUG, "fdset-id=%lld", libxl__json_object_get_integer(fdset_id));

This feels like we are going to have a log of logging about information
that isn't going to be used by libxl. Also, an fdset-id is also logged
by the caller of this function. (But even there, it might not be
useful).

When debugging, it might be more helpful to run `query-fdset` by hand
than having libxl listing every possible fdset.

> +        fds = libxl__json_map_get("fds", fdset, JSON_ARRAY);
> +        if (!fds) {
> +            rc = ERROR_QEMU_API;
> +            goto out;
> +        }
> +        for (j = 0; (fd = libxl__json_array_get(fds, j)); j++) {
> +            const libxl__json_object *fd_num;
> +            const libxl__json_object *opaque;
> +            const char *opaque_str;
> +
> +            fd_num = libxl__json_map_get("fd", fd, JSON_INTEGER);
> +            if (!fd_num) {
> +                rc = ERROR_QEMU_API;
> +                goto out;
> +            }
> +            opaque = libxl__json_map_get("opaque", fd, JSON_STRING);
> +            if (!opaque) {
> +                continue;
> +            }
> +
> +            opaque_str = libxl__json_object_get_string(opaque);
> +            LOG(DEBUG, "fd=%lld opaque='%s'",
> +                libxl__json_object_get_integer(fd_num), opaque_str);

This logging is also probably too verbose. First, libxl never care about
which fd QEMU is using, second, if the opaque doesn't match, it is
probably not the one we want, and the needed one is just missing.

By the way, there's a big hammer that can pottentiolly be used when
debuging QMP interaction, rebuild libxl with -DDEBUG_QMP_CLIENT, this will
log every QMP command sent and received.

> +            if (strcmp(opaque_str, needle) == 0) {
> +                return libxl__json_object_get_integer(fdset_id);
> +            }
> +        }
> +    }
> +    rc = ERROR_NOTFOUND;
> +
> + out:
> +    return rc;
> +}
> +
>  typedef struct {
>      libxl__ao *ao;
> +    libxl__ao_device aodev;
>      libxl_domid domid;
> +    libxl_domid disk_domid;
>      libxl_device_disk *disk;
>      libxl_device_disk disk_saved;
>      libxl__ev_slowlock qmp_lock;
>      int dm_ver;
>      libxl__ev_time time;
> +    libxl__ev_time timeout_retry;

`timeout_retry` sounds to me that we are adding a timeout for a retry,
but it is used the opposite way, as a timer to wait until we retry. How
about naming this filed "retry_timer" instead?

Ah, I see you've added a similar field named "timeout_retries" in
libxl_pci.c in the past, but I did introduce a "retry_timer" field in
that same file before. So either is fine even if I've got a preference.

>      libxl__ev_qmp qmp;
> +    int retries;
> +    int stubdom_fdset;
>  } libxl__cdrom_insert_state;
>  
>  static void cdrom_insert_lock_acquired(libxl__egc *, libxl__ev_slowlock *,
>                                         int rc);
>  static void cdrom_insert_qmp_connected(libxl__egc *, libxl__ev_qmp *,
>                                         const libxl__json_object *, int rc);
> +static void cdrom_insert_stubdom_query_fdset_rm(libxl__egc *egc,
> +                                                libxl__ev_qmp *qmp,
> +                                                const libxl__json_object *resp,
> +                                                int rc);
> +static void cdrom_insert_stubdom_parse_fdset_rm(libxl__egc *egc,
> +                                                libxl__ev_qmp *qmp,
> +                                                const libxl__json_object *resp,
> +                                                int rc);
> +static void cdrom_insert_stubdom_ejected(libxl__egc *egc, libxl__ev_qmp *,
> +                                         const libxl__json_object *, int rc);
> +static void cdrom_insert_stubdom_disk_remove_cb(libxl__egc *egc,
> +                                                 libxl__ao_device *aodev);
> +static void cdrom_insert_stubdom_disk_add_cb(libxl__egc *egc,
> +                                             libxl__ao_device *aodev);
> +static void cdrom_insert_stubdom_query_fdset(libxl__egc *egc,
> +                                             libxl__ev_time *ev,
> +                                             const struct timeval *abs,
> +                                             int rc);
> +static void cdrom_insert_stubdom_parse_fdset(libxl__egc *egc,
> +                                             libxl__ev_qmp *qmp,
> +                                             const libxl__json_object *response,
> +                                             int rc);
>  static void cdrom_insert_ejected(libxl__egc *egc, libxl__ev_qmp *,
>                                   const libxl__json_object *, int rc);
>  static void cdrom_insert_addfd_cb(libxl__egc *egc, libxl__ev_qmp *,
> @@ -865,6 +966,7 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
>      libxl_device_disk *disks = NULL;
>      int rc;
>      libxl__cdrom_insert_state *cis;
> +    libxl_domid stubdomid;
>  
>      GCNEW(cis);
>      cis->ao = ao;
> @@ -876,6 +978,8 @@ int libxl_cdrom_insert(libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk,
>      cis->qmp_lock.ao = ao;
>      cis->qmp_lock.domid = domid;
>      libxl__ev_time_init(&cis->time);
> +    libxl__ev_time_init(&cis->timeout_retry);
> +    cis->retries = 0;

Could you initialise `stubdom_fdset` as well? It's looks like it's
possible to have an fdset==0, so initialising it to -1 would be helpful.

(And technically, retries is already init to 0, because GCNEW() fill do
that for us, by using zallloc.)

>      libxl__ev_qmp_init(&cis->qmp);
>      cis->qmp.ao = ao;
>      cis->qmp.domid = domid;
> @@ -1002,6 +1120,224 @@ out:
>      cdrom_insert_done(egc, cis, rc); /* must be last */
>  }
>  
> +static void cdrom_insert_stubdom_query_fdset_rm(libxl__egc *egc,
> +                                                libxl__ev_qmp *qmp,
> +                                                const libxl__json_object *resp,
> +                                                int rc)
> +{
> +    libxl__cdrom_insert_state *cis = CONTAINER_OF(qmp, *cis, qmp);
> +    STATE_AO_GC(cis->ao);

It doesn't looks like we need to call STATE_AO_GC() here, nothing uses
an `ao` or a `gc`, and nothing needs an allocation that needs to exist
after this function returns.

> +    if (rc) goto out;
> +
> +    /* Only called for qemu-xen/linux stubdom. */
> +    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
> +
> +    cis->qmp.callback = cdrom_insert_stubdom_parse_fdset_rm;
> +
> +    rc = libxl__ev_qmp_send(egc, &cis->qmp, "query-fdsets", NULL);
> +    if (rc) goto out;
> +
> +    return;
> +
> + out:
> +    cdrom_insert_done(egc, cis, rc); /* must be last */
> +}
> +
> +static void cdrom_insert_stubdom_parse_fdset_rm(libxl__egc *egc,
> +                                                libxl__ev_qmp *qmp,
> +                                                const libxl__json_object *resp,
> +                                                int rc)
> +{
> +    EGC_GC;
> +    libxl__cdrom_insert_state *cis = CONTAINER_OF(qmp, *cis, qmp);
> +    int devid;
> +    int fdset;
> +
> +    if (rc) goto out;
> +
> +    /* Only called for qemu-xen/linux stubdom. */
> +    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
> +
> +    devid = libxl__device_disk_dev_number(cis->disk->vdev, NULL, NULL);
> +    fdset = query_fdsets_find_fdset(gc, resp, devid);
> +    if (fdset >= 0) goto found;

Could you try to reorder the function to avoid this goto? It's fine to
have goto for the out/error path because you can write one exit path for
the function, but otherwise, I think it's rare that goto make the code
easier to understand.

> +    if (fdset != ERROR_NOTFOUND) {
> +        rc = fdset;
> +        goto out;
> +    }
> +
> +    LOGD(DEBUG, cis->domid, "No fdset found - skipping remove-fd");
> +    cdrom_insert_stubdom_ejected(egc, qmp, resp, 0);
> +
> +    return;
> +
> + found:
> +    cis->stubdom_fdset = fdset;

Is this value in `cis->stubdom_fdset` used anywhere? We are calling
"remove-fd" on it so I don't think we are going to use it. So better not
to keep it.

> +    LOGD(DEBUG, cis->domid, "Found fdset %d", cis->stubdom_fdset);
> +
> +    libxl__json_object *args = NULL;
> +
> +    libxl__qmp_param_add_integer(gc, &args, "fdset-id", cis->stubdom_fdset);
> +
> +    cis->qmp.callback = cdrom_insert_stubdom_ejected;
> +
> +    rc = libxl__ev_qmp_send(egc, &cis->qmp, "remove-fd", args);
> +    if (rc) goto out;
> +
> +    return;
> +
> + out:
> +    cdrom_insert_done(egc, cis, rc); /* must be last */
> +}
> +
> +static void cdrom_insert_stubdom_disk_add_cb(libxl__egc *egc,
> +                                             libxl__ao_device *aodev)
> +{
> +    EGC_GC;
> +    libxl__cdrom_insert_state *cis = CONTAINER_OF(aodev, *cis, aodev);
> +
> +    if (aodev->rc) {
> +        LOGD(ERROR, aodev->dev->domid, "Unable to insert stubdom PV disk id %u",
> +             aodev->dev->devid);
> +        goto out;
> +    }
> +
> +    cdrom_insert_stubdom_query_fdset(egc, &cis->timeout_retry, NULL, aodev->rc);

Last parameter here could just be ERROR_TIMEDOUT, as this would be the
expected rc by the function anyway. And `aodev->rc` should be 0 here
anyway.

> +    return;
> +
> + out:
> +    cdrom_insert_done(egc, cis, aodev->rc);
> +}
> +
> +static void cdrom_insert_stubdom_query_fdset(libxl__egc *egc,
> +                                             libxl__ev_time *ev,
> +                                             const struct timeval *abs,
> +                                             int rc)
> +{
> +    EGC_GC;
> +    libxl__cdrom_insert_state *cis = CONTAINER_OF(ev, *cis, timeout_retry);
> +
> +    /* When called as an ev_time callback, rc will be ERROR_TIMEDOUT.*/

This comment isn't really useful. Also, we could just rewrite the error
check to expect ERROR_TIMEDOUT, or it's an error.

Looking at libxl__ev_time_callback typedef in libxl_internal.c, the only
value `rc` should have are ERROR_TIMEDOUT or ERROR_ABORTED.

> +    if (rc && rc != ERROR_TIMEDOUT) goto out;
> +
> +    /* Only called for qemu-xen/linux stubdom. */
> +    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
> +
> +    cis->qmp.callback = cdrom_insert_stubdom_parse_fdset;
> +
> +    rc = libxl__ev_qmp_send(egc, &cis->qmp, "query-fdsets", NULL);
> +    if (rc) goto out;
> +
> +    return;
> +
> + out:
> +    cdrom_insert_done(egc, cis, rc); /* must be last */
> +}
> +
> +static void cdrom_insert_stubdom_parse_fdset(libxl__egc *egc,
> +                                             libxl__ev_qmp *qmp,
> +                                             const libxl__json_object *response,
> +                                             int rc)
> +{
> +    EGC_GC;
> +    libxl__cdrom_insert_state *cis = CONTAINER_OF(qmp, *cis, qmp);
> +    int devid;
> +    int fdset;
> +
> +    if (rc) goto out;
> +
> +    /* Only called for qemu-xen/linux stubdom. */
> +    assert(cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN);
> +
> +    devid = libxl__device_disk_dev_number(cis->disk->vdev, NULL, NULL);
> +    fdset = query_fdsets_find_fdset(gc, response, devid);
> +    if (fdset >= 0) goto found;

Like before, would it be possible to rewrite the function without this
`goto found`?

> +    if (fdset != ERROR_NOTFOUND) {
> +        rc = fdset;
> +        goto out;
> +    }
> +
> +    if (cis->retries++ > 10) {

Looking at this number, and the retry timer set to 200ms, it looks like
libxl will wait for only about 2 second, is that enough? We could just
rely on the general cdrom insert timeout `cis->time`, or is that too
long?

> +        LOGD(DEBUG, cis->domid, "Out of query-fdsets retries");

It this useful? Also, an error message might be more useful, and an
error message that say something about stubdom not doing its part of the
job and libxl gave up waiting.

> +        rc = ERROR_TIMEDOUT;
> +        goto out;
> +    }
> +
> +    LOGD(DEBUG, cis->domid, "Scheduling query-fdsets retry %d", cis->retries);

That just going to spam the console, I don't think it's useful. We
already have logging about a "query-fdsets" command been ran.

> +    rc = libxl__ev_time_register_rel(cis->ao, &cis->timeout_retry,
> +                                     cdrom_insert_stubdom_query_fdset,
> +                                     200);
> +    if (rc) goto out;
> +
> +    return;
> +
> + found:
> +    cis->stubdom_fdset = fdset;
> +
> +    LOGD(DEBUG, cis->domid, "Found fdset %d", cis->stubdom_fdset);
> +    cdrom_insert_ejected(egc, &cis->qmp, NULL, rc);
> +    return;
> +
> + out:
> +    cdrom_insert_done(egc, cis, rc); /* must be last */
> +}
> +
>  static void cdrom_insert_ejected(libxl__egc *egc,
>                                   libxl__ev_qmp *qmp,
>                                   const libxl__json_object *response,
> @@ -1081,10 +1417,13 @@ static void cdrom_insert_ejected(libxl__egc *egc,
>      rc = libxl__dm_check_start(gc, &d_config, domid);
>      if (rc) goto out;
>  
> +    /* A linux stubdom will perform add-fd with calculated stubdom_fdset. */

Left over comment?

>      if (cis->dm_ver == LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN &&
> +        libxl_get_stubdom_id(CTX, cis->domid) == 0 &&
>          disk->format != LIBXL_DISK_FORMAT_EMPTY) {
>          libxl__json_object *args = NULL;
>  
> +        LOGD(DEBUG, cis->domid, "Doing QMP add-fd path");

I don't think this logging is useful.

>          assert(qmp->payload_fd == -1);
>          qmp->payload_fd = open(disk->pdev_path, O_RDONLY);
>          if (qmp->payload_fd < 0) {
> @@ -1094,7 +1433,11 @@ static void cdrom_insert_ejected(libxl__egc *egc,
>              goto out;
>          }
>  
> -        /* This free form parameter is not use by QEMU or libxl. */
> +        /*
> +         * This free form parameter is not used by QEMU or non-stubdom libxl.
> +         * For a linux stubdom, opaque is set to "stub-devid:$devid" to
> +         * identify the fdset.
> +         */

Nothing is going to use this particular "opaque" value, right? The
comment say that for stubdom, the value is set to a particular value,
but it's not done so here. A comment about "stub-devid:$devid" might be
useful in query_fdsets_find_fdset(), but not here.

>          QMP_PARAMETERS_SPRINTF(&args, "opaque", "%s:%s",
>                                 libxl_disk_format_to_string(disk->format),
>                                 disk->pdev_path);
> @@ -1103,6 +1446,7 @@ static void cdrom_insert_ejected(libxl__egc *egc,
>          if (rc) goto out;
>          has_callback = true;
>      } else {
> +        LOGD(DEBUG, cis->domid, "Skipping QMP add-fd path");

I think we can found out about that because "add-fd" isn't called. It
doesn't feel like a useful logging.

>          has_callback = false;
>      }
>  
> @@ -1115,8 +1459,16 @@ out:
>      if (rc) {
>          cdrom_insert_done(egc, cis, rc); /* must be last */
>      } else if (!has_callback) {
> -        /* Only called if no asynchronous callback are set. */

This comment should still apply, even if we run for a stubdom,
otherwise, `has_callback` is badly named.

> -        cdrom_insert_inserted(egc, qmp, NULL, 0); /* must be last */
> +        if (libxl_get_stubdom_id(CTX, cis->domid) &&
> +            disk->format != LIBXL_DISK_FORMAT_EMPTY) {
> +            LOGD(DEBUG, cis->domid,
> +                 "stubdom %d needs to perform add-fd internally",
> +                 libxl_get_stubdom_id(CTX, cis->domid));
> +            cdrom_insert_addfd_cb(egc, qmp, NULL, 0); /* must be last */
> +        } else  {
> +            /* Only called if no asynchronous callback are set. */
> +            cdrom_insert_inserted(egc, qmp, NULL, 0); /* must be last */
> +        }
>      }
>  }
>  
> @@ -1135,17 +1487,22 @@ static void cdrom_insert_addfd_cb(libxl__egc *egc,
>      /* convenience aliases */
>      libxl_device_disk *disk = cis->disk;
>  
> -    close(qmp->payload_fd);
> -    qmp->payload_fd = -1;

I think I'd rather keep this here, before the error check. Just call
close() conditionally on the value of payload_fd? The thing is, if
payload_fd is still set, libxl__ev_qmp* is going to try to submit the fd
again, and closing the fd earlier is better.

>      if (rc) goto out;
>  
> -    o = libxl__json_map_get("fdset-id", response, JSON_INTEGER);
> -    if (!o) {
> -        rc = ERROR_FAIL;
> -        goto out;
> +    /* response non-NULL only for non-stubdom */
> +    if (response) {

I'm not comfortable with checking the value of `response` to find out if
we are on the linux stubdom path. It could be missing for other reason
(probably on programming error). There's `cis->stubdom_fdset` that
should have a correct value in the linux stubdom case, can we rely on
that instead? (Which also refer to why I asked early to init this field)

> +        close(qmp->payload_fd);
> +        qmp->payload_fd = -1;
> +
> +        o = libxl__json_map_get("fdset-id", response, JSON_INTEGER);
> +        if (!o) {
> +            rc = ERROR_FAIL;
> +            goto out;
> +        }
> +        fdset = libxl__json_object_get_integer(o);
> +    } else {
> +        fdset = cis->stubdom_fdset;
>      }
> -    fdset = libxl__json_object_get_integer(o);
>  
>      devid = libxl__device_disk_dev_number(disk->vdev, NULL, NULL);
>      qmp->callback = cdrom_insert_inserted;

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 16:07:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 16:07:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707650.1105745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx7p5-0000VW-Sd; Wed, 17 Apr 2024 16:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707650.1105745; Wed, 17 Apr 2024 16: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 1rx7p5-0000VP-PB; Wed, 17 Apr 2024 16:07:47 +0000
Received: by outflank-mailman (input) for mailman id 707650;
 Wed, 17 Apr 2024 16: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=T4Tg=LW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rx7p4-0000Tr-Pf
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 16:07:46 +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 9ff0e2aa-fcd4-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 18:07:44 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2d895138d0eso49051841fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 09:07: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
 dk15-20020a0560000b4f00b00349ceadededsm1545794wrb.16.2024.04.17.09.07.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 09:07: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: 9ff0e2aa-fcd4-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713370064; x=1713974864; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wOQ5CIi+Ljjku46E2m/PqUNfkY53GSfaHeFajaqXOdM=;
        b=JL6rIhCdLNfhOp1/RQDCh/gjLicfRQlXuYYEuApb57yPE40UHrv4wu3Ar0Z3f9SDka
         +f9z/Lb/c59GVN+HLoPWgg1jdUo6sv3dbv1+jp+57khr4ZkEmmt+MaESG9wmxS5AXuxv
         pf6u724c1UtMYZk9E3n4ZUV985EhH9flolxveD9ozyhJarjODT9Q5ScFq9VnBXZ++V0L
         MwSzNPu7LuPmSUkkBc4CifVx+JF6mC4ZoWzaXeyNxO4igCTTxhZ+KTSvnVWu6xUVPrdu
         VYa0Vt/4hAdGyBr143u7/wtJSmuMFnk8UYCU85mHVxqyFxK6kLkmF47ppoF26xRyNbf0
         evpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713370064; x=1713974864;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wOQ5CIi+Ljjku46E2m/PqUNfkY53GSfaHeFajaqXOdM=;
        b=IEGXGxvfybqQEYXywAitFpq2AdQ1ckfrQIvSoFoXZPQn5wsfufZKeWf8iHbDmWJ/iH
         52c8XuHjT4s30MYx1ATmtHFSijYc7IU9KxUB202dSMiU4coOJmYh7aeanVKts8PsXvhO
         jGoEb2BO4BdQaanhRvvbmwlpaQi+c4rgputTZTMZIOFEukZne5OSPmKYEYyPIg50JL7d
         WLPJUY5f0ravVqbwYkFQecHtIBie+czoUoT6WYww5VANRCBQ+npgNS6gcaRxJyo4g2Ha
         SRxesEoW8O+WSlD9PFrX8pYSBnBKSmKYGn3Ivb8xkUXgK+r8MoWNsOFdRN5x04/T1eF3
         YssA==
X-Forwarded-Encrypted: i=1; AJvYcCXDQtCumLQvX9YZgn4DtxUCCFcwNs9uAhFCINh0QWGTtmfn6b2F24f9qMooyeOlrVhEl6vEMVXjvXsIjsIzlVsGChEDL2mOKrybzUEtFj8=
X-Gm-Message-State: AOJu0YwDp6kIr+Jj6CFS2TYbY95Ovs5zFS9nykxU3HbuFYnwqfYNXXCX
	m1o77WrlNx7pu7GutoCuruCuGqVG1UdxSOX+fwI5g9SBfZc47KCUPctFD1yj1A==
X-Google-Smtp-Source: AGHT+IGHNVgMXNIbyJZnRY/aHWHaTKagT5Mnsdxhfdd6AhMWjAuRkLx4a4YcWmzvyQ52VN1ZBe4TbQ==
X-Received: by 2002:a2e:3509:0:b0:2d9:ecc1:6d56 with SMTP id z9-20020a2e3509000000b002d9ecc16d56mr11167344ljz.11.1713370063760;
        Wed, 17 Apr 2024 09:07:43 -0700 (PDT)
Message-ID: <cbfe7614-c202-4c6e-99a0-3792bfed763c@suse.com>
Date: Wed, 17 Apr 2024 18:07:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86: Add support for building a multiboot2 PE
 binary
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240328151106.1451104-1-ross.lagerwall@citrix.com>
 <20240328151106.1451104-2-ross.lagerwall@citrix.com>
 <c3c2ce12-0699-42b3-bcaf-5bddf0616566@suse.com>
 <CAG7k0EroeA=cRRDWnJqzH8esoaSmtg8-xjTwc-01og5R9JwPzg@mail.gmail.com>
 <0d84a96a-c1ec-4c4e-9cb5-44a6542e0d43@suse.com>
 <CAG7k0EpKRVpbfBOSA9tsQsGM9_nLCmrZNYzV6G9u5g46oZWKwQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAG7k0EpKRVpbfBOSA9tsQsGM9_nLCmrZNYzV6G9u5g46oZWKwQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.04.2024 17:05, Ross Lagerwall wrote:
> On Wed, Apr 17, 2024 at 3:15 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 10.04.2024 11:41, Ross Lagerwall wrote:
>>> On Mon, Apr 8, 2024 at 11:25 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 28.03.2024 16:11, Ross Lagerwall wrote:
>>>>> * The image base address is set to 0 since it must necessarily be below
>>>>>   4 GiB and the loader will relocate it anyway.
>>>>
>>>> While technically okay, what is the reason for this adjustment?
>>>
>>> The multiboot2 spec generally uses 32 bit addresses for everything and
>>> says:
>>>
>>> "The bootloader must not load any part of the kernel, the modules, the
>>> Multiboot2 information structure, etc. higher than 4 GiB - 1."
>>>
>>> An image base address above 4 GiB causes trouble because multiboot2
>>> wasn't designed for this.
>>
>> Yet mb2 doesn't care about that PE header field at all, does it? In which
>> case my question remains: What purpose does this particular modification
>> of the image have?
>>
> 
> With the currently published version of mb2, it doesn't look at the PE
> header field since it has no knowledge about PE binaries.
> 
> With the proposal on the grub-devel list [1], mb2 would use the PE
> header to load the new xen-mbi binary in which case, the image base
> address is indeed relevant.

But then how can you strip .reloc? If the image base field is to be used,
and if the image can't be placed there, relocation needs to happen. (As
an aside, [1] looks to be talking of the entry point only, not the image
base?)

Jan

> [1] https://lists.gnu.org/archive/html/grub-devel/2024-03/msg00081.html



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 16:28:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 16:28:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707656.1105756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx88i-00052Y-M7; Wed, 17 Apr 2024 16:28:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707656.1105756; Wed, 17 Apr 2024 16: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 1rx88i-00052R-HO; Wed, 17 Apr 2024 16:28:04 +0000
Received: by outflank-mailman (input) for mailman id 707656;
 Wed, 17 Apr 2024 16:28: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=f8dp=LW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rx88g-00052J-S1
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 16:28:02 +0000
Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com
 [2607:f8b0:4864:20::729])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7503a4f8-fcd7-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 18:28:01 +0200 (CEST)
Received: by mail-qk1-x729.google.com with SMTP id
 af79cd13be357-78f056f0a53so37903385a.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 09:28:01 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 v1-20020a05620a090100b0078ede19b680sm4708471qkv.75.2024.04.17.09.27.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 09:27: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: 7503a4f8-fcd7-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713371280; x=1713976080; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zmchXkVEwB1OGJ+yIC0/i7YpZXcoUYz0ZtV/UXmCeLg=;
        b=V5e4mKuF5cs2t/xRjx1Y5Wsqv52PbY4w3+XsTgKxlWCPZ/oxLvpCQ53Opbxl8NK1/K
         TVXjK7OdVaLdIXI5HAQqsb9l9vA+fMWbi7TFHCqcsHORwkMafjIphhlNx0JT5YQGD5ji
         8mD63HKen8n6dojfPxSnt8slYXVXGyGIE09I4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713371280; x=1713976080;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zmchXkVEwB1OGJ+yIC0/i7YpZXcoUYz0ZtV/UXmCeLg=;
        b=XpmvBtVgNQN1zhu6THgc+76cWPTqvL9sKmuBzREtSMRQZAgHDT/9UD2F052L8H5NhH
         PHliKAyyrFvFX391855AfR/33suzfmuw/u3fithk0AA+TWGi0kefT+4bGPXDDGg0dk6m
         knvB+VbIM/g/kbWogYyTt4xJ7/FHy37Iw17otav0jjPJaLr4kjrI8VRi6Fb8qYDCr/Hi
         v4YYgbWHeS03Tf9l8tqhkvNFr7klothSaGHUmI3+WdKg6SUL+X/8C5WAE80+L1dbW2qQ
         EstNtoDTZUJobSlRuL5K+jR6889H9hmQM3sxy83ACLn3uuSWb53aQgvkSZu3S8isVtx2
         gJSw==
X-Forwarded-Encrypted: i=1; AJvYcCXG9QfooPfbyNGmNKzqcO9MFFeXq+k2Bnet1IcBSNiChkmhc5d3d/4n/D++M8mpFA+rZ7oEWH0Wyx+KI2tI+F47KZVkVAV9qqRzYr2KdMg=
X-Gm-Message-State: AOJu0YwTowTVQ6ySF8+o+u9WUl5LElet7eYqZJW7DUeEhFJc7MPTbRjY
	H+mwbFTVmKDCM8RusdN9iEJ9od293EVbBS2L4Nyfdp9yD3IEMbpUnImZlDjkuEE=
X-Google-Smtp-Source: AGHT+IFLOEnJctc3S37b67hqvTsxcVLXhIl+P/ZKWDDWH3y24ebD3uIMeYtU+vC7tOnxYYu36HkBvA==
X-Received: by 2002:a05:620a:458b:b0:78d:668e:e3eb with SMTP id bp11-20020a05620a458b00b0078d668ee3ebmr22380716qkb.55.1713371280052;
        Wed, 17 Apr 2024 09:28:00 -0700 (PDT)
Message-ID: <1c22a74a-aa1a-4e22-8561-2757632a07c4@citrix.com>
Date: Wed, 17 Apr 2024 17:27:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/6] gzip: drop unused define checks
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
 <20240417143716.27189-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: <20240417143716.27189-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/04/2024 3:37 pm, Daniel P. Smith wrote:
> Dropping the define checks for PKZIP_BUG_WORKAROUND and NOMEMCPY define as they
> never are set.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

It looks like ARCH_HAS_DECOMP_WDOG is another one that can go.

There's only a single instance, in inflate(), which I'm happy to fold on
commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 16:31:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 16:31:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707658.1105765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx8C4-0006dH-3S; Wed, 17 Apr 2024 16:31:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707658.1105765; Wed, 17 Apr 2024 16:31:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx8C4-0006dA-0F; Wed, 17 Apr 2024 16:31:32 +0000
Received: by outflank-mailman (input) for mailman id 707658;
 Wed, 17 Apr 2024 16:31:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=f8dp=LW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rx8C2-0006d4-VG
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 16:31:30 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0c38763-fcd7-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 18:31:28 +0200 (CEST)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-78f05aec21cso32997985a.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 09:31:28 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h13-20020a05620a244d00b0078ed5316f96sm5925584qkn.6.2024.04.17.09.31.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 09:31: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: f0c38763-fcd7-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713371488; x=1713976288; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=38be+M3cpELmqT7R1wOxJRnFHrXUQichlNZQ4Ydt7RQ=;
        b=liCS6KTgXQyA2n+1VBbf1DU7ycyjkXZFbCEvibDlN5ZkzZqmd9pDpsFWT5MyTFUfGV
         ZWZkG4KOWftzFMywhrEcDrRMqIvr/hTMIuJRhKf6nliiqHcTsfX21ttEiPR0SproVvVM
         AWBVWBpTp+2hTRYX5dtrrUQZPbEiCIBhaJhHo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713371488; x=1713976288;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=38be+M3cpELmqT7R1wOxJRnFHrXUQichlNZQ4Ydt7RQ=;
        b=VLz5OUr0BuYSqPkBK63aBQ21yE1ZYPkD8pD5rleQdkclts6STuBUEFnLqJhg1E5blR
         B6tfwvTrVml7L90sD175fTZ7dHdANdUDBFpFkmHuMP6B9GYkdJMuv8V0zT/2OXD7Q/fQ
         5GfuEZudimkObN45nGIx6UgaiU7E4/5A7C41QO1BJQnRRa7b6I5hbiZJhA+eEOkz1k7W
         HAR7Yaa9HSYjLcsvgnfj6vIf3yaIdcLlzHj+Q29cyvX1k7wZ1xabhKcBXTKa9Gp2eRz1
         ElT6gmCbYl8CzpxARRlIMKEbdNRnzpKBqE/uPf+6N0hIPWgFIDhNY+ORM5FweiJhKktS
         Gi/g==
X-Forwarded-Encrypted: i=1; AJvYcCXQz9euYjSCLS7r2QojF0iIrfURo2CzUL/RW657rWXdcfWharUKR/Thjn4oUz+yZam+EgKM4Ybdgf3VdcxBcUbgJ/CYjX7g36wI0Px6aD8=
X-Gm-Message-State: AOJu0YwjJRBfU1YJds8icnMbUMLcTOHMLmLcUr5oMeRYye9wx3osW8g3
	YPvQ6gWRafwpOJ2+dhSGBdE1J0zfDq8fTZqCPqcEgvCnX2yivjFvwZ7/BpvovQg=
X-Google-Smtp-Source: AGHT+IGYh77g3PzBc96W6RRjpAV8s6nDCsb5Zc161rTm6KPffMIJbt1eMKqWhW8SuoklIwymgMooiA==
X-Received: by 2002:a05:620a:4494:b0:78d:767f:248 with SMTP id x20-20020a05620a449400b0078d767f0248mr21204037qkp.2.1713371487843;
        Wed, 17 Apr 2024 09:31:27 -0700 (PDT)
Message-ID: <94210509-fa5f-4682-ba0e-11ac7f852b46@citrix.com>
Date: Wed, 17 Apr 2024 17:31:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/6] gzip: drop huffman code table tracking
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
 <20240417143716.27189-7-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: <20240417143716.27189-7-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/04/2024 3:37 pm, Daniel P. Smith wrote:
> The "tracking" bits does not appear to be used, so dropping from the code.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/common/gzip/inflate.c | 6 ------
>  1 file changed, 6 deletions(-)
>
> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index c18ce20210b0..15bc187c2bbe 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -264,8 +264,6 @@ static const int dbits = 6;          /* bits in base distance lookup table */
>  #define BMAX 16         /* maximum bit length of any code (16 for explode) */
>  #define N_MAX 288       /* maximum number of codes in any set */
>  
> -static unsigned __initdata hufts;      /* track memory usage */
> -
>  /*
>   * Given a list of code lengths and a maximum table size, make a set of
>   * tables to decode that set of codes.  Return zero on success, one if
> @@ -445,7 +443,6 @@ static int __init huft_build(
>                      goto out;
>                  }
>                  DEBG1("4 ");
> -                hufts += z + 1;         /* track memory usage */
>                  *t = q + 1;             /* link to list for huft_free() */
>                  *(t = &(q->v.t)) = (struct huft *)NULL;
>                  u[h] = ++q;             /* table starts after link */
> @@ -1028,15 +1025,12 @@ static int __init inflate(struct gzip_state *s)
>      /* decompress until the last block */
>      h = 0;
>      do {
> -        hufts = 0;
>  #ifdef ARCH_HAS_DECOMP_WDOG
>          arch_decomp_wdog();
>  #endif
>          r = inflate_block(s, &e);
>          if (r)
>              return r;
> -        if (hufts > h)
> -            h = hufts;
>      } while (!e);

With 'hufts' removed, the local variable 'h' is now dead too.  It gets
read inside an #ifdef DEBUG, but as it's rendering a unqualified number
to stderr, it can also be deleted.

Specifically, I recommend this additional delta:

diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 15bc187c2bbe..13015bb45f4a 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1015,7 +1015,6 @@ static int __init inflate(struct gzip_state *s)
 {
     int e;                /* last block flag */
     int r;                /* result code */
-    unsigned h;           /* maximum struct huft's malloc'ed */
 
     /* initialize window, bit buffer */
     wp = 0;
@@ -1023,7 +1022,6 @@ static int __init inflate(struct gzip_state *s)
     s->bb = 0;
 
     /* decompress until the last block */
-    h = 0;
     do {
 #ifdef ARCH_HAS_DECOMP_WDOG
         arch_decomp_wdog();
@@ -1045,9 +1043,6 @@ static int __init inflate(struct gzip_state *s)
     flush_output(s, wp);
 
     /* return success */
-#ifdef DEBUG
-    fprintf(stderr, "<%u> ", h);
-#endif /* DEBUG */
     return 0;
 }
 

which I'm happy to fold on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 16:52:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 16:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707666.1105774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx8WD-0002kx-NR; Wed, 17 Apr 2024 16:52:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707666.1105774; Wed, 17 Apr 2024 16: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 1rx8WD-0002kq-Ku; Wed, 17 Apr 2024 16:52:21 +0000
Received: by outflank-mailman (input) for mailman id 707666;
 Wed, 17 Apr 2024 16: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=f8dp=LW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rx8WC-0002kk-Hj
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 16:52:20 +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 d8f640f2-fcda-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 18:52:17 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-418c2bf2f55so5076925e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 09:52:17 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u11-20020a05600c138b00b004187450e4cesm3498190wmf.29.2024.04.17.09.52.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 09:52: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: d8f640f2-fcda-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713372736; x=1713977536; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ObAtcZvuJ6ObFx4rDX5meqF0FtC/ty2Lt8aLL0p5Vdg=;
        b=QBg2/utsz9wMo2SWlJjDAi1p+Cv+h5XghGJqIkvbg3qQXt3rn50WjnWfId9avw32PF
         ucc2GboS/H2YpTqZJD2FMTwy2LnEQQGyxPIElKuUC4BUgKwzgMcknOkwuIvgtNXLfN0c
         aC59hqQQVSM9mGeYhgLwBxSB1/VdGmbeKPFvA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713372736; x=1713977536;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ObAtcZvuJ6ObFx4rDX5meqF0FtC/ty2Lt8aLL0p5Vdg=;
        b=ecvCnwduPYehDzMbBVqBqAIAGgB1MQCXJ9+keIO5l3GXIiRubCvWeeBjaHWIE7CAmB
         E7yLnMCzb9Eso4h5QwQBESQzqFoPPDIejWiM1rKJDTXOx40QCvDxTvS7md5Bl/TS/5fA
         SjWdOh8QfrV3gvsFmpVznb32Z1v33KVsREan+ZV0uq7PdQ4YHsEynz9kxB56Ky6TVaXA
         RAZ4CuvqIZGj8fNPV+gP50J/55Ocf7Z+3o5KScEER6Fr71a6Nagahpg0rCKT5XG6wtc0
         lCCcbbPnt3PARjTvkcTNKXtJFyeSQBcBDx6bfLu/6QmCuPLY1m+7lRNd8MBUbOGD0siv
         B0vQ==
X-Forwarded-Encrypted: i=1; AJvYcCWsplc7vKdUJgMYBwXf4dWFdGikfGdkLnK0KmZ/NSGBzA3dwihPqLFAoy2FHpLVp9JMFTsuMP1CZHfgUhups6WtRDQz1cUbWCQQtalFEFA=
X-Gm-Message-State: AOJu0YwW36kqUnLP9UVtLL7QfuyHYXKa5NrkJlDnlD4HtJpSrubUo/c2
	zrjrASIH69W3mJM0FKv+u0atQNLiQ/yM7bqM/0E4CDF2W3yI/bBx1kNYRE6GV9o=
X-Google-Smtp-Source: AGHT+IGCB5SNdsLaIGZgTsyPPZqfV95r26XgZTi7PMWcaqrQclD6Z6ofvoxm/h7pCHRqtbd3byg+dg==
X-Received: by 2002:a05:600c:46d0:b0:416:2a95:6e8b with SMTP id q16-20020a05600c46d000b004162a956e8bmr117201wmo.26.1713372736390;
        Wed, 17 Apr 2024 09:52:16 -0700 (PDT)
Message-ID: <476afc63-1c78-4e89-b8c8-446857bdc115@citrix.com>
Date: Wed, 17 Apr 2024 17:52:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/6] gzip: remove custom memory allocator
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
 <20240417143716.27189-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: <20240417143716.27189-4-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17/04/2024 3:37 pm, Daniel P. Smith wrote:
> All the other decompression routines use xmalloc_bytes(), thus there is no
> reason for gzip to be handling its own allocation of memory. In fact, there is
> a bug somewhere in the allocator as decompression started to break when adding
> additional allocations. Instead of troubleshooting the allocator, replace it
> with xmalloc_bytes().
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/common/gzip/gunzip.c  | 17 ++------------
>  xen/common/gzip/inflate.c | 47 ---------------------------------------
>  2 files changed, 2 insertions(+), 62 deletions(-)

Good riddance.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 17:00:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 17:00:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707672.1105785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx8e8-0005Hg-Gq; Wed, 17 Apr 2024 17:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707672.1105785; Wed, 17 Apr 2024 17:00:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx8e8-0005HZ-Dm; Wed, 17 Apr 2024 17:00:32 +0000
Received: by outflank-mailman (input) for mailman id 707672;
 Wed, 17 Apr 2024 17: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=f8dp=LW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rx8e6-0005HT-L4
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 17:00:30 +0000
Received: from mail-qv1-xf2b.google.com (mail-qv1-xf2b.google.com
 [2607:f8b0:4864:20::f2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fdbb0ed4-fcdb-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 19:00:28 +0200 (CEST)
Received: by mail-qv1-xf2b.google.com with SMTP id
 6a1803df08f44-6a04bae513cso5996d6.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 10:00:28 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 s9-20020ad45249000000b0069bd4f7cf64sm2658384qvq.3.2024.04.17.10.00.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 10: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: fdbb0ed4-fcdb-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713373227; x=1713978027; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=OVW7rJsR9ebhv5BmKAUybABfASgXNYaZtzEDTk3mgHE=;
        b=oIEDAIHuLieqXZSwu4p+aoh04NoLa8SgiDiIDWxMecAb8FgPtT11+2t9NhI5x97RXG
         rte/hytR8IxIFUSALwN2jktOY6AjRuvJEu7+S2SYSjrbKmcOr6Tq9osvR9NzaBBP5ZiU
         U6hTEwhqD9MhPR2+k6JRmlJHNXlFutFKDIA2s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713373227; x=1713978027;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OVW7rJsR9ebhv5BmKAUybABfASgXNYaZtzEDTk3mgHE=;
        b=ihPdOVj1QGpeQBKk2i38iYkxD+/Tjz+2NTiXaefbN+LJPydfPp+cJcW1pHUV93hOd1
         lLJ/qu2frq6tGjXTdUgbcihHzwU8Dj1rcVLtgo8sCqXGdAO5zjjuuJH+/enrMvjixhqT
         GhvDpXVutCUiZy4tVe4AW+cP/NCZo8jF57BlDKC9Eib+yOGlQt3C1Ov7Tjv1Nx1zXSZN
         F8nDC+mmFtz0Ok3PqDxqxYe/nQ1OY+A86o6kyrdX4svrYhXmI0FWzZPp0Y2ranJXaqwx
         x6JDb2El7doDTZ8gAQo5R2aXF7mNzrlP6dSvmuaZgbi93CY1Oxht3sOwDbndjDmQUn1V
         GeOw==
X-Forwarded-Encrypted: i=1; AJvYcCXvtkPDiwWUAFQ6GjecwNOFM5/g2SSmGDLiiynLcAPRSpK0PB+YvJQnmnsHNoWH/xAGhlvU6WGSI9PFGWe1xBEK8tpUdVkU8VfhPAXuZD0=
X-Gm-Message-State: AOJu0YzDn2cQLIDL61MVuH+oAnFgRMCIjgs+oDdS7qlJ3XWwYtFZZYjE
	ta8bpVJvDlPbWzwh07c3HQjiTCzlVX40wD0x8aJA9zA+L8NNEwvAb8vF461K6I4=
X-Google-Smtp-Source: AGHT+IF69HbNiAR9bK+jrtDArw/mGsjq23CYB/unqJUA4MhuM6GnynXvPJG+7gxTeLRhAlstQpKuxA==
X-Received: by 2002:a05:6214:15c7:b0:69b:2d2c:6988 with SMTP id p7-20020a05621415c700b0069b2d2c6988mr16317503qvz.0.1713373227572;
        Wed, 17 Apr 2024 10:00:27 -0700 (PDT)
Message-ID: <419522c1-ad14-4ff1-a689-1237646c0da4@citrix.com>
Date: Wed, 17 Apr 2024 18:00:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/6] gzip: move crc state into consilidated gzip state
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
 <20240417143716.27189-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: <20240417143716.27189-6-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/04/2024 3:37 pm, Daniel P. Smith wrote:
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

The change in type is fine, but does need discussing.  Furthermore, ...

> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
> index 8178a05a0190..bef324d3d166 100644
> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -74,7 +77,7 @@ static __init void flush_window(struct gzip_state *s)
>       * The window is equal to the output buffer therefore only need to
>       * compute the crc.
>       */
> -    unsigned long c = crc;
> +    unsigned long c = s->crc;

... this wants to be unsigned int I think.

> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index 5735bbcf7eb4..c18ce20210b0 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -1063,16 +1063,14 @@ static int __init inflate(struct gzip_state *s)
>   *
>   **********************************************************************/
>  
> -static ulg __initdata crc_32_tab[256];
> -static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss */
> -#define CRC_VALUE (crc ^ 0xffffffffUL)
> +#define CRC_VALUE (s->crc ^ 0xffffffffUL)

$ git grep CRC_VALUE
common/gzip/inflate.c:1052:#define CRC_VALUE (s->crc ^ 0xffffffffUL)
common/gzip/inflate.c:1207:    if (orig_crc != CRC_VALUE) {

I'd expand this in it's single user, but like ...

>  
>  /*
>   * Code to compute the CRC-32 table. Borrowed from
>   * gzip-1.0.3/makecrc.c.
>   */
>  
> -static void __init makecrc(void)
> +static void __init makecrc(struct gzip_state *s)
>  {
>  /* Not copyrighted 1990 Mark Adler */
>  
> @@ -1089,7 +1087,7 @@ static void __init makecrc(void)
>      for (i = 0; i < sizeof(p)/sizeof(int); i++)
>          e |= 1L << (31 - p[i]);
>  
> -    crc_32_tab[0] = 0;
> +    s->crc_32_tab[0] = 0;
>  
>      for (i = 1; i < 256; i++)
>      {
> @@ -1100,11 +1098,11 @@ static void __init makecrc(void)
>              if (k & 1)
>                  c ^= e;
>          }
> -        crc_32_tab[i] = c;
> +        s->crc_32_tab[i] = c;
>      }
>  
>      /* this is initialized here so this code could reside in ROM */
> -    crc = (ulg)0xffffffffUL; /* shift register contents */
> +    s->crc = (ulg)0xffffffffUL; /* shift register contents */

... this, the constant should become -1u or ~0u because of the type change.

I'm not sure what to make of the ROM comment, but I suspect it means the
XOR can be dropped with a bit of care too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 17:24:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 17:24:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707679.1105796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx919-0001kX-HW; Wed, 17 Apr 2024 17:24:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707679.1105796; Wed, 17 Apr 2024 17:24:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rx919-0001kQ-D8; Wed, 17 Apr 2024 17:24:19 +0000
Received: by outflank-mailman (input) for mailman id 707679;
 Wed, 17 Apr 2024 17:24:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rx918-0001kK-7K
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 17:24:18 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx917-0002XI-Eo; Wed, 17 Apr 2024 17:24:17 +0000
Received: from [15.248.3.90] (helo=[10.24.67.26])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rx917-0002Lb-4x; Wed, 17 Apr 2024 17:24:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ubac+JqnKpCA6cxKbn54vsk+6zrhE9xgXWx1wSfx6m8=; b=ulMc7f6RM8Obr9RMzAo6LJGkZB
	ikYY/N5lT9e9dQs+K0R3HLDHuqpP7V/mFF58wOXtusOJdoMgIC5f8J+ZDj4pLIhx+Yu/rnDsGHgr+
	wl/MIN5h6HoN6wFLQ/A1sSwflnb7G5/VtKjPlAHmc3B2sjCUyMypGkBwI3OjpE4VQTTk=;
Message-ID: <38b06b07-179d-4483-b79b-aea8c68f3c34@xen.org>
Date: Wed, 17 Apr 2024 18:24:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/9] xen/common: Move Arm's bootfdt.c to common
Content-Language: en-GB
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1710443965.git.sanastasio@raptorengineering.com>
 <908ea2d9bccf0b3455119cfd9af0597aee005fe8.1710443965.git.sanastasio@raptorengineering.com>
 <6069d3de-b298-46e6-a64b-895df3ea037b@xen.org>
 <c7de32e6-67d5-4bb8-9cc8-68753c657fc7@raptorengineering.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c7de32e6-67d5-4bb8-9cc8-68753c657fc7@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Shawn,

On 12/04/2024 03:53, Shawn Anastasio wrote:
> Hi Julien,
> 
> On 3/21/24 12:50 PM, Julien Grall wrote:
>> Hi Shawn,
>>
>> On 14/03/2024 22:15, Shawn Anastasio wrote:
>>> Move Arm's bootfdt.c to xen/common so that it can be used by other
>>> device tree architectures like PPC and RISCV.
>>>
>>> Suggested-by: Julien Grall <julien@xen.org>
>>> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>>> Acked-by: Julien Grall <julien@xen.org>
>>> ---
>>> Changes in v2:
>>>     - Drop #if defined(CONFIG_ARM_EFI) now that efi_enabled is stubbed
>>>
>>>    MAINTAINERS                                    | 1 +
>>>    xen/arch/arm/Makefile                          | 1 -
>>>    xen/common/device-tree/Makefile                | 1 +
>>>    xen/{arch/arm => common/device-tree}/bootfdt.c | 0
>>>    4 files changed, 2 insertions(+), 1 deletion(-)
>>>    rename xen/{arch/arm => common/device-tree}/bootfdt.c (100%)
>>>
>>> diff --git a/MAINTAINERS b/MAINTAINERS
>>> index e85fbe6737..20fdec9ffa 100644
>>> --- a/MAINTAINERS
>>> +++ b/MAINTAINERS
>>> @@ -251,6 +251,7 @@ S:    Supported
>>>    L:    xen-devel@lists.xenproject.org
>>>    F:    docs/misc/arm/
>>>    F:    xen/arch/arm/
>>> +F:    xen/common/device-tree/bootfdt.c
>>>    F:    xen/drivers/char/arm-uart.c
>>>    F:    xen/drivers/char/cadence-uart.c
>>>    F:    xen/drivers/char/exynos4210-uart.c
>>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>>> index 7b1350e2ef..9e1548378c 100644
>>> --- a/xen/arch/arm/Makefile
>>> +++ b/xen/arch/arm/Makefile
>>> @@ -10,7 +10,6 @@ obj-$(CONFIG_TEE) += tee/
>>>    obj-$(CONFIG_HAS_VPCI) += vpci.o
>>>
>>>    obj-$(CONFIG_HAS_ALTERNATIVE) += alternative.o
>>> -obj-y += bootfdt.init.o
>>>    obj-y += cpuerrata.o
>>>    obj-y += cpufeature.o
>>>    obj-y += decode.o
>>> diff --git a/xen/common/device-tree/Makefile
>>> b/xen/common/device-tree/Makefile
>>> index c97b2bd88c..fa5beafd65 100644
>>> --- a/xen/common/device-tree/Makefile
>>> +++ b/xen/common/device-tree/Makefile
>>> @@ -1 +1,2 @@
>>> +obj-y += bootfdt.init.o
>>>    obj-y += bootinfo.o
>>
>> Looking at the names, it is not entirely clear what would be the
>> differences between bootfdt and bootinfo. Should they just be one file?
>>
> 
> With the current split I've chosen, all functions pertaining to managing
> the `struct bootinfo` data structure are contained within bootinfo.c and
> all functions responsible for parsing the FDT on boot are in bootfdt.c.
> 
> This separation exists currently in the ARM tree, but the bootinfo
> functions are contained in setup.c rather than a separate self-contained
> bootinfo.c.
> 
> If you feel strongly that we would be better off with everything in a
> single file, I'm not necessarily opposed to that, but I do think that
> this split at least makes sense.

I am fine with the split. It wasn't originally clear how this was done 
because the first comment in bootinfo contains:

  Early device tree parsing and bookkeeping routines.

But from what you wrote, it seems this is only meant to cover the latter 
part. Did I understand it correctly?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 18:45:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 18:45:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707685.1105804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxAHZ-0000L9-0z; Wed, 17 Apr 2024 18:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707685.1105804; Wed, 17 Apr 2024 18:45:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxAHY-0000L2-U7; Wed, 17 Apr 2024 18:45:20 +0000
Received: by outflank-mailman (input) for mailman id 707685;
 Wed, 17 Apr 2024 18:45:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=f8dp=LW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxAHY-0000Kw-3k
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 18:45:20 +0000
Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com
 [2607:f8b0:4864:20::f2f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a23c77dd-fcea-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 20:45:17 +0200 (CEST)
Received: by mail-qv1-xf2f.google.com with SMTP id
 6a1803df08f44-69b5de48126so365016d6.3
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 11:45:17 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y8-20020ad457c8000000b0069b6d595aeesm4962126qvx.60.2024.04.17.11.45.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 11:45: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: a23c77dd-fcea-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713379516; x=1713984316; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3WB46TT8zXli4tc8CTyQiuWb+XMv4FhC1zDhRjfeR3Y=;
        b=i6P50lzWH0e5ziq++5YuIJwvBxK2Fb51Uc9ugkjlKoytj/eTJCRbI6XbujtPbqa2wv
         Ror4lZoUjFAU15HHntkVso0gJGe3CPkqFfhskf57GydaCQyiFLwdk9RYSPGapuG+4Mz/
         DY3RDf0mta+o4ZKq8NIs63sBggNaCIbj2TLX0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713379516; x=1713984316;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3WB46TT8zXli4tc8CTyQiuWb+XMv4FhC1zDhRjfeR3Y=;
        b=SKmWrvfiIP9w+0T+UhRd95XbymRiRwK/fOwzS8JCtZVaP/T7ZUCTpMCaXdtZMbsNcV
         rIXtKB1LivKXdt+Iz4JYPl9HXQ54wmefm5pZ2+0v32wIHVFeXspU25KT6CUvs5ztGuLc
         W8EUAfaIU8/3v9BKcCp/g568NQFUcL0f1c8IbbLS6I0L2pA7IJdYOcmMiJo1mndgehFP
         7QI+8pQ7LjUnhIUn58RotGG316eNTiQbBkbLSEjlJv/ljKCJCppPfAxKHUJepsL1pOe0
         B1AzuokgDvQPgDCVPUlIZqzzSjj+tezmp/reLzS67B3vrrd6SQOu0q9gSsp/bqILRVFx
         i6Eg==
X-Forwarded-Encrypted: i=1; AJvYcCWlaMfFO6BWTKEUOSkzBovJYsjdRfriu8z1b2pImnUN/qxpjl5WLmYS9dRDrQWnuH8w1OTICmnmpzpQ1g/hPQOs39J4QPCykKFCVqRmCe0=
X-Gm-Message-State: AOJu0Yz1Va16uv4i7QF+UMGpJ1hObFN4gN5jELIdlFcU4KXqyJa/UeeK
	gPxejCLX43a9Hn+z0V6xqeoA4mJSIofmOPnW7+9d/VV5N7Kl79eI+weeCFuYUEM=
X-Google-Smtp-Source: AGHT+IFrPlOWkqpTTWVmIx8b3dhkKkYjs6jElEBFk4Rcusd3nM9ulyDo7ipCJNjOiDuclmjY54KvSw==
X-Received: by 2002:ad4:5007:0:b0:69b:6626:7684 with SMTP id s7-20020ad45007000000b0069b66267684mr266146qvo.37.1713379516415;
        Wed, 17 Apr 2024 11:45:16 -0700 (PDT)
Message-ID: <455d2eb3-0d77-4c2a-8cd9-6a0824b9b07c@citrix.com>
Date: Wed, 17 Apr 2024 19:45:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/6] gzip: refactor state tracking
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
 <20240417143716.27189-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: <20240417143716.27189-5-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/04/2024 3:37 pm, Daniel P. Smith wrote:
> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
> index 1b448d6e3655..8178a05a0190 100644
> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -4,18 +4,25 @@
>  #include <xen/lib.h>
>  #include <xen/mm.h>
>  
> -static unsigned char *__initdata window;
> -
>  #define WSIZE           0x80000000U
>  
> -static unsigned char *__initdata inbuf;
> -static unsigned int __initdata insize;
> +struct gzip_state {
> +    unsigned char *window;
> +
> +    unsigned char *inbuf;
> +    unsigned int insize;
> +
> +    /* Index of next byte to be processed in inbuf: */
> +    unsigned int inptr;

perform_gunzip() passes in an unsigned long size, which means it's
truncated in this state.

Please at least make these size_t.  Life is too short to deal with the
fallout of this going wrong.

>  
> -/* Index of next byte to be processed in inbuf: */
> -static unsigned int __initdata inptr;
> +    /* Bytes in output buffer: */
> +    unsigned int outcnt;

See later, but I think the comment for outcnt is wrong.

>  
> -/* Bytes in output buffer: */
> -static unsigned int __initdata outcnt;
> +    long bytes_out;

See later, but I don't think this can be signed.  It's only used to
cross-check the header-reported length, which is done as an unsigned long.

> +
> +    unsigned long bb;      /* bit buffer */
> +    unsigned bk;           /* bits in bit buffer */

As this is effectively new code, "unsigned int" please.

> @@ -27,7 +34,7 @@ typedef unsigned char   uch;
>  typedef unsigned short  ush;
>  typedef unsigned long   ulg;
>  
> -#define get_byte()      (inptr < insize ? inbuf[inptr++] : fill_inbuf())
> +#define get_byte()     (s->inptr < s->insize ? s->inbuf[s->inptr++] : fill_inbuf())

This is a bit weird:
> $ git grep -w get_byte common/gzip
> common/gzip/gunzip.c:40:#define get_byte()     (s->inptr < s->insize ?
> s->inbuf[s->inptr++] : fill_inbuf())
> common/gzip/inflate.c:224:#define NEXTBYTE(s)  ({ int v = get_byte();
> if (v < 0) goto underrun; (uch)v; })
> common/gzip/inflate.c:1131:    flags  = (uch)get_byte();

NEXTBYTE() gets an s parameter, but doesn't pass it to get_byte() and
instead relies on state always having the name 's' in scope.

I'd suggest turning get_byte() into a proper static function.  It will
be more readable that throwing extra ()'s around s in the existing macro.

Except...  fill_inbuf() is a fatal error anyway, so that can be folded
together to simplify the result.


> @@ -72,16 +78,16 @@ static __init void flush_window(void)
>      unsigned int n;
>      unsigned char *in, ch;
>  
> -    in = window;
> -    for ( n = 0; n < outcnt; n++ )
> +    in = s->window;
> +    for ( n = 0; n < s->outcnt; n++ )
>      {
>          ch = *in++;
>          c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
>      }
>      crc = c;
>  
> -    bytes_out += (unsigned long)outcnt;
> -    outcnt = 0;
> +    s->bytes_out += (unsigned long)s->outcnt;

I can't figure out why this was written this way, even originally.

AFAICT, outcnt doesn't even match it's comment.

/* Bytes in output buffer: */

It looks like it's the number of bytes in window.  This also matches the
"wp" define which I guess is "window position".

Anyway, irrespective of naming, the cast is useless so lets drop it
while modifying the line.

> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index 512d9bf0ee2e..5735bbcf7eb4 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -119,7 +119,7 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
>  
>  #endif /* !__XEN__ */
>  
> -#define slide window
> +#define slide s->window

Given only 8 uses, I'd expand this in place and drop the macro.

But, there's an entire comment block discussing "slide" which I think is
wrong for Xen's implementation.  That wants to go too, I think.

>  
>  /*
>   * Huffman code lookup table entry--this entry is four bytes for machines
> @@ -143,12 +143,12 @@ struct huft {
>  static int huft_build OF((unsigned *, unsigned, unsigned,
>                            const ush *, const ush *, struct huft **, int *));
>  static int huft_free OF((struct huft *));
> -static int inflate_codes OF((struct huft *, struct huft *, int, int));
> -static int inflate_stored OF((void));
> -static int inflate_fixed OF((void));
> -static int inflate_dynamic OF((void));
> -static int inflate_block OF((int *));
> -static int inflate OF((void));
> +static int inflate_codes OF((struct gzip_state *, struct huft *, struct huft *, int, int));
> +static int inflate_stored OF((struct gzip_state *));
> +static int inflate_fixed OF((struct gzip_state *));
> +static int inflate_dynamic OF((struct gzip_state *));
> +static int inflate_block OF((struct gzip_state *, int *));
> +static int inflate OF((struct gzip_state *));

These are the only users of OF, and it turns out it's a no-op macro. 
This code would be far-less WTF-worthy if it was expanded as part of
patch 1.

>  
>  /*
>   * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
> @@ -162,8 +162,8 @@ static int inflate OF((void));
>   * must be in unzip.h, included above.
>   */
>  /* unsigned wp;             current position in slide */
> -#define wp outcnt
> -#define flush_output(w) (wp=(w),flush_window())
> +#define wp s->outcnt
> +#define flush_output(s, w) (wp=(w),flush_window(s))

The combination of these two isn't safe, I don't think, especially as
one caller passes wp into flush_output().

There are very few users of wp, so expand it in line, and turn
flush_output() into a static function.  In particular, it will make ...

> @@ -560,8 +557,8 @@ static int __init inflate_codes(
>  
>  
>      /* make local copies of globals */
> -    b = bb;                       /* initialize bit buffer */
> -    k = bk;
> +    b = s->bb;                   /* initialize bit buffer */
> +    k = s->bk;
>      w = wp;                       /* initialize window position */

... this look less weird.  I'd suggest dropping the remark about "globals".


> @@ -1157,18 +1157,18 @@ static int __init gunzip(void)
>          error("Input has invalid flags");
>          return -1;
>      }
> -    NEXTBYTE(); /* Get timestamp */
> -    NEXTBYTE();
> -    NEXTBYTE();
> -    NEXTBYTE();
> +    NEXTBYTE(s); /* Get timestamp */
> +    NEXTBYTE(s);
> +    NEXTBYTE(s);
> +    NEXTBYTE(s);
>  
> -    (void)NEXTBYTE();  /* Ignore extra flags for the moment */
> -    (void)NEXTBYTE();  /* Ignore OS type for the moment */
> +    (void)NEXTBYTE(s);  /* Ignore extra flags for the moment */
> +    (void)NEXTBYTE(s);  /* Ignore OS type for the moment */

I'd drop these (void) casts. They're not different to the timestamp above.

> @@ -1224,13 +1224,13 @@ static int __init gunzip(void)
>          error("crc error");
>          return -1;
>      }
> -    if (orig_len != bytes_out) {
> +    if (orig_len != s->bytes_out) {
>          error("length error");
>          return -1;
>      }
>      return 0;
>  
> - underrun:   /* NEXTBYTE() goto's here if needed */
> + underrun:   /* NEXTBYTE(s) goto's here if needed */
>      error("out of input data");
>      return -1;

Just for completeness, this is a dead path because fill_inbuf() is
implemented as panic().

Fixing this wants putting on a todo list somewhere.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 18:50:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 18:50:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707689.1105815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxAMB-00026e-Ib; Wed, 17 Apr 2024 18:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707689.1105815; Wed, 17 Apr 2024 18:50:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxAMB-00026X-Ef; Wed, 17 Apr 2024 18:50:07 +0000
Received: by outflank-mailman (input) for mailman id 707689;
 Wed, 17 Apr 2024 18:50:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8jr4=LW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rxAMA-0001xI-5m
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 18:50:06 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ca98784-fceb-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 20:50:04 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id B9DFECE147B;
 Wed, 17 Apr 2024 18:49:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25C51C072AA;
 Wed, 17 Apr 2024 18:49: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: 4ca98784-fceb-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713379797;
	bh=QEnBWHsX8FgokPMcnFsZrLvkPh9Jho8Pqiss4uIUVRQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CNRahsMTTPtDFQWVMGfhQ2KsMVW2C/T159kx1xVlgqjS6+2KHj3M6maSNNZiyS173
	 aM9Day/Oz3/FO2RVGke8VCg1KPlCu5MT1TGy3o7W+e/Lr68qYJVp1LHrcV99y6Ea3L
	 R3n2DSU5F/VWTL7K80LkGE32JuL3ABN269jmonQUFcWgN8065SiuE/jXwwrmwoZQ8t
	 /J8WMv4qF5gV8LWN460BzeQBxNaVBh4aIPfRh/tkVNf4J8Luq6KiaHWy98/jtS6ny5
	 QWKLPus624C70H0FAQBLNkL+cmHAq1LjSyhOIv0nwPu9NIh0q2cyPP8syKZlE3VHT5
	 nhvtvIRS+XAiw==
Date: Wed, 17 Apr 2024 11:49:55 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
In-Reply-To: <be95f6be-0404-4c43-926f-d011782a02db@xen.org>
Message-ID: <alpine.DEB.2.22.394.2404171148060.2257106@ubuntu-linux-20-04-desktop>
References: <20240417121442.56178-1-michal.orzel@amd.com> <be95f6be-0404-4c43-926f-d011782a02db@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-765210862-1713379797=:2257106"

  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-765210862-1713379797=:2257106
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 17 Apr 2024, Julien Grall wrote:
> Hi Michal,
> 
> On 17/04/2024 13:14, Michal Orzel wrote:
> > Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
> > in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
> > for it. This results in a build failure. Example on Arm:
> > 
> > ./include/public/arch-arm.h:205:41: error: unknown type name
> > ‘__guest_handle_64_int32_t’
> >    205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
> >        |                                         ^~~~~~~~~~~~~~~~~~
> > ./include/public/arch-arm.h:206:41: note: in expansion of macro
> > ‘__XEN_GUEST_HANDLE’
> >    206 | #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
> >        |                                         ^~~~~~~~~~~~~~~~~~
> > ./include/public/memory.h:277:5: note: in expansion of macro
> > ‘XEN_GUEST_HANDLE’
> >    277 |     XEN_GUEST_HANDLE(int32_t) errs;
> > 
> > Fix it. Also, drop guest handle definition for int given no further use.
> > 
> > Fixes: afab29d0882f ("public: s/int/int32_t")
> > Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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


> So it turned out that I committed v1 from Stefano. I was meant to commit the
> patch at all, but I think I started with a dirty staging :(. Sorry for that.
> 
> I have reverted Stefano's commit for now so we can take the correct patch.
> 
> Now, from my understanding, Andrew suggested on Matrix that this solution may
> actually be a good way to handle GUEST_HANLDEs (they were removed in v2).
> Maybe this can be folded in Stefano's patch?

v1 together with Michal's fix is correct. Also v2 alone is correct, or
v2 with Michal's fix is also correct.

My preference is v2 with Michal's fix, they can be committed as separate
patches. Also the others options are fine.
--8323329-765210862-1713379797=:2257106--


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 19:11:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 19:11:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707695.1105825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxAgY-0006Bk-5u; Wed, 17 Apr 2024 19:11:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707695.1105825; Wed, 17 Apr 2024 19:11: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 1rxAgY-0006Bd-2x; Wed, 17 Apr 2024 19:11:10 +0000
Received: by outflank-mailman (input) for mailman id 707695;
 Wed, 17 Apr 2024 19:11: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=8jr4=LW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rxAgW-0006BX-Dp
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 19:11:08 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b8847fd-fcee-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 21:11:04 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 8E772CE1474;
 Wed, 17 Apr 2024 19:10:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD390C072AA;
 Wed, 17 Apr 2024 19:10: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: 3b8847fd-fcee-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713381058;
	bh=bL3xracdleSXEIdkyeoC9ly2RoFq+ax6FNF5N8M1MiQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tz6J8/838DV62Mo3my0gWoHI+E0aHPkvIFNeTiWBcdaG1d8UAn1EBT6oGp7wVGvMU
	 YqxV5oKXlDwpZaMfw1aNXmcHND8BiEPxPqAOPU0yhvq1bhVCJp1uhXLu5zF7p1w5W+
	 BGo3Q3Ww4z8ZVDshdobfWmx2xUbJcZTfBqjkfRQz9F3NWvpKTTwciYgDkwafzfF89q
	 FCtyTH8ATO6625YvieVNb1De8whSMICB9Wp5kM6XVVMGPZ/TR+IM7qSu+NemVJ1oln
	 z3InjwKO8z+YmFleUBQyYCNX3nzDpJ4XENsXP0ueQ1Gr0DzeSVOeQ6Z4YSiAzFg6j7
	 ilVWMqBkOwz9w==
Date: Wed, 17 Apr 2024 12:10:57 -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>, 
    xen-devel@lists.xenproject.org, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
In-Reply-To: <b76bc307-6cf6-443f-80de-d27852ede25f@xen.org>
Message-ID: <alpine.DEB.2.22.394.2404171208410.2257106@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop> <b76bc307-6cf6-443f-80de-d27852ede25f@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 17 Apr 2024, Julien Grall wrote:
> Hi Stefano,
> 
> On 16/04/2024 20:27, Stefano Stabellini wrote:
> > Also add two specific project-wide deviations for R21.6 and R21.15.
> 
> In general, I am fine with add the two rules. However...
> 
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> > index 32b02905d1..9123c8edb5 100644
> > --- a/docs/misra/deviations.rst
> > +++ b/docs/misra/deviations.rst
> > @@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
> >          of the Rule due to uses of this macro.
> >        - Tagged as `deliberate` for ECLAIR.
> >   +   * - R21.6
> > +     - The use of snprintf() and vsnprintf() is justifiable as, despite
> > +       the fact that such functions have the same names of the
> > +       corresponding standard library functions, each configuration of
> > +       Xen has a unique implementation for them; the code implementing
> > +       such functions is subject to the analysis, so that any undefined
> > +       or unspecified behavior associated to them falls under the
> > +       responsibility of other MISRA guidelines
> > +     - Tagged as `safe` for ECLAIR.
> 
> ... this implies that ECLAIR should be modified. But this is not happening in
> this patch. Looking at history, we tend to keep deviations.rst in sync with
> ECLAIR, so I think it should be updated here too.

That is true but I am not very familiar with Eclair config language so
it is better if that is done by the Bugseng team. I can merge their
patch into this one or vice versa or they could be committed separately
(keep in mind that the rule is not enabled in the ECLAIR scan so from a
Gitlab-CI point of view we don't require the change to the ECLAIR config
although it makes sense). I am happy either way. 


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 19:24:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 19:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707714.1105887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxAt4-0001YP-Ui; Wed, 17 Apr 2024 19:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707714.1105887; Wed, 17 Apr 2024 19:24:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxAt4-0001YI-RU; Wed, 17 Apr 2024 19:24:06 +0000
Received: by outflank-mailman (input) for mailman id 707714;
 Wed, 17 Apr 2024 19:24: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 1rxAt3-0001Y1-RN; Wed, 17 Apr 2024 19:24: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 1rxAt3-0004gm-Pq; Wed, 17 Apr 2024 19:24: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 1rxAt3-0006jB-F0; Wed, 17 Apr 2024 19:24:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxAt3-0007Cy-EY; Wed, 17 Apr 2024 19:24: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=/vpTjORkT9LU72rwjcIqQ4jIZOBNuQCAXgsyy6PcJA8=; b=WcIQXQtvFJ0KHAxnrNarXCdUZE
	uIDLeQeKW/bIlBKgJx1XkyjrvvGg9gF8q2E1/EWsaW1fHWIa8IAJBvFAqY+dtScBpFhXl3acHKvU0
	WeBCfsnZLIhP+CJa7Uo9AFIIt7vfvw22KhePvpPVZvucnwEaVvLTOvz05NTlhSdXmvzY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185709-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185709: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0a1c1a01a8028a929d460a966c8f8e7384f5b3a6
X-Osstest-Versions-That:
    xen=65eb8f32b6b82e0268a9d66b49da354bc6698e87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 19:24:05 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  0a1c1a01a8028a929d460a966c8f8e7384f5b3a6
baseline version:
 xen                  65eb8f32b6b82e0268a9d66b49da354bc6698e87

Last test of basis   185282  2024-04-09 12:06:43 Z    8 days
Failing since        185296  2024-04-10 06:02:43 Z    7 days    9 attempts
Testing same since   185709  2024-04-17 07:07:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   65eb8f32b6..0a1c1a01a8  0a1c1a01a8028a929d460a966c8f8e7384f5b3a6 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 19:37:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 19:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707737.1105957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxB5s-0004an-Ur; Wed, 17 Apr 2024 19:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707737.1105957; Wed, 17 Apr 2024 19: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 1rxB5s-0004aa-RY; Wed, 17 Apr 2024 19:37:20 +0000
Received: by outflank-mailman (input) for mailman id 707737;
 Wed, 17 Apr 2024 19:37:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TCN8=LW=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxB5s-0004XH-9A
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 19:37:20 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e77ba27b-fcf1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 21:37:19 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.202])
 by support.bugseng.com (Postfix) with ESMTPSA id F405A4EE074D;
 Wed, 17 Apr 2024 21:37: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: e77ba27b-fcf1-11ee-b909-491648fe20b8
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH v3 1/2] xen/domctl: address violations of MISRA C Rule 16.2
Date: Wed, 17 Apr 2024 21:37:11 +0200
Message-Id: <6ebb49a8ae92dc036d7bed0c708a8830bb93c788.1713382466.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713382466.git.nicola.vetrini@bugseng.com>
References: <cover.1713382466.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the first clauses so that a violation of
MISRA C Rule 16.2 is resolved (a switch label should be immediately
enclosed in the compound statement of the switch).
Note that the switch clause ending with the pseudo
keyword "fallthrough" is an allowed exception to Rule 16.3.

Convert fallthrough comments in other clauses to the pseudo-keyword
while at it.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 docs/misra/safe.json | 8 ++++++++
 xen/common/domain.c  | 1 +
 2 files changed, 9 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index fe2bc185097d..9b13bcf71706 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -44,6 +44,14 @@
         },
         {
             "id": "SAF-5-safe",
+            "analyser": {
+                "eclair": "MC3R1.R16.2"
+            },
+            "name": "MC3R1.R16.2: using a case label when the most closely-enclosing compound statement is not a switch statement",
+            "text": "A switch label enclosed by some compound statement that is not the body of a switch is permitted within local helper macros that are unlikely to be misused or misunderstood."
+        },
+        {
+            "id": "SAF-6-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 282c3ab62308..1e555d658c97 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -457,6 +457,7 @@ static int domain_teardown(struct domain *d)
 
         for_each_vcpu ( d, v )
         {
+            /* SAF-5-safe MISRA C Rule 16.2: switch label enclosed by for loop*/
             PROGRESS_VCPU(teardown);
 
             rc = vcpu_teardown(v);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 19:37:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 19:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707736.1105953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxB5s-0004XZ-OU; Wed, 17 Apr 2024 19:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707736.1105953; Wed, 17 Apr 2024 19: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 1rxB5s-0004XS-Jy; Wed, 17 Apr 2024 19:37:20 +0000
Received: by outflank-mailman (input) for mailman id 707736;
 Wed, 17 Apr 2024 19:37:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TCN8=LW=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxB5q-0004XH-Mi
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 19:37:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5f4002b-fcf1-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 21:37:17 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.202])
 by support.bugseng.com (Postfix) with ESMTPSA id 3C4874EE073C;
 Wed, 17 Apr 2024 21:37: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: e5f4002b-fcf1-11ee-b909-491648fe20b8
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v3 0/2] address violations of MISRA C Rule 16.2
Date: Wed, 17 Apr 2024 21:37:10 +0200
Message-Id: <cover.1713382466.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A respin of the last two patches from the previous series.
No changes other than the different SAF comment id because SAF-4-safe was
already taken.

Nicola Vetrini (2):
  xen/domctl: address violations of MISRA C Rule 16.2
  eclair_analysis: deviate x86 emulator for Rule 16.2

 automation/eclair_analysis/ECLAIR/deviations.ecl | 7 +++++++
 docs/misra/deviations.rst                        | 6 ++++++
 docs/misra/safe.json                             | 8 ++++++++
 xen/common/domain.c                              | 1 +
 4 files changed, 22 insertions(+)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 19:37:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 19:37:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707738.1105973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxB5z-000537-6D; Wed, 17 Apr 2024 19:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707738.1105973; Wed, 17 Apr 2024 19:37:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxB5z-000530-3H; Wed, 17 Apr 2024 19:37:27 +0000
Received: by outflank-mailman (input) for mailman id 707738;
 Wed, 17 Apr 2024 19: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=TCN8=LW=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxB5y-00050p-Fa
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 19:37:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e930535f-fcf1-11ee-94a3-07e782e9044d;
 Wed, 17 Apr 2024 21:37:22 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.202])
 by support.bugseng.com (Postfix) with ESMTPSA id D31534EE074E;
 Wed, 17 Apr 2024 21:37:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e930535f-fcf1-11ee-94a3-07e782e9044d
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH v3 2/2] eclair_analysis: deviate x86 emulator for Rule 16.2
Date: Wed, 17 Apr 2024 21:37:12 +0200
Message-Id: <4ab08d63b264da38d8d91b37ae18a5fb7999d47f.1713382466.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713382466.git.nicola.vetrini@bugseng.com>
References: <cover.1713382466.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 16.2 states:
"A switch label shall only be used when the most closely-enclosing
compound statement is the body of a switch statement".

Since complying with this rule of the x86 emulator would lead to
a lot of code duplication, it is deemed better to exempt those
files for this guideline.

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 | 7 +++++++
 docs/misra/deviations.rst                        | 6 ++++++
 2 files changed, 13 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 0230b41c6d1c..190f6a2fd4e0 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -358,6 +358,13 @@ therefore have the same behavior of a boolean"
 # Series 16.
 #
 
+-doc_begin="Complying with the Rule would entail a lot of code duplication in the implementation of the x86 emulator,
+therefore it is deemed better to leave such files as is."
+-file_tag+={x86_emulate,"^xen/arch/x86/x86_emulate/.*$"}
+-file_tag+={x86_svm_emulate,"^xen/arch/x86/hvm/svm/emulate\\.c$"}
+-config=MC3R1.R16.2,reports+={deliberate, "any_area(any_loc(file(x86_emulate||x86_svm_emulate)))"}
+-doc_end
+
 -doc_begin="Switch clauses ending with continue, goto, return statements are
 safe."
 -config=MC3R1.R16.3,terminals+={safe, "node(continue_stmt||goto_stmt||return_stmt)"}
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 32b02905d19a..ed0c1e8ed0bf 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -296,6 +296,12 @@ Deviations related to MISRA C:2012 Rules:
        therefore have the same behavior of a boolean.
      - Project-wide deviation; tagged as `deliberate` for ECLAIR.
 
+   * - R16.2
+     - Complying with the Rule would entail a lot of code duplication in the
+       implementation of the x86 emulator, therefore it is deemed better to
+       leave such files as is.
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R16.3
      - Switch clauses ending with continue, goto, return statements are safe.
      - Tagged as `safe` for ECLAIR.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 17 20:41:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 20:41:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707750.1105982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxC5f-0000Xy-Po; Wed, 17 Apr 2024 20:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707750.1105982; Wed, 17 Apr 2024 20: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 1rxC5f-0000Xr-Mp; Wed, 17 Apr 2024 20:41:11 +0000
Received: by outflank-mailman (input) for mailman id 707750;
 Wed, 17 Apr 2024 20:41:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxC5e-0000Xh-Iv; Wed, 17 Apr 2024 20:41:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxC5e-000640-CG; Wed, 17 Apr 2024 20:41: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 1rxC5e-0000v6-1P; Wed, 17 Apr 2024 20:41:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxC5e-0007Ve-0z; Wed, 17 Apr 2024 20:41: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=G8w5eOfmOwLKDyHjjTl7Wft4kYfrPCtg8u1beyWf6SA=; b=GzzEkmbFDM8B/NOdm57JdUoHiJ
	90hoA93HQBYI2Yd5MV4O8yXVfkH0lsLOlSxGD/K9N7q9/C3quTE+MiR6KS+vpB+RUNnBTW6WcDvJZ
	/CBvPhJ4I7caeMPKc8K8OYZZfehMt5LClPyHmk4DGqtLtzSxCovbRhh4t1No/zBO3WMU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185725-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185725: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6ced1e91eff13dae1bfba95734e2b34a73601db2
X-Osstest-Versions-That:
    ovmf=61185f1d501512f35621d0fdc5f17503c77bf449
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 20:41:10 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6ced1e91eff13dae1bfba95734e2b34a73601db2
baseline version:
 ovmf                 61185f1d501512f35621d0fdc5f17503c77bf449

Last test of basis   185701  2024-04-17 03:13:46 Z    0 days
Testing same since   185725  2024-04-17 18:43:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Ray Ni <ray.ni@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

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


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

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

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

Test harness 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
   61185f1d50..6ced1e91ef  6ced1e91eff13dae1bfba95734e2b34a73601db2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 21:05:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 21:05:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707758.1105994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxCT1-0005CW-Ry; Wed, 17 Apr 2024 21:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707758.1105994; Wed, 17 Apr 2024 21: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 1rxCT1-0005CP-NY; Wed, 17 Apr 2024 21:05:19 +0000
Received: by outflank-mailman (input) for mailman id 707758;
 Wed, 17 Apr 2024 21:05:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rxCT0-0005CJ-Gk
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 21:05:18 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rxCT0-0006U9-1l; Wed, 17 Apr 2024 21:05:18 +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 1rxCSz-0005wk-Pn; Wed, 17 Apr 2024 21:05:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ANszKmXADJPhZZVjMQoNSYOeDB/LblVcFxw92o/FOgc=; b=NAo0uJHyGJwK4Dc6weSoI73JZm
	Z5yqAYvZroJgd27zTgUn1TCORZ+0rdJTSNdkSFlpJ6Z5vOLDTYaOhjGL/417E+AbNZzC6N9QX4bJo
	e0J2RXwUIrnl8EbSUiNcdKHe4L48ICGnjLqiTbJQQZESj8xVnuEXaseX3ajPUxZ6FiCc=;
Message-ID: <b93c39de-5b8d-4589-909c-4f7d1d2dfdc9@xen.org>
Date: Wed, 17 Apr 2024 22:05:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop>
 <b76bc307-6cf6-443f-80de-d27852ede25f@xen.org>
 <alpine.DEB.2.22.394.2404171208410.2257106@ubuntu-linux-20-04-desktop>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2404171208410.2257106@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 17/04/2024 20:10, Stefano Stabellini wrote:
> On Wed, 17 Apr 2024, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 16/04/2024 20:27, Stefano Stabellini wrote:
>>> Also add two specific project-wide deviations for R21.6 and R21.15.
>>
>> In general, I am fine with add the two rules. However...
>>
>>>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>>
>>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>>> index 32b02905d1..9123c8edb5 100644
>>> --- a/docs/misra/deviations.rst
>>> +++ b/docs/misra/deviations.rst
>>> @@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
>>>           of the Rule due to uses of this macro.
>>>         - Tagged as `deliberate` for ECLAIR.
>>>    +   * - R21.6
>>> +     - The use of snprintf() and vsnprintf() is justifiable as, despite
>>> +       the fact that such functions have the same names of the
>>> +       corresponding standard library functions, each configuration of
>>> +       Xen has a unique implementation for them; the code implementing
>>> +       such functions is subject to the analysis, so that any undefined
>>> +       or unspecified behavior associated to them falls under the
>>> +       responsibility of other MISRA guidelines
>>> +     - Tagged as `safe` for ECLAIR.
>>
>> ... this implies that ECLAIR should be modified. But this is not happening in
>> this patch. Looking at history, we tend to keep deviations.rst in sync with
>> ECLAIR, so I think it should be updated here too.
> 
> That is true but I am not very familiar with Eclair config language so
> it is better if that is done by the Bugseng team. I can merge their
> patch into this one or vice versa or they could be committed separately
> (keep in mind that the rule is not enabled in the ECLAIR scan so from a
> Gitlab-CI point of view we don't require the change to the ECLAIR config
> although it makes sense). I am happy either way.

My comment was not about Gitlab CI. It was more about consistency 
between the file and ECLAIR. I think they should be kept in sync because 
it explain how the tool doing the scanning behave.

My preference is to either split and only commit the rules now or wait 
for the ECLAIR change to happen.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 21:13:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 21:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707763.1106003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxCae-0006hi-J9; Wed, 17 Apr 2024 21:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707763.1106003; Wed, 17 Apr 2024 21:13:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxCae-0006hb-FN; Wed, 17 Apr 2024 21:13:12 +0000
Received: by outflank-mailman (input) for mailman id 707763;
 Wed, 17 Apr 2024 21:13:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8jr4=LW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rxCad-0006hV-A2
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 21:13:11 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a2acf12-fcff-11ee-b909-491648fe20b8;
 Wed, 17 Apr 2024 23:13:09 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 13E64614E7;
 Wed, 17 Apr 2024 21:13:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6131FC072AA;
 Wed, 17 Apr 2024 21:13:06 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a2acf12-fcff-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713388387;
	bh=4gMAg6A0bKtWi13Fskj31GDyPSHH61ZNn7gp5grSJA4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=J1rx2ygnsTzaiBYdaVr3tWWfdWaUPTOy7tHucykYVmhuH+8MXVHSucfq+mDlwVxzs
	 KTQObZUx4VNwLILGzJUnx2Gr0S47X6BWKNd0pNx9jIwf/og8M3XqSiMlhmoDeahmge
	 RNkfl4iFG7aUte1ZX/BL0pdlz3XdAVJZ9tAE+334CN3HPYotTxOJwsKyHu2AnB2C12
	 v1SgDxwfVYNAKenaGUYdfVEw3BkIu1OWFJcG7PTSVwTv3gmycKM2fH+pWPskHlh1Tb
	 MVdBLhTCfQUwd4223u/ogsD1S0X0J03GB0reY4GogCKndE1CnGDtoUZJvoY9tw8p0U
	 uwZXI+3AMX3hA==
Date: Wed, 17 Apr 2024 14:13:05 -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>, 
    xen-devel@lists.xenproject.org, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, nicola.vetrini@bugseng.com, 
    federico.serafini@bugseng.com, consulting@bugseng.com
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
In-Reply-To: <b93c39de-5b8d-4589-909c-4f7d1d2dfdc9@xen.org>
Message-ID: <alpine.DEB.2.22.394.2404171411280.2257106@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop> <b76bc307-6cf6-443f-80de-d27852ede25f@xen.org> <alpine.DEB.2.22.394.2404171208410.2257106@ubuntu-linux-20-04-desktop> <b93c39de-5b8d-4589-909c-4f7d1d2dfdc9@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

+Bugseng

On Wed, 17 Apr 2024, Julien Grall wrote:
> Hi Stefano,
> 
> On 17/04/2024 20:10, Stefano Stabellini wrote:
> > On Wed, 17 Apr 2024, Julien Grall wrote:
> > > Hi Stefano,
> > > 
> > > On 16/04/2024 20:27, Stefano Stabellini wrote:
> > > > Also add two specific project-wide deviations for R21.6 and R21.15.
> > > 
> > > In general, I am fine with add the two rules. However...
> > > 
> > > > 
> > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > > > 
> > > > diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> > > > index 32b02905d1..9123c8edb5 100644
> > > > --- a/docs/misra/deviations.rst
> > > > +++ b/docs/misra/deviations.rst
> > > > @@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
> > > >           of the Rule due to uses of this macro.
> > > >         - Tagged as `deliberate` for ECLAIR.
> > > >    +   * - R21.6
> > > > +     - The use of snprintf() and vsnprintf() is justifiable as, despite
> > > > +       the fact that such functions have the same names of the
> > > > +       corresponding standard library functions, each configuration of
> > > > +       Xen has a unique implementation for them; the code implementing
> > > > +       such functions is subject to the analysis, so that any undefined
> > > > +       or unspecified behavior associated to them falls under the
> > > > +       responsibility of other MISRA guidelines
> > > > +     - Tagged as `safe` for ECLAIR.
> > > 
> > > ... this implies that ECLAIR should be modified. But this is not happening
> > > in
> > > this patch. Looking at history, we tend to keep deviations.rst in sync
> > > with
> > > ECLAIR, so I think it should be updated here too.
> > 
> > That is true but I am not very familiar with Eclair config language so
> > it is better if that is done by the Bugseng team. I can merge their
> > patch into this one or vice versa or they could be committed separately
> > (keep in mind that the rule is not enabled in the ECLAIR scan so from a
> > Gitlab-CI point of view we don't require the change to the ECLAIR config
> > although it makes sense). I am happy either way.
> 
> My comment was not about Gitlab CI. It was more about consistency between the
> file and ECLAIR. I think they should be kept in sync because it explain how
> the tool doing the scanning behave.
> 
> My preference is to either split and only commit the rules now or wait for the
> ECLAIR change to happen.

Understood. Maybe the Bugseng team can provide the corresponding
ECLAIR/deviations.ecl changes


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 21:26:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 21:26:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707768.1106012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxCnY-0001Oo-Lz; Wed, 17 Apr 2024 21:26:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707768.1106012; Wed, 17 Apr 2024 21: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 1rxCnY-0001Oh-JR; Wed, 17 Apr 2024 21:26:32 +0000
Received: by outflank-mailman (input) for mailman id 707768;
 Wed, 17 Apr 2024 21:26: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 1rxCnW-0001Ob-Tn
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 21:26: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 1rxCnV-0006oB-18; Wed, 17 Apr 2024 21:26:29 +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 1rxCnU-00072V-Rn; Wed, 17 Apr 2024 21:26: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=PzM6lmtxx1vfbUaXlTa45jogPT0AAuIOiUx1YiRZdDA=; b=AVvYdU/vOYY0jFZMAHSCNd8D4k
	xFIkjg9fG0GIES6eEj2HUreYTgbBfDWabiM/dO6VHKPJRDUeXiQcYFFZvb8M9m0/5rsBCCA0BIjXq
	XcptxusloE/XIPre0reVDDsgfNp/Yny/+KUk8ufGGkb608cPFKoydELrKqGFfBmnXVnI=;
Message-ID: <91a40928-2a93-4e72-94ae-1d67f85265a1@xen.org>
Date: Wed, 17 Apr 2024 22:26:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] arm: smmu: allow SMMU to have more IRQs than context
 banks
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Rahul Singh <rahul.singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-2-volodymyr_babchuk@epam.com>
 <5681b3e2-2e7f-484f-9ea8-c64e94a97dc3@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5681b3e2-2e7f-484f-9ea8-c64e94a97dc3@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/04/2024 08:28, Michal Orzel wrote:
> Hello,
> 
> On 29/03/2024 01:08, Volodymyr Babchuk wrote:
>>
>>
>> I encountered platform, namely Qualcomm SA8155P where SMMU-compatible
> NIT: a commit msg should be written in imperative mood
> 
>> IO-MMU advertises more context IQRs than there are context banks. This
>> should not be an issue, we need to relax the check in the SMMU driver
>> to allow such configuration.
>>
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> ---
>>   xen/drivers/passthrough/arm/smmu.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
>> index 32e2ff279b..2dd3688f3b 100644
>> --- a/xen/drivers/passthrough/arm/smmu.c
>> +++ b/xen/drivers/passthrough/arm/smmu.c
>> @@ -2550,7 +2550,7 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev)
>>          parse_driver_options(smmu);
>>
>>          if (smmu->version > ARM_SMMU_V1 &&
>> -           smmu->num_context_banks != smmu->num_context_irqs) {
>> +           smmu->num_context_banks > smmu->num_context_irqs) {
> This was done in Linux by commit:
> d1e20222d537 ("iommu/arm-smmu: Error out only if not enough context interrupts")
> 
> However, they also ignore superfluous interrupts. Shouldn't we do the same?

+1. It would be better to avoid allocating stating for IRQs that are 
never used.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 21:45:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 21:45:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707776.1106022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxD61-0005m8-5j; Wed, 17 Apr 2024 21:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707776.1106022; Wed, 17 Apr 2024 21:45:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxD61-0005m1-2p; Wed, 17 Apr 2024 21:45:37 +0000
Received: by outflank-mailman (input) for mailman id 707776;
 Wed, 17 Apr 2024 21: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 1rxD60-0005lv-DY
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 21: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 1rxD5z-00077o-QC; Wed, 17 Apr 2024 21:45:35 +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 1rxD5z-00083Y-KX; Wed, 17 Apr 2024 21: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=WBRW8q6xoVpfNHV6ssixGiqrpjb5AD0sKpo1xAXBdiA=; b=HlC9O2Dcd5OMbhKTnxaxKDQTOn
	njNKlB+q/1F+ZtBWW1LzRBuuSxZZqYU36klI4QihbNOeGkk/7AFduzSt6Se+yESh0HxJI9rzPCue0
	hrFrNtMTseQVeqUpe9r5AQoqDloDXMt4hvBINRAheqxT/Un38Y1E538WUIWnGlZTTIVA=;
Message-ID: <931b2c4c-cfd0-4b6b-82e0-32d7bde9d42e@xen.org>
Date: Wed, 17 Apr 2024 22:45:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] arm: platform: qcom: add basic support SA8155P SoC
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-4-volodymyr_babchuk@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240329000822.3363568-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 29/03/2024 00:08, Volodymyr Babchuk wrote:
> Qualcomm SA8155P is the automotive variant of SM8150 aka Snapdragon
> 855.
> 
> This patch adds very basic support for the platform. We need to handle
> Qualcomm-specific SMC to workaround quirk in the QCOM SCM driver in
> the Linux kernel. Basically the driver tries multiple different SMCs
> to determine which calling convention is supported by a SoC. If all
> calls fail it decides that the SoC uses "legacy SMC" and tries to
> communicate with SCM by issuing SMC with funcid = 1. Problem is that
> Xen has own understanding on how such SMC should be handled. It
> interprets this SMC as legacy PSCI_cpu_off and happily turns of Linux
> boot CPU.
> 
> To workaround this, we pretend that we support
> QCOM_SCM_INFO_IS_CALL_AVAIL, this will make the driver use the latest
> calling convention. All subsequent calls will fail anyways and the
> driver will terminate self gracefully. This is not a big deal, because
> right now (with Linux 6.8) even on baremetal setup the driver fails
> anyways, because it does not know how to work with this SoC.

Is there any patches that are not yet merged and/or on a Qualcomm 
specific tree? I just want to make sure that we have a code that will 
still work in the near future.

> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   xen/arch/arm/platforms/Makefile |  1 +
>   xen/arch/arm/platforms/qcom.c   | 77 +++++++++++++++++++++++++++++++++
>   2 files changed, 78 insertions(+)
>   create mode 100644 xen/arch/arm/platforms/qcom.c
> 
> diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
> index 8632f4115f..6873735ef0 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -9,5 +9,6 @@ obj-$(CONFIG_ALL_PLAT)   += sunxi.o
>   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) += qcom.o
>   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>   obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
> diff --git a/xen/arch/arm/platforms/qcom.c b/xen/arch/arm/platforms/qcom.c
> new file mode 100644
> index 0000000000..77e9c58649
> --- /dev/null
> +++ b/xen/arch/arm/platforms/qcom.c
> @@ -0,0 +1,77 @@
> +/*
> + * xen/arch/arm/platforms/qcom.c
> + *
> + * Qualcomm SoCs specific code
> + *
> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> + *
> + * Copyright (c) 2024 EPAM Systems.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.

Did you intend to license the code as GPLv2+? See [1], for some context.

> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + */
> +
> +#include <asm/platform.h>
> +#include <public/arch-arm/smccc.h>
> +#include <asm/smccc.h>
> +
> +#define SCM_SMC_FNID(s, c)	((((s) & 0xFF) << 8) | ((c) & 0xFF))
> +#define QCOM_SCM_SVC_INFO		0x06
> +#define QCOM_SCM_INFO_IS_CALL_AVAIL	0x01
> +
> +#define ARM_SMCCC_SIP_QCOM_SCM_IS_CALL_AVAIL                            \

I find this name a little bit too long. Can we remove ARM_SMCCC as I 
don't think it adds any value?

> +    ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL,                             \
> +                       ARM_SMCCC_CONV_64,                               \
> +                       ARM_SMCCC_OWNER_SIP,                             \
> +                       SCM_SMC_FNID(QCOM_SCM_SVC_INFO,                  \
> +                                    QCOM_SCM_INFO_IS_CALL_AVAIL))
> +
> +static const char * const sa8155p_dt_compat[] __initconst =
> +{
> +    "qcom,sa8155p",
> +    NULL
> +};
> +
> +static bool sa8155p_smc(struct cpu_user_regs *regs)
> +{
> +    uint32_t funcid = get_user_reg(regs, 0);
> +

The function will also called for guests. But only the hardware 
domain/dom0 is using the machine qcom,sa8155p, so I think you want to 
check the domain.

> +    switch ( funcid ) {
> +    case ARM_SMCCC_SIP_QCOM_SCM_IS_CALL_AVAIL:
> +        /*
> +         * We need to implement this specific call only to make Linux
> +         * counterpart happy: QCOM SCM driver in Linux tries to
> +         * determine calling convention by issuing this particular
> +         * SMC. If it receives an error it assumes that platform uses
> +         * legacy calling convention and tries to issue SMC with
> +         * funcid = 1. Xen interprets this as PSCI_cpu_off and turns
> +         * off Linux boot vCPU.
> +         */
> +        set_user_reg(regs, 0, ARM_SMCCC_SUCCESS);
> +        set_user_reg(regs, 1, 1);
> +        return true;
> +    default:
> +        return false;
> +    }
> +}
> +
> +PLATFORM_START(sa8155p, "Qualcomm SA8155P")
> +    .compatible = sa8155p_dt_compat,
> +    .smc = sa8155p_smc
> +PLATFORM_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

Cheers,

[1] https://lore.kernel.org/1272bb77-8a93-4ca2-af0d-4c1c36729307@xen.org

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 21:59:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 21:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707782.1106032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxDIu-0008Kb-9I; Wed, 17 Apr 2024 21:58:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707782.1106032; Wed, 17 Apr 2024 21: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 1rxDIu-0008KU-6X; Wed, 17 Apr 2024 21:58:56 +0000
Received: by outflank-mailman (input) for mailman id 707782;
 Wed, 17 Apr 2024 21:58: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 1rxDIt-0008KO-GC
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 21:58: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 1rxDIs-0007JP-9j; Wed, 17 Apr 2024 21:58: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 1rxDIs-00006N-3c; Wed, 17 Apr 2024 21:58: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=II5tclPltclzsE8LMFxvJjn+8s1w53uZOckUeKFXjoc=; b=LrrkKTdnbTbrC1mBcnRRdPiiTB
	tgypHjMuQp+cu0Mar61Hw72NIIKlikAraeolrdY70ujRAgGiOr+wfFPrPyU8GXWi1mPoA5qkjaMiu
	qM5tM/yp70QHzUExOGyswzzZBUKW3BJ4FyCVBxbwy099LM8keUg/D2DRVwbv+PBEv17c=;
Message-ID: <5b9f9b19-282a-4005-a506-6b3df7363a89@xen.org>
Date: Wed, 17 Apr 2024 22:58:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 29/03/2024 00:08, Volodymyr Babchuk wrote:
> Generic Interface (GENI) is a newer interface for low speed interfaces
> like UART, I2C or SPI. This patch adds the simple driver for the UART
> instance of GENI. Code is based on similar drivers in U-Boot and Linux
> kernel.

If this is based on Linux/U-boot, then I assume you read the code and 
possibly copy/paste some of it. Therefore...

> 
> This driver implements only simple synchronous mode, because although
> GENI supports FIFO mode, it needs to know number of
> characters **before** starting TX transaction. This is a stark
> contrast when compared to other UART peripherals, which allow adding
> characters to a FIFO while TX operation is running.
> 
> The patch adds both normal UART driver and earlyprintk version.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   xen/arch/arm/Kconfig.debug           |  19 +-
>   xen/arch/arm/arm64/debug-qcom.inc    |  76 +++++++
>   xen/arch/arm/include/asm/qcom-uart.h |  48 +++++
>   xen/drivers/char/Kconfig             |   8 +
>   xen/drivers/char/Makefile            |   1 +
>   xen/drivers/char/qcom-uart.c         | 288 +++++++++++++++++++++++++++
>   6 files changed, 439 insertions(+), 1 deletion(-)
>   create mode 100644 xen/arch/arm/arm64/debug-qcom.inc
>   create mode 100644 xen/arch/arm/include/asm/qcom-uart.h
>   create mode 100644 xen/drivers/char/qcom-uart.c
> 
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index eec860e88e..f6ab0bb30e 100644
> --- a/xen/arch/arm/Kconfig.debug
> +++ b/xen/arch/arm/Kconfig.debug
> @@ -119,6 +119,19 @@ choice
>   			selecting one of the platform specific options below if
>   			you know the parameters for the port.
>   
> +			This option is preferred over the platform specific
> +			options; the platform specific options are deprecated
> +			and will soon be removed.
> +	config EARLY_UART_CHOICE_QCOM
> +		select EARLY_UART_QCOM
> +		bool "Early printk via Qualcomm debug UART"
> +		help
> +			Say Y here if you wish the early printk to direct their
> +			output to a Qualcomm debug UART. You can use this option to
> +			provide the parameters for the debug UART rather than
> +			selecting one of the platform specific options below if
> +			you know the parameters for the port.
> +
>   			This option is preferred over the platform specific
>   			options; the platform specific options are deprecated
>   			and will soon be removed.
> @@ -211,6 +224,9 @@ config EARLY_UART_PL011
>   config EARLY_UART_SCIF
>   	select EARLY_PRINTK
>   	bool
> +config EARLY_UART_QCOM
> +	select EARLY_PRINTK
> +	bool
>   
>   config EARLY_PRINTK
>   	bool
> @@ -261,7 +277,7 @@ config EARLY_UART_PL011_MMIO32
>   	  will be done using 32-bit only accessors.
>   
>   config EARLY_UART_INIT
> -	depends on EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0
> +	depends on (EARLY_UART_PL011 && EARLY_UART_PL011_BAUD_RATE != 0) || EARLY_UART_QCOM
>   	def_bool y
>   
>   config EARLY_UART_8250_REG_SHIFT
> @@ -308,3 +324,4 @@ config EARLY_PRINTK_INC
>   	default "debug-mvebu.inc" if EARLY_UART_MVEBU
>   	default "debug-pl011.inc" if EARLY_UART_PL011
>   	default "debug-scif.inc" if EARLY_UART_SCIF
> +	default "debug-qcom.inc" if EARLY_UART_QCOM
> diff --git a/xen/arch/arm/arm64/debug-qcom.inc b/xen/arch/arm/arm64/debug-qcom.inc
> new file mode 100644
> index 0000000000..130d08d6e9
> --- /dev/null
> +++ b/xen/arch/arm/arm64/debug-qcom.inc
> @@ -0,0 +1,76 @@
> +/*
> + * xen/arch/arm/arm64/debug-qcom.inc
> + *
> + * Qualcomm debug UART specific debug code
> + *
> + * Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> + * Copyright (C) 2024, EPAM Systems.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.

... I don't think you can use GPLv2+ license here. It has to be the same 
as Linux/U-boot.

Also, as there is no public manual, can you provide some pointer to the 
code from both repo (including version)? This would help the reviewer to 
confirm you code.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 22:32:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 22:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707790.1106053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxDou-0007CT-6e; Wed, 17 Apr 2024 22:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707790.1106053; Wed, 17 Apr 2024 22: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 1rxDou-0007CK-4A; Wed, 17 Apr 2024 22:32:00 +0000
Received: by outflank-mailman (input) for mailman id 707790;
 Wed, 17 Apr 2024 22:31:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rxDos-0006xq-J4
 for xen-devel@lists.xenproject.org; Wed, 17 Apr 2024 22:31:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rxDoq-0007sZ-J8; Wed, 17 Apr 2024 22:31:56 +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 1rxDoq-0001i0-9j; Wed, 17 Apr 2024 22:31:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=b36aNP/YuolflNKV45a8qpnLXiGR1ZvC4bh8IyUx6eY=; b=yDJDp2Vg4JqfIHA+G8CWqJaJig
	wTpY44XvmQvdeW3QmvrvYikFGNGcXPdZUxtoCxJjprD1Q+mFIMtPCwJTTk+ZsvkGLcznkD1iDiMTv
	v4afyPv1sdB5m9tbqV8ZEkGxQc6hUKRZn3xIJ2W4u9JblhZ3GxlB3EF2Epyq2vrhiLzs=;
Message-ID: <d6f385f2-c7c5-4d46-b199-d325b9ded703@xen.org>
Date: Wed, 17 Apr 2024 23:31:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] drivers: serial: add Qualcomm GENI-based serial
 driver
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20240329000822.3363568-1-volodymyr_babchuk@epam.com>
 <20240329000822.3363568-3-volodymyr_babchuk@epam.com>
 <91ceb418-f055-45ba-82c4-f37e812d5242@amd.com> <87le5vxy26.fsf@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <87le5vxy26.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/04/2024 22:19, Volodymyr Babchuk wrote:
> 
> Hi Michal,
> 
> Michal Orzel <michal.orzel@amd.com> writes:
> 
>> Hello,
>>
>> On 29/03/2024 01:08, Volodymyr Babchuk wrote:
>>>
>>>
>>> Generic Interface (GENI) is a newer interface for low speed interfaces
>>> like UART, I2C or SPI. This patch adds the simple driver for the UART
>>> instance of GENI. Code is based on similar drivers in U-Boot and Linux
>>> kernel.
>> Do you have a link to a manual?
> 
> I wish I had. Qualcomm provides HW manuals only under very strict
> NDAs. At the time of writing I don't have access to the manual at
> all. Those patches are based solely on similar drivers in U-Boot and
> Linux kernel.
> 
>>>
>>> This driver implements only simple synchronous mode, because although
>>> GENI supports FIFO mode, it needs to know number of
>>> characters **before** starting TX transaction. This is a stark
>>> contrast when compared to other UART peripherals, which allow adding
>>> characters to a FIFO while TX operation is running.
>>>
>>> The patch adds both normal UART driver and earlyprintk version.
>>>
>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>> ---
>>>   xen/arch/arm/Kconfig.debug           |  19 +-
>>>   xen/arch/arm/arm64/debug-qcom.inc    |  76 +++++++
>> Shouldn't all the files (+ other places) have geni in their names? Could qcom refer to other type of serial device?
> 
> AFAIK, there is an older type of serial device. Both Linux and U-Boot
> use "msm" instead of "qcom" in drivers names for those devices.
> 
> But I can add "geni" to the names, no big deal.
> 
>>
>>>   xen/arch/arm/include/asm/qcom-uart.h |  48 +++++
>>>   xen/drivers/char/Kconfig             |   8 +
>>>   xen/drivers/char/Makefile            |   1 +
>>>   xen/drivers/char/qcom-uart.c         | 288 +++++++++++++++++++++++++++
>>>   6 files changed, 439 insertions(+), 1 deletion(-)
>>>   create mode 100644 xen/arch/arm/arm64/debug-qcom.inc
>>>   create mode 100644 xen/arch/arm/include/asm/qcom-uart.h
>>>   create mode 100644 xen/drivers/char/qcom-uart.c
>>>
>>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>>> index eec860e88e..f6ab0bb30e 100644
>>> --- a/xen/arch/arm/Kconfig.debug
>>> +++ b/xen/arch/arm/Kconfig.debug
>>> @@ -119,6 +119,19 @@ choice
>>>                          selecting one of the platform specific options below if
>>>                          you know the parameters for the port.
>>>
>>> +                       This option is preferred over the platform specific
>>> +                       options; the platform specific options are deprecated
>>> +                       and will soon be removed.
>>> +       config EARLY_UART_CHOICE_QCOM
>> The list is sorted alphabetically. Please adhere to that.
>>
> 
> Sure
> 
>>> +               select EARLY_UART_QCOM
>>> +               bool "Early printk via Qualcomm debug UART"
>> Shouldn't you add depends on ARM_64? Isn't this device Arm64 specific like in Linux?
>>
> 
> In linux it depends on ARCH_QCOM which can be enabled both for arm and
> arm64. But for Xen case... I believe it is better to make ARM_64
> dependency.
If you don't provide the early printk for arm32, then you need to add 
DEPENDS ON otherwise randconfig will fail on arm32.

[...]

> You see, this code is working inside-out. early printk code in Xen is
> written with assumption that early_uart_transmit don't need a scratch
> register. But this is not true for GENI... To send one character we
> must write two registers beforehand: TX_TRANS_LEN and CMD0. Only after
> that we can write something to FIFO. But early_uart_transmit has no
> scratch register to prepare values for TX_TRANS_LEN and CMD0. So we
> write what we do here
> 
> 1. Reset the state machine with ABORT command
> 2. Write 1 to TX_TRANS_LEN
> 3. Write START_TX to CMD0
> 
> Now early_uart_transmit can write "wt" to the FIFO and after that it can
> use "wt" as a scratch register to repeat steps 2 and 3.

AFAIU, this means we would potentially do one too many iteration. Does 
this have any implication to the runtime UART driver?

But why do we need to repeat step 2/3? Is this because both registers 
will be reset after the character is written?

> 
> Probably I need this as a comment to into the .inc file...
> 
>>> +        mov   w\c, #M_GENI_CMD_ABORT
>>> +        str   w\c, [\xb, #SE_GENI_M_CMD_CTRL_REG]
>>> +1:
>>> +        ldr   w\c, [\xb, #SE_GENI_M_IRQ_STATUS]   /* Load IRQ status */
>>> +        tst   w\c, #M_CMD_ABORT_EN         /* Check TX_FIFI_WATERMARK_EN bit */
>> The comment does not correspond to the code. Shouldn't this be the same as in early_uart_ready?
>>
> 
> We need to reset the state machine with ABORT command just in case.

Would you mind to explain what you mean with "just in case"? A pointer
to the corresponding Linux/U-boot code would be helpful.

[...]

>>> +
>>> +#endif /* __ASM_ARM_QCOM_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 e18ec3788c..52c3934d06 100644
>>> --- a/xen/drivers/char/Kconfig
>>> +++ b/xen/drivers/char/Kconfig
>>> @@ -68,6 +68,14 @@ config HAS_SCIF
>>>            This selects the SuperH SCI(F) UART. If you have a SuperH based board,
>>>            or Renesas R-Car Gen 2/3 based board say Y.
>>>
>>> +config HAS_QCOM_UART
>>> +       bool "Qualcomm GENI UART driver"
>>> +       default y
>>> +       depends on ARM
>> Isn't is Arm64 specific device?
>>
> 
> Probably yes. I believe it is safe to assume that it is Arm64-specific
> in Xen case.

Is it because there is no 32-bit HW from qualcomm that supports 
virtualization?

[...]

>>> +DT_DEVICE_START(qcom_uart, "QCOM UART", DEVICE_SERIAL)
>>> +    .dt_match = qcom_uart_dt_match,
>>> +    .init = qcom_uart_init,
>>> +DT_DEVICE_END
>>> +
>>> +/*
>>> + * Local variables:
>>> + * mode: C
>>> + * c-file-style: "BSD"
>>> + * c-basic-offset: 4
>>> + * indent-tabs-mode: nil
>>> + * End:
>>> + */
>>> --
>>> 2.43.0
>>
>> What about vUART? You don't seem to set vuart information that is used by vuart.c and vpl011.c
>>
> 
> I am not sure that it is possible to emulate GENI UART with simple vuart
> API. vuart makes assumption that there is one simple status register and
> FIFO register operates on per-character basis, while even earlycon part
> of the driver in Linux tries to pack 4 characters to one FIFO write.

So I agree that enabling vUART is probably going to be difficult. But 
you should be able to implement the vpl011 as it only require a base and 
an IRQ.

That said, from the driver PoV, there is no differentiation today. We 
could add a extra parameter, but I don't think this needs to be handled 
in this series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 22:32:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 22:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707788.1106043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxDos-0006y3-Qf; Wed, 17 Apr 2024 22:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707788.1106043; Wed, 17 Apr 2024 22:31:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxDos-0006xv-Na; Wed, 17 Apr 2024 22:31:58 +0000
Received: by outflank-mailman (input) for mailman id 707788;
 Wed, 17 Apr 2024 22:31:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxDor-0006xg-Qj; Wed, 17 Apr 2024 22:31:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxDor-0007sd-E1; Wed, 17 Apr 2024 22:31: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 1rxDor-0003hk-56; Wed, 17 Apr 2024 22:31:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxDor-0000ur-4Y; Wed, 17 Apr 2024 22:31: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=9GDs8A5xJwqX0+VnzgUp181bv+khM3njUN9JgGMs/KA=; b=BwTyZPJA0KLAYb4pVv3AlQ+jOB
	9stUcYNjMnLEbG4pQ2TwF5+1+OBRtHFqevQ2+dGX3S5pVe6vjJYAHxk3cR6RHQbXhoISwpXeaCsYU
	SSChpUL6KZa5tb+VV83Rs4uoX2uVZyEaWx6/9bA5aSmcmM12vvvOcgapK47jQrGjNCRc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185726-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185726: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0afb8743493853e30171f6000de51242e22a1eb8
X-Osstest-Versions-That:
    ovmf=6ced1e91eff13dae1bfba95734e2b34a73601db2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 22:31:57 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0afb8743493853e30171f6000de51242e22a1eb8
baseline version:
 ovmf                 6ced1e91eff13dae1bfba95734e2b34a73601db2

Last test of basis   185725  2024-04-17 18:43:01 Z    0 days
Testing same since   185726  2024-04-17 21:14:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Ray Ni <ray.ni@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

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


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

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

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

Test harness 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
   6ced1e91ef..0afb874349  0afb8743493853e30171f6000de51242e22a1eb8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Apr 17 22:51:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 17 Apr 2024 22:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707802.1106063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxE7m-0003VU-Od; Wed, 17 Apr 2024 22:51:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707802.1106063; Wed, 17 Apr 2024 22:51:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxE7m-0003VN-Lx; Wed, 17 Apr 2024 22:51:30 +0000
Received: by outflank-mailman (input) for mailman id 707802;
 Wed, 17 Apr 2024 22:51:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxE7l-0003VB-Lc; Wed, 17 Apr 2024 22:51:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxE7l-0008Gs-Ec; Wed, 17 Apr 2024 22:51:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxE7k-0004At-Uy; Wed, 17 Apr 2024 22:51:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxE7k-0004pG-Ub; Wed, 17 Apr 2024 22:51: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=4Aoi9yrSkNq9Rs9EpyLJoPkXgapZhvKrVYRm7gLkq2E=; b=fEcEEs2QB4A8EZFC8Avg7+u6vi
	GXAaQrCAO/SS+M/y+G3OEWG9I+MQO1qlaXiVj45YJt7VGwU8txHJfJ1LWdu6HrF2pCabuBDycSlrV
	LnSPF1CZJJYET2w8JeQbconBGDQ+SwXncryV4tPoM88V8tJTngmWl+SHEcEvejrk7jsk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185710-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185710: 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-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-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-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing: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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-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=cd2df4561edef2c104f46f8d0998e8ccefdf9c5e
X-Osstest-Versions-That:
    xen=9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 17 Apr 2024 22:51:28 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185283
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185283
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185283
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185283
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185283
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185283
 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-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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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          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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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                  cd2df4561edef2c104f46f8d0998e8ccefdf9c5e
baseline version:
 xen                  9c7c50969fa6c7b1e2d24c2c9dfe528079d72df2

Last test of basis   185283  2024-04-09 12:06:57 Z    8 days
Failing since        185297  2024-04-10 10:03:29 Z    7 days    7 attempts
Testing same since   185710  2024-04-17 07:07:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   9c7c50969f..cd2df4561e  cd2df4561edef2c104f46f8d0998e8ccefdf9c5e -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 02:26:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 02:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707843.1106181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxHTv-00063e-MH; Thu, 18 Apr 2024 02:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707843.1106181; Thu, 18 Apr 2024 02: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 1rxHTv-00063X-Gz; Thu, 18 Apr 2024 02:26:35 +0000
Received: by outflank-mailman (input) for mailman id 707843;
 Thu, 18 Apr 2024 02:26: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 1rxHTu-00063N-UY; Thu, 18 Apr 2024 02:26: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 1rxHTu-0003Fj-QJ; Thu, 18 Apr 2024 02:26: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 1rxHTu-00013m-BA; Thu, 18 Apr 2024 02:26:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxHTu-0001Ry-Ad; Thu, 18 Apr 2024 02:26: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=PjBuLrFwqEne+nwSiMZHzidamUo91y6NMCHzMP3evDg=; b=g5GdepG582JSTF3x7uvNWAfa+i
	F9GPYi3IoO5ox8vGGSnka9K/SwOjwBY5vOXU6KB9d73hcwGvWGK8gdUlaKf+yceaLwx6jSMkcwn68
	2bW/+rPTMG5rq15bkxzZ5MgHtWQ3G/6sqQtIBb8ksSjGZQT/3u2Uo4IAUT2slBT8Jiac=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185711-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185711: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-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-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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-amd64-amd64-libvirt-qcow2: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-vhd:migrate-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-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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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
X-Osstest-Versions-This:
    xen=5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
X-Osstest-Versions-That:
    xen=b8f39fd4d024ea72c586f1afd233f379c6f6230b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Apr 2024 02:26:34 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185284  2024-04-09 12:07:06 Z    8 days
Failing since        185300  2024-04-10 16:35:42 Z    7 days    8 attempts
Testing same since   185400  2024-04-12 22:46:40 Z    5 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   b8f39fd4d0..5d9a931fe2  5d9a931fe2c1310dbfd946bbc1e22a177add4f5c -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:04:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707921.1106347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxKs8-00024z-Ix; Thu, 18 Apr 2024 06:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707921.1106347; Thu, 18 Apr 2024 06: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 1rxKs8-00024s-FC; Thu, 18 Apr 2024 06:03:48 +0000
Received: by outflank-mailman (input) for mailman id 707921;
 Thu, 18 Apr 2024 06:03:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxKs7-00024m-C4
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:03:47 +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 6a087263-fd49-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 08:03:45 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-418d1edcd4cso3413475e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 23:03: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
 i9-20020a05600c354900b00418ee62b507sm161308wmq.35.2024.04.17.23.03.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 23:03: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: 6a087263-fd49-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713420224; x=1714025024; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=svoMFNqiRsL9qO79yJc9DtsHHk+kA0oxf5Ls4pJpYIU=;
        b=EzQoVxNnjM02i8cB75uOdVyJwETGrFk1X8QC26juL3atuDkGBt6gAVEJAuCVwArQoc
         GJ4V5XJfvPABMFPwP1mCWYBYrzo6wlV7aMEjX1CgxUL4B0IRRcfLO44sp5jvUjxcuI6w
         h1DFpN/VVX3M9iw3I21FnXaABFe22ALnIuhA+PNOuuWfAaFs5nU6lTfwvJ5De2Qh9C0I
         k7/kGg2M3GXJEJPztYQ4SkE+qLw/FMFpXtdZ2rH2y8x28pA2x7CR03gQMYJy4jlfqZJF
         1qmoelf7aBvVG3FoV8oBXgog83tOEgiHSSvfTc/RsKiAo7W05LHGrSYpdG0ZlpCoDI8L
         /+RQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713420224; x=1714025024;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=svoMFNqiRsL9qO79yJc9DtsHHk+kA0oxf5Ls4pJpYIU=;
        b=P6Iq9zqcaphRQS+EmtCVjraubV+eTzIxZ8FR+u8qawCmp/Hy0Z+0Z+IGSlM0LsCNxx
         1H5yTbUNFAqh7a6eEwFSg/LsXHm7mXrWtwJTmJuU4biIjwyDPQp6ngFe/ncpJYTtjw6+
         kbfoRuqDf9C4gkF0FmVIeSnMZqDCrgi74HiB32C2vNqXQecDjKF0wxksSHOtcL/RsPt0
         WhAB0wBJ2ok8H1xLcjBumJjR+bFqqm5A7XysAwfSHs+ONePP3JUwAhKjAH2PokCvRJ1u
         uqLJ//gcrGFAFMUoP+CL3rl3XhD8drcc/EvuTVPuqbJ9XerKHobJPuZ4j7TyOBUCjp/x
         C6ig==
X-Forwarded-Encrypted: i=1; AJvYcCVVoAd8ThECqYaREgUoo2Q10w8Ex14hsvhXbLlDCSYmGDDgDI3kMlV4RT0SWU2cqC3TGZ/CsFOn30fpIK+X5dPFB+DladnbPcCQaH/GQQA=
X-Gm-Message-State: AOJu0YwFrnvJmMYnMoxCysvuz1jNXrmsbzaZVb2lLnIs0E1X0zllRV25
	m9Ul8jkJVymVQGgF3C8jsg+/ssag9+cK8PMKRosH6uWRIh2GxfbM+L69XKMS9w==
X-Google-Smtp-Source: AGHT+IEne5M2xNICF36jI34kZu7iRBA03Z1i77FQPOvZ0moCjD2I9Vhdm88jkoyzTYI8Rh73IG3Vuw==
X-Received: by 2002:a05:600c:ccf:b0:418:ced:647a with SMTP id fk15-20020a05600c0ccf00b004180ced647amr1234290wmb.21.1713420224478;
        Wed, 17 Apr 2024 23:03:44 -0700 (PDT)
Message-ID: <1a2fc442-642c-4ee5-a00b-197836fd79b7@suse.com>
Date: Thu, 18 Apr 2024 08:03:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 10/19] xen/riscv: introduce atomic.h
Content-Language: en-US
To: Oleksii <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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712137031.git.oleksii.kurochko@gmail.com>
 <6a6c4ef8663d9da8c8a2aba4baf0286f31566edf.1712137031.git.oleksii.kurochko@gmail.com>
 <3c939faa-98a5-4424-b405-b5c7c6c1c0b2@suse.com>
 <3ac34164e69f1983db3d4a66f62334497384958b.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3ac34164e69f1983db3d4a66f62334497384958b.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.04.2024 09:39, Oleksii wrote:
> On Mon, 2024-04-08 at 10:23 +0200, Jan Beulich wrote:
>> On 03.04.2024 12:20, Oleksii Kurochko wrote:
>>> +/*
>>> + * Only CONFIG_GENERIC_ATOMIC64=y was ported to Xen that is the
>>> reason why
>>> + * last argument of ATOMIC_FETCH_OP, ATOMIC_OP_RETURN isn't used.
>>> + */
>>> +#define ATOMIC_OPS(op, asm_op, c_op,
>>> unary_op)                          \
>>> +        ATOMIC_FETCH_OP( op, asm_op,       unary_op, w, int,  
>>> )        \
>>> +        ATOMIC_OP_RETURN(op, asm_op, c_op, unary_op, w, int,   )
>>> +
>>> +ATOMIC_OPS(add, add, +, +)
>>> +ATOMIC_OPS(sub, add, +, -)
>>> +
>>> +#undef ATOMIC_OPS
>>> +
>>> +#define ATOMIC_OPS(op, asm_op, unary_op) \
>>> +        ATOMIC_FETCH_OP(op, asm_op, unary_op, w, int,   )
>>> +
>>> +ATOMIC_OPS(and, and, +)
>>> +ATOMIC_OPS( or,  or, +)
>>> +ATOMIC_OPS(xor, xor, +)
>>
>> The + isn't really needed here as a macro argument; ATOMIC_OPS()
>> itself could
>> pass it to ATOMIC_FETCH_OP(). I also wonder why ATOMIC_OPS() has both
>> "op" and
>> "asm_op", when both are uniformly the same.
> It is needed for the case when sub operation is implemented using add
> plus negative number:
> +ATOMIC_OPS(sub, add, +, -)

Except there's no such case right here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:10:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707925.1106357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxKyx-0003Xh-8p; Thu, 18 Apr 2024 06:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707925.1106357; Thu, 18 Apr 2024 06:10:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxKyx-0003Xa-4v; Thu, 18 Apr 2024 06:10:51 +0000
Received: by outflank-mailman (input) for mailman id 707925;
 Thu, 18 Apr 2024 06:10:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxKyv-0003XU-Vb
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:10:49 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 663decbc-fd4a-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 08:10:48 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-418e06c0ef4so3460775e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 23:10: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
 bd14-20020a05600c1f0e00b004182fab5098sm5244428wmb.20.2024.04.17.23.10.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 23:10: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: 663decbc-fd4a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713420647; x=1714025447; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hV1F4wIRmtR6mMupBr/O2T46s+fxrJScQpNxTf6Y7yU=;
        b=YA6gazjcOE+KGff/qnUghXVT/GxAkx9UlJAHpIinojpo/+G8NSxlince9uDPUz6AlN
         5mTOCshNfhT6ztpg3KnNNAsKD51sPt/kd7iS2DEKPhm0qIEgVSmzL6MBBpipDXAacqJe
         m+Wh4qa/4oek3ucqZgsfw4U6YFrKjZTHcVYZAbmB4p41GcxujjEzw6BqApPuWzzsRPnr
         YzH3HpXbpFRAGfsDmq3LIWP+OIX+6fPZUHUOWMKexwPcigdbB66Vfy5CSSfFqxn4R39O
         DnmfNJPNLTVp42sKM+oSOYwXia+Wv7EOPqhfq+lLHO+790zfMJgJ0r+LgxuWmg1YLu4N
         Hkvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713420647; x=1714025447;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hV1F4wIRmtR6mMupBr/O2T46s+fxrJScQpNxTf6Y7yU=;
        b=ILFN9OHSDydyNW+w5Eephe02LuCN1KTYp3tZl87v9nx+QxBLKBSadGjX9KdAbC0en0
         XgbIiazi1Sl9YUgMw8D27xfwb1nyAy+PpUCriDLDhl3g8by3ZYXo8ivzjKDzOesPjl1i
         rSJ7ACOs8+r/XCsf+iYx0JPOneTBkQV/uf0ZyV2aZCG4XjCDIJpEDp1XEZ39BRtu/tMR
         QQ+PWKdYxH4ioMCQT4x2SgTTnhdHLE6bNT5TUh66M1EO/AtU/uakvXx8Gru04OGQ/qBE
         rsXtJOSJy2IweKFcCHDpjKbpfxPd8t/m2Af7YtXKGn6//wnPn9rkVb+/l9qZNdImejW1
         gYSw==
X-Gm-Message-State: AOJu0Yzw3AGXWjHQ9YTzmZ2Z1dRRkaqNIC3bHkSM6Y2LVTXp8CGkjhaE
	d3avgDIyG2sZh14qHBiuoYobXCxrIHFnqZH/meIr6rilWdgi5WC4zsFxvsUqUA==
X-Google-Smtp-Source: AGHT+IFNSB4rMNfAE4p+jpJncex/PyGqCSAiyqDxdzr4gyJcRY3dvM5LGI0T3urA1CHRSaLQrN/HPg==
X-Received: by 2002:a05:600c:310a:b0:416:2d39:bcc2 with SMTP id g10-20020a05600c310a00b004162d39bcc2mr1531822wmo.29.1713420647542;
        Wed, 17 Apr 2024 23:10:47 -0700 (PDT)
Message-ID: <f65ae42d-32e0-4d95-b4a8-625da7158d41@suse.com>
Date: Thu, 18 Apr 2024 08:10:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v1 1/2] xen/arm64: entry: Use xen/linkage.h to
 annotate symbols
Content-Language: en-US
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,
 edgar.iglesias@amd.com, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
 <20240410091947.1498695-2-edgar.iglesias@gmail.com>
 <9f12ebbb-5080-4eff-a965-8d5ab8e3ccd0@citrix.com>
 <CAJy5ezraDhjVvAp_VCG0FO0smNK7=5goVOwcnCEY_8LycjwWYQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAJy5ezraDhjVvAp_VCG0FO0smNK7=5goVOwcnCEY_8LycjwWYQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.04.2024 12:24, Edgar E. Iglesias wrote:
> On Wed, Apr 10, 2024 at 12:21 PM Andrew Cooper <andrew.cooper3@citrix.com>
> wrote:
> 
>> On 10/04/2024 10:19 am, Edgar E. Iglesias wrote:
>>> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>>>
>>> Use the generic xen/linkage.h macros when annotating symbols.
>>>
>>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
>>> ---
>>>  xen/arch/arm/arm64/entry.S | 12 ++++++------
>>>  1 file changed, 6 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
>>> index f963c923bb..6188dd2416 100644
>>> --- a/xen/arch/arm/arm64/entry.S
>>> +++ b/xen/arch/arm/arm64/entry.S
>>> @@ -480,9 +480,9 @@ guest_fiq_invalid_compat:
>>>  guest_error_compat:
>>>          guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_serror
>>>
>>> -ENTRY(return_to_new_vcpu32)
>>> +FUNC(return_to_new_vcpu32)
>>>          exit    hyp=0, compat=1
>>
>> In the new world, you want an END() too, which sets the size of the symbol.
>>
>> A good cross-check of this annotation stuff is:
>>
>> readelf -Wa xen-syms | grep return_to_new_vcpu32
>>
>> which in this case will tell you that the symbol called
>> return_to_new_vcpu32 still has a size of 0.
> 
> Patch 2/2 adds the END, I should probably have squashed them into one...

Only partly afaics: return_to_new_vcpu{32,64} are still left without. And
yes, preferably the adjustments to the start annotation for a symbol
would come with an END() addition right away.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:18:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:18:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707931.1106367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxL60-0004ul-Up; Thu, 18 Apr 2024 06:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707931.1106367; Thu, 18 Apr 2024 06:18:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxL60-0004ue-RL; Thu, 18 Apr 2024 06:18:08 +0000
Received: by outflank-mailman (input) for mailman id 707931;
 Thu, 18 Apr 2024 06:18:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxL5z-0004tn-E7
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:18:07 +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 6ac0a7c6-fd4b-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 08:18:05 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3499f1bed15so882003f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 23:18: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
 n2-20020adfe342000000b00343eac2acc4sm934604wrj.111.2024.04.17.23.18.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 23:18: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: 6ac0a7c6-fd4b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713421085; x=1714025885; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FL9pHAb4eKyRqGy12g+C1hPuQcLPcelW2kVv1aOlZe8=;
        b=ISZ0+igu6hiDcRQyXkzuzgboBEmvvQf9jTWrIaeNZxjeWEMpukyMNJ18Oawm4Lbzdh
         OzWSS5V5s203B0S9QtO0n3ocNNoHp1QEM/Oh1l98sX9zAqiMEprcCgzN7rlWUOzLcGJq
         H9DPfJBgZCRYlPhRm0fm04wo3vWtpl7csYgq2h5rX2Sg1FnAsDYl9hX0r33ZJ20Ao4k9
         WhHqTSGlZqehOB8ULc5BgLhya+XUlrtslvN8tgYwWKkclDBIO3sABfxKrTeYTBN8Cu0H
         tZYePk9VsDiNol8+DscGt1iyPwMdwgvQJCoHyoEud3f6HBjuPeDghdNQjv1MV46L84Be
         RsIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713421085; x=1714025885;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FL9pHAb4eKyRqGy12g+C1hPuQcLPcelW2kVv1aOlZe8=;
        b=hltF/xDeG491iYW3YZN/2rR4l/xOLdHQdNC6HVYSSHnkip747fcxWKJGf9jPI9cWrk
         gfV562Jw06KQ4ukM6gp9BcYaIhZkvFr+GlTpFXKFE+qMLIN1gJoKL8CekM30vD5wjEpG
         +dTiDCrgj6+5C8gAZAEG1adCH0VbwiN6pysxL0mCGbBJVBuCgUF3ef6dPr9EQjcGbm9F
         QLD/E0gTsvck5n1A8N9VRbW7GG+YhzvrK/MtT4NQ1ztI/eiU3Eh4NQBpB7mlt/ZGGUzw
         Diur9vCwJP3hrB6itIl/UNpCwM2YfuuM+JfK26j5N7pXR6LSQwH2r7x1CVTLddib5q31
         k6Mg==
X-Forwarded-Encrypted: i=1; AJvYcCUAUCmyYFRwE4KWBjpVuxaa4+e5jcidANI/J5u/dA4lQT5gRs1NOw66MOZob50nWpcWd2IwGG4eQgu+P8d7/HQpxraKlDkzQTDhsPmEYFg=
X-Gm-Message-State: AOJu0YytlMRMqkTTx74DjSnj/V55el1c+fXSLfwT00jS96Ld4VuKteq1
	acI0UC2Wv/hHDUopqCaGkd/O7HhRm0iiIxvN2lKDEltNlgAQ0lbeFeijQTTfvA==
X-Google-Smtp-Source: AGHT+IElFv74fbJz4U3+L4mzncGtyE3vSuAZWzhedT5oCJl2swE4POAGGluUsMKKA1u9FsXaMGgezQ==
X-Received: by 2002:adf:ea82:0:b0:349:7f89:2200 with SMTP id s2-20020adfea82000000b003497f892200mr763451wrm.5.1713421084722;
        Wed, 17 Apr 2024 23:18:04 -0700 (PDT)
Message-ID: <242b106a-a106-4334-9bd3-3aa834f1d66b@suse.com>
Date: Thu, 18 Apr 2024 08:18:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86: Add usage() to print out usage message
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-4-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416091546.11622-4-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 11:15, Fouad Hilly wrote:
> Refactor xen-ucode tool by adding usage() to handle usage\help messages
> As we add more command options this will keep help\usage messages in common block
> 
> [v2]
> 1- Improved message description.
> 2- Fixed formatting and indentation.
> 3- Error message to print to stderr.

I can't spot any use of stderr in the change here.

> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -17,6 +17,15 @@ static xc_interface *xch;
>  static const char intel_id[] = "GenuineIntel";
>  static const char   amd_id[] = "AuthenticAMD";
>  
> +static void usage(const char *name)
> +{
> +    printf("%s: Xen microcode updating tool\n"
> +           "Usage: %s [microcode file] [options]\n"
> +           "Options:\n"
> +           "show-cou-info   show CPU information and exit\n",
> +           name, name);
> +}
> +
>  static void show_curr_cpu(FILE *f)
>  {
>      int ret;

Without a caller this is going to cause a compiler warning (unused static
function) and, with -Werror, a build failure.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:28:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707935.1106376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLGO-0007G8-SM; Thu, 18 Apr 2024 06:28:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707935.1106376; Thu, 18 Apr 2024 06:28:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLGO-0007G1-PU; Thu, 18 Apr 2024 06:28:52 +0000
Received: by outflank-mailman (input) for mailman id 707935;
 Thu, 18 Apr 2024 06:28: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxLGN-0007Fv-SP
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:28:51 +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 ea21aa17-fd4c-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 08:28:49 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-418dc00a31aso3465195e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 23: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
 e13-20020a05600c4e4d00b00418e869f896sm709193wmq.17.2024.04.17.23.28.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 23: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: ea21aa17-fd4c-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713421728; x=1714026528; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=S7mhzDfM/DGG9UmyDmdHuMtqTkvIkhj5Aeq6DEqLhwc=;
        b=Ou3oknHR36nA0zVGUEGMAY6TSdRFAfD31YcflXidxMlFBAyrGTJD2BI17LesHvKiJw
         eNjBULXQH40USONK2luCThS8dVPwP5UVk6L3feVvaYds5rclfogO1kbLc53XXK4thQIy
         SQ7xAG0qjz6Cavm6IlsSXpfDPHms7lhSyWXxZvVEnjYfhJ+AehJYmcakVuMdZ2skRHUm
         4XCwvmSDZRiOWdvP36+JhPR7GXrhC0OyE2g2pyNwY6eNMmio23L6tOf+H0iiJysyKCHi
         9rBp2V0D1UjoswRDf2MwXVzkmgajs/oPnO/85/3X/x9mt0+8Q8HFC8cEDAjNNHDkUnza
         EQdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713421728; x=1714026528;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=S7mhzDfM/DGG9UmyDmdHuMtqTkvIkhj5Aeq6DEqLhwc=;
        b=VoeW2hV1YTtnf2yCJ4I7k6EEePueU+ljNaDXBJCRv88f4tOVbncx7/tj7hZ0B5QIQK
         SIp3YQjMeW29vxoOiCfbqN611pv8J3qHocrJ6KaEXywilT/UUahnsfCFrkCz1s8lpEOY
         Px7Qhm3cqIByr6FUDVeRCdr4zvZGKoEnlMUizNEwZxQ/lKIccG55xKxE7anza7gDmP+i
         dR0zEU3MbPvzIqLrP/av2gLwm+wwFv6k7HgI+lCQfNhfaeH6QnS9FpJ4xWJmuDssMALr
         xPWVSK39JEvAy7EZO9Zrh4JT/M7uBaKqvP3fy/yuW/6iKgSDnIOubp3kgaLMoV3iW47U
         1Ogw==
X-Forwarded-Encrypted: i=1; AJvYcCUaIxCIXoD/cj9Bud2FnU4h8cqAr2kBS6v+BePsIjRclzerav9ql04iBcREpxanfbk7zBDV8sD6WWSg7KjfxbD+6hiNXJvDzEBJuhHyGw4=
X-Gm-Message-State: AOJu0Yzw3H/PTOuugHZ/8lQWOkZ3aK9C+klTkaIZLCci2dqbMYikIz6P
	vUtkoKWNS/YtfyEGfyTTJijEtS8p37yazcMQhw9j076/+xgTITSIHuS2IkANVQ==
X-Google-Smtp-Source: AGHT+IHpjuYNeXsiQsmtIbmFq09mMLCDna9NMumgygMPiHcEZ+PMTVUwpeqpKKsOE5/rGPxLA7Mvkw==
X-Received: by 2002:a05:600c:4586:b0:418:4841:162a with SMTP id r6-20020a05600c458600b004184841162amr1093746wmo.15.1713421727909;
        Wed, 17 Apr 2024 23:28:47 -0700 (PDT)
Message-ID: <930fcf9b-2ce3-4477-88f0-e3881cacdae7@suse.com>
Date: Thu, 18 Apr 2024 08:28:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 12/13] xen/device_tree: Introduce function to merge
 overlapping intervals
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-13-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240409114543.3332150-13-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.04.2024 13:45, Luca Fancellu wrote:
> --- a/xen/arch/x86/extable.c
> +++ b/xen/arch/x86/extable.c
> @@ -23,7 +23,8 @@ static inline unsigned long ex_cont(const struct exception_table_entry *x)
>  	return EX_FIELD(x, cont);
>  }
>  
> -static int init_or_livepatch cf_check cmp_ex(const void *a, const void *b)
> +static int init_or_livepatch cf_check cmp_ex(const void *a, const void *b,
> +                                             const void *data)
>  {
>  	const struct exception_table_entry *l = a, *r = b;
>  	unsigned long lip = ex_addr(l);
> @@ -53,7 +54,7 @@ void init_or_livepatch sort_exception_table(struct exception_table_entry *start,
>                                   const struct exception_table_entry *stop)
>  {
>      sort(start, stop - start,
> -         sizeof(struct exception_table_entry), cmp_ex, swap_ex);
> +         sizeof(struct exception_table_entry), cmp_ex, swap_ex, NULL);
>  }

Not the least because of this addition of an entirely useless parameter / argument
I'm not in favor of ...

> --- a/xen/include/xen/sort.h
> +++ b/xen/include/xen/sort.h
> @@ -23,8 +23,8 @@
>  extern gnu_inline
>  #endif
>  void sort(void *base, size_t num, size_t size,
> -          int (*cmp)(const void *a, const void *b),
> -          void (*swap)(void *a, void *b, size_t size))
> +          int (*cmp)(const void *a, const void *b, const void *data),
> +          void (*swap)(void *a, void *b, size_t size), const void *cmp_data)
>  {

... this change. Consider you were doing this on a C library you cannot change.
You'd have to find a different solution anyway. And the way we have sort()
right now is matching the C spec. The change to do renders things unexpected to
anyone wanting to use this function in a spec-compliant way. One approach may
be to make an adjustment to data representation, such that the extra reference
data is accessible through the pointers already being passed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:33:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:33:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707943.1106395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLL8-0000dh-Jf; Thu, 18 Apr 2024 06:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707943.1106395; Thu, 18 Apr 2024 06: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 1rxLL8-0000da-Gl; Thu, 18 Apr 2024 06:33:46 +0000
Received: by outflank-mailman (input) for mailman id 707943;
 Thu, 18 Apr 2024 06:33:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxLL6-0000dQ-VX; Thu, 18 Apr 2024 06:33: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 1rxLL6-0008TJ-Tv; Thu, 18 Apr 2024 06:33: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 1rxLL6-00078a-HO; Thu, 18 Apr 2024 06:33:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxLL6-0004Oq-H1; Thu, 18 Apr 2024 06:33:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7rp1JllNa63zOD6VK/wps5OENBjc/mbvKibhlKCxDNI=; b=6ZsnysZ8J56XVbMy7tLUnZ5ajr
	obUILJx3UEPbfQwVLlgcAUobqFeYG8KWS4qapIqjbNicQ9PK/uZ21qBQZTRbCKarQKVSToBopg6V5
	ULVibTjwB7JxVFS8vGeT4R8ZYd4wHDxXspSwy3uDIsdRl+lkginwY1Jepf7lbvvtdT78=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185712-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185712: 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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=ad363fb17d720f1ad047775e1d7b70158f546c46
X-Osstest-Versions-That:
    xen=c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Apr 2024 06:33:44 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185674  2024-04-16 15:38:55 Z    1 days
Testing same since   185712  2024-04-17 07:07:24 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
   c0f890cd9d..ad363fb17d  ad363fb17d720f1ad047775e1d7b70158f546c46 -> master


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:40:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707949.1106405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLRF-0002e2-Au; Thu, 18 Apr 2024 06:40:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707949.1106405; Thu, 18 Apr 2024 06:40:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLRF-0002dv-6N; Thu, 18 Apr 2024 06:40:05 +0000
Received: by outflank-mailman (input) for mailman id 707949;
 Thu, 18 Apr 2024 06:40: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxLRE-0002Fe-03
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:40:04 +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 7b9e9147-fd4e-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 08:40:02 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-418e06c0ef4so3665075e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 23:40: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
 n17-20020adfe791000000b00349be95b5cesm971163wrm.101.2024.04.17.23.40.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 23: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: 7b9e9147-fd4e-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713422401; x=1714027201; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gT1oCZ2mtgDWYp2MEQWyzq5b2kxM4xV7EDO7GfB6Hz0=;
        b=RU0DjZAfBJ8SBU62RVrCGU9wYunkXRCbZttElaOU0QngIAdLq0lQ4jSi4dACoCpUeB
         poFQwiLrhM91t+F8JQn9Tlkq0ugRYbnu5GSjSE1DuDqjWxAnCFlNkk8tW4c4dLceOjkb
         q8D+pI8Wa1AJycUEAgU2iK4lAznK/WMPkM6kSxSuO0jV31c0bmO0UG/6WVvxRYgYT5sL
         8QnDWgNcphw0FrM1oVkJDOt2qqrMB8Hb1oaaqAzqQdp4Rl3AVxCuYKCWCGr8Wvn71t+P
         bvH9jsF/4xGs1jV5LtobsFJeASmu4REc0L7AwIf8cGCWdXzK3IxT7EXGy6vFYQf8DNOM
         Wqvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713422401; x=1714027201;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=gT1oCZ2mtgDWYp2MEQWyzq5b2kxM4xV7EDO7GfB6Hz0=;
        b=Fpw6mo4qfaTLG9xuxUqNh/xdmW2r/PsPxy5ibaO4y1ioizixgmlBUgNZfGZegIw9+d
         GQIXOPJX79qumpOIOpvp85xb4j4thaukcU7hd+vQpkDYLSn1WGXOwaa8+BdfH6P2YdOy
         WMzDysyFxabLovAs603OwBk9bnZ0Jt+IG0Muq357RrMoa1dIfwO3OLY4Dx++qQ+4gq3n
         QyL59AtU+DuXPzLz8ZF1qfKhwV6EwAOj3M36RWxtUWgh3dnmllD9BqfNVvQUiKOCl77Q
         DlfzIHkdG+kRR4kLuqy7WabhZdagnyZ/QOsCwesf9i9TV6IslG+3LI60QvVhCaKZZYwG
         uy8g==
X-Forwarded-Encrypted: i=1; AJvYcCUqZRqjqncpiF/arpyI4N3ZyjBApWD/H1hBke2sM9aA/ZHxHrf63ODrTk+qVRNcmm1OXXNK5HniT+a8VLpogJAesxdUM6D13gquysB4ub8=
X-Gm-Message-State: AOJu0YxewILwX7SqnX5LiRsQX65yExIBcMpYBS2GbsL0gep6Jc87kqg1
	ajubdt/yaVDL20o+VgM7gOaFio5GlTwof2lnt7MkxaJLfNwvHxIGODfQU/Z7bQ==
X-Google-Smtp-Source: AGHT+IErLHIczrkwXGePH4Q6QSAjjve8BKBdWcorG3Vz/ew9THHeQCewD+nO9huOIrIYXoOA8LHnSA==
X-Received: by 2002:a5d:640c:0:b0:345:663f:cd79 with SMTP id z12-20020a5d640c000000b00345663fcd79mr1217679wru.14.1713422401382;
        Wed, 17 Apr 2024 23:40:01 -0700 (PDT)
Message-ID: <16491a32-a539-4b30-b742-e03174121a92@suse.com>
Date: Thu, 18 Apr 2024 08:40:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] public: s/int/int32_t
Content-Language: en-US
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: sstabellini@kernel.org, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, george.dunlap@citrix.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-2-stefano.stabellini@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240410234740.994001-2-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.04.2024 01:47, Stefano Stabellini wrote:
> Straightforward int -> int32_t and unsigned int -> uint32_t replacements
> in public headers. No ABI or semantic changes intended.

I understand there is a limited in scope goal here, but once doing type
adjustments I think it ought to at least be considered to go one step
further and ...

> --- a/xen/include/public/kexec.h
> +++ b/xen/include/public/kexec.h
> @@ -105,7 +105,7 @@ typedef struct xen_kexec_image {
>   */
>  #define KEXEC_CMD_kexec                 0
>  typedef struct xen_kexec_exec {
> -    int type;
> +    int32_t type;
>  } xen_kexec_exec_t;
>  
>  /*
> @@ -116,7 +116,7 @@ typedef struct xen_kexec_exec {
>  #define KEXEC_CMD_kexec_load_v1         1 /* obsolete since 0x00040400 */
>  #define KEXEC_CMD_kexec_unload_v1       2 /* obsolete since 0x00040400 */
>  typedef struct xen_kexec_load_v1 {
> -    int type;
> +    int32_t type;
>      xen_kexec_image_t image;
>  } xen_kexec_load_v1_t;
>  
> @@ -143,8 +143,8 @@ typedef struct xen_kexec_load_v1 {
>   */
>  #define KEXEC_CMD_kexec_get_range       3
>  typedef struct xen_kexec_range {
> -    int range;
> -    int nr;
> +    int32_t range;
> +    int32_t nr;
>      unsigned long size;
>      unsigned long start;
>  } xen_kexec_range_t;

... change e.g. all of the ones touched here to uint32_t. None have a
purpose of permitting negative values afaict.

> --- a/xen/include/public/physdev.h
> +++ b/xen/include/public/physdev.h
> @@ -142,17 +142,17 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
>  struct physdev_map_pirq {
>      domid_t domid;
>      /* IN */
> -    int type;
> +    int32_t type;
>      /* IN (ignored for ..._MULTI_MSI) */
> -    int index;
> +    int32_t index;
>      /* IN or OUT */
> -    int pirq;
> +    int32_t pirq;
>      /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
> -    int bus;
> +    int32_t bus;
>      /* IN */
> -    int devfn;
> +    int32_t devfn;
>      /* IN (also OUT for ..._MULTI_MSI) */
> -    int entry_nr;
> +    int32_t entry_nr;
>      /* IN */
>      uint64_t table_base;
>  };

Whereas iirc at least "index" here would need keeping as a signed quantity.
It may therefore make sense to split the patch (I'd be fine ack-ing the
memory.h and sched.h changes right away).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:40:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:40:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707950.1106415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLRr-0003HG-HL; Thu, 18 Apr 2024 06:40:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707950.1106415; Thu, 18 Apr 2024 06: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 1rxLRr-0003H8-Eq; Thu, 18 Apr 2024 06:40:43 +0000
Received: by outflank-mailman (input) for mailman id 707950;
 Thu, 18 Apr 2024 06:40:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QcTt=LX=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxLRp-0003FM-FX
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:40:41 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90108e2a-fd4e-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 08:40:36 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id D9DE84EE073C;
 Thu, 18 Apr 2024 08:40:35 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90108e2a-fd4e-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Thu, 18 Apr 2024 08:40:35 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 federico.serafini@bugseng.com, consulting@bugseng.com
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
In-Reply-To: <alpine.DEB.2.22.394.2404171411280.2257106@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop>
 <b76bc307-6cf6-443f-80de-d27852ede25f@xen.org>
 <alpine.DEB.2.22.394.2404171208410.2257106@ubuntu-linux-20-04-desktop>
 <b93c39de-5b8d-4589-909c-4f7d1d2dfdc9@xen.org>
 <alpine.DEB.2.22.394.2404171411280.2257106@ubuntu-linux-20-04-desktop>
Message-ID: <9b5af11169f17103752a1c6798e4be89@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-04-17 23:13, Stefano Stabellini wrote:
> +Bugseng
> 
> On Wed, 17 Apr 2024, Julien Grall wrote:
>> Hi Stefano,
>> 
>> On 17/04/2024 20:10, Stefano Stabellini wrote:
>> > On Wed, 17 Apr 2024, Julien Grall wrote:
>> > > Hi Stefano,
>> > >
>> > > On 16/04/2024 20:27, Stefano Stabellini wrote:
>> > > > Also add two specific project-wide deviations for R21.6 and R21.15.
>> > >
>> > > In general, I am fine with add the two rules. However...
>> > >
>> > > >
>> > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>> > > >
>> > > > diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>> > > > index 32b02905d1..9123c8edb5 100644
>> > > > --- a/docs/misra/deviations.rst
>> > > > +++ b/docs/misra/deviations.rst
>> > > > @@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
>> > > >           of the Rule due to uses of this macro.
>> > > >         - Tagged as `deliberate` for ECLAIR.
>> > > >    +   * - R21.6
>> > > > +     - The use of snprintf() and vsnprintf() is justifiable as, despite
>> > > > +       the fact that such functions have the same names of the
>> > > > +       corresponding standard library functions, each configuration of
>> > > > +       Xen has a unique implementation for them; the code implementing
>> > > > +       such functions is subject to the analysis, so that any undefined
>> > > > +       or unspecified behavior associated to them falls under the
>> > > > +       responsibility of other MISRA guidelines
>> > > > +     - Tagged as `safe` for ECLAIR.
>> > >
>> > > ... this implies that ECLAIR should be modified. But this is not happening
>> > > in
>> > > this patch. Looking at history, we tend to keep deviations.rst in sync
>> > > with
>> > > ECLAIR, so I think it should be updated here too.
>> >
>> > That is true but I am not very familiar with Eclair config language so
>> > it is better if that is done by the Bugseng team. I can merge their
>> > patch into this one or vice versa or they could be committed separately
>> > (keep in mind that the rule is not enabled in the ECLAIR scan so from a
>> > Gitlab-CI point of view we don't require the change to the ECLAIR config
>> > although it makes sense). I am happy either way.
>> 
>> My comment was not about Gitlab CI. It was more about consistency 
>> between the
>> file and ECLAIR. I think they should be kept in sync because it 
>> explain how
>> the tool doing the scanning behave.
>> 
>> My preference is to either split and only commit the rules now or wait 
>> for the
>> ECLAIR change to happen.
> 
> Understood. Maybe the Bugseng team can provide the corresponding
> ECLAIR/deviations.ecl changes

Sure, we can respin the patch with the appropriate deviation in place.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:45:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:45:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707961.1106425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLWP-0004x4-5n; Thu, 18 Apr 2024 06:45:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707961.1106425; Thu, 18 Apr 2024 06:45: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 1rxLWP-0004wx-2w; Thu, 18 Apr 2024 06:45:25 +0000
Received: by outflank-mailman (input) for mailman id 707961;
 Thu, 18 Apr 2024 06:45:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RbQw=LX=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1rxLWO-0004wq-0c
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:45:24 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38ad239f-fd4f-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 08:45:20 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:8ac4:0:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.17.1) with ESMTPS id 43I6j7Yl098355
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Thu, 18 Apr 2024 02:45:13 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 43I6j7XK098354;
 Wed, 17 Apr 2024 23:45:07 -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: 38ad239f-fd4f-11ee-94a3-07e782e9044d
Date: Wed, 17 Apr 2024 23:45:07 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, Kelly Choi <kelly.choi@cloud.com>
Subject: Re: Serious AMD-Vi(?) issue
Message-ID: <ZiDBc3ye2wqmBAfq@mattapan.m5p.com>
References: <ZcqoVBnsgUJw8G0l@mattapan.m5p.com>
 <ZfiY7/FBTwPQlfYi@mattapan.m5p.com>
 <CAO-mL=xndFd7xTU4Q+9hjLL-7zqZUGjYcp3_REa6QqXvtyAEYg@mail.gmail.com>
 <Zf3aWXfCANR7zXj8@mattapan.m5p.com>
 <e9b1c9c4-523b-481b-946e-37c7c18ea1d2@suse.com>
 <ZgHwEGCsCLHiYU5J@mattapan.m5p.com>
 <ZgRXHQpamLIdu7dk@mattapan.m5p.com>
 <c2ce4002-58d5-48a3-949c-3c361c78c0ac@suse.com>
 <ZhdNxWNpM0KCzz8E@mattapan.m5p.com>
 <2aa4d1f4-ff37-4f12-bfbb-3ef5ad3f6fdd@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <2aa4d1f4-ff37-4f12-bfbb-3ef5ad3f6fdd@suse.com>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Wed, Apr 17, 2024 at 02:40:09PM +0200, Jan Beulich wrote:
> On 11.04.2024 04:41, Elliott Mitchell wrote:
> > On Thu, Mar 28, 2024 at 07:25:02AM +0100, Jan Beulich wrote:
> >> On 27.03.2024 18:27, Elliott Mitchell wrote:
> >>> On Mon, Mar 25, 2024 at 02:43:44PM -0700, Elliott Mitchell wrote:
> >>>> On Mon, Mar 25, 2024 at 08:55:56AM +0100, Jan Beulich wrote:
> >>>>>
> >>>>> In fact when running into trouble, the usual course of action would be to
> >>>>> increase verbosity in both hypervisor and kernel, just to make sure no
> >>>>> potentially relevant message is missed.
> >>>>
> >>>> More/better information might have been obtained if I'd been engaged
> >>>> earlier.
> >>>
> >>> This is still true, things are in full mitigation mode and I'll be
> >>> quite unhappy to go back with experiments at this point.
> >>
> >> Well, it very likely won't work without further experimenting by someone
> >> able to observe the bad behavior. Recall we're on xen-devel here; it is
> >> kind of expected that without clear (and practical) repro instructions
> >> experimenting as well as info collection will remain with the reporter.
> > 
> > After looking at the situation and considering the issues, I /may/ be
> > able to setup for doing more testing.  I guess I should confirm, which of
> > those criteria do you think currently provided information fails at?
> > 
> > AMD-IOMMU + Linux MD RAID1 + dual Samsung SATA (or various NVMe) +
> > dbench; seems a pretty specific setup.
> 
> Indeed. If that's the only way to observe the issue, it suggests to me
> that it'll need to be mainly you to do further testing, and perhaps even
> debugging. Which isn't to say we're not available to help, but from all
> I have gathered so far we're pretty much in the dark even as to which
> component(s) may be to blame. As can still be seen at the top in reply
> context, some suggestions were given as to obtaining possible further
> information (or confirming the absence thereof).

There may be other ways which haven't yet been found.

I've been left with the suspicion AMD was to some degree sponsoring
work to ensure Xen works on their hardware.  Given the severity of this
problem I would kind of expect them not want to gain a reputation for
having data loss issues.  Assuming a suitable pair of devices weren't
already on-hand, I would kind of expect this to be well within their
budget.

> I'd also like to come back to the vague theory you did voice, in that
> you're suspecting flushes to take too long. I continue to have trouble
> with this, and I would therefore like to ask that you put this down in
> more technical terms, making connections to actual actions taken by
> software / hardware.

I'm trying to figure out a pattern.

Nominally all the devices are roughly on par (only a very cheap flash
device will be unable to overwhelm SATA's bandwidth).  Yet why did the
Crucial SATA device /seem/ not to have the issue?  Why did a Crucial NVMe
device demonstrate the issue.

My guess is the flash controllers Samsung uses may be able to start
executing commands faster than the ones Crucial uses.  Meanwhile NVMe
is lower overhead and latency than SATA (SATA's overhead isn't an issue
for actual disks).  Perhaps the IOMMU is still flushing its TLB, or
hasn't loaded the new tables.

I suspect when the MD-RAID1 issues block requests to a pair of devices,
it likely sends the block to one device and then reuses most/all of the
structures for the second device.  As a result the second request would
likely get a command to the device rather faster than the first request.

Perhaps look into what structures the MD-RAID1 subsystem reuses are.
Then see whether doing early setup of those structures triggers the
issue?

(okay I'm deep into speculation here, but this seems the simplest
explanation for what could be occuring)


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Thu Apr 18 06:50:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 06:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707966.1106435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLao-0005Zd-NC; Thu, 18 Apr 2024 06:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707966.1106435; Thu, 18 Apr 2024 06: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 1rxLao-0005ZW-Jv; Thu, 18 Apr 2024 06:49:58 +0000
Received: by outflank-mailman (input) for mailman id 707966;
 Thu, 18 Apr 2024 06: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxLan-0005ZO-IR
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 06:49:57 +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 ddfaae23-fd4f-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 08:49:56 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-418e4cd1fecso2191065e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 17 Apr 2024 23:49: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
 fm25-20020a05600c0c1900b00418e2b69e14sm1177031wmb.40.2024.04.17.23.49.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 17 Apr 2024 23:49: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: ddfaae23-fd4f-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713422996; x=1714027796; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0F/kjc/z5qQqOfJP8QEJnCklRuVvM0/v37PSfdIW9KM=;
        b=M95LAqF+o7cElKdwA9bNfQh2oLhSnb4CqhLWogJ9w0AJBoRho8jhq4f/oyJnT4o0fX
         Mfd3hjKJIp5zH7TmSW5zT4WY381fTSXvDr+ob1d7ffcp0Gol+nttpIxGM7xzLNJwIoYg
         jnJF37ImrlXrxm+YGVrno8KlyaVuWLdXpUh3BlmXMTp+pYdhuY5a0jTuESF1rNo//Ei1
         Q83TiF2ATZBvHrzbpl1M8Nz36fqU0Kv/S5mqVg2ABlx1Zd05lJyRBba2ixuKtYFzWR/R
         zxe0uidhaMuPZXvPZiNlIaS5/ttW5ltFsWCqArOmxlV4o1JBaGAlYjhdTaDGLM1gC0YJ
         OErw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713422996; x=1714027796;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0F/kjc/z5qQqOfJP8QEJnCklRuVvM0/v37PSfdIW9KM=;
        b=en2ado93CiSYU0hKmlrOwtnRh631ArwWAlQl+aVv+7Fjx8dZ9v66ofhh9j70tCzYKF
         21lGyt7kRmiJ9zGt3YgJ9uTVQNQAchK/h1JIhUDjaa9R2+DgaFjkid1V4LMvwyW8jtIN
         H93ObJjJcu/Bfu6OoA5fDgadFfr3moSWgOW1JBJDfOmXdbo7p8UL/0+ExjGqo1cj0GSP
         5bOq9aemck2ZvON+ZK0j9SoCMaR91OlFOeEFco0u7vjIuqsTeJRYpHcmsKL6MTpYoRcI
         UX4zk4w42Be9t4uHwVlblALmAauIyokNJl1wk4tjh4Cr//wMTDv18cbOz0qc9eBQAESf
         f6gw==
X-Forwarded-Encrypted: i=1; AJvYcCWfGwRP4rSWxszrXXbO7jl5pqlkRkLqTHA9J0rEKIK5ePrVnTZgFPAtDa67xA9XJpGZyB6JWUJpdCHPfpRSUJqujXoADsisSq9s37aKk9Y=
X-Gm-Message-State: AOJu0YwaapyZM1KMZ38ye/Lt21W85rP8C3ObMrtpsNmKB00jArf2pxx8
	6s2EQNqQuHIIULUkL7x287hTLIS3aPGsHO9T0E7RY5o/h9P0CPGMB5CEOxpp4Q==
X-Google-Smtp-Source: AGHT+IHcXXF0rPXzClqVnTYP2DKW61yZ3SScbXppAPMagLMgZZHaimSjuuWLdAR/Zn8BBuz/ZXWTpg==
X-Received: by 2002:a05:600c:a0f:b0:418:6b23:bcc with SMTP id z15-20020a05600c0a0f00b004186b230bccmr1229773wmp.13.1713422995833;
        Wed, 17 Apr 2024 23:49:55 -0700 (PDT)
Message-ID: <97e46832-0d13-45e4-bf95-19ad11f9a8b3@suse.com>
Date: Thu, 18 Apr 2024 08:49:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/public: s/unsigned long/xen_ulong_t
Content-Language: en-US
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: sstabellini@kernel.org, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, george.dunlap@citrix.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-3-stefano.stabellini@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240410234740.994001-3-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.04.2024 01:47, Stefano Stabellini wrote:
> The goal is to use only fixed-size integers in public headers, such as
> uint32_t and uint64_t.
> 
> However, there are cases where the ABI changes depending on the
> architecture. In those cases, adding #ifdefs might be the clearest
> solution but it is also cumbersome. We already define a xen_ulong_t type
> which is widely used in public headers and it is defined differently by
> architecture.
> 
> Instead of unsigned long, use xen_ulong_t in public headers:
> - it makes it clearer that size might change by arch
> - it gets us closer to the goal of no unfixed-size integers in public
> headers
> 
> Note that unsigned long and xen_ulong_t are the same thing on x86 (both
> 32-bit and 64-bit) but they differ on all other arches. However, all
> the interfaces with xen_ulong_t or unsigned long are x86-only interfaces
> today. Thus, this patch doesn't introduce any ABI or semantic changes.

And it is presumably because of this that the conversion wasn't done for
these when it was done elsewhere for the Arm port, many years ago.

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

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

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:04:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:04:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707971.1106444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLol-0000mO-ST; Thu, 18 Apr 2024 07:04:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707971.1106444; Thu, 18 Apr 2024 07:04:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLol-0000mH-Pu; Thu, 18 Apr 2024 07:04:23 +0000
Received: by outflank-mailman (input) for mailman id 707971;
 Thu, 18 Apr 2024 07: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxLok-0000mB-Vw
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:04:22 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1cd9b75-fd51-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 09:04:21 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-418ee51e280so549645e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:04: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
 j19-20020a05600c1c1300b004161bffa48csm1569340wms.40.2024.04.18.00.04.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:04: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: e1cd9b75-fd51-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713423861; x=1714028661; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Nyqzj46Ls/gyNcGF8lNk479KunhyCUDrMeAawEpVSy4=;
        b=H6wT95uxWFUixBvDplAgEusDGyrHnGYLYQtK2ogQXNVyMS729Q3tQXOijKgiObl5EL
         ttpNKekIw+Q0MiTkFse96YSSH0VLjVDQ/KqrQdBqsrqJINLK9qveGhHD11f7UNv3F7Ob
         cxFjqDu3zgR7zghDIj00hNX8DFSbUnJ5dMbsySvA3Xx0G+0hLeXPCHxNH31n5A2BNYdL
         eYjmL+ulFoSUOMfR7HEZ6rJg6VNEw+X/Bx/gjedN5tT34GqH7OUjHE0LjkQ347Nmdfki
         u/j13nwtXaqPnkGZmubXaKS2awXQShr7c9a4XHE0yJHgM7mOMRPnCIPCXiqfN1UMYmMQ
         64Yg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713423861; x=1714028661;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Nyqzj46Ls/gyNcGF8lNk479KunhyCUDrMeAawEpVSy4=;
        b=CKnTrewvHhPFXZp5mHl4heeGtf79pJQ2UhxxJA9iYV/0iKjgU1OTwkfeFybX3uA+1s
         SsKNms2StrdfOKKbdr52p7WCwQkfXFI5Hu9ofGNqFaNEE3DPqc58c1JSRcRJC3Gu2+JE
         p9nUq6fn1BN5ryJbPKGGDTtqMx/+2j6GzqJXd29abTtgN8x95DEE18qznl+U2OJtaE6L
         p7eG5THyJDklNhgmyHQ2rSzbVDA7ZZe1UmVsZKv5ryn8YLnSlEHAWHJl2fW+u9+uJ7Ou
         +1JU/u9rTyfAxqyByx3UX1AZXnJnBvHu1jL+om5zfPTaS3Xh+zgv5JDV873PRybZrVNn
         pvpA==
X-Forwarded-Encrypted: i=1; AJvYcCXkgo6GzidJ86RmCNmQGA5k/XkV3qh6wsZuviJmPorJNIfoLXJPbngWxn+r0ZDSaSZokAg75cn1vEV/ysIE9FXdpRQKxBNLtLZgpjA6tpA=
X-Gm-Message-State: AOJu0Yz80eT/e2UvlrNvIBXyJiYrXR25uk9ODgRlnFADuwbXE2omX9VD
	WnUrebG8c6V92pR7GuqNkGLyLiof7K8YN6NMOMjOL0U8Y4TVPyI2gpJbBn/OwA==
X-Google-Smtp-Source: AGHT+IEiKmj9MI/w81wjCP0w4mpKyDWvVOES2R0K/SMCx/gwOAnTOB0ki4+cCPQ8krJ0mk2znBLzcw==
X-Received: by 2002:a05:600c:524a:b0:416:3db7:74b4 with SMTP id fc10-20020a05600c524a00b004163db774b4mr1120095wmb.24.1713423861233;
        Thu, 18 Apr 2024 00:04:21 -0700 (PDT)
Message-ID: <4eb232fe-c5ca-4bda-a9dc-a041a55122d3@suse.com>
Date: Thu, 18 Apr 2024 09:04:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/public: replace remaining int and long
Content-Language: en-US
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: sstabellini@kernel.org, andrew.cooper3@citrix.com,
 bertrand.marquis@arm.com, george.dunlap@citrix.com, julien@xen.org,
 michal.orzel@amd.com, roger.pau@citrix.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404101644130.976094@ubuntu-linux-20-04-desktop>
 <20240410234740.994001-4-stefano.stabellini@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240410234740.994001-4-stefano.stabellini@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.04.2024 01:47, Stefano Stabellini wrote:
> --- a/xen/include/public/arch-x86/hvm/save.h
> +++ b/xen/include/public/arch-x86/hvm/save.h
> @@ -415,7 +415,7 @@ struct hvm_hw_pci_irqs {
>       * Indexed by: device*4 + INTx#.
>       */
>      union {
> -        unsigned long i[16 / sizeof (unsigned long)]; /* DECLARE_BITMAP(i, 32*4); */
> +        xen_ulong_t i[16 / sizeof (xen_ulong_t)]; /* DECLARE_BITMAP(i, 32*4); */
>          uint64_t pad[2];
>      };
>  };
> @@ -428,7 +428,7 @@ struct hvm_hw_isa_irqs {
>       * Indexed by ISA IRQ (assumes no ISA-device IRQ sharing).
>       */
>      union {
> -        unsigned long i[1];  /* DECLARE_BITMAP(i, 16); */
> +        xen_ulong_t i[1];  /* DECLARE_BITMAP(i, 16); */
>          uint64_t pad[1];
>      };
>  };

Taking just this as example: Why is this not part of patch 3? If there was
"x86" somewhere in the title, I could probably see a reason for such
separation.

> --- a/xen/include/public/arch-x86/xen-x86_32.h
> +++ b/xen/include/public/arch-x86/xen-x86_32.h
> @@ -68,7 +68,7 @@
>  #define MACH2PHYS_VIRT_END    xen_mk_ulong(__MACH2PHYS_VIRT_END)
>  #define MACH2PHYS_NR_ENTRIES  ((MACH2PHYS_VIRT_END-MACH2PHYS_VIRT_START)>>2)
>  #ifndef machine_to_phys_mapping
> -#define machine_to_phys_mapping ((unsigned long *)MACH2PHYS_VIRT_START)
> +#define machine_to_phys_mapping ((xen_ulong_t *)MACH2PHYS_VIRT_START)

While making this (and the corresponding 64-bit) adjustment, we ought to
at least consider to also add const. The overall change is at risk of being
disruptive to consumers anyway, in case they use less lax compilers than
e.g. gcc and Clang are: "unsigned int" and "uint32_t", even if both 32 bits
wide, don't necessarily need to be treated as the same type by the compiler.
In fact portability of code would be increased if compilers insisted on
clearly distinguishing the two.

In fact because of this it may want considering to split the conversions of
"long" from those of "int", just to cover the remote possibility of the
latter needing reverting from some reason.

> --- a/xen/include/public/arch-x86/xen.h
> +++ b/xen/include/public/arch-x86/xen.h
> @@ -141,7 +141,7 @@ struct trap_info {
>      uint8_t       vector;  /* exception vector                              */
>      uint8_t       flags;   /* 0-3: privilege level; 4: clear event enable?  */
>      uint16_t      cs;      /* code selector                                 */
> -    unsigned long address; /* code offset                                   */
> +    xen_ulong_t address;   /* code offset                                   */
>  };

Nit: Please add two padding blanks to retain columnar arrangement of field
names.

> @@ -174,36 +174,36 @@ struct vcpu_guest_context {
>  #define VGCF_syscall_disables_events   (1<<_VGCF_syscall_disables_events)
>  #define _VGCF_online                   5
>  #define VGCF_online                    (1<<_VGCF_online)
> -    unsigned long flags;                    /* VGCF_* flags                 */
> -    struct cpu_user_regs user_regs;         /* User-level CPU registers     */
> -    struct trap_info trap_ctxt[256];        /* Virtual IDT                  */
> -    unsigned long ldt_base, ldt_ents;       /* LDT (linear address, # ents) */
> -    unsigned long gdt_frames[16], gdt_ents; /* GDT (machine frames, # ents) */
> -    unsigned long kernel_ss, kernel_sp;     /* Virtual TSS (only SS1/SP1)   */
> +    xen_ulong_t flags;                    /* VGCF_* flags                 */
> +    struct cpu_user_regs user_regs;       /* User-level CPU registers     */
> +    struct trap_info trap_ctxt[256];      /* Virtual IDT                  */

Please can these two lines remain untouched, and other lines instead have
padding blanks added to keep comments aligned?

> @@ -228,7 +228,7 @@ struct arch_shared_info {
>       * is to be used.
>       */
>      xen_pfn_t     pfn_to_mfn_frame_list_list;
> -    unsigned long nmi_reason;
> +    xen_ulong_t nmi_reason;

Nit: Here there again want to be two padding blanks.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:06:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707974.1106454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLqg-0001qs-7G; Thu, 18 Apr 2024 07:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707974.1106454; Thu, 18 Apr 2024 07:06:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLqg-0001q2-4O; Thu, 18 Apr 2024 07:06:22 +0000
Received: by outflank-mailman (input) for mailman id 707974;
 Thu, 18 Apr 2024 07:06:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ECj6=LX=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1rxLqf-0001nt-1C
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:06:21 +0000
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com
 [2607:f8b0:4864:20::102a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27c440d6-fd52-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 09:06:20 +0200 (CEST)
Received: by mail-pj1-x102a.google.com with SMTP id
 98e67ed59e1d1-2a28b11db68so412209a91.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:06: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: 27c440d6-fd52-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713423978; x=1714028778; 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=AMnKedljnvby1Tgsb4GiSHYS8ERlxtZ6hox9q6N76gM=;
        b=gbgEFtrwrTC5e//5iodjEZjeq/fyK+LlwD8M9pZjW7eyaYjVr8JGx8npczkFT/zEZT
         2ramZ0tresaO5GNMVjtvpTNnXUmBc4CY6E9qBDz1qDAUJRiSfWVq2CNHGR2Xs/rp1we8
         WSNU9SGbJGD3jkREgjWUGW+C0UUPku8bVQOxCBmgAeq7BJISoXmWHDy5VfMu1pMwoD9U
         g68QqqAdplXS3Fo+QaQ7iDLtTstIvs98MHJFnA4WM5r6iakU0GHu085ka8ZIi/n72xM+
         XPB8BT+heizOqAG5UhKQbTQ5CjiOX0sa+LKDk2Ois5KWVXB8J2ZUplqxbBEWqmYcI71o
         U00A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713423978; x=1714028778;
        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=AMnKedljnvby1Tgsb4GiSHYS8ERlxtZ6hox9q6N76gM=;
        b=J9mmf/BY4zeXEr76WYkpxT0envA0eHPR9p9b+4wIrCcAR4USzA6PLbYCDTksIvdP4n
         l1EuQTTAkhTucOIattNoBDDFRord34LtM6H2LR54J1TMny+8ISkIneS6G7NzYo+3+SOT
         Sa0zPiB6w7BSYObZzds8MvRKD2sTqYmrtKdkfklweUvlfnpvjSP6aRJv/Gu5nCoyeJvA
         w/a2cCVyLbcgFXX+hSeIIYJb7loCZSetl3xJteCCb2CkxLqp+p1ZVh6VS3VvMy5/XsQn
         vgIAj7oL5D7ewHVoBNfP7A64aXHh34ZfRs0T65gh7IvuPQ16xekuQ93Apka1oRVumg7+
         9VLA==
X-Gm-Message-State: AOJu0YzqG8JCpQty6X8SPM9kX+zcwK/qz/cLidlF28wSdaC/h9S0yZwq
	E9hC/sANf2YBFPs78sQ2j/dm+eJtTLB6a2YdjnqOLbO4Je1Y3CRsRD2AWz1CM5tWmNLyIVb+APh
	pirXmzm+q+sEr5OH1OfgF8h2dGqk=
X-Google-Smtp-Source: AGHT+IE6jfj5ptwJ+K51hQoVxxUuGmCwNh+hInsaA5N0yf+xxCZFEwrVdZpcGDZx+KWo5I8l7s4E+6ZT/AcIS6BKEkI=
X-Received: by 2002:a17:90b:68e:b0:2ab:a825:ae5 with SMTP id
 m14-20020a17090b068e00b002aba8250ae5mr1763873pjz.22.1713423978330; Thu, 18
 Apr 2024 00:06:18 -0700 (PDT)
MIME-Version: 1.0
References: <20240410091947.1498695-1-edgar.iglesias@gmail.com>
 <20240410091947.1498695-2-edgar.iglesias@gmail.com> <9f12ebbb-5080-4eff-a965-8d5ab8e3ccd0@citrix.com>
 <CAJy5ezraDhjVvAp_VCG0FO0smNK7=5goVOwcnCEY_8LycjwWYQ@mail.gmail.com> <f65ae42d-32e0-4d95-b4a8-625da7158d41@suse.com>
In-Reply-To: <f65ae42d-32e0-4d95-b4a8-625da7158d41@suse.com>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Thu, 18 Apr 2024 09:06:03 +0200
Message-ID: <CAJy5ezpiokTwj5S==0AnGKpdabXg6cTEE9Tc1Rk9JNPWUpovLg@mail.gmail.com>
Subject: Re: [RFC PATCH v1 1/2] xen/arm64: entry: Use xen/linkage.h to
 annotate symbols
To: Jan Beulich <jbeulich@suse.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, 
	edgar.iglesias@amd.com, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 18, 2024 at 8:10=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 10.04.2024 12:24, Edgar E. Iglesias wrote:
> > On Wed, Apr 10, 2024 at 12:21=E2=80=AFPM Andrew Cooper <andrew.cooper3@=
citrix.com>
> > wrote:
> >
> >> On 10/04/2024 10:19 am, Edgar E. Iglesias wrote:
> >>> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> >>>
> >>> Use the generic xen/linkage.h macros when annotating symbols.
> >>>
> >>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> >>> ---
> >>>  xen/arch/arm/arm64/entry.S | 12 ++++++------
> >>>  1 file changed, 6 insertions(+), 6 deletions(-)
> >>>
> >>> diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
> >>> index f963c923bb..6188dd2416 100644
> >>> --- a/xen/arch/arm/arm64/entry.S
> >>> +++ b/xen/arch/arm/arm64/entry.S
> >>> @@ -480,9 +480,9 @@ guest_fiq_invalid_compat:
> >>>  guest_error_compat:
> >>>          guest_vector compat=3D1, iflags=3DIFLAGS__AI_, trap=3Dguest_=
serror
> >>>
> >>> -ENTRY(return_to_new_vcpu32)
> >>> +FUNC(return_to_new_vcpu32)
> >>>          exit    hyp=3D0, compat=3D1
> >>
> >> In the new world, you want an END() too, which sets the size of the sy=
mbol.
> >>
> >> A good cross-check of this annotation stuff is:
> >>
> >> readelf -Wa xen-syms | grep return_to_new_vcpu32
> >>
> >> which in this case will tell you that the symbol called
> >> return_to_new_vcpu32 still has a size of 0.
> >
> > Patch 2/2 adds the END, I should probably have squashed them into one..=
.
>
> Only partly afaics: return_to_new_vcpu{32,64} are still left without. And
> yes, preferably the adjustments to the start annotation for a symbol
> would come with an END() addition right away.
>

Thanks Jan,

Yes, in v2 I've squashed the patches into one to avoid confusion:
https://patchew.org/Xen/20240415231541.4140052-1-edgar.iglesias@gmail.com/

Here's the hunk in patch 2/2 of the first v1 RFC submission that added
the END's to return_to_new_vcpuXX:
https://lists.xenproject.org/archives/html/xen-devel/2024-04/msg00505.html

FUNC(return_to_new_vcpu32)
         exit    hyp=3D0, compat=3D1
+END(return_to_new_vcpu32)
+
 FUNC(return_to_new_vcpu64)
         exit    hyp=3D0, compat=3D0
+END(return_to_new_vcpu64)

Cheers,
Edgar


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:10:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:10:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707981.1106465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLu7-0002pu-PF; Thu, 18 Apr 2024 07:09:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707981.1106465; Thu, 18 Apr 2024 07: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 1rxLu7-0002pn-MT; Thu, 18 Apr 2024 07:09:55 +0000
Received: by outflank-mailman (input) for mailman id 707981;
 Thu, 18 Apr 2024 07:09: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxLu7-0002ph-CH
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:09:55 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6eba4d2-fd52-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:09:52 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-349caee176bso313099f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:09: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
 a9-20020adfeec9000000b0034744966ff0sm1052896wrp.59.2024.04.18.00.09.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:09: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: a6eba4d2-fd52-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713424192; x=1714028992; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cVXiLwEK4lo2rGQQrknzRwST23jPGZVmFUBcXdSz3KU=;
        b=aj3Vut7q93fcHdkV1+Wg6oWCgA2SaCapQ0xj457gp0PEmArcuOaNAn+ljw24G6ghLq
         VUFZxSWvCHsl46tjm/tVI19vhnyoasfcXtYjQLT1VWA0ktrGIAU5YhdE1c/z/P0zePLE
         BfAxEc2Fg+1/H8c6clxaSjEFkr5asAImN+j3w9JsCp3e5Rcv7DwkL0z/FSLE1UsGa7fy
         rCQn0Qytj6bRTEi3sBkyOjd43+3ze3IWKT+pq0P/2R58RJuMgqt0QvDFt9ax4snJte2Z
         hIgYm3Ly+5lIYzIC0zICK5zrs831hGomaW5EadxUxOgln/tMNPz2YrEZlu5B+7zcASzl
         ZHOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713424192; x=1714028992;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=cVXiLwEK4lo2rGQQrknzRwST23jPGZVmFUBcXdSz3KU=;
        b=l8GeTPXNfXMvafq3dxqRD+yxTcJKQ7fNgtlNsp5RR3fQ9tp9iiQgKFnn3UQdYZoB8s
         CUnJYNZC3H1KZ8I0TuCplaIaFvuFU0qJZ9eydSQHRV+iwsgoHf05v4Dzr8vU2L3LR60S
         iiC801NCXOvbekewrKvLO2aRVk0HQHLkYkCQSwrW6zSS/hHp1I8t/NcECNyFUIa8i7r+
         PsJqv18on2NUYL8av5aLrW7Orh+biIf6mezrNQPqYUv7cXNtknUpLa4VWo9ZiRgJuiRn
         S2GOgq0yUq5DzdgeXSZ1tTmpNQpjnUrw45XcxSMuQTtttqurEDpXHsG6/GpfwAwuQwmm
         FR6A==
X-Gm-Message-State: AOJu0YxQohWc2iUqg94FYP9FgkOkFRRt/k0/Top8+VhGOUYt+zAy3yDf
	hZ3GhDA3+Uxg+1WdefMTd306snP7C7rP3ZdSnJkvc7hFfncz8Nxido8pTDjshQ==
X-Google-Smtp-Source: AGHT+IELgKLDS++NfbgaZ06tTRUjdt3quYpFqwbTLotkP7eOSdFcaGadmJyGBD7mmYKgSthVVfK0XA==
X-Received: by 2002:a5d:4150:0:b0:341:8c29:20c6 with SMTP id c16-20020a5d4150000000b003418c2920c6mr874424wrq.50.1713424192534;
        Thu, 18 Apr 2024 00:09:52 -0700 (PDT)
Message-ID: <f0bdb386-0870-4468-846c-6c8a91eaf806@suse.com>
Date: Thu, 18 Apr 2024 09:09:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Serious AMD-Vi(?) issue
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
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>,
 Kelly Choi <kelly.choi@cloud.com>
References: <ZcqoVBnsgUJw8G0l@mattapan.m5p.com>
 <ZfiY7/FBTwPQlfYi@mattapan.m5p.com>
 <CAO-mL=xndFd7xTU4Q+9hjLL-7zqZUGjYcp3_REa6QqXvtyAEYg@mail.gmail.com>
 <Zf3aWXfCANR7zXj8@mattapan.m5p.com>
 <e9b1c9c4-523b-481b-946e-37c7c18ea1d2@suse.com>
 <ZgHwEGCsCLHiYU5J@mattapan.m5p.com> <ZgRXHQpamLIdu7dk@mattapan.m5p.com>
 <c2ce4002-58d5-48a3-949c-3c361c78c0ac@suse.com>
 <ZhdNxWNpM0KCzz8E@mattapan.m5p.com>
 <2aa4d1f4-ff37-4f12-bfbb-3ef5ad3f6fdd@suse.com>
 <ZiDBc3ye2wqmBAfq@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZiDBc3ye2wqmBAfq@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.04.2024 08:45, Elliott Mitchell wrote:
> On Wed, Apr 17, 2024 at 02:40:09PM +0200, Jan Beulich wrote:
>> On 11.04.2024 04:41, Elliott Mitchell wrote:
>>> On Thu, Mar 28, 2024 at 07:25:02AM +0100, Jan Beulich wrote:
>>>> On 27.03.2024 18:27, Elliott Mitchell wrote:
>>>>> On Mon, Mar 25, 2024 at 02:43:44PM -0700, Elliott Mitchell wrote:
>>>>>> On Mon, Mar 25, 2024 at 08:55:56AM +0100, Jan Beulich wrote:
>>>>>>>
>>>>>>> In fact when running into trouble, the usual course of action would be to
>>>>>>> increase verbosity in both hypervisor and kernel, just to make sure no
>>>>>>> potentially relevant message is missed.
>>>>>>
>>>>>> More/better information might have been obtained if I'd been engaged
>>>>>> earlier.
>>>>>
>>>>> This is still true, things are in full mitigation mode and I'll be
>>>>> quite unhappy to go back with experiments at this point.
>>>>
>>>> Well, it very likely won't work without further experimenting by someone
>>>> able to observe the bad behavior. Recall we're on xen-devel here; it is
>>>> kind of expected that without clear (and practical) repro instructions
>>>> experimenting as well as info collection will remain with the reporter.
>>>
>>> After looking at the situation and considering the issues, I /may/ be
>>> able to setup for doing more testing.  I guess I should confirm, which of
>>> those criteria do you think currently provided information fails at?
>>>
>>> AMD-IOMMU + Linux MD RAID1 + dual Samsung SATA (or various NVMe) +
>>> dbench; seems a pretty specific setup.
>>
>> Indeed. If that's the only way to observe the issue, it suggests to me
>> that it'll need to be mainly you to do further testing, and perhaps even
>> debugging. Which isn't to say we're not available to help, but from all
>> I have gathered so far we're pretty much in the dark even as to which
>> component(s) may be to blame. As can still be seen at the top in reply
>> context, some suggestions were given as to obtaining possible further
>> information (or confirming the absence thereof).
> 
> There may be other ways which haven't yet been found.
> 
> I've been left with the suspicion AMD was to some degree sponsoring
> work to ensure Xen works on their hardware.  Given the severity of this
> problem I would kind of expect them not want to gain a reputation for
> having data loss issues.  Assuming a suitable pair of devices weren't
> already on-hand, I would kind of expect this to be well within their
> budget.

You've got to talk to AMD then. Plus I assume it's clear to you that
even if the (presumably) necessary hardware was available, it still
would require respective setup, leaving open whether the issue then
could indeed be reproduced.

>> I'd also like to come back to the vague theory you did voice, in that
>> you're suspecting flushes to take too long. I continue to have trouble
>> with this, and I would therefore like to ask that you put this down in
>> more technical terms, making connections to actual actions taken by
>> software / hardware.
> 
> I'm trying to figure out a pattern.
> 
> Nominally all the devices are roughly on par (only a very cheap flash
> device will be unable to overwhelm SATA's bandwidth).  Yet why did the
> Crucial SATA device /seem/ not to have the issue?  Why did a Crucial NVMe
> device demonstrate the issue.
> 
> My guess is the flash controllers Samsung uses may be able to start
> executing commands faster than the ones Crucial uses.  Meanwhile NVMe
> is lower overhead and latency than SATA (SATA's overhead isn't an issue
> for actual disks).  Perhaps the IOMMU is still flushing its TLB, or
> hasn't loaded the new tables.

Which would be an IOMMU issue then, that software at best may be able to
work around.

Jan

> I suspect when the MD-RAID1 issues block requests to a pair of devices,
> it likely sends the block to one device and then reuses most/all of the
> structures for the second device.  As a result the second request would
> likely get a command to the device rather faster than the first request.
> 
> Perhaps look into what structures the MD-RAID1 subsystem reuses are.
> Then see whether doing early setup of those structures triggers the
> issue?
> 
> (okay I'm deep into speculation here, but this seems the simplest
> explanation for what could be occuring)
> 
> 



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:15:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:15:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707988.1106475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxLz5-00059S-Ba; Thu, 18 Apr 2024 07:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707988.1106475; Thu, 18 Apr 2024 07: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 1rxLz5-00059L-83; Thu, 18 Apr 2024 07:15:03 +0000
Received: by outflank-mailman (input) for mailman id 707988;
 Thu, 18 Apr 2024 07: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxLz4-00059F-QH
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:15:02 +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 5da46b1c-fd53-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:14:59 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-418dc00a31aso3697135e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:14: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
 fk13-20020a05600c0ccd00b00418e2e4aa4asm1232657wmb.16.2024.04.18.00.14.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00: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: 5da46b1c-fd53-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713424499; x=1714029299; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qN9D5yXth4XtayEWN7Tz7NSdMK+JNjlhuWENf1lVmRY=;
        b=VXCUOc5RwPGIrbS4S3acB0tGlGC5/7KillPpo0W9EQwkbWSRh+Pj4n9SCfETWCK8A/
         XFy/MPAD4SuHYvKlizEgb/bGFF75OZxK5llxCIZb8AZ5Je0Be8y/QJBl1fpuy9/IAbcU
         15mEYN2jOI4Uwfgs/WzHFJxtOvroYE4nJrgiZSkOR+0+OAV0lwcCThCGscnWcaDiuaY8
         Eul2KNSK9X0tO3E0KI02U23LKLI37bZN1M2uwshnkGy8v9I5iEwjOQrUAwFlhYzjYoCa
         kivIJsbaV7MLr9aKk5M78bm9Y/PZKR8i92xFXPtZw2l3T1x9CM5N8xb9GOGcoM9BSIVB
         nEHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713424499; x=1714029299;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qN9D5yXth4XtayEWN7Tz7NSdMK+JNjlhuWENf1lVmRY=;
        b=qCdg5ClrS0KItJeEjRwChQh/OcyU91PaNGpHlCoPOes1lwvZjO4n5n1J/ky7PApsvf
         fLGEpHaVwH/kzJf2EQOAijnYBpEY7/IbAxNnl/F1gTJIJ2DRHeSsI+k0iWKohtwVAspz
         XW0mv+aMehF1NpZrpHFNf+C0+d86GQw7IggXb6zkS6TkMCKqaSH9TjvFMfHX/BAMovNn
         ItIZYQ7JDsGJBMBEii5r3FBuiLLN4v6wFuYZT/CEgjGIjGgUMTF0Xar1o8Bmwv+JqG/w
         jTcWtVfrby3CO54bsMD3NjYaZBLhno/pVl4TarZRXnf4ije30Gq6ae3IiFl4jGloxF0L
         Anvw==
X-Forwarded-Encrypted: i=1; AJvYcCVhMjWKqt+D3Mcfq9T1GU4xK5GKHBcl7KSae3fiJipacztcxR9RTQkd7g1vjR5JJ/cY5240fADespo7VBfJViDcDlOtv+c/nqP6EX5kGSI=
X-Gm-Message-State: AOJu0Yz1OPGrSNSZ+peS223lDig07xPdGLOd+FaqfigLdg2dBQZZ6Yyo
	+URf9uGzCjZwCUR1yz6xkqnkOwBeFn8ATOODO5at3g5I5AgQOOBgxcWtZv6Seg==
X-Google-Smtp-Source: AGHT+IEVOAD0HRUemY5Y3g9RtPcBcjEvWfSzHR0AB9+Ojp8dCnFO0PKvtncMLcC/ybzSpWUMufYiPQ==
X-Received: by 2002:a05:600c:444e:b0:418:301e:6c60 with SMTP id v14-20020a05600c444e00b00418301e6c60mr1274819wmn.12.1713424499146;
        Thu, 18 Apr 2024 00:14:59 -0700 (PDT)
Message-ID: <9ea586eb-b9ac-441b-981d-f35ee70b9831@suse.com>
Date: Thu, 18 Apr 2024 09:14:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 01/17] xen/riscv: disable unnecessary configs
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <267bb71ebeeafde25284eff82408effebba4380b.1713347222.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <267bb71ebeeafde25284eff82408effebba4380b.1713347222.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 12:04, Oleksii Kurochko wrote:
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -515,10 +515,14 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
>  .riscv-fixed-randconfig:
>    variables: &riscv-fixed-randconfig
>      EXTRA_FIXED_RANDCONFIG: |
> +      CONFIG_BOOT_TIME_CPUPOOLS=n
>        CONFIG_COVERAGE=n
>        CONFIG_EXPERT=y
>        CONFIG_GRANT_TABLE=n
>        CONFIG_MEM_ACCESS=n
> +      CONFIG_PERF_COUNTERS=n
> +      CONFIG_LIVEPATCH=n
> +      CONFIG_XSM=n

While XSM and BOOT_TIME_CPUPOOLS are covered in the description, I struggle
with PERF_COUNTERS: What's missing there (besides trivial asm/perfc.h and
asm/perfc_defn.h)? As to LIVEPATCH: I suppose there ought to be HAS_LIVEPATCH
allowing arch-es to indicate whether they support that.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:22:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:22:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707992.1106485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxM66-0006rl-22; Thu, 18 Apr 2024 07:22:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 707992.1106485; Thu, 18 Apr 2024 07:22:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxM65-0006re-Ux; Thu, 18 Apr 2024 07:22:17 +0000
Received: by outflank-mailman (input) for mailman id 707992;
 Thu, 18 Apr 2024 07:22: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxM65-0006rT-1h
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:22:17 +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 611744d2-fd54-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:22:14 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-418a0256381so3927485e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:22: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
 s9-20020a05600c45c900b004180c6a26bdsm3859495wmo.1.2024.04.18.00.22.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:22: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: 611744d2-fd54-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713424934; x=1714029734; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LoDQQ3fb388UBFQXm0Jk4QZ5q5FukwHSab0/plpL3/o=;
        b=JUJl0QJ1lP2nLrQe2wGqQ1HeY1jbw4DBsUxzJcvQuaggoflIKUeGPqa4jjYUJoo7ng
         oBxU+AvB7PMRyp6vSkQQHyeWQ6VyecCUciskFhj9vrQ157vFMHSwd21/pKtp1vahEO8B
         AyU7eMV8E0LwaIjbISZrWVQ0uCqCEAUeqJ6g4Z2LQ859atEgm7lhyyPaD1FrwP177BFq
         DpuZ3+YRITNaf6IooWSRvQ4LtPWWVrSpkunrSvEgNgOo1vERPqJBG1Fs8PCeKx/dKRry
         BUO1MHAOiilInBCcwfGYMD2pj60YuCnoWC2uG77MuRw4PphsckhO62RJDy83bZ2j1pjo
         UJtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713424934; x=1714029734;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LoDQQ3fb388UBFQXm0Jk4QZ5q5FukwHSab0/plpL3/o=;
        b=pwNuUPI5+lzANZdNls8Z12IckpQM+OxfOuBV+/I4YpAgNo2uPAevor3IujQ6RHWc0R
         3Eeh47HhEPl6+pdvZvMF3kt0T43o/q7SK+0vXt8rsbU2fLrZsvrrj4X/ZPPrcBl6bV2k
         dBd8MuIdDpw8RtCBQNoODoPNic24leFpm4KMQS+lnjs4sNW4zQeASyXW4DJy5bx28NxC
         BAlSh49N+zHkY+XDEt0aWvVwJoOtR4fV8K/ljt3RVFvyf/HCpK6hUL4Nc8WvGyHjk7ZR
         glSZYc5HIodnCvNKXmAmLEm7ayOs1H69bQt70yBwX6QD6d2SwHZNscxuGD2lHGM05OIP
         clVA==
X-Forwarded-Encrypted: i=1; AJvYcCV3HiIp5+j3yEbzvyhaVuQEfiu0/uVGVq4h+cxKNI0GDhyS0gAciohf8g5AD/S9bEp7JtO4aQhNeSCQNnx2BqdUlWmJAzETZewPxPWYGZI=
X-Gm-Message-State: AOJu0YwoYmnp6r6RIqRz4yykJx7cMNBG/Z5zlMAeDgB9OcOmOHY/cM1h
	F6mr2/q2lnCxJRgYfKjDP1O0DWljtJ9F71QSowb/+Uo22q66mEgWPYENWSUN7g==
X-Google-Smtp-Source: AGHT+IFmhdeDlL3VKzC63mKN8caDeDRKlRi3vRNKpgNWsy4wb5D0Rqiubtj+g0bj5auuD23QgCEoYQ==
X-Received: by 2002:a05:600c:5026:b0:418:ee2f:cb79 with SMTP id n38-20020a05600c502600b00418ee2fcb79mr218293wmr.27.1713424934435;
        Thu, 18 Apr 2024 00:22:14 -0700 (PDT)
Message-ID: <2d890f61-6f51-4d64-844e-24207805a65c@suse.com>
Date: Thu, 18 Apr 2024 09:22:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair_analysis: substitute deprecated
 service
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, xen-devel@lists.xenproject.org
References: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 16:51, Nicola Vetrini wrote:
> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
> @@ -44,8 +44,8 @@
>  -doc_end
>  
>  -doc_begin="See Section \"6.19 Structures with No Members\" of "GCC_MANUAL"."
> --config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
> --config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
> +-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
> +-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
>  -doc_end

I'm irritated by this, which may be in part because of too terse a description.
"emptrecd" looks like an abbreviation of "empty record" to me, in line with
"Structures with No Members". "anonstct" otoh looks an abbreviation of
"anonymous structures" to me, which is something different (structures without
names).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:26:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.707995.1106495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMA3-0000CM-HX; Thu, 18 Apr 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 707995.1106495; Thu, 18 Apr 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 1rxMA3-0000CE-Ey; Thu, 18 Apr 2024 07:26:23 +0000
Received: by outflank-mailman (input) for mailman id 707995;
 Thu, 18 Apr 2024 07:26:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxMA1-0000C7-Oh
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:26:21 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3f3819c-fd54-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 09:26:20 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3465921600dso427667f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:26: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
 a7-20020adfeec7000000b00349cadc5024sm1083425wrp.61.2024.04.18.00.26.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:26: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: f3f3819c-fd54-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713425180; x=1714029980; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=I1FTM9vNEaTc3mPbY3bPEEbPRuJnJvUdbWIQVpq+TdM=;
        b=IX2cuwqBpuVXeIHf7DJcv0DcAUbmKqEmFLfpTvEbjXc+roPrh9bIjvyTis82nIbm4j
         Vz39hcywEJyLcAajevswL6egIWDuRCN3aIKmiMp4QS1I0O7X+VaCZ9Sb5HUWyx+vN6v4
         QMDmZ8FyRToB6WpnC7jMTnIQIQ0yfVeEwtDc5n6l/g6WIl1UdQ9N3xQmSz3aEHFU8c/q
         4YIlyaWNSo+HlSnyypevpY4KWrLPP1OOyJRwYYfT3dgyMAbZG7o221ReTAjmW5qXyCij
         Q3M/vGIAMYm+GSNGrOMqQF4o/dNxm05MApZe/7vbiqO4cQI9vThOoEIAd/jqHERWDb4r
         MDfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713425180; x=1714029980;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=I1FTM9vNEaTc3mPbY3bPEEbPRuJnJvUdbWIQVpq+TdM=;
        b=oXeFoGihgorGcLMqEu9jBK5JHUkJk6EtwYeSWClXQOybdLhm+aDrzKTXkPWI9yLX1r
         gWsTGPqVz1vDrCOatoYL4fQOa1k0KLHJsLtKPW2+4FENFPiFtU0QGkP55oAGi3CpRm9y
         Lmohu9hKXf8SUsIfAX4nq1djbf0w7Pu9niNZSpkj4Y3MYXkufr1dJKGkGdXu8DkaJO+1
         n5eLPR0ueY5OeuWpaMocgTZKiVmuG2dB29DIG4gj9ybAVm86hETeqsVZI/eYhBIw1FKG
         FkBrwUUdpFfl2cfY4Zi2+uAWsje3aSLNEtIwUQsnuoO3C7uhiZhLJ3Kum/AByZ7YLshX
         x8+w==
X-Forwarded-Encrypted: i=1; AJvYcCX44TkqlFeLTBMdPH4JrokTm7xygyk1M/FtA6ysNyv9vqDhxPXdLJl8zJsi2L0cEYPhtb+l+xGciFCDZjM123kxjowkn0Vw9TmHkzudu4M=
X-Gm-Message-State: AOJu0Yzw5RcwIHnlLRGt8/yRENPVB5QcYFbSH+WqO4lKRD0iavXgjD7M
	9Zn7qMXC+ga3yunMKphcSCwqbFFJGOzQByB/Ry4QgpRopaFTJyMIKdaXd+0cEw==
X-Google-Smtp-Source: AGHT+IFS6c2+4mMDxAX7zi031y6+yExxXhxNXCI0yPVKicEUn16ek0SCyCLqnX9/Rm2mtf5Q2YihcA==
X-Received: by 2002:a05:6000:1:b0:346:d2c0:7682 with SMTP id h1-20020a056000000100b00346d2c07682mr946112wrx.30.1713425180128;
        Thu, 18 Apr 2024 00:26:20 -0700 (PDT)
Message-ID: <e8210c90-e023-4912-8d12-640512c97805@suse.com>
Date: Thu, 18 Apr 2024 09:26:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240417121442.56178-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240417121442.56178-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.04.2024 14:14, Michal Orzel wrote:
> Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
> in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
> for it. This results in a build failure. Example on Arm:
> 
> ./include/public/arch-arm.h:205:41: error: unknown type name ‘__guest_handle_64_int32_t’
>   205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
>       |                                         ^~~~~~~~~~~~~~~~~~
> ./include/public/arch-arm.h:206:41: note: in expansion of macro ‘__XEN_GUEST_HANDLE’
>   206 | #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
>       |                                         ^~~~~~~~~~~~~~~~~~
> ./include/public/memory.h:277:5: note: in expansion of macro ‘XEN_GUEST_HANDLE’
>   277 |     XEN_GUEST_HANDLE(int32_t) errs;
> 
> Fix it. Also, drop guest handle definition for int given no further use.

Such cannot be done like this. Consumers of the header may have grown their
own uses. The declaration needs to remain active for any consumers
supplying __XEN_INTERFACE_VERSION__ < 0x00041900. Which means you need to
bump __XEN_LATEST_INTERFACE_VERSION__ and wrap the handle type declaration
in #ifdef. Provided the removal of that handle type for newer interface
versions is really warranting all this effort.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:30:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708001.1106505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMDh-0001jM-51; Thu, 18 Apr 2024 07:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708001.1106505; Thu, 18 Apr 2024 07: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 1rxMDh-0001jF-1i; Thu, 18 Apr 2024 07:30:09 +0000
Received: by outflank-mailman (input) for mailman id 708001;
 Thu, 18 Apr 2024 07:30:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qd9Q=LX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rxMDf-0001gC-8u
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:30:07 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:200a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7937b8be-fd55-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 09:30:05 +0200 (CEST)
Received: from DM6PR13CA0013.namprd13.prod.outlook.com (2603:10b6:5:bc::26) by
 CH3PR12MB8852.namprd12.prod.outlook.com (2603:10b6:610:17d::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Thu, 18 Apr
 2024 07:30:01 +0000
Received: from CY4PEPF0000FCC5.namprd03.prod.outlook.com
 (2603:10b6:5:bc:cafe::5f) by DM6PR13CA0013.outlook.office365.com
 (2603:10b6:5:bc::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.12 via Frontend
 Transport; Thu, 18 Apr 2024 07:30:01 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000FCC5.mail.protection.outlook.com (10.167.242.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 18 Apr 2024 07:30:01 +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.35; Thu, 18 Apr
 2024 02:30:00 -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.35 via Frontend
 Transport; Thu, 18 Apr 2024 02:29: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: 7937b8be-fd55-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n1gARDwOC5jZsGOZ2r59pSrOiFPKHIUS8Q3/ahiQ+iOg8XbvYB24CLsPRDts0soSb50TNrzhx6stHPMNtGARuL7+0NT0PaQCAQ8f9prqGHoM/o6J7zllZnUce4MDZx/S4FnwsNLCAJ2eSvzC65Av9RgBwILrcNt+PhnwI7wo+D9gdsHUdiB3XXkgR6sYR7gTIN1jLnQgVm+jkN1Nr1i153Q3VxYrmoNXRYKj3MUnDxFquCBEUbTdPoO5eQtBHjtm5j4hjvuqdg1V8Er/N6GukmbDLGjedb5dXUze4bZC/hTKj83X1DnKulMKZo54Qk3AgyAappSfrgh2ES7pMb7w2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bRaiKWp+xsdI4WLMgfOVM3FLsbmAXpU2D4zBgQEyjs0=;
 b=GKkv10J7zAbJl13LZUvvZj0FnCXcIK/xIFpsDruH3bl/dB61S266+Rz4PLD7AagYHKGI6W8fLaCByGEiGDdk4jMFPxUoabV5R813s0D1qLanCoIsb3RgONu6001KVMFIk/mZUPOfmysxsE2sR+JbGFENzYUT1+c17pdYzy48lQpM3zA/9xrp4hOgAbmgw2nDsy/tNM7798caRD1fmb9SQ4o4jVaGS2iCIf95ATCYAb48gLUrfa31snYQo+HN1d6cwNaStTvaMOZPK5DQkDdOYIcZY8Wpuamz+Sudz0Oah07knExZq8kfuy+QlgNleXYLsZz+14nFUD4ZPiOONamnRQ==
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=bRaiKWp+xsdI4WLMgfOVM3FLsbmAXpU2D4zBgQEyjs0=;
 b=j7tFFl/BtfuG2BC5ezLCZaFxPRR+Eave3HKGR2Tefkxwo37FMSMw6hQbZwTBm8v5bdCzShc7c7ZThEc2zo6URu9Uah3t12E7aXU8ETLVXclhDcRpK2UjPSsclA5Z0hbYKxvPffUEDwHsevn6FV/Rmq+3JDhzPO7ijFQpuO4mHR8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <2d7a1961-4a26-4a95-96b1-f351b4d3ad45@amd.com>
Date: Thu, 18 Apr 2024 09:29:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20240417121442.56178-1-michal.orzel@amd.com>
 <e8210c90-e023-4912-8d12-640512c97805@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <e8210c90-e023-4912-8d12-640512c97805@suse.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: CY4PEPF0000FCC5:EE_|CH3PR12MB8852:EE_
X-MS-Office365-Filtering-Correlation-Id: db3e67eb-ba9e-428e-13bf-08dc5f795bdb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NJ4oEnJgLd8+0kWO3kRUUpc4HpncjiEiPHLEVqBgqkPw3szeNiHWuthEbZXDJXFs62vgzUIvEPkEYj3vItHclv4otbiiUlo00L49g2yXgB42hMS2Amxjnth1dfaHovmUNnSxbWJy1vw1kZHxKN0sTvhdm6tKR+cfEWCW6yerza288+ORVVHOuu7lXseYZQYA4izRdoguynBNyvuskrbyxbSPFHkAUQtcPOVI/7RdZXc9amzVYU/W+uEdN7lToNHZQmdaXVPz44dzeqBhqcv6KJSgMg/9BguQ1R1SfVkW+3+cCjIU9lQRfJkOMLo2PRDgx4juxejI7A/5ShD5rci1F5WSUIOHyV6ordWQVjYddm5kuz15obJxV8hsqFwwMLIdVqHZ31I1E8Xz2XqFNdLQlCpD/0cvvFkRV7na8s2SZB12Fv5iEBk+bA0i8pBm2n43rjRwUjTWLZZHKANq5fsmodMIrri/8vVHZ37r8XtJ4ATjsHJGxPAgUiOS6GkmhgStIVHIHUTg1GuZgVToUw6ilZ3BpEWau2zgWfy/mpz3zrZ2v23NPUTJ7BvZ+ouqxL4ZGthstLOthgfGmTjerHmLDUT/13g20EaZRT6W3B3uo+yRh1zCMC1SDEh902o3muTJkEd5HC4EhL+FZ5t3oslkQP0wOqa+U+jpBXwdyFeLgtWAzVh0dlqXznjkOLCW9pnlrbnynkCvVNusIGB8QiAjLzh9BYqLN673mbCfDzxzaoFM1CgoKIDnjzKEt7+eZKE+
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 07:30:01.5439
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: db3e67eb-ba9e-428e-13bf-08dc5f795bdb
X-MS-Exchange-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:
	CY4PEPF0000FCC5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8852

Hi Jan,

On 18/04/2024 09:26, Jan Beulich wrote:
> 
> 
> On 17.04.2024 14:14, Michal Orzel wrote:
>> Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
>> in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
>> for it. This results in a build failure. Example on Arm:
>>
>> ./include/public/arch-arm.h:205:41: error: unknown type name ‘__guest_handle_64_int32_t’
>>   205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
>>       |                                         ^~~~~~~~~~~~~~~~~~
>> ./include/public/arch-arm.h:206:41: note: in expansion of macro ‘__XEN_GUEST_HANDLE’
>>   206 | #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
>>       |                                         ^~~~~~~~~~~~~~~~~~
>> ./include/public/memory.h:277:5: note: in expansion of macro ‘XEN_GUEST_HANDLE’
>>   277 |     XEN_GUEST_HANDLE(int32_t) errs;
>>
>> Fix it. Also, drop guest handle definition for int given no further use.
> 
> Such cannot be done like this. Consumers of the header may have grown their
> own uses. The declaration needs to remain active for any consumers
> supplying __XEN_INTERFACE_VERSION__ < 0x00041900. Which means you need to
> bump __XEN_LATEST_INTERFACE_VERSION__ and wrap the handle type declaration
> in #ifdef. Provided the removal of that handle type for newer interface
> versions is really warranting all this effort.
I think we could just leave this guest handle definition as is then.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:36:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:36:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708008.1106514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMJa-0003cE-Ns; Thu, 18 Apr 2024 07:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708008.1106514; Thu, 18 Apr 2024 07:36:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMJa-0003c7-L8; Thu, 18 Apr 2024 07:36:14 +0000
Received: by outflank-mailman (input) for mailman id 708008;
 Thu, 18 Apr 2024 07:36:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxMJZ-0003ai-Lk
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:36:13 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 539fed86-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:36:10 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-418c2bf2f90so2933625e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:36: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
 jg23-20020a05600ca01700b004189cf6bd6esm5346396wmb.22.2024.04.18.00.36.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:36: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: 539fed86-fd56-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713425771; x=1714030571; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jUrxXZbvUIPruDasrXksl6xnNFXLc4odWwRuKQp+7SQ=;
        b=CaIc/aPKaVzzy3r1ChLVuPcTEDeQV+RbgCeYPULR5O8GpR8ZoIuQI6ADH6g8OHwozq
         gDGyG/LfMaLR1YWwLOIS7kYq50AotiVo8Vm4hCuMX8j9c+F9YY+VNLhakwgn5dGLNn51
         PUFm33WAoAsbEGk3+ZdsMFdKLvxiEWDLuVa84mAa2fFgP6GS3WNr0dkt6u1tqHZkJyNk
         OXGr52SLrZBD1bEpo/0k5PZMqwUh5txrcx9HrUKRHe2CRMgsmgoKlWfLYKXYmYmx2MS4
         6p1EfGRWjUm6Dy+NXb3qsmoYJpsZWo66cqxO+9LqyDE9ZvJdPwIsMB1mFiaDs7dTr4j2
         t0GA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713425771; x=1714030571;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=jUrxXZbvUIPruDasrXksl6xnNFXLc4odWwRuKQp+7SQ=;
        b=MWXg/Usp4oULbjNmppdhyVS3t5o44IDFP14xuIcYfhEGmud1BErhJNge85C0QklbjG
         uf0lXaG+OqFB34BFFtxJXwakznUu09FFdky0+6au3guo8l0dKV4fxSXRj7KoL8j7iCaZ
         1ydDcdvWDkr1DyOCdHBpRrP0LIxnC1d4Zl7CaKHvZ1EJG/4tI68p3/pTBjVg0ru8gonB
         +B/I9Hw2Y/baReIu2sXby5sZSWkdNKPmRciUOiJ1l7HGjfChQEwezFTQcbn0ILaF3ZXs
         CZ+8Yho5fqCvVV2Uy3snAvvNkVRludrl19W7DIZHRuVwoZ9bfeZd6VZEbGDTvPVUfu2k
         22gA==
X-Forwarded-Encrypted: i=1; AJvYcCXhkWOgsrhm/R72igXhexzQw6y08fE+Svl3LxQ7Evr1EM9DcZh+LmpRLx6znrWC8bWWWHvKYRjJow5OPd0ruU71OiX/kwjwGBZUkIFYzTo=
X-Gm-Message-State: AOJu0Yy/zU2oVY3xZG2Rvt9JR87+PglkMOxUin4l5AhCnK7EH0Asnkla
	eCya4KzWvFkeVfJ61hJYAiTDoRZrVAPMjUr2QAwLz4CGSW9MpQ88vfIkiA139Q==
X-Google-Smtp-Source: AGHT+IEYE/J0ukMUdzOJHaZ0IzVbDGsqQGfS7cpoBRJr3k8WeOzilEiMAsnHY0BnW3xkQrQSgqPu5g==
X-Received: by 2002:a05:600c:3b86:b0:418:9d4a:1ba5 with SMTP id n6-20020a05600c3b8600b004189d4a1ba5mr1040330wms.6.1713425770873;
        Thu, 18 Apr 2024 00:36:10 -0700 (PDT)
Message-ID: <efb44106-832b-409a-a810-7821e830ac81@suse.com>
Date: Thu, 18 Apr 2024 09:36:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.04.2024 21:24, Andrew Cooper wrote:
> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>> index 1bcb007395ba..9b4891731b8b 100644
>> --- a/xen/common/gzip/gunzip.c
>> +++ b/xen/common/gzip/gunzip.c
>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned long image_len)
>>  
>>  __init int perform_gunzip(char *output, char *image, unsigned long image_len)
>>  {
>> +    struct gzip_data gd;
>>      int rc;
> 
> By the end of this series,
> 
> Reading symbols from xen-syms...
> (gdb) p sizeof(struct gzip_data)
> $1 = 2120
> 
> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
> dynamically allocated, even in inflate.c, so I'd highly recommend doing
> the same for this.
> 
> 
> Also, could I nitpick the name and request:
> 
> struct gzip_state *s;

Except: Why "gzip" when it's un-zipping state?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708010.1106524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKQ-00046t-02; Thu, 18 Apr 2024 07:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708010.1106524; Thu, 18 Apr 2024 07: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 1rxMKP-00046i-Th; Thu, 18 Apr 2024 07:37:05 +0000
Received: by outflank-mailman (input) for mailman id 708010;
 Thu, 18 Apr 2024 07:37: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKP-00046V-7O
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 71c87898-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:02 +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 34D7A339;
 Thu, 18 Apr 2024 00:37:29 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 849D63F64C;
 Thu, 18 Apr 2024 00: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: 71c87898-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 00/12] Static shared memory followup v2 - pt1
Date: Thu, 18 Apr 2024 08:36:40 +0100
Message-Id: <20240418073652.3622828-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is a partial rework of this other serie:
https://patchwork.kernel.org/project/xen-devel/cover/20231206090623.1932275-1-Penny.Zheng@arm.com/

The original serie is addressing an issue of the static shared memory feature
that impacts the memory footprint of other component when the feature is
enabled, another issue impacts the device tree generation for the guests when
the feature is enabled and used and the last one is a missing feature that is
the option to have a static shared memory region that is not from the host
address space.

This serie is handling some comment on the original serie and it is splitting
the rework in two part, this first part is addressing the memory footprint issue
and the device tree generation, there will be a following serie addressing the
last missing feature soon.

>From v2:
 - Removed merging of the /memory interval

>From v1:
 - Add new patches, moved the patch related to the static memory helper.

Luca Fancellu (8):
  xen/arm: Pass struct kernel_info parameter to
    make_{resv,shm}_memory_node
  xen/arm: Introduce a generic way to access memory bank structures
  xen/arm: Conditional compilation of kernel_info.shm_mem member
  xen/arm: Avoid code duplication in find_unallocated_memory
  xen/arm: Avoid code duplication in check_reserved_regions_overlap
  xen/arm: Introduce helper for static memory pages
  xen/arm: Reduce struct membank size on static shared memory
  xen/arm: List static shared memory regions as /memory nodes

Penny Zheng (4):
  xen/arm: remove stale addr_cells/size_cells in assign_shared_memory
  xen/arm: avoid repetitive checking in process_shm_node
  xen/arm: remove shm holes from extended regions
  xen/arm: fix duplicate /reserved-memory node in Dom0

 xen/arch/arm/acpi/domain_build.c         |   6 +-
 xen/arch/arm/arm32/mmu/mm.c              |  68 ++++--
 xen/arch/arm/arm64/mmu/mm.c              |   4 +-
 xen/arch/arm/bootfdt.c                   |  40 ++--
 xen/arch/arm/dom0less-build.c            |  19 +-
 xen/arch/arm/domain_build.c              | 213 ++++++++++--------
 xen/arch/arm/efi/efi-boot.h              |   8 +-
 xen/arch/arm/efi/efi-dom0.c              |  13 +-
 xen/arch/arm/include/asm/domain_build.h  |   6 +-
 xen/arch/arm/include/asm/kernel.h        |  18 +-
 xen/arch/arm/include/asm/setup.h         |  81 ++++++-
 xen/arch/arm/include/asm/static-memory.h |  13 ++
 xen/arch/arm/include/asm/static-shmem.h  |  59 ++++-
 xen/arch/arm/kernel.c                    |  12 +-
 xen/arch/arm/setup.c                     |  97 ++++++---
 xen/arch/arm/static-memory.c             |  35 ++-
 xen/arch/arm/static-shmem.c              | 263 ++++++++++++++++++-----
 17 files changed, 689 insertions(+), 266 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708011.1106535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKR-0004LE-8U; Thu, 18 Apr 2024 07:37:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708011.1106535; Thu, 18 Apr 2024 07:37:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKR-0004L7-59; Thu, 18 Apr 2024 07:37:07 +0000
Received: by outflank-mailman (input) for mailman id 708011;
 Thu, 18 Apr 2024 07: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKP-00046V-Td
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 72b1bec8-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:03 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BA219DA7;
 Thu, 18 Apr 2024 00:37:30 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CCE7B3F64C;
 Thu, 18 Apr 2024 00:37: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: 72b1bec8-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 01/12] xen/arm: remove stale addr_cells/size_cells in assign_shared_memory
Date: Thu, 18 Apr 2024 08:36:41 +0100
Message-Id: <20240418073652.3622828-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Function parameters {addr_cells,size_cells} are stale parameters in
assign_shared_memory, so we shall remove them.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - no change
v1:
 - This is this patch: https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-2-Penny.Zheng@arm.com/
---
---
 xen/arch/arm/static-shmem.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 9097bc8b1511..cb268cd2edf1 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -90,7 +90,6 @@ static mfn_t __init acquire_shared_memory_bank(struct domain *d,
 }
 
 static int __init assign_shared_memory(struct domain *d,
-                                       uint32_t addr_cells, uint32_t size_cells,
                                        paddr_t pbase, paddr_t psize,
                                        paddr_t gbase)
 {
@@ -252,7 +251,6 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
              * specified, so they should be assigned to dom_io.
              */
             ret = assign_shared_memory(owner_dom_io ? dom_io : d,
-                                       addr_cells, size_cells,
                                        pbase, psize, gbase);
             if ( ret )
                 return ret;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708012.1106545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKS-0004al-EK; Thu, 18 Apr 2024 07:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708012.1106545; Thu, 18 Apr 2024 07: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 1rxMKS-0004aa-B6; Thu, 18 Apr 2024 07:37:08 +0000
Received: by outflank-mailman (input) for mailman id 708012;
 Thu, 18 Apr 2024 07:37: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKR-00046V-2u
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:07 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 73a43654-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:04 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4CC021576;
 Thu, 18 Apr 2024 00:37:32 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5F1313F64C;
 Thu, 18 Apr 2024 00: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: 73a43654-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 02/12] xen/arm: avoid repetitive checking in process_shm_node
Date: Thu, 18 Apr 2024 08:36:42 +0100
Message-Id: <20240418073652.3622828-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Putting overlap and overflow checking in the loop is causing repetitive
operation, so this commit extracts both checking outside the loop.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - add Michal R-by
v1:
 - Rework of https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-3-Penny.Zheng@arm.com/
 - use strncmp to match the branch above
 - drop Michal R-by given the change
---
---
 xen/arch/arm/static-shmem.c | 39 +++++++++++++++----------------------
 1 file changed, 16 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index cb268cd2edf1..40a0e860c79d 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -349,7 +349,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 {
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
-    paddr_t paddr, gaddr, size;
+    paddr_t paddr, gaddr, size, end;
     struct meminfo *mem = &bootinfo.reserved_mem;
     unsigned int i;
     int len;
@@ -422,6 +422,13 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
         return -EINVAL;
     }
 
+    end = paddr + size;
+    if ( end <= paddr )
+    {
+        printk("fdt: static shared memory region %s overflow\n", shm_id);
+        return -EINVAL;
+    }
+
     for ( i = 0; i < mem->nr_banks; i++ )
     {
         /*
@@ -441,30 +448,13 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
                 return -EINVAL;
             }
         }
+        else if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) != 0 )
+            continue;
         else
         {
-            paddr_t end = paddr + size;
-            paddr_t bank_end = mem->bank[i].start + mem->bank[i].size;
-
-            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
-            {
-                printk("fdt: static shared memory region %s overflow\n", shm_id);
-                return -EINVAL;
-            }
-
-            if ( check_reserved_regions_overlap(paddr, size) )
-                return -EINVAL;
-            else
-            {
-                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
-                    continue;
-                else
-                {
-                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
-                           shm_id);
-                    return -EINVAL;
-                }
-            }
+            printk("fdt: different shared memory region could not share the same shm ID %s\n",
+                   shm_id);
+            return -EINVAL;
         }
     }
 
@@ -472,6 +462,9 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     {
         if ( i < NR_MEM_BANKS )
         {
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+
             /* Static shared memory shall be reserved from any other use. */
             safe_strcpy(mem->bank[mem->nr_banks].shm_id, shm_id);
             mem->bank[mem->nr_banks].start = paddr;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708013.1106555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKT-0004qw-Rt; Thu, 18 Apr 2024 07:37:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708013.1106555; Thu, 18 Apr 2024 07: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 1rxMKT-0004qi-Ox; Thu, 18 Apr 2024 07:37:09 +0000
Received: by outflank-mailman (input) for mailman id 708013;
 Thu, 18 Apr 2024 07: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKS-00046V-E9
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 74634cd5-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:05 +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 93C08339;
 Thu, 18 Apr 2024 00:37:33 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E51DC3F64C;
 Thu, 18 Apr 2024 00:37: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: 74634cd5-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 03/12] xen/arm: Pass struct kernel_info parameter to make_{resv,shm}_memory_node
Date: Thu, 18 Apr 2024 08:36:43 +0100
Message-Id: <20240418073652.3622828-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The struct domain parameter is not used in make_resv_memory_node and in
its called function make_shm_memory_node, so drop it from both functions,
also, take the occasion to pass directly struct kernel_info, from which
we can infer other parameters passed to the functions and drop them as
well.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3:
 - Fix commit title/msg, add Michal R-by
v2:
 - new patch
---
---
 xen/arch/arm/dom0less-build.c           |  3 +--
 xen/arch/arm/domain_build.c             |  3 +--
 xen/arch/arm/include/asm/static-shmem.h |  9 ++++-----
 xen/arch/arm/static-shmem.c             | 16 +++++++++-------
 4 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index fb63ec6fd111..0edc5357caef 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -645,8 +645,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     if ( ret )
         goto err;
 
-    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                &kinfo->shm_mem);
+    ret = make_resv_memory_node(kinfo, addrcells, sizecells);
     if ( ret )
         goto err;
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 54232ed4cb9d..11d4e7d0b1ea 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1769,8 +1769,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                 return res;
         }
 
-        res = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                    &kinfo->shm_mem);
+        res = make_resv_memory_node(kinfo, addrcells, sizecells);
         if ( res )
             return res;
     }
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 1536ff18b895..680594b6843d 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -7,8 +7,8 @@
 
 #ifdef CONFIG_STATIC_SHM
 
-int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
-                          int sizecells, const struct meminfo *mem);
+int make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
+                          int sizecells);
 
 int process_shm(struct domain *d, struct kernel_info *kinfo,
                 const struct dt_device_node *node);
@@ -26,9 +26,8 @@ int process_shm_node(const void *fdt, int node, uint32_t address_cells,
 
 #else /* !CONFIG_STATIC_SHM */
 
-static inline int make_resv_memory_node(const struct domain *d, void *fdt,
-                                        int addrcells, int sizecells,
-                                        const struct meminfo *mem)
+static inline int make_resv_memory_node(const struct kernel_info *kinfo,
+                                        int addrcells, int sizecells)
 {
     return 0;
 }
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 40a0e860c79d..349b85667684 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -277,10 +277,11 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init make_shm_memory_node(const struct domain *d, void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
+static int __init make_shm_memory_node(const struct kernel_info *kinfo,
+                                       int addrcells, int sizecells)
 {
+    const struct meminfo *mem = &kinfo->shm_mem;
+    void *fdt = kinfo->fdt;
     unsigned int i = 0;
     int res = 0;
 
@@ -488,10 +489,11 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     return 0;
 }
 
-int __init make_resv_memory_node(const struct domain *d, void *fdt,
-                                 int addrcells, int sizecells,
-                                 const struct meminfo *mem)
+int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
+                                 int sizecells)
 {
+    const struct meminfo *mem = &kinfo->shm_mem;
+    void *fdt = kinfo->fdt;
     int res = 0;
     /* Placeholder for reserved-memory\0 */
     const char resvbuf[16] = "reserved-memory";
@@ -518,7 +520,7 @@ int __init make_resv_memory_node(const struct domain *d, void *fdt,
     if ( res )
         return res;
 
-    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
+    res = make_shm_memory_node(kinfo, addrcells, sizecells);
     if ( res )
         return res;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708014.1106565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKW-00059Q-6N; Thu, 18 Apr 2024 07:37:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708014.1106565; Thu, 18 Apr 2024 07: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 1rxMKW-00059B-1o; Thu, 18 Apr 2024 07:37:12 +0000
Received: by outflank-mailman (input) for mailman id 708014;
 Thu, 18 Apr 2024 07:37: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKU-00046V-Rx
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7600a980-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:08 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6FBCD339;
 Thu, 18 Apr 2024 00:37:36 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C104C3F64C;
 Thu, 18 Apr 2024 00:37: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: 7600a980-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 05/12] xen/arm: Conditional compilation of kernel_info.shm_mem member
Date: Thu, 18 Apr 2024 08:36:45 +0100
Message-Id: <20240418073652.3622828-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The user of shm_mem member of the 'struct kernel_info' is only
the code managing the static shared memory feature, which can be
compiled out using CONFIG_STATIC_SHM, so in case the feature is
not requested, that member won't be used and will waste memory
space.

To address this issue, protect the member with the Kconfig parameter
and modify the signature of the only function using it to remove
any reference to the member from outside the static-shmem module.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - add Michal R-by
 - Removed the signature modification of make_resv_memory_node from
   this patch
v1:
 - new patch
---
---
 xen/arch/arm/include/asm/kernel.h | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index d46f29ee6ce5..eb3cb7809ccf 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -39,7 +39,9 @@ struct kernel_info {
     void *fdt; /* flat device tree */
     paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
     struct meminfo mem;
+#ifdef CONFIG_STATIC_SHM
     struct meminfo shm_mem;
+#endif
 
     /* kernel entry point */
     paddr_t entry;
@@ -80,10 +82,16 @@ struct kernel_info {
 
 #define kernel_info_get_mem(kinfo) (&(kinfo)->mem.common)
 
+#ifdef CONFIG_STATIC_SHM
+#define KERNEL_INFO_SHM_MEM_INIT .shm_mem.common.max_banks = NR_MEM_BANKS,
+#else
+#define KERNEL_INFO_SHM_MEM_INIT
+#endif
+
 #define KERNEL_INFO_INIT                        \
 {                                               \
     .mem.common.max_banks = NR_MEM_BANKS,       \
-    .shm_mem.common.max_banks = NR_MEM_BANKS,   \
+    KERNEL_INFO_SHM_MEM_INIT                    \
 }
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708015.1106570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKW-0005CA-Ep; Thu, 18 Apr 2024 07:37:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708015.1106570; Thu, 18 Apr 2024 07: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 1rxMKW-0005B7-98; Thu, 18 Apr 2024 07:37:12 +0000
Received: by outflank-mailman (input) for mailman id 708015;
 Thu, 18 Apr 2024 07:37:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKV-00057l-Gq
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7723327f-fd56-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 09:37:10 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B6A791576;
 Thu, 18 Apr 2024 00:37:37 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 141503F64C;
 Thu, 18 Apr 2024 00:37:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7723327f-fd56-11ee-b909-491648fe20b8
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 06/12] xen/arm: Avoid code duplication in find_unallocated_memory
Date: Thu, 18 Apr 2024 08:36:46 +0100
Message-Id: <20240418073652.3622828-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function find_unallocated_memory is using the same code to
loop through 2 structure of the same type, in order to avoid
code duplication, rework the code to have only one loop that
goes through all the structures, this will be used to avoid
duplication when the static shared memory banks will be introduced
as a separate structure from reserved memory.

Take the occasion to add the error code to the error message in
case 'rangeset_remove_range' fails.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v3:
 - Fixed the wrong logic, now the function correctly adds the
   available ram to the rangeset and afterwards removes the
   Dom0 memory and reserved memory from it.
 - take the occasion to print the error code in the error
   message as explained in the commit msg.
v2:
 - Add comment in the loop inside find_unallocated_memory to
   improve readability
v1:
 - new patch
---
---
 xen/arch/arm/domain_build.c | 53 ++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 30 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 02e4dcafe78f..7c7038254473 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -868,12 +868,14 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
                                           struct membanks *ext_regions)
 {
-    const struct membanks *kinfo_mem = kernel_info_get_mem(kinfo);
     const struct membanks *mem = bootinfo_get_mem();
-    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+    const struct membanks *mem_banks[] = {
+        kernel_info_get_mem(kinfo),
+        bootinfo_get_reserved_mem(),
+    };
     struct rangeset *unalloc_mem;
     paddr_t start, end;
-    unsigned int i;
+    unsigned int i, j;
     int res;
 
     dt_dprintk("Find unallocated memory for extended regions\n");
@@ -897,35 +899,26 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
         }
     }
 
-    /* Remove RAM assigned to Dom0 */
-    for ( i = 0; i < kinfo_mem->nr_banks; i++ )
-    {
-        start = kinfo_mem->bank[i].start;
-        end = kinfo_mem->bank[i].start + kinfo_mem->bank[i].size;
-        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
-                                    PFN_DOWN(end - 1));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
-                   start, end);
-            goto out;
-        }
-    }
-
-    /* Remove reserved-memory regions */
-    for ( i = 0; i < reserved_mem->nr_banks; i++ )
-    {
-        start = reserved_mem->bank[i].start;
-        end = reserved_mem->bank[i].start + reserved_mem->bank[i].size;
-        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
-                                    PFN_DOWN(end - 1));
-        if ( res )
+    /*
+     * Exclude the following regions:
+     * 1) Remove RAM assigned to Dom0
+     * 2) Remove reserved memory
+     */
+    for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ )
+        for ( j = 0; j < mem_banks[i]->nr_banks; j++ )
         {
-            printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
-                   start, end);
-            goto out;
+            start = mem_banks[i]->bank[j].start;
+            end = mem_banks[i]->bank[j].start + mem_banks[i]->bank[j].size;
+            res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
+                                        PFN_DOWN(end - 1));
+            if ( res )
+            {
+                printk(XENLOG_ERR
+                       "Failed to add: %#"PRIpaddr"->%#"PRIpaddr", error %d\n",
+                       start, end, res);
+                goto out;
+            }
         }
-    }
 
     /* Remove grant table region */
     if ( kinfo->gnttab_size )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708016.1106585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKX-0005cl-Tx; Thu, 18 Apr 2024 07:37:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708016.1106585; Thu, 18 Apr 2024 07: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 1rxMKX-0005cM-LX; Thu, 18 Apr 2024 07:37:13 +0000
Received: by outflank-mailman (input) for mailman id 708016;
 Thu, 18 Apr 2024 07:37: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKV-00046V-K2
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 753bb806-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:07 +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 283FDDA7;
 Thu, 18 Apr 2024 00:37:35 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3ABA03F64C;
 Thu, 18 Apr 2024 00: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: 753bb806-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 04/12] xen/arm: Introduce a generic way to access memory bank structures
Date: Thu, 18 Apr 2024 08:36:44 +0100
Message-Id: <20240418073652.3622828-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the 'struct meminfo' is defining a static defined array of
'struct membank' of NR_MEM_BANKS elements, some features like
shared memory don't require such amount of memory allocation but
might want to reuse existing code to manipulate this kind of
structure that is just as 'struct meminfo' but less bulky.

For this reason introduce a generic way to access this kind of
structure using a new structure 'struct membanks', which implements
all the fields needed by a structure related to memory banks
without the need to specify at build time the size of the
'struct membank' array, using a flexible array member.

Modify 'struct meminfo' to implement the field related to the new
introduced structure, given the change all usage of this structure
are updated in this way:
 - code accessing bootinfo.{mem,reserved_mem,acpi} field now uses
   3 new introduced static inline helpers to access the new field
   of 'struct meminfo' named 'common'.
 - code accessing 'struct kernel_info *' member 'mem' now use the
   new introduced macro 'kernel_info_get_mem(...)' to access the
   new field of 'struct meminfo' named 'common'.
 - introduced KERNEL_INFO_INIT and BOOTINFO_INIT that from now on
   will be used to initialize 'struct kernel_info' and 'struct bootinfo'
   respectively, in order to initialize their 'struct meminfo'
   .common.max_banks members.

Constify pointers where needed.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3:
 - mention KERNEL_INFO_INIT and BOOTINFO_INIT in the commit msg,
   back to the macro for struct kernel_info as in v1 because the static
   inline solution needed two different static inline to handle
   'struct kernel_info *kinfo' and 'const struct kernel_info *kinfo'.
 - add Michal R-by
v2:
 - Fixed typos in commit message and mention flexible array member
 - Add static assert for struct membanks
 - use static inline for the kernel_info structure instead of macro
 - use xzalloc_flex_struct inside make_hypervisor_node instead of
   xzalloc
 - Fix trailing backslash style
v1:
 - new patch
---
---
 xen/arch/arm/acpi/domain_build.c        |   6 +-
 xen/arch/arm/arm32/mmu/mm.c             |  44 +++++-----
 xen/arch/arm/arm64/mmu/mm.c             |   2 +-
 xen/arch/arm/bootfdt.c                  |  39 ++++++---
 xen/arch/arm/dom0less-build.c           |  16 ++--
 xen/arch/arm/domain_build.c             | 103 +++++++++++++-----------
 xen/arch/arm/efi/efi-boot.h             |   8 +-
 xen/arch/arm/efi/efi-dom0.c             |  13 +--
 xen/arch/arm/include/asm/domain_build.h |   2 +-
 xen/arch/arm/include/asm/kernel.h       |   8 ++
 xen/arch/arm/include/asm/setup.h        |  40 ++++++++-
 xen/arch/arm/kernel.c                   |  12 +--
 xen/arch/arm/setup.c                    |  58 +++++++------
 xen/arch/arm/static-memory.c            |  27 ++++---
 xen/arch/arm/static-shmem.c             |  34 ++++----
 15 files changed, 249 insertions(+), 163 deletions(-)

diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
index b58389ce9e9f..ed895dd8f926 100644
--- a/xen/arch/arm/acpi/domain_build.c
+++ b/xen/arch/arm/acpi/domain_build.c
@@ -444,14 +444,14 @@ static int __init acpi_create_fadt(struct domain *d, struct membank tbl_add[])
 }
 
 static int __init estimate_acpi_efi_size(struct domain *d,
-                                         struct kernel_info *kinfo)
+                                         const struct kernel_info *kinfo)
 {
     size_t efi_size, acpi_size, madt_size;
     u64 addr;
     struct acpi_table_rsdp *rsdp_tbl;
     struct acpi_table_header *table;
 
-    efi_size = estimate_efi_size(kinfo->mem.nr_banks);
+    efi_size = estimate_efi_size(kernel_info_get_mem(kinfo)->nr_banks);
 
     acpi_size = ROUNDUP(sizeof(struct acpi_table_fadt), 8);
     acpi_size += ROUNDUP(sizeof(struct acpi_table_stao), 8);
@@ -546,7 +546,7 @@ int __init prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 
     acpi_map_other_tables(d);
     acpi_create_efi_system_table(d, tbl_add);
-    acpi_create_efi_mmap_table(d, &kinfo->mem, tbl_add);
+    acpi_create_efi_mmap_table(d, kernel_info_get_mem(kinfo), tbl_add);
 
     /* Map the EFI and ACPI tables to Dom0 */
     rc = map_regions_p2mt(d,
diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index 0ab6ae52a63b..84c89da909bf 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -42,6 +42,7 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
                                        uint32_t size, paddr_t align,
                                        int first_mod)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     const struct bootmodules *mi = &bootinfo.modules;
     int i;
     int nr;
@@ -100,15 +101,14 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
      * possible kinds of bootmodules.
      *
      * When retrieving the corresponding reserved-memory addresses, we
-     * need to index the bootinfo.reserved_mem bank starting from 0, and
-     * only counting the reserved-memory modules. Hence, we need to use
-     * i - nr.
+     * need to index the reserved_mem bank starting from 0, and only counting
+     * the reserved-memory modules. Hence, we need to use i - nr.
      */
     nr += mi->nr_mods;
-    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( ; i - nr < reserved_mem->nr_banks; i++ )
     {
-        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
-        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
+        paddr_t r_s = reserved_mem->bank[i - nr].start;
+        paddr_t r_e = r_s + reserved_mem->bank[i - nr].size;
 
         if ( s < r_e && r_s < e )
         {
@@ -129,17 +129,18 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
  */
 static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int i;
     paddr_t end = 0, aligned_start, aligned_end;
     paddr_t bank_start, bank_size, bank_end;
 
-    for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( i = 0 ; i < reserved_mem->nr_banks; i++ )
     {
-        if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+        if ( reserved_mem->bank[i].type != MEMBANK_STATIC_HEAP )
             continue;
 
-        bank_start = bootinfo.reserved_mem.bank[i].start;
-        bank_size = bootinfo.reserved_mem.bank[i].size;
+        bank_start = reserved_mem->bank[i].start;
+        bank_size = reserved_mem->bank[i].size;
         bank_end = bank_start + bank_size;
 
         if ( bank_size < size )
@@ -162,13 +163,14 @@ static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
 
 void __init setup_mm(void)
 {
+    const struct membanks *mem = bootinfo_get_mem();
     paddr_t ram_start, ram_end, ram_size, e, bank_start, bank_end, bank_size;
     paddr_t static_heap_end = 0, static_heap_size = 0;
     unsigned long heap_pages, xenheap_pages, domheap_pages;
     unsigned int i;
     const uint32_t ctr = READ_CP32(CTR);
 
-    if ( !bootinfo.mem.nr_banks )
+    if ( !mem->nr_banks )
         panic("No memory bank\n");
 
     /* We only supports instruction caches implementing the IVIPT extension. */
@@ -177,14 +179,14 @@ void __init setup_mm(void)
 
     init_pdx();
 
-    ram_start = bootinfo.mem.bank[0].start;
-    ram_size  = bootinfo.mem.bank[0].size;
+    ram_start = mem->bank[0].start;
+    ram_size  = mem->bank[0].size;
     ram_end   = ram_start + ram_size;
 
-    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
+    for ( i = 1; i < mem->nr_banks; i++ )
     {
-        bank_start = bootinfo.mem.bank[i].start;
-        bank_size = bootinfo.mem.bank[i].size;
+        bank_start = mem->bank[i].start;
+        bank_size = mem->bank[i].size;
         bank_end = bank_start + bank_size;
 
         ram_size  = ram_size + bank_size;
@@ -196,13 +198,15 @@ void __init setup_mm(void)
 
     if ( bootinfo.static_heap )
     {
-        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+
+        for ( i = 0 ; i < reserved_mem->nr_banks; i++ )
         {
-            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+            if ( reserved_mem->bank[i].type != MEMBANK_STATIC_HEAP )
                 continue;
 
-            bank_start = bootinfo.reserved_mem.bank[i].start;
-            bank_size = bootinfo.reserved_mem.bank[i].size;
+            bank_start = reserved_mem->bank[i].start;
+            bank_size = reserved_mem->bank[i].size;
             bank_end = bank_start + bank_size;
 
             static_heap_size += bank_size;
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index d2651c948698..f8aaf4ac18be 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -194,7 +194,7 @@ static void __init setup_directmap_mappings(unsigned long base_mfn,
 
 void __init setup_mm(void)
 {
-    const struct meminfo *banks = &bootinfo.mem;
+    const struct membanks *banks = bootinfo_get_mem();
     paddr_t ram_start = INVALID_PADDR;
     paddr_t ram_end = 0;
     paddr_t ram_size = 0;
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 35dbdf3384cb..4c80962f79d4 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -17,6 +17,18 @@
 #include <asm/setup.h>
 #include <asm/static-shmem.h>
 
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * Check that no padding is between struct membanks "bank" flexible array
+     * member and struct meminfo "bank" member
+     */
+    BUILD_BUG_ON((offsetof(struct membanks, bank) !=
+                 offsetof(struct meminfo, bank)));
+    /* Ensure "struct membanks" is 8-byte aligned */
+    BUILD_BUG_ON(alignof(struct membanks) != 8);
+}
+
 static bool __init device_tree_node_is_available(const void *fdt, int node)
 {
     const char *status;
@@ -107,14 +119,14 @@ void __init device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
 static int __init device_tree_get_meminfo(const void *fdt, int node,
                                           const char *prop_name,
                                           u32 address_cells, u32 size_cells,
-                                          void *data, enum membank_type type)
+                                          struct membanks *mem,
+                                          enum membank_type type)
 {
     const struct fdt_property *prop;
     unsigned int i, banks;
     const __be32 *cell;
     u32 reg_cells = address_cells + size_cells;
     paddr_t start, size;
-    struct meminfo *mem = data;
 
     if ( !device_tree_node_is_available(fdt, node) )
         return 0;
@@ -133,10 +145,10 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     cell = (const __be32 *)prop->data;
     banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof (u32));
 
-    for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
+    for ( i = 0; i < banks && mem->nr_banks < mem->max_banks; i++ )
     {
         device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
-        if ( mem == &bootinfo.reserved_mem &&
+        if ( mem == bootinfo_get_reserved_mem() &&
              check_reserved_regions_overlap(start, size) )
             return -EINVAL;
         /* Some DT may describe empty bank, ignore them */
@@ -231,10 +243,10 @@ int __init device_tree_for_each_node(const void *fdt, int node,
 static int __init process_memory_node(const void *fdt, int node,
                                       const char *name, int depth,
                                       u32 address_cells, u32 size_cells,
-                                      void *data)
+                                      struct membanks *mem)
 {
     return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells,
-                                   data, MEMBANK_DEFAULT);
+                                   mem, MEMBANK_DEFAULT);
 }
 
 static int __init process_reserved_memory_node(const void *fdt, int node,
@@ -259,7 +271,7 @@ static int __init process_reserved_memory(const void *fdt, int node,
 {
     return device_tree_for_each_node(fdt, node,
                                      process_reserved_memory_node,
-                                     &bootinfo.reserved_mem);
+                                     bootinfo_get_reserved_mem());
 }
 
 static void __init process_multiboot_node(const void *fdt, int node,
@@ -358,7 +370,7 @@ static int __init process_chosen_node(const void *fdt, int node,
 
         rc = device_tree_get_meminfo(fdt, node, "xen,static-heap",
                                      address_cells, size_cells,
-                                     &bootinfo.reserved_mem,
+                                     bootinfo_get_reserved_mem(),
                                      MEMBANK_STATIC_HEAP);
         if ( rc )
             return rc;
@@ -420,7 +432,7 @@ static int __init process_domain_node(const void *fdt, int node,
         return 0;
 
     return device_tree_get_meminfo(fdt, node, "xen,static-mem", address_cells,
-                                   size_cells, &bootinfo.reserved_mem,
+                                   size_cells, bootinfo_get_reserved_mem(),
                                    MEMBANK_STATIC_DOMAIN);
 }
 
@@ -438,7 +450,7 @@ static int __init early_scan_node(const void *fdt,
     if ( !efi_enabled(EFI_BOOT) &&
          device_tree_node_matches(fdt, node, "memory") )
         rc = process_memory_node(fdt, node, name, depth,
-                                 address_cells, size_cells, &bootinfo.mem);
+                                 address_cells, size_cells, bootinfo_get_mem());
     else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )
         rc = process_reserved_memory(fdt, node, name, depth,
                                      address_cells, size_cells);
@@ -459,8 +471,8 @@ static int __init early_scan_node(const void *fdt,
 
 static void __init early_print_info(void)
 {
-    struct meminfo *mi = &bootinfo.mem;
-    struct meminfo *mem_resv = &bootinfo.reserved_mem;
+    const struct membanks *mi = bootinfo_get_mem();
+    const struct membanks *mem_resv = bootinfo_get_reserved_mem();
     struct bootmodules *mods = &bootinfo.modules;
     struct bootcmdlines *cmds = &bootinfo.cmdlines;
     unsigned int i, j;
@@ -537,6 +549,7 @@ static void __init swap_memory_node(void *_a, void *_b, size_t size)
  */
 size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
 {
+    struct membanks *mem = bootinfo_get_mem();
     int ret;
 
     ret = fdt_check_header(fdt);
@@ -554,7 +567,7 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
      * bank in memory first. There is no requirement that the DT will provide
      * the banks sorted in ascending order. So sort them through.
      */
-    sort(bootinfo.mem.bank, bootinfo.mem.nr_banks, sizeof(struct membank),
+    sort(mem->bank, mem->nr_banks, sizeof(struct membank),
          cmp_memory_node, swap_memory_node);
 
     early_print_info();
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 0edc5357caef..51cf03221d56 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -50,6 +50,7 @@ bool __init is_dom0less_mode(void)
 
 static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     unsigned int i;
     paddr_t bank_size;
 
@@ -57,7 +58,7 @@ static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
            /* Don't want format this as PRIpaddr (16 digit hex) */
            (unsigned long)(kinfo->unassigned_mem >> 20), d);
 
-    kinfo->mem.nr_banks = 0;
+    mem->nr_banks = 0;
     bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
     if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
                                bank_size) )
@@ -71,15 +72,15 @@ static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
     if ( kinfo->unassigned_mem )
         goto fail;
 
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    for( i = 0; i < mem->nr_banks; i++ )
     {
         printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
                d,
                i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               mem->bank[i].start,
+               mem->bank[i].start + mem->bank[i].size,
                /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+               (unsigned long)(mem->bank[i].size >> 20));
     }
 
     return;
@@ -641,7 +642,8 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     if ( ret )
         goto err;
 
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                           kernel_info_get_mem(kinfo));
     if ( ret )
         goto err;
 
@@ -740,7 +742,7 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
-    struct kernel_info kinfo = {};
+    struct kernel_info kinfo = KERNEL_INFO_INIT;
     const char *dom0less_enhanced;
     int rc;
     u64 mem;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 11d4e7d0b1ea..02e4dcafe78f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -141,6 +141,7 @@ static bool __init insert_11_bank(struct domain *d,
                                   struct page_info *pg,
                                   unsigned int order)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     unsigned int i;
     int res;
     mfn_t smfn;
@@ -157,9 +158,9 @@ static bool __init insert_11_bank(struct domain *d,
              (unsigned long)(kinfo->unassigned_mem >> 20),
              order);
 
-    if ( kinfo->mem.nr_banks > 0 &&
+    if ( mem->nr_banks > 0 &&
          size < MB(128) &&
-         start + size < kinfo->mem.bank[0].start )
+         start + size < mem->bank[0].start )
     {
         D11PRINT("Allocation below bank 0 is too small, not using\n");
         goto fail;
@@ -171,17 +172,17 @@ static bool __init insert_11_bank(struct domain *d,
 
     kinfo->unassigned_mem -= size;
 
-    if ( kinfo->mem.nr_banks == 0 )
+    if ( mem->nr_banks == 0 )
     {
-        kinfo->mem.bank[0].start = start;
-        kinfo->mem.bank[0].size = size;
-        kinfo->mem.nr_banks = 1;
+        mem->bank[0].start = start;
+        mem->bank[0].size = size;
+        mem->nr_banks = 1;
         return true;
     }
 
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    for( i = 0; i < mem->nr_banks; i++ )
     {
-        struct membank *bank = &kinfo->mem.bank[i];
+        struct membank *bank = &mem->bank[i];
 
         /* If possible merge new memory into the start of the bank */
         if ( bank->start == start+size )
@@ -204,24 +205,24 @@ static bool __init insert_11_bank(struct domain *d,
          * could have inserted the memory into/before we would already
          * have done so, so this must be the right place.
          */
-        if ( start + size < bank->start && kinfo->mem.nr_banks < NR_MEM_BANKS )
+        if ( start + size < bank->start && mem->nr_banks < mem->max_banks )
         {
             memmove(bank + 1, bank,
-                    sizeof(*bank) * (kinfo->mem.nr_banks - i));
-            kinfo->mem.nr_banks++;
+                    sizeof(*bank) * (mem->nr_banks - i));
+            mem->nr_banks++;
             bank->start = start;
             bank->size = size;
             return true;
         }
     }
 
-    if ( i == kinfo->mem.nr_banks && kinfo->mem.nr_banks < NR_MEM_BANKS )
+    if ( i == mem->nr_banks && mem->nr_banks < mem->max_banks )
     {
-        struct membank *bank = &kinfo->mem.bank[kinfo->mem.nr_banks];
+        struct membank *bank = &mem->bank[mem->nr_banks];
 
         bank->start = start;
         bank->size = size;
-        kinfo->mem.nr_banks++;
+        mem->nr_banks++;
         return true;
     }
 
@@ -293,6 +294,7 @@ static void __init allocate_memory_11(struct domain *d,
     const unsigned int min_low_order =
         get_order_from_bytes(min_t(paddr_t, dom0_mem, MB(128)));
     const unsigned int min_order = get_order_from_bytes(MB(4));
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     struct page_info *pg;
     unsigned int order = get_allocation_size(kinfo->unassigned_mem);
     unsigned int i;
@@ -311,7 +313,7 @@ static void __init allocate_memory_11(struct domain *d,
            /* Don't want format this as PRIpaddr (16 digit hex) */
            (unsigned long)(kinfo->unassigned_mem >> 20));
 
-    kinfo->mem.nr_banks = 0;
+    mem->nr_banks = 0;
 
     /*
      * First try and allocate the largest thing we can as low as
@@ -349,7 +351,7 @@ static void __init allocate_memory_11(struct domain *d,
      * continue allocating from above the lowmem and fill in banks.
      */
     order = get_allocation_size(kinfo->unassigned_mem);
-    while ( kinfo->unassigned_mem && kinfo->mem.nr_banks < NR_MEM_BANKS )
+    while ( kinfo->unassigned_mem && mem->nr_banks < mem->max_banks )
     {
         pg = alloc_domheap_pages(d, order,
                                  lowmem ? MEMF_bits(lowmem_bitsize) : 0);
@@ -373,7 +375,7 @@ static void __init allocate_memory_11(struct domain *d,
 
         if ( !insert_11_bank(d, kinfo, pg, order) )
         {
-            if ( kinfo->mem.nr_banks == NR_MEM_BANKS )
+            if ( mem->nr_banks == mem->max_banks )
                 /* Nothing more we can do. */
                 break;
 
@@ -403,14 +405,14 @@ static void __init allocate_memory_11(struct domain *d,
         panic("Failed to allocate requested dom0 memory. %ldMB unallocated\n",
               (unsigned long)kinfo->unassigned_mem >> 20);
 
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    for( i = 0; i < mem->nr_banks; i++ )
     {
         printk("BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
                i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               mem->bank[i].start,
+               mem->bank[i].start + mem->bank[i].size,
                /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+               (unsigned long)(mem->bank[i].size >> 20));
     }
 }
 
@@ -418,6 +420,7 @@ static void __init allocate_memory_11(struct domain *d,
 bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                                  gfn_t sgfn, paddr_t tot_size)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     int res;
     struct page_info *pg;
     struct membank *bank;
@@ -431,7 +434,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
     if ( tot_size == 0 )
         return true;
 
-    bank = &kinfo->mem.bank[kinfo->mem.nr_banks];
+    bank = &mem->bank[mem->nr_banks];
     bank->start = gfn_to_gaddr(sgfn);
     bank->size = tot_size;
 
@@ -471,7 +474,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
         tot_size -= (1ULL << (PAGE_SHIFT + order));
     }
 
-    kinfo->mem.nr_banks++;
+    mem->nr_banks++;
     kinfo->unassigned_mem -= bank->size;
 
     return true;
@@ -756,7 +759,7 @@ int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
 int __init make_memory_node(const struct domain *d,
                             void *fdt,
                             int addrcells, int sizecells,
-                            struct meminfo *mem)
+                            const struct membanks *mem)
 {
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
@@ -816,12 +819,12 @@ int __init make_memory_node(const struct domain *d,
 static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                                   void *data)
 {
-    struct meminfo *ext_regions = data;
+    struct membanks *ext_regions = data;
     paddr_t start, size;
     paddr_t s = pfn_to_paddr(s_gfn);
     paddr_t e = pfn_to_paddr(e_gfn);
 
-    if ( ext_regions->nr_banks >= ARRAY_SIZE(ext_regions->bank) )
+    if ( ext_regions->nr_banks >= ext_regions->max_banks )
         return 0;
 
     /*
@@ -863,9 +866,11 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
  * - grant table space
  */
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
-                                          struct meminfo *ext_regions)
+                                          struct membanks *ext_regions)
 {
-    const struct meminfo *assign_mem = &kinfo->mem;
+    const struct membanks *kinfo_mem = kernel_info_get_mem(kinfo);
+    const struct membanks *mem = bootinfo_get_mem();
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     struct rangeset *unalloc_mem;
     paddr_t start, end;
     unsigned int i;
@@ -878,10 +883,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
         return -ENOMEM;
 
     /* Start with all available RAM */
-    for ( i = 0; i < bootinfo.mem.nr_banks; i++ )
+    for ( i = 0; i < mem->nr_banks; i++ )
     {
-        start = bootinfo.mem.bank[i].start;
-        end = bootinfo.mem.bank[i].start + bootinfo.mem.bank[i].size;
+        start = mem->bank[i].start;
+        end = mem->bank[i].start + mem->bank[i].size;
         res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
                                  PFN_DOWN(end - 1));
         if ( res )
@@ -893,10 +898,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     }
 
     /* Remove RAM assigned to Dom0 */
-    for ( i = 0; i < assign_mem->nr_banks; i++ )
+    for ( i = 0; i < kinfo_mem->nr_banks; i++ )
     {
-        start = assign_mem->bank[i].start;
-        end = assign_mem->bank[i].start + assign_mem->bank[i].size;
+        start = kinfo_mem->bank[i].start;
+        end = kinfo_mem->bank[i].start + kinfo_mem->bank[i].size;
         res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
                                     PFN_DOWN(end - 1));
         if ( res )
@@ -908,11 +913,10 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     }
 
     /* Remove reserved-memory regions */
-    for ( i = 0; i < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( i = 0; i < reserved_mem->nr_banks; i++ )
     {
-        start = bootinfo.reserved_mem.bank[i].start;
-        end = bootinfo.reserved_mem.bank[i].start +
-            bootinfo.reserved_mem.bank[i].size;
+        start = reserved_mem->bank[i].start;
+        end = reserved_mem->bank[i].start + reserved_mem->bank[i].size;
         res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
                                     PFN_DOWN(end - 1));
         if ( res )
@@ -990,7 +994,7 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
  * - PCI aperture
  */
 static int __init find_memory_holes(const struct kernel_info *kinfo,
-                                    struct meminfo *ext_regions)
+                                    struct membanks *ext_regions)
 {
     struct dt_device_node *np;
     struct rangeset *mem_holes;
@@ -1080,19 +1084,20 @@ out:
 }
 
 static int __init find_domU_holes(const struct kernel_info *kinfo,
-                                  struct meminfo *ext_regions)
+                                  struct membanks *ext_regions)
 {
     unsigned int i;
     uint64_t bankend;
     const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
     const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
+    const struct membanks *kinfo_mem = kernel_info_get_mem(kinfo);
     int res = -ENOENT;
 
     for ( i = 0; i < GUEST_RAM_BANKS; i++ )
     {
         struct membank *ext_bank = &(ext_regions->bank[ext_regions->nr_banks]);
 
-        ext_bank->start = ROUNDUP(bankbase[i] + kinfo->mem.bank[i].size, SZ_2M);
+        ext_bank->start = ROUNDUP(bankbase[i] + kinfo_mem->bank[i].size, SZ_2M);
 
         bankend = ~0ULL >> (64 - p2m_ipa_bits);
         bankend = min(bankend, bankbase[i] + banksize[i] - 1);
@@ -1120,7 +1125,7 @@ int __init make_hypervisor_node(struct domain *d,
     gic_interrupt_t intr;
     int res;
     void *fdt = kinfo->fdt;
-    struct meminfo *ext_regions = NULL;
+    struct membanks *ext_regions = NULL;
     unsigned int i, nr_ext_regions;
 
     dt_dprintk("Create hypervisor node\n");
@@ -1156,10 +1161,12 @@ int __init make_hypervisor_node(struct domain *d,
     }
     else
     {
-        ext_regions = xzalloc(struct meminfo);
+        ext_regions = xzalloc_flex_struct(struct membanks, bank, NR_MEM_BANKS);
         if ( !ext_regions )
             return -ENOMEM;
 
+        ext_regions->max_banks = NR_MEM_BANKS;
+
         if ( is_domain_direct_mapped(d) )
         {
             if ( !is_iommu_enabled(d) )
@@ -1728,6 +1735,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
 
     if ( node == dt_host )
     {
+        const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
         int addrcells = dt_child_n_addr_cells(node);
         int sizecells = dt_child_n_size_cells(node);
 
@@ -1753,7 +1761,8 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
-        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                               kernel_info_get_mem(kinfo));
         if ( res )
             return res;
 
@@ -1761,10 +1770,10 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
          * Create a second memory node to store the ranges covering
          * reserved-memory regions.
          */
-        if ( bootinfo.reserved_mem.nr_banks > 0 )
+        if ( reserved_mem->nr_banks > 0 )
         {
             res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                   &bootinfo.reserved_mem);
+                                   reserved_mem);
             if ( res )
                 return res;
         }
@@ -2038,7 +2047,7 @@ int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 
 static int __init construct_dom0(struct domain *d)
 {
-    struct kernel_info kinfo = {};
+    struct kernel_info kinfo = KERNEL_INFO_INIT;
     int rc;
 
     /* Sanity! */
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 0cb29f90a066..199f5260229d 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -157,14 +157,14 @@ static void __init *lookup_fdt_config_table(EFI_SYSTEM_TABLE *sys_table)
     return fdt;
 }
 
-static bool __init meminfo_add_bank(struct meminfo *mem,
+static bool __init meminfo_add_bank(struct membanks *mem,
                                     EFI_MEMORY_DESCRIPTOR *desc)
 {
     struct membank *bank;
     paddr_t start = desc->PhysicalStart;
     paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
 
-    if ( mem->nr_banks >= NR_MEM_BANKS )
+    if ( mem->nr_banks >= mem->max_banks )
         return false;
 #ifdef CONFIG_ACPI
     if ( check_reserved_regions_overlap(start, size) )
@@ -198,7 +198,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
                (desc_ptr->Type == EfiBootServicesCode ||
                 desc_ptr->Type == EfiBootServicesData))) )
         {
-            if ( !meminfo_add_bank(&bootinfo.mem, desc_ptr) )
+            if ( !meminfo_add_bank(bootinfo_get_mem(), desc_ptr) )
             {
                 PrintStr(L"Warning: All " __stringify(NR_MEM_BANKS)
                           " bootinfo mem banks exhausted.\r\n");
@@ -208,7 +208,7 @@ static EFI_STATUS __init efi_process_memory_map_bootinfo(EFI_MEMORY_DESCRIPTOR *
 #ifdef CONFIG_ACPI
         else if ( desc_ptr->Type == EfiACPIReclaimMemory )
         {
-            if ( !meminfo_add_bank(&bootinfo.acpi, desc_ptr) )
+            if ( !meminfo_add_bank(bootinfo_get_acpi(), desc_ptr) )
             {
                 PrintStr(L"Error: All " __stringify(NR_MEM_BANKS)
                           " acpi meminfo mem banks exhausted.\r\n");
diff --git a/xen/arch/arm/efi/efi-dom0.c b/xen/arch/arm/efi/efi-dom0.c
index aae0f979112a..baee8ab716cb 100644
--- a/xen/arch/arm/efi/efi-dom0.c
+++ b/xen/arch/arm/efi/efi-dom0.c
@@ -44,7 +44,7 @@ size_t __init estimate_efi_size(unsigned int mem_nr_banks)
     unsigned int acpi_mem_nr_banks = 0;
 
     if ( !acpi_disabled )
-        acpi_mem_nr_banks = bootinfo.acpi.nr_banks;
+        acpi_mem_nr_banks = bootinfo_get_acpi()->nr_banks;
 
     size = ROUNDUP(est_size + ect_size + fw_vendor_size, 8);
     /* plus 1 for new created tables */
@@ -107,9 +107,10 @@ static void __init fill_efi_memory_descriptor(EFI_MEMORY_DESCRIPTOR *desc,
 }
 
 void __init acpi_create_efi_mmap_table(struct domain *d,
-                                       const struct meminfo *mem,
+                                       const struct membanks *mem,
                                        struct membank tbl_add[])
 {
+    const struct membanks *acpi = bootinfo_get_acpi();
     EFI_MEMORY_DESCRIPTOR *desc;
     unsigned int i;
     u8 *base_ptr;
@@ -122,10 +123,10 @@ void __init acpi_create_efi_mmap_table(struct domain *d,
         fill_efi_memory_descriptor(desc, EfiConventionalMemory,
                                    mem->bank[i].start, mem->bank[i].size);
 
-    for ( i = 0; i < bootinfo.acpi.nr_banks; i++, desc++ )
+    for ( i = 0; i < acpi->nr_banks; i++, desc++ )
         fill_efi_memory_descriptor(desc, EfiACPIReclaimMemory,
-                                   bootinfo.acpi.bank[i].start,
-                                   bootinfo.acpi.bank[i].size);
+                                   acpi->bank[i].start,
+                                   acpi->bank[i].size);
 
     fill_efi_memory_descriptor(desc, EfiACPIReclaimMemory,
                                d->arch.efi_acpi_gpa, d->arch.efi_acpi_len);
@@ -133,7 +134,7 @@ void __init acpi_create_efi_mmap_table(struct domain *d,
     tbl_add[TBL_MMAP].start = d->arch.efi_acpi_gpa
                               + acpi_get_table_offset(tbl_add, TBL_MMAP);
     tbl_add[TBL_MMAP].size = sizeof(EFI_MEMORY_DESCRIPTOR)
-                             * (mem->nr_banks + bootinfo.acpi.nr_banks + 1);
+                             * (mem->nr_banks + acpi->nr_banks + 1);
 }
 
 /* Create /hypervisor/uefi node for efi properties. */
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index da9e6025f37c..a6f276cc4263 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -15,7 +15,7 @@ int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
                          int addrcells, int sizecells);
 int make_memory_node(const struct domain *d, void *fdt, int addrcells,
-                     int sizecells, struct meminfo *mem);
+                     int sizecells, const struct membanks *mem);
 int make_psci_node(void *fdt);
 int make_timer_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 0a23e86c2d37..d46f29ee6ce5 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -78,6 +78,14 @@ struct kernel_info {
     };
 };
 
+#define kernel_info_get_mem(kinfo) (&(kinfo)->mem.common)
+
+#define KERNEL_INFO_INIT                        \
+{                                               \
+    .mem.common.max_banks = NR_MEM_BANKS,       \
+    .shm_mem.common.max_banks = NR_MEM_BANKS,   \
+}
+
 /*
  * Probe the kernel to detemine its type and select a loader.
  *
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index d15a88d2e0d1..696f55db86b1 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -56,8 +56,14 @@ struct membank {
 #endif
 };
 
-struct meminfo {
+struct membanks {
     unsigned int nr_banks;
+    unsigned int max_banks;
+    struct membank bank[];
+};
+
+struct meminfo {
+    struct membanks common;
     struct membank bank[NR_MEM_BANKS];
 };
 
@@ -107,6 +113,19 @@ struct bootinfo {
     bool static_heap;
 };
 
+#ifdef CONFIG_ACPI
+#define BOOTINFO_ACPI_INIT .acpi.common.max_banks = NR_MEM_BANKS,
+#else
+#define BOOTINFO_ACPI_INIT
+#endif
+
+#define BOOTINFO_INIT                               \
+{                                                   \
+    .mem.common.max_banks = NR_MEM_BANKS,           \
+    .reserved_mem.common.max_banks = NR_MEM_BANKS,  \
+    BOOTINFO_ACPI_INIT                              \
+}
+
 struct map_range_data
 {
     struct domain *d;
@@ -122,6 +141,23 @@ extern struct bootinfo bootinfo;
 
 extern domid_t max_init_domid;
 
+static inline struct membanks *bootinfo_get_mem(void)
+{
+    return &bootinfo.mem.common;
+}
+
+static inline struct membanks *bootinfo_get_reserved_mem(void)
+{
+    return &bootinfo.reserved_mem.common;
+}
+
+#ifdef CONFIG_ACPI
+static inline struct membanks *bootinfo_get_acpi(void)
+{
+    return &bootinfo.acpi.common;
+}
+#endif
+
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
 
 size_t estimate_efi_size(unsigned int mem_nr_banks);
@@ -130,7 +166,7 @@ void acpi_create_efi_system_table(struct domain *d,
                                   struct membank tbl_add[]);
 
 void acpi_create_efi_mmap_table(struct domain *d,
-                                const struct meminfo *mem,
+                                const struct membanks *mem,
                                 struct membank tbl_add[]);
 
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index bc3e5bd6f940..674388fa11a2 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -45,13 +45,14 @@ static void __init place_modules(struct kernel_info *info,
 {
     /* Align DTB and initrd size to 2Mb. Linux only requires 4 byte alignment */
     const struct bootmodule *mod = info->initrd_bootmodule;
+    const struct membanks *mem = kernel_info_get_mem(info);
     const paddr_t initrd_len = ROUNDUP(mod ? mod->size : 0, MB(2));
     const paddr_t dtb_len = ROUNDUP(fdt_totalsize(info->fdt), MB(2));
     const paddr_t modsize = initrd_len + dtb_len;
 
     /* Convenient */
-    const paddr_t rambase = info->mem.bank[0].start;
-    const paddr_t ramsize = info->mem.bank[0].size;
+    const paddr_t rambase = mem->bank[0].start;
+    const paddr_t ramsize = mem->bank[0].size;
     const paddr_t ramend = rambase + ramsize;
     const paddr_t kernsize = ROUNDUP(kernend, MB(2)) - kernbase;
     const paddr_t ram128mb = rambase + MB(128);
@@ -96,11 +97,12 @@ static void __init place_modules(struct kernel_info *info,
 
 static paddr_t __init kernel_zimage_place(struct kernel_info *info)
 {
+    const struct membanks *mem = kernel_info_get_mem(info);
     paddr_t load_addr;
 
 #ifdef CONFIG_ARM_64
     if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
-        return info->mem.bank[0].start + info->zimage.text_offset;
+        return mem->bank[0].start + info->zimage.text_offset;
 #endif
 
     /*
@@ -113,8 +115,8 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
     {
         paddr_t load_end;
 
-        load_end = info->mem.bank[0].start + info->mem.bank[0].size;
-        load_end = MIN(info->mem.bank[0].start + MB(128), load_end);
+        load_end = mem->bank[0].start + mem->bank[0].size;
+        load_end = MIN(mem->bank[0].start + MB(128), load_end);
 
         load_addr = load_end - info->zimage.len;
         /* Align to 2MB */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index b9a7f61f73ef..e00dbb135113 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -48,7 +48,7 @@
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
 
-struct bootinfo __initdata bootinfo;
+struct bootinfo __initdata bootinfo = BOOTINFO_INIT;
 
 /*
  * Sanitized version of cpuinfo containing only features available on all
@@ -207,6 +207,7 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
                                          void (*cb)(paddr_t ps, paddr_t pe),
                                          unsigned int first)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int i, nr;
     int rc;
 
@@ -240,14 +241,14 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
      * kinds.
      *
      * When retrieving the corresponding reserved-memory addresses
-     * below, we need to index the bootinfo.reserved_mem bank starting
+     * below, we need to index the reserved_mem->bank starting
      * from 0, and only counting the reserved-memory modules. Hence,
      * we need to use i - nr.
      */
-    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
+    for ( ; i - nr < reserved_mem->nr_banks; i++ )
     {
-        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
-        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
+        paddr_t r_s = reserved_mem->bank[i - nr].start;
+        paddr_t r_e = r_s + reserved_mem->bank[i - nr].size;
 
         if ( s < r_e && r_s < e )
         {
@@ -264,18 +265,18 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
  * TODO: '*_end' could be 0 if the bank/region is at the end of the physical
  * address space. This is for now not handled as it requires more rework.
  */
-static bool __init meminfo_overlap_check(struct meminfo *meminfo,
+static bool __init meminfo_overlap_check(const struct membanks *mem,
                                          paddr_t region_start,
                                          paddr_t region_size)
 {
     paddr_t bank_start = INVALID_PADDR, bank_end = 0;
     paddr_t region_end = region_start + region_size;
-    unsigned int i, bank_num = meminfo->nr_banks;
+    unsigned int i, bank_num = mem->nr_banks;
 
     for ( i = 0; i < bank_num; i++ )
     {
-        bank_start = meminfo->bank[i].start;
-        bank_end = bank_start + meminfo->bank[i].size;
+        bank_start = mem->bank[i].start;
+        bank_end = bank_start + mem->bank[i].size;
 
         if ( region_end <= bank_start || region_start >= bank_end )
             continue;
@@ -339,8 +340,11 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e,
 bool __init check_reserved_regions_overlap(paddr_t region_start,
                                            paddr_t region_size)
 {
-    /* Check if input region is overlapping with bootinfo.reserved_mem banks */
-    if ( meminfo_overlap_check(&bootinfo.reserved_mem,
+    /*
+     * Check if input region is overlapping with bootinfo_get_reserved_mem()
+     * banks
+     */
+    if ( meminfo_overlap_check(bootinfo_get_reserved_mem(),
                                region_start, region_size) )
         return true;
 
@@ -351,7 +355,7 @@ bool __init check_reserved_regions_overlap(paddr_t region_start,
 
 #ifdef CONFIG_ACPI
     /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
-    if ( meminfo_overlap_check(&bootinfo.acpi, region_start, region_size) )
+    if ( meminfo_overlap_check(bootinfo_get_acpi(), region_start, region_size) )
         return true;
 #endif
 
@@ -580,6 +584,7 @@ static paddr_t __init next_module(paddr_t s, paddr_t *end)
 
 void __init init_pdx(void)
 {
+    const struct membanks *mem = bootinfo_get_mem();
     paddr_t bank_start, bank_size, bank_end;
 
     /*
@@ -592,18 +597,18 @@ void __init init_pdx(void)
     uint64_t mask = pdx_init_mask(0x0);
     int bank;
 
-    for ( bank = 0 ; bank < bootinfo.mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < mem->nr_banks; bank++ )
     {
-        bank_start = bootinfo.mem.bank[bank].start;
-        bank_size = bootinfo.mem.bank[bank].size;
+        bank_start = mem->bank[bank].start;
+        bank_size = mem->bank[bank].size;
 
         mask |= bank_start | pdx_region_mask(bank_start, bank_size);
     }
 
-    for ( bank = 0 ; bank < bootinfo.mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < mem->nr_banks; bank++ )
     {
-        bank_start = bootinfo.mem.bank[bank].start;
-        bank_size = bootinfo.mem.bank[bank].size;
+        bank_start = mem->bank[bank].start;
+        bank_size = mem->bank[bank].size;
 
         if (~mask & pdx_region_mask(bank_start, bank_size))
             mask = 0;
@@ -611,10 +616,10 @@ void __init init_pdx(void)
 
     pfn_pdx_hole_setup(mask >> PAGE_SHIFT);
 
-    for ( bank = 0 ; bank < bootinfo.mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < mem->nr_banks; bank++ )
     {
-        bank_start = bootinfo.mem.bank[bank].start;
-        bank_size = bootinfo.mem.bank[bank].size;
+        bank_start = mem->bank[bank].start;
+        bank_size = mem->bank[bank].size;
         bank_end = bank_start + bank_size;
 
         set_pdx_range(paddr_to_pfn(bank_start),
@@ -636,18 +641,19 @@ void __init init_pdx(void)
 void __init populate_boot_allocator(void)
 {
     unsigned int i;
-    const struct meminfo *banks = &bootinfo.mem;
+    const struct membanks *banks = bootinfo_get_mem();
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     paddr_t s, e;
 
     if ( bootinfo.static_heap )
     {
-        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        for ( i = 0 ; i < reserved_mem->nr_banks; i++ )
         {
-            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+            if ( reserved_mem->bank[i].type != MEMBANK_STATIC_HEAP )
                 continue;
 
-            s = bootinfo.reserved_mem.bank[i].start;
-            e = s + bootinfo.reserved_mem.bank[i].size;
+            s = reserved_mem->bank[i].start;
+            e = s + reserved_mem->bank[i].size;
 #ifdef CONFIG_ARM_32
             /* Avoid the xenheap, note that the xenheap cannot across a bank */
             if ( s <= mfn_to_maddr(directmap_mfn_start) &&
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
index cffbab7241b7..34bd12696a53 100644
--- a/xen/arch/arm/static-memory.c
+++ b/xen/arch/arm/static-memory.c
@@ -85,6 +85,7 @@ static int __init parse_static_mem_prop(const struct dt_device_node *node,
 void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
                                    const struct dt_device_node *node)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, gbank, bank = 0;
     const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
@@ -106,7 +107,7 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
      */
     gbank = 0;
     gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
+    mem->bank[gbank].start = rambase[gbank];
     nr_banks = length / (reg_cells * sizeof (u32));
 
     for ( ; bank < nr_banks; bank++ )
@@ -122,7 +123,7 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
         while ( 1 )
         {
             /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+            if ( !append_static_memory_to_bank(d, &mem->bank[gbank], smfn,
                                                min(psize, gsize)) )
                 goto fail;
 
@@ -153,14 +154,14 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
                 /* Update to the next guest bank. */
                 gbank++;
                 gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
+                mem->bank[gbank].start = rambase[gbank];
             }
         }
 
         tot_size += psize;
     }
 
-    kinfo->mem.nr_banks = ++gbank;
+    mem->nr_banks = ++gbank;
 
     kinfo->unassigned_mem -= tot_size;
     /*
@@ -190,6 +191,7 @@ void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
 void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
                                     const struct dt_device_node *node)
 {
+    struct membanks *mem = kernel_info_get_mem(kinfo);
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, bank = 0;
     const __be32 *cell;
@@ -206,7 +208,7 @@ void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
     reg_cells = addr_cells + size_cells;
     nr_banks = length / (reg_cells * sizeof(u32));
 
-    if ( nr_banks > NR_MEM_BANKS )
+    if ( nr_banks > mem->max_banks )
     {
         printk(XENLOG_ERR
                "%pd: exceed max number of supported guest memory banks.\n", d);
@@ -224,15 +226,15 @@ void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
                d, bank, pbase, pbase + psize);
 
         /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+        mem->bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &mem->bank[bank],
                                            smfn, psize) )
             goto fail;
 
         kinfo->unassigned_mem -= psize;
     }
 
-    kinfo->mem.nr_banks = nr_banks;
+    mem->nr_banks = nr_banks;
 
     /*
      * The property 'memory' should match the amount of memory given to
@@ -257,14 +259,15 @@ void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
 /* Static memory initialization */
 void __init init_staticmem_pages(void)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int bank;
 
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
     {
-        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
+        if ( reserved_mem->bank[bank].type == MEMBANK_STATIC_DOMAIN )
         {
-            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
+            mfn_t bank_start = _mfn(PFN_UP(reserved_mem->bank[bank].start));
+            unsigned long bank_pages = PFN_DOWN(reserved_mem->bank[bank].size);
             mfn_t bank_end = mfn_add(bank_start, bank_pages);
 
             if ( mfn_x(bank_end) <= mfn_x(bank_start) )
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 349b85667684..11f3c0da81a4 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -10,22 +10,23 @@ static int __init acquire_nr_borrower_domain(struct domain *d,
                                              paddr_t pbase, paddr_t psize,
                                              unsigned long *nr_borrowers)
 {
+    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     unsigned int bank;
 
     /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
     {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+        paddr_t bank_start = reserved_mem->bank[bank].start;
+        paddr_t bank_size = reserved_mem->bank[bank].size;
 
         if ( (pbase == bank_start) && (psize == bank_size) )
             break;
     }
 
-    if ( bank == bootinfo.reserved_mem.nr_banks )
+    if ( bank == reserved_mem->nr_banks )
         return -ENOENT;
 
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+    *nr_borrowers = reserved_mem->bank[bank].nr_shm_borrowers;
 
     return 0;
 }
@@ -157,17 +158,17 @@ static int __init assign_shared_memory(struct domain *d,
     return ret;
 }
 
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+static int __init append_shm_bank_to_domain(struct membanks *shm_mem,
                                             paddr_t start, paddr_t size,
                                             const char *shm_id)
 {
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
+    if ( shm_mem->nr_banks >= shm_mem->max_banks )
         return -ENOMEM;
 
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
-    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
-    kinfo->shm_mem.nr_banks++;
+    shm_mem->bank[shm_mem->nr_banks].start = start;
+    shm_mem->bank[shm_mem->nr_banks].size = size;
+    safe_strcpy(shm_mem->bank[shm_mem->nr_banks].shm_id, shm_id);
+    shm_mem->nr_banks++;
 
     return 0;
 }
@@ -269,7 +270,8 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
          * Record static shared memory region info for later setting
          * up shm-node in guest device tree.
          */
-        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
+        ret = append_shm_bank_to_domain(&kinfo->shm_mem.common, gbase, psize,
+                                        shm_id);
         if ( ret )
             return ret;
     }
@@ -280,7 +282,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
 static int __init make_shm_memory_node(const struct kernel_info *kinfo,
                                        int addrcells, int sizecells)
 {
-    const struct meminfo *mem = &kinfo->shm_mem;
+    const struct membanks *mem = &kinfo->shm_mem.common;
     void *fdt = kinfo->fdt;
     unsigned int i = 0;
     int res = 0;
@@ -351,7 +353,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
     paddr_t paddr, gaddr, size, end;
-    struct meminfo *mem = &bootinfo.reserved_mem;
+    struct membanks *mem = bootinfo_get_reserved_mem();
     unsigned int i;
     int len;
     bool owner = false;
@@ -461,7 +463,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 
     if ( i == mem->nr_banks )
     {
-        if ( i < NR_MEM_BANKS )
+        if (i < mem->max_banks)
         {
             if ( check_reserved_regions_overlap(paddr, size) )
                 return -EINVAL;
@@ -492,7 +494,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                                  int sizecells)
 {
-    const struct meminfo *mem = &kinfo->shm_mem;
+    const struct membanks *mem = &kinfo->shm_mem.common;
     void *fdt = kinfo->fdt;
     int res = 0;
     /* Placeholder for reserved-memory\0 */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708017.1106592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKY-0005qh-Og; Thu, 18 Apr 2024 07:37:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708017.1106592; Thu, 18 Apr 2024 07:37:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKY-0005pT-Ha; Thu, 18 Apr 2024 07:37:14 +0000
Received: by outflank-mailman (input) for mailman id 708017;
 Thu, 18 Apr 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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKX-00046V-9h
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 778a20b6-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:11 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 099E81595;
 Thu, 18 Apr 2024 00:37:39 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5B2463F64C;
 Thu, 18 Apr 2024 00: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: 778a20b6-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 07/12] xen/arm: Avoid code duplication in check_reserved_regions_overlap
Date: Thu, 18 Apr 2024 08:36:47 +0100
Message-Id: <20240418073652.3622828-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function check_reserved_regions_overlap is calling
'meminfo_overlap_check' on the same type of structure, this code
can be written in a way to avoid code duplication, so rework the
function to do that.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3:
 - add Michal R-by
v2:
 - no changes
v1:
 - new patch
---
---
 xen/arch/arm/setup.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index e00dbb135113..003b0446af27 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -340,25 +340,27 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e,
 bool __init check_reserved_regions_overlap(paddr_t region_start,
                                            paddr_t region_size)
 {
+    const struct membanks *mem_banks[] = {
+        bootinfo_get_reserved_mem(),
+#ifdef CONFIG_ACPI
+        bootinfo_get_acpi(),
+#endif
+    };
+    unsigned int i;
+
     /*
-     * Check if input region is overlapping with bootinfo_get_reserved_mem()
-     * banks
+     * Check if input region is overlapping with reserved memory banks or
+     * ACPI EfiACPIReclaimMemory (when ACPI feature is enabled)
      */
-    if ( meminfo_overlap_check(bootinfo_get_reserved_mem(),
-                               region_start, region_size) )
-        return true;
+    for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ )
+        if ( meminfo_overlap_check(mem_banks[i], region_start, region_size) )
+            return true;
 
     /* Check if input region is overlapping with bootmodules */
     if ( bootmodules_overlap_check(&bootinfo.modules,
                                    region_start, region_size) )
         return true;
 
-#ifdef CONFIG_ACPI
-    /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
-    if ( meminfo_overlap_check(bootinfo_get_acpi(), region_start, region_size) )
-        return true;
-#endif
-
     return false;
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708018.1106604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKa-0006BJ-3M; Thu, 18 Apr 2024 07:37:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708018.1106604; Thu, 18 Apr 2024 07:37: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 1rxMKZ-0006At-SA; Thu, 18 Apr 2024 07:37:15 +0000
Received: by outflank-mailman (input) for mailman id 708018;
 Thu, 18 Apr 2024 07:37:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKY-00046V-Li
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 78549005-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:12 +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 50D75DA7;
 Thu, 18 Apr 2024 00:37:40 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A260A3F64C;
 Thu, 18 Apr 2024 00:37: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: 78549005-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 08/12] xen/arm: Introduce helper for static memory pages
Date: Thu, 18 Apr 2024 08:36:48 +0100
Message-Id: <20240418073652.3622828-9-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new helper function in the static-memory module
that can be called to manage static memory banks, this is
done to reuse the code when other modules would like to
manage static memory banks that are not part of the
reserved_mem structure, this is done because the static
shared memory banks will be removed from reserved_mem.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - Add Michal R-by
 - Changed commit msg
v1:
 - new patch
---
---
 xen/arch/arm/include/asm/static-memory.h | 13 +++++++++++++
 xen/arch/arm/static-memory.c             | 12 +-----------
 2 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
index 3e3efd70c38d..804166e541ef 100644
--- a/xen/arch/arm/include/asm/static-memory.h
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -3,10 +3,23 @@
 #ifndef __ASM_STATIC_MEMORY_H_
 #define __ASM_STATIC_MEMORY_H_
 
+#include <xen/pfn.h>
 #include <asm/kernel.h>
 
 #ifdef CONFIG_STATIC_MEMORY
 
+static inline void init_staticmem_bank(const struct membank *bank)
+{
+    mfn_t bank_start = _mfn(PFN_UP(bank->start));
+    unsigned long bank_pages = PFN_DOWN(bank->size);
+    mfn_t bank_end = mfn_add(bank_start, bank_pages);
+
+    if ( mfn_x(bank_end) <= mfn_x(bank_start) )
+        return;
+
+    unprepare_staticmem_pages(mfn_to_page(bank_start), bank_pages, false);
+}
+
 void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
                             const struct dt_device_node *node);
 void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
index 34bd12696a53..d4585c5a0633 100644
--- a/xen/arch/arm/static-memory.c
+++ b/xen/arch/arm/static-memory.c
@@ -265,17 +265,7 @@ void __init init_staticmem_pages(void)
     for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
     {
         if ( reserved_mem->bank[bank].type == MEMBANK_STATIC_DOMAIN )
-        {
-            mfn_t bank_start = _mfn(PFN_UP(reserved_mem->bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(reserved_mem->bank[bank].size);
-            mfn_t bank_end = mfn_add(bank_start, bank_pages);
-
-            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
-                return;
-
-            unprepare_staticmem_pages(mfn_to_page(bank_start),
-                                      bank_pages, false);
-        }
+            init_staticmem_bank(&reserved_mem->bank[bank]);
     }
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708019.1106614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKc-0006gU-H9; Thu, 18 Apr 2024 07:37:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708019.1106614; Thu, 18 Apr 2024 07:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKc-0006gB-Bz; Thu, 18 Apr 2024 07:37:18 +0000
Received: by outflank-mailman (input) for mailman id 708019;
 Thu, 18 Apr 2024 07:37: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKb-00046V-Iq
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 79146624-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:13 +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 98ED2339;
 Thu, 18 Apr 2024 00:37:41 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EA84C3F64C;
 Thu, 18 Apr 2024 00:37: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: 79146624-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 09/12] xen/arm: Reduce struct membank size on static shared memory
Date: Thu, 18 Apr 2024 08:36:49 +0100
Message-Id: <20240418073652.3622828-10-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the memory footprint of the static shared memory feature
is impacting all the struct meminfo instances with memory space
that is not going to be used.

To solve this issue, rework the static shared memory extra
information linked to the memory bank to another structure,
struct shmem_membank_extra, and exploit the struct membank
padding to host a pointer to that structure in a union with the
enum membank_type, with this trick the 'struct membank' has the
same size with or without the static shared memory, given that
the 'type' and 'shmem_extra' are never used at the same time,
hence the 'struct membank' won't grow in size.

Afterwards, create a new structure 'struct shared_meminfo' which
has the same interface of 'struct meminfo', but requires less
banks, defined by the number in NR_SHMEM_BANKS, which is 32 at the
moment and should be enough for the current use cases, the value
might be increased in te future if needed.
Finally, this structure hosts also the extra information for the
static shared memory banks.
The fields 'bank' and 'extra' of this structure are meant to be
linked by the index (e.g. extra[idx] will have the information for
the bank[idx], for i=0..NR_SHMEM_BANKS), the convinient pointer
'shmem_extra' of 'struct membank' is then linked to the related
'extra' bank to ease the fruition when a function has access only
to the 'struct membanks common' of 'struct shared_meminfo'.

The last part of this work is to move the allocation of the
static shared memory banks from the 'reserved_mem' to a new
'shmem' member of the 'struct bootinfo'.
Change also the 'shm_mem' member type to be 'struct shared_meminfo'
in order to match the above changes and allow a memory space
reduction also in 'struct kernel_info'.

Now that the structure

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3:
 - rebase changes, improved comment in find_unallocated_memory
 - Add Michal R-by
v2:
 - Made clear that the struct membank is not growing in size in the
   commit message.
 - Add static assert for the struct shared_meminfo bank field.
v1:
 - new patch
---
---
 xen/arch/arm/arm32/mmu/mm.c             | 24 ++++++++
 xen/arch/arm/arm64/mmu/mm.c             |  2 +
 xen/arch/arm/bootfdt.c                  |  1 +
 xen/arch/arm/domain_build.c             |  5 ++
 xen/arch/arm/include/asm/kernel.h       |  4 +-
 xen/arch/arm/include/asm/setup.h        | 41 ++++++++++++-
 xen/arch/arm/include/asm/static-shmem.h |  8 +++
 xen/arch/arm/setup.c                    | 25 +++++++-
 xen/arch/arm/static-shmem.c             | 79 +++++++++++++++++++------
 9 files changed, 165 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index 84c89da909bf..23150122f7c4 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -8,6 +8,7 @@
 #include <xen/pfn.h>
 #include <asm/fixmap.h>
 #include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 static unsigned long opt_xenheap_megabytes __initdata;
 integer_param("xenheap_megabytes", opt_xenheap_megabytes);
@@ -43,6 +44,9 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
                                        int first_mod)
 {
     const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+#ifdef CONFIG_STATIC_SHM
+    const struct membanks *shmem = bootinfo_get_shmem();
+#endif
     const struct bootmodules *mi = &bootinfo.modules;
     int i;
     int nr;
@@ -119,6 +123,25 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
             return consider_modules(s, r_s, size, align, i + 1);
         }
     }
+
+#ifdef CONFIG_STATIC_SHM
+    nr += reserved_mem->nr_banks;
+    for ( ; i - nr < shmem->nr_banks; i++ )
+    {
+        paddr_t r_s = shmem->bank[i - nr].start;
+        paddr_t r_e = r_s + shmem->bank[i - nr].size;
+
+        if ( s < r_e && r_s < e )
+        {
+            r_e = consider_modules(r_e, e, size, align, i + 1);
+            if ( r_e )
+                return r_e;
+
+            return consider_modules(s, r_s, size, align, i + 1);
+        }
+    }
+#endif
+
     return e;
 }
 
@@ -295,6 +318,7 @@ void __init setup_mm(void)
                        mfn_to_maddr(directmap_mfn_end));
 
     init_staticmem_pages();
+    init_sharedmem_pages();
 }
 
 /*
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index f8aaf4ac18be..293acb67e09c 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -6,6 +6,7 @@
 
 #include <asm/setup.h>
 #include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
@@ -236,6 +237,7 @@ void __init setup_mm(void)
     max_page = PFN_DOWN(ram_end);
 
     init_staticmem_pages();
+    init_sharedmem_pages();
 }
 
 /*
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 4c80962f79d4..4d708442a19e 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -511,6 +511,7 @@ static void __init early_print_info(void)
                mem_resv->bank[j].start,
                mem_resv->bank[j].start + mem_resv->bank[j].size - 1);
     }
+    early_print_info_shmem();
     printk("\n");
     for ( i = 0 ; i < cmds->nr_mods; i++ )
         printk("CMDLINE[%"PRIpaddr"]:%s %s\n", cmds->cmdline[i].start,
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7c7038254473..2fc7feeae3c3 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -863,6 +863,7 @@ static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
  * regions we exclude every region assigned to Dom0 from the Host RAM:
  * - domain RAM
  * - reserved-memory
+ * - static shared memory
  * - grant table space
  */
 static int __init find_unallocated_memory(const struct kernel_info *kinfo,
@@ -872,6 +873,9 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     const struct membanks *mem_banks[] = {
         kernel_info_get_mem(kinfo),
         bootinfo_get_reserved_mem(),
+#ifdef CONFIG_STATIC_SHM
+        bootinfo_get_shmem(),
+#endif
     };
     struct rangeset *unalloc_mem;
     paddr_t start, end;
@@ -903,6 +907,7 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
      * Exclude the following regions:
      * 1) Remove RAM assigned to Dom0
      * 2) Remove reserved memory
+     * 3) Remove static shared memory (when the feature is enabled)
      */
     for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ )
         for ( j = 0; j < mem_banks[i]->nr_banks; j++ )
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index eb3cb7809ccf..16a2bfc01e27 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -40,7 +40,7 @@ struct kernel_info {
     paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
     struct meminfo mem;
 #ifdef CONFIG_STATIC_SHM
-    struct meminfo shm_mem;
+    struct shared_meminfo shm_mem;
 #endif
 
     /* kernel entry point */
@@ -83,7 +83,7 @@ struct kernel_info {
 #define kernel_info_get_mem(kinfo) (&(kinfo)->mem.common)
 
 #ifdef CONFIG_STATIC_SHM
-#define KERNEL_INFO_SHM_MEM_INIT .shm_mem.common.max_banks = NR_MEM_BANKS,
+#define KERNEL_INFO_SHM_MEM_INIT .shm_mem.common.max_banks = NR_SHMEM_BANKS,
 #else
 #define KERNEL_INFO_SHM_MEM_INIT
 #endif
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 696f55db86b1..28fb659fe946 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -9,6 +9,7 @@
 #define MAX_FDT_SIZE SZ_2M
 
 #define NR_MEM_BANKS 256
+#define NR_SHMEM_BANKS 32
 
 #define MAX_MODULES 32 /* Current maximum useful modules */
 
@@ -46,14 +47,20 @@ enum membank_type {
 /* Indicates the maximum number of characters(\0 included) for shm_id */
 #define MAX_SHM_ID_LENGTH 16
 
+struct shmem_membank_extra {
+    char shm_id[MAX_SHM_ID_LENGTH];
+    unsigned int nr_shm_borrowers;
+};
+
 struct membank {
     paddr_t start;
     paddr_t size;
-    enum membank_type type;
+    union {
+        enum membank_type type;
 #ifdef CONFIG_STATIC_SHM
-    char shm_id[MAX_SHM_ID_LENGTH];
-    unsigned int nr_shm_borrowers;
+        struct shmem_membank_extra *shmem_extra;
 #endif
+    };
 };
 
 struct membanks {
@@ -67,6 +74,12 @@ struct meminfo {
     struct membank bank[NR_MEM_BANKS];
 };
 
+struct shared_meminfo {
+    struct membanks common;
+    struct membank bank[NR_SHMEM_BANKS];
+    struct shmem_membank_extra extra[NR_SHMEM_BANKS];
+};
+
 /*
  * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
  * The purpose of the domU flag is to avoid getting confused in
@@ -109,6 +122,9 @@ struct bootinfo {
     struct bootcmdlines cmdlines;
 #ifdef CONFIG_ACPI
     struct meminfo acpi;
+#endif
+#ifdef CONFIG_STATIC_SHM
+    struct shared_meminfo shmem;
 #endif
     bool static_heap;
 };
@@ -119,11 +135,18 @@ struct bootinfo {
 #define BOOTINFO_ACPI_INIT
 #endif
 
+#ifdef CONFIG_STATIC_SHM
+#define BOOTINFO_SHMEM_INIT .shmem.common.max_banks = NR_SHMEM_BANKS,
+#else
+#define BOOTINFO_SHMEM_INIT
+#endif
+
 #define BOOTINFO_INIT                               \
 {                                                   \
     .mem.common.max_banks = NR_MEM_BANKS,           \
     .reserved_mem.common.max_banks = NR_MEM_BANKS,  \
     BOOTINFO_ACPI_INIT                              \
+    BOOTINFO_SHMEM_INIT                             \
 }
 
 struct map_range_data
@@ -158,6 +181,18 @@ static inline struct membanks *bootinfo_get_acpi(void)
 }
 #endif
 
+#ifdef CONFIG_STATIC_SHM
+static inline struct membanks *bootinfo_get_shmem(void)
+{
+    return &bootinfo.shmem.common;
+}
+
+static inline struct shmem_membank_extra *bootinfo_get_shmem_extra(void)
+{
+    return bootinfo.shmem.extra;
+}
+#endif
+
 void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
 
 size_t estimate_efi_size(unsigned int mem_nr_banks);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 680594b6843d..90aafc81e740 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -24,6 +24,10 @@ static inline int process_shm_chosen(struct domain *d,
 int process_shm_node(const void *fdt, int node, uint32_t address_cells,
                      uint32_t size_cells);
 
+void early_print_info_shmem(void);
+
+void init_sharedmem_pages(void);
+
 #else /* !CONFIG_STATIC_SHM */
 
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
@@ -51,6 +55,10 @@ static inline int process_shm_node(const void *fdt, int node,
     return -EINVAL;
 }
 
+static inline void early_print_info_shmem(void) {};
+
+static inline void init_sharedmem_pages(void) {};
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 003b0446af27..d242674381d4 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -208,6 +208,9 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
                                          unsigned int first)
 {
     const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+#ifdef CONFIG_STATIC_SHM
+    const struct membanks *shmem = bootinfo_get_shmem();
+#endif
     unsigned int i, nr;
     int rc;
 
@@ -258,6 +261,22 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
         }
     }
 
+#ifdef CONFIG_STATIC_SHM
+    nr += reserved_mem->nr_banks;
+    for ( ; i - nr < shmem->nr_banks; i++ )
+    {
+        paddr_t r_s = shmem->bank[i - nr].start;
+        paddr_t r_e = r_s + shmem->bank[i - nr].size;
+
+        if ( s < r_e && r_s < e )
+        {
+            dt_unreserved_regions(r_e, e, cb, i + 1);
+            dt_unreserved_regions(s, r_s, cb, i + 1);
+            return;
+        }
+    }
+#endif
+
     cb(s, e);
 }
 
@@ -344,13 +363,17 @@ bool __init check_reserved_regions_overlap(paddr_t region_start,
         bootinfo_get_reserved_mem(),
 #ifdef CONFIG_ACPI
         bootinfo_get_acpi(),
+#endif
+#ifdef CONFIG_STATIC_SHM
+        bootinfo_get_shmem(),
 #endif
     };
     unsigned int i;
 
     /*
      * Check if input region is overlapping with reserved memory banks or
-     * ACPI EfiACPIReclaimMemory (when ACPI feature is enabled)
+     * ACPI EfiACPIReclaimMemory (when ACPI feature is enabled) or static
+     * 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) )
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 11f3c0da81a4..fcf8227bf404 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -4,29 +4,40 @@
 #include <xen/sched.h>
 
 #include <asm/domain_build.h>
+#include <asm/static-memory.h>
 #include <asm/static-shmem.h>
 
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * Check that no padding is between struct membanks "bank" flexible array
+     * member and struct shared_meminfo "bank" member
+     */
+    BUILD_BUG_ON((offsetof(struct membanks, bank) !=
+                 offsetof(struct shared_meminfo, bank)));
+}
+
 static int __init acquire_nr_borrower_domain(struct domain *d,
                                              paddr_t pbase, paddr_t psize,
                                              unsigned long *nr_borrowers)
 {
-    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
+    const struct membanks *shmem = bootinfo_get_shmem();
     unsigned int bank;
 
     /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < reserved_mem->nr_banks; bank++ )
+    for ( bank = 0 ; bank < shmem->nr_banks; bank++ )
     {
-        paddr_t bank_start = reserved_mem->bank[bank].start;
-        paddr_t bank_size = reserved_mem->bank[bank].size;
+        paddr_t bank_start = shmem->bank[bank].start;
+        paddr_t bank_size = shmem->bank[bank].size;
 
         if ( (pbase == bank_start) && (psize == bank_size) )
             break;
     }
 
-    if ( bank == reserved_mem->nr_banks )
+    if ( bank == shmem->nr_banks )
         return -ENOENT;
 
-    *nr_borrowers = reserved_mem->bank[bank].nr_shm_borrowers;
+    *nr_borrowers = shmem->bank[bank].shmem_extra->nr_shm_borrowers;
 
     return 0;
 }
@@ -158,16 +169,22 @@ static int __init assign_shared_memory(struct domain *d,
     return ret;
 }
 
-static int __init append_shm_bank_to_domain(struct membanks *shm_mem,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
+static int __init
+append_shm_bank_to_domain(struct shared_meminfo *kinfo_shm_mem, paddr_t start,
+                          paddr_t size, const char *shm_id)
 {
+    struct membanks *shm_mem = &kinfo_shm_mem->common;
+    struct shmem_membank_extra *shm_mem_extra;
+
     if ( shm_mem->nr_banks >= shm_mem->max_banks )
         return -ENOMEM;
 
+    shm_mem_extra = &kinfo_shm_mem->extra[shm_mem->nr_banks];
+
     shm_mem->bank[shm_mem->nr_banks].start = start;
     shm_mem->bank[shm_mem->nr_banks].size = size;
-    safe_strcpy(shm_mem->bank[shm_mem->nr_banks].shm_id, shm_id);
+    safe_strcpy(shm_mem_extra->shm_id, shm_id);
+    shm_mem->bank[shm_mem->nr_banks].shmem_extra = shm_mem_extra;
     shm_mem->nr_banks++;
 
     return 0;
@@ -270,7 +287,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
          * Record static shared memory region info for later setting
          * up shm-node in guest device tree.
          */
-        ret = append_shm_bank_to_domain(&kinfo->shm_mem.common, gbase, psize,
+        ret = append_shm_bank_to_domain(&kinfo->shm_mem, gbase, psize,
                                         shm_id);
         if ( ret )
             return ret;
@@ -325,7 +342,8 @@ static int __init make_shm_memory_node(const struct kernel_info *kinfo,
         dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
                    i, start, start + size);
 
-        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
+        res = fdt_property_string(fdt, "xen,id",
+                                  mem->bank[i].shmem_extra->shm_id);
         if ( res )
             return res;
 
@@ -353,7 +371,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
     paddr_t paddr, gaddr, size, end;
-    struct membanks *mem = bootinfo_get_reserved_mem();
+    struct membanks *mem = bootinfo_get_shmem();
+    struct shmem_membank_extra *shmem_extra = bootinfo_get_shmem_extra();
     unsigned int i;
     int len;
     bool owner = false;
@@ -442,7 +461,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
          */
         if ( paddr == mem->bank[i].start && size == mem->bank[i].size )
         {
-            if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) == 0 )
+            if ( strncmp(shm_id, shmem_extra[i].shm_id,
+                         MAX_SHM_ID_LENGTH) == 0  )
                 break;
             else
             {
@@ -451,7 +471,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
                 return -EINVAL;
             }
         }
-        else if ( strncmp(shm_id, mem->bank[i].shm_id, MAX_SHM_ID_LENGTH) != 0 )
+        else if ( strncmp(shm_id, shmem_extra[i].shm_id,
+                          MAX_SHM_ID_LENGTH) != 0 )
             continue;
         else
         {
@@ -469,10 +490,10 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
                 return -EINVAL;
 
             /* Static shared memory shall be reserved from any other use. */
-            safe_strcpy(mem->bank[mem->nr_banks].shm_id, shm_id);
+            safe_strcpy(shmem_extra[mem->nr_banks].shm_id, shm_id);
             mem->bank[mem->nr_banks].start = paddr;
             mem->bank[mem->nr_banks].size = size;
-            mem->bank[mem->nr_banks].type = MEMBANK_STATIC_DOMAIN;
+            mem->bank[mem->nr_banks].shmem_extra = &shmem_extra[mem->nr_banks];
             mem->nr_banks++;
         }
         else
@@ -486,7 +507,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
      * to calculate the reference count.
      */
     if ( !owner )
-        mem->bank[i].nr_shm_borrowers++;
+        shmem_extra[i].nr_shm_borrowers++;
 
     return 0;
 }
@@ -531,6 +552,28 @@ int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
     return res;
 }
 
+void __init early_print_info_shmem(void)
+{
+    const struct membanks *shmem = bootinfo_get_shmem();
+    unsigned int bank;
+
+    for ( bank = 0; bank < shmem->nr_banks; bank++ )
+    {
+        printk(" SHMEM[%u]: %"PRIpaddr" - %"PRIpaddr"\n", bank,
+               shmem->bank[bank].start,
+               shmem->bank[bank].start + shmem->bank[bank].size - 1);
+    }
+}
+
+void __init init_sharedmem_pages(void)
+{
+    const struct membanks *shmem = bootinfo_get_shmem();
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < shmem->nr_banks; bank++ )
+        init_staticmem_bank(&shmem->bank[bank]);
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:37:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:37:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708020.1106624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMKe-00073G-3x; Thu, 18 Apr 2024 07:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708020.1106624; Thu, 18 Apr 2024 07: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 1rxMKe-000728-0q; Thu, 18 Apr 2024 07:37:20 +0000
Received: by outflank-mailman (input) for mailman id 708020;
 Thu, 18 Apr 2024 07: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKc-00046V-Is
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7a0205ce-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:15 +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 2B1E6DA7;
 Thu, 18 Apr 2024 00:37:43 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3E1713F64C;
 Thu, 18 Apr 2024 00:37: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: 7a0205ce-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 10/12] xen/arm: remove shm holes from extended regions
Date: Thu, 18 Apr 2024 08:36:50 +0100
Message-Id: <20240418073652.3622828-11-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

Static shared memory acts as reserved memory in guest, so it shall be
excluded from extended regions.

Extended regions are taken care of under three different scenarios:
normal DomU, direct-map domain with iommu on, and direct-map domain
with iommu off.

For normal DomU, we create a new function "remove_shm_holes_for_domU",
to firstly transfer original outputs into the format of
"struct rangeset", then use "remove_shm_from_rangeset" to remove static
shm from them.

For direct-map domain with iommu on, after we get guest shm info from "kinfo",
we use "remove_shm_from_rangeset" to remove static shm.

For direct-map domain with iommu off, as static shm has already been taken
care of through find_unallocated_memory, we do nothing.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v3:
 - Put size -1 inside PFN_DOWN so that error message has the 'end' unchanged.
 - Add expanation comment inside remove_shm_holes_for_domU
v2:
 - Fixed commit title, fixed comment, moved call of remove_shm_from_rangeset
   after populating rangeset in find_memory_holes, print error code when
   possible
 - used PFN_DOWN where needed
v1:
 - Rework of https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-8-Penny.Zheng@arm.com/
---
---
 xen/arch/arm/domain_build.c             | 16 ++++-
 xen/arch/arm/include/asm/domain_build.h |  2 +
 xen/arch/arm/include/asm/static-shmem.h | 18 +++++
 xen/arch/arm/static-shmem.c             | 94 +++++++++++++++++++++++++
 4 files changed, 127 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2fc7feeae3c3..0cc39b0bd7bb 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -816,8 +816,8 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
-                                  void *data)
+int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
+                           void *data)
 {
     struct membanks *ext_regions = data;
     paddr_t start, size;
@@ -990,6 +990,8 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
  * - MMIO
  * - Host RAM
  * - PCI aperture
+ * - Static shared memory regions, which are described by special property
+ *   "xen,shared-mem"
  */
 static int __init find_memory_holes(const struct kernel_info *kinfo,
                                     struct membanks *ext_regions)
@@ -1017,6 +1019,11 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
         goto out;
     }
 
+    /* Remove static shared memory regions */
+    res = remove_shm_from_rangeset(kinfo, mem_holes);
+    if ( res )
+        goto out;
+
     /*
      * Remove regions described by "reg" and "ranges" properties where
      * the memory is addressable (MMIO, RAM, PCI BAR, etc).
@@ -1109,7 +1116,10 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
         res = 0;
     }
 
-    return res;
+    if ( res )
+        return res;
+
+    return remove_shm_holes_for_domU(kinfo, ext_regions);
 }
 
 int __init make_hypervisor_node(struct domain *d,
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index a6f276cc4263..026d975da28e 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -51,6 +51,8 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
 
+int add_ext_regions(unsigned long s_gfn, unsigned long e_gfn, void *data);
+
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 90aafc81e740..2e8b138eb989 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -28,6 +28,12 @@ void early_print_info_shmem(void);
 
 void init_sharedmem_pages(void);
 
+int remove_shm_from_rangeset(const struct kernel_info *kinfo,
+                             struct rangeset *rangeset);
+
+int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
+                              struct membanks *ext_regions);
+
 #else /* !CONFIG_STATIC_SHM */
 
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
@@ -59,6 +65,18 @@ static inline void early_print_info_shmem(void) {};
 
 static inline void init_sharedmem_pages(void) {};
 
+static inline int remove_shm_from_rangeset(const struct kernel_info *kinfo,
+                                           struct rangeset *rangeset)
+{
+    return 0;
+}
+
+static inline int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
+                                            struct membanks *ext_regions)
+{
+    return 0;
+}
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index fcf8227bf404..12e2df939915 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
 #include <xen/libfdt/libfdt.h>
+#include <xen/rangeset.h>
 #include <xen/sched.h>
 
 #include <asm/domain_build.h>
@@ -574,6 +575,99 @@ void __init init_sharedmem_pages(void)
         init_staticmem_bank(&shmem->bank[bank]);
 }
 
+int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
+                                    struct rangeset *rangeset)
+{
+    const struct membanks *shm_mem = &kinfo->shm_mem.common;
+    unsigned int i;
+
+    /* Remove static shared memory regions */
+    for ( i = 0; i < shm_mem->nr_banks; i++ )
+    {
+        paddr_t start, end;
+        int res;
+
+        start = shm_mem->bank[i].start;
+        end = shm_mem->bank[i].start + shm_mem->bank[i].size;
+        res = rangeset_remove_range(rangeset, PFN_DOWN(start),
+                                    PFN_DOWN(end - 1));
+        if ( res )
+        {
+            printk(XENLOG_ERR
+                   "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr", error: %d\n",
+                   start, end, res);
+            return -EINVAL;
+        }
+    }
+
+    return 0;
+}
+
+int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
+                                     struct membanks *ext_regions)
+{
+    const struct membanks *shm_mem = &kinfo->shm_mem.common;
+    struct rangeset *guest_holes;
+    unsigned int i;
+    paddr_t start;
+    paddr_t end;
+    int res;
+
+    /* No static shared memory region. */
+    if ( shm_mem->nr_banks == 0 )
+        return 0;
+
+    dt_dprintk("Remove static shared memory holes from extended regions of DomU\n");
+
+    guest_holes = rangeset_new(NULL, NULL, 0);
+    if ( !guest_holes )
+        return -ENOMEM;
+
+    /* Copy extended regions sets into the rangeset */
+    for ( i = 0; i < ext_regions->nr_banks; i++ )
+    {
+        start = ext_regions->bank[i].start;
+        end = start + ext_regions->bank[i].size;
+
+        res = rangeset_add_range(guest_holes, PFN_DOWN(start),
+                                 PFN_DOWN(end - 1));
+        if ( res )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add: %#"PRIpaddr"->%#"PRIpaddr", error: %d\n",
+                   start, end, res);
+            goto out;
+        }
+    }
+
+    /* Remove static shared memory regions */
+    res = remove_shm_from_rangeset(kinfo, guest_holes);
+    if ( res )
+        goto out;
+
+    /*
+     * Take the interval of memory starting from the first extended region bank
+     * start address and ending to the end of the last extended region bank.
+     */
+    i = ext_regions->nr_banks - 1;
+    start = ext_regions->bank[0].start;
+    end = ext_regions->bank[i].start + ext_regions->bank[i].size - 1;
+
+    /* Reset original extended regions to hold new value */
+    ext_regions->nr_banks = 0;
+    res = rangeset_report_ranges(guest_holes, PFN_DOWN(start), PFN_DOWN(end),
+                                 add_ext_regions, ext_regions);
+    if ( res )
+        ext_regions->nr_banks = 0;
+    else if ( !ext_regions->nr_banks )
+        res = -ENOENT;
+
+ out:
+    rangeset_destroy(guest_holes);
+
+    return res;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:39:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:39:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708038.1106634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMN3-0001fB-M6; Thu, 18 Apr 2024 07:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708038.1106634; Thu, 18 Apr 2024 07: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 1rxMN3-0001f4-JP; Thu, 18 Apr 2024 07:39:49 +0000
Received: by outflank-mailman (input) for mailman id 708038;
 Thu, 18 Apr 2024 07: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxMN2-0001ew-Sd
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:39:48 +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 d4f3b3c5-fd56-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 09:39:47 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4155819f710so4769075e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:39: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm5473756wmq.34.2024.04.18.00.39.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:39: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: d4f3b3c5-fd56-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713425987; x=1714030787; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=i9y1EKandT9WhygCglGxdWa3TL08KKuc2zQZTBYEseU=;
        b=SE0MZW/rj+EN+yvIdYtKNlOsTDt3/MpyheANsA0VQpd7Rn7LiRyFtHa2rZulQY+3cZ
         lJIUBUvw6IlKQauRtNQ53KsI9ciDXFk4m8qgBsUZzLKvCgfNkbnceTie08xVgSbAXz++
         CRjf8Zz32syQ31aicu3qkK7ASCpsxXKh06HR26kY1HOIOsKOxQ6d6REk2Ok8Hv+JKQPK
         O7xHV57gK1pOMm6ananTzpoPYulHeM35J9CpvravOMiKWUwZbNgXaGeGzNa2ghFUqJyV
         QJWN1DjgQRmMLMKVp89h6tsF+hrhDWyRpHAGytKxDAkXDNUk8aNZInEVxnBOMh3esUBO
         RSug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713425987; x=1714030787;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=i9y1EKandT9WhygCglGxdWa3TL08KKuc2zQZTBYEseU=;
        b=qxYDdj7+ycE6Gtmp7PrOg+diS1Cnf9ACbpxVWLft2uQ2f5WWAKBQqvMNn6TJZOFT1X
         G99/LNwwuyhaUOWFp6iFPAZ9PoBH7RtriYocfehfxfARX4yGgzsHY3X4ner3Da9c36pS
         BlVatdat45fGuQjm9faWbjyOxaGAAMroOyY/Eh7VDP/yZrVwUSw3geICVtILxQde584b
         eg1jZ963srm/F8roeJHDGZ/JIYKmsm6R+a/47UtPLlOUtNh9i1yPHaFZPUW6o0LwxFbc
         zkh3TDs5t9ouobrPMwM4lQbn+nyzYfNSSbxZzu/Vlo3RNXlasmljctqJlLNEH/+kBFtT
         d9Ig==
X-Forwarded-Encrypted: i=1; AJvYcCVLpmH4uAoGUF25h/2tOloOf3KS4Yy95inJnZzmns7JUzDo4zZyvf8mK78NGL5vVofWSGlu3X22s4iZZP1jUPdYD6QEXJ9m3mCB4H2+Eu4=
X-Gm-Message-State: AOJu0YyuzQZR0TkwrJI2h+WhkUL5dgxl33kPzQPOqzlLWPqqkgrMONs+
	1oxJyblGXETMdRCGdHCuTV7aKxlPIbdueP9oTxMETQQszdJ3QhFlZT/rUuqaUuKJW1EimOr12+8
	=
X-Google-Smtp-Source: AGHT+IGHwLbmyp+4Lto8CB3x9N0Xboc5BghGDTyEn4zUImVlt/vKoWvCwcHK2cFXNgr7eu5kTkl7vA==
X-Received: by 2002:a05:600c:c08:b0:418:819b:26ca with SMTP id fm8-20020a05600c0c0800b00418819b26camr1457305wmb.2.1713425987298;
        Thu, 18 Apr 2024 00:39:47 -0700 (PDT)
Message-ID: <eb82270c-52f2-49f9-9aaa-72906e5b9b97@suse.com>
Date: Thu, 18 Apr 2024 09:39:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] docs/misra: mark the gzip folder as adopted code
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>
References: <2970c1010e227ca1460c5656d13fb87a05d87f29.1713174475.git.federico.serafini@bugseng.com>
 <d62f622b-65b4-4e37-87db-3cc88c89da67@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d62f622b-65b4-4e37-87db-3cc88c89da67@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15.04.2024 17:44, Andrew Cooper wrote:
> On 15/04/2024 10:56 am, Federico Serafini wrote:
>> Mark the whole gzip folder as adopted code and remove the redundant
>> deviation of file inflate.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> I hadn't realised that we had a special case like this.  Definitely
> better to get rid of it.
> 
> I've pulled this into my `for-next` branch, and will get it committed
> properly when OSSTest (our non-gitlab CI) is in a happier state.

Hmm. Considering Daniel's work (which I'll comment on separately), is this
really going to remain "adopted"? We're about to diverge to a degree where
simply taking patches from the original source isn't going to work anymore.
IOW I think we want either Daniel's work (and perhaps follow-on adjustments)
or marking of that code as adopted.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:44:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708059.1106644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMR8-0003Sk-5X; Thu, 18 Apr 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 708059.1106644; Thu, 18 Apr 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 1rxMR8-0003Sd-2o; Thu, 18 Apr 2024 07:44:02 +0000
Received: by outflank-mailman (input) for mailman id 708059;
 Thu, 18 Apr 2024 07:44:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxMR7-0003SO-3Q
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:44:01 +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 6b61b617-fd57-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 09:44:00 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-418ee2fcd6dso822045e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:44: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
 t18-20020a05600c199200b00417ee784fcasm1699171wmq.45.2024.04.18.00.43.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:43:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b61b617-fd57-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713426239; x=1714031039; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=J2fElO+/7tlBE4fdgVbNIPtlrSJBKAx8BVbvMsNGD8w=;
        b=U/V+vyLOgqxrT8Z5t8pTVaKwckeN4Pu14qwVanWScz5vxOmZNrxXMp2gl9p1ZOBaGU
         XTgGziPGPipKCeTwrvSq+X3fcmR1kymfgQryAJoO0PNGukIkEgs2GZLfICxxlK/FYpW2
         U6Ldhh8Cnp41chBIXeIyMJBSJc2CmjMTgg5a798ZGpnGD/p015FOuDlcXf4Xm2EDvsKh
         B+14LWI4fk2A0Nb6+K7dotjiFUBGdJhUDMkDQuez1faJ1157GwHmIxZH8N6Nz76+F99z
         /9Wp9JcEwoX1b0dyhgsCqCS0X5dNeK4qNrjNwGFOtXuwA51ZGrlewN4Z7ms3UqBYYEng
         m+Xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713426239; x=1714031039;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=J2fElO+/7tlBE4fdgVbNIPtlrSJBKAx8BVbvMsNGD8w=;
        b=fvevNJYV/OFCuLHYA9bHC2wGqipedSY76E0iz4OIAZptePHid4Fgr1VhdLpL52OEFE
         Mo1FfgrSpnDr9mhxEV8YJUoolyjvZzv59DuDNsJXzJ9p4uZDq9M/mpmwfBuaPwL1ywgE
         34zXyy8SvRM/Bo8FATmy38DYQ7AT5Dv5x1gqgsbqy2BCDqvl70cslZFGUjk0eRB27gmj
         tG1Y42w4JmbO0l/kgqZPxDL8Qq4burNa+vj3BDf/4xSHuv74EwvK504Mjxs1BRJ9iLjj
         gA/C3iq8suWgKX/95ztfoW8RHI4c3uOgdq1eysisUlN70EK4UI8YwwdGC6vu36kP5T+J
         PVvA==
X-Forwarded-Encrypted: i=1; AJvYcCUclM/tvy/b1wQM1VXi4bAu260KuVgVp61XpESxGZkkRcFxR+z2g0jDpOXMT38kW/r08uaTXF5Dwy9ZOc//5tNNz1Lnr4cMkTJtD/4J3C8=
X-Gm-Message-State: AOJu0YwBxHILxw0PvaRFyAAgzqAHea4wQ5bfFSMCfVa3EqVPxkwAZjKi
	7UhfVljGLOr5qtlqUxIJHaRiWxJ91D+6RA2P42pNNe+c00KxGCqCoXAgKQY8bQ==
X-Google-Smtp-Source: AGHT+IHfWGRw7vHUZP7F+M2H4hunaczhO3IqzmyTDX4noHTePQW9D3IIbxjn7cGEXIRzS6O56cOSTg==
X-Received: by 2002:a05:600c:524a:b0:418:4ecb:fc80 with SMTP id fc10-20020a05600c524a00b004184ecbfc80mr1401554wmb.23.1713426239650;
        Thu, 18 Apr 2024 00:43:59 -0700 (PDT)
Message-ID: <503afd2c-e903-46d8-a192-04162dce106c@suse.com>
Date: Thu, 18 Apr 2024 09:43:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 0/6] Clean up of gzip decompressor
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240417143716.27189-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 16:37, Daniel P. Smith wrote:
> An issue ran into by hyperlaunch was the need to use the gzip decompressor
> multiple times. The current implementation fails when reused due to tainting of
> decompressor state from a previous usage. This series seeks to colocate the
> gzip unit files under a single directory similar to the other decompression
> algorithms.  To enable the refactoring of the state tracking, the code is then
> cleaned up in line with Xen coding style.

I don't mind the content and style adjustments, but what I'm missing here and
in the patch descriptions is weighing of doing so versus ease of importing
changes to the original source.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:44:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:44:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708062.1106655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMRa-0004Ca-DB; Thu, 18 Apr 2024 07:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708062.1106655; Thu, 18 Apr 2024 07:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMRa-0004CT-9n; Thu, 18 Apr 2024 07:44:30 +0000
Received: by outflank-mailman (input) for mailman id 708062;
 Thu, 18 Apr 2024 07:44: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=EyP4=LX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMRY-00045y-Nx
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:44:28 +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 7b093c6c-fd57-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:44:26 +0200 (CEST)
Received: from AS9P250CA0016.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:532::26)
 by DB3PR08MB8986.eurprd08.prod.outlook.com (2603:10a6:10:42b::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.37; Thu, 18 Apr
 2024 07:44:19 +0000
Received: from AMS0EPF000001A7.eurprd05.prod.outlook.com
 (2603:10a6:20b:532:cafe::21) by AS9P250CA0016.outlook.office365.com
 (2603:10a6:20b:532::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.27 via Frontend
 Transport; Thu, 18 Apr 2024 07:44:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A7.mail.protection.outlook.com (10.167.16.234) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7452.22
 via Frontend Transport; Thu, 18 Apr 2024 07:44:18 +0000
Received: ("Tessian outbound 9fd7e4b543e6:v313");
 Thu, 18 Apr 2024 07:44:18 +0000
Received: from 6380d7eee6c7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A7F4A8A8-6733-4EF1-ADE4-2A5F9EC10F59.1; 
 Thu, 18 Apr 2024 07:44:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6380d7eee6c7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 18 Apr 2024 07:44:11 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB9094.eurprd08.prod.outlook.com (2603:10a6:20b:5b0::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.41; Thu, 18 Apr
 2024 07:44:08 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7452.049; Thu, 18 Apr 2024
 07:44:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b093c6c-fd57-11ee-94a3-07e782e9044d
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Zxtoxp8Ob6YEB7n68OmwUoE3lsHmJfoPt+Ok2+EnkeIspNbPRHczQqVMTHsjsAIqO/ku169ot3BPfBoPR67Z3GQDteBqm+XkBUDNNZH+WvFhtnzgCx6rDPMvEtTpb2m/LTuMv18gdnwhh2ApUihPWAYYvNpXbiD6EHTYM4UK1Nt0ew1daYvjQbWGsFRlfsjtybC/ptJ9Pycz4+YIeLr44sPH+C2/FB7EPqcXM87R/buOkLGIdvgL8RF8wxfIrZTZOG2b8k3eksExbyC3l19qBrP+pbJWeweGO+NLz0jDDpdgHm3tEh4Paj2GsqZx6KweArNe4PCXmnuaTAwFr56Pqg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AcbTUjYhGq5guoyqnpt3YMaIlsYavqoRdiDfc88Dwg4=;
 b=HWuWArVV0/SooNGjX/0ngilCPq50mdEGdeeQoMoY+ayLU3T/gOjgplin0HtM3VMqJ+LtEceLSp0jVYvksidekKB5xDQMFgBbXbxH01zCQrqA/jWxzXmRMG3An72KpBGHOY24aXv//FNYvjByldfVWY8L++C/cr4mkYgAGKfQMvR1S/SozBcNMkVDFhKD6HeHFOQtffy1ZEDqcICI0Im+MowkuOmCIlfMwuNK9p9Anykm0/OIWHWP4gCQWTAY8C4TjZgj+eMsPj4TDholr5qB4smFojtbLBuytTTjVwur79l10Nl/zxE5Ty6825+iwUlnV3vrXqfPl5OsrS+fEj8D8A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AcbTUjYhGq5guoyqnpt3YMaIlsYavqoRdiDfc88Dwg4=;
 b=jcntsSwRqQAe5NSS5psEhcAPqJdm+dp1wp28J2tmp01/yOvDHY2ixbj+QFFOtewYR4DlkvbPAmwnNdwMDIc/HL2w9ZNQcAproMpaux7IOQzgR+FwaKdRenO/CctkFTxzg/uTaWbN85iT1zab9GwQAktQ40dYB0wgxVGycdhcWKA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0995f625191d9ab1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MTWKDLxUYbr8fY5i4vLkfXBjfVCbC6FLi/eNcqGs4TmfMN7ak6EFpOJQ/p/8Wa9pJBOShQHqvWm9PC0PnxJwKShB5Y9/jJwCA2FflKoeRtYwjeeLMa2MAG6pYc5k9gxizpw49BpCQoeXdiSsb08wVLwy6mjULG2A5Tn/bQycDfF8r8gzezxNx1dOhWg4B/WGXM7Y/LJc2An9mz5T+K7tWwZRdtXbJdU/kXLp/phFVt3jBY/G/rbxq145Uj5newSyEYmXVg6y48pHmBSfnMjOGkyJvv5yVUTmAc0ogRRRUX/jW7BJuM7r2v2p3ZGnJgBaQi6mU0dPiPN3ncDeJ4AKRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AcbTUjYhGq5guoyqnpt3YMaIlsYavqoRdiDfc88Dwg4=;
 b=CNdtFawD99s4AoWk+MIN15XA58Aq+DUxweVJpo0sYJcefSWZOhiYgeG/LIapIJfpRYBLK0qriTCvni8+bgLoX3EPczWqF9ypbLS6xtJY+O052FDl3ahkf53itZIoiuLoUyCoTlyA+MVIBB44LLKQOwe3Xrw4i70rR+Qh0UJp0zJ0OQx9xLvsvEUCVMsKfohmpGSawIUUUisIFisbXnodd7Rn54zoj+cVytwEPb8WWZ7Wz8yTLASLGB1Fz3jkGqAqy7dKlbqyWEFNz8Epm803rmGffXDk51r5vPOvediwn0v77YcKfIH1L0ZkkEC4XHG04V1TdLzEJT3I83h9LybJAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AcbTUjYhGq5guoyqnpt3YMaIlsYavqoRdiDfc88Dwg4=;
 b=jcntsSwRqQAe5NSS5psEhcAPqJdm+dp1wp28J2tmp01/yOvDHY2ixbj+QFFOtewYR4DlkvbPAmwnNdwMDIc/HL2w9ZNQcAproMpaux7IOQzgR+FwaKdRenO/CctkFTxzg/uTaWbN85iT1zab9GwQAktQ40dYB0wgxVGycdhcWKA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 12/13] xen/device_tree: Introduce function to merge
 overlapping intervals
Thread-Topic: [PATCH v2 12/13] xen/device_tree: Introduce function to merge
 overlapping intervals
Thread-Index: AQHainObwzEJT+Mf6kG9My8yFKsem7Ftnm0AgAAVAwA=
Date: Thu, 18 Apr 2024 07:44:08 +0000
Message-ID: <936487ED-B717-48B6-B4F3-842752911360@arm.com>
References: <20240409114543.3332150-1-luca.fancellu@arm.com>
 <20240409114543.3332150-13-luca.fancellu@arm.com>
 <930fcf9b-2ce3-4477-88f0-e3881cacdae7@suse.com>
In-Reply-To: <930fcf9b-2ce3-4477-88f0-e3881cacdae7@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB9094:EE_|AMS0EPF000001A7:EE_|DB3PR08MB8986:EE_
X-MS-Office365-Filtering-Correlation-Id: e0bd2b1e-5128-4c27-8973-08dc5f7b5ac6
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 GXEP9WAxIlahh634bW6S8AJw+842+25b2TJu5KRl5nwMw6xA6TTDJxVRi1cdoKIN62c7WweQoqGSn0lS7I/YT3D3U9gir0etzfw0yqoh7n95Shfmfn+HmZ43VjNzx9UusD+BjdAEedfeCVFaFc9BouGk5XQzOofno4GmU51L8TnJSLxTRTO1jZjGKBkajed4B9vGNM0BnZhTHxu/GgaYyqKqagXaTpHKe6OxfCslp5IE7UAqTKmWZ0VZYq+54/iaErVb6D01uCqdR3ypPHKUFq0841oHKFmtJwQLM+aIj3aWh4c7TaXeRh5Ci9o2tiBkLkSGJ3Tx+0dTSogB8pnsyHL2PfwwgqkWMaZUFQ7qFmxAVOT34hgzUKJ6NIYHzlkGkjdZcJraMZe9UHJAIIQD2E8Nm+e3Sset37lv41Aub+rqRl3OHqUOC6DALS3nzBuLyeiboM6zjKv9ERfbP8FOCphA9N+h68IWv7NdILVfdMVT2zRtbRHntLO3VJNB+bR/wW8pRNqczpcX1FmLQOwAbZHkcxYxTzdbPs2KPinN/My8RCLZygz4+K967LsGBWxlMrv1uA27jldfuSYm1NcMPoEx8fzWtl1ffyvljAS+agTSSbJA5RQIOleZsyT/T5CVBzza3ngzq3X4/J4f7elVBqHiS7Jq3DpwWnG6Bt6tpHKUAa5moZUDFM7QZGgo3UNVYtvPSMnjZdx5ryG8h9PTK/O8jw33ODYQPIPGgtq8VcQ=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <90C888E19E32724884FB71D72488E540@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9094
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001A7.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b3915090-649a-43e2-a121-08dc5f7b54af
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YoHno23F08Pw5Vkgu3vNFT/czEvc1Frx2mQuykIXY/h4CtmVXFxWenJ02RKD3s/Sm1kvZgabpSwGj1M+hNLv7D4D5H6NilmLLGlBYowdaggMkFNip+5FHpQlyqqiBtW9jX2MQdTpOnnuayQ9XQi20mcv3QCjuX0Qf8eiRkvW66IAzfGr1VMmrMqUURqk37xspG8QGpdZN8m4m/zx6ryqu1srvmUdHJlzRgXvkQSiv1Y1z+5agEZkWL8OYobjRJNoIWzcol4Vw+pc4f1tBwsgt5W7sd0PMeUWImlwm56sXLZFfBejgQyhVxGykYvnmdimmv3E8o8R2VAw44afeLPhDd/yQR7Jg/1RDxKghyE+uHydek3Mn2fEotfAL6yEPQtBu1YetosJ6BWzuPQN5vZuSEOJf6i/EJly9IPwRbStrFaKg0crqpZr+VvtMnvramDUS3gjo+yUEW/BE2fsTqD7y5RBmFD5EI91jYxLakfSLo7Xdj9a77065SHt8TxolJ8ezOikBUTbJ/upwNotcrKXPJPIVX+1J8GzTwcN8saxfkiG67fIpmT2G9rCS852KSwzqjPl7TrvK+6HW7gqfbHJqSBIQkKRhJNHUkqG59uTZcMHw0k8Fe4Uh2gJtNrjKoxePsKnpvydX9RT7GZy1AxY1tFzGaHraLrPWdaQiG4m2IbkLRIN2+0X5QCgY5n6pfx8T34U0l1D01LvX2SOuVGxu90qwcWcK1ejvMxbBipyx1F9H9bMrbMOezas/clDM6pw
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(82310400014)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 07:44:18.7719
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e0bd2b1e-5128-4c27-8973-08dc5f7b5ac6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001A7.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8986

DQoNCj4gT24gMTggQXByIDIwMjQsIGF0IDA3OjI4LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMDkuMDQuMjAyNCAxMzo0NSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9leHRhYmxlLmMNCj4+ICsrKyBiL3hlbi9hcmNo
L3g4Ni9leHRhYmxlLmMNCj4+IEBAIC0yMyw3ICsyMyw4IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWdu
ZWQgbG9uZyBleF9jb250KGNvbnN0IHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKngpDQo+
PiByZXR1cm4gRVhfRklFTEQoeCwgY29udCk7DQo+PiB9DQo+PiANCj4+IC1zdGF0aWMgaW50IGlu
aXRfb3JfbGl2ZXBhdGNoIGNmX2NoZWNrIGNtcF9leChjb25zdCB2b2lkICphLCBjb25zdCB2b2lk
ICpiKQ0KPj4gK3N0YXRpYyBpbnQgaW5pdF9vcl9saXZlcGF0Y2ggY2ZfY2hlY2sgY21wX2V4KGNv
bnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqZGF0YSkNCj4+IHsNCj4+IGNvbnN0IHN0
cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKmwgPSBhLCAqciA9IGI7DQo+PiB1bnNpZ25lZCBs
b25nIGxpcCA9IGV4X2FkZHIobCk7DQo+PiBAQCAtNTMsNyArNTQsNyBAQCB2b2lkIGluaXRfb3Jf
bGl2ZXBhdGNoIHNvcnRfZXhjZXB0aW9uX3RhYmxlKHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50
cnkgKnN0YXJ0LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqc3RvcCkNCj4+IHsNCj4+ICAgICBzb3J0KHN0YXJ0
LCBzdG9wIC0gc3RhcnQsDQo+PiAtICAgICAgICAgc2l6ZW9mKHN0cnVjdCBleGNlcHRpb25fdGFi
bGVfZW50cnkpLCBjbXBfZXgsIHN3YXBfZXgpOw0KPj4gKyAgICAgICAgIHNpemVvZihzdHJ1Y3Qg
ZXhjZXB0aW9uX3RhYmxlX2VudHJ5KSwgY21wX2V4LCBzd2FwX2V4LCBOVUxMKTsNCj4+IH0NCj4g
DQo+IE5vdCB0aGUgbGVhc3QgYmVjYXVzZSBvZiB0aGlzIGFkZGl0aW9uIG9mIGFuIGVudGlyZWx5
IHVzZWxlc3MgcGFyYW1ldGVyIC8gYXJndW1lbnQNCg0KV2VsbCBpdOKAmXMgbm90IHVzZWxlc3Mg
aW4gdGhpcyBwYXRjaCwgZ2l2ZW4gdGhhdCB3aXRob3V0IGl0IEkgY291bGRu4oCZdCBrbm93IHRo
ZSBzaXplIG9mIHRoZSBhZGRyZXNzDQplbGVtZW50LCBob3dldmVyIC4uLg0KDQo+IEknbSBub3Qg
aW4gZmF2b3Igb2YgLi4uDQo+IA0KPj4gLS0tIGEveGVuL2luY2x1ZGUveGVuL3NvcnQuaA0KPj4g
KysrIGIveGVuL2luY2x1ZGUveGVuL3NvcnQuaA0KPj4gQEAgLTIzLDggKzIzLDggQEANCj4+IGV4
dGVybiBnbnVfaW5saW5lDQo+PiAjZW5kaWYNCj4+IHZvaWQgc29ydCh2b2lkICpiYXNlLCBzaXpl
X3QgbnVtLCBzaXplX3Qgc2l6ZSwNCj4+IC0gICAgICAgICAgaW50ICgqY21wKShjb25zdCB2b2lk
ICphLCBjb25zdCB2b2lkICpiKSwNCj4+IC0gICAgICAgICAgdm9pZCAoKnN3YXApKHZvaWQgKmEs
IHZvaWQgKmIsIHNpemVfdCBzaXplKSkNCj4+ICsgICAgICAgICAgaW50ICgqY21wKShjb25zdCB2
b2lkICphLCBjb25zdCB2b2lkICpiLCBjb25zdCB2b2lkICpkYXRhKSwNCj4+ICsgICAgICAgICAg
dm9pZCAoKnN3YXApKHZvaWQgKmEsIHZvaWQgKmIsIHNpemVfdCBzaXplKSwgY29uc3Qgdm9pZCAq
Y21wX2RhdGEpDQo+PiB7DQo+IA0KPiAuLi4gdGhpcyBjaGFuZ2UuIENvbnNpZGVyIHlvdSB3ZXJl
IGRvaW5nIHRoaXMgb24gYSBDIGxpYnJhcnkgeW91IGNhbm5vdCBjaGFuZ2UuDQo+IFlvdSdkIGhh
dmUgdG8gZmluZCBhIGRpZmZlcmVudCBzb2x1dGlvbiBhbnl3YXkuDQoNCkkgZ2V0IHlvdXIgcG9p
bnQgaGVyZSwgd2Ugc2hvdWxkIG5vdCBjaGFuZ2Ugc3RhbmRhcmQgZnVuY3Rpb25zLg0KDQo+IEFu
ZCB0aGUgd2F5IHdlIGhhdmUgc29ydCgpDQo+IHJpZ2h0IG5vdyBpcyBtYXRjaGluZyB0aGUgQyBz
cGVjLiBUaGUgY2hhbmdlIHRvIGRvIHJlbmRlcnMgdGhpbmdzIHVuZXhwZWN0ZWQgdG8NCj4gYW55
b25lIHdhbnRpbmcgdG8gdXNlIHRoaXMgZnVuY3Rpb24gaW4gYSBzcGVjLWNvbXBsaWFudCB3YXku
IE9uZSBhcHByb2FjaCBtYXkNCj4gYmUgdG8gbWFrZSBhbiBhZGp1c3RtZW50IHRvIGRhdGEgcmVw
cmVzZW50YXRpb24sIHN1Y2ggdGhhdCB0aGUgZXh0cmEgcmVmZXJlbmNlDQo+IGRhdGEgaXMgYWNj
ZXNzaWJsZSB0aHJvdWdoIHRoZSBwb2ludGVycyBhbHJlYWR5IGJlaW5nIHBhc3NlZC4NCj4gDQo+
IEphbg0KPiANCg0KQW55d2F5IGluIHRoZSBlbmQgdGhpcyBwYXRjaCB3YXMgZHJvcHBlZCBmb3Ig
b3RoZXIgcmVhc29ucy4NCg0KQ2hlZXJzLA0KTHVjYQ==


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:44:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:44:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708063.1106661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMRa-0004Fp-ON; Thu, 18 Apr 2024 07:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708063.1106661; Thu, 18 Apr 2024 07:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMRa-0004Ea-Ge; Thu, 18 Apr 2024 07:44:30 +0000
Received: by outflank-mailman (input) for mailman id 708063;
 Thu, 18 Apr 2024 07:44: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=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKe-00046V-OO
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7bb438ca-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:18 +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 044ED339;
 Thu, 18 Apr 2024 00:37:46 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 55B893F64C;
 Thu, 18 Apr 2024 00:37:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bb438ca-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 12/12] xen/arm: List static shared memory regions as /memory nodes
Date: Thu, 18 Apr 2024 08:36:52 +0100
Message-Id: <20240418073652.3622828-13-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently Xen is not exporting the static shared memory regions
to the device tree as /memory node, this commit is fixing this
issue.

Given that now make_memory_node needs a parameter 'struct kernel_info'
in order to call the new function shm_mem_node_fill_reg_range,
take the occasion to remove the unused struct domain parameter.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v3:
 - removed previous patch that was merging the intervals, rebase
   changes.
v2:
 - try to use make_memory_node, don't add overlapping ranges of
   memory, commit message changed.
v1:
 - new patch
---
---
 xen/arch/arm/dom0less-build.c           |  2 +-
 xen/arch/arm/domain_build.c             | 34 +++++++++++++++++--------
 xen/arch/arm/include/asm/domain_build.h |  2 +-
 xen/arch/arm/include/asm/static-shmem.h | 15 +++++++++++
 xen/arch/arm/static-shmem.c             | 23 +++++++++++++++++
 5 files changed, 63 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 51cf03221d56..74f053c242f4 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -642,7 +642,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     if ( ret )
         goto err;
 
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+    ret = make_memory_node(kinfo, addrcells, sizecells,
                            kernel_info_get_mem(kinfo));
     if ( ret )
         goto err;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 68532ddc084c..15f888169c4e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -756,15 +756,14 @@ int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
     return fdt_begin_node(fdt, buf);
 }
 
-int __init make_memory_node(const struct domain *d,
-                            void *fdt,
-                            int addrcells, int sizecells,
-                            const struct membanks *mem)
+int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
+                            int sizecells, const struct membanks *mem)
 {
+    void *fdt = kinfo->fdt;
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
     int nr_cells = 0;
-    __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
+    __be32 reg[DT_MEM_NODE_REG_RANGE_SIZE];
     __be32 *cells;
 
     if ( mem->nr_banks == 0 )
@@ -797,14 +796,28 @@ int __init make_memory_node(const struct domain *d,
         if ( mem->bank[i].type == MEMBANK_STATIC_DOMAIN )
             continue;
 
-        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
-
         nr_cells += reg_size;
         BUG_ON(nr_cells >= ARRAY_SIZE(reg));
         dt_child_set_range(&cells, addrcells, sizecells, start, size);
     }
 
+    /*
+     * static shared memory banks need to be listed as /memory node, so when
+     * this function is handling the normal memory, add the banks.
+     */
+    if ( mem == kernel_info_get_mem(kinfo) )
+        shm_mem_node_fill_reg_range(kinfo, reg, &nr_cells, addrcells,
+                                    sizecells);
+
+    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
+    {
+        u64 start = dt_read_number(cells, addrcells);
+        u64 size = dt_read_number(cells + addrcells, sizecells);
+
+        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
+                   i, start, start + size);
+    }
+
     dt_dprintk("(reg size %d, nr cells %d)\n", reg_size, nr_cells);
 
     res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg));
@@ -1783,7 +1796,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
-        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+        res = make_memory_node(kinfo, addrcells, sizecells,
                                kernel_info_get_mem(kinfo));
         if ( res )
             return res;
@@ -1794,8 +1807,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
          */
         if ( reserved_mem->nr_banks > 0 )
         {
-            res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                   reserved_mem);
+            res = make_memory_node(kinfo, addrcells, sizecells, reserved_mem);
             if ( res )
                 return res;
         }
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 026d975da28e..45936212ca21 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -14,7 +14,7 @@ int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
                          int addrcells, int sizecells);
-int make_memory_node(const struct domain *d, void *fdt, int addrcells,
+int make_memory_node(const struct kernel_info *kinfo, int addrcells,
                      int sizecells, const struct membanks *mem);
 int make_psci_node(void *fdt);
 int make_timer_node(const struct kernel_info *kinfo);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 7495a91e7a31..3b6569e5703f 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -3,10 +3,15 @@
 #ifndef __ASM_STATIC_SHMEM_H_
 #define __ASM_STATIC_SHMEM_H_
 
+#include <xen/types.h>
 #include <asm/kernel.h>
+#include <asm/setup.h>
 
 #ifdef CONFIG_STATIC_SHM
 
+/* Worst case /memory node reg element: (addrcells + sizecells) */
+#define DT_MEM_NODE_REG_RANGE_SIZE ((NR_MEM_BANKS + NR_SHMEM_BANKS) * 4)
+
 int make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                           int sizecells);
 
@@ -37,8 +42,14 @@ int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
 int make_shm_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                               int sizecells);
 
+void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo, __be32 *reg,
+                                 int *nr_cells, int addrcells, int sizecells);
+
 #else /* !CONFIG_STATIC_SHM */
 
+/* Worst case /memory node reg element: (addrcells + sizecells) */
+#define DT_MEM_NODE_REG_RANGE_SIZE (NR_MEM_BANKS * 4)
+
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
                                         int addrcells, int sizecells)
 {
@@ -86,6 +97,10 @@ static inline int make_shm_resv_memory_node(const struct kernel_info *kinfo,
     return 0;
 }
 
+static inline void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
+                                               __be32 *reg, int *nr_cells,
+                                               int addrcells, int sizecells) {};
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index c85f60dd1bf7..07c93a820508 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/device_tree.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/rangeset.h>
 #include <xen/sched.h>
@@ -668,6 +669,28 @@ int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
     return res;
 }
 
+void __init shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
+                                        __be32 *reg, int *nr_cells,
+                                        int addrcells, int sizecells)
+{
+    const struct membanks *mem = &kinfo->shm_mem.common;
+    unsigned int i;
+    __be32 *cells;
+
+    BUG_ON(!nr_cells || !reg);
+
+    cells = &reg[*nr_cells];
+    for ( i = 0; i < mem->nr_banks; i++ )
+    {
+        u64 start = mem->bank[i].start;
+        u64 size = mem->bank[i].size;
+
+        *nr_cells += addrcells + sizecells;
+        BUG_ON(*nr_cells >= DT_MEM_NODE_REG_RANGE_SIZE);
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+    }
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:46:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708080.1106676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMTK-00068w-7Y; Thu, 18 Apr 2024 07:46:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708080.1106676; Thu, 18 Apr 2024 07:46: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 1rxMTK-00068p-3V; Thu, 18 Apr 2024 07:46:18 +0000
Received: by outflank-mailman (input) for mailman id 708080;
 Thu, 18 Apr 2024 07:46:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EyP4=LX=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rxMKd-00046V-JA
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:37:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7b01e855-fd56-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:37:17 +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 B11731576;
 Thu, 18 Apr 2024 00:37:44 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C42B53F64C;
 Thu, 18 Apr 2024 00:37: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: 7b01e855-fd56-11ee-94a3-07e782e9044d
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH v3 11/12] xen/arm: fix duplicate /reserved-memory node in Dom0
Date: Thu, 18 Apr 2024 08:36:51 +0100
Message-Id: <20240418073652.3622828-12-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-1-luca.fancellu@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

In case there is a /reserved-memory node already present in the host
dtb, current Xen codes would create yet another /reserved-memory node
when the static shared memory feature is enabled and static shared
memory regions are present.
This would result in an incorrect device tree generation and hwdom
would not be able to detect the static shared memory region.

Avoid this issue by checking the presence of the /reserved-memory
node and appending the nodes instead of generating a duplicate
/reserved-memory.

Make make_shm_memory_node externally visible and rename it to
make_shm_resv_memory_node to make clear it produces childs for
/reserved-memory.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2:
 - fix comment, remove function signature change, fixed commit msg
 - rename make_shm_memory_node to make_shm_resv_memory_node in order
   to make clear that it produces childs for /reserved-memory
 - Add Michal R-by
v1:
 - Rework of https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-11-Penny.Zheng@arm.com/
---
 xen/arch/arm/domain_build.c             | 23 ++++++++++++++++++++---
 xen/arch/arm/include/asm/static-shmem.h |  9 +++++++++
 xen/arch/arm/static-shmem.c             |  8 ++++----
 3 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 0cc39b0bd7bb..68532ddc084c 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1640,6 +1640,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         DT_MATCH_PATH("/hypervisor"),
         { /* sentinel */ },
     };
+    static __initdata bool res_mem_node_found = false;
     struct dt_device_node *child;
     int res, i, nirq, irq_id;
     const char *name;
@@ -1734,6 +1735,19 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     if ( res )
         return res;
 
+    if ( dt_node_path_is_equal(node, "/reserved-memory") )
+    {
+        res_mem_node_found = true;
+        /*
+         * Avoid duplicate /reserved-memory nodes in Device Tree, so add the
+         * static shared memory nodes there.
+         */
+        res = make_shm_resv_memory_node(kinfo, dt_n_addr_cells(node),
+                                        dt_n_size_cells(node));
+        if ( res )
+            return res;
+    }
+
     for ( child = node->child; child != NULL; child = child->sibling )
     {
         res = handle_node(d, kinfo, child, p2mt);
@@ -1786,9 +1800,12 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                 return res;
         }
 
-        res = make_resv_memory_node(kinfo, addrcells, sizecells);
-        if ( res )
-            return res;
+        if ( !res_mem_node_found )
+        {
+            res = make_resv_memory_node(kinfo, addrcells, sizecells);
+            if ( res )
+                return res;
+        }
     }
 
     res = fdt_end_node(kinfo->fdt);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 2e8b138eb989..7495a91e7a31 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -34,6 +34,9 @@ int remove_shm_from_rangeset(const struct kernel_info *kinfo,
 int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
                               struct membanks *ext_regions);
 
+int make_shm_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
+                              int sizecells);
+
 #else /* !CONFIG_STATIC_SHM */
 
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
@@ -77,6 +80,12 @@ static inline int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
     return 0;
 }
 
+static inline int make_shm_resv_memory_node(const struct kernel_info *kinfo,
+                                            int addrcells, int sizecells)
+{
+    return 0;
+}
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 12e2df939915..c85f60dd1bf7 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -297,8 +297,8 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init make_shm_memory_node(const struct kernel_info *kinfo,
-                                       int addrcells, int sizecells)
+int __init make_shm_resv_memory_node(const struct kernel_info *kinfo,
+                                     int addrcells, int sizecells)
 {
     const struct membanks *mem = &kinfo->shm_mem.common;
     void *fdt = kinfo->fdt;
@@ -306,7 +306,7 @@ static int __init make_shm_memory_node(const struct kernel_info *kinfo,
     int res = 0;
 
     if ( mem->nr_banks == 0 )
-        return -ENOENT;
+        return 0;
 
     /*
      * For each shared memory region, a range is exposed under
@@ -544,7 +544,7 @@ int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
     if ( res )
         return res;
 
-    res = make_shm_memory_node(kinfo, addrcells, sizecells);
+    res = make_shm_resv_memory_node(kinfo, addrcells, sizecells);
     if ( res )
         return res;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 07:47:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 07:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708092.1106685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMUL-0006ia-FL; Thu, 18 Apr 2024 07:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708092.1106685; Thu, 18 Apr 2024 07: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 1rxMUL-0006iT-CV; Thu, 18 Apr 2024 07:47:21 +0000
Received: by outflank-mailman (input) for mailman id 708092;
 Thu, 18 Apr 2024 07:47: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxMUK-0006iL-37
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 07:47:20 +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 e12f3039-fd57-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 09:47:17 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-418bbc690e1so4779785e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 00:47: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
 p15-20020a05600c358f00b00418ef96472asm336004wmq.0.2024.04.18.00.47.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 00:47: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: e12f3039-fd57-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713426437; x=1714031237; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JDvkxOWu6iaqPvLNsHPt1daX2aWYf6HoPzOB4rJqaKo=;
        b=LNXl6qBhpRDAZz1d1Us1caesYH8dAuFX//2tPEGC/Xl2CXZzaVtbsoiAbJp1yfSxFr
         3RM+0uUZrIY8fuJg5k4zRAJdqXSD0fSiG/ImjjyXUWf8o9IHkr+6V3sA/s2TJ0uE5EJM
         55cDP2D3mqkS7RZ7B2EI98paMbb4Vud+r3UK4/uhDnfbOBeA3oEJj/EoJVEYxita/YYP
         cE2A218KAeBFXzc+o22FJBVVQgw1D0AqFOtzLegHM/QW3RQY0liL7cDy7ZARlz84G0Rw
         I5VL+3TTDF6kWywERzioN3wa1Qk+8zvktrpyYHEDxMGLAeQKDEJOEkZW2kRKaj81CDuL
         wTYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713426437; x=1714031237;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=JDvkxOWu6iaqPvLNsHPt1daX2aWYf6HoPzOB4rJqaKo=;
        b=i2QJJ9dGrxrYBK2osnrKaq+bYr49TxZ7AEifa32fX9Ye+egCvRjZ0x/j1S+z5jmyxy
         5rT15/bJ9RRnoqPYXP3OhcZnVaGIOi/VnvMXo5DpalYiWPTE6wsM/1cMgnOJY4VkMWvK
         8JTVLXkDveuZ9aM7tXJV20MajUjMCkWpebvTunycEPqYWA86+s6jBzUwuySeLee7uYdo
         9InL+I93BymyH4r9Xe8X1JZdPidihUDLI0ZviZIZUuqtN3l3cnP5MiNWMzjGYFu4/56j
         XyvJhdVzH6SRf3PjgeVbfiSl9brukQZ4Iqh5to0YfO85f+Qs5M6km3dAfWUuE6kkfwiK
         IjJg==
X-Forwarded-Encrypted: i=1; AJvYcCXPIOlROA1YGpFEOTIyfWc6jwGdCxieU7Wukn/HwxwOCGPD7ozHwRaMZ+OVVuBPHfy9qrJd51khF+3gcQZIq223i+F1myUQdqgYJZWDlWY=
X-Gm-Message-State: AOJu0YyhN05oFTLDQHXXkkJMd4wBeHN6YVeI10v8hkuTSlOxf3oj2YZf
	eTyBUGMZU9Wzv0fP/gO1vQO+dVYiDbVTIMnOllsblTKP0sH5Pin+CYEFDoxgiTsENLCw2CpAm+w
	=
X-Google-Smtp-Source: AGHT+IHpu6lbBwnCWqOJKGoMrrMTHk/llIbpS5axaRI4Xq0YikDGvTan73IdClDRc8IIYO5SPHP5Qw==
X-Received: by 2002:a05:600c:1d03:b0:418:bbd5:e7f8 with SMTP id l3-20020a05600c1d0300b00418bbd5e7f8mr1257094wms.16.1713426437331;
        Thu, 18 Apr 2024 00:47:17 -0700 (PDT)
Message-ID: <62f3ba42-4bdb-4861-b374-d817c3961219@suse.com>
Date: Thu, 18 Apr 2024 09:47:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/6] gzip: drop unused define checks
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240417143716.27189-1-dpsmith@apertussolutions.com>
 <20240417143716.27189-2-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240417143716.27189-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 16:37, Daniel P. Smith wrote:
> Dropping the define checks for PKZIP_BUG_WORKAROUND and NOMEMCPY define as they
> never are set.

You don't mention or otherwise touch DEBUG uses, yet ...

> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -661,7 +661,6 @@ static int __init inflate_codes(
>                  /* do the copy */
>                  do {
>                      n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
> -#if !defined(NOMEMCPY) && !defined(DEBUG)

... you also don't replace this by "#ifndef DEBUG", but outright delete
the line.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 08:14:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 08:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708106.1106695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMu7-0005Su-U0; Thu, 18 Apr 2024 08:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708106.1106695; Thu, 18 Apr 2024 08:13:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxMu7-0005Sn-R7; Thu, 18 Apr 2024 08:13:59 +0000
Received: by outflank-mailman (input) for mailman id 708106;
 Thu, 18 Apr 2024 08:13:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxMu6-0005Sh-KY
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 08:13:58 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99e25a9e-fd5b-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 10:13:56 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-418e4cd1fecso2783025e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 01:13: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
 y18-20020a5d4ad2000000b0034a0d3c0715sm1025811wrs.50.2024.04.18.01.13.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 01:13:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99e25a9e-fd5b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713428035; x=1714032835; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=u/QFEkzQtkqWOX/3y1fSOehqDrOYjutE6TZyM81YF1c=;
        b=B4EIVWrBCywh+0aTtz0GFvI6OKwYBhrX/E7/YqO4h1ZWO2EeXLWJhftnZunSrFN3/+
         rd36iKhtjCYj7qEY6fnp40XUbpV35mIze3P5MFGndfseeIkafw5P3a8Z6aAYdyJCp74r
         Ah9epqjnHj802xgV222PzN42NIE2pmgtTXszlWV7zH3eVqo9Ov5qQL8ROKD3e2JiY8Lt
         9L2weMph69Nrl4kJpuDLzAcJSGZWWStuS7ZgKpXigZziWU5f537i+JWYLBGK0RqMIM7G
         PBm1MTB5bTSmQ4uRnyAlqCYIwA7EFFWsF3wfAUy9nIYyOtMbYYk9vJtdm6uM+oUzCPsc
         shvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713428035; x=1714032835;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=u/QFEkzQtkqWOX/3y1fSOehqDrOYjutE6TZyM81YF1c=;
        b=q4ulHMg+R9Sbwa9RHEzWwxJkz3w6xnWC148ucWFbJc2aK83Z+2B2QB2/K1Ss+aFdTQ
         Evl/BfenzoQFEGcKhhHXaXN7FM3RYhHuNTfd8L21lhPi4CK12q4rS3R5mMNCwp/h2rN0
         L2tHfOBHs3ccBqyLtYPNRs7gT/YGphDnfBywJfFHmNHvraJGWlN5h11T8Z7T9All7k8T
         0rhh6pGRZx02XiXsDe72cPpeH1aKAOehgFg00Al2z4qJO5/pDStqu3IIaHQVUD2OlYS3
         CbPfeKkzHvXDfx3ECe/LuCjqZzV3aXObGy262hmBjRCYayV9d+6AkekA90N04/zFHyVQ
         Ph+Q==
X-Forwarded-Encrypted: i=1; AJvYcCV4JwKnN3Y0SubeNHzeQtjVLrRGfztJLMunYabjKAxbn5eDu6zzYB1d/+lnhEacm8R9KZ3wuNiumvLT8bv8AKziXYmpOoe6X2tUMkMiraI=
X-Gm-Message-State: AOJu0YzP4kAVMYYkvzK0Igcg6vM6HGvmdSZsZPqPnEaLIwYKKu1Cz35Q
	J7jWZ8y3PanakKiGDFr/Zyi6yYGhGe7/l9ke8jaOzA3UFQ0w8+ZXKHI3mWHAtA==
X-Google-Smtp-Source: AGHT+IG1wLqJ77V65vA040SHaaeSkiMk6Q7kFikNs71sbW/4MD28QWUsvKQP0EuRt0pqJdDv1Usw2A==
X-Received: by 2002:a05:600c:3ba3:b0:418:de77:909e with SMTP id n35-20020a05600c3ba300b00418de77909emr934530wms.14.1713428035617;
        Thu, 18 Apr 2024 01:13:55 -0700 (PDT)
Message-ID: <b66ea826-f670-4a9d-89cb-4de6cb3ec9fc@suse.com>
Date: Thu, 18 Apr 2024 10:13:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] Implemented AMD SEV discovery and enabling.
Content-Language: en-US
To: Andrei Semenov <andrei.semenov@vates.fr>
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: <cover.1712759753.git.andrei.semenov@vates.fr>
 <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.04.2024 17:36, Andrei Semenov wrote:
> Signed-off-by: Andrei Semenov <andrei.semenov@vates.fr>

A couple more nits on top of what Andrew said. First: Please no patches
(which aren't blindingly trivial) without description.

> @@ -1030,6 +1031,54 @@ static void amd_check_erratum_1485(void)
>  	wrmsrl(MSR_AMD64_BP_CFG, val | chickenbit);
>  }
>  
> +#ifdef CONFIG_HVM
> +static void amd_enable_mem_encrypt(const struct cpuinfo_x86 *c)
> +{
> +	unsigned int  eax, ebx, ecx, edx;
> +	uint64_t syscfg;
> +
> +	if (!smp_processor_id()) {
> +
> +		cpuid_count(0x80000000,0,&eax, &ebx, &ecx, &edx);

No blank line above here please.

> +		if (eax <  0x8000001f)
> +			return;
> +
> +		cpuid_count(0x8000001f,0,&eax, &ebx, &ecx, &edx);
> +
> +		if (eax & 0x1)
> +			setup_force_cpu_cap(X86_FEATURE_SME);
> +
> +		if (eax & 0x2) {
> +			setup_force_cpu_cap(X86_FEATURE_SEV);

I guess this goes along with what Andrew said: Using synthetic features here
looks suspicious. These want to be recorded as an ordinary leaf.

> +			max_sev_asid = ecx;
> +			min_sev_asid = edx;
> +		}
> +
> +		if (eax & 0x3)
> +			pte_c_bit_mask = 1UL << (ebx & 0x3f);
> +	}
> +
> +	if (!(cpu_has_sme || cpu_has_sev))
> +		return;
> +
> +	if (!smp_processor_id()) {
> +		if (cpu_has_sev)

Two if()-s like these want folding, unless it is made clear that very
soon (see above as to the missing description) further content is going
to appear inside the outer one.

> +			printk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",

%#x is preferred over 0x%x.

> +			min_sev_asid, max_sev_asid);
> +	}
> +
> +	rdmsrl(MSR_K8_SYSCFG, syscfg);
> +
> +	if (syscfg & SYSCFG_MEM_ENCRYPT) {
> +		return;
> +	}

No need for braces in cases like this one.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 08:31:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 08:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708112.1106705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNAq-0001m5-8e; Thu, 18 Apr 2024 08:31:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708112.1106705; Thu, 18 Apr 2024 08:31:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNAq-0001ly-5i; Thu, 18 Apr 2024 08:31:16 +0000
Received: by outflank-mailman (input) for mailman id 708112;
 Thu, 18 Apr 2024 08:31: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxNAo-0001lq-Og
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 08:31:14 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 034f8474-fd5e-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 10:31:12 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-416a8ec0239so3389395e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 01: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
 l9-20020a1c7909000000b0041668053ca9sm5221792wme.0.2024.04.18.01.31.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 01: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: 034f8474-fd5e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713429071; x=1714033871; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eT9Md9JLobjMIkhFtaJ0Znjb8WrUtQm7VzYLZQ4RmiM=;
        b=V5GPaUwHbfvpKGDZ+fubuzYn509B5rL2lyaXBLiC1TlWSBdbEiqX22PNq0K1YcMEP7
         zJg0ZD36njgrnXUWEBKqjaID0gsuU4lM0uRLKyQ7u0BS5K2f/7RGWb1hynnPVBfcknr0
         MuXTpDM5q/rIm/JDKGG4qm6Qr/MUTia7QATpRoADX83J018v39vp2+GjLS9/BWunuj+p
         nVcDYH9HmUq4e2fE+xO0eilo+am7zPoa1Yd6VJYACqFOyfYXKZPu2nOGp6LVlerrvmDN
         vkEdk4BFDpGVHHdDUOSbxtzlFtqhcFTB6g6b6AzFMtNPnMOl2P/Oj/CE2JhNJX595yM5
         SBeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713429071; x=1714033871;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eT9Md9JLobjMIkhFtaJ0Znjb8WrUtQm7VzYLZQ4RmiM=;
        b=fMuo7aVTdqFsi72AxgeVc17foSlxkdhdnla/uBtX5Rs56YYQTiM4YIVjWSe7Ov2T50
         PCEQ90ikteUwJ5y59EHATFG9fZsgwpK0c9hYVdCPB1FvneT3O6BdwD90CEh3RXUb9g0i
         tUcha+YODuTJkZFtztUnNjqCaXT0/9ioo+dQKxfnsvQWRtC6VCF1H6fL1eFR6QzF5ZPM
         VxsDdM/aTsDAtRY5rT343i9CBM20ue40L0P/KiAYUQJX0bQOs7920sv2M86pIaZvdtqu
         jyKd2bALNfkhKhiablDmB8GvTrkNw1qbqlX4r6HJvtExsJjxxh4aM7Lx1CL6m2KXEEgB
         jiBQ==
X-Forwarded-Encrypted: i=1; AJvYcCWjckRx9Um1X80DQFHfhe62KuVKtKRWJwJlnVQfvMTCJfK/8L21EZIardnoCWKiX2LwM3VnnNMCWHPbnWWZSBUDFCEPwGYtJ/aNPcOaaLg=
X-Gm-Message-State: AOJu0YxDTUy6iFSR2dbaom9Bv7EX0O/KGKiZicCIIECyTXAuMhddrxLD
	Zy9StS2HMNc2TN1Wz6/9JR4gt3bZ8R2MBTQdy49ERfUvdyZAhcZdL2Zk3By92A==
X-Google-Smtp-Source: AGHT+IEX/UwLo7EOyOhfOhVoJ1zS7go8PQi303SGBXsX4FWC6tJPMjYpq/e572SLIP/eTI8sfprQmw==
X-Received: by 2002:a05:600c:5116:b0:418:3d59:c13a with SMTP id o22-20020a05600c511600b004183d59c13amr1129064wms.9.1713429071390;
        Thu, 18 Apr 2024 01:31:11 -0700 (PDT)
Message-ID: <00da0528-d63e-4777-b470-df6a7404cc6e@suse.com>
Date: Thu, 18 Apr 2024 10:31:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] Implemented Amd Secure Processor device driver
Content-Language: en-US
To: Andrei Semenov <andrei.semenov@vates.fr>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1712759753.git.andrei.semenov@vates.fr>
 <8c9627ef69e8d809efcb93b50fc34474f2b0ba7f.1712759753.git.andrei.semenov@vates.fr>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8c9627ef69e8d809efcb93b50fc34474f2b0ba7f.1712759753.git.andrei.semenov@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.04.2024 17:36, Andrei Semenov wrote:
> Signed-off-by: Andrei Semenov <andrei.semenov@vates.fr>

Again a few nits on top of Andrew's remarks:

> --- /dev/null
> +++ b/xen/arch/x86/include/asm/psp-sev.h
> @@ -0,0 +1,655 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * AMD Secure Encrypted Virtualization (SEV) driver interface
> + *
> + * Copyright (C) 2016-2017 Advanced Micro Devices, Inc.
> + *
> + * Author: Brijesh Singh <brijesh.singh@amd.com>
> + *
> + * SEV API spec is available at https://developer.amd.com/sev
> + */
> +
> +#ifndef __PSP_SEV_H__
> +#define __PSP_SEV_H__
> +
> +#include <xen/types.h>
> +
> +/**
> + * SEV platform and guest management commands
> + */
> +enum sev_cmd {
> +	/* platform commands */
> +	SEV_CMD_INIT			= 0x001,

>From the looks of it (style) this file may be coming from Linux. Any file
take from somewhere wants to have its origin specified precisely, to aid
in future updating. (Once again, an empty description is not acceptable
here anyway.)

> --- /dev/null
> +++ b/xen/drivers/crypto/Kconfig
> @@ -0,0 +1,10 @@
> +config AMD_SP
> +        bool "AMD Secure Processor" if EXPERT
> +        depends on X86
> +        default n

No need for this line.

> --- /dev/null
> +++ b/xen/drivers/crypto/asp.c
> @@ -0,0 +1,808 @@
> +#include <xen/init.h>
> +#include <xen/pci.h>
> +#include <xen/list.h>
> +#include <xen/tasklet.h>
> +#include <xen/pci_ids.h>
> +#include <xen/delay.h>
> +#include <xen/timer.h>
> +#include <xen/wait.h>
> +#include <xen/smp.h>
> +#include <asm/msi.h>
> +#include <asm/system.h>
> +#include <asm/psp-sev.h>
> +
> +/*
> +TODO:
> +-  GLOBAL:
> +     - add command line params for tunables
> + - INTERRUPT MODE:
> +    - CET shadow stack: adapt #CP handler???
> +    - Serialization: must be done by the client? adapt spinlock?
> + */
> +
> +#define PSP_CAPABILITY_SEV                      (1 << 0)
> +#define PSP_CAPABILITY_TEE                      (1 << 1)
> +#define PSP_CAPABILITY_PSP_SECURITY_REPORTING   (1 << 7)
> +#define PSP_CAPABILITY_PSP_SECURITY_OFFSET      8
> +
> +#define PSP_INTSTS_CMD_COMPLETE       (1 << 1)
> +
> +#define SEV_CMDRESP_CMD_MASK          0x7ff0000
> +#define SEV_CMDRESP_CMD_SHIFT         16
> +#define SEV_CMDRESP_CMD(cmd)          ((cmd) << SEV_CMDRESP_CMD_SHIFT)
> +#define SEV_CMDRESP_STS_MASK          0xffff
> +#define SEV_CMDRESP_STS(x)            ((x) & SEV_CMDRESP_STS_MASK)
> +#define SEV_CMDRESP_RESP              (1 << 31)

(1u << 31)

> +#define SEV_CMDRESP_IOC               (1 << 0)
> +
> +#define ASP_CMD_BUFF_SIZE    0x1000
> +#define SEV_FW_BLOB_MAX_SIZE 0x4000
> +
> +/*
> + * SEV platform state
> + */
> +enum sev_state {
> +        SEV_STATE_UNINIT                = 0x0,
> +        SEV_STATE_INIT                  = 0x1,
> +        SEV_STATE_WORKING               = 0x2,
> +        SEV_STATE_MAX

Too deep indentation here.

> +};
> +
> +struct sev_vdata {
> +    const unsigned int cmdresp_reg;
> +    const unsigned int cmdbuff_addr_lo_reg;
> +    const unsigned int cmdbuff_addr_hi_reg;
> +};
> +
> +struct psp_vdata {
> +    const unsigned short   base_offset;
> +    const struct sev_vdata *sev;
> +    const unsigned int feature_reg;
> +    const unsigned int inten_reg;
> +    const unsigned int intsts_reg;
> +    const char* name;
> +};
> +
> +static struct sev_vdata sevv1 = {
> +    .cmdresp_reg         = 0x10580,     /* C2PMSG_32 */
> +    .cmdbuff_addr_lo_reg = 0x105e0,     /* C2PMSG_56 */
> +    .cmdbuff_addr_hi_reg = 0x105e4,     /* C2PMSG_57 */
> +};
> +
> +static struct sev_vdata sevv2 = {
> +    .cmdresp_reg         = 0x10980,     /* C2PMSG_32 */
> +    .cmdbuff_addr_lo_reg = 0x109e0,     /* C2PMSG_56 */
> +    .cmdbuff_addr_hi_reg = 0x109e4,     /* C2PMSG_57 */
> +};
> +
> +static struct psp_vdata pspv1 = {
> +    .base_offset = PCI_BASE_ADDRESS_2,
> +    .sev         = &sevv1,
> +    .feature_reg = 0x105fc,     /* C2PMSG_63 */
> +    .inten_reg   = 0x10610,     /* P2CMSG_INTEN */
> +    .intsts_reg  = 0x10614,     /* P2CMSG_INTSTS */
> +    .name = "pspv1",
> +};
> +
> +static struct psp_vdata pspv2 = {
> +    .base_offset = PCI_BASE_ADDRESS_2,
> +    .sev         = &sevv2,
> +    .feature_reg = 0x109fc,     /* C2PMSG_63 */
> +    .inten_reg   = 0x10690,     /* P2CMSG_INTEN */
> +    .intsts_reg  = 0x10694,     /* P2CMSG_INTSTS */
> +    .name = "pspv2",
> +};
> +
> +static struct psp_vdata pspv4 = {
> +    .base_offset = PCI_BASE_ADDRESS_2,
> +    .sev         = &sevv2,
> +    .feature_reg = 0x109fc,     /* C2PMSG_63 */
> +    .inten_reg   = 0x10690,     /* P2CMSG_INTEN */
> +    .intsts_reg  = 0x10694,     /* P2CMSG_INTSTS */
> +    .name = "pspv4",
> +};
> +
> +static struct psp_vdata pspv6 = {
> +    .base_offset =  PCI_BASE_ADDRESS_2,
> +    .sev         = &sevv2,
> +    .feature_reg = 0x109fc,     /* C2PMSG_63 */
> +    .inten_reg   = 0x10510,     /* P2CMSG_INTEN */
> +    .intsts_reg  = 0x10514,     /* P2CMSG_INTSTS */
> +    .name = "pspv6",
> +};
> +
> +struct amd_sp_dev
> +{
> +    struct list_head list;
> +    struct pci_dev   *pdev;
> +    struct  psp_vdata *vdata;
> +    void    *io_base;
> +    paddr_t io_pbase;
> +    size_t  io_size;
> +    int     irq;
> +    int     state;
> +    void* cmd_buff;
> +    uint32_t cbuff_pa_low;
> +    uint32_t cbuff_pa_high;
> +    unsigned int capability;
> +    uint8_t api_major;
> +    uint8_t api_minor;
> +    uint8_t build;
> +    int     intr_rcvd;
> +    int     cmd_timeout;
> +    struct timer cmd_timer;
> +    struct waitqueue_head cmd_in_progress;
> +};
> +
> +LIST_HEAD(amd_sp_units);
> +#define for_each_sp_unit(sp) \
> +    list_for_each_entry(sp, &amd_sp_units, list)
> +
> +static spinlock_t _sp_cmd_lock = SPIN_LOCK_UNLOCKED;
> +
> +static struct amd_sp_dev *amd_sp_master;
> +
> +static void do_sp_irq(void *data);
> +static DECLARE_SOFTIRQ_TASKLET(sp_irq_tasklet, do_sp_irq, NULL);
> +
> +static bool force_sync = false;
> +static unsigned int asp_timeout_val = 30000;
> +static unsigned long long asp_sync_delay = 100ULL;
> +static int asp_sync_tries = 10;
> +
> +static void sp_cmd_lock(void)
> +{
> +    spin_lock(&_sp_cmd_lock);
> +}
> +
> +static void sp_cmd_unlock(void)
> +{
> +    spin_unlock(&_sp_cmd_lock);
> +}
> +
> +static int sev_cmd_buffer_len(int cmd)
> +{
> +    switch (cmd) {
> +        case SEV_CMD_INIT:                      return sizeof(struct sev_data_init);

No mix of styles please: Either you retain Linux style (assuming the
file again comes from there), or you fully switch to Xen style.
There are other style issues also further down; please go through
and check everything again.

> +        case SEV_CMD_INIT_EX:                   return sizeof(struct sev_data_init_ex);
> +        case SEV_CMD_PLATFORM_STATUS:           return sizeof(struct sev_user_data_status);
> +        case SEV_CMD_PEK_CSR:                   return sizeof(struct sev_data_pek_csr);
> +        case SEV_CMD_PEK_CERT_IMPORT:           return sizeof(struct sev_data_pek_cert_import);
> +        case SEV_CMD_PDH_CERT_EXPORT:           return sizeof(struct sev_data_pdh_cert_export);
> +        case SEV_CMD_LAUNCH_START:              return sizeof(struct sev_data_launch_start);
> +        case SEV_CMD_LAUNCH_UPDATE_DATA:        return sizeof(struct sev_data_launch_update_data);
> +        case SEV_CMD_LAUNCH_UPDATE_VMSA:        return sizeof(struct sev_data_launch_update_vmsa);
> +        case SEV_CMD_LAUNCH_FINISH:             return sizeof(struct sev_data_launch_finish);
> +        case SEV_CMD_LAUNCH_MEASURE:            return sizeof(struct sev_data_launch_measure);
> +        case SEV_CMD_ACTIVATE:                  return sizeof(struct sev_data_activate);
> +        case SEV_CMD_DEACTIVATE:                return sizeof(struct sev_data_deactivate);
> +        case SEV_CMD_DECOMMISSION:              return sizeof(struct sev_data_decommission);
> +        case SEV_CMD_GUEST_STATUS:              return sizeof(struct sev_data_guest_status);
> +        case SEV_CMD_DBG_DECRYPT:               return sizeof(struct sev_data_dbg);
> +        case SEV_CMD_DBG_ENCRYPT:               return sizeof(struct sev_data_dbg);
> +        case SEV_CMD_SEND_START:                return sizeof(struct sev_data_send_start);
> +        case SEV_CMD_SEND_UPDATE_DATA:          return sizeof(struct sev_data_send_update_data);
> +        case SEV_CMD_SEND_UPDATE_VMSA:          return sizeof(struct sev_data_send_update_vmsa);
> +        case SEV_CMD_SEND_FINISH:               return sizeof(struct sev_data_send_finish);
> +        case SEV_CMD_RECEIVE_START:             return sizeof(struct sev_data_receive_start);
> +        case SEV_CMD_RECEIVE_FINISH:            return sizeof(struct sev_data_receive_finish);
> +        case SEV_CMD_RECEIVE_UPDATE_DATA:       return sizeof(struct sev_data_receive_update_data);
> +        case SEV_CMD_RECEIVE_UPDATE_VMSA:       return sizeof(struct sev_data_receive_update_vmsa);
> +        case SEV_CMD_LAUNCH_UPDATE_SECRET:      return sizeof(struct sev_data_launch_secret);
> +        case SEV_CMD_DOWNLOAD_FIRMWARE:         return sizeof(struct sev_data_download_firmware);
> +        case SEV_CMD_GET_ID:                    return sizeof(struct sev_data_get_id);
> +        case SEV_CMD_ATTESTATION_REPORT:        return sizeof(struct sev_data_attestation_report);
> +        case SEV_CMD_SEND_CANCEL:               return sizeof(struct sev_data_send_cancel);
> +        default:                                return 0;
> +    }
> +
> +    return 0;
> +}
> +
> +static void invalidate_cache(void *unused)
> +{
> +    wbinvd();
> +}
> +
> +int _sev_do_cmd(struct amd_sp_dev *sp, int cmd, void *data, int *psp_ret)
> +{
> +    unsigned int cbuff_pa_low, cbuff_pa_high, cmd_val;
> +    int buf_len, cmdresp, rc;
> +
> +
> +    buf_len = sev_cmd_buffer_len(cmd);
> +
> +
> +    if ( data )

No double blank lines please, anywhere.

> +static void do_sp_cmd_timer(void *data)
> +{
> +    struct amd_sp_dev *sp = (struct amd_sp_dev*)data;

Please avoid casts whenever possible.

> +static int __init amd_sp_probe(void)
> +{
> +    int bus = 0, devfn = 0, rc;
> +    struct  amd_sp_dev *sp;
> +
> +     if ( !boot_cpu_has(X86_FEATURE_SEV) )
> +     {
> +	 dprintk(XENLOG_INFO, "AMD SEV isn't supported on the platform\n");
> +	 return 0;
> +     }
> +
> +     if ( boot_cpu_has(X86_FEATURE_XEN_SHSTK) )
> +     {
> +	 force_sync = true;
> +
> +	 dprintk(XENLOG_INFO,"AMD SEV: CET-SS detected - sync mode forced\n");
> +     }
> +
> +    for ( bus = 0; bus < 256; ++bus )
> +        for ( devfn = 0; devfn < 256; ++devfn )
> +        {
> +            struct pci_dev *pdev;

const?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 08:33:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 08:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708115.1106714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNDI-0002QN-LG; Thu, 18 Apr 2024 08:33:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708115.1106714; Thu, 18 Apr 2024 08:33:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNDI-0002QG-IX; Thu, 18 Apr 2024 08:33:48 +0000
Received: by outflank-mailman (input) for mailman id 708115;
 Thu, 18 Apr 2024 08:33:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qd9Q=LX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rxNDI-0002QA-8h
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 08:33:48 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f118ab5-fd5e-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 10:33:46 +0200 (CEST)
Received: from CH0PR03CA0218.namprd03.prod.outlook.com (2603:10b6:610:e7::13)
 by SN7PR12MB7833.namprd12.prod.outlook.com (2603:10b6:806:344::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Thu, 18 Apr
 2024 08:33:42 +0000
Received: from CH1PEPF0000AD74.namprd04.prod.outlook.com
 (2603:10b6:610:e7:cafe::b6) by CH0PR03CA0218.outlook.office365.com
 (2603:10b6:610:e7::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.34 via Frontend
 Transport; Thu, 18 Apr 2024 08:33:42 +0000
Received: from SATLEXMB04.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.7452.22 via Frontend Transport; Thu, 18 Apr 2024 08:33:41 +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.35; Thu, 18 Apr
 2024 03:33: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.35; Thu, 18 Apr
 2024 03:33: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.35 via Frontend
 Transport; Thu, 18 Apr 2024 03:33: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: 5f118ab5-fd5e-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e3cf/ZIL85VzW3ebUzFYRC3xXD9gzk6gpIu4AF9lx8oyCeXuKRZWNoYq5tjilDXUt1VZbw/xJ6apQdZt2l+E70yzMmT/FdIxVFypOLfTd2pR4X80C16n6FNLO9uN4vKqXEesMBoy0IFX65z2vYEa//yA1Hb44iE7GBTYYdXoO8+p6/BL6prM4Kk9EK6N4eubD+CEUVj+UFoxbW2/M21CMgrpfM0R9HKK+0lMDBYuCLbdIOtAmGKsstsiTfCNgOhYD0eBdu35CHroe4Pvn1vL3r6kFXQuocWuNaGnKOXTcABeIjxYA6XxIQ4E9IgNcngTzgGe3Awqa5WwVv8s6NK6ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uWthPApBIm8sXStuRh5N72puBOUMJ3gy6Syd0ri4G3Q=;
 b=enU4P4ycmnk5nryfNukskfDgyXTtzkgHd6h1SyQkC47k9M7JfaFhsN8jWu8DM9fqTLi8HjncDdXheXLstbuuemK3GkuQy0q4jZJzaoCVt2r+3cuXOd7OY4SD5OJ3cZzJNvhwmXi7E0BeGg+srqJ9fwPUvdFddZhsqqJe6zeUunQnWcyrMBcaWm+rzymtoz4/Y06Qci6fosvDx5i9WLPCCII3GhJ1QLNrLiQidBH2xjLivNklZrva+WJBmCbCSBK2qA/dAFn8D4Aw9YnerCEBFN2XT/NjDixDspJCLoLNflrStAhqBi6zW7Ybqi3hi465QcfNPLDO6cZHfSo4bVA3hw==
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=uWthPApBIm8sXStuRh5N72puBOUMJ3gy6Syd0ri4G3Q=;
 b=L5Ix00Tio8rkasoDxT0duE5GCA/A8xsxk+kESJIezD749LTH7aDyFeDeyuZWOlEUymivbJwnU3HRVUyF4ZLM3XpvU3SAC3jg+E12SlpGC4PqtZ+nzUDLmA1bRsz7kKmRRLPDREzIdCnoE7m0QGONuyhFlWf3lp0cLPWeJBFvsIY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <6609d917-e55d-42c5-894f-927778ab3064@amd.com>
Date: Thu, 18 Apr 2024 10:33:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/12] xen/arm: Avoid code duplication in
 find_unallocated_memory
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-7-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240418073652.3622828-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD74:EE_|SN7PR12MB7833:EE_
X-MS-Office365-Filtering-Correlation-Id: 984a223b-6de0-496a-80e1-08dc5f8240ee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hO9lwG40xj4JC/ASOvsIsnr3jya/fk9/Qfkj063tc8RyMLnX8bE/Jne84xi+oIpXcDMD+A9kAm8ulYuVktxr4D3QEZ2F31It4lEOYEPJCUJRUUnL8dHhCGTC4/DvWtgj/P3APSRl3wCMX4IA5rY/Z9AR7gzfe8UCeiN+vbnEQ6V9Ey6TNpCad/mSd3Fu0FEFQYyqXWycrCelFEdsq5AifeKWptO3qYZouSB/jDnT78prE6gsDezFjO+Khy7SYNhf9QXKrx7M+Tz+zPi+wNjHKLn9VM5Lc037LAWEn64hRmvf+n6E3xGgOL7NP6yp3h7aBc3JmIbY2FUYk8IWnByOwrD4hP49xTkM0txfVvWJEIshcFOVHVMj+tqJP5h1SNnRSwoN3UXTnm+uZioZAUzxATIlpk6D9ArAp+B/h7+7rSVHKjEWe9/osPDAPeDbdZ/6wF4jHHE4y3J5teBCwy8shzDG4vnJiSs9zO2TnLhP5DlFmERXM/LdU5QFF8qogwWe9RK0BEGZ+O5IRlFST+xxzQJNs2BURFh7vurZyzAiwy9OOxZisBQM675Z79q1lk297yeFeVu9lceTtzBIurEXAZXhZAksNfmoBcSblpupw41SegMiXROYAHSPREa/VfJO7mDXPKqnmEJsl1JBZ0qLawcdAgmcHsVdV7YDIaTAvdv65+c/uc4PA+Y43aC+1DK3MWbpBsp3bDd8yG9E5AzbLkjRIVSF6CXVik8U+3naBuKvuTjh3iTWP09NhRtyToXI
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 08:33:41.8902
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 984a223b-6de0-496a-80e1-08dc5f8240ee
X-MS-Exchange-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:
	CH1PEPF0000AD74.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7833

Hi Luca,

On 18/04/2024 09:36, Luca Fancellu wrote:
> 
> 
> The function find_unallocated_memory is using the same code to
> loop through 2 structure of the same type, in order to avoid
> code duplication, rework the code to have only one loop that
> goes through all the structures, this will be used to avoid
> duplication when the static shared memory banks will be introduced
> as a separate structure from reserved memory.
> 
> Take the occasion to add the error code to the error message in
> case 'rangeset_remove_range' fails.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 08:44:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 08:44:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708121.1106724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNNP-0005Tn-Ju; Thu, 18 Apr 2024 08:44:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708121.1106724; Thu, 18 Apr 2024 08: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 1rxNNP-0005Tg-H9; Thu, 18 Apr 2024 08:44:15 +0000
Received: by outflank-mailman (input) for mailman id 708121;
 Thu, 18 Apr 2024 08:44: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxNNO-0005TY-AM
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 08:44:14 +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 d2e9a973-fd5f-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 10:44:09 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2da0b3f7ad2so8530791fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 01:44: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
 h19-20020a05600c351300b00414659ba8c2sm1922030wmq.37.2024.04.18.01.44.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 01:44: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: d2e9a973-fd5f-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713429849; x=1714034649; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qrzzx0QyqjFOe7CSO6nFVxybZ3cFv/20nhPDhgcV50I=;
        b=fX1vP3mQds3WIllPB8vr4WDKxHm4kpg0Ype6OlPueHC0dH7MTG7IA6RxltOG9RxH8Z
         F9iUzunJYREeqEciQy2NFKphFLKVARaiMq++5Z15rJ+W7h9EqQ8JJqvvRlIq9On0qfwG
         AGaolhEBJciP3eqQHL/Tmkx8CB6e1G5Vt2tuy5wPE7l01eTQsO8qw0D0+bEu8tNeD4++
         Q2hUQVLGABHq6h8BwbBJ5iFjde6yYPZ+thlIxLIJu+iaRxwNqST60lkSGunCpL3C7fLy
         QDSsgHgW4VWPa5O3wU5rYgNyBOZKF84YMkTFQDbzcIzvFc+sTdIw/ku83+MgSIyQquGI
         ER3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713429849; x=1714034649;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qrzzx0QyqjFOe7CSO6nFVxybZ3cFv/20nhPDhgcV50I=;
        b=pfuQ3cWEmfKW0wAQ6rf1zPAtrQhCnVNHIcY4dQgue3Hf6BPO2t8e8OEyE4xdmB/fis
         1uAaV5iaPNFLdwaChs/mFYpZpaV5TGO9nRnrHhuUl73uPWROL2AU3ZX0pN3CdV5KhY0P
         vHLp4RUZ0mHBLdVAo202RLhP87Vmycx/8Ybu2IB/SW/9wHT7cj+H0Ux94qLqjmz7Ji1w
         j//y7u9u3+vZhYANqmgg5UitDEcFfa3vCQTozLA8uFLIT6RmzqZiT08y6u0Btx/pb4mn
         Ed0QmPg91HumF2H9IC8i2Rr+y25bKuIrcejuss7qmL/H1T+W36OZMHvR+uYxOg8jL4u2
         lJug==
X-Forwarded-Encrypted: i=1; AJvYcCW/G6SL7x57OLmx7ggCv9WeOjSgaJccu+Tcqt6hgsGTufUXOPBqXShLSM7xH/cECotShAin4zmkDznvoPqfo8wZ0RzdrjLPjasQkHmihDQ=
X-Gm-Message-State: AOJu0YwhOKiHB9fGczxTvRFz0nGDU3HasAWIDIeIS4QNTj5eXjuWfoqb
	mClrD6PtYU49s7xWFv/tpchhtx3VF/BLCK2V25IPYHiE4c600Hc2WUrBLrusXg==
X-Google-Smtp-Source: AGHT+IF7OH/rTpiYai0pd0fUuuedBY0W3D8wfRk11+KTbDHuavYB2ENcurjels62MhqMjP60o0kb+Q==
X-Received: by 2002:a2e:9410:0:b0:2d8:5a5e:7c5e with SMTP id i16-20020a2e9410000000b002d85a5e7c5emr996290ljh.22.1713429849204;
        Thu, 18 Apr 2024 01:44:09 -0700 (PDT)
Message-ID: <d45c35c8-7a2e-4d91-9214-32be60e5d020@suse.com>
Date: Thu, 18 Apr 2024 10:44:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] livepatch: refuse to resolve symbols that belong to init
 sections
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240412080722.75971-1-roger.pau@citrix.com>
 <a1444b09-ed0e-47d0-ad21-2b91077abbc8@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a1444b09-ed0e-47d0-ad21-2b91077abbc8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.04.2024 12:59, Andrew Cooper wrote:
> On 12/04/2024 9:07 am, Roger Pau Monne wrote:
>> @@ -310,6 +313,20 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>>                      break;
>>                  }
>>              }
>> +            /*
>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
>> +             * livepatch payloads don't have init sections or equivalent.
>> +             */
>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
>> +                      st_value <= (uintptr_t)&__init_end )
> 
> I think you want just < here.  A label at __init_end is the start of the
> next section.

May be, but not "is". It could be a reference to __init_end itself, for
example. Similarly st_value == __init_begin could be a reference to
the section end of the earlier section. I'm afraid the checks here are
always going to be fuzzy, and hence the description needs to discuss
the policy used as to what is permitted and what is not.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:00:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:00:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708128.1106735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNd2-0001V0-24; Thu, 18 Apr 2024 09:00:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708128.1106735; Thu, 18 Apr 2024 09: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 1rxNd1-0001Ut-Ve; Thu, 18 Apr 2024 09:00:23 +0000
Received: by outflank-mailman (input) for mailman id 708128;
 Thu, 18 Apr 2024 09:00:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxNd0-0001Um-F7
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:00:22 +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 15108ab2-fd62-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 11:00:19 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-418e4cd1ffaso2959315e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 02:00: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
 bh27-20020a05600c3d1b00b004185d1a4512sm1963451wmb.13.2024.04.18.02.00.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 02:00: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: 15108ab2-fd62-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713430819; x=1714035619; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cY+lL+dot9zH5rZRmhh2/gelnpRrMre65ScTOchI7Fo=;
        b=VjAB13K+zvCFksxTz9jeaNTHy3gu66EUhsbXPjESGD5AKmJgVmuUUmeJBxYFDcRaEi
         2qbb1trFBKAeksbqnrNOepPGLtc175WBWntCr4c/nMgFJXUrcnfsIcudHtQyVHZ8MrGB
         Gj5jS8q1OixICavHRcGSFZ9DYOcUP5kXUNpdcGULKH6X4Adc0Ly9LsE1Ja5sv389cPxB
         3CkxUT+a+eq4oOPWIirG10IgzslFTM1pLSY0Gf2qwdc9uOsd0GXh9oCYOq2BRkAJyvkI
         KAewdVesvX0UAdDKvAHXl2M/mysH+Arbd5bw2rFLeB6M/O7sSz8lKaxTV5E8d+cBPa+k
         opWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713430819; x=1714035619;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=cY+lL+dot9zH5rZRmhh2/gelnpRrMre65ScTOchI7Fo=;
        b=DQJt4YmAYHakgpeJyY9omayEeEJgfnPhqFguPeOB7wp0GbcqIls8M4nxUS564A++iZ
         yTvhLO8aKaSgvk5GLXftoBxA9OYE9zaXsQTA1Umk7oA/x+b5zFUiYPaNANL67bkNF1/y
         vanSt5tiXbb3OBGTuyELv8aqTEvZ6kce1hNyk8uwTR10SxIWftveK3zIYr/guuXZnWiZ
         wnuHEZz0YjKgFiMTNoES8f7wzbAGdndk99wB9tBy0VKNfgA6t2oS5x3QvtfgKnGm/x4c
         mD8Gxen6Xo6vEFShceTkQeiQ5iOEvcsvaeRYFafDqChbhkaDF0NBpH1kb3C+/HU+pNRQ
         cHag==
X-Forwarded-Encrypted: i=1; AJvYcCXo4twbJQMreBOZeFjqRXWgb0X7twiGlk7ytN7Z+9yHWs8vQrXoShA911Zh3pmHmAfZY4jv0ChHWv+zCGzlYY0sLj6qeI/5RlqQeZFzenc=
X-Gm-Message-State: AOJu0Yyj82MeKdbHFK88pFuaSowzMvThQZsJdQNTuXwA6v9HNgdOi6zf
	hBpXLesUstxXV2JNiHvP6VsIRH6zfl7HrCCE0BPWPszuAEXXE74X4AhBc1UU2Q==
X-Google-Smtp-Source: AGHT+IHwbjEby81ZSIf+CjRiBrw9GzjLuBsTladzGxLcXSDYsLN2H1F/OJ8WMcXpQ3hqBlyP7+UNQA==
X-Received: by 2002:a05:600c:46cc:b0:418:b9fa:43e9 with SMTP id q12-20020a05600c46cc00b00418b9fa43e9mr1612782wmo.29.1713430819270;
        Thu, 18 Apr 2024 02:00:19 -0700 (PDT)
Message-ID: <21436a56-f9e0-4700-8216-3bfa4094cc01@suse.com>
Date: Thu, 18 Apr 2024 11:00:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] xen/xlat: Sort structs per file
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
 <20240415154155.2718064-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240415154155.2718064-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.04.2024 17:41, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

While I don't mind the change as is, "sort" is ambiguous here in one regard.
Personally I'd prefer if those parts of the change were dropped, but I can
live with the sorting criteria being spelled out in the description:

> @@ -40,13 +40,6 @@
>  
>  ?	cpu_offline_action		arch-x86/xen-mca.h
>  ?	mc				arch-x86/xen-mca.h
> -?	mcinfo_bank			arch-x86/xen-mca.h
> -?	mcinfo_common			arch-x86/xen-mca.h
> -?	mcinfo_extended			arch-x86/xen-mca.h
> -?	mcinfo_global			arch-x86/xen-mca.h
> -?	mcinfo_logical_cpu		arch-x86/xen-mca.h
> -?	mcinfo_msr			arch-x86/xen-mca.h
> -?	mcinfo_recovery			arch-x86/xen-mca.h
>  !	mc_fetch			arch-x86/xen-mca.h
>  ?	mc_info				arch-x86/xen-mca.h
>  ?	mc_inject_v2			arch-x86/xen-mca.h
> @@ -54,6 +47,13 @@
>  ?	mc_msrinject			arch-x86/xen-mca.h
>  ?	mc_notifydomain			arch-x86/xen-mca.h
>  !	mc_physcpuinfo			arch-x86/xen-mca.h
> +?	mcinfo_bank			arch-x86/xen-mca.h
> +?	mcinfo_common			arch-x86/xen-mca.h
> +?	mcinfo_extended			arch-x86/xen-mca.h
> +?	mcinfo_global			arch-x86/xen-mca.h
> +?	mcinfo_logical_cpu		arch-x86/xen-mca.h
> +?	mcinfo_msr			arch-x86/xen-mca.h
> +?	mcinfo_recovery			arch-x86/xen-mca.h
>  ?	page_offline_action		arch-x86/xen-mca.h

Imo this sorting was fine (at least one further instance below): Whether
underscore sorts ahead of lower case letters depends on how sorting is done.
I take you assume sorting as per the C locale, when the original sorting was
considering undercores to be separators, i.e. in a different character class
(together with e.g. dash or tilde).

When using C local sorting, I think arch-x86/xen-@arch@.h also would need
moving past arch-x86/xen.h (whereas right now all separators are deemed
equal and hence @ comes ahead of h which in turn is ahead of m).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:03:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:03:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708132.1106745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNg9-00027a-Gk; Thu, 18 Apr 2024 09:03:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708132.1106745; Thu, 18 Apr 2024 09:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNg9-00026j-D0; Thu, 18 Apr 2024 09:03:37 +0000
Received: by outflank-mailman (input) for mailman id 708132;
 Thu, 18 Apr 2024 09:03:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxNg7-000255-W6
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:03:35 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88b5e902-fd62-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 11:03:33 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-418e4cd1fecso3106675e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 02:03: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
 p6-20020a05600c468600b00418accde252sm1963488wmo.30.2024.04.18.02.03.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 02:03: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: 88b5e902-fd62-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713431013; x=1714035813; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=h67MkTp4n4uwUyqgd8d56K83qDhvt02GpXNo1Uh8nHI=;
        b=SYVt+RrEXbtr7MFCdZ2n28/hyJl28z4DVgWbVIQf461Y4sdo2B31GzmqOupck3XuVT
         FWDMoYJPbHhWOAD9VXcNMmYDIsUcq0vir/06uNUaFy7UFDtTk4XlrmGMsErPvHKPhiTy
         i2TzPNA3RFdMFJjHb+Fsa/3YQ9ze1FR6qf3ARyKOYXneHDaorGTTn9aPL6yukpcqhI+n
         CRls/xSmHo7x5hOQZHlENTa87zjW6pyhPo2x2OBj6bHCweYA0F9ls9NLZpiTIHL+3Jj5
         Z0BEKO+HI+RdJQsVjOSH5hDozFfftqJho55Z88Zc7Gqys21RYiVjJ7XwezxwuDq0O++b
         9HJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713431013; x=1714035813;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=h67MkTp4n4uwUyqgd8d56K83qDhvt02GpXNo1Uh8nHI=;
        b=wr9dPsWzHykXxDIvo4Xwkpfp1PvOxaNbaHoV5ZFM0z7sVQGGv8n15xYpYHkgNoZ11O
         b454JLEO/2btDejHIXuhX+dM+jtDiFKYMPJVPEwNrqH32fYL0NVbfUyWIdNxfdY0E/aj
         hgzArdTw4Y2bYVb6+T5ajVanZvuDUGN0eAqcpsVnmnP7tx2ML/DDtwOxyy3gKRMMJZ2g
         Tk0xh23rTWePaWSvJkVkSYotsIjYe94s0sdCZEBFeWUyL/7/Ao5wHLa/mHvJakHNc48X
         Fqu+rkPaGm9ond/zT3xm5GQIbsYQr+GzY25vhg0CLC2UNDu+yeu8rpF7sa63ammlH4O4
         4N5w==
X-Gm-Message-State: AOJu0YwGFoLJR7Un+EbtKnfOLG4+aB6xdBQvy000GBCVO2b5jRxYq/y3
	VJbv2CEgZUtGROyn4FiK9LR3vobA5tHefSLBqQC0MhzHufZq1atyA+6CCDagjw==
X-Google-Smtp-Source: AGHT+IEjm4Ae90jh80hDN54FKqG9SIHFv78PIWVrM2+PPhrHSKAikudA/sAheOKtPCzWJsk/Z4mvdA==
X-Received: by 2002:a05:600c:19c6:b0:418:dc26:1b61 with SMTP id u6-20020a05600c19c600b00418dc261b61mr1130724wmq.20.1713431013432;
        Thu, 18 Apr 2024 02:03:33 -0700 (PDT)
Message-ID: <ab27c255-fa41-42ea-85f2-5e8e7107b8ed@suse.com>
Date: Thu, 18 Apr 2024 11:03:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] xen/gnttab: Perform compat/native gnttab_query_size
 check
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
 <20240415154155.2718064-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2404151453400.997881@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404151453400.997881@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.04.2024 23:54, Stefano Stabellini wrote:
> On Mon, 15 Apr 2024, Andrew Cooper wrote:
>> This subop appears to have been missed from the compat checks.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: George Dunlap <George.Dunlap@citrix.com>
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Julien Grall <julien@xen.org>
>> ---
>>  xen/common/compat/grant_table.c | 4 ++++
>>  xen/include/xlat.lst            | 1 +
>>  2 files changed, 5 insertions(+)
>>
>> diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
>> index af98eade17c9..8a754055576b 100644
>> --- a/xen/common/compat/grant_table.c
>> +++ b/xen/common/compat/grant_table.c
>> @@ -30,6 +30,10 @@ CHECK_gnttab_unmap_grant_ref;
>>  CHECK_gnttab_unmap_and_replace;
>>  #undef xen_gnttab_unmap_and_replace
>>  
>> +#define xen_gnttab_query_size gnttab_query_size
>> +CHECK_gnttab_query_size;
>> +#undef xen_gnttab_query_size
>> +
>>  DEFINE_XEN_GUEST_HANDLE(gnttab_setup_table_compat_t);
>>  DEFINE_XEN_GUEST_HANDLE(gnttab_transfer_compat_t);
>>  DEFINE_XEN_GUEST_HANDLE(gnttab_copy_compat_t);
>> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
>> index b3befd9cc113..53a1bdfc533f 100644
>> --- a/xen/include/xlat.lst
>> +++ b/xen/include/xlat.lst
>> @@ -88,6 +88,7 @@
>>  !	gnttab_get_status_frames	grant_table.h
>>  ?	gnttab_get_version		grant_table.h
>>  ?	gnttab_map_grant_ref		grant_table.h
>> +?	gnttab_query_size		grant_table.h
>>  ?	gnttab_set_version		grant_table.h
>>  !	gnttab_setup_table		grant_table.h
>>  ?	gnttab_swap_grant_ref		grant_table.h
>  
> 
> I am no compat layer expert, but shouldn't there be something like:
> 
> #ifndef CHECK_gnttab_map_grant_ref
>     CASE(map_grant_ref);
> #endif
> 
> somewhere under compat_grant_table_op ?

It's there first in the group of similar constructs. Or do you mean a
counterpart thereof for query_size?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:13:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:13:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708137.1106756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNpW-0004jk-Cz; Thu, 18 Apr 2024 09:13:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708137.1106756; Thu, 18 Apr 2024 09:13:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNpW-0004jd-8q; Thu, 18 Apr 2024 09:13:18 +0000
Received: by outflank-mailman (input) for mailman id 708137;
 Thu, 18 Apr 2024 09:13: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=w8zc=LX=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rxNpV-0004jX-1h
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:13:17 +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 e20d75e7-fd63-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 11:13:14 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1713431586592716.0551202574748;
 Thu, 18 Apr 2024 02:13: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: e20d75e7-fd63-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713431588; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=BVIPTA/gYKCg6XooV5Cy2a3vOTMAVJahMLpCsrT9injHERKAmhbff9+Jz+yUpE8PQN45L2IOAIIeSKbyuQFwScWGAOp1WRyI7PIuVByCDNr/VVhuyPXHYaxpAIiNQtLF0actnBNPAyGDpKRI77HoZ8Rlu3TlNf7we4H3XTdbAro=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713431588; 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=AF+pTAuMiN9GaQGeP9RGtgEELN5HYws9F6xnd9HIG6I=; 
	b=KYm38qYZak6xHKgVlITYqVtTpIdL8GD52qfiq+2/f9g/PD3JFU4++/Czu6AaGKYonm76iAEDojrnNG64UHBZhy1iB5PDmQG5bTRongTyAis1pcrW9Dq0mW6OhVxjD57BhbhNFBF8wRprqSqGpodKK4cFDhZgwPa3F9Qv88jvwhU=
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=1713431588;
	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=AF+pTAuMiN9GaQGeP9RGtgEELN5HYws9F6xnd9HIG6I=;
	b=J524xsDAWV1VCvkvG6zblCXYHVtUsxjWFyvGO8vk3lZIIt+wuzo0CXfm87xlp/L2
	ejowXW4fiKJipmNXfhRwm6U2zk0nqgP0xONeeViNvQkw6Ei+7iGDk70mA45tw3Of1tZ
	GgnKXwHNSEfnZX+8jG5Xkx82dnlzvt0+AJUl3lm8=
Message-ID: <3ab847bd-b738-48b8-865b-62f7c488386b@apertussolutions.com>
Date: Thu, 18 Apr 2024 05:13:04 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <efb44106-832b-409a-a810-7821e830ac81@suse.com>
Content-Language: en-US
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: <efb44106-832b-409a-a810-7821e830ac81@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/18/24 03:36, Jan Beulich wrote:
> On 11.04.2024 21:24, Andrew Cooper wrote:
>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>> index 1bcb007395ba..9b4891731b8b 100644
>>> --- a/xen/common/gzip/gunzip.c
>>> +++ b/xen/common/gzip/gunzip.c
>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned long image_len)
>>>   
>>>   __init int perform_gunzip(char *output, char *image, unsigned long image_len)
>>>   {
>>> +    struct gzip_data gd;
>>>       int rc;
>>
>> By the end of this series,
>>
>> Reading symbols from xen-syms...
>> (gdb) p sizeof(struct gzip_data)
>> $1 = 2120
>>
>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
>> dynamically allocated, even in inflate.c, so I'd highly recommend doing
>> the same for this.
>>
>>
>> Also, could I nitpick the name and request:
>>
>> struct gzip_state *s;
> 
> Except: Why "gzip" when it's un-zipping state?

Gzip is the name of the algo/suite for which the code is moved under, 
and in typical fashion its structures are named after the feature they 
belong. Still, I went and looked at the other algos. I found two that 
have state tracking and yes, they do use the operation for the struct 
name and not the algo/feature under which they reside. If you want this 
yak shaved, I have no vested interest one way or another, I just need 
the decompressor to be re-entrant.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:13:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:13:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708139.1106764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNpr-0005BY-Ja; Thu, 18 Apr 2024 09:13:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708139.1106764; Thu, 18 Apr 2024 09:13:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNpr-0005BQ-Gx; Thu, 18 Apr 2024 09:13:39 +0000
Received: by outflank-mailman (input) for mailman id 708139;
 Thu, 18 Apr 2024 09:13: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxNpq-00051f-Lj
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:13:38 +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 f0af71fb-fd63-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 11:13:37 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-516d487659bso636023e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 02:13: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
 f8-20020adff8c8000000b0033e7b05edf3sm1323957wrq.44.2024.04.18.02.13.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 02:13: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: f0af71fb-fd63-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713431617; x=1714036417; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=v1cdEnsvzNbAl7qYThKaxpDhPXD4+FrGRjvFF/je6dM=;
        b=CYuwH3pnTc0FRhxoaesNsldZ0XzGT8v7Ike/yZPt/3+sCAVnBEKrXYecGk+kkA+yyy
         JlrcutYQCIG4r1PMy9Ozs27jNmc3Fx16pvddw8pJcGjKlsOHuirdycjZTXPjW1o2yHO1
         BaHVzjRchyxKBPQoYfu4/jhYUiKcFnjGpGqiJcucPv64UI4FJAvV53bR8EBc5xopFso3
         JK/Zwcb5EqR17Lytv+VFU43GlDB8Hk3M+EQSdMHGc3i20RTFvUcoCmIVT9TwBGNs/QKM
         n92hHIiIe6AhXK2P5Ew00X/Xi0aym+/dZwTyfMwMRCDMdn/tr438PVpKS9eRnGoUYsus
         6iOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713431617; x=1714036417;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=v1cdEnsvzNbAl7qYThKaxpDhPXD4+FrGRjvFF/je6dM=;
        b=RNp4kDJb7h5ivI2wKTl/ZkagOf/Ciw3WnOJ+om0B48n30FApgXbuOtcCKnEEGi9vq/
         Qko9bBID+WyFqSG+uLFiQVOiok3AIVJ+JIAbnfOdpz/xqDaqBrGuG8MLc3Fzo7L75HcY
         7J5D0IYiiutDIVREKBVP3tOv+/rEsvrUIZ1AAGgsFLPJf63kQKV7yo00PfvioxoB6diQ
         JKJH1DaJUs2rgP+i6aTulzzgjAutNXCt9lI3ldUTAAPWacVYBKWzfIAg3qkm0CwUijei
         zv1mPFMZCNbJI5aKXAwenJmg21dl3wgL933qSfkUZbWWgHcwT/7YZ/7QcGFIAgux64Ll
         jHXw==
X-Forwarded-Encrypted: i=1; AJvYcCWaYt0vFTs1bUxKqT4E1nLdCyCzYK9notNCc1x9Abju8Q2YM+32tFAXwA/b5eRUVmlmgCo/qVH2toYVoQMWDG5TMec2jdpQaziCb0KesM4=
X-Gm-Message-State: AOJu0YznVnavWpFzgYL87yoWXcXCTsknrawe1lfvV17yfAQbOuG3yR2G
	PVEdhnYAaU8K9iGfzGfUbVn/5mt2sEw4dKNYSPxPO887fTfT6eiAzdnS7WdxlA==
X-Google-Smtp-Source: AGHT+IGMBm0FQRKOskA8Ufq4GMXgRWEPLzx9XpwL5hb9b9dPPRZAiJfEXm6KEjbdfkTQ4PZMBDca+w==
X-Received: by 2002:a19:381a:0:b0:517:64ec:1251 with SMTP id f26-20020a19381a000000b0051764ec1251mr1048587lfa.15.1713431617233;
        Thu, 18 Apr 2024 02:13:37 -0700 (PDT)
Message-ID: <114562b9-1ab1-40be-bf23-0321a1c6cfe2@suse.com>
Date: Thu, 18 Apr 2024 11:13:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] xen/gnttab: Perform compat/native gnttab_query_size
 check
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
 <20240415154155.2718064-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240415154155.2718064-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.04.2024 17:41, Andrew Cooper wrote:
> This subop appears to have been missed from the compat checks.

Fixes: 5ce8fafa947c ("Dynamic grant-table sizing")

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

With the addition that I'm now sure Stefano meant (see the reply to him):
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:17:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708147.1106775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNtn-0006zs-4k; Thu, 18 Apr 2024 09:17:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708147.1106775; Thu, 18 Apr 2024 09:17:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNtn-0006zl-1K; Thu, 18 Apr 2024 09:17:43 +0000
Received: by outflank-mailman (input) for mailman id 708147;
 Thu, 18 Apr 2024 09:17:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxNtl-0006zf-S3
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:17:41 +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 80c0ad89-fd64-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 11:17:39 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-349caee176bso389192f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 02:17: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
 g30-20020adfa49e000000b00343f662327bsm1337989wrb.77.2024.04.18.02.17.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 02:17: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: 80c0ad89-fd64-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713431859; x=1714036659; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5kE6rlbXaEc4qwF2cwWOEtrQQM95MMQlgYpURHGtOE=;
        b=RPzsnxiOhLBS3pDgxzl+1gujoZ7zJJorLG4j3Jz6GOn1qs6za/SGT7jpMXEVfz2pNG
         1NSOyf99D4Cjx+0vg7yZey9QTrOacTHF6yp4WTZ6IHYyZncmJ0Jed92fX6RDU/MNCV96
         60c41iQol97TZ3qdyznt02x4M2NDT6WFiiORJsaxteHCVG4MxxcTTdHjmoNnrffG8jvm
         O74RpMtx7Rb+7mKQLGpyqPU1EcNecMARY4Mq6NPMw52V5axmda8gVDk1wIOD74OU7se7
         4NvEYU8D4eh7uzMS6iFDPzYJlzzmr5hrQPmfQX1N1zeq4MBvnzAJRa+6o9j7LKbR51Zi
         ZXWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713431859; x=1714036659;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5kE6rlbXaEc4qwF2cwWOEtrQQM95MMQlgYpURHGtOE=;
        b=aYzyYCAHkiSEg7E769c7GJqSbkpriK//LFFnytykbq+OCAwGk3q5zxKI5udsghLp6q
         cYY0HVf6dEcWUH6bqqPbYSk1AGOiYcmVsLvKK5xcxVVwCxSu8OQpKd2b63lzsIWyAEan
         p8J+lOwQ/pPRR/Vvr+iA32b5q77Gz6m45EZZoJoFEvqGG2bN39hx4kGDrvTq2vB68EzD
         sk176Fj76DAbzjn1/6aL0JdQbT6gZhsJ/9SA/TGpOYz1OaiuvJaY4THLGgwaZjs97Tz6
         QyeUa7QoSvMNx86lZoe5O1DZ5DVyBa5Xtonh0t8FVIIq4paCXs8E3o7QqWOa40QC52qc
         jauw==
X-Forwarded-Encrypted: i=1; AJvYcCV6yrLy0YGYOy9c84bkKiE4QagoHRZWRn1QPgPvb7MWp9VEvD/hn41rZQybk29+A8QNBSFbm7Hus0vh3xshwlMfRmEV8ldElUTZcFeoXVI=
X-Gm-Message-State: AOJu0Yxu3v82LIj2WY0zSv+aaGlGCMkqF0g1fcvfHn1FdoXYtQaUByz2
	tQ4qldUpoZktRI3OdpXwXVK+Mxp9F/f+Y1dy3AMnFqsywyICXvSWywidUSbxrg==
X-Google-Smtp-Source: AGHT+IHShF68dQf/HXD0tWegNkwQyss1Ec1gSmdCpR3B+hi8ZWzGLSJ7OeFOTsTOTRUQPIZdK/whrw==
X-Received: by 2002:adf:f982:0:b0:345:daff:97e0 with SMTP id f2-20020adff982000000b00345daff97e0mr1161547wrr.16.1713431859004;
        Thu, 18 Apr 2024 02:17:39 -0700 (PDT)
Message-ID: <cd468e0c-40a6-41f6-9989-563dec881398@suse.com>
Date: Thu, 18 Apr 2024 11:17:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <efb44106-832b-409a-a810-7821e830ac81@suse.com>
 <3ab847bd-b738-48b8-865b-62f7c488386b@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3ab847bd-b738-48b8-865b-62f7c488386b@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.04.2024 11:13, Daniel P. Smith wrote:
> On 4/18/24 03:36, Jan Beulich wrote:
>> On 11.04.2024 21:24, Andrew Cooper wrote:
>>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>>> index 1bcb007395ba..9b4891731b8b 100644
>>>> --- a/xen/common/gzip/gunzip.c
>>>> +++ b/xen/common/gzip/gunzip.c
>>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned long image_len)
>>>>   
>>>>   __init int perform_gunzip(char *output, char *image, unsigned long image_len)
>>>>   {
>>>> +    struct gzip_data gd;
>>>>       int rc;
>>>
>>> By the end of this series,
>>>
>>> Reading symbols from xen-syms...
>>> (gdb) p sizeof(struct gzip_data)
>>> $1 = 2120
>>>
>>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
>>> dynamically allocated, even in inflate.c, so I'd highly recommend doing
>>> the same for this.
>>>
>>>
>>> Also, could I nitpick the name and request:
>>>
>>> struct gzip_state *s;
>>
>> Except: Why "gzip" when it's un-zipping state?
> 
> Gzip is the name of the algo/suite for which the code is moved under, 
> and in typical fashion its structures are named after the feature they 
> belong. Still, I went and looked at the other algos. I found two that 
> have state tracking and yes, they do use the operation for the struct 
> name and not the algo/feature under which they reside. If you want this 
> yak shaved, I have no vested interest one way or another, I just need 
> the decompressor to be re-entrant.

Well. Generally speaking compressor and decompressor may need different
state to track. As we have seen with tmem, there may be reasons why a
compressor may also be needed in Xen. Hence unless it is known for sure
that either no need will ever appear for gzip, or gzip's compression
and decompression states are identical, I'd prefer the struct name to
reflect the specific purpose.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:21:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708153.1106785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNxW-0008UW-QH; Thu, 18 Apr 2024 09:21:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708153.1106785; Thu, 18 Apr 2024 09:21:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNxW-0008UP-Mt; Thu, 18 Apr 2024 09:21:34 +0000
Received: by outflank-mailman (input) for mailman id 708153;
 Thu, 18 Apr 2024 09:21:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxNxV-0008UI-FY
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:21:33 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0aef6d85-fd65-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 11:21:31 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-418c2bf2f55so4559305e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 02:21: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
 h19-20020a05600c351300b00414659ba8c2sm2035490wmq.37.2024.04.18.02.21.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 02:21:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0aef6d85-fd65-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713432091; x=1714036891; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=T5FFMombXYQkmuM168vFilxXGh2CNQWXX7VpGzRC5Jo=;
        b=GqROYpOCtomy3Kis5+n2YBaOrNOGKQKeFU9T1ulhWbzxY2lxto24hLBItEufQybCeZ
         WJS/lw3ugQGV8WeWMi6stGJb7z/C1fsqMbFePs3HDTJguInDz63yUyZ69+KMnpCoxtZL
         LZp3uxfRnIA0ZkGmXh2q2olGxB+WYHmT1N++JXSdXsPi7bh80OiHvHEivvDJNDW4urZK
         ZACbfCXWpMYOE2ia/Zz39DdIqLoqSSkhmNJSV9YGP20zur9I/w7VL5lpj0qOHTmg9rCr
         /K2hw83dl+n9aMMkEZMjutSAt4kIp1Ln95Wquet5C5WOFNL5bOWzcSn3C3WbrSnq7L05
         wUCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713432091; x=1714036891;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=T5FFMombXYQkmuM168vFilxXGh2CNQWXX7VpGzRC5Jo=;
        b=kmSrGqCNDhgB+dlr0eCYBRG5cdekisFxsUQmp+yb+8nrHKhpB0f4UKSpXD5qaS3X+p
         GMZX1f3OKbOJjqLMOeJ8NYymyWUX3Q1geOOlIEoMNB7W7dAe9LeQrTdOxOBvXh2PHerh
         fKfVE5P/dUKs4iLqbq6nuP9QnP6fC4gMfX6u2vvI0MN/5uTUEz2vvMoRQGvhDWD9pIF4
         uTReWtgFld1d3rKmraCc5XkEUo3zneZv2VjKCJm6pTqiJAu8GfY+X1vXB/Hgkx0Ev/Pj
         WmXC8ApxGxjT3xU44SIIvwIsE54cOO5lJdVvC9RWqqSnmpt/8jTSj6n9dgAti674XKRh
         xd9w==
X-Gm-Message-State: AOJu0YwknElrc0quorDlvdWwcA8zVwSKQdw+nGqVaffeXQcw04RhV4Vv
	FgABqSCC3XEsncSxFz9BghaEWEVWF5jgZNTTtyN0V1vAsmKKiimzqlfkxEw4kA==
X-Google-Smtp-Source: AGHT+IF12mCsXRYplyI9q62HnRMpMF2fDmAiLW4QhXYvzufQfhLEfeBCuFuDC4QptcB9jFgK1WRtXg==
X-Received: by 2002:a05:600c:154b:b0:418:a2ce:77ae with SMTP id f11-20020a05600c154b00b00418a2ce77aemr1488736wmg.27.1713432090831;
        Thu, 18 Apr 2024 02:21:30 -0700 (PDT)
Message-ID: <7704ce51-2cfa-44ce-9001-a5bda1dc0dfe@suse.com>
Date: Thu, 18 Apr 2024 11:21:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] xen/public: Use -Wpadding for public headers
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
 <20240415154155.2718064-5-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2404151456280.997881@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404151456280.997881@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 00:15, Stefano Stabellini wrote:
> On Mon, 15 Apr 2024, Andrew Cooper wrote:
>> RFC.  In theory this is a great way to avoid some of the spiketraps involved
>> with C being the official representation.
>>
>> However, this doesn't build.  gnttab_transfer has a layout that requires a
>> CONFIG_COMPAT if we want to satisfy -Wpadding for both forms of the structure.
>>
>> Thoughts on whether this cross-check is worthwhile-enough to warrant the
>> ifdefary?
> 
> I like this patch and I think we have no choice but going in this
> direction and adding all the padding explicitly with any related
> necessary ifdefary.
> 
> The only question for me is whether to:
> 
> 1) add -Wpadding
> 2) add __packed__
> 3) do both
> 
> I think it is important to add __packed__ to the headers to clear out
> any misconceptions about possible hidden paddings and get a
> correct-by-default behavior for anyone that would import the headers
> into their own projects.
> 
> The only issue is that __packed__ makes -Wpadding not useful. We could
> technically add both if we disable __packed__ for the -Wpadding build.
> For instance we could use __packed which is defined by Xen, and change
> the definition of __packed to nothing for the -Wpadding build.

The other issue is that __packed__ isn't standard C, yet we intend the
public header to be plain C89 compatible.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:22:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708156.1106794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNy9-0000Yw-1X; Thu, 18 Apr 2024 09:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708156.1106794; Thu, 18 Apr 2024 09:22:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxNy8-0000Yp-V8; Thu, 18 Apr 2024 09:22:12 +0000
Received: by outflank-mailman (input) for mailman id 708156;
 Thu, 18 Apr 2024 09:22:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w8zc=LX=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rxNy7-0000Yf-KN
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:22:11 +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 20d4e12f-fd65-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 11:22:09 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1713432123496247.0588615695027;
 Thu, 18 Apr 2024 02: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: 20d4e12f-fd65-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; t=1713432124; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=TYddJKFUoYmCJiQSDNpEgxiAWm3+nf2Eqp8bcqrAHkIBDY2L/f4DKAzejHMfZM02BTbq8/ancrE+m2vNr8Y6FNdqxUzSrajY+CmgAYipFHDU6ivm6CzcseE46Sq/0ZDNlh9MS2zFx7HqwD5yihtzM4EFWXyYiN+31yAoLEM4wXk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713432124; 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=ZZtgDsN6IbeSbb35meWYmKT4eJ+LuTKOnhjaTfjtWik=; 
	b=O/4FTWew2N6LOsGrQQKKS9554nBFyLQH38IS1B362GLeuZye+g/aAe3QamEwA+lbCV2bOs265GB4K3zd16GKe/oM8d5eH8VSqBDIOSGzWdw0ze4eATHVE/Q42S2XMoLBl03f4Nt8/QTCwuX//5whfA65wlPLV4UZp1h3zpqUNNE=
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=1713432124;
	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=ZZtgDsN6IbeSbb35meWYmKT4eJ+LuTKOnhjaTfjtWik=;
	b=Ihytc1I7OIupGNyJsrCuYQMyWN3T7rByyCrmsKwGyIAjuubLv/yxRsgXuJBZKhju
	4NCa9DHZ8U4e9ZMUVE9kEz39xEHU/wwAlGcGx0eE5iGUZLjM+gRCGy3hKv8SL6Le/7Y
	+tl8t9KmX1ae7COtdv+glTsrZFoHg331uBWzdly8=
Message-ID: <895e3208-ef9b-42ba-856f-adb2501fccfb@apertussolutions.com>
Date: Thu, 18 Apr 2024 05:22:01 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] gzip: refactor state tracking
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240411152518.2995-1-dpsmith@apertussolutions.com>
 <20240411152518.2995-4-dpsmith@apertussolutions.com>
 <360958a2-5b0d-4fbc-8637-2a33185bdd8d@citrix.com>
 <efb44106-832b-409a-a810-7821e830ac81@suse.com>
 <3ab847bd-b738-48b8-865b-62f7c488386b@apertussolutions.com>
 <cd468e0c-40a6-41f6-9989-563dec881398@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: <cd468e0c-40a6-41f6-9989-563dec881398@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/18/24 05:17, Jan Beulich wrote:
> On 18.04.2024 11:13, Daniel P. Smith wrote:
>> On 4/18/24 03:36, Jan Beulich wrote:
>>> On 11.04.2024 21:24, Andrew Cooper wrote:
>>>> On 11/04/2024 4:25 pm, Daniel P. Smith wrote:
>>>>> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
>>>>> index 1bcb007395ba..9b4891731b8b 100644
>>>>> --- a/xen/common/gzip/gunzip.c
>>>>> +++ b/xen/common/gzip/gunzip.c
>>>>> @@ -102,12 +109,13 @@ __init int gzip_check(char *image, unsigned long image_len)
>>>>>    
>>>>>    __init int perform_gunzip(char *output, char *image, unsigned long image_len)
>>>>>    {
>>>>> +    struct gzip_data gd;
>>>>>        int rc;
>>>>
>>>> By the end of this series,
>>>>
>>>> Reading symbols from xen-syms...
>>>> (gdb) p sizeof(struct gzip_data)
>>>> $1 = 2120
>>>>
>>>> x86 has an 8k stack and this takes 1/4 of it.  Other bits of state are
>>>> dynamically allocated, even in inflate.c, so I'd highly recommend doing
>>>> the same for this.
>>>>
>>>>
>>>> Also, could I nitpick the name and request:
>>>>
>>>> struct gzip_state *s;
>>>
>>> Except: Why "gzip" when it's un-zipping state?
>>
>> Gzip is the name of the algo/suite for which the code is moved under,
>> and in typical fashion its structures are named after the feature they
>> belong. Still, I went and looked at the other algos. I found two that
>> have state tracking and yes, they do use the operation for the struct
>> name and not the algo/feature under which they reside. If you want this
>> yak shaved, I have no vested interest one way or another, I just need
>> the decompressor to be re-entrant.
> 
> Well. Generally speaking compressor and decompressor may need different
> state to track. As we have seen with tmem, there may be reasons why a
> compressor may also be needed in Xen. Hence unless it is known for sure
> that either no need will ever appear for gzip, or gzip's compression
> and decompression states are identical, I'd prefer the struct name to
> reflect the specific purpose.

Ack


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:36:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:36:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708164.1106806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxOBl-00050a-8g; Thu, 18 Apr 2024 09:36:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708164.1106806; Thu, 18 Apr 2024 09:36:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxOBl-00050T-4G; Thu, 18 Apr 2024 09:36:17 +0000
Received: by outflank-mailman (input) for mailman id 708164;
 Thu, 18 Apr 2024 09:36:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxOBk-00050N-Op
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:36:16 +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 19cded89-fd67-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 11:36:15 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-346359c8785so465651f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 02:36: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
 h4-20020a5d5044000000b00343daeddcb2sm1371494wrt.45.2024.04.18.02.36.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 02:36: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: 19cded89-fd67-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713432975; x=1714037775; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PuieK1UYmmHqLoOvrU1CZpgX0o0+qK+QbJIehaJKxOU=;
        b=F6qGPnk14tacwKIuk//NQ5tLCa4VNBx/s6Y8IRdlMbHMn9AGcQEAmndS9JOhWxuO31
         6A9hpwXY5FQH2Nn9sinVMtIGmjXdJiXrHhqsB9Npoyk1m+tGa8AWJFC06DTX/2yl0qaM
         4tEEJTQ2eDFxgl8leQl5iGGvScfmibUXAr4w3HvuoaStCAK+d3b8elppBvrYCTKvgFZQ
         Mn329lRNOCY0Qc0OnIN7Onr/At4tS3UV5CcuPVvxtrwSAJa5jjQOfO6GU24IHaRMLAnY
         URQC37fAxKIhsllzyb6fSShVJCr8NtZIfK+82sknhRFZo65nzRiR0PP89A3ZNVYeOC5u
         8Sng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713432975; x=1714037775;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PuieK1UYmmHqLoOvrU1CZpgX0o0+qK+QbJIehaJKxOU=;
        b=aSmzSpX39MIpLHSfDHhVr73EyTsoInVUgqwZq2piYW7SocD+ejWkK/L0D87rI2+Taz
         MGLpIWYJ5RAcFBlH4rW5XfHZ0Oq8vATHkQ2NlpkLnoibGvC2aDL0pvxd7jlN5kMhS8Kk
         Vf4Tbma9i2ElcFjJ6SMxXkKxB+TRFNb+/4+2ft2R3/VFT74TbCSAwqeMUHgzkki2hnq6
         qIKdvh1cC74xZN7yyU4NM245q1DBYumZgwcRGdG+0/thb4T+Gl0Oy61CYIkpHRI6avtR
         lIW3kFmBHBAEbAhSgJTwvBkejQXH4IoXxBFCFglFodDrJCKbwuxfUwIq7WEP86FADLYA
         qmgQ==
X-Forwarded-Encrypted: i=1; AJvYcCVyySKAX5fXAsphh5xumxI6X2yHOZKd2qfbn4IzoP9i+cD7Tt5ANUceQ7visfYxisN7TZtQdXUn5Ah8sq3tsxFelKDlCQMsTlKFODp4Aio=
X-Gm-Message-State: AOJu0Yxz3csAGYkXID5xbW9luvFlg7LBpKCXoKDP7/TM2y605nkmy/Wt
	y5fovqFb+J3097bTM016D8TwK12ShSVthx4IZW7vZ09sxnFU+9apUVHJiAJiaQ==
X-Google-Smtp-Source: AGHT+IF1oFe0XI4T7EnwDP0CgbMuw1DShDJQGjvh6By7UTsEFn0yjNR6bdeReJlUoLuMlD8uowwpwg==
X-Received: by 2002:adf:ab0e:0:b0:341:a640:b516 with SMTP id q14-20020adfab0e000000b00341a640b516mr1118616wrc.70.1713432974711;
        Thu, 18 Apr 2024 02:36:14 -0700 (PDT)
Message-ID: <82fb4a07-ecd7-46a7-b7a9-596f2f8ca38b@suse.com>
Date: Thu, 18 Apr 2024 11:36:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] xen/public: Use -Wpadding for public headers
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
 <20240415154155.2718064-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240415154155.2718064-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.04.2024 17:41, Andrew Cooper wrote:
> RFC.  In theory this is a great way to avoid some of the spiketraps involved
> with C being the official representation.
> 
> However, this doesn't build.  gnttab_transfer has a layout that requires a
> CONFIG_COMPAT if we want to satisfy -Wpadding for both forms of the structure.
> 
> Thoughts on whether this cross-check is worthwhile-enough to warrant the
> ifdefary?

#ifdef-ary in general would be okay. But any #ifdef CONFIG_* would look pretty
odd to me in a public header. Perhaps as

#if defined(__XEN__) && defined(CONFIG_COMPAT)

it might be tolerable.

> --- /dev/null
> +++ b/xen/common/hdr-chk.c
> @@ -0,0 +1,13 @@
> +#include <xen/stdint.h>
> +
> +#include <public/xen.h>
> +
> +#pragma GCC diagnostic error "-Wpadded"

Everywhere up to here you say -Wpadding.

> +#include <public/grant_table.h>
> +
> +#ifdef CONFIG_COMPAT
> +
> +#include <compat/grant_table.h>
> +
> +#endif /* CONFIG_COMPAT */

I'm not overly happy to see a 2nd header checking "pass" added. We already
have the headers.chk goal in xen/include/Makefile, after all. For the non-
generated headers adding -Wpadded there would seem more natural to me,
first and foremost because then it is less likely that one of the two places
would be missed if a new header is added. Something long those lines may then
need adding for the generated compat headers, but again preferably without
enumerating them all in yet another place.

> --- a/xen/include/public/grant_table.h
> +++ b/xen/include/public/grant_table.h
> @@ -355,6 +355,7 @@ struct gnttab_unmap_grant_ref {
>      grant_handle_t handle;
>      /* OUT parameters. */
>      int16_t  status;              /* => enum grant_status */
> +    uint16_t _pad0;

While you may view it as nitpicking, in the public headers I'm pretty firm
on not wanting to see new name space violations, i.e. new names with leading
underscores which aren't file-scope identifiers.

Furthermore what's the deal with using "pad0" here and in one more place,
but "ign1" / "ign2" in other cases?

> @@ -371,6 +372,7 @@ DEFINE_XEN_GUEST_HANDLE(gnttab_unmap_grant_ref_t);
>  struct gnttab_setup_table {
>      /* IN parameters. */
>      domid_t  dom;
> +    uint16_t _pad0;
>      uint32_t nr_frames;
>      /* OUT parameters. */
>      int16_t  status;              /* => enum grant_status */

I'm surprised no padding field would be needed right below here, seeing
that what follows is a handle:

#if __XEN_INTERFACE_VERSION__ < 0x00040300
    XEN_GUEST_HANDLE(ulong) frame_list;
#else
    XEN_GUEST_HANDLE(xen_pfn_t) frame_list;
#endif

The size of this padding field would then also be compat-dependent, I
suppose.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 09:53:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 09:53:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708170.1106815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxOSJ-0000Kv-J6; Thu, 18 Apr 2024 09:53:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708170.1106815; Thu, 18 Apr 2024 09:53: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 1rxOSJ-0000Ko-GA; Thu, 18 Apr 2024 09:53:23 +0000
Received: by outflank-mailman (input) for mailman id 708170;
 Thu, 18 Apr 2024 09:53: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxOSI-0000Ki-J4
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 09:53: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 7cd1ff65-fd69-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 11:53:20 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5194cebd6caso762293e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 02:53: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
 bl28-20020adfe25c000000b00346bb778e8bsm1431519wrb.5.2024.04.18.02.53.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 02:53: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: 7cd1ff65-fd69-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713434000; x=1714038800; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xVimCs6r9BqJJcB1Thmw0iqO5UAo1fiEaWngHlO6jl4=;
        b=K4piUTMPwRzaoHHg3s6i1m6+ZVLXccLQSUCrxn/XKLA7KmXyUx/OUEs8QeyGDO3pb/
         MJjTe9NwQWi6oz1eDE8w3ydmptdmD9mAOFAIoAZE4yBQlIYCX++vJNSV2Bq1/TNkmBli
         UoWoF0mva2fDnm3hbeaI1RYA66GC0cH4HTRZoAeybbJ26btTgvrPSRFXiDzxdXhsoAZQ
         GYZqP3MzaofOed+ppEh9QqbjB9ukOulBQQwH2IqcgJNmspl3QLIaTUzLwkR2buB7JqbT
         u5MLN86D6IJp0MHf6/WmsRKCWCM4+38fVsuqdJ9FURxX91ifk61sP4DjcsJRLdq9x7tf
         rd0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713434000; x=1714038800;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xVimCs6r9BqJJcB1Thmw0iqO5UAo1fiEaWngHlO6jl4=;
        b=A9VqYUBGSEIgpn/rfxZlLUreOoQJSnn1dyyNhdA0ESuWVpmGrrW5nZb7ATIwq2M6+V
         e9qR9puxonN7lParQAH1PbX6bVBcV92fDbJquLiNY/WAjnTU+yTHQFYCoCRBiMlqZrHn
         hD7/06MrUaZ9oPuYqd809tppieSa7yjsALksDpz+3dOurhKuvX8KmFaq5A/j/jVt92qT
         KIw9zNNH+EqNnSW9G31z3A9PY+68sLeS7xJGruJI543wMPtJot4mBWhmVphyH8nwNtDm
         sySMHDjILpwUbeVFNYEIe3pmMWnocMiT/RSFi+UlJvS5pvjcQOlu8TCnjyZWzht9ZO0X
         dADw==
X-Forwarded-Encrypted: i=1; AJvYcCUb5FdxlUXB0qPcADsBjmDWiyY1yE9A9rxG8SWRHod9tlBtt8iEKRWd4bBybs1r4Kj6vYn7pfUfSjcSDuLfAQ5gBFkf9YoeMGTqn0MPpnc=
X-Gm-Message-State: AOJu0YxtjxSHDS9kvhS05SWtjL2K1IkAez/fw5i5rbafjKJXzGiafH2t
	hq9bsPk6jvLBknJ37hbp3+NpQKlODhlPiByAAYVEhky9k3apEjkRywhyoYwrzw==
X-Google-Smtp-Source: AGHT+IHXSdUNSuxKT+jKROsxgow2aSoz+NKatZ55hxS+01uehnxR9pR5PCe4bb2sCxtAZ8I8HtrBmQ==
X-Received: by 2002:a19:ca02:0:b0:518:96b5:f2cc with SMTP id a2-20020a19ca02000000b0051896b5f2ccmr1102616lfg.55.1713433999765;
        Thu, 18 Apr 2024 02:53:19 -0700 (PDT)
Message-ID: <12adc492-aad0-4971-b744-e6dee87630ac@suse.com>
Date: Thu, 18 Apr 2024 11:53:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 21:27, Stefano Stabellini wrote:
> Also add two specific project-wide deviations for R21.6 and R21.15.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index 32b02905d1..9123c8edb5 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
>         of the Rule due to uses of this macro.
>       - Tagged as `deliberate` for ECLAIR.
>  
> +   * - R21.6
> +     - The use of snprintf() and vsnprintf() is justifiable as, despite
> +       the fact that such functions have the same names of the
> +       corresponding standard library functions, each configuration of
> +       Xen has a unique implementation for them; the code implementing
> +       such functions is subject to the analysis, so that any undefined
> +       or unspecified behavior associated to them falls under the
> +       responsibility of other MISRA guidelines

Checking the Misra spec, I'm actually surprised a deviation is needed. The
rule's rationale talks about streams and file I/O only. Why would the string
formatting functions be covered then at all? They also don't have, afaik,
any undefined or implementation defined behavior.

> +     - Tagged as `safe` for ECLAIR.
> +
> +   * - R21.15
> +     - The use of void* arguments is justifiable as the rationale for
> +       the rule is to indicate possible mistakes, and void* is
> +       frequently used in Xen to represent virtual memory addresses

But that doesn't rule out mistakes. Are there actually examples in the
code base?

Additionally I wonder (a) whether the rule actually needs an exception
and thus (b) whether the deviation isn't instead for 21.16. As to (a) I
understand the rule is worded slightly differently than what would
strictly be needed to permit void*, but the general rule in C is that
void* is compatible with all other pointers (suitably qualified as
needed, of course) anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 10:00:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 10:00:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708176.1106825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxOYs-0003Eh-De; Thu, 18 Apr 2024 10:00:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708176.1106825; Thu, 18 Apr 2024 10: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 1rxOYs-0003Ea-AQ; Thu, 18 Apr 2024 10:00:10 +0000
Received: by outflank-mailman (input) for mailman id 708176;
 Thu, 18 Apr 2024 10:00:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxOYq-0003EB-JH
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 10:00:08 +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 6f48bf73-fd6a-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 12:00:07 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2da0b3f7ad2so9606581fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 03:00: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
 z9-20020a05600c0a0900b00418916f5848sm2091377wmp.43.2024.04.18.03.00.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 03:00: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: 6f48bf73-fd6a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713434406; x=1714039206; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=V6h76wvZI94Si2CkDH7vzPaygxVoHVGkEb8tT+ckF/I=;
        b=ZuxPkECL/vrne0jHkRtuYY0JK1oVzODHMwKPqQtlrf4lPuqzX3SgbpYc4Qj/VAMA3Y
         6Ez9wjwywKRjtEMAgb4bxXziIo6Jlz6AfQIQm06oPtbc50LjiAzwZZF0DRuSCs2PxYOO
         t78NcxmqxjlAUq3wGHStpF4IIo5CkRPpuU8CBqWBv5Bc5ZghbFc6Yq5CB9opaRjULSYD
         nXJl5TbbGuO8w9GXVz/qmSJOd+5E8rRL/fV0f7iHTbIR8VtwZWFd8BXkCDs5OfqkKPbL
         ZCK+5rkSu5h3UYA6Al1HiukpPZ2SlI1MDqWzoD3tRzh+zZ7F6bnQdG20Izf1x9qE5Aq6
         Jw6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713434406; x=1714039206;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=V6h76wvZI94Si2CkDH7vzPaygxVoHVGkEb8tT+ckF/I=;
        b=Gx80N+xgTu0it/PlVEZPDirn47Mrp3ChEqDYj+gKz7076WmH2iRZJwWXMyWyL3vUrv
         6XBBR4qLXFBKdbAUFearILf3cNswMYx/BLWz2pCojAg9t+hbUaCJJVRA+KC0/4QDMPw2
         U8XxwUjiORz0Hjk18axJLEWA9D9DCL4MzOzBJpBD5+MKOO2fqC8g1IQBXns/tT+JevVk
         0yTUNxGl3Itbt66raXZ2ZW9DzIiq1rcVSxgT2gTt4WtbKr8qf5SOD0IzA8oQG8cENsJQ
         3DuJPuDc/Lq161RZw/55DrEUmTcYy7dxcpHOLCnsMqqMXae831itiKmIaU9DRODzn4Ye
         EUkA==
X-Forwarded-Encrypted: i=1; AJvYcCWLmeyrz2YQ5Ggjbj+H/qvE+z6UC1vaLPFHqoSTiA/iOIJIqvrH95v+etlicZK5cGAgep0xSivSM77chA3NutsZ4m6GeUMqnCLWeIa8NFc=
X-Gm-Message-State: AOJu0YzyHTOEWgtAj8FZfpqA0dRYOz3TLHI19bNSLkTxVLoWC7cgvrgJ
	fb0PE3o1u2P2N1fD4ctZcDirsNmPJvNSRrYDxuLK8lE4//PBaySjNEyIPdpg1Q==
X-Google-Smtp-Source: AGHT+IFfuZfmf6/9AwVe7DL0mhDZDcPHN0zHIART1qCT9ZT4yFrdCQ3XCItrEHp9/QOl5ICMh9MqLA==
X-Received: by 2002:a2e:9185:0:b0:2da:4b38:4a28 with SMTP id f5-20020a2e9185000000b002da4b384a28mr1153942ljg.51.1713434406659;
        Thu, 18 Apr 2024 03:00:06 -0700 (PDT)
Message-ID: <0f1c2960-2443-4afd-811a-7182cc0ccbd5@suse.com>
Date: Thu, 18 Apr 2024 12:00:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/riscv: check whether the assembler has Zbb extension
 support
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <10816604a8625b5052f134e54c406fb4e7b6c898.1712649614.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <10816604a8625b5052f134e54c406fb4e7b6c898.1712649614.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.04.2024 10:00, Oleksii Kurochko wrote:
> Update the argument of the as-insn for the Zbb case to verify that
> Zbb is supported not only by a compiler, but also by an assembler.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

While technically all if fine here, I'm afraid I have a couple of nits:

> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -11,7 +11,8 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
>  
>  riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
>  
> -zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
> +zbb_insn := "andn t0, t0, t0"

As can be seen on the following line (as-insn, riscv-generic-flags) we
prefer dashes over underscores in new variables' names. (Another question is
whether the variable is needed in the first place, but that's pretty surely
personal taste territory.)

Furthermore this extra variable suggests there's yet more room for
abstraction (as already suggested before).

> +zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,${zbb_insn},_zbb)

Why figure braces in one case when everywhere else we use parentheses for
variable references? There's no functional difference sure, but inconsistent
use specifically may raise the question for some future reader whether there
actually is one.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 10:05:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 10:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708183.1106835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxOdw-0004hW-0S; Thu, 18 Apr 2024 10:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708183.1106835; Thu, 18 Apr 2024 10: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 1rxOdv-0004hP-TI; Thu, 18 Apr 2024 10:05:23 +0000
Received: by outflank-mailman (input) for mailman id 708183;
 Thu, 18 Apr 2024 10:05: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=p/a5=LX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxOdt-0004hJ-VJ
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 10:05:21 +0000
Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com
 [2607:f8b0:4864:20::733])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2928a8a1-fd6b-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 12:05:19 +0200 (CEST)
Received: by mail-qk1-x733.google.com with SMTP id
 af79cd13be357-78efd533a00so38879585a.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 03:05:19 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 wh2-20020a05620a56c200b0078ede24313esm492503qkn.12.2024.04.18.03.05.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 03:05: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: 2928a8a1-fd6b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713434718; x=1714039518; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4gYN7tA/gMAb9/jEcITxIDEQy5e7N50MWh0AJZpQxMs=;
        b=X1tTR4Te1Rdy0nAAcDV8lQ8k9y3JMrEDCuyXOYAWfW3JX5aSPLpJkIxLNhOxKszodu
         5hDM3z5mSoIoLxXSO/6Q71bGGu1EmZtWZ/RrfWaCrJ7wGtON7hdBTvUW+UqsWqsmB8Yk
         MRrQu1JC6Etx8A2Kv9ZmW3hsPQgJdVfnNFZPw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713434718; x=1714039518;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4gYN7tA/gMAb9/jEcITxIDEQy5e7N50MWh0AJZpQxMs=;
        b=ltZkboCmWBelHnCt5s+xo79eTZZpCvWsFPT7YYCTu9VK0/XWPd3hUgvOm6h2hA10XE
         OJQVfngmwJ4ubQ1tTH4VD97akJTEm6gIecjTEIq/HQygGt/yzwCaAidF2HYS8gSHiPOP
         QlJTeEJTY+RzigTisOlYKD3WObykuXvc/IVgvJJ09PwvNxaCPQMkZuifVkfL4+XXfVAI
         PPGQiwdGjbD8tnV2/2qlSMT0aRU7hsZSW+7ExIxCoAz5sCfNh2X+IdoPqlij7xfk3bEK
         wRaYwhH+djBl3dsEyKlDaB1ShuQxxcabxBUemoOAICUVTUTtoIgLYhZn2R+gdjaj6Hq9
         qnSQ==
X-Forwarded-Encrypted: i=1; AJvYcCUXIGrH2wCw0LuS7qloE1z7V50rmqt0++I0LzSLQNSPYFSaF8YFRYxgeztXdqPGreaaNUbeek9pDQyKsPq8aExOntYx9Jozl8K+XVf7HQA=
X-Gm-Message-State: AOJu0YzYCbhroTSKXMaNBQa2MwFohV9ipg2YX78wy7EXaC++jSPwBbcQ
	1ix6xyO/mTqZygF7F0UGag/Ccz+BjaKbm9RxUqj1Ce/+5jz3u2k19uPppQIoPPo=
X-Google-Smtp-Source: AGHT+IHLtOYSjY9xoKU2L+ADdw/RYC6L8AJslSPZYuvQ9O/RUj0iOVvxIXKErk2FH5Z6hGS300oNuA==
X-Received: by 2002:a05:620a:24d3:b0:78f:a08:64fc with SMTP id m19-20020a05620a24d300b0078f0a0864fcmr2263525qkn.30.1713434718390;
        Thu, 18 Apr 2024 03:05:18 -0700 (PDT)
Message-ID: <c865e0ea-fee1-42e8-a30f-5344863d00e9@citrix.com>
Date: Thu, 18 Apr 2024 11:05:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86: Update x86 low level version check of
 microcode
To: Fouad Hilly <fouad.hilly@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: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-2-fouad.hilly@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: <20240416091546.11622-2-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16/04/2024 10:15 am, Fouad Hilly wrote:
> Update microcode version check at Intel and AMD Level by:
> Preventing the low level code from sending errors if the microcode
> version provided is not a newer version. Other errors will be sent like before.
> When the provided microcode version is the same as the current one, code
> to point to microcode provided.
> Microcode version check happens at higher and common level in core.c.
> Keep all the required code at low level that checks for signature and CPU compatibility
>
> [v2]
> Update message description to better describe the changes
>
> Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
> ---


As a general note, your v2/v3/etc changelog needs to go under this --- line.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 10:11:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 10:11:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708191.1106845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxOjZ-0006b4-J2; Thu, 18 Apr 2024 10:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708191.1106845; Thu, 18 Apr 2024 10: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 1rxOjZ-0006ax-G8; Thu, 18 Apr 2024 10:11:13 +0000
Received: by outflank-mailman (input) for mailman id 708191;
 Thu, 18 Apr 2024 10:11:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p/a5=LX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxOjX-0006ZW-Gq
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 10:11:11 +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 f999d851-fd6b-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 12:11:09 +0200 (CEST)
Received: by mail-oo1-xc2f.google.com with SMTP id
 006d021491bc7-5a49261093cso357194eaf.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 03:11:09 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 i15-20020ac8488f000000b00436a8ee913csm521231qtq.41.2024.04.18.03.11.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 03:11: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: f999d851-fd6b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713435068; x=1714039868; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ptKjCsIFTUGRg1SU1EIDVHYctIZTxqcYQ/g95XWh3Ww=;
        b=PJKN5QA2HAKa64rQyGxITl/eSbTky+o5w1XLEIoxveDtWGKja7so3BfjIkHVGvKJ2V
         LHGXoIbBuDnv8GbGuIMpZB5LgDV3SHJJe/XPkRv50czpVIcke4csI7VlZnCFkTOXBOIw
         Gf/sRaH+bNp5U1uUazQBkfABYC+IutPQQGM8U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713435068; x=1714039868;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ptKjCsIFTUGRg1SU1EIDVHYctIZTxqcYQ/g95XWh3Ww=;
        b=ltb0X1VkEnbGxWY7W4AimsDSRPe1xQ5RVedbSygVcNtKQZxu0K2eWcfHhAikzyq48S
         0gJvrA7hKwUSBsXkwEiMVOuXGJdnsfPedpfzGh+s48q3KAD1fvdRdf7HKkbbs0uXVkm5
         61FSrF1t2tZQJkWMz/JhCc7dofPXxTkAtsH2ZXyWqJWqkNpd+/VSRKNuYxIhTGbYfVH/
         9ObcUwGyIjt7Kw0JbMjBYkS8PsGwqvIhfrHxiQqiXFJDUHwzSxDiZkjiq1bg3yWsEdaG
         4EHoL01LAWDA1e2jb9Ma1WEYQpGLmzX81nhU5+6gtmK4Yyv1zjRgcdkLfk/V9Trqylsj
         btIA==
X-Gm-Message-State: AOJu0YxIzJ4YulSC73jwuzTaBAt8IKNUBSpoYD+q0Ynm0KXFF9tmj4j6
	1sdqCnaoOdgU2z68SJdy0WBBmpmADtHTEC/MefkzZty5hidsykF/S8ktB2in8PTYIY0OoHIEZpM
	8+lY=
X-Google-Smtp-Source: AGHT+IHsl8O6jMO4XSDw2U5pyaQHuUT86K5NAhokWp3CLKbCNPiqnEmy2lDiC+i7yNmm1kFCUFaaCw==
X-Received: by 2002:a05:6358:6997:b0:187:1a77:f1c1 with SMTP id a23-20020a056358699700b001871a77f1c1mr2703345rwi.28.1713435067984;
        Thu, 18 Apr 2024 03:11:07 -0700 (PDT)
Message-ID: <523141f8-7341-492f-b8dd-a4eb36f5444f@citrix.com>
Date: Thu, 18 Apr 2024 11:11:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] xen/xlat: Sort out whitespace
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>,
 Julien Grall <julien@xen.org>
References: <20240415154155.2718064-1-andrew.cooper3@citrix.com>
 <20240415154155.2718064-2-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2404151449240.997881@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.2404151449240.997881@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 15/04/2024 10:49 pm, Stefano Stabellini wrote:
> On Mon, 15 Apr 2024, Andrew Cooper wrote:
>>  * Fix tabs/spaces mismatch for certain rows
>>  * Insert lines between header files to improve legibility
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: George Dunlap <George.Dunlap@citrix.com>
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Julien Grall <julien@xen.org>
>> ---
>>  xen/include/xlat.lst | 31 +++++++++++++++++++++++++++----
>>  1 file changed, 27 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
>> index 9c41948514bf..e811342bb096 100644
>> --- a/xen/include/xlat.lst
>> +++ b/xen/include/xlat.lst
>> @@ -20,19 +20,24 @@
>>  # First column indicator:
>>  # ! - needs translation
>>  # ? - needs checking
>> +
>>  ?	dom0_vga_console_info		xen.h
>>  ?	xenctl_bitmap			xen.h
>>  ?	mmu_update			xen.h
>>  !	mmuext_op			xen.h
>>  !	start_info			xen.h
>>  ?	vcpu_time_info			xen.h
>> +
>>  ?	pmu_amd_ctxt			arch-x86/pmu.h
>>  ?	pmu_arch			arch-x86/pmu.h
>>  ?	pmu_cntr_pair			arch-x86/pmu.h
>>  ?	pmu_intel_ctxt			arch-x86/pmu.h
>>  ?	pmu_regs			arch-x86/pmu.h
>> +
>>  !	cpu_user_regs			arch-x86/xen-@arch@.h
>> +
>>  !	trap_info			arch-x86/xen.h
>> +
>>  ?	cpu_offline_action		arch-x86/xen-mca.h
>>  ?	mc				arch-x86/xen-mca.h
>>  ?	mcinfo_bank			arch-x86/xen-mca.h
>> @@ -50,6 +55,7 @@
>>  ?	mc_notifydomain			arch-x86/xen-mca.h
>>  !	mc_physcpuinfo			arch-x86/xen-mca.h
>>  ?	page_offline_action		arch-x86/xen-mca.h
>> +
>>  ?	argo_addr			argo.h
>>  !	argo_iov			argo.h
>>  ?	argo_register_ring		argo.h
>> @@ -59,6 +65,7 @@
>>  ?	argo_ring_message_header	argo.h
>>  ?	argo_send_addr			argo.h
>>  ?	argo_unregister_ring		argo.h
>> +
>>  ?	evtchn_alloc_unbound		event_channel.h
>>  ?	evtchn_bind_interdomain		event_channel.h
>>  ?	evtchn_bind_ipi			event_channel.h
>> @@ -74,6 +81,7 @@
>>  ?	evtchn_set_priority		event_channel.h
>>  ?	evtchn_status			event_channel.h
>>  ?	evtchn_unmask			event_channel.h
>> +
>>  ?	gnttab_cache_flush		grant_table.h
>>  !	gnttab_copy			grant_table.h
>>  ?	gnttab_dump_table		grant_table.h
>> @@ -86,9 +94,10 @@
>>  ?	gnttab_get_version		grant_table.h
>>  !	gnttab_get_status_frames	grant_table.h
>>  ?	grant_entry_v1			grant_table.h
>> -?       grant_entry_header              grant_table.h
>> +?	grant_entry_header		grant_table.h
>>  ?	grant_entry_v2			grant_table.h
>>  ?	gnttab_swap_grant_ref		grant_table.h
>> +
>>  !	dm_op_buf			hvm/dm_op.h
>>  ?	dm_op_create_ioreq_server	hvm/dm_op.h
>>  ?	dm_op_destroy_ioreq_server	hvm/dm_op.h
>> @@ -108,15 +117,20 @@
>>  ?	dm_op_set_pci_intx_level	hvm/dm_op.h
>>  ?	dm_op_set_pci_link_route	hvm/dm_op.h
>>  ?	dm_op_track_dirty_vram		hvm/dm_op.h
>> +
>>  !	hvm_altp2m_set_mem_access_multi	hvm/hvm_op.h
>> +
>>  ?	vcpu_hvm_context		hvm/hvm_vcpu.h
>>  ?	vcpu_hvm_x86_32			hvm/hvm_vcpu.h
>>  ?	vcpu_hvm_x86_64			hvm/hvm_vcpu.h
>> +
>>  ?	hypfs_direntry			hypfs.h
>>  ?	hypfs_dirlistentry		hypfs.h
>> +
>>  ?	kexec_exec			kexec.h
>>  !	kexec_image			kexec.h
>>  !	kexec_range			kexec.h
>> +
>>  !	add_to_physmap			memory.h
>>  !	add_to_physmap_batch		memory.h
>>  !	foreign_memory_map		memory.h
>> @@ -130,6 +144,7 @@
>>  !	reserved_device_memory_map	memory.h
>>  ?	vmemrange			memory.h
>>  !	vnuma_topology_info		memory.h
>> +
>>  ?	physdev_eoi			physdev.h
>>  ?	physdev_get_free_pirq		physdev.h
>>  ?	physdev_irq			physdev.h
>> @@ -143,6 +158,7 @@
>>  ?	physdev_restore_msi		physdev.h
>>  ?	physdev_set_iopl		physdev.h
>>  ?	physdev_setup_gsi		physdev.h
>> +
>>  !	pct_register			platform.h
>>  !	power_register			platform.h
>>  ?	processor_csd			platform.h
>> @@ -158,23 +174,30 @@
>>  ?	xenpf_pcpu_version		platform.h
>>  ?	xenpf_resource_entry		platform.h
>>  ?	xenpf_ucode_revision		platform.h
>> +
>>  ?	pmu_data			pmu.h
>>  ?	pmu_params			pmu.h
>> +
>>  !	sched_poll			sched.h
>>  ?	sched_pin_override		sched.h
>>  ?	sched_remote_shutdown		sched.h
>>  ?	sched_shutdown			sched.h
>> +
>>  ?	t_buf				trace.h
>> +
>>  ?	vcpu_get_physid			vcpu.h
>>  ?	vcpu_register_vcpu_info		vcpu.h
>>  !	vcpu_runstate_info		vcpu.h
>>  ?	vcpu_set_periodic_timer		vcpu.h
>>  !	vcpu_set_singleshot_timer	vcpu.h
>> -?	build_id                        version.h
>> -?	compile_info                    version.h
>> -?	feature_info                    version.h
>> +
>> +?	build_id			version.h
> This is misaligned after this patch. You might want to fix this on
> commit.
>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks, but what's misaligned about it?

This is one line where there was a space/tabs mismatch before, which has
been corrected.

This is what cat -A thinks of the delta.

 !^Ivcpu_set_singleshot_timer^Ivcpu.h$
-?^Ibuild_id                        version.h$
-?^Icompile_info                    version.h$
-?^Ifeature_info                    version.h$
+$
+?^Ibuild_id^I^I^Iversion.h$
+?^Icompile_info^I^I^Iversion.h$
+?^Ifeature_info^I^I^Iversion.h$
+$
 ?^Ixenoprof_init^I^I^Ixenoprof.h$

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 10:27:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 10:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708198.1106855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxOz4-0002WU-Mf; Thu, 18 Apr 2024 10:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708198.1106855; Thu, 18 Apr 2024 10: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 1rxOz4-0002WN-Jc; Thu, 18 Apr 2024 10:27:14 +0000
Received: by outflank-mailman (input) for mailman id 708198;
 Thu, 18 Apr 2024 10: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxOz2-0002WH-Su
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 10:27:12 +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 37075ade-fd6e-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 12:27:10 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-344047ac7e4so1146049f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 03:27: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
 d2-20020a5d6442000000b003479bec98cesm1461969wrw.115.2024.04.18.03.27.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 03:27: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: 37075ade-fd6e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713436030; x=1714040830; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=bzCIm9h/4Gv8VYxZvFLQWXI055QtgevYfLngtXeC0Dc=;
        b=MbAuwtvgi3X7tmVd6PEciIfTtpRUOewriihO0mCYvub2oXcmEDRVBXKigB7sR7zO3E
         PuykECvCv+cYEMOGr/fKeIhhKW32zvARK65J+fSKWG4wkwgaIKVhfim5qllZe07qQdPS
         W+WddsTGgVcIkFrF998VZQpMKnnjNo2ZuIimL7qb6s+4R+tVsfRphbSYP+SI3hj340rc
         PZQFslNffx0zpvLOGr2MrA+35m2oJYO/+t0lYKjxKJbJBM9+EJlHwC7gLi6bpO0C3Kyi
         NRZQiL6KMl5hTYM+VE5PVqrcMs68jx1h8k0w9Kzb1uI6dJRs3eT8YY1a2Rjpj0FuN5Jr
         +l1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713436030; x=1714040830;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bzCIm9h/4Gv8VYxZvFLQWXI055QtgevYfLngtXeC0Dc=;
        b=ffl+4Cs6pBJfUGKhD4zlKOj6zQDfJL6RvMYATg05JwQ04pRqS3hI/WdbSKrWXSz2Rw
         sKxIqQ9sN9nyB/sx90fbNK1N0OiiWt/FYt9HsioRGslYX0ZST5HOwf98Tcaoiu0PEAnT
         ZzusyIEM42nlTtxkmdFV35xitSn5qJLM8Owu/u5aR6qnrXNzKEMpAXtCD19DI7yZUdRl
         kL6TkakKJwnMRi2lGSvA6uV5cHaD73SHL/Lzcs7RzErMG8X3RZ8almsmI8pagelZz+Mo
         c72piaJqOR2caoSV+kYIaUUUV+JVkFimGm/L8Xl2TERGXGOr43hyHLcwIhGz1kZG5neX
         MRXw==
X-Forwarded-Encrypted: i=1; AJvYcCVt83Dd7pxxGKQ6cqFLT/OR4eWpURXmAFNl3mZbm2U6lw93B2x3IjOokVKJJKVKv31mwtFZ1xKMK4goz1CGI0+T7dp5B8Xz/+OsKwAGKqY=
X-Gm-Message-State: AOJu0YyWHx+4hu7YLEJsvoovXDipl6Xbtycksia1KY8A+rLx5YYNPXTS
	uky6jzBrLtCJByB4JckDiJl+2l+yh4kyK4Q3nQe/cUah3EvZAf1O1zzgudGXtQ==
X-Google-Smtp-Source: AGHT+IFn3SjbYO58cMa+Qzj9CxJarKCHBHPp5y/qMJtsvcoZ4r9TWCyAu/eg8c4WZD7/82JLQD+G8g==
X-Received: by 2002:a5d:6a4c:0:b0:346:47a6:e77e with SMTP id t12-20020a5d6a4c000000b0034647a6e77emr1346800wrw.27.1713436030254;
        Thu, 18 Apr 2024 03:27:10 -0700 (PDT)
Message-ID: <d100385d-007d-4b20-9bbc-51ba06b4e8bb@suse.com>
Date: Thu, 18 Apr 2024 12:27:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/emul: Simplify segment override prefix decoding
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240411152314.1755561-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240411152314.1755561-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.04.2024 17:23, Andrew Cooper wrote:
> x86_seg_* uses architectural encodings.  Therefore, we can fold the prefix
> handling cases together and derive the segment from the prefix byte itself.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

I notice we already have suitable BUILD_BUG_ON()s, as we use similar logic
already for PUSH/POP of the selector registers.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 10:44:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 10:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708206.1106865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPFm-0007dZ-55; Thu, 18 Apr 2024 10:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708206.1106865; Thu, 18 Apr 2024 10:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPFm-0007dS-2U; Thu, 18 Apr 2024 10:44:30 +0000
Received: by outflank-mailman (input) for mailman id 708206;
 Thu, 18 Apr 2024 10: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxPFk-0007dM-Uy
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 10:44:28 +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 a1205026-fd70-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 12:44:27 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-418dc00a31aso4910425e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 03:44: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
 e2-20020adfc842000000b00346cc85c821sm1508135wrh.89.2024.04.18.03.44.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 03: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: a1205026-fd70-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713437067; x=1714041867; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WyTMC05f8zIiysE3K7QC8zs3oYC74Bt+N2EiLX734UE=;
        b=WLIADQ9a4LvAoKYgAm8OEyDpzHlyBMnV/bYiIxD+OC3yPgdVS2M6wZMYsTnug1B5q8
         DNkAX0jJpnGlA1akOgsnegzHrgS4LdkTJbYnJebhrP0jBopiOTUCkSUJ+EB+oj2kV9d8
         VYAGmZUgvax0dWp+rrBgjAxu72nCfKSETviXSnVHcQr4BKJHm2+9qlm3tgqy9RjopDcU
         6OeqfF1nfaAQ0436QzZ3FxxQXDrkgWgWOyw9X4vQm130j9FJxAFrxgBaqlA9aCkqHinl
         wuQjDsx6BzQkmCtBJMkUYFPKWJ9Rno9DW/MwZN7DrcjZ6X29C6ERCFukxsF2h2GuB4a2
         M/vA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713437067; x=1714041867;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WyTMC05f8zIiysE3K7QC8zs3oYC74Bt+N2EiLX734UE=;
        b=RUdZvM/HSm8RWioKKe0aoz2pAjj3+v/GiKJghp0qpRC9uo+bofN9BKPSxFCLFHu7ZX
         wsUh1lPL68zGxH/5FX6rPupV99Du/e5kAu+Zgzq5fhT/GNHCbsF+O1U4FihuWCk1AikD
         kozrSwjsISuoKE1NBDinsL03X3nvCihLySu+/hLKA0nzKu4yuuIoVrKTh7STXcLhct9c
         P4bC+b3Oh39ws0JlbPY1UqT1aeV8aqOmIcBve+fCtrEJ/8obB3CLWT8U/2hyR5QHTSMm
         8+/ZwuT/RRmsU8mhXw3jelxmh7M1UI8cYkaBKKf0HsMY1TPujorasKKse574yPmWnnic
         KPaw==
X-Forwarded-Encrypted: i=1; AJvYcCWbxcOmmEizgCSLti7+uO7/9QRl8ELLVwezilg0UOmnQYS9az3JVSUz0K0AR3zitiLwoRHfpu1GJqMSFs2+GcUt1E9ly7SbsR13jbDW8yw=
X-Gm-Message-State: AOJu0Yx5Kxpdu1/nnvh7XhyJoqiI6SuQDQLzqPl62ekcsXIk8609vCDE
	L/9Y1EyvwOZsSTrmFAZynt1+1bHT9A59g0sVbl78Yysf2r+BIZFxOTFLYAPT1Q==
X-Google-Smtp-Source: AGHT+IGQ7Xyqwg5jmRj54XHXG0RKOP25un7IysIq/xeFBvWgfTEhLaBrzar70uHu2hD3Lxy/YLF+zQ==
X-Received: by 2002:a05:600c:3d9b:b0:418:a620:15a1 with SMTP id bi27-20020a05600c3d9b00b00418a62015a1mr1754121wmb.30.1713437067246;
        Thu, 18 Apr 2024 03:44:27 -0700 (PDT)
Message-ID: <cc211dbe-9d95-46aa-8167-558acac7a3d3@suse.com>
Date: Thu, 18 Apr 2024 12:44:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/spec: fix reporting of BHB clearing usage from guest
 entry points
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240415141737.88236-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240415141737.88236-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 15.04.2024 16:17, Roger Pau Monne wrote:
> --- a/xen/arch/x86/spec_ctrl.c
> +++ b/xen/arch/x86/spec_ctrl.c
> @@ -643,7 +643,7 @@ 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"    : "",
> -           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
> +           opt_bhb_entry_hvm                         ? " BHB-entry"     : "");
>  
>  #endif
>  #ifdef CONFIG_PV
> @@ -658,7 +658,7 @@ static void __init print_details(enum ind_thunk thunk)
>             opt_eager_fpu                             ? " EAGER_FPU"     : "",
>             opt_verw_pv                               ? " VERW"          : "",
>             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)   ? " IBPB-entry"    : "",
> -           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
> +           opt_bhb_entry_pv                          ? " BHB-entry"     : "");
>  
>      printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
>             opt_xpti_hwdom ? "enabled" : "disabled",

For one the surrounding if() conditions need similar adjustment.

But then I wonder whether the further uses of cpu_has_bhb_seq don't
need switching, too (when determining whether to force
X86_SPEC_NO_LFENCE_ENTRY_*). At which point the question is why
cpu_has_bhb_seq exists in the first place: It in particular does not
affect the default calculation of opt_bhb_entry_*, afaics.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 10:47:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 10:47:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708210.1106875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPJ5-0008BR-LB; Thu, 18 Apr 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 708210.1106875; Thu, 18 Apr 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 1rxPJ5-0008BK-HS; Thu, 18 Apr 2024 10:47:55 +0000
Received: by outflank-mailman (input) for mailman id 708210;
 Thu, 18 Apr 2024 10:47: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=9OU+=LX=epam.com=prvs=083815c34c=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxPJ4-0008BE-4Q
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 10:47:54 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b053ca2-fd71-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 12:47:53 +0200 (CEST)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43I6XnsN014335; Thu, 18 Apr 2024 10:47:43 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3xjnq72407-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 18 Apr 2024 10:47:43 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by DB3PR0302MB9064.eurprd03.prod.outlook.com (2603:10a6:10:428::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.41; Thu, 18 Apr
 2024 10:47:40 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7452.049; Thu, 18 Apr 2024
 10:47:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b053ca2-fd71-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yi4ysmQqyxJWCQZYSWswvWq1c9tl+xndqDFJF1RTmVEZEc1gLaIyJ47EPyLAKHlyEgO6UfNsj19xE3C5u0aBbWua5dFGTY9L/EboNJeyUM8lyae1FSmU9+Pbf+YMl3ASFWc+bJUxKoznMirkO9hv7X1fJg+Tv5VdG/XlpzdpInWdvxDoTA06hZgGnSeJanq9i03H2265q4zjyu/fRntt+edyAjFX71BQsADdOvg2l2JnJRc1gbBuFIisAq7mkOn/1yq5o6BIMmcSL40A2bbkQG2Vw2LaZ1WgM1TlbF8qiB1XBbYJEURV0QF6vuCIxcruNJuDzGQTPyl291L9ZaR0ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xDk5kIw2oYsCMB0+djCuWaLw+tKH6hMN4lLH0Oxfk/w=;
 b=KLvzFAw+/JZR96JGWdAy99s7dbN8Bz0G8fvBO+2ZN7ieGHR4Apigdk/w0zH6jIMp+TYUbbRiG7oa8KbyB9/s1fW/RmP8yqtQ4mR8bTfUlD0Qau+TH+QmmbmirMssRbC1ZIKlBfG5ocTttRCY2nUxWZEIIr66x/2r7rE87QPjVvJdBkVqXr65o1uknyP/J2EKgCwIvhF3WU7orGijewXVH86ZCz+60ReWUX/8y/k0FX1o3RuT12YtSP5dn9YuIcUypQF0J3qKGMhJPXjSWHHC76VDno1ETnoDqrMIpD0Y/Z1bz70OKOWnPW6q8z8Cjx/QaT0IQk7K/ddMQPgDNfWZbw==
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=xDk5kIw2oYsCMB0+djCuWaLw+tKH6hMN4lLH0Oxfk/w=;
 b=sKU+LC2F4e7bb8MXS0iX6ajdXQwSpR6AeKQNNVjikxPRWtDwJSZGLg20QQgAbS55Kvl/+zL08wxuJTxoeud1b9U0xmNcZwmDdxeL/g+6AtMzcU9Nwf+PQlKViL6qijTyctimtRKNAzpBNv4re1ld+NIsGN6ZulTebllZm+xc9hG+yyLh9leFSTMUX/diMI0ySlkkNDIikVebheijaLzOOKIDtfZQaGnuF4qApcd3hqKxm4pEo447HarJhyLRvZdGaVKx5qq0GeRp8LWcatXcL6jbVCA8wUE6FLpV+NgHZClwKSM8LnTw2wylBFlIgl5Y0y2E3mST9VdLq7HQr0Z9sg==
Message-ID: <5b365a50-cfae-4b2a-9a9b-d4899d6feab6@epam.com>
Date: Thu, 18 Apr 2024 13:47:37 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 06/15] x86/p2m: guard altp2m code with CONFIG_VMX
 option
To: Tamas K Lengyel <tamas@tklengyel.com>,
        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>,
        George Dunlap <george.dunlap@citrix.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>
References: <20240416063121.3469245-1-Sergiy_Kibrik@epam.com>
 <26950422-3476-4679-8636-405272c279dc@citrix.com>
 <CABfawhnOwWLNe4PPFfdjXViCbUi=gfVZBQs9GH0WcMbDgn5Bfw@mail.gmail.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <CABfawhnOwWLNe4PPFfdjXViCbUi=gfVZBQs9GH0WcMbDgn5Bfw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0002.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::22) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|DB3PR0302MB9064:EE_
X-MS-Office365-Filtering-Correlation-Id: ddce05a4-4f28-4aad-076f-08dc5f94f7f0
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	ZsO8LmbBqsgRbHH0ag1Hj0f6LyDWpktNrHbON95NZP5YTl7AiYdDFJFI03NmgNW+0e0b4oZTfqwM6SBsJd7JIILrmLhs+voaQRNLHSq18D7wqH5ueciy9u9EbjaWe3zCiSREGFXs2rFtjxuCY7J6jbWgtw7PWx8zDiJWbQfM589KxsCF27CRQ6MMYwJUsHFwKvZFNvW+aqMZvAb1z5cwjyZL1JSyNPzPS4lKMxpVPmvadovMwOVXcfyhfbsqWd1qO8FCTrEvFP9WP6Hfw7TVai4hHmAPb8vW5kRgpDSNy+d/0LTeo7Epjm1QJc3OxdG6iFIlBy7twpSaH5pP/OgKztI5wtdBc/PSk5fV0BzUfJaMYG8sB3QqJvg19iWcbDmH/1NWjeHxOku54N9z/5MGMKlprgqROsAgrtcvDBcvq2WaObmvVZsiN3cCExeTeX7mTQQPwWWikzS+UFR47CCKdwYe4UbN5PWDqh//UgGUk3eIywZflziCq3Twz/fuF4iufwK3niIR6wtyJmf3G8jnhx843bYkqBTbQnjFYTOnHx8X2TMhhMFDTTLh+wjLJ13jeJZs/A59DbI5vP1zDjXbGXjO6QAs2cd8HgV1O7zWdgR5kVir4eIOAmG+tv3HwIbOOgOe1CD/rd2/gvcF3LJe9gzpPCwULCk2W8mkSkAxVVw=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?Wmp4bkhDbEh3R3BjN0lSOE0vVmJpRG5aUlNZMlNYNG42cm4wNzBDdndwZDNh?=
 =?utf-8?B?Uy96d1J1RjFmWGRaZFBMTWFSVXBmRTdKNWpHdWNRMWltdWwxYjR3SVhaTmU5?=
 =?utf-8?B?NVlZNGROZFlMcXVZdjhWdFFGaHkrYTBiRjlxM002QnBicHZzUDQ3VDZzNlhR?=
 =?utf-8?B?aUtZUnhQbmw4KzJkR0hFbU5ad2pDM2xybWNnSUpSQTkzanJRbUxCYTBNL2xQ?=
 =?utf-8?B?WVJqdFUycFVrVEN1MWo3RkNISUJ6RGVpRnJmMFA3b2Y3aEtzd2VKRWNkbUNJ?=
 =?utf-8?B?Z1VFUUxQSVZGT1VoVjZJa0RCRGpGcjBVdmpDcHNOb0sySnFxSTB4a3NlK0RD?=
 =?utf-8?B?dEVSZlR1WmQxYU9XeFVYUVdFYk9QSW1ZV0JrV0tNaXJUbjhNWWd5R3BGOWk2?=
 =?utf-8?B?cWl2emREUFcvK1JIbTVFWGxiUXhHZ1NvVHVYTlRkeC9UemNld3JhaUtmcE1m?=
 =?utf-8?B?T3JWQURPZXE2Zlg0aTRVS1ZMQ2hjV0tuY3ZsWnVrNldtYmxpek1WaUMrTEE2?=
 =?utf-8?B?R2pZam9uVElHOWdYVjg4QlBibVBsRHQ4UnE3cnRZaFY5OVU4RFV5eEJyMGVj?=
 =?utf-8?B?cGZuWXIwM3VEcy9ReGJ6Mmx3R2JxY2RRR2RoaXJoRjh2WFJRMnQ0TUpPYVFE?=
 =?utf-8?B?ZitLZjFIMTVoM011TDRmZXRiYjc3d1VSTmd1ZGxndnV2NkNrc1VtVHBTZThL?=
 =?utf-8?B?TC9HMXRYbW5qN0IzbEJVOFZBaVdVNHk2TWRiRUk5YmJzcCtzWktsTEV5Ujkr?=
 =?utf-8?B?d0RiSWhJUzhCR1I5bzY3Z2VvVlp2MkU1a1FjS0xUQ284TW9Zd0hYS21zQStB?=
 =?utf-8?B?TWFlRUtBeDVRTlJ4SU80aUhLTFFaUlB3Mnl2QVFGOHlEK3NoOVpzZVpmUGdw?=
 =?utf-8?B?cmMxdVV0NXRHL0IrS1dic29wOURNdVNwMVFEbnljWlpobVVmV1RhM3Y1cTlV?=
 =?utf-8?B?QVd3amFHS0ZmcCs1NTlGekhPYitlazVBZHBWb1VuUDlkeCtadG1iSTk2VVJN?=
 =?utf-8?B?TDVPeHErZGRFY3pyOC9Ha1lzRGhtRUtsVnBoVWR3bjFqb3Q3YmRkZEUvWldF?=
 =?utf-8?B?NWhXUUxJZ2YrWnpUK2Y2bHg4bnY2RWwyQnRhWTJxZkJxOUlKZlE1M0pWd0Z3?=
 =?utf-8?B?MW9yd2M3WFcxc1cwc0NPdFFvcHBLQTZxRmRjK1VvVmR3TUNBdm1Ic1NnQUov?=
 =?utf-8?B?MEtLRXNESVY4c0FLNGtOeXpjai8xNExLSVlZeDBRQ0lWZmNVejRJenV0WWJX?=
 =?utf-8?B?MzczYVh2WWRMUzhMVUlMMWY0ZGZScVlVOWpLUUFnazRxWXllS3lDUG1TUzZG?=
 =?utf-8?B?ZEM4VEd0eE9WU1Y2TlNrdFZ1OS9iYXNlazNzL0xRRUhoSXZzNHRpbXpBb3h3?=
 =?utf-8?B?cGZaL2p2ZllHNDl2eW02K3MwREZ5aVVUekRQU3JxMlJQaEFzOTFDaDZaUmZG?=
 =?utf-8?B?ZjQvL1lSNXFXYmlsTXhQUVVpdTJoN2ZmMVhJMkhKOTVyNkpVOTREb2c2OTVt?=
 =?utf-8?B?U1pONnZoV2hLeTZvVHlqTkpCaUFIbUNwUGRucUpuUDdWWGRzeGZUbDYvNnd4?=
 =?utf-8?B?Um5idFZuejlYSUgyRDN5alNKT05reUV2YVlYMGV2L21TQ1FEY0gyR3JURXZw?=
 =?utf-8?B?ZHZHWkVCditzemF1VEZHSlNvTHFseldhdDYyc21Ga1JHa1UzdWx0aHZ1S2dj?=
 =?utf-8?B?R0dydEVoRTIxQTB3dXFoNWt0eDlBYWZ6d29NMHJiVGNLaW1NZTBtUmt2ZGs2?=
 =?utf-8?B?eExKWWY1aDQ5L1pyRFZVRnMyUWk0TTc2azVVQURZY25LREVKMHp1c3IvditT?=
 =?utf-8?B?SEhkbkowTTNXV3JxRklRdUZCbWdnWGZ6eE1sN3VyVms5QXRiT1FTeXpHWG0x?=
 =?utf-8?B?bFhtRC9GTlN1UlphRTk0ellsb1hsVHZ3d0p5T1A5cURucEZ4RXRPenVBeURM?=
 =?utf-8?B?S001dTlSQmxwNzdIdm44aU5peGlEeThvNkZPaG5ERW9QUnA1SVI2SHpXV1hX?=
 =?utf-8?B?RW92WWVZc05PNGFtUHAwWHdhck5id240UTRHSUY1UloyNmlPOHVkRHhFdExO?=
 =?utf-8?B?aTh4UTJ4TFBlRGhFRWg3WFNLMjBtR2JyajR4T3orMmpBa1FRQTZJeUZnc0pq?=
 =?utf-8?B?VEFCNk9JeHY2aXUyOWgzRHVTMnF0Yk9sM2RQaHptVnB2NnFwcGVuR1Fmd0Ra?=
 =?utf-8?B?cUE9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ddce05a4-4f28-4aad-076f-08dc5f94f7f0
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 10:47:40.1250
 (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: 7YHrvv7uBR3u6DCAR3V6bXQklY/pVzh0zTftRsNl7len6YLN/mQR00W1yOO3MmtN7ASIhD9wPepZ28DwHAHpyQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9064
X-Proofpoint-GUID: ZtSusFjPvPBxPoAmbeZpRMlNF7Yb34tz
X-Proofpoint-ORIG-GUID: ZtSusFjPvPBxPoAmbeZpRMlNF7Yb34tz
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-18_08,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0
 malwarescore=0 clxscore=1011 adultscore=0 mlxscore=0 lowpriorityscore=0
 spamscore=0 priorityscore=1501 mlxlogscore=999 phishscore=0
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404180076

16.04.24 20:03, Tamas K Lengyel:
> On Tue, Apr 16, 2024 at 3:29 AM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> On 16/04/2024 7:31 am, Sergiy Kibrik wrote:
>>> Instead of using generic CONFIG_HVM option switch to a bit more specific
>>> CONFIG_VMX option for altp2m support, as it depends on VMX. Also guard
>>> altp2m routines, so that it can be disabled completely in the build.
>>>
>>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>
>> Altp2m is not VMX-specific.  It's just no-one has wired it up on AMD, or
>> accepted the long-outstanding ARM patchset where it was made to work.
>>
>> If you want to compile it, you probably want CONFIG_ALTP2M.
>>
>> However, it's not even x86 specific.  See the uses in common/monitor.c
> 
> As Andrew said, it is not VMX specific so shouldn't be tied to that.
> Adding a CONFIG_ALTP2M would be OK.
> 
understood. I shall go with CONFIG_ALTP2M option then. Thanks for 
clarification!

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:06:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:06:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708215.1106885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPak-00041A-2z; Thu, 18 Apr 2024 11:06:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708215.1106885; Thu, 18 Apr 2024 11:06:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPak-000413-0F; Thu, 18 Apr 2024 11:06:10 +0000
Received: by outflank-mailman (input) for mailman id 708215;
 Thu, 18 Apr 2024 11:06:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxPai-00040e-6m
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:06:08 +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 a52a7f6d-fd73-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 13:06:03 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-418dc00a31dso5943715e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 04:06: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
 h7-20020a05600c314700b00418f308091csm563453wmo.48.2024.04.18.04.06.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 04:06: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: a52a7f6d-fd73-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713438362; x=1714043162; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=VhK1ZshKcZ2qaOnJQ6VPCMWbvpcTdm85fk7zi+R8Qa0=;
        b=KWGDzGlQPNpUhbvVRnWWXuCLRYtnKnrof5Q1DoccyUKGWH7dT7Ltu+7rpJZ0vRnAtn
         7+nVhSIpryXtoE/I3N3CONB22MbI2OyLqHuch2BUeS1nYLvELuUrhSmtk/UGvz3erGoW
         znzLtF6AR9RLdJZ9ZzSwoA2NTwUAdz8DklFXAIWJapUx9kSAqECR01k8MjYv9wgdmOk/
         YpMG8pAaDQmM6C/rrHaif+PeijJKnlfLoZijcCksImm9Ra7XZPoHCF0F9NSRd1Dj70lp
         EH6wueykbBO8xtoPthjFVHI25CCmx7MlyBLXhqijSIo9j+BzbHzCPdv7iCGqsfJsbzsq
         +Rpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713438362; x=1714043162;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=VhK1ZshKcZ2qaOnJQ6VPCMWbvpcTdm85fk7zi+R8Qa0=;
        b=qMSBtmmf+IU09kA6Cx4p11RXgEaAVcyjz/maJk+wxymwqLKG5q7MgW+17SI3i5DO9e
         KD29KYVShzwuBfAEkiVmD3grjxPzxidJ4lBo/5XJBZ7kgFuwfPv65RZy5hFNCRLhhunh
         DE9IKuwxMdfo5/ogWq0POLeXQQwcj3VR6qGtI5MN3wjrRWz0VayMRhvrY08CINjnw2XQ
         aMccpBOngn+M3fZoNfy/FS36GjH5U1vnKrqyaezHdRzTBGrHIhf++rAo6SGe1ZMnKHyo
         vAshjQ327sMW1XhG4jYyetWY0O6WMb3REbBSVw6xAZsgFnywHab7/r+5ln9BnbtWNatc
         Yilw==
X-Gm-Message-State: AOJu0YwfQJ7923texKnCZm4ry5JnW0d16Hksc79FgcocgOGMEJ8s1GgW
	OAJgAMsDX1fhI5bqv3mvXelyehFpeWNAmmphoBc1uX/L2n2T+HvzrcBHL5k8Tg==
X-Google-Smtp-Source: AGHT+IGhEMbpQOOc27Q/u+Z3K/u/WR4dMbV17PxWlJcJdOcKlhP/yaLyYFq4RDi4n2sfQvWHU4XOyQ==
X-Received: by 2002:a05:600c:4fcb:b0:418:969b:cb37 with SMTP id o11-20020a05600c4fcb00b00418969bcb37mr1950850wmq.39.1713438362530;
        Thu, 18 Apr 2024 04:06:02 -0700 (PDT)
Message-ID: <07d373eb-2859-41dd-8bc2-834a76337947@suse.com>
Date: Thu, 18 Apr 2024 13:06:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Rewrite DOS/PE magic checking without memcmp()
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Federico Serafini <federico.serafini@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
 <Zh92vsPzuHjTIs21@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <Zh92vsPzuHjTIs21@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17.04.2024 09:14, Roger Pau Monné wrote:
> On Tue, Apr 16, 2024 at 04:52:51PM +0100, Andrew Cooper wrote:
>> --- a/xen/common/efi/pe.c
>> +++ b/xen/common/efi/pe.c
>> @@ -111,7 +111,8 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
>>      UINTN offset, i;
>>  
>>      if ( image_size < sizeof(*dos) ||
>> -         memcmp(dos->Magic, "MZ", 2) != 0 )
>> +         dos->Magic[0] != 'M' ||
>> +         dos->Magic[1] != 'Z' )
> 
> For this one you could likely use strncmp()?

strncmp() against UINT8[2] wouldn't be liked by the compiler, I guess.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:09:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:09:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708218.1106898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPeI-0005O7-WE; Thu, 18 Apr 2024 11:09:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708218.1106898; Thu, 18 Apr 2024 11:09:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPeI-0005O0-Sy; Thu, 18 Apr 2024 11:09:50 +0000
Received: by outflank-mailman (input) for mailman id 708218;
 Thu, 18 Apr 2024 11:09:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxPeH-0005Nu-Ti
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:09:49 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ba36f13-fd74-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 13:09:48 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-34388753650so331805f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 04:09: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
 y18-20020a056000109200b00343300a4eb8sm630506wrw.49.2024.04.18.04.09.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 04:09: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: 2ba36f13-fd74-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713438588; x=1714043388; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZlChCvj/M8OawAmjv/Qjcp6V1xQnjZVmsinFhTGb7Bw=;
        b=AIHIqak0l27sG8/XX+ivFApINpGgH7ABl7U7TG4qreTgE9Ntv+UJbr3nnezM6qmBJw
         CKIswEdMYcHwC+tFn1YSFKqhXDGVQ+QlmkU9Cw5z5OQTm6n3+cwiSWbiBosCk332Hd19
         vA5ZCBgNzxAp+S5lj3zJxMi8NEeqAH1wKz765/uX/Noz7B59d87KQTd6zIM/ZZGlqunC
         znPZbBOPhxcoG+AqDpzJOhjEjdjj0dclGOj7yGSbZTaaado+aE8ojMmk6ie9NjycYEoI
         E3VS3JKpSLCI6o1C79X7ripB/u6yqN+gybBNZz7alGL7wjZvADFDK+q6GRXR2PigKBrJ
         Rvzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713438588; x=1714043388;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ZlChCvj/M8OawAmjv/Qjcp6V1xQnjZVmsinFhTGb7Bw=;
        b=Stprc5siQFNOmGgy+LFOG9W9xGQUyeeAGCDAc1JprRnMepgT2JM0uvV1nORNYGk3O2
         6G8bqXS9e+aZReyCbC6P1LcGggkpwmhtecoaoXSdplhSODZ0KNaK61IXLW8cnU09Sxa0
         k1ebBP9X+f/TS/tF4l+hVegNUkZyBycFZ2QA6e3kDuyGRTrCGBq9/fb4ol3NPy3jyVKv
         4wiiIOmRhPEiEE6mPNjDz82fCNS0w+Pxv2pN2VjZdRKWZFA5qqQlYvLFLvBUP/rAOAm1
         I3EcQXXNCdX293YlXPc6VE936hxqRaWldQUw3ckJNs3t4qVtMTpWHF5xOIbwe53KYIrF
         0Ibw==
X-Forwarded-Encrypted: i=1; AJvYcCVF7s0EUHLbEH0CJDIA8uch1LAfr+d5hdvMGq25iKfbwuPtQbxEHbXRDEq902A0i/cIdBCd/DlZ3Dcz+ScIJmFW++BepmFX33rhHr1CCzs=
X-Gm-Message-State: AOJu0Yxy5h0FqcbfpvoHmbfMmp4iK8+vUmER/0Vj4yF9d579MiX+TkAh
	+SIJAtz1BTnKaZAsJgxEf/UKCY1v8O3O0i/jiyfuc6Ayz0GhAOtZMIVZs1kubg==
X-Google-Smtp-Source: AGHT+IE+S5+24sx2PK+0VhS5RdpQoSG5QMBKsteqKwDnTFCsZHfOJSjroplxbGcv+MV7fYYQDI57bA==
X-Received: by 2002:adf:f2d1:0:b0:349:8ae9:b01f with SMTP id d17-20020adff2d1000000b003498ae9b01fmr1638082wrp.1.1713438588148;
        Thu, 18 Apr 2024 04:09:48 -0700 (PDT)
Message-ID: <e494f047-d2be-4467-87c3-7908d98767bf@suse.com>
Date: Thu, 18 Apr 2024 13:09:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Rewrite DOS/PE magic checking without memcmp()
Content-Language: en-US
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>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Federico Serafini <federico.serafini@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 17:52, Andrew Cooper wrote:
> Misra Rule 21.16 doesn't like the use of memcmp() between a string literal and
> a UINT8 array.  Rewrite using plain compares.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
after having realized that sadly gcc13 instantiates the compound literals
(that I had thought of using) in .rodata (or one of its variants), rather
than leveraging them being as constant as string literals.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:16:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:16:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708225.1106907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPkk-0007Gk-Ow; Thu, 18 Apr 2024 11:16:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708225.1106907; Thu, 18 Apr 2024 11: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 1rxPkk-0007Gd-MH; Thu, 18 Apr 2024 11:16:30 +0000
Received: by outflank-mailman (input) for mailman id 708225;
 Thu, 18 Apr 2024 11:16: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxPkj-0007GV-Pq
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:16:29 +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 1974cfcc-fd75-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 13:16:27 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-418a02562b3so6186295e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 04:16: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
 a12-20020a056000100c00b00349ceadededsm1598066wrx.16.2024.04.18.04.16.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 04:16: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: 1974cfcc-fd75-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713438987; x=1714043787; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FMNGKzRzUdfJ3G/0b2iRXr3nsFYo6Mcz9mjsNx0KCi0=;
        b=EMQGYH7ASrx6LEXRXHyjbNUMNhFaMgNB72WyRkp2hqhdEvWebL7W6FCH4NEuTrd2kh
         /cMeXuW/KsQkCfBiQh2vwCjYwAYVo24nv9736Px7SneuWvCR3Yzo6wG7cGDpZj6PByTB
         Ps3DwX+RMa7vftUuK+0Rw48FJ+n0PWr24XRKV++RTAuyW6leZ40/l9goafUwljv0MINj
         /SCeNYHBlZu9rrp+QiobZEqMH2XbgsFRqOqGZvwzA+PeiXh/ZdIvDKboXZ03ET/qh2XC
         vPir5Y148jTHMN7WZBkJm8jG11hhDfahjjbkeucGi99m0fbeuvFs4oKeQpiHB0LIFb0y
         AV9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713438987; x=1714043787;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FMNGKzRzUdfJ3G/0b2iRXr3nsFYo6Mcz9mjsNx0KCi0=;
        b=Um/e7PgT2GajRWvQ6abLu/SF8IjhbJ9V1tMxMnuvNkzXY4W/I4/bAH0rfXQOorjkpg
         YoAIAkoS5Hy1owbKQwCWcNOA6E7ROmQtnHpQ+pEYW+4xn8tCT+ZUwQA9NsUqFgHDQYVr
         h78J+wS6x06JiA9ZhV66iTUTA3rpX1/hU/D3S/Y8jYEZVCpkB6neruf6lxvRdvJGr3KG
         kHNBjb3UJfqLvlvDjWYeoE0z1J/uv40AMeNSyX8CK3D4wRuyQcGHDUfZhCwlhNqbbaaM
         QkKGq7/ec/QYFba7pz74dhnm1j6aTvhaPJnT2NK7Ouz5dhH5N9cHf9GF39crCWm31U/+
         BCkg==
X-Forwarded-Encrypted: i=1; AJvYcCWLl3RretGJqXFpMBGj+CDttpcQpSLkUSZARF9EiT45R2SKkaAU1A0Mc9qbgPTJ6IhnrpxWn3k2GtAuBcA7t+cIft9+GHvGGFSUxcsESiA=
X-Gm-Message-State: AOJu0YzgOslYxnM1dFBKuqgDLQtsVrQ+bZNK+ybhWioEetVkakwrCKl7
	dNBkieyT+Y9V19bBaV8WWUhJzyDC053STIC2ys1TgpQGEHCSdkT1+RzKRXkrtg==
X-Google-Smtp-Source: AGHT+IHlkGQlv1GSZcuHWNdAlgXqxkh0tGTRSB2V8bQuVp1PlmMMwK5iaNoaalsO+64M9HrspNFd3g==
X-Received: by 2002:a05:600c:444a:b0:418:49ad:6fd3 with SMTP id v10-20020a05600c444a00b0041849ad6fd3mr1620672wmn.19.1713438987023;
        Thu, 18 Apr 2024 04:16:27 -0700 (PDT)
Message-ID: <6166e740-3710-4687-ba1f-d4058a2e3d55@suse.com>
Date: Thu, 18 Apr 2024 13:16:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 01/15] x86: introduce AMD-V and Intel VT-x Kconfig
 options
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240416062052.3467935-1-Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416062052.3467935-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 08:20, Sergiy Kibrik wrote:
> From: Xenia Ragiadakou <burzalodowa@gmail.com>
> 
> Introduce two new Kconfig options, SVM and VMX, to allow code
> specific to each virtualization technology to be separated and, when not
> required, stripped.
> CONFIG_SVM will be used to enable virtual machine extensions on platforms that
> implement the AMD Virtualization Technology (AMD-V).
> CONFIG_VMX will be used to enable virtual machine extensions on platforms that
> implement the Intel Virtualization Technology (Intel VT-x).
> 
> Both features depend on HVM support.
> 
> Since, at this point, disabling any of them would cause Xen to not compile,
> the options are enabled by default if HVM and are not selectable by the user.
> 
> No functional change intended.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

In the subject tag you say v1, but I think this is a re-post? In which
case and with it having been a long time since then it would be even
more so important that a proper revision log is present in each individual
patch.

> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -120,6 +120,12 @@ config HVM
>  
>  	  If unsure, say Y.
>  
> +config SVM
> +	def_bool y if HVM
> +
> +config VMX
> +	def_bool y if HVM

It was probably me to have requested this form, but meanwhile I've learned
(on the Linux side) that newer kconfig is capable to dealing with

config SVM
	def_bool HVM

config VMX
	def_bool HVM

quite fine (i.e. no longer leaving around useless "# CONFIG_... is not set"
when (in this case) HVM=n. Please double check with the kconfig we use
whether that's the case there, too, and simplify if so.

> --- a/xen/arch/x86/mm/Makefile
> +++ b/xen/arch/x86/mm/Makefile
> @@ -10,6 +10,7 @@ obj-$(CONFIG_MEM_SHARING) += mem_sharing.o
>  obj-$(CONFIG_HVM) += nested.o
>  obj-$(CONFIG_HVM) += p2m.o
>  obj-y += p2m-basic.o
> -obj-$(CONFIG_HVM) += p2m-ept.o p2m-pod.o p2m-pt.o
> +obj-$(CONFIG_HVM) += p2m-pod.o p2m-pt.o
> +obj-$(CONFIG_VMX) += p2m-ept.o

Please can these be kept in alphabetical order?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:19:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:19:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708229.1106920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPnB-0000Kg-5m; Thu, 18 Apr 2024 11:19:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708229.1106920; Thu, 18 Apr 2024 11:19:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPnB-0000KZ-31; Thu, 18 Apr 2024 11:19:01 +0000
Received: by outflank-mailman (input) for mailman id 708229;
 Thu, 18 Apr 2024 11:18:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxPn9-0000KN-Q5
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:18:59 +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 733b886b-fd75-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 13:18:58 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-418def30e50so4427365e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 04:18: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
 e15-20020a05600c218f00b004146e58cc35sm5985025wme.46.2024.04.18.04.18.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 04:18: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: 733b886b-fd75-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713439138; x=1714043938; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=uHcEi203e2vk1EnLF0eYemKKOMZaurZNtGdQwkwH48o=;
        b=XAjfKOUBnMuRjE/7lV/CFLdVtb0xLW+mc7iMT3YxJ15EnaVS80Z7oRcCejL9xD/T2V
         mlTugTvNa8KTY8eCzm5wcSCwJqYPoYVSQRdrkU4xbN7zJAYBK9ouyn1NYg7ewGza/dML
         0dfGy4ZSicE19IX44U4CcLzsQ8IMtOIiRGlMnS0p2egffpqMAvCIcBCg8YqJUegRuFbL
         bgSCJ510d46IPqAzKW49BTpA4kIpLo+S6txFVKjCmjMynIJ+cmOnKXzKydZ+wCuRYZc9
         2QtTyFrEGEwdrNMyQBdFi4cisCAk5IL2rDsIYQO7MOqhveSMsryD5DX/q5UvgybQ0/Tk
         lVjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713439138; x=1714043938;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uHcEi203e2vk1EnLF0eYemKKOMZaurZNtGdQwkwH48o=;
        b=ARLcG+Brrhix8hX8x7aahEOXrkClM5pHIOV1M+2U3SbWYyO3KWwazxNGKHYpYq/cC7
         TsGKb2QyeBWJAq755fCH1t4sEaTfNgaqUQhh4Yps3vCxyVDGQmY9mny/PUt6Uoo2r+Wy
         kldJqNo6l2xb6FSEeGwMVLhdrggsop3CX7ZGAbIdI31LdPFGtM9LADSU6owq4xFl6JW4
         MBXxaGHV7y7SrW/+S+05pluZNqAIa1UHIzkIIDYqXgI2Phc3lox4LyytxaeaLqqIXCCE
         DDWAVSt12PQW6Dc4SW8RheBZZzEgSg90gFfKuwKIgCzC4dwDbuALZJkeNstIkBiVX/+m
         aOWw==
X-Forwarded-Encrypted: i=1; AJvYcCUZap0UVrMVeK/P72YzUA+d53VmfZsrMydgMWPkBFA8TGMMxgEVPtPgz0H+PKlqNCIz+PK49Eze79Nz7iZPj4uylNyAFRkQnr6BKKyMhhY=
X-Gm-Message-State: AOJu0YweSo0lWztoncpiz/v6wg2cLoATsHpv0LatxZlw9wEhCXkUg+XS
	spMgLRyZ/BMsAJ+Twp0WvY59UPkAgSHZyWUKMUhuGh/TQsTTmTKARus/UwSzEA==
X-Google-Smtp-Source: AGHT+IH/9777xODx89hQxA9p4KeQxhHCuJgE9AWSBBC/G/k4MaJ7ypPx6uEzetATLLDQtbKlS6FA5A==
X-Received: by 2002:a05:600c:4f47:b0:414:90c3:f5be with SMTP id m7-20020a05600c4f4700b0041490c3f5bemr2000574wmq.36.1713439137684;
        Thu, 18 Apr 2024 04:18:57 -0700 (PDT)
Message-ID: <8fbd604e-5e5d-410c-880f-2ad257bbe08a@suse.com>
Date: Thu, 18 Apr 2024 13:18:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 02/15] x86/hvm: guard AMD-V and Intel VT-x
 hvm_function_table initializers
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240416062258.3468774-1-Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416062258.3468774-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 08:22, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -156,9 +156,9 @@ static int __init cf_check hvm_enable(void)
>  {
>      const struct hvm_function_table *fns = NULL;
>  
> -    if ( cpu_has_vmx )
> +    if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx )
>          fns = start_vmx();
> -    else if ( cpu_has_svm )
> +    else if ( IS_ENABLED(CONFIG_SVM) && cpu_has_svm )
>          fns = start_svm();

Do we have or do we foresee any uses of cpu_has_{vmx,svm} that are relevant
when CONFIG_{VMX,SVM}=n respectively? If not, I'd prefer if the IS_ENABLED()
would be folded right into the definitions of cpu_has_{vmx,svm}, as is
already done for a few other CONFIG_*.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:31:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:31:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708239.1106930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxPz0-0004E1-5p; Thu, 18 Apr 2024 11:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708239.1106930; Thu, 18 Apr 2024 11: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 1rxPz0-0004Du-3C; Thu, 18 Apr 2024 11:31:14 +0000
Received: by outflank-mailman (input) for mailman id 708239;
 Thu, 18 Apr 2024 11:31: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxPyy-0004Do-FT
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:31:12 +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 27a3c5fe-fd77-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 13:31:10 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-343b92e54f5so551450f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 04: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
 h1-20020a5d5481000000b003437a76565asm1622596wrv.25.2024.04.18.04.31.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 04: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: 27a3c5fe-fd77-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713439870; x=1714044670; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=v5Iaesl8Wtddqn1hEetvekHhZV+EdCXbrreVM0ABKBw=;
        b=Ipn/JBki6T4JcWp207UuxNbdpWUQeURdHmlqzMdHPgPvjQfCuTtsSwPddwFviJpWM6
         6+GVaTDZffcglv92YN7T/idqChjPaHGh6ek7oSSc3moK08vRDQJErd39985suHAL2V8B
         yYSpjOz2o3REfukAbNvKlgs+eam6EA3Bn0k3HgbYetpyLWYvuWUz4IHlVv4oH6IVh/5M
         EXqBPIx+UZujSt7ZgyHIRX0QzyWMuC81yFLCOfIbUmiX1enktIdG4u1eZ0iihCV9Ep28
         +6PQfBlqWL8Rqlh4W7wOT8fIfH5c/rLHSPIYU7GM8wrU3cgrfgLQTADnpypiSrJp4+F2
         b3mQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713439870; x=1714044670;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=v5Iaesl8Wtddqn1hEetvekHhZV+EdCXbrreVM0ABKBw=;
        b=lMRRURZ3OsjqGTl8xFir1+z/NWDKcsYOCgKTvUp6LCrUhdoDqe9WWsPDX0N6oFh0mA
         /cpGecbrLbgt9M1JOUx7+4bVsNgR0kH15aSmZOj3hvyRG98A1q5iIsKr0eskBXrID8Vz
         VNmHUbuNb7UJdDjGdt3nz2EVOnBr5gTnvOOJqDLcyJUo+K8OmdwvSgZ2A1jD/tSM0c+H
         nF0OfyBx1wV4Dt9szqYMeYVLIYD3sDoPykGU6fQUYP9m6rcGz3t4R3Cv89H1mNJIf3OT
         5fojv9OLifi6Ek9MNltOkVfchfeUxYpvkjkI7co6S0yzbQ4TMbbIkl6GOsAAdwVKFLZQ
         Udyg==
X-Forwarded-Encrypted: i=1; AJvYcCXyo1LMEM8s7fJIDlg5kLVkSqtFKtpU89Ter0G6wLfn0ABujiy8DiJ2YU7I/R2s9IQf/Lq8Iz9rH2R8IAk5fJEGoibv0+SKeER4dXfy2lE=
X-Gm-Message-State: AOJu0Yyscm1sPek+05UTAwpLfyBb29Y9wgR4D6ZTSRTEa0WFEOC2G1kg
	gx7NF2olF+S1EvTDlFh7+Mt8Lqg2AsBxl3DHOd94C4SNZ0OUPJS+qH0jOjhlnA==
X-Google-Smtp-Source: AGHT+IFLrtS3IC8XnBeet2XRTDnpltvFre7QPdpIHZnV01osIgY7lj9rPWw7mg1/AMqqR3NInLFDRA==
X-Received: by 2002:adf:e60d:0:b0:346:65dd:560a with SMTP id p13-20020adfe60d000000b0034665dd560amr1613943wrm.3.1713439869829;
        Thu, 18 Apr 2024 04:31:09 -0700 (PDT)
Message-ID: <e8435c75-63c3-4a10-b266-6f4133c1cb9f@suse.com>
Date: Thu, 18 Apr 2024 13:31:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 03/15] x86/monitor: guard altp2m usage
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240416062503.3468942-1-Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416062503.3468942-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 08:25, Sergiy Kibrik wrote:
> Use altp2m index only when it is supported by the platform, i.e. VMX.
> The puspose of that is the possiblity to disable VMX support and
> exclude its code from the build completely.

I'm afraid this description doesn't make clear what problem there is,
which may be related to the fact that (as mentioned elsewhere by others)
altp2m isn't a VMX-specific thing. The field read by altp2m_vcpu_idx()
also looks to be zero for domains that never had altp2m enabled for them.
Further, ...

> --- a/xen/arch/x86/hvm/monitor.c
> +++ b/xen/arch/x86/hvm/monitor.c
> @@ -262,6 +262,8 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
>      struct vcpu *curr = current;
>      vm_event_request_t req = {};
>      paddr_t gpa = (gfn_to_gaddr(gfn) | (gla & ~PAGE_MASK));
> +    unsigned int altp2m_idx = hvm_altp2m_supported() ?
> +                              altp2m_vcpu_idx(curr) : 0;

... elsewhere uses of altp2m_vcpu_idx() are guarded by altp2m_active()
checks. Why the domain-independent hvm_altp2m_supported() here?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:36:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708244.1106940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQ3n-0005XX-NC; Thu, 18 Apr 2024 11:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708244.1106940; Thu, 18 Apr 2024 11: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 1rxQ3n-0005XQ-Kc; Thu, 18 Apr 2024 11:36:11 +0000
Received: by outflank-mailman (input) for mailman id 708244;
 Thu, 18 Apr 2024 11:36:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxQ3m-0005Vl-2p
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:36:10 +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 d8f2cd1c-fd77-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 13:36:07 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-418c0d83d18so5517465e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 04:36: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
 iv20-20020a05600c549400b00418e4cc9de7sm1954452wmb.7.2024.04.18.04.36.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 04:36: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: d8f2cd1c-fd77-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713440167; x=1714044967; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=iQJHKDlnitP1kzarCYHDHh81CK9RYPfVL10Ndc/YWxI=;
        b=HE2VLcSKEB4oe9knDJDfRulYE8RqUvCtkDDuKWZGmZQ70Avad846RpT1llXITw2tqo
         2vPTjAfwwBCcVg6zYmBAHahKEPUCNpkQOBRgEuI4jf/+z7NRRuYCTNv9+lw1ukYijHto
         V93NB4FLJ6wIAraQ4QETjYhjmzIueZrl7ejFmk4I0MxdcOYSL1BRxFJepQes6kbr9qSR
         vN9c2Nmuqcz/6BcF2N27SHbqZ3Bz9CLS+GXiuD9GthxNQ2UK1Zx6lWCcTQlW7afB8ABz
         P6M7lXwJh6xcXHbny2Ijvq4THcB2t2/PMFDEKSxLxQQ+M88Mp1hVpW+JOTpJyqTlJmqs
         2Frw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713440167; x=1714044967;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=iQJHKDlnitP1kzarCYHDHh81CK9RYPfVL10Ndc/YWxI=;
        b=OWrUNPDhrC3RXoGBaX407d92QvfsDMhmjXk7TZhXzgeZ7g7xAPClhUgcouzjcDcmhX
         gmfp5eVkGXLwOUWhzYiLGdkpZo+ownZFVqVvzyb4ddEoFXiOAQu9+i4Z2JhEP28VBfXD
         VO/NXxr4qQaW7qFibeLrfrtn2eOZml4a+bkSl4h+IlItBL3R6bXWEFz/Uhc6DvoBo0Gw
         PvEwRthHa1IEqKi9JEDK+VnZdPR7Q8IaykfsRArMgGHyM+MGs+3M3XG4PrC8DiecIov/
         kH8SYyrJ30SdFYaWuNG+i73yfkRwvRasU4b/CXYckOoq7cQ6n3MawgoNAnjXqON+ochb
         oyBg==
X-Forwarded-Encrypted: i=1; AJvYcCUxQvpcCfooSLMKDT6jq5OdcQFKKahwoZIB5k/ZAArGmnCyUh/m1SjDfhZJ0eAacx4dt73Jgj2ST5lKrIPSa+oVZlEJ6vFpgINHD1H8TSg=
X-Gm-Message-State: AOJu0Yy7mdOjuf6KdnRp9MwxsDHmC6ZZZRn+zlscoABRki9COjZTqE/D
	1evPx6HbPw/1oYvnB18QM9AbkSPMD+5OIi2UjOusyitLcPOqwApnRSK3JAnurg==
X-Google-Smtp-Source: AGHT+IEdaLlyAlwDKOZ53kFXqSPiIiBzlXUMD519r6MS3nMTinjh0rYKR9UVaJxrsXPu9XIh+6dvug==
X-Received: by 2002:a05:600c:3d14:b0:418:5e80:b7b2 with SMTP id bh20-20020a05600c3d1400b004185e80b7b2mr1805855wmb.1.1713440167355;
        Thu, 18 Apr 2024 04:36:07 -0700 (PDT)
Message-ID: <ba37afe5-7531-45e4-b56c-22761f8dc492@suse.com>
Date: Thu, 18 Apr 2024 13:36:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 05/15] x86/p2m: move altp2m-related code to
 separate file
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240416062915.3469145-1-Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416062915.3469145-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 08:29, Sergiy Kibrik wrote:
> Move altp2m code from generic p2m.c file to altp2m.c, so that VMX-specific
> code is kept separately and can possibly be disabled in the build.

The code movement is desirable, but the reasoning isn't quite right (see
replies on other sub-threads).

> --- a/xen/arch/x86/mm/altp2m.c
> +++ b/xen/arch/x86/mm/altp2m.c
> @@ -9,6 +9,8 @@
>  #include <asm/altp2m.h>
>  #include "mm-locks.h"
>  #include "p2m.h"
> +#include <public/hvm/hvm_op.h>
> +#include <xen/event.h>

Please add above the private header #include-s.

>[...]
> +    return rc;
> +}
> +
> +

No double blank lines please, anywhere.

> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -500,9 +500,8 @@ int p2m_alloc_table(struct p2m_domain *p2m)
>      return 0;
>  }
>  
> -static int __must_check
> -p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
> -                 unsigned int page_order)
> +int __must_check p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
> +                                  unsigned int page_order)
>  {

And no unrelated re-formatting please (i.e. you really only need to
touch a single line here).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:42:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708249.1106951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQA7-0007hA-Bg; Thu, 18 Apr 2024 11:42:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708249.1106951; Thu, 18 Apr 2024 11:42:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQA7-0007h2-95; Thu, 18 Apr 2024 11:42:43 +0000
Received: by outflank-mailman (input) for mailman id 708249;
 Thu, 18 Apr 2024 11:42:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxQA5-0007gw-LX
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:42:41 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c267897f-fd78-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 13:42:39 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-418c2bf2f90so4463235e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 04:42: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
 f17-20020a05600c155100b00418db9e4228sm2429110wmg.29.2024.04.18.04.42.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 04: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: c267897f-fd78-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713440559; x=1714045359; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xdMl06WuRfrxx5+fvdNURaxTH9Y2QdRVFiGXY/wb6RU=;
        b=W92ix81NtznB9O1uFHQ+1KEZxeRkO9nISHXm4hYntBkSowUBXD/OxilXi49iQyePuq
         bY4eO5LUIwoFWREsLyK2zv8p+UoMols25EYYpa/TK+7oJccLxg5LzN34j90epBT10tOg
         EpSPGVTqP5/PWF3uD6OVkG4tS5wZJQXPOgLBxDpasiaCv+7l8VRuT1xbfS+opC8U2X3z
         AbWUUuVxNKTKtXyuVTsglWHrQJLy0qqC8Rx5WCc0vzcqDOPWgka5eYAe5krHajpBrwER
         Hb5EqYNMqzIq7Yh5IhYlNwLpG3wJq6B7c1/yuBpqf7cvgSxi9xKBWt/qohkPCXEyLUEk
         MunQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713440559; x=1714045359;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xdMl06WuRfrxx5+fvdNURaxTH9Y2QdRVFiGXY/wb6RU=;
        b=Wim1jI3r7Soxe6zqx75PQ7PEiBt2IgSy+8Wd6Dt2AkJiOtfI46Un52PmP4RI00N3Pl
         gKkHA1JiF0O7aSQq296nxfqkCqNqc7AwdYGkQugb7xvAlB49mWwY0fCgReQY/8HLlidf
         A8ZTp281nY5v7Ogmib2ynC0fp03qQziMfpf6nq7mX+ePLA2xoRODa0iO8M6CyfuD3+DR
         rhW0GVHPsqvVe7QV7oa65k+OTbJDiR2hH3vmairbfyu97MQLKDrS9+uXUAH9GnGPewN6
         tLGVzNVSVcYvyAQpUPJ3VAnFn/eHGC2zv4iZ7vAa4EnMAKu+r3RruyVJuFxih9kcM+sZ
         CEMA==
X-Forwarded-Encrypted: i=1; AJvYcCXBoBtbaxCkLGCTyYYcxcxCq3F9ftkK5BK5MR1I0cXTpI8TMIFpvYxbR+zlNjXZFVxhtbDkYx5biPxfelXK1EJ4r8RmUbScBQ45xkfssLI=
X-Gm-Message-State: AOJu0Yx/Otzw9AUnYxOzsxWdrA0JBA6Qc+AvJczEL2wwZRBzfKw+JqDR
	p4d4AzPMEKwmMQWkWcl9iu6+HXrq0pFk+1HxkJnoYL1ZbqhfJ2t6SEsNPy4AAA==
X-Google-Smtp-Source: AGHT+IFYBXBZCiHTRHxg5dZ87vQvYcru+PmicEI/SZXJGqz/e9pplXesvg4Y0/iu7IMh40kT63gdvw==
X-Received: by 2002:a05:600c:524f:b0:415:ff48:59fc with SMTP id fc15-20020a05600c524f00b00415ff4859fcmr1632408wmb.8.1713440558959;
        Thu, 18 Apr 2024 04:42:38 -0700 (PDT)
Message-ID: <a694f56e-cc71-409a-8b9c-f47efbbb364f@suse.com>
Date: Thu, 18 Apr 2024 13:42:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 13/15] x86: wire cpu_has_{svm/vmx}_* to false when
 svm/vmx not enabled
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Xenia Ragiadakou <burzalodowa@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240416064606.3470052-1-Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416064606.3470052-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 08:46, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/include/asm/hvm/svm/svm.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
> @@ -38,10 +38,18 @@ extern u32 svm_feature_flags;
>  #define SVM_FEATURE_SSS           19 /* NPT Supervisor Shadow Stacks */
>  #define SVM_FEATURE_SPEC_CTRL     20 /* MSR_SPEC_CTRL virtualisation */
>  
> +#ifdef CONFIG_SVM
>  static inline bool cpu_has_svm_feature(unsigned int feat)
>  {
>      return svm_feature_flags & (1u << feat);
>  }
> +#else
> +static inline bool cpu_has_svm_feature(unsigned int feat)
> +{
> +    return false;
> +}
> +#endif

Already

static inline bool cpu_has_svm_feature(unsigned int feat)
{
#ifdef CONFIG_SVM
     return svm_feature_flags & (1u << feat);
#else
    return false;
#endif
}

would be less redundancy. But why not simply

static inline bool cpu_has_svm_feature(unsigned int feat)
{
     return is_ENABLED(CONFIG_SVM) && (svm_feature_flags & (1u << feat));
}

?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:57:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:57:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708257.1106967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQOM-0003dL-W1; Thu, 18 Apr 2024 11:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708257.1106967; Thu, 18 Apr 2024 11: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 1rxQOM-0003cn-RX; Thu, 18 Apr 2024 11:57:26 +0000
Received: by outflank-mailman (input) for mailman id 708257;
 Thu, 18 Apr 2024 11:57:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XJCO=LX=bounce.vates.tech=bounce-md_30504962.66210aa0.v1-5c38df16014047faaf062015fcbedd17@srs-se1.protection.inumbo.net>)
 id 1rxQOL-0003Zk-Sh
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:57:25 +0000
Received: from mail180-8.suw31.mandrillapp.com
 (mail180-8.suw31.mandrillapp.com [198.2.180.8])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d04448ef-fd7a-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 13:57:22 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-8.suw31.mandrillapp.com (Mailchimp) with ESMTP id 4VKx8w64zLz3sN69S
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 11:57:20 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 5c38df16014047faaf062015fcbedd17; Thu, 18 Apr 2024 11:57:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d04448ef-fd7a-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713441440; x=1713701940;
	bh=7w+4W72EJin4JqvsqJb2bySRGGbCS4wlzK0+QcCcLr8=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=RDfmrae3AwPuYeTbP05OxxQNyBtU2FBunsGDUSUKk3pTF51LPIUokuJE4PrN1BXuK
	 rwT/UCMo2gtFqjhW3xCo2sfeN6sHz1TX2lM0SuOjPF+ObtE/JX0CO0CNV5Ar/bBAGd
	 08g0MzHZEPft9yPv9q+3N1t3YuU0xUrpnj54f3TnoMwK8ZhH4X6qQSIlS0iU4Ht1si
	 P42T3xnltNXomyz8ZeBxVp5GO/NJavih2ysKudf5dr4+LZAWALdpeZJiehl/4Er5cC
	 mXJiCzX73nWGj6GIFfwEk2ycA8eayAUMEYZx0ebkmIEkkTmbJkymcS1FTuduF6FZnF
	 mRfkw+Ove+xFA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713441440; x=1713701940; i=teddy.astie@vates.tech;
	bh=7w+4W72EJin4JqvsqJb2bySRGGbCS4wlzK0+QcCcLr8=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=zbzPSzYZkT+RSMuxiWgFzqnY+RbLHdgkfSTd4sCo8mf1H7dNZLNAe3wcgPZe2P6wu
	 Yz3NneJKbmCA+JxZkA1wfnplvJ3cn5tLLU/5kKVnQjZXVp33rRBEeAVifG9ls+1UgI
	 naZ3uAaJq081WmOTuZHafkeOrbGI/uBynzO7NJ3PEP+osU+LxLpGEhE93z/Cq50ZeD
	 JsUVNl6FCXC81ZtJBe0lb5woHuC2D26KPrZSaBMqg7M/3cK7ImiSXIQiClqPdKJk9y
	 /zZLtVGGlXiOQ67xdBh1yhkxublBtpZ/qtcsfpLX3fc+06mWJhVV62lRpdlk4wBq7k
	 ef0CwF/djOjLA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v5=200/3]=20x86/iommu:=20Drop=20IOMMU=20support=20when=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713441439606
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <cover.1713433029.git.teddy.astie@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.5c38df16014047faaf062015fcbedd17?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240418:md
Date: Thu, 18 Apr 2024 11:57:20 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware that supports VT-d/AMD-Vi that exists also supports cx16 (aside
specifically crafted virtual machines).

Some IOMMU code paths in Xen consider cases where VT-d/AMD-Vi is supported
while cx16 isn't, those paths may be bugged and are barely tested, dead code
in practice.

Disable IOMMU in case we have IOMMU hardware but no cx16, then cleanup
no-cx16 handling logic from VT-d and AMD-Vi drivers. Also disable
interrupt remapping that also relies on cx16.

Teddy

---

Changed in v2:

  * Added cleanup no-cx16 code for x2APIC
  * Fixed commit and code formatting
  * Added missing Suggested-by note

Changed in v3:

  * Use -ENODEV instead of -ENOSYS.

Changed in v4:

  * Reworded "Disable IOMMU if cx16 isn't supported"
  * Moved interrupt remapping cleanup in separate patches
  * Check cx16 for interrupt remapping in driver's callbacks rather than 
in x2apic_bsp_setup

Changed in v5:

 * Folded VT-d/AMD-Vi cx16 cleanup patches

Teddy Astie (3):
  x86/iommu: Disable IOMMU if cx16 isn't supported
  VT-d: Cleanup MAP_SINGLE_DEVICE and related code
  x86/iommu: Disable intrerrupt remapping if cx16 is not supported

 xen/drivers/passthrough/amd/iommu_intr.c    |  6 ++
 xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
 xen/drivers/passthrough/vtd/intremap.c      | 70 +++++-----------
 xen/drivers/passthrough/vtd/iommu.c         | 92 +++++++--------------
 xen/drivers/passthrough/vtd/vtd.h           |  5 +-
 6 files changed, 77 insertions(+), 144 deletions(-)

-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:57:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:57:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708258.1106974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQON-0003jO-9g; Thu, 18 Apr 2024 11:57:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708258.1106974; Thu, 18 Apr 2024 11:57:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQON-0003iJ-2l; Thu, 18 Apr 2024 11:57:27 +0000
Received: by outflank-mailman (input) for mailman id 708258;
 Thu, 18 Apr 2024 11:57:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=glIF=LX=bounce.vates.tech=bounce-md_30504962.66210aa0.v1-849d46ce67cc49bda7395dc97d134692@srs-se1.protection.inumbo.net>)
 id 1rxQOM-0003Zj-5T
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:57:26 +0000
Received: from mail145-32.atl61.mandrillapp.com
 (mail145-32.atl61.mandrillapp.com [198.2.145.32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d05c4e8a-fd7a-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 13:57:22 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-32.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VKx8x049VzP0JyST
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 11:57:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 849d46ce67cc49bda7395dc97d134692; Thu, 18 Apr 2024 11:57:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d05c4e8a-fd7a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713441441; x=1713701941;
	bh=IMCKkvZ/LwChBkz9aTUisa2lVAiO0Qw2N3JNoUZBFGA=;
	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=reaQQn1zhnYEB4jFabYbItV3ovKhWSkulYfcbkBtin29ecuz8KK5AGquIC79vyZCw
	 Dc18QYk+Y9bOCpK8PrrgGwW/0zeHylkwrnZCGvsy16cn5dfEMPb8/qtAecnh0pUTwD
	 EgAkbE+Kjbv0RF3sUzInAzGokxL7Log3o1G1m2fA2UAXqtWhEOAcibujxLFmquzemu
	 FTGraF5lmNefTkAj4B0JyuxDrQhC6Bh/aPZ41oNkA6av9zVv3vLsxX7cbN3yxz1x3w
	 gAGzkp3GLc9+Aa09MFGb6vTSltTqrcfQ04dgZiTMII/x0WKRZWCe1sCigdLhAgMDd4
	 Z/znqeLY79SEw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713441441; x=1713701941; i=teddy.astie@vates.tech;
	bh=IMCKkvZ/LwChBkz9aTUisa2lVAiO0Qw2N3JNoUZBFGA=;
	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=y+BPT+HC/AqS2fxMuvgmeNsc+vxoJXbly5EOEgef52KPyUwvZ9RKZghxAdTEylt9l
	 vqZiKqK4ex4kuVMfuzdXJT/Tz1IDuI7aVSuFBKlR9QRWBaJV7gucUPENlknwAxHl5M
	 irMelW9CBU8x8c3FW/mT84y/AK1L9zp9mt134g6dAmp9ajCtaMkdY1FiUEgtFT84k2
	 aV7k9V7dxQZVrKuBEormL6Gn/iHnZzaV/siwyQNAgVz9DxVCyYMcIQpHhWAkk2F+RJ
	 bPg+6VNHvb1qQ3fUXiwLYcuDhz6Sbwwlb29oZOF4WEQw4CS4yhXUIvNvoj9n8V1M9x
	 jEIhFvUCZFk5w==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v5=201/3]=20x86/iommu:=20Disable=20IOMMU=20if=20cx16=20isn't=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713441439912
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <4656eab84f7b4b807fc61f54b9ba5c0fc4fae64d.1713433029.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713433029.git.teddy.astie@vates.tech>
References: <cover.1713433029.git.teddy.astie@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.849d46ce67cc49bda7395dc97d134692?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240418:md
Date: Thu, 18 Apr 2024 11:57:20 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware with VT-d/AMD-Vi has CMPXCHG16B support. Check this at
initialisation time, and remove the effectively-dead logic for the
non-cx16 case.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/amd/iommu_map.c     | 42 ++++--------
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  6 ++
 xen/drivers/passthrough/vtd/iommu.c         | 73 +++++++--------------
 3 files changed, 45 insertions(+), 76 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
index e0f4fe736a..f67975e700 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -167,15 +167,14 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
 {
     bool valid = flags & SET_ROOT_VALID;
 
-    if ( dte->v && dte->tv &&
-         (cpu_has_cx16 || (flags & SET_ROOT_WITH_UNITY_MAP)) )
+    if ( dte->v && dte->tv )
     {
         union {
             struct amd_iommu_dte dte;
             uint64_t raw64[4];
             __uint128_t raw128[2];
         } ldte = { .dte = *dte };
-        __uint128_t old = ldte.raw128[0];
+        __uint128_t res, old = ldte.raw128[0];
         int ret = 0;
 
         ldte.dte.domain_id = domain_id;
@@ -185,33 +184,20 @@ int amd_iommu_set_root_page_table(struct amd_iommu_dte *dte,
         ldte.dte.paging_mode = paging_mode;
         ldte.dte.v = valid;
 
-        if ( cpu_has_cx16 )
-        {
-            __uint128_t res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
+        res = cmpxchg16b(dte, &old, &ldte.raw128[0]);
 
-            /*
-             * Hardware does not update the DTE behind our backs, so the
-             * return value should match "old".
-             */
-            if ( res != old )
-            {
-                printk(XENLOG_ERR
-                       "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
-                       domain_id,
-                       (uint64_t)(res >> 64), (uint64_t)res,
-                       (uint64_t)(old >> 64), (uint64_t)old);
-                ret = -EILSEQ;
-            }
-        }
-        else /* Best effort, updating domain_id last. */
+        /*
+         * Hardware does not update the DTE behind our backs, so the
+         * return value should match "old".
+         */
+        if ( res != old )
         {
-            uint64_t *ptr = (void *)dte;
-
-            write_atomic(ptr + 0, ldte.raw64[0]);
-            /* No barrier should be needed between these two. */
-            write_atomic(ptr + 1, ldte.raw64[1]);
-
-            ret = 1;
+            printk(XENLOG_ERR
+                   "Dom%d: unexpected DTE %016lx_%016lx (expected %016lx_%016lx)\n",
+                   domain_id,
+                   (uint64_t)(res >> 64), (uint64_t)res,
+                   (uint64_t)(old >> 64), (uint64_t)old);
+            ret = -EILSEQ;
         }
 
         return ret;
diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index f6efd88e36..3a6a23f706 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -305,6 +305,12 @@ static int __init cf_check iov_detect(void)
     if ( !iommu_enable && !iommu_intremap )
         return 0;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk("AMD-Vi: CPU doesn't support CMPXCHG16B, disabling\n");
+        return -ENODEV;
+    }
+
     if ( (init_done ? amd_iommu_init_late()
                     : amd_iommu_init(false)) != 0 )
     {
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index c7110af7c9..9c787ba9eb 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1482,7 +1482,7 @@ int domain_context_mapping_one(
 {
     struct domain_iommu *hd = dom_iommu(domain);
     struct context_entry *context, *context_entries, lctxt;
-    __uint128_t old;
+    __uint128_t res, old;
     uint64_t maddr;
     uint16_t seg = iommu->drhd->segment, prev_did = 0;
     struct domain *prev_dom = NULL;
@@ -1580,55 +1580,23 @@ int domain_context_mapping_one(
         ASSERT(!context_fault_disable(lctxt));
     }
 
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t res = cmpxchg16b(context, &old, &lctxt.full);
-
-        /*
-         * Hardware does not update the context entry behind our backs,
-         * so the return value should match "old".
-         */
-        if ( res != old )
-        {
-            if ( pdev )
-                check_cleanup_domid_map(domain, pdev, iommu);
-            printk(XENLOG_ERR
-                   "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
-                   &PCI_SBDF(seg, bus, devfn),
-                   (uint64_t)(res >> 64), (uint64_t)res,
-                   (uint64_t)(old >> 64), (uint64_t)old);
-            rc = -EILSEQ;
-            goto unlock;
-        }
-    }
-    else if ( !prev_dom || !(mode & MAP_WITH_RMRR) )
-    {
-        context_clear_present(*context);
-        iommu_sync_cache(context, sizeof(*context));
+    res = cmpxchg16b(context, &old, &lctxt.full);
 
-        write_atomic(&context->hi, lctxt.hi);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->lo, lctxt.lo);
-    }
-    else /* Best effort, updating DID last. */
+    /*
+     * Hardware does not update the context entry behind our backs,
+     * so the return value should match "old".
+     */
+    if ( res != old )
     {
-         /*
-          * By non-atomically updating the context entry's DID field last,
-          * during a short window in time TLB entries with the old domain ID
-          * but the new page tables may be inserted.  This could affect I/O
-          * of other devices using this same (old) domain ID.  Such updating
-          * therefore is not a problem if this was the only device associated
-          * with the old domain ID.  Diverting I/O of any of a dying domain's
-          * devices to the quarantine page tables is intended anyway.
-          */
-        if ( !(mode & (MAP_OWNER_DYING | MAP_SINGLE_DEVICE)) )
-            printk(XENLOG_WARNING VTDPREFIX
-                   " %pp: reassignment may cause %pd data corruption\n",
-                   &PCI_SBDF(seg, bus, devfn), prev_dom);
-
-        write_atomic(&context->lo, lctxt.lo);
-        /* No barrier should be needed between these two. */
-        write_atomic(&context->hi, lctxt.hi);
+        if ( pdev )
+            check_cleanup_domid_map(domain, pdev, iommu);
+        printk(XENLOG_ERR
+                "%pp: unexpected context entry %016lx_%016lx (expected %016lx_%016lx)\n",
+                &PCI_SBDF(seg, bus, devfn),
+                (uint64_t)(res >> 64), (uint64_t)res,
+                (uint64_t)(old >> 64), (uint64_t)old);
+        rc = -EILSEQ;
+        goto unlock;
     }
 
     iommu_sync_cache(context, sizeof(struct context_entry));
@@ -2630,6 +2598,15 @@ static int __init cf_check vtd_setup(void)
     int ret;
     bool reg_inval_supported = true;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk(XENLOG_ERR VTDPREFIX
+               "IOMMU: CPU doesn't support CMPXCHG16B, disabling\n");
+
+        ret = -ENODEV;
+        goto error;
+    }
+
     if ( list_empty(&acpi_drhd_units) )
     {
         ret = -ENODEV;
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:57:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:57:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708259.1106990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQOP-0004HJ-E8; Thu, 18 Apr 2024 11:57:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708259.1106990; Thu, 18 Apr 2024 11:57: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 1rxQOP-0004HB-BP; Thu, 18 Apr 2024 11:57:29 +0000
Received: by outflank-mailman (input) for mailman id 708259;
 Thu, 18 Apr 2024 11:57:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cUaF=LX=bounce.vates.tech=bounce-md_30504962.66210aa1.v1-31e15571ae734996912d46962dcf117b@srs-se1.protection.inumbo.net>)
 id 1rxQON-0003Zj-5U
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:57:27 +0000
Received: from mail145-32.atl61.mandrillapp.com
 (mail145-32.atl61.mandrillapp.com [198.2.145.32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d25bd602-fd7a-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 13:57:25 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-32.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VKx8x3FbgzP0JyRw
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 11:57:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 31e15571ae734996912d46962dcf117b; Thu, 18 Apr 2024 11:57:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d25bd602-fd7a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713441441; x=1713701941;
	bh=g2FeBMcF6WkciLZbXhA5HEE1g3wyv8w1asNrCrzF7bY=;
	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=coBZF80O9yoynJWCbhZ3cT9AQ5DSTosaqTonz8wyfxCjXRKBC3K7+UQSZp77IpSKe
	 Kwqthv3QlLg52mGPK/l/CnFputLByRSZbOc/HGNsekTqOZUjd3ncixr1wUlL4djSn9
	 aUTH6+0ZdOuU6CkiTsO2o8ftN2UNOGuyGwNily2ZGL+3fcvRuMnhQ+0yUk+ksoXMam
	 4K5dzXge5uFYiwZ9JWPBIks7OP327myD2fVkfnzowdX41dcL9ZPS8CFm7R8asMCAe0
	 nGA2FljLGvur8MzOTsXQr3bExOsgy6UynOWlWigWK9MhzRuznkVdMA/+EphvI5rRNV
	 cgReTwUPlTjjg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713441441; x=1713701941; i=teddy.astie@vates.tech;
	bh=g2FeBMcF6WkciLZbXhA5HEE1g3wyv8w1asNrCrzF7bY=;
	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=taNy5na+IVuMGplkXZiWhjPuZBdNShE+7l6E5zUJw7rQLWKB4nhs1gpputVgo50n1
	 7PGCFwaegaH9kVOIGY5yKVOFed8bVY5FomUiDiMEzuTSafZgjaxEys4SbDnaSDO9GU
	 yFpy2hFKvg+6XE39f9+tD1WenWaD4NFnPAq+T0GgzOBi9vfHlxmH4K73We6bRNRWSX
	 1E4jpjBIZmH0k6Fz6IZyTBvrgSLYm8TAJtsGrCiJqJw3I0ZObChZFheXjtgVi6D7Gs
	 G2sIWWc6mwrd8fmPAZmjda6hrnpyir3xP+ci19JzEDx5nq1LkTZTg7u6TpHrpNTCc/
	 qGQY/YKGfMlSw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v5=203/3]=20x86/iommu:=20Disable=20intrerrupt=20remapping=20if=20cx16=20is=20not=20supported?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713441440470
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <1623ac82177790d57c6acce3b88ba2960ac11837.1713433029.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713433029.git.teddy.astie@vates.tech>
References: <cover.1713433029.git.teddy.astie@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.31e15571ae734996912d46962dcf117b?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240418:md
Date: Thu, 18 Apr 2024 11:57:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

All hardware with VT-d/AMD-Vi has CMPXCHG16B support.  Check this at
initialisation time, and remove the effectively-dead logic for the non-cx16
case.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/amd/iommu_intr.c |  6 ++
 xen/drivers/passthrough/vtd/intremap.c   | 70 +++++++-----------------
 xen/drivers/passthrough/vtd/iommu.c      |  7 +--
 3 files changed, 27 insertions(+), 56 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 7fc796dec2..9ab7c68749 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -649,6 +649,12 @@ bool __init cf_check iov_supports_xt(void)
     if ( !iommu_enable || !iommu_intremap )
         return false;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        AMD_IOMMU_WARN("CPU doesn't support CMPXCHG16B, disable interrupt remapping\n");
+        return false;
+    }
+
     if ( amd_iommu_prepare(true) )
         return false;
 
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index c504852eb8..7d4d907b4f 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -150,6 +150,13 @@ bool __init cf_check intel_iommu_supports_eim(void)
     if ( !iommu_qinval || !iommu_intremap || list_empty(&acpi_drhd_units) )
         return false;
 
+    if ( unlikely(!cpu_has_cx16) )
+    {
+        printk(XENLOG_WARNING VTDPREFIX
+               "CPU doesn't support CMPXCHG16B, disable interrupt remapping\n");
+        return false;
+    }
+
     /* We MUST have a DRHD unit for each IOAPIC. */
     for ( apic = 0; apic < nr_ioapics; apic++ )
         if ( !ioapic_to_drhd(IO_APIC_ID(apic)) )
@@ -173,47 +180,26 @@ bool __init cf_check intel_iommu_supports_eim(void)
  * Assume iremap_lock has been acquired. It is to make sure software will not
  * change the same IRTE behind us. With this assumption, if only high qword or
  * low qword in IRTE is to be updated, this function's atomic variant can
- * present an atomic update to VT-d hardware even when cmpxchg16b
- * instruction is not supported.
+ * present an atomic update to VT-d hardware.
  */
 static void update_irte(struct vtd_iommu *iommu, struct iremap_entry *entry,
                         const struct iremap_entry *new_ire, bool atomic)
 {
-    ASSERT(spin_is_locked(&iommu->intremap.lock));
+    __uint128_t ret;
+    struct iremap_entry old_ire;
 
-    if ( cpu_has_cx16 )
-    {
-        __uint128_t ret;
-        struct iremap_entry old_ire;
+    ASSERT(spin_is_locked(&iommu->intremap.lock));
 
-        old_ire = *entry;
-        ret = cmpxchg16b(entry, &old_ire, new_ire);
+    old_ire = *entry;
+    ret = cmpxchg16b(entry, &old_ire, new_ire);
 
-        /*
-         * In the above, we use cmpxchg16 to atomically update the 128-bit
-         * IRTE, and the hardware cannot update the IRTE behind us, so
-         * the return value of cmpxchg16 should be the same as old_ire.
-         * This ASSERT validate it.
-         */
-        ASSERT(ret == old_ire.val);
-    }
-    else
-    {
-        /*
-         * VT-d hardware doesn't update IRTEs behind us, nor the software
-         * since we hold iremap_lock. If the caller wants VT-d hardware to
-         * always see a consistent entry, but we can't meet it, a bug will
-         * be raised.
-         */
-        if ( entry->lo == new_ire->lo )
-            write_atomic(&entry->hi, new_ire->hi);
-        else if ( entry->hi == new_ire->hi )
-            write_atomic(&entry->lo, new_ire->lo);
-        else if ( !atomic )
-            *entry = *new_ire;
-        else
-            BUG();
-    }
+    /*
+     * In the above, we use cmpxchg16 to atomically update the 128-bit
+     * IRTE, and the hardware cannot update the IRTE behind us, so
+     * the return value of cmpxchg16 should be the same as old_ire.
+     * This ASSERT validate it.
+     */
+    ASSERT(ret == old_ire.val);
 }
 
 /* Mark specified intr remap entry as free */
@@ -395,7 +381,6 @@ static int ioapic_rte_to_remap_entry(struct vtd_iommu *iommu,
     /* Indicate remap format. */
     remap_rte->format = 1;
 
-    /* If cmpxchg16b is not available the caller must mask the IO-APIC pin. */
     update_irte(iommu, iremap_entry, &new_ire, !init && !masked);
     iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
     iommu_flush_iec_index(iommu, 0, index);
@@ -437,21 +422,6 @@ void cf_check io_apic_write_remap_rte(
     bool masked = true;
     int rc;
 
-    if ( !cpu_has_cx16 )
-    {
-       /*
-        * Cannot atomically update the IRTE entry: mask the IO-APIC pin to
-        * avoid interrupts seeing an inconsistent IRTE entry.
-        */
-        old_rte = __ioapic_read_entry(apic, pin, true);
-        if ( !old_rte.mask )
-        {
-            masked = false;
-            old_rte.mask = 1;
-            __ioapic_write_entry(apic, pin, true, old_rte);
-        }
-    }
-
     /* Not the initializer, for old gcc to cope. */
     new_rte.raw = rte;
 
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 7c6bae0256..a1bd3c5ff6 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -2663,12 +2663,7 @@ static int __init cf_check vtd_setup(void)
             iommu_intremap = iommu_intremap_off;
 
 #ifndef iommu_intpost
-        /*
-         * We cannot use posted interrupt if X86_FEATURE_CX16 is
-         * not supported, since we count on this feature to
-         * atomically update 16-byte IRTE in posted format.
-         */
-        if ( !cap_intr_post(iommu->cap) || !iommu_intremap || !cpu_has_cx16 )
+        if ( !cap_intr_post(iommu->cap) || !iommu_intremap )
             iommu_intpost = false;
 #endif
 
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 11:57:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 11:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708256.1106961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQOM-0003a7-OD; Thu, 18 Apr 2024 11:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708256.1106961; Thu, 18 Apr 2024 11: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 1rxQOM-0003a0-K5; Thu, 18 Apr 2024 11:57:26 +0000
Received: by outflank-mailman (input) for mailman id 708256;
 Thu, 18 Apr 2024 11:57: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=v+vc=LX=bounce.vates.tech=bounce-md_30504962.66210aa1.v1-f68d84e8813a4a2198022ec68ca0a248@srs-se1.protection.inumbo.net>)
 id 1rxQOL-0003Zj-GU
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 11:57:25 +0000
Received: from mail145-32.atl61.mandrillapp.com
 (mail145-32.atl61.mandrillapp.com [198.2.145.32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d05a2dfb-fd7a-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 13:57:22 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-32.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VKx8x1nDhzP0JySY
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 11:57:21 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f68d84e8813a4a2198022ec68ca0a248; Thu, 18 Apr 2024 11:57:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d05a2dfb-fd7a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713441441; x=1713701941;
	bh=RRod8nx7vQ+DrBaq1mB+2iQAFOffxbEGL4R3xb8mHC8=;
	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=2EonAvxCWUy08oOe7MiAB2ptIQVu4ef7UhJvWDWfIy5vLrOnCHzkWXAFv/HVVvgXD
	 NSgNOVbtrQ/IKSJxWVyh+YuiLohEy+Ux/kVdAW0w0uS2FlP+2R9xoRmAz8U+C9BKjl
	 SuZgZRW9dB8Q7GIUAeQPmkqNn0cc08aoBA/tHKxu4Tc4Tx3L3FUOJi+7vykOduaYtH
	 R8odiFlXTdpJHQ8UgnerokLdiEQPOQAHOhKpTExUCImJz8IWuJp0gLrCFqZSyV1Fy9
	 eYN3GgRBWq9Fy7Y2Z1IwZn3mKbyuK12niaMXcsyru9rg4ZBr6Uz+88pfzb7ymy7xFB
	 6x7RByuBYNCmw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713441441; x=1713701941; i=teddy.astie@vates.tech;
	bh=RRod8nx7vQ+DrBaq1mB+2iQAFOffxbEGL4R3xb8mHC8=;
	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=HYzxdGJM78QI8S5hIZ7TWPIUDTdrcg/PUDNGfcQtJL8IXRm7/vKa6rCrE+++4NMxI
	 Fl5jw+FllEKgQIbBMyEK6MwTTPj3B9M7jHx/vKERwpqzYDP1HD1o0T6HJdHnZzk6ZX
	 OfWrfI4y0EPDqfYq9B0oho4jiDsGCEJq8T/j4gCm4dUVYAE/ZBesfDGfCvvTdfDAWm
	 mln0haTuWW9l3Kl7+w8SKvIhWXIGV0DHGKvB9wjvS/srq/3ER541h6UGSWg3F8OZqy
	 60fPqpe6uJIbmXC9Y85vAYhcVT315JMrDEx+OxWT1zlmLSiH7DQA8UME/1nAEXYnKq
	 UPRWFR7aDUQbQ==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=20v5=202/3]=20VT-d:=20Cleanup=20MAP=5FSINGLE=5FDEVICE=20and=20related=20code?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713441440224
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <12fac50372885315273f09eca00590bea6758288.1713433029.git.teddy.astie@vates.tech>
In-Reply-To: <cover.1713433029.git.teddy.astie@vates.tech>
References: <cover.1713433029.git.teddy.astie@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.f68d84e8813a4a2198022ec68ca0a248?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240418:md
Date: Thu, 18 Apr 2024 11:57:21 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This flag was only used in case cx16 is not available, as those code paths no
longer exist, this flag now does basically nothing.

Signed-off-by: Teddy Astie <teddy.astie@vates.tech>
---
 xen/drivers/passthrough/vtd/iommu.c | 12 +++---------
 xen/drivers/passthrough/vtd/vtd.h   |  5 ++---
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 9c787ba9eb..7c6bae0256 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1692,15 +1692,9 @@ static int domain_context_mapping(struct domain *domain, u8 devfn,
         break;
     }
 
-    if ( domain != pdev->domain && pdev->domain != dom_io )
-    {
-        if ( pdev->domain->is_dying )
-            mode |= MAP_OWNER_DYING;
-        else if ( drhd &&
-                  !any_pdev_behind_iommu(pdev->domain, pdev, drhd->iommu) &&
-                  !pdev->phantom_stride )
-            mode |= MAP_SINGLE_DEVICE;
-    }
+    if ( domain != pdev->domain && pdev->domain != dom_io &&
+         pdev->domain->is_dying )
+        mode |= MAP_OWNER_DYING;
 
     switch ( pdev->type )
     {
diff --git a/xen/drivers/passthrough/vtd/vtd.h b/xen/drivers/passthrough/vtd/vtd.h
index cb2df76eed..43f06a353d 100644
--- a/xen/drivers/passthrough/vtd/vtd.h
+++ b/xen/drivers/passthrough/vtd/vtd.h
@@ -28,9 +28,8 @@
  */
 #define MAP_WITH_RMRR         (1u << 0)
 #define MAP_OWNER_DYING       (1u << 1)
-#define MAP_SINGLE_DEVICE     (1u << 2)
-#define MAP_ERROR_RECOVERY    (1u << 3)
-#define UNMAP_ME_PHANTOM_FUNC (1u << 4)
+#define MAP_ERROR_RECOVERY    (1u << 2)
+#define UNMAP_ME_PHANTOM_FUNC (1u << 3)
 
 /* Allow for both IOAPIC and IOSAPIC. */
 #define IO_xAPIC_route_entry IO_APIC_route_entry
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 12:12:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 12:12:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708287.1107025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQcP-00015Y-6A; Thu, 18 Apr 2024 12:11:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708287.1107025; Thu, 18 Apr 2024 12:11:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQcP-00015R-3f; Thu, 18 Apr 2024 12:11:57 +0000
Received: by outflank-mailman (input) for mailman id 708287;
 Thu, 18 Apr 2024 12:11:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxQcN-000155-OI; Thu, 18 Apr 2024 12:11:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxQcN-0007Oe-Mk; Thu, 18 Apr 2024 12:11:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxQcN-0006Og-7O; Thu, 18 Apr 2024 12:11:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxQcN-00027O-6y; Thu, 18 Apr 2024 12:11:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YtWKhyqqT6O8AYxqoTrnPoD1LRrTnoyxMVFHUBA6JfE=; b=p7SAu49dQld1ge3M+YpBI+xvsG
	z75JjDtzTizYbDuLAImVXylOuFzUOUjSKtiLgNqDZ/tw1hXgJh0jLAQ8Co6JKamUnqSaKQUploEhs
	uOCkviawchQ049EbH8iSmHwkwsZoFKwcKxIGcYgSxzAmtXqpLiT2S3IuRfZr9e4W+EKI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185724-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185724: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-amd64-amd64-libvirt:migrate-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-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-amd64-amd64-libvirt-qcow2:migrate-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=2d38302c33b117aa9a417056db241aefc840c2f0
X-Osstest-Versions-That:
    xen=1166467ed300d605529aaf7a7d26c8c92defe36a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Apr 2024 12:11:55 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 185285
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185285
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185285
 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-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-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 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
 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                  2d38302c33b117aa9a417056db241aefc840c2f0
baseline version:
 xen                  1166467ed300d605529aaf7a7d26c8c92defe36a

Last test of basis   185285  2024-04-09 12:07:14 Z    9 days
Failing since        185303  2024-04-10 18:41:55 Z    7 days   10 attempts
Testing same since   185337  2024-04-12 01:37:11 Z    6 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Paul Durrant <paul@xen.org>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   1166467ed3..2d38302c33  2d38302c33b117aa9a417056db241aefc840c2f0 -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 12:22:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 12:22:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708328.1107166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxQmW-0005b6-L3; Thu, 18 Apr 2024 12:22:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708328.1107166; Thu, 18 Apr 2024 12: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 1rxQmW-0005az-IR; Thu, 18 Apr 2024 12:22:24 +0000
Received: by outflank-mailman (input) for mailman id 708328;
 Thu, 18 Apr 2024 12: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxQmV-0005at-JY
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 12:22:23 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e0a644f-fd7e-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 14:22:21 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-418a02562b3so6621195e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 05:22: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
 d15-20020a05600c34cf00b0041897c6171dsm6312365wmq.16.2024.04.18.05.22.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 05:22: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: 4e0a644f-fd7e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713442941; x=1714047741; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vM4f4TZxDAosLLs33/YpPZlD6ZYUNgzXS2h8vCgEcNw=;
        b=dOoOeryNdhj5Z1yP4uu3Oa9VjQSsiPE9liYJ3M7kAdV4rHrqWqSw95OelzEUvIdkU0
         iKXRsXz8ju69Dt8wJzqeGxdKpypGzoiXnM/f0U1zb+DqpHw9/g8NGyitXRzioFA1x5ME
         +tcrciP4QMBSzMD4gUPymgTMaWsHK0QjUkngrWLxBUAlLR63jFgfmxHyD3kZWdduluar
         PT42PsUfNjPXqNmAYVyHKm6HIMKvCJVjrHLRX0o+fDcgZ1NRcigEIHDAyj1ZLtSvF50Z
         T6iestDBPboaZHtX8NUKMfwQb2aBxF1gwvUpa7yCGpssxf5EUPeICQYq/EsALoLxYISe
         Lhvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713442941; x=1714047741;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vM4f4TZxDAosLLs33/YpPZlD6ZYUNgzXS2h8vCgEcNw=;
        b=JBEkd/c5WXY5YFtEVN/6SdMZfT6Hy0ZAMCWeFKuzq2ai4HnFKGkXdZbKCoZ/5svbJG
         K6L4GyP5kQmGpKoolv/9jBbniihp+f6cB8LmYJg0t8LB0WYnGYDQeRVYt0i+rFIwkdEf
         NC+yRTWx7OOTd5FHTqESmCrff1f0cQKVDl6kceS++f0ReDJuMKBn/La4CV/q0xjOzVl+
         W9kZkB2BoZa7q5vKXd1psCtVByLay/UQ8g24+9FnZLAl1dbsWqy43+owJAkxA36asRiR
         /pGc5lc4SbontQ1UXlhRfVuWEtSXLUrWsV1LCR7NDecQeCrVYpnvhuiB2IRlDSStjL4j
         d38w==
X-Forwarded-Encrypted: i=1; AJvYcCVRyCfKWph9vCscNJFzBcFiuw1kqQvz4HGCg4Ljku8mEzgCF84bj+4Xo417JNKOahmxHjsrDyY6qBedIha240fZvbscGXUrxYjZ+r0FqqQ=
X-Gm-Message-State: AOJu0YzmN3kVF3ShnXcE7SNBkuikX9n5qIbX/3peHIqEk7pR7hGJBtk4
	osEeODMnPIy1zMWar7f1ijqzrgptAv0PNWhOtSn72TXbdXFzvpyySxG3g4JuqA==
X-Google-Smtp-Source: AGHT+IFtrImA0VCmQw45a7nrShdI+nOQxuOmBqjSeKYHvfmNBJCBUKSefzk/f0FVGtoWHEjQKvL9MQ==
X-Received: by 2002:a05:6000:cd1:b0:346:301d:8908 with SMTP id dq17-20020a0560000cd100b00346301d8908mr1683658wrb.49.1713442939023;
        Thu, 18 Apr 2024 05:22:19 -0700 (PDT)
Message-ID: <9b6b97c3-481f-4208-880c-ec704ba2d606@suse.com>
Date: Thu, 18 Apr 2024 14:22:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH V2] x86/MCE: move intel mcheck init code to separate
 file
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240409120645.2948405-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: <20240409120645.2948405-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.04.2024 14:06, Sergiy Kibrik wrote:
> Separate Intel nonfatal MCE initialization code from generic MCE code, the same
> way it is done for AMD code. This is to be able to later make intel/amd MCE
> code optional in the build.
> 
> Convert to Xen coding style. Clean up unused includes. Remove seemingly
> outdated comment about MCE check period.
> 
> No functional change intended.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

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

> --- /dev/null
> +++ b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
> @@ -0,0 +1,85 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Non Fatal Machine Check Exception Reporting
> + * (C) Copyright 2002 Dave Jones. <davej@codemonkey.org.uk>
> + */
> +
> +#include <xen/event.h>
> +
> +#include "mce.h"
> +#include "vmce.h"
> +
> +static struct timer mce_timer;
> +
> +#define MCE_PERIOD MILLISECS(8000)
> +#define MCE_PERIOD_MIN MILLISECS(2000)
> +#define MCE_PERIOD_MAX MILLISECS(16000)
> +
> +static uint64_t period = MCE_PERIOD;
> +static int adjust = 0;
> +static int variable_period = 1;
> +
> +static void cf_check mce_checkregs(void *info)
> +{
> +    mctelem_cookie_t mctc;
> +    struct mca_summary bs;
> +    static uint64_t dumpcount = 0;
> +
> +    mctc = mcheck_mca_logout(MCA_POLLER, this_cpu( poll_bankmask),
> +                             &bs, NULL);
> +
> +    if ( bs.errcnt && mctc != NULL )
> +    {
> +        adjust++;
> +
> +        /* If Dom0 enabled the VIRQ_MCA event, then notify it.

... comment style here corrected, too (which I'll try t to remember to take
care of while committing).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 12:37:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 12:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708335.1107176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxR0t-0001ME-SB; Thu, 18 Apr 2024 12:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708335.1107176; Thu, 18 Apr 2024 12: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 1rxR0t-0001M7-PM; Thu, 18 Apr 2024 12:37:15 +0000
Received: by outflank-mailman (input) for mailman id 708335;
 Thu, 18 Apr 2024 12:37:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxR0s-0001M1-6I
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 12:37:14 +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 61653754-fd80-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 14:37:12 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3455ff1339dso500756f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 05:37: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
 j12-20020adfb30c000000b00346266b612csm1754332wrd.81.2024.04.18.05.37.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 05:37: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: 61653754-fd80-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713443832; x=1714048632; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZTfc5awSSxeBq/OCyg80q1gCnNYa9WC5ERaDeEF4l58=;
        b=UH6QxS9eACdUKoHC10vMFbax/h7SN23OWPELDO/t2zzeCcnaFT9jJ38kXbKGrLELvJ
         JalylfupqwO9xRgpRlOyTi93+dAEQJbrHnNSEDEpGX0/k293DP8oX/No+pxra2w7r0Wl
         mf2sy5R7K+UI6IygxZdqAN6BUAfVQGh/AyhUojIa5FRU6ucGebxsqFb1rncE8vjCTNCR
         Tr9txKu9UDv05YgON9YN28DfVoElFEP8lWSvJOmuqUzcBpGmdfwrGkJKeS+qwbMiDlqj
         UDnQanDukADedTPGGOkMrZvWQe9PYLohGeYmmyeLrJZdF7rVrVrwEJ/4RJhNhkII7A6p
         RLTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713443832; x=1714048632;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ZTfc5awSSxeBq/OCyg80q1gCnNYa9WC5ERaDeEF4l58=;
        b=IQjpmAuj/pi8796U1GyZ0SBrZOY8QluioGxs0W8U3/+hFrzzz9iwu7cbV31Yd10M0U
         cy1cb5xqux35ojXccXQl0LZv50jk+yiA9lgJWTsnrBjPf8aiheUw5NIu7OjQsfo8v7Bb
         ur2zyqpJFtz+EzE8B6yQgYsnK6PyLjUme1N/++Jzkmjq3GgRG5HBRB9kyAwLWV4hLc2/
         tZ4PVY/2SwVRWtpyLWIEsMgoOd76IKotjKeyD1GR8TcjJmq4KA5qu+JXNL3vRm8RTdkg
         7sAg2N+pszO5LGFErQlMHbrCnSHZyb0PiyaXdNs5H554SIEqk5DyrLv0NbSn1C5UeeOb
         mTfw==
X-Forwarded-Encrypted: i=1; AJvYcCVSmiSyKUMFVnOAxjdgGdJITr2UGXbtTXNFy1PifPPdlcIxL1/zyHcFbv5DcAtzTH5IgCNM3JayQjDU7j/7c34KNloYcZwlccJoF/dzayc=
X-Gm-Message-State: AOJu0YwxDNqxdcrMpODS9pq/TOMro/uIxSf/YCvgEgS67IqpRTD24s6E
	H9sZznM/Kv6IVCK4bmMPr3DkyCgdGE93x+obDufR1qGgEDo5GKqnFezrMGDB1Q==
X-Google-Smtp-Source: AGHT+IGD9b2pO/5/spSEmcKX4sRpKXveOaSrMb/ExqIBqMwkuqPEK0+jROpn3opGQnYvOBDOwYfRAg==
X-Received: by 2002:a5d:4571:0:b0:345:816c:6e16 with SMTP id a17-20020a5d4571000000b00345816c6e16mr1955268wrc.25.1713443832186;
        Thu, 18 Apr 2024 05:37:12 -0700 (PDT)
Message-ID: <e3f7b726-f7df-4aee-b69f-638cf492d18b@suse.com>
Date: Thu, 18 Apr 2024 14:37:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/5] xen/domctl, tools: Introduce a new domctl to get
 guest memory map
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <20240409045357.236802-2-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240409045357.236802-2-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.04.2024 06:53, Henry Wang wrote:
> --- a/tools/libs/ctrl/xc_domain.c
> +++ b/tools/libs/ctrl/xc_domain.c
> @@ -697,6 +697,43 @@ int xc_domain_setmaxmem(xc_interface *xch,
>      return do_domctl(xch, &domctl);
>  }
>  
> +int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
> +                          struct xen_mem_region mem_regions[],
> +                          uint32_t *nr_regions)
> +{
> +    int rc;
> +    uint32_t nr = *nr_regions;
> +    struct xen_domctl domctl = {
> +        .cmd         = XEN_DOMCTL_get_mem_map,
> +        .domain      = domid,
> +        .u.mem_map = {
> +            .nr_mem_regions = nr,
> +        },
> +    };
> +
> +    DECLARE_HYPERCALL_BOUNCE(mem_regions, sizeof(xen_mem_region_t) * nr,
> +                             XC_HYPERCALL_BUFFER_BOUNCE_OUT);
> +
> +    if ( !mem_regions || xc_hypercall_bounce_pre(xch, mem_regions) || nr < 1 )

Why the nr < 1 part? For a caller to size the necessary buffer, it may want
to pass in 0 (and a NULL buffer pointer) first.

> @@ -176,6 +175,33 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>  
>          return rc;
>      }
> +    case XEN_DOMCTL_get_mem_map:
> +    {
> +        int rc = 0;
> +        uint32_t nr_regions;

unsigned int (see ./CODING_STYLE)?

> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -223,6 +223,13 @@ typedef uint64_t xen_pfn_t;
>   */
>  #define XEN_LEGACY_MAX_VCPUS 1
>  
> +/*
> + * Maximum number of memory map regions for guest memory layout.
> + * Used by XEN_DOMCTL_get_mem_map, currently there is only one region
> + * for the guest magic pages.
> + */
> +#define XEN_MAX_MEM_REGIONS 1

Why is this in the public header? I can only find Xen-internal uses.

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -946,6 +946,33 @@ struct xen_domctl_paging_mempool {
>      uint64_aligned_t size; /* Size in bytes. */
>  };
>  
> +#ifndef XEN_MAX_MEM_REGIONS
> +#define XEN_MAX_MEM_REGIONS 1
> +#endif
> +
> +struct xen_mem_region {
> +    uint64_aligned_t start;
> +    uint64_aligned_t size;
> +#define XEN_MEM_REGION_DEFAULT    0

I can't spot any use of this. What's its purpose?

> +#define XEN_MEM_REGION_MAGIC      1
> +    uint32_t         type;
> +    /* Must be zero */
> +    uint32_t         pad;

This being OUT only, I don't think the comment makes sense. I'd omit it
completely; if you absolutely want one, please say "will" instead of "must".

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 12:47:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 12:47:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708342.1107187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRAd-0004Al-Sj; Thu, 18 Apr 2024 12:47:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708342.1107187; Thu, 18 Apr 2024 12:47:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRAd-0004Ae-PS; Thu, 18 Apr 2024 12:47:19 +0000
Received: by outflank-mailman (input) for mailman id 708342;
 Thu, 18 Apr 2024 12:47:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qd9Q=LX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rxRAb-0004AY-TP
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 12:47:18 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c80d2931-fd81-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 14:47:15 +0200 (CEST)
Received: from SJ0PR03CA0158.namprd03.prod.outlook.com (2603:10b6:a03:338::13)
 by PH7PR12MB7426.namprd12.prod.outlook.com (2603:10b6:510:201::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.43; Thu, 18 Apr
 2024 12:47:09 +0000
Received: from CY4PEPF0000EE3A.namprd03.prod.outlook.com
 (2603:10b6:a03:338:cafe::8c) by SJ0PR03CA0158.outlook.office365.com
 (2603:10b6:a03:338::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.23 via Frontend
 Transport; Thu, 18 Apr 2024 12:47:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3A.mail.protection.outlook.com (10.167.242.14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 18 Apr 2024 12:47:09 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 18 Apr
 2024 07:47:08 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 18 Apr
 2024 05:47:08 -0700
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.35 via Frontend
 Transport; Thu, 18 Apr 2024 07:47: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: c80d2931-fd81-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DZo6vVvQonx601Mmr0GOsSrpLZuyWgIlmBpqu2fy7VyqzsZMrxwTD8m5/mk0rH0vGwVE7J6+P20KSjjlv1AARNPuT0ntoCnX83BZ/b5PUhb0Cyk54jfkQJYGnabPMtC+Zw+OrhTUzlMnm6KHpB/Qhyn2db6dOEDJiu+eP04J8i5z/9djp3q+QjJLP8vP6DaYQkHqEUBdfuiNTPvOV6MTnysh+M3iztpFzaN5qb9lQZ+v/Rit/SQk1kveUJljTvYp2qZEmY+BpSwWqfXtALvW0XXHqIQ73o4IWHrozP/HjD2rNyrG9j5eq3p0Rnd+UaZcacp4VD6Dv6GzNz46+oOzAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LDyEEaV5Lf1BiJBWQCo2jUmXJFLi9fJ044Ska+F/z1k=;
 b=EEVEOctchLCDz9upDTc30zuhdeeC0+UqzdaGbH3U9JIwaVA2j/jeQsDoM8/NbnhTbc5C9zHAqfywCaWLL99PIXJoH0a1w56ZFber1llwirBaoIQ05maP1zZxlN/DfJDGcjdslL5iqlJ5xutL1cr0ApL2oYdnW6FCEGQ2sYqnvyK6hEClK6tO2gvOJQvzdN0aMxYTwYUf7Kg53LSqmIequw5Qc40RB5uzS1BDDg/r65wzxGvUvys3AjwyKQVDDEEbrClB+6W72fJt8oe0hNXlSFNxeBxKLPA4ij/t5xCfnfbpUVnoGQh58dF0/OGB1EOlbyp5mfaivFHR6aTbnY8kiA==
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=LDyEEaV5Lf1BiJBWQCo2jUmXJFLi9fJ044Ska+F/z1k=;
 b=bOVd9+Ol59WX3D98XmuzdZxETKgQExUv5lbVBLgQMSwHqVtgmYHmbkDCtY02nDZESOyblzBNxl+5BwYMUZEHpEPLgj2ZEJskOIUBXH3I7JOzqQ+sk7MCJ24uAd7IpjUOvtfJ+6gDcg3/KAJ9dCv/TBDOpWtWPJlaSbVyj/kiQYk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <abb6817c-c31a-491e-9be6-748dd1daac81@amd.com>
Date: Thu, 18 Apr 2024 14:47:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/12] xen/arm: remove shm holes from extended regions
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Penny Zheng <Penny.Zheng@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-11-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240418073652.3622828-11-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3A:EE_|PH7PR12MB7426:EE_
X-MS-Office365-Filtering-Correlation-Id: a060ae8f-e09c-4f92-1432-08dc5fa5a930
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tj5TUNLSFON+n4tl5Cwulk+PG2yptqbCFN5qDdITyQy2KSUryaCWSNuyCrwIfvJ5HKFeww98yU7NI4lO86f0WfUrzglU5TVYhM9Mf7YETABdf/81ewsUiX5CiLVd4GazZKO+k109if7T+grZT4QCHgdNAPb5wG8Y3p5QO3WPNkaqp7t/ueQFsIZoIqL3LlqXkRVJJ9bhT1oJzwruOd8bvqbDCvyoFRWuzHZQQWJRRVTYmgKhsJpuBwXZ9Jba7j5DubxA/wBOumRuVlbeLYMVscllxZZUjoPBZ/prCFHEu9jZAjSNZXBYQEBNLxdV36re/LQE/y7c8hC06M5Mo3JSO00oX+ykzhZOnnCUeCIkSLakLzeNeiicXfkkn7Jg+b0H6vbjad9EbKD0gH1wyNh7sZ6aMR+hJYUp/qZbeQYPTDJFvGUzslC+US7/O09neryTOalsZ9F97xfUKByEzbs917Y/CkWFUvs4k4BHejsSaM65P8zSpQvTrp5lqAmnaDNV5aBfhiiXk91PL+pUwDvPvD+0HM7WBMTTqoITScLkmkGgeJoZqWoT6HDLVxkljTDw+l6TkS9sn0kN7FMG7E00PE6X1cTsnfISTjOVvdNK+vUImePEBuWe0Bi6SNI36e0xaLHn1h1G1rE9m1SxlZrH3v4vs32E/gbHSUI6AEpsXHfXcmN4SO83rQj3okvpEZTNqlXPam+9gASyjhrRGDY6K4tgDJIxIBr22exU23YCgWFsM9P1Co2417xUEHcpRjCY
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 12:47:09.1573
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a060ae8f-e09c-4f92-1432-08dc5fa5a930
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE3A.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7426



On 18/04/2024 09:36, Luca Fancellu wrote:
> 
> 
> From: Penny Zheng <Penny.Zheng@arm.com>
> 
> Static shared memory acts as reserved memory in guest, so it shall be
> excluded from extended regions.
> 
> Extended regions are taken care of under three different scenarios:
> normal DomU, direct-map domain with iommu on, and direct-map domain
> with iommu off.
> 
> For normal DomU, we create a new function "remove_shm_holes_for_domU",
> to firstly transfer original outputs into the format of
> "struct rangeset", then use "remove_shm_from_rangeset" to remove static
> shm from them.
> 
> For direct-map domain with iommu on, after we get guest shm info from "kinfo",
> we use "remove_shm_from_rangeset" to remove static shm.
> 
> For direct-map domain with iommu off, as static shm has already been taken
> care of through find_unallocated_memory, we do nothing.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 12:54:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 12:54:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708345.1107197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRHt-0006vt-Hh; Thu, 18 Apr 2024 12:54:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708345.1107197; Thu, 18 Apr 2024 12: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 1rxRHt-0006vm-F4; Thu, 18 Apr 2024 12:54:49 +0000
Received: by outflank-mailman (input) for mailman id 708345;
 Thu, 18 Apr 2024 12: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxRHs-0006vg-Fp
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 12:54:48 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5193410-fd82-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 14:54:46 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-418def30e50so5068555e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 05:54: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
 m25-20020a05600c3b1900b0041816c3049csm2605915wms.11.2024.04.18.05.54.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 05: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: d5193410-fd82-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713444885; x=1714049685; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=t7NJHCfTzkYDulmyK6Njyi3Xj7BVVTO4hKnBt5VNiSM=;
        b=EKfV4D+UfpJ4bZ0bgArb93/SZlLTNwRhN0tQPXaO31wnFMWMIW7qWNCe9qv1GKQ/1d
         RXCsG120/jFM99BJajgWwxKlC2kwDpB3vsEv3O1OQJBZt0aS1gI1TXp5O9UulPfz0MW8
         YdOrkwUyE5pT0Caeh4+JaOFQ0foMqdlEWZ3/mUdXEmn5dfEjhhGvHrO6RNtgwS3LppmJ
         RWSonQq7YlrANyr5oCM6zo/f2vqKejmMx9UaFfKv17K90whYwPp5aIf6JPfZwJu0rxG+
         z226RzcnlPmyE8L9EmCzRCbsJw8Xy75YWeTbUc/KGXBtrTXKRBfq9wpv1YzprrPLcY+Y
         IMqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713444885; x=1714049685;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=t7NJHCfTzkYDulmyK6Njyi3Xj7BVVTO4hKnBt5VNiSM=;
        b=uFgCpsGNrYAB6Wh38XxY85+NXVnXWRLo7hpkijx3ISSUEXyN+2L7w3c7VCV9angAS4
         rHqQIZ9KvP6zhRqiRA8r3hh+ZGbMEdg7gEgQxBKiofCBVPjR9WycnmRJbMVG6NkcuAXc
         0jiy4ZSB3EuFuvrpKbWLzVaymq+Q98nhaJZl3zEp8+Ng6AitJnw7zV9stAzMUfOgcBND
         lqdJbxhTpnOm3fp7qE0UPfdGOQjC8OCLSOkRlOU6dlcztY5Pv5eGrxHBXOYLBNSwlDjL
         qZNWjC9YmBMqEpj3AOnud20Litf+Rpq5b84xFaLt8rpB87Dsii81DpbPILLQU29qFmoY
         xixw==
X-Forwarded-Encrypted: i=1; AJvYcCW5fS9UB5msM0eBmsorBq5Aun0SpCacx7fNSpbY3r0GfkHVYnYel+8u0hkd6fjAopW33fGi9DK46FoEmE0vekssjU+C8T4h2Y/seOXfMhA=
X-Gm-Message-State: AOJu0YzQJU30+1P6sz3xYoYMLZWsSZiF2EBIQqKQq7Et6Mzdhk/1h6TV
	7jOonuUohnjzGCMa3qc7oLPJhA+cwRpqPiahEHkfXZsBBpS3Q+jXP6vs0Ak9rg==
X-Google-Smtp-Source: AGHT+IGrc/BO9ZIXmh6NdN9Sf6OwVLJz0iPSCoMZUtJRsLEsY/14x4ShdRn4KOoFurPFCuWb6UCF4w==
X-Received: by 2002:a05:600c:4e0f:b0:418:fa37:60c0 with SMTP id b15-20020a05600c4e0f00b00418fa3760c0mr114569wmq.22.1713444885344;
        Thu, 18 Apr 2024 05:54:45 -0700 (PDT)
Message-ID: <cc4fd69b-4866-4f1b-b780-64c5fac7d2d6@suse.com>
Date: Thu, 18 Apr 2024 14:54:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/5] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
 xen-devel@lists.xenproject.org, Daniel Smith <dpsmith@apertussolutions.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <20240409045357.236802-5-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240409045357.236802-5-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.04.2024 06:53, Henry Wang wrote:
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -155,6 +155,14 @@ static void increase_reservation(struct memop_args *a)
>      a->nr_done = i;
>  }
>  
> +/*
> + * Alias of _MEMF_no_refcount to avoid introduction of a new, single-use flag.
> + * This flag should be used for populate_physmap() only as a re-purposing of
> + * _MEMF_no_refcount to force a non-1:1 allocation from domheap.
> + */
> +#define _MEMF_force_heap_alloc _MEMF_no_refcount
> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)

Nit (style): Blanks around << please.

Also do you really need both constants? I dont think so.

Plus please make sure to #undef the constant once no longer needed, to
help spotting / avoiding misuses.

> @@ -219,7 +227,8 @@ static void populate_physmap(struct memop_args *a)
>          }
>          else
>          {
> -            if ( is_domain_direct_mapped(d) )
> +            if ( is_domain_direct_mapped(d) &&
> +                 !(a->memflags & MEMF_force_heap_alloc) )
>              {
>                  mfn = _mfn(gpfn);
>  
> @@ -246,7 +255,8 @@ static void populate_physmap(struct memop_args *a)
>  
>                  mfn = _mfn(gpfn);
>              }
> -            else if ( is_domain_using_staticmem(d) )
> +            else if ( is_domain_using_staticmem(d) &&
> +                      !(a->memflags & MEMF_force_heap_alloc) )
>              {
>                  /*
>                   * No easy way to guarantee the retrieved pages are contiguous,
> @@ -271,6 +281,14 @@ static void populate_physmap(struct memop_args *a)
>              }
>              else
>              {
> +                /*
> +                 * Avoid passing MEMF_force_heap_alloc down to
> +                 * alloc_domheap_pages() where the meaning would be the
> +                 * original MEMF_no_refcount.
> +                 */
> +                if ( unlikely(a->memflags & MEMF_force_heap_alloc) )
> +                    a->memflags &= ~MEMF_force_heap_alloc;

As asked before: Why the if()?

> @@ -1404,6 +1422,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      {
>      case XENMEM_increase_reservation:
>      case XENMEM_decrease_reservation:
> +    case XENMEM_populate_physmap_heap_alloc:
>      case XENMEM_populate_physmap:
>          if ( copy_from_guest(&reservation, arg, 1) )
>              return start_extent;

Nit or not: Please insert the new case label last.

> @@ -1433,6 +1452,11 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>               && (reservation.mem_flags & XENMEMF_populate_on_demand) )
>              args.memflags |= MEMF_populate_on_demand;
>  
> +        /* Assert flag is not set from construct_memop_from_reservation(). */
> +        ASSERT(!(args.memflags & MEMF_force_heap_alloc));
> +        if ( op == XENMEM_populate_physmap_heap_alloc )
> +            args.memflags |= MEMF_force_heap_alloc;

Wouldn't this more logically live ...

>          if ( xsm_memory_adjust_reservation(XSM_TARGET, curr_d, d) )
>          {
>              rcu_unlock_domain(d);
> @@ -1453,7 +1477,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          case XENMEM_decrease_reservation:
>              decrease_reservation(&args);
>              break;

here, as

          case XENMEM_populate_physmap_heap_alloc:
              ...
              fallthrough;
> -        default: /* XENMEM_populate_physmap */
> +        default: /* XENMEM_populate_{physmap, physmap_heap_alloc} */

Otherwise: Just XENMEM_populate_physmap{,_heap_alloc} perhaps?

> --- a/xen/include/public/memory.h
> +++ b/xen/include/public/memory.h
> @@ -21,6 +21,7 @@
>  #define XENMEM_increase_reservation 0
>  #define XENMEM_decrease_reservation 1
>  #define XENMEM_populate_physmap     6
> +#define XENMEM_populate_physmap_heap_alloc 29

Without a comment, how is one supposed to know what the difference is of
this new sub-op compared to the "normal" one? I actually wonder whether
referring to a Xen internal (allocation requested to come from the heap)
is actually a good idea here. I'm inclined to suggest to name this after
the purpose it has from the guest or tool stack perspective.

Speaking of which: Is this supposed to be guest-accessible, or is it
intended for tool-stack use only (I have to admit I don't even know where
init-dom0less actually runs)? In the latter case that also wants enforcing.
This may require an adjustment to the XSM hook in use here. Cc-ing Daniel
for possible advice.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:09:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:09:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708354.1107206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRVi-0001Oe-NL; Thu, 18 Apr 2024 13:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708354.1107206; Thu, 18 Apr 2024 13: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 1rxRVi-0001OX-KX; Thu, 18 Apr 2024 13:09:06 +0000
Received: by outflank-mailman (input) for mailman id 708354;
 Thu, 18 Apr 2024 13: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=wMuF=LX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rxRVh-0001OR-UC
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:09:05 +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 d44b3772-fd84-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 15:09:03 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-516d68d7a8bso846313e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 06:09:03 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 u24-20020ac248b8000000b0051967f6cd9bsm233104lfg.95.2024.04.18.06.09.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Apr 2024 06:09: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: d44b3772-fd84-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713445743; x=1714050543; 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=c++SjeR4UWOk++noKSPlojD8/Y9H0t7zqX7dKsIsIFI=;
        b=ealt+5F1FpSUJB9q6G5iZQhCn1T3Oj+ixDcoVnv2X7qicGWSHBbv6bMrv0SFCIZijZ
         NjXTCz+xRSZh2L8agFnkGU+ayaYkJ0m2Y1UTtz+Bk/6jhpzTWl4CiWHyYQuoCgd0hRhM
         vGnA1ta21w3t6FRnk/yZg6NSOsz1OM/KQX8vdZHBA9Ls7ZR0c9SHcxBphyna0psdVN3/
         bLrH6hgiQ+GiA1tVPQJNPxczjifFGjFASlIzwthmSWL8N9i1XUZj827+U9O8TT2dqz8A
         y2mV2DoDq3jsdAk5YZknWuRJ1NBM2Zr37wH65Vu7ukz1aX4bBZbX5tV9HjawvO7zB6/D
         LX0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713445743; x=1714050543;
        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=c++SjeR4UWOk++noKSPlojD8/Y9H0t7zqX7dKsIsIFI=;
        b=esiueQMDU9NSzz2B2T8adDYmU3Q9I9HiwO/Gb5xxyjiuxasoDRju/Bk9g2UI6hCkO+
         +h6ZiItrWl5nQ/t0RyxziaXm+JdQN7Ix64hXhNl5mhK9C1jQzJ0WREPpP0IqzOi7ALe1
         ElG4K/a7yLfFN5Pd86mUO9w5NVvxrgBJN8KbadwBEs2pdpqxA4fXAhLwBfSUnHSNtEK+
         cAcD3IzgolxKv+3UoFJhgY2XEoWlKcHYjxgsPBBYupv+7NAScCoHIpeNqVRpsBrE9uI5
         uJ1KfdI86jVAO+tzwfgWiltN3o9DRMjsUsOahzXGhZthZzPmQuPlSxEtl7qjqDoNOH2O
         okQQ==
X-Forwarded-Encrypted: i=1; AJvYcCX9ASDubOj3Ew4WcOHsQwC4MqRidYj9otTYu132WfQh1qYE6ultS8ch+2ImmtbUKOQAokTY0BILLSCuRys86dUU1NPi+JIg79/k1iV9VqA=
X-Gm-Message-State: AOJu0Yyey/8dOoaYr4oh4OVPb5W3b7AG7k25A/KlAy9AHLQi+JRmO14T
	dHQ+hndQPTTdMhwbnKHnssTaoidmOWodSs9iCPok9DazSMIOn2Im
X-Google-Smtp-Source: AGHT+IFFXUI5U4RsnH6b6AhuENzVAf+u7OIByrBYupxSbDwiN4etyHrXW5W5iQIn5AelBoAHa1Xxxg==
X-Received: by 2002:ac2:4d0b:0:b0:516:2b5a:3a5 with SMTP id r11-20020ac24d0b000000b005162b5a03a5mr712863lfi.2.1713445742563;
        Thu, 18 Apr 2024 06:09:02 -0700 (PDT)
Message-ID: <3acf272c5950ea5e980cb40ae4ee3ec5698b26ae.camel@gmail.com>
Subject: Re: [PATCH] xen/riscv: check whether the assembler has Zbb
 extension support
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 18 Apr 2024 15:09:01 +0200
In-Reply-To: <0f1c2960-2443-4afd-811a-7182cc0ccbd5@suse.com>
References: 
	<10816604a8625b5052f134e54c406fb4e7b6c898.1712649614.git.oleksii.kurochko@gmail.com>
	 <0f1c2960-2443-4afd-811a-7182cc0ccbd5@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-18 at 12:00 +0200, Jan Beulich wrote:
> On 09.04.2024 10:00, Oleksii Kurochko wrote:
> > Update the argument of the as-insn for the Zbb case to verify that
> > Zbb is supported not only by a compiler, but also by an assembler.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> While technically all if fine here, I'm afraid I have a couple of
> nits:
>=20
> > --- a/xen/arch/riscv/arch.mk
> > +++ b/xen/arch/riscv/arch.mk
> > @@ -11,7 +11,8 @@ riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 :=3D
> > $(riscv-march-y)c
> > =C2=A0
> > =C2=A0riscv-generic-flags :=3D $(riscv-abi-y) -march=3D$(riscv-march-y)
> > =C2=A0
> > -zbb :=3D $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
> > +zbb_insn :=3D "andn t0, t0, t0"
>=20
> As can be seen on the following line (as-insn, riscv-generic-flags)
> we
> prefer dashes over underscores in new variables' names. (Another
> question is
> whether the variable is needed in the first place, but that's pretty
> surely
> personal taste territory.)

It seems to me that we need it; otherwise, if we don't use the variable
and put everything directly:
  zbb :=3D $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"andn t0, t0,
t0",_zbb)
Then as-insn will receive incorrect arguments because of the ',' used
in the instruction. It will parse it as 3 separete arguments ("and, t0
and t0"), which will lead to a compilation error:
   /bin/sh: -c: line 1: unexpected EOF while looking for matching `''
   /bin/sh: -c: line 2: syntax error: unexpected end of file

Probably I am missing something and it can be done in a different way.

>=20
> Furthermore this extra variable suggests there's yet more room for
> abstraction (as already suggested before).
>=20
> > +zbb :=3D $(call as-insn,$(CC) $(riscv-generic-
> > flags)_zbb,${zbb_insn},_zbb)
>=20
> Why figure braces in one case when everywhere else we use parentheses
> for
> variable references? There's no functional difference sure, but
> inconsistent
> use specifically may raise the question for some future reader
> whether there
> actually is one.
I see the usage of {} somewhere else in code base, so automatically use
them here too. Sure, it should be consistent. Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:15:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708359.1107218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRbW-0003Z9-CH; Thu, 18 Apr 2024 13:15:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708359.1107218; Thu, 18 Apr 2024 13:15:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRbW-0003Z2-7l; Thu, 18 Apr 2024 13:15:06 +0000
Received: by outflank-mailman (input) for mailman id 708359;
 Thu, 18 Apr 2024 13:15: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=9OU+=LX=epam.com=prvs=083815c34c=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxRbU-0003Yw-Hn
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:15:04 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8b82e07-fd85-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 15:15:01 +0200 (CEST)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43ID0hB2010513; Thu, 18 Apr 2024 13:14:28 GMT
Received: from eur02-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur02lp2040.outbound.protection.outlook.com [104.47.11.40])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3xjyq4s365-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 18 Apr 2024 13:14:27 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by AS8PR03MB9934.eurprd03.prod.outlook.com (2603:10a6:20b:62a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Thu, 18 Apr
 2024 13:14:22 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7452.049; Thu, 18 Apr 2024
 13:14: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: a8b82e07-fd85-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TgsQrr2mPI1IuhMvfhl/fuVTeJj8CxZCWSMokWRh1rdLTCPxf2JlTTrDfFz+qP5SdxTfE8zj3VG3FV/hKiWxxO96aXtKbk0lvUOv+9ejWRNzCrMRxwL47Pw9A/trmqkCLjAzLzxn9jcGLm7YHViVjiO4Lqirpvoq5vKpGVB6aVHXPTq2d8nOqNYJHeTU8EgbEOuE65yiFXYAVipmK3kH4AqKfASFB8H7Wmjf6jZ94BCRrgGIP0vqsrG2Z8GgP/GiIBeWe7o+eDAWetsUPHMfLieQ8tR4RlL+Nn7b2hBLq38mgF43j0p8T4WgftSyiMw8sfszVDRcEnT/KPxbt1bqNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0R16f034gfUp7r9CNEOYXZqUEb/zchbgWuXzGPdp80Y=;
 b=dQHvfARlaTpdAsVAmX/bCMTDPTypfkThyRyF20REjKXX/f7edH+D3g35C91gqX8hCiewhVZiA29se00u4hERGybbQW1WDExflL6M/XwEwyEr+9hmFNeMYcgyiBV+9HLpPGYi8MBinDJRQOxnGm2cjr4a6ngf6KWAR2+kcJ+RU1pIVpsFNlk0sq8h9OSAeJUri6kGOeGDwWL7/XSjL4BdsFpfVvth/jxaWlTrn7s8d0t2mrBrvzn4Ww8ICE484z67364Gv5rCE11RIKh4uo8Gz1da1BKNk40QQkfTZx38LpBW3hZDmZGKvD3e7U0uUZ9aYxh9KkookoYazbkeJYkBSA==
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=0R16f034gfUp7r9CNEOYXZqUEb/zchbgWuXzGPdp80Y=;
 b=AujjKIX/LB2x4xyL2Evx1xVr2I2vaHJHKLc8wrtpQGyt6PbTob117KLRzA15a++qYjF2Zl9utzfiUlt2ku7tSfL82XE+3CtfO4IEOS6qUdvU3Om80GbvfXE+U5YW39vcUxQ1cv6MelpaTuNm61c3mH3qIUMc2ghkemofpI2zgH5uXZwZPUV7YI/HYR1TIUGTIb0lMHNVzd+UeuAAjPRiTtADvaFombMCAHchAxPIxVvY26VDXbNJZSNZuuDxF9rhv52eS9jZuByMvQ/ppOE9nNL/xgOz2kaNkQA81dNQPvB/NY7EldF9UsB+UGrFOzlcSNjyM2fPPLeMsCEJsG5gYQ==
Message-ID: <e928f8c4-b9b3-4f40-9cf9-f04f5ee29d68@epam.com>
Date: Thu, 18 Apr 2024 16:14:19 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 00/15] x86: make cpu virtualization support
 configurable
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>,
        George Dunlap <george.dunlap@citrix.com>,
        Tamas K Lengyel <tamas@tklengyel.com>,
        Alexandru Isaila <aisaila@bitdefender.com>,
        Petre Pircalabu <ppircalabu@bitdefender.com>,
        Julien Grall <julien@xen.org>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        xen-devel@lists.xenproject.org
References: <20240416061845.3467822-1-Sergiy_Kibrik@epam.com>
 <9f00278c-b205-4afd-950f-857b75004c3e@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <9f00278c-b205-4afd-950f-857b75004c3e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0002.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::22) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|AS8PR03MB9934:EE_
X-MS-Office365-Filtering-Correlation-Id: 5853f38d-88aa-4fc1-289a-08dc5fa9761f
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	kr77XyayasWPEsM8mhxzo7+JtTCObm3gc589C/VoLk1HJXbG/UzBVQ1o1yMhleQjmM9vAA+I7177j3dc1NPe1+yy5CjpPClfK6tvo/zW/ttV5NrYpW/HlXsMHgrQvuVI4Gt8VlOregtbMM2b7kU/0kLLZYgSTHZQkQD6LeCivnSWDQnCJc4zVI53F3qNf06tMU7g2eFZJUGJxfUekvmz6LrrsVDtAZL7kzUb5xx/fLZ1xjHFtoGrQqGb5aUwXyPYX23qXuIsS45mYGP/lyCHOFACTyj1iQ0A0CGrLSjGX6yBSl1bibVfsvgpjcTy6sZuwT2fTRHVGTqLBkyCIqqGs+TUtYSPfaXgysdfG0lhubJdDwBJCz/XazYUD5mEhyJhN/6jmi9pvr341IXDVBMcBB3SY79kB8GsEubMg2zX7c6qrMX9e9emknR9y3NZp5P4JnCr1Uzo1KnXAoK/nJUFzYATH6YUs+Z3TinGmrClrWh9jQISjA9hOeI8lciMMsKt8dJlFoV0yWJpobBjPsyAoNpF6Os1BwlSGuAQx+pjS6KLtq2j5d2NKw4VsrwG5emdmsfYLmghk9w94825p/f/xvZnJgRlpsjXmeawvq9WX5Khewf/eVsd+qIVqPVX7u4e9FzYFpcED/trhh4EYPweYftyKmKt6vMbx5iI5JGtmmE=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?WU9XYVVPR0FpWmJocnZlbmk4L3hZS3A1NWZsdmNsR2I1K053Q25kYUhnZmYv?=
 =?utf-8?B?TU1vNU5ML2F3SUYvZEtWOEdIU1drdzNVM2c2ODNaajgvWmVqRlFEMUtNZDBZ?=
 =?utf-8?B?MmE1Y2JCeXcreUtGQjJJZTk5NVJJeGpoYVN6enhWMUEwSUFLWnFkWThWSGxj?=
 =?utf-8?B?Wnp0ZGRyS0dTTTZhMStPVTVUdzcwd2lza05Zb0pGMUFxbVBjeXZXQy9KVm03?=
 =?utf-8?B?dC9kQWYzWlpZSk9uTWZYNDVHak1hR1NyUW5KbWl0azBQZThyOVNsSG5wdWFm?=
 =?utf-8?B?d05TZUpIZmpQWjV6QVFYbEJMNkZob1JaR1lmOXVFMnZYN25OeERSN2FYVm9F?=
 =?utf-8?B?QkVOdk9ldXFQZExkdmtTa09aUUI1WE9QbC8zZEJRNUswdDFXaU1EYVdBT3dS?=
 =?utf-8?B?OXozUzB6b2FDWlNoQ0RCSVlmeVFWMVRIdUNuRXhKL2w3NFhqVGZZaDN3RGlZ?=
 =?utf-8?B?d3pjc0lBbURWOFZkSXZ1K1dHNlczYXJxWE9CVGpKZ05OK3Z6WGFJYjMwczFW?=
 =?utf-8?B?Zyt4alZHeGR1c2s2M3l3dEtqelk4cTJQUFhxN1Y0ME1NQVZQUHNraEF2SFNp?=
 =?utf-8?B?QjhBNjFzRkdqTStoUVE4cHBiSmkrWGRFQzRDa3NZYTZNbGVjL1ZueWVHZmND?=
 =?utf-8?B?MjY2cHdsV1BiUnYzMllsNlpnbmQ0KzR6TlJoS0dGYnY3NGJtTnROYkhhRWU3?=
 =?utf-8?B?YUt4endXVSsydVZYUmFjUVFrZTRYaVNyMkhzUEV3TjZjaDVVZEhtNXF2RVg3?=
 =?utf-8?B?dlZLQ20zaEVkYStHUVdzRjhoSFJXOUZGZzBVZjhjd1FGUGZoTGRvY05JVzBu?=
 =?utf-8?B?VzhFbmlsb0pmWGs4bEtweEJMU054Yy9CNWp3ZU1WbmNjQ283alFSVUtIMjZo?=
 =?utf-8?B?bGZrYVh0bVhrODZ2SmhVQlM4MUh1ZGFSMHlVOWRTQnhuUGNoNnZwTzZNVlV2?=
 =?utf-8?B?TUVjVG1qaTNqYWhYUEtEOCtNQjNyMVR5QjhiQTEveWxQUmxweTMrZ3VlKzkw?=
 =?utf-8?B?L3lGckpxTEZBazhpZnYvbDFKczFtcW1vRndBU0hmVXNUaWx0RXRKakNJenM3?=
 =?utf-8?B?MFE1UGxBaFBCZlRBOWVTNHF3VG1nNEttcUx2d1UxT0xJcm9FeTFRUFhpay9N?=
 =?utf-8?B?S3N5SE1OdmNqb090ZHFRMk1DQTBMazVsM1BTTFAwYWt6dGgxOVEzaC9Kc2tO?=
 =?utf-8?B?NzdzZzVmN0dtdFpJRUZmQjNOT29YVjNkVG93WStsbkc5eUJocEhYNDdCcnZO?=
 =?utf-8?B?RkVDYzlQQWhBRjA4NnpSNzBwb2JON21zMm9CdlRzZy95REdYY3dIdzBzUUYr?=
 =?utf-8?B?UUF4Ry9GdVo5ZU84NW9icEdCcGZmNnFDNWQ0Smg2bTVyNUdCdUNIbnNGWStn?=
 =?utf-8?B?MkpaQmdqaDhkbEg3cmpJYlVWWmo1QmVqRkxOODhOT0NjY2xTU20yU044MnZB?=
 =?utf-8?B?VUJFV3lJUDZsZG5KWHdzVlVWMmFsQUc3Z0EyT1BmZURtbmQ2RUtNZFdsZERm?=
 =?utf-8?B?VUMrL1Bma0lEYzE3aFRRZU9pa0FzOFplNWJ4SEhZREoyZnd3d2lTU0RQWmQy?=
 =?utf-8?B?Q1B0OUx1VzlvWUlzOHlaOWdOQkJ5ZURuT3laYjhOQ0hreVlNMGJuVmFlTHlZ?=
 =?utf-8?B?YjJtQ0RwcFFaVGMwTHJrMi9obDdjTnJvZnQxS3k3amRCaE9jWkpxY09FUlZL?=
 =?utf-8?B?RmJMVkZsZWtnL0tVTGV1VmY0VEhCczNTdzZ6Qk9XR3BxZlhRcjhOdk5hbEYx?=
 =?utf-8?B?N1M2RHZBMjE3WW1WM3JJa2JlQ2JoQm9aa0FOV01leW95dUdjVTR6REpCdGt6?=
 =?utf-8?B?MzMzZ0NCT1NpaXN2NDM1SE1WR0tiNWZjVWREcWdCNGFMakVWSldoSlpQcGp1?=
 =?utf-8?B?RDFBOWRwVTI2NUN1SGRwZjNFR1puWUZVSDhqc0hMM0xBV3pJclZEWnZqT2VM?=
 =?utf-8?B?VXJUTnJpTGhnOVNSbjBXR3M0Wjc5cll4ZVlOS1k5UEo0Z2hjZlNpYkpoQUJD?=
 =?utf-8?B?NFI2LzlnN2hMVHZONGNjTTJFOGlVdFhmY1lVT055WFpDZ1FIUEEvTjVPQ1Mz?=
 =?utf-8?B?aEFYd2I4ejdRR2hCN2M1YzY3TXlRbGNnQ002Z0Z3WlRpL09uLzlCd2J2eXdN?=
 =?utf-8?B?b2JlOWdkNHViZDNnMWx5b2FDVERVb0ZweDlhNHVQMjdvcXdFRFI1dUppcnBP?=
 =?utf-8?B?anc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5853f38d-88aa-4fc1-289a-08dc5fa9761f
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 13:14:21.7832
 (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: KlpAH/n0GDTHNn1cF37E1/byABG7bv3MsNHb0bRwEx+gZnhwbYpbQ1bJa3leoI9qq/IHF87C71xaBxvj8vwV1g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB9934
X-Proofpoint-ORIG-GUID: 5ugDJxzTePmxP7hNbkogpwuX8Nz4bUzL
X-Proofpoint-GUID: 5ugDJxzTePmxP7hNbkogpwuX8Nz4bUzL
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-18_11,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxlogscore=804
 impostorscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0
 suspectscore=0 clxscore=1011 priorityscore=1501 mlxscore=0 spamscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404180094

17.04.24 17:46, Jan Beulich:
> Going forward, can you please make sure you send patch series as threads
> (i.e. individual patches with Reply-to: referencing the cover letter)?

oh, yes.. sorry about that, I myself noticed a broken threading only 
after git send-email started firing..

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:18:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:18:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708363.1107227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRed-0004qo-ST; Thu, 18 Apr 2024 13:18:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708363.1107227; Thu, 18 Apr 2024 13:18:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRed-0004qh-Oc; Thu, 18 Apr 2024 13:18:19 +0000
Received: by outflank-mailman (input) for mailman id 708363;
 Thu, 18 Apr 2024 13:18:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wMuF=LX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rxRec-0004qW-N7
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:18: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 1e100822-fd86-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 15:18:16 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-516f2e0edb7so1082902e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 06:18:16 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 p24-20020a056512329800b00519331d8b66sm237477lfe.110.2024.04.18.06.18.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Apr 2024 06:18: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: 1e100822-fd86-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713446296; x=1714051096; 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=hc2X3KHbrRGZpR0PRDi/EAZCMc879QJWBw32+CYQ1hc=;
        b=kM6pGBX17YOT7lXvcwfMaZT17x1QVc3DmzEa3l67Zye+uLnooh054asG6ptDlKxhkM
         9XbjwtwEmpJUZeJgrD2YhUTJpUyE4tHmGwtcX9zcN7zi/PSnZLZ8DMolQ7cDxrIxiOco
         czO1/LQyJhwUfLq42seWNBa1lNkh84lSFAe+Sbot0lhbPqpKRtP7ABI3lF+pNDFS/6jb
         pt0NBzEgwKKexRV2JdvzEJyD4Nba3vOoKqpFpEPo9ywExO8brLOSpM3SqcR1rGHdTLQQ
         6AkBuT3hJlM77RYYM9ZF/KbDDAilESNL9cUkq0j+pp5hkAvmRWtAwzdE4zyrrsT4UU9/
         Cz9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713446296; x=1714051096;
        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=hc2X3KHbrRGZpR0PRDi/EAZCMc879QJWBw32+CYQ1hc=;
        b=cNOoFKZPAjXpe6XN7NCXr+QLvmybWIehUrsVMpv7VQpYL1qdt947KT6mySAiT/NDD0
         QtmWxE7wVa5FJvGrvcpbzeJDE1Sb/5YtbKIU7s+N0U1ikaogFapNB0wjEgWb/INckfyq
         ip8JY+urZT2FZSV3QMA3sHC+MyeqpmcxaUquCD2DuJuujyIMU/PW4a6Mr5cnkUgKXcxd
         knumuOBB4/ZE2AvadfNTV/ycLKHZ6urSudh/00/Xz/0OWOQShCTaa0xiq0FiWtnFPvmM
         RlVWIY6xLvD6XclevmkVlMUiLT5FaJtO/su+tyJfKLbcqanMkKPnLU0u0E5Btxgn9OWJ
         PWkg==
X-Forwarded-Encrypted: i=1; AJvYcCXXUDR6nSlw444QsZwnBiTHufgFq0EK1lUvxPUdar6NUPgTI8yr6Fkb6xrNIv3iKnRrwI8b8ob8NT1PuiR9EnwYIzq95ubttaiDlpmCSvM=
X-Gm-Message-State: AOJu0YwrCUWq5m/hbKmY2wEpDmkjcGUe+RMhhEz/0HDKpogLyXwt8klA
	RquQ9MqPLK54SWQGTONhXIa9pcBlk9CmPU65d7hJMs4HWbjAekmi
X-Google-Smtp-Source: AGHT+IGAm7M6odkkO+BZhmj4xPM02B3Mjw2frsQThOcGb+YeJyZ3sLiKeYNM5VJmmSVfhL6azlxM4Q==
X-Received: by 2002:ac2:4465:0:b0:518:ebff:6a3 with SMTP id y5-20020ac24465000000b00518ebff06a3mr1297342lfl.16.1713446295763;
        Thu, 18 Apr 2024 06:18:15 -0700 (PDT)
Message-ID: <64c38b454ff9c1438dcd2e30a2aeddb560e3bbd1.camel@gmail.com>
Subject: Re: [PATCH v8 01/17] xen/riscv: disable unnecessary configs
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Alistair Francis <alistair.francis@wdc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Date: Thu, 18 Apr 2024 15:18:14 +0200
In-Reply-To: <9ea586eb-b9ac-441b-981d-f35ee70b9831@suse.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
	 <267bb71ebeeafde25284eff82408effebba4380b.1713347222.git.oleksii.kurochko@gmail.com>
	 <9ea586eb-b9ac-441b-981d-f35ee70b9831@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-18 at 09:14 +0200, Jan Beulich wrote:
> On 17.04.2024 12:04, Oleksii Kurochko wrote:
> > --- a/automation/gitlab-ci/build.yaml
> > +++ b/automation/gitlab-ci/build.yaml
> > @@ -515,10 +515,14 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
> > =C2=A0.riscv-fixed-randconfig:
> > =C2=A0=C2=A0 variables: &riscv-fixed-randconfig
> > =C2=A0=C2=A0=C2=A0=C2=A0 EXTRA_FIXED_RANDCONFIG: |
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_BOOT_TIME_CPUPOOLS=3Dn
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_COVERAGE=3Dn
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_EXPERT=3Dy
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_GRANT_TABLE=3Dn
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_MEM_ACCESS=3Dn
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_PERF_COUNTERS=3Dn
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_LIVEPATCH=3Dn
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONFIG_XSM=3Dn
>=20
> While XSM and BOOT_TIME_CPUPOOLS are covered in the description, I
> struggle
> with PERF_COUNTERS: What's missing there (besides trivial asm/perfc.h
> and
> asm/perfc_defn.h)?
I think only them are needed. I can wrap them by #ifdef
CONFIG_PERF_COUNTERS to check.

We could wrap asm/perfc.h by #ifdef CONFIG_PERF_COUNTERS, but it seems
it should be a separate patch and until there is no such patch it
should be disabled.


>  As to LIVEPATCH: I suppose there ought to be HAS_LIVEPATCH
> allowing arch-es to indicate whether they support that.
Hmm, I haven't seen HAS_LIVEPATCH. I think the intention was that it is
enough to have a default value, but it can be overridden.
   config LIVEPATCH
   	bool "Live patching support"
   	default X86
   ....
  =20
~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:25:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708370.1107237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRl2-0006sR-Gg; Thu, 18 Apr 2024 13:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708370.1107237; Thu, 18 Apr 2024 13:24:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRl2-0006sK-CK; Thu, 18 Apr 2024 13:24:56 +0000
Received: by outflank-mailman (input) for mailman id 708370;
 Thu, 18 Apr 2024 13: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxRl0-0006mS-I0
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:24:54 +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 09bfb86d-fd87-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 15:24:52 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2d8b2389e73so10613421fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 06:24: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
 o28-20020a05600c511c00b0041898fc168bsm6505145wms.36.2024.04.18.06.24.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 06: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: 09bfb86d-fd87-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713446691; x=1714051491; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=i2uk6Zn/0XFrvhpMxLaOkbeffdLU3ofoA9Ddr+FMBzc=;
        b=L6TGU6VXcZZKbpBAqAK3kLjHU9mLtfncYcUhQUiyQnC77gWLbuSORh/MewA9cktxY8
         S5+hD1PuwZwHyn3vxVQU8iWMj+K87al8NEu+mKlnpIT/yiiUc4FlEUDFf8MnSMUbh9vB
         sKA+X8WjVnwyt682iHLpU1YRXCUzJVq2c3wyiNFpV+VOUd+VZp1QPtYjgO5Cn+NJgyF3
         1Ymm3ix+zDomv9arPMuEjRvcyyMCv3Y1ZsOeORv2sJB4p/OYoyOgSJ6mgOqTvTzQEyYT
         XgdkwrxrUTVtDx7aCiBBaAhKhw/Q3sIqdA/yfDJ3GPF9lu78mOOg7ph65kZCUGjyvM6n
         RddQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713446691; x=1714051491;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=i2uk6Zn/0XFrvhpMxLaOkbeffdLU3ofoA9Ddr+FMBzc=;
        b=j2YoRcOW6IdyXWthKG3c/z1KxdO36f8T5OHzVR9PLjaXfuNpVY/JcQDoPF1Hyn77Pj
         FzTrVctpFDXu9b5gnmqjNQBh4a0dPA5XtC44B1dEOG5L0ZP0/8v/acIvgDxVICKi2yMp
         Gu7yxGXPFsbT6r6C4SJ421lH5gonyOq3/bak5LfNPXORluT2B7L3bAW+DbBvm4T233cO
         cUUyJU+0MtnIVQxmFoCmSCop0URLdS2UFi9r7AvMXlqmZkG+MUWNS2Bmf8sDTaxGJdho
         hon7dxbS//9ER1AtLU6x23nzrAy4fhB2eZxsLHiUvAGpnc+XdDiXfuw4SvJkGeHI0ath
         Of5w==
X-Forwarded-Encrypted: i=1; AJvYcCXHS9wOsXW88q00BXLfRRUwV8w2QQJzyzY18nyJg0MvmYlKPgemDAHdf/9Wb3GqE4gmxmsGsWi4uY+xDJbydxERf1+RifaoZy2EWh4F3t4=
X-Gm-Message-State: AOJu0YyrAp/JGGBhuyHl32VtAMIXjAsfBm4Ea/Z++Khf1KHUVQFG9At+
	sw8rLUe9wdGKpJWjiDBan2nBbl92t2kMv3DJHvTCgHd8xH0t+ouGgW9loyljXw==
X-Google-Smtp-Source: AGHT+IG/D9uN3SDUqODTnTZ7+kiEx+RzOT+uBhOpXhoeaKmtLHpF/zTWTAZd6NezA1PoyO2+W5gz2A==
X-Received: by 2002:a2e:9185:0:b0:2da:4b38:4a28 with SMTP id f5-20020a2e9185000000b002da4b384a28mr1544793ljg.51.1713446691439;
        Thu, 18 Apr 2024 06:24:51 -0700 (PDT)
Message-ID: <9b94935f-b84c-4ede-ac17-4e1c6d032b74@suse.com>
Date: Thu, 18 Apr 2024 15:24:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/rtc: Avoid UIP flag being set for longer than
 expected
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240408162620.1633551-1-ross.lagerwall@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240408162620.1633551-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.04.2024 18:26, Ross Lagerwall wrote:
> In a test, OVMF reported an error initializing the RTC without
> indicating the precise nature of the error. The only plausible
> explanation I can find is as follows:
> 
> As part of the initialization, OVMF reads register C and then reads
> register A repatedly until the UIP flag is not set. If this takes longer
> than 100 ms, OVMF fails and reports an error. This may happen with the
> following sequence of events:
> 
> At guest time=0s, rtc_init() calls check_update_timer() which schedules
> update_timer for t=(1 - 244us).
> 
> At t=1s, the update_timer function happens to have been called >= 244us
> late.

Any theory on why this timer runs so late? (It needs dealing with anyway,
but I'm still curious.)

> In the timer callback, it sets the UIP flag and schedules
> update_timer2 for t=1s.
> 
> Before update_timer2 runs, the guest reads register C which calls
> check_update_timer(). check_update_timer() stops the scheduled
> update_timer2 and since the guest time is now outside of the update
> cycle, it schedules update_timer for t=(2 - 244us).
> 
> The UIP flag will therefore be set for a whole second from t=1 to t=2
> while the guest repeatedly reads register A waiting for the UIP flag to
> clear. Fix it by clearing the UIP flag when scheduling update_timer.

I can accept this as a workaround (perhaps with a tweak, see below), but
I wonder whether we couldn't do this in a less ad hoc way. If stop_timer()
returned whether the timer was actually stopped, couldn't the clearing of
UIP be made conditional upon that?

> --- a/xen/arch/x86/hvm/rtc.c
> +++ b/xen/arch/x86/hvm/rtc.c
> @@ -202,6 +202,7 @@ static void check_update_timer(RTCState *s)
>          }
>          else
>          {
> +            s->hw.cmos_data[RTC_REG_A] &= ~RTC_UIP;
>              next_update_time = (USEC_PER_SEC - guest_usec - 244) * NS_PER_USEC;
>              expire_time = NOW() + next_update_time;
>              s->next_update_time = expire_time;

Is rtc_update_timer2() clearing UIP then still necessary, ahead of calling
here? Hmm, yes, it is; the question is rather why the function calls
check_update_timer() when all that'll do (due to UF now being set) is stop
the other timer (in case it's also running) and clear ->use_timer.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:26:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708373.1107246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRmI-00080W-Pw; Thu, 18 Apr 2024 13:26:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708373.1107246; Thu, 18 Apr 2024 13: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 1rxRmI-00080P-N1; Thu, 18 Apr 2024 13:26:14 +0000
Received: by outflank-mailman (input) for mailman id 708373;
 Thu, 18 Apr 2024 13: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=9OU+=LX=epam.com=prvs=083815c34c=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxRmH-00080J-JQ
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:26:13 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38265ea4-fd87-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 15:26:11 +0200 (CEST)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43IAi63x007617; Thu, 18 Apr 2024 13:26:05 GMT
Received: from eur02-am0-obe.outbound.protection.outlook.com
 (mail-am0eur02lp2232.outbound.protection.outlook.com [104.47.11.232])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3xk21b8jrr-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 18 Apr 2024 13:26:05 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by AM9PR03MB7364.eurprd03.prod.outlook.com (2603:10a6:20b:26a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Thu, 18 Apr
 2024 13:26:01 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7452.049; Thu, 18 Apr 2024
 13:26:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38265ea4-fd87-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SRmSVeNod0dUUqAD4UgFcAhNq+faT0Uu17JRY0Iax72nCgrl/XVgUij5pQ7JkmmpUQfTx5tt5TTGbulKrtdg99FASughaYn/NPUVcnMFFm2uzE6O+kwe5hlpZL9J6GOCAddkzGBuz9inej4E31f1Bi+zjkdqNB6Zd10NbdbLgMfcpewHeCYvdV1n6r3Pp8G1AFo5MUBuhvYZK5e3JsxT6hvcjsTCiNNsn8mHOLpsXXjMmvPHedCPCxEesd0QX5JFZDzUvUxCtB1xCN+PbCQtsJu+GNH/3MDBq/dP/NIAVvriEV6JGt3f1+cO4ldU8WB+SRT9CcgCgWsLX8N4GwumGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rhm86dB95fQfrtJ5c1vl6iHequ7334ASotL5EtvKf7Y=;
 b=nkWsU8LrNXvyyXyTP5lz6xflh2KxSNH6vxap8tDoVfN2cSA3D7wAMRx7oNaHBdh2LNfRl1WzPvN7Tle8JvuNFOSLycI2/7gJhfM7kKW3wCEf78D45dkSNAfsyF2YsVFbah9DJ2EmiRvA5Zyo8mPjIPY63/m95KURJQ6kRme0mI1dvQv4r5xmQISkmAudqmRV2Spks/NOsViHTyrQuQECz8iUZ7FBN4LglA8UDCkHNaEeiEuqgf9yDATsGVseavZf6FnbV0+RfAzLCyff6YXwHGryUfIGvSoccU/8p4mnQF9NN3eAMuAdJPEm2GD9ijA1NI59vb4JgrEm1MBXRrZODg==
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=Rhm86dB95fQfrtJ5c1vl6iHequ7334ASotL5EtvKf7Y=;
 b=oBkNuOTIk751Op1scShl2K0YT5rCeaYBGVJ3QkQaorcCBBMYntxWokPD0AVsPRYGNDiDNZzt2GKHTGKcYifnV2E2AQ9De0vyPC4tPqsOV0rmTMyynqHFXxQqGjB34jkccTG49tlZE9y3N5AKt36MMyO4VF0LAcLa5WQKUNV1760JR34MNTDYgokkUALCcxKBxJHKDZbvPc2tfPujUYEKYVe4n/umOkFHgawkNA+a5In/XShTFDWubckeOCV14MrfOOS7F570A4MVPT0eXO+WNeNrT7jlWCcg3xIoTBN/sg2aGBqxoU9BbSFL2RLI7URm/k10iWOl8oyDAKDD8oKf1w==
Message-ID: <25e2f901-04a6-4c05-9072-a926f6abf06c@epam.com>
Date: Thu, 18 Apr 2024 16:25:53 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 08/15] x86/vpmu: separate amd/intel vPMU code
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>
References: <20240416063534.3469482-1-Sergiy_Kibrik@epam.com>
 <939adb2d-7816-4f99-9d57-ed444ab859b4@citrix.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <939adb2d-7816-4f99-9d57-ed444ab859b4@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0022.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::24) To PAVPR03MB9212.eurprd03.prod.outlook.com
 (2603:10a6:102:32d::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|AM9PR03MB7364:EE_
X-MS-Office365-Filtering-Correlation-Id: 90207c48-1ecd-4d2d-956a-08dc5fab16e2
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	fHRAAEfR6sPDlI6jC75yhN2yW5VuwcmRTD2tMNIPBJuNSjmUw50yuB8+n2EiFUl2tZkHjQvMYjv2e9GUjqz5UybhdjtHfNOggwDz2YmdBOpsgDGAoYrE73y0M+QD272iCMGP3C5noPD3O0W8D43/0EnZyz6/bzj2Rm+rPGCp4nw/qmj+9relGnVqKeVRCdMBh0Yc2bA5Q+D+AJvGCf45WEqSMXVGgQ/+POGxVaBul3uwjli9HUqtjM1+H+5a6lp7suNW8BUAi4arfk0wPmwGMgfdsqG6XsHdg41WqUm0TAWyz+yKnP3y7226DBOHkv7Rl0nKuzFEUlos6k1OedkzBN/uR7ZgTdk21Whp8XwmmVvE/AVAtceQFICTHsOfUvipAMqiBFaLJaQyZb4gF8fE2043/vjSBfnEzTvAwLB4rg084k21Odwk0spYYG3dP6Hep4x1mxQgsBZX3d9BbQcYNAOnYi7Gmd7xB1WfUhR8NfOyJRf73px7f4/mqgk+qrMc8geKjgKrHoxv5tE3WLibjcZ3nfKDtyQhdCPXnFDLZgRumjVjx6SOCxfLeyM6ggU8VYH+a3z762NmiT6P/0EdpTsqZz10P/2hyXjLXe46D5iJIkHyGvObhwhDp8Kv0BKdTQ7N1iD+nZr/rxJMH0v3ocqKq+IEqInXZTZcOuMO674=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?RnA3NHQzN0xGOVFMV0luUlZINFhSSEVEMDFxdnc1cVpDbjEwb1BDTkxReWdM?=
 =?utf-8?B?cFljNnZQRlArQ0VUZlFIK2w3cEN3Rm9XTTRPSkhNeUtHREx2Z1dmNVJhWjlU?=
 =?utf-8?B?MGlSdDUzWHpRek9qUWN6S2ZXTi9URkIrMXpaZy9CckdVY3dMb0d5TU5xa3pG?=
 =?utf-8?B?b3ZMYktXNDU4MVJSRVRnNFVuR00wR3htT1JEZHgyTXhFeTdxU1FOYjlTVkhK?=
 =?utf-8?B?OVFYTzZkRG5sazZwcDJFWlBXTWZKelBEMFlrakFHU2E0eHdPYjgyRTFEZVpH?=
 =?utf-8?B?VmtVd05XZmxTQnRnVWdxZ0hkUlFrQjd0ajJyQ3BaSFg4a3gxRzR0MDNObmt0?=
 =?utf-8?B?TXJYeE16Vy9IYXZiNFpvYTVoYUVWVUVHc2RreERlbWM1Nm8xT3RBRVIyRWQv?=
 =?utf-8?B?dVVoRVk2QWI1cTJXSzZ0WU1vcFhpUW9hSGNnL0V4eWE2aHdkSnZ4MVFWK0VS?=
 =?utf-8?B?aEVOY1RiQ2g3dE5UdkRIS3YxczMzazRZTk9OUTRwOUFFbEJlMlJ3VkJSc1Bj?=
 =?utf-8?B?QXhIampieWlZMWcwc1N5NUxSQUZCY1pFUjB0S3pESG5FY2M0QTgwZWs3OWpW?=
 =?utf-8?B?T1FDVE95MEc2S1c4Z3dwNnQ5eTU0MXdRMmp1ZVhOTlFlNWR1NFBjSTh3Y1pw?=
 =?utf-8?B?TG00bkY1alJNazN2V0NMNHFuNXVhNHJaVHc4ZlUzRTVIblBZcXlTbkxKbU5x?=
 =?utf-8?B?ODlRcWdVcURtVnpSTituK0UvYXBneE1meDlwdFY3Y1E4MW9JQVFDQmNqaDdi?=
 =?utf-8?B?WVMvcStCK09YOHNLN0FyVDdRM0ViM2MxU3VOVkI5bnZseEx4RTVMTGJXS3pX?=
 =?utf-8?B?ODVnWm1KcTZFcjNqTzRBMkU5N0FVcmlud0tzYTVXbFlaTnJpZlZtMW1YNXlM?=
 =?utf-8?B?YnZrTVI1bEJWdk9ZOXNjekM4TzRkWXhTenB4bUN2VnlsMmNWWHVYRTJqWk1h?=
 =?utf-8?B?eG5tOGJCYmoxTnJSRGs3Z1QrWkpMZG9MWHlGRGRVU2loVVNEcXN1UWQ2MWZM?=
 =?utf-8?B?L2hEUjZ2NDRBb2RueUN3SGJKUkxRbEhUV203UkRzRVdDOHp1Sm81QTMrQXFD?=
 =?utf-8?B?V3EzeFB0alZONUVPOE5RNThJdWpKSnViN0ZjTll0c2hiMVFKZHhaY2lZNXdk?=
 =?utf-8?B?eStDcHJEbkJ6bWpZU0hwQmNWNGJ0ZW11K1oyR3R2SXVKdlpLN0wzLzFwSkgw?=
 =?utf-8?B?SGdkQnp4TkFhMXBYcFR1dWJ1Z1dOczlpN29QQVRCcnl6bkNUdFBwVmhvV1RC?=
 =?utf-8?B?UHp6UDczdERVbklLQlBWaTVicFBsVUtMb1E2aU5VVVliSGZBWThSNE5Td2s3?=
 =?utf-8?B?cE5UR1ZnYkJsbHhXQ0V3ZndwSTYrUnVUelNPcFJLNlBiaVQxakIzY0pOWEti?=
 =?utf-8?B?VUNoT2lzREg3VFpOVWVPSDFucTFXUHIvVWExTk1sdnZXTFIxazJWcFFVM21x?=
 =?utf-8?B?OG9QS09FaVNyMXh1N09iSUNTanBhekVWMUpmeGxZNUNCUVlkUysyZzdaNjZN?=
 =?utf-8?B?MjlpeGs3aXl1NjQ0cmhEb2p4L1d2WG96M1oxYmpYd1phcFloOWl5eTEzdXFB?=
 =?utf-8?B?dU5RMFN5MFZGdjdtR3k3SU1hbDR1V3pEb0pWbVpkdW5XLzN6b2QzT3VRcisy?=
 =?utf-8?B?U3BqdnJFeThxaSs5VEZwajdUQWhQRlAxVnZTdlF2MWVPeWdsbEcvc1I2WFBJ?=
 =?utf-8?B?VndOeUFITTVWaWVwbDNjTCs4R0dKVHJ4d0xhSW1id0pxV1NlbDhzaHJjc2FP?=
 =?utf-8?B?RWZRTTlidGZKTUJWREs1eTdna3JNQXJ1MmlOcVhlUXZvUHZmVVF2TjFUeHZR?=
 =?utf-8?B?MTM2bTc2N0VKYVJiK0h3SU9vQmk3WHZObFM3ODBkQkdSNWRRY21Xc1RnSUQv?=
 =?utf-8?B?azEzeFc0N3N3a0hhNVNuRDVSTUpTaVlHYWVjaDBkRFF1Y01LNkRkNFB1Ukhh?=
 =?utf-8?B?VUxoMEtlbFQzMUdZRE9WNjBZNksrbk5oVlVxdENvZEVvN0tEMmNadUg2QUo3?=
 =?utf-8?B?RmUvSnh6WEYvMFcwZDl2ZDhpbUZuZ3M5dlVvNUlaQVd3TFFVaGFVQ2QyUHBD?=
 =?utf-8?B?Q2YzTG1uejUxQTljVmlIZ0pFZU92a1g5N0d1ZVdGbklJMlE5K3VsTFUydTF4?=
 =?utf-8?B?VmVKT0NzSmJDblNLd3NmNEM5Qy9PZk5HV3ZFRWFHelJXQmpKSnNqMGM2Qmpa?=
 =?utf-8?B?ZHc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90207c48-1ecd-4d2d-956a-08dc5fab16e2
X-MS-Exchange-CrossTenant-AuthSource: PAVPR03MB9212.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 13:26:01.2964
 (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: fsrwNeQHy0+WWUwZgp7CVeVB43V3kj8NhmTzHhn2QocdZM2p3AZrZR+WVACYf3cC+M6vj8Vc121QQTn01lfYNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7364
X-Proofpoint-GUID: QhmpFd9IVmbZLSYQS2ZA3OB9uw1TINCw
X-Proofpoint-ORIG-GUID: QhmpFd9IVmbZLSYQS2ZA3OB9uw1TINCw
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-18_11,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0
 lowpriorityscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 phishscore=0
 clxscore=1015 impostorscore=0 priorityscore=1501 malwarescore=0
 spamscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404180095

16.04.24 14:05, Andrew Cooper:
> On 16/04/2024 7:35 am, Sergiy Kibrik wrote:
>> diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
>> index 35561fe51d..d3d7b8fb2e 100644
>> --- a/xen/arch/x86/cpu/Makefile
>> +++ b/xen/arch/x86/cpu/Makefile
>> @@ -10,4 +10,6 @@ obj-y += intel.o
>>   obj-y += intel_cacheinfo.o
>>   obj-y += mwait-idle.o
>>   obj-y += shanghai.o
>> -obj-y += vpmu.o vpmu_amd.o vpmu_intel.o
>> +obj-y += vpmu.o
>> +obj-$(CONFIG_SVM) += vpmu_amd.o
>> +obj-$(CONFIG_VMX) += vpmu_intel.o
> 
> I'm afraid this breaks perf counters on PV guests.  These files are
> joint guest-type implementations.
> 
> Seeing as you leave vpmu.o alone, I guess that all you're actually
> wanting to do is compile out vpmu_intel.o?  In which case, use
> CONFIG_{AMD,INTEL} rather than CONFIG_{SVM,VMX} please.
> 

Thanks for pointing that out.
I think I'll just exclude this patch from the series, and make a 
separate series with CONFIG_{AMD,INTEL} option and code separation that 
unrelated to VMX/SVM & HVM/PV, only to CPUs themselves.

BTW, how would you suggest CONFIG_{AMD,INTEL} shall relate to 
CONFIG_{SVM,VMX}? Should CONFIG_VMX just plainly depend on CONFIG_AMD, 
or more complex relations needed?

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:30:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:30:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708379.1107257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRpz-0000Yq-A9; Thu, 18 Apr 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 708379.1107257; Thu, 18 Apr 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 1rxRpz-0000YG-5F; Thu, 18 Apr 2024 13:30:03 +0000
Received: by outflank-mailman (input) for mailman id 708379;
 Thu, 18 Apr 2024 13:30: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=Wd5e=LX=bounce.vates.tech=bounce-md_30504962.66212056.v1-655cacc3846a450a9b5dbe6873ae8bd8@srs-se1.protection.inumbo.net>)
 id 1rxRpx-0000Ko-Qj
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:30:01 +0000
Received: from mail145-32.atl61.mandrillapp.com
 (mail145-32.atl61.mandrillapp.com [198.2.145.32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c105e356-fd87-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 15:30:00 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-32.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VKzCp2bVTzP0JwVJ
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 13:29:58 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 655cacc3846a450a9b5dbe6873ae8bd8; Thu, 18 Apr 2024 13:29:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c105e356-fd87-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713446998; x=1713707498;
	bh=wICY7ny2ZCfxEeyzkcNCEqo9+fMURVyeSoPb1nSdA9s=;
	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=m6TsG6AmjiaLFuSAKSNw1MP+pSI7Xe4luoOnoEteXCTLiRiHPo1NuDexEZuhkb5BG
	 pq81TugBqevhx7FPElyKbfc0ZOPY/nW9rvFjgYU1BzqCe5N/+IVBdzJ2J34qJUfvlI
	 B1itDN6tY7Ov3N+40A65hFSZi72RR3RCwx44IpVBhphRRlOtMOiCgeCyhiKr1jIp9h
	 xkrjzIdWjWVZyz0gdtrb5U07LV+DsvBk1430q+Q2jeh0gbln5yYSQRowGPVmHr7Zuy
	 ztlD9mVz1g2bbShchFbNncIUMaKwiwCn6aRB3immrJst7XRZg/zdXxF1TPqiuX22xU
	 j0ZKMQB+tPNrQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713446998; x=1713707498; i=andrei.semenov@vates.tech;
	bh=wICY7ny2ZCfxEeyzkcNCEqo9+fMURVyeSoPb1nSdA9s=;
	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=ARVmbN9aL4B7j7KxpWzEGE5hptrL+JxVfZpqSFx1nVni9S+/DXJ8v4gsinXcbd4wZ
	 zHos9gHqBwnJlzKuuMwtYW+Im5pkr//dFzhz3xTVAekjuHaWhdARorzvIEiXgRHj+r
	 Qs+DTeriXXO3LOzggP+CLYS87nxsrUpL0YrMkGlf4DoOc38+PFhIzs1fm6daM2VmPB
	 GWPzYJmBev3IWlTDhwwJ2xyXdTxdVvaRKB0Cc/WNx2QxsNrkrPvo+I40QZPfVGDu5Q
	 waCHcq5nVawnubLvRe28cTHyMbuudlvzrxiLH9AXf1yPZFgXEQnuNDY259n8fUEBmu
	 RIMsA/dTsFZsw==
From: Andrei Semenov <andrei.semenov@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v1=201/2]=20Implemented=20AMD=20SEV=20discovery=20and=20enabling.?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713446997313
Message-Id: <f21507af-22e1-40d0-ab35-654789d268b0@vates.tech>
To: Jan Beulich <jbeulich@suse.com>, Andrei Semenov <andrei.semenov@vates.fr>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1712759753.git.andrei.semenov@vates.fr> <27fce67472c97b2b2b7cc0412bf0edcaa67cc63f.1712759753.git.andrei.semenov@vates.fr> <b66ea826-f670-4a9d-89cb-4de6cb3ec9fc@suse.com>
In-Reply-To: <b66ea826-f670-4a9d-89cb-4de6cb3ec9fc@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.655cacc3846a450a9b5dbe6873ae8bd8?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240418:md
Date: Thu, 18 Apr 2024 13:29:58 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Thank you Jan for your feedback.

 From what I understood, Andrew is planning some "ground" changes

on CPUID leaf discovery, so it probably will move here.=C2=A0 I'll wait for=
 his

changes to apply your and Andrew's remarks and to re-post the patches.

Andrei.

On 4/18/24 10:13, Jan Beulich wrote:
> On 10.04.2024 17:36, Andrei Semenov wrote:
>> Signed-off-by: Andrei Semenov <andrei.semenov@vates.fr>
> A couple more nits on top of what Andrew said. First: Please no patches
> (which aren't blindingly trivial) without description.
>
>> @@ -1030,6 +1031,54 @@ static void amd_check_erratum_1485(void)
>>   =09wrmsrl(MSR_AMD64_BP_CFG, val | chickenbit);
>>   }
>>   
>> +#ifdef CONFIG_HVM
>> +static void amd_enable_mem_encrypt(const struct cpuinfo_x86 *c)
>> +{
>> +=09unsigned int  eax, ebx, ecx, edx;
>> +=09uint64_t syscfg;
>> +
>> +=09if (!smp_processor_id()) {
>> +
>> +=09=09cpuid_count(0x80000000,0,&eax, &ebx, &ecx, &edx);
> No blank line above here please.
>
>> +=09=09if (eax <  0x8000001f)
>> +=09=09=09return;
>> +
>> +=09=09cpuid_count(0x8000001f,0,&eax, &ebx, &ecx, &edx);
>> +
>> +=09=09if (eax & 0x1)
>> +=09=09=09setup_force_cpu_cap(X86_FEATURE_SME);
>> +
>> +=09=09if (eax & 0x2) {
>> +=09=09=09setup_force_cpu_cap(X86_FEATURE_SEV);
> I guess this goes along with what Andrew said: Using synthetic features h=
ere
> looks suspicious. These want to be recorded as an ordinary leaf.
>
>> +=09=09=09max_sev_asid =3D ecx;
>> +=09=09=09min_sev_asid =3D edx;
>> +=09=09}
>> +
>> +=09=09if (eax & 0x3)
>> +=09=09=09pte_c_bit_mask =3D 1UL << (ebx & 0x3f);
>> +=09}
>> +
>> +=09if (!(cpu_has_sme || cpu_has_sev))
>> +=09=09return;
>> +
>> +=09if (!smp_processor_id()) {
>> +=09=09if (cpu_has_sev)
> Two if()-s like these want folding, unless it is made clear that very
> soon (see above as to the missing description) further content is going
> to appear inside the outer one.
>
>> +=09=09=09printk(XENLOG_INFO "SEV: ASID range [0x%x - 0x%x]\n",
> %#x is preferred over 0x%x.
>
>> +=09=09=09min_sev_asid, max_sev_asid);
>> +=09}
>> +
>> +=09rdmsrl(MSR_K8_SYSCFG, syscfg);
>> +
>> +=09if (syscfg & SYSCFG_MEM_ENCRYPT) {
>> +=09=09return;
>> +=09}
> No need for braces in cases like this one.
>
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:31:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:31:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708383.1107267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRqx-0001jg-K6; Thu, 18 Apr 2024 13:31:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708383.1107267; Thu, 18 Apr 2024 13:31:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRqx-0001jZ-HG; Thu, 18 Apr 2024 13:31:03 +0000
Received: by outflank-mailman (input) for mailman id 708383;
 Thu, 18 Apr 2024 13:31:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxRqw-0001WF-Kv
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:31:02 +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 e5869a83-fd87-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 15:31:01 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-418c0d83e61so9367665e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 06:31: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
 a12-20020adfed0c000000b0034635bd6ba5sm1858911wro.92.2024.04.18.06.30.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 06: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: e5869a83-fd87-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713447060; x=1714051860; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+lEaaj3MuqcTwsfNK42FJSNRAops+k57UiovJlV35tk=;
        b=HqxEG0eqEoKOI8SUFIKUUuis87oSi1/reBq2tcQAZeuT2W/fnnt0B7hlJFDGVhBfii
         S2tWgNiLJ0qPKMqpJ/TVmU9mUDmvzZjCgxryRa/+AU3w+48Fyid24PmZ2OaCbgb1bLbg
         GYpj1VCOWRRvITbowinNX/wYLwizy4ndhTy2d/DbHM5roEoQTKTpPsd0Pg0rm2UjpVb9
         ZM//ft05wCiOmcq0/VxXJy+1ce/3R+ki9wxlgsvyJFzkYht2CWo7Lrpaleuzxq4yWtaw
         hyQvBcmgxxaBOn+/HnwiKVLXCk8Q9jFh4z7GuYXMRrct/bQxLmnf+dXpI/zZVJSmsow0
         rwsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713447060; x=1714051860;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+lEaaj3MuqcTwsfNK42FJSNRAops+k57UiovJlV35tk=;
        b=iU+mq3Vgadp8qiENHxF0mVu0UeCVpKRFVPcuvxvAraPJOpsFTqbywe9zBodH7oHNm6
         +dBqOpnSFvLmiSHP5na1bSoaUjd9IeJGeklQtNIGIYvyOUCKTwg1Vz4tUl6sFCtG+cAz
         Fpy4KGkNtliMW3t06ffY/PxyVL3AUpAZFB8GZw0Qe4tK+3fQHJ35GAj7A2DhEyb37ox+
         0GF6rf3/3hfq8vm4Reg2Hs8f2dbQaXb9/l48JZKKsCt8xa37qOMRuix+Tl25hbLM8QJG
         KyaxhdlCqDV5IbnZ8JfQWjZIehP6uMD81afcbsatl3A3kFqL5YL5d+P/2REQueHs4CYf
         yB+w==
X-Forwarded-Encrypted: i=1; AJvYcCUkXRpHT4U2D9qWAzdjXFTtlyRsHyG9mWP0VHLUMRQta0674oZdAkjyHznlf5jC9cwUH/14xzbQHPCwBoQt+M3X1XNMbi/Gg45AHOWMlb0=
X-Gm-Message-State: AOJu0YxCJ2WxaEY15Q0a4y81GkGBRHXSERZIDtI1f4/Xs6DuWqGqPBKQ
	IHPqIM+zMJnL5NTSiZXBvkOVXvfKEWIskEQCOPmykfcUS9DVV8TGh6QCt3EjPA==
X-Google-Smtp-Source: AGHT+IGIIXn3HzblNVkCr5VLdD6vkbqdNwH8//UEb4oamWXyHW/gtibh6wjExsYohpdfKpUZh7eLEg==
X-Received: by 2002:a05:6000:18c8:b0:345:bcd4:8f34 with SMTP id w8-20020a05600018c800b00345bcd48f34mr2069952wrq.54.1713447060308;
        Thu, 18 Apr 2024 06:31:00 -0700 (PDT)
Message-ID: <b5b2b549-3a8f-447a-9713-83b0093d792d@suse.com>
Date: Thu, 18 Apr 2024 15:30:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 08/15] x86/vpmu: separate amd/intel vPMU code
Content-Language: en-US
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>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240416063534.3469482-1-Sergiy_Kibrik@epam.com>
 <939adb2d-7816-4f99-9d57-ed444ab859b4@citrix.com>
 <25e2f901-04a6-4c05-9072-a926f6abf06c@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <25e2f901-04a6-4c05-9072-a926f6abf06c@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.04.2024 15:25, Sergiy Kibrik wrote:
> 16.04.24 14:05, Andrew Cooper:
>> On 16/04/2024 7:35 am, Sergiy Kibrik wrote:
>>> diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
>>> index 35561fe51d..d3d7b8fb2e 100644
>>> --- a/xen/arch/x86/cpu/Makefile
>>> +++ b/xen/arch/x86/cpu/Makefile
>>> @@ -10,4 +10,6 @@ obj-y += intel.o
>>>   obj-y += intel_cacheinfo.o
>>>   obj-y += mwait-idle.o
>>>   obj-y += shanghai.o
>>> -obj-y += vpmu.o vpmu_amd.o vpmu_intel.o
>>> +obj-y += vpmu.o
>>> +obj-$(CONFIG_SVM) += vpmu_amd.o
>>> +obj-$(CONFIG_VMX) += vpmu_intel.o
>>
>> I'm afraid this breaks perf counters on PV guests.  These files are
>> joint guest-type implementations.
>>
>> Seeing as you leave vpmu.o alone, I guess that all you're actually
>> wanting to do is compile out vpmu_intel.o?  In which case, use
>> CONFIG_{AMD,INTEL} rather than CONFIG_{SVM,VMX} please.
>>
> 
> Thanks for pointing that out.
> I think I'll just exclude this patch from the series, and make a 
> separate series with CONFIG_{AMD,INTEL} option and code separation that 
> unrelated to VMX/SVM & HVM/PV, only to CPUs themselves.
> 
> BTW, how would you suggest CONFIG_{AMD,INTEL} shall relate to 
> CONFIG_{SVM,VMX}? Should CONFIG_VMX just plainly depend on CONFIG_AMD, 
> or more complex relations needed?

The answer to this, from my perspective, is actually one of the reasons
why I would have wished we'd have separate CONFIG_INTEL and
CONFIG_INTEL_CPU. I'd then suggest to have VMX simply default to INTEL,
permitting at least experts to select it also when INTEL=n. Perhaps that
would still be the best approach even with this INTEL / INTEL_CPU
distinction.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 13:31:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 13:31:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708384.1107277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxRrD-00025A-S1; Thu, 18 Apr 2024 13:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708384.1107277; Thu, 18 Apr 2024 13: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 1rxRrD-000253-P4; Thu, 18 Apr 2024 13:31:19 +0000
Received: by outflank-mailman (input) for mailman id 708384;
 Thu, 18 Apr 2024 13:31:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9OU+=LX=epam.com=prvs=083815c34c=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxRrC-00023E-2g
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 13:31:18 +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 ee4f43f7-fd87-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 15:31:16 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43ICJAfp029461; Thu, 18 Apr 2024 13:31:10 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3xk3dur90d-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 18 Apr 2024 13:31:09 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by AM9PR03MB7059.eurprd03.prod.outlook.com (2603:10a6:20b:281::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Thu, 18 Apr
 2024 13:31:06 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7452.049; Thu, 18 Apr 2024
 13:31:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee4f43f7-fd87-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kXU8Dj74MzkoS9cIvbYAFQoEw2M7EbHIhWedravLMlhEpP+ZLSAGH0PfiqxQ1E8Ux0n0zxofMYci6a8KhYsBnGrERMidTVbYnNfoJyFCbHavXJGNFUFvomVW3DvfbVNxBKbnJ5O3e8pWHhPM2Gs8g6ndIQJk2p9XMpvzE69Bm+mqTZp2Yu0uhMola40xILkKjRyaJmLIW/I//onha2DWX2z/fQKr9/Vm+gK2ys80wRS4UZhSi4ek2cUjDCNi3QUNDfgcsdVXZyah/fiuncZpTKFaidYPxYpPp3mrezSQI2hHsZHHP4RlczAdmwKB2uGC2wrXmKq43yCoAmNC4J/vxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HirSd0t5+EnyK16DnRJY1QL7GZUZgFHV+Bic5BSOBpE=;
 b=ax5y6AF1R7SYJl+CmKOngCbor0GKibzmIq5hVLvQWIWI0vorA4L1QJD6Y73nHNHdOqwqiytRBR8KxEZ402sCq+NgEvenBCUShooVPiRaVAEjQvxqV7lc8YVudcYG4ILksm8E/yF9r6DYlVY2PaDgfp3HIfRh0Uld03v3wEAVHtZv2eR9OPyni0q5r2cmnrbFqY5KdPkOaaexuonvpnDm9ZRVKxFMOp+aQJDvkaNf4hjvDgRFIVFp0LhxU8hm1Ah6YSs0/aPJduVASSM2fYcNKK2oAfaGCl41c+U2+EFCPtSlLOm/pCefvm2LB90Z0CmHWmQhk/f1tuGZ7FJ4lHFCYw==
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=HirSd0t5+EnyK16DnRJY1QL7GZUZgFHV+Bic5BSOBpE=;
 b=ZijQQ3oOP7v8IUBa31hzkWalZRi7I1VDU8e6sDJcQS0FLlXIh0P+Vdq2/e97YUg8cQr/Cv+sxJcQMAxexYJYfCncDZM0DvNjo0Z2GcVQmLMhLv3dMT3x0xYbpW0PM1qPugqYPYmUEN9PTK307YAUvUnOdEZ+WxiefEoxXVO3P7Gu3NId4Ywgf+jyRyS48qkqP67wTmaNrFAFL2hDes/S9EHdRGaFBB+OsuyiMawLnOgPPX8RfynFPVx1oBmvIMC+rS1opuvz6OHutERDY6y2bYZhnIlm5pY7ebs/+6sGrH95RgwYSqyq8eCKlq79Nx3fDjn4RrWNqxo+++JiUFKuqw==
Message-ID: <5363530b-fbdb-4d7e-afcd-b71b1e681e5a@epam.com>
Date: Thu, 18 Apr 2024 16:31:04 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 13/15] x86: wire cpu_has_{svm/vmx}_* to false when
 svm/vmx not enabled
To: Andrew Cooper <andrew.cooper3@citrix.com>,
        Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        xen-devel@lists.xenproject.org
References: <20240416064606.3470052-1-Sergiy_Kibrik@epam.com>
 <fb54fefb-404f-43a4-aea9-28649927c353@citrix.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <fb54fefb-404f-43a4-aea9-28649927c353@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0022.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::24) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|AM9PR03MB7059:EE_
X-MS-Office365-Filtering-Correlation-Id: ccb60bca-98ca-4c09-6a6d-08dc5fabcd19
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	rFCxwdToVue6whatW6M+jQEBh4eWFJx4sfGJ5dW1jSyZViZS341jVX2rl/OUtkGcJPXJuCt7S4NXzpW6EY0+m5HPzsZuqkYQJ1LNoKz9JENWR4ZC0zKkCib+YegElRC9u2uuubY2eog94Cwihjb/+MQEvrOWVKSxMoodR6eJaDwdrD2REepL1PUGCRqX72gnbiRAou7xqT32eSiqSLv3V4JFweMjcFZPx/syDxC8xj8FdMikYoXGECaBDsv1lJHTn/FdgPIeIP200lfXIc28VhaECEvgzspY/WI+l3AfxGxZa1o+0I1CU88uhwydAi0TDI8bCApyWwW5mS9L7WjU9pHocIxHRJu5Q+jVgNYhg/a1+Ut+xrr6a8H+kr+U/dcgK2fQq7JFYXIGjW+5dbSglcVH+ktPxKzv82LqM/Ol9/Jx8lAsvPGmxDx89371eCkZ9XYxOelmbZsPHbtXO30+HSifN7TFD6uLF0m79IkUPlMqQpEPECAFUAKSy75DYZbCreZ6h5HAMPTb8tXDPw70QvoCg+18iAqlfudzjoifARxEihq3TTGY37MWRn1fPMBEfmWkerNMnFeN6qVeCqgXgyCwKrzOqZI7L/Ia2otDjoNz1nKN8ulx9S0B44OlbYl0S5nSjGVKfc3/XY2Wj/FQY13ebtjeidtUJ3RdjtTuhLA=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?WUsxZVJQZ2dBUXBvamhCdW0xSFkwVFQ3dEFNYXFPMGpSMTNYSGtLZ1hnbDV2?=
 =?utf-8?B?akxkUDVKUXFCNUVqY3JjL1AzRStnNzJtWEZLOXJnNzVQUnhzZmhXcVd1SzFu?=
 =?utf-8?B?dkNzcXNLeWFvZG9PWUErb1lnanpseTBuczlZUkNPaFh1VDRlbXVjYkc3UE1X?=
 =?utf-8?B?TXRLTHZyVzg1K3VGMWlUVUpYQXpLVCt0ZlAwTTVWUTdEanVLQ1Q0T050Mi9R?=
 =?utf-8?B?Nk9yVnRmSHFIWUpnaWN1czJwZ3JSdkRMelduV0UvZUxkUm02R0t6RU9YTURt?=
 =?utf-8?B?NzRXYzhGTFAwdUNaZ3lRUUh6TlBRM05kWklVdVI5OUtFcjV1d0p2NkdiZUpp?=
 =?utf-8?B?K2g4cWMyaXR5bU8yVUpNcVBoMXlQcGlaYkQyTXRveEI2OTZJNFl3Z09Hamhp?=
 =?utf-8?B?bUdaTW9tTXpaNGY5YWxxSDBnakV0YmFoUEhlYmNKQ0NTSFNlSnpnVE9SR01l?=
 =?utf-8?B?MldJZ3R1THA2VlVWOGRTSEpkckZKZm1ocUNjaEdxQjhjWHFwS1E3RlpodkhU?=
 =?utf-8?B?MXZtYk1lWkhJeGZsNVdkZmdSNmY2VVVEaEJyQ2FocVRoeFZMZ1B3SXdBbDd5?=
 =?utf-8?B?UUtVUTdnUTJ2bDRtNWowS1kwQTk3eStJRG1sbEU0QVB1SHF6TkYzQjRGM1Fh?=
 =?utf-8?B?NDFYaE1vcWVZcEROQWNEZFh0eFNxdnBXWkVVUmxoNmNCVVJzR29Qa3hGQS9R?=
 =?utf-8?B?cGtVSnBZWkh4ZWtwZEdSYitEWjNVYW5YQ1FJMUxFQ3hJekFMODdMUkpGaGdw?=
 =?utf-8?B?ZHZtOUFJRVRNc0I0Y21hbWt2K3YwbDh0ck5MZGlKdFMrT2lYb3hOT1BRSjZr?=
 =?utf-8?B?Y3h3cTRYN2dvS3hrOXE1bFNrSU42K1JJdGxuNk9vOXJSMGxBNTJDQml1MUVK?=
 =?utf-8?B?dUx3MGVNbFRWSnBvSTNQbEJyN2JrY0puV0d6M3VmZFF4RDBpNTBsU3lmWXc3?=
 =?utf-8?B?RkNVTU5ZM2RKVkdBYXVKMWhSeXVnem1yMklic1hHRXJlMS9jVUo1SEV4VFJv?=
 =?utf-8?B?V2lBRlNyZ0E2b3RoMElmckE1ODFVRzJBbE5pVzBQd1ZCY0pNV2JQaTllOGlE?=
 =?utf-8?B?ZjN3T1JyWmlReExCS1RJdkhDUm1TK28yaXNveTFOSThTY2ozdEZBN1k3UzFi?=
 =?utf-8?B?cmlLNlpxQnpHRnZtQXdjZjFiN29JWGxJZmZLeklCTVNPSTBnb0MxQjVtb2F2?=
 =?utf-8?B?MGUyU2h5MmpSd2tCZjJPRFltTk14UU1CdkJNMzV0dlltelpQQ0FPcnE2Z0p4?=
 =?utf-8?B?YnQycjhOSzdWSlFzTmsweFMwWXB1MjFML2ZXTXowV2tobkVFUFBZT1Ewc2d6?=
 =?utf-8?B?Q2RKbkExNlM0VWhxZFNtTmptVkFJaGF3THJiKzVHT3NEWnBiYnNzYVhTaHkw?=
 =?utf-8?B?dXdCWHd4SnBiK0NKdFJVWUs5M3dXT0o2WVN0OUZwaWlYT244UGhPaDV0M01X?=
 =?utf-8?B?eUJ3eEZiclBFYkNCN0h6eG85MkRCekZnOVVBa3phWGl3SEFxRXNuZllua1hl?=
 =?utf-8?B?RUY4OTZiM09acys0TkhKeUlkOTBKUjZ4STNHL2hZeHJMWGV2MjBUU0NsWW9x?=
 =?utf-8?B?V0ptTmdCS1lockEyeFF0eG12MnU1UHhaNE5xejBqQlQ2ekd0N09CblUwd1pU?=
 =?utf-8?B?THVaazcvd0RWZTk3SFNHQWhNTnV2UDZjbjI1aXRpd08ybm13UmlCVEV3R0Za?=
 =?utf-8?B?TGMyU1AwSWh1ZFZ2QzZOVllVWHBVOXZ0ODUzMGluKzgzQVZYeTZXK2lnY0FL?=
 =?utf-8?B?QWY3NHpwNUJqcGJ1R0ZsTmM5djZoN1p2M2craTlJNW9lU21ZZWFuWUVBYVlY?=
 =?utf-8?B?bk1YcHBDZnI2NkFTUi9rc3BUanNKalBLK3d5RktHTnNZNnZON0J6bktGL3hh?=
 =?utf-8?B?N3ErNUhxR2ZXQXFFMFFXUEViSWkwa3haQjVid2FxL3k4Lyt1Q1JJRks1OVBt?=
 =?utf-8?B?LzJhQkNobUc3cWFPU3N0VWRleFR6N2l0V1c5b1ppbkZINTd4NDZ1VEp3Mk5V?=
 =?utf-8?B?cFBmQkRBbFdlYTV1T3ZGQnhvc00yQ1I2UnA2cTdMRWtIU3ZvYXZwYzl4RXpx?=
 =?utf-8?B?c011UkttSytOcjdETDM0ZlZUWUc4NHA5TE5LUGQ2aWtRNVZjdjRyNUo3TDJu?=
 =?utf-8?B?N0tsVXN5WVhrYU53V3Z3R29KemRjWGozZnhaTXU3Um8vandZZm5FeUJ4Q0pS?=
 =?utf-8?B?d1E9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ccb60bca-98ca-4c09-6a6d-08dc5fabcd19
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 13:31:06.6245
 (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: eVrRkKeEjzNsAolfdN+N1lGA9hw58vJkWAKj9PBwg1+yqsFgjdPXjBgkd4bge9QUzCcF5sc6UPVHOxv6O+YTBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7059
X-Proofpoint-GUID: 5XMYp99Pu36a4yxEQOyMN_TwpvGxz56t
X-Proofpoint-ORIG-GUID: 5XMYp99Pu36a4yxEQOyMN_TwpvGxz56t
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-18_11,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 lowpriorityscore=0 mlxlogscore=831 bulkscore=0 clxscore=1015
 priorityscore=1501 mlxscore=0 malwarescore=0 adultscore=0 spamscore=0
 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.19.0-2404010003 definitions=main-2404180096

16.04.24 16:26, Andrew Cooper:
> I'm afraid this is going in an unhelpful direction.  We want to move
> both of these files to be local to arch/x86/hvm/{vmx,svm}/.
> 
> cpu_has_svm_* isn't actually used outside of svm/; only the plain
> SVM_FEATURE_* constants are, and that's only because they're not
> expressed as plain cpu features yet.
> 
> cpu_has_vmx_* has a few more users, but most are unlikely to remain in
> this form.  One critical set of changes to fix vulnerabilities in
> nested-virt is to make almost of of these decisions based on per-domain
> state, not host state.  The aspects which are host state should be in
> regular cpu features.
> 
> I already volunteered to sort out the SEV feature leaf properly, and I
> was going to do the SVM leaf while I was at it.  If you can wait a few
> days, I might be able to make half of this problem disappear.

I guess it can wait, surely if a better solution is to be crafted at the 
end.

Stefano, what's your opinion on that?

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:16:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708398.1107288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSYm-00041m-5F; Thu, 18 Apr 2024 14:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708398.1107288; Thu, 18 Apr 2024 14: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 1rxSYm-00041f-1C; Thu, 18 Apr 2024 14:16:20 +0000
Received: by outflank-mailman (input) for mailman id 708398;
 Thu, 18 Apr 2024 14:16:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxSYj-000407-Td
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:16:17 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35fc743e-fd8e-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 16:16:13 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4167fce0a41so12095355e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 07:16: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
 d2-20020a05600c34c200b00418d6cf9f61sm2963698wmq.8.2024.04.18.07.16.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 07:16: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: 35fc743e-fd8e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713449772; x=1714054572; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZX6XzzG/xh61IcACE2+L+IWC4ivMbjGDkwc8UZo4xRE=;
        b=PV/dPhx6di6yrZKRfABvC6rgfAsfUeHifYpkY70m7P2PdUgD+gNkfRzZe9zsEhb6DQ
         0NG66PXu4tJBc7avh/HI/E/Qhz9nFIqzmc7vqS9gJdMZgePEFEtWMxhiZcdr1b4AtmTz
         ULJyOJJh7h0EBPg4XN0mKTiU+xyyq4bDzNQaAhsPvjy5zdyPyCmhzwJjHz7x6vTjQxn9
         tXgDXvGVYa8ve2Z/jtMhg09a4+7ydq+C+F9TGwlsPk315+SOddChEGe3kl/TnRWM8rae
         kQg/jddqdomlcL8k5TAF+WKVdhIz2q7FB1yO/WO579Q1vHDw9v8idwAc/W4Yy9oVneIl
         ogow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713449772; x=1714054572;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ZX6XzzG/xh61IcACE2+L+IWC4ivMbjGDkwc8UZo4xRE=;
        b=s8nRav15dqQUKH1a1tMW0GJKbqI1si/JU3bPc9/E9SgVGFhuzi+sRJv09N4eTuQoD5
         dPCTkQYDPhg8XVaPFfH+BcUIAAXD09GItiuMvlGFBUEiuppZ8hE4bS4AATq/vTkBoAbI
         y5D75ztGqTUKtfIFy/KpmZDZaojgvm47NsuzB3UFYJKBWWozyB6It1z5xLl4s1J+NY9M
         2PdQ/OOQqCZqsqG09n444RnPKnC9zH2menE33PdQyulPJhRDNm7AFqt2eP6J+Y/d2qt+
         9Yy5TD8PvDXxR+1VJBB8kRl/PGcfLea/1OKAhjbJxaRAiycTUQFky+hFHpzVMwExHsaD
         jKIQ==
X-Forwarded-Encrypted: i=1; AJvYcCXedrViabWfioESnO4yyWHVFaUqgy1dREMYjPI2CeEdTIPWGNqRicrA0ewl2a/0wczkaWtHYRz6PjBSc2eFAhUiJZt66G5cRcMvisE0MBM=
X-Gm-Message-State: AOJu0YxnI4lshx8OYhpWFU+8R/JLr1xdhcXe9u8tn459px6Fr8wMlAbN
	eWGMYddv6T3z6/Cp8wzHOeQraUcULXb4Fgk2k0prDbgsAJWb5ymFct41P+dEtA==
X-Google-Smtp-Source: AGHT+IENZADmxs7ZctY5syyQFruL0pnBogop2rmdni9vcZZR2bXxPIXDHHm2d0lATZMZjv9jr+VcVw==
X-Received: by 2002:a05:600c:c19:b0:418:de31:7148 with SMTP id fm25-20020a05600c0c1900b00418de317148mr1964248wmb.3.1713449772379;
        Thu, 18 Apr 2024 07:16:12 -0700 (PDT)
Message-ID: <c457b406-1ba0-41c3-ae0b-f0512560a9f6@suse.com>
Date: Thu, 18 Apr 2024 16:16:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/riscv: check whether the assembler has Zbb extension
 support
Content-Language: en-US
To: Oleksii <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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <10816604a8625b5052f134e54c406fb4e7b6c898.1712649614.git.oleksii.kurochko@gmail.com>
 <0f1c2960-2443-4afd-811a-7182cc0ccbd5@suse.com>
 <3acf272c5950ea5e980cb40ae4ee3ec5698b26ae.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3acf272c5950ea5e980cb40ae4ee3ec5698b26ae.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.04.2024 15:09, Oleksii wrote:
> On Thu, 2024-04-18 at 12:00 +0200, Jan Beulich wrote:
>> On 09.04.2024 10:00, Oleksii Kurochko wrote:
>>> Update the argument of the as-insn for the Zbb case to verify that
>>> Zbb is supported not only by a compiler, but also by an assembler.
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>
>> While technically all if fine here, I'm afraid I have a couple of
>> nits:
>>
>>> --- a/xen/arch/riscv/arch.mk
>>> +++ b/xen/arch/riscv/arch.mk
>>> @@ -11,7 +11,8 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       :=
>>> $(riscv-march-y)c
>>>  
>>>  riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
>>>  
>>> -zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
>>> +zbb_insn := "andn t0, t0, t0"
>>
>> As can be seen on the following line (as-insn, riscv-generic-flags)
>> we
>> prefer dashes over underscores in new variables' names. (Another
>> question is
>> whether the variable is needed in the first place, but that's pretty
>> surely
>> personal taste territory.)
> 
> It seems to me that we need it; otherwise, if we don't use the variable
> and put everything directly:
>   zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"andn t0, t0,
> t0",_zbb)
> Then as-insn will receive incorrect arguments because of the ',' used
> in the instruction. It will parse it as 3 separete arguments ("and, t0
> and t0"), which will lead to a compilation error:
>    /bin/sh: -c: line 1: unexpected EOF while looking for matching `''
>    /bin/sh: -c: line 2: syntax error: unexpected end of file
> 
> Probably I am missing something and it can be done in a different way.

Well, as said - this is perhaps largely personal taste. Yet technically
it isn't needed, assuming you're aware of the "comma" and "space" macros
that we have at the top of ./Config.mk. You'll find $(comma) used for
similar purposes in x86.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:16:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708399.1107297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSZI-0004a7-Bv; Thu, 18 Apr 2024 14:16:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708399.1107297; Thu, 18 Apr 2024 14:16:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSZI-0004a0-9C; Thu, 18 Apr 2024 14:16:52 +0000
Received: by outflank-mailman (input) for mailman id 708399;
 Thu, 18 Apr 2024 14:16:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w8zc=LX=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rxSZH-0004Xr-10
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:16:51 +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 4a23d2b1-fd8e-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 16:16:48 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1713449801860743.8701847337641;
 Thu, 18 Apr 2024 07: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: 4a23d2b1-fd8e-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; t=1713449803; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=e5VY6k6Nl/EOqdaPc/TtW7Vnkh4yALblW2RuiPMsA9Bchn/jyUTAVtDljPNyq2GqJ0Djz6J4OVEn65ImJE+8Cj5NA+JfJf36zWwZSGwZhtqmJzg6PtqS/HHYWXuZRtUKqpdo87feuFJy+9ZV3wKiUulTAWghzMeAjG73MUZ+/6Y=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713449803; 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=Tdd9JOG5byPrDoiaHI+jtnaoj4Tu1DTO/RbclmCVzvI=; 
	b=LTjBXCiT8egxSlk+oiG6dxvq3yNsW9viZFQIfpFLMRPmjEZBRxDi6ZeSy0GwLPXgUQ3KbZjBGC6H7bTAmAfs/8/kY7JBqUjsGjSqVo0/6bL15wzA+leR/Gdol1VRZDpoxWP9UlgB2nZtqOoSgBo+7qJN9uYzKrQhnVSUrclF96k=
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=1713449803;
	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=Tdd9JOG5byPrDoiaHI+jtnaoj4Tu1DTO/RbclmCVzvI=;
	b=qzH/5JyoqD4AuNb7STKQeGEgNLLnOzB3c52PcGbSzZE4lE7u9XoZeB6jRFlldaZR
	DxPXkeBwbkuj++qzd99CEt2vlTxv+w8ASSfGtC5H+rT8PMs6gVkiy4PzA/x8QaJdm5s
	x2Wkztehy4TcVYFPlIFsIWRKNE5OGGOQP34Utdm8=
Message-ID: <c7857223-eab8-409a-b618-6ec70f6165aa@apertussolutions.com>
Date: Thu, 18 Apr 2024 10:16:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/5] DOMCTL-based guest magic region allocation for 11
 domUs
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409045357.236802-1-xin.wang2@amd.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: <20240409045357.236802-1-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/9/24 00:53, Henry Wang wrote:
> An error message can seen from the init-dom0less application on
> direct-mapped 1:1 domains:
> ```
> Allocating magic pages
> memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
> Error on alloc magic pages
> ```
> 
> This is because populate_physmap() automatically assumes gfn == mfn
> for direct mapped domains. This cannot be true for the magic pages
> that are allocated later for 1:1 Dom0less DomUs from the init-dom0less
> helper application executed in Dom0. For domain using statically
> allocated memory but not 1:1 direct-mapped, similar error "failed to
> retrieve a reserved page" can be seen as the reserved memory list
> is empty at that time.
> 
> This series tries to fix this issue using a DOMCTL-based approach,
> because for 1:1 direct-mapped domUs, we need to avoid the RAM regions
> and inform the toolstack about the region found by hypervisor for
> mapping the magic pages. Patch 1 introduced a new DOMCTL to get the
> guest memory map, currently only used for the magic page regions.
> Patch 2 generalized the extended region finding logic so that it can
> be reused for other use cases such as finding 1:1 domU magic regions.
> Patch 3 uses the same approach as finding the extended regions to find
> the guest magic page regions for direct-mapped DomUs. Patch 4 avoids
> hardcoding all base addresses of guest magic region in the init-dom0less
> application by consuming the newly introduced DOMCTL. Patch 5 is a
> simple patch to do some code duplication clean-up in xc.

Hey Henry,

To help provide some perspective, these issues are not experienced with 
hyperlaunch. This is because we understood early on that you cannot move 
a lightweight version of the toolstack into hypervisor init and not 
provide a mechanism to communicate what it did to the runtime control 
plane. We evaluated the possible mechanism, to include introducing a new 
hypercall op, and ultimately settled on using hypfs. The primary reason 
is this information is static data that, while informative later, is 
only necessary for the control plane to understand the state of the 
system. As a result, hyperlaunch is able to allocate any and all special 
pages required as part of domain construction and communicate their 
addresses to the control plane. As for XSM, hypfs is already protected 
and at this time we do not see any domain builder information needing to 
be restricted separately from the data already present in hypfs.

I would like to make the suggestion that instead of continuing down this 
path, perhaps you might consider adopting the hyperlaunch usage of 
hypfs. Then adjust dom0less domain construction to allocate the special 
pages at construction time. The original hyperlaunch series includes a 
patch that provides the helper app for the xenstore announcement. And I 
can provide you with updated versions if that would be helpful.

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:18:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:18:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708405.1107306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSar-0005yG-Qb; Thu, 18 Apr 2024 14:18:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708405.1107306; Thu, 18 Apr 2024 14:18:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSar-0005y9-No; Thu, 18 Apr 2024 14:18:29 +0000
Received: by outflank-mailman (input) for mailman id 708405;
 Thu, 18 Apr 2024 14:18: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=6y+3=LX=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rxSaq-0005y3-F5
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:18:28 +0000
Received: from fout1-smtp.messagingengine.com (fout1-smtp.messagingengine.com
 [103.168.172.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8445c4c6-fd8e-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 16:18:25 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfout.nyi.internal (Postfix) with ESMTP id 9237F1380253
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 10:18:23 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Thu, 18 Apr 2024 10:18:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 10:18:22 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8445c4c6-fd8e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:content-type:date:date
	:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1713449903;
	 x=1713536303; bh=cB8BeAsT8tlU56yAefbXCLs1pYRltgxFnr5YqICx8DY=; b=
	fYo5n6Q/eFzQWPuzzlBYvEL1cdZUGjSq9Y4jDLgOtTq+u2ViK+eUlrXxYB2fLw/e
	v0B+vSe87WwkvppCiSlsoUb5hNe7Kqy4Re7zKqu+AM+sD9nb2M3h1+ZYuAqCQOkb
	FzHz5t6x9H5AZdZHTNFPTEt29PUVye4M+FVswvbsoVfqyEo01vVyTXWDFFrmrHpk
	Tb2+aCSJDrMP4L8pj7ftQud/s1pT2Vs93CeszQMlHolKCAOnYVViug/O1AKudZLA
	q84FbEFuOCwEXSUZ9DQi7AouNBxDMKSAZGQqmVVt0VrF4GZrclS9rjrEr3MJ2KQp
	thwzgrTiumSuo1hSfzDMFQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1713449903; x=1713536303; bh=cB8BeAsT8tlU56yAefbXCLs1pYRl
	tgxFnr5YqICx8DY=; b=HRIlYvLm+67L5VzLm66hFcekJxDCR+KDhKjxPEStYuJ4
	vEkLgPpQmKdN5yGavIiYztdswOnkQ0uGgqKtC7+/7ZM4P0gFDzyzRs7GoX6YEPlN
	PlE2xhqsNYLz2s4f80DRlSHItbinu2YYpCYAOJZRScn8x3VujFH50Fkbe/tgY2T3
	OVGchVSN0Eub0YK67H+wyrixP/f5V8Z2G+wRRiWECQU71q8pbjVzKo+F3QuD4ngU
	0CscOlwuQv5z4+iAzD+EBziP/8sCCAdGVM8pIh+qbqInw8UpJ8ISEusEpMUclqZ7
	0ZMMNc9LJcHsk4An5qW4MxkPo0DJal0DzX93RUClug==
X-ME-Sender: <xms:ryshZv7-xK1ifK9RhFP4Mei-6v9qmELjqkkBwa7tBPRQRRNVXKvCng>
    <xme:ryshZk7iFph2WvCUXRJiCfslU6La8PbAevNP9loKq8TUSjhZk9M95_Q7O_zh9UIb-
    R3kJzU2tWU9Bg>
X-ME-Received: <xmr:ryshZmfHWIzFx0YPaXazfMXOER9LRBtV_UvS5qvUN0Om41UjaPHihYgZDsVMDVa0tUnZVNgVP-_IKFwYNSWb3etKGT0tu-5K1A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudektddgjeegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkfhggtggujgesghdtre
    ertddtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggt
    khhiuceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnheptefhhfetffeitdehieefieelgfeuhfehvdfhffejjedu
    leekgeegueeuvefghedtnecuffhomhgrihhnpehgihhthhhusgdrtghomhdpghhithhlrg
    gsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:ryshZgLdyu4XEg5VEv7RtxD5oWSidilSWQqYOmIekX7KjI82qx1plQ>
    <xmx:ryshZjKqC6WUJ4SDHMJDO_c4J7nDZzZtWmtK6rRhdmRCOlREP3oHuQ>
    <xmx:ryshZpz_3oNgKoJ4Bl9shAITya-Om2wRSmbS1BMsO5DMdS9a0mxhiA>
    <xmx:ryshZvKOBt68Tyrxjs_nkqLbph7b3Gv-OL5HLCn760tVXFJ5cb7gTw>
    <xmx:ryshZlzKei4NAqUVUJKdFRbhKYOaHfnUBvA5ag_JKaFYTqN1LeRDqKF9>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 18 Apr 2024 16:18:20 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 0/7] MSI-X support with qemu in stubdomain, and other
 related changes
Message-ID: <ZiErrOBth4rGDnsp@mail-itl>
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="HOpJB9fSj7kUIaHG"
Content-Disposition: inline
In-Reply-To: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>


--HOpJB9fSj7kUIaHG
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 18 Apr 2024 16:18:20 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 0/7] MSI-X support with qemu in stubdomain, and other
 related changes

On Wed, Mar 13, 2024 at 04:16:05PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> This series includes changes to make MSI-X working with Linux stubdomain =
and
> especially Intel Wifi 6 AX210 card. This takes care of remaining reasons =
for
> QEMU to access /dev/mem, but also the Intel Wifi card violating spec by p=
utting
> some registers on the same page as the MSI-X table.
> Besides the stubdomain case (of which I care more), this is also necessar=
y for
> PCI-passthrough to work with lockdown enabled in dom0 (when QEMU runs in =
dom0).
>=20
> See individual patches for details.
>=20
> This series include also tests for MSI-X using new approach (by preventin=
g QEMU
> access to /dev/mem). But for it to work, it needs QEMU change that
> makes use of the changes introduced here. It can be seen at
> https://github.com/marmarek/qemu/commits/msix
>=20
> Here is the pipeline that used the QEMU fork above:
> https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/1211237368
>=20
> Marek Marczykowski-G=C3=B3recki (7):
>   x86/msi: passthrough all MSI-X vector ctrl writes to device model
>   x86/msi: Extend per-domain/device warning mechanism
>   x86/hvm: Allow access to registers on the same page as MSI-X table
>   automation: prevent QEMU access to /dev/mem in PCI passthrough tests
>   automation: switch to a wifi card on ADL system
>   [DO NOT APPLY] switch to qemu fork
>   [DO NOT APPLY] switch to alternative artifact repo
>=20
>  Config.mk                                           |   4 +-
>  automation/gitlab-ci/build.yaml                     |   4 +-
>  automation/gitlab-ci/test.yaml                      |   4 +-
>  automation/scripts/qubes-x86-64.sh                  |   9 +-
>  automation/tests-artifacts/alpine/3.18.dockerfile   |   7 +-
>  automation/tests-artifacts/kernel/6.1.19.dockerfile |   2 +-
>  xen/arch/x86/hvm/vmsi.c                             | 224 ++++++++++++-
>  xen/arch/x86/include/asm/msi.h                      |  15 +-
>  xen/arch/x86/msi.c                                  |  50 ++-
>  xen/common/kernel.c                                 |   1 +-
>  xen/include/public/features.h                       |   8 +-
>  11 files changed, 308 insertions(+), 20 deletions(-)
>=20
> base-commit: 03cf7ca23e0e876075954c558485b267b7d02406
> --=20
> git-series 0.9.1

Ping, can I ask for a review?

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYhK6wACgkQ24/THMrX
1yx3/Qf+LYoLhkIPlBweuCuAISHJIMCLG+LK1ms+zm+aOrTbmzAh3V9rPhZrC1dk
d1AMy6ULfeOxHd2v9EgYgbKtiVuG80IP4M7FhNJoScN1/QDt9cqmgM1oZtw4wo7+
RXt2R8Z0NouaIFKDugwtvDBC8kKHPWHBWwWFiW0Gob8z5BTF9STraukLx9/sBpo4
VX0QDHByFNoKjPXczvAhHFNfVyUMjKbtMil1GMTMtscvpe4T5AQtfMH0nvJ7NvZR
cttzf/3ZzSwPfryCItb1yhcfKOHE7GvzrHP+WAR7GcKeAA+ygtCswHr6JsBHBDFS
9uniu9hNwABtt+egGRw52fSicyA6Wg==
=9Wlb
-----END PGP SIGNATURE-----

--HOpJB9fSj7kUIaHG--


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:22:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:22:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708414.1107317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSeQ-0008UH-9Q; Thu, 18 Apr 2024 14:22:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708414.1107317; Thu, 18 Apr 2024 14:22:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSeQ-0008UA-6g; Thu, 18 Apr 2024 14:22:10 +0000
Received: by outflank-mailman (input) for mailman id 708414;
 Thu, 18 Apr 2024 14:22:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxSeP-0008U2-CU
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:22:09 +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 09a98965-fd8f-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 16:22:08 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-343b7c015a8so689618f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 07: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
 r30-20020adfb1de000000b00343e392829dsm1966911wra.97.2024.04.18.07.22.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 07: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: 09a98965-fd8f-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713450127; x=1714054927; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=aINRXMRj4xG3RA3OEa+fog3TbrXg18yZcSw1HMDxdUs=;
        b=dDl+iHISFvDY25fE3vG6BCnV3wKZVLqwbbAJzvL9G4cuvL2RoKH9iL4wikycyjjjJ3
         j+WxihjTUIbeKIP2aoVG7ZxtvJ7jL29YQS9liTdAIBZQYFIR2dIMGmOJ1zNuOQ6D+m94
         KU+aMHVgkdd/lUTheyM8o3TBb1mzepxV0E2ogzEfskzesAFoO//kqxS0S7/s2W+cE8IE
         IjGWaSERe8fLMv86zY/MJtrM90pxrJNt4uGy0nRZWtx223vN+OtyVg5fmfRIJV68PSzY
         nCWrh8zuiPEvLTxAa0KjSgATe5K/5ixmCM2X4YFwtUJtmQmpQA7xIr9uVuFe675fvmo8
         B5Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713450127; x=1714054927;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=aINRXMRj4xG3RA3OEa+fog3TbrXg18yZcSw1HMDxdUs=;
        b=OQE+CArISoLDVXdaZ18GlGZ0eAN1E4FeTjlNqnyjbrBKVCFhomvsbUofbwElS8ZJks
         K05JX8hNhe7CtQryLv67ATx8RGSl6ycHDX6Ygy/HrkcJvBvDjCFIvq+ozgkDaWvuybnv
         tZMBvoDImGSr7bWp95RdhWUmuUsY8dh1KKipYGSaxXiXtLwYnmBvZz8sMfR1R8LjGQv4
         ErWJIGbs8czi9hCTwGj8S8/c+ZFZYy/c3EQ3u/lo+hbX+/LXW7RGYgp7A2EMJX8X9a02
         X1LquwvDk1oMo7JMejDz895dI59lrUtUlF53mnPSeuLoG/x8r2/goMbICxMC2DlLDR5a
         MZbQ==
X-Gm-Message-State: AOJu0YyqScjWdcoKDP4xxFQcTl44EmuynxN8novka1i5ZFu+1ixuoTG6
	HrdOpFAc35m/8cHVVA09Oa85WhK9qBKzRkP+hnovrjrJqPGiRxJZ1RRJe6s6zSLpG0RpHJc9eZ4
	=
X-Google-Smtp-Source: AGHT+IHiHeYjr8826pAgG/idaZhCiqtXgqbvoP5xpM6TFZtDpzPlzvcvE7w2opT8C+01DgskyrVyxQ==
X-Received: by 2002:a5d:444d:0:b0:349:8a7e:e0af with SMTP id x13-20020a5d444d000000b003498a7ee0afmr2072123wrr.11.1713450127414;
        Thu, 18 Apr 2024 07:22:07 -0700 (PDT)
Message-ID: <58d46183-97c8-4134-9d8d-086e08665846@suse.com>
Date: Thu, 18 Apr 2024 16:22:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 0/7] MSI-X support with qemu in stubdomain, and other
 related changes
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
 <ZiErrOBth4rGDnsp@mail-itl>
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: <ZiErrOBth4rGDnsp@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.04.2024 16:18, Marek Marczykowski-Górecki wrote:
> On Wed, Mar 13, 2024 at 04:16:05PM +0100, Marek Marczykowski-Górecki wrote:
>> This series includes changes to make MSI-X working with Linux stubdomain and
>> especially Intel Wifi 6 AX210 card. This takes care of remaining reasons for
>> QEMU to access /dev/mem, but also the Intel Wifi card violating spec by putting
>> some registers on the same page as the MSI-X table.
>> Besides the stubdomain case (of which I care more), this is also necessary for
>> PCI-passthrough to work with lockdown enabled in dom0 (when QEMU runs in dom0).
>>
>> See individual patches for details.
>>
>> This series include also tests for MSI-X using new approach (by preventing QEMU
>> access to /dev/mem). But for it to work, it needs QEMU change that
>> makes use of the changes introduced here. It can be seen at
>> https://github.com/marmarek/qemu/commits/msix
>>
>> Here is the pipeline that used the QEMU fork above:
>> https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/1211237368
>>
>> Marek Marczykowski-Górecki (7):
>>   x86/msi: passthrough all MSI-X vector ctrl writes to device model
>>   x86/msi: Extend per-domain/device warning mechanism
>>   x86/hvm: Allow access to registers on the same page as MSI-X table
>>   automation: prevent QEMU access to /dev/mem in PCI passthrough tests
>>   automation: switch to a wifi card on ADL system
>>   [DO NOT APPLY] switch to qemu fork
>>   [DO NOT APPLY] switch to alternative artifact repo
>>
>>  Config.mk                                           |   4 +-
>>  automation/gitlab-ci/build.yaml                     |   4 +-
>>  automation/gitlab-ci/test.yaml                      |   4 +-
>>  automation/scripts/qubes-x86-64.sh                  |   9 +-
>>  automation/tests-artifacts/alpine/3.18.dockerfile   |   7 +-
>>  automation/tests-artifacts/kernel/6.1.19.dockerfile |   2 +-
>>  xen/arch/x86/hvm/vmsi.c                             | 224 ++++++++++++-
>>  xen/arch/x86/include/asm/msi.h                      |  15 +-
>>  xen/arch/x86/msi.c                                  |  50 ++-
>>  xen/common/kernel.c                                 |   1 +-
>>  xen/include/public/features.h                       |   8 +-
>>  11 files changed, 308 insertions(+), 20 deletions(-)
>>
>> base-commit: 03cf7ca23e0e876075954c558485b267b7d02406
>> -- 
>> git-series 0.9.1
> 
> Ping, can I ask for a review?

Sure, in due course. The series was not lost.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:30:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:30:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708421.1107326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSmk-000346-1f; Thu, 18 Apr 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 708421.1107326; Thu, 18 Apr 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 1rxSmj-00033z-VS; Thu, 18 Apr 2024 14:30:45 +0000
Received: by outflank-mailman (input) for mailman id 708421;
 Thu, 18 Apr 2024 14:30:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxSmi-00033p-Ry; Thu, 18 Apr 2024 14:30:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxSmi-0001x6-C7; Thu, 18 Apr 2024 14:30:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxSmi-0001mk-13; Thu, 18 Apr 2024 14:30:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxSmi-0002jE-0a; Thu, 18 Apr 2024 14:30:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kgMUsVbG7XWdihXA9MbA9vmgt3Uyhsg+cEb03UusIdY=; b=GQhA6x1X3Mip+aBMtudN8S3koI
	Us+wytK24jUlPHJxSrlg49ccxuaZdiYY1Xf1t8vEyeqdhpaADv04O/ir9Z+/NZPdvkeHXIGlWw5/k
	lAJgYzw0Q2AAvXBC80LLmc0mBDgCBwutVPmtWLybKJ3FnoGCvneCOuV7oAgsItyvr9mw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185727-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185727: 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=2a9a19be134ee345831a0d5595a3050c50680466
X-Osstest-Versions-That:
    xen=ad363fb17d720f1ad047775e1d7b70158f546c46
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Apr 2024 14:30:44 +0000

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

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                  2a9a19be134ee345831a0d5595a3050c50680466
baseline version:
 xen                  ad363fb17d720f1ad047775e1d7b70158f546c46

Last test of basis   185684  2024-04-16 20:00:22 Z    1 days
Failing since        185715  2024-04-17 10:02:13 Z    1 days    3 attempts
Testing same since   185727  2024-04-18 12:03:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.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
   ad363fb17d..2a9a19be13  2a9a19be134ee345831a0d5595a3050c50680466 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:34:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:34:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708427.1107336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSqC-0003ms-H6; Thu, 18 Apr 2024 14:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708427.1107336; Thu, 18 Apr 2024 14:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSqC-0003ml-EK; Thu, 18 Apr 2024 14:34:20 +0000
Received: by outflank-mailman (input) for mailman id 708427;
 Thu, 18 Apr 2024 14:34:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qOTl=LX=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rxSqB-0003jT-CL
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:34:19 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbb3470c-fd90-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 16:34:17 +0200 (CEST)
Received: from BL1PR13CA0027.namprd13.prod.outlook.com (2603:10b6:208:256::32)
 by MW4PR12MB6777.namprd12.prod.outlook.com (2603:10b6:303:1e9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Thu, 18 Apr
 2024 14:34:12 +0000
Received: from BL02EPF0001A107.namprd05.prod.outlook.com
 (2603:10b6:208:256:cafe::fe) by BL1PR13CA0027.outlook.office365.com
 (2603:10b6:208:256::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.12 via Frontend
 Transport; Thu, 18 Apr 2024 14:34:12 +0000
Received: from SATLEXMB04.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.7452.22 via Frontend Transport; Thu, 18 Apr 2024 14:34:12 +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.35; Thu, 18 Apr
 2024 09:34:11 -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.35; Thu, 18 Apr
 2024 09:34:10 -0500
Received: from [172.25.156.126] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 18 Apr 2024 09:34:10 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbb3470c-fd90-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VZ3e22NxPcIooj0B1t52w6fXE/J64DT4Cl4HZ/tIdzdnSXzKpeQ7q1zbaIHJ84utxwcMSkcAZCvgmU4Db6fulGZ63GtFzEhrGDar2ScI0hT78/00GkjYh+UNzCyGVlxAeDpErg2RsH4mS5iKdwH4H8ZqCqyNuZfPKNVdpohgG1G9s1+7pCROQ/+l9P4AkKro6Ko3Cd6G6PJScCGc46JPzBGlvyPtd8WaYVZ2fBMJXTvmC9yEi3Ern4Eo51rLGp5Yqv86LZhFYxDu+eKVG2a+/73teiGMnkIJVNkBG6Ob0hjKqa4SlzsBIscr/Nl5C/PzHaEDek4pKusv5+xYACoEkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yoy4dU8NV/J57PhKr72rCjHiZMtO/GRiyuNsZvG+CcA=;
 b=WZkRNTSAxVDER5gYMo04Ui9YVe8MnWIDIH/BKLwSveqsNm7WI2+eJNy0vD+ipAjxRpDMuKZ8AtKyO8m+ywtAVCwM3C2zTrX7j+6haoWr48PYSog4tT2u6tIPD7anO29OodcVNUw7rrcaNJqIqmIHx3Qv1kbM3GMQA5F/UvOcI2nFYIzhkhLTH4t86g8QqCtboNpSmchz2p7z/9+FEHhOeY2UtayNbuUZEalvS/oAaj0Re/lcBwmdHeDZGeQShs4gximyx5M7ZcK5QHRegBf5LT6uFS09O5/vyHl+vx+tlyk4TibXKm03QnNXGU0ILBLUhYLWfmfRBq4v0ZYT/ZMpIA==
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=yoy4dU8NV/J57PhKr72rCjHiZMtO/GRiyuNsZvG+CcA=;
 b=LO/c30xJ61j2JOVMO20w59TPhs+h4Fs2OHcQNLFXOyqwmGfC333PYTvZDD2hyyQgKEBV2sN7Fg2ih9gxIQE5d1qRWYStqplzrDJFxJvPQ5A9ORovheLO3N4hajPxQY/Rqhtilt6UffuF9eWbeYYn18gtS3Fyq0GbzeW3B/Uqvsw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <4ad076f8-7553-4421-8da1-e482927ec1f7@amd.com>
Date: Thu, 18 Apr 2024 10:34:05 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v7 2/2] x86/PVH: Support relocatable dom0 kernels
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>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20240404212519.16401-1-jason.andryuk@amd.com>
 <20240404212519.16401-3-jason.andryuk@amd.com>
 <70ab0f9d-a451-44a5-8927-4200dbb96a08@suse.com>
 <13d1943e-6341-46de-a356-dc6b92945f3b@amd.com>
 <f4864450-0cba-4ff8-9a39-aad792aab026@suse.com>
Content-Language: en-US
In-Reply-To: <f4864450-0cba-4ff8-9a39-aad792aab026@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A107:EE_|MW4PR12MB6777:EE_
X-MS-Office365-Filtering-Correlation-Id: 2047d902-bc44-4aeb-b990-08dc5fb49d80
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ak4zT3dUZVRiQlBRK0Uwc2NScDZGN1NMRmZoeUwrMlhCSndwWU80T2t3dUxs?=
 =?utf-8?B?czQxN1NwcEM4ZEtPWHFSM1hTVkRTL29RYTBkQ0pSLzRCZ1lhMVJXUjVpZk13?=
 =?utf-8?B?V0taK2YzQmpMcjJxT2hZZ1lROXRheEpNSWdMc0tZNUp5VXJtVE9nRjYwckFL?=
 =?utf-8?B?ZkcyTC9PcU5ZcTBvSnlaY1BDbDBoZDdlSTFOdEEwekFyUmlBUGJSejhZNXlN?=
 =?utf-8?B?Z285WFNyYkg0UEM2STE0b3M1OWZUSEJRSk9tSUFpcWhzaGRFKzVxMkxlZ0NH?=
 =?utf-8?B?NTNzZ3NjOWJxZlJaazVzUDlEWC9IVGIwKzFNcjIvcStPY3hQcmlNSEQvUDRy?=
 =?utf-8?B?a0I3Mkg5Njh4WnZiand0ODZsU1Q4TEwyWW5sM2VwYy9NS28vMzF4TWdEK01F?=
 =?utf-8?B?M296ek9KNGtPbWdYRytYS1BMSk15OGpubEJGc0tkUFM4L0R0U09mdGo0bDUx?=
 =?utf-8?B?UWgzQ3pwanFKWWxxMmYwajBoekQ4eUNETWtqNlJQV2l6S0RBbjhiMG1ab0JB?=
 =?utf-8?B?MGNyZzZDaFhydCtrK2hvYU50VVJsaGgxVnoyNWQvZ0Z0MHQySm81VDVhMkpQ?=
 =?utf-8?B?bFlOeE9BQlhoMmhZNStCYkRPMHA1akR6emxWVFNBS1k1Z1ZobENVWlB5TTg1?=
 =?utf-8?B?alFBbnJzQWFqYk83bHNGN3VrL3R6OVc5MFR5cVVmYmdJVm9lRUZZU0paQmRU?=
 =?utf-8?B?bXVzZUhhSnZYSWJJRTlHRDh6ODljelVTdkx3TmdZeGdLRU1EUzJCb3JGNmZZ?=
 =?utf-8?B?KzRPSmtVeG56TzRCSFdpUFoxaVpoNm5yTkYzeXdQVjVhYWdTSkprT0MxaVhV?=
 =?utf-8?B?RHl6aEVKWTc3WHpBWnVtY05vRnVzRHNWRjJ4NWpDUmY0ZDNqSnp5YUZ4NTZw?=
 =?utf-8?B?QWlFSTZhQ0JGcmljSVVnZ1k1SitCZTJkYkxQellRT2p2akNvb3BoWUg3T09X?=
 =?utf-8?B?TzVxYlNMeXdwM3NieDVxUWZodHhFL0luTmlGUWtrUHU2UlFsdk45clBpOCtt?=
 =?utf-8?B?ZXRjd0crcFg3WklvNzJocS9BSGJtazh3a1lZSk5EMUQvM0M3emNIMFdmRkRo?=
 =?utf-8?B?MnN4L0JKVEhmRGRVQzA2SDNVeTZYeFNUKzFYVEJqZEVqUmhGc3NjK3J2MGNY?=
 =?utf-8?B?Y3g5WUF3Z2Y0RU53OUtqdnBORGJMSkM2eEhnSmFCNEZSb3F0ZG94VnYyaXF2?=
 =?utf-8?B?WVpBQUZsTjduVTVnMG1QQWhHd3ViL2YwRXFGZ0Q4Q1g4YndMcFB1Z1Y3V1Jq?=
 =?utf-8?B?TTRuNUlyRHEvQkptZ3I1cUFQb2F3TnVlRFp5cHd0aXFlVEVwSUwycWtJdXZH?=
 =?utf-8?B?bUU0ZFVzeGF3NDA5KzBvbFVld1gxbytubStGWFRxK0g4d1dzMVA3a01vbFdp?=
 =?utf-8?B?a2d1czN5QWFsRXlMclRHUVRnTndhYWVqT3NPSjc4TFFPcTNXVWpKQ0kxYzJk?=
 =?utf-8?B?TjBzOFBlek1seFJqSmg3UG0rR0pEY3I1eUw3WVhoY1o3WWhyQ0xSNm5MeWNQ?=
 =?utf-8?B?cjlYWDQ3cS82YjBJY05QWGptOFpuN2pSekVYZWpGUXN5dWZCczlSRG56OUFy?=
 =?utf-8?B?dmROY0ovMXdLSmF3OWxjeHBLY1VtNnZ3SENIKzVUbURPdWhTd3F2RWlFWFhD?=
 =?utf-8?B?SVBYeGx6ZmgvNDBHMThkbFVIR1VMdDh0SzE0MnFmNHBJZGxCSnpjWGk5TGZ3?=
 =?utf-8?B?d0hxTDUwSy9NdmIrTHFPaDNzUG95Q25uOXRtbUdFbGUrTFhaZDNvWUZTSEVr?=
 =?utf-8?B?QUlWenhjZlpncFo0NTVIV0F2NlpKN1NoTmtCNTZOTFVoZGNSWnpKR0FVZEp2?=
 =?utf-8?Q?FTHDOiV4S26KEo+f7WIvXPn6A5T+XY/O9hRf8=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:(13230031)(376005)(36860700004)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 14:34:12.0510
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2047d902-bc44-4aeb-b990-08dc5fb49d80
X-MS-Exchange-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:
	BL02EPF0001A107.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6777

On 2024-04-17 09:24, Jan Beulich wrote:
> On 08.04.2024 18:56, Jason Andryuk wrote:
>> On 2024-04-08 03:00, Jan Beulich wrote:
>>> On 04.04.2024 23:25, Jason Andryuk wrote:
>>>> --- a/xen/arch/x86/hvm/dom0_build.c
>>>> +++ b/xen/arch/x86/hvm/dom0_build.c
>>>> @@ -537,6 +537,111 @@ static paddr_t __init find_memory(
>>>>        return INVALID_PADDR;
>>>>    }
>>>>    
>>>> +static bool __init check_load_address(
>>>> +    const struct domain *d, const struct elf_binary *elf)
>>>> +{
>>>> +    paddr_t kernel_start = (uintptr_t)elf->dest_base;
>>>> +    paddr_t kernel_end = kernel_start + elf->dest_size;
>>>> +    unsigned int i;
>>>
>>> While properly typed here, ...
>>>
>>>> +static paddr_t __init find_kernel_memory(
>>>> +    const struct domain *d, struct elf_binary *elf,
>>>> +    const struct elf_dom_parms *parms)
>>>> +{
>>>> +    paddr_t kernel_size = elf->dest_size;
>>>> +    unsigned int align;
>>>> +    int i;
>>>
>>> ... I must have missed when this was changed to plain int. It should have
>>> been unsigned int here, too, ...
>>>
>>>> +    if ( parms->phys_align != UNSET_ADDR32 )
>>>> +        align = parms->phys_align;
>>>> +    else if ( elf->palign >= PAGE_SIZE )
>>>> +        align = elf->palign;
>>>> +    else
>>>> +        align = MB(2);
>>>> +
>>>> +    /* Search backwards to find the highest address. */
>>>> +    for ( i = d->arch.nr_e820 - 1; i >= 0 ; i-- )
>>>
>>> ... with this suitably adjusted. However, I'm not going to change this while
>>> committing, to avoid screwing up.
>>
>> I intentionally changed this.  Looping downwards, a signed int allows
>> writing the check naturally with i >= 0.  I think it's clearer when
>> written this way.
> 
> Just to clarify: Is
> 
>      for ( i = d->arch.nr_e820; i--; )
> 
> any less clear?

It's not something I normally write, so I had to think about it more. If 
you are already familiar with such a construct, then that isn't an issue 
for you.

Your way is more subtle in my opinion because it relies on the post 
decrement to ensure correct bounds within the loop body.  I prefer i >= 
0 because it clearly states the valid index values.

Is your main concern that you only want unsigned values as array indices?

> (While replying I also notice there's a stray blank
> in the for() you have, ahead of the 2nd semicolon.)

Sorry about that.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:34:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:34:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708430.1107347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSqW-0004Aq-Tc; Thu, 18 Apr 2024 14:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708430.1107347; Thu, 18 Apr 2024 14:34:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxSqW-0004Aj-PZ; Thu, 18 Apr 2024 14:34:40 +0000
Received: by outflank-mailman (input) for mailman id 708430;
 Thu, 18 Apr 2024 14:34:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxSqV-0003jT-N8
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:34:39 +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 c8964151-fd90-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 16:34:37 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-418dc00a31dso7692145e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 07:34: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
 bi18-20020a05600c3d9200b00418d5b16fa2sm3685384wmb.30.2024.04.18.07.34.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 07:34: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: c8964151-fd90-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713450877; x=1714055677; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=N4l78n5SwQl64u9x4vssBGuH6t3QSXDqNtea6v2Cm+E=;
        b=H5CFPQvPzkE+p9u2jXX76leQua3G5TpI5BPl/dzcyOQEVDKL/Q1ZXv/GjMOi9xMwem
         biQMRxE5BhXvdKsJ6VRj4gVh6wfyJSXa2UBxUtWY1pYdr4oqQThXMK4WZOBObtelwyZT
         DlQcsgkPh2TKo97tTn4UdK/kKbB+pNJAqa06depwJ2XEmiQna1z42KY3nmsX7a+y8sTD
         CnswP1xZeRy1Aw23u3fixlIbi2SRhnQD9r8kDEiPxDvFXz29JN9waIQ9NtDKKG0RAG55
         RlWn8K3Pc11EMei9vl2S8cKaTvnz/leyQVcFKkmnWB2GpAN3Bdc+tJRwehV8BeNmrYIe
         xKmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713450877; x=1714055677;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=N4l78n5SwQl64u9x4vssBGuH6t3QSXDqNtea6v2Cm+E=;
        b=GOQAtuq3NUwSmn6hC9e1baOx9lglCDx7kE6sR4t1l0sud7LEX8YfrTzKfNHt6uIa73
         FjKaYqTh79wAhlZJ6+EJ0tKAMSme7A9AHa0mtHwMrrn94R0cSYGGeCCYBbTK+utOKG0o
         L8kUucosyZecnSsvVJ9C0U6o3kaAprW1xvmj/ytk6fueR/3gvURsZ1TNnu0O/LFoH2nE
         362jrlJJNLGkvSglXCAOLoHcY/qaC3kreLF+xJOw3zRxMfaDqsmxB7VxTsrWLnUSt81o
         9loSrMLyuDeqKv5O1lD3HMr6wDEKWP47rEkx45r3481UXT38e4kQcEdq30Z1fPw6DfW0
         DOEA==
X-Forwarded-Encrypted: i=1; AJvYcCXhtk8M09Zf2ORNxQh5F8juqvPTGHfIN5RK/Wn/kIuxDmB3Tm3AjIs1mDOpko4qHs+kAwojRfZquUiDySER7DEesS4PN8NWSQJn5vKhcX4=
X-Gm-Message-State: AOJu0Yyf5aZplKCJ5PeBJI0ogfr0LJzXHNknLPfBnHnY4kbbeGP+4Ixx
	4NO++F4OapD9YXbSBEXk6WqjPPtR9BwCiKPcie8l8O7Fbw9XwjCfrV8I8Co/2A==
X-Google-Smtp-Source: AGHT+IGjdnSthA5Yq5XlM4tCqa7vsGgS4edgcfNITGXvuRRDNmySxFnc58A538uthhtBKmXl8tlSkw==
X-Received: by 2002:a05:600c:4e54:b0:417:f58a:57e with SMTP id e20-20020a05600c4e5400b00417f58a057emr2526144wmq.0.1713450877324;
        Thu, 18 Apr 2024 07:34:37 -0700 (PDT)
Message-ID: <acf7cab4-c1b6-42e3-a541-06ac4b09a104@suse.com>
Date: Thu, 18 Apr 2024 16:34:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 2/2] tools/lsevtchn: Use evtchn port upper bound for
 evtchn enumeration
Content-Language: en-US
To: Matthew Barnes <matthew.barnes@cloud.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <cover.1712840924.git.matthew.barnes@cloud.com>
 <bc201c67ef728ebaf678eac4d97e6800a95e8081.1712840924.git.matthew.barnes@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <bc201c67ef728ebaf678eac4d97e6800a95e8081.1712840924.git.matthew.barnes@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.04.2024 17:24, Matthew Barnes wrote:
> --- a/tools/xcutils/lsevtchn.c
> +++ b/tools/xcutils/lsevtchn.c
> @@ -11,6 +11,7 @@ int main(int argc, char **argv)
>      xc_interface *xch;
>      int domid, port, rc;
>      xc_evtchn_status_t status;
> +    xc_domaininfo_t info;
>  
>      domid = (argc > 1) ? strtol(argv[1], NULL, 10) : 0;
>  
> @@ -18,13 +19,16 @@ int main(int argc, char **argv)
>      if ( !xch )
>          errx(1, "failed to open control interface");
>  
> -    for ( port = 0; ; port++ )
> +    if ( xc_domain_getinfo_single(xch, domid, &info) < 0 )
> +        errx(1, "failed to fetch domain info");

This being backed by a domctl will make things fail when run on a DomU,
which aiui is supposed to be a valid environment to run lsevtchn in
(to obtain information just for the local domain). Imo instead of trying
to figure out the highest valid port number (which at least in principle
may even be dynamic, and hence the value returned by be stale by the
time it is being used), the loop below needs to continue until receiving
a specific indicator (special error code most likely).

Jan

> +    for ( port = 0; port <= info.highest_evtchn_port; port++ )
>      {
>          status.dom = domid;
>          status.port = port;
>          rc = xc_evtchn_status(xch, &status);
>          if ( rc < 0 )
> -            break;
> +            continue;
>  
>          if ( status.status == EVTCHNSTAT_closed )
>              continue;



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:46:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:46:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708442.1107356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxT1W-0000HX-RW; Thu, 18 Apr 2024 14:46:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708442.1107356; Thu, 18 Apr 2024 14:46: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 1rxT1W-0000HP-Oq; Thu, 18 Apr 2024 14:46:02 +0000
Received: by outflank-mailman (input) for mailman id 708442;
 Thu, 18 Apr 2024 14:46: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=p/a5=LX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxT1W-0000HJ-BO
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:46:02 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f671c2b-fd92-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 16:46:01 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-78f05fde6dcso55891085a.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 07:46:01 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m2-20020ae9f202000000b0078d5d9cdc9esm705755qkg.21.2024.04.18.07.45.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 07:45: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: 5f671c2b-fd92-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713451560; x=1714056360; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dzsyKm5LC3AStNlnnTEXa5fpAh4vTvXIXmJMVhtFM8c=;
        b=CIvRbpEQ63ZNPTQspoNSbpwOjNXxX6LxaZ/vN/jUdozvSbG4p0U6kYvwfJAfleCFBj
         pwGLnfLMnrpEn4qQsLWHU1hpjpmPQuCwDNvBOpXJsI1BCUScnKKd6gJgBBxdtpsayb0Y
         Vbkkp4LOFCFv5k3gScJSeZtLXo/SAGFLNvPtE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713451560; x=1714056360;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dzsyKm5LC3AStNlnnTEXa5fpAh4vTvXIXmJMVhtFM8c=;
        b=SXm/nJ6LEeiP2UdT4LaufTWimKlH4mEaF1nEt/Aae3a8nGnnrgX+lcK5oeDSq7iArN
         7V9Dt7BjPm8lSSu/bLOtpO4IbceoBriB2O3s+g1e9ncV79l1lcXSwjnWLKKVytH/1qI+
         ZwWZ8OM5unFHHlH4dODm8F9gfFn0Jb39RsftV9JuL7ImORz07Zk2V1JfCsJa1Fjj3LE7
         AtGsRXeLQVlwbDSj8bF20r7N4VjVFzo4E5jHU7ZTNwfK/HJHMWayfdYk7s1xhE4t/cEr
         J8LjBmwX1hq1KbkoIk/925wcDpK7yveIu8C8GyarOpBSvwHNzLR38MK7g0UzkZ36Wmu/
         o2Sg==
X-Forwarded-Encrypted: i=1; AJvYcCU2ymE5PAqgqOBtNfK4H5zG84vmTP6pN/pbSFkxU9bUjeDji50w4oZpEpYxf3IkGFD5OHftwPESYhHpjURqdKCgqlQLcejYiYwaWSSYjOg=
X-Gm-Message-State: AOJu0YwsGVs9cFn7B/P+lI1xRRHjzKMQoeCliQYzhx4QfVjp6krU5tTb
	7M32BuWOxh1caqVbVI6+GiclN+ehptGVo5QgYtnmWtBX8X24iLuT/megN29MDrw=
X-Google-Smtp-Source: AGHT+IG18EEbznezIEtuu7ZucU6PRAAgulRSXvMPwWtCe7XiSQe1jElreGwgTgebd27/Wz0P1xTDNA==
X-Received: by 2002:a05:620a:d5d:b0:78f:17e:e575 with SMTP id o29-20020a05620a0d5d00b0078f017ee575mr2760492qkl.75.1713451559738;
        Thu, 18 Apr 2024 07:45:59 -0700 (PDT)
Message-ID: <9a973f18-e0af-456c-8b07-6869f044519e@citrix.com>
Date: Thu, 18 Apr 2024 15:45:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 08/15] x86/vpmu: separate amd/intel vPMU code
To: Sergiy Kibrik <sergiy_kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240416063534.3469482-1-Sergiy_Kibrik@epam.com>
 <939adb2d-7816-4f99-9d57-ed444ab859b4@citrix.com>
 <25e2f901-04a6-4c05-9072-a926f6abf06c@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: <25e2f901-04a6-4c05-9072-a926f6abf06c@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/04/2024 2:25 pm, Sergiy Kibrik wrote:
> 16.04.24 14:05, Andrew Cooper:
>> On 16/04/2024 7:35 am, Sergiy Kibrik wrote:
>>> diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
>>> index 35561fe51d..d3d7b8fb2e 100644
>>> --- a/xen/arch/x86/cpu/Makefile
>>> +++ b/xen/arch/x86/cpu/Makefile
>>> @@ -10,4 +10,6 @@ obj-y += intel.o
>>>   obj-y += intel_cacheinfo.o
>>>   obj-y += mwait-idle.o
>>>   obj-y += shanghai.o
>>> -obj-y += vpmu.o vpmu_amd.o vpmu_intel.o
>>> +obj-y += vpmu.o
>>> +obj-$(CONFIG_SVM) += vpmu_amd.o
>>> +obj-$(CONFIG_VMX) += vpmu_intel.o
>>
>> I'm afraid this breaks perf counters on PV guests.  These files are
>> joint guest-type implementations.
>>
>> Seeing as you leave vpmu.o alone, I guess that all you're actually
>> wanting to do is compile out vpmu_intel.o?  In which case, use
>> CONFIG_{AMD,INTEL} rather than CONFIG_{SVM,VMX} please.
>>
>
> Thanks for pointing that out.
> I think I'll just exclude this patch from the series, and make a
> separate series with CONFIG_{AMD,INTEL} option and code separation
> that unrelated to VMX/SVM & HVM/PV, only to CPUs themselves.
>
> BTW, how would you suggest CONFIG_{AMD,INTEL} shall relate to
> CONFIG_{SVM,VMX}? Should CONFIG_VMX just plainly depend on CONFIG_AMD,
> or more complex relations needed?

To a first approximation, no linkage.

Centaur have an implementation of VMX on the market, and Hygon have an
implementation of SVM.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 14:59:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 14:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708448.1107366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTEO-0003FD-Vq; Thu, 18 Apr 2024 14:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708448.1107366; Thu, 18 Apr 2024 14:59:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTEO-0003F6-Sp; Thu, 18 Apr 2024 14:59:20 +0000
Received: by outflank-mailman (input) for mailman id 708448;
 Thu, 18 Apr 2024 14:59: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxTEO-0003Da-7x
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 14:59:20 +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 3ae0ab1f-fd94-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 16:59:18 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-416a8ec0239so6020135e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 07:59: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
 bi18-20020a05600c3d9200b00418d5b16fa2sm3753983wmb.30.2024.04.18.07.59.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 07: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: 3ae0ab1f-fd94-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713452357; x=1714057157; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wUgMT56pi4yzexntG71G7Hyq33TqpzPXAEEN5iyNDEI=;
        b=Aggsz4x9HF3cZgXKT0CxkjP95e9hFCuLopb0hnXL/ttA6c2N5pDurA78mU2kiNheaK
         MNYKEN2fVWjvpIVbMmwk64/tpbNxgIl5TPwgiHzOd8ReCqtP2Jun6E8ErEsAQar1cQ3a
         /AWm3itIvoZweris1haVlGxinHYaFbM2K79rqUPBw/4kEWEX0SdCEpbPDzHC0xQTg9JW
         kDZxQzVZy+tiYN6WbVNMqPgGzJj3gmgJc8dfH4ewhzR/Pw81sxmqGbjdMPzOwqQPKxyB
         rspaqxoLbBrnb606Py8EtUT5vzinZ+a+9A5aS+yhJEF4f9p6cW/Qr9jV4hO4tThUAl85
         vtIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713452357; x=1714057157;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wUgMT56pi4yzexntG71G7Hyq33TqpzPXAEEN5iyNDEI=;
        b=iLfl48fy9OfqyblrH0OP6aVOpVHkHovkud6vjprxHnFopWwwaQuw31AB+Fkf1+xHZO
         EmbtRJqIU7IR5sQ3Ut54tlDMFVSrFSsc+5CQDE/12MMbEJyCVGk7wJ3c/VN35c2OZrPX
         s402fsWoszLBHBMuSbPLIWM532w2oOivVImMt+HW4G3DlJ0ZIbr4h5xLlQXbUUX3AlN/
         yTvHC6CuZ+XZLalILpMHNhGX6vWfVdlI8Zds9iUjTlD77YWiaMLq3h2wNFHTs98JXzGm
         ZdJZJMXViF7Aw57haEsSNMkW7x+5z6Y3BRJF0Gv2llAHCVQ7x2LRCwUlYYeBkZV6dHTh
         W0Yg==
X-Forwarded-Encrypted: i=1; AJvYcCXMdyHpPPnuP7cOfzjtW80JWF42vVc6BRT/GU1xYKYdM8/L3DE7TwkmAb5Bsdd3z8jZArJpwnxyozjQ/CAlbb8F/y9AkPNROrQboIwRJwA=
X-Gm-Message-State: AOJu0Yy4XKiogiWRPEMfmJmOonpHLPWIZ4mHjQR2IGlGiO+aVzDrPx/i
	j8jgAW01Q8jx9pa9kO0hWOqavGiiNj9dZW1kbF/LNcCWTSAHn04SfRvRtuF+DA==
X-Google-Smtp-Source: AGHT+IGFygqWnx57klAp+JSvqS3JYrSwMXDgPwDcro/73WXsWoDawf33leFOA5s6HqrtDIKNtw6ToQ==
X-Received: by 2002:a05:600c:1c85:b0:418:7ec1:7bdb with SMTP id k5-20020a05600c1c8500b004187ec17bdbmr2253445wms.5.1713452357290;
        Thu, 18 Apr 2024 07:59:17 -0700 (PDT)
Message-ID: <b1b9a3f4-f53e-4f13-81de-6462d106b55a@suse.com>
Date: Thu, 18 Apr 2024 16:59:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/2] xen/domctl: Add highest allocated evtchn port to
 getdomaininfo
Content-Language: en-US
To: Matthew Barnes <matthew.barnes@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <cover.1712840924.git.matthew.barnes@cloud.com>
 <55a9cc8fa53e57f898d05463746cbabda821ce25.1712840924.git.matthew.barnes@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <55a9cc8fa53e57f898d05463746cbabda821ce25.1712840924.git.matthew.barnes@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.04.2024 17:24, Matthew Barnes wrote:
> --- a/xen/common/domctl.c
> +++ b/xen/common/domctl.c
> @@ -73,6 +73,7 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
>  
>      info->domain = d->domain_id;
>      info->max_vcpu_id = XEN_INVALID_MAX_VCPU_ID;
> +    info->highest_evtchn_port = read_atomic(&d->valid_evtchns);
>  
>      /*
>       * - domain is marked as blocked only if all its vcpus are blocked
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -145,7 +145,8 @@ struct xen_domctl_getdomaininfo {
>      xen_domain_handle_t handle;
>      uint32_t cpupool;
>      uint8_t gpaddr_bits; /* Guest physical address space size. */
> -    uint8_t pad2[7];
> +    uint8_t pad2[3];
> +    evtchn_port_t highest_evtchn_port; /* Highest allocated event channel port. Used for enumeration */

While, as per my reply to patch 2, I don't think this is a viable route, I'd
still like to mention that the name of the new field is wrong, leading to an
off-by-1 in the consumer in patch 2. d->valid_evtchns is a count, not the
"maximum valid" port number.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:00:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:00:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708451.1107377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTFW-0004if-8c; Thu, 18 Apr 2024 15:00:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708451.1107377; Thu, 18 Apr 2024 15:00:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTFW-0004iY-5K; Thu, 18 Apr 2024 15:00:30 +0000
Received: by outflank-mailman (input) for mailman id 708451;
 Thu, 18 Apr 2024 15:00: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=QcTt=LX=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxTFU-0004iS-KM
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:00:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 640f249b-fd94-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:00:27 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id B52ED4EE074A;
 Thu, 18 Apr 2024 17:00:26 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 640f249b-fd94-11ee-b909-491648fe20b8
MIME-Version: 1.0
Date: Thu, 18 Apr 2024 17:00:26 +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, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] automation/eclair_analysis: substitute deprecated
 service
In-Reply-To: <2d890f61-6f51-4d64-844e-24207805a65c@suse.com>
References: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
 <2d890f61-6f51-4d64-844e-24207805a65c@suse.com>
Message-ID: <d0896c61235cb9f071cb0586fe87ee46@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-04-18 09:22, Jan Beulich wrote:
> On 17.04.2024 16:51, Nicola Vetrini wrote:
>> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
>> @@ -44,8 +44,8 @@
>>  -doc_end
>> 
>>  -doc_begin="See Section \"6.19 Structures with No Members\" of 
>> "GCC_MANUAL"."
>> --config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
>> --config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
>> +-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
>> +-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
>>  -doc_end
> 
> I'm irritated by this, which may be in part because of too terse a 
> description.
> "emptrecd" looks like an abbreviation of "empty record" to me, in line 
> with
> "Structures with No Members". "anonstct" otoh looks an abbreviation of
> "anonymous structures" to me, which is something different (structures 
> without
> names).
> 
> Jan

I'm afraid I can't do much about this. From a functionality standpoint 
there is no difference for Xen.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:04:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:04:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708457.1107386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTJQ-0005P1-Oz; Thu, 18 Apr 2024 15:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708457.1107386; Thu, 18 Apr 2024 15: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 1rxTJQ-0005Ou-MN; Thu, 18 Apr 2024 15:04:32 +0000
Received: by outflank-mailman (input) for mailman id 708457;
 Thu, 18 Apr 2024 15:04:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxTJP-0005Oh-7H
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:04:31 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4d28217-fd94-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:04:30 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-34a32ba1962so305864f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:04: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
 g18-20020adfa492000000b0033e9d9f891csm2069683wrb.58.2024.04.18.08.04.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 08:04: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: f4d28217-fd94-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713452669; x=1714057469; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=4rpoSszH3udoIn3xJc7bXtmO/UoT9xxfKDgWMe3Fvx8=;
        b=NFvRDMrMkxJ6fvWNO9i59yWJo4aebUEb6Txj1dde4/IV79/VEfiXDC9xcYea0TSQ3F
         svLptIAgnyyjdAblbh/NSg5bmLUbla3dCfywgxME8nvzjOEBwi/61WFpev0hSikFBo+0
         D/y01RQ8rV+ZXMCq5WcQR9l4qk0+m+2e3/8u/B8dPwXk45KoWRSBt+zhFVZCJEB/EWy4
         lg5FbxsINxmTHTWPGegJEncMsucpjHSu5VKPpnrNND4wSuCiI7Abl6LW72GL9Tno+yi9
         6/JYJdMVwD8KZqp+9uVUJwlnxOWaVVZEsJ2O5gX+2y1faZc8P1MstpbT9rEkR0FxzvFO
         vuBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713452669; x=1714057469;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=4rpoSszH3udoIn3xJc7bXtmO/UoT9xxfKDgWMe3Fvx8=;
        b=dcNXeqg36kjPHO88WUs6urfyp4dEa0BQsz0OZl7NHaqzTbueES+yRY7sWA2q9LsFz9
         Q1NqpQ7JyZpOdnuxl0tCbXrmGvt+4gO9lra/3vGXG09j7fRvuh2FsmwmUVpuQ3REEZmf
         TzdCypwNoJuQl1DmRBjxG87zYOLot/1XOdlSqKFlgFcBF2P87+CbhdqimwuMScmzS+U2
         SSwiHQatX8OTzGoBeryZN1JO7xOHBrXSnBc5FGMv27PrNtdTPbpmx08rc+00wefoXjOX
         AMTx18zbblsxyV8bycS3PoUgSjiVJuajep/5C7vnlFxmGxwH8a9yWCASZJTYHO+pl328
         2Exg==
X-Forwarded-Encrypted: i=1; AJvYcCVoWOmOcsXsfoM4VdxCHpLU1jEUEBt6KMEx/8hPSDad/Wbg/hS/j1LFiaw/ryLl/KI72qrBXSSbkB8v0mmGFrUyMvLwDOieMCXMw0zBNLg=
X-Gm-Message-State: AOJu0Yx+cxJcFuO3oEznOEuxhMgXoFuqEN0YRSC+9sGMMya2ok4oBJAG
	tPqWlGZXP06MyYfxacmJiYvwFXfINPTpxahFzq/iHbA71OC5NkomReFIDYLCCA==
X-Google-Smtp-Source: AGHT+IHKpl9SKp2Fimftc3C6ECMd9rQ23jomxLOCGWdEG8bWAOm8Dv013pb34Y3eQTZKpNNjkNcEwA==
X-Received: by 2002:adf:ab1a:0:b0:343:f335:58b with SMTP id q26-20020adfab1a000000b00343f335058bmr2220391wrc.62.1713452669455;
        Thu, 18 Apr 2024 08:04:29 -0700 (PDT)
Message-ID: <5ebbdcb8-de53-4bf8-bc43-d9296879616d@suse.com>
Date: Thu, 18 Apr 2024 17:04:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/6] xen/device-tree: Move Arm's setup.c bootinfo
 functions to common
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: tpearson@raptorengineering.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
 <451705505ff7f80ec66c78cc2830196fa6e4090c.1712893887.git.sanastasio@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <451705505ff7f80ec66c78cc2830196fa6e4090c.1712893887.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.04.2024 05:55, Shawn Anastasio wrote:
> Arm's setup.c contains a collection of functions for parsing memory map
> and other boot information from a device tree. Since these routines are
> generally useful on any architecture that supports device tree booting,
> move them into xen/common/device-tree.
> 
> Suggested-by: Julien Grall <julien@xen.org>
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> ---
> Changes in v4:
>   - create new xen/include/bootinfo.h rather than relying on arch's
>     asm/setup.h to provide required definitions for bootinfo.c
>   - build bootinfo.c as .init.o
>   - clean up and sort bootinfo.c's #includes
>   - use CONFIG_SEPARATE_XENHEAP rather than CONFIG_ARM_32 to guard
>     xenheap-specific behavior of populate_boot_allocator
>   - (MAINTAINERS) include all of common/device-tree rather than just
>     bootinfo.c
> 
>  MAINTAINERS                       |   1 +
>  xen/arch/arm/include/asm/setup.h  | 109 +-------
>  xen/arch/arm/setup.c              | 419 ----------------------------
>  xen/common/Makefile               |   1 +
>  xen/common/device-tree/Makefile   |   1 +
>  xen/common/device-tree/bootinfo.c | 446 ++++++++++++++++++++++++++++++
>  xen/include/xen/bootfdt.h         | 116 ++++++++
>  7 files changed, 566 insertions(+), 527 deletions(-)
>  create mode 100644 xen/common/device-tree/Makefile
>  create mode 100644 xen/common/device-tree/bootinfo.c
>  create mode 100644 xen/include/xen/bootfdt.h

Should this further new file ...

> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -295,6 +295,7 @@ M:	Stefano Stabellini <sstjabellini@kernel.org>
>  M:	Julien Grall <julien@xen.org>
>  S:	Supported
>  F:	xen/common/libfdt/
> +F:	xen/common/device-tree/
>  F:	xen/common/device_tree.c
>  F:	xen/common/dt-overlay.c
>  F:	xen/include/xen/libfdt/

... perhaps also be added here?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:10:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708464.1107397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTPP-0007Z3-Jj; Thu, 18 Apr 2024 15:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708464.1107397; Thu, 18 Apr 2024 15:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTPP-0007Yw-Fl; Thu, 18 Apr 2024 15:10:43 +0000
Received: by outflank-mailman (input) for mailman id 708464;
 Thu, 18 Apr 2024 15:10:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxTPN-0007Yp-GH
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:10:41 +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 d12caa1f-fd95-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:10:39 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4187c47405aso6890405e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:10: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
 n6-20020a05600c3b8600b0041892e839bcsm3035404wms.33.2024.04.18.08.10.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 08:10: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: d12caa1f-fd95-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713453039; x=1714057839; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=CMTAxaZbyuKHcoSbfnzuhUqHHs08RATjmR833JQS7CY=;
        b=ZDezDPsj290eLU9swSr28mjFL/QoClVslfx5UTDtofmLN8mdZT5cC3D9m03uvD9vdb
         +rces8WBg2AdvMjhE8bnLyW5TLhDoJ1ospTZxjinutajmnpinkcIvvwam6RUyGZ49l09
         mbc/WKilkM/QNHGb3yTc2BeNRDuSOzzGPwSgY3mTxZIRXmq9QVlGeeTIZPredDaMNoA4
         xkRz52yVtwtqe/MfPpi6mMiBGOG/rKRNUnfUUSah52IE0jz+eyOv1hR4IAVkK68lHjGE
         s0xF32jIM4X0L4pfNp7dkE6i2C+LjGJgAoF5QacpRfqT/qZJu9TJz3YMyY2T1nmtHP6p
         58+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713453039; x=1714057839;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CMTAxaZbyuKHcoSbfnzuhUqHHs08RATjmR833JQS7CY=;
        b=LtcjhnwCfpxpiW9IAtsT1gSsVxaRlG/+8r3YkEynnOf3MBfHjyXXA3QbBM+dYUBpJx
         LVCJfzSIoA9TLW9vGPtv1QhIdvgv03hZcImCpOmNel55OsmM2I9ilvrVJewwSHNOp68J
         IMgHJJtbq6bysNGysx5eT0Pcwub/0Dm7MyjntUtZee8ylVPuZ7tJkKNmv5XitNplv9Zv
         EYhB/ND91po33bY8yNoqwA+1Wbdj6rfoyV0KSVVwOhfGSP7rjoekpsBk6v82xz4L4sNm
         sFE2lRz3+eMOZeMiU3v7Tv5jYzy1NZGvNUxFhK1UCJaK5NHox7b/1YIdC/eXaSe/Hd7R
         TPbA==
X-Forwarded-Encrypted: i=1; AJvYcCVEB7t5wv578EZcVHn2K+/WeZG2fu3cr5BcSzt5ZDF2hq32B+AAgefiZHcFa1Db+DlNF0i8rU3/FZFnJB41tUm9EhwpXKEOnyK3+UoutLQ=
X-Gm-Message-State: AOJu0YxuMSCXuXAStNDMosWZoCVtesJ1hZlzyJgIN1T4nIxSbYL00Nkr
	nfWdepg3ntmeBzGqvw/okBPCBUfxjWx5na0kPuGVh8Smohi0/5ekfIakbV7PfA==
X-Google-Smtp-Source: AGHT+IH4SUoQhWvTDVlCe4L9XxqaJ78GmmxWLli4HesEv4tFmSzHPDsBFSRdvrfAn5kvUqvdPO9pdA==
X-Received: by 2002:a05:600c:35c4:b0:418:913e:b9dd with SMTP id r4-20020a05600c35c400b00418913eb9ddmr2174858wmq.6.1713453039135;
        Thu, 18 Apr 2024 08:10:39 -0700 (PDT)
Message-ID: <500fff2d-2316-4090-8cf3-a697bda6ee01@suse.com>
Date: Thu, 18 Apr 2024 17:10:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 1/2] xen/domctl: address violations of MISRA C Rule
 16.2
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1713382466.git.nicola.vetrini@bugseng.com>
 <6ebb49a8ae92dc036d7bed0c708a8830bb93c788.1713382466.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6ebb49a8ae92dc036d7bed0c708a8830bb93c788.1713382466.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 21:37, Nicola Vetrini wrote:
> Refactor the first clauses so that a violation of
> MISRA C Rule 16.2 is resolved (a switch label should be immediately
> enclosed in the compound statement of the switch).
> Note that the switch clause ending with the pseudo
> keyword "fallthrough" is an allowed exception to Rule 16.3.
> 
> Convert fallthrough comments in other clauses to the pseudo-keyword
> while at it.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

I did ack a patch with this title, yes, but the content of that patch
was different. Besides all the references to the fallthrough pseudo-
keyword being unrelated to the change below, there's also nothing ...

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -457,6 +457,7 @@ static int domain_teardown(struct domain *d)
>  
>          for_each_vcpu ( d, v )
>          {
> +            /* SAF-5-safe MISRA C Rule 16.2: switch label enclosed by for loop*/
>              PROGRESS_VCPU(teardown);
>  
>              rc = vcpu_teardown(v);

... domctl-ish in here. What is going on?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:15:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708469.1107407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTTk-0000Hg-3H; Thu, 18 Apr 2024 15:15:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708469.1107407; Thu, 18 Apr 2024 15: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 1rxTTk-0000HZ-0g; Thu, 18 Apr 2024 15:15:12 +0000
Received: by outflank-mailman (input) for mailman id 708469;
 Thu, 18 Apr 2024 15:15: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxTTj-0000HS-4v
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:15:11 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7261a7f1-fd96-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:15:10 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-418a02562b3so7938815e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:15: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
 z2-20020adff742000000b00343ca138924sm2059697wrp.39.2024.04.18.08.15.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 08:15: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: 7261a7f1-fd96-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713453310; x=1714058110; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=taCjJHscq++mcJI9P17No4unTObZIj9tjRwq3nSNEEc=;
        b=BfeJsvK0U5J3lZGc+6EmhmnL7cPjrdwSMWZd6Fn8NVlJbY+OgXvxLQQalQwqI++jH8
         B1g7w6sHE48isRx08A3TFD2s1N26MNNYvqzaz6cw+8LdUkWeLrw/aZHM4f8e6KfRtkAs
         72O+Xu7b66puqXn9J1VHoPorf2qzIBvWSVO5ZrEAHmJYruaBCjyGk1qeag/jxoojtJLv
         RPpo8IquFLvl+5+C3tCOIQWTpNZp11rn4IFi9Ctf7VCSB3e5r/uNZN3ZqnzQxf5yibL0
         zHLnnNKjv6Z3D38ge8d2s5/fzh4LJgs0Syad76zPRUZFiqCibv4F7o4dUVbKuMt74st6
         kclg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713453310; x=1714058110;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=taCjJHscq++mcJI9P17No4unTObZIj9tjRwq3nSNEEc=;
        b=RBhMiYk6GytQz57S3aSPsyfXcYfAoPkghXHvPtqLCqVQlZCgAHmWLJ0Rlaha7O/0ff
         L+S65VuSG8TzuPcmqxIrvGskGXZ8CPSB/5sUM1fcMTra1Xa4LU56xiAz3xSM+dQwNH5L
         9kjzFc3Tc1fEAOotra77M2C6fH6n9mVxoEOZJzxgC1XZE7OMRkZdHFj4YhCOTeZxgEE3
         hAzldgnheG2BcQ5czBOOc7NRtESS91hIOFmgBpSwoOztKXCh2g6VP4zA7vpaSyZ9TfYr
         YEQ53fGSg4X3QlP8lInHZYEw6h6P7718lTMjqhdDHCCUgHhYu5gwKOlM2hdWAUMMj+Lv
         A6bQ==
X-Forwarded-Encrypted: i=1; AJvYcCWMnYNrOlEkAXlOXHTS/41f4hZK+YPn61QGD/LTIiqOC70in7C9aQoZEkCx8VDcODsD0wqe+HDykIEXtXt91pgpgdhkhFZZeGDVRNnczo4=
X-Gm-Message-State: AOJu0YwaHh9u9srLSnerTuQkiL48SO4zLvzBVTrrY/XfFa/2l7dWh7b7
	JrYTE98MjlJaeVLSkUw794Mn8gRe13b4UBFpiAcM/pEMLSf2x1xPLOVjcZMdKQ==
X-Google-Smtp-Source: AGHT+IH7Pvlo8X6QVKZzRuy1heASdbKI15Xuj7heW6/Cy9Nmn8GUOXEd2sCwMZK3Cjs4dXTuXIeXlQ==
X-Received: by 2002:a5d:5986:0:b0:34a:2da1:c556 with SMTP id n6-20020a5d5986000000b0034a2da1c556mr1218464wri.37.1713453309685;
        Thu, 18 Apr 2024 08:15:09 -0700 (PDT)
Message-ID: <eb04d2c3-5667-4f71-a2a2-ee8e108c2880@suse.com>
Date: Thu, 18 Apr 2024 17:15:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair_analysis: substitute deprecated
 service
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, xen-devel@lists.xenproject.org
References: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
 <2d890f61-6f51-4d64-844e-24207805a65c@suse.com>
 <d0896c61235cb9f071cb0586fe87ee46@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d0896c61235cb9f071cb0586fe87ee46@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.04.2024 17:00, Nicola Vetrini wrote:
> On 2024-04-18 09:22, Jan Beulich wrote:
>> On 17.04.2024 16:51, Nicola Vetrini wrote:
>>> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
>>> @@ -44,8 +44,8 @@
>>>  -doc_end
>>>
>>>  -doc_begin="See Section \"6.19 Structures with No Members\" of 
>>> "GCC_MANUAL"."
>>> --config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
>>> --config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
>>> +-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
>>> +-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
>>>  -doc_end
>>
>> I'm irritated by this, which may be in part because of too terse a 
>> description.
>> "emptrecd" looks like an abbreviation of "empty record" to me, in line 
>> with
>> "Structures with No Members". "anonstct" otoh looks an abbreviation of
>> "anonymous structures" to me, which is something different (structures 
>> without
>> names).
> 
> I'm afraid I can't do much about this. From a functionality standpoint 
> there is no difference for Xen.

What I'm pretty sure you can do is provide a patch description that
allows readers to understand anything seemingly (or actually) anomalous.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:17:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:17:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708473.1107416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTVn-0001An-Ev; Thu, 18 Apr 2024 15:17:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708473.1107416; Thu, 18 Apr 2024 15:17: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 1rxTVn-0001Ag-C9; Thu, 18 Apr 2024 15:17:19 +0000
Received: by outflank-mailman (input) for mailman id 708473;
 Thu, 18 Apr 2024 15:17: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=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxTVm-0001AR-Mf
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:17:18 +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 bc3bc24a-fd96-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 17:17:14 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-418c979ddd2so7045245e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:17: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
 n17-20020a05600c501100b00418ed55a4bcsm1951876wmr.23.2024.04.18.08.17.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 08:17: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: bc3bc24a-fd96-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713453433; x=1714058233; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=auLWTFGYyGt9RYg45VIIjzCOl7935/ASIBzNrpmQd/I=;
        b=TUW2j8Du/e9IUtLABdHYzAR6EeJdpA1AYXaKAkkxrT8Kq25AmJpleT4E2+khhyISu0
         edZqcDpc6i0B4tWtducLPVsy/2zZqhX+HsDHGQ2bbm5jcn6tAvzfdPzC5Nm6r1WF9kpA
         TrLtnXvwOo6EbvRRQpk7y99X1sL+BOFSsVC3J/A9AA1ceYIg6EHyXGbeO/qyFlaM7RrD
         b0YqQQkfuSbGXrhkbQmJ7T+KW4zrN+Ox25f8uYBxpmQVKEvd6q6V1jf76NbCWo9z9FRc
         Esjq+iQLvcCIPkw86AmlZV2mGMXAGzaee2Mqe3hyCO9hASzs4GXa7UqSPT+tVesWpQVt
         wzgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713453433; x=1714058233;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=auLWTFGYyGt9RYg45VIIjzCOl7935/ASIBzNrpmQd/I=;
        b=iRGKDhX20LnGs3csllfYLHmWxPG6tkoTjQ+NkOHLhzFcJm82xYJ6wgysKk0VPJnZrV
         t4R9fzxZaxTJjqXhMI9+HbkuUrgCWc6JdY56GOU+8WnnAOt2eDT9vXjQD2/E1eYLcXYi
         xhxXKJivVLmg+CJQT7ISdbYqh8mb3PyuuMcpF9iY/ImdE14l/cKH4UBadN5Rubcm9ZfI
         90wFaeTQcVBIf1t3bTSNIXS8JG9UJYo5Xan/u+bB6vKojQH7hoEJDq48IOQ5Irruy8SJ
         DDqmN0BAlPues9KlfpTrCOwGS2GQl3LG3Z+R4jJwIvW7YVjpk5vzr+vVEnwWPJcfQFF+
         23Vw==
X-Forwarded-Encrypted: i=1; AJvYcCVSis45DbKIM7bqAPRx/vwrtI2aYtILwzDkztijP0SJDw1q3q6gKKBguwmlF1zRm497H5DTWDPhbbIFz8sQUza5nwX1aGzk/kyHtxYwkow=
X-Gm-Message-State: AOJu0YwK6DXWQvkN27N2nbCCoThzGySgPUOLY+UfSIhAJfiNClgUuhd3
	Xl0znwJRwFspacJZaTDdxb4puqBSXAphBugcaJxSwom80UqO4eX8/QFba76S9A==
X-Google-Smtp-Source: AGHT+IHW2QGWKRp76bIdxRFNlmIj/vggQXeBMk/aNBsungi8Bln1CXzdmwyQlr6EZ65N5UQhp96+vw==
X-Received: by 2002:a05:600c:3d93:b0:418:f991:8ad3 with SMTP id bi19-20020a05600c3d9300b00418f9918ad3mr492345wmb.41.1713453433564;
        Thu, 18 Apr 2024 08:17:13 -0700 (PDT)
Message-ID: <4e87e0bf-2507-4cad-a8d3-5094aee22b8a@suse.com>
Date: Thu, 18 Apr 2024 17:17:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/2] x86/PVH: Support relocatable dom0 kernels
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240404212519.16401-1-jason.andryuk@amd.com>
 <20240404212519.16401-3-jason.andryuk@amd.com>
 <70ab0f9d-a451-44a5-8927-4200dbb96a08@suse.com>
 <13d1943e-6341-46de-a356-dc6b92945f3b@amd.com>
 <f4864450-0cba-4ff8-9a39-aad792aab026@suse.com>
 <4ad076f8-7553-4421-8da1-e482927ec1f7@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4ad076f8-7553-4421-8da1-e482927ec1f7@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.04.2024 16:34, Jason Andryuk wrote:
> On 2024-04-17 09:24, Jan Beulich wrote:
>> On 08.04.2024 18:56, Jason Andryuk wrote:
>>> On 2024-04-08 03:00, Jan Beulich wrote:
>>>> On 04.04.2024 23:25, Jason Andryuk wrote:
>>>>> --- a/xen/arch/x86/hvm/dom0_build.c
>>>>> +++ b/xen/arch/x86/hvm/dom0_build.c
>>>>> @@ -537,6 +537,111 @@ static paddr_t __init find_memory(
>>>>>        return INVALID_PADDR;
>>>>>    }
>>>>>    
>>>>> +static bool __init check_load_address(
>>>>> +    const struct domain *d, const struct elf_binary *elf)
>>>>> +{
>>>>> +    paddr_t kernel_start = (uintptr_t)elf->dest_base;
>>>>> +    paddr_t kernel_end = kernel_start + elf->dest_size;
>>>>> +    unsigned int i;
>>>>
>>>> While properly typed here, ...
>>>>
>>>>> +static paddr_t __init find_kernel_memory(
>>>>> +    const struct domain *d, struct elf_binary *elf,
>>>>> +    const struct elf_dom_parms *parms)
>>>>> +{
>>>>> +    paddr_t kernel_size = elf->dest_size;
>>>>> +    unsigned int align;
>>>>> +    int i;
>>>>
>>>> ... I must have missed when this was changed to plain int. It should have
>>>> been unsigned int here, too, ...
>>>>
>>>>> +    if ( parms->phys_align != UNSET_ADDR32 )
>>>>> +        align = parms->phys_align;
>>>>> +    else if ( elf->palign >= PAGE_SIZE )
>>>>> +        align = elf->palign;
>>>>> +    else
>>>>> +        align = MB(2);
>>>>> +
>>>>> +    /* Search backwards to find the highest address. */
>>>>> +    for ( i = d->arch.nr_e820 - 1; i >= 0 ; i-- )
>>>>
>>>> ... with this suitably adjusted. However, I'm not going to change this while
>>>> committing, to avoid screwing up.
>>>
>>> I intentionally changed this.  Looping downwards, a signed int allows
>>> writing the check naturally with i >= 0.  I think it's clearer when
>>> written this way.
>>
>> Just to clarify: Is
>>
>>      for ( i = d->arch.nr_e820; i--; )
>>
>> any less clear?
> 
> It's not something I normally write, so I had to think about it more. If 
> you are already familiar with such a construct, then that isn't an issue 
> for you.
> 
> Your way is more subtle in my opinion because it relies on the post 
> decrement to ensure correct bounds within the loop body.  I prefer i >= 
> 0 because it clearly states the valid index values.
> 
> Is your main concern that you only want unsigned values as array indices?

Yes. Besides eliminating any concerns towards possible underruns, that also
often allows the compiler to produce better code.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:28:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:28:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708480.1107426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTgh-0005ai-DS; Thu, 18 Apr 2024 15:28:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708480.1107426; Thu, 18 Apr 2024 15:28:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTgh-0005ab-Aw; Thu, 18 Apr 2024 15:28:35 +0000
Received: by outflank-mailman (input) for mailman id 708480;
 Thu, 18 Apr 2024 15:28:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0X1s=LX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxTgg-0005aV-DH
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:28:34 +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 504ef707-fd98-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:28:32 +0200 (CEST)
Received: by mail-oo1-xc31.google.com with SMTP id
 006d021491bc7-5a9ec68784cso482099eaf.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:28:32 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 j18-20020ac86652000000b00437392f1c20sm744427qtp.76.2024.04.18.08.28.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Apr 2024 08: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: 504ef707-fd98-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713454111; x=1714058911; 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=+s1oZ8CloVjMVDxDLy5jY3c9bDIPqcpn5R3vwpjXOCU=;
        b=uPlb8uf7OuXRr0bdbOoWp7dXJFZbGJ+0ijxX9XtOsZs9madJj6ob9cwP2pz+lHA2+7
         U9EUAEULCGz+4U7YmOJFDdk3C9AW4PSMn4ii5uh2NTLpr7YhtALJ3R6VVNXyjPS6Y2sb
         EXVTLZRjSv9bgfS+l7rPtlPUraGVrXR8Bqqy0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713454111; x=1714058911;
        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=+s1oZ8CloVjMVDxDLy5jY3c9bDIPqcpn5R3vwpjXOCU=;
        b=kp71PdvuuLZZhLn7lp9xa0nJkjuIZFo0cvxEj/Cax3K8mLmOmYj5x867CB/N8L/sQb
         9Ct9fancc5YZe+22jtZQAABm+AIweo6mObAJGpGN+A6Xv8P9R0JzaloLPRrZryguq8q2
         Jz9OiBxv6rSdeB+WUsvh6f30fYF9HoSvTW5HRYuUJMfIv5cvX0iXV4CZAcq1LRQtdOQ7
         +JLaDZk5e9+YtrI6yD+Puw1VtZsbSYskgvST+BlmRkdC/AfMFtax9957/UC1xUHBdp0X
         ZGVx/Kmo884A/EGNuKuWvUNDUKdCfNilt9huyZEhcD54EXLArtZjg7VhZW0YXdo8ApT0
         ldGA==
X-Forwarded-Encrypted: i=1; AJvYcCWxaB4XZvRGp+AEaVTYXXYCW0kwJC5ZKgVUp1w6wQpsyJLLj7LPPfULylA+k1Qi4tGbkkrS5cWhnj0iZBA3Wleh0Y7IYJ+RwtzIZNqQRLA=
X-Gm-Message-State: AOJu0Yx/XMkAtCsXu5f+99JT9E3joODHXQrUALvjfdvBLR65FJQIVYx4
	X//iMHUX+uUuE7hqzeHKkprh9x0P+vkO68oUMWKKsvZntbkY0d9pZ5rOhWtXp4I=
X-Google-Smtp-Source: AGHT+IE5oVOoG0BfYpddhyAhjLKJCVJwI8zQdFFLX3i7sz4A1hktijLIDQQqpZk23PfQ/VmdXWazbA==
X-Received: by 2002:a05:6358:4b12:b0:183:6427:10b5 with SMTP id kr18-20020a0563584b1200b00183642710b5mr3562765rwc.21.1713454111205;
        Thu, 18 Apr 2024 08:28:31 -0700 (PDT)
Date: Thu, 18 Apr 2024 17:28:28 +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/spec: fix reporting of BHB clearing usage from guest
 entry points
Message-ID: <ZiE8HGEW5l0SPaNt@macbook>
References: <20240415141737.88236-1-roger.pau@citrix.com>
 <cc211dbe-9d95-46aa-8167-558acac7a3d3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <cc211dbe-9d95-46aa-8167-558acac7a3d3@suse.com>

On Thu, Apr 18, 2024 at 12:44:26PM +0200, Jan Beulich wrote:
> On 15.04.2024 16:17, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/spec_ctrl.c
> > +++ b/xen/arch/x86/spec_ctrl.c
> > @@ -643,7 +643,7 @@ 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"    : "",
> > -           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
> > +           opt_bhb_entry_hvm                         ? " BHB-entry"     : "");
> >  
> >  #endif
> >  #ifdef CONFIG_PV
> > @@ -658,7 +658,7 @@ static void __init print_details(enum ind_thunk thunk)
> >             opt_eager_fpu                             ? " EAGER_FPU"     : "",
> >             opt_verw_pv                               ? " VERW"          : "",
> >             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)   ? " IBPB-entry"    : "",
> > -           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
> > +           opt_bhb_entry_pv                          ? " BHB-entry"     : "");
> >  
> >      printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
> >             opt_xpti_hwdom ? "enabled" : "disabled",
> 
> For one the surrounding if() conditions need similar adjustment.

Oh, I see, you mean the printing of "None" if no options are active.

> But then I wonder whether the further uses of cpu_has_bhb_seq don't
> need switching, too (when determining whether to force
> X86_SPEC_NO_LFENCE_ENTRY_*). At which point the question is why
> cpu_has_bhb_seq exists in the first place: It in particular does not
> affect the default calculation of opt_bhb_entry_*, afaics.

Hm, yes, that's indeed not very helpful.  The current code is overly
restrictive, as the lfence won't be elided even when the BHB sequence
is not being used by that specific guest type, as long as some
sequence is configured.  Will add a further patch to fix that and then
remove cpu_has_bhb_seq.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:44:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708486.1107437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxTvY-0001zL-MC; Thu, 18 Apr 2024 15:43:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708486.1107437; Thu, 18 Apr 2024 15: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 1rxTvY-0001zE-Ij; Thu, 18 Apr 2024 15:43:56 +0000
Received: by outflank-mailman (input) for mailman id 708486;
 Thu, 18 Apr 2024 15:43: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=DNVj=LX=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rxTvW-0001xq-Qr
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:43:54 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7588358b-fd9a-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:43:53 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a53f131d9deso112535366b.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:43:53 -0700 (PDT)
Received: from [192.168.0.107] ([91.123.150.5])
 by smtp.gmail.com with ESMTPSA id
 c19-20020a170906155300b00a526a99ccecsm1047891ejd.42.2024.04.18.08.43.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 08:43: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: 7588358b-fd9a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713455033; x=1714059833; 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=tWKoyaYHpVNzIRsVIBBnWTD1mZrFmJFCALnJCC3cCj4=;
        b=ZKECIkHXFEwPKdTcaLJa7Mk2FbZDeLDpMmygQ2yQF8epWoruEO1ELO/9eYBFCxuLOT
         0fLSTSF+wRIVvMs9TlrdTmB2o9ruV/un5MvpmsaPeM6/Q0Cn6lSfBfHNGQDbUpNvQaRX
         65Ql2//1faef6OTBPZrnecYWBdPsxxEQl8Tc7NV+BycomYu3DmJTN2fjAX3UvCW3BVPJ
         01Y3y1+xHXir1g75iUMsepOuQCiGh4OisU4ZR2fl3yfliHmfNyeR31UFqsX/9p9+Xue8
         KQ6ccBAW7qgcSZooJnuS902JAfVyWWR662SuZdLmhy8TvQxntircLIyhn7wU0KT3cYJ7
         eK4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713455033; x=1714059833;
        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=tWKoyaYHpVNzIRsVIBBnWTD1mZrFmJFCALnJCC3cCj4=;
        b=ZA9m8ytIvi6jFuNvrRhTlEcQG+Xx59xPdrx7eYuIV6AeN2TU6pn9Hn3QK472/sLls+
         xKJlmt/8PhGZafTVITxFpwwptaobO4cKVpl+dMpFoSR8/E8tmpdn6RdUUyTh1CWGo850
         xGMP++emOYfmICxGpZxcN64pOa93nd0DV7ASqg5feRd+HgeQn1Djsa49JC70yhVmT5Dg
         BaMjvROsjf/i02cKuv9xIsOczqx168gb+qXqjYv1JfVfMSGeK8U3wrIir4DEwHCGmlqP
         NBXP64N2+4RTVNbc8oc+5HU3+Rixo1qvM2lcFot6DgjycC+77upMM4+xJN5BhJIUxO/v
         x9cw==
X-Forwarded-Encrypted: i=1; AJvYcCWZ+bi5fnTJCZDi5+IPEFhYwBkVeQshdW8d7cQbenMWgYOhXDsZDzFqAKJISEJVuC8wvxeteTG/L/1vyooolyJrYT2habkU9VPH68YWF0c=
X-Gm-Message-State: AOJu0YxgauYCbDRQEZj/pkv6c8Lo6fYafwMsR4HAbZ0vt7sGQWq216IR
	l8wjW92KgEX6OLCPe7ZJZxyI+4DggB81ZxLnvIBzWovxutMHf9ji
X-Google-Smtp-Source: AGHT+IFhdU6QoaTkJxqTiIw8s58+C0Ya54JYgXn5vMoSgszaePH3uB4KdotqKzb9bCGY74pq8KI8EQ==
X-Received: by 2002:a17:907:97cd:b0:a55:a04:6fbc with SMTP id js13-20020a17090797cd00b00a550a046fbcmr2388068ejc.23.1713455032642;
        Thu, 18 Apr 2024 08:43:52 -0700 (PDT)
Message-ID: <631c2da6-8ce1-46ea-b685-cfaff8efa508@gmail.com>
Date: Thu, 18 Apr 2024 18:43:50 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm: Add i.MX UART early printk support
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Peng Fan <peng.fan@nxp.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
 <20240402120557.1822253-2-olekstysh@gmail.com>
 <5151abab-93a9-4b3f-8d69-c45e3cfc663c@amd.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <5151abab-93a9-4b3f-8d69-c45e3cfc663c@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 03.04.24 13:11, Michal Orzel wrote:
> Hi Oleksandr,

Hello Michal

sorry for the late response

> 
> On 02/04/2024 14:05, Oleksandr Tyshchenko wrote:
>>
>>
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> Tested on i.MX 8M Mini only, but I guess, it should be
>> suitable for other i.MX8M* SoCs (those UART device tree nodes
>> contain "fsl,imx6q-uart" compatible string).
> Please use imperative mood in commit msg.

ok


> I would mention also that you are adding
> macros that will be used by the runtime driver.


will do

> 
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> ---
>> I selected the following configs for enabling early printk:
>>
>>   CONFIG_EARLY_UART_CHOICE_IMX_UART=y
>>   CONFIG_EARLY_UART_IMX_UART=y
>>   CONFIG_EARLY_PRINTK=y
>>   CONFIG_EARLY_UART_BASE_ADDRESS=0x30890000
>>   CONFIG_EARLY_PRINTK_INC="debug-imx-uart.inc"
>> ---
>> ---
>>   xen/arch/arm/Kconfig.debug            | 14 +++++
>>   xen/arch/arm/arm64/debug-imx-uart.inc | 38 ++++++++++++++
>>   xen/arch/arm/include/asm/imx-uart.h   | 76 +++++++++++++++++++++++++++
>>   3 files changed, 128 insertions(+)
>>   create mode 100644 xen/arch/arm/arm64/debug-imx-uart.inc
>>   create mode 100644 xen/arch/arm/include/asm/imx-uart.h
>>
>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>> index eec860e88e..a15d08f214 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_IMX_UART
>> +               select EARLY_UART_IMX_UART
>> +               depends on ARM_64
>> +               bool "Early printk via i.MX UART"
>> +               help
>> +                       Say Y here if you wish the early printk to direct their
> Do not take example from surrounding code. help text should be indented by 2 tabs and 2 spaces here.

ok

> 
>> +                       output to a i.MX UART. You can use this option to
>> +                       provide the parameters for the i.MX 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_IMX_UART
>> +       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-imx-uart.inc" if EARLY_UART_IMX_UART
>>          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-imx-uart.inc b/xen/arch/arm/arm64/debug-imx-uart.inc
>> new file mode 100644
>> index 0000000000..27a68b1ed5
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/debug-imx-uart.inc
>> @@ -0,0 +1,38 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * xen/arch/arm/arm64/debug-imx-uart.inc
>> + *
>> + * i.MX8M* specific debug code
>> + *
>> + * Copyright (C) 2024 EPAM Systems Inc.
>> + */
>> +
>> +#include <asm/imx-uart.h>
>> +
>> +/*
>> + * Wait UART to be ready to transmit
>> + * rb: register which contains the UART base address
>> + * rc: scratch register
>> + */
>> +.macro early_uart_ready xb, c
>> +1:
>> +        ldr   w\c, [\xb, #IMX21_UTS] /* <- Test register */
>> +        tst   w\c, #UTS_TXFULL       /* Check TxFIFO FULL bit */
>> +        bne   1b                     /* Wait for the UART to be ready */
>> +.endm
>> +
>> +/*
>> + * UART transmit character
>> + * rb: register which contains the UART base address
>> + * rt: register which contains the character to transmit
>> + */
>> +.macro early_uart_transmit xb, wt
>> +        str   \wt, [\xb, #URTX0] /* -> Transmitter Register */
>> +.endm
>> +
>> +/*
>> + * Local variables:
>> + * mode: ASM
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/arch/arm/include/asm/imx-uart.h b/xen/arch/arm/include/asm/imx-uart.h
>> new file mode 100644
>> index 0000000000..413a81dd44
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/imx-uart.h
>> @@ -0,0 +1,76 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * xen/arch/arm/include/asm/imx-uart.h
>> + *
>> + * Common constant definition between early printk and the UART driver
>> + *
>> + * Copyright (C) 2024 EPAM Systems Inc.
>> + */
>> +
>> +#ifndef __ASM_ARM_IMX_UART_H__
>> +#define __ASM_ARM_IMX_UART_H__
>> +
>> +/* 32-bit register definition */
>> +#define URXD0        (0x00) /* Receiver Register */
> There is no need to surround these values

ok

> 
>> +#define URTX0        (0x40) /* Transmitter Register */
>> +#define UCR1         (0x80) /* Control Register 1 */
>> +#define UCR2         (0x84) /* Control Register 2 */
>> +#define UCR3         (0x88) /* Control Register 3 */
> 
>> +#define UCR4         (0x8c) /* Control Register 4 */
>> +#define UFCR         (0x90) /* FIFO Control Register */
>> +#define USR1         (0x94) /* Status Register 1 */
>> +#define USR2         (0x98) /* Status Register 2 */
>> +#define IMX21_UTS    (0xb4) /* Test Register */
>> +
>> +#define URXD_ERR        BIT(14, UL) /* Error detect */
>> +#define URXD_RX_DATA    GENMASK(7, 0) /* Received data mask */
>> +
>> +#define UCR1_TRDYEN      BIT(13, UL) /* Transmitter ready interrupt enable */
>> +#define UCR1_RRDYEN      BIT(9, UL) /* Receiver ready interrupt enable */
> NIT: please align comments within a block

ok

> 
> Other than that:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>


thanks

> 
> ~Michal


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:52:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:52:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708493.1107447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxU49-00047T-Ke; Thu, 18 Apr 2024 15:52:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708493.1107447; Thu, 18 Apr 2024 15:52:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxU49-00047M-HF; Thu, 18 Apr 2024 15:52:49 +0000
Received: by outflank-mailman (input) for mailman id 708493;
 Thu, 18 Apr 2024 15:52:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0X1s=LX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxU49-00047G-8J
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:52:49 +0000
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com
 [2607:f8b0:4864:20::736])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4084cd3-fd9b-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:52:48 +0200 (CEST)
Received: by mail-qk1-x736.google.com with SMTP id
 af79cd13be357-78ecd752a7cso69878485a.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:52:48 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 z3-20020ae9f443000000b0078ecc43a45dsm741147qkl.92.2024.04.18.08.52.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Apr 2024 08:52: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: b4084cd3-fd9b-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713455567; x=1714060367; 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=rwgIViGviH2ySrxNQOTQAavkytQdqdPCI6ghOt6q6OE=;
        b=uOz71QSihnKY4lr/KPNH7xCFMDCwOFtE3D43LGGKAkjGFh0GsGkOU336x4ZPyAVYzz
         rDcnQCPNsEuZD7fSAWS1vyirA7Li/P6elTcBqVp82PG/HLTPm6dtZysrHm3rNwMXn39Y
         E014uZX9EnBOE3/7pvwgPJFKzySMLJRQgUAY0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713455567; x=1714060367;
        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=rwgIViGviH2ySrxNQOTQAavkytQdqdPCI6ghOt6q6OE=;
        b=Ipiw3SMcIKIRl/bXsjVahLrutOCa2mxYumWh0rdTKc4p+Kt07e8f/NJ0W5mrBXO/lW
         TQA8Gbu8ROHCggGw6RtS67wsw7pr4xWvn14g/3tI0S4b60RivLJq+1aokKrGLUBXTYap
         tEo6S0wMWXVL+Zkq/hj1K/qxKWCDU+97lpvV7HxKvKrZTli6OmvjhivxcQ4L92g9AEpw
         SQ6ecMokykHWtXjaV0EnCpkWR9e5tbYMYAGVWYEA6kYMz2GFbls7a9lQcrZtxlEXJ/xN
         JfSjFTFdV/LtCaP5nk+mkJHLVCqFplE2vlqGDLPp2uzccrFhhpA5ITBhB4BdyGR8YdWH
         uq+w==
X-Gm-Message-State: AOJu0YynxDlZcYJ9+XJXBPrZPbt+xnPYNG5m2KX6k85oON57QE39Kmju
	jIGnMKMcKSkd1dzT5Z/xsjWSf4pcM2ISkuPwgvfXzaHrk/EE6jue8+JSVHU8Vg9LZoU2qfCiH7q
	T
X-Google-Smtp-Source: AGHT+IFA8B+P5k3qQLjzPXRqKuQVwQSS0M3Qg+bFS628NQG/pWdCeObSggyoobWWpyUJ/52NK8lnfQ==
X-Received: by 2002:a05:620a:4d19:b0:78d:68c2:a02b with SMTP id wa25-20020a05620a4d1900b0078d68c2a02bmr3507655qkn.19.1713455566881;
        Thu, 18 Apr 2024 08:52: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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v2 0/2] x86/spec: misc fixes for XSA-456
Date: Thu, 18 Apr 2024 17:52:06 +0200
Message-ID: <20240418155208.7771-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Fix patch fixing the printing of whether BHB-entry is used for PV or
HVM, second patch refines a bit the logic to decide whether the lfence
on entry can be elided for the entry points.

Thanks, Roger.

Roger Pau Monne (2):
  x86/spec: fix reporting of BHB clearing usage from guest entry points
  x86/spec: adjust logic to logic that elides lfence

 xen/arch/x86/include/asm/cpufeature.h |  3 ---
 xen/arch/x86/spec_ctrl.c              | 14 +++++++-------
 2 files changed, 7 insertions(+), 10 deletions(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:52:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:52:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708494.1107456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxU4D-0004Ms-RK; Thu, 18 Apr 2024 15:52:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708494.1107456; Thu, 18 Apr 2024 15:52:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxU4D-0004Ml-OU; Thu, 18 Apr 2024 15:52:53 +0000
Received: by outflank-mailman (input) for mailman id 708494;
 Thu, 18 Apr 2024 15:52: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=0X1s=LX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxU4C-0004M8-Ru
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:52:52 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b57c07c8-fd9b-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 17:52:50 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-78f049ddd7dso66867885a.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:52:50 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 z16-20020a0cda90000000b0069b0c9a81b5sm739013qvj.95.2024.04.18.08.52.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Apr 2024 08:52: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: b57c07c8-fd9b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713455569; x=1714060369; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FgZJsWC+V6vA1Vlcmi8D5n4+aJM93wZKHXM2K90e014=;
        b=vQnHdTBspBUaoedNZ/VscHpOAiZhpQA6E/+D+ovxuXt8XLBuW1WAsXtjt8eqGgwaNZ
         FJXt50yZ0ROeEZlLPzlf0htP/AkIA4WDE+/UydjbRPf2B5WPqDIf9qo/c7aM8I4hE53L
         3EyekKuvOD0mts0TTqsRL/kRnSeE4BsZn2bII=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713455569; x=1714060369;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FgZJsWC+V6vA1Vlcmi8D5n4+aJM93wZKHXM2K90e014=;
        b=MRmh0JX1s4YhM1ITgfgXRa6fgA2YdrSr8cX5t1TKS90yxkT+1k7XcqWtxY9DI/wpNJ
         7aNUU3pb87thg99QVbg4mRXuyZ34thVKxjxeZ4WtjsA2kOmRLrGifyYm7XpSjBVRlJOy
         Z4/qO/nOvoP7hlzEw1xj6csknziMwKxL5iRMWokjaR/x5tFWPWSCX+4eJUrtY2DrdpVD
         nv9FA8hJ9yG1C1Zd0OjxOUkQvIwkY0z0bVfneh4WSiMr/OBj95beIHL48cX0mQRbgPHT
         eXaubNrIXFUYDgHMmNICOZo8rSpLrLCAnS50djng2LfnoACEQ0uGZlFmuMASD/NKcu60
         6QEA==
X-Gm-Message-State: AOJu0YzrPnpwfhA7UGHs4EAE1dZkOdXEy9TH4PPXt1vufS31SsLJYJSZ
	j6eFDijiw5rNOnotn5HrshawWVEcwID0bGd6UMFl1D24kEwLrdcIBQO1eJbXljAKWOdTUHjtBSE
	+
X-Google-Smtp-Source: AGHT+IG8t9u76ZRwiQqG7tf9z0HVbDVZ/4E4dyvgE+tuzI9ts+dT4kyGtA+gwYNuWQ8uNoyACI8itQ==
X-Received: by 2002:a0c:fca7:0:b0:69b:24f2:c2eb with SMTP id h7-20020a0cfca7000000b0069b24f2c2ebmr3391091qvq.59.1713455569367;
        Thu, 18 Apr 2024 08:52:49 -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 1/2] x86/spec: fix reporting of BHB clearing usage from guest entry points
Date: Thu, 18 Apr 2024 17:52:07 +0200
Message-ID: <20240418155208.7771-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240418155208.7771-1-roger.pau@citrix.com>
References: <20240418155208.7771-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reporting whether the BHB clearing on entry is done for the different domains
types based on cpu_has_bhb_seq is incorrect, as that variable signals whether
there's a BHB clearing sequence selected, but that alone doesn't imply that
such sequence is used from the PV and/or HVM entry points.

Instead use opt_bhb_entry_{pv,hvm} which do signal whether BHB clearing is
performed on entry from PV/HVM.

Fixes: 689ad48ce9cf ('x86/spec-ctrl: Wire up the Native-BHI software sequences')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Also fix usage of cpu_has_bhb_seq when deciding whether to print "None".
---
 xen/arch/x86/spec_ctrl.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index dd01e30844a1..1e831c1c108e 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -634,7 +634,7 @@ static void __init print_details(enum ind_thunk thunk)
            (boot_cpu_has(X86_FEATURE_SC_MSR_HVM) ||
             boot_cpu_has(X86_FEATURE_SC_RSB_HVM) ||
             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM) ||
-            cpu_has_bhb_seq || amd_virt_spec_ctrl ||
+            opt_bhb_entry_hvm || amd_virt_spec_ctrl ||
             opt_eager_fpu || opt_verw_hvm)           ? ""               : " None",
            boot_cpu_has(X86_FEATURE_SC_MSR_HVM)      ? " MSR_SPEC_CTRL" : "",
            (boot_cpu_has(X86_FEATURE_SC_MSR_HVM) ||
@@ -643,7 +643,7 @@ 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"    : "",
-           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
+           opt_bhb_entry_hvm                         ? " BHB-entry"     : "");
 
 #endif
 #ifdef CONFIG_PV
@@ -651,14 +651,14 @@ static void __init print_details(enum ind_thunk thunk)
            (boot_cpu_has(X86_FEATURE_SC_MSR_PV) ||
             boot_cpu_has(X86_FEATURE_SC_RSB_PV) ||
             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV) ||
-            cpu_has_bhb_seq ||
+            opt_bhb_entry_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"    : "",
-           cpu_has_bhb_seq                           ? " BHB-entry"     : "");
+           opt_bhb_entry_pv                          ? " BHB-entry"     : "");
 
     printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
            opt_xpti_hwdom ? "enabled" : "disabled",
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:52:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708495.1107467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxU4H-0004dk-3q; Thu, 18 Apr 2024 15:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708495.1107467; Thu, 18 Apr 2024 15:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxU4G-0004dd-WF; Thu, 18 Apr 2024 15:52:57 +0000
Received: by outflank-mailman (input) for mailman id 708495;
 Thu, 18 Apr 2024 15:52: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=0X1s=LX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxU4G-0004M8-1y
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:52:56 +0000
Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com
 [2607:f8b0:4864:20::729])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b78489aa-fd9b-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 17:52:54 +0200 (CEST)
Received: by mail-qk1-x729.google.com with SMTP id
 af79cd13be357-78f05035f56so70111285a.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:52:54 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 wi10-20020a05620a570a00b0078ee7bad7a2sm749561qkn.3.2024.04.18.08.52.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Apr 2024 08:52: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: b78489aa-fd9b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713455572; x=1714060372; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q3jZy3odbL5XV50iWWQ1nW/SD6X8ck0zK9SiJgWp6PY=;
        b=qne6XbngJ4HmKQyJT1sJG/j/uQMFagJUXpQ4XXYHScnYGke443vU86H1cYYBNFKfRD
         UUj4FMxX+cn2gsgYTkls+gB/QmThbTPSp677NQhTSImIZE7jPTtAzxAWpJZxJ3fF1Wx1
         zmK315t9Mh4WMOAa/WPv7n/ZjOvryYWNbosb8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713455572; x=1714060372;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=q3jZy3odbL5XV50iWWQ1nW/SD6X8ck0zK9SiJgWp6PY=;
        b=bPV1gQdmatm4vRn3mQu9dTGfSqL1r6hvHzkz7NR5SEfWUlCStoAZLb37X8VViNE/Jn
         xSX+61F9wkReGupPq+WY0usmo1kpg9+bUxKF04iNW6Wb97Zb7dpM12t7zKgv42VWk70Z
         qcQknT9Sv01HwJSpxFmUbF1lyUBRu0UtJB3YLKhmJI23UiGdyv43gHEgM+SsndA2A7jc
         vsKBwr0M7k5Eqkv95CUv0EPFsN4Wh0vijWEutH9aLzTsQpIyYhhvvBd30Ezq6Qf5bIGv
         MPMgrqQxJ37fG2DKZmFdPL2DUoFsGxCt67J6grHelEhUjmkqu7Ns05aTAgYjdAbympti
         /+LQ==
X-Gm-Message-State: AOJu0YzSNvCtk0c/9337m/Dqq5Bavq36qDPNpvsyHWUNVOeoznzTdi/h
	1+KdMp6eVn8O86posmU76a/Swsmn9o/zhChWT+ifRGDP1c17dThP4ulITRUJcLGOvP+4tZ4moxT
	D
X-Google-Smtp-Source: AGHT+IFt+5sMhOV5t6bXh3DcsrzXm18hsIx2IWjfj7kGmbQncwkVUUI3FbcXh+QGdAhVLLNBni2+cA==
X-Received: by 2002:a05:620a:4155:b0:789:e7a0:7148 with SMTP id k21-20020a05620a415500b00789e7a07148mr3956197qko.7.1713455572295;
        Thu, 18 Apr 2024 08:52:52 -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 2/2] x86/spec: adjust logic to logic that elides lfence
Date: Thu, 18 Apr 2024 17:52:08 +0200
Message-ID: <20240418155208.7771-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240418155208.7771-1-roger.pau@citrix.com>
References: <20240418155208.7771-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It's currently too restrictive by just checking whether there's a BHB clearing
sequence selected.  It should instead check whether BHB clearing is used on
entry from PV or HVM specifically.

Switch to use opt_bhb_entry_{pv,hvm} instead, and then remove cpu_has_bhb_seq
since it no longer has any users.

Reported-by: Jan Beulich <jbeulich@suse.com>
Fixes: 954c983abcee ('x86/spec-ctrl: Software BHB-clearing sequences')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.

There (possibly) still a bit of overhead for dom0 if BHB clearing is not used
for dom0, as Xen would still add the lfence if domUs require it.
---
 xen/arch/x86/include/asm/cpufeature.h | 3 ---
 xen/arch/x86/spec_ctrl.c              | 6 +++---
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 743f11f98940..9bc553681f4a 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -235,9 +235,6 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_bug_fpu_ptrs        boot_cpu_has(X86_BUG_FPU_PTRS)
 #define cpu_bug_null_seg        boot_cpu_has(X86_BUG_NULL_SEG)
 
-#define cpu_has_bhb_seq        (boot_cpu_has(X86_SPEC_BHB_TSX) ||       \
-                                boot_cpu_has(X86_SPEC_BHB_LOOPS))
-
 enum _cache_type {
     CACHE_TYPE_NULL = 0,
     CACHE_TYPE_DATA = 1,
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 1e831c1c108e..40f6ae017010 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -2328,7 +2328,7 @@ void __init init_speculation_mitigations(void)
          * unconditional WRMSR.  If we do have it, or we're not using any
          * prior conditional block, then it's safe to drop the LFENCE.
          */
-        if ( !cpu_has_bhb_seq &&
+        if ( !opt_bhb_entry_pv &&
              (boot_cpu_has(X86_FEATURE_SC_MSR_PV) ||
               !boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)) )
             setup_force_cpu_cap(X86_SPEC_NO_LFENCE_ENTRY_PV);
@@ -2344,7 +2344,7 @@ void __init init_speculation_mitigations(void)
          * active in the block that is skipped when interrupting guest
          * context, then it's safe to drop the LFENCE.
          */
-        if ( !cpu_has_bhb_seq &&
+        if ( !opt_bhb_entry_pv &&
              (boot_cpu_has(X86_FEATURE_SC_MSR_PV) ||
               (!boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV) &&
                !boot_cpu_has(X86_FEATURE_SC_RSB_PV))) )
@@ -2356,7 +2356,7 @@ void __init init_speculation_mitigations(void)
          * A BHB sequence, if used, is the only conditional action, so if we
          * don't have it, we don't need the safety LFENCE.
          */
-        if ( !cpu_has_bhb_seq )
+        if ( !opt_bhb_entry_hvm )
             setup_force_cpu_cap(X86_SPEC_NO_LFENCE_ENTRY_VMX);
     }
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:55:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708506.1107478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxU75-0006gF-IM; Thu, 18 Apr 2024 15:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708506.1107478; Thu, 18 Apr 2024 15: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 1rxU75-0006g8-DQ; Thu, 18 Apr 2024 15:55:51 +0000
Received: by outflank-mailman (input) for mailman id 708506;
 Thu, 18 Apr 2024 15:55:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QcTt=LX=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxU74-0006g2-B5
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:55:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f9045aa-fd9c-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 17:55:48 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A56A04EE074A;
 Thu, 18 Apr 2024 17:55: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: 1f9045aa-fd9c-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Thu, 18 Apr 2024 17:55:47 +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, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
 <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3 1/2] xen/domctl: address violations of MISRA C Rule
 16.2
In-Reply-To: <500fff2d-2316-4090-8cf3-a697bda6ee01@suse.com>
References: <cover.1713382466.git.nicola.vetrini@bugseng.com>
 <6ebb49a8ae92dc036d7bed0c708a8830bb93c788.1713382466.git.nicola.vetrini@bugseng.com>
 <500fff2d-2316-4090-8cf3-a697bda6ee01@suse.com>
Message-ID: <b815cd630edbdce68d5983b4d3900074@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-04-18 17:10, Jan Beulich wrote:
> On 17.04.2024 21:37, Nicola Vetrini wrote:
>> Refactor the first clauses so that a violation of
>> MISRA C Rule 16.2 is resolved (a switch label should be immediately
>> enclosed in the compound statement of the switch).
>> Note that the switch clause ending with the pseudo
>> keyword "fallthrough" is an allowed exception to Rule 16.3.
>> 
>> Convert fallthrough comments in other clauses to the pseudo-keyword
>> while at it.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> I did ack a patch with this title, yes, but the content of that patch
> was different. Besides all the references to the fallthrough pseudo-
> keyword being unrelated to the change below, there's also nothing ...
> 
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -457,6 +457,7 @@ static int domain_teardown(struct domain *d)
>> 
>>          for_each_vcpu ( d, v )
>>          {
>> +            /* SAF-5-safe MISRA C Rule 16.2: switch label enclosed by 
>> for loop*/
>>              PROGRESS_VCPU(teardown);
>> 
>>              rc = vcpu_teardown(v);
> 
> ... domctl-ish in here. What is going on?
> 
> Jan

Oh, I must have edited the wrong patch when doing v3. Sorry about that.
The patch was this [1], just with the id changed.

[1] 
https://lore.kernel.org/xen-devel/2328b1a43f8bc4c9a9303c46f8eba2847c67a713.1712305581.git.nicola.vetrini@bugseng.com/

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 15:59:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 15:59:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708512.1107486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxUAO-0007qr-V7; Thu, 18 Apr 2024 15:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708512.1107486; Thu, 18 Apr 2024 15:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxUAO-0007qk-SE; Thu, 18 Apr 2024 15:59:16 +0000
Received: by outflank-mailman (input) for mailman id 708512;
 Thu, 18 Apr 2024 15:59:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wA62=LX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxUAN-0007qe-Ef
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 15:59:15 +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 9a5badfb-fd9c-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 17:59:14 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-34665dd7610so518758f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 08:59: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
 l6-20020adfa386000000b00349e2fab2a2sm2174724wrb.12.2024.04.18.08.59.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 08:59: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: 9a5badfb-fd9c-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713455954; x=1714060754; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WoFyF8j/3F8xBWW6YBJMJg47uewNkTCWrI/XkW7WWv0=;
        b=LUr24edC5fvCFBrOyhAlwuMFoJbyazV5MGivetGe3dlk7og0pJXFtEwszCQykeQW/1
         WHfjnqtQbL6K8QYtQaoxilkVfWqOLQDtIhoC38lmt1CJd/LMmZd4PQdljGJVCXRDB6e5
         N4eD6tb2iFQV4lW723Tet9Yk0QkcJPV639ijbQrBpy4OHnXOCLZft6PT5c4cfpxOy2Sj
         jl5tzcaIq3DoA7pGrT2RjrZ92+ruJ2t8k3+KeOF43WxosEUXpVstShf6B4PpY36XyXwG
         W+9jozmyjzN4OFncjZLi1X0ihSqa7Yh0BXIY+Aj4m080aVtOIc8iG11VIvtb3U+mqv33
         qxiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713455954; x=1714060754;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WoFyF8j/3F8xBWW6YBJMJg47uewNkTCWrI/XkW7WWv0=;
        b=htLNNH1mpkcoqVom93t+F2+63BNYX7t4HcECwhax2o8F6cgu6lb8y/SI7RcfdaFQI0
         Ku7ExCVOBO78HmQbQB0IBOcZ5NI/wp78Y6xRY7li7EtKhsjjSrDrnsZjtM6dlRu49Epd
         WCocxABPD0FrnqaOI9yz4ZFm48PKtXLKZUZJOqO6In5XMiMqCwLpIwna4S0G7ids6G8i
         GeaFI8sY5SjYCSCB6mEp9Obnrx7NAUxukoEgjQIKszrTzEhbFHjIjbZHUm1tlLmhiDc9
         SrjwafIHFoapojhRDMyRM6CPzvOSnV8OsXm4zIW166Jv7Wz27y26t/Ve9ESH+xHuE37k
         4fXw==
X-Forwarded-Encrypted: i=1; AJvYcCXmSzAn6FOU9c4NQj7/TMCn/gGYPvULsq4t7OFkNAMNPVMpUJcmi4Cev0U3BDqg9BUyAv6MqUZukcRD81h6f3HEgaoyLU27NaDaZYijimw=
X-Gm-Message-State: AOJu0YxtMb4ab1kv/rpQXz+t7/MmLKeqZtSDFwiGVOUrzRxZ8fFG4oab
	DtAMwE3lIxG8SQu0Q5IRpNfwKzCYJ0+2/DYI4WkKsETMYUUGzXLFQg8hFqQc9Q==
X-Google-Smtp-Source: AGHT+IGsDgCcJcp0TZc7MP1I+JZikXbJg+btlNIE5cLQvOIb4qUXCZkfN6SlC+olJLElgvejRCyU2g==
X-Received: by 2002:adf:f74b:0:b0:34a:72d:8dae with SMTP id z11-20020adff74b000000b0034a072d8daemr1744635wrp.22.1713455953698;
        Thu, 18 Apr 2024 08:59:13 -0700 (PDT)
Message-ID: <11fecd33-68ba-41f7-a17d-71f64554590e@suse.com>
Date: Thu, 18 Apr 2024 17:59:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/spec: fix reporting of BHB clearing usage from
 guest entry points
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240418155208.7771-1-roger.pau@citrix.com>
 <20240418155208.7771-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240418155208.7771-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.04.2024 17:52, Roger Pau Monne wrote:
> Reporting whether the BHB clearing on entry is done for the different domains
> types based on cpu_has_bhb_seq is incorrect, as that variable signals whether
> there's a BHB clearing sequence selected, but that alone doesn't imply that
> such sequence is used from the PV and/or HVM entry points.
> 
> Instead use opt_bhb_entry_{pv,hvm} which do signal whether BHB clearing is
> performed on entry from PV/HVM.
> 
> Fixes: 689ad48ce9cf ('x86/spec-ctrl: Wire up the Native-BHI software sequences')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

This looks correct to me, so:
Reviewed-by: Jan Beulich <jbeulich@suse.com>
But since Andrew indicated concerns, I won't mark it (locally) for being
ready to go in.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 16:07:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 16:07:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708518.1107497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxUIJ-0001wu-OM; Thu, 18 Apr 2024 16:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708518.1107497; Thu, 18 Apr 2024 16: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 1rxUIJ-0001wn-LH; Thu, 18 Apr 2024 16:07:27 +0000
Received: by outflank-mailman (input) for mailman id 708518;
 Thu, 18 Apr 2024 16: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=qOTl=LX=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rxUII-0001wh-9b
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 16:07:26 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2407::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bcc8702d-fd9d-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 18:07:22 +0200 (CEST)
Received: from BY5PR17CA0007.namprd17.prod.outlook.com (2603:10b6:a03:1b8::20)
 by IA0PR12MB7577.namprd12.prod.outlook.com (2603:10b6:208:43e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.37; Thu, 18 Apr
 2024 16:07:17 +0000
Received: from SJ1PEPF00001CE9.namprd03.prod.outlook.com
 (2603:10b6:a03:1b8:cafe::38) by BY5PR17CA0007.outlook.office365.com
 (2603:10b6:a03:1b8::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.27 via Frontend
 Transport; Thu, 18 Apr 2024 16:07:16 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF00001CE9.mail.protection.outlook.com (10.167.242.25) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Thu, 18 Apr 2024 16:07:16 +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.35; Thu, 18 Apr
 2024 11:07:15 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 18 Apr 2024 11:07:14 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcc8702d-fd9d-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VScJpLV3JLMnIf08jRVQ8tC+896hfqB/HBfK4m3V3Sjegol8TPgvvI2dgOCHj0ejTTQ3/XOa/CuAtUliSV7gW+ctEqKvylywYBdIXTUSUIKfxKKpbzMvIFXAv3nwSpozgX5yxOPjNLT/CoZyl5rfZTHEnrH5isqBM7qFNLlRz5n+FRQ7HF5BmP3HBsN9pkItWyTB9htgCKqnD0MVS9MAwWmmsasyf+EEf6JHZpwLfu2zYuWYGkWBCWVsfpC9RQJ6XpCS0H8OYh71vWfTWn+GQfntaWcHckWPf6jALJeyNJFfua8RKMsubzSGbaUDJbxzzuv9LuW1PW/6H0hgOmFRFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zp89nXlE484aF/SogIXg0jLTRzLzbU7LFmPbCM15Q2Q=;
 b=f71kx4YcOwnkFU8PwxvQUJ4h8ZcF1movja17W02naDKslLkbKWBpDkMohinBjwjnC2FGmfwkP+VzqaUl4RQBOtkMe3lDEPpju5J1tFa2PIqqePyh7T00zJ2BFYfj/LSnWufxSwmn1Lx0s9XWEDmHRcNIBdwk4R96JNXXKX+GxJr0k9aIWOXB5QfwXH3IkV9xY3+RGoZagwxUd7CqW2551NLqyqqz59Yjwn0y4TCWZ9xsm0v+WqgDlRxik4xdRttRlaw6jV1itS1qKRTdO8CGuoO5nMVX4cFkOOCWF2wl4Ol7blARntBuh0ujAOa0GijusOrD52Vdn9BkXlMMPIvW5w==
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=zp89nXlE484aF/SogIXg0jLTRzLzbU7LFmPbCM15Q2Q=;
 b=dGX1nyRGTZDzR7YKz6OcttfkhhxIzC5WcIaW3U5EH9lo7AbU/OLmWrHTECyt+QJ7wYN98GR3JE+qElsK30pNohbfruFlsbEcxaujZodnllc4BBhwn24WFTw8mJ4blUoHHP0anpG8mBTrN5AgOa8dj8s305WgxTyHBf5NSHRdn/s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.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/PVH: Use unsigned int for dom0 e820 index
Date: Thu, 18 Apr 2024 12:07:13 -0400
Message-ID: <20240418160713.27101-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SJ1PEPF00001CE9:EE_|IA0PR12MB7577:EE_
X-MS-Office365-Filtering-Correlation-Id: 75df6c57-e041-43fc-47b5-08dc5fc19de4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?JZrBPGSrf2bTz8QIL6c2SpXszP8ysdVqrl7ND0J1gKZehDtTz1sqQeeZRlzv?=
 =?us-ascii?Q?qSwouYd1m5OEcnlDScJAIhf3N11ol2sbEZCV2nxtlo3rBbCaahCAQOdu1Kil?=
 =?us-ascii?Q?+W1BxGQx84WXg5RBQj7y3mTAhVYPKIj1dichi9emUp+3oVv0LOB01UQhzaQ8?=
 =?us-ascii?Q?Nvu7cckEVNAc0S076dfK+unIOrOl345WwP5I3xOd1FRP0XoZsFfS3ntck3S3?=
 =?us-ascii?Q?s0jtjGeMtqoCx7YPcQOfPvnWOBarJaE9L11WJN9pFgVk5mRLMOVk8p2SG/Kg?=
 =?us-ascii?Q?2Tr09OhpkBUiWj+01FkgmFyrqerOZAZrvac+khWvNIjdXnecSScYLPsagxR9?=
 =?us-ascii?Q?eXHvO1AF29LCoIqFEtyut+NDUV3YlUb4/dosYa6yRIhGbU9i0VSlIgEi/YqC?=
 =?us-ascii?Q?9yfBf5Y5GHgdZh+CWuKJp1y2+KApbAs1XSTPKhdmXpF7f6IBlFMzc1fXSAuk?=
 =?us-ascii?Q?M83L/kIZkPdJsUbfTuvUuRWuFKl6vxdO1fcW2es1Db/LPK5ZPtBGv2JrUYOW?=
 =?us-ascii?Q?1sFHsyCmoODh/hjXrN+It6k9RT3DHDPCGSGJcRZqz6tXW1wjbdNpxVI1wjkZ?=
 =?us-ascii?Q?zFGLHTcsSo++w64a46jCBKT0kWRbCAGO2O/woS8Xb3Fj1c8UG8K2Uf/Iu0Cy?=
 =?us-ascii?Q?QKXzrkZHoYIhJeng5s+lwVlz9AY44gfBMOBQ+5oUy+2R4r3vZqxRTAOqGRZB?=
 =?us-ascii?Q?Of3JI7JSc+79U9/gJ0nw+0UroPJvW3LDZG9GkUNyrSEduiQgEeCiD3/6xoz+?=
 =?us-ascii?Q?3hfMiqfcgGIQyFhJT+pMwD0XjOoRvSgTnbKJ46s3zwYhQitpNzVqi6jJtEaF?=
 =?us-ascii?Q?XVRCLNLSJQcNk00LrFRG4nAfBuvF1tyzEO0vuy+9I9dsdumENAiPbAx5okCF?=
 =?us-ascii?Q?dul4rLiu1ET5N1ZxUJlUDKkpJZv9TA/ldr2yoaMz2Mpy5W2aequyXQPELsrX?=
 =?us-ascii?Q?NDCi7RCldvr09hAYnRGLwoFxP55JcigHrUCGuo02EF6wiZghOvA0kqGFCr0s?=
 =?us-ascii?Q?J0mUzLidKAQBaQ4Ru9er775EnEYR/njnqGOn8hQKAahaue5ahPVlV9QWN0Bb?=
 =?us-ascii?Q?WyC/letMXCxBhLTcj0rcQGHdHv79buiO0iQIAkqkouZRcFxcvB+SXNbOklCy?=
 =?us-ascii?Q?Eh2f30cu9nqavXBJLDDsH64oJLQwhSHpAxIWzzIcvO3h7Gjh8q+w0AyQgnrl?=
 =?us-ascii?Q?tqwtTKoVLCKNyc6W4g9J/Kai9f9FkitezUsU5XzPGwBH+VO1z/3PQXBoOuLB?=
 =?us-ascii?Q?/Bk8/EWTu8w10r9KtHmWZkc/0YhQbi2cB4nbBYMf8e2b6hk2kV4vCGQ1ox6R?=
 =?us-ascii?Q?0Oh+jBxePxZXGPedRiz5WzDjeyHAvZCb5KbCg3mNeWX4Hzyl4tMiYikYeB+d?=
 =?us-ascii?Q?x8osvH0FIyVkgpEIhXhtYYQU0pSy?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 16:07:16.0828
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 75df6c57-e041-43fc-47b5-08dc5fc19de4
X-MS-Exchange-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:
	SJ1PEPF00001CE9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7577

Switch to unsigned int for the dom0 e820 index.  This eliminates the
potential for array underflows, and the compiler might be able to
generate better code.

Requested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/arch/x86/hvm/dom0_build.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index d158f4d241..ac71d43a6b 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -569,7 +569,7 @@ static paddr_t __init find_kernel_memory(
 {
     paddr_t kernel_size = elf->dest_size;
     unsigned int align;
-    int i;
+    unsigned int i;
 
     if ( parms->phys_align != UNSET_ADDR32 )
         align = parms->phys_align;
@@ -579,7 +579,7 @@ static paddr_t __init find_kernel_memory(
         align = MB(2);
 
     /* Search backwards to find the highest address. */
-    for ( i = d->arch.nr_e820 - 1; i >= 0 ; i-- )
+    for ( i = d->arch.nr_e820; i--; )
     {
         paddr_t start = d->arch.e820[i].addr;
         paddr_t end = start + d->arch.e820[i].size;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Thu Apr 18 16:59:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 16:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708527.1107506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxV6L-0006Ob-Jd; Thu, 18 Apr 2024 16:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708527.1107506; Thu, 18 Apr 2024 16:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxV6L-0006OU-Gt; Thu, 18 Apr 2024 16:59:09 +0000
Received: by outflank-mailman (input) for mailman id 708527;
 Thu, 18 Apr 2024 16:59:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p/a5=LX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxV6J-0006OO-VL
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 16:59:08 +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 f6ff9dac-fda4-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 18:59:06 +0200 (CEST)
Received: by mail-oo1-xc2c.google.com with SMTP id
 006d021491bc7-5acdf689616so660704eaf.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 09:59:06 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 kg25-20020a05622a761900b00436eacea78fsm806851qtb.65.2024.04.18.09.59.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 09:59: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: f6ff9dac-fda4-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713459545; x=1714064345; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dccKyU0KfWYGsI6cSc9zLzaBgWf+UIljIQkWQLAEj+c=;
        b=PeAJit3OWvEgLowGz33vY+6rDiWsEKKWii2cZg4RYGEi6a0TqmPvWMhBYbrnOwn6Xd
         CEzVawzkXgaGW05NZZzYKcSlBMpTtrhCKG8JhDkepOyYQctEHnD8F5McXBj7mMfZnf0C
         JKDXXMwgHFR7iHq9UVgr15ke4xVuFgfapzQMU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713459545; x=1714064345;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dccKyU0KfWYGsI6cSc9zLzaBgWf+UIljIQkWQLAEj+c=;
        b=BHxo3wtSifVCaDvVR222f5bKpEYbvNlq4n726/kgkqudYem/DSBcC/uN360qcI2wtQ
         6HrDAafbid4dFmhNL30KyDgIMG0WzlADa9uZH7NkyaRU4pjkriTIlYTFN+pPLfGFHuVo
         ll4/5XRSCnfPurF6Ptd414mHrZ8HtEsz46tefqqtIel4IvBofBPDpDUOfH6DkLTP1vxr
         55Gmu9yTdw8MbVGuxT+88Os5mOxfpm9ASQiqYKOY0EYniCKH9Olr/gCzlO6JAnVDI2f3
         rR+ZGdPBLjvyv2cS5buXiF1nuFhtn1JLEtPr+8Uo3sUSP/Dwc+2Kb1FRAaCYS1Kmlp8g
         b/MQ==
X-Gm-Message-State: AOJu0YwjjEmbhs2cmZIw1tfCJ+YrR7s6grtj7eMuUbFG30ykptdqaBZC
	S3bidtfdNvmlG+E1ciSQTJJCZrIVR7X8/B+yQODhflOUHfndMEKnXEJ/Jwba0FE=
X-Google-Smtp-Source: AGHT+IHKAeIBPK04L2AHnDLWGEoioY8yt3z++OiHjAN3GRdWCrFDVYnrbAg9aA/hyHZI9m7goCaw+w==
X-Received: by 2002:a05:6359:2404:b0:17f:5a02:e938 with SMTP id ls4-20020a056359240400b0017f5a02e938mr4432707rwb.1.1713459544938;
        Thu, 18 Apr 2024 09:59:04 -0700 (PDT)
Message-ID: <dbf62d98-5199-4d94-a300-6c6e1beeadd4@citrix.com>
Date: Thu, 18 Apr 2024 17:59:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Rewrite DOS/PE magic checking without memcmp()
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "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: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
 <Zh92vsPzuHjTIs21@macbook> <07d373eb-2859-41dd-8bc2-834a76337947@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: <07d373eb-2859-41dd-8bc2-834a76337947@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/04/2024 12:06 pm, Jan Beulich wrote:
> On 17.04.2024 09:14, Roger Pau Monné wrote:
>> On Tue, Apr 16, 2024 at 04:52:51PM +0100, Andrew Cooper wrote:
>>> --- a/xen/common/efi/pe.c
>>> +++ b/xen/common/efi/pe.c
>>> @@ -111,7 +111,8 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
>>>      UINTN offset, i;
>>>  
>>>      if ( image_size < sizeof(*dos) ||
>>> -         memcmp(dos->Magic, "MZ", 2) != 0 )
>>> +         dos->Magic[0] != 'M' ||
>>> +         dos->Magic[1] != 'Z' )
>> For this one you could likely use strncmp()?
> strncmp() against UINT8[2] wouldn't be liked by the compiler, I guess.

Indeed.  And this MISRA rule is very much "you are mixing string and
non-string types.  Don't do that."

This is a very rare patten, where we are looking for a binary marker
than just happens to also make sense when expressed as an ASCII string.

Although the MISRA complaint does raise a good point.   The memcmp()
form would malfunction on any system with CHAR_BIT != 8, in a way that
the {u,}int8_t-at-a-time form wouldn't.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 17:19:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 17:19:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708533.1107516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxVQA-0002lr-7F; Thu, 18 Apr 2024 17:19:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708533.1107516; Thu, 18 Apr 2024 17: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 1rxVQA-0002lk-4f; Thu, 18 Apr 2024 17:19:38 +0000
Received: by outflank-mailman (input) for mailman id 708533;
 Thu, 18 Apr 2024 17: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=DNVj=LX=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rxVQ9-0002lc-1c
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 17:19:37 +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 d343139f-fda7-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 19:19:34 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a51ddc783e3so129157766b.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 10:19:34 -0700 (PDT)
Received: from [192.168.0.107] ([91.123.150.5])
 by smtp.gmail.com with ESMTPSA id
 t7-20020a1709066bc700b00a5556cd0fd5sm1137861ejs.183.2024.04.18.10.19.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 10: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: d343139f-fda7-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713460774; x=1714065574; 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=zcsi6NC0oa1drh1ht+TKgqvqfehqb/uVmoW3oEsWFWQ=;
        b=UFjnMsqfpCOQViCU6psaRLUhrQ5s5NLWBVZQsuWwIfk27ew/Hx8mWjyzPGB0nlPpHt
         C9KJdQugvCkruiSKydp/PIIW2USNTYgah3yeg7j3r5LwsYkZSQaxn8ycckWi/LLf4toU
         PAmUvTVP6sf/80/h7i1VdmWuYkzxEn1nbkNzBkBOQFqS0na+2WSsmjTxo43S0Px0VlZh
         zhV0ffUsqq7grCQSG3ZQ3kQcJ6wUs6e4EARuJk+avFPyRlpsPDeAVVo58ORBahihgetr
         8Pv1Gvq5yf1AP/6sBsK757CXRZctUVZ/kirpEmQECEW8wGSfvfiGuAyAWovrTGh+qsjx
         PTLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713460774; x=1714065574;
        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=zcsi6NC0oa1drh1ht+TKgqvqfehqb/uVmoW3oEsWFWQ=;
        b=jyKNjHIXNsLC7WhioqumPnpdYHetSS9sDnDKqx6nwYzPVOtrXkBGcvPmzkJKkJZPkE
         joZUzillGTLOYa6MNVojNP69oZxxADW3sbdSQlpWp1MuPvTIGyXrHfF/Ph/HYpJsR5IS
         vuCGGEpHzllruXmP4NZDytp8NNYavEu+mNNCP0WL7/Re368AqILzyDm3y27ypaX9puQ7
         Jkjh5A6C70aPYCG8YC8g8/kmzYthoCSNrdW3WZDgtoqEY+zUdNeVU0t3xj/1DfOzvt7u
         BGiLblB8QjnZ5rHN8ieuEal+tMlutJlQTxlfnOKmtbCQ1plhEwEG8VYiZhBPyrQGNRTL
         ewBQ==
X-Forwarded-Encrypted: i=1; AJvYcCXJZGG1IjeJXdDH7+lnZAdesxxjk16BLDpiWXqhOgsVEra3JjWa3OU+HiAqd8bnPE5eeDV9wz6IILDtKARC7DDu3MSzZckdyqCzbEpG++U=
X-Gm-Message-State: AOJu0Yxnopu/No8IGSZ51X/zQgIdDV13hMaalUkVBDJBFPDkFIIq3658
	PvJ4tlQag0FxFmhfHC5iQcZ1xy9isFezq3+k2X3ohuwAePDwSPyx
X-Google-Smtp-Source: AGHT+IHwjXrPlHyO2jWHtQVUKVzf4Ygw4sEtKbxk7BobCF3juAtiUWBLSy+17yWj13yfiTE+fqS/cw==
X-Received: by 2002:a17:906:896:b0:a53:4006:31a with SMTP id n22-20020a170906089600b00a534006031amr1864424eje.59.1713460773343;
        Thu, 18 Apr 2024 10:19:33 -0700 (PDT)
Message-ID: <318e112e-87e6-4e04-bb5b-0baf1c424b81@gmail.com>
Date: Thu, 18 Apr 2024 20:19:31 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/arm: Add i.MX UART driver
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Peng Fan <peng.fan@nxp.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
 <20240402120557.1822253-3-olekstysh@gmail.com>
 <db85de43-dd68-4362-b5c9-62ab704c7055@amd.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <db85de43-dd68-4362-b5c9-62ab704c7055@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 04.04.24 09:54, Michal Orzel wrote:
> Hi Oleksandr,

Hello Michal

sorry for the late response

> 
> On 02/04/2024 14:05, Oleksandr Tyshchenko wrote:
>>
>>
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> The i.MX UART Documentation:
>> https://www.nxp.com/webapp/Download?colCode=IMX8MMRM
>> Chapter 16.2 Universal Asynchronous Receiver/Transmitter (UART)
>>
>> Tested on i.MX 8M Mini only, but I guess, it should be
> imperative mood

ok

> 
>> suitable for other i.MX8M* SoCs (those UART device tree nodes
>> contain "fsl,imx6q-uart" compatible string).
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> ---
>> I used the "earlycon=ec_imx6q,0x30890000" cmd arg and
>> selected CONFIG_SERIAL_IMX_EARLYCON in Linux for enabling vUART.
>> ---
>> ---
>>   MAINTAINERS                 |   1 +
>>   xen/drivers/char/Kconfig    |   7 +
>>   xen/drivers/char/Makefile   |   1 +
>>   xen/drivers/char/imx-uart.c | 299 ++++++++++++++++++++++++++++++++++++
>>   4 files changed, 308 insertions(+)
>>   create mode 100644 xen/drivers/char/imx-uart.c
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 1bd22fd75f..bd4084fd20 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/imx-uart.c
>>   F:     xen/drivers/char/meson-uart.c
>>   F:     xen/drivers/char/mvebu-uart.c
>>   F:     xen/drivers/char/omap-uart.c
>> diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
>> index e18ec3788c..f51a1f596a 100644
>> --- a/xen/drivers/char/Kconfig
>> +++ b/xen/drivers/char/Kconfig
>> @@ -20,6 +20,13 @@ config HAS_IMX_LPUART
>>          help
>>            This selects the i.MX LPUART. If you have i.MX8QM based board, say Y.
>>
>> +config HAS_IMX_UART
>> +       bool "i.MX UART driver"
>> +       default y
>> +       depends on ARM_64
>> +       help
>> +         This selects the i.MX UART. If you have i.MX8M* based board, say Y.
>> +
>>   config HAS_MVEBU
>>          bool "Marvell MVEBU UART driver"
>>          default y
>> diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
>> index e7e374775d..147530a1ed 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_IMX_UART) += imx-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/imx-uart.c b/xen/drivers/char/imx-uart.c
>> new file mode 100644
>> index 0000000000..13bb189063
>> --- /dev/null
>> +++ b/xen/drivers/char/imx-uart.c
>> @@ -0,0 +1,299 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> Can it be GPL-2.0-only? Some companies are worried about v3.

I guess, it can, will change


> 
>> +/*
>> + * xen/drivers/char/imx-uart.c
>> + *
>> + * Driver for i.MX UART.
>> + *
>> + * Based on Linux's drivers/tty/serial/imx.c
>> + *
>> + * Copyright (C) 2024 EPAM Systems Inc.
>> + */
>> +
>> +#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/imx-uart.h>
>> +#include <asm/io.h>
>> +
>> +#define imx_uart_read(uart, off)          readl((uart)->regs + (off))
>> +#define imx_uart_write(uart, off, val)    writel((val), (uart)->regs + (off))
>> +
>> +static struct imx_uart {
>> +    uint32_t baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
> What's the use of these variables? AFAICT they are set but never used.

right, this is a copy paste from other UART driver, will drop

> 
>> +    uint32_t irq;
> unsigned int
> 
>> +    char __iomem *regs;
>> +    struct irqaction irqaction;
>> +    struct vuart_info vuart;
>> +} imx_com;
>> +
>> +static void imx_uart_interrupt(int irq, void *data)
>> +{
>> +    struct serial_port *port = data;
>> +    struct imx_uart *uart = port->uart;
>> +    uint32_t usr1, usr2;
>> +
>> +    usr1 = imx_uart_read(uart, USR1);
>> +    usr2 = imx_uart_read(uart, USR2);
>> +
>> +    if ( usr1 & (USR1_RRDY | USR1_AGTIM) )
>> +    {
>> +        imx_uart_write(uart, USR1, USR1_AGTIM);
>> +        serial_rx_interrupt(port);
>> +    }
>> +
>> +    if ( (usr1 & USR1_TRDY) || (usr2 & USR2_TXDC) )
>> +        serial_tx_interrupt(port);
>> +}
>> +
>> +static void imx_uart_clear_rx_errors(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
>> +    uint32_t usr1, usr2;
>> +
>> +    usr1 = imx_uart_read(uart, USR1);
>> +    usr2 = imx_uart_read(uart, USR2);
>> +
>> +    if ( usr2 & USR2_BRCD )
>> +        imx_uart_write(uart, USR2, USR2_BRCD);
>> +    else if ( usr1 & USR1_FRAMERR )
>> +        imx_uart_write(uart, USR1, USR1_FRAMERR);
>> +    else if ( usr1 & USR1_PARITYERR )
>> +        imx_uart_write(uart, USR1, USR1_PARITYERR);
>> +
>> +    if ( usr2 & USR2_ORE )
>> +        imx_uart_write(uart, USR2, USR2_ORE);
>> +}
>> +
>> +static void __init imx_uart_init_preirq(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
>> +    uint32_t reg;
>> +
>> +    /*
>> +     * Wait for the transmission to complete. This is needed for a smooth
>> +     * transition when we come from early printk.
>> +     */
>> +    while ( !(imx_uart_read(uart, USR2) & USR2_TXDC) )
>> +        cpu_relax();
>> +
>> +    /* Set receiver/transmitter trigger level */
>> +    reg = imx_uart_read(uart, UFCR);
>> +    reg &= (UFCR_RFDIV | UFCR_DCEDTE);
>> +    reg |= TXTL_DEFAULT << UFCR_TXTL_SHF | RXTL_DEFAULT;
> please surround TXTL_DEFAULT << UFCR_TXTL_SHF with parentheses

will do


> 
>> +    imx_uart_write(uart, UFCR, reg);
>> +
>> +    /* Enable UART and disable interrupts/DMA */
>> +    reg = imx_uart_read(uart, UCR1);
>> +    reg |= UCR1_UARTEN;
>> +    reg &= ~(UCR1_TRDYEN | UCR1_TXMPTYEN | UCR1_RTSDEN | UCR1_RRDYEN |
>> +             UCR1_RXDMAEN | UCR1_TXDMAEN | UCR1_ATDMAEN);
>> +    imx_uart_write(uart, UCR1, reg);
>> +
>> +    /* Enable receiver/transmitter and disable Aging Timer */
>> +    reg = imx_uart_read(uart, UCR2);
>> +    reg |= UCR2_RXEN | UCR2_TXEN;
>> +    reg &= ~UCR2_ATEN;
>> +    imx_uart_write(uart, UCR2, reg);
>> +
>> +    /* Disable interrupts */
>> +    reg = imx_uart_read(uart, UCR4);
>> +    reg &= ~(UCR4_TCEN | UCR4_DREN);
>> +    imx_uart_write(uart, UCR4, reg);
>> +}
>> +
>> +static void __init imx_uart_init_postirq(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
>> +
>> +    uart->irqaction.handler = imx_uart_interrupt;
>> +    uart->irqaction.name = "imx_uart";
>> +    uart->irqaction.dev_id = port;
>> +
>> +    if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 )
>> +    {
>> +        dprintk(XENLOG_ERR, "Failed to allocate imx_uart IRQ %d\n", uart->irq);
> Wrong format specifier for unsigned, use %u

ok

> Also, why dprintk?

the same answer, copy paste from other UART driver, will change to printk

> 
>> +        return;
>> +    }
>> +
>> +    /* Clear possible receiver errors */
>> +    imx_uart_clear_rx_errors(port);
>> +
>> +    /* Enable interrupts */
>> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) |
>> +                   UCR1_RRDYEN | UCR1_TRDYEN);
>> +    imx_uart_write(uart, UCR2, imx_uart_read(uart, UCR2) | UCR2_ATEN);
>> +}
>> +
>> +static void imx_uart_suspend(struct serial_port *port)
>> +{
>> +    BUG();
>> +}
> no need for this function
> 
>> +
>> +static void imx_uart_resume(struct serial_port *port)
>> +{
>> +    BUG();
>> +}
> no need for this function

will drop

> 
>> +
>> +static int imx_uart_tx_ready(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
> can be const

ok

> 
>> +    uint32_t reg;
>> +
>> +    reg = imx_uart_read(uart, IMX21_UTS);
>> +    if ( reg & UTS_TXEMPTY )
>> +        return TX_FIFO_SIZE;
> empty line here please

ok

> 
>> +    if ( reg & UTS_TXFULL )
>> +        return 0;
>> +
>> +    /*
>> +     * If the FIFO is neither full nor empty then there is a space for
>> +     * one char at least.
>> +     */
>> +    return 1;
>> +}
>> +
>> +static void imx_uart_putc(struct serial_port *port, char c)
>> +{
>> +    struct imx_uart *uart = port->uart;
> can be const

ok

> 
>> +
>> +    while ( imx_uart_read(uart, IMX21_UTS) & UTS_TXFULL )
>> +        cpu_relax();
> Looking at pl011, cdns, putc contains only a write to data register. This is because
> ->putc always follows ->tx_ready which contains the check for how many chars can be written.
> Therefore, AFAICT this should be dropped.

really good point, driver does implement tx_ready cb, so I will drop the 
useless check. I think, this will improve things as we won't need to 
read the hw register every time we write a single character...


> 
>> +
>> +    imx_uart_write(uart, URTX0, c);
>> +}
>> +
>> +static int imx_uart_getc(struct serial_port *port, char *pc)
>> +{
>> +    struct imx_uart *uart = port->uart;
> can be const

ok

> 
>> +    uint32_t data;
>> +
>> +    if ( !(imx_uart_read(uart, USR2) & USR2_RDR) )
>> +        return 0;
>> +
>> +    data = imx_uart_read(uart, URXD0);
>> +    *pc = data & URXD_RX_DATA;
>> +
>> +    if ( unlikely(data & URXD_ERR) )
>> +        imx_uart_clear_rx_errors(port);
>> +
>> +    return 1;
>> +}
>> +
>> +static int __init imx_uart_irq(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
> can be const

ok

> 
>> +
>> +    return ((uart->irq > 0) ? uart->irq : -1);
>> +}
>> +
>> +static const struct vuart_info *imx_uart_vuart_info(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
> can be const

ok

> 
>> +
>> +    return &uart->vuart;
>> +}
>> +
>> +static void imx_uart_start_tx(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
>> +
>> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) | UCR1_TRDYEN);
>> +}
>> +
>> +static void imx_uart_stop_tx(struct serial_port *port)
>> +{
>> +    struct imx_uart *uart = port->uart;
>> +
>> +    imx_uart_write(uart, UCR1, imx_uart_read(uart, UCR1) & ~UCR1_TRDYEN);
>> +}
>> +
>> +static struct uart_driver __read_mostly imx_uart_driver = {
>> +    .init_preirq = imx_uart_init_preirq,
>> +    .init_postirq = imx_uart_init_postirq,
>> +    .endboot = NULL,
>> +    .suspend = imx_uart_suspend,
>> +    .resume = imx_uart_resume,
> no need to assign a value for these 3 members

will drop


> 
>> +    .tx_ready = imx_uart_tx_ready,
>> +    .putc = imx_uart_putc,
>> +    .getc = imx_uart_getc,
>> +    .irq = imx_uart_irq,
>> +    .start_tx = imx_uart_start_tx,
>> +    .stop_tx = imx_uart_stop_tx,
>> +    .vuart_info = imx_uart_vuart_info,
>> +};
>> +
>> +static int __init imx_uart_init(struct dt_device_node *dev, const void *data)
>> +{
>> +    const char *config = data;
>> +    struct imx_uart *uart;
>> +    int res;
>> +    paddr_t addr, size;
>> +
>> +    if ( strcmp(config, "") )
>> +        printk("WARNING: UART configuration is not supported\n");
>> +
>> +    uart = &imx_com;
>> +
>> +    uart->baud = 115200;
>> +    uart->data_bits = 8;
>> +    uart->parity = 0;
>> +    uart->stop_bits = 1;
> They are set but never used

you are right, will drop these fields entirely


> 
>> +
>> +    res = dt_device_get_paddr(dev, 0, &addr, &size);
>> +    if ( res )
>> +    {
>> +        printk("imx-uart: Unable to retrieve the base address of the UART\n");
>> +        return res;
>> +    }
>> +
>> +    res = platform_get_irq(dev, 0);
>> +    if ( res < 0 )
>> +    {
>> +        printk("imx-uart: Unable to retrieve the IRQ\n");
>> +        return -EINVAL;
>> +    }
>> +    uart->irq = res;
>> +
>> +    uart->regs = ioremap_nocache(addr, size);
>> +    if ( !uart->regs )
>> +    {
>> +        printk("imx-uart: Unable to map the UART memory\n");
>> +        return -ENOMEM;
>> +    }
>> +
>> +    uart->vuart.base_addr = addr;
>> +    uart->vuart.size = size;
>> +    uart->vuart.data_off = URTX0;
>> +    uart->vuart.status_off = IMX21_UTS;
>> +    uart->vuart.status = UTS_TXEMPTY;
>> +
>> +    /* Register with generic serial driver */
>> +    serial_register_uart(SERHND_DTUART, &imx_uart_driver, uart);
>> +
>> +    dt_device_set_used_by(dev, DOMID_XEN);
>> +
>> +    return 0;
>> +}
>> +
>> +static const struct dt_device_match imx_uart_dt_compat[] __initconst =
>> +{
>> +    DT_MATCH_COMPATIBLE("fsl,imx6q-uart"),
>> +    { /* sentinel */ },
>> +};
>> +
>> +DT_DEVICE_START(imx_uart, "i.MX UART", DEVICE_SERIAL)
>> +    .dt_match = imx_uart_dt_compat,
>> +    .init = imx_uart_init,
>> +DT_DEVICE_END
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> --
>> 2.34.1
>>
> 
> ~Michal
> 


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 17:25:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 17:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708538.1107527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxVVy-0005Ly-Qm; Thu, 18 Apr 2024 17:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708538.1107527; Thu, 18 Apr 2024 17:25:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxVVy-0005Lr-O9; Thu, 18 Apr 2024 17:25:38 +0000
Received: by outflank-mailman (input) for mailman id 708538;
 Thu, 18 Apr 2024 17:25:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p/a5=LX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxVVy-0005Le-9G
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 17:25:38 +0000
Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com
 [2607:f8b0:4864:20::833])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab6dac8c-fda8-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 19:25:37 +0200 (CEST)
Received: by mail-qt1-x833.google.com with SMTP id
 d75a77b69052e-434a6024d0aso4854961cf.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 10:25:37 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 he28-20020a05622a601c00b00437543e5307sm829914qtb.40.2024.04.18.10.25.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 10:25:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab6dac8c-fda8-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713461136; x=1714065936; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BwnqyTAgVluM69ayMlg2eYhvfXv4Ax1d+dn03QJ3588=;
        b=h950CtKYae0jjGFgoKYgHTLQ22pq78EegJ84TS1ogzZQ72ZaduZUy+/BPOkO45+mha
         hEW+YeZcu8RhzBcxiYjqE0FnbwExa+RaAB51/SqjOkldRkbUJEn5RUN5QtQA4lF4UxQN
         L9cPa82mhkjVrnQlopp75mmVEQLG4gT4E6pgM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713461136; x=1714065936;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BwnqyTAgVluM69ayMlg2eYhvfXv4Ax1d+dn03QJ3588=;
        b=KEV2E3nxBTRKy+USvoKK9JG7EeKYhyIzSmblabqNqlqDFZVLCRYVahaklxmQmOYA7v
         PQ9GEk5wDj9wfhbu706UHzFHua35YYKaN5bd/ddT2RoTpIXvIEMlhdYtPJ3VWGASoTIY
         7nfb2thW/WVyr2cwZYZBnJvDW2PA1zwNuR1DYQCwCrA06MdECb+KDtZp233z3xiDmdH7
         OJ+fWSWGZv20ZiZwPeIjcKgl4hjY9HZKWS1ojzrLZdTIWaGkRIkNaUFq3Jw1r+knEv2A
         mDjX7EIWKs04mkPn4IluRnauAjQD71nDnUMIuorhk+ZEHIF42e48ifnM6giu2gjoX8p6
         pO9Q==
X-Forwarded-Encrypted: i=1; AJvYcCVsWOoQTJFXQZMO0l/Qse1F18ySmEOn8Ljggtoep3KiwRkTs6Wm7kJ1tVaCVlfxcgQdA86Kq22ZJswmvCteudzL2DZl3Yx1LohoGZhhzug=
X-Gm-Message-State: AOJu0YyuHLnrj6EEmC7FfhFJXr/v20WQiGQp+vJkU7RVj7tpqlWTdxEU
	j9OYlAIAiDExpsXo4HctZ0QlJxbQlKp67muWkjUus7xM+aNtNRXnpLVUClCwAZA=
X-Google-Smtp-Source: AGHT+IFaQpH3Cfi148LbfpUup4+zai1Bw1Qzn5Wb2iTDiSmWitr6X6rRm5LNpo0TnEv+HJcBIV0exw==
X-Received: by 2002:a05:622a:152:b0:431:5f79:6748 with SMTP id v18-20020a05622a015200b004315f796748mr4437550qtw.51.1713461136229;
        Thu, 18 Apr 2024 10:25:36 -0700 (PDT)
Message-ID: <183aa898-d35d-400e-a261-affeb44d881f@citrix.com>
Date: Thu, 18 Apr 2024 18:25:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Rewrite DOS/PE magic checking without memcmp()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "consulting @ bugseng . com" <consulting@bugseng.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Federico Serafini <federico.serafini@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
 <e494f047-d2be-4467-87c3-7908d98767bf@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: <e494f047-d2be-4467-87c3-7908d98767bf@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18/04/2024 12:09 pm, Jan Beulich wrote:
> On 16.04.2024 17:52, Andrew Cooper wrote:
>> Misra Rule 21.16 doesn't like the use of memcmp() between a string literal and
>> a UINT8 array.  Rewrite using plain compares.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> after having realized that sadly gcc13 instantiates the compound literals
> (that I had thought of using) in .rodata (or one of its variants), rather
> than leveraging them being as constant as string literals.

gcc10 manages to optimise both checks to a cmp{w,l}, which I did check
before sending the patch.

However, it chooses a different base register for the cmpl and there's a
sad cascade effect where a bunch of JMP disp8's turn into disp32's.

But oh well - it's init code.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 17:31:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 17:31:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708544.1107536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxVbm-0006tS-JD; Thu, 18 Apr 2024 17:31:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708544.1107536; Thu, 18 Apr 2024 17:31:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxVbm-0006tL-Ga; Thu, 18 Apr 2024 17:31:38 +0000
Received: by outflank-mailman (input) for mailman id 708544;
 Thu, 18 Apr 2024 17:31: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=p/a5=LX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxVbl-0006tC-KY
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 17:31:37 +0000
Received: from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com
 [2607:f8b0:4864:20::f35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 817dbf2e-fda9-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 19:31:36 +0200 (CEST)
Received: by mail-qv1-xf35.google.com with SMTP id
 6a1803df08f44-69b4043b7b3so6477966d6.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 10:31:36 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 s5-20020a0c8d45000000b0069b4ddcbd42sm834026qvb.0.2024.04.18.10.31.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 10:31: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: 817dbf2e-fda9-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713461495; x=1714066295; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+xz52X+4Y9HAwR57LC22qrKn3AgEkT2wtgSFIRACyzw=;
        b=lCF/4/yJc2+uRUNUKP0mZHSZVF1s0Nc8z2vnddGiTRRki0+mcdHKbJ6nV13LqnvqC0
         VNZDXb9Ol1TSCpH1EqNG/uZDn1IjNP/fQ4jX9kTYFTJCE7uFUUc5R28flEUWCu4DkjOc
         mQaFtJ/Pye1PHKUa+3VwkkEBl9TLqz7aSMC5E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713461495; x=1714066295;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+xz52X+4Y9HAwR57LC22qrKn3AgEkT2wtgSFIRACyzw=;
        b=uAlL49IMxveZISNQ0qOnn+C8+H70fVX7tW/HK08XBs94GFdVgATogsbg5Ri2HMCDnC
         G49UJLhEMcYh+93JqI3xrOg6VXLq0sHlYy1kfbrSaoXvrNCujDfa64BEvXkzeUMrY15E
         EKU6pT/YsH4VvovAwBO8eNDI+Z8nYm9xaZAR3M12zTp7Gq4pIFjzz0CJE8iB+BBsbNVO
         P4b46T4krVQ/1+CZ3As5N+Al8p3g6Fiij4yfUFW/xhKL7y6uvWSNhw0/7cWxc06s4Hcp
         5q/kv//0JUiRZuuUe+cPkXDb0LXAFwsJUTWvzfFfEyPwb4cWxjpoAvnmU2DaT8Ed/Cn4
         J04A==
X-Gm-Message-State: AOJu0Yy2rviRsoCc4z4SrJUg8S/kxHCIr+roRCHZMKy18b9gG99OlX5J
	T9VK02wfdoBooIeHIg6lyFTxiYm9xk45hYI/nqHy56b1rozh19njgt7sF9BUy3A=
X-Google-Smtp-Source: AGHT+IF7imqHHLNOj2TbKXfy2LcW9JrtA8ia8BwybblEeIEcyo5jasM1EWt0j9fEih4Gb7RoXo98Fw==
X-Received: by 2002:a0c:c206:0:b0:699:162a:b8e8 with SMTP id l6-20020a0cc206000000b00699162ab8e8mr2717805qvh.61.1713461495377;
        Thu, 18 Apr 2024 10:31:35 -0700 (PDT)
Message-ID: <00f5b490-5641-4b4f-8397-724ba95369e8@citrix.com>
Date: Thu, 18 Apr 2024 18:31:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Rewrite DOS/PE magic checking without memcmp()
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>, Stefano Stabellini
 <sstabellini@kernel.org>, "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: <20240416155251.2942504-1-andrew.cooper3@citrix.com>
 <Zh92vsPzuHjTIs21@macbook>
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: <Zh92vsPzuHjTIs21@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/04/2024 8:14 am, Roger Pau Monné wrote:
> On Tue, Apr 16, 2024 at 04:52:51PM +0100, Andrew Cooper wrote:
>> Misra Rule 21.16 doesn't like the use of memcmp() between a string literal and
>> a UINT8 array.  Rewrite using plain compares.
> The commit message makes it look like it's a type mismatch issue
> between the two elements being compared, but from my reading of the
> rule the issue is with the usage of a char pointer with memcmp().
> IOW: even if the two parameters are char pointers it would still be a
> violation.
>
> "Misra Rule 21.16 forbids the use of memcmp() against character
> arrays.  Rewrite using plain compares since checking for "PE\0\0"
> cannot be done using strncmp()."

I've tweaked the sentence to say character array, but IMO it's really
not about strncmp() which wouldn't be correct to use here even if it
happened to produce a correct answer.
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> LGTM (possibly pending the adjustment of the commit message):
>
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 18:33:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 18:33:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708550.1107546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxWZO-0002TO-Vu; Thu, 18 Apr 2024 18:33:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708550.1107546; Thu, 18 Apr 2024 18:33:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxWZO-0002TH-TI; Thu, 18 Apr 2024 18:33:14 +0000
Received: by outflank-mailman (input) for mailman id 708550;
 Thu, 18 Apr 2024 18:33: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=p/a5=LX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxWZN-0002TB-JP
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 18:33:13 +0000
Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com
 [2607:f8b0:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1aa6b516-fdb2-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 20:33:09 +0200 (CEST)
Received: by mail-ot1-x331.google.com with SMTP id
 46e09a7af769-6ebb815f688so811996a34.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 11:33:09 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 q16-20020a0cf5d0000000b0069f4808719csm866011qvm.76.2024.04.18.11.33.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 11:33: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: 1aa6b516-fdb2-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713465188; x=1714069988; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=utbWy4T2lpkUvK/Qg78BBLSoUSYS1nJW1HGyJWaw7Lo=;
        b=Nb8JW3t1XIgL4iDW+HHu+0Wdg1Wg3CZJdkrNdvubinhE2pp93OEeY4hP+AxW9x4Sp1
         f5QyFZOb32VVXBOHJGG8dRKsan/BqANvuD4L5EWbi2GXMRL4pcTF6jc89GvfLKX4HgvJ
         Vx+0d2kBwp82jszYBSwpyFIA8QIdtmziRCgMU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713465188; x=1714069988;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=utbWy4T2lpkUvK/Qg78BBLSoUSYS1nJW1HGyJWaw7Lo=;
        b=ROYqwdWazbfvklPTTz0GtIwKzuLuvj5wzUxc2D3C+vNz5FuneDd3IAdkamUtIc2Wv0
         Gd8OJemo1/RWMtkdVNXR29vc9NiXnxn6dY3XBNaJ7X0pvVMbwGRfp7o5j3P6M/PhgQKn
         3CZkgRxHL4FaUmDCbnpYcfBDd9/6hJYdLf/RMrypt9sQtuDb/IA4ZiJ28zJroeJPjSoi
         BkhjPslYVdVp9jdJFc9D4Rrc1zQo+SaT+JX1RoHfnbWSFSOpMdA5dkbIlZyHIr2V1JBI
         syHTL/kTpe1Z2Ecjc0qwZGQss7npUf4A0lkU61uYMDVjYZdEc1tHk8XfCATncYImlIKi
         Ufhw==
X-Forwarded-Encrypted: i=1; AJvYcCVFTknJ4J9YMkcMTx51oM+eTepDTBwYZBKXZScHq85X9Z3nvpXFw46184o1gj7FyFhaEKClJjpe2HrM/lvWso1mfU+t3smjRJ/CvlpHkMs=
X-Gm-Message-State: AOJu0YwB8QqQaXrrztxN9gU9ywHnEAEO+TqAqMnP8isMcF8znmncU9Lo
	9t751uiRsrRPmDMpgpd9seFFj2WIES+nFEftW9g2YsHacRRcItrgtgU8QyMve/s=
X-Google-Smtp-Source: AGHT+IGEKddhiN8f/dNr9S0dv7P7QboW7/U7frQHwYTUTQC8duyVf1kFW8nKLmVJFb9+jEXjhWAYTg==
X-Received: by 2002:a05:6358:793:b0:17f:8815:ef23 with SMTP id n19-20020a056358079300b0017f8815ef23mr53765rwj.10.1713465188142;
        Thu, 18 Apr 2024 11:33:08 -0700 (PDT)
Message-ID: <e25ae134-a510-432a-a9a3-b6ebac8c31c6@citrix.com>
Date: Thu, 18 Apr 2024 19:33:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] docs/misra: mark the gzip folder as adopted code
To: Jan Beulich <jbeulich@suse.com>,
 Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>
References: <2970c1010e227ca1460c5656d13fb87a05d87f29.1713174475.git.federico.serafini@bugseng.com>
 <d62f622b-65b4-4e37-87db-3cc88c89da67@citrix.com>
 <eb82270c-52f2-49f9-9aaa-72906e5b9b97@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: <eb82270c-52f2-49f9-9aaa-72906e5b9b97@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/04/2024 8:39 am, Jan Beulich wrote:
> On 15.04.2024 17:44, Andrew Cooper wrote:
>> On 15/04/2024 10:56 am, Federico Serafini wrote:
>>> Mark the whole gzip folder as adopted code and remove the redundant
>>> deviation of file inflate.
>>>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> I hadn't realised that we had a special case like this.  Definitely
>> better to get rid of it.
>>
>> I've pulled this into my `for-next` branch, and will get it committed
>> properly when OSSTest (our non-gitlab CI) is in a happier state.
> Hmm. Considering Daniel's work (which I'll comment on separately), is this
> really going to remain "adopted"? We're about to diverge to a degree where
> simply taking patches from the original source isn't going to work anymore.
> IOW I think we want either Daniel's work (and perhaps follow-on adjustments)
> or marking of that code as adopted.

inflate.c is was from Linux in 2010.  There's only one build fix and one
comment change in Linux since 2010, whereas Xen's copy has seen several
bugfixes and cleanups.

gunzip.c has floated around rather more (it was originally some glue
code in bZImage.c) but it was entirely rewritten first, to support other
types of decompression (we did this differently in Xen), and second to
support KASLR.


In both cases, there's not an upstream to usefully track, and we
probably take ownership.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 18:59:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 18:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708557.1107556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxWye-0007Vi-UG; Thu, 18 Apr 2024 18:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708557.1107556; Thu, 18 Apr 2024 18: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 1rxWye-0007Vb-Re; Thu, 18 Apr 2024 18:59:20 +0000
Received: by outflank-mailman (input) for mailman id 708557;
 Thu, 18 Apr 2024 18:59: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=DNVj=LX=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1rxWyd-0007VV-EP
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 18:59:19 +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 c1f27d00-fdb5-11ee-b909-491648fe20b8;
 Thu, 18 Apr 2024 20:59:18 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a526d0b2349so141731866b.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 11:59:18 -0700 (PDT)
Received: from [192.168.0.107] ([91.123.150.5])
 by smtp.gmail.com with ESMTPSA id
 x16-20020a1709060a5000b00a5575c9d5b4sm944870ejf.63.2024.04.18.11.59.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 11: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: c1f27d00-fdb5-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713466757; x=1714071557; 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=JfZGFScoM/c3mBjw8pj4N1ymTLuxEYYQasyhDqctCCI=;
        b=KKlDl952DZmgd68mhdChUtgSmseD2SqR1MfpBgj0uaBV5JklcsTnC97CadbfQ2skWE
         N61MQQnxuiSsULSQH8jF6nhMTAgM59foAuxBkF8CjJohuAdLJMn2Io/rGClLPhHd3KBk
         t0k1cekJf608KUTStHAjzOxRpfJoZk6XW/ACS6kw/6fGZGgByk7a1IWvVkUgmUsNKGwb
         aIK1FstTKJ8uwi4e9mmxqngxSl/iI9LZOMltt7PniCEsQN++6+e2OX+CGWnw/AdjNLMe
         UYXqrEO/6JsuQWiRdSivycI427DiGl2l6LvqiykdfedsAGbEkDK3Z84ARzT4j0yTo2nu
         bZBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713466757; x=1714071557;
        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=JfZGFScoM/c3mBjw8pj4N1ymTLuxEYYQasyhDqctCCI=;
        b=NmUHSvwj5pHE4mLr+nHe3f6oANcFjKvGOAbhXwZu/bp54jEKrg2vGcQ790AUwZcaJa
         UwTvJ+xVn/L6VqJPjP1j+IsHlqBuxnScW26Tic071Oj2u09WHHNmq9mUA6zX1X8I/9vW
         pDRK0gexFK7nn513/iK08MUkITVlsIvPgvI+6bDSZJ3IilyPHPQIVhJVJS84x5xWBYnt
         BIm/+B5RSzbbe4F5B0eCA0ljFfSiWr+KAGtvWk5PpW47svjLPt94MqjX0nI/esFKB9oQ
         lmvSMDAmrymH0nRb8WT/wp9GFZ1pewLiomjokq8Pz1A9sja41NorrwYmtYcfsENavCCD
         QtmQ==
X-Forwarded-Encrypted: i=1; AJvYcCXr/wmTu0/dIx7PtiHlMPG+9cLOTJeGdnB34c9I5VouQBetbFKkbk1TfWhcuv4OE0ty+d5OkfkA34qCRKD919M8pL735qC3JIva6Fk2d2U=
X-Gm-Message-State: AOJu0YzZuyXt4xewEA+h9ipdEqGTZfiFqcXOClKoIhNXsVhYUdjH9tjJ
	xOTRLdg9TEk3Yr0cCpedhFgEcHsB7oxagaaQf4vJhOW5rlgeT2sr
X-Google-Smtp-Source: AGHT+IEaUMU/N/guC4J5mMlLDr26LjlRjRwfmXeIrSCnVgeumUQz+FX9P1ZjBX5gOWl7YdPNqyiZ4g==
X-Received: by 2002:a17:906:3196:b0:a52:6e3b:fcf1 with SMTP id 22-20020a170906319600b00a526e3bfcf1mr20694ejy.17.1713466757393;
        Thu, 18 Apr 2024 11:59:17 -0700 (PDT)
Message-ID: <140a0491-b035-4173-918f-f4524cbebf33@gmail.com>
Date: Thu, 18 Apr 2024 21:59:15 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/arm: Add i.MX UART driver
To: Peng Fan <peng.fan@nxp.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240402120557.1822253-1-olekstysh@gmail.com>
 <20240402120557.1822253-3-olekstysh@gmail.com>
 <DU0PR04MB94177A1E6DF1689353FD447C88012@DU0PR04MB9417.eurprd04.prod.outlook.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <DU0PR04MB94177A1E6DF1689353FD447C88012@DU0PR04MB9417.eurprd04.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 07.04.24 05:43, Peng Fan wrote:
> Hi Oleksandr,

Hello Peng

> 
>> Subject: [PATCH 2/2] xen/arm: Add i.MX UART driver
>>
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> The i.MX UART Documentation:
>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
>> nxp.com%2Fwebapp%2FDownload%3FcolCode%3DIMX8MMRM&data=05%7
>> C02%7Cpeng.fan%40nxp.com%7C6ada06c4133849667f3608dc530d5471%7
>> C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6384765639197564
>> 70%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMz
>> IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=RmXgAMb7
>> wFZ7epZgYgHJo4LH35rzQhD05yTXSkttXbc%3D&reserved=0
>> Chapter 16.2 Universal Asynchronous Receiver/Transmitter (UART)
>>
>> Tested on i.MX 8M Mini only, but I guess, it should be suitable for other
>> i.MX8M* SoCs (those UART device tree nodes contain "fsl,imx6q-uart"
>> compatible string).
> 
> Good to see people are interested in XEN on 8M.
> I had an implementation back in 2015, you could take a look.

Thanks.


When I was googling for what was publicly available on Xen exactly for 
i.MX 8M Mini (before start writing this driver), I didn't find that 
implementation.

Interesting to compare


[snip]


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 19:49:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 19:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708569.1107569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxXl3-0000DE-CM; Thu, 18 Apr 2024 19:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708569.1107569; Thu, 18 Apr 2024 19:49:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxXl3-0000D7-9d; Thu, 18 Apr 2024 19:49:21 +0000
Received: by outflank-mailman (input) for mailman id 708569;
 Thu, 18 Apr 2024 19:49:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QcTt=LX=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxXl1-0000D1-UY
 for xen-devel@lists.xenproject.org; Thu, 18 Apr 2024 19:49:19 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bdbfbf84-fdbc-11ee-94a3-07e782e9044d;
 Thu, 18 Apr 2024 21:49:17 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 050134EE0742;
 Thu, 18 Apr 2024 21:49: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: bdbfbf84-fdbc-11ee-94a3-07e782e9044d
MIME-Version: 1.0
Date: Thu, 18 Apr 2024 21:49:16 +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, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] automation/eclair_analysis: substitute deprecated
 service
In-Reply-To: <eb04d2c3-5667-4f71-a2a2-ee8e108c2880@suse.com>
References: <4850cedd9680e521cfac350930b24af19cdf1ab8.1713338908.git.nicola.vetrini@bugseng.com>
 <2d890f61-6f51-4d64-844e-24207805a65c@suse.com>
 <d0896c61235cb9f071cb0586fe87ee46@bugseng.com>
 <eb04d2c3-5667-4f71-a2a2-ee8e108c2880@suse.com>
Message-ID: <342ba95f9f424fce2d71588640474651@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-04-18 17:15, Jan Beulich wrote:
> On 18.04.2024 17:00, Nicola Vetrini wrote:
>> On 2024-04-18 09:22, Jan Beulich wrote:
>>> On 17.04.2024 16:51, Nicola Vetrini wrote:
>>>> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
>>>> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
>>>> @@ -44,8 +44,8 @@
>>>>  -doc_end
>>>> 
>>>>  -doc_begin="See Section \"6.19 Structures with No Members\" of
>>>> "GCC_MANUAL"."
>>>> --config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
>>>> --config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
>>>> +-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
>>>> +-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
>>>>  -doc_end
>>> 
>>> I'm irritated by this, which may be in part because of too terse a
>>> description.
>>> "emptrecd" looks like an abbreviation of "empty record" to me, in 
>>> line
>>> with
>>> "Structures with No Members". "anonstct" otoh looks an abbreviation 
>>> of
>>> "anonymous structures" to me, which is something different 
>>> (structures
>>> without
>>> names).
>> 
>> I'm afraid I can't do much about this. From a functionality standpoint
>> there is no difference for Xen.
> 
> What I'm pretty sure you can do is provide a patch description that
> allows readers to understand anything seemingly (or actually) 
> anomalous.
> 
> Jan

Ok

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 18 23:17:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 18 Apr 2024 23:17:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708596.1107604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxb0J-0001Ey-IO; Thu, 18 Apr 2024 23:17:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708596.1107604; Thu, 18 Apr 2024 23:17: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 1rxb0J-0001Er-Dk; Thu, 18 Apr 2024 23:17:19 +0000
Received: by outflank-mailman (input) for mailman id 708596;
 Thu, 18 Apr 2024 23:17:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rxb0H-0001ER-VU; Thu, 18 Apr 2024 23:17: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 1rxb0H-0003e1-R0; Thu, 18 Apr 2024 23:17: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 1rxb0H-0001AX-FI; Thu, 18 Apr 2024 23:17:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxb0H-0007i7-Eu; Thu, 18 Apr 2024 23:17:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Gh1lliDNApECnLRokhrOB4V9TXI35ymdUcM9c4KJ7kQ=; b=MtzHadAVD1pc4eBN2XurVzdT+9
	MIR24aH9u1q10LlQE6U+wRleLVJXYNQEhpkjaMM/VZvwJ/CRz2Qg7gse371Y+TlmNycHUjpBWmA4H
	ZUS/1sWz5bKp5HxahtssGqGhhb3mcuTV1gymMm76VjGanWysDt/omt4dOGiv1vHuyM8U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185730-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185730: 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=8763eb782b2c349efb44900ebe82369bf89e0568
X-Osstest-Versions-That:
    xen=2a9a19be134ee345831a0d5595a3050c50680466
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 18 Apr 2024 23:17:17 +0000

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

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                  8763eb782b2c349efb44900ebe82369bf89e0568
baseline version:
 xen                  2a9a19be134ee345831a0d5595a3050c50680466

Last test of basis   185727  2024-04-18 12:03:57 Z    0 days
Testing same since   185730  2024-04-18 20:03:41 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>
  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
   2a9a19be13..8763eb782b  8763eb782b2c349efb44900ebe82369bf89e0568 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 00:27:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 00:27:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708604.1107613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxc6H-00059o-9W; Fri, 19 Apr 2024 00:27:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708604.1107613; Fri, 19 Apr 2024 00:27:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxc6H-00059h-6o; Fri, 19 Apr 2024 00:27:33 +0000
Received: by outflank-mailman (input) for mailman id 708604;
 Fri, 19 Apr 2024 00:27: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 1rxc6F-00059X-Np; Fri, 19 Apr 2024 00:27: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 1rxc6F-0005ME-Ea; Fri, 19 Apr 2024 00:27: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 1rxc6F-0002l2-07; Fri, 19 Apr 2024 00:27:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxc6E-0002DD-Vr; Fri, 19 Apr 2024 00:27: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=B5oY50dMbzJMeYPnRPb192LXgrwVOrjWszSTvo6Ws5E=; b=ZZ2DDv++Hgm3dOscjIlv4PQpgv
	s2FhGRpIsvs9JMkIP/CULr5pOiONf2pIBWzL8ueerTIXiXN7Yo5e1FK6WNNyURqK2cz5dKzJNCE8V
	ZCmB9cF6M1McRBclleJ6JLyslaDh0u5uVuoODy1xVEI/bl8abI64QBJ4jSADxc99HMPQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185729-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185729: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-amd64:xen-build:fail:regression
    xen-unstable:build-amd64-prev:xen-build:fail:regression
    xen-unstable:build-amd64-pvops:kernel-build:fail: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: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: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-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-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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
    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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=2a9a19be134ee345831a0d5595a3050c50680466
X-Osstest-Versions-That:
    xen=ad363fb17d720f1ad047775e1d7b70158f546c46
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Apr 2024 00:27:30 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 185712
 build-amd64-prev              6 xen-build                fail REGR. vs. 185712
 build-amd64-pvops             6 kernel-build             fail REGR. vs. 185712

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
 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
 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-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-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185712
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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                  2a9a19be134ee345831a0d5595a3050c50680466
baseline version:
 xen                  ad363fb17d720f1ad047775e1d7b70158f546c46

Last test of basis   185712  2024-04-17 07:07:24 Z    1 days
Testing same since   185729  2024-04-18 15:37:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.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                                                  fail    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             fail    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            fail    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       blocked 
 test-xtf-amd64-amd64-2                                       blocked 
 test-xtf-amd64-amd64-3                                       blocked 
 test-xtf-amd64-amd64-4                                       blocked 
 test-xtf-amd64-amd64-5                                       blocked 
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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                                 pass    
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 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                                  pass    
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 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                                     pass    
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                pass    
 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                                    pass    
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      blocked 
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      blocked 
 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 2a9a19be134ee345831a0d5595a3050c50680466
Author: Julien Grall <jgrall@amazon.com>
Date:   Wed Apr 17 13:46:55 2024 +0100

    Revert "public: s/int/int32_t"
    
    This reverts commit afab29d0882f1d6889c73302fdf04632a492c529.
    
    This is breaking the build. I mistakenly committed the wrong version.
    
    Signed-off-by: Julien Grall <jgrall@amazon.com>

commit 83e081b29e52b0ea946e30677e9caf86e9bcbc65
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Fri Apr 12 08:16:24 2024 +0200

    docs: arm: Update where Xen should be loaded in memory
    
    Since commit 6cd046c501bc ("xen/arm: Enlarge identity map space to 10TB")
    Xen can be loaded below 10 TiB. Update docs accordingly.
    
    Take the opportunity to update stale links to Linux docs.
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

commit afab29d0882f1d6889c73302fdf04632a492c529
Author: Stefano Stabellini <stefano.stabellini@amd.com>
Date:   Tue Apr 9 16:19:21 2024 -0700

    public: s/int/int32_t
    
    Straightforward int -> int32_t and unsigned int -> uint32_t replacements
    in public headers. No ABI or semantic changes intended.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 01:46:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 01:46:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708614.1107627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxdKR-0000II-Q3; Fri, 19 Apr 2024 01:46:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708614.1107627; Fri, 19 Apr 2024 01:46:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxdKR-0000IA-My; Fri, 19 Apr 2024 01:46:15 +0000
Received: by outflank-mailman (input) for mailman id 708614;
 Fri, 19 Apr 2024 01:46: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=52U1=LY=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rxdKQ-0000I3-FH
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 01:46:14 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2408::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9661c941-fdee-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 03:46:07 +0200 (CEST)
Received: from BYAPR05CA0087.namprd05.prod.outlook.com (2603:10b6:a03:e0::28)
 by CY8PR12MB7314.namprd12.prod.outlook.com (2603:10b6:930:52::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.41; Fri, 19 Apr
 2024 01:46:03 +0000
Received: from CO1PEPF000042AD.namprd03.prod.outlook.com
 (2603:10b6:a03:e0:cafe::1b) by BYAPR05CA0087.outlook.office365.com
 (2603:10b6:a03:e0::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.11 via Frontend
 Transport; Fri, 19 Apr 2024 01:46:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042AD.mail.protection.outlook.com (10.167.243.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 01:46: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.35; Thu, 18 Apr
 2024 20:46:02 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 18 Apr 2024 20:45: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: 9661c941-fdee-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lD0tAXObu3h03zbTVWjw9zvykwUi/nyimlVaZDVwTxwut0PLjGWIBzLexv1jJ/4Aifm0lqfUFx/ByOtp+htEgoTZbHT/dmvFIg/WcVqMSTmiX/UYuDsccthmaGH78jxNQrRonaDI5XBAppZKbMyxOFcBaM+SSnyBhOJK1a5p07c+Qyohiq9teSOlrizi9+yhyysoRKI+8h9g/+31kZPhkpiPPaRvKlGAVhlLgDOPt/xFWoii2KkPL4uj2ye1zVr87uSAPcxCj9SFC9rTwZLAZTYUrmgJ98BMyQeiWi1c+bgnicOnVHpXe12JC23Mmbw3kgkUV7VLhfSeEPMrhtiJtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oo8USQeSLxengWlGMk0sPhLjL3ovSB4zRhIdGMoYv7Q=;
 b=ARze5Es99Nwg4GoFXCnTeHrsMsshWMQ5656IsLe5Hbp3RlqSurnaaFv4QRDqD6UNtVpo5/U3atBYTbuvKVKpVCNUdzlACxWQZWe4ciVFfHHKi9zTXk/M9vZXJ7Z3+WBZO64ka9w4Xmh45EEDna2bub6Kc0DZq4kM+XqysBj6cgn12e0my/eniSc1KFNLsatJLqPdYDfUvI3gzsv/S7M+AFyDxfs2/NR19RLwI7Ui+Ev3CcuCW3LqPCMFor/0HOOLtkbXG1H8N8CqFKWwSKpjwt8di/IPo7qxeTSx9BENluIszZ78LtqqqZNuAE+QXE6CrH0OLMM12x6mxIrnFz3OiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=apertussolutions.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=oo8USQeSLxengWlGMk0sPhLjL3ovSB4zRhIdGMoYv7Q=;
 b=Ixiy3HiNOM1NRo6MMSPzQnP1aYeeZxebcIk9XdDzk7ZJZWvAbrGjWNikNIWX3y4oBEKz5c6yh1C23/NqAvRrfR/DlG5/mJBnLoK9JMkx6LAHo7T7YAnOoZKSOnyNh6ALo8ZddMPPoyujEDi9NEVG8mu0d4xtXeIDGcICB1dqVXQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <d879969f-8883-416f-bf9e-a358f53c593e@amd.com>
Date: Fri, 19 Apr 2024 09:45:58 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/5] DOMCTL-based guest magic region allocation for 11
 domUs
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <c7857223-eab8-409a-b618-6ec70f6165aa@apertussolutions.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <c7857223-eab8-409a-b618-6ec70f6165aa@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AD:EE_|CY8PR12MB7314:EE_
X-MS-Office365-Filtering-Correlation-Id: 825f10a7-6e41-43bd-a7c4-08dc601278a0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iI9lXjvT+/z8U5nIXmP9S1NqSk+93S4K03PAC18/R5xKCXwcKbVwJJhFSOvZh2QyLBybV+6Bol32eF2zDnVabYt511R/FynmHEKuW1QsjTIaJRkwq3a5afVeXQ/HwH9ehlcovzmRSGHqg5EpAe4HuPqvEL59n7OYh99xY2t/8+dh++vbLQ1h1vS9QgUf5U624+JoKCetxeYwM3psuRI9NhDUXXZQEFPeN5OefXUtMsC+0LmBaHhBkHvABXUkcOfMBwrGM9JeZRBqN/QitBisBx70UqPrcAS2uPozBPnHf16Sxi/PDyAvRhFCKHrGUj5PdsID3dA3L2eTv/3N97JBB2tolKgERha21Uod9oG8Sm2ur4fCVLUD2jc6p7lWb+zXFgHRzMWw+hHQvTxkslILAT6sr+QdlmC/c7U/kg56nEdU0OEvOT0dcWXE0X5k2C6jkNaoIWulGCp/Qe7XkKmNbmMGmRWqovSrYj04B4KcDamTwx0LQwHUft8v1Zm60r6IhuN+Bt5VFi8+//6lGjfvrkCkePqrfRYBFEMZoqnoITIvcmAibRcFV1YihG7Cnxmy5QqLzGwiryUNuQfnGS2ZghnJ6jx7h+OQKjbEok9y2Op2aeuTN1mmXV7kKBzXOs29dTfckVPUmgjVgxeNk2nGoxxjv6UgxjlA9+bzA4vmnes5e5Ybl4WKbKBEZA7aLHW3Ay6XI9jM4lJXswcbGbP/+ezn7E2zt2mAinKXmsZ9doVY8r8p1T8k0bBvZiBn8CTi
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(7416005)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 01:46:02.7834
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 825f10a7-6e41-43bd-a7c4-08dc601278a0
X-MS-Exchange-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:
	CO1PEPF000042AD.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7314

Hi Daniel,

On 4/18/2024 10:16 PM, Daniel P. Smith wrote:
> On 4/9/24 00:53, Henry Wang wrote:
>> An error message can seen from the init-dom0less application on
>> direct-mapped 1:1 domains:
>> ```
>> Allocating magic pages
>> memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
>> Error on alloc magic pages
>> ```
>>
>> This is because populate_physmap() automatically assumes gfn == mfn
>> for direct mapped domains. This cannot be true for the magic pages
>> that are allocated later for 1:1 Dom0less DomUs from the init-dom0less
>> helper application executed in Dom0. For domain using statically
>> allocated memory but not 1:1 direct-mapped, similar error "failed to
>> retrieve a reserved page" can be seen as the reserved memory list
>> is empty at that time.
>>
>> This series tries to fix this issue using a DOMCTL-based approach,
>> because for 1:1 direct-mapped domUs, we need to avoid the RAM regions
>> and inform the toolstack about the region found by hypervisor for
>> mapping the magic pages.
>
> Hey Henry,
>
> To help provide some perspective, these issues are not experienced 
> with hyperlaunch. This is because we understood early on that you 
> cannot move a lightweight version of the toolstack into hypervisor 
> init and not provide a mechanism to communicate what it did to the 
> runtime control plane. We evaluated the possible mechanism, to include 
> introducing a new hypercall op, and ultimately settled on using hypfs. 
> The primary reason is this information is static data that, while 
> informative later, is only necessary for the control plane to 
> understand the state of the system. As a result, hyperlaunch is able 
> to allocate any and all special pages required as part of domain 
> construction and communicate their addresses to the control plane. As 
> for XSM, hypfs is already protected and at this time we do not see any 
> domain builder information needing to be restricted separately from 
> the data already present in hypfs.
>
> I would like to make the suggestion that instead of continuing down 
> this path, perhaps you might consider adopting the hyperlaunch usage 
> of hypfs. Then adjust dom0less domain construction to allocate the 
> special pages at construction time. 

Thank you for the suggestion. I think your proposal makes sense. However 
I am not familiar with the hypfs so may I ask some questions first to 
confirm if I understand your proposal correctly: Do you mean I should 
firstly find, allocate and create mapping for these special pages at the 
dom0less domU's construction time, then store the GPA in hypfs and 
extract the GPA from init-dom0less app later on? Should I use existing 
interfaces such as xenhypfs_{open,cat,ls, etc} or I may probably need to 
add new hypercall ops?

> The original hyperlaunch series includes a patch that provides the 
> helper app for the xenstore announcement. And I can provide you with 
> updated versions if that would be helpful.

Thank you, yes a pointer to the corresponding series and patch would be 
definitely helpful.

Kind regards,
Henry

>
> V/r,
> Daniel P. Smith



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 02:27:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 02:27:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708622.1107643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxdyK-0007nb-0o; Fri, 19 Apr 2024 02:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708622.1107643; Fri, 19 Apr 2024 02:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxdyJ-0007nU-UI; Fri, 19 Apr 2024 02:27:27 +0000
Received: by outflank-mailman (input) for mailman id 708622;
 Fri, 19 Apr 2024 02: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=52U1=LY=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rxdyJ-0007nO-7m
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 02:27:27 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2415::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5aa6998f-fdf4-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 04:27:24 +0200 (CEST)
Received: from SA1PR02CA0013.namprd02.prod.outlook.com (2603:10b6:806:2cf::11)
 by MW4PR12MB6826.namprd12.prod.outlook.com (2603:10b6:303:20c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Fri, 19 Apr
 2024 02:27:20 +0000
Received: from SN1PEPF0002636E.namprd02.prod.outlook.com
 (2603:10b6:806:2cf:cafe::38) by SA1PR02CA0013.outlook.office365.com
 (2603:10b6:806:2cf::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend
 Transport; Fri, 19 Apr 2024 02:27:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636E.mail.protection.outlook.com (10.167.241.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 02:27:20 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 18 Apr
 2024 21:27:18 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 18 Apr
 2024 19:27:14 -0700
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 18 Apr 2024 21:27:11 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5aa6998f-fdf4-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZN4RyI+PU8yz3ZZsA/mqNC0k/2r4BuypUnXXFvDnj+c2DMNUcML1DtBYwEwqKd6XRyZXmSB0ZD353PZXNhO9o+BqVQLqU1LgyFC3nhcz05PXx1VT3dQ+FuVFXpA8DxEI8XQrJGTVsuSkrQdxWCXVjUVioFFQynHlTAn/W+hlv0W/nnHgwD0l+1ABersOOBBt+kmQtSz0oTiY7lEWwkdb0GAySDtpLyjYpxb/aDi+FRJ9HVnP2zYT4EJHRCyS9l6iDCYusO8OR69Z8uqa1EntXnTWJBEkghSh2PMd3GvYpKR22ooTKcfckAYGKHyCxpmbsUmj4+nCU8/cCr+75HeZeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L08/V9RoPBCV4Ouu/mBWPc5rRZ3PXDyRzfaE62nNzF8=;
 b=ZWgQfDOiOeO/eQVscQBiIxpLAhgGJ02Q9D0eFgPdcHlnszrIlR9uM+/8TRrILIhj3Po7lVEuAA81XVYFbNYwVUng4fnM1KFs1wwxQR2BCzA/uwUTUwMrahfKB0B4YFGtMuJgAn72VCAQ1n4trVyaZFWtmOdx92W4KCxr7VWWcNtB0ic2eR7DqF2JYUMd60+KogigFUJLsmfBX1XIYwtAU00gP6nKhan9CSI/iObV+Vh74tq47N6BSeVme7j3q3eCQHC6/iHWd8eQepX50QIFcxHebR4wBIwIW8SW+mfffDxhYH4jIZnoSaDif4QpZny6T2ZcjiSTcu04Lxu7SaNtYA==
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=L08/V9RoPBCV4Ouu/mBWPc5rRZ3PXDyRzfaE62nNzF8=;
 b=O/Dgt13UGJSCyzPDxPkfjBHKH0Q1QR3ulOY3ZKIDGEQPQhf4qsYxoB5V7B3g3w+eS4yKpXWpIE0DfiEwfHgDHN/gWASwMw0QbxielyEG6DzLxspoMqt0jlX4/JHdqOO/X0orh5liU2vYoaubBc9Jc6ndc+0c5umhd4tde2lL7u0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <2e273d57-cd9b-4e05-a9c4-bd9782884e23@amd.com>
Date: Fri, 19 Apr 2024 10:27:11 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/5] xen/domctl, tools: Introduce a new domctl to get
 guest memory map
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Alec Kwapis <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <20240409045357.236802-2-xin.wang2@amd.com>
 <e3f7b726-f7df-4aee-b69f-638cf492d18b@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <e3f7b726-f7df-4aee-b69f-638cf492d18b@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636E:EE_|MW4PR12MB6826:EE_
X-MS-Office365-Filtering-Correlation-Id: e0936c8d-9a92-4070-5019-08dc60183d47
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ph5Tlk+kP8awR9IFgnx28jLp0gU1nxTPgP/p4VeSeFbMxEiz1kf6Q3NdD7n8YxrDfTbjuIh4SyL8MAii5XwH2QMKNKZHEcAAUW5o9sMeY+p4uktEtAKCaTZn1KJEEwCiEKI8ZOU/BYg5YbsKJ7MY4+GEL8L171EaEK++5BjVlHaFaYSxQwATnKaBgqMiuGl0VQC/erVB7uEOms0KYJVcERcKABFYRkml0vXrsdGo+AFQN3LmODvTx54nqW6dnn9Xy2Dli2Rh8z+2rjke3IcwZl7hyrhDWWk1LqWlxxtCq3GDSP+c14pY+Vm50RXvXbBaKKtYYKQaipjQRKC1lBVzf1Nq3OTz95EVHz4w4LJfjRXiFMQIjkUCgEu8tuybTyXaIv0BV/eJPQNM8g4u0IVbnSgjlRSAsFBv0g3hH1UbzATI//HhW6ix/qnv0yJtfDwA1xwArXuXvc8hIKrDDSAa1CuLq74uNVDIjrYmIprMtPUxJFfystOg3Dkob/8kP3hqdRAs+JmP6Y3k/2AOOr4q1NDbGdvKQvG0GIWCYm0jlqrmez7XAVOdXwefk4wwL8VSq03KhceGTkHJ4wiul77Gv86ZP4v8RUGvLXCgnQjG199XZDyDcN2Yqzob+4/KtfvE3eBOXBwVgbqA2RjPHI1/+MBZDyafbxXZS+jOEjO4OPRKi05YBfnVpg+Zh5h4/1IYPJIsVlNE1zl2rq7QwMTK/KG/vNaPNIVnLAH1+kk1AlRgIOGZaQI+y+2iEKX+NwHn
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(7416005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 02:27:20.2708
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e0936c8d-9a92-4070-5019-08dc60183d47
X-MS-Exchange-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:
	SN1PEPF0002636E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6826

Hi Jan,

On 4/18/2024 8:37 PM, Jan Beulich wrote:
> On 09.04.2024 06:53, Henry Wang wrote:
>> --- a/tools/libs/ctrl/xc_domain.c
>> +++ b/tools/libs/ctrl/xc_domain.c
>> @@ -697,6 +697,43 @@ int xc_domain_setmaxmem(xc_interface *xch,
>>       return do_domctl(xch, &domctl);
>>   }
>>   
>> +int xc_get_domain_mem_map(xc_interface *xch, uint32_t domid,
>> +                          struct xen_mem_region mem_regions[],
>> +                          uint32_t *nr_regions)
>> +{
>> +    int rc;
>> +    uint32_t nr = *nr_regions;
>> +    struct xen_domctl domctl = {
>> +        .cmd         = XEN_DOMCTL_get_mem_map,
>> +        .domain      = domid,
>> +        .u.mem_map = {
>> +            .nr_mem_regions = nr,
>> +        },
>> +    };
>> +
>> +    DECLARE_HYPERCALL_BOUNCE(mem_regions, sizeof(xen_mem_region_t) * nr,
>> +                             XC_HYPERCALL_BUFFER_BOUNCE_OUT);
>> +
>> +    if ( !mem_regions || xc_hypercall_bounce_pre(xch, mem_regions) || nr < 1 )
> Why the nr < 1 part? For a caller to size the necessary buffer, it may want
> to pass in 0 (and a NULL buffer pointer) first.

I will drop this nr < 1 part.

>> @@ -176,6 +175,33 @@ long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>>   
>>           return rc;
>>       }
>> +    case XEN_DOMCTL_get_mem_map:
>> +    {
>> +        int rc = 0;
>> +        uint32_t nr_regions;
> unsigned int (see ./CODING_STYLE)?

Ok, I will use unsigned int.

>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -223,6 +223,13 @@ typedef uint64_t xen_pfn_t;
>>    */
>>   #define XEN_LEGACY_MAX_VCPUS 1
>>   
>> +/*
>> + * Maximum number of memory map regions for guest memory layout.
>> + * Used by XEN_DOMCTL_get_mem_map, currently there is only one region
>> + * for the guest magic pages.
>> + */
>> +#define XEN_MAX_MEM_REGIONS 1
> Why is this in the public header? I can only find Xen-internal uses.

It will also be used in the init-dom0less app which is the toolstack side.

>> --- a/xen/include/public/domctl.h
>> +++ b/xen/include/public/domctl.h
>> @@ -946,6 +946,33 @@ struct xen_domctl_paging_mempool {
>>       uint64_aligned_t size; /* Size in bytes. */
>>   };
>>   
>> +#ifndef XEN_MAX_MEM_REGIONS
>> +#define XEN_MAX_MEM_REGIONS 1
>> +#endif
>> +
>> +struct xen_mem_region {
>> +    uint64_aligned_t start;
>> +    uint64_aligned_t size;
>> +#define XEN_MEM_REGION_DEFAULT    0
> I can't spot any use of this. What's its purpose?

I can drop it. My original intention is to define a default type since 
the struct arch_domain should be zalloc-ed.

>> +#define XEN_MEM_REGION_MAGIC      1
>> +    uint32_t         type;
>> +    /* Must be zero */
>> +    uint32_t         pad;
> This being OUT only, I don't think the comment makes sense. I'd omit it
> completely; if you absolutely want one, please say "will" instead of "must".

Sure, I will follow your suggestion. Thanks.

Kind regards,
Henry


>
> Jan



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 02:31:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 02:31:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708627.1107653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxe2Y-0000q3-Hf; Fri, 19 Apr 2024 02:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708627.1107653; Fri, 19 Apr 2024 02:31:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxe2Y-0000pw-EM; Fri, 19 Apr 2024 02:31:50 +0000
Received: by outflank-mailman (input) for mailman id 708627;
 Fri, 19 Apr 2024 02:31:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=52U1=LY=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rxe2X-0000pn-Cn
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 02:31:49 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2412::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f74e39af-fdf4-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 04:31:47 +0200 (CEST)
Received: from BL1PR13CA0239.namprd13.prod.outlook.com (2603:10b6:208:2bf::34)
 by CH3PR12MB9195.namprd12.prod.outlook.com (2603:10b6:610:1a3::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.43; Fri, 19 Apr
 2024 02:31:41 +0000
Received: from BL6PEPF00020E61.namprd04.prod.outlook.com
 (2603:10b6:208:2bf:cafe::13) by BL1PR13CA0239.outlook.office365.com
 (2603:10b6:208:2bf::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.29 via Frontend
 Transport; Fri, 19 Apr 2024 02:31:41 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF00020E61.mail.protection.outlook.com (10.167.249.22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 02:31:41 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 18 Apr
 2024 21:31:41 -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.35; Thu, 18 Apr
 2024 21:31:41 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 18 Apr 2024 21:31: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: f74e39af-fdf4-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=etTvsyyd48O5GVegNMEQ+4xUOaTFT5kThmtI0TXIUJJX1MufdSAB9PMY18biFqioBBqF50OkLJEvILx9fJ4Ol7isjYxKQ1ecyZlh/e8dADveMRwXIh5O79Jk6n8QVTuG7p6kerCbOYPbIKEv1uztwzX0uw0Uv0avE2e5z+NB4aMVxy4NvofpR3zUWGP52k4KmfP0ZIw2s66DEAq9KqJOP21o92MOYMpH1f22UBe5SYofbhWr1XkDt/5KOqzrxcuAyvrp5sSSn3o/+HYvkKLZHnS0F6rSRGh/4LOEectTu+3YO57Z+L3IrhsfXN9rFFHLvlBjU+3oF+hLXEU7FNgsTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tUZRukvAfZ5neDu0ABl0uR5S6MvEatH59LzEPtV7y58=;
 b=iQZwV9leuiQ9vqg3IiDwfnGhJI05RE7oMw3Q7rRxjVkwZkWe8RxnVRisyFN8N6ZO6rNIfAcCXC9hWpX12WpchdPLbzjSdGhNFddc8BdWeN5xZ+E64CVNz+HtixEj/g4PCz5jKYce5j43QhA6Oz2yQCXXnfatq4K4wrbmUff8+HcHJazf+pZP6Ve/Rc9lf082l8DCvqdOkI7RoDLMVyIS/GoglHEO3hpkx8a1iOH6/HUIZ4K7XpKwCynz8AZ3/WTMGXPhpnB4xye3EQdKIH1JDBIrM6J63lJw6yDbBh48YlyC18w9HYVeJq0vDBY5SPRuSgfpnmyzGxfCU6HmVXzcGQ==
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=tUZRukvAfZ5neDu0ABl0uR5S6MvEatH59LzEPtV7y58=;
 b=Y1aJ9+FZfQjFrB1sC/VHhrntpwU3quTSBZ5L2xKvNxWv9cbDuejmvKHeksWLw9m1zTIPKJLbslmFUmTKvnTfGIKF08hVthAjisKB+ib4L2wgDts9sOz3Q6FILmkZg0k2JW9o0ns37KMWDzliLqiQdX0NhRAI1VbzoHNzDV+RAB4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <eaad1ad2-e6ec-42a6-a0fb-236ce93f0a9e@amd.com>
Date: Fri, 19 Apr 2024 10:31:38 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/5] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Julien Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	"Juergen Gross" <jgross@suse.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
	<xen-devel@lists.xenproject.org>, Daniel Smith <dpsmith@apertussolutions.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <20240409045357.236802-5-xin.wang2@amd.com>
 <cc4fd69b-4866-4f1b-b780-64c5fac7d2d6@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <cc4fd69b-4866-4f1b-b780-64c5fac7d2d6@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00020E61:EE_|CH3PR12MB9195:EE_
X-MS-Office365-Filtering-Correlation-Id: f8cd9427-de87-44ac-cba5-08dc6018d915
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PZ/T48zK7Dcv6agbLMYPlFZ/2bKuNAvtycS1+9hOpMy628ot28BImQVa8hJ7/uFnong4PdIrs3bCFcJAn6lHLAIwO0c3a0YvTTNP8vW5InwiKpvT5XSCqdxgoZtU3Z7GC+zqcrW0kpt48mESpRQmB9rxKPJW6a9NXAgYETOIPUgKoLKn/DUS9REJDmX/eFjN8mwQLPucaGq/D0LXteocekcCMQKp3GaKRqff1QsJUnAyAMi0znRgNbm0+9QS+BRcfSZN0SnkTvzf5Yq5Zd5nWQtL2SUo57Y+zEUmoMVIw/YR+27V20MrFcIKOYefBbdAQT1EyaALCuHNVyr0ad4Fr5xOA9/Cjts/nXxP/uuFzaBfSZGxYLmSfqJexF0VWdzxK8rgv/25Qvf5l1G0ojHIYntN17u0xHqDLOqYqCZcZTg960xPROxPQcWu7GcXG1mTU6sSbKY6/LgHBSXvvgGOhDZcPg+wWXHwP+BsaDP5k0ROZ+NqUE40whQpL/vwgk223JBmmGlMm76F5WZpuqUbT4+LA1MUL6HGLgwvqFabmyThvH7RyeSyHbQPKAYZAZEcGrOPVI8XmJumwSWl8moP4ZyXVxso9O3ajMr7QedBN3hWkvrmMzdZXKuqpXRDwyY/5/dK9jshP3UZl0fknIIZNqbr2G0zUHLXUqqIBSuWGXo9CxZhBM1XVeEUzjefxyjSPquXTqrx7FRSr8WFSGvj0AtBHIBRdcaugevWeId3XLUMlx/3P6fg9QXPlHqe8ckc
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(7416005)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 02:31:41.6864
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f8cd9427-de87-44ac-cba5-08dc6018d915
X-MS-Exchange-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:
	BL6PEPF00020E61.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9195

Hi Jan,

On 4/18/2024 8:54 PM, Jan Beulich wrote:
> On 09.04.2024 06:53, Henry Wang wrote:
>> --- a/xen/common/memory.c
>> +++ b/xen/common/memory.c
>> @@ -155,6 +155,14 @@ static void increase_reservation(struct memop_args *a)
>>       a->nr_done = i;
>>   }
>>   
>> +/*
>> + * Alias of _MEMF_no_refcount to avoid introduction of a new, single-use flag.
>> + * This flag should be used for populate_physmap() only as a re-purposing of
>> + * _MEMF_no_refcount to force a non-1:1 allocation from domheap.
>> + */
>> +#define _MEMF_force_heap_alloc _MEMF_no_refcount
>> +#define  MEMF_force_heap_alloc (1U<<_MEMF_force_heap_alloc)
> Nit (style): Blanks around << please.
>
> Also do you really need both constants? I dont think so.
>
> Plus please make sure to #undef the constant once no longer needed, to
> help spotting / avoiding misuses.

Sounds good, I will fix the NIT, drop the first #define and properly add 
#undef.

>> @@ -219,7 +227,8 @@ static void populate_physmap(struct memop_args *a)
>>           }
>>           else
>>           {
>> -            if ( is_domain_direct_mapped(d) )
>> +            if ( is_domain_direct_mapped(d) &&
>> +                 !(a->memflags & MEMF_force_heap_alloc) )
>>               {
>>                   mfn = _mfn(gpfn);
>>   
>> @@ -246,7 +255,8 @@ static void populate_physmap(struct memop_args *a)
>>   
>>                   mfn = _mfn(gpfn);
>>               }
>> -            else if ( is_domain_using_staticmem(d) )
>> +            else if ( is_domain_using_staticmem(d) &&
>> +                      !(a->memflags & MEMF_force_heap_alloc) )
>>               {
>>                   /*
>>                    * No easy way to guarantee the retrieved pages are contiguous,
>> @@ -271,6 +281,14 @@ static void populate_physmap(struct memop_args *a)
>>               }
>>               else
>>               {
>> +                /*
>> +                 * Avoid passing MEMF_force_heap_alloc down to
>> +                 * alloc_domheap_pages() where the meaning would be the
>> +                 * original MEMF_no_refcount.
>> +                 */
>> +                if ( unlikely(a->memflags & MEMF_force_heap_alloc) )
>> +                    a->memflags &= ~MEMF_force_heap_alloc;
> As asked before: Why the if()?

I think there is no need to clear the flag if it is not set. But you are 
correct, the if is not needed. I can drop it.

>> @@ -1404,6 +1422,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>       {
>>       case XENMEM_increase_reservation:
>>       case XENMEM_decrease_reservation:
>> +    case XENMEM_populate_physmap_heap_alloc:
>>       case XENMEM_populate_physmap:
>>           if ( copy_from_guest(&reservation, arg, 1) )
>>               return start_extent;
> Nit or not: Please insert the new case label last.

Sure.

>> @@ -1433,6 +1452,11 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>                && (reservation.mem_flags & XENMEMF_populate_on_demand) )
>>               args.memflags |= MEMF_populate_on_demand;
>>   
>> +        /* Assert flag is not set from construct_memop_from_reservation(). */
>> +        ASSERT(!(args.memflags & MEMF_force_heap_alloc));
>> +        if ( op == XENMEM_populate_physmap_heap_alloc )
>> +            args.memflags |= MEMF_force_heap_alloc;
> Wouldn't this more logically live ...
>
>>           if ( xsm_memory_adjust_reservation(XSM_TARGET, curr_d, d) )
>>           {
>>               rcu_unlock_domain(d);
>> @@ -1453,7 +1477,7 @@ long do_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>           case XENMEM_decrease_reservation:
>>               decrease_reservation(&args);
>>               break;
> here, as
>
>            case XENMEM_populate_physmap_heap_alloc:
>                ...
>                fallthrough;

Ok.

>> -        default: /* XENMEM_populate_physmap */
>> +        default: /* XENMEM_populate_{physmap, physmap_heap_alloc} */
> Otherwise: Just XENMEM_populate_physmap{,_heap_alloc} perhaps?

Sounds good, thanks for the suggestion.

>> --- a/xen/include/public/memory.h
>> +++ b/xen/include/public/memory.h
>> @@ -21,6 +21,7 @@
>>   #define XENMEM_increase_reservation 0
>>   #define XENMEM_decrease_reservation 1
>>   #define XENMEM_populate_physmap     6
>> +#define XENMEM_populate_physmap_heap_alloc 29
> Without a comment, how is one supposed to know what the difference is of
> this new sub-op compared to the "normal" one? I actually wonder whether
> referring to a Xen internal (allocation requested to come from the heap)
> is actually a good idea here. I'm inclined to suggest to name this after
> the purpose it has from the guest or tool stack perspective.
>
> Speaking of which: Is this supposed to be guest-accessible, or is it
> intended for tool-stack use only (I have to admit I don't even know where
> init-dom0less actually runs)? In the latter case that also wants enforcing.
> This may require an adjustment to the XSM hook in use here. Cc-ing Daniel
> for possible advice.

This sub-op should be called by the init-dom0less application (toolstack 
side), which runs in Dom0. Daniel has proposed an alternative solution 
which is based on the hypfs. If we decide to go that route, I think I 
will rewrite the series. I will wait for the discussion settled. Thanks 
for looping in Daniel!

Kind regards,
Henry

>
> Jan



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:36:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708659.1107676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3P-0004Kl-Hu; Fri, 19 Apr 2024 03:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708659.1107676; Fri, 19 Apr 2024 03:36:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3P-0004Ju-Ea; Fri, 19 Apr 2024 03:36:47 +0000
Received: by outflank-mailman (input) for mailman id 708659;
 Fri, 19 Apr 2024 03:36: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxf3O-0004I0-0Q
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:36:46 +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 09baebce-fdfe-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 05:36:44 +0200 (CEST)
Received: from SJ0PR03CA0002.namprd03.prod.outlook.com (2603:10b6:a03:33a::7)
 by DS0PR12MB7995.namprd12.prod.outlook.com (2603:10b6:8:14e::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.42; Fri, 19 Apr
 2024 03:36:39 +0000
Received: from SJ5PEPF000001CB.namprd05.prod.outlook.com
 (2603:10b6:a03:33a:cafe::8e) by SJ0PR03CA0002.outlook.office365.com
 (2603:10b6:a03:33a::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend
 Transport; Fri, 19 Apr 2024 03:36:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001CB.mail.protection.outlook.com (10.167.242.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:36:38 +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.35; Thu, 18 Apr
 2024 22:36: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: 09baebce-fdfe-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aGhYQ7NtwSCAaYKuU2crwI1YeLLWcdvol4nAUJp96+ERCTy5kwyYSxNXLjRUMdbgIfXAW3rWZQ4NmuUkDC1AAV0uKsT+j14aa5nxDI8Ljy2rBn85F1+45F7yV5jILAI9RcVuMz95w09bt5w/C90VDg+VjbtfvppDiGBHpGSsphfL1l3wveYFd7LOckCu5MmFXxjawt0ggN/ZEtaF3OcmMCpvPodkgwJuuEddbQTvvD7OI+sJXquGrpiraN1nN8c9URY26K8B61Dicrc1TdCGfJ2iqHzfuFRnB1A8WKmrvgEMCu2TJ5d5ayXp8bVVXjzgAJKh7DcnTdGxfKbMc1gxzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fH+U2QOk6dVHLf7A7/6oScHHVZmq0WKT97i+j9mEzp4=;
 b=i85AjmCWy+M3ZEBepl2Nq59YXcoc6gV/Lj//+T0FFNE0Xzuzhu+rsIjefyHZiVq0Ru88xa1+Jh9QKK40fsnykJvFGzBedsAveFyEB4PiQABBlpdeQlb28OW4Id6HRtqBBw9uh/AhWG8JjPXdlMGypeR5gxB8SrKaOriIQYR/7PCSAeFclqFjm/slcsOQkFrF8JmcrnbHQN03LCxHoj8zFI3t0Y/taNDae9OfaI1SysMdcBhDxjt8j8YZNdX3iRXqDTY1qyqYTuGuNpe6Fg22qVVQ7+HP2ove3PwQCSs1VNEX328/5mjUo1bRKxkc0cVQBZk2QY0rg7Eai03+U3cxOQ==
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=fH+U2QOk6dVHLf7A7/6oScHHVZmq0WKT97i+j9mEzp4=;
 b=pzkHItGWf7f3C8490mOg0PiK5ANdX4dsjwRE5p8S/R9iiTEDNSdKddyhHYyi1aqyiNW1qfQT5IwVhB2VQSj0FU1lZ9OFTb5gVIm5kNvd9xpH4is2CqmoQuCmc4ixYl8FrO9fgu8eWGe0M2T83kSX/wRAeP8kXkJ02XTf0rjNsAM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, <linux-pci@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Huang Rui
	<Ray.Huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui
	<ray.huang@amd.com>
Subject: [KERNEL PATCH v6 1/3] xen/pci: Add xen_reset_device_state function
Date: Fri, 19 Apr 2024 11:36:14 +0800
Message-ID: <20240419033616.607889-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419033616.607889-1-Jiqian.Chen@amd.com>
References: <20240419033616.607889-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: SJ5PEPF000001CB:EE_|DS0PR12MB7995:EE_
X-MS-Office365-Filtering-Correlation-Id: c12128c5-aabb-4469-36c3-08dc6021ebf7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g+p0bmZwfrBJE13pko0I1HILECJfHpfFxqVPKqJYP3l4CqZDJBadK/5vmoCSRTRkXxA89wK43cRs53vxouxemLYkcIaCook43SVOklZZ1aO1g/tDJ+JxRcJTA8Q0wcFEaM77Wwca+IyNJIg92UuoMf419dKWDyYaJEBiBnsbuAPu1si0tmXYb+IG6a4M8C4MyDrK+M4DcH9yyoURlz9tZ2Qw0Qjq5UHTITrB4UNPBbC2fD31IDDZ/jiZGBozzCgpLnX7yaL6ynTC+di8VcIMYOeQozO3BauVRUM7mEzix8KzXOD6uLZqsYOUXgO2whialrH84E2Musup7xRvQ3Offsjctyu6EkcVBJ12OeVRlXKfp2NsLWeNkIIxUVCALaref/9kZw4lcR1fm0SwmE8UZxhnDRanj3/5NTKdhnTMvmDFPNXyV8QdukeV/7ObFOVLM1X7J9sySyRUsvqLMQnyn0TnRg/wWWfFxsQk4TsiGoR+nvK7cWqQWTVIl92ZLUrX3Cvmn6CKp3ZddXtW8n7qeaQgw4Z2cKzBY9WQCstDjExQ8rlo0EovJ4wQXKWOgnqbvxJmVV4qajXayXUrCqzChKeWKd+YIaS6PwBMcJBUYmB+Kyck5tN0mPfQ4CQMs/VALpvBMOJc/eFSLGikdihL1oTV1JoJI5VKiqHf5L+BrrfEX0xAqO9+rKdxLYHuhElHo7Tc2eHIWJuxxFWyk43I9fGV1HE8Dy4Q9hHgN4Oy5IJe/yzKVLf6sWoQjOemqu5y
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:36:38.6146
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c12128c5-aabb-4469-36c3-08dc6021ebf7
X-MS-Exchange-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:
	SJ5PEPF000001CB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7995

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.

Co-developed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 drivers/xen/pci.c                  | 12 ++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 18 +++++++++++++++---
 include/xen/interface/physdev.h    |  7 +++++++
 include/xen/pci.h                  |  6 ++++++
 4 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
index 72d4e3f193af..e9b30bc09139 100644
--- a/drivers/xen/pci.c
+++ b/drivers/xen/pci.c
@@ -177,6 +177,18 @@ static int xen_remove_device(struct device *dev)
 	return r;
 }
 
+int xen_reset_device_state(const struct pci_dev *dev)
+{
+	struct physdev_pci_device device = {
+		.seg = pci_domain_nr(dev->bus),
+		.bus = dev->bus->number,
+		.devfn = dev->devfn
+	};
+
+	return HYPERVISOR_physdev_op(PHYSDEVOP_pci_device_state_reset, &device);
+}
+EXPORT_SYMBOL_GPL(xen_reset_device_state);
+
 static int xen_pci_notifier(struct notifier_block *nb,
 			    unsigned long action, void *data)
 {
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index e34b623e4b41..46c40ec8a18e 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_state(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..8609770e28f5 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_state_reset     32
+
 struct physdev_pci_device {
     /* IN */
     uint16_t seg;
diff --git a/include/xen/pci.h b/include/xen/pci.h
index b8337cf85fd1..b2e2e856efd6 100644
--- a/include/xen/pci.h
+++ b/include/xen/pci.h
@@ -4,10 +4,16 @@
 #define __XEN_PCI_H__
 
 #if defined(CONFIG_XEN_DOM0)
+int xen_reset_device_state(const struct pci_dev *dev);
 int xen_find_device_domain_owner(struct pci_dev *dev);
 int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain);
 int xen_unregister_device_domain_owner(struct pci_dev *dev);
 #else
+static inline int xen_reset_device_state(const struct pci_dev *dev)
+{
+	return -1;
+}
+
 static inline int xen_find_device_domain_owner(struct pci_dev *dev)
 {
 	return -1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:36:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708661.1107701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3W-00053U-8t; Fri, 19 Apr 2024 03:36:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708661.1107701; Fri, 19 Apr 2024 03:36:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3W-00053N-5W; Fri, 19 Apr 2024 03:36:54 +0000
Received: by outflank-mailman (input) for mailman id 708661;
 Fri, 19 Apr 2024 03:36: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxf3V-000510-1B
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:36:53 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e88::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ca46fbb-fdfe-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 05:36:48 +0200 (CEST)
Received: from SJ0PR03CA0063.namprd03.prod.outlook.com (2603:10b6:a03:331::8)
 by SN7PR12MB7812.namprd12.prod.outlook.com (2603:10b6:806:329::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.43; Fri, 19 Apr
 2024 03:36:44 +0000
Received: from SJ5PEPF000001CE.namprd05.prod.outlook.com
 (2603:10b6:a03:331:cafe::d5) by SJ0PR03CA0063.outlook.office365.com
 (2603:10b6:a03:331::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend
 Transport; Fri, 19 Apr 2024 03:36:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001CE.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:36:44 +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.35; Thu, 18 Apr
 2024 22:36: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: 0ca46fbb-fdfe-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TMALzLdiL29migiT8Ei+bXTD6vaVif0K3vrATKLUgBPVId/eVvxeA/zVP7Op6WgIODBWsELSuzjobTp3heUeX4ulWO5KX8rf6saHfdjkp0UKhzt9pprW2teNqIVz44X1nIStuGWCeIcBsO9Kh19VMM7HuOb6Rp/eOuEYAI2G4c9Yi5ImH7i3W87OJUGxFmcATVQGoL3wsAvPAHwM2LJp1lSiLanLyq3VcAzz+A653jJMOwXzWnLINoSv+zo4eqinQQxsaWWmkgU0iFvmTa39K3ERKablozmnnal+daBcyKT9EBb1oxsbpH298AXG7+5gaB5CvuyX9cp09k7j/Zv2jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TrsH2kqfUbago2wYG2lTp8qlxKK3xB7MTeNRFg867cs=;
 b=UImrf7Ql0xDcUJqwD6BA4PHCKDCm1PXz3mimvc5BWZvssJosD5AwDlxbRWSM8PC1EHJqTtvxV69XbCAfYfLvz1JjbHTk3hJcbnj2jTu1e0UPvYW36e79VjCXTC+CfGeHnQm+ZpAHM1sEUmJ4rtDFX2eX06j0VHvXCsvJ70Vg7yuiHtpGtETeNgkKZJ7ckmrFvqcI9gmeO896QOCCpSbF5jSk4zm8CI7fP/zisq5QiycGIGI2Il4GYquyv00eRYiWIlM1r2XcGIVj0yz8tFbaWhLkKvW8EZHmIPo5XY2JP7xHHza1T1LOpbNEamLI7+u9O/J9CQ8VFIFmxADi4Wjjfg==
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=TrsH2kqfUbago2wYG2lTp8qlxKK3xB7MTeNRFg867cs=;
 b=bFBSlXLQVO3BmiuAcDERRIP4XdB5wGj8zYXILR6mRe9pOmcnrXPdchEB82VAqGzeTQ7wcKFoqmHILWCA4/OONbDLuVxy7WvHEi4toETAENK07jk9oa+tZskhYOropqbVUiWmU5ivzr7gL1o9sCPrhQwpuCri97Qg5Pk9lruvNlg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, <linux-pci@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Huang Rui
	<Ray.Huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC KERNEL PATCH v6 3/3] xen/privcmd: Add new syscall to get gsi from irq
Date: Fri, 19 Apr 2024 11:36:16 +0800
Message-ID: <20240419033616.607889-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419033616.607889-1-Jiqian.Chen@amd.com>
References: <20240419033616.607889-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: SJ5PEPF000001CE:EE_|SN7PR12MB7812:EE_
X-MS-Office365-Filtering-Correlation-Id: 4140075f-2dcc-449d-b2e2-08dc6021ef85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?qCoDbzT3dA3YI352qyd7ZF+UOoe1knwr+Mb92/8u4yyOWpGerUQlhQvjI98Q?=
 =?us-ascii?Q?1u/33fa59PlPavQbkdx1D1tGzyXJcVBs6HFHizb2rnwG3ycQ24XBnRQ6e5cY?=
 =?us-ascii?Q?PKFgT4I1/SspMMzUqeit+zeghMzqI/nUnMfG93O6VCwDTyI9RGm7sZb9jPTv?=
 =?us-ascii?Q?/1l2yX6VjSijN3NWEQmaZBg+LhRuPaTNyU9SRzPO1RdyQDq1gJfAaTio5g4P?=
 =?us-ascii?Q?TLnypU6Js6Ok/zHiorDHFpU4W1co5DbRIfb78Orz+drvlFjmFwppiKivejUq?=
 =?us-ascii?Q?MUPVvviTGGtYHOdE3G+eUo0mtRBUMipjVXUHjtLGxPcJ6euX5hbwgWa6cEw3?=
 =?us-ascii?Q?qicVbUM6xrM0agrnwOwL/gvJF6osVJIiEmUSzqcvQUMNZb2KKIbLQLt1d7eP?=
 =?us-ascii?Q?rt1zIyFVUfTkE1VevI+hcYp1rArCNSq6mo/Ar3KGv5OxYQfzsj/9YMbMv9ae?=
 =?us-ascii?Q?fCsCkGDBcw+vLaowXXhm8nJb/xkfZDe8Whc1k7Zvq6+mHSvA5InMUP8PSGYM?=
 =?us-ascii?Q?tl/YAGZ05ZHk2KtQmCxhf7S4boXi1f+9/F5DSHgBVKubkIhdBzqwJzUcXK2U?=
 =?us-ascii?Q?yJejKpl4gvwQup+XTJWM0s0qWQCwAYoRtcCLGrrE7QV2FRQ4Vuuar3l9Y3aZ?=
 =?us-ascii?Q?5/F/qboc5Lwjto4h0r2b4iHs2puQwNmLoq51qWl8KyriddoTk5wtK7QnJSBO?=
 =?us-ascii?Q?1XWuQ0Hpt1u8tIYc3IhFVIXDixaBLg9VQmpQfySuJrugZeSF5Hrpo2o8xEvM?=
 =?us-ascii?Q?0dg4igRtSfqxBFeHMBMcHxvvbB9QykiYSuFsuAoEDodn4gkkG97uUx/Ut/RY?=
 =?us-ascii?Q?9rPOzmBBL4OsTnCGXYywdOhNhKrmQ1+ZHsKg5V716i7h4dPR5JSasfBZSsqH?=
 =?us-ascii?Q?teYTtxw7+6ucbvwDubKp6+slByjh6ZZutOW98ai+RJOMAY0uJj9mMKvQbe5o?=
 =?us-ascii?Q?1WR0KNTB4SPwblMMg0ur2qiIwcRbZf9cnvqtCv6ya0U4T6m5q/YQbssFyYhr?=
 =?us-ascii?Q?CalN3aZ8RwX1nviVJK5rerlu+Z0Ees8f+ztDYEsvrT5hWI3tfjl4nrRESYWm?=
 =?us-ascii?Q?PsHE4ia6t/Edde+6W/nE7Xr7NQbzT56fC4Vii0U9yMYlXjIMhEnVXGwaAxrU?=
 =?us-ascii?Q?UZFFmeCyIAq4t+UPjykt+bFBg68efyhKRvyeu+CdkVnJuIaLn7r9PK0lcGEP?=
 =?us-ascii?Q?7QTZd/nB0iyspvkugFFizCZbPNUnZ0dNTmoy5ryLHW5/KycEqcoTZ8iDuPsi?=
 =?us-ascii?Q?lGpjtZBB9CB0nxQL0k8qLzHPi7iORj3p6AsDuZJlvaVzyDMMYz11OdLHi/bR?=
 =?us-ascii?Q?Htxvl0vYQuy4+5yUF71qRGl5gZvm3F9KTQ/9TEtUT/UHl9x+uTS7dr9PgKKN?=
 =?us-ascii?Q?+wp5ramO1IrsKAWcTE1AoNugGbYR?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:36:44.7221
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4140075f-2dcc-449d-b2e2-08dc6021ef85
X-MS-Exchange-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:
	SJ5PEPF000001CE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7812

In PVH dom0, it uses the linux local interrupt mechanism,
when it allocs irq for a gsi, it is dynamic, and follow
the principle of applying first, distributing first. And
the irq number is alloced from small to large, but the
applying gsi number is not, may gsi 38 comes before gsi 28,
it causes the irq number is not equal with the gsi number.
And when passthrough a device, QEMU will use device's gsi
number to do pirq mapping, but the gsi number is got from
file /sys/bus/pci/devices/<sbdf>/irq, irq!= gsi, so it will
fail when mapping.
And in current linux codes, there is no method to translate
irq to gsi for userspace.

For above purpose, record the relationship of gsi and irq
when PVH dom0 do acpi_register_gsi_ioapic for devices and
adds a new syscall into privcmd to let userspace can get
that translation when they have a need.

Co-developed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
 arch/x86/include/asm/apic.h      |  8 +++++++
 arch/x86/include/asm/xen/pci.h   |  5 ++++
 arch/x86/kernel/acpi/boot.c      |  2 +-
 arch/x86/pci/xen.c               | 21 +++++++++++++++++
 drivers/xen/events/events_base.c | 39 ++++++++++++++++++++++++++++++++
 drivers/xen/privcmd.c            | 19 ++++++++++++++++
 include/uapi/xen/privcmd.h       |  7 ++++++
 include/xen/events.h             |  5 ++++
 8 files changed, 105 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 9d159b771dc8..dd4139250895 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -169,6 +169,9 @@ extern bool apic_needs_pit(void);
 
 extern void apic_send_IPI_allbutself(unsigned int vector);
 
+extern int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
+				    int trigger, int polarity);
+
 #else /* !CONFIG_X86_LOCAL_APIC */
 static inline void lapic_shutdown(void) { }
 #define local_apic_timer_c2_ok		1
@@ -183,6 +186,11 @@ static inline void apic_intr_mode_init(void) { }
 static inline void lapic_assign_system_vectors(void) { }
 static inline void lapic_assign_legacy_vector(unsigned int i, bool r) { }
 static inline bool apic_needs_pit(void) { return true; }
+static inline int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
+				    int trigger, int polarity)
+{
+	return (int)gsi;
+}
 #endif /* !CONFIG_X86_LOCAL_APIC */
 
 #ifdef CONFIG_X86_X2APIC
diff --git a/arch/x86/include/asm/xen/pci.h b/arch/x86/include/asm/xen/pci.h
index 9015b888edd6..aa8ded61fc2d 100644
--- a/arch/x86/include/asm/xen/pci.h
+++ b/arch/x86/include/asm/xen/pci.h
@@ -5,6 +5,7 @@
 #if defined(CONFIG_PCI_XEN)
 extern int __init pci_xen_init(void);
 extern int __init pci_xen_hvm_init(void);
+extern int __init pci_xen_pvh_init(void);
 #define pci_xen 1
 #else
 #define pci_xen 0
@@ -13,6 +14,10 @@ static inline int pci_xen_hvm_init(void)
 {
 	return -1;
 }
+static inline int pci_xen_pvh_init(void)
+{
+	return -1;
+}
 #endif
 #ifdef CONFIG_XEN_PV_DOM0
 int __init pci_xen_initial_domain(void);
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 85a3ce2a3666..72c73458c083 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -749,7 +749,7 @@ static int acpi_register_gsi_pic(struct device *dev, u32 gsi,
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
-static int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
+int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
 				    int trigger, int polarity)
 {
 	int irq = gsi;
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 652cd53e77f6..f056ab5c0a06 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -114,6 +114,21 @@ static int acpi_register_gsi_xen_hvm(struct device *dev, u32 gsi,
 				 false /* no mapping of GSI to PIRQ */);
 }
 
+static int acpi_register_gsi_xen_pvh(struct device *dev, u32 gsi,
+				    int trigger, int polarity)
+{
+	int irq;
+
+	irq = acpi_register_gsi_ioapic(dev, gsi, trigger, polarity);
+	if (irq < 0)
+		return irq;
+
+	if (xen_pvh_add_gsi_irq_map(gsi, irq) == -EEXIST)
+		printk(KERN_INFO "Already map the GSI :%u and IRQ: %d\n", gsi, irq);
+
+	return irq;
+}
+
 #ifdef CONFIG_XEN_PV_DOM0
 static int xen_register_gsi(u32 gsi, int triggering, int polarity)
 {
@@ -558,6 +573,12 @@ int __init pci_xen_hvm_init(void)
 	return 0;
 }
 
+int __init pci_xen_pvh_init(void)
+{
+	__acpi_register_gsi = acpi_register_gsi_xen_pvh;
+	return 0;
+}
+
 #ifdef CONFIG_XEN_PV_DOM0
 int __init pci_xen_initial_domain(void)
 {
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index 27553673e46b..80d4f7faac64 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -953,6 +953,43 @@ int xen_irq_from_gsi(unsigned gsi)
 }
 EXPORT_SYMBOL_GPL(xen_irq_from_gsi);
 
+int xen_gsi_from_irq(unsigned irq)
+{
+	struct irq_info *info;
+
+	list_for_each_entry(info, &xen_irq_list_head, list) {
+		if (info->type != IRQT_PIRQ)
+			continue;
+
+		if (info->irq == irq)
+			return info->u.pirq.gsi;
+	}
+
+	return -1;
+}
+EXPORT_SYMBOL_GPL(xen_gsi_from_irq);
+
+int xen_pvh_add_gsi_irq_map(unsigned gsi, unsigned irq)
+{
+	int tmp_irq;
+	struct irq_info *info;
+
+	tmp_irq = xen_irq_from_gsi(gsi);
+	if (tmp_irq != -1)
+		return -EEXIST;
+
+	info = kzalloc(sizeof(*info), GFP_KERNEL);
+	if (info == NULL)
+		panic("Unable to allocate metadata for GSI%d\n", gsi);
+
+	info->type = IRQT_PIRQ;
+	info->irq = irq;
+	info->u.pirq.gsi = gsi;
+	list_add_tail(&info->list, &xen_irq_list_head);
+
+	return 0;
+}
+
 static void __unbind_from_irq(struct irq_info *info, unsigned int irq)
 {
 	evtchn_port_t evtchn;
@@ -2295,6 +2332,8 @@ void __init xen_init_IRQ(void)
 	xen_init_setup_upcall_vector();
 	xen_alloc_callback_vector();
 
+	if (xen_pvh_domain())
+		pci_xen_pvh_init();
 
 	if (xen_hvm_domain()) {
 		native_init_IRQ();
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 67dfa4778864..11feed529e1d 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -842,6 +842,21 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 	return rc;
 }
 
+static long privcmd_ioctl_gsi_from_irq(struct file *file, void __user *udata)
+{
+	struct privcmd_gsi_from_irq kdata;
+
+	if (copy_from_user(&kdata, udata, sizeof(kdata)))
+		return -EFAULT;
+
+	kdata.gsi = xen_gsi_from_irq(kdata.irq);
+
+	if (copy_to_user(udata, &kdata, sizeof(kdata)))
+		return -EFAULT;
+
+	return 0;
+}
+
 #ifdef CONFIG_XEN_PRIVCMD_EVENTFD
 /* Irqfd support */
 static struct workqueue_struct *irqfd_cleanup_wq;
@@ -1529,6 +1544,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_ioeventfd(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_GSI_FROM_IRQ:
+		ret = privcmd_ioctl_gsi_from_irq(file, udata);
+		break;
+
 	default:
 		break;
 	}
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 8b8c5d1420fe..61f0ffbec077 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -126,6 +126,11 @@ struct privcmd_ioeventfd {
 	__u8 pad[2];
 };
 
+struct privcmd_gsi_from_irq {
+	__u32 irq;
+	__u32 gsi;
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -157,5 +162,7 @@ struct privcmd_ioeventfd {
 	_IOW('P', 8, struct privcmd_irqfd)
 #define IOCTL_PRIVCMD_IOEVENTFD					\
 	_IOW('P', 9, struct privcmd_ioeventfd)
+#define IOCTL_PRIVCMD_GSI_FROM_IRQ				\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_gsi_from_irq))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/events.h b/include/xen/events.h
index 3b07409f8032..411298ae7fb0 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -127,6 +127,11 @@ int xen_pirq_from_irq(unsigned irq);
 /* Return the irq allocated to the gsi */
 int xen_irq_from_gsi(unsigned gsi);
 
+/* Return the gsi from irq */
+int xen_gsi_from_irq(unsigned irq);
+
+int xen_pvh_add_gsi_irq_map(unsigned gsi, unsigned irq);
+
 /* Determine whether to ignore this IRQ if it is passed to a guest. */
 int xen_test_irq_shared(int irq);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:36:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708660.1107684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3Q-0004WK-0O; Fri, 19 Apr 2024 03:36:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708660.1107684; Fri, 19 Apr 2024 03:36:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3P-0004V7-TF; Fri, 19 Apr 2024 03:36:47 +0000
Received: by outflank-mailman (input) for mailman id 708660;
 Fri, 19 Apr 2024 03: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxf3P-0004I0-0S
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:36:47 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e88::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0af98d29-fdfe-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 05:36:45 +0200 (CEST)
Received: from SJ0PR03CA0090.namprd03.prod.outlook.com (2603:10b6:a03:331::35)
 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.7452.55; Fri, 19 Apr
 2024 03:36:42 +0000
Received: from SJ5PEPF000001CE.namprd05.prod.outlook.com
 (2603:10b6:a03:331:cafe::b0) by SJ0PR03CA0090.outlook.office365.com
 (2603:10b6:a03:331::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend
 Transport; Fri, 19 Apr 2024 03:36:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001CE.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:36:41 +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.35; Thu, 18 Apr
 2024 22:36: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: 0af98d29-fdfe-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d2LaaC7xLoswDGmBTsAUwTT7FgR/hITuePD86oXWancbxg/CrSDRJX1lpHdGhWbMGoIPSQSl9HrQqUmDZdKHtnPAdtYJzL4qJkhGyUTrjemd1XoJMiqmsMoTP5bPCgI7bjLQuh2fGnK0rA6PnqAxWJhW/JBh26C9I/xuKmVpmyDKLc5eh/+xHa7yi7xHFmzyXt3RzzMvC0YsF0RUP0ptQJGhCyn6uTUIbT/e1/iW+Zul7olC9k3z9t0vnhTM58MaQmbuayHFcsX6zuHNqzIdFUaysgQJHYfKU4BUelFHUo4DADvw7eq/koljkc1Lm93dpJmoWOnkDAaBPAZV7R9TbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eRBHDqPoVZS88OuDyH4d1T2swxIHcPAdP/Hn8UiTaGA=;
 b=mnAof2NHq5021KwI06GO4N+vuUHNhZxVjN5PHBtgVFo5+DNnB8EzyQSKHTG6Ga+YtcJSNvVB7JAW0/9JD7gMQQVLdibe/S80xXj9lBRNpf0Fz8B7n5UQwXn9YQyKYr63z6oQ5JzqNcvAaW3gybjcMP9CIGok03COMqzpXBAtaauxtP6lzezn3S9O0eoBa+styPAhYgv9AFh5lXJAnbNz1eDTp9q0F5tE/6gkCimH/RfTqNH7PoSB+uahSFvPuUMzIHynZc+a+zKUjxvAFwQQGqZk+ErGs9NpS9WW5StZf5hFkSw8xbnJtJtoa/f19EClMUIR12dUVdmMRLLtpeh1RA==
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=eRBHDqPoVZS88OuDyH4d1T2swxIHcPAdP/Hn8UiTaGA=;
 b=T2SQFhKlD1NYa5RWitLYVYnit9B+3hjQNDUrNykAWKmpdToYLLs9K/VSfxYEqFzUj/H2DyjyYxMkob/cGaCGsbFzPJ7qcDoXnab2C0Qom3hCqCnaJmxsuMaQ08jKkguE/RoANdHtGj3VMNf+VR+VgV6fs5idEFq6Kuu3gG7vU6U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, <linux-pci@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Huang Rui
	<Ray.Huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC KERNEL PATCH v6 2/3] xen/pvh: Setup gsi for passthrough device
Date: Fri, 19 Apr 2024 11:36:15 +0800
Message-ID: <20240419033616.607889-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419033616.607889-1-Jiqian.Chen@amd.com>
References: <20240419033616.607889-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: SJ5PEPF000001CE:EE_|IA1PR12MB6601:EE_
X-MS-Office365-Filtering-Correlation-Id: b801c304-3894-4251-ca35-08dc6021ed95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3gD2kv+Ka5xTX50F1sprXoF3r0R/SRbwokZpFEfL6rkL3tmw6y3DQ2+soJzjQySIwgs8PFmNjeEXOzSj0siFE1bASZi3gy3jEeRp9Qhc0WVTNW6lpdnk8XGFYd+Gpp0FCi87LMerlvPbhffEfzdhmY+16oENa1uhnXOb/4+ifR+DOxEqE4GF3rdADk6J4McklJTrDobbp0llW8T8g6KybYFVwl7nTCkZ36zKn2/FhO6tal2H8EKvlmQlc4Gb8B6/mhcRfT/K8Bj1zBXhTQaITc6Rmki5qkvdmYFM87zIJFNdJeWLWRcVb9myFmC30wwohmvm12dqODb6x1QyUm6eeHeUE1vHmA4t7ErQ71Ix+dRQnYWPXbhzp/30avIwZcvX+vtYOfGL0vsvZnkzxnI/RZf+RWz8xeft0z/pSrrmrCXwf9Vl36SwPxiTOP3ZMR9o3HFYqqcGqh/k2cKWpr9y63c6koBspewIwx/JDPxxt72wTiwiat43IGMbkgg5emcpz5FTUlqf9L6p1iiHuX/AxZ+80iZIPDKom74jSyzj97PypcizT9onpXDmVYyeDdN5NlONx5fuShWeb3Q6u//gDiPf21TWxNEI+FSdPywdlPFvlBRl/+Plbwi5yJNkOUJvwczBbUnNi8TJp9ea1PCL/9fobjm19nvvGn8MkRLePbohl5fWY+Lss6UD9fjEH/Ycr1e5QxRZpoZ+APAyP6+UidBHVWhXZG+iGHnh3QZqeQuClADHBqS+LZGJhGKoF4id
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:36:41.4253
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b801c304-3894-4251-ca35-08dc6021ed95
X-MS-Exchange-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:
	SJ5PEPF000001CE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6601

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 assign a device to passthrough, proactively setup the gsi
of the device during that process.

Co-developed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 arch/x86/xen/enlighten_pvh.c       | 92 ++++++++++++++++++++++++++++++
 drivers/acpi/pci_irq.c             |  2 +-
 drivers/xen/xen-pciback/pci_stub.c |  8 +++
 include/linux/acpi.h               |  1 +
 include/xen/acpi.h                 |  6 ++
 5 files changed, 108 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index c28f073c1df5..12be665b27d8 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -2,6 +2,7 @@
 #include <linux/acpi.h>
 #include <linux/export.h>
 #include <linux/mm.h>
+#include <linux/pci.h>
 
 #include <xen/hvc-console.h>
 
@@ -26,6 +27,97 @@
 bool __ro_after_init xen_pvh;
 EXPORT_SYMBOL_GPL(xen_pvh);
 
+typedef struct gsi_info {
+	int gsi;
+	int trigger;
+	int polarity;
+} gsi_info_t;
+
+struct acpi_prt_entry {
+	struct acpi_pci_id	id;
+	u8			pin;
+	acpi_handle		link;
+	u32			index;		/* GSI, or link _CRS index */
+};
+
+static int xen_pvh_get_gsi_info(struct pci_dev *dev,
+								gsi_info_t *gsi_info)
+{
+	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_info)
+		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_info->gsi = gsi;
+	gsi_info->trigger = trigger;
+	gsi_info->polarity = polarity;
+
+	return 0;
+}
+
+static int xen_pvh_setup_gsi(gsi_info_t *gsi_info)
+{
+	struct physdev_setup_gsi setup_gsi;
+
+	if (!gsi_info)
+		return -EINVAL;
+
+	setup_gsi.gsi = gsi_info->gsi;
+	setup_gsi.triggering = (gsi_info->trigger == ACPI_EDGE_SENSITIVE ? 0 : 1);
+	setup_gsi.polarity = (gsi_info->polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
+
+	return HYPERVISOR_physdev_op(PHYSDEVOP_setup_gsi, &setup_gsi);
+}
+
+int xen_pvh_passthrough_gsi(struct pci_dev *dev)
+{
+	int ret;
+	gsi_info_t gsi_info;
+
+	if (!dev)
+		return -EINVAL;
+
+	ret = xen_pvh_get_gsi_info(dev, &gsi_info);
+	if (ret) {
+		xen_raw_printk("Fail to get gsi info!\n");
+		return ret;
+	}
+
+	ret = xen_pvh_setup_gsi(&gsi_info);
+	if (ret == -EEXIST) {
+		xen_raw_printk("Already setup the GSI :%d\n", gsi_info.gsi);
+		ret = 0;
+	} else if (ret)
+		xen_raw_printk("Fail to setup GSI (%d)!\n", gsi_info.gsi);
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(xen_pvh_passthrough_gsi);
+
 void __init xen_pvh_init(struct boot_params *boot_params)
 {
 	u32 msr;
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/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 46c40ec8a18e..22d4380d2b04 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -20,6 +20,7 @@
 #include <linux/atomic.h>
 #include <xen/events.h>
 #include <xen/pci.h>
+#include <xen/acpi.h>
 #include <xen/xen.h>
 #include <asm/xen/hypervisor.h>
 #include <xen/interface/physdev.h>
@@ -435,6 +436,13 @@ static int pcistub_init_device(struct pci_dev *dev)
 			goto config_release;
 		pci_restore_state(dev);
 	}
+
+	if (xen_initial_domain() && xen_pvh_domain()) {
+		err = xen_pvh_passthrough_gsi(dev);
+		if (err)
+			goto config_release;
+	}
+
 	/* 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 b7165e52b3c6..08f1e316bf27 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -361,6 +361,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..17c4d37f1e60 100644
--- a/include/xen/acpi.h
+++ b/include/xen/acpi.h
@@ -67,10 +67,16 @@ static inline void xen_acpi_sleep_register(void)
 		acpi_suspend_lowlevel = xen_acpi_suspend_lowlevel;
 	}
 }
+int xen_pvh_passthrough_gsi(struct pci_dev *dev);
 #else
 static inline void xen_acpi_sleep_register(void)
 {
 }
+
+static inline int xen_pvh_passthrough_gsi(struct pci_dev *dev)
+{
+	return -1;
+}
 #endif
 
 #endif	/* _XEN_ACPI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:36:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708658.1107671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3P-0004IO-As; Fri, 19 Apr 2024 03:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708658.1107671; Fri, 19 Apr 2024 03:36:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxf3P-0004IH-85; Fri, 19 Apr 2024 03:36:47 +0000
Received: by outflank-mailman (input) for mailman id 708658;
 Fri, 19 Apr 2024 03:36:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxf3N-0004I0-Ba
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:36:45 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20601.outbound.protection.outlook.com
 [2a01:111:f403:2408::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a4a017f-fdfe-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 05:36:43 +0200 (CEST)
Received: from BY5PR03CA0027.namprd03.prod.outlook.com (2603:10b6:a03:1e0::37)
 by IA1PR12MB6019.namprd12.prod.outlook.com (2603:10b6:208:3d5::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.52; Fri, 19 Apr
 2024 03:36:35 +0000
Received: from SJ5PEPF000001CF.namprd05.prod.outlook.com
 (2603:10b6:a03:1e0:cafe::9c) by BY5PR03CA0027.outlook.office365.com
 (2603:10b6:a03:1e0::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.33 via Frontend
 Transport; Fri, 19 Apr 2024 03:36:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001CF.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.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:36:35 +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.35; Thu, 18 Apr
 2024 22:36: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: 0a4a017f-fdfe-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Iz+sylOrH5xpc5yCs3hTmTjcAoZRFZvEPypEw3/DUjtGeqzupzB/vsv/3Z4CA35JHIJohu/p9HtpYtwtjyhAteVb66WLVPKVR8nI/5XPJSIc6hL44hM3wrdNEzuDXP66VxZKb9xD/UtJMUMjjyZt/SdddYg778uPFqzg7zozWqLGnh9njUHdIPzw/uQmfP/Z7u0g+RW/2oCixiGnmNug4BslpqxZfo5RfZ6bh79PLuIz8pIDs8nNkUQkiePvn3qp8GBu59NchHbUiFrM2fUnF53rGX8Q692mGAcA5SwclXBvzK1oLOacLlAXJdy1FgXzjIElDpCQzmVq4kJ3kUnFBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OE3zS+divbEyPQev8eVUhdfvjNnIXK0fM+wL5pfQVW4=;
 b=LPKKVuMRVY8fJgORhyasgvCXKzt6o0F97PmPE4YQbSFiBXsOFJOlW/Tklxc3rskCERtgxRZjb44I+eFF7L3qFEuRADJSvylT5t8xnpAHUHtZ6uv0C05/jSo+TX7D6oi650JADCDZJWI5PuzaXdHtwrwRfod2JTI3RBjNIaqGE79Ryfc6OBpusVad8Zfdp0svv58fUe/togvTjdMqGys1slxbOO7P3lmAqsHTuwXcnCBNo50dqz44IpG0tMdwtdqug54xhmvb9Oug1lLXjUe7I859TSUdxhn0YwQSf7hn80JpLjiIxKBc0FoGIXBdHRWKhSjRmjEeoLvcB8RqUEsWTw==
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=OE3zS+divbEyPQev8eVUhdfvjNnIXK0fM+wL5pfQVW4=;
 b=FdXIN8VzjjgSuTohOQQneUBs8ezosl3vkConFj3yKz2QUBaC1l97N1XuPWG9DScr8Hq4iNtaYM2zczUtNIfTaKeuDfxZCId0fpkfuE1yFS6nkh4lAB5/Y5bARxRT9GonCGKmaqLd5s0nxxmXhgM04SpJcs2sausV2e/WbNA744g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.org>, <linux-pci@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Huang Rui
	<Ray.Huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Subject: [RFC KERNEL PATCH v6 0/3] Support device passthrough when dom0 is PVH on Xen
Date: Fri, 19 Apr 2024 11:36:13 +0800
Message-ID: <20240419033616.607889-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: SJ5PEPF000001CF:EE_|IA1PR12MB6019:EE_
X-MS-Office365-Filtering-Correlation-Id: 991c37bc-a64e-4af7-3a81-08dc6021e9ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?eBaOPBirJcWaMR8EBRKgFZFw4ZanXMvtwbymRDG1HHahPLfBfmM1lPp63Tu3?=
 =?us-ascii?Q?f6BBOReqj9LT8FEMTn6Dj8pT2caiun7wU5PcmbZfDm2gBFyXMpFlBu8hK/Ru?=
 =?us-ascii?Q?fbwpLRHRT4nFPQnAn3y9qJ6KU2nNkvkwjkEbX/HWob6GqzFbJqSupl//oH8S?=
 =?us-ascii?Q?iR5Pe+/s1XAYUz6qR2KHxVvby+OG5LuIOSfpTezqCfRmlyW9zjrwJP5945oK?=
 =?us-ascii?Q?4vsiu8f+6bT7FPtaGwGfkPJs3sjmavGGtr9x/LE34hL6nkk5Zlils6S7gDDi?=
 =?us-ascii?Q?g7adPuupUPCp/MLpU8joR9qkkrQWj+ZHagub+XNiDa+TaLwqFT+GShrTa3+z?=
 =?us-ascii?Q?+HR+air/SLK87ceg4DjzfZrjHx+EmZw+rS2sjyRDxhPGFzjYWTNndPS9GT5Y?=
 =?us-ascii?Q?OZIuRSueCGuxGjzY9UrWU6lZ9On3f2JuqwBRFcUskiAjpHzZayUvbeUTDrdE?=
 =?us-ascii?Q?lIXlCDdZRMLvcYjdnz4yeVenbs6FNPrHhQh0S7JehL2CLvEZEE0pJ6R26Y/G?=
 =?us-ascii?Q?NRn+ByxgDnZ8OqNoQxlp5R61c1AFIVj44neEvROS+GayYFw4pKfk/zAqLGXp?=
 =?us-ascii?Q?wS9qYxKAuLzAAuvMN2h2UWbGQbZWJws9ERz4RE6gRS1P+iEAOs7aN4NlpBFR?=
 =?us-ascii?Q?71idHgUha/BzzdyDuao+igxMIzETMMUodEmjd9R5BlDFiYu8p1ne7+qFxfLs?=
 =?us-ascii?Q?zXNtgaD+hiD1e4LLLGFQvmS1xoY5Q0txAsXg2YVretag294DTPEPpCzzfSVg?=
 =?us-ascii?Q?NjlBzG2YKnP0v8jW6a7z27OY9CDJC0Fg+6F/RcTgoTJTZz8VABcAS5x2bw7E?=
 =?us-ascii?Q?5nM4WbAaoIxDx8PH1e1F7KjjczRNhAIEPIFJvTFZQMpDWtTpUHHv0Hx8cTFJ?=
 =?us-ascii?Q?7BmbUD7UizgqRVzp5BgESsE/YDWcO8TrFqvO8MDLDUjfOisfXK+eaOBuGsdZ?=
 =?us-ascii?Q?uzGQQzxHDypN9/H/gwIbflCCA2xv6Rdvxq9jge8ta1M+bS1KgjHwMvszoL62?=
 =?us-ascii?Q?7zRue+VygC+h8vInZHoR66IA8VwtVmO+iTOIkdPImLDHBhPy1Vafzhc7yBrb?=
 =?us-ascii?Q?gceWKpmCieAai9gam3di7vJpejtOhqYDt0pJmhC8F9fVjd5dF6wKZoYerBfp?=
 =?us-ascii?Q?rk4x5r7cwpdRY5SmWatKllAoTzfz2btIq/9CkfxumTqHSteFFWIBw79kwh2G?=
 =?us-ascii?Q?WKZ98zGF7zBJCTh0xAvGKWA7VZwDCZN0Hv/vAkmU0g9sRv72TpQjHgWfEWog?=
 =?us-ascii?Q?B46Ra9ZbAChjjDw/lEUDn4Ntu6OV354IvIQImsXI5CF/WESsfubhoufLQPEQ?=
 =?us-ascii?Q?mq4PWbYloBiwYiaaqMONZ6QM/WkUttoawFmRwaRB33m1JDzmUe+5Hde2SkCL?=
 =?us-ascii?Q?gfF5Le0q3NILIQS960pTlXdFDN9+?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:36:35.1311
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 991c37bc-a64e-4af7-3a81-08dc6021e9ce
X-MS-Exchange-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:
	SJ5PEPF000001CF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6019

Hi All,
This is v6 series to support passthrough on Xen when dom0 is PVH.
v5->v6 change:
* patch#3: change to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs.


Best regards,
Jiqian Chen


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()\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):
  xen/pci: Add xen_reset_device_state function
  xen/pvh: Setup gsi for passthrough device
  xen/privcmd: Add new syscall to get gsi from irq

 arch/x86/include/asm/apic.h        |  8 +++
 arch/x86/include/asm/xen/pci.h     |  5 ++
 arch/x86/kernel/acpi/boot.c        |  2 +-
 arch/x86/pci/xen.c                 | 21 +++++++
 arch/x86/xen/enlighten_pvh.c       | 92 ++++++++++++++++++++++++++++++
 drivers/acpi/pci_irq.c             |  2 +-
 drivers/xen/events/events_base.c   | 39 +++++++++++++
 drivers/xen/pci.c                  | 12 ++++
 drivers/xen/privcmd.c              | 19 ++++++
 drivers/xen/xen-pciback/pci_stub.c | 26 ++++++++-
 include/linux/acpi.h               |  1 +
 include/uapi/xen/privcmd.h         |  7 +++
 include/xen/acpi.h                 |  6 ++
 include/xen/events.h               |  5 ++
 include/xen/interface/physdev.h    |  7 +++
 include/xen/pci.h                  |  6 ++
 16 files changed, 253 insertions(+), 5 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:54:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708681.1107721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfKa-00021h-42; Fri, 19 Apr 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 708681.1107721; Fri, 19 Apr 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 1rxfKa-000212-15; Fri, 19 Apr 2024 03:54:32 +0000
Received: by outflank-mailman (input) for mailman id 708681;
 Fri, 19 Apr 2024 03:54: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfKZ-0001xW-F3
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:54:31 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2415::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84a366c7-fe00-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 05:54:28 +0200 (CEST)
Received: from CH2PR15CA0027.namprd15.prod.outlook.com (2603:10b6:610:51::37)
 by IA0PR12MB7697.namprd12.prod.outlook.com (2603:10b6:208:433::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Fri, 19 Apr
 2024 03:54:25 +0000
Received: from CH2PEPF00000148.namprd02.prod.outlook.com
 (2603:10b6:610:51:cafe::17) by CH2PR15CA0027.outlook.office365.com
 (2603:10b6:610:51::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.29 via Frontend
 Transport; Fri, 19 Apr 2024 03:54:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000148.mail.protection.outlook.com (10.167.244.105) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:54:24 +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.35; Thu, 18 Apr
 2024 22:54: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: 84a366c7-fe00-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=euBBfXiJ13SjbyoRcTG65bAOaVG1ZoRdvxLY3Gnoiz3gCdZYuFPaDIcPzXMqnESDkVBhUYjAJYIB2R/bDRXgMVhMy7Cy6rAbrmkvhR9tLTEdAdM7kdYnWMT4C+KLXpxPh5udtzvBfUd/xP7VdDPLOWaIKd40bigG+N5VaXxK984y0csM6m5KEhtik2olnSM+mHA1uhKYTexMTQHYloP5f5vBhDY8KR9FgTQ3f1vxfGC59LDvwCYJfVx9oKO3SzqiyolYl7weSSfXTZXjZD0nRf/Tef2eUS2USodRN01aZ/Xc0igjWemsjRFMAGPSgj2ZSx/+N74RnTFngibws38N2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Caez2gc/3ChE8xxdCxSMDIEO2s0uO1VlEDaIPNm06/A=;
 b=gorykBmmuroSo1zLYGCyO7YGxYoqZuhCau1bljv1NIA+NLvuv3DXVHPlaSvSCnJmVdmF72qBJAm/cUzBv1e/furONPyyC58/F97mjsznzkJzIReGrFnlN//1a5beDvbrFH0DzgGgrFy9JRBKEkqPmfw3zBeIKUZy4ouKgncW8/O4CgKdW8R31S0zxgLdOlmgEtCFtvnxfolTWtTovVv/5dy976WA75rlrpT9pHfD+raYBE1vN9zQUhrl07qEUxEFjeRy22tR7HxVzX6m8Odsu7f4V4SrcFqJicTawal2d3RiVATQc62EBhBS1oLUYz3/Xx0lMpDtrkhJu1t67yuN+Q==
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=Caez2gc/3ChE8xxdCxSMDIEO2s0uO1VlEDaIPNm06/A=;
 b=HVRJ1aHJn6YNd7MVNNjLiJHfiNuc9SZlKycXimNCbmIK/pGcGCBgdRcmh0npNUitDuIVB7OjrZlPT0BDATHs3mAoAHajmgPgLNYpGZozlgM7N+gS6dg0+zL8j/Jp5pwFn76JWNK6J7pGBJBclS2DHcWf2VSallnyBzyG9K6z/Xg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>,
	"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>, Huang Rui <ray.huang@amd.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>
Subject: [XEN PATCH v7 1/5] xen/vpci: Clear all vpci status of device
Date: Fri, 19 Apr 2024 11:53:36 +0800
Message-ID: <20240419035340.608833-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419035340.608833-1-Jiqian.Chen@amd.com>
References: <20240419035340.608833-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: CH2PEPF00000148:EE_|IA0PR12MB7697:EE_
X-MS-Office365-Filtering-Correlation-Id: defb5ace-d058-43ed-20a7-08dc60246741
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5tK/cDJLU96HD0aXPZscow//1pFyQNOSHHmlAMqdGM9TOGw7IsrAgvIxNlYYXqbdtQ6erPiU6gTjcpY7PrTOucnrq4RfXVlcn9cMFxDSwfzx2LB3A3OgJeJKEwcZVoEFd4IZ6vrajgzGAjlhkA3KPT++zJzTCYXwrr0m7dFOYvE5qZU5zwPy6ITUs+sxN2l9pceLeOOBaXgpbV0ubz92vniNCOKZOAjczolq/SzIG9/bmg8/CzmLfKDpkAMJZt89sCBSJY5j5hh9peXVS7DJQcU9q/FdqeT27wGwN5EkfOi8hMfo2cJE4n1YD3ZnE52SnrFdyTR1+NxiKapsQUK25QH5VLdcIcf08qu0ToAnnMEAWzO/7Cvx5IhJybm4bNj+ZBVhJ53CWvL7yogpnl+JzF1EvorRy0rUj6PotRJBuFuxOHSrQ7ph413oltJqhko5pWNSnlbSrjDr+APd01HYJMn96hEo2qeN4WeAkMauTsIFdu2Crg3KgJZYQmmWw7eFnQt7s+QduGa1wLhQ25iquDCCdhkclQzTdy0/pHllPrlSzKuC+WayBxT8FDgi7lzRQw7UCTYv6iXmggpac1aFUy6ZovQOrz0juR81FZHdb6MHXXJV9dovbtR0E/zkKKMFlicrYF1TLpQiN1kNS3QlTNYGhvCh3Gu0W1rFf/i+EGmgMyxDK8NhE6WQEHK2W8SCpw+H4S88are0a4Qqv8k0AVUFJKSnn5e17kbOVwAnL45iVuVl1dvBxS/JTViW7Nt9
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004)(7416005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:54:24.6709
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: defb5ace-d058-43ed-20a7-08dc60246741
X-MS-Exchange-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:
	CH2PEPF00000148.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7697

When a device has been reset on dom0 side, the vpci on Xen
side won't get notification, so the cached state in vpci is
all out of date compare with the real device state.
To solve that problem, add a new hypercall to clear all vpci
device state. When the state of device is reset on dom0 side,
dom0 can call this hypercall to notify vpci.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Reviewed-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/arch/x86/hvm/hypercall.c |  1 +
 xen/drivers/pci/physdev.c    | 36 ++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c      | 10 ++++++++++
 xen/include/public/physdev.h |  7 +++++++
 xen/include/xen/vpci.h       |  6 ++++++
 5 files changed, 60 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 14679dd82971..56fbb69ab201 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_pci_mmcfg_reserved:
     case PHYSDEVOP_pci_device_add:
     case PHYSDEVOP_pci_device_remove:
+    case PHYSDEVOP_pci_device_state_reset:
     case PHYSDEVOP_dbgp_op:
         if ( !is_hardware_domain(currd) )
             return -ENOSYS;
diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c
index 42db3e6d133c..73dc8f058b0e 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,41 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         break;
     }
 
+    case PHYSDEVOP_pci_device_state_reset: {
+        struct physdev_pci_device dev;
+        struct pci_dev *pdev;
+        pci_sbdf_t sbdf;
+
+        if ( !is_pci_passthrough_enabled() )
+            return -EOPNOTSUPP;
+
+        ret = -EFAULT;
+        if ( copy_from_guest(&dev, arg, 1) != 0 )
+            break;
+        sbdf = PCI_SBDF(dev.seg, dev.bus, 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);
+        ret = vpci_reset_device_state(pdev);
+        write_unlock(&pdev->domain->pci_lock);
+        pcidevs_unlock();
+        if ( ret )
+            printk(XENLOG_ERR "%pp: failed to reset PCI device state\n", &sbdf);
+        break;
+    }
+
     default:
         ret = -ENOSYS;
         break;
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 97e115dc5798..424aec2d5c46 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -115,6 +115,16 @@ int vpci_assign_device(struct pci_dev *pdev)
 
     return rc;
 }
+
+int vpci_reset_device_state(struct pci_dev *pdev)
+{
+    ASSERT(pcidevs_locked());
+    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
+
+    vpci_deassign_device(pdev);
+    return vpci_assign_device(pdev);
+}
+
 #endif /* __XEN__ */
 
 static int vpci_register_cmp(const struct vpci_register *r1,
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index f0c0d4727c0b..f5bab1f29779 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_state_reset     32
+
 struct physdev_pci_device {
     /* IN */
     uint16_t seg;
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index e89c571890b2..ea64d94e818b 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -30,6 +30,7 @@ int __must_check vpci_assign_device(struct pci_dev *pdev);
 
 /* Remove all handlers and free vpci related structures. */
 void vpci_deassign_device(struct pci_dev *pdev);
+int __must_check vpci_reset_device_state(struct pci_dev *pdev);
 
 /* Add/remove a register handler. */
 int __must_check vpci_add_register_mask(struct vpci *vpci,
@@ -266,6 +267,11 @@ static inline int vpci_assign_device(struct pci_dev *pdev)
 
 static inline void vpci_deassign_device(struct pci_dev *pdev) { }
 
+static inline int __must_check vpci_reset_device_state(struct pci_dev *pdev)
+{
+    return 0;
+}
+
 static inline void vpci_dump_msi(void) { }
 
 static inline uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:54:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708680.1107711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfKX-0001m5-Sa; Fri, 19 Apr 2024 03:54:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708680.1107711; Fri, 19 Apr 2024 03:54: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 1rxfKX-0001ly-Pd; Fri, 19 Apr 2024 03:54:29 +0000
Received: by outflank-mailman (input) for mailman id 708680;
 Fri, 19 Apr 2024 03: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfKW-0001ls-FW
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:54:28 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:200a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 828f1ccf-fe00-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 05:54:25 +0200 (CEST)
Received: from CH0PR13CA0044.namprd13.prod.outlook.com (2603:10b6:610:b2::19)
 by CY8PR12MB7123.namprd12.prod.outlook.com (2603:10b6:930:60::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.41; Fri, 19 Apr
 2024 03:54:21 +0000
Received: from CH2PEPF00000147.namprd02.prod.outlook.com
 (2603:10b6:610:b2:cafe::cf) by CH0PR13CA0044.outlook.office365.com
 (2603:10b6:610:b2::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.11 via Frontend
 Transport; Fri, 19 Apr 2024 03:54:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000147.mail.protection.outlook.com (10.167.244.104) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:54:20 +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.35; Thu, 18 Apr
 2024 22:54: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: 828f1ccf-fe00-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XsApnsVKINkemdSKp9jB1ZN4H8eUyCWhvteX1dgRjFd1F9i3pYb4p4jR0r7NWQUrwVaqpSLYsuCcT/aSWxBtpofEN18c4OLt0jhGvIw4vMM3+mANpgRUHSN8Dpb2ATTmtLXxv+Cy5WXNjNLvpDkEYiDXfXg1MNU2DKeShKVqXHY/UH1sryrT7zeBReaoA+9EkSIOXVW/bjpexH3XyrykgJnvObx+sI2j+aj6knV15I8koqFM+VrFKqdIV3zwW2MSOfDY8X2ZRzvoRUGGs8QtQPCW7aojnriu1JNJ66mdZfoyHmzdY5aday/LBSrKngqlgv+LEPc8oRmnv3IyHbi4Kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NjLj/bgXtWHSqSA6gowNsuXVO4VVRYQkxkeszs2Ladg=;
 b=CNq0+PDdWgr8MMxlHI/IroNa4PWycRQ85atYnfOcZdM9IwbQuF8+kBCMxJ0/ATSaIlmLaRakNab+mSTRo6U78zFG8FiQaNjosPnZMtBCZZ/NhkGh8MUod6uTTN2TkeC57w67NcFlZ910z5bdHfZRE5QnY7LH7qkxL++R4MX3kePj2GijXbzYMKlPrPjwAF7Lwp0mDxjU82rB9A4WvpidXmn4Qa5FKdS/WA7VRhQfaX8NWkwdcxhCscWkIhhyJhH1J8XstbGh2N2cDsw+2w6m6v69zdxebAfN/a7VlTKhv3yrGh3uqLbWwnSp0d38uiJ8GCksU5yWF7O8rXbykqtNbA==
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=NjLj/bgXtWHSqSA6gowNsuXVO4VVRYQkxkeszs2Ladg=;
 b=I+QoWqqipChGH5UlWqUT1qkIujoYR+WVoJaVpx0RYl8FeqcsD8IMVuvSxVhP1zVaUWBdhDMrP0JGVpzN8/5UCYXspyDEIisx0J0JddzG4mxTXPa1Unan3gb1EoEKpilCQLaodpfHSrdyNZyh+T3PoIZQ4pM4B5Jr0T6x8Cjj6WI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>,
	"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>
Subject: [RFC XEN PATCH v7 0/5] Support device passthrough when dom0 is PVH on Xen
Date: Fri, 19 Apr 2024 11:53:35 +0800
Message-ID: <20240419035340.608833-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: CH2PEPF00000147:EE_|CY8PR12MB7123:EE_
X-MS-Office365-Filtering-Correlation-Id: 6426e4b3-46a0-4167-3e78-08dc602464ec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5g9tCiB1krkdqExYpwlDVS5+h4WPoye4LBkCE11qv+Z2YG8gYj42lTu83tj3oXFqxTH4HaM1yIvQGWi7vgWx2nFbqfTJPi4QpeWnSwNlaON0UvqtK9j9ecZuO0ReG+PIyQYAa4AifbFX/EX/HQJ/atFV8SezkWK1PQD4vcGx1inotOTvR/auO8JH7u356fxf3MGcTN+DEAp4JkqsxrCngz0NPj479n6mar9HUMy4w1YMuJ0RYciAPWQJ1pgxAEGn+4V4gq04xo0xs5d7rZgLnbk33vdN/RcjKPxRg0bThclQLC0cQF4ycMDRR7Qu9UQ9RCBl+Qx55j2D5GAAAt0z1O2AWTyGacU2YNFgURv12qVt/6H6tIcUf7ev8yQUsytEb/V0SI/puESiIuLo+uTyNDA3a2p9rdY+sGDg02cf45fTu8nzROrTXR6ZFUt1P41ozeMwmqvmXio3yspZap3bs6OVLzBoBQ6YYCsY4Wwv6mOWrFIuIKgC5r7Lke1CZWyjbs7PhOcMGxcEPcHlM/tBduqblzaVgFl7BzZRUmERZN5mS1aJS/GYULn02uaCjqfFjTt9S5y817jOoT+kzwhvgt2S8J7OMHg6rnzayLp2Uc7iOdRoICBB6w7w+YserMFhrz4afH9341lDrDT8vocuIvgNgxev3Dgz9rCdX7aQpzcJCZW+o0Q5agGzQ0/45Q5r2UcuMDcExsRZWAwqoE0T3Q==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005)(7416005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:54:20.7435
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6426e4b3-46a0-4167-3e78-08dc602464ec
X-MS-Exchange-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:
	CH2PEPF00000147.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7123

Hi All,
This is v7 series to support passthrough when dom0 is PVH
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.

Best regards,
Jiqian Chen


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 \u201cpcistub_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/vpci: Clear all vpci status of device
  x86/pvh: Allow (un)map_pirq when dom0 is PVH
  x86/pvh: Add PHYSDEVOP_setup_gsi for PVH dom0
  tools: Add new function to get gsi from irq
  domctl: Add XEN_DOMCTL_gsi_permission to grant gsi

 tools/include/xencall.h        |  2 ++
 tools/include/xenctrl.h        |  7 +++++
 tools/libs/call/core.c         |  5 +++
 tools/libs/call/libxencall.map |  2 ++
 tools/libs/call/linux.c        | 15 +++++++++
 tools/libs/call/private.h      |  9 ++++++
 tools/libs/ctrl/xc_domain.c    | 15 +++++++++
 tools/libs/ctrl/xc_physdev.c   |  4 +++
 tools/libs/light/libxl_pci.c   | 57 ++++++++++++++++++++++++++++------
 xen/arch/x86/domctl.c          | 31 ++++++++++++++++++
 xen/arch/x86/hvm/hypercall.c   |  8 +++++
 xen/arch/x86/physdev.c         | 24 ++++++++++++++
 xen/drivers/pci/physdev.c      | 36 +++++++++++++++++++++
 xen/drivers/vpci/vpci.c        | 10 ++++++
 xen/include/public/domctl.h    |  9 ++++++
 xen/include/public/physdev.h   |  7 +++++
 xen/include/xen/vpci.h         |  6 ++++
 xen/xsm/flask/hooks.c          |  1 +
 18 files changed, 238 insertions(+), 10 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:54:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708682.1107732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfKc-0002HW-Ge; Fri, 19 Apr 2024 03:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708682.1107732; Fri, 19 Apr 2024 03: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 1rxfKc-0002HD-Cl; Fri, 19 Apr 2024 03:54:34 +0000
Received: by outflank-mailman (input) for mailman id 708682;
 Fri, 19 Apr 2024 03: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfKa-0001xW-PW
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:54:32 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2009::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86fada77-fe00-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 05:54:32 +0200 (CEST)
Received: from CH5P223CA0003.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:1f3::19)
 by SA1PR12MB6797.namprd12.prod.outlook.com (2603:10b6:806:259::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.37; Fri, 19 Apr
 2024 03:54:29 +0000
Received: from CH2PEPF0000014A.namprd02.prod.outlook.com
 (2603:10b6:610:1f3:cafe::1d) by CH5P223CA0003.outlook.office365.com
 (2603:10b6:610:1f3::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend
 Transport; Fri, 19 Apr 2024 03:54:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF0000014A.mail.protection.outlook.com (10.167.244.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:54: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.35; Thu, 18 Apr
 2024 22:54: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: 86fada77-fe00-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pj+AfPkUWWBncosJbyimhuLLuK/Pfztvz6j79HwaLgG9OCoqZ19MQySQNhXUyu3DPgU2BPswKgW+svPv1iC9GkhNiE76mW+XEKi1jmG0mTvi4SKz/7EBXiYNRCKV7IjsYgCceLU+nuLghlTOl/7YJWDafF1mL6H59RD2w+oZAv5d0lgOyOFwUqWyWCQTzKc7pKg0+Yw/NuH78rx5IIAM9ODUBaj0aBSnu6p4sL0u+QMSKvAuh77i5X4EX0aRc8/S+tyILKg8oir7IV5NPMyuY30+bY8jfBDmM53falS+ligKAWdU+ZeiE2KK4RJLrDOe0clj5l9prCHM0dytUgkmsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BWMKhG5lVTeKf+NSXNTQ2LT4bcOahI5fL1ibq4Lk0AQ=;
 b=edTiBj/Lvit3XD6tOxLu288Do9uY6sq10PosakILlmswGkE2UEQv1Bjytqnbz7H4NCkEpQKME80dAXaizQrE0J+txvjkYBBMjGAgXgE8aq1DCYj2HB/8D3wqv+4fAcQ1JHXGeV7UZejd7pjIMRvsx21HNS3WkUqIEknhT7myjKW2DKb4LfinGbBqnVhGn8EYbmOq6OOf6toMHpvCcz4sqSdsPlzX6XtZR3DbqnaO8N/CWBvjT84Uya57ZoQ/3z0bFYERwnjomybZYVtwWMBnntYofr/pwPDkilwW8wQ/gE4L7SK+9jJbD3AY/GQ6QiuTfmYa9U4jjlvgLb7AewuOsQ==
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=BWMKhG5lVTeKf+NSXNTQ2LT4bcOahI5fL1ibq4Lk0AQ=;
 b=Wf+LitCf2Fy48R9gVxkIH4/CgYrOss9EidCXgm2bouXjr0Qv6Maa7NmNU4UYQA5lHGls3vMLY6EnuAJAnL75r2wyAB1LrPlau5Ci/FQarGXLrtXs1N6MHnYfzTAgfYaEvNiWtA0yoI5Ajm1nahMJaWMF8kcLvdx9slXUdY/6Nbg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>,
	"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>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v7 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Date: Fri, 19 Apr 2024 11:53:37 +0800
Message-ID: <20240419035340.608833-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419035340.608833-1-Jiqian.Chen@amd.com>
References: <20240419035340.608833-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: CH2PEPF0000014A:EE_|SA1PR12MB6797:EE_
X-MS-Office365-Filtering-Correlation-Id: 44055d54-b656-42a9-3868-08dc6024696d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?ZUuJruOBAT3DzK9xSG9b0d6lyFL/wV6b5/tLZfHez7v3RCfu4bhv9JYGg7ba?=
 =?us-ascii?Q?crggzs5E+XlIlI7RTP0XyNSdtS/jMvRhIbc8Ht//yJg/Re7v3BQjMqqDBxg+?=
 =?us-ascii?Q?NyFNMcrD7wzBB2FLxmNODnQabyEVZm6/6khM22t7MccXOEK5Qq8qtGW8zj37?=
 =?us-ascii?Q?k3tDzkbP9n38ZOmuYvbhtMCQgklx1rTmi5f33B7mfTZL8bLsNrdKHMkxgalK?=
 =?us-ascii?Q?28YJiZt4ewurzG6t0BAkouVUsdY0BiS9HnHbNsUcCrCJ249fCPCfg0nUgrLp?=
 =?us-ascii?Q?usRLqRP0o86OaSK3e6wgBkzGQaesv5PnaRrquMALOs/VsjNod5WUbr8HQMv0?=
 =?us-ascii?Q?hfuHuoWL6Cz/YnIxaoF24tS3XkxjiAsuessMb96bJSHpCz1DQ7ac/8unzzGO?=
 =?us-ascii?Q?7ep+Xb3bz+nw4XfrirNPhDG+fMUxNV4KjGMx+OaCpJVr06HLx/M03hxZ9Qyt?=
 =?us-ascii?Q?eSiV4izBd/zhoFfVZuxC7cJS6CBtyPSwtMdIHWdRomRdirPNJgQShd38q6hK?=
 =?us-ascii?Q?uW2rR5dx9wdiOvB6NCRoXGNrrhBMVJH5vBRQjbiNQkFWoZ0giuN1bs1KTyHh?=
 =?us-ascii?Q?LkwAI0lgBueDl/UPjnFfSYF9kgjloNSlp7ZRvmyKf2ZW371UCXXWCB3Yu5Uy?=
 =?us-ascii?Q?Q1P0Qz1VUGp+zoR6bv0yA+PUzN3tLf37Ue2oBzhDJ+9w6FzS2dyXkpS+A1/t?=
 =?us-ascii?Q?KMVOBJ66BFgrTZecchDmCOS8xx0+na6IIaSysS6QvE3B+dN4G5cSbtYDihQF?=
 =?us-ascii?Q?XxhWOk+Imc/12NB+K54CTNSMkZ8Mc+fNMzDHx5f3nVXIwqlBfqtOvk08AqXr?=
 =?us-ascii?Q?8Rgjnbj2DWXi0xJfmKkAv+6DT+EZLIT371qEOKYzNFGfo39dFCd5mmY/PK8Z?=
 =?us-ascii?Q?XjJQrPw+K5fFDIVhLnBVOVhMrKS8LEphoefHQIlLg6Wu622l491OFpPiq8tt?=
 =?us-ascii?Q?hhUueU8Fo43xzqU/inrJF7IAATFXtCqIJ7tOHC/iukl6g4QyIsggIkpzTGj/?=
 =?us-ascii?Q?AW9KwJDg1ZV/WgZILWFsafFWlJLUKTjcZal57yBUOJsMNKJrcvYitq7bHemr?=
 =?us-ascii?Q?haRhfTxMzDN30U0sx81NFWs6npJ9Lsrkn1sePGSS5m1sSt3fzuTP8PVpzURI?=
 =?us-ascii?Q?aMsR7cKa8gDemWmq9otOpSY/4PELLeU1CT2vKmreC4mrBhs6DAeqMmLa5P+B?=
 =?us-ascii?Q?CZZI0uXIO1MYT7gSPnatYdPH4C9fIenfT1BCC2/EX04RWVt6VJ2bYIKISF+4?=
 =?us-ascii?Q?H4x9TtiQtbMzRjccB/cb7/NBxZpph/L+ulQ21BK6Bh1aW29WGwcWOVINdxsx?=
 =?us-ascii?Q?aQHNRm6qX/VHljOq/A493EzG2D1iEFwQOexasjMMUzEtVWffcb5Ja9+h4ojQ?=
 =?us-ascii?Q?QpDP5tI/v+DTsSi9xab2pq541sGr?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(376005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:54:28.2997
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 44055d54-b656-42a9-3868-08dc6024696d
X-MS-Exchange-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:
	CH2PEPF0000014A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6797

If run Xen with PVH dom0 and hvm domU, hvm will map a pirq for
a passthrough device by using gsi, see
xen_pt_realize->xc_physdev_map_pirq and
pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq
will call into Xen, but in hvm_physdev_op, PHYSDEVOP_map_pirq
is not allowed because currd is PVH dom0 and PVH has no
X86_EMU_USE_PIRQ flag, it will fail at has_pirq check.

So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
PHYSDEVOP_unmap_pirq for the failed path to unmap pirq. And
add a new check to prevent self map when caller has no PIRQ
flag.

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>
---
 xen/arch/x86/hvm/hypercall.c |  2 ++
 xen/arch/x86/physdev.c       | 24 ++++++++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 56fbb69ab201..d49fb8b548a3 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -74,6 +74,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
     case PHYSDEVOP_map_pirq:
     case PHYSDEVOP_unmap_pirq:
+        break;
+
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 7efa17cf4c1e..1367abc61e54 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -305,11 +305,23 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_map_pirq: {
         physdev_map_pirq_t map;
         struct msi_info msi;
+        struct domain *d;
 
         ret = -EFAULT;
         if ( copy_from_guest(&map, arg, 1) != 0 )
             break;
 
+        d = rcu_lock_domain_by_any_id(map.domid);
+        if ( d == NULL )
+            return -ESRCH;
+        /* If it is an HVM guest, check if it has PIRQs */
+        if ( !is_pv_domain(d) && !has_pirq(d) )
+        {
+            rcu_unlock_domain(d);
+            return -EOPNOTSUPP;
+        }
+        rcu_unlock_domain(d);
+
         switch ( map.type )
         {
         case MAP_PIRQ_TYPE_MSI_SEG:
@@ -343,11 +355,23 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 
     case PHYSDEVOP_unmap_pirq: {
         struct physdev_unmap_pirq unmap;
+        struct domain *d;
 
         ret = -EFAULT;
         if ( copy_from_guest(&unmap, arg, 1) != 0 )
             break;
 
+        d = rcu_lock_domain_by_any_id(unmap.domid);
+        if ( d == NULL )
+            return -ESRCH;
+        /* If it is an HVM guest, check if it has PIRQs */
+        if ( !is_pv_domain(d) && !has_pirq(d) )
+        {
+            rcu_unlock_domain(d);
+            return -EOPNOTSUPP;
+        }
+        rcu_unlock_domain(d);
+
         ret = physdev_unmap_pirq(unmap.domid, unmap.pirq);
         break;
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:54:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708683.1107742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfKg-0002b7-Om; Fri, 19 Apr 2024 03:54:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708683.1107742; Fri, 19 Apr 2024 03: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 1rxfKg-0002b0-Kz; Fri, 19 Apr 2024 03:54:38 +0000
Received: by outflank-mailman (input) for mailman id 708683;
 Fri, 19 Apr 2024 03:54: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfKe-0001xW-R4
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:54:36 +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 88c1043a-fe00-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 05:54:36 +0200 (CEST)
Received: from CH5P223CA0024.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:1f3::14)
 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.7472.43; Fri, 19 Apr
 2024 03:54:32 +0000
Received: from CH2PEPF0000014A.namprd02.prod.outlook.com
 (2603:10b6:610:1f3:cafe::3) by CH5P223CA0024.outlook.office365.com
 (2603:10b6:610:1f3::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.29 via Frontend
 Transport; Fri, 19 Apr 2024 03:54:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF0000014A.mail.protection.outlook.com (10.167.244.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:54:31 +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.35; Thu, 18 Apr
 2024 22:54: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: 88c1043a-fe00-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ncl4CsZ+fl/HWOKsSp7YSU9XocqxKQeoOYdugeZrnJgRqHXv6/v8ApNIbCCuRE5kDS+Zj2ZRpPUDA8lqeaxWBiQMa6/BnAWsPzwGAuXtO2CFGR8A+tWEdLAnb0okeRWVRscaTzCON9k2lor8x5SP6TdOSJlng0xztbMpKyxGq5/1TnqbleXQvPzyDYhtPMxAJkccwXMG+KvswFSCFM1jQHZ3h44ovmQFID7XyOlzgB9D+AUuzy2SusGPFCnw5Z1Nwo/TfS451DLv9YHn+W4eY7ANAWJawtKALmhiFh4mh+3DqFS1/sM2iPGUzFD0mFJ4uZ7Bw6rmfQA3niS0LyIYrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cppfuA3qPefeFbRlxjFzL7F92H5/rzEberk3T4m9jZg=;
 b=fpFEUKq8FBX2rq/0BUyjXDTyt7IYl2a6+4fzGhCNG17Yew2jkyZLIX3xyYQXYM1b4ct41t4tYW4ykkY8jsfk/py74T2LdwhZmHnD5ZB+gbBS1uHjMG1lEmfwn6nCdTdrsQ7YJPhSf3JM1vA6AwqHjvCtPE7/AdYAWUly3pibviazhNCLcNzt5fMDrM0rqserR1L0elVZUT/WQ9rrMldcnVWz2NtsJSeVZNVfvfwmQdPl3suemY8pmsfE080YEVlnpDxB2aMz/s4Zh8NAdPw5ielLu64Xmd5/Rh9i9fv0GQKHSUbZkzbfbjPMD3bVh/m6qTwW45WKeZh01qnSWIy28A==
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=cppfuA3qPefeFbRlxjFzL7F92H5/rzEberk3T4m9jZg=;
 b=eTAnLn7PmpnD1SrXaQ+WPiELOWffjGuqJgykMBTX5DdseW6FktWpv2pxeBT+xxLFAaSmWfQYrhpjHChbRizBHGNYSrS7uyseDUb5x2Z0OV2pIyywqF+R01+2ILdVHHBBIw7eHDRIKLTn9UWaF7u0sKUN6RvXTsRF+003rkgY91w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>,
	"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>, Huang Rui <ray.huang@amd.com>
Subject: [RFC XEN PATCH v7 3/5] x86/pvh: Add PHYSDEVOP_setup_gsi for PVH dom0
Date: Fri, 19 Apr 2024 11:53:38 +0800
Message-ID: <20240419035340.608833-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419035340.608833-1-Jiqian.Chen@amd.com>
References: <20240419035340.608833-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: CH2PEPF0000014A:EE_|SA0PR12MB4479:EE_
X-MS-Office365-Filtering-Correlation-Id: 2e8c7bec-8562-4b10-d303-08dc60246b8c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EoMBLbmlBGSW/IulxGkFxgv0C6DxTW/Dcpm+ROqQ5xie0deFe9MdEDKyi9BH40iHH2/sobbx5g2h/Dk0x6FzRMtPtg8p3enJgykxjyiAdiLmHbkkhf79pJzB8EpsHZVup+8WiEvRArRZRU43seo1WND7Zz078UFa6dex6SNfsBMaP2KEDCXknSGzMR1swN6FxbHtVCL6guSE5fK/YXv5Mvma0dHmM0pk7MSh0v9Oap+uHjtoDxTDygBpT+1FqD0rN0bRpMTJeYI0VizXvZML1w7JoQmRcoeN/Z+po4jIWeeiKdq8FjLvor0VgDXusEdyeCH3dD2SeNbEse8YjNvv0aZKLfk+01nbgK7op7wCjlicHpT50OxiU2gkEsx+zelgH0rGBZSwdAOBNFiDURwpaOYfCO3sadcCovTb0bTU6gbeD+IG1lje6wXB6NIoXi8XBUSfPzFmv2XgKZMZE5Q3Zli26Wf9/Mw+OKf8qfaKhGmp1ziUSeFQ76f3E5gDl+wu6q/b2Q3Wk7wZTg2/RWhCGC4CgxHqwKpgshlD2ZirHsww4WVqEBWG1qZFKGnQJBzAwaMwJasHmb2XfB1PKvSZxw8cn4t8IujqI9cY5SZVqbbQX5hjg9I4ibRUUqq7Rbl98HQqLk41hlTkJz7NQSIoJUy7fdydsQbCCAYZXnEJk1yflEb6gbIPsLWPwvALYq1cy+j+wy62+gfEXqcGZtyNrpdRQNxjPhzRZSOPFnG6pYdO41hyMuiVWzOpJY5Jg+Br
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(36860700004)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:54:31.8623
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e8c7bec-8562-4b10-d303-08dc60246b8c
X-MS-Exchange-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:
	CH2PEPF0000014A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4479

On 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 hvm domU.
On Linux kernel side, it calles PHYSDEVOP_setup_gsi for
passthrough devices to register gsi when dom0 is PVH.
So, add PHYSDEVOP_setup_gsi for above purpose.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
 xen/arch/x86/hvm/hypercall.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index d49fb8b548a3..98e3c6b176ff 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -76,6 +76,11 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_unmap_pirq:
         break;
 
+    case PHYSDEVOP_setup_gsi:
+        if ( !is_hardware_domain(currd) )
+            return -EOPNOTSUPP;
+        break;
+
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:54:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708684.1107752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfKl-0002xS-1o; Fri, 19 Apr 2024 03:54:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708684.1107752; Fri, 19 Apr 2024 03: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 1rxfKk-0002xJ-Tu; Fri, 19 Apr 2024 03:54:42 +0000
Received: by outflank-mailman (input) for mailman id 708684;
 Fri, 19 Apr 2024 03:54:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfKj-0001ls-QF
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:54:41 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2416::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b50d87a-fe00-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 05:54:40 +0200 (CEST)
Received: from CH5P220CA0004.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1ef::16)
 by DM4PR12MB6664.namprd12.prod.outlook.com (2603:10b6:8:bb::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.53; Fri, 19 Apr
 2024 03:54:36 +0000
Received: from CH2PEPF00000143.namprd02.prod.outlook.com
 (2603:10b6:610:1ef:cafe::a5) by CH5P220CA0004.outlook.office365.com
 (2603:10b6:610:1ef::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend
 Transport; Fri, 19 Apr 2024 03:54:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000143.mail.protection.outlook.com (10.167.244.100) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:54:35 +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.35; Thu, 18 Apr
 2024 22:54: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: 8b50d87a-fe00-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UAFTr1I08cg4up1uHvs1bYXUmcOZVDsICbE43HmwT5OzTgsz3Ra04kXtQMQvNnSRiXh9uEQMHAZm8aO0gJ+YdIvvzMd0MtNlxtArt7222yUMjpK+CLGf2RJyGuocju9CjY+QV1M0rDwRn1mwJ4s29zO3CiB8+N20ozJnl/354CiexMbsOAZ6XDURC5240+3waOakXpXEMh+FGMSgve2lNACicPCu0JCTOdK+l5yZCTwZlAUMquyxmvg9uLDfbRUwPEguFjYguluoR+AJZqAGw7aFZ1+EINSdjdwix/fOj4Zyibie6G2NR3PsHGYdFl8LaR+/jBtD4xjVxNsDY1kl+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=88JcE9Ad2syAQsm9w3u6rHe4+iMIG9q0VZLeMKdweWo=;
 b=B0hD2qWvQTamXzWu8SxLJcH8h4n/1FvPHpBWOyptY5v2hoOlXpTIl7jaQgV40OU40eiaYUSr/gGGB6GDCI0Rp+1W2muFo62NKi+UHy7Nwe7e0jwvx43IwMSFrv8BadMr30dgVLmcxFDCFQWhJ1OrCHndnLPdGeyv/T9oWfgh0+4yc70nSju95Iq4wYOC2uOd4O7uBWNL8MXqPkaG9kVmBmmnH21ldbOSBWRkniVfSEh4LApIAGlQPyvFa34xppYdfxHZQ72rFT0sJETUE4OIX1yLnAez2SzBqe+eIojsX0cA2n+jjfcKhtgILbuKN0ivHMWxhUfcEscVdRru5znC9g==
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=88JcE9Ad2syAQsm9w3u6rHe4+iMIG9q0VZLeMKdweWo=;
 b=39myrN8fKW9k66S8sMxbteM2YYyUfchutdACvGlGvU4xQQ43oNSM+EPA+VpXDztlPiAyhtcIL0FgpXHuK9kUhoSoTWzj7buNLGCi5KdP9C/m5s1sNMilJqj7O62rLEDrXYz6Hkj2TQ1kU0ZVGflUKvGaRnDzOKneymlldOaJay4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>,
	"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>, Huang Rui <ray.huang@amd.com>
Subject: [RFC XEN PATCH v7 4/5] tools: Add new function to get gsi from irq
Date: Fri, 19 Apr 2024 11:53:39 +0800
Message-ID: <20240419035340.608833-5-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419035340.608833-1-Jiqian.Chen@amd.com>
References: <20240419035340.608833-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: CH2PEPF00000143:EE_|DM4PR12MB6664:EE_
X-MS-Office365-Filtering-Correlation-Id: 33eeb739-1744-4e7c-c3d7-08dc60246db1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?UmCgM4m0rNACDsVvP8oA0XkjJKXEOtiaSO2uF6gPf9TxuwlcE5jUcxN6ZirH?=
 =?us-ascii?Q?IDOMH/PaVumSg+YVojKDMGJ7sj63BifBtOAgXdUOiSt8nKmMJ5ACyPWV+Ctq?=
 =?us-ascii?Q?UEUJCHo4c7Ukii2lxskpaudfsQdW0/2/sLgyMpA66Al01gkyVeCgMQ/Y7b3i?=
 =?us-ascii?Q?1Lb4fHhaFAQtN17U6HWtscKCmFqti8EqWpSQ/WOWnCEJJ3HP+0DdT76E57Oy?=
 =?us-ascii?Q?z/7BXTTnG5959JLVVG1ikqpkS10n8zk+gnHqYZ4uFYaFxh4J3qPT/kMEQhIG?=
 =?us-ascii?Q?65JobXdEjyfft6aKA4GPPz3qg2B+ooMtAXR1AlRUXhEERsGZ6UkHjvuFDi4C?=
 =?us-ascii?Q?ET4wjMqGJD8vH+NAQhJlDdxIxs/iaJTgSISnaWCMnEptHWTIqpPu+VtjS8dW?=
 =?us-ascii?Q?NXzkMeExWuhKk4l3ZuDNG6gmZ7MTNKxIhj3qY1JiTkusvTUs9WLnXRU/swtt?=
 =?us-ascii?Q?pE99/46/dl+OackhKDR7wmgHf2q/j+qF2pFDl88KwHgsA7JRc2Wke6mWjw6V?=
 =?us-ascii?Q?xpKwN06yTHMCe4rAM0gcg6wLBP0xaHis1QJ0KctWWSGn3eckC8Js7LWt1i07?=
 =?us-ascii?Q?7pQfa1B1eoASmiOhjJ2QQaQGtbeSuMC6VoEghFJ169uHeQTtbuMZwXioCkAV?=
 =?us-ascii?Q?nxdY0bzwI5ktIdHgFn5SMxRkxb0VJnDSO2i5RStGJtGoq9IslBYHizs5ZbxU?=
 =?us-ascii?Q?cIsALQ2pALlxFUG/kogudJ603ZTQhGEnFPDYCl2pNLFA4Tr1/20UdXHYzK3i?=
 =?us-ascii?Q?TvXYlz6A9iLnMgEh8wxWkwh7+nLjaQv8s5rgwiiKg8LT71ZkNsSposuwgqJ5?=
 =?us-ascii?Q?d9+PvAQaOBY7GT0QFJGELTcQNYdGxT9aXqk1zgNndMtsFRxT4HyVoN1IO4gD?=
 =?us-ascii?Q?LYoZxpwEzZIhHNVlZ+xKn3pJYMXrzRB5x1p96Ul/aoTC/RSrpHBEVUqT2gxm?=
 =?us-ascii?Q?yhf54UOT6kbGWW3VcQfPWwVydBzfAoBJq3uimjbzo30FnYD4EqzoV9fig80U?=
 =?us-ascii?Q?Ugi+skP6r3UZKJUGvmKJ9S/EGI6N+eGTP84O6KifBDNVBa9IHwW8u+Jj4fRv?=
 =?us-ascii?Q?zWqOAZKMRngfO8QyeMYttpIoDSWMeI4WBVlV2t0V5lPOsLmxiQq7k8edOCwf?=
 =?us-ascii?Q?zcUPRofGUdbrFztJYTiTqNLiKH7YPCryDwMle4Tbb/N2DE+Fw62Tha6BScpk?=
 =?us-ascii?Q?SUI9tFj+ST20BqxSQKU0L9vn2jmlqyOeUJ7Jdne3WWPci7ny4sr7PmzymlNg?=
 =?us-ascii?Q?rlCbuVjCef2EF5ZBwqsEtazmzkSWc6enIiweOdCkbqIHVwZiTdY0lXB2g0A4?=
 =?us-ascii?Q?Wc7Y0ZDtVJQh6hAP4h88FbylcWknnUYZBh9xP6oOGAnHYxnGipVNMSDBNYmL?=
 =?us-ascii?Q?TXWnnBI=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:(13230031)(1800799015)(82310400014)(376005)(7416005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:54:35.4598
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 33eeb739-1744-4e7c-c3d7-08dc60246db1
X-MS-Exchange-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:
	CH2PEPF00000143.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6664

In PVH dom0, it uses the linux local interrupt mechanism,
when it allocs irq for a gsi, it is dynamic, and follow
the principle of applying first, distributing first. And
irq number is alloced from small to large, but the applying
gsi number is not, may gsi 38 comes before gsi 28, that
causes the irq number is not equal with the gsi number.
And when passthrough a device, QEMU will use its gsi number
to do pirq mapping, see xen_pt_realize->xc_physdev_map_pirq,
but the gsi number is got from file
/sys/bus/pci/devices/<sbdf>/irq, so it will fail when mapping.
And in current codes, there is no method to translate irq to
gsi for userspace.

For above purpose, add new function to get that translation.

And call this function before xc_physdev_(un)map_pirq

Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
---
 tools/include/xencall.h        |  2 ++
 tools/include/xenctrl.h        |  2 ++
 tools/libs/call/core.c         |  5 +++++
 tools/libs/call/libxencall.map |  2 ++
 tools/libs/call/linux.c        | 15 +++++++++++++++
 tools/libs/call/private.h      |  9 +++++++++
 tools/libs/ctrl/xc_physdev.c   |  4 ++++
 tools/libs/light/libxl_pci.c   | 11 +++++++++++
 8 files changed, 50 insertions(+)

diff --git a/tools/include/xencall.h b/tools/include/xencall.h
index fc95ed0fe58e..962cb45e1f1b 100644
--- a/tools/include/xencall.h
+++ b/tools/include/xencall.h
@@ -113,6 +113,8 @@ int xencall5(xencall_handle *xcall, unsigned int op,
              uint64_t arg1, uint64_t arg2, uint64_t arg3,
              uint64_t arg4, uint64_t arg5);
 
+int xen_oscall_gsi_from_irq(xencall_handle *xcall, int irq);
+
 /* Variant(s) of the above, as needed, returning "long" instead of "int". */
 long xencall2L(xencall_handle *xcall, unsigned int op,
                uint64_t arg1, uint64_t arg2);
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e05422..2b9d55d2c6d7 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1641,6 +1641,8 @@ int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
 
+int xc_physdev_gsi_from_irq(xc_interface *xch, int irq);
+
 /*
  *  LOGGING AND ERROR REPORTING
  */
diff --git a/tools/libs/call/core.c b/tools/libs/call/core.c
index 02c4f8e1aefa..6f79f3babd19 100644
--- a/tools/libs/call/core.c
+++ b/tools/libs/call/core.c
@@ -173,6 +173,11 @@ int xencall5(xencall_handle *xcall, unsigned int op,
     return osdep_hypercall(xcall, &call);
 }
 
+int xen_oscall_gsi_from_irq(xencall_handle *xcall, int irq)
+{
+    return osdep_oscall(xcall, irq);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/call/libxencall.map b/tools/libs/call/libxencall.map
index d18a3174e9dc..6cde8eda05e2 100644
--- a/tools/libs/call/libxencall.map
+++ b/tools/libs/call/libxencall.map
@@ -10,6 +10,8 @@ VERS_1.0 {
 		xencall4;
 		xencall5;
 
+		xen_oscall_gsi_from_irq;
+
 		xencall_alloc_buffer;
 		xencall_free_buffer;
 		xencall_alloc_buffer_pages;
diff --git a/tools/libs/call/linux.c b/tools/libs/call/linux.c
index 6d588e6bea8f..32b60c8b403e 100644
--- a/tools/libs/call/linux.c
+++ b/tools/libs/call/linux.c
@@ -85,6 +85,21 @@ long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall)
     return ioctl(xcall->fd, IOCTL_PRIVCMD_HYPERCALL, hypercall);
 }
 
+long osdep_oscall(xencall_handle *xcall, int irq)
+{
+    privcmd_gsi_from_irq_t gsi_irq = {
+        .irq = irq,
+        .gsi = -1,
+    };
+
+    if (ioctl(xcall->fd, IOCTL_PRIVCMD_GSI_FROM_IRQ, &gsi_irq)) {
+        PERROR("failed to get gsi from irq");
+        return -1;
+    }
+
+    return gsi_irq.gsi;
+}
+
 static void *alloc_pages_bufdev(xencall_handle *xcall, size_t npages)
 {
     void *p;
diff --git a/tools/libs/call/private.h b/tools/libs/call/private.h
index 9c3aa432efe2..2d86cfb1e099 100644
--- a/tools/libs/call/private.h
+++ b/tools/libs/call/private.h
@@ -57,6 +57,15 @@ int osdep_xencall_close(xencall_handle *xcall);
 
 long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall);
 
+#if defined(__linux__)
+long osdep_oscall(xencall_handle *xcall, int irq);
+#else
+static inline long osdep_oscall(xencall_handle *xcall, int irq)
+{
+    return -1;
+}
+#endif
+
 void *osdep_alloc_pages(xencall_handle *xcall, size_t nr_pages);
 void osdep_free_pages(xencall_handle *xcall, void *p, size_t nr_pages);
 
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 460a8e779ce8..4d3b138ebd0e 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -111,3 +111,7 @@ int xc_physdev_unmap_pirq(xc_interface *xch,
     return rc;
 }
 
+int xc_physdev_gsi_from_irq(xc_interface *xch, int irq)
+{
+    return xen_oscall_gsi_from_irq(xch->xcall, irq);
+}
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 96cb4da0794e..d4313e196ebd 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1486,6 +1486,11 @@ static void pci_add_dm_done(libxl__egc *egc,
         goto out_no_irq;
     }
     if ((fscanf(f, "%u", &irq) == 1) && irq) {
+        /* if fail, keep using irq; if success, r is gsi, use gsi. */
+        r = xc_physdev_gsi_from_irq(ctx->xch, irq);
+        if (r != -1) {
+            irq = r;
+        }
         r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
         if (r < 0) {
             LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
@@ -2174,6 +2179,7 @@ static void pci_remove_detached(libxl__egc *egc,
     FILE *f;
     uint32_t domainid = prs->domid;
     bool isstubdom;
+    int r;
 
     /* Convenience aliases */
     libxl_device_pci *const pci = &prs->pci;
@@ -2239,6 +2245,11 @@ skip_bar:
     }
 
     if ((fscanf(f, "%u", &irq) == 1) && irq) {
+        /* if fail, keep using irq; if success, r is gsi, use gsi. */
+        r = xc_physdev_gsi_from_irq(ctx->xch, irq);
+        if (r != -1) {
+            irq = r;
+        }
         rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
         if (rc < 0) {
             /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 03:54:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 03:54:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708685.1107762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfKn-0003HI-Ff; Fri, 19 Apr 2024 03:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708685.1107762; Fri, 19 Apr 2024 03: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 1rxfKn-0003H6-BJ; Fri, 19 Apr 2024 03:54:45 +0000
Received: by outflank-mailman (input) for mailman id 708685;
 Fri, 19 Apr 2024 03:54: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfKm-0001xW-Bf
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 03:54:44 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8dae33da-fe00-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 05:54:43 +0200 (CEST)
Received: from CH5P220CA0013.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1ef::27)
 by SJ1PR12MB6241.namprd12.prod.outlook.com (2603:10b6:a03:458::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Fri, 19 Apr
 2024 03:54:39 +0000
Received: from CH2PEPF00000143.namprd02.prod.outlook.com
 (2603:10b6:610:1ef:cafe::21) by CH5P220CA0013.outlook.office365.com
 (2603:10b6:610:1ef::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.30 via Frontend
 Transport; Fri, 19 Apr 2024 03:54:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000143.mail.protection.outlook.com (10.167.244.100) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 03:54:39 +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.35; Thu, 18 Apr
 2024 22:54:35 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8dae33da-fe00-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VlDsUKlKei7n//oNTPMikpBFamIJsK//ttUee/5JXckFvc1JkSusZDiAZMiazYmZ6RG0eOlkjpTkVnJHZF9lcEBLE+eUTf2OhsxYGcTNhvqGzvD8qeIR3o80ZFnN0r0VoyPg9cfsAgSJpDbsogYBEvaXyfcFUC5U3dz16/MEGb5MY339krYF/UsqLBl0ZWelTEh/lW3CLvvOQ4QrPisy3SDQM3B8+1HLdtl9SdQVyRFmNhEl1R/X8RAans85hxAGHv/3Tg49YqCb1+6IrIcSDUrw53+oLKmpzFrEOPLT0dFp7PkOtA1NgsW0iPx29nsIeaiRFpv7aDgWNP2WIDm4gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N9ITGTvJFNB2j4xLy9eNOmtDYVp8M9SoBRDzPUxldn0=;
 b=KFhIJzOC9BXqsX5MdrDlwoNsjM2ndYDewZojggevX0o9qXjzpengRo2+hMpXO1LVwjSzogH90cgMOftGa5vodMmO5pu5OLqh2ybxJtjMW2h0adcuQu/2xKTrPbT96N+4LUjyk3s2YyGX3o6Fm0iKahuXGSJ8lg0VVC/FXKTfsBWej0y9wspdanaY1xHtm8ghQhFRPYr5ZuP4uGTe9RDh/wuTtCNUgbuIAlAF5XCJoGLrAXBqnET+CAd9v2kIkUg1zVQU4I0JfR3Eslan7VR+ICuFhhHJYCyfJXRZd4QL3W5Lo4ac3wVyYl1ljZgprpOOcyLqdikvY8pES+K1zH8KVg==
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=N9ITGTvJFNB2j4xLy9eNOmtDYVp8M9SoBRDzPUxldn0=;
 b=Rk/+PewjdC9U+qd5feMoYxHUuCmAYMAeJ3w6eR7es1xcIRuBK6U/9DC6U2GiwouZWed+2hQbvS0HI1IHA2g0V/xdgJz9y0l2YBfIzXiOtUJmGF/oI5khL19jplRW2R6sNyRZiQqzc/rKQ/0i7Oq+geE6koc+WoC4n+nFB0eQuFs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>,
	"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>, Huang Rui <ray.huang@amd.com>
Subject: [RFC XEN PATCH v7 5/5] domctl: Add XEN_DOMCTL_gsi_permission to grant gsi
Date: Fri, 19 Apr 2024 11:53:40 +0800
Message-ID: <20240419035340.608833-6-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419035340.608833-1-Jiqian.Chen@amd.com>
References: <20240419035340.608833-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: CH2PEPF00000143:EE_|SJ1PR12MB6241:EE_
X-MS-Office365-Filtering-Correlation-Id: 476b92d3-9f9c-45bf-4710-08dc60246fdd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?yCMkr+CN+6ERLnwU+MJ7MVn2tQelGTftT31njxYLeNogkEj7wiX2uPpuuRMr?=
 =?us-ascii?Q?bysMoyKB0GZUrj5F7rbxfN1yIzkkIwFFOR4dHNZAI0HgQ98cMt92DVNrPFfG?=
 =?us-ascii?Q?Lergtbdi6e6eeCgFjQyeIHmpYirj51+KqiKyHHeELOK3uKmF5wlqYU/g3RKV?=
 =?us-ascii?Q?koCjx7+NZYFh1PBk7Dbt4JTbGFOcmErnogEWHMxfZwXvnO1if2gy7KHe1zA/?=
 =?us-ascii?Q?Q97QxD6i4kKuoxfAPjll0RvyYIxUemobIbD+FOk48oqgp/twp517jMuMUIHy?=
 =?us-ascii?Q?/agBUOTcvSlrnco60Jo7InhnXpyoQ7vNESEAZTmmQ3LsK7tfqTMOzbDTOeDM?=
 =?us-ascii?Q?sdaA0eTkfBAUW4ADbSWAMaFRGBGMNUXFbhNvWFv0ddjfVr6Z6SxCq4xpiBtx?=
 =?us-ascii?Q?6weqk2mwI2ssUAu7LGv3Og5fDw+mRdmmjb+BxrBNmimxldgUpGtgIAp659MM?=
 =?us-ascii?Q?W9jA9byhx8kO5P14uef1+JLbGHFwHHdrITjedo/+YYjEtaQzsH2p09nQh0Sb?=
 =?us-ascii?Q?Y7T+qBZWIC3Veef53xpYyT9a5pbYhTBaEmwx4XVGjEuwuHw9EQlu3t3Y1Ru0?=
 =?us-ascii?Q?PYdnwvWU+xJOzxj78JKzgwyZgarVZsMQAnWIqYNOwC5hJ2r6dKyq8C7cJOHZ?=
 =?us-ascii?Q?1yPIOIkXlRJtzNIKsr3feJFXekrhYNOYktFiOTDcCP9G0IWJJ3dO65IPM/tp?=
 =?us-ascii?Q?y2sTYs1pB6Pd/p4ASn3A4FQaMYt2hlFjY5sNTKz9oZgNDrLCDqbNColKk4FY?=
 =?us-ascii?Q?0BXhufU2k5YDnTH7yWhACl+SpV+CRZOZnw1oVdnrst/gQM5Jlnkgr0SzbxEr?=
 =?us-ascii?Q?ioqIEEBg85ApXb80JwD0CTOs5EB/sWDACA4Mz6KwZ+/6WRYOyqrzAniqbf+K?=
 =?us-ascii?Q?lWwoi39XMwLBUzqd/CpAH5XA+uHabnG+nzWAP1q+lmQu4UXgL6C5yAlH6d1T?=
 =?us-ascii?Q?bZGTBm0x1dftdZMq+sZUP96bJYQvFzkHWAzBxuf+2IN1Z59hr9hvAPbsWQSi?=
 =?us-ascii?Q?8AAC5X/Ay4UFuuxcQmZoVEUzVlNy41k4KOHR1dOd1LmA35AD9YUpI/LcoJeA?=
 =?us-ascii?Q?yrG9qIuzi44moNrdDVWqekWScBDCEL65Q+St5LTD+AK0LsYxMJixu9XQklhS?=
 =?us-ascii?Q?KXryzID+KDeKQ05VJotFR4JY34ovoT2asPDWwfkNbXqO6tQ+l55CbPvz6D4C?=
 =?us-ascii?Q?4Zj0dbANoPgjPkN7x5m/oaJOnJ4TTdUz+1S5J6HMqLqjaic4uFPg8K47azNv?=
 =?us-ascii?Q?wv0T4bZYyxFyHYr3x1xZVrWLVY4mg+niRqLYVq/vqs1vgm3/H4531K3of8uc?=
 =?us-ascii?Q?g9NgO2YglXYKrRD8Vu6uqyEkMEW2wQ8runz/V2lPm6kZpURCrnzk8mMqax9/?=
 =?us-ascii?Q?XWLe0z8=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:(13230031)(82310400014)(36860700004)(7416005)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 03:54:39.1004
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 476b92d3-9f9c-45bf-4710-08dc60246fdd
X-MS-Exchange-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:
	CH2PEPF00000143.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6241

Some type of domain don't have PIRQ, like PVH, when
passthrough a device to guest on PVH dom0, callstack
pci_add_dm_done->XEN_DOMCTL_irq_permission will failed
at domain_pirq_to_irq.

So, add a new hypercall to grant/revoke gsi permission
when dom0 is not PV or dom0 has not PIRQ flag.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
 tools/include/xenctrl.h      |  5 ++++
 tools/libs/ctrl/xc_domain.c  | 15 ++++++++++++
 tools/libs/light/libxl_pci.c | 46 ++++++++++++++++++++++++++++--------
 xen/arch/x86/domctl.c        | 31 ++++++++++++++++++++++++
 xen/include/public/domctl.h  |  9 +++++++
 xen/xsm/flask/hooks.c        |  1 +
 6 files changed, 97 insertions(+), 10 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2b9d55d2c6d7..adeaab93d0f7 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1382,6 +1382,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,
+                             bool allow_access);
+
 int xc_domain_iomem_permission(xc_interface *xch,
                                uint32_t domid,
                                unsigned long first_mfn,
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index f2d9d14b4d9f..8540e84fda93 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,
+                             bool allow_access)
+{
+    struct xen_domctl domctl = {
+        .cmd = XEN_DOMCTL_gsi_permission,
+        .domain = domid,
+        .u.gsi_permission.gsi = gsi,
+        .u.gsi_permission.allow_access = allow_access,
+    };
+
+    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/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index d4313e196ebd..7e82f31ffc4f 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1421,6 +1421,8 @@ static void pci_add_dm_done(libxl__egc *egc,
     uint32_t flag = XEN_DOMCTL_DEV_RDM_RELAXED;
     uint32_t domainid = domid;
     bool isstubdom = libxl_is_stubdom(ctx, domid, &domainid);
+    int gsi;
+    bool is_gsi = false;
 
     /* Convenience aliases */
     bool starting = pas->starting;
@@ -1490,6 +1492,8 @@ static void pci_add_dm_done(libxl__egc *egc,
         r = xc_physdev_gsi_from_irq(ctx->xch, irq);
         if (r != -1) {
             irq = r;
+            gsi = r;
+            is_gsi = true;
         }
         r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
         if (r < 0) {
@@ -1499,13 +1503,25 @@ static void pci_add_dm_done(libxl__egc *egc,
             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;
+        if (is_gsi) {
+            r = xc_domain_gsi_permission(ctx->xch, domid, gsi, 1);
+            if (r < 0 && errno != -EOPNOTSUPP) {
+                LOGED(ERROR, domainid,
+                      "xc_domain_gsi_permission gsi=%d (error=%d)", gsi, errno);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
+        }
+        if (!is_gsi || errno == -EOPNOTSUPP) {
+            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, errno);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
         }
     }
     fclose(f);
@@ -2180,6 +2196,7 @@ static void pci_remove_detached(libxl__egc *egc,
     uint32_t domainid = prs->domid;
     bool isstubdom;
     int r;
+    bool is_gsi = false;
 
     /* Convenience aliases */
     libxl_device_pci *const pci = &prs->pci;
@@ -2249,6 +2266,7 @@ skip_bar:
         r = xc_physdev_gsi_from_irq(ctx->xch, irq);
         if (r != -1) {
             irq = r;
+            is_gsi = true;
         }
         rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
         if (rc < 0) {
@@ -2260,9 +2278,17 @@ skip_bar:
              */
             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);
+        if (is_gsi) {
+            r = xc_domain_gsi_permission(ctx->xch, domid, irq, 0);
+            if (r < 0 && errno != -EOPNOTSUPP) {
+                LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d", irq);
+            }
+        }
+        if (!is_gsi || errno == -EOPNOTSUPP) {
+            r = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
+            if (r < 0) {
+                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+            }
         }
     }
 
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 9a72d57333e9..9b8a08b2a81d 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -237,6 +237,37 @@ long arch_do_domctl(
         break;
     }
 
+    case XEN_DOMCTL_gsi_permission:
+    {
+        unsigned int gsi = domctl->u.gsi_permission.gsi;
+        int allow = domctl->u.gsi_permission.allow_access;
+
+        if ( is_pv_domain(current->domain) || has_pirq(current->domain) )
+        {
+            ret = -EOPNOTSUPP;
+            break;
+        }
+
+        if ( gsi >= nr_irqs_gsi )
+        {
+            ret = -EINVAL;
+            break;
+        }
+
+        if ( !irq_access_permitted(current->domain, gsi) ||
+             xsm_irq_permission(XSM_HOOK, d, gsi, allow) )
+        {
+            ret = -EPERM;
+            break;
+        }
+
+        if ( allow )
+            ret = irq_permit_access(d, gsi);
+        else
+            ret = irq_deny_access(d, gsi);
+        break;
+    }
+
     case XEN_DOMCTL_getpageframeinfo3:
     {
         unsigned int num = domctl->u.getpageframeinfo3.num;
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b08..47e95f9ee824 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -447,6 +447,13 @@ struct xen_domctl_irq_permission {
 };
 
 
+/* XEN_DOMCTL_gsi_permission */
+struct xen_domctl_gsi_permission {
+    uint32_t gsi;
+    uint8_t allow_access;    /* flag to specify enable/disable of x86 gsi access */
+};
+
+
 /* XEN_DOMCTL_iomem_permission */
 struct xen_domctl_iomem_permission {
     uint64_aligned_t first_mfn;/* first page (physical page number) in range */
@@ -1277,6 +1284,7 @@ struct xen_domctl {
 #define XEN_DOMCTL_vmtrace_op                    84
 #define XEN_DOMCTL_get_paging_mempool_size       85
 #define XEN_DOMCTL_set_paging_mempool_size       86
+#define XEN_DOMCTL_gsi_permission                87
 #define XEN_DOMCTL_gdbsx_guestmemio            1000
 #define XEN_DOMCTL_gdbsx_pausevcpu             1001
 #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1299,6 +1307,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 78225f68c15c..376076865198 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -685,6 +685,7 @@ static int cf_check flask_domctl(struct domain *d, 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 Fri Apr 19 04:14:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 04:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708712.1107772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfde-0000Ki-3B; Fri, 19 Apr 2024 04:14:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708712.1107772; Fri, 19 Apr 2024 04:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfde-0000Kb-0E; Fri, 19 Apr 2024 04:14:14 +0000
Received: by outflank-mailman (input) for mailman id 708712;
 Fri, 19 Apr 2024 04:14:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfdc-0000KV-WA
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 04:14:13 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 458fb5b9-fe03-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 06:14:10 +0200 (CEST)
Received: from CH3P220CA0027.NAMP220.PROD.OUTLOOK.COM (2603:10b6:610:1e8::25)
 by CH3PR12MB8482.namprd12.prod.outlook.com (2603:10b6:610:15b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Fri, 19 Apr
 2024 04:14:08 +0000
Received: from CH2PEPF00000149.namprd02.prod.outlook.com
 (2603:10b6:610:1e8:cafe::be) by CH3P220CA0027.outlook.office365.com
 (2603:10b6:610:1e8::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.26 via Frontend
 Transport; Fri, 19 Apr 2024 04:14:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000149.mail.protection.outlook.com (10.167.244.106) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 04:14: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.35; Thu, 18 Apr
 2024 23:14: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: 458fb5b9-fe03-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WC3SPS44gpm7Dc02rTYiXcQ1dNITpncxMSLjRc8oiwFByCnBCyXP9PdKqMVQF6wXXVTOvW7SqiY53yBRoxUl/xFLrj51RJsAmFjF0f724vdu4rV7Wb/GRAwnAA4O+xCUT1yhAUrY3Xn5ALc0O1oRE4vjC++J83dfYjbfaASLjgc1hPfXMNLTFgNQtELdYAK24n/2RsiCA1JXwZ15/KwP4Sb/1dOtItsbT8gELO3HPbeeQ4xCsp3Y2vrErOtDvPAkZ94ECJbupocODuQzUcoNnLSgmtrIEHrcn1WbKpNpZSIi9cpD+/18+z+rEWgtfWBElMTygd6SOQLsLKC8ecip9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pj8YD64Ph6IwvRJJqtUYhZIQZnosoF6qgGzX78HNrMA=;
 b=CP8pIPy66ZWI0B3BFcY4zt/0Ufvid5S8B2mFZNpLqjDRpdTRN3BswXR9KlM+6tP+S71B4aikzrDjybTQ7k5UuVqYa8b7EtxoP4sVYxK9QPOt6pKBf93fZryTRxz6KJWepavGur3oo2NJaDyg+i7KOfcgeiJOGw+rGIdn6LsQdLBLV9gkngf7gaWBFx+otol5VxwWNurGB1R+wawn/Sj9tLXkgmLwSMazF2i0D7NIgnVDK4OA18XZ8jBj+R0pLjxnhBtwR08A3XjVR6g2gucsuMLdSl9PxSX+0YwQPbp3NbiDpjKFYsZjYQk/ECQ9ey8y+cuG6zwc/yo4VEJlUQcIsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pj8YD64Ph6IwvRJJqtUYhZIQZnosoF6qgGzX78HNrMA=;
 b=RsFZ7ZlqjTtxL74LHRsspdpiZldZyomG0JVKzdXaFCZyIpi3M6s49Sae161zK6z9qsLmNQY8UmxVTKqtuAAxmlz2FnsjUNq1nhq3ALVPogWVC1xMEjH8ILeAnEYyQtflvhI011kUn2TgWXkpshour7+UbvO6snQn66IUTE+nrXA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <qemu-devel@nongnu.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>, Huang Rui <Ray.Huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>
Subject: [RFC QEMU PATCH v6 0/1] Support device passthrough when dom0 is PVH on Xen
Date: Fri, 19 Apr 2024 12:13:50 +0800
Message-ID: <20240419041351.633856-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: CH2PEPF00000149:EE_|CH3PR12MB8482:EE_
X-MS-Office365-Filtering-Correlation-Id: 3dd63812-992c-442e-5245-08dc6027284c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6TOIrRuO1jIbFcaZSCKph0h3rkUYigLTp1GFUhGMt/LPzAcS3HtN4qqmcPb9ZZx0B+6eBj+3HTKd2oHnx0TfJIUkv7nLSDFB/OKK11ztyiPbnWyYRoWMVOoMkvMgGJ/47p0PCIF7XBmQMwc3rmqRsm2hgz4YYI2NgyVXo/JcA+Zgqr8NICh+AWzqIl9sgK71GjkdkHiEjXOOdBltPngJ9hrgSOivdcpvVqETUIkTC09u7GOs7WCUEzNcrgdq3WueFrYlxiVo0ipvwriqz+fw8g1OXyDsXRx+bBPutLuLLKLxMaECUTR9BKZ9wvFFkuXEQKsjdbZQ17QrDJ4P37zaCNwaAGsxmjwYU8MK1JF+p9OvAiMRlLmk6SF8kWCj4x58gvZveftBvIUij8pHqoR5uwlvkPCK1Hlt5t7ysgHp2lxn1BiGTuldKf1+xmUkx5XMTpNS31OZ6yOg7t55bBkMs2Dr86pO8M2XW7HNZE00Yz1xna65/1Lx8gi7hb6eq52EC4uAYUtFjLmn8I6ei9DfEY3Fai6Hf6IEvv7BIMdidNFEg1kVPM1oQD2hbmhojzKdRwFOV5Xr7feewhmd1X5xGx+m4q8jcSvOT1UWfeKQbs75W8vg4SiS9chVHluSR7n9JBQ6ezhqJjBOEp3XodGFN+oIOiPRvgdZn48wTkInnvMNHUIWesUVm5YG0LJ7R10wRVdQQHRcVXei1qLqrafGvkK8Inszo26JZHiGl/snSpK2wuAdNu8wMD2JbQQW6vpo
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 04:14:07.5224
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3dd63812-992c-442e-5245-08dc6027284c
X-MS-Exchange-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:
	CH2PEPF00000149.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8482

Hi All,
This is v6 series to support passthrough on Xen when dom0 is PVH.
v5->v6 changes:
* Due to changes in the implementation of obtaining gsi in the kernel and Xen. Change to use xc_physdev_gsi_from_irq, instead of gsi sysfs.

Best regards,
Jiqian Chen


v4->v5 changes:
* Add review by Stefano


v3->v4 changes:
* Add gsi into struct XenHostPCIDevice and use gsi number that read from gsi sysfs
  if it exists, if there is no gsi sysfs, still use irq.


v2->v3 changes:
* 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.


Below is the description of v2 cover letter:
This patch is the v2 of the implementation of passthrough when dom0 is PVH on Xen.
Issues we encountered:
1. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device\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 on qemu side is the same as the v1 
(qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.

Jiqian Chen (1):
  xen/pci: get gsi from irq for passthrough devices

 hw/xen/xen-host-pci-device.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 04:14:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 04:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708713.1107782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfdj-0000bB-Ai; Fri, 19 Apr 2024 04:14:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708713.1107782; Fri, 19 Apr 2024 04:14:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfdj-0000b4-6w; Fri, 19 Apr 2024 04:14:19 +0000
Received: by outflank-mailman (input) for mailman id 708713;
 Fri, 19 Apr 2024 04:14: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=Z1xH=LY=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1rxfdh-0000KV-Fr
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 04:14:17 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2407::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48f51fb7-fe03-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 06:14:16 +0200 (CEST)
Received: from CH0PR03CA0027.namprd03.prod.outlook.com (2603:10b6:610:b0::32)
 by DM4PR12MB8521.namprd12.prod.outlook.com (2603:10b6:8:17e::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.43; Fri, 19 Apr
 2024 04:14:10 +0000
Received: from CH2PEPF00000147.namprd02.prod.outlook.com
 (2603:10b6:610:b0:cafe::1d) by CH0PR03CA0027.outlook.office365.com
 (2603:10b6:610:b0::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.33 via Frontend
 Transport; Fri, 19 Apr 2024 04:14:10 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH2PEPF00000147.mail.protection.outlook.com (10.167.244.104) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 19 Apr 2024 04:14:09 +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.35; Thu, 18 Apr
 2024 23:14: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: 48f51fb7-fe03-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=essMYa36UEEL2s0TK5CvDEm1HOTaNT7ZhnKAQHbXgkmE+M6KMaOjUb0GbPwbvPEnYkW9CwOAUkW87MbA4nZfnMjyo4tK/o92pgw7elbDcnHXy1wlfnQBu2CduY1WX0ItU8rkMLHym+Pq4j1pw4N3x/PQsWU8/FBUMihpVRPY3QrPNa2Eq6WoK1kazVtiASJXS13eegNXcEgX01qis6iS7rS6vmKl8OQtC3Kvz7Uq8gYXkVVKrmCIarvBKrjfBMhe4BmVCccn2Z2wFKaXInUMuDS7oOQfygoIggsO/YSR4duIU/NPn75kJn3v9vm0kt3UCeA5/ha1RWEC+Z3bn7zcDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Iegew8C87PUBULbDOFADEVQbH+6F4VJbkJFD0Bu2N0=;
 b=g1Uo5KDfDTjDEX43xmAZ2MiuMnR11WaFZYTjKEyylvYvpfDHvTkNQpuZmKkQwA4ib9ZFgOUEOwhx8ypy/Yg7npIzvA3zxySRU65aq1YlZUeS/dACy8MqJpkRpIMqtPjftn69GfDAdMLbT2JizXJZa8Xn08N5A8AT6A7Q+HCiAzCObMMwtl1P+QRZr+MPXif4VMbSQHA/mDtPBTOY4VLjd+gT+LuKcNUG9js3THuKfARuRzbqHHrxd8kGy6JAvAaeW2wIauvK0ItW7aZzNDKvcMBs7d/jVKOZrcnReDNJvkGCrabp0jl0Mk1E9/MrTDJE48DTyL0cKM1djASPsAa3wg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Iegew8C87PUBULbDOFADEVQbH+6F4VJbkJFD0Bu2N0=;
 b=Ybq8HvDbmkVcQnETVSdEgXLXNUVwm+CDxPc25D9oaFmErlWKrVtrfYsMTXypdxC6FtWiFDsZOXXhd+jaxyfYH7fHU0oVhQ8jrdu3AZgS6n7zhlTANXq/TR6AbDKq0ur2MapDSkIChzvmrQIUOGBSWxzwdJFgWfw7J+eA1xYNQb8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <qemu-devel@nongnu.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>, Huang Rui <Ray.Huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [RFC QEMU PATCH v6 1/1] xen/pci: get gsi from irq for passthrough devices
Date: Fri, 19 Apr 2024 12:13:51 +0800
Message-ID: <20240419041351.633856-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240419041351.633856-1-Jiqian.Chen@amd.com>
References: <20240419041351.633856-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: CH2PEPF00000147:EE_|DM4PR12MB8521:EE_
X-MS-Office365-Filtering-Correlation-Id: c3b3a9bf-66db-4283-c73d-08dc602729c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SqfHkXKKKT+80xUZIy3be65NiO2nEviZHRqTJ3b2IToOeCcVyZo+ptNebVLJSDERdJSH6Dw2ipmSX3PNW7oRaICaMSDxBh8XQwORrFM9ickW3QHHc9Bkhum5fP8yp5hCGM7wtC6kOsq1SCdg4pbnToAUgE2Ia3HmOTsXvByd9RelpgEl0yim/pcA2zMzHvjE5xrCAHC6zh9FOUUINYv4rh4BPVCCI2BGqtmSHVcNUD8dSsXj8UYqNSS2lwDsFTrerNeZftio5nx1/r/SQUt3BFDM85O52IjZkDvcsR9EZRizq9NaBT5LSA9sylPjHQUUsny9w6xuBEvD4akHPO4Q/0zLtELDBJDMekUJviHYI/ZbYkb199YLTlfkEGYZ8QKhA6hY6NLGzVBYD/B/twkUc5LdrdjkfauCSE1B0JwiI8mZBxmnTwrt6Yz3Idq+U6IM1Yw5mLVc+gWmMvqBC74EPjaDh0aTCCGhwJfJtftmCrOJZHQgGYslvtaq2tswyvZWkEPZKdhpszQsQ2DwLTI8P5+dwH2+F9dV6QvbxN2UhFxmig+ANr1d5OxV0BhfLeTQJVMNGELTX4kME+yDdl+XuCTpAfTaDX+D3f9l+rc31sVIpWeOggRKOTKD6E6+HeB2kABs07fHhilahGNZG5KtgbAGBgTOwIModqkZtz5RIxZj2kjj6C0Pbc/hc9XYm78FJ1Dhv8VuxZInv920747rQaiTHOydIoyhgUCaLnXewaGGbx3z60+qIADXBICalJto
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 04:14:09.9764
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c3b3a9bf-66db-4283-c73d-08dc602729c2
X-MS-Exchange-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:
	CH2PEPF00000147.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8521

In PVH dom0, it uses the linux local interrupt mechanism,
when it allocs irq for a gsi, it is dynamic, and follow
the principle of applying first, distributing first. And
the irq number is alloced from small to large, but the
applying gsi number is not, may gsi 38 comes before gsi
28, that causes the irq number is not equal with the gsi
number. And when passthrough a device, qemu wants to use
gsi to map pirq, xen_pt_realize->xc_physdev_map_pirq, but
the gsi number is got from file
/sys/bus/pci/devices/<sbdf>/irq in current code, so it
will fail when mapping.

Translate irq to gsi by using new function supported by
Xen tools.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
 hw/xen/xen-host-pci-device.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen-host-pci-device.c b/hw/xen/xen-host-pci-device.c
index 8c6e9a1716a2..5e9aa9679e3e 100644
--- a/hw/xen/xen-host-pci-device.c
+++ b/hw/xen/xen-host-pci-device.c
@@ -10,6 +10,7 @@
 #include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "xen-host-pci-device.h"
+#include "hw/xen/xen_native.h"
 
 #define XEN_HOST_PCI_MAX_EXT_CAP \
     ((PCIE_CONFIG_SPACE_SIZE - PCI_CONFIG_SPACE_SIZE) / (PCI_CAP_SIZEOF + 4))
@@ -368,7 +369,11 @@ void xen_host_pci_device_get(XenHostPCIDevice *d, uint16_t domain,
     if (*errp) {
         goto error;
     }
-    d->irq = v;
+    d->irq = xc_physdev_gsi_from_irq(xen_xc, v);
+    /* if fail to get gsi, fallback to irq */
+    if (d->irq == -1) {
+        d->irq = v;
+    }
 
     xen_host_pci_get_hex_value(d, "class", &v, errp);
     if (*errp) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 04:34:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 04:34:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708724.1107793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfwf-0005te-1z; Fri, 19 Apr 2024 04:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708724.1107793; Fri, 19 Apr 2024 04:33:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxfwe-0005tX-TS; Fri, 19 Apr 2024 04:33:52 +0000
Received: by outflank-mailman (input) for mailman id 708724;
 Fri, 19 Apr 2024 04:33: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=hnvp=LY=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1rxfwc-0005tP-Rf
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 04:33:50 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02ae996c-fe06-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 06:33:47 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:8ac4:0:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.17.1) with ESMTPS id 43J4XVZb002724
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 19 Apr 2024 00:33:37 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 43J4XVeI002723;
 Thu, 18 Apr 2024 21:33:31 -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: 02ae996c-fe06-11ee-94a3-07e782e9044d
Date: Thu, 18 Apr 2024 21:33:31 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, Kelly Choi <kelly.choi@cloud.com>
Subject: Re: Serious AMD-Vi(?) issue
Message-ID: <ZiH0G5kN6m+wlNjn@mattapan.m5p.com>
References: <CAO-mL=xndFd7xTU4Q+9hjLL-7zqZUGjYcp3_REa6QqXvtyAEYg@mail.gmail.com>
 <Zf3aWXfCANR7zXj8@mattapan.m5p.com>
 <e9b1c9c4-523b-481b-946e-37c7c18ea1d2@suse.com>
 <ZgHwEGCsCLHiYU5J@mattapan.m5p.com>
 <ZgRXHQpamLIdu7dk@mattapan.m5p.com>
 <c2ce4002-58d5-48a3-949c-3c361c78c0ac@suse.com>
 <ZhdNxWNpM0KCzz8E@mattapan.m5p.com>
 <2aa4d1f4-ff37-4f12-bfbb-3ef5ad3f6fdd@suse.com>
 <ZiDBc3ye2wqmBAfq@mattapan.m5p.com>
 <f0bdb386-0870-4468-846c-6c8a91eaf806@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f0bdb386-0870-4468-846c-6c8a91eaf806@suse.com>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Thu, Apr 18, 2024 at 09:09:51AM +0200, Jan Beulich wrote:
> On 18.04.2024 08:45, Elliott Mitchell wrote:
> > On Wed, Apr 17, 2024 at 02:40:09PM +0200, Jan Beulich wrote:
> >> On 11.04.2024 04:41, Elliott Mitchell wrote:
> >>> On Thu, Mar 28, 2024 at 07:25:02AM +0100, Jan Beulich wrote:
> >>>> On 27.03.2024 18:27, Elliott Mitchell wrote:
> >>>>> On Mon, Mar 25, 2024 at 02:43:44PM -0700, Elliott Mitchell wrote:
> >>>>>> On Mon, Mar 25, 2024 at 08:55:56AM +0100, Jan Beulich wrote:
> >>>>>>>
> >>>>>>> In fact when running into trouble, the usual course of action would be to
> >>>>>>> increase verbosity in both hypervisor and kernel, just to make sure no
> >>>>>>> potentially relevant message is missed.
> >>>>>>
> >>>>>> More/better information might have been obtained if I'd been engaged
> >>>>>> earlier.
> >>>>>
> >>>>> This is still true, things are in full mitigation mode and I'll be
> >>>>> quite unhappy to go back with experiments at this point.
> >>>>
> >>>> Well, it very likely won't work without further experimenting by someone
> >>>> able to observe the bad behavior. Recall we're on xen-devel here; it is
> >>>> kind of expected that without clear (and practical) repro instructions
> >>>> experimenting as well as info collection will remain with the reporter.
> >>>
> >>> After looking at the situation and considering the issues, I /may/ be
> >>> able to setup for doing more testing.  I guess I should confirm, which of
> >>> those criteria do you think currently provided information fails at?
> >>>
> >>> AMD-IOMMU + Linux MD RAID1 + dual Samsung SATA (or various NVMe) +
> >>> dbench; seems a pretty specific setup.
> >>
> >> Indeed. If that's the only way to observe the issue, it suggests to me
> >> that it'll need to be mainly you to do further testing, and perhaps even
> >> debugging. Which isn't to say we're not available to help, but from all
> >> I have gathered so far we're pretty much in the dark even as to which
> >> component(s) may be to blame. As can still be seen at the top in reply
> >> context, some suggestions were given as to obtaining possible further
> >> information (or confirming the absence thereof).
> > 
> > There may be other ways which haven't yet been found.
> > 
> > I've been left with the suspicion AMD was to some degree sponsoring
> > work to ensure Xen works on their hardware.  Given the severity of this
> > problem I would kind of expect them not want to gain a reputation for
> > having data loss issues.  Assuming a suitable pair of devices weren't
> > already on-hand, I would kind of expect this to be well within their
> > budget.
> 
> You've got to talk to AMD then. Plus I assume it's clear to you that
> even if the (presumably) necessary hardware was available, it still
> would require respective setup, leaving open whether the issue then
> could indeed be reproduced.

I had a vain hope your links to AMD would allow you to say "we've got a
major problem in need of addressing ASAP".

I suspect it will reproduce readily.  The sparsity of reports is likely
due to few people using RAID1 for flash.  Yet even though the initial
surveys suggest flash has a rather lower initial failure rate, they're
still pointing to rather non-zero failures in the first 5 years.

> >> I'd also like to come back to the vague theory you did voice, in that
> >> you're suspecting flushes to take too long. I continue to have trouble
> >> with this, and I would therefore like to ask that you put this down in
> >> more technical terms, making connections to actual actions taken by
> >> software / hardware.
> > 
> > I'm trying to figure out a pattern.
> > 
> > Nominally all the devices are roughly on par (only a very cheap flash
> > device will be unable to overwhelm SATA's bandwidth).  Yet why did the
> > Crucial SATA device /seem/ not to have the issue?  Why did a Crucial NVMe
> > device demonstrate the issue.
> > 
> > My guess is the flash controllers Samsung uses may be able to start
> > executing commands faster than the ones Crucial uses.  Meanwhile NVMe
> > is lower overhead and latency than SATA (SATA's overhead isn't an issue
> > for actual disks).  Perhaps the IOMMU is still flushing its TLB, or
> > hasn't loaded the new tables.
> 
> Which would be an IOMMU issue then, that software at best may be able to
> work around.

Yet even if uses of RAID1 with flash are uncommon or rare, I would
expect this to have already manifested on Linux without Xen.  In turn
this would suggest Linux likely already has some sort of workaround.

I suspect this is a case of there is some step which is missing from
Xen's IOMMU handling.  Perhaps something which Linux does during an early
DMA setup stage, but the current Xen implementation does lazily?
Alternatively some flag setting or missing step?

I should be able to do another test approach in a few weeks, but I would
love if something could be found sooner.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:16:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:16:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708731.1107801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhY0-0001hS-4a; Fri, 19 Apr 2024 06:16:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708731.1107801; Fri, 19 Apr 2024 06: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 1rxhY0-0001hL-22; Fri, 19 Apr 2024 06:16:32 +0000
Received: by outflank-mailman (input) for mailman id 708731;
 Fri, 19 Apr 2024 06:16:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxhXz-0001hF-LY
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 06:16:31 +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 5b5df755-fe14-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 08:16:28 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2da08b06e0dso19500931fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 23:16: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
 e32-20020a5d5960000000b0033ec9ddc638sm3559950wri.31.2024.04.18.23.16.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 23:16: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: 5b5df755-fe14-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713507387; x=1714112187; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1m1bw45xU791MkkSjUkpVIGbrlsbBc7ZN3voO5GNdhc=;
        b=fFc0uWShHETrpsZfCnTelc1LbQnfmSzv9dCloYDHz48jyCdNB0K2t5qAh0kunB5Y8u
         gV96TCE9Fu8bNna6//KPDqeFxHCER80jklM7/0Ynw/x215qYa2tvBCrb89BWM5zfdes7
         Qqjlne20jULSpETAR4YqpJ9GaQf5wZRw5GdWdzB3RE8dh3J++ZCQW08T5xZcEBjV3fqu
         jPSxRjXNCmyHwh2yiToFB6TYWABUflucaJrjg38eIYbEoPdrWAc7537VE9P24d0DG/9b
         DmwaKVY+GdL4WV6rzrCSt1MxZdXv/w+AyrtI5A338S+GDeZ5rwag091Xeaped0mPbt1A
         lKuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713507387; x=1714112187;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=1m1bw45xU791MkkSjUkpVIGbrlsbBc7ZN3voO5GNdhc=;
        b=pFS+Y/pYHUgcRVmBqnZXHCHMw1wjUvyHM9Eo7WfDccBriOqO1g6//R1i/bXSTBXwce
         Krlmg9XfnX1+zU/O1c6Eo9X17dgM1aNyeXQlmkypu5yKzJgxkfzIdgZztMOiplcGcsUi
         n6Dpi9bzLEbm/7FfAoozyZW0RFSH8EseSXHziI6HSl8AH9rA8HMnr4O7EZSNvDUuwpZx
         rnK2To6+9h4RJ35OMYm8ee7IbcC/VOt4MbPX6xGMk+CaLrO1pM7apnQgVUk+EfLB1jO4
         eZnvXyUfKP59gzwfTu3okFUB/lZZEQSpDVh8LCP05xZejc0yF1tUduh+6Db2CSf0sO16
         CZIg==
X-Forwarded-Encrypted: i=1; AJvYcCXuaS9dDXA0X7J1fgI5bvTqJO/JfmeUfQrKDr2r9EUYwBP1CCoBXegRj8uxMT836qVe4mozGNHHy4LHcDIvVXr5iXZ+zByYTZJIyy2c6f4=
X-Gm-Message-State: AOJu0Yzv65wgcQDGaRCXPcXHiE+qbg6tFLJ0Nj12f/UCzeJ4OfypqDxA
	OUUPdcdoKzdzwc7R8fm1YLwaajMoNtgl8Y11othDKhbcZXYFHOBVutbByY4LPg==
X-Google-Smtp-Source: AGHT+IHN9eYeaJZFlMj5WgvcoLuV3cst3xn3AnQg3Uqc8E8Oj6UgONScWLgUIg6kv1ksDr0TCnhIuQ==
X-Received: by 2002:a2e:9687:0:b0:2d6:cbf2:ed2b with SMTP id q7-20020a2e9687000000b002d6cbf2ed2bmr628567lji.30.1713507387535;
        Thu, 18 Apr 2024 23:16:27 -0700 (PDT)
Message-ID: <ce455101-ea44-412e-bcea-a216e2acc350@suse.com>
Date: Fri, 19 Apr 2024 08:16:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/5] xen/domctl, tools: Introduce a new domctl to get
 guest memory map
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <20240409045357.236802-2-xin.wang2@amd.com>
 <e3f7b726-f7df-4aee-b69f-638cf492d18b@suse.com>
 <2e273d57-cd9b-4e05-a9c4-bd9782884e23@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2e273d57-cd9b-4e05-a9c4-bd9782884e23@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.04.2024 04:27, Henry Wang wrote:
> On 4/18/2024 8:37 PM, Jan Beulich wrote:
>> On 09.04.2024 06:53, Henry Wang wrote:
>>> --- a/xen/include/public/arch-arm.h
>>> +++ b/xen/include/public/arch-arm.h
>>> @@ -223,6 +223,13 @@ typedef uint64_t xen_pfn_t;
>>>    */
>>>   #define XEN_LEGACY_MAX_VCPUS 1
>>>   
>>> +/*
>>> + * Maximum number of memory map regions for guest memory layout.
>>> + * Used by XEN_DOMCTL_get_mem_map, currently there is only one region
>>> + * for the guest magic pages.
>>> + */
>>> +#define XEN_MAX_MEM_REGIONS 1
>> Why is this in the public header? I can only find Xen-internal uses.
> 
> It will also be used in the init-dom0less app which is the toolstack side.

I've looked there. It's only a convenience to use it there. Imo you want to
do the buffer sizing dynamically (utilizing the change to the hypercall
implementation that I talked you into) and drop this constant from the
public interface.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:18:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708734.1107812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhZg-0002Dp-Fy; Fri, 19 Apr 2024 06:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708734.1107812; Fri, 19 Apr 2024 06:18:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhZg-0002Di-D1; Fri, 19 Apr 2024 06:18:16 +0000
Received: by outflank-mailman (input) for mailman id 708734;
 Fri, 19 Apr 2024 06:18:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxhZe-0002Da-Vq
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 06:18:14 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99c508c4-fe14-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 08:18:12 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-418c2bf2f15so14008905e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 23:18: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
 hg12-20020a05600c538c00b00415dfa709dasm5176286wmb.15.2024.04.18.23.18.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 23:18: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: 99c508c4-fe14-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713507492; x=1714112292; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2T8c1XxGPTwukkqH1z7j6GPCL0Sa7MRpS26jI3aCnoE=;
        b=MBZ0Mx+VNVw7UYy+tsY/kfQ/n2dpW5TLV9MbquueHKjjoefJ1Qn03UA/mWEMfjw43h
         fi5VXzVNVtA3KpDCby73BklD8E8TnhmarZAFv9VP0v7HQG24rkya6RKJb+6W73f5/SPZ
         OJOk2mGuszUpn1KKQdeQYV+4K0nS4r93fnwb7WIe1iv4AYkpcjLFFBo7IAjuUqpGOs7V
         v40B+Iu+IlMf2rZxn7Ezrosj1rPEtttEerF6Rxn9SdAJdTA5QqgwgSF0ZpzNQ9iqqxds
         BtiX7h6NsY5OjKB22O3CzRbkNGilYY9AWI7Sis0GysMzexb4fSrD43Ujt7/exaRyQ8K3
         T4ug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713507492; x=1714112292;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2T8c1XxGPTwukkqH1z7j6GPCL0Sa7MRpS26jI3aCnoE=;
        b=wKxSbOI8UQwJx1l6h7gdpV0dvpYHQDCF24ex8OMN7mQ2fhrilZ/1AuLnNwsa+eP7md
         vdx0SSU3SvMPbS1RLGxkibqwTPkXC5kMCn4h+7e9xs7DveppNFdHvmfnKaM7MHZyqIpB
         gEIo5HwNx5yoj1PYwdKMmSQRHZjTMf2nhh30i+mTgDQ5h79+xo3YAkVsHAiXG51VR4GG
         POM+Fq75LJSAhCJE8TZByAsLLt4NTLYAADqRM7Fyj8kow8CcC0HiQUFApib+k5yLK42L
         paimrA33BuEsCIZkkkNV683i06YiesJBgj1sahChinkBKbl1cgao66MfWHySmaS+mAkP
         OKPQ==
X-Forwarded-Encrypted: i=1; AJvYcCUSUZOjl1npdYiPqPFo4m4aOiIEIKljFDWnPGXeSYVhqWWEhdaDbqBP+z5dvDWy7dz48/DdkuXi+C5AkTLc/XngP4ObrK+K6aVpZjG11Ew=
X-Gm-Message-State: AOJu0YygPfJskHEkwFzKWlktD494FAMxSBXHnDiAevvCzhEAMu2ViCP2
	Ncu01ezpV1EbVjAOJTEOHj8p7E0qcium9wnUEPknw6jiaaOH0O6oFLNU7C3jGg==
X-Google-Smtp-Source: AGHT+IElBF9fp1twwTJrf7TYR+i4ejhDV7xvxlmreapqR5TYQGvTvU8YdHKrYA/pjuBkYVERdBKcbA==
X-Received: by 2002:a05:600c:19c6:b0:416:b91c:f310 with SMTP id u6-20020a05600c19c600b00416b91cf310mr628134wmq.22.1713507492391;
        Thu, 18 Apr 2024 23:18:12 -0700 (PDT)
Message-ID: <f17d6f60-260f-4090-8a42-7bc1b7d93600@suse.com>
Date: Fri, 19 Apr 2024 08:18:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/5] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
 xen-devel@lists.xenproject.org, Daniel Smith <dpsmith@apertussolutions.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <20240409045357.236802-5-xin.wang2@amd.com>
 <cc4fd69b-4866-4f1b-b780-64c5fac7d2d6@suse.com>
 <eaad1ad2-e6ec-42a6-a0fb-236ce93f0a9e@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <eaad1ad2-e6ec-42a6-a0fb-236ce93f0a9e@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.04.2024 04:31, Henry Wang wrote:
> On 4/18/2024 8:54 PM, Jan Beulich wrote:
>> On 09.04.2024 06:53, Henry Wang wrote:
>>> --- a/xen/include/public/memory.h
>>> +++ b/xen/include/public/memory.h
>>> @@ -21,6 +21,7 @@
>>>   #define XENMEM_increase_reservation 0
>>>   #define XENMEM_decrease_reservation 1
>>>   #define XENMEM_populate_physmap     6
>>> +#define XENMEM_populate_physmap_heap_alloc 29
>> Without a comment, how is one supposed to know what the difference is of
>> this new sub-op compared to the "normal" one? I actually wonder whether
>> referring to a Xen internal (allocation requested to come from the heap)
>> is actually a good idea here. I'm inclined to suggest to name this after
>> the purpose it has from the guest or tool stack perspective.
>>
>> Speaking of which: Is this supposed to be guest-accessible, or is it
>> intended for tool-stack use only (I have to admit I don't even know where
>> init-dom0less actually runs)? In the latter case that also wants enforcing.
>> This may require an adjustment to the XSM hook in use here. Cc-ing Daniel
>> for possible advice.
> 
> This sub-op should be called by the init-dom0less application (toolstack 
> side), which runs in Dom0.

I'm puzzled: How can init-dom0less (note its name!) run in Dom0, when there
is none?

Jan

> Daniel has proposed an alternative solution 
> which is based on the hypfs. If we decide to go that route, I think I 
> will rewrite the series. I will wait for the discussion settled. Thanks 
> for looping in Daniel!
> 
> Kind regards,
> Henry



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708740.1107822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhgH-0004YM-3w; Fri, 19 Apr 2024 06:25:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708740.1107822; Fri, 19 Apr 2024 06: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 1rxhgH-0004YF-1F; Fri, 19 Apr 2024 06:25:05 +0000
Received: by outflank-mailman (input) for mailman id 708740;
 Fri, 19 Apr 2024 06:25: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxhgG-0004Y9-26
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 06:25:04 +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 8d913e82-fe15-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 08:25:01 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-418e4cd2196so11776725e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 23:25: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm9024206wmq.34.2024.04.18.23.25.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 23:25: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: 8d913e82-fe15-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713507901; x=1714112701; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tfp7wn/JfpDqx1l+B05bPGx2h3PUtgGSIifLgk1vEUc=;
        b=BpHwPDEbbMWn4K67QwDmtWBBObEHAybIz8Ha80fn4F0k2m3IljdOuhVMwByZWTL+3f
         4UbskTWfto+8LOVakuNieLsgcA8qAo3R/e7zZz3IK102i8VhxLECwN9WNE2Oh9+ialRR
         ZXqcWcOOvTI1hg4fMvwe7phz7g8cyN4X3DzF9+spqIpaN8Q+A1jIeZOpnI/dlFZJDeT3
         llf8x0kQqJ0JlYF0F6IAEBujqEylR4ofo4x7BesDySOIt/nLf+HQJ8DzshQ2qjJuMxpR
         zV7uK1YPjz8lO1bZubcPWafAcGlOHwernZfb8wv8O0AFaoL6KXXXQgXzrgy06GALCbwL
         cXEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713507901; x=1714112701;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tfp7wn/JfpDqx1l+B05bPGx2h3PUtgGSIifLgk1vEUc=;
        b=q+nJxe3yty3S0tQ8ZigXsMuMr4kgx3ZpFd9ExYB5kL7pLha9Y8avYzFfAOdnWnUUIi
         FnvdGQoMga4GQoHkFpxDIZ0U09GUkIbNhbklOGCKWIpyxJOTNqxXGhSAK7XvJNIzmiXS
         oST2IvaEm9ZMZLbB5wmecrstGRkDuQt39m3xVVBhjLkamA0DCockMpQpUbNFLjBRjekg
         Ptnmu+AfEZLHBxxLyadBk1fmLWsqs97Y1LjP+dAhRDXXD3xR75+MnaGnRxCUvGD5jBrU
         ynwTMQHla5jGZ4CsWijCya+5fdhZHtvtbyOLgdLV6Pk0LwJ3ostwmQ0ArdyTbr9FZt2Q
         kI5Q==
X-Forwarded-Encrypted: i=1; AJvYcCV034k/OHzj0+EMazhBX+8b+g7dR3kspzojN7C5dRAmPZeva3rLKPWisfKJXqv1H3Y5hW/pMOUnPRUVP7NRsh/J/amoDAMlHCqsW/kxBKM=
X-Gm-Message-State: AOJu0YyKhVh+cueAUtS1OaJLr8hEAFQxhKD7075bdOKXv7DGzAniqMoM
	ZFWXFSdSOiJXUf57xnxUasFBlMUKFbrd5GC6DuBCugEAsVHeYlvOuHGaDQAUKPu6qA++h3eN/J4
	=
X-Google-Smtp-Source: AGHT+IGH/1rSkM1rQD3K7yCa06JBqCTKSANJnzB1EC+QQVvxSsyKcEgN0LEtMNjAGMo7zudkBl32Zw==
X-Received: by 2002:a05:600c:444f:b0:418:e140:dae with SMTP id v15-20020a05600c444f00b00418e1400daemr705337wmn.28.1713507901348;
        Thu, 18 Apr 2024 23:25:01 -0700 (PDT)
Message-ID: <26b9cbda-4f9b-4ddf-ab27-643e6f78b076@suse.com>
Date: Fri, 19 Apr 2024 08:25:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/spec: adjust logic to logic that elides lfence
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240418155208.7771-1-roger.pau@citrix.com>
 <20240418155208.7771-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: <20240418155208.7771-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.04.2024 17:52, Roger Pau Monne wrote:
> It's currently too restrictive by just checking whether there's a BHB clearing
> sequence selected.  It should instead check whether BHB clearing is used on
> entry from PV or HVM specifically.
> 
> Switch to use opt_bhb_entry_{pv,hvm} instead, and then remove cpu_has_bhb_seq
> since it no longer has any users.
> 
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Fixes: 954c983abcee ('x86/spec-ctrl: Software BHB-clearing sequences')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Except for the odd double "logic" in the title:
Reviewed-by: Jan Beulich <jbeulich@suse.com>
I can't really guess what is meant instead, so in order to possibly adjust
while committing I'll need a hint. But committing will want to wait until
Andrew has taken a look anyway, just like for patch 1.

> There (possibly) still a bit of overhead for dom0 if BHB clearing is not used
> for dom0, as Xen would still add the lfence if domUs require it.

Right, but what do you do.

> --- a/xen/arch/x86/include/asm/cpufeature.h
> +++ b/xen/arch/x86/include/asm/cpufeature.h
> @@ -235,9 +235,6 @@ static inline bool boot_cpu_has(unsigned int feat)
>  #define cpu_bug_fpu_ptrs        boot_cpu_has(X86_BUG_FPU_PTRS)
>  #define cpu_bug_null_seg        boot_cpu_has(X86_BUG_NULL_SEG)
>  
> -#define cpu_has_bhb_seq        (boot_cpu_has(X86_SPEC_BHB_TSX) ||       \
> -                                boot_cpu_has(X86_SPEC_BHB_LOOPS))

Might be worth also mentioning in the description that this construct was
lacking use of X86_SPEC_BHB_LOOPS_LONG (might even warrant a 2nd Fixes:
tag).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:30:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:30:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708750.1107831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhlN-0007LV-P0; Fri, 19 Apr 2024 06:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708750.1107831; Fri, 19 Apr 2024 06: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 1rxhlN-0007LO-MR; Fri, 19 Apr 2024 06:30:21 +0000
Received: by outflank-mailman (input) for mailman id 708750;
 Fri, 19 Apr 2024 06:30:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=52U1=LY=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rxhlM-0007LD-C1
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 06:30:20 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e88::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49eaa6e5-fe16-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 08:30:19 +0200 (CEST)
Received: from BN7PR02CA0003.namprd02.prod.outlook.com (2603:10b6:408:20::16)
 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.7452.55; Fri, 19 Apr
 2024 06:30:15 +0000
Received: from BN1PEPF00004687.namprd05.prod.outlook.com
 (2603:10b6:408:20:cafe::8e) by BN7PR02CA0003.outlook.office365.com
 (2603:10b6:408:20::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.28 via Frontend
 Transport; Fri, 19 Apr 2024 06:30:15 +0000
Received: from SATLEXMB04.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.7452.22 via Frontend Transport; Fri, 19 Apr 2024 06:30:15 +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.35; Fri, 19 Apr
 2024 01:30:15 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Fri, 19 Apr 2024 01:30: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: 49eaa6e5-fe16-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=afrZeifnOQxRndkouh5fWp9Febn/6+B9PioHu0MsExHkdiHerQIJUyexf3v5ih4cKLOjlHt1NXaUrVKnduBtvtmGv99bHR4H74RovQTQ6Y2z6CIiyUc/JCYuewPMFTH1qQxRxTnLqwMenqYU9f/LWCdnR/OnJ4wEkBD6oJq67f9o7C2dgNIUAUXbbaT4x4fF63ayfUNrYSehi1bgMPDGYtR+Z/4BPe1OBGKi9/ddDRaIaWYtdSYIYREbqFgumloc8pJ8lMI7TBp5A+GZ0HhO2E7e5esg4So4vvsdmeTBZGcFscJmFDnt7+mLH/WvxcLEHjdf8s/56MhG1XHJsekceg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C7Hat+JDbOO2WOmmOhCxAXaiRuoZaBVACIZQtQH6N5k=;
 b=aGPyJbKJDGkkk3CFHLltoLUZHymMq/iADgtBXiqYsPz5s/ZU19/eAZl3ZnO2lkZyze+zgQ/Bp3lVopKbw4yQ0yZeuO6Ja8v77hxpWV+oBlT85fdGv63mS5ef6LZYkOzEY1LHORr/I671cHG3eYGDAeCLUoYRgEXxF5gZSU9h3tSl4AyW81mTzlom2Fp2zsYvjBILYBfmBpHeNlzsK91+rVIF8UA/6tYKYxINQcA75cq1tlH7VNPrSas5oOCig+e1JhsVv39R0F7guS4xl5Avmv1cEivv44a99fWbj/CNuXqtNFb/0pUqshhlRr6PbpM/mK4sDl79h8KaGcszYCbX4A==
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=C7Hat+JDbOO2WOmmOhCxAXaiRuoZaBVACIZQtQH6N5k=;
 b=meQyCKe/MQkvqsNk9LkjhOX4PxvS16RaZ9g3h5ql15KlRR/bPhX9qLc6lHyCKJ4R5tR0fZcnt6rDpZVnxJCrJX5Vt7NJA0vBGveyENmZRCPa1bVPF5z6ZqAWrPjSTdLdPhCFv6GaVz6UJax58+Gh2dHlDQsE9PVRY3JFNNPWfDg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <92657c20-ec60-4bcc-9f63-eb8e5b0dfbfa@amd.com>
Date: Fri, 19 Apr 2024 14:30:06 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/5] xen/memory, tools: Avoid hardcoding
 GUEST_MAGIC_BASE in init-dom0less
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Juergen
 Gross <jgross@suse.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
	<xen-devel@lists.xenproject.org>, Daniel Smith <dpsmith@apertussolutions.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <20240409045357.236802-5-xin.wang2@amd.com>
 <cc4fd69b-4866-4f1b-b780-64c5fac7d2d6@suse.com>
 <eaad1ad2-e6ec-42a6-a0fb-236ce93f0a9e@amd.com>
 <f17d6f60-260f-4090-8a42-7bc1b7d93600@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <f17d6f60-260f-4090-8a42-7bc1b7d93600@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004687:EE_|SA1PR12MB8919:EE_
X-MS-Office365-Filtering-Correlation-Id: e88d3866-be5e-4f5b-c934-08dc603a2cb6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FiAjJ60scn6SmSqbwtdp0+n0iMjPp6Mhui2KAFCKG1YyBzIhC3nZ3y8Ea4QKz5Ad7k/6vHnUGxLjNFxExn2bbHdRGgNlV06/A8PmIarT/Pcuq5yROChTggOKoF7AOGdZkGjygmVLXS2OgEOrr+15loeAfCKR+oWHrGCVx37S8frk7ulqPzvtMsrEf6nZybSHHcZydMarwrTxJkuhTUU2TgOmOIxNzTd95I+JgPTwnlIGm/bacquZynxMmkxZrGCByvOhe32+gpLd/tDj47hZGYEy3mf7i2vWMIJjXzM39DKd4+QL6mQWKeksBgTHVdMiBihclvVVQZkpCRvJEXp6aZ4wjHqMC3mpE3yEXgYLGCSf5w9fGcvjYDtroD0xTQ2DqT/H1dUFA2WWQ565VDIk2ZUSTU6ZR932eg1uq2T6wziGACG+7Oh6tzq5mCuM5C2q0LoxMoJjcbkjTOZc+KD6PGp6Uh+TUzm1tPNAn94/51D4kpDJ7Ojw5cZHx/RL9R83GfuAf6bdg0guLw1XCH+BEjBuzCPXDDmfYjsMlDxl/uWXHcjUGrgWcrnAkdqh1VXI3+/tYJdRwPYhkA7wy8nnEjP9s/KwV7qMLi8bAvegBbv3WOCPpPezQYpmJE/Q5T2RidHExz0Z08VI2l7yCuYeow2m7LsMcvZYmJOIXYwN8Kap3fOZCphnm2cdG4naN9+D6A1JNvWysWYAQ7wyxNH9bec3MjGP8NyIwzy2jIgoAtce7m9jUDlsugi/eTQlOFFehBhkfnqECr3kYuPhbLpEpA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(376005)(7416005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 06:30:15.3845
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e88d3866-be5e-4f5b-c934-08dc603a2cb6
X-MS-Exchange-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:
	BN1PEPF00004687.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8919

Hi Jan,

On 4/19/2024 2:18 PM, Jan Beulich wrote:
> On 19.04.2024 04:31, Henry Wang wrote:
>> On 4/18/2024 8:54 PM, Jan Beulich wrote:
>>> On 09.04.2024 06:53, Henry Wang wrote:
>>>> --- a/xen/include/public/memory.h
>>>> +++ b/xen/include/public/memory.h
>>>> @@ -21,6 +21,7 @@
>>>>    #define XENMEM_increase_reservation 0
>>>>    #define XENMEM_decrease_reservation 1
>>>>    #define XENMEM_populate_physmap     6
>>>> +#define XENMEM_populate_physmap_heap_alloc 29
>>> Without a comment, how is one supposed to know what the difference is of
>>> this new sub-op compared to the "normal" one? I actually wonder whether
>>> referring to a Xen internal (allocation requested to come from the heap)
>>> is actually a good idea here. I'm inclined to suggest to name this after
>>> the purpose it has from the guest or tool stack perspective.
>>>
>>> Speaking of which: Is this supposed to be guest-accessible, or is it
>>> intended for tool-stack use only (I have to admit I don't even know where
>>> init-dom0less actually runs)? In the latter case that also wants enforcing.
>>> This may require an adjustment to the XSM hook in use here. Cc-ing Daniel
>>> for possible advice.
>> This sub-op should be called by the init-dom0less application (toolstack
>> side), which runs in Dom0.
> I'm puzzled: How can init-dom0less (note its name!) run in Dom0, when there
> is none?

[1] is the original patch that introduced this application (More details 
can be found in the cover letter of the original series of [1]). I think 
the use case for this application is to make dom0less domains to use the 
PV driver when dom0 and dom0less domUs exist at the same time. There 
used to be a discussion regarding the naming confusion, see [2] commit 
message, but I cannot remember if this discussion has settled or not.

[1] 
https://lore.kernel.org/xen-devel/20220505001656.395419-6-sstabellini@kernel.org/
[2] 
https://lore.kernel.org/xen-devel/20230630091210.3742121-1-luca.fancellu@arm.com/

Kind regards,
Henry

> Jan
>
>> Daniel has proposed an alternative solution
>> which is based on the hypfs. If we decide to go that route, I think I
>> will rewrite the series. I will wait for the discussion settled. Thanks
>> for looping in Daniel!
>>
>> Kind regards,
>> Henry



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:30:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708751.1107842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhlV-0007bn-0f; Fri, 19 Apr 2024 06:30:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708751.1107842; Fri, 19 Apr 2024 06:30:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhlU-0007bg-Tv; Fri, 19 Apr 2024 06:30:28 +0000
Received: by outflank-mailman (input) for mailman id 708751;
 Fri, 19 Apr 2024 06:30: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxhlS-0007aq-U7
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 06:30:26 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d973627-fe16-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 08:30:25 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-415515178ceso12133945e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 23:30: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
 k6-20020a5d6d46000000b003434f526cb5sm3557367wri.95.2024.04.18.23.30.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 23:30: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: 4d973627-fe16-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713508223; x=1714113023; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ylV5XZL5HAdUksFhAG05h7WrSekdu5do/DMWE9mnS2Q=;
        b=AhLmmqGbJoIeb/D1+J6m/BvlpDL1747mJHVKHv/yAQk6eksZnVzvt2r/68MNLROEbs
         Hur53npdaWCKyZe6olN1cwv33nP3NxAVQW1pujeejYxmAHDbPbStpodMWTHgmXVy/cGT
         4aB+eDAob3aCp2ctRjqJ0E2rv66EzOQnab53dK1KD1reQ5gSrO2wYppcaH9A5ryRT5TY
         Hxq7DM7IBfrRoyvDnBYoK87SfGu8s247xcWfbPzWPjfiNPB9161PYhGecMHS8LByfSC6
         9ckNAcizsIKyCbRJNRSs7oIS4N7dSpo9PRGCGJogJwT8aUNw/cH0cAEZB/XqpnJPpaxS
         o1IQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713508223; x=1714113023;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ylV5XZL5HAdUksFhAG05h7WrSekdu5do/DMWE9mnS2Q=;
        b=NSD6X5eQ9l9EvqOcxLsWJwBWyBnAmSSEjVjCVzPUghFFq0xcMzmGm7kl0tW/pnbpSX
         vrVYDRrlZn/WQrcfSbsVYSZnPzwpBlWpSrazMIORgejPZ96no8MdpKaUQbl/Neoi3az5
         ueO1e4m29SE0w69QpDm9f2W8qwklfrx5s+6KM0Cghh59qkepwPGHeu/mWbV+S6ktxIwM
         Oi3B7WJnyGWa3eRSM3jrC2vTgMlZc72IdDdpl4k1ehlTM5Mie3tnC2499r3KGxlvDYXM
         gJ6mdVD3xu9yyQimmCsW7PdeilChwxGbQ8kJzuAizzzesSKBbhMDH6rmuMkHh8yLTHlm
         oQFw==
X-Forwarded-Encrypted: i=1; AJvYcCW2W2cDrR/bZE4UhpKSzR/sFRl6hr9XC16/5H56t5LSdNlPaKHDKR4K8kjKG0dSrKFmG1tzfnjrHBnoz5GSxvuogJ2x/po/CO+oK7uUJdA=
X-Gm-Message-State: AOJu0Yzy+QzeOid6VT0Y183YX272PzlDBbvm/RU5igRJVfsREIfP5oZq
	3y16AfnBczjMtiSp98GKDXBKS6GNs6YcobiTFAKxGf4mVuPUfJ/EW6IxakmwbA/w3PNGJOaQlnE
	=
X-Google-Smtp-Source: AGHT+IEC7B7S7qhyFkwDHJSxq7pg/UmldUz0RA7zryEWRyb/rC9YnKx8WsTsqCs2fS+9Z8MEfqaQ/Q==
X-Received: by 2002:a5d:64ef:0:b0:34a:5d59:5529 with SMTP id g15-20020a5d64ef000000b0034a5d595529mr563895wri.5.1713508223485;
        Thu, 18 Apr 2024 23:30:23 -0700 (PDT)
Message-ID: <957300e9-67dc-4590-9633-4c9b5318828d@suse.com>
Date: Fri, 19 Apr 2024 08:30:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] docs/misra: mark the gzip folder as adopted code
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Federico Serafini <federico.serafini@bugseng.com>
References: <2970c1010e227ca1460c5656d13fb87a05d87f29.1713174475.git.federico.serafini@bugseng.com>
 <d62f622b-65b4-4e37-87db-3cc88c89da67@citrix.com>
 <eb82270c-52f2-49f9-9aaa-72906e5b9b97@suse.com>
 <e25ae134-a510-432a-a9a3-b6ebac8c31c6@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: <e25ae134-a510-432a-a9a3-b6ebac8c31c6@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.04.2024 20:33, Andrew Cooper wrote:
> On 18/04/2024 8:39 am, Jan Beulich wrote:
>> On 15.04.2024 17:44, Andrew Cooper wrote:
>>> On 15/04/2024 10:56 am, Federico Serafini wrote:
>>>> Mark the whole gzip folder as adopted code and remove the redundant
>>>> deviation of file inflate.
>>>>
>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>
>>> I hadn't realised that we had a special case like this.  Definitely
>>> better to get rid of it.
>>>
>>> I've pulled this into my `for-next` branch, and will get it committed
>>> properly when OSSTest (our non-gitlab CI) is in a happier state.
>> Hmm. Considering Daniel's work (which I'll comment on separately), is this
>> really going to remain "adopted"? We're about to diverge to a degree where
>> simply taking patches from the original source isn't going to work anymore.
>> IOW I think we want either Daniel's work (and perhaps follow-on adjustments)
>> or marking of that code as adopted.
> 
> inflate.c is was from Linux in 2010.  There's only one build fix and one
> comment change in Linux since 2010, whereas Xen's copy has seen several
> bugfixes and cleanups.
> 
> gunzip.c has floated around rather more (it was originally some glue
> code in bZImage.c) but it was entirely rewritten first, to support other
> types of decompression (we did this differently in Xen), and second to
> support KASLR.
> 
> In both cases, there's not an upstream to usefully track, and we
> probably take ownership.

I'm confused by the combination of your reply (seemingly agreeing with my
perspective) vs you having committed the patch. Can you clarify whether I
misunderstood your reply? Imo gzip code should no longer be excluded from
any scans when we take ownership. Hence why I would have expected a v2 of
the patch also dropping (rather than adjusting) the exclude-list.json
entry.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:41:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:41:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708764.1107852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhwI-00021V-0t; Fri, 19 Apr 2024 06:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708764.1107852; Fri, 19 Apr 2024 06:41:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxhwH-00021O-TE; Fri, 19 Apr 2024 06:41:37 +0000
Received: by outflank-mailman (input) for mailman id 708764;
 Fri, 19 Apr 2024 06: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=iezf=LY=epam.com=prvs=0839d8b339=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxhwH-00021I-Gl
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 06:41: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 dd47356d-fe17-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 08:41:35 +0200 (CEST)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43IKi10I014918; Fri, 19 Apr 2024 06:41:31 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3xk90nh87c-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 19 Apr 2024 06:41:31 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by PAVPR03MB9357.eurprd03.prod.outlook.com (2603:10a6:102:30d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.43; Fri, 19 Apr
 2024 06:41:28 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7472.042; Fri, 19 Apr 2024
 06: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>
X-Inumbo-ID: dd47356d-fe17-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jRzKHbW9kbIXCq7luBYXxy+i9+9HYBf+50J5ahWgUl3gL7nzZisr6317u43PPvwjdScMkpPp/9jRc17ix+wOz0TOxXuG7aMMnOO61gkFV+CjJx99cf9m8fjVF9Nxc5Pf5zvh1zd2GK4BFJXud/0iMUffTmLMbtQOnQdCg3cbOMX4tdljbpbsv+uwu3WOzvqSSzU1CD71QeRbpzjOb411XUz59rTdZFh+9TE0/H+WJ6lIJIwHNyGClWvx8Sqnt1Qsl6Q+412v2RicI8PBeCB920GGvJZZChR9C1Xy708UmwZW1MppXyqkxnowPPouaosYvIrFWXXlrC1Q1GbYgpt0OA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GulJ1d412oYXl06ZPsjwTwmXkwtWKEQhJlb0LYN14VM=;
 b=PZLw7slpVk5Tyc5UxyzIv3um2+dFzz99enLhR+vvodgRWYuZxTlx6blrHgCBXcmi+HJ/oZszeLOcSYqDTmTWrvbik09JFh4+KOe71VmfRlukaVuE/Gwg5l1+Su27dORAJF/QUCJPvsRn9PJnJHhR0UUqnAingwjlFhdrawLCY/nNUIfSOnUshYWA5E6emyX4jQTrgZOwe9ypGNL3QOSMGPSpbZdjLBLZhv7e4CHkucWgeGBFXWsWhxNUybgVHD2gHpJQV4ZyO1vcs9BXbn0C9Zp9BkaFmg023X6G1QnbxxbwiQdjwroN53O6Gd7pDhQ6NUInVmQaAjfMCusLdToUjQ==
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=GulJ1d412oYXl06ZPsjwTwmXkwtWKEQhJlb0LYN14VM=;
 b=Fc8uN0n+aof+8foceuxC02OZXuDVA2IAACHjGBnr9s/lFq00SPTP4yZALBHXB8V8r2eLYtC89w7o8EYGtk0juwNpLlD8drx9YMdTR61LlNafer8Y2eqhH5XRB6GEYDCk5m5Gl9ZU+W2TKibgl8s0duwv1wMxacyDBZ7YXGMmBxLWcyGWNcQ6wumIV5F9nrRQp1qX0mnuhaw2ZhhkvxW6Lrs9Eizp8Ak9C96drSY3F7VlVgA97tkGetuOk1WtquU/8ai6QEcxd/2CcAnbosbJHd6XE3PhWkcZJmc2lhrY4BJya4Oq5lefEtIz8jCUMvFrVm4Fse9mZ7pFE3c1GZKBBQ==
Message-ID: <d36fb08f-b0d5-457f-b036-b0a3c04950a7@epam.com>
Date: Fri, 19 Apr 2024 09:41:26 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 05/15] x86/p2m: move altp2m-related code to
 separate file
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <20240416062915.3469145-1-Sergiy_Kibrik@epam.com>
 <ba37afe5-7531-45e4-b56c-22761f8dc492@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <ba37afe5-7531-45e4-b56c-22761f8dc492@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0006.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::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_|PAVPR03MB9357:EE_
X-MS-Office365-Filtering-Correlation-Id: f459dd94-3f09-4260-5753-08dc603bbd7f
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	v+vG4lPO+dLvj2eYrMUW6q1vUjHrhVL4gtc2hzAHd/qoyd7bjszwCdvDZnobdKfQOUqE7g2J+qp+LMHMbAGugdaqQWj2sEHjCjFUgGe3Inesu5wUUHEUCxh59P9HkCvjFP1IW8tuxAws5MbMf/CbtJcVKawrbJqJ9H7M+sEkMloZN//ocYvQ55xlVRdIhLdCn82TwvXXzNNbuIXNRcgQ65Iy22QhDEk6r3Mhlrfq2naDOM6eqBjWdjPUxY9A2rF1phLgKsMIi5stkehJga0YBzTcKMik/57Suxj49iCpeTTtu7HS21Z/IpoR/UT6129yembDPemG6xt/ap7EYGrypBJgDVePpFmrclkkBpD7r9m5jGVyrVpob04zdDy2OkoPLb+XBQ/zA/qCEcvQN6vtGUVWq3/wkx+QYERHanE1IvqaSfaYCQUDjGhk7bfA4avLW+BsJU44UjzovlI/ZwiJk84B1WSXZ8fZivEqK1LQqTZdrEPVWvyOODHAikSf58lgBMCd3/tgTMhkZ1+lAsKnBZrk1mOS+y3QKwX78kx9kIqFP3YMFanu5bC11te3FmyinCS4g9cFFc6xoYbhpC6H5JNjkCsoF2nN9DbCQAwanUklmlVZDsHF9+ywivUiV9s/4tOIBxXWOYHICA3CKY6X/R87+sarH0eSyU/nTr+0Gtg=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?TzRQKzEyQ0Q0cHNiN1diUXlSOXE3SWd6ejUyYmtUQzdvRjFyeElQK2swRzRn?=
 =?utf-8?B?QlcrT3lubFJ2NldLengrVWtzOXJaaHV6REZUZkdZMTBBa2F1aEJLeThEYmZ6?=
 =?utf-8?B?Zm5XdW9leTdyWnA2OGhHZ25ESnBYVCtWano5bVcxblhOY3RxV0RMQnlKK2kv?=
 =?utf-8?B?bE15dGgzcVlnWmUyME9BcWRtbUprdDhGMG9VUnpFck84YWZvbjFCd0owRGlv?=
 =?utf-8?B?QldTUXM3d0xCQWI1VnM5Y09iUzZYK0lMenNYQStLTXJMS2pxTjcySVkzVzJY?=
 =?utf-8?B?bXBSUFdBejJYLy81ZWpWb1Q5N3g2SDhYeFFPNXdaZFUwMW1tS2tadk9nSlZX?=
 =?utf-8?B?S0hURU5EeEZzSEN0TUN5eVluTU03U3BhWjhwaUJVZGIvSDFoSXlWUGNpbWhv?=
 =?utf-8?B?YjNDTHZ6UDB1SGE3UzFxQTltRC9RTnZtaE5SSHAvUWEwNjl5RVpPN0o5dmMy?=
 =?utf-8?B?cEFmWTJNZFdHc3hqSE9MR1lXWjAvNFV6TGl1Q2ZxaWNiTmtWRmhmb3JIQ3c1?=
 =?utf-8?B?MmFZR2RsanZzVERYTEl5K1VjL1luZG1vd2lUQkd6ZTFGb1laS1lrbWJlc0Jj?=
 =?utf-8?B?MTk2dldqTHhsYnlPci94WFMvcmNyK0w3TGZBa3l6YXNsRTNNb1AzSm9ZcjVM?=
 =?utf-8?B?clBKRW9SWjZEM0xxdTlDeVA0WDZkVnVnQ05NbUxEMlRJQzBPUGtUeFdLc0dq?=
 =?utf-8?B?SDl6ZFFlaEZseEtUNFkyNk40VVZqNEJrYUZLbGt5Y0lkbVArYUVCVUROZnlR?=
 =?utf-8?B?U1BUc01nanU1RFlzSlFCRGhDd2s4RXo5NitnaU9XdnBodFNUeFpMVmpVSnU1?=
 =?utf-8?B?TTZmMlcwbi9SdnYxcjFlaFFZRS9rUExPRno4cVh6cDhXNVFYZG1PVzltb1kr?=
 =?utf-8?B?OEhwWUQ4Q0NRNHE3QXRVZUdwZDJMcUJaWmNrR1d5V2xBYzNhWTV0K01qM0ZH?=
 =?utf-8?B?c0NvVnVsbTdRMXIxSDhiN3YzbDFHN2NrTXYvL2hIdHE1UjRBbmtBWElXRGJq?=
 =?utf-8?B?bkJ6bTdrWk1zaVMzc1FrRGZGcnRSYmo5OXlleWNqZXdVVSt1Vk55Yy9sOEhw?=
 =?utf-8?B?M1dHYUVzbnprYytIMmltVC90OU9YUmQ3WWtmVDk5UHB2MW9aa1BtcmVjTGtz?=
 =?utf-8?B?cHIwblVOUS80UVdCRXpyVmtoTFlZblBnLzRKVjRJV3ZIblJSVGpDMFFlcm9n?=
 =?utf-8?B?WmoxVFJZY0V0VFlscElQVnc3MlNPbkd4UlhTRjRwUWNZcHJSM00vczZ3OHZo?=
 =?utf-8?B?eTBiVytmZzZVclpPd3dVdUtreEdtdHdUbWMxd0dPT3kvUkM0MGg4Z2s3VDZx?=
 =?utf-8?B?U0JUMVRDQ1dNNVFEdjdjMkE1Sk1mMGNia0tjLy9GM28wdzFEZTh5OEJVZWdN?=
 =?utf-8?B?ZTEzckNObDVDRUJIQmFabmRxUWJqMmNEZVJYdkhkc1NKSHVoNmJMcUJUMXZK?=
 =?utf-8?B?cnhiYVNiQUJSaWFUeDNRUkp5UklxOFh0RG9ZTWl5b1oyTUxmTStoZDE1NDJM?=
 =?utf-8?B?YmhhTlNDTTRTRDczVVQ0eGtGRmZRWWd1UTY3YVhnZjQ2UjFHdmZuS0kxdnFp?=
 =?utf-8?B?bFBCdjJHQTdEcXBiQUVLY0s2WTB0VGlVYm8wYUgzUUpUV0R4RDdUYit6UmFN?=
 =?utf-8?B?cDFWMG0zZmFKWWd3TStYTGhwczQ2a0s0VzlIMEg5TER0TVFQTldDRk1YSkZ4?=
 =?utf-8?B?anIxV0dyaGkzOGM4Zm9LaWRUMDEzMldpdFBuR0hjSWFYdW95MjBueFEycFI1?=
 =?utf-8?B?R0xiZkNhMFpSdWljd05sZFpXOFhYeERKblZSTDZuZlF6UFJJUjlrQWNBYkt3?=
 =?utf-8?B?cWg0NHQrWVFGYW5VUVd5c1M2dnZQdkpINjYycXYwOGxPQ1VzNU5wVXFlU2tn?=
 =?utf-8?B?MU1aR1FYcjhOdTJiMzdqQmxMVzFjZ3FaTS83U1R0UHZIbWd5VXhMYnlaVU9P?=
 =?utf-8?B?Yi8vYmYwTFI1eVVBc1JyQkoxcjZTMThLWUxhOENWMHdBMUZkOVZoOUdGekI0?=
 =?utf-8?B?d0ZYdDB3bWFkNXY2V3RQUURZOVM0M2I3Yk4yU1lJYzhscUI2WWRVTDVPeVNl?=
 =?utf-8?B?alBJUEZMRXdMVm5oR0VLTVlndUhIWWhmc0E5bDc5Tyt0YjdVaXNZQ3hPNXIw?=
 =?utf-8?B?SHVRZUZBTkFjUWY3TXVUVkl4WDhHRmZCV1dyREMyQ3dMRUxWU0RPMVd3V042?=
 =?utf-8?B?OXc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f459dd94-3f09-4260-5753-08dc603bbd7f
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 06:41:27.9823
 (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: Hs0qrD3lqThaIep/uP1Rfr/nqkSL6N1ReQCPocTarVc5oCi6NeumuRBgbrzszV5tyr6d8SPoVY7eJQHsuuwUYA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9357
X-Proofpoint-GUID: hRDDRc6Nb8u0TLQIOFbE-Dq7hRZVLQZG
X-Proofpoint-ORIG-GUID: hRDDRc6Nb8u0TLQIOFbE-Dq7hRZVLQZG
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-19_04,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 suspectscore=0 clxscore=1015 mlxlogscore=861 bulkscore=0 malwarescore=0
 phishscore=0 priorityscore=1501 lowpriorityscore=0 mlxscore=0 adultscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404190047

18.04.24 14:36, Jan Beulich:
> On 16.04.2024 08:29, Sergiy Kibrik wrote:
>> Move altp2m code from generic p2m.c file to altp2m.c, so that VMX-specific
>> code is kept separately and can possibly be disabled in the build.
> 
> The code movement is desirable, but the reasoning isn't quite right (see
> replies on other sub-threads).

understood

> 
>> --- a/xen/arch/x86/mm/altp2m.c
>> +++ b/xen/arch/x86/mm/altp2m.c
>> @@ -9,6 +9,8 @@
>>   #include <asm/altp2m.h>
>>   #include "mm-locks.h"
>>   #include "p2m.h"
>> +#include <public/hvm/hvm_op.h>
>> +#include <xen/event.h>
> 
> Please add above the private header #include-s.
> 

ok

>> [...]
>> +    return rc;
>> +}
>> +
>> +
> 
> No double blank lines please, anywhere.
>
yes, go it

>> --- a/xen/arch/x86/mm/p2m.c
>> +++ b/xen/arch/x86/mm/p2m.c
>> @@ -500,9 +500,8 @@ int p2m_alloc_table(struct p2m_domain *p2m)
>>       return 0;
>>   }
>>   
>> -static int __must_check
>> -p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
>> -                 unsigned int page_order)
>> +int __must_check p2m_remove_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
>> +                                  unsigned int page_order)
>>   {
> 
> And no unrelated re-formatting please (i.e. you really only need to
> touch a single line here).

will fix that


  -Sergiy


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:54:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708773.1107862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxi8v-0005Lc-5R; Fri, 19 Apr 2024 06:54:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708773.1107862; Fri, 19 Apr 2024 06: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 1rxi8v-0005LV-2l; Fri, 19 Apr 2024 06:54:41 +0000
Received: by outflank-mailman (input) for mailman id 708773;
 Fri, 19 Apr 2024 06: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxi8u-0005LP-3s
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 06:54:40 +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 afcf9ab3-fe19-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 08:54:37 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4199332c1dcso369645e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 18 Apr 2024 23:54: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
 r7-20020a05600c35c700b0041638a085d3sm9110549wmq.15.2024.04.18.23.54.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 18 Apr 2024 23:54: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: afcf9ab3-fe19-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713509677; x=1714114477; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yaryZ0Hy0Swi174XIBwSMA2FcjPb7t9zdCJxibR77Sc=;
        b=JND2rzZG3rYkrNfy8zHkawPY0NCeC2ZAFwrBDUwg20V1ZC/HilmJyyzGc71k0MKLqV
         XHPlcYCvQGQyfqjGEt99jc6u3E/wA6w/WLFACjYd2w1qsTj/tY3WaIBVmXFQVPGiUQxM
         o2HBlgEl6DvuP6qB2aN8mxSSFiDWjq4tFtBFzmYiqWEjHzVYzQou5KVgLaRnLaNQQvm1
         CYl1x/gBUzyDJkbFWMYoGZZ724broh1c1Egd6HPKLQYAGYXG7KCsYtEAC5gJMRB1Rm8P
         /YIg+uWImMks1YvZPEG8Jf/C8TRlsrCPsDntPhLIqOy8eLhKsj9dABhxI6w5VPAiP7Vn
         1yTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713509677; x=1714114477;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yaryZ0Hy0Swi174XIBwSMA2FcjPb7t9zdCJxibR77Sc=;
        b=h51mM5crGK7o7Vlr8vEG9Y2dsutpBwOJIrusJqlAaXkq4sFO5el6PzlH7NZugd+OKe
         V9mVk5u3uvZL51PzOMTY5H6S2HzMwzNtPf9qRCmXcD6TNkOY0a7nDN6DUB70znCUnz+N
         mU+9UirxlsYUbHipQC+zJI2gMFqBJYkCfq9GNcU9aAn1xVBbYQoiy840j0XbWbnoJhED
         lcj62FluczcGTB9PdxU2VIe4gKaXjVGe79SueOwp7E2/X4XFCflqHvcO0qU9FuqUlSP+
         ht9VQalo+tFzWeSsQwNad43BydFsMzaI3e4TOXJ9/ZMgZRPSp0mf6dAK5oCplK9TJI4E
         bxWw==
X-Forwarded-Encrypted: i=1; AJvYcCXplGLlguucwfFMAfGIlwH3uw1m6v2xiT9IOraj7xhvFqEDKuF3Yb86l0Xi8mNfENbJWpfkGKEJV0U7oM8iFKvUs2ZtbujahqfE+leUo68=
X-Gm-Message-State: AOJu0Yym5yrxJ+Sjn93peL8MID6D1NCCI+InL+mZcDWa2ALVlaNbOzya
	VLmYkukIHZkJgp/I4/ljihtynYG3Stv6oghKjy0Ngw4ukzO/5FpP+KiS6HUHiQ==
X-Google-Smtp-Source: AGHT+IFiz5sWc43svqfX+qiyva47idLmNBXVHCEKZ3PzggykP6ELLO10InPl1f2Lm8b8C/CSA0eweQ==
X-Received: by 2002:a05:600c:45c8:b0:416:4973:4d59 with SMTP id s8-20020a05600c45c800b0041649734d59mr780448wmo.12.1713509676760;
        Thu, 18 Apr 2024 23:54:36 -0700 (PDT)
Message-ID: <97cd8a74-46e2-4b57-8505-bd3ea58772b8@suse.com>
Date: Fri, 19 Apr 2024 08:54:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PVH: Use unsigned int for dom0 e820 index
To: Jason Andryuk <jason.andryuk@amd.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: <20240418160713.27101-1-jason.andryuk@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: <20240418160713.27101-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.04.2024 18:07, Jason Andryuk wrote:
> Switch to unsigned int for the dom0 e820 index.  This eliminates the
> potential for array underflows, and the compiler might be able to
> generate better code.
> 
> Requested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

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




From xen-devel-bounces@lists.xenproject.org Fri Apr 19 06:56:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 06:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708787.1107915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxiAx-0006bC-1S; Fri, 19 Apr 2024 06:56:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708787.1107915; Fri, 19 Apr 2024 06:56:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxiAw-0006aw-Tc; Fri, 19 Apr 2024 06:56:46 +0000
Received: by outflank-mailman (input) for mailman id 708787;
 Fri, 19 Apr 2024 06:56: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 1rxiAv-0006aL-ES; Fri, 19 Apr 2024 06:56: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 1rxiAv-0003yj-Cx; Fri, 19 Apr 2024 06:56: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 1rxiAu-0007jS-Rk; Fri, 19 Apr 2024 06:56:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxiAu-0001n8-RG; Fri, 19 Apr 2024 06:56: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=dwsZ9K0z+OAEXcWXt6h4s43JqLSFwFCzQTdBhb1IZ/g=; b=tLlqU8xOrU8fA4mz4bvJV7VQK6
	z402fB5yg4Uc3/EkdWqMmMaANkLzyRLhPP1BYE8rBPdaM7c86YrfzCjOTvtqpSwSkOxUKu23fj6w4
	KQV886Q0psArPOGEff9AKkiyKGPOIS+DRXc1NtODgsVFkBYVqhKwDj1l29fD2hb79IW0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185731-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185731: 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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=8763eb782b2c349efb44900ebe82369bf89e0568
X-Osstest-Versions-That:
    xen=ad363fb17d720f1ad047775e1d7b70158f546c46
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Apr 2024 06:56:44 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185712  2024-04-17 07:07:24 Z    1 days
Failing since        185729  2024-04-18 15:37:00 Z    0 days    2 attempts
Testing same since   185731  2024-04-19 00:38:55 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>
  Julien Grall <jgrall@amazon.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-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
   ad363fb17d..8763eb782b  8763eb782b2c349efb44900ebe82369bf89e0568 -> master


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 07:05:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 07:05:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708797.1107938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxiJ6-000079-Up; Fri, 19 Apr 2024 07:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708797.1107938; Fri, 19 Apr 2024 07:05:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxiJ6-000072-RX; Fri, 19 Apr 2024 07:05:12 +0000
Received: by outflank-mailman (input) for mailman id 708797;
 Fri, 19 Apr 2024 07:05:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pund=LY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxiJ5-00006v-Jl
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 07:05:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28129a3a-fe1b-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 09:05:09 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.202])
 by support.bugseng.com (Postfix) with ESMTPSA id DAD444EE0742;
 Fri, 19 Apr 2024 09:05:06 +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: 28129a3a-fe1b-11ee-b909-491648fe20b8
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH v4] xen/domain: deviate MISRA C Rule 16.2 violation
Date: Fri, 19 Apr 2024 09:05:03 +0200
Message-Id: <7b23c76ade7541342332811329e2b8d271e6d31b.1713510238.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 16.2 states:
"A switch label shall only be used when the most closely-enclosing
compound statement is the body of a switch statement".

The PROGRESS_VCPU local helper specifies a case that is directly
inside the compound statement of a for loop, hence violating the rule.
To avoid this, the construct is deviated with a text-based deviation.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 docs/misra/safe.json | 8 ++++++++
 xen/common/domain.c  | 1 +
 2 files changed, 9 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index fe2bc185097d..9b13bcf71706 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -44,6 +44,14 @@
         },
         {
             "id": "SAF-5-safe",
+            "analyser": {
+                "eclair": "MC3R1.R16.2"
+            },
+            "name": "MC3R1.R16.2: using a case label when the most closely-enclosing compound statement is not a switch statement",
+            "text": "A switch label enclosed by some compound statement that is not the body of a switch is permitted within local helper macros that are unlikely to be misused or misunderstood."
+        },
+        {
+            "id": "SAF-6-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 282c3ab62308..1e555d658c97 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -457,6 +457,7 @@ static int domain_teardown(struct domain *d)
 
         for_each_vcpu ( d, v )
         {
+            /* SAF-5-safe MISRA C Rule 16.2: switch label enclosed by for loop*/
             PROGRESS_VCPU(teardown);
 
             rc = vcpu_teardown(v);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 07:16:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 07:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708805.1107948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxiTl-0003LF-T3; Fri, 19 Apr 2024 07:16:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708805.1107948; Fri, 19 Apr 2024 07:16:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxiTl-0003L8-QN; Fri, 19 Apr 2024 07:16:13 +0000
Received: by outflank-mailman (input) for mailman id 708805;
 Fri, 19 Apr 2024 07:16:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pund=LY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxiTj-0003L2-M3
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 07:16:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b29e7894-fe1c-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 09:16:10 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.202])
 by support.bugseng.com (Postfix) with ESMTPSA id A12884EE0742;
 Fri, 19 Apr 2024 09:16: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: b29e7894-fe1c-11ee-b909-491648fe20b8
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Date: Fri, 19 Apr 2024 09:16:06 +0200
Message-Id: <7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The ECLAIR service STD.emptrecd is being deprecated; hence, as a preventive
measure, STD.anonstct is used here, which for Xen's purposes has equivalent
functionality. This new service is already supported by the current version
of ECLAIR.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl b/automation/eclair_analysis/ECLAIR/toolchain.ecl
index 71a1e2cce029..86e9a79b5231 100644
--- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
+++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
@@ -44,8 +44,8 @@
 -doc_end
 
 -doc_begin="See Section \"6.19 Structures with No Members\" of "GCC_MANUAL"."
--config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
--config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
 -doc_end
 
 -doc_begin="See Section \"6.18 Arrays of Length Zero\" of "GCC_MANUAL"."
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 07:26:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 07:26:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708811.1107958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxid4-0005qI-V1; Fri, 19 Apr 2024 07:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708811.1107958; Fri, 19 Apr 2024 07:25:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxid4-0005qB-Qx; Fri, 19 Apr 2024 07:25:50 +0000
Received: by outflank-mailman (input) for mailman id 708811;
 Fri, 19 Apr 2024 07:25: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=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxid3-0005q5-M8
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 07:25:49 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a5a27da-fe1e-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 09:25:47 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-78f0593f45dso115004485a.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 00:25:47 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 m2-20020ae9f202000000b0078d5d9cdc9esm1375821qkg.21.2024.04.19.00.25.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 00:25: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: 0a5a27da-fe1e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713511546; x=1714116346; 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=p219J85QtVCKpbJViwzFHa3A0XI0Y8RkJv1mCEPFp48=;
        b=RPsR4JlSt+zHDqcoxGv3GBpVFh8r1ckVAlpSU0UR81YyZ3WtNSadKSlcWX6+bGkadG
         fijep8nnxckeb7idgAVi7TEL4HmsOy3mAHrJZlqnCzw8UBjCbZUyDueO1uDMPtdqXiT0
         CgpN8GAgzJ+AOK6XYAtG64MVmygr7LpK8YmVM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713511546; x=1714116346;
        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=p219J85QtVCKpbJViwzFHa3A0XI0Y8RkJv1mCEPFp48=;
        b=WhW53MgcjLuBkaqnJWwRh+tpCtVmMqU35fcsNCFKdlftT1em8TH+GMcFXCgCuSYT3I
         Rh6cxHvyrlEoZ6/ZP1ZEAVHrjLnEN+bh+LnhNxB4Zk1wp/fZ9cryCJOJNmCUAZRow6c/
         715g2SZ7744xF/A47Lm/mP0OSCFiSiYKnDXjh5HcPZCOn3XYavLb7/wZa1TiCZJfb2kk
         4+EAEkcuKw7MxAKBeHDl3gPujNstHOwQNDNbqGojItm9YiGDStNrk8tC0YredyiORUJ+
         ZPWntT+kQxzBRb3H07P/XN7Fs8JSTR2saKcjYom0BrFgQ0eYkRVQayIgX4N9FUnLl6tm
         f2sQ==
X-Forwarded-Encrypted: i=1; AJvYcCXzJMfNIAcdo7Xp6SL07GYiZmNyCZOy2YxjaFBce6dtZRVcpWgPcxyemQypiWU+U+VuFgr77hwQD2hxbArjEgR1m0BDcWq0zwWSsfUDvjY=
X-Gm-Message-State: AOJu0Yz1FyYgol7GsLT3gPtcpDkbr834q3Zi9oo1A5ncZsGBhIhx7aA7
	LaiMhSPL9A7zD8LOVFKjG9PHyIV/Ja3sh/ulp91EkrgXO3kNGDyx6qN8K2Ww260=
X-Google-Smtp-Source: AGHT+IGB1BUc2ENtNcD0w+5LIm6Sc72FAzpIyIf7/s2OKEWLYPcvSLJBGkAkAn0LHQoSx2CG+zdabw==
X-Received: by 2002:a05:620a:361f:b0:78f:1b0a:c052 with SMTP id da31-20020a05620a361f00b0078f1b0ac052mr683209qkb.14.1713511546577;
        Fri, 19 Apr 2024 00:25:46 -0700 (PDT)
Date: Fri, 19 Apr 2024 09:25:43 +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 1/2] x86/video: add boot_video_info offset generation to
 asm-offsets
Message-ID: <ZiIcdzOXPlpFvkOn@macbook>
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-2-roger.pau@citrix.com>
 <473870c9-1134-4f17-b063-68ac93ad28e0@suse.com>
 <02d072e2-6bf4-4024-b7b6-d5aa0ec13bc1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <02d072e2-6bf4-4024-b7b6-d5aa0ec13bc1@suse.com>

On Tue, Apr 02, 2024 at 11:43:49AM +0200, Jan Beulich wrote:
> On 02.04.2024 11:38, Jan Beulich wrote:
> > On 28.03.2024 16:35, Roger Pau Monne wrote:
> >> Currently the offsets into the boot_video_info struct are manually encoded in
> >> video.S, which is fragile.  Generate them in asm-offsets.c and switch the
> >> current code to use those instead.
> > 
> > Just to mention it (without asking for immediate action): Defining boot_vid_info
> > in assembly code then is as fragile. Moving to C would likely be problematic
> > because it needs to be in the trampoline range. But at least its size should (at
> > some point) perhaps better be tied to the C struct's sizeof().
> 
> Actually I overlooked that you partly do this. The use of BVI_capabilities there
> looks odd to me, though. Why not
> 
>         .space  BVI_size - (. - boot_vid_info)
> 
> ? I realize it becomes just BVI_size in patch 2, but I have some question there,
> too.

I didn't think much about this because it was going away in the next
patch, but let me adjust.  In fact I was tempted to just use BVI_size
and allocate more than required.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 07:32:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 07:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708817.1107967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxijL-0007Id-H5; Fri, 19 Apr 2024 07:32:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708817.1107967; Fri, 19 Apr 2024 07:32:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxijL-0007IW-Ea; Fri, 19 Apr 2024 07:32:19 +0000
Received: by outflank-mailman (input) for mailman id 708817;
 Fri, 19 Apr 2024 07: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxijK-0007IQ-0Z
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 07:32:18 +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 f1e58360-fe1e-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 09:32:15 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-343e46ec237so1245384f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 00: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
 l18-20020a5d5612000000b0034a62e51429sm585158wrv.112.2024.04.19.00.32.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 00:32: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: f1e58360-fe1e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713511935; x=1714116735; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hDa5cgf3SRDQhdrLUs05Ejf3WSvg/TfhnlTd+lDg3Ho=;
        b=Jf2RK8vLDnnIPmOE0VYy07qeVRJotkwXqvgMbPTZWohs1wsENsAgn82BCDbn5I2dpt
         Hx5bSVChqh1Rk1Ue+dfIr443MD3KTTsSmi3ISvx+DrL16xNmynlRqkMquJ6lcNqoxX2d
         oxmo9Cow0yHNaEPc92b06ilAw3qgkCEahtd91ZPIRuEAlFLRPwOQf+XmX2T+YOhNLuwT
         aQLPhwsm4dNJuiVWKNmE9n32Zz+2+J8g6OoNuhRVCJ7UnN0L4XT6rnaaZ3Z7q4NFx93v
         plYcf5FAjZ0ixwY6z6jekqSRGc8pTcq3B2QUEVRuCZLAIgk8/X5hqidooSFX50ARLfTg
         UZuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713511935; x=1714116735;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hDa5cgf3SRDQhdrLUs05Ejf3WSvg/TfhnlTd+lDg3Ho=;
        b=SdP+66IlOtSlfTXJMvFJptWiKTV6LdC361QbhEW1ZY45mMuCm4rRr3eVMrVdK5+zBD
         HV7kxsL/2hu1XAU9WjV4iphtRBRmmxtw4bCDBFj5o/ZsRwr1QrsX931eWfQz35ZhN0ao
         md6nOvNdJjbuHPTa7f34qg3nyTkmqlOvrMYWnQv6Tyvto/ng/bftIhNnQAK9mBOC2mz0
         A/9SxkVJ9V8BicOGhP3Kx5rePN6Dd6WplU1fWRBW1y8LmhyjRVm2v1mSTKOj4mHziDTz
         o6mqnmQoY967KLe5Q2uKq8LRAXI5jYromo8zq2Ornhba9RYN0RDybK6U3OXuFe97JqPJ
         3CKg==
X-Forwarded-Encrypted: i=1; AJvYcCUNyavT+ikXZUNf3+BJqQ1cvRWqRLKbyHhpKGXCTO+mjVeK/BGB07tplMJQO7tfBdDP23K0K8O19bvoTAZNzcnq3vJDN6BUCZVjeBGus3o=
X-Gm-Message-State: AOJu0Yw3e87Hto4PNkQvC40u4TYNNTSwF3eAOhTe4lZ1XqeSXP2UIE3f
	F26jF9e6U9UsoLYLpI9XCG7aAT6TiKuwOiF5mmcgu23KnTKHrSIOTupKPX9idQ==
X-Google-Smtp-Source: AGHT+IFVtz1nX4e/UdsUF068DycEuYLOxQ3b+JkyJdZjNycDD10IEqo9+PPDi3tIuTErd35OTt14AQ==
X-Received: by 2002:adf:e384:0:b0:347:f695:bae0 with SMTP id e4-20020adfe384000000b00347f695bae0mr862454wrm.31.1713511935166;
        Fri, 19 Apr 2024 00:32:15 -0700 (PDT)
Message-ID: <2c06c6f4-e856-4f5b-b594-7f668dd3e785@suse.com>
Date: Fri, 19 Apr 2024 09:32:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4] xen/domain: deviate MISRA C Rule 16.2 violation
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <7b23c76ade7541342332811329e2b8d271e6d31b.1713510238.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7b23c76ade7541342332811329e2b8d271e6d31b.1713510238.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.04.2024 09:05, Nicola Vetrini wrote:
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -457,6 +457,7 @@ static int domain_teardown(struct domain *d)
>  
>          for_each_vcpu ( d, v )
>          {
> +            /* SAF-5-safe MISRA C Rule 16.2: switch label enclosed by for loop*/
>              PROGRESS_VCPU(teardown);

Nit: Missing blank at the end of the comment, which I'll try to remember to
take care of when committing.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 07:35:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 07:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708820.1107977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxim9-0000Tj-UP; Fri, 19 Apr 2024 07:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708820.1107977; Fri, 19 Apr 2024 07: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 1rxim9-0000Tc-Ro; Fri, 19 Apr 2024 07:35:13 +0000
Received: by outflank-mailman (input) for mailman id 708820;
 Fri, 19 Apr 2024 07:35:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxim8-0000TW-5q
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 07:35:12 +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 5a348c1d-fe1f-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 09:35:10 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4196c62bb72so877095e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 00:35: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
 d5-20020a05600c3ac500b00418fffe2ad6sm2327606wms.16.2024.04.19.00.35.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 00: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: 5a348c1d-fe1f-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713512110; x=1714116910; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wTTG9tiu+ubH6ouetRXibPFDVpYRXGIkPlVqgyf3++4=;
        b=cZtKHtPWQXssMuWkzDWuDqfA/XBbcCu5XEKi6wURw3M/J0SDx1VTMLU6pxgPIXITJO
         +0eU/DbF3vR+GjeshTqMnER99rGgYttBmpDINHdqtZ8d2y6uIpHqOSlKltiXyx42QZIa
         8PFBuJ0/dhLywkWSzMxgTlHr6730uDq1SviiNTDmPjnQJSkfIUYZRbnb/w0HNI5FvK55
         uO31c5600IhiEOFrjUsOIwJU8uXrN3HHfF5jONwIFDaCr785YrY087eqeyswGtWA2p3q
         HTCzta9Fl2VIaBbLPdUSXps6U03N8ShSK8mME4vYHzejB9fK88YIL/rIF9+vFena3CVJ
         OXiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713512110; x=1714116910;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wTTG9tiu+ubH6ouetRXibPFDVpYRXGIkPlVqgyf3++4=;
        b=OZfJ6K2IlsfQqvTbvEi6dIOHTQ7P0VgUJhLC8mDkbnaEfqEjzQ5H2Gu2vU96BbOV/F
         rBhTwlfwNzGTEcHzFZ77aW7mq0CHMFiU8QL/I8z9BhVUfx9EOn+xVjVNO5XmMEMtnjnJ
         GxIrkR0lBXJ1C/TjjzGcDMLEeATrhCTTH0q4dxJH2EhsBU10yXgiIQSUpOzvwflKa/Hu
         Eo6BK1FacoOozkZM5mm/hi7JAIaNJ4KPQl9Ecvuek9/mfh98GayNCFqnT1f06Nn5srDV
         m04xfilPGlMLQq7xkkf44qVVX12C1t3jjEXSzeJEO7vDIDzYc3sfPd3JFgaUGuAdS6f4
         yFYA==
X-Forwarded-Encrypted: i=1; AJvYcCW/C68fwmTGs37MQZhpjqe1BlvN9E2FR2i6fDncTCzEBb2ilT2BNErlWMnia0sRSYkJvMpXqSDxXxN1yEIjdqjLR1ZJPmilWQo2yHie0gg=
X-Gm-Message-State: AOJu0YzW5mRen2G+olbo/PzcX1xOSTX492CV3bK9puTVjOmHtuQ/fdzL
	5dEpzhml+vbICwJu+9i8i88UZa1HtD9lDlD48qjHDrGMP4fBGssnh1GK3n1z3g==
X-Google-Smtp-Source: AGHT+IEYb0Ry1i0X6frmVuIKPSqZhfE82KwDuQ4MkviZscJT4VJK9c8UVCN1Os3ONLHSzIqP4LBJUQ==
X-Received: by 2002:a05:600c:4590:b0:419:ecf:f5df with SMTP id r16-20020a05600c459000b004190ecff5dfmr452478wmo.2.1713512110186;
        Fri, 19 Apr 2024 00:35:10 -0700 (PDT)
Message-ID: <c94d739e-0517-487f-8ba9-d9b19fe8f916@suse.com>
Date: Fri, 19 Apr 2024 09:35:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated
 service STD.emptrecd
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.04.2024 09:16, Nicola Vetrini wrote:
> The ECLAIR service STD.emptrecd is being deprecated; hence, as a preventive
> measure, STD.anonstct is used here, which for Xen's purposes has equivalent
> functionality.

I'm sorry, but no, this still does not clarify things enough. It is still
entirely unclear how "empty record" can reasonably be substituted by
"anonymous struct". Even the expansion of the respective abbreviations
continues to be just a guess.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 07:42:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 07:42:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708828.1107988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxitS-0001xf-M6; Fri, 19 Apr 2024 07:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708828.1107988; Fri, 19 Apr 2024 07:42:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxitS-0001xY-JD; Fri, 19 Apr 2024 07:42:46 +0000
Received: by outflank-mailman (input) for mailman id 708828;
 Fri, 19 Apr 2024 07: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=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxitQ-0001xM-Ji
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 07:42:44 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67e269a4-fe20-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 09:42:43 +0200 (CEST)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-78f05e56cb3so102038185a.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 00:42:43 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 w16-20020a0cef90000000b006a05e9bb2easm512986qvr.99.2024.04.19.00.42.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 00: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: 67e269a4-fe20-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713512562; x=1714117362; 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=nEsGsx9fMsbnNOaT+N4X8FkDI8MNH8fKSqLnYKVxFPQ=;
        b=Tnn2kxVxeMy2lDnQMA7LEl19fRj74xuy3eVZrRPJj2P8EHaGSDXeC3kA71TGIRLfIL
         brV+EtibVzuU2yUOonEn6DtRS0MgA0Ui9dIyS4RbcbSnyNcsasVoAHfhTsiMpSrYrOec
         JWKiV/0243xUeftsnZjwC43MGeXITPbunXyrg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713512562; x=1714117362;
        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=nEsGsx9fMsbnNOaT+N4X8FkDI8MNH8fKSqLnYKVxFPQ=;
        b=cn8cQ+PMWGPTd4QNZQDh/t2sOcaV4febqd2L01f+QndmOmiTV8XAQqfmuZo0xN/QDj
         cMCAJ3gfECTATHUUavG4o79a2wp6So0Avf+RdQJVkj6f+ji9pqecKtNBVM+D9RmOnK1l
         v9lxkVO2LiBMa6Rbc1Gl65IUfVdvzhKVL9fy8t3DwHWATg8tvTNkUMiumyNtNB7tb3bL
         csIvlQLjsAthOK5/TwFCPr2pv5Bi8gfpuleb/vgBSTdIN3VPt4I42+QgfWT8pL4kHAFD
         gN9CR92Qr9NS3QycVMInkT87QlhkodxPb86qmIIPoP1jX8V7XufHlNlzNePUGfEZyKEO
         HQDA==
X-Forwarded-Encrypted: i=1; AJvYcCVlEEVkkcrl47cA6fscYTdMhw/U1l/pcYKw7Os/Yn1AoAQWE/X3OxXaG6ZCm+fovhe3D3Ewc4LIYplLmrunMgNlEmnlK+2JzhZzTqbmKTM=
X-Gm-Message-State: AOJu0YwLy8UbIxuiu3cLdrWhx3MhmnX4mH2DoXc0/VWgyui+eyOic2Ls
	Le76GgvGDQ1yxOvsAi0D6Uq+pJrO4U813whgAC36bHJD0Mv9zz/SqO6EL1rIlaU=
X-Google-Smtp-Source: AGHT+IEH1rXaMIMqy+r+qTL89bxoYqT8HHktCWvtykKYyFbfufsO5kbVfR0AzBiHVZnVBHLSnAiCuQ==
X-Received: by 2002:a0c:8bd9:0:b0:69b:2066:fc58 with SMTP id a25-20020a0c8bd9000000b0069b2066fc58mr1298893qvc.57.1713512562442;
        Fri, 19 Apr 2024 00:42:42 -0700 (PDT)
Date: Fri, 19 Apr 2024 09:42:39 +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 2/2] x86/video: do not assume a video mode to be
 unconditionally present
Message-ID: <ZiIgb4Wnv-GCOoyx@macbook>
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-3-roger.pau@citrix.com>
 <87601c5e-2ee3-4d3f-b4eb-0f509bcf1c2b@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <87601c5e-2ee3-4d3f-b4eb-0f509bcf1c2b@suse.com>

On Tue, Apr 02, 2024 at 11:49:20AM +0200, Jan Beulich wrote:
> On 28.03.2024 16:35, Roger Pau Monne wrote:
> > There's no reason to assume VGA text mode 3 to be unconditionally available.
> > With the addition of booting Xen itself in PVH mode there's a boot path that
> > explicitly short-circuits all the real-mode logic, including the VGA detection.
> > 
> > Leave the default user selected mode as text mode 3 in boot_vid_mode, but do
> > not populate boot_vid_info with any default settings.  It will either be
> > populated by the real-mode video detection code, or left zeroed in case
> > real-mode code is skipped.
> > 
> > Note that only PVH skips the real-mode portion of the boot trampoline,
> > otherwise the only way to skip it is to set `no-real-mode` on the command line,
> > and the description for the option already notes that VGA would be disabled as
> > a result of skipping real-mode bootstrap.
> > 
> > This fixes Xen incorrectly reporting:
> > 
> > (XEN) Video information:
> > (XEN)  VGA is text mode 80x25, font 8x16
> > 
> > When booted as a PVH guest.
> 
> And what effect does this have on a bare-metal boot with no-real-mode in use?
> The default on x86 hardware still is that in the absence of other information,
> a VGA of some kind can be assumed to be there. Yes, there are headless
> systems, but better assume VGA is there when there's not than the other way
> around.

But that contradicts the text of the 'no-real-mode' option, which
explicitly notes:

"Do not execute real-mode bootstrap code when booting Xen. This option
should not be used except for debugging. It will effectively disable
the vga option, which relies on real mode to set the video mode."

> What I would have expected is for the PVH boot path to clear boot_vid_info.

Well, my intention was to fix both PVH and also make the
implementation of the 'no-real-mode' option consistent with the
documentation.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 07:49:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 07:49:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708835.1107998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxizX-0003is-Aq; Fri, 19 Apr 2024 07:49:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708835.1107998; Fri, 19 Apr 2024 07:49: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 1rxizX-0003il-7z; Fri, 19 Apr 2024 07:49:03 +0000
Received: by outflank-mailman (input) for mailman id 708835;
 Fri, 19 Apr 2024 07:49: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=pund=LY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxizV-0003if-Hi
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 07:49:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48beb0bb-fe21-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 09:49:00 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 081824EE0742;
 Fri, 19 Apr 2024 09:49: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: 48beb0bb-fe21-11ee-b909-491648fe20b8
MIME-Version: 1.0
Date: Fri, 19 Apr 2024 09:49:00 +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, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated
 service STD.emptrecd
In-Reply-To: <c94d739e-0517-487f-8ba9-d9b19fe8f916@suse.com>
References: <7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com>
 <c94d739e-0517-487f-8ba9-d9b19fe8f916@suse.com>
Message-ID: <58ed38830469a027b9cedd9d5f68cfae@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-04-19 09:35, Jan Beulich wrote:
> On 19.04.2024 09:16, Nicola Vetrini wrote:
>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a 
>> preventive
>> measure, STD.anonstct is used here, which for Xen's purposes has 
>> equivalent
>> functionality.
> 
> I'm sorry, but no, this still does not clarify things enough. It is 
> still
> entirely unclear how "empty record" can reasonably be substituted by
> "anonymous struct". Even the expansion of the respective abbreviations
> continues to be just a guess.
> 
> Jan

anonstct checks for structs with no named members, hence also empty 
structs, but only the former is an undefined behaviour for C99.

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 08:20:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 08:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708849.1108008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxjTR-0002Kh-0Q; Fri, 19 Apr 2024 08:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708849.1108008; Fri, 19 Apr 2024 08: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 1rxjTQ-0002Ka-TG; Fri, 19 Apr 2024 08:19:56 +0000
Received: by outflank-mailman (input) for mailman id 708849;
 Fri, 19 Apr 2024 08:19:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iezf=LY=epam.com=prvs=0839d8b339=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxjTP-0002KU-Eh
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 08:19:55 +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 9879a3fb-fe25-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 10:19:53 +0200 (CEST)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43J89Qk9000903; Fri, 19 Apr 2024 08:19:48 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3xk6k5t2md-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 19 Apr 2024 08:19:48 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by VI0PR03MB10252.eurprd03.prod.outlook.com (2603:10a6:800:1b9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.43; Fri, 19 Apr
 2024 08:19:44 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7472.042; Fri, 19 Apr 2024
 08:19:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9879a3fb-fe25-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Rtvka9jD8hS/8MzYOrg31lGUYRNJHmZZTXicP+YriTnA/ITO+vj8ofnYNF/ZrNY5uP2nig6LLjzKsY8ujx8QXOebDiz4uveKvpSPwfNdKWMsmlcM7vDGJt11oGHuEcRMKmMc4QZDXD77C/tW9SiopMBQpmWJbmGthWywiEsiVLXRmOxJH+KL4zEZ8oHFKg4jTpkWMJ0nzFJmf+vcBz58orDaMDVSFKbu9v31EPgYGy/y0fKqIOOoE4fR7X6BmvzaViuw4ItCvOWZB+N2QW3MIeNjSeb5hwA+KQ2Q1OL1jl6gnJnW8YwVJEFy+rQDjmTXBOiKGMg87myU+Sl27vP0vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zlvDNNYdA1pnh2e+ORuh+D4Dlzq9N5H+cqFTU7kvdhU=;
 b=OTWKE4nGbQot3KUxIMnZph7raM6s5BeOX26APHQT79+bREdBKs9tHCXRWAcm7m3r+t1UAlkqwD3cgw2CxUigK/133AvJJ5tgvGt1SsNVnx18xjbFFkHn2SkF7VMp/dJa1s2D9xiPNBtyEXpszTvyrLdOUZ9LgZ70Qan94MuBbme7wo523peq9Z5FVO4upVceZB69jI4qbrZRv033SlSrR6++jPTymFYZyLXuogqsoaJhxWEd0xjnRsZGoNH+ve4pqMKOnCHXkx8CWEHIaP6OFyEzAUP/4KQqdRileO7srq7FWlE01AE3C8LBWsw7hd5WoMTVZlfHFt9Ju4INSyCB0w==
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=zlvDNNYdA1pnh2e+ORuh+D4Dlzq9N5H+cqFTU7kvdhU=;
 b=JBgF6bbyJG4M6/TmJ7XBu9jDqBS123HZvD5J+flAlO+e/keFRKjHj7k14q2wLnPi/SIXMn+F0xDhVEXPhmh+35+SJ2SxY5jepiKBN/1n5zEYS1I4C2W6ThWjn82kjlK2GDDoPXelIKxtX4EmZmlPpi0wVrH/TCw0klVgMfaUsPebwdtGUaYpV/KNOifXLBXwgKrIcC3zseyINzSZyy/oPS/0lA5EC7dv3V4tZQkvwb4ZAaoOkgeUpfFuxtWDJI7SWuZX1AuHwZusO2smcvDWxnbUr5YwkLvFT6m2Cq/f3aO2C+/bTjMRLX3qNipKZPMS2MJIh06F/NW4v+wsWVRyIA==
Message-ID: <f791e8e0-0769-48e0-8bd4-5c23881709fe@epam.com>
Date: Fri, 19 Apr 2024 11:19:42 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 02/15] x86/hvm: guard AMD-V and Intel VT-x
 hvm_function_table initializers
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>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <20240416062258.3468774-1-Sergiy_Kibrik@epam.com>
 <8fbd604e-5e5d-410c-880f-2ad257bbe08a@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <8fbd604e-5e5d-410c-880f-2ad257bbe08a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0007.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::10) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|VI0PR03MB10252:EE_
X-MS-Office365-Filtering-Correlation-Id: ef07a156-67bf-4d86-e2eb-08dc60497839
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	=?utf-8?B?cE1pSDVGQVZkUGplSWtDbUxTbUd5aUlaVW9jV01YU2pxa2lXcHNVVm9XQ00y?=
 =?utf-8?B?SGxPd09LNGxYL3FhSnFBNXJ1amVwZUdCMWthd3ZvUGRSREs4bEMzVDRXN3Yv?=
 =?utf-8?B?Mlp1NU55bVRyTjI0SG5hK0EwNnBWWHRyTTE1OUpqMkxGOXAzbUIyQ3JVL2tz?=
 =?utf-8?B?czJSQnRucGlkNHBRZi9aMWV5eng1c0Z4VnFkZVJIaHRRQ2ZRbnJMa1hUSFZU?=
 =?utf-8?B?aklYaVY0V2pWWDljTUNkQ0p0Y0hzVmt6azJFNUJDTm8relp2YXNvU3RaZ01j?=
 =?utf-8?B?K2NYZmxDRE84SGltU2RuZkZzUE1aaWNhRVZtT1lZVUc5Y0ZHMU03M01GV3Rs?=
 =?utf-8?B?YkF0cWtUTU9qdkFYVnM3Q3p1WkoxNUtxMTc4VzdnMnJQQXJ1UHFpN3ZXeWJH?=
 =?utf-8?B?TXEzVitlem16T1h2V3dMczBqUStpSWpnRVE4akM5RWE3TU05UFZGdC9sbG5X?=
 =?utf-8?B?SEpUUC9IVlNRaytmOVU2VXVNKzNyREdNQ2RWOCtpejVpMnEvMVJRR1BQMjlV?=
 =?utf-8?B?TTZMUktzZTJ3TXgzcXNNeUg1UXVReElVWWh6SzJVWWpkVlFQNjlwT1l1MXRp?=
 =?utf-8?B?UnI1WDdySlE1eUR5Mi9Bb3VrQlMwRUlhMFRUaGVnL1dFME1SS0MrVmx0Vi9C?=
 =?utf-8?B?M1p4R3JUbWdEbWVDYXRYSGtuWFlOZE0rdjZ4NldxdEVhNmtKNmVTZDk3Nmo1?=
 =?utf-8?B?bGZmR0VUMitoY21PMStQMUprOXk4Z3B1YnFUUkhoc3pjTGQ5NDhmRG80Tk93?=
 =?utf-8?B?Y3FzVEFWVDkxV3ZJT1dXRGowb1N4aEswU3VtL0N6aVpTa3NXelN4ZjZqaHk2?=
 =?utf-8?B?alhIWUY2QnZCTktXUC8vNkZkTktQVjRla05LZ2JySHNJRGEvZ1hBQmw3Ry9K?=
 =?utf-8?B?QmVqcVpVaE9QbjhCaW5hc2x6V2ZRbllOOHpJRlJBdWdocTc4dExMSzBXbkJN?=
 =?utf-8?B?WmhocG5QdDBjdVBSUnFiT0JVWXNxR2hQSDVkTFlHakJzTmViZEY4NXdnbkl2?=
 =?utf-8?B?eW84ZUxqYXIwK2RYZHppQ0xWckcxNzB0V3BvbEZnUGF2b2xqdFpwY1VhT2J2?=
 =?utf-8?B?cEU0WnVkbzNWT0FkR0hySFo1SXNROFMzUjFlYkJsd1JUeFcxcnhZNEF4L2dM?=
 =?utf-8?B?Mi9lclYrNzllNDZDTXlaTWJRMmdtYVBHRFpRKzdCdC8vUjlrVzNZVnNEMzRk?=
 =?utf-8?B?dlJtSnlnVlNiRHFFNXFEZnNEWjN0RkhDMzJUOEo2cVRJVkdTSDJ3WjFQejdr?=
 =?utf-8?B?VzFwSm1sL2MwalVNZUJSSzM5VFlEQUg0Q0xwelFGb1h3ZlBKTTMvdVBydGFL?=
 =?utf-8?B?ZTNhWGVUQklMZVVsd2txRGlMNkFYQTVhOHBIMkN3SEhqdnhGY2JCUFF2dEZO?=
 =?utf-8?B?UWhqaW9hZGhDd28yMDlxMjllUTRXS1JNbXRYRm9YYUh6V0E5QWRnU01ia0VZ?=
 =?utf-8?B?Z1FPOVhFMHp0Qm9MZmtEdWF1UE0xWmltb2Y2YzFiYkcwVHhialhTS2k3QS9o?=
 =?utf-8?B?MG9xc053YWRSOHpnaWFaNWZPOXZwN1ZlOFhtM1VhUnRJRFRCNDRNcEkvNHI3?=
 =?utf-8?B?VTJmM3lHSWl5RE8rL1F1REVWSnYxbUNDYVoyMXlqc25lbjFWejEyTzQwZHRT?=
 =?utf-8?B?SzFQS28zajdkUmxnRk0zNEQ1TEg4Lys1ME9kZmNOU3h0aWFWeGRNOHZFSjU0?=
 =?utf-8?B?ODRxckRaRjhla1Q5QzJmeURnSXRERElWZ1ZMMnJRemFFR3h0YmprUThnPT0=?=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?MnhQMW1ZWGRTTkN4ZVF0cWFSSXJQSmhzVFQ3UktrblRsRFI2ZTFhbWpUb3ZW?=
 =?utf-8?B?MEllVzk4OTdiRlVzck9WdWVLdTJPaWZMaUVmMHQxZVQ1V3A2RW1URkhieGE2?=
 =?utf-8?B?WTFMV08zcWxqVFE2M211YitxbmZUdTQ1UHNwN0pNR0ZlK2R0MFI3by9qQzh0?=
 =?utf-8?B?bDU4aUV1UjJtSHRVTWIyZGEvY0VMT0ZZWVpKUWt6UnNDYnNLNXFWamdzYVcz?=
 =?utf-8?B?d1plcUFFdVlCSlN5Znptdm5DTm15Q1JDVy9YT0UwekswS28vb0xTQVN2VGNm?=
 =?utf-8?B?WDZWM0Z1YVFXZ2xIWU4vWXU0NXU1bjhkb0E5bUhZb2dYZ2grTVNwVHZmMDBs?=
 =?utf-8?B?WTk2TUVoeTdhSklSakxTWTczb0hJSGs5bkIrcVY2YnJPZ1JKTW9DOVN0a21z?=
 =?utf-8?B?TlFKQWRZcFgzdEtPMEhZS3hHbEhvRkVYUG41RWRRMk40K3phQ1hORk1KdkhI?=
 =?utf-8?B?ZEJtM0h2TEpYZ2w2YnhONWFyeXN5SEpzTG44NFdBSEpKcVczQzdPbUc3UjUx?=
 =?utf-8?B?VE9zdlNacGQ4V0FpNzJxN1ZZYTNobmJXYkVSUkpFV1FYQXByTGhuTnh6Zzh2?=
 =?utf-8?B?VDd3aVRQL21nMzZDc09jaFJNVUhTaWduYVQ4R01TamlidzdWZXl0TGg4bXoz?=
 =?utf-8?B?VjZrdVdpcGxVVXM0UUVqTTVGb2lTZnY0Q2o1TDR3L2c2allQQTZCanhFVTBw?=
 =?utf-8?B?QkZaQUpFbnAvdytYTy9SR0lOaVhoZXpwbVRvRVV2U3RrUmVrNmdLaDZZSUhF?=
 =?utf-8?B?ZnVwV29MQjhWalpYb2M3MUFmZmxBcHVzMDBUWFNhdkhvaUszQWtVd3l6d2pp?=
 =?utf-8?B?UjVLNEVtTExYUHlFZERDMlNJSGNHQ2FZOW92UWlIem42b2RyYlI2cHZFVUhB?=
 =?utf-8?B?ZWZMSDNqVnVLWS8yYTdjYXRtQ3JCSFdTbHU3cVk5em5WQlYzZXNrbjVCenNB?=
 =?utf-8?B?d3BlSXUrcVNuKzc5ZldKRUQyQk1zZ3hSZ1BGMkxtRVFGRjlXNU9KdWJpN2M3?=
 =?utf-8?B?dGtoVXRLa3lROEFEUFgrQUtFNDZ2MWgrU3JvV0MrWDd1VU56RFJMYzgxVWxh?=
 =?utf-8?B?RmxiaWxvWnJBS2RpZHc2ZEUyZWF6cWM4K2JPdHZtU25kMUJoZ2VWSHVEQ2kr?=
 =?utf-8?B?dHBSc21Vb2pULzFHQVRWZzNGd3dOWlRrci94MUFablhuS3ZuQ0RKc28zVnFN?=
 =?utf-8?B?S3U0ZWpCdDFyWEQvSnhselFzQjFzWWh5M1VqakYxcUZyTnVzSFE0SlFZYUlK?=
 =?utf-8?B?VVZKUU5KQ2VSQVZXc2xBKzdVUU1KWit1aHVoa21kZFYydktVczdRcEpING56?=
 =?utf-8?B?Ty8zNzNBRldqdmJHUVJkUzd6amxNdzJkVG1rY0VJYWdrTmpBUDRBUDdDbEM5?=
 =?utf-8?B?S2YvS1N5Mks2Y3NTTmNBeVFLZmVaN0x3MUhRd1VEb0JlcENQZmdEdERlSHdu?=
 =?utf-8?B?MVJURlNWZ1FsNFNQV0JSdVpIWitrMVZxZk1YSDd0bGE1cjN0d1NJeHNNMGx1?=
 =?utf-8?B?a3B4bTI2eC9iZURoVkJOcWdVZ2FMNkFUYytpM0xtS0loTFJxajRVSzlvdmNn?=
 =?utf-8?B?ajVXNndFeTNyT0VFbm5LdmdNYjJkYjE4RFVYWGtBMTN6QUllYm5HNGRyTDJW?=
 =?utf-8?B?UnozL2EvN3UzS1BZTVB2WDRHS0pWWkVlSFpXcEwzcVAzUEVuS09kQzIweUFI?=
 =?utf-8?B?Q25HUGJvSkNsakx3UDNjbWx3aXJ3Tk0vOG1kakVQL2FzR2YzdkwwUEVEdEdr?=
 =?utf-8?B?RmZGcWNHSzV1TS9xTW5MTTAzaUZBaHhlMHNJd3RGdEpScjlEWGgwdkxYTVNp?=
 =?utf-8?B?aHZFd1NlSDdZMk1mSnlEVnhXWFhGMjRIeG03Tmd4Tm5kSUNrbFlkd2h1LzJU?=
 =?utf-8?B?dHRHUjhDMndYd1hVTkpBMDYwdVNkTUFSME5MMVdISHNxWDNzbDN1VEFXQ2VE?=
 =?utf-8?B?VzRNSytsWjM4RlFXdEJGMGxTNHRUSGN6b3RaVnJ0WFhTcHVRQkkzV1U3eGwz?=
 =?utf-8?B?UWFrcU9UQ1pJelVnK2IyUndtdzNSYnM0RHVEdEt0OUQ3bWRKaVhOdHB0T3hQ?=
 =?utf-8?B?Wjdka1RpNVVzVGh3YXhjc2J1aDN0cDV6Q1Q3bGpsdXFDb2FCTC9lejRZSit3?=
 =?utf-8?B?RmpESjdiUjdnL2s0WFN1UldkeXF0a0wrVGlOREhObzlHQmM0ZjhGUnB6eFpP?=
 =?utf-8?B?Y1E9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef07a156-67bf-4d86-e2eb-08dc60497839
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 08:19:44.7080
 (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: I8n3IXa2xTdt/Sao3EtZd0E1dzXx3iGBe3FGCtZ/Wd5vmFEzqJT6ZilzWwHP7akVQ78VWzBcPboLCQRYSG/SCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR03MB10252
X-Proofpoint-ORIG-GUID: lF6MZ8Ws8BbGdZVKKuZ-WuKeVV5y7ZiP
X-Proofpoint-GUID: lF6MZ8Ws8BbGdZVKKuZ-WuKeVV5y7ZiP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-19_05,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 priorityscore=1501
 impostorscore=0 spamscore=0 malwarescore=0 bulkscore=0 adultscore=0
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404190061

18.04.24 14:18, Jan Beulich:
> On 16.04.2024 08:22, Sergiy Kibrik wrote:
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -156,9 +156,9 @@ static int __init cf_check hvm_enable(void)
>>   {
>>       const struct hvm_function_table *fns = NULL;
>>   
>> -    if ( cpu_has_vmx )
>> +    if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx )
>>           fns = start_vmx();
>> -    else if ( cpu_has_svm )
>> +    else if ( IS_ENABLED(CONFIG_SVM) && cpu_has_svm )
>>           fns = start_svm();
> 
> Do we have or do we foresee any uses of cpu_has_{vmx,svm} that are relevant
> when CONFIG_{VMX,SVM}=n respectively? If not, I'd prefer if the IS_ENABLED()
> would be folded right into the definitions of cpu_has_{vmx,svm}, as is
> already done for a few other CONFIG_*.
> 
> Jan

looks nice, will do it

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 08:34:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 08:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708861.1108018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxjhT-0006O9-An; Fri, 19 Apr 2024 08:34:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708861.1108018; Fri, 19 Apr 2024 08:34: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 1rxjhT-0006O2-84; Fri, 19 Apr 2024 08:34:27 +0000
Received: by outflank-mailman (input) for mailman id 708861;
 Fri, 19 Apr 2024 08:34: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=yCgy=LY=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rxjhR-0006Nw-HW
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 08:34:25 +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 9ff31d6e-fe27-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 10:34:23 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2d858501412so23818251fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 01:34:23 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h7-20020a05600c314700b00418f308091csm3859349wmo.48.2024.04.19.01.34.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 01:34: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: 9ff31d6e-fe27-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713515663; x=1714120463; 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=DF1bA4giQLsR8FYVFo7LP00zuv09qtWiOc+EpYY3zrs=;
        b=eXzgdsNWsdmcksxpibjWWt8Ug3YUwYCaY+DkMY2rJEcwSpHthgXkcBgKEq1des9SFv
         NJxGk+RojTqsCYV2W6FBkGQ1OlZXM1v8lJzj27nhhl4oCQ9sCXjJJj+o/McXFX+rXYmv
         U/6PPhuYp2YTpviY7CWJuW84dF9G2LtdoHxjk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713515663; x=1714120463;
        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=DF1bA4giQLsR8FYVFo7LP00zuv09qtWiOc+EpYY3zrs=;
        b=gB5cdXadAmlpUp+fIVgxoxW19SBAzCC7nVcsg+UaexQJtS94/JrYXfzCeC8uo/C5FO
         l8xEl3O411s0wQGTaiIh3DsiXunUiSdNtAQCBh3QCegqmb0cDAzbOCw0XdzBf8tnRNwL
         fY9qtxbo9KDwyLEwIworgXxpJ33KDB4LAekswiPqWdH/wotXk2/tCAl1uD+y+5gT6An1
         QL96250z7HMiSdZbDZLHf+drXijWqwJmT3NGsRU6ri8wKFYhh3NY0xeNq/KH2OSdi4ls
         Sfg1i9NpD8XHnl8Hdwmao8K3s8HJvDcZDyxmiURbMX8DOnTFZlRN+SfXQQsIW29rEw6h
         2dyQ==
X-Gm-Message-State: AOJu0YyPUd1ECdi0NHhbnC2QY6ZjOG+FmzTNF1aQl/6wVuFqJaSqfOfE
	g7TSSMNgNxtMRgCZGhcqlWpdo6QV+Hr62nL3/J003ao/cdxeI0PLnU6TCQDsuVohwMJOHzpnLmk
	A
X-Google-Smtp-Source: AGHT+IEI4kX6K0q4n9fMHbvbIOUAudr9qYo1MvV7Ec89N8NaOQDtPrh8E9I/PW5yEWhEqEWqroQPpg==
X-Received: by 2002:a2e:7c0a:0:b0:2db:8625:3f09 with SMTP id x10-20020a2e7c0a000000b002db86253f09mr829403ljc.3.1713515662910;
        Fri, 19 Apr 2024 01:34:22 -0700 (PDT)
Date: Fri, 19 Apr 2024 09:34:21 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [OSSTEST PATCH 00/36] Switch to Debian Bookworm
Message-ID: <a8789951-4693-4ffe-9942-cd18f214e029@perard>
References: <20240318165545.3898-1-anthony.perard@citrix.com>
 <93b8a3e8-2866-42ca-9132-1527d82928e9@perard>
 <f178e1fb-0b6f-4312-a483-b85f413db025@perard>
 <0f89a920-c834-4a51-9b53-8e94ba7e3664@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <0f89a920-c834-4a51-9b53-8e94ba7e3664@perard>

On Mon, Apr 08, 2024 at 10:29:08AM +0100, Anthony PERARD wrote:
> On Fri, Apr 05, 2024 at 04:54:30PM +0100, Anthony PERARD wrote:
> > On Thu, Mar 28, 2024 at 05:54:04PM +0000, Anthony PERARD wrote:
> > > On Mon, Mar 18, 2024 at 04:55:09PM +0000, Anthony PERARD wrote:
> > 
> > I've now pushed
> > "production-config: Set Bookworm's debian-installer version"
> > 
> > and these two:
> > 
> > > >   Switch to Debian Bookworm as default suite
> > > >   make-hosts-flight: default to bookworm
> > 
> > osstest should start to use Debian Bookworm soon.
> 
> osstest failed it's own push gate, I didn't notice that the Arm* builds
> was still using an old kernel (from our linux-arm-xen branch) instead of
> 6.1. So I've rewind this push and pushed an other fix instead:
> https://lore.kernel.org/xen-devel/20240408092542.36711-1-anthony.perard@citrix.com/

I've pushed the switch to Debian Bookworm again, and this time it when
through.

osstest have started to use Bookworm for testing.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 08:50:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 08:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708866.1108028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxjwj-0001ev-Jr; Fri, 19 Apr 2024 08:50:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708866.1108028; Fri, 19 Apr 2024 08:50: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 1rxjwj-0001eo-H2; Fri, 19 Apr 2024 08:50:13 +0000
Received: by outflank-mailman (input) for mailman id 708866;
 Fri, 19 Apr 2024 08: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=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxjwi-0001ei-W1
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 08:50:13 +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 d4726e67-fe29-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 10:50:10 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4199332c157so1133535e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 01:50:10 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 k6-20020a5d6d46000000b003434f526cb5sm3836749wri.95.2024.04.19.01.50.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 01:50:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4726e67-fe29-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713516610; x=1714121410; 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=cYxfMKjHXy6ZFrdJVH7TBmUrb1xkHr6tFiczIIeWWeo=;
        b=T9xVhfVKV5vq8JIDUYmEoIi3sBcuDLYj4veJroIsLW0IcS5xpbN0in7DF5lXFNt1Vj
         ocNJigJkz3mXdBTR46Fc93aM5U5oQqi9ejd7VuW44pJZQ7SbaOMPaCzh/Y57QUBByQzX
         i41uu/MBQFGq+k3px0AXA5cWCPSvsESLRvbBQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713516610; x=1714121410;
        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=cYxfMKjHXy6ZFrdJVH7TBmUrb1xkHr6tFiczIIeWWeo=;
        b=Fat0bqEBPdBC0IGDfI6KUS62Ck/Lv5fm/PXauNDdAuMTnFg2jmF3vGfDOEU+6kjHyS
         GfS+zqdJKwOsbWHqYbR4wGeD6b5Q0RTH1IDWV92Sj2P6+z0y7y9nzEXnVejnJlWpXiRX
         VFbPo+SPGjwHqdpiDwMcl24ksUJgf1BAfHtij5zhwEusyRlmtB5YHFgX8MqljTepSoJK
         19/sbNg7zrBalz1WZKdoW+SGEyWZJehRauJ13B58TaSuaXClLQTTeCYSp2Q1Ld+fr/+w
         pRQm8CZu1lz/1S1Ux5G6Cm2k9HfHKBZopgrTzukQepqN6ZaIazaEOQ3Gq8Dl1f9r9i+i
         KZtQ==
X-Gm-Message-State: AOJu0Yy8I/azbpm64p6rGijFeJGeiIZCUzRoJhppa7tk2zxmpGZGbhVQ
	/Zey7d8G3jDD75b7Wy8eHp/w4ehTXeoV38wKLI+BD8ngRm8Qgu7w9XHlD8WZNik=
X-Google-Smtp-Source: AGHT+IFlj1JEv61tU6U68LM4szDGhtwfrlmBlU2VCCZKXudbxQzJ6UD0hVReDf4r6vtpBm9z+cI9wA==
X-Received: by 2002:adf:ec4d:0:b0:34a:2852:f119 with SMTP id w13-20020adfec4d000000b0034a2852f119mr885381wrn.36.1713516610020;
        Fri, 19 Apr 2024 01:50:10 -0700 (PDT)
Date: Fri, 19 Apr 2024 10:50:08 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [OSSTEST PATCH 00/36] Switch to Debian Bookworm
Message-ID: <ZiIwQEyU4d9zDctN@macbook>
References: <20240318165545.3898-1-anthony.perard@citrix.com>
 <93b8a3e8-2866-42ca-9132-1527d82928e9@perard>
 <f178e1fb-0b6f-4312-a483-b85f413db025@perard>
 <0f89a920-c834-4a51-9b53-8e94ba7e3664@perard>
 <a8789951-4693-4ffe-9942-cd18f214e029@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a8789951-4693-4ffe-9942-cd18f214e029@perard>

On Fri, Apr 19, 2024 at 09:34:21AM +0100, Anthony PERARD wrote:
> On Mon, Apr 08, 2024 at 10:29:08AM +0100, Anthony PERARD wrote:
> > On Fri, Apr 05, 2024 at 04:54:30PM +0100, Anthony PERARD wrote:
> > > On Thu, Mar 28, 2024 at 05:54:04PM +0000, Anthony PERARD wrote:
> > > > On Mon, Mar 18, 2024 at 04:55:09PM +0000, Anthony PERARD wrote:
> > > 
> > > I've now pushed
> > > "production-config: Set Bookworm's debian-installer version"
> > > 
> > > and these two:
> > > 
> > > > >   Switch to Debian Bookworm as default suite
> > > > >   make-hosts-flight: default to bookworm
> > > 
> > > osstest should start to use Debian Bookworm soon.
> > 
> > osstest failed it's own push gate, I didn't notice that the Arm* builds
> > was still using an old kernel (from our linux-arm-xen branch) instead of
> > 6.1. So I've rewind this push and pushed an other fix instead:
> > https://lore.kernel.org/xen-devel/20240408092542.36711-1-anthony.perard@citrix.com/
> 
> I've pushed the switch to Debian Bookworm again, and this time it when
> through.
> 
> osstest have started to use Bookworm for testing.

Thank you very much for doing this.

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 09:07:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 09:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708874.1108037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxkDh-0005NC-0z; Fri, 19 Apr 2024 09:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708874.1108037; Fri, 19 Apr 2024 09: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 1rxkDg-0005N5-UL; Fri, 19 Apr 2024 09:07:44 +0000
Received: by outflank-mailman (input) for mailman id 708874;
 Fri, 19 Apr 2024 09:07: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=iezf=LY=epam.com=prvs=0839d8b339=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxkDg-0005Mx-3D
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 09:07: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 462df4e7-fe2c-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 11:07:41 +0200 (CEST)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43J89U2B000959; Fri, 19 Apr 2024 09:07:10 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3xk6k5t7hs-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 19 Apr 2024 09:07:10 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by AS2PR03MB9671.eurprd03.prod.outlook.com (2603:10a6:20b:5e8::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Fri, 19 Apr
 2024 09:07:05 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7472.042; Fri, 19 Apr 2024
 09:07: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: 462df4e7-fe2c-11ee-94a3-07e782e9044d
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A+OwLIuYOGZrwmK0dQGwrnkx6OxXLG3+R1pzYkKV+Jnjk8d4gFm3W0yr4/3gBhO4py90030LY6Duf+JAU3ZEkPRt1mDsA8vB0Y2F6OAv45qJ4DGuPlZhPVuVtV2xX0/LdZuy8rB6paU23ZfyTnEyrpeKqYzOsB+sFGaWxUg9nOPKtZQCBO1NLet5MyKK38RCKq5twiyfyTPGF/liYchGMh09HyNSvfTg0xN+0FcXKUbe0ZPPj1OyTc9VwM86pKZeByVzm0KaXLwfCJNkBNPgKF7lA6WYu1c12FtjaYd+jAqUOKM/FaER5HZ2lMSX2jqmgPnPSugTwQhCHI08/L2R6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hF/ge0NTMjRv/7b2mW+b3EKtQnMuSmqzSuT44zgTd58=;
 b=nP2gurdX1iRrq/UxChEk+T6YFxD47ldznyAPSqyfbJbujWQWzfBMIOsWdzFiy16QGDic1+rRV5p95SCqsPYCJYb1vXJz/FCK9iXiahgSeeDuYUOV2o7esVfpBDdnh/fYFOaF3u8jFgLelExKQ4al0GxIoi5chnCtuIW8MIoZU+YU1XqDZXf8BdIv2v2br3Q+qTFLGuyMkDCnWMtVh+4ndRY8gspBTnAEXxLC1puKEBriK8l1KBUnhBhnzW7rJnxeKXF5oVNKMeMlmw1AuwR5oM5U0lAK6gYZVN14ksqBlq4O/alJ84EzdbMyXGCyVqitmr62mF/nI0sBuhh5qlqD6g==
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=hF/ge0NTMjRv/7b2mW+b3EKtQnMuSmqzSuT44zgTd58=;
 b=rZW3tNQv2z8pg2Uo7+PSUHZ+t918Lp6AEAvw3zbCofLHRTJ2ob1Lf+MQh1XKkw1VrW+Y74206rOSulzovsAedvsdqgVm89Ibmxb/tD7mShV1c6OoMXPSScV92c3d8ipd+oy3oK6Zeik0sHHSN7LycvKRTFt+bHWBl8iv22+DVBz3CTB5t2AUk9q5v1GrTxsi59/vHL3Tz/+III+ZpR22YzTSrvEurz3/nkS3OWct4VLeh0O+w2ZRaIenDFNFnwsdLNwB9dTf4H1NM3CzMQ3oOPXUHr81KuZ5uKmCfM7B40qK7WwZn9kW77rDNMMeozSzLz9kTkhjc0fMNIyW8vhhfw==
Message-ID: <6757ece6-ba2f-45af-8c08-cc998d06a2ee@epam.com>
Date: Fri, 19 Apr 2024 12:07:03 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 03/15] x86/monitor: guard altp2m usage
To: Jan Beulich <jbeulich@suse.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
        Alexandru Isaila <aisaila@bitdefender.com>,
        Petre Pircalabu <ppircalabu@bitdefender.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <20240416062503.3468942-1-Sergiy_Kibrik@epam.com>
 <e8435c75-63c3-4a10-b266-6f4133c1cb9f@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <e8435c75-63c3-4a10-b266-6f4133c1cb9f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0004.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::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_|AS2PR03MB9671:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f936f06-795b-4cfc-cd78-08dc6050155f
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	got3m7CqVhu8SpLZzxdnfMMyaHBIPESJogVe9lcFXHfPNiR8H1fdfCkPrw50dRHEczcjjb44AUFQZ17VgcdDBxbDSnSjzE3m/hlOx6dPDj+VogwS5TZuTH7E4dRNhciEMpmOs6QW9gHEPVD/7DbFdUDQ8kbnkOOljsaDBbaoX1TmjV4UljUakOl969OF88ZC2FYISLqxaGRgvzg3negnflaGOMLZQXLq+TF5CphN7cINLDcO0bG2NEqk6/wmdkrIniytRhRA8y7PsVVW0//0NWOgdjmaKE8xIRBORnEmQP9G8aqhred0wwD8CIoMpYxl76gQ8w8CC+xnbUDqiqYFZOYjxwTjqr5eua2XsCIZlt0vS+m2vptxHQprGnWtgqrHMaKPfr/6pmoDnkgbnGdGpSPWnkc9Z5PqVVmFnuAVdB5nLdqOfh6ZBH2KHicXO8fILSb5uh1m0No4bkYudOdspbX3GjDezg9pK2b37a874M+oEBAgo0TxL35xbSSlfbshBv9HXnjv7XmCBk1SqN7TSSI4qP3ycXudz+/5jQrRAE7MzDKn2StziS2/8kDm7QrIECc2eX+0qqOjzVH4NJdZS3fsnTp2BIxz8FEXox/hUEA/uSJSK54Hdn8V5OSF7mQHYJmgxKciXraiDBnD0bwJzjp1R8LUM1s7g7ThQI4cidc=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?MVlUamd4d2FmLzhVOGtnMWRnN21EVm9scDBZMFBuY1BuS1g0OHR6cDRhSytK?=
 =?utf-8?B?eUhtQTFVQmF6Zm93dEUwRkNqVXpNc2dxRFpXcm9nbTc2blpqWWlYdXV5U0g2?=
 =?utf-8?B?bDNseGw1Z3g1NHNvdkZEcnU1OXR0UXoyRjFEVWtSMS9aVFZhSFgzV3NUVndm?=
 =?utf-8?B?Y2lUVERVZlpiRlFzK0VPSnRQMklXMHdjV1pYNUI3citJSUx3ZGkxVGQ0NzBU?=
 =?utf-8?B?ZVBIM3Z6c28rYXFRT29USS9TeTV5OG1zZXF4dm5JSWg3TW51TFdFaTNuK3d6?=
 =?utf-8?B?VU02cHpINzNSMTVvd0FLcFBDWDcvSGJXZmE3ZjFXZXc2YndoaXBVeHFlUVNP?=
 =?utf-8?B?enBzUjFHYkdQSXJoMTNYbHlOMVdJanByd0lINXZIMnEyZDVlUVE0VnFvNm00?=
 =?utf-8?B?YTdJbTVQVVFCMExTdlNrbjkwRGVabHc3REVPeWJ0TGR2Y1JTU3RpZW1Xb2xF?=
 =?utf-8?B?SzdEcXZRUWwwYkV1TmJxMXFkMmxTa0pSODFNTVQ5Y3dDSU5CVTFXSDBDTG84?=
 =?utf-8?B?ZlBXTUg0bXphNlZpMC9EM2V0S0o1cXlpUi9sdnd1Z3Y4bWx1YzlNb082M2s3?=
 =?utf-8?B?RUpTU1o3VlExNWZhNHlKSW9pNUt6YXllY2E2cUZhNEFsOFVZdWxiaHZTOWJw?=
 =?utf-8?B?VUNtQUtlcWVHRWdKRkFHYzhNbHJkeXgya1dod1dnMFZGRE80alFjbFhxb0JV?=
 =?utf-8?B?KzdUVzFidFJnT2RiekNXT3VCOWxpM2Z5UHNsUUw0WkVNQ0hXazNycmVoM2l2?=
 =?utf-8?B?c3FYenkwaGtDNWpDcTM4Y01QeXZONFUrQUdBSWJsdEFIdWFTMnpMeWxJMk1n?=
 =?utf-8?B?RVdNdi9vdTM3K0dXUFcvOCtZWDdka0FMQ3Vzc1hOdmVBM2dzVjV4bjlrMVQz?=
 =?utf-8?B?cUI1VWxzSk00NW4wSzEyQThScVBLQlNwV0RXT3VmNU1iUjdHSkJWUldwbDho?=
 =?utf-8?B?RWVrclE5Qzd6aFM4aUk0MzdmOTlLTmhVNkl1MGxlU1ZiU2x0MmZBeUs0ZlVz?=
 =?utf-8?B?MURBdGxnTU1yaUsxSm0xVkFnSmFEcHA2VW5GNm1Xczc4VEE2WWVyMHluUlli?=
 =?utf-8?B?RHowc0Z1eWc2UDFVNGdQcUg1NXhDRk4wN1NRcWVabTRMeGFxdWMvdzhWelhD?=
 =?utf-8?B?QzBYUnlCVExkSmhpamVJbUgvckNzQmZDb0JqUVd6RXp1K3VScWwvUGVYdTlW?=
 =?utf-8?B?NTh1ekY0cEtEYk96Z0R5ZlpaampKVjhQKzh5SDVkYm5WZStwNXYzSlF6UUxr?=
 =?utf-8?B?MnpBRG85VFFqak51MDhZb2J2MU5pQ0xpTVk3VXJ4em9iNDJFVk0xeXJsTTY3?=
 =?utf-8?B?ZDNrQllEUlVOZWpneGpVeDF6aWJiTE1heEtha0gvWWJwNEVXYk04R3pYMzRE?=
 =?utf-8?B?cS8rVlNlMzY4Q0JqYjFOTnJXazF0eTVSTnRzRDVoUlVwUzFEdmZPSW1Cd2w0?=
 =?utf-8?B?bmpKWmFuSVRpY2VNdzd5R3AveTFxWWFhS3V6Mmp3R1ZuVWRMempVbVJhTUdB?=
 =?utf-8?B?R2c1ci9qVHdUcmdVbW9EMFBhT2gwQ0RIanhQNGc3R3pCMVpZN0FTTWxMSDhu?=
 =?utf-8?B?WlpqRHo0THZuT3BSWTI0ZU5ia0xlcUdnY1hKOTVpN0h4KzR1dDM5VmlHMXB0?=
 =?utf-8?B?VGkvS0k3cGxtNUV3V085d2JxL3JlL3VTSTE1dmRQZUlmbzhCaXRnL1I5eWdp?=
 =?utf-8?B?dXY2RjlvbTNQQi8yeUVLb2t2VUxjQ3dYdGZYdlNjWHRQdU9ud2N4ZnVFZXdD?=
 =?utf-8?B?UTh0bDRJOFc5eG91TjI2b1dwemh1NGFlQU5FUnJoL2I1dFk3RWw2R2dvdkxR?=
 =?utf-8?B?eC92b2pkUUlCWGI5RVk0SWc3U2w3VGUzYWR2b1YrWWR6Rll5akttRmdZeHly?=
 =?utf-8?B?Q3pIemVIYUpkTThEdkxOUzluQmhyQ0x4ZGxDcWs2N2w2a2drY1RyOGFad3pE?=
 =?utf-8?B?Mks2M1E4RmlLY1RrTFk4MFpoWUlNYmFvdUZ3S1ZuNkdwalJ5NXRBWkFzY3BH?=
 =?utf-8?B?dFAwUCs0QzRmRXpZdFNOdElNbnFrUEZWZXBhZkhXd0UzSFB2TEl3YWRETUpa?=
 =?utf-8?B?VlE3eGJCbmdxbXlVa1ZPcmtPUlZWNmIwcklMcUVCcHJvWWhPTVZ2ZnROQkF1?=
 =?utf-8?B?enJzSTBjdFRpcDN4TWxuYndPUi95T1hkN1h6Y0J6VWVZTWFYTTgzQ05ZRjN5?=
 =?utf-8?B?WWc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f936f06-795b-4cfc-cd78-08dc6050155f
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 09:07:05.3151
 (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: Ua38cncWICtw+htYb9H4I/HBsk9r0d5TTFnMo1DKEV9mpk9g4E6d04vl5+LGyJghdyL91XAOHx6D4Dx72ezi9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR03MB9671
X-Proofpoint-ORIG-GUID: 6YeG_au003DIanc_dZLKF6UFoUMBLPaJ
X-Proofpoint-GUID: 6YeG_au003DIanc_dZLKF6UFoUMBLPaJ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-19_06,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 suspectscore=0 phishscore=0 mlxlogscore=999 mlxscore=0 priorityscore=1501
 impostorscore=0 spamscore=0 malwarescore=0 bulkscore=0 adultscore=0
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404190067

18.04.24 14:31, Jan Beulich:
> On 16.04.2024 08:25, Sergiy Kibrik wrote:
>> Use altp2m index only when it is supported by the platform, i.e. VMX.
>> The puspose of that is the possiblity to disable VMX support and
>> exclude its code from the build completely.
> 
> I'm afraid this description doesn't make clear what problem there is,
> which may be related to the fact that (as mentioned elsewhere by others)
> altp2m isn't a VMX-specific thing. The field read by altp2m_vcpu_idx()
> also looks to be zero for domains that never had altp2m enabled for them.
> Further, ...

I'll try to improve description

> 
>> --- a/xen/arch/x86/hvm/monitor.c
>> +++ b/xen/arch/x86/hvm/monitor.c
>> @@ -262,6 +262,8 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
>>       struct vcpu *curr = current;
>>       vm_event_request_t req = {};
>>       paddr_t gpa = (gfn_to_gaddr(gfn) | (gla & ~PAGE_MASK));
>> +    unsigned int altp2m_idx = hvm_altp2m_supported() ?
>> +                              altp2m_vcpu_idx(curr) : 0;
> 
> ... elsewhere uses of altp2m_vcpu_idx() are guarded by altp2m_active()
> checks. Why the domain-independent hvm_altp2m_supported() here?
> 

understood, will do with altp2m_active()

  -Sergiy


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 09:21:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 09:21:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708880.1108047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxkR4-0000Ns-3s; Fri, 19 Apr 2024 09:21:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708880.1108047; Fri, 19 Apr 2024 09:21:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxkR4-0000Nl-1A; Fri, 19 Apr 2024 09:21:34 +0000
Received: by outflank-mailman (input) for mailman id 708880;
 Fri, 19 Apr 2024 09:21:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxkR2-0000Nf-Kt
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 09:21:32 +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 3328410b-fe2e-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 11:21:27 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-418c0d83e61so19169655e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 02: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
 he5-20020a05600c540500b00418e3c5bc8esm5170814wmb.18.2024.04.19.02.21.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 02:21:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3328410b-fe2e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713518487; x=1714123287; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yun9w9oveyJskhWACTr7deBaPxj/PJd0s95DG8t6v+0=;
        b=MCJhqKcNXvjkEKlOsdDMuaGVcAJBecv30K/zI383ds9smuM7xArJ565a7RhLs9ZRG6
         KYLtgXQG3OAKe30h6s3xlN58EkHkhhVTFRp9FPfXaELRIQnj0p/WfufAxVnty5PIMh4v
         +VZmZ6didz7qb3KhEPtHgihCezn7InXNaCCdySQkNY62s8384zIK0b7pgWVUjxIaxnti
         DHgIJKUXn2FwjBek3LkUuz5vjtqjwJBXr4oN1uVOF/5h6TesKLPata360hzWX6NbYdvV
         7xx3y8R8ypSn5tFSDTvGqGZciG+w8h8QrPE2ciN1XegUmNvGTXZaW+lzfagDFU/UTRsD
         sprw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713518487; x=1714123287;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yun9w9oveyJskhWACTr7deBaPxj/PJd0s95DG8t6v+0=;
        b=OC4iOTjV21P2yCxX3uIQUDjfNzBwE66CAmdkOjH1VoFEDScleiaqmu5W0CtG+3JpNF
         BTQLDyRs5TYKnqn7wPfLIsBncwPlPsLP6rC0cC8rygsvcjBYwzF+aTIqsOk0pDiihZoQ
         fSn8/tsa124mgbSTj1z7kILGp8jTB5Gf8vyOXrGADNusyCLCq2++K+bOfu0YCVSsLGPe
         qc3+vGVsKUNkKB1uLoCX1AP7tjM058LpTqWRSW9S/L8flMr1SF7SkPfTwzFvrPt5YjN6
         EcifW/w/csO+zAqj8BXI6IOEXTShIpSr9rgJVhvRkvpDQl//5NMegDIlpqhFMqKiBZ5A
         SCxA==
X-Forwarded-Encrypted: i=1; AJvYcCV2Om22D3pb9DdfL1e7gGaWYbD5HYH6kUT780dqX8AiXm1TRRooRQ1pbP78ikhF+accDvg7qHql0nWxVk+pMBVk6+z4eWEjxS6UZoKeeW8=
X-Gm-Message-State: AOJu0YyaAd5umP5cDYLD1do0OBl2JB5Y1wQfiDG7aFc2HHS7l/hSqmcJ
	qJ4fs/BgreYmncs/J575Ecc5lmmJDbewM1cdZC+EhfaSHg1xxrafVD9J8je3Kw==
X-Google-Smtp-Source: AGHT+IE5Oe6SA/0FfOVQGmXLc4jLipQuKcrQA38Qv1rQnuCttnoUxnSbKSdsGf0SnYygrITH5FaLNQ==
X-Received: by 2002:a05:600c:46cb:b0:418:e3d5:5c28 with SMTP id q11-20020a05600c46cb00b00418e3d55c28mr1346749wmo.10.1713518487084;
        Fri, 19 Apr 2024 02:21:27 -0700 (PDT)
Message-ID: <3c6e3fa1-a312-4872-9b7f-9e6935490bcb@suse.com>
Date: Fri, 19 Apr 2024 11:21:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated
 service STD.emptrecd
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com>
 <c94d739e-0517-487f-8ba9-d9b19fe8f916@suse.com>
 <58ed38830469a027b9cedd9d5f68cfae@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <58ed38830469a027b9cedd9d5f68cfae@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.04.2024 09:49, Nicola Vetrini wrote:
> On 2024-04-19 09:35, Jan Beulich wrote:
>> On 19.04.2024 09:16, Nicola Vetrini wrote:
>>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a 
>>> preventive
>>> measure, STD.anonstct is used here, which for Xen's purposes has 
>>> equivalent
>>> functionality.
>>
>> I'm sorry, but no, this still does not clarify things enough. It is 
>> still
>> entirely unclear how "empty record" can reasonably be substituted by
>> "anonymous struct". Even the expansion of the respective abbreviations
>> continues to be just a guess.
> 
> anonstct checks for structs with no named members,

So "anonstct" != "anonymous structures". As indicated, part of the
description wants to be de-ciphering of these acronyms, so they can
make sense to readers.

Jan

> hence also empty 
> structs, but only the former is an undefined behaviour for C99.
> 



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 09:26:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 09:26:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708885.1108058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxkVh-0001yM-Kd; Fri, 19 Apr 2024 09:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708885.1108058; Fri, 19 Apr 2024 09:26:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxkVh-0001yF-Hq; Fri, 19 Apr 2024 09:26:21 +0000
Received: by outflank-mailman (input) for mailman id 708885;
 Fri, 19 Apr 2024 09:26:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxkVg-0001y5-0l
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 09:26:20 +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 e00318a5-fe2e-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 11:26:17 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2d858501412so24429091fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 02:26: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
 u18-20020a05600c19d200b0041896d2a05fsm5716638wmq.5.2024.04.19.02.26.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 02:26: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: e00318a5-fe2e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713518777; x=1714123577; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mptRQuyZhRf0D9CPACR8baOYEH+BNXM9LR+CiGhVZ9U=;
        b=f6QbdppTP2s3k/92B4Ec8yIki9+7BTUQ+U9PYVstvCTnDhEUFUnqhnzGCf2tZc3Eme
         B3DMoH8TW/nzyBy+Jp29RB4cIeVaVFHR9kSJlAppdWXG1bUPEpNNetnZBAgPTOPh/wDe
         ZT1acOsUEClMnJbuSWHZ565ViCq1oMrf7qN2fDUearhnJz66xR1vdBwbbotu+4L1b4dp
         CGRTsLzQnn1edqMEKtqVzd3HeBWkkWipzPWz6vmyWR91CyIF7kYmJ0bPHiE4iQl2eLye
         LmOOpV6nyyXcaDmI3H/0I8fAgsXCe3uMnenNSLHojYGM6luC7UrnKV7k3ItScElW4Hw7
         6CyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713518777; x=1714123577;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mptRQuyZhRf0D9CPACR8baOYEH+BNXM9LR+CiGhVZ9U=;
        b=o/5oX69rMiXUozkDwV/UFAX6BkMcJgr4qYeC0MXm/CWi72VF5xqoRkdgOomLyJFzFR
         kqaZ2EYJ2BUhPu5rdXi41Cocr2T+ZonU3ZW//d3rpdCuIT5tSNXTbbWha0OsFFrGF0gF
         whoUR5P/l+YNoUHWYR3pwMIGDZQdwW4HpVGBpaW7fXP5rLI/XISKDD7qjXEmXYJX1+P1
         zLrki28ZXPRBdp4AD7zEN0nZr94RkaTJzK+j6c3fIiYX0Ig1U/EVWwZr0X96LrftatOC
         BPwW35b9/LXA+ecxZMM9+PlbsNmR+C3v2SEcM1LSqcTzI2VkEVp5S/cmq4J5IBasGmGN
         pzXA==
X-Forwarded-Encrypted: i=1; AJvYcCWzjsUOdnO1l8i8PUaaY1oS7rQW/H2rHWO0CVW0mFc/28/LoC3wouvL45gcHSG9HBJheOrf8+Bn9gdYr+6jhkv7vLKMbNtrWAdqA4wyHz8=
X-Gm-Message-State: AOJu0Ywe1LQd2tw4kfIHHn11CVpVNP6Vs+Hc3eMZ2vD5r5vmsljt7l9C
	x0baU7GVaK9faeiMSZOdFgWWNIb6N8bXsngVgT1I9P6qWUrrjb5+ZXZr9jm+3g==
X-Google-Smtp-Source: AGHT+IFl2+BK8MPT/bn7JLqcZRmPSSdAknTYWqVsU6M1znaRHXk42f047BqoRc42BScCfNyyl2i/GA==
X-Received: by 2002:a2e:8249:0:b0:2d9:f00c:d2d5 with SMTP id j9-20020a2e8249000000b002d9f00cd2d5mr879724ljh.46.1713518776931;
        Fri, 19 Apr 2024 02:26:16 -0700 (PDT)
Message-ID: <bcb3b5f9-7226-47ed-ada6-4ebcffa47b6e@suse.com>
Date: Fri, 19 Apr 2024 11:26:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] x86/video: do not assume a video mode to be
 unconditionally present
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240328153523.4155-1-roger.pau@citrix.com>
 <20240328153523.4155-3-roger.pau@citrix.com>
 <87601c5e-2ee3-4d3f-b4eb-0f509bcf1c2b@suse.com> <ZiIgb4Wnv-GCOoyx@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZiIgb4Wnv-GCOoyx@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 09:42, Roger Pau Monné wrote:
> On Tue, Apr 02, 2024 at 11:49:20AM +0200, Jan Beulich wrote:
>> On 28.03.2024 16:35, Roger Pau Monne wrote:
>>> There's no reason to assume VGA text mode 3 to be unconditionally available.
>>> With the addition of booting Xen itself in PVH mode there's a boot path that
>>> explicitly short-circuits all the real-mode logic, including the VGA detection.
>>>
>>> Leave the default user selected mode as text mode 3 in boot_vid_mode, but do
>>> not populate boot_vid_info with any default settings.  It will either be
>>> populated by the real-mode video detection code, or left zeroed in case
>>> real-mode code is skipped.
>>>
>>> Note that only PVH skips the real-mode portion of the boot trampoline,
>>> otherwise the only way to skip it is to set `no-real-mode` on the command line,
>>> and the description for the option already notes that VGA would be disabled as
>>> a result of skipping real-mode bootstrap.
>>>
>>> This fixes Xen incorrectly reporting:
>>>
>>> (XEN) Video information:
>>> (XEN)  VGA is text mode 80x25, font 8x16
>>>
>>> When booted as a PVH guest.
>>
>> And what effect does this have on a bare-metal boot with no-real-mode in use?
>> The default on x86 hardware still is that in the absence of other information,
>> a VGA of some kind can be assumed to be there. Yes, there are headless
>> systems, but better assume VGA is there when there's not than the other way
>> around.
> 
> But that contradicts the text of the 'no-real-mode' option, which
> explicitly notes:
> 
> "Do not execute real-mode bootstrap code when booting Xen. This option
> should not be used except for debugging. It will effectively disable
> the vga option, which relies on real mode to set the video mode."

Well. Even without setting a video mode, _some_ mode is set (by firmware) as
long as there is a VGA. In the absence of a "vga=" option iirc we'd retrieve
that setting, unless we're not allowed to by "no-real-mode". In which case,
as indicated, we may still be better off guessing a basic mode than kind of
suggesting the absence of any VGA.

Besides, when booting from EFI vga= is respected despite not going through
real mode. So the quoted text isn't quite right anyway.

Jan

>> What I would have expected is for the PVH boot path to clear boot_vid_info.
> 
> Well, my intention was to fix both PVH and also make the
> implementation of the 'no-real-mode' option consistent with the
> documentation.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 09:42:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 09:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708892.1108068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxklD-0005dU-19; Fri, 19 Apr 2024 09:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708892.1108068; Fri, 19 Apr 2024 09: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 1rxklC-0005dN-US; Fri, 19 Apr 2024 09:42:22 +0000
Received: by outflank-mailman (input) for mailman id 708892;
 Fri, 19 Apr 2024 09:42: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 1rxklB-0005dD-3Z; Fri, 19 Apr 2024 09:42: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 1rxklA-0007fG-PW; Fri, 19 Apr 2024 09:42: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 1rxklA-0004CR-De; Fri, 19 Apr 2024 09:42:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxklA-00024X-Cj; Fri, 19 Apr 2024 09:42: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=ja9tBywhJp4zE7RyiePbqJzzgmEGt7gm5lky2dExf3A=; b=vYOdD4bxM6tBq6oCLcxiVO2DfH
	QN/xjEEsQEjEM7u0GsytMpNcpGYCK2weIpuuuTc/KvhyAgmuerQbskQcp47w/PFEyRVeXemR1Va+s
	53bL0u3LohAgCcaKZHCNNGiM4ZzEFKIHLgM/wkbBnvAb7Q4K/731YNJUW4DawouvMnvc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185736-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185736: 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-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-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-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=753064963ce35434c91e3b6ae6bfcd1754197db2
X-Osstest-Versions-That:
    libvirt=d3fedca80763eeb99f71954da80087510953d3ff
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Apr 2024 09:42:20 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185641
 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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-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-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              753064963ce35434c91e3b6ae6bfcd1754197db2
baseline version:
 libvirt              d3fedca80763eeb99f71954da80087510953d3ff

Last test of basis   185641  2024-04-16 04:19:03 Z    3 days
Testing same since   185736  2024-04-19 04:18:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Cole Robinson <crobinso@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Han Han <hhan@redhat.com>
  Jiri Denemark <jdenemar@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
   d3fedca807..753064963c  753064963ce35434c91e3b6ae6bfcd1754197db2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 09:54:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 09:54:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708899.1108077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxkwh-0000Au-40; Fri, 19 Apr 2024 09:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708899.1108077; Fri, 19 Apr 2024 09:54:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxkwh-0000An-13; Fri, 19 Apr 2024 09:54:15 +0000
Received: by outflank-mailman (input) for mailman id 708899;
 Fri, 19 Apr 2024 09:54: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 1rxkwg-0000Ad-4e; Fri, 19 Apr 2024 09:54: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 1rxkwf-0007qR-Tu; Fri, 19 Apr 2024 09:54: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 1rxkwf-00050r-N6; Fri, 19 Apr 2024 09:54:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxkwf-0001Df-Md; Fri, 19 Apr 2024 09:54: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=ySKdOeuzFHEbPQ2GkJe5y6janX3fUl5hs5PbUilEum8=; b=m9lSswxFFe6v2ycYFsay/fZwJI
	EKhNVqumR3jIAeqayaJju355sdtG04sMVrTeMKTtlpZ9mj27EdDW3PjZsj0AumVics2mfiRKfQeef
	pxf2XBP3UUyLJIBCQ3ObI2kolPQFfGgBDz21eNN1e6l6Uyh0h5S4p58qm1BeDyQHAHjA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185738-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185738: 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=5495ed0cd2c5c5570819f6cbfbeecc1876450163
X-Osstest-Versions-That:
    xen=8763eb782b2c349efb44900ebe82369bf89e0568
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Apr 2024 09:54:13 +0000

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

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                  5495ed0cd2c5c5570819f6cbfbeecc1876450163
baseline version:
 xen                  8763eb782b2c349efb44900ebe82369bf89e0568

Last test of basis   185730  2024-04-18 20:03:41 Z    0 days
Testing same since   185738  2024-04-19 07:01:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>
  Shawn Anastasio <sanastasio@raptorengineering.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
   8763eb782b..5495ed0cd2  5495ed0cd2c5c5570819f6cbfbeecc1876450163 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:04:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:04:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708908.1108098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxl6F-0002bF-Vc; Fri, 19 Apr 2024 10:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708908.1108098; Fri, 19 Apr 2024 10:04:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxl6F-0002b6-Sb; Fri, 19 Apr 2024 10:04:07 +0000
Received: by outflank-mailman (input) for mailman id 708908;
 Fri, 19 Apr 2024 10:04:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxl6F-0002MX-7L
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:04:07 +0000
Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com
 [2607:f8b0:4864:20::82b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28019673-fe34-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:04:06 +0200 (CEST)
Received: by mail-qt1-x82b.google.com with SMTP id
 d75a77b69052e-434d0f63c31so11068411cf.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:04:06 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 y3-20020ac87c83000000b00434f6c1458bsm1456526qtv.17.2024.04.19.03.04.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03:04: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: 28019673-fe34-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713521045; x=1714125845; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=S7mjp33WpBhabm3Id1MQ0ozfzCKuhgzqE8mZPDJPVPI=;
        b=bvxg+fbOOjG1RVwMpbb3WKF6B+y8+Upfl9nRORLwJMa1PrOq0k1ip3ijLrId8lQz/1
         uCaS+8pztTz2tr0/LRaVBSoAEoAzdoiz/Y9HYCQ0911aWSG/VrJ4fap8uPZid0Yq0wKA
         P+V+ZuargtsFQqFL/qLwO3D9nrBU8NZrLjmQo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521045; x=1714125845;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=S7mjp33WpBhabm3Id1MQ0ozfzCKuhgzqE8mZPDJPVPI=;
        b=mbJUjfV32kFozvVom6Qno1sUlPr1pj8VJEW46GCA1EWtyS5iV1SaHiA0YnGeW5O18o
         ZCxMEYPXFWDuBa0ZonQgWT/LAThKAA0DnRm87KeHzA290cQc5fw5zJp7PDhZqyOQRlgN
         Z2qRNaNMFVXwyTU1rKy0fGggiF8hW1KvOj7mOHUs4lDO8vTQBrjFWATES85q4dJf+6pq
         RDpuxfY5XINpynx2B2zKnHSR965/Q8f9CEtHLR9wTDjmcMDDGoP7SapXMB154EyQ0NxX
         WxYkU7B3sPxjtcglsV7RkHxfMGnm17UfWiW87Ud6AWtvGiIArrbATPM0Loj5lWM6l2yf
         lltg==
X-Gm-Message-State: AOJu0Yy2qGtnHZRNOrQQ5HiMVrd1tDBxHNq/7reRVY3548JEHivVAOhh
	tIE6dR+DSiRdcUiGd5jZa6sgcRKlp2pFJdppAStE5PLF87cNv7hvqP2TZRiEc8KIqxGXNlyaZia
	G
X-Google-Smtp-Source: AGHT+IEgt1x7AwSVTqJ5ET+Y/tJF5F5j5c9iPm3TUgRsvlxZq8dumUcHT/9DgBFnQWlxs+lhgiyvrQ==
X-Received: by 2002:a05:622a:189c:b0:434:aed1:844b with SMTP id v28-20020a05622a189c00b00434aed1844bmr1675139qtc.37.1713521044738;
        Fri, 19 Apr 2024 03:04: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 1/2] xen: introduce header file with section related symbols
Date: Fri, 19 Apr 2024 12:02:16 +0200
Message-ID: <20240419100217.12072-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240419100217.12072-1-roger.pau@citrix.com>
References: <20240419100217.12072-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Start by declaring the beginning and end of the init section.

No functional change intended.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/arm/mmu/setup.c   |  3 +--
 xen/arch/x86/setup.c       |  3 +--
 xen/include/xen/sections.h | 17 +++++++++++++++++
 3 files changed, 19 insertions(+), 4 deletions(-)
 create mode 100644 xen/include/xen/sections.h

diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index c0cb17ca2ecf..f4bb424c3c91 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -7,6 +7,7 @@
 
 #include <xen/init.h>
 #include <xen/libfdt/libfdt.h>
+#include <xen/sections.h>
 #include <xen/sizes.h>
 #include <xen/vmap.h>
 
@@ -62,8 +63,6 @@ vaddr_t directmap_virt_start __read_mostly;
 unsigned long directmap_base_pdx __read_mostly;
 #endif
 
-extern char __init_begin[], __init_end[];
-
 /* Checking VA memory layout alignment. */
 static void __init __maybe_unused build_assertions(void)
 {
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 86cd8b999774..dd4d1b2887ee 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -5,6 +5,7 @@
 #include <xen/param.h>
 #include <xen/sched.h>
 #include <xen/domain.h>
+#include <xen/sections.h>
 #include <xen/serial.h>
 #include <xen/softirq.h>
 #include <xen/acpi.h>
@@ -309,8 +310,6 @@ void __init discard_initial_images(void)
     initial_images = NULL;
 }
 
-extern unsigned char __init_begin[], __init_end[];
-
 static void __init init_idle_domain(void)
 {
     scheduler_init();
diff --git a/xen/include/xen/sections.h b/xen/include/xen/sections.h
new file mode 100644
index 000000000000..b6cb5604c285
--- /dev/null
+++ b/xen/include/xen/sections.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __XEN_SECTIONS_H__
+#define __XEN_SECTIONS_H__
+
+/* SAF-0-safe */
+extern char __init_begin[], __init_end[];
+
+#endif /* !__XEN_SECTIONS_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:04:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:04:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708907.1108087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxl6D-0002Mk-Ou; Fri, 19 Apr 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 708907.1108087; Fri, 19 Apr 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 1rxl6D-0002Md-MI; Fri, 19 Apr 2024 10:04:05 +0000
Received: by outflank-mailman (input) for mailman id 708907;
 Fri, 19 Apr 2024 10:04: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=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxl6C-0002MX-NB
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:04:04 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2649d7f3-fe34-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:04:03 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id
 af79cd13be357-78f05b62602so116668285a.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:04:03 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 w9-20020a0ca809000000b00696b1050be8sm288969qva.133.2024.04.19.03.04.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 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: 2649d7f3-fe34-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713521042; x=1714125842; 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=mKR8cD63qoJZQ2BlFIfk3IKhRffUhy1uBSc8G+xLNrY=;
        b=Wz+hNLtbAYoXrNWkPa/gs3K/aNk1pOLEQzUq9riPLTOlupyS/JfOr3PbStg4Jl31r0
         Ryt7ICj0cqO7bqNbe2uySrHkxqjU77BB06+xuak9n/BQmxEBjHktShPcLjbFAiuELo9t
         CkgHaVVmrDcy5TQWCcTaZpTsItHvyChXGa/1U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521042; x=1714125842;
        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=mKR8cD63qoJZQ2BlFIfk3IKhRffUhy1uBSc8G+xLNrY=;
        b=nspukc7xXJauhXmc2PNIVDgnrW7uvjxkLUj2cVme/wh+dSDvYGwfOFj2LFDPZ8cPzW
         pIsI6p/UwNjjHBcqxF8e6dcDfcYHK1lFc4B2sWb1uGHC8yhFfZWFh2pyJUubkmaOo5Xl
         W2wzhtH9AacjtApzKkZHrOLiAvVX8zclD4qerfqoyg22eB+2GuLB0Hny2lDABzBMU9VG
         eMLCA7ii3kvH3Xf9QOMC12pPzrSaEciWm3kmtCJPiPOWcWLaLtbqA8ftae+4vnUqjgaZ
         NA3sUNENmbOSll0am6gnxkV0Y9nYrWn3+UwVGJ7sWI/VS+mSvMFDGkjxOsRyNXwC0ds3
         378g==
X-Gm-Message-State: AOJu0Yx9LSLlHNuxcNNmf7oyvkvKb/o9IfeHwSkkpAcvIT9V8/aKtbgC
	qnrxPsiZiMoZDCtLQMx1X4/B3wNKdb/YGZT6a7N58qKbaBGrhGjMEHSpOitJgTJgEpaOxSMGw+b
	8
X-Google-Smtp-Source: AGHT+IHoZSUtBF4XySFdFmRGgBEIIoe46yNDThrp671ATKBmWOtenwJw8XPhjju4pvSTrIlWpaz/6w==
X-Received: by 2002:ad4:504f:0:b0:6a0:556e:3b09 with SMTP id m15-20020ad4504f000000b006a0556e3b09mr1656297qvq.23.1713521041858;
        Fri, 19 Apr 2024 03:04: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 0/2] livepatch: make symbol resolution more robust
Date: Fri, 19 Apr 2024 12:02:15 +0200
Message-ID: <20240419100217.12072-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Previously a single patch, now with a pre-patch to place the init
section markers into a common file.

Thanks, Roger.

Roger Pau Monne (2):
  xen: introduce header file with section related symbols
  livepatch: refuse to resolve symbols that belong to init sections

 xen/arch/arm/mmu/setup.c   |  3 +--
 xen/arch/x86/setup.c       |  3 +--
 xen/common/livepatch_elf.c | 16 ++++++++++++++++
 xen/include/xen/sections.h | 17 +++++++++++++++++
 4 files changed, 35 insertions(+), 4 deletions(-)
 create mode 100644 xen/include/xen/sections.h

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:04:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:04:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708909.1108107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxl6J-0002rw-6B; Fri, 19 Apr 2024 10:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708909.1108107; Fri, 19 Apr 2024 10:04:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxl6J-0002rn-3Q; Fri, 19 Apr 2024 10:04:11 +0000
Received: by outflank-mailman (input) for mailman id 708909;
 Fri, 19 Apr 2024 10:04:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxl6H-0002MX-SA
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:04:09 +0000
Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com
 [2607:f8b0:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 297a4e20-fe34-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:04:09 +0200 (CEST)
Received: by mail-ot1-x32b.google.com with SMTP id
 46e09a7af769-6eb86aeeb2cso1021548a34.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:04:09 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 a8-20020a05620a124800b0078f28a08785sm265765qkl.88.2024.04.19.03.04.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03:04: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: 297a4e20-fe34-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713521047; x=1714125847; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=x5kH8Om+131aQ6l7YhoG07i/m9A16YqFxu4+5E8EjzA=;
        b=Tuv1lFVgUUNC55M1L+U8Adgf6CbVIk9nUDcky6mtaEHqaeBd1UBBeI5vFdmJvnhjpO
         Tm7w/+9XMfXGTehYgzYcmgNa+82qnJWf1H1/scKfd5zV7iFHdia9benCYQJ1/85hxpzS
         jMRLEgEj0ZrbqbY987YKHLVYVIvKg+L9wjHzU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521047; x=1714125847;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=x5kH8Om+131aQ6l7YhoG07i/m9A16YqFxu4+5E8EjzA=;
        b=rkXJYiQkXuN86PRg1wfX2PLfSNAM6/PkH1wZb/lhQnTAQhKboH/crGbLiGrg2vczLK
         rO6oggiO4e52lSn6l1NBfQmyOEpxNeaRZ6seg7qnYCimvwMgPvhdRZLZj69yUAY7a2E7
         6kvMK8tiyQk3o3mDvXGQo4l6KnRIBJ4yOckUKIHbnYuzv/Khfshfb1yuUpOLx2jDGkiH
         ApeJOGT2kGbs+nnINT0uQQG433JgtvUPcblFP/ceKKw96vuAsgogcI1CT7Wa60sChRka
         t1F7he+WzqwBoqf3bfrNw46byUKv4im4/ViJrRXsziBXePPTgjnV1Dczi0l/WLxTFl0p
         f4NQ==
X-Gm-Message-State: AOJu0Yzxf+G9v89shFBSSBSml5ltfCWI1DZSjldO343Q35BsPLkLBykW
	srS+W3Y+gWrgU8Rf/3WLXFhE8TRoNRErQBRV6G71WPz6/KZHgarvDdj/TrDql+snsMEUaPjDgkc
	8
X-Google-Smtp-Source: AGHT+IHIqQ+mDPN5RImm6mlw6ZtoIwpNtH0j0ljEo2EdwPFYoDQgHaxEYWaya6PemXrsZORkOrFW+A==
X-Received: by 2002:a05:6830:4413:b0:6eb:7e60:6028 with SMTP id q19-20020a056830441300b006eb7e606028mr1967521otv.30.1713521047293;
        Fri, 19 Apr 2024 03:04: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 2/2] livepatch: refuse to resolve symbols that belong to init sections
Date: Fri, 19 Apr 2024 12:02:17 +0200
Message-ID: <20240419100217.12072-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240419100217.12072-1-roger.pau@citrix.com>
References: <20240419100217.12072-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Livepatch payloads containing symbols that belong to init sections can only
lead to page faults later on, as by the time the livepatch is loaded init
sections have already been freed.

Refuse to resolve such symbols and return an error instead.

Note such resolutions are only relevant for symbols that point to undefined
sections (SHN_UNDEF), as that implies the symbol is not in the current payload
and hence must either be a Xen or a different livepatch payload symbol.

Do not allow to resolve symbols that point to __init_begin, as that address is
also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
resolutions against it.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Fix off-by-one in range checking.
---
 xen/common/livepatch_elf.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
index 45d73912a3cd..a67101eadc02 100644
--- a/xen/common/livepatch_elf.c
+++ b/xen/common/livepatch_elf.c
@@ -4,6 +4,7 @@
 
 #include <xen/errno.h>
 #include <xen/lib.h>
+#include <xen/sections.h>
 #include <xen/symbols.h>
 #include <xen/livepatch_elf.h>
 #include <xen/livepatch.h>
@@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
                     break;
                 }
             }
+
+            /*
+             * Ensure not an init symbol.  Only applicable to Xen symbols, as
+             * livepatch payloads don't have init sections or equivalent.
+             */
+            else if ( st_value >= (uintptr_t)&__init_begin &&
+                      st_value < (uintptr_t)&__init_end )
+            {
+                printk(XENLOG_ERR LIVEPATCH
+                       "%s: symbol %s is in init section, not resolving\n",
+                       elf->name, elf->sym[i].name);
+                rc = -ENXIO;
+                break;
+            }
+
             dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Undefined symbol resolved: %s => %#"PRIxElfAddr"\n",
                     elf->name, elf->sym[i].name, st_value);
             break;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:08:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:08:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708921.1108118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlAW-0004mU-SO; Fri, 19 Apr 2024 10:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708921.1108118; Fri, 19 Apr 2024 10:08:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlAW-0004mM-PK; Fri, 19 Apr 2024 10:08:32 +0000
Received: by outflank-mailman (input) for mailman id 708921;
 Fri, 19 Apr 2024 10:08:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/X0h=LY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxlAV-0004mB-22
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:08:31 +0000
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com
 [2607:f8b0:4864:20::736])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4719b9b-fe34-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 12:08:28 +0200 (CEST)
Received: by mail-qk1-x736.google.com with SMTP id
 af79cd13be357-78f05035f56so120316085a.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:08:28 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k10-20020a0c970a000000b006a044503615sm1442023qvd.72.2024.04.19.03.08.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 03: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: c4719b9b-fe34-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713521308; x=1714126108; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AiTOzCQzraFcCsyE6Ob9mC/THLiNA3PZKRFQl+avHEU=;
        b=bAoheLl4MOy1HF3DDlUUOlEsxCGSCwPVuSxeGb+yByOIVgE+k8OwHbUQd3AzCl+SPS
         wQmXvmDZ/5tORPepkzsJRU1wuFfyhbquslAMYs4aEeIhVa0eE/n+fmskQosTdkXfnuZP
         1jnGJtsV8ZPzVKlG+gRfvziiDJSiKMJtEW2SA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521308; x=1714126108;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AiTOzCQzraFcCsyE6Ob9mC/THLiNA3PZKRFQl+avHEU=;
        b=XP6mbrCU9+X+udG0jvGGE/BvHjfSzGYSrt4wYnXtPnDzhJDExokC3NkdFWvZgmmbW9
         d867XwpwEnPRZcmeNub7QsHAxj773/RC+wJ2tquyjyjKX+1DNzs/Hb4/S7NcPb7hT1Mh
         IaYTek6dYIZ354apRpoaHqPg/19+qgnuZ1fBNZRSvlQhnN4X1XVC7SW84r5OvL2BmfLC
         AXm++ZYk81GMAdZO7vnegGfA2egUxELE1isoR940+KqdUJC3/RaMmXkjMbzwzei5ge1b
         n1zTiANxGUMbUDqiAbufUHaybhGC+2pXUbEv9MWdDCzkwDaKDr3IVNzRepexRMF1Y0un
         ajVw==
X-Forwarded-Encrypted: i=1; AJvYcCU/6XJHM71nPnDHQO2gyhVwwifi8cBwdVz7UDdC11lxxDTKi4+t0X9tM5yRvNZvL2SOlC+dPXG1M/9LB2oJwiGz84NrjhnI1MBIuDcAeTw=
X-Gm-Message-State: AOJu0YyrZxA9LeJHynD+8XQI98V48tigz3xSK+IxmNQi8KyCTj7F9TqU
	mph7y9eze+CUK2EjFLNf63Dh21LgRsbVrzDtGGfyRxaYbt9P3lkdZv+lgDU/j+Q=
X-Google-Smtp-Source: AGHT+IEu8O5wsFbwYh9RKYGoS/0cIMdvkg78h5+tr2ZYBwerVsR7zEn4YjGaUD7VqTtSp5HmeFVbGA==
X-Received: by 2002:a05:6214:a52:b0:699:1f58:398c with SMTP id ee18-20020a0562140a5200b006991f58398cmr1571595qvb.5.1713521307738;
        Fri, 19 Apr 2024 03:08:27 -0700 (PDT)
Message-ID: <a5253ad9-02e6-408d-862c-91a3a87ad9e2@citrix.com>
Date: Fri, 19 Apr 2024 11:08:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce header file with section related
 symbols
To: Roger Pau Monne <roger.pau@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>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-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: <20240419100217.12072-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/04/2024 11:02 am, Roger Pau Monne wrote:
> Start by declaring the beginning and end of the init section.
>
> No functional change intended.
>
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

TYVM for doing this.  There's a lot of cleanup which can follow on for it.

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

although if anyone has a better name than sections.h then speak now.


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:10:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:10:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708923.1108127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlCZ-0006Ak-7R; Fri, 19 Apr 2024 10:10:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708923.1108127; Fri, 19 Apr 2024 10:10: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 1rxlCZ-0006Ad-4p; Fri, 19 Apr 2024 10:10:39 +0000
Received: by outflank-mailman (input) for mailman id 708923;
 Fri, 19 Apr 2024 10:10: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=/X0h=LY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxlCY-0006AV-Ht
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:10:38 +0000
Received: from mail-yw1-x112e.google.com (mail-yw1-x112e.google.com
 [2607:f8b0:4864:20::112e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 107fa828-fe35-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 12:10:36 +0200 (CEST)
Received: by mail-yw1-x112e.google.com with SMTP id
 00721157ae682-614ec7ee902so19087677b3.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:10:36 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r15-20020ac85e8f000000b004359216e794sm1452069qtx.29.2024.04.19.03.10.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 03:10: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: 107fa828-fe35-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713521435; x=1714126235; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yALHaaRhHmSCSbWr9Nij5VFHkklrkhbh+6p/p6Xc2b4=;
        b=usZERj/FxJVGeVJQrxQC+1Vc7xx6GAKvuqXGYlNZjbRnxsigE0glXkNpjUSyMv4BNZ
         NpT1uFGQGu1Qiq6d8FL2iEcX6AJh1T91saTiSryNqBcLizzQTJ0fFUZkOR8A4NS5JDSb
         YmTFIV6wcrCh89Qp1boAvt8jTowtcogsaGWU4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521435; x=1714126235;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yALHaaRhHmSCSbWr9Nij5VFHkklrkhbh+6p/p6Xc2b4=;
        b=iTR0Z2ylOfTY1UhBzyMd8cU0EHPUFkvKdwpIumPNaS34hk+AwUwfyl6szpixO3VO0s
         5L9jNddSkxBiMyJOJipZy3Z2weoswaybEzdGYZxttQ3PI+qEhmemPJoczK0edgj3nC1N
         HK7IsNcYy1DbeN3P8Ebi9y4qNbwfcotJgdaOrw3cBKUf1MYHeFtaUvTKM2Ao//EsWckh
         7kczX1X4wIfaiaY9pUD1wTtzQLeEh8niFZKWte4GsklqfyOcl/qq3k3GUa5L5v85SFD+
         cVvsrsbXZylikNc8jpmx3jnMFYTomamx1GPRBuMUW0C4V9pi7TAJZGvaNz4xCtpd9ruH
         rTJw==
X-Forwarded-Encrypted: i=1; AJvYcCWAyBte6HYTWI3ACHhzUk+R+B6DUi9UsMkVDbj3ZegJHd8bgQp36PM1mVC92hiC9Jl9ytAXvP9Z6XF5wpJg9VacXJvG8fpJlmDH1p9HrWg=
X-Gm-Message-State: AOJu0YzfqwrzOssPcpZND0oh+lV1Odj0t/TnFoz0oq6FO8ls0Vpbb5NA
	e2JDrDdAqgU32jJ0UvyJx7w+Pm7E+tm6NbFoUrgLjwyEA84lr6I8w51jpaZOi3Ia3hLn4GGguUK
	gKyM=
X-Google-Smtp-Source: AGHT+IHcX1wycOUvKG4lFSvc/+wVlfw3q7v/k9LjUMM3VPFipxofEinpz/Xjy7kml4FGIfr9tFZbhQ==
X-Received: by 2002:a05:690c:61c3:b0:61a:c2fc:1128 with SMTP id hk3-20020a05690c61c300b0061ac2fc1128mr1530521ywb.28.1713521435400;
        Fri, 19 Apr 2024 03:10:35 -0700 (PDT)
Message-ID: <96bb1fbb-0b4c-42ac-9c3b-16700a65130d@citrix.com>
Date: Fri, 19 Apr 2024 11:10:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-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: <20240419100217.12072-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/04/2024 11:02 am, Roger Pau Monne wrote:
> Livepatch payloads containing symbols that belong to init sections can only
> lead to page faults later on, as by the time the livepatch is loaded init
> sections have already been freed.
>
> Refuse to resolve such symbols and return an error instead.
>
> Note such resolutions are only relevant for symbols that point to undefined
> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> and hence must either be a Xen or a different livepatch payload symbol.
>
> Do not allow to resolve symbols that point to __init_begin, as that address is
> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> resolutions against it.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although ...

> ---
> Changes since v1:
>  - Fix off-by-one in range checking.
> ---
>  xen/common/livepatch_elf.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
> index 45d73912a3cd..a67101eadc02 100644
> --- a/xen/common/livepatch_elf.c
> +++ b/xen/common/livepatch_elf.c
> @@ -4,6 +4,7 @@
>  
>  #include <xen/errno.h>
>  #include <xen/lib.h>
> +#include <xen/sections.h>
>  #include <xen/symbols.h>
>  #include <xen/livepatch_elf.h>
>  #include <xen/livepatch.h>
> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>                      break;
>                  }
>              }
> +
> +            /*
> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> +             * livepatch payloads don't have init sections or equivalent.
> +             */
> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> +                      st_value < (uintptr_t)&__init_end )

... I normally vertically the (casts) in cases like this for improved
legibility.  Happy to fold on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:12:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:12:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708931.1108138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlEE-0006i4-Jc; Fri, 19 Apr 2024 10:12:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708931.1108138; Fri, 19 Apr 2024 10:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlEE-0006hx-Fr; Fri, 19 Apr 2024 10:12:22 +0000
Received: by outflank-mailman (input) for mailman id 708931;
 Fri, 19 Apr 2024 10:12:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxlED-0006hr-TC
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:12:21 +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 4e5a32e1-fe35-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 12:12:19 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-418c2bf2f90so10467915e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:12: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
 bd6-20020a05600c1f0600b00419c24abaccsm388584wmb.12.2024.04.19.03.12.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 03:12: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: 4e5a32e1-fe35-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713521539; x=1714126339; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nffn3BKQGqcRxTiO78Z/gQ5yBv7ZrNCWyiLWNwZ/NeM=;
        b=Eyv/ismoPYRox/uLhwJLhNP7t7bQ1ysDFTn6/IUU5UXW0DDdJ8/DHZmstAYTRxNxzQ
         TooETH2SgJf+3wZhKIOVSpvMZ4r5ISYZXnOe7EuWCRMBi7Mpg9tn+VZAL1f9o4zg5Wxk
         ksk8y3lqsB2n6NR+oGvmyk1xXBKvw7IYfLtgUnlDXfpNETKguPFDD2/UCOSRZLMjez4o
         vXap7TVqFiP9ND5ilZ8Ip47cM/6ygaUyn3i3/efGvFnQ3D/8djmsznxKYIscDcrNJEP5
         gIQ6IuIpJ5QF+JpEzZOChdo0e+n+kzMadwWoBcip8pKgbguqUNd/c7wruBfdxU/YZAuZ
         gJrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521539; x=1714126339;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nffn3BKQGqcRxTiO78Z/gQ5yBv7ZrNCWyiLWNwZ/NeM=;
        b=O8xX1jZWQ/50wIu6xJX29MBMbYtFvjnF3KSw/gRAhOUuvSOL6mqtH1ThDn5rgRniHf
         c0sFXdTNJ/pGRDW61AJFyVLdPZ4XSDOXVl0KBLT7jecD1vdhQsLx/QBmwbQJnTvI4S8S
         /2naaIq6ubsRf1M98+ROvrFoL9nrJfbzKIAod+u/gsxuX0QVJ6AukSgLj9cTlGfBmNhJ
         2udm29j5OjR5xwtEmQlnsxWo3FzQ/5a/JP4iknykvdHS7v65dDD9wqtSqwj1xgxShGHj
         tKpgaobrO1KIcbtShhhV7JXs1mSf2IbGoCmv67+6C7xZo8ZbA30KQLLByeE0UM/Rk8Zd
         p68A==
X-Forwarded-Encrypted: i=1; AJvYcCVNU/z06zjv/VjIgaTYTZC1/BskJtBt231rqIVpIMFPd80GKHOhq/zuY87A+uCyFNSVnyph+JLsP78AHuONQQq8US0Lc5Az5D2CbtlEjhU=
X-Gm-Message-State: AOJu0Yz23dc34hhZ4IpZR9bW8nmanINTp9G+8buQlQ8acNt3CNzYwuoL
	jI1NRkByvqMoYrRfSumjCtP6vhDq8kTk5/5o6ThN0Ua0cf/WhY6v/QxKXubLIg==
X-Google-Smtp-Source: AGHT+IFH276pMQ6E5XNzMq3HQbcsj4wWej19w9pyhPjfUNspmZcrVYyZTRQ69hMtj5fSRN+XyTR4MA==
X-Received: by 2002:a05:600c:3b1d:b0:418:c6a:1765 with SMTP id m29-20020a05600c3b1d00b004180c6a1765mr4243761wms.16.1713521539188;
        Fri, 19 Apr 2024 03:12:19 -0700 (PDT)
Message-ID: <0fe755cd-722e-41cd-9499-49dc628bf52b@suse.com>
Date: Fri, 19 Apr 2024 12:12:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce header file with section related
 symbols
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.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>,
 George Dunlap <george.dunlap@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-2-roger.pau@citrix.com>
 <a5253ad9-02e6-408d-862c-91a3a87ad9e2@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a5253ad9-02e6-408d-862c-91a3a87ad9e2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 12:08, Andrew Cooper wrote:
> On 19/04/2024 11:02 am, Roger Pau Monne wrote:
>> Start by declaring the beginning and end of the init section.
>>
>> No functional change intended.
>>
>> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> TYVM for doing this.  There's a lot of cleanup which can follow on for it.
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> although if anyone has a better name than sections.h then speak now.

For what is put there now, and for any other section bounds markers the
name is fine with me. I'm not presently convinced though we want to put
__read_mostly and friends there.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:15:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:15:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708936.1108148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlH9-0008QH-WE; Fri, 19 Apr 2024 10:15:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708936.1108148; Fri, 19 Apr 2024 10: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 1rxlH9-0008QA-TP; Fri, 19 Apr 2024 10:15:23 +0000
Received: by outflank-mailman (input) for mailman id 708936;
 Fri, 19 Apr 2024 10: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxlH8-0008Q4-FL
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:15:22 +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 bab8509c-fe35-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:15:21 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2d717603aa5so22860961fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:15: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
 o8-20020adfcf08000000b00345c2f84d5asm4048476wrj.10.2024.04.19.03.15.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 03:15: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: bab8509c-fe35-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713521721; x=1714126521; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nUBj57HlhotlFW8G1hkkBBBLw4yuTA4KLcgV/wtLSaM=;
        b=QeW69bGUkNh1Kcy2gaoSb394iAAVg1A/d9b7gSNqFKSy4tfvLD2IyDFf8jY8QF+V/B
         Q7LB8iQTv86D6jYGQ3tgWmWyXp+iZ2UdkygnMdITlVNr3HWx51QDagG7bQhEQMshjmdf
         tELlFfYI3+PgTHMX0uYpV6ZSiSe/h6wNO1tZNpx/FmgiFQGq6jBsLWu5BZlLL2zRwhu9
         1d+wQ0F4eAwZ/i3XlUUgYjASEDtQgS1FAbxT6ciB2jC0YlSoAhoY/W+Lptv8A1ciUNN8
         rAplobZxOp569vP4bPdz3cufB5r0J8DGOBHwRifHd5kzNK6wwJGpXVo/pgB7UBo7aP2f
         U2aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521721; x=1714126521;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nUBj57HlhotlFW8G1hkkBBBLw4yuTA4KLcgV/wtLSaM=;
        b=d5pltDcYQafIJuqUwjjyMMmkAmz8xsQV7RduNDWLwxrIrCDn6lfp+KkYFX/V3oTDZv
         EcLK7Z6VBspi7thKWMXU5FNqw93yxnUluuveL3tW4wOD631BzQH7BSlhtvG6EOwayJAh
         IMw5z4XCisdcio6tlR+vveQqp4Fy3a7doBtakOttYOmjraDjRXI/LW2elzNPUmZgjOUP
         N338Bx+XlKd5lm+7FcOY/8sLfMksb70iKxWnzX90LEtzkXVWs/ubHHoMa0jOdiMMbMpS
         HNW1AAkFurqGEyJPu4llPZY5HUXi7oe031rXDYHA4DrC03ixxGuwL3ENhhxXsjVp6PrP
         Umqw==
X-Forwarded-Encrypted: i=1; AJvYcCVyDa31zK0zNjh2SbG072AMNihtheN2rWExpnwBVmzzdVdDLU9dPBsJ6mU8fr6IfxjwpAggAhapPVrl2lbWBdLedJNMnphxxq4xayn6M+A=
X-Gm-Message-State: AOJu0Yz4sLqbkgmI3r/FiiqrI0bpboCy5R6Z0zOFLdSi/s9zyUUNQ3Gm
	V7r+bYKkqt0amUqDIhyfvbGpst7io+sE2VmBrIzy3C7V+TCZJnJful7536Ah5g==
X-Google-Smtp-Source: AGHT+IG2igFoNwk7hAyxzT3w49rz2J9AsC1uTxEUhwTsuSfIAdLrUvGTezQGwPziVXb2CkcwbDdfMg==
X-Received: by 2002:a05:651c:49e:b0:2d9:f818:1736 with SMTP id s30-20020a05651c049e00b002d9f8181736mr1202486ljc.40.1713521720901;
        Fri, 19 Apr 2024 03:15:20 -0700 (PDT)
Message-ID: <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com>
Date: Fri, 19 Apr 2024 12:15:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240419100217.12072-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 12:02, Roger Pau Monne wrote:
> Livepatch payloads containing symbols that belong to init sections can only
> lead to page faults later on, as by the time the livepatch is loaded init
> sections have already been freed.
> 
> Refuse to resolve such symbols and return an error instead.
> 
> Note such resolutions are only relevant for symbols that point to undefined
> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> and hence must either be a Xen or a different livepatch payload symbol.
> 
> Do not allow to resolve symbols that point to __init_begin, as that address is
> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> resolutions against it.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Changes since v1:
>  - Fix off-by-one in range checking.

Which means you addressed Andrew's comment while at the same time extending
the scope of ...

> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>                      break;
>                  }
>              }
> +
> +            /*
> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> +             * livepatch payloads don't have init sections or equivalent.
> +             */
> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> +                      st_value < (uintptr_t)&__init_end )
> +            {
> +                printk(XENLOG_ERR LIVEPATCH
> +                       "%s: symbol %s is in init section, not resolving\n",
> +                       elf->name, elf->sym[i].name);

... what I raised concern about (and I had not seen any verbal reply to that,
I don't think).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:17:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708941.1108157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlIh-0000iN-Cq; Fri, 19 Apr 2024 10:16:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708941.1108157; Fri, 19 Apr 2024 10: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 1rxlIh-0000iG-AK; Fri, 19 Apr 2024 10:16:59 +0000
Received: by outflank-mailman (input) for mailman id 708941;
 Fri, 19 Apr 2024 10:16: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=/X0h=LY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rxlIf-0000iA-Ns
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:16:57 +0000
Received: from mail-oo1-xc34.google.com (mail-oo1-xc34.google.com
 [2607:f8b0:4864:20::c34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2810a1b-fe35-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 12:16:55 +0200 (CEST)
Received: by mail-oo1-xc34.google.com with SMTP id
 006d021491bc7-5aa4a1246b1so1096249eaf.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:16:55 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ok23-20020ac84117000000b004367cc4ab01sm1450043qtb.15.2024.04.19.03.16.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 03:16: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: f2810a1b-fe35-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713521814; x=1714126614; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nRVKlLmpVCWZiKvHND/kH5St+cWD6mDFWrdqa1TpiNU=;
        b=ZB5ZRDCDLoHAd/sk7giJuHwtNXWnZ2Do/BkpaJNJbzr6pRWP2now+P6hVHCUuM03o7
         JaEDni5QJ6AHnZK/8PxW8MbtjvJsY+EaL5YUKWjt5E7dZVxvBSANxA9WzhaClxzq/MST
         NjlqQ6BjZHzn05AZD9jL0ObZ3NYb6KQw7TTXg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713521814; x=1714126614;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nRVKlLmpVCWZiKvHND/kH5St+cWD6mDFWrdqa1TpiNU=;
        b=U+K7SSVzHazN2RuAhw/zdPPaSzyQBeAgz5fa7mlHmU/eKVKQaYE28Vt6DTtPOsPXLS
         mPzztziLztyAIGgZQ1xRlPFxk5qIBnQffwBM15e5iyLPQSehJjetJLtG0Xoky1WR6m6+
         zQSY758qkIsNRSkwzVM6E79MAVFoiAoWw0am3+j1UN5u5lSWxoQYNHLyUgZAXHFkFSt+
         EdOMKQ3ttuNEOgmb2vP1OIbUiWPqbbMa/Dq0DwU8SmrZDbFWo8Cop+UxlHVmKcRyZLLO
         soiKcQWAuv0CV7v+brszUol+WE4xnEUp+iZ+ZTgNvCEXd2kvl9dTeBzeefdJa+3ALu6U
         thSg==
X-Forwarded-Encrypted: i=1; AJvYcCV9MtwYtx7L6lH0H9j1yFYJ6koS+VsUaTA6myMOAKSyAq2X8RY4j9OdmxHKnj7VOu2YRN8QnUDmbBTt6g3TGvPbuQjls3ClHu7zUHrkwfw=
X-Gm-Message-State: AOJu0YwwW42Z+a3NR75rckCQjpG9264CCFDbpEtgaH5bngiBneAkUKuH
	UZdsimsmaxwcPgHMOQO+Blh5cEqp2ATVKfrI3Qyz+zMr5LVwO6zIRjlnMQkte9s=
X-Google-Smtp-Source: AGHT+IHfdJYqo+MplQnRtgHsG7jTozWqinxz+RTdtIk7nz0ZEeY+21p2PrI8o0msiOk7wRHiknhReQ==
X-Received: by 2002:a05:6358:6e82:b0:17f:1e37:6e3e with SMTP id q2-20020a0563586e8200b0017f1e376e3emr1701343rwm.32.1713521814492;
        Fri, 19 Apr 2024 03:16:54 -0700 (PDT)
Message-ID: <65c9f3c5-5583-4c87-b2d3-8ecfba9b88cc@citrix.com>
Date: Fri, 19 Apr 2024 11:16:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce header file with section related
 symbols
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>,
 George Dunlap <george.dunlap@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-2-roger.pau@citrix.com>
 <a5253ad9-02e6-408d-862c-91a3a87ad9e2@citrix.com>
 <0fe755cd-722e-41cd-9499-49dc628bf52b@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: <0fe755cd-722e-41cd-9499-49dc628bf52b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/04/2024 11:12 am, Jan Beulich wrote:
> On 19.04.2024 12:08, Andrew Cooper wrote:
>> On 19/04/2024 11:02 am, Roger Pau Monne wrote:
>>> Start by declaring the beginning and end of the init section.
>>>
>>> No functional change intended.
>>>
>>> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>> TYVM for doing this.  There's a lot of cleanup which can follow on for it.
>>
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> although if anyone has a better name than sections.h then speak now.
> For what is put there now, and for any other section bounds markers the
> name is fine with me. I'm not presently convinced though we want to put
> __read_mostly and friends there.

Well that's exactly what I intend to clean up into it, because it's far
better in sections.h than (duplicated per arch) cache.h

(Also I intend to strip down kernel.h for the other major sections too.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:20:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:20:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708945.1108167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlMI-0002AI-Rk; Fri, 19 Apr 2024 10:20:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708945.1108167; Fri, 19 Apr 2024 10:20:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlMI-0002AB-Oy; Fri, 19 Apr 2024 10:20:42 +0000
Received: by outflank-mailman (input) for mailman id 708945;
 Fri, 19 Apr 2024 10:20:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iezf=LY=epam.com=prvs=0839d8b339=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1rxlMH-0002A4-AQ
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:20:41 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77d5eccd-fe36-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:20:40 +0200 (CEST)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id
 43J9FY7K000563; Fri, 19 Apr 2024 10:20:35 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2232.outbound.protection.outlook.com [104.47.51.232])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3xkntv076h-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 19 Apr 2024 10:20:34 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by VI1PR03MB9899.eurprd03.prod.outlook.com (2603:10a6:800:1c1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Fri, 19 Apr
 2024 10:20:27 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7472.042; Fri, 19 Apr 2024
 10:20:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77d5eccd-fe36-11ee-b909-491648fe20b8
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gsxZYNM2jqXbOremGt6mJpQzgxyyOibNbNnpuQpD/Cw7oe8rrhmPNNA0QYS+PwU+qNPhqy7/vxGD+WkWJH9tQBGgOV7Onc9RLc4IVwmekWHUI805i7Pqx4qQCxVCt1qjD29EEaOxs6QCnOoBv0iRhXpcn2++eH3r7hm0gMa6nPI14kxsri/ESlXCtXY+AznG06g7HA4DQnCVYpOq4XcF8fPe8Q3TuveCJb3j9fdLUFh0iKuzZKUqjj0sS55ktcA64au72VAOjVpdVvWzQvqykVZ6lDEMsOTqXrxCaK64PygzIHjt9dSbhtTYnVD/kR4PqMzOL4jjxvUcV3B0FmqkFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=02/HFPOq031eEhL8VgnnjPiz2m+5PSS3FjnT36FmFyc=;
 b=SlO8lmT8fdyJpvFa0DrFAKAGiAlZ9r0PqRj6PV48ph+9ZSo8PZJ/1u7+LguBqC0w9qsvThTQ0W7oJ+e883xq3Y7kUkg3CiBasvBVyYDPzoKYoC2VJs0nCKu4WCku1OTx9d87NLHEIDVyHw/8I1J6Dyl7wS81BYzSnFhcgckKw9FHNbhW8Kky34w75PFJsubqBicj+llMK1GPkh2tXR/lswE0SRex/PloOB4KoSYSk+LqjPCtpTLGDrzJR1Lowl0iomtTf0nuw/9NP/9tMXnumI3cqeN1V+SXNOgAx53nIPesZ2dhSyDG0ncAyYU/6ou1iF8/LJQ+qetf5csSTc893w==
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=02/HFPOq031eEhL8VgnnjPiz2m+5PSS3FjnT36FmFyc=;
 b=WYiMLl6lrX0+YuhVmTFBcR3u4tiyfce+rZSlzS5vumBjDwWUhOJixMRYGevk04Zz4pyExFtTTdMLauRGn2PG5rcnis2xGrWz81OrpS6FWgIUYm4nr0BJIXMJmHhHHGWcygnvj1esZqk66/IrQ7n6uwaHZHidytt0ZeSTsZiVgNkQFKfeXDrahXrOSLe+BN7ynIBbw9mMsLanTJsBxtCWAvoXsQJIVMMp7vBQFmhgaWf13qE4tc+3E4bl5WYlew5w6xtI7sKhDp+lcGL1oxHjKWN5KHzaKyFxXIzDIFexoMGH+NKjT64SGIysHXrIJE3VXWW8V+dQLuHivstzYlOltw==
Message-ID: <abfd9448-8198-46b1-8ff9-1038ebb8c98a@epam.com>
Date: Fri, 19 Apr 2024 13:20:25 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 01/15] x86: introduce AMD-V and Intel VT-x Kconfig
 options
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>,
        George Dunlap <george.dunlap@citrix.com>,
        Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <20240416062052.3467935-1-Sergiy_Kibrik@epam.com>
 <6166e740-3710-4687-ba1f-d4058a2e3d55@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <6166e740-3710-4687-ba1f-d4058a2e3d55@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0012.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::27) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|VI1PR03MB9899:EE_
X-MS-Office365-Filtering-Correlation-Id: e62bd934-80c8-4109-e923-08dc605a54ff
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	=?utf-8?B?bklLTEJSUHNydzhIM2w5Rzd4UkNjRDhnaU9yNUxmV0RYcVYydXpFTFpXVEc5?=
 =?utf-8?B?SFVBYmx1eWRNa2RNOUVTZkVGMnNzUkw4bzExVGFCUkxtaWYzaHJsQkNYVzUr?=
 =?utf-8?B?REpibVlaZ0FTd09lczgvcEN2VW9pMG1FYmVDTUZxeE5nMHBObzZZQis2eFA4?=
 =?utf-8?B?UlBYckpaZE02ak15L1Q5TmowY0k0eFh5NUdRWnpwUm5wK2FQOFhjR2draEZP?=
 =?utf-8?B?cUxCSHNLWWNNTDhYQ0ZheG16a2ZkRmlXbTYrTy9FWFNrQVJGOEZ1cHBxN1pR?=
 =?utf-8?B?NG1DWExLdllabjZqSStuZk9NT2d0SzVKK0tVNGo2YTd1elFueVoreWhRdU16?=
 =?utf-8?B?UWRQZmViU0JzNmpKeFhDalVaZFRaclZVOWVVREF3QUNhcGJxNk91NzVRNmN0?=
 =?utf-8?B?TFcySlRjVFUxOUdkaDhERVIrUmt5YmxPdnRSNXdjY2NCdnJqWXB4SmwzTnd2?=
 =?utf-8?B?Ymg5Y3NoSjRXT21SemVIaWE2Nk5pdzUxOGJkWk9IRHU4OGVYUDlyOXVrQ0Ur?=
 =?utf-8?B?Zlh4TU5xY3pmSkxLU1FhSmNSOGZaRERKM01HME5mZTUzcDRwcTdvNnV6WHRr?=
 =?utf-8?B?L3NENVB5Y3QvMUlpT0ZDUzNRb0FLcUZEanhLcVV5UjdmdGtPbFZnWTBQUkhM?=
 =?utf-8?B?U283dU5LbWQxbHcwNExNOXUxNGZ5Rk1Fc0lHWWtSbnZveG1HZVdtYWRrZ0hE?=
 =?utf-8?B?Q1VadnRxR2w5R2pBOW42RkRVMUJvQ1krQjlmaFNSWUV1WEpTUUhYTGdqUXFh?=
 =?utf-8?B?WVF6elJZQnJMSDlYWnVxME1GZGwrMklFcnFnWERvbTRpc1lnaWxzRkV6WUd5?=
 =?utf-8?B?TnE0c3htSHpzaEJwc09RbWYvY2k1MFRkM3NPTkxKSjJWaU9VOFMzMGVWQkJz?=
 =?utf-8?B?MzNweWFlYlpuT3ZwcC9NUnl6TjlwVjAvM1U3OGFEYmFKa0lyZFE3dXFMbTJU?=
 =?utf-8?B?TTRyMUxjMGRhdS9TTXp1ZXM1dnE0dzl5ajhaVEVxenNZb0pZd2NUSytOUm0z?=
 =?utf-8?B?alpybENucFB6M01QbjZlM2NZVXFWZ0ZRWmdQcFBRWmVNS1FXNHkwRkRjVUVN?=
 =?utf-8?B?RWpNaVdodG8zeWdLUXdCbzdEU0xlV0pjVzFnSWZrMXZPbElkaVJicWFkVlEy?=
 =?utf-8?B?QkRiNm44S0tsbmNkTUVjVUtnYmp6QktQd1NMK0RWQS9nMmRyWlFjVUZvRVIx?=
 =?utf-8?B?SE05WkRVWGZKSlVSb0N6MEFJRi9STUNqem12ckpvdkRHcUVwNlU4ZXE4QTNK?=
 =?utf-8?B?K2tDdVpCY3hNZFUzdHExRCtUbG9wSzRXNGJSTU0xRHdYYStPN0hNN25zUFIw?=
 =?utf-8?B?eGZ0Q2RiSjExc1VUbDRoUUcxZStONktxeWEzQ2lDQW91dVhCWU15NEZ1Q1dF?=
 =?utf-8?B?b1BJWjkyV0JTTTVsYkNXOXMxK3lIRVRyUXQyK2licWg1V2ZxOFNKYWxhQkhL?=
 =?utf-8?B?OWw4MXBacGhJdUhlTnQvUjB4ZDVVRjUvK2h4UFV0MVVVbXFxYkc2ZnFkUzY5?=
 =?utf-8?B?bHNkOHgvT0lkZUsyNkM2TGR0Z2NtMHpEa2lwUlQ1b0VTdGhwZklrdm42TUkr?=
 =?utf-8?B?RUoycXNsMUVIdFF5N0tmUU5Ea2VsbnBDM2s5czAvN0txVVZqRFQrY09ORGlw?=
 =?utf-8?B?cHVlM29KaU0xNXFIS3dUbndxZkdhSXdFblc0azlvT3FZQ1ZVeW0wU1NCM0lj?=
 =?utf-8?B?VjRwVy92VUtETjJZT3dKeExMNjV1ZFI2R3pUaElyckF0elhVU29jd0RnPT0=?=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(366007)(1800799015);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?MytxZWpPcWVQSytHY2J3YnJFUTN3VGx5VWsrL3JGYkN1MzVKOHdjS1lFcGRQ?=
 =?utf-8?B?NTE0OFBORjBtUDAvUHg0K1BQSUdYMjNlWUpxQzZuZFZERmFHRzlGV0NVVmw4?=
 =?utf-8?B?UUxxTTZLMlR2MmFVVi9KTHRzNzh1b3hTV1NydVVVS3FacGxFSDZYeXNWd3Zp?=
 =?utf-8?B?eEtDS2ozM0JURmVpQjVwUjVoUDdTTjBibjF6M3NqWVM4aEd3RVFFRDdVaEpM?=
 =?utf-8?B?Y2xVWlh0eTllSzB1MCtRQ3NzL05wVTFaOXhGaXQ0aHpxQzJYekNnZ056b1l2?=
 =?utf-8?B?WFNYbUVqbEZ3Y2FCcHY2eWFudFFXQ3ZkZThRakYvci9GOWM2KzJSaUVlakQ0?=
 =?utf-8?B?N0VmZDRFVHJzVjJ5dldFemRvR0grL0Zabm1DSWJQL1gzV0RXRWpwcnJzZjk5?=
 =?utf-8?B?VDFUajhZKzJtRk1rbkZDMDROTjQxZ2pvS0NOeGZMRXRuNG5NSFVxYTQyVkIy?=
 =?utf-8?B?dGJ5RW1RdFZ1SzVwMEFDUHlBM3dsWWVmTXMzbUJ2TEhsQWp4V3NXYUFWKzRI?=
 =?utf-8?B?TklwdHZBcUhKNVhZNmJrb1ZRV1BFTVNiNitkWU5RcHIzMFViMzNnc0hlWnB1?=
 =?utf-8?B?UktMMmtXWUhka1dTMGhxQ1l3dUEwcG53bWFBRnJQSjNqTGRLOGkzM3JKVEl5?=
 =?utf-8?B?bG8wdFZQSWNzWWR3VjVFQXlXLy9pd1N6SWE0K09tditDVE5hZVQ5VHhHSlNR?=
 =?utf-8?B?cU9xN3RMWlZMbzVJMWxKS0ljSHBRYTVmQmJvY1psVmpGY0JiVnpuWVRHUFor?=
 =?utf-8?B?UFdobktRdTRKd1UwblNEWnNBUkR4OVQ3V1RhZE03Zjh5YzVQaHpaejV2azIr?=
 =?utf-8?B?T0pJa2s4dVFiMXVGT3NjR3YvSGlxY1p1ZUNtNUNPZ0VkamZPWmJoODBEdStH?=
 =?utf-8?B?cmdlNGJUMFZJd0lOWVBKOGlEMkYyYVhNd2lLSldIWTlLTlRPeGhZS2N1Z3NR?=
 =?utf-8?B?QTBrb2hSdHVJTnpnZ2ZsYXNHVWVNOXJhOEc4L0dqOU53T1huOHRXeHVtL3Jp?=
 =?utf-8?B?L0dBb0RIUjJuZEVaS3BYVmxnUFBUdkVQbWZqbEhzeGEwUDEyQldVZlpIeTJR?=
 =?utf-8?B?bkY5UmtMSHIxcmFOTE5hRXNZSEhPaGZLYzExR29NejNacVYyT2s5emtBenhw?=
 =?utf-8?B?aFJmTmRYdW9lTEdMaTJOS1FoWFJLRDlIaFVPS2ZBbmNBMGREOEg0Z1hjdUE3?=
 =?utf-8?B?VTA1TjdsYUUyM1V1Z1dEWTZiRmIvd3RGWGVKa1djMzBjbWd3ZHg2REgwTmFD?=
 =?utf-8?B?Y0djNmQ3NU9JSjVxd1dIbGIrOU56Z2VHcWZvYmlHWkRSUUN3OThNWVlJdUh3?=
 =?utf-8?B?cHJnK1h5bmZHMUpHZHBQelNlQXVXMTNUSkd5bXY4a04xV2VVTndRd3pQY2FH?=
 =?utf-8?B?RWp2dVhFbnlSNk4reDlOTi9GZGlmbVZyMk12dHp4NERCV0pDQ2RXM0c3bThh?=
 =?utf-8?B?ak5FdVlHeUpXVG01SDZuM0RTZzJFdUs1T0N5d3NSZFZNQm1HQ09wMytpeGdx?=
 =?utf-8?B?NXA1MmVKR214Z3JNMVpvYjd2SDJaS1JaVDZySVBDaVhQREVlcWF5NHU0bk9o?=
 =?utf-8?B?emg3NnpId09qdUEvNmErTi9wZHRhVU1STUpXdFdrQVBKdDhSU1J4cVB0Ym1z?=
 =?utf-8?B?TU85bUI0L0F5K1FiSklvaHc2bEZidUJJbVFaZVdXZTVGdit4T2pJY0NiVnR5?=
 =?utf-8?B?a1lpWnJuYjI0YUFORnI2aXhncThTcFdkSnlqNFRJVkpoTGpoa0Raa0VyZDNu?=
 =?utf-8?B?LzZ3WGdOQm1mMHp2Zi9iOWQwNXdIcWpQS0hXaUF1NmpjanV4Z2ZtV1BNWFNt?=
 =?utf-8?B?aHliTWJ4UURDanpqVE5GeHpDZDUvOHZBU0JhY3VpdWJCT1VMc3gvTFhOMDBH?=
 =?utf-8?B?M3prRTVMNjl0UnFBRXBLbGVIZzJ0dDZiZS82K1NZcnYwaXF0NXZ2N3k4RXVJ?=
 =?utf-8?B?WTdjY1YvZmpMU21nRzAzZGhKelArVVJwbmJ5NU1DcDlKZVRUTy9tRHBZYnV5?=
 =?utf-8?B?L2N3SWZjQVVNRzUrZXFCUW43RFM2VE44WVB5bVVXankrVndSMmRKKzI2V3ha?=
 =?utf-8?B?bjFZSVg4bkJuMVVOd1ZKK1JGc1FoblpUL2gvM1AzemtYZlg0K3N2UnlpczBz?=
 =?utf-8?B?OGpUU3F3cW1JZnJLQWJTQ3ZkUXhnaEMyZStpMmlqaWo3c25JMDhhZDJlSHlV?=
 =?utf-8?B?V2c9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e62bd934-80c8-4109-e923-08dc605a54ff
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2024 10:20:27.0625
 (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: 1lWUg9fZajIpSVUS9L0wUo03hHBd0XhBjmtf+Tq5Dt3U9C6K6O2szoBP/uFs5BLlDqfEOR31aziAQH3C8P3EdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB9899
X-Proofpoint-GUID: P51zFiVs4HvP8PdaFiCTnCsoulsCyDE6
X-Proofpoint-ORIG-GUID: P51zFiVs4HvP8PdaFiCTnCsoulsCyDE6
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2024-04-19_07,2024-04-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0
 priorityscore=1501 impostorscore=0 mlxlogscore=999 adultscore=0
 suspectscore=0 phishscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0
 malwarescore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404190077

18.04.24 14:16, Jan Beulich:
> On 16.04.2024 08:20, Sergiy Kibrik wrote:
>> From: Xenia Ragiadakou <burzalodowa@gmail.com>
>>
>> Introduce two new Kconfig options, SVM and VMX, to allow code
>> specific to each virtualization technology to be separated and, when not
>> required, stripped.
>> CONFIG_SVM will be used to enable virtual machine extensions on platforms that
>> implement the AMD Virtualization Technology (AMD-V).
>> CONFIG_VMX will be used to enable virtual machine extensions on platforms that
>> implement the Intel Virtualization Technology (Intel VT-x).
>>
>> Both features depend on HVM support.
>>
>> Since, at this point, disabling any of them would cause Xen to not compile,
>> the options are enabled by default if HVM and are not selectable by the user.
>>
>> No functional change intended.
>>
>> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> In the subject tag you say v1, but I think this is a re-post? In which
> case and with it having been a long time since then it would be even
> more so important that a proper revision log is present in each individual
> patch.
> 

well, this patch isn't plain resend, it does have changes since rfc 
version (actually all of them do, hence V1 tag). Anyway, individual 
change log per patch would make things easier a bit, I agree.

>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -120,6 +120,12 @@ config HVM
>>   
>>   	  If unsure, say Y.
>>   
>> +config SVM
>> +	def_bool y if HVM
>> +
>> +config VMX
>> +	def_bool y if HVM
> 
> It was probably me to have requested this form, but meanwhile I've learned
> (on the Linux side) that newer kconfig is capable to dealing with
> 
> config SVM
> 	def_bool HVM
> 
> config VMX
> 	def_bool HVM
> 
> quite fine (i.e. no longer leaving around useless "# CONFIG_... is not set"
> when (in this case) HVM=n. Please double check with the kconfig we use
> whether that's the case there, too, and simplify if so.
> 

seems to work, thanks for pointing this out

>> --- a/xen/arch/x86/mm/Makefile
>> +++ b/xen/arch/x86/mm/Makefile
>> @@ -10,6 +10,7 @@ obj-$(CONFIG_MEM_SHARING) += mem_sharing.o
>>   obj-$(CONFIG_HVM) += nested.o
>>   obj-$(CONFIG_HVM) += p2m.o
>>   obj-y += p2m-basic.o
>> -obj-$(CONFIG_HVM) += p2m-ept.o p2m-pod.o p2m-pt.o
>> +obj-$(CONFIG_HVM) += p2m-pod.o p2m-pt.o
>> +obj-$(CONFIG_VMX) += p2m-ept.o
> 
> Please can these be kept in alphabetical order?
> 

yes, sure

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:26:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708953.1108178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlSA-0004AA-FC; Fri, 19 Apr 2024 10:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708953.1108178; Fri, 19 Apr 2024 10: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 1rxlSA-0004A3-CP; Fri, 19 Apr 2024 10:26:46 +0000
Received: by outflank-mailman (input) for mailman id 708953;
 Fri, 19 Apr 2024 10:26:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=txqa=LY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rxlS9-00049x-8y
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:26:45 +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 50521ee5-fe37-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 12:26:42 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a55602507a9so219321066b.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:26:42 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 w25-20020a1709064a1900b00a524dda47c0sm2035012eju.143.2024.04.19.03.26.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03: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: 50521ee5-fe37-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713522401; x=1714127201; 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=N2KY1qHGzDqORwSMEQGEHWKQ/in6IbRIqlg3NOshudc=;
        b=NrT8BLz5sf34Fiz5N5N38MndqP+NydnwWSqSL1NZ3cwFn0co+VgktPe58XbZq64yBo
         6n8Es2w/OLu68GLlMP6pCM12bQitaU7ukBBbyg1oMRknUYcwckpvDQT5Sb4Frbgwbqar
         SVjuFhUWQqbpq/oVoOgVIJmXkObwe3et0HfdVIfrG17IM6Hl247NiAZkKl6855WqZnln
         xFWX7dp0NP5dMfn4C+keApArIuIxpoBuBXDnojiitKMd6BCAy8kRA1ICPA2LpBGlLwgE
         212Xp7lyf6dGgQEVBo/vJHQNUz9nlrixO4QwUSw5YVfx4B67J4oCg4+0ZEts7t7APhTS
         bD1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713522401; x=1714127201;
        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=N2KY1qHGzDqORwSMEQGEHWKQ/in6IbRIqlg3NOshudc=;
        b=D+ier0wvct4cJcd8QrO0L58VRSHD+Gm/wfkwTU7x6D3T/PaMGa2cZadLVLooSzJ9l0
         Z1+HLj4Dy8YB1MYRzaRrPK8FCFzPqRcE/vb/ITSKpq4fi6Z6DerQ/zx/rqtj7YyA/PIU
         c0X6kyOoifthCkihfqddZVWARIYPca50KZkHuRa0yVedNvGWbEDvtMnO96hji9FHcGiF
         Q8ovoXbU8WwzC0FMD7J4NKD5fdCRSZ5xNuiTCYXfgyFdjHm5O0dDJUGeBBByUgeeeJGi
         F7+iUu4ffsBQ2q303IaCC+vRCKpMpKkLiKL9anGahSBvSuTaxNGSgDi98Hf7qO37g3xS
         VuPQ==
X-Gm-Message-State: AOJu0YwWuON7lxb77nAZLHO8l/ZUcnD5byN6QBXoiuYUgZhKqJKJJx+T
	SHNXznsGPKord27EbY8jr6DHwJOmxulbIeD0r12/aXDkrbf7+2E9TsdTcQ==
X-Google-Smtp-Source: AGHT+IF+aolcmplTUv3+r7EDIVG5FRlwdxRGeH3w4Tl837WNPZ55z2u5A97WPOAzeKsEGf07JDg9JQ==
X-Received: by 2002:a17:906:b092:b0:a55:387b:ef07 with SMTP id x18-20020a170906b09200b00a55387bef07mr1229304ejy.13.1713522401013;
        Fri, 19 Apr 2024 03:26: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2] xen/riscv: check whether the assembler has Zbb extension support
Date: Fri, 19 Apr 2024 12:26:35 +0200
Message-ID: <750fa79aecfae43031cbcda2b2f91248199d0794.1713522163.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the argument of the as-insn for the Zbb case to verify that
Zbb is supported not only by a compiler, but also by an assembler.

Also, check_extenstion(ext_name, "insn") helper macro is introduced
to check whether extension is supported by a compiler and an assembler.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/arch.mk | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 53f3575e7d..a3d7d97ab6 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -11,9 +11,14 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 
 riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
 
-zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
-zihintpause := $(call as-insn, \
-                      $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)
+# check_extension: Check whether extenstion is supported by a compiler and
+#                  an assembler.
+# Usage: $(call check_extension,extension_name,"instr")
+check_extension = $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(2),_$(1))
+
+zbb_insn := "andn t0, t0, t0"
+zbb := $(call check_extension,zbb,$(zbb_insn))
+zihintpause := $(call check_extension,zihintpause,"pause")
 
 extensions := $(zbb) $(zihintpause)
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:32:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708959.1108188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlY4-0005cr-3C; Fri, 19 Apr 2024 10:32:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708959.1108188; Fri, 19 Apr 2024 10:32:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlY4-0005ck-00; Fri, 19 Apr 2024 10:32:52 +0000
Received: by outflank-mailman (input) for mailman id 708959;
 Fri, 19 Apr 2024 10: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=txqa=LY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rxlY3-0005ce-5p
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:32:51 +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 2b09f4a0-fe38-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 12:32:49 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a51beae2f13so212312866b.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:32:49 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 u20-20020a17090657d400b00a51b403e30esm2034478ejr.90.2024.04.19.03.32.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03:32: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: 2b09f4a0-fe38-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713522768; x=1714127568; 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=n+bd6wmP0nxVLG+5RVw2NdEvLYrvGRmkuejR+CIvqG0=;
        b=JZEqobz3xVnUihmFxKPrkAfzzthaui/JsIsKz8MLtXAyDwrj8BnxPVDwYeMQdGgE3I
         W1iRX+pzifqTo6kriKth2O8BoCLWg51iDI0gT27g0RJo1AJHRMGqPzUx8nCanftcqoxk
         8GB8ijgLIXdZUXVsqcwXF6Y59VuMHo9vddRIkrZVL7ZQ+DK+AR5+cCtebVM7Ww4wqH45
         zbDZOExEObCHke9GGz5ylZrqVG8AYuxVeaetTDBp6YwPTv1IZ9zGTXGztDRTgcJW9wYg
         p9F15MkOuxiBrJ+r2yic+cmZ7OaWX/N2zgdF+4DSVMiohNAHvfIRSnbAnBzBQCK7J5/w
         QWsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713522768; x=1714127568;
        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=n+bd6wmP0nxVLG+5RVw2NdEvLYrvGRmkuejR+CIvqG0=;
        b=VqXCjPCemOZtioRk8saQGOYbmCLfyR3fSk7PSVeaZlfQPTTAp2Q2W+7fYsHIfrD4jY
         6lj2Pm2gxfFvaXnIKuSFYkn+7Ac63Vrn7bOALZH2puYAL8F23lT4DxdxnKsUWCPJylZF
         RqlUNHmf9IVDMIBCnDLF1+7LlJ0yAUDz9a1ePt9/+KqhSlGLVhH2EgNG/LrD0W2gZVbP
         S4F3XRzjrzEpWxOBiaSsRkOdBokhGjtXdjEbkRRZWqp9nTFQ5j7wnGQvMqnuXsKiX6TK
         mmWQeNbbyI8VMsPoxDvBcvo4dJ7QSHg+Ng+IMVNWQ+7dXOc+sQRfnB0MJ492YjGiyNr7
         2Qpw==
X-Gm-Message-State: AOJu0Yy2ApY8NitkuuV3fuqwAHkR8zMzK8INJRx+URAOX193bG19TxDx
	Gl//QcAisKXPSuuiVEWAnYZ+AcJr/fzCzsg7ybBbJa72rOGj/VGVC4xrZw==
X-Google-Smtp-Source: AGHT+IGDYiZ8mi1wHfJMRmtN1d271e3n1y7W+lAMNH2ajgSgm8pcRak3HcMZ6JFCkfMA6KmaILmBhg==
X-Received: by 2002:a17:906:7f9a:b0:a52:14b3:480c with SMTP id f26-20020a1709067f9a00b00a5214b3480cmr1089908ejr.76.1713522767898;
        Fri, 19 Apr 2024 03:32:47 -0700 (PDT)
Message-ID: <fd67a1803eb5b358f18b3f986a7fa193aa707122.camel@gmail.com>
Subject: Re: [PATCH v2] xen/riscv: check whether the assembler has Zbb
 extension support
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
 <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Date: Fri, 19 Apr 2024 12:32:46 +0200
In-Reply-To: <750fa79aecfae43031cbcda2b2f91248199d0794.1713522163.git.oleksii.kurochko@gmail.com>
References: 
	<750fa79aecfae43031cbcda2b2f91248199d0794.1713522163.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Fri, 2024-04-19 at 12:26 +0200, Oleksii Kurochko wrote:
> Update the argument of the as-insn for the Zbb case to verify that
> Zbb is supported not only by a compiler, but also by an assembler.
>=20
> Also, check_extenstion(ext_name, "insn") helper macro is introduced
> to check whether extension is supported by a compiler and an
> assembler.
>=20
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> =C2=A0xen/arch/riscv/arch.mk | 11 ++++++++---
> =C2=A01 file changed, 8 insertions(+), 3 deletions(-)
>=20
> diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> index 53f3575e7d..a3d7d97ab6 100644
> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -11,9 +11,14 @@ riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 :=3D
> $(riscv-march-y)c
> =C2=A0
> =C2=A0riscv-generic-flags :=3D $(riscv-abi-y) -march=3D$(riscv-march-y)
> =C2=A0
> -zbb :=3D $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
> -zihintpause :=3D $(call as-insn, \
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(CC) $(riscv-generi=
c-
> flags)_zihintpause,"pause",_zihintpause)
> +# check_extension: Check whether extenstion is supported by a
> compiler and
> +#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 an assembler.
> +# Usage: $(call check_extension,extension_name,"instr")
> +check_extension =3D $(call as-insn,$(CC)
I missed to use correct naming. should be 'check-extension'.
I will sent a new patch version. Sorry for flooding.

~ Oleksii

> $(riscv-generic-flags)_$(1),$(2),_$(1))
> +
> +zbb_insn :=3D "andn t0, t0, t0"
> +zbb :=3D $(call check_extension,zbb,$(zbb_insn))
> +zihintpause :=3D $(call check_extension,zihintpause,"pause")
> =C2=A0
> =C2=A0extensions :=3D $(zbb) $(zihintpause)
> =C2=A0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:48:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:48:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708968.1108198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxln1-0001bI-GQ; Fri, 19 Apr 2024 10:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708968.1108198; Fri, 19 Apr 2024 10:48:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxln1-0001bB-C5; Fri, 19 Apr 2024 10:48:19 +0000
Received: by outflank-mailman (input) for mailman id 708968;
 Fri, 19 Apr 2024 10:48: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=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxln0-0001b5-Dw
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:48:18 +0000
Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com
 [2607:f8b0:4864:20::730])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 541462b5-fe3a-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:48:17 +0200 (CEST)
Received: by mail-qk1-x730.google.com with SMTP id
 af79cd13be357-78efd533a00so108108985a.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:48:17 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 m2-20020ae9f202000000b0078d5d9cdc9esm1491985qkg.21.2024.04.19.03.48.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03:48: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: 541462b5-fe3a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713523696; x=1714128496; 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=JTJ9X1eGKT0J67r/AkCZy+hhwxvfK9z8sjOHrNWwWzY=;
        b=KaWyUpCehXOk2Z+Bf+0uZEB2evNGWxfNSye572/4HeOq+0mi6CKnwlZk//SHp+ncVl
         vuAkXRa6bjLoVHctudZslEHU0v2hzQjqjIx1z5EZGHdXNeyfKznMIuUZIfV/u/wTEnxp
         y6AyDrMPbxK4ujJT1CHMJrFIUyi3CiT9Ut0t0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713523696; x=1714128496;
        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=JTJ9X1eGKT0J67r/AkCZy+hhwxvfK9z8sjOHrNWwWzY=;
        b=vjaCmslAXI03tVUhcZzTfAVHrqlQt6whwlb3fi62P16mM4CRpbsyaHzmC3RBYzBVlS
         6NMozPuIl1wtxCsb02DYl2dUopcqf+LaIeUY8/+7S8v31jHvu1zOwXimK6l81wipOMEn
         5pvrNZVBaruVuEVv5YK+QfICgUbWw7hMse/ZxSbZ0PZtbuvY1UZkEMVhJ1G1MMLgz3oX
         0UKI3UNY+gbGQmr+jMGuRwmPlmWnaceBqodXCQATBu+pmEFGMvwP0bnGnscEyFt7kaKf
         VB6AhRh1/GbKb41H8LGGof0BcrM84U3HGdCAb4xHpl17cFZQSSt30NMEccbnUX4gzc2Z
         271A==
X-Gm-Message-State: AOJu0YwrBgutXoYj4icRhBAXPtSw3WSN9Gg45LPbWN65hqGI1oC7zOpH
	r35RAZEhzZP6tTb42QOfYTe5BD6p0aHQRq/i0RO8YFJTuWB2EXGZKRQEkuMcqBY=
X-Google-Smtp-Source: AGHT+IEoBmDUJy9Kne/8Az1EumS+t4PL03bskf4vMgs3aEVbTBLFrtYNuulDh9qpw47nQAYE798pYg==
X-Received: by 2002:a05:620a:2983:b0:78d:6902:ca8f with SMTP id r3-20020a05620a298300b0078d6902ca8fmr2377559qkp.5.1713523696195;
        Fri, 19 Apr 2024 03:48:16 -0700 (PDT)
Date: Fri, 19 Apr 2024 12:48:13 +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/2] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZiJL7bKCUwMr36LQ@macbook>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <96bb1fbb-0b4c-42ac-9c3b-16700a65130d@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <96bb1fbb-0b4c-42ac-9c3b-16700a65130d@citrix.com>

On Fri, Apr 19, 2024 at 11:10:33AM +0100, Andrew Cooper wrote:
> On 19/04/2024 11:02 am, Roger Pau Monne wrote:
> > Livepatch payloads containing symbols that belong to init sections can only
> > lead to page faults later on, as by the time the livepatch is loaded init
> > sections have already been freed.
> >
> > Refuse to resolve such symbols and return an error instead.
> >
> > Note such resolutions are only relevant for symbols that point to undefined
> > sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> > and hence must either be a Xen or a different livepatch payload symbol.
> >
> > Do not allow to resolve symbols that point to __init_begin, as that address is
> > also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> > resolutions against it.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although ...
> 
> > ---
> > Changes since v1:
> >  - Fix off-by-one in range checking.
> > ---
> >  xen/common/livepatch_elf.c | 16 ++++++++++++++++
> >  1 file changed, 16 insertions(+)
> >
> > diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
> > index 45d73912a3cd..a67101eadc02 100644
> > --- a/xen/common/livepatch_elf.c
> > +++ b/xen/common/livepatch_elf.c
> > @@ -4,6 +4,7 @@
> >  
> >  #include <xen/errno.h>
> >  #include <xen/lib.h>
> > +#include <xen/sections.h>
> >  #include <xen/symbols.h>
> >  #include <xen/livepatch_elf.h>
> >  #include <xen/livepatch.h>
> > @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
> >                      break;
> >                  }
> >              }
> > +
> > +            /*
> > +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> > +             * livepatch payloads don't have init sections or equivalent.
> > +             */
> > +            else if ( st_value >= (uintptr_t)&__init_begin &&
> > +                      st_value < (uintptr_t)&__init_end )
> 
> ... I normally vertically the (casts) in cases like this for improved
> legibility.  Happy to fold on commit.

Did this, but reverted afterwards because I wasn't sure whether it
would go against the coding style.  Aligning would be my preference
also.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:51:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708972.1108208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlpc-0002zN-Ra; Fri, 19 Apr 2024 10:51:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708972.1108208; Fri, 19 Apr 2024 10:51:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlpc-0002zG-Ou; Fri, 19 Apr 2024 10:51:00 +0000
Received: by outflank-mailman (input) for mailman id 708972;
 Fri, 19 Apr 2024 10:50:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o3Bi=LY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rxlpb-0002z8-Nu
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:50:59 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b458165a-fe3a-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:50:58 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-78edc3ad5fdso153733685a.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:50:58 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 wl20-20020a05620a57d400b0078ec846066fsm1477616qkn.7.2024.04.19.03.50.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03: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: b458165a-fe3a-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713523858; x=1714128658; 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=TO1ioEjRcVqbHvtRkJo1lihfiWDnVbVRKnC9Z3oejdE=;
        b=tDaKzQDAVaLV2l/y2mUHNFaO6Uelp2x7htBGSahHsdfhhqM0lgNiLUHUvr5F7Gjp2A
         b38EGDc3+fqNh8HfB2ogiyJYLm/ta8/bTELIihXfMM3TkAVY7REjZedDZl0QPN75367Q
         HpmhlIQIy1D0Z/cRWajUzuN+LQBcK0gYiZ6iI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713523858; x=1714128658;
        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=TO1ioEjRcVqbHvtRkJo1lihfiWDnVbVRKnC9Z3oejdE=;
        b=xJ+yKsXSn3ewO8ewYOnq8IT7vfHbxILLPl0ueM/CIzUdgZRpXF8o7ZbvoR624XnHh5
         rcgXpbWL/q3gFMCOfIr2O3Al2uEj4D1JpJTY4VS8EYqVXBEyrzr96yY8ee76S/NySprk
         +rlq9spwCaVuntMMPeovDnwisrXQXAgvy3CsE/WpjRibLVyMFk5O9jxQbuWEghaGOEYK
         i4Yjpz7gTmvqH4VLzmGbKoSXpTQg9a6MU5YaqrSLazdYv9uWyeWt0MjgUjximKqIf6df
         j+iqFbbP4gCNMD/1xolrrXGXa59bV7OsRNVI03B6m7akRNPEKpnqmpUFIiKTAzX+5dtA
         RM4A==
X-Forwarded-Encrypted: i=1; AJvYcCWV+ZSgPjV3JA5KViNcXlp1glgkEytUN7wHMs2OXT0hYvTes9Z8amgyo3C4RPkMLabMiOMOuGFN/sQWP+4XjOEyXAHVOsr57g4uXVlPFCY=
X-Gm-Message-State: AOJu0YxL39dZM1xiGDojiu3Cl6sB9eMtjQl7ra3/9v4PSYHzc2ldQmLy
	ssU2Mr3U3fhJTba/0onD9nZr7qt/eyBJDoALOHbLja3pqeetLP3UqTejy1VN6os=
X-Google-Smtp-Source: AGHT+IGjN4bQorsECdrAlSxKFAp/jXqjU1ch6173QHQiHwNBKhPd6A0F1bTlrQ1ePWHyAvUiZmVwSA==
X-Received: by 2002:a05:620a:13d3:b0:790:5cf2:cd86 with SMTP id g19-20020a05620a13d300b007905cf2cd86mr586795qkl.2.1713523857711;
        Fri, 19 Apr 2024 03:50:57 -0700 (PDT)
Date: Fri, 19 Apr 2024 12:50:55 +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 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZiJMj00By3X8FskL@macbook>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com>

On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
> On 19.04.2024 12:02, Roger Pau Monne wrote:
> > Livepatch payloads containing symbols that belong to init sections can only
> > lead to page faults later on, as by the time the livepatch is loaded init
> > sections have already been freed.
> > 
> > Refuse to resolve such symbols and return an error instead.
> > 
> > Note such resolutions are only relevant for symbols that point to undefined
> > sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> > and hence must either be a Xen or a different livepatch payload symbol.
> > 
> > Do not allow to resolve symbols that point to __init_begin, as that address is
> > also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> > resolutions against it.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Changes since v1:
> >  - Fix off-by-one in range checking.
> 
> Which means you addressed Andrew's comment while at the same time extending
> the scope of ...
> 
> > @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
> >                      break;
> >                  }
> >              }
> > +
> > +            /*
> > +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> > +             * livepatch payloads don't have init sections or equivalent.
> > +             */
> > +            else if ( st_value >= (uintptr_t)&__init_begin &&
> > +                      st_value < (uintptr_t)&__init_end )
> > +            {
> > +                printk(XENLOG_ERR LIVEPATCH
> > +                       "%s: symbol %s is in init section, not resolving\n",
> > +                       elf->name, elf->sym[i].name);
> 
> ... what I raised concern about (and I had not seen any verbal reply to that,
> I don't think).

I've extended the commit message to explicitly mention the handling of
bounds for __init_{begin,end} checks.  Let me know if you are not fine
with it (or maybe you expected something else?).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:59:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708980.1108228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlyE-00055S-S8; Fri, 19 Apr 2024 10:59:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708980.1108228; Fri, 19 Apr 2024 10: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 1rxlyE-00055H-PN; Fri, 19 Apr 2024 10:59:54 +0000
Received: by outflank-mailman (input) for mailman id 708980;
 Fri, 19 Apr 2024 10: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxlyD-0004qv-Fo
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:59:53 +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 f2ebc58c-fe3b-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:59:53 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-345b857d7adso1376808f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:59:53 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 v13-20020a5d678d000000b003462b54bc8asm4124418wru.109.2024.04.19.03.59.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03: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: f2ebc58c-fe3b-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713524392; x=1714129192; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7IpyU6bB2Yoz/g/udbj6gV4Aojd5EY4ysUMu6wK1sfI=;
        b=NIzyHGCvLCdfH/sKnWwLOWTOllDlhmX2RmA5jobQW08cmgDzkRxnXY89G6PraNFOW1
         +qSxixumWXpCaJGPuJtlwKI9RCeG9M5coROwuJv7QAFe0aUq9Qsw/shgd00H0bQUUMu/
         M1PADSJmLgGflzL0ViLjgy26d/cY/ye1/tftA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524392; x=1714129192;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7IpyU6bB2Yoz/g/udbj6gV4Aojd5EY4ysUMu6wK1sfI=;
        b=fiiEyx4ERun4oHBdjvmKSeneYXl6fhdO3IoslAE5xa5q5F7kay13vMoRidjP/ozUz7
         L58CKLW511BdZR3mxjNPwhDvqT9Zj5Bx6wtRkzXBN1Ou6i3m+OKda22Jit8LcEpbt08k
         lrXb1fVuyVRW7RMoXKc8HtpaWyUj3DdZmut1mRApS8drHugzENqk9wW68o+H1Enakith
         P6jez7W9jXgt8clUHQC3HOCFTJd71UOQSksHaA2RQycYX0dRNfUD+hCx0Wbo4hr4b3LK
         +81gxkTQMr//qNIXw5a358O+yHX59Ls5MmhkiUJOyiIZeenus3WgMaxq6AG4Xv3gS9af
         Oacw==
X-Gm-Message-State: AOJu0Yxb7ZcxOUK8apYx2jW/wHaG2YJ/JtmkfDP13clQg8ZDrpbg629V
	UvlYzwT3XlbtzFu13Jx/mMY5qkkAg0LNusoCmlqRfQ/oEu+WyszLpbTEZ+hmDTmFxbuAzxGjly0
	T
X-Google-Smtp-Source: AGHT+IFqhiL7KzDoFPtuu7ilwNxe+GW1TrC4x2RKqsbopZBMu4XZCIzJkC7QtkZK9UmSNuO/4jKnqA==
X-Received: by 2002:a5d:6d81:0:b0:34a:7904:8f9d with SMTP id l1-20020a5d6d81000000b0034a79048f9dmr329168wrs.9.1713524391995;
        Fri, 19 Apr 2024 03:59:51 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 3/3] tools/golang: Run `go vet` as part of the build process
Date: Fri, 19 Apr 2024 11:50:37 +0100
Message-Id: <20240419105037.700283-3-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240419105037.700283-1-george.dunlap@cloud.com>
References: <20240419105037.700283-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Nick Rosbrook <rosbrookn@gmail.com>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/golang/xenlight/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
index c5bb6b94a8..645e7b3a82 100644
--- a/tools/golang/xenlight/Makefile
+++ b/tools/golang/xenlight/Makefile
@@ -29,6 +29,7 @@ $(subst .gen.,.%.,$(GOXL_GEN_FILES)): gengotypes.py $(LIBXL_SRC_DIR)/libxl_types
 # so that it can find the actual library.
 .PHONY: build
 build: xenlight.go $(GOXL_GEN_FILES)
+	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(call xenlibs-ldflags,light toollog) $(APPEND_LDFLAGS)" $(GO) vet
 	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(call xenlibs-ldflags,light toollog) $(APPEND_LDFLAGS)" $(GO) build -x
 
 .PHONY: install
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:59:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708981.1108238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlyG-0005KS-38; Fri, 19 Apr 2024 10:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708981.1108238; Fri, 19 Apr 2024 10:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlyG-0005KL-0E; Fri, 19 Apr 2024 10:59:56 +0000
Received: by outflank-mailman (input) for mailman id 708981;
 Fri, 19 Apr 2024 10:59: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxlyE-00053e-P7
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:59:54 +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 f2a0c06f-fe3b-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 12:59:52 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-417f5268b12so20081775e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:59:52 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 v13-20020a5d678d000000b003462b54bc8asm4124418wru.109.2024.04.19.03.59.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03:59: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: f2a0c06f-fe3b-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713524391; x=1714129191; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1XAcWiCO0s9msPOLTT5GYrsFMpU+ydrJnzgaSpig/3Q=;
        b=Qc1GWugmzJdxIW5YYkmdhllslzraap1ZqDk7PWtSm7rpaPZmufb5C/fuGDunLIWowx
         50ZaQzJ5xrRDZhVGqp9x4DOqWhvktPISepXLtGvxNnairBDy8J8n/X2fmp+eqP6Fl48W
         tGUyWpQevfKTbFacyl25FVNj/nz3brMIQYw6o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524391; x=1714129191;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1XAcWiCO0s9msPOLTT5GYrsFMpU+ydrJnzgaSpig/3Q=;
        b=jkKMicsD1FAeszdMJ8AlF4fuMsLzbBGWtgtT7sHc4Vok+Y+j2jIXWvMa6BprYrYlaC
         qk6IoqwvAF1pfI0GffR/QDUagTIXfV2oX3jzLsqpsZV+OcUTwAS39x6DHME5TFt2OBMf
         FEyd2658opEfrz+azvEer+Bwadm3jNzMI8mZivgnSfUCRTUJe4AoM/w3j/M3QLdXVHQT
         Nsuik1MpDHqGQZo1cWG5bC5k3djiFsTCAU/HBydrOufw8/OKN6NHRIIGXvlZ3Xdt0Inz
         q4OXmEyEYdHPgnVc9K/l7uk8n6KdoW4LasH5Na6anIBDLj0/clVW2k2C5JrvsqtihjWS
         Hulw==
X-Gm-Message-State: AOJu0Yw3n5ejJq/C6dKFJJRn8EjtEivhXaZ10iVk9MjEvGCq6o1ZQ+k+
	DKSc0p8wAddfPjfmKaN9MvngycXKtndN+A2AvFdzlDGECa1SxqVEfAxsWSlL94BTOOuNtNe7Ifl
	9
X-Google-Smtp-Source: AGHT+IGH9FzVoX/AvntYxCRBaqY26+bBX03Ma4Oi/EG8SHABjRsEj1dAF1LkccYsLGFyXjAPWdpEog==
X-Received: by 2002:adf:a357:0:b0:34a:6eb5:c36 with SMTP id d23-20020adfa357000000b0034a6eb50c36mr701864wrb.22.1713524391425;
        Fri, 19 Apr 2024 03:59:51 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/3] golang/xenlight: Run `go fmt` on non-generated golang files
Date: Fri, 19 Apr 2024 11:50:36 +0100
Message-Id: <20240419105037.700283-2-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240419105037.700283-1-george.dunlap@cloud.com>
References: <20240419105037.700283-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Nick Rosbrook <rosbrookn@gmail.com>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/golang/xenlight/xenlight.go | 55 +++++++++++++++++--------------
 1 file changed, 30 insertions(+), 25 deletions(-)

diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go
index d793f172e5..0ff28590ee 100644
--- a/tools/golang/xenlight/xenlight.go
+++ b/tools/golang/xenlight/xenlight.go
@@ -633,9 +633,11 @@ func (ctx *Context) CpupoolInfo(Poolid uint32) (pool Cpupoolinfo, err error) {
 }
 
 // int libxl_cpupool_create(libxl_ctx *ctx, const char *name,
-//                          libxl_scheduler sched,
-//                          libxl_bitmap cpumap, libxl_uuid *uuid,
-//                          uint32_t *poolid);
+//
+//	libxl_scheduler sched,
+//	libxl_bitmap cpumap, libxl_uuid *uuid,
+//	uint32_t *poolid);
+//
 // FIXME: uuid
 // FIXME: Setting poolid
 func (ctx *Context) CpupoolCreate(Name string, Scheduler Scheduler, Cpumap Bitmap) (err error, Poolid uint32) {
@@ -688,7 +690,8 @@ func (ctx *Context) CpupoolCpuadd(Poolid uint32, Cpu int) (err error) {
 }
 
 // int libxl_cpupool_cpuadd_cpumap(libxl_ctx *ctx, uint32_t poolid,
-//                                 const libxl_bitmap *cpumap);
+//
+//	const libxl_bitmap *cpumap);
 func (ctx *Context) CpupoolCpuaddCpumap(Poolid uint32, Cpumap Bitmap) (err error) {
 	var cbm C.libxl_bitmap
 	if err = Cpumap.toC(&cbm); err != nil {
@@ -717,7 +720,8 @@ func (ctx *Context) CpupoolCpuremove(Poolid uint32, Cpu int) (err error) {
 }
 
 // int libxl_cpupool_cpuremove_cpumap(libxl_ctx *ctx, uint32_t poolid,
-//                                    const libxl_bitmap *cpumap);
+//
+//	const libxl_bitmap *cpumap);
 func (ctx *Context) CpupoolCpuremoveCpumap(Poolid uint32, Cpumap Bitmap) (err error) {
 	var cbm C.libxl_bitmap
 	if err = Cpumap.toC(&cbm); err != nil {
@@ -789,9 +793,7 @@ func (ctx *Context) CpupoolMovedomain(Poolid uint32, Id Domid) (err error) {
 	return
 }
 
-//
 // Utility functions
-//
 func (ctx *Context) CpupoolFindByName(name string) (info Cpupoolinfo, found bool) {
 	plist := ctx.ListCpupool()
 
@@ -939,7 +941,7 @@ func (bm Bitmap) String() (s string) {
 	return
 }
 
-//int libxl_get_max_cpus(libxl_ctx *ctx);
+// int libxl_get_max_cpus(libxl_ctx *ctx);
 func (ctx *Context) GetMaxCpus() (maxCpus int, err error) {
 	ret := C.libxl_get_max_cpus(ctx.ctx)
 	if ret < 0 {
@@ -950,7 +952,7 @@ func (ctx *Context) GetMaxCpus() (maxCpus int, err error) {
 	return
 }
 
-//int libxl_get_online_cpus(libxl_ctx *ctx);
+// int libxl_get_online_cpus(libxl_ctx *ctx);
 func (ctx *Context) GetOnlineCpus() (onCpus int, err error) {
 	ret := C.libxl_get_online_cpus(ctx.ctx)
 	if ret < 0 {
@@ -961,7 +963,7 @@ func (ctx *Context) GetOnlineCpus() (onCpus int, err error) {
 	return
 }
 
-//int libxl_get_max_nodes(libxl_ctx *ctx);
+// int libxl_get_max_nodes(libxl_ctx *ctx);
 func (ctx *Context) GetMaxNodes() (maxNodes int, err error) {
 	ret := C.libxl_get_max_nodes(ctx.ctx)
 	if ret < 0 {
@@ -972,7 +974,7 @@ func (ctx *Context) GetMaxNodes() (maxNodes int, err error) {
 	return
 }
 
-//int libxl_get_free_memory(libxl_ctx *ctx, uint64_t *memkb);
+// int libxl_get_free_memory(libxl_ctx *ctx, uint64_t *memkb);
 func (ctx *Context) GetFreeMemory() (memkb uint64, err error) {
 	var cmem C.uint64_t
 	ret := C.libxl_get_free_memory(ctx.ctx, &cmem)
@@ -987,7 +989,7 @@ func (ctx *Context) GetFreeMemory() (memkb uint64, err error) {
 
 }
 
-//int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
+// int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
 func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) {
 	var cphys C.libxl_physinfo
 	C.libxl_physinfo_init(&cphys)
@@ -1005,7 +1007,7 @@ func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) {
 	return
 }
 
-//const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
+// const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
 func (ctx *Context) GetVersionInfo() (info *VersionInfo, err error) {
 	var cinfo *C.libxl_version_info
 
@@ -1044,7 +1046,7 @@ func (ctx *Context) DomainUnpause(Id Domid) (err error) {
 	return
 }
 
-//int libxl_domain_pause(libxl_ctx *ctx, uint32_t domain);
+// int libxl_domain_pause(libxl_ctx *ctx, uint32_t domain);
 func (ctx *Context) DomainPause(id Domid) (err error) {
 	ret := C.libxl_domain_pause(ctx.ctx, C.uint32_t(id), nil)
 
@@ -1054,7 +1056,7 @@ func (ctx *Context) DomainPause(id Domid) (err error) {
 	return
 }
 
-//int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
+// int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
 func (ctx *Context) DomainShutdown(id Domid) (err error) {
 	ret := C.libxl_domain_shutdown(ctx.ctx, C.uint32_t(id), nil)
 
@@ -1064,7 +1066,7 @@ func (ctx *Context) DomainShutdown(id Domid) (err error) {
 	return
 }
 
-//int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
+// int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
 func (ctx *Context) DomainReboot(id Domid) (err error) {
 	ret := C.libxl_domain_reboot(ctx.ctx, C.uint32_t(id), nil)
 
@@ -1074,8 +1076,8 @@ func (ctx *Context) DomainReboot(id Domid) (err error) {
 	return
 }
 
-//libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain_out);
-//void libxl_dominfo_list_free(libxl_dominfo *list, int nb_domain);
+// libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain_out);
+// void libxl_dominfo_list_free(libxl_dominfo *list, int nb_domain);
 func (ctx *Context) ListDomain() (glist []Dominfo) {
 	var nbDomain C.int
 	clist := C.libxl_list_domain(ctx.ctx, &nbDomain)
@@ -1095,9 +1097,11 @@ func (ctx *Context) ListDomain() (glist []Dominfo) {
 	return
 }
 
-//libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
-//				int *nb_vcpu, int *nr_cpus_out);
-//void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr_vcpus);
+// libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
+//
+//	int *nb_vcpu, int *nr_cpus_out);
+//
+// void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr_vcpus);
 func (ctx *Context) ListVcpu(id Domid) (glist []Vcpuinfo) {
 	var nbVcpu C.int
 	var nrCpu C.int
@@ -1126,8 +1130,8 @@ func (ct ConsoleType) String() (str string) {
 	return
 }
 
-//int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num,
-//libxl_console_type type, char **path);
+// int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num,
+// libxl_console_type type, char **path);
 func (ctx *Context) ConsoleGetTty(id Domid, consNum int, conType ConsoleType) (path string, err error) {
 	var cpath *C.char
 	ret := C.libxl_console_get_tty(ctx.ctx, C.uint32_t(id), C.int(consNum), C.libxl_console_type(conType), &cpath)
@@ -1141,8 +1145,9 @@ func (ctx *Context) ConsoleGetTty(id Domid, consNum int, conType ConsoleType) (p
 	return
 }
 
-//int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,
-//					char **path);
+// int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,
+//
+//	char **path);
 func (ctx *Context) PrimaryConsoleGetTty(domid uint32) (path string, err error) {
 	var cpath *C.char
 	ret := C.libxl_primary_console_get_tty(ctx.ctx, C.uint32_t(domid), &cpath)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 10:59:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 10:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708979.1108218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlyD-0004rC-MS; Fri, 19 Apr 2024 10:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708979.1108218; Fri, 19 Apr 2024 10:59:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxlyD-0004r5-IE; Fri, 19 Apr 2024 10:59:53 +0000
Received: by outflank-mailman (input) for mailman id 708979;
 Fri, 19 Apr 2024 10:59:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxlyC-0004qv-Fw
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 10:59:52 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2244866-fe3b-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 12:59:51 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-34a3e0b31e6so981279f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 03:59:51 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 v13-20020a5d678d000000b003462b54bc8asm4124418wru.109.2024.04.19.03.59.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 03:59: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: f2244866-fe3b-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713524391; x=1714129191; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=j+86u8cP5WKiv7OHOhZqMvo/xywY+1Pp+VEDWuQLISU=;
        b=azuPqHGi6j0JxXPLyR3+VOvlWqqmLS/g+6ePacgv4xQF2+hOzt7/TbvksttM4Lidm0
         0cfvEEnvpmLIY1BWL+ILcd591FakClYp/nqDkqycxzqNhxvmGtsiXQnC8YO6ysH7s3V5
         xXZUZSc8f2PFaaeGQp3wzR5hD2fi8SMKSL3uA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524391; x=1714129191;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=j+86u8cP5WKiv7OHOhZqMvo/xywY+1Pp+VEDWuQLISU=;
        b=ftEXBRJEV1f4hShRNWLvmoSBPx2iENwx6DtYa8kMgUurbA47p93i7emY2sFsi9Slav
         SXb1ioKc7CnTgL1jNhLkYnpkIJSBno9Bswq+yiRQYVw4Z07yomLZywYQUWmcZQIelrfA
         P0R/WOpYjEkzFKE+IeS02f8bxh4tnlFfe2pmN5UUOCdwPLELhpadf74kCGldPE7x7lYd
         MEBJ36Qai4q/fwNLASeyEN+6WdVRSXki8XgxKnr5exwQaiZWi9PS7Bbrq+9G9Sf9UndU
         f6I6c6x2bWkP3+n9IForGO9gOIdOSOYaRjkoFZUIskuWa5lwivw8RrANlJ00S3cVcO33
         pqhg==
X-Gm-Message-State: AOJu0YyCyGoW8hOMOBuiMVxo28Et/Uxp6MY8iw6oy0xuIEasm1Crw51s
	eu7YnxXUh+8FNIHoyrzsYw7Ov2eH9s6P4dxl8haoi0BIWAtPqoZNXSI4dYoc2FBLOvNeG7KLfCM
	m
X-Google-Smtp-Source: AGHT+IHRRlFbhMTVpeYOK5hv7CmkcAxeSRgFNBI/XKCRgO0jb4SxhxzjAWepTBVuDET36QuAHbUSUg==
X-Received: by 2002:a5d:59a7:0:b0:34a:7a97:77d5 with SMTP id p7-20020a5d59a7000000b0034a7a9777d5mr186954wrr.26.1713524390529;
        Fri, 19 Apr 2024 03:59:50 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Tobias Fitschen <tobias.fitschen@posteo.de>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/3] tools/golang: When returning pointers, actually allocate structrues
Date: Fri, 19 Apr 2024 11:50:35 +0100
Message-Id: <20240419105037.700283-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In a handful of cases, it was decided to return a pointer to a
structure rather than the plain structure itself, due to the size.
However, in these cases the structure was never allocated, leading to
a nil pointer exception when calling the relevant `fromC` method.

Allocate structures before attempting to fill them in.

Reported-by: Tobias Fitschen <tobias.fitschen@posteo.de>
Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
This has been compile-tested only; Tobias, I'd appreciate a test if you get a chance.

CC: Nick Rosbrook <rosbrookn@gmail.com>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/golang/xenlight/xenlight.go | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go
index a45c636952..d793f172e5 100644
--- a/tools/golang/xenlight/xenlight.go
+++ b/tools/golang/xenlight/xenlight.go
@@ -999,6 +999,7 @@ func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) {
 		err = Error(ret)
 		return
 	}
+	physinfo = &Physinfo{}
 	err = physinfo.fromC(&cphys)
 
 	return
@@ -1010,6 +1011,7 @@ func (ctx *Context) GetVersionInfo() (info *VersionInfo, err error) {
 
 	cinfo = C.libxl_get_version_info(ctx.ctx)
 
+	info = &VersionInfo{}
 	err = info.fromC(cinfo)
 
 	return
@@ -1027,6 +1029,7 @@ func (ctx *Context) DomainInfo(Id Domid) (di *Dominfo, err error) {
 		return
 	}
 
+	di = &Dominfo{}
 	err = di.fromC(&cdi)
 
 	return
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:03:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:03:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.708996.1108247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm1W-0007R8-Mx; Fri, 19 Apr 2024 11:03:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 708996.1108247; Fri, 19 Apr 2024 11:03:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm1W-0007R1-KS; Fri, 19 Apr 2024 11:03:18 +0000
Received: by outflank-mailman (input) for mailman id 708996;
 Fri, 19 Apr 2024 11:03: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxm1U-0007Qv-VB
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:03:16 +0000
Received: from mail-oa1-x32.google.com (mail-oa1-x32.google.com
 [2001:4860:4864:20::32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6baca2d1-fe3c-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 13:03:16 +0200 (CEST)
Received: by mail-oa1-x32.google.com with SMTP id
 586e51a60fabf-22f32226947so990128fac.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 04:03: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: 6baca2d1-fe3c-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713524594; x=1714129394; 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=Y2jbxJoWie299DLIJbLQ3cPdkIIkemn5pm+kfICbNcQ=;
        b=Behsb8T4mcxJT5bHW4HKnh1MWnQMhi/xxhCmpYtqfH4JN0Il72naYU1DBqv/FmVqij
         WgJZpRDDMLz4AbZ14qF/2buSOza81TEErsUNZAM21i4Z1PW2bK8An4s+g0nwxWQJw4mY
         7xPRLbq6J550YjQFPHeKWY9WjTv1W8m70V9WE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524594; x=1714129394;
        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=Y2jbxJoWie299DLIJbLQ3cPdkIIkemn5pm+kfICbNcQ=;
        b=IpfijMxpRtobEXAUA1ZQhzMnshjS5FDc5KiSTzrhf7GLzIeBc13iyHfmuTw9ATEJri
         FturmweqA5yM1Py6jHC6p53FNbDTwjkd2t10BqarDIVsWKPCvnT9H4vMdEQ9iazF78UE
         1JJYWyQv1XoR4PLY1rP1w5mxsfh8Q8bJhDD3DnMMjnyyq4sOXrgqr8KgjwNyT1LRaTCp
         369yBw1XFECx5pl3IAWZZzcYSV4Je818vwnYqzESlRFik01879W4zjr8o/a7W/JA+Nt3
         t97wNilsborxKijAbUucK84AlOPVPh9ns6v23eh9G0ifDAqoBDCMraRJNCEmwTq6wZVQ
         qFRg==
X-Gm-Message-State: AOJu0Yzq+KmkQrofN+M2LD9JeYFwsXVhwdgaioUnk+h+cDR0C0l3v6Cy
	9RwrlhGWQ2VxWY0yRoPJk+jVI3ZzLP/WgppokwMuNbWOTpf6eBx7vM3MJFnssvqGrNUxSVJnIb0
	oR/xi0qHCpbAIKjrRRaUPgF44O6HhL54wmNpchTknYB6Yhf5z
X-Google-Smtp-Source: AGHT+IETIyySoN2MrwI2wyCDAnhlcZVvBgWfV/3Gb6JUEw1DsUPUS5g2f7PzlffUgOR7MYXqot1QlFmZBxcs3O1R+TA=
X-Received: by 2002:a05:6870:1d0a:b0:233:abab:6d6c with SMTP id
 pa10-20020a0568701d0a00b00233abab6d6cmr2016879oab.7.1713524594467; Fri, 19
 Apr 2024 04:03:14 -0700 (PDT)
MIME-Version: 1.0
References: <20240419105037.700283-1-george.dunlap@cloud.com> <20240419105037.700283-2-george.dunlap@cloud.com>
In-Reply-To: <20240419105037.700283-2-george.dunlap@cloud.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 19 Apr 2024 12:03:03 +0100
Message-ID: <CA+zSX=ZqOyk6P4GrZNQULuxwUNyxLhWM3u4986Dpkvanbksdng@mail.gmail.com>
Subject: Re: [PATCH 2/3] golang/xenlight: Run `go fmt` on non-generated golang files
To: xen-devel@lists.xenproject.org
Cc: Nick Rosbrook <rosbrookn@gmail.com>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 19, 2024 at 11:59=E2=80=AFAM George Dunlap <george.dunlap@cloud=
.com> wrote:
>
> No functional change.
>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
> ---
> CC: Nick Rosbrook <rosbrookn@gmail.com>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  tools/golang/xenlight/xenlight.go | 55 +++++++++++++++++--------------
>  1 file changed, 30 insertions(+), 25 deletions(-)
>
> diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xe=
nlight.go
> index d793f172e5..0ff28590ee 100644
> --- a/tools/golang/xenlight/xenlight.go
> +++ b/tools/golang/xenlight/xenlight.go
> @@ -633,9 +633,11 @@ func (ctx *Context) CpupoolInfo(Poolid uint32) (pool=
 Cpupoolinfo, err error) {
>  }
>
>  // int libxl_cpupool_create(libxl_ctx *ctx, const char *name,
> -//                          libxl_scheduler sched,
> -//                          libxl_bitmap cpumap, libxl_uuid *uuid,
> -//                          uint32_t *poolid);
> +//
> +//     libxl_scheduler sched,
> +//     libxl_bitmap cpumap, libxl_uuid *uuid,
> +//     uint32_t *poolid);

Gah, sorry, I forgot to delete some of these blank lines that were
added in.  I'll fix it up in v2.

 -George


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:08:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:08:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709004.1108278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6q-0001ba-Ng; Fri, 19 Apr 2024 11:08:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709004.1108278; Fri, 19 Apr 2024 11:08:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6q-0001bR-Ks; Fri, 19 Apr 2024 11:08:48 +0000
Received: by outflank-mailman (input) for mailman id 709004;
 Fri, 19 Apr 2024 11:08:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N8I7=LY=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1rxm6o-0001FM-Mh
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:08:46 +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 30255899-fe3d-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 13:08:45 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-571d8606f40so307097a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 04:08:45 -0700 (PDT)
Received: from 127.0.0.1localhost ([163.114.131.193])
 by smtp.gmail.com with ESMTPSA id
 z13-20020a17090655cd00b00a4739efd7cesm2082525ejp.60.2024.04.19.04.08.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 04:08:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30255899-fe3d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713524924; x=1714129724; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gztq7q+tVBfKfiFB41TR2uivJxMSmSRECNayk7q9P5o=;
        b=Vtba2uo3nvOZARvC3JslcGnayR6WbvbVno4fU6D2UGtfqQqeBdwXocXd1YZJVr5Xn1
         77+pw9sf0VCBOnm9Q3Hc36eeqnWqrVLH/epTazfwQUADq3NzLEFHmWTQPEwPYFqZdfRP
         aUJYFLceZb5WndWInEvHjeKMMVFIhO7ZCjpDzCVLcSzmJ5Wn1koSUfdxzGe6ZBKBkLfM
         179fGo76sWFG9RtiDUZENc6Co9Ih1Kp4VqsngZTgtn3vwKPXagOzrZOhc52e5SyayNzN
         4WYqD1ma76FCTqSKACi2eNOGHnNFqTRk808tp8WbyOCDffrc9jX1KpQzZ5Tw1PuDTjmq
         agiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524924; x=1714129724;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gztq7q+tVBfKfiFB41TR2uivJxMSmSRECNayk7q9P5o=;
        b=koGN8Q0529ohQu5KJ4v4PnArfjhpd5fG7rcJEn2bpF5EjcaVt7KCL5ky3zHzY2NO3J
         iWpQfxFWPA10L0wJPjaOQTm5C966QzqOJH7vsJKWdTiGyXYA54wdk+pABh/vdGCDm2bQ
         JA7xAIiZLyHvQe+VeT8DLnpmK68z4JqisifPNjRsbzM90xhVkDdwCyXt0fYezo7E8yy6
         muLidmvkuZb5UfrHxkuRiqVc99kz+k+yP3Qi+q8BO4nY+mGEy6RLwCy6Pr8d0lmtFkDd
         xiflNAeSoLm+b18+R2HkUeVMzDMSG4UbIeCSNriD8+rEhd6tko78vc81ANXs/fZfyGv9
         7jNQ==
X-Forwarded-Encrypted: i=1; AJvYcCV1oiE1AlTBJVPL+ET5tPNW+PhoYPdPEabCOvUyekxObFXHt9pkeAQxJqF++KhMdHYEFfXjBQRmOTC9Y67N7W+tZMcN7WXu2urinl79FBo=
X-Gm-Message-State: AOJu0YzSwb3DyWzsFSGlF1i1wQauLNaU4W0HKCam0Wt+bmY4xa0jccXp
	7jics9PHmgMJ3TvRvh93o50V+YzQQWft4snjGy6pdZX4ZbNN5m9S
X-Google-Smtp-Source: AGHT+IFLPp89/CqqYt/oDY9TsD6MpTpW+WHomUzd8c9Q6sFQ45RxeiYZXRR2f3kaQNaQYK9HhlusCw==
X-Received: by 2002:a17:907:9624:b0:a52:2a36:38bf with SMTP id gb36-20020a170907962400b00a522a3638bfmr1634494ejc.55.1713524924521;
        Fri, 19 Apr 2024 04:08:44 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	asml.silence@gmail.com,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	David Ahern <dsahern@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org
Subject: [PATCH io_uring-next/net-next v2 2/4] net: add callback for setting a ubuf_info to skb
Date: Fri, 19 Apr 2024 12:08:40 +0100
Message-ID: <b7918aadffeb787c84c9e72e34c729dc04f3a45d.1713369317.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713369317.git.asml.silence@gmail.com>
References: <cover.1713369317.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

At the moment an skb can only have one ubuf_info associated with it,
which might be a performance problem for zerocopy sends in cases like
TCP via io_uring. Add a callback for assigning ubuf_info to skb, this
way we will implement smarter assignment later like linking ubuf_info
together.

Note, it's an optional callback, which should be compatible with
skb_zcopy_set(), that's because the net stack might potentially decide
to clone an skb and take another reference to ubuf_info whenever it
wishes. Also, a correct implementation should always be able to bind to
an skb without prior ubuf_info, otherwise we could end up in a situation
when the send would not be able to progress.

Reviewed-by: Jens Axboe <axboe@kernel.dk>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 include/linux/skbuff.h |  2 ++
 net/core/skbuff.c      | 20 ++++++++++++++------
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index a44954264746..f76825e5b92a 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -530,6 +530,8 @@ enum {
 struct ubuf_info_ops {
 	void (*complete)(struct sk_buff *, struct ubuf_info *,
 			 bool zerocopy_success);
+	/* has to be compatible with skb_zcopy_set() */
+	int (*link_skb)(struct sk_buff *skb, struct ubuf_info *uarg);
 };
 
 /*
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 0f4cc759824b..0c8b82750000 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1824,11 +1824,18 @@ int skb_zerocopy_iter_stream(struct sock *sk, struct sk_buff *skb,
 	struct ubuf_info *orig_uarg = skb_zcopy(skb);
 	int err, orig_len = skb->len;
 
-	/* An skb can only point to one uarg. This edge case happens when
-	 * TCP appends to an skb, but zerocopy_realloc triggered a new alloc.
-	 */
-	if (orig_uarg && uarg != orig_uarg)
-		return -EEXIST;
+	if (uarg->ops->link_skb) {
+		err = uarg->ops->link_skb(skb, uarg);
+		if (err)
+			return err;
+	} else {
+		/* An skb can only point to one uarg. This edge case happens
+		 * when TCP appends to an skb, but zerocopy_realloc triggered
+		 * a new alloc.
+		 */
+		if (orig_uarg && uarg != orig_uarg)
+			return -EEXIST;
+	}
 
 	err = __zerocopy_sg_from_iter(msg, sk, skb, &msg->msg_iter, len);
 	if (err == -EFAULT || (err == -EMSGSIZE && skb->len == orig_len)) {
@@ -1842,7 +1849,8 @@ int skb_zerocopy_iter_stream(struct sock *sk, struct sk_buff *skb,
 		return err;
 	}
 
-	skb_zcopy_set(skb, uarg, NULL);
+	if (!uarg->ops->link_skb)
+		skb_zcopy_set(skb, uarg, NULL);
 	return skb->len - orig_len;
 }
 EXPORT_SYMBOL_GPL(skb_zerocopy_iter_stream);
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:08:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709005.1108283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6r-0001dp-0W; Fri, 19 Apr 2024 11:08:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709005.1108283; Fri, 19 Apr 2024 11:08:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6q-0001dA-Rh; Fri, 19 Apr 2024 11:08:48 +0000
Received: by outflank-mailman (input) for mailman id 709005;
 Fri, 19 Apr 2024 11:08: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=N8I7=LY=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1rxm6p-00017h-6l
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:08:47 +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 311c49e2-fe3d-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 13:08:46 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a5557e3ebcaso316022266b.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 04:08:46 -0700 (PDT)
Received: from 127.0.0.1localhost ([163.114.131.193])
 by smtp.gmail.com with ESMTPSA id
 z13-20020a17090655cd00b00a4739efd7cesm2082525ejp.60.2024.04.19.04.08.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 04:08: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: 311c49e2-fe3d-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713524926; x=1714129726; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vg0pL2CVxV49Fgeqn+qahTZ1Z4PbsN7awrFUvCLM+ng=;
        b=V7xo0xUDhjNiMf/OcZ257ViI87JyvzkVSJflTaiWLug+Q/7/r1tQXO5lnLf6S6+L5A
         ELoiV9umEPUyww3kHkDegPrZCdTOrFhuq4MwFtf7inS0hXHfSgT1my5UOZanS1p2BCX0
         gqWLUfPd/0gAgFt/d5YQt57u1Zg6zHaW1SIVeOKda6+7C6A/20G8adFIjq4Nn1yqCFAC
         B2FFARRPVaiC9xE9kHDolNCKvNj6ACI9Q5RzeVRGYQSrOC3Fw9JFjmeNp6K0f4p6YsIS
         cQ4+/2ElypZn9bCQ+SzhMlOYX4egHasUHiMzu7MeYcJA4BQcWlfhkAe6R7i3koHZjlkZ
         BDlQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524926; x=1714129726;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vg0pL2CVxV49Fgeqn+qahTZ1Z4PbsN7awrFUvCLM+ng=;
        b=xQ+Kb6+ziaGde9Xs0IfKLG7e8wEbks3+BYOe2W4qbMkOpHxpeYV4fsHsoILuX3plKo
         nnr0uUtlyqMqXYSEW4X2nqQi3IwAuxPjFA+aI4brve0ubfstOs7tIYWcvMI4H86bqUqc
         dzLrTm+5X2apverA1mSS9L1/sGolDnxJfdofyvcpDSmSKiF5ZFMzfiWnnwhbIF1DOoID
         UDBB8BvGOLArjq15MkHj6E4chisZLkVWcpM4z2JMGUOVwmrMiwkVyaYSy0czHisGU1G4
         IzdSnmuM4ZbToYvZFPhtx3LU1K9nklD4kQGw7Q8RjJP+19XlpXex28Cvtqb159sW1gU1
         tmpA==
X-Forwarded-Encrypted: i=1; AJvYcCWKyaL9etwrLDPDtbZwzROWhaOKQIvuLOHPajMkBB3S1Hu01ooKQWQ4eB6TGamRIuJor69KIy+OStmRe/2aFHuEekGEhRHyLwwP6vMDHlo=
X-Gm-Message-State: AOJu0YyKvPftJE8SwZip85x0QV5NCW2K/fIyewGSXzfDeJAqUci6bOsi
	SjjvR4oLXVaFMT+ZoQCG/MTFXCjDUVaFFdmxnZ0l5nFqloGyd/t7
X-Google-Smtp-Source: AGHT+IGlNNpKG3wGDzOQc1RYm8RL9LY87wF61Oxy7BMYiyIn9QMexWxwwOK9pfN0OrWYDJl4d93LDw==
X-Received: by 2002:a17:907:7215:b0:a55:75f7:42fb with SMTP id dr21-20020a170907721500b00a5575f742fbmr4895587ejc.24.1713524926172;
        Fri, 19 Apr 2024 04:08:46 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	asml.silence@gmail.com,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	David Ahern <dsahern@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org
Subject: [PATCH io_uring-next/net-next v2 3/4] io_uring/notif: simplify io_notif_flush()
Date: Fri, 19 Apr 2024 12:08:41 +0100
Message-ID: <19e41652c16718b946a5c80d2ad409df7682e47e.1713369317.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713369317.git.asml.silence@gmail.com>
References: <cover.1713369317.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

io_notif_flush() is partially duplicating io_tx_ubuf_complete(), so
instead of duplicating it, make the flush call io_tx_ubuf_complete.

Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 io_uring/notif.c | 6 +++---
 io_uring/notif.h | 9 +++------
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/io_uring/notif.c b/io_uring/notif.c
index 53532d78a947..26680176335f 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -9,7 +9,7 @@
 #include "notif.h"
 #include "rsrc.h"
 
-void io_notif_tw_complete(struct io_kiocb *notif, struct io_tw_state *ts)
+static void io_notif_tw_complete(struct io_kiocb *notif, struct io_tw_state *ts)
 {
 	struct io_notif_data *nd = io_notif_to_data(notif);
 
@@ -23,8 +23,8 @@ void io_notif_tw_complete(struct io_kiocb *notif, struct io_tw_state *ts)
 	io_req_task_complete(notif, ts);
 }
 
-static void io_tx_ubuf_complete(struct sk_buff *skb, struct ubuf_info *uarg,
-				bool success)
+void io_tx_ubuf_complete(struct sk_buff *skb, struct ubuf_info *uarg,
+			 bool success)
 {
 	struct io_notif_data *nd = container_of(uarg, struct io_notif_data, uarg);
 	struct io_kiocb *notif = cmd_to_io_kiocb(nd);
diff --git a/io_uring/notif.h b/io_uring/notif.h
index 2e25a2fc77d1..2cf9ff6abd7a 100644
--- a/io_uring/notif.h
+++ b/io_uring/notif.h
@@ -21,7 +21,8 @@ struct io_notif_data {
 };
 
 struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx);
-void io_notif_tw_complete(struct io_kiocb *notif, struct io_tw_state *ts);
+void io_tx_ubuf_complete(struct sk_buff *skb, struct ubuf_info *uarg,
+			 bool success);
 
 static inline struct io_notif_data *io_notif_to_data(struct io_kiocb *notif)
 {
@@ -33,11 +34,7 @@ static inline void io_notif_flush(struct io_kiocb *notif)
 {
 	struct io_notif_data *nd = io_notif_to_data(notif);
 
-	/* drop slot's master ref */
-	if (refcount_dec_and_test(&nd->uarg.refcnt)) {
-		notif->io_task_work.func = io_notif_tw_complete;
-		__io_req_task_work_add(notif, IOU_F_TWQ_LAZY_WAKE);
-	}
+	io_tx_ubuf_complete(NULL, &nd->uarg, true);
 }
 
 static inline int io_notif_account_mem(struct io_kiocb *notif, unsigned len)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:08:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709003.1108268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6p-0001MY-He; Fri, 19 Apr 2024 11:08:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709003.1108268; Fri, 19 Apr 2024 11:08:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6p-0001MR-DL; Fri, 19 Apr 2024 11:08:47 +0000
Received: by outflank-mailman (input) for mailman id 709003;
 Fri, 19 Apr 2024 11:08:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N8I7=LY=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1rxm6n-0001FM-W4
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:08:46 +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 2f45bbf5-fe3d-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 13:08:43 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a556d22fa93so225792066b.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 04:08:43 -0700 (PDT)
Received: from 127.0.0.1localhost ([163.114.131.193])
 by smtp.gmail.com with ESMTPSA id
 z13-20020a17090655cd00b00a4739efd7cesm2082525ejp.60.2024.04.19.04.08.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 04:08: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: 2f45bbf5-fe3d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713524923; x=1714129723; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OOjfjLTpACX+ktm4SIjFbQPdNROuvyJVkhcWINyu6zc=;
        b=cMy9SvNz1hfLnoxKHKDlazg+EC1shJ4AVwhKC/YkIuHES7D4hFx1kz9fvmbsykqzSx
         NgnpLnFtAMDL8lXalUL3SlpE4Dn/qfF0Zwpyr4O9whSxF4U2raPU03PJtTKm512i4yb8
         fWHVI40f59NvX6f6TsvCMeoit/1B8WFMFWRUEl/up63SKl/70aIkyhb8fbKEfTaCoGP3
         OpGeJu+NWkNFqPLY0IVJLwaccXMEuYM4n5dPor5Ov7jXRDSokWHWrXhcTEJXZIQMj0TS
         lXZwXI3+guxDyn9GTEUtaSRCHNB1GRlK1cTkocZ719bnYDMjPQrrkgp8GEZRW6kcnBSH
         x4Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524923; x=1714129723;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OOjfjLTpACX+ktm4SIjFbQPdNROuvyJVkhcWINyu6zc=;
        b=NQVKsjO+aYXBP+HxAKRnfQdfXp2yIE/AJPhtdgqCSO7JgRoLDL0qu68Kh2+3kdcya9
         mij3tXftB++bOy1A7gEtPrV3OnVrvS8fG84zsC8doKKsKR0NE+4IwjeOXnMXKrOhvxxJ
         ZywzAjwWfHNiqBCBWTtHxzXctfpeDpJlnGzoOwAghbgntQAI32LosBkwzwe0ngn7vL9Z
         KLclh/qkn8m511Mj5G/JaE0Qv5/n2bL0HglaFYnSnkDD4WOLoqC/Z05XdXngNraalMSf
         /6+z5z6PgoqnqaGtlBLc8+rqH50WPU8Ju8SvlOyqci7z921s2K7lvtxznPlfLhgPGDXz
         v/WQ==
X-Forwarded-Encrypted: i=1; AJvYcCUyyMSJjXAv8fQ/J4Ieh7FNL01girGRXJL12nVpCzGiBJb/Hj05FTHMPWBb1k+VBaidc65g+eGmxyXDE5t37EBJ7nFaLpov0/H/C43rtWU=
X-Gm-Message-State: AOJu0YwBDXQtb3WmDVQe2WzVFRivS4D2dPGXnhJk9O60oOczkZEPpDtI
	tTt8vGeisRLIQfrMqS8bwUHsu4qkHrQXWQNvXjrtupmItch+95V7
X-Google-Smtp-Source: AGHT+IEmBOo8ZD4NY+mkF+vWNE4N/26bHcNn7qxJJxwL9/Pi2Lxd8nenGK/ka+snHuSjnwh79g+UAw==
X-Received: by 2002:a17:906:840c:b0:a55:6f32:63b2 with SMTP id n12-20020a170906840c00b00a556f3263b2mr1216223ejx.5.1713524922714;
        Fri, 19 Apr 2024 04:08:42 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	asml.silence@gmail.com,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	David Ahern <dsahern@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org
Subject: [PATCH io_uring-next/net-next v2 1/4] net: extend ubuf_info callback to ops structure
Date: Fri, 19 Apr 2024 12:08:39 +0100
Message-ID: <a62015541de49c0e2a8a0377a1d5d0a5aeb07016.1713369317.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713369317.git.asml.silence@gmail.com>
References: <cover.1713369317.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We'll need to associate additional callbacks with ubuf_info, introduce
a structure holding ubuf_info callbacks. Apart from a more smarter
io_uring notification management introduced in next patches, it can be
used to generalise msg_zerocopy_put_abort() and also store
->sg_from_iter, which is currently passed in struct msghdr.

Reviewed-by: Jens Axboe <axboe@kernel.dk>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 drivers/net/tap.c                   |  2 +-
 drivers/net/tun.c                   |  2 +-
 drivers/net/xen-netback/common.h    |  5 ++---
 drivers/net/xen-netback/interface.c |  2 +-
 drivers/net/xen-netback/netback.c   | 11 ++++++++---
 drivers/vhost/net.c                 |  8 ++++++--
 include/linux/skbuff.h              | 19 +++++++++++--------
 io_uring/notif.c                    |  8 ++++++--
 net/core/skbuff.c                   | 16 ++++++++++------
 9 files changed, 46 insertions(+), 27 deletions(-)

diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index 9f0495e8df4d..bfdd3875fe86 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -754,7 +754,7 @@ static ssize_t tap_get_user(struct tap_queue *q, void *msg_control,
 		skb_zcopy_init(skb, msg_control);
 	} else if (msg_control) {
 		struct ubuf_info *uarg = msg_control;
-		uarg->callback(NULL, uarg, false);
+		uarg->ops->complete(NULL, uarg, false);
 	}
 
 	dev_queue_xmit(skb);
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 0b3f21cba552..b7401d990680 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1906,7 +1906,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, struct tun_file *tfile,
 		skb_zcopy_init(skb, msg_control);
 	} else if (msg_control) {
 		struct ubuf_info *uarg = msg_control;
-		uarg->callback(NULL, uarg, false);
+		uarg->ops->complete(NULL, uarg, false);
 	}
 
 	skb_reset_network_header(skb);
diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
index 1fcbd83f7ff2..17421da139f2 100644
--- a/drivers/net/xen-netback/common.h
+++ b/drivers/net/xen-netback/common.h
@@ -390,9 +390,8 @@ bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb);
 
 void xenvif_carrier_on(struct xenvif *vif);
 
-/* Callback from stack when TX packet can be released */
-void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf,
-			      bool zerocopy_success);
+/* Callbacks from stack when TX packet can be released */
+extern const struct ubuf_info_ops xenvif_ubuf_ops;
 
 static inline pending_ring_idx_t nr_pending_reqs(struct xenvif_queue *queue)
 {
diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c
index 7cff90aa8d24..65db5f14465f 100644
--- a/drivers/net/xen-netback/interface.c
+++ b/drivers/net/xen-netback/interface.c
@@ -593,7 +593,7 @@ int xenvif_init_queue(struct xenvif_queue *queue)
 
 	for (i = 0; i < MAX_PENDING_REQS; i++) {
 		queue->pending_tx_info[i].callback_struct = (struct ubuf_info_msgzc)
-			{ { .callback = xenvif_zerocopy_callback },
+			{ { .ops = &xenvif_ubuf_ops },
 			  { { .ctx = NULL,
 			      .desc = i } } };
 		queue->grant_tx_handle[i] = NETBACK_INVALID_HANDLE;
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 48254fc07d64..5836995d6774 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -1157,7 +1157,7 @@ static int xenvif_handle_frag_list(struct xenvif_queue *queue, struct sk_buff *s
 	uarg = skb_shinfo(skb)->destructor_arg;
 	/* increase inflight counter to offset decrement in callback */
 	atomic_inc(&queue->inflight_packets);
-	uarg->callback(NULL, uarg, true);
+	uarg->ops->complete(NULL, uarg, true);
 	skb_shinfo(skb)->destructor_arg = NULL;
 
 	/* Fill the skb with the new (local) frags. */
@@ -1279,8 +1279,9 @@ static int xenvif_tx_submit(struct xenvif_queue *queue)
 	return work_done;
 }
 
-void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf_base,
-			      bool zerocopy_success)
+static void xenvif_zerocopy_callback(struct sk_buff *skb,
+				     struct ubuf_info *ubuf_base,
+				     bool zerocopy_success)
 {
 	unsigned long flags;
 	pending_ring_idx_t index;
@@ -1313,6 +1314,10 @@ void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf_base,
 	xenvif_skb_zerocopy_complete(queue);
 }
 
+const struct ubuf_info_ops xenvif_ubuf_ops = {
+	.complete = xenvif_zerocopy_callback,
+};
+
 static inline void xenvif_tx_dealloc_action(struct xenvif_queue *queue)
 {
 	struct gnttab_unmap_grant_ref *gop;
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index c64ded183f8d..f16279351db5 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -380,7 +380,7 @@ static void vhost_zerocopy_signal_used(struct vhost_net *net,
 	}
 }
 
-static void vhost_zerocopy_callback(struct sk_buff *skb,
+static void vhost_zerocopy_complete(struct sk_buff *skb,
 				    struct ubuf_info *ubuf_base, bool success)
 {
 	struct ubuf_info_msgzc *ubuf = uarg_to_msgzc(ubuf_base);
@@ -408,6 +408,10 @@ static void vhost_zerocopy_callback(struct sk_buff *skb,
 	rcu_read_unlock_bh();
 }
 
+static const struct ubuf_info_ops vhost_ubuf_ops = {
+	.complete = vhost_zerocopy_complete,
+};
+
 static inline unsigned long busy_clock(void)
 {
 	return local_clock() >> 10;
@@ -879,7 +883,7 @@ static void handle_tx_zerocopy(struct vhost_net *net, struct socket *sock)
 			vq->heads[nvq->upend_idx].len = VHOST_DMA_IN_PROGRESS;
 			ubuf->ctx = nvq->ubufs;
 			ubuf->desc = nvq->upend_idx;
-			ubuf->ubuf.callback = vhost_zerocopy_callback;
+			ubuf->ubuf.ops = &vhost_ubuf_ops;
 			ubuf->ubuf.flags = SKBFL_ZEROCOPY_FRAG;
 			refcount_set(&ubuf->ubuf.refcnt, 1);
 			msg.msg_control = &ctl;
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 4072a7ee3859..a44954264746 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -527,6 +527,11 @@ enum {
 #define SKBFL_ALL_ZEROCOPY	(SKBFL_ZEROCOPY_FRAG | SKBFL_PURE_ZEROCOPY | \
 				 SKBFL_DONT_ORPHAN | SKBFL_MANAGED_FRAG_REFS)
 
+struct ubuf_info_ops {
+	void (*complete)(struct sk_buff *, struct ubuf_info *,
+			 bool zerocopy_success);
+};
+
 /*
  * The callback notifies userspace to release buffers when skb DMA is done in
  * lower device, the skb last reference should be 0 when calling this.
@@ -536,8 +541,7 @@ enum {
  * The desc field is used to track userspace buffer index.
  */
 struct ubuf_info {
-	void (*callback)(struct sk_buff *, struct ubuf_info *,
-			 bool zerocopy_success);
+	const struct ubuf_info_ops *ops;
 	refcount_t refcnt;
 	u8 flags;
 };
@@ -1671,14 +1675,13 @@ static inline void skb_set_end_offset(struct sk_buff *skb, unsigned int offset)
 }
 #endif
 
+extern const struct ubuf_info_ops msg_zerocopy_ubuf_ops;
+
 struct ubuf_info *msg_zerocopy_realloc(struct sock *sk, size_t size,
 				       struct ubuf_info *uarg);
 
 void msg_zerocopy_put_abort(struct ubuf_info *uarg, bool have_uref);
 
-void msg_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *uarg,
-			   bool success);
-
 int __zerocopy_sg_from_iter(struct msghdr *msg, struct sock *sk,
 			    struct sk_buff *skb, struct iov_iter *from,
 			    size_t length);
@@ -1766,13 +1769,13 @@ static inline void *skb_zcopy_get_nouarg(struct sk_buff *skb)
 static inline void net_zcopy_put(struct ubuf_info *uarg)
 {
 	if (uarg)
-		uarg->callback(NULL, uarg, true);
+		uarg->ops->complete(NULL, uarg, true);
 }
 
 static inline void net_zcopy_put_abort(struct ubuf_info *uarg, bool have_uref)
 {
 	if (uarg) {
-		if (uarg->callback == msg_zerocopy_callback)
+		if (uarg->ops == &msg_zerocopy_ubuf_ops)
 			msg_zerocopy_put_abort(uarg, have_uref);
 		else if (have_uref)
 			net_zcopy_put(uarg);
@@ -1786,7 +1789,7 @@ static inline void skb_zcopy_clear(struct sk_buff *skb, bool zerocopy_success)
 
 	if (uarg) {
 		if (!skb_zcopy_is_nouarg(skb))
-			uarg->callback(skb, uarg, zerocopy_success);
+			uarg->ops->complete(skb, uarg, zerocopy_success);
 
 		skb_shinfo(skb)->flags &= ~SKBFL_ALL_ZEROCOPY;
 	}
diff --git a/io_uring/notif.c b/io_uring/notif.c
index 3485437b207d..53532d78a947 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -23,7 +23,7 @@ void io_notif_tw_complete(struct io_kiocb *notif, struct io_tw_state *ts)
 	io_req_task_complete(notif, ts);
 }
 
-static void io_tx_ubuf_callback(struct sk_buff *skb, struct ubuf_info *uarg,
+static void io_tx_ubuf_complete(struct sk_buff *skb, struct ubuf_info *uarg,
 				bool success)
 {
 	struct io_notif_data *nd = container_of(uarg, struct io_notif_data, uarg);
@@ -43,6 +43,10 @@ static void io_tx_ubuf_callback(struct sk_buff *skb, struct ubuf_info *uarg,
 	__io_req_task_work_add(notif, IOU_F_TWQ_LAZY_WAKE);
 }
 
+static const struct ubuf_info_ops io_ubuf_ops = {
+	.complete = io_tx_ubuf_complete,
+};
+
 struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx)
 	__must_hold(&ctx->uring_lock)
 {
@@ -62,7 +66,7 @@ struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx)
 	nd->zc_report = false;
 	nd->account_pages = 0;
 	nd->uarg.flags = IO_NOTIF_UBUF_FLAGS;
-	nd->uarg.callback = io_tx_ubuf_callback;
+	nd->uarg.ops = &io_ubuf_ops;
 	refcount_set(&nd->uarg.refcnt, 1);
 	return notif;
 }
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 37c858dc11a6..0f4cc759824b 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1652,7 +1652,7 @@ static struct ubuf_info *msg_zerocopy_alloc(struct sock *sk, size_t size)
 		return NULL;
 	}
 
-	uarg->ubuf.callback = msg_zerocopy_callback;
+	uarg->ubuf.ops = &msg_zerocopy_ubuf_ops;
 	uarg->id = ((u32)atomic_inc_return(&sk->sk_zckey)) - 1;
 	uarg->len = 1;
 	uarg->bytelen = size;
@@ -1678,7 +1678,7 @@ struct ubuf_info *msg_zerocopy_realloc(struct sock *sk, size_t size,
 		u32 bytelen, next;
 
 		/* there might be non MSG_ZEROCOPY users */
-		if (uarg->callback != msg_zerocopy_callback)
+		if (uarg->ops != &msg_zerocopy_ubuf_ops)
 			return NULL;
 
 		/* realloc only when socket is locked (TCP, UDP cork),
@@ -1789,8 +1789,8 @@ static void __msg_zerocopy_callback(struct ubuf_info_msgzc *uarg)
 	sock_put(sk);
 }
 
-void msg_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *uarg,
-			   bool success)
+static void msg_zerocopy_complete(struct sk_buff *skb, struct ubuf_info *uarg,
+				  bool success)
 {
 	struct ubuf_info_msgzc *uarg_zc = uarg_to_msgzc(uarg);
 
@@ -1799,7 +1799,6 @@ void msg_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *uarg,
 	if (refcount_dec_and_test(&uarg->refcnt))
 		__msg_zerocopy_callback(uarg_zc);
 }
-EXPORT_SYMBOL_GPL(msg_zerocopy_callback);
 
 void msg_zerocopy_put_abort(struct ubuf_info *uarg, bool have_uref)
 {
@@ -1809,10 +1808,15 @@ void msg_zerocopy_put_abort(struct ubuf_info *uarg, bool have_uref)
 	uarg_to_msgzc(uarg)->len--;
 
 	if (have_uref)
-		msg_zerocopy_callback(NULL, uarg, true);
+		msg_zerocopy_complete(NULL, uarg, true);
 }
 EXPORT_SYMBOL_GPL(msg_zerocopy_put_abort);
 
+const struct ubuf_info_ops msg_zerocopy_ubuf_ops = {
+	.complete = msg_zerocopy_complete,
+};
+EXPORT_SYMBOL_GPL(msg_zerocopy_ubuf_ops);
+
 int skb_zerocopy_iter_stream(struct sock *sk, struct sk_buff *skb,
 			     struct msghdr *msg, int len,
 			     struct ubuf_info *uarg)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:08:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709002.1108258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6n-00017u-BC; Fri, 19 Apr 2024 11:08:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709002.1108258; Fri, 19 Apr 2024 11:08: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 1rxm6n-00017n-6P; Fri, 19 Apr 2024 11:08:45 +0000
Received: by outflank-mailman (input) for mailman id 709002;
 Fri, 19 Apr 2024 11:08:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N8I7=LY=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1rxm6l-00017h-Gb
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:08:43 +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 2ea14849-fe3d-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 13:08:42 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a555faf94fcso208945566b.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 04:08:42 -0700 (PDT)
Received: from 127.0.0.1localhost ([163.114.131.193])
 by smtp.gmail.com with ESMTPSA id
 z13-20020a17090655cd00b00a4739efd7cesm2082525ejp.60.2024.04.19.04.08.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 04:08: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: 2ea14849-fe3d-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713524922; x=1714129722; 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=NnZhMrUZqGRI3vIgYFB4ebY43U9G9SiQu0xqMryWhDA=;
        b=GDhNTPol9dwXbU/EtfIWaPCpMOuhVMgVSS66o3WHSaCetuYkGoYGXfk+/HOnwgncpo
         Hb4TLEMUDX4o/s9h16VH+4ZWNJ2r+ZODh/8fKY5D4Fb3Z0k9Opt2DaY3Q5nTyhPYxVVu
         Fc79285JYAsscXrRbLCPpoW65OXCkCQU5ETaB2sbOMDQkAVYv8zyfuucnEGTRAo/VE3g
         WpSoir8lnD0huZCYekNjrtTwUcBTsszSOXCYmYXcLqsEBZg4lt3CQI2D22ce9biM5aNW
         QVGw9QRnvlHwuM4am4itZMZRSMx6O8Li3eYLPcEw+JHY4i0KTkesDNJMqQGPFAAOSLtn
         G20A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524922; x=1714129722;
        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=NnZhMrUZqGRI3vIgYFB4ebY43U9G9SiQu0xqMryWhDA=;
        b=BjfQrccQYlT8rAdbK1CA3qFcGS0qKua5vVLVKivGHE4K6qi7qtOebsxPoYzjFnI1Yw
         lrtYPv1v0y4BXLurWKukpwyp1tllOX6BULU0tJ5OwX6+kgv/UNYT1tNGakNN4ugVhIMi
         IzfEH7B4UH0G3IeozFPA5Sn9olKnnMuKKLnFsfnI3VcInqyPVzEPoTodPtZ7WAqVOweO
         x/ByjyM/FAJlBPHOegY5pll3gBe2+pebmp2yIhtviYK1FLBEEQYAMQIH8qk4EcwpmUOL
         zbDwp7qbQ+UPAP/YvPLdRseQHK9/EyEI85woxXABbVRWigIYVrRE6U2OV65GN3ilfo9k
         RmvA==
X-Forwarded-Encrypted: i=1; AJvYcCVejIxQEr8MqBy3QlxAxdWOc1ZuFREHRpf908tBoXv/tF61zl1JA2u1OrTYktiQf9WjG793TPA91VikftDbq7KocCOA+ZFUb2CXeyw9LZk=
X-Gm-Message-State: AOJu0YwerOicTxmfdOPYQ2UXxg8fnTfznOVGiuAnUDEs4T9sB4u0DdIx
	OznjjKK4+90+3uD0IbwCyKN+c5nV27WqJzA9y8lo+4LyG1H3iZeD
X-Google-Smtp-Source: AGHT+IFFriJFsUnRrRu7HMBSLly/rtS8cinsWTH9ta/+o0dmkBTmaPB9zq5hLrUgZJ2Zq5CyXnzdXQ==
X-Received: by 2002:a17:906:f8c5:b0:a55:5ddd:e5f6 with SMTP id lh5-20020a170906f8c500b00a555ddde5f6mr1225529ejb.28.1713524921685;
        Fri, 19 Apr 2024 04:08:41 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	asml.silence@gmail.com,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	David Ahern <dsahern@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org
Subject: [PATCH io_uring-next/net-next v2 0/4] implement io_uring notification (ubuf_info) stacking
Date: Fri, 19 Apr 2024 12:08:38 +0100
Message-ID: <cover.1713369317.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Please, don't take directly, conflicts with io_uring.

To have per request buffer notifications each zerocopy io_uring send
request allocates a new ubuf_info. However, as an skb can carry only
one uarg, it may force the stack to create many small skbs hurting
performance in many ways.

The patchset implements notification, i.e. an io_uring's ubuf_info
extension, stacking. It attempts to link ubuf_info's into a list,
allowing to have multiple of them per skb.

liburing/examples/send-zerocopy shows up 6 times performance improvement
for TCP with 4KB bytes per send, and levels it with MSG_ZEROCOPY. Without
the patchset it requires much larger sends to utilise all potential.

bytes  | before | after (Kqps)
1200   | 195    | 1023
4000   | 193    | 1386
8000   | 154    | 1058

The patches are on top of net-next + io_uring-next:

https://github.com/isilence/linux.git iou-sendzc/notif-stacking-v2

First two patches based on net-next:

https://github.com/isilence/linux.git iou-sendzc/notif-stacking-v2-netonly

v2: convert xen-netback to ubuf_info_ops (patch 1)
    drop two separately merged io_uring patches

Pavel Begunkov (4):
  net: extend ubuf_info callback to ops structure
  net: add callback for setting a ubuf_info to skb
  io_uring/notif: simplify io_notif_flush()
  io_uring/notif: implement notification stacking

 drivers/net/tap.c                   |  2 +-
 drivers/net/tun.c                   |  2 +-
 drivers/net/xen-netback/common.h    |  5 +-
 drivers/net/xen-netback/interface.c |  2 +-
 drivers/net/xen-netback/netback.c   | 11 ++--
 drivers/vhost/net.c                 |  8 ++-
 include/linux/skbuff.h              | 21 +++++---
 io_uring/notif.c                    | 83 +++++++++++++++++++++++++----
 io_uring/notif.h                    | 12 ++---
 net/core/skbuff.c                   | 36 ++++++++-----
 10 files changed, 134 insertions(+), 48 deletions(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:08:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:08:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709006.1108298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6t-00028B-EJ; Fri, 19 Apr 2024 11:08:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709006.1108298; Fri, 19 Apr 2024 11:08:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxm6t-00027v-BA; Fri, 19 Apr 2024 11:08:51 +0000
Received: by outflank-mailman (input) for mailman id 709006;
 Fri, 19 Apr 2024 11:08:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N8I7=LY=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1rxm6r-0001FM-Vv
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:08:49 +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 320ebd81-fe3d-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 13:08:48 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a557044f2ddso194696766b.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 04:08:48 -0700 (PDT)
Received: from 127.0.0.1localhost ([163.114.131.193])
 by smtp.gmail.com with ESMTPSA id
 z13-20020a17090655cd00b00a4739efd7cesm2082525ejp.60.2024.04.19.04.08.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 04: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: 320ebd81-fe3d-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713524928; x=1714129728; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2fP3T1HRg4APmOPCr1i20fy3OAFGb9fSrnxRLKsDwOU=;
        b=dl/zco0HRhXxCfHY4UGGo3p42hfzch0Upk/TLHosmE9B4Tozp4jo96slNEXjdZCs2x
         Mhzylds1tViEFQ6HTOWhAvxU+7ROVvJEhcgDC21vlgXXRL978up3dwwF2jMoRA1J6rzd
         S/iwW5kmpXjIpNrtWjoBPr7AsnQuTrKmVnchXttWOsHOYSQfcb+kiDzi8evO53rqKLu7
         FiXHn5cRMKHIbMTP0puMdpbfOAtC+UUICi2G2roWuui/d047Z2ZIrfUkLJj8ApJRo24l
         H8X8l1aqwn3FaZEmRL6dkRhGcG+CGTISxJqc0GN2sq8r9mz8mnHIcW7KohgkaYkvLs4p
         bQjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713524928; x=1714129728;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2fP3T1HRg4APmOPCr1i20fy3OAFGb9fSrnxRLKsDwOU=;
        b=HWVdrbLKOvUIPaVKeZ1FsjXTL3vf1sZzuW2P9mrIOnA5xcfTLVFaIJcHzTpBcve68e
         lEBUP6Byk251yXw3uVFt222iXpTfx52U5kqTynXbzjLkeSD9qRjJrq6DWf1bb1KQusI5
         KzNLmpxy8ugam/7BKXbkoid6sSCj2bHg5ynn+x7F44fv2Mct4Sg/DAhB5d/ST8hZrt3n
         Unjv9hEbQEd+oijI8+kOJDJZD3VotbFfUnCjBjhWEdbR0mrAfF+vBEJEOfUhj1L44Kme
         cARzwH5sl+Hz9UKmXjRfhdDX/WCTyqL7tDPhQbPfCmJzbX7fmJI5udYzuNdYCartRzHy
         0Mvw==
X-Forwarded-Encrypted: i=1; AJvYcCVPhXVeXRanv3igThDTKFPYzJo3sPLhwawlQfHXcbJxZ5Na9yMteM3zKjCCm9RyEqTp83EGc/gBc1q5Yrz2Y2KRv3dLBqXrrI7mM+BsqWA=
X-Gm-Message-State: AOJu0Yw74d24wc0h8jkSrbTny/r4hAMJVjnQhzLFMZPpuhv06IrHnMHi
	8vb00TeTP2XVzYPAEU6tKjfONvFmaGGirEJRz5OiC0c46xMxXbtBKe9uLA==
X-Google-Smtp-Source: AGHT+IFy2QsdrmLfOtT9EYc1USivrPyf0Bwi5GEdqAq0Fpn53sZdiNwWQaN42/Mf/SYmqQzPfik1yw==
X-Received: by 2002:a17:906:a206:b0:a52:2c00:9850 with SMTP id r6-20020a170906a20600b00a522c009850mr1380280ejy.59.1713524927726;
        Fri, 19 Apr 2024 04:08:47 -0700 (PDT)
From: Pavel Begunkov <asml.silence@gmail.com>
To: io-uring@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
	asml.silence@gmail.com,
	"David S . Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	David Ahern <dsahern@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Jason Wang <jasowang@redhat.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S . Tsirkin" <mst@redhat.com>,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org
Subject: [PATCH io_uring-next/net-next v2 4/4] io_uring/notif: implement notification stacking
Date: Fri, 19 Apr 2024 12:08:42 +0100
Message-ID: <bf1e7f9b72f9ecc99999fdc0d2cded5eea87fd0b.1713369317.git.asml.silence@gmail.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.1713369317.git.asml.silence@gmail.com>
References: <cover.1713369317.git.asml.silence@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The network stack allows only one ubuf_info per skb, and unlike
MSG_ZEROCOPY, each io_uring zerocopy send will carry a separate
ubuf_info. That means that send requests can't reuse a previosly
allocated skb and need to get one more or more of new ones. That's fine
for large sends, but otherwise it would spam the stack with lots of skbs
carrying just a little data each.

To help with that implement linking notification (i.e. an io_uring wrapper
around ubuf_info) into a list. Each is refcounted by skbs and the stack
as usual. additionally all non head entries keep a reference to the
head, which they put down when their refcount hits 0. When the head have
no more users, it'll efficiently put all notifications in a batch.

As mentioned previously about ->io_link_skb, the callback implementation
always allows to bind to an skb without a ubuf_info.

Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
---
 io_uring/notif.c | 71 +++++++++++++++++++++++++++++++++++++++++++-----
 io_uring/notif.h |  3 ++
 2 files changed, 67 insertions(+), 7 deletions(-)

diff --git a/io_uring/notif.c b/io_uring/notif.c
index 26680176335f..d58cdc01e691 100644
--- a/io_uring/notif.c
+++ b/io_uring/notif.c
@@ -9,18 +9,28 @@
 #include "notif.h"
 #include "rsrc.h"
 
+static const struct ubuf_info_ops io_ubuf_ops;
+
 static void io_notif_tw_complete(struct io_kiocb *notif, struct io_tw_state *ts)
 {
 	struct io_notif_data *nd = io_notif_to_data(notif);
 
-	if (unlikely(nd->zc_report) && (nd->zc_copied || !nd->zc_used))
-		notif->cqe.res |= IORING_NOTIF_USAGE_ZC_COPIED;
+	do {
+		notif = cmd_to_io_kiocb(nd);
 
-	if (nd->account_pages && notif->ctx->user) {
-		__io_unaccount_mem(notif->ctx->user, nd->account_pages);
-		nd->account_pages = 0;
-	}
-	io_req_task_complete(notif, ts);
+		lockdep_assert(refcount_read(&nd->uarg.refcnt) == 0);
+
+		if (unlikely(nd->zc_report) && (nd->zc_copied || !nd->zc_used))
+			notif->cqe.res |= IORING_NOTIF_USAGE_ZC_COPIED;
+
+		if (nd->account_pages && notif->ctx->user) {
+			__io_unaccount_mem(notif->ctx->user, nd->account_pages);
+			nd->account_pages = 0;
+		}
+
+		nd = nd->next;
+		io_req_task_complete(notif, ts);
+	} while (nd);
 }
 
 void io_tx_ubuf_complete(struct sk_buff *skb, struct ubuf_info *uarg,
@@ -39,12 +49,56 @@ void io_tx_ubuf_complete(struct sk_buff *skb, struct ubuf_info *uarg,
 	if (!refcount_dec_and_test(&uarg->refcnt))
 		return;
 
+	if (nd->head != nd) {
+		io_tx_ubuf_complete(skb, &nd->head->uarg, success);
+		return;
+	}
 	notif->io_task_work.func = io_notif_tw_complete;
 	__io_req_task_work_add(notif, IOU_F_TWQ_LAZY_WAKE);
 }
 
+static int io_link_skb(struct sk_buff *skb, struct ubuf_info *uarg)
+{
+	struct io_notif_data *nd, *prev_nd;
+	struct io_kiocb *prev_notif, *notif;
+	struct ubuf_info *prev_uarg = skb_zcopy(skb);
+
+	nd = container_of(uarg, struct io_notif_data, uarg);
+	notif = cmd_to_io_kiocb(nd);
+
+	if (!prev_uarg) {
+		net_zcopy_get(&nd->uarg);
+		skb_zcopy_init(skb, &nd->uarg);
+		return 0;
+	}
+	/* handle it separately as we can't link a notif to itself */
+	if (unlikely(prev_uarg == &nd->uarg))
+		return 0;
+	/* we can't join two links together, just request a fresh skb */
+	if (unlikely(nd->head != nd || nd->next))
+		return -EEXIST;
+	/* don't mix zc providers */
+	if (unlikely(prev_uarg->ops != &io_ubuf_ops))
+		return -EEXIST;
+
+	prev_nd = container_of(prev_uarg, struct io_notif_data, uarg);
+	prev_notif = cmd_to_io_kiocb(nd);
+
+	/* make sure all noifications can be finished in the same task_work */
+	if (unlikely(notif->ctx != prev_notif->ctx ||
+		     notif->task != prev_notif->task))
+		return -EEXIST;
+
+	nd->head = prev_nd->head;
+	nd->next = prev_nd->next;
+	prev_nd->next = nd;
+	net_zcopy_get(&nd->head->uarg);
+	return 0;
+}
+
 static const struct ubuf_info_ops io_ubuf_ops = {
 	.complete = io_tx_ubuf_complete,
+	.link_skb = io_link_skb,
 };
 
 struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx)
@@ -65,6 +119,9 @@ struct io_kiocb *io_alloc_notif(struct io_ring_ctx *ctx)
 	nd = io_notif_to_data(notif);
 	nd->zc_report = false;
 	nd->account_pages = 0;
+	nd->next = NULL;
+	nd->head = nd;
+
 	nd->uarg.flags = IO_NOTIF_UBUF_FLAGS;
 	nd->uarg.ops = &io_ubuf_ops;
 	refcount_set(&nd->uarg.refcnt, 1);
diff --git a/io_uring/notif.h b/io_uring/notif.h
index 2cf9ff6abd7a..f3589cfef4a9 100644
--- a/io_uring/notif.h
+++ b/io_uring/notif.h
@@ -14,6 +14,9 @@ struct io_notif_data {
 	struct file		*file;
 	struct ubuf_info	uarg;
 
+	struct io_notif_data	*next;
+	struct io_notif_data	*head;
+
 	unsigned		account_pages;
 	bool			zc_report;
 	bool			zc_used;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:21:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709031.1108308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxmJ7-0007OB-Gu; Fri, 19 Apr 2024 11:21:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709031.1108308; Fri, 19 Apr 2024 11:21:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxmJ7-0007O4-DR; Fri, 19 Apr 2024 11:21:29 +0000
Received: by outflank-mailman (input) for mailman id 709031;
 Fri, 19 Apr 2024 11:21:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N8I7=LY=gmail.com=asml.silence@srs-se1.protection.inumbo.net>)
 id 1rxmJ5-0007Ny-R9
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:21:27 +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 f58f1250-fe3e-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 13:21:25 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2dac77cdf43so25268071fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 04:21:25 -0700 (PDT)
Received: from [192.168.42.27] ([163.114.131.193])
 by smtp.gmail.com with ESMTPSA id
 hx11-20020a170906846b00b00a46d2e9fd73sm2076372ejc.222.2024.04.19.04.21.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 04:21: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: f58f1250-fe3e-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713525685; x=1714130485; 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=Oo5xMgK7A43edaSEKnYiqm0AuchtwStkZ/R1A6SoZFQ=;
        b=VF4+0jRosIbPPeSTqzRtCG1e4qtj9/vBI44uaCnAfPu7rvaKpJFSPnmbdLLonl04dc
         ekxRWd069n29CNyRLSf1c5OOzQuHIEWZhsaYy3ff3SNmW6qx5BOp16IgSRPuO83PZu8f
         SQe+NdheW7HfvZtb92aMmrvQPUXVffHthSH5itql3K97t8sU+94U6LG7KHvnyUI5LEa1
         /HBZGEWcXX65yezMwLRvrIBywBxZYJ6tgdBBEUB4Rrb60nPzQNBMnuwWv/X/rOr/u8JQ
         tTsaUISAyBBH8AM/noECjn6qfDFd14CO79s+FMoOX0LTZiF0GaOA3FoPtnA+fIuFlMMy
         rA7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713525685; x=1714130485;
        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=Oo5xMgK7A43edaSEKnYiqm0AuchtwStkZ/R1A6SoZFQ=;
        b=eYqhNn4G/SLW09Sazk4JyWzhSW9sOVzpY04aJcJReKv+Kd05zeQ2v5vdB2ONFYYkG9
         9+xIe/efOy09xwW3hQDScUukxYYXTk63ji8Okf4WNjZRktkRM+6mq0Zt2E2CounkyiGl
         24q1t//+j96mYjWxiEYDhv2pD8BxljTmGwkWPLMpWk5QsN6jo8jVFbtwx1kTZEf6ncga
         XonPW3ckbb5Kzd+6rTPspw3i3nYR4JYoTnxrt4E2KDKNQIROiBvdeJW2eqzhzIKHgdR3
         7BYq5ojVLsKbsmrWrwAzZZz9WaA7N9tAMS3hEBO8ruYliFg2z/gmixON5h77rW5sByID
         7rfw==
X-Forwarded-Encrypted: i=1; AJvYcCUEbP0JLSTCafu2u4Idjo2SXPGIZjJP0+8HFEo2lcmzAhBjZiSsAKaax4audBbjLvZlQv9PoG3P/9JQ5lLE4tzz7hWP55++R0yqfmrNSoY=
X-Gm-Message-State: AOJu0YzyvtJsSQKOzK2XECdtMVxQ91p11IsApxrcx7EAyl6CWnUWJlep
	LLDNkPeoau0zrCcYftI/duEzGR4ZznrZE5GI+pBjVBumLI0hTAJN
X-Google-Smtp-Source: AGHT+IEFY1gjmCiW7j8xVLYIyr8i8P2p4D1KfDmvOJjtfOhFv2qZUrBCLs8x/0cxV2+TI3RJGn8Yug==
X-Received: by 2002:a05:6512:ba0:b0:51a:b955:4014 with SMTP id b32-20020a0565120ba000b0051ab9554014mr1557073lfv.18.1713525685086;
        Fri, 19 Apr 2024 04:21:25 -0700 (PDT)
Message-ID: <0f6355d6-b563-458e-9671-ea7e047073e1@gmail.com>
Date: Fri, 19 Apr 2024 12:21:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH io_uring-next/net-next v2 0/4] implement io_uring
 notification (ubuf_info) stacking
To: io-uring@vger.kernel.org, netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>, "David S . Miller" <davem@davemloft.net>,
 Jakub Kicinski <kuba@kernel.org>, David Ahern <dsahern@kernel.org>,
 Eric Dumazet <edumazet@google.com>,
 Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
 Jason Wang <jasowang@redhat.com>, Wei Liu <wei.liu@kernel.org>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org,
 "Michael S . Tsirkin" <mst@redhat.com>, virtualization@lists.linux.dev,
 kvm@vger.kernel.org
References: <cover.1713369317.git.asml.silence@gmail.com>
Content-Language: en-US
From: Pavel Begunkov <asml.silence@gmail.com>
In-Reply-To: <cover.1713369317.git.asml.silence@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 4/19/24 12:08, Pavel Begunkov wrote:
> Please, don't take directly, conflicts with io_uring.

When everyone is happy with the patches, Jens and Jakub will hopefully
help to merge them. E.g. first staging net/ specific changes [1] and then
handling all conflicts on the io_uring side.

[1] https://github.com/isilence/linux.git iou-sendzc/notif-stacking-v2-netonly


> To have per request buffer notifications each zerocopy io_uring send
> request allocates a new ubuf_info. However, as an skb can carry only
> one uarg, it may force the stack to create many small skbs hurting
> performance in many ways.
> 
> The patchset implements notification, i.e. an io_uring's ubuf_info
> extension, stacking. It attempts to link ubuf_info's into a list,
> allowing to have multiple of them per skb.
> 
> liburing/examples/send-zerocopy shows up 6 times performance improvement
> for TCP with 4KB bytes per send, and levels it with MSG_ZEROCOPY. Without
> the patchset it requires much larger sends to utilise all potential.
> 
> bytes  | before | after (Kqps)
> 1200   | 195    | 1023
> 4000   | 193    | 1386
> 8000   | 154    | 1058
> 
> The patches are on top of net-next + io_uring-next:
> 
> https://github.com/isilence/linux.git iou-sendzc/notif-stacking-v2
> 
> First two patches based on net-next:
> 
> https://github.com/isilence/linux.git iou-sendzc/notif-stacking-v2-netonly
> 
> v2: convert xen-netback to ubuf_info_ops (patch 1)
>      drop two separately merged io_uring patches
> 
> Pavel Begunkov (4):
>    net: extend ubuf_info callback to ops structure
>    net: add callback for setting a ubuf_info to skb
>    io_uring/notif: simplify io_notif_flush()
>    io_uring/notif: implement notification stacking
> 
>   drivers/net/tap.c                   |  2 +-
>   drivers/net/tun.c                   |  2 +-
>   drivers/net/xen-netback/common.h    |  5 +-
>   drivers/net/xen-netback/interface.c |  2 +-
>   drivers/net/xen-netback/netback.c   | 11 ++--
>   drivers/vhost/net.c                 |  8 ++-
>   include/linux/skbuff.h              | 21 +++++---
>   io_uring/notif.c                    | 83 +++++++++++++++++++++++++----
>   io_uring/notif.h                    | 12 ++---
>   net/core/skbuff.c                   | 36 ++++++++-----
>   10 files changed, 134 insertions(+), 48 deletions(-)
> 

-- 
Pavel Begunkov


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 11:43:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 11:43:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709038.1108318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxmeA-0004lC-84; Fri, 19 Apr 2024 11:43:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709038.1108318; Fri, 19 Apr 2024 11:43: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 1rxmeA-0004l5-4f; Fri, 19 Apr 2024 11:43:14 +0000
Received: by outflank-mailman (input) for mailman id 709038;
 Fri, 19 Apr 2024 11:31:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vK8K=LY=posteo.net=tobias.fitschen@srs-se1.protection.inumbo.net>)
 id 1rxmSl-00028q-TM
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 11:31:28 +0000
Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a052577-fe40-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 13:31:23 +0200 (CEST)
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 0A914240027
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 13:31:22 +0200 (CEST)
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4VLXXT5PdMz6tm8;
 Fri, 19 Apr 2024 13:31:21 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a052577-fe40-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017;
	t=1713526283; bh=3KhJWAlb7hiPakWNt/PdwbycrXAPh43wMejKFcylGNw=;
	h=Date:From:To:CC:Subject:Message-ID:MIME-Version:Content-Type:
	 Content-Transfer-Encoding:From;
	b=ZHn+v2L2S26wsawP7+MdQJVRtBD47dHUDyD1TUy8dPc9KiR2pC+Qh0XlyB9uFlxhr
	 lt6JroGgmhFMwa7Aq+SiiqlBUZqP0LA28Py7er/0D2CPdCBf+VeGpcHo6TigJfHGpg
	 zOODO6FHS91uPH4h9i7CCWjOJ1w/aF9w9NZq9AVMfLugjjaqtWsMz0ViRjes49rGfj
	 XQWWgqM2Mk7YmQcfOXsZQkPdlXL0MPFwRElaFKK8lWQ4lJF0owmfyjkjiEfSqxqamS
	 WKRmEB5kVu+qmZTGaYbUd7TdduSuBIvZGQWaS+nf4GypcKWiIfKOSo4QP4bfNvf+mr
	 2uNftZZc7cDpw==
Date: Fri, 19 Apr 2024 11:31:23 +0000
From: Tobias Fitschen <tobias.fitschen@posteo.net>
To: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org
CC: Tobias Fitschen <tobias.fitschen@posteo.de>,
 Nick Rosbrook <rosbrookn@gmail.com>,
 Anthony PERARD <anthony.perard@citrix.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_1/3=5D_tools/golang=3A_When_return?=
 =?US-ASCII?Q?ing_pointers=2C_actually_allocate_structrues?=
In-Reply-To: <20240419105037.700283-1-george.dunlap@cloud.com>
References: <20240419105037.700283-1-george.dunlap@cloud.com>
Message-ID: <0743B38A-6015-41B7-9294-3ABD01A3C8E1@posteo.net>
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary=----IGRBF76P9LC1X6RLGLX726QSMKBBY6
Content-Transfer-Encoding: 7bit

------IGRBF76P9LC1X6RLGLX726QSMKBBY6
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

Thank you for the fast response, George=2E I can confirm that I can call al=
l three functions without errors now and this patch fixes the errors I enco=
untered=2E

Am 19=2E April 2024 12:50:35 MESZ schrieb George Dunlap <george=2Edunlap@c=
loud=2Ecom>:
>In a handful of cases, it was decided to return a pointer to a
>structure rather than the plain structure itself, due to the size=2E
>However, in these cases the structure was never allocated, leading to
>a nil pointer exception when calling the relevant `fromC` method=2E
>
>Allocate structures before attempting to fill them in=2E
>
>Reported-by: Tobias Fitschen <tobias=2Efitschen@posteo=2Ede>
>Signed-off-by: George Dunlap <george=2Edunlap@cloud=2Ecom>
>---
>This has been compile-tested only; Tobias, I'd appreciate a test if you g=
et a chance=2E
>
>CC: Nick Rosbrook <rosbrookn@gmail=2Ecom>
>CC: Anthony PERARD <anthony=2Eperard@citrix=2Ecom>
>---
> tools/golang/xenlight/xenlight=2Ego | 3 +++
> 1 file changed, 3 insertions(+)
>
>diff --git a/tools/golang/xenlight/xenlight=2Ego b/tools/golang/xenlight/=
xenlight=2Ego
>index a45c636952=2E=2Ed793f172e5 100644
>--- a/tools/golang/xenlight/xenlight=2Ego
>+++ b/tools/golang/xenlight/xenlight=2Ego
>@@ -999,6 +999,7 @@ func (ctx *Context) GetPhysinfo() (physinfo *Physinfo=
, err error) {
> 		err =3D Error(ret)
> 		return
> 	}
>+	physinfo =3D &Physinfo{}
> 	err =3D physinfo=2EfromC(&cphys)
>=20
> 	return
>@@ -1010,6 +1011,7 @@ func (ctx *Context) GetVersionInfo() (info *Version=
Info, err error) {
>=20
> 	cinfo =3D C=2Elibxl_get_version_info(ctx=2Ectx)
>=20
>+	info =3D &VersionInfo{}
> 	err =3D info=2EfromC(cinfo)
>=20
> 	return
>@@ -1027,6 +1029,7 @@ func (ctx *Context) DomainInfo(Id Domid) (di *Domin=
fo, err error) {
> 		return
> 	}
>=20
>+	di =3D &Dominfo{}
> 	err =3D di=2EfromC(&cdi)
>=20
> 	return
>--=20
>2=2E25=2E1
>

------IGRBF76P9LC1X6RLGLX726QSMKBBY6
Content-Type: text/html;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head></head><body><div dir=3D"auto">Thank you for the fast response,=
 George=2E I can confirm that I can call all three functions without errors=
 now and this patch fixes the errors I encountered=2E</div><br><br><div cla=
ss=3D"gmail_quote"><div dir=3D"auto">Am 19=2E April 2024 12:50:35 MESZ schr=
ieb George Dunlap &lt;george=2Edunlap@cloud=2Ecom&gt;:</div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0=2E8ex; border-left: 1px s=
olid rgb(204, 204, 204); padding-left: 1ex;">
<pre class=3D"k9mail"><div dir=3D"auto">In a handful of cases, it was deci=
ded to return a pointer to a<br>structure rather than the plain structure i=
tself, due to the size=2E<br>However, in these cases the structure was neve=
r allocated, leading to<br>a nil pointer exception when calling the relevan=
t `fromC` method=2E<br><br>Allocate structures before attempting to fill th=
em in=2E<br><br>Reported-by: Tobias Fitschen &lt;tobias=2Efitschen@posteo=
=2Ede&gt;<br>Signed-off-by: George Dunlap &lt;george=2Edunlap@cloud=2Ecom&g=
t;<hr>This has been compile-tested only; Tobias, I'd appreciate a test if y=
ou get a chance=2E<br><br>CC: Nick Rosbrook &lt;rosbrookn@gmail=2Ecom&gt;<b=
r>CC: Anthony PERARD &lt;anthony=2Eperard@citrix=2Ecom&gt;<hr> tools/golang=
/xenlight/xenlight=2Ego | 3 +++<br> 1 file changed, 3 insertions(+)<br><br>=
diff --git a/tools/golang/xenlight/xenlight=2Ego b/tools/golang/xenlight/xe=
nlight=2Ego<br>index a45c636952=2E=2Ed793f172e5 100644<br>--- a/tools/golan=
g/xenlight/xenlight=2Ego<br>+++ b/tools/golang/xenlight/xenlight=2Ego<br>@@=
 -999,6 +999,7 @@ func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, er=
r error) {<br> 		err =3D Error(ret)<br> 		return<br> 	}<br>+	physinfo =3D &=
amp;Physinfo{}<br> 	err =3D physinfo=2EfromC(&amp;cphys)<br> <br> 	return<b=
r>@@ -1010,6 +1011,7 @@ func (ctx *Context) GetVersionInfo() (info *Version=
Info, err error) {<br> <br> 	cinfo =3D C=2Elibxl_get_version_info(ctx=2Ectx=
)<br> <br>+	info =3D &amp;VersionInfo{}<br> 	err =3D info=2EfromC(cinfo)<br=
> <br> 	return<br>@@ -1027,6 +1029,7 @@ func (ctx *Context) DomainInfo(Id D=
omid) (di *Dominfo, err error) {<br> 		return<br> 	}<br> <br>+	di =3D &amp;=
Dominfo{}<br> 	err =3D di=2EfromC(&amp;cdi)<br> <br> 	return<br></div></pre=
></blockquote></div></body></html>
------IGRBF76P9LC1X6RLGLX726QSMKBBY6--


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 13:02:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 13:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709088.1108331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxnsE-0005ZH-Ul; Fri, 19 Apr 2024 13:01:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709088.1108331; Fri, 19 Apr 2024 13: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 1rxnsE-0005ZA-SD; Fri, 19 Apr 2024 13:01:50 +0000
Received: by outflank-mailman (input) for mailman id 709088;
 Fri, 19 Apr 2024 13: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=pund=LY=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rxnsD-0005Z3-CI
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 13:01:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fae98dda-fe4c-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 15:01:47 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3E58E4EE0742;
 Fri, 19 Apr 2024 15:01: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: fae98dda-fe4c-11ee-b909-491648fe20b8
MIME-Version: 1.0
Date: Fri, 19 Apr 2024 15:01:47 +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, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated
 service STD.emptrecd
In-Reply-To: <3c6e3fa1-a312-4872-9b7f-9e6935490bcb@suse.com>
References: <7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com>
 <c94d739e-0517-487f-8ba9-d9b19fe8f916@suse.com>
 <58ed38830469a027b9cedd9d5f68cfae@bugseng.com>
 <3c6e3fa1-a312-4872-9b7f-9e6935490bcb@suse.com>
Message-ID: <4406fa44cb54d07bc43ffee6e42689da@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-04-19 11:21, Jan Beulich wrote:
> On 19.04.2024 09:49, Nicola Vetrini wrote:
>> On 2024-04-19 09:35, Jan Beulich wrote:
>>> On 19.04.2024 09:16, Nicola Vetrini wrote:
>>>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a
>>>> preventive
>>>> measure, STD.anonstct is used here, which for Xen's purposes has
>>>> equivalent
>>>> functionality.
>>> 
>>> I'm sorry, but no, this still does not clarify things enough. It is
>>> still
>>> entirely unclear how "empty record" can reasonably be substituted by
>>> "anonymous struct". Even the expansion of the respective 
>>> abbreviations
>>> continues to be just a guess.
>> 
>> anonstct checks for structs with no named members,
> 
> So "anonstct" != "anonymous structures". As indicated, part of the
> description wants to be de-ciphering of these acronyms, so they can
> make sense to readers.
> 
> Jan
> 
>> hence also empty
>> structs, but only the former is an undefined behaviour for C99.
>> 

Would this be a sufficiently clear explanation for you?

"The ECLAIR service STD.emptrecd (which checks for empty structures) is 
being deprecated; hence, as a preventive measure, STD.anonstct (which 
checks for structures with no named members, an UB in C99) is used here; 
the latter being a more general case than the previous one, this change 
does not affect the analysis. This new service is already supported by 
the current version of ECLAIR."

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:00:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709098.1108352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxonC-0008Iw-CZ; Fri, 19 Apr 2024 14:00:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709098.1108352; Fri, 19 Apr 2024 14:00: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 1rxonC-0008Ip-9r; Fri, 19 Apr 2024 14:00:42 +0000
Received: by outflank-mailman (input) for mailman id 709098;
 Fri, 19 Apr 2024 14:00: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxonB-00084S-21
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:00:41 +0000
Received: from mail-qv1-xf2d.google.com (mail-qv1-xf2d.google.com
 [2607:f8b0:4864:20::f2d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 334997a9-fe55-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 16:00:39 +0200 (CEST)
Received: by mail-qv1-xf2d.google.com with SMTP id
 6a1803df08f44-69b6c2e9ed9so7753996d6.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:00:39 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 t9-20020a0c8d89000000b0069b7eb7edebsm1582413qvb.71.2024.04.19.07.00.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 07: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: 334997a9-fe55-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713535237; x=1714140037; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qWMIoc6b1WKFM7SSJlKfUX9Err3kWMV0UKmrQ0B2hfA=;
        b=W31ly7XY0DiUULpdgoIkWhoaktY8RB8X0TwNa7b9QhDPeY7eDh5/MKxEDPcv/C5Avl
         Fc5se1Jny/I6/MRecfKWrFxO+/0madfIIDZ6zheIRL4Y7Va8u7KLcI6MusTJb2qlFzAE
         HLkOtfk3aCEFjYoouOXgryOHWDq7LiwfWVeTc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713535237; x=1714140037;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qWMIoc6b1WKFM7SSJlKfUX9Err3kWMV0UKmrQ0B2hfA=;
        b=fMR2mVYngdIRMB7JLyvQ/fb8hYFRhczA7vLi2e9hy6GotWUBVsI4P+liJrzbAgucJv
         XOW4Ex03dobAtL3FNBWb5K12Ge3vJ/Q5VUCIeq15TrdcZ7a7sxVz1J85fYGyTw0nNIqy
         4W8fq5HHMHepk2VcEE/TU56YmXTwas0deeEBvhdvhzSNLAqxWywEopQO5iNRAeHnDqEr
         Co3mC8Ur3YIq2GNnmryJDa6jVd1e0ZrAaMYr4dp2zHiX4O6sFtG1XljoUvhQqEfw7DGC
         Tr+8R2CidkxOp3/vr9hMeWQLZ36ggqfvOcu4R8/QJcbQDtipI4XzHZCcrusquvoiM1ZD
         Wn+g==
X-Gm-Message-State: AOJu0Ywkp4xZiLa/LYck9GeyO5NXkIBS6FYkTLuz6aiUO5AVOGQLtmnE
	VULKT3IGPMTUasyxyK6hGuHPw9ApYsRXjfMQpnZee2VfZKt+jw/sp6xFp+8NM1x2ISHejd8rQOJ
	q
X-Google-Smtp-Source: AGHT+IH0lKHDZEJh+i9JynrdqwV8Vt4hD50JQB+HhFxOMPW0z8nHQWuRz5QxYE7vhyBxgZArgaGB9g==
X-Received: by 2002:ad4:4dca:0:b0:69b:7b95:8ef1 with SMTP id cw10-20020ad44dca000000b0069b7b958ef1mr2392817qvb.22.1713535237381;
        Fri, 19 Apr 2024 07:00:37 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 2/3] golang/xenlight: Ensure comments aren't interpreted as docstrings
Date: Fri, 19 Apr 2024 14:51:19 +0100
Message-Id: <20240419135120.830517-2-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240419135120.830517-1-george.dunlap@cloud.com>
References: <20240419135120.830517-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Go has always interpreted a comment directly before a function as a
docstring, so having the C function prototypes which the golang method
is meant to wrap in the comment before was always a bit non-standard.
However, recent versions of `go fmt` now attempt to normalize these
docstrings as well, leading to strange changes, particularly if `go
fmt` is run on save.

Go through and put a space between non-docstring comments and methods,
so that `go fmt` leaves the comments alone.

No functional change.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
v2:
 - New (replaced previous `go fmt` patch)

CC: Nick Rosbrook <rosbrookn@gmail.com>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/golang/xenlight/xenlight.go | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go
index d793f172e5..7f08657187 100644
--- a/tools/golang/xenlight/xenlight.go
+++ b/tools/golang/xenlight/xenlight.go
@@ -562,6 +562,7 @@ func (dt DomainType) String() (str string) {
 }
 
 // const char *libxl_scheduler_to_string(libxl_scheduler p);
+
 func (s Scheduler) String() string {
 	cs := C.libxl_scheduler_to_string(C.libxl_scheduler(s))
 	// No need to free const return value
@@ -570,6 +571,7 @@ func (s Scheduler) String() string {
 }
 
 // int libxl_scheduler_from_string(const char *s, libxl_scheduler *e);
+
 func (s *Scheduler) FromString(gstr string) (err error) {
 	*s, err = SchedulerFromString(gstr)
 	return
@@ -594,6 +596,7 @@ func SchedulerFromString(name string) (s Scheduler, err error) {
 
 // libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool_out);
 // void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nb_pool);
+
 func (ctx *Context) ListCpupool() (list []Cpupoolinfo) {
 	var nbPool C.int
 
@@ -617,6 +620,7 @@ func (ctx *Context) ListCpupool() (list []Cpupoolinfo) {
 }
 
 // int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_t poolid);
+
 func (ctx *Context) CpupoolInfo(Poolid uint32) (pool Cpupoolinfo, err error) {
 	var c_cpupool C.libxl_cpupoolinfo
 
@@ -638,6 +642,7 @@ func (ctx *Context) CpupoolInfo(Poolid uint32) (pool Cpupoolinfo, err error) {
 //                          uint32_t *poolid);
 // FIXME: uuid
 // FIXME: Setting poolid
+
 func (ctx *Context) CpupoolCreate(Name string, Scheduler Scheduler, Cpumap Bitmap) (err error, Poolid uint32) {
 	poolid := C.uint32_t(C.LIBXL_CPUPOOL_POOLID_ANY)
 	name := C.CString(Name)
@@ -666,6 +671,7 @@ func (ctx *Context) CpupoolCreate(Name string, Scheduler Scheduler, Cpumap Bitma
 }
 
 // int libxl_cpupool_destroy(libxl_ctx *ctx, uint32_t poolid);
+
 func (ctx *Context) CpupoolDestroy(Poolid uint32) (err error) {
 	ret := C.libxl_cpupool_destroy(ctx.ctx, C.uint32_t(Poolid))
 	if ret != 0 {
@@ -677,6 +683,7 @@ func (ctx *Context) CpupoolDestroy(Poolid uint32) (err error) {
 }
 
 // int libxl_cpupool_cpuadd(libxl_ctx *ctx, uint32_t poolid, int cpu);
+
 func (ctx *Context) CpupoolCpuadd(Poolid uint32, Cpu int) (err error) {
 	ret := C.libxl_cpupool_cpuadd(ctx.ctx, C.uint32_t(Poolid), C.int(Cpu))
 	if ret != 0 {
@@ -689,6 +696,7 @@ func (ctx *Context) CpupoolCpuadd(Poolid uint32, Cpu int) (err error) {
 
 // int libxl_cpupool_cpuadd_cpumap(libxl_ctx *ctx, uint32_t poolid,
 //                                 const libxl_bitmap *cpumap);
+
 func (ctx *Context) CpupoolCpuaddCpumap(Poolid uint32, Cpumap Bitmap) (err error) {
 	var cbm C.libxl_bitmap
 	if err = Cpumap.toC(&cbm); err != nil {
@@ -706,6 +714,7 @@ func (ctx *Context) CpupoolCpuaddCpumap(Poolid uint32, Cpumap Bitmap) (err error
 }
 
 // int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu);
+
 func (ctx *Context) CpupoolCpuremove(Poolid uint32, Cpu int) (err error) {
 	ret := C.libxl_cpupool_cpuremove(ctx.ctx, C.uint32_t(Poolid), C.int(Cpu))
 	if ret != 0 {
@@ -718,6 +727,7 @@ func (ctx *Context) CpupoolCpuremove(Poolid uint32, Cpu int) (err error) {
 
 // int libxl_cpupool_cpuremove_cpumap(libxl_ctx *ctx, uint32_t poolid,
 //                                    const libxl_bitmap *cpumap);
+
 func (ctx *Context) CpupoolCpuremoveCpumap(Poolid uint32, Cpumap Bitmap) (err error) {
 	var cbm C.libxl_bitmap
 	if err = Cpumap.toC(&cbm); err != nil {
@@ -735,6 +745,7 @@ func (ctx *Context) CpupoolCpuremoveCpumap(Poolid uint32, Cpumap Bitmap) (err er
 }
 
 // int libxl_cpupool_rename(libxl_ctx *ctx, const char *name, uint32_t poolid);
+
 func (ctx *Context) CpupoolRename(Name string, Poolid uint32) (err error) {
 	name := C.CString(Name)
 	defer C.free(unsafe.Pointer(name))
@@ -749,6 +760,7 @@ func (ctx *Context) CpupoolRename(Name string, Poolid uint32) (err error) {
 }
 
 // int libxl_cpupool_cpuadd_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
+
 func (ctx *Context) CpupoolCpuaddNode(Poolid uint32, Node int) (Cpus int, err error) {
 	ccpus := C.int(0)
 
@@ -764,6 +776,7 @@ func (ctx *Context) CpupoolCpuaddNode(Poolid uint32, Node int) (Cpus int, err er
 }
 
 // int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int node, int *cpus);
+
 func (ctx *Context) CpupoolCpuremoveNode(Poolid uint32, Node int) (Cpus int, err error) {
 	ccpus := C.int(0)
 
@@ -779,6 +792,7 @@ func (ctx *Context) CpupoolCpuremoveNode(Poolid uint32, Node int) (Cpus int, err
 }
 
 // int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t domid);
+
 func (ctx *Context) CpupoolMovedomain(Poolid uint32, Id Domid) (err error) {
 	ret := C.libxl_cpupool_movedomain(ctx.ctx, C.uint32_t(Poolid), C.uint32_t(Id))
 	if ret != 0 {
@@ -792,6 +806,7 @@ func (ctx *Context) CpupoolMovedomain(Poolid uint32, Id Domid) (err error) {
 //
 // Utility functions
 //
+
 func (ctx *Context) CpupoolFindByName(name string) (info Cpupoolinfo, found bool) {
 	plist := ctx.ListCpupool()
 
@@ -940,6 +955,7 @@ func (bm Bitmap) String() (s string) {
 }
 
 //int libxl_get_max_cpus(libxl_ctx *ctx);
+
 func (ctx *Context) GetMaxCpus() (maxCpus int, err error) {
 	ret := C.libxl_get_max_cpus(ctx.ctx)
 	if ret < 0 {
@@ -951,6 +967,7 @@ func (ctx *Context) GetMaxCpus() (maxCpus int, err error) {
 }
 
 //int libxl_get_online_cpus(libxl_ctx *ctx);
+
 func (ctx *Context) GetOnlineCpus() (onCpus int, err error) {
 	ret := C.libxl_get_online_cpus(ctx.ctx)
 	if ret < 0 {
@@ -962,6 +979,7 @@ func (ctx *Context) GetOnlineCpus() (onCpus int, err error) {
 }
 
 //int libxl_get_max_nodes(libxl_ctx *ctx);
+
 func (ctx *Context) GetMaxNodes() (maxNodes int, err error) {
 	ret := C.libxl_get_max_nodes(ctx.ctx)
 	if ret < 0 {
@@ -973,6 +991,7 @@ func (ctx *Context) GetMaxNodes() (maxNodes int, err error) {
 }
 
 //int libxl_get_free_memory(libxl_ctx *ctx, uint64_t *memkb);
+
 func (ctx *Context) GetFreeMemory() (memkb uint64, err error) {
 	var cmem C.uint64_t
 	ret := C.libxl_get_free_memory(ctx.ctx, &cmem)
@@ -988,6 +1007,7 @@ func (ctx *Context) GetFreeMemory() (memkb uint64, err error) {
 }
 
 //int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
+
 func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) {
 	var cphys C.libxl_physinfo
 	C.libxl_physinfo_init(&cphys)
@@ -1006,6 +1026,7 @@ func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) {
 }
 
 //const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx);
+
 func (ctx *Context) GetVersionInfo() (info *VersionInfo, err error) {
 	var cinfo *C.libxl_version_info
 
@@ -1045,6 +1066,7 @@ func (ctx *Context) DomainUnpause(Id Domid) (err error) {
 }
 
 //int libxl_domain_pause(libxl_ctx *ctx, uint32_t domain);
+
 func (ctx *Context) DomainPause(id Domid) (err error) {
 	ret := C.libxl_domain_pause(ctx.ctx, C.uint32_t(id), nil)
 
@@ -1055,6 +1077,7 @@ func (ctx *Context) DomainPause(id Domid) (err error) {
 }
 
 //int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid);
+
 func (ctx *Context) DomainShutdown(id Domid) (err error) {
 	ret := C.libxl_domain_shutdown(ctx.ctx, C.uint32_t(id), nil)
 
@@ -1065,6 +1088,7 @@ func (ctx *Context) DomainShutdown(id Domid) (err error) {
 }
 
 //int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid);
+
 func (ctx *Context) DomainReboot(id Domid) (err error) {
 	ret := C.libxl_domain_reboot(ctx.ctx, C.uint32_t(id), nil)
 
@@ -1076,6 +1100,7 @@ func (ctx *Context) DomainReboot(id Domid) (err error) {
 
 //libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain_out);
 //void libxl_dominfo_list_free(libxl_dominfo *list, int nb_domain);
+
 func (ctx *Context) ListDomain() (glist []Dominfo) {
 	var nbDomain C.int
 	clist := C.libxl_list_domain(ctx.ctx, &nbDomain)
@@ -1098,6 +1123,7 @@ func (ctx *Context) ListDomain() (glist []Dominfo) {
 //libxl_vcpuinfo *libxl_list_vcpu(libxl_ctx *ctx, uint32_t domid,
 //				int *nb_vcpu, int *nr_cpus_out);
 //void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr_vcpus);
+
 func (ctx *Context) ListVcpu(id Domid) (glist []Vcpuinfo) {
 	var nbVcpu C.int
 	var nrCpu C.int
@@ -1128,6 +1154,7 @@ func (ct ConsoleType) String() (str string) {
 
 //int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num,
 //libxl_console_type type, char **path);
+
 func (ctx *Context) ConsoleGetTty(id Domid, consNum int, conType ConsoleType) (path string, err error) {
 	var cpath *C.char
 	ret := C.libxl_console_get_tty(ctx.ctx, C.uint32_t(id), C.int(consNum), C.libxl_console_type(conType), &cpath)
@@ -1143,6 +1170,7 @@ func (ctx *Context) ConsoleGetTty(id Domid, consNum int, conType ConsoleType) (p
 
 //int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm,
 //					char **path);
+
 func (ctx *Context) PrimaryConsoleGetTty(domid uint32) (path string, err error) {
 	var cpath *C.char
 	ret := C.libxl_primary_console_get_tty(ctx.ctx, C.uint32_t(domid), &cpath)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:00:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709099.1108357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxonC-0008MY-LQ; Fri, 19 Apr 2024 14:00:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709099.1108357; Fri, 19 Apr 2024 14:00: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 1rxonC-0008Lg-Hp; Fri, 19 Apr 2024 14:00:42 +0000
Received: by outflank-mailman (input) for mailman id 709099;
 Fri, 19 Apr 2024 14:00: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxonB-00084S-99
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:00:41 +0000
Received: from mail-qv1-xf35.google.com (mail-qv1-xf35.google.com
 [2607:f8b0:4864:20::f35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 33ff9bc5-fe55-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 16:00:39 +0200 (CEST)
Received: by mail-qv1-xf35.google.com with SMTP id
 6a1803df08f44-69b40061bbeso12294026d6.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:00:39 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 t9-20020a0c8d89000000b0069b7eb7edebsm1582413qvb.71.2024.04.19.07.00.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 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: 33ff9bc5-fe55-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713535239; x=1714140039; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7IpyU6bB2Yoz/g/udbj6gV4Aojd5EY4ysUMu6wK1sfI=;
        b=W9d1GNWnDAPO1163bhqav6L5LF0aF1qmUbVuYRm+wYfZI3vhSH7E58ruauUIl5aFCz
         58/XqqC03mhCQMpeTbl++dLgtz97Jsm0o34uEWV5j4TViWbTQ0BjRsbiaDkAXgP7+7SE
         +kCYXeR5Tng0yJvygES/ruX+glaxue/3eLgxE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713535239; x=1714140039;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7IpyU6bB2Yoz/g/udbj6gV4Aojd5EY4ysUMu6wK1sfI=;
        b=BvyUDh78T8qd6oTdry2Z3XBqR9stjmUqQ0ucGzsFUhaa2E1O1FehklFJv9k24/8cnn
         pndO5fmklgcBgSGkFonWGMBGBTeH4kuVVCvy17nZWMt247dGsuo4JKX6I3FM3xYmYxoh
         LDiN2UA7ibF5JjaufOz/1YduwNov2f7Gw1QzmQ63L56Y+lpFpp/uTLTa0h0ym6F4TPLS
         +1fNxifqqPlc2G8VEUszhXfbfONwJ/w5KkTsFQp1b4p/FNC/1rdvocD4j4pwcTlMmR2j
         /V0j2DCpSJEqomc3WOQLsqH8O43Txnyz5lfNssXgo9keAzXbhuyCbliRcBGbuTiEpXj8
         3cNA==
X-Gm-Message-State: AOJu0Yx/uKvzmfg14PtUEs6KpL6D73uly8h0ePBJp19QHvvlCuWeJU7t
	OVeOEoMMwXoMGaTzcsk/RgnK104/XSxxW9rl9KB3ywWwhUKJ7aAOPNzQuBmffmAyQo5KS4StTna
	J
X-Google-Smtp-Source: AGHT+IHjGX1ASP4DvZlr/HNYTJgoTtXcmTR4JaD9B4zkovDE64ApCQn1KzJXNcelylAbdHA7OsFaSw==
X-Received: by 2002:a05:6214:5603:b0:69b:14cb:234e with SMTP id mg3-20020a056214560300b0069b14cb234emr2401022qvb.39.1713535238682;
        Fri, 19 Apr 2024 07:00:38 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 3/3] tools/golang: Run `go vet` as part of the build process
Date: Fri, 19 Apr 2024 14:51:20 +0100
Message-Id: <20240419135120.830517-3-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240419135120.830517-1-george.dunlap@cloud.com>
References: <20240419135120.830517-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Nick Rosbrook <rosbrookn@gmail.com>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/golang/xenlight/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makefile
index c5bb6b94a8..645e7b3a82 100644
--- a/tools/golang/xenlight/Makefile
+++ b/tools/golang/xenlight/Makefile
@@ -29,6 +29,7 @@ $(subst .gen.,.%.,$(GOXL_GEN_FILES)): gengotypes.py $(LIBXL_SRC_DIR)/libxl_types
 # so that it can find the actual library.
 .PHONY: build
 build: xenlight.go $(GOXL_GEN_FILES)
+	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(call xenlibs-ldflags,light toollog) $(APPEND_LDFLAGS)" $(GO) vet
 	CGO_CFLAGS="$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APPEND_CFLAGS)" CGO_LDFLAGS="$(call xenlibs-ldflags,light toollog) $(APPEND_LDFLAGS)" $(GO) build -x
 
 .PHONY: install
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:00:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709097.1108341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxonB-00084b-48; Fri, 19 Apr 2024 14:00:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709097.1108341; Fri, 19 Apr 2024 14: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 1rxonB-00084T-1V; Fri, 19 Apr 2024 14:00:41 +0000
Received: by outflank-mailman (input) for mailman id 709097;
 Fri, 19 Apr 2024 14:00: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxon9-00084M-Vg
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:00:39 +0000
Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com
 [2607:f8b0:4864:20::f2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32b7391a-fe55-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 16:00:37 +0200 (CEST)
Received: by mail-qv1-xf2a.google.com with SMTP id
 6a1803df08f44-69b40061bbeso12293586d6.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:00:37 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 t9-20020a0c8d89000000b0069b7eb7edebsm1582413qvb.71.2024.04.19.07.00.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 07:00: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: 32b7391a-fe55-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713535236; x=1714140036; 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=3pzG5gY4gqXEkkpMuOFYwzI1Mz0yJcR4zAPhXCGdw+M=;
        b=Wt4U5RNScmoUgIhNMFNAUk+ZX6sr1ZaLoz8coDQq+5zxPY9jLM2ixivyhsU38c7y4+
         fpJA2jBSL1z1Rt9SuyfE4LTbzEpq/b1adCuq5I2f4+qafJseQX/2bCDw1HBGeom73f6b
         +IqUyknx44iS6NEsf2egCyMgwaZY9sBVnJUOI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713535236; x=1714140036;
        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=3pzG5gY4gqXEkkpMuOFYwzI1Mz0yJcR4zAPhXCGdw+M=;
        b=l8Rzj2pMghhwQS9nbT7xGtoaumAE5hm6EhxU84TmDopWLZSzcgsUxqwZ18LK9+CKMK
         nZ/T8BWNg4g995T5z2Qk6+J4wQyfLqOeeYXEpMmXJ7xLfXta8b/gKJunSn7k6bEi0Ltj
         +WEm0APj76Y8Q81urWlumd4HZq0iiWSUMNgR468naARyj2utXELqYJXiDAD6EUi0kZhB
         G18sMwf7ojnbyRZxeFM/FKE2r1y3JjTpqi4VP6PxgoxmVf28sAoY2sjJjpRjAXoNRHYc
         8q/+owuECdch9CFrr/QmgJa8uc8un5Mc0yPPnjaCbRSXRWHIoJ0V3aPaG+JVO2i1qMFQ
         jDxA==
X-Gm-Message-State: AOJu0YwQ8q7MAly0WpDFh4KIwACf1qlhJRUU6qwmfGbxewhsQMVNNoTs
	Ir4S5e3Pib5ncGWkF5npDlhPiydIrQHcgUqqiu8mpseKwvScFdutDAsTDK2b2KpkyAGudDBlbOs
	Y
X-Google-Smtp-Source: AGHT+IE5RXvZ86MBPluokHCguh7EKC08phkkyA2PWkDgjC+DEPPW35Xpuol6Skb7jd+pBME01crNDQ==
X-Received: by 2002:a0c:e152:0:b0:6a0:5baa:10f9 with SMTP id c18-20020a0ce152000000b006a05baa10f9mr2108237qvl.48.1713535236297;
        Fri, 19 Apr 2024 07:00:36 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Tobias Fitschen <tobias.fitschen@posteo.de>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 1/3] tools/golang: When returning pointers, actually allocate structrues
Date: Fri, 19 Apr 2024 14:51:18 +0100
Message-Id: <20240419135120.830517-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In a handful of cases, it was decided to return a pointer to a
structure rather than the plain structure itself, due to the size.
However, in these cases the structure was never allocated, leading to
a nil pointer exception when calling the relevant `fromC` method.

Allocate structures before attempting to fill them in.

Fixes: 453713b1750 ("golang/xenlight: Add host-related functionality")
Reported-by: Tobias Fitschen <tobias.fitschen@posteo.de>
Signed-off-by: George Dunlap <george.dunlap@cloud.com>
Tested-by: Tobias Fitschen <tobias.fitschen@posteo.de>
---
v2:
 - Added Fixes: tag
 - Added Tested-by tag

NB this is a candidate for backport.

CC: Nick Rosbrook <rosbrookn@gmail.com>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/golang/xenlight/xenlight.go | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go
index a45c636952..d793f172e5 100644
--- a/tools/golang/xenlight/xenlight.go
+++ b/tools/golang/xenlight/xenlight.go
@@ -999,6 +999,7 @@ func (ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) {
 		err = Error(ret)
 		return
 	}
+	physinfo = &Physinfo{}
 	err = physinfo.fromC(&cphys)
 
 	return
@@ -1010,6 +1011,7 @@ func (ctx *Context) GetVersionInfo() (info *VersionInfo, err error) {
 
 	cinfo = C.libxl_get_version_info(ctx.ctx)
 
+	info = &VersionInfo{}
 	err = info.fromC(cinfo)
 
 	return
@@ -1027,6 +1029,7 @@ func (ctx *Context) DomainInfo(Id Domid) (di *Dominfo, err error) {
 		return
 	}
 
+	di = &Dominfo{}
 	err = di.fromC(&cdi)
 
 	return
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:24:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:24:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709119.1108371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxp9j-0004pp-FO; Fri, 19 Apr 2024 14:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709119.1108371; Fri, 19 Apr 2024 14: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 1rxp9j-0004pi-CS; Fri, 19 Apr 2024 14:23:59 +0000
Received: by outflank-mailman (input) for mailman id 709119;
 Fri, 19 Apr 2024 14:23:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=txqa=LY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rxp9i-0004oC-4s
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:23:58 +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 75383294-fe58-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 16:23:57 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-516d2600569so2687301e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:23:57 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 z4-20020ac24f84000000b00513d244005asm725847lfs.199.2024.04.19.07.23.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 07:23: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: 75383294-fe58-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713536636; x=1714141436; 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=fvE04hK1QhYzx30yo+rpGP6awpQxcr4JZMIWUrH45M0=;
        b=VEVcgNr3cvTaqL3E4PJjkZPuz0G0T8xsIGuIsiUn7oqQrmqOsA91kG/dogi2C0mkAH
         P0FQgWNTFlp2v40uVOY0Njlps3hqCHda94osdIxkNGK1KeIpt+xO8mWPdNa/6+4t5fON
         t+b4EFpHt3w4SOD44Pdwfw47+0ml+KdJvMXcllr74R3D6mWaIIahXbXyLTOebBLu5qbr
         Qc49wBpGR+Dan9pZNSZcsAJK1e0O9U2WyHtya0RXtN4lHpl8ovhVbRO38TMrVvRJJ0yZ
         WtfpLUiK0fLuzSaY9ZwQD1Z2n9bWxgn2T9ULtPgvmVxhRMTZJfrK2e6r9ad0vbF1g1Fr
         4AVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713536636; x=1714141436;
        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=fvE04hK1QhYzx30yo+rpGP6awpQxcr4JZMIWUrH45M0=;
        b=U3w1gGKOQVoLk4DoDFiWqqdZaRWZ7et5qcw702nkTlIvMIP5gNe/lPWnPSilg7vRdN
         Om98sXHDt9eCXFYlYSI4B4rnnsaQfWoUgKwH83Nl2HmRHx6deS4gCV7x2eXNdFAxGHjU
         H8YQZSwuOD/NOk4bnoF7Vr1ormQe/8K0CCEbpfcRg5VjqDzxwwlFhbSLpSsF4icJ1hV1
         +/2iOhMPURHHVvkotEhf2FuE2NFf+F5IiXZfNxhxCFblQbaoL5o1vh6he5B7dyPL+Isb
         LNUKUHWBqnMKKs3hnU1NPhXBeHk2iU+HBdJbTE6+nObYrvH6FbiADFpBDVpUqbA0Trqv
         iIYw==
X-Gm-Message-State: AOJu0Yw5+/KLrkBJtXR9Rhr8tO5WJbQVEYJrmCb6zzqHpHWGI7+IcFxi
	gzD9GI/nnDaYLY8GOb3lE6I4v0LjPDQDFUO2kndjwASzuZ1yTt6JAzpoxw==
X-Google-Smtp-Source: AGHT+IEEvH4dYfTcbMlGk0kZFT2F92pKHd04k/inXJR/mV8qO8O0RGMIT96AWGZ6a5i2N/gB5GQpSA==
X-Received: by 2002:ac2:57ca:0:b0:518:e8a4:9266 with SMTP id k10-20020ac257ca000000b00518e8a49266mr1563939lfo.14.1713536636111;
        Fri, 19 Apr 2024 07:23:56 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3] xen/riscv: check whether the assembler has Zbb extension support
Date: Fri, 19 Apr 2024 16:23:53 +0200
Message-ID: <95441782d1920f219d63dee1c82c7df68424d374.1713523124.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the argument of the as-insn for the Zbb case to verify that
Zbb is supported not only by a compiler, but also by an assembler.

Also, check-extenstion(ext_name, "insn") helper macro is introduced
to check whether extension is supported by a compiler and an assembler.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - code style fixes: use "-" insteaf of "_" for names.
 - update the commit message.
---
Changes in V2:
 - introduce check_extenstion to abstract a check of if extenstion is
   supported or not.
 - update the commit message.
---
 xen/arch/riscv/arch.mk | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 53f3575e7d..dd242c91d1 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -11,9 +11,14 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 
 riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
 
-zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
-zihintpause := $(call as-insn, \
-                      $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)
+# check-extension: Check whether extenstion is supported by a compiler and
+#                  an assembler.
+# Usage: $(call check-extension,extension_name,"instr")
+check-extension = $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(2),_$(1))
+
+zbb-insn := "andn t0, t0, t0"
+zbb := $(call check-extension,zbb,$(zbb-insn))
+zihintpause := $(call check-extension,zihintpause,"pause")
 
 extensions := $(zbb) $(zihintpause)
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:26:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:26:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709125.1108382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxpCC-0005rA-1E; Fri, 19 Apr 2024 14:26:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709125.1108382; Fri, 19 Apr 2024 14: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 1rxpCB-0005r3-To; Fri, 19 Apr 2024 14:26:31 +0000
Received: by outflank-mailman (input) for mailman id 709125;
 Fri, 19 Apr 2024 14:26: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxpCA-0005qv-Iy
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:26:30 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfa98dd1-fe58-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 16:26:29 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-349c4505058so1452579f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:26: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
 e32-20020a5d5960000000b0033ec9ddc638sm4540722wri.31.2024.04.19.07.26.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 07:26:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfa98dd1-fe58-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713536788; x=1714141588; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=5kG/ARgXXVfg4WMLMW/eCHKrePD3IkK7jN6W0hWBsZo=;
        b=TboJ+UYRuxFLlQMiivVf/I6vaV1TwxPItl8VRSY7LpT8cyXHlvzzY/zKlfwMOzzLHU
         mStnELpSMhgWzQhK/Mj892kzaPTsWSff+NwvpaM1mYqvvMTx+H03WLGlj8eqxS5pHpaH
         b50rtWii9+H+A//Ay8XM/fyhp+Y/C+zY1g9QsdTQV+1uS5HBNl25KvEyOhPrwktn0mMm
         CHdvWqq0M0+KXPXUkLpE5ZujpLcGlZf2FJwJh3esncEeYb8P/d5hQxAOCp+jLwjtRhlk
         Jpns5Hst63tuT+zZoPDmdqepmZQigO72hOgRN6b01qRsk7Hzw2tUahSnXu6dU3WrlMgE
         OESQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713536788; x=1714141588;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=5kG/ARgXXVfg4WMLMW/eCHKrePD3IkK7jN6W0hWBsZo=;
        b=GuDSRSgy1VemgPVyTNuFIV3e4cthXn0TKLSE8jHY8x9vD/7T9NFCZ53EHccvk4KnSr
         NfSW5UDq7SvlL/cBiOW6EQYBRJQ+EXLT4qv4bwF4ubzoNo8IlV1+vEWQXouaa9FvVqdO
         0qLUzw0G3zWe9pqdsvDZCQ3uvQ/uXvHPDklkt18Wk6WnxwyNyhNb8o5TAjg8yvaNS0pn
         dLQ5pFnaO8t0a+vs3fY+hLCH7/r+KaZYEs7jzOUliv3VWwBjHnGDemgCRpiFwhy9TlSl
         bGE2P8f2cuCoFqabdx/3UKum7+A5q4zwlm4I5NTqOBtoEg/Ty1p2Tn7l0wXWz6QwWX82
         HlgA==
X-Forwarded-Encrypted: i=1; AJvYcCV9JbEarwPHILS17sdvuHEkoNam56stocWhofCOtWEG2SJFUBDhXOvyO9+RDKow1O83kLwKZtXu9YEVIF6fkhg7UMKtbPyLGWuBUbjMba4=
X-Gm-Message-State: AOJu0Yx7Mr6r4EXyiAeDrnnueD5Xd/ZiBm4Wa/Tmr8YaZl50Eu85Uwed
	HPwrjhgjpwjqXnqaYmh2sI93uqmD6RnS14jqK9CrNqmnBt8MqnVip0xTVgexew==
X-Google-Smtp-Source: AGHT+IFVmZOOeNrVnld2Wc3xNSPneTnIC1oeWhMaYpKWlPLEwm9NkoMEvJpCjTjPU+MPoXNI9i/n4Q==
X-Received: by 2002:adf:f88d:0:b0:344:3dd:5092 with SMTP id u13-20020adff88d000000b0034403dd5092mr1359721wrp.16.1713536788503;
        Fri, 19 Apr 2024 07:26:28 -0700 (PDT)
Message-ID: <e04fbfc0-c020-472f-bb82-5414adbaa6fd@suse.com>
Date: Fri, 19 Apr 2024 16:26:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: substitute deprecated
 service STD.emptrecd
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <7b60faa6e627b3a4df298f2ef4d9ba4d72e5e206.1713510915.git.nicola.vetrini@bugseng.com>
 <c94d739e-0517-487f-8ba9-d9b19fe8f916@suse.com>
 <58ed38830469a027b9cedd9d5f68cfae@bugseng.com>
 <3c6e3fa1-a312-4872-9b7f-9e6935490bcb@suse.com>
 <4406fa44cb54d07bc43ffee6e42689da@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4406fa44cb54d07bc43ffee6e42689da@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.04.2024 15:01, Nicola Vetrini wrote:
> On 2024-04-19 11:21, Jan Beulich wrote:
>> On 19.04.2024 09:49, Nicola Vetrini wrote:
>>> On 2024-04-19 09:35, Jan Beulich wrote:
>>>> On 19.04.2024 09:16, Nicola Vetrini wrote:
>>>>> The ECLAIR service STD.emptrecd is being deprecated; hence, as a
>>>>> preventive
>>>>> measure, STD.anonstct is used here, which for Xen's purposes has
>>>>> equivalent
>>>>> functionality.
>>>>
>>>> I'm sorry, but no, this still does not clarify things enough. It is
>>>> still
>>>> entirely unclear how "empty record" can reasonably be substituted by
>>>> "anonymous struct". Even the expansion of the respective 
>>>> abbreviations
>>>> continues to be just a guess.
>>>
>>> anonstct checks for structs with no named members,
>>
>> So "anonstct" != "anonymous structures". As indicated, part of the
>> description wants to be de-ciphering of these acronyms, so they can
>> make sense to readers.
>>
>> Jan
>>
>>> hence also empty
>>> structs, but only the former is an undefined behaviour for C99.
>>>
> 
> Would this be a sufficiently clear explanation for you?
> 
> "The ECLAIR service STD.emptrecd (which checks for empty structures) is 
> being deprecated; hence, as a preventive measure, STD.anonstct (which 
> checks for structures with no named members, an UB in C99) is used here; 
> the latter being a more general case than the previous one, this change 
> does not affect the analysis. This new service is already supported by 
> the current version of ECLAIR."

Yes, this is much better. Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:33:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709132.1108392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxpIP-0007KR-M8; Fri, 19 Apr 2024 14:32:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709132.1108392; Fri, 19 Apr 2024 14:32:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxpIP-0007KK-It; Fri, 19 Apr 2024 14:32:57 +0000
Received: by outflank-mailman (input) for mailman id 709132;
 Fri, 19 Apr 2024 14: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxpIO-0007KE-49
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:32:56 +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 b521592e-fe59-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 16:32:54 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-418c979ddf3so15783635e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:32: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
 m16-20020a05600c3b1000b0041496734318sm10480923wms.24.2024.04.19.07.32.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 07: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: b521592e-fe59-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713537173; x=1714141973; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=icTUvpL0KP7AzjT9QbJf6l1gjRt/R2EDHpEQEXXrD1c=;
        b=cOfJWfvZRQVyAUkD6samVjxRdrsGlyv/Z/xtjH3MAU6MRZBgTYVlw4DekQEhgjl9Cj
         /vioNIIwgn6Zu6xjLP+wy/uz9NobXxzjiyQCl3JtLZbKBBxCdkRrvOjsL0t6Td2AM6dE
         xcTP4V5y3l52U+j4kJL9418A4Nm8Ro94fno+9LHZoEQ+DS0THPfDVB4+dZD1ZTOJRJLp
         vYqqe92UzdyQS+4k1623A8OCnosNVTr21c8wfOek+gpi9AgOSJbgYfh9zocfchDw1Ado
         BE1T7eOZLjyXYy8Agsl/T/prg4HfdiN/G2eJutXR0D/cn/Izp51HmmFR8m/q3BRvgJom
         nEXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713537173; x=1714141973;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=icTUvpL0KP7AzjT9QbJf6l1gjRt/R2EDHpEQEXXrD1c=;
        b=H5Z/HynSELzmHYLVyJpbeONgTj6js11FfUvBzUdkIj5vsy6RMrLP+lwssoiMjLR4uA
         RtP9ETkCeFHhqpAIy0Kz4/mL1HYW9nydG6KGau6qETydxmDkz73ga3nr7gIoXgSafFzE
         yVbijsjTbWRKAohSYcnOtCmwRmCoevG00jDxVAPUYy3a+SGOadBmWskOmqt1q0cxGP4e
         h9TpUMf9En80dr97lVqcGqFx1vdTMNkBkmmcFwVhvR78mZkKPEFEJuTqH/OJCuGiwf+G
         pP1w/aJOYLtug7Yk4a2qRTRzhELS/a2CCnn901PPPj5qljKvk8i0tJph6k9c1BSLZF8y
         3NUw==
X-Forwarded-Encrypted: i=1; AJvYcCXmzCW8v7u5BPrGBNWbdRi28PmS/s0AY+rO+amm3OnSy7d+N4GDxdEZzduBzdlBaicpuHpvvk7EokhBGC32kNkqWL+mRt3sefzPfgBd5ZY=
X-Gm-Message-State: AOJu0YxhjdHj6sh34bl/s/PYeq21evVB7eWHMhFmvBxOqqghyAgFD7e9
	eM4Mu6hHYR6jJTUH23jrfaowbtyTFL7YKEhzfdxPqw8GJWS4GPyhuffV+AEZNg==
X-Google-Smtp-Source: AGHT+IFa/1mPaKWaw2ubOF2jyfVdmnhhDx4XBAb/quY366agSEl2FUeSMAtdg2PO9Z/QHYsIK+ry7w==
X-Received: by 2002:a05:600c:3b94:b0:416:9f45:e639 with SMTP id n20-20020a05600c3b9400b004169f45e639mr1619917wms.20.1713537173512;
        Fri, 19 Apr 2024 07:32:53 -0700 (PDT)
Message-ID: <83004b7a-039c-4c5d-8f43-486d79813752@suse.com>
Date: Fri, 19 Apr 2024 16:32:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce header file with section related
 symbols
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.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>,
 George Dunlap <george.dunlap@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-2-roger.pau@citrix.com>
 <a5253ad9-02e6-408d-862c-91a3a87ad9e2@citrix.com>
 <0fe755cd-722e-41cd-9499-49dc628bf52b@suse.com>
 <65c9f3c5-5583-4c87-b2d3-8ecfba9b88cc@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <65c9f3c5-5583-4c87-b2d3-8ecfba9b88cc@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 12:16, Andrew Cooper wrote:
> On 19/04/2024 11:12 am, Jan Beulich wrote:
>> On 19.04.2024 12:08, Andrew Cooper wrote:
>>> On 19/04/2024 11:02 am, Roger Pau Monne wrote:
>>>> Start by declaring the beginning and end of the init section.
>>>>
>>>> No functional change intended.
>>>>
>>>> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>> TYVM for doing this.  There's a lot of cleanup which can follow on for it.
>>>
>>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>
>>> although if anyone has a better name than sections.h then speak now.
>> For what is put there now, and for any other section bounds markers the
>> name is fine with me. I'm not presently convinced though we want to put
>> __read_mostly and friends there.
> 
> Well that's exactly what I intend to clean up into it, because it's far
> better in sections.h than (duplicated per arch) cache.h

The duplication per arch has had a patch pending for a long time, which
you've been blocking. What you're suggesting is not only a very different
sections-related use of the header (which is probably okay), but also
requires touching a fair part of the code base (each and every .c file
using __read_mostly). That's what I'd like to avoid. Yet what I could
live with if it's not me needing to perform this tedious work (hence why
I didn't want to adjust my patch along these lines).

> (Also I intend to strip down kernel.h for the other major sections too.)

I certainly have no issue with this; I was in fact already expecting that
to happen as a follow-on step.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:34:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709135.1108402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxpKC-0008K9-1L; Fri, 19 Apr 2024 14:34:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709135.1108402; Fri, 19 Apr 2024 14:34: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 1rxpKB-0008K2-TJ; Fri, 19 Apr 2024 14:34:47 +0000
Received: by outflank-mailman (input) for mailman id 709135;
 Fri, 19 Apr 2024 14:34: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=EmAy=LY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rxpKA-0008IN-CB
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:34:46 +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 f648055a-fe59-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 16:34:43 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3465921600dso1828337f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:34: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
 a12-20020adfed0c000000b0034635bd6ba5sm4563978wro.92.2024.04.19.07.34.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 19 Apr 2024 07:34: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: f648055a-fe59-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713537283; x=1714142083; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lQZaEUHIt2S7m4vUwNGw16PJ5VE7Grf34nCAwsiQ45A=;
        b=E2pmcYautOUvh7un31pIJtOVn087g/V7AJf6zHYU5ZIL8u+N90CS8MvKsKifthEHH1
         aL/yOInXTbJguciWMnBWAkW4R9WbYUUrukvEVEL5KMcjO6QFBknzGJVxSgFqyVIgCBrL
         DPc04WAoyh8JvLlE65u+CTK09DLEPxpTGyrkB2aq5FRoapnHBJAL9yyxpodHvX17yOhb
         HEmTmMHvdGe6B3CIO76ufZwxNpIPSK9hhaaPF224M8IJ68E1FvxnsRiKwjR0RfJi/ZSs
         BAKsxTiXu958/4ZeTsGMUIqx/yp6VcBpDVZ/zR+vNxWNeL1ec7R0x/mzUd2FNWIl//En
         bouw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713537283; x=1714142083;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lQZaEUHIt2S7m4vUwNGw16PJ5VE7Grf34nCAwsiQ45A=;
        b=eh5NyMzPSYXhmabE18XPDejLfL+O6CRxcCOpZGibFaYytpfFQvGZGYDVC41ayLmhLF
         J8pAXeUXxeeQirgPtu/VkT16q6d639pGuy4CxklGoWMGCqhtaeaHTZT/a017zdTtUDK5
         A/BEsLNptm4fqrEvpNIyqACyZzTZiRSzITZBOjPupnj70T4flTbuj+gStz+B7PM2TIbH
         W6Si9b5+SgAyL/WmSwtPMF+r9ZTBDj+JnAArdTJlDfsPjpmSWVQNmkE9v6aCq6xh0hzo
         +8CHQx0UWbQ5Vi6Y9gBzIoHMS2kiyFxaJEMi8hzcTAk2WhpcbBg7vgywQNyGBVpnrW4Z
         68wQ==
X-Forwarded-Encrypted: i=1; AJvYcCWrX0tzJIm3ppGyv1Rcfu7FRoAgIXlO+bzbj6Rb4lheEadzTR70JhIv7w2Ad6K99ZuDDbN1Z1JxQF4MyGflZTwALL7IAIoNz5QWT+6jOM4=
X-Gm-Message-State: AOJu0YyjRmckz9qIg9bqXJ3kC7LY2H2R1H60fkXw/SAasdDW08zIsO/8
	UhqT43K5+9hleRSH1aYvoCcVrBASdOAIammrmj6tJHPPEWACTQlBlAGmfDKIVg==
X-Google-Smtp-Source: AGHT+IGvL0wjqIJiL0ubYahADZ8VzwZP2FC31nwhjCf2gkcgUv87ymflxowbbAR/4fMzV4PqZU8o2w==
X-Received: by 2002:a5d:5742:0:b0:343:f335:58b with SMTP id q2-20020a5d5742000000b00343f335058bmr1525531wrw.62.1713537282836;
        Fri, 19 Apr 2024 07:34:42 -0700 (PDT)
Message-ID: <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com>
Date: Fri, 19 Apr 2024 16:34:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Content-Language: en-US
To: =?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: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com> <ZiJMj00By3X8FskL@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZiJMj00By3X8FskL@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 12:50, Roger Pau Monné wrote:
> On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
>> On 19.04.2024 12:02, Roger Pau Monne wrote:
>>> Livepatch payloads containing symbols that belong to init sections can only
>>> lead to page faults later on, as by the time the livepatch is loaded init
>>> sections have already been freed.
>>>
>>> Refuse to resolve such symbols and return an error instead.
>>>
>>> Note such resolutions are only relevant for symbols that point to undefined
>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
>>> and hence must either be a Xen or a different livepatch payload symbol.
>>>
>>> Do not allow to resolve symbols that point to __init_begin, as that address is
>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
>>> resolutions against it.
>>>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>> ---
>>> Changes since v1:
>>>  - Fix off-by-one in range checking.
>>
>> Which means you addressed Andrew's comment while at the same time extending
>> the scope of ...
>>
>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>>>                      break;
>>>                  }
>>>              }
>>> +
>>> +            /*
>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
>>> +             * livepatch payloads don't have init sections or equivalent.
>>> +             */
>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
>>> +                      st_value < (uintptr_t)&__init_end )
>>> +            {
>>> +                printk(XENLOG_ERR LIVEPATCH
>>> +                       "%s: symbol %s is in init section, not resolving\n",
>>> +                       elf->name, elf->sym[i].name);
>>
>> ... what I raised concern about (and I had not seen any verbal reply to that,
>> I don't think).
> 
> I've extended the commit message to explicitly mention the handling of
> bounds for __init_{begin,end} checks.  Let me know if you are not fine
> with it (or maybe you expected something else?).

Well, you mention the two symbols you care about, but you don't mention
at all that these two may alias other symbols which might be legal to
reference from a livepatch.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 14:51:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 14:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709143.1108411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxpaC-0003aP-Dd; Fri, 19 Apr 2024 14:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709143.1108411; Fri, 19 Apr 2024 14:51:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxpaC-0003aI-B7; Fri, 19 Apr 2024 14:51:20 +0000
Received: by outflank-mailman (input) for mailman id 709143;
 Fri, 19 Apr 2024 14:51: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=txqa=LY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1rxpaB-0003aC-Ki
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 14:51:19 +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 479c6107-fe5c-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 16:51:18 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5196fe87775so2311183e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 07:51:18 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 v28-20020a056512049c00b00519558f5d83sm739569lfq.289.2024.04.19.07.51.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Apr 2024 07:51: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: 479c6107-fe5c-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713538278; x=1714143078; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:date:to:from
         :subject:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ygxjPqIm5eQHqgerOw85bsXBdDi0AVVR7rmKodPuu6s=;
        b=RVOuzYCtRcO5ME73su7FxVQAm3Qqjs77X/BHm6SEkHBN3pehFEtsaAMPfPjye+oeNw
         M19Bvb9X9i0Is+qG6BFyGMR5pMUyDl54lSLHfhhX7AnyKYfGnsSxgdto7anzVxgzI33U
         XqTNGL2dQzz3imcV85iwk9gAcid/0LzpN8LhiCBJ0HBbMmC/8KLMdfv3TvUEgMHZTrZv
         E5oA3BcQq2ZDGCQzxGaYe7V/LXTVJHrkjLogdjBmV223vWjHZWb1iKbtlAczVQjlEhsv
         g38+A0im95xjizDlghSIa65HjDqD8/4M4mw5XeOU0nQCBBMpgtNyvsqOcsHPhuIzzCz/
         bCqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713538278; x=1714143078;
        h=mime-version:user-agent:content-transfer-encoding:date:to:from
         :subject:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ygxjPqIm5eQHqgerOw85bsXBdDi0AVVR7rmKodPuu6s=;
        b=ZHaKJiDnYlyVdvkMsngx4WgLICnHKisr7euEHResGy7dLsGtFM8Zm3XSs5BS4dqHnd
         qN+Q7fokqmlT7giP4CbxfUmRObzpRUrj3/zc8sxPAJQTsB7GNb45q5ASi1Q1RHHhl6sy
         6RLJdGGXqJ7twmS4+oiylFPYBvVFGAYeZsekjcXh7fu7zg/jul9FG9FmVbTDCNp1VIjP
         4tcEUVj5RQBTz4D6OmopV6fWqIgIJzyi9pZyI4W3r9G1pAs4yz1dUBH/zr8jyNYwkW/v
         xDc404tKwRP2o8am6olQIVehkjIab/9r5HYSxmzPbWwsTMq8MW9FR4YqFtwnICTz6OX7
         biTA==
X-Gm-Message-State: AOJu0Yw8RWAJnr6Jp9Owq1HdiMJXbDx1u76PKBOv2gR5IbvMdrA0VfcE
	qfhbWoqcC3gMG0nJHFogcD8sahCnpsbgW5iLarPsuUYdCrQxYd2GZ8BX7w==
X-Google-Smtp-Source: AGHT+IHOCQj/w5htOsXPTfmIOyQGUz1CxJDs+lnVQ1CeaSmzejPz2EszuT2pKclmW+OlqbwozjHo4w==
X-Received: by 2002:a05:6512:1d2:b0:516:d8df:2e0 with SMTP id f18-20020a05651201d200b00516d8df02e0mr2004691lfp.45.1713538277539;
        Fri, 19 Apr 2024 07:51:17 -0700 (PDT)
Message-ID: <5b6a6221aad93bb8c7803edb58494a597d5d8f73.camel@gmail.com>
Subject: Last posting date for Xen 4.19 is Apr 26, 2024
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org, committers@xenproject.org, 
	community.manager@xenproject.org
Date: Fri, 19 Apr 2024 16:51:16 +0200
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

Hi all,

The last posting date for Xen 4.19 is Apr 26, 2024. If you want your
features to be included for the release, please make sure they are
posted for the first time before Fri Apr 26, 2024.

Have a good weekned!

Best regards,
 Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Apr 19 15:27:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 15:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709149.1108421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxq9B-0001j2-3B; Fri, 19 Apr 2024 15:27:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709149.1108421; Fri, 19 Apr 2024 15: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 1rxq9B-0001iv-0e; Fri, 19 Apr 2024 15:27:29 +0000
Received: by outflank-mailman (input) for mailman id 709149;
 Fri, 19 Apr 2024 15: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=J3rY=LY=gmail.com=rosbrookn@srs-se1.protection.inumbo.net>)
 id 1rxq99-0001iZ-Te
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 15:27:27 +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 53593c7b-fe61-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 17:27:25 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2da84f93c99so27869201fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 08:27: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: 53593c7b-fe61-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713540445; x=1714145245; 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=3CdWZ0zH8TQvMiySvwRbdjwT2/LyTsCGq7GtzMvQFZ0=;
        b=b+nfObkZp7rcxOIg4ZGkOYxUyYnrcrLizwhRzsbH3DBiCajj/TJ5A2YT6l/gvj0KWC
         +nSzX1R9vUVWunUXQR9Y6MfAQyK6jcq+XFUweUMMEVL85sI1D2KaaQdl2nPLGEMt+p0E
         N4fQYch4rSe/18mWc11Cm4tHnSDbX7eAtA0jGcNUTv+7ye9BRclovWE17xEeBIhh5YSN
         eLRKw/UHaRLZ7W66awHbFZVYsENwSf8jGfjWB0YKS6Gab+8t5WhrXPlk7p2yQRQARNW7
         bWEnEq+2TU0gARdGHCE4UDZ1XDtX6pjmQ1EJr2xXWDv73mBBR4iM4O8PU2behuNPxagM
         KwJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713540445; x=1714145245;
        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=3CdWZ0zH8TQvMiySvwRbdjwT2/LyTsCGq7GtzMvQFZ0=;
        b=Vq8lAiGLz3TuMr8tLxsLKTecaOQOw1lMNPJ0Dv0J6QaKIfxBJJeVl8MZ7lLKC19kF4
         0UjmtvFTKQjWg28cCUGrp57GYaQcwbscZVmpslnKfZCJu34ds5KD52k1VWrK89Q1eAjb
         QZY5I6xfyZftYGU3I+HgSFfNtgz37SGTGryrQM/smV4Cw9KmAw/1DKOj89LPU2fJ20+z
         7DbfWgZ7QRo0ta+KwQ2SeEWKdCGuI7kJOhmJ1NFDjiwcPURD0btMa5ehTP1NTdWn6fuD
         jw8GKdEb+6uDv+4Pv9FOulMThDscglSB7mdA1mjm+lBR7dZqchWfJBLoQ760eE1ZWR4r
         QSZw==
X-Gm-Message-State: AOJu0Yy22Jw1NUVcgoI4Mp/1/Y25k5HCXRYN2SAVD08nquVsIhwwW28e
	07wfBpT+9UpIxgD2EXkfOOEJfVjgjWf9iFdcAQn4kUtofHtsagDXN7XQOmSBAxt2lCvT8LLcJG2
	uqRmyCKIvbPahDnE+QlXcYev5tFM=
X-Google-Smtp-Source: AGHT+IH4uHwUFEl7yN1pwkBNgGNi0uTG46+bYeK5A0B3VcS/dVo5OCyyKSv6Qn+/GtS124OLNp/lTI1Z7wdTlOGIs3Y=
X-Received: by 2002:a05:651c:3c6:b0:2da:36be:1b4a with SMTP id
 f6-20020a05651c03c600b002da36be1b4amr1930973ljp.19.1713540445192; Fri, 19 Apr
 2024 08:27:25 -0700 (PDT)
MIME-Version: 1.0
References: <20240419135120.830517-1-george.dunlap@cloud.com>
In-Reply-To: <20240419135120.830517-1-george.dunlap@cloud.com>
From: Nick Rosbrook <rosbrookn@gmail.com>
Date: Fri, 19 Apr 2024 11:27:14 -0400
Message-ID: <CAEBZRSd=qboZhPYgLz0NxCBkzzRJZp-4eq1PxCuC=Gx5Zk2KLA@mail.gmail.com>
Subject: Re: [PATCH v2 1/3] tools/golang: When returning pointers, actually
 allocate structrues
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, 
	Tobias Fitschen <tobias.fitschen@posteo.de>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 19, 2024 at 10:00=E2=80=AFAM George Dunlap <george.dunlap@cloud=
.com> wrote:
>
> In a handful of cases, it was decided to return a pointer to a
> structure rather than the plain structure itself, due to the size.
> However, in these cases the structure was never allocated, leading to
> a nil pointer exception when calling the relevant `fromC` method.
>
> Allocate structures before attempting to fill them in.
>
> Fixes: 453713b1750 ("golang/xenlight: Add host-related functionality")
> Reported-by: Tobias Fitschen <tobias.fitschen@posteo.de>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
> Tested-by: Tobias Fitschen <tobias.fitschen@posteo.de>

Acked-by: Nick Rosbrook <rosbrookn@gmail.com>

This is one of the reasons I don't like using named return values (if
you can help it) and naked returns. When you declare the variable
explicitly you are less likely to explicitly initialize it to nil. Or,
it's a compile time error if you forget all together.

Thanks,
Nick


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 15:29:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 15:29:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709152.1108432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqAy-0002Jv-Hi; Fri, 19 Apr 2024 15:29:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709152.1108432; Fri, 19 Apr 2024 15:29:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqAy-0002Jo-E4; Fri, 19 Apr 2024 15:29:20 +0000
Received: by outflank-mailman (input) for mailman id 709152;
 Fri, 19 Apr 2024 15:29: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxqAx-0002Ji-8y
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 15:29:19 +0000
Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com
 [2001:4860:4864:20::2c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9543032f-fe61-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 17:29:17 +0200 (CEST)
Received: by mail-oa1-x2c.google.com with SMTP id
 586e51a60fabf-23333ef4a02so1303924fac.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 08:29: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: 9543032f-fe61-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713540556; x=1714145356; 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=Y8CADajUXjgywsd6w/7YkFv869kBJfm+FkrIyPrpFC4=;
        b=MYLflberSNnwKlTA3tutIX/7zFg9pbX1o5rS2fOZi1b/VpdwYYeDUQXmxhjArh4ucw
         woDytehJpx9KK1/rToH3UEs7KvKu+zsEtzIDQR72B5LSUoRiIADdAdzKytfRngwl3+v0
         enLaDH2zoW8602rUpaE9F+R8MI1Z+yCzkruDw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713540556; x=1714145356;
        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=Y8CADajUXjgywsd6w/7YkFv869kBJfm+FkrIyPrpFC4=;
        b=d81bDBGaukTtRtp83+dwba6g/PJaHAVEBVUUCOYO2b7PHDHsM4RxDWKvOZJEgwpz6U
         7BZkxPy1nq5NYwhq8IHD+JRJZyqgi2dYzhqpIT5OyBYND48Byv70wkXf2bTlT+IcG5ML
         KHQwBRYG22cNGa/Ylt9zV1I9LVXU8Ce3d+SFdQhIO6rUjn9V+fvNM2qyxGh1tcFgwNLB
         asoE5VT0nWNZ6bw2l5yFdh8UvCdwW1tvmU1PK6QToyl7CuOcQeBv70TVImfhCqaOfX92
         yVyau9Jx9uSwXvjv9nR1cCDDcaYoj1Ky7PdG5yrsnm7PXYiyghxADap4hE5mIFFrrZyM
         p/2g==
X-Forwarded-Encrypted: i=1; AJvYcCVA8KndCPI8ONux+0JV8U2pESNsiGidhcjyEjZypNnMBrCp//pTeIBXSSzyCKagSG4mo+AcDT0B4SzHaEUx3HSzo5j49VL6TslOkgn+ZIs=
X-Gm-Message-State: AOJu0YzLjhdJVbH9uyqPjUB7B7NbFEmKYanfeKMPEU/1oRVBqa5/N2H2
	UlaYkZ7/kzMSQD5MBEHzNrcdkIHjbQkjhvsh3zdv9ObgTswNRYA0GRbvFFwsf9Mj+v93Newh0BJ
	opzuJ93x1v0yrDJjwEbh0g4gJtSRaZWxKCwUwoQ==
X-Google-Smtp-Source: AGHT+IFPGQni5H99tCq9Lmi/Lr2fqmpyHjbvMCUthFYYBjwZI9Ydwc2N/c8B0FCtZItsdrMLgUfl5vohAu1oNxWxHrg=
X-Received: by 2002:a05:6871:d287:b0:22e:a70f:158 with SMTP id
 pl7-20020a056871d28700b0022ea70f0158mr2394277oac.7.1713540555936; Fri, 19 Apr
 2024 08:29:15 -0700 (PDT)
MIME-Version: 1.0
References: <CA+zSX=Y4MwsDSd9oSG1NQyt==YAw9SeRdh=eJxTUhhOx57ihWg@mail.gmail.com>
 <4ee01a0f-063e-ef93-ac24-da387d5b3438@rabbit.lu> <a680ae62-7765-aa51-1edd-9a1a7e39e449@suse.com>
 <20b1a79c-23c1-93bc-2090-8052f143422c@rabbit.lu> <27a3e6a2-b150-1d75-c86f-dfa2b906b298@suse.com>
 <CA+zSX=ZCmmKQX7acx-oK4nSki9ONscxLP7E8t8USjdjXJ9UDpA@mail.gmail.com>
 <495946e9-191f-22fe-9ecf-08eb5af833ba@suse.com> <28e2fc47-aada-e394-35b3-252bd1c6d720@suse.com>
 <CA+zSX=bCC8A06t_gSpYCjxG1BZoC2EWnHhYAQtTM6b0WyzyZNA@mail.gmail.com>
In-Reply-To: <CA+zSX=bCC8A06t_gSpYCjxG1BZoC2EWnHhYAQtTM6b0WyzyZNA@mail.gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 19 Apr 2024 16:29:05 +0100
Message-ID: <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com>
Subject: Re: Detecting whether dom0 is in a VM
To: Jan Beulich <jbeulich@suse.com>
Cc: zithro <slack@rabbit.lu>, xen-devel@lists.xenproject.org, 
	Juergen Gross <jgross@suse.com>, Roger Pau Monne <roger.pau@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Jul 7, 2023 at 3:56=E2=80=AFPM George Dunlap <george.dunlap@cloud.c=
om> wrote:
>> >>> Xen's public interface offers access to the featuresets known / foun=
d /
>> >>> used by the hypervisor. See XEN_SYSCTL_get_cpu_featureset, accessibl=
e
>> >>> via xc_get_cpu_featureset().
>> >>>
>> >>
>> >> Are any of these exposed in dom0 via sysctl, or hypfs?
>> >
>> > sysctl - yes (as the quoted name also says). hypfs no, afaict.
>> >
>> >>  SYSCTLs are
>> >> unfortunately not stable interfaces, correct?  So it wouldn't be prac=
tical
>> >> for systemd to use them.
>> >
>> > Indeed, neither sysctl-s nor the libxc interfaces are stable.
>>
>> Thinking of it, xen-cpuid is a wrapper tool around those. They may want
>> to look at its output (and, if they want to use it, advise distros to
>> also package it), which I think we try to keep reasonably stable,
>> albeit without providing any guarantees.
>
>
> We haven't had any clear guidance yet on what the systemd team want in th=
e <xen in a VM, systemd in a dom0> question; I just sort of assumed they wa=
nted the L-1 virtualization *if possible*.  It sounds like `vm-other` would=
 be acceptable, particularly as a fall-back output if there's no way to get=
 Xen's picture of the cpuid.
>
> It looks like xen-cpuid is available on Fedora, Debian, Ubuntu, and the o=
ld Virt SIG CentOS packages; so I'd expect most packages to follow suit.  T=
hat's a place to start.
>
> Just to take the discussion all the way to its conclusion:
>
> - Supposing xen-cpuid isn't available, is there any other way to tell if =
Xen is running in a VM from dom0?
>
> - Would it make sense to expose that information somewhere, either in sys=
fs or in hypfs (or both?), so that eventually even systems which may not ge=
t the memo about packaging xen-cpuid will get support (or if the systemd gu=
ys would rather avoid executing another process if possible)?

Resurrecting this thread.

To recap:

Currently, `systemd-detect-virt` has the following  input / output table:

1. Xen on real hardware, domU: xen
2. Xen on real hardware, dom0: vm-other
3. Xen in a VM, domU: xen
4. Xen in aVM, dom0: vm-other

It's the dom0 lines (2 and 4) which are problematic; we'd ideally like
those to be `none` and `vm-other` (or the actual value, like `xen` or
`kvm`).

It looks like ATM, /proc/xen/capabilities will contain `control_d` if
it's a dom0.  Simply unilaterally returning `none` if
/proc/xen/capabilities contains `control_d` would correct the vast
majority of instances (since the number of instances of Xen on real
hardware is presumably higher than the number running virtualized).

Is /proc/xen/capabilities expected to stay around?  I don't see
anything equivalent in /dev/xen.

Other than adding a new interface to Xen, is there any way to tell if
Xen is running in a VM?  If we do need to expose an interface, what
would be the best way to do that?

 -George


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 15:30:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 15:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709156.1108441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqC0-0003hU-S8; Fri, 19 Apr 2024 15:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709156.1108441; Fri, 19 Apr 2024 15: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 1rxqC0-0003hN-Ot; Fri, 19 Apr 2024 15:30:24 +0000
Received: by outflank-mailman (input) for mailman id 709156;
 Fri, 19 Apr 2024 15:30:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J3rY=LY=gmail.com=rosbrookn@srs-se1.protection.inumbo.net>)
 id 1rxqBy-0003hC-T0
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 15:30:22 +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 bc5b3655-fe61-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 17:30:22 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-516d487659bso2572184e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 08: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: bc5b3655-fe61-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713540622; x=1714145422; 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=O+QTxnZWGbKSlWat3cNzg1IhaEvN4SBhcytuMlfd7Y8=;
        b=RcXiU/lZOn1BV4YuB5b8Ajb1XE2JIBEIN8gvgO19tGaIToOEcpgGNxex1W+prbpigG
         gRaTOIsIkm8ct2wJVRZyt5sDWYDm+ZlB+iqh0AqwwKIgxO+zBsUKP/OX+AvGoAO08Hay
         S/LH5lkGqPWK7kpnF/8NgNU8d+v+XPb4C/Mzik4JEyaEBzj0FALN0Dxm7JrrglitvCx4
         aB1I0NS6kwcDhhL8W+Wmz35VxRap1Phe6PjKo+dHXD8I0fJnUBxaJfI1/G61wvQ+HN8j
         CJkFRejmzdVZStttbs1T1EljKAU3cHBRxmv7iwh7Rnr7mJMRngZcs+HcQCW/xgGeqHvj
         G4Jw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713540622; x=1714145422;
        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=O+QTxnZWGbKSlWat3cNzg1IhaEvN4SBhcytuMlfd7Y8=;
        b=wcilm5YeZuWSnuaSIqX6KOlrhY8seYVPZnyT3AI9gcTozhHR2QFP/r+d+a1SbpepUs
         fH7yWMEakr+eftnlAYQTuLQiOHLv2VLWFPqcxQ1AIucqzD+2BrIFSVsb7kXQSPOB3cVo
         ZqCBrpMyAFGqNG+HQAhDQMOZs/JWqKGFjd+INoOFZ57f753Vy7br9OH7lX95cKTeG1ut
         P6ghkQDeKzpaOpwH3A1sp6ZekD0AZhcp7zy0oiZGedWIheeYoAzynp9atYBXhzgk9eQe
         MuNi5/kiH3ovsIgy6kUBNqt03RP3JcIZgNyCjqkgA4S56QL/EI/kRejLI4WyQODlMV38
         Yrag==
X-Gm-Message-State: AOJu0Yw7yYvzQhBUjY40V0OzUP85cj/3wVyWsSiN4yZ+OsW05+9Ca6bZ
	Re1bxfY2+Fh9U22fHvnwg2dlk88rSfWwO5VGf2Ayg13EBUszSO3bKnCHOmdyNqlHWPFWG4C2HlT
	eLud4jyFsmZvwr4wS+zfFXj0FghY=
X-Google-Smtp-Source: AGHT+IGWAgGPEGZrzgACnQuRw+xrNR3VBsC5j9g7lpFHSjGdNDN2CJbHuPDYQ/B6UFqkuAELBcWlcEGCY/rV6r5HWhQ=
X-Received: by 2002:a05:6512:4843:b0:516:d002:47cb with SMTP id
 ep3-20020a056512484300b00516d00247cbmr1586789lfb.43.1713540621304; Fri, 19
 Apr 2024 08:30:21 -0700 (PDT)
MIME-Version: 1.0
References: <20240419135120.830517-1-george.dunlap@cloud.com> <20240419135120.830517-2-george.dunlap@cloud.com>
In-Reply-To: <20240419135120.830517-2-george.dunlap@cloud.com>
From: Nick Rosbrook <rosbrookn@gmail.com>
Date: Fri, 19 Apr 2024 11:30:10 -0400
Message-ID: <CAEBZRSeAAk+bjao2-hnrXqV77gsaQGAxLxc--WWeBoYqnwfDCA@mail.gmail.com>
Subject: Re: [PATCH v2 2/3] golang/xenlight: Ensure comments aren't
 interpreted as docstrings
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 19, 2024 at 10:00=E2=80=AFAM George Dunlap <george.dunlap@cloud=
.com> wrote:
>
> Go has always interpreted a comment directly before a function as a
> docstring, so having the C function prototypes which the golang method
> is meant to wrap in the comment before was always a bit non-standard.
> However, recent versions of `go fmt` now attempt to normalize these
> docstrings as well, leading to strange changes, particularly if `go
> fmt` is run on save.
>
> Go through and put a space between non-docstring comments and methods,
> so that `go fmt` leaves the comments alone.
>
> No functional change.
>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>

Acked-by: Nick Rosbrook <rosbrookn@gmail.com>

Thanks,
Nick


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 15:31:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 15:31:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709160.1108451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqDE-0004FR-4T; Fri, 19 Apr 2024 15:31:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709160.1108451; Fri, 19 Apr 2024 15:31:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqDE-0004FK-1V; Fri, 19 Apr 2024 15:31:40 +0000
Received: by outflank-mailman (input) for mailman id 709160;
 Fri, 19 Apr 2024 15:31:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J3rY=LY=gmail.com=rosbrookn@srs-se1.protection.inumbo.net>)
 id 1rxqDD-0004FE-MH
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 15:31:39 +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 e975db22-fe61-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 17:31:37 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-516d68d7a8bso2070661e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 08:31: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: e975db22-fe61-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713540697; x=1714145497; 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=D5zJtn2TY2j58RPQBfS4+ArFvZha23oxxgG5twrkNxY=;
        b=GHvUZyvDjWf23PmM8cy6Va4hQF5SfzSmXdBxdKREYhs3Emj5Go1sHjPqFzwMtOuIuI
         YF5HsKNs19K/djaU5asZzJVSrU83jntqNzn2f6UtMlekBa4CM09GTioIaAwHaSl4HQZm
         CBIpf3Uhnwzqle9q/poQ6pwQZXeXz8WvvGwOHyiQ9GGIcmYdng/niVC83aUwdsRK0bv2
         Tk1CAObFmpCvnaYhCYSo+7Rwss08WYJZV3y6wSaxaEVn9QY9AKXkTIadE1EtpLh8eS38
         b6F6iNtn/ejyZmK6bn7LGnsJZksH7fLTFDA5DEJNjTHnGzXoep1wMTwa1mLmLj5CbdNp
         ka8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713540697; x=1714145497;
        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=D5zJtn2TY2j58RPQBfS4+ArFvZha23oxxgG5twrkNxY=;
        b=mg40Wfv+I3bao8aeY3hvxk8NyTzCncEjt5yY/SwQJ6EELFoiyA8/iYcaQ/WCQGQ98h
         Uab23tjHR1i9DLg6F1CkVzlh2UZq7NKGdhMb+h2beAlYQhbBLjxSbs0Y9nUGcNg2hB1U
         rdfdZIj/6DGaILGGG8FrXszDRJjme8N0i7fqw29MHCVfx74pyDJY9hpfHLywZVxds4eE
         E6tPmS55aArVlShaEewhXiHCYWGNKvjjCvS6a7G4hY0t67DTOhFo7lXs0WN1P+B3WCr9
         Cao3zuOWoTnekgnqvcVkqWMLl6a8QTh/t7v1FOxorF4oNXPvR1tvJjMyCUeqRgpeQ4AT
         khhA==
X-Gm-Message-State: AOJu0Yz0FxcveKvk0qTNLbpaQTRwq4D/7T+O0Iczkaz1iftmW7ZEnGbR
	8BbH/SLG1/kVcJ5QspOWUOK3LQ0cFSGt9yJkEVJ8Tt4Rph2S17gP6RoJ2eGemqNtrSTDt5vpZEx
	W4DNITrC1naJWOdxQwLDEm/3qAvY=
X-Google-Smtp-Source: AGHT+IFmpQ8tYKrCtGKAeLNvCoqUNdDf1Lx8KU22oiq1Cv6donsebfYMTIKMys+GK5jDphIf5qVSiUw9MrLye57W7rY=
X-Received: by 2002:a19:8c07:0:b0:51a:ca3f:75a2 with SMTP id
 o7-20020a198c07000000b0051aca3f75a2mr517753lfd.29.1713540697234; Fri, 19 Apr
 2024 08:31:37 -0700 (PDT)
MIME-Version: 1.0
References: <20240419135120.830517-1-george.dunlap@cloud.com> <20240419135120.830517-3-george.dunlap@cloud.com>
In-Reply-To: <20240419135120.830517-3-george.dunlap@cloud.com>
From: Nick Rosbrook <rosbrookn@gmail.com>
Date: Fri, 19 Apr 2024 11:31:26 -0400
Message-ID: <CAEBZRScVdncmY5HOPfzTRHdfY-_17Qvz3szcCJ1WpT1DSFCYfA@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] tools/golang: Run `go vet` as part of the build process
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 19, 2024 at 10:00=E2=80=AFAM George Dunlap <george.dunlap@cloud=
.com> wrote:
>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
> ---
> CC: Nick Rosbrook <rosbrookn@gmail.com>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> ---
>  tools/golang/xenlight/Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/tools/golang/xenlight/Makefile b/tools/golang/xenlight/Makef=
ile
> index c5bb6b94a8..645e7b3a82 100644
> --- a/tools/golang/xenlight/Makefile
> +++ b/tools/golang/xenlight/Makefile
> @@ -29,6 +29,7 @@ $(subst .gen.,.%.,$(GOXL_GEN_FILES)): gengotypes.py $(L=
IBXL_SRC_DIR)/libxl_types
>  # so that it can find the actual library.
>  .PHONY: build
>  build: xenlight.go $(GOXL_GEN_FILES)
> +       CGO_CFLAGS=3D"$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APP=
END_CFLAGS)" CGO_LDFLAGS=3D"$(call xenlibs-ldflags,light toollog) $(APPEND_=
LDFLAGS)" $(GO) vet
>         CGO_CFLAGS=3D"$(CFLAGS_libxenlight) $(CFLAGS_libxentoollog) $(APP=
END_CFLAGS)" CGO_LDFLAGS=3D"$(call xenlibs-ldflags,light toollog) $(APPEND_=
LDFLAGS)" $(GO) build -x
>
>  .PHONY: install
> --
> 2.25.1
>
Acked-by: Nick Rosbrook <rosbrookn@gmail.com>

Thanks,
Nick


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 15:52:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 15:52:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709175.1108462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqWv-0008Cb-NL; Fri, 19 Apr 2024 15:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709175.1108462; Fri, 19 Apr 2024 15: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 1rxqWv-0008CS-KZ; Fri, 19 Apr 2024 15:52:01 +0000
Received: by outflank-mailman (input) for mailman id 709175;
 Fri, 19 Apr 2024 15:52: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxqWu-0008CM-R1
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 15:52:00 +0000
Received: from mail-oa1-x2a.google.com (mail-oa1-x2a.google.com
 [2001:4860:4864:20::2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c127921f-fe64-11ee-b909-491648fe20b8;
 Fri, 19 Apr 2024 17:51:59 +0200 (CEST)
Received: by mail-oa1-x2a.google.com with SMTP id
 586e51a60fabf-222a9eae9a7so1131641fac.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 08:51:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c127921f-fe64-11ee-b909-491648fe20b8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713541918; x=1714146718; 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=52XWV8wGCSY1/Gl22iIBfbwOlsfTmnWzIfnJ7ho/Rw8=;
        b=Nu5nSAU8dgnGyskPjMlD3vL8oq0EtvnQct+sS+3U6Ey0WWI1hadlm+F3dmdb5SyYHC
         TD/AxL/9m6GcGzPTrUzcVMVePwF+M+h5XYw0bKSPeOUcb3u/VU5cK3IwxDSwMOGyWUTL
         YFDqrlSrGnITvFWMHL6dfqZCurUS6U0MIbJ3w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713541918; x=1714146718;
        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=52XWV8wGCSY1/Gl22iIBfbwOlsfTmnWzIfnJ7ho/Rw8=;
        b=jxbC4AHgxYatotbdz4uu9Xdd536xIpqpQPLEZoQNKwhXoIFac15eVHx+AcjBlo8v3i
         RQPOo5QRaiMl1Jg3Xa6eZv1W5SbMnN9iDIdwoX1o/iW+jNiPOdXe95OqwptMMEPuV4Tb
         OYhFtWna50iq2BCOtrcV5C3DARjj0tUlsCfpdKkDKImT8UMcZmkj0OvrIKPBFJCEqTql
         SfqEDI1CZ3kwRC56dWSPYOJNWglNos2jYLM4H19kf74PHTOPj+7bhued9SgyswG84Y2n
         SIkx17QxBZt7Uq83gcjZMq/6woBXIFESMfxqVwkx8GMW1Ls+JmF7YGyCDrjYJlTzHhmL
         nVXw==
X-Forwarded-Encrypted: i=1; AJvYcCVpBTnag6Wu4KAGdAYPVxK+czagIohBntJwYA+/IS8+fLCXOr8Ee2RII/nM9Qfjvam/k/PhD+huZrOnuahpo0kU0WvLI0ZHMc6yKXb9YXs=
X-Gm-Message-State: AOJu0YxQmZg7Hhd/MMlrVWiuXpgYMT82I1ePe5eoicEZIryLj2PXMQnx
	mj4ui+pGl2Df9qpfrKc89zC5kKNq97q0UPvrn/h4+oWRKgzaBU9Uv0g+uv01KR3NlNOMigQvFbK
	KG9k1cr/wevM8+r28/NxA5g/LlVNsO71gZCiV1Q==
X-Google-Smtp-Source: AGHT+IGkhTWytETLEuEomd/TqS1CcCyfnORNeJDUWkd9UdrDlLi7K23yWyHVjvmsiYoAe3jst2pRQdEaGia+jDSSgKE=
X-Received: by 2002:a05:6870:e0c8:b0:239:4:589b with SMTP id
 a8-20020a056870e0c800b002390004589bmr2733365oab.7.1713541918031; Fri, 19 Apr
 2024 08:51:58 -0700 (PDT)
MIME-Version: 1.0
References: <CA+zSX=Y4MwsDSd9oSG1NQyt==YAw9SeRdh=eJxTUhhOx57ihWg@mail.gmail.com>
 <4ee01a0f-063e-ef93-ac24-da387d5b3438@rabbit.lu> <a680ae62-7765-aa51-1edd-9a1a7e39e449@suse.com>
 <20b1a79c-23c1-93bc-2090-8052f143422c@rabbit.lu> <27a3e6a2-b150-1d75-c86f-dfa2b906b298@suse.com>
 <CA+zSX=ZCmmKQX7acx-oK4nSki9ONscxLP7E8t8USjdjXJ9UDpA@mail.gmail.com>
 <495946e9-191f-22fe-9ecf-08eb5af833ba@suse.com> <28e2fc47-aada-e394-35b3-252bd1c6d720@suse.com>
 <CA+zSX=bCC8A06t_gSpYCjxG1BZoC2EWnHhYAQtTM6b0WyzyZNA@mail.gmail.com> <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com>
In-Reply-To: <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 19 Apr 2024 16:51:46 +0100
Message-ID: <CA+zSX=Y+SuWyNFCKqKXRhXZCe6SK8ZbBdRQQzyg1FJAatR8rMQ@mail.gmail.com>
Subject: Re: Detecting whether dom0 is in a VM
To: Jan Beulich <jbeulich@suse.com>
Cc: zithro <slack@rabbit.lu>, xen-devel@lists.xenproject.org, 
	Juergen Gross <jgross@suse.com>, Roger Pau Monne <roger.pau@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 19, 2024 at 4:29=E2=80=AFPM George Dunlap <george.dunlap@cloud.=
com> wrote:
>
> On Fri, Jul 7, 2023 at 3:56=E2=80=AFPM George Dunlap <george.dunlap@cloud=
.com> wrote:
> >> >>> Xen's public interface offers access to the featuresets known / fo=
und /
> >> >>> used by the hypervisor. See XEN_SYSCTL_get_cpu_featureset, accessi=
ble
> >> >>> via xc_get_cpu_featureset().
> >> >>>
> >> >>
> >> >> Are any of these exposed in dom0 via sysctl, or hypfs?
> >> >
> >> > sysctl - yes (as the quoted name also says). hypfs no, afaict.
> >> >
> >> >>  SYSCTLs are
> >> >> unfortunately not stable interfaces, correct?  So it wouldn't be pr=
actical
> >> >> for systemd to use them.
> >> >
> >> > Indeed, neither sysctl-s nor the libxc interfaces are stable.
> >>
> >> Thinking of it, xen-cpuid is a wrapper tool around those. They may wan=
t
> >> to look at its output (and, if they want to use it, advise distros to
> >> also package it), which I think we try to keep reasonably stable,
> >> albeit without providing any guarantees.
> >
> >
> > We haven't had any clear guidance yet on what the systemd team want in =
the <xen in a VM, systemd in a dom0> question; I just sort of assumed they =
wanted the L-1 virtualization *if possible*.  It sounds like `vm-other` wou=
ld be acceptable, particularly as a fall-back output if there's no way to g=
et Xen's picture of the cpuid.
> >
> > It looks like xen-cpuid is available on Fedora, Debian, Ubuntu, and the=
 old Virt SIG CentOS packages; so I'd expect most packages to follow suit. =
 That's a place to start.
> >
> > Just to take the discussion all the way to its conclusion:
> >
> > - Supposing xen-cpuid isn't available, is there any other way to tell i=
f Xen is running in a VM from dom0?
> >
> > - Would it make sense to expose that information somewhere, either in s=
ysfs or in hypfs (or both?), so that eventually even systems which may not =
get the memo about packaging xen-cpuid will get support (or if the systemd =
guys would rather avoid executing another process if possible)?
>
> Resurrecting this thread.
>
> To recap:
>
> Currently, `systemd-detect-virt` has the following  input / output table:
>
> 1. Xen on real hardware, domU: xen
> 2. Xen on real hardware, dom0: vm-other
> 3. Xen in a VM, domU: xen
> 4. Xen in aVM, dom0: vm-other
>
> It's the dom0 lines (2 and 4) which are problematic; we'd ideally like
> those to be `none` and `vm-other` (or the actual value, like `xen` or
> `kvm`).
>
> It looks like ATM, /proc/xen/capabilities will contain `control_d` if
> it's a dom0.  Simply unilaterally returning `none` if
> /proc/xen/capabilities contains `control_d` would correct the vast
> majority of instances (since the number of instances of Xen on real
> hardware is presumably higher than the number running virtualized).
>
> Is /proc/xen/capabilities expected to stay around?  I don't see
> anything equivalent in /dev/xen.
>
> Other than adding a new interface to Xen, is there any way to tell if
> Xen is running in a VM?  If we do need to expose an interface, what
> would be the best way to do that?

Actually, the entire code for detection is here:

https://github.com/systemd/systemd/blob/f5fefec786e35ef7606e2b14e2530878b74=
ca879/src/basic/virt.c

The core issue seems to be this bit:

        /* Detect from CPUID */
        v =3D detect_vm_cpuid();
        if (v < 0)
                return v;
        if (v =3D=3D VIRTUALIZATION_VM_OTHER)
                other =3D true;
        else if (v !=3D VIRTUALIZATION_NONE)
                goto finish;

        /* If we are in Dom0 and have not yet finished, finish with
the result of detect_vm_cpuid */
        if (xen_dom0 > 0)
                goto finish;

Basically, the code expects that dom0 will be able to read the raw
virtualization CPUID leaves, and that the result will be
VIRTUALIZATION_NONE on real hardware.

But in fact, the result appears to be VIRTUALIZATION_VM_OTHER -- which
would mean that 1) the CPUID instruction for reading CPUID leaf 0x1
succeeded, 2) the 'hypervisor' bit was set, but 3) the signature at
the hypervisor information leaf (0x40000000) didn't match any
hypervisor (including XenVMMXenVMM, which it's looking for).

What do we do in regard to these for dom0?

 -George


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 15:57:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 15:57:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709181.1108472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqcE-00012j-9B; Fri, 19 Apr 2024 15:57:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709181.1108472; Fri, 19 Apr 2024 15:57:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxqcE-00012c-6J; Fri, 19 Apr 2024 15:57:30 +0000
Received: by outflank-mailman (input) for mailman id 709181;
 Fri, 19 Apr 2024 15:57: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=zESt=LY=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rxqcC-00012G-Ng
 for xen-devel@lists.xenproject.org; Fri, 19 Apr 2024 15:57:28 +0000
Received: from mail-ot1-x329.google.com (mail-ot1-x329.google.com
 [2607:f8b0:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 843df93d-fe65-11ee-94a3-07e782e9044d;
 Fri, 19 Apr 2024 17:57:26 +0200 (CEST)
Received: by mail-ot1-x329.google.com with SMTP id
 46e09a7af769-6eb848b5a2eso1273129a34.3
 for <xen-devel@lists.xenproject.org>; Fri, 19 Apr 2024 08:57: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: 843df93d-fe65-11ee-94a3-07e782e9044d
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713542245; x=1714147045; 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=v1wqwd2FUnXprA1Tf/TXp9+VIiYDPUSwlEXRH5KCSKs=;
        b=ldfwzn1tIRDCWJogNAATIY59KjGxeKoCf2y+MNCM+yuhUqqdB5ZupIFb8AvihbWTuc
         imfiTXVsUkmt+lbNdGwEiwOrGmZ59xQ5aay6TFO1bR/QP1P9IyWs0/f/kfGpFwHUW+3v
         xhu//Z1+INwcYJWvqo4kKLgXc5h6ffxps8DzI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713542245; x=1714147045;
        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=v1wqwd2FUnXprA1Tf/TXp9+VIiYDPUSwlEXRH5KCSKs=;
        b=qvQ4+i8WUUNPLXc9yQ5ahYSYWSHmZxAO5eRmPxsXEN6k/LD4b2euu9BK/USI2net6i
         bUj/PJXjcXpQzK2h1cd64P76xXKvUPTZVcLuhPCKt2tX/WtRYGBPIB4EidexfVaN3rkN
         +3E/K85WrCcojn9Vq9G7YxTJu706TqPi8Nv9tszfIc/yLY3G45Ec1bBj/pw5dD/LRgBt
         +5rLbqdN0KvT8R33RPV3/VSpVdwD1CsWM7Tl4FhC5SUbKeuMarhOyBinIuzsYwOQhb0d
         rKpGbmdWpq/G9dMJLa3Cv0dlZl5LM1Xz+PJFZWj+4AqkHE3pKtXdipSxNwGSXvpKktYN
         lRdg==
X-Gm-Message-State: AOJu0YxWzeK1eZp15t4Oqct0SNJgeCbopw+/meQOYILCQ4KUwHdmRGTv
	S8m5apM0uSSP/aXPlNoSryeddpuVB0ztnbB/NdZ7uIr7EmCLUBEc3RNhFtkS29uqhGpHlyKFQlR
	/XwKIFAxUgmO10RvfSjwrUIItea30PGt6ygAiTw==
X-Google-Smtp-Source: AGHT+IE9pfooUxVXwA1uFagO606qtYia2oifHW5pTgO25GiE2c6nB+/MG51rK4tbO1U0wqubq0H9JiDkJ3GqEmXBKo0=
X-Received: by 2002:a05:6870:3455:b0:221:8dd0:9920 with SMTP id
 i21-20020a056870345500b002218dd09920mr2812436oah.47.1713542245413; Fri, 19
 Apr 2024 08:57:25 -0700 (PDT)
MIME-Version: 1.0
References: <20240419135120.830517-1-george.dunlap@cloud.com> <CAEBZRSd=qboZhPYgLz0NxCBkzzRJZp-4eq1PxCuC=Gx5Zk2KLA@mail.gmail.com>
In-Reply-To: <CAEBZRSd=qboZhPYgLz0NxCBkzzRJZp-4eq1PxCuC=Gx5Zk2KLA@mail.gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 19 Apr 2024 16:57:14 +0100
Message-ID: <CA+zSX=bzTpZ6jdhufyKagykuUKdBPwzFmFwbWYLeJuBkgY9UZQ@mail.gmail.com>
Subject: Re: [PATCH v2 1/3] tools/golang: When returning pointers, actually
 allocate structrues
To: Nick Rosbrook <rosbrookn@gmail.com>
Cc: xen-devel@lists.xenproject.org, 
	Tobias Fitschen <tobias.fitschen@posteo.de>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 19, 2024 at 4:27=E2=80=AFPM Nick Rosbrook <rosbrookn@gmail.com>=
 wrote:
>
> On Fri, Apr 19, 2024 at 10:00=E2=80=AFAM George Dunlap <george.dunlap@clo=
ud.com> wrote:
> >
> > In a handful of cases, it was decided to return a pointer to a
> > structure rather than the plain structure itself, due to the size.
> > However, in these cases the structure was never allocated, leading to
> > a nil pointer exception when calling the relevant `fromC` method.
> >
> > Allocate structures before attempting to fill them in.
> >
> > Fixes: 453713b1750 ("golang/xenlight: Add host-related functionality")
> > Reported-by: Tobias Fitschen <tobias.fitschen@posteo.de>
> > Signed-off-by: George Dunlap <george.dunlap@cloud.com>
> > Tested-by: Tobias Fitschen <tobias.fitschen@posteo.de>
>
> Acked-by: Nick Rosbrook <rosbrookn@gmail.com>
>
> This is one of the reasons I don't like using named return values (if
> you can help it) and naked returns. When you declare the variable
> explicitly you are less likely to explicitly initialize it to nil. Or,
> it's a compile time error if you forget all together.

Yes, after having more experience in golang I wouldn't be opposed to
getting rid of all those now.  But as I'm hoping to backport this as a
bug fix, that would be a subsequent patch. :-)

Thanks,
 -George


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 16:57:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 16:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709188.1108481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxrYI-0003CX-MS; Fri, 19 Apr 2024 16:57:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709188.1108481; Fri, 19 Apr 2024 16:57:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxrYI-0003CQ-JC; Fri, 19 Apr 2024 16:57:30 +0000
Received: by outflank-mailman (input) for mailman id 709188;
 Fri, 19 Apr 2024 16:57: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 1rxrYH-0003C0-3k; Fri, 19 Apr 2024 16:57: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 1rxrYG-00081Q-Se; Fri, 19 Apr 2024 16:57: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 1rxrYG-0003Bw-Gr; Fri, 19 Apr 2024 16:57:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxrYG-0001Yw-GT; Fri, 19 Apr 2024 16:57:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZusgSiPsVDfgbFlqP/3LhIT91L/TsY2Vl88fqi3XbaI=; b=ARm+1jUr4HE5QqMYs5JeFcBn0v
	CMQCQGDNLp8igZIyHTeuMbB3v5Pzr45FGkMwXtlmYKwCRo0lMGCsjgwFAbjA6KsVv7uarU8DT+x5j
	lBkkmjBY5teaq3xezDaaIuyPENLRMwovVifEWD1VNvLh/rvGu93v2m19sG/GYncWKj0k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185737-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185737: 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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=8763eb782b2c349efb44900ebe82369bf89e0568
X-Osstest-Versions-That:
    xen=8763eb782b2c349efb44900ebe82369bf89e0568
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Apr 2024 16:57:28 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185737  2024-04-19 07:00:44 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 Fri Apr 19 17:29:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 17:29:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709197.1108492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxs32-0007ib-3U; Fri, 19 Apr 2024 17:29:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709197.1108492; Fri, 19 Apr 2024 17:29: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 1rxs32-0007iU-0D; Fri, 19 Apr 2024 17:29:16 +0000
Received: by outflank-mailman (input) for mailman id 709197;
 Fri, 19 Apr 2024 17:29: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 1rxs30-0007iK-Mr; Fri, 19 Apr 2024 17:29: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 1rxs30-00006Z-8v; Fri, 19 Apr 2024 17:29: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 1rxs2z-0003yb-Vy; Fri, 19 Apr 2024 17:29:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxs2z-00044w-VW; Fri, 19 Apr 2024 17:29:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zZaJmatB0XeONEKKTbeEo5NOb4dUFecig7mZniAIoW8=; b=WncB39qe4Z9syf2FQa2NvBdgTf
	ar6Af8f1GHeoIxGzS2J06PyMc4cv4vx7SDuysziT9b0yOOWYaqZkekYxmZoUoK+gUxJ/TNjYOfEut
	qyxg9svjGv7Ai4su4yuAeekrpPUQbC9MGpgmQsKuBrb1zSQAwA0hnrhdbYB7CypS/sYs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185740-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185740: 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=09cb855f33fb619c87d8d4250d3a980f568f151b
X-Osstest-Versions-That:
    xen=5495ed0cd2c5c5570819f6cbfbeecc1876450163
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Apr 2024 17:29:13 +0000

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

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                  09cb855f33fb619c87d8d4250d3a980f568f151b
baseline version:
 xen                  5495ed0cd2c5c5570819f6cbfbeecc1876450163

Last test of basis   185738  2024-04-19 07:01:10 Z    0 days
Testing same since   185740  2024-04-19 13:02:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Vaishali Thakkar <vaishali.thakkar@vates.tech>

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
   5495ed0cd2..09cb855f33  09cb855f33fb619c87d8d4250d3a980f568f151b -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 19 19:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 19 Apr 2024 19:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709208.1108501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxtqm-0006q8-5Q; Fri, 19 Apr 2024 19:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709208.1108501; Fri, 19 Apr 2024 19: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 1rxtqm-0006q1-2d; Fri, 19 Apr 2024 19:24:44 +0000
Received: by outflank-mailman (input) for mailman id 709208;
 Fri, 19 Apr 2024 19:24: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 1rxtql-0006pr-3L; Fri, 19 Apr 2024 19:24: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 1rxtqk-0002Ah-Pu; Fri, 19 Apr 2024 19:24: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 1rxtqk-0001j5-FR; Fri, 19 Apr 2024 19:24:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxtqk-0004IG-Ew; Fri, 19 Apr 2024 19: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lUimYKdZIQ4ogqSE49xAGq8TBflccbWOFsCkZt/AWTA=; b=vGryUxfQMip/IlPihYgHfv12S5
	6mKK8w9KQh5sWHNJtOz4xozIG5nsedruQhKo4Yfp1NW1rKRgtChl74IdU3twHgHEcRY6KgLT1bj0O
	ONU1MH4O82n/y7hfpmPRrBV7tBFh8Utkh0XKrlH2MztkiZmXHBYQL2+0ItWpt4go2rlA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185739-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 185739: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:<job status>:broken:regression
    qemu-mainline:test-armhf-armhf-libvirt:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-credit1:host-ping-check-xen:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:regression
    qemu-mainline:test-armhf-armhf-xl-raw:debian-di-install: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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu: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-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=62dbe54c24dbf77051bafe1039c31ddc8f37602d
X-Osstest-Versions-That:
    qemuu=c152379422a204109f34ca2b43ecc538c7d738ae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 19 Apr 2024 19:24:42 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 test-armhf-armhf-libvirt      5 host-install(5)        broken REGR. vs. 182707
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 182707
 test-armhf-armhf-xl-credit1  10 host-ping-check-xen      fail REGR. vs. 182707
 test-amd64-amd64-libvirt-vhd 22 leak-check/check         fail REGR. vs. 182707

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-raw      12 debian-di-install       fail baseline untested
 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-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-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                62dbe54c24dbf77051bafe1039c31ddc8f37602d
baseline version:
 qemuu                c152379422a204109f34ca2b43ecc538c7d738ae

Last test of basis   182707  2023-09-07 00:28:57 Z  225 days
Failing since        182723  2023-09-07 18:19:05 Z  225 days   19 attempts
Testing same since   185739  2024-04-19 09:09:21 Z    0 days    1 attempts

------------------------------------------------------------
448 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        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                                     broken  
 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                                 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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-libvirt host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Apr 20 00:27:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Apr 2024 00:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709227.1108512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxyZQ-00040i-6j; Sat, 20 Apr 2024 00:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709227.1108512; Sat, 20 Apr 2024 00:27:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rxyZQ-00040b-2v; Sat, 20 Apr 2024 00:27:08 +0000
Received: by outflank-mailman (input) for mailman id 709227;
 Sat, 20 Apr 2024 00:27: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 1rxyZO-00040R-41; Sat, 20 Apr 2024 00:27: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 1rxyZN-00009R-UP; Sat, 20 Apr 2024 00:27: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 1rxyZN-0001CQ-I3; Sat, 20 Apr 2024 00:27:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rxyZN-0007wg-HQ; Sat, 20 Apr 2024 00:27:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aG7kPz37GcZpw0+zxdPlnkTubAJ2SENtP27aKsfxQKk=; b=Jw9vK1Q80CfMdzeVmV5k1CDp66
	r3ehYlIirYfzJszpX8Zc/SkKDbO8gLDPAqiLzurRjFdOIJv4gBBUbwTzUdyckrcj8ceokTIiBGDBQ
	fB/lz+yMF6B7+zvoOeoDE9w/2e/bvKp7r54SX53tYKI1G3YmO+UjAgr60776WEGl21zU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185741-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185741: 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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=5495ed0cd2c5c5570819f6cbfbeecc1876450163
X-Osstest-Versions-That:
    xen=8763eb782b2c349efb44900ebe82369bf89e0568
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Apr 2024 00:27:05 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185737  2024-04-19 07:00:44 Z    0 days
Testing same since   185741  2024-04-19 17:08:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>
  Shawn Anastasio <sanastasio@raptorengineering.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
   8763eb782b..5495ed0cd2  5495ed0cd2c5c5570819f6cbfbeecc1876450163 -> master


From xen-devel-bounces@lists.xenproject.org Sat Apr 20 07:15:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Apr 2024 07:15:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709293.1108543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ry4wJ-0003oh-JT; Sat, 20 Apr 2024 07:15:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709293.1108543; Sat, 20 Apr 2024 07:15:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ry4wJ-0003oa-Ei; Sat, 20 Apr 2024 07:15:11 +0000
Received: by outflank-mailman (input) for mailman id 709293;
 Sat, 20 Apr 2024 07:15: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 1ry4wH-0003oQ-Am; Sat, 20 Apr 2024 07:15: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 1ry4wH-0007kJ-2t; Sat, 20 Apr 2024 07:15: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 1ry4wG-0006Xw-LK; Sat, 20 Apr 2024 07:15:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ry4wG-0004mD-Kv; Sat, 20 Apr 2024 07:15:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2STidj1xCc+UNsPh0sfL2SExlVnnfL8ETFooF6HVJro=; b=asukmuHz7i92kOMnDgxKJYoBZl
	LIJMR6TJolwgQPQkV7C596ztwpX5X+POnhhW/Birqdx20lhouAzbjlKyODd8Xll+SrvTMfMigsX2g
	mofNhs4B5k98r+9yo6dPLf8tyO35GubFtgJWSmv76+OlY64sSKPb5jSuNec+4BUBBRdk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185742-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185742: 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-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-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-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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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=09cb855f33fb619c87d8d4250d3a980f568f151b
X-Osstest-Versions-That:
    xen=5495ed0cd2c5c5570819f6cbfbeecc1876450163
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Apr 2024 07:15:08 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185741  2024-04-19 17:08:39 Z    0 days
Testing same since   185742  2024-04-20 00:40:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Vaishali Thakkar <vaishali.thakkar@vates.tech>

jobs:
 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
   5495ed0cd2..09cb855f33  09cb855f33fb619c87d8d4250d3a980f568f151b -> master


From xen-devel-bounces@lists.xenproject.org Sat Apr 20 09:41:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Apr 2024 09:41:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709334.1108556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ry7DR-0005O9-6e; Sat, 20 Apr 2024 09:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709334.1108556; Sat, 20 Apr 2024 09: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 1ry7DR-0005O2-3r; Sat, 20 Apr 2024 09:41:01 +0000
Received: by outflank-mailman (input) for mailman id 709334;
 Sat, 20 Apr 2024 09:40: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 1ry7DP-0005Ns-R0; Sat, 20 Apr 2024 09:40: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 1ry7DP-0002Wc-AK; Sat, 20 Apr 2024 09:40: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 1ry7DO-0004VV-OW; Sat, 20 Apr 2024 09:40:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ry7DO-0002PX-Nm; Sat, 20 Apr 2024 09: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=ZE3Ll/vzT+rCa8avHyhYDpzFQ7C7Z0rBVn4SvZYtMx0=; b=fFx+/W01OPpmf+j0nmVMyKaBio
	sLITRBR4LEI8c1/32S3VDmK/S38fF/HRiAcvH8cP2GqoYNv0H854ZdBXFmkNmV54CwXSd0hwF6Mrm
	JRb1hcFaa1F85tFKXYe8qQvqKRbaLAyg0o0shPBOmTBGh1yyrCul5WXKglOQH6gP5ap0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185743-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185743: 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-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-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-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=c38720b337f74337ec94c0fe2e97a7c2c57188ae
X-Osstest-Versions-That:
    libvirt=753064963ce35434c91e3b6ae6bfcd1754197db2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Apr 2024 09:40:58 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185736
 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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-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-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              c38720b337f74337ec94c0fe2e97a7c2c57188ae
baseline version:
 libvirt              753064963ce35434c91e3b6ae6bfcd1754197db2

Last test of basis   185736  2024-04-19 04:18:44 Z    1 days
Testing same since   185743  2024-04-20 04:20:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-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
   753064963c..c38720b337  c38720b337f74337ec94c0fe2e97a7c2c57188ae -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Apr 20 10:22:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Apr 2024 10:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709353.1108566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ry7rN-0002LY-AK; Sat, 20 Apr 2024 10:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709353.1108566; Sat, 20 Apr 2024 10:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ry7rN-0002LR-6a; Sat, 20 Apr 2024 10:22:17 +0000
Received: by outflank-mailman (input) for mailman id 709353;
 Sat, 20 Apr 2024 10:22: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 1ry7rL-0002LC-Jk; Sat, 20 Apr 2024 10:22: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 1ry7rL-0003Vv-F1; Sat, 20 Apr 2024 10:22: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 1ry7rL-0006Kb-6x; Sat, 20 Apr 2024 10:22:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ry7rL-0002FO-6b; Sat, 20 Apr 2024 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xeQGCiqFBLty+lTptqadI+0XfyGQVVqf/c6AjVrnmOQ=; b=S80u68uHQW8QMXv6X5xJQtdPsq
	GUdfESdKwZlSM9TZud7YZToFB+eRMagPv/5jBy/0BVW4n+HlkKemwBUXx38uZ2mwHdf3OpPRCDsY8
	jfxcwVrn2LzyghMmwPa3hDo1kO/dhEjN4NJLLGx7dCZF7fEPMY9aDdIuJi+MK9BpniR0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185745-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185745: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6780b3aba086395341d8476d43bef5e15c662c3a
X-Osstest-Versions-That:
    ovmf=0afb8743493853e30171f6000de51242e22a1eb8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Apr 2024 10:22:15 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6780b3aba086395341d8476d43bef5e15c662c3a
baseline version:
 ovmf                 0afb8743493853e30171f6000de51242e22a1eb8

Last test of basis   185726  2024-04-17 21:14:35 Z    2 days
Testing same since   185745  2024-04-20 08:41:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  abnchang <abnchang@amd.com>
  Abner Chang <abner.chang@amd.com>

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


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

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

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

Test harness 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
   0afb874349..6780b3aba0  6780b3aba086395341d8476d43bef5e15c662c3a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Apr 20 13:33:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Apr 2024 13:33:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709387.1108576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryApw-0008Uu-GN; Sat, 20 Apr 2024 13:33:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709387.1108576; Sat, 20 Apr 2024 13:33:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryApw-0008Un-Bz; Sat, 20 Apr 2024 13:33:00 +0000
Received: by outflank-mailman (input) for mailman id 709387;
 Sat, 20 Apr 2024 13:32: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 1ryApv-0008Ud-Cz; Sat, 20 Apr 2024 13:32: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 1ryApv-000793-62; Sat, 20 Apr 2024 13:32: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 1ryApu-0002gn-QZ; Sat, 20 Apr 2024 13:32:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryApu-0001cB-Q9; Sat, 20 Apr 2024 13:32:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=X3NBixmcpbHOZVnmZZ1XSta4vnafePtPKAZG4FsK0fY=; b=wyQASp11ombcXFMai+v/thb7oh
	YKDJwbSY0CSODalFhG06F1tXSxOYlt6LluroBpYXMLZGi6g7clvtGPPUlAGkpI8QdT6E2SuRvJFWR
	Bhtknkc4hhHAVqZzy/VtBm6HcMseeH27E2qBdI2JR9cg9T7Mrglr7h0aCLT7YX4Qs6UU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185744-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185744: 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-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-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-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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
X-Osstest-Versions-That:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 20 Apr 2024 13:32:58 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185744  2024-04-20 07:19:00 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 Apr 20 16:31:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 20 Apr 2024 16:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709414.1108586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryDbw-0005Pi-TQ; Sat, 20 Apr 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 709414.1108586; Sat, 20 Apr 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 1ryDbw-0005Pb-QV; Sat, 20 Apr 2024 16:30:44 +0000
Received: by outflank-mailman (input) for mailman id 709414;
 Sat, 20 Apr 2024 16:30:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=m9lK=LZ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1ryDbw-0005PV-9S
 for xen-devel@lists.xenproject.org; Sat, 20 Apr 2024 16:30:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 547f1920-ff33-11ee-9e3a-7da7ca7a9ce9;
 Sat, 20 Apr 2024 18:30:42 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.202])
 by support.bugseng.com (Postfix) with ESMTPSA id 35E064EE0739;
 Sat, 20 Apr 2024 18:30:40 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 547f1920-ff33-11ee-9e3a-7da7ca7a9ce9
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [XEN PATCH v3] automation/eclair_analysis: substitute deprecated service STD.emptrecd
Date: Sat, 20 Apr 2024 18:30:36 +0200
Message-Id: <717082cdacbcb1876920d0491e3e026dc9bd9631.1713630559.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The ECLAIR service STD.emptrecd (which checks for empty structures) is being
deprecated; hence, as a preventive measure, STD.anonstct (which checks for
structures with no named members, an UB in C99) is used here; the latter being
a more general case than the previous one, this change does not affect the
analysis. This new service is already supported by the current version of
ECLAIR.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in v3:
- Provide a better description
---
 automation/eclair_analysis/ECLAIR/toolchain.ecl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl b/automation/eclair_analysis/ECLAIR/toolchain.ecl
index 71a1e2cce029..86e9a79b5231 100644
--- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
+++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
@@ -44,8 +44,8 @@
 -doc_end
 
 -doc_begin="See Section \"6.19 Structures with No Members\" of "GCC_MANUAL"."
--config=STD.emptrecd,behavior+={c99,GCC_ARM64,specified}
--config=STD.emptrecd,behavior+={c99,GCC_X86_64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_ARM64,specified}
+-config=STD.anonstct,behavior+={c99,GCC_X86_64,specified}
 -doc_end
 
 -doc_begin="See Section \"6.18 Arrays of Length Zero\" of "GCC_MANUAL"."
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 21 00:01:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Apr 2024 00:01:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709446.1108596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryKdb-00008i-Vt; Sun, 21 Apr 2024 00:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709446.1108596; Sun, 21 Apr 2024 00:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryKdb-00008b-Sh; Sun, 21 Apr 2024 00:00:55 +0000
Received: by outflank-mailman (input) for mailman id 709446;
 Sun, 21 Apr 2024 00:00: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 1ryKdZ-00008O-UD; Sun, 21 Apr 2024 00:00: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 1ryKdZ-0003TV-Gy; Sun, 21 Apr 2024 00:00: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 1ryKdZ-0004MO-4i; Sun, 21 Apr 2024 00:00:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryKdZ-000190-3z; Sun, 21 Apr 2024 00: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=wqrC6GkSKUETMd4qGMyLSZ3iRmzMoWstBcngYzclKs4=; b=ElWvnvdxiBwGb/ufb93i6CCWkv
	rupX5r19AtNqQXiRUzT/9141QvXDyo5yiRz1pG+NbFMkxntk0NTrgsB/Gt9okZvulTd/p9EuE6ElN
	AJJoLYmhFAWbyS/G3pXXyazBsqB5Vhks/R1Pk3fPeawCAluwEK5T+NEn/cfZ2vcmOQ+8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185746-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185746: 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: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-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-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-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:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl: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-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-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:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:migrate-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:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd: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-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2: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-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=6741e066ec7633450d3186946035c1f80c4226b8
X-Osstest-Versions-That:
    linux=bf1e3b1cb1e002ed1590c91f1a24433b59322368
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Apr 2024 00:00:53 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185299  2024-04-10 14:42:59 Z   10 days
Failing since        185434  2024-04-13 11:42:42 Z    7 days    7 attempts
Testing same since   185746  2024-04-20 18:14:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Alban Boyé <alban.boye@protonmail.com>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Amit Bernstein <amitbern@amazon.com>
  Andrew Lunn <andrew@lunn.ch>
  Anna-Maria Behnsen <anna-maria@linutronix.de>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arthur Kiyanovski <akiyano@amazon.com>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bharath SM <bharathsm@microsoft.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Ye <bo.ye@mediatek.com>
  Boqun Feng <boqun.feng@gmail.com>
  Boris Burkov <boris@bur.io>
  Borislav Petkov (AMD) <bp@alien8.de>
  C Cheng <C.Cheng@mediatek.com>
  Carolina Jubran <cjubran@nvidia.com>
  Chancel Liu <chancel.liu@nxp.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Colin Ian King <colin.i.king@gmail.com>
  Cosmin Ratiu <cratiu@nvidia.com>
  Dai Ngo <dai.ngo@oracle.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Machon <daniel.machon@microchip.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  David Arinzon <darinzon@amazon.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Edward Adam Davis <eadavis@qq.com>
  Eelco Chaudron <echaudro@redhat.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geetha sowjanya <gakula@marvell.com>
  Gergo Koteles <soyer@irl.hu>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gwendal Grignou <gwendal@chromium.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Ian Rogers <irogers@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ilya Maximets <i.maximets@ovn.org>
  Ingo Molnar <mingo@kernel.org>
  Jacob Keller <jacob.e.keller@intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jan Kara <jack@suse.cz>
  Jason Wang <jasowang@redhat.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeffrey Hugo <quic_jhugo@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jian-Hong Pan <jhp@endlessos.org>
  Jiawei Fu (iBug) <i@ibugone.com>
  Jiawei Fu <i@ibugone.com>
  Jiri Benc <jbenc@redhat.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Ogness <john.ogness@linutronix.de>
  John Stultz <jstultz@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Justin Tee <justin.tee@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karel Balej <balejk@matfyz.cz>
  Kees Cook <keescook@chromium.org>
  Keith Busch <kbusch@kernel.org>
  Kelsey Steele <kelseysteele@linux.microsoft.com>
  kernelci.org bot <bot@kernelci.org>
  Kevin Loughlin <kevinloughlin@google.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kunwu Chan <chentao@kylinos.cn>
  Leon Romanovsky <leon@kernel.org>
  Lijo Lazar <lijo.lazar@amd.com>
  linke li <lilinke99@qq.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Manaf Meethalavalappu Pallikunhi <quic_manafm@quicinc.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Manjunath Patil <manjunath.b.patil@oracle.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Marek Vasut <marex@denx.de>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Markuss Broks <markuss.broks@gmail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Michael Chan <michael.chan@broadcom.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Luczaj <mhal@rbox.co>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Marshall <hubcap@omnibond.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  mosomate <mosomate@gmail.com>
  Mukesh Sisodiya <mukesh.sisodiya@intel.com>
  Máté Mosonyi <mosomate@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Nini Song <nini.song@mediatek.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavan Chebbi <pavan.chebbi@broadcom.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petr Tesarik <petr@tesarici.cz>
  Petre Rodan <petre.rodan@subdimension.ro>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ron Economos <re@w6rz.net>
  Saeed Mahameed <saeedm@nvidia.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Dionne-Riel <samuel@dionne-riel.com>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Shay Agroskin <shayagr@amazon.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Wunderlich <sw@simonwunderlich.de>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sven Eckelmann <sven@narfation.org>
  Takashi Iwai <tiwai@suse.de>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Tariq Toukan <tariqt@nvidia.com>
  Tasos Sahanidis <tasos@tasossah.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Huang <Tim.Huang@amd.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  xiabing <xiabing12@h-partners.com>
  Xiang Chen <chenxiang66@hisilicon.com>
  Yann Sionneau<ysionneau@kalrayinc.com>
  Ye Bin <yebin10@huawei.com>
  Yihang Li <liyihang9@huawei.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Yejian <zhengyejian1@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 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
   bf1e3b1cb1e0..6741e066ec76  6741e066ec7633450d3186946035c1f80c4226b8 -> tested/linux-6.1


From xen-devel-bounces@lists.xenproject.org Sun Apr 21 06:25:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Apr 2024 06:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709482.1108606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryQdd-0002Jz-Bn; Sun, 21 Apr 2024 06:25:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709482.1108606; Sun, 21 Apr 2024 06:25:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryQdd-0002Js-80; Sun, 21 Apr 2024 06:25:21 +0000
Received: by outflank-mailman (input) for mailman id 709482;
 Sun, 21 Apr 2024 06:25: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 1ryQdc-0002Jf-6o; Sun, 21 Apr 2024 06:25: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 1ryQdb-0002ry-Ph; Sun, 21 Apr 2024 06:25:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryQdb-0005vP-D8; Sun, 21 Apr 2024 06:25:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryQdb-0001kp-A3; Sun, 21 Apr 2024 06:25:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7BLyImDfh1/bTHn4B88K2RMvIWhOkYl5zQnbijWMqFU=; b=E2gdpbvwYaWsXdtO8ofzX5fvVr
	AH+/0p1K4LE60QChqeToXM78GhQtgOR0gtTc+UPR67fdQ3SfkHfEeDN34x9cZB4OBhJC9/VbK1V2u
	IbqZf69upPPR6dobV/EOHqqkfReQwYisZl76Xp5U5EY+HEJTBz/o8x9TATEfSiSmFrrw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185747-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185747: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Apr 2024 06:25:19 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-pvops               <job status>                 broken  in 185433
 build-arm64-libvirt             <job status>                 broken  in 185433
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 185168
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185747
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 185168
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 185433 like 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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:
 linux                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   25 days
Testing same since   185433  2024-04-13 11:16:55 Z    7 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-xsm broken
broken-job build-arm64-pvops broken
broken-job build-arm64-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 21 10:17:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Apr 2024 10:17:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709533.1108616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryUGL-0005mr-Kg; Sun, 21 Apr 2024 10:17:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709533.1108616; Sun, 21 Apr 2024 10:17:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryUGL-0005mk-HX; Sun, 21 Apr 2024 10:17:33 +0000
Received: by outflank-mailman (input) for mailman id 709533;
 Sun, 21 Apr 2024 10:17: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 1ryUGK-0005ma-6t; Sun, 21 Apr 2024 10:17: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 1ryUGJ-00085C-Ij; Sun, 21 Apr 2024 10:17: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 1ryUGI-0001Ot-Jm; Sun, 21 Apr 2024 10:17:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryUGI-00037i-JJ; Sun, 21 Apr 2024 10:17:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jkHv+1R5Eo+c4qvQ1QkQWo6hca1I7XqF8jHdiTNHnjA=; b=0PtUUkp8BZlfd7pvbvi2CZXbkJ
	Ig8fOjfRujixaQ1O12ufatfVE2G099SeWEZZbcKdnds2kTinc/7InlIfl1SvQ/CgY6/j0efXvJwLj
	UNuXhC3B/qCMMSj5nZk0RzaoUxehW385p18kYUkVa3GFNp8NabB84aO9HE4krlQW3Ayc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185748-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185748: 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-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-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-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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
X-Osstest-Versions-That:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Apr 2024 10:17:30 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185748  2024-04-21 01:52:08 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 Apr 21 16:32:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Apr 2024 16:32:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709623.1108626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rya6T-0001Lj-Nd; Sun, 21 Apr 2024 16:31:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709623.1108626; Sun, 21 Apr 2024 16:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rya6T-0001La-Ik; Sun, 21 Apr 2024 16:31:45 +0000
Received: by outflank-mailman (input) for mailman id 709623;
 Sun, 21 Apr 2024 16:31:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rya6R-0001LQ-Od; Sun, 21 Apr 2024 16:31:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rya6R-0007FJ-Ep; Sun, 21 Apr 2024 16:31:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rya6R-0006tZ-07; Sun, 21 Apr 2024 16:31:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rya6Q-0004Di-Vy; Sun, 21 Apr 2024 16:31:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=i6C5rtBzWjmQCHYvQ8lCQk5cVtNZ4hoROyLMK5WK+TU=; b=TSNkEzcHZH95Arm0D+pQU0Kc1G
	zaDCBuqlkjQV7Kr3GeY3kb2iJq/X4UmYQy94hAPJJUvdEAH8UBN+8nlKg31S85KoVlGZZG42C7J5o
	ITA6UF4htBrlG9TkzcmabccW1T1e9Tj6NRHTAvprk1R/3kYs8vrzbwSIRI2yumCIMsCw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185749-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185749: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start:fail:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Apr 2024 16:31:42 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-libvirt             <job status>                 broken  in 185433
 build-arm64-pvops               <job status>                 broken  in 185433
 test-arm64-arm64-libvirt-raw 13 guest-start              fail REGR. vs. 185168
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185749
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-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-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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:
 linux                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   25 days
Testing same since   185433  2024-04-13 11:16:55 Z    8 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-xsm broken
broken-job build-arm64-libvirt broken
broken-job build-arm64-pvops broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Apr 21 22:18:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Apr 2024 22:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709652.1108636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryfVb-0006gv-Im; Sun, 21 Apr 2024 22:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709652.1108636; Sun, 21 Apr 2024 22:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryfVb-0006go-Fs; Sun, 21 Apr 2024 22:18:03 +0000
Received: by outflank-mailman (input) for mailman id 709652;
 Sun, 21 Apr 2024 22:18: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 1ryfVa-0006ge-9e; Sun, 21 Apr 2024 22:18: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 1ryfVa-0005Sm-1t; Sun, 21 Apr 2024 22:18: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 1ryfVZ-0004ny-OU; Sun, 21 Apr 2024 22:18:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryfVZ-0003fj-Nx; Sun, 21 Apr 2024 22:18: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=fhq7OxPWRRCv0zhvjCYqJxYNFJFW8Za1Was3aGcauIg=; b=Fck728y4YZeDeDaPFr0sG8rxwF
	qObKCoqhAj9WMYcmvgNtfl1PKwj3ar7jrujXOHuNxjGa1NdAcAMCNib61rqr4UkS0wJX3+Z7xtgm7
	79JVzdajBMPJwR4G6X458uPr79W8mMS0fFQYQbEyvB2K2ZzzrWuw1rLpiyqHXhgmWmFE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185750-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185750: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:host-ping-check-native:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-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
    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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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
X-Osstest-Versions-This:
    linux=977b1ef51866aa7170409af80740788d4f9c4841
X-Osstest-Versions-That:
    linux=586b5dfb51b962c1b6c06495715e4c4f76a7fc5a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 21 Apr 2024 22:18:01 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 185752-retest
 test-armhf-armhf-xl        6 host-ping-check-native fail pass in 185752-retest

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

version targeted for testing:
 linux                977b1ef51866aa7170409af80740788d4f9c4841
baseline version:
 linux                586b5dfb51b962c1b6c06495715e4c4f76a7fc5a

Last test of basis   185347  2024-04-12 05:19:23 Z    9 days
Failing since        185442  2024-04-13 14:48:28 Z    8 days    6 attempts
Testing same since   185750  2024-04-21 12:13:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aaro Koskinen <aaro.koskinen@iki.fi>
  Abhinav Kumar <quic_abhinavk@quicinc.com>
  Adam Dunlap <acdunlap@google.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Ai Chao <aichao@kylinos.cn>
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Constantino <dreaming.about.electric.sheep@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Amir Goldstein <amir73il@gmail.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andrew Jones <ajones@ventanamicro.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Animesh Manna <animesh.manna@intel.com>
  Anshuman Khandual <anshuman.khandual@arm.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Asbjørn Sloth Tønnesen <ast@fiberby.net>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bart Van Assche <bvanassche@acm.org>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bharath SM <bharathsm@microsoft.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Carolina Jubran <cjubran@nvidia.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Christian König <christian.koenig@amd.com>
  Christian König <christian.koenig@amd.com> (v1)
  Christian König <ckoenig.leichtzumerken@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuck Lever <chuck.lever@oracle.com>
  Coly Li <colyli@suse.de>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Marussi <cristian.marussi@arm.com>
  Damien Le Moal <dlemoal@kernel.org>
  Daniel Golle <daniel@makrotopia.org>
  Daniel Machon <daniel.machon@microchip.com>
  Daniel Sneddon <daniel.sneddon@linux.intel.com>
  Danilo Krummrich <dakr@redhat.com>
  Danny Lin <danny@orbstack.dev>
  Dapeng Mi <dapeng1.mi@linux.intel.com>
  Dave Airlie <airlied@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Matlack <dmatlack@google.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dexuan Cui <decui@microsoft.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Dmitry Safonov <0x7f454c46@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Eric Van Hensbergen <ericvh@kernel.org>
  Fabio Estevam <festevam@denx.de>
  Felix Fietkau <nbd@nbd.name>
  Felix Kuehling <felix.kuehling@amd.com>
  Florian Westphal <fw@strlen.de>
  Frank Li <Frank.Li@nxp.com>
  Fudongwang <fudong.wang@amd.com>
  Gavin Shan <gshan@redhat.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Gerd Bayer <gbayer@linux.ibm.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Haiyue Wang <haiyue.wang@intel.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
  Harish Kasiviswanthan <Harish.Kasiviswanthan@amd.com>
  Harry Wentland <harry.wentland@amd.com>
  Herbert Xu <herbert@gondor.apana.org.au>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Huayu Zhang <zhanghuayu1233@qq.com>
  Igor Pylypiv <ipylypiv@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ilya Dryomov <idryomov@gmail.com>
  Ilya Maximets <i.maximets@ovn.org>
  Ingo Molnar <mingo@kernel.org>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  James Bottomley <James.Bottomley@HansenPartnership.com>
  Jammy Huang <jammy_huang@aspeedtech.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Gunthorpe <jgg@nvidia.com>
  Jason Wang <jasowang@redhat.com>
  Jeff Johnson <quic_jjohnson@quicinc.com> (v2)
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jeongjun Park <aha310510@gmail.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joakim Sindholt <opensource@zhasha.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  John Stultz <jstultz@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Jouni Högander <jouni.hogander@intel.com>
  Julian Taylor <julian.taylor@1und1.de>
  Justin Stitt <justinstitt@google.com>
  Karthik Poosa <karthik.poosa@intel.com>
  Kees Cook <keescook@chromium.org>
  Kefeng Wang <wangkefeng.wang@huawei.com>
  Kenneth Feng <kenneth.feng@amd.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kevin Loughlin <kevinloughlin@google.com>
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuogee Hsieh <quic_khsieh@quicinc.com>
  Lang Yu <Lang.Yu@amd.com>
  Laura Nao <laura.nao@collabora.com>
  Lei Chen <lei.chen@smartx.com>
  Leon Romanovsky <leon@kernel.org>
  Li Ma <li.ma@amd.com>
  Li Nan <linan122@huawei.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Like Xu <likexu@tencent.com>
  lima1002 <li.ma@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lokesh Gidra <lokeshgidra@google.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Luke D. Jones <luke@ljones.dev>
  Lyude Paul <lyude@redhat.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Ruhmann <ruhmann@luis.uni-hannover.de>
  Marc Zyngier <maz@kernel.org>
  Marcin Szycik <marcin.szycik@linux.intel.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Rutland <mark.rutland@arm.com>
  Mark Zhang <markzhang@nvidia.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matthew Auld <matthew.auld@intel.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Ripard <mripard@kernel.org>
  Maíra Canal <mcanal@igalia.com>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael Kelley <mhklinux@outlook.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
  Miguel Ojeda <ojeda@kernel.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miklos Szeredi <mszeredi@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Mingwei Zhang <mizhang@google.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Namhyung Kim <namhyung@kernel.org>
  Naohiro Aota <naohiro.aota@wdc.com>
  Naoya Horiguchi <nao.horiguchi@gmail.com>
  Nathan Chancellor <nathan@kernel.org>
  Nathan Lynch <nathanl@linux.ibm.com>
  NeilBrown <neilb@suse.de>
  Nianyao Tang <tangnianyao@huawei.com>
  Oleg Nesterov <oleg@redhat.com>
  Oscar Salvador <osalvador@suse.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Pekka Paalanen <pekka.paalanen@collabora.com>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Peter Xu <peterx@redhat.com>
  Petr Tesarik <petr.tesarik1@huawei-partners.com>
  Phillip Lougher <phillip@squashfs.org.uk>
  Pierre Gondois <pierre.gondois@arm.com>
  Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
  Pin-yen Lin <treapking@chromium.org>
  Prasad Pandit <pjp@fedoraproject.org>
  Qiang Zhang <qiang4.zhang@intel.com>
  Qu Wenruo <wqu@suse.com>
  Raag Jadav <raag.jadav@intel.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Rik van Riel <riel@surriel.com>
  Rob Clark <robdclark@chromium.org>
  Rob Clark <robdclark@gmail.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Li <roman.li@amd.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sandipan Das <sandipan.das@amd.com>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Serge Semin <fancer.lancer@gmail.com>
  shaoyunl <shaoyun.liu@amd.com>
  Shawn Guo <shawnguo@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shenghao Ding <shenghao-ding@ti.com>
  Shengyu Li <shengyu.li.evgeny@gmail.com>
  Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
  Shivaprasad G Bhat <sbhat@linux.ibm.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Song Liu <song@kernel.org>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Stephen Boyd <sboyd@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  Sven Schnelle <svens@linux.ibm.com>
  Takashi Iwai <tiwai@suse.de>
  Tao Su <tao1.su@linux.intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tariq Toukan <tariqt@nvidia.com>
  Tejun Heo <tj@kernel.org>
  Thierry Reding <treding@nvidia.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tim Harvey <tharvey@gateworks.com>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Tony Luck <tony.luck@intel.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Vasant Hegde <vasant.hegde@amd.com>
  Vasily Gorbik <gor@linux.ibm.com>
  Vidya Srinivas <vidya.srinivas@intel.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vitalii Torshyn <vitaly.torshyn@gmail.com>
  Vitaly Rodionov <vitalyr@opensource.cirrus.com>
  Vlastimil Babka <vbabka@suse.cz>
  Wachowski, Karol <karol.wachowski@intel.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Xianting Tian <xianting.tian@linux.alibaba.com>
  xinhui pan <xinhui.pan@amd.com>
  xiongxin <xiongxin@kylinos.cn>
  Xiubo Li <xiubli@redhat.com>
  Xuchun Shang <xuchun.shang@linux.alibaba.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yanjun.Zhu <yanjun.zhu@linux.dev>
  Yaxiong Tian <tianyaxiong@kylinos.cn>
  Ye Li <ye.li@broadcom.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  Yu Kuai <yukuai3@huawei.com>
  Yuanhe Shu <xiangzao@linux.alibaba.com>
  Yuntao Wang <ytcoode@gmail.com>
  Yuri Benditovich <yuri.benditovich@daynix.com>
  Zack Rusin <zack.rusin@broadcom.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zhongwei <zhongwei.zhang@amd.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          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                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-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
   586b5dfb51b9..977b1ef51866  977b1ef51866aa7170409af80740788d4f9c4841 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Apr 21 23:57:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 21 Apr 2024 23:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709662.1108645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryh40-0001zS-LH; Sun, 21 Apr 2024 23:57:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709662.1108645; Sun, 21 Apr 2024 23: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 1ryh40-0001zL-Id; Sun, 21 Apr 2024 23:57:40 +0000
Received: by outflank-mailman (input) for mailman id 709662;
 Sun, 21 Apr 2024 23:57: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=/9Ol=L2=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1ryh3z-0001zF-Fa
 for xen-devel@lists.xenproject.org; Sun, 21 Apr 2024 23:57:39 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee41212b-003a-11ef-9e3a-7da7ca7a9ce9;
 Mon, 22 Apr 2024 01:57:37 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-516d2600569so4798312e87.0
 for <xen-devel@lists.xenproject.org>; Sun, 21 Apr 2024 16:57:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee41212b-003a-11ef-9e3a-7da7ca7a9ce9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713743857; x=1714348657; 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=WXzbfWU/cv59hlsArAtixP8QdoqZrrFUOUzSvxpRvZc=;
        b=KnjYRph00KpaeHlrgcWBa6yR+ZimHtjRoDqgvf0xguUBSsEi9yRSiNWCQuvtJcgt6r
         SaxHpxkNa+KPqqhpfigm2UZhl4yfrNmbPXRky48iP1hwdJxuXjWWmYxa38/US2yheSaf
         +81i1w2nNbhvXPCp3MiXDF9tNoa0Tq931bNvmrYMuDubvFBtUSgYW/jhlJ6VEZiXTWN3
         VZXYIiRLWYbuvzfqDhiNQEcRbIC/3Pr/FOVHcgytYIHl0fqNN5e+QjEA/AXBf5aNQOZn
         raeWXaofy1/GKgjWE/UfJ3ORFmC0l/oFyXgF+6/ZFKpoif/L6F8ZBljMzAwf1ljsjzjd
         9mGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713743857; x=1714348657;
        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=WXzbfWU/cv59hlsArAtixP8QdoqZrrFUOUzSvxpRvZc=;
        b=bp/N6fbbjadYtBUneU1LDTcau+M9JWUfAJt0FYBlIFTUwhErReq28UJkYIa/IZNDru
         K9om/BfK0mnsoQ1cHsxBy+NXS/0PRuptrBiXA5WfarmTfIRz2qA3S+0BJloFcGdC+X7G
         Q98MCjmAKr6OmuCJ/4Xu0i0cPmaDxzrTNB0TWEtk5udrmrvUB4r+8snhhyNrbJ7Jv1SG
         +om2YZtNdVc4cdCmML3jH0dJ83s+8buq0yoCvNvp0uZfvbJDFz4JLFl4uz6HH7rWKA2F
         KvgPAR3JILnW+8vD7IH6xE+DE66AuaQSLS4j8J3tyA/+j5Jjje4fEpXELmgXZBxsRkOS
         ilzA==
X-Forwarded-Encrypted: i=1; AJvYcCXFCJmYgi/BJqh3c/x+5wQyxzH8YJhu0MGFuWLzNOv16e3/E7BFYw8xy8PIsssl8BWsX0yi6TJBs1wiPVO3cTKrVuzLEcfZqdQV91clUUQ=
X-Gm-Message-State: AOJu0YywmEzXfsto2BhzEPPdLzBqObq1fsZ/zZN6hAcFIy/rPz79JIpA
	yDoX3Rg3GVdC/kIjzarGcLfqSN98eRbcCLCFk9+vW9o6P3eMCsy6ErfXbTwxhnK3Z3ymXx5Cwy+
	bbytNwt5H9QownKKC1tagX8g8w0Q=
X-Google-Smtp-Source: AGHT+IGzPXEXFKo9eCpXdx+pp1GxTkh0dDHdAlbTT0vcN8u07BNk4pvX9s4+f4OPe8hmlkxIPMNUK89awtX0BqJ+mnA=
X-Received: by 2002:a19:f80b:0:b0:51a:b9f5:3416 with SMTP id
 a11-20020a19f80b000000b0051ab9f53416mr4883102lff.39.1713743856733; Sun, 21
 Apr 2024 16:57:36 -0700 (PDT)
MIME-Version: 1.0
References: <20231011193444.81254-1-jandryuk@gmail.com> <CAKf6xpuJe6Cza6bow3QxDGf1viu0kish7Y8YRN8haXL1oEF3HA@mail.gmail.com>
 <CAKf6xpv2oDpPB3wWh=Fz_ahDVgmvw2MSj_q3RYqQ8NG6km5Tuw@mail.gmail.com> <ZgWxYvQH4A_Vh1i4@google.com>
In-Reply-To: <ZgWxYvQH4A_Vh1i4@google.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Sun, 21 Apr 2024 19:57:24 -0400
Message-ID: <CAKf6xpu+8Uh263NqKm1qFkYG9VzHH-p4UZ=x+Fm+-SHR7J5=wQ@mail.gmail.com>
Subject: Re: [PATCH v3] Input: xen-kbdfront - drop keys to shrink modalias
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-kernel@vger.kernel.org, Phillip Susi <phill@thesusis.net>, 
	stable@vger.kernel.org, Mattijs Korpershoek <mkorpershoek@baylibre.com>, 
	linux-input@vger.kernel.org, xen-devel <xen-devel@lists.xenproject.org>, 
	Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Dmitry,

On Thu, Mar 28, 2024 at 2:05=E2=80=AFPM Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
>
> Hi Jason,
>
> On Wed, Mar 20, 2024 at 01:42:27PM -0400, Jason Andryuk wrote:
> > Hi Dmitry,
> >
> > Do you have any feedback, or can you pick up this patch?  It solves a
> > real issue affecting udev, which crashes the Debian installer and
> > breaks the mouse for Gnome.
> >
> > Or would you be okay if this patch went in via the Xen tree?
>
> I'd rather not. Could you please ping me in 2 weeks on this. I promise
> we find a solution before the next release.

It's been ~3 weeks.  Any ideas?

If you think this patch should be pursued in this form, I'd like to
post a v4 that adds BTN_DPAD_{UP,DOWN,LEFT,RIGHT} on the off chance
someone wants to use a controller.  I dropped them initially since
they are not keyboard keys, but button presses are delivered through
the keyboard.  Hence, they should be included.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 02:27:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 02:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709668.1108656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryjOv-0002RV-Ho; Mon, 22 Apr 2024 02:27:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709668.1108656; Mon, 22 Apr 2024 02:27:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryjOv-0002RO-EX; Mon, 22 Apr 2024 02:27:25 +0000
Received: by outflank-mailman (input) for mailman id 709668;
 Mon, 22 Apr 2024 02:27:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryjOt-0002RC-Fd; Mon, 22 Apr 2024 02:27: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 1ryjOt-0001ZV-4w; Mon, 22 Apr 2024 02:27: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 1ryjOs-00061V-JI; Mon, 22 Apr 2024 02:27:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryjOs-0006bA-HJ; Mon, 22 Apr 2024 02:27:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BZiAgEtCMJ6EQq6A1gdrdS+nNgpxDx1/DXutgdmMI78=; b=Ga2A/W/L41A4DJmH3YMILd00Aj
	D2nYS78NrnPiw70aVdHhbv1z/SWW9GnMIAAR9wY41ATncKexzAbQG7s72ZN1ZCoz9TgTplcyKsXFa
	EHzAf3zvpFS6A9xkN4WpeHWxiHGMJbmBEnEQGq+91GC8XlpkRtXSixUSyWEXn6IiDavo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185751-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185751: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 02:27:22 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops               <job status>                 broken  in 185433
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-libvirt             <job status>                 broken  in 185433
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail REGR. vs. 185168
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185751
 test-arm64-arm64-libvirt-raw 13 guest-start      fail in 185749 pass in 185751
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 185749

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 185168
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-thunderx 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-arm64-arm64-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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:
 linux                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   26 days
Testing same since   185433  2024-04-13 11:16:55 Z    8 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-arm64-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:10:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709695.1108666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rynoV-0002ZH-4b; Mon, 22 Apr 2024 07:10:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709695.1108666; Mon, 22 Apr 2024 07: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 1rynoV-0002ZA-1G; Mon, 22 Apr 2024 07:10:07 +0000
Received: by outflank-mailman (input) for mailman id 709695;
 Mon, 22 Apr 2024 07:10:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rynoT-0002Bg-L0
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:10:05 +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 56a56ebe-0077-11ef-9e3a-7da7ca7a9ce9;
 Mon, 22 Apr 2024 09:10:02 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-41a4f291f60so4603045e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:10: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
 j1-20020a05600c1c0100b00419ea5fb0cbsm7685409wms.42.2024.04.22.00.10.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 00: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: 56a56ebe-0077-11ef-9e3a-7da7ca7a9ce9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713769802; x=1714374602; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Pj6xSBnn/d8QNwZ1zVJ+yXsD5PHFOUAG2cWTl2uga10=;
        b=gXHX2m2jxNENtYXAxpwSCaudFRDbSGzJdPaXUq/DXbbKfouX9npcaWO2UN2CF8bcl1
         IdTrQAeBC85z7w7krRlpCvRAtd7Leaa6XKD5zZXiHs222J9YdrGdkiq8lNSZqj/t2FOx
         L92S4AbhqT7bNNIt9yLp1it6PEuiDyuzzzKF1n5MCEj6wy2yw54q43LuhmINqvgrRIo0
         +U4znInYK+ohtbm/xEpIo+fceUpcMXt3/vTALhTilEUCGU2yifcaA+F4Aki7np3q1IAI
         4SdWs4NJM9UiPHmP7i/rjac43SpueFNHDpLTPKFsnf8JJ2k0FIZ8dkLgDgXrVQb5vGsf
         yAHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713769802; x=1714374602;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Pj6xSBnn/d8QNwZ1zVJ+yXsD5PHFOUAG2cWTl2uga10=;
        b=E2OHDHnrv7b2o5NNv3emtgaWrjquS5jVeXpmXT4D6ZVHJc/bsBCN3MhbKXpGuwUSo0
         /Ss2WDQDmIRQXwnRCkCHr3kbHzLLCoTQdQSwqnJKVVCKtF1gj2b5Y+iLHBab40JEAVxo
         tyuH5dEEiGupMGFvCl7J8hlceJT9+ywCN1DSuYs3p6u9Q04nagpdUHnpQiFWwRNjuAl8
         mz2QFMiMHgtmSa4dPdS9mvnvFnrA9pzPbJ7R7biGtfsxoyvI93Iw2JtKQM9tjzv2cpn7
         WSWEHn7uDP6BgZ0iPuQQXDgl8p0Rm1W2XGmcz5tOoeT7Xb/0iauz/4Nc7GxAkvL3SvfN
         E5BA==
X-Forwarded-Encrypted: i=1; AJvYcCWhKAjOivgGEWod87za19ib7keIeCiqabijWzQ20XDNoZ9cauxkLMn0jDuu+8envJsp9/MwfH4fFGyjtvxflvGhpuCQrldq9W6h7eBEugA=
X-Gm-Message-State: AOJu0YyO/lfdj/Df7poCWB+gjGu7dugDIYEO2AHxtYW15Jqh44+PM1UN
	KZnjGIaVp8a/E2tzkrhDTIgPJW1fQHz8uIB/roHDYoDrQxiwWQ2RbYn3/y9IcA==
X-Google-Smtp-Source: AGHT+IG1eV0+/CJy58cc+C0rSsXzhILIWcADitEzuF9NBp6L6xcaxUecmqbbG26ZuQRMzDYd8J8S3Q==
X-Received: by 2002:a05:600c:3504:b0:418:ef65:4b0e with SMTP id h4-20020a05600c350400b00418ef654b0emr5774608wmq.17.1713769802129;
        Mon, 22 Apr 2024 00:10:02 -0700 (PDT)
Message-ID: <2a8f601c-2dd9-4cd5-910b-2af09771a9d0@suse.com>
Date: Mon, 22 Apr 2024 09:10:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Detecting whether dom0 is in a VM
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: zithro <slack@rabbit.lu>, xen-devel@lists.xenproject.org,
 Juergen Gross <jgross@suse.com>, Roger Pau Monne <roger.pau@cloud.com>
References: <CA+zSX=Y4MwsDSd9oSG1NQyt==YAw9SeRdh=eJxTUhhOx57ihWg@mail.gmail.com>
 <4ee01a0f-063e-ef93-ac24-da387d5b3438@rabbit.lu>
 <a680ae62-7765-aa51-1edd-9a1a7e39e449@suse.com>
 <20b1a79c-23c1-93bc-2090-8052f143422c@rabbit.lu>
 <27a3e6a2-b150-1d75-c86f-dfa2b906b298@suse.com>
 <CA+zSX=ZCmmKQX7acx-oK4nSki9ONscxLP7E8t8USjdjXJ9UDpA@mail.gmail.com>
 <495946e9-191f-22fe-9ecf-08eb5af833ba@suse.com>
 <28e2fc47-aada-e394-35b3-252bd1c6d720@suse.com>
 <CA+zSX=bCC8A06t_gSpYCjxG1BZoC2EWnHhYAQtTM6b0WyzyZNA@mail.gmail.com>
 <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com>
 <CA+zSX=Y+SuWyNFCKqKXRhXZCe6SK8ZbBdRQQzyg1FJAatR8rMQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CA+zSX=Y+SuWyNFCKqKXRhXZCe6SK8ZbBdRQQzyg1FJAatR8rMQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 17:51, George Dunlap wrote:
> On Fri, Apr 19, 2024 at 4:29 PM George Dunlap <george.dunlap@cloud.com> wrote:
>>
>> On Fri, Jul 7, 2023 at 3:56 PM George Dunlap <george.dunlap@cloud.com> wrote:
>>>>>>> Xen's public interface offers access to the featuresets known / found /
>>>>>>> used by the hypervisor. See XEN_SYSCTL_get_cpu_featureset, accessible
>>>>>>> via xc_get_cpu_featureset().
>>>>>>>
>>>>>>
>>>>>> Are any of these exposed in dom0 via sysctl, or hypfs?
>>>>>
>>>>> sysctl - yes (as the quoted name also says). hypfs no, afaict.
>>>>>
>>>>>>  SYSCTLs are
>>>>>> unfortunately not stable interfaces, correct?  So it wouldn't be practical
>>>>>> for systemd to use them.
>>>>>
>>>>> Indeed, neither sysctl-s nor the libxc interfaces are stable.
>>>>
>>>> Thinking of it, xen-cpuid is a wrapper tool around those. They may want
>>>> to look at its output (and, if they want to use it, advise distros to
>>>> also package it), which I think we try to keep reasonably stable,
>>>> albeit without providing any guarantees.
>>>
>>>
>>> We haven't had any clear guidance yet on what the systemd team want in the <xen in a VM, systemd in a dom0> question; I just sort of assumed they wanted the L-1 virtualization *if possible*.  It sounds like `vm-other` would be acceptable, particularly as a fall-back output if there's no way to get Xen's picture of the cpuid.
>>>
>>> It looks like xen-cpuid is available on Fedora, Debian, Ubuntu, and the old Virt SIG CentOS packages; so I'd expect most packages to follow suit.  That's a place to start.
>>>
>>> Just to take the discussion all the way to its conclusion:
>>>
>>> - Supposing xen-cpuid isn't available, is there any other way to tell if Xen is running in a VM from dom0?
>>>
>>> - Would it make sense to expose that information somewhere, either in sysfs or in hypfs (or both?), so that eventually even systems which may not get the memo about packaging xen-cpuid will get support (or if the systemd guys would rather avoid executing another process if possible)?
>>
>> Resurrecting this thread.
>>
>> To recap:
>>
>> Currently, `systemd-detect-virt` has the following  input / output table:
>>
>> 1. Xen on real hardware, domU: xen
>> 2. Xen on real hardware, dom0: vm-other
>> 3. Xen in a VM, domU: xen
>> 4. Xen in aVM, dom0: vm-other
>>
>> It's the dom0 lines (2 and 4) which are problematic; we'd ideally like
>> those to be `none` and `vm-other` (or the actual value, like `xen` or
>> `kvm`).
>>
>> It looks like ATM, /proc/xen/capabilities will contain `control_d` if
>> it's a dom0.  Simply unilaterally returning `none` if
>> /proc/xen/capabilities contains `control_d` would correct the vast
>> majority of instances (since the number of instances of Xen on real
>> hardware is presumably higher than the number running virtualized).
>>
>> Is /proc/xen/capabilities expected to stay around?  I don't see
>> anything equivalent in /dev/xen.
>>
>> Other than adding a new interface to Xen, is there any way to tell if
>> Xen is running in a VM?  If we do need to expose an interface, what
>> would be the best way to do that?
> 
> Actually, the entire code for detection is here:
> 
> https://github.com/systemd/systemd/blob/f5fefec786e35ef7606e2b14e2530878b74ca879/src/basic/virt.c
> 
> The core issue seems to be this bit:
> 
>         /* Detect from CPUID */
>         v = detect_vm_cpuid();
>         if (v < 0)
>                 return v;
>         if (v == VIRTUALIZATION_VM_OTHER)
>                 other = true;
>         else if (v != VIRTUALIZATION_NONE)
>                 goto finish;
> 
>         /* If we are in Dom0 and have not yet finished, finish with
> the result of detect_vm_cpuid */
>         if (xen_dom0 > 0)
>                 goto finish;
> 
> Basically, the code expects that dom0 will be able to read the raw
> virtualization CPUID leaves, and that the result will be
> VIRTUALIZATION_NONE on real hardware.
> 
> But in fact, the result appears to be VIRTUALIZATION_VM_OTHER -- which
> would mean that 1) the CPUID instruction for reading CPUID leaf 0x1
> succeeded, 2) the 'hypervisor' bit was set, but 3) the signature at
> the hypervisor information leaf (0x40000000) didn't match any
> hypervisor (including XenVMMXenVMM, which it's looking for).

Which in turn suggests that they (a) issue plain CPUID (not the "Xen
escaped" form of it) and (b) there's no CPUID faulting available in the
underlying hardware (or the Xen version used is too old). Since (b) is
nothing userspace can do anything about, using the "Xen escaped" form
of CPUID may be the way to go in order to actually see the hypervisor
leaves. Beyond that ...

> What do we do in regard to these for dom0?

... I'm afraid I have no good idea at the moment.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:12:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:12:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709698.1108676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rynqW-00034q-GC; Mon, 22 Apr 2024 07:12:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709698.1108676; Mon, 22 Apr 2024 07: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 1rynqW-00034j-CM; Mon, 22 Apr 2024 07:12:12 +0000
Received: by outflank-mailman (input) for mailman id 709698;
 Mon, 22 Apr 2024 07:12:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rynqU-00034b-Se
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:12:10 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a254577d-0077-11ef-9e3a-7da7ca7a9ce9;
 Mon, 22 Apr 2024 09:12:09 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-41a5b68ed5cso5111515e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:12: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
 u18-20020a05600c19d200b0041896d2a05fsm15401291wmq.5.2024.04.22.00.12.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 00:12: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: a254577d-0077-11ef-9e3a-7da7ca7a9ce9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713769929; x=1714374729; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9lq9IkNvZQOWg2aEMDlSE16qERMXSJgUhYcW7/o2Z2s=;
        b=JOoShE7zoje8dIxpDm110k+WWkaA3wkH7aIG0oPxCyBakvvG4lHF7Du+aWOR13rn/+
         1hV5jZnoMFRug65pNwYPoanzMx8IZivWEZlii4Y+8jeUxhBOFPwx+Mvd8J0kfCgGCVHZ
         guXkIUNkg1hpP9NPPvRdRFtu4q91AJ8mpJ4ET/C+H0Do5dQPACx38BgKwTYHsXwewg1K
         mjnhiR99Z+vhnZZgmXQ1PdBMtDx4/Oybb1VOqhyDPWDjeCM5Ms9JrJtWEmrGkslUvr9z
         61qwUNPEVDpMdsWZ/AKMEkhPfhOPJ0nxJkEfPnelTgat4DADOsA1Id6e9qULK7eiWv/B
         dbjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713769929; x=1714374729;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9lq9IkNvZQOWg2aEMDlSE16qERMXSJgUhYcW7/o2Z2s=;
        b=aDlKJEjazq3G497SOrwZXG1uifUNDT5X2nJ/w+W3B8a9J+XQQNnU0TTrUmZdCm4yvq
         QhzGuCpyVlDNpfj+0tWhtw5Fg2k7LlXD9kPgtOBm54Xhp9OVKoxNPhK1Gw9SY1lEvPlK
         ktFB2JUefEj7l/gMf97zX/GsEAUQkik0uJQO41h0I9MSySeUd+lswVHI3UqPy1jSZ4R8
         +pwdQQAXrlSdFaRnK4r+uvrSrU1KMEcFxueEhN+LGfwWDs5ItG1DdLY8J8JvjvmhLZMd
         1PCcfwC3RTCKzP3w3RaXPM8zKMX05vP7qmiUynz0+mZ1HhAyuMwAbcOedstR80v61w4f
         poUw==
X-Forwarded-Encrypted: i=1; AJvYcCVpCAeI9/hFgNHE0IlLcDjbJPtIeihRaVCoJ8c+6jlVqeH4Zolo4UPnfOQbvtzac2LUzGR9uvXFTS4s/eK4XA4EgXPYfOrr9cP+Mc4z74w=
X-Gm-Message-State: AOJu0YxinRL+qqo2JiZl7uDel5TKRHUm1rO8KHhREp4Dc/D2GwNfIdxa
	BzbQbToGa4ydf34XD1AwRy+TlJX2qWL7eD8uAjwF5fC2K3ngP7eE1FF2cqM1hA==
X-Google-Smtp-Source: AGHT+IH38xVL2SefyUB7Z7M2QTD3COLdgu+H9it9qmfPLTj5DYaGKI6V8dTDvUsxSfwZ0sgoo6bRlQ==
X-Received: by 2002:a05:600c:1c21:b0:418:ee1e:3445 with SMTP id j33-20020a05600c1c2100b00418ee1e3445mr8339204wms.26.1713769929177;
        Mon, 22 Apr 2024 00:12:09 -0700 (PDT)
Message-ID: <5154b22a-747a-435c-9bd2-1716b7d3303d@suse.com>
Date: Mon, 22 Apr 2024 09:12:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Detecting whether dom0 is in a VM
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: zithro <slack@rabbit.lu>, xen-devel@lists.xenproject.org,
 Roger Pau Monne <roger.pau@cloud.com>
References: <CA+zSX=Y4MwsDSd9oSG1NQyt==YAw9SeRdh=eJxTUhhOx57ihWg@mail.gmail.com>
 <4ee01a0f-063e-ef93-ac24-da387d5b3438@rabbit.lu>
 <a680ae62-7765-aa51-1edd-9a1a7e39e449@suse.com>
 <20b1a79c-23c1-93bc-2090-8052f143422c@rabbit.lu>
 <27a3e6a2-b150-1d75-c86f-dfa2b906b298@suse.com>
 <CA+zSX=ZCmmKQX7acx-oK4nSki9ONscxLP7E8t8USjdjXJ9UDpA@mail.gmail.com>
 <495946e9-191f-22fe-9ecf-08eb5af833ba@suse.com>
 <28e2fc47-aada-e394-35b3-252bd1c6d720@suse.com>
 <CA+zSX=bCC8A06t_gSpYCjxG1BZoC2EWnHhYAQtTM6b0WyzyZNA@mail.gmail.com>
 <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 17:29, George Dunlap wrote:
> On Fri, Jul 7, 2023 at 3:56 PM George Dunlap <george.dunlap@cloud.com> wrote:
>>>>>> Xen's public interface offers access to the featuresets known / found /
>>>>>> used by the hypervisor. See XEN_SYSCTL_get_cpu_featureset, accessible
>>>>>> via xc_get_cpu_featureset().
>>>>>>
>>>>>
>>>>> Are any of these exposed in dom0 via sysctl, or hypfs?
>>>>
>>>> sysctl - yes (as the quoted name also says). hypfs no, afaict.
>>>>
>>>>>  SYSCTLs are
>>>>> unfortunately not stable interfaces, correct?  So it wouldn't be practical
>>>>> for systemd to use them.
>>>>
>>>> Indeed, neither sysctl-s nor the libxc interfaces are stable.
>>>
>>> Thinking of it, xen-cpuid is a wrapper tool around those. They may want
>>> to look at its output (and, if they want to use it, advise distros to
>>> also package it), which I think we try to keep reasonably stable,
>>> albeit without providing any guarantees.
>>
>>
>> We haven't had any clear guidance yet on what the systemd team want in the <xen in a VM, systemd in a dom0> question; I just sort of assumed they wanted the L-1 virtualization *if possible*.  It sounds like `vm-other` would be acceptable, particularly as a fall-back output if there's no way to get Xen's picture of the cpuid.
>>
>> It looks like xen-cpuid is available on Fedora, Debian, Ubuntu, and the old Virt SIG CentOS packages; so I'd expect most packages to follow suit.  That's a place to start.
>>
>> Just to take the discussion all the way to its conclusion:
>>
>> - Supposing xen-cpuid isn't available, is there any other way to tell if Xen is running in a VM from dom0?
>>
>> - Would it make sense to expose that information somewhere, either in sysfs or in hypfs (or both?), so that eventually even systems which may not get the memo about packaging xen-cpuid will get support (or if the systemd guys would rather avoid executing another process if possible)?
> 
> Resurrecting this thread.
> 
> To recap:
> 
> Currently, `systemd-detect-virt` has the following  input / output table:
> 
> 1. Xen on real hardware, domU: xen
> 2. Xen on real hardware, dom0: vm-other
> 3. Xen in a VM, domU: xen
> 4. Xen in aVM, dom0: vm-other
> 
> It's the dom0 lines (2 and 4) which are problematic; we'd ideally like
> those to be `none` and `vm-other` (or the actual value, like `xen` or
> `kvm`).
> 
> It looks like ATM, /proc/xen/capabilities will contain `control_d` if
> it's a dom0.  Simply unilaterally returning `none` if
> /proc/xen/capabilities contains `control_d` would correct the vast
> majority of instances (since the number of instances of Xen on real
> hardware is presumably higher than the number running virtualized).
> 
> Is /proc/xen/capabilities expected to stay around?  I don't see
> anything equivalent in /dev/xen.

I believe it's intended to stay around, but a definitive answer can only
come from Linux folks. Jürgen, Stefano?

Jan

> Other than adding a new interface to Xen, is there any way to tell if
> Xen is running in a VM?  If we do need to expose an interface, what
> would be the best way to do that?
> 
>  -George



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:37:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709714.1108695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoEy-0006ho-Lb; Mon, 22 Apr 2024 07:37:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709714.1108695; Mon, 22 Apr 2024 07:37:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoEy-0006hf-Iy; Mon, 22 Apr 2024 07:37:28 +0000
Received: by outflank-mailman (input) for mailman id 709714;
 Mon, 22 Apr 2024 07: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=ALvU=L3=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ryoEx-0006Sb-Dc
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:37:27 +0000
Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com
 [2607:f8b0:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29856638-007b-11ef-8b06-e9908f64f69c;
 Mon, 22 Apr 2024 09:37:25 +0200 (CEST)
Received: by mail-pf1-x432.google.com with SMTP id
 d2e1a72fcca58-6eced6fd98aso3860280b3a.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:37:25 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 x37-20020a056a000be500b006edcceffcb0sm7221726pfu.161.2024.04.22.00.37.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 00: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: 29856638-007b-11ef-8b06-e9908f64f69c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713771444; x=1714376244; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2VzeWK8x82YxZO3FACx+2RlqRVfXhRtSExk4PP34ai4=;
        b=BRr1HZgeHXiJ1xOcD0StlhMj3Uk9dgUU1qFGyQPIgRQFKCxTvjNEc6dpiWjrjnvAVw
         8dPyU/hjaUkj97IQrH+0xkRZKKZlnvR6ND/2IWV4mn7KH2rJQ75zfOpIj/uGTAFLwUYb
         uQrzF9d6Dh+S8N/YhQFzHNxdBKF6NSeYIEHtKGZEvZT9DWVEPEWotAFimWtmYWimWaYH
         glw51+rXIZYl//y9p/Myr7o2woo+0v7bfzQYvQAy3A+x5HYInWoaXBbnLhRSXvy71GqU
         kL146qmi499geBvrlmIoegq5OK1EgBzKcx/HnQarxoMLtYBDNO8bo6z3Wowg/kGhv++P
         6HRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713771444; x=1714376244;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2VzeWK8x82YxZO3FACx+2RlqRVfXhRtSExk4PP34ai4=;
        b=d0dglx+FKwCRu9PeMtJ9h7eGW0+7Si8U9Fp4fnxUkqIDN6y+KdDteHco9mxo32+dnv
         oxZlJPi9NXl1UVEb4OuD+7VkjVhOZhS37aRP57LAlhgt81ue7g0QSNooSbNRB37z4jK+
         TKYpZCj3nSpkG0eCG569pa4v6Zl+CCWwmKaVAdffK5Yji9G1USjsG0aDPTrbsuji/2jH
         Z+leX5jS/dX2J7Jn0oaNu/fHADi9UDBrIeHb5J3PezD4NwH69exY0AUdMp1aWODvxRO5
         ntbRQN7A5xIbvP+wTZNayYdrBZDl9y36TbcFueUZvUFd1XVfm/P6jeJtZQmYVhBj4z2X
         yqIw==
X-Gm-Message-State: AOJu0Yzjfpxznv1UCVCnhJKjplVcGNrEkV7lmzI5buEfgDDUdbCMZV4A
	iUdusbq7hMZaA4C/ySxCAjNK2URZIHZRaTRlyhOTEJhRT9BOB6VEYb22idn4+Fu3k9DIs8FvGgw
	t
X-Google-Smtp-Source: AGHT+IHvzUzQnmPOJwLqCNPYatbb81JlKVMMSj7eh2f/KL7gdQ+7f2dkOyd1cR6AGmf3KGwkBYHq8Q==
X-Received: by 2002:a05:6a20:43a7:b0:1ad:a8d:dc6d with SMTP id i39-20020a056a2043a700b001ad0a8ddc6dmr6800017pzl.8.1713771443904;
        Mon, 22 Apr 2024 00:37:23 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 1/5] xen/arm: ffa: refactor ffa_handle_call()
Date: Mon, 22 Apr 2024 09:37:04 +0200
Message-Id: <20240422073708.3663529-2-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240422073708.3663529-1-jens.wiklander@linaro.org>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactors the large switch block in ffa_handle_call() to use common code
for the simple case where it's either an error code or success with no
further parameters.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 8665201e34a9..5209612963e1 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -273,18 +273,10 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
     case FFA_RXTX_MAP_64:
         e = ffa_handle_rxtx_map(fid, get_user_reg(regs, 1),
 				get_user_reg(regs, 2), get_user_reg(regs, 3));
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_RXTX_UNMAP:
         e = ffa_handle_rxtx_unmap();
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_PARTITION_INFO_GET:
         e = ffa_handle_partition_info_get(get_user_reg(regs, 1),
                                           get_user_reg(regs, 2),
@@ -299,11 +291,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         return true;
     case FFA_RX_RELEASE:
         e = ffa_handle_rx_release();
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_MSG_SEND_DIRECT_REQ_32:
     case FFA_MSG_SEND_DIRECT_REQ_64:
         handle_msg_send_direct_req(regs, fid);
@@ -316,17 +304,19 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         e = ffa_handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs, 2),
                                                      get_user_reg(regs, 1)),
                                    get_user_reg(regs, 3));
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
 
     default:
         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return true;
     }
+
+    if ( e )
+        ffa_set_regs_error(regs, e);
+    else
+        ffa_set_regs_success(regs, 0, 0);
+    return true;
 }
 
 static int ffa_domain_init(struct domain *d)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:37:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709713.1108685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoEt-0006So-EB; Mon, 22 Apr 2024 07:37:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709713.1108685; Mon, 22 Apr 2024 07: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 1ryoEt-0006Sh-BO; Mon, 22 Apr 2024 07:37:23 +0000
Received: by outflank-mailman (input) for mailman id 709713;
 Mon, 22 Apr 2024 07:37:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ALvU=L3=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ryoEs-0006Sb-AB
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:37:22 +0000
Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com
 [2607:f8b0:4864:20::534])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 263fb170-007b-11ef-8b06-e9908f64f69c;
 Mon, 22 Apr 2024 09:37:20 +0200 (CEST)
Received: by mail-pg1-x534.google.com with SMTP id
 41be03b00d2f7-5ce6b5e3c4eso2227198a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:37:20 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 x37-20020a056a000be500b006edcceffcb0sm7221726pfu.161.2024.04.22.00.37.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 00:37:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 263fb170-007b-11ef-8b06-e9908f64f69c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713771438; x=1714376238; 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=AHko8xm993dsl3n+OZtqOwdwQNhe1crxMdvB1ksUl5w=;
        b=l6yNIvuEgxLSArHoI2t8a+mISAJr7Pm9MiDa9ES/WbLQiErYPp0QgUCDQpveFGAYnZ
         qBtvzw8ElTWH4lZTwWE2ZdYAXBPEHaRgwGsYrht1ldhQ6gg+kSS6J79hn538+ylhpqK9
         L6k24BFiUQ1BNaBfrO1VI+Z39tbROqZKANMX/7QpH8W9dBYtNMhKeqftyixPm1PvJaAV
         9HJItJ1H6nOQnIuGUIMnwPEluf/jGQLv4yQo9xUzg2M63wBtvR4PS4NJDDNWe98/r7N4
         Ng1JsNWxM6T9OpFVkxp2McKpDmDo1HuSK32hjL/7JXH9hT05DqcseaOibawvsX+VDv4+
         S4Hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713771438; x=1714376238;
        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=AHko8xm993dsl3n+OZtqOwdwQNhe1crxMdvB1ksUl5w=;
        b=HpxGlAONAmkyn/K/xC8nzEpf6egKDZGH+llKcLZpiU4HFonOrHH1yrqB3ZMOZ0wugL
         W7GtIYVdRVu7PYwCVZx+UKbgV9nKIzYmB0tCOgVFtLSveQoY68sP50dZjN30Zps6TmGC
         4PmtsIk80JhNp638y0UF2v2qq8DcnK/IpLGFZLxR6wGJJ+YBB/rYssphaPkDqpQ3pSn7
         l8By3b1I414XZN1vdDYLrVzu87Jr6JZdEvywJtYUojx2bVCMG8SUpWSqXgwvt3qfEnmp
         aZaLOazxN/TvYY2DKQCcQx9+EWO+dLY4kNHUN+MUpINIMuGoDZ8oiuHBpFMARJXO+7u6
         Adsw==
X-Gm-Message-State: AOJu0Yyf2VYiFpPO+HeR18Ta6BTowa+47+jUmMuI6HsCgCHMOAJk9VrZ
	NPsbA91NRtU7C0scdjW91mDOB5htxpPrI0tYmj1iCfu4ZEZhy8zWNMRMHv1Weu581z6fDckEt4B
	F
X-Google-Smtp-Source: AGHT+IFBmZRazD0/mE0UROobbVkZ2EiTAEz0/o01f5RCsrEtPAOzCnkdtt9NjZdmaBU9QkkOkJcr0Q==
X-Received: by 2002:a05:6a20:3d94:b0:1a3:52ef:cc84 with SMTP id s20-20020a056a203d9400b001a352efcc84mr9439968pzi.60.1713771438353;
        Mon, 22 Apr 2024 00:37:18 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 0/5] FF-A notifications
Date: Mon, 22 Apr 2024 09:37:03 +0200
Message-Id: <20240422073708.3663529-1-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

This patch set adds support for FF-A notifications. We only support
global notifications, per vCPU notifications remain unsupported.

The first three patches are further cleanup and can be merged before the
rest if desired.

A physical SGI is used to make Xen aware of pending FF-A notifications. The
physical SGI is selected by the SPMC in the secure world. Since it must not
already be used by Xen the SPMC is in practice forced to donate one of the
secure SGIs, but that's normally not a problem. The SGI handling in Xen is
updated to support registration of handlers for SGIs that aren't statically
assigned, that is, SGI IDs above GIC_SGI_MAX.

Thanks,
Jens

v1->v2:
- "xen/arm: ffa: support notification" and
  "xen/arm: allow dynamically assigned SGI handlers" updated as requestsed,
  details in each patch.
- Added Bertrands R-B for "xen/arm: ffa: refactor ffa_handle_call()",
  "xen/arm: ffa: use ACCESS_ONCE()", and
  "xen/arm: ffa: simplify ffa_handle_mem_share()"

Jens Wiklander (5):
  xen/arm: ffa: refactor ffa_handle_call()
  xen/arm: ffa: use ACCESS_ONCE()
  xen/arm: ffa: simplify ffa_handle_mem_share()
  xen/arm: allow dynamically assigned SGI handlers
  xen/arm: ffa: support notification

 xen/arch/arm/gic.c              |   5 +-
 xen/arch/arm/irq.c              |   7 +-
 xen/arch/arm/tee/Makefile       |   1 +
 xen/arch/arm/tee/ffa.c          |  83 +++++---
 xen/arch/arm/tee/ffa_notif.c    | 331 ++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_partinfo.c |   9 +-
 xen/arch/arm/tee/ffa_private.h  |  68 ++++++-
 xen/arch/arm/tee/ffa_shm.c      |  33 ++--
 8 files changed, 488 insertions(+), 49 deletions(-)
 create mode 100644 xen/arch/arm/tee/ffa_notif.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:37:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709715.1108706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoF4-00070E-2B; Mon, 22 Apr 2024 07:37:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709715.1108706; Mon, 22 Apr 2024 07:37:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoF3-000704-VU; Mon, 22 Apr 2024 07:37:33 +0000
Received: by outflank-mailman (input) for mailman id 709715;
 Mon, 22 Apr 2024 07:37:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ALvU=L3=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ryoF2-0006Sb-Hv
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:37:32 +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 2ca9e7a7-007b-11ef-8b06-e9908f64f69c;
 Mon, 22 Apr 2024 09:37:30 +0200 (CEST)
Received: by mail-oi1-x22e.google.com with SMTP id
 5614622812f47-3c7510d1bacso978487b6e.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:37:30 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 x37-20020a056a000be500b006edcceffcb0sm7221726pfu.161.2024.04.22.00.37.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 00:37: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: 2ca9e7a7-007b-11ef-8b06-e9908f64f69c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713771449; x=1714376249; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Injz1eHKMU34CsdRACoEV/3/mGn5muvQCz5MmACq6o4=;
        b=EScPsunjKNdnDcAmcoaxTaN4DSWv8HaeAmTfbx6WonRnRB91JLa6+/7Qx/X0e9j6bO
         +D1B2/5bwqXgiWR3qNtLiMZfSgNsAprz2GeCss9/BC8zPYq16ZrogW5bQ+jMnF5wLnb4
         kPg4PmCwEsLsoQ/d77/9B1hzBzCsQGNFug0eyXc9JcMmfsXUuotlkgD13CoGgzU/Tr/u
         /FcoTPYk16+1warChZog1ikoCUi7CkzGnkFEqv6RCivyIEmma1wQCVcfiJ5WVAbIJyet
         cXSf8/qOqQ1HuSGvaPAmnm78hog9SZRAjTbItisWStYxgFJNB8CkjdD0E9Ahm2qd+SYp
         50qA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713771449; x=1714376249;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Injz1eHKMU34CsdRACoEV/3/mGn5muvQCz5MmACq6o4=;
        b=kn3kjAzOu+I9v82NklGcc5POnzTPYy879sexjmfNag4CBTrLzT/ngo7ZiKVjZC4VyX
         AchaglcSLm4p8Gt1D9ll+fayIi22lXZaZRh/ijH4Jvu1bplIzPI0P2RzOZIP396aAmIt
         DJRFWLCDdmZPOOroIlfLiXGhdqLeFpQtUfOQx8SV+6ccubQFXZwOVK8lmDvJ2/UN7Dcy
         nCw41n9b2Zp5Hxg/3yq24JAv2W3W5UBxLrDPXCVb1Q8l39+ONzwa+52feut+r3z4eUof
         NT3VIDCwf9oE3brCXeUS5cx0WBGtdnj9/bbjZJ3x0HQODVv840vkAkkOPJXv5Xe3Hxqy
         0Jkg==
X-Gm-Message-State: AOJu0Yxl230nivfqwO1XFHCAi8AY50h65QxwVW1pIudIbkoPEa+DlkpU
	hjAlwIVzvbQ1jUF6kwBqsrsy4NuvYKeqVPR7H6W2ku8prYT65br49cif+yOsYuTPO2dOXEC669O
	N
X-Google-Smtp-Source: AGHT+IF8/Yq3GWuUme2jfU/Tj71Y6yTYZXpvsfQH19JqEaP37CxWt4rB7tdPh7TwB//e/GI2cqHXjw==
X-Received: by 2002:a05:6808:b16:b0:3c5:e2dc:8a6a with SMTP id s22-20020a0568080b1600b003c5e2dc8a6amr10635627oij.24.1713771449345;
        Mon, 22 Apr 2024 00:37:29 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 2/5] xen/arm: ffa: use ACCESS_ONCE()
Date: Mon, 22 Apr 2024 09:37:05 +0200
Message-Id: <20240422073708.3663529-3-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240422073708.3663529-1-jens.wiklander@linaro.org>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace read_atomic() with ACCESS_ONCE() to match the intended use, that
is, to prevent the compiler from (via optimization) reading shared
memory more than once.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa_shm.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index eed9ad2d2986..75a5b66aeb4c 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -7,6 +7,7 @@
 #include <xen/sizes.h>
 #include <xen/types.h>
 #include <xen/mm.h>
+#include <xen/lib.h>
 #include <xen/list.h>
 #include <xen/spinlock.h>
 
@@ -171,8 +172,8 @@ static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
 
     for ( n = 0; n < range_count; n++ )
     {
-        page_count = read_atomic(&range[n].page_count);
-        addr = read_atomic(&range[n].address);
+        page_count = ACCESS_ONCE(range[n].page_count);
+        addr = ACCESS_ONCE(range[n].address);
         for ( m = 0; m < page_count; m++ )
         {
             if ( pg_idx >= shm->page_count )
@@ -527,13 +528,13 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
 
     mem_access = ctx->tx + trans.mem_access_offs;
-    if ( read_atomic(&mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
+    if ( ACCESS_ONCE(mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
     {
         ret = FFA_RET_NOT_SUPPORTED;
         goto out_unlock;
     }
 
-    region_offs = read_atomic(&mem_access->region_offs);
+    region_offs = ACCESS_ONCE(mem_access->region_offs);
     if ( sizeof(*region_descr) + region_offs > frag_len )
     {
         ret = FFA_RET_NOT_SUPPORTED;
@@ -541,8 +542,8 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     }
 
     region_descr = ctx->tx + region_offs;
-    range_count = read_atomic(&region_descr->address_range_count);
-    page_count = read_atomic(&region_descr->total_page_count);
+    range_count = ACCESS_ONCE(region_descr->address_range_count);
+    page_count = ACCESS_ONCE(region_descr->total_page_count);
 
     if ( !page_count )
     {
@@ -557,7 +558,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
     }
     shm->sender_id = trans.sender_id;
-    shm->ep_id = read_atomic(&mem_access->access_perm.endpoint_id);
+    shm->ep_id = ACCESS_ONCE(mem_access->access_perm.endpoint_id);
 
     /*
      * Check that the Composite memory region descriptor fits.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:37:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:37:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709716.1108715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoFA-0007Ms-8y; Mon, 22 Apr 2024 07:37:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709716.1108715; Mon, 22 Apr 2024 07:37:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoFA-0007Ml-67; Mon, 22 Apr 2024 07:37:40 +0000
Received: by outflank-mailman (input) for mailman id 709716;
 Mon, 22 Apr 2024 07:37:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ALvU=L3=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ryoF8-0006Sb-7T
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:37:38 +0000
Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com
 [2607:f8b0:4864:20::434])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ff3fed5-007b-11ef-8b06-e9908f64f69c;
 Mon, 22 Apr 2024 09:37:36 +0200 (CEST)
Received: by mail-pf1-x434.google.com with SMTP id
 d2e1a72fcca58-6ed20fb620fso3360073b3a.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:37:36 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 x37-20020a056a000be500b006edcceffcb0sm7221726pfu.161.2024.04.22.00.37.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 00:37: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: 2ff3fed5-007b-11ef-8b06-e9908f64f69c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713771455; x=1714376255; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XH0hx5FhOx9XD5Quim9d/dWx8ptFKhc8V8iHDPJ7zTg=;
        b=tidflhVmpDXLNQbwn/3bs3/zrUwhmiIQI6CfTEw8wIG0G0EVZ8TMRD+ArxuoHns53J
         cwcmNjgZ0hNr6PJCFS9mjGfzjApUWz4zz5kpkGrsnMHCGkKWFW0ku/IyT/EGZqMROMmq
         U7tvEBvefLwmOm89zhI6zKixAinqkvYnS0ypnK4yqixwrFl1sMEiTN0bQk4NvBi7rEC+
         fX3JWYjZsvtOfzcKfP2M3VQHTvXv0zy96J6WfM20EsMhbmABpU/lbVBW49KAVK61EbEV
         6L4OyN1SJScxNXcMd0svy6ZUlqyPO62WRiGtkO5b3JtTkgPr7H2i/IBfQJudMFuVe3tK
         H9jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713771455; x=1714376255;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XH0hx5FhOx9XD5Quim9d/dWx8ptFKhc8V8iHDPJ7zTg=;
        b=CFC4WOrxxblFUcyU16nWmUYEbXE3qKyWdF8o/f/2l19JOeoTpdsqvbsS+Ta1IiTNGr
         Zs+nJ1BS1XgzqQTzkb3ir7HW7W8lI3suZtFdK+Gga6Hx2meQs1guE4bbyNEVHGdHMiFG
         FkzAm5/Vu/HtMosNsvHGx9sywRhBooytiNAgfGkA1+IfKN0L5UCUB19aTHlEgR/p7rMX
         Mh1Sq9a+7HjtkNPqeqInCsRkxOcqFo8kw98Ks4PrrPV7xjCLEvPUjS7Af7A/+LaNRWy5
         iXXBdnVOwtLUOlIo5Jl63QEjc6zs0pPk+cuU7k9JsulDW56g7GD46C2D5BKzvskJRuVu
         H7XA==
X-Gm-Message-State: AOJu0YxDww9T3iP8MzWaFmvpHgg8PuZ+5pp0MGm3IJwaioZJhdIOhaBV
	sn/S0+oieyDc2xW2QOegRj51IgI4oiRLDmjejevk4lb5F33hqv1NwXKSKV39+AF0BJMEN35CN67
	Q
X-Google-Smtp-Source: AGHT+IGka8NQ9dDC8A6vYPkgAjXKykEfW2GOONxsXMsWFGAv2DdLMChwEDD2uno7UHsIXu15nuUq3A==
X-Received: by 2002:a05:6a00:1906:b0:6ea:aaf5:9e00 with SMTP id y6-20020a056a00190600b006eaaaf59e00mr10590326pfi.33.1713771454705;
        Mon, 22 Apr 2024 00:37:34 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 3/5] xen/arm: ffa: simplify ffa_handle_mem_share()
Date: Mon, 22 Apr 2024 09:37:06 +0200
Message-Id: <20240422073708.3663529-4-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240422073708.3663529-1-jens.wiklander@linaro.org>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Simplify ffa_handle_mem_share() by removing the start_page_idx and
last_page_idx parameters from get_shm_pages() and check that the number
of pages matches expectations at the end of get_shm_pages().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa_shm.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index 75a5b66aeb4c..370d83ec5cf8 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -159,10 +159,9 @@ static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
  */
 static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
                          const struct ffa_address_range *range,
-                         uint32_t range_count, unsigned int start_page_idx,
-                         unsigned int *last_page_idx)
+                         uint32_t range_count)
 {
-    unsigned int pg_idx = start_page_idx;
+    unsigned int pg_idx = 0;
     gfn_t gfn;
     unsigned int n;
     unsigned int m;
@@ -191,7 +190,9 @@ static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
         }
     }
 
-    *last_page_idx = pg_idx;
+    /* The ranges must add up */
+    if ( pg_idx < shm->page_count )
+            return FFA_RET_INVALID_PARAMETERS;
 
     return FFA_RET_OK;
 }
@@ -460,7 +461,6 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
     struct ffa_shm_mem *shm = NULL;
-    unsigned int last_page_idx = 0;
     register_t handle_hi = 0;
     register_t handle_lo = 0;
     int ret = FFA_RET_DENIED;
@@ -570,15 +570,9 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out;
     }
 
-    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count,
-                        0, &last_page_idx);
+    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count);
     if ( ret )
         goto out;
-    if ( last_page_idx != shm->page_count )
-    {
-        ret = FFA_RET_INVALID_PARAMETERS;
-        goto out;
-    }
 
     /* Note that share_shm() uses our tx buffer */
     spin_lock(&ffa_tx_buffer_lock);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:37:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709719.1108725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoFD-0007jG-H2; Mon, 22 Apr 2024 07:37:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709719.1108725; Mon, 22 Apr 2024 07:37:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoFD-0007j2-E9; Mon, 22 Apr 2024 07:37:43 +0000
Received: by outflank-mailman (input) for mailman id 709719;
 Mon, 22 Apr 2024 07:37: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=ALvU=L3=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ryoFC-0007cz-Hy
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:37:42 +0000
Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com
 [2607:f8b0:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 33228ea9-007b-11ef-9e3a-7da7ca7a9ce9;
 Mon, 22 Apr 2024 09:37:42 +0200 (CEST)
Received: by mail-pg1-x52e.google.com with SMTP id
 41be03b00d2f7-5c229dabbb6so2188890a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:37:41 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 x37-20020a056a000be500b006edcceffcb0sm7221726pfu.161.2024.04.22.00.37.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 00: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: 33228ea9-007b-11ef-9e3a-7da7ca7a9ce9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713771460; x=1714376260; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fqIqZwJgUcekPQuPI1VH6Nw18oRab5zr4LvkDvC5BW8=;
        b=hgMAzr9/v3VV2ZdPFngyZFvDjtm0yzZ+ChNw/gDYVOnM7giroacv2sqWyMfBdDQl0F
         UkFF9LnaYkk8M7zyeJYUf+q26CrWhV0Bt3lO57ev03q8ROP1m4vdGQuw2bYPxAxxipos
         8pJHZMpv3dtX0OV8+tE8/RZoFFOMUL9Q9O+q8gPmsDcc+UVDznuvXaQKSfSeDbmGO12L
         oxGuG8OGxAnyYqclPyJBQzbqcF8f4VJDXELoGaMR1HkT8zYa9VH5TB489fHpSqV8NJws
         Mc+Fi4MxmQju2nqN/2xuJLhkDtQCFAlFRrxoQgl+GNYSHRE+rSVQIuptDKc1Fnk5DoeH
         7P3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713771460; x=1714376260;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fqIqZwJgUcekPQuPI1VH6Nw18oRab5zr4LvkDvC5BW8=;
        b=PMGk6NFczZS2xo7RDwgpNHatz3ngnmg4H8A8kWupmpf/ZmHzyPTLhP5yC6N2UVZukT
         24UDHYmtbWFTzxwEaAmcA70Qy07pcXx8pq7TWcIs0l6AnZyI1IcnLoBEN+gbfJC8Usfo
         YQZQd+HkhK/V7cZlRwNvN2X6lowNuI2L2WAvLE2eECC+p1Va6SkBr4WDQWTtisMLldcw
         08lhpRAx7BOomnvJ9oc7jyRb9JlAT+rZsrERKzce/UNUNLv6EEB3i6jpbyImo+Tv0AyH
         2fNr8NnTsgmiVY+vSk5d+a9JeCkBbGDsGZFEAxkVPZxOcjoE3aDNmNFzUCKnionF/m1T
         5yHQ==
X-Gm-Message-State: AOJu0YysgCJ5mFXm0+lmYd6oTg6yLxPtXecOFTCnrG568pdLEIi+iT+T
	vATIEzh88c8APosRsaYnhpjMPD45+NU/zGQOnD42QvU+wUyWFq1L8t+ftlIquncOFyMviwnxD0Q
	v
X-Google-Smtp-Source: AGHT+IFomXvyJRBoJZ6esF5z/ya0gd+1lmpeMxibc4K5rG4EGXwP1H+lFCeoqG4tVAoaic3N+WUdGg==
X-Received: by 2002:a05:6a20:8417:b0:1aa:41e4:f1b4 with SMTP id c23-20020a056a20841700b001aa41e4f1b4mr9140138pzd.44.1713771460059;
        Mon, 22 Apr 2024 00:37:40 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI handlers
Date: Mon, 22 Apr 2024 09:37:07 +0200
Message-Id: <20240422073708.3663529-5-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240422073708.3663529-1-jens.wiklander@linaro.org>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Updates so request_irq() can be used with a dynamically assigned SGI irq
as input. This prepares for a later patch where an FF-A schedule
receiver interrupt handler is installed for an SGI generated by the
secure world.

gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they are
always edge triggered.

gic_interrupt() is updated to route the dynamically assigned SGIs to
do_IRQ() instead of do_sgi(). The latter still handles the statically
assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
v1->v2
- Update patch description as requested
---
 xen/arch/arm/gic.c | 5 +++--
 xen/arch/arm/irq.c | 7 +++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 44c40e86defe..e9aeb7138455 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -117,7 +117,8 @@ void gic_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
 
     desc->handler = gic_hw_ops->gic_host_irq_type;
 
-    gic_set_irq_type(desc, desc->arch.type);
+    if ( desc->irq >= NR_GIC_SGI)
+        gic_set_irq_type(desc, desc->arch.type);
     gic_set_irq_priority(desc, priority);
 }
 
@@ -375,7 +376,7 @@ void gic_interrupt(struct cpu_user_regs *regs, int is_fiq)
         /* Reading IRQ will ACK it */
         irq = gic_hw_ops->read_irq();
 
-        if ( likely(irq >= 16 && irq < 1020) )
+        if ( likely(irq >= GIC_SGI_MAX && irq < 1020) )
         {
             isb();
             do_IRQ(regs, irq, is_fiq);
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index bcce80a4d624..fdb214560978 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -224,9 +224,12 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq, int is_fiq)
 
     perfc_incr(irqs);
 
-    ASSERT(irq >= 16); /* SGIs do not come down this path */
+    /* Statically assigned SGIs do not come down this path */
+    ASSERT(irq >= GIC_SGI_MAX);
 
-    if ( irq < 32 )
+    if ( irq < NR_GIC_SGI )
+        perfc_incr(ipis);
+    else if ( irq < NR_GIC_LOCAL_IRQS )
         perfc_incr(ppis);
     else
         perfc_incr(spis);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:37:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:37:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709721.1108736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoFJ-0008JX-Qi; Mon, 22 Apr 2024 07:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709721.1108736; Mon, 22 Apr 2024 07:37:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoFJ-0008JO-O2; Mon, 22 Apr 2024 07:37:49 +0000
Received: by outflank-mailman (input) for mailman id 709721;
 Mon, 22 Apr 2024 07:37:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ALvU=L3=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ryoFI-0007cz-PA
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:37:48 +0000
Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com
 [2607:f8b0:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 367b4462-007b-11ef-9e3a-7da7ca7a9ce9;
 Mon, 22 Apr 2024 09:37:47 +0200 (CEST)
Received: by mail-pf1-x430.google.com with SMTP id
 d2e1a72fcca58-6eff9dc1821so4008360b3a.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:37:47 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 x37-20020a056a000be500b006edcceffcb0sm7221726pfu.161.2024.04.22.00.37.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 00:37: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: 367b4462-007b-11ef-9e3a-7da7ca7a9ce9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713771465; x=1714376265; darn=lists.xenproject.org;
        h=content-transfer-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/7fKiW+izi3jT4eDFQ5vnoXCxte+tN47jnjPcuTARI=;
        b=j/qu7hMOtcA9jO2WRtzFaqKEOahS74IjaE5uBc/JpC8GQd9WL97g92t5Ofn/q5C45S
         bGfJonix+Vl7p2WjB/JU7lqxT9/08RbHRIQxD6QHNqgwSkrMvZC09fgIbgCG/5lW7g2H
         BXH/hdPA8FZc2I34o/ok7Kk+H8U1OUW3+Qd1HbEeh2LvhWGEn5OZYWh71Zbswb7Ne7ot
         9eqnuD/3XHhvOFa/DB20Nt4JZqlgY4xr8Ttlwat7U19FADPiiztgPtfehZNyXbYt78eL
         K9OrM/+zqLUAZRam5Lvx+6cQNGVHLYlwy7u+LV3mi7vBGetFiI3O/bgZiswqzImRHQiL
         OWYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713771465; x=1714376265;
        h=content-transfer-encoding:mime-version:references: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/7fKiW+izi3jT4eDFQ5vnoXCxte+tN47jnjPcuTARI=;
        b=RsahBaCbEARq3Jp9YHCJ3Mi6ScAiEYzMR7O22dU8pCppp6cOccDfjB0ESTghC+oTXi
         RsnkJveSkh6r2VC3XJu8mC5ycXmCNzn8hIaX8BFc/upha/cpSFwm/dsB5pynmjz8bwVa
         y90skqsCzVlprnGxblx8nl6khaELkyMgBPemIBwKCB47F54Q5L9LJTnm256iG6jISfMS
         4lA8vQdm29gwhHTCF+EURWk6RAUO2QCbD5Qr+nczd3UgrO9z82qjo+AQ3xzYqaUmr8i1
         ACq3NWZcRcGYCRjqIxsonJ7OdLjGtvNQdPNJSQEYN3Drmcyq2ALUFnV7T3r1e4Z34UJU
         ClSg==
X-Gm-Message-State: AOJu0YxKGcFk/iDjFfUXaaISuvDX3AYCo9UK4i0fDj1AKhDi98yYVEio
	a6yBk3mUNtI5wc7NCN4N455Bo74diiI9RM/uGE0oUHFDr5uvlqR2/ES6ZBZc7a19aLZB9fXwY5u
	+
X-Google-Smtp-Source: AGHT+IHVCgH6OCpekvx+B+E26CYf1edbMbYsxeS44PDAikThebyPmCVOoPJm05/ZvHgj6wK1DCjUTA==
X-Received: by 2002:a05:6a21:3e05:b0:1a7:7306:3677 with SMTP id bk5-20020a056a213e0500b001a773063677mr7903593pzc.25.1713771465522;
        Mon, 22 Apr 2024 00:37:45 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Date: Mon, 22 Apr 2024 09:37:08 +0200
Message-Id: <20240422073708.3663529-6-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240422073708.3663529-1-jens.wiklander@linaro.org>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for FF-A notifications, currently limited to an SP (Secure
Partition) sending an asynchronous notification to a guest.

Guests and Xen itself are made aware of pending notifications with an
interrupt. The interrupt handler retrieves the notifications using the
FF-A ABI and deliver them to their destinations.

Update ffa_partinfo_domain_init() to return error code like
ffa_notif_domain_init().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
v1->v2:
- Addressing review comments
- Change ffa_handle_notification_{bind,unbind,set}() to take struct
  cpu_user_regs *regs as argument.
- Update ffa_partinfo_domain_init() and ffa_notif_domain_init() to return
  an error code.
- Fixing a bug in handle_features() for FFA_FEATURE_SCHEDULE_RECV_INTR.
---
 xen/arch/arm/tee/Makefile       |   1 +
 xen/arch/arm/tee/ffa.c          |  55 +++++-
 xen/arch/arm/tee/ffa_notif.c    | 331 ++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_partinfo.c |   9 +-
 xen/arch/arm/tee/ffa_private.h  |  68 ++++++-
 5 files changed, 457 insertions(+), 7 deletions(-)
 create mode 100644 xen/arch/arm/tee/ffa_notif.c

diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
index f0112a2f922d..7c0f46f7f446 100644
--- a/xen/arch/arm/tee/Makefile
+++ b/xen/arch/arm/tee/Makefile
@@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) += ffa.o
 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-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 5209612963e1..aa171c0b61f0 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -39,6 +39,9 @@
  *   - at most 32 shared memory regions per guest
  * o FFA_MSG_SEND_DIRECT_REQ:
  *   - only supported from a VM to an SP
+ * o FFA_NOTIFICATION_*:
+ *   - only supports global notifications, that is, per vCPU notifications
+ *     are not supported
  *
  * There are some large locked sections with ffa_tx_buffer_lock and
  * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
@@ -194,6 +197,8 @@ out:
 
 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;
 
@@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *regs)
         BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
         ffa_set_regs_success(regs, 0, 0);
         break;
+    case FFA_FEATURE_NOTIF_PEND_INTR:
+        if ( ctx->notif.enabled )
+            ffa_set_regs_success(regs, FFA_NOTIF_PEND_INTR_ID, 0);
+        else
+            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        break;
+    case FFA_FEATURE_SCHEDULE_RECV_INTR:
+        if ( ctx->notif.enabled )
+            ffa_set_regs_success(regs, FFA_SCHEDULE_RECV_INTR_ID, 0);
+        else
+            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        break;
+
+    case FFA_NOTIFICATION_BIND:
+    case FFA_NOTIFICATION_UNBIND:
+    case FFA_NOTIFICATION_GET:
+    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);
+        break;
     default:
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         break;
@@ -305,6 +334,22 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
                                                      get_user_reg(regs, 1)),
                                    get_user_reg(regs, 3));
         break;
+    case FFA_NOTIFICATION_BIND:
+        e = ffa_handle_notification_bind(regs);
+        break;
+    case FFA_NOTIFICATION_UNBIND:
+        e = ffa_handle_notification_unbind(regs);
+        break;
+    case FFA_NOTIFICATION_INFO_GET_32:
+    case FFA_NOTIFICATION_INFO_GET_64:
+        ffa_handle_notification_info_get(regs);
+        return true;
+    case FFA_NOTIFICATION_GET:
+        ffa_handle_notification_get(regs);
+        return true;
+    case FFA_NOTIFICATION_SET:
+        e = ffa_handle_notification_set(regs);
+        break;
 
     default:
         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
@@ -322,6 +367,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
 static int ffa_domain_init(struct domain *d)
 {
     struct ffa_ctx *ctx;
+    int ret;
 
     if ( !ffa_version )
         return -ENODEV;
@@ -345,10 +391,11 @@ static int ffa_domain_init(struct domain *d)
      * error, so no need for cleanup in this function.
      */
 
-    if ( !ffa_partinfo_domain_init(d) )
-        return -EIO;
+    ret = ffa_partinfo_domain_init(d);
+    if ( ret )
+        return ret;
 
-    return 0;
+    return ffa_notif_domain_init(d);
 }
 
 static void ffa_domain_teardown_continue(struct ffa_ctx *ctx, bool first_time)
@@ -423,6 +470,7 @@ static int ffa_domain_teardown(struct domain *d)
         return 0;
 
     ffa_rxtx_domain_destroy(d);
+    ffa_notif_domain_destroy(d);
 
     ffa_domain_teardown_continue(ctx, true /* first_time */);
 
@@ -502,6 +550,7 @@ static bool ffa_probe(void)
     if ( !ffa_partinfo_init() )
         goto err_rxtx_destroy;
 
+    ffa_notif_init();
     INIT_LIST_HEAD(&ffa_teardown_head);
     init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
 
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
new file mode 100644
index 000000000000..949587cf4b80
--- /dev/null
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -0,0 +1,331 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2024  Linaro Limited
+ */
+
+#include <xen/const.h>
+#include <xen/list.h>
+#include <xen/spinlock.h>
+#include <xen/types.h>
+
+#include <asm/smccc.h>
+#include <asm/regs.h>
+
+#include "ffa_private.h"
+
+static bool __ro_after_init notif_enabled;
+
+int ffa_handle_notification_bind(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t src_dst = get_user_reg(regs, 1);
+    uint32_t flags = get_user_reg(regs, 2);
+    uint32_t bitmap_lo = get_user_reg(regs, 3);
+    uint32_t bitmap_hi = get_user_reg(regs, 4);
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    if ( flags )    /* Only global notifications are supported */
+        return FFA_RET_DENIED;
+
+    /*
+     * We only support notifications from SP so no need to check the sender
+     * endpoint ID, the SPMC will take care of that for us.
+     */
+    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_hi,
+                           bitmap_lo);
+}
+
+int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t src_dst = get_user_reg(regs, 1);
+    uint32_t bitmap_lo = get_user_reg(regs, 3);
+    uint32_t bitmap_hi = get_user_reg(regs, 4);
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /*
+     * We only support notifications from SP so no need to check the
+     * destination endpoint ID, the SPMC will take care of that for us.
+     */
+    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_hi,
+                            bitmap_lo);
+}
+
+void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.tee;
+    bool pending_global;
+
+    if ( !notif_enabled )
+    {
+        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        return;
+    }
+
+    spin_lock(&ctx->notif.lock);
+    pending_global = ctx->notif.secure_pending;
+    ctx->notif.secure_pending = false;
+    spin_unlock(&ctx->notif.lock);
+
+    if ( pending_global )
+    {
+        /* A pending global notification for the guest */
+        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
+                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_vm_id(d),
+                     0, 0, 0, 0);
+    }
+    else
+    {
+        /* Report an error if there where no pending global notification */
+        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
+    }
+}
+
+void ffa_handle_notification_get(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t recv = get_user_reg(regs, 1);
+    uint32_t flags = get_user_reg(regs, 2);
+    uint32_t w2 = 0;
+    uint32_t w3 = 0;
+    uint32_t w4 = 0;
+    uint32_t w5 = 0;
+    uint32_t w6 = 0;
+    uint32_t w7 = 0;
+
+    if ( !notif_enabled )
+    {
+        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        return;
+    }
+
+    if ( (recv & 0xFFFFU) != ffa_get_vm_id(d) )
+    {
+        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
+        return;
+    }
+
+    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM ) )
+    {
+        struct arm_smccc_1_2_regs arg = {
+            .a0 = FFA_NOTIFICATION_GET,
+            .a1 = recv,
+            .a2 = flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
+                            FFA_NOTIF_FLAG_BITMAP_SPM ),
+        };
+        struct arm_smccc_1_2_regs resp;
+        int32_t e;
+
+        arm_smccc_1_2_smc(&arg, &resp);
+        e = ffa_get_ret_code(&resp);
+        if ( e )
+        {
+            ffa_set_regs_error(regs, e);
+            return;
+        }
+
+        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
+        {
+            w2 = resp.a2;
+            w3 = resp.a3;
+        }
+
+        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
+            w6 = resp.a6;
+    }
+
+    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
+}
+
+int ffa_handle_notification_set(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t src_dst = get_user_reg(regs, 1);
+    uint32_t flags = get_user_reg(regs, 2);
+    uint32_t bitmap_lo = get_user_reg(regs, 3);
+    uint32_t bitmap_hi = get_user_reg(regs, 4);
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst >> 16) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /* Let the SPMC check the destination of the notification */
+    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
+                           bitmap_hi);
+}
+
+/*
+ * Extract a 16-bit ID (index n) from the successful return value from
+ * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
+ * returned in registers 3 to 7 with four IDs per register for 64-bit
+ * calling convention and two IDs per register for 32-bit calling
+ * convention.
+ */
+static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
+                                 unsigned int n)
+{
+    unsigned int ids_per_reg;
+    unsigned int reg_idx;
+    unsigned int reg_shift;
+
+    if ( smccc_is_conv_64(resp->a0) )
+        ids_per_reg = 4;
+    else
+        ids_per_reg = 2;
+
+    reg_idx = n / ids_per_reg + 3;
+    reg_shift = ( n % ids_per_reg ) * 16;
+
+    switch ( reg_idx )
+    {
+    case 3:
+        return resp->a3 >> reg_shift;
+    case 4:
+        return resp->a4 >> reg_shift;
+    case 5:
+        return resp->a5 >> reg_shift;
+    case 6:
+        return resp->a6 >> reg_shift;
+    case 7:
+        return resp->a7 >> reg_shift;
+    default:
+        ASSERT(0); /* "Can't happen" */
+        return 0;
+    }
+}
+
+static void notif_irq_handler(int irq, void *data)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_NOTIFICATION_INFO_GET_64,
+    };
+    struct arm_smccc_1_2_regs resp;
+    unsigned int id_pos;
+    unsigned int list_count;
+    uint64_t ids_count;
+    unsigned int n;
+    int32_t res;
+
+    do {
+        arm_smccc_1_2_smc(&arg, &resp);
+        res = ffa_get_ret_code(&resp);
+        if ( res )
+        {
+            if ( res != FFA_RET_NO_DATA )
+                printk(XENLOG_ERR "ffa: notification info get failed: error %d\n",
+                       res);
+            return;
+        }
+
+        ids_count = resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
+        list_count = ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT ) &
+                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
+
+        id_pos = 0;
+        for ( n = 0; n < list_count; n++ )
+        {
+            unsigned int count = ((ids_count >> 2 * n) & 0x3) + 1;
+            struct domain *d;
+
+            d = ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_pos));
+
+            if ( d )
+            {
+                struct ffa_ctx *ctx = d->arch.tee;
+
+                spin_lock(&ctx->notif.lock);
+                ctx->notif.secure_pending = true;
+                spin_unlock(&ctx->notif.lock);
+
+                /*
+                 * Since we're only delivering global notification, always
+                 * deliver to the first vCPU. It doesn't matter which we
+                 * chose, as long as it's available.
+                 */
+                vgic_inject_irq(d, d->vcpu[0], FFA_NOTIF_PEND_INTR_ID, true);
+
+                put_domain(d);
+            }
+
+            id_pos += count;
+        }
+
+    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
+}
+
+static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
+                                              uint32_t vcpu_count)
+{
+    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu_count,
+                           0, 0);
+}
+
+static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
+{
+    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, 0, 0);
+}
+
+void ffa_notif_init(void)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_FEATURES,
+        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
+    };
+    struct arm_smccc_1_2_regs resp;
+    unsigned int irq;
+    int ret;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+    if ( resp.a0 != FFA_SUCCESS_32 )
+        return;
+
+    irq = resp.a2;
+    if ( irq >= NR_GIC_SGI )
+        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
+    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
+    if ( ret )
+        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
+               irq, ret);
+    notif_enabled = !ret;
+}
+
+int ffa_notif_domain_init(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.tee;
+    int32_t res;
+
+    if ( !notif_enabled )
+        return 0;
+
+    res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
+    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 )
+    {
+        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
+        ctx->notif.enabled = false;
+    }
+}
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index dc1059584828..93a03c6bc672 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -306,7 +306,7 @@ static void vm_destroy_bitmap_init(struct ffa_ctx *ctx,
     }
 }
 
-bool ffa_partinfo_domain_init(struct domain *d)
+int ffa_partinfo_domain_init(struct domain *d)
 {
     unsigned int count = BITS_TO_LONGS(subscr_vm_destroyed_count);
     struct ffa_ctx *ctx = d->arch.tee;
@@ -315,7 +315,7 @@ bool ffa_partinfo_domain_init(struct domain *d)
 
     ctx->vm_destroy_bitmap = xzalloc_array(unsigned long, count);
     if ( !ctx->vm_destroy_bitmap )
-        return false;
+        return -ENOMEM;
 
     for ( n = 0; n < subscr_vm_created_count; n++ )
     {
@@ -330,7 +330,10 @@ bool ffa_partinfo_domain_init(struct domain *d)
     }
     vm_destroy_bitmap_init(ctx, n);
 
-    return n == subscr_vm_created_count;
+    if ( n != subscr_vm_created_count )
+        return -EIO;
+
+    return 0;
 }
 
 bool ffa_partinfo_domain_destroy(struct domain *d)
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 98236cbf14a3..ef8ffd4526bd 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -25,6 +25,7 @@
 #define FFA_RET_DENIED                  -6
 #define FFA_RET_RETRY                   -7
 #define FFA_RET_ABORTED                 -8
+#define FFA_RET_NO_DATA                 -9
 
 /* FFA_VERSION helpers */
 #define FFA_VERSION_MAJOR_SHIFT         16U
@@ -97,6 +98,18 @@
  */
 #define FFA_MAX_SHM_COUNT               32
 
+/*
+ * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
+ * unused, but that may change.
+ *
+ * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not used
+ * by a guest as they in a non-virtualized system typically are assigned to
+ * the secure world. Here we're free to use SGI 8-15 since they are virtual
+ * and have nothing to do with the secure world.
+ */
+#define FFA_NOTIF_PEND_INTR_ID      8
+#define FFA_SCHEDULE_RECV_INTR_ID   9
+
 /*
  * The time we wait until trying to tear down a domain again if it was
  * blocked initially.
@@ -175,6 +188,21 @@
  */
 #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
 
+/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
+#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
+#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
+#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
+#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
+
+#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
+#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
+#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
+#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
+
+/* Feature IDs used with FFA_FEATURES */
+#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
+#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
+
 /* Function IDs */
 #define FFA_ERROR                       0x84000060U
 #define FFA_SUCCESS_32                  0x84000061U
@@ -213,6 +241,27 @@
 #define FFA_MEM_FRAG_TX                 0x8400007BU
 #define FFA_MSG_SEND                    0x8400006EU
 #define FFA_MSG_POLL                    0x8400006AU
+#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
+#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
+#define FFA_NOTIFICATION_BIND           0x8400007FU
+#define FFA_NOTIFICATION_UNBIND         0x84000080U
+#define FFA_NOTIFICATION_SET            0x84000081U
+#define FFA_NOTIFICATION_GET            0x84000082U
+#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
+#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
+
+struct ffa_ctx_notif {
+    bool enabled;
+
+    /* Used to serialize access to the rest of this struct */
+    spinlock_t lock;
+
+    /*
+     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
+     * pending global notifications.
+     */
+    bool secure_pending;
+};
 
 struct ffa_ctx {
     void *rx;
@@ -228,6 +277,7 @@ struct ffa_ctx {
     struct list_head shm_list;
     /* Number of allocated shared memory object */
     unsigned int shm_count;
+    struct ffa_ctx_notif notif;
     /*
      * tx_lock is used to serialize access to tx
      * rx_lock is used to serialize access to rx
@@ -257,7 +307,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs);
 int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
 
 bool ffa_partinfo_init(void);
-bool ffa_partinfo_domain_init(struct domain *d);
+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,
@@ -271,12 +321,28 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
 uint32_t ffa_handle_rxtx_unmap(void);
 int32_t ffa_handle_rx_release(void);
 
+void ffa_notif_init(void);
+int ffa_notif_domain_init(struct domain *d);
+void ffa_notif_domain_destroy(struct domain *d);
+
+int ffa_handle_notification_bind(struct cpu_user_regs *regs);
+int ffa_handle_notification_unbind(struct cpu_user_regs *regs);
+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);
+
 static inline uint16_t ffa_get_vm_id(const struct domain *d)
 {
     /* +1 since 0 is reserved for the hypervisor in FF-A */
     return d->domain_id + 1;
 }
 
+static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
+{
+    /* -1 to match ffa_get_vm_id() */
+    return get_domain_by_id(vm_id - 1);
+}
+
 static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t v0,
                                 register_t v1, register_t v2, register_t v3,
                                 register_t v4, register_t v5, register_t v6,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:42:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:42:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709734.1108745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoJL-0002Ed-JG; Mon, 22 Apr 2024 07:41:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709734.1108745; Mon, 22 Apr 2024 07:41:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoJL-0002EW-GM; Mon, 22 Apr 2024 07:41:59 +0000
Received: by outflank-mailman (input) for mailman id 709734;
 Mon, 22 Apr 2024 07:41: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 1ryoJJ-0002EM-ST; Mon, 22 Apr 2024 07:41: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 1ryoJJ-0008VZ-Gy; Mon, 22 Apr 2024 07:41: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 1ryoJJ-0006dZ-64; Mon, 22 Apr 2024 07:41:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryoJJ-0001Mz-5J; Mon, 22 Apr 2024 07:41: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=uUlESlOxgcXo+wnt7U4T0M705YeEF5H0D00Eh2YNKNk=; b=LpCIi5RvLoopoLji52t7Z8dYgK
	yrGkADbFc3yuPVP70CL0AgT2yT6GEmOqUjXi5olMeiksgZI4f5OYgjtDKF+S/FQufzIi4EkMyx9eU
	E8mybKUG6WwkQx041d1wH0Bd0Ou+uHNDptaWvk4djOEP8wj6pc11ICPOJa5t/spH6Cj4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185753-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185753: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:xen-boot: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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
    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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ed30a4a51bb196781c8058073ea720133a65596f
X-Osstest-Versions-That:
    linux=977b1ef51866aa7170409af80740788d4f9c4841
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 07:41:57 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-vhd  8 xen-boot                 fail REGR. vs. 185750

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit2   8 xen-boot            fail pass in 185757-retest

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

version targeted for testing:
 linux                ed30a4a51bb196781c8058073ea720133a65596f
baseline version:
 linux                977b1ef51866aa7170409af80740788d4f9c4841

Last test of basis   185750  2024-04-21 12:13:57 Z    0 days
Testing same since   185753  2024-04-21 22:44:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Carlos Llamas <cmllamas@google.com>
  Christian A. Ehrhardt <lk@c--e.de>
  Chuanhong Guo <gch981213@gmail.com>
  Coia Prant <coiaprant@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Palmas <dnlplm@gmail.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com> # for x86
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Fabio Estevam <festevam@denx.de>
  Finn Thain <fthain@linux-m68k.org>
  Georgi Djakov <djakov@kernel.org>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hans de Goede <hdegoede@redhat.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ingo Molnar <mingo@kernel.org>
  Jerry Meng <jerry-meng@foxmail.com>
  Johan Hovold <johan@kernel.org>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Klara Modin <klarasmodin@gmail.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kyle Tso <kyletso@google.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Tipton <quic_mdtipton@quicinc.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oliver Neukum <oneukum@suse.com>
  Paul Cercueil <paul@crapouillou.net>
  Peter Collingbourne <pcc@google.com>
  Randy Dunlap <rdunlap@infradead.org>
  Richard Genoud <richard.genoud@bootlin.com>
  Ricky Wu <ricky_wu@realtek.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Tejun Heo <tj@kernel.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Todd Kjos <tkjos@google.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Wentong Wu <wentong.wu@intel.com>
  Xin Li (Intel) <xin@zytor.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                  fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:54:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:54:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709770.1108755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoVV-0004iu-Lm; Mon, 22 Apr 2024 07:54:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709770.1108755; Mon, 22 Apr 2024 07: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 1ryoVV-0004in-Iq; Mon, 22 Apr 2024 07:54:33 +0000
Received: by outflank-mailman (input) for mailman id 709770;
 Mon, 22 Apr 2024 07: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=Ds6W=L3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ryoVU-0004ih-K9
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:54:32 +0000
Received: from mail-vk1-xa36.google.com (mail-vk1-xa36.google.com
 [2607:f8b0:4864:20::a36])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d0dcd4a-007d-11ef-9e3a-7da7ca7a9ce9;
 Mon, 22 Apr 2024 09:54:31 +0200 (CEST)
Received: by mail-vk1-xa36.google.com with SMTP id
 71dfb90a1353d-4dac19aa9b5so1093008e0c.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 00:54:31 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 j18-20020ac86652000000b00437392f1c20sm4030087qtp.76.2024.04.22.00.54.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 00: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: 8d0dcd4a-007d-11ef-9e3a-7da7ca7a9ce9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713772470; x=1714377270; 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=OcPbgIXMS8QwkbruuSty0mIHgeNwRdS0seIARraYIb8=;
        b=PkWIuyymskGhlUxJAaQem3BlOWCPXji7EXfsg4E/MRIJJ0ocww3E+pG0wRUO/f7BrF
         f3K3beiS8G6+GKpg0vITMe/1+8ITu+QDpe6Fc35TJSPa21E7+oh2JEUOAUIPi1xigv3c
         /7na2mYnHkvOBe6xZ9faHkE4dQY+aFwuY1cw0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713772470; x=1714377270;
        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=OcPbgIXMS8QwkbruuSty0mIHgeNwRdS0seIARraYIb8=;
        b=aNfn7q5Po+jRu2yg26ahrsEZZlN7kPvqZWrk6Bczu1mtGhFwwQCIjp2sFuxna8RfYO
         myiWaPBwshtBQtmPH/GWHIbVNGhiW1hU/M5gQvghcMSATn2c0fAilrbX5xqycDGNQPnO
         bmgeSlTauyTZFW3JhluBEJskIgqT/SX0NdQXU5ND5ITIm0IvauXoWIgVowsm5VZKO/or
         smSm+RmFrR/mKffV2LFu+f+gDqbI9DdLxVKvuYejLhcPxDbWKvQt1nTL+n4I64e/CNF3
         8SGeVfcJ9cJRjFf7Kg+6AGnWF7BBOrDGrAxrKn+4guKhzHVsuWLDGLBSJkcBioYvjHes
         ygvg==
X-Forwarded-Encrypted: i=1; AJvYcCVFsx6a0fLB8Hmr4Q7+x+RSJEXwjs6M8p2AOe2eNcFoEaCzyl2BVaIK2IAvnOzCiGOClimMQxm/B3Ml2LFrgfH8K+O4dhAg1YbQoP3/LN0=
X-Gm-Message-State: AOJu0Yzev4T/MTyMXZxHptDbrQ+x/ufEGDU4M3xbmLPaTxi9pxmpzpF6
	B5Npjlf25uliXjNZwiVgwEwGXVeFPe8F8qv45icKzck8icpkVpalUtm61S+ubH0=
X-Google-Smtp-Source: AGHT+IHkM3eI37R8m0h8fR/ZBggUKhs/ODaBBE5b3lkm8qeivhh7ZA9Qcn8oETdEJfEkBIHd6OSNjQ==
X-Received: by 2002:a05:6122:134f:b0:4c0:2d32:612f with SMTP id f15-20020a056122134f00b004c02d32612fmr5378264vkp.15.1713772470313;
        Mon, 22 Apr 2024 00:54:30 -0700 (PDT)
Date: Mon, 22 Apr 2024 09:54:28 +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 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZiYXtJcefv-iMpAj@macbook>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com>
 <ZiJMj00By3X8FskL@macbook>
 <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com>

On Fri, Apr 19, 2024 at 04:34:41PM +0200, Jan Beulich wrote:
> On 19.04.2024 12:50, Roger Pau Monné wrote:
> > On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
> >> On 19.04.2024 12:02, Roger Pau Monne wrote:
> >>> Livepatch payloads containing symbols that belong to init sections can only
> >>> lead to page faults later on, as by the time the livepatch is loaded init
> >>> sections have already been freed.
> >>>
> >>> Refuse to resolve such symbols and return an error instead.
> >>>
> >>> Note such resolutions are only relevant for symbols that point to undefined
> >>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> >>> and hence must either be a Xen or a different livepatch payload symbol.
> >>>
> >>> Do not allow to resolve symbols that point to __init_begin, as that address is
> >>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> >>> resolutions against it.
> >>>
> >>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>> ---
> >>> Changes since v1:
> >>>  - Fix off-by-one in range checking.
> >>
> >> Which means you addressed Andrew's comment while at the same time extending
> >> the scope of ...
> >>
> >>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
> >>>                      break;
> >>>                  }
> >>>              }
> >>> +
> >>> +            /*
> >>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> >>> +             * livepatch payloads don't have init sections or equivalent.
> >>> +             */
> >>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> >>> +                      st_value < (uintptr_t)&__init_end )
> >>> +            {
> >>> +                printk(XENLOG_ERR LIVEPATCH
> >>> +                       "%s: symbol %s is in init section, not resolving\n",
> >>> +                       elf->name, elf->sym[i].name);
> >>
> >> ... what I raised concern about (and I had not seen any verbal reply to that,
> >> I don't think).
> > 
> > I've extended the commit message to explicitly mention the handling of
> > bounds for __init_{begin,end} checks.  Let me know if you are not fine
> > with it (or maybe you expected something else?).
> 
> Well, you mention the two symbols you care about, but you don't mention
> at all that these two may alias other symbols which might be legal to
> reference from a livepatch.

I'm having a hard time understanding why a livepatch would want to
reference those, or any symbol in the .init sections for that matter.
__init_{begin,end} are exclusively used to unmap the init region after
boot.  What's the point in livepatch referencing data that's no
longer there?  The only application I would think of is to calculate
some kind of offsets, but that would better be done using other
symbols instead.

Please bear with me, it would be easier for me to understand if you
could provide a concrete example.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 07:56:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 07:56:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709775.1108766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoWv-0005Zf-0T; Mon, 22 Apr 2024 07:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709775.1108766; Mon, 22 Apr 2024 07:56:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryoWu-0005ZY-Sn; Mon, 22 Apr 2024 07:56:00 +0000
Received: by outflank-mailman (input) for mailman id 709775;
 Mon, 22 Apr 2024 07:55:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqOW=L3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ryoWt-0005ZQ-Fq
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 07:55:59 +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 c01d31f4-007d-11ef-9e3a-7da7ca7a9ce9;
 Mon, 22 Apr 2024 09:55:57 +0200 (CEST)
Received: from BLAPR03CA0038.namprd03.prod.outlook.com (2603:10b6:208:32d::13)
 by PH7PR12MB7794.namprd12.prod.outlook.com (2603:10b6:510:276::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr
 2024 07:55:54 +0000
Received: from BL6PEPF0001AB52.namprd02.prod.outlook.com
 (2603:10b6:208:32d:cafe::64) by BLAPR03CA0038.outlook.office365.com
 (2603:10b6:208:32d::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Mon, 22 Apr 2024 07:55:54 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB52.mail.protection.outlook.com (10.167.241.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Mon, 22 Apr 2024 07:55:53 +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.35; Mon, 22 Apr
 2024 02:55:53 -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.35 via Frontend
 Transport; Mon, 22 Apr 2024 02:55: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: c01d31f4-007d-11ef-9e3a-7da7ca7a9ce9
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vr+eH4ghBYvyzJmsvGxiwnP1fqnmBcJpXQiu5IpVB0oZVECIGxrlEUU9jT5hlWWR54ktdRmtQDDBHYqf94aoe9Rrzc9eDbLwMD7zyCdxLQ3jsNZgK1ZO1DjfyktoWhY5vKFVPeQEiWaoLJ9IWY1HgG0JylYOcFEpxPO84BGw/0VQUfaKVkgmHUJmJkFHxkrDcIcOlzBQ4XZPve3SdB7ErPNYNmPxIYbbM7Fs2zkEpf7Vmqu/OUuxCcBTEs6E50EoEvaFIgqiO55ZwO8ynJ8JZu8HFVjBm56PEjvYbK5/TN/D83pqi9MrCczBKqgtyc25QoFbWocIn4VQ12MQKRuvxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fm+YWRwenv1ye/VHvqGEkNrQrzdHPLKDUQ9EWoI53tA=;
 b=fiIStNjz11nnxKzZetJRLMVQH+/11QnAilYaaN0Jaqdxvihj8kr5LhsKwsFvQC1+s+l3A3D3+TaZLtnU+doSkv9KFI1cT5PMsLkbVwfSbmkwN8iQ5WQEwckGV0Hqb8Pv/2At05aXnI/VFIAeQUFSI08U2oO0OyoxumcvPtI9P7Vze/9oHy8Uh/Qb2KtxFVssYc4bKWb2drRFjtLHxHovTn5EYoWXpRghATc2MroDQzx2xq1iqtdOXQzElhUEc8xoERCKlmcdBm6gXdYzmsL7Ms+Jl0ZKKddsw77ZqiiOb4e3rtOJrKL5juU0iYawoSx9zXCyXAaa0w3mY/jjeV0AtA==
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=Fm+YWRwenv1ye/VHvqGEkNrQrzdHPLKDUQ9EWoI53tA=;
 b=yP7iAIa63iw1uRiumD+YNk48s/UCmTJ9a18shX4oUgT4fTYf3CQA6wFRH0P9XTuvyzmaAurSejfS6v1h+ZgHsNRoabJnhmS9lHEDfIPGMXMDgkjwOh+dVqGytOx5/tmXKxePw8Qp3ilxC8+TNZf/XfLqqddzqsVzV39Lkm7Rr2Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
Date: Mon, 22 Apr 2024 09:55:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240418073652.3622828-13-luca.fancellu@arm.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: BL6PEPF0001AB52:EE_|PH7PR12MB7794:EE_
X-MS-Office365-Filtering-Correlation-Id: ec767eec-fa70-4077-4dd9-08dc62a1a2ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UEx1WWhxN1l3M0FaMTB5bTlVNiswMzFheU82MXdmajRXREh4MzZxM2x2Z2hT?=
 =?utf-8?B?VXhjRVhEZVhPdFp2WG9rSmV5MjJCUGNaVTVsZHNKNmoxSVMrM2xGWDRJb2x1?=
 =?utf-8?B?amMrTFRzSzBrVndLaHBXQlh6eHcrZndCZDMzRDRuNWNCMFdqQ2pJQ09DMm9O?=
 =?utf-8?B?dHdiOURiL2FFZE52d0dFRTNYWDYrQ1NQdE9IUFpQSnN1UzJjV2x2cktGajNQ?=
 =?utf-8?B?YXJGVGUwNHB2QjdSV0I1MkJkTDdSMXJKTDNIRWxneXBvS0xuaXROeFhPMnE5?=
 =?utf-8?B?elh5bEp3MnQvYXJCVzhBcDJQOHEweVdMV1V2R3hUcFZQaXhrOTZSdzg5SlpZ?=
 =?utf-8?B?dDZZaWwxVkRhNFY3N0JUT014QWtCSzZ4RGlvMXpwU3o0MWp4SDdMeHMrcnZV?=
 =?utf-8?B?YytUNHdqR3NOWWZIT1hRZ2hOL09CeHFNZEhUbk81MWNYdEtLZzg1OXFCOEt0?=
 =?utf-8?B?SXUyUVl2anFVQnM4QWpkZFNTZk10NitHMVJDaFRkY002TjY4eDUzRWgxNXdy?=
 =?utf-8?B?UXkzelNxMEFEYitVNkFwNGhtV2FrWm02T0tTUXFmaThDRWp6dFZkOUljUWlz?=
 =?utf-8?B?VWlYUGgvTVFMckVkajNCUWZKOHMrM0lzSkloVjJpMkVDeUxDb0VZc0gxVVJ5?=
 =?utf-8?B?T2VlR2RFamsvS3lXMUU4a0twcm10RXN2MWk0UEV3OFFjYTZqMmMraFRUblJC?=
 =?utf-8?B?aFF5SXRBTWRtVTF4UmtXRndQcmd4OVQ3TldZNExST2xxamQxMXZjQlpHa1lt?=
 =?utf-8?B?bWlvdzFTRFJLV3loNGhtRGtKekRmYVdGUWpzSkR4WWY2ODl2VDVub1dyWlpr?=
 =?utf-8?B?NzcvUDVBbzRvZkRycGxoVmxadEpEbXpUeklidXJYU1BRRytlUXNHbjlObWlV?=
 =?utf-8?B?TlNhRmVXRFpDbXp4blJnTDI2bWxJY0R2NjdDVmRhSjh1RHpDSUtaSEFzYXlQ?=
 =?utf-8?B?VklKaHViR3RBbXl0Z3RmSTFEZVdLb1JCVEJMYWF4VnBQR00vZzBMTjlmZ1ND?=
 =?utf-8?B?V3JLVnhieEhvUG5VdGlZaGdRblREdnVOOWQ0aXZaVG8xbW9WY290TTdZazlx?=
 =?utf-8?B?VUxkZTVCaXBwZldJTWhLeDJJN05QZ0p2TzRpUUZPSGJ1YU12OE5mTFdQc1Zn?=
 =?utf-8?B?MUluTWVPSGQwcTJ5U2xrWXJScEozdWNjMyt3ZHBWRmZBNVQrbFVuTHc0S3Fi?=
 =?utf-8?B?OGVnbUlCTlQraDMxVW1TRXdSbEtmVHp0aVpsWGxmdTEydVV4ZldROFBOck52?=
 =?utf-8?B?ZGFWY0JBMTNQRG5nTi8zZmQ2OFE1SThpQncrRnhXci9sck1uMXlIRTBaY3lF?=
 =?utf-8?B?MWF0OGI0ZkVPS1BxcEt1SitqVGlaTGV3UWNFc01vczlQRTFya2dacXR2Uysv?=
 =?utf-8?B?RXMzNFN0SG1VRFhldURlNVViVDVscytTSFhRRnF1RTc3T1g4aDhxVm5YK3N5?=
 =?utf-8?B?di83cExQUzBmTXVaamswMEF0b3F4eTdqS3FMcFRzQ3JaUWVYQ3c0NDJGTi92?=
 =?utf-8?B?bDBMRHdVdXNzY1laanUvSFVsWlJlNUxBOWtXUE8ySHF3bVNMcGNMNVVxNHUr?=
 =?utf-8?B?NXlHM0pLeVNXczVYekRqbW5UbU84b2NTYXJDWHZWeGd1bkpDeEZGWlZ3L251?=
 =?utf-8?B?M1kyVmNWT3lSaStLWDRndVFRbHdtTGpSZ2xjbnR1QTF2aWovODRyclgvWTNV?=
 =?utf-8?B?MlN4T2hYZ3R6YldLMlFYQitVTDAyRklRVzFaS2oveXpYaGIzMlpzYTB3ejI5?=
 =?utf-8?B?SlJ6MG1WRkRKRk5CTEdDZmhBcCtFbzRCZFF0SHZyTSt6UEE2ZjA1aDErY3Jv?=
 =?utf-8?Q?EdZeRDT+/gdiz1TxCUE87tfn9pRqA22GvIdSk=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:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2024 07:55:53.9985
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ec767eec-fa70-4077-4dd9-08dc62a1a2ce
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB52.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7794

Hi Luca,

On 18/04/2024 09:36, Luca Fancellu wrote:
> 
> 
> Currently Xen is not exporting the static shared memory regions
> to the device tree as /memory node, this commit is fixing this
> issue.
> 
> Given that now make_memory_node needs a parameter 'struct kernel_info'
> in order to call the new function shm_mem_node_fill_reg_range,
> take the occasion to remove the unused struct domain parameter.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> v3:
>  - removed previous patch that was merging the intervals, rebase
>    changes.
> v2:
>  - try to use make_memory_node, don't add overlapping ranges of
>    memory, commit message changed.
> v1:
>  - new patch
> ---
> ---
>  xen/arch/arm/dom0less-build.c           |  2 +-
>  xen/arch/arm/domain_build.c             | 34 +++++++++++++++++--------
>  xen/arch/arm/include/asm/domain_build.h |  2 +-
>  xen/arch/arm/include/asm/static-shmem.h | 15 +++++++++++
>  xen/arch/arm/static-shmem.c             | 23 +++++++++++++++++
>  5 files changed, 63 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 51cf03221d56..74f053c242f4 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -642,7 +642,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>      if ( ret )
>          goto err;
> 
> -    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
> +    ret = make_memory_node(kinfo, addrcells, sizecells,
>                             kernel_info_get_mem(kinfo));
>      if ( ret )
>          goto err;
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 68532ddc084c..15f888169c4e 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -756,15 +756,14 @@ int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
>      return fdt_begin_node(fdt, buf);
>  }
> 
> -int __init make_memory_node(const struct domain *d,
> -                            void *fdt,
> -                            int addrcells, int sizecells,
> -                            const struct membanks *mem)
> +int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
> +                            int sizecells, const struct membanks *mem)
>  {
> +    void *fdt = kinfo->fdt;
>      unsigned int i;
>      int res, reg_size = addrcells + sizecells;
>      int nr_cells = 0;
> -    __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
> +    __be32 reg[DT_MEM_NODE_REG_RANGE_SIZE];
>      __be32 *cells;
> 
>      if ( mem->nr_banks == 0 )
> @@ -797,14 +796,28 @@ int __init make_memory_node(const struct domain *d,
>          if ( mem->bank[i].type == MEMBANK_STATIC_DOMAIN )
>              continue;
> 
> -        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
> -                   i, start, start + size);
> -
>          nr_cells += reg_size;
>          BUG_ON(nr_cells >= ARRAY_SIZE(reg));
>          dt_child_set_range(&cells, addrcells, sizecells, start, size);
>      }
> 
> +    /*
> +     * static shared memory banks need to be listed as /memory node, so when
> +     * this function is handling the normal memory, add the banks.
> +     */
> +    if ( mem == kernel_info_get_mem(kinfo) )
> +        shm_mem_node_fill_reg_range(kinfo, reg, &nr_cells, addrcells,
> +                                    sizecells);
> +
> +    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
> +    {
> +        u64 start = dt_read_number(cells, addrcells);
We should no longer use Linux derived types like u64. Use uint64_t.

> +        u64 size = dt_read_number(cells + addrcells, sizecells);
> +
> +        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
> +                   i, start, start + size);
i is unsigned so the correct format specifier should be %u

> +    }
> +
>      dt_dprintk("(reg size %d, nr cells %d)\n", reg_size, nr_cells);
> 
>      res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg));
> @@ -1783,7 +1796,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
>          if ( res )
>              return res;
> 
> -        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
> +        res = make_memory_node(kinfo, addrcells, sizecells,
>                                 kernel_info_get_mem(kinfo));
>          if ( res )
>              return res;
> @@ -1794,8 +1807,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
>           */
>          if ( reserved_mem->nr_banks > 0 )
>          {
> -            res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
> -                                   reserved_mem);
> +            res = make_memory_node(kinfo, addrcells, sizecells, reserved_mem);
>              if ( res )
>                  return res;
>          }
> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
> index 026d975da28e..45936212ca21 100644
> --- a/xen/arch/arm/include/asm/domain_build.h
> +++ b/xen/arch/arm/include/asm/domain_build.h
> @@ -14,7 +14,7 @@ int make_chosen_node(const struct kernel_info *kinfo);
>  int make_cpus_node(const struct domain *d, void *fdt);
>  int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
>                           int addrcells, int sizecells);
> -int make_memory_node(const struct domain *d, void *fdt, int addrcells,
> +int make_memory_node(const struct kernel_info *kinfo, int addrcells,
>                       int sizecells, const struct membanks *mem);
>  int make_psci_node(void *fdt);
>  int make_timer_node(const struct kernel_info *kinfo);
> diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
> index 7495a91e7a31..3b6569e5703f 100644
> --- a/xen/arch/arm/include/asm/static-shmem.h
> +++ b/xen/arch/arm/include/asm/static-shmem.h
> @@ -3,10 +3,15 @@
>  #ifndef __ASM_STATIC_SHMEM_H_
>  #define __ASM_STATIC_SHMEM_H_
> 
> +#include <xen/types.h>
>  #include <asm/kernel.h>
> +#include <asm/setup.h>
> 
>  #ifdef CONFIG_STATIC_SHM
> 
> +/* Worst case /memory node reg element: (addrcells + sizecells) */
> +#define DT_MEM_NODE_REG_RANGE_SIZE ((NR_MEM_BANKS + NR_SHMEM_BANKS) * 4)
> +
>  int make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
>                            int sizecells);
> 
> @@ -37,8 +42,14 @@ int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
>  int make_shm_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
>                                int sizecells);
> 
> +void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo, __be32 *reg,
> +                                 int *nr_cells, int addrcells, int sizecells);
> +
>  #else /* !CONFIG_STATIC_SHM */
> 
> +/* Worst case /memory node reg element: (addrcells + sizecells) */
> +#define DT_MEM_NODE_REG_RANGE_SIZE (NR_MEM_BANKS * 4)
> +
>  static inline int make_resv_memory_node(const struct kernel_info *kinfo,
>                                          int addrcells, int sizecells)
>  {
> @@ -86,6 +97,10 @@ static inline int make_shm_resv_memory_node(const struct kernel_info *kinfo,
>      return 0;
>  }
> 
> +static inline void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
> +                                               __be32 *reg, int *nr_cells,
> +                                               int addrcells, int sizecells) {};
> +
>  #endif /* CONFIG_STATIC_SHM */
> 
>  #endif /* __ASM_STATIC_SHMEM_H_ */
> diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
> index c85f60dd1bf7..07c93a820508 100644
> --- a/xen/arch/arm/static-shmem.c
> +++ b/xen/arch/arm/static-shmem.c
> @@ -1,5 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0-only */
> 
> +#include <xen/device_tree.h>
>  #include <xen/libfdt/libfdt.h>
>  #include <xen/rangeset.h>
>  #include <xen/sched.h>
> @@ -668,6 +669,28 @@ int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
>      return res;
>  }
> 
> +void __init shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
> +                                        __be32 *reg, int *nr_cells,
> +                                        int addrcells, int sizecells)
> +{
> +    const struct membanks *mem = &kinfo->shm_mem.common;
> +    unsigned int i;
> +    __be32 *cells;
> +
> +    BUG_ON(!nr_cells || !reg);
> +
> +    cells = &reg[*nr_cells];
> +    for ( i = 0; i < mem->nr_banks; i++ )
> +    {
> +        u64 start = mem->bank[i].start;
ditto

Rest LGTM:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 08:07:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 08:07:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709791.1108779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryohz-0008Pz-Ks; Mon, 22 Apr 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 709791.1108779; Mon, 22 Apr 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 1ryohz-0008Ps-HU; Mon, 22 Apr 2024 08:07:27 +0000
Received: by outflank-mailman (input) for mailman id 709791;
 Mon, 22 Apr 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=jyNC=L3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ryohy-0008Pm-K9
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 08:07:26 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2607::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59cc3c58-007f-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 10:07:24 +0200 (CEST)
Received: from AS4PR09CA0027.eurprd09.prod.outlook.com (2603:10a6:20b:5d4::17)
 by PAXPR08MB6560.eurprd08.prod.outlook.com (2603:10a6:102:12d::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr
 2024 08:07:16 +0000
Received: from AM3PEPF00009BA0.eurprd04.prod.outlook.com
 (2603:10a6:20b:5d4:cafe::27) by AS4PR09CA0027.outlook.office365.com
 (2603:10a6:20b:5d4::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Mon, 22 Apr 2024 08:07:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF00009BA0.mail.protection.outlook.com (10.167.16.25) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Mon, 22 Apr 2024 08:07:12 +0000
Received: ("Tessian outbound 9fd7e4b543e6:v313");
 Mon, 22 Apr 2024 08:07:12 +0000
Received: from 9dc1e4e88d08.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2FDDA571-6B9D-4C36-9FE9-759CA3492BFE.1; 
 Mon, 22 Apr 2024 08:07:06 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9dc1e4e88d08.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Apr 2024 08:07:06 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV1PR08MB10855.eurprd08.prod.outlook.com (2603:10a6:150:161::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr
 2024 08:07:04 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7472.044; Mon, 22 Apr 2024
 08:07: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: 59cc3c58-007f-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ZcrJauMswPQYkB/hUzwqUsQoMaSotiVh2bPqYMzQN7QYKNkWEeYViokutgF6zLTorkrk5hVeQrbRsdNXadaXzkxyGURjXtSMv5SYpwyT/eZLIY8OsqQ/70QPwGC3ouD/kQZvKcQmiPjR0pWX7k9cq7QZWmttXa8VMPuDdWYHhmxo6TBVR97HammwWffBhJT/lTwnur8LdpElT5N6z8JPsDv6ZUW58vEY9vv6URl80l0MvPX0gLTXYOCHXH8hxz+oC+vZvrj+D6D4HZIZXcFS6zGyZ/mZRSyfppbParhO+exBCPnZ/vsmaqP2n0tTxXF+nK8uaKJ4xHOgaSwE3gUkeA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z7tpRLoA0OHlbCKCS558M+RCfF1lZEW6xmDe19Ne6Cc=;
 b=VXfHKpSasWBAxA14HCynZ6kKBaWD8Z37IHukqxFE+GXW9UxbhuUI3GemS06ZsGOWl1Fvt6Ee3u5I/+XBNyc78+dMkFRW+XQiiBdhKKdmR6PVbU4UpGo1jr5BfM5GkuEMlV0pQFjSqiW1zJnD5IRfJcOqYTkXu5l4GMPDKIqGT5+gpkl/udPNMx7xCrlDhY79iubuFfQ6hqqSIeTHvCW8AinxGpfyGrDgUQCyuQXuZSwx8DIjmeVzdu+Xz8tm9I+hlvgkxvYJ2BMRyKzgP4s409Whh0pN1hBzX1BXDWbbgMmnJjCJhO/Jpi0Pi4ZJd2WWDKJpuKB2Pb/szu0CZedv1Q==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z7tpRLoA0OHlbCKCS558M+RCfF1lZEW6xmDe19Ne6Cc=;
 b=nPAUi2jvdvbVG/xoCqdfJrleb6FK4rSa6zzstqNEuPZr+JTF03qM0nmhGsVv5DXwJT9VaKomzn4xJ1qkOoV1oPyv8iiWNpBrBbnhtZr+gr2dhTpZw9vmvnybfO40xuAMaxTd2zfOhs84mGrvVdF1SaM49qN3udX5sXuLXrqKG2s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 5857428c717df537
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dWL0JA15NjRswOc7azmFksrZXNU9i5Y1cvAMvDLuU7lVqCipa1hXElx5xNPo5A61kvK1CgySrt1ztED/O6RRQ4WI+9UMqgsTQw4wydpTEvpFa+f0QruTs+3yjhVv6lvC5oQX1isFDRqDz1hzsD0NdCF1knQ5a8SkFGU5sp08yy/cvdPfBb9GzN6WZGcrAgJKMP74MkUM6Y59NdmZsK9iU5F1KLA4/KngO4Qgs48oIX18zM/4ZCpdQ0hiDaENYC93nufZZp5YTpUYVcwFMp4eVyWglrg736h9maRNz/tneDc6JPzKh+D8yxdxFcPDja1/U2+4Hle44S05qN8sHRYFVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z7tpRLoA0OHlbCKCS558M+RCfF1lZEW6xmDe19Ne6Cc=;
 b=gSgzY096odIpAQ8m4LH4ykLDwNWdHBUShb9uX7IMBMWz8vTDZJPUMcVvHcPERQjHiyF2729/kFOqvyj9Lu1O6LVzEDnC2Yu6fgxc3QwqgPOHb3x6sEyzHPqsgPUJrnbPW7Ez4O42f0GAhqFNOEpkN+nnD1EgyJ1ZbAxS7BQYgQF068aNcVbiaSsu+j73mnyOLehm9Iu0o6Q/ysC2yEqM1rvoLbzlD5pS/BdxT3Ti+G2uL1RpNQDwt9diIjleut0l1MXKqbI9YGy62NcwytMwlrWlsZ3cq4hXNwNbnirdajrV/zJ6PsLRyzxmNjmlDNo+8GTNB1LS6SqqFao41LNhXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z7tpRLoA0OHlbCKCS558M+RCfF1lZEW6xmDe19Ne6Cc=;
 b=nPAUi2jvdvbVG/xoCqdfJrleb6FK4rSa6zzstqNEuPZr+JTF03qM0nmhGsVv5DXwJT9VaKomzn4xJ1qkOoV1oPyv8iiWNpBrBbnhtZr+gr2dhTpZw9vmvnybfO40xuAMaxTd2zfOhs84mGrvVdF1SaM49qN3udX5sXuLXrqKG2s=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Topic: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Index: AQHakWRKhhfM1dXXeUO6IItBh4LVR7Fz8i4AgAADG4A=
Date: Mon, 22 Apr 2024 08:07:03 +0000
Message-ID: <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
 <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
In-Reply-To: <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV1PR08MB10855:EE_|AM3PEPF00009BA0:EE_|PAXPR08MB6560:EE_
X-MS-Office365-Filtering-Correlation-Id: 9afddc87-be64-465b-44df-08dc62a33783
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Unl3OVVXMlNvRUplQ1g0SFg0cHdjQmFFU1M5eGpDNDNZK0dXdkJCKzAvVHpG?=
 =?utf-8?B?WVdXeVNmREZLWGRjbmVQWGluUjFqUi9jTGg3ZUxmRlg2aHpTREVSWVRTL0Zs?=
 =?utf-8?B?SlZVL3U4Qk85c1dJWnNuR1N2Q0FOU01zMHZtRnNydkkwTWZiOU5vNWlsTUZM?=
 =?utf-8?B?NWt1elBLbk1SVThNNTYzVHJ3a05OOERoQlFxMmVBUURBWVdXeXVXalRhOVVu?=
 =?utf-8?B?SDZ1bE5VcXo2cytjYTMwaXNtNTZvdUNLcEJqYjNGK1ZDVkNLWEE0OFRYUjRQ?=
 =?utf-8?B?TnZ3N0F2ZGlIVTNIcWdmZ09FT3JEc2Q2MzZTUEY4aVZTTEN1anNRby83V0kv?=
 =?utf-8?B?dU9ueWlseGFId0lIMisrS0E4ZlVOWEw0bXFIcFZreFN5ZTdiemFOY05KcGFL?=
 =?utf-8?B?cmNGS29scTgwS2pjSGFoUzFkcGc4MFpmUUpPZGlkR3QyL1p1cjh3RkpzUHQy?=
 =?utf-8?B?aXF2UkgvZGxpOVZXdFFwMVIrVFZoT0pSVVNpZDU5dUtaa3k5RklVdVRNd1c1?=
 =?utf-8?B?TjlSZVJOWGtFdUhBWG5FUUZkN3hyVnNUMVBEVWkzdXo4dWVkTUh1NkpaQ2hV?=
 =?utf-8?B?NmNBaFFLVU5TYlIyY0k1cUlLd3lqODJHSTJpSHFXbnJaekhZTVp3dGMxMWND?=
 =?utf-8?B?U3NtMHRLWTNzYktpRzZqNXlmTW9UTFZnWXpwYlpsZnFkbWEwU3BMM1hqeWFS?=
 =?utf-8?B?QWpjanlFb3ZvS1ZRbFZzVjN1YUNjdjcwYTQ3OElhZVI0WEI5ZTRaZlJVdnZO?=
 =?utf-8?B?LzN0SXJlSDhGZWpEY0djWU5aSGg1MkVzRFdVU1BkaEpnL2J2WjFTT2hLMkM1?=
 =?utf-8?B?K1h6Y1RTSFhka0tkK25jWFdPR3ZNcFZMNnFIS1hQSGx3SnEzVlVieEE3M051?=
 =?utf-8?B?UU9jQ0lGb2JIUFpVTE5sRFZqWXpzN0EyamlOQ2ZFcWVLby83cysxNTZCRlN3?=
 =?utf-8?B?cVJhRmcwQXQvSG5QbjNDRkdJNlV1aDdPTXh0UWF4M3M3ZXZxV0tkSzZoVk1L?=
 =?utf-8?B?Kyt6RUhCZ1R1UUdXdzRVSHpYMHpUclhKMDBLOHh3cG04blRLMTBLNGJ3OG5z?=
 =?utf-8?B?a3BqbXFmYVVZT3hDWHRjalpaSWRYZ0lQMFBhekh0M0YzcFdsdHQzazR6WUVN?=
 =?utf-8?B?ZkVxQVh4SGlIUnAvK1gxbGdNQjVRaE5iekZTUjdUVFE4RGhlNEtvaDk3N0NN?=
 =?utf-8?B?bHU1QTRLYnFsK0cwdVQrK29tUG9Fd3NkejNqd2VkdEtDWi9CWjFvYk4rS1Mr?=
 =?utf-8?B?MVRxb3Q0VjVzQmZmcUVSMS9nUXoySDZOeXllLzIvNVF2ZzI4SU0rQVltVkg4?=
 =?utf-8?B?ejFLOFM3RkNiU0YwSjV1aEVTZmNHY1FZeEFwNm1LWncrK2pKUGE4V1dldms3?=
 =?utf-8?B?SE41dzQ3Zmoza3lkZ2VIU1FGV0JuNmtEWERWeldLb3l0ZDNiMFk5d3F3TGE3?=
 =?utf-8?B?MHhCU1JaMUtrbHBobXFaZWJUSjM4UW1rT25hdUNRczdVMTd4SFg5Rjc0OHpT?=
 =?utf-8?B?dng0UW5obEQ1OUZGOXZ4a3FlRzFYU2l4NXBEZC9DZGpMV1pVRU14NktRcDRq?=
 =?utf-8?B?QXJ4WGcrWVpQNzJhN2Y0TkgrVlZLOUs3cjMwNzlBRjNxTURrVzhiODJ5V3RZ?=
 =?utf-8?B?NCtwTEFVSnFndkZkanVoRnplUmRjZUdnRG5FV2dMSUZhTzVoUTJaT3UrMDZl?=
 =?utf-8?B?YVRkbDltRk9QSWdmakd4d3JtMUhSTkV2dmRkRkppZHlGbnExdjNERENiMnA4?=
 =?utf-8?B?bWRlSENkWXF5SEZQVHJnZGticE9QZFA3L0pmcnp5OXkzR002d0ZRc2ZRanVQ?=
 =?utf-8?B?ZWY3WC9nckc2L2ZUMzd3QT09?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E9620D97E256434F9EE681BF80A4EBE5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10855
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF00009BA0.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	51c620d1-f1e9-4985-036b-08dc62a3320e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NVhvWU0xZTVtbHFpUytOSlJGRzduTlZjcWtzQnY0aUM0MFBUTTdMQysvcU8v?=
 =?utf-8?B?M3JoT3prcWNwVnJpMTgrK1JvZDFuK0IzMG1JMjQ1eWc1a3FkS1VYdlBPM2NJ?=
 =?utf-8?B?a0M3K1planZNSXVYa1ZuZkp4UnlJT3NjM2JnbTZvNjR1d0p0aC9OdXBNOFI4?=
 =?utf-8?B?S3JPbnowaTY1WVhJNWtBOC91V1I1SW02STBvWEFueGRtSmU2UVVlckxxQmt1?=
 =?utf-8?B?MEI3dkFIbmtmNmJFSzJpZ3R0QnZjUjB6LzZTZVUwa0drYnB2bXFFN1RlZjhz?=
 =?utf-8?B?MWlUbzZ5S1VndVlFS2dweUhEaFJNQlVxVWk4NENwQ2xyRWdmWXptbjJpZjNK?=
 =?utf-8?B?ZExrVWZFdEZ4REp5T2cxLzUwdy91VXFKQTU2dkRQYUdqZThjY1hkd1pJc0Ju?=
 =?utf-8?B?RFkvVGxVWHpyVU9saVhURFI5STNIcDVGSVV2UXg3ZXExTzh3NVJMYjBlYmwy?=
 =?utf-8?B?bHJtNFR4UG9sbEI5c01DdkVieEJyaTlKNFZXUWMzQmJiSXpwRE1oR2ZsMktO?=
 =?utf-8?B?b3IrNzRReldPVG9tbDgrbU00MXNiTWdiVGtYb3NNMDZwWjhKRDZIWml6RTJr?=
 =?utf-8?B?SmZ6NGF2R285QXpNM1ZoZDNGTTJxeG9RaVpCcCtMT3orN3lIVFBwc2VUbXlx?=
 =?utf-8?B?V055NmE0MXZ5UmpNbkVMY3dQN05LVm5MYVh0RVFnNmVOU1ZwM2QyeU8rWjU3?=
 =?utf-8?B?S3I2ZUhzNDJncXhSSlFsWXJOaDQ1dVkycEw0ZWEyMUgya3IxelI4UTNBOFNT?=
 =?utf-8?B?elZhZnJ6ci9iR2Y4a3R2U2EzWlE3Z0Q3dnNIejRjUlAwRjRUVEM2aUxDOTkz?=
 =?utf-8?B?WG0zMUFndTZaN0pORjhjNHJyS1lSeVVzWSs5bVR2ck5ES3JwT3VjR29KMlUz?=
 =?utf-8?B?cUcrcGovc1ZyeHNTTGc5a1cxQkYwRmk1eitoZkZQcXlCeWY1clkzd1pFdFJ4?=
 =?utf-8?B?WG5OeWR4UGhhQ2xsNCs3UGo3dkFOMEJodEQvZzM2Zm0xbHJVRHQ2NGNTL09j?=
 =?utf-8?B?UWxJWWdtNHU1bkNkNVBBQXZqdkI5Sm9DQUkwZ3VDT3ptVTNva0xSWE52eG5Z?=
 =?utf-8?B?SUxoOWpQMW1LaTdEV1U3MEVtWmIwMDFtTnhPWnpQVlZTQUZGWUo2QWJVNmpM?=
 =?utf-8?B?ZGdkdWpiWWh3SlFaMXBHQnVNQ3RVY3dDOGZzYUNpYmFRUUdLNE5pSTBPQS9m?=
 =?utf-8?B?VW40NjFHRVQ3NVNua3Bqbk1tMTNpcHpxVEwyZ1B3REFvYTgwQnJ4NjBXNU9B?=
 =?utf-8?B?SmRON2dYWXRYeEFGWkU1cGlVNWFRaXlHanlpUE5nUjhDeWh1ZW9qblVyQ2VF?=
 =?utf-8?B?V1pBZ0NKdnFySS9yRjNlZkkyR1FhYit6TUtlVC91cExlajYxRFFHOXJybHdp?=
 =?utf-8?B?T3hpVWgyV2o1ZUFYb0RuSEdaaC9leGREczUwTmpTL09xZVFTRnBBWWN5clhH?=
 =?utf-8?B?NG9WSW14b0ZrRTZaSE90RDVxSmQ4bFJsMDBsVmNTQXZ0Ui8wVzI1cy9BYXhY?=
 =?utf-8?B?VGdNOFFjcUFQMnlja051SUt0OVRkOU9OdU9RY1VrY1BieWZKbnFuMFBIY3Ax?=
 =?utf-8?B?Z3owMDd0OEdrQ3BEQlFEaEtKKzlsQjRHSVh2N040RURFMC93RE5Bd2FYRGwx?=
 =?utf-8?B?bjRobHJ5cFlLVEVQNkxtUE1IeU1XZzRpdUpEMDJnUXBEMFZCVUVyQUI5NTQ3?=
 =?utf-8?B?U1FDMS9Xc1h0TEM1dGdZQzVZZVQyNTlYb0pIZTFBVFFxb0pRLzM2SGQydkk0?=
 =?utf-8?B?bnl0S1VrbCtNaGVVTUpoR3BzTU03ZERkSllkeVY3M1FPVjBXZjJ5NmFmUVZE?=
 =?utf-8?B?VDJPNFg3UVNDSmJKN3JyL1VnTmU4L09xdFBsTkF1R0l5U1lOaGt1SzdGeElw?=
 =?utf-8?Q?S+awNhR6DIoAn?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2024 08:07:12.9683
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9afddc87-be64-465b-44df-08dc62a33783
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF00009BA0.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6560

SGkgTWljaGFsLA0KDQo+PiArICAgIGZvciAoIGNlbGxzID0gcmVnLCBpID0gMDsgY2VsbHMgPCBy
ZWcgKyBucl9jZWxsczsgaSsrLCBjZWxscyArPSByZWdfc2l6ZSApDQo+PiArICAgIHsNCj4+ICsg
ICAgICAgIHU2NCBzdGFydCA9IGR0X3JlYWRfbnVtYmVyKGNlbGxzLCBhZGRyY2VsbHMpOw0KPiBX
ZSBzaG91bGQgbm8gbG9uZ2VyIHVzZSBMaW51eCBkZXJpdmVkIHR5cGVzIGxpa2UgdTY0LiBVc2Ug
dWludDY0X3QuDQo+IA0KPj4gKyAgICAgICAgdTY0IHNpemUgPSBkdF9yZWFkX251bWJlcihjZWxs
cyArIGFkZHJjZWxscywgc2l6ZWNlbGxzKTsNCj4+ICsNCj4+ICsgICAgICAgIGR0X2RwcmludGso
IiAgQmFuayAlZDogJSMiUFJJeDY0Ii0+JSMiUFJJeDY0IlxuIiwNCj4+ICsgICAgICAgICAgICAg
ICAgICAgaSwgc3RhcnQsIHN0YXJ0ICsgc2l6ZSk7DQo+IGkgaXMgdW5zaWduZWQgc28gdGhlIGNv
cnJlY3QgZm9ybWF0IHNwZWNpZmllciBzaG91bGQgYmUgJXUNCg0KUmlnaHQsIHNob3VsZCBoYXZl
IGJlZW4gbW9yZSBjYXJlZnVsIHdoZW4gY29weWluZyB0aGUgY29kZSBmcm9tIGFib3ZlDQoNCj4+
IA0KPj4gK3ZvaWQgX19pbml0IHNobV9tZW1fbm9kZV9maWxsX3JlZ19yYW5nZShjb25zdCBzdHJ1
Y3Qga2VybmVsX2luZm8gKmtpbmZvLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBfX2JlMzIgKnJlZywgaW50ICpucl9jZWxscywNCj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFkZHJjZWxscywgaW50IHNpemVjZWxscykN
Cj4+ICt7DQo+PiArICAgIGNvbnN0IHN0cnVjdCBtZW1iYW5rcyAqbWVtID0gJmtpbmZvLT5zaG1f
bWVtLmNvbW1vbjsNCj4+ICsgICAgdW5zaWduZWQgaW50IGk7DQo+PiArICAgIF9fYmUzMiAqY2Vs
bHM7DQo+PiArDQo+PiArICAgIEJVR19PTighbnJfY2VsbHMgfHwgIXJlZyk7DQo+PiArDQo+PiAr
ICAgIGNlbGxzID0gJnJlZ1sqbnJfY2VsbHNdOw0KPj4gKyAgICBmb3IgKCBpID0gMDsgaSA8IG1l
bS0+bnJfYmFua3M7IGkrKyApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIHU2NCBzdGFydCA9IG1l
bS0+YmFua1tpXS5zdGFydDsNCj4gZGl0dG8NCg0KV2lsbCBmaXgsIGhlcmUgcGFkZHJfdCBzaG91
bGQgYmUgb2sgaXNu4oCZdCBpdD8NCg0KPiANCj4gUmVzdCBMR1RNOg0KPiBSZXZpZXdlZC1ieTog
TWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4NCg0KVGhhbmtzLCBJIHdpbGwgc2Vu
ZCB0aGUgbmV4dCBvbmUgc2hvcnRseS4NCg0KQ2hlZXJzLA0KTHVjYQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 08:25:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 08:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709797.1108788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryozf-0003fb-1k; Mon, 22 Apr 2024 08:25:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709797.1108788; Mon, 22 Apr 2024 08: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 1ryoze-0003fU-VV; Mon, 22 Apr 2024 08:25:42 +0000
Received: by outflank-mailman (input) for mailman id 709797;
 Mon, 22 Apr 2024 08: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryozd-0003fN-H5
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 08:25: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 e6a5019b-0081-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 10:25:39 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-51abf1a9332so3696420e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 01:25: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm19535447wmq.34.2024.04.22.01.25.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 01: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: e6a5019b-0081-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713774338; x=1714379138; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Z09yrUEqNxkibujxU/JhmYSCkYyUN4eIyi4tJ1hIXYk=;
        b=DAbFvzDgtQy41lRN+MuB0Y/zyGGYBl2yaTdR+UMXPr6kYKQoGL+ncxaSanuE6RFD5F
         qiJloDHLmwlreeskJ0Z4OueeKumqvfhu0hzpD/qIikolKHm10PBFBh+IYqQJwG71Jnd/
         F6VMNfJMKvxVeL2EhEdFQ3Ic1Sd1Aus2jhL5ldaYkyxm7qHXGniYXDzMAmOfr/DOcsCp
         VfzBcXPws/zfYNKrF92SCvYYZKyD+p8Gs8o1VyiiT8USjmeZFlaG9nz9YbZqaOPHFwza
         iuYmVmf/x15ckxFswWdZ59CkelUby5LKVagCxNZlO1G0MuYPRjQ4fGOnUsO+SRLfqU98
         4WHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713774338; x=1714379138;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Z09yrUEqNxkibujxU/JhmYSCkYyUN4eIyi4tJ1hIXYk=;
        b=XZ3aQLf8Akxxnor7hhbbk46sV4eNs7aMed1HIX9EtqxMH5iqI491y1DisqFcjAQJQK
         lB3Ri8bSvMQrPDIgcRmzikkOWjV6FU0jEE6HLW3Vs7/zN/szy9dPukUT3x5kJYC/6DUp
         HXEvkuFtTPXKaE9D+PS0LXG3OR5eYVbvJon923KAwpvkht2851iEHblLpCQ0wMObXB6P
         RdVaKp2v+LzQEqv7piZrRosj3hhDndOCOBalTVTT1vYFRxK6tqOEH2JGhDfjUSKGF88f
         Tn6cH2Mw3tqQtZX2XBPtfYUJ7BM1T87TIuYiZ1b+rle0q7iOyC/4MIayBaHy1UH1xwbE
         ewHw==
X-Forwarded-Encrypted: i=1; AJvYcCUAclDjnXa0jVbvbzjB0mHqqKWRju92Ri9jpe/497/krU+veptgT3dZZL7cGAC6XBowDzJR3jPXhZMQEi97nkHPOqyDI9bGmTJwr7smnx4=
X-Gm-Message-State: AOJu0YwAx56FYLvVGMR4LGdUhh2LThzYcolXqp4BoxYH8uyGSSXyVXUt
	eoCMYl6smewE13I6hBtAiUf45BLxrZDM5i3DJz58wJXfdt4eUm4VOKpLFfVJef4rWqVpFapyWQY
	=
X-Google-Smtp-Source: AGHT+IFO6H2Qktv5INGTu34at6TTwrWNAYlMoMhTnTcuBE6898qoDiNVafBTUZTex4RAXTV2/gj+3g==
X-Received: by 2002:a2e:740f:0:b0:2da:38f:b09c with SMTP id p15-20020a2e740f000000b002da038fb09cmr5263915ljc.18.1713774338577;
        Mon, 22 Apr 2024 01:25:38 -0700 (PDT)
Message-ID: <f00e0b8b-0e45-45b1-9151-6c16c5a70d76@suse.com>
Date: Mon, 22 Apr 2024 10:25:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Content-Language: en-US
To: =?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: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com> <ZiJMj00By3X8FskL@macbook>
 <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com> <ZiYXtJcefv-iMpAj@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZiYXtJcefv-iMpAj@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.04.2024 09:54, Roger Pau Monné wrote:
> On Fri, Apr 19, 2024 at 04:34:41PM +0200, Jan Beulich wrote:
>> On 19.04.2024 12:50, Roger Pau Monné wrote:
>>> On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
>>>> On 19.04.2024 12:02, Roger Pau Monne wrote:
>>>>> Livepatch payloads containing symbols that belong to init sections can only
>>>>> lead to page faults later on, as by the time the livepatch is loaded init
>>>>> sections have already been freed.
>>>>>
>>>>> Refuse to resolve such symbols and return an error instead.
>>>>>
>>>>> Note such resolutions are only relevant for symbols that point to undefined
>>>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
>>>>> and hence must either be a Xen or a different livepatch payload symbol.
>>>>>
>>>>> Do not allow to resolve symbols that point to __init_begin, as that address is
>>>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
>>>>> resolutions against it.
>>>>>
>>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>>>> ---
>>>>> Changes since v1:
>>>>>  - Fix off-by-one in range checking.
>>>>
>>>> Which means you addressed Andrew's comment while at the same time extending
>>>> the scope of ...
>>>>
>>>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>>>>>                      break;
>>>>>                  }
>>>>>              }
>>>>> +
>>>>> +            /*
>>>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
>>>>> +             * livepatch payloads don't have init sections or equivalent.
>>>>> +             */
>>>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
>>>>> +                      st_value < (uintptr_t)&__init_end )
>>>>> +            {
>>>>> +                printk(XENLOG_ERR LIVEPATCH
>>>>> +                       "%s: symbol %s is in init section, not resolving\n",
>>>>> +                       elf->name, elf->sym[i].name);
>>>>
>>>> ... what I raised concern about (and I had not seen any verbal reply to that,
>>>> I don't think).
>>>
>>> I've extended the commit message to explicitly mention the handling of
>>> bounds for __init_{begin,end} checks.  Let me know if you are not fine
>>> with it (or maybe you expected something else?).
>>
>> Well, you mention the two symbols you care about, but you don't mention
>> at all that these two may alias other symbols which might be legal to
>> reference from a livepatch.
> 
> I'm having a hard time understanding why a livepatch would want to
> reference those, or any symbol in the .init sections for that matter.
> __init_{begin,end} are exclusively used to unmap the init region after
> boot.  What's the point in livepatch referencing data that's no
> longer there?  The only application I would think of is to calculate
> some kind of offsets, but that would better be done using other
> symbols instead.
> 
> Please bear with me, it would be easier for me to understand if you
> could provide a concrete example.

The issue is that you do comparison by address, not by name. Let's assume
that .rodata ends exactly where .init.* starts. Then &__init_begin ==
&_erodata == &__2M_rodata_end. Access to the latter two symbols wants to
be permitted; only __init_begin and whatever ends up being the very first
symbol in .init.* ought to not be referenced.

Worse (but contrived) would be cases of "constructed" symbols derived from
ones ahead of __init_begin, with an offset large enough to actually point
into .init.*. Such are _still_ valid to be used in calculations, as long
as no deref occurs for anything at or past __init_begin.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 08:27:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 08:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709800.1108799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryp1Y-0004BR-Eh; Mon, 22 Apr 2024 08:27:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709800.1108799; Mon, 22 Apr 2024 08:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryp1Y-0004BK-AL; Mon, 22 Apr 2024 08:27:40 +0000
Received: by outflank-mailman (input) for mailman id 709800;
 Mon, 22 Apr 2024 08:27:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryp1X-0004B8-2o; Mon, 22 Apr 2024 08:27:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryp1W-0001Qh-Tg; Mon, 22 Apr 2024 08:27: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 1ryp1W-0008Mz-JN; Mon, 22 Apr 2024 08:27:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryp1W-00062S-Ij; Mon, 22 Apr 2024 08:27:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J76eXUpKVqbIinfr1am+lDqK4Igv4GNZmfBcJtOdwbg=; b=ZCTYZVZm4yt6IeG9gk1w9jsQCG
	8RXCqa6ktCwVUSnS90Z4WkFd1h4lF8xZeung/AC6RTAWr3qnwNqpkksbJy4pFzQ/1rnFT/JApiyZc
	SJltH+yuwVw2LbvfHC7iyKFtQxixl+PUi0vVSiLi30xoLA9d052M7Sap3xOugVFaGVKQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185756-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185756: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=be92e09206c2e4bb388e7c9127f048689841dd01
X-Osstest-Versions-That:
    ovmf=6780b3aba086395341d8476d43bef5e15c662c3a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 08:27:38 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 be92e09206c2e4bb388e7c9127f048689841dd01
baseline version:
 ovmf                 6780b3aba086395341d8476d43bef5e15c662c3a

Last test of basis   185745  2024-04-20 08:41:14 Z    1 days
Testing same since   185756  2024-04-22 03:19:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  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
   6780b3aba0..be92e09206  be92e09206c2e4bb388e7c9127f048689841dd01 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 09:19:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 09:19:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709818.1108808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryppV-0003WP-7T; Mon, 22 Apr 2024 09:19:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709818.1108808; Mon, 22 Apr 2024 09: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 1ryppV-0003WI-4j; Mon, 22 Apr 2024 09:19:17 +0000
Received: by outflank-mailman (input) for mailman id 709818;
 Mon, 22 Apr 2024 09:19:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryppU-0003Vp-1F; Mon, 22 Apr 2024 09:19:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryppT-0002I1-Tn; Mon, 22 Apr 2024 09:19: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 1ryppT-00021n-L2; Mon, 22 Apr 2024 09:19:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryppT-00017S-KY; Mon, 22 Apr 2024 09:19:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gazyXAJ9Q0+6DfS02oxsp1XO4lw1Yx5o1GLnvPKSzWo=; b=aQIq3Akjs/k327b1J0/dyzBip6
	HF6laCr8NE/RT15HCt7eyNc8TF1TkH+fm1OvTvLhlHGpY3u7CglHh9vUzyURUz9qCwUyuahX2Z8Mp
	ObJU9h1DGNdwUIutaI+tRFrtb5EB4KCw+ovGv/MixYR+9ASapdCqsBK9zVPC7IYycmBo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185754-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185754: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-arm64-arm64-xl:debian-fixup:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-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-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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
X-Osstest-Versions-That:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 09:19:15 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl          13 debian-fixup               fail pass in 185748

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

Last test of basis   185754  2024-04-22 01:53:44 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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 Apr 22 09:27:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 09:27:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709829.1108819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rypx4-0005EA-1A; Mon, 22 Apr 2024 09:27:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709829.1108819; Mon, 22 Apr 2024 09: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 1rypx3-0005E3-Uk; Mon, 22 Apr 2024 09:27:05 +0000
Received: by outflank-mailman (input) for mailman id 709829;
 Mon, 22 Apr 2024 09:27:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqOW=L3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rypx3-0005Dn-2H
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 09:27:05 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2412::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7983f054-008a-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 11:27:02 +0200 (CEST)
Received: from CH0PR04CA0108.namprd04.prod.outlook.com (2603:10b6:610:75::23)
 by MW6PR12MB8707.namprd12.prod.outlook.com (2603:10b6:303:241::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr
 2024 09:26:56 +0000
Received: from CH1PEPF0000A34C.namprd04.prod.outlook.com
 (2603:10b6:610:75:cafe::6b) by CH0PR04CA0108.outlook.office365.com
 (2603:10b6:610:75::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Mon, 22 Apr 2024 09:26:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000A34C.mail.protection.outlook.com (10.167.244.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Mon, 22 Apr 2024 09:26:56 +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.35; Mon, 22 Apr
 2024 04:26:55 -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.35; Mon, 22 Apr
 2024 04:26:55 -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.35 via Frontend
 Transport; Mon, 22 Apr 2024 04:26: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: 7983f054-008a-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nLdD+ype6py5gVGaoicDhsHOAMyxdqvVvg6869bcMWk1nty+smzTXDrVWDYoEirjECMZzgfo8Z8OPpl8YdxAWhNcZTUc/FbYomvx2vXaz1SaaFDJ+TS+MfaDUv5zDNL7rxmik2scHmKgleE+oo6CNvMbSUgSNU9LokT90+mk9DCYzAuZjDo7+PkfxktdNxeE8oMtnuI8XPtPbUeUBa/SBXDTYhzgGNy1HuTH0l5Il5MuPJP+VKqil8Bh1/HpQKOXRaolZGUqhkkq71SFw+Rt2iK0Bcfgo1V35zTcCYtd6SMd2Nku2uIuN+jkS/6GhsxdhlBWL+sCRkR7FeH9NMcsyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0tSWwnfVAXAPalkjwBuZS0h5iZQym3eXOTw9h6kQ9Ts=;
 b=BCyF/ecnTq0863acp/nGETFBvMUFakRg5THvzp+vHgjSBTon7DN2EkF6GSilXfkGYDSgwescM3o2s0tIA7ymudqtYYB6N+JqWejVuSaqTnOo6CcIb7wFX/VFkzHjkSmEKMTmWPeX2mieSiC3DpJPEhnMFI7JInDWRFM3r/S7dkU1aEfFuFCAk0oIv5vSyj1H8DYFtStD6yojL5pg0edxPl3qP1OKaglVxYNCpFkWLdsO7DwafPS2ZwYulTS7TORur5xwu6YmrTq3QHQ9LAbO4zv0EdBcatBoLnAFSk4AwWaqXllPnRC7liOCw3sdbq56UkhOAwYwzLdglSQiB4tFdw==
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=0tSWwnfVAXAPalkjwBuZS0h5iZQym3eXOTw9h6kQ9Ts=;
 b=mrRQVmGPAEvv6bz0p8BLF1oMLgswZHcJN8qOwwm1gQ5g+z7ea/fZSmwegFodrJa8bHFVpe5H8f84sMHYA/Czs43S30TyEtK4v+Y+Z7N1xyCgG8+Ssfji9S3RDpaVYtPvxW1mSeyuAn3gl+GoPlEQXbt2zdoXnOBg4o0KJxjEqK4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <f7318988-85fa-4a40-8242-67db3305a397@amd.com>
Date: Mon, 22 Apr 2024 11:26:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
 <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
 <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
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: CH1PEPF0000A34C:EE_|MW6PR12MB8707:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ba89bb8-7235-4920-1b7f-08dc62ae5a84
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TDQ5Z09NcDJhYWJYQTU0L0NuVUpsTDAwYXU2WkdXZWdNMmczQUYyYUs4UU5p?=
 =?utf-8?B?TXBSSVN0K25ZQzdYMmlvSENNZFMrS2NCSENWWnpBaXg2Y09Dd0w2c0c5YmdR?=
 =?utf-8?B?U2h6bDB0UHJIZWVMTmtCU1dlSjdab1FBZnpWR1h3aWNPRGFKTTJuR3dBV0Vt?=
 =?utf-8?B?eWxBTEtMTjFCemxrSHVHUENZUWpSYUloeEtOQ3BlVVhudDRhT3I1d1hWUG5k?=
 =?utf-8?B?dStIeVlaQWt2czBVZlRUK2xtSlorUFlKdmFPc3lTU2VtQWxwMDB2MVdBNkkx?=
 =?utf-8?B?b01ob3VNbXNHbWFpOUx6a3hVMVBzMllUekpkUysxMHJpMUNOa3MrSkl1K3Fh?=
 =?utf-8?B?Y1k2aC85TVFQS0xOYytJdUVQYjNlYVJ4dW5iYzMxVEdtYTF2Rk1vT1pCczg3?=
 =?utf-8?B?NU90ZFJRcHN3OWZoTklGbWdJN25uWk5hSjlBaHg1YXNyVWw4MnYvZW5xN09l?=
 =?utf-8?B?OFg4N1k4V2Rrb3BrcERhZk1McTY0N3hiQS82Q2pkT3hXTUhLc2FDSFlld3NT?=
 =?utf-8?B?K3pyYWtnc2pjeXg4OXJxZUlGQmVTYUZucUJWM2xOWnZ6LzMwd3JWeElQMU9v?=
 =?utf-8?B?UnUzVDBtTTcyUjJPZW9FS1lUY0xDS1YyeUJyaHlTblU5TmYwRVFPR05kMm9q?=
 =?utf-8?B?SlVlaitiOFFJMzNWVE8vTkZwc3hIWnJsNkp6dlNRM1NmOU90OHNYTjhiR1ZF?=
 =?utf-8?B?L3U4WDdJMkloMEZ2TG4va2FRZlRhQmIwd1NDd3hxeWd1RkNYeC96eU84Yjhx?=
 =?utf-8?B?cTJvMEhwdDhrZ1lEM2tGVHJqWG52T3dXckV6a2UzQUUxdUtITWt0cTZwVHgz?=
 =?utf-8?B?aFNJUGl3RHVyS3BMaDlkdzRsWkZlbkRTdmxLUXpzVndJNzd6OHRrS0ltZllo?=
 =?utf-8?B?c1JqaVlSOG5CWU5yWG80bFp6ZmtJNk9lTG9JWit1VW1DQW5tb01ZUG5qd2x6?=
 =?utf-8?B?WFFWTjZ0aHN3QWt4WVVYUnJwZXlqV2R4d0Z2dWRvZm10UUFNbXRMUkI0Nk5v?=
 =?utf-8?B?TFdTK1hZdHFvaStDYzJUY08vd3BuRUQyWm53SHAzTmpKaDdWZm1xMFJZSitq?=
 =?utf-8?B?TVh0Z2VtZ0wwT3JTZ21yeFpkdFhvOGMrRVlrZkRzTSt5TmpyS0VXa2JMem5E?=
 =?utf-8?B?b1l3UFV2VHVnZFBQdnJnRWRHTzNWdEpVWFRHUWRORklYWmptazVjQXdsQWFK?=
 =?utf-8?B?bVJCdE1YYXJmN2ZZNFh3eHZ3NEJkOXVzR1RwU1NxRkdleW9jSkZxcWlMRDdT?=
 =?utf-8?B?MTJIOGc0eXBDWmhpcDVjemsvdmhVTzl5blp2MWRBL3Z2MXkrSjJ3RmplVjE2?=
 =?utf-8?B?U3d1MmZJdnN2c3gyaGJvN2czdVFEczhkMmVZRVVDWkhXQmlsdUE0bUtEZGJw?=
 =?utf-8?B?VCs4UXcyd1MyOGNPZzBqeHNldHk5ZE9yM2MxaFlsYyt0cyt3aU5UMTB1d0la?=
 =?utf-8?B?Q3FpaXRtb2cwaVYwN3FsQUlnQUxSRzhPWGhWckZ4a2NMT3hnRG1JS3FhOHFy?=
 =?utf-8?B?WHdBcmRUSWxqM3o4SE1XTVAvVnMvRDlmV0ZPcGtNTHZiT1cxMk1uNWt0NmQ1?=
 =?utf-8?B?MXZvdVZlV25NQ0hXNE13K2pBK25DbWY3cDZyZHRiNlF5eHJiNmZ1YTlwZ0l1?=
 =?utf-8?B?aHV1UXNWZXd4ZkFPVU43dkpTV3NyMlgvUGN6MEVabnRXWWdIMlBwUXREZ253?=
 =?utf-8?B?cnRjZjA3VDZyQXBEWDFFdEFnd3haWnpaZmY0OXNWMkVGQlVSUzJJUGZyQ3hu?=
 =?utf-8?B?dVBGcWlPWGJBNC95RThIakt6WExsSE1ESEZDd3E1YTRHRG9jaDkrcWRDVWVq?=
 =?utf-8?B?a3lsMld0VktENzNjT2ZOZm81MnZmRzhybmFzcWE0bVlrNzU2dGNWNnB3UWU4?=
 =?utf-8?Q?Sx2Jalfga19Cy?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2024 09:26:56.1581
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ba89bb8-7235-4920-1b7f-08dc62ae5a84
X-MS-Exchange-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:
	CH1PEPF0000A34C.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8707



On 22/04/2024 10:07, Luca Fancellu wrote:
> 
> 
> Hi Michal,
> 
>>> +    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
>>> +    {
>>> +        u64 start = dt_read_number(cells, addrcells);
>> We should no longer use Linux derived types like u64. Use uint64_t.
>>
>>> +        u64 size = dt_read_number(cells + addrcells, sizecells);
>>> +
>>> +        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
>>> +                   i, start, start + size);
>> i is unsigned so the correct format specifier should be %u
> 
> Right, should have been more careful when copying the code from above
> 
>>>
>>> +void __init shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
>>> +                                        __be32 *reg, int *nr_cells,
>>> +                                        int addrcells, int sizecells)
>>> +{
>>> +    const struct membanks *mem = &kinfo->shm_mem.common;
>>> +    unsigned int i;
>>> +    __be32 *cells;
>>> +
>>> +    BUG_ON(!nr_cells || !reg);
>>> +
>>> +    cells = &reg[*nr_cells];
>>> +    for ( i = 0; i < mem->nr_banks; i++ )
>>> +    {
>>> +        u64 start = mem->bank[i].start;
>> ditto
> 
> Will fix, here paddr_t should be ok isn’t it?
yes

> 
>>
>> Rest LGTM:
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> Thanks, I will send the next one shortly.
I don't think there is a need to respin the whole series just for these fixes.
You should wait for the committers opinion.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 09:43:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 09:43:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709835.1108829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqCw-00080R-C6; Mon, 22 Apr 2024 09:43:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709835.1108829; Mon, 22 Apr 2024 09:43: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 1ryqCw-00080K-8p; Mon, 22 Apr 2024 09:43:30 +0000
Received: by outflank-mailman (input) for mailman id 709835;
 Mon, 22 Apr 2024 09:43: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryqCv-00080C-15
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 09:43:29 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5288de3-008c-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 11:43:27 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-41a70466b77so3247225e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 02:43: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
 j10-20020a05600c190a00b00418a9961c47sm16039667wmq.47.2024.04.22.02.43.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 02:43: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: c5288de3-008c-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713779007; x=1714383807; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kHkJ5flqouRo1gFeTLcsT+gwQ3p07jQkXPddPMRv/lA=;
        b=SYMyrKC/RTZydYJ4+B4vXWvhxlmDyAa1MpT1vcrxwqqc532xQYaNjUqNr4/aOdSWJk
         AhsonWxu5z6QEG6WAnEfnH9gRrwU8koxgSr9bNX94iKoCARtWN+4YSYtfsB9f+03LXJ2
         JfkwanLl3WsO4PKASDPqW460qTowzP6EfnqGppUinb4wxqCYQSOiNRpFMY1mCsxXlt3W
         grTsEqbh3N2aFdy4habSFT7k2WaU4nITrryZYVA6wzsF2DSQevNE9oKaSrJ5t2i6WjyU
         BypBzle/3ZwwRibFbgzwkwTDDM/F9jMMnEM16V8X54XeeDZEdIH2FCVAMfW+aj8qsaqb
         r72A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713779007; x=1714383807;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=kHkJ5flqouRo1gFeTLcsT+gwQ3p07jQkXPddPMRv/lA=;
        b=qJrBFsoTYmdW9d8HnWYjfN2kC7epKIMPuVLE2gEVXMH26YacQ0VGiWKRFKQ8aTexoS
         s2LMS67xfofUAHGtw2rHlJUCQRa4+6+LejVXWJH9Fg9K8UQEwDpTiiziwsOtajEjSuPQ
         nUCdwzIhIA/79BdH2Mk4NJJfpIdO3xUipMwsSlqY7/PrSUTwl551t+3aktI8ce8ERuLb
         qxWFdUI4NmS4jXVN2mFLN+Ca9LDC7T0LGbpM6RS4l7VWWQ7oSpQ1ODrKx2ycCXEgBmAP
         XR/X9TfmJgHXI7B1jRafPFambgOE1FMJMwONpxgowtK3VBDjqBraI5deZmh/cIIZRaFW
         TDvQ==
X-Forwarded-Encrypted: i=1; AJvYcCXjl3cmd8nj6OQ6W/TpCBHXL+5G2T+SqrFzQFHfG0fxyCcZERLQSuFEmlOacvZbkhEZuODIcAjRdK9nDhEUQb5g3ZbtHIYRXI/zSaKN3y0=
X-Gm-Message-State: AOJu0YzYMA3nCTAkyCmIzoLQg29yIg8+5LpxljSjKVt5StAVTyzrims5
	oOBdIBMc0V0yZmTaVnrF2YNvQLnRIKH1l0KlrSWpm7cGI2tlp5moCfDkE+nY3w==
X-Google-Smtp-Source: AGHT+IEkfr15z8If05339BiZbkT1Lb3LOczowvFhraobyWJBx1nf/npM6hdcNE6bG7vc1EaHm5gRvA==
X-Received: by 2002:a05:600c:4754:b0:416:7b2c:df0f with SMTP id w20-20020a05600c475400b004167b2cdf0fmr8461449wmo.7.1713779006950;
        Mon, 22 Apr 2024 02:43:26 -0700 (PDT)
Message-ID: <956388de-ef6d-4d7a-8b5f-2a292af8db53@suse.com>
Date: Mon, 22 Apr 2024 11:43:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/riscv: check whether the assembler has Zbb
 extension support
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <95441782d1920f219d63dee1c82c7df68424d374.1713523124.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <95441782d1920f219d63dee1c82c7df68424d374.1713523124.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.04.2024 16:23, Oleksii Kurochko wrote:
> Update the argument of the as-insn for the Zbb case to verify that
> Zbb is supported not only by a compiler, but also by an assembler.
> 
> Also, check-extenstion(ext_name, "insn") helper macro is introduced
> to check whether extension is supported by a compiler and an assembler.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -11,9 +11,14 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
>  
>  riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
>  
> -zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
> -zihintpause := $(call as-insn, \
> -                      $(CC) $(riscv-generic-flags)_zihintpause,"pause",_zihintpause)
> +# check-extension: Check whether extenstion is supported by a compiler and
> +#                  an assembler.
> +# Usage: $(call check-extension,extension_name,"instr")
> +check-extension = $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(2),_$(1))
> +
> +zbb-insn := "andn t0, t0, t0"
> +zbb := $(call check-extension,zbb,$(zbb-insn))
> +zihintpause := $(call check-extension,zihintpause,"pause")

... still not really being happy with this: Either, as said before, zbb-insn
would better be avoided (by using $(comma) as necessary), or you should have
gone yet a step further to fully address my "redundancy" concern. Note how
the two ultimate lines still have 3 (zbb) and 2 (zihintpause) references
respectively, when the goal ought to be to have exactly one. E.g. along the
lines of

$(call check-extension,zbb)
$(call check-extension,zihintpause)

suitably using $(eval ...) (to effect the variable definitions) and defining
both zbb-insn and zihintpause-insn.

But I'll nevertheless put this in as is, unless you tell me you're up to
going the extra step.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 09:52:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 09:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709844.1108849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqLb-0001m9-HI; Mon, 22 Apr 2024 09:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709844.1108849; Mon, 22 Apr 2024 09: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 1ryqLb-0001m2-EW; Mon, 22 Apr 2024 09:52:27 +0000
Received: by outflank-mailman (input) for mailman id 709844;
 Mon, 22 Apr 2024 09: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=Ds6W=L3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ryqLZ-0001X4-VS
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 09:52:25 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05b2b778-008e-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 11:52:25 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-343d7ff2350so3080018f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 02:52:25 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 v10-20020a5d590a000000b003437ad152f9sm11472139wrd.105.2024.04.22.02.52.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 02:52: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: 05b2b778-008e-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713779544; x=1714384344; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=drPZty86Abw56CZZyAdI896Rwj7S92fYFAWqWuFlrdo=;
        b=irnFghkAxR7Y89jmIUcAuiGXdCTrcIbe0X5qLDAe2oSIfLlPtaZcCZhg69Hqaner1g
         BojaK/fAcx/O4w1s7AGZnR1Ip+lg+vW3kYDuI/W7z9k8ZkMJAdNLxM03sK9bP1foQOMR
         MBfn1muLwkvKmTbBUurowt6x8WtPZ+eRyJT84=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713779544; x=1714384344;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=drPZty86Abw56CZZyAdI896Rwj7S92fYFAWqWuFlrdo=;
        b=qnin4EjR0Euv8EGIa0L91weWZfyvzivK18kArdxzPbfc85lXTe3b3pOIaXNRgIxApv
         X3MtXtxijvx0/mVoNZhX+rnXz6F1jdaAQjmP+1k9HQSH2LGIRryVDFfGKjmxDtatklS3
         QY46YyZT2ldJSueWFzy2H60fL0PYeLsR5VZRUs3Suag4/K7PUERMsnXp0EFIPhoZJMrg
         4YAeZlnGzq0IkcY8oXSGpTPqqEdVdc+qW1xqVROYhwLLlw/Q9uKSeCdwE6K4H8hYeUq5
         Jij7mGBc+SL2K9cQ6BYcjFj432t0Yj+3ifrkBULRpNqKwUngGj28z4qkplW7ICqTFFFh
         juYg==
X-Gm-Message-State: AOJu0YxdrY5nzStREdT0bijLO+Nowl3lt3kzjzT8aNsB8CJpILRVU1ac
	dnlVsOSxIvWvmiZ+FtWtAvPFUmzrqWb+4knsce0zFs3UcA4kQLJgM85v1I2IhEkaUPeAKE0/5SX
	l
X-Google-Smtp-Source: AGHT+IHaacB3gnriuYoV81Ftcrmt/1jSPI6rxCA91xh9nnjUzmgGFQT/8T0/SK3E6Y4BDkRW/B2kIQ==
X-Received: by 2002:a5d:63cf:0:b0:343:eb6c:ae80 with SMTP id c15-20020a5d63cf000000b00343eb6cae80mr6257299wrw.28.1713779544276;
        Mon, 22 Apr 2024 02:52:24 -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 2/2] x86/pvh: zero VGA information
Date: Mon, 22 Apr 2024 11:52:16 +0200
Message-ID: <20240422095216.20211-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240422095216.20211-1-roger.pau@citrix.com>
References: <20240422095216.20211-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

PVH guests skip real mode VGA detection, and never have a VGA available, hence
the default VGA selection is not applicable, and at worse can cause confusion
when parsing Xen boot log.

Zero the boot_vid_info structure when Xen is booted from the PVH entry point.

This fixes Xen incorrectly reporting:

(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16

When booted as a PVH guest.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/boot/video.h         | 2 ++
 xen/arch/x86/guest/xen/pvh-boot.c | 9 +++++++++
 xen/arch/x86/setup.c              | 1 -
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/video.h b/xen/arch/x86/boot/video.h
index 6a7775d24292..1203515f9e5b 100644
--- a/xen/arch/x86/boot/video.h
+++ b/xen/arch/x86/boot/video.h
@@ -67,6 +67,8 @@ struct boot_video_info {
     } vesapm;
     uint16_t vesa_attrib;        /* 0x28 */
 };
+
+extern struct boot_video_info boot_vid_info;
 #endif /* __ASSEMBLY__ */
 
 #endif /* __BOOT_VIDEO_H__ */
diff --git a/xen/arch/x86/guest/xen/pvh-boot.c b/xen/arch/x86/guest/xen/pvh-boot.c
index 9cbe87b61bdd..cc57ab2cbcde 100644
--- a/xen/arch/x86/guest/xen/pvh-boot.c
+++ b/xen/arch/x86/guest/xen/pvh-boot.c
@@ -15,6 +15,10 @@
 
 #include <public/arch-x86/hvm/start_info.h>
 
+#ifdef CONFIG_VIDEO
+# include "../../boot/video.h"
+#endif
+
 /* Initialised in head.S, before .bss is zeroed. */
 bool __initdata pvh_boot;
 uint32_t __initdata pvh_start_info_pa;
@@ -95,6 +99,11 @@ void __init pvh_init(multiboot_info_t **mbi, module_t **mod)
     ASSERT(xen_guest);
 
     get_memory_map();
+
+#ifdef CONFIG_VIDEO
+    /* No VGA available when booted from the PVH entry point. */
+    memset(&bootsym(boot_vid_info), 0, sizeof(boot_vid_info));
+#endif
 }
 
 void __init pvh_print_info(void)
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 86cd8b999774..449a3476531e 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -646,7 +646,6 @@ static struct e820map __initdata boot_e820;
 
 #ifdef CONFIG_VIDEO
 # include "boot/video.h"
-extern struct boot_video_info boot_vid_info;
 #endif
 
 static void __init parse_video_info(void)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 09:52:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 09:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709845.1108854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqLb-0001on-Qh; Mon, 22 Apr 2024 09:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709845.1108854; Mon, 22 Apr 2024 09: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 1ryqLb-0001oP-Lj; Mon, 22 Apr 2024 09:52:27 +0000
Received: by outflank-mailman (input) for mailman id 709845;
 Mon, 22 Apr 2024 09:52: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=Ds6W=L3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ryqLa-0001iC-9G
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 09:52:26 +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 04eefaef-008e-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 11:52:24 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-419fc79e4dcso8530035e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 02:52:24 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 bg5-20020a05600c3c8500b00419f419236fsm7698672wmb.41.2024.04.22.02.52.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 02:52: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: 04eefaef-008e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713779543; x=1714384343; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QhEkgYuK+r1ELgYSSGiiXM5uV0+14tGLsKjiIz9KioU=;
        b=F41F2J3iof6EXvjDF+0UzOXTHYl7FpT7EhG5XWHppig56gNL9Xs5z40tvkgLgc3uAs
         63MGvGGLnGqC4//B2Vyus0ry4HIx/q/ZWv8+MX39setTaUW6k6WkL2nj8uJnI9TAJg3u
         YLR+UUj5hgPWYq1WQph2ydmIN9JZke90erwAM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713779543; x=1714384343;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QhEkgYuK+r1ELgYSSGiiXM5uV0+14tGLsKjiIz9KioU=;
        b=v8W1g6WuwK+6d+cOIjHlIdwWD1847ToT0+fyvzoOXkdEOsB4RK3ME4EyVdJf+RR6vN
         Ow5Jahvw4sRlVL+//9HoLU1HyV7wS7rIXFawV3a62rfCAeeytFU/M2Z4G6yH9ZGOqy7t
         MZjjXQsX4WISbhw6B8sRMDu31mFi5ri6wVsOBb5wU1gvYXLQDGiUa/mEDtF8JyMrJcqB
         3lLSiKJSJ5m5gURaY4oGPiDP9Fut1UgGVAw325oFjQuHwR9RfWeMEke5fVDpCL90v2Ld
         Ghi5qyfhdGMxG8uy2MbCeGlVBq4TcCdTvrYGLeg0o/RmJ3pSWafAr/8i0M4K1E3zc1/X
         CBtA==
X-Gm-Message-State: AOJu0YzPus8ZDbDkQjGz6zUReT6Ixi0eQ1x7AqNpyEa85pERA0qlbo0Z
	76ThtYQuBdz8fxAJTbfhv0tEdXrbSzLJFfM4u3gav6WuWZ4r49JyFObYNcijGD2gbXmtkcRitkf
	P
X-Google-Smtp-Source: AGHT+IGY/uyF9bFwXpOVTURJt4E4Mj/8mD9HBd5Tk1KUZCIxt2bebkwvsxsbZYzpWzki2upMTKOqhg==
X-Received: by 2002:a05:600c:4fd2:b0:418:969b:cb46 with SMTP id o18-20020a05600c4fd200b00418969bcb46mr6539040wmq.28.1713779543245;
        Mon, 22 Apr 2024 02:52:23 -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 1/2] x86/video: add boot_video_info offset generation to asm-offsets
Date: Mon, 22 Apr 2024 11:52:15 +0200
Message-ID: <20240422095216.20211-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240422095216.20211-1-roger.pau@citrix.com>
References: <20240422095216.20211-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Currently the offsets into the boot_video_info struct are manually encoded in
video.S, which is fragile.  Generate them in asm-offsets.c and switch the
current code to use those instead.

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:
 - Style changes.
 - Calculate remaining BVI size without referencing specific fields.
---
 xen/arch/x86/boot/video.S         | 83 ++++++++++++-------------------
 xen/arch/x86/x86_64/asm-offsets.c | 26 ++++++++++
 2 files changed, 58 insertions(+), 51 deletions(-)

diff --git a/xen/arch/x86/boot/video.S b/xen/arch/x86/boot/video.S
index 0ae04f270f8c..f78906878a16 100644
--- a/xen/arch/x86/boot/video.S
+++ b/xen/arch/x86/boot/video.S
@@ -26,32 +26,13 @@
 /* Force 400 scan lines for standard modes (hack to fix bad BIOS behaviour */
 #undef CONFIG_VIDEO_400_HACK
 
-/* Positions of various video parameters passed to the kernel */
-/* (see also include/linux/tty.h) */
-#define PARAM_CURSOR_POS        0x00
-#define PARAM_VIDEO_MODE        0x02
-#define PARAM_VIDEO_COLS        0x03
-#define PARAM_VIDEO_LINES       0x04
-#define PARAM_HAVE_VGA          0x05
-#define PARAM_FONT_POINTS       0x06
-#define PARAM_CAPABILITIES      0x08
-#define PARAM_LFB_LINELENGTH    0x0c
-#define PARAM_LFB_WIDTH         0x0e
-#define PARAM_LFB_HEIGHT        0x10
-#define PARAM_LFB_DEPTH         0x12
-#define PARAM_LFB_BASE          0x14
-#define PARAM_LFB_SIZE          0x18
-#define PARAM_LFB_COLORS        0x1c
-#define PARAM_VESAPM_SEG        0x24
-#define PARAM_VESAPM_OFF        0x26
-#define PARAM_VESA_ATTRIB       0x28
 #define _param(param) bootsym(boot_vid_info)+(param)
 
 video:  xorw    %ax, %ax
         movw    %ax, %gs        # GS is zero
         cld
         call    basic_detect    # Basic adapter type testing (EGA/VGA/MDA/CGA)
-        cmpb    $0,_param(PARAM_HAVE_VGA)
+        cmpb    $0, _param(BVI_have_vga)
         je      1f                # Bail if there's no VGA
         movw    bootsym(boot_vid_mode), %ax     # User selected video mode
         cmpw    $ASK_VGA, %ax                   # Bring up the menu
@@ -69,7 +50,7 @@ vid1:   call    store_edid
 
 # Detect if we have CGA, MDA, EGA or VGA and pass it to the kernel.
 basic_detect:
-        movb    $0, _param(PARAM_HAVE_VGA)
+        movb    $0, _param(BVI_have_vga)
         movb    $0x12, %ah                      # Check EGA/VGA
         movb    $0x10, %bl
         int     $0x10
@@ -79,7 +60,7 @@ basic_detect:
         int     $0x10
         cmpb    $0x1a, %al                      # 1a means VGA...
         jne     basret                          # anything else is EGA.
-        incb    _param(PARAM_HAVE_VGA)          # We've detected a VGA
+        incb    _param(BVI_have_vga)            # We've detected a VGA
 basret: ret
 
 # Store the video mode parameters for later usage by the kernel.
@@ -92,57 +73,57 @@ mode_params:
         movb    $0x03, %ah                      # Read cursor position
         xorb    %bh, %bh
         int     $0x10
-        movw    %dx, _param(PARAM_CURSOR_POS)
+        movw    %dx, _param(BVI_cursor_pos)
         movb    $0x0f, %ah                      # Read page/mode/width
         int     $0x10
-        movw    %ax, _param(PARAM_VIDEO_MODE)   # Video mode and screen width
+        movw    %ax, _param(BVI_video_mode)     # Video mode and screen width
         movw    %gs:(0x485), %ax                # Font size
-        movw    %ax, _param(PARAM_FONT_POINTS)  # (valid only on EGA/VGA)
+        movw    %ax, _param(BVI_font_points)    # (valid only on EGA/VGA)
         movw    bootsym(force_size), %ax        # Forced size?
         orw     %ax, %ax
         jz      mopar1
 
-        movb    %ah, _param(PARAM_VIDEO_COLS)
-        movb    %al, _param(PARAM_VIDEO_LINES)
+        movb    %ah, _param(BVI_video_cols)
+        movb    %al, _param(BVI_video_lines)
         ret
 
 mopar1: movb    %gs:(0x484), %al                # On EGA/VGA, use the EGA+ BIOS
         incb    %al                             # location of max lines.
-mopar2: movb    %al, _param(PARAM_VIDEO_LINES)
+mopar2: movb    %al, _param(BVI_video_lines)
         ret
 
 # Fetching of VESA frame buffer parameters
 mopar_gr:
         movw    $vesa_mode_info, %di
-        movb    $0x23, _param(PARAM_HAVE_VGA)
+        movb    $0x23, _param(BVI_have_vga)
         movw    16(%di), %ax
-        movw    %ax, _param(PARAM_LFB_LINELENGTH)
+        movw    %ax, _param(BVI_lfb_linelength)
         movw    18(%di), %ax
-        movw    %ax, _param(PARAM_LFB_WIDTH)
+        movw    %ax, _param(BVI_lfb_width)
         movw    20(%di), %ax
-        movw    %ax, _param(PARAM_LFB_HEIGHT)
+        movw    %ax, _param(BVI_lfb_height)
         movzbw  25(%di), %ax
-        movw    %ax, _param(PARAM_LFB_DEPTH)
+        movw    %ax, _param(BVI_lfb_depth)
         movl    40(%di), %eax
-        movl    %eax, _param(PARAM_LFB_BASE)
+        movl    %eax, _param(BVI_lfb_base)
         movl    31(%di), %eax
-        movl    %eax, _param(PARAM_LFB_COLORS)
+        movl    %eax, _param(BVI_lfb_colors)
         movl    35(%di), %eax
-        movl    %eax, _param(PARAM_LFB_COLORS+4)
+        movl    %eax, _param(BVI_lfb_colors+4)
         movw    0(%di), %ax
-        movw    %ax, _param(PARAM_VESA_ATTRIB)
+        movw    %ax, _param(BVI_vesa_attrib)
 
 # get video mem size
         movw    $vesa_glob_info, %di
         movzwl  18(%di), %eax
-        movl    %eax, _param(PARAM_LFB_SIZE)
+        movl    %eax, _param(BVI_lfb_size)
 
 # store mode capabilities
         movl    10(%di), %eax
-        movl    %eax, _param(PARAM_CAPABILITIES)
+        movl    %eax, _param(BVI_capabilities)
 
 # switching the DAC to 8-bit is for <= 8 bpp only
-        cmpw    $8, _param(PARAM_LFB_DEPTH)
+        cmpw    $8, _param(BVI_lfb_depth)
         jg      dac_done
 
 # get DAC switching capability
@@ -160,16 +141,16 @@ mopar_gr:
 dac_set:
 # set color size to DAC size
         movzbw  bootsym(dac_size), %ax
-        movb    %al, _param(PARAM_LFB_COLORS+0)
-        movb    %al, _param(PARAM_LFB_COLORS+2)
-        movb    %al, _param(PARAM_LFB_COLORS+4)
-        movb    %al, _param(PARAM_LFB_COLORS+6)
+        movb    %al, _param(BVI_lfb_colors + 0)
+        movb    %al, _param(BVI_lfb_colors + 2)
+        movb    %al, _param(BVI_lfb_colors + 4)
+        movb    %al, _param(BVI_lfb_colors + 6)
 
 # set color offsets to 0
-        movb    %ah, _param(PARAM_LFB_COLORS+1)
-        movb    %ah, _param(PARAM_LFB_COLORS+3)
-        movb    %ah, _param(PARAM_LFB_COLORS+5)
-        movb    %ah, _param(PARAM_LFB_COLORS+7)
+        movb    %ah, _param(BVI_lfb_colors + 1)
+        movb    %ah, _param(BVI_lfb_colors + 3)
+        movb    %ah, _param(BVI_lfb_colors + 5)
+        movb    %ah, _param(BVI_lfb_colors + 7)
 
 dac_done:
 # get protected mode interface information
@@ -180,8 +161,8 @@ dac_done:
         cmp     $0x004f, %ax
         jnz     no_pm
 
-        movw    %es, _param(PARAM_VESAPM_SEG)
-        movw    %di, _param(PARAM_VESAPM_OFF)
+        movw    %es, _param(BVI_vesapm_seg)
+        movw    %di, _param(BVI_vesapm_off)
 
 no_pm:  pushw   %ds
         popw    %es
@@ -1018,7 +999,7 @@ GLOBAL(boot_vid_info)
         .byte   80, 25  /* 80x25          */
         .byte   1       /* isVGA          */
         .word   16      /* 8x16 font      */
-        .fill   0x28,1,0
+        .space  BVI_size - (. - boot_vid_info)
 GLOBAL(boot_edid_info)
         .fill   128,1,0x13
 GLOBAL(boot_edid_caps)
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 3fe21c21b95c..630bdc39451d 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -16,6 +16,10 @@
 #include <xen/multiboot.h>
 #include <xen/multiboot2.h>
 
+#ifdef CONFIG_VIDEO
+# include "../boot/video.h"
+#endif
+
 #define DEFINE(_sym, _val)                                                 \
     asm volatile ( "\n.ascii\"==>#define " #_sym " %0 /* " #_val " */<==\""\
                    :: "i" (_val) )
@@ -208,4 +212,26 @@ void __dummy__(void)
 
     OFFSET(DOMAIN_vm_assist, struct domain, vm_assist);
     BLANK();
+
+#ifdef CONFIG_VIDEO
+    OFFSET(BVI_cursor_pos,      struct boot_video_info, orig_x);
+    OFFSET(BVI_video_mode,      struct boot_video_info, orig_video_mode);
+    OFFSET(BVI_video_cols,      struct boot_video_info, orig_video_cols);
+    OFFSET(BVI_video_lines,     struct boot_video_info, orig_video_lines);
+    OFFSET(BVI_have_vga,        struct boot_video_info, orig_video_isVGA);
+    OFFSET(BVI_font_points,     struct boot_video_info, orig_video_points);
+    OFFSET(BVI_capabilities,    struct boot_video_info, capabilities);
+    OFFSET(BVI_lfb_linelength,  struct boot_video_info, lfb_linelength);
+    OFFSET(BVI_lfb_width,       struct boot_video_info, lfb_width);
+    OFFSET(BVI_lfb_height,      struct boot_video_info, lfb_height);
+    OFFSET(BVI_lfb_depth,       struct boot_video_info, lfb_depth);
+    OFFSET(BVI_lfb_base,        struct boot_video_info, lfb_base);
+    OFFSET(BVI_lfb_size,        struct boot_video_info, lfb_size);
+    OFFSET(BVI_lfb_colors,      struct boot_video_info, colors);
+    OFFSET(BVI_vesapm_seg,      struct boot_video_info, vesapm.seg);
+    OFFSET(BVI_vesapm_off,      struct boot_video_info, vesapm.off);
+    OFFSET(BVI_vesa_attrib,     struct boot_video_info, vesa_attrib);
+    DEFINE(BVI_size,            sizeof(struct boot_video_info));
+    BLANK();
+#endif /* CONFIG_VIDEO */
 }
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 09:52:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 09:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709843.1108839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqLZ-0001XH-AO; Mon, 22 Apr 2024 09:52:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709843.1108839; Mon, 22 Apr 2024 09:52: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 1ryqLZ-0001XA-7L; Mon, 22 Apr 2024 09:52:25 +0000
Received: by outflank-mailman (input) for mailman id 709843;
 Mon, 22 Apr 2024 09: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=Ds6W=L3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ryqLX-0001X4-T3
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 09:52:23 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 043dfcc4-008e-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 11:52:23 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-345b857d7adso3262505f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 02:52:23 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 j10-20020a05600c190a00b00418a9961c47sm16066367wmq.47.2024.04.22.02.52.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 02:52: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: 043dfcc4-008e-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713779542; x=1714384342; 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=uk1cFAAYgFeZcZ3nq4TIQNPWC/a/D4KyF5q8SDc1gdQ=;
        b=LwADRRLsmuBTSmB64vpDWHaoTFdtzVbdCCMbrRLd7LDKjknnOKX6ETd9hbWKYjpm1S
         TLj//igd5p/ls6fmeoM8rKgNQew4j2EEd8hEeiJIpXMU/cYyBK87xK3o9x53Jmeomf2/
         1L/BL48ayX6dPy0xJ/NsP4RMsvNRiu2SiSsnE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713779542; x=1714384342;
        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=uk1cFAAYgFeZcZ3nq4TIQNPWC/a/D4KyF5q8SDc1gdQ=;
        b=FW7ZoxW4bWRczIWDWOHEkle7MX/VnFBTaZyiUMe52Vx9IbpJXePkIOkCfWtLUbNFF6
         TvAUpyRetRcB7QUTMDhvXosbEybf7zwKqua4WkSDpcLUMi511F92cuqAyS7lsORjsGF1
         8He6u2jnocyCo8cChqGiRnByuVxBkbhGS3dzCrCZCt1FCtbXGg0TMZhUmZFg9gNbNVzZ
         NNQ4tvrS8Oxlm5/vzG3xC5e2ufKOMmxiwdaOwk3cmf+ek+n/0/pTWipE1L/ldy/jDkW6
         4jVoQr0bFLtjaKEUy1QaNJSZ1nzJZkkmHjcb7OTANmOB2yL/E6ni7xEKSHi2McxS153K
         2bdQ==
X-Gm-Message-State: AOJu0YxefqxnMGw//63hbV92vdgesivtbSnVxjv9pxd+D7sfN4vcIAkc
	3iug2gGLu2qw3wQ+wNc06HQQhFRAsZp8h7h3CBdH86aKmZjP6Xq+61R1HHpSRWITBfUY5IyByI9
	e
X-Google-Smtp-Source: AGHT+IH3wj8P77Bs8D0D+pT06Ga7zwvAJx75QtTx1LLtgq6XyeaSKPZG0F/AJPt/mLBzCmMgOYlk3g==
X-Received: by 2002:a5d:64e5:0:b0:34a:b477:3a17 with SMTP id g5-20020a5d64e5000000b0034ab4773a17mr4614429wri.39.1713779542168;
        Mon, 22 Apr 2024 02:52:22 -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 0/2] x86/pvh: fix VGA reporting when booted as a PVH guest
Date: Mon, 22 Apr 2024 11:52:14 +0200
Message-ID: <20240422095216.20211-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Following patches are kind of unconnected after v1, but patch 1/2 is
still a helpful improvement.

Patch 2 fixes the (wrong) reporting of VGA information when Xen is
booted as a PVH guest.

Thanks, Roger.

Roger Pau Monne (2):
  x86/video: add boot_video_info offset generation to asm-offsets
  x86/pvh: zero VGA information

 xen/arch/x86/boot/video.S         | 83 ++++++++++++-------------------
 xen/arch/x86/boot/video.h         |  2 +
 xen/arch/x86/guest/xen/pvh-boot.c |  9 ++++
 xen/arch/x86/setup.c              |  1 -
 xen/arch/x86/x86_64/asm-offsets.c | 26 ++++++++++
 5 files changed, 69 insertions(+), 52 deletions(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 10:24:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 10:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709863.1108869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqqD-00082L-3P; Mon, 22 Apr 2024 10:24:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709863.1108869; Mon, 22 Apr 2024 10:24:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqqD-00082E-0E; Mon, 22 Apr 2024 10:24:05 +0000
Received: by outflank-mailman (input) for mailman id 709863;
 Mon, 22 Apr 2024 10:24: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 1ryqqB-00080u-7L
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 10:24: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 1ryqqA-0003TD-NK; Mon, 22 Apr 2024 10:24:02 +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 1ryqqA-00073L-HN; Mon, 22 Apr 2024 10:24:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=G6B7OymQhA2a5FbQNG6qlz7cMYSmeqi2jMGI4jh+ckA=; b=khjBe0cwZmTlDlHI5jI5obJilo
	jfK2uVfa09F6W84vS3isD8Y0PafIEkleQXN4cCM0zSGtyAXNV+wX/DnDbHnZyaKNSHOrebo9mJUbV
	kFS1ka4T/JSlz1rOPCGJZI9coHQ2s1An1+NsGMvck1Mk9kbagMCJx1sRHWp33bmhIyUw=;
Message-ID: <5de5dec4-7e2a-4e96-84c6-214ad781562a@xen.org>
Date: Mon, 22 Apr 2024 11:24:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, Luca Fancellu <Luca.Fancellu@arm.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: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
 <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
 <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
 <f7318988-85fa-4a40-8242-67db3305a397@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f7318988-85fa-4a40-8242-67db3305a397@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 22/04/2024 10:26, Michal Orzel wrote:
> 
> 
> On 22/04/2024 10:07, Luca Fancellu wrote:
>>
>>
>> Hi Michal,
>>
>>>> +    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
>>>> +    {
>>>> +        u64 start = dt_read_number(cells, addrcells);
>>> We should no longer use Linux derived types like u64. Use uint64_t.
>>>
>>>> +        u64 size = dt_read_number(cells + addrcells, sizecells);
>>>> +
>>>> +        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
>>>> +                   i, start, start + size);
>>> i is unsigned so the correct format specifier should be %u
>>
>> Right, should have been more careful when copying the code from above
>>
>>>>
>>>> +void __init shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
>>>> +                                        __be32 *reg, int *nr_cells,
>>>> +                                        int addrcells, int sizecells)
>>>> +{
>>>> +    const struct membanks *mem = &kinfo->shm_mem.common;
>>>> +    unsigned int i;
>>>> +    __be32 *cells;
>>>> +
>>>> +    BUG_ON(!nr_cells || !reg);
>>>> +
>>>> +    cells = &reg[*nr_cells];
>>>> +    for ( i = 0; i < mem->nr_banks; i++ )
>>>> +    {
>>>> +        u64 start = mem->bank[i].start;
>>> ditto
>>
>> Will fix, here paddr_t should be ok isn’t it?
> yes
> 
>>
>>>
>>> Rest LGTM:
>>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>
>> Thanks, I will send the next one shortly.
> I don't think there is a need to respin the whole series just for these fixes.
> You should wait for the committers opinion.

AFAICT, there are multiple changes requested in various line. So I would 
rather prefer if this is respinned.

If this is the only patch that requires to change. You could send a new 
one in reply-to this patch. I think b4 is clever enough to pick up the 
new version in that case.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 10:27:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 10:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709866.1108879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqtL-0000Mb-He; Mon, 22 Apr 2024 10:27:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709866.1108879; Mon, 22 Apr 2024 10:27:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryqtL-0000MU-E1; Mon, 22 Apr 2024 10:27:19 +0000
Received: by outflank-mailman (input) for mailman id 709866;
 Mon, 22 Apr 2024 10: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryqtJ-0000MJ-Lc
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 10:27:17 +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 e385ca36-0092-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 12:27:15 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-41a7820620dso2964275e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 03: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
 u20-20020a05600c139400b0041906397ab7sm12416325wmf.3.2024.04.22.03.27.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 03: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: e385ca36-0092-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713781635; x=1714386435; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WisiX6+jcyLG2U2fy5jIdMkkxNbr2eYg1+N5ikjIce8=;
        b=JOi2qE21akuk0JkJRDtcT2c1A8iFlXJVJk0zameUOpVvFZ8C6iRrYW1ZIDinHjE2YG
         Xce71bc0tmBK+27j0Evgz+Ax9hTUNXDFr73usHyJRpfLa23sPTagwfIg952p+O2npKzC
         7QiH1hQJ4RsB1H98Or4d9RbntUwyKOkqK0a831NfX3voz+XwSP/oKNZxyyTCW4I02Q07
         EizyHxbXDSxenuWLdaRBm4oRSl760VBRFFBV/Lrs6+7SdSIyzW4TPlCvD1iKInRNZ/xL
         2OzWUB0ASo5u92AZLfwCHRU0X0YLkxVx30EXMZIpHPbd/G/mioetqjJRxdHtA7EhHERT
         uOuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713781635; x=1714386435;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WisiX6+jcyLG2U2fy5jIdMkkxNbr2eYg1+N5ikjIce8=;
        b=WAiD5wKJbdH3ZB/hpIMsk6NkWIQX+KwiPwcztYoy4yOxge4wS2aCq47OEXXIyomcZs
         inDQDuws+U2lKf49TUnn1OffRtywb9+ekeQGwQ11cMlIk0SVCF6pPZXDgOtxWh5/Dkuq
         PbS6ufrA91lT0ZltrSMFsxioftcnSWF5TeaJelFDn6968c2x9fhw+x8786GJK0uazmj5
         eehpOHqS+uuDn2xIJAeT/M4Z3gobcyjkyGuITdGPQGbe2hWeB1l1t9eOJZyJ+XWJGlTi
         w4nKkWZzEoHinAUUlRJdFfR9jCbsljwOgqwf2rp7DlDv+Cf5w9+w18J0IlL9MXKgl76+
         7wTg==
X-Forwarded-Encrypted: i=1; AJvYcCVX7LfD3/PSsmRVuIsoiqMqGtZ2kFoJp6PGVVZEooI60Y+Gw0Y1vuKODswlrYqzZ0w4xQgbenkgubYU/sgH/7LsJOuKL6T+c5C6sgivKg8=
X-Gm-Message-State: AOJu0Yw+GXeVLcsjn3En+BaNusH+8S56f8FaPgtgCZA1BEEsCTpMkwM1
	WEwezmBNduxfV+ywsR7p6bolzGrtuPLCGudzWHOY8LIh06jSFIF90RxPgYUSW8lqnF5Ku5U5Zh8
	=
X-Google-Smtp-Source: AGHT+IH1SX99MexRBvNyavhjrPD4EQOfZ4U7hreXbpmYTR/kW8zyJ4kKEUrKLDqVz7pizbpvHau/nw==
X-Received: by 2002:a05:600c:46cc:b0:418:f991:8ad4 with SMTP id q12-20020a05600c46cc00b00418f9918ad4mr7689405wmo.6.1713781635015;
        Mon, 22 Apr 2024 03:27:15 -0700 (PDT)
Message-ID: <c850946d-2679-4711-84ec-7442c3ce918b@suse.com>
Date: Mon, 22 Apr 2024 12:27:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/pvh: zero VGA information
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240422095216.20211-1-roger.pau@citrix.com>
 <20240422095216.20211-3-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422095216.20211-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.04.2024 11:52, Roger Pau Monne wrote:
> PVH guests skip real mode VGA detection, and never have a VGA available, hence
> the default VGA selection is not applicable, and at worse can cause confusion
> when parsing Xen boot log.
> 
> Zero the boot_vid_info structure when Xen is booted from the PVH entry point.
> 
> This fixes Xen incorrectly reporting:
> 
> (XEN) Video information:
> (XEN)  VGA is text mode 80x25, font 8x16
> 
> When booted as a PVH guest.
> 
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Apr 22 10:39:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 10:39:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709874.1108890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryr5J-0002Uj-Pj; Mon, 22 Apr 2024 10:39:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709874.1108890; Mon, 22 Apr 2024 10:39:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryr5J-0002Uc-L8; Mon, 22 Apr 2024 10:39:41 +0000
Received: by outflank-mailman (input) for mailman id 709874;
 Mon, 22 Apr 2024 10:39:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jyNC=L3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1ryr5J-0002UW-4P
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 10:39:41 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ec7ec92-0094-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 12:39:39 +0200 (CEST)
Received: from DU2PR04CA0251.eurprd04.prod.outlook.com (2603:10a6:10:28e::16)
 by PAWPR08MB9733.eurprd08.prod.outlook.com (2603:10a6:102:2e6::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr
 2024 10:39:33 +0000
Received: from DB1PEPF000509F7.eurprd02.prod.outlook.com
 (2603:10a6:10:28e:cafe::d7) by DU2PR04CA0251.outlook.office365.com
 (2603:10a6:10:28e::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Mon, 22 Apr 2024 10:39:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509F7.mail.protection.outlook.com (10.167.242.153) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Mon, 22 Apr 2024 10:39:32 +0000
Received: ("Tessian outbound 01a47eb2eb85:v313");
 Mon, 22 Apr 2024 10:39:32 +0000
Received: from 226ed55d2e1a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 83CD5A4A-CB93-4845-95B3-D1F05BEB8114.1; 
 Mon, 22 Apr 2024 10:39:21 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 226ed55d2e1a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 22 Apr 2024 10:39:21 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB9PR08MB6457.eurprd08.prod.outlook.com (2603:10a6:10:23e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr
 2024 10:39:17 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7472.044; Mon, 22 Apr 2024
 10:39: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: 9ec7ec92-0094-11ef-909a-e314d9c70b13
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=gw6AzCmpOHUvvwNTGms7DlyiPm/GyOFEoqvNV1Rexfe0Yu0Uss7d/pyr1h+r1+kywQyYsle244ScoF7K4R2nNL7B3s9qL+EOmSfhrT+c9xYeRN/EgIKEUddkPUP+7R0PwQ69M+4pj6XoOxvdq9MG9eVada0PFhRa4QZ4GL4Y1cKpCGs29cRLVqxTfUiD2Tdf18VrzvSjBfP0MHiPujHupHfC6QeON3c9ZkX6cdYpx8nAYO4ACEvx/V1K3+ljYuO+zF+S6pcjb9W7uspzqiboAvMw6FmVfWUzVmTrq/MkwOpwo+NWEhjS9L/kJXoyIWWD8335EQwfP1dhPiX7U8VScQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/v/ppRaU0YydfhYEfWAoxvpWf2KNMcWrRVS9hN2aAw8=;
 b=gmvPrRVDTFC9bKVzUhUSFFR8QOZh4TXkqha6WpmXBhMvgQ1jjy3DzDd5eZ7p00FyV5A4io9VcYMnYKd26RogcpRUD5Mww5Vv2uc5MN4bYUKzvVKbTRMN9wLI5ya4xw86bS4cr0Ko75QYCbd8pTSu9t4NrkSrAHEMVVg9sco/vAjuf6RqcpZH6DWX39cKa6syxbj809btVWGFeZWaNFXD/UDt4awfTs1ujAp4C/oPJkN6vC/2A1LgwOni92GTvn/S9MCj3ELNbawSZka2rMrte0mXizBDHjWT72dtNhDhy+lsb7qoZfjf/zpdUm0+vmx1b5CV4VS+VeDOo8UmGXAWMQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0
 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/v/ppRaU0YydfhYEfWAoxvpWf2KNMcWrRVS9hN2aAw8=;
 b=W7/joO90T9iNaWJdVhZYNvb7jPObwO90/ixoas8njal88nMl6WVtjVLlUPZX7zTYq9PWKYhBvpnKqz7dqp6VFrnWbkFX6lrxr0JSf3kGkLmKpCYLx9OftFDQwmsr8vC8kIPS4PMtyQhrx8BAI4Ji0rVthZx/yQWVAkxVVa7ujM8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e4b93ee587c37457
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D3kUToOoRkvyO0v5MsTcrYapCCeAK4uqJE9OAQHN7B5gI7ypk2UVeKchOSPv1UDOrRr8HkKWE5H9qQD/tQ8F+ie/lkTCQVMDgQY75dOF0L4Irqfb3CO723lIexkmNXwLpdM70KiqRpnvXvyKLwbzYSJOjJx2SUXU5/OfDQDxyEuCapyCjD98sFJGrXm0zuetuLFcHRT9nOXmx8UeU+HYUAzBpoCIHmREpLsrkjBxPlLgPa9mj3ZkPzYlBXMykhQhLxICiVeji0JdTeUNCWfMr2o5rJMK2bOFNWURxdLIY4H/4r3+yg2gXhCV/bLkz2Jib9i2Z+RCCSCQ1QFsJ7fDIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/v/ppRaU0YydfhYEfWAoxvpWf2KNMcWrRVS9hN2aAw8=;
 b=cPe9SUeZe2idl99R0uMIQA3QQoHCTxBLq/yp5SgJzKQMGHzCc4ioyD7Ae7Lng+mZj5SXVwk7Elius4jOkyjRquEseR0mbbAiuDen/lKDxQcynBjl+zm5MoXUy2Znl44vIyniyoe0atOfTUSMUlkulusTaqT+gINAmZV/Cy/yONUU58Iqr7SylQZRamOFFckfLkdys2b7Pj1rj5cQwvaQRLYhQmBso/KgVFa3Q8NnJbAzzVl2zNNtnt598T5sK4EdFnhyEBD/qUnzMh5+j74YMThUOaBj3ot7Bl09z2tQjSC4fwVD7C+vVnKBdMNMQ+QSCJSp2ryAovjaHQSExIezaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/v/ppRaU0YydfhYEfWAoxvpWf2KNMcWrRVS9hN2aAw8=;
 b=W7/joO90T9iNaWJdVhZYNvb7jPObwO90/ixoas8njal88nMl6WVtjVLlUPZX7zTYq9PWKYhBvpnKqz7dqp6VFrnWbkFX6lrxr0JSf3kGkLmKpCYLx9OftFDQwmsr8vC8kIPS4PMtyQhrx8BAI4Ji0rVthZx/yQWVAkxVVa7ujM8=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Michal Orzel <michal.orzel@amd.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Topic: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Index: AQHakWRKhhfM1dXXeUO6IItBh4LVR7Fz8i4AgAADG4CAABZagIAAD/UAgAAENgA=
Date: Mon, 22 Apr 2024 10:39:17 +0000
Message-ID: <A2E35819-9A67-4B6D-AA9F-DD3A8D618C9C@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
 <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
 <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
 <f7318988-85fa-4a40-8242-67db3305a397@amd.com>
 <5de5dec4-7e2a-4e96-84c6-214ad781562a@xen.org>
In-Reply-To: <5de5dec4-7e2a-4e96-84c6-214ad781562a@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB9PR08MB6457:EE_|DB1PEPF000509F7:EE_|PAWPR08MB9733:EE_
X-MS-Office365-Filtering-Correlation-Id: f8ee5a45-bbb5-4273-a061-08dc62b87ef6
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?VzZSVmZ4TThHNmxEUVd1bHhDK2xYUWhma3VZdXE5RVQzYThDajBsMFppS3BK?=
 =?utf-8?B?KzRHSTREQ3A1b21nYkUwN1Z6czYxcmlWYlBHdTlvUW5LNmlaOGg2dG13SzJ1?=
 =?utf-8?B?c01EY2xIa2kyUVZLMzhseGpDWWg0S0VQNFI5M21TRTVZekJlbS84azQ0Z25J?=
 =?utf-8?B?TFFWTmtSd2daTmxCZiswV0ZJRTBZRVhBd0JjZzNUZ2IvcEtVYzVpc2pQSE9H?=
 =?utf-8?B?UE9TZEVrL3VKb0xseXJQc2MzeGNrWTg2NkdNaFZzcWxMSDJxWlFSaUZsMTZ4?=
 =?utf-8?B?UEl0NVVmNVhYWndab3h4NnJ5UkcxRUphZXR5TlhQby9sNzhBS2pucGRTMEM1?=
 =?utf-8?B?RWxvWjFoRVpQWXNOWVdhZEc0VElQMTBwOHdKMmNHUlVydmFNbC85T21WRVNZ?=
 =?utf-8?B?dC93S2RTek1leWdzd3RaRHRkRkp5ZTdPbWZZcTBmYXZlM3hseDlPeEcySkhI?=
 =?utf-8?B?ZnJpamhRNDJ3K1o4eHRuU1lWNHZMLzY0SmtKZWdJSlFnWmxmOG9FbVB3ZTFE?=
 =?utf-8?B?RllPYkx2Z0FIai9sTS8xOEllYlFubCtsc2RzNjl1UUR5OWQ2MDhMU0hxSTVC?=
 =?utf-8?B?UzY0MVZLZlNScWJHc25GNFdqNVN2d29VbWlEZ25HdU1XSEVhUnh4aHFNWnlm?=
 =?utf-8?B?QTJWNXpEZVF5bVVYTy9IMDBqWDZWQzhlc1MzOW51WDRNUlFNaTZrVURRTXpq?=
 =?utf-8?B?d1g1eWhsUWh3MkVBMy9vUkRaSnJreDc5bE1iK0ZZTU5SbXZya2V3SXFPS0k3?=
 =?utf-8?B?YmRVMEROblRPc1RueEl3emlUOXZMMEZkWmtIN2tCbW5WYmIwL0p0YjdhL0Vs?=
 =?utf-8?B?WG0xZXNJSVFtMXdpbHIwSkxxVGdGU1h1TjFiOUNMN3h5RFlCRjlxM0p3b1J5?=
 =?utf-8?B?OUF3blFmVno3cTF2aG1ZK1l3QmtZUi9WeVU2NTh4SXlFSTlHWHRsL3lNZUdv?=
 =?utf-8?B?Rnl4RGpZcDMrQ2NpNGIyOFlnNDFiNFZQNEhtWXlBR0tnSjdGMVpVSlZPYVdC?=
 =?utf-8?B?RVhnazNiWEFuNVEzZkJxUnkreklrckgxNk5xc1o3NjVmcXlBL1RvT0VBZEhG?=
 =?utf-8?B?aFhFMG1LL2lvNHVvK1d4cjBRby80akk1alZwU3pQMFgzNjJSUGRpNjQwcFpw?=
 =?utf-8?B?Y3l0c0xickFHdVJFMm56TXRhZUpWck1ZL1lFR3g5NXR5L0w1QisvcktiVmZC?=
 =?utf-8?B?MmFheUxPdXptaWdoMDVSYkx4ZHNhQVhSS0o0R2pLU1dTTEZ4UnF2Nm5rQUM2?=
 =?utf-8?B?LzNoTExGaGFsR0NGSWZBdE90NmVNMHR5VTBsMjIrRUZ2M1MvN2R4emdMaEVO?=
 =?utf-8?B?dWpQdFgycWR6VDY3NHhQSkhaQjNML0xhTzlyaXAwL1NFTWlkWGNwUGZUbmNN?=
 =?utf-8?B?QndnbnA2VTlwaTBEYVFYazFhOHNBL0lTRDBDbmZCM0pMTzJMckg0eHQrTzJu?=
 =?utf-8?B?VDZscCtXdHI0MGRGODZoNWc0UGliVld3Tk1kYy92aEt5eWtaYjJWUU5Vcy9H?=
 =?utf-8?B?VUJxOEMxdmtWcTR1bjdrMFFlTk03R0ZhMTlXd0xkcExnRnVyU2pKR2JseTVK?=
 =?utf-8?B?K0V1cUJnWitOOVpXTmg5RW5XRG1TWkR5Zm9ITURxQmtlUlUwRG9Mbmo0QUMv?=
 =?utf-8?B?S1hKWERSajYydVVjNmlNbDJxSE5BdVVqOTVIajcxUEd1OFNmUnZ4MzJtSkJv?=
 =?utf-8?B?L3N1Nkd0dkN1dm1ndXh6QzhBZWx1TFhHaTF1Q0tXQzdldVJkbzh2Ym5qaWZH?=
 =?utf-8?B?U1lFbTVTOTNCQnZzNmJCd2V3YVhSeldzdTlLamxCNkhXRTJsZFJTK0hrd2NH?=
 =?utf-8?B?RVphZ3NxZXBqMGhIZU1ydz09?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <98014549CBEB7E4EBC953BFF351A5F78@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6457
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509F7.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d5b91b9a-a931-4e87-635f-08dc62b875da
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Y0o1dE1ncDgxNm5VWUdzSG1CZ2lERFdodXBhcXpNTWVMUHJYWjRLbk5xZEd0?=
 =?utf-8?B?K2lWazBqclRDdTFEZEJzY2VBaDhQWVYrK1BOdE9kNll1NGpnZGtySXowWjhk?=
 =?utf-8?B?ejFWOWVhN0doQkxvREVzUXVmdGdlRmlWcVg4QVNMUDRNdXNSNDdyYVN2L05Z?=
 =?utf-8?B?M0x1eTUxMU1jbUYwaHdEVUJ2OWFPczA5MnlzbnArZVAzMkc0Y2NkMVJsNmFh?=
 =?utf-8?B?ZkYrOFh4dVVaUFRsZ3FQTVc5QStrSjFpZmV3Zmx5RUVjV0tQVElCenUySGs5?=
 =?utf-8?B?dEwyUk42d0JZZldQZ0xCTXZ3anRES09FdE5pR2tIa0UyV3d5cG5nODIxNlgx?=
 =?utf-8?B?aGNJd01UY2JsOEgxekF6SU9yOGVsdlA0WElid1JzdnhMcnhlYXo3SnMvdlB4?=
 =?utf-8?B?R05VcWU1VHU1M0N6ZTNkWUZvS0x2bjFiVytnTTY3TjJoWGR1WlcvdmJjS1di?=
 =?utf-8?B?REFoYTNyaFM5NlBMNFFrM2ZIZXFzZ0J1M0NrK2paRkFmWmlaY01sNjFBek94?=
 =?utf-8?B?TnJOUU5OdXVuYS83YWJyVDlZZlZETkd5UzlmdktMTHNheCs3Vm0zcjZPOWE0?=
 =?utf-8?B?RmRkMVh6R0ZNY2c2dGhJcHc3YVBmdXYzVGxINTFhUzRpUXFVSnZsVm1WRGh1?=
 =?utf-8?B?TG1ENmdXTlp6VE1UWlZxNmwreTVlY0U0Z21EMmxOME9icUN3NVJ2aGpsa2N0?=
 =?utf-8?B?N3pYWW00cThXQkZROXp5Y0lCQkxRVnRJWjFsc1dQYzI4WktoblNvc1VyUERE?=
 =?utf-8?B?ZXhXY3NaejF5STR3RXY1YWYzZ0J1b1V5OWI4MmI2VzA5dlJyOVFSY3ZvUkZK?=
 =?utf-8?B?YU5zK0lmdFRzK2lLZ3VPVzhBdVU4MGVMWTRJdUJmY1FkdWxGS0hGSkJ2dzQ3?=
 =?utf-8?B?Y1FVNVVFekN5TDhrYVFONHBITlAzcUp2UFR2T2txQ3JRak1ZMWxtUWNiSGQ1?=
 =?utf-8?B?ZlhmaU9GYWFIRGZWT2wwclcveTdpaVFsR2VjNzRVZG0zUTNyNXBBcVQwc0w3?=
 =?utf-8?B?bDJLdFpZUU1nalAxUlowTU5NVFFqSUhqV1l6bStBSEtDWVpvSEtXZzRheTE1?=
 =?utf-8?B?bThYNStzK0U1eDU1MHdKTWdtZVVhcEc0NGl2anh0TzZhTmt4QzgwWmc0dHh3?=
 =?utf-8?B?VXFUTC9DckxhbFNReXRFc1RlYUxYamgwWmxQVlR6aW5YVUxlaUQrUzBsOFor?=
 =?utf-8?B?dm1ieWxHczlSRmJzVmY0cnI0TU43YmEyT2lQekRBYWh1Wi9ZamhxQmI2REtB?=
 =?utf-8?B?MytWZG5zdWplMk5lcWg5Qjd4K1RGdks3UHRsWHg3MnlBeC9ybmE4ZUltelZV?=
 =?utf-8?B?YWJDalR3V3FqUDA4bVNxcEZxZ1BiL1hqS2pNQit5T3E1ODdoVWkvOHpxRHUx?=
 =?utf-8?B?UzE5YXgvN0Y4YWdDMHdqdkRFQmNvTlIrRWJQKzkxL3BYaW5FejgxZ0ZTS2F3?=
 =?utf-8?B?OXREL2N2bmJBWnpFVWNWVGZGQVBiSGM3amFZVkkvQm5MWGRJZHpySnEwQ3NY?=
 =?utf-8?B?QzJvWHZLb3FmWEZ4Y1FGSHhXUGw5ZmVyWVhBbWNHZWswTEp4MDlrMlJnR3FM?=
 =?utf-8?B?YVc4djlVVE1yL1AvdC9NTE1EY0p5UUFzQWZGakc1eStJQVhieVJna3k5ak9x?=
 =?utf-8?B?RjF6RmtRNWwrV0ZyUkF3a0Rud0p4a0ZQV2xudXpBbHk4WXVCekRNYmJDRExn?=
 =?utf-8?B?ZG9ndk5tMzlWZUI4VlZobDVoVU13M0x2QmE5YjdVOFRIclU1UWhWTGNjbzFs?=
 =?utf-8?B?UDYrc3BLazVMc0JrSUNjYTNMZkdqV1JTTmZUbGZySE9CTFc5WFF1Rm4zV01n?=
 =?utf-8?B?Ykc4WGNTRnpBK1hCa1VaMDk1UDlsb0MyRFZBbWtQTXluZ2wrVk1Gd2x1VXN2?=
 =?utf-8?Q?9RdVd7Y9STOS6?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(82310400014)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2024 10:39:32.3364
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f8ee5a45-bbb5-4273-a061-08dc62b87ef6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509F7.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9733

DQoNCj4gT24gMjIgQXByIDIwMjQsIGF0IDExOjI0LCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4u
b3JnPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gT24gMjIvMDQvMjAyNCAxMDoyNiwgTWljaGFs
IE9yemVsIHdyb3RlOg0KPj4gT24gMjIvMDQvMjAyNCAxMDowNywgTHVjYSBGYW5jZWxsdSB3cm90
ZToNCj4+PiANCj4+PiANCj4+PiBIaSBNaWNoYWwsDQo+Pj4gDQo+Pj4+PiArICAgIGZvciAoIGNl
bGxzID0gcmVnLCBpID0gMDsgY2VsbHMgPCByZWcgKyBucl9jZWxsczsgaSsrLCBjZWxscyArPSBy
ZWdfc2l6ZSApDQo+Pj4+PiArICAgIHsNCj4+Pj4+ICsgICAgICAgIHU2NCBzdGFydCA9IGR0X3Jl
YWRfbnVtYmVyKGNlbGxzLCBhZGRyY2VsbHMpOw0KPj4+PiBXZSBzaG91bGQgbm8gbG9uZ2VyIHVz
ZSBMaW51eCBkZXJpdmVkIHR5cGVzIGxpa2UgdTY0LiBVc2UgdWludDY0X3QuDQo+Pj4+IA0KPj4+
Pj4gKyAgICAgICAgdTY0IHNpemUgPSBkdF9yZWFkX251bWJlcihjZWxscyArIGFkZHJjZWxscywg
c2l6ZWNlbGxzKTsNCj4+Pj4+ICsNCj4+Pj4+ICsgICAgICAgIGR0X2RwcmludGsoIiAgQmFuayAl
ZDogJSMiUFJJeDY0Ii0+JSMiUFJJeDY0IlxuIiwNCj4+Pj4+ICsgICAgICAgICAgICAgICAgICAg
aSwgc3RhcnQsIHN0YXJ0ICsgc2l6ZSk7DQo+Pj4+IGkgaXMgdW5zaWduZWQgc28gdGhlIGNvcnJl
Y3QgZm9ybWF0IHNwZWNpZmllciBzaG91bGQgYmUgJXUNCj4+PiANCj4+PiBSaWdodCwgc2hvdWxk
IGhhdmUgYmVlbiBtb3JlIGNhcmVmdWwgd2hlbiBjb3B5aW5nIHRoZSBjb2RlIGZyb20gYWJvdmUN
Cj4+PiANCj4+Pj4+IA0KPj4+Pj4gK3ZvaWQgX19pbml0IHNobV9tZW1fbm9kZV9maWxsX3JlZ19y
YW5nZShjb25zdCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvLA0KPj4+Pj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2JlMzIgKnJlZywgaW50ICpucl9jZWxscywN
Cj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFkZHJj
ZWxscywgaW50IHNpemVjZWxscykNCj4+Pj4+ICt7DQo+Pj4+PiArICAgIGNvbnN0IHN0cnVjdCBt
ZW1iYW5rcyAqbWVtID0gJmtpbmZvLT5zaG1fbWVtLmNvbW1vbjsNCj4+Pj4+ICsgICAgdW5zaWdu
ZWQgaW50IGk7DQo+Pj4+PiArICAgIF9fYmUzMiAqY2VsbHM7DQo+Pj4+PiArDQo+Pj4+PiArICAg
IEJVR19PTighbnJfY2VsbHMgfHwgIXJlZyk7DQo+Pj4+PiArDQo+Pj4+PiArICAgIGNlbGxzID0g
JnJlZ1sqbnJfY2VsbHNdOw0KPj4+Pj4gKyAgICBmb3IgKCBpID0gMDsgaSA8IG1lbS0+bnJfYmFu
a3M7IGkrKyApDQo+Pj4+PiArICAgIHsNCj4+Pj4+ICsgICAgICAgIHU2NCBzdGFydCA9IG1lbS0+
YmFua1tpXS5zdGFydDsNCj4+Pj4gZGl0dG8NCj4+PiANCj4+PiBXaWxsIGZpeCwgaGVyZSBwYWRk
cl90IHNob3VsZCBiZSBvayBpc27igJl0IGl0Pw0KPj4geWVzDQo+Pj4gDQo+Pj4+IA0KPj4+PiBS
ZXN0IExHVE06DQo+Pj4+IFJldmlld2VkLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBh
bWQuY29tPg0KPj4+IA0KPj4+IFRoYW5rcywgSSB3aWxsIHNlbmQgdGhlIG5leHQgb25lIHNob3J0
bHkuDQo+PiBJIGRvbid0IHRoaW5rIHRoZXJlIGlzIGEgbmVlZCB0byByZXNwaW4gdGhlIHdob2xl
IHNlcmllcyBqdXN0IGZvciB0aGVzZSBmaXhlcy4NCj4+IFlvdSBzaG91bGQgd2FpdCBmb3IgdGhl
IGNvbW1pdHRlcnMgb3Bpbmlvbi4NCj4gDQo+IEFGQUlDVCwgdGhlcmUgYXJlIG11bHRpcGxlIGNo
YW5nZXMgcmVxdWVzdGVkIGluIHZhcmlvdXMgbGluZS4gU28gSSB3b3VsZCByYXRoZXIgcHJlZmVy
IGlmIHRoaXMgaXMgcmVzcGlubmVkLg0KPiANCj4gSWYgdGhpcyBpcyB0aGUgb25seSBwYXRjaCB0
aGF0IHJlcXVpcmVzIHRvIGNoYW5nZS4gWW91IGNvdWxkIHNlbmQgYSBuZXcgb25lIGluIHJlcGx5
LXRvIHRoaXMgcGF0Y2guIEkgdGhpbmsgYjQgaXMgY2xldmVyIGVub3VnaCB0byBwaWNrIHVwIHRo
ZSBuZXcgdmVyc2lvbiBpbiB0aGF0IGNhc2UuDQoNCkFsbCB0aGUgb3RoZXIgcGF0Y2hlcyBhcmUg
YWxyZWFkeSByZXZpZXdlZCBieSBNaWNoYWwsIGlmIHlvdSBhZ3JlZSB3aXRoIGhpcyByZXZpZXcg
aXTigJlzIG9rIGZvciBtZSB0byByZXNwaW4gb25seSB0aGlzIG9uZQ0KDQpDaGVlcnMsDQpMdWNh
DQoNCj4gDQo+IENoZWVycywNCj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 10:45:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 10:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709879.1108898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryrAx-0004Ry-Bo; Mon, 22 Apr 2024 10:45:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709879.1108898; Mon, 22 Apr 2024 10: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 1ryrAx-0004Rr-9D; Mon, 22 Apr 2024 10:45:31 +0000
Received: by outflank-mailman (input) for mailman id 709879;
 Mon, 22 Apr 2024 10:45: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 1ryrAv-0004Rl-N3
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 10:45: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 1ryrAv-0003qt-19; Mon, 22 Apr 2024 10:45: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 1ryrAu-0008Bu-Qi; Mon, 22 Apr 2024 10:45:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=hOnvq7HEZQYFOOtzDpytJyEw7yIjfq8JYRhTMlLVpTE=; b=sSYZAGQu+aItX+DjPH0kUST0C1
	uPEcYGpBaFUfOB2PtewSzEQSiM1Rhlpo2NbvUegSVAZ2eexFoTmJvLIA+LpAlIb38DdP6SNyfPoRx
	3HOrJNa9FE57rc4gX5gzVP/AKxgpm/Lr2WDtXgYyzASoAGtMH+fY7mXuNTQlz0CuMr5U=;
Message-ID: <aa78940f-27e8-4f2c-9e45-5144cf13bbef@xen.org>
Date: Mon, 22 Apr 2024 11:45:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
 <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
 <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
 <f7318988-85fa-4a40-8242-67db3305a397@amd.com>
 <5de5dec4-7e2a-4e96-84c6-214ad781562a@xen.org>
 <A2E35819-9A67-4B6D-AA9F-DD3A8D618C9C@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <A2E35819-9A67-4B6D-AA9F-DD3A8D618C9C@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Luca,

On 22/04/2024 11:39, Luca Fancellu wrote:
> 
> 
>> On 22 Apr 2024, at 11:24, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 22/04/2024 10:26, Michal Orzel wrote:
>>> On 22/04/2024 10:07, Luca Fancellu wrote:
>>>>
>>>>
>>>> Hi Michal,
>>>>
>>>>>> +    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
>>>>>> +    {
>>>>>> +        u64 start = dt_read_number(cells, addrcells);
>>>>> We should no longer use Linux derived types like u64. Use uint64_t.
>>>>>
>>>>>> +        u64 size = dt_read_number(cells + addrcells, sizecells);
>>>>>> +
>>>>>> +        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
>>>>>> +                   i, start, start + size);
>>>>> i is unsigned so the correct format specifier should be %u
>>>>
>>>> Right, should have been more careful when copying the code from above
>>>>
>>>>>>
>>>>>> +void __init shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
>>>>>> +                                        __be32 *reg, int *nr_cells,
>>>>>> +                                        int addrcells, int sizecells)
>>>>>> +{
>>>>>> +    const struct membanks *mem = &kinfo->shm_mem.common;
>>>>>> +    unsigned int i;
>>>>>> +    __be32 *cells;
>>>>>> +
>>>>>> +    BUG_ON(!nr_cells || !reg);
>>>>>> +
>>>>>> +    cells = &reg[*nr_cells];
>>>>>> +    for ( i = 0; i < mem->nr_banks; i++ )
>>>>>> +    {
>>>>>> +        u64 start = mem->bank[i].start;
>>>>> ditto
>>>>
>>>> Will fix, here paddr_t should be ok isn’t it?
>>> yes
>>>>
>>>>>
>>>>> Rest LGTM:
>>>>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>>>
>>>> Thanks, I will send the next one shortly.
>>> I don't think there is a need to respin the whole series just for these fixes.
>>> You should wait for the committers opinion.
>>
>> AFAICT, there are multiple changes requested in various line. So I would rather prefer if this is respinned.
>>
>> If this is the only patch that requires to change. You could send a new one in reply-to this patch. I think b4 is clever enough to pick up the new version in that case.
> 
> All the other patches are already reviewed by Michal, if you agree with his review it’s ok for me to respin only this one

I didn't review the patch in details. But I agree with his comments on it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 10:50:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 10:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709883.1108909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryrFH-00051h-TN; Mon, 22 Apr 2024 10:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709883.1108909; Mon, 22 Apr 2024 10: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 1ryrFH-00051a-QX; Mon, 22 Apr 2024 10:49:59 +0000
Received: by outflank-mailman (input) for mailman id 709883;
 Mon, 22 Apr 2024 10:49:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ds6W=L3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ryrFG-00051U-8h
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 10:49:58 +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 0f2a9b5b-0096-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 12:49:57 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-41a7ae25d53so3119045e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 03:49:57 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 n5-20020a05600c3b8500b0041a3b5ed993sm4472277wms.25.2024.04.22.03.49.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 03: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: 0f2a9b5b-0096-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713782997; x=1714387797; 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=YJx8ULXnpCynxl86KYHOQaEOUtNSzPG3epJW2ZOzLOo=;
        b=fEC2LKuLL1oZGjyUzJ+PIeX6GhQ6Uo0TyuNLZ8+YWwueD0KaF/KV/Mp4kDAYrqcd47
         jliGZ3flm5Y8nZS0OZqwS38ZfVfQ9qhQFKlxSaTbTz9ludq2REwI0uVStn7qPOKwQahG
         Rtmz5YzLzcfCBp4HXVWgnNtNxe85ZaLsZL96c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713782997; x=1714387797;
        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=YJx8ULXnpCynxl86KYHOQaEOUtNSzPG3epJW2ZOzLOo=;
        b=VHaJkWN/DhxR00ld1BtuneFDGeRqg36BxbEAxIBN4oCxI2QztSdVBZH23RpwvzJ1Wm
         q+6z1qdOSLKTuO3vCH0pO+wXUYp9VeW2U6l2aQw5Yeeh372uFAfGkvSG1Fy+jS24wkIF
         ZRGfoMX2xSnVwidV49D/R4vOlfaz8jy76S8H8qULvpf6KtaWxxZBAMh1ykK/qgdanbVT
         5mwDeczMaUgsWFhoDNs4gkXyUF1mA4gPGW0H4AP6lhFJjxwmmY8VT22BtAqy/zAWzI5m
         QlSb+7/cBlXovqMnLixGhGV4jNAvLhRG9+myzhSo4LqA9k4Upziek7uwdrQPPdF3/vJu
         4djg==
X-Forwarded-Encrypted: i=1; AJvYcCWUoBcEWEUinuvepDMROuNaFa1qGbNbOBktjL6FFkFClGGRv/9B769Wxdv8ruNPWeWgoVIIv/vdwz+XE+txX0WXK0nWnswa5hlvCEddgV0=
X-Gm-Message-State: AOJu0Yys2QFAEo6GSm4wCzlLIW5fcsQEJZkE4/XHNo2XwzwxiNfafr3N
	VAOj+ofl+PuKRyIrC1dc7eeFjyq8xWBHRzOPidFuTra/rHGbHAou4ebCn83FyOU=
X-Google-Smtp-Source: AGHT+IHVocB0W18vsWqcLHARlwCt5dLeUBCv1N0ogAdbbXPH3KAvSt92gbsQnvG8Zr8WsmRrW7Bpng==
X-Received: by 2002:a05:600c:3b11:b0:418:17e9:c23f with SMTP id m17-20020a05600c3b1100b0041817e9c23fmr5930257wms.31.1713782996704;
        Mon, 22 Apr 2024 03:49:56 -0700 (PDT)
Date: Mon, 22 Apr 2024 12:49:55 +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 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZiZA0-n6vbOgu-_1@macbook>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com>
 <ZiJMj00By3X8FskL@macbook>
 <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com>
 <ZiYXtJcefv-iMpAj@macbook>
 <f00e0b8b-0e45-45b1-9151-6c16c5a70d76@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f00e0b8b-0e45-45b1-9151-6c16c5a70d76@suse.com>

On Mon, Apr 22, 2024 at 10:25:40AM +0200, Jan Beulich wrote:
> On 22.04.2024 09:54, Roger Pau Monné wrote:
> > On Fri, Apr 19, 2024 at 04:34:41PM +0200, Jan Beulich wrote:
> >> On 19.04.2024 12:50, Roger Pau Monné wrote:
> >>> On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
> >>>> On 19.04.2024 12:02, Roger Pau Monne wrote:
> >>>>> Livepatch payloads containing symbols that belong to init sections can only
> >>>>> lead to page faults later on, as by the time the livepatch is loaded init
> >>>>> sections have already been freed.
> >>>>>
> >>>>> Refuse to resolve such symbols and return an error instead.
> >>>>>
> >>>>> Note such resolutions are only relevant for symbols that point to undefined
> >>>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> >>>>> and hence must either be a Xen or a different livepatch payload symbol.
> >>>>>
> >>>>> Do not allow to resolve symbols that point to __init_begin, as that address is
> >>>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> >>>>> resolutions against it.
> >>>>>
> >>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>>>> ---
> >>>>> Changes since v1:
> >>>>>  - Fix off-by-one in range checking.
> >>>>
> >>>> Which means you addressed Andrew's comment while at the same time extending
> >>>> the scope of ...
> >>>>
> >>>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
> >>>>>                      break;
> >>>>>                  }
> >>>>>              }
> >>>>> +
> >>>>> +            /*
> >>>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> >>>>> +             * livepatch payloads don't have init sections or equivalent.
> >>>>> +             */
> >>>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> >>>>> +                      st_value < (uintptr_t)&__init_end )
> >>>>> +            {
> >>>>> +                printk(XENLOG_ERR LIVEPATCH
> >>>>> +                       "%s: symbol %s is in init section, not resolving\n",
> >>>>> +                       elf->name, elf->sym[i].name);
> >>>>
> >>>> ... what I raised concern about (and I had not seen any verbal reply to that,
> >>>> I don't think).
> >>>
> >>> I've extended the commit message to explicitly mention the handling of
> >>> bounds for __init_{begin,end} checks.  Let me know if you are not fine
> >>> with it (or maybe you expected something else?).
> >>
> >> Well, you mention the two symbols you care about, but you don't mention
> >> at all that these two may alias other symbols which might be legal to
> >> reference from a livepatch.
> > 
> > I'm having a hard time understanding why a livepatch would want to
> > reference those, or any symbol in the .init sections for that matter.
> > __init_{begin,end} are exclusively used to unmap the init region after
> > boot.  What's the point in livepatch referencing data that's no
> > longer there?  The only application I would think of is to calculate
> > some kind of offsets, but that would better be done using other
> > symbols instead.
> > 
> > Please bear with me, it would be easier for me to understand if you
> > could provide a concrete example.
> 
> The issue is that you do comparison by address, not by name. Let's assume
> that .rodata ends exactly where .init.* starts. Then &__init_begin ==
> &_erodata == &__2M_rodata_end. Access to the latter two symbols wants to
> be permitted; only __init_begin and whatever ends up being the very first
> symbol in .init.* ought to not be referenced.

Hm, I guess I could add comparison by name additionally, but it looks
fragile to me.

So when st_value == __init_begin check if the name matches
"__init_begin" or "__2M_init_start" or "_sinittext", and fail
resolution, otherwise allow it?

> Worse (but contrived) would be cases of "constructed" symbols derived from
> ones ahead of __init_begin, with an offset large enough to actually point
> into .init.*. Such are _still_ valid to be used in calculations, as long
> as no deref occurs for anything at or past __init_begin.

But one would have to craft such a symbol specifically, at which point
I consider this out of the scope of what this patch is attempting to
protect against.  The aim is not to prevent malicious livepatches, and
there are far easier ways to trigger a page-fault from a livepatch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 10:57:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 10:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709893.1108918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryrMh-0007Bu-NA; Mon, 22 Apr 2024 10:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709893.1108918; Mon, 22 Apr 2024 10: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 1ryrMh-0007Bn-KK; Mon, 22 Apr 2024 10:57:39 +0000
Received: by outflank-mailman (input) for mailman id 709893;
 Mon, 22 Apr 2024 10:57: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 1ryrMf-0007Bf-Qe
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 10:57: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 1ryrMf-00042V-9f; Mon, 22 Apr 2024 10:57:37 +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 1ryrMf-0000Ii-2M; Mon, 22 Apr 2024 10:57:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=VLo7jqPPKBAMo2o0/G7+6Mu5upHw0Kanneg5HQw2ZLY=; b=NG8J5z7USeAf2311JapyAt5urb
	MJlb3cMihzAzTtabfU6po1pdqrQ2+L5iR6L6ts3YTC+Zz+ngUW5M9dTP+UnHuNgw3OwK4OUn9emV7
	jTCQ9q86/+K9JtbqXHZI4AewJAph/W+NBOBiPNvrL8RqbqxwoOsTeGwghd0R0RgawFXU=;
Message-ID: <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
Date: Mon, 22 Apr 2024 11:57:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI
 handlers
Content-Language: en-GB
To: Jens Wiklander <jens.wiklander@linaro.org>, xen-devel@lists.xenproject.org
Cc: patches@linaro.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: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240422073708.3663529-5-jens.wiklander@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jens,

On 22/04/2024 08:37, Jens Wiklander wrote:
> Updates so request_irq() can be used with a dynamically assigned SGI irq
> as input. This prepares for a later patch where an FF-A schedule
> receiver interrupt handler is installed for an SGI generated by the
> secure world.

I would like to understand the use-case a bit more. Who is responsible 
to decide the SGI number? Is it Xen or the firmware?

If the later, how can we ever guarantee the ID is not going to clash 
with what the OS/hypervisor is using? Is it described in a 
specification? If so, please give a pointer.

> 
> gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they are
> always edge triggered.
> 
> gic_interrupt() is updated to route the dynamically assigned SGIs to
> do_IRQ() instead of do_sgi(). The latter still handles the statically
> assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.
> 
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> v1->v2
> - Update patch description as requested
> ---
>   xen/arch/arm/gic.c | 5 +++--
>   xen/arch/arm/irq.c | 7 +++++--

I am not sure where to write the comment. But I think the comment on top 
of irq_set_affinity() in setup_irq() should also be updated.

>   2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index 44c40e86defe..e9aeb7138455 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -117,7 +117,8 @@ void gic_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
>   
>       desc->handler = gic_hw_ops->gic_host_irq_type;
>   
> -    gic_set_irq_type(desc, desc->arch.type);
> +    if ( desc->irq >= NR_GIC_SGI)
> +        gic_set_irq_type(desc, desc->arch.type);

So above, you say that the SGIs are always edge-triggered interrupt. So 
I assume desc->arch.type. So are you skipping the call because it is 
unnessary or it could do the wrong thing?

Ideally, the outcome of the answer be part of the comment on top of the 
check.

>       gic_set_irq_priority(desc, priority);
>   }
>   
> @@ -375,7 +376,7 @@ void gic_interrupt(struct cpu_user_regs *regs, int is_fiq)
>           /* Reading IRQ will ACK it */
>           irq = gic_hw_ops->read_irq();
>   
> -        if ( likely(irq >= 16 && irq < 1020) )
> +        if ( likely(irq >= GIC_SGI_MAX && irq < 1020) )

This check is now rather confusing as one could think that do_IRQ() 
would still not be reached for dynamic SGI. I think it would be clearer 
GIC_SGI_MAX needs to be renamed to GIC_SGI_STATIC_MAX and do_sgi() to 
do_static_sgi().

>           {
>               isb();
>               do_IRQ(regs, irq, is_fiq);
> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> index bcce80a4d624..fdb214560978 100644
> --- a/xen/arch/arm/irq.c
> +++ b/xen/arch/arm/irq.c
> @@ -224,9 +224,12 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq, int is_fiq)
>   
>       perfc_incr(irqs);
>   
> -    ASSERT(irq >= 16); /* SGIs do not come down this path */
> +    /* Statically assigned SGIs do not come down this path */
> +    ASSERT(irq >= GIC_SGI_MAX);


With this change, I think the path with vgic_inject_irq() now needs to 
gain an ASSERT(irq >= NR_GIC_SGI) because the path is not supposed to be 
taken for SGIs.

>   
> -    if ( irq < 32 )
> +    if ( irq < NR_GIC_SGI )
> +        perfc_incr(ipis);
> +    else if ( irq < NR_GIC_LOCAL_IRQS )
>           perfc_incr(ppis);
>       else
>           perfc_incr(spis);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 10:58:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 10:58:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709895.1108929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryrN2-0007ar-UJ; Mon, 22 Apr 2024 10:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709895.1108929; Mon, 22 Apr 2024 10: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 1ryrN2-0007ak-Rc; Mon, 22 Apr 2024 10:58:00 +0000
Received: by outflank-mailman (input) for mailman id 709895;
 Mon, 22 Apr 2024 10:57: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryrN1-0007ZG-LU
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 10:57:59 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d57a13f-0097-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 12:57:57 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-41a1d2a7b81so6348525e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 03:57: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
 bd6-20020a05600c1f0600b0041a7aa23dbfsm1563440wmb.48.2024.04.22.03.57.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 03:57:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d57a13f-0097-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713783477; x=1714388277; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WFPA+xLiVjGbSZJp/fDcuw2eMSQ35Y/HGcPKt41e5Ys=;
        b=PHZiOHJ1kwi7/fDMLqf1z2czc8nM4h3bjzslErVGV08T15ETwp0k7YROx2i9VOeEcs
         fQHKXcvptSPNBwvBvtjFisOQprgwPVHXz+8smBcyimk+cUtfkf0o8vA0Q1GwOe3EDIEt
         1YZSGesTWreYAXMFIy3vf3Wl0sM3GmCa9j0N5WFDzs2cROjjZXRdqYW5AFw8K7+Wv9T+
         M+GHPSLCXFIDKrJoktkltMzw68Xj/XF1ikBL64lt868GADSzhSAPk6d4gOV3VzPIVbjT
         ppRBH9XRtUHkyHmkbbR0BgcclDYWSacORO4r/0aVmteBIy6aRdgfvKB0FfeGr4quOqPh
         k81g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713783477; x=1714388277;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WFPA+xLiVjGbSZJp/fDcuw2eMSQ35Y/HGcPKt41e5Ys=;
        b=vqnFMVykIuha0o18K6AUBlMKLAyk+2PfXFA1R0HcRlj/fk/rAW/3I+aT5Y4l/Lg3op
         8FEGPY2T1BgttXUsBgHvvdE84oxWpspM3/4H5SdyUfqOuxkD/b0GAqo/jW3k7VH7/jlu
         kELboDXRznY4e82lZIk3UOxOxgxH/sl8e/xAez/PHwBPsQbZAxIZBMnuu7Su5RJAyFHb
         gpHGCCviDjC6/QKq5kIT99/4hJMaVHeJMqSfiKD8a4VzaoY/48o7Nr5+wrMrEKOH1c5K
         +CmfahSx87WAAbhM5Yc8w3b3TtIRAFx3pToid63g1YOTvgG4s+9JXdgJFpbdSipHWS+T
         dF1w==
X-Forwarded-Encrypted: i=1; AJvYcCWpVWy/tt9nY1sIfEbCPQql3rEa9ni4sgR2H2VchXWsg8AA5QiPjN8phUZrh5E9PW53QQehmgjUhVGvJiuQbiXEm1KyQA8o+Yf6Pxqmsf4=
X-Gm-Message-State: AOJu0YxIOnxi5LNWZzvJNBqiUrVxxgV0RhZ81tDDwIzDXWdoER1gal9Q
	OCY0nwkaZxpCTIf1EVG3DOrNpOgUBrbrw+Q/3yNR4bxW2uFrGhkB6Fj/hMvpNA==
X-Google-Smtp-Source: AGHT+IF7caF5slc/OsRIW86KiLYrytXhCYvVyuy067kLcSnCH8D62cxT/0330SLOs5oXmXML/ix+8w==
X-Received: by 2002:a05:600c:4c17:b0:418:f6e7:3599 with SMTP id d23-20020a05600c4c1700b00418f6e73599mr8343345wmp.3.1713783476803;
        Mon, 22 Apr 2024 03:57:56 -0700 (PDT)
Message-ID: <e5763200-fa87-46ec-8746-c7b4215a28ff@suse.com>
Date: Mon, 22 Apr 2024 12:57:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Content-Language: en-US
To: =?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: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com> <ZiJMj00By3X8FskL@macbook>
 <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com> <ZiYXtJcefv-iMpAj@macbook>
 <f00e0b8b-0e45-45b1-9151-6c16c5a70d76@suse.com> <ZiZA0-n6vbOgu-_1@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZiZA0-n6vbOgu-_1@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.04.2024 12:49, Roger Pau Monné wrote:
> On Mon, Apr 22, 2024 at 10:25:40AM +0200, Jan Beulich wrote:
>> On 22.04.2024 09:54, Roger Pau Monné wrote:
>>> On Fri, Apr 19, 2024 at 04:34:41PM +0200, Jan Beulich wrote:
>>>> On 19.04.2024 12:50, Roger Pau Monné wrote:
>>>>> On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
>>>>>> On 19.04.2024 12:02, Roger Pau Monne wrote:
>>>>>>> Livepatch payloads containing symbols that belong to init sections can only
>>>>>>> lead to page faults later on, as by the time the livepatch is loaded init
>>>>>>> sections have already been freed.
>>>>>>>
>>>>>>> Refuse to resolve such symbols and return an error instead.
>>>>>>>
>>>>>>> Note such resolutions are only relevant for symbols that point to undefined
>>>>>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
>>>>>>> and hence must either be a Xen or a different livepatch payload symbol.
>>>>>>>
>>>>>>> Do not allow to resolve symbols that point to __init_begin, as that address is
>>>>>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
>>>>>>> resolutions against it.
>>>>>>>
>>>>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>>>>>> ---
>>>>>>> Changes since v1:
>>>>>>>  - Fix off-by-one in range checking.
>>>>>>
>>>>>> Which means you addressed Andrew's comment while at the same time extending
>>>>>> the scope of ...
>>>>>>
>>>>>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>>>>>>>                      break;
>>>>>>>                  }
>>>>>>>              }
>>>>>>> +
>>>>>>> +            /*
>>>>>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
>>>>>>> +             * livepatch payloads don't have init sections or equivalent.
>>>>>>> +             */
>>>>>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
>>>>>>> +                      st_value < (uintptr_t)&__init_end )
>>>>>>> +            {
>>>>>>> +                printk(XENLOG_ERR LIVEPATCH
>>>>>>> +                       "%s: symbol %s is in init section, not resolving\n",
>>>>>>> +                       elf->name, elf->sym[i].name);
>>>>>>
>>>>>> ... what I raised concern about (and I had not seen any verbal reply to that,
>>>>>> I don't think).
>>>>>
>>>>> I've extended the commit message to explicitly mention the handling of
>>>>> bounds for __init_{begin,end} checks.  Let me know if you are not fine
>>>>> with it (or maybe you expected something else?).
>>>>
>>>> Well, you mention the two symbols you care about, but you don't mention
>>>> at all that these two may alias other symbols which might be legal to
>>>> reference from a livepatch.
>>>
>>> I'm having a hard time understanding why a livepatch would want to
>>> reference those, or any symbol in the .init sections for that matter.
>>> __init_{begin,end} are exclusively used to unmap the init region after
>>> boot.  What's the point in livepatch referencing data that's no
>>> longer there?  The only application I would think of is to calculate
>>> some kind of offsets, but that would better be done using other
>>> symbols instead.
>>>
>>> Please bear with me, it would be easier for me to understand if you
>>> could provide a concrete example.
>>
>> The issue is that you do comparison by address, not by name. Let's assume
>> that .rodata ends exactly where .init.* starts. Then &__init_begin ==
>> &_erodata == &__2M_rodata_end. Access to the latter two symbols wants to
>> be permitted; only __init_begin and whatever ends up being the very first
>> symbol in .init.* ought to not be referenced.
> 
> Hm, I guess I could add comparison by name additionally, but it looks
> fragile to me.

It looks fragile, yes. Thing is that you're trying to deal with this when
crucial information was lost already. Or wait - isn't the section number
still available in ->st_shndx?

> So when st_value == __init_begin check if the name matches
> "__init_begin" or "__2M_init_start" or "_sinittext", and fail
> resolution, otherwise allow it?

Kind of, but that's not enough. For one, as said, the first symbol in
the first .init.* section would also have this same address, and would
also want rejecting. And then the same would be needed for __init_end.

>> Worse (but contrived) would be cases of "constructed" symbols derived from
>> ones ahead of __init_begin, with an offset large enough to actually point
>> into .init.*. Such are _still_ valid to be used in calculations, as long
>> as no deref occurs for anything at or past __init_begin.
> 
> But one would have to craft such a symbol specifically, at which point
> I consider this out of the scope of what this patch is attempting to
> protect against.  The aim is not to prevent malicious livepatches, and
> there are far easier ways to trigger a page-fault from a livepatch.

I understand the latter is the case, but I'm afraid I then don't see what
the goal of this change is.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 11:02:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 11:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709903.1108939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryrRQ-0000mh-Ek; Mon, 22 Apr 2024 11:02:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709903.1108939; Mon, 22 Apr 2024 11:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryrRQ-0000ma-Bi; Mon, 22 Apr 2024 11:02:32 +0000
Received: by outflank-mailman (input) for mailman id 709903;
 Mon, 22 Apr 2024 11:02: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=jyNC=L3=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1ryrRP-0000mU-Mi
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 11:02:31 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id cf3115cc-0097-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 13:02:29 +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 C68DB339;
 Mon, 22 Apr 2024 04:02:56 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 98F2E3F7BD;
 Mon, 22 Apr 2024 04:02: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: cf3115cc-0097-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3.2 12/12] xen/arm: List static shared memory regions as /memory nodes
Date: Mon, 22 Apr 2024 12:02:07 +0100
Message-Id: <20240422110207.204968-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240418073652.3622828-13-luca.fancellu@arm.com>
References: <20240418073652.3622828-13-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently Xen is not exporting the static shared memory regions
to the device tree as /memory node, this commit is fixing this
issue.

Given that now make_memory_node needs a parameter 'struct kernel_info'
in order to call the new function shm_mem_node_fill_reg_range,
take the occasion to remove the unused struct domain parameter.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v3.2:
 - changed u64 to uint64_t and used %u as format specifier for var i
   in make_memory_node, changed u64 to paddr_t in
   shm_mem_node_fill_reg_range, add Michal R-by
v3:
 - removed previous patch that was merging the intervals, rebase
   changes.
v2:
 - try to use make_memory_node, don't add overlapping ranges of
   memory, commit message changed.
v1:
 - new patch
---
---
 xen/arch/arm/dom0less-build.c           |  2 +-
 xen/arch/arm/domain_build.c             | 34 +++++++++++++++++--------
 xen/arch/arm/include/asm/domain_build.h |  2 +-
 xen/arch/arm/include/asm/static-shmem.h | 15 +++++++++++
 xen/arch/arm/static-shmem.c             | 23 +++++++++++++++++
 5 files changed, 63 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 51cf03221d56..74f053c242f4 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -642,7 +642,7 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
     if ( ret )
         goto err;
 
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+    ret = make_memory_node(kinfo, addrcells, sizecells,
                            kernel_info_get_mem(kinfo));
     if ( ret )
         goto err;
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 68532ddc084c..0784e4c5e315 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -756,15 +756,14 @@ int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
     return fdt_begin_node(fdt, buf);
 }
 
-int __init make_memory_node(const struct domain *d,
-                            void *fdt,
-                            int addrcells, int sizecells,
-                            const struct membanks *mem)
+int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
+                            int sizecells, const struct membanks *mem)
 {
+    void *fdt = kinfo->fdt;
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
     int nr_cells = 0;
-    __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
+    __be32 reg[DT_MEM_NODE_REG_RANGE_SIZE];
     __be32 *cells;
 
     if ( mem->nr_banks == 0 )
@@ -797,14 +796,28 @@ int __init make_memory_node(const struct domain *d,
         if ( mem->bank[i].type == MEMBANK_STATIC_DOMAIN )
             continue;
 
-        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
-
         nr_cells += reg_size;
         BUG_ON(nr_cells >= ARRAY_SIZE(reg));
         dt_child_set_range(&cells, addrcells, sizecells, start, size);
     }
 
+    /*
+     * static shared memory banks need to be listed as /memory node, so when
+     * this function is handling the normal memory, add the banks.
+     */
+    if ( mem == kernel_info_get_mem(kinfo) )
+        shm_mem_node_fill_reg_range(kinfo, reg, &nr_cells, addrcells,
+                                    sizecells);
+
+    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells += reg_size )
+    {
+        uint64_t start = dt_read_number(cells, addrcells);
+        uint64_t size = dt_read_number(cells + addrcells, sizecells);
+
+        dt_dprintk("  Bank %u: %#"PRIx64"->%#"PRIx64"\n",
+                   i, start, start + size);
+    }
+
     dt_dprintk("(reg size %d, nr cells %d)\n", reg_size, nr_cells);
 
     res = fdt_property(fdt, "reg", reg, nr_cells * sizeof(*reg));
@@ -1783,7 +1796,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         if ( res )
             return res;
 
-        res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
+        res = make_memory_node(kinfo, addrcells, sizecells,
                                kernel_info_get_mem(kinfo));
         if ( res )
             return res;
@@ -1794,8 +1807,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
          */
         if ( reserved_mem->nr_banks > 0 )
         {
-            res = make_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                   reserved_mem);
+            res = make_memory_node(kinfo, addrcells, sizecells, reserved_mem);
             if ( res )
                 return res;
         }
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 026d975da28e..45936212ca21 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -14,7 +14,7 @@ int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
                          int addrcells, int sizecells);
-int make_memory_node(const struct domain *d, void *fdt, int addrcells,
+int make_memory_node(const struct kernel_info *kinfo, int addrcells,
                      int sizecells, const struct membanks *mem);
 int make_psci_node(void *fdt);
 int make_timer_node(const struct kernel_info *kinfo);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 7495a91e7a31..3b6569e5703f 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -3,10 +3,15 @@
 #ifndef __ASM_STATIC_SHMEM_H_
 #define __ASM_STATIC_SHMEM_H_
 
+#include <xen/types.h>
 #include <asm/kernel.h>
+#include <asm/setup.h>
 
 #ifdef CONFIG_STATIC_SHM
 
+/* Worst case /memory node reg element: (addrcells + sizecells) */
+#define DT_MEM_NODE_REG_RANGE_SIZE ((NR_MEM_BANKS + NR_SHMEM_BANKS) * 4)
+
 int make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                           int sizecells);
 
@@ -37,8 +42,14 @@ int remove_shm_holes_for_domU(const struct kernel_info *kinfo,
 int make_shm_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                               int sizecells);
 
+void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo, __be32 *reg,
+                                 int *nr_cells, int addrcells, int sizecells);
+
 #else /* !CONFIG_STATIC_SHM */
 
+/* Worst case /memory node reg element: (addrcells + sizecells) */
+#define DT_MEM_NODE_REG_RANGE_SIZE (NR_MEM_BANKS * 4)
+
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
                                         int addrcells, int sizecells)
 {
@@ -86,6 +97,10 @@ static inline int make_shm_resv_memory_node(const struct kernel_info *kinfo,
     return 0;
 }
 
+static inline void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
+                                               __be32 *reg, int *nr_cells,
+                                               int addrcells, int sizecells) {};
+
 #endif /* CONFIG_STATIC_SHM */
 
 #endif /* __ASM_STATIC_SHMEM_H_ */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index c85f60dd1bf7..09f474ec6050 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/device_tree.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/rangeset.h>
 #include <xen/sched.h>
@@ -668,6 +669,28 @@ int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
     return res;
 }
 
+void __init shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
+                                        __be32 *reg, int *nr_cells,
+                                        int addrcells, int sizecells)
+{
+    const struct membanks *mem = &kinfo->shm_mem.common;
+    unsigned int i;
+    __be32 *cells;
+
+    BUG_ON(!nr_cells || !reg);
+
+    cells = &reg[*nr_cells];
+    for ( i = 0; i < mem->nr_banks; i++ )
+    {
+        paddr_t start = mem->bank[i].start;
+        paddr_t size = mem->bank[i].size;
+
+        *nr_cells += addrcells + sizecells;
+        BUG_ON(*nr_cells >= DT_MEM_NODE_REG_RANGE_SIZE);
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+    }
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 11:35:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 11:35:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709915.1108949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryrwr-0006Rz-Rg; Mon, 22 Apr 2024 11:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709915.1108949; Mon, 22 Apr 2024 11: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 1ryrwr-0006Rs-Nk; Mon, 22 Apr 2024 11:35:01 +0000
Received: by outflank-mailman (input) for mailman id 709915;
 Mon, 22 Apr 2024 11:35:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ds6W=L3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ryrwr-0006Rm-3n
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 11:35:01 +0000
Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com
 [2607:f8b0:4864:20::72e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5908757f-009c-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 13:34:58 +0200 (CEST)
Received: by mail-qk1-x72e.google.com with SMTP id
 af79cd13be357-78f056f928eso304187585a.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 04:34:58 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 dt14-20020a05620a478e00b0078d735ca917sm4194441qkb.123.2024.04.22.04.34.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 04:34: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: 5908757f-009c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713785698; x=1714390498; 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=vs9H2eyufjAukqG9ygLTgtfMTLiTTcuoUQ027c0xEm0=;
        b=SWs/kGZ2hUOL3JyYcUwk1+DXdsi8r/BVY7t4jharVXJjjtnYSmCSn9unQwA6YAnBKo
         soef4jaimX5jVOcRShOYi0jUWiAk/qQPhLbT2uwwxhfK+3mt742t1d5XaVyecrjhqoos
         2rVu/SJKb0cFebe5inHjG7hY/+PSZaUHOcbMU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713785698; x=1714390498;
        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=vs9H2eyufjAukqG9ygLTgtfMTLiTTcuoUQ027c0xEm0=;
        b=hsaEfrD8XojOg4r/BlskDajsNtLvMDgUJiIdvMobOqgVz/XvN5f2Hma24R1654PrdE
         PLJMuvbTO/iS2WUWmEhgtcaP460P0dLjOmLQ8zhbCxOplEMBuYEULGx12GOarhQFRir0
         E1hQU/+1B3VNC+3rqqd5xiI5JxYJsqIy/z9WrKTOq9ngWR8Hb886GsGhGZdrOI7GZ5HI
         mPnjX/LVamt4cgzmKC5jyUSQ49yEDywioM147n4rfGC6o4yDNYMvJWH+LtVEocl0Ncp7
         ahsbPruOqi+ciSjyFnBuZwiClaMfQLdhPhcEDZ+e77WTgW9K6YHgWelDnOoX/RzXJRZC
         EXaA==
X-Forwarded-Encrypted: i=1; AJvYcCVFhsQwMo6YqLFX4wtp/NO59HY3c4Fmgynm7zDCAVUuTtgvO6NoQA4N46gIhp8ETkLfvcJXzKz2Df+KYRlHrqspE23jMxKyG3XvV5J/MYQ=
X-Gm-Message-State: AOJu0Yz3qYmxzeAPZ1vMyjT7l8qhiEWj60RHaEoMNkcFogTsxTJ8ur2g
	6ugNkYwazjeWGCFhhBi/Hezs5/BlFAHtngVBDrElNtr+3wpqBqVe8WWpPa9zJ9Q=
X-Google-Smtp-Source: AGHT+IH5fIfoz6CWcMRe16edZkr/xXqGR63G+hqFD764MNdt/mJtcvSZd2xrwjO7LSUEVMbJYP9ZRw==
X-Received: by 2002:a05:620a:d58:b0:78e:ccad:61dd with SMTP id o24-20020a05620a0d5800b0078eccad61ddmr10272224qkl.76.1713785697762;
        Mon, 22 Apr 2024 04:34:57 -0700 (PDT)
Date: Mon, 22 Apr 2024 13:34:55 +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 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZiZLX15vpPT_uDJ_@macbook>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com>
 <ZiJMj00By3X8FskL@macbook>
 <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com>
 <ZiYXtJcefv-iMpAj@macbook>
 <f00e0b8b-0e45-45b1-9151-6c16c5a70d76@suse.com>
 <ZiZA0-n6vbOgu-_1@macbook>
 <e5763200-fa87-46ec-8746-c7b4215a28ff@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e5763200-fa87-46ec-8746-c7b4215a28ff@suse.com>

On Mon, Apr 22, 2024 at 12:57:55PM +0200, Jan Beulich wrote:
> On 22.04.2024 12:49, Roger Pau Monné wrote:
> > On Mon, Apr 22, 2024 at 10:25:40AM +0200, Jan Beulich wrote:
> >> On 22.04.2024 09:54, Roger Pau Monné wrote:
> >>> On Fri, Apr 19, 2024 at 04:34:41PM +0200, Jan Beulich wrote:
> >>>> On 19.04.2024 12:50, Roger Pau Monné wrote:
> >>>>> On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
> >>>>>> On 19.04.2024 12:02, Roger Pau Monne wrote:
> >>>>>>> Livepatch payloads containing symbols that belong to init sections can only
> >>>>>>> lead to page faults later on, as by the time the livepatch is loaded init
> >>>>>>> sections have already been freed.
> >>>>>>>
> >>>>>>> Refuse to resolve such symbols and return an error instead.
> >>>>>>>
> >>>>>>> Note such resolutions are only relevant for symbols that point to undefined
> >>>>>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> >>>>>>> and hence must either be a Xen or a different livepatch payload symbol.
> >>>>>>>
> >>>>>>> Do not allow to resolve symbols that point to __init_begin, as that address is
> >>>>>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> >>>>>>> resolutions against it.
> >>>>>>>
> >>>>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>>>>>> ---
> >>>>>>> Changes since v1:
> >>>>>>>  - Fix off-by-one in range checking.
> >>>>>>
> >>>>>> Which means you addressed Andrew's comment while at the same time extending
> >>>>>> the scope of ...
> >>>>>>
> >>>>>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
> >>>>>>>                      break;
> >>>>>>>                  }
> >>>>>>>              }
> >>>>>>> +
> >>>>>>> +            /*
> >>>>>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> >>>>>>> +             * livepatch payloads don't have init sections or equivalent.
> >>>>>>> +             */
> >>>>>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> >>>>>>> +                      st_value < (uintptr_t)&__init_end )
> >>>>>>> +            {
> >>>>>>> +                printk(XENLOG_ERR LIVEPATCH
> >>>>>>> +                       "%s: symbol %s is in init section, not resolving\n",
> >>>>>>> +                       elf->name, elf->sym[i].name);
> >>>>>>
> >>>>>> ... what I raised concern about (and I had not seen any verbal reply to that,
> >>>>>> I don't think).
> >>>>>
> >>>>> I've extended the commit message to explicitly mention the handling of
> >>>>> bounds for __init_{begin,end} checks.  Let me know if you are not fine
> >>>>> with it (or maybe you expected something else?).
> >>>>
> >>>> Well, you mention the two symbols you care about, but you don't mention
> >>>> at all that these two may alias other symbols which might be legal to
> >>>> reference from a livepatch.
> >>>
> >>> I'm having a hard time understanding why a livepatch would want to
> >>> reference those, or any symbol in the .init sections for that matter.
> >>> __init_{begin,end} are exclusively used to unmap the init region after
> >>> boot.  What's the point in livepatch referencing data that's no
> >>> longer there?  The only application I would think of is to calculate
> >>> some kind of offsets, but that would better be done using other
> >>> symbols instead.
> >>>
> >>> Please bear with me, it would be easier for me to understand if you
> >>> could provide a concrete example.
> >>
> >> The issue is that you do comparison by address, not by name. Let's assume
> >> that .rodata ends exactly where .init.* starts. Then &__init_begin ==
> >> &_erodata == &__2M_rodata_end. Access to the latter two symbols wants to
> >> be permitted; only __init_begin and whatever ends up being the very first
> >> symbol in .init.* ought to not be referenced.
> > 
> > Hm, I guess I could add comparison by name additionally, but it looks
> > fragile to me.
> 
> It looks fragile, yes. Thing is that you're trying to deal with this when
> crucial information was lost already. Or wait - isn't the section number
> still available in ->st_shndx?

But that's the section number of the to be resolved symbol?  In the
livepatch payload it would for example appear as:

0000000000000000       F *UND*	0000000000000000 .hidden setup_boot_APIC_clock

With undefined section.

It's possible I'm not following, is there a way to get the section
number of the current Xen symbols, and then correlate it with the
.init section?

Overall, I think it's unlikely for a livepatch to care about the
section start/end markers, albeit it would be good if we could make
this less ambiguous.

> 
> > So when st_value == __init_begin check if the name matches
> > "__init_begin" or "__2M_init_start" or "_sinittext", and fail
> > resolution, otherwise allow it?
> 
> Kind of, but that's not enough. For one, as said, the first symbol in
> the first .init.* section would also have this same address, and would
> also want rejecting. And then the same would be needed for __init_end.
> 
> >> Worse (but contrived) would be cases of "constructed" symbols derived from
> >> ones ahead of __init_begin, with an offset large enough to actually point
> >> into .init.*. Such are _still_ valid to be used in calculations, as long
> >> as no deref occurs for anything at or past __init_begin.
> > 
> > But one would have to craft such a symbol specifically, at which point
> > I consider this out of the scope of what this patch is attempting to
> > protect against.  The aim is not to prevent malicious livepatches, and
> > there are far easier ways to trigger a page-fault from a livepatch.
> 
> I understand the latter is the case, but I'm afraid I then don't see what
> the goal of this change is.

The goal would be for something like what caused:

https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=af4cd0a6a61cdb03bc1afca9478b05b0c9703599

To be rejected at load time instead of causing a page-fault during
alternative patching, because xsm_ops was (wrongly) an .init symbol.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 11:40:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 11:40:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709920.1108959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rys27-0007ze-Hl; Mon, 22 Apr 2024 11:40:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709920.1108959; Mon, 22 Apr 2024 11:40: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 1rys27-0007zX-Ea; Mon, 22 Apr 2024 11:40:27 +0000
Received: by outflank-mailman (input) for mailman id 709920;
 Mon, 22 Apr 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 <julien@xen.org>) id 1rys26-0007zR-1c
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 11:40:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rys25-0004lD-Jl; Mon, 22 Apr 2024 11:40:25 +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 1rys25-0002en-DS; Mon, 22 Apr 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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ueCjSlvTx6cmfSKsBZYt1WSHR9NfFhCQsJdW53dT4oQ=; b=alMskhhH8o6bgCfl3nZ8LPRSb5
	E0Ox1kpuGkoo9ywzjBQbRRIEietcbxCO72jmX4PCxr2kteqW6/e7yNBDtADpOdwly7mUJl2cWC8uU
	WXIcb+WKSWChvao/+bSdxmASIpC5SvXiTT8rH+1pXi1j8eBLzEk7OdJGIyBPOVIG4oFw=;
Message-ID: <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
Date: Mon, 22 Apr 2024 12:40:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Content-Language: en-GB
To: Jens Wiklander <jens.wiklander@linaro.org>, xen-devel@lists.xenproject.org
Cc: patches@linaro.org, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-6-jens.wiklander@linaro.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240422073708.3663529-6-jens.wiklander@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jens,

This is not a full review of the code. I will let Bertrand doing it.

On 22/04/2024 08:37, Jens Wiklander wrote:
> +void ffa_notif_init(void)
> +{
> +    const struct arm_smccc_1_2_regs arg = {
> +        .a0 = FFA_FEATURES,
> +        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int irq;
> +    int ret;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +    if ( resp.a0 != FFA_SUCCESS_32 )
> +        return;
> +
> +    irq = resp.a2;
> +    if ( irq >= NR_GIC_SGI )
> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> +    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);

If I am not mistaken, ffa_notif_init() is only called once on the boot 
CPU. However, request_irq() needs to be called on every CPU so the 
callback is registered every where and the interrupt enabled.

I know the name of the function is rather confusing. So can you confirm 
this is what you expected?

[...]

> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
> index 98236cbf14a3..ef8ffd4526bd 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -25,6 +25,7 @@
>   #define FFA_RET_DENIED                  -6
>   #define FFA_RET_RETRY                   -7
>   #define FFA_RET_ABORTED                 -8
> +#define FFA_RET_NO_DATA                 -9
>   
>   /* FFA_VERSION helpers */
>   #define FFA_VERSION_MAJOR_SHIFT         16U
> @@ -97,6 +98,18 @@
>    */
>   #define FFA_MAX_SHM_COUNT               32
>   
> +/*
> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
> + * unused, but that may change.

Are the value below intended for the guests? If so, can they be moved in 
public/arch-arm.h along with the others guest interrupts?

> + *
> + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not used
> + * by a guest as they in a non-virtualized system typically are assigned to
> + * the secure world. Here we're free to use SGI 8-15 since they are virtual
> + * and have nothing to do with the secure world.

Do you have a pointer to the specification?

[...]

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 11:51:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 11:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709929.1108969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rysCi-0001am-Ex; Mon, 22 Apr 2024 11:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709929.1108969; Mon, 22 Apr 2024 11:51:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rysCi-0001af-BU; Mon, 22 Apr 2024 11:51:24 +0000
Received: by outflank-mailman (input) for mailman id 709929;
 Mon, 22 Apr 2024 11:51: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rysCh-0001aZ-6x
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 11:51:23 +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 a2afd154-009e-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 13:51:20 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41a523e27e0so6310705e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 04:51: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
 m5-20020a7bca45000000b0041a68d4fe76sm1751947wml.0.2024.04.22.04.51.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 04: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: a2afd154-009e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713786680; x=1714391480; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Rpk1U5c9hiffqJKPxnrT1DTjloMV6qn45nXzimC4icY=;
        b=EkiZhfraaqgEJAeK/QYpoC0XGnkutK4VPqBa3p1syG/r0R4inbIEvFWvKV+zmShu/V
         jEyq99X1f7wi7nS4fXG1k81Pvdrlx+TZnUfDWEQdswJ2mBjYjkHDiLmoe0R+4fwiuP8W
         m62SI/nqablnXCaKQ1+I5/2COJD6ra8UY0IIIQDLETS6mmDBJqCyI1x5YuaHHRDoz2TC
         DijLfx7SYSwwhp7bPf1vLo6MC02bRCZGpZPievQZK9G2DH1k87HOvtkq6uCiExeLHimQ
         iBpmkgl4uGm0aHgMtaw9LseFMN8IU0ju37Uya8XAZriwxOF2qJklkcECkwi1cE2ZgLcE
         PEew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713786680; x=1714391480;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Rpk1U5c9hiffqJKPxnrT1DTjloMV6qn45nXzimC4icY=;
        b=en+CQ4ynn+yTyGO1QHMUrFKCFQ4STlk9mrPgvk5xlO7wX+enWy6tns9VK+MKqBEuAr
         MbvNEa6H6nBVUKcJsESq427quB+AcuICPYSwlvkXihyV1gDc1cQ9T4Atcve4AB0F5IYC
         89PRdTVpIAPnlzn113VdTpq8ruymn1HOu1ua68uQ/CYaJOrJ9b/S5lffXlKxQop5nWGU
         x21rPtC7QWqaw8RlnHz3NtP06nkIAixvbjuR7W/mbhY0LRbRFLecNm5sZABppM+cmHog
         cmX6b9AF6RS5j88WkVg1TZiFaCXWR1Do5bT2wLJYl9KxXKNbL1/OskvqAjxnuNcsOXcb
         o5vw==
X-Forwarded-Encrypted: i=1; AJvYcCXSQs8QpuH5oiZpnTT3fE85ZgPzGcEW0agmTms+GBCC0kOoenhveh6uKO6pqMDmgIwjOeZLV5AuW+hWDI2ynY/rGwCkCA5VBcDzYtIXKR8=
X-Gm-Message-State: AOJu0Yyo4muVvA5X1SGNOY28fEnYqYHgs2h6pWvhNzuSpBPEyr4d/kwH
	ow1oO2vJUH0gzwMk/0gyU9fBNVmoT8tGHV+HOSLDspizQXhYWhrGhvIaMcvtEQ==
X-Google-Smtp-Source: AGHT+IEKHix+Xi218VfIXNj4m/0BcUvnJgvk5Ds7HvgPnFyAhexhDq3HmDcin2kLXukVH+MMIED1Bg==
X-Received: by 2002:a05:600c:1d05:b0:41a:4a8c:8a3d with SMTP id l5-20020a05600c1d0500b0041a4a8c8a3dmr2787246wms.28.1713786680174;
        Mon, 22 Apr 2024 04:51:20 -0700 (PDT)
Message-ID: <83a9837b-dfec-41f4-ae7d-d81d800b45aa@suse.com>
Date: Mon, 22 Apr 2024 13:51:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] livepatch: refuse to resolve symbols that belong
 to init sections
Content-Language: en-US
To: =?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: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-3-roger.pau@citrix.com>
 <85f86849-dd85-4e7a-b7f4-3d7b41793717@suse.com> <ZiJMj00By3X8FskL@macbook>
 <002fac06-d867-46cc-89c4-9ebe2d68eaf2@suse.com> <ZiYXtJcefv-iMpAj@macbook>
 <f00e0b8b-0e45-45b1-9151-6c16c5a70d76@suse.com> <ZiZA0-n6vbOgu-_1@macbook>
 <e5763200-fa87-46ec-8746-c7b4215a28ff@suse.com> <ZiZLX15vpPT_uDJ_@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZiZLX15vpPT_uDJ_@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.04.2024 13:34, Roger Pau Monné wrote:
> On Mon, Apr 22, 2024 at 12:57:55PM +0200, Jan Beulich wrote:
>> On 22.04.2024 12:49, Roger Pau Monné wrote:
>>> On Mon, Apr 22, 2024 at 10:25:40AM +0200, Jan Beulich wrote:
>>>> On 22.04.2024 09:54, Roger Pau Monné wrote:
>>>>> On Fri, Apr 19, 2024 at 04:34:41PM +0200, Jan Beulich wrote:
>>>>>> On 19.04.2024 12:50, Roger Pau Monné wrote:
>>>>>>> On Fri, Apr 19, 2024 at 12:15:19PM +0200, Jan Beulich wrote:
>>>>>>>> On 19.04.2024 12:02, Roger Pau Monne wrote:
>>>>>>>>> Livepatch payloads containing symbols that belong to init sections can only
>>>>>>>>> lead to page faults later on, as by the time the livepatch is loaded init
>>>>>>>>> sections have already been freed.
>>>>>>>>>
>>>>>>>>> Refuse to resolve such symbols and return an error instead.
>>>>>>>>>
>>>>>>>>> Note such resolutions are only relevant for symbols that point to undefined
>>>>>>>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
>>>>>>>>> and hence must either be a Xen or a different livepatch payload symbol.
>>>>>>>>>
>>>>>>>>> Do not allow to resolve symbols that point to __init_begin, as that address is
>>>>>>>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
>>>>>>>>> resolutions against it.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>>>>>>>> ---
>>>>>>>>> Changes since v1:
>>>>>>>>>  - Fix off-by-one in range checking.
>>>>>>>>
>>>>>>>> Which means you addressed Andrew's comment while at the same time extending
>>>>>>>> the scope of ...
>>>>>>>>
>>>>>>>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>>>>>>>>>                      break;
>>>>>>>>>                  }
>>>>>>>>>              }
>>>>>>>>> +
>>>>>>>>> +            /*
>>>>>>>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
>>>>>>>>> +             * livepatch payloads don't have init sections or equivalent.
>>>>>>>>> +             */
>>>>>>>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
>>>>>>>>> +                      st_value < (uintptr_t)&__init_end )
>>>>>>>>> +            {
>>>>>>>>> +                printk(XENLOG_ERR LIVEPATCH
>>>>>>>>> +                       "%s: symbol %s is in init section, not resolving\n",
>>>>>>>>> +                       elf->name, elf->sym[i].name);
>>>>>>>>
>>>>>>>> ... what I raised concern about (and I had not seen any verbal reply to that,
>>>>>>>> I don't think).
>>>>>>>
>>>>>>> I've extended the commit message to explicitly mention the handling of
>>>>>>> bounds for __init_{begin,end} checks.  Let me know if you are not fine
>>>>>>> with it (or maybe you expected something else?).
>>>>>>
>>>>>> Well, you mention the two symbols you care about, but you don't mention
>>>>>> at all that these two may alias other symbols which might be legal to
>>>>>> reference from a livepatch.
>>>>>
>>>>> I'm having a hard time understanding why a livepatch would want to
>>>>> reference those, or any symbol in the .init sections for that matter.
>>>>> __init_{begin,end} are exclusively used to unmap the init region after
>>>>> boot.  What's the point in livepatch referencing data that's no
>>>>> longer there?  The only application I would think of is to calculate
>>>>> some kind of offsets, but that would better be done using other
>>>>> symbols instead.
>>>>>
>>>>> Please bear with me, it would be easier for me to understand if you
>>>>> could provide a concrete example.
>>>>
>>>> The issue is that you do comparison by address, not by name. Let's assume
>>>> that .rodata ends exactly where .init.* starts. Then &__init_begin ==
>>>> &_erodata == &__2M_rodata_end. Access to the latter two symbols wants to
>>>> be permitted; only __init_begin and whatever ends up being the very first
>>>> symbol in .init.* ought to not be referenced.
>>>
>>> Hm, I guess I could add comparison by name additionally, but it looks
>>> fragile to me.
>>
>> It looks fragile, yes. Thing is that you're trying to deal with this when
>> crucial information was lost already. Or wait - isn't the section number
>> still available in ->st_shndx?
> 
> But that's the section number of the to be resolved symbol?  In the
> livepatch payload it would for example appear as:
> 
> 0000000000000000       F *UND*	0000000000000000 .hidden setup_boot_APIC_clock
> 
> With undefined section.
> 
> It's possible I'm not following, is there a way to get the section
> number of the current Xen symbols, and then correlate it with the
> .init section?

Hmm, yes, looks like I was forgetting that livepatch resolves symbols
using kallsyms data, not Xen's ELF symbol table.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 12:05:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 12:05:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709939.1108979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rysQA-00047b-ND; Mon, 22 Apr 2024 12:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709939.1108979; Mon, 22 Apr 2024 12:05:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rysQA-00047U-K7; Mon, 22 Apr 2024 12:05:18 +0000
Received: by outflank-mailman (input) for mailman id 709939;
 Mon, 22 Apr 2024 12:05:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CuSK=L3=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1rysQ8-000475-U4
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 12:05:16 +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 9489bf30-00a0-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 14:05:16 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-51ae315bb20so2344043e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 05:05: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: 9489bf30-00a0-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713787515; x=1714392315; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=jRAg0b2Cp6SPMWikZYeRePQzZJnFCrsJTO9dtcrtpDU=;
        b=gUwMc8z05POGtvGdGq7HZm6c/IzkWbhW3B2Mi3yGoz99RCDGNbTX2hA/3sdz2fCFgQ
         g6Tzpv5ErORrgjdX5UmPQicdNU7q4XqhKdHm5hycHImszbdq0DOPhdNSfPIsUY5ecoj/
         76PaXBpCAQAPUAMv2fNpj2f/qAwVU31QhTE/k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713787515; x=1714392315;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jRAg0b2Cp6SPMWikZYeRePQzZJnFCrsJTO9dtcrtpDU=;
        b=ci8RxpF6aZPGobRhOrbwi7TcCIGwVloW6XOMAeXiM8kcU0ENMUtCRY2vWwnG2lCT0t
         z2jXjdSHBEgKivFHEfviMXlAg9yLy+l9c28991u7BNiQP2XjiKqI9Ts+/wL2Tx99+v9Z
         YeHNhW6nrRMFZy57auWURMQx1IDqscbSMDDpBzaIDIQ2npInayWnxFVWnIBtwYwexB34
         +AjLMCHTm6WSIH2A6jiU7jDZrzCVttBI2tP2AXC2sri256/WVS61vMsdrbEFZy1DJGGL
         AZJ0LL5Y1ufbog1/4CHsXzqopVKEr+rI9zBgncYIQoJIXeHC25cpkIoLE6zITED6i79X
         ANlg==
X-Gm-Message-State: AOJu0YzBrQytUy1UFqhr6TX5xKIfOT48P6n4E63SNjibLpJPIp4uvaaz
	JKOrw72J3R5AuA2G//h3pK7Jc+iiD8L98VHvrj5j9pDYA9Fguc2uk1t2gylINbxPYFJmbJVSrMI
	2oUYUJruyrUsJS5Q6x0wh9laBbQSznNK1yjCsqo44k8grFD++UjE=
X-Google-Smtp-Source: AGHT+IHGepqzfC+BRO54oEoHxgBEwjeqNBKq6m+yljPxQ4TueDAaATMVn9usB13SkmgxT65RoGadvm/d0ozSyBrCrXY=
X-Received: by 2002:a19:6445:0:b0:518:b144:9020 with SMTP id
 b5-20020a196445000000b00518b1449020mr6316257lfj.61.1713787514765; Mon, 22 Apr
 2024 05:05:14 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 22 Apr 2024 13:04:38 +0100
Message-ID: <CAO-mL=z3XHS+hpKtgDbZWk602vH3pzBPHDW3rQcbu8b1tFSU0w@mail.gmail.com>
Subject: 4.19 Release schedule - Reminder
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000009f3860616ae40b8"

--00000000000009f3860616ae40b8
Content-Type: text/plain; charset="UTF-8"

Hello all,

*Please find below our 4.19 Release Schedule*
*(Original thread from Release Manager
<https://lore.kernel.org/xen-devel/26152790b0b8c3330d9cfc3c0462a1c072d6d598.camel@gmail.com/>)
*

** Proposed option: Wed Jul 10, 2024 **
(+9 months from Xen 4.18 release)

- Last posting date          Fri Apr 26, 2024

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 May 17, 2024 (+3 weeks from Last
posting date)

Patches adding new features should be committed by this date.
Straightforward bug fixes may continue to be accepted by maintainers.

- Code freeze                Fri May 31, 2024 (+2 weeks from Feature
freeze)

Bugfixes only.

- Hard code freeze           Fri Jun 21, 2024 (+3 weeks from Code
freeze)

Bugfixes for serious bugs (including regressions), and low-risk fixes
only.

- Final commits              Fri Jul 05, 2024 (+2 weeks from Hard code
freeze)

Branch off staging-4.19.

- Release                    Wed Jul 10, 2024

Many thanks,
Kelly Choi

Community Manager
Xen Project

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

<div dir=3D"ltr"><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=
=3D"gmail_signature"><div dir=3D"ltr"><div>Hello all,</div><div><br></div><=
div><b>Please find below our 4.19 Release Schedule</b></div><div><i>(<a hre=
f=3D"https://lore.kernel.org/xen-devel/26152790b0b8c3330d9cfc3c0462a1c072d6=
d598.camel@gmail.com/">Original thread from Release Manager</a>)=C2=A0</i><=
/div><div><i><br></i>** Proposed option: Wed Jul 10, 2024 **<br>(+9 months =
from Xen 4.18 release)<br><br>- Last posting date =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0Fri Apr 26, 2024<br><br>Patches adding new features are expected =
to be posted to the mailing<br>list by this date, although perhaps not in t=
heir final version.<br><br>- Feature freeze =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 Fri May 17, 2024 (+3 weeks from Last<br>posting date)<br><br>Pat=
ches adding new features should be committed by this date.<br>Straightforwa=
rd bug fixes=C2=A0may 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 May 31, =
2024 (+2 weeks from Feature<br>freeze)<br><br>Bugfixes only.<br><br>- Hard =
code freeze =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Fri Jun 21, 2024 (+3 weeks f=
rom Code<br>freeze)<br><br>Bugfixes for serious bugs (including regressions=
), and low-risk fixes<br>only.<br><br>- Final commits =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0Fri Jul 05, 2024 (+2 weeks from Hard code<br>fre=
eze)<br><br>Branch off staging-4.19.<br><br>- Release =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Wed Jul 10, 2024<br></div><=
div><br></div><div>Many thanks,</div><div>Kelly Choi</div><div><br></div><d=
iv><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>

--00000000000009f3860616ae40b8--


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 13:35:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 13:35:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709965.1109013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rytpY-0000Xz-UO; Mon, 22 Apr 2024 13:35:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709965.1109013; Mon, 22 Apr 2024 13: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 1rytpY-0000Xs-RT; Mon, 22 Apr 2024 13:35:36 +0000
Received: by outflank-mailman (input) for mailman id 709965;
 Mon, 22 Apr 2024 13: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=Ds6W=L3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rytpY-0000Xl-CF
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 13:35:36 +0000
Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com
 [2607:f8b0:4864:20::f29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3255bca6-00ad-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 15:35:35 +0200 (CEST)
Received: by mail-qv1-xf29.google.com with SMTP id
 6a1803df08f44-6a04bae512aso14411256d6.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 06:35:35 -0700 (PDT)
Received: from localhost ([85.31.135.62]) by smtp.gmail.com with ESMTPSA id
 p11-20020a0c9a0b000000b0069b32845235sm4303587qvd.85.2024.04.22.06.35.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 06:35: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: 3255bca6-00ad-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713792934; x=1714397734; 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=yZEe+Nm+RwNMQXXAkNv8dAA2e8DlBbGxmsahoeqCiKI=;
        b=F0N1Zus0QjUlKl67EWpJxfkTZKhddIQRCYlqqhDGvwktlP1tJ1Mlvzwx6ZS2hu/xcV
         JKRLJIgghZ2svyo4KpMrclFeQWzczedZtaKFxvAHX0xfQxIMrrSH9wKPyTCTFH0A7p98
         syQ0mJ/Y/HuM1256z9UofHjPDuMiKhHE0M+Yg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713792934; x=1714397734;
        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=yZEe+Nm+RwNMQXXAkNv8dAA2e8DlBbGxmsahoeqCiKI=;
        b=widINTzJGKEQ7NDxrY5EsCCmAHa3Ww3ANz7MadtQ4GhJWJOqP8/Aw/eBrxhFyrEmYP
         nXqhMRJhsgFpIXVTscp8SKZ7DGEHUvSOpsJulJhQZqdW9RAKLal3D4Ke/7yaaup4q6iR
         GEkoIFfYfxRr4Cv/hBYqfekAH6A20LA3tMLuPDC6hrQcnk2/6jIFgiXOJVVWQ4ay6oSQ
         IQatRc17ZyMPr2iT5gI65EIkC5LKEwC9RHROtXOTbZbILJJCNCktImSCSfAjTJo/IZLG
         AUsnMEDUHfa4GO3idy2cAGf9wiPrA4Jq9CELpL4a1K3i9V1aXJz64WcO76amrixpRyw7
         kCbQ==
X-Forwarded-Encrypted: i=1; AJvYcCWavHJ1r2TbIb9dclIRuHqObplUXLLHW0HsTgYEYfuY7v8f8AkCpRsYGFgbh6ZvRvfIPaGHkKFPWxenmm2IYRcXpp3Ohj8pa0wxdSQvD0A=
X-Gm-Message-State: AOJu0YyTNX/maJYypB+C0pw1tzbKADnQY6y//HNgrEJqBd+mOoTHJoYh
	3X5QIJ061/GRkJvRWBaxh2Lif5g7Vz8b0m8vDcYRWOr+9khEA8c24pEwt4obDA0=
X-Google-Smtp-Source: AGHT+IEfABCB2aPQAspxisP4eVAMF5sQvq/gW2fRB0yThUS1zDboi2mEzbhTZbkulHMFJ+F/DTexbQ==
X-Received: by 2002:a05:6214:1152:b0:6a0:81fb:2cbf with SMTP id b18-20020a056214115200b006a081fb2cbfmr2362612qvt.34.1713792934009;
        Mon, 22 Apr 2024 06:35:34 -0700 (PDT)
Date: Mon, 22 Apr 2024 15:35:31 +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 2/2] x86/spec: adjust logic to logic that elides lfence
Message-ID: <ZiZno9TUAG_gaqXg@macbook>
References: <20240418155208.7771-1-roger.pau@citrix.com>
 <20240418155208.7771-3-roger.pau@citrix.com>
 <26b9cbda-4f9b-4ddf-ab27-643e6f78b076@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <26b9cbda-4f9b-4ddf-ab27-643e6f78b076@suse.com>

On Fri, Apr 19, 2024 at 08:25:00AM +0200, Jan Beulich wrote:
> On 18.04.2024 17:52, Roger Pau Monne wrote:
> > It's currently too restrictive by just checking whether there's a BHB clearing
> > sequence selected.  It should instead check whether BHB clearing is used on
> > entry from PV or HVM specifically.
> > 
> > Switch to use opt_bhb_entry_{pv,hvm} instead, and then remove cpu_has_bhb_seq
> > since it no longer has any users.
> > 
> > Reported-by: Jan Beulich <jbeulich@suse.com>
> > Fixes: 954c983abcee ('x86/spec-ctrl: Software BHB-clearing sequences')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Except for the odd double "logic" in the title:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks, title should be:

"adjust logic that elides lfence"

It was just a typo, I didn't intended to express anything additional.

> I can't really guess what is meant instead, so in order to possibly adjust
> while committing I'll need a hint. But committing will want to wait until
> Andrew has taken a look anyway, just like for patch 1.
> 
> > There (possibly) still a bit of overhead for dom0 if BHB clearing is not used
> > for dom0, as Xen would still add the lfence if domUs require it.
> 
> Right, but what do you do.
> 
> > --- a/xen/arch/x86/include/asm/cpufeature.h
> > +++ b/xen/arch/x86/include/asm/cpufeature.h
> > @@ -235,9 +235,6 @@ static inline bool boot_cpu_has(unsigned int feat)
> >  #define cpu_bug_fpu_ptrs        boot_cpu_has(X86_BUG_FPU_PTRS)
> >  #define cpu_bug_null_seg        boot_cpu_has(X86_BUG_NULL_SEG)
> >  
> > -#define cpu_has_bhb_seq        (boot_cpu_has(X86_SPEC_BHB_TSX) ||       \
> > -                                boot_cpu_has(X86_SPEC_BHB_LOOPS))
> 
> Might be worth also mentioning in the description that this construct was
> lacking use of X86_SPEC_BHB_LOOPS_LONG (might even warrant a 2nd Fixes:
> tag).

Heh, no, X86_SPEC_BHB_LOOPS_LONG is added in addition to
X86_SPEC_BHB_LOOPS.   When using long loops we have both
X86_SPEC_BHB_LOOPS and X86_SPEC_BHB_LOOPS_LONG set (I know it's
confusing, I was also confused the first time and asked Andrew the
same question).  See the fallthrough in bhi_calculations().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 13:59:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 13:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709970.1109022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryuD2-0003aL-RE; Mon, 22 Apr 2024 13:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709970.1109022; Mon, 22 Apr 2024 13: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 1ryuD2-0003aE-Oj; Mon, 22 Apr 2024 13:59:52 +0000
Received: by outflank-mailman (input) for mailman id 709970;
 Mon, 22 Apr 2024 13: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryuD1-0003a8-CE
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 13:59:51 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95cb5b66-00b0-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 15:59:50 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-41a5b68ed4fso7281505e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 06:59: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
 j10-20020a05600c190a00b00418a9961c47sm16801530wmq.47.2024.04.22.06.59.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 06:59: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: 95cb5b66-00b0-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713794389; x=1714399189; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eYJJmjsyepsIcZxzQDBxZkzN419rG27gTOdZzex/0H0=;
        b=Z7DmbBazNA5Xy5swGYQX5j/VkItNXPB1qqteY1nTxgI+f+CpRP2Ox+LjWc0hTcH0KN
         fp/IhGUbHg479PhCwDaYIQyhOTZmXfBCp6286X74oGpIBBkLneTTW3wHgvhnoMEiImU5
         Ue7wWKhsvp+uIv/ZhLVwcUCir46a7psGvH6jTaQhT9upX7jQC1fCUCoX/Ydlle5KYnKv
         kwqx/WUlgNbJeAnHJXCebScjzGFkG12ady2BGR/whH5hbH/CpG9BjItiFo7D4l6dg6CH
         u8UgIKKVRan3vfXvkhO+3whnr7xgPKv+r5kiqNp4yefCc5j2yd2Syy9uLqrxICODomlX
         3now==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713794389; x=1714399189;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eYJJmjsyepsIcZxzQDBxZkzN419rG27gTOdZzex/0H0=;
        b=wfGy726qcEwMmAU9hXmhv86FsO3lk49SClkBHp8skScAtI1aSMA0HQzpeugMwG72uQ
         axFdmuPFD/CUQXC1YoBaRRCFc3dLDS/hAAeYGDKDViuCCCTAHy39t0E21qTNGFr56384
         qcOwbUkInmnUMDxDc2vB5bOgbX/FqtRcOL4UuHFxLWa2AwZTR289fcaRqAbVVjpPbiyT
         4kG5KmMGTfs7FXFjw1rnQRV/6MWI2VBOPP4XwIUffy1Vqf/No0l0brYCs1jZ0XelRcxM
         B3HWXdxJ6rzvkCxFQ7djV47BwEVxos4Xgh5qPSr6a775ZBmyJ/SbsGAqBHaVVWbIYihk
         RFYg==
X-Gm-Message-State: AOJu0YyHfKUJexpThT+W8jS0KEEXz76fAioUEHAwpeXe+LR7Sj3oYjaE
	ySLg/+3drSNPTXVndgDckQO1VkVw8Hmw8sAPbEFrjjHUwTwsohdOmpv16rrqww==
X-Google-Smtp-Source: AGHT+IHdsCeGv8F0jyKQ1wKCItqx2jatYN23hf8rPLvG6BBB3iU7FyDX+N0zVPmV5jMI1s8uU6YsPQ==
X-Received: by 2002:a05:600c:3b0f:b0:418:9713:866c with SMTP id m15-20020a05600c3b0f00b004189713866cmr5695776wms.5.1713794389509;
        Mon, 22 Apr 2024 06:59:49 -0700 (PDT)
Message-ID: <5df4d9d1-bec3-4798-9664-a4c75817a766@suse.com>
Date: Mon, 22 Apr 2024 15:59:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/spec: adjust logic to logic that elides lfence
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20240418155208.7771-1-roger.pau@citrix.com>
 <20240418155208.7771-3-roger.pau@citrix.com>
 <26b9cbda-4f9b-4ddf-ab27-643e6f78b076@suse.com> <ZiZno9TUAG_gaqXg@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZiZno9TUAG_gaqXg@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.04.2024 15:35, Roger Pau Monné wrote:
> On Fri, Apr 19, 2024 at 08:25:00AM +0200, Jan Beulich wrote:
>> On 18.04.2024 17:52, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/include/asm/cpufeature.h
>>> +++ b/xen/arch/x86/include/asm/cpufeature.h
>>> @@ -235,9 +235,6 @@ static inline bool boot_cpu_has(unsigned int feat)
>>>  #define cpu_bug_fpu_ptrs        boot_cpu_has(X86_BUG_FPU_PTRS)
>>>  #define cpu_bug_null_seg        boot_cpu_has(X86_BUG_NULL_SEG)
>>>  
>>> -#define cpu_has_bhb_seq        (boot_cpu_has(X86_SPEC_BHB_TSX) ||       \
>>> -                                boot_cpu_has(X86_SPEC_BHB_LOOPS))
>>
>> Might be worth also mentioning in the description that this construct was
>> lacking use of X86_SPEC_BHB_LOOPS_LONG (might even warrant a 2nd Fixes:
>> tag).
> 
> Heh, no, X86_SPEC_BHB_LOOPS_LONG is added in addition to
> X86_SPEC_BHB_LOOPS.   When using long loops we have both
> X86_SPEC_BHB_LOOPS and X86_SPEC_BHB_LOOPS_LONG set (I know it's
> confusing, I was also confused the first time and asked Andrew the
> same question).  See the fallthrough in bhi_calculations().

Oh, I see.

Andrew: This is a very good example of the separating blank line being
misleading when fall-through is intended.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 14:09:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 14:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709976.1109033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryuMW-0005Rl-NZ; Mon, 22 Apr 2024 14:09:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709976.1109033; Mon, 22 Apr 2024 14: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 1ryuMW-0005Re-Kn; Mon, 22 Apr 2024 14:09:40 +0000
Received: by outflank-mailman (input) for mailman id 709976;
 Mon, 22 Apr 2024 14:09:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryuMV-0005RY-F8
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 14:09:39 +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 f3ce04aa-00b1-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 16:09:37 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41a0979b999so10083255e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 07:09: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
 p8-20020a05600c358800b00418f72d9027sm14667355wmq.18.2024.04.22.07.09.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 07: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: f3ce04aa-00b1-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713794977; x=1714399777; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Pe1/cBm14UG8JoRFk4Qc12eOP4Ndw5/dSwogglQAgHI=;
        b=UljmMB6CQ4yfgkSzjKAUrUWnZjz31kyRI6wUnWtjeypERdjoGb/XVJ/gIumiFuDh0R
         pFvotvSnK6BSEvMaCXnn8oFhBNJgpOtTLuifvVZJaQheFcr1NYuM2Rzko94glTkDVeAl
         0K1P8cPEzICJXNig6WuvdpWnN+/XWSlmfVW370cqO4EvVrP/wNJjYKH0X08Hns/s/dWu
         JCQuwtH5RBbf+u9LWAScvHtRztFwohV65XmbysAa93y4KqkC4ejfoa8oNw3RlQ/u/o4c
         4QSj59ovSBz16jE4xF7om+BuEGDM7Khxr4MPb0J/pVrubgwl62GR7igBoTEb18daipW0
         KoIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713794977; x=1714399777;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Pe1/cBm14UG8JoRFk4Qc12eOP4Ndw5/dSwogglQAgHI=;
        b=UAdjrGfNqIn7SkHgcuZjLW6LPqotCeYyf7uHi/EBgXh59KicNMei/pS05YFxIwdbxk
         VIBhfQCECvv600PjlG1OB648yLonjglD7PT6UHe12R2f4Lsu7TAqPxtrA0uBSV3XR3RS
         dFUrPch+rBPbNMyRr7XmOb/jT7VS+uaMsFK8p7sbztfc+BBT9Ha7PPnURM/Ozf1W98ls
         Nuqc2flNJfkpsaFKl2+2f4v/lqHFSEcr+5UfvibUQEKIZzLtxrSIl81wVNCdYhq6oRga
         q2Wxurgc2CHL0uS4Mb4UZhBZbbLx1RUnWohy0sm6k+QEwnUvqemcD+SrUxAVqLXu+WZ8
         Pavw==
X-Forwarded-Encrypted: i=1; AJvYcCUcjxS+zbcmJDiRNsBu/yAkfIuM7AEe3R0YVeWD5ca25dtJaACvbEkZCwjaZBTT0eSTVCN5c5+2jK166PaLEzmltFXtWGaMcMiGdZyK7qo=
X-Gm-Message-State: AOJu0YzavyQkO+6HVpup/xjK4wrbhwo5EbHg6STOfwMT/fCw4jKpZdeC
	pG5RAL8xgVhwoz8xg5aPz++qbOqS5MNVZtxYbFbktHNEx2hp2kED5wLVS0mASg==
X-Google-Smtp-Source: AGHT+IEQmxfUgmLto0lH6YqZdRarc3lpoN5LaIFKo3NAI8AQ2knvIraE8xVXHb6yyg9URUJIZXoNHw==
X-Received: by 2002:a05:600c:4447:b0:41a:1ca:2292 with SMTP id v7-20020a05600c444700b0041a01ca2292mr4069200wmn.17.1713794976653;
        Mon, 22 Apr 2024 07:09:36 -0700 (PDT)
Message-ID: <75e0f0b8-625e-4cad-b584-872272851a7e@suse.com>
Date: Mon, 22 Apr 2024 16:09:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86: Update x86 low level version check of
 microcode
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-2-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416091546.11622-2-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 11:15, Fouad Hilly wrote:
> Update microcode version check at Intel and AMD Level by:
> Preventing the low level code from sending errors if the microcode
> version provided is not a newer version.

And why is this change (a) wanted and (b) correct?

> Other errors will be sent like before.
> When the provided microcode version is the same as the current one, code
> to point to microcode provided.

I'm afraid I can't interpret this sentence.

> Microcode version check happens at higher and common level in core.c.
> Keep all the required code at low level that checks for signature and CPU compatibility
> 
> [v2]
> Update message description to better describe the changes

This belongs ...

> Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
> ---

... below the separator.

> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -383,12 +383,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>                  goto skip;
>              }
>  
> -            /*
> -             * If the new ucode covers current CPU, compare ucodes and store the
> -             * one with higher revision.
> -             */
> -            if ( (microcode_fits(mc->patch) != MIS_UCODE) &&
> -                 (!saved || (compare_header(mc->patch, saved) == NEW_UCODE)) )
> +            /* If the provided ucode covers current CPU, then store its revision. */
> +            if ( (microcode_fits(mc->patch) != MIS_UCODE) && !saved )
>              {
>                  saved = mc->patch;
>                  saved_size = mc->len;
> --- a/xen/arch/x86/cpu/microcode/intel.c
> +++ b/xen/arch/x86/cpu/microcode/intel.c
> @@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct microcode_patch *patch)
>  
>      result = microcode_update_match(patch);
>  
> -    if ( result != NEW_UCODE &&
> -         !(opt_ucode_allow_same && result == SAME_UCODE) )
> +    if ( result != NEW_UCODE && result != SAME_UCODE )
>          return -EINVAL;

Unlike the other two adjustments this one results in still permitting
only same-or-newer. How does this fit with the AMD change above and
the other Intel change ...

> @@ -354,12 +353,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>          if ( error )
>              break;
>  
> -        /*
> -         * If the new update covers current CPU, compare updates and store the
> -         * one with higher revision.
> -         */
> -        if ( (microcode_update_match(mc) != MIS_UCODE) &&
> -             (!saved || compare_revisions(saved->rev, mc->rev) == NEW_UCODE) )
> +        /* If the provided ucode covers current CPU, then store its revision. */
> +        if ( (microcode_update_match(mc) != MIS_UCODE) && !saved )
>              saved = mc;

... here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 14:18:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 14:18:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709981.1109043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryuUs-0007GA-Hx; Mon, 22 Apr 2024 14:18:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709981.1109043; Mon, 22 Apr 2024 14:18:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryuUs-0007G3-FK; Mon, 22 Apr 2024 14:18:18 +0000
Received: by outflank-mailman (input) for mailman id 709981;
 Mon, 22 Apr 2024 14:18:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryuUr-0007Fx-4a
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 14:18:17 +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 286c27eb-00b3-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 16:18:15 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-41aa15ae26dso214135e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 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
 u11-20020a5d434b000000b0034a2d0b9a4fsm11048239wrr.17.2024.04.22.07.18.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 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: 286c27eb-00b3-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713795494; x=1714400294; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yLPqa2i3hO0E3rsnz5yPTdb7z2QTjpI0ZBayqgyuVO4=;
        b=TsVeD0aUljts3dALYT4ZMLOIi1xMgTMqyINRkkS1c6yaV596c/Faa/lc+aoOvMutcM
         iTXBnLO1N4TQVl4N0BNMiume6BI7q5iS6P7T+1pPY333PKxeyV1zO4vS6XSOXPkXO4K+
         eukZfdp/AzyNNi8ZQDYe9srmHTXnHuCPjBtIBjz5HsO3UX0X722CUcWufcIzkm/aRJ2j
         dFVZTZ52ynTrmFe6hcm8Sfpq7YuWoC7McQ4V71nQImjO8CBMqjdCewTzma3lIaMSeSMI
         KUge9BKrdnKNrhbLQ3Lvmf9CZixxfUMAtX29nQkpbAerqXm5IaMNcypXNMJBsrHSbJ9+
         0tAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713795494; x=1714400294;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yLPqa2i3hO0E3rsnz5yPTdb7z2QTjpI0ZBayqgyuVO4=;
        b=jJYQmq55Op75QMU5jzXoXD9/TsIjV7SjUOm2/l8CW5Bf73Yq5lkkGgHzWaX1q8b1sJ
         l4xGcZbqze/F79pDxxXQJhe+rCxf7GkbQUjNHqDLa65ISjI4SxVw+u8mQDvldST9sFna
         dgZcz5Yo1fimWAlc65Yk0qQzlR+Z+uCdPlJtCYlgqTFbahGkkgm4ifkZ7ggU+D/w4Dze
         vYnXoL8lIHBB73M+sX2fUB7TD1zfphg9Q90avwAA2zTpRO8iET6HaVrJUdqfF0zejBxJ
         Q23Sm6q6OP708Y2dm1G8kurCgleylndPeOPcP3U5EcPsyNRrBo1hzANKlsErp6CrhATE
         ePJw==
X-Forwarded-Encrypted: i=1; AJvYcCU3ykz7DLK5got404pqiPf14XTiCusl2nbJLqhjysuEmMvHzNCTDKwd+7rQ2cEDRbAuSeI2ZiyE6/VgkolgImnxSJK5k5SjcM+ec1jZz7g=
X-Gm-Message-State: AOJu0YyobB7owUE5v/n5mTH6VjW7pvo+IqAH/OXy1I5F25w7jwjpbpuz
	tEH8op7HoEcWTcj/MHHXFW4yv4GGH+0eryCbRxLd31HqTouuCXEwEc/+8DhIzQ==
X-Google-Smtp-Source: AGHT+IF1ABDz5VnC4dgXZVRrWymS9cR8CGNdm03LW/ge5FX1/G085LkqKSXNo4fj3Eu/0tzbydns9A==
X-Received: by 2002:a5d:4a81:0:b0:343:e52a:f51e with SMTP id o1-20020a5d4a81000000b00343e52af51emr5772627wrq.47.1713795494341;
        Mon, 22 Apr 2024 07:18:14 -0700 (PDT)
Message-ID: <9600cd58-3530-4037-bf3c-aa6038b18fa5@suse.com>
Date: Mon, 22 Apr 2024 16:18:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86: Refactor microcode_update() hypercall with
 flags
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-3-fouad.hilly@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240416091546.11622-3-fouad.hilly@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.04.2024 11:15, Fouad Hilly wrote:
> Refactor microcode_update() hypercall by adding flags field.
> Introduce XENPF_microcode_update2 hypercall to handle flags field.
> struct xenpf_microcode_update updated to have uint32_t flags at
> the end of the sturcture.
> 
> [v2]
> 1- Update message description to highlight interface change.
> 2- Removed extra empty lines.
> 3- removed unnecessary define.
> 4- Corrected long lines.
> 5- Removed ternary operator.
> 6- Introduced static ucode_update_flags, which will be used later to determine local ucode_force_flag.

Non-style comments on v1 have remained un-addressed. Specifically, to
give an example, while 1 says you now highlight the interface change,
the request was to explain why changing an existing structure is okay
(hint: it likely isn't, as the structure size changes for compat [aka
32-bit] callers).

I'm not going to give the same comments again; I'll rather expect you to
respond to them by either adjustments to the patch (or its description),
or by verbal replies.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 14:26:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 14:26:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.709990.1109052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryucF-0000ma-FM; Mon, 22 Apr 2024 14:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 709990.1109052; Mon, 22 Apr 2024 14:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryucF-0000mT-CZ; Mon, 22 Apr 2024 14:25:55 +0000
Received: by outflank-mailman (input) for mailman id 709990;
 Mon, 22 Apr 2024 14:25:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryucE-0000mJ-Bc; Mon, 22 Apr 2024 14:25:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryucE-0007Wk-2D; Mon, 22 Apr 2024 14:25:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryucD-00040S-KC; Mon, 22 Apr 2024 14:25:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryucD-0004CE-Ji; Mon, 22 Apr 2024 14:25:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pYGlPfoQLvcfi6JH160+0lXCHGBAMkkXWGS8iVZmGfI=; b=3Ta6O7gNkAqw5vUOjb5BKXIklu
	ITfmHIIZwWSUofN5TjRw/AISvdT68tYo5ae+TKCOLOlE1FDAmfJ95ve+3GXinPg9zsAl88q9M63AZ
	EQd6IYIYAoKmfKnlpSxut207HPWPTukQJBKPMbB7evuq3tIdQdkQPQFF3xXmdDwZTstA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185755-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185755: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 14:25:53 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-libvirt             <job status>                 broken  in 185433
 build-arm64-pvops               <job status>                 broken  in 185433
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 185751 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185755
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 185751 pass in 185755
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 185751
 test-arm64-arm64-libvirt-raw 13 guest-start                fail pass in 185751

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 185168
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 185433 like 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 185751 like 185168
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 185751 like 185168
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 185751 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 185751 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-arm64-arm64-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-armhf-armhf-xl-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-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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:
 linux                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   26 days
Testing same since   185433  2024-04-13 11:16:55 Z    9 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-libvirt broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 14:52:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 14:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710002.1109063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryv1i-0004qt-KW; Mon, 22 Apr 2024 14:52:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710002.1109063; Mon, 22 Apr 2024 14:52: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 1ryv1i-0004qm-He; Mon, 22 Apr 2024 14:52:14 +0000
Received: by outflank-mailman (input) for mailman id 710002;
 Mon, 22 Apr 2024 14:52:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryv1i-0004qc-6D; Mon, 22 Apr 2024 14:52:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ryv1h-0007vz-PV; Mon, 22 Apr 2024 14:52: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 1ryv1h-0004iJ-Es; Mon, 22 Apr 2024 14:52:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryv1h-0003sg-EL; Mon, 22 Apr 2024 14:52:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NFUuyw5VWP6Cqk8WxspO26iY1qZiRZGHBvWDyTdBlyM=; b=u8LjHZR6Ol00eZyjXCnIOyUiFF
	PbuYeu9MY6aGoAIqSo32B2w6kLF5CrYUA389anPK6GFcMNm1IrAfdcIge+3eQBzxKRnHdkYRU/+m8
	bYYcqxkr8kIoQwaX2j+iuAsitsRd8qQGCDNfl5aShLFXpaLwAYUqqnZl8Od1b+Qq19C0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185759-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185759: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7dd7b890582b4d696ca5fd436dbc5fb4bc30e385
X-Osstest-Versions-That:
    ovmf=be92e09206c2e4bb388e7c9127f048689841dd01
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 14:52:13 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7dd7b890582b4d696ca5fd436dbc5fb4bc30e385
baseline version:
 ovmf                 be92e09206c2e4bb388e7c9127f048689841dd01

Last test of basis   185756  2024-04-22 03:19:18 Z    0 days
Testing same since   185759  2024-04-22 13:14:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Gerd Hoffmann <kraxel@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Konstantin Kostiuk <kkostiuk@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
   be92e09206..7dd7b89058  7dd7b890582b4d696ca5fd436dbc5fb4bc30e385 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 15:09:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 15:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710012.1109072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvIl-0006xC-1a; Mon, 22 Apr 2024 15:09:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710012.1109072; Mon, 22 Apr 2024 15: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 1ryvIk-0006x5-V4; Mon, 22 Apr 2024 15:09:50 +0000
Received: by outflank-mailman (input) for mailman id 710012;
 Mon, 22 Apr 2024 15:09:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryvIj-0006wz-Kg
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 15:09:49 +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 5c3d6ce0-00ba-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 17:09:48 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-418e4cd2196so33616485e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 08:09: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
 q2-20020adfab02000000b00349d8717feasm12308801wrc.56.2024.04.22.08.09.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 08:09: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: 5c3d6ce0-00ba-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713798588; x=1714403388; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/JzYtD/WWunljRiZRCZkwTpKN3o+dfu8XahAyYIabw8=;
        b=GpvJlcYUk1bwasSDc/vVcuq4SEVsa7qsN7ITvK3pCk2DVAVAQYr3xReap+ThXmqiOP
         ujGvDlrxLZPwYKQnk9XaEPrTsrb82dEHZlC8N5EQkDdH4+Qh3i/IOAebSk7afo4LoDJi
         fbzNR1AB95dPA7Rek66AzLaPdgCicdrcbIVi0Xy4ujbRS9scmfrWKr22ObGWHKmq4dH5
         JDHUunjHvslVrBjTI7KYSoyQvoFQoZu7sB4EsPGH72Z6JmVW8TG2kIBUiwp1nTbFJJ8b
         RCJabdsq8F/+4e+EgsH41Bug5xFeMnmDfJtocYFkGga5scHGt+guScsNDcpJs+BOrSXn
         hXhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713798588; x=1714403388;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/JzYtD/WWunljRiZRCZkwTpKN3o+dfu8XahAyYIabw8=;
        b=PadJXyphjQIac6W3IebtaFUXABBVGLXDobiQreX4QT7aEeVO1TqAFiLNUB1cY8qcVe
         M1MESoYlV+ewvA7RdLAosfgZn4hxvSbCip+wf4UkHFniRg0LJj/VmlAeM7N65I6lJer2
         SsXjkFDovtTscVqpNFkOzQtWDPag8iHJBajAxyPflNL8f1HXi4cyhBMrtppW/l3GdCmY
         p0qZYupntMWDln0n0ZayGKAfH4ByV53T5voiJN6wKDvPp2EbG5s0RjkYSdqdkRTTXkBj
         4YFK1qwxi0JHvLa5qGRRUdk7gs3QFXiKf4l9RiRkGOqynugUsOq0/1TEdY4kJdaHNivr
         dgGQ==
X-Forwarded-Encrypted: i=1; AJvYcCVkFklJTHIgaLZxIwGrklGvjNf2NLu6lk34OINe7624iBRioCf8fMwjkEovk22/+AXpH4Xu9FI6uV3m8zdB6151h6gcZJDeJK7Wt6YxLZs=
X-Gm-Message-State: AOJu0YywJ+7TS2u1BEGmwEDqekyfOBNilA9E5gyikqDSZ/ihAX3X6Uht
	Dzuo7F116syHQiD+aJ4A1J5HUfKkn2bjkt+ulr6L9QJcCXcRiLZMU7onPUyokQ==
X-Google-Smtp-Source: AGHT+IGx8v1Qlq/4Zn4LvSMcPOZV4flxTnJx1pT3lPZUMFP+Cgx4EPWxnRv3OgkILBv60F3Q0Z5hmg==
X-Received: by 2002:a05:600c:358a:b0:414:8abb:a96b with SMTP id p10-20020a05600c358a00b004148abba96bmr6872747wmq.34.1713798587832;
        Mon, 22 Apr 2024 08:09:47 -0700 (PDT)
Message-ID: <f5518331-3e4b-4f82-b91c-330ed397ae16@suse.com>
Date: Mon, 22 Apr 2024 17:09:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/cpuid-policy: Add AMD SVM CPUID leaf to featureset
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@cloud.com>, xen-devel@lists.xenproject.org
References: <20240417132237.2946862-1-george.dunlap@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240417132237.2946862-1-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 15:22, George Dunlap wrote:
> Currently, the CPUID leaf for SVM features (extd 0xa.edx) is manually
> twiddled:
> 
>  - hvm_max_policy takes host_policy and clamps it to supported
>    features (with some features unilaterally enabled because they're
>    always emulated
> 
>  - hvm_default_policy is copied from there
> 
>  - When recalculate_policy() is called for a guest, if SVM is clear,
>    then the entire leaf is zeroed out.
> 
> Move to a mode where the extended features are off by default, and
> enabled when nested_virt is enabled.
> 
> In cpufeatureset.h, define a new featureset word for the AMD SVM
> features, and declare all of the bits defined in
> x86/include/asm/hvm/svm/svm.h.  Mark the ones we currently pass
> through to the "max policy" as HAP-only and optional.
> 
> In cpu-policy.h, define FEATURESET_ead, and convert the un-named space
> in struct_cpu_policy into the appropriate union.  FIXME: Do this in a
> prerequisite patch, and change all references to p->extd.raw[0xa].

Just wondering: Did you mean to submit with this FIXME?

> Update x86_cpu_X_to_Y and Y_to_X to copy this into and out of the
> appropriate leaf.
> 
> Populate this during boot in generic_identify().
> 
> Add the new featureset definition into libxl_cpuid.c.
> 
> Update the code in calculate_hvm_max_policy() to do nothing with the
> "normal" CPUID bits, and use the feature bit to unconditionally enable
> VMCBCLEAN. FIXME Move this to a follow-up patch.
> 
> In recalculate_cpuid_policy(), enable max_fs when nested_hvm() is
> true.
> 
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
> ---
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: Jan Beulich <jbeulich@suse.com>
> CC: Roger Pau Monne <roger.pau@cloud.com>
> ---
>  tools/libs/light/libxl_cpuid.c              |  1 +
>  xen/arch/x86/cpu-policy.c                   | 19 +++++++++----------
>  xen/arch/x86/cpu/common.c                   |  2 ++
>  xen/include/public/arch-x86/cpufeatureset.h | 16 ++++++++++++++++
>  xen/include/xen/lib/x86/cpu-policy.h        | 10 +++++++++-
>  xen/lib/x86/cpuid.c                         |  4 +++-
>  6 files changed, 40 insertions(+), 12 deletions(-)

tools/misc/xen-cpuid.c also wants adjusting, I think.

I further think the dependencies (on the SVM feature at the very least)
also want recording in xen/tools/gen-cpuid.py.

> @@ -909,6 +903,14 @@ void recalculate_cpuid_policy(struct domain *d)
>              __clear_bit(X86_FEATURE_VMX, max_fs);
>              __clear_bit(X86_FEATURE_SVM, max_fs);
>          }
> +        else
> +        {
> +            /* 
> +             * Enable SVM features.  This will be empty on VMX
> +             * hosts. 
> +             */
> +            fs[FEATURESET_ead] = max_fs[FEATURESET_ead];
> +        }
>      }

I'm afraid I don't understand this part: Why would you forcefully enable
everything, no matter what the tool stack set? Considering the if() part
above, wouldn't you want to mark the features non-optional, relying on
them being cleared (via dependencies) when SVM is clear?

> --- a/xen/arch/x86/cpu/common.c
> +++ b/xen/arch/x86/cpu/common.c
> @@ -477,6 +477,8 @@ static void generic_identify(struct cpuinfo_x86 *c)
>  		c->x86_capability[FEATURESET_e7d] = cpuid_edx(0x80000007);
>  	if (c->extended_cpuid_level >= 0x80000008)
>  		c->x86_capability[FEATURESET_e8b] = cpuid_ebx(0x80000008);
> +	if (c->extended_cpuid_level >= 0x8000000a)
> +		c->x86_capability[FEATURESET_ead] = cpuid_edx(0x8000000a);
>  	if (c->extended_cpuid_level >= 0x80000021)
>  		c->x86_capability[FEATURESET_e21a] = cpuid_eax(0x80000021);

Aiui this is needed right in this change because of calculate_host_policy()
deriving from boot_cpu_data.x86_capability. What I'd have expected in
addition (going forward: instead) is an adjustment to
x86_cpu_policy_fill_native().

> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -357,6 +357,22 @@ XEN_CPUFEATURE(RFDS_CLEAR,         16*32+28) /*!A Register File(s) cleared by VE
>  
>  /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.edx, word 17 */
>  
> +/* AMD-defined CPU features, CPUID level 0x8000000a.edx, word 18 */
> +XEN_CPUFEATURE(NPT,                 18*32+ 0) /*h  Nested page table support */
> +XEN_CPUFEATURE(LBRV,                18*32+ 1) /*h  LBR virtualization support */
> +XEN_CPUFEATURE(SVML,                18*32+ 2) /*   SVM locking MSR support */
> +XEN_CPUFEATURE(NRIPS,               18*32+ 3) /*h  Next RIP save on VMEXIT support */
> +XEN_CPUFEATURE(TSCRATEMSR,          18*32+ 4) /*   TSC ratio MSR support */
> +XEN_CPUFEATURE(VMCBCLEAN,           18*32+ 5) /*h  VMCB clean bits support */
> +XEN_CPUFEATURE(FLUSHBYASID,         18*32+ 6) /*   TLB flush by ASID support */
> +XEN_CPUFEATURE(DECODEASSISTS,       18*32+ 7) /*h  Decode assists support */
> +XEN_CPUFEATURE(PAUSEFILTER,         18*32+10) /*h  Pause intercept filter support */
> +XEN_CPUFEATURE(PAUSETHRESH,         18*32+12) /*   Pause intercept filter threshold */
> +XEN_CPUFEATURE(VLOADSAVE,           18*32+15) /*   virtual vmload/vmsave */
> +XEN_CPUFEATURE(VGIF,                18*32+16) /*   Virtual GIF */
> +XEN_CPUFEATURE(SSS,                 18*32+19) /*   NPT Supervisor Shadow Stacks */
> +XEN_CPUFEATURE(SPEC_CTRL,           18*32+20) /*   MSR_SPEC_CTRL virtualisation */

This can't be just SPEC_CTRL without causing confusion. I guess it wants to
be VIRT_SPEC_CTRL (probably confusing, too), AMD_VIRT_SPEC_CTRL,
AMD_SPEC_CTRL_VIRT, or some such.

> --- a/xen/include/xen/lib/x86/cpu-policy.h
> +++ b/xen/include/xen/lib/x86/cpu-policy.h
> @@ -22,6 +22,7 @@
>  #define FEATURESET_7d1       15 /* 0x00000007:1.edx    */
>  #define FEATURESET_m10Al     16 /* 0x0000010a.eax      */
>  #define FEATURESET_m10Ah     17 /* 0x0000010a.edx      */
> +#define FEATURESET_ead       18 /* 0x8000000a.edx      */

Maybe better eAd here and elsewhere, to visually separate the constituent
pieces of the name? I wonder whether Andrew had any plans naming-wise here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 15:10:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 15:10:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710015.1109083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvJg-0008Ho-BB; Mon, 22 Apr 2024 15:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710015.1109083; Mon, 22 Apr 2024 15:10:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvJg-0008Hh-7F; Mon, 22 Apr 2024 15:10:48 +0000
Received: by outflank-mailman (input) for mailman id 710015;
 Mon, 22 Apr 2024 15:10:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1ryvJf-0008HZ-Bh
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 15:10:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ryvJd-0008HR-Df; Mon, 22 Apr 2024 15:10:45 +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 1ryvJd-0005WB-8Y; Mon, 22 Apr 2024 15:10:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lj9vyG1ap5RuAwEUNaYFKzJcwipzJ4AFEwnoVMl+I04=; b=0+bkxmnfotn8RZYQ15RzeCBsqf
	4p5zc3zM+2FZzX/kzZinV6chstTjSiY2uznOZI24ChvtyfhmXKiwteIs147euVBuagooesdQSIbLw
	oXgJ4wDUAdVOJh8MI9AeTVVfSxTl9WihWeAr5SA4eqXd7ZNyZ6kD9EywS0DESWoLgUyM=;
Message-ID: <29afd327-a66c-4b4e-b076-ee6ecb70807e@xen.org>
Date: Mon, 22 Apr 2024 16:10:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <20240417121442.56178-1-michal.orzel@amd.com>
 <be95f6be-0404-4c43-926f-d011782a02db@xen.org>
 <alpine.DEB.2.22.394.2404171148060.2257106@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2404171148060.2257106@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 17/04/2024 19:49, Stefano Stabellini wrote:
> On Wed, 17 Apr 2024, Julien Grall wrote:
>> Hi Michal,
>>
>> On 17/04/2024 13:14, Michal Orzel wrote:
>>> Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
>>> in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
>>> for it. This results in a build failure. Example on Arm:
>>>
>>> ./include/public/arch-arm.h:205:41: error: unknown type name
>>> ‘__guest_handle_64_int32_t’
>>>     205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
>>>         |                                         ^~~~~~~~~~~~~~~~~~
>>> ./include/public/arch-arm.h:206:41: note: in expansion of macro
>>> ‘__XEN_GUEST_HANDLE’
>>>     206 | #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
>>>         |                                         ^~~~~~~~~~~~~~~~~~
>>> ./include/public/memory.h:277:5: note: in expansion of macro
>>> ‘XEN_GUEST_HANDLE’
>>>     277 |     XEN_GUEST_HANDLE(int32_t) errs;
>>>
>>> Fix it. Also, drop guest handle definition for int given no further use.
>>>
>>> Fixes: afab29d0882f ("public: s/int/int32_t")
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> 
>> So it turned out that I committed v1 from Stefano. I was meant to commit the
>> patch at all, but I think I started with a dirty staging :(. Sorry for that.
>>
>> I have reverted Stefano's commit for now so we can take the correct patch.
>>
>> Now, from my understanding, Andrew suggested on Matrix that this solution may
>> actually be a good way to handle GUEST_HANLDEs (they were removed in v2).
>> Maybe this can be folded in Stefano's patch?
> 
> v1 together with Michal's fix is correct. Also v2 alone is correct, or
> v2 with Michal's fix is also correct.

I am slightly confused, v2 + Michal's fix means that 
XEN_GUEST_HANDLE(int) is removed and we introduce XEN_GUEST_INT(int32_t) 
with no user. So wouldn't this break the build?

> 
> My preference is v2 with Michal's fix, they can be committed as separate
> patches. Also the others options are fine.

I am fine if you want to commit them separately. However, I am not sure 
your suggestion about using v2 + Michal's fix is actually correct.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 15:11:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 15:11:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710016.1109092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvK1-0000Fc-Hc; Mon, 22 Apr 2024 15:11:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710016.1109092; Mon, 22 Apr 2024 15:11: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 1ryvK1-0000FV-F3; Mon, 22 Apr 2024 15:11:09 +0000
Received: by outflank-mailman (input) for mailman id 710016;
 Mon, 22 Apr 2024 15:11: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=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryvJz-0000Dq-UI
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 15:11:07 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a382288-00ba-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 17:11:05 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-418c2bf2f55so30710755e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 08:11:05 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 g9-20020a05600c310900b0041a9fc2a6b5sm282992wmo.20.2024.04.22.08.11.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 08:11: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: 8a382288-00ba-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713798665; x=1714403465; 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=iJyU5R7I1uk1jopWD76u6zKn/7NGqDHiiOtrW6X7dX0=;
        b=RI59Eiu0ESyo9h+6t3d66aA6tkT7wbkgQqfqyJbzQmY3ZKLD/gZrqsl/XEzhfdjcDR
         qFbX8IIpQAwRIuyKROlOiazmlYm6bK3H5OJ3JLivYGRZVeVNvTOnk6VBdnHXn5C653t3
         6Ll1zrlpE1jYMRr+ZCZPppWbGpTLD33qPQh8g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713798665; x=1714403465;
        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=iJyU5R7I1uk1jopWD76u6zKn/7NGqDHiiOtrW6X7dX0=;
        b=NP4EnyBQ3EyKd8u2/fZozpxtMrr1+2aAPWTHA+OS4zfEplmX93n/leN9pHlqHAciBr
         ijWCGzj9sV5dry9ExGTPbSfwtpFZdV5JTTFkEdOKNf2qzcnyGPik+4vW7N2b3Si/u19U
         /FecUHme41pGgd9LE0WyadBlilaOsiQoffOJA++tkWSrCiQDGgWcnPgeX+OefuLT6EgT
         74ki9pLCjbA1y90ghMqN07+bW6bBNDWwzpVGQYIn9VdldxN10u7wubF0v4wQc+orC/KQ
         vbBzVveIDPFgmOiNUPfO/DFx1My6MC8YHUS52sQcsomgdcJUaPnmqlLJNUrHSWRoaxZT
         rRlw==
X-Gm-Message-State: AOJu0Yxpu6ZmAsgJoRSNuDQX0ywsPCIBXhZllx3lOdcKW/WOsKygm0uy
	X0aTp2jLgSlFNodN71D5wTjnbBArI1Zq/afeYn0SViu4msfRIfGORdgJ6QvFxJ++S+WtljUOxAk
	Z
X-Google-Smtp-Source: AGHT+IFPbYQKlRM0Hq7QnH04SReEbBZ6AdTXRwqmpbsuiFntzVgJPbZhPYJ2N6kEZ7p0L6QANW3jpQ==
X-Received: by 2002:a05:600c:350b:b0:418:d4e6:30cf with SMTP id h11-20020a05600c350b00b00418d4e630cfmr7132608wmq.14.1713798665059;
        Mon, 22 Apr 2024 08:11:05 -0700 (PDT)
Date: Mon, 22 Apr 2024 16:11:03 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH v2 1/3] hotplug: Update block-tap
Message-ID: <42f1eaef-d804-4816-b746-ee24d860e0f7@perard>
References: <20240407204953.60442-1-jandryuk@gmail.com>
 <20240407204953.60442-2-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240407204953.60442-2-jandryuk@gmail.com>

On Sun, Apr 07, 2024 at 04:49:51PM -0400, Jason Andryuk wrote:
> diff --git a/tools/hotplug/Linux/block-tap b/tools/hotplug/Linux/block-tap
> index 89247921b9..126e472786 100755
> --- a/tools/hotplug/Linux/block-tap
> +++ b/tools/hotplug/Linux/block-tap
> @@ -18,11 +18,11 @@
>  #
>  # Usage:
>  #
> -# Target should be specified using the following syntax:
> +# Disks should be specified using the following syntax:
>  #
> -# script=block-tap,vdev=xvda,target=<type>:<file>
> +# vdev=xvda,backendtype=tap,format=vhd,target=/srv/target.vhd

I still have unanswered question from the previous round:
    Is `block-tap` still going to work with the current example given in
    the script header? That is:
        "script=block-tap,vdev=xvda,target=<type>:<file>"
    Or maybe, that example is already broken?

If it's not broken, there could be users which rely on it. But maybe
it's not really broken, and the new syntax is better anyway.

My guess is that using "script=block-tap,..." might still work, but
we should say something in the CHANGELOG to encourage people to move to
the new syntax, with "backendtype=tap" to avoid issues.


In any case, the patch looks good:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 15:14:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 15:14:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710027.1109102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvN8-0001Nl-VL; Mon, 22 Apr 2024 15:14:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710027.1109102; Mon, 22 Apr 2024 15:14:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvN8-0001Ne-Se; Mon, 22 Apr 2024 15:14:22 +0000
Received: by outflank-mailman (input) for mailman id 710027;
 Mon, 22 Apr 2024 15:14: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryvN7-0001NY-TS
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 15:14:21 +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 fdd8152f-00ba-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 17:14:19 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-3455ff1339dso3461330f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 08:14: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
 b8-20020adfe308000000b003436a3cae6dsm12272336wrj.98.2024.04.22.08.14.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 08:14: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: fdd8152f-00ba-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713798859; x=1714403659; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IlBBOEsaIMnXJQrwD/CUuhu2Que7M41u4i/cTzcXwwI=;
        b=f0maJ5Nv4P5HPrAlmem8H03g5bIsbJ01o1KdzI1ZpbuqlLPNXtVw5rgbdJfHmieyjM
         1nJ8ZW68acpOu2F9dTv9564K+4k2LnAOp3skNWXYa97gv6aoQohSOgLVg666hiwbHp2e
         wZhQLMkJQlAXw3Cugf+jyxk+ztKJgxAjiz0XZz+nero7liYoAe0FIb55tGn++Fxp25j2
         uR1VDe+9OpRapdJJfC+wVpxARLjIUQjc2nX8qh86ZKkJPvnPCB0orkQ3JInuDvqVc1w+
         RM0tlNPeO5BMcJC2sClcVFmEVKl8GLTYP41IaxZf1SDNXf2/I3udGh+3uN9Fj2GEfDkC
         joew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713798859; x=1714403659;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=IlBBOEsaIMnXJQrwD/CUuhu2Que7M41u4i/cTzcXwwI=;
        b=X5FLJCimRimTyqPV2XUeJrsI0FhdfeSBy9wjOZ+y5GwkUcbLdnYd/WocE7xt8GusXp
         MYvzdwI80F1NPF0qF7LpPbu1ahbDTs5Aqb00oHs8coSqnfY+jX5uWzFnHIUF7XW8DOon
         p5wFYSbh33Yy+Y1Yes5Vyo0G1s5eNl4DJ9IhYN46PAvOd+mnHVt/GtT9EDwE7TjFb8/P
         vsnTGxETMmIYnBuJnMmZarP0OYtNIcQxTVF2ORpKtiRnnqV2rhfTEQOg7kNLLlCIZmBk
         vfkwIwBn+S09j9ltsWqu48EIUwI5N8h49KNm+8mh5W0F6McOiVLkbYJzxudRB7660436
         uR/A==
X-Forwarded-Encrypted: i=1; AJvYcCWjMAwO+WwfYsRQYt6H+bVAZ5QNASOmFgEWbNuDqhxdFuHSqt5lxj1kZlzlap3ywjzSz6uzH8q8m/FIXSqi7O7gBBPSwydDXZf+g3MQ8qU=
X-Gm-Message-State: AOJu0Yw+ic8E/iHssonpLHCsy2275Pty2vEI7W9gZD2KwzUfvZKY+qj6
	WV5ax6Z2N+V2jeQUb36HstB7Lbu7+FOARjZym84cn56JnrLcyBrKbp/IYG0/4Q==
X-Google-Smtp-Source: AGHT+IGcCNv6JngfmjWrvlFryBcs9hMiXrOR12f9+lfB2KYFG+n+mf+HR98o2zKolgXQ2SQwuOAt5Q==
X-Received: by 2002:a5d:5985:0:b0:34a:eef8:b162 with SMTP id n5-20020a5d5985000000b0034aeef8b162mr5138523wri.5.1713798858986;
        Mon, 22 Apr 2024 08:14:18 -0700 (PDT)
Message-ID: <42ea5f58-0864-4e17-a710-a775cdd8e1bb@suse.com>
Date: Mon, 22 Apr 2024 17:14:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/cpuid-policy: Add AMD SVM CPUID leaf to featureset
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: George Dunlap <george.dunlap@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@cloud.com>, xen-devel@lists.xenproject.org
References: <20240417132237.2946862-1-george.dunlap@cloud.com>
 <f5518331-3e4b-4f82-b91c-330ed397ae16@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f5518331-3e4b-4f82-b91c-330ed397ae16@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.04.2024 17:09, Jan Beulich wrote:
> On 17.04.2024 15:22, George Dunlap wrote:
>> --- a/xen/arch/x86/cpu/common.c
>> +++ b/xen/arch/x86/cpu/common.c
>> @@ -477,6 +477,8 @@ static void generic_identify(struct cpuinfo_x86 *c)
>>  		c->x86_capability[FEATURESET_e7d] = cpuid_edx(0x80000007);
>>  	if (c->extended_cpuid_level >= 0x80000008)
>>  		c->x86_capability[FEATURESET_e8b] = cpuid_ebx(0x80000008);
>> +	if (c->extended_cpuid_level >= 0x8000000a)
>> +		c->x86_capability[FEATURESET_ead] = cpuid_edx(0x8000000a);
>>  	if (c->extended_cpuid_level >= 0x80000021)
>>  		c->x86_capability[FEATURESET_e21a] = cpuid_eax(0x80000021);
> 
> Aiui this is needed right in this change because of calculate_host_policy()
> deriving from boot_cpu_data.x86_capability. What I'd have expected in
> addition (going forward: instead) is an adjustment to
> x86_cpu_policy_fill_native().

I'm sorry, but no, there should be no need to adjust that function.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 15:29:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 15:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710036.1109112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvbB-0003Ve-BA; Mon, 22 Apr 2024 15:28:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710036.1109112; Mon, 22 Apr 2024 15:28:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvbB-0003VX-8f; Mon, 22 Apr 2024 15:28:53 +0000
Received: by outflank-mailman (input) for mailman id 710036;
 Mon, 22 Apr 2024 15:28: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=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ryvb9-0003VR-Ln
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 15:28:51 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04295006-00bd-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 17:28:49 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41a70466b77so6358265e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 08:28: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
 w17-20020a05600c475100b004162d06768bsm20847175wmo.21.2024.04.22.08.28.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 08:28: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: 04295006-00bd-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713799728; x=1714404528; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=l/b3TyHbqvF8dmdrig/EEE1vYugsBYcONSOOklsBay4=;
        b=KHS4hl8YnTeJCH1W/HJhlEaiCPlEFpizQqLYaHpSHbmb9wGTx1uONdaXHjQopqb8M0
         ayU7jhZy9bOHiDA95bZUNdFIz+dGJsLLCwqvyBmCBLXrVPhsgGVhaFBOzEE4+bBZej56
         i+jD8op04RPwe0f32VYxxQmMz0+U+gpboQ2mz6CQkTa95lfyiPKmXuMSqCqhbxxbO0B7
         4qbIIN3dQf7pqhMaNQKHqDtx5H3KDdkLGYadaupsoIiVKEGiQNt2Q91DQP4RhJOxrOEh
         aXwMwdG7a1WnvqLlPgWpA3RQCcyy3uv/KJ9WislyJ8rd9Vt9gKv4MRnHoKJqYHjGUW/s
         IM8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713799728; x=1714404528;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=l/b3TyHbqvF8dmdrig/EEE1vYugsBYcONSOOklsBay4=;
        b=fv85BayHOOVqtf+dh2Zv/GdLemNW7DBhsYTw7Zc6byy5q2eEU1/+baLS+MkFpv+zAB
         kMUixDZGnVTugtR/z3xVUXJo33wT8/9D06uYNnOvOvEqiQ+1Vsgh2Fvh+X2CQ0BXJG2/
         fwCp7thLPH5WDwCcjbmIeH77ey73UH7o01aAaYgmtSCOJiPtq5trJ2pSVGS6tFX6H12g
         4j0JzQL95Y8Z9hojNK55ePYYsJmoIvIRNOee1ktGEVhPXl1kCJarc2WF2YHJwlLJmE01
         5JsfZhmU92YKqftUq8u/82KSvBcof2DTCe0abg1qOUsZl1G2Chj1h8aPGCKaRJ6U4m5A
         pSJg==
X-Forwarded-Encrypted: i=1; AJvYcCUQ3b3POoV0CJHdD2xEckCbgXb5i0flxYhaM0r26R9X8J7lmdSR0LVnPzTmdsxHnOnXmV3dXQOkKxs25JGBRWxE365jVxTzO9T4pVotp98=
X-Gm-Message-State: AOJu0YxUKlUJeDIkvG29wcTZIRCswmTpqtORXpsLCVbs4JbYdv4H7Hht
	SqXwKi5l1WOd51eKpIVeEK/RYUtxYjy+fgEalQhwSUwTLRopnysNDNA9nG5Xow==
X-Google-Smtp-Source: AGHT+IGrq5h994YyhUcysqYoBdHsltCTYY5SNJMUk+1PBO1R/kpUbgiZ/N0ZWoPFfU/Be15w0EsULA==
X-Received: by 2002:a05:600c:4fce:b0:41a:4819:ebf4 with SMTP id o14-20020a05600c4fce00b0041a4819ebf4mr3407145wmq.39.1713799728541;
        Mon, 22 Apr 2024 08:28:48 -0700 (PDT)
Message-ID: <872110e8-3e84-40f8-a33e-34aeabad9fc7@suse.com>
Date: Mon, 22 Apr 2024 17:28:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC,FUTURE 1/3] domctl/pci: add ability to provide/request a
 virtual SBDF
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Paul Durrant <paul@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: <20231213234345.779722-1-volodymyr_babchuk@epam.com>
 <20231213234345.779722-2-volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231213234345.779722-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.12.2023 00:44, Volodymyr Babchuk wrote:
> With CONFIG_HAS_VPCI_GUEST_SUPPORT enabled, hypervisor will assign a
> passed-through PCI device to a guest using virtual/guest SBDF
> number. Right now hypervisor automatically allocates next free
> SBDF. But there are cases mentioned in [1] when user should be able to
> control SBDF assigned to the passed-through device.
> 
> To enable this, extend assign_device domctl call with optional
> parameter virtual_sbdf. When this parameter is set to
> XEN_DOMCTL_DEV_SDBF_ANY, hypervisor will act as previously, but it
> will return allocated vSBDF back to the toolstack. Alternatively,
> toolstack might provide desired vSBDF and hypervisor will try to use
> it, if it is free and falls into permitted range.
> 
> [1] https://lore.kernel.org/all/d6a58e73-da51-40f1-a2f7-576274945585@xen.org/
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

It's been a hile since this was sent, so comments below may have been given
by others already. I'm sorry for the redundancy if so.

> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -37,7 +37,7 @@ extern vpci_register_init_t *const __end_vpci_array[];
>  #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
>  
>  #ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> -static int add_virtual_device(struct pci_dev *pdev)
> +static int add_virtual_device(struct pci_dev *pdev, pci_sbdf_t *vsbdf)
>  {
>      struct domain *d = pdev->domain;
>      unsigned int new_dev_number;
> @@ -57,13 +57,35 @@ static int add_virtual_device(struct pci_dev *pdev)
>                   &pdev->sbdf);
>          return -EOPNOTSUPP;
>      }
> -    new_dev_number = find_first_zero_bit(d->vpci_dev_assigned_map,
> -                                         VPCI_MAX_VIRT_DEV);
> -    if ( new_dev_number == VPCI_MAX_VIRT_DEV )
> -        return -ENOSPC;
>  
> -    __set_bit(new_dev_number, &d->vpci_dev_assigned_map);
> +    if ( !vsbdf || vsbdf->sbdf == XEN_DOMCTL_DEV_SDBF_ANY )
> +    {
> +        new_dev_number = find_first_zero_bit(d->vpci_dev_assigned_map,
> +                                             VPCI_MAX_VIRT_DEV);
> +        if ( new_dev_number == VPCI_MAX_VIRT_DEV )
> +            return -ENOSPC;
>  
> +        if ( vsbdf )
> +            *vsbdf = PCI_SBDF(0, 0, new_dev_number, 0);
> +    }
> +    else
> +    {
> +        if ( vsbdf->seg != 0 || vsbdf->bus != 0 || vsbdf->fn != 0 )
> +        {
> +            gdprintk(XENLOG_ERR,
> +                     "vSBDF %pp: segment, bus and function should be 0\n",
> +                     vsbdf);
> +            return -EOPNOTSUPP;
> +        }
> +        new_dev_number = vsbdf->dev;
> +        if ( test_bit(new_dev_number, &d->vpci_dev_assigned_map) )
> +        {
> +            gdprintk(XENLOG_ERR, "vSBDF %pp already assigned\n", vsbdf);
> +            return -EOPNOTSUPP;
> +        }
> +    }
> +
> +    __set_bit(new_dev_number, &d->vpci_dev_assigned_map);
>      /*
>       * Both segment and bus number are 0:
>       *  - we emulate a single host bridge for the guest, e.g. segment 0

Please can a blank line remain to live ahead of this comment?

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -504,7 +504,12 @@ struct xen_domctl_sendtrigger {
>  
>  
>  /* Assign a device to a guest. Sets up IOMMU structures. */
> -/* XEN_DOMCTL_assign_device */
> +/* XEN_DOMCTL_assign_device
> + * when assigning a PCI device, it is possible to either request
> + * or provide a virtual SBDF. When virtual_sbdf equals to
> + * XEN_DOMCTL_DEV_SDBF_ANY, hypervisor will return allocated
> + * vSBDF back.
> + */
>  /*
>   * XEN_DOMCTL_test_assign_device: Pass DOMID_INVALID to find out whether the
>   * given device is assigned to any DomU at all. Pass a specific domain ID to
> @@ -528,6 +533,8 @@ struct xen_domctl_assign_device {
>      union {
>          struct {
>              uint32_t machine_sbdf;   /* machine PCI ID of assigned device */
> +            uint32_t virtual_sbdf;   /* IN/OUT virtual SBDF of the device */
> +#define XEN_DOMCTL_DEV_SDBF_ANY     0xFFFFFFFF /* request a free SBDF */
>          } pci;

Such a struct change needs to come with an interface version bump, I
guess.

> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -33,7 +33,7 @@ typedef int vpci_register_init_t(struct pci_dev *dev);
>                 __used_section(".data.vpci." p) = x
>  
>  /* Assign vPCI to device by adding handlers to device. */
> -int __must_check vpci_assign_device(struct pci_dev *pdev);
> +int __must_check vpci_assign_device(struct pci_dev *pdev, pci_sbdf_t *vsbdf);
>  
>  /* Remove all handlers and free vpci related structures. */
>  void vpci_deassign_device(struct pci_dev *pdev);
> @@ -265,7 +265,7 @@ bool vpci_ecam_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int len,
>  #else /* !CONFIG_HAS_VPCI */
>  struct vpci_vcpu {};
>  
> -static inline int vpci_assign_device(struct pci_dev *pdev)
> +static inline int vpci_assign_device(struct pci_dev *pdev, pci_sbdf_t *vsbdf)
>  {
>      return 0;
>  }

Can this stub really return "success" without even touching *vsdbf? At
the very least the public header comment saying "hypervisor will return"
isn't quite right if this path is taken. Perhaps when HAS_VPCI=n there
should be a requirement for the caller to pass NULL? Yet even then the
domctl interface wouldn't do what it (currently) promises. So perhaps
you can't really extend an existing domctl here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 15:32:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 15:32:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710041.1109123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryveV-0004vC-Ql; Mon, 22 Apr 2024 15:32:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710041.1109123; Mon, 22 Apr 2024 15:32:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryveV-0004v5-N1; Mon, 22 Apr 2024 15:32:19 +0000
Received: by outflank-mailman (input) for mailman id 710041;
 Mon, 22 Apr 2024 15:32: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=CuSK=L3=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1ryveS-0004uJ-KS
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 15:32:17 +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 7f82bddd-00bd-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 17:32:16 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5176f217b7bso7554335e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 08:32: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: 7f82bddd-00bd-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713799935; x=1714404735; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Nk4A2yFzwc/5UCWM570OLVI2K659EfpHPt+3dnNXdKs=;
        b=eF1azCs01Qu4gOEvexsMJg5tIs+11NZIrPHAp6MWNAkggrvLibMDMaA18EdXdW1lVg
         DsU++QAWTeIHjxoESeiLYyoqP7j5mp/BXFR64IL52yMkJMn6ij845Pok1g2EdnURi4av
         2KLZ4gWOqzEafD/xLNSFx2jRf/1D+stN/RZ/M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713799935; x=1714404735;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Nk4A2yFzwc/5UCWM570OLVI2K659EfpHPt+3dnNXdKs=;
        b=i+wqz2pdqHsrhjHFzD3n3MhdRffkj4CdpHFKGtDu/lS73aoNxcy5oDby3Va6GNS7Ps
         40urmor4wPAvMVzfkLsHMJBoSDol3siQcfxUZEoxDG5HQCJmJfCCHC3DZ5mmGwGwrN1f
         EkQRmgAjn0NlVdIdZ7YTyraW5DT+J6YcJ8EDr+llVPANV+YCP3m8yljZoAMeLbEuZl2P
         9ZZTz+1FyUVa5d9gxGJDJZhjX6zETGMnHPo0NzqtWZGD8UdWUDRo3cLDhj7zZfBZ0YqG
         FzSHJwSV403wkLXoWuzAowh41/Gv9Bhf2S7LuKO4eFLbMvdoR63QPpAlcXojJ0N9v2AO
         33ZA==
X-Gm-Message-State: AOJu0YyjpZGRR4Oto6aGSAvV2kQ7y1ObvNh/pu8B6QQW4sq+8ejrpI8H
	yMqI75sqwINpDkMO33Q5T1y0kWIAWLDOclWj0vnPU3BvXqn2gcp+igTZaOlELRJoIafZiU6n4TL
	tUBHaDCKKkVVzGFHr0IMm0QJPBX6MRmZp1k6wDBzAvwvM395XK8Y=
X-Google-Smtp-Source: AGHT+IFDe+/qdIzMRt4tu8zVXmZ2RBmZtiGzpT+Mi717xBeFpEihRgU/UgyAJrt5FBye3tytSBNgG+WGYYA+8tf1TDc=
X-Received: by 2002:ac2:5dc1:0:b0:519:7851:b9e6 with SMTP id
 x1-20020ac25dc1000000b005197851b9e6mr8369608lfq.36.1713799934798; Mon, 22 Apr
 2024 08:32:14 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 22 Apr 2024 16:31:38 +0100
Message-ID: <CAO-mL=yvRjqTHO6nunqqizWtfM9Zt_MwQn0Ae9q5o+ic53A5zw@mail.gmail.com>
Subject: Get your Xen Summit tickets today!
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org, 
	xen-announce@lists.xenproject.org
Content-Type: multipart/related; boundary="000000000000555bd50616b12473"

--000000000000555bd50616b12473
Content-Type: multipart/alternative; boundary="000000000000555bd40616b12472"

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

Hi everyone,

Our annual Xen Summit event is fast approaching and serves as the pivotal
gathering for the community=E2=80=99s brilliant minds and power users.

This conference is not just an event; it=E2=80=99s a celebration of the exc=
hange of
ideas, a platform to showcase the latest advancements, a space to share
invaluable experiences, a forum for strategic planning, and a hub for
fostering collaborative efforts.

Get your tickets today:
https://events.linuxfoundation.org/xen-project-summit/register/
*(Academic* participants can attend for free)*

[image: unnamed.png]

Many thanks,
Kelly Choi

Community Manager
Xen Project

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

<div dir=3D"ltr">Hi everyone,<div><br><div>Our annual Xen Summit event is f=
ast approaching and=C2=A0serves as the pivotal gathering for the community=
=E2=80=99s brilliant minds and power users.=C2=A0</div><div><br></div><div>=
This conference is not just an event; it=E2=80=99s a celebration of the exc=
hange of ideas, a platform to showcase the latest advancements, a space to =
share invaluable experiences, a forum for strategic planning, and a hub for=
 fostering collaborative efforts.</div><div><br></div><div>Get your tickets=
 today:=C2=A0<a href=3D"https://events.linuxfoundation.org/xen-project-summ=
it/register/">https://events.linuxfoundation.org/xen-project-summit/registe=
r/</a>=C2=A0</div><div><i><font size=3D"1">(Academic* participants can atte=
nd for free)</font></i></div><div><br></div><div><img src=3D"cid:ii_lvb4303=
m0" alt=3D"unnamed.png" width=3D"479" height=3D"96"><br></div><div><br></di=
v><div>Many thanks,<br></div><div><div dir=3D"ltr" class=3D"gmail_signature=
" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><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></di=
v></div></div></div></div></div>

--000000000000555bd40616b12472--
--000000000000555bd50616b12473
Content-Type: image/png; name="unnamed.png"
Content-Disposition: inline; filename="unnamed.png"
Content-Transfer-Encoding: base64
Content-ID: <ii_lvb4303m0>
X-Attachment-Id: ii_lvb4303m0

iVBORw0KGgoAAAANSUhEUgAAA+gAAADICAIAAAD0hVwYAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4
nNS9aY8tS3ae96wVkdPetavOcPv27W52k+ymRZEWJRK0RRk2RcGwDViADfiDf4z/k/+CIX2yINCA
LYCmOIhs9ninM9S0984hIpY/ROSealedc+7tS9CB07ersiIzIzNjeONd71pL/of/7YdAP4AhDpR9
MSwCqAfhqIhYwiLI0V9EkcMrnJx1dIFHD1nEpeAbJypAGKJvXP5TMsYRFer6zBXMMMPArByJqVy3
qd+jSQd/nQJTQMBrSomEAk2D6sP6j14xwTQhggqwP1f19DwzREjGMCJCMz+dJbOEVioQpxSnGMQz
fxGLiEhKiKIOjBQA6grvGSbSroECBpDi3AaHSKl//Ejnfzmp9tjfRBFfWpKbcaaOYCbjRIi4+UG6
5vyNgBgJY1KL9bLO72Tqpyi+beVcL0LAjO2IOCyJRZoa7848U/6tH4gJrSC/H+O0yMNTH3v+0wOq
iMcCmJghihy2xBCwREqI4B3BUAeUd2LGdkArLJIiinli1XpxAoQ+AL5x8333t1/fpaG3bqndQjge
bmZs+vJzDDb16fQh5spVq5eX5Ze7mzQO86uZb9deuJNznaOdP+Xdnal/dIRYsrFPeag+f+l0vtJc
WTbrtNmkupHLS8eDq4Q+gPjOAxYtxeQqPdMfjstma8NAimbJAHWS3yRgoRw8uZc4Ubf/3aLlNosr
3c+pLRru+vk6ychvVJGDFlkihTPXVyelSyApmkUD1IuoLC9kP3EdtOjkt7AN1aLM0cP96Gu32dJv
01H9g5NefOS2A6osGsbR7m7SbsI8ufbyQhdL2fSSEm19MJzlbPXHDp0rAnC/pq6pKwAz1pujKzjF
KU0jZmzXqW5lChIjXcubLwNw9dyNUfzc5Yb15BvnagekMYYxNssqTwUpcdGVaXYKDCOVp2kANvc2
jtYtxZAQj9q4WpYf8mS1aB882xMP+/gkuSvjxDDiHIuW+7u0WZ+OxHIl5dlzV1Wy6TGja3j95eHE
fXSftpO2SYJUCw+kaNN2ai6qYeD+/uHU9uhTOC/N4ugP29vUNHJxIXf3No6PXOqgrC6kaeTV6/Ty
hY6j3a1PO9nD29a1rFZyf2/DaN3lIZJg3Fqc3nXTgyvmuw/3Y7Wo1CkwbSag6vxpXQH48lWqK7m6
2h+ORh+OKgm0vqzmD8vlyB//ZPiNN6OPyUdr7pMfjYyInGmH1gZCMhBRwyGViQPBSUIRMXMiYiLg
TJyJwwwMEaiSVIZABBMUWQRRsygERUzqqF2y6GwEkMbJYkkM1veoUi/k4pJhYNygSvuS9orbz0HA
8ew3SIG7V4hQXXD5fe4+ZRoQ4epHiOP2J6C0L1j9iLd/RRzQio/+kM0XbH4Jjssf0X3Cl/8egeYT
rn6fu7+g/wy34OWfELe8/T8BLv+Q7vu8/XcMn9J+wrP/gvE1b/4dJJ79PvUz7v+au7+i/YjLf4RN
3PwV/Zcsv8vyO8Qt9z9leMXyu7TPsInNF3b78/tf3rz68+sU7ScfNf/H73RfDJgdfSTvWbQA/d3o
G7/Dk/3tMEYdgh5/yTOwzjdSHQz/4Tbt1s2q1fZSzejvykQqwmoldSXbra23+077/ErHyRadAHc3
ab1OVSUvv+WAaQK4udtPxU0ti4UAd/cpzP2wvVB1TL25H/3xc8DAEsgR7BbdI2A5eTQRkQJBDhdL
PVnHvxJwVzFJpl7zwpiiqdddFe8JATPcfK+YCIEpECIxHWF3p6QkzuF27X8/4K5KCAiomBmGqFJV
Z+s/ekURpglVkmFGSoRAjIRAiGSQIIrMjz5MR6gd8odBnEgB8ZbylzBEwagrcYplNBzLyhoiIYEi
grFHoqKIlT1MOeVkpfjawL1s/2bALXq01cklGcMkMaFu7leGyJma+TrTBGaC5SUZI4Vkooi4c6cI
jBMmiJC7UOkwetrrBIaRmBA3v42zS8PXAO7lhaQyleSdbZ6Ly70UFDPahsrD/N4Ar5gRDdGyxRJQ
zHnNe9oUEqBeT5ZCM9Z3CWg7cf4UuI9T6XtnUbv30rTSLXS51LaV+RNYv0VUjv+hTizNG+bcySMC
+aZNI5XHaVnq7PjdiohzkqLlP9XNyXIuZgyDpUTXqcjpu00hgWhVhoOZqTu3kTsu/UBK5JsC5fT9
RXeNOzhoWLIddt8//m6uECrPGOYKsqswzw5GnOxorB3OmV72n09k3jyIqDilqs7tTY9/SyG5SvPx
OEZ16rz0/TFOmk9qO/GVhIgZIdE20nZqRlkbDq6dUfs4EaKoFJh70oSvCdxjQnU/k08TlaeqqCpE
SImYRJVhm9b3KQYuLjSETEOYiLSdhkjTlA4Wp6ReM0qzaCmar12eWKaAwt1tCsHEiRlNw3ZtojSt
iJMpClBV1BXOIZAMkt3fGhBNgMr/ioF7blhKqNJ1Ysb0AJt2nT5/4dTJticlgMpjRginODiXqxfO
YhLEVQqYkULytfMeVcn44H2eoun0ZNEPg7WteC+PbgCOy8VSQ2AYrPJUlWz70wY/vG2MLBaSEtNE
1Rz9XVTeH7gvl9K2ZTi4qjCAaUqAm4f8CXDfbMy5ctbu8JSOK0FMp+uIIN+9t//+b/o/+dvNy3Vo
htRdp+Zt0iQi4NAGt0QUmcQiIiAiHipEkYRgkmd2EfKy5QylrN95Ka9MPIBNmld/aaM4s6g2qQhS
JWkSRuqdAE70ogVsvUFAnCwvAbZ3iKCOxQvixLhFBFfTXjFtCQMiVAvqFcNt4ZPa54gw3ACgdN8i
9oQeM6oLmmdsPkfAhMW3SYHpnrih+Tb1S/pPSSNppPsBCOMrxs+oP2LxA4bPGV8T7ln8gOY521+w
/Tl+QfddXMv6Z2w/p31B9zGq3P+M4Q3NFd0LfMv9TxlvqJfUF7J40Szi1fe8hbj4YvinPxvNuS9a
jQcbrMoX5i6MUb3u8GQYYjSJ6bQnPoR1Zvi5Qx6idqC7cqLEyeLB4BoGNlubpv11qkoWnQwjdS3A
ep1iJCUuVgpMwVTEOXYjNEb63vre0vES7SpxXsru0ztiKF3kiG1SLGIJ0fPDu4ztePDzN1Dy1LYr
dcUwkgyMcSogvvLobkTJ0bnvuZQcFsnv5ICAOUsev/s6wtG2AZgtA9GYAuOE91SeGAt6O2xtsqca
r1quHBKWykswY5jIO3WLeIcohUlSnEcVD+NBb8gXiefpng8uFhBfNnXjSMw3FYCUyo5FtHDtpQhT
KOvlSYmRmDjldQEIAe/O7ADzXXT+XuIQJUa2Pd6jbl7mUwH0Mu8fTrcxX7VkG4vB4ZDLu7682los
eCVGUkA9WpEiKsSEJUz3vPjpZvi4xIhNVtX7t5BRuxnq9mj48K+5M5yg9ozX60b03FdQJ3V38LXm
H8dt2oHgXWnqfXfP/T+PHTNiLEil/FWlbnXs09DbYnn6pHUjzkmMdnMdr565ww89TRbDVxmSIby7
zsOSIbhztK2M4xl0de4UKi9VzXZjT9e2s9s9M5AYz9R/n1LV0nZ6QLrvW3Wx0nEqP6fEuqepWF3q
Ysk4WIhmCV9J04pzjBO5cnvWIPbhJfcBwPmdUZF+a/3WuqWAeI+ZjVuco+tkHOkHvJf8RCJlHF0+
c7z3lJU/QEo2jRYmLltcRb+x9X0aR1leyhSoPHXFdm1DtNWlOiVEQiBTy/XMPe+Gz9mZ50OLCG3D
tqcfMONipd1C+20KwVTEVzSt7r5CNhfkBiwvdBjSw/lqsRTneKzXtC3jyHnsflycl7PTjnOnRonH
iveost0aME3UNd7xPueGgHPykEFRh3rZ26weL1Ul3UPbyIeXPI2n4xsa9JHOlzH7w7fpn30+/eBN
D9Tb5G9Mh5lfAW2QBSJmPSnhXKFpMtFuCQLiwDARAxETyGwbBrHgMfEmAgkLWo7UETGb1IIihkvS
RIzUewBBFxVI2mwLIGo7VOk35TF8hwjjfXnP9RKMcVMe0deZbAArGozC/wmxB0Or8mtY07xAPZYY
3zKt6b7N9lMw7v+KZ39A9102P2X7U+qPWP6Q8XOma27+lJf/kme/z5t/z/ZnqHLxj3j+B7z5U67/
by5/m/YTRLj+c17/P1z9Z3Sf4Duu/5I3f87l96mveP473P8db/6C5Sd0V1z9QJurj37v09V3b978
p/t/+ZP73/vc/9vvL/7i2ZNr54cUSwUGp+N1s15oHim+FlWZBouPdNGLhcB+CFxe6v1d6hZlrUwJ
p3Sd9IOdnfZFqRrx80JfGHeEzJxxgL9FkHkEZSv/wWUOBoYVpurMUH+CtD1DJO034oeMe0xkC6nM
1J0KKRUC27kihNDDffDBxWMUd8j7PsUjH29ahBgL445IXT2kut7BuCPEhHDKJecZIeNsEUIkxDKw
y1ZQiJFxJCbxeoZxzwxxioCEiM0CjzzRZDORReqKQnkqMXe7BHntkaLTyESvdzh3shA+9VzvnBcz
tZxXmhjLM0YDQT2qgmAGca6WwDhBjckKbhBMHzDuhuSXdtiXdnKjMiFGyWStKhw3Zicxyh07hUcw
1Pwm3mspEFTpGipfdpIxlpY0tTg3m4MSbVMQbcotcURjGssYPOL+pVhX8vc6YdxjsPt7ht5SkhgI
E+v7FCaA5UrdzBHuXlGm2w9Re9PKxaUuluorya/imOkCUAHbAe7954/BTmBpu5DdZLS/hpT/qpY3
s7OJ7Xj3GGnaw+EkgPcy9JYS42ApESabJtb31m9MBe8/mHEfhvx6bXcPmYkZO5xwT0a6iKi0jTSt
1LV0nVSVVBXeS1UJZt5hSFNL5aVpZNHpYiF1Ld7JNJHSAZd/9vqlDWLRmI2t4sQ5mgdbr3cy7qg6
J3Ut02R5isjVRHj2QlWlHwGW3WwGjGU/U9fSdtK0UtWSjGEqx9ta3COm1A9i3PNedJxsCqQkPrMV
MGxtGi2/5MqzvrNha+NgIIuFxIQlWV2qr8r2adcYFcapkCw8wrgDYwCja0VV8ndxeTMfaDsJs9jm
7iZtNxYCKVE3MgWaVpzKYikhSuURlU3PONoUiCaVfxK7v8ckCaiiSogzQ+FoW2k7bVtRJ1NkO5TF
vq5oa6ZAMpqappW+z72l3KftZHWlQAwmM7W8Y9zn20keAk9/sroV3Y0LI4w29YaV3jgM56HJYek6
qbys15ZZqq4VY7dneJRxh/kWo8XJirV5rqfvJN0F4GIpbraPfR3GHdCZannY2B/e8yd/N/zRTzdX
m1BtrHmV/Btkmue6Dr1AG2zCesmUqDqkgQoRiJApRQUvGY5rxu6HDInO7LtBzHMx0iRRLCqTAji0
DaKk3mOCoI1K7WxKTKOI4Lwslhhs1wXVLV8iQn9fbtM9Qyu213lGpHuOerZvgcK4I4w38/v9hNAz
3QOIp31JHAgbEFxL+xHTLXEgbalf0HzC9mdghFuaj6k/Yvtz0ki8p/s1/AX9L5jeII7mY6oV/Wf0
X+Bb2udUF2w/Z/s5rqG+pL1iumX9SwTqC5orxLj7JdOGusPVtCvfyOrl5Fvk9fTbXw4vRz67qAdH
UxUM9pUZd8BVIkqKhNl2pF7ayz2jJIqvRd2xAlkAlgvJHXscSw9XJ22nfl6g+4G2FVG8l/7B+Kpa
aRZ6qNh0P/rj51k4XhZgOQLu+b95Z3+E3U+Aux2deNLos+X9gbuFVDcKTFPhOQRiJFkBpvm8ZMRE
MpIVC08+Pk7HM+xXAu7qxLnTc98LuEd0FoHEVPYbGQBlkYwq3heFj5sZ9BgZJ6qKyhmcAe55iyuQ
8k59di0IMwq0hAjNrO3ZKS6ynDrTsRiVmwX3zHa5B8bBs8/11Jo0b/YyIt+BY833yvsrk5SKB0WG
FAgpEuPMwxlTLKg9Y31J6RC4U7m81YyxNMaseCaYzT4ACTMpGrBigiz8etaaFzuSHUjbvzZw380R
gOadUj4zSWbL8leoq32dbP3PA233uso3FczQLKdJZ4C7GdMkBiHYNBEmy8zccqXNodk3j5HEOBKD
TUMSYbHUi0ttuv0iffC4p7/ozm7zOHBXx+rKPRzapwolwTu8L34diDgv02C+FncwDQLOifcyjjvU
bhkHC1nSsAfuIZjz7wbume/fN9qwZNgxaj99BagW4L4DBKo4J5WXyotTzGgarWupvHgvhxv1rEIx
O9iJnVzfyj5tp56HIsip6/eSykxD8s0euE/mstW1XahzooqvpO308kqdk0zuVr4Y+rwrE2ZMTIEx
FH43GwBV6Fqce/hFzzblsUOlhMg42rBJcbIsJVJHjDQN3ku7kBDxnjAWzilM1naqjimUSTJEpokp
lFea31ZMZRU4C9yT0Y/FFIlIMAmRGECk7cQ5mSJNQ4pFFQP4SnwtIdK11LWoyjDiHdMk45DGbYqT
qRPnz0n1Dt7De80Y4LRYdzMVld//MDGFwqR4R9cU+ZDNy1xTy2Kh6hCRppFuqcticycEnJwH7s7J
dvsA+55uI6lbBSwxDTb1FkPpvVV1Inp55NGFiwuNkVzToKqkrnaI5CngvlxKjDaOZVqOk5mhKnkp
yWj+8RsDrFb7r/J1gXteE+2o+g/W/Osf9//iZ+vn21DdW/OpuTfIKAVyNOilSYcF2EAo6FxbpDVx
QoQg+eBeMFOUMlbwTTby5UWqLMySob3USRSiMJXTtIuIMXqSIEiFtgLOtkO+lC46vLd+QzJB8DXt
irEnDAW3LV6QIsOm4JnlR6TAcF9wfAbuw21Z2ZffBmG4BiGNdN9GHf0bRAhrFt8DGN8A2ETzCVox
vMImLBUqfXxFuEMd7bcRx/Al45e4mvYl1QXDF2xfIZ7mBc1zhtdsPyONNM9on2GR9c8Zb2lWVAva
S7avuP8CgaqlWlC3TRdW3xaL6fKz8fdeDaLui+fu6wP3bPMRlRSMRL3QQ9R+UE2cl7SbzAWnXM59
chjPcjFse7pWEDK7t7MMi9Au1denp/g8FcJMUp5bJsQVTjfFM7T6To//zRURKk9KxLg3u3tfqJe8
lY+xsBfJsHRMwM8lGXnhV6Wu3z2xOleoslPC6VzJ0otc2e84oYOZvQgzBLLFJFBXOEWgqemH/YyU
FzDv92aQo7eRXQt24qX8/oEMwa0c3LU5I9pc2WsRVuY6J1/zV/gNi2nJzYh5huPMlPNhzYLmFUsz
WD942MI3nxRBPRYxOz5FZl9q298le3aKFt3//jmttPNXWY5foveMqXg7QPlGoowjdQ3MikkDxc2e
iLuPrge7aNEHxC2o0xcf6ThaCMSAczgvzVm3XRingtqbtqz67//JRWga+v6pOsuLd7uHHl6wqvCe
aWKKUne6XVv17PT8upEXtR8HmyaLybyXzHPH6cigOPRWt+++aVNLCKYqe4WPcbT5kDOdLS/8/qHE
+T2KK6NVLD2OOOx0mGdy5ewUf3pqYpw4efR+pDaqiraTdtY4mTEMZW+82zc6ZdHMvHvCjGSoFDT5
1fSBjzbV9s7xYbBQSeMxo65FGgAZiYHFhcRQsPs0FhnYZgscecKEaT8ahvFRMc92gEy6g87sksE4
lgvm49u5Y/tKVpe6HVHh5m0CLi4VUGUYCQdOmb/CecM5Fl1x00oJo9A9+RMcbqvruhgM+5G2ZrFQ
FmUU59VtnM4LC3elquRprVfVSIbs4UG1vreTTf7Z0nWiwqa3fLVptGGwaildK5uH24bjEgKHW4vM
94fRXCVVI1Uj45NXOLfR/Vole/5PCUF+dBv/1S/Gj+8HSbhb81+Y9Yhi2epbI5cmNUzYWwzIPFGN
LMho2wZEwBkCHjwYEq1wNIgZajOPI0ieGUxEQUzqhGBRCvsuaBsBGx1REUNN24j4tJ2KOL72VJ4Q
GAfEI0a7AmNaY4YY1QJgXB9YnIU47MEKs7o3bypCj29nJUYk3OGXCJBII+MN7bfY/Iw40n9B94r2
YzY/JW7Y/B3txyx+wPiK4RW3f45rWXyPtGb9Y27+DKB9wdXv8Pb/5faviBuW3+PFP+H6z9l8Slhz
+QMuvodvufsxr/+My1+n6njxQ+4/Y/05/TWrj6kann3ftW8+al9f/tr21V+O/+qn9//lF/7f/vby
7178CsTcInTPHjIZR0UdzVKHdcrT3eLAyTuvdyfekpki2ZXlouyuRWiWel609mv//HmuIQ9Cx+w0
iHtHunm2EpFD9MNMrz54ykef7f0Z951z6o69Fki259ozFm9qLFmKNLWkA2fHEMTPNceJabRpTCAi
p/bfs9ssS2a76eCU6tr/z2AYGfuUOUjNm3zBEjHNltyIdzi1GKgrRGWcCm4TCpvi5pp5E/LQOdWc
ZuCeo/pYEkuQ9gBU5vtmT8cpMgUM1GGJtkaVBAhipWG7x8oI2xWn5Cc+3rsY9/3rKw3b/zu2PO5v
rTO+lwJtRdH5w0kysWOpjCoiO1q6bA90j9pnc9XBjexMe05R2tkHO/PxT0sWPjk9le6IEEKJb5Pf
bW5tVuzkTUQystkkf8cUj1vI/ICKpAdSGRPvxVdS19K0WjfiqzOoPd+x3xrJrp65pi2qmLNPJY/8
kiVqZucZ96qSxcX5mfEJNC9ZM1ZhiJUN+bx4HNTxXupW2lbrWrwXstu3sGPct5tC2D96JwCcZ5qw
TGM9cCARJ+rV4tEfREWcVJU09Wm/LxvnVIZ8Ubwc13FOhsGQ2b40nymCq+Vwat0VrVSEuqY9L9U9
OjgOFoM13Z5xF5WExFQmxmyKDEV6hwhdW+bGw4GfO3Bd0VQlHtQB6fCwPz32hzOHckuyKQwkw0Ez
XKVVRQhlDhx6c06mQFXL4kKdK/yTr4oGvalpZhFa8WGdjTbFThhPGfeAyxuVpqJtaKr9uXWNugJI
6opxNO9lsdLVpWYyq2m4v00xol4MqTzTKGEsccp84/LQTufEkPk9fBCEPPoEdWmqe6Ckz9aqHIYh
80QxERPDNPvZC0rSRxh3kM3mVN72oKEyPnCJy1VSInfmJ4oqFxeajPt7Uy91JykyTdY2UlUyjraL
+HH2Mtkf/dxCTBjNkKf2S4JAt/fG+bqMey5e5Xdfh3/94/6PPt1e9NG9tuonJl9AAEEF6dAr05WR
sHuxrQgiIlKjS6Q1wAYskFEBFVrNJE5EZn7d5hVQ1XbW4J2cQWpDIYntCPsmid9FlQHJHqtYmCU+
gi6WqNp2Q572nKe7IEWGO3AINBf4hs11ltmgFc3OURUQ2hdgDLelL1Yrqo7husQz8QuaS8KmOLZa
ov2IOBHuAOKWLpPuXwCMb2i/Q/2C7c8hMn5B+zHNS6Yb4obxFf6C+grf0r9ifAuR+or2BbFneMN4
Q3VB1VGvmG5Zf0GaqBZUHfWS8ZbN52STgq+oO+fD6uPJ18mu42/9Yni5sc8WfqzlqzHuvtqHF3vn
0BZBncTJRPZ0OyAiw2j1MYM+TqZKNUcpECEGYqRZiHuELXK//l89LyHqHlawHMbuSG5bjifZM747
4cc3CdwzbZzNhcJ+RjNjmmhqxtGyQlEVRDLET4kYJdNLKTEFpqGMe+fFvwu4q2AxqZAXg6eAe2Ka
LNv18iruHRSgswfuKvRbGwcbR+s6BcIM6w+jK2TtqfcPgLvlUCOkyEGsx4N2HVDIebUuSm6fbfEg
hVQDnHDyWKJFrlN5ksmjXnXvD9wfrXA8AHbIVfYqEdl1tohTIx0Bd8QVRuDwlDlGTToO4/Xg/z6w
8e8C7nVVjCdnF9qYfYyQpqaqSAmbZesZvhdDRHyEw5ulFKLgRGM6BO7JRHSnzXjq8fre6orFxXGw
iA8B7oAoIZwH7heX+hhuficNL4L3OC/TXtj2KFgkK+WiHQL3oTfjjDPuw4t4L+MIOfYLeYEVUdH5
rZ4gafUqwnKh+sBB/32Aey4hIHKAOSTXL5KYeecpouK8Zgy3unhM+XN0dH2XRDgC7s5l57yC2mOR
YRg4t0ft51v6Hnc8PPDOK4TItmccLE7EgKrsDG7qpPKSp6NpsPu7jKskmwez4L6a9zDHGwmm0UDy
nFl5khFC3tPKDrjHyGTqHYumaCxDsJSKgw0Uj4u6QoS6yf64sgvR2NaISt0IM8UzjWTPs6pREabR
wmRhspjEuQfY/QOB+/ufm7H7TuAUU9E1Zbt02+a4seeBuxmbzcMrHv12dhZ6Yk44advlpTrH3Z2Z
0SxUBOclThYiGbsP4zsv8+jf3mHlEMw4DBP89YH7j96m//GvNv/s8+FiSO5zk781eQUTkjFPjb40
XSFKuhXupdDWilyYW4KHEetFUh710CJ5iksQC+VkjnkKKGIBkezTVGzRxT/VxEKeLNA64Q0TG12Z
QKok9UFgGUGaSuqaEJjGzBZIu8A3jGtiKEvm4gUI/W1ZSquO+oI4FCAOtM8LcM+38R3VBeNNWWUt
0b4EZXgLQhpZfEJ1yeaXCKSB6jn1c8KauMZGMOoXuIbhc1JkuinYfXxD7BleU6+oL/EN/Wuma9JI
s6K9IgXG1/Sv8C1VR3NFHOhfMdzSLHGeZgWJ9ZeMa6oWUeqOqmm6zeUnCdLi0/Sffzl50c+eV3mO
/yDgjsjU29RbinMoFxF5uGPfVc9SJpH2YFVSZdPTHq9T2y1tW6je0m8jJlI9vpy53/xvnp/l3izu
7fKF/nTlw5WHOAHu54JR/AqB+0zYFA1fCEXql4FyVbGeY1S1rWbUK9mH1aRE2UtMk2UTuc6xmTM3
L7sF90Gr5vqPAveUJOPslCRP62Y4rzuaP4RCfhciwSzmDg9NLVNApPDiO1NpRns6iygOgLsldEfd
eU87R9wr0EcP3P78rJbOT2cFsmexO2lvsjiZwnJReTyAwK8cuAMnth07MiM0NSkcadx97UI4oPDt
iFB/2JpvFLjnSHnnRzuwG+NSFO15N1UE925uP3i/j0bXNsWFI/s/MAvANJ0C92TiH8Qmfljq+tz2
/QOBu84dPpcdcK8qWSz1sfu/Wz8j5eLZhvhO4D5OYKfAPUy0i3dpdSTL5CS7RR5Gt0Soq+zDLWQs
raJOUSo/x6n4SsDdORlHQ4rkJpMxWUXmfY7uf9SMtuFiWZyqH31ZANbz5wcAACAASURBVIRgm3Xy
7gi4R9O6Fu+o6xLSqlC5dQGp597oE4fOHX1v4D5MDJsURkuZAj/UKEvG7iWi1DhYt9ASFTEU1UdK
ZfYeBru/Tf3WUmR9l8aJ7TqJUFWSAasZpHQI3FM0X2nblEe+v0vre4aBYWsx2mZt42DZVwFYbxln
Wbl3eDHVHGRJxkBdM01McyCXFC1OloKlaDGYKqpyKiv6xoA7FIxeuZlnqagr2qZIm6bRHtO49/25
qDLv0dD3Ae5VJZcrdY77tU3BdgE3RFEv02gp0jbSNlKWufe933sXKbfbCWa+MnAX5Lfexv/pL4d/
+mm/3Jh+ZvIX8BqC5CVVG9xLc88QJd3BjeSwYObQDnluUkHC1jBJYZdqpLWiaC1B/ASBysgifkwx
5qAg+ZAo4nO+DyFmezRSJfEGYuOcA8KZdgHBBodlCl900aLYdijmRXWyvALY3CJ5C9jSrAgD06aE
vGku8C3ThliwPt0L7AC4q6d5xnhLHEBIE8vvIML2S6B4mDWXhC1Tj0C8p/02bkH/OWZMb6meUz8j
DoQ70pbY076kfcnmM9JI/znNC6oVvmF4xXRH7KkuaK8QZbimfw1QL6hXqGO4ZvMK9VQ1VU3dMdyy
foMYrkId3VKUxeV29fEYb+STz8PvfDp9eVXfNXIWuDe1NI04LzYrGEtUidk+nzFGDISxxJDRRxgr
9ZKmU8NpCKge+UFt+zlHxFxxGNHq0V1BCvizI2QXpUR2+WJy53gc4H6jJR64LVZVSRJlUo7nCmZU
lTTt3LNnf9DdC8osXX4AV2mMloNvOCd1cxqx8T3LOGYTsAmIiqs0TglIyVIU5+eIJbNsdAq0nYrY
0Kc4s8J53aqr8lLj7L06TXspainpwH1Njhwcd4/pPcNATMXElqFtXRUD6zjtaen3ECv+fZdTHz7g
EQcDN4eswU5FCP/QinNMI+IZJ3JqDOdQKbF9doOzrssGD/Y+Evkr9zkQhGHnxKkZ2T8NWN8Nnd+7
VJ44nh5sfhXx13J5Z1OzR/LDTmFGv7HF8vz5ZsRoOTKJKquVxLgHMZnWzTrm9dpEZZeKzjsuHrnm
exYRLi70fp0S+yA2+aD3xCih7H8EaOpTarl64Jm0Kzla/+mTZicZB8cxWP6BlN0MloLto0KJfOsT
B4yDjTk0pMgwllfRb219l+rOIUzBUKpaaVjfx7opD9jUDMejQ7Bd+qoYGQbqpQJxtBhxtZjZ7bVd
PqOqxTumQFvjHHc3aehtudLlhQxZkSXExGOB3h61TH7DZT/tH3SQJ0IumnHGM/VX2p6YWG9sHC2H
19j/yeG89IMlo2vFKe8RlPIrlu3WusecfEZ88+641T+4Tf/iZ8N3biYJ8Knxc9JU9vwAHndl7gIg
3mKbEq8doEYvTSowbINNc1JLhywowbeDWJwTMynM0eqkZPogp+pDKHEh800TJEEzkLQilx11T/DX
EbBJLYvdQRpFsWmyGCS72foKYOpnmWDCVVhi3BSqDMN5MOI42/R3HSavtUaaIOFauAVAmNZUS3xH
2EKif8XiE7qP6V+ThPGO4Qval7Qfsf0M4P4/8vwPufh1pjeEnu2n+AXdt3n+j3nzH0iBt3/Gs9+m
ec7qN7n9G/pXpJ6rH9J9hAo3P+b+l0xrVt+hfYZTbn/O3S8ZFyxf4huefY/7V2xeM9yyfIZ3tCt8
VbnX3/uD9d1n6n5s/8v/9favP2n/zSfV6+N+UlVScg5K/iYAd3cWH0Q9ziXFnBqMujuPs00ZRmsO
5vC2kW1vq4typB/sxD/HjHG05uJMDzZj6i2M5n7jv35ejs3V9qjdP97FD4fFQYyUB9UeOf3DGHem
KBnaelem0WxRcg7nC6vUdlLVha2p58geU8A7US1RSkJOqCDEUPiSHQFfgog/aNUTjLsZ48g4JJup
l0MFt/pyzYzCdzEZY6JppOvUV6gTr0VlobNQ22nxu42RmMSdCwcJO9/c0xbnN7MHhTnMouJ0Rnha
FPBnLOaHpGb4e5TKPHlWUyOcMu6ucjvNz5N3l3P/93Tbzh984tS8gj62oc0xpBApafCga3FKikVV
mLNyPOZdVyD+3JATjXsyMSQVrH96+zDZOHJW9f7E8z7NrqnuTTGZcRdhdXlmgOyv8SGvPf+43Rgc
xzOZfxyzfzkPpDJGCFY3p0FyzBgHu7tNdXMkgt/FpswhVvLA8k6aRtSVUI9NI8tDFv/4QfJv7yOV
US3xQL2TyktdyXKpbtbIeZ8D1OyNYLsbDD13t0lEfHXaiHGw7TohnDDuSTRrst/Z2997xn5wVB77
w4NXJCSk8FXn+lLmqqdQBtH9rU2jOVeyRGXZw+11qhcOiCG5Sg8NRyrs3sxj4SCBfmsmxcrqnFgJ
tCDOy9Bb24lKiV3jXYk6ulhKMpkCbZtd++xhygLA11o12h4n1c7v4avv9j703IPa/YDYecZ9s7Hz
eQze42ZPzwm5xMgwR6E2Yx8KQwByQMm8g8oTyNdaRJ4+y0qamxPGfRhYbywndDtZenaM+3/34/DH
P16vtkl+avaX2JfMWZMQR/XSqucmNXZPvBbrSzAZ8bjnpitwMMKtSCiSSO3QzkqIhVEI89Vq8EX6
K7s4eCI2SwA0I35BTLKLFIAzqUwEmzSHkUGQJonby2YQREU7j4htenKHEpHlCnEMmxmoKIvnqGdc
z9EbhGaFq9jezMBdWLwAGG7Kr66iyeKZt2XNU0+9Io1M9yCkkeaK6oLxmjQAxIHuY6pL1r8ECvSv
r3DLAuXHN1Qr/ALXlBA04zXNM+oFzjO8JW4Zr2muqBr8gv6asGa6p17iK9pLQs94y3BPVaOCb/EV
ww39DSR8jUDdob5pNhffGixy8Zn97uswafXmhXt2pc4xjiyXUpysBCAGc076OffZY8UScTLnz2B3
ddJvi3G1HFG2PU1dPuhmy6KbP64QAnf35tvT9GeAGcO6EL6nwN12YWjckxvTw+XFyoFvUOPu5NDI
ewjCBEQIkWEkRCxRe9ycgTJG6lok62TG8zOvqrhK/IcDd2AKJWjuaTHUqd+R6HMwnAzHsyomPREJ
OCN4V9yNd8BdKCk5chYh1TNtyh8ix43ZhztMxUW1RDdPR0F1TqYwK1F6nvh4v3rgnpM0PdwqZENw
AevHwF3duXw6gneHrP3fB3DP5iD3QAO9O12EMBV1RCY7bBca0sghgJ6O4JHFuHUlMZxKZXIsAuc4
lImEydZ3tt1Yt5DHApyHYEPPONqwLbo9A3cS4eosNLMSqC4D97aT4m3zJHCfJhsHwki/tRAsTiAz
NH+Az0Xk5m2cJlOZFT55Jk0lHsgJcB+HwlmHQNPI7o791u5u0zCYPyfmOfekkifZHOrRuydO+ADg
nl9Cjm6ZnYnlqQvvj/pKNmsbBht6ixF1ZVuSErc3KSv03QPgnuyc6hpCINnfq8Y90yvZGrnLs1sq
Cq4SEWnb4sCas1M7L3VbXCmaSoD1faoanfoYJstCo929pjH1vd3dpiwZ8tUeuI+jXb+1YbBxJEzl
XrmBU29xMpESuK3tRKRMJt5TN7JcaTIZxrKv6wfSzmCbn8tL1bi6c3UtXXvOrPFNAvecxu5hcpLs
VqucAe4pcX//6O3eo0UfVh9jj2OEFA8D8rzHZPz1gHsIZct3AtyniXFkGAp2PzxrszFN8r/+df/b
bwb5HPsPZq/Z5bLSiuq51R+ZVGI94bXYVsg6W4e7MvcC8RCxW6Gf/1ThrpBs9gmkPvs6IQ5pZ58u
Q6IIWaEnuwyYxT81s+e7sBPZRRUsiRTZjEiVpDLAxnnlE3SBqNqYYyCIiOS0aqRk/VagiGi751ii
vymrFEL3DBG21/uvtHiBGf3NvHAr3QvUs30FIAZK9xKgfzNP3476EjOGa8RIA+qpLxDH8BaM6Y7m
imoBgekGS/Rf0n2EXyAw3pAmxmvaZ/glzjHeEHvGa6oVvqZZMd4wbRmuMxynyTmk7ulvAFyFczQX
2MD2luEWVyGKczRLkbBYrZfPxnSnv/Eq/JPr9OXK90vdbCz7MsXI/U26uY7OSVVL1ma/s6Ro7uHE
Ljgvw8gwUFU7g2uOLSM5HGKOHpYNYustVXc+/dm4tZ3z3jFwT2WXJUdy9nPlmwPu2R3TDoF7quqj
JejhuM/YPUv9SqodGKdsKRaBMZQQ1yfFefGV1rPP6wcB9wI05XygN1VRJzlyeSYhMinrHT4zr4J/
zIot5aFU5iQU5IDTpl5FD7UxZ4B7Du5Wdt6Ue+3l1JSZdJe6+QS4Z6n9kx/vfedcmRNnZpO9m5Hr
2bm7afCK2RF8b+oi+HsI3PM8c7gV9o6mmSOjH7cmb/D8zkQzB7B/V4CF/cGnl5KcCvtMcIk5Kr9o
US2L7iNCiCsmETgNEXVY8pVzFz0L3BFiwomMo429re9Tv7WUqCrplsqD4RaC3VynfmPTZGEiRqbJ
ptGG3vqNZQn+Q0i9ex27iKIZuC9Xqo9j1hhss7a729Rvc+pKi5EwMQUbehsG8/6ICM8/qUrKYb8H
GwaLOTy/SE4hyUPgHsxExIk6vJPr67S+S1n4nsvFhTp/2nHPAvdHP8ODP34QcH/iOo+eVCZVmUYz
I0wMW9us0zjRdjJMoCJOvKNpj4A7SEpHPSoE+j4TGQ8YkHkbOQXGyBRLmraDKf2rA3coXTfEI+yr
KvVC61qaehdcP89a0rTivWQBYd44DYOpKmDJXFU6WxjTNKQY8bVTJylaXR0B9xDMxFWdC5PFYCla
jscvlIHva8m5EbLQKyQMKk/IaY8OluqmwkTU6z5zp6EqzkvTPLLl/nDgnumVLGjMMR+hWGJPry1s
B8Jsy813MqPvMc4D9xN1e1VJyTLBNwPcAXBzNLZpsAPXo28cuENRuj8E7llen3fyRWorospmY//t
m/gHNwM/NfvrAwc/h7+06ltog42ENxpz6qEMrxe4j0xyNNat2I1IKlpxWcKqeJ0xYOPsg14h7Ty4
EpL9U3WG7EWdXmA6IDbT6oJUhgomRJ2RtkmbRLCg+SACzrQBxIY8knNTO9TbOEiKBevUHfWS0BN6
SgooR/eMGBnv5x4sdC+QDNxzP0ssvrUXtQuQaD/GN2xfz5ExNiw/wXf0XxYlaxaylyMTJGJP+4Jq
yfCaNEJkuqN7gV8S1sQtaSKsaa+oOsQVNN9f01ziHc0Vww1poL/G16hSNTjPtGa8J/X4BoG6Q4Rp
Q3+LGb4Ck6oWXzvZrl72mOmN/ONfDEzul51rLmS7seu3cRoN4/K5y3qN8YE69GHJxueHjmT5oKhs
NhYjVSWVl/WWtpG7tV0sRYV+sLt7w0v1iMorBaaD/AkHU86sFZbHiMNHisxS469ZLO6u804R2pk2
OHcEwvIklZeuZGWe3S0bIrhKnRN1R6KRDy11jagE5yyVtWFuUAHQOeBSDt4pc34lkRLO8hsvNoPO
XXbSvMVSgMwnPeSKctTXr1n8jNTPNipHpjs6aMWLt6n3SUbM3vFpvCOEEupY5xjtZ8dYTjdz0rHy
+p1TzzxtC3tncXr+YceJaEgF7L1bZM6mBPt97zt16k+Xpmbobbs+eozunDg7BLu9Tnmw1I3sTHjT
ZHlzO/Q29FZV0i3lrMBa5pBNQFaVnG1SCLa5t8Og0VUt9SxsCMHG0VLk9jqtrvRhQJh2IVncH6PF
aH3PYqlNp0/EkhdhtdRxKhLSHVZw7j0CzvxDLU0r6wOuVLwkiJHVhd6e07jnUnJL70LKGMDOU/Ow
TIFh3g7lThn32yfqc0EJP6iY0Y+Mm5TSCWrHafHf2MWMjzm2kiPGOU2Hlf2qr9XPDM7YJ4vmK43B
nBeQXbiwMw1I+FrVMfVJvdStukoypgzjHlBmMWF+dSJkfXyMJRNz2+BURP24iTm7yjSkFE3Efc1o
9ztn3D3/s6PlAiJ0zSnFI0LtGSZiZJj28ayeSBWwG4bes1rlfZDc39v7pEH9aiUFMytxV9Mj7gG/
ktK1slwKsOltsyk3miboHj0lTPbm1YEAET75rv+tz3sC9rdzJcVfmFshik2EO0nbOQCxITXumWkO
oj+Q7nN6VBMBj65MagwskrYIUnxSG6RENCkh+0xFMHMlRC2H4CuBsFPO4M1AEhak5FIVpM5dVmxS
EXLsd60jiI0lv12JM+08lhiHss4IVF0Wecw3owjcbc7zku8n2aHcSsoVEqHHd2UNMEgj0y31Jb5l
vAUhGcNb6mfUl/SvQAj39F/SfYvld7j9W4DhDdvP6L7F6te5/o+YMd5w9xNW3+Py+1wPTHeMb7n9
G1Y/oH1OGrn/BWng+j9x+Ws4z7MfcPszxjU3P2Xxgu6SumP1CevPGO+ZNlw8x1U0C7xn/YrtDcOa
xQXqcU6urthsnn9vs3o5vPnZ8p//gt954/7NuPjT+RN0i52aUd4T4IYhB7Y68yd1NAtJkbc3abmQ
tuHu3jIgvLkzE5rHozuYMfZH89t+ytmlseRxqGRz7I5SU/Yo394R3fXJYoXj+TpFhQybUyqkUYby
Iqhk4lbE6TSk7GIRpySimRT/yiWTuDlb9X5ZclLV6qs945W312MGyr74eHw1d9j3KUXRfvA+LRbm
O+uD89ZaPFN26j1eeORgDfsKxelR8Iqc4zZnIlCHd6jSNvTD6S1CLC2R2RaxHUq2rMdKpuUO259D
pJ2UHJ4lNyamklZWtKSjyjaQmBjGr94HzyYmG0ZMSyJbC+SJWYTKYZ4x7IeMfzp9+ruKdzglHK+O
6vDn0pHc3SYzvJfV1VFyhw4BxsGGbc5RatO1Na0sV2dCtbgZuNfnkL0Zm3XqZ0+4qpa2lQcOrGLG
7XUKwe5v0/OPTrPQZVXJ4UNNky2W+Mc3lm2z5xHVSwoFlv3/F7WTE7rN70FmXj8ma2ppahkeSaaT
O/zhJjazGyclp/LJd6lc6cY70J8S/YgITfXVkzHljHhpjo7vKqlbzR4d/YBztA0xmnMiwt0mDWuu
Xu673NCbiRwaXcc+xSk1C6dejDT2yZI5J9kn7/B5Ldr2NoDUnSKISpxsJOXMoICvZRosewDveJ+6
Yhpss7aLS6lbSca2Z9vTNnQOcBm7M1ucdnuMr1ByntRiRJJinMy2tWSFgN/0LB+ocSrPMMFsLQmR
i0WJQHC2ZKuvCJeX+3f7jTouZ7zuKknnbN2/wrKbghadOOXu3iim8g8f9fMZfmVuVZSl0xtJOf/X
DJfdc/MXZPQc3wojKJo9RZfGxXydLXHMYXxB0cUMuExymIGSDuxg8hez4pNqJa5M4TJdhl6yA9UI
+ISAkcZZFAviE2oWSYPN1iWkqTGIIykW7XxhxRJhu0dvGdwfgTw78lI1QxJxi29wLWldGjO8oVpS
rxhvypNsP6O+YPlt+i/K67j/Ce1z2udsWsIGjLsf01xSLei+zfoXYGw+pe6oL7n8dd7+OXFi+wbg
4nt0L0iB9S+IPTd/x9X3cBWX3+XuFwy3rL8kbFi8wHlW32b9OcMtt5/RrmiXqOPiI/wt92/t9jVV
K12TX4t4rXz/8Q/vtje1+8nF//yXd7+7rP7373Zbb8vLD4ZoWYZetfIw12ku6qgXut7aomWabLmU
m9tUteezLOWSAmOf0vG4LlIZ2+moDlyaTtZRO0rcLTsnYznYjZwu8I8PnF1N20cF2ddW0sMETKdX
fXDxZHhX8FCOdBsCmKibsaCIiOwchFM0deoOoyI+vOa7wkGOk0yj5WAykAWaWteUOO7GOOUAQMU5
tQge4oOIMWeecBYOzVKZFNMQNWbk/bhUhkxcUTyGC7dal5mlUMupRPnMAXnKDH7A9Dz58R5RlAht
UxzsMo00zqbJLIDJOb1z9DTnmA6QazHn6VGsmzTT8GelMpm5Pw3wHE5oJxGhrWEOAZTm9JAlW+Rs
j86uisK5HcuuezxeCuN+0Kv7EZvzXlnAe2nbMliqClWmaTcdl/3MYyW/zGEiTHbWOTUzqeu7oydv
2j1ffgiDht5EePbCPQxMDjgvbStVLSmSEjEwDFbVhx6fki8YIjFY2x5EmRSYGf3Z5CWrS10s9Swr
L0LTSr81M5wv3P/htZJxSNinWFiQKTyQyowGsrpQYL21vBJJNisbi4UeCuX3DTjzy5Pf+dzp36hU
JhczptFERXceTiI5F1U/mNNTqUwWjhfJ3FyyD+7J5TcDQFvT1kWRtUubWldzyvckOeOP31HvRx/8
3Y82xZJEosqunDWi9EOJOx6jvX2Vht66pd5dp2TUTU7+nncshLA3QIcxxWAiJfJGDNa1cnnlFktN
4cg5lWSrZ77tVFXG0XKicldr3kLvhPIxWNNIzv0k84Znc2fjaOqkrku4yRAJUZoK57BZt+Nr9ZUc
qo8OH/vpjpASm36fbLtraJoyD+R/cz6NkjL8ZL2QEux4fyQnMntM457Dt69WcjgSt9s5SPG7yrmR
8j5FXCVhfDJE77vv947iPdU8ur2XbGUyY7E4L5U5e6+LlXqtfvPtoAvq2lwHEO8ZvxTbJdkV/Mqq
j9EGBNsQX4ntEs+3uBcmLQhi2C0yYJnfbNAL24nabcict4iDKsN3EdBZn2Y7jZpkBeAcIzJK6VgC
Dq2MLJIpAQ1FJGdOLcqZAtxVtGtAbeiLOQmRqqJZYIn+bm+F9x1VSxiYhvIJRGmfIbC92X833+I7
4sS02X+p7jm+YfN5+TVNdC9Rz3RHHIqiQx3VAt/Sf1nsEdM93XPqJdM9sQejf0PzDPVUF/SvkUTY
kCaqJVWLCsMdFuivqboMhLFE2BAHxjV1g0LVocK0ZVozbUs4HeepG8aeccvQi3M5So9UghPnwuXL
waJc3MkfvQ1+5a+vNKmMo202p/nIni45UmQKZCf4/C9PWVn74CvptywXst5Y3RXUnhMvxmAxlFPC
WGLInNF4F+CeDfd6pCU4nIwKapddhkspeP0AtWMPNC7vAdyL4Oq49lcA7skKcM865sykOiVESXOS
I6fFBWRH8KuXysvXAe4xyE4977xUTTEBA+n/Y+9NmmVJsvOw7xx3jyHzTvVeTd3VQDfQmFoQIAqg
sQGjIJoJTUJLGXYkl1qDC/0V7bXVSthoQaMJMBmNJjMCmkg0pB7Rc3V3vao33CEzI8Ldz+HieOSc
efPeetVdBHGqrOq9jAh3jwgP98+Pf+c7wDCAuYzI5vM2ylTOxzjNh4A7AZXl/kjFzbPLhyJaTdiW
GtDu1NJzptHvwlziyA27i64o78Ur/0Dgbn50WxsYZD+0b5sF9szz+jYLlYZtbEQQcgYxmPYAd9tc
3pKmHrZ9sWSiPUbh3XtPlqnKnonjfbsNJ+Ax2xngUYTUuAccCmoHylrFliL2InT5vShU11DRVvNG
n6gFp8oOx93EsPtOh36jkXW7gsvLkuOAGLVpqTih99VIgHMj1XhQFfQLtcDK5eMowD3q2fn6kIG+
07trsT3V6RlPz/lQaOyyYbacIyp+8fXRQC1T45pZZKcItnTch0HrmkOgnNH1qx1n00FrJ7SXhf8f
C3A35Upeg1wiZXshZ0B1C7h7T95tf4NLra31QkzOpRllE7faYatZJsqjD7508gcBdwIT4MgHDhW1
NZjR9SAu1B0RdHN1ntoJ+UBVTVVDI1ol56lbiOSR7t/leupDxbEXUn3jqXOehohu2JOAaZFYgbqh
usLQgTz5ihRIgzjPKhoHZcL0jAH0Q1GVAeADnKfJxIJWVRV1RSlREjQVvAeYXMVVoPqQlPBR4B4T
Fl3RHmibbQ3Q9WtN5151R3FopPmtP3jTs1fZA9xjhHOYTFbV9L12xpr9xIC7CpynuM3Gec3APSVU
gZbdMgRadOoYbfsw4P5sgqvIb2oCQz9CfE6yWHV0N0F4S92ZMpNG5Fekd2UktPhUvgJsDu2hNwQh
AsiBz8DN+JwT0BeyOzy4KpgKBBalQm03Ncfi4ysyIYbadYVSqCopmRBHigWBqkxeAWjvl1MqVYGC
AwBjGRqAq1p4b9TpEmBKQDWFq0YRdy6AvrkCUII+rfrQIEygMoq7A5pWaZiWaTvJo5qCPPqXAABF
XqB5ClchzpA7AMgdXANXoTpD9wzIgKB/heYK7OEChldQRZyBgKqBq0GKeFdq9wHOoWpBjDiHDBhu
4Uynz8OHktJ1mIEdHINAoSVk9IP2PUTJM1SJwIEAadvUTpL0/Lln+b1X8v3Ez4QeR6NVgaQVcLdk
bcbNY0/O03ymvib7QIZOkwWAJcj4757M7qO5L/zDN3QMYKAtf8zYaZdJbWhM6ENMK4l33X/V+Jr3
m50mG7JQZPOE99C8Dtyhltx+q9Qt4J6hSwHsZYkE50qyFRte2VnmPMuuYgoPy27/GOAOIlEiIl+R
D1xVWKZfNNS+FGhfv3djZh8ENFaCQsrHX4A7VJ1n4+XbPOr8qgwFVApCLWs7Lqsp9gCvQHzbwDuI
kUZsZyAj5ZIHapzsHwDcLSrU5uC+v48vTiAiNzr7128Z2GBzFl1LI2ZsAncObogramx5AlqCJtcr
sxiGGMvK85AZFdjEbbxD1u223TuV5LUsWobaiYCEuoZziJFEkBXsoKsOV6jYY2QegM09B0E3oK4K
6iLaE5zqAzFjfqeW08QQcNVwVa3UqZa9JEXEqFXNIRy8q+VvzlPdcIoQwdAvsXs5ngWkGywUy5ID
wHu6vHK7/v79zy0hRmUuXJp1TEhUSKXLHpUT2gkTbWdOtVTEzFh0RZDOHoX3VNVU1+ul7rnTtb98
GoE7OwJZ9qvVQYvdVEDyNnA32eB+jSdjya22XoT5Jqv1QJd97WAmQ4QFu9OKGHYKcAfKMGiMNSIM
EVnQNri7kdmtNBM+u+BQ0aJDFhKQ9eQsRcy3nTABkrXvsqqFPJIkfeOpiwn9UIYsxnYCJiE2wol3
1LRlb8eYGyrqHNoJ2cozpbIs6aMJlBERsQMzPnomi7k2LQdPw+iVrzzqgFAd3ig7DNwtOSuA4DcS
2R661lZNu7FYRGVn1UykeDFy2gPchwH1GNCiivl8RQdfVlZVbXnYcgAAIABJREFU1NQ0abmuwEx5
DeM+DrgD2Kfk9mDgToS2oUlLTWOZDTfaBsDSyPMyhEwAoqZ+AHCfTpkI37vyb3d0qVkaWqrKkEP1
VMNlAUjphtIrwphYhtsSn2p/1VvCrLw/8qBLuApKRAQdgH5E5BWoKl58mybI/mFIScZEBpuJ1cJT
i3DIiNoLpTmNUu4EsLJR3gdXlCJBROBJALMOgyZZ7phRY2otPUzeiwAw2guwwzCDpLGhjOYSROhe
jTMWwTcIU2hCPxJjoPANfA0VxDvzukAj6qdwYYXmNYMZ3pzuHxU4Em/RXIEd2GN4CVVoRO5RnyNU
EEW8AwTxFuTgA3wDKOIMSAWms4fzcAHxDhIx3JaMoUyoGqQeOaKfIyeECprhmbzXOGBI2mdYAlRV
cpG8OMbkLDmv4SX95qs0zfjBeZUPIeh7bRdSCnJSX5FkhJr6ueT4YKK4+8I/fENH7+zu12K2DFpd
kyVZTcmF+FVOLX3xUKPXC1cd1wPWFEfmeCCCbXoacM+iMVPOwMgP2fvdG915yYKgZRenIoLhxuBF
LkLp5D2FLVXEhwN3ZnJcNvpDWKGulKC6obpo0FCW8U8HREgAKJAShgFZ4XlbVcZKdM502Wnp7zFS
9XJqX2a6pTF6ePmyjNSR1nZRdI+8wKnA3XI0AkWU8/5hneAcmRd8HRwTwbkyqVvKKnuDKcE7aN4A
7mCXZbVasDyLWcZNhrXKTECmLBKOtk0VSUp2JO/GlKXjkzhptlpbMbKDJDgqs3uMBOO7j8unZVJb
UPnFKPjrlP1FvyLo24m7wD0EioMuFhoCT8747IJNy7zkjhknMzMD7s7jiIDj+m/EqM39mdaxe3lc
ptpkf+27krW+qun8itf79nHgPq4liqbk8hHaxkVdUdvyZMI+kO1XmMh3ThvA3US1RDGbK4C6oumE
Jy3VFQE0n6txHv5jBO4p6d0dJhNqGmpbcp6gZInum4YcUxw2gDuYq4ps38w51BXqGiEUYLrxLhQp
F2LM8XYQwa9jd94ciu+/k7U6Fd2AEBA8bm9EBHVDCup6eIeqHvNdFDnwkjnVBzJWlQ+ceo29nF04
YlouTiTrtsc9aZLyUkxzjIChl3ri2BEUl2+stqS6vtAIl2sMYzl6hxhBZBwtsttfOb+P3OwB4L5E
7U09Smbdd+3S477+TaliSGjrFQfSaKvBI8Y9wL3vMZkQgGHA7a1u5E8lVBVdnnNTU/BkH3VVUdsQ
dNS/2mzeA2zPqPsw4N42dHHOloTBOQRPdU1NQ8tOYtZ1KgI/7p+nhAcB96HXtmVlfPOpF+J3svjP
ljio6qmSJWLvEJ+xEV2Ko/0N9W8U55cO0JesqQADasFX0PGL0zkhEhGU4Bpg/dWnUmAhOWEEKqMD
fkWdQXHVlwRMmSFlJwoErgWsUNI4ilsTKBAFArH2PXRUqHGOmimYsbgtkxwBxGgvAUZ/MwICBjGa
C8A87uO7JEZ9DgDdy/EtE1yFMAWhCD4CkAH1FK6CCuJNccOnGZoncAGakG4BgUbIgOocvkYakOfF
Nw/At6haSFeI+MM1nIev4WtARr/7LZiLl72qMMygGXEGNVYDIbSAauyRenRz8g4MQKkOEEXM6EUT
yCk0gUBBiLUKen4Z84LfeSW/+3y4qcOzxwVK7b1IAYXzkDzGBj/Q3Od/r8hB0k7s0RZw30D2m+NN
gSDL6IUdfdlds/OXfQZYKdIDG8BdkmYljMH+zHu+e9ttN8gOgihSBhfuAZluY9bCO7faV0lz1hv7
cOAOkFEs1ktTxRBRVyscb75YokKWoKPCMqbuaeV4tx+4A2BCTLRCdbQK2qOR9aQyZtRaBoUTUkRe
80wv5d4fAdwdo64BYIij3NgJwN3edRxTfQEFYSy1Mo19btNVziAoRNeBu8DZMy/JawHvUVeFjLTm
mCQ3ivnk09icWYpY5Ioz83Dgzh5ku0BamFEiVJgza69jY2U1PoclijIcv6Ix7APuAPlAszs9u3CT
KVui5j6WnYe0SYKCZXobVBRtewh5bfcCc+Gb0PvQa6iKeiMBzMtpUm+vBUDd0PnldjDrceBuewXN
SOyh8vkUTGYxEszwgZqGQ0Vdp01DmoWwAu5E6hzNOw2ezqZcVyXt2qLTxQI5ab8QHzZ0J3fvdPe3
o4/mZwHcF3O9vRZDaURkHoeqorouG4k+EIm4sALuzhMRpYymLuKPMaHvkTNyKkPfslL7dip/XzsA
oOS/S3m1vn0EcLcQcCPJhEChorqhrgdzcT87jxDAzhRmiMaY2pzRLbRqivjjxZUztK2KYZ7TIMHr
uhxkjLKYq2T1gQFYzs5uDl8RgYZOjCEDlFAcJjQN6qp8/iauJYqLC5pMiwyLeRaws7W795ntHrT9
AaDEAp14rTHl1lF+TFgMyIKYy15K8LDkr87BPo1d4B4j7u4wDBuuDe8xndK0pTVsOP6fUFVkiWke
D9z3nP8A4H4+pbbdt+Qm20BYJRoHkDIWnaYM52wL7gHA3TYV25ZBeP/CfffN5myQNyrRt4gAzJBe
ULoeBdoJbgr/pnIDsnC/G8iNkdVBDLpUmpR2aobOgFERgScmLDM+8DROvA7wBbUXkswS9OvaE2CQ
1wK38siOJ8ArVQKQxnFL19B/A2LSLEsxBCLAIjNA6OagEcq4gGoKAhY343kAeTRnAKEbkbeV0l6B
3JinCWUiry/BDt3LlZomCNUZXI3uOdQEajLYwbfwDbrnBVymOVwFV6FqMbwqE+dwi6qBd6imGOaQ
HlD0d6P4YwUVpAWgGGYg83gRqgZxAUmFJOMrAPCeltsLfQcFeYIqecARkmqC9oBp5wuBQUEJmLa5
qjM6/vXn8TM9ftz6xUPjuQ/0chGEmmOvj3Plu1/8vTcA0D5+bek0Ul4WuZ1jm+1bJtBZYfejwH0Z
sEJj+sDl0Q2Pe5S+UxAxkyq83/7uFYUIYTrulnnUQLzlFrXyl8n5DjZpX4NPAe67RQ3RpqWxhYoh
lpz2S2xq27u7/EgjngKIvaRB6oYOAXcipEwbsEyKX5ktoHOXIzX61wmoQkkIBVpba23e334b5xWi
4vNOa9nj7x3WzWtiz8R82/Zkxh2SEbxSEWokAkQJW8CdFWRLIEtOtIyvtaAue9GqpCiFpwMc992b
XoqyM68YLKcDd3YlWyoBdVX4S8Yu061pY+l6Hzc9gl91iSygTe7QLnAnAnuuW2JGFloXqSg1KGIa
OWkE52kxV1UU/H0CcDerakoRkjH02kyYxiWHVXH9sjBkdlE7jgL3GNWSpE7PGFTI3P0AEVpeaAs5
W8p6T01DADQJQEvgDlV2FAJVoSjQdb3O5pqSFQHJ6Du1LD/LSMdPM3DvOr25lr5ToETm2JMhhndU
QBUTETRtAXd2vqznzb+7dExacEVJqwxTIiqhQcXFcBS4AyVERyxKZy/Z7+jtp4QhFXB880pSxPSc
VTEMazxvKhUFj5xpySrMSbtOiSkndQ51w4ahc5ScFMCujnuMpFKyVqmirjAMGnu1FNp1Q5YGuB9W
y4atO7I83ADsXbQtQzGkEsL7IOAugkUH3IvaN681j49JdYmUFxrXhpGUy96pJRe3/WoCrQN39g4o
67265qpCXVPT8GRCbUvHc64VzDMcPOF+eyxwP5tSc4DkZma5TpuGLCGA3VTwhebkmCSeCtwxRtRY
bqaF12+9GX5yWb29QO1FpiQKuil4OjyFv1JztCMhf1RSqIKBAH6iWNJgInTUfScHnoIMwBjeH0AY
d8IDiBRkPBkwaYHUupoZAVAo52gqmKRUVGciQEkjr1AJg+sMYvR5TIRKBKK2gfNIEWnN2WbA3cBx
qdhyPp+BgP52FJ9RqKK9AgFxPjJtFBJRX4Ed8oDUFYmn3KF90zol0qxA/zgrPxqvZkmYmbwBIrga
3QtAAcFwi+oMBFQT9DeQDCiGG/ga7BBqICN2gLnYBaECCKFGWiAPyBHDAqECKYgpBMQeWTTGkpQe
SgwK5k8lRIfE5MRiii0BVnA6mSSAzl/hP7/OyvSjyUPA+xEYxRv+0weZt4BkEh0Dk3eqtIBmVUo7
h3asdCUF5a18ons+PxoHKAJIIPGYomSO4ryzvdotsGuova43yME21uiSv06rTc+Po/94iqUEkeKH
NrO9gmWziVAHJMEQi2d33UYuzZ48r6rISdYXC16hiWQsgUXLoCCAqNthkEMAkC3JSQmAU0VGGRYO
qnatUBSwWgwwkyRAC6ty6+hGzWuvhkE5kopWbAqp0LwdZQXAmzTQvucAgDVD4byJ12JLLMlGvEAI
nnK2JJ3kSffLkq33OkPSitQXsZQAu+r+yWp1p0pIcKLsCAIT3wIImdzoHVoVlwElMDGZc3716WhS
ZsprQ+tuI0Q09VlAMgZk7h1UVBAHRMCRNrWKYugyZLfAY9NkU5efu1naSu5j4KaqNQ/3BPJsQYSc
YN7xPOTlja8Y1LrRdfOADDApk4romtANVNXyoPXZeFP78hkDMWq8VpN1b5oHSsEeGiBF7b87r/ae
onb6HWB8s077bn+nE8FspvO5VoGqak/CMgA5imTJYjP/PnVfQRqQACY1vYrYq9DxOMU17A44JQBD
p3z4ZveisyTsVJG0H4pXLi5ElBxIhqJEtI4ivVIGDR0cqYhWHhDxDO8RO3W288/KlZaJds2YYKKT
DDFvx7BQz8ojaM591ois5EBOJfXbt6BKDhQXKqpkre2UAQeKA/AgbXKCKJx16bjJVNn3oNaemDVP
F7NVaOJWPl8ockSOIKhjVVHafDGaJPD2yAyFJuzi2N2WOMK01qXe8f6V/XHbd9bxK5nJE6XlguFo
T1u9+bGNFa/SwC/Ne22OLpoJOr9dDW7f8vjWr/hfufFf+VF33gg+D/xYqyQmSaQKnSFf0yrFaQ33
RKkIOkIXwBxwpYl8piiuJyIBBgJrGeLCWjO0BItCoTaf61KucTwlLgdqUlUKAkCFNI6750qAUsiq
SpI1lp9BqgpyHpo19lAZNeGxxoJQQABzJgkg41MVqH1JGbmHa+ArxDkgUAIJ8rxsman9olBF9xL1
JepLLJ6NrU+Y/wSTtzF5isUHUIECGnH9Q1y8h1BjcoX5RwCQI25+hMvPgQgXn8Wr70EzVHDzY1x+
Bs6huYJEdC+hgsVLyIDJJQg4fws3H2CYI/V49QGmV3AOBDq/0NtbDL32UYfM02ALDG6TOshdpZFk
qKlJhQHOSq04hyvqp9P44QftP3k//fZL/79+sXm1thN+zI70cjmqUHK81P/mf/j8WPpDJvEj3+H+
hu7BHcfnCBeKWzEPYgKONG7Q0/oIRMsV6Q7MLZtRqylcicunsK/67R+sybwvMepeFLUxtW22h2jr
l+WayL7LrYLKZy8A4Ctiz2SE5l2pwh2X13Fawr52H3tjW3+5p/CTj57Qo/b83TcegIrmuDPdHKj6
wLu+5xHce/rBug6deRK+OVrNWpdzlRs/jaz7Z9Oj1R9/EUeKuufC+wTwdi98YF/d+uyIydUO1iWG
e7rEw+70nvZsd6uNUeLEMg89rYc0aXlumBQd37g44MM5Mpg/ovYT3uK9Pfpg2Y8cZAgABzZPsySR
eM8a8r4C9x181B3Zhad/oPcfvq8Z7MiPn0bqD0i7P6QxD3hIpzyivRPoCZc87AgBgG98iXPo0/aG
530lr9uXbvnvP+vfvRkA+Jn6O5VnY7CpAxz8ldIZiC2TNWRGGMybrtSCL8ZDBCgoQgnECg+qjUxe
XKQEMCuxaZ2olWCikOSVbD2eCTy65Fm5Ldp8OljyVCUCnPIkglWTQ6SCSljhPZ+dg0nnM4iWnN5M
mFyhPocI7l4Uxj0IvsH5Z0GMm2eQXJYgBJy/h2qKxTXmr8ZPnTB5E+1b0IyX3xmfLCFMcfkFEOH6
+4iz8jTZ441fATH6a9z8EEBxxl/9AsIUkvDyu0VEEormCtOngKC/xe1PCtmUGRefARGQMPsI3auS
hDy0mF4WZ97sORZ3FopOzQR1gAg066LTWQ9ABdw68hkaVQBhmXmNDgpyilCSW0GhmbRzSPTqVXV7
W4niz784/eu3PwEf8Gm90dvnDRwbL2nPn/b8sg+NHRxxTh/FXLUmTk/7Cj1S1vEBYvPGHgApdos9
PgkfH3jva78Ze96Sxdw/wh4v+sRB+TWVfE91J7yY5Q/rIMnX/sjlB8D6TuEfayo98AAed9X6H++d
IddOKNyhe6rY+80cu+r017J97PgbOVLIA2rf11uZbFH3oIoeV9f6OR8feS/Pf3xRm+eE9gAJ42N8
+Eeu3PMMHljC/Wc9ZJRYmvPs/OFp9QgKPPX1nfa1nlDj3itfG6hl2u4Se8eH00o7vT33lHHy4RMm
i1MrKrPGY0v+mwn+5p32C9fNlz6Mv/pskaZEjfJLuOdKHu5NJXPBKkFVbggJYCiBatDZqhzNkB7M
JbSMAghrigW5AGZRAoGK35qILC4KAKkJ2igVOoQvbnsdRt6gHR7TM2kiKBW3vYKWVN2UDVorHKnl
Y8rIA5CgHrR0upukio5UGYGS5VQzGiuK6o2iv0H7BMTwFVJfdHBMoN0FNFcYbspTyBmLZ5i8iXoC
X5d8TABuf4LLXwAxzt7GzQ9L0vvFCzDQXCC0aN/A/EPb5cfN+zh/GwRMrorEjSqGG+iAyRVUMLkE
gNk1VHR2g1hT20CFqkCschehkLmQA9WjEFCb4KALp5ERGUHIaWHO1KJMl5fDtE0vXtZf+ZvZD997
snisy3y/ndzJ3Rf/4I3xmk8pcN859J8icD99Xv9bD9zvqfE/JeB+WhV/+4H74yr6mHV9qoD7A1Hk
4d8eCLs/tcD90cDxbxlwP+HkB859p1Xx6Oe/dfih8Pr0ih5X8quGvv3EfetpNdTVWynTBeQtwiUc
tGyUJ8hLgnnAGTRVPgdo1H7J0Hn5IzmYiGQhqdNKFBJMpiA5XrjSiMNaZCAIoKJ4AyEkc7eXw1QJ
sUJ5FJkp/+E6wJGmvCK42/tqpwAjdUjDStnd+RKxamoty1frG7gKRGuKkIBmTN4AFKlHWthPxTvu
G7iA/sVKnCEtUJ8DBOeKSDwUEgFFNQE7aC48HKOwh7YEDkpE6oEMjYhzVC2gCBUkIi+gRgQcUDXQ
DO+JgKEDoDEjRfIeyACRJ2RBJmTSwdnmBrQInWsmCGkkiLGgTESf4JRZU+R+cN9+t54fyJD6SDu5
MF/20fYOkEdQ45Fp4MgU9JBZc0WVibK+Db1v2Dls+0fXI7+eVvLeAo6MBMd/OHoLS0f731FlzKsK
IPU7fIDjkPHeV3u8Z358kHHv/HEUoSzPszP+jipT/vqpoco8pszXT5UB/o4qM1Jl8t9RZWqHEtu6
TsXc7br3MfUfccsPXnhsnb7NKX1kMwAQJi3BKEPdAXWCh5f8U+CnT/Cvn7S/+kp/98Phs7OUJo4E
4U74FThDWYlB50ptcZSTQhKwKHqMIFBt9PaS5lkHIqgySMmiI1WJoKpgViO+q4z8eWuzgvxIhTfW
e/HQF+INhHQp9G6HCHCWAzIVPzoECi1xEwnJxA0ElKEOGEW7DUBDoaa90AHTMaFDLrekjOEOYYL6
DN2L1ZPtXqC5BAjNG5g9K01XweI5Jm8iNKgmGMYo1flHqFr4Cu0VhmukruxH3P4Yl+8CjMkbyAvE
AZqREu4+wNnT0b+esLgxnSlcR0wvQYKqorMLvb0BRGPS6xlPK2svTyCLrJ2Dks6CBqGqsPOpyTow
eqcRGBwFtViAOPDNy3p2G356Ht7njPkDeWj32mm90a+E83YvOAG478lkvt85etqoNf4pp9WYq6I5
Q5YKR0cHUwK8V1mvjkhSCUqs/Lrcxn3PSLcL3z60dXTzxzQKh7vNR8TQ9SRBB58xAYAjWfKELDBX
mTQfDiIFQJagZE9pB39YH8XzYX2iw8MxOdoXBHc/XgUgWVUOHQQA50EEWlu0SBZdF4DYqUayyhjo
1rScsw7D+l1t3GFYKtIcaqPi6MewWfC+E/p++5Utz2JG3XKMmqLpF9GR10cAZVnGHKtoto1RAgCJ
JfeQC8SOSJXHcIlTGrmq6aRY3F17lK7V0ZpESYlyFAs+DqEEuoAAEbfsEQrJMgz34AVihJq3zgmb
2rUiiDuA72Ho4TSU5Tzx5sggiu1oGsIw300WvzmesK5LlEgWy1olSrI/QHdVkGcVgYCY1G1H2hy7
iZQJZFHCOPbedzpSEgbgSDCmcWzb0lRHSjttsENEJTi178eB0SEEykIg5FTi10PQavlIRVOUmAgA
u/KoPevQr7KX10UznhTkSHbnKFVKSp5UVIceANoJqSIpEeD5YR0+q4ljIbidCw9/cVlJlBhqTS2/
HjjZsRE1dEzPU5In3hsDd++oNjxIbfp17BiYrNDuaaeXLGv5+FRVsgz5fj0Q1gMiGft+/OsJ/vrz
1Rux/tLL+FvX+U0GLuBm6haonCKMYaJA7qGLMRkOg5txrFUQQSNQovJUnfl3x2aopbwBlFZ6fbYY
WN5NoqL1rKUvGX9GQWp5VZVAqkJcETQDXlMaZd0t5zwgCgYkjXNVBlmkXYJ6QKC5xN+pIg0FxzuP
NIzxeorhBqEuE6oWkXnkHv0r1BeoWszXounnH6G5ADEmTxBnowqe4vbHuPocVDF9C9c/LLsMEnH7
DGdvAorpE9x0yAkQxDluM86eAIL2Ajmim0GhccDtc5qcgQDn6Gyqt3fICqjc9tR48gpkqjNYde5V
CL3TyFxJkSn3SpSlY2TSnuedWyz8/C4I8PV363/9C9VJM95DZ9LTBhWfx5d/0uS0e5IWQYnVT6d1
ellTtLDdIgWpIgu8B9LGdCVKJqZyqG32cwgIFW37F5RiFiiqinx1bEShw+XvvQvCsWs06sKk3Dyv
C9sLITj0XfGeb9zVTklbU7sCQpxN5mRLTWI80XniXa2Hw6uyLYtR5dAact8ltu0XAvHpEklbD40R
F7LqrxtrLhCRClyA29ptcKwHgLskHebl2UzPnQs0n+cDGvNUN9RMTl5zHMeFR65yuHl10P/XTLmq
MZ/nsrwEhWa3qwGAYuc5EIkrYJQI8UZUQQnNBfNaYp2DC+e97/SeE05Zjm218eAVuxcuX6oCXYJk
7TpTu6NqOmJ1WyduLob6+4B71bL47ZtzmxLmOaKL2w///rH3lEeyeY4HnbcbB5OUYW/91yFuKCHt
1uMdBb/xHFxg9myuuZxhmZg2TnAIvgix3y2giqY5VQ4SQD8ga0lKuEdV5vg3ktH1YMd1jSELgNCy
KmZz+DDiyyX2FgwdgYpQYxy0v83MBIIoJuduWABAVh2GjE3hVACi6HoAqKfmfsSkwWwm5Igdhk6m
l845OMGihxI31bYcZD9AEqoJAAxJnKPQ8KJHzphaxtOjc+XWQVXMFlCAucjdnHJtzph1UELbFl3U
mLA9FroiNGwWu41dF2JYtjvaTBlBKIr1uO+Tn3dHW/vJmMnH3ZcaDIYZ1nu45fGwHCBbibT7dKx3
EiBJdVde79DZo82AH52F/+0sfKGXLy30H7ihnsoAuKwha8hCC+gCcCOqbg2ZG+qBRmBMsaKjgDUw
st5HLRgSkDHVadSi4RHQJwJBtZA9wFoyMWUqVHgryTzumqFAzGBrAwqbRRPEb8pUmaSMgFKB1KYk
DUXuoKlo3xiX3fyUaQE1keYGw2yVJHy4RTUFEaqzkRhjz+4Zpm+BHeozLF6UWnLG/DnaSzjG5BKz
51AAgjjDgtBeAcDZm7h+v8CgeIdZLrz29hKStZtDBUPS9JLOLgCFA59N5HaOpKqk88yVUpWhRE5o
kvLMIxESSfIU8vJlJdDNi6abu5RYCd/4TPvvPxeenzkAJ+rKHDLLMnmoUx2343Ky95spbd+jSjua
AjmNn9meqRrAdlKkU8w7eE/OQ/YpdKVBbTVYv1420n0WAsWElDRFDWs5t1QhQDNhyToMh1HyPlNB
Vk292jKdzWmnUC1K0uy2Hfz3l6nIUf3Hezgqo1KVIg3qH5JjjAhVy3lQyeUurFk5mYi++op0RwN0
r+Woudccy4BnusV9rzHuX8Z6T2dnn0Bg+G5FAe2UF7P92H12J+eXPD1jyzw6LCT1CC27QPdD3jVT
pqrlfi4qiAupppwERyL0PuVm5Jd+Vvwf7RmfRn04aLtry13cmV/3zuchy3nby7pXWpE95QO992DJ
AgbmC1QVvIf3yBl9D9GS5mwpgmm5gZn3V73X+qGkVrAMSg817wqcqgLOzks7iOAcYix67UBJPmB5
fwy1A/CBANRTB2BYZKCkSHOBXOZ8gBjjK7YhxTvkjJS0qZkYRGRuQUuV2g8lS3G1lnwjppJzYz7T
uqG65ixIGXV4jKYwESYNZouCJu/B7qPZ+sqCCZkQPIJHFnRDSUzWVMW/aSnwJu1SZm2takbqUddI
qdS+PIEJVY1wwO2iinm3vfD7mdmiR1MdRBeqpTduGTNCeMz+nySTlH38VPi9mr9X419etb844Pdu
4i92+UnMHZi9VqQuqyflsxIkWuqJVNbBqnBLRbriiC8+dwHY3O26jEm1oFVVRdrc7VeQExUiVo22
5zpidwK5BA2aE5QgChbL7kTMxbme8yZwN7yeNwG6QvpylNf8/MZct6DVqh1DUQkA+mu0V3Ae9QTd
y1WL+1doz8Ee7SW6F2NXU8yfI1TwHvUU/QzxrlS3eAHm4jM4f4rbZ0CEKro7iGByAQgmF5CExRwq
SJDrV3zWggikPG3krkdUKGTBFAPVRqBSnmSdQwcHhXRuSNwv/M3zOidSwgeX4eufbb/+bsimqP3o
LrJmMaF+VGzr9TD5uMAdNtXp/ZtxyzwRx+2UAdE78yIQjznkRfeL6uZYMii1zakYSAQpas66NYUT
wXlyDv5kOFXXlJJK1pw28LQCSUBETUsE5KTJvpcTyszJEqGpAW5JWk2P6ifcZ6lXXpMF3matAACI
ERq2sSX2smccXxs4cgbnPSDpiBHB17TcfogLSf3qYSjP7gUgAAAgAElEQVSIDvcbY8VI1iUhyqxp
qJ2yCOZ3B7HY9Oxnt5ZrJ9R323rzZsOgfad1QwDP7kQVKhhmAts/CcQOfFqv8w3FHpKRevWVpkDu
NY0ySzM6h47+buPp0EM3x0+oRayzZYWBNrchA3v/ULJjdAJwT49KQP0IU0XOGxytvejZhQcD95Sp
IniPrgcPcB7Bo22R0vYobR/yIdC22+AhFtS+BNOPsCrAch41DVLSlx+Jc7h84hYdFgv4UPzK9nq9
Xz0iIvhAaRBikqzdQqqGLaVR1bBWTNgAcczUnHsaN6PqCt1cmWlYCGjjUQRfMnz1A4ZYEkvZHl0V
MJ/p7E6qiuoafQTTCtw/1MzX3vUPw+7MlkR2JePtGNOmuMyyFPxqGaYAZCHepPGwgTQuyXSHYZVj
WxRdh+jQ1Ns9MGd0/Q5962doqlj0yII6bK9FdjPNAQgBVQUmpLQnLc1xk7TLVHu8/aDCD94MQPj1
Hr+0SL85y09DAsCqlaqD1hBSaCZEy4mkYCwV1UeSzPhnLYyacZudyHJ8KixnSDmfSEWNigMrPJPS
Sv+aWE3WHSUtXSHkqICYIBmkKnFjKLJc31ZZob6Ma2vzuDtXglYtmNVyKoUp2I2vZ5wnhhs0l3Ae
PiCNmziimD/H9E1AMbnC3YerS+4+xPk7gGB6iZtZSacKxfwjuKdwHs6jPcfseVGC7+6ggvYMmqid
aoroe1VAs9zMeGJjlvDUyTxpT1Do4DQxNcnqpFq6WVhch/ltiJEB/Piy/cFb/DdvV6+a0tzX1UNg
yPnhI8ksVd+d1a8BuAPIAhlQ+f2juQhiPnXVfu/nVlfkA4yJnXHsSeYEm/NCoD1c/B0beu17zWO6
H79JNc555bi1NN3hvjKdQ1XRMGgaFNj2hRf4DsBR8KipfBop60aauh0jxjJthir6O6km/DiXeU6W
enetVfvGrtDwcv4LNfeLY+/SB0q9Vu1joJwqhjtZz7hEdM96pr/daAw7VBU1LbNDTri7y4cAXtPy
Kb3iNdrZOR8izNzdCsB1Q1Xt+k6HvlDec9KcFITmnGlfayUqu9VHIIq65cWdAIid1oGSrNG4P4Zl
MZLuzuug1f8dgXknO8yjLApUEceeVre8/h5ZVKLuCQY4arzTsj3AfV+2r0/IRNRtNskA1sc0BbIg
eAwRopBYMGjbPL5MGV28RGjrx6B224E3Loq1bd0z4hzaBkPEMIAdvAcT+qFAZFUsZjIM9lGoC1y1
bjGXUGlTUR9Lru4thjyNihxEmNSQrIu5VlNW0X4mfcarF1I31LRkTcoZdQWRsmwwnoZkbVpKieqa
YkLOaMYN8ix7Mq3ea+Y/NuyeBe1eutFpRoTb+cZfbQVyyCxRmuWlyh7dWuBNzpjNN2jlMY1T9sf7
nJc5oR9ttlz0y2TYslrXrWohtM1qjWe5Zk83VeixiJDH2zdqfKP2/+pJ+HySz/Tud14u3usTgDmc
h7osLdQU2+EtYRFZSqXiq2KoFk1IjL8XKrwxbRJWZBgFiGAbk8afsV8wkubZduezSZWDAFnqwXNR
eBQBYSRx2EIhQR2QgQw1gRpzvSfAwTHK0oGhXNgyoQYTfMAyq5kSFi9QnwFAfYa47LiK/hr1FM4j
tHChMOahSHN0L9BcgIDJG7j9yej+V9x9hPOnxa8fW3Qzw+66uCMIqhoqNJmqCIbBPPVy11PryQMq
3Iioaueh0ER6V3UD3T2vh7mPvQPwYhr+31+aftfr+x5Pn+7JBX7IRJEVjPu7n4zuiXsLzwKxuZXQ
5+q7d5OXQq8HuMMQZATTijangEjZjX2Nxow4Dij7b1khgjxyQ0Ogtrnn2eSss1tRATu0E/YBbi/6
IMRBY9Q4aBy0qmkyveelNg2JICVNg0qGr7bT+5mt4tIIoaLNSMo9zWBPsrbFMMyFmfmBMDRHxEHD
Gu9/75tit+HrJYJzlDfxjUj5oAG4gJwwdBrq/Td7xOJCtvKkcsUqByeP5ZRQ3ponYhAgGfOZdIuD
j5EdtXup7Z+k+UBVTUO/v1V3t9J31LTlXwApakqIvcakOYH3faw5Y/Eqt+dMoQz1rrJxvWzI7IX7
D7IsiHmcFBgMMK1c7Dqyv6wP54xECA9hX+ya2gg46Oh2JfaWGhYE5F7nc6mrx6edO1jvThbST9Ry
3r6F1wUdUkJdwbsNGCeyHYRtA3VMx1zIhbUSgTEX6SNQu/lHMXq+i9O9R9vSk7dcmS9UNaFpisek
78EMZqjixYfZV+wqdhX6WXKe2BE7evUiXz1xk4ZsiYId1oRzcIQqIEW9fjXKWguI0UydpbjvF3L5
hL0r/O8qYDHX4FE39OEHWRVP3uTLKxbFfFHY5EMq7l4Cmhr+gbNo8HBcKCjzxQY/Z9eMww1gdyzd
8oWVjYJ9qkL27cRxMwHjSmm+2C6wP+ozerARwK/BTam6zfDZqIQwWdsCEkVKoLA/h/TP3oiJA/0w
uB+2+Itp81Yv7yT6e3P51duFC64DnKpnrUUqFpNrB0CZwEVXBii+Zio0mRGmg4oTfBSTWRHfAeQR
exf3FxVJclHNJgE5knaWgDhn488Aht0JML12FMIMKXRUpkw9fA1mjMLyBdCnBfQcIPiA2I3vTCGC
1MEFhKb45ssRRXddmOv1GdKzkXuj6F4g1LBorXqC/rYo3uSI2YsVqT32iIMlWtLZLVl8gypNaiy5
E6IySzwhYoEmCiSD3j2v59dVHDhFBvC88f/35yYfPtH3LzwIOQJzHQat76P+iiIa1gUAOL6/79mW
V8r388yjLmNa3I8X02eJQB+b475lYppHS3v4RHSvw4l2UzcDAFRKVqyS3gsAUNdUja7od67ee/vq
c7/8zm9M24tffudL0+ZieW0eWRY+0LPrHz179f5dd/PdD77+nQ++Nutu1msJFYWKdILFXIZeReT8
4p531LbUdRb0qUOnzhO7Pc6/dTPu5kFT+ArD5gAde61Phmi2sJEM5+HW5owDwH37l3WXf7lwawqp
aeh06NQH8v7UbiBZt1gB7IndsUdhqxcfqJmQcZxi1BRhXuojdn7+gGX0a7TpOecs+UCy9Bg1RiVC
XZPz5D2allQRk0o6SL5UxfxWQqCqZfIkCu/JdodyBPuTlvWHbMjIAiJUvN+LYDwZLn9CViTBkOH5
8fR664dpZC2HQAowIUft5pLza6blLO1nRnD/pKszLO43/a+76wTHxcffDStH8tIMLcWR3xg8qh3G
wikmgiGin4mIOk8i3NZoKix6LDq0TSlzMdNuoXGgy6cEQLT0t24hLqyklkLjYi85QgQ+8M21hEBN
Q3VN/eZnRdBJjb7X2xtNCaHlPGh3lwHUEwYsUQzFXlPUUBEzsoCizm6FGG81zjwUFhFonJy2Qjdg
iBgWWZKRDN3UPfixMGPaousLayhGhLBC1euvoBugCu/2rIS38kcbiT/nPaDBxmdTWVkuEsy/vhfo
vy4jB+JHsM0fZuthGwD6HthZ1fy8jD3R2lxPgT5kfpb1qxPGm9PPZP/bN/3nuvi5QfsksJUt55rF
ARVE2ZzlGD3tqpb+vahDAgrlETYDRXHc7t2yqwIYffHFMo/IvwD6JYzWlAGFACRgVThSQFNZ7xpo
Nol3ZeQOzo+8nOWCgxHvoFcgBx+AZNmLStWLF5g+BYD6DItXY4MU3UtUFVyFqkIfkBaly6pi/iHO
ngKK9hxxhtyXuvo7MKOaAILpE71+BhkgClW9u6bpGTxBQdNWZY4oqgTF8IIy/PxVe/dhkyMDuKv9
h+f8rTebbzx1d1GHQZcePRcI0JRQH6a0qaLPMGejY3iCo5NGA3NknBIg2jgoIyt/7+78Rz0loD0E
3Eda9j348pOw4x4vwirQAsb0yGrdaeM0QggIgX7ls1/6/V//x7/1hS//8ju/sY7Uj9o/WP/Ls+v3
v/PTr331+3/x1z/4y+988LVl+ZMpO9ZFJ0Ov1dEFGRHalkJA16mokR8AKDsylxJturRFcRytAmBH
VYthzaN8CAuuTCECySrjPqPzCJst358R+gQrn+2SNcGoGho6TYOmAezgHBHfQ3yXzSmECNWU0wH/
tJndtRV7d3MQEG/Z9Nw9NIT3dRkRLq745tWxpqqi78o4ePXEhYDFuETZU6Aro2+MGqN4T+vgTLJi
m0HwAEuCLHCMvRla95qzQMOMJGD6WH735Wc+DMopp7K6JgDE+zRP77Octtk1P/PhbcN2sQWtDW5m
+ljqTDcUxvPS9u7MNjXmHYwEEvwIsxRpjdzoHKrwMO7Buql5VbKCkJPqXACuKtQ1ug6LDnUF59BO
SRXtpLRPpPgU2NF68IrzlBPlKL5iX7Nk7eZ56ElEp+3GfJYyrn+afGUYndiReuSkoeGNqJ5RYs/c
JT5Q3VCoCMCTNxlAzpgvoMCkQR/R9zqMAlC2Pfi4hbGxO5Y88n5AP8C5UUeFoIqUIEVZYfty0T1i
QbPF9mmlrvHd9UNh1Gz9/gmZlU/u8TPLKbY+yMRUfJkP666fAJGfCBRWFFPvyUYwckRMkgSKn7j0
kzcc4K7/it7+avzdX/vcf/YWfT5/p8sCgJPWSZzX4KUOMmq6AzqSanTJkClO98JFB1Ysdir5VsFi
OtkaeU1qBgBoSULSrIKSpVUIjBGv5/EP1t0VJMg9tAEIjpFHov1SW8Y3cK7oSy6RQbqDXoAIVYVV
xgmFRZ2evQVVtBe4uRud7kCcoa9QNYCivcDts3G9AsxfgQiugmaanuvNCxPMUYXe3fJkAkdQVV/N
niHOeXEX+lnp+j9+c/L+Ob4f8O0n9XIr2zk6a4loQ9QwHV7ZRsGQQUDl4B+iqhJT6XEWWrNfjXrN
mOgni/Mfddwpzh3eDXEPcM+5cLJ1gK9+Dtj9iDm38YmlWHaFaDzqHLyn/+o3v/J7v/GPf//Xv3Iy
WD9ob1++9/ble7/3618B8Oz6/a9+/y/+7Tf+7N9+888ANC31A/XDPcDdzHs6O6OU1KRmVAuGXl5Z
tYVYIgrn6JAQipkqXEUVYZiX044PwbEb5WvG+nZROwD5GOOXyAYuN+weO7vTMsMRIdS0l/KBzVtg
R2FyfzimRAXgHeGUpQvATOcX/PNC7WaG3e+u5fgrNktJjYhv1JddtOoDUcXDvKwExmVhMft4H323
Br5PR+1LCw6SkeQx1y6NHZWb2owUDzWFCbO8bhIejvGDf172INWpdTNxiKZGFuRxnthlxViY48Kw
Y9yIWAAQPLx/PGQ3YwI7uFDepogOc1GlKlDboO+x6MAMxxQaGhKUUFWrd1vXNL+TNIhBcABVw4mR
BiGCiFaNc4FiL9v7gHYLDQPo77JkUtHQ8HrwUhrURMkw+oyYUbWcBYsOREUDjbn42mNcoXaYZA09
Pk4XgHOYTpAyYiyzeM4bX6x3qKs9r2AprG6Oc+Y1VvqOrUNbo7Ybdv9EQ7GX4znxJwvcs6x0dfqR
U/1z2VBdGrmNLA0X5xwCcqKX10XwlQNrEbGBdO5v/ly/Gf1XO/r9//afN+jfwU+f6kdfzF/7bPqe
Sxk2dTph1qbKTZ1DJchQIpOGXIauAiOFJlPhJhiLXQuFRgVqFBoQlkR5g9fkzaeuOhLcRaFSDpWL
aQySJeS+VMkOaRi5ywQAaQFfARZYPYzVmTztDaqzoibbz1aNHu6QzuA8HKEyKUkU+D7/CO5tkIPz
qKclxRIUCr17RWeXxh+iyVRvr1UBSO759pksZk3uqLstOww3dfW1d/z7V3T3dnsbBMDs1dDNxNcU
6gI2sq5WNCPXev8r7jOSwDFq97AZ1rbRlrboMW3v6a7PurNv37o7oadBvjBJ77azbQwlgrRGsE6D
fqqwux+prlh6eYG2ISPWv3P13j/7R//i93/jNeD1vfb25Xt/+Nt//Ie//cfPrt//87/60z//9386
X/yo77bRg6ppvW2Ht1r7vQdAORc4IlISgkhejc73rsDKaRU1nnI08syxd7Q+/RPBV+T2oee9KGEP
OtqHlyTrVj8hRtVSjprTaq0usjdTEwC4QNWEVUDuJH9qWnKgA9J9IJgITcvN5OfDkNltzPkV950u
5nIcmaWoVU2mTJy6/eGYzKjPOQ0a59uho+wKleURZnGojw5sdbSVjOEBZvPG7rDjPIWWSyTDw6NI
JW4QwwBk3XC6/ywJ7ntttwH62GBZ82LAFH8r5IwYN1jOSzPaRpY1yEhwB5hRjzBz8WrLOWocRMWw
u2rDIlTXK04OUOQOrf3rBDwXOCeNXfYV27/sKPYiouwUIBXdSyxNvQBkfPRqUrJxp0FjL6Fm52n5
hJczS12VgEhrhglfLnq7qqB2Yqpado6ObKOfbn50tOc87rUSyF7igZgo22S3YNMlcNjV7F+vYrku
7Qcc1z94PcZrf9jZSnqNZlwj3fx8vD/2OUvS1ZdFODvns/Pjk+5pYygBwGxWUriYhUAhQBXeo6mp
G/eQyVPb8PkZ/fD/4Ld/Q37yVTHvWk/N+/SFH/Mv/3/Vl5loQvPPp2/+YvrmRG+fxJ90Q4c7APBO
6zo3dXJOvRcX1NA1lDTDvoiV8gwp8eh6z1zc8EwYY10hGQwkgaBoRBrB3VRloBBVMdX3cW9d8igs
w0AE3MiKIQx3qKcAoaoRZ2tPjzDcoWqhQGjQGw95fFbz5zgzIs0Uwx2QLasrVDH7qCjP1FP0My3p
XRWS9PYFnV0Otzl33H10Pn9O/Z23V98H/+GEPny3+lrrvnvmE/KkVtbchPKRMKt3mnrkqKGmLRBl
u9x7wZihds+oH+iZUsW82+iZolj0mBxWDnjeTb9+419GfLaVL571T+o5tnXcFXHY/u5T1EDbUYY2
FtNmCBotpeK0SDTaJumDPtjjs8V6M2xYN9HW3/rCl//5P/qT3/rClx9S1ePt7cv3/ukf/Mk//YM/
+Vf/z5/+y//zf/nO8/+rNEkL931sLpyjuqFdl/zSzQNQ1+kwYENBdjNTxq6tOTPI1/cPKlVLRv1n
PuibP4QgdzUB9vrlJe1JSGCLBF+N0ep0z5rEhe2I410+/dhajYvCk3Ge5gck0gE4T3VNtQnjfApQ
+9LqhurGxV77Xg+FIxdNupq6heakadCt5+egzmMQe86cB7WYTmZwIA50hKxiIfAySkQTIezs973G
dY5ptuq4RcYEd3h7kQm+JnJuyRGydLAAgoNjE4x6WONy1vCp6gH3me7QIU63Lc664fic94SolhNs
/v0EHo9Fpuak6xt6qhgWAmUFTVoMsVBHlsQVplUMQM4IBJWyUWk/sqPQMLKwQ+qzZN3VViMGqfoA
ApGn5cdgLVFVYsqj11kEwaPvdDHTdkpNTZa/yTvczRF7SZsfaY5KQNdTXT04PvWQleXWfYpcIpi2
e3hoTXUwWZI/KjjzSdj6REMO+kmS6bemJHPkHYoh2UDta2betI/VDsKiw/pWKhEuzkmBLqNxOJtS
yrpkX3SdpqR+wj/9/1MzOf/S3//DtbLK+Lag6Tfr3/128ztEzNB38vffid+vdf5u/O6T+Y9m89Lz
vJe6yb4S57UKUtV55MUDAoRRjKbkWCWQQgp2B7JFlmqWUd9dVS1+dQxOVYGK2shtbBnJpiA5gpU0
ikUSUi4MGVetSC9mcYZ8Dg5F6tU+P3OuxzliC18Xf7yFF9qEMXTwd6hqqGJygVcf9XfoboJEDHO3
uEmSrOpwXftvP3E3nn765vT7E41ZLHCuqeVyyjnmpc4NAALOp4iZZnMdFhp79RU5R6pqcYAAwo6z
zDLlPQK1A+iGPSzolLHo0e5zAVwPk2/eVi8T/UKrv3axOAsdgEWqNsabwjzZaqcl6FmDngTU1f4Z
nQ9gI9GVYgNxWR/vtSNAwUa01UaGAMB/+cUv//d/9C9+ZpB9y/7od/74j37nj//6B3/5P/+b//Gv
vveXN6+yKqqaQiAQUtI46Hym3QLthMMBp7hzBOj6DC0K7wto2zV+eCwUneA/O0Q1kZ1MMbJvdNNR
rmGvsXuYsvvSljvsWzYstKg6NAwg7gDfuiZfUVW9fhf7x4n13LWqpqohABZWu7UCyUklo2m5W2QA
w0zq6XYJBNSuBLajIjd2MyIw7adx28m2VGSCZ4giC7KgcvAjLxN7s7uNFqM6PpgxVzfDg7OWhEpW
mphYjcDxntUCgMBIAvKk444zWfTPfQJ8xBuu+vVw50NxAp8e22rfdqz25q1tJS5Yt123utmJW3mv
0YaIrtPYqXHct40QQvETtw3mM+lmOr3gdkrOFe4Hc/G+u8BEtPVy25abMQFtP9sYMb3DW2+XCW4x
135Y6aBXDUtQdiSiRnQpEpAOs5kOg/qAs4Yw6jYGjxw3nMYqJYDHeRJxbbudt/UTtUN1Fdy/D7Ba
HOrPLvx6s4WfNHDfst2QgKUdQu0Aurnc3R6WMNuynbPWSe1m3uNsykToU4libDyuLvjVjSyx+/v/
hr//vw+Tsyd/77/+76bnbxhe355xx8FUwc/CL30YfomYGLj94Lvf/rP/yafZb71L/8W7/GtvhSWU
JEKoMjNClasm1+cpBCEQhEr8BNbo74W/7mEfqWF3Y9CL/T9BDaYzSJUYIMoJiFAD98a7XwZmElIH
XwMAY8WAt//2d6jPQEBokCwsY/T4dteYPAUU1RT9XUkSpBoX6J/d9b30t1kThpuzpZ+xT/h3H7p/
9x/Ie9Moy47ySnR/EXHGO2QNqkFVpSqpNJYkJIFAEjZiFKMRo2k3xgxt4+nZ2Ga9Z8MzvPXsRRsb
92D70e62n/HqxgPQvQy2MdhAS8YgsAaEhCZUmlVVqlKNWZl3OlNEfO9HnDsPeTMrS7jX+5aWKvPm
uefEmSJ2fLG/vU9Ivc+v/ZB32NquwL9GCiKEIcUxzcA/UURhSEnCacZFyoXzvSIoBS+gESIcA7mB
oDWi9mm14IWGEKPP7VIePdoIThZ0QcQX1tqxygE6lsSL6QBw7xE8xsNaZttPuq8BOI6cfD49WTYD
3vnB0PL4toWdH37HJ55/4Q8Gsg/Glbuv+613/flX7/nCn37l/2mbIz0pSc+nKEaecZrYdst6/mT5
yF5lSC8sw/Mm0NxLlsvZGCF4Fpt2kAYzEbW7GJngrUsQwQ+Jzbh+OOCy6RHpYoIBbRSLtU0VVozl
JVNfkGdCbJ0YbkU1z0gP48ukYys1EcUi6czKvrquZHC9eCrgtqWBgCcgB/h5rksqDKRyaRMIwkTv
VWY0lowbe4KQehaYGNiV4f5c0aF2R5fvHc4l4B2H2FOjE4wet567M6UV+5ywLoSaUBdR1pMUMJpH
5pZ2mCrzA6dRja5lMbyApHPg6lNm+61kNwEae/qfe4A+LYyFznhip0ECUpEUSFJ4aogbo7uMkbxA
GKC2IBpLRnqCRKk15AWCGdZyEM71HvoBtdtG+hJAkVkiEhJGs87swiYBlAOqMQgjUl5JgHFgNy8Q
BcinFMYYzTq3hRLPJXCfEZ4aVZvpRRig3Zn8p3UJZ8uV5dBmQgbH0TYCH55COzmLqi+eN/35N1NR
+xkGEcRYBmKhLkB91RHLyDQChQ0L4uQpC+DwP4pn/llv2r7nmhvfLKQExhOn/Q8cLnYftJZP3/7V
Lzz18H0AiOifDwBERORJetkLLn7TK59/TvZ0aBq+btWTo1gGjrlWwvOsHxo/NF5ohGQhrRcaAOwE
lawiZwVVejMx0F0rLzOvFuxI88TMZAyEgOCSWUG9OQYhb5ZLeCqEXu5dJxCQLSGIS7ZMh0tLVIbJ
USwnHLSsFUXD5EtetiyLpO/gwSiOtKiRU6TEiTYfadjDp7Ig8lJtv/Gst/QoX9S0V75dMNhYcp3i
nJLBRIhjimPqmYSqKQpaTvNxDbVbxvTrUiZGlpfFKi6W8sojDf9UQfuqvLva8IVJtHekU0sM+2JA
x30GIHN/lV0gcEZKETN1muR0mv9Iuv29r/yl97ziA2fUjvWO177gbS+5/KbP3vafvvidTw9+7gfk
+TJNbJZyy9hqfRS793oZO2A4SmLC8isJTOSmjwRb5Im1mqVHKqB5ShTMTC8AU/QbZqYnToyBmo+/
UKSsc+uo+V60wtBLAoIIYw+971OlJpjRbo0+UmtO8K8Y7Za1Bs2GrS+cFbq88kbL2LOUg5CjmIhW
wO7ACox2B80dWvXG3jUCfIlUo7BwdYBKIDcTsHuWWt2Vp8xSDiMesbJy0KH3rcIJSg4fURB8giUU
zqBNTObTzz6jwZBqMsOAnOexgjdGQRjp8n6w2Gu8/1UBzZ4JkwARYZivTN0TsXbIj9mpIT/3MYLh
hCDHVJGKVFc+y/cBoLYgwhiFQZqWpgEulKKFjdL5vvkRpYnN2gaESrV8B12918jdZVBP5lJKVKui
1TIECkIor5zsVDdL1/06dlmhwUzOk7GxZNOE46pgQU6bUirqyljRiEncGY6Jawge8Jd11EopIQhK
jveUZQg6u/qPRYEwQBQgzUsl9X5rDcCl2vq4fdL6hj893b6Sm98ao0TtY+FOc5AaYbhcRAJw6l75
zD8X5+zYe8UNr+/2cSU4x0Ch6eB8nYlBdOjx73/ji59J2s3uURhdcKQNbr37sQ1Xv+G8C14KImJS
nG3ID27In/FsGtjWQnao1jqiGkNdhgqsF2ovMK5hQrD0rfSs8q2UpHwDR53hbrtsN2GvMygfRCAB
a7qJcwIBOodj1kjlQL8pyBRscjK51c822AoANvGKttEpFSlZp4SDUhrJCL/p73i0aR45eKy29fz7
DzXuO9QQbF+4qbO1JpIkq9fjWl1YyzHxq3Z27joePv6PSE9717wHclI99zzRB11T3mjNoCnr2LNj
noqvQpdJ96U83t/wW5r2VfWealuQPZXGzyRBtqzNUrE94gHgPnO/Z2h+NhgzUpXTJC2J2A+FS0Re
eO6+D731Exeeu2/dGrR+UQnr73/1r99w6U2//3cfPr58uPc5EaJYSMmdtm0smWpdqOE7rxS0HjK1
1hZBQIN8rPlD59axAkzBpmA/FnIlX1U90/LJmqeo0LAAACAASURBVJ5d20wWIMPo0fq/8cjafb12
nbH0R6ta54lKhZQvrEWrMaG+c5yXti7RbtosYwBGc2P5rGB3z6Nx36hmw1ZqIowoCKTO1jjwWkZu
wQxfTu13CFAC1paFZc6trTCjwo4j4+7Ir8bCcl8ey2Vq/ClzcpdZd7qTYHjPLbL8wVajjmSD1qsx
SrKxlOUTunRBCILnNB/vKZhQSK9PTM+6k0+pSEoUBYRAc9kKiUpVOBZlzwXTPTNOMS2uliNHGA2d
gLFwJzs+epTupD6EQBhR/4sDz2K5825xmBNWd+5IAIQAi9K5UyphnMSHoDCWPa9NOazB+hyENqW+
+0hIicCDFFOfJHU2gbs2aCeIIwQ+TAJbQDjjWwPWpdp6lq+QdzzDEGdm/ba2oCmOFVnOUUiD5WpE
kAJpxsWyOPB1TSTC6oY8SyJV62fOuCuwjl4Om3qQ/oE7vn7XLV8cGfNKgfcu0L/nW7eed/7Fbmda
BKfCi09GFwuASLikfbU4Xs+erRbHBKyvm5XiWKVzIlw+PXliQ5CKhVJC+CRYSAjpyDJMviWVE4i1
x0YBzJZcXt5aslhmzaaALYIuKO9FvxQjl/XE29yJNne8LZY8I7yWt60VnJt4mxniuH/4M1/5g/Dp
Ztpp7qyJ689JO43k5Aneur0uhLCWhDBECAg/vD353inefy/yVLzo/UqdgVH0jLB23ar2p0VbB481
g7ahS6p6d7VVWPH4s/Gxg7p55LRt6nqMw2Kwr3sOxzCa9IBM42UCkBIOtb/9xe/7397wkbPatjOP
K3df9wc/9TefuuXjtz7w14Of+wEJKdpN22lxrT60pu9EXo0Zkg0xgFi7Bnc/8o4NpJgBjnuqLzPC
5CwCWlG8RRc8LfFZNiYZdVlaW0hJSYezxE5seTDJK9cYFJqFgJRroRtlGWcDovIOuy9sWPVLbK2z
VWcpoMaoHb7TpRpDxq2G9f0JpJQ5gxm5BWaidheCYAao7b5EppFr+Ko/Ig76CjuJ4t6vhlHYkjff
+wQzl+kI8CTgsHs32f/cxMgkdN3pT6uK9VrDN6ZfTiBVuYzplFuMQZIiDJ+71LuSqETQhphhLIqc
B6tLhYBlCLDT5vJ8WEYcgQQ6Lc4z9nyKYpGkEATfhxxmaWrT522HAcywwBeBAx9ZjnYKT/WVW1w4
lfSigAXiEK2GNQZBQFGFogCdFGFFVKrs+ZQXyHL4Xr/AwBTWC4Tvk7u2avrIdTai0KWcnJTwJNw1
tBZawxh0DNT0J3meJ/xMZNeZkaSoxKVIPxuQAOvSCkCvxBZYqWVOAWPWJmfvwSYq6Woj4xeJqbLF
acJRSEr0yUuup0xSPv6ALToM8DOP3sOmuPQFrxwbNLmXcO8d755/+vv7vvU1Zgazw+6OD8pd7O6g
1dOPPFQmxycsMRJALW9by9vuXPMcsQWAYBPpU4FuENgU+dKhh23jyMaIdm7dECL1bKJMIotU2Vxy
Lmwu2FB/YaC87pYEkzLkG+Eb8rUICxnpKC5knItKrmqZrF20+JWHv/00CFvPkcvXv+9w/YYZl33r
9p3bd5x39MihizaJV+whgbjliVar026ltVoslWBLbA2EBcTzz8kU8YMPB9/5f+2LPyDPwMJkavB8
lBNmtDusNcIQYUCYz1hAKaTGf7wZpQZ7/WIjNQ8fUY/cazonly87j9/7Cr3rHN6x0TAPAvfnsOsZ
l0whmlWYz0TVsP5rb/vED++76Wy3bV2iEtZ/+Y2/c+We6//gSx8e/FwpimLRadtWy9bqYuBzoKzb
7q8sM2NlJfNJIRWN+BblHRtOk7viFdLtLozm3krxrJiZdLd69FgjpYTzR7NptZ6SxJUThDgBNLt1
nwQWAr5PgT/vBc4ybjftyPGM5nbLVqrzwj2tkWY8SGGPIwRjiyFBSNlY0h1AnvPpRVON5zza8HdX
yrX3wp1M7/BE8BUyjcIg6L6hfkC1ukwTS4KiYbn9omtI0QvuDrizwy01G4sczyl2H6y+fY6B+8js
cb1MYCyICIEHNfwaunr3LEeWQQ4rBxe6pJX3muCMtNZmlToSPcefvEDWRTBS9TORYUjk2HAangdr
efmUdWu8PRdDAE7jxVFouFta7cLh8nG06SsYA21KiI9uRrZXo+nsbISA51PWsLrgTgcbNwlPkTEI
YwKgJDL3DAuQIO4q0khB/vol2i0jz0vL+RJIEaQsT62/mUWaAYTQ7y9Qu5faqVhmOXpG9uMxz80k
WWL3cfjusubJFOGaXgsLDV8hpz57wl2obKUFZCEQh+gko+8CEUiBxKhJ34TGnwUYIyT8ihwkrVnN
acM6xteMIxoLrYfIS0qUH9Z3qGt/kZafto9/Sce1TRi4YYM/9PZtrb3jK59/9N7bdVG0Gktp0nHd
LjNXqvW4WhNSlm8UEYOLIvP9AF1O/ArBAMGSbIhNjz926LavfvHYkUODf7/g0ite8uo37r7w0hWv
1Tyxs3GXKQ4WBS8p3pgemA3cAVx4yZVHjxy6apvM0w4I9Vochf7ScqvZaMeVKAg8SxCWiKy1/LzN
eSD5nkfDb/17XPt+ijauwwPRk1/rSaKtGO0OJwnDeaN6JEVpfjyjkxcEIu+JRpwa2uMVKm89cDc1
T2bPv5Te+lZTi9iyIPBiLkJh+2BZiFnlifNYrDE7ZQwnT979IqFaHy0TlGPHmj1R3r5h52+++4//
ZdJjZsSrnvfWbQs7f+vzv9B2wkYAAD8ga0Wa2DThnh6CEKVcly543BdptSEUSZ/MAERmC5PzRMKM
niPd7iJtGTGPvHrBE2sEATiW6mD48dpTyNMimrRPJ4UmJYFgNVuLNOUs4ziiFXk1uuB2s99y36ee
emOWMrAydjcGScJal+IAUhJJ6HyyLWYUiSyZ/CqujU2hLSzDE3Mx83qrtej+MEJYd+EH5E+qq3f2
k4XtE9bnF+HpYXezJhLh2qJLCyrDaSY+NyGGUzfT+vRxlv9siE9AGEAIMCNp2zxngBzVxPNgLQqD
vCjJlHmBfKAHcMIDDhZbDW0QeOumdUhUVp4QQQXkeeWsSQhEMRkDnUJJtJvsUDsJBCG52xFFAMpS
ZgCQ5RedIs0MAB36aKdQEr6CtiUscnKBUsBaJBm0QU+xly3aLa7UqdDQBbearpcmY0vaT94xRCAa
lZs4k3CA24UQZWLL3YJCQ1BZ0wmUufbAg6egNXfaZV2+F1AckzO4zaYD63lKQtlAKJACVCkl0gtP
rWDpXZ5ODl/B95FmYNtl3uu5pqYuhddLzJMAyS784BXS7QC0GRclPqPwQvKro0l1GnDz5UlqSb1I
U65WSRIMl4TDVocB1PaazhHx+Jd1fdP2bXsu63W3vRR7b5/u59u/8leP3XdHliRLiyeuuPaGG17x
usuvuc5ac/9d3/76l/7q2WcObNh8jurO1AUJz+tfhj5dngeR/GjHfOLo4b//758+fOAJ7rmudOOp
/Q8+9chDl1117evf8Z64WlvtNRyJxfjirVvuP7XIpqBqfnTF7a+85ro7v33L/c/mL95m6vUaMzzP
27xpYbnRardTY0xcCRmwTAIGEJds1Eqkdz4d3vmH6gXvFfXz1p4RMYyiW1tMKFeS58mdJwOpt55F
T+AjmT53DXx6ulXRlvaEGef2wOEgWUr+1ZsjEYi7WqKWsARrkGEYHihOFZIwncOwYlo0zzhLe7yF
/sbMKHIOouGvj+1sBnXhwh2X/7v3f6YarZun0tHFZ443Du8/8P1W2hxp1Lmbd567ede5m3ZtXdi5
Lse6cvd1H//xP/v1z7xnELuHEWlNaWr9oC9OEgSkO2wNjJ6rAnV2+JHIYQexe5FZOVYLzXaudDtQ
GsGwYVoRUjF0xt4YWcUUPFgpQQQ/FmK9TUylook8mW65HgexgE9Gsy7YrWfVa7PGYKO52ei3mwiV
muBG3/c0S1l5HMycbiVJqd0rFSmfiFBkjCmLbkIiqohkujL9qoIZmiFpgjjMjDDdMdJlGrwpRjDj
4Qk4UgR6jM3VLOZ5ApZROOiwivYCKJGcoLKHHY/SWcLZxXcHJjvcPinoTLWc547BTs92ZZOIILrV
BTRd5567Grvj0wzfYyGIGUunjS7V7rkgZJmp1kQQkk5QaEjZ9+txpAslh5b7nAlRmiPE+mB3JaE8
oqoEoBQ8hTQDCWQZ5ykHY0Xqbgae5xACSdt2OnZhg/R9ApB0bG5QqQptpmoTuyCCJ1EYhP7ASk6f
9AVBKDSiAJWqcGXu1CUYdDpwU3QvImYEPgyTEMpJxa0XK8MpTgLwPXhdQyXqlp+6xRC3je/ByXj4
HtKEG8t9N+w85yyljZuElFDTOe7zENzZALK8RCRLtR+XOyeaC/pbhjb96+MennkO7XZO3UPTMDNq
Hhdht2SxXjR36VEwiZ1YDFA02XY9jCZFlnMVJAWMKXtg90TZnB79vPHD6qXXvVY6k1HuK7Kgi7Dd
J4/c863HH7grz7Kl0yff/BM/88qb32GtZWbf815446uuuPb6P//kJ/bfd/emrdukVAx+4cteMzIT
cBT5GZ1xY2nxL/7wd5N2i3u63U7qBYB7Hpn333f3sSOHfuIXfq2+YdMaLmYvTsaXXr6ROm0iQJqV
y/iiuLJ1+87FE08vLNRJCLaWGSCxYaHme6rR7BjdqdVjQWWPTmwvXNCR7Hz7WHTbf7TPe7u3+yVr
6dJzg8KWC8hqDlmzXowIefe+qORUfx5BOFlUE03nV4tEqyUiL0t2n6cKT9275BeGLKMu7I7YVBTr
QeBO1K/3H92pGDVgGomkbfOC539ZRt4rMZ0UvXf7vk+87y/O3An1vqfveujAnXc9fMfdj9wRxSII
yxJAaznP2InNcVfCVQhsXFi4bPflV19w/fWX3rR32xll+i/Ytu9TP3/rr3/mPU8de7j3YaUilpdN
kthKpbyyUpYlqtplyFY5UrLtuh90w4+EkVx0Z1NsYYpR680im++B5vLilEyele60NTBjLpWD9tpS
kR+LkYdq/BTWEJXa1O87/1HH+ZEeSUU6Z6N5BmpnRmN5iEYfxYIIcYUay30V7XbTEsRs7C4EvKgv
guFIR2rKvCWKKc/mICbNEQWDVmmA6lb0BnuCwqAwEAJyimuSW0zkgWTwoHf0qqp5PIHcwEySoZwd
/koytSMuE2Vrh6+xVJiqyrGuMZKqIEIgZ/WEI0GOIEGQY+11e1heMiMVKcxoNa3nS1eh6JgnQiD0
IQWyjFsdNl0cH4YU+CQF0hxpjpDWAacSIQ5hLGhA9lcQkjYXOQNMigDUFkTSYeXB8ylJYRlRgOVF
Zgut2VgC0GpYlNbUK2e+lUKu+3jOzRYCH81lm2VcrQttKM0QVcjzhdaIotKfO44hpQhC5BrGggiV
XvvXKd3uZkdEiAJIiTThLCtpQlJSGFMckjFIMhgDtw7nKRR5D7X3QxfcbNj6BjENnzm/1XnCGohB
Fq2AINjVvBeFhgrK9SslYSfNMMejBwxIDDUAKMeged6OPEe4Hna2AMJJqJ0ZxbC6ly2s8CYLFTAj
z9nzCQZKoCjKJYvD/0TZMl/5kleFcc2NzwC4mxN3IupEDNDSyWfvvvVvAXRajXN37bnvztv+5s//
uLf/hU2br3vZa1779nedPHZkefHkhs1bdl1wyYte9joAAG3ZUPOUchNRJmq3k1aScbehLgfval7/
9i/+pETt5Z966wl9dgiBTp88/l9/79+++xd/bdOW7Wu8pkAjOC+KyBkSB43DgrWlWXCnFocX7L3k
24eebhRyUwgrnMQNM7hSiTxfnT7dXF5q1eoVIQSI2AKwO6r2DUH7n49G937WPnu/9/x3C7+2ivHU
eaNKgWC61OE84XnUy3o40uDEMo+GjRvG2xrli5mqSY5OLh87Zs+7Mnys5V0Y6UDyci6ebIiDDVVR
vHuBh66X8iifhORm+8/nOef5zOWisRh9xKd898xR++37b/nWw7d8e/8traRRJJYt1+pCKgLgaCqt
JgOo1oWURIDWbAzyjE+dXv726dvvfuSOv/zGJ0NVe8H5r3rHS//NxTvXiOArYd3l3XvYXQj4AeUZ
x3H/akQhdTpsLHTObCcTtSeG89QUkkZoNtIn4UlTsM4tO8w6sM8i4znFdAe1z6zhedLkumAhaTCB
52p6pEdeQON7YOekSAgqax8SK7Xy5k4M36M0Y51zuQ2V+cWePtd4k0ZQexBQGJFlSEW1umgs9y9f
u2WlFNNuWdn7df/oVjncev20qNaosTTVYWfOcAvu00yLkg47fckoFlGlv4WjwDjxded55JK7Fihs
WXvqddUbXDWqa6bL67txQjtWvRplejCj3bRZyk5FZNxU2CWbXad5Vvky5GrFho/hKUqekzp9Obxy
RVhPdlCW8bglGQBmdNo2qggH4DyF0EeRc6PZLb0gACgAR+Sr1UUIpDmyHDJcHwLx4CyOGSTh7Jbi
CiUZ8gJSQgVkDdodCEIYQkosbJLWsFTUSeD7qFSFMVCKdD79SANHAaALXj5tlaKoJrSG76HImS3A
CH1kBToppCDpoegS4pVHjn2QD+DdddSUcMsaAKIAQmBp0Qw7KHOSwPepVheViNKs5PspieWlyR13
mnBcmfz0urLReRtmRk3VXVhbMv5XDNNtqhPtmXPC4PrDiRB/ft33oihrA84wvJBoot190/DYzMgW
ViiauBydZvD9Ev+lGQPIl+jZ7+jNO/ZWF7awtSRlKRrTg+3d3TDzHf/wP1wKPgijY4cPhXG8YfMW
5SmAjNZFnt32lb/5n3/92XO2nZt02pde/aI3vutnhJC1OHz9D121qV4VREREXd/wk8vtp549cf9j
zxRaD7Jlnnnqsd4h3b9Ju50m7SLPAXh+EIRhFFeEkK3G0hc+/Uf/+mc+WK0vrPnaclQJgg4BNte1
7PByuGfalrd/82sBp6946cu//Y2vPb1kN+9QgpmZndW8tcL3/M2bFk4tLjebnXo9FiSsgAABpuLx
q3Z27jkZPPoQbv/P4vqfkyqaq3m5geY1eqNiMMWusDCcSZwI3A2Chgl2edmBx0xnqf3YM4ZgX3gJ
X3d+srXeEYRGIR9sVi/eiMcWxbPLONEguefFG8uDDdJbu58AEJL6YIgAQMk+O5MZHaeiPZQrGmqr
H9LoKEVD9suOAzc4LFhtL9p1xe/+m79cG2pvp41/+O5nf/cLv/Kluz/72LP78yLLOxZAtSYHgV2W
cp5xGAm3/EqAkKQUBSH5gbAWecZFzq12+uTRh792/+fufuJWXwVrS8D7Krhsx9W3Pfz3hc7QLdfL
c1aqf3GI4HlkDSyXq5NSsJBEkqhckuOh/HDZapjCWYXTOGwlgpCkAiE9AvcRs9VDKfDexuPRNz8a
vMGCBr4yeTy3pixBA8oKMD8Syne94Rhwt6Wx5SDcHzxRsn2qjymM06kY3EulJvyAxuro+78JQVnO
cOkcQeVBjSswGDsFQqdtB9FPEJay8SXnW5GQNLiBe5bGr6FlpClIUDlr6lYDRyG56eLE6ycE+X53
Ij2wQeBDKuGuv9UWgOgpL47tyDAs4E0C7kXBrS5xvyjY8weeQ5SK764y1VEzHYJXAgRy3klw5s8M
AnwBT0CJcmOnbK0ZzJDDR++0rSu9ZaDIu1dsuO8ggmEa0aAcHSm1BaiUT2ZYbaUnV0aW0x6O7i9E
lA6Lk4w9USvvdvJfhrcJAhp86ibvYJ5PGVZbFZTkBpMbIUXS4QH0Q4Nf0hpRJBxjO/TRaXOzYfuo
aGDfrvoljMhYciJoYoxqMqGBc4J7AoAsh5QIfApC6tEwemv1ngcClhcNM8KQhKA0AzN8D0FIQkAQ
ObtftwZtCiuUEFIAYMPWsPKlLSXeoQTSlIkQRUIbGINKRQQhuV2xLXOP1jiNDghR8shdF2YZ3qRe
YsYJrnglHA3GU/A9NBs2m5Q1c+UxUlEUUbkeIoZKbkYawQylmEDSE+hSR5REmrlc75SeYrz5NFrY
xrZbi6VXmtoS0L19luEpFMVM5N19b323+JMDhBHQ7MpS53y4jOnzc1z1PzPbwuYFTWgGuYodKlwK
snuQctAcPCUga1o91ie7cCvGNEbTMQZRRK7mpNVmAIsP0enHmK19+qHbjx96ZMuui5XnE8jVThAR
welS0IH99z71wHdcctzz/bhaC8JIKiVICBJSKt8PwigO40qn2dx72ZXv+Nn/ww9CX6k3v+zajbWY
yp06pEAAKnF43taNl1+ww1h7fLHRG8C/f++dSbvVbbBZOnXCWvumH//pm97yY9e//LXn7b344BOP
Lp48ToAXBJ1W4/TJ45c//7r57saE2Jw/FTSPSQElKduwawZwv+3WL33/4Ycef+LRZqu1uSL3bvK6
kh3UOzUSwlMySTOjbRD5BHLspVYzSbNi9wKqnn3iiCLtnXOZtYZVV2ZBZ6bXY/Tvl8tYSYTTUbu7
x65vkWMrvUKg0+EwpHptFA8IGsoCAEib8pH91Hwsefyejm3k1+/RN79Iv/Pl5oUXmXMqJpLWF0xE
Da2O5l7o41SL2wkPAXcAQpDprna7O+r5A4kvB9xVX+0kz7lckJ0O3INQjGcWB2tcBEaBe+xV//Mv
fmltvPbPfOOTn/jCB+945JZ22mTAWnKo3Y/FIIZwxj1SUq+ycBBCEcH3yWlsAagtSKXodPvkHY/e
cuv9X6iG9TXA943VLdfuvdFhdwKkojRhKWkwTeuwOwlyjkhSsJwDuOsSj04A7r0tSfRRuxlTd+kd
fSSc0M3A4dyn5VsDzALuANiUtjhOS6vc/6SvMHeB+ySdmdnAnQi1BeH5JUCZhs3c0bUBLKwpRwK2
sBbjLJck4UE9dc+jal04OOsoFkTwxrB7USAcY9inGRsDEuQKGIxmZkiJOBJTLkYZQlAYCTM85q0K
uDu3iIn8vDzDoDWvlOT5/b0UFpZL8sZgECCIpAB3PeQ8Cb/LLB/qAggADJcgvn81Ol2bWze6uwkD
jRwC2hKNlKg+V8A9y4cXOs4OcI8iMfoqz7vbFYA7iNptHt1+4EtKURyTkmg1bNIZnaUMhtGIK4KI
ylzvmDvJGQJ3l18XAkmbGQhD8hTyxBYZxzEpBZ1znrGU8HyRZuWL4CnkGTeWTJ5zpSKcyKC1gGWp
qAfcjUHBwhV9xgFcRiaMBHf95iwjCIgISYeby5YZtRpJgaRphUAlJl3w4imbJBxGQhv44+tpZwbc
nRZ7FMBaNMeoL4O7yjJmRrVCvod2m4dJUEPHMRZhgEHgbgwK0xtw5wXubIfZMgQ25awJU5Ligy0i
QIqSDyal07qZsX0JLEMfxqLQEHJo2sBdz6Y5Hy4AzhDA8tqBu/RpBLhnTVukduCD0ZiG3dmCiHqV
Ts/8E9LTHGzQtXNl81iy6dzzw8qC6MP2Pn5/4LZ/aDeX0E2mdMe77tDb/U9KdcFlz3v7T33QD6M4
9G9+6fM3VOPuDKCcA4j+UC18Jfecu2XzQuWpIyfcfsMofuSBewAYYxZPHL3s6ms/+LE/uPDyqzZt
2b5py/bdF1768je8bdOWbfvv/267ueQH4emTx6v1Deeed/7cN2QoAt04p/UwMaREsnHPYnzxxM2e
f8nuA4eeOXjgyWarBaCweMHOoJyFlAik/EcqZYzJ89xXyljTbqWLNrzvdBz6wrfZlip1CvHEY3zJ
a8WKwD01IEI4s8iqBzy0QZqWRfNOYVZrZDnCkCrDemu9MAatZTRPiWf2i+/fVSwdtruj7MbLip95
nb75er1vN2+uMxGlVh7Ngu83K986vfC9ZuXZXHUsdZhEIE4cN8oRfwdbpFRfrntkTHUx+FiuSJIm
mlx4OkjSdwvxvZOshPXfee+frwG1377/lj/56r89tnR4cFzJkxK1jwCILGVmDDIERkJr7hGH0sSG
UamNc3z58O//3Ye/eNenf/rVH7lyz+omnRds2/fLP/LbH//8L8zezPfheZSmPM+ivVvtxdzFE9NQ
+6RdY5pBNBsmWnloshZ5yn648pY9zqu1WNXylB9SXJnXCCkIyNVNMvdTktYiz9kfkNzRBQ96lEpF
1bpAF7W7KAwgEQSkC8q6OVqtud3u1y2g5DgCXbqRkBCChCi1XVcMItQ2iDThpDNZsX7NMaoVOKDF
4EC5nG5lQoOSA1PrnaAEDI8ar3pef6pDNJXlP1s5a8VwyKxn7zoYUpX51Gk8JU+VKzNnL6b1iq7Z
jldgzASilJREgqWEklO53RNJMiMbRDE1G3ai6uhgOGkBN6ObR05kVeHOTgokbW63rOeTmz+nCbt7
50uKYiEkWaZOAiLEEZIU2kBKpyQLpcoqW2Mwfj0sI/AhAKNZ+OUSR5FDEPwAWYZ2B55XwkRVQlLO
cy40V6rlHXJvwfq+fWXzbFlRPTHXPhKdthWESlXMNtNgC10MeXuNF3LM27xuapAIECBRelC45f4V
L4i1IAUpyjnSiuG0R0siAZVilK6qap6y1PHQejVIf2YwI28NoPbpYTWLMWX3NON04BZLoXZcb3a+
nA9+lUjIsLIAlyJmlHpeBDDay4snjxwgApgckYbLquXRYtiFTVte92Pv98PIV/Klz790Qy0GuhWu
3YLXEmIxo3RzwkXnbWPLX7vzIQKuuPbFX//y55dPn1paPHnZ1S9807ve/707b3vgO/985OBTRLRt
5+49F192/sX7fvpXf/Pz//UPjxx8atOWbbd99YuXXHlNpbYWwkwz2OF7DA0poWwybbMd52x4402v
+NY3/mfsi05uT7ZNYeBJwYItW1jhSlWFAJgrlTjN8lY7IaJjXPv20xLA0U785r0kyNQDiybSE0rV
Zz1MjuE5P6/d91AU0BojXDDLEwotsoQWn6VHHihay7zzHJy32f7ozfb5FxgiuKoGw5QYuZh7TyXh
gSRIjcgZBVPByJhyRgZKBQriMeA+LC8znvscYSiuqMAwp4flYC3az77+IxfuuHyeb/WinTZ+728/
dPv+W0Y+zxOG5bgmQRhBCHlmlUcjuMFoSdlmCwAAIABJREFULgoUOffOS3lkDecZ55kBQXnkeeT5
9OSxh3/9L37iTde99503fmBVfJ4bLrnpnTd+4HO3fXI2aY8IUUTFSiMrBgjoM+jdvXConQSUR2zZ
mlkrmHbmzZ1NdnfDqpBkcp4TuzudeGv6ts+zQ0hUq1Np5ZNbRajE5WzZWhQFu1RWmrHnUY8q1hxY
iSaCc0jN7ejwVxg4ojZge9g9Tdjz+tOAJC3hl+9TEKzF+AlAGJEfyE7L5usHKD2P4orocdwH39PC
5TWnc3ld6arncDn3JCgmhDMfMdzPnYcxGUNZykL0LevHY/p0YGrkOWsDbcop2TxpcqVcXpCU7M9k
lNfX5jtL0et2jIEx7Kxz9DgPeOwcin69MhNBSfK9UVWACfsZ3YA7bU6T1cgJjA0TZx69Hfoh8px6
2rj1jSLPQIKyHNbAWiKC78NTJcdaa8QRnbNVAWg1LTOcJ0Y2tM4AAldCAFhatEXB1ZqI4nIR1fcB
II6Q526aRHFdKgljoTyq1oUDvsqjLdskdXXf5xc2nev0XQpZAMCKxnYuWi0rJOX5CjdO61FT3tWG
6CbLrS3dnXoi+XmBMIA/xzvSK3SepyzV1e1ZW27cK4SVAsTwPJiuufJzFrY77TcFZ007ezQcDC4s
zbSi2PNa9jaygDx2X7H1vMuCqOq+B6D7zjODknajmzPvV5L2xkY3rhCRH4Q3vf29TqXxh6+5ZNfW
UhWeyyeWe7r+jkUPZqJSZ+aSPdufOHziyWeOg3Dzj7//T//Db+giL/L8t//3n/Y83w9L99GnH/v+
Ew/fn2eptfbc88431hR53m4uf/3Ln3/jv/7J1V1WAIARgZTwFUCoZ8+Mb7Dv/HMPHVsE8CM3veKP
/mR34+ThLRXvwOniVId3LghrARIMa5kELLMA28D3fKWMMYd0/Y7DkDJSakOWHb3lgPeyLZ0dFfm9
kzj2IO/8oVkNKyxoNQpsUgzloHvBjCwvJXcBpC3x5MPm0BN2x0b7hqv0VXt51yYDEAMWZBkdIw90
whO5dzANcks5k2bkTLnD60wZI7PILdrL1na0Gk/buOUXHuhWBmNw+xVROxFGhSAHTnhwJNC6pArd
dM3bbrrmbbN3OxLfe+LOD33q58hrjaAireFEA8ZvgzFsLcKBtmnNWcJas+dTEJLyRLtpSaBaE0XO
7Zat1gUJ6AJFwUnHej6FIX3xO59+4OB3fuWNv33Bapgz73zJLz548M47vn8HgPHivNWGLaZSw0fC
FOUIwewUJ8tDW1PySp2uuLXdXPvs28tgw6QIVD4VQnZZMQPO4o7onCXshyu0UPqlEp8xvOIkREpU
anNQI6aHS3sHPmU5pymnGUchAWg2+7ntQdQ+MWmUG/gScUVobXsiMO2m9TZJImiNPIdSiGMS09LX
c7e2Whed9urGLkIp9jLx2FFMUWXCTMKuVBiqu7lS4vLKTCuslARNMLafYCZCtS6qM6e6bglutaoy
aWrNKrAogF6mpLyknipTuWc7mNFqsdYjOfXVNZ4ZhWZiHlF59UOhAjKapUSeszWjyMkYON3D+WMd
AWsv3KlrAzAFMTHQ6Th1ToJAlpcjqB/AvUqdBMwIQ2iDJEUUgghu5hmGZMfSutaWywXKg9ZQCsxI
8nK9JU3dgg+ioNQ8yYueQA+ZoqzxAMqcsdvh2ibek09/TROhZnMCCpYSUpIXkON209p23Q3fQzCc
LNQGWpcLQYWGp7q09ZldUa8V86zVuHR7T+VaEDwP3oBbs8sZtzqrOJEzDJ1x3mGdsV2luhfzCrrJ
3kYD4NT3LRgbt+5mBhMzu4Q7MzGYCGyM7gF3BggCxMROfKafdL/2Za/bumsPM667cu/5O7agO8Pk
fma+KwZZgn5mFiCGJRZ4+bWXnjjdbLaTPRdd9sOv+pF//PJfHTnw5OYt2+VYeS+BiiJvt5qVas0P
AgAPfveOF77kVdt3TWWoT4tmsIOUUMqCUEsPj/x1Yy1+5bX77njoyVzrKPD2XXLJPxw8+M4XLHzq
jtMWAAkh2J0ELFshyFpApEVqjHm65X3nFKSshOFuIgHwcnb0vuX6jbuKisdH9+czgLvrQ8ZEs1cI
KaANrMHSceo0TRDJDeeQF9m8gFLQiXzou/mzB/Vlu/hXbtZX7jZc4nVhGamRT3SiI6l/IvdySy65
XjDljNyBdVBqkVu0lk1z0WSJNQX7iVUTZwzOPnecqoXhjPuKjIswntelgoG8wL7d+3729R/pffjk
0Yc/9N9+Ynn5NAA1UN87QtNjRju1SBFG1CMrM6PTtGE0WhfrosiBUk0M1qLTtkZzGIrKQDGBMRz6
At1Mti4QxiQlgpCsRZrYZsP6IT159OFf/tO3uELGhY0jGm/lv522tRY9v3prkXRsUbCrizqTMAUz
gwS8SeZK/WAUGVvTm8/DmgFFtrFLay3yzmh50OAZ9X71AiqXZSYd33a5iczIU1b+LJlLIiifdM46
54kcrcGIorW5yk44aBiQp8o5Q5YN8UfjqpCKiimoHa7C0sKXqC+IpcVyIuuEUxy7phKTt36OIHFE
xTyaDt1QAsagsPCnCMuMhxMUn61wwlyS2mU5LMwKQViVMLpl5KbkyD7HUejBlPZZDH02j2KYGESK
LOCH3VQLc1FwkfM86c/xOBtEEdcSpwECZzzUtWdyJkQu/5rnMBZWs86t9CgXIgiQpiV2d52q59OJ
Y7oyLBlhGUtLZstWVa2Jag3WopOVnPIsQ5FZa6A8Eh45NrbTp6MBoOnyzaabBjbrCtwHe37fp/Z8
3+qhYSkpCEkqEpJcUtwySMEAriRqzQ3TBigrWcvUu5JQAXy/XKDICsQhgmAlC9W5m+CU6R0dX3RX
VwBYi0x3p500ldt29iJfq5mG1SxX0nY9+SArP9y8Y+/g+uIQA7EsCxMQVliwS5O71Gp3u01bd1x1
wyvAfO3ley+/YCczLFiWxBjiAXcIBqP8kN16ndsqCvw3v/Sa/37LdwqtX/O2dz3z9OPHjhxyL/yQ
jjsAIs8P/CAEykJaML721595zwf+z9VeH0N+I9q5qTgIQOh2YBqZrAOIAt9Yu33zghD0Q8+78O9v
/acfecsbf+xtbwVwrGneeHm9sCyFsJYFLENAuHSjsEXRaSdpsPE7B4wQURe1w/M2G5MeaC9tXkTN
56StMMFhudsqBjBKzVgxmOnQfn7qYb1nC8cB2yX9vfuFgdh7uXf6hD1xJLvqAv6l9xbbN1gGGZBl
Wsy947n/eDta1lJ3k+uaKbfImTKUKfZWwknHNE7pZDjPwgQFQIixxawpTRfDw38xfYGPCGFM/mw0
ORzW4oNv+cQg7WTv9n0/+7qP/NnXfv/Pfu2b8+9ndjx57OH3/97NDpwlHSslZalVHtU3yBGZ516M
9xdCIK6IKEK7bW1e+eDbPnrT1atbJVhVPHjoro9+9j3jn7OBKRgEL5iVILUWOhvly7LFVC45Q2c8
Ie846RA6n0WDGVxUYTd50PCmb+8qWXXGxSQLp7MXLmXFjPZAT+3mgcYO4c7eZLbXJ1pGbuEL1Oqi
0bVqckXbq6LxnI0gwBMoLFIDKbq2PtO3H0xbroGsMh69K2d4hUO7hV3DpU62f2bquf9/Dl8yizIl
4axwAAAkFQURiDnL2PHI5wmXEXBs7PUNp6YyYT5JyAvkuVOastZwby3LZiwUSUGO7N5J4PvCgbwo
FiNDMhGirqmTM4gFEAfICxQFu6xTbhgppCKhSEhIRYE/2Yf1TCouJkaZC3X4eG4pUIfXg4AYpA00
w60ZCQFPdlfL5yPeTAtrkfeS5aaUmVcSvo8wgKeQ5sgL+B6UHFKHm7ArhqCVqTJRAGakGXoXv9B9
d7AyCDD/K/UJs6mkrNkkIq5vcgt8ZdIdRAxmdmopyvOJRGnuLGzJdukboUJI+fK3vpuBC3dtu/Ki
XSgT9qUREXehuUvM0qSkO1mwoA21+E03Xv3XX7/HCnHzO3/qU//hN9yXhkUDCL262IF49tDTB594
dPeFl6z2+iyHe87pHCQAxFFxygH3l1x9UV6YDdXYbbNt80YAX//mbUT06In8LVfVGx0jiCDgoLuA
BQQLK6Us/PqtjxRC+FF03uDifhBsZ87vPdk5J7TLh03eomnUZufVsKqEIIH230lFo/i1t+dX7ymt
0ZOCvv199Y8P2FrV+8C7i12bLAOGxdEsOJ55h5LQ4fWC4f6fd1nsGSNjanW4saxbDZO2J/c6UluF
rtjqYIgp5SCDi9fZdBVw36cgWnUu+Udf8t4Lzx0lnNx0zdvufez2//J3H/v5m/+v1e1uSuzdtu/n
f+Sjn/ybjwHQBRc5uwq58btF5LhApEuZwtENmPninft+9e2/e/GOM3Jomh2fve2Tn7v9D8efJbYo
MiaCCqcThRk654m30lqeDI0Y+RjKnxHMyDN2OowT/jr24BkDm7DyppoDlOsbGesMyp/bkGY9wtUr
U7cZcUUwo+iWaYpJr7QzHnLyiJ5HcSw63arWpMO1hR/8QCMJQkC7xOHA54L6IrVu3cB2SfwE5Kb8
rhoTlpkzrNN37+7R7dBJ3PR4OAxkZog67BLt3llWcF/HGCR/nw0i+BrCaR0qiTCEtSg0nHGjNq5O
mqRHGysoMk7adjaoclx8l3xddwbRtAFCa+QZ8o6d6AaYdwyRIoE4Qpohy1EUCAJUayJrD52MFIgr
ooSADCVLvfa84JEqQ6PLuYFQZK0Q0YTM+rrPW9B9YCyXiYPZ1FPlURwL36esQKbLJvmqvC9KQgh0
UhgDtd6tdQXThUbgw1OoROUlDQN0kllTGpcemj2YBAGEQKERRSXKT/N/Ee+RY6msmXbErrJn2tBs
OT2NIEDj1JGFLTupXNRiptKGCeD65u21TVubi8dL7A52aLrLfMELXvraDZu3bdlYv+Gqi7uM9vKv
5EA8+osvLulODHST7uga9FrCuedseM0NV3zljge37tz9ope++u7bbhm/az2QVOredKUmb7/179cA
3DO1QMQCsCDJWkkZBd4l520nQo+r+rwrLq/XasdPngTQSI0QYiEmdnidwIC1QsCeOHk6qm/42hO6
UyCO9xANzbyJZBie1+k8cSLRAE4/Luo7prZqtWYaTz7MzZPFb70721yzrsAUQKDwiqv0S59nvns6
jCvymcR/OgkXc69ppC7BOhW2T4lxVafNjl08aTptmyYTez4A8Apbb2VRZgQwQWBhItQbVEKwlrNk
6ImWkoKA4oqob5BRZWXUPtKyalR/702/NHHLX33Hv7v/6TvHC0/XHO+48X0vu/o17ue4IoSgpGM7
Y4tirlYS3asx0pUbw9fsftV/fP9fnj3U3s4aH/vcz33mm58c/QND51ykLBW8KajdQfY8mYzaMZ1h
mWe82q6KLfJsMiF+Yv/rpCqyjp3mDCoV+ZGwlvPErk1PYLVhLVotO5hur1aJAc0IFDwBSShyTjrc
atjmsm0u26TDWcZgeF2bBsuI4n65c1Hw8tJ6lpOuOYjgS4QKgYQnSu8k9wIykFukGsZCEHxZ1qR6
Xd8l5xk5usMud2Ja/1LYEql7omS8uEMTUFhkGnpAsdspxHsCvkSg4P+vg9oB1KoijgnAQk1Ez+Ea
0YzoicUBJa61jCBAHMHzICWMRZKCBW3YJGt1MYP+4aqAXLXrmTunzhnWQhc8bexiRt4xWQZjEIWl
dEOSlkawI9HJkOYggThEFCArUBTIpws0Wc2m4HXXz5kW7pK6udMMrqOUtGGj3LBBMpGD5p5C4CEO
EfgAI8vPejm1iyxHJ4Ex8L0ykRGFZ7RDpcoUu6dAbv/pvwDUThAeCZ+ER9JfOydzPG9Vfu5omS3T
OHXkwW/9TePkkRK1o7vy2OXE7L36BiGcaLsofyBBgoQQl1zz4itveGXgq1ded6UQwn2Dh8KVqPbI
qux+4V7jeh8BDFx03rZXvXCfIHrxK18fRjGNRXltBlC762UOPvnIgcf3r/biGOFvesH2bS/fE54T
+Uq9/003OoYMEUkhbv3GN97wr37s1OLiDS98odv+RFsDRML9JwS5q0JLp5cXFupffTRbTGwU7RZi
AjOVSIXhTpeGb52c+ni5IXJ2JAkvL/PSMi8t8+IpPHaffe9rDHz1WKt6z+kNd53e+GCjfiwNCiuY
qe7pW09uum1x4alOeLJQbUNNIxqGGoaWLZ22dCKjIw1+/KB+6P70if3ZqRO605nQ8yljq51ix7H2
nkZy/ia+7hXd+gMlSymJ4RhaLe913MzotPp9XxgJzycxVUt6coy8nL9w80dn6D/+xrv/+MP/7V17
t+/btmHnXHtfKT70jk/sP/D9xc5hJ+Daads8YyV5sJRWKUoLdtojRENOh8z4yVd85EdvfN+6NGZi
PHX84Y9/4RcOHz0gvdFHiRkkyIsm58CshdW9xeWpN2Ni5+gcWycGW7BlEphYc8MWOmc1Vmg7Yw7g
mDMmZ+mRGFvxIAE/EtbMpPSsRzCj07HpsHpPFAupiAFPwFp0OrZchZjEE/M8iuK+GH9coeZy+Sej
udVgz6NKTYyv2JztcO9/30UcA5LqtlwrKAx4OMndXXvvTlcscgN/mHHuaOs9Xs3IY6htqSbpdX0Q
3XEFQXUz8YXtS82oSezVXgLpXwQWnh7GchgQcylW/S8hiODJshbTdfCu606SMksaSmQ5tEHbwFe0
YZNME55YrupK59dGiz+T9vdeFqlIeiJPhlpgLecdA8g4gpJQEQqNLMeI8jKDrEXgw1cAoA2KAlnH
jKN2PxY6Z6uZaMAz7uyHO5Ar94wiSifJ4lVrIq6IvEAnBRy/yIc2yHIYiyiAlJAWngdrEXgoaAaJ
dx3CMjopfK+kOQmBwJ/85FvDWQalUOQgmqBMIERfMs8YpNn685HWEEQQ3kC/QxA+2XwVq9C9sIYn
ltg5QC99mBwApBe4PLljy/AAW2bnRc87cfDxo0/td5CbiF079lx29XWveSszXnz1pZ6SzMwlA4aY
3KYgOOmZ0aR7yXQHiJkhyK0qCADYd8EOY+037330RS999W1f/duxK0Pdf3oeUeUy9N3f+sc9F122
qovT8rfnrbxy7oK/Od4WCk/JG6/uq7k/tP+RRx57/EO/8ZtXX3HF177+dQDtzDZSuxBJx2uHdSQi
G1ei7x7lx08Vvn+OlNVph5Oy6vtbs+xocmLtnrqNBg9m4hrHpfJto7rw9RNSMyqKCdBMj7biqtKX
VjuBsG1DZYq9W3WaMXVyLC6bVpuby0YbNtP1UuNER5mOk2LTJm/zlWLbHoor7HtWuRsrZemTNxiD
qIvI6ZCUvkWmTEJTXJ1grrRiGDN0rO0bd73u2lkc8W0bdv7M6z76sc/9/H/6uS+u+mCTohrVP/6T
f/SBP/xxY1pSUlwRRtukY71A9k7HDyhNkKW2yHlQ+6US1j/+E3++Nv/UOePv7v70p279+LS/kphQ
t2cNWwM7Sft5Woyom5XVq5M3BRsu1w3HHPVcGA1gCLvP0xK3MoCcScAVWg1WxAp5dlG71txsjib1
lUfORImAeQTUi4KLZfZ9qtYECJ5HYUSDM4Gi4OXTJqrIcIrC0rpHYaFt/+YKKrPsI5EbkEAw/CcH
snWXIORLZAaFgRhIhEtROjQZBg2vy1uGtpBUovaecGQvHEVHW2iLiVxczaWYbq89/nRF+R94dDrs
L1DkCtbnUON+DkJbYltqgBCV+l1EIAGyZZ2Sk/AyFrmGtogi8gPRWLKDyWbPL9VL3aDi0rpKlmn7
sxdKQXkkas5gmXTeb5MXCJ1bZljLprCFVy4XeApSIB8DvnHQnxNmBYrMukGNCNKjvrgCI4jL7aTE
mJzGOkehoXWfHd7LuI+wZZRHCwuCBLUSwNFpBESXtoeu14G7Zc5TtjwFkKSz+yjmBbRBFJR1pbb7
vAEwBZuuxFYK9LIdQkB5QnolgnfZetdH5TmyMRvvH0iMovZuCF+YcT3gFYNdtotGPnT7qW6Ty4dM
VNsU1za6jzHGlmHQ1S+7mUgcfephl0NXynvei2+66KoXAbhg59YdWzf2aOxUkmmYuyVYTIR+RStb
QHD5Sa9K1RIE0J0p4MoLd+05d/OuzZW7b7slTQZEfHoZ92HU7v555slHW43lan0Vmu7n73th/uCf
AZC+rKscQCXqixnVazUA377jzuXlRu/DY029MVYMWAgIW2TGGHMi87755LKUse9vnX1Ez9tsTOfw
/Y29j4WbLl71C+L8XgCAxanDdOKwWT6VX/a8cH/LfzaRhQGBt4V2Z9VqpuXMfybzN3q6ZUVJibHU
zvnkom22badtC8PGllIQ4yEt15t5lGnP2F0XeVt3e5UNkAJxxKXU1farF5RXlgiXWVgqxUBc+qE8
566TQg+1+z5Vhg1dezfWjdbWdH/g0rjB/ee0pQbfjV9800cvWolwct45e585+eQ3Hvzyiy979Wqv
+MTYXN+yubbl1u9+zfNJCPJ8ylM2pq/P6DTInJtJVBFCEAjP23P9v3/f/9i2Yde6tGE82lnjv3z1
//78nX/ifrXaCin6zqmWDYlyAczCalgNU7Ajsk9Kb48z9/s/yp6CpEt+myEcPxhu7a5bWT7kDOcq
VsrNLNj2TbtcCyfE+DMDOKEbo9kU7Cyl2AJl+gHELJgHnVOFFJMruqY7p478lia21Rya5zhh+DgW
jt3Ybo1m4mekf41BUUB5cM9SEAqjh5Y1ihzGwBtbeKWZux0NhjU82zk16+qmu5Q5oaTgM5fgm53N
BCAF/EkUdkHQDMulSK3D8dxPupPbp0Up2ti/D4TclZZ2J/mFAXXXwUcOIag7hFG5Z1dR4CqEPEEl
pQfQtg9WejHunKotMYafzMF/x2POy17mrmAN9wbdro04mOH7JASynHvYxTl8ofsYl+/Lyoeb9bZO
CykgBQ86pypFfkBKgASYYWyZbJYCvl9SZZwLaTUCObE/AympUhFmQDuyUilNEohICrhKN8vQuqRl
T14PmfuqTv0LwfOglFs0oB7aBuCHkqjvL+F1K1Pdt0zR90Fkw2ysN7DyneUw3bypFwjpkRmwK/EC
CgME3uTK1KmNnnGyky4OM5KsJC+56ZMr8SwnQoSe5V8UiQ0bpAV1MgAIffg+0gzalKKl7q3M8jIL
5nbl6n1hDNGAc+rQuLCqdfFZmzJDm5JnqxS0gdGcp9bNrCZ8n2ENm4IBEoriCFKWNamFnqM5c75D
Y99alXNqqSc76bEmQUN2hPM+5zQC3Hs6y9wJlg7orXv2LWzZRV1ATANMFJfNJil37L3svEuu3rht
xwVXXHvtK9+0eft5QpDvqZe/6HIlpUPR1CXl981XuzlyQu+PbuEV3W+AXPq9qxrjNg08b9/eXU88
/uj+xx5juCHf7ZAETUDtjjRfqdZ27rlwxeuxqV4xlo21F15wQfjo5+q76jrJa5teEO56weBmeVF8
/ot/B8AR3K84t3KiVeza6O/ZHPRmEKdPnvKiymfuaWQacXzhynrYgJRVXSwdvkdf+Eop5GTn1O6N
m/BZ45Q68BAevVdny/Zll5tffktxw97CQi54WMpoKaGTbWobinykVnQsnShUx9JShsMn7NPPmKPH
zXLTdlKba0xT2w4zs3kp3bicbY75ymu9S15EG7eV4mCVqI/QlDFoNWylJgaT7sona9BTnnbpdqf+
6zbwfYoqo2fr+gg7OC+d4+FeMd3ei3e9/APv+J1rrzr/+tUKvU+L11/39nufuPMfvvP5MBJBSH5A
ec7W9pM0vk+6YClL4vKPv/QD77zxA+ty6Inx+JGH/+DLHz54av/U68ZcpKuUqp4eZffKyNPhOmNG
qVxLpTT78NfK/7MpSzlJ9vkz1vStUtcsIedWD7oHIwCe5HUUB2RGu2kG3a0BBCFVBhxY2007aGco
JMJQ+AGJAcJY8f+x956Bdl3VtfCYa61dTrtFXbqyZMkSttyEsbFpwYBNCyUEXoAAoQWIEwPhJTRT
krwvGHjkhRKCeQ/CB04gIR9gML3YtAC2DAY3LLlILipWs3TLKbutNd+PtfY5+5Tbr2x/eW/8sK/u
3WeXc85ee6yxxhwz5bjFbc9MlvHkBI8uk3YFuTbc2/E0iTnLdG1IzKVV1sKQGadwt+vIrUElM8gY
rF3IjNVQ1TRGFCu0JxqJhichCFJAGxTLmZVwLvZiwbpmMMPLZdrUzvCnyYcRBJlLhqlV8XNbfPHk
JdyZBH3c/SEFWVNoGyyUeySnGUtJbb7LmosP+IGhuicUboolXK4Zs+vuZAm6jduT+YTNGh7iFFGC
wMfQiJiadPPVKOIsYyFICA5C4ZPbVZwi0zAxyovzN88MOwinhQ6dQpKQICGYYTR7wfwWe5WE9giA
UOQFxAwSXWLHiY4fZXYG7mLiodZIE27EzIz2KnylKqo10YqRZhDkSkLR9sQbtHJXiZJ584HCtyx7
qPxlzGhFLgpGEjcH2ZD6X5LGBiBRFobRasGYBfDxpQfn49V0IILwhUmmd38O3K3mnnzBtvG9drLG
T+CH1VwdH+CWsaWoAEq1ocrQme3aUzBOGVvtex6YDYFyhwyh42tnp6m7OBkb6p4L82wYomCYsQnx
sL8BmPGG17/+Jz/+cStO00xrY4zJ16ocwe+wdotjRw71XLsQZP3aQ5XwrFPW373v8GQjeunTz9fa
XPntX6xeNqz91QCEkibuTUM9ecMGAIEScWYAPHHL0N1HWqmGsFmQwkwcm6gOD33rjsZkpEuljTQg
u3rghyjDcCxq7d3xP7MnvnmOXcqofpwO7+c9t+tAZFvW8etfqreu1Qwwk2E+udzaGwUbh81ES0xE
uP8oMqahKtmUmDvvSJOMtebMcDZ9rrSXmVKUDdWTaplWbhRbzvZLVRPFOslXogK/6x5XAJhRnzTD
o8LzXHv2otaOXDBr+9qV6mLtNm13wQU9r3764JrUfnzhxx8H8IlvvG/jym1bx5bGqfLmF7znrv23
37V/ZxwhCATAcWRK+bKp/a4aw+XxJ62hAAAgAElEQVSg9p4Xf/KsjecvyUEH4oe3fvXDX/nbVjrV
jns/0bBidhr1pgN1Bl+GyQY1kmgz+/yfXX80SCL2QlpElPAJhDGYmtTFulgiVKoiCMh6PxSh1eIi
ay+VRancq8QQwffJTu2mJk27AmhywgyPCDsWhyXyPFGvF/LsNCbHTaUmFt94qx+ci9P9rYs8CcFI
NWJrcrNEfPpdSYIvkWrEGTwJJaANMtMxvdiz71k9sGK5ABLtNMWZ8+PtCUgBzS7Cud/SQ4AvEWdI
NYIT7GGYF9oBRK5ON7+JpqtIe8iQaqIMRSk6V69dDneUOIEWQMMa330kGeIExnUhNVGL04TTBPZT
mpo0YUlUa0IpSIlWAmOQpAgW16FzVhAgFVmJ3QuE59lOt8IWaM6ojvci9AFQ5pGSCHykKXQgEhux
8JDMCW2+oRAoh87bMDVpolbvg3NoWIZlsqxdCvgeWjGyDKUQgY8oQRSDBAIPnspvruJCYgzDJOZp
laF8aW4BiBMkMTcHdYaaDmnME8eNCsWCxZ0lT3CqN3jWlsNEkIEwKc/rHu+ypBbWrifuYQBDK8cs
u7a/tT87rwvBpcgQgTn3t9itxBlbTnItljr9m9guYHac7u6lsPSdXSNVx9ILhhkD2JZMHePjGWec
OTRUE/U6AGN4qhWnqQZgq2S1MUXWTkT3373z/G0n16Pk9nsODFVKTzx7yyljq+594OiPbtz1tPO2
nbRq2fatJ/3413dIIaQQTz33tDXLh/cHy4EJUsRJF3H/1W9+I6WUUm5cHuw50soMC4GLt43EGYOE
EIaNGB4euvlAdNuBluctm8Ha3g8pq56/4siuw3t+pNaeO9OWrSmxf485cF9Wn+Bzt/JLnqifsM0E
HhuQZjoc+wei4P5WMJGpjJEyDZVx+Dhrw3sOYGyj0orqLa5HRhue7mlLjEozLcVZKcpWj3mrTqeN
WxWEAQxzV9ZqzwClbEdi+8Wyy14938l29+P8slGu2KVjFzG2GH5WLQ3NUW6/9d4dX7v+cwAePD7x
gX97+8ff+IXKdGmc8zyB9/7R3/3lp1/x4PHxqGVASBOWkpVHzBy1jBA4Ze22D7z2f60eXZq62IH4
2Lfe+cNbv5oyZykbMyB68kRAJ6wLgtZ06G0CV1iqbv+m9yUGSYupp5zzEQCd8eRElywkJGo1oRRp
RmoQSNceq71BpSaCGUm28mhkmZyccLbOLONWk0tlSg2I4SkaGqZG3SR56oWdJ5erYskt73Z0mK7Z
tiSQRGqcuaVlZvnoJUEoJLojROkCcU/zWBht3DyhXasa50r8rK1PbcyzL5AykEv1/SDbnc70VmU8
zMi/3r2VIY+A+aprO5pz90xDSRAhCOD7rjK1GSHwrLwGKVAO0Mwl3jZ3L+4zapks5ZFlkghBziZP
NHH3PGRaCElEJJWjqqUFDY9E6HhoCb4PbYiEAEN6dKJ97cyw4pk1dmcZHz+m+82N5YoISxTlrL0c
dhSxJHU1oJ7qyG/WvNR+QCcp0mwhZUG+B6Vcb9oFXFpUn3c9bBIzY0CewVxgNf6pOfasmgOieB7P
KuER676H4AwodJYuMv7xvZn0AuWXcjcoA671JcG1OrWMvi2TOxWesWrFsJSSmQ0TgQ3DyvP2BW2n
u7FVqO4uZ+PK09pBkJT/MJi7P/t3n/PlL30JgJQYqZYzbYQgJSURpZmO00xKUQoCbQwRhb4cGwnG
1p8yUi2dvmmsFHgANq1bsWrZYythAEAK8bgzN9s9bx5bCcCaW4QkE3V1xH3lJX/m+z6Aki8v2Dz8
87vHicS5G2vX75kkQDPGHzxWGh751m3jQgSzWtv74fsrta7ffnVUXUOjm3v/miXi3l3myAN8/Eiy
aS1e9oRsy1qzYsithBxN/LvqpSOJP57JlCk1lDFSUDNFTDAwcWIyjXv2pUPr/CMH0nia6DwvM0P1
JIyyQNKGU8WKMX94mQl8W3HrPHUCfsRaiFJLZ0lSaujU1iBL8lWlJrTumEOs6F48VHtEq9REmrLv
E8gtvNov+6xf964i1+5n+RxZO4D/9d3LkS/73nt456e+e/l/fcF/n+NrZ8bm1dve+Lx3f+Tr78wS
ThJOUy5GQ770aa/909999wwvXyQOT+x//1WXnrnh/DM3nH/LvTdELaRJV7jNCYLJDJjEoDB1t4Jc
lNQLww1zLzUZbAZg2xyKxXw7158wxDE3uh8wStHQsCBCkgehEFAvfPrlShdrT1PWBllmuwmSl7MW
IlSrNDnhnnpRy4QlqQiJARt4AtUh0axzkQk160ZnVFnS1RXb5GgG7bCY3W6TYWamKwQEytWbWgtc
K3MxcIZdXmRqyy0Aw85KKQtJ7TPD7gToql4dCCWQGfQtOz+kIEE9N0K7LKzzyz4p7uGaacSJixxI
MxiDcskN8kQIAxdLEiVQ0uVn20ySOEOcggi1IaG1SbvDTLOMJ8b1yKiUMs8gNwMSgZYQUqJSRpqR
KMxDlgS2ODLLCIBSJ/xjsvJwuyvC5LjpZ+12TcORbwFPgQElUS0jSdxkzMbItGFtM0pCKahF5BpZ
A0/gD07VnBlpNEv5/rQvjI305Hz7AwgBTy2l3E4EnqfARJKkIKPnJL2zKfQgL3YkzEin8f5dN2w4
84ncCVgntoza1smAYM0zQEd0N1i/epmzwVieb2MdmWx/VSu6G2LhOixZicTK9rn/2ZpzDCAo5+45
nzMMQQw87WkXXfWVr7RPOJASuW8+8L0w8K3WHgiPiIQQU1NTBJx72snFy6+EQf/PxeJIEoKzzhd3
fGIyTpI4SQAY5sefMnLd7gkCDZf8czbUhKDJ8clytfLFGx+MMpRKa+dokulBGK5vNvfc+Fn9lHdD
+QAwdYwmjoq7d6bNqezU9fyMbebCF+vQYwZSIw7F/v3N4N5WGBmR5RExxaCYO+5Kk5QxHmslUlA8
YVpTOuoruZaawzgbriclgZVrad3moLRcJkYTiRiqHqlGxhn7U5mhvB5BAJJUnLAiFRBLQCFVxnQN
iFanaVdZFUc0IRAEpDVSPad5OTN0ym23dH4ASEVtH86zzn3RXN7lH/zmK3sO7kRegK88XHPTVZvX
bPu9x716Li+fFRdtf+GeQzu/vuNK6VE6rv2AdIaSX3vXH37od85cmlrYgdhx1zX/dM37X3fxuy7Y
evGOu6657f4bhECWcXBChWp2RY0zQCgyWaF6oihH9LD2QTX4XcdKWUxnpn4I0WqaVtMUTyMIRaUi
QIh1x/NtDNpkxebD2J+ZUW+0MzcoyxCDpUS55JI3pKJSSTRbbrocRxyWXBFnouFLlKtCKm5Mdd75
OGKjTW142v5Z80WbB88F7ZLTWQ9uLe8sEWXOQ2mfmlley55xJ+bCn/MoahWrOVoU7JSgre4/LOix
RANgwyQp0xzFyDQD4H4d7mEy5jO7/EcL2z2nDSUhQ7RiZBqUIvTRjMGMMHB+dykwPCIePNLrWk4T
ThP2ArJhNQ/B6gLR/Cwx89qzd4JXDNqwQ4cdK6IWZ306nPKoNiTshEpI16BUpKiU0IpgDKREKeid
YNjFdFu9sJhhJM1cnI4UaMXzoMVsoAclSQch1YZke47RanF9csBcJY2NX5rHLe37CDynRy4NCEVp
SSkEgUuImoXkEIQi8Oz0nU1nlC3ulFIfiJO4CWeM4dzTYum7c7bAUXk69sBeNmbl2MlSilLgM7Mh
EsyGScI63QGQIQjOHfNOy0dO2qmTMNM2trPj4uxSIcnq7iRo0+bNVtfvnHMe6F7MdxeCiISUcu3a
tfN9+2GJu+4w3F133QlACtKGAVq/PDxlVcka6lfVAoYRQuyZwB2HWp63XMrKAo4IgMgLgnVR/f5f
/zOveCI/cL+pT/L2U/i55+jHnWpGK8yAZrqvWTqSeHtbYVML64fJmBLu9E6KGeMTZmJS11smM1wd
T4LIseeo7kcrSu0jlqKsFGWVZuoNqdrW0votZfLlkVTHETKGAExEGtCAIPaIFCDBba+DLWbVTAQI
IpWkEBqe13m+2NgBOwUvNt0w7MSb2cHIUh68lsQ2LoqVT+tWnDRrmIzFv/zgY+7sM0bez+9T37v8
rJMv2Lxmaczur3/Gu2+794Y9h3cKgTThLeu2XfbSv1sqJ/1AfPFn/3j9Xde860Wf2LRqG4ALtl5c
CYcaany6tkSrR8ZWVNbGWhKwfVPHbX9wfP+h4/tBqEeTdz+wc+aD8lxEAsuoJLHpi3WnDnEnymtS
Z2N/1ihvlZU1I2NF05F93e6Du+rR5OAXLwUadRN390oMS8I2Rk3yWSgBgroS/YIe1q57L1NrNJpc
q7qgmLBErcjtLU04LJFVtRmINTyJICQi0ZjqCFRpypPjZmhELL4tpZkPDwYgCRnmQYWpsHMGfNnR
m9NcxpkXR9UGNJ9OdYKW2NU6X5Ag6RMzYPL2QIYhyBg0WzlrZ7clRB698PCdcPFGb9fOWm96GICo
Y48BIISNhEJZoBEhilEKURsWk+O9b3oUsRc8dGHn//nQMxZZDA0LBqIYRCj5Nh4EUqIZQRv4qhN5
3owQ+m6ho+iCXbBf3MIGSvqeXeJAms4pv18P0oAqNVGtdg0rpRL5vjx2tNcdZKZ52PXATrFs1ydj
0IqwVCNBUVQiwnAuo1QqlCQcxZilg56l7yA2zNNnMXM7Tb2wwdTRGIBUATom9Vx0dyWqViEnEDPT
XTffcNNPvimVGl01dvv27W/6y3esXTdmNzMgwbAtT7jdFjWvUjXcjuTh/Pcgyrm7jYkcxN2XLV9x
9vbtt9x8c1f3pW7WTuRaQj3pSU8aGRlZwEdAAqw7ivuP/+PnAM7fPHLd3ceVICI8bdtyexADo1NT
Ghr69o59RDIIVi/gcG0oVfP8FUd2Hh0/aF73JnPaRrO86t66/a3wvlZ4JPEanV6nVmLv9DqNNB05
kk2M61bLDAx2lPmtESR62Xjka7NqU7W2sRKMktGsKYVOR5UMZSClznSWasNsGLr9mCXAF14gfTvl
NawBFgLMWgEwBnEMT3Wkd08hSbvUCLvkOpenkNGcpdNE3bTByGJ+wmkXz+HtxS9++/2Dx/epQrBX
+5nxvn//04//ydeXxOwO4N0vvuLPPvl8YPxZ573ozS+YqSHUIlFvTf7tly5dt3zs8pf9cyXoHOWC
rRd9+/hVVvGtBENnbjh/47JTz950weqR9auG5+qwr0eTux/YddO9O26+54ab7rmh+CfWPLOMwKZP
MsyZOsH1aHA7sLUvmWvADIAkDezNBOCJ2y5+9Kbzt6zbtv3kaat769HUrXtv2LH72mtu/xoAMLRm
nSz2acSdAJkOKjUZBORYe/tCCSi0VQLg570M44Sne4YZgzhxz1QieB7ZY9n9WOJukWqwgB+QlGJy
vMPdrdt1aESoxblA8o9lrrCOlyx3y9jC3HyId44X0c07reYNwJcQQBwzEfyATC6f95A5ztNg20FI
bReNPdy8cjwEndDGMoMhJTyPipXKRIAkKd2j2mjjFLu810EhnRPFV/kBpWlvIfhDBjvIt/2NJg90
LwdoJa4HUFgCCIYReM5RHQYUBF2XD0DP3d37fzEI/VywUhVKUTMCs1sYkQK1MloxtIFXYO2ZhtZo
RCCCJxc7PMKaVwVIAuz67PoBPAVPuehPmzwx3YH6ZSY/oEp1wI0tJWpDvfNAZhgNMY0JSgprSoSS
7ptp3f8kIJRzbfe4OucFkp2sRqVQqwoiWMFUCXg++T6YKYo5jjFz6art6AnY1OY+y5wTOQqXpoPS
SNY8lgtpjqJ3sl+sYYZz7Rzg2rIVfhCUKtU0qu/42Y9/du13/uJd/+33X/wydj1TwYAhiNxsA9gq
VYZ1xADI4+Gt2b1QqNrD3Qm5HP+Yc8+77dZbkVN2FER3K7Rbyb1Wrb785S9f4MeArknnL3/zmw3L
S08+ddl1dx8v+VJCnDFWiTMmQc3xumG+6ZB+sJ6G4YbFV9AF/mqCSI4f/ubn6JR3igeUuq8Z7o+C
hClj6rfEWIl9ssHHH9QTx3WqebogdsAJJ1Lz8uPR5lPEprMUIyJy7LqwGXyJlBFQ1wVJYQl5bBhp
CrRb2mgQCh5Xe4v6vk3t7Kyr2iyC4vfQOP7nsj05L3xgZuOuY05v6LPPm5PB/aqff7b4zyI5ODS+
/yNXv+M9L/nkXPYzK1aNjP358z5Yb00++7FzMvAsDLfcd8P7v/j21zzjzc88p3P5jXhyx53X3nb/
DWtGx84796LnPu5FVoZfAKrh0PZN52/fdD6eino0+fOd137vN1f9ZveOubjxTll12qXPHWDoL9ji
0J/zaP/6iW9fvvvwrqLffc3o2Ise/+pnPub3q3OYWVXD2uO3XvT4rRe97AmXfurHH7z+7mulIimR
tBbSss6CGZMTuufRYlm77gv/sifeXsL2Cu7/mUWXJOEwaI/+1N44sx6hAqw1xVM0NCLqU52oGWZY
3X0x3J2nUdyZUZ8wacYAqjURhJ0tPIHEuHTIHsFeG8eSpYAlool2KpcvQQbHj2f24aBaNDwqUoOM
3eRE2ZSYPPqK8nuW4XqmWnM89Vnb65MmjhhAqUyVaq/nxp6b4YfUe+L7VAopDCiKWWsUHQ72mWXD
H0mRyUz/3JUISpLvw/eJCHWDAf2slxqe4MQMeI/SAvPItCtitvpuM6+GBDnju5TOgFGpiSQZEPO3
4Bix/zMhC6oHdwcgkoDtjao1lESaIk5RKSHTSDMoWaipRYc+MiMZRCWJIObCZG1DLpEbaQEQhAeT
IooQkxPyfA/wAMAw2DgGbz96q2X0u19myMsKSzQ1OcBvZteoSIDgoi0FOVsR5Uv9qbUDASRAKr8E
CSEdfZ+hS/fgN8CJ5a5CKQyI8yYY9upIQwooQil0HdZaLW5Fswjw5HoIuqU5Zx23nzszWS1EoH40
GXuKOPAfqjV1rF1zapgkcV6KitwwY2tIedPp5/3iG1+wx/F8f2So+uHL/yqKWi971evaGTLMYJAB
YN0XxGByBY9g+4M1u3cVqubc3VLyYq3q+vXrbepqD3EngmPtRMuWLXvb29526qmnzu8DAPo7Pt61
e88tt9325FOXb1xRWVnzh8uKhBAGgeIsy6Ioro0u+/ate6QsK1Wb7+EGYuyUMwxvuP/OX7/33fzU
S8rBaq9uRGq6LDEpUwxEGsePm/HjujGlB/Y6VdqIYhGUIKl51YPNNavo5LPs7KlTpF5Ez2+EQOh3
Odh9r7dwXBWDGpgRx1BexyGjdddwb5E3nOulb/N6nlZLQ1vXnz7rZofG999yz47OodPeHsLX7brm
6us/t1Rm9xPqaAfwtRuuvOqGKy9/1SdPKTh8vvizf/z6r648c8P5f/6cD565YSkTJ6vh0DPP+f1n
nvP7B4/v/+CX33HTnh0zb//ozec/etPCT6B9b28/+fxXXvjGGfT1GbBqaOw9z//4tb/92ke+9y70
NDicD3TGxRxGAL5P5aoUEv2sHfnDy5gBX+OZVdLiX2ct1LPPPE/R0AhFLW7lhbCWu1eqXcR6SdBq
mDT3stSnjOfJTj95giRnVfdEp6LUvRWMjGEM4vwCbW4jgDjuWjFIU2ZplWjXEhWWs9oOUFQYYYBU
d45YvNQ44jh/KLaa7Hl8IhIz54tWi41BKaSy9U3lV2IMpqaMMSCVc/dcvZMSQ7XeuoUsQysa4Gw+
EZASnhgwbhdRpN1Wd29ELsrdIvTRjJAkKIUoV0Sj3nsP2K/9ic4+/08Dyp0tAeD7lBRW9qw+naSu
brgZ2fVGxAmk6GLtwOz2Fd8DspnMiyRB04W0CogArMEZktSdkpSuaSuJARUsrcner7Q3KPCg89eC
tJH/BpU+o7IlHlrDmPy7akeSQWXEbgbiVozntAohVGeOXatR4FNmkHQvLLBtfwGQgSIogUqFAMzC
3dtnRYDsOlmS1E78KdW8ymrdOMD7rzsaNSZK1RGbtJ470S296hLd/VJ5+bqNrckHLZOO02xsbN0V
f/+BkZFlT7n4GTtvu+WuXb+9c9ftD+zfZ7QBYfWaNU940u9c9PRnrVmzBgDbvBmru03D3cHFWlXD
oAuf8tTPfPpTx4496K6p2ykD4LzzzvuLv/gLe4h5I3NhMrft3HnJy1+xfNmyFcuWG+Znnb1KEK0a
CkbKPhFseLsgGl0x+o1bHowzE4YrF3K4bijfW33ymlK15IVrz/id373m83//g481Tn/NcHmjKFpi
YqZmwkcPZ1MTOo4HS+x+aoan4jDWYNaKMs2aKKn5qx9sblirznqisQtEALRBNKiCPPSdbgIaMKja
caAZFU6+5y6g7pfZ5dTeO4F6SfsC8JitF8xls+t2/aD4T+XZZvJdZ/2p712+ac22s0+e0w4fLjSi
yY996zLNuOJ1X2sr0LY4ddPqbR99zdfmboZZANaMjn309Z//2e3XfPBL75jBTb5l3exTqelg5fY1
I2OvvPCNz3j07y94PxYXnfGCejz56R9/cMF7EJKUYt2tMqYpB9LJTCeCQ83pmQHAOsq6H2BSkjwB
mXS6m8Bpw8WOs+0zMAzBXQzbPjzaDhye8R0rbkDt11Jv+cMMC4s94kuWPSKIuy3Wb8/HCnpnYSHI
XqTpeMnSjIV7xDnh0Fb+zRoUvVTw1CzEnY0zMsHWOUj3YEg1auXOTmzCSalMjXrntb5PxoD5xObJ
/CeDjXty75sk5MSdBEolESeuMpgIlRIYaLYcj7c9yF3v3b6w5n6oWb9mlgdPV0RuupJPLGWX3ZHQ
FnNxwM8FhqE1qLuBg5RWN3b0wzjFGmSmPXOb8jTH5Vnr5bbDnR15rDNwoAtM5r5BLN1Ck6ilAEa3
iv2/4AN3/mrzORdZo4xNWreae+576cTLnPG4i3561WdqwyMAtOY0M2NjY+9/79s+8FdvD4KgVCr5
vi8EKeUBmDh29JZf/+pD7/tv6zdsPGXL1uc+/wXPfPZzFMmcrBdDZnLu3pMzw+z7wVMvuviqr3zZ
Mfb2f4EVK1Zccsmf/s6Tn+yphcZXm8iaPh44dGj33fVbEw1g08rysorHwOljtZGyByICZ2yyJI2g
fnnPpJRlpeYR3D4QtWVDy8dWKE9VRldue8LTqyMjtWUrvvzht/72yomT/nBYbQoSRgyaqJvjh9P6
lMn0YMtCKcpqjSSM9coxNXaKAvO9v+XxY9oIqkxEG7d6p51rhOzUokx313QFvasB3L3n6F29yFXB
5m6VeOuZseGPbXhBvhZHZJe3wDDM1iE9x7XgucjtAK656aq5bPa3X/yzz77lR3OxZDwsuOfQzsu/
cunzH/uq5z/2VfY39Wjyw9+8bO+RnUuuss+AJ51+8Uff8Pm3fOoV03H3LWtPW9ieb773BhL0wse9
6pUXvrEaLs0a1u895pXX333tjXfeMPumg0BkpSxul4IZzY26zjJRqQpf9uordiOlyIr0xW+x7XUw
HYqPtOIOB2panoQkxBG325khP+7QyBLEy/RLbV5AbeM+EYpuHLve5wmnLdlrpMKchtpx7IRMI8sf
n0Eg2h1h7T7T/E9Wubf9UNt+G6uWtYuAPZsjabpSI5UPFIKZHwmsHUC5TIFvy9QG1Tkw2g4Zztik
RihhDOr1zjSHbDxRSGFIhtHjFz9BmJVSG0aj1fmnDCEFfIVEI0nhKRc+KMja3yksiXarID8gOytY
8PP6/0xICZMh0whCinLxrFwWDKSZi9eMYoSB86ZaEU5rtOK5rmbPnAZrwQzWIJ272wtfFau1A1Cq
q+bNGKQZmF2NRHGNsScjFUAcsTfNzctmgO1Qm46USAQhIAhCQAooCaEAP3fLZGANNhCF6jtekNOd
DXPC0hcg1BucaZTLFEqk5BpCA64fnB2jmBHH3Ipmb9LUPivnkzHM7AR+1swZg6wxCCSocpIZe5zc
f/3uu0225THPECSM7bFEbGMgc6e7a7N0ytkXXP/tfzNaCykBREnq+96GDRuEEIWMF2H/KYQYGRlZ
t26dEGLvvXve8sZL/vLt73rDn10KwF4TiAxzPgYz23mC5e7UiZp5w59csmf33bfeckv76jZt2vz8
F/zec577PMq9TLDPnfnYLvbu3x81JoFlOjEbV1b//uVnfWnHvh/efuQPLlhPgmD4sZtGx5sJQTCZ
8QcfHB4d/e6NR5qJLpcXkl3Thh/6K09aVaqVAYyu33LKuU/xPMGG127e9or3fuqr/3DZPZ9+oPbS
4fpa/9jBNEkG5IQBkJrLUTo8lZRDWn2yWv8oKT33FTz/mRSooFHnckUYyqIYWZ83ph9FnSVOoBTC
wN3L1l3Tk/QqNz5+FLZ2yu9QEJs8IPIpqZ12t29X6jTMyj8qgk0FEoqEEuivZen7PF/37LesXb5+
5os5NL7/c9f8D5tOYyvAtEaWwg/coTuXreM79t988aPnmgr/UOL7v7nq//nS6xvx1N+85J/sb+4+
sPOd//LKMzY8+m2/9+H1y/saAJxILKutPP/UJ//w5m8lWQx0WXKr4dClz37XwnZ7y703vPBxr3re
eS/1VTD71nPGyurY92/+GgApWBLLfKVWp1pIIQbWwnaPHb4viAolpwSdsTHwA7JOa+68Dkogy7jt
3QxLjklT+77qmP07KIXUtmNaZ4V1dZerQhcmAATyc9ZeDIUE4PlzZu0Mo1kqYV0ZNtazXQ1pO2X1
7Ed5bgxWHlVroug0SwyIYM/K7sP+UQpIgifg2SVyAgFS5PVPTCRQDoUQ8ANRHRJJLonZ5xzyhTsl
XAmsnd7bOYCdugjhHP8yd+dISUoRM6SkalV4fX2k3DRD5k6ezAAkPKcfmcxkhop5zNTz/37M4Q1P
U6QZx/1F0gxjmDUTEUn3GLblqkBXZwOyw2nCacbpLCN4vwlg9jOUAlKwCqTdWifu1rC+STuw2/Y6
1LZ19e3WUxAEKZBpaOP4ujEIfJszSL4P24VASqpURZKCgcAfRBPn+OieYTMq/jiP+ZtOjVBCSAGA
NRvNarp00hm+FDMdcD4fUNVdHfIAACAASURBVP+pE7IMhlEqUbtVyNCwTFMYg1KAKIExIEKSdUwy
We7t7t05wVcIfNeUytWoSHgKOjMEkp57YnaLxIUhjAEDzqfrbMAZPIVSCb4HIrtEiShBkrqi2H5J
22S9yWPGoFQePJo1G5z2EXfli+L9YicG1ipjj8uWQ9tUGQGjYQzIDkcZeOYWkITAtwSUTWqSlLp8
j+yC0bIMUcRCIvDIjl2BhCchCGnCjSbqdU6S2VOtmJk1TMqsuTiXIClsxFRnksOww8XQJijyDt1+
DERDy9eB2pwZsFwLRO5rSQBGVq7d+aufhqWyjX+UQnhKdScz9oW+CGq1WstXrv67j368s2cUvX+O
T3H+l7bSY//8tIsu3rBh48mbNj36nHP++HWve/VrXrtl66O6tuy8o4XfTH93HDt2/I/f9Oanrto3
sqp08NajUXgye5VAyXqc/e72tTaPK/SEr4QnKYriLMvq7H/+uv1KDXveslk+hmmgPLV8bMWqjWu8
wCMh1257/JpHPYaEEIAgEpJK1aFNZ12w946bx68/WG/pxpAa5IrRQ/Vk+Xi8rkonbeXTzlMjq4yQ
nQ0zjSRjITnJTJz0KeUSpaCLpgtCOXRrcW1YBp5lyDLXL6/3WgB4CrJLeXf7TVMEOQ0TAmGQ912a
8d0hggrIaOh02rJCIWjr+tmLL2+9t9eTLSUBrDWLvifGrffu+NeffPxlF75p1t0+ZGhEk5/41uXf
vP4rw6OSCLfdf8OZG86/7f4b3v5Pl7z1D977tLMW6ydZGLas3fa+P7riLZ9+Rd/vFyi3A1i8N2Yg
tm88f/XI2KHx/YvZSVgSJKhR6MgdRybLeGhY+hJpXo3kqKdHSa6JJgnb7ku+T2nWFTjThlLwc1uw
MZ1trNGz/f0ngi9AhFaz42u3CEKqDi2Z52DgDVcqU396n2Ywd0yrlli3fx4I21OPgMyABLxQAEhz
2T4dlOptJcABtlTrmDfggujuB+QH0xKnjq7z0KJIm9oSmutVCBSnvlZ3d5b3XFRrv3iprAVzh5II
CsnfSsLz0IqmHcCJ4HuIEmTakSQlIVKkGcohSUlac1iiTMOwa7P9fzF32O5LtmtVEIqoZZRHJFyG
upSuwMA+pMN2OMSgXdmyhPb7L9uf7IKWc1iDNYhQDiElDBDFyLJOgNgMkJ7Q3bRCa56aNLUh0fP1
SJJewQIAiVnahGsDnSCGq5T1FJTEHFXMWcGGWbtbmBn1KVbS9dDNMsQxF9LcZ3oXmGfJWXb34KD7
hQ2rmgFwcPdNwyvW15avyUV361fpRDoKGILYcNr2LdufcP/OG8uVGoBWnJaKDRo6R+yM+VNT9QeP
HfvyN77XHriMsKdDbc9MJ2fGWeBzy7vTZMWTL7ww360weSK8K7Ymakfm5M6bfGY4Db5zzTW77rqL
z8ru++WDR8tnp6pE4M2rqy8urSe3wiAALgdghu97/rIVV/zwXmZaQJ9UANJTy9cur47WRO5BYaOP
791VWba6MjKqhdDGCEMkaGTVuj94699f/Ym/euCm20TDjJ9Vbu/EumKCWK8aU2PnquVroJQQwtgV
5rQgitu1qQGnIVAK8gcZwfdgFRAQyqELfi2i55/2JTa6XYV9PR3S/I5lIO0OhVQK0nKd2R5CQpKQ
ZDSb7ubAQpJUVKsMzSVs0TZdKsIu3qXJ4MYZn//RP2wbO/+cLY8Is/s9h3Z+9FuX3bn3dgBZyp5P
ew7trEeTH776ne9/1Scffcq8T/LQ+L6rr//cL3f/cvcDOwFsWbtt+6bzX/SEV68Zmbc5/tGbL3jS
6Rf/7PZri7/c/ogsEjhl9WmLJO4AgoCkkFOTnS+iznhyQteGpC+R5vWUmuH71MxNHa2m8X1XXlQp
UytC3C0XBQHCwqJws9m5z+xicTuqxfLjxpSJuwubwtLg6LQFwFJEzXNNRp9X/yNYezoDubbXabpC
gKXymL0VaxGSoLvagc8CfmjzZAacgO7tTWG1dk9RuUxTDWNAEC4Jzv1Xs/CWrMHWvKAkwrD3l0LA
9xBPT3o85eI7Qt89FzwPcQKt4QfUanKpLGxxlX8C6jH+08O+mUmKSlVELROWyFovLFn0PVeTap+z
FgO/84HXO2uyut0C+p62UQ4hhKtJnfsEQCjqr4KLWiZNuFIT7auIml19o9tQs/ZMzmFXHpREGKAU
ohUN5kbzhclYiI6sMTFhPI+M4TnunA0bPX3hThtU+KGwsW7R3h/II7syIUJj4gN33fio0WczkQEJ
w+xWE/PgPldBShe+6LXf/3zj0D27yrUhZk7SLPA9OH28S6MhoqNHjzLoS9/43uq16xhsmAgsTJu7
u+0sd899DB3bjHXBtxcB2BmtiN06AAO2yavNhrf/7rrigfjat749WpIorTg4dGY+XyBfiZPXLhNS
GTYjy1cREQQ1JsfDcnX34cZv99/q+yuFGDBLmQ5CirBaGl29rFQt9f81mjq257pvnPrUF4tyWRuW
mqUgAGGl9qL/+qHvfva/333jT0TUmNoeBqkZnoorAa1YLzae7odlE/hcvDFt12Eh0Ir6j+PgKYQ+
Mu16h0mBwEOWOatYOUQ5RJTMVJtk59UWyhjELfYCpxEa00XKtYE0bussg85YeeQrsHJF37O8cYqE
Amw0UmEVco59l/qJOwDPs57dAV8MIlz2/17y2bd+Y+2yWUw4JxrX33nNx755WSOe9HwCoDU84Oe3
X7Pn0M6/fukVCzC1f+aHH/jadZ/VqW5ljufc/cDOux/Y+b1ff/XDf/wvW9bOOzvy1Re/uYe4b1mz
cMX9xGHLmm2/uOPa2bebDcqjoWE5NWXaNRg644njemhYeIoEIdXQBlIiCCiKGIDRaDZMm1iXQgpD
sneardYqPjuThOPIOTWEhE2ctFYQG7c8OW76gimXOEPGtSia26PQ5irO5fDaILPZjrmRRqCT6shw
P1hmH2XOaTMryZbO3jMn4m41J+9hNVX3s5n2M1JKSEHG2Ay27lcZnq6/wQmFTf62RND23bQazUCZ
XGvnaAcQeGhqZ5WME+fESFIEATELW0ooRFdaWWc/xjXvs3GftjZXyZn9J/+/hzHINEy+Fm1d2lZE
70G73tf3EZZEEIhWDEHQ2nW8smaqIJeltBlcDWn3bAxaMQxDSteSqdQ3VZsj7AKLnVTMC0RQvkjj
3rPUmifHLT8omHP6Xiv9+X0ztEazhXIJYYB6c36nOh1MamRuzGNGkvBchsW5UvYe45ygtml6Yjfd
9wOKJzPPWx4Ea+L40OTRfccO7F6+fiu7/qlA3kjVUncX9g484xVvvu5b/3r7jh+WK9XAU4Hv9fB1
APV6/eDBg8987gveetl7h4aHuP1qJkNt7k4CfPTI0ZUrVxbCBUB5ZqmT3uF4OeVpN3BltK7HnAvC
sf+2K9iFM+l965jv37fv5FW1iaFT3Q6dZE+VkdGhZSuO7ru/MjTEzFmWRo3G0OiKK772YyJvjiYZ
IqqMVMNKqbasJmcsxDE6O7jrVxse/SRtOqI7AOV5z3n9u38QlG7/xXfLoj56hlp7jlq7iZRnPGVo
muemp5DK3vmkbYlgHafadDr+2qeJvbuZ0YxQKaEUImAY7UxiXfvxusYTZfs4pimGRwlAvwvT1s0Q
oVk3DFDMlaqQCr4HVtDW+jb7W9n1zzlWkd7SZ5UBoHykKeKYB5KeKJ267DOXfO5t35zL/k8QPvHN
y793yz8DOdGRlGWcxLjutusue8mHFsDa/+mHH/jmr64c+Kd6NHnlDz/+ty+/Yr773LJ226M2bNt9
cFebjmxfRBBkD3Yf3FWPJ4lw9qLrblcPr1uSUwIgFQ2PymKyOzMmxk21JoKASLpE81JZxLELro4j
BjrcnQieh/7FniztWgUuVwQAbSs1CTrjqcmuyFoi1IaFmjE3bSEXKKD1TFRYMxINX0IQmGfvmWry
zrJtI2QoO39qpzoqgh2uYw3KM+AFdfzo00HkWl2qYRj+9AzPdYx/eBX37qXwtjxVHE9JUO/D/KEo
Rh2MTKNdBKk1WpFbnO1HnCJOEfrwPEgBQch0Z/FESaQZpKJqjazc3sParRqadSfx2ed/phEDnnK2
6ROHOEEP4WJQksIftDa7VLAByj2P2LaeZSOJvIJ8bhe74wRJgtqQsLHovu9eojUyDSmdeySanka3
YgQeorz0Qmsn2i3GvKT1vFm7hQqEzqZplD4jvNJCFqPsex4uZS0VlMCgDrDTwqSztDIsoqsrtr1e
Lfb/lB64UYNlqbRBygoA31+p9eTendcvH9tqyXqaRH5YYiaTt7CzPheCAOEJz335GRc85aaffufu
m647pmS5XPaDQArS2jSbzTTLnnjh0959+f8457zHCiJmWCejsFTcFLg742/+6l0fv+JTTlkHO1e9
pegE4nyZgMGOpruyAZc7Zjs5odMo2vL4fJsBOHb8+HknrXZWnZy7g1kQSaWWr1tvj9GcmqoOj37n
V3vu3Peg768imn6ZjxCUwspwpVQt+aVgZr5eRDR13GjWAtqwNE50B0BEYWUIwJNeFo6exLPFqjn4
XtdoUArdYppFscCU8hIDZ29hxAlKIQRBKCiFNOvS73tWOJV9WVtT5z4t2/p1PAUhXP+FZsNUh6TN
nLFBNDZs1cyBwVvMRXFvTJN84vuURBy1WHnUI2lkGbTmu/bv/MQ33nfp894zt3NZShye2P/Oz1yy
7/gdYanzJgqJLOVmys8+70Vz7DlVxD2Hd33jV1fOML79fOc1CzpZXHj20/dN3JFEbAzWjIwtPpOn
Hk1dtePK79/01UOT+/2QdIZQ1P7smZctxgG/ev5GoBlAhOER2aibYtfx+pRJU6pUhC+dDl2pinpO
xOOIjTaVWq9l04IZUYtbBZNMEJLvEzM8AhHiuB0gk6uziqo1kovrkzoQtjI1NRCDGHNmnL8lydPl
ZhbFrYOI4Ph0nHVlxyoBrXud8ZaIB8qJ9EkGJWdi24KQGcT5uJFoV7raAwYyM9gr/3AiPxvq+WLQ
w0nW22Ag7jZO2NASYNpl7Chx60iWXEoBFbpYApvpoRS0hiD3NGJGkrmCSwuVZ363YQl9mkEblPps
mUsCZrRiGDPAphWn0KZj+1ni4wKtyJWTKtWVsaONk7TSFGkKIeD77k3riO6ey2205N7K9oCbadjS
zOlgCtKdOxlGK0K5tMArtQ6ZBaM6LKfGs3m1QCpVSHg0a7nnQGR6yeR2C89DqKjRmP2+ZYZJbFDl
nPferbg3D9JdVyOe1EoNheH6zooECc9bEccHju6/a8X6rQw06xNTxw4vX7fRGhQFAQxTEAeGV449
9b+87kP/8EkdNXf99ubDD+zXWTYyOnra6Weeuu1029eUDbcd7cYZqomIhZ0PGIDont17vvOtbz77
Oc9tW96RX6HNkWeiDn1HvgSQF8zm7NyReDg5mTpX1n73AIAPHz7CzNXQcwdpZ1ISNSbHR1atVr5v
dzq8bHm9lXzx2h8pLxgaPQkF4z4BKvD80PdLQVgORX+A4tygk8gYNsZoI7Q2QnSa6R7Ze/fy9eHo
SfP4jhbvPntfF5Hp3i1tHoA7kz6pvl+/7+wcgJSo1ETxlUazziAVRF5zrSQqNdFscJaxMWhMmUqh
yYgtVCIFw26dlAsFf0XGM/ek1YE+GYtyRdSnTH3SVGrCaj/GIGpxkrA9pW/9+srHPOpxjz/14jkd
aYlw2/03/PUX/vTosYmhkd7ZHjPWLl//pucPaEo6K77+y88twckNwuZV20DwQ0oiXrzcvvvgrr/+
90sPju8nAT+0E3PUo8kPXX3Z9pPPX1r+vUhUqkJKNAtFonHEOjOVKtm0RN+nSrXTdCZNefyY9n3y
gs5c0TCylOOoS1NQiqpV22cOzKhPmp74Mz+gSl93niWEJ5BoJ6sXh8tEu6HfevpnTSNODLSBJHgK
BMQZ0N1tx+RlMMWZvhTOcWRbLyUGqQZkX7eIHG0ZyS4C2DNXea/W4skzBjR/eThBnRVwO75J6eyJ
tkS1s2W/FvKQIOlPwpkDbEdVJREDSebiDqyLRuelTZZZWvbJ+QjvK2eJ0QZGs5DUDrD3c2KdpBhU
R7cotFk70YD5ko1GacYon4A5QxTDGGdQae9caxjNnke+D9gQw9RNmZLE0Xc7L7IZMkI4IVNKRDEE
uQnAAhrs2szEE7rC0A9b0ioEaEROTZg56u5+SdSGCUAUD1jkf1hQKlGaztIkmzWb+fZQK8gNJqb9
P6EDv8wIKgzHlOpVyjxvJEmOHN17x/KxrQZcHlq+67rvLlu7kQxYsO1UzY4n56YVokopFJXSEy68
SAgSNuOKyBgWwvpVSHRzd5v7ZYgFE8AGkEr9zXvf9czffY5AngPelt7dP9v03V0UM6g9sBUMMV3t
LaxBunBf2h++8/3vAdg2Ntyh7a7giuIoSqPYCwMGPXhgX21k2Zd/svPgsfrG084bXXXS/N75uUEG
JcPGaOoX3dloKiUoCAJxzPU6M8PzqFKm/krLYjPjHtG/h5dbBT0oKPQ2Q7n4kJUF4m7X4jo7930K
y0RUqCIHdAZjmFP4ufxlR4RKlVpNJAlrzY0pU672ypBW5x+AwqDJi+7cISWqNcfdiUB5VKXvU6lM
9SmTJvyRq9+x+Q1ff8j44me//w9f3vGP9UlTTMJiRqNuspQBvOcPPzSXetx+dPmFBAXl9t7dLKjs
LTA3vRrUAIDgl+hRY/N2yRex++Cuv7zylfVoUiqovF6z/T78fNe1L3zcKxe2ZyEpqBCxKJRDLgHC
kvA8mpoybQdLlvHEOJcrIgyJCEFIIFE0wCQJJ4OCZdrw/U4+TEFo76BcFcWlmBMBSfAlEo1Y5w4W
dnWonnDquC+QMDQjNfDFAFKp8xHEOj+16cphtMhyacbupH10Te61RAgkErv6P+goRbONHa0ChUQj
M/keAM47U1hm/3CCIRR1UtkKJ+MpQsEwQ4LIL8SkLSzpY9GYTqpxNnfqDSDr2ca2cMo0ohhEzi2D
fJbSbLnrkxKBB0GII27VTZJ0HtxSUlgS5SoRuT6s9iGyhAS6zdote066FVMClwO0Ehiz9NzdCuSC
HGtng2bTRC3WOXMVAkEggpAqZbKVBrpA3+1ECICn0GiByMVNzEy72yUK00280xNsDeqBfdvtOluq
yS9LnZh+v3vXSyR5Idm4Ut9DGDhv/SMB0vUtHfzXhbD2gsH9wVto/y+4dVQrVQuCtUQDPyeSstyY
OJylsecFEGLi6EGdJeT5YMe5uZAwA2K21Uf2vAwgmEACbEBgCJtIM5i7wxCISYABvmfP7kazWSmV
2jK6Hd85n3rkDxNrnun2vnek9o4M33nf+i7yZzt2rKgFj1pTIxd14Lh7dWTZ1PEHsyTxwzBN4ySK
JhP+6k9vL1WHh1csmWO2B0F1xBg2lIvuhgVzIY+zs6UxmJpyV5OmPD7BtRoV0ym06ZqF9qwBFBum
tu1ztgSoPVbHMcqFMtquIroUqtCYSZUqbmljQGeBwluuNViBCKUyAY671yd1qSJmbnHcDxrU03W+
kBJDIyLJu6JIBc8je51BSFGLG8Hkez53yUf+5AsLo8tzRyOafN//d+nPb7kOgPKo3TgmjjiKDDM8
n8486fyzNi5Q0n7Lcz9ob362DR36+Es1WIIL3LJm4cR9IGtHwUJQj6ft1Torbt27wAZMs0IqGhmR
9akuUbzZNFELwyPSFpgqKep11rON10QolUWp5BYHJ/rqUKWiak2cCHtMPyx3zwwydkOiDWUvPpBs
j0DDiLMB7pTUgAg278EwUt17z9olNU/A9EmDnkCskWonkLt/Fsg9cjrenogVv9HWraRNx3IqCL54
uFk70AlW6IanSAgww/eoSQW9qT3yPxz+Hj2IlHsKXncaiTGI0y4pqG1etwsItmgVhfUEZkQJQJAS
vgdiNKdMHPfOUQFojUbdxDGNLBNCdGYC3tLF0XQ072DwooYQKAdoRu5Kw6XT++274dm885Qnjhut
uecxH7VM1AIJlCuiXBaG3btt50IWUoKywg7zN0cJFL0wSrrYijYyjaQvH8LwQqT6hcFTCHw3e29G
TqlVgZC+0JnRWRfNJQEpSfnUbr4R2+UFBd+DFGjFD9cMtwsmNQNjoJixANYOgAQmd8t9P9FTBzSR
CsN1Sg3PsL1Sw1E0cfzgPStPOg3MYW3kwN2/Pem0RztPSl/CjGFtDBPAloAzGTCIBBvDrkW4dVP3
cHfL70Ew7GT0u++886yztxOYgI70buk7g6iovndsMUUGDxQF9MFToEajecutt562umoHRlHg7lJK
IWWrPlkZGm5OTCxbs+Zfrr19ohGdcta5YubQ0IWCSIys38Y6M0IYw8bAaMOCKH9SC+21r6z/cup1
9jzXira/R1L7+5zl8/Y2irProi0+02i2XNsNtNtu5HtrtlAK3J/cODEwH4a6n5btZbg2d2dGs26U
Ii8gz3uon1BOFu2D51GryVmGu/bvvGv/zhOaDnnXgZ3v+NwrMtRtyHGlKpiRJhy1jDGQispVYsZr
nv7mBR/irI0PRUrjWQutIq1HUwNZOwpf9MVMLcw0wuGSgAi1IZEk3Gh0pPe8ikMwIBQNj1Accxrz
wFVUIREEIizlVfFAHHcRfSKEJVGq0EPpl5DUm2gx8N4MFFLjLO9eTo45J+WUF6cCXcYb5GRdChA7
Pb49VBDBk0i1M6wTQXZn3VilnxmSIEWnT+EMJ/9IRrlMzGg0uVqhUkjNQZl3Dz16xnMiBMGARqdS
oBwgydwjx5po29lBAJhR6Q5Ss0+jwIPnIU144lh/c6AuZCmPHzOjy4XqJu5WKTQGDAjb/GueH3qS
QhunVc/w6LEbNGOXsjDfFEsbvWCnBwRQfpu4xSIFNnCsfRqwQWPKRE0eHhXlkOwD3lmMCEqiWgbg
dPcONac2p0EpGDDbUdItg0Q9dGEpFyYHgwhh4esUd3cmsjkzng8AYQBPod4cTMqjGGUBISAlKiVE
fWW+DwtMysLvIjMdX/t8QBAT92Dvj9B6MBXCD4Jlnrd81lcpVQPowb13NMYPrxjbOrp6wy+/829j
jzpbCLLStmEIkGF9+/U/2vHdf0/j6F/fP/LaN731Wb/3B+Vy2fXaMAxBwhgjBJwAD8fdyX61CMSG
AJhPfeIfdvzi5wA83zdsyK6guCHd2dkdfScQk3XIkC1J5QJHd50t8o+6LyT00OHDN9500333319v
NJ65fZN9gxkkiJgNg9MkWrZqzcSxozrLRpavPNaIPv/9m4ZXrKuNLiS7fS5YsfU8EsJoTVIbTVqw
NtCGhWEICmsjR3albZJMhFqN2qI7rKWiwaUSxYOac7l+wIOGpqIK1vN3WxQ0EHaGbNtxKNjar55N
Bx1Ma7Dn/hKWRZZpe65ZxlnGLYKSpBSkIm+eGU9LhTTlNEGWMTNqat0/vuV/bl2cA2RmXL3jcx+5
6n268ORqG2OEQLkqrPq+oja2gNT2hxKLyX7ZfXBnPZoUspe1W9gx45RFBE0ebSw2xH1W+D75voxj
bjaN/UonCScJ+z6lBoIQBBQExAytue0o8zwI6RZ5rOvDE84c1d5zEFKpfILEgnnDJTai0y9WAIHV
5g1i7Ui2BQOxdqF+vuoVvLWTXtzveyIoJQGWu2eOiNjqUgNH1Chv19qOhCd2tadzTKh85EAbjiIk
KS8mQvtEIwxmosW+AhskGQyjGaMSWqWt47DMMoAQ+p0OHnGKVMNTtGK1ShJOYo6jAaK7RZZyq8lW
7jHGNQIclK0JJeHPrZDUGCQJQOjvQ9IPIRD6aMWIE9cFafb9M5KBmcrkoh6tq54IjcZMrJ1yw4wX
UJah0eo84JV02RF2OcuYDjs3xmnYAEJ/pjUKT4G70ypmLV9ZJFSeK2oVWVu1PB1cEbwYrAz2FNSW
QmfNetild5OwUEQCILBeiNZ+fKc4dCPqDxgiFQSrlDdKc4zpBYQI6scPNo4ffHDfnWOPOheEndd9
//QnPIsIDALzxLFDv7j6ygO7f2u3n5wY/+j73vPTa77zX99z+cZNp8zC3eE6ugoQmN/1l2++d8/u
kzZsPLB/3+YtW11qDVt5vWMaaRvfGUxtJ41j8NyJRnEdm0Do6NTuJKcm//jSS/fu2yeEKPvq9LER
ztcPgnJFKlmfHGfm4eUrx48ePrT3nlVjG6+46noSYvWGU+f75s8R5WXrwqHlxhgyti5VGmO0kVob
KUgIWr7u5Ltv/EkyIf1h9/UNArJx5Jb1EUFImiG7fTqYRfQkcQ0NAJhC4puFbSzcD63dPJsIpYro
aYSmNWsNxCxaFJZpvhaaxUBrNBvGLuwqRReeffE7X7JAT/lc0IgmP/qNd+6485rakJgYN46+GAAI
QvJ8V+No8YILXnWCTmORqMdT9ofNqxY+vbn5vhtIYLqpmk0iWkCLqDYOTR5Y8GvnhSAgQNRz2t2Y
Mt4y6QnEGTJyHUCFojBf5LJiQ2Zgw3ytWXxqyrRvpSBcsuZKi4S1u7QfPpYct7U9JVwTU52bzilv
qCTFtJGOVPhvPyRBSOdWt9uleZ6jTXl3O8mzwxkdb4ycQ47kIwf1uqvAeoRo7f1QgwLFexD4sP1Q
2xliyNNF01yPr5YLhpl8/TcGPEWVKlVrIo64OQ2LjVpcKpOlE3YPNr6mU7eXh8+kGcIAajajtj0l
T83VdalyL2mUoDxbkmBx1bv47jEjsyn1Rbt/YzBTlpKqNRGWyL6HjSaQFw9Yxu97MAaNFgCXv94+
UFsdUHJ2z7qvkGYDBL8lhyA3AzSMOEbgu2nYYmD3EAZuiugpVEqLjbhZEizMGAPQxB3iwPWmcdgQ
ySBYp9Qw9cZOzQTmzJjowm0rnn3myk/+6L77dt2w+uSNxw/vvvU/vnnG45/J4J2/+N4dv/pJa2q8
54W/vv7nb/yjF/71333ivMc/qZu7O5WdrAPGVZ1icmLiLZe85s5dOz/zhX9/4bMv/pNL/9zq687D
DgaTJhJgyn3/lr639JF4jgAAIABJREFUqwDIWnYKFatuLO+qxnf/+NgVV+zdtw+AMebis8fIem4M
AE6i1oZTT2/V6zrTUirp+X5Y2n1w4ke/2T28fF25OrKgD2I2EA2tPpmNZqPZCKMFSWMMac5Fd+a1
m04DcGwPrzmn8zohEHS3917ALZAUbHvJ9PPe6c8dCoPKmKbzJ2S6s0CmlGuC3b+ZMWjW2fdhDfQn
GsbAhveVyhQE9PKnvPllF77phB7x8i9feut9O9KYmy2jPFGpiFbTpAlXawNu0QW7UE409hx2uT2b
Vy1cEd9zeKcfTCuTkiCAF1Mi3D7JhwBBQFFE1uhiM2Fqw8KTSAx0XuI5EEpAkMs1av+yVH5EsPbU
OIHco8FForDRWsKtCFoB3p8xxnEusJ4ZLz+BYJDSSUAg85/g6mi1QZw9AqpR/7NgYKckAFnGaYwg
dPEvvudMF+1vsJRACubOmJ9pJCmkRCmEz9AaSebYtu1ctqwko4ib9V76btchbXCwpcK9ZMYDM5IU
aYooQUjTnjZc7K/jvnNH6KMRQed91qZDFLupReA7kl1EkOcjpxpKIEu535oiJVWHRBCS0Wi2nNgs
JTzPzYisdUQKCJFnyNhpbd+A0e7ElGVsu5irQXUynuqwhzxLZCkhpesjgzw40tqT2ssC08HObQRh
BgtMmkJJeMqVL4cBAh+eh7QQW/TIB6c0eY/c+0OOprQQQRAsm2O3oB4kyWEl6Embh1TW/JsXnnH7
ganb9k585+YH9t95480//JrdZnjF2uVrN6zddFq5NnJk3+69d94ydewIgInjx976hpdf+va/+i+v
eC0gHHe33ZztF9kAxCTEzb/c8dY3vn78+PF//vLX992/9+xzzv2Ly95jmK2KTAxyAZBs2BllcoO7
c8M4tk7kwm4AuFHcOmzQaDZ/u/P29WNjY2vX/tuXvvSVq6/esmbo7oOTAB7/qJXOdSNgDNgYNlwb
XT41fgxE1drwyMpVH/30D9KM12/ZvsjPZTpI5QulmA2MNkbmorsw2miSWrMUPLb1LAATB7I158z0
KFfThzbCPlsVbPpLu/4kSSHzsp/igpVt7MjoiooZcPICinmGyTr3aGrMXSK/F5BuTrt7G84Ylhf4
+F01Mtfup60mM6M2JIYqQ+99yRVnnXzCfSnPO+9VP7/5F8woV4QfCABZygP76VTCoU2rT6BdZzG4
9X5X97mYqcXR+oEZ1FEhsf3khe/88OT+Rr4s0IOlHdDjmA2jFFK5TFOTncrxZsOUK8KbMdJGEpSA
zrjRMO23olQWQiBJoA3bmJolwXyv2rDrx9RTnDoDJGHuEsAcT6dtqpllM4Ii/G/q3jxOrqs8E37e
c+5We+/d6tZmSbYlb2AWG4NDFpsh84VADCGQDGHJZDI/CEtmki8Q4Jst7NmGPQshwTbOZBL2sNsQ
GINt2Qbbki3Z1i61pG71WtVVdbdz3vnj3Kquvau7ZcP3/PSzu6tv3Xvuds5z3vO8zytrvpCu9f+b
uPtPGwznTtDpIq6UdLXCBJRXkMsLL0W2hSACNxjzm1tmpOFmTcbUZjL80kTcHQuWk+RcVhRsC45H
rierZV1eaXo6opCdhnW5KOQorC3SAo5DtgPXISngh/ADpLqnOtSJ9bpeKyI4FoIomWZ0hIn6G1m8
lIhCDkNEIQOwbAhJjkOWRXUW22JlSALptDCZTtUaZbftpO5V3Z/HthCrxAzN6JFMgLm+CFbnu6ad
1SoXlxNqkC/IVE9nqs0T97qvPJKk0tUnIQyhOfHECKO1w/xUk8r0hh8gI+G5KFdQrsC24DhwHbhO
MtFCzVFnA7KEpxo6xMJBa/q+OFqJhXBdd9y2BzaW0cSs47i0bzI37HIqkwPRlVvzV24rzK8E+4H8
8NTw1O4tu/YOjE4RQRAJQZc+6wUqip548HsH7/7a8sK81vqjH/hvRw4/+of//UO2bdfTVgQYMGJF
/uzffPIvPvA/bMf5+N/efvUzrr2vvPLJT9/ODJ34PzIREbGRsyf+7UlknSnRxtRlMlxL7krUMea3
U9On/9t73/PIwYOjIyMf/bM//8hffnLnaPbyLdkj54vP3jW8fSyb+NUwCQGtoZQa3rK1uDBXWSkO
jI4fOD7zrw8dG992mWVfbPvYGlQULJx81EkXhGUzsxCSpHCzg0OTu5QQSmulybZdN52rnI9aq2H3
DSkaSis4CKPVjJRqkOT8GJg+px6tYAeVai/Zm9Xxb0au2DHNRWvUNbtrrsAGAVsOtcdOZpbWFi73
H6aNInYcunRq3wded3tm01WE+sENe29+1c+94es/vtXEjYy3vdeJuG84mD27PD27PM2aUXOM7uYq
k2jWAOpDS12/pyTwyKn9ADJufryw8Yj44VOPAUQCxpeTiEgkfnMAhNiUTubY7OFuf6pUOCN48z4t
cQw/4DjmlEcAbJs8j3w/4Rx+laXFrktM6Lh2auqDao3i8urbIi0yil7LQnUFUcSeR86muyCTCuOu
J8oYMwjrYO1AElbpHZU0hZO4lqXae9+JWXXfMGbzRmH/9JdKlRK2RWHET7X2YGBAmDBqHHNHBfBm
IGvhNgAq7uAoXG0IuJSK2rKFZZFjAQ35kUbXobnm4B4BSDTi9QkkA1LAcxDHiHUyFDk20lnheFxa
5jhqpe++31r9wHwOwEtRriBcIAgRBEinO5wacxJu30AGs2UhiBDH4E6knzmJW3suBGFpXofhqoQ0
DM3pJrL1dIYsi5oMeWwqDErDaMMQqEXZZcMV0xosIASETsQzBi1VqywLjk56+kbWDqBUUqlU64Ba
b4a8SOtUUq5yCGPIU48XEsFxoHltNUvjg9QbjMTjvx6DjOIkB8CWtaeXOgvlf8KI5KN/p4NiLITr
eeOWld2MCUEcLzHHL7pqzHaEm/Lq1+3f3bjz4JmiEu7Oq693vZQhvZoYGoKQzWbe+Ht/YP3e2/71
61/+9Ic/GIbB17/4T48/duAdf/ynV1z9TAhiMIME+PGDj/zxO3//8ccO5vKFj3zqtudef4Nmvu75
P3Pw4CN/9uE/nZrc+qpXvjqfzxHBr1bn5udOnDhx4OCB6bPT6VTqLW96y9TkJCUcnYlrDJ5BhCAM
P/LJj2ut3/6ff/9fvv7VD3/8Y6VyxUoPXZibe+sf/IHg+Ld/ft/t33scwA2XjxGDKUljNdwdIGnZ
6Vxh/tzZrXsu+/A/3U0kRqf2XIw71BV+cd4vzrd8OH/s4a3X3DgwPqU0S6V3PeP5j9//zWf4KeGt
++ETorUgmlkhrHP3phqrzeYBREinmlJiWmC1vwx1IggkpTQa/6qa1TJrtj702cq2bjazdGbNLwIY
H5gyFH/NQOMrbnz9m1/6tJZKfdMvvfvxc/cfnz0EwK8yUavOWzG0xo7RDYbbv3PwC/9w90ejaixt
KWxBgIq0Ulo33V4ApGOOAwbBdkl0Yzr1pEONMGAiWDZpxayxd2zjyR8Pn9hf3y0DUFjNSTHjk6R+
quR2w7ELXYk7M5aXdDotNrakw4woSmgTAMsit5Zcm86IKF71cyyXtCWFZRHrVrUMAY4EM0rF1cw8
ImRrD7zRw/k+Vyrs+2xSWzZWxCAMuVLWWmFdxF1z1+JHBvXTb/xQioSX95CwxzV9P6EXvTYJAO0a
gChiKahb2m7d32Zdg6DrikhBqfVxbiNXkJLsxISLAARLT/kKvVKwbVPCg1CTf2jFpu597x6PjBOA
IYWgjpYXjpPUSY0VnGZ36vY65EsLujAgHKdV81avl2RKgca1f4iSQkLmaaz60IyUC1jwwyT9NOXS
wBCVlnXgM4Ag4FJR9+ZefpVJ6GxexApKIY475GUm1UblRkzZjYuLmYe0h5PMZTdq+OXF1tJpdXDN
59GyV33XvJTIDwitUalCm4x2D1rD9yEl0il4bmKvWde0GAtnS3ae1hoJbLXKxaUm3572aJrSqwxg
XZ1DN8QxVmpp5Vo3vIMEMBwbgvpKIa3foH7mEmEE24br1KqYUfKk+UiSd1XPHumpgJBID8nY57Ci
u4mHFx+noMgjW/YK5BjQSsdhpDZqjhPHyxnXunoqB0GJMp6IgIG0/ZrnTX7q+6eO/Piufc97iYAG
CWhiwRq47plXZNMpIdIvedVrX/wrv3bHX3/km1/6p2NPHP6dV73kqmuf82u/+e+HRkbnZs597o6/
P/DjBwFcvu+qD3/qtoktk1ozEb71ra9+4pMfZaUfFA98+StfbGmSJB6z1LnICsLwzz74p8RYWJw/
ffr0JTsvGRgYIGYQDh48+Kd/8edHjh3N5/Nnps/sf+ABaWVyUy9cOXsvgNkLs6954aUjHmumrcOZ
F+ydYGZibYplZgoD5aVF86iQEAMjY/c+dubwyQu5ge2Ws1YyylOAsFI6du/X9zz/lwbHtihBlz7r
Zw7d883pH+ltz+/6lW53u6PblWMjiFrfnXrZtUYQwXU6LzEpDat9kGs0s9MKLYNrq22zTVHPqjRR
1OF1W6n2Zey9a2KfIe6xoqjCnteB9GS8/Nv//QdeePWL+tnhxcW7XvmJt33qZUulYhyxl2oyfzV5
flqxTdmN7fyRk/cFAcBrh9FJmuWwDjerw8YCjkthwFGQ3LVnbEJZdKR7dVvWUBoq5l2jGxfQHzhz
f+8NqhUdBMhkRUedUju0RmlFtys8vGZLnFxOLC+p+ttVXNb5grAtSqpdAKixdvPXxlcmk23ya/dc
hCG0htaoVrlai+WnU+T0Z77EjHKpK41YG90Psryo68S9MLT6alkCsV71Ym+HIEhK0kl7FzSNdZNZ
DYA45uKiNqTcS13M/F3XJc9MZTW0RhQzoZUEm+R1GP9sauaFtUaqtXjzRUEcc+N8qaa+WP1E69bO
FobENM+TWHc2ADSuYVGUeHc0Vve0LPJS5Ddk0zJjaVFnssLxYFkUhdwShpACUsCxk4B3qBKCpTRc
G0KANYSAIKRchFFiSOy5yA+I0rL2q1wtcz+0yy9zOgPbSjQS7US0XrhjY5Ay2XP7DuoVkUxF5DV3
VV9MyOREJiviOPF5tC1YFqRMfCekWBWZoKYX7zHxiEK2XYojrpS5Wm29t6lU0/vCjLqdUW/voPVC
awirtnZKIII2SiprNcO4NwwXiTrNvjoiDBP7yCgGWbVlCgYIKu5XlXcRIW0CYHlkeTKqcrDS4T1b
eEJbjrt1z97mmTGUUlpp1mwQVoPZUzO9D6fUilKVF187tby4mMnnLaspwWJPQb/4momvP3z69KH9
2/ddB80kwExCUCrlamaj5rBd7w1vffurfutNf/fRD/3wu986+OMHDv74gfpOsrncL7/i1W/+g3d6
nmdCTV/64uc+85lPsdLRwoqwJdk1eSKDtf7ZHfzy7eqRs/jMbG5xcfHTf/93jxx85JFHHtGsx0bH
/tdtdxx+/PDXv/mNr3ztX8z+i8Xi/gceTE89y8aAvfUyffq7ABxL3njFhBVX/+urr5terBIAIoYg
1kwY3bojCnzj6FAYHk1n83/9yTuJrKHxneu/YxcNZw78MP/ztygtBkaniKh4TqGLKVC3F8Go1bv9
qYXrd4vl2RYC0SHoztzWfRnPu/qvWjHr1qzoRrWM5axB3AHEcatLwLHuhK8RV++8/p7Dd5qflUK5
zI4Dp8FjddfEvne/6pNPW3nUFowVpt71yk+86aO/IUSro7xmaMVhRdd15OuFX0UQsNtHl2c0KsZ+
ux/UubvpC595yaa8IHtvIC3s2bKJiHsfmalaobSsU/2F3qs+M0MI1Ll1HLJltaq5hEAmK1ZqpknM
KJV0YUA6AqGumSRKEKG80sTajXFky0Fdl6pVlhYJCTZTmpirPvdT+iCOuLS88ZoqiV6i01ECn+Na
y+OYA5/rz7BR15ik0o7RdG5Qt5ukl47nEWswtzJ7v7Ia8PWrnEp1mG1ucpAWJu2v41pDH9wx2qCh
xPoQRfC8XhuITZedch2AE8uRqp9UqTTI5YXjMjQsG4vzNSelFV0uA4Bl0eBw52MTwbJg2WZqhChG
RUFKpFwISmzFjWNgGKIawHOQKwhA+3277kQhWw4BnZeJzV42XMJP1gPJXfZsWSivrGOH+QHppSgI
EUUgguchDBDFSKeSLF4/gI4ASqTba97TpSXVMhUjwvCIFQTasppm+6YUq+kdvE5e7wYmRaEfqt18
1FbtpVmOMOH2fiBEYtWf/LzWOlgUw3Hg2IhisAY1ElcJXmcU29T8CjbhTkMNfZ+dEtKmakM0x2xS
nUcqU2idhBGkJWVDELVaqmAtxHEJwLMuGQgri0O1rsHsN4pC23EKGQFg+skHLdeb3HUNa0BAKT07
vzQ2PADUlNgC6WzuLe98z79/6x9++yuff+zhB04efXLbzl2XXXHVy17578bGxwWRZg6q1b/79F99
97vf1lGslitg1mHcYnHyb3bJYhFfXsgAOHb82LHjx1jrm7ep+87L2Quzr/yNV80vNElNpEx7g5dn
L39xePLRsKaquGLbQN6V2k5bttwxmmVmSswkBbG2bDc7OAxCaXEhNzj07fufOHxyNpXekh8eAOCX
q1pxOt9JM/dUwi8tLpw9ObZtV35ky5bdV5/70WNXvVwydXgEk9Rqe1WlZuICYciNBVgb0X9UiBnM
7LlUl9IpE5OK2oh73BbYiyNtu62z/Doch4LuQhwD3Yk7HDl7aE0RxTW1YLCQEAStEEZQitMpIsLN
z3z577z4XU+PqL0brtp+3Rte9NZ/uvdjLXcoDjmoaCct5iobdDPcPbH3x8fv67HB8y+7+Veue535
OVE3UZtXQ3f84e2vDX02B9pYCwGc75mrICSmxrZm3NzGdt4jM7Ud1YpWeo3wrVJm/QeWk3irq4iB
zt4UjktpLepeb1olcXcjv7ZEwtobI3OWRR1thRwH1SpYs/REbW/MjCBkr5P5fR2Bz4nj6kYJnEBn
aT7auEvLWrAUiBmRSurO1KFqxi9AUjk1ZigFSZDUREqMt33Lh+3HVbpVjIfast5PylVGrd+fayNH
UU/Hyr/rgkSy5lOpwrYgrSQUWjc1y+VFqdh0V+rdiCnibTJrHLuJnwgB10nSLg19bzRnND9Xffgh
bF3j7n2EsWFERN0vjK6lKm4MF/ehSmeEl6KgVt3JLGuElHjiVf1E2GPbnSm7MUOsX14zrbItalle
y+WllEg3uFTFNfdMgx6sHUjqJaF7dLAjRBtrR82hqE8liNG3xAouEqP6NRHHiRSnhdyQBPQ6JvRG
Iqx1Q4r2piEsSg3IRu4ezFj+UjS8e3zN71ZXqr03YFZxvHTlVH4i765QhigRyQBmGmDlhwZPPHwS
ICnTJw/+IPIrO658nmAAeODhw5MTI/v27Ei5Dmr2uxBIZ/O3/MYbfvU1vyUECSIiEoI0g8Fnz5z+
8z9577lz06oaqpWu3kBXjNLRFX7LznKckl87zvef0Kz1z7zAvWvaFuCReGbr+OBjC3YULZB0srt/
zi3siM4dY78s0rnSsW8JO62jyi9cPbVSXJaW5TiOJiYYfQ0DELZDQCY/WC0Xy0uLmYGhW79xP5HI
D22TloyC6OyT04Nbhp5+4g6gWlxQ+hKleOtl15z92iPzx2loV4dxynVaI+vG6HZ5mX2fczlym5cu
mTuknHZMNA1CLpWYGbkGb0az8mlbzcRdK9a6dUGTdavSveUmp7NipdjrpWxfytUaR86tTdx3TezL
ePnlYJEELJtUDBWx0hDI/d6vvPvmZ76899efHrzh37z10PT+h47tt51kFbta0YHPTkpIm2aWpmeW
pzeQ/blncp/rkejSRWa9/O+/5P0bnrSUg5KQsF3aMbg3u4mZz8Mn9ncdQQm2S+P5p8/BPfQZ0JlO
1NkgCBmAkK3S6m4FB7wUKUV1aq5iLi7rwqAwDoZB0LSeLiTyhc6HNkHKljy2KOSwJ3GPI26pk7AB
SELMiLkDE3JdqpQbfvWaXnBmWISIEcarc/3awjWkSEqrwpjEc3IUwRC19Na45nDXkmPqehTVeImQ
nS9+pFct3p9+PD0Rd2PntbGEh3WhLkoGau5jlHio2xK2BS9FUorlpdU8DV1bdK0rLBWMbB1RLUnR
tpP4q+fAseBHiGLEhLQHKU0OCSwLSid8MVcQcazjPq5tvZ5Lx/tPm1uQWTPc1X+ChOtRNi/qrF1K
hCFcF+kUYgXfBzOkhOetPslGRIQaU6/bKZrLm02DGY2sXUoaGEx0gOa7iQtcw6XpzdobN8N6uHtH
jaYRGvUTMjQPmFLQGsxJqak1YTKbpVyt6tC4wz6raBvWvnkjL24LOLZw94WjMYDBsW197GqNp0rr
KrO+ensB4MLgYMtfg2pVW6n7j85bVsHzJn3/zNkjP15ZnNl97c+lMgMx1Kmzs2fOzQ7kc3t2Tg7l
c5m0BxALYhBrkhAsIABoxDq+61tf/extf8uaVamquy9JjOdADNsWeYt3TPFH7olDjbSLnSn1vstK
zBgfpdtOVmPte4N7UkN71fKiis8LNx2dP0b5AUtkMTCsF5+44fLxc6dPjk9uA0EwcZ27EwpDoyDy
UunZM8dHp3bc9eCTT5y64LqTgxPDWulzR6e11l5L6eanCyqKlGaleec1L9j/tdvnDmFoV+s2goBO
r4mZrjOjWOR8Hm7zKlk7jMNso8zdD7heotXYebUeuul4XUQvqqcYRkpKZdY9/jx0tFc4uY4b9t68
eiALtktbhrb+xX/87E8Jazf4L6/+hIVsFEJrlJZ1FHKuIFIpsiUcC1+5/zMb2OeLr3357omuE5vN
sHYAP3ziTgDSwmVbN65j6a2TsV0C4eptG9fhHDi9bpVR6K9q99thCFldHcucjAQ9uvgWwbpSbGLw
YdjEqomQy4k1h4q6qEZaRGRssDpvyYzS8mZZu2mYICjdYawVEvkB4bjkuJQfbCrvGsQIVOKAaYo3
RYZtCDgSrpVUm0r2Q3AFPAlbQAAaiDWiWh6BMXYMG07T0B3bIdejQqFDtxczmGE/LSb4Jhel8dr0
tMe92EdvTnb2VVIx4KLPGywLLaZG5tkzT6xf5UbWjgbbmcZ4EnNiYWbWgv0gGZ9g/BNcuE5SlNsY
BZpJQsqFEIhixDEGhtZ+RwDYTjK8dczYoZoZ5caguq9gJSvdupeFfB1SUr4gg3A11m58x036qe8D
SEh8I2sPwiQ1NopRrq6+lZZM8oBbyjkpxQsLyozLdR7cCNeB3beuvX8DTdF+BWqLYH1WZjWPjblN
HZlHR9R1Ne3oxzPNoL52sUmoTmlFwiI3mzQlmLEt27XstXMoByfW8HSP46IUdP3uoQszMy3hdgCl
peL+I/NKs2XlAfK8ba47UZw/+9B3/texR76/sjQHZmYsFUsPPvLEXT/80Q8eOHjo6Okz5+aCMNKa
ldZKaa35xIljH3rff/nsbX+rozheWunB2gH87C5RqcKx4dh0vsrTFUTAnjHXSWqNU0mLJ3j74NWv
zmy9XhbGncnLIITMDsGy1eKs7Y74c4+/8IpJ1pzNFYQUSIqqUmIND8oWBk3+xPj2XV4687F//j9C
OK436KW9C6dnQz8UUniZnoJCgIQUliMs5yIvYJLQmpXm4S07t+y+6sQPNjgqlJpdcbt5MTVOa5lr
df0AdKmqtPqCcqfRvb6jdnuZRjgOSSmCKncOqHRaIjxy7rFue2vEDXtf9I37/qn+641X3vyHL//g
ZoLETwWyqfz7Xv/J//TXr/Gr2vXIS8kkS5oA4K4DX3jpc183tv6g+4dec+v/+Mc3PtacoDlemPr9
X/7ANZsr6vTFB241P2zG8uXI+a6WL9JOBt2xwuSG99/DUqYHyiVtO7Kj15uZ5UuLtIKK2IQVDYHu
0dHnC6Ix/dSvspdqHV/zBdHbmNIEESOfY8GWTdIiaVMcchyz1em1qqx0LSC/XtiEgBHqWqmjxj/Z
1LHkrfGBMScUM5SGJdbgBwRYlMQBQgXNqx6UcVsysOtRS05I46FjlSS/rhehSnTh1EURwbV6t5qT
f0nLG+7+02k5pxTsBpmWWaaIk2zAJK8RXc5FM7Q5Hb12LXWzWQuMq0kUcqNOxrLI9OHlFW07wrbI
tsAMP+wQag2iplivY8ESqAYIwpruUyT+xEYz47nIFURxqdcQaDtk2VSpAOjgtGA+VCqRlm4ARsTb
kZqburBxjJRHJrTcA/mCiBWiaFUh4zhgjShCrJIPG3uVutdk++m4bnKL/SqXaxmQjpMIZlhjYUEN
DUvbonqG68ZgSlb1U+ixkSUzg1Vnb+gecOxVgXscw6plnfbGqs2ohgohZFNLRB9Kd6Kmd2oz0Aqx
z1ZbT2V5JH0Klmj+WDg8sbufXaVza4g94rh41dZ83pNh21DkV6uO556ZLwEQMmGxtj0cBVFQPX/+
+MGZE4/lhiZGpnaPbd/rOK7WmF8sLiyVjDamkMs4ti1JHz3wg/0//F4cR2rFV5W10xSes438iCwb
QuBMmaWdKgzvuGZnEKnTtk2sMZxjOXEDyhVrfFd0/qg9eWk0cwxga3irBpYOfA3Mz987QUT5gUFG
rViTibmD3VTGTeeIMHvm5MiWqa/+4LHz80XX3VIYGawUy6WFIgA35fbOAyNhkbSJiIhAQkcXzeef
iLTSSpLSvG3vs8599WB5zkoNcz/rwKL59TGl02Dko10e4CiGV5tXt1Rf6vg8r3ZgumeXsKZjiZSU
yZLWiCLWDYEBIrS7ZzBw5Oyh84vTE4Nr0Nkb9t48PjB1bvksgDf9P+96xQ2v7739TwrP3H39m1/6
rr+9633tKXFlv/jez/3u+37j1vXGyDNe/oOv++zs8vTB0/uNp/uV2667ZtPlpT5798eOzRwyj8hm
JgDdzPiN16T5eddG3TABHO9u4t4DzEl99ZbPk0iboNBnrkU6LYvSqTX8GYmQy4vlxUaTGdU4Cc7k
1mDtANJpCgIEATMjCjmOWBhv/k4bm1TR3jvsH0SJS0ysmxhqb4gaX3QEQiDWq5V3eiPS0Ax7o4VX
IwUGnA0FzHSRoEoUAAAgAElEQVRbsLzeya72bW2taumI4x4Fci824mYeI2jVb5T7jv23X2alEVRh
WcnftOowWhAl1oGNrD2bE8JCcYlhfGYWdK4gXJcM+Y7iVs5nyKhps7ndtoV0ChUfsYJDSanUIIKU
YIUgRNoj16Wg+7JYOktKJRnPHV9MyzKZTggCOLWhTmmEEVpypBnkh3CsmrMhIwgTr8aOhg/G6SVW
0IxMrtcEI50R0qJKkKjgggCuC9tC1YfWSRIqM8IwkbRSl3NpVLn4zX7tmZyw/GR9zxjODg7JlIdy
s1g6CBFGq56SzIjjXhkC/bzCVF+T1ODm2ZrmvvZgEvXqwUWj8OmHuMuGOrJg6BiIIayEvlMfxF1u
yCe0G4IVLSwh2rp3JyMWntCsURie6GtHPdvErJjV7vFsFEXpbKYl3C6llc4V7j1yXMqsoFUS56VH
lxem/XI4NL61OD9bnD977JH/YznewMhUdnDUS+ektFQUPL6ytHRhurgwC7AOIrXic3+LJhM5UAgh
kE3hm6e2DU8MayG3DZxTmmwbzBCOG+Wn9NxDkEL7ZbCW2WFkBpYe+Y72i0zzQ1nv6h3DM2dOjU1O
CSEYlMpkBsYmM/mBM0ceyxaGhKByaRnMsaZbv75fCMe2h7xs+vyxc6YNtter+gmRoNraEDOEtFhJ
7lNQtRbsdF4za8WKePe1P3v/1z/75F360pcTAam2gsotMJYy7TP/3nPmMF61313dVRfW3UDce59v
f8NZu79KR5g386Fj9/3is9dWvFxzyfNKh7/9Z//hH3Zvwp/kacArXvD6x8/df+8Td7b/abww9ak7
3/e2l3xgA7sdK0z9QuGWTbcuwbcPfOH2uz9W/3XD9aEAPHSis9hJNrhBb3j/5aA0U+yV+WpbXUNi
fkWn0q3PuxmVTZRdkLHQpj59yoRI4u7mJWhh7e02Mu0ggueR41AYcRiy1olMouMo2MN/w7I2IvG1
CEyJcHxNPp3IixvTEAkKUNxRzteKZLG74etE/YYJE9K/aTeV1cb0I8ZtSel5+nh7BzffiwIpEOle
9XEEJQ4zjbWfvBSl0gRCLi9WStqsUBWXtKmrCiTVNFu4V92FwuzGdQBC2oPRkAAgAaUACdeGH8IP
kcmJMFQdr3MqQ7ZDRljfrWCZSbX0A0Rxkjxdn960v831iuL1clRmEtJt3LUthBGCAKkU+ZXWJNGk
AQKZrKgEYE5MY5hhqcS9x7bg1qQTTeN0e5KJs8raKxVdzxOTkrJ5YdQIrGEcIU1LhEDaQzVoFXc1
3pTeYYh+/CJJgBW0qvU0DS0Pw75UKGZOaJ5Aw7ZjldRb7b2OwbUaXo0w9J0khASJNWL/G7Yb6twe
RnVJewUpm6Oe0qbSUUlCpzKFzR9FqRUAO0fSrpfyUi2SbtJKnV4OV/zYcZrC9kLI/MDWxbmjUSBs
ZypbGALCwF9YOH9q7uzRpv3HGmHEYazDvlIcYmDHEI1mxJImZqQ9vvfCEFlOfvezd0zcxQtJXbZF
nY3OHSXL0eVlkcoGF06VTzyk4yCsLpVXZvLD2RuvuMREwqWUbio7OD6Zzg8AYOaJ7bulZQMozV8Y
HJ+841sPHD8777qTQoji/LKuvdKZQi83bSIrKdbKpqAThOXqOGS9WXsBabupgQmtWWutNOWGt4xt
v2zxySc8KX2FmLGmk3M6TUakXl8C4rVMVMMoMQAwRqCmh8xkOh9po3a4m4Np092Pfrs3cS/7xb/6
xntni9O3/7/fz6Z+uuQxHfG2l7z/2N8eml1uYpxjhal3vuLjdx34wpv+8mX/5VWfWHOR4SlCOSj9
1Z3v+/aBL9Q/2aTe5mgnqQzRqoh8M7OCNXUyqbRwPFTKrNrUWcxoNDeso5ATZhV7AwpIaVEuL4rN
Sdiu18H8sQeEgOeS55Ixw+7YEtP49p0SIZUWqRSFbdbO/cAWYI1QwVkrFl63JUh+5US70iKVKa9o
U3cskxWNl9qRCFWTB7wAVC2rtQcinWhh+18WuChouRrxxbOhWBNx3HRVLmIyriU7DxJmFLEbIkZG
K5VKrz7JXoq0FnXNxkpJezXvcFOCfs3pkCkdojUiBZvg2ElI2FKIFbREOrO6/9U225TJiiiC0hDU
S2hubBbDELFeVUXbFnRzIJ/Aro1IJY74RLBkkqrbDSYqbAxbCoNicaFDNm06LQxHd21ICdeF1kn9
rEbW3tvgS8pVMytmNLo7NL5Q+QFhu+Q3vPKmnJNx8ukIS9ZmUZ3QzxqOjroGB/pJMDUE3VSZIZkQ
99CYhDqr+bidD81dvSZNYZA1o+mbkRJ1Pi6juqQslyxHmMA/K+gIMwfU4Og6igQ5nhP6nSOucVxy
LHHF1sLS4nx+YECaEZQAIArDcqn0xDkFQMpMyxfTubGV4rnS0pnxrdf6lUo6M1gY2DI2kdc6KC1P
W7a7cOEkGEsLj9voUBKhHaY+sgau306xKVLGEBLqmb+WPn3IGtpiUSwlCQFm+E5ODk6wXw5OH64s
n6coqJbOV1bmtI69dArAVduH4yhKZXO5obHRqZ1EwgivCLAc19SBG9u2SzH/83d+TGTZ9iCDy8ur
ngk9JUaUXCNOyssxg4SQdir5lGp+iszMirXqPxjv5oYBsFZak1G677jqefv/5VDpuG1v72v89Vyy
JIXhKg/pRydm5rdEGBwUgc+O02pUXcdq73IRF5jWaF8Dce9RienY+UNv//vXjA9s/ZPfvuOpY+3H
Zg792RfefrH2lvHy7/rVj7d8+Os/8xYAN119y39+6Qfefesbv7R/I7mqm8S3D3zhdZ+8qZG1A9g1
tvEVjPNL0yt+h3snG6aim9n/mg7uYcjSovyAcDqt8ERdyhVZ1sbzlgyxqP/qehsvHmRm1R1bEnZS
EUiLCoPSS3UOAfZ5RMesXyt0qrO5CqWbNOImLdWWTbTbr2pDJpixUmoiN4YeGS9Ig3rOXzcwEKqE
tT89OamNeNr6vTVBa81t+kc97ihlomV3HHge0qkmV0fLooFBMTAoXJeiGGU/uU2Nj1kLzeohIG5Z
ZjEi7yhO/NFM0icRwgheqlW5atk0MCTqhUXdteiQEPA8ZNPJv7QHKcBtUhnLQsZDLo1cGtkUvLVs
1ImSkqXGpTFfaG0nCaQyIogSvY3WibWOiQh0WyVoR+NaX2uOclUDCCJUfCiFVIoGh+Tg0Oq82Tj5
mNMxkwfZUH61t/S/L5XEJrhvMpNhhBFIJBIXYSefGAvRTb1xa7XtKcpRiQP2S6q6pKpLyi+p6R+A
FQrDW/rfQ2F0oNufmKOdoxlbCr9alc2yS79SyWRz3zs0K4QrZSuLJaLC0A4VhyvL03EUMENazvLi
6eLSeSkzWolsYavjFVKZoagWkekGBfhAAJDlFoZ37pmaAJFtwbbxZLglePJ+VSkClAnnLStJdvcr
fnDuaOnUo5WZI+Hy2bmzD68UzztednzqGZnC4Ggh9Zw9Y9KyRiYmx7fvFomGiUw2qvnv+ZNHQPSP
d/7o/HzRdcfBHFSSlG3WmoSg7q9rrbpQksvPplgXM4gZIJKCLGE50knZXsZJD3j50czQZHpwi5Mu
dC3ZXUN+co/WSiulNRvifsWNLwEw/VBE1FpAvRssC+k01bvifr5Un1dLgXS6K2tHE3HvnXx28Uqy
NS513f1YB2EJgG89+M//4443/sdffNe/+7m3XLQDt+Guhz//R7f+5lfu+dxHvviei7XPS8b3/faL
3ln/dawwddPVidBlz+S+D//H2yth6fc+/SvfOfCFctBX+djNYGZ5+rN3f+z1n7jpz7/6R+U2nn31
xRa4N4bbAWzGC/L4WhF33+flJaVi7lg2tRtx3yRcj4zdpONczJKfjWgvZ1a3rFkp6lJP39XeIMCR
ibly0CVuqhmKV2PecU2w3ltP0vKrrNVV5Vr7iTqkqBooRhBDM6yfCGtv48pPp8YdbRHQi6aWqVvB
aKQ8eF4S9u5WEKQSwA+hdULsGrOSWtKXe8x7STT5FxkSTAQ/gNKo+vADmFTXKG5SVBrWXi8CKmgj
1LEjJd0AjeNaKnm5CiFpaEQ2di/ptDAKENtGxYehGUGYTFTql7e+pNYNjZIVy6LGQ9TXN2KFso9q
0DlETaaik420i7S3uk1vMcy6yzCtB66DtAcYF1Fa1cpDQNT8/k0WxFPngtrDquvigeYe1V46VxhZ
h/VCdiDrpTsapLDWfj5lx1Fk12d+NZG7lBLSOr9UtazO5VC89KDtpFeWz9m241eLzDqbH7fsVG5g
MpUZtC03joLcwFYi0W0pUQMBEAAQVrawZXTyKjc3fu3wAhGkhGvzI9Wd1vBWkcpycXbUXrEs2BZc
m08vqfKpA8GFI/Mzh4qLpy07PTKxb2TiCttNax1sH8kR0cyZ0246S5T4yCS+MiAiUnEch2Gk+Uvf
f5jIkjIfBkEUBEqppQsX5s6eLc3PF+eWdde5JtVZe0NSc/3/nPzKZuBJQu9EwkkX0kOTrVVFGyAs
20nlWGutFBu5jGZpe2M79p59EIgSZ+T1op+uvf/3YpVnSUExdbUia7SU2eRqVGPj/vnuv2tXy/z1
19/7oyd++ME33D4+uHVTR+qJ//nld9z58OeV4jjiL+//zHX7nve8y29e+2t94KXPfd2x84e+9ePP
a41fu+HNjX/KePlfv/HNN119y3cOfOH3Pv0rV22/7urt119/2U0Z92IuKTxyav+BU/t/+MRdx2Zq
cetOT03ZLzYWdu2xikqiaUxijW8+9Pn2zWQzgb7nyJ11S8eMm1sNwPfxCB84veqlo2JAcbuqzNRM
LQzJTE4sLzT11sxQMa+ZM7oBuC5FAfVwi98k2om7lxZCYqWo+wm3G8sUs3go2sLJBDgCMRBrBCqp
5lB/sxUjUolNu0HMnXNSRTPBlG1805JQMWKdcHFHIFCJUKe+qbFiNBoGp21uYFD3fgGSDL8edzQO
WDodOmTW0Jp1BBWznaLGp7T9oE+nxh1odTSi5hSGOORgRUubhEVCQgg05snpmFkDSrfn8tbvu17L
Ld6w9tV3nwEgnSGtKY4hJVpqivW4/kqhooCaX42RxxgbkzhOjL0dG3GMWCGdEX5VAbBsytUC20aw
rhm+b3Rl65AsR3EHdx2z9NwnlEYQrD5vUgIEKZDLUXE5SQbwUqISQErYEhFBCAQBmOF5qBu8GiFN
b7Q8eINDsrisWMN2yGQU1PcQxWBGZ8pXb3kthbT3wG+cKJ9SRDHCCJrbDCUFYKZw67kjG0MQIt3F
+5tbXrD1Qwdi5n5Rno0nd+1c1xelbU1eOnXu6NmWYkxKVZn1FVN5y7YGBoda3q9UOr3/+DIAIbo+
AQPDl1w49+jK8rl0brxcmhsa3VUpL5RLF0hQKjPkeLn5mSfSudFycUY1245rIAZigIhy+S2Z/IQW
thjZetmAGss8GGlihiVwtDIcXTgp7PTg8qPWDrYkMWBLnJwtL83NKRW6Xj6Tn0hnR2pnVGaOr7ts
IghC23EcLwUSxJqJiGGkMgyUFuYGxiZ++PDRY9NzrjtFJMrFYhyG1ZUVU1ubhJg9NbN0YWl8x7jb
6wVgMCUlncCUUPnkRps7Tpo1NDRJaYEECWF5majaubxjdmQba6W1EFpqFWshSLNivuqFL/vObR8s
Hbeyl3Kk1+2gYOr49hhfzGJ1n2h4hwiWRR2t3IVsWjHUClr2OznQDNTM1+qdC9ViKkfOHnro2H3P
3JU4pZxfnP7vd7zx2l3X/+XbvtrvGawfs0vT7/nfbzKk1khaHZf+4svveP9rb9s1fnHyX3/75nc+
cuTRXCr/b67tIOIfK0y9+sY3v/rGN9/35J33PnHn//zie8YHtl6+fd/E0FajO79mR7+x8GMzh1eC
YtkvHZs9dHTm8Mzy9CpZXwt//rU/avw1DrlbzUg3I9AwZvuVzuNSS2d9bPZwYzd075G7kp8IvQhA
81+0QhywFK2VDqgmb6tWtDF5aBG7r5TYstl2hG33dpRaN7L5i8/ao4jjCFHYQYbnpSiO2LD2HidS
58F1mEJIdWPHOiyR5C9qTgZyU6rQxBrdhspKzJ1dIF2P4lgEPpNAOi3aFx4JkA05qYIS7bsfJ5Ql
ORxgi8Q0sP10wrZLQQqWhOxC34OyRgUw/ZUx2dCrtYSSljevk/z06GQMWpojbWJGHDJqc7b29loS
ThtNaRweek9FjOd6HbGGCfp1rAGMNtbTsZS9IYhWCqipxqMYmVpNHMeGH0JpWDbFEccRL84xCTgO
uSlKeaRU0qpKtd/qQqYSeEfibgxq1kQcwyiQpYRtwZIIfC4tcaMBjuuRUY65NoiQSSUrCWaigppx
TUeI5hTtmi43AREKA01vUdNNUUniWjfUg5K973U3+fjFwuq5E1g3q/w5eXTq6cJPHczcqfNjI0hY
0BuqsBYuyDN3c+k0omrsuOnRybZ6PL3BYI3hraPnjkyrhvRbpSoA9k7mq5Wy4zbR06BaDYPg3ifn
iKRldQ3tualCKj1UWp5OZUf8alHr2La9dHYkjnwVh3FU1VoXhnYEleUo9mXSFkSAyR7P5sezhcko
juDlvXTBGd0xPrJkSCQDEjyX3iNSM872K3aJAyBYFjPDkjgyUyThDY/sTWWaXOqVqgJ4/r7Jank5
ky84XgpojEkk5K8wMgYSn/rSF4mkZeVUHMVhiET0AgCWbQMIq8GZJ06PTI22aI2YFUGAamlCdVMF
BgRYa60Va8XQ0JrrMg8iJ11wUvkeahk3O8isSEutzX+10KQVbbn0GdJ2Tt+trrpMmOyddQ0fJi2+
0t2vMu2tY4dNT7eUpBS3vPyN7n4GDAQhpGwdcakWjDdDPncJ3+vm9LdvPPB5Q9zvfvTOj3/lPW9+
6btfcMXFiXx3xL2P3/kXX35HXTdSn0uU/eKHv/SO9732ts0UNqojm8q/69Ufes8//27ZL/bY4fWX
3nz9pTe/7Zc+8B8++rI7D3yhfk1Iw5QH3z6yZXJ0m7AEATrWccSRFkfPHQpQIrHKgNe83SqCVkwE
kiS6rJi3c1+Ddv9+IUm3KQqoE/0yYA2lwIpBsGxal+zKdLKveeGbLWJZS3hUkTpfOvvV/V9gxaHP
6QxclyrNjVeKlULgKwCOQ16qg6LmJw6t4Fe1sYnsCDPrqLMHNyfag2Zcs05nhgq5XjdE2mR5BN1h
Hm9C74zEC1wxhICkxAS9acsu1yyTFZleGf8gahLFSYJnrU4tuh2uDiO6CCtJ90sEaQvLJQaZMOrP
Xn7LSHZSWAIAM+tYhyF98Ue3lYOSVtwxP49Ea8rgT90D0QwiCIvWyzO0RtSHVzcAzWjxmTCx2x7j
R+M9NcpypTvIORpV166Dqp9QzyBMvPbjGF6KVmpxItYIfA58lhL5QZFOUxAiihAEkA053EEAu1N5
nR4WOmGEdk85pRCrVfM1pRPW7jpwbEQhLyzo5D1ruBSOk2S3xzFChucmx/Vqinyjd9dtA2jKS0zi
69RZdXor66hrlhrPwu5uQle/IEZuRNwhVGEC4U8fmtu/po3jxUUYdp3vkSSBztw9kxMdl1KXTuLg
53j5jCIh8oPj43svT+dai5t2g4ri5bnl5QtLdbIeVKvF+XkhpeN5biqlEQHYMuDNzZwHifn5uUwm
Iy3L81LVcjmdzZ2ZrwiR6t1X5Qa3+tWl5YWTgyN7Lpx7PJ0dWl44LS3XdlJeeiA/EK6ULuSHti3M
Pmk6BhNlT6WHCkM7WNpKxYPXvlh4WXJcXVy4yv+hGITxNTnjj8/TcDh738rJA/ldZ+mqRO1mEa84
l05sG+lwyqpcSLtZz4Y3AiCVK9RZiimayoSgUq6Ulpdj+/DJ844zRiTLxeWW/Yia6os1Xzg9G0fx
8GTj4ZhZEQmzU2hmAoOhFfcwHmLWUcAedwtSSsezUhnWmkmxlqyUFrESgrR20oXLr3/xY3d/5ZrI
0RZ8Bc9a3whiSaRcVDvNn1PrWV1Eq6sMwbZFGDVIeAiW0znAlay7dR96zdfXxDce/NzrX/TWbz74
ubsfvfOPX/vJzZQEWhN3fO+jd3z/o42fmGcjCtl26NjMob/51vt+76UbMW1sx+4t+17zc2955x2v
/fBvfbH3lg8d33/k/CG3Zj0uaFVoO7M0vVA5J2xBgIp0FOpACQKsmiRAhawiZobtkuxOTOO6ysK4
EFp41p7r2+P6qnn8W6kWj5w/dHD6/pbNOlaf7qhL0RpxcxSZRNcRK+GdMQsJyxVUcyYeH5h6zc+8
uWXje4/e9e0DXwxWmBlxxFbPnPkw5DBUtk3p7Nqe608PmFFZ0cavPevlnn/5zc+//KbxwtTu8cSK
5+jM4bJffOzc/Q9Nf/eh+UcBWA4JSS2UVIHiGEyIA46qTeI7HTMg7FQ9KNEKExcH9fKW4jXtYLp9
se17Jr7eJzRDRxzXEmmZEYc6DiFt4aZFqPDyZ71pNNukMS0Hpc/e84ke+2z3Y/5pgyS0UFAh1sgq
a0eoqP4UdPMsN4g7DV5R3Cu4GzW+ywQAUsBzWkejxnfcuBpHceKSDpWE4Z1O/ZVWWJrX+cHEZTWO
EIRI1QKRUqJSrVV3qh3COLp0bXAM22pQf6mkvmmqIbgZBEDNn9GvcLFL0WJpURyv1jCqO8k0smQp
0WJGZ1g7mp0K47gXcW+/L3XHic4NE6v+cVEMCRLUSkybLCMJltWhDuvFRWPQfb31m9aLlpUf4/PT
bZ5juPtqkwhKo5sQce6AfOiOCLBGp3aPb7u0fxsZACtLK7Mnz7eotN1UynKcOAz9ctkvl51MeTBv
A1BKRXE0MjQshCiWip7rEYnjC+Fs0XfdNdziHTebygxXVi4oFUSRn82PZ3JjQsgorFRW5mwn5bhZ
KaTtZqKgDCCdHckWJjWDU/nszmciDtTiecUMZnLc526/YMLqWuOR0mjp8XvD8kIcloUqCcmJAIVR
5OH2ljDHSpVfcMVO1mpxfn54fMJyvNUFVmbD3/2VomXbf/v5HwBk2QPMHAVrrActnl8AY3hqlbsz
1jaKYeby0kpQDYJKMLRl2Mt4wrLBWnUp1eRlh1hrCMUs6oIZ1lprUkpvv+qGx+7+ysl/xSUvThaQ
vXXWDTBOmi3rcp6zbv1Y6+Yk4DgiDLW50LYjettaXRT8+gd+9hef/Yq/+J3bnzr3mLJffM///t0D
J+5rYROWTUTwq2x+uOuRz1+987qbrlnbXb4f3HT1LQdP3vepO9/32ze/s8dmn7nrI40xJEFrKxHN
TQkrq+HVUHOqe3FLyyHD7w1UjOsuuekVN7yuj5NAOSjd8+Sdf3XX+ytBZ01YY5MaoWLEzR4pxgCh
G3TEka8B6BgqVHZKGI+aOpdtxPELh4VFxtY3juC1VVxqRxTx8pJKZ0Q9/Wsz+INf/EhLZsLJucOf
+WFfsz4Vc3FJMyPr5W657nW3XPfarNeae2TO+pod170av3t05vDt/+djPzr/3Y570xphxdR2be1D
tGIkafZ9n1gNRmkT912uvBGm7syGPZXNunr7qg4AFXG1qKbGtrawdgD3HPlO/eddo3t/5+db3aL+
7t4PnSk/scE2/YQgLMImrIR627PEDYyiHioO467BXdWc+VcNkHYTaWYLczI8ctV00kpi+aYcvaBE
ut3N2Lu0rIdGpWNDxU2LAJYFESJWiBVM8pxtdy1GuHqaMbRIfCENc2jsiIyqXlDSyFKpM8d0HDIE
zJYQLjQnQfFGmx3m1tUAy1otKtS4Sh7FcLpY3JiSVQZ1Om7OomsUmeA6ayhh6nfHtlaXCCqVpzAM
zyoZFLhuCf/UIO1BykQIENUunda9xhqSTQu/gc/Vsq4veNc/n31Anv5+RORt2fmM0a2tHc7yhaXM
QNbqclcqxcrsifO609woNzCwODtrfhaW2jVWIHA6lwNrIQQAaVmWZQ2OjHzv/tMAuI8Fi4HhnSbo
Pjy+t1pZisIVIW0CCWE5Xi4KqyvBysDwJRfOHnRThUx+yt5ymTd+Cak4On/U2bZPlRbcXc+MTh+2
hiZHrWUhEunJhfPzlVPLK8VzceS7JKSgJBSvoDq4FkPrAMCz90yEQUBE2cJQY+IkEZkBqVxcmth5
2UNPnJYyLcj2KxXdR/rF4syCtK2Bsa7+PHUwc2mhtLJYCiq+ihUJGt065mU8ElLaKa0i3SXiLhwX
WrEWIM2kmKVWikQshGDNW/ZcMzy1e/rBE5f9W0lAqFCNYcv12Sq4drLiZ2DJXoGSjoh0p1gbCTiu
0IqF6JF6ezHx9l/7UD+VmDaMAyf3v+cf39RuqwIk9tiVsl4p6nSGLJv+5lvvu2R830UUu7/zjtfe
+8Sdz7uss/7nkRP7D07vtxrtwPurmBhWV1k71lI3ShvSJrNnrVgp7Om7mlXGzd181S03XHrzO/7h
tce6VzNt0YzVWbvJqBNijcq7LWBGVNXGS2nPRIemmuxVaVMcsPHDNpLZNfdcKWulsElPmIybe+4l
N7V8+NjZ1qWJjmhk7X/ym7d2nJa0YPf43v/6qx87ePb+D3zjrX642PinOOLAX2W40iLbIRVxkuS6
ifGSAMuU8lGtdpC9wYxQJV/fGFoeZssiLyXimAM/KQz0nKmfb/9WY0LzzVe+7Oqtz23Z4MT84+0F
zH+yWLMgzsb8N0yg3VnLeq8+VhIh7SFW8CMwoxp0qFLEjJagmKnHZEYd2Uzc/QAECAHjQWEMbZRa
zRo04QnbIdWp3BhrhD67KRIiCQzXL5RTY6gmCM2A50B1dwcXBMduTsBtdmM03zP7D4Ouy+y2Q7GC
tFZzyFaqSXlX45MTd8pJrc9dg7C1hVW/g6rVXHyDlAspsVJJfu3NsM2qgqkp2/7Wr9aokqusHSba
8tSJWLi27vYUh9vNvaOaZslwd91fwbgE7a+JFqfvwszDSsrsyMQV7awdgIrV7MmZyT2dzdOCit+R
tQOwHMfLZIbl8pVj4Qt2+fvGwqFiaUVNZgpjAMqVsuOllhcXBYl9U4U9E0tHzl+IokXHGbWsQjel
qZB2Nj5XfuQAACAASURBVD9eXDwTVBYDsbJl2zOisOylB1aWZyorcwz2UvnQL2Xy4+XijHvFHgvQ
C+dEOi/cjMgMcOhzHELQ3ty8lCwkmKEi3HVwemle2056aOzSfZML0loCAOZS0LkZWpeJsHU4V62W
Xc/LDY0luvPVrGAGYXLXvqNnLpyZXXSccQBBpdK+q4760bkzs7ZjZQY6yzSDShBU/OW55aBhlpzO
pcd2jFuODcD2cgCC8lLHrwNw0nlmrbWWQifu7yS1UonWXfNl17/4ns9/4vxD1sQzObFXVjC5qt2S
r9rhOohrKcpe30s4DMQakQZzh3weIPH1ezpY+8Tg1k+97StPKWv/4r2f+aPPvKYjazdwXEpnhNa8
UtQrRb24vNyN5W8AGS//rld8/KNfee/5xc51QP/sX94hrSZJYj+riipuYu1oc3TpDIKQsBxyPXrG
zvV5QWbc3Ad+/daM29mUquVRMRmlJOB45KTIsvti7S1KBmaEZU0C1+xoZWAAjs8+Vv+K6R5zBTEw
LLN54aXW8GkNfN2j6Ho/2DHcgW2fnFvDwhIbYu11XDX53Hf84kdaPqzXJLdsyg5INy/IpVVTzs3R
VJPGqjSCuC8PLAYijUABaDKQWS+S16Exf8Ym6YnckOWlBRGu3tbhkWgk7u0bHDhzfz/JFfbTK6dp
4W3tr/4GOmHP5nRqfYbZtkzsBY0c3ORcNq7wm096cMeOvNl42iTBcpmkYfgB/ABSQnNr9lQjugXg
WqY6Zv89FprNvKKFQbUbJCfJ7t37XpPqIwnlKqoBYgVmGIUeUWfWjg4+dU0tr/hN31IK5WryScqF
bSXrAPXte8P48GTSsETrpvXMvUaWwP1FiDYDcz2fap1M46NiSgKjv1JTq2h+VVZOisO30czD2rYH
MtmdYzs6K1Vs16kUy7OnZjr2jAPjg2M7Joa2DLvpVmqWsdRbrlv8x9889z/fMPe6V6dufOW4vDTr
ZoYAhGGY8adTjkhnslEYTHjxf//VZ7zpRZdvG3aD4FylcjSKFrrFY/ID24SwikvTnpdbXpxmhpSO
ioNUZmhgaPvgyE6QzA9sldKeO3avPXW5s+NK4WUhJYe+NTihK0UGXRncYzvakmxJni3ieNEbHNk9
vvWZ6ezo1lxVChaCheBzZa92EezJPVOpbAqAl0lprFw2OTQ2mMkPDOUGBlOZXIua2gTdS4sXfvT4
SdSqSsVRhySVjmwewOypmaCyGkJg5pXF0vzZuVOPnTh9+OTsqZk6axdSjEyNTl661bB2y0kLacVB
Rcedc4Ck7ZKQrDWS3FbNWmlWrLXWsfnssutfLC377IMMU1HBgisBIFCoRPBVQqx7Q9YEw+Yd7w1m
RBp+jEqURMQ8eVErpxIgai5gMIvdGkpDq84P2o1Xvugdr/zgUyePWakW3/+Pb//hoW9nMmuMfo5L
tiODqg5DrpT5yfKp997xh+/7rb+8KM0YK0y98d++6923vfFTb/1yy5++sP8zM0vTTQSlH50MtUpQ
iOB46xjhd3WKYa+JjJu7+epbvvTAre0dcVO/x4gClhYsZ312LiRge8KoZZI9aaiIP/nN9+fTOVto
20se1yiIy0EJRIa4q5hLy9q2SVqQFjkupc3qZ1V3k8BVVpRtWxvWcuwc6UC4T/RB3FdKSRzhN1/4
5nWxdoNP/+CD7R8KCS8jyCbj4CQI1Yb8VGzOHdyRUJTE3aEhCJISFU0dutm30VQ/3Qz/JSPDdYQp
Exsb30OC0pAu5Tz5Tw9+8muP3Oo4ZLkSgNasQjVTTF6ljJvbNdp6bRuFND8laA+3P6VmlMyJLJso
6ajrqBNZ24LWCGNoRtWHoKTIfDfKbk6BuWtln/qejcw9jJI1YqdGebuh8eK0GLA0ynLq4u8o7sBn
DPFtsTHpuMphdthjmkQC0CCCZmiVhNLr19CxOytVYgXD2owOp/2g5WrNZq3hIjdqXuvtN4dOZggE
KdahizXn1Vh7ixnVnkVMLwrMa/tUww+b1i4cB76/cZ3e/MPWibtisPS8bZaVH902IbukI2QHsvOO
XZxbDsr+0ORIptBU2ZSI8sN5AKlcevqJ0/XPB5zoPc87dM2ehdzOHMkRjkUwy8eOTmTSFjOL+aOT
8oJeXF4ceJYzNs7MSsWXD+hrf+WKR86u/K+7j18onouiedsetu2h1gYRFYZ3Ll44Ui3P217e83Jx
5HvpAR1HK9WiisN0ZrC8MpsbmFyaP7n48DezQ9s5CkQmH8+ekiNbK8f2U3V515YTjsMAmHGukhmb
usJEcD2pxjKBlMyAVlQn7lsv3y4tuTizaNnW+M7xufseuPqS7YWhsVNHDu247Eph2WBmShwbjUNj
FPh+ZWV2YQmAlF4YBB11Mn6l4mWzdltVMxWrmZPnR6ZGK8VyUPGDatDR6z1TyIxsG7NrMhRhOdJ2
VRRE/krnGw8IaTFrZmLWpDVIG+7OJLQSWmqtSUi578aXHvzXz+35RTs/RQAsAUskNQdjhtJQAt5a
QSLHRqz6EskECopBBFvAEsloftGIu+lHktpYAJBY0UkBthCr1oSbN//yu3/1xtdfrKO34+j5Q//f
bW88M3sGgB+wt1ZpeqOZSWUQxxxHuPeJOz//g79/+QsuTgtvvOLmg6f3/+mX3/EHDZmvM8vTt3//
Y/Wji9p/K2vpPVg3xTCI4GbXl4qwe2zdlNHghktv+uL9tyrFuyf2GVm2KasgLVRVyQhphtOTN193
i2XTI6f3Hzy9v30nz9tz066xfbtG9xqN+IEz+2eXp+85clc5KFkuMVPjtIRjzqbyLWPy7PIZ84Mp
7mPyU+OIs17+ebtuumzbFZdu2QdgZnn6zIUzdx+68+j5VotMZpRLKl9oer2umHrulVPXjeYmR3NT
5bB4cu7xE3OH7z9+V+M2O0f2pp3cFZMdIr6jucnRfLKi2lE241e57tvzomtuad/gQunsPU/epWLe
Pb63PXX4o9959/G5w6bFO4b3ZpxcHKo4hnAEE8ph6fjc4+aKaYXxwtTEwJSbE6spoYRD55JW7Rje
m3Zy5kODSlA6uXB435bnPmf7L+wYvhzAyfnHHzz1nUPn75e1uLvn5J69/Reu3PLcsdwUgNnS9KPn
Hvjuk18yexAEq2a1vm+i6foQ4cLK9NzK2Z/Z87J9488ZyU4BODxz//ePfGlu5Wx9s5Hs5LO3/cK+
iedknLxmHJ9//AeH73zoxH4AKtTCTR5xz84VCnmKmjrrk3OHAIznp8YKk9e0iWQMrtzyXGPOfWLh
8XJYQif5gWU/5XZ1dYi2GdVTx6MMUVt19FIIG1MqG3oP1wHX8iM195JS1JM+wy7+xKLBmbh+CBP0
NboOanOsMjCLdVy3K23u3KRMLIYNohiWC0t2iOyaozc65wjRStzNTTBXxukyTJBITtBwXyESGXq9
YaYuZPtF0Dqx0zHEveOj1RIb9twm3Xxjg8qV1U8jIIyTHIM1Yc6xMXjvB63HNRmrlkwOGcdJHsKm
wBfHT8akIyd3ipNSAHWYtYuUt3qaYXeLs964cL918nuxEKlUegeRTOczuaHOi8wASNDw5PDMifNB
NTh3dBqAkMLLeE7KdTzHsm0hKQ7jhXPz9a+4Ur//eY9du3fOHdPxqVJlvrISWUcqA5nxXQDKi3O7
wvnt/+E/sXWP9fn7ZnM/C5JS0uDI8PyF2b1D3od/6/r/y953RslxXOfeW9Vp4uaMHIhFZgBAghRJ
kQApUYkgFWxLJEjJoq1sPdlikp4t2cqSZckUKcs+z2KQKCsRAIMCCYJJYtgFQWQsQAC7i8Vg8+7k
mQ5V9X70xO6e2VkQ1PN5x/cwzHZXV1enqq9uffe7f+wbe+j5E/H0sGGMq2qHQybSH2xJRE9HJ092
Lrg4m00gIYyZkqwFQ62AGGz0J9NqMLxq3wuPmcnjy659FzMyoYB/8OgeTE3WtdJTxwZbtBQSAQDM
xDOZYIF30RnI2m54IcDiOJzWAEBSJCpRwYWeznYu6UonJgBg6dz2YH0TISRY1wSQU5TBIvEFTT0r
hBiO2BwEtCqHpUbHxmRFkVWVUCIEcMYs07QMQwgRHR33h719voSStvntpXQaJJIk+5mpW4a3F79g
gnOBRAguOBeEgR2ZSjhyLhjjhHImlqzbdPDZXw+8INb8efElsyWPlZr7cJs9WMv0UpUAXPPfcwPc
ZQlo5ZVxzBcwTeAcgr7wV275YUG7/c2wJ1975Fvb7gAAKiMzhWEIWcYap+CSZGeaxR8/87Xzl1x8
rsjuH3vb3Z/49y1P7dt2zdocYvvnR+/MGHGJAGfAORhM8MqerYIhgigpRCRUAgRdmVyqm+dFffjf
No3GIkZWCA6XdW++5apPLXY55oUAU+cAcMeWrzv2HhjqufPnt/zVVXddf9FWe8vJ7WVwOaCGrr/o
lusv2urg29ishtv0xI49D/7khXtlHyGSMNPc/tAXtS3/zs0POJrx/d/cMdqXW77Q6ihnojnQ+aGN
n7r2/DI0vKJrPQDcfOWn9g30/MN/fTJZTn8yTWEYQlEwoIbesXbrdWtudjTMZrGPJyL37frC4by0
zt+/5/5KfKG/v/5++8d4IvLpn17rvnWZVG6oXDt/gzsadffAri//+lO2zgwCBLXQjRtv2ZK/Xffs
+uKuo0V5os9d831HdOauozvueeaLiGBmBADcsP7mLeu3lhZIG4nbHrrU/v3Fd/xnDrjn7fnXd/iV
0Lr5Vxe2LG9f//aVN71wfMePXvgiALxz1U03XvCJ0qNWdqy76rzr37Xqpq/+7iMZIwGQ612Wt6//
wtv/j+Pqtu374YVzr57fuKyk/nVvW37TT3q/9cLxHX4ldOPaj79t+U2lh6xoX/fOlR/aeWj7d3/3
hWyGBxRiR0Otn3/VJy//J0f9n374GoDUbW+9Y+OSq8HL/uqtxVjVD//sLfYP99f25uV0dJubsOGB
/M4RBdkwnECtCibTFDBJRUlysOVE815hw3JqShbM5n/bEMrGu4yDqoAQOR+wTV53uNsQIVxPbP4J
gFN9xUZsfn/O126awBgwDpTmknKUmiTlJd4xlzsWIEcEL8D3ggvfriRcR9yqMrKEPB94al91aQ2Q
12X3vKW6nqchqUCq3lWAarr1lWYFqkvs0tNsoGAfYloO9gIoconzzxYLorlwghljf2ewNwb9bfXr
wnQCAGh+XShrFN8cziGVBlUBSS6bLtZ+FiLh8Av09B8ZpUGfbx4AIsHGDg/hlFILNYY545ORCZvO
zhlPx9PpeEV0+NHlA6vmRuWgld7vG06p247Bfx1md7z/PH88Hg6FhDEtOgS1dtLWW9uuTWZ/tz/W
cAEAUllu7ZqDAKZhLKtn99yy/tm+8d/tPT08PYQoq2oblUIIBGw3f/2cqfHjiWhE9TUAiJb2ZaaR
TsRH6tsa6tobGuXVw/3HFq3a0H/o5fjwQUK16UgChBE5fiCbjrdrbEEztyNTmUX2TRSRsV/mlALa
fbApRtIqAMiqAgBGVm+d16YFfKNDh1RFftfmtyRjE3VNLf5QXfG1tR+fPfvVfMwyBscThCgAwKpy
DEzDMA2PbyYVj6t+P3X1oeGmuuY5LaQE7SGRJNlnGSnOKqvG2q0TAJwLwgXnArkQHAUTnAhOBKOc
MKSMI9a1zlt04VtPPv/sii2K5EoMVfuEscYVM88KzwFwl6WZQ6wAgCCoCqyaf/E/fPCHbyI9Jhv/
4W+/+vvXcnk9qQyCI2dCzwp/DcIjDvvqLz/xrx/dcU6U3QHgW1sf/MR/bFnU3r24bfmOngcODLxi
mWAHVuZK1NBAKqMtXEUoIgVEMO10SAj2RlmprtAJALDI5XFP6YnRWAQgF0nyx76d+wZ6dtzldBsL
nhv+3Zj+wFDvPVu3ldZ8crxIHdm86obbrrqrEuQFgIAa+uDGT67sXP+lX3xKN+NUQc5AMLGkw0tS
pjzJ1KXLNn/22q9VqXztgg3/fOuDf3v/1qReht2TCX7Z6ks+/457qhzbEur6h+vvv2/XF57r294S
6qpSsmCDkx6cmVSCF4beRV4kGdMUNmoHWwVITf9q7w+fP/Hondd9/+CZ3lLUPr9pmVtT5dCZXgDg
ei4s1c7kVWqH8+725R3rHagdAK5Yer3ntVy+5Pojw73LO9ZfvsS7wIKmZR+7/J/+5enPFrYsb1/n
LnbD2o+7N/qV0E3rbz811XfbZV8pxfSltnnllv1DvTsPbTcyTAlQIWBlu9OhPp6IjCciAKQSai+1
grsdvDzusoRvpuO7zCQXn96to+MprTNbs6MnbcvFVmIO0dpmMSfWKQQ7OnAbISBLIJXIzjAGqgxg
a86U8zstBlYGNCU3RbF5gHaqI4kCpSA4EIqs5BplBQNhlGQUedG0gvvZjo6128NYTr1RlsCywLJA
UcA9faAE0nqReWJzdey7IUvF4F1FgqwBugE+FTQ/UonEo87Ve3uOkcoC5+DLLxrYZpjghha26I1d
xjRzDVBkkKScM9shwiNRb52Z0lfUFuRBBCt/n808Fae62Uy2lEtDpsp57b0+DbL6n24NymG0cvZc
QsCv5RO15u+kboBu5F5OMavgVICpg2WoHQCCDSEtUDVjLQAA1LXU+4K++GQ8Phnz5GwUbG4w866F
o/4mI3vUdyLm+8JLzQdOR1HS2zvaeDZFFMVQW07qrYGn9s15z2OB877ccPCT6ekoU4uUGFlR6xqa
4tGpy5fWX72m69mDw4/vHhyNnSZEkeVGSWpAJP5QayI2nIwPB0Jt6dR0Mj5KJWnx+Ss7ly6KTQyH
GlomzgwpqhKqbznS89S8pRdOjQ0moxOUSh0LV757kaEou+18fJaFB6dyyKd1fvvctgDgwXzeQ5zI
2sBdBgBFU+3MpnomuXLxnMbGphg3VV+gkGgzz5HJ/WKWlU4khiaThKgAMKMQZCVLRqN1zUV1SC2g
NXW12Gz7giGhiMQ0kjUuHtkqmDZqF4wLYqfd5pww5IQwxgnhHJdd8o6Trz3X9xhf9f6z9/S8kfR/
bxS4K7Whdtu2bLz1r6/74hs8YxU7fubIP2+74/hYGaqjMnImLCYYw9qbattYNPLVX37yazc/dE6a
F9TCf/eeb/zLY3fdtumu7+34isi/07UboSAoKH4UHDgDEM63kTNh6GJGvvtil8fdnW81WTk81zOw
ddOqLW3hYny9PROwr+5/Xfe1TSs9mCEeNc/f8PFr7/r2o3dxAYCAMi7tWuEu1j92pDBd3bRiy2ff
9rUZa17cvvzzW77+Dz//ZOnGa9fe8Pnrv15Lw2657M7Dkd4FXjGpbhuYOOrYks0IY6Zw2I1LN33n
pgce6Xlwz/AzBbH5sUTkc794n+MtWd7hQQU5eKaXCEinOQC01XW55wavDuZI3iu8Dq9if3X5V6oX
uGje1S3BzvE86eWieTOj54L5ldBX3v3L6mU+dOkndh7abuhCUQVQXD/fKSlzZGQ3eAWkelrvUJmq
piOzJiEVXafn3BzeIs/VtnPicS/FiH5fyYAhctKKnDszE0M+2BHsKEaRg4w5K7ljvvJ4R5M5mTNZ
AxQBigzUlogp2VWMi6AgK+gLoCTl9OZsBrYdMWUjXVbOjshkgRCQZaAkPzEon3HZf/pV4Bx0I5dF
tdB2O4WnRHOKjbbT3XZgywo2tVI7IZSdHE1WkANINCdjz4uuEtBduNZ2YMtK8SaV+sRJiXs7J09J
qkWhcJGT5ZFKFKNZXlzSDjCdOfRfgGqj85K0aPZSw4yWk2r5k2N3e9pQPT7HnrkVo2xt7xWBWtau
Sy0zAQNPCkJ8mjan8HI3d7XUeLjiU5vntDR1NevpLLN4NpXV01kja1imWfpKXtExEQiaLEbjceV7
++pPRDU1XKfIVlNjvaK0hRualixfHY9OjhxNB/f+obHzC3UbPjf56H0ptYzLrmpaa0cnAGTSqQva
yRU3r3u1P/rwC69PxEcMY1KW62S5pb5p4fjwwWR82B9qE2iuvPzi5PTI9OhQMjoJAM3tXadPHu1Y
uDKx97lTx14lhHYuWt3YNk+SlXplP5UFoEAExjFpSgBAJRpuCrfIZyQqCBEAgCi4QACwpTCRIABY
pp5JxpbM7eacGXqmqWNusdH2mlteF7L/8P60rsdShiyHBOfMM51EDWZks5ZpSrKMiM1zWsJNdegm
H3LunY3Py4RgQggUIkeVQS44QyQ5pzunnDGkEueidcGKjsWrT71yYNl1khw8y+BrdZYqkKUmSaLE
FZNrfn6n2xHs2iUYFlwy6CxdtKCv7vMf+PalK645+5bOZC8efvJbv7w9lYljaeI4+42RAAAsg7F8
E6s01WGvHv3jT3Z9/6ar/+acNHLN/A0bl1x9+48/pBQWagE8PHyF5jvyaHBBgRF75iq5Suf/Ig4v
Wfn+1vo5brfxgcFX7KNUkpMa8qTTHB56xS/z5V0e+LUUtQPAydEjdoWffec3a0Tttl279oZnDj5y
8NQr9p9L2p3nOhTpBQC0GCJcveq9f1MDarftsu7N81u7xuI5fvzVK2/8X++qCbUDQEANLWu5sLVu
Ti2F9/e/ZKRLOiMEwcBXIkR4eto5TbJtzfwNa+ZvGEuceXzvg88c3pYuXR8oeYhu5D0w3jcxfUqw
3Ci7bokHhN138iU9ZQLAstaLarmKWVlnYElkbBAQAmqoku/8rK0t3OXX7LAma1Hj8oBrueDVoWcA
4PJlNU0Yjpx+mRT9z+5ELehXKgvooNf/vMtUNZtGnC3r8QUAyS+/FerQpGreFfQ6nWUwy3COVVL+
Is2089oI5DSwa218WTGPA6irXdwA3RACUAIQhpAA0ZZwBSCS0PJBkywLHGzEjRSAAqAldItAaYdX
HhbNdHtY9tKUBtBTpsgfQD3mJgAWWAwsAAqCAAoTsmZxAqBIoErABYDgFJDrIKEQgMIQMhBuCN0Q
Aojz+QjBdeF0I559pkJEAGaWow+EQtJGw0tPk5YED/B8XthaT3j2Rc+lIUBGr/6izWDu++KXvTHW
6AGFGabf31kQW2xoa6wUk1rJEFEL+ADAEaVqmVY6lpoenbqqc8IXMM0T8p6M9vJwSA62munX1yzp
MPVsY0ubnklp/mBDc5uqbZ7e9+P65F7f3LWaGElBN0CeKV64NER/ICgrSnRyYsPCpsuXX777xMQT
rw4ePDVhGJOy3KBovkT0dPuCJfXtobrmZmZmGtrmMssKNbQkoxOh+sZsKt7YNm9qZHDhyktCDa12
tV3SpBqUhZEVAvsmchxx25veJsUkmRMU1K8ZIKUt55wvNjEsBH/nFRclpieEEDY5XghRtoKJIDiP
T09MWSoAEKJ66snUbkY2W9/a2Dq/jVScg85iAseMLDcNRBUIClHqdGeCU84ZckqYxQnhnF+85WPb
v/OJwzvMZe+pOjF4cz4fiRa046s67qt9P64tJYVzP9NG4ss/+Zj34Z7bEJAS+2jOyh3LbqkSBABY
2Nb9o888fmL48I9++9WxWKR0r/v78xp4K17+wy/84OEXflBxtxM2z1QtgqyQyrudOwrxW4SiPfQg
rfo2eJ69ZKOngvvgeB8tkd0OqKHb3uaxNtJz4mkqEzdPxm2HTvdQSi5esmnTam/UntITlWgn16y9
8ehIjtex2kX5GI9HqEwBoCXc9dGr73LsHZjo+8XL96b0+Kq5G96/4ZOOvW9Zcc3jrz0IAC2hrr+6
xjsr1sBEn0M0ZmCi796dd/eP9X35vfd7HuKwU9FjVCl76Wg5f/TYxO7xxJmWkIc2MAC0hjo/cvmd
H7n8zmcOb3vgxW+mjWLeKwQACVZ0edBgJEpyLzp63bTkmansiKRQvxJa6Tr8jduithV7Is8Cwqp5
l5zzygFgadeKU1NHAWDVHI/G943tpgr1JCA5LG0kjo2/KhVedS84RYoLc1W6tkobzgL75s+b+7zL
Nrp58NUbISkV0EbNHW9NVmU88OhyZqykaqkae17IjRq5n5RIVcjf1U+Nnj/dNjvtpNmtjL+xwoVB
klJQZjjxzEMWuCINamnP2U5UKpSo/b0qtfzng4iS6vUxATADT71sSlIdITliDBJS11I3q/N4WiaZ
SU4nEpNxznlAstr9OgAYGXoiKktaAwIIYXXPb2mbu8BIpzEPPf2humzLauPYT7Q1f+uvi08KBmVC
tsUbICtqa2cXACai0YUhdtf1q4+OZXbtP/1i37A/rHAmWdaErHQMHt3f1DYnk4wCiNjEsCSr87sv
OHGwt2vR6ujY6ZFTfcH6FkREEOfVTxEJuAmmgUemc6Oz6lMBoJXGJRXVlkYp4Jt6ddTmuNMSDoOe
SQLAuhWLpoYHQvVNkCPIFOca9s/k9ARBNCwOAITIb0SQlMpy69z29oUdZ1+Fy4x0VJNbkYscW0YU
nO5McCo444wQyjnHutZ5C9dePvDiCwuvVPytVS/jTcDuEpFmBu41onavYeCsPj8EANh8/o2f2+Ih
flfd2hrmXLri2p37Hnn4uXsKSos1XlgtMH5R2/L3bLhlk5ckSC32tUc+9fKxnTWey7ELCVLHSpDn
YDzTtGFJ50r3UYOTR23gvrC1e0HL8nddtHWhS1Dv0OmeU9NHqUwWtXvQV9wVhoN1n3mHRybRX7xy
7xOvPZjSEwEt9OEr7nrr8i2OAovalhOZAsACVxsAYGCizwbuf/GWTztylw5M9H1p2612htcjI7tb
wl1v7S6rPOivs4/9zNu/7jgWAJ7r2/HAH7+R0hMA8Imrv3pl9/UA8Kvd9/2y9z4AoDL5x0c/AgDf
fP+vHMj+8JneLz/64dJ3iFbKpZYv8MPnvvD37/qxd5m8XbXihouXbP7nJ/+mQE9HgBWd690Tnr7R
3SUzcNiwyJkc6shwrz2XWD3fA1injcSPXvjfu0/tWt6+/nObvudmwKeNxE9e+dbzJ3a0BDu/8Pb/
bHYx7Cczw1SmgLCyyyPofHDq6Pee+exE8szbVnzopvW3exSYPvrT3m8dGd29vG3d3dc6A1sBIJJ4
bjHPjQAAIABJREFUnSoEAFZ0OoH7qemjGStJZfr1nbchwA8/8IKj/U/2/fSnr3479wdC6Zxqpp6h
ao9byYc62266Sh9VS1XlZeifFrh73IOznbdULDUb4F4wQrFq5szKe2p9fDOC05o7ea8jZ/cSVS7t
kax6xjfhjeOMGdtf8+5q2KO2luT+T9DxaRTq69+FQnBZbijsqmuukyoL9XHO07FUcjrJOWud1y4p
HtOB5HQiOjadTRXTAGkSQwDgyAXETY1IqmXFAaA1SJPRaWaZDS1FtXgiayJzGhKvogRoWEW6vtfo
jgDh+nrTMGNTUyu7Ws5feP77Llvy5N6h3+8ZmBo9lU5GtWBjy3UfTE5PtMxdLIQwMqnE9JiqaYmp
ZOeiVaeP74uORxpa57RKsfp61Lo6AcAcih+L5jzuik8FgI5AMrxiKSBkBk/FDDVtSQAglbA9EtOj
i+a0EUK0QFgNOEcQtJkyApOxyYaW1tODttIOemZZqsX84bA/FFJ8MwchzMr05LQSqC9zunORZ7oz
zgnmXO+Ec77uXR8+dejlvf/Frvg7GfAsL6TMan7Jz6WO+7m1nXsfWbPg4s3nn01ups1rb9y89saX
ju58et8jLx3deU7as2nNDZvW3LjaJdJXu33/ibts1P7/1lZ6ieX9220zN+w/n80RSzzxNACk9MQz
h7f1nNgFAAPjR65acYMbYv7gqbufPby9UP4HT929smt9SznNplC/LTvosIHxPgBwg3IA+NZvPpPS
E4WXv/fkLncZAFjZtd4WnCm13+x/6IE/FCeK9z3zhZQRf+7oDrc6u1vEfcArGrW6HT7T+4+Pf/jv
rv1XN0ouNb8S+ttrv/+Pj3+kEPDqSXAvIHsolXossVcHc8Ruz8jR7z792SMjvQBwZKR396ldV7ji
UB957YfPH98BCOPJM88f33Hj+c5I0wLBfd28qxy7JpJnvvb7v7TXDX5/+KeewP17z37W1oU8Mrrb
hu+le0vXHC6a66z/yOjuwu/utnXuay8t8D/2P/Y/9j9WMGZCZA+jNGBnAgIAQkl9a4O7pJHRs6ls
bCKqp3VEDNQH3ahdCJGKJiciE5bhZIDEdMVgyBYm/Evic3/eBoNgWTG/Kq9b3CxJ8vTYSENLewGW
80yUgArmiBFHpknomgghOEA8qpra0tkFANHJSVXPbL1i8a2bVvzu1YFnDgz1jw789v6vhepb2hcs
r2/uDDe1q/5QqJ4lolONbfMnhvuHXn+trrkjSHQ56KPBAACgrCfMHCiXFElDoynEUZF5Ou1btHCo
d9TepWgyADDLTMWnMqn4O959GWdM9QcJIaIQUFJClNEzyXQ8OjI0OJW07xtWSi5bxWRVDdU3UFkC
AEVzL6shokQIEQCczTrsVXCWmjgdbF1ACRGYo7kLjnmmu+10Z4RQwdFf33rh22/uffw/z7wqdXqM
q2+iSWbGxXEvWBXveFUncbUpfS2OHwQAkFT63e13AMDZYXcA2Lhs88Zlm5PZ+IuHn3zx8FP7T76c
D7isleMe1MIbV1yzdtElG5dfE3xj2jLf3Xb7U6/9ulb/VMlWKlMiEwBgJmcmgxp86tUrdLvSa7Hv
PXbHscGDALB6vreO58nRI3f/tCxDre2xLrWnDzzy5G5nJOLO/Y/8xVs+7dhopg0AmFe/1H2iQ5Fe
I21cuOJK9677tj5Z/SqYyYy0cfmSdzu2j8Uj//5kTmGwcKv+I7+l1O+3sNWDJnQicshImRW9gxUe
0b7XX/zYqavfdeEt77xgq9v9XzC/Erp5w+f//tdb7QO7XQz1Q5GeeHy6cJZlzRe6K9nX/5JpWABw
kQtYH4r0HOh/qfBns9/pTR9PRB7bc3+h3czy6GoPDLwEgC3hTrcz/on9D8bi05WuDgCeO7p9ZPxU
4U+/5ExnPTDZZ2YtqBBWu2foGcEFMxgAnNfkce0HBl82TescesdncMjX7HJ+400qlJX9+dxkmQqR
XjUyDc7GX175Os7KS1oDs6PiDiITe+mJeRH9Z1mh186z9ka/AY77LMsDAFBK7FdCcGHpswxwnvUJ
Z14H9jziXK0qVF+SkTQpFz2pW25R+eFXSWqCa1oxADRQFyyF48xi8YlYKpbKpjL5AoGmrhY3ZMwk
0lPDk5lkprBFVuRAQ1CSJdWvKZpy3DrVykfkRanuhqREBOf6eQtbhKlnM6lSSXKhJ0jssBJcY00f
S6ZblXq/aekz3YPizvqmJsPQk7FYQ0vLu9Yt+Mv3XnMoknxuz5HHnt/z+t7nkZDG9vmaLyQ471yy
amTweEvX4qFjr0VOHFi7qrFAyWG6mbFskjqzjEzYzLlOiN9vpvRIQhj6KBdm/+EzRjZtmbnmXbRi
UTadyKbije1z0ItdbkfHCi7G4xkAICgLPgtsjYj+cMgfCtu/m+e0BBscbhokKIOtLoCISMXs8wgw
M5scGwg0d0m+QCnTHYXtdKeEMU4Z4wQZX/6Wd/e9+MSBX483nldhBvLG16+8rITjPiu8PVvgjgjl
6RVLixW2kXx2LZGXVfru9jsEF9dc+N7K55vBglr42gvfd+2F7wOAE8OHTwwfHp2OHBzsAYADg6+U
lgxo4UVtywFh9fwNbfVzFnUsX9wxMyekFvveY3fuOritcKuFl+5bqdnK/FyAcIAkRCERxoCVJWly
9oKK5noC+Q2tdV1noW75ne137ty/zX5m872Q62gsctfPb0mxFMi5Tz+ghtzhrS+f2CUkZ+hawOdk
E+4f7LEj0lbMdU4SCv7v1fPOJg8AIZjRcUGLs2G9J5+W5LKFVCFEKgUAEAggEjDNnK7CnCavCIHp
o1kDhQBFAdWdw8UL5iGAEDAeS/74mXuf2P/QRQs2v3PtzZVyqa6cs6EpOGc6eyaohFa6SN4HT/da
HAt31U0m6Z/oi2eTANhR19HiWsR45eQuiyMlAkEA4HyXco4jmdRKV/35AsITWO8eeLrwibsrB4Ce
wV0MEBCIEJocdpfp6d9lcQIAF813UoDAdqgL4IybjHS7lCIPnemdTiWg/O5LEuQSnpWYZQgAoLQW
Ou+5EZ3hHOwJBVXKIncQBGdVMiiXNZugkEixPZxxRHSnY8vk4QQCEAJqLSKClU9abpXvhnjj41bu
eM7z4Z42GpNAlh1VC84EKVHYZByy2RyboPpkACnICtYk4T97jHqWpct7CzvHXCF9W/l+Z72yLAr0
GCGAM26wma9NU5EQsEyhl+tfaf5c0IfXhN27AbSyTk5p2rQZHFAI9sNMp3gpn0JWUVHQssDID4JV
7qsicSHspJ0gmDAMYZVP4dMx59GNnTntdlM3p4YnUrFUqchj24L2UKNzABVCjA+NxSdi9p+2z95f
F9B8WmnjerJLLpg6ir54d/f4DUMDP96nX7C0o33ewqETfR1zFxWK6Sf+UFdvodqaGXqK+8+b170q
NjU+NRLxZJUwy5IkJ6tHVX1qm1/1+amspOLTFyye85YLuz930zv39A083XPwqZcPRM70A8CZ/oOF
QyaH+31tx9VwbgKTTeh9Y4O6JQDgxMG+YAujF+ZeKUvnI0nDMCf8mjqnqWlu29wFna3zOprmtDWt
WjIvHR32ByuGB8QmhgEAECfjWQBAIgHUCtxlRQk1NtrC7YG6QPOcVtkly1Lo+AQAgkAigSBCMI/c
bFWNmdnESL8cCAeaOlH120x3gRSQ2dgd8053KsvdG9/R+8SPh/fJDd1eTpMqE843IF9WwnGvbB69
nldHWM0NhQAABMAsaHKVa3cRBAHIAQSABGXTpG//8vN7T7z8+fd/G96wLe5Yca6weO32/cfv3HVw
m+M+owCroF1R2gfn5zNmLt9Hue6EAAGoqmBRNA3hObRTCUXlxZNa6Omltm+g597ffu3EyJHCTKs5
7KGs8i+/vTtpJErfioVtHidK6gmBRYhp2yVLnWhsJBphAgE9lG0G8trwrXUeLJoZbXDqmOan7moL
FP+C6bpgjFMJJYUAABIwLC6Eh5ImAAxFj6k+kkrwTBYUDZ363K4P48plWwYn+gYm+ySZ61kRTydf
GtjxYv+O7vb1H9jwCU/4O7dt7vTgsOdyx/7IbpbrsDCghtwE94OndyMhkgwrvCJHD0ReBUpkFQBg
fmO3m9205/Qzcj6Ds2fW2L6x3ZIqAcCGxZsduyaSZ6aNUVnLebAuWeqhK3Vw9FUhEQAQCGu8LvDA
mVc5eBPc+0poMAbDla627T+92yxBLYigaUgVKM+7CpYBFhMAUB+srE8AteG2mj2OQkAmzjkHaqFc
MtlGAFkClhWu9XYPowRKgTsA0LzXudASIUCPFzsLWcGARrxbWuMlVfHfn43PvuKugnvHNISeKF4C
EuJ3id7aokkFszM05cpXOB2VUVKQUKyaIrZio2cBxc8etQPYrhwFiAyWyS2jsuoRAABQFwHWcGmA
FEyWUVFAUxEEpNM8lSibbCkqqj4KAAYDXukSyrcTBFmqfLkCCgshpYoT7joRgEqAAJKJiXjxc83q
EKpDf4BQEzJZYWc1qVSNIpV955aF2XKgWLfS0l4jRmzCTkGqBTRZkYUQk5GJ2ES0LNchpV1Lu2yJ
lbI6TWv4eETP6AAgq0pjR1OgLkDKxecZsyYiJx6Pnzl5uPVtU/BOE29qGZtYrF6+vD2bTmUSRSqg
0f+iPLEnuLYDrOMTfQQ6lyMhDS3tobrGVDw6PTZSml9AgGCM5YF72YNrbJtT39ZJJTmbSqRiUX+o
Lh0dXdkZXLf17X//1+8/PjQaTaQyunlmbGp8OhFNpFIZfZ2/R63LXd1UDC9fvTAUCrd0dNUF/Z1k
TPa/WKj8ug3L3v7uC1etv1TV/EIIEIIx0zJ0Kklpznwhb+Ceik9zzhGgtatrqncvomR7xT0LOywQ
DvtDIfszbu5qqW9tqPSGCRAoEFGAQEBEQhElxEKONBCCQ468zqs4HYTgRjJqpGKyGlCC9cGmLiQU
BRGcCcEEI5wyzgnnfMXl7+l7+XcDL476Fs5urcoXptn4Wcr9enDcOQc9K+xMnKpWmx+iZpMpCFsH
N98lIwAXwKr6Zp7c8+uUlfy7G775Bvkqf2JLZeN3P7y13yWRDgAUgUrARPFzs5carJI+2TG3AVsm
2RCajIoMioyM59JPCPt+IhBphue12JV6ydP2DfQcHzny+9e2nRjJNZ4QIAS5EEtckjKj0cje/h6a
7z1MXchulz8AALhB4eaVW1rDTgj+9OHtmo/MaepypxcteNzdlJUn924bi0dUDRkD0xQir+yLBCUJ
JIr24R4ecQB3G5oCnank6UJhQiAcIoCw1KXJY/ubVRUtE3VdxGO8ro5QV26dgl25bMvH3/qVtJH4
1e77tu9+UM8K0xQaICIcHe39p8c+/I33/srtdU7EuWV5e6z7SxJdXb3cI03SntO7JAUs7kE1GUuc
6Z/o8+dzVizv8GDqHRkpetyXu1zaUKIQ795beiwAdLe5hCwnj6aMRE4/SsCyNmcDUkZiYPIoAASU
0IImp9DkqyWi7Jcs8pCDPBjJIXtZBkVGIoEFTtQuRG4Jy+c7x91ddUMEnw9TKcFMISllbnJTgOJD
RQVDrwm+V7dCYq//b8w03ugVUQlllSB5s9ay3wxDBFkhkkwsk1v6WepxSBIQu0uU0M5VZJkileCZ
DHf4JZFAXQMFAC6quNudVik6Ond2BE5qqk0AmBwUAv4A0csBeiLG00kRCJNwCIVAwxC6AaZ5Nu5L
okDzajj9fIaxFKWBhvYmUzeHT0SMcgVNRVM6l86RXLku9bQeeX2IM+6Z/QcA0ono2OnXo+OnAaCx
oa53KvzcD+V/pOKvO7MfX6Dj0BNUvkQ1oxPHejtaG9jgbp850bhUIkE6vudoTFoTrMtpycuKWt/S
3tDSmU0n41Pjhq4b2XQiFlO10rUzQSXZH65v7looy6q96qEFwr5AHSLWN3ekE9HYxEhDq9QRlnzZ
JPXJ65eu0IJ16dg0lZXEMy8TiQKAlTVUX9Pnbrg41Nxe3zaPW1bm5POymaMGcdMKB32jsbHhk0cI
oW3zl6aiE6n4FJWUuub21jmLbc6E+1lExyIAwBjLptKTiSyiDGUSXt4myXK4qamQIbW5q6W+zSMC
IXf9giNiySdtw3cbtBMEBIooJIIEEIEgIiIgFxwE58wS3BKclyVYFcLMJs1sMjVxOtA8J9Q6X/YR
zhkiRcY4kTgTkiwvPP/y/U//IjUkBebW+p3YaI3KWM6eqNWcLyLnkMyneEQAyxT+IPFWUTpbQwCa
19HiwjmIIgLjHn3pH47sPDN90x03fHOxl5rhf0PrHz1y98NbU5XTGAEALXnHTFfOCM9+iDOwrJxI
HCXgU9HiMxBvSs1Tnf32n2y1U3iMxiKnRk67Z6GKjD6fPTdGd/alP/Y9XSrwn0sO5WUfvPRTB4Z6
CnkrL1my6barnHqOY/HI66O9quzNxS943FN63MELH4lGfr37XkXDTEboWSGYAID3brzlqYPbBU3K
kpNQVGpXdl//m30P2noyALC8c/3fXXfPaDTyj4/emrUSpSXd/uaCBYMEgOu6iEV5IEQ8Zwg2agcA
vxLaeukdF82/+v5dPygNLfUrIb/iMTsdi0c0H3qe/erlWx7b9xAArOpa/xcbPuEusC+Sq3/DQie0
PRjpVeSiP3LdfGeBwam+0thQNzRP6YnjY0cBYFHLMo/A0JGywFB3aGxPHvTnWuhqwOEzuRpWeoX/
lAaernYFHAPAmcTRYBAJBSaAe34pAsyMEKKYb6gW4wxMU3AmOAOW/24lCRFBVlCSa3QkgaJgNisY
AzPDFX+ZvCDjAAiKH1UBzALLFKZ1lkur6WRZJ6soBf6JnT9VcA6cA2MACBYDIRwfioBczlT0+2u9
NE8zTKFnwbRKL6NYnZ0ICRHsea+dM9UGS7JSdlbGRDYjNN/ZNAURZK3a1Pq/uSGCrBJJJkaGzTax
bkMDEoKCg2UJ0+DppDAMIbwGXEqxrpEgAQFQO0leJjDjzFcmwFypAz3N5CAhEIT6Bjo1xawSiMOY
iEdZIg6aSlQNwyEEQC7AsoTFQM+KqjlMy6z1Ajz9vGAsTWlAVuXIsSGrPN2U6lc7F8+hshNiZhLp
kf5hSZaa5jcH6p2ROdl0fGzo9cmRAUmS3r75yndfd+28uR2ZbOapZ57/w4u7v3/0xCPj7PYFyYum
n1wiACSg48IfNNXzOAnTyYODo4lFZvPicGMuM2jBsakFQr5gGBAFY0PHj9S3tAnGEVFSVMXn9/mD
gPlMXfbdyv+kkhRqaAk3tQKgovlDDa2cWzacFUJkU1GkudtrpZlJA4RxgiSbmEIimdFIuFXO7zVB
CbW0zFmwYp0ADkIobXPqW7sECBAix+cpPKj8Dz2bzqYSAMLUdUPPTid1QhSYicRW6mi3TZoha5EQ
whKAYOfyEQiIwGwmAwEkKAiA7Y0HEChAIBJCJCREUgkiQUKZZZiZuKWnHVWnJk5nYxMN81f4G9oF
YYITzhnnyDlffdX79j/9i7EDbOHcWnsVxU+MNFcDJB09G6e7E5Jn00IIoBQ0HzF0YZlCzwgp9Kb0
cWw283gQcHL4yOf+86atV3/6vRtvfTPacw7tZy/84Gcv3FO7L8fgzo4MEbjw7gQNU5SSMSSSI97U
YotcHvd9Az0HT/d4BByUtETLe9A99WROjB4RorhiQhU0dVFw1TvOfs8t23Ye2g4Aq+ds8Ex1ee9T
X7D5kZ7nOpTHoP2jR1aV09xvvGTryandByM9hgGIeGn3pq1v/dTi9uXXnn/jP+24tRR9jiciDqp3
S6jrm3/26+f6dgBAS6jzyu4tABBs7/7yjfd/5/G7Xx8+oijo96Fn5tQVnetvuexOAFjZub53YNf9
z95jZEUqwS0T/QFS2i8VUHvBVnat//bND4zFI6emjg5O9vmV0LoFm9z67qOxSNwcVlX0JEd99Io7
Nq24HgAWuuRuAOBQnqG+sKnbnbro8JleuaQn9HKZ7wYAxsGygDEPj/ihM722S3hpsxfB/VQRl3tm
VD04tFvwnE5xS7CzxRXbemSsV9NAcA+HetpInJouJqld2OKR+OlbN/7i2eOPrmxfBwBf+t1fOvYK
AWZG2MIGoeDMkFQIyKS5nhGMidxqPsVC3spMmgMApABsjoFK1BqQZSBA4nHOOZi6kFVnhJCNP5CC
IqFmz4o5cA7ZbK1CaukktxF5wUxLxOJuol21mS3YK7GGUFV8I34cF2ovM8ZykwcwBeR4+XamRpAk
JBRLcWoywVRNmu0sghBU/OSNzD3+mxgSUAPUyPDaPXaIQAhGJ5kx03qFP0ACIWIvARms1ukiIlRS
wS0rBqCQWicDWQ4+CkigsYlGp5kj/7TgkMlwO35DklFRUJJRVRERUqmab4tc/DzGT406UbtP7Vo6
x+0YTsfTI/1n6lsbGtoaHQk7BeeRE/snhvuZZV67+cqPfeTWlqaGwcjAxOQEAl556cYL1qx49bWD
v3jkN3/7OvkzKfu3b41rKkcfR0kYKWminw9l5kLrss458x3nzSFOQAAglEqyVN/cbhNOEDCf3FgA
oJhZUVQQKiEgIta1tOtjr6eDuZFACKEFQlyR69vmaIEwIGT3xOVAzuNupk2hhnLwvPQeC0/eiU0q
EPGJUbvDYswilMbShiT5AYBW6E1kVQnW1UuKMwJ4tH84FtCIRCVZCjWGtYCnHKQAyHePorgpb4hI
cjMGJEgpQYpUIlQikgwCqaxKSls2PmZmU456mZmdOPFa08I1gZZ5yDihFheEM5RV//zVl54+9NKc
K1AOzvziyRpR/CQ1xdQg0UI0m5g1dneIGYFpCkAIBAkiUIrJuLAswXlNK8iMCcsCELmhBWx+BQVA
kGR0vPmeq2+YZ4y4TQBQhGQ2ft9vvvrHIztvv/Gb7fVnw3J+s61/9Mh3H73zeORIzn2VH6VsqC3J
QKkTH7hROwAQrOhHtyxnnnaKICqXL1hAC7e5qOH9E31FLqwX+pelYoM9NVWOj/SVtp9KwC2YjsX3
Dfasdalntoa7PrjRmRepYE+89uCh0z32b3eeoPF4Ma/WvoEeB3APauEv3Xj/aCwyGo0salteoNks
buv+0o33f3nbrQWHeu/JXe9Ye7Oj8pZQ1/vWO93VC5q7v/HnD9z+8NYTo31+H/orZIx6x5pcbQ+8
+I1gkOiySCW4nhWmyXx+omoIACs61ztQe8Faw12t4a51Cyom/tzW86CioGEIXiGRtydkt+2VgRx0
9vRYH58oOvvd7nYA2D24K6sDY4AI7XWd7hMdG9sd8IEQcMlit7f+aJm33gX6AeDgmV4A4AKIBCu9
yP0vDzxjk2JXuGg8r57a5S7vsJZg5/vP/xgA/HLvv5XtEGCZwMxc/x7wOzsot2XS3I6TkyQMhIis
oOzy2tpdqGmIbIYbOsukMVhHnDEP5UYpBAI2YQYEE5Lm0RI7nD33gROkEmgAGa+Ume42p5IOlwDU
7ox0N3XGu1TdVA3M5KyPsu+qIzmq4BCdYuF6WnuTqISy9v8Dai+Y4iMWFWa2pidqY6QqqF1RUNHQ
589BdgFgsFm8LWrNNDNKgNa2UCwEZBloFJBAQxM1DJFOck/ql2UK2yUfDBFFI7VHkPOEDGABoBBi
IjISqCtStG2GjBu1Z1PZscGRziVddqrUYms5nxobOn18n5lNrbtw7Uc//MHLL37Lsf6jp86cCgfq
pmPTkiynMqnGuqa3XX3VhovOv+dHDzx08NiTA+q3r0osqRMpy5cQoSPj1BC0Ace0UBiECNQ35PK5
2izt/H1JJaJUzuPagt/M/pFfMivycB0FcugeCvg+M3zY1+TP3cmMwakmhFB8fhuP88wIkXPrwGba
4KGQrKh57C6KyyciB9NzP4SwT6Snk9HxYQBAAYqqSbIqhECUAIBQGqirM7JZACCEUEmisqxoKiHl
91wIxpjN77cLA8D40EjL3DZ/KJ+n1p6+ILojWhCRUEIooZQiASFYcZrByoJbkFAt1CypPkKVnA/G
YUJMDRyUfWEt3MgZRcI5Es74ysu3DB54MTFAGldVROFEQiqhrCGV0cwKSnILrVSWzAy3TMErOzUc
VgbcbR+MlAdqiCDJdhCkIJWixAGEAEMXhlHKkHPHmgjEXL9gzwE8WygRML2W7XJ1YO6d3Nf/yl/f
+57/bq73VDb+yEsP/PjJfy2u6JVcSW5jBgBAVlDTUJIRwHvRkFbvAQUYFmjlS0a0BuDuSXA/OVZ0
jXt6VkrnbN4e95Ejji9FVtHIigef/cE/3/LgDG0qsV2Ht//4+WLCptaw0/laKqn++73brt9wizvm
oa2uyz05WdDcfXX3zf/10r22v/CJfQ9d2b2lUt5WT6uOvQo2ONEHAKqKEiXJpGCWSCV4Jg2ajxyK
9D53dMeVyzw46NXtxGjf43sfCtURPSP2D/aucWVFrW6HbKqJ8IDFg1N9Bf11qMBff22gl3OQJZBl
OH+eRwGbxY7oAaydBHdX/btP7aIUGAPBgRmwwoXsx5Nn7BZ6OuMdcjfVrffULgAQDDgDzgSz8hHz
BIL+mb3IyTjPZnkBslcqhgiKioqKgRDJpHk6yWNTrK6RVn9/bO5KKgWcg5EWhIIkI5EqhlQyDjN6
UkxDpFLcNJzBQ/5AcUy0TLBYrZ57RAgF3yjqVWT0+yGdrnV8IgRkuZgONZvmpXwJyxLTk5Y/QHw1
ONEJQdn3J4xg+FOZpCAIYtZAeZdltMrd84qChKIkgyJj8a1GAACLg8lmIZ8kVVaS8TSFQiXlUodx
ARkGKgVqQ4hGKjhks8I0hGEI5hr2TFP4nbyVahbvRwCgNGAZRjqR0AIB2w0sKXLH4k7qJTKVjqfm
Lp/v2JVJxc+c2D81dnpOR9tf/eUn1qzuXjRvyYGj+32qvy5Yn0onKaGUkNbm1ngizhgL+AOf+djW
PfsPP/zzRz/8OLlueeDdG5dpqtzZIDTNn0nEouOjsfFR1R9oaO2sb21X1cIkQQBgdGLUV6LUPYSe
AAAgAElEQVTfYgNx+9/c31D49EtukRvBC0CA7PCRhlU54G4kDFAbhBAESQ4T8DhAHrjrCESVFa0M
ruc868WTlJ51evRM4S/OWN4zkWucPxTyhzzGYlPXTV1njJmGzkzvd0XPZEINFSnvnkYokVVF9amy
KsuaIquyrMhIcmGygjMjFSWSbGYrOhgEZ4mRk0qwnnAmOOOCcI7N85eFmzuHXhhuXIWIIPsIlXNh
S9SpfwXcEkznwRBJpbiZFbKGapCoxVsC3BJCgODATGHpws2I8xivSscwe3jgDKACs8iyRCbFS4NN
85WgJEOBRyhAMBMsSxhxEa639UGdVdGZPnsuQCa5mPRkNn7fb7+67aX7P37dFy9b7tSy+NPbzn2P
/J/f/Wtk/LRjOyEgK1i6nm6ZwJhIxHkwRGQF3fkHEEEiUF2DWAgwWFkY0IzjFmewyivX/cnRIhqe
UTRpoRfTxm5PqTsAEBQN95/qeeTlB2+8ZOsMlQIAwMMv3fuLl+8tKLsE1FCLK2B0YKLIixiJRu77
7dduv8EjM6vbHnn5gQefuQcImBZqGo5D5IE/fOMTm74644Hjich3fvuZsdSxYAAB4PCgB/+nYKPR
SFLPxVlSCevqUddFJs05g3SSp5PiG9vuOnXp6ZuvqLjg4LYTo323/2SrJGM2I0xTPLl/202Xz+Lw
lJ44PtJnZ5u+2EVwPzJcTkB3Ie+DkV7OQVVyfYI799NE8szg1FGoAPp7BoqRo83BzvmNTipL3+hu
TQXLAsMEAbDBteZwKN/CDfOvctd/+ExPeWt3e9LcASClJ45F+hyhF4SAqqCmzvztmKbIZrmmkWDd
LJCfz09kBWNTLBnj9U0zuIVVBSUK6bQwLeAMDCYAgEhAJSQU7GCq8sZXWpuEVIpblgegAQDNh4FA
sSLUAAB1Q6TzfKFKRikEA1X1dgAsSwgOkoKIYBoCifd0V1MRYGbsrqrg8zlzRcsyiU6x0m5KCEgl
eSrJJQlVpWJCQZshU/2Mdnx/Lrat9LS2b8VrXfTcGhJw6HjaiGjGbllSkfOZo9woLXO3t7RJhdMV
LpcJYHw2FFYAsJVkZjknQgSZglkbR0AIyFpAEWQClAAS8PnR50fI0auEaYhsNudxt8ycnnKNawWT
JyxEmVKfnk4AQCaZDNbXA0DH4k5Zdef3AQBo7GhybBkeODwy2MeM7Ae2vHvrTX9uMn3x/KX7Du+t
DzfqepZzLkA0NTRNTk9yngz4/Gk9I5CvWLZqVffqi85fe++/3//4/iOvnD50+59detmFywklzGLJ
WHQ8MphNp0YGj48OnQyEGxpaOxvbOgEwnZiOT453LDgv71zH/H1ydWZ5t3peVaV8Hp8n3+jjx4m8
0N5mJA3e1kColFO9KEcXJvMBgKxoUCS1izKeTDnB3Xa3U0kSAAginUxSpWK6U865nk4bmYxlWbyy
IG4tRihV/arqUxVNkVQZERFRUiRJqqJ5BAAACJnoCGfVppXp6ZFGZnGS04XkSAilC8+/ct/On4Eh
B7qqjSmWLqwsr6sj01M8XEdSKW4IVMp9CgVZW0lFNQhGiuupsrfZW1XGfSWeZhgiU14dIqgqkVUX
tQZRlosVeaJ2iTijM91m0+PMvPTKSDTyDz/7+AULL75x460bu//fwPen9297+Pl7Tg4NOUZKSUbN
71IGzM2LsPituUzOz4OrmODACRgMZFoM861iRkYI7kFwh3KPeyUmRsHcIuKj0UihSVgKThAUDf9t
59eSenzrlZ+qUueBod6HX7r3wFBP6Ri9wmuOUWDRAIDPBz1Dj967k9x6+V1VfOej0ci3tt9pzy6A
AxDIZkGR8dm+7QBwy1vurHLsc33bH/jjN1J6wnYQ6LpIJWOPvPLgjRd7T0VOjPYl4jxcgu1UFVWV
GoYwdGEawCzx0PM/eHL/tpuv+OS1a26odF7bktnEY3se/HnPfbIGEsF4nAHAaCxy71N3ffKar7vL
P3t0x4aFVzvCQ185ucv+VFZ5Idoj5UGx8xudr8cr/bskqTiTryIac5EXsN57qrcgnuaJ7PtGegFA
kkCSoatumZuCfzDSyy1AAitdh48nIuOJM5Kv2IPt2PvQxYuuWuTFGjoQ6S2gdkpBkkBVkdIZOvCC
ZdIcEQKhWftrJQn9QZJKCMsSMy7aUAqhEFoW6LowTFuBGwq+FiRAJZALMkeVJwLMAk/ULkkY9LoE
VUFVwUxWZLLeUwFFxkCgWgCArotUgtsnzbEsOAAgpeAPEncIqS0Znkp5O/tt7pDnGogkYTBEEzGP
Ed2yRKW4NUSQtQqc31zQWh6vexWAkj2C5/45Z1ZogNfLVWxR6eTB66bJGhGcV49VlWXI5udLlObc
gVzkRECKXKxZCu0ggFrzp1TWHlIhXryCMQGMAXKgCBICIXaQCVCKioKEiniUAQBjQnCQZWR6TVVb
CWIHSlqmCQDMsgCgY1Gn6qspVj2Tig8e6YlPjS2eP/fTH7vt0ssuOXV6YPXytXsPvaqpPmaZqqpR
QimhjAufLyCAJzOJRfOWBAPB1weOKbJywao1v7r/x4/97slv/+t9n/+PZ778l9LbLl5GJbm+ubWu
uc0y9LHIYDI6lYpNp2KxyPHDVJI4Yx2LugmlZQ72vGC9vUEQxJyIfSlvRtjjIJTAfG7qaqjYoehZ
Koiian4uAFCY6Xjp0xWoogBZVYskmdz8UuTJ5SX/BTER6c+kU8FwHeTVZhKZMsUeALAMw9D1TDI5
W7Au5SO0qEQVTZFVxRfy+4I+R0bbWRkza5OW55xzRjjh3EJBOMPF6zYdeOaXkRd59we8RwrOQE8x
VcLGRhqP83AdyaR5YxNNJng2zmQfoRXWcpUAEQKMdLHfmQG427eRejnDhYBsuqwDUxRUNSc3ydNs
x0ah15bIzO720mMVAqYoKpwfHHzl8KlX2uq7PnjlZzZ2bz6LBENnYals/On92x7tfWAsFkmneOlI
SQj4g0SSZg4PAQCCRcxNECRSWw9of28AOstlraoOue1bPRKN7OvvKcBrBDgx1ldSyFsNpvCYWsJd
NnRmJeFKewdzYJpbgjieIoKi4c9euvep/dtuWH/LZd2b2krCEsbikQNDvTsPbT8wlK9BgM5yL8aV
y7e4W1JKlbHfyaf2b3/u4NPvvnDrpcs2lWYvSmYT+0/1/PHIzt+/9kj5tQgEtKVOn+3b/trJnutW
3+xo2Ggs8uKxp58/uv1MvOjgt6EJIDz40jdOTu++dsVNpZSV/ad6X3z96Rf7dpqmB0SzuRMAyCwh
BGRg+N+f/+JPe751yZJNKzrWt4Q6S7VixhNnXh8+cvhM7x+O79B5wvYqAUAoRGJRDgDPHN42mRl5
x9qbC5T0V07uenTvQ0dHe790/Y9LLhUAYPfgLk0BQmBuc2cpTLdt9+AuWyqLC2gOdDmYLULAwcju
An5qCXaOJyPjyUjpsL57sOhTdwjInBzvc8AyRwEAsL31trWHuwoSMbZ/iHN4pf+ZAkw5NLIbAEi+
g9o9sNNRW0pP3L3tI5uXX3/Z0k0FPn3/xNGTE32/PfhTvw8pBVeukjKzRQbdTBjTEKp6liwRVSWp
BDMNqDGm09bpCwBYFpgMLFPYMi+CAzNBzmMJJkCWsEqgp6sZGKqrdgk+DVUFdBMMQxTkzxUZNHde
gnJLJnimZCAQ5cNHIsZNA0OulQpFQVnGbFboenHEURSQZVQr+uMAADQfIqGJGKsdPUsqQdcAgxRs
LchZPdYcwhbAZ53UxbuqfAKGGUsDIkB+dMhNHkoevj050StHZCoKIBaFQW1nhADIWrPE6c52nSVq
z7VKAt2a2WFXakKAJcACAAaIORBPSVn0hWEIWYZsDQDMStDkGFMUPwDYqFEIUddc51aJ8bTJkYFT
fXuQWze+8+03vOed519w/uv9R5eft+rwsYPhQF3QH4wmYkF/IJaIBfzBRDJOCGGcX7R6XWQkMj41
Nqd93sO/3P6r7V9oa2t5+6arfvQv3/rk5+9+6Pd7rr14WcE5Lqta1+JuAIhPTSSj09GxYc5YfUtH
S9d8B2Hd6Xa3FSOw8Mve4yTUoBD66FFfU5Gsb4kgClA0PwgOAlJj/ZLmQHVCVlSb3g4lMB1KHe8C
ACCbSmQSMWZZlmlKkiQEyIoyGTcBAJEKzjOplJ5O21Om2Zoky81d7WpA8wV9biHON9X8jR1CMMwl
Y+JIOCck2NDWMr978uhhAOqYXgsBZoYLS9SHiSSj4MCYUDVimmgYIhgiPgaJGDOzqAS8IbQSIGam
mIkMr71rUenu2DQHhLr6XD+bjHPOIVTnWiRFtCyRSuS6LkLAH8jHYFX2Wzg22J9r0c+KaKtDohBo
MUml+UzFTABwiRbW4wocLZEnvhcsoIU3dm++pPuajcveLAf8y8d2vnx059P7H8l7zTGZyDEvEUHV
SjxMlfuzUo+7EK4LQdAtAABiWlSmRCYIwExuGlxnBAFkX0GutIrvvsxy4cIF1O46hlm55JEOs1fJ
Sw9JpIoT4+LaAYLqd1Za6jHiPCfKVKXJi1q7L1myafXcDavnOD2s/WNHbv/5++zfRtrQLcpF8T4L
S9jJMpBibpAWwL3Cn4lMgoGcwmkmLTJp7veTAj42LaEbgOWS3nYxANB86A+SAoh3Ji/jgnMRriPO
nI7ovBnOneV7TFO4skICAKSSXM+KUEDImmRfo5W1LI4MCCBoKhiFFCkCuAUAUAidcj9uOz1NqcIg
IshyMXkK45DRwae5Iy6qv9b5q7DAMHMNsM9uZ5/NSc2iLS8I5XTH0p8IAIYJpgWIgHnUK1MwdBAC
KHCJCNvjLpgws2bKoICgKiirWJhHG2nBOQT8mNMn8HoyelbYlNnCds1HAqEizJ0ct1SVBMPOWXXl
J1o0yxLRSR4KFxVmTEOkkqI0bF31FeRWvatiDGJxAQBaMMfFRARhikxGUCJ8EldDsl1aTxrpDFpl
M3AMBIk/6NHY2jZ5bc1vSCd5OlUJwBaP0nwu7F6lzyp7GbzLMQaxaeZYWAj4hOqnVKEAwA2WzbBU
GpGgFiwbCe0vjuSncDMAd6z4BwiYRU7G0otCQEcAw2yRL4Jg4M7mbma5ZQhVFX4fyn4JADgTZsZM
6lIwiCBEbCoXQxYIkUCQcOEN3GtsDgKokhe1fUafVakHF0C30Inda3fkAVAEVQIAGB3O0RtsVZyp
aR5SLdkv2+mQzLSZTjvRfPSwdOK3zOdbSKk/Oj5u6rovGFhz5XoyQ5wZcGadPrF/bOj15oa6D33g
vResWX3xJZecOj3g9wdM04jFY+FAnWHqnDNN0bKGrqpqLBEDEKuWrT52ss+n+cOBhs/e9b979rzm
U5R0JoOUhkPBUDB4ZmT0yX/5aMivIZIcBifEHu8RgFnM0DP+UD1iMRgTbJFyzJXC/JQ0vzH/21Yz
t58PsQEEAmJsz6+C/n2+5iAAgBDHX0haC9/RMm9JfWsXs8zpYy/Kk9saz2sGAG5aJ14xrAXXdi1d
7QvWl6B2KGXO2L54ASJy/GA6Ho1NTVJJCoZC9pL+4aHJ//3wK8Aa9BTw6hQ9zyeOqPr9kiwvXL00
2DCLQLVzZVq4uX7uMiprhMooyZKkUFmisipJ5NhLT/Q8+u/rPq42dBdfaG4JI8WDwZxMBQAkE1yW
0c45E4uyxjyR0jBEIs6pRjwz4ZhZUUjY5PQCUQqM56ADY2D7Jj2pjZKEmo9YprBTEJ/F9bs/+OrR
LY6d6NU7pLLxnXsf2bnvkYAW3rhs8+oFF6+ef3HbG9afGZk6/dqJV3affPrQ6R63NLvPj5k0UAqq
NgMN1NM8L6TUE+8wWjlqrfI5qq2t21Ypotn2r5eEs1dIxi6As8pnqaEBAHDJkk2VNGce7b3feUIB
YKvy0eIdzClzeaF2JIgUbaaEp2UzAhD8dvw0AudgmjmSOgD4A0TzYzrF7WLulMN29+W5PDUr80Tt
AOD7v8S9abBlWVYettaeznDvfVOOlZlVmTV2dVVXdVd1F4h20xiMAEFYqAVGMgjL0BKEpQg5pCAI
OUKWHWEbpEDItky0hFBYtqQOZCFo3MggAWJSA91U01PN1TVmVb6c33CnM+y91/KPfc65547vvqwC
rcjIeO++e890z9n729/61rdSUeSLM4kzvbrCkSy7FQNkDx6OAT0LGU4WyhKYIAg7w4X0DuQinSfX
ToVySY7IuqkDyHIgAimrZQAxeA95EcR1S71KpATrpnSZnkBJWFKqBACgDbbhXJgXlm2/KDi4JUoJ
SSVsw6Bod443t2W47bVBu0RAHK4Dw9JcWVgPyBomFhkP+hREuiiQiW0JowGNh5B2RNpZ/NVLWWWi
GkEaM2iF2fLqQRRgDFoHKNAsaYj2DsOWPB4uNxNoRZ6x0pzMLezvOKQEHQmwLJCDK/myd+pFXicL
dSlc8+jeMbSISxSTSoPprQAqwGPBdwChFu8doFZGcU1pCQAA0aqPmtn7fKhI+EWycUQwBgaHk6sU
puxjusBPhUQwR6mF14mA/kt35wfTTJSqrr4tcu5tLh1IQ0iJQkB26AFAyglfG6cdZ51ZOOrV4Wzx
6jO/e3jr2gff/77/4mN/+szp0099zVNFmfWHh6dPnXn+pWdObp8GxE7ac7bMy7zX6V6/fR0R3vfw
+597+dlzZ857y3/+4z/81pXdC6dOnNrctGV58+Dg2t5+fzAEgH/1bz/3gx/7+oX6Lal1WpsktgbG
+hLMqmUm1jGLSPfqbeXe5fh8VZlqxyXrhJF1FAOzKwsqBk15pcsdyBiIatlLC7VP1DLVf6PDvWxw
GD5YZGOTpK9f7z/36pXnr40BoMxLouMJWoSUnY0NE8dSqTOXzv5xonahjDKJTro67UXpJgAweRYC
SRJ59EJIT4QPPPUn/+DT//j2S7T9cHXFyHE5pJ0Tsv3UFzkH1WIQeoUJCABMhCdOycN9sjnMY3cd
I3sRxO6zF04p9CU7C1rXU87yPGkUY/TOpoTxiKNp+zO5ArBOj3fZmE201MRtlPd//cu/8Otf/gUA
PLt1/t4z773v7Hsfu/S1nah331zvz/l47foLV26+/cqVF3b7L76y+8Irb15GhM2dxTuTErvvzOq+
LJgZ2hdTigXCFRSg9R9Jc8cAx5etB6xjUz+6K7LzC9Qyx4zH5jT0IZ69/Ae/8cwvmM7UYMrBkSfk
A2XFJQACe2Y/20Im/AkQOktq1Jzj0YgAYTznASUkdLtCKhwckrWMiDjvA0jMxNr8EbbeFFW134Lr
r+W0TdNMLqsVRFBYIAIpIDITDCEFaAV5AdaBUiBFVeDlPOi5iidiKGvHCc8QzT0WYbHX9Bm0FojA
aNDTSpVQlprnoDVoveD2q06hDcQZjFoK3APL0BSltXXtM8EMwbJTSuhtiGiigcYoQW1w0PejAXU3
BABEkRgUvsh53pe98NV4ZQliOXvNmSEfc1C/hOMZ9EmpqrVN2B0EBDzi0ZCKHHubi6UpYbkytTZe
QqlsbApZpyb39t5FOfZsjIbH2PhoSEn6zrwk5wPBRCKt1wPFaDbhjgLnLR1gGriTB++Y3ILiruq+
81VjXSFZmbkNhnQQAftl1cL1G+Vi8oIJnGXveIL+w5q5dRRCgFAo5GQ6Dq2RZneBoaxt9i9JgkQT
gTvUerBjaVQmewFQ8tjVqKs3GCmwtG6t6kxwvcpqbHO857LkOAKYviNMhElPaIVYL7NvKw1QNAA4
TlNlzP61vTOXzi7b3Xiw98pXfpfK7Hu+8zs+/DVPpd3OU099SCn1pWe/8Pgj7//q6y+f2jnT7XRL
a/NiLKXS2oyzjJg+8MiTL77y/Lmz56Uw3/eXfujtK7v3nT29kaYAbIw5d/rUuVOnrly7tjcc//c/
+cn/7Z986sd+5Pv/1Dc8qZRCZkbEpr60bdLexuXh5yanCfWNEP6vYXpI73NoRIEMAFz2sV66lMOS
zV1AhAgM5GwOMvJ1m8z9V/f89tdDtcNp1E5hMq4ENMS0f/3t5y7f/vTnXn316sGtQd66hChEjKiP
eGCmQ2m9feaMMjrpJifOnXwnKvZlERowAaIQSiglVCR1JGTlLiKkRCmEVMyERCyIiRg9kRAkyHsU
Uilz9oH3737u2Xu/TcoIAKAY0Ylp1J6NpyiMJMXxkNoJyc1tceuG17PyJAAA0xFCYTGcW/GYGIuS
reWYq2fgztj09SPPuNNK4yoBbpGTv54mtJyDIuc1lw3XD65cP7jy2Zd+HX570hTpvjPvnVHDI8Co
6L92vSrWHByS95x2REjIrvCAe+eBCOMRaSObmVggKAlkZ9+2Di4UWBnOMIDzazEZK0uowVowNeRa
0YA9sLNHZgPCuB8QfoCATSwsn33m7af/l08vKm+tZ6javhSAJ5qZ6i0SEZGZA5pHic5xc0uHcSfM
pqF0ryi4cUwLM4GOMIqwLHmw57mm7acOg4E9M7NS2Nt4d2azImdbVhM5ClAaTYRCwMJurIiAEmas
NmARWvUeihIAIDaLSejIQJaDrVl2oyEvoLTQNlcgAtdy2CAGByBadyYzFCUgQuWWxmAdSDmL2gFA
KZCy0sN4gnmDl6YYhmkCtjyDlACL5vg0wXaiJdTqzSdYmOFwn5zjOMZub4HyO4rRliLPKQhmohjH
IxwOvGl1/GGG0nJ7d7kHLaDdNnU8JO95Y6u61kFVsrElZjhXbXDLYDbm0ZAO9rjbW1DQqTRax+3F
vGNIEsyXu7m79ez27iy8B1vy+mMiExQFL7yB3+FhrAi1bNBuvVys7U1JHsqMMWdlUJopaVNQqy+U
r0C4jRetS8mDXeT1tmDXBFQyAESdCTWAYgHTrwzC3PeeJNA/mLy1mTePr1MAJUDPeRy9K6EFKISS
7qTPgGdQCNpgVve7HA1o+4QsZoC7wZn6v8NbBdY6PERMNzYAYLDX3zixmfQWyKYH+zdf/cpnlKCP
f//3PnDfvUqppz70QWPMtRtXT2yf6A/7AoSSqigKIUS30yvL0jl7Y+/ak48/9cZbr232tk5snfxz
P/BDl996+9LZ0700CdCbazvFc2fPnHG+g/zyV7/68b/5U08+et/f+Ph3futHn2wp14Gxfu4muvbW
Lc2h+1IN07EB9HVXpsblnQEBqRxIvA1wIXzajkqONgFQSM0MrizF1t2jl/N4azi6Mezn53jnLCAo
E3PDr8+gdmYGHh3czob9T3/u1c+9fF3KVOsTiBJRCpFIGQNgmgJ5b4vCO8cA3lpnbagMVsaYKEIh
lDZSqyBjYObudi/pJlEa4bGcR9cLFXWlMogCBCIKFAJRYFXRQozILJCYBTETMwF5RlGT7oTeB9L9
oa/9tt/55Jf7b8rth4AZxFx+r8iptzmZfY3B4WD2jo8T9JYXkg4qQhXJ2TktsHrO8WhIQScz95Zj
h3NLa8KUhvFotsGTnBt5cI4+LAsO/bEXRtP+aUU0AL29l/aAHsU4HnFeFwSYdzzleM+IixnZsCqw
5dRSRCLcGV3WAEsE0BIEg129IYbVVmLOsfeoFHi/KisNAOQmqoBloVvEpMApUdCo6Dc2Lzf6V167
8eKvP/+Ln33l3yPz/GUTEqsNCcDQVHLmPLFSzgRNAjAwsfPYoFBby0VCRDVGHw2JGYTEQLiO6pYf
qHA2zc1AvjI5atqwv5NZzTkeDdhPX+Sy5PEItMYkwXlkEJnp77ceTmcyVM5BUQYPxKWPBiJICY1C
OtDw1lVLpKax2sxFsO2Ga6LyBo3rJZynKfZ9fo+RAemhKCEvFmB3IcBPc5mewOgF5JwxCALbFbHk
GADN9PDXoPbehoiXr/zjFPMcyqJ6JLsb4nDfH+55bdA5tiUDTqw5qnMByByHGVZpVAqzMdWlyQAA
Rc5xskT5AJCkqI0YHPKgTwCz2D0stMhPpmhmUApXSLMakyhrj/a0OW6sAzdnwjuAtYw61oowEHni
qVF7OuScng0A2v2o7wC5MoMt2JWsIpxZGAgFLIBbdSPhRZxP+BCU+VqQfSbIsZg2XJ8JIRFo9g/5
mNt0exQLqP1k1gwMo8HxIXtZ8vrcHyJEEliApcWdXpZFuNPjGBsZa1nwwj5NM9Hb0Te4QvcbOzvN
9Hzz7Rv3vPfizJuz0eGrz/xuGsm/8vGPn9jZAYAnnnwiTVMm2r329vsfffJLz/7hhbP3CCERkYiy
PAOAwah/36UH+4N+lmcPXHrob/3PP/6V554/t7O9EcdMFZVesU4AwCwQ77l48fyFC5ffeuuZ55//
C3/jf/22jz75Yz/6X91z7hQANCB9Yu84TbrXm+JmHmKA2l6myk8zAYpKD5ZffTHZmSxRymFJyQYj
6CgGJmdL53nn6//6+Mozg5hs7yQDb586r7RpqlEbBF/bzDAA3Lryuid+eXdfyk6SzF7JEELKKE2b
X+NOsnlqUyqJQjCxLa3NS1uUZW5daZl5uD8Y7lcd/aSSOjaIKJUMno8mifQyY6k1whUjcoWQWuoI
pAbmwPgFT0xkZiJGBGJGYiLEGdJdkvdCyFMX34tCXvtD2n5I5H0/ixcIiGdZM63QWVateYoJ8jF1
lkg8YKGrjDZVe3MEeIdKGOaqvFVI6G4sYLZC6r9Ngq4Z1vIyCjwbc1EwAiQdfCdoWxvEcTWyh2n4
jjcFANm4An+d7uIGLkqjtevmEFbHzHAVRvIVc4SbnmkWRlmyUlgc1SvbWZYr7XT0nJygHT/4M39y
TdWkFMFJAIUApcDToh7Xc+oRgMmZMldi1kYKyQyeQGvc2BD9PnnH4xGlnVrTIOdQO0Aldg9lOcTj
MeUFbPTEQoFZcJWBgI8XvYE89A+q3pxBco0CvOOy5CLnYFnTTac+IpFnMlRcY+j24xa4diEWIOOZ
UBKcB0+VTibc/0GwbnS12bZURmAllWEGAiiK6gqXFnRQfC2h/6d2qgCgwu7J9BEqWVdZtN7vGKSg
GeSizdRNzvVyos30M8HhQYXaVz9roQ9dWEs7x0XGiGEFy92e7PRAKUSAvJbKIEAkq2WTfSQAACAA
SURBVIovW3I2rrxWvIPRgJJUEDPzEbpbpXBrBw/2aNAnwCnsHlY+4aZtbh5LEBngJUmwho0+lsea
a2k2hDy6oey7Et4DebYlAICOprIWC4OocspYgbyVnEewANPVqHSnSQlmsDm7kk0y5QKBAtAAOWC/
mGivcL89RrKiHe2US+D456OyzG7FoN9qjohV4m4ds/aA1yUe1RNweQz61NsQx5rfEcFI0LWp/FoZ
YwKQgAJMhGXtAnl44DeP8oaRHdfMDW1SrcxmLWlsmb/8hd9Csn/5L358Z3uLgR559LHtnS1ivnHr
2qkTp2/eut7rbAoUiFgUeRwn0kvvnVJqe2vnmee/+MHHv+Znf/5TP/eLv7TT7Z7odTn0AmbmpkSp
Ke1kEEJevHjxwvnzL7zwwq9+5ku/9pkv/chf/th/8/3f3k2TKbXMZGSsEtA1fK/UMLW2HcPU11i5
M1USent4tbvVspTJPG1uGBOHw/HelkWm736fPnGf6u/vXX+7u7mzdfpcI2rnCrFTMR6Td2U+Gg8P
s8Ghs+VvPvPW/rCI49OrvwIhRW97Y/uuHbWM3amjQvNF+Fe60hKxt26QFba0XA/E2pgoMSaJoiQS
SgohTGzWIOmZvCVvXTkGAKGM1JHUsVBaKlGR7iQQKRTWcJhgBDF7qJXuJCnubF16/CNv/MFvP/Bn
tCsYcCpdXJY8zxYlKWZj7m1OXs8zJs95n+IlOfwFV8oYLHIOdPuR+hCuQcPCCktrq74eRFCWC/Kk
4UnxFmBVKchshFF7GWvY9JiwJZhFBE/bfnFFBIuYPKvsRFYfErcQ4cLNNqv/oli85AgoYfVe1ox5
5aKWQG4Jv3IU3R6itGwclke+kyFwUQv/KOe66xHfoc4yiqYakoV5pWLW29t3FKQy4VdEbLrdhfuk
JZuB/oA42Gl3RG9D9A8pz9gYrqpCeTm3h4CIQiAzk+fBgDa35ERTQZDnnI+pvTpCBG3QRNh+KIYD
CqUObb9tpVFpTFIYjxb0+ibEGc4xoK72GNhoV9ZpNlQ5wDjICRBAa1BQfbzBcAIhUuAJECdfaLBm
CzxQHIGniapqHX3XBLuX0DZQrhADT6WDiQFQyOnl5kyZZJA8zeTlBv21UHt1SBqt5cMD7yxHkeht
yEHfM4OJJ7AyluAYmKeKU5uUfW9DooA8471bPqz8jyzRRoStHXGwR8MBKS0avgARjIbSgndTWVC/
aDkZork81lYi2dWRjTnLZp2UpYS0I+K5nqNL97o8Fh6ALXk4aOnToGo0HifYWcT1hChaFt20Rh/Z
qWi92R+L150LJihGJBXq6TybUMByoXMXlznz7JLzGEHtp33tjbQVNWlHBH38CkVKAOsCj5gij4yy
ZGdhNGBz4tgbQgCFoCUAgGcgBrd8smAAYhAIcSLKorqDj6gYJrl7mfduOgBg9jiXFnGlVWay6H/j
haezYf+H/uvvO3Fih4gvXDh//sL5IOe+efvmg/c+9MwLX77vngcQhZQqjhJEIaW8dmv3vQ89+tVX
X3zo/ve+tXv17/2DT0Ra37WzVRdnMQBgRZ7XgvFa5ALEQohHHnnkwoULzz///N/96Z///S+++E9/
4q9v9dKglplUmlb4HycEfE2xV9tCCPoaBq6xezUtUt4X0+0dGISO4rAMQIBiPAg/pxtb6cYWQO3e
zgzAo/7Bjcuv2LJgJgBGqJoxMcNvPfM2olBqlT23SaKzl86aoy3zQ+YcTGxMvBgseuts6Wxhna1A
/HgwtqV1hXXWN8Q8IGijTRqZ2KwYE8mV5EqbDQBASCVNKpRWUaqTriDByIF0J/ICBaInDqS7IyFO
XXzk9S/99u3noXM3AMBoRM2EXhYLavSVRt96Gsuiap9ncwKAhdh9AXBvU5K8oBMXAIAn8K13hkAA
iSBa4ExKbJazK1O6y/5yJ+/H2iF+5shDg4mpY8ZKhLNshGoAn3eLrUiIwRNQ3X6s2UYAMe0zFuII
AU/VpPa4k9CiIAZHMJMllmIxxWLLtXqeB2K7OYsV4R1IvXhen09cH7dF37KY0XgAVP5XTDxB7QqD
1Ub4NRCiTU7G18jce/AelMYkFdmYhkPa2pbGYFky8hGTJQoUAOQ5iCIAwDvuHwbIjlpjgFzegbVc
FlwWPJbQ6QoTYeDUhYROVzBDlnPAW6HBZxRBpysQp92b5yIwcDjNkBUlMEMSr5XmblbakQYlgbjy
fjHTSUhc9G0CQGSgKKEoIY5AK/AEZQnMYN1StUwTSgEDlCWUrZqK8M16D+wnppDrnEVYjsatdVE2
5rLkJF2rpN45Jg9EHMViY1MiwsGeZ4behpy5jAoX3BW9TXlw2w8HfnNHbmyJUJYKAEXOR9LJiNDb
xIN9HhzydgvxaIOlZW+ZzXK03ooGgjNDnnOykn0YDigbLyjp9h4Gfcpzbq9FASqVzrHEHvP5z+GA
siXW43nG3tPWomRxOJ3m1+OOmVOM+/KK/PXDO6Yh6wTbye55or3MZiVwdxBM05Myrh4PZkNpDClE
R6s+Z94NFbuzfLDvAbAsuX9AG1t3PrEFyl8DzJUft3ZHYAQkKebZhHRfECSvvil237KDfXIM0isA
y+zmgfu116+euXRXUF/cuvr6wY23v/Hrv+7+SxeBSMfxw488zEzAOMxGSZwMR4ON3mZsEkAsbcHA
5F1R5psbm+NsrKRK4vSH/9sfHY1G9505DVRLPyswPYWlgvqkFqEwMPR6vac+9KHX33jjd/7guW//
gf/h537qb56/6+QU6Q71nVC9ApOfKmU8c1WJim3sDszl3ivm/kka1zsGpmApAwhRko4O9ybkfY3L
66Om629+1ZYFAO8Nxqnw+XicjcdlWX7xrcFzl28bs7TGN8R6qB3quxxb/8P0rc9SK6lV3FncBoI8
udIGfMxE+SgfHQyFEEREnqSSOtJREunIzI+B5B1lfQAoBrcRUUapipJ0+y4dSyQCJBYevST06AUp
uvT+j37hV/7p7tPFg3cjAIxH1OlUdU3WcW9RWXd7RXq4P0FFAbtHc4VYah7hBbodAJghG/OMQ5ln
cMsJg9DbTNQLZSkh7SJ5EGpV/xFewWUu3MvK2aLbE4FMbabncMwL98E1oBehGVvrHd5PRHJ5Riaa
mreIV419zOAYPIOqlzGdngiJ4GWgIcyyRCzejcKLAIjb36xaBNzJH1GW2kSSCABIEzFcats8CVuw
mUMJM8lWBrD+Dun2hRFF6D1wrdwMHpEoKl4h1Jl0O9UD4GwQmOJwQEWOwVRVKXSelarkAXGCeQbk
oSjYxFiWPNsddlGgQPbVYqFB7VpjpyfbbCszlEXlNTnoUxRjZTqZCmYYDCf0PBFkOXuCNME0wRVt
3ZqejrplGBp0L5E+GtwEYr5ZmFlX2a4zV5D6yGAGFNXqLiugduYEBLAWnFslrw+hFXgPpZ06hfAi
MwCtRfQyQ5kTAEgJtXMaMMN4REphp3v0JsYjGo8ocA3Wsj30wXNQKRRype1pHc6yNphnfLjnlUaA
CuN6D3s3fdoVyRLnxxChVHrQp/FoMgJHBrIMiKDMeb5nwurIco7mG1rXwQwrilyh8p6nmcarG9vi
4Na6KpzuhphR3RQFL0PtzU5tuSA/mWVTXAMdZ/qYGsPfPccdZijH7DWYRSUu3nGZrcWPrLWv1lPQ
sFTrhNK4fUKgqAxhlwUesynVwrCW9/cmTbKyjFHQO6/dX+GS7AgUg0DY2JK3b7ppuh0PbvPgZnT5
NTcaumhbR1vJqYdjlcj+l8fZly0vkhzlo/zN514HAGY3HLy0vdn7lm/8hsADvf/xxwQiMSPAjZvX
T5449fbVty6dv9eTZyajI2Yuyuz6rWtPPPbk8y8/99D9D3/yX/38F7/8zOmNXqQUA2OAWPNr/jp3
36D2Wo+Cly5diuP4mWee+fYf/B8//TN/++KFM1Ok+5TtI9evIFa3CwJzcIdsY3e2uYQ9xE6z/9JF
DIAowt7T3raQ8vILXzh3/6NSG2Au8pEtcgAuxqOrl1+7+sarRT6+fDv7qd+9CQDdSG7GonR8c+SY
FLk4s8PqpDCw5gIRG9vsN59/Y/vMdpTGSisUIk7jlY8yt/6HNo7nqkQRl7wThJRmLm04H+TJWSeE
kEouVNcws8tHLh/lh7fi3s7m+YdACEGC0TNLJiLnlY5PX3zk4PqXEZCBiODwwAcOotmkJygK1gqD
ktMYdJaVweCJ0t6jzck7jnuiLTFQnsDTRHnsfZWFTFLMx+wsOzuxjjqixrE5eYbCgZGVLwfopeNq
8D04Zpvbaqha9ikhppQtbj2RHDGUDKoFdsfDCv17D87yeERNz3NLayFOZrAeVK3Glit7e73DPnze
sZBTc4YjoNbKAQCkmE6PMtj1mkJrVSlMlFyrXyMTuJJnKrfk9LH5uWWPdyzEPPGxOIZDjtMp8ZVW
YDSUdSJcSkgTdA6cR67+OuEp2yW21rK1nGXQ6YpuZ/JsI0KciGxMZc6h6yQTz7dgnD33VsIqoPYo
xk5POAfZiMOlC8+F0bi1I8ucR7UGJhiYtFF7E2UJRi8muavdUUW3h4rSyQctCFzg6BKiaYIWnBmF
gDSGsrbG87X6xLnqUZUSlKxsxdunbB04P4UhguQ95LJCoyVrIS/AaJCqGsYXXsrIwDibsrIJbRF9
bdmxGrsTgc2JCcS09Wc2ZmboLOpDBDCZWdhD/9Azw+a2ZIIsIwBwtkJdzvHhfjB+RhNjkkyB0bAY
KwpqE37MENqmConaQHdDlAUP+mQt9jZFeN/CpXocY57jeERJOqEMuh3sD5g8lzkc6c4+4z0/GnFv
kWttxbUfFdmYknTqfI81bvtWWW11PP2jh7yDPa80bu1MrgDRFN1eHcb6NWntQ3j3WIPqSBznQzYJ
NkUITSXru7gXIl6zv3Y74hR7GwIFMkDhV536O25EAUzQP6SZGS0bsdZ8pOh0daxwiwaA0kOkQErY
OSEPD8hbONwXxRX95qs+y9hsYnQ6vfChWKWSPDiC3IKrnr1Vt6K1e7bMvvO7voOYEfjcXXdtbm0Q
ExILFKNsdE6fB0BPPolTZnCu9N5nebazvXPQP+im3bJ0P/l/fMIotdPt1HVOAEGMPnc6DVqHGr43
bY3OnDmDKJ555ivf/Vd+/Df/5Y9307BM5IaVrCtWscLxxCwQuYa11PDuNZ/S3zW9CeFNpfPYqcfx
6jjT3vbejSv7N69qE9kyZ6LmCK9evuxcyQy/+nIfAKVMMwfZgABRysQW8Xg88EeZW93a3ZVSKq2V
MUknPXnh9NaZnfUcHibHWZ8WtNF8M0vhBNZXljs8/fFw7ZhJSLHawr8d+WCvk4+1VIF0Z/KMgsgT
y/PvfWr30184eE1u3g8AkOc844I4GnFRMiKf3KkmKWJwlhd67JLj8b5XEZq0gu/VDG99JWvLRgQA
UYTGIBMUOWdjVhppTtUwo4ELM18bjZX+6AYNq7nz1eHd0UTLDGqvjrnlW0cwdcwB7GoJRcbesxAQ
J4IZBoc+0D9KYzl9HQRWm51MLVxp8pptAh4xGjK/s0th2VkWEvR0MjoUEQZnyXCc7ak2mMcfGYjQ
TrKnCfaHR3/QWxByooqufP2ChmFOZAUB6xcMyFG67qw0GpB3mLagdpKgiaonMWR4pMSFebg4EUph
qBQMpZ9lycMBOYedTjCfAiKIE8zGVamGibCYXueEHk9Nf7oqd+gZK0siYgZjsNMTeQ55HgxZIGy8
LLksWWvsJKiNDNprbbAseRkeGme80Vn0h9ACJkBwMWXdGMC0WdJBqfT1fOWBCYyuLloozS8seILI
gFLV1fAenIfCh4UHaAXMUNqKvWt6OYVnIS/AE2hTWcIDgKndY8BVohctFixFAtC3DkyrsC/SkDNQ
vThZuLpjBm+rBqiI0OtOocxsTNrgwvISRxAeavac930UT9qmmkg6xwd7Xhvc3JIM4Cxby6H8NB+T
NtjrSSFhPKJsTMwgJSap0AYDPR86LmkDzbLfRLh9QvYP6GCPop5AURX4zh9Zp4MH+5xnE1mkUhBH
mBfsLRc0pbY/Mqxj72eLTfOM10HtIchzo3gMo+K6+w64zUyttNfE/WEya8j+bGVm4FixQueDCE11
AVWl52tx28xQjFkZ0BEyQZnTfDuOFTtFgbW0YWIKNLeP9mfW2vL2ycoRgQEKdwTr9A6BOzPs73m3
qBqqf0CIa5WXLAuJsFwsA8RgPURS7F/H/Vt09TKUltO7ZHwxOnkukkZUfd9K8ASe2PtVrdzq06Ei
v3HfPRcu3XM3Eymj77v3XmIWnkCI/eF+r9O9tXfzzMkzxsTOOQZWSmttrlx/+76L97/6xlcfuv/h
v/P3f8pad2F7i5khODMytxFmvbOwx1qSAsBU+SyGgnFmPnny5COPPPLMM8/86I//n5/4n/4qQO3x
Xmnla8q9YdypJtoDdq00MxUBD0Rt/sSXjlXEzFJppuoIz156z+Hta0SuyKYuli1LE0e9eOtLlw9f
vllofSKKgjCGiUohoiQBAPDWlnnuvSuyfLaApr7E3jnvXJFlo8PDW7tXT54/393qRWmU9NKku5Lv
bG2lzu/CBLvzFDkU1jIIABCGdwTRNKKukxLsmDz5FXfZJOKNEzKKgYiEFySYPAmJ5Nn7i49/9OlP
//TwMgTgDgD9QzoVS7XEnCBAkf4hzbxINEGGrmCpWGpkamncPVdmMkJWco4oRmfZe8hLFi0TDIGg
5jRwGCCsnMLKlsCspMcCNXVnqm4icEuk59UbeHIk2Oj2WoeNCDI0i+XJsoQYSldVLqZdERBnYF7z
nE1rVMMlHimNxWGToHAexKJapSbeYVnq6rkhwHecvs624DVnlDSd0lchQiddVzCD8SQ7XzaM7KLr
0CzyyU/dbMvCaMg8FBk7S2lnoi6ViwBQE86ycxwq7ZqPGIPGYFHwcEB5zlqzUjgYVRKXKMYi57Jg
pbEouJ2nFlKQo/Y4CwiIQYwORc6IELj2fIkxmbXcd9ztik4Px0OIIlwxkRAtSHBX3ikIUOcc2hGa
aqlFMDfUZgACO2CCKJp6myewDlTdZTYIzaUEE/5kK7xeCWlkDbJblz4ykBVQlJBGk9elBKnB1djd
0uLGqwG4Oz9JHYSC17yosDtTNQ21oxhXgERK6E5zw9YyMywTeQfU7ksuR2QSMSMIGfYJETY2ZTiM
Cv13gDwUOY1HtL/nhEDvWRtMO7OeUVGC1mI2ZhNNVB9CQm9LDAaUHfh4Q4BCPydZBABtUEoopuuZ
0hRRQJYxeS7GrPXiwv6FKLMoOJ3W2KyP2gFgNCJjUQjUEY6HxGt1TW19fEDGyLJk747HU+TZBLgX
c0nCNcV+xwpEQAHkGTEsdRAAmJGIyR9NW7hyuqHSyhAChYCp1nX4TqtmZyLceI7AruTaQ9yxgUyI
QZ8WovYQ/UPalmKpv/5RIQXgklMgj3u78uauH+yTddA9F+08EZkNJbUgAk8VE+E9B5WB9+Cp0hBP
FSxPh7W3bJn9iQ89EYQxp06ditOYyRMKJL61d/Puc/e8+dbrO5snjdJFmRsTl2We5ZlSkpiU0ld2
r/1//+7XO5FJjGFiQJ7wWDDLuDcOYcFakSooH1B7JaI5ffr0uXPnfu6XP/Nnv/XD3/yRJyb+MYiT
HkxYbxwbsM7V1MWVRAcJ1NaF/gFuWy+0BACXO5YdBNZGN8cSJekD7/+6g5u7QqooSXUUA6CJk5tv
v7Z1uM8A//pTLwEIRJXnbzNbooLZR9FdWu8AgNQ60RoAultgy9Jbm4/Htliq+JRSAsDocDg6HMLV
2zoySS/ZPrNzHKvH1pWt/quh/MTPHuvLXfe2EgCAQhhUwhaDI+FRvHGyc+oCEzESBnuZMDqQJO+l
iTfP3LP30pW7vwlDAj00BWs+3uti4qasgb2DJlUrBGztyFAUdLhfGZQhgk4FANiSlZYTR2SUoBOM
WrVTSUcUdgpIaVFZnkHl68wA0LZKVBKg7qHADJ6XruDDOgEAjqvqbvpHlsUqf+IGiyMsaO7YDokg
5UQAwwCmI8BNNh7F6AlFq3u2RNBiQqCGeUi2xCqhC1LTXchRpftfGMG75o6DFjYKnQ5u2Qh4t+5s
F0c4D/uUrGi/I3dpczYxBlXl6minwteZOEyEjFBk7B0PDllpjJPFfCrUDHeeVeoxrVFI7PdJSlAK
I1P1NmISozGNR9TdqAxLrOUkxiJnZ7nTEyOYpbuCZU3aEWGolBq0RsTasiaa/Lz0IjEMh9Ttio0t
ZIbxSv1AWfLChoVSgNYLZtzgtLBq7w6YQMyJ2QoLiLBwqJQCZATWVaYxcbR4pg8fz0uwfnr1jiA0
kKuwOy8qf28KtWc2mMTVmmGKWGnOhQEFJDHGc0WQlc/gotsjbIkcF0MyHWHiqZMZj4ILzWxBKgAI
CQGmH+577zmORXeJhLfTE0Xuh33aPtk2DoSoIwqg4PnFS25dE+E8tk5i1AqHIyIC73iRxcBiPnv+
xdVtGWYiZB3Dz3FP6li4fN2BS2rUCd6+6e9A6s0EQey+MOt+x9rxI5MVtmDyBABCopAgtZAKpQqc
2hG4fB3ULiSGKSMki7yvkFrUkStOakoqtt65Byp6nbWSXOXle3QM+5SPV63nmGB/j06elsdyJfIO
r7+N5VgnGzbeJtXKog72Ie/rq29Q/9BFmyLaik7/iTjaVKHgJ+D1UOfjiUPakCrUzuTB9wMkWjY3
s7UH586cvv++i0weUNz/wL1EzAgCCQCsLcuySNOu1jrgM1vmCDAaD7c2d9668ubd5y7+xD/4h+Ms
u3Ryh5kAMbg/Vk4yMDf8Nf6KFdFeiWl4YrzIzPzQQw9du3btn3/qN775I0/UOhmu3WMqC3duPCAB
i6K8dnMvy4t7zp/pdlLg+s9Cd9733btP/8utSwki3n5t5LffD8BCqbbJcNLbTHqb4UiI+LUrN/be
2nv6c1964a2959+6fbOfAUBZXpdS3n3uXK/bOej337qyy+yMmfKC1Mb0tje2Tj+gjLZF0b99OO6P
RocDZy0AIKKJ47jTaacRbVHaouzfOuxsdk9eOHWnTu1cX1xq0WxQQfmJ+85azy2iSLbPRt3tgNqZ
ialuyRR8IUkI7x/82m///Kf/UX5DmlPVB8tigt0RQenJgzIja4xi0ZTyb26L4DNjagrVW1YCwajJ
QlzqpisXAADjlOleU2wejI2bQR8RonjSzUSJkF4EgFXAvSmHuuNSmLLgOFlccVUZyAQmcqYskqEs
uLlSgVUNZ2ebdAGCaE2lzCCjCTeoRHVSzDAeU1sprg0maVV6gTgpCaXlFj1lwQ1GuQO3+OZOW/My
egdrai6VwmWdDuMI3VHNmCBc6hq7r46QqgqM+5oJ4LQjyFNAEs7y0DIiKFM57ofpkJm9m3zXYcNB
gRo6+3jPoaFjHGGcYJYDETjLocIykPEjAGsZEYSoVIKTgxAAHpQCpbHNAYd1USD1j5QENNj9aAES
zd7MCJWaZWEQzXLwTUgBZY3aZ1xogn17tKjXY3PATWbA1W1WF+xCghSVn0yzqdBVQCggC+BBLDly
KRcn9LUGpaAoF3RODd/gioXKwtNBAPBcDMh0hJou32SuBDYrkvsNR1IU1OHF9oWIECpNi4yjmvUX
CAgVdi9GHC8B7kLgQnSmFGxtiiznd5KsO25x0eSoJKqo+lcMiVdqLwJRpBMEAGnQrVdX88cQuOTa
Tt7QsAmeyYMrPQpUGqURWiITOLugHGWdkAKlQkQgz9ayb1WPKVP1iVx52MeLfO2kxIoqmqP3kvF4
jUwsE+zfplAmu054h1/8PU6YPvRA8aXX5e4XxYUHMe3hYA9uX4XxiHbOgrkruvihDZ1KYmACb8ET
uBqgN/w6EZDn1osMGQsAgYtHSecOy3zwxEeeDL13TuxsSimDAyAJ7A/6G92N4WiYRAkAEHkTxd5Z
pcxBf++uM3ddu7F76/beL/6bf9uNorBSqYE4MmBwbKyQdXMj8gRjTl6bRu0MgIhnz5795d/6/JWr
N8/fdQoBKr/XmmtnhoP+6Gc//ZuvvLH7maefe+XNK8FQJYmjH/ieb/3mj3zwmz78hFIKEKK7HtU7
Pzp+4+nbu2+6E/ew7khllI6YKxXNYJx/5eXLL7yxO87Kly9f/eKLbx4Oq/60WuvHH33k6y+ev3T3
vQ/dfx84l+c5ADjnfuaTP/viK68wU62fqb99BkCMO3HciXs7mwDgnR/uD2xhhwdDt7wx++hwmA3H
Z+89l26ky95z/OCJTc76UXdyxdC9JcB37xFFYNyZiLx3RQYAo11lTi0+qcxBUgsxvId2r4OZtqdS
AQOaWhVs4iA1ZSjHrKJq2ekZkEFi5bjSnGCZsekiAFjL42k3AGbIc3IWg0gAAJSoiHyeFE5MhXMT
2Hfc5qxtmDIecXdRxVUz7s1YPQbFZHtUdJbLAkN/KFcQIYa1StC6BJzUXg6VGaFGGSEzDAYUOlU1
YUt21nc3RBCDtk0YackapqHb71Ay1FzGlb1dQngLlRreYBjFmj41MyEEpCsLiToJDkaL55dgLYIS
pQRb8JrYXWl0Jc/6na2MTk8c7nnm6nS8Y1twtY6a3oIxqCMxGk6gilLYLH+Lgr2HbgfTVIyG5Cxv
tNjTYCTiHRuDeb7khl4UAQ2vA48Cdl/dnQcA/FxHGSl4oRKmOYC24GRqUx6AQBlAATMts6yrhOYz
RxgmPz+dqnYeXFZBfzlXt6o15MXUMQSVnSNQEdhyqdrNLzlsqGUzdk59FEdL0wvhkGjROoEZiiGZ
GE2MclpzH4pAkjkvgoq28FNFh8xw+6ZDBKWDPf9UX54owfEIsvEEuCOCUeAI0p4Y92l4SFvbC56Q
1ZKSJEYtkNYSZL6b0fSNlxqTLVkM/LJeEIgQb4omZ6v+YwP3NqG2YkSqrXtndRlMbAt2JSkjlBEm
Et6zc8eY+oXA4AdKnsuC5nX2If+8DLcjTk0T79DSYH7jd9xm0Fke9NddCDrLmLPlOQAAIABJREFU
g/66BpGvPo/g4a99t7vQK7/rw/g7L0b/4t/L0tHFu/V/8pTc2RE3hXkj08zgLAQVu6MJXq9ZdvYE
5MERex+od/YEeuSDRGLxcbohkX/04YeISYC4+567iQgAGFmAyIpso7tx4+b19z74mFaamKwrmXk4
GqRJ59btm6dOnP6lX/4N7/1Gr8NMzFh/uVxB7Npqpf62a90lTH5vXmlQe/jpxIkTu7u7r1+5cf7s
yVoRU2WAEeBXfuvpH/mxf3Ll2i1E3NraunjxUqfTUUrt7u5+4p99+hP/7NMntjceefDiIw9e+shT
jz3x2IOX3vNN6p7R8HAPmHvbpwSKf/5vPvObn3/hYDB+7e0bvoYIvW7n0sULj7/v0QvnzhC5CxfO
fstHv/2Zl770wce+FgCstV/4whdu3LghpfyL3/Pdn/yFTz374ksAEEVnT54/FaXR3tXb2TC79tqu
ic3Wme2NE5sAIJXcPLUFACfPnyqyvMzLwd4gG4znsQV5uvra7sVHLx3ZqumPNNi78d5u3r8ltVFx
R8ddFaVSR1Bm5L23xY3LL1556fOHNy6jBEGTW0vrSnweJOXMUFIlBvGe27N/eyJjAmfZdCfTidSo
vId8zN4xClA1rnQEQkyhVVcwOR4NOe2IZbJI77nIKU7F7I4X4bD20nyZYH9FKIUB9zvL1i7oR7iw
y5JzPBwsGOq85zwjJbHIGYCVkiHtQLX1++QW8uxLHpcslah98md3zQzDPm3UtseNlwsxzEOsPGvR
7ce/DlC3/zzSHBoYXF34SB4weN00BVhhlUXNSAFpvLT7SYggdh/XdiiI1cJvqo9gveUyZx0tbfYe
QioM4khyvM4iJOw37YrRgLznzW0ZNEvOTr1BqYkCPs/ROw69J7XGtojFOfa+KledySQoiaVnTxAn
Is89eRINvuPqyFcc5Drm91DreWbupuCdzwRSzGbT1gkhwDogmm1cGopKm2rU6b+Bp9n+TaWtlh9K
QhSBtUAMaQyeKqOYkL4oLXAJSk3qSkPLrRkULuteTsJU/VxnboxA56/W2uL66ycAbQAAxiPqbs5u
tH9IQmKvt0BrXxQk5VT35SLj8YiCuXscC9I8HtHGpjQR7t/2QTzjHNuSRwOnDcaxaJB6nIrRgNpW
kkFNBwB6Sxzc9m3nxxDOcZEv6Fs3dR2OM2bM3AZ33BW1fcMjQrwh8/4C7I4IyfaUKGKd8pUVsaKi
6RhR3zgBBC+DyMwgFEC5+E+2oAa+RxE6t4ZHO4LWKAQyQZH5ZaWxYqU7/pQU/t1eAd3B/BOCCQ73
Z21kVkc+ZmM4PsrVdDTAt1+nj/2pKI0sAEjkM+fNN3+scy5yzMCAjuDKgXKuciqbsOkEVLHsTB68
54DmqXoDO8/ecvJmKeXi9qrMtihuP/rwg4DARCRgc2vTEzFzSKmPxqMTWye1NlJK60pEEenYe/fG
jdfOnTm3e+3K3ecv/l+f/H9iraLqSavmeqxKIgMIh4VfJPOUTgYq21MADr1JqmO4fXu/2U6TZP47
//DnfuIf/+tOp/PhD3/4zJkzKKr5GREfeOAB59zly5evXt195uW3PvP0sz/9yV9qdnrqxNY9506f
O3vyxPbGc7t9i/rRhx++eP/93/DhjzDmD1y6b5SNOmkXAYfjwfbG9sHwwDaWWwBa66eeeuqLX/zi
7u5uEsd/6Xv/y0/+wqee/tKXmX2R97bObJ/vpWVW7F3b89b1b/fjTjLVTQkhSuMojXs7GwBg83Kw
P8iGmc1LV2d4mejy82+cOHcy3ezoZdnkP5aoOzQNM7heHRvz4a0rb331y96VW+flB/6cufejktEP
DoV1bKrMrcjG1O2JkioptRFgLRuDSuP2jhyNKNgbNDvqHxII1K2sLzOo0YDCVx7HiGJST1nSZEpQ
AkyKQ8few2iRV10TRcEmrigBgZVnxfzbG6t4ABDiTuYPE0Gjd8zGrDZmYeuEcW+9uCKRVxZcMgNC
2hFGTww32l46AkEb9BGWBQ9XapGZocirUWnFyEQERUskegfl9t4xMAiJq5EuE9hiqmPfjBd19XNd
hkUEeTF5d2XFg9UxtxPjUtfqgkX7bwo8gmZGaVhVloRgYlHm5CwLta5dhokwG1eMuFSoNE5bHyJU
fhqgFWqN3nGec6eLSk2Wf81BhltxBmdLhVCyd2AiCF2ZyBEKBAJmjhc5N7djTeDefr/WKEI1asm5
nULz8XEGK63AechLiKYxeoDLy4pWAao/MVc2kVJC1NKy23o93LwiBUgBxgARWAfjrLKdCVWtywzB
grlkUUJSOwcEEU7Y47uD0gAAQCmMY8xzBqROq5lFNmZneefk4gGoLDiuJe9lURl1pR3ReLkEG/KA
7KUCW7LWqA0maSWzGQ58nmOnJ5TCsHiw5YR0bwIRehviYJ9MNGmVai0fHhAApEssLO8g5rttzzwC
a8Y8QRn1ZHbgZzQz8easHOIO+q2GaOoTojlzp+NGm0gSCpYZSBBBI0Bfth1bkLNsYhHaUdnlyhkp
UWlkBleQLZaqwIVAFKsKkNrZ6Xedbl9YP7NOjIaz5tPrxKBPOpKrZ/+vfgUfuk/cdRKHTm2bom/N
lwadQyfOaCQAYriSqcMCG7zeUrFPaPVgIEPEjth7cMTOs8lc57qFEnS8tXDX3mfk3MMP3k9EgNhJ
UyIPwICCAYqyiEw0GB72uhvMbHTsvbPOImJZlmHe+eqrbwxHo+00CYWtWC+zmQMtDrgAIDQwuK2T
4QbjB9QOzOHCPf/sc1/73rtOnbtHKsUMWV781b/9if/31z575syZJ558MjIGuOmkWmngpZSXLl26
dOkiM5RFcev27cPDPpG31o5Go6++ee0rL77unLvn0ce+9Zv/s3/093/y6a/8/n13P/DSay+M83Ec
xUrK4Xh4Yvvk3uGetba0pW/JW4UQTzzxJADs7u4CwPf92Y9JKT/7h1+48fazW6e3oiQxSXT23rvW
uT10bHbuOhF+LsbFeDDy1mfDrBjnN9+6AW9B2kvjbqIjnfTS/8gcPPPhzds3r7wwGtzaOKfOfo08
90GxuQ2MHgB6LbYoinE0oqxgkKgFeIbCw+iQdk5IAIgSjJKp5yFUpqbbkxfLMZUjUuEu6fQqE4b5
Nj1NB9C0K0ZDOhKCWHsERRRAbfPrfAPYdcIYLPKaPyYoCp6fk2aiLHnFwQdtmIkqgk0LKObeHMa1
tCOI6sL55fu0lkMvgRWoLssmA702uKK57MIgC75kFKBWXvAgj5n9LC1tIhNQPswzAYt2gsQmWqpW
nLngzgJ51stlM+FcXME2JxOv6wupDRYZ2xJQwHDEzBBFkMQYmsN7D6MxA0BRcq8j8oyKnJTGKMJO
isNRdRdJObWA9B6GI2KGJK4SBUFbmKSIKLIxsWcAiJOpxfHkRBAAwFpQehVynfmIMagUlAUX44mL
nNaoTNX3R8nlXb+XbDOuW5mWFpSsKEZPMN+urq7ZAoBKDxpMbOL4GEYTwY9SKSgtuAK0qu4BaysQ
P/M4SAWuAGsBsDqAsHxa0tb6zqO7IQAoz7kofBShVKg0jEeUpLOZJfJgbdV02hNnY/IOioKSVKTL
mzcpNdWvERHSjkhSMR7SwW1KUgzS5DxnT2Ci2fSa1KgNDg457YJ3UOTsHKOAzS1xB3UvCyNe1IAp
itEN3wXmFhGirshbYgmTinfIrzfRZjSSBMv1mj0vi7YxlNK4TOQTvC+FWvqGemtcjL1UaGJpTK2c
aQUiKCWEBPJcZkfUAwSB+zIjSBRTesh3F7hHd4rabbmWtH0+mGBwQFsn5qRopbh+ha9foWwkxkP/
4Y90S+K3s/iEKZ7v9zKHYyvKGD1D34pn91VIh/o2v95Ads9Ug3VP7DyA9Z1BGRdee4rHOAAQYnHn
TucOEfiu06eIiBE7nY73xMwsWACXZamkGowG77nvUSKyXAohjY4O+vtpkgxHgzTt/t+f/BcI0NGq
QeMNwK0RPCzLm7SKVCe/M3MNYlhrDQB7/XH/9g2lzcmz5z3Rn/9rf/czTz937733Pvro+1Ag147r
EPyKp5qeAjMrrc+cOXPq9OlqfUDMwIeHh6Xzt4vyiccfH44H3bQ7zsfe2ZMnTh32D0bZaGf7xMHh
/mZ3Y5SNqq7xk9UwI8IHnnjCOXft2nUA+O7v+I7ImN/+/c+++cLnHvzAR5c2gVsZURpFafU1kacy
L5nZW1fm5Xgw7t86BEAUobw1MonRkTGxEe/QIGmN8M7vX9sb7B8MDl8mKt/zn5t7vhHL3OcjX16H
3qaM59DO9rYclYyWSwLyQBI3txYgqGzMwz55z9JUtKzNuRxV4joFAElnYu4rEXyLY8CWq6uU0OmK
hVKTqThqSG0Pu8bgkbreZZF2xaC2vSzyo4H7Co+qEMHNLfwc6If2GqbtCdPpinBNV2ytyZyumGPK
gpvHuO1Hvk6QA1dyqBJbtjYgArfErJ09L8yMhsrdYyRhGcqCl/lJz+d8iaDIWCrQZrF/gVQoBJY5
lTnpo+Q6IUwA7pZRYjjZsgTkSsbQ1HIxg5AVZT4aeCaRJKLbEUGCEtxguJa+2DoBaF0FIhsaLE4w
To5IEgW2OLQaUOoIjlAIiGNEhDzj0PZLSogTNBFWMusUneXRgBChe8zKHCEgiSE4Flf5RgQAyEtI
6+bQgVaf3CcITY1QZO7EHk5gVZYatoMw2aCUEwMcIshzgPqvQbpgFtnjvCvR3RCR5SLnomAOEi+A
8Yi0EWEUCu7sZTFJcTQ+KqHofOFmQ/LK2gUOV8E+svZK52aD4xFICXEqmnRN/6Aqs+4fMNSdU+P0
GDbtq0PKxW6YSYrj0Z0bs0ztQqOKhCsIAFCgfmetdtrRvvJCQJriaGXL1SNiWuYelsTzERSSK5B9
O7zjfOR0JJQRQkyodyFQa2QGm5Mrj5g6EUGoVTqZqcUev5tSmcZu4Q5idCQkWB5lUTWmQRAHt8TV
y3xjl4vCdxL4mvfQ2bv1Z8vt10f+ZGotyd/f2yGG0uMrb3hzSfVLvDoSoZK+xuhALUkMEbvwq2ey
lIzs1shKT9sn9D2Pw13n5X/43y2iFiJecmwHD9x7j1KSiRjx1q2b1j6gQxNphnE+7qbdUTaKosh7
J4RiptLmh4P9Xmfj5t6Ne85dfOW1142Sje58Bru3I7yn+ZXb1cmNTqZi3hkAiFgpBQAHgwwA+rdv
pJs7f+aHf/wPn33loQcfeuihh7DeU0uOU8vpuYXcubWkqJQ4TESWCAA+8Nj7BsPDXmdznA2TOB0M
+ye2Thz0Dw77B2mcFmVhjAGGOE7G+TiJ05BUAABAeOKDH/z93/u9/f19FPinv+VbNnq9X/rVX3vp
i7/50Ae+QSwuaqyukC1smRVxN5FLireEFHFn8VdWXTBi51yZl+S8dx4QhUAUIvyPAhERBQoUUHVO
mP5Cwp8xLKHdssHRW3fryq3BXp/ZZ9mrDPZ936s3HvDWCp0KmzN5Ptz3AwFRIuK45XCAgBIVcVmw
lCjEVLl58J7OM27gZdwV3nIxInbc25RJWvu4m2n1ghFVTSrOtfQLhNmaozy1pITTl2WytTuj25uP
px0MZbLz01tznFSrZY7MFcwQ3hIBRfWwiWmQGeZjv7IVSHNIK97U+EGF0tg1gxl8yUygIlzGaRGB
t6usSBd/idxw7ccJBluwiRcA8WW3indMnqWurBVmAgVEiXAllxkpLeTa4hCtoSiBQ8shBgAoCu50
MXjgBEVckoqgUBqPyJYQxWjM5BgCwhYISiGW3Ihnjhthig1LghWSD0RIItQaR6Oq3abWKBVIiaHF
YP+AACCKq7a4d6weUar6bF4AcVW0CqFTclnRJZGpGpQGL0itwHsoSyCaauoEULHjUOtqZkYJ5nov
EqSoQHknrRovOA95DlJCZKobzRjwHoSoGkW9a3BvUQQX9m4QouxTnGI+ZgAgD8MhlQUjQpKKKEGl
8NYNBwBKoVKY53S47zd3pnwhtUEYgXNsJJJfUGQ/7FOekZQYp2I8JGbo9EScYFlwNubRgPIxdHqV
85dSGPp2nTzd9C278zNtHyci9LpLHW+2dsTB3vHcUZa9WcfoCgCAZaj9DlYIvU05a40fIdGkE9Md
rG3apHvI1y18G3mWClGsxW0zQ1mQdxyod+cYEaRE8lzmRxDtIZQRiOCWAHecdnjjO3UEmg+BR7Rb
WRZMMB6T7spQqsEebEHlUey7UGhSVBGSx+EB7L6ubu7y4YG764Q7vcnf8g3+qQd9N2YAeH2kXrzG
zz7H5xN5ImHH6AGGI751tXw2SUCgDxZ8tbTdVb/WehhimXmVu42RNUSb23jyPeKeh5TULhDRh2+D
Vr2FB0lUMvutrU1PnoEFiqIoP//055/84JPGaAYuy0L2NiMdee8Q0LlSSimkHI4H3c5ZIrr89pWv
vvr6RmQC7scACAOGnobpOF+UCgDM3nuu/wcAIQLknEBuKWV/lCPDjdsHf+Fv/XcvvXnj4fe85777
72cObZ6CHyQCcDCdqaBSi8uvKPnJsoDLsgSAYNr66Hsevrl/dWtj+/b+TWMiY6LheKiUBg8mirWJ
9g5uWe/SuDsaD6MoAZg0sxSITz31od/9zO+NRiMA+E+/7uukFL/4K//uq1/+D/c/9mGl57McAS+i
joyOdDYY92/3pZLpRsck5lhKGBSojdYL+w6239aGp4GuFwJRICAIrLw0LfHckzbujw9u7I/7IwBg
tln2BpF9/LvMvR+GvVuQ972QKFRFBxBDNqZsDEJA2hGdjvAAAiGKKsu+0oNjkIFiH8zSwdJgPiRf
shCwc7Lq34RioQPwyt5pR468QVfQHqZmxgRjkBkEzi4Y7iBMhEpjWfL8pgRWy49m/XCkYmF+Aji+
79YkGnakcU+f31pvQzgL2hw7fSR11eprNhi8Zz8pF1l6AguWMQxlsdScOEkwMug8jMYL5nimyvZx
1lp7pTbJlezL/5+5N4+zqyrThd93rT2eqYakUkkqkJCQpBImGZIwIyQ4tjJpO4CJrfYAonbbtqJ2
X7/brdLa/fVtBcH+bJUh2hcFAtigDGGSKQkCYUqFhExkqqSmM+1xrfXeP9Y+5+xTdWoIoW9/Lz8q
p3bts/fa09rPetfzPg9xA5nRXHQFAAiGjZxwKq9MXY3KODAG+TySAs6TGY8wUFrqsb6yUmA7zDDR
q8g4ptEVn7UjMAwo5BnRETPU9aHFMelMXhiS7aBlQTSmys00MeNiFNDIsCQC00Q3i6aJQwMSiAyD
GSbWuRlRSI7L4miqeTYpk2dQa5I2ahsUWCYQAEgIIxAygez1IUFdFcoygDhEAoRIXFHrwVlDrgHG
qCFpm6T6NoUAIlAqgeZmjTfvB7USVQaMQRiBWZtuJUraz1jDePXthRAUhclx2TbWVWWikEwLbRsD
T2c4FBFkcizNnNH870Ib1ypM5ZIsDsn2aY2RnE6xRyExDlImxl71CH0KfGXZmG/jiKAk+h5pTx/b
RdvFKKRqWZVGlGWjiMlxMZPFwIfAbzjDhyHpqR7LPjKt2HqShXPI5dgEPYxhYHsn8yo0de64jKll
sQozkBmoBBnjIEF1JHx6ff+3JF66LjKWUOCMIy9RI5myUTPGfcalBG6AabFoynL1UlLgCdNOXrEi
UvFYzmWrQARussTdqdV1NqymHMc7xZMZz7V30vCqqlpRjKNby34iByvDDAuDihrvQltZpoR5cI/w
Sjh4gGwTTj0+PP0kecp8NXd6w44kYfBy0caJFK1/hU5cyG0TqzHuK5GQdHiXX+hxVY2/XtNoJw3f
uRebvsz5sSnUrDlm/jjsmWuSDACAm4buQWNfAQFiawgkZVnGcc+s7kRQBYkBVMqVzZtfPuWUkzVN
xQ/8fK4AgMgYA+LMiAJPShmEgW07jz+xEQBcg0NCV6E6fIfmKzz2TEVRFEWRTOmR1ZgzyjAMwzD1
88w5r/rRcNm77ob/3Lr70MKFi+bNO06jdp2wRAXEAAjryfc6gEsqXVOoXS+N47jepFwu2z+oCDCI
AoMZrpMJKcy4GUQsV4qFfHshVwhD33XcqlfpbJ8+anLfMM0zlp/xzFNP6W2et3yZwfhdD/x2++bf
LzjpHNMea4mq324MAN181s1nQi8oDRQP7Cjbrp0pZEzbyrZlp0yA0Y3B+k/tGAuNlzzWNNzrvvdI
REQSFJGUoyC7kqo0WCwNliI/rJ1D4ftvKRUBQN8Dwi/xeeeZMURaPXZUKAWVsgoDcgo8XVXLGYQS
hgZl1Kr7lTX9jLaOJtfVFnetUhBHJASYJhjmaEw5cTET5wn1pY5WW750bfudmgFOaAYtlmMi9Kwo
saExrUkYC3yM/l0ckRbwtp0jJqDrmZH08Gnsu5Pz0Q7kUwnE0T27kkBESk5k4j020mknIIiCcZmj
nINlIoD2yMSwlXT0WOw+xVeLFCQFABLniBwYb3DCEFub24/6utbTtG0kAkVJYWVd+KJckoU2rn9V
CsoVBQScQ3unEUekFf2pjnFNhJraBtb9kRnA1Kxq4pgCv0laWz/AltWkYIMIGRcNAytFpSF+Jsvq
z63toMZqgU+xNhxIX+7WhMxGKAVh3AREIgTLAMOoKcMYCWdGyCYFmGTlGBAglmCqhLCuFEQRcNa4
gQ0OUQyxAKmANQPrONb69wlqj0WS4A9CcJ3klJomcA5h1BhI80QSCziHIGoIaOotW+a40pATR7Wi
0hJY1QqYFmbzyDkGPtXV6HyPDANzbZhGxtp6CQB8X2VzzHZQKVatKK+q0oQ6y8YwVLqXtFM0YSWh
XJKGkaB2ISjwyTDQ98i0yNLGETaaFvdqjdRScY7LfI9sB32PvNQgWTe+rf0IpuayWZQyYWFNHIaB
hfZkjmhkePLndgL2iH7QxitikVNTnc/kmC7JncAOyLYRGUgJ9ttIAFETZcF0MBxXKg24iRgdAVAm
giiQUiCocdnqY2OSdDtrKut/p9LtDME2jhi1k4LisNQdGhubMjMw085jT4Ve45QpBeUhXh5hccjK
JTG3G1b1xgvPk3NnKMdMel/dzZE2HgIcjqx9gdNhqmwnP7w7fGUPNwtcE2DcbtvrD0t7fWO63ahA
lYp5wq7EmVCaUnXNNLuWYCGjsp0x4wxAxlp8nAAAoogGdwPAuMBdiKplGdOmtetiI0JGIBmy4vDI
Ky+/euLJJwBAFEXd02cZ3JRKAKBUMooj27JL5WIh375n3z4A4IhKEWJiz0m6SjQB7y2eSyml7/vp
UsI62V3/iGMRRbFpmpZlcc6rfvi1G+9/5c0DS5YsOeaYY3QCXW88ybsroEQ1Pu00lMB2oBpqrw0u
kjS/Itd1FYAXeN2mJUQ8bfr0keJwLpdnjPm+19k5fWRk2DCNMArb8h0jpWFFqrbV2sYBXNc97bTT
N2x4ThEBwYrTTrVt+3/fe9+2zU8uOOkc222p56NqlBu0M27XsU77zE6vWB06MCiFREQ76ximkSlk
s4Usn8DVsnb+6j9r/2PqGUO9TC8i1Rq1BNVgpH/YK1eVTP+VfH+3UsF7/uS6zplznrr737c9/NLO
J2T78TT3AtPsbJ0kjmOyqKkFjBIRiAnCskd7iRh14CgliJjiiNL+muAT58n88qRZYcSE+qJSFXRv
mzl3lNGkAklgYWInNGlWSfvvxHET/NJJNX0ejJp9zwSRySYlZel0+ztwJgiUAlC14bIigNrY7m28
vBr5DYgCUikdIZ2u05WCAGCmrXNTwN0wELFxz43C7kc2La51LUXSgWt1haR7Y1CjLKVWVxRFFEcU
BQQAloOMY7nSqExNH2apmGB3pZKjljJJwWq4H0WEk00BTXo41aoKgoRpY9nIGJpmgmOMVFaPc8hm
GCkaGZREYDuYzbEgoDgmqILZjpaNviBNkgEAy0ZuoGkC48iA4nCilzYRBBGAdmWqoWHNNY9FQoDR
wi/QyrkpjgEAXBv8CPwIXAsYB8cGz4coBqc2Zki0YvSYJJU8IIJYAOcJzhYSohg4A9cBP4A4hvrs
JWPg2BBGCRvHccA0EzVJADANMGtnLBIQxaAU2JONWEZFpaSCgCwbczldGghBQL6vRobIspExMAzU
2lCWjflCU3mQEORVVVsH9z3le0qTWNwMiyLyKspxGhrtts2iUGqfpnS1t9a0zrUxjdqLQwoAcm0Y
R1gtK9NKRBIRIZtnhkHlkvKqyrKZm8FqRY0MKSHItNHNoGWhUhAGVK2o4pAaRdeZII5+SnO8UIKa
hv2pQA44PsadovXbFMMyEd6uIhxJqGM2xsdluktBnOMRJd3rX5z62UeGhsVqnIgWMcrQ9x0B7gYD
88hz7SKm4SFZhzfjpYra8rawoVgKpAS/zHdswTnT1Ikz47N75YnHivpOqRmvF2OzIox9vjMQWTGh
IJCEJ86Gh3fCyKGozeYJTGeMgKLBKK4KaLNQkl0KLU9k8phtx+5jWXs3AAgA4KFsmvLX/MmARoak
VwbNXmnZfiLRVsgnqu0AhLoolQhoaHDwxRdeXLT4eKkkMpQqZsxAwFiElWrZMIxS2ZvWYT6z4Q8W
Z7UrikSEdWqGxtRjrnYcx2FYz+ZS7V8N3NMLIY5jKSUy9vL2A4jY29vb0zOntgKSPq/1/HUNKSaZ
d30iaiC77iVKSgkpE+BOdNwxc0hJP/Ac243jaLg4VMgVOOOeX23Lt1W8SnuhvVQthWEAefIDj9KD
1BTxp6Oz4+STT9m8ebNu0LtOWOLY1u133r3tpScXnHSOm2trefrrqXcANC2rrctq62rXHBW/7AVE
leEyAACC7TpuznVzLjO4aZtTINWkm5keZTSFUir0wupIpTRYbMbr+kKIINiDTL5n9d8sPXMlAHzk
y/803L/vmftu2fnycwOvB5lO1nM2m3ZKixlyxqE4LKfVpMyKI5K7DFkLS8F6ZGsT71KCFEQEBhF4
FRIidRM138lSgvQp8IkxMEwcL4Vg2+joUkJq1HTifx9wB62QU2PLaAO8MnIKAAAgAElEQVRXN8MM
k3yvhTYOIkShFmluvTUlIQwoDEjnZcd7d3KObjYB90I10N47U29HFAdH8D6YZGMKgCdoO92FmAZk
MgiARBAEFLXKrnEOOU0qQAhDCGrDIVIQ+ond0tufzNX+qan72OQ06gRWPZA1OyLbxUyW1csrwxBc
p2ahwhERpKDiiHQzzMkwzkE1u5R5foMwU1/ueRTFxDnksloFdxLg7nsU+IQMMhmmeQ5KQRwnI6J6
6A1GIWnGs5tlpgnIwLTAUcgYFoeVEIQ1gSOrmScQBZO8aDVh3bUbA0utlqNkkoYnBkFYm0QcxWsi
iGJwHWAMXCvB7jrbbZkQxSBV4zbWDHjEJk1JzYoxzWRTQgJjSWmvbYEfgJnK7iM2KDdBmMjdaEBf
H3Xrr2tKj6GO4CGKQgoCchzM1Yy0GIdMFh2Xl8tK82SKwyrxQBhTaFGtKMdhpolGgReHZbkkwxDz
BZ4v8KEB4VVVfbO2g14VpWwIR4LWpYnIcZlhYOgn3hH5NmYYaBgQ+uh7lBZ51FUcRDAypLSHnZRU
aGf1LIuu52GMVUqqWm7s/R2P9GzsKElWJSFN1I48ZbfS2GEcxyNzifGZeGOaMaXVjiZIQQPG6KT7
OAWvOunOonHffUcfGpePpwTPjaYx4dGjdkSw2Nt5JQU+lUaadi9jIjl6XnTfG8aebTEp6J5tWQ7t
302ffHf8vnc1yIJpSowiPBTaRWEcDJyK4JJQEAgCQehLPFjBAQ+lUCpWvieJoZQgS7EcClERC4Vd
CjM2mz0PZhxj2AUJQK0RUApBaZkKtxMAQPMcRq9LFPnegBfs3rN37jE9QASMCPU/QIyGh4Zfe7Vv
Ue/xjuUY3NDi7pwbw6WhQq6NSL25c9fw8EjeNOr5cs1vR2xSI00/X2EYRQmfsonxPgqy1z8LIZSU
ADBv3ryenp5kNIBIpBQwVIohEtby15AUf2Iaszf+04oyEMdxXV2mZ9asejaeMZbP5EQcSxa3F9qr
XjXruIjMNq0wCkzDVEqlqmlru6j9OnPWTM/3+vr69IJF8+d/9pMfv+WOX2/f/OT8k87OFqa1uF4A
6dS7PoBMIZspZOIwLg+WSkNFEQkgCL0g9IKRQ8P6O4Zl2BnHcixE5AbXjHnDNKbiNyyFDL0g9MIo
jKojlbF4vXb+RRC8JaW/8sq/Wrri4vryju6elZ/80u5Tzn3xkbsO7t4yuEUD96bQRYlxRJWyyuVZ
GFAQUMaZSCeXsYS+EYU0NJDc2wbAVI1dlIIoIsagrZ2JlD63X1XpVH+cQqtH45989KFhgW6LqM3p
a7otpJQfAcAwMPAp9MeV102HptAAQL7AkoIPAADwq9qSjUglJJl0uv1o6PL/RUHQArVDqkgXsbUS
RQO1618NgLBpu0ne/b84uIGOjWZN5M6okXp1alYzTwwO2Tz3qioMlO+pMCQ3y6xsM1u0dvjp97Ie
rkgJUurKTozjxLlpbEuUAt9TAFBoS2ZaghCCMdaeddSu9WEK7axcVD5BoZ3pIXHC+XEwk2FjxTql
oEpF5bPjnhBtO6LtkMacKzABoijJu2sgPgpgafX0xISBgWtBGEOkzU05AIAQwGsp80YvnXoPxQIY
AyUhFEAAnINtJr0uY4lGZLrOVaqkMXVuj2G0eFIsE6SCKAJ3Ii2BpqhWFOeQzY8+EYxDWzsbOCTr
j3Dg6WFbY6/aQSk/jQMAIrR1cK+qfE8NDQg3y0wLw6AhBk/Ugg6h1fG4AcVhGUfEOeZTqo7ZPJaK
ys02EucazubyLKihfD09OGqzjosixsBXmWyL2+MdCUSwHESO3EqrmNVglgIRKeGTUhQHyrAnsY9I
BxFENe4EY8BtNKymrxOBjElGJCMy/8vmCtKhBLDaCIExMCwQreyWpCDGcAI6zVEGNxnj4xJQESHt
vQIEJI+qatnkYExVaLcpSiOqbvKdjrAqnULjdhzYy4f2iK9dETkmPf6a+eTL7OoPxmcvrjOnkz3H
iu337YHIHonNUKEgrEF2DBUerGJ/GYs+CAFSz+DHytvjsRmOKsU4GBhCIRESmBZbejp2zyE98Inl
eMPGRjgZVq0q7oLbRcHAsGV1jTqhMo7K/dXCLPeJp59/z4VW94zpRJT43CMRcCJVKZdf2fzqSb2n
WJbFkCNDqWQYBrHtWqbV398PALxWhDpaNIYAgGqlqgAAQogwDJpX0B+ajiZFm4FisRgEQXd397zj
jqNUhavG7gBMESESsNp0dT3pngbYUJOWoURPRq+oALpnzIji0OCGUgSAtuUQQBgFnu/btouIXuAZ
hlX1q7blKFKk9CwC1HfW+Ewwb968oaFhfVoAaO6cnj+76hM/+cX/3vHqs/OWrsi3d41zrfR4C1OD
DzRtq3P2tI5ZnX7ZKw0UK8UmVSwRCRFVqmM2xDjnJuectaaOEEVBJMXkY2IipRky53/080vPfh8Q
ecXScP/eof27Q69SGRkEIm6YADD7rBYPWb3P96oqm22INHJjXEtpu+4lkpquNGrvS+QcxtPH1SRv
ZOB7pBQo1VQmxfKJdWWlLJ0srz/Z/39Aq0bNUooAIgUqIm14pCe+02vqfpMxsGwWRzSe1KOmymjP
VBGDk4H6M58roNaSq1ZUJscoNdcwgSn9f1cggskbygzpiEWTEr/rNvGLpKSs20S0baGzSRD55Loo
p6xBdKSRzWK9AE6IhLxRyNeqTQD0O8a0GSJkc8y0UHteVsvSQ7BsZlpomYgIroN+oGs0U0lQnmSU
mwzGxzkWva9MJgFnnk9jS1F1jaCSDdTODTQtjCMiguHBpD41l29gsjAg00ySbUpBqThJulIPnse7
2ZRKYLFG50kGPXVoUjbRURgD105EJLUyjB7GcJ4k1PUwSWNxIhBSyx1ApJo0H+thGuAHTZR6XbFq
GIAMFAEQSNmi7kYzfDRhZipl3EKQlJAdR0dFV61ksoxzsG0U0eiizMCjNBlG3z+WjV5VeZXkEvie
chzGOXjVxMCuUpaWbSBCXOtk9IUeVfAKAKaFDCEKGk5MmqHkuOi46Htk2TA82PpaZ7Is8GU65f/2
Qtfs6t3Xy16FoEqFCGE8Iw5kYDrMckCEFFZlWFFu+2jejpIkBY3NmIdlpdk1VoaZdgviICIYFhoW
BiU1MiCzhURsR0oIa3iRcbSnQNmfalATYcawUIrWcwJSkGEiN5mMpzZlMOVABNNmpMblnJjNx6um
4AgxXnAEa4yRwlSCFJSKMhyTidAhQhIhaS8RFbM9ffTZVfFJxwoAWDhL/ukqgFqKnQiKsTkcm/t8
15dMUBNeL8dYDHFvCYs+JP6mNVsljKUVSysSfGcUCKrP/JgGTuvi3XOSi6JFLSMFo1OlozNT0DmN
Dw/Kmctg5wNCyuoo81QlJSkq9wf5bueBh5+89AMXdXS0EREBZzVStCIKw/Dpp59dsWJ5W1sbKYXI
CCAIfMuy+954E0CzYSZ//ymlfN9vNLbVV9J67kQUx/HevXtzudzCRYv03xQAaxonKEAkQlRKE05r
hf+pLdaEZeqEHJ1x14U1XdOnBYFvW7aSwjCMSES27bpOJggDxrnnVXKZnCISI0J/v85x13uhpj0B
ALzrXac89dTvKxUtxgLdXV3XrPnU/7f2lzteeXre0hVt0yZwZUpmiGu/oj7ETCGbKWSJqDJcLg+V
wmqYLucdfZKlVHI8s7WphlKB7+9BRkvP+oBpZTb85heRVx67mlce5ibLzW3RmAbHTEGlrOpJ8wk4
hHWhgjRNIOm0DDOB5mmOuw7OgTG0HZQS9BnU8mepFTDfxqsVxc0GuVHjwv/2YNiwlCIANJHF6Dij
GQgAIGJCAMbQcdEwwa9CevIHABCBcdRkozgmkLqQCNMrZLIMUcUCVOpN/TZ4hO9svOu45S/t3Jhe
wjlkM4gIqe6iEdq7Ps1dTo/TDN40ZNUrtwzLBNPEas3h6J2N+vn1fUoEB7NYx6x6hMk42jZ6VYUI
tsPaO3gYUhAoKSgMVBgAABoGcgM4Q24kgzddXZ3PMSEahkHcgDgGKVtP4utaUj2fFYYQRdDd1gMA
/cV99dZms0xJKo0oRHAyLIrA4ZArsCigckkBQDbHnOb5jcCnallxAx0Xm8hs44RULRyO6qH1ZOo1
LYw1vd4SF6oxaNA0wTQTGUcpIQiT7xIltqxCggobtbBad7LlLDxjkHfyx8/o5Ry2HNykUb5uD+fA
AWSNfD82dDmsEDCZxhcAJP5uzjiKhHGkRdlrLBQDKSAhqM4SCUPV1jG68zJNbGvnsZaBD5RXUV5V
abE/RF1RqkaGZH3AbxjoZth4/gZOhgVp4B5Rna6TySbv2ThukXhmHCwb46NgiscRlUt6jj3pl6oV
sG00LaxWEkBkuZNYnBoOctvwizIoSqetCbuTbMGRCytKRmQ4aGUnKa6VMenK19KwcrMMkeqDJR2V
MmQmdMI6oiAJwKGuC2eNk1ZXCkiBaTMljkw3c9IwHY4I8TjjAW5geoqPZCs27tTC4m9zApwUDA/J
iV1QwrK0bMNg8OYb2JkRyxfKkcjKGMJk9GqxMMMJXSb7Q+dgYAeSSUKh+euAgqAcsf4qDgY47IFS
oLRZkgSliELJS7FVjbkv2qexrlkgIr5jq4gBiIhzdCzWe1pTwxDB5iARovrMf6uGGyZOn2FQKHch
CFEaBdy5aQKAEqo6EGan2w8++vTF7z67s7MNAIgRAUNEUMA4lyLesGHD4sWL5x833w88BJBKmmBu
2boNgaIgQMuaxBsWIAjG1YVI4/X0r3v37uWcL1q0kCEqIlZLk2vsTgSMaRBPumgMqbkiEhqMmTot
R0qpga++xdvzhTiOTMOK4wgRs9m871dty7Esy/MrbYV2P/As09Y1t6ZhRlFomla6yakfyaLTTj31
mWeejWtwtaO98LlPfuwXd9+787UNc44/efrs+eOfpHrqHdLZdz1xke8s5DsLSqnqcCUMQq9YjYJW
c2dHF1F0KIoGODfmLllmmfbgW9vHa2ppqH/aQt6SsqXH51p6y6/lI7iJ4/UqnDfKUi0bO6dznXdP
gLuIE+yuV4pjEjEYRkLm1m+RuEaHkGK0tAUi2FnW2DdN3kdceeEXlYLb1/+QsSll0cZGkl+crBSB
I0gCQrj8zDXP9D3Sj/vGpiTrL0IpKY7ItDDfppM9FAbEGH7kvE+fveRiAHh268MPbLxLxMX0t9Jh
uYwpyDmFi0+57OzFqwDgtbc23rfp1mpQ0iucuWjVRSddlnMKOw9t+Y+nbqwGJSKQknJO4eJTLz9z
4SoAeHXPxvuev7UalkZtfP7MJcfMOPHBF+4+gtME8C+fuf2iv1vcaKEJrosnHrP8Y2df+8WffKrF
+n9y+62P3fBG/yarBmV0krUusfKxs64FgDuevVEqrQ457qsYEXI59FtloKcSp8xd/s+rb0sv2TXQ
96sNNz396m+FAGYAYgMyyhqjIwzIrypAyOVYFCX8E99TtsNMG9vauVIQhSqOKI5BCBICGr17KhXI
eJJgMcxE5mVs/cPS2cs+uuzzX/rpp6BWr6zp/hefdCkArH3qR3q1bBYRoVwmIsgV2DnzL3m675Ew
qL7n5EsfeeFhxPK/rLmt7+CmX228qZ7onZ6d/ZPVd3117eo3+/uqU/C2THBw7VG64rRrrjjt6vQK
G3Y8es9LN+8ZToiG2iCpflmlapGqv/zUawDh7hdvMgzgHDy/Jv+izVBrIFupBMRrFZrx4qplX33v
0qte2/88Y/CXF/7rLc9+/5HX701DfDb+/Iye+pgix1iIFrR1APj6xT9d98rNz2/bmB6I2jZWK4nH
LdQe6vGEF3V5ulIUheRmWOAp0HRBTwGAlAnUjiOauITUdrBaUXXOaxzRKEcLw0QRg9nqZJoWRqHS
rk9HGoGfjBJHRRjWph0QACD0lDMZMkYEt40HRRkUpZ1rmKSKiEg1SleJICwnqL0lJ35URCmiud9K
EZwUVCsqiqitY6pFuhNHE2GGj0uYEYJMC02XR947lofgJuMGynHG5K1JMm8r3jZqFzGVimpS70Ii
QEGGwwYOqvecZW0aykhCADg24w1E9uHQVgCyVmwqCCVBMcK9FTYSYDkAqUDJRBxGKKJI8eHQrMYs
kJksmzkXeuYabl4CAJBysnz7qxTHqtDOTjgDsvkWbeMMHAbRhKcLGcyYy7uWyEOvF217dtPXDZOb
toxDEcrqQIQz7EeeePb9q87L57JYE1AnUEQMGVdKbdnSd/jwwPGLFiAyIaUi2L5jNyqSQvhSGoZh
WdZYQVZ91etwOb1w7K/pDyMjI57nHXvssdlsNsmcJwz2GiscQUtN1Cg6CTcHagmvJmxd20TCk6lN
EmSzGQIABCEEQwxDP5vJeX4VEfPZQhD6GTcbBL5SpJRybMcLvAI3mqalU7Wf+oPtuL1Lejdv3lxv
Q0d7+1VXXHbrr+/au30zKdU15/iJrlmD9INjQDwxxvLTCnkA6OmSsYjCGIikkCKWuuqWlFKSlFKk
lJSqruo4aQhRiqJDSoWcZ+afuCLb1j7ByqHvSRFNO94YT2RWhGQ6GFaS4jfTYUTj6uS2dTRuG60f
IyJSVAfuggIPsvmkmzBNNJszi9oGXJ+lOKa0AicRxKoxGgKCyFMRgJtlY1F1HJOIQErSDGBN8WEI
pol2JhFEmzjiiAK/qeAPGRgGGiaYY8QriSD0VRjSh875yDXv/+aOg339I/tiCUZzaU59woIIqhXV
3pm8EjnHTBa/+dGbDhX3fefX1wDCn178jW994uYv3vTJemPSWbFYJdji+6tve3br+m/eenWxXPzj
8z/93U/e9o1frq4GpU+c94UzF6787l2fPzi879zFl/7k6vV//N13V/wSAPzgM7c/9drD37jlLwRU
Lj/n09/55G3f/OXqEX+ovvGsk//ypf9U9stp4M5Y46SNJyXWOFEIbgYnrrpmDB57bd2Ivz/xE60B
IM1SSHMVophiAaaJCEk6drxwXTQM8P3Jc8YJYEJQKrnEm3dv/Mpta0yuTKY6Oqctm7/y86u+s+2t
l98aPCgUZbNomigVIYK+Y6OAtJNfJsu4AeUhCQCP/D9bL/773jBQYagl/JhpYa7AGEIcU5LmEUn/
R5RUidXlNRvzWc1k6LEhWvms2TYYBlRKSgpys8yy8a//6LuPvnaPwXH12df958Z1hXb2b0/+7T9e
ceeTrz+y83CfZaNp4ppzrrtn021v9vdNcspqoW+89P1/1ws33/XCTfrz9Nzss+df+uX3/OAv73iv
XmIaEAvQqq9Qy8ePii0HN9U/azJSImqM4NoJ6FcEQQhSNdLn9bj8XVcDwN0v3aw/985c9rm15wxX
yhkXpudmf/GCH1SC8isHH03vAqCpBDYdeqQxlRiLg3X8fse9A5X9UoFlw61Xbl7zi1NAYzUDA0+5
GQ4AcUyTejmbFkYh6SKKQhs3LZSSOMeRWmKy5bAhHYwD5yBiMi3UWpCj5ge02UXLqNNarCMs/B8P
tY8NGVEc0KTWp4jgtHF/WPhFadjMyjAlExqDCJXhMOFT7Csi4NaUUHuo9b+ncFhxRMVhWe+ojyb0
iLd+vcYjzOhuQXvGjVdFekSBDDVJZlxa5jtHknnbqF1T+KYSpaJ0A8v34myHGSlUAET4ZjUrFNRT
7IJwIGAHqlgKsRyiUlrGUbNiSMXERkKzHLNAuA7vmk1untysIKBYMFeLwyAds4DmLjA9TzoZmmAC
AgFsDhNryMUeRWXQCiKMNSUjTcuWcQgAIpTeUEQd5u/WP/Wei84p5LJadgE5V1ISKQBizDh8+NC+
/XuBq1mzZ2bc7NDwCKcEB8dxLISwLMs0TUrE3BsRjSEoj61DTX9QSg0MDJim2dPTQ8lYm1RNgaX+
TcT0ja33qXP2TWegBtOTIUQduwOA6zhaJlIqaRqWbTlBGHDGM04mCH2dYs+4WcYYkbItJwi8XCYH
0IDp9S2nP3d3d8+YMaP/YH9SFAtQyGfXfPTyX6y7d//O15CxCfPujYY382ewnoDXy7lpuOMDnaED
Q+Wh4lT2EsdDcTyiVACAtj3LNDu8YpRtKYRTCykiAGif6eamhVJS2iJTSZAxiYicPBMhyZiYgXaO
xYGys8ywkJlNKyMQmklNs1dRQUDZHGvPMUjzSWvDttYhUnQInSHWJYwypSEDOjEGiZJgtaxsG20X
9fgvjihsnhHSimxEpCREEcWCsnk2sVy6X1U6d4sINWVuUgrimOIYfCDTRNtBnTwTAvyqUgpmdc55
/+mX7zi4pXE4CiSBVev2R+XO60cHACtPuTzrFH7y62sAABC+f+fX/nHN2pxb0Gg7iklnxTS1V8fZ
i1dVg/Ivn7whihQA/OrJWxbMWnrmwpXPbVv/4TNWr/7XC4dGSlLS/RvvmtHW89FzP33bozecs3SV
F5VueeSH+vz86omfz5+xZMWilQ9u/HW9VVde8MUdB1/vajtG/2oY4DjYPNRBpUBIiuMW7BTDSFxL
JgjHQduCJ/vWAUA2o4txQEsoEoDnE2NgGgmRzjLRMhu3jJDgeeNCc9MEztH3aaxeKedgmqirLEYd
i9EMoaph+fEt98yb3rvypCtuefxHMpFIT7hfetAV1WgSjovloiIC5AgAaCAS6oL5Gk8GDIMZJriu
7rSbb7wUgtcUZBGPW/lQ15JrqVbkOAnO0+Nhx8jvHuyzHKyW1aHSvkI7QwaHy/vu/MNNnz3/uq+s
XRP4dG7vyg539u1Pfr712WwVqpWJqQ4COFDcf8fGm85acOGSWcu2HNgENVGXWCRzVkolijT62BkC
Z/DK3k31sbd+DehOxLFA1TwKDATbqtGlUqdH3zmKwAsACBZ1LfuPjTePVMt6FwdH9t/x/M0XL/1w
GrgDJGn1lnDsiNKrLYHzU2/eJwmUpFEKA24GyyUKfbJdFDFJAdozVe/UMNGy0LYbrHd9CFJSvsBN
G2MFWukt38YqpUT9PZ0R11c/jhpPJeegCIQAwwS/quois/VQBCImt9VB60yBEDSW7zdBSAlTRO1J
mz2FjBmT7QIR7BwPylKESoQqk2W6eQYDfyQRDUQEe0yV8NgIK+qIJLPiiLyKekc4M0pA3Z55AsKM
lMQ4mi5XFXH0hBnLYROQZAzrHSPJvI0gBV5VeVVFagJQMPorb+0Kszkjk2GCgAAkYSxxw5DdacpQ
4mEfKyFqy6QahZ2kAvIFVAUfCs1I5tuwMIO1dynDSh4VfdC+r6SibJ7prl5B7GSO7gABgmHa8GPl
DWqKwZBtN3GsDTsD1WTGO6oKIoBO6677Hl5x+km9i47jnBjnpGQshGWaRAoRwzA8PHho9+49uUwu
qFaytl2H6UQUhmEURZZlGalhfUuXpaZ2jlkyMjISRdHixYvTBa8IpIBhov3YyEhjwya15VVMZdwB
EusljdYBuMGJFBFJKaSSCMAYc203jELTtBljfuBFccQYi6LQMu2KV65L8tWIPY0f6TT8iSedNDQ0
FGjaJRAA5LPZP/3kx2/51Z1vbd8cR8GseUsnvnxjDmEUiIfxnhYl1f439wWVVhThVAhRiqLDSgUA
wJhlWV2mNR2BAUBxYKRjZqdhjTsqMCwXAIYH/A7ODMTisNQoAhG4habN7BwTIWXauRLEDJQxGRYj
RZFPsqR0rhAR2qdzZqBQEBEgQaygc3rjxdjYvRbtbvl2JBrtPhOHxDNI0ITaGYLJABCyeRb6pKdf
45i0uWmyDgPLQcNA7ZqUy+P8mUtXnnLFD+76h1hQ4FE2j3/+gb/93cZf7x7c+mfv++ZzfY+sPPmy
7vY5uUzhpTc3/Ntv/jXGciaL7fm2K9/9hZPmrdBUkx/95ttb39qijTD1HhFBRFoRHL77mR/fcP91
f/reb6bf11TTiIzHlOSKuJE7PHPRqvUvNzLcQlA93Q4a8WcBAHRXpTefc/KPvXK3wcDIMtMkr6oO
Du8t2LNn5xdv27fl8GARkpok7Duw6VPv/sK6P/xoemfbY6+ta+vgYUC+p8KADg7v7W6bU9/RioWr
pudm3/vczz9xwV8CgJEoNo4OxsDmaFsoJUQR1dnnrouTkoO1Cz0AfObCbzz22rqdh/oA4OPnXLt8
wUovLLlW/s5nb3345XWWmWjffuysa084Zpn+7s8ev37X4T7LhDCCc3pXrb7g2kpQMgw4VNr38yeu
r4ZlAPjshV/f+Ob68xZd2t3Wk7ULm3dv/I9nbhRUGY8ByFjrIjkvKgMAZ7BwzpIrz/l8V6GnGpa9
sPSzR27YNrgFAE44bul7T71s2/6+j5/1+Tf7+3JOHgD++apbH3r5njf7t7zn5Mt+/ND1OtMgJP3Z
ym88uHndwfJWx8V503vXnHtdxs57Yfn1/Zte279x2XErb33qHw0Tsnb+6ou+05Xv0Xt/4OXbN+1c
3zh1DJUkIVoMfV0HgXSdIrblCj2FxfO7e5WChdPOOG5JL+dwQs+yXYN9XlS+/6Xbj592xmXLVz/8
8rovf/D6r65dnd7OZctWX3zyZYEoZ638XS/e9Ic9jwHAu5dcBgDdHXOWzlrmWvn+4v5fbvre4fL+
9Bf1kFKPyithGQDmTus9f+Eluwf7Lj/tmvWv3/vrP9w0t7P3YxdePbN9theVS175zhdu3nG4Tyg4
b+EliPDU9nsBwcL8p8++5sSeZX5cBoSfPvO9XYNbgUAhzGmbfeXyr7pmIWvlB6r77n7x5m39W9ec
9dUVx10EAEtnLfv2A5/x41LeyesHzQ+ACF4/sKkS7wOAuZ2Lzzv+krWbvq+1aGIFn1rx1Wd23Ldn
aOuVy776wluPnrvgkq7cbNfM/+bltftLW6849eqslXeN3O9eW/v0nv8EgKuWf3XD9ocvXHJZV74n
Y+Xv2nj7gcrWjy+/JmPlM1b+wb61T715HwB8/PSvPrb93g5Uf7HyOgD4+qqfPrXj3qd23Gc76HtY
KasgQC0CUy9O1TON1YqqVpRlo20z30uguZthjoO+rON4sDhm87jpyBwAACAASURBVKw4LIWg4UHh
ZhmAFt1CADAtrJPao5BIkFdRUYhECa+9HpECYqAIAgE2f2dK/L3JjOjHRlhRRMycTB6KW4gMSZFt
YzbX0CthjLRMvulOwmsngqiq4nFqHycIz3tngDtQ00BrIsJMrEybHT1hxrQY4yji1pkONspu6ShI
Mm8vyiUVeEd8w5gmi0KqhsCNhA8jCHNMvTHMa0bLJBUo/dOXWIxYJWa+6Og0MrNlRxdyc9xphSgk
pVS+jR29OwEBjOyhl25XwQhznJ44HpDSG7UOb2YLxJ6oCJWd5m7a/Prut/afteyUGTO6FFEcR5Zp
EhFDRqCIFBBVKhWAevEnQD3jTRSGYRiGhmEwxpRSY4spJya7E9Hhw4dzuVxHR0fzmoigiFAhYhO9
nWpeT+Nvs/ZBCJFus2mYCc2GFGMsikPXycYitkwLAGMR5bIFP6gyZEEY6K0pLbDVaFlaJb2JM3Py
KSdvfG4jpY4YET9x6YfvvP+3O3ZvBaJZx53Q8jxMGJN3IAd27J8UtQMAY45SIaJh27MNIz/qrwP7
Ds88btxSWjfXbmcL1Z2xxSVw6JzGK2Xle4pIl3FLy2VWllWHpJbMtrNMSQrKjTvBsrHQxnTW0mRA
BKWyMjPMixuSUE13ZxRRS6g01os1isjJNE27GAzqCQJEcDJoWOhVlFIQhaQ9ZTO5FuSZnFs4vmeJ
m8W4qKEPLJi1JOcUAGDBzCUnz1vxrdv+vH94r2Hzv/v4zR9795/84vEbTBP/6tLv7ezf8oV/+zAA
zJ+55O9X//jrt155cHif71EUka40BQDLws994Eubtj+i0+2cgcUb1DdFwLGFI2YUUr0gYP7MJfdt
vHV+95IzF68ChLufvPNguLe+ph7SGAbWU7GI8MSr6+ormBYWTH7aghW/evKWE+cuf3HHBgBwM0zb
/vXt33jiscsB4NFXkq/YDkqJUUgnHLP8/hcTenfWLnz2oq9/8Scfnjc9oapPauPKObgu2nbCLphK
SV9iToRwXFfvRjsPABeecNlxXb1fvu0yqcBiuRs/d8+ugb69Q31E9Eenr/nVszf+j1+tAYR5Xb1f
+/CNX1l7WdUrnTJv+eoLrv3rW1dXglJbAS884bKvfejG/3HnGgA4rqv3xDnLv/ebaw+V9kUR/N0V
N3707DW/eu5Hk7csFV2Fnnf3XvKdu67uzOe/eckN37//CzsO9VXLau603r//xI+u+cmlZFY62trO
mLeyzZ7917euPlTZDwAPfXPLV9auAYBT5i5f0N0L2DDeOH5279Nb89WDakbbMV/5wA//+YEv7hro
A4ClPcvWnHudhukA8JX33/B43z1PbL0HALJ2/oYrH9410He4nNSe1ktXR5nvMgaWBZrNnMmxOTPm
fGrF52d2zFGKrjrv87M65wDAFadfc9uz39s92BfH9M+/+frNn1t3zqKVo0gyly1bffLc5V/75Rru
VBzM/s+P3IaIz+9+dEah5/0nr/5fD3/xrhduigW894RP/cX53/6H+z+TboOoVQadMHvZvOm9r+3f
dMLsZafPvWh6bvZ3HviTfUP7HSN/3Qd+cP39Xzrk9QHA3M7er73vB9+45yNeVO7p6BG14uMvf+Db
bw1v/fIdH3EcnDtt8dcu/sG37v/MofL+jJX/xvt/9r3ffmnnwFaDw3nHX/JXK3/w57e/7+fPfD+S
ZUS4+6WbTRPuefnmv7zwB7M7Zj/4yr2HyvsBQEB599BWAMhYhWM7e2Vdk0DB3M7eF996DADmdi5e
0n3Gdx/6rBeVHTP/v6747ZaDz//kmb/zorKlMj/8xEMvHnzCi8pzOxf3nn36dx/6bCArFsv/6xW/
ff3gpp88+3deVM5Y+f/30t++8NZjlbA8t2Nx1sq/dnjD/3zos79as/n6Rz5bf4qyeSwOJ55ruQIb
VRUqBFVKKgopCiUAuBkmBAlBkpr6QKkSr5dsnnmVRIIGEbL50RpWmRxWy8r3KI7IcTG9O6qpZCa7
Vo2JwaOJt1fPGlWVjNHOsolVkE0XOWG2GUO7GQRg1YoyJqTciJAiT7U0P5o06t3v2/nyqE1JIGyU
5Jo2KkFjJ9ASwoxxtAozKgEr467Q9Kf/i7l2HYV2ls2z8khrG/bxonuOOrSf/+5hf+m7nOkzDE2P
sQ0qHo7NrKFz7TJUOBhgJTYCmS/wzjkylwfDmYRtjAza2rn9DkkMD26jl36hogq67lzOM1L6cTww
ii0T+aMVBWWkygf99tldQ6XKbx584tSTl7zr5KVVr5rL5AiUImUallJEAIHv61x3HT+nCisBEcXE
Ppm1GMOZoaGhISnlzJkzW+L7hB6jlH67NYgjAEjNN1wrFktjFEEAAFEckSJVk/DJZgpRFHDOkbE4
jhzbDSPfNKyMmw2jkHNDiLimJlkH6kkrm5E8AUEhXzjm2GN2796TLpG1LPOjH3z/ut899MaON6SI
5yx8V/roQi8oHh7pnDXNGMvpnFoUD4/45dEjtJbBmGWa7XE8PBa1A0C1WAm9wM60FieWcTBv6fKt
zz9yctk185JzaGtnuTzT8B0AIl/ZOYYs8Z82bKwOJ2deG4+MIhpIQRwhY4BUEEqIJdi8GbiPBwcN
E6FZN1D3lem1tfl5vXuXEgKvqQCfCPyqshwcy0SHGo147PJ7nrulfzgBync//fNPXvDFWx764ZK5
S7vbe759R1J7t+Pglns33HLhiZf/7MEf1lP7+iae29W7fOGqv/z3S2qNaJoiSB1109Gl4deMtp4Z
7T0nzb1s/eZ1WSf/j5/98R2P//y3m+5q/jowAFU7TKEanMKsU/jSB68v+aXfv/bw8T1L9MLAV1Ki
4+LYE04EjpH/1se/F4jyhm2P6IVf+sD1P300yVvXVpuI11TfVBxDS/uk8davVEk7ieps9PT8bK2L
YnCIZOXGB78xrdDWX0JEPFzat27jrYjIGOw81PfctvVnH3/Znc/eevmKNbc9cWOlVon72Ovr/ujU
1fO6encd7gOA/3zxNo3aw4ju3nDbp86/FmAS4L6ge8k/r76VISBQLtOWtfI///33dh7a8uFln97w
5vrXdr2uuTE7+rc8t239h8684v7Nt0lBM9p6/uzHl3qiMpUDZxwB4bxFl2za8ahG7QDw+v5Nr+/f
NG96b/Lrvk1P9N2jT3k1LO8e7OvKz64Dd/2ARCHlm18tjp14XpomOi7uGer7zm8/c8Vp1+w+uPfJ
N+5Z/e5rh4ul+zffDgDIQAgKg/IzW9dftnz136xdk97OVeddu+amlQIrJmI1LP348W+uOee653c/
CgDP71r/+oFNumG/eWnt5877Wv1b5y+6ZOmsM3S325XvOVTe9z/uSzB9V272N9Z9pBqVhYT3nXDJ
hh2P7hzosyxgDHYM9G3a9eg5Cy75zea1sUzmWxfM6J2Rn/29335Jf33X4Nb7X1174aJL7vjDzRcu
uuSFPY++NbyVCGIBj/bdu2DG4vldi3cMbNXlqlICMtgxsPUfHvjMxb1XfeGib3flZ7+2f9OT2+7b
Ptjg0I93m/7+zXv18KkalXcNbN16aJP+1YtKuwb65nYs3tL/PAA8sfUeLyozjl5U2nG4b+uh52ur
lfcMbz22Y/HrB59v7GvMzjTRXHcavqfLzgAASEEck5Z/1dpEga98TyED2x5dklN/LWp3LdNCXXJX
LVMcaT5MsoIQSTYEEcKAMtnGFN9oEuo4p+VI420rO8mIvEgaNjMdZGMgMhHIiFREba3o5m4GRYz+
iDQdxk1oonsKkjHEwduE7P8VMcoLlpuoWsFWDdxN+6iAu4yVNJAbOEq7TIdSEIdk1pJoyAD4/+2k
O+fQPo2Pp90+NiwL823szIugbzM9/4wfC7LaTT4vFyoMRsLybo+IDKlyUnVMhzknWm1dsjQyJckC
ZNDZyY23kWhv9fAc2KxevJ0YszKZuYxZAGCaHXE8IETJshI18TgMgkqDA80N084Wch3dTq4gZSWK
UHLvhZf73ti+6/xzlnWe3WmallLSMAxFCgCErFd5JqidCGqOL00gftIDqANsIl2WWsxkMp2dna1I
NYnkIwIRISHWk1MNfFPnVNSp87WdUIrdTkQALI5jRUqTbIhIiMhxMmHkyzh07EwY+aZpCxGbhhlG
QXuhI4gCrQhJacxeh+qpA9ILFhy/4NChQ9VKNZ2W55x95IPvu+fBh19/Y7uU8bGLT6/bSdgZx8ll
9mzZ7eYynbOm2Zkjc9ImopFDI1NfX4/ixhY/AAApGjk00j1v5njf7Vl4ys5Xn33u38Jzv8yRkfbb
rvu66G4w5T0MhomRIAAIAopjlSuwdI2WYWJcUrGCWAHUrNMaEFULKrcMLfycTj/opwgRGCbJAz3H
rYVUw4ACPwHiTgYNA6OIopCUgsCjAIhzraaM+gUmBfhVAgTLHo3cD43sSzUDAUBKOO24Vdv3bznh
2BWgZYMlBD4tO3GFRu2WhZaNjINBuW984p++/tO/KJeUnoyuF4/qmN3RM7N9DhFVdW5ML0U4UNoa
iAZKPnPRqu/UOO5/2Lbhtr967PevPqw57mbNQtVgDY67JFAKLAYfXrbmE+de+8Cmu2+479u2g7ad
8LZFTFFI2s0KAAKftGyLlPTh5Ws+vfKLD7909y1PXq+39qEzVh8q7quDeB1xrFnjra+XrNUM1Jlt
lQq5Lk4mSwVKge+TVFD1KAho4/b13/74bTknv2H7+lf3bNyyb2P9wd+4fb3B0Q8T85onXn1k9QXX
3vnsref0rvzWHU3M7I1vrl+xYJUG7geG91WrpF0OYkFSku+TZY3bMCLqL+67/YkfGVxxpAj9OrBe
cfyqn62/UaN2y0E3w15869GPrvj8ug23ehW1effGcVH72N4cARFOmbv8npduSi/etHN9Hbj/etOP
snZ+7vTeE3qWd+VnL529LL2mLmeMYyIC00w48QhgWVAuai8eHB6Qc2fN6Zk257RjLxoqrjtj0Yql
s5Y9MfjIrNyiNw8lB9Xd1nP24pUv7974qfOvvf3JG/XCk+cu7y/um9+9xHHQNEHGilt8yaykAYdL
+2Cc2HJg05Nv3KsIBEF/cd+h4n5ugs2TP3lROYqACM5ccNGdf7gZAOrKP09vf/Tjy66+58W1mume
ceGs4y/aPbj1hNnLoOb5AAAnzFoGcPPyuRf97rW1WmdGs61++fz3icC2EnGDIEqerLeC/T97+vsA
4Dhw+jEXXX3BPzzUt/bB19fqnfK6PKV2gKp1XHuGtybXTQEA7Bna2vJgdw0m51DnFHYcHr1aU51f
c62ChuZuBt0MKw6rKKSoWZDCMDCbY47LkEEmy8olGUckBElBBkOdC0AAk4FX40bnC1wTY3RtTxhQ
U/ISAQDcDNoujgwqr6rydYdXBIZQnwV8pzzsHBeDVqYNUwwRKhECIjADGUPkIGMiApqsllRKIAlR
NTlH9eHQOxKcj64NOJpgqdcf0bjKypp6HgdHi6PjQLKsYRisJc1dRJQ2TEUOpP57Uu9Q86mYOLIF
BgCM0/ylqnsujgxA/5648mZVzM5gwaLBEKQyiNo77NPPCwEjAIjCye9JzrG9Y3QO8m3Hrqdo+0PE
mOM4x2jUDgCMWYiGlFWALgAgouH9O4kUInPbOp1sW7Z9OlEsRLFafYMoBkIRWUCOF/r/+eAT+/Yf
/vD739feVrDNBOHZtlmHyBoKp7yWKPUTdEfQjKUhDbMbi4hKpVIURbNmzaLEh3WiU5fAd6jRdOq0
+jGQXS+RUtZGGkSEgOD7gVKkxxwIaJlWLELXzkRxEMehwQ1S0rXdIPArYQWRJRn3MUoyoxbURyIA
0Nu7eNOm50cdMAF86OKVlmW99OrrUoh5S5fXq4sK0wqWbfbvPvhW3+5cR76ju3Pq8L08VI7DI9C2
05a6iK2hSXmo1NHdYbmt9+5kcsvef9XTd//bjsfYjDNUNUVT5Ca6bVyEZGcZt1AJkjFZWQYAkZ9I
kxWHpVfBtg7GDc03A6vAY9mkDZUG7hM9G5w3GT7XhRdMlhR66hAK4phCnwCgXpkKALaDS+Yt3Xd4
73CxpEsntSp8paw0ekBsiFFOEIwlaLWr0NM7a3n6Tw/+4S7HRctCxpL34ufe+6Ud/VtmdvbM7Oxh
DDN2fsHM3kpQevPgFkQwGMxsn3PSvOUAoOvG6vuubjsQjDSAe5rj7selbfu3LJy95MU3N0BKEp8h
WDWzJwDI2oVv/fGPlKQv3Hzlzv6+fBvjHL2oPKOtJ5dnSkEYqDimjF2o+CXdLebcwvWfvhkA/vqn
Vx2obNXnrbt9zqVn/sm/P3r9iccuV0LNm96bdfLvOm7F9gNbql5Ja2zXRxy6SF+0muGVEioVchy0
p3afGwZmM2z3QN9f33bZhSde9kenrv7C+65/7LV1P3/8+vrGESHjoA/j6riPCiIIAhKikW4ggChK
BjB6Hia5CREAQMTke1QJSpt3b9SqMlZ2NOPHMDGbbwhtaXsjmDYRliAAJQg5HtFk9Jpzr7tg8aWv
79+4e3DrroG+udOaxF4QwbKS0alpoJ4+sizQZdOmiciACBbPWHbxSZcu6O4N5SqAVfOm94rFNLO9
5+aHk0Ha33zou3dvvO3hl9et/cL6l/Y9uq+0VQpyXMw5+VOOXW45yBCUVMxgd71w86gWjp2tOlze
//qBTQCgtIkvNZEuiEBIMAxgLJlicmpTf7YJnEPWAYM3LlZ32+yT5iyrvyxME57afq9mYNdLTo2a
ijwiGBwMDkTg2gAIS7qXbenfxBA8HziDF/c+uq2/718++us6cEcAy4BAgIHQEqweUTkgjVGORACG
wBE4B6t5B75HmsiHCKaFFmLa93eURAzj4GZYHEkhqDgsOzoN0wAiYAilYkItMMwGnV0rSOYKIFJa
JcigWiHG0TBQQ+p00t3iECtdr9KC4K5T1EeqhHj0WBkZchOZAZwjYCJFrBCmKLGCHFhNlVwJaklE
OdKQksaryzrSYM1Jq2gcCSzGkBsoYzp6YRkiiANpuZxzbFn1HgXKTll3MQPUUfrHvK0otDPLxtLI
RAMVbmKMKARwzc73VHsXZAvs1Q2htI0wa6iCaR3yDY5WJhaUeDyjPXomf1QYJnZ28oktBaYYRNB3
P7z1HOM86zjHjAJkhtFeZ8sMH9gtoqCzZ4GTLRiWLUQpCHZL6QEQKRYHrhIGKQYAyEzDsV/p27Zt
x67zzzpz5QXn2rYTBL5hGIhAjKWLU9MtSXUo6eT02DY3/aFSqSDitGnTUoOBsXl3nWrXeyH9STua
jrcT3QApZc15KVlYqpR1cSpDjEWMjFnMjkUEyBDIMCwCFcs4l80PjgxqcFgn26SgeoqWUyPO6OUE
kG8rdM3o6u8/pJdialjxnvPPcSzruRdeevPlp+efdDavsSCcnHtM77GH9hyqDJerxUquIz+9p4tP
6HCplBo5ODx8aHi8FYiEEEUpq/UOmkgoFXKeRZxImmbm/NZM94G3dpzxwU9u+8PjW+5/I7fQcDu5
UsQNRIbIIA6U6TAZkV+UhoVWhkWeMl1mZVm9V2QcfIms5kRkcigOSXDQqNERG80alfUUoikBz00Q
IoE39TRzsgkGLEVBQY6mA6YBo1TV/vwDf/uLx3748s4NACgEmCYSgeOiZQHnkG9r0CizTmG8k8UY
5ApsxN/XP7L3F4//MGmbAZwjY+A04/4dB7d0t88568SzlAKFkHMKC2YtqQTlXYe26IHLK7s3vLJ7
AwBEIXlVbTCm/aQaXcUru5usixCb3hNpcipDsDlECrJ24furb3t487q7n7uVYqpvbWf/ljMXrdJH
kckwQDjhmBN29G9xXJZ18t9fs/ax19bdu/EW3owpH3n57vkzegGAFHXlZ+fcwinHLT84srcSlKJI
u+ASwJQm3zRuzmQmtx50bECE42b07jzUd8czN8aC2rOF6y658Y9OW71u460A0FVIhG9dFxVR7v8Q
96bBklzXeeB37s2t1rf0vqCBBkB2N7iAGwCu4gJQtCXZpKQZWY4RpbA8MbIYlOwYybJGCjnG47E8
Do3GHpOWHV4UIk1bsmwKgiiZpAiCFHegSQMglm6AaBDo7tfdr99eay73njM/blZWVr2qeu91Y2ZO
YKlXlXXzZlbmze9+9zvfiZrLm0sAljeXDs8fu1ZaJznQPPr0pbOzyzAxY1C9coTAm4HVrm0unTh0
/FLnO+UdXV1fAkCjJNwYhiOCQMQIEZGiWtgUKyK43lo60DgGDMUbBxrH3Ivb9p9+96kP/cKn3t8d
SN7vOXn/WH+CiNJU4liac0Sx2xE5TVulRtoj36evXXjo8088+Me/8tj/9pm/AeAPfu7pX/73PwPk
v92P3vvTAB587JP1hvqXX/71X3j/P/rVT/932qOt9CqAT33t49W6Cn1kifUjj7aJrGb8pIqgFLJR
btSte3geVtpXDtSPKgUM/BwPNY+ujma4rraXVutH/+Cx39EaIuR0ca61a1tLBxtHv+cjSWEZHvDm
E+9b7Sw5/brzXyfCb/zQv/u5339HO24XyH6jd6UaNMo/MQHM0Aq1YIKycLwa4vTwfZomItUKStOY
+02aSDSgGJRzafRngQWnF280dadltzat44OEc7210hOSgjDmDU9gy+6dqEpxP6f8Bx9CEQJ/srDc
5eTslWlO9iJWHgvtkx8pHQy7N6i56kAJsh5PA9BaAxXyK6oMv1x9Y2GkfTZTi8/sKsykMlV7DVIj
IhmTYpqAR/sk/ArQ7S6sESe8mSiYEUYWS1BkCBBcNtv/9xFVCNDtlp24dyJEDQ1ABmYVc/PKZBIr
vvM13gvPdLO5UFmp+jQ3p46fGuaYaZ+CmkqnpE0HAc0tvDKonS2e/I/26hPkeXNRdGz7YOl5DZei
qlTY3H9k8eit1vaNWYs7m4AQeb4/p2ih3+7btFTilFXWqygdJNT/3CNf/tJXv/bDH7h/YaEOwlve
+NrvfPd8oD1lC3+q4U5v4IqP47jT6Rw8eHD21ykvwOQo+YJGkbEuFPi4aMlaK1L6m7C5ueUsZQAi
ImON7/kg8j2fQEkah0FEnrImMzZjtp72kzTxPR9DrD5k2gfce3mnAsHJ229fWVmxxkr+oB5OHd55
35vDMPiLbz72whNfuf11b/eDnFhSWh8+eaTdrK1cXmmvtdprrYXD++YOzHkl/8csyUyapXHa2ezM
0LWLcJJcMcb5hWilwsEaiBeGC76/OO2LfuDPMJZJ+5326rX3/uTf/sPf+uilL+GODwngjCDZZhLW
FBvpt6x7E4D2qbtulEdekP9GWQpmFosDB/NbYHG/7rR5fdX6Pnn+4Lao1imqkjFIYun3pLXF3Q63
t7jfkySWLJMwpMrA+mB78UhFkBKfpH3aDixevHru9bfdl7fg4Q133ndx9VwU0UbvyqHF48Uldfvh
M7cfPjPtjLh4+uVH3/Xa9+9bmHOuf75PH37fL/4P7/nFsc0efvKP/sNf/PNPffljn/jyxz75pY9d
21z688cf/Oxjn96u5C9W4jyPGnOKGXFf4r60t/gz3/gvb7rt/m6H3TtHFo+/6uiZJ7//KIAxhJ0f
u8j77vrQN5/74oOPfoIIupTs+9TFxw7OHTs4d6x454P3/syXnnkwqtAP3fvj337xi3/6nU+Mqd6X
Ny///lc+9vtf//gffP3j//ErH3v4iU8vbyx94pGPXduYKpCYHcai3cnFKjvGX3vbR++9835rYQ26
Sfv7K+drYVMEaSb33vlALczRle/Tj93300++/BiAzz/54A++4UeLFmph465j937xiYd3l42zh/jS
sw++/+4fK7/znjM/+vnH/4gUjfwqMgLcr20uHZo7VrAgJw+cvuPQaTeB/PqFh95z+kPlBv/7ez7i
XlTDxstr54scg1rYuHXf6bH+BAEp7co55RnezOLU7UQQhudTGsuh+WNO7VMLGi+vnS8c3w7NHfvw
uz76W5/5Nc+jMKJvv/TISvvKj73pI2yx0l5Siu47c1/hbn7myD2/8cO/O9YBh4+nRVENpwiXAakV
vvLCQz/wqg86MbqLd73qg1954aHy15+9dvZNt7yvGjSMyTf7iTf//F+75+dZ8PTSt997+oNuEdKt
pH343l8pknqL+M7FR37qnl9hO1wZ+Ctv+KlnrnzbWqx0lg7UjhbdO7n/1InFU9gWeyJosyl+HQC0
QvlqdCC7WOvzfcpmpoUUDu5tN/JaMZk41A7AmPzTbnuWeputq8JLGEiPxoB1msq0X9NNG/aKVneU
yU0MIgQ1FTW1nr4759+1sWbHsvxFsLnOcV/GUPvwiwphTVVvTL48iFdERFGm252+fOJm2iMipPFu
rc13E1lsReBNUUQ5ZF/8OZ3+2yESe7Mqm6hCC1PI76CmxgQFDFQiWlhQx0/y6TfQHdXsrv329W9W
970XUX3kNg6qNLGOWFRR8/tuFrXnIl6Lxz9prj4hvr8vio5PpDi0rhD5WbZmbYex2eu+0O9/P8s2
Pa8RhkdrtVeH4TE/qDb37WsujoM5tjpp18UuGHif/sznHvrTL1y8dOXUq07WooD9QCbFLvtfbM/M
zqlmfn5urJ2xltmpW8bfFPe2ezF4PdyWB3+4Bt1AvLa+rpXOBimnYVhJs8T3A6WUtVmlUkuzWCml
tIaAmT3tZVnCzMyWxVr3P2bDbHmwi3xHLGzdllEYHD161ArnebCuP3lf5S2vf+0PvvudSa/1wpNf
TeMR/N3Y17zl9C2VRhXAxrW1S+de3ry+aTKzcun6S0+9+PIz31/63uWVS9dnZ6Mm6VVjtnx/oVI5
WaudrlROViq3uX98f9/ESyWsRgdPHDrxmtv2Hz8wo+Vup7Xv2MlXv+X+y49m7UtIupx0eZCNqtKS
9iztsfZJaWIjaY/dllnMNhW2srUxfIrUG2pxv9Ya1ko+Erj5WdIXU9IsiuQPCa3denGe5LCd7Ol3
Oc1EEcJ6fhfmsKC04R9/8/f+xUf+5OD88eubl1938r56c5Ay0AAAIABJREFU1PzmuS8AWN68fH3z
8m/89X/50Ld+7+D88bedeX/ZcH1iLG8u/evP/aP/42c+9dCjv7e8ufT62+5766kHfvUTPzVx44yH
Y5ZJOI05S1BvjhjGKwVXvdw9BrJBuU0Anz376Xe97v1/98f/yWfPfrpeaf6PP/S3/80XflNpYpaf
eeAXowr9/lc/PtxXKr0uv+P0AyudKx9+9y/k5xZQCk+//OhTFx/7tw//5q//+L/4k7OfuL61dP/r
f+zg3DHnJ/PWVz1wfWvpr7/zF4b9Jjx18dHHn/vG7FNxAyGCblfSDCcPnvmnP/vvyx+9cO3c73z2
N4s///S/ffKjf+k3tTTWukvH9h1/7S33/v0//GmliBmPfu/hj37gH3/p2Qe7SftH3vTTy5tLn3/i
QQB/9K1P/oO/9vGPfODXvv7cwycPH3/PXR/65JeHuarT4qff/VEAn/yLj8/erBznrpx9aeXcr/zw
x7507o8BvPfMhy5cO/fkS4+NzRjZMgSduPX2V99/Yfn88tbS8tbSP/iJj3/6W5+45eAtb3vV/S+t
nm80Va2jzl05u9Je+uUf+ud/ce4hAD9094efXTq7v36s1+VHn330p+771R95zc8/vXT2yMKx195y
z4Xlc/ecvH/MeLFaVZ0O93vSaBINEKH2sLXBRGjM6SyTo4vH3LdOLJ5udVvFIP53/8pvPnj2k8tb
S8U61W//2a/9m7/5hS898YWL68/9n5//xV/+wD//7NP//qWVc/sqR37irR/9vx7+O9vPiR6g84mY
z6WpFACueH3u6tmXT7zvVz7wfz9y/qEwwLvu/ODLa885r3cAwkhSvHz9yu9+7Z/8ww/97p9991Pr
vat3HX3Lm0+873/9zM8C+PLzD73hxFt+9S//sz/97n+oBY0fufunvvXiI1c2rngeemn7zOG3nDl8
z/nls//667/xax/43X/8of/8nYuPaI0TC6fOHL7nNx76WctY7VxZ6Vz5O+/9Z5995j/MhUfffud7
twvZrZ21/DIxyt5QI+dBkzHSS9tvOv7eSxvPvdy5jLL2b+CSPjbKuaTVJM69/P2AgpCCgLodNpk4
hDG3oF0ya7/H7p+ooqo1tR2aJLH4wXCCGYR5GSYMaroVY9HE47oBjjmqKJfJs/sghaihtiekjoVJ
RFgs0Npk5zTsrsBOi93jI+3xjOpLRIiayiQSt/fuPxjsvHi4Y4yJZLIp4g33jDApT6txeGNRCGaU
Jp4kmMkSUSWGiDzI3kkQy4glT2u74fB82n/A2xhUGcv7Q/Ar441aBnI3VanU7K2naG5OkZrgDAEg
qKp49Mpszutop+JfO4ZhpAYaeOo/8/LT8P19YTg1mxAg359L09V+/2UASoWBf8Dz5rYnJobVqt/p
ZNsqgds00EFWrVTand7nvvi12245Mj/XuHx1hZWnsmR72dQdYwzfd7tdz/fDMLwhvn7Y4DSBzQhw
BwCsb26SypXrIpw6ip2UMWkYRJlJwyCyxgBgEctMRJbZ5vzKiFimLKYf/w9w5OiRy5cv5y7y5X8F
gLzm1Xcy85e+8eiFp75+8jVvjarDxVg/DI7eeWzj2vr61TVr7Orl663VzTTerZBdhK1peV5zrG7u
tPACb/Hwvsa+5m4GHecZfPq+9z/32BfWnsWRdw4/UhrWZWOGlCYiAjZCCphE9MSxmCx/FliLtesm
r4F439+6bXxbGvv/yEdKodEcknsi6HXYwf1qVQUBJaXdB94w4xNALWq+/40/5mQVDz/+6XLDD7zx
xw/NH1veXHr4iT86eej0lesXY+7ecfSu5c2lra0NAF6oa1Hz0PyxF6+dc20eWjj21tPvr0fN5c3L
Dz/xR+XWiq5nDB4kaJ46emZl8/LyypYziChqhbjo9ziNpyZaveu173/VsbtA+K9nP31tPXe5ueOW
Ex94848VwN3pbQDcdfKuffNztiT9VwprraXrW0sADs4de+urH6hHzRevn3v0+Tzl9OShMwWBXfT/
+tbS0rWXta+VrwiwGUe6Nt84ceHqpInN5J4TgEf+4XPv+41TY5vVo+apW84wj9QI7MTtC9fO3XH4
TCtZ6qVta7BQPfr2Uw/M1Zvr3StnLzzcTdrGou4fAZCY9jvPPHBw7thzS+e/fn4kd/Ydpx+48+jp
btz+2rMPF7KZOw6fWd5c6sQt14f64NcEcGj+2Afu/tEcuJcOpB41D80du7B8fkzjnvbSOFVRVb36
6Jl777gfwGMXvnjh2rnWJpOmRi3/lrCIFQBvuP2+u0/e943nH3Yeiz/4ug8dbB7b6F/5xoWHbtt/
eqW9VLDpdx275zXH7u0mrbPff+TY3Kl3n/qQy7WtR823n7r/8PyxF5bPf+O5h+tR8wfv/tEvnXsw
jNTRxZxEJ2BjwzKjOaf++ts+2u/xp7768bkFvbVhnZo5ieVVt96iNF1dvyxJvRo2nL6oHjXuOHzm
yYEoKwhJGCaTQ3PH6lHjwvJ57dPhA3P3nrx/f/1ou7f1tRf/pG86ABaCQxBspNfcSbNMd+6/5/nr
Z30PBxpHARRTCyIkaQ5/m9XG0YVj56+cD/IcCQC4dfH03cfepxQev/TIxfVcwf+huz9iGX/w2O94
HozBkfmjb7/zfdWwudq+8sXzD7nchiiEVjhz+J4zR96SZXjspUdeXn/OWhBhod5476kPAvj8uU8B
YMbrjrzv1JFTAF5ef+7ctbPr7bZLY40TvOfUBw82jq71rnzrpYdOLJ5a7Vztpe0Ti6dWO1d6aTtO
wILTR0+tdq84Ot/E5tZ9pzfM9V7avmXu1ddWX05VX2kCcGLh1AuXLneT1sI+7f5033Ivtnqt1ia/
9tg9r7/lnqevf/ncpXMA5uYLA3Jy7uP15vBZmybS7bC1UlQtXdzvKQ0CjJHN9dwjMvdDJLQ2bZqI
G5fdR05AX8TmOrvMVPdn0pd2ixf2qX5P4r6EISWJHDikt9/Ubssi8xXOnyS1YSOvhZZ0Ui/Q2ldj
t5II1lbGqeKJI3xxwVTmC8qTxjcpkTv9TSsspMiPiDNxqE5r0pEyiTiYW5kfmQDQeJMAwEZ6mzzx
o2mxsF+X51dJN/NCrQMNgFNrUpvSBOe4cvOkoEqbmHQq3e4HBKGkN7P0Es34a9aWYVUrTWnCEz/1
AvJLK7cyqTzzyPZiPE1+1QPAVrJ+ZsP8ILWiYNLS3LYfeFaUrWa8gKK5CZx5qNHZskks+a+tMDen
4NP2uYlYFHZ4WtPcaCrqpFfTgwAnfrOwAggufTG78LDy/YUdwZmIzbI1Il+pSOvK9M1k49q17f7r
AMJ6Z6GSvfNg99y690InsNZAQETXXni+0WzOz43U29wR/JXhdZIkly9fXlhYOHLkSBD4TrtS2MaU
X4z9d8d9FXuJ49iZVLp3Yi94w92v/+3//R9cvHrhxJGTS9dfPnX7XS51NQiiLEuVUi4hFZDzF84d
3n/LZms1CitRUJ2A0MtKfhkayxRvP/vMs8vL1weYffBB6VsvXVr6kz9/JIiqd7zuHWGlPnYUSS9Z
funq7iG7C8v9fu/FMDzq+ws7blyfrx84cWi2mN5FdeHgvlvuPHDiTi+ItMJ//q1f2Fq98OZfyn8C
7VN1XrdXDID9B/TGOlsr1XltEkmnpIDX6srJrXsdbm3l29DbPnLb+Br0TsDd96m4bovS9PWGcmOo
YChiUwq5WHT2SJG/NZgMsJjUeqF2Gk+TWABeqMe/O+PKJwBgcdmiBEDTsCftLXa0WTFAuGQOm+3g
kDD26Wtvf82tB898/r/9EQFF5Wo/GPoZ54VvAJTnMEVLO/UfQNY3ZeBuM9s3Uzw79wjcAXgBeR6y
VAYyvKlai8CnykAEnGbSK5FSNOlItOcqh09xZqDxl3ccPnPHodN//uSDkw6EAGwH7v1EWYtaTYUl
bqa1ydYIaXIOWMKiPWIrAqiyalnAhitVVS25a99z8v4DzaP/9cl8CaLX5f/lgx//+vmHv/L8H4fh
oIohwWRiDEwmw5piemDMDySJdDrsefQ3H/iFfo//8LF/4UrSiGBjlX2fGvMKwOa6HdFR7Hh3EKIK
VWsKLGWNu4kN3K0xuJAdwI2CCbmqcQJmJ/HPL/goHFFQuMqpUQhygCzFT7zlI1rhj5/8HWuRpAgD
l/dCcAZECZRCObE+yWAMqhWw5K35HgI/v66cnCYsJRhnGdJsIMQcLAgMGhyeA2sRp/C9kXIEJjYA
eRUPgFjJ4syPPDW4OZJY2i2u1Ud8tVyr/Z50O+x5ZG2eDlWplisHUZbK1qZd3Oc5przb4X6PtaZa
Xfkhra8Yz6e5BV10cXPdGiPziwMQSUgTaW3aRlP7AXXaNk3geTS3qAb6RWlt8eIBXdxuWSpbG+x5
ZIxoDTft2XdgXCoggs01C9BCqYTeLoE7AGNkY21krJ8B3CtzZag9FbgnHTYJB1XlaNcsZidZ1gFF
DQ2CTSXpMhFFc8Opy7TRzySStHmXwL0xN87L3gBwV/5Q3c6MpDtVJKM1kh5PJMUnN70X4E6Kopq2
diCM2fbNsFYibQU8k3SfAdzdgO3rcbeiPQF3AEksrS0rPBm420ySTnGuho9rP6KgPl6NqwDuYUTN
ufFrfk/AXQiGkQ2G1q2X5PF/xVrXKpVb9zAdLB+IMexsNBwnbTnudU02OUc4qPWiMP2rx1udTtxs
1lYTT0Bpt/35J5ZXWonWemFxsV6rqYGocUaHyoQ0gG63e315+fDhw41Go1KpEI0Dd2yD7xNfTNjR
AKD0+307OFIAqR8cP3Hidz/+Ty9ffenY4duurlx87anXi4h7bmmliSjNUqW07/nPPP/dfc2DW52N
wAujqFoSsUvBtwtApT/HPu12u98+e3bUPnzcRvLy1Wuf/fJXM8OvuvsHKvU5AGmctta2TJJ5gR/V
K92tTmejs/ucd+a01/teEBwKgv2zt1w4vLjv6A7bRM3FI6fvaR46ruAyu/If5OyfffLxL/zBG/+W
F+5nlIB7EJKrzdRp82zgrjUdOKwB9HtD5YynFNWbZJyrbjb5qB1Y1z48j3pdmZjn1O1yFKkwJGfY
4hbFWMDyylT+u4GwJf7CPcislW6nqMsLMypmnV/Q1ooxMEbMJJ0rETyfXHJAlkoS8589+l/G4G6W
SrfD1Zoigq+GcxjLr4yzmxqAtJv3P3b2O35IwBC7T4zMSCQFcN+hWe3BVUrfk0IxR+2jQQP/uO1N
BT76Fr0uGzucKdXq1O2gePj5PtWb2hlvi5WhikaciGXkunz2ymN//97fq4XNZ5YeY4sPvPbD9Urj
0ZcfqtbyxnM/HCLPR1QhEaSp9HvMFt0293uoVlUYUa8PayRJGIDnU78nUYXcLVN4ldzAbxf3JapM
tlsZOy1xijgdwe7GIsvyOWQlQlFTaWw8D3z0+mCGIvRT/I23/733nf7gg0/8DpDD63K2uivsxQzL
w/V3R8ynGcIAlRBJhsyACIEP5hzTl6MYqKMIROj1YS36CQJ/2KZlJBmIhosDuwlXDLXbYWCI3bNM
el3JMiGCH6AeqdbGhPHO+cD0ulxvKqd48QNqzmki9HosguKScG06bXfck3oz31EQktbUadvFA15z
XjuafGudHXbvtqVSHYEvjkEwRipVqjfUxhobI2urtt5QBTZ1knFrc4e+GwjPo4V9anN95Pk4MYKK
UjuVeMMAtVfmdAHxvTDPNfQHxr46oIqv4y2Ot7iM3Sf3MCSTkN2p9AQp1BuvgJqC9Ah6mla6lQha
w2ayA2q/iRAWk7IXKLaThRBZLGExBb25LFXHrFke55L2FGFE+wOv3eJ0lJqRvAju5M5lsdjMhg2l
S5y6zURrqjfVTdZXYkFSEtSxlfP/hYn8idmoE8NkWZYkwmytNVlmZyTK5GiYygvWbLzMz9YSHQgU
+FDFKCKqVn/+AyeffKn19fNrqysrW5ub8wsL9XodRRrmziG9bpeIKpWKiCRJEubecG41Y3hoMjCx
Gf/+9PfLr0cOVmRtfZ0tg8haw8zGGE97WnnGGoJKsyTwQxExJgv9MDUZkcps5rMdxdxDmM7b2HQM
pieVKKpWa+12e6xjJc5djh0++EPv/YHPfflrF576+sm77qvN7bv83EUuQN71DVLKD7wsmfWrlcPZ
gDLvUJLp4IlDzf1zs7fxo9odb/thpbQws1JKwOzMvunUWz/w+MP/6dp/M7f+oMIgGxVAs6kA1GrK
iSRnuFS5NCrPp0qVhFWaCAs896P6Pvk+IpC1yFJxCF5pBAF5/ojN9kTjKgAiiPtMpIKQtEJRU/D/
L+AuAs6X6XLEzIxOe9ZDy1rxfPJ8AOT0/VkmWeoe8+T+Kbf/vSvnJg4IWSpd4XpDlecwrwxwV+SP
elOIhQjEYqIvwS5jR+wugk6Xg4CsnVBothwFat9TXBhkNShNSoM00eh6LknJaxMAEISkfOq1OY1F
K4mqBEB71FwgVzdXqTztKaqoJBG2AnJOVmAWonHXo27S/nv/6cfvOXn/a47dG/f58088+MTlRxw4
SBJJUmEeWevxffgezS/oNJWkL1kmnTbHMUWhcmieCCaTJBbm3OQkmH5mlIbnkeNcjZGJxVbSRKKd
3DyVQugjyXI6nACW3KwwipBlMAa+DxFkBnGCMBiS7g5hJyk8D8x4bvnsVrz0uWc/5UB/mSkXyfG6
ZRgDPfhIK2idG1JphShAnCDNoDXSFL438pumaY7+wwBKITN5KYksQz+GGszZ3CpBFOzZ9W9uQW1t
cLfDcR9OQOxKQVVrSmv0ulyrq+a82trgfk8ArjWG92etrjbXrR+Q4+bn5jUAY6TX4bFxwFnf+gHF
MdcaQ2Baa6jWpu22ud50i0Kq3eJeh5UmESkXUs1SaW0yAIfaRWCMNOdVryvtFnfaKBJvADSbasZV
tGN4Hu07oDttTkpeLkSoN1QY0eY6Gyuk4O+EicUi7lg2UkbtrilnE6n8kTejORVvcX/ThvUR0LY9
wobqb1gRkEJzXis11Mq7iCqqWlc3lms7FuWUSptNd5LR7nGwB6TsVrT2FCZl7SutaeIAy1ZshuLU
5bbuNxFWEJvJfqO7DFJozitr0Wqz9okUTCImZpFZOJkt+pusffJCUh7YQAH7Dt7UzylAZmF4ZL9X
H0N/FWF4gCatugy/KxL3emmvZwbk+ozwgyCq1bTnac9zl6CImDRNk6TfbtvM8ytYifWdVZ9ZNDE7
f2OhN5xsvvbE3HNX2p9/4trK9eudTmf/vn0DF5SxkyXFf4r/9fv9KIqcPN1am6ZpEASOwiYSjPI5
UvKgLLm3501N07iPvhAS7nZ7zKyVzrJURDwvsNZ42vO0l9ksDCrGpJ72SZPWOstSANYatjzCpQ//
L2VAP4bfRUR72tVvKjYtzoAM3jy0f9+P3P8Df/z5R1585pu3nbmXR43GhHmvahmlQuZZVXsP3Xa4
sTjV5LCIhVtOCWmBS4gewe6NxUP7j9/ZvfY9lO6L+X3ajeqksLCoEtDs4aLbkbkFAlCtq2odALyx
a1Vr6ApFFXfRTWhi9g7iPvuBdmmpbvyxghtNhb+pKKxECHmObL+3M9VUBBGCkIJw6nngbUbR5XBS
iiAkVZRUBaxgFzTW3oI0EZzbAImArVgjY2P6//y7H5743fJx+SEpPbXmCABmxDs5ynkhlYvO7j4h
R3ukPOQk365PURgSQXXb3O+x9oYZC2OInAiNhmptWTF5SQoA1YaeCATPfv+Lj1744uaGJYJTSPf6
kk46LVmGLJN+jDCkepNMJt0uO9hNwJ9/98EwJFc7U3uUxByEQ1RXrobjeVStl7EgATCZdDvjXtEm
E+wCtGmNikJmchsWreDpnCwXjTSD7w9BcJzAK6lZPC/n47XCE5cfwWUYi8y49PThLpghAt8HWRiL
8mwiDNCPkSSIQiiFMEA/QZIAGFLmlpGmcHdWMR3KMgQ+PA++hrEojI8Cf2gPv6cgwvyiSmJJEhGB
9siZUDlP/U4bWZanv3ge9XuSpVxr5D+E55ErtASgOZej9q0NS4RGcwRkJAkHIUWRylJbTod1o0fc
Z9+nsEJhhZLEZaBKc14VJj+9Dvd7uTzGFTGI++J5FIYUhpSkrmgrAEQViiLaU1qqMcgyiaIRuo0I
jaZqNJGl+eEXbS7sU72epJlMy28GIIws4azPIhhD7Xn7atwzFwPs3t+wcYu9kIKI1BT4TgTlk69R
ayoiEGh+URcW+N6oE7ExyIxE4Y2kqJZRu8hUabtScAPjLoEyEfxQez5lCZu9YH0R2Iy9QNEU05os
leGc55WwhhRBYhB6N8WsaQ1fodfa2xqizaSgHvcdulnUnhiMPY0JtHwWRN5s+XKWJFurqzsyXtrz
omq10mgU1xnbzBqrlCcifhD4YVit17dWV4F222ilKbNMpJUSBhRIGJ7G607Mve7E3JeeXvn6+dXL
ly/v37+/Xq9tZ97H+sMs1towihzAVYAxRkSCIFBKiQDgaU/N7Vz7xIMt7GcKSbqwQMOyVUpnJlWk
kqRfrdTTLAYo8AJrTeBHWZZoz4+iamurRUpZa3P1v0gJgQ9nBUXz+b+5VaTAzSiYhwgfY6r4HMLP
zzV/9C8/8NlHvnLhqa9H0QnPm2AcvPvQup6my5b7Wo1nNSilDt12uDY/rqefGF5YhQiDFE3A7s39
R1966ns2y+9fHvjO5TvyCAbjV/Bo9Htcb46wFdNB9Q3dzI4ucsV0CsDKo1NCa9Ft5wxTcHMWvCLo
dsQYCQKq1kaaKs5DMSrNdnmbFqTKM6VS+zsNmlkqQUiEUnHZbQ21tpit+AE5ac0uQxgmEeWR9kf1
4gSdl9EGl3zEnvj+Y5MbGt2j9iCM2ZqZGaF96LGraacjctIj7dHELdnm1RmD6fxfEJKw6nW52+bm
gp42VdAezS96Scycl/pSREhTsWa4ZyJoz1mACwbseD+ejNqLEIHDhZWIGkq1WvnkcHlzqdZQYUhB
kOtkCngkMrx4wojqDbX98D2f5hao2+aktHxv7EwuqxSOO98enoc0G5ohViJkGTIDa+F78Lz8i3EK
V8o3NTAmx9/lKOqkAjB2RC1DhChEnCBOEATwNLSCtahEIMoZeuP0MwGUQhwDyC0mXYNE8D34r9B0
f7ysG+W7CEPqdaVWIwC1BglTu8VbG+IH4tLWqzXV67LWRAppIu2WFcHcgi5bxLi19DDMWfAsHfGx
aczprXXbblljVLWuogo5w/ggJLaIY+l3WQRRhWoN1dpkkwlA/R4XUhwH32/42NttdoKu+iSK2g8m
DDnVGsWr3N+0yietaZi46UiBEt7yo8ncufZoGxQBkDtLJh02iRTDl/ZoKDE3+S6EMXdgZF490bQ+
SaTbc498RHs/S2N0+zTw5uj2XUJwpSisaDcz9EOlPUpj3l4LbFo4tYyaUo9JGMWzH68E6Q6Hei1C
fVOMUq2u+n2+sc7UGje1eDIRtQNoL6F1xYbh5Po4RcS93mzU7vl+pV6PajVms7X6ctLf6nfWeu1V
kyUAlA4qtYONhdujaj2q1eYPHux2u1f7kjWRxKnXiEhcshUzlGJhxUqp+1938K5b5h589PLVlRUW
btTHoeFYj3q9HoDAlXkjYhECxBhrred5RLTdsqZA4UQgIq21UlpPtK8eJoFywUUW5yQzBoBlJlKW
OTMpkfK9IDMpKTIm8/0wM6lW2ljjk2/ZOhNcGSDyMlLPte5S3mkO1EWk3W5b5hFxzHbBjIgAjVr1
/T/w9i9+7Vtb7UtRdMzzdtCxzAjPa6bpsjVtHYwAd+3pQyePVBvVXbaT9FrCQgoTsfutr33ri4//
xdYFHHgNNeeUCqhMZzs+d98Bb2vTbi8AUphNba7Zxf3DDBAPwBi/YgfVlBxxXr6ld8NYswV8JwbG
4AcYwRtmoEHqdQWl4qN7DRF0WmwtQEhTmQ3cpyl8ymHNiEW9CLKB4EcVua176V7RgSFwH9ujFXIm
kuDadMe0sSAFLyKbStqHF2K7GlUpqIC0TyaVaeu/E91zvWAHzcy0cNmoE/cysQM5ZJ+2aC4wmdhM
vGD6NoMIK5RllKXSbXO5ctb2PUaVPE+01+UkV2FO4AvdBaM1lcpCTW7Q9xEGpBSSWDY3LFuA3Pvk
7Ns7La5UyeVLFOsAvQ4PnCKpLM/YHrWGYsvFhPNmshqEYTjHx8kgS4GAIID28iTRNBsukqQZMgMR
eBrhNpkKD5C6UiN/ulAKUYg4RZIidTX8kE8P3C1QcPxuAhDH+XlzTP+N8eu7Pw9pKlmap7JsDWZl
QUiLB3S/J/0ub21Y7eVrR9bK2ooB8rpsYxaNuYOKBwB+QHZbqa+5Rd3esv2exH3rzpXJsLnGZpDI
Xq0NSfQkkZVlCyCORQTB6PrVXqM429ai1eK5uV1Z0g1qWsOmYiHoT90yqE5uTnjqY8ILKe3lcJON
sEG2DeMTAEKWSjhTrpMk0u3mXgImA3Zb+Hywl3KmukxdaXQ5NibdlQrRD5UfKhGXKiZKke9TWNVZ
bHdZZlUkh+bTnlZjpLtDhTcZIkgZ0QQHo90GKTTndNlwepfh+VRr3PitLkA8xWCnuwwASkUTPit3
IAjQ7U7pm1+bm/PDsL1++epL3+q116xJAPi+Pz83V60eUkptbm5ubl5O+usLB1+X9Pv1ufmwshjH
va3MDzhmEQwHRmGQcimuSh2ZD3/6Pbd96isvX1lb10pH0ax+9vt9IoqiiggTyDXj9DFZlo1lphYx
UMsAEGuZKAOglAJI5UFUug0G4HokNjY2/JDYMpHKTBpFke/5xmZae0RkOLWcEVEYhJaNJz6zNdaW
APt2rh1l0E6DzNQXX/y+M6rHCOE+opspU/jNeu0D73nH5770tVZnKQx5N7YwE0OpAIC1I8Oc0uro
ncfD6h7GlM71i/vveIOagt2Pn74HALfowCENZ5piAJWjD8PwFLTC4j6dptLvSRIP8zCFpbao055k
Ma+vDrG7B6DbHqozWUbMVq0MpSYAduMEXCDCaaOsN0VcAAAgAElEQVSK9oaf9HviebR3k1MAiPvD
Ypz+dHjnPtC7oBSc4qJ4NheoHQODGn9waGkyOXt1cgem71kNljuzVJJ4su30tDa9kEwqJhYvHM+z
LLbxQ2KevM477ZzfAHafhtrhHpDbxnPPh+dPoJnzEKQxi8CPJhhgT4xaQ22tW5NJloo/k3szWU6d
Aggj5ekcG4nAGmSZZCYnyDxv6hKNUohCckpx5+0NR+JG5PvEDO0hCKi9xVkmpGBMrt13UZDo9V08
tKp12tq4qYezCNIsR2NEuTpFqSGlrRV0mCePssDNhBVBAK0wW1U/7dp2bjNxOryDrHVO2CO4XCsE
AazNu2QtjEFKCAPswndrz5HE0unkRJTnk+cRW6lUczssIlRrVKl6aSJJwsUtoDUxS72ptvO+g3lI
rq5xhXLLQYTmvO51uTdwOzBG/IAqIYUVKjdYqZLn5eMhW+m0BW1UalTb5sKxyyg/hUXQ7nCzsXNT
u8y/9ALani9etDDD6dyvTK2UWY7ZYuMctQ/iBnJ7ynS7Sae2sEu6XWkKopwpLxTqzJKm4nkqqGi2
skvq3aSsfa0UTZRiCoNt6QmrMDEZZq/BgpQR3tBT2EUY5StUu/8KKTTnb2qCnlrwRB84wdrzBqAZ
ro4utovaiSiIomqzadLO2tWn164+z2x935+fax48ePuBgwfzVV0idy+trq4+88wzq1e+vXDgLgDz
0SKAa7G+PdAQMEAiCgAxoJgJShQzK1UP9c++9+Rvf+a5tbW1AwcOBEGAKWGMCYLAVdoBhMAgAnLq
fXjQA1VMIXAfOzIA1jKAwsuyLHwvtwPAjVYrK2tHj+23NiMgTWNPL1prtdIEstYEfmhs5hh9a41V
lpltyVNShv8fgd/F362t1sWXL221Wtvk8KWtUMLuQ8kMwsD/S+99x8NffXR984qICYJZ5ZBmBJFX
BqpRLTpy+zHt7+3xk3Q2bZbCDyZidy+I5g+duPL4xbt+RJRHigDCVpslExD5dVU87JzAElBJX7od
di7vJpaoofyIki4vXzFuddcDYC16HXFz3+0lEozkc4P+zKr1RewIkT0PLgkPcCmt42T5boIZZRXB
bhwG9JQlyHJ0O05LRIbHBwWWfFHDVVnacXcz5hJFVKvDqihxn4NwsvB6WnghGREzoG8nbqMUgmiC
M+Pkcuqu2YBEplL14+1rmlH4UCkq1+xzcwk1g0cUpAkLwwsnV9SbGESoVFWvy70uz4VTv2aNtLYs
gCCgal2rsblDgApyrxhmaE3JNuBOQKVCQUDMjrbPz7zvI6oordDvS6/Hvk9Ou5WmFATY2uTtCYXB
wGKSGWmWLz1tn02Vf9ZpP/GMEEGcgnnEltGp2Mf2pVRutmgMkgxRAABJhn6MINhz3RZmJBlEEAWw
jCwb95MpwtPIMvgDR3lrkWaIE0TBiKr+5qPXlV6XPZ+qNTc4QgQbq9YbTZl1E7Aw0gBWr5tqTVWq
qtvm1qat1lVlCs0MTNYtFCp2p5taX7W1hqpUJ2jDwpCyVJzxC9yY3GWnvHfv3GRYi35fqtWpl5AI
TCY75rG48KajPIfay6KOkS8GlE6mOEciS8V5aG7XUTCj19tVJ6cGjay0zTCxUTpX601tieAFA6I9
lbEkKhFkGWtNnkdhTZtdqN5dYY0892NSmEyCwRP2lQLucLQf3ZRgpt5UaboHPqvRHF+/2lNYnlTO
abDz/gqK8vXTIkuSXmtYGVB7XhBF1UYj7q5fefFbmysvAWg0GgcPHjx69EgxT2URInJuMgTs37//
jW9841NPPbV+/anmwh2Vel0HlUt9PtPoWxat4cC6FgiECMLESpQwkwo8+sl3nPj9r728vLy8sLhY
LRyXRw+ImbXWg6uQHB4mIpCSAq+XLrwxBF+8OeNUlC1l8hfMAFY31o8dO2isUUozi2WrSBHIsvE8
31hDpIjI2IwHlVHtiKvMEKZjIIkBYIzd3Ny8fGnJsey7genbthIAvvYeeOe9j3zj7Or6dREOw0Mz
jnHHIKK5A/P7jx24sbWn7srlxuGTrKjA7totKLCwojPv/Kvf/PTHV56XQ3dRr8tGKKyoqIGMkaTS
6srcqFeYewaliWxtcNpjv6qcj6TNJG4xW/GiKrmCqf0uvAoVP6+mQqOOjMGJpKmQQqHZnRhl8DHj
SqnUqDOoGpmmElX2TLrHJSvxMJwwvhdRbBdG1Jti0wunaRZkmXTbXG3ognFWBBmkVxiGSI7aw4jS
ZOrd4HJb8w5MPxF+QJ6fSylEptZ6nBE6VNxjkwipWedQ+yBF5QSsGV6NItA+BR6UHq3jgJGRUESs
BdO41Koc5b1oDT+cLGcvIktEGErTXkFqWKE4BluYTCZOmUTgUHsYqVpdGYMkGTE/dUYovj9QFW/z
hQhDiiIC0Ouyu/x8nypVIsLWJiexXdynw5CMId8n9wzLMjizp/LhuLo8TiBhLbrd/HGfJJO1yOUe
7jWMBTPCYEQy7ukRdD4W7iqyDN9DFMBYxLGbbI/A9wFBMv51ZmQm965xNjJJNmvRKRu1enSZtf0E
cYraK6eZYYtel/2A5haGx0CEak21W7y4f/KE2fMoTaRaQ72pgoS6HY57tloqHeBUaq7MqqPSi++6
1Zh+lz2f5vcpz6OB/8zkHmap9HtSYHStHbKRTpv7PRl3o7+hiBOJosmjhPO2356EMy2mTartQFVi
08nA3aWu7siRZ6k4J5lKTY2tOfT7N26flUfpDNjpxYzyG2H66oH2KIg0KeRE+5SzZ61YK75PfqS8
QKWxnV171Rr2QoUp27Ap7eYVVZQljOrNLXMtLOr1VbsbVWq1RtHNXdJFraoRnDFoMu0y0azhMun1
WuvrAJTWYaUShGFQqbTXly4+/0Rr7RIRHTp06NChQ408IdVpBMgh3Fw5DofEpdlsvulNb3r22Wc3
Ny5k6caBE7fbULVj8WFqtQAkzEQQpQYmM0zs/iR18mD1w+++7TPfvnJ1ba3ledVqNQzDIByscook
SWKM8QfjowxvUSGXk0okg3fHLsBpLpDbY8wXEoDj7VZW10TE2MwDpVnq68DYzIr1dGCtUaRYWJH2
tM/CbvmCC+A+JmQXALKxsbmxsbmysmIyM4LOR3JY83fK0L3YqNxbgWil3vu2t3zl0ceXV1cBu8sa
qKWDzUQMUaW+0Fg8vBhU9ii5K0Vv42rj0K3CqsDuFqQBAYPV8TP3BJX6+T/t7j+l4lgWFlXPwAoy
i0pA/UzcIO8KbyuVO4kFIe0/qNdXbdLmqKkAaJ9q+3QWixeGpDV12yx6qAvXBE/BSl77UwRMABBV
aIYnoNYUDaofS0navv3iUQphNDTWcNmlezpNhYxBqcl0e6Es54GXSxCQyWhirqETQCtCp80ClMdG
X+UqwLyrIFLkaVSqSivpTfHMLyebFuPYxJuoWlOtTVsc1F6BO1GevmASDraVni6H0ggq5JAxaEi4
soVw7iYpMhwHdThqPTmh/2StDCcDBFdZghSRyh/tavCc9vypcpoi2OamjTvq2idGGConXJkI3J2n
UBBSra6SROJtns0uZZOU+B4FAZVRMhGqlRyOO3zjWHalSHvkRvLcMy4Tp6F3X3SGqtobScKuNZT2
JAhJBN2S05H7+tiCVZnBuoE8xdxjcdvz2Jm9GDthMqAUFCGzOez2/Tyl1TnDeBray90bRXLvF6Vg
Gcz5PMHzUK3kV4sImBFMeYZaC2PH1ThEqITo9mHsK5ai6n7uxraMgkqV0pRaWzw3yRw9CKnXZSdO
CEIKQp3E0utypy1hpPwgX7VKE1FExkilqpyte5aKm5vVG8MSp3EsWk/OsxSBKxc19mmlSnGfkuSV
Ae6uD9tJ915XdqOBLMd2MxkX2QBPmYT96mRljvJ2dmovot/lLBXn7+RiBm20y6AR4D6dblc0bQPl
kR8qpQmOaN+FBibLRFl4PoVVzVayZGotJ/f+VLWMgC2KRcub95Ypt2wEe1/VGwYpzC2ojfUptjiD
CCOqT09G2k0YHnlUTYlZH3u+P3/gAIh83wdRv7N+4amvdreWARw/fvzgwYOF7rykJ4GDBQVQVg7n
AFGl8qY3vWlpaen555+/dP471bn5C3rhjkrqUh1AYoXAkpvMlLC7kLplX+XnfvCOpy9tPfLd5fVW
CwAR+b5PRMYYO9A4Dq1XytQ7hNz6EWGgGB9B8LvB7mOoPf+DmYC19XVhWLaKOM0Sy8bTvrGZU8gI
xPN8YzNPe4BYtiJibQ7cC6wtLFtbWysrK512p9fvYxKVXubUB++MrgC4H1yGXNFQf0N45713n33i
mYtXlkU4io7PPl4X1naN2TSmo5S+7TVvqs8t7uZbMyLttYUtKUzA7sLVxuLpt//wd7/4n174anby
7R4RPIXEAAStUKup9TVbqerV6/m8d25BuzGfFOb36ZVrJqgNlcN+RB4Az0OloQrBlGsUjnQfzIO0
T55H7gFcrVGvO47dPY9qZbRaGk0m3qNRROmA8rQZMFXiNSFsqc5CNGF9CRgF7kVUa4rUiFMHACLU
m8oJJ6p1VbYLz+sPluzYnTdCoAAgjEig+v2R1pRCtfQA5pJQfqI4RSlEFeUqSO9+nXGkBQ9snUpb
ZhPVbh3AZUZmqYgdX5Atn8k4EaXhT28wMxInMvyKFNmTg5FOOc4eXrCrNDtTqkV6AxFE1O9NPYcu
G7Va08ZgO2ovQgRpJmkmnpc/OLVGrapcpmmaiaNpowqtr1pAPE95PjWaKklkfc1iMEUMQsq9lTBO
jBGhUiVmdHvMO5WJ7A/WiMKIPJ+2GyjMvmJEJmNf5x6TZhACEfSoasgh9cIrhghhABFYC8tIknyn
vTjfPk5y9bzvQY/S5K7S01jtJFeXTQRZisCfkG5RgP49xYzt2QrR5OuqOafWV22nzWFdaRq5SaMo
11/VmwOblwqFFW2MJH2JY3ZXrNsGQL/H/V5e86E6isIdhVwdTUCXwTjZ3WKlx32x8j1GtFdUPSO2
ax2t3VXm0q4az8SmxeMWJhb/lZhvmEzivjh2xtyo51U5ytfnDEEgqQmK/wKyO2XRnkoyMUuaiNak
vVnwXQYPmqntWBlOnF5R0j3lm80t8Xxqzumtzamn1fOpeXOoHa40++y5wZzKWrOuFe3nKuY07lx9
6Ttbqxd93z9y5Mjx48fL7islUEsiMhipcuqdXXnMAVx2iP+FF164fv36l7+z8aiv7zhUueNwbX8j
WKj7DAKzUlTm3UFMSmmiu2+df8PJhV5in7m49eJyp5sYgLQK7zjc+Mb566m1haK9kLCL5Ly/A7H5
ygBRGfaSezkFvI9C5vIH4nLMV9fWmVmEhdlYo5RiMUqRiGilBcJsfO1nOhWBZSskbqaRpmmv1+t2
uqtr666s0hBvF73bDt9HmPpx7cx2W8niM4G85fVntNbfv3QljjkMj09NwQGybCNNl0Uskao25o/e
/rpa82ZRu+sXM6t8Lj2C3RWBme++/ycvPv3N7/3ZxWNnEBxCoNAbJJaQgtZIYilWq9ISWaM1gpCS
jq2UShR7cPPX4d5H6gT5CkmWp/IIIWP4CkSoNVSWCVsICynyfOjSajPLELjPkM1FlVy7susitYM+
FlBYTS1qU/hRCvJuu6hUVRghS8UYIYLnkR/k17WVEa5diRQTEU2wAhksIGSCQBxPT0Go0iS3Edje
n0KHRzTVLjeMKIlRSMv2qhpS2t29YLvNkHF7DLC73akAKoB+X3Rt8to6M3r9HR5awrAMf3fmGG6s
wA0puV04x2W2I/lbLpyRke+T0rl2Zcdw81KtUa8pttLuiDXipE3uJ65UlcnEMvpbufGL71MYUTDd
VdqYnALJjKQDUUEBUrUe59S77bxl7dE00yHLZBOE4Z5VJVoDBmkC5cMwwlIZRV8jM0gylBPrieB5
QxMrZzsDIApLEprRPjhKfswlxkpeTphTV3Zqb93OG2FYpjHlfasj1SrCye5GE8qO5F0mVOdUb4tZ
iRdSqIeHozSiSMUxR9WRRFLPI6+R82/GyOa6BRCE5BzfJ2KpXlfchK14R4AkgwBJl5kxvzD5953N
5jIjSW+qUMb2hNobjnS0qazPOlDTuPk9Ra/DUeX/hWxlQHi6zI+G8xylSPukPUU6p0isldnYcVpY
K5ZFa9KawqoWhsnYGilSV/NffAZw3/svpiZM+SeEyCtQbCSMqDmvW5Owu9ZYWFR7qqg9EgIAdrpt
kYu0IzYGc+r5av7QvrWlKU7tItcuPrm69CyzPXz48OHDh10OKEZY9pE/mZ1/S44SxBWHG8Jn+EFw
1113nTx58urVq5ubm88sbT59uQPgxP7KyYPV1xxvNCveiGZmkKuqBGJRDfS9r1q879X7yCW/kiLg
+Suti6t9YZaBaocmwHeUCHg4Dh5Anqa3K3FZSZXu2H3hzVaL2YqAmYWFQCyilFYEw5mnfJCybAI/
jPtxp9Xrp70stq1Wu9vtDij3UcRe2tEYpT4jLXWI7sv/LR+YyNWVNaWUVsqYtsilKLplInZPkuUs
W1UqCoIDB47fvv/YTcnix8+fTMbuLleVSL3zJ3/pv378lx77t+be/8mrH6BAD8G251PZDGO73swk
YlJxsoV+m720xF5DkPaYPSoeMHFfslSCqnLYnQWphaegXOFJH9sHGBFkpXt2RrnQIKC4L8xl5dau
ojiqGTmpBLgCrnBilRJ2d0KdcHSPhlE+V1mP2Yg/n09HrJVei4Oq0gNYkDI8BY8Krc6EnpTP7Yz0
PkeEu3WAfHFtT+GKcez+KTLA7juusYqg1+d6bULXu/1dVbPaJdcODBd86SYe0EoRW2GWiQXb8wqU
mezy/DrUbo20WyyCSlUpjW6HkwTzCzoIYLK8IkEYURSRN8WQvggR5zw9cuKc17tTmBTBdgS1z+ao
LKMXI/AnkOtKTRWcWM5PNWdQ/khlXyIEHpIMmRkny11kZlggKc0Q+JMv7ySd4CjvprKcgRSgJ1dW
dtBk4n3AnJvk6G22VSLo9iRNUauOzzZzy6ySxmD4LUAUhQ0VtxhQOhqZD1RrKkm40+L5xQnXpUuJ
yV+n0utyZZI+pN/L6fYRrpdz1G5TiZqKgYkXfpZiYtElEcSJ9PuildxMFm+2t1KDUyPp8Jh0WwRJ
R6K5G6mONBZORD5RZXQzsSMC1h4prYrBRHjPLPvkEFgrbEVp0or8UPnhQK+4C3x9AxL/yINhZHbn
uYaRydfh3nZXIZONm8w4Ic2NoPbRTs9ell7/Hp/7Q8k6OHTi1QeP36o9P+0nrbXW2GZxd+PS977R
76zX6/Vbb721Wq1uN2NxZHq5CumobAaOhpcBki4+rlQqt99+OwBjTLvdXltbW1pauri69o3nNm49
ULnvzvlbD1QYigiKiZUQM5xLDUOUqxzjBOwWpO46PvfitXav16tWqw6nywCTjva56CcG4LjA9DNu
nBEQjdLVJcztVvv8+ee8UHk6aDRqFa9GSrFlp7zv9bpK6cyYTqd97nvnTGqVRzbj0VbLVPpwV2W7
GfeihM5RsOqjrYxDfWZZXl2/dGV5s9XpxwkAk9l+NzVp58CRhagyXvGUOcmyVc9rhuExItXb6uPY
9BNzAyEspGZg94XDt933oZ//5qc/9q1/lb3v14M0FgTk1rjcIFP8DMaAbS7qM5k4fWDSZWd3Qwpe
8Ts5zRZbpCyeD98na+BkFZ7KcxAxILAVoCdRyHbUTXIGanfh+5QkuzKrGTk/gz7PriPoKfBgqLIC
YXjb+izbHDAB+BrGwdZubq/e6zg+XDRRMW47rO+pCRSFFdjSOobaKWG/AO43FkrTbKtg7QToyMnO
HLvHO8/ErUUcSzSqvO/Hu/MX8oa++IrgaTBjR6Jqz/OWUviDTN+bD4fa01S6bXZiKgevnWy93xNH
VYYRVaoTHLIld4sXNytzoG1AzQwjDCkKqUg5EEGWSppKOrgYwoiqsw0BBx+lGYxFNOq5rgdi9Km0
ogcYcDYuaPM9GIskg9bDJSDLsAbGQpzEKwBLbgLjlPTljTMDy0Mrm9KpAacg5cr9Tu6Y4/K35+k6
v/lpoX2yRjIjW22pVSkopTqEIXU7iGOp1qcs0HkU1FTWYwWEpcUNpVGtqW6Hu51hpQW2SBJOYrFG
iFCrKz+gbod7Xe73OKqoIBy6sxsjvQ573jYljAxR+zRa2mUT1bdJ841Bp5t7/U77ZSdmOW9/c2K2
0o4hdmSCnXTYJBNQMBuJtziaG52x3BDwzSunTtF97T5GgOP0jqjBEjaY2IJFhHdHXDqbqZDSmHc0
5nJZPURQeV4Q0Ss9OSnCPacSuwP1bsszyJsYShsNJRb9QQ4YKSwsKG9Kca7dh4yqcMvvA7j0FX7x
sxJE1Ve/4Z7qQP9QnauPAfe1a88vXXjM0/rW227bv28flRTkmERPj73vhlOl3GA+IWNVBmv1nuct
LCwsLi6+6lWv3traunTp4sX19Re+trRYD97zmn2vPlKHVsSkSFhZglKkiIWJSEHBEej8rrsOPP7i
+tL6ZpZljUZDKQURVgrb2PdS94qrSEr/nX5Wpfx6+EeaZdeWl0kJW6pUQ5MIEdiy0prZEilhBsFV
d0ptqrQW5qGyZYw/L8B6AcTH0fmYWGYSLw90e/2tVvfS1eXrqxvuE5PaJM6S3tABauXK88dOvnHM
TzrL1gAKwsNu4rPLqqi7DOfMQ8yipmL3eGv123/278IG7v2bXrvDSSq9PvYvKgBaCwCt86Qaa2T1
utTqxIJeO4eSNhWTkBeSFwwyrxXlJuVRheJY+j3xmrktcRDmiXoZD+95p1J1Xyx8V8YueD0J0Y6F
P9OjZnaMlb+e3L4a5pWyIBO4YmbOppq39ZkAX0M5u4kt65Sp1sJaURqOTqMS0HfLC9ngPDgrkvHy
y4QdXUGdrO4GqJT86z6JTJbwagVPDXwAS0MeKfghpbuYLSSpeD4V2kdjkcwsJlq075WEH85bUyto
gIvsolIo99xSs+xudozZKMRh+m3geUIQoVYdovaoopK+iCCMqNFQnY5Yw9qjWo0KRzOTSafDbu00
isi5wsPxjrEoLZUqjRnDBwG5io9ssbE+8pB3jYbRDhWakGcnQ9gxdojTEezue8gM0myCHbtWyJ0w
PJD9f6p7s55Lsuw6bO0zxHCnb8ihsqqyurqq2U02W23SlAVSgAQTkA2/CvCLDRgwIMA/w+/+AR6e
7Ac/WDJg0oZs0zYpekCrxXlo9aRiV3fXkFlVOXzDnWI6w/bDiYgbN27c4ctK2uImOyvzRsSJE9M5
6+y99tqoKkDXwMi62hHuUINy7lR7DVrsYU8R2nH1WWBqsjuCR58AwNg6zxWhvo/ZoHY5pOYfCDY9
rjwzyqqhLhCEAvn+c4xi8pqCnOhqzZMxWuwuJHREeebTkey9YIQ6g0XFJJQoFx4eoa6FdygKH25y
nnnnODCbw6srFQWxyNDPs3NpDOeZD0x3AEpRyB0M32a2ZikQclW9w/LWe0Z6JknWfdi14LPsse/K
qlYxD9kjWhOGRAYHx8YvU4e1a86yCi4iRrlybv+AELB7PKGwOGkZcXc1U9WiPXHcnzLuVKZq6+wH
6Si7VQxPsSip5XGTsTAlmxMaYYZzjFBxEjUCPODfeIUIxnrJozGRQKJQuUNCigw4d2f510GbnQsA
IQfsbKd42avZLmpvb1N5wx/9Lo9nl+/98m+oaDPeTc4nOo5MWYeWXn72489+9qfj8firX/1qHMc7
SZ9bOFhrrZSKotg5V1Wlc651vTc0GexmrCL4y1sKCzMRzs7Ozs6+ba397LOnH3/88W//0efvPkh/
85cfPL6XepAIOu+ACM/ewxNI1HDlH/077//2H3z6w0/nRVFMJpPRaIRm1d7yZ9qeA/tA/LANLkeD
VEVelN57QcTsXKBzMVrUjvrS4b1TUnrvmUXguHfAd18Lst2yAesBhrXQvo/W6z9vF6sXV7dXN/OX
N/Pwa5kbW7kyH1Bsda66efHxvTfe7/7ofRWn0/tvPQIwmo2T8ZH6XHc1DhwoP+x3L9Y3/+y//k+Z
sn/rH6nJI1osW5EcADAVK02TiWgLmTnLi9ud6zIsIxISCqjrNgWLEzKGncNq6YOgbKtzokXtnO42
5js4tfuCqKaKMjOcg1TDw41stEdewQ4EiF1I15UgQiRhO0uOsMao/7ndJdlB2CFnNM981qj1tUIx
kiC22wTgAzbd+QREp03nmGivaKNUr+4tJsJu4aFQ7bVHL97aQUJFtK9qYNfy3E/GIiwt9gnpbHcI
ekcep012lAQpYXtCvEOH3NVcI8jQ+z3MGQHWqxPu8ygl9pytPBFmZ6Is2Zg6DTdrytSPOgwi7xHo
NGHl1tUq1ZqihKKYnENP0aiq2DmejoWQ0LoP67U+jtpbIwkS8LYWUG91HomgJKyDc31vKwGxrCVf
hYKzdUJqrFF06BPh+xWiziIVov8hE0ErhILc1sP7JnecwFw7yIMkpTGwDpGGVDWsH1zYVwbMfYLN
poaUBIm9kEtIxKmoch/UvtV087mNxjS/4Wztd+9qJGr1W6VodE8t5m5+4yYzURbcpYCHzMI4EVJB
R6RUf0jTmvSZZNQpNK2mIUBVyQEIxqmsSl4uvI5oNhNhwhpcwJgmKbP74CqDgNqFQBTWDCcv9/WQ
LPqrmTOsYrIlV9nxukLecjFnnQqV0gGIf9hapak0fXVfT89ebd7Z25pElG75+HRMUlGZ+zutVbhD
LBg+0d27vV76sqDZOSlNWjaz9p6TuNfBlgk2nYmidElMd1VL22fdKWwzhzMDWH7mvcPlo692UXuw
8fnk9tk1gOsvfvLZz/9sMpm89957qgEQu7BPShnHsZRK1ql7LKUcjcbO2bIoXOPDaFzvqDuyk7GK
zjIgDBZKqXfffffx48dPnz798MMP//F3n/z9b977ja9feAhyEMJ7IhKCuIa0YSobReo/+s33fvzp
/J/+ydPb+Xy5XCqlNjAd8M75IAwHCCGklIGrpP8AACAASURBVKE4ahzHSZLoQb7jjvXxsvdZlrP3
LIiZjbVEgtm3qJ3ZASSE9N5JKcNb7kKYaaPc2PGvNxs63vdBlL7ZkT0/v7p5+uzlap0v1xkAMDmn
14uFKQ9WWABWyxeT2YM4nXYvUcfR5Zv3Trkbr2RcY3f0sbtx1Xf+u/9s+fKzb/2HdO9rBMZ0TIXa
ZGR5DzCSEeUZ7boMGNCJiMeCRP3eq3gH/qYjsVrWehc9yqYgRLKWidx3zwIso6Y3q4VnBolauaVn
ofG7siNUp/bqruUZlyUTkKQUp0RAJPocnoE+i776TZxQVdY1m6J4KzuNGpnIVjFz14jqZIBg2bou
dD8ai8GE2tc8ixCi7dG3q2/TmtI12jts3qOqOEmorPjoztgTDOnNByEOYO7IkjpgZc4hLXUw8hBF
VFVcVRxHR4B7HJGSdHvjmDE7E1JRKkNCEtarDW2me0ieDTD+paLJhKSiAGGzbKOTHToDwDms1n46
FemYzPby2louC+6luh5iKBFIgl2t/dIuxSMN51FWSJMdzN3JHVcKUqKsaq2YSNcajtbVVPWjg39A
8AG4EyGJ61e6KOE98mLrx30kOudhLJTc8vlZV1Pqa9R+rBtRKgJaygseN+k6WlMUU55zlAwIhspm
FUES55dyvfK3144IOqKzcwnAWp7fOO85GQ2UUO13IKYoppXzBjye1mWbsjVnK7+49YHvnh6sOseM
5dwTocuTYW5Qu6T4BMGW3mpwPHRGKY+UKR02z/mtc5Ybh+MRY0aVeVPs1RI4au1AKgSShLrCUF9m
NfLl+ffBVEQqHnDKCFm73k/xj5xoJ7J9emYN31zx5QOSgiKBYr/mypfn8LdGAum2j+NL2hbw2FCi
AWD+CQBMLx6WWemsDbIZyTgVUlw+urx9dj1/+fGTD/8wTdOvfe1rVGsndoE1EVEURTqKQnnUbQoN
M7OUajyeWGfzPN92vR/KWBUdFz4RmEkI+e6777711lt/+qd/+vvff1FZ//e/eU8QeU9ETPCCBAgt
bYbABPrmO2e//JWzD54u/+CDlz/9YllZD0BJcTGOziejSaK1Esycle52XT67LazzWZaFmxNFUZIk
SZK0Cbg962Lo4G73zlnn8qJI05gB9t45K6UKuXEBrDPDeyeElCJ43NlvqDKbFjcIuysoww1M765U
mRmoKvPZs5dPn72cL9fNz8K7mF0UCtHGSWSr58yHhIPYu5urT99465faz/J4Vt+XMaI6zdh7EgLb
nJk//h//i5effPCtfyguv7F5Y5N4Q541FU8mAh6zM/nyhW2eRGgYozNZey6aYwe81kFs2FoWYjgK
GWAuM3q3QaCmi7RmTPvkYKq9IuWva/QM1vpjrEW79A7LiX6fqabN7LO2ZtMw1A4SeG3YIUz8zabe
lNauoqqKD8xeryUBi9BH7RiqiVufMTqJMFOUrBSdUliRBOQQyOMdyQJJgIB5pa9ptWKlfRyT0uQ9
qsY5um+S0LGoKlfmfnom28K9A50nJDEtmmzU1cprTeOJEBLrpSdRQ/ls7Z2FZzjLUUR2Z66Lk40O
jHNYrzcLnsBrd67OEwie+CiiJKWuq54Z66VfL6E1SQ1mGMORpgO0q7AcZw9jIJtXnwixRlmhrAYI
MzvXDmNQWVhXpyUoVddUqirsL8u9saIEsAHorQSEHsqd7RkzyrJWn+xacNufTqMKgNsUXFWcdkoO
TWfi9totbv3ZxRHwPZ6IOKHl3FtTp5wqRWcXcn7j5tfu8sGOs33H1ktf5D5Ja9TuHRrvOy7uyUPF
gwEAq6V3DrOLLb9JUdZOvuiEQtE9S/eUXtIRuWPyUJtGRiJ8cSSQrfx6dTeIV0sBnoUio1jcnvrl
k9hKZwpO93b+O5gCMmDdlI8vr4NOou9o7+9AiBJS+s6u933Wzby/E7uSHZY3/vyeFB2B4107RX/m
dJtMvoSMTMcYHRpqB7K3buf8BRHJT374KQAV6Ys3Lmb368xoIUU85k/+xXfjOP7Wt74FwBjTVC4S
UkqlVMDrYX/flCMNQWbm2rfI7EEkpZpNp5UxZVlyh6i9S5vZ1Fjdps0Aod6F/vVf//U///M//86P
r779zvR8EhGBOJQ1CpR3Iga7TcYqmL7x1vSX3p6BiECguuXwX0FNJ5oE1adX2Q8+vvnZF8urZfFy
sVg0lWKllFprpbVWSjasxOCl3zjynQOwXK2jWAtB3vvKVKlUROS9k1J574QQgPDeS6mCY9A1YiMb
n3qPwb6B6VuSMassz/Li+cvbL15cG2sBMAuw8k57p3vuASHU9PzNbHVlquzAO1PmizybjyYXnZfo
r8tUPEJQlRG1UFCL3f/qu//TJ9//zlf/Hr33m2Ix9963uqKb77dOoSEIiclELOdNKRhF6YUg6kfh
BiYQ72tSgfdwdi+DkKgfUNsdPruu8UGKW8MWHT7FPjusotDCst3xfF90fp+13IaqPKRpIPZLPW72
aapY7/Osv4IQ5D7bZSg6v3c4FvIkrxs19ZWOThUHCi3ZHcFKKfrkq9OtLLi35BhPxS5lKFgcU56R
MVxVnKa0Wg3H2dKEioKd5TimIC5ZeVaa10sf1F1qah+RaRYcuyW9uuqN3qM9V1ALDbz2yVis1qHY
HKxFFGE8EVIOlMIxhk3jWVDpkcEnAJEAl9v3X8qa7F5WfUy8a0ICFoJQGlQGWg+fkJuPt/fmE8EH
woyvc0yDU+EU1N6C/u6XaxtppjvJDUlFVnBYw8SdNcz0TMxv/XLuzy+Hq6W2Fr53KckYzl/aOK4D
ZXJnBPGNX6S7oQUrVclFzu0Ako7oaJmC5cIXOacj6lLSmev6A3q/3mjPpIQxdd+SPU6T0VgU+aku
97iTdDuaiLLk00spkcC0kcPX0RH9pZ71tFDD5bQFNO48bHbyL6U6iSu4z3RMamfAYQ9vIdTWOlNI
pJPa9f7KuUxAXXq2c7KTj2QgvI0ZJyM6ANwBFLZOUXtlpYDGkfWlcpbaiwsC066lUfDOHkBxzUSK
BJ0/vLh88173I7Gm+tEf/q9S0Ne//nWtNTMbYwITRmslRD0UBK30LtEFjbu9cavXINSDtNaR1sbY
siq994O0mTBlDtFmggsfRPTNb37zu9/97l9+tPjNb10yCKBAmyHhazTeut4JREGTEURhfCdwW4Sp
brhePhAAPL43fnxvHK7uZlX+5LPF9bIsjHt6nX1+nS+Wy917LhpLZ7N709lynZ2dTaIocs4HTfew
T3C0N9gdQdw9KL77xpeOLaDeIcc0f19n+YvreVGWL67n66YsiJRjJWdFXrI/PGfQaHLfVFmR3Xo/
7Hpn9sv583R8dkDW/SQjSs8eqCi1xTpfvBzcRcVpwHA97P7R97/zg//zv7//dXzrH0owtKKq4Hjb
87IRsGaAkI5puWT2EIrSs7BkDJfTOd1uD4K8SZhuy5JHX8IHLCVGEwoqbIMBzQBcXiFtRSnaV4xj
PKHgt3vlsGwwa9maes1dlZyOvlRkYDKTVckHeuUdv5b0HeysWHi/uz2YiskdUzePIxICcXTE6b6P
qdKacf06mqcsBnYtTeFZmE7NpuALPHDIaCxWS7deuvNLNRqJ9bp/U4SAkrRaOCFCrS4QieD5JsJ0
dqrrqKsfEhjbwZhrTlsY5acB+nTY50lKUSSzzO+LgUQRmXK7z8ygThwpDNncV4GMInBTv+Ywdndh
Hw0Azm/6TwTnIQhEYKBs8LQUiBpJHM+QohYXD7T4OnXVHFmXBtQeqPC9ZWdNktn+URBEqADcMQl2
nV+UJlNyWXEX/oZqWYu5v37pzi7Egfpi3sE5Hk9EqIeaZ34x96EnVcFS18i+alI1CEgaLXxTcUhc
K3JfFkhScXlfksDVcxcqqu69EQ1qT1LqicmEB0HUr1oq9n887Tig9+fxS4nZuVgv/SlL917PZ+fy
5sWpJZEmU9GbAuLkuJSW0hTHFKIWW8fGx4H7lkBKx5g3b8mr1XpDkI5JBvCAt+BQpsCABMR27FHH
FF7LVxPzwXaZi33+e+dpq44Sb42xRe6Tkaw/5D29cLxx5QQEP5iGccDoLmuKfRbAeqvPttXbzqDq
DX/wW7x+jtnFxTvf+KqO+wHfP/u9317Pb77xjW+Mx+MAb1v9R6DlwyBkUKIRbKn1YcJO1A6D1LjU
BQNaKx1p55y1lpm11lVVeu9b2kyg4IiGNkMtZm9oM2k6Go1Gn93kznOtbwEviNgH97sjiJqJEzB6
w5yp921AeuOp4eCAFwHOc51rRETn4/jvfONB+xCJkJXuxTyvLDOwyKrbVXW7rhZZNc+qVW5LUwBY
Z7m1Nk4iZ50xBimEkOxd8LsH7A5ASgUwe/bsvWtUP7rcGzADxtibxermdrlYrYuyyvJ6MvNOsotk
VEXRgyh6yOzL/FnI1z5sOhopnZoqK7KbQSZMVS7zbDEan4eO9BwGQmqhtHfW232yuJSeP0gvHuko
DUs3W+WmWA/0JBkzPHl0sfvVpx/8y9/9b5Nz/2v/cS1fHEW0WvqeSEBZsFbEbjOhxZEoCp+MBfZ8
5n3gHiLyAEZjka28Nez9l0ppquXe93z0pmIh+pj+lA8+ipGtebCgL9EhfffTLZBbQlqhNVwWnHyJ
QoCN3PuwOcfe9zH9Kw98LZcaQUvnmEubCFLViG3fDoHVHUdUHvQYyWNrj1AKoMvkeTX/k/eUjOhO
DzqKKJDLF3M3nck0pV7V2ySmgOaTVBQFRxG0plBeZ3a2laFxYAkXMk0HNzHDOSiFm5dOa0rHFMdt
fHVz+GQqeAJnObhL2XPtah1q1jGpZlZo+8YM59GbvgJetxbe973aXQskmbA1YOhQEtV52GoTNWpP
ZwFPtdoDEaREFKGq6rxYAErCmDrDddBCNVYQ4qgfTOMGQHQREgGKYLxQYuvxGQMdbxi6QhFKDpmy
3YuNYjq7EItbP7/x05nYJ7QS9GTiWADQmsLCdjqT1nJReLNgEKTcgm4l4GwtDac0pWNRFewchwoA
AJSiquTxdOh8ADPmt95UnKTUOqc3V1dxuKjutWiBosC+hUA7rh4ewOOY4lje3nhz0Pc8mfZbqYYk
IPdZVXLvax1NqKqO8E5n53Kw83X076C7nfcVk+5W9b771CYU6XgobMJwZmvUZg9XQujtt1cgSkk5
MuWrSMKLbUS+a8zwltGOFQwAs3Mxv95ECIOzQBK6y4duY91b5lyNKKToqx0cMN47559wLMP4Td/6
E8T27/kL/+N/guwF3vjKL7751V/ebe2v/uyfP/3wh2+++eb5+Tm6fOsOiz3A97DYDt517urD1DvX
vuLG9e4B8iACB7INAAJFOrLOlmXhnGtd74czVuM4rmy2WJVJrGKthGAPQYAHBdd74N8LImIKzBkK
AD2MbBwQv2AGBXDP8MSCidA44bldS7W1mZBE8isPaknE7WmIABjH//mfVt//4Kc/+ejTyXgUR/qn
H312/979UZqO0iRN0kbSBgCts9WLq1ulVZ7lzntmNsZWxpSlycsyK8osKyqzQRjeSTA5G3ujvavf
6Vj4Ci+VOhciGk0u1surU4JTRBTF4ygeG5NXxcrZrQo1zlamzDEOj96LTsQ/Gp8nZw/DvQVQrm5N
vvS28t4KoYSOdDpNL96QQoHIsxcQjL0hJJWMwczkiRHoQ6ZY/ck//S8h87/znwiVoEkdrueITv9R
FP4sFO9rPhspoZNGJrh94TvfaB+4B1a6UqQUdESmYmt4Nzr8usza/mgeFNB752Og8rVjL1go3hRg
0F+HBS87gDgRzrI1XFU+Gf21VO8DYCooTT02TmX7+bInWiCfUEMrB44PolIdUoLXDVwgglZU7YmP
kzhpIvSM0tag8FXrD6KqOBnd+ZDwwTjL66WbnkkpaN3klYZRu6pYazIVG8OAcNYzYzQW7fQfiGS7
hc1a68FrrVA23hrZKRRqDJtbHk/FIIchIL+ggp9nCN/uvniCtVDRJlUgsGUGc4iDP7s0yMtaCqZn
xoAZrccqeHkDYb3d1/stZVgASiAKYeK2g4zK1jmyAc0bu6XyXu/FqAysBYkNLb5rm6voXLqSKMuB
T6MsOU42ZRaI6lthd8pIaU1nF2K14OXclzFNJn2OsrWcZ15HNT4zhk3Fo7GI003hNu9gHXczNIKO
UzczO0lw/dJmaz+ZCQDpiJYLztYDcvJFzqulZ8Z4IvqK7wBabfvOIxMEU7FzvK90aiM1vXcl2bV0
RAeA+3QmdxfJu7SuA1YW/SJKStH5pVjc7HX2p+O+k75rSpGxLA+SOVzlpRr0um/eKBWRsyflrUlN
KhpmOrHd6/+uXe+qvz6PR+QdWXMHupFUdNTj7m2nwFzTcKjo3OZZmYplSmILFYT9+z3ZRAtDnoaD
Og2+v5rHvYbs/Vja9nKo436//oA/+C34Srzz9V+99+a7uw0ur1/8+I9+P03Tx48f74HsOz1vhmvf
0mYa13vHXd79e/Bpc0gsBUNKOR5PnHNVVRljgCMZq1rrqxsTRaoobV6Y82lCFBYPFFzvghjEjkg0
zBkGsQARiJmIQlXTxgnUDFAAwg4c4gdhe/Pq11e/wfHho2j/pQR+/W2ZGyxKs8huX9ziyefPT3qK
O8ZOeC/Yx8zETnireKgKYpWnyXRpzFUcv6mjJBnN8vX89LNonWqdMrOtMuets6WzFbO3pnTOSKmZ
nSmdrayKFAAigc5SKp5exNPLGseHeIYgEiJAdgAe3pWFyVeDZxcqYvYEwfAEAOLPf+e/Kda33/wP
eHyfQoXm4FGNYhS5bxM+rQV7Du9I+9lYwyoVg4Jd7FHlOyyiEDHQUbgRMNWhpFLv4T0HDfJXs/Gk
LzVjd1B73d2d1MbpwXKSRy2oMu9jrgfhESlJCIiIiOrQ+eAahjlIPQ7wX0+0OKFk+yYOklu8Q2VY
x8cpW4NVKg6YkIfGYtXBPVG0F7gfdbe3xsfYO12zFcNx3AvLcJ3TeUoL3mO9dMYwCERQiuK0phgo
VStvhLJKACYT0XrCAo5PUmJGkXMQcDx8rh6SkBKTCVUVgJpn3C3Lsl56gogPxg2OcnCdh9pxlzEP
s1OUghCoDCrT6LeouiK6tbB2s7pghnHQqt+IENCEsrkK6qhIdc9iLIyFjAAg0ihKFCUiXYu0Og9r
a+FIpRBFw69f7cjvxTr21zwvC9bxBrsLQc7DuQFJHKXo7IKytS8yvi5dklCU1JjMWayWDsC08TGX
OROhR9gQErEk36mOHAcN3G18lqSiyHk8BRHilIqCspUHRJLWSRRlyUXmgxN0OhODRBrXnKWLGiUh
K/gAcL2TUyOO6eKeyHMuO3XZpISOaDQWuyObqZj3jNX7rCr7XVKKLu7LIueyaKUzQQQdUzqiw5yi
tocHLCDy3dGS/SZlQsfQMbGHd/Cevaul94MJCRKQioTCsByHq7kxB4w9nIGQ/TwNIRFJ4pi8ZWfh
3QCYFJKkgpA7CwYehsam9LWUamdrWWI83QD3EP0QbTWk7lm5d2jfgoyvFjvFSTYhv1cMFlsPs//T
7vDaAwsDT/8Ff/J/ga2ezN6/fPSVwaP+6Hf+iXfunfff78q0H/TjEjMLEegw1KJtNK536rjew8I4
hNiYm/xRAjExsxQyTdM4isuyNNa0Gauiddc3LY/H4+fPn//eZ6NvXvp3x5VxvF4XaaLTRHuAwB6C
GFTXaSJCF74TgZ3zX9wWLxblIjOV9bES92bJV9+YnI8i3sSHg5O+A+KBxkXf3tvAqLTMkFL8xpsS
gGder9bT6eQHL93vf+Sc0bbcYlsmo1EyGu+OBUSSSLEnU1VlllVFcTi8zk64SgM3UfSQSCbplL0v
8h0iPpHWsY5SKRURCaFC3r33znsHZmuqqsyc69TqY2a2ANuKP//ZZ4+/8Q4JMsUqnlwEyhOamEO9
Kgv/82B4EsLDCxYAsuvPB19uItG8VTV2v/3sZ89++pdv/QbOvyYWt2523lAaG7ZMFNWZFXnm00R0
W7WGK8PpaOBuecP5wnvHO8Ddbjw0ShMwEGuum/BYLVzYFCfi1YRae5jgcD673wbur7xacI7zjAM0
D5Uvd/cJ96HlruiIqpKtGZ4nsnUdZdbRcB3NozZwe/ePX7Zk/Tq4QD1Te8qOBi/7Zje5lxz5ulSi
u+YsnBkuCFLmJwF3Z3kxd8wQktKRiBOqKrZ2U9UvmFbIVqwjEgJC0DSi2xsHIMh+E8H7YdQefGBt
vMK1AkPtDhJpivbHHr11vfI6kqdEKpqRf+gaHaTs6LgRwPA8HLERAkkM62BtDa9b02ojoB7ewEF/
ZSsLS0HWc2cHIgi58ZeHMxYlym0moZTQGnK/LnvdQtfdLlCVwzsDqAwnKbUe3IDYjOVk6AREmEzE
KEW29mXJXYVBpWky27jhy9LH8bB4SSJrtDFYQRlAFFORszU1tX12LpZzn6191uFJBsh+gPcVnlFX
RJ+oKQW1c9Bi7q3zJBBFxKHW9mmmFE1nNO1XCseXYD0cNyKkI0q7LMTTz8aoSl/m9Tc1TgdiD6b0
UbqL3He6IUJ5uF30sf/kDLZ3AKneAb5eCWydgSAjkhEA6q4ZQsho79mHHB/ODIcOypJnM2pFCKzl
gOeoHVQGr2L/pRkH7xGpodvDNfn6DsY7JV13I7HNfWGGq/DT/5lffB9SjtLRu+f37w+uqX7w3X+2
uH7+6NEbcRzt969vNB/bfVqFR2Z00TZ3jsJQxioFtkpdBxsAhBSj0cg5l+e5866mzXRuORGNx2MA
10vzFzT98SL5N87zN0eoSmOsm45jEDE8ERETOVAgvjNdreyz2+JHny4++Hxp9rjB0kj+g19589fe
vzdOVIDoDc87rM/YWidICEHzxZKIlBSz6bQoSu/ZOz+bTYqyzLJ8Np08X/v/+2PnnajWdaRbx3Gc
psl4fNhxSxJxmsZpCqDM82Kdmarcpypty1hqWxRP0/QrANLxmdJxmS+dd4KEkCpOJ0r1k7SYPeCJ
SEkFEkrHyWjK7MtibU2ldCRV5NwKgBBxmRXXX1zde+u+t1W5uo0nF2jDIDiE3V22LvZlpibjoALZ
Yvcffed/0GN89R+QiqnMeH7rp7NQPb2WN3SOA16qCh7fo3Yoz9Y+zzmZiV2M5SzntzVBYGugCxi9
WywpKLQMMlJaHSRmFLmvKoyOKRxvPaFQi5Hq4ot3nRlqAXUGEfTJQDl0tZsRtTc7xwGdwHQgpzo3
jJzaRkzF1rg4OTQH7x5ruS5U2c3iP7A0ZcagG+mA2UY9jQSaBWrfhAKG6snvOtukHJBTFHLPJMeo
nUkAAKXpqBZe1/x+Ao8xbE0/o9c75GufpJtE1dXKMyNOxGgsGFiteZcUJGWtIiolbq5dkgop4R3i
jojebslGAONpTZJeLXyQlzHHAt89QgIzWirFYStyBg9X4XUOkUKXJRI87gcqqSgJJcFBzNRDiA21
fcv2vMjymECTFFtSRUJglMK5DUt+t5bTwHU11Pludw5/Gs5u3AxCHnI9NPtgMhMTwBj2DgC1iafd
ZvetrAhbFL6BHaj/z9m5sJZDEIYIOsJuLaeehTe2++FIQnYwTZw92oHusCjW30RzDqb0gX59ZE/j
fURi+2Vlv6EMvIJxEOm7Y8ABABjeAjQA34PR6VPhzsNnhtmTdRCyw4O6MbdjFLNAW7B10wgO3pj2
67MMbxAPYve73NrAnBzyGG2dr3VYZi/5r34b68+h9UUcvwnQaDbePfrq8yc//d4fpGl6dnbuPbey
62gw+iBk73eBEDJWN2j7cMZqcL03euzB9Q4RyDPjoigqU3U59AEvJkkCYPnMspFuRn98NZ5p97VJ
9d6kMtav1mUSqzTRJAQRZYX7wSeLD79Y//z5GoAQ4t69e6PRKIqi8WSSJImS0jmXZdlyuby6uvpf
/uTJH/6rF//ur775K+9dBNc6A8SoKrte53Gso1gvKvWJmVYOpUVx5VIVJ4reHGMCjuKIhMhZ/s7P
rPVUrcdElIzHyWikTpEH3raA4Jm5WK9NWZZ53tvBO2mrCLSsqmdR9AYAHSU6Spp3wDmXVdUcYO8r
7ytm01NzJxJEWohEiFhFaZLW5ZacKwBIOQJw88X1+cMLqWS5uo5GszaYxQf97ssXn+67Lp2MmT08
AnZfXT29fvrTN/42ZEwMRCNhK7564cYTkaYEYJTSaulnZ6LIWUf1iavKZ2tmQenZZuHXfS+LhfcN
t3gLQ3XewtqCNpzfcSICkJLaOjIIbISV15qS01zONZeD4QDn9vqrBq3ytW46DVFo9llZcpFvFcoh
QrLrjAnda6pshn+GJ7uv9lCS0spsxpci91WJZDRcaKln1te5UkEMXtLe2jRdC8CdQsp/cL/5Q4Uz
NomnHs5yqAC/6/gZdKXv+lyVxK6kjxh6Bs5t1gz1+eVe4j4BWja0DT5JTni98rPzOuRkqjrgHnXk
ZcqSQ4LaeCK8x3LtmQcmFa0pW3kha1kra9gaAFvsiN0stzjZCPa11+gdjBko8dNu3VXS2BWU7FqU
kGkEs4uC9cAktTPthRtiYSyEgBRQchgoE9WSEfuMPV4t08IOZaNKeVJYhoP6WwvKOm5mfwypWQsZ
NRKNjdzN7bxOgteKlB7uQ0PMGHhwgyvVE80PqeK0CQyHjRnOwbpWWHPTN+LjEq6trZfeGpqeHVE8
Z0ZRoqrYNuo8kUaS0CDlph5A7kLJkzuZx0XBZdmWb4fWiCLaKXzZt7Lk5dztqArtNVNwvJM24A0Q
XNon1wcAwK6ucfilrIXv4lAZ4MED2QcoObDRlo1OPA/00BjomHhdbzClV5qkAPxW+fP6PKdcILNn
lHuw+4nLor2ovdeHRlFw8Sn/1W9RtUCSvK3UOQCpZDpNe8c66/7l//O/OVs9euc9buyE7gBbOP4V
MlYb1zs6tckakk2apgw2IY+wk7EaxTEA5025EtVaRCPvL+gvjPzJMv7qpPqFCTlr88K8XLs/+vD2
58/X1rFS6p133rm8vJhMplvp20QA2CPMlgAAH45JREFUpFJRHF9cXLz77rsvXrz4yU9+8o+/89E/
//Hzf//vfuXRRQLAOVaKZmeTP3mGTxa4LjqyZCSY61d8GuGNMX3rnvqzZzwvYbKUvVBaTc7PT7yZ
++5wOpmkk4mztiqKbLmlaWXyhISr8NLalZQpkWT23lfMzvu804ggioDIVgJMYEitoyRmtsyVtUtg
DkCIOIoeKjVzbhEwfTj85our+48fAlyubpJpDe7rpw6gXdShxu7F4oWr+suM1lScAp4ZAbt/9pM/
Z/aP/x44RKUJSkHNRJFzvvaTiYhiWi29M1iv/MWFtAbLpfNM0ViQHMKZDFN4W3JYHmIwrak7TIeB
fl/aTToWgO/CDmPYzJ3WQkVQ255d72EMO4PRhHY/IutPlYw1eyTJjWFTQUf9TCxr2VZc7WihCIHx
dO8ao7fz4QlPKRqNRbd8pvfIVr7IESdC6S2nNTOsYWM4TvrZqAhV6/whOkrdH1G7+jaxEXFoItcJ
hShqaNI7VAVHO3JmQh7Sljlsuy5JW3K3NSEg5CHerWwKzQpCRDAHlyLB2MPZDfEpWDfsHlxQAX8X
5aHRmxlxRElCSgkCFgsfRZsX2Pu64n2XLdPmla5XvutozzPWZ8NvzHpZf0tak7WbmNUBrB8nZM0J
Zd65G34FN/8IquphoSVlXVPpFAt5pZWBPJj/MGhBuyY6qdJ20/0GpPpttkB3/pd0HK06B00bbfXA
I0dzH4xh5BACWiNJ6MCKpWtaU1F4Y44oOQ5e1GrppBz40g9YZWANG9vPVGk/MQKO5lr0rCzZXfvz
y73YPS84L/oQqjKoDEcag/Hw0UhkJ+enSomugE9V8Xq9mRyBkLWCqmJZYDweXi0AKHJezu9W69U7
NoXXyQBhJjjO0bxpRIDYUthooTB7nL5UOMkY3gGuocTsWT8ENFCD9Q1Xo7+bs0eKs1YV16VzmREy
2nVdlzA06zwswzXCBqeA9+A1Ky3incF/H/umd3gxiNob1N9628Mfz/6Cf/67xEYkyTtKNXIo2++l
s+72+e2nH3z/5vknFxcXWmsAzg1lD+z42u+asYrGYY8DGatCbCoOEdIkZWYbCgw1GatRJwWHGeVa
VLmIRp4v8IPb5OerSC+fPf3i+tm8BHB5efno0aOzszOl2uTCDeBsEgAYCIIyuHf//nQ2e/Lpp0+e
PPmv/ve/+rX3L/+9f/PNMi/G4/T/+EQ8XYFIRdG5lBMiQRQTCWbnfel9sTbXH96UH94wAFdFzmgA
1pj1fD4+Oxu8UXcyqVQ6mSTjsSnLYr1uHfAmG/moUknpfdHuLESk9aWUYyJJpIWIwpXOs5emLKVS
s4sHnWR2di73Pq+qF0XxqRCx92UcP2pby5f1uWyVMS6peezNrfQg0RmeOL89lJgrdMKeSXDwu3/x
0+9FM1YjOMMk6jpZAFRErDC/dZGmJKGr5yZJRZH59drrVGhN7Iepbs5yfuu8ZXb1InRgdNydGg84
JNKxUBEXme+CaWOCkl3ttGbmNuQd8vAGJ4/KD9T73OoG4PY7YoUg73m9YoCJIBWxG8zKBUIyaHqH
intHB7EoJqVlkfuqA7C8RyjniRq2UqsEFMUU0DztjHCOIfj4wKfvAqeErD3izPCuztnaxe4kThlv
h633krSoXSrIsIQ71tveibUA/CB5Z2PjqQgLofaXvvACA03Oxr6cWjQBljgmooDSGECUEOpATcOu
2b6Elt3ec6Jbw+uV71WNAbBe1vg+Tmg8FUXOLe5xO8onvcuME66qEAcYvgrvQS0vjiBUM9n4Zspn
OAfn6rJKRysiAXXJ1aJEHN2hzE0osyrEMD9+10Kppv6wUyeGbd1zQaiOYTZjedT5MEKR0cBt8I69
qxF8WaKsOI4wSo/n1o+nwhhe3LrRRAymxAz3pOLVwjPjFB4UGod30ckNrW+CCLnjm/REItj9H4ZU
m4K1XbOWV0u/KzRZVpzl7IMWwuDIbNgtebKj8ZKORZGzPyU0tq0lUFa8Xu//GB0WC45jpGl/ZWUt
h7zhXVOKQPvbNCwkH8ieD98IAyeIR79mCy8nOtne27AVODZ2escmP7KCCtpNLc29yL1zFGmqRZC4
Ib8RW97EgU/xUzsPs01YPX4UA0BhB2dz7v01tPbR7/Hnf0RCJGn6TgBt9XUZe/35VTodeetuX9zm
y8yU5cc/+q6U8vz8vP2WmnTQBo0dhOw7CL7NWEWt9hruWQDwaDNWw26HaDMkaDQaVVVVVWUg8PDO
2gOB57YSxdKzePHR/Kl3LkmSt99++/Hjx6pZ0Xpfq0kS1V1ue9s+hla15v3333/8+PEHH3zwBx+8
/JMPr/7tX7r8lW+8+XQFrS/j+M2qyPN1bqoSnoVSUZLoONHRpdaXzM6Ya+8rchMrs+Aaz5ZLZ+3k
4uJV8vl2jIiiJImShL1fL5ZlnnnnbBnbMkbt+6az+/ejJBk89vzBg/nLl1GSbA9PJOVIypHWl2X5
zPsiimZa32s3l3lZFVWURN5WzpRSxwewe7m82i/0DgBCCGaG9yRo/uLJ4sWTt/6uNxkTgQQ1ZbHq
1qVCUbgqAzPbktcLRGPhrQ9RuJ55B1t6UzA7ZsfecaixqrZPD9S+nLqBAInEQWe41qTPpDXsLDvX
z72zlpWmWEPqLV+4FAPKJ7tCkF0LhJD+j6h5MlJiMiXvKbje2TXyOp2rk5KUpuiE0oMhU9NUtY/N
NclhByxU7UlSBDFB77cSMMLqOmg+6ojahDw55Ck3DlIcgtCBUtK1Ex1wRDWS9g624rqIV0tFeNXP
sOdudwbOQsg7VHlEYCJtd0BLVJL2qR1rTTqinibdYJL00YCJs0yEsuT53E+nogylsiICoCT2CWUe
KCpUFszejxrRJGuQr7dQe/hL1khLHZ3qlCalCZ7NntRM7yFlfyIkwibhLngNHRioDJxDHB8BBEoC
ESqDvIBSUAeJLsx1rSVmSIl4j1BM75CygmsLT1BdGHLfe3hiuHvA9UAgBaEoaDR4W2d2lhUqw7PJ
kVIVRJieidXCr5e+zDkdiSg59GJXJeeZD2WYZufyFD99WXGWtWRFCAmpiHYkfYJJQrH/gx+Pxexc
mIrX6740e5GzkNx+rdbADvsi++YcFkt/NutXMzi7ELfX7mgL48lGLecwam+tLFGWrCRLtYHvReZ7
HikijMYiHQkilDsl1bpmCg+I05Wv/v+ykzkdtXnHVeaPHhXWckrVX4epuCp5DYAD6xU6oigiErUb
3jGqNl56rPHKQnYJM1v3ePjgqo2cD23v8WQA9hkAxMnbXdQe7PrzK3x+1f7zi49+4Fxx//79Gk6F
01UmiqKQwrhNlz0kMtPlwQegXHNjAGomqw1eJmCT2HqINhNFUaQjY4x11lq7m6nJ7KryeVF8xmwn
k8kbb7zx8OHDVv291zfuFNgi2oPgAa313/r2t2+urz/++OPf/+HVH/58lV4+fPD221dPn+TLxe61
j2Zn6XSaTmdR9AAAEqSTSb5e58slM5d5bo2ZnJ8P4ulXMxJicn42Ppvlq1WxXrsQl2ACsJ7PD5zo
7P790WyULbLBVruO9q5li3WURABsvpQq4s7Cv4fdy9XN4Z4HNZvwvJdXnwMQiZ0/9VKBgpQ2URDu
E41jsci9lrRa+3gibOG8g7fMjJbFzrxJ8GMGmNmDfaBZoQ/cRSh8WHIck6nYORCdFFtXmmpcPjgw
7vyoCKA+3HQMcbCc2671MlOFQBxTnHRPuT3DnjZua03WcJHXuY9l4XGaHLIQiBOq4eMJ5yJgsPr0
gYF415fJfAd1xWBSQUqqCq5KjhqwO4gSjOVekRqzA2S7t5gZtmKpoOK7MSwYML7/QGONfWvd0G2z
zSGRQ+9qyGEN7/auSYkyZ60pcCqcg7MbvZrgwh/E7mXB6YikIq1pNye1qri67kJICq2NGk988O6H
A73nIkcbrtm8Qieb89AbvYAhI5AEyZoe4DyKEumxUVcpSFmrrbd8G6KtV8U5eN6Azt06SoPGTbVU
NMD6FKB/kjELQfscwSQgI8iInEGoP79Y8WxCg29Oa0rR+aXMMl/mvFw4LKA0SbmVxmot+8ZzEfJn
xtOTwnrrNVcVA0QCKqKNPMCeY+kEypCO6DyWeeZXi60bka39q4FXZixXfrZ9ReG2LG79AerOZCZa
9lplTkLtrVkH6zbTqd/+ypSifRWaBi1g99dVoPpfBzsRtQcLw+AW6Y6BRmYtXwNBZm0slCYBxBKl
hcexD48AoHJbhBnG0EjU/OKwJWa1s1vnaIYgxALv/yY/+z6Z6oVM3jnQl9XN9fLmI631ZDrtOtet
tUopIfb6w14xY3Vb6B3YwtC16x2ips20rncwEUVRFCFiQs3wbk5Xlp+XxTPvy9Fo9M47Xzs/Pw/L
5bZjzU0ailY0NSk7zvi612HzxcXFxcXFixcvfvazn7188uni5W2k70Xxvd2W5lefXn2x0FE6Pn94
+eg9qSIh5Xg2S8fjbLnMVytn7fzly3g0ml5cvLoi+I4R0Wg6TcbjYr1ez2sdd2tMvlqlk8m+o+69
9eDikX/20ee2OpXs610b7q5C5GQQu1f50u3zlrVNVWUj4o4vfvo9Uqwm1ts6lWXL4w6QQDQSQtLy
1sYjYXJfZv6ACEeTpd3mZw9RZZIRZWsucq6a+lOvpvN4iikB7PCY93Vf0I43cZvk/XotiqnI4Rwv
5y4scaQ6SVf4FUwSsIPd/X4djF43mFHdEbXXRtAJVTl7d6hwUmAet0sF6wY9mh34Utao/RV6FD6l
LnZXao/8AiGOqerQ1pUmqfpVipQmYziEfSJNxRBTPGDHoNduLROQb1c7SlJaLwcOLHIfRUIqmszE
Yu4PVLAKJhXNzrdwj5C1kk+Rc/fdt4ad3UD8E82amphOokbSg+8FSYDqNLuqwlFtgIDFI11rwviG
jL65ClGnwO6WWDpgZVOHldSRul2C6v8/MQEjLzjSUBKBX7iPXyc1pKIqZ++xXPPZ7PjsMxqL0bgO
qRnD1m5VD5WShEQ6EjqiUxLTg1VVQO2QGjom0N71PhEE7nAfAKQjwd6vV53rZ0gB3p9qf8AC1WpA
i/2eLHJf5GwtxwkJSUUe6s7SaLIVwS4LvJppTabY6jEJnF/Ku47/pvDekd4j7vk3y2zlTXES7z48
fueQpCSktIarcpMXxMwtXilyLnIXxzQ9EyQQKxRmDwpvG2cAsIBsot9HiZ6V2+ywBUC7sKkm8HBM
YA89xuwdv/h0xWyJhhfZpixfPPnA2uzevXvB89ziaQBVVcVx3HSOW9f7MWX3nvUzVtvJL3Bx0LDf
uVtjlSj8TO3NCU57AjE1S09vqqs8/8T7ajQavfPOL543OaC7XnZsz7kH3PCDRJoHDx48ePDgiy++
ePLkyWr5EZYftZTZHsk6z7C4/ejzj/5Y6eTija9NL96enD2cnJ+PZrPVzU1VFGWWVXkxPpsd1YW8
kwkhRtNpnKbzFy+ccwDW87nSWsfDqevOudF09NW/9f7151eLl3N7aF1YmylruqF3JtzCQezuyr05
qa1ZW4KZ4QnixSf/avTIhtp/QFi11a6culmPYumTqRCChKR86Y5GtOrXpm6BaBe4a03pCEXO3kMQ
ovgOM9ArmBIQjG71QebhLNXeb5KGdfFelxFhMhPZqpbuVpp2Kcuv0SRBiL6UynDogrZy/izDmM3e
d6WcBfaOs9xqwrTJfF3LMp+mpCQ5z1l+8C1jeI/DFYUOHIiQRCi2uEBRRLt5V4GinWdeSCRJTV0o
c17c+Ml0Q3OPIsozFAUnKZKYvB9guoddpYK1LGXtkWrRifd7qTLMWMz97ExIRbMzEeTA911fy5Dp
tbDPipzjZKhg+36zHaZsQNJagqlOOOtaLbfiYCykOqQqsznklMjbyZ01pl7+0Z6FmWjlJhnew3mY
PWIau+YcchdK87EQpBSUIqngdlcyBJ1SlbH3yHMejU66AB3Va/jhve/y7nuPLAuonfQelpcMgRQP
a1BZdp5P15MBMJqIInddXqJWFIqzhsBLIPXVSp0E64bvsxDQaphTRIR0JNKg70wAMNl51YPFCVDQ
bsguWLvwC8tmKSEEtckYL7Zd9ZPpnVF7MGfYOxclYlAI62+EsUdVuENeuoFjOM/hY5ISo0hMpnXC
fVn4suAAJVsnd1mws+7sUhIhEihOWyhWDrHYztpqQGRrBBjuLBq5/WPzS9sRArSAd7CG57fu7Bu0
+FQYcxtF9wc7cPv8WVlcEdF0Omklk31wQjM758qyjKJICNH16fdsH999l/jeFXqn7c3dLNWWNoM9
GavEBKAovgA4TdP33vvlN954wxhTVf1Yc+tQ73W4u0Ov2weINI8ePXr48OHz589Xq5VrxhQppdaa
iOI4fvjwoXNuPp+v1+vb29sXT3744skPo2R68fD9yze+Nrt3z1ZVtlyWeb66vS3W69FsFvTaX5dJ
pWb37s1fvvTeM/Pty5fj6XQ0G6g04RqkfvnmvbMH5/OXt7fPbvzBOpS2qoE7e+edFVINYndbrvc2
0Zg3ZSiwaqrMOxvNOpNaKHZV52s1wRCCs0hm0hmWB+XMm2P7D31gKo4iiiLi/R7fL2OeYT26jYeZ
iTvCYrsiY92hILidGJvajcHuJCh5iklJ07O/rvuAII/TqS8THmuoZteyDnYxpooo/G4MjOlIkjeh
MR2LO1HVpQa5I1fIjCzjA7lfnde09hreyWzVqftNMEBJUJriiKSEjgbWEjoiazhJ6rKj1my0ZeY3
nI5FHFMgCgc6Sp75dCRGI9IGRbHFKgz3sKq4LFhIxFEADYS6eFM/Ek0UcpFJCli7eViTiRiNagdq
m4UsJLSmOBkO0LcJIYGvj5oz08RMCx5NXvHlq0VULIigFYSE3YbvQcuPGcZAHhPge73G3OgbDqlZ
KwEBWIvquCfiuIWoQlUxEbRGnJDbrm5GBBWTKbgokSR3Xvp+SQvKKiSgd/wjgqAEjEFW3g2p79po
IpaLzRtfVRyAewiVbC01vvxa5KBFmiINHAgr7OlOj6wvJZ1eK2PX2KPMvJCkYxJ/oxTu2cNU3pk7
hEvaG+cdQnHoUIpHK9Iak6mYTEWZ+fXS19lEDACmxO2VO7sUYMiDVMxu9fqqy3VkDvH9Gt6GGY2o
anNauA/Zm+Pqv8Wirs5+feXYcfIAMlG2WgwC92yxyBdXVXk7nU5CIxQY5tggamstM8dBhWDj+m65
i6eKzLTXt8lYbT6kjjM9IGZmpt2MVRAFyF4UxY9+9CMAUor33n//rbfe0koBSJIkjmPnnLXWWuu9
P6VLdyXSCEGPHr0B7LDAQ7AAkFI+ePjwYbjDeT6/vf3kk0+effK950++P7t4/Ma7vzK7d8+U5Xqx
MGW5uLqK4nh8fq4OKC3c0VQUTS8vF1dXgdy9XiyqopheXMjtU7hOCFgqefno3tmD82y+vnl2U+XD
RJduVr23lRASTbZxF7u7g2mp9T5VCWYPf/PFRwDic5ZRU0hXAFTHfkMtvBaLR2NZLJ1q/TU741Ad
LBkan9Re4ZXOQpl3h9nTht3ej56biirbZ6nhK7UE96EueZZNBMo3bXbbcQ4ejQj64aH4jp3vrKPv
0tTBrca36+2BE8k29rZtQoAkigpmj7IhM6rSx3vE6ffZKWU7j1iP/nEXc7aD2htjhqnYVCw16Yik
pp6+DBGkJoBD2doess/XPs8QRaRjEafCGBfkfdKx0Jq0JmthLYfiYsGJGIg3SpFthLfLklv1xtbS
kUg6OiQ9NW4hkaQ7kGLPa+Ad4kSovqY+Ab7MGXh1ac6uMaMyEBZxvBPSkWAL52DtqRqRr8XKCswI
nPuuBS9764wHXueamRu1wTQlGW1lxksFJ+A91mueTv+/g3GBxAVAJ/26O5pQVbw+Qq081eKEhtLP
/gbba2EtesdlxkKS1CRVXxv3XysLWWvW1Hy8L3vxDGaUpS8KsGclEWvMppRn3Ob6M8NWkOBkRGDY
PWrrW40CFvCiVlaoc+k8On5pGE8cIC5tz/PcJ+QIYksgYH7jwrKNGWdfM9c/zL0vhNjKzvHe33zx
eVXdADwajZrJsVlTtLQZIudcURRRFEkpG7ZMP2P1sHXRc0OWAXsfQPGpNVbB7P1HH3/8wQcfAHjr
rbd+4Rd+QUoJouAoImYiklJKKZMmL9M5771zznnvmeH3V7X4MkSa+piwZ8v9B9I0HaXpm2++mWXZ
z3/+86urp/OrT8Znb7z53t8+f/CgKsv1fF6VZfXsWZQk47Oz1wXfoyQZn5+vbuoMUVNV18+ejabT
0XTaCjbv4lgp5fRyNr2cOeuW14tsvq7KqsuAj9MNSZS9a1d6W353PinOa6s87Hbzxc8BzL4CPZK8
Ae5Etdhrw4SkcNNJJUfQUpPstP3FMytb7p8k964EjmDfoY3tF7R/W/PZ+p192Ids27rxA6uIPtTZ
40CiQ1sHWti74yBCOwA3dpxJg7vyvgY8k3Xo62b2OyGsw/7tm5+Hfo8FDxXc2SzTh80R9pAtj748
5CHVfq8fg4aU75xxzjjniYBIA4NDBLE3XhBGKZgB76psc2dEqHkpwIw0IW/teAQA3kNLqjLDHuk2
e4EIAs7s4bzR8NXuWUkDCAEvB7NN/JVEIWeUiKtsa6U7sHJkltRqL+9/QoyqgBS+B0/Ce+Qqht1e
SB67kFf2zBIALyQAAm3n7hKz8dT2CqBW0Xm3edpR1Y7kUG2tTtg9mKsgPIvtOrGRZm8BRo9IPdT7
ff86/OvAbsYgkgSCgu+qEBJzFUrKD4/qWycQO3EwZ/xujDhuJikChGC77zLvNtIdsjuMsb0Dt7+5
8B/vub4EAgAp3JEnBUiB8aj/9IeMw7snhibo17iMO9RUbxv3tzHDBTeBrn87OAPzzqfhW/927XJn
sGNv2VlvC64cawkhEVGtPUAeDM7n4EqA4Dz25MD2O2KD+yzUinENAmQglHOm1pm7zWgP/+3QdSTB
Ad7DZp5QE/FHl3yNaBe4z58/Y++dK4lIa72hpgQ6O2qmgmcmwHtflmXghIhaqHj7jp9WY3WbcY59
GatDQu+8Wq1/8IMfzOfz8/Pz999/fzqbhU7QZs2xqQHUPk4phZRC14C4Trpl9szcoPmBZ3TADb9N
pNn8uYXgmz+JKChQpqPRt771rbIsnzx58vTp0w//8ndml48fvvPti4cP89UqXy6roqiKIhmN0un0
tcD3dDx2VZWvN6yVbLkssmxydhaPRr3L1fEEgPfG24rZSyXPH16cP7wAUKzyfJU758CYXnYoN81C
JcyiG+yOPWUpt429c94JErdffBSN/RvvdsgShObt6yymCIRDFIat6wF6vHsG1IZhc9C7RQN/2/tL
Z+cD2w7+RptjhRJbN26A5DXQ5klnHJoh9u19hxntcLMnzoAtgtqwzylAmpBceLi3O60c3PG02enI
fb/L8uDwUUexvgz5DbSROhze/YRTH9hlh3l12qM87XoPPHe5f3v9drWfrCBZx2br+f3IWUGSt9Dt
tqd/4K93sVMPU4MQiXc39YH49hMjEpu7KaToV4E59HoSAHRuhRTAHQp4vx44t0lW6bGACeJQAIS7
+/b6I/bkK7TU09eIRPu9uMuWu5oQVF/C/i9HyM1ijKTQ8fBy/njHTv0U7sYJvFv4aGfnQ/BnB/dv
JkmCkCKRjK7rMEBMy5Y9WXbwxOwqOGYOE06AkAwwqny/W7durPsfAKi5BS1kb+qetl/wlmeqc2Ad
bw9cHa63yrCFACCZWZJs7TqUTQ1W5lk2nwNwLldKbePU2s/dvBbU9ATWWuecUkopJesyVHyi0HvP
vGfnLPOmpkHwlOsoClraAc4E760QNF8s/uX3vpfn+Xvvv/f47cdEVDvsO1yWLoKvr6SD4MMCgAha
106vcNHBId+C7QDlfUMMHXTDd29+xw3ffV0797N1wwM6it5///233nrr448//vzzJ8ubz+6/9UuP
3v3VeDTKl8sArIssCxIxUikhxeR8WuZlmb1Kivr47MwaYzq8f+/c4vo6zvPx+Xln3GNmL6SSIhEq
9rZytmhf/WSSJpMBFj4J0QZKNneTmQlSRs4eD33m15+x96ZYje6JaLQJ4ARH+xYs7E5jvS/36BDR
NKuEOg7cT0TtQ3hrL9Y5bZUA1IC1e9hdgPupmPs43j7S7EEAeQTynYbCSZDs5e0Oot67LBv2/vaa
Wn7VBcNA492fWuB+6OCjjR+edo9+QoM34NWO6v71CFLY2kEOumSHPo/joOEUsHL0fh1+IgcaucPZ
h95WQSpRdz3Rq52ru8/hj/5UO3DnTmlqex+d7oH8X+LDP3DkwD24YwvH97rLKNGaqIuC3vnsJ8Pr
077WE844eOTdXqLe3l3CiaD6leBt+RbPzjJJJsmi8mzZW/ae0f5fizz2vZq7v3e5tQHhNUGRoD/d
abRuuvZmNhiVG7AemMYd0F9vEwrJuStvNordzDx/9qyBql7KWjmxo3pOTeeCC1VwuwNzYJAHnK2U
EuIklZ4Wx3vvq6pqCOj1JRGR994YU5al1jpJ61qPAW2/fHn1ve99j4i+/e1vn52dde4aMxr02EQl
OtAHzb0BdS6wOW/rNRdai+ZcnSdTW71zyNPdvul3JNI0dzmO42/84i++/fjxTz/88MXTH82vPnn7
a78+vXgrGY+z5bJYr01VSa3jUfLWLzyOkgiMIiuY2Rn7/JNnh/NHt+65ENPLe7cvnvvtjJ8yz6ui
mF1Ozx7UazlrMsmpVJpAUidSx+yts9W+IkokpFA6JH40FHfPEOEeCqVPAu63zwF454Qi3SXAdJ9D
+9EcGO4Pv33Nw/p/AebZbtbW4UHhAAAAAElFTkSuQmCC
--000000000000555bd50616b12473--


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 15:41:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 15:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710091.1109160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryvnc-0000ks-05; Mon, 22 Apr 2024 15:41:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710091.1109160; Mon, 22 Apr 2024 15: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 1ryvnb-0000kl-Tl; Mon, 22 Apr 2024 15:41:43 +0000
Received: by outflank-mailman (input) for mailman id 710091;
 Mon, 22 Apr 2024 15:41:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qkq+=L3=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ryvnb-0000kf-3Q
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 15:41:43 +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 d033f376-00be-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 17:41:41 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-51ac9c6599bso3857563e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 08:41:40 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 j11-20020ac2550b000000b005195b745303sm1764345lfk.116.2024.04.22.08.41.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 08:41:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d033f376-00be-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713800500; x=1714405300; 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=hUcodOvTSXeOyqfhP5mgcZAjy+zxbRG+c0RCAj2CazU=;
        b=J878F5eF0R2j3JRsNhNJyvOn4hc++uZD4y6d14j0BMytFzgJimTOEZ+UgNGBLe9aE7
         GFe1vtp3zdoRy7iiUMB8nKPJbnO5P+aXhV4lZBzAaP1gYa8JFYJOyqdZ5NU4j+OnBD1D
         Ao5NYmpLOBJNPj6jEXTgp5MkPECglHUfs9KlBm22PqyrzcHNFc+C0rV73BUgWpK4MWBi
         dUjmfwchaaNKugfdqpHgJ2S3Y16QdsJYv3xZHqnhg5pi30gUlOB/C65L8DZrfVFE65sf
         oqkGleGnxzwRHyYAAVvkY6l6vJN3qjGbVgYfVjvXSfH00Oj+8Q5XC0+WMw9nIZClpP8h
         YQvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713800500; x=1714405300;
        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=hUcodOvTSXeOyqfhP5mgcZAjy+zxbRG+c0RCAj2CazU=;
        b=H/cgdjGzOG4npkzPbsRtgGeRg5JurJphqQlhxwOJJJRPtcdgwYsdFf4lXpy5XcHQky
         C46kiUmY0mu6+3qNIFkuGI12u+JVBZrlGkUSTjovXI8bPwMWQ5bnSi45Dxh+zccSNftw
         3Gjt4G4yl/qOjWFe8Q2cAeLb0+ULgYmAVEGlr9qDERFW5yccggFQ0g4tjpGJ56gMTMB3
         Xf8Pr7nGjiO/mTUs/anjNZyzJATHrkMzLGwH+rbA+r7Rk/bVBGCj8KZnr8u1bit8VcZJ
         tdiHgrVgQi6BynDbKigSyiQ8LEONyxUOb2EEISlNQsmm7MGcCDsBHx5yKznUNZ0iXyNY
         mjLA==
X-Forwarded-Encrypted: i=1; AJvYcCUF+Nx15B2/k4vmVWHcHzDQyWEGzKt4oAqW0S0FSJQWEMmL6EMwfO1x4ogh9zL7bGrfrBDAwsWDoMhCpXU2ITw6oB9JXI7i50k+yz5KjeU=
X-Gm-Message-State: AOJu0YxjMKb6HafH6ciPvfgc5bobCcJ+n3DAu/uboT34+odPpw0XO8cO
	pSNgiSUEoHdSJaPePiY7noeqrzCeuVfQmL5fLFV5yrpRZyB8WbvN
X-Google-Smtp-Source: AGHT+IE8wA29vj3Zpl/eQ9RKiRZFYYeDwPzMHi2AlrrbKxhwfDbT6+/IJh9a99rQxkjL4fqYvYb7QA==
X-Received: by 2002:ac2:41ce:0:b0:51a:d5d3:ee52 with SMTP id d14-20020ac241ce000000b0051ad5d3ee52mr5758012lfi.17.1713800499945;
        Mon, 22 Apr 2024 08:41:39 -0700 (PDT)
Message-ID: <f410f3a619079b5089ea13018c26117e7e3f6e62.camel@gmail.com>
Subject: Re: [PATCH v3] xen/riscv: check whether the assembler has Zbb
 extension support
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Mon, 22 Apr 2024 17:41:38 +0200
In-Reply-To: <956388de-ef6d-4d7a-8b5f-2a292af8db53@suse.com>
References: 
	<95441782d1920f219d63dee1c82c7df68424d374.1713523124.git.oleksii.kurochko@gmail.com>
	 <956388de-ef6d-4d7a-8b5f-2a292af8db53@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Mon, 2024-04-22 at 11:43 +0200, Jan Beulich wrote:
> On 19.04.2024 16:23, Oleksii Kurochko wrote:
> > Update the argument of the as-insn for the Zbb case to verify that
> > Zbb is supported not only by a compiler, but also by an assembler.
> >=20
> > Also, check-extenstion(ext_name, "insn") helper macro is introduced
> > to check whether extension is supported by a compiler and an
> > assembler.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> Acked-by: Jan Beulich <jbeulich@suse.com>
> despite ...
>=20
> > --- a/xen/arch/riscv/arch.mk
> > +++ b/xen/arch/riscv/arch.mk
> > @@ -11,9 +11,14 @@ riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 :=3D
> > $(riscv-march-y)c
> > =C2=A0
> > =C2=A0riscv-generic-flags :=3D $(riscv-abi-y) -march=3D$(riscv-march-y)
> > =C2=A0
> > -zbb :=3D $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
> > -zihintpause :=3D $(call as-insn, \
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(CC) $(riscv-gen=
eric-
> > flags)_zihintpause,"pause",_zihintpause)
> > +# check-extension: Check whether extenstion is supported by a
> > compiler and
> > +#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 an assembler.
> > +# Usage: $(call check-extension,extension_name,"instr")
> > +check-extension =3D $(call as-insn,$(CC) $(riscv-generic-
> > flags)_$(1),$(2),_$(1))
> > +
> > +zbb-insn :=3D "andn t0, t0, t0"
> > +zbb :=3D $(call check-extension,zbb,$(zbb-insn))
> > +zihintpause :=3D $(call check-extension,zihintpause,"pause")
>=20
> ... still not really being happy with this: Either, as said before,
> zbb-insn
> would better be avoided (by using $(comma) as necessary), or you
> should have
> gone yet a step further to fully address my "redundancy" concern.
> Note how
> the two ultimate lines still have 3 (zbb) and 2 (zihintpause)
> references
> respectively, when the goal ought to be to have exactly one. E.g.
> along the
> lines of
>=20
> $(call check-extension,zbb)
> $(call check-extension,zihintpause)
>=20
> suitably using $(eval ...) (to effect the variable definitions) and
> defining
> both zbb-insn and zihintpause-insn.
>=20
> But I'll nevertheless put this in as is, unless you tell me you're up
> to
> going the extra step.
I am okay with all your suggestions. So the final version will look
like ( if I understood you correctly ):
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index dd242c91d1..f172187144 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -13,12 +13,19 @@ riscv-generic-flags :=3D $(riscv-abi-y) -
march=3D$(riscv-march-y)
=20
 # check-extension: Check whether extenstion is supported by a compiler
and
 #                  an assembler.
-# Usage: $(call check-extension,extension_name,"instr")
-check-extension =3D $(call as-insn,$(CC) $(riscv-generic-
flags)_$(1),$(2),_$(1))
+# Usage: $(call check-extension,extension_name).
+#        it should be defined variable with name: extension-name :=3D
"insn"
=20
-zbb-insn :=3D "andn t0, t0, t0"
-zbb :=3D $(call check-extension,zbb,$(zbb-insn))
-zihintpause :=3D $(call check-extension,zihintpause,"pause")
+define check-extension =3D
+$(eval $(1) :=3D \
+       $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-
insn),_$(1)))
+endef
+
+zbb-insn :=3D "andn t0$(comma)t0$(comma)t0"
+$(call check-extension,zbb)
+
+zihintpause-insn :=3D "pause"
+$(call check-extension,zihintpause)
=20
 extensions :=3D $(zbb) $(zihintpause)

If the diff above looks good, I'll sent a new patch version.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 16:07:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 16:07:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710118.1109171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rywCV-0005sE-7q; Mon, 22 Apr 2024 16:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710118.1109171; Mon, 22 Apr 2024 16: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 1rywCV-0005s7-4T; Mon, 22 Apr 2024 16:07:27 +0000
Received: by outflank-mailman (input) for mailman id 710118;
 Mon, 22 Apr 2024 16:07:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=jl0+=L3=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rywCT-0005rz-Up
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 16:07:26 +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 68060173-00c2-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 18:07:24 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2dac77cdf43so60329731fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 09:07: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
 r14-20020a05600c458e00b00417e5b71188sm17147912wmo.34.2024.04.22.09.07.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 09:07:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68060173-00c2-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713802043; x=1714406843; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=975lVMnszytEl3upgLuu1p/Eg1HdndrOxAwKCJCMx/g=;
        b=UqaeoIN9cI9xoJ3F3+G5yL0pSO82HQZPQ1sc4E3Cxdn6aeyTqKmjtPJxU77exIKr7A
         Jvm2mdw6ssuzMCVzmYl/SfwcSBz/1w0VTq83+rY3oGl7PvJ2baADUQ2nXQrdyAxTqCrN
         0/YAobSHyrjspPLJBLmLtKV8b1nCttirsgmeho1tL9S4HbIj/okCMpvKhc382tHrLH3s
         FdN+SUf94mvSwHofu6RYBN+JgUkh69Ze7hcBJSiCs3lOt48BXoLjoZ8DCEBBsdVPs3X2
         6vnTbzCC2kLEcZcrkigtfZhcDVpcOmPN2wk0sW7g41dYvnJYSTLMYeOK6RDHZL4y88hk
         jOzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713802043; x=1714406843;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=975lVMnszytEl3upgLuu1p/Eg1HdndrOxAwKCJCMx/g=;
        b=en2lUqB5G4W2zjmFB5Axpd7WucsBaFEv0KaUnSeDXN3Gf8teM2X5M7QT63+Azr9LHq
         PqeiUaHv/7jKMh22Q4Aok/4fGCpZ5JFO6IY/DDT9F7dJ0j40MZpu/C7CkXq7gbTsn1vG
         MLkAMmHLn8WJkv1Ly8PJ6Q0A4I/YH6CIeSlOtinaM3W2PhKWYu2w2mt9clnEEF+CnAK7
         7IVCKQLJ+pK2RWDzs4FYT5vPb2EQJiLBR8RSXp4H6OPhrK++XkxquiGuuhTZvMJ29OTC
         k1WID4X+u3R/Y4lRpHsd/V77jurH+y7sWOaweP11qnQTYDDxOJ9eF2eVGEE1tbNPp9y0
         0dZA==
X-Forwarded-Encrypted: i=1; AJvYcCXk61PUfWMak0+s4LcCiXR5W6B9CdCJLgvsvms4lOSig+oroVcAw/XxCrtPm33D+CTICOoDBklw8UW8/J0QZSGYqPfBdEMXSgyi+nlD+t0=
X-Gm-Message-State: AOJu0YwUuDEr++IlB4InUNdQr/7bn0Ma5BujvCt+cElsZ21FZxLqGDfr
	x/UPV0vCpDfCUV002Zq3qmN182lwAD1bT/Yap84uWM4PdKGHgNkyQWDhPgE7Zg==
X-Google-Smtp-Source: AGHT+IHfARgW5V2JDCfqk0PAAoSa7aqS4Bvb7alEL0QkXuTcOcjRKa2AZOS9ZFgzzDc/wiDXH1753w==
X-Received: by 2002:a2e:9bd4:0:b0:2d6:c23f:7dff with SMTP id w20-20020a2e9bd4000000b002d6c23f7dffmr7370130ljj.44.1713802043475;
        Mon, 22 Apr 2024 09:07:23 -0700 (PDT)
Message-ID: <9fe28d3e-67e3-4654-8cac-8af2d0272006@suse.com>
Date: Mon, 22 Apr 2024 18:07:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 1/3] xen/memory : Add a stats_table resource type
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, Dario Faggioli <dfaggioli@suse.com>,
 xen-devel@lists.xenproject.org
References: <cover.1698589351.git.matias.vara@vates.fr>
 <ec106b56640c92f91473c8855c8dccc20e3eb5df.1698589351.git.matias.vara@vates.fr>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ec106b56640c92f91473c8855c8dccc20e3eb5df.1698589351.git.matias.vara@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31.10.2023 17:21, Matias Ezequiel Vara Larsen wrote:
> This commit proposes a new mechanism to query the RUNSTATE_running counter for
> a given vcpu from a dom0 userspace application. This commit proposes to expose
> that counter by using the acquire_resource interface. For this purpose, the
> commit adds a new resource named XENMEM_resource_stats_table and a
> type-specific resource named XENMEM_resource_stats_table_id_vcpustats. This
> type-specific resource is aiming at exposing per-VCPU counters.
> 
> The current mechanism relies on the XEN_DOMCTL_getvcpuinfo and holds a single
> global domctl_lock for the entire hypercall; and iterate over every vcpu in the
> system for every update thus impacting operations that share that lock. This
> commit proposes to expose vcpu RUNSTATE_running via the xenforeignmemory
> interface thus preventing to issue the hypercall and holding the lock.

Throughout can you please avoid "this commit" and "proposes" and alike? You
want to plainly describe what you do and why.

> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1092,6 +1092,27 @@ unsigned int ioreq_server_max_frames(const struct domain *d)
>      return nr;
>  }
>  
> +unsigned int stats_table_max_frames(const struct domain *d, unsigned int id)

Any particular reason this isn't next to its sibling acquire_stats_table()?

> +{
> +    unsigned int nr = 0;
> +    unsigned int size;
> +
> +    switch ( id )
> +    {
> +    case XENMEM_resource_stats_table_id_vcpustats:
> +        size = DIV_ROUND_UP(sizeof(struct vcpu_shmem_stats), SMP_CACHE_BYTES) +
> +               DIV_ROUND_UP(sizeof(struct vcpu_stats), SMP_CACHE_BYTES) * d->max_vcpus;
> +
> +        nr = DIV_ROUND_UP(size, PAGE_SIZE);
> +        break;
> +
> +    default:
> +        break;
> +    }
> +
> +    return nr;
> +}
> +
>  /*
>   * Return 0 on any kind of error.  Caller converts to -EINVAL.
>   *
> @@ -1113,6 +1134,9 @@ static unsigned int resource_max_frames(const struct domain *d,
>      case XENMEM_resource_vmtrace_buf:
>          return d->vmtrace_size >> PAGE_SHIFT;
>  
> +    case XENMEM_resource_stats_table:
> +        return stats_table_max_frames(d, id);
> +
>      default:
>          return -EOPNOTSUPP;
>      }
> @@ -1176,6 +1200,146 @@ static int acquire_vmtrace_buf(
>      return nr_frames;
>  }
>  
> +void stats_free_vcpu_mfn(struct domain * d)
> +{
> +    struct page_info *pg = d->vcpustats_page.pg;
> +    void * _va = d->vcpustats_page.va;

What use is the leading underscore here? Also (nit) stray blank after *.

> +    unsigned int i;
> +    unsigned int size;
> +    unsigned int nr_frames;
> +
> +    if ( !pg )
> +        return;
> +
> +    d->vcpustats_page.pg = NULL;
> +    d->vcpustats_page.va = NULL;
> +
> +    size = DIV_ROUND_UP(sizeof(struct vcpu_shmem_stats), SMP_CACHE_BYTES) +
> +           DIV_ROUND_UP(sizeof(struct vcpu_stats), SMP_CACHE_BYTES)
> +           * d->max_vcpus;
> +
> +    nr_frames = DIV_ROUND_UP(size, PAGE_SIZE);
> +
> +    vunmap(_va);
> +
> +    for ( i = 0; i < nr_frames; i++ )
> +    {
> +        put_page_alloc_ref(&pg[i]);
> +        put_page_and_type(&pg[i]);
> +    }
> +}
> +
> +static int stats_vcpu_alloc_mfn(struct domain *d)

Both functions' names suggest a single MFN is being allocated / freed.

> +{
> +    struct page_info *pg;
> +    int order;

This can't be negative, can it?

> +    unsigned int i;
> +    unsigned int size;
> +    unsigned int nr_frames;
> +    void *_va;
> +    mfn_t mfn;
> +    struct vcpu_shmem_stats *hd;
> +
> +    size = DIV_ROUND_UP(sizeof(struct vcpu_shmem_stats), SMP_CACHE_BYTES) +

Nit: Style is correct here, ...

> +           DIV_ROUND_UP(sizeof(struct vcpu_stats), SMP_CACHE_BYTES)
> +           * d->max_vcpus;

... but then not here (* belongs on the earlier line). Also this is the 3rd
instance of all the same expression, which thus likely wants putting in a
helper function.

> +    nr_frames = DIV_ROUND_UP(size, PAGE_SIZE);
> +
> +    order = get_order_from_bytes(size);
> +    pg = alloc_domheap_pages(d, order, MEMF_no_refcount);
> +
> +    if ( !pg )
> +        return -ENOMEM;
> +
> +    for ( i = 0; i < nr_frames; i++ )
> +    {
> +        if ( unlikely(!get_page_and_type(&pg[i], d, PGT_writable_page)) )
> +            /*
> +             * The domain can't possibly know about this page yet, so failure
> +             * here is a clear indication of something fishy going on.
> +             */
> +            goto refcnt_err;
> +    }
> +
> +    mfn = page_to_mfn(pg);
> +    _va = vmap(&mfn, nr_frames);

This won't work when nr_frames > 1. The first parameter of this function
points to an array of nr_frames elements. I think you mean vmap_contig(),
yet even better would be if you didn't needlessly allocate non-order-0
pages (and perhaps excess space) here.

> +    if ( !_va )
> +        goto refcnt_err;
> +
> +    for ( i = 0; i < nr_frames; i++ )
> +        clear_page(_va + i * PAGE_SIZE);
> +
> +    /* Initialize vcpu_shmem_stats header */
> +    hd = (struct vcpu_shmem_stats*)_va;

Please avoid casts when they're not needed.

> +    hd->magic = VCPU_STATS_MAGIC;
> +    hd->offset = ROUNDUP(sizeof(struct vcpu_shmem_stats), SMP_CACHE_BYTES);
> +    hd->size = sizeof(struct vcpu_stats);
> +    hd->stride = ROUNDUP(sizeof(struct vcpu_stats), SMP_CACHE_BYTES);

Don't you need an smp_wmb() here, to make sure ...

> +    d->vcpustats_page.va  = _va;
> +    d->vcpustats_page.pg = pg;

.. the global announcement of these pointers becomes visible only with the
page properly seeded?

> +    return 0;
> +
> + refcnt_err:
> +    /*
> +     * We can theoretically reach this point if someone has taken 2^43 refs on
> +     * the frames in the time the above loop takes to execute, or someone has
> +     * made a blind decrease reservation hypercall and managed to pick the
> +     * right mfn.  Free the memory we safely can, and leak the rest.
> +     */
> +    while ( i-- )
> +    {
> +        put_page_alloc_ref(&pg[i]);
> +        put_page_and_type(&pg[i]);
> +    }
> +
> +    return -ENODATA;
> +}
> +
> +static int acquire_stats_table(struct domain *d,
> +                               unsigned int id,
> +                               unsigned int frame,
> +                               unsigned int nr_frames,
> +                               xen_pfn_t mfn_list[])
> +{
> +    mfn_t mfn;
> +    int rc;
> +    unsigned int i;
> +    unsigned int max_frames;
> +
> +    if ( !d )
> +        return -ENOENT;
> +
> +    switch ( id )
> +    {
> +    case XENMEM_resource_stats_table_id_vcpustats:
> +        max_frames = DIV_ROUND_UP(d->max_vcpus * sizeof(struct vcpu_stats),
> +                                  PAGE_SIZE);

What about the sizeof(struct vcpu_shmem_stats) part? And what about the
SMP_CACHE_BYTES alignment enforced elsewhere?

> +        if ( (frame + nr_frames) > max_frames )
> +            return -EINVAL;
> +
> +        if ( !d->vcpustats_page.pg )
> +        {
> +            rc = stats_vcpu_alloc_mfn(d);
> +            if ( rc )
> +                return rc;
> +        }

I might guess you have taken acquire_vmtrace_buf() for reference, but
that looks to suffer the same issue as this code: What if two racing
requests appear? Both will allocate new memory, and either of the two
blocks will be leaked. With the "right" timing you may even end up with
inconsistent .va and .pg fields.

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -264,6 +264,11 @@ static inline void vcpu_runstate_change(
>  {
>      s_time_t delta;
>      struct sched_unit *unit = v->sched_unit;
> +    struct vcpu_shmem_stats *vcpu_shmem;
> +    struct vcpu_stats *vcpu_info;
> +    void *_va;
> +    struct domain *d = v->domain;
> +    int offset;

Once again - this can't be negative, can it? (I question the need for the
variable in the first place, though.)

> @@ -287,6 +292,21 @@ static inline void vcpu_runstate_change(
>      }
>  
>      v->runstate.state = new_state;
> +
> +    _va = d->vcpustats_page.va;
> +
> +    if ( !_va )
> +        return;
> +
> +    vcpu_shmem = (struct vcpu_shmem_stats*)_va;
> +    vcpu_info = (struct vcpu_stats*)((void*)vcpu_shmem + vcpu_shmem->offset);

You just cast _va from void *. And here you cast it back right away. As before,
please limit casts to ones actually necessary (and sensible).

> --- a/xen/include/public/vcpu.h
> +++ b/xen/include/public/vcpu.h
> @@ -235,6 +235,33 @@ struct vcpu_register_time_memory_area {
>  typedef struct vcpu_register_time_memory_area vcpu_register_time_memory_area_t;
>  DEFINE_XEN_GUEST_HANDLE(vcpu_register_time_memory_area_t);
>  
> +struct vcpu_shmem_stats {
> +#define VCPU_STATS_MAGIC 0xaabbccdd
> +    uint32_t magic;
> +    uint32_t offset;
> +    uint32_t size;
> +    uint32_t stride;
> +};
> +
> +struct vcpu_stats {
> +    /*
> +     * If the least-significant bit of the seq number is set then an update
> +     * is in progress and the consumer must wait to read a consistent set of
> +     * values. This mechanism is similar to Linux's seqlock.
> +     */
> +    uint32_t seq;
> +    uint32_t pad0;
> +    /*
> +     * If the most-significant bit of a counter is set then the counter
> +     * is inactive and the consumer must ignore its value. Note that this
> +     * could also indicate that the counter has overflowed.
> +     */
> +     uint64_t runstate_running_time;

Nit: Indentation.

> +};
> +
> +typedef struct vcpu_shmem_stats xen_vcpu_shmemstats_t;
> +typedef struct vcpu_stats xen_shared_vcpustats_t;

When you properly use xen_ prefixes for the typedef names, why not also for
the structure tags and (then XEN_) for the magic number?

Also - no blank line above here please.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 16:38:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 16:38:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710126.1109181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rywgl-00038g-Ih; Mon, 22 Apr 2024 16:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710126.1109181; Mon, 22 Apr 2024 16: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 1rywgl-00038Z-Fv; Mon, 22 Apr 2024 16:38:43 +0000
Received: by outflank-mailman (input) for mailman id 710126;
 Mon, 22 Apr 2024 16:38: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=A9Lx=L3=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1rywgk-00038T-16
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 16:38:42 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c45bf72d-00c6-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 18:38:38 +0200 (CEST)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-1e651a9f3ffso25760405ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 09:38: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: c45bf72d-00c6-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713803916; x=1714408716; 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=FJufQzB+C/HNVK1+XZWa5/QFTo8CT2cALbFKx6y+YS4=;
        b=E+b3+7hXAdFOSXiC95A5xPXHiyylhTjfrRMHT6amY+7eAlLT18F19PzLOmcsQczHK9
         jdV7RUA9nV22eWtvXtPBrH/0NPG4IguiE3F7fLBqz97B2Sr7e+EeoVzQ18jASOqvtkWo
         tQpRbMAGYNmzTJMfR4VuzwPY0KP73+avU2+7g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713803916; x=1714408716;
        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=FJufQzB+C/HNVK1+XZWa5/QFTo8CT2cALbFKx6y+YS4=;
        b=Wr0WRBCZQJN49UV/Uyn9Lm6AbLt6u51QzEV0z3UE62cZPzmoiV9uAXV6ZUV57tPdiR
         VCa8u/r8dgar9Tc1zrg9rPMIE+XmDtt3qMOOZ6MITZN6do9fsrsDX4fMw/LJlWe2OUz5
         xrCQVV98nF+3wWDqHd7VdkNoYhy+8r+6/FRLw7CAJxHtcVvMXPUteJRiJv/lm+g7ttrB
         3VOsYrQ/tp1H4wlaFz9VyEiOqt13vjBbLk2SZi5fMHFHkQqViX8eLYxV+xMJWvEB2kkr
         +xm9f7ZpEq5KUqMcu2ngliyFWbFdTH2t5nRTk9AxapyF36+r6h0B8+KwT07WxGvrLJYW
         L0VA==
X-Forwarded-Encrypted: i=1; AJvYcCVTmMNFo9tDWainUT39eW1nBjE3wjgZy+YVkx2mvMMmBIMYoXPwT9XrG/7SdLqlfEVn3PCKMF7xPlgTzn0tkWsPYfnHWUN/0E/JdkDn7NQ=
X-Gm-Message-State: AOJu0YzIRSJ3mvgh3LnMRandkpCM6mA6uOFfBBu5mVDfneVgw++WkB3v
	kdAbtJmipXTk5o3jqPScF0cEc5OFpilDM3rtm6GKUi7Phea+HWtQwpo2TmctXycVfn2IXH6ZXJk
	dGjfVBaWZ9YJUMb8qDNU0a2obuFRNUYuoLJJfq6f4ydijfRh3zg==
X-Google-Smtp-Source: AGHT+IE7Fk7vHU+QQVQI1FTOqRkAn5Geh1UEEjjGrP9SfynMSLwgMXjm5SIoBCEEhXI7HS5K4/whg14L0R34ptic3aU=
X-Received: by 2002:a17:903:428f:b0:1e4:8eb3:26f5 with SMTP id
 ju15-20020a170903428f00b001e48eb326f5mr9425892plb.38.1713803916259; Mon, 22
 Apr 2024 09:38:36 -0700 (PDT)
MIME-Version: 1.0
References: <20240408162620.1633551-1-ross.lagerwall@citrix.com> <9b94935f-b84c-4ede-ac17-4e1c6d032b74@suse.com>
In-Reply-To: <9b94935f-b84c-4ede-ac17-4e1c6d032b74@suse.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Mon, 22 Apr 2024 17:38:28 +0100
Message-ID: <CAG7k0EqNJsdoZkTPkSZAm1rwCBZMrd5qHSYkRi6y48tu==B_GA@mail.gmail.com>
Subject: Re: [PATCH] x86/rtc: Avoid UIP flag being set for longer than expected
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, Apr 18, 2024 at 2:24=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 08.04.2024 18:26, Ross Lagerwall wrote:
> > In a test, OVMF reported an error initializing the RTC without
> > indicating the precise nature of the error. The only plausible
> > explanation I can find is as follows:
> >
> > As part of the initialization, OVMF reads register C and then reads
> > register A repatedly until the UIP flag is not set. If this takes longe=
r
> > than 100 ms, OVMF fails and reports an error. This may happen with the
> > following sequence of events:
> >
> > At guest time=3D0s, rtc_init() calls check_update_timer() which schedul=
es
> > update_timer for t=3D(1 - 244us).
> >
> > At t=3D1s, the update_timer function happens to have been called >=3D 2=
44us
> > late.
>
> Any theory on why this timer runs so late? (It needs dealing with anyway,
> but I'm still curious.)

I don't know specifically why our testcase spotted it. I reproduced the
issue by repeatedly running "xl debug-key h" so that a lot of time was
spent writing to the serial console. That caused timer interrupts to
run late but I suppose there could be a lot of reasons why timer
interrupts occasionally run late (e.g. a live patch critical region).

>
> > In the timer callback, it sets the UIP flag and schedules
> > update_timer2 for t=3D1s.
> >
> > Before update_timer2 runs, the guest reads register C which calls
> > check_update_timer(). check_update_timer() stops the scheduled
> > update_timer2 and since the guest time is now outside of the update
> > cycle, it schedules update_timer for t=3D(2 - 244us).
> >
> > The UIP flag will therefore be set for a whole second from t=3D1 to t=
=3D2
> > while the guest repeatedly reads register A waiting for the UIP flag to
> > clear. Fix it by clearing the UIP flag when scheduling update_timer.
>
> I can accept this as a workaround (perhaps with a tweak, see below), but
> I wonder whether we couldn't do this in a less ad hoc way. If stop_timer(=
)
> returned whether the timer was actually stopped, couldn't the clearing of
> UIP be made conditional upon that?

I think that would work though I'd need to spend some time convincing
myself that it doesn't introduce any other race conditions. I'm not
convinced it is really any better than just unconditionally clearing
the flag though.

>
> > --- a/xen/arch/x86/hvm/rtc.c
> > +++ b/xen/arch/x86/hvm/rtc.c
> > @@ -202,6 +202,7 @@ static void check_update_timer(RTCState *s)
> >          }
> >          else
> >          {
> > +            s->hw.cmos_data[RTC_REG_A] &=3D ~RTC_UIP;
> >              next_update_time =3D (USEC_PER_SEC - guest_usec - 244) * N=
S_PER_USEC;
> >              expire_time =3D NOW() + next_update_time;
> >              s->next_update_time =3D expire_time;
>
> Is rtc_update_timer2() clearing UIP then still necessary, ahead of callin=
g
> here? Hmm, yes, it is; the question is rather why the function calls
> check_update_timer() when all that'll do (due to UF now being set) is sto=
p
> the other timer (in case it's also running) and clear ->use_timer.
>

Are you suggesting something like this?

diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c
index 4bb1c7505534..eb4901bf129a 100644
--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -240,7 +240,8 @@ static void cf_check rtc_update_timer2(void *opaque)
         s->hw.cmos_data[RTC_REG_C] |=3D RTC_UF;
         s->hw.cmos_data[RTC_REG_A] &=3D ~RTC_UIP;
         rtc_update_irq(s);
-        check_update_timer(s);
+        stop_timer(&s->update_timer);
+        s->use_timer =3D 0;
     }
     spin_unlock(&s->lock);
 }

That may indeed be an improvement but I'm not sure it is really related
to this patch?

Thanks,
Ross


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 16:39:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 16:39:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710129.1109190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rywhA-0003X5-Vh; Mon, 22 Apr 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 710129.1109190; Mon, 22 Apr 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 1rywhA-0003Wy-T1; Mon, 22 Apr 2024 16:39:08 +0000
Received: by outflank-mailman (input) for mailman id 710129;
 Mon, 22 Apr 2024 16:39:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rywh9-00038T-Io
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 16:39:07 +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 d5646bff-00c6-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 18:39:05 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41a523e2888so8679745e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 09:39:05 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h14-20020a05600c314e00b0041a81cd9e94sm2248386wmo.13.2024.04.22.09.39.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 09:39: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: d5646bff-00c6-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713803945; x=1714408745; 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=rcIRQC7r/MzYV1RXyTlj9R1kBJ/7AIy5VEN+YfixeLo=;
        b=Cudtek5tUyQzWtV7ingRd5HLF3/LhtTU45MtbJ25jueXYSwAupgNxxyN3ZQiHf+9sJ
         +Rl8mq2mKfElc57N1pCCxSx4KTs/KQ9UyWM5M7r1tXgy7rM6aASirT3Y/SBK7LxZpEbs
         z8VM9SZyPsVNrCNUzW4X+D95I38HbbCmr3hvs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713803945; x=1714408745;
        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=rcIRQC7r/MzYV1RXyTlj9R1kBJ/7AIy5VEN+YfixeLo=;
        b=Yavcbl923P+fD5w+fl7LEYCiciZRdNPdm+BjPJwQumm9ufLHzZse09KP3qtlhm+XvW
         TRCDdWoQvV40KoIRkgERr3XaGa7Lr2RgvBfRa/5yoPsTfAth6Zw34PqdnRnBvO5pmO2W
         5UllOBx/Pmc1mvG1XLTwQojmG3mKw+t7A+C0fSHQr4EjjEjM2nQTeXas3zpsTVWfJACd
         PD0BrbI3LxjlKxjw7RN+copSisqFK0NTXMajLqvaz6977dMPMiB9ewAAUkwsCrPUVz/x
         F/eBQLXsRi1gkDFwiZfrgUywVBHZ1atAvfyrmz5dhlo7jCPit7+zzbHdQUlLLTCmYJdi
         51BQ==
X-Gm-Message-State: AOJu0YxYD9L5wXO3LKEd6WRgRFo2yqjIaCIcuREjaeyKkrBY+/1Eo/+L
	N9hbsvFOlkgb22oRht3gSfK3djFkZmYxq/r13JhSVqGbFCUhrb8jRb7mAjgvrRQ=
X-Google-Smtp-Source: AGHT+IFo2/KVxI7TI5nijf2FW7OAv0BkKC3gloRNEFR+phEwlrd+ESxVnsJy3+HPsVResI+0SVwSrA==
X-Received: by 2002:a05:600c:b85:b0:41a:5de5:85f2 with SMTP id fl5-20020a05600c0b8500b0041a5de585f2mr2388521wmb.39.1713803944990;
        Mon, 22 Apr 2024 09:39:04 -0700 (PDT)
Date: Mon, 22 Apr 2024 17:39:03 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH v2 1/2] libs/light: add device model start timeout
 env var
Message-ID: <86e7327e-0a3c-4e50-bd62-720e986efdaa@perard>
References: <cover.1712837961.git.manos.pitsidianakis@linaro.org>
 <334b5a46e31dbf3e8114e9ea8bafd92cf060f2af.1712837961.git.manos.pitsidianakis@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <334b5a46e31dbf3e8114e9ea8bafd92cf060f2af.1712837961.git.manos.pitsidianakis@linaro.org>

On Thu, Apr 11, 2024 at 03:28:19PM +0300, Manos Pitsidianakis wrote:
> diff --git a/docs/man/xl.1.pod.in b/docs/man/xl.1.pod.in
> index bed8393473..c159877094 100644
> --- a/docs/man/xl.1.pod.in
> +++ b/docs/man/xl.1.pod.in
> @@ -1993,6 +1993,17 @@ Otherwise the build time default in LIBXL_BOOTLOADER_TIMEOUT will be used.
>  If defined the value must be an unsigned integer between 0 and INT_MAX,
>  otherwise behavior is undefined.  Setting to 0 disables the timeout.

I don't think a value of "0" would disable timeouts, did you try?
It's more likely that the timeout will fire immediately. I'll had some
comment later about this on case-by-case basis.

>  
> +=item LIBXL_DEVICE_MODEL_START_TIMEOUT
> +
> +Timeout in seconds for starting the device model process. Useful in case the
> +device model takes an unusual amount of time to start— for example in case of

Could you use only ASCII characters,               here ^
It's looks like it's the first UTF-8 chr in this document, and we can do
without it. I just want to avoid find out later that something break
because of that chr.

> +very slow I/O, in case of slow performance due to memory sanitizer usage, etc.
> +
> +If undefined, the default hard-coded value of 60 seconds is used.
> +
> +If defined, the value must be an unsigned integer between 0 and INT_MAX,
> +otherwise behaviour is undefined.  Setting the value to 0 disables the timeout.
> +
>  =back
>  
>  =head1 SEE ALSO
> diff --git a/tools/libs/light/libxl_9pfs.c b/tools/libs/light/libxl_9pfs.c
> index 48f894f070..950a464b45 100644
> --- a/tools/libs/light/libxl_9pfs.c
> +++ b/tools/libs/light/libxl_9pfs.c
> @@ -132,7 +132,7 @@ static int xen9pfsd_spawn(libxl__egc *egc, uint32_t domid, libxl_device_p9 *p9,
>      aop9->spawn.ao = aodev->ao;
>      aop9->spawn.what = "xen-9pfs daemon";
>      aop9->spawn.xspath = GCSPRINTF("%s/state", path);
> -    aop9->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
> +    aop9->spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;

So this value is going to be used by libxl__spawn_spawn() then
libxl__xswait_start(), and it's looks like a timeout of "0" will have
the timeout fire immediately. Instead, a value of "-1" might disable the
timeout, but I don't know how well it would work without a timeout.

Timeout is setup with libxl__ev_time_register_rel().

>      aop9->spawn.pidpath = GCSPRINTF("%s/pid", path);
>      aop9->spawn.midproc_cb = libxl__spawn_record_pid;
>      aop9->spawn.confirm_cb = xen9pfsd_confirm;
> diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_device.c
> index 6f0100d05e..452e55ba23 100644
> --- a/tools/libs/light/libxl_device.c
> +++ b/tools/libs/light/libxl_device.c
> @@ -1436,7 +1436,7 @@ int libxl__wait_for_device_model_deprecated(libxl__gc *gc,
>  
>      path = DEVICE_MODEL_XS_PATH(gc, dm_domid, domid, "/state");
>      return libxl__xenstore_child_wait_deprecated(gc, domid,
> -                                     LIBXL_DEVICE_MODEL_START_TIMEOUT,
> +                                     __libxl_device_model_start_timeout(),

This function will return an error immediately, without trying, with a
timeout of "0", and "-1" isn't an option (well I guess it might be
INT_MAX because it an unsigned value).

>                                       "Device Model", path, state, spawning,
>                                       check_callback, check_callback_userdata);
>  }
> diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
> index 0b03a7c747..4369fef161 100644
> --- a/tools/libs/light/libxl_dm.c
> +++ b/tools/libs/light/libxl_dm.c
> @@ -2629,7 +2629,7 @@ static void spawn_qmp_proxy(libxl__egc *egc,
>      sdss->qmp_proxy_spawn.pidpath = GCSPRINTF("%s/image/qmp-proxy-pid", dom_path);
>      sdss->qmp_proxy_spawn.xspath = DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID,
>                                                          dm_domid, "/qmp-proxy-state");
> -    sdss->qmp_proxy_spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
> +    sdss->qmp_proxy_spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;

That's used by libxl__spawn_spawn(). Already commented on it.

>      sdss->qmp_proxy_spawn.midproc_cb = libxl__spawn_record_pid;
>      sdss->qmp_proxy_spawn.confirm_cb = qmp_proxy_confirm;
>      sdss->qmp_proxy_spawn.failure_cb = qmp_proxy_startup_failed;
> @@ -3011,7 +3011,7 @@ retry_transaction:
>      spawn->what = GCSPRINTF("domain %d device model", domid);
>      spawn->xspath = DEVICE_MODEL_XS_PATH(gc, LIBXL_TOOLSTACK_DOMID, domid,
>                                           "/state");
> -    spawn->timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
> +    spawn->timeout_ms = __libxl_device_model_start_timeout() * 1000;

That's used by libxl__spawn_spawn(). Already commented on it.

>      spawn->pidpath = GCSPRINTF("%s/image/device-model-pid", dom_path);
>      spawn->midproc_cb = libxl__spawn_record_pid;
>      spawn->confirm_cb = device_model_confirm;
> @@ -3435,7 +3435,7 @@ void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *dmss)
>  
>      dmss->spawn.what = GCSPRINTF("domain %u Qdisk backend", domid);
>      dmss->spawn.xspath = GCSPRINTF("device-model/%u/state", domid);
> -    dmss->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
> +    dmss->spawn.timeout_ms = __libxl_device_model_start_timeout() * 1000;

That's used by libxl__spawn_spawn(). Already commented on it.

>      /*
>       * We cannot save Qemu pid anywhere in the xenstore guest dir,
>       * because we will call this from unprivileged driver domains,
> diff --git a/tools/libs/light/libxl_dom_suspend.c b/tools/libs/light/libxl_dom_suspend.c
> index 6091a5f3f6..29e51f6c40 100644
> --- a/tools/libs/light/libxl_dom_suspend.c
> +++ b/tools/libs/light/libxl_dom_suspend.c
> @@ -517,7 +517,7 @@ void libxl__dm_resume(libxl__egc *egc,
>      rc = libxl__ev_time_register_rel(dmrs->ao,
>                                       &dmrs->time,
>                                       dm_resume_timeout,
> -                                     LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000);
> +                                     __libxl_device_model_start_timeout() * 1000);

libxl__ev_time_register_rel() just setup a timer, and I think with a
timeout of 0, dm_resume_timeout() would be call immediately as soon as
the current function returns, resulting in a failure.

>      if (rc) goto out;
>  
>      switch (libxl__device_model_version_running(gc, domid)) {
> diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
> index 803dbc1a03..684390f822 100644
> --- a/tools/libs/light/libxl_internal.h
> +++ b/tools/libs/light/libxl_internal.h
> @@ -97,6 +97,12 @@
>  /* QEMU may be slow to load and start due to a bug in Linux where the I/O
>   * subsystem sometime produce high latency under load. */
>  #define LIBXL_DEVICE_MODEL_START_TIMEOUT 60
> +static inline int __libxl_device_model_start_timeout(void)

Could you rename that function? Probably:
    libxl__device_model_start_timeout()

No leading '_', this is usually reserved, by glibc or C, I forgot the
details.

Also, internal libxl function have two '_', so full prefix is "libxl__".


> +{
> +  const char *timeout_env = getenv("LIBXL_DEVICE_MODEL_START_TIMEOUT");
> +  return timeout_env ? atoi(timeout_env)

That usage of atoi() isn't good, because on conversion error, 0 is
returned, which disable the timeout. I would rather fallback when we
don't have a number.

One case that might be more problematic than other might be:
    LIBXL_DEVICE_MODEL_START_TIMEOUT= xl create
I think we would have a timeout of 0, instead of a fallback to the
default.

> +    : LIBXL_DEVICE_MODEL_START_TIMEOUT;
> +}
>  #define LIBXL_DEVICE_MODEL_SAVE_FILE XEN_LIB_DIR "/qemu-save" /* .$domid */
>  #define LIBXL_DEVICE_MODEL_RESTORE_FILE XEN_LIB_DIR "/qemu-resume" /* .$domid */
>  #define LIBXL_QMP_CMD_TIMEOUT 10
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 96cb4da079..7bdd9f6c3b 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -1157,7 +1157,7 @@ static void do_pci_add(libxl__egc *egc,
>                  pas->xswait.what = "Device Model";
>                  pas->xswait.path = DEVICE_MODEL_XS_PATH(gc,
>                      libxl_get_stubdom_id(CTX, domid), domid, "/state");
> -                pas->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
> +                pas->xswait.timeout_ms = __libxl_device_model_start_timeout() * 1000;

That used by libxl__xswait_start(), and "0" seems to result in a
failure.

>                  pas->xswait.callback = pci_add_qemu_trad_watch_state_cb;
>                  rc = libxl__xswait_start(gc, &pas->xswait);
>                  if (rc) goto out;
> @@ -1719,7 +1719,7 @@ static void device_pci_add_stubdom_wait(libxl__egc *egc,
>      rc = libxl__ev_devstate_wait(ao, &pas->pciback_ds,
>              device_pci_add_stubdom_ready,
>              state_path, XenbusStateConnected,
> -            LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000);
> +            __libxl_device_model_start_timeout() * 1000);

That value will be use by libxl__xswait_start().

>      if (rc) goto out;
>      return;
>  out:
> @@ -1976,7 +1976,7 @@ static void do_pci_remove(libxl__egc *egc, pci_remove_state *prs)
>              prs->xswait.what = "Device Model";
>              prs->xswait.path = DEVICE_MODEL_XS_PATH(gc,
>                  libxl_get_stubdom_id(CTX, domid), domid, "/state");
> -            prs->xswait.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
> +            prs->xswait.timeout_ms = __libxl_device_model_start_timeout() * 1000;

That value will be use by libxl__xswait_start().

>              prs->xswait.callback = pci_remove_qemu_trad_watch_state_cb;
>              rc = libxl__xswait_start(gc, &prs->xswait);
>              if (rc) goto out_fail;

So, overall, I'm fine with been able to change the timeout via env var,
but disabling the timeout might not be easy or possible, even if "-1"
might be an option, or -1000 in most case.

So, you change the man page to only allow value>0 ? And a timeout of 0
might be best to revert to the default.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 16:53:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 16:53:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710137.1109200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rywud-0006gx-5I; Mon, 22 Apr 2024 16:53:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710137.1109200; Mon, 22 Apr 2024 16:53:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rywud-0006gq-2B; Mon, 22 Apr 2024 16:53:03 +0000
Received: by outflank-mailman (input) for mailman id 710137;
 Mon, 22 Apr 2024 16:53:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rywuc-0006gg-8Z; Mon, 22 Apr 2024 16:53:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rywub-00021N-TJ; Mon, 22 Apr 2024 16:53:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rywub-0002OQ-Hk; Mon, 22 Apr 2024 16:53:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rywub-0003KO-HP; Mon, 22 Apr 2024 16:53:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GU9TuCIK/n+5EKccL/7+H3FJ925EFXeogyUIx4Q0//c=; b=1F1lH2zKM7SqgzoScSTAuf8wGv
	Na0kc3O6osVNd/jezFPJ/XBJxQ9+QX5XGU/vr50UxEKeaNI5qzC/Nm0ebkg5bVVhBMRGXsXcpUTwe
	N8lUTeweADb+LxH89rOTqiCE+sOZgYKq+/4tk6YmPA9jdU6UqYYjPrGAbar2LNT99kwA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185760-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185760: 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=cccb7878f386fb8691b7e28957a562a66d9b875f
X-Osstest-Versions-That:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 16:53:01 +0000

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

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                  cccb7878f386fb8691b7e28957a562a66d9b875f
baseline version:
 xen                  09cb855f33fb619c87d8d4250d3a980f568f151b

Last test of basis   185740  2024-04-19 13:02:10 Z    3 days
Testing same since   185760  2024-04-22 14:02:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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
   09cb855f33..cccb7878f3  cccb7878f386fb8691b7e28957a562a66d9b875f -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 16:55:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 16:55:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710142.1109211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rywxR-0007ev-Ko; Mon, 22 Apr 2024 16:55:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710142.1109211; Mon, 22 Apr 2024 16:55:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rywxR-0007eo-HF; Mon, 22 Apr 2024 16:55:57 +0000
Received: by outflank-mailman (input) for mailman id 710142;
 Mon, 22 Apr 2024 16:55: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=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rywxQ-0007eg-Iz
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 16:55:56 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2eb86534-00c9-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 18:55:54 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-347e635b1fcso3782925f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 09:55:54 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n17-20020adfe791000000b00349be95b5cesm12421527wrm.101.2024.04.22.09.55.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 09:55: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: 2eb86534-00c9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713804954; x=1714409754; 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=50jQRAmBPX9v+TwjRadPvNR0cZTpRIB9Y3/Yq8zGQJw=;
        b=C6wuvDrrsTFuuMOzqnr1Kxr9U2j5oMJAEfJMrArZ4fOwXb+BAZKh8sVWd+sS2rc/Md
         1JzACA1nxDM0WZQh/Vci+qZNjnqnLdd/waC9+QHsvvgaFLFgWYqA6Ekl9fv7ITLbPOGw
         yfiXmpV8e6+lI42sk7+i5lYdbjPNMXFcphADM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713804954; x=1714409754;
        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=50jQRAmBPX9v+TwjRadPvNR0cZTpRIB9Y3/Yq8zGQJw=;
        b=JsSuBMCuTrf3QIsdvwtgidYf2hZ6JBoZalxopVv6H7u00+mOlgL80skKxjEKqhZ1KL
         1xdYKhctjJ0kTmOv8itDKAEg4xMk1JW3QaJUQDqOt+fg4cJT8MxPyp18/Dz24y7Pr2kY
         04y7roqFZBHdaYzmrhfLC2jTJ7Fr0cFdEUtKhMyX5t9+sqs7wLdGVmnHsEZVlYRPNa9i
         JZO36KdfeDqO5CARiZtVpUL3ZDcP7nak7Jcz6SQQWBRB3A9ragJ7xJ5q8hhAIcMOlSJb
         QDIauPz+EUEM45Emrxebeqpy20J4FDGfGsqhypalUieACLh3niLQUyjnKzENz0oqcfCw
         i+IQ==
X-Gm-Message-State: AOJu0Yygx+NRosQ4YhJCGvejNQc46gTeWk9YXqo2TpxVyL6EfHxaqGIt
	eWkxIW3Mc15l19twoI5PglQl4L97DrJO4aJqthVTDrFan/OeHAzWO2Q35/nIKTk=
X-Google-Smtp-Source: AGHT+IGQDb9ESB73TLFSftnmJR/nOhvDZ7Ol7brmhINOgtpAUInJKE93EO6bQhogAHCeVVlFNQBmjw==
X-Received: by 2002:a5d:628c:0:b0:345:ca71:5ddb with SMTP id k12-20020a5d628c000000b00345ca715ddbmr8343161wru.66.1713804953930;
        Mon, 22 Apr 2024 09:55:53 -0700 (PDT)
Date: Mon, 22 Apr 2024 17:55:52 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH v2 2/2] libs/light: expand device model start timeout
 use
Message-ID: <e15c2fc5-017e-4afb-8b06-d4080c27d4ea@perard>
References: <cover.1712837961.git.manos.pitsidianakis@linaro.org>
 <125210f392aacaa5dd605ce7036c7c9b9e783a2a.1712837961.git.manos.pitsidianakis@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <125210f392aacaa5dd605ce7036c7c9b9e783a2a.1712837961.git.manos.pitsidianakis@linaro.org>

On Thu, Apr 11, 2024 at 03:28:20PM +0300, Manos Pitsidianakis wrote:
> Various timeout values that depend on the device model should also
> respect the device model start timeout setting. This commit adds the
> __libxl_device_model_start_timeout() value to those time outs without
> changing their default values.

I don't like much this patch. It multiplies all qmp_cmd timeouts by 7.

First, could you make two separate patches for the changes? One to
change LIBXL_QMP_CMD_TIMEOUT, and one to change
LIBXL_STUBDOM_START_TIMEOUT.

Second, when the environment variable is unset, the timeout should stay
at 10 for the qmp_cmd one. If for some reason that chosen value is to
low, we could always have a separate patch to adjust the value.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 16:59:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 16:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710148.1109220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryx0W-0008Mo-0v; Mon, 22 Apr 2024 16:59:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710148.1109220; Mon, 22 Apr 2024 16:59:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryx0V-0008Mh-Uh; Mon, 22 Apr 2024 16:59:07 +0000
Received: by outflank-mailman (input) for mailman id 710148;
 Mon, 22 Apr 2024 16:59:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryx0U-0008Mb-UD
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 16:59:06 +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 a03e93eb-00c9-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 18:59:05 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-343d7ff2350so3498742f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 09:59:05 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d9-20020adfe2c9000000b00349a5b8eba6sm12540024wrj.34.2024.04.22.09.59.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 09:59: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: a03e93eb-00c9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713805144; x=1714409944; 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=dZpSYXaymXGU1VgqoPZ57Jvh+oZ6HevGn0RRQgFmERo=;
        b=XNY4B/U0TkSGXWTwlMZdStCiTi02OA1lBQvNFahTm/5+9NnhViJXi9or+xyWzGwxLw
         jH1qQy/qlZkWdvbFk8L1yP6DywejRKrItI56ZgC20gDrGzvkJvP8zg5OwZsMm0FLt4Np
         ljRUl+HjvBlaOjl7vL4vY+Ya86eSzAxVyfbjQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713805144; x=1714409944;
        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=dZpSYXaymXGU1VgqoPZ57Jvh+oZ6HevGn0RRQgFmERo=;
        b=DNhxxvCJCeAgERje0lObxdSJYCxCY8qISujXW6UkgYcyD+va9jx1PD/hOMkhy9fy27
         YdaBYSRoQM4nj4eHOZOBkkeljNspUaO2RCH7oLy8yHpfjT5r3XRPYLD7TfhLt+tKNDnV
         p8mSKmAz3w/y1n9360dr3+srKh5EsSv+68gRd8fYva6NEYRtegWkcMp70umWhb2XEe90
         ovPcMHe1QaOW6MhxLPxORwIClM+NC5v30pOPip4I+NgrNerr+gWa5PDA/u3tQNvO5H5o
         CWvMYtdtQebj2yZRGhy7l3xRUpgxUB4FunhFKHS7rJBtrjsoXN90gTeuibpTzzd87I03
         8byw==
X-Gm-Message-State: AOJu0YySXz2MCGxcmDboIY2ksH35W7HJrc0Le9af+SBfYY9LSPVVylTh
	dXO8duSRrwOR/MiEphIXoEYyyU7fGWMTCLWjSK+0UO+diRfdNldoF82GqO2virHh62vJhajs5tM
	Z
X-Google-Smtp-Source: AGHT+IE2xU8tYcqadwoIUI7nweTMyMgseKR/dxEvE6fk4B+RrFLIUVmuDKLslwqLB8DOmDYxjWutjw==
X-Received: by 2002:a5d:598a:0:b0:34b:8bf:6019 with SMTP id n10-20020a5d598a000000b0034b08bf6019mr3114625wri.70.1713805144484;
        Mon, 22 Apr 2024 09:59:04 -0700 (PDT)
Date: Mon, 22 Apr 2024 17:59:03 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v3 1/4] tools/misc: xenwatchdogd: add parse_secs()
Message-ID: <3417060b-d2f6-42b7-912f-6f02f92ab7cf@perard>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
 <20240411182023.56309-2-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240411182023.56309-2-leigh@solinno.co.uk>

On Thu, Apr 11, 2024 at 07:20:20PM +0100, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Create a new parse_secs() function to parse the timeout and sleep
> parameters. This ensures that non-numeric parameters are not
> accidentally treated as numbers.
> 
> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 17:05:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 17:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710157.1109230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryx6j-0001q8-Pv; Mon, 22 Apr 2024 17:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710157.1109230; Mon, 22 Apr 2024 17:05:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryx6j-0001q1-N4; Mon, 22 Apr 2024 17:05:33 +0000
Received: by outflank-mailman (input) for mailman id 710157;
 Mon, 22 Apr 2024 17: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=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryx6i-0001pv-CZ
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 17:05:32 +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 86782574-00ca-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 19:05:31 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41a523e2888so8923815e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 10:05:31 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u11-20020a5d434b000000b0034a2d0b9a4fsm11393939wrr.17.2024.04.22.10.05.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 10: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: 86782574-00ca-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713805531; x=1714410331; 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=cOZBJO+6eyr+EyLcQ8OVE41bdCb0BivP72oJs6LkXXY=;
        b=QKi6q0nFT5TgzJTt+0vr5/SLESy37IO80eMHd2zIXXs3zdINlZh/bbubJDWSr/DDAt
         o0FujuKBsXf2g2WLP3tK79W9r7IOjVQRKXVE/rY5hls9vQjxCCQAEYAVcvuov2OAPI/n
         gnZdYZtWuHDkF6gwNIQs2RRXhtm7Utf5+SOs0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713805531; x=1714410331;
        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=cOZBJO+6eyr+EyLcQ8OVE41bdCb0BivP72oJs6LkXXY=;
        b=kgdKuTdE0aYe4EWxeQX8Z0kUnut2prV4Kfo8fYkXjH7OUd+PaYlkfZx0eiufSKyJ4H
         LzCJpFr26QGut1mZluPhhoO3i97YNAPYLsCjCrY5YZJ1KSWUOfF9qTUOcSRfluobdvNX
         nVyDaWdet+dqSPEc4CcVNBKds/h0c/CrDePnslb7Kl4PC67GwFZvtcEJFkKajtVZWT5S
         4leij3nsfc+4eyoMZ50Qdk4Hfy5aUP+L8ZdgZDlExjgI7UkO4JiYo5U6b9d+1zoa5Iu7
         BKAOAgdPv9pG4NZsKVDsOLw9xClIN/Ydzgr5Ft8DvyvdKhZ5LC/Fv2aq0esQsOjYhLOQ
         LNqQ==
X-Gm-Message-State: AOJu0YyoiYx2IyfIWvVtW4gcifUM1faoEVb1XotXIFTo3ZuWBWTKDHIW
	Sx9b55OJtOBWoEaC90IF7gtiziuLKnQM7gxJZ0S5V5qUNMalIYhoXDB8xYCSgpA=
X-Google-Smtp-Source: AGHT+IEXw8PLxXm/UI9sqA2owx2ed3YwOczKThxZdk9ydTfTwfNEelFzivz9qnmaXcOJ7+myOXRCaw==
X-Received: by 2002:adf:e847:0:b0:346:d2c0:7675 with SMTP id d7-20020adfe847000000b00346d2c07675mr8030800wrn.29.1713805530626;
        Mon, 22 Apr 2024 10:05:30 -0700 (PDT)
Date: Mon, 22 Apr 2024 18:05:29 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v3 3/4] tools/misc: Add xenwatchdogd.c copyright notice
Message-ID: <c1109c99-6552-440c-ba20-a51031ba3426@perard>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
 <20240411182023.56309-4-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240411182023.56309-4-leigh@solinno.co.uk>

On Thu, Apr 11, 2024 at 07:20:22PM +0100, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Add copyright notice and description of the program.
> 
> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
>
> ---
>  tools/misc/xenwatchdogd.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/tools/misc/xenwatchdogd.c b/tools/misc/xenwatchdogd.c
> index a16d1efc13..2884ca6ca9 100644
> --- a/tools/misc/xenwatchdogd.c
> +++ b/tools/misc/xenwatchdogd.c
> @@ -1,3 +1,13 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xenwatchdogd.c
> + *
> + * Watchdog based on Xen hypercall watchdog interface.
> + *
> + * Copyright 2010 Citrix Ltd
> + * Copyright 2024 Leigh Brown <leigh@solinno.co.uk>
> + *
> + */

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 17:10:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 17:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710163.1109241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxBC-0003fQ-FH; Mon, 22 Apr 2024 17:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710163.1109241; Mon, 22 Apr 2024 17:10:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxBC-0003fJ-Br; Mon, 22 Apr 2024 17:10:10 +0000
Received: by outflank-mailman (input) for mailman id 710163;
 Mon, 22 Apr 2024 17:10:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryxBA-0003fD-Lr
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 17:10:08 +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 2b1d617d-00cb-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 19:10:07 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-346f4266e59so3428951f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 10:10:07 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 w17-20020a5d6811000000b0034a2ba13588sm11422124wru.42.2024.04.22.10.10.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 10: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: 2b1d617d-00cb-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713805807; x=1714410607; 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=6MvZf5qZRPpuK1GETAzu5e7Tmx0LMnC8e8zPxUT4YQw=;
        b=SDN3ZBpyd38XBP0CYdJu+2Y4xuemv+1PP7IN/Hct1Ey9YUuIqM5QCQSr7mt6Xp32A7
         pjxY6zdmjLzBOUQBYu6IvWQKeaM/e+i+HtNY/0De3SgnszyQQ80/FLjvou+licClktkH
         fEVz5q/f31y2DFwDzFnDeM2iebFIoCFD80lZk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713805807; x=1714410607;
        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=6MvZf5qZRPpuK1GETAzu5e7Tmx0LMnC8e8zPxUT4YQw=;
        b=Xicwu0k3mYbNsWNUi7i16gS1WS+NcetzFKMRHsBI3jN94A6aprjr2SXSRF0o9wD8ug
         gsavsyXvfvOl422orzTMeQTm7BTKXrQ057wevsHTpi+TlhpwAAcus9nsiY/yW3GQafHl
         zgN6XXpsbr9ygRpPvsUWja4zYqDWWyCTpZ/uZA+H4s346myBWr47feFJ4qDbrrRVlFBd
         56Ty317x6xlTQvz0tMQp79olbsDV07ukn297tDndvNamPTrVHoHTTsChrpYZZM0+VXiQ
         2EkjT5zU7C4dYGyagyQFF/28IMzWm64lDCYSML9DoYIaVUHLjrF2/HauF6ymoCZhRiLz
         ppsw==
X-Gm-Message-State: AOJu0Yz7HZnvkdHiRQ06jUclKTde8gKLRDlpkSfG1hGREThm6mjn7ksj
	CDweXM9XVxduEJEPqqbg0najbngsxcADJ5Slqj36qVJ8lFtfqhwu6bFaeqFcmok=
X-Google-Smtp-Source: AGHT+IHMVU5aTJcF5XzoHwXEbW7cCtT8+6vY3vYuCMHivdcNY/UDE6WSAWc1Jm9tu/oJUC2b9VTSTQ==
X-Received: by 2002:a05:6000:bd1:b0:33e:c316:2a51 with SMTP id dm17-20020a0560000bd100b0033ec3162a51mr6851283wrb.27.1713805806945;
        Mon, 22 Apr 2024 10:10:06 -0700 (PDT)
Date: Mon, 22 Apr 2024 18:10:06 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v3 2/4] tools/misc: xenwatchdogd enhancements
Message-ID: <22bf42d9-7cf5-4cea-aad4-a4da7e01169a@perard>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
 <20240411182023.56309-3-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240411182023.56309-3-leigh@solinno.co.uk>

On Thu, Apr 11, 2024 at 07:20:21PM +0100, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Add usage() function, the ability to run in the foreground, and
> the ability to disarm the watchdog timer when exiting.
> 
> Add enhanced parameter parsing and validation, making use of
> getopt_long().  Check the number of parameters are correct, the
> timeout is at least two seconds (to allow a minimum sleep time of
> one second), and that the sleep time is at least one and less
> than the watchdog timeout.
> 
> With these changes, the daemon will no longer instantly reboot
> the domain if you enter a zero timeout (or non-numeric parameter),
> and prevent the daemon consuming 100% of a CPU due to zero sleep
> time.
> 
> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 17:13:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 17:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710168.1109250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxE8-0004Er-SA; Mon, 22 Apr 2024 17:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710168.1109250; Mon, 22 Apr 2024 17:13:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxE8-0004Ek-PO; Mon, 22 Apr 2024 17:13:12 +0000
Received: by outflank-mailman (input) for mailman id 710168;
 Mon, 22 Apr 2024 17:13:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryxE7-0004Ee-Rc
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 17:13:11 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97c1d114-00cb-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 19:13:09 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-343b7c015a8so3994420f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 10:13:09 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 a12-20020adfed0c000000b0034635bd6ba5sm12553872wro.92.2024.04.22.10.13.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 10:13: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: 97c1d114-00cb-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713805989; x=1714410789; 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=/02DGznyjoukMU713Yj43l2glXrU2YEu2TipWgD/B1E=;
        b=cA2p8gx9XiPmo0UQ2hO+EGi1ItFNhFyerupIiY4C6dtOEqdOGavrslcD/FoBQSu8ZQ
         /kBlpUjM3pNQa/krbBNsGTKBpVtdrgepUztNDmO0FT9evlBUK7tXOW7nuyFek7ygbn48
         epRqlY9xC28b1ksFzLBEW5ispW//JsQLv+DLI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713805989; x=1714410789;
        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=/02DGznyjoukMU713Yj43l2glXrU2YEu2TipWgD/B1E=;
        b=W9O1E+44a3+WWEjFDAo4iPJytRWJx4839KvlygEn7lDEZSvzFCvxNibwu21N05NGJ+
         vApP0ECtIo/JmnSZdCBLL50njjFZTfCCuOj4GEM+AZYxIQ8sA2GLaqR7lrDxNnArq5KA
         ZrEytQMMhvQ8gJtf+pDgrWVdYizO2z5UBbRZsNGbNQ3RD/L1wnS5wEhxlKkg2gOILZV8
         cTZU9CIcRWlICyU8Tzn6OHIwhkwLgMcc+yyKXAMPuqbXn/U8eZkD2N3iAL9Rc4CfOMaY
         3MH08EDcl8T2gEeRX4Xw9XnFKW2HNwBwqQL0rNbw71nr1HU1PExAWJLscrpHTLSc6zOo
         q0Ag==
X-Gm-Message-State: AOJu0YzL1++iaUVY9JVvuD2NabINYDt8g0J/thi0LtP/ipFwbyDMGJqT
	f0HOBCLSdb5aEzkbzbm8oXja7YpRRtxgwu4qLIjaYG1FGuMF3mMe4I7PnwPdPmY=
X-Google-Smtp-Source: AGHT+IFMdpVBohRR7ZqBRbvaY4T5SAfQaCuAdo+j69Vhf4KOSN/OutD6MVUH2zeH41e7WlpIimLWwg==
X-Received: by 2002:a5d:628c:0:b0:347:868:9dd2 with SMTP id k12-20020a5d628c000000b0034708689dd2mr6728245wru.20.1713805989230;
        Mon, 22 Apr 2024 10:13:09 -0700 (PDT)
Date: Mon, 22 Apr 2024 18:13:07 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: leigh@solinno.co.uk
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
	slack@rabbit.lu
Subject: Re: [PATCH v3 4/4] docs/man: Add xenwatchdog manual page
Message-ID: <d5c94154-1145-4781-95ff-9449fddd0643@perard>
References: <20240411182023.56309-1-leigh@solinno.co.uk>
 <20240411182023.56309-5-leigh@solinno.co.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240411182023.56309-5-leigh@solinno.co.uk>

On Thu, Apr 11, 2024 at 07:20:23PM +0100, leigh@solinno.co.uk wrote:
> From: Leigh Brown <leigh@solinno.co.uk>
> 
> Add a manual page for xenwatchdogd.
> 
> Signed-off-by: Leigh Brown <leigh@solinno.co.uk>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 17:30:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 17:30:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710173.1109260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxUf-0008IE-7S; Mon, 22 Apr 2024 17:30:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710173.1109260; Mon, 22 Apr 2024 17:30: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 1ryxUf-0008I7-4e; Mon, 22 Apr 2024 17:30:17 +0000
Received: by outflank-mailman (input) for mailman id 710173;
 Mon, 22 Apr 2024 17:30: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=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryxUe-0008I1-FK
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 17:30: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 fa342a2b-00cd-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 19:30:13 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-34665dd7744so3565276f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 10:30:13 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 p9-20020a05600c358900b00419f7b73c55sm8929813wmq.0.2024.04.22.10.30.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 10: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: fa342a2b-00cd-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713807013; x=1714411813; 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=UZ5alHH1hHZ3pF+Rs1b70jFUh/Wnv5VU4OREt5OFcLM=;
        b=G5BlRKV8lpoLsyOGBKla1DFASty4RqgFE9U0TNF3xpvGTMwOrCHFPlK6bCvgdN2xOF
         wH7uqS7S2RMOy6Wm6IwDbeKj/sij/rHQyDcN0G0Nh4MIK2Ht3I81JHhcIX8TAJeT4rXc
         eDE2ilxUoLzRQ7UrL95daN0+22x/1DLM3K574=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713807013; x=1714411813;
        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=UZ5alHH1hHZ3pF+Rs1b70jFUh/Wnv5VU4OREt5OFcLM=;
        b=HgNzgIgWECbcfu3zq1TpSWHuVqERFnv37oRebp61AtYdHNpV6H59sjjM82GEJjlolQ
         fr8IhOe8HWodGw0zrf/uxGcq4ro7ZkUpdH6UJwoZ3DDsHIW+uGw2wG2Fl0MVkxArP4tM
         +IRSxGKJs8BKcVKDFtbGa7fqo6/4uC1WoxctF+jiIKRkIJuxfyy4x0jKKThjUQIjVuqS
         KJXnRScqJaJ7NB0J6qXsPhl3Tw08Gb7yjNBYXQIYWz6yGRfnUlaW/rgE9uQn+XILQ/lY
         esTRxbY/2WmiCJAddnS2J/6fzhpbCHg9ioGcIQE0WSnGRL46HQ/2QBy2bdw2mGaAqCaq
         0N1w==
X-Gm-Message-State: AOJu0YwoPp144m+aulnEOETkWyEhm/Af/sNHoYLhlI3MSN7McIAP7Fch
	wGqbXFLwE1V6e6HeL8tskSYj+PWoXd9uUmTRKngZfmXOnTvWxfYlBLuxZa5PDKVssOHetTbeURG
	K
X-Google-Smtp-Source: AGHT+IFmq+qXW0VFqFjfqLZsNc5yY/rabr5J/2FZRgq+Zs+rmYtpAxk8sYC+Gojny5DRvc+Lp2stOA==
X-Received: by 2002:a5d:404c:0:b0:34b:640e:ad0e with SMTP id w12-20020a5d404c000000b0034b640ead0emr64709wrp.31.1713807013196;
        Mon, 22 Apr 2024 10:30:13 -0700 (PDT)
Date: Mon, 22 Apr 2024 18:30:11 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/5] x86: Add usage() to print out usage message
Message-ID: <4b0a2abe-8bc8-42cd-9e18-4d654bdb4249@perard>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-4-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240416091546.11622-4-fouad.hilly@cloud.com>

On Tue, Apr 16, 2024 at 10:15:44AM +0100, Fouad Hilly wrote:
> Refactor xen-ucode tool by adding usage() to handle usage\help messages
> As we add more command options this will keep help\usage messages in common block
> 
> [v2]
> 1- Improved message description.
> 2- Fixed formatting and indentation.
> 3- Error message to print to stderr.
> 
> Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
> ---
>  tools/misc/xen-ucode.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> index c6ae6498d659..0c0b2337b4ea 100644
> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -17,6 +17,15 @@ static xc_interface *xch;
>  static const char intel_id[] = "GenuineIntel";
>  static const char   amd_id[] = "AuthenticAMD";
>  
> +static void usage(const char *name)
> +{
> +    printf("%s: Xen microcode updating tool\n"
> +           "Usage: %s [microcode file] [options]\n"
> +           "Options:\n"
> +           "show-cou-info   show CPU information and exit\n",

Don't change the usage message just yet. It still is
    "Usage: %s [<microcode file> | show-cpu-info]"

The current one mean we can run one of:
    ./xen-ucode ucode.bin
    ./xen-ucode show-cpu-info

The proposed help message in this patch mean we could have one of:
    ./xen-ucode ucode.bin
    ./xen-ucode show-cpu-info
    ./xen-ucode ucode.bin show-cpu-info
But that last one is an error.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 17:48:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 17:48:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710180.1109270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxmG-0002pW-Ml; Mon, 22 Apr 2024 17:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710180.1109270; Mon, 22 Apr 2024 17: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 1ryxmG-0002pP-KB; Mon, 22 Apr 2024 17:48:28 +0000
Received: by outflank-mailman (input) for mailman id 710180;
 Mon, 22 Apr 2024 17: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=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryxmF-0002p4-9P
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 17:48:27 +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 841d5c10-00d0-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 19:48:24 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3455ff1339dso3617003f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 10:48:24 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e32-20020a5d5960000000b0033ec9ddc638sm12596641wri.31.2024.04.22.10.48.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 10: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: 841d5c10-00d0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713808104; x=1714412904; 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=G3L/NmElsyhmYgD3dp+mfLt4eHvN9kbaxLsAUWOU2kM=;
        b=QCi5N991vJaIGQe0f0ib+RQXcwTlJN2+maZaTIep6qtz80TnTM1xcPOhM5vjg7xwKy
         Xxskym06Dw77qW4ed1zAcNT9BoFOX8AcJcRClshluTHiw8N0IjV5TFBGeI4vATzTMMdv
         Dj/oDAjERqwrRjTvDHk5tInr+pVWhR9fFrZUc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713808104; x=1714412904;
        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=G3L/NmElsyhmYgD3dp+mfLt4eHvN9kbaxLsAUWOU2kM=;
        b=HyFcyFCx2DB+v1K1fNXfYOBKEuQcTU7iUfNzCHbwqOAJAUt6oRxSYsTSneOgXA2Bur
         BeUenTGr+Twa0jvnuDIzUw0L5hl8aVgIFc5vlpoIcL+lDMm1O95A5xiN7DxpHDj7YxFt
         bFJMKVEsg5yfJH3BZmVFWTzTMqz+WbBwCR8Ds2GVKOUdeaar3t+A4XbWWEQBc9EFqVPs
         j075R9X27wCaMnIY0CcpW+kh/3mWf9Y5n8ITyylOhjA0ZFNuFOK7XGVHf6320awgieLM
         VVgm6kCZ+aXyjdXYnPe3AQ0dYqdltkvSk7o0p9ji4mpLdy/FoyLVOX6h7dr43NsHdbtI
         /Hfg==
X-Gm-Message-State: AOJu0YyQitNhpnnjPxU64efZZGuEYrmxkh2csxGvLreCR4DfKM827ABA
	4qySWpRIqLNux1gbZX5Jf/FWPpYS3J15TpC9ayWhfWrbrWwT0r7+Jby8XglRXyQ=
X-Google-Smtp-Source: AGHT+IEf2kjNcx3rNjl8CT5xF39x1ZpWFEXUchaBArDqLwV/MuqnFmilOgkqTTllxXQaKS6icd2BBw==
X-Received: by 2002:a5d:6886:0:b0:34a:48a0:fa70 with SMTP id h6-20020a5d6886000000b0034a48a0fa70mr9294814wru.40.1713808103722;
        Mon, 22 Apr 2024 10:48:23 -0700 (PDT)
Date: Mon, 22 Apr 2024 18:48:22 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/5] x86: Use getopt to handle command line args
Message-ID: <5ece784e-cc8c-4cbb-9ea3-a55f29fab1ac@perard>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-5-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240416091546.11622-5-fouad.hilly@cloud.com>

On Tue, Apr 16, 2024 at 10:15:45AM +0100, Fouad Hilly wrote:
> diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> index 0c0b2337b4ea..e3c1943e3633 100644
> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -11,6 +11,7 @@
>  #include <sys/stat.h>
>  #include <fcntl.h>
>  #include <xenctrl.h>
> +#include <getopt.h>
>  
>  static xc_interface *xch;
>  
> @@ -22,7 +23,8 @@ static void usage(const char *name)
>      printf("%s: Xen microcode updating tool\n"
>             "Usage: %s [microcode file] [options]\n"
>             "Options:\n"
> -           "show-cou-info   show CPU information and exit\n",
> +           "  -h, --help            display this help and exit\n"
> +           "  -s, --show-cpu-info   show CPU information and exit\n",
>             name, name);
>  }
>  
> @@ -86,6 +88,13 @@ int main(int argc, char *argv[])
>      char *filename, *buf;
>      size_t len;
>      struct stat st;
> +    int opt;
> +
> +    static const struct option options[] = {
> +        {"help", no_argument, NULL, 'h'},
> +        {"show-cpu-info", no_argument, NULL, 's'},
> +        {NULL, no_argument, NULL, 0}
> +    };
>  
>      xch = xc_interface_open(NULL, NULL, 0);
>      if ( xch == NULL )
> @@ -95,19 +104,22 @@ int main(int argc, char *argv[])
>          exit(1);
>      }
>  
> -    if ( argc < 2 )
> -    {
> -        fprintf(stderr,
> -                "xen-ucode: Xen microcode updating tool\n"
> -                "Usage: %s [<microcode file> | show-cpu-info]\n", argv[0]);
> -        show_curr_cpu(stderr);
> -        exit(2);
> -    }
> +    if ( argc != 2 )
> +        goto ext_err;

Why only two arguments allowed? And why check `argc` before calling
getopt_long() ?


>  
> -    if ( !strcmp(argv[1], "show-cpu-info") )
> +    while ( (opt = getopt_long(argc, argv, "hs", options, NULL)) != -1 )
>      {
> -        show_curr_cpu(stdout);
> -        return 0;
> +        switch (opt)
> +        {
> +        case 'h':
> +            usage(argv[0]);
> +            exit(EXIT_SUCCESS);
> +        case 's':
> +            show_curr_cpu(stdout);
> +            exit(EXIT_SUCCESS);
> +        default:
> +            goto ext_err;
> +        }
>      }
>  
>      filename = argv[1];

So, after calling getopt_long(), the variable `optind` point to the next
argument that getopt_long() didn't recognize as an argument. It would be
a good time to start using it, and check that the are actually argument
left on the command line, even if in the current patch the only possible
outcome is that argv[1] has something that isn't an option.

> @@ -152,4 +164,11 @@ int main(int argc, char *argv[])
>      close(fd);
>  
>      return 0;
> +
> + ext_err:
> +    fprintf(stderr,
> +            "xen-ucode: Xen microcode updating tool\n"
> +            "Usage: %s [microcode file] [options]\n", argv[0]);

Isn't there a usage() function that we could use?

> +    show_curr_cpu(stderr);

Why call show_curr_cpu() on the error path?

> +    exit(STDERR_FILENO);

Still not an exit value.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 17:58:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 17:58:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710185.1109280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxvM-0005BI-II; Mon, 22 Apr 2024 17:57:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710185.1109280; Mon, 22 Apr 2024 17:57:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryxvM-0005BB-FU; Mon, 22 Apr 2024 17:57:52 +0000
Received: by outflank-mailman (input) for mailman id 710185;
 Mon, 22 Apr 2024 17:57:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B2T4=L3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ryxvL-0005B3-EX
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 17:57:51 +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 d4826f05-00d1-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 19:57:48 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-346406a5fb9so3790009f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 10:57:48 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u17-20020adfeb51000000b00347321735a6sm12603498wrn.66.2024.04.22.10.57.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 10:57:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4826f05-00d1-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713808668; x=1714413468; 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=JSnBH49T3OqaJvnPFW1gr50cYh18DpiRIBpR8edsy0A=;
        b=AsdYZq74vB1RA4IvhWrCmW8gvg3Rk7tFIMKtAJSb6mRf98BlkQxPpB4rjzxXy2LmJ0
         zi8Z6MZj9JCTcmo0L8ezoK3/6Sq0uGGc9GFDKiikrlRGrng7NmqKflsn48g5S/7RK47O
         s43DUdecYgFstzgAi3KoQmgf59+q+jpweB+NM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713808668; x=1714413468;
        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=JSnBH49T3OqaJvnPFW1gr50cYh18DpiRIBpR8edsy0A=;
        b=oCK+HDM+QEjU+DRMN8/PcdM15t+wCsBaMxThIYGGuE1BFxQiMZHHEeqiE/fjt3J6RV
         KCRDy6f6NhPIx+iKQ0tA1fiz15fusUQDYWuYVEtGATyVfJ+tL0TAB5al6RmcS6eQkYv/
         2HkKd+JkZBnQuBS3FPEFl6Afa6OSX5UR4LZKMnUuXhWEtJA/JhEhzrJNzXQuw/eD6X0Q
         B+YFlhAr4Uk+FG63xMT5gqFYaYDjLhnEXVqX/uZf1lowIb8EADVjm52+aFVdHNGQ6LxC
         DnwAZ6KKBY0zB4OP9UINKXLBk1kVqvTsPXDWpVFrvlgokiutG0Gd6RXZfC0QrURmP8uH
         1h0w==
X-Gm-Message-State: AOJu0Ywc3gYv5+raMjGbV8HS9WJ6EPz4NS9SP07EIEgIUvklWdUW6pqz
	ozyKV2lYkvv8dPoinf7y6HgrJeeSJ9/NArOYBDNzJQPm8zkh9Nn1QyZfB/X0/Fg=
X-Google-Smtp-Source: AGHT+IG8B0xmSb0gtR/F7CrUNqTWjPfm+d1jWXI4hkeiCkFNHAxWooMmuCiyZ7Rft2PMh1zF5bUz1A==
X-Received: by 2002:adf:e80a:0:b0:345:b238:534d with SMTP id o10-20020adfe80a000000b00345b238534dmr5851771wrm.28.1713808668038;
        Mon, 22 Apr 2024 10:57:48 -0700 (PDT)
Date: Mon, 22 Apr 2024 18:57:46 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 5/5] x86: Add --force option to xen-ucode to override
 microcode version check
Message-ID: <35e382d7-0f65-4dbe-bc80-ddbf9d649e24@perard>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-6-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240416091546.11622-6-fouad.hilly@cloud.com>

On Tue, Apr 16, 2024 at 10:15:46AM +0100, Fouad Hilly wrote:
> Introduce --force option to xen-ucode to force skipping microcode version
> check, which allows the user to update x86 microcode even if both versions
> are the same.
> 
> [v2]
> 1- Changed data type from uint32_t to unsigned int.
> 2- Corrected line length.
> 3- Removed XENPF_UCODE_FLAG_FORCE_NOT_SET.
> 4- Corrected indentations.
> 5- Changed command line options to have the file name as first argument when applicable.
> 6- --force option doesn't require an argument anymore.
> 7- Used optint to access filename in argv.
> 
> Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
> ---
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>

You might want to move that tag before the '---' separation otherwise it
wont be part of the commit message. `git am` discard every thing after
the '---' line. Also add the tag before your SOB.

> ---
>  tools/include/xenctrl.h   |  3 ++-
>  tools/libs/ctrl/xc_misc.c | 13 +++++++++++--
>  tools/misc/xen-ucode.c    | 18 +++++++++++++-----
>  3 files changed, 26 insertions(+), 8 deletions(-)
> 
> diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> index e3c1943e3633..4178fd2221ea 100644
> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -24,7 +26,8 @@ static void usage(const char *name)
>             "Usage: %s [microcode file] [options]\n"

Now, that usage line is wrong. The options needs to go before the file.
That could be fix on the previous patch. With that usage line, we would
want to run `./xen-ucode ucode.bin --force`, but I don't think that
would work.

>             "Options:\n"
>             "  -h, --help            display this help and exit\n"
> -           "  -s, --show-cpu-info   show CPU information and exit\n",
> +           "  -s, --show-cpu-info   show CPU information and exit\n"
> +           "  -f, --force           force to skip micorocde version check\n",
>             name, name);
>  }
>  

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710196.1109346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBh-0001dp-TO; Mon, 22 Apr 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 710196.1109346; Mon, 22 Apr 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 1ryyBh-0001cX-Ml; Mon, 22 Apr 2024 18:14:45 +0000
Received: by outflank-mailman (input) for mailman id 710196;
 Mon, 22 Apr 2024 18:14: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=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyBf-0000IX-OD
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:14: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 313ada63-00d4-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 20:14:43 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a559b919303so249730966b.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:14:43 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z15-20020a170906668f00b00a51d073da7esm5994224ejo.82.2024.04.22.11.14.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 11: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: 313ada63-00d4-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809682; x=1714414482; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dB+pEYt/xsRXM0pv02BxjDs01ExeTPOKtKLGLzOzv0s=;
        b=m/YD7PW9Cinj9EGqD1JjCAgTChK87yX6Uvl6xvYJxsOl35BZPNaiEJAng9P1i57KOa
         gaZh+J2Ef3hUfcbgW6d01L0UpVYiLgX6baUO0KnTnZV0wgYOPAjIB24VwRZgo9BcaeWq
         yxIeEpAGtfYCnaOsSKNN+8W0Dz0CMi9L08mkQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809682; x=1714414482;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dB+pEYt/xsRXM0pv02BxjDs01ExeTPOKtKLGLzOzv0s=;
        b=O+hyWgCzHxiPtOv9ZnkfVqlvje80IYYtmlIrBUYejy1k/r9pT863FXu2zyg2yCUZMa
         xBPB0qkNFwNilMIPRqe9+Mpb2TdhyaasY8t4X0JtIjt5SpEVZcRgjDuXXJizAZWYlgcg
         rKTjPPp56IGaMnavArrNOBaBY2HcHeKGglXG+bwFvSYkKbLxi1vOx0wXiF33aRmjdV1E
         0wQSsdXVJpS62DC99mSByl7YWUQvIauVkfWwqEZddeTmdwD2X/nEy864f5OL8BTMdPWc
         SycWpd8lSfwbSfaGZ1+tgicvQ3OGsWBX2lIXtQHqeCshXQfmfrf0Urx/HhvjJuHaL+77
         VPwQ==
X-Gm-Message-State: AOJu0YwF6/8QhXhe7xBsz9KWpSctht05QZKdoNoQ4z5ebrq8EoztWUyb
	YSJKbDLXXMWiEl795QtbxRwFMeYe2/z19+bDdyBCnWd8c7TurCsBn0Zkh/fHc9/9HHJoEcM+tzO
	sfQU=
X-Google-Smtp-Source: AGHT+IGqd/HqMIOYUnziS1lqHwIAw5CNOJQ9KnM2G4JVD+h+CP14AE9vAz3vT5t6yXjZ6d/aUx+h6Q==
X-Received: by 2002:a17:906:b092:b0:a55:387b:ef07 with SMTP id x18-20020a170906b09200b00a55387bef07mr7177532ejy.13.1713809682179;
        Mon, 22 Apr 2024 11:14: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 6/6] x86/spec-ctrl: Introduce and use DO_COND_BHB_SEQ
Date: Mon, 22 Apr 2024 19:14:34 +0100
Message-Id: <20240422181434.3463252-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Now that alternatives can fix up call displacements even when they're not the
first instruction of the replacement, move the SCF_entry_bhb conditional
inside the replacement block.

This removes a conditional branch from the fastpaths of BHI-unaffected
hardware.

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/vmx/entry.S             | 12 +++----
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 43 +++++++++++++-----------
 2 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/entry.S b/xen/arch/x86/hvm/vmx/entry.S
index 7233e771d88a..77bf9ea564ea 100644
--- a/xen/arch/x86/hvm/vmx/entry.S
+++ b/xen/arch/x86/hvm/vmx/entry.S
@@ -62,12 +62,12 @@ ENTRY(vmx_asm_vmexit_handler)
          * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
          * itself so must be after we've perfomed all the RET-safety we can.
          */
-        testb $SCF_entry_bhb, CPUINFO_scf(%rsp)
-        jz .L_skip_bhb
-        ALTERNATIVE_2 "",                                    \
-            "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
-            "call clear_bhb_tsx", X86_SPEC_BHB_TSX
-.L_skip_bhb:
+        .macro VMX_BHB_SEQ fn:req
+            DO_COND_BHB_SEQ \fn scf=CPUINFO_scf(%rsp)
+        .endm
+        ALTERNATIVE_2 "",                                         \
+            "VMX_BHB_SEQ fn=clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
+            "VMX_BHB_SEQ fn=clear_bhb_tsx",   X86_SPEC_BHB_TSX
 
         ALTERNATIVE "lfence", "", X86_SPEC_NO_LFENCE_ENTRY_VMX
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index 729a830411eb..559dad88f967 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -92,6 +92,21 @@
 .L\@_skip:
 .endm
 
+.macro DO_COND_BHB_SEQ fn:req, scf=%bl
+/*
+ * Requires SCF (defaults to %rbx), fn=clear_bhb_{loops,tsx}
+ * Clobbers %rax, %rcx
+ *
+ * Conditionally use a BHB clearing software sequence.
+ */
+    testb  $SCF_entry_bhb, \scf
+    jz     .L\@_skip_bhb
+
+    call   \fn
+
+.L\@_skip_bhb:
+.endm
+
 .macro DO_OVERWRITE_RSB tmp=rax, xu
 /*
  * Requires nothing
@@ -277,12 +292,9 @@
      * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
      * itself so must be after we've perfomed all the RET-safety we can.
      */
-    testb $SCF_entry_bhb, %bl
-    jz .L\@_skip_bhb
-    ALTERNATIVE_2 "",                                    \
-        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
-        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
-.L\@_skip_bhb:
+    ALTERNATIVE_2 "",                                          \
+        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
+        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX
 
     ALTERNATIVE "lfence", "", X86_SPEC_NO_LFENCE_ENTRY_PV
 .endm
@@ -322,12 +334,9 @@
     ALTERNATIVE "", __stringify(DO_SPEC_CTRL_ENTRY maybexen=1),         \
         X86_FEATURE_SC_MSR_PV
 
-    testb $SCF_entry_bhb, %bl
-    jz .L\@_skip_bhb
-    ALTERNATIVE_2 "",                                    \
-        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
-        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
-.L\@_skip_bhb:
+    ALTERNATIVE_2 "",                                          \
+        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
+        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX
 
     ALTERNATIVE "lfence", "", X86_SPEC_NO_LFENCE_ENTRY_INTR
 .endm
@@ -433,13 +442,9 @@
      * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
      * itself so must be after we've perfomed all the RET-safety we can.
      */
-    testb $SCF_entry_bhb, %bl
-    jz .L\@_skip_bhb
-
-    ALTERNATIVE_2 "",                                    \
-        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
-        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
-.L\@_skip_bhb:
+    ALTERNATIVE_2 "",                                          \
+        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
+        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX
 
     lfence
 .endm
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710194.1109320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBf-0000pk-9U; Mon, 22 Apr 2024 18:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710194.1109320; Mon, 22 Apr 2024 18: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 1ryyBf-0000oY-1G; Mon, 22 Apr 2024 18:14:43 +0000
Received: by outflank-mailman (input) for mailman id 710194;
 Mon, 22 Apr 2024 18:14:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyBe-0000IX-6f
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:14:42 +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 2ffeed76-00d4-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 20:14:41 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a55ab922260so203926466b.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:14:41 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z15-20020a170906668f00b00a51d073da7esm5994224ejo.82.2024.04.22.11.14.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 11:14: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: 2ffeed76-00d4-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809680; x=1714414480; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FaF1+jq0lOG0Zt+SDR+w7NABaf8lTc4H+2KHEf8aMyg=;
        b=BJFT2JallZ/j//2MXYLr2gSSAMRBSs91NowYyRZw2r13Q85exIpfAnABt4KqaiUoV9
         0Vg30zKnMkh7CSHkaXkjpQmHLqMv/eMn/dG6qDzr4n7wIL8+9NM4h8tNpEpACGpMMUVi
         2IF4ZFViGMHFOKUmCUZNq3Cab7WnNgcCkC+bU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809680; x=1714414480;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FaF1+jq0lOG0Zt+SDR+w7NABaf8lTc4H+2KHEf8aMyg=;
        b=JZuVlHWOy8PWnTFXnKhTy85wWu56b2o6nIHlo7rLskynZ+KP2v3B00CjHAttAzd7wo
         g2SFKt70VgrhytUxHDVEuATy1lCw0vy0cNBiOqfWwuaCUZRO5CXqBzVzavjp7EXWLHdL
         qcB5YpHWdt9JPbd9DryaGaWOGs3S0LzhrYBBAcJpaIRuvyV5gIA+jhPKISlxPrz6rWfE
         pfiJe9P9Vs8gH/NHOke4iblbd+VkQKHfYaqOj7V/bIiP3z2njEL0aXfcQkvHAWzeQx29
         H6i7pvn0a8sjNZ3V2Kj7jmuP9ztHBSEzl7VsclLlVXPR6K1aBJpFRCEQy5WH11SeFSxT
         K2Ng==
X-Gm-Message-State: AOJu0Yy80mRYXNI8DOw+y1h1t3mqlIhPVyK2Egz8VlOk/pcRpgke57Qu
	kY0z5d+/Y8RkiBRK1rRQSwvocAhdEN8BXh8VAqxELbsluSXH/jB/LbpLnT42H0vm83EgjLyz+sn
	ZRr4=
X-Google-Smtp-Source: AGHT+IHmqFdmdVeYAFVG6c/DuwA7Wp3vBh4M41S2ewoBL7esKFiKG2mvjUAjL/oIHx92bkOiFta4Xg==
X-Received: by 2002:a17:906:1d47:b0:a58:7507:d4ed with SMTP id o7-20020a1709061d4700b00a587507d4edmr440811ejh.15.1713809680447;
        Mon, 22 Apr 2024 11:14: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 4/6] x86/alternative: Replace a continue with a goto
Date: Mon, 22 Apr 2024 19:14:32 +0100
Message-Id: <20240422181434.3463252-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

A subsequent patch is going to insert a loop, which interferes with the
continue in the devirtualisation logic.

Replace it with a goto, and a paragraph explaining why we intentionally avoid
setting a->priv = 1.

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/alternative.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 2ca4dfd569bc..c86ea235e865 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -308,7 +308,15 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
                         buf[4] = 0xff;
                     }
                     else
-                        continue;
+                    {
+                        /*
+                         * The function pointer we're wanting to devirtualise
+                         * is still NULL, and we're not sealing yet.  Leave
+                         * the alternative fully un-processed, in order to
+                         * process it the next time around.
+                         */
+                        goto skip_this_alternative;
+                    }
                 }
                 else if ( force && system_state < SYS_STATE_active )
                     ASSERT_UNREACHABLE();
@@ -323,6 +331,7 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
 
         add_nops(buf + a->repl_len, total_len - a->repl_len);
         text_poke(orig, buf, total_len);
+    skip_this_alternative:;
     }
 
     /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710193.1109312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBe-0000iX-TO; Mon, 22 Apr 2024 18:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710193.1109312; Mon, 22 Apr 2024 18: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 1ryyBe-0000g7-N5; Mon, 22 Apr 2024 18:14:42 +0000
Received: by outflank-mailman (input) for mailman id 710193;
 Mon, 22 Apr 2024 18:14:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyBd-0000Oz-FA
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:14:41 +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 2eaaf11d-00d4-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 20:14:38 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-56e136cbcecso6788378a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:14:38 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z15-20020a170906668f00b00a51d073da7esm5994224ejo.82.2024.04.22.11.14.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 11:14: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: 2eaaf11d-00d4-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809678; x=1714414478; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6RRljp8ilqBOCq7+riUQu2IxAcNGdCvaCKnCfHGbuws=;
        b=u73wAZeaC42onoCzpA2HsXTCOhDXT4Y7CH8on5ZJOI8H5KnR91YSaSgn0cO63+pCc8
         jL/8itLcWkrLbZvNjWphMaib1bQtDNmUfH4GmUiUPCUzryL90KpKuft+CxGDVaXjneWo
         2HUUrh5sErCC3FziPwUDMLMfP8O0PGIaGsK8c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809678; x=1714414478;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6RRljp8ilqBOCq7+riUQu2IxAcNGdCvaCKnCfHGbuws=;
        b=RHJV3rB8EF5RXAKd3cKU1XgWmG82ie52JZqqRVOvuz2un+K0lD+T5vdkXjRU05CvDd
         hVhU2jdFCtNuPqXi5OtPE5EkjhkIDO0otbnSCy+yG7ZSb3smoxFcGksF3VmKVvyN9L4k
         76dBnjJUPZ+4ZCu+LiaJ72+exu8ShsWmM5pTLNC1+V8tTKiMqJWSlZ10Nub/ljiSNdXa
         2YPKEXs1yub8csebe7P/4k+gWjBIwBTWCS4ld4nJ9f5lYVA6CdLiTY+b7CitZPghyi28
         YXjYYzvzeKr0hA0B8n4jRDi2unDiee6ffRqtX5g0ec8i7ThXipHB01Nf5hB84ynZuNTw
         nxfQ==
X-Gm-Message-State: AOJu0Yw9NidK+KP2Q57ra+jcEv4PrqDfveRTI48HjHxnDVyZaLEcL763
	nawJjWanaRICJqZ3tPcSAoSX1mx2iuUTz0zI59J+AoCKLB0fr2yDDFK9qFTAjLQejjmI3adY+Mg
	9nnI=
X-Google-Smtp-Source: AGHT+IGXtcazIcbQnNsHc45oDqFJsnTRiN7QccNtav/aj2Lc2owoQkx7kwbiFs6TnAPwRJubHQtmzg==
X-Received: by 2002:a17:906:eb4f:b0:a58:725b:9fea with SMTP id mc15-20020a170906eb4f00b00a58725b9feamr846018ejb.21.1713809677900;
        Mon, 22 Apr 2024 11:14: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 1/6] x86: Introduce x86_decode_lite()
Date: Mon, 22 Apr 2024 19:14:29 +0100
Message-Id: <20240422181434.3463252-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In order to relocate all IP-relative fields in an alternative replacement
block, we need to decode the instructions enough to obtain their length and
any relative fields.

Full x86_decode() is far too heavyweight, so introduce a minimal form which
can make several simplifying assumptions.

This logic is sufficient to decode all alternative blocks that exist in Xen
right now.

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/x86_emulate/Makefile      |   1 +
 xen/arch/x86/x86_emulate/decode-lite.c | 245 +++++++++++++++++++++++++
 xen/arch/x86/x86_emulate/private.h     |   2 +
 xen/arch/x86/x86_emulate/x86_emulate.h |  17 ++
 4 files changed, 265 insertions(+)
 create mode 100644 xen/arch/x86/x86_emulate/decode-lite.c

diff --git a/xen/arch/x86/x86_emulate/Makefile b/xen/arch/x86/x86_emulate/Makefile
index 2e20d65d788a..f06731913d67 100644
--- a/xen/arch/x86/x86_emulate/Makefile
+++ b/xen/arch/x86/x86_emulate/Makefile
@@ -3,6 +3,7 @@ obj-y += 0fae.o
 obj-y += 0fc7.o
 obj-y += blk.o
 obj-y += decode.o
+obj-y += decode-lite.o
 obj-$(CONFIG_HVM) += fpu.o
 obj-y += util.o
 obj-y += util-xen.o
diff --git a/xen/arch/x86/x86_emulate/decode-lite.c b/xen/arch/x86/x86_emulate/decode-lite.c
new file mode 100644
index 000000000000..050b0d8cf4a8
--- /dev/null
+++ b/xen/arch/x86/x86_emulate/decode-lite.c
@@ -0,0 +1,245 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include "private.h"
+
+#define Imm8   (1 << 0)
+#define Imm    (1 << 1)
+#define Branch (1 << 5) /* ... that we care about */
+/*      ModRM  (1 << 6) */
+#define Known  (1 << 7)
+
+#define ALU_OPS                                 \
+    (Known|ModRM),                              \
+    (Known|ModRM),                              \
+    (Known|ModRM),                              \
+    (Known|ModRM),                              \
+    (Known|Imm8),                               \
+    (Known|Imm)
+
+static const uint8_t init_or_livepatch_const onebyte[256] = {
+    [0x00] = ALU_OPS, /* ADD */ [0x08] = ALU_OPS, /* OR  */
+    [0x10] = ALU_OPS, /* ADC */ [0x18] = ALU_OPS, /* SBB */
+    [0x20] = ALU_OPS, /* AND */ [0x28] = ALU_OPS, /* SUB */
+    [0x30] = ALU_OPS, /* XOR */ [0x38] = ALU_OPS, /* CMP */
+
+    [0x50 ... 0x5f] = (Known),             /* PUSH/POP %reg */
+
+    [0x70 ... 0x7f] = (Known|Branch|Imm8), /* Jcc disp8 */
+    [0x80]          = (Known|ModRM|Imm8),
+    [0x81]          = (Known|ModRM|Imm),
+
+    [0x83]          = (Known|ModRM|Imm8),
+    [0x84 ... 0x8e] = (Known|ModRM),       /* TEST/XCHG/MOV/MOV-SREG/LEA r/rm */
+
+    [0xb0 ... 0xb7] = (Known|Imm8),        /* MOV $imm8, %reg */
+    [0xb8 ... 0xbf] = (Known|Imm),         /* MOV $imm32, %reg */
+
+    [0xcc]          = (Known),             /* INT3 */
+    [0xcd]          = (Known|Imm8),        /* INT $imm8 */
+
+    [0xe8 ... 0xe9] = (Known|Branch|Imm),  /* CALL/JMP disp32 */
+    [0xeb]          = (Known|Branch|Imm8), /* JMP disp8 */
+
+    [0xf1]          = (Known),             /* ICEBP */
+    [0xf4]          = (Known),             /* HLT */
+    [0xf5]          = (Known),             /* CMC */
+    [0xf6 ... 0xf7] = (Known|ModRM),       /* Grp3 */
+    [0xf8 ... 0xfd] = (Known),             /* CLC ... STD */
+    [0xfe ... 0xff] = (Known|ModRM),       /* Grp4 */
+};
+static const uint8_t init_or_livepatch_const twobyte[256] = {
+    [0x00 ... 0x01] = (Known|ModRM),       /* Grp6/Grp7 */
+
+    [0x18 ... 0x1f] = (Known|ModRM),       /* Grp16 (Hint Nop) */
+
+    [0x20 ... 0x23] = (Known|ModRM),       /* MOV CR/DR */
+
+    [0x30 ... 0x34] = (Known),             /* WRMSR ... RDPMC */
+    [0x40 ... 0x4f] = (Known|ModRM),       /* CMOVcc */
+
+    [0x80 ... 0x8f] = (Known|Branch|Imm),  /* Jcc disp32 */
+    [0x90 ... 0x9f] = (Known|ModRM),       /* SETcc */
+
+    [0xab]          = (Known|ModRM),       /* BTS */
+    [0xac]          = (Known|ModRM|Imm8),  /* SHRD $imm8 */
+    [0xad ... 0xaf] = (Known|ModRM),       /* SHRD %cl / Grp15 / IMUL */
+
+    [0xb8 ... 0xb9] = (Known|ModRM),       /* POPCNT/Grp10 (UD1) */
+    [0xba]          = (Known|ModRM|Imm8),  /* Grp8 */
+    [0xbb ... 0xbf] = (Known|ModRM),       /* BSR/BSF/BSR/MOVSX */
+};
+
+/*
+ * Bare minimum x86 instruction decoder to parse the alternative replacement
+ * instructions and locate the IP-relative references that may need updating.
+ *
+ * These are:
+ *  - disp8/32 from near branches
+ *  - RIP-relative memory references
+ *
+ * The following simplifications are used:
+ *  - All code is 64bit, and the instruction stream is safe to read.
+ *  - The 67 prefix is not implemented, so the address size is only 64bit.
+ *
+ * Inputs:
+ *  @ip  The position to start decoding from.
+ *  @end End of the replacement block.  Exceeding this is considered an error.
+ *
+ * Returns: x86_decode_lite_t
+ *  - On failure, length of -1.
+ *  - On success, length > 0 and REL_TYPE_*.  For REL_TYPE != NONE, rel points
+ *    at the relative field in the instruction stream.
+ */
+x86_decode_lite_t init_or_livepatch x86_decode_lite(void *ip, void *end)
+{
+    void *start = ip, *rel = NULL;
+    unsigned int opc, type = REL_TYPE_NONE;
+    uint8_t b, d, osize = 4;
+
+#define OPC_TWOBYTE (1 << 8)
+
+    /* Mutates IP, uses END. */
+#define FETCH(ty)                                       \
+    ({                                                  \
+        ty _val;                                        \
+                                                        \
+        if ( (ip + sizeof(ty)) > end )                  \
+            goto overrun;                               \
+        _val = *(ty *)ip;                               \
+        ip += sizeof(ty);                               \
+        _val;                                           \
+    })
+
+    for ( ;; ) /* Prefixes */
+    {
+        switch ( b = FETCH(uint8_t) )
+        {
+        case 0x26: /* ES override */
+        case 0x2e: /* CS override */
+        case 0x36: /* DS override */
+        case 0x3e: /* SS override */
+        case 0x64: /* FS override */
+        case 0x65: /* GS override */
+        case 0xf0: /* Lock */
+        case 0xf2: /* REPNE */
+        case 0xf3: /* REP */
+            break;
+
+        case 0x66: /* Operand size override */
+            osize = 2;
+            break;
+
+        /* case 0x67: Address size override, not implemented */
+
+        case 0x40 ... 0x4f: /* REX */
+            continue;
+
+        default:
+            goto prefixes_done;
+        }
+    }
+ prefixes_done:
+
+    /* Fetch the main opcode byte(s) */
+    if ( b == 0x0f )
+    {
+        b = FETCH(uint8_t);
+        opc = OPC_TWOBYTE | b;
+
+        d = twobyte[b];
+    }
+    else
+    {
+        opc = b;
+        d = onebyte[b];
+    }
+
+    if ( unlikely(!(d & Known)) )
+        goto unknown;
+
+    if ( d & ModRM )
+    {
+        uint8_t modrm = FETCH(uint8_t);
+        uint8_t mod = modrm >> 6;
+        uint8_t reg = (modrm >> 3) & 7;
+        uint8_t rm = modrm & 7;
+
+        /* ModRM/SIB decode */
+        if ( mod == 0 && rm == 5 ) /* RIP relative */
+        {
+            rel = ip;
+            type = REL_TYPE_d32;
+            FETCH(uint32_t);
+        }
+        else if ( mod != 3 && rm == 4 ) /* SIB */
+            FETCH(uint8_t);
+
+        if ( mod == 1 ) /* disp8 */
+            FETCH(uint8_t);
+        else if ( mod == 2 ) /* disp32 */
+            FETCH(uint32_t);
+
+        /* ModRM based decode adjustements */
+        switch ( opc )
+        {
+        case 0xf6: /* Grp3 TEST(s) have extra Imm8 */
+            if ( reg == 0 || reg == 1 )
+                d |= Imm8;
+            break;
+        case 0xf7: /* Grp3 TEST(s) have extra Imm */
+            if ( reg == 0 || reg == 1 )
+                d |= Imm;
+            break;
+        }
+    }
+
+    if ( d & Branch )
+    {
+        /*
+         * Don't tolerate 66-prefixed call/jmp in alternatives.  Some are
+         * genuinely decoded differently between Intel and AMD CPUs.
+         */
+        if ( osize != 4 )
+            goto bad_osize;
+
+        rel = ip;
+        type = (d & Imm8) ? REL_TYPE_d8 : REL_TYPE_d32;
+    }
+
+    if ( d & (Imm|Imm8) )
+    {
+        if ( d & Imm8 )
+            osize = 1;
+
+        switch ( osize )
+        {
+        case 1: FETCH(uint8_t);  break;
+        case 2: FETCH(uint16_t); break;
+        case 4: FETCH(uint32_t); break;
+        default: goto bad_osize;
+        }
+    }
+
+    return (x86_decode_lite_t){ ip - start, type, rel };
+
+ bad_osize:
+    printk(XENLOG_ERR "%s() Bad osize %u in %*ph\n",
+           __func__, osize,
+           (int)(unsigned long)(end - start), start);
+    return (x86_decode_lite_t){ -1, REL_TYPE_NONE, NULL };
+
+ unknown:
+    printk(XENLOG_ERR "%s() Unknown opcode in %*ph <%02x> %*ph\n",
+           __func__,
+           (int)(unsigned long)(ip - 1 - start), start, b,
+           (int)(unsigned long)(end - ip), ip);
+    return (x86_decode_lite_t){ -1, REL_TYPE_NONE, NULL };
+
+ overrun:
+    printk(XENLOG_ERR "%s() Decode overrun, got %*ph\n",
+           __func__,
+           (int)(unsigned long)(end - start), start);
+    return (x86_decode_lite_t){ -1, REL_TYPE_NONE, NULL };
+
+#undef FETCH
+}
diff --git a/xen/arch/x86/x86_emulate/private.h b/xen/arch/x86/x86_emulate/private.h
index 0fa26ba00aa5..792b04889ce6 100644
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -9,7 +9,9 @@
 #ifdef __XEN__
 
 # include <xen/bug.h>
+# include <xen/init.h>
 # include <xen/kernel.h>
+# include <xen/livepatch.h>
 # include <asm/endbr.h>
 # include <asm/msr-index.h>
 # include <asm/x86-vendors.h>
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index d92be69d84d9..b7cbcd8b70ba 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -842,4 +842,21 @@ static inline void x86_emul_reset_event(struct x86_emulate_ctxt *ctxt)
     ctxt->event = (struct x86_event){};
 }
 
+/*
+ * x86_decode_lite().  Very minimal decoder for managing alternatives.
+ *
+ * @len is -1 on error, or positive on success.  If the instruction has a
+ * relative field, REL_TYPE_* gives the size, and @rel points at the field.
+ */
+typedef struct {
+    int8_t len;
+    uint8_t rel_type;
+#define REL_TYPE_NONE 0
+#define REL_TYPE_d8   1
+#define REL_TYPE_d32  2
+    void *rel;
+} x86_decode_lite_t;
+
+x86_decode_lite_t x86_decode_lite(void *ip, void *end);
+
 #endif /* __X86_EMULATE_H__ */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710195.1109341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBh-0001aA-HA; Mon, 22 Apr 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 710195.1109341; Mon, 22 Apr 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 1ryyBh-0001Zz-Dp; Mon, 22 Apr 2024 18:14:45 +0000
Received: by outflank-mailman (input) for mailman id 710195;
 Mon, 22 Apr 2024 18:14: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=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyBf-0000Oz-If
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:14: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 30822915-00d4-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 20:14:42 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a5872b74c44so46933066b.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:14:42 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z15-20020a170906668f00b00a51d073da7esm5994224ejo.82.2024.04.22.11.14.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 11:14: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: 30822915-00d4-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809681; x=1714414481; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qnv/4DDYEmGIANJ07M3XY3Ct96pjBr7ZvuszXz6nRKc=;
        b=QzpJtI54AXreZkGZCRZZWsDlIs9qxLUDDh/+69vjiW9tEa6Gan13OcnMTcnl2GBhLJ
         CtUdJNSCtiiW0pMXxkR7GhaMosMBBj4oilGVCrFvaZ/CX6M7pIDI8vEP3hAp6cO/+/FA
         ltgIqXVkf0Ybz8/1fTA2dUqFp01Q2YIFJG/Mk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809681; x=1714414481;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qnv/4DDYEmGIANJ07M3XY3Ct96pjBr7ZvuszXz6nRKc=;
        b=UV3y7Ab06TOJMUZW5M3QB05GIvIt7ukm4F1PAk0/e9gwG67NAS9At8CLF3IWgXI14N
         13AczqnawMxz4DE6a6A2KcryJA5/NpvClssuHw2shom85xsZha+wG/Bu76/tdYPPSn6Z
         YxtIi/dmr5Ggyyxs5QB4OvRFjp4iFtnB9CLLSDSzS77hjFZ+2H3jEUMLw7scFewgiY5R
         /MEe/ZxOPmfvoKH4zJWDVw4rRQZ7tp1uiKeQrwrt12gmiP25qrZ4CRo1FKgyovY1o/WC
         XWWWXLufWzLA9WAXbUXggq7fuoM52YAZ2d5mdALLxpKx/LZnKV0J5XDDoIsofjmUy7zM
         ZNWA==
X-Gm-Message-State: AOJu0Yw6J/krc7Kv9OPWmHiLH+GkI1w45lajDjaF6NBWzl2CTcB9m0Vl
	0pRTxk1nZ38hkoUqKUO2PVBt1QstdJHktHFBnXSkUf5zFMB60o5n+s6/zMeWkEHyryRNjQBdLy4
	jXds=
X-Google-Smtp-Source: AGHT+IENu/P+oqdgoIPmfD0QCWOFEWg+4TnWMcAxsx2C9L/ECrh0opFdNPWnQ9cnJbJNMSXQoIR0AQ==
X-Received: by 2002:a17:906:a0b:b0:a52:33b0:fcb1 with SMTP id w11-20020a1709060a0b00b00a5233b0fcb1mr6665155ejf.32.1713809681291;
        Mon, 22 Apr 2024 11:14:41 -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 5/6] x86/alternative: Relocate all insn-relative fields
Date: Mon, 22 Apr 2024 19:14:33 +0100
Message-Id: <20240422181434.3463252-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Right now, relocation of displacements is restricted to finding 0xe8/e9 as the
first byte of the replacement, but this is overly restrictive.

Use x86_decode_lite() to find and adjust all insn-relative fields.

As with disp8's not leaving the replacemnet block, some disp32's don't either.
e.g. the RSB stuffing loop.  These stay unmodified.

For now, leave the altcall devirtualisation alone.  These require more care to
transform into the new scheme.

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/alternative.c | 46 +++++++++++++++++++++++++++++++-------
 1 file changed, 38 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index c86ea235e865..4d7dc9418cf0 100644
--- 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;
+                }
+
+                if ( res.rel_type != REL_TYPE_d32 )
+                    continue;
+
+                d32 = res.rel;
+
                 /*
                  * Detect the special case of indirect-to-direct branch patching:
                  * - replacement is a direct CALL/JMP (opcodes 0xE8/0xE9; already
@@ -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();
-                else
-                    *(int32_t *)(buf + 1) += repl - orig;
+
+                target = ip + res.len + *d32;
+
+                if ( target >= buf && target <= end )
+                {
+                    /*
+                     * Target doesn't leave the replacement block.  e.g. RSB
+                     * stuffing.  Leave it unmodified.
+                     */
+                    continue;
+                }
+
+                *d32 += repl - orig;
             }
-            else if ( force && system_state < SYS_STATE_active  )
-                ASSERT_UNREACHABLE();
         }
 
         a->priv = 1;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710190.1109291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBc-0000Lf-UR; Mon, 22 Apr 2024 18:14:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710190.1109291; Mon, 22 Apr 2024 18:14:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBc-0000LY-RZ; Mon, 22 Apr 2024 18:14:40 +0000
Received: by outflank-mailman (input) for mailman id 710190;
 Mon, 22 Apr 2024 18:14:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyBb-0000IX-GP
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:14:39 +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 2e4f197e-00d4-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 20:14:38 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a559b919303so249723666b.1
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:14:38 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z15-20020a170906668f00b00a51d073da7esm5994224ejo.82.2024.04.22.11.14.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 11:14: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: 2e4f197e-00d4-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809677; x=1714414477; 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=2PmRo4WbCvn8vCpF4S5VSf24st9479k1Re5mhFEYIv8=;
        b=p8s1+JVcZUPKWAGzpAy3ISG7P1xRZUA96Jx+V8yqRgyGM42WLBUooG4g1kV6vAphVG
         tcRyPvPw/rUlUjYvPjUxEYpFQsKHzdtfxZ6SMbV3UGANjuKIhuw5SCuS3Es7fdjZPBWn
         tU3AZUn/jNXA0U/j+5Pw3ro2MVGHvhPSHi6mU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809677; x=1714414477;
        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=2PmRo4WbCvn8vCpF4S5VSf24st9479k1Re5mhFEYIv8=;
        b=ayo+OErhNnas5GDY4fOGAxMGIa8jsqjbYOkUls4Hkh5RLB092nS+ngnnzRIhtPQLUA
         HyknQlHRLVe3/Vr/WVSESqKD9E5zzOhlNV68o1yTMr/CqRXHPmguzppSnL03NOzt0MPa
         sGOjIqHMu6wYI2pDm6IlUe1qO4EkD3uDnHxuXJ+3IavzOfLjcW/tXmK75GLOD1T1u/1C
         thkPwcckVj4UeAhB2XGycNRbb3g1cJcG083up2tAA/BY/LQeLjWMB9DeqKbPzazF33qJ
         yOGx7+oBbG6BYGIAxw0RLVbnRcZpCDB8Oc9ymYsd88NfpWkXf2HRM3Pb3qGVDH/nXGD8
         D4UQ==
X-Gm-Message-State: AOJu0Yz/gQNBKGCkg1u+pbyCKg/czavMDLldwqSemjNwJ7p513Ge/3in
	untjfOYU5UZgykqepLSj5gR2d7rg1besACCyXZqDN7GuLkhuqCL5p6jANRZ8DlZZk34WGb2zG5J
	8eEQ=
X-Google-Smtp-Source: AGHT+IH9H7TZn9KZ/OdIbtCEvsuP8jwqv/yDfksTBG1pbw9kuLR0i22H/tcGcJEK9Ze8oLQQcbA0mA==
X-Received: by 2002:a17:906:5282:b0:a55:3488:f730 with SMTP id c2-20020a170906528200b00a553488f730mr7152807ejm.31.1713809677336;
        Mon, 22 Apr 2024 11:14: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 0/6] x86/alternatives: Adjust all insn-relative fields
Date: Mon, 22 Apr 2024 19:14:28 +0100
Message-Id: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Alternatives have had a reasonably severe restriction since their
introduction.  This has been the source of several bugs, and several
inefficiencies particularly in the speculative safety paths, and I've finally
gotten bored enough to fixing it.

Introduce the new infrastructure, and adjust the BHB scrubbing logic to use
it.

Andrew Cooper (6):
  x86: Introduce x86_decode_lite()
  x86/alternative: Walk all replacements in debug builds
  x86/alternative: Intend the relocation logic
  x86/alternative: Replace a continue with a goto
  x86/alternative: Relocate all insn-relative fields
  x86/spec-ctrl: Introduce and use DO_COND_BHB_SEQ

 xen/arch/x86/alternative.c               | 210 +++++++++++++------
 xen/arch/x86/hvm/vmx/entry.S             |  12 +-
 xen/arch/x86/include/asm/spec_ctrl_asm.h |  43 ++--
 xen/arch/x86/x86_emulate/Makefile        |   1 +
 xen/arch/x86/x86_emulate/decode-lite.c   | 245 +++++++++++++++++++++++
 xen/arch/x86/x86_emulate/private.h       |   2 +
 xen/arch/x86/x86_emulate/x86_emulate.h   |  17 ++
 7 files changed, 445 insertions(+), 85 deletions(-)
 create mode 100644 xen/arch/x86/x86_emulate/decode-lite.c

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710191.1109300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBe-0000aL-9I; Mon, 22 Apr 2024 18:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710191.1109300; Mon, 22 Apr 2024 18: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 1ryyBe-0000aE-63; Mon, 22 Apr 2024 18:14:42 +0000
Received: by outflank-mailman (input) for mailman id 710191;
 Mon, 22 Apr 2024 18:14:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyBc-0000IX-66
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:14:40 +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 2edcb1ec-00d4-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 20:14:39 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-34b1e35155aso1321394f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:14:39 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z15-20020a170906668f00b00a51d073da7esm5994224ejo.82.2024.04.22.11.14.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 11:14: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: 2edcb1ec-00d4-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809678; x=1714414478; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MQHzbKjDaYMcDY7B8SUQVz+z/Tfqym852xnTGj/zaZg=;
        b=fkoAkh4o4FnDA99uQNTZb7WraJWXKC2aG6unhYS0rrZIufQCDn5N70MWM/DTyZSA5z
         NeAjzvm/PJimblHVJgb4bHXzM9Rr0w7UkGOTJJ+nuzOZmXh9lx9GQJw22NhP/Tj8+/5R
         ONR1uM/azVB0mFU3xpualaMwOxWW1MqD8zjLU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809678; x=1714414478;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MQHzbKjDaYMcDY7B8SUQVz+z/Tfqym852xnTGj/zaZg=;
        b=Z7KNvKuGyja0RlV16mPa1yOseYZr+SWfrDlIsD7bMyGklWTHPTswUlpk60ISuWE/vP
         dc6QSsNuoPQANdB/hkBgM2FPllFzgn/iebrIsBhUzxbZQxBySnuJdu4AgoZDcGQqRIRQ
         wwni3mbGpvxsTfsAZxYhWLO2I8FnlyxRVcZgS8DftwgzDcgfCVGywSAhYZc0tCUXvTW6
         TzsoOdz2cmRbtRxA38NEkKe4bW6EofTpZ2tXGJHDQ65YZnfFRg8cywtAJkZG367sjW2F
         4oMZ7mch5BHDJNvmkGaZiVm+ccdGx3XhC5zxiXoB3fMM5PsQmBTUg7ezuShTlyJshJdr
         7Cag==
X-Gm-Message-State: AOJu0YxiIHH3elVtiVQoD3vnH7iU0qSBo0jS+i1B6QYMJG+U4DX56ZRW
	Xg4d6SnOQJbQzmOLIVog4+Q0/c3PKIiHtfyPN3AhK2azt8gN/eYHk4/Ow4bQnC+7rDkD1LKPwpp
	HXPE=
X-Google-Smtp-Source: AGHT+IEW6kofzVvscdUp6IMKGrRkIje/J7JBh/Nc5qR/k31CnySuyyiwls0zSTGzIDDorCf57TnjJQ==
X-Received: by 2002:a5d:4a81:0:b0:341:cd0d:b78a with SMTP id o1-20020a5d4a81000000b00341cd0db78amr8767835wrq.48.1713809678533;
        Mon, 22 Apr 2024 11:14: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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 2/6] x86/alternative: Walk all replacements in debug builds
Date: Mon, 22 Apr 2024 19:14:30 +0100
Message-Id: <20240422181434.3463252-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/alternative.c | 49 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 2e7ba6e0b833..5bd256365def 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -15,6 +15,7 @@
 #include <asm/traps.h>
 #include <asm/nmi.h>
 #include <asm/nops.h>
+#include <asm/x86_emulate.h>
 #include <xen/livepatch.h>
 
 #define MAX_PATCH_LEN (255-1)
@@ -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) )
+    {
+        struct alt_instr *a;
+
+        for ( a = __alt_instructions;
+              a < __alt_instructions_end; ++a )
+        {
+            void *repl = ALT_REPL_PTR(a);
+            void *ip = repl, *end = ip + a->repl_len;
+
+            if ( !a->repl_len )
+                continue;
+
+            for ( x86_decode_lite_t res; ip < end; ip += res.len )
+            {
+                res = x86_decode_lite(ip, end);
+
+                if ( res.len <= 0 )
+                {
+                    printk("Alternative for %ps [%*ph]\n",
+                           ALT_ORIG_PTR(a), a->repl_len, repl);
+                    panic("Unable to decode instruction at +%u in alternative\n",
+                          (unsigned int)(unsigned long)(ip - repl));
+                }
+
+                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));
+                    }
+                }
+            }
+        }
+    }
+
     _alternative_instructions(false);
 }
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710192.1109306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyBe-0000cG-Kx; Mon, 22 Apr 2024 18:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710192.1109306; Mon, 22 Apr 2024 18: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 1ryyBe-0000bt-E3; Mon, 22 Apr 2024 18:14:42 +0000
Received: by outflank-mailman (input) for mailman id 710192;
 Mon, 22 Apr 2024 18:14: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=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyBd-0000IX-6N
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:14:41 +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 2f64d62a-00d4-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 20:14:40 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a5872b74c44so46930866b.3
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:14:40 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z15-20020a170906668f00b00a51d073da7esm5994224ejo.82.2024.04.22.11.14.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 11:14: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: 2f64d62a-00d4-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809679; x=1714414479; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=31yUgd5YK+pN4dRkn1LMnihd6GkdbjUm1b+8i5iacEg=;
        b=R8PB8SYRh8z3v+Cn85Jjbb74Z10LovtcXj6ymwCs2nfNJZki8WLNxy/auZMP+8np1g
         3UrKFthyTFQU4JYfs7JkbUYkNsTBzzy5D5aqEAA08QulrinS90Bqd6DckYwBhlL4jigh
         Lsn50J/FNrHi9cBv5RTpwIxvV3ENJ71hnw6ZU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809679; x=1714414479;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=31yUgd5YK+pN4dRkn1LMnihd6GkdbjUm1b+8i5iacEg=;
        b=oM2Zm/nKzwWEWmg9mARcP99h3lv4HWNNCHi+Lpv2rkSFjPysZSzcb+ewU0WosV8jwn
         SuISFefjdc9tvZcGx/wdq26bNpM2Kf8JgMDpM+3Z0HvIAqSZ1Y/vTBrjKguUMZsTC2Ic
         0iwV+POn0begZM5WI25cr7kuYyXCAxblY9syDpjiYuR8yzjxjdS1Ozpwbmr9ReeSEdH1
         aXtukBXWyvvBV/yPaMF724KuQQD1YBsJ7T4XLHf5V/nO+k4qG7EHoAWhnrCOmCiZ8PQ1
         1xMtvJ6b6QVQ+AbcOyz5zbLJeDRzDkbI9uoE6stycf4117DYukwDqXwP0Xpa2Z26VPle
         /IOQ==
X-Gm-Message-State: AOJu0YzZk8fI+mWgpVG6674mu7AFPXHXoiIimJ6kfcmp1FtJlpUvbYVz
	VtA7kzFu3+SZAn6BnPyOxjWO4BBYhUZfXkvQU8N78rGZi5p3Kn3KmhlTJGYbRtHFz+QJW78JYcA
	1Q2E=
X-Google-Smtp-Source: AGHT+IG+1HMvF1SwFEh23Uw5BDoD1AN36ExhwVuxXRvPOWRV9QQwPpCghdo+Q9ydNqUU6Qfd296HkA==
X-Received: by 2002:a17:906:7708:b0:a51:969e:ba0 with SMTP id q8-20020a170906770800b00a51969e0ba0mr6257278ejm.44.1713809679358;
        Mon, 22 Apr 2024 11:14: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 3/6] x86/alternative: Intend the relocation logic
Date: Mon, 22 Apr 2024 19:14:31 +0100
Message-Id: <20240422181434.3463252-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... to make subsequent patches legible.

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/alternative.c | 126 +++++++++++++++++++------------------
 1 file changed, 64 insertions(+), 62 deletions(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 5bd256365def..2ca4dfd569bc 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -244,78 +244,80 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
 
         memcpy(buf, repl, a->repl_len);
 
-        /* 0xe8/0xe9 are relative branches; fix the offset. */
-        if ( a->repl_len >= 5 && (*buf & 0xfe) == 0xe8 )
         {
-            /*
-             * Detect the special case of indirect-to-direct branch patching:
-             * - replacement is a direct CALL/JMP (opcodes 0xE8/0xE9; already
-             *   checked above),
-             * - replacement's displacement is -5 (pointing back at the very
-             *   insn, which makes no sense in a real replacement insn),
-             * - original is an indirect CALL/JMP (opcodes 0xFF/2 or 0xFF/4)
-             *   using RIP-relative addressing.
-             * Some branch destinations may still be NULL when we come here
-             * the first time. Defer patching of those until the post-presmp-
-             * initcalls re-invocation (with force set to true). If at that
-             * point the branch destination is still NULL, insert "UD2; UD0"
-             * (for ease of recognition) instead of CALL/JMP.
-             */
-            if ( a->cpuid == X86_FEATURE_ALWAYS &&
-                 *(int32_t *)(buf + 1) == -5 &&
-                 a->orig_len >= 6 &&
-                 orig[0] == 0xff &&
-                 orig[1] == (*buf & 1 ? 0x25 : 0x15) )
+            /* 0xe8/0xe9 are relative branches; fix the offset. */
+            if ( a->repl_len >= 5 && (*buf & 0xfe) == 0xe8 )
             {
-                long disp = *(int32_t *)(orig + 2);
-                const uint8_t *dest = *(void **)(orig + 6 + disp);
-
-                if ( dest )
+                /*
+                 * Detect the special case of indirect-to-direct branch patching:
+                 * - replacement is a direct CALL/JMP (opcodes 0xE8/0xE9; already
+                 *   checked above),
+                 * - replacement's displacement is -5 (pointing back at the very
+                 *   insn, which makes no sense in a real replacement insn),
+                 * - original is an indirect CALL/JMP (opcodes 0xFF/2 or 0xFF/4)
+                 *   using RIP-relative addressing.
+                 * Some branch destinations may still be NULL when we come here
+                 * the first time. Defer patching of those until the post-presmp-
+                 * initcalls re-invocation (with force set to true). If at that
+                 * point the branch destination is still NULL, insert "UD2; UD0"
+                 * (for ease of recognition) instead of CALL/JMP.
+                 */
+                if ( a->cpuid == X86_FEATURE_ALWAYS &&
+                     *(int32_t *)(buf + 1) == -5 &&
+                     a->orig_len >= 6 &&
+                     orig[0] == 0xff &&
+                     orig[1] == (*buf & 1 ? 0x25 : 0x15) )
                 {
-                    /*
-                     * When building for CET-IBT, all function pointer targets
-                     * should have an endbr64 instruction.
-                     *
-                     * If this is not the case, leave a warning because
-                     * something is probably wrong with the build.  A CET-IBT
-                     * enabled system might have exploded already.
-                     *
-                     * Otherwise, skip the endbr64 instruction.  This is a
-                     * marginal perf improvement which saves on instruction
-                     * decode bandwidth.
-                     */
-                    if ( IS_ENABLED(CONFIG_XEN_IBT) )
+                    long disp = *(int32_t *)(orig + 2);
+                    const uint8_t *dest = *(void **)(orig + 6 + disp);
+
+                    if ( dest )
                     {
-                        if ( is_endbr64(dest) )
-                            dest += ENDBR64_LEN;
-                        else
-                            printk(XENLOG_WARNING
-                                   "altcall %ps dest %ps has no endbr64\n",
-                                   orig, dest);
+                        /*
+                         * When building for CET-IBT, all function pointer targets
+                         * should have an endbr64 instruction.
+                         *
+                         * If this is not the case, leave a warning because
+                         * something is probably wrong with the build.  A CET-IBT
+                         * enabled system might have exploded already.
+                         *
+                         * Otherwise, skip the endbr64 instruction.  This is a
+                         * marginal perf improvement which saves on instruction
+                         * decode bandwidth.
+                         */
+                        if ( IS_ENABLED(CONFIG_XEN_IBT) )
+                        {
+                            if ( is_endbr64(dest) )
+                                dest += ENDBR64_LEN;
+                            else
+                                printk(XENLOG_WARNING
+                                       "altcall %ps dest %ps has no endbr64\n",
+                                       orig, dest);
+                        }
+
+                        disp = dest - (orig + 5);
+                        ASSERT(disp == (int32_t)disp);
+                        *(int32_t *)(buf + 1) = disp;
                     }
-
-                    disp = dest - (orig + 5);
-                    ASSERT(disp == (int32_t)disp);
-                    *(int32_t *)(buf + 1) = disp;
-                }
-                else if ( force )
-                {
-                    buf[0] = 0x0f;
-                    buf[1] = 0x0b;
-                    buf[2] = 0x0f;
-                    buf[3] = 0xff;
-                    buf[4] = 0xff;
+                    else if ( force )
+                    {
+                        buf[0] = 0x0f;
+                        buf[1] = 0x0b;
+                        buf[2] = 0x0f;
+                        buf[3] = 0xff;
+                        buf[4] = 0xff;
+                    }
+                    else
+                        continue;
                 }
+                else if ( force && system_state < SYS_STATE_active )
+                    ASSERT_UNREACHABLE();
                 else
-                    continue;
+                    *(int32_t *)(buf + 1) += repl - orig;
             }
-            else if ( force && system_state < SYS_STATE_active )
+            else if ( force && system_state < SYS_STATE_active  )
                 ASSERT_UNREACHABLE();
-            else
-                *(int32_t *)(buf + 1) += repl - orig;
         }
-        else if ( force && system_state < SYS_STATE_active  )
-            ASSERT_UNREACHABLE();
 
         a->priv = 1;
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:19:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:19:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710224.1109360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyGY-0004Zq-O6; Mon, 22 Apr 2024 18:19:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710224.1109360; Mon, 22 Apr 2024 18:19:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyGY-0004Zj-LV; Mon, 22 Apr 2024 18:19:46 +0000
Received: by outflank-mailman (input) for mailman id 710224;
 Mon, 22 Apr 2024 18: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=/m7Q=L3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ryyGX-0004Zc-68
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 18:19:45 +0000
Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com
 [2607:f8b0:4864:20::836])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3c7cbb5-00d4-11ef-b4bb-af5377834399;
 Mon, 22 Apr 2024 20:19:43 +0200 (CEST)
Received: by mail-qt1-x836.google.com with SMTP id
 d75a77b69052e-437202687bfso32352501cf.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 11:19:43 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u5-20020ac80505000000b00437a02f67c5sm4318417qtg.49.2024.04.22.11.19.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 11:19: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: e3c7cbb5-00d4-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713809981; x=1714414781; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RhcDzD88gCnaKHEzz4RAm+tOGwyA5FDAmZ3clZdSsrY=;
        b=bSr2xTbU2SfARJSAoaA0Vw2qpy6HVV+4t9VlVrX6KXIVDcSk6Yps3vZa4mYddgq/u5
         a/rX30UweMFwKUYTPICnwDkNOy+ndiX3YqnF8ta9m4NhsQfeGuiVKsRtOZZ0dd3n1qSo
         /W2bN6o3FCD/5Y5CWZACkudwPeb5y8Zu9L+Vc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713809981; x=1714414781;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RhcDzD88gCnaKHEzz4RAm+tOGwyA5FDAmZ3clZdSsrY=;
        b=XP91QPDMV2fXJaMdWSBZ+4U6Nx8djef3c8HKSsgG0u3P44tQw4yJi7YoWoM/TBodqd
         RPTHnZOciFkGZpoRP/6ciSns7+hegLGQLQNNxVi/wPIVH8PUKh1jLaqTeFJw+U5YqX4f
         dvRfyqv5L9cDKRnTl6hI+0KCT0U8Hx+UkVbwEo++jSLaMnOehelPkKUIDBtwwBhjr4wb
         wrSHm/JHlcKOs+A4dK48Fih56p8kW5x0vA/UFMIRKEM+XpuSYWqCqwb9iTQkwCnZ1w9s
         wSt9J8xnEoneb1vzgyD12QAfI+AvK3AKaLebRXu4KNB+nszcQsX8032BmZluHMIRjFN9
         MaEg==
X-Gm-Message-State: AOJu0YyzIko82JR3gxPYgTf8aq3PGqvy6vo/h+b9ErpgNhN+mzFMQdri
	C2R8TJhX+H7P8W54BuMO5zdF/40YIr3HO5d4FXyYt3X/Yge9RWaYSc6NZ8h5aeidO3lV4zB7vLP
	UEEQ=
X-Google-Smtp-Source: AGHT+IGqC44lmgQVNj8rOcyq3RsEHZeHlg0SoeUV+cVp9Om7Cd8WYweKXKKuozTPnhAOopSwsqNxGg==
X-Received: by 2002:a05:622a:454:b0:439:b41a:81e4 with SMTP id o20-20020a05622a045400b00439b41a81e4mr4938758qtx.31.1713809981606;
        Mon, 22 Apr 2024 11:19:41 -0700 (PDT)
Message-ID: <3e310bed-93db-45ff-a1ad-68b79664b3a9@citrix.com>
Date: Mon, 22 Apr 2024 19:19:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] x86/alternative: Intend the relocation logic
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-4-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: <20240422181434.3463252-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

This of course intended to say indent...

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 18:57:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 18:57:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710233.1109371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyqk-00043M-FP; Mon, 22 Apr 2024 18:57:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710233.1109371; Mon, 22 Apr 2024 18:57:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ryyqk-00043F-B8; Mon, 22 Apr 2024 18:57:10 +0000
Received: by outflank-mailman (input) for mailman id 710233;
 Mon, 22 Apr 2024 18:57: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 1ryyqj-000435-9p; Mon, 22 Apr 2024 18:57: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 1ryyqj-00051l-1D; Mon, 22 Apr 2024 18:57: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 1ryyqi-000065-L5; Mon, 22 Apr 2024 18:57:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ryyqi-0003KZ-KX; Mon, 22 Apr 2024 18:57:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VuUZZtQQhXCJ8E6KpfEZlOpBJkFOlwWY6mCx5pDm6Q0=; b=TWSv8V14MqzgcpXLYRHHmnm7yI
	T22TJPD2QHL2egO9fnbnsWimbchORoYgwTuAGphYTVXevlbo03pChnc8Wm0ZFoHsb1G9635eo7GK4
	FiCKYPsp6pc0pFRr564gFU9C9ke9k9ANacTrg/JGsOcR7hFhEcoAbKyFn5oSRbzyRNLo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185758-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185758: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-raw:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:xen-boot: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-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ed30a4a51bb196781c8058073ea720133a65596f
X-Osstest-Versions-That:
    linux=977b1ef51866aa7170409af80740788d4f9c4841
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 18:57:08 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 185750
 test-armhf-armhf-libvirt-vhd  8 xen-boot                 fail REGR. vs. 185750

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw       8 xen-boot                   fail pass in 185753

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

version targeted for testing:
 linux                ed30a4a51bb196781c8058073ea720133a65596f
baseline version:
 linux                977b1ef51866aa7170409af80740788d4f9c4841

Last test of basis   185750  2024-04-21 12:13:57 Z    1 days
Testing same since   185753  2024-04-21 22:44:09 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Carlos Llamas <cmllamas@google.com>
  Christian A. Ehrhardt <lk@c--e.de>
  Chuanhong Guo <gch981213@gmail.com>
  Coia Prant <coiaprant@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Palmas <dnlplm@gmail.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com> # for x86
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Fabio Estevam <festevam@denx.de>
  Finn Thain <fthain@linux-m68k.org>
  Georgi Djakov <djakov@kernel.org>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hans de Goede <hdegoede@redhat.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ingo Molnar <mingo@kernel.org>
  Jerry Meng <jerry-meng@foxmail.com>
  Johan Hovold <johan@kernel.org>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Klara Modin <klarasmodin@gmail.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kyle Tso <kyletso@google.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Tipton <quic_mdtipton@quicinc.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oliver Neukum <oneukum@suse.com>
  Paul Cercueil <paul@crapouillou.net>
  Peter Collingbourne <pcc@google.com>
  Randy Dunlap <rdunlap@infradead.org>
  Richard Genoud <richard.genoud@bootlin.com>
  Ricky Wu <ricky_wu@realtek.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Tejun Heo <tj@kernel.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Todd Kjos <tkjos@google.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Wentong Wu <wentong.wu@intel.com>
  Xin Li (Intel) <xin@zytor.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                  fail    
 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                                 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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 23:41:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 23:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710245.1109381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz3I5-0008DG-Ot; Mon, 22 Apr 2024 23:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710245.1109381; Mon, 22 Apr 2024 23:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz3I5-0008D9-LS; Mon, 22 Apr 2024 23:41:41 +0000
Received: by outflank-mailman (input) for mailman id 710245;
 Mon, 22 Apr 2024 23:41: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 1rz3I4-0008Cz-Mv; Mon, 22 Apr 2024 23:41: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 1rz3I4-0001dz-Fs; Mon, 22 Apr 2024 23:41: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 1rz3I4-00068W-2A; Mon, 22 Apr 2024 23:41:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rz3I4-00030J-1b; Mon, 22 Apr 2024 23:41:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LZz2RZA95oT4WMPSS0KZRWvSeUQSi/uOfhwLZ4T5hCA=; b=dg880lL7cAfJ5zLneMru0vdN/y
	SyESOY8lqwonY5oX7y7dN/QaqUmjRV9W4Maj+D/tqTtf8oIjGPPOom+5a2FGa7YfntpkF1kNZFBNN
	f0w0V0US8knkxrATs6e7KPcwdRvvVSAL7bXkc+eNqF8xqYQ4pp1YDrO7Z6RXCUwAfwHk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185761-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185761: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-libvirt:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-5.4:test-armhf-armhf-libvirt:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-qcow2:xen-boot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 22 Apr 2024 23:41:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt        <job status>                 broken
 build-arm64-pvops               <job status>                 broken  in 185433
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-libvirt             <job status>                 broken  in 185433
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 185751 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt      5 host-install(5)          broken pass in 185755
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185761
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 185751 pass in 185761
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 185755 pass in 185761
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433
 test-arm64-arm64-libvirt-raw 13 guest-start                fail pass in 185751
 test-armhf-armhf-xl-qcow2     8 xen-boot                   fail pass in 185755

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 185751 like 185168
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 185751 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 185751 never pass
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 185755 blocked in 185168
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 185755 like 185168
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 185755 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 185755 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 185755 never pass
 test-armhf-armhf-xl-qcow2   14 migrate-support-check fail in 185755 never pass
 test-armhf-armhf-xl-qcow2 15 saverestore-support-check fail in 185755 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   27 days
Testing same since   185433  2024-04-13 11:16:55 Z    9 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job test-armhf-armhf-libvirt broken
broken-step test-armhf-armhf-libvirt host-install(5)
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-arm64-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Apr 22 23:44:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 22 Apr 2024 23:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710251.1109390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz3KS-0000Px-8U; Mon, 22 Apr 2024 23:44:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710251.1109390; Mon, 22 Apr 2024 23: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 1rz3KS-0000Pq-60; Mon, 22 Apr 2024 23:44:08 +0000
Received: by outflank-mailman (input) for mailman id 710251;
 Mon, 22 Apr 2024 23:44: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=jBKa=L3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rz3KR-0000Pk-IR
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 23:44:07 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 332cb7b3-0102-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 01:44:05 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id B5F1CCE0B87;
 Mon, 22 Apr 2024 23:43:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F4147C113CC;
 Mon, 22 Apr 2024 23:43: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: 332cb7b3-0102-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713829436;
	bh=ftdY5MoPlJRlourWN0hBdjtDsuTbiYYQLOZr8pjKMOw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YcqxJb49SxdttTBjZXKmZZ8PolJ2OlUeYJzPfaUNFqIJVjfgDPwkCQUHQciBIIhUO
	 WU3hcbXkQwc3TY+dl/Ui/R1fFnP4kLFLtOzdyp7X5pJmRRP//ZA6WaL/soClkZn55i
	 L869oiEEL8PNjLP2ByYnzNe+OTiEouTLy76SAYEW142O1QdtZjBVU/4tZfcW4rkSvY
	 opRicgUvkR/VGh1NX5edCj3U8t/qLgm74kSph9vU0nhoUb20ITQauDSESLRTxJDFJU
	 n9OePTtDqY3T1l9GqH+kdGJ28Gw9WzrVIhOl6DT2XoNdZDMwXNp/ImUlED6OcE/W2b
	 19tWdDfCHK9jg==
Date: Mon, 22 Apr 2024 16:43:55 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: George Dunlap <george.dunlap@cloud.com>, Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, zithro <slack@rabbit.lu>, 
    xen-devel@lists.xenproject.org, Roger Pau Monne <roger.pau@cloud.com>
Subject: Re: Detecting whether dom0 is in a VM
In-Reply-To: <5154b22a-747a-435c-9bd2-1716b7d3303d@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404221643310.2917619@ubuntu-linux-20-04-desktop>
References: <CA+zSX=Y4MwsDSd9oSG1NQyt==YAw9SeRdh=eJxTUhhOx57ihWg@mail.gmail.com> <4ee01a0f-063e-ef93-ac24-da387d5b3438@rabbit.lu> <a680ae62-7765-aa51-1edd-9a1a7e39e449@suse.com> <20b1a79c-23c1-93bc-2090-8052f143422c@rabbit.lu> <27a3e6a2-b150-1d75-c86f-dfa2b906b298@suse.com>
 <CA+zSX=ZCmmKQX7acx-oK4nSki9ONscxLP7E8t8USjdjXJ9UDpA@mail.gmail.com> <495946e9-191f-22fe-9ecf-08eb5af833ba@suse.com> <28e2fc47-aada-e394-35b3-252bd1c6d720@suse.com> <CA+zSX=bCC8A06t_gSpYCjxG1BZoC2EWnHhYAQtTM6b0WyzyZNA@mail.gmail.com>
 <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com> <5154b22a-747a-435c-9bd2-1716b7d3303d@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1684106491-1713829437=:2917619"

  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-1684106491-1713829437=:2917619
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 22 Apr 2024, Jan Beulich wrote:
> On 19.04.2024 17:29, George Dunlap wrote:
> > On Fri, Jul 7, 2023 at 3:56 PM George Dunlap <george.dunlap@cloud.com> wrote:
> >>>>>> Xen's public interface offers access to the featuresets known / found /
> >>>>>> used by the hypervisor. See XEN_SYSCTL_get_cpu_featureset, accessible
> >>>>>> via xc_get_cpu_featureset().
> >>>>>>
> >>>>>
> >>>>> Are any of these exposed in dom0 via sysctl, or hypfs?
> >>>>
> >>>> sysctl - yes (as the quoted name also says). hypfs no, afaict.
> >>>>
> >>>>>  SYSCTLs are
> >>>>> unfortunately not stable interfaces, correct?  So it wouldn't be practical
> >>>>> for systemd to use them.
> >>>>
> >>>> Indeed, neither sysctl-s nor the libxc interfaces are stable.
> >>>
> >>> Thinking of it, xen-cpuid is a wrapper tool around those. They may want
> >>> to look at its output (and, if they want to use it, advise distros to
> >>> also package it), which I think we try to keep reasonably stable,
> >>> albeit without providing any guarantees.
> >>
> >>
> >> We haven't had any clear guidance yet on what the systemd team want in the <xen in a VM, systemd in a dom0> question; I just sort of assumed they wanted the L-1 virtualization *if possible*.  It sounds like `vm-other` would be acceptable, particularly as a fall-back output if there's no way to get Xen's picture of the cpuid.
> >>
> >> It looks like xen-cpuid is available on Fedora, Debian, Ubuntu, and the old Virt SIG CentOS packages; so I'd expect most packages to follow suit.  That's a place to start.
> >>
> >> Just to take the discussion all the way to its conclusion:
> >>
> >> - Supposing xen-cpuid isn't available, is there any other way to tell if Xen is running in a VM from dom0?
> >>
> >> - Would it make sense to expose that information somewhere, either in sysfs or in hypfs (or both?), so that eventually even systems which may not get the memo about packaging xen-cpuid will get support (or if the systemd guys would rather avoid executing another process if possible)?
> > 
> > Resurrecting this thread.
> > 
> > To recap:
> > 
> > Currently, `systemd-detect-virt` has the following  input / output table:
> > 
> > 1. Xen on real hardware, domU: xen
> > 2. Xen on real hardware, dom0: vm-other
> > 3. Xen in a VM, domU: xen
> > 4. Xen in aVM, dom0: vm-other
> > 
> > It's the dom0 lines (2 and 4) which are problematic; we'd ideally like
> > those to be `none` and `vm-other` (or the actual value, like `xen` or
> > `kvm`).
> > 
> > It looks like ATM, /proc/xen/capabilities will contain `control_d` if
> > it's a dom0.  Simply unilaterally returning `none` if
> > /proc/xen/capabilities contains `control_d` would correct the vast
> > majority of instances (since the number of instances of Xen on real
> > hardware is presumably higher than the number running virtualized).
> > 
> > Is /proc/xen/capabilities expected to stay around?  I don't see
> > anything equivalent in /dev/xen.
> 
> I believe it's intended to stay around, but a definitive answer can only
> come from Linux folks. Jürgen, Stefano?

No plans to get rid of /proc/xen/capabilities that I am aware
--8323329-1684106491-1713829437=:2917619--


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 00:20:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 00:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710258.1109401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz3tj-00064M-5v; Tue, 23 Apr 2024 00:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710258.1109401; Tue, 23 Apr 2024 00: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 1rz3tj-00064F-2h; Tue, 23 Apr 2024 00:20:35 +0000
Received: by outflank-mailman (input) for mailman id 710258;
 Tue, 23 Apr 2024 00:20: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=GBR6=L4=kernel.org=patchwork-bot+netdevbpf@srs-se1.protection.inumbo.net>)
 id 1rz3th-000649-4i
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 00:20:33 +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 4aaca3e7-0107-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 02:20:31 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 9269E6118B;
 Tue, 23 Apr 2024 00:20:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 358B3C3277B;
 Tue, 23 Apr 2024 00:20:29 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 2132FC43440; Tue, 23 Apr 2024 00:20:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4aaca3e7-0107-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1713831629;
	bh=nJGAdOsdxMFruesh3otRdPG+Ht1wDcOMr82PxGSWAnk=;
	h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
	b=c7ugc2X7dHeJldLg8Co0ipOSwNbiMfXWf0J9o75SttFerU4GC1FiHVRdYtcQ8evjw
	 +qGe6GDTZpCtf/FsduqDc3PKpO0kxKkaMYBJ4OIsXRs/g7B3tL+IgqE2aHmtovhFLV
	 Rcrd7NPSaT3vD3QUZZI/ELoiz/990yTcOENRoII51YNEgRP9H8LrOJvaiH+UEPqkCG
	 1PKan/7teo1eKV95we6CkgiGcj4SXGmq8/aaWwaB4jM5kZLUtNS4Wk6okxCJ20Qqa3
	 26OItwB2wYMdNq1b9efepdmGPDrj5SBBWMvwsa47h3BV0J22FFKOnEyiQaUiDBjs9I
	 0NIWxLTVIYCkA==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH io_uring-next/net-next v2 0/4] implement io_uring notification
 (ubuf_info) stacking
From: patchwork-bot+netdevbpf@kernel.org
Message-Id: 
 <171383162913.28674.10529865050261202154.git-patchwork-notify@kernel.org>
Date: Tue, 23 Apr 2024 00:20:29 +0000
References: <cover.1713369317.git.asml.silence@gmail.com>
In-Reply-To: <cover.1713369317.git.asml.silence@gmail.com>
To: Pavel Begunkov <asml.silence@gmail.com>
Cc: io-uring@vger.kernel.org, netdev@vger.kernel.org, axboe@kernel.dk,
 davem@davemloft.net, kuba@kernel.org, dsahern@kernel.org,
 edumazet@google.com, willemdebruijn.kernel@gmail.com, jasowang@redhat.com,
 wei.liu@kernel.org, paul@xen.org, xen-devel@lists.xenproject.org,
 mst@redhat.com, virtualization@lists.linux.dev, kvm@vger.kernel.org

Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 19 Apr 2024 12:08:38 +0100 you wrote:
> Please, don't take directly, conflicts with io_uring.
> 
> To have per request buffer notifications each zerocopy io_uring send
> request allocates a new ubuf_info. However, as an skb can carry only
> one uarg, it may force the stack to create many small skbs hurting
> performance in many ways.
> 
> [...]

Here is the summary with links:
  - [io_uring-next/net-next,v2,1/4] net: extend ubuf_info callback to ops structure
    https://git.kernel.org/netdev/net-next/c/7ab4f16f9e24
  - [io_uring-next/net-next,v2,2/4] net: add callback for setting a ubuf_info to skb
    https://git.kernel.org/netdev/net-next/c/65bada80dec1
  - [io_uring-next/net-next,v2,3/4] io_uring/notif: simplify io_notif_flush()
    (no matching commit)
  - [io_uring-next/net-next,v2,4/4] io_uring/notif: implement notification stacking
    (no matching commit)

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




From xen-devel-bounces@lists.xenproject.org Tue Apr 23 01:17:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 01:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710264.1109411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz4mg-00037F-0m; Tue, 23 Apr 2024 01:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710264.1109411; Tue, 23 Apr 2024 01:17:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz4mf-000378-To; Tue, 23 Apr 2024 01:17:21 +0000
Received: by outflank-mailman (input) for mailman id 710264;
 Tue, 23 Apr 2024 01:17: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=MUs1=L4=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1rz4me-000372-Ej
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 01:17:20 +0000
Received: from fhigh7-smtp.messagingengine.com
 (fhigh7-smtp.messagingengine.com [103.168.172.158])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38c37ce0-010f-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 03:17:17 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailfhigh.nyi.internal (Postfix) with ESMTP id 9187F114014B;
 Mon, 22 Apr 2024 21:17:15 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 22 Apr 2024 21:17:15 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 22 Apr 2024 21:17:14 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38c37ce0-010f-11ef-909a-e314d9c70b13
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=1713835035;
	 x=1713921435; bh=W0ZY079u6HH+9Omu5NtiySIZX1BIy+9zugkbBSXJGZk=; b=
	Bwg7uD0MwH/ToLKtMnZFN0UOd2y4XgQjpvvb5Ls12JPHGh4bmGaw8WN+t1IypGBA
	XQDNyzQRxIv+ThMP04yQAEUDPjPqfwRrUSNweryfgQmJMFYwwGqKrK1qO6Ob34U4
	5Nlijb2PwyOIuDBh9HpE37v+780aQxJdtynD8nGQTsXdd3H+oPuFuWaYdZasBUML
	C0hVKQfelzdRQIMmXbB4m90KJdLB7e67E2SVUmRHbu89u1xahHl2CHvtBf/iR5v8
	RBJenXQTN5wSTVtXGDA0UnmjfJNLv9BgnesmpyeRYoW/OhO9jxNxfYjZWXKDJvFN
	B/Oy9FHZ6W89N0g+3uQxVg==
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=
	fm3; t=1713835035; x=1713921435; bh=W0ZY079u6HH+9Omu5NtiySIZX1BI
	y+9zugkbBSXJGZk=; b=cHoHN8ai+zc+2ZGvfmRtdXgV7zYQurn31OfORGzrto3D
	DVrpumavB0CsKFQHwMcG6sb7izH1QlffKSaZG4sLNeSXwztIPfAG7Y7LjVzXnYns
	SmNc8q12LrASYR0//pLCfDOdkiwA0hHgMC5vZhm2Xeca0GEwQUhKNaICNEgyQ/tx
	TPtPAUfYNKLV2KnTluz+TBgGv/gGF5Do2AJZ7wpCZ9/Y/P6PxxLqNF6H/EdZKBLl
	a9dWLlb5ONxGV2mwg/bHVjflEdn/V7vYjISZxi9h95hMH+N0amMzxCs1/f5NXD/j
	E8oSg1GWAuuiDeca1RLFT5Ppp40UcvzI4bfjomQlIw==
X-ME-Sender: <xms:GwwnZpQ7rIu0BbQWdBfW0tHS1Fi8t6JMlQP0qOKoXHsbFEg7uvsMzA>
    <xme:GwwnZixyQsLPQhKstMZ9B1kt7qt9Usk1kDWpVUUydrEHN_badnc0Ii4xj9QaXXphS
    GKMuwTaG2YqxA>
X-ME-Received: <xmr:GwwnZu18zsgeH-A7uoFjnY9ZY3rHFBmYhDGJoo1rOvTs47O3-5F1aJgZebjy87uGA4y9Il9Z3rDytcuUDSgEDnxmmuz7jOO3Sw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeltddggeeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:GwwnZhCLh_nbpPgH83c54CE9nrPGV310uXevtHdupIWMs_IHhoyPrQ>
    <xmx:GwwnZihaqlTs2TQkts8Z1pihJ-bCOaGWY3Z6LC1-3t9HXMmbWGTmSQ>
    <xmx:GwwnZlrvTmdHx6WXdzuPIaRV7k3zUKBh1GnZo8IrpsF3zOkvVWRGrw>
    <xmx:GwwnZthWPA1pdLe5wTkVAVfkI6ib306HxW_MqWufUHHrzSsfN-IrIA>
    <xmx:GwwnZqfo4Djf73B1RDih4UVlf18U2HZ9gHtBY5_LShYOK01AqLXc6BVh>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 23 Apr 2024 03:17:10 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/MTRR: avoid several indirect calls
Message-ID: <ZicMFtKob2e-ECxX@mail-itl>
References: <f5c8e38c-66cb-4f21-b66b-056061e37383@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="vbd4/xjCM7SKK6Jc"
Content-Disposition: inline
In-Reply-To: <f5c8e38c-66cb-4f21-b66b-056061e37383@suse.com>


--vbd4/xjCM7SKK6Jc
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 23 Apr 2024 03:17:10 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/MTRR: avoid several indirect calls

On Wed, Jan 17, 2024 at 10:32:53AM +0100, Jan Beulich wrote:
> --- a/xen/arch/x86/cpu/mtrr/main.c
> +++ b/xen/arch/x86/cpu/mtrr/main.c
> @@ -328,7 +316,7 @@ int mtrr_add_page(unsigned long base, un
>  	}
> =20
>  	/*  If the type is WC, check that this processor supports it  */
> -	if ((type =3D=3D X86_MT_WC) && !have_wrcomb()) {
> +	if ((type =3D=3D X86_MT_WC) && mtrr_have_wrcomb()) {

Is reversing the condition intentional here?=20

>  		printk(KERN_WARNING
>  		       "mtrr: your processor doesn't support write-combining\n");
>  		return -EOPNOTSUPP;

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYnDBYACgkQ24/THMrX
1yywKAf/WYn0vaDq3uZv+KYD7AVA/fkK58mZ+/DutPFK2BJuyrGN7OymNdqsztKE
O1a7qn+SQF40sK1yCTnfgqoTsAAMrgby05s4T0fMAKRdjTgy8DZSdgAJuG3LkOIE
OCWOXsXxr+TWKZBydYTHgdQ+TmXj1lJFUnL5MaaOCdR48QE0QXxRUXpTXp1Ml0Dr
qNy+opJ1zWy1HmHcBNUcyTeioELwfgwzVFuX9V08RfoEVtgGHR9u3sYiLzi3LZgu
Z4ulk1e4kdK1NVsgWs1ZOP0GLLPZEUhLBXHDW5SR29cEsFSeqeTsb40twGbQ6l/1
K5h2pI575SwNEsxlFWV2XrE7906CBw==
=vR3s
-----END PGP SIGNATURE-----

--vbd4/xjCM7SKK6Jc--


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 01:22:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 01:22:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710266.1109421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz4rR-0004Ys-Jn; Tue, 23 Apr 2024 01:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710266.1109421; Tue, 23 Apr 2024 01:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz4rR-0004Yl-Fi; Tue, 23 Apr 2024 01:22:17 +0000
Received: by outflank-mailman (input) for mailman id 710266;
 Tue, 23 Apr 2024 01:22: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 1rz4rQ-0004YW-BA; Tue, 23 Apr 2024 01:22: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 1rz4rP-0002zX-Uw; Tue, 23 Apr 2024 01:22: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 1rz4rP-0000Kb-Lj; Tue, 23 Apr 2024 01:22:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rz4rP-0007D3-LE; Tue, 23 Apr 2024 01: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0MuRUBl9KU/RY4rXYRxkJ3mOeN+almhSjugwKk5CsRc=; b=jP33Wva/CmddJVhY4ntsUHK5Ct
	603G1gYJXUeaXLpV/v6pvmG29rvdLGohchIJarczxRLQhJIH0fTNipNU+MLCbuchmv9VFJu1ssreU
	/o3iHLlSUvnOIvwKbYZgMb/0E26Ncw3yhnPWFkbqh19cPQP763mW4ffBYieZ7jFnpw/U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185764-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185764: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=86c8d69146310f24069701053a27153ae536ebba
X-Osstest-Versions-That:
    ovmf=7dd7b890582b4d696ca5fd436dbc5fb4bc30e385
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 01:22:15 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 86c8d69146310f24069701053a27153ae536ebba
baseline version:
 ovmf                 7dd7b890582b4d696ca5fd436dbc5fb4bc30e385

Last test of basis   185759  2024-04-22 13:14:40 Z    0 days
Testing same since   185764  2024-04-22 23:12:58 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
   7dd7b89058..86c8d69146  86c8d69146310f24069701053a27153ae536ebba -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 01:36:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 01:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710275.1109430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz54r-0006UY-ND; Tue, 23 Apr 2024 01:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710275.1109430; Tue, 23 Apr 2024 01:36:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz54r-0006UR-Kg; Tue, 23 Apr 2024 01:36:09 +0000
Received: by outflank-mailman (input) for mailman id 710275;
 Tue, 23 Apr 2024 01:36:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dJWU=L4=kernel.dk=axboe@srs-se1.protection.inumbo.net>)
 id 1rz54q-0006UL-A9
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 01:36:08 +0000
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com
 [2607:f8b0:4864:20::102f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9bd2174-0111-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 03:36:06 +0200 (CEST)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-2ab48c14332so801515a91.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 18:36:06 -0700 (PDT)
Received: from [127.0.0.1] ([198.8.77.194]) by smtp.gmail.com with ESMTPSA id
 f21-20020a170902ab9500b001e5119c1923sm8777775plr.71.2024.04.22.18.36.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 18: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: d9bd2174-0111-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1713836164; x=1714440964; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:date:message-id:subject
         :references:in-reply-to:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=s9oPaH/VV1Sgs6JhGxcg9NL/ZQE2v/wkBZW2pxzw1II=;
        b=tj2ya1kYgNKuQBkYfON4Y0TEWKz/hRBEd9glieed76F6zW4/GX//LF9o/jx4cs2aIO
         mc2GTNbsdQHShWWJs49C4C2QCj3BiOPZVa2WBr4cLOni4hkGO1EjuVSDmXrYvkPR3RN0
         zDqiOXj4n4n2XIpCLUE3En7Djh+6W58Ukx5tkSxBk2dly4AiqYDS4t5zWhX2j7wOLsDv
         3iP7oKZTrVolCfOFq+lF9eWgwvOUEgh3uslTzj4HQUER52qmn1+3CWRkaSDTm+1DEDqS
         yXuIYf2llZG9ItrzJ1PbrkxX7nRM4s5+peKAijd+Fbxj/miaD+45x1lgcRfKvjzd0FO3
         +h+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713836164; x=1714440964;
        h=content-transfer-encoding:mime-version:date:message-id:subject
         :references:in-reply-to:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=s9oPaH/VV1Sgs6JhGxcg9NL/ZQE2v/wkBZW2pxzw1II=;
        b=qbAj6MLgFLslEJwH6NrnYmpVEjCRtzmDSya9IVDY3t3N9DDpBI4++vc/ym0LX2Hg1A
         WHmoe49SS4c4XganT8hxN0xAlR77ilKjMjUeMVspiaAcIUoxzK3jybclZtHnUl39fWBy
         aHb0SiDtixX3dYiWOzChfa1CH9Y/cnfkdRdpRWMSHJ53vhbG1ImYnSju3AMNBWIQCYFw
         SEuW5Wazyh6s/9Io1lw+VZrtv0+tT3kzKMIzFa7HcWE5ZGpVpGX8Tptvje99vGOqR3mi
         vixhOx7Tw6wAaBLoF5juXg3cieA4mJqZL1a6gtoSZNDovOLZXuRJcCbiahbat91h2KKY
         zhQg==
X-Forwarded-Encrypted: i=1; AJvYcCWv4QQ4EsS3biM/ZcDibxi6v9XPTpmP+0/wEuPDKu0AQNKAy1ZJmQyEg4qoUHptYaBe0ykSgqArjJ5PFejTJGstjnikGOlGllHS+CEDrgI=
X-Gm-Message-State: AOJu0YxMzzdUYqHIfyA8MLJethtFVGPb3X3TJcrICGGQK0xJBlDT4XHj
	LC7GeuJwAJLMPOlgMqCqaL9KTjuWYPdD8i3ki1ThW8M9IcNFM1T3Oo/aZAK69xo=
X-Google-Smtp-Source: AGHT+IGzlYpawNDmZcr5CUIaLSVmPzj5i1QCymzAQ8rNfxRGM71jaLD4N1FTIjMDD+MiT7VbGVUzTQ==
X-Received: by 2002:a17:902:ec84:b0:1e8:4063:6ded with SMTP id x4-20020a170902ec8400b001e840636dedmr14042378plg.1.1713836164318;
        Mon, 22 Apr 2024 18:36:04 -0700 (PDT)
From: Jens Axboe <axboe@kernel.dk>
To: io-uring@vger.kernel.org, netdev@vger.kernel.org, 
 Pavel Begunkov <asml.silence@gmail.com>
Cc: "David S . Miller" <davem@davemloft.net>, 
 Jakub Kicinski <kuba@kernel.org>, David Ahern <dsahern@kernel.org>, 
 Eric Dumazet <edumazet@google.com>, 
 Willem de Bruijn <willemdebruijn.kernel@gmail.com>, 
 Jason Wang <jasowang@redhat.com>, Wei Liu <wei.liu@kernel.org>, 
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org, 
 "Michael S . Tsirkin" <mst@redhat.com>, virtualization@lists.linux.dev, 
 kvm@vger.kernel.org
In-Reply-To: <cover.1713369317.git.asml.silence@gmail.com>
References: <cover.1713369317.git.asml.silence@gmail.com>
Subject: Re: (subset) [PATCH io_uring-next/net-next v2 0/4] implement
 io_uring notification (ubuf_info) stacking
Message-Id: <171383616279.27114.3831538607187347697.b4-ty@kernel.dk>
Date: Mon, 22 Apr 2024 19:36:02 -0600
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Mailer: b4 0.12.5-dev-2aabd


On Fri, 19 Apr 2024 12:08:38 +0100, Pavel Begunkov wrote:
> Please, don't take directly, conflicts with io_uring.
> 
> To have per request buffer notifications each zerocopy io_uring send
> request allocates a new ubuf_info. However, as an skb can carry only
> one uarg, it may force the stack to create many small skbs hurting
> performance in many ways.
> 
> [...]

Applied, thanks!

[3/4] io_uring/notif: simplify io_notif_flush()
      commit: 5a569469b973cb7a6c58192a37dfb8418686e518
[4/4] io_uring/notif: implement notification stacking
      commit: 6fe4220912d19152a26ce19713ab232f4263018d

Best regards,
-- 
Jens Axboe





From xen-devel-bounces@lists.xenproject.org Tue Apr 23 02:22:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 02:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710282.1109440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz5n7-0004mI-2Y; Tue, 23 Apr 2024 02:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710282.1109440; Tue, 23 Apr 2024 02: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 1rz5n6-0004mB-Vk; Tue, 23 Apr 2024 02:21:52 +0000
Received: by outflank-mailman (input) for mailman id 710282;
 Tue, 23 Apr 2024 02: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=KYzg=L4=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1rz5n5-0004m5-SQ
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 02:21:51 +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 3bfa4631-0118-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 04:21:47 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a5544fd07easo567447666b.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 19: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: 3bfa4631-0118-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713838907; x=1714443707; 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=a9OHZgBu+2wjBy8eA55zRBogvek594Zb6SuInV0CdcU=;
        b=YZ9Oxm6KieBiu3iizCththofDEtyUEUCEYLuQr+XHpxsM48AoMxm2E2D7nAenbjMzR
         Zy8+eGKwFaeEYJiQ1oWIHCD2sfVeAcO6GbZtseYqdtrwUG3veve6CFbL6kkqnM87ZpTE
         Ear0Xay2A1WOkszGfDaj0CjSCaoLdetiGXL2JzQFrlu3C6NAzkAlwy80SM/pCio0mpSl
         WMgzsucLSyTUHaROxQaPcCiYO9icZUTyYjUaSQcgnzouEQY2HEHqzZDZDdmS60N511gV
         jLg/HdQrcopJ10NaiiOZJbK0AyWx5JkVz2rvUxV+WhdttdgkgIla+h3SoTi4SoqN8+F9
         DS+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713838907; x=1714443707;
        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=a9OHZgBu+2wjBy8eA55zRBogvek594Zb6SuInV0CdcU=;
        b=g4whjEF8Yc1IJ3V9ZsLMKQMZ/Q3o/o9LY9zLPhGcbnGNVw3mEIem9gYt9o34lFlD9P
         RRDpikgsj0ZeZdn9hYu+T0MjeIURL2gLeztghPKF/DM9Fl6GXmXq0/hfAm2rAK5lLpY6
         I3yFaq9+epeo5YRe6JN+Ct1Bew9Abv6e7jqb0z/2wph5QuXV35ZuDe6yPXM/I8y8Ha/0
         7YkGY4DBZGmexYPu5LmYSB8aiE5AIIDKFyFxW8UOgH1u2pgiSrW2NawymDtOT642A2Zh
         CmShM9CwP8nxXvb4lzGtIy7NqRYiYyraGelWM4+uFlF0koDyAYpG9ZZM1G3jMe8t9N3I
         zelQ==
X-Gm-Message-State: AOJu0YyZ/5o5MUy8sWky4eXarYBfBQGBsUkUcL8NP4Dq6e4oSiJ/9Y8c
	V3Pdc8VIt8FKgwowCxQDBb4jKdSU+DmbWXUC/roKewX4GNk8l7l+iEaojLN75vewGVIFp6aI8Hp
	Uky6AolbdTXY3NhmU40p34KFMPXI=
X-Google-Smtp-Source: AGHT+IGs9ZFsSAI73AWyUVbPt6RLBymHB6VG+kSMPVTQxwJKKYLe1WgBt6av8wYCQ9KVVR2qLtHAKkQx/KDDukXfOSo=
X-Received: by 2002:a50:d787:0:b0:56b:ec47:a846 with SMTP id
 w7-20020a50d787000000b0056bec47a846mr6586149edi.25.1713838906619; Mon, 22 Apr
 2024 19:21:46 -0700 (PDT)
MIME-Version: 1.0
References: <20240407204953.60442-1-jandryuk@gmail.com> <20240407204953.60442-2-jandryuk@gmail.com>
 <42f1eaef-d804-4816-b746-ee24d860e0f7@perard>
In-Reply-To: <42f1eaef-d804-4816-b746-ee24d860e0f7@perard>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 22 Apr 2024 22:21:34 -0400
Message-ID: <CAKf6xpuXPjheXgM1vSF0+mmmjCFzKnC8fUGiba4P4ehjx45PAQ@mail.gmail.com>
Subject: Re: [PATCH v2 1/3] hotplug: Update block-tap
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Jason Andryuk <jason.andryuk@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 22, 2024 at 11:11=E2=80=AFAM Anthony PERARD
<anthony.perard@cloud.com> wrote:
>
> On Sun, Apr 07, 2024 at 04:49:51PM -0400, Jason Andryuk wrote:
> > diff --git a/tools/hotplug/Linux/block-tap b/tools/hotplug/Linux/block-=
tap
> > index 89247921b9..126e472786 100755
> > --- a/tools/hotplug/Linux/block-tap
> > +++ b/tools/hotplug/Linux/block-tap
> > @@ -18,11 +18,11 @@
> >  #
> >  # Usage:
> >  #
> > -# Target should be specified using the following syntax:
> > +# Disks should be specified using the following syntax:
> >  #
> > -# script=3Dblock-tap,vdev=3Dxvda,target=3D<type>:<file>
> > +# vdev=3Dxvda,backendtype=3Dtap,format=3Dvhd,target=3D/srv/target.vhd
>
> I still have unanswered question from the previous round:
>     Is `block-tap` still going to work with the current example given in
>     the script header? That is:
>         "script=3Dblock-tap,vdev=3Dxvda,target=3D<type>:<file>"
>     Or maybe, that example is already broken?

Oh, right.  Sorry about that.

> If it's not broken, there could be users which rely on it. But maybe
> it's not really broken, and the new syntax is better anyway.
>
> My guess is that using "script=3Dblock-tap,..." might still work, but
> we should say something in the CHANGELOG to encourage people to move to
> the new syntax, with "backendtype=3Dtap" to avoid issues.

I think the old syntax with "backendtype=3Dphy" would work except for this:
-    write_dev $dev
...
+    # dev, as a unix socket, would end up with major:minor 0:0 in
+    # physical-device if write_dev were used.  tapback would be thrown off=
 by
+    # that incorrect minor, so just skip writing physical-device.
+    xenstore_write "$XENBUS_PATH/physical-device-path" "$dev"

write_dev is needed for blkback to see physical-device and set things
up properly.

I could create a second script, but that's a little silly for just the
single line.  Another approach would be to differentiate off the
device type, vbd vs. vbd3, and use write_dev or not that way.  Should
I just do that?

block-tap will only support backendtype=3Dphy as long as blktap uses the
kernel driver.  In that case tap-ctl create is returning the kernel
module's block dev path.  Once the kernel drive support is removed,
backendtype=3Dtap will be the only option - without it there is no block
dev for blkback.

FYI, "backendtype=3Dtap" is more performant because it is a shorter data pa=
th:
blkfront -> tapback/tapdisk
vs
blkfront -> blkback -> /dev/xen/blktap-2/tapdevN -> tapdisk

There are extra copies between blktap and the tapdev.

> In any case, the patch looks good:
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 05:01:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 05:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710310.1109475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz8Hh-0007nh-Kt; Tue, 23 Apr 2024 05:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710310.1109475; Tue, 23 Apr 2024 05: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 1rz8Hh-0007na-IA; Tue, 23 Apr 2024 05:01:37 +0000
Received: by outflank-mailman (input) for mailman id 710310;
 Tue, 23 Apr 2024 05: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 1rz8Hg-0007nQ-9i; Tue, 23 Apr 2024 05: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 1rz8Hg-0007xW-8B; Tue, 23 Apr 2024 05: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 1rz8Hf-0003AB-Pl; Tue, 23 Apr 2024 05:01:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rz8Hf-0006as-Nz; Tue, 23 Apr 2024 05:01:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WInsrhIzP2CLxootUP+cWyv4AhMG/DBiJghUGLCsOGs=; b=TxMmyYWw7i1sozRb8/0GXyGJRq
	uu9IUc2CEDeicqFaG9GMGH1sAS27jBbbtmlmh+pN/YhBvSYxj4GDQHH9bnM6EgdL2zDubcyqBA166
	4TbO+FvyrXejH97IWGfH5wMm/AMjWaDWN/uGgn71/ykr341ufip69jS0e7x0rnSeETlk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185762-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185762: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-pvshim:debian-fixup: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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-amd64-amd64-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cccb7878f386fb8691b7e28957a562a66d9b875f
X-Osstest-Versions-That:
    xen=09cb855f33fb619c87d8d4250d3a980f568f151b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 05:01:35 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvshim   13 debian-fixup        fail pass in 185766-retest

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

Last test of basis   185754  2024-04-22 01:53:44 Z    1 days
Testing same since   185762  2024-04-22 17:08:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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                                     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                                   fail    
 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
   09cb855f33..cccb7878f3  cccb7878f386fb8691b7e28957a562a66d9b875f -> master


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 05:18:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 05:18:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710317.1109484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rz8YI-0001Bs-0W; Tue, 23 Apr 2024 05:18:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710317.1109484; Tue, 23 Apr 2024 05: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 1rz8YH-0001Bl-UA; Tue, 23 Apr 2024 05:18:45 +0000
Received: by outflank-mailman (input) for mailman id 710317;
 Tue, 23 Apr 2024 05: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=RZwb=L4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1rz8YG-0001Bf-PA
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 05:18:44 +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 f3b1fd6f-0130-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 07:18:43 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-349545c3eb8so3806227f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 22:18:43 -0700 (PDT)
Received: from [172.16.1.227] ([80.95.105.245])
 by smtp.gmail.com with ESMTPSA id
 u17-20020adfeb51000000b00347321735a6sm13562143wrn.66.2024.04.22.22.18.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 22 Apr 2024 22:18: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: f3b1fd6f-0130-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713849522; x=1714454322; 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=yQDPjBYgaEPej+sPKkqwDvOIU4v/GB+na7kEiN+q7+w=;
        b=gpl5/RYN3NIq18caoxnkFb0b+nPNQbYb/45GOwj+OPZqG2+KSK8QFSgFHXwZ1CEKGI
         hRD+pupfgsMMEvG4KwZqmIYiOHbvD3aQwocblV7HAX2PFiAiZ2+RcOyaQS8woEsnad0W
         bDMhYRcJLdQ8UntDk56u+PkISuq0bRJmz0d/fD3DYG6CWgCUTM8vSN+mIDaT/x6J3+Dm
         aI4wF3wYqewABzRbEviAfaSotnR+RHJpKL0iQYSs24/wsjIMHHjrxD5V4thKoQuIGxTu
         8+GHCFf9BUEaVJ8kBxmXpY71BZT/c8BYzSoGEhVmMPExLt98ZClES56BPSqxIcw1HYdb
         FQSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713849522; x=1714454322;
        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=yQDPjBYgaEPej+sPKkqwDvOIU4v/GB+na7kEiN+q7+w=;
        b=mahjcr3PRBRrmJJmVAZ0V3dOePKlLf/+WgYLi+UoXtPASF4QL7KuWdSHb1vJmYzt9a
         SWMm9/eWdG19ShRoSpDRSJGlgGIdSqUPtk154XxUF7OIxAHFJ/ibPHfJPi4kIyUgeyGT
         t38/Y83+sLGGgL7ccL8NOmLYGIyLbiXGOtbBmMC8mmXJ6Mn0N9615MTLdZXhbffj8QpC
         ljkyrmT7nH8uELUjuw46Rb4SoYqv2z7hBEn876x/TtQu8g9i5PyTAujEBYJe2TCEztX9
         6b/pX52aliujAs/0dmz8NssiI9FD92bcNB56FmbzmvdW4phHvP9uxKeaV7umv8vnlBs/
         TDAw==
X-Forwarded-Encrypted: i=1; AJvYcCX2IkG+Kl8rNtgOkCZtakTA137q6AH95JzFJLddcBOWie2/kbPyAJWg/UreOokBPtNNhLw6P1lhLQWm8XQ+e7LY1hTAMQToVXBOukIpLp0=
X-Gm-Message-State: AOJu0YzovD9q6lvFVcORihCvDdOJT6voteypjf3FHelzL4qXBi0N6P4H
	By2CY1OpTTR70YF1L05V+BoJdA5WJfWrS9nkrkmAphVGR5sf747NdY3PkRVIDIc=
X-Google-Smtp-Source: AGHT+IFnDvdhhnhPGB1oquQ2iYKMqEQy7CnkH/fuwMtag5DI3ttqdIFm04lVtD8/aniVydLHlzO1NQ==
X-Received: by 2002:a5d:56ce:0:b0:34a:2bc0:c9c4 with SMTP id m14-20020a5d56ce000000b0034a2bc0c9c4mr7950484wrw.5.1713849522577;
        Mon, 22 Apr 2024 22:18:42 -0700 (PDT)
Message-ID: <c366292d-87fb-4f19-8f97-8766269ee438@suse.com>
Date: Tue, 23 Apr 2024 07:18:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Detecting whether dom0 is in a VM
To: Jan Beulich <jbeulich@suse.com>, George Dunlap <george.dunlap@cloud.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: zithro <slack@rabbit.lu>, xen-devel@lists.xenproject.org,
 Roger Pau Monne <roger.pau@cloud.com>
References: <CA+zSX=Y4MwsDSd9oSG1NQyt==YAw9SeRdh=eJxTUhhOx57ihWg@mail.gmail.com>
 <4ee01a0f-063e-ef93-ac24-da387d5b3438@rabbit.lu>
 <a680ae62-7765-aa51-1edd-9a1a7e39e449@suse.com>
 <20b1a79c-23c1-93bc-2090-8052f143422c@rabbit.lu>
 <27a3e6a2-b150-1d75-c86f-dfa2b906b298@suse.com>
 <CA+zSX=ZCmmKQX7acx-oK4nSki9ONscxLP7E8t8USjdjXJ9UDpA@mail.gmail.com>
 <495946e9-191f-22fe-9ecf-08eb5af833ba@suse.com>
 <28e2fc47-aada-e394-35b3-252bd1c6d720@suse.com>
 <CA+zSX=bCC8A06t_gSpYCjxG1BZoC2EWnHhYAQtTM6b0WyzyZNA@mail.gmail.com>
 <CA+zSX=Zfnp7g1dSLb4WATShC2o4u-sULniccmW9-2AjBLH9zTg@mail.gmail.com>
 <5154b22a-747a-435c-9bd2-1716b7d3303d@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <5154b22a-747a-435c-9bd2-1716b7d3303d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22.04.24 09:12, Jan Beulich wrote:
> On 19.04.2024 17:29, George Dunlap wrote:
>> On Fri, Jul 7, 2023 at 3:56 PM George Dunlap <george.dunlap@cloud.com> wrote:
>>>>>>> Xen's public interface offers access to the featuresets known / found /
>>>>>>> used by the hypervisor. See XEN_SYSCTL_get_cpu_featureset, accessible
>>>>>>> via xc_get_cpu_featureset().
>>>>>>>
>>>>>>
>>>>>> Are any of these exposed in dom0 via sysctl, or hypfs?
>>>>>
>>>>> sysctl - yes (as the quoted name also says). hypfs no, afaict.
>>>>>
>>>>>>   SYSCTLs are
>>>>>> unfortunately not stable interfaces, correct?  So it wouldn't be practical
>>>>>> for systemd to use them.
>>>>>
>>>>> Indeed, neither sysctl-s nor the libxc interfaces are stable.
>>>>
>>>> Thinking of it, xen-cpuid is a wrapper tool around those. They may want
>>>> to look at its output (and, if they want to use it, advise distros to
>>>> also package it), which I think we try to keep reasonably stable,
>>>> albeit without providing any guarantees.
>>>
>>>
>>> We haven't had any clear guidance yet on what the systemd team want in the <xen in a VM, systemd in a dom0> question; I just sort of assumed they wanted the L-1 virtualization *if possible*.  It sounds like `vm-other` would be acceptable, particularly as a fall-back output if there's no way to get Xen's picture of the cpuid.
>>>
>>> It looks like xen-cpuid is available on Fedora, Debian, Ubuntu, and the old Virt SIG CentOS packages; so I'd expect most packages to follow suit.  That's a place to start.
>>>
>>> Just to take the discussion all the way to its conclusion:
>>>
>>> - Supposing xen-cpuid isn't available, is there any other way to tell if Xen is running in a VM from dom0?
>>>
>>> - Would it make sense to expose that information somewhere, either in sysfs or in hypfs (or both?), so that eventually even systems which may not get the memo about packaging xen-cpuid will get support (or if the systemd guys would rather avoid executing another process if possible)?
>>
>> Resurrecting this thread.
>>
>> To recap:
>>
>> Currently, `systemd-detect-virt` has the following  input / output table:
>>
>> 1. Xen on real hardware, domU: xen
>> 2. Xen on real hardware, dom0: vm-other
>> 3. Xen in a VM, domU: xen
>> 4. Xen in aVM, dom0: vm-other
>>
>> It's the dom0 lines (2 and 4) which are problematic; we'd ideally like
>> those to be `none` and `vm-other` (or the actual value, like `xen` or
>> `kvm`).
>>
>> It looks like ATM, /proc/xen/capabilities will contain `control_d` if
>> it's a dom0.  Simply unilaterally returning `none` if
>> /proc/xen/capabilities contains `control_d` would correct the vast
>> majority of instances (since the number of instances of Xen on real
>> hardware is presumably higher than the number running virtualized).
>>
>> Is /proc/xen/capabilities expected to stay around?  I don't see
>> anything equivalent in /dev/xen.
> 
> I believe it's intended to stay around, but a definitive answer can only
> come from Linux folks. Jürgen, Stefano?

I have no plans to remove it.


Juergen

> 
> Jan
> 
>> Other than adding a new interface to Xen, is there any way to tell if
>> Xen is running in a VM?  If we do need to expose an interface, what
>> would be the best way to do that?
>>
>>   -George
> 



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 07:34:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 07:34:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710333.1109498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzAfg-0000zg-Mh; Tue, 23 Apr 2024 07:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710333.1109498; Tue, 23 Apr 2024 07:34:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzAfg-0000zZ-Ip; Tue, 23 Apr 2024 07:34:32 +0000
Received: by outflank-mailman (input) for mailman id 710333;
 Tue, 23 Apr 2024 07:34:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzAff-0000zD-3o
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 07:34:31 +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 ea8ce151-0143-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 09:34:28 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-41a72f3a20dso11915055e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 00:34: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
 ay13-20020a05600c1e0d00b0041a7581f8b6sm4757174wmb.23.2024.04.23.00.34.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 00:34: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: ea8ce151-0143-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713857668; x=1714462468; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=97QhYCUQ9SYFVXSWo94Smhv3XFLVTUuPkLvG8lCphCU=;
        b=E6aY9HJ6bDcrsPVk8VLjCKpASqvbE+zLSlVduNPrKWd8r2WS5UbBhcUnvzzscVnD87
         ExTH5v1DUGkSJD02wYSmWjM47AFLiG70XWhyURWByqy0gawRrdMEdO314fN6VP3Z/Hlc
         hZ4IqAkKSv4+7+aTr/gLWXpykoRWisGekiut5UG36IgTtDzIS46oYAuJwFxl+vhHoemU
         o3/URGVGDoxIxeRivCAwGIuQN0Y5yDGlDYYG/x+PWZirTWKnG8riNldDRVGT0GdkcFYM
         xg6DsnWTfmfsD9ko9ytlaWgoxcUzTDBU/37wQLDLmIK/GAYvkYz6mB/Z1Xf4/NQZlhMp
         DC0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713857668; x=1714462468;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=97QhYCUQ9SYFVXSWo94Smhv3XFLVTUuPkLvG8lCphCU=;
        b=OJU+/27lzY8NE1jX2QlFZGDazIisrPW4W1td2Qo6dOEp2LaH8hiqgrHj0ap+lNCIrJ
         EflnQY+dBXM2VCQKGKDe/hRBkBkTAEH3CSNfJA/Rwi3LyyQXxe+jtPtGmIkLQHJMXa20
         0EAkTU3SiEJQgVd+522uf1/Xbd6oybp4r36Go4s837L/5fKXtcuWSNHPpCV0d3UvKEIZ
         FD6f0XLVpqG4g5/OKGi0BMqIs+wDI0Hns1QVNaiDeLBlKBHD4ky37IrmfVG6e8sfWcJ/
         5MPoOpP4ax7yk8qfScvlpB52enbmG9C68LwWU+NRekdfekGa040eIITlNYIXG+gkiKfF
         ONmA==
X-Forwarded-Encrypted: i=1; AJvYcCW/8Wbmz24MHD7LWL/JDr57hELo//Lcl0dZqfnm2mw2j249CTJiIS9eMfONpW5sxYAt6ad3hEIY3k76tdDuMUe6asHmUI5fbBzpxZxr/cU=
X-Gm-Message-State: AOJu0YwRcVaoM1iU3oIGigHAUFyfbcShNrEOxMBAr2BB0tXMB6BzW3LP
	2XcuMOWckXlKKUXAL57yJEAO/VnvY+tb2fJkF4FP+Z9dQcbYgtu+thgmEYbAmQ==
X-Google-Smtp-Source: AGHT+IHwhhQi9hS+qmkR0fkG2BzLE8SctzMxRTYPm6ZuS03oHBLHe9IcXitJ2GHWE+RvYfoVIYlbnA==
X-Received: by 2002:a05:600c:b86:b0:41a:c8f0:95d3 with SMTP id fl6-20020a05600c0b8600b0041ac8f095d3mr312384wmb.16.1713857667714;
        Tue, 23 Apr 2024 00:34:27 -0700 (PDT)
Message-ID: <a486f474-1c44-4409-bdcf-a51ed2635446@suse.com>
Date: Tue, 23 Apr 2024 09:34:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v3 2/3] x86/mm: Do not validate/devalidate PGT_none
 type
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Ian Jackson <iwj@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1698589351.git.matias.vara@vates.fr>
 <dc05dc908f0a39e26e589099a4dd79404d5f32b2.1698589351.git.matias.vara@vates.fr>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc05dc908f0a39e26e589099a4dd79404d5f32b2.1698589351.git.matias.vara@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 31.10.2023 17:22, Matias Ezequiel Vara Larsen wrote:
> This commit prevents PGT_none type pages to be validated/devalidated.

This isn't quite true. It is rather the case that (de)validation of this
type is trivial, and hence can be short-circuited just like is done for
certain other types.

> This is required for the use-case in which a guest-agnostic resource is
> allocated. In this case, these pages may be accessible by an "owning" PV
> domain. To lock the page from guest pov, pages are required to be marked
> with PGT_none with a single type ref. In particular, this commit makes
> the stats_table resource type to use this flag during
> get_page_and_type(). 

Imo the change here wants to come first, so that stats_vcpu_alloc_mfn()
can use PGT_none right away (rather than being transiently broken).

Beyond that I think justification needs extending here. In particular,
"lock the page" is at best misleading, considering page_lock() and
PGT_locked that we have. What you mean is "lock the page read-only". You
may want to further refer to the place where this is also done
(share_xen_page_with_guest()), just without get_page_and_type(). This is
not the least to explain why share_xen_page_with_guest() cannot be used
for your purpose, or why doing it this way is a better approach
(potentially then wanting using elsewhere as well).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 07:40:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 07:40:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710342.1109508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzAl6-0002ad-DX; Tue, 23 Apr 2024 07:40:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710342.1109508; Tue, 23 Apr 2024 07: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 1rzAl6-0002aW-9i; Tue, 23 Apr 2024 07:40:08 +0000
Received: by outflank-mailman (input) for mailman id 710342;
 Tue, 23 Apr 2024 07:40: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 1rzAl4-0002VI-UG; Tue, 23 Apr 2024 07:40: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 1rzAl4-0002Az-NH; Tue, 23 Apr 2024 07:40: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 1rzAl4-0000cl-EW; Tue, 23 Apr 2024 07:40:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzAl4-0006au-Ds; Tue, 23 Apr 2024 07:40: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=B+NWmNrsf/8gD82gXid/Vf1kOTRMKrogj5lKcFFSDV0=; b=fefzXhaauHQPdkjwvp5ZKUG8hu
	D8ibzJekGTGEKZk0gaSCg90G3FgPRw9yfRF6U7K8WQHnlXYeLd7ucWpjLjR0Qspg2Bmszyy8Dr/G7
	r5Nldhk9oR76bL+mphjw2AMSnIXezKutRt4pB4ajsquDVJuyqsD8egSwrp6sBZGrxyGg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185763-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185763: 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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-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=4d2008430ce87061c9cefd4f83daf2d5bb323a96
X-Osstest-Versions-That:
    linux=977b1ef51866aa7170409af80740788d4f9c4841
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 07:40:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 185750

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 185750
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185750
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185750
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185750
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185750
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 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                4d2008430ce87061c9cefd4f83daf2d5bb323a96
baseline version:
 linux                977b1ef51866aa7170409af80740788d4f9c4841

Last test of basis   185750  2024-04-21 12:13:57 Z    1 days
Failing since        185753  2024-04-21 22:44:09 Z    1 days    3 attempts
Testing same since   185763  2024-04-22 19:14:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Carlos Llamas <cmllamas@google.com>
  Christian A. Ehrhardt <lk@c--e.de>
  Chuanhong Guo <gch981213@gmail.com>
  Coia Prant <coiaprant@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Palmas <dnlplm@gmail.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com> # for x86
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Fabio Estevam <festevam@denx.de>
  Finn Thain <fthain@linux-m68k.org>
  Georgi Djakov <djakov@kernel.org>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hans de Goede <hdegoede@redhat.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ingo Molnar <mingo@kernel.org>
  Jerry Meng <jerry-meng@foxmail.com>
  Johan Hovold <johan@kernel.org>
  Jonathan Corbet <corbet@lwn.net>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Klara Modin <klarasmodin@gmail.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kyle Tso <kyletso@google.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Tipton <quic_mdtipton@quicinc.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oliver Neukum <oneukum@suse.com>
  Paul Cercueil <paul@crapouillou.net>
  Peter Collingbourne <pcc@google.com>
  Randy Dunlap <rdunlap@infradead.org>
  Richard Genoud <richard.genoud@bootlin.com>
  Ricky Wu <ricky_wu@realtek.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Tejun Heo <tj@kernel.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thorsten Leemhuis <linux@leemhuis.info>
  Todd Kjos <tkjos@google.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Wentong Wu <wentong.wu@intel.com>
  Xin Li (Intel) <xin@zytor.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 2122 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 07:51:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 07:51:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710353.1109517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzAwQ-0004JJ-Dp; Tue, 23 Apr 2024 07:51:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710353.1109517; Tue, 23 Apr 2024 07: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 1rzAwQ-0004JC-BD; Tue, 23 Apr 2024 07:51:50 +0000
Received: by outflank-mailman (input) for mailman id 710353;
 Tue, 23 Apr 2024 07: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzAwP-0004J6-CU
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 07:51:49 +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 5630cc7d-0146-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 09:51:47 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-347e635b1fcso4315109f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 00:51: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
 g18-20020adfa492000000b0033e9d9f891csm14040548wrb.58.2024.04.23.00.51.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 00:51: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: 5630cc7d-0146-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713858707; x=1714463507; 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=xlop5WD1SmwWjqEVAjBw9FGVKoSVOaLuqB3BYNKVRJw=;
        b=WJ7PtDQsKLTPvmDg1+4NJmx35jk5I1XPFCBtDYHt9hG66O9sTb/BtXsqJ3eHENxND/
         IFRG0OIyw9tdib5BB5vo9ikqKFCvloY4Q2w8uJLHXPe0Y9kYWm5J75RdulYtCTG+JcdM
         ZeZo35zb1i0iiHJ+RKnoHV0X7QrDbxyvkprNGbWYGRVh31/Q2RMGesclra+BiAEBq/Id
         n7XVLM+yi0sX/nCFVoeE8qXg6qzIlVgh1Oxai+LEBZ3DMMyzyl1M0HZId6soiM91rAud
         w0MtbycX3iUNAHmDvVPnmhVXKn8oBO4lePCDnbAhc6/IL0fkPGR091alG3NQS4K+D7XH
         WtNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713858707; x=1714463507;
        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=xlop5WD1SmwWjqEVAjBw9FGVKoSVOaLuqB3BYNKVRJw=;
        b=BVbLfCRz1efZ+MWhdDym22sxKXgghXw4/dxKBcnj3uUA0hGHjRJaiyXnEUs+hqZgd/
         7LZlRE6WGGxmB/c6eS3Ca4evQrTFkh3DgNK5w0LmD7CATfeU0Kpop4iU6qD3k4q2TxEJ
         pmG8X6k7DM1LrrD2L+dMhcu4IKu3gu8P+/KP8YDwBrjkW2D1Et+8Y8Pac9wuALm5+6Rz
         rJPmMU959+9dIQM7Ac6eFLWhu8aoo1m8mVlrSmlRR3luyV0BjZb1QU91c522dA+H9237
         kLbh0Yho0XEGKYl0kU+nzMTFJh3VQVJD4xTl6jb+YlWpX2uvKIPF+hEtYcfh4VWgfBjk
         gB3Q==
X-Gm-Message-State: AOJu0YyUVKAMGdSUkso6pZE2rd78irAtb0fcaQHPSUzTPSpki7Hxj8Vk
	/YtnZZGOSvLplAwDqRCy78Zgy05IKSvYqkAuVaGsiFShAH+TK4mx5zCyFnR+hSeEKAQKFaFwV2o
	=
X-Google-Smtp-Source: AGHT+IETAlxb9DREgBSzCW/jbxuxQ4KLGT790ocVRuphw+tRXocKATJ6Vxr+dsQD9o+NJYdArXietQ==
X-Received: by 2002:a5d:6da8:0:b0:34a:ed29:8d1d with SMTP id u8-20020a5d6da8000000b0034aed298d1dmr5455541wrs.64.1713858707340;
        Tue, 23 Apr 2024 00:51:47 -0700 (PDT)
Message-ID: <bcdd2e19-b89e-4cb5-86ec-f84e38db2c98@suse.com>
Date: Tue, 23 Apr 2024 09:51:46 +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>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/MTRR: correct inadvertently inverted WC check
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The ! clearly got lost by mistake.

Fixes: e9e0eb30d4d6 ("x86/MTRR: avoid several indirect calls")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -316,7 +316,7 @@ int mtrr_add_page(unsigned long base, un
 	}
 
 	/*  If the type is WC, check that this processor supports it  */
-	if ((type == X86_MT_WC) && mtrr_have_wrcomb()) {
+	if ((type == X86_MT_WC) && !mtrr_have_wrcomb()) {
 		printk(KERN_WARNING
 		       "mtrr: your processor doesn't support write-combining\n");
 		return -EOPNOTSUPP;


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 07:52:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 07:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710355.1109528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzAx8-0004nK-Lu; Tue, 23 Apr 2024 07:52:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710355.1109528; Tue, 23 Apr 2024 07:52:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzAx8-0004nD-JF; Tue, 23 Apr 2024 07:52:34 +0000
Received: by outflank-mailman (input) for mailman id 710355;
 Tue, 23 Apr 2024 07:52: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzAx7-0004J6-LF
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 07:52:33 +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 710d2e88-0146-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 09:52:32 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-34388753650so2741398f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 00:52: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
 g18-20020adfa492000000b0033e9d9f891csm14040548wrb.58.2024.04.23.00.52.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 00:52: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: 710d2e88-0146-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713858752; x=1714463552; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=G9rlE2qRcwklub8QM9wTuYkKaDz758AuROm+J1/Xnkg=;
        b=FfqkYB372sgHNxnDQq+Zdgn0Um9Eg8gBbMT41A1diK27OY0s+PCgElbMyQIvA7nHcY
         N1r5gVWClIBWwcVq/eOQogEmkIkdezNVEPp6PT4mlUGzBsf66X8xDhyiK/VKufUyIDZg
         xbUyLqYNi+3r0oLWAFFN/u636jgXGXWxo2eKQUR5zzp19Gt/jQEgmi1QMw2qZ5VixOud
         nosDTNJ8iX7bLrJADhKNUoISAoz4bgpHNlEhtX1Uabt76wtY3g2HK/nVSJv/usrWnJxd
         HuCBIURQJ0N4p5PePS5plxpaNMUbEPmuqNFPGlZrxP2JHeTxXuMm1RarzviOHPEiKwAu
         Kvew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713858752; x=1714463552;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=G9rlE2qRcwklub8QM9wTuYkKaDz758AuROm+J1/Xnkg=;
        b=P3oL7Vs9sYVArHYV5qTR/rXLcUW63guxtIVad1pXGt+Lg79HDj4i1YVOK82h3kk+oH
         3zcFC9ThHpvuL+B9XzH6IYhnpw7bZ5VCGreXAWGYBYp3knMcGcis5Y46EBMERnbGcdx6
         ZZi0vBTYp2iUftPvT2A2+dI9hN9fyhUN6hgOv+wtTL0NqLpOsqQ76YQyuvFx8DIaSkgW
         uAnEI5EiHhhb7NIRA+IgXMN4tq9j9VBlmAJWsuhgnGm+0V92bHyr4qhUE4qhHxNo8Wgy
         yKxXhiY0sz6gJm7W/rp84NmOFqAxl1W7xvhe3tzqH+6YaTizKG5rRoKJu+gXM0tAx9AS
         cxaw==
X-Gm-Message-State: AOJu0Yx79fkXtjlaMQ59jYiqudmw37IlMQvTbIak1MscUkz5giZ/XKHi
	bH6c8zXAUv27Ez4NCHvd6MHhLQTf1KwEI5gn7Gme851obBVKQAuRCdZ60UYAKQ==
X-Google-Smtp-Source: AGHT+IEeXODWcoco3SRVaAOgPhSIRd4Z+pDusmT2kM0JXQq15aKsJdfzuIba+/qliqZkNXSrKIDU+A==
X-Received: by 2002:adf:f1c2:0:b0:343:61bb:115d with SMTP id z2-20020adff1c2000000b0034361bb115dmr8255440wro.26.1713858752484;
        Tue, 23 Apr 2024 00:52:32 -0700 (PDT)
Message-ID: <63519cb9-58a3-4bc5-9973-6ae68557f1da@suse.com>
Date: Tue, 23 Apr 2024 09:52:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MTRR: avoid several indirect calls
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <f5c8e38c-66cb-4f21-b66b-056061e37383@suse.com>
 <ZicMFtKob2e-ECxX@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZicMFtKob2e-ECxX@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 03:17, Marek Marczykowski-Górecki wrote:
> On Wed, Jan 17, 2024 at 10:32:53AM +0100, Jan Beulich wrote:
>> --- a/xen/arch/x86/cpu/mtrr/main.c
>> +++ b/xen/arch/x86/cpu/mtrr/main.c
>> @@ -328,7 +316,7 @@ int mtrr_add_page(unsigned long base, un
>>  	}
>>  
>>  	/*  If the type is WC, check that this processor supports it  */
>> -	if ((type == X86_MT_WC) && !have_wrcomb()) {
>> +	if ((type == X86_MT_WC) && mtrr_have_wrcomb()) {
> 
> Is reversing the condition intentional here? 

Clearly not. Patch sent.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:04:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:04:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710369.1109537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzB8T-0007PK-AV; Tue, 23 Apr 2024 08:04:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710369.1109537; Tue, 23 Apr 2024 08:04:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzB8T-0007PD-7d; Tue, 23 Apr 2024 08:04:17 +0000
Received: by outflank-mailman (input) for mailman id 710369;
 Tue, 23 Apr 2024 08:04: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzB8S-0007P7-M6
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:04:16 +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 133ce626-0148-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:04:14 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-41a7820620dso11574325e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 01:04: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
 s6-20020a05600c45c600b00418244d459esm19365023wmo.4.2024.04.23.01.04.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 01: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: 133ce626-0148-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713859454; x=1714464254; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=t6R7W9vICzR1GrVkYPLfWjAxFw2T8B7UNwPUNyuJglE=;
        b=R9iAnsnLf/EydypXJ28XzbMn1pJQfjHd+068tE8Gex4N1z2NiDUPJB+oI/XMAZAnq9
         UyoHrQolnBb8qicMSUE0YMBXadS6tkiHna5vgNDY0BEyrPVuJdUwmxl/TvzOA/GwPkm4
         0o73Qqd9KgBRLRT78SC/hbdaQY/sGCfz9njx8BMQPkGRYEztTI2IUd1JAGFe4i1wS4GP
         UfTKW3Xdcc49DztHQiNLLx+tMhU4wG99JWB/Due05jTLoMK2s0SX4U4F4bX57s5WAiTp
         7wd3f5wqxAbcuNPPxYx+XNvYXLyr2Q9Bg7hc4w9Xq6zfGhCKZJfjdr3c7X1fc7hQl/Pa
         6Icw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713859454; x=1714464254;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=t6R7W9vICzR1GrVkYPLfWjAxFw2T8B7UNwPUNyuJglE=;
        b=orN2Fx1bJvpziSglFufimglv/7okrCpAnOVUanRqF3iWNL8aLK8KZmFwPX9YClz83v
         yFkHf7l1VO1Rq9S2aw/p5aXXtlHvYE9TXW/2shngSLxJjU8xSvx1avwK1o2jFt0y1Qv0
         4agJR0/YC7ChawH3doB4C5O4i8tEDamoBIaMQJ/4lWPANxIIhbc7TR5/FdY9r6XX/T8F
         KigxXVj947M/MhHkr+8eIXYpK9HjknKwAjTjo7wt0AIf8vo8s1JAqPIaw2kcEwJXD0XO
         xCGdgfLadhyKpnZZ3eBK0puQpecVgFLmKI8Q7GTg7N/u69BRrJlwVjC9N5fRIdYVghM0
         uMBw==
X-Forwarded-Encrypted: i=1; AJvYcCVAGznz8nW0MSckJuXq6Ls/ml0pkFK4LX0Ac4KFmlCmmBJ4JfR5CZeTTLtlzLz8dzIUwiDQ9haH7hYLHTnMM/tG7nTLYhY3AffPwMFM1jw=
X-Gm-Message-State: AOJu0YzsnyKdLdSMpHMqsCSkhnBHfyqEGBzrOIGPdUVk7IZKDVO7Snw2
	kwtKciKuOQcMPWQGZ3RVv8t2M/ABbHkD0PAgGSgt8znWJnwnSTr1VZ4EacFzbg==
X-Google-Smtp-Source: AGHT+IFqQ1jFrk/uHf9B5fTK0aK77QhxsZhSIqmrA6LE2PPPQUrJVUo7in6Rn7oFKacFOq2RxNwJpg==
X-Received: by 2002:a05:600c:35c7:b0:418:5e80:a6fa with SMTP id r7-20020a05600c35c700b004185e80a6famr10092557wmq.14.1713859453919;
        Tue, 23 Apr 2024 01:04:13 -0700 (PDT)
Message-ID: <25ed8b89-ea7f-4a2f-ae14-a364da0c6237@suse.com>
Date: Tue, 23 Apr 2024 10:04:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/rtc: Avoid UIP flag being set for longer than
 expected
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240408162620.1633551-1-ross.lagerwall@citrix.com>
 <9b94935f-b84c-4ede-ac17-4e1c6d032b74@suse.com>
 <CAG7k0EqNJsdoZkTPkSZAm1rwCBZMrd5qHSYkRi6y48tu==B_GA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAG7k0EqNJsdoZkTPkSZAm1rwCBZMrd5qHSYkRi6y48tu==B_GA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22.04.2024 18:38, Ross Lagerwall wrote:
> On Thu, Apr 18, 2024 at 2:24 PM Jan Beulich <jbeulich@suse.com> wrote:
>> On 08.04.2024 18:26, Ross Lagerwall wrote:
>>> --- a/xen/arch/x86/hvm/rtc.c
>>> +++ b/xen/arch/x86/hvm/rtc.c
>>> @@ -202,6 +202,7 @@ static void check_update_timer(RTCState *s)
>>>          }
>>>          else
>>>          {
>>> +            s->hw.cmos_data[RTC_REG_A] &= ~RTC_UIP;
>>>              next_update_time = (USEC_PER_SEC - guest_usec - 244) * NS_PER_USEC;
>>>              expire_time = NOW() + next_update_time;
>>>              s->next_update_time = expire_time;
>>
>> Is rtc_update_timer2() clearing UIP then still necessary, ahead of calling
>> here? Hmm, yes, it is; the question is rather why the function calls
>> check_update_timer() when all that'll do (due to UF now being set) is stop
>> the other timer (in case it's also running) and clear ->use_timer.
> 
> Are you suggesting something like this?
> 
> diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c
> index 4bb1c7505534..eb4901bf129a 100644
> --- a/xen/arch/x86/hvm/rtc.c
> +++ b/xen/arch/x86/hvm/rtc.c
> @@ -240,7 +240,8 @@ static void cf_check rtc_update_timer2(void *opaque)
>          s->hw.cmos_data[RTC_REG_C] |= RTC_UF;
>          s->hw.cmos_data[RTC_REG_A] &= ~RTC_UIP;
>          rtc_update_irq(s);
> -        check_update_timer(s);
> +        stop_timer(&s->update_timer);
> +        s->use_timer = 0;
>      }
>      spin_unlock(&s->lock);
>  }
> 
> That may indeed be an improvement but I'm not sure it is really related
> to this patch?

Well, the connection is the initial question of this part of my earlier
reply. That's not to say the further change needs (or even wants) doing
right here. However, upon looking again I get the impression that I was
mixing up timer and timer2. The code path you alter is one where timer
is set, not timer2.

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

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:19:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:19:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710377.1109548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBN9-00011H-Hp; Tue, 23 Apr 2024 08:19:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710377.1109548; Tue, 23 Apr 2024 08:19: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 1rzBN9-00011A-Er; Tue, 23 Apr 2024 08:19:27 +0000
Received: by outflank-mailman (input) for mailman id 710377;
 Tue, 23 Apr 2024 08:19:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzBN8-000114-WA
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:19:27 +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 3271364b-014a-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 10:19:25 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41a4f291f9dso14418305e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 01:19:25 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 j13-20020a05600c190d00b00418a386c17bsm23049771wmq.12.2024.04.23.01.19.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 01:19: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: 3271364b-014a-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713860365; x=1714465165; 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=7mghPUcwmidzZd+YsEtASL+rkxp1mbAIVaNehj1oIds=;
        b=baLm68iVeP3tzpb8GaqZnEh87W2V7Bk/peS7BAFPB6N5xBPeNjy3uSpKH5Ze/YeiWu
         WzQTakwZPMbphiisI2ng4WxCAljgTFiZP260uz2TPDfB/ho4I3AVb3+3yOnevL47dzK8
         WeXwVrxi+lSNjj/Fsut1j5IUxfiXepFcXirdw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713860365; x=1714465165;
        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=7mghPUcwmidzZd+YsEtASL+rkxp1mbAIVaNehj1oIds=;
        b=eW+K2U17HL5ejG1NQhC4i6MTaRIc0rtddavPobJXCnXdrnwbD9DlJ8qeH6ln9GeFRM
         x3rgG4SdY8lXfe0fxOQ2Qv495bnda9c6X3yD3rWjS10j6wSed4Zz1SM++cojsSnJdxLH
         DohPX2c3SpUiTvHk7cRniV9fLtFKdA7Q0qzHog03dUzOM9GarOs5iT4WpaDFYw4Ie1TF
         G/Z4rl2AYwGIWgp/b4P85lD4XIag1wlRF5Kl+sfs/u8oNxSs1GiQtnlPpRwcFGs9G45h
         DDcgSxMB3K1LHFR3KCJC1ttpR2sp3FiUkeTlXj5vRz5wn69l3qfo2wEJUTxq4pTRW1UM
         P5JQ==
X-Gm-Message-State: AOJu0Yx0C1MKPpTXFzQwKaYV2qJkusejXMRLaqwyLi+2fMOzqFP+iHNY
	ePH24gKgWkxRlb2fhrOkhM5o7Dl3umG+aEY7UzHpyfaTG+suPHWX/O0LSbupSKk=
X-Google-Smtp-Source: AGHT+IH4f7+cZ7JoWdOEMSGpcuTSpvPGfPY16rVv32A1blrBxArW5okv8dN7ey9ycODDxbuDVcopyA==
X-Received: by 2002:a05:600c:190e:b0:418:d91b:f1a3 with SMTP id j14-20020a05600c190e00b00418d91bf1a3mr9416287wmq.38.1713860365239;
        Tue, 23 Apr 2024 01:19:25 -0700 (PDT)
Date: Tue, 23 Apr 2024 10:19:24 +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>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] x86/MTRR: correct inadvertently inverted WC check
Message-ID: <ZidvC8cDwlniIBov@macbook>
References: <bcdd2e19-b89e-4cb5-86ec-f84e38db2c98@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <bcdd2e19-b89e-4cb5-86ec-f84e38db2c98@suse.com>

On Tue, Apr 23, 2024 at 09:51:46AM +0200, Jan Beulich wrote:
> The ! clearly got lost by mistake.
> 
> Fixes: e9e0eb30d4d6 ("x86/MTRR: avoid several indirect calls")
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710380.1109557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTI-0002Vl-6l; Tue, 23 Apr 2024 08:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710380.1109557; Tue, 23 Apr 2024 08:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTI-0002Ve-4M; Tue, 23 Apr 2024 08:25:48 +0000
Received: by outflank-mailman (input) for mailman id 710380;
 Tue, 23 Apr 2024 08:25:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTH-0002TX-HC
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:47 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 137d6090-014b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:25: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 F1F24339;
 Tue, 23 Apr 2024 01:26:10 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 19B6C3F64C;
 Tue, 23 Apr 2024 01:25: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: 137d6090-014b-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/7] Static shared memory followup v2 - pt2
Date: Tue, 23 Apr 2024 09:25:25 +0100
Message-Id: <20240423082532.776623-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is a partial rework of this other serie:
https://patchwork.kernel.org/project/xen-devel/cover/20231206090623.1932275-1-Penny.Zheng@arm.com/

The original serie is addressing an issue of the static shared memory feature
that impacts the memory footprint of other component when the feature is
enabled, another issue impacts the device tree generation for the guests when
the feature is enabled and used and the last one is a missing feature that is
the option to have a static shared memory region that is not from the host
address space.

This serie is handling some comment on the original serie and it is splitting
the rework in two part, this first part is addressing the memory footprint issue
and the device tree generation and currently is fully reviewed by Michal
(https://patchwork.kernel.org/project/xen-devel/cover/20240418073652.3622828-1-luca.fancellu@arm.com/),
this serie is addressing the static shared memory allocation from the Xen heap.

This serie is meant to be applied on top of:
https://patchwork.kernel.org/project/xen-devel/cover/20240418073652.3622828-1-luca.fancellu@arm.com/
where the last patch was amended in favour of:
https://patchwork.kernel.org/project/xen-devel/patch/20240422110207.204968-1-luca.fancellu@arm.com/

Luca Fancellu (5):
  xen/arm: Lookup bootinfo shm bank during the mapping
  xen/arm: Wrap shared memory mapping code in one function
  xen/arm: Parse xen,shared-mem when host phys address is not provided
  xen/arm: Rework heap page allocation outside allocate_bank_memory
  xen/arm: Implement the logic for static shared memory from Xen heap

Penny Zheng (2):
  xen/p2m: put reference for superpage
  xen/docs: Describe static shared memory when host address is not
    provided

 docs/misc/arm/device-tree/booting.txt   |  52 ++-
 xen/arch/arm/dom0less-build.c           |   4 +-
 xen/arch/arm/domain_build.c             |  77 +++--
 xen/arch/arm/include/asm/domain_build.h |   9 +-
 xen/arch/arm/mmu/p2m.c                  |  58 +++-
 xen/arch/arm/setup.c                    |   3 +-
 xen/arch/arm/static-shmem.c             | 430 +++++++++++++++++-------
 7 files changed, 463 insertions(+), 170 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710382.1109571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTJ-0002oP-LW; Tue, 23 Apr 2024 08:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710382.1109571; Tue, 23 Apr 2024 08:25:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTJ-0002nn-IW; Tue, 23 Apr 2024 08:25:49 +0000
Received: by outflank-mailman (input) for mailman id 710382;
 Tue, 23 Apr 2024 08:25: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=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTI-0002TX-6O
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:48 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 14226acf-014b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:25: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 182841063;
 Tue, 23 Apr 2024 01:26:12 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 348733F64C;
 Tue, 23 Apr 2024 01:25: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: 14226acf-014b-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/7] xen/arm: Lookup bootinfo shm bank during the mapping
Date: Tue, 23 Apr 2024 09:25:26 +0100
Message-Id: <20240423082532.776623-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240423082532.776623-1-luca.fancellu@arm.com>
References: <20240423082532.776623-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The current static shared memory code is using bootinfo banks when it
needs to find the number of borrower, so every time assign_shared_memory
is called, the bank is searched in the bootinfo.shmem structure.

There is nothing wrong with it, however the bank can be used also to
retrieve the start address and size and also to pass less argument to
assign_shared_memory. When retrieving the information from the bootinfo
bank, it's also possible to move the checks on alignment to
process_shm_node in the early stages.

So create a new function find_shm() which takes a 'struct shared_meminfo'
structure and the shared memory ID, to look for a bank with a matching ID,
take the physical host address and size from the bank, pass the bank to
assign_shared_memory() removing the now unnecessary arguments and finally
remove the acquire_nr_borrower_domain() function since now the information
can be extracted from the passed bank.
Move the "xen,shm-id" parsing early in process_shm to bail out quickly in
case of errors (unlikely), as said above, move the checks on alignment
to process_shm_node.

Drawback of this change is that now the bootinfo are used also when the
bank doesn't need to be allocated, however it will be convinient later
to use it as an argument for assign_shared_memory when dealing with
the use case where the Host physical address is not supplied by the user.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/static-shmem.c | 105 ++++++++++++++++++++----------------
 1 file changed, 58 insertions(+), 47 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 09f474ec6050..f6cf74e58a83 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -19,29 +19,24 @@ static void __init __maybe_unused build_assertions(void)
                  offsetof(struct shared_meminfo, bank)));
 }
 
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
-                                             unsigned long *nr_borrowers)
+static const struct membank __init *find_shm(const struct membanks *shmem,
+                                             const char *shm_id)
 {
-    const struct membanks *shmem = bootinfo_get_shmem();
     unsigned int bank;
 
-    /* Iterate reserved memory to find requested shm bank. */
+    BUG_ON(!shmem || !shm_id);
+
     for ( bank = 0 ; bank < shmem->nr_banks; bank++ )
     {
-        paddr_t bank_start = shmem->bank[bank].start;
-        paddr_t bank_size = shmem->bank[bank].size;
-
-        if ( (pbase == bank_start) && (psize == bank_size) )
+        if ( strncmp(shm_id, shmem->bank[bank].shmem_extra->shm_id,
+                     MAX_SHM_ID_LENGTH) == 0 )
             break;
     }
 
     if ( bank == shmem->nr_banks )
-        return -ENOENT;
-
-    *nr_borrowers = shmem->bank[bank].shmem_extra->nr_shm_borrowers;
+        return NULL;
 
-    return 0;
+    return &shmem->bank[bank];
 }
 
 /*
@@ -103,14 +98,20 @@ static mfn_t __init acquire_shared_memory_bank(struct domain *d,
     return smfn;
 }
 
-static int __init assign_shared_memory(struct domain *d,
-                                       paddr_t pbase, paddr_t psize,
-                                       paddr_t gbase)
+static int __init assign_shared_memory(struct domain *d, paddr_t gbase,
+                                       const struct membank *shm_bank)
 {
     mfn_t smfn;
     int ret = 0;
     unsigned long nr_pages, nr_borrowers, i;
     struct page_info *page;
+    paddr_t pbase, psize;
+
+    BUG_ON(!shm_bank || !shm_bank->shmem_extra);
+
+    pbase = shm_bank->start;
+    psize = shm_bank->size;
+    nr_borrowers = shm_bank->shmem_extra->nr_shm_borrowers;
 
     printk("%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
            d, pbase, pbase + psize);
@@ -135,14 +136,6 @@ static int __init assign_shared_memory(struct domain *d,
         }
     }
 
-    /*
-     * Get the right amount of references per page, which is the number of
-     * borrower domains.
-     */
-    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
-    if ( ret )
-        return ret;
-
     /*
      * Instead of letting borrower domain get a page ref, we add as many
      * additional reference as the number of borrowers when the owner
@@ -199,6 +192,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
 
     dt_for_each_child_node(node, shm_node)
     {
+        const struct membank *boot_shm_bank;
         const struct dt_property *prop;
         const __be32 *cells;
         uint32_t addr_cells, size_cells;
@@ -212,6 +206,23 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
             continue;
 
+        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
+        {
+            printk("%pd: invalid \"xen,shm-id\" property", d);
+            return -EINVAL;
+        }
+        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
+
+        boot_shm_bank = find_shm(bootinfo_get_shmem(), shm_id);
+        if ( !boot_shm_bank )
+        {
+            printk("%pd: static shared memory bank not found: '%s'", d, shm_id);
+            return -ENOENT;
+        }
+
+        pbase = boot_shm_bank->start;
+        psize = boot_shm_bank->size;
+
         /*
          * xen,shared-mem = <pbase, gbase, size>;
          * TODO: pbase is optional.
@@ -221,20 +232,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         prop = dt_find_property(shm_node, "xen,shared-mem", NULL);
         BUG_ON(!prop);
         cells = (const __be32 *)prop->value;
-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_paddr(cells, size_cells);
-        if ( !IS_ALIGNED(pbase, PAGE_SIZE) || !IS_ALIGNED(gbase, PAGE_SIZE) )
-        {
-            printk("%pd: physical address 0x%"PRIpaddr", or guest address 0x%"PRIpaddr" is not suitably aligned.\n",
-                   d, pbase, gbase);
-            return -EINVAL;
-        }
-        if ( !IS_ALIGNED(psize, PAGE_SIZE) )
-        {
-            printk("%pd: size 0x%"PRIpaddr" is not suitably aligned\n",
-                   d, psize);
-            return -EINVAL;
-        }
+        gbase = dt_read_paddr(cells + addr_cells, addr_cells);
 
         for ( i = 0; i < PFN_DOWN(psize); i++ )
             if ( !mfn_valid(mfn_add(maddr_to_mfn(pbase), i)) )
@@ -251,13 +249,6 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
             owner_dom_io = false;
 
-        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
-        {
-            printk("%pd: invalid \"xen,shm-id\" property", d);
-            return -EINVAL;
-        }
-        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
-
         /*
          * DOMID_IO is a fake domain and is not described in the Device-Tree.
          * Therefore when the owner of the shared region is DOMID_IO, we will
@@ -270,8 +261,8 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
              * We found the first borrower of the region, the owner was not
              * specified, so they should be assigned to dom_io.
              */
-            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
-                                       pbase, psize, gbase);
+            ret = assign_shared_memory(owner_dom_io ? dom_io : d, gbase,
+                                       boot_shm_bank);
             if ( ret )
                 return ret;
         }
@@ -440,6 +431,26 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
     size = dt_next_cell(size_cells, &cell);
 
+    if ( !IS_ALIGNED(paddr, PAGE_SIZE) )
+    {
+        printk("fdt: physical address 0x%"PRIpaddr" is not suitably aligned.\n",
+               paddr);
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(gaddr, PAGE_SIZE) )
+    {
+        printk("fdt: guest address 0x%"PRIpaddr" is not suitably aligned.\n",
+               gaddr);
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(size, PAGE_SIZE) )
+    {
+        printk("fdt: size 0x%"PRIpaddr" is not suitably aligned\n", size);
+        return -EINVAL;
+    }
+
     if ( !size )
     {
         printk("fdt: the size for static shared memory region can not be zero\n");
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710381.1109569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTJ-0002kD-Fs; Tue, 23 Apr 2024 08:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710381.1109569; Tue, 23 Apr 2024 08:25:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTJ-0002k4-B2; Tue, 23 Apr 2024 08:25:49 +0000
Received: by outflank-mailman (input) for mailman id 710381;
 Tue, 23 Apr 2024 08:25: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=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTH-0002VX-TS
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:47 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 14d33859-014b-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 10:25: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 31EBE1476;
 Tue, 23 Apr 2024 01:26:13 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4E6313F64C;
 Tue, 23 Apr 2024 01:25: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: 14d33859-014b-11ef-909a-e314d9c70b13
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/7] xen/arm: Wrap shared memory mapping code in one function
Date: Tue, 23 Apr 2024 09:25:27 +0100
Message-Id: <20240423082532.776623-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240423082532.776623-1-luca.fancellu@arm.com>
References: <20240423082532.776623-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Wrap the code and logic that is calling assign_shared_memory
and map_regions_p2mt into a new function 'handle_shared_mem_bank',
it will become useful later when the code will allow the user to
don't pass the host physical address.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/static-shmem.c | 71 +++++++++++++++++++++++--------------
 1 file changed, 45 insertions(+), 26 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index f6cf74e58a83..24e40495a481 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -185,6 +185,47 @@ append_shm_bank_to_domain(struct shared_meminfo *kinfo_shm_mem, paddr_t start,
     return 0;
 }
 
+static int __init handle_shared_mem_bank(struct domain *d, paddr_t gbase,
+                                         bool owner_dom_io,
+                                         const char *role_str,
+                                         const struct membank *shm_bank)
+{
+    paddr_t pbase, psize;
+    int ret;
+
+    BUG_ON(!shm_bank);
+
+    pbase = shm_bank->start;
+    psize = shm_bank->size;
+    /*
+     * DOMID_IO is a fake domain and is not described in the Device-Tree.
+     * Therefore when the owner of the shared region is DOMID_IO, we will
+     * only find the borrowers.
+     */
+    if ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
+         (!owner_dom_io && strcmp(role_str, "owner") == 0) )
+    {
+        /*
+         * We found the first borrower of the region, the owner was not
+         * specified, so they should be assigned to dom_io.
+         */
+        ret = assign_shared_memory(owner_dom_io ? dom_io : d, gbase, shm_bank);
+        if ( ret )
+            return ret;
+    }
+
+    if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
+    {
+        /* Set up P2M foreign mapping for borrower domain. */
+        ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
+                               _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
 int __init process_shm(struct domain *d, struct kernel_info *kinfo,
                        const struct dt_device_node *node)
 {
@@ -249,32 +290,10 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
             owner_dom_io = false;
 
-        /*
-         * DOMID_IO is a fake domain and is not described in the Device-Tree.
-         * Therefore when the owner of the shared region is DOMID_IO, we will
-         * only find the borrowers.
-         */
-        if ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
-             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
-        {
-            /*
-             * We found the first borrower of the region, the owner was not
-             * specified, so they should be assigned to dom_io.
-             */
-            ret = assign_shared_memory(owner_dom_io ? dom_io : d, gbase,
-                                       boot_shm_bank);
-            if ( ret )
-                return ret;
-        }
-
-        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
-        {
-            /* Set up P2M foreign mapping for borrower domain. */
-            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
-                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
-            if ( ret )
-                return ret;
-        }
+        ret = handle_shared_mem_bank(d, gbase, owner_dom_io, role_str,
+                                     boot_shm_bank);
+        if ( ret )
+            return ret;
 
         /*
          * Record static shared memory region info for later setting
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710383.1109582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTK-0002rC-5u; Tue, 23 Apr 2024 08:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710383.1109582; Tue, 23 Apr 2024 08: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 1rzBTJ-0002pb-Ov; Tue, 23 Apr 2024 08:25:49 +0000
Received: by outflank-mailman (input) for mailman id 710383;
 Tue, 23 Apr 2024 08:25:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTI-0002VX-IM
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:48 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1599ce26-014b-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 10:25:47 +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 81E391477;
 Tue, 23 Apr 2024 01:26:14 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 68BC23F64C;
 Tue, 23 Apr 2024 01:25: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: 1599ce26-014b-11ef-909a-e314d9c70b13
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH 3/7] xen/p2m: put reference for superpage
Date: Tue, 23 Apr 2024 09:25:28 +0100
Message-Id: <20240423082532.776623-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240423082532.776623-1-luca.fancellu@arm.com>
References: <20240423082532.776623-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

We are doing foreign memory mapping for static shared memory, and
there is a great possibility that it could be super mapped.
But today, p2m_put_l3_page could not handle superpages.

This commits implements a new function p2m_put_superpage to handle superpages,
specifically for helping put extra references for foreign superpages.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v1:
 - patch from https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-9-Penny.Zheng@arm.com/
---
 xen/arch/arm/mmu/p2m.c | 58 +++++++++++++++++++++++++++++++-----------
 1 file changed, 43 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 41fcca011cf4..479a80fbd4cf 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -753,17 +753,9 @@ static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
     return rc;
 }
 
-/*
- * Put any references on the single 4K page referenced by pte.
- * TODO: Handle superpages, for now we only take special references for leaf
- * pages (specifically foreign ones, which can't be super mapped today).
- */
-static void p2m_put_l3_page(const lpae_t pte)
+/* Put any references on the single 4K page referenced by mfn. */
+static void p2m_put_l3_page(mfn_t mfn, unsigned type)
 {
-    mfn_t mfn = lpae_get_mfn(pte);
-
-    ASSERT(p2m_is_valid(pte));
-
     /*
      * TODO: Handle other p2m types
      *
@@ -771,16 +763,53 @@ static void p2m_put_l3_page(const lpae_t pte)
      * flush the TLBs if the page is reallocated before the end of
      * this loop.
      */
-    if ( p2m_is_foreign(pte.p2m.type) )
+    if ( p2m_is_foreign(type) )
     {
         ASSERT(mfn_valid(mfn));
         put_page(mfn_to_page(mfn));
     }
     /* Detect the xenheap page and mark the stored GFN as invalid. */
-    else if ( p2m_is_ram(pte.p2m.type) && is_xen_heap_mfn(mfn) )
+    else if ( p2m_is_ram(type) && is_xen_heap_mfn(mfn) )
         page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
 }
 
+/* Put any references on the superpage referenced by mfn. */
+static void p2m_put_superpage(mfn_t mfn, unsigned int next_level, unsigned type)
+{
+    unsigned int i;
+    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
+
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        if ( next_level == 3 )
+            p2m_put_l3_page(mfn, type);
+        else
+            p2m_put_superpage(mfn, next_level + 1, type);
+
+        mfn = mfn_add(mfn, 1 << level_order);
+    }
+}
+
+/* Put any references on the page referenced by pte. */
+static void p2m_put_page(const lpae_t pte, unsigned int level)
+{
+    mfn_t mfn = lpae_get_mfn(pte);
+
+    ASSERT(p2m_is_valid(pte));
+
+    /*
+     * We are either having a first level 1G superpage or a
+     * second level 2M superpage.
+     */
+    if ( p2m_is_superpage(pte, level) )
+        return p2m_put_superpage(mfn, level + 1, pte.p2m.type);
+    else
+    {
+        ASSERT(level == 3);
+        return p2m_put_l3_page(mfn, pte.p2m.type);
+    }
+}
+
 /* Free lpae sub-tree behind an entry */
 static void p2m_free_entry(struct p2m_domain *p2m,
                            lpae_t entry, unsigned int level)
@@ -809,9 +838,8 @@ static void p2m_free_entry(struct p2m_domain *p2m,
 #endif
 
         p2m->stats.mappings[level]--;
-        /* Nothing to do if the entry is a super-page. */
-        if ( level == 3 )
-            p2m_put_l3_page(entry);
+        p2m_put_page(entry, level);
+
         return;
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710384.1109598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTL-0003T8-Eo; Tue, 23 Apr 2024 08:25:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710384.1109598; Tue, 23 Apr 2024 08:25:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTL-0003Py-9D; Tue, 23 Apr 2024 08:25:51 +0000
Received: by outflank-mailman (input) for mailman id 710384;
 Tue, 23 Apr 2024 08:25:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTK-0002TX-35
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:50 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 1648df22-014b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:25: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 B67DD339;
 Tue, 23 Apr 2024 01:26:15 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B81B93F64C;
 Tue, 23 Apr 2024 01:25: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: 1648df22-014b-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 4/7] xen/arm: Parse xen,shared-mem when host phys address is not provided
Date: Tue, 23 Apr 2024 09:25:29 +0100
Message-Id: <20240423082532.776623-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240423082532.776623-1-luca.fancellu@arm.com>
References: <20240423082532.776623-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Handle the parsing of the 'xen,shared-mem' property when the host physical
address is not provided, this commit is introducing the logic to parse it,
but the functionality is still not implemented and will be part of future
commits.

Rework the logic inside process_shm_node to check the shm_id before doing
the other checks, because it ease the logic itself, add more comment on
the logic.
Now when the host physical address is not provided, the value
INVALID_PADDR is chosen to signal this condition and it is stored as
start of the bank, due to that change also early_print_info_shmem and
init_sharedmem_pages are changed, to don't handle banks with start equal
to INVALID_PADDR.

Another change is done inside meminfo_overlap_check, to skip banks that
are starting with the start address INVALID_PADDR, that function is used
to check banks from reserved memory and ACPI and it's unlikely for these
bank to have the start address as INVALID_PADDR. The change holds
because of this consideration.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/setup.c        |   3 +-
 xen/arch/arm/static-shmem.c | 129 +++++++++++++++++++++++++-----------
 2 files changed, 93 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index d242674381d4..f15d40a85a5f 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -297,7 +297,8 @@ static bool __init meminfo_overlap_check(const struct membanks *mem,
         bank_start = mem->bank[i].start;
         bank_end = bank_start + mem->bank[i].size;
 
-        if ( region_end <= bank_start || region_start >= bank_end )
+        if ( INVALID_PADDR == bank_start || region_end <= bank_start ||
+             region_start >= bank_end )
             continue;
         else
         {
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 24e40495a481..1c03bb7f1882 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -264,6 +264,12 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         pbase = boot_shm_bank->start;
         psize = boot_shm_bank->size;
 
+        if ( INVALID_PADDR == pbase )
+        {
+            printk("%pd: host physical address must be chosen by users at the moment.", d);
+            return -EINVAL;
+        }
+
         /*
          * xen,shared-mem = <pbase, gbase, size>;
          * TODO: pbase is optional.
@@ -382,7 +388,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 {
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
-    paddr_t paddr, gaddr, size, end;
+    paddr_t paddr = INVALID_PADDR;
+    paddr_t gaddr, size, end;
     struct membanks *mem = bootinfo_get_shmem();
     struct shmem_membank_extra *shmem_extra = bootinfo_get_shmem_extra();
     unsigned int i;
@@ -437,24 +444,37 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     if ( !prop )
         return -ENOENT;
 
+    cell = (const __be32 *)prop->data;
     if ( len != dt_cells_to_size(address_cells + size_cells + address_cells) )
     {
-        if ( len == dt_cells_to_size(size_cells + address_cells) )
-            printk("fdt: host physical address must be chosen by users at the moment.\n");
-
-        printk("fdt: invalid `xen,shared-mem` property.\n");
-        return -EINVAL;
+        if ( len == dt_cells_to_size(address_cells + size_cells) )
+            device_tree_get_reg(&cell, address_cells, size_cells, &gaddr,
+                                &size);
+        else
+        {
+            printk("fdt: invalid `xen,shared-mem` property.\n");
+            return -EINVAL;
+        }
     }
+    else
+    {
+        device_tree_get_reg(&cell, address_cells, address_cells, &paddr,
+                            &gaddr);
+        size = dt_next_cell(size_cells, &cell);
 
-    cell = (const __be32 *)prop->data;
-    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
+        if ( !IS_ALIGNED(paddr, PAGE_SIZE) )
+        {
+            printk("fdt: physical address 0x%"PRIpaddr" is not suitably aligned.\n",
+                paddr);
+            return -EINVAL;
+        }
 
-    if ( !IS_ALIGNED(paddr, PAGE_SIZE) )
-    {
-        printk("fdt: physical address 0x%"PRIpaddr" is not suitably aligned.\n",
-               paddr);
-        return -EINVAL;
+        end = paddr + size;
+        if ( end <= paddr )
+        {
+            printk("fdt: static shared memory region %s overflow\n", shm_id);
+            return -EINVAL;
+        }
     }
 
     if ( !IS_ALIGNED(gaddr, PAGE_SIZE) )
@@ -476,41 +496,69 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
         return -EINVAL;
     }
 
-    end = paddr + size;
-    if ( end <= paddr )
-    {
-        printk("fdt: static shared memory region %s overflow\n", shm_id);
-        return -EINVAL;
-    }
-
     for ( i = 0; i < mem->nr_banks; i++ )
     {
         /*
          * Meet the following check:
+         * when host address is provided:
          * 1) The shm ID matches and the region exactly match
          * 2) The shm ID doesn't match and the region doesn't overlap
          * with an existing one
+         * when host address is not provided:
+         * 1) The shm ID matches and the region size exactly match
          */
-        if ( paddr == mem->bank[i].start && size == mem->bank[i].size )
+        bool paddr_assigned = INVALID_PADDR == paddr;
+        bool shm_id_match = strncmp(shm_id, shmem_extra[i].shm_id,
+                                    MAX_SHM_ID_LENGTH) == 0;
+        if ( shm_id_match )
         {
-            if ( strncmp(shm_id, shmem_extra[i].shm_id,
-                         MAX_SHM_ID_LENGTH) == 0  )
+            /*
+             * Regions have same shm_id (cases):
+             * 1) physical host address is supplied:
+             *    - OK:   paddr is equal and size is equal (same region)
+             *    - Fail: paddr doesn't match or size doesn't match (there
+             *            cannot exists two shmem regions with same shm_id)
+             * 2) physical host address is NOT supplied:
+             *    - OK:   size is equal (same region)
+             *    - Fail: size is not equal (same shm_id must identify only one
+             *            region, there can't be two different regions with same
+             *            shm_id)
+             */
+            bool start_match = paddr_assigned ? (paddr == mem->bank[i].start) :
+                                                true;
+
+            if ( start_match && size == mem->bank[i].size )
                 break;
             else
             {
-                printk("fdt: xen,shm-id %s does not match for all the nodes using the same region.\n",
+                printk("fdt: different shared memory region could not share the same shm ID %s\n",
                        shm_id);
                 return -EINVAL;
             }
         }
-        else if ( strncmp(shm_id, shmem_extra[i].shm_id,
-                          MAX_SHM_ID_LENGTH) != 0 )
-            continue;
         else
         {
-            printk("fdt: different shared memory region could not share the same shm ID %s\n",
-                   shm_id);
-            return -EINVAL;
+            /*
+             * Regions have different shm_id (cases):
+             * 1) physical host address is supplied:
+             *    - OK:   paddr different, or size different (case where paddr
+             *            is equal but psize is different are wrong, but they
+             *            are handled later when checking for overlapping)
+             *    - Fail: paddr equal and size equal (the same region can't be
+             *            identified with different shm_id)
+             * 2) physical host address is NOT supplied:
+             *    - OK:   Both have different shm_id so even with same size they
+             *            can exists
+             */
+            if ( !paddr_assigned || paddr != mem->bank[i].start ||
+                 size != mem->bank[i].size )
+                continue;
+            else
+            {
+                printk("fdt: xen,shm-id %s does not match for all the nodes using the same region.\n",
+                       shm_id);
+                return -EINVAL;
+            }
         }
     }
 
@@ -518,7 +566,8 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
     {
         if (i < mem->max_banks)
         {
-            if ( check_reserved_regions_overlap(paddr, size) )
+            if ( (paddr != INVALID_PADDR) &&
+                 check_reserved_regions_overlap(paddr, size) )
                 return -EINVAL;
 
             /* Static shared memory shall be reserved from any other use. */
@@ -588,13 +637,16 @@ void __init early_print_info_shmem(void)
 {
     const struct membanks *shmem = bootinfo_get_shmem();
     unsigned int bank;
+    unsigned int printed = 0;
 
     for ( bank = 0; bank < shmem->nr_banks; bank++ )
-    {
-        printk(" SHMEM[%u]: %"PRIpaddr" - %"PRIpaddr"\n", bank,
-               shmem->bank[bank].start,
-               shmem->bank[bank].start + shmem->bank[bank].size - 1);
-    }
+        if ( shmem->bank[bank].start != INVALID_PADDR )
+        {
+            printk(" SHMEM[%u]: %"PRIpaddr" - %"PRIpaddr"\n", printed,
+                shmem->bank[bank].start,
+                shmem->bank[bank].start + shmem->bank[bank].size - 1);
+            printed++;
+        }
 }
 
 void __init init_sharedmem_pages(void)
@@ -603,7 +655,8 @@ void __init init_sharedmem_pages(void)
     unsigned int bank;
 
     for ( bank = 0 ; bank < shmem->nr_banks; bank++ )
-        init_staticmem_bank(&shmem->bank[bank]);
+        if ( shmem->bank[bank].start != INVALID_PADDR )
+            init_staticmem_bank(&shmem->bank[bank]);
 }
 
 int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710385.1109608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTM-0003lZ-Mi; Tue, 23 Apr 2024 08:25:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710385.1109608; Tue, 23 Apr 2024 08:25:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTM-0003lO-IL; Tue, 23 Apr 2024 08:25:52 +0000
Received: by outflank-mailman (input) for mailman id 710385;
 Tue, 23 Apr 2024 08:25:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTK-0002TX-RL
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:50 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 16dca818-014b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:25: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 D09371063;
 Tue, 23 Apr 2024 01:26:16 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id ED13C3F64C;
 Tue, 23 Apr 2024 01:25: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: 16dca818-014b-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 5/7] xen/arm: Rework heap page allocation outside allocate_bank_memory
Date: Tue, 23 Apr 2024 09:25:30 +0100
Message-Id: <20240423082532.776623-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240423082532.776623-1-luca.fancellu@arm.com>
References: <20240423082532.776623-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function allocate_bank_memory allocates pages from the heap and
map them to the guest using guest_physmap_add_page.

As a preparation work to support static shared memory bank when the
host physical address is not provided, Xen needs to allocate memory
from the heap, so rework allocate_bank_memory moving out the page
allocation in a new function called allocate_domheap_memory.

The function allocate_domheap_memory takes a callback function and
a pointer to some extra information passed to the callback and this
function will be called for every page allocated, until a defined
size is reached.

In order to keep allocate_bank_memory functionality, the callback
passed to allocate_domheap_memory is a wrapper for
guest_physmap_add_page.

Let allocate_domheap_memory be externally visible, in order to use
it in the future from the static shared memory module.

Take the opportunity to change the signature of allocate_bank_memory
and remove the 'struct domain' parameter, which can be retrieved from
'struct kernel_info'.

No functional changes is intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/dom0less-build.c           |  4 +-
 xen/arch/arm/domain_build.c             | 77 +++++++++++++++++--------
 xen/arch/arm/include/asm/domain_build.h |  9 ++-
 3 files changed, 62 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 74f053c242f4..20ddf6f8f250 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -60,12 +60,12 @@ static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
 
     mem->nr_banks = 0;
     bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
+    if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
                                bank_size) )
         goto fail;
 
     bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
+    if ( !allocate_bank_memory(kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
                                bank_size) )
         goto fail;
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 0784e4c5e315..148db06b8ca3 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -417,26 +417,13 @@ static void __init allocate_memory_11(struct domain *d,
 }
 
 #ifdef CONFIG_DOM0LESS_BOOT
-bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
-                                 gfn_t sgfn, paddr_t tot_size)
+bool __init allocate_domheap_memory(struct domain *d, paddr_t tot_size,
+                                    alloc_domheap_mem_cb cb, void *extra)
 {
-    struct membanks *mem = kernel_info_get_mem(kinfo);
-    int res;
+    unsigned int max_order = UINT_MAX;
     struct page_info *pg;
-    struct membank *bank;
-    unsigned int max_order = ~0;
 
-    /*
-     * allocate_bank_memory can be called with a tot_size of zero for
-     * the second memory bank. It is not an error and we can safely
-     * avoid creating a zero-size memory bank.
-     */
-    if ( tot_size == 0 )
-        return true;
-
-    bank = &mem->bank[mem->nr_banks];
-    bank->start = gfn_to_gaddr(sgfn);
-    bank->size = tot_size;
+    BUG_ON(!cb);
 
     while ( tot_size > 0 )
     {
@@ -463,17 +450,61 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
             continue;
         }
 
-        res = guest_physmap_add_page(d, sgfn, page_to_mfn(pg), order);
-        if ( res )
-        {
-            dprintk(XENLOG_ERR, "Failed map pages to DOMU: %d", res);
+        if ( cb(d, pg, order, extra) )
             return false;
-        }
 
-        sgfn = gfn_add(sgfn, 1UL << order);
         tot_size -= (1ULL << (PAGE_SHIFT + order));
     }
 
+    return true;
+}
+
+static int __init guest_map_pages(struct domain *d, struct page_info *pg,
+                                  unsigned int order, void *extra)
+{
+    gfn_t *sgfn = (gfn_t *)extra;
+    int res;
+
+    BUG_ON(!sgfn);
+    res = guest_physmap_add_page(d, *sgfn, page_to_mfn(pg), order);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed map pages to DOMU: %d", res);
+        return res;
+    }
+
+    *sgfn = gfn_add(*sgfn, 1UL << order);
+
+    return 0;
+}
+
+bool __init allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn,
+                                 paddr_t tot_size)
+{
+    struct membanks *mem = kernel_info_get_mem(kinfo);
+    struct domain *d = kinfo->d;
+    struct membank *bank;
+
+    /*
+     * allocate_bank_memory can be called with a tot_size of zero for
+     * the second memory bank. It is not an error and we can safely
+     * avoid creating a zero-size memory bank.
+     */
+    if ( tot_size == 0 )
+        return true;
+
+    bank = &mem->bank[mem->nr_banks];
+    bank->start = gfn_to_gaddr(sgfn);
+    bank->size = tot_size;
+
+    /*
+     * Allocate pages from the heap until tot_size and map them to the guest
+     * using guest_map_pages, passing the starting gfn as extra parameter for
+     * the map operation.
+     */
+    if ( !allocate_domheap_memory(d, tot_size, guest_map_pages, &sgfn) )
+        return false;
+
     mem->nr_banks++;
     kinfo->unassigned_mem -= bank->size;
 
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 45936212ca21..9eeb5839f6ed 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -5,9 +5,12 @@
 #include <asm/kernel.h>
 
 typedef __be32 gic_interrupt_t[3];
-
-bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
-                          gfn_t sgfn, paddr_t tot_size);
+typedef int (*alloc_domheap_mem_cb)(struct domain *d, struct page_info *pg,
+                                    unsigned int order, void *extra);
+bool allocate_domheap_memory(struct domain *d, paddr_t tot_size,
+                             alloc_domheap_mem_cb cb, void *extra);
+bool allocate_bank_memory(struct kernel_info *kinfo, gfn_t sgfn,
+                          paddr_t tot_size);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int make_chosen_node(const struct kernel_info *kinfo);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710386.1109618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTO-000420-15; Tue, 23 Apr 2024 08:25:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710386.1109618; Tue, 23 Apr 2024 08: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 1rzBTN-00041H-Ro; Tue, 23 Apr 2024 08:25:53 +0000
Received: by outflank-mailman (input) for mailman id 710386;
 Tue, 23 Apr 2024 08: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=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTM-0002TX-27
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 178533e0-014b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:25: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 EB0291477;
 Tue, 23 Apr 2024 01:26:17 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 135B33F64C;
 Tue, 23 Apr 2024 01:25: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: 178533e0-014b-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 6/7] xen/arm: Implement the logic for static shared memory from Xen heap
Date: Tue, 23 Apr 2024 09:25:31 +0100
Message-Id: <20240423082532.776623-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240423082532.776623-1-luca.fancellu@arm.com>
References: <20240423082532.776623-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This commit implements the logic to have the static shared memory banks
from the Xen heap instead of having the host physical address passed from
the user.

When the host physical address is not supplied, the physical memory is
taken from the Xen heap using allocate_domheap_memory, the allocation
needs to occur at the first handled DT node and the allocated banks
need to be saved somewhere, so introduce the 'shm_heap_banks' static
global variable of type 'struct meminfo' that will hold the banks
allocated from the heap, its field .shmem_extra will be used to point
to the bootinfo shared memory banks .shmem_extra space, so that there
is not further allocation of memory and every bank in shm_heap_banks
can be safely identified by the shm_id to reconstruct its traceability
and if it was allocated or not.

A search into 'shm_heap_banks' will reveal if the banks were allocated
or not, in case the host address is not passed, and the callback given
to allocate_domheap_memory will store the banks in the structure and
map them to the current domain, to do that, some changes to
acquire_shared_memory_bank are made to let it differentiate if the bank
is from the heap and if it is, then assign_pages is called for every
bank.

When the bank is already allocated, for every bank allocated with the
corresponding shm_id, handle_shared_mem_bank is called and the mapping
are done.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/static-shmem.c | 193 +++++++++++++++++++++++++++++-------
 1 file changed, 157 insertions(+), 36 deletions(-)

diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 1c03bb7f1882..10396ed52ff1 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -9,6 +9,18 @@
 #include <asm/static-memory.h>
 #include <asm/static-shmem.h>
 
+typedef struct {
+    struct domain *d;
+    paddr_t gbase;
+    bool owner_dom_io;
+    const char *role_str;
+    struct shmem_membank_extra *bank_extra_info;
+} alloc_heap_pages_cb_extra;
+
+static struct meminfo __initdata shm_heap_banks = {
+    .common.max_banks = NR_MEM_BANKS
+};
+
 static void __init __maybe_unused build_assertions(void)
 {
     /*
@@ -66,7 +78,8 @@ static bool __init is_shm_allocated_to_domio(paddr_t pbase)
 }
 
 static mfn_t __init acquire_shared_memory_bank(struct domain *d,
-                                               paddr_t pbase, paddr_t psize)
+                                               paddr_t pbase, paddr_t psize,
+                                               bool bank_from_heap)
 {
     mfn_t smfn;
     unsigned long nr_pfns;
@@ -86,19 +99,31 @@ static mfn_t __init acquire_shared_memory_bank(struct domain *d,
     d->max_pages += nr_pfns;
 
     smfn = maddr_to_mfn(pbase);
-    res = acquire_domstatic_pages(d, smfn, nr_pfns, 0);
+    if ( bank_from_heap )
+        /*
+         * When host address is not provided, static shared memory is
+         * allocated from heap and shall be assigned to owner domain.
+         */
+        res = assign_pages(maddr_to_page(pbase), nr_pfns, d, 0);
+    else
+        res = acquire_domstatic_pages(d, smfn, nr_pfns, 0);
+
     if ( res )
     {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        d->max_pages -= nr_pfns;
-        return INVALID_MFN;
+        printk(XENLOG_ERR "%pd: failed to %s static memory: %d.\n", d,
+               bank_from_heap ? "assign" : "acquire", res);
+        goto fail;
     }
 
     return smfn;
+
+ fail:
+    d->max_pages -= nr_pfns;
+    return INVALID_MFN;
 }
 
 static int __init assign_shared_memory(struct domain *d, paddr_t gbase,
+                                       bool bank_from_heap,
                                        const struct membank *shm_bank)
 {
     mfn_t smfn;
@@ -113,10 +138,7 @@ static int __init assign_shared_memory(struct domain *d, paddr_t gbase,
     psize = shm_bank->size;
     nr_borrowers = shm_bank->shmem_extra->nr_shm_borrowers;
 
-    printk("%pd: allocate static shared memory BANK %#"PRIpaddr"-%#"PRIpaddr".\n",
-           d, pbase, pbase + psize);
-
-    smfn = acquire_shared_memory_bank(d, pbase, psize);
+    smfn = acquire_shared_memory_bank(d, pbase, psize, bank_from_heap);
     if ( mfn_eq(smfn, INVALID_MFN) )
         return -EINVAL;
 
@@ -188,6 +210,7 @@ append_shm_bank_to_domain(struct shared_meminfo *kinfo_shm_mem, paddr_t start,
 static int __init handle_shared_mem_bank(struct domain *d, paddr_t gbase,
                                          bool owner_dom_io,
                                          const char *role_str,
+                                         bool bank_from_heap,
                                          const struct membank *shm_bank)
 {
     paddr_t pbase, psize;
@@ -197,6 +220,10 @@ static int __init handle_shared_mem_bank(struct domain *d, paddr_t gbase,
 
     pbase = shm_bank->start;
     psize = shm_bank->size;
+
+    printk("%pd: SHMEM map from %s: mphys 0x%"PRIpaddr" -> gphys 0x%"PRIpaddr", size 0x%"PRIpaddr"\n",
+           d, bank_from_heap ? "Xen heap" : "Host", pbase, gbase, psize);
+
     /*
      * DOMID_IO is a fake domain and is not described in the Device-Tree.
      * Therefore when the owner of the shared region is DOMID_IO, we will
@@ -209,7 +236,8 @@ static int __init handle_shared_mem_bank(struct domain *d, paddr_t gbase,
          * We found the first borrower of the region, the owner was not
          * specified, so they should be assigned to dom_io.
          */
-        ret = assign_shared_memory(owner_dom_io ? dom_io : d, gbase, shm_bank);
+        ret = assign_shared_memory(owner_dom_io ? dom_io : d, gbase,
+                                   bank_from_heap, shm_bank);
         if ( ret )
             return ret;
     }
@@ -226,6 +254,40 @@ static int __init handle_shared_mem_bank(struct domain *d, paddr_t gbase,
     return 0;
 }
 
+static int __init save_map_heap_pages(struct domain *d, struct page_info *pg,
+                                      unsigned int order, void *extra)
+{
+    alloc_heap_pages_cb_extra *b_extra = (alloc_heap_pages_cb_extra *)extra;
+    int idx = shm_heap_banks.common.nr_banks;
+    int ret = -ENOSPC;
+
+    BUG_ON(!b_extra);
+
+    if ( idx < shm_heap_banks.common.max_banks )
+    {
+        shm_heap_banks.bank[idx].start = page_to_maddr(pg);
+        shm_heap_banks.bank[idx].size = (1ULL << (PAGE_SHIFT + order));
+        shm_heap_banks.bank[idx].shmem_extra = b_extra->bank_extra_info;
+        shm_heap_banks.common.nr_banks++;
+
+        ret = handle_shared_mem_bank(b_extra->d, b_extra->gbase,
+                                     b_extra->owner_dom_io, b_extra->role_str,
+                                     true, &shm_heap_banks.bank[idx]);
+        if ( !ret )
+        {
+            /* Increment guest physical address for next mapping */
+            b_extra->gbase += shm_heap_banks.bank[idx].size;
+            ret = 0;
+        }
+    }
+
+    if ( ret )
+        printk("Failed to allocate static shared memory from Xen heap: (%d)\n",
+               ret);
+
+    return ret;
+}
+
 int __init process_shm(struct domain *d, struct kernel_info *kinfo,
                        const struct dt_device_node *node)
 {
@@ -264,42 +326,101 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         pbase = boot_shm_bank->start;
         psize = boot_shm_bank->size;
 
-        if ( INVALID_PADDR == pbase )
-        {
-            printk("%pd: host physical address must be chosen by users at the moment.", d);
-            return -EINVAL;
-        }
+        /*
+         * "role" property is optional and if it is defined explicitly,
+         * then the owner domain is not the default "dom_io" domain.
+         */
+        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
+            owner_dom_io = false;
 
         /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * TODO: pbase is optional.
+         * xen,shared-mem = <[pbase,] gbase, size>;
+         * pbase is optional.
          */
         addr_cells = dt_n_addr_cells(shm_node);
         size_cells = dt_n_size_cells(shm_node);
         prop = dt_find_property(shm_node, "xen,shared-mem", NULL);
         BUG_ON(!prop);
         cells = (const __be32 *)prop->value;
-        gbase = dt_read_paddr(cells + addr_cells, addr_cells);
 
-        for ( i = 0; i < PFN_DOWN(psize); i++ )
-            if ( !mfn_valid(mfn_add(maddr_to_mfn(pbase), i)) )
-            {
-                printk("%pd: invalid physical address 0x%"PRI_mfn"\n",
-                       d, mfn_x(mfn_add(maddr_to_mfn(pbase), i)));
-                return -EINVAL;
-            }
+        if ( pbase != INVALID_PADDR )
+        {
+            /* guest phys address is after host phys address */
+            gbase = dt_read_paddr(cells + addr_cells, addr_cells);
+
+            for ( i = 0; i < PFN_DOWN(psize); i++ )
+                if ( !mfn_valid(mfn_add(maddr_to_mfn(pbase), i)) )
+                {
+                    printk("%pd: invalid physical address 0x%"PRI_mfn"\n",
+                        d, mfn_x(mfn_add(maddr_to_mfn(pbase), i)));
+                    return -EINVAL;
+                }
+
+            /* The host physical address is supplied by the user */
+            ret = handle_shared_mem_bank(d, gbase, owner_dom_io, role_str,
+                                         false, boot_shm_bank);
+            if ( ret )
+                return ret;
+        }
+        else
+        {
+            /*
+             * The host physical address is not supplied by the user, so it
+             * means that the banks needs to be allocated from the Xen heap,
+             * look into the already allocated banks from the heap.
+             */
+            const struct membank *alloc_bank = find_shm(&shm_heap_banks.common,
+                                                        shm_id);
 
-        /*
-         * "role" property is optional and if it is defined explicitly,
-         * then the owner domain is not the default "dom_io" domain.
-         */
-        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
-            owner_dom_io = false;
+            /* guest phys address is right at the beginning */
+            gbase = dt_read_paddr(cells, addr_cells);
 
-        ret = handle_shared_mem_bank(d, gbase, owner_dom_io, role_str,
-                                     boot_shm_bank);
-        if ( ret )
-            return ret;
+            if ( !alloc_bank )
+            {
+                alloc_heap_pages_cb_extra cb_arg = { d, gbase, owner_dom_io,
+                    role_str, boot_shm_bank->shmem_extra };
+
+                /* shm_id identified bank is not yet allocated */
+                if ( !allocate_domheap_memory(NULL, psize, save_map_heap_pages,
+                                              &cb_arg) )
+                {
+                    printk(XENLOG_ERR
+                           "Failed to allocate (%"PRIpaddr"MB) pages as static shared memory from heap\n",
+                           psize >> 20);
+                    return -EINVAL;
+                }
+            }
+            else
+            {
+                /* shm_id identified bank is already allocated */
+                const struct membank *end_bank =
+                        &shm_heap_banks.bank[shm_heap_banks.common.nr_banks];
+                paddr_t gbase_bank = gbase;
+
+                /*
+                 * Static shared memory banks that are taken from the Xen heap
+                 * are allocated sequentially in shm_heap_banks, so starting
+                 * from the first bank found identified by shm_id, the code can
+                 * just advance by one bank at the time until it reaches the end
+                 * of the array or it finds another bank NOT identified by
+                 * shm_id
+                 */
+                for ( ; alloc_bank < end_bank; alloc_bank++ )
+                {
+                    if ( strncmp(shm_id, alloc_bank->shmem_extra->shm_id,
+                                 MAX_SHM_ID_LENGTH) != 0 )
+                        break;
+
+                    ret = handle_shared_mem_bank(d, gbase_bank, owner_dom_io,
+                                                 role_str, true, alloc_bank);
+                    if ( ret )
+                        return ret;
+
+                    /* Increment guest physical address for next mapping */
+                    gbase_bank += alloc_bank->size;
+                }
+            }
+        }
 
         /*
          * Record static shared memory region info for later setting
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:25:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710387.1109624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBTO-00049r-Mv; Tue, 23 Apr 2024 08:25:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710387.1109624; Tue, 23 Apr 2024 08:25: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 1rzBTO-00048O-H3; Tue, 23 Apr 2024 08:25:54 +0000
Received: by outflank-mailman (input) for mailman id 710387;
 Tue, 23 Apr 2024 08:25: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=eHxu=L4=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzBTN-0002TX-9s
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:25:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 184fe73e-014b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:25: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 46D70339;
 Tue, 23 Apr 2024 01:26:19 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2DCEF3F64C;
 Tue, 23 Apr 2024 01:25: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: 184fe73e-014b-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <Penny.Zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>
Subject: [PATCH 7/7] xen/docs: Describe static shared memory when host address is not provided
Date: Tue, 23 Apr 2024 09:25:32 +0100
Message-Id: <20240423082532.776623-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240423082532.776623-1-luca.fancellu@arm.com>
References: <20240423082532.776623-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <Penny.Zheng@arm.com>

This commit describe the new scenario where host address is not provided
in "xen,shared-mem" property and a new example is added to the page to
explain in details.

Take the occasion to fix some typos in the page.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v1:
 - patch from https://patchwork.kernel.org/project/xen-devel/patch/20231206090623.1932275-10-Penny.Zheng@arm.com/
   with some changes in the commit message.
---
 docs/misc/arm/device-tree/booting.txt | 52 ++++++++++++++++++++-------
 1 file changed, 39 insertions(+), 13 deletions(-)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index bbd955e9c2f6..ac4bad6fe5e0 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -590,7 +590,7 @@ communication.
     An array takes a physical address, which is the base address of the
     shared memory region in host physical address space, a size, and a guest
     physical address, as the target address of the mapping.
-    e.g. xen,shared-mem = < [host physical address] [guest address] [size] >
+    e.g. xen,shared-mem = < [host physical address] [guest address] [size] >;
 
     It shall also meet the following criteria:
     1) If the SHM ID matches with an existing region, the address range of the
@@ -601,8 +601,8 @@ communication.
     The number of cells for the host address (and size) is the same as the
     guest pseudo-physical address and they are inherited from the parent node.
 
-    Host physical address is optional, when missing Xen decides the location
-    (currently unimplemented).
+    Host physical address is optional, when missing Xen decides the location.
+    e.g. xen,shared-mem = < [guest address] [size] >;
 
 - role (Optional)
 
@@ -629,7 +629,7 @@ chosen {
         role = "owner";
         xen,shm-id = "my-shared-mem-0";
         xen,shared-mem = <0x10000000 0x10000000 0x10000000>;
-    }
+    };
 
     domU1 {
         compatible = "xen,domain";
@@ -640,25 +640,36 @@ chosen {
         vpl011;
 
         /*
-         * shared memory region identified as 0x0(xen,shm-id = <0x0>)
-         * is shared between Dom0 and DomU1.
+         * shared memory region "my-shared-mem-0" is shared
+         * between Dom0 and DomU1.
          */
         domU1-shared-mem@10000000 {
             compatible = "xen,domain-shared-memory-v1";
             role = "borrower";
             xen,shm-id = "my-shared-mem-0";
             xen,shared-mem = <0x10000000 0x50000000 0x10000000>;
-        }
+        };
 
         /*
-         * shared memory region identified as 0x1(xen,shm-id = <0x1>)
-         * is shared between DomU1 and DomU2.
+         * shared memory region "my-shared-mem-1" is shared between
+         * DomU1 and DomU2.
          */
         domU1-shared-mem@50000000 {
             compatible = "xen,domain-shared-memory-v1";
             xen,shm-id = "my-shared-mem-1";
             xen,shared-mem = <0x50000000 0x60000000 0x20000000>;
-        }
+        };
+
+        /*
+         * shared memory region "my-shared-mem-2" is shared between
+         * DomU1 and DomU2.
+         */
+        domU1-shared-mem-2 {
+            compatible = "xen,domain-shared-memory-v1";
+            xen,shm-id = "my-shared-mem-2";
+            role = "owner";
+            xen,shared-mem = <0x80000000 0x20000000>;
+        };
 
         ......
 
@@ -672,14 +683,21 @@ chosen {
         cpus = <1>;
 
         /*
-         * shared memory region identified as 0x1(xen,shm-id = <0x1>)
-         * is shared between domU1 and domU2.
+         * shared memory region "my-shared-mem-1" is shared between
+         * domU1 and domU2.
          */
         domU2-shared-mem@50000000 {
             compatible = "xen,domain-shared-memory-v1";
             xen,shm-id = "my-shared-mem-1";
             xen,shared-mem = <0x50000000 0x70000000 0x20000000>;
-        }
+        };
+
+        domU2-shared-mem-2 {
+            compatible = "xen,domain-shared-memory-v1";
+            xen,shm-id = "my-shared-mem-2";
+            role = "borrower";
+            xen,shared-mem = <0x90000000 0x20000000>;
+        };
 
         ......
     };
@@ -699,3 +717,11 @@ shared between DomU1 and DomU2. It will get mapped at 0x60000000 in DomU1 guest
 physical address space, and at 0x70000000 in DomU2 guest physical address space.
 DomU1 and DomU2 are both the borrower domain, the owner domain is the default
 owner domain DOMID_IO.
+
+For the static shared memory region "my-shared-mem-2", since host physical
+address is not provided by user, Xen will automatically allocate 512MB
+from heap as static shared memory to be shared between DomU1 and DomU2.
+The automatically allocated static shared memory will get mapped at
+0x80000000 in DomU1 guest physical address space, and at 0x90000000 in DomU2
+guest physical address space. DomU1 is explicitly defined as the owner domain,
+and DomU2 is the borrower domain.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:46:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:46:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710425.1109637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBn2-0001KM-A6; Tue, 23 Apr 2024 08:46:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710425.1109637; Tue, 23 Apr 2024 08: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 1rzBn2-0001KF-7Y; Tue, 23 Apr 2024 08:46:12 +0000
Received: by outflank-mailman (input) for mailman id 710425;
 Tue, 23 Apr 2024 08:46: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=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzBn0-0001K9-Vv
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:46:11 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebdd5a13-014d-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 10:46:07 +0200 (CEST)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 7296B293A4;
 Tue, 23 Apr 2024 04:46:04 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 5D1DB293A3;
 Tue, 23 Apr 2024 04:46:04 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id 4EA622939D;
 Tue, 23 Apr 2024 04:46: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: ebdd5a13-014d-11ef-909a-e314d9c70b13
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=Uh4F9no4BIYC1nQL2ejMcfVoDtu9aEa2CEXPvaH2j0Q=; b=ANlo
	c16bMuYA0Z9Vf/I6uWkcHzNvYUogE59oNXcCcg7H7BGPUuuO1BJRNZ07KcVetI0H
	vc/LSFHZ5OEzCGGPRVhBBlFXhKU2R4PBgcKdHQoMZs/x9yuRKtUJPuTxXfJ+aZzG
	mahkcK8pOPYIRkC8W96tx3Vex9uLFnP9c5BHxaI=
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 0/7] x86: make Intel/AMD vPMU & MCE support configurable
Date: Tue, 23 Apr 2024 11:45:56 +0300
Message-Id: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 E8E77480-014D-11EF-8AA1-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

Here's an attempt to further separate support of Intel & AMD CPUs in Xen =
build.
The code to drive both platforms used to be built unconditionally, until =
recent
introduction of CONFIG_{AMD,INTEL} Kconfig options.

This series extends coverage of these options on vpmu and mcheck subsyste=
ms,
that is not building Intel or AMD vpmu/mcheck support if CPU vendor's sup=
port
was explicitly disabled.

Sergiy Kibrik (7):
  x86/vpmu: separate amd/intel vPMU code
  x86/intel: guard vmce_has_lmce() with INTEL option
  x86/MCE: guard access to Intel/AMD-specific MCA MSRs
  x86/MCE: guard lmce_support/cmci_support
  x86/MCE: guard {intel/amd}_mcheck_init() calls
  x86/MCE: guard call to Intel-specific intel_get_extended_msrs()
  x86/MCE: optional build of AMD/Intel MCE code

 xen/arch/x86/cpu/Makefile           |  4 +++-
 xen/arch/x86/cpu/mcheck/Makefile    |  6 ++----
 xen/arch/x86/cpu/mcheck/mce.c       | 13 ++++++++-----
 xen/arch/x86/cpu/mcheck/non-fatal.c |  6 ++++++
 xen/arch/x86/cpu/mcheck/vmce.c      | 18 +++++++++++-------
 xen/arch/x86/cpu/mcheck/vmce.h      |  1 +
 xen/arch/x86/include/asm/vpmu.h     | 19 +++++++++++++++++++
 xen/arch/x86/msr.c                  |  2 +-
 8 files changed, 51 insertions(+), 18 deletions(-)

--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:48:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710428.1109648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBp1-0001s5-Lj; Tue, 23 Apr 2024 08:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710428.1109648; Tue, 23 Apr 2024 08:48:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBp1-0001ry-Ij; Tue, 23 Apr 2024 08:48:15 +0000
Received: by outflank-mailman (input) for mailman id 710428;
 Tue, 23 Apr 2024 08:48:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzBp0-0001rq-E9
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:48:14 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 368071bd-014e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:48:12 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 343F52F507;
 Tue, 23 Apr 2024 04:48:10 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 2CACE2F506;
 Tue, 23 Apr 2024 04:48:10 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 816562F505;
 Tue, 23 Apr 2024 04:48:06 -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: 368071bd-014e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=tBZw+tTNRdaf6qGurFVkABj1A
	orbI3wQr6+AHMyDkRk=; b=vPB+e6UJ4L4kKdEv5sFHA4N/zd8WEk9dIy53m6zGk
	TEfftH13Tik//ZTlNZGbM47qd4/pdaEYvdH/p8hxyGzbdP8O1ytT88JXWgWW60KC
	GWwlt7u3pX+PVjyQNZ9KEoq5OOEsROptDU6Til96dbcI7wa5exL5iaPI1HIQjGHD
	Pg=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1 1/7] x86/vpmu: separate amd/intel vPMU code
Date: Tue, 23 Apr 2024 11:48:03 +0300
Message-Id: <a708db7fe06d131256ed2c75f518efce3d078fbb.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 3421AB46-014E-11EF-8BF4-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Build AMD vPMU when CONFIG_AMD is on, and Intel vPMU when CONFIG_INTEL
is on respectively, allowing for a plaftorm-specific build. Also separate
arch_vpmu_ops initializers using these options and static inline stubs.

No functional change intended.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>

---
changes in v1:
 - switch to CONFIG_{AMD,INTEL} instead of CONFIG_{SVM,VMX}


 xen/arch/x86/cpu/Makefile       |  4 +++-
 xen/arch/x86/include/asm/vpmu.h | 19 +++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
index 35561fe51d..eafce5f204 100644
--- a/xen/arch/x86/cpu/Makefile
+++ b/xen/arch/x86/cpu/Makefile
@@ -10,4 +10,6 @@ obj-y +=3D intel.o
 obj-y +=3D intel_cacheinfo.o
 obj-y +=3D mwait-idle.o
 obj-y +=3D shanghai.o
-obj-y +=3D vpmu.o vpmu_amd.o vpmu_intel.o
+obj-y +=3D vpmu.o
+obj-$(CONFIG_AMD) +=3D vpmu_amd.o
+obj-$(CONFIG_INTEL) +=3D vpmu_intel.o
diff --git a/xen/arch/x86/include/asm/vpmu.h b/xen/arch/x86/include/asm/v=
pmu.h
index dae9b43dac..e7a8f211f8 100644
--- a/xen/arch/x86/include/asm/vpmu.h
+++ b/xen/arch/x86/include/asm/vpmu.h
@@ -11,6 +11,7 @@
 #define __ASM_X86_HVM_VPMU_H_
=20
 #include <public/pmu.h>
+#include <xen/err.h>
=20
 #define vcpu_vpmu(vcpu)   (&(vcpu)->arch.vpmu)
 #define vpmu_vcpu(vpmu)   container_of((vpmu), struct vcpu, arch.vpmu)
@@ -42,9 +43,27 @@ struct arch_vpmu_ops {
 #endif
 };
=20
+#ifdef CONFIG_INTEL
 const struct arch_vpmu_ops *core2_vpmu_init(void);
+#else
+static inline const struct arch_vpmu_ops *core2_vpmu_init(void)
+{
+    return ERR_PTR(-ENODEV);
+}
+#endif
+#ifdef CONFIG_AMD
 const struct arch_vpmu_ops *amd_vpmu_init(void);
 const struct arch_vpmu_ops *hygon_vpmu_init(void);
+#else
+static inline const struct arch_vpmu_ops *amd_vpmu_init(void)
+{
+    return ERR_PTR(-ENODEV);
+}
+static inline const struct arch_vpmu_ops *hygon_vpmu_init(void)
+{
+    return ERR_PTR(-ENODEV);
+}
+#endif
=20
 struct vpmu_struct {
     u32 flags;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:50:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710432.1109657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBr5-0003HT-0B; Tue, 23 Apr 2024 08:50:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710432.1109657; Tue, 23 Apr 2024 08:50:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBr4-0003HM-Tq; Tue, 23 Apr 2024 08:50:22 +0000
Received: by outflank-mailman (input) for mailman id 710432;
 Tue, 23 Apr 2024 08:50: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=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzBr3-0003HB-4y
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:50:21 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8289f7b8-014e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:50:19 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id A07922F561;
 Tue, 23 Apr 2024 04:50:17 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 98F5C2F560;
 Tue, 23 Apr 2024 04:50:17 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id F21E62F55F;
 Tue, 23 Apr 2024 04:50:12 -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: 8289f7b8-014e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=aYD43tk+gWcyJQX2GE5PLFjHO
	p7VB7dWZgOWsQGq9gU=; b=b9bWZqrJCuMB6yFz66DOS65k9dAox6+zmq11HPZRZ
	xuTsr9VtncYPmCJBBV0uvWTaYpw2L31N+2cEkEM3l0MLSzFkiy1dQBkKDO/CEx0L
	EDFKF/YH39t5bxaQtEwMcRakeb4H1UqO7tHyjQdpI0+j6Z+YAmH42XlqiKDlRgYi
	MQ=
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 2/7] x86/intel: guard vmce_has_lmce() with INTEL option
Date: Tue, 23 Apr 2024 11:50:09 +0300
Message-Id: <5e26895d84f8b7750799740ac2324b2cb92fa97e.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 7F821B2A-014E-11EF-9A68-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Since MCG_LMCE_P bit is specific to Intel CPUs the code to check it can
possibly be excluded from build if !CONFIG_INTEL. With these guards
calls to vmce_has_lmce() are eliminated and mce_intel.c can end up
not being built.

Also replace boilerplate code that checks for MCG_LMCE_P flag with
vmce_has_lmce(), which might contribute to readability a bit.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/vmce.c | 4 ++--
 xen/arch/x86/msr.c             | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/vmce.c b/xen/arch/x86/cpu/mcheck/vmc=
e.c
index 353d4f19b2..c437f62c0a 100644
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -199,7 +199,7 @@ int vmce_rdmsr(uint32_t msr, uint64_t *val)
          * bits are always set in guest MSR_IA32_FEATURE_CONTROL by Xen,=
 so it
          * does not need to check them here.
          */
-        if ( cur->arch.vmce.mcg_cap & MCG_LMCE_P )
+        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(cur) )
         {
             *val =3D cur->arch.vmce.mcg_ext_ctl;
             mce_printk(MCE_VERBOSE, "MCE: %pv: rd MCG_EXT_CTL %#"PRIx64"=
\n",
@@ -324,7 +324,7 @@ int vmce_wrmsr(uint32_t msr, uint64_t val)
         break;
=20
     case MSR_IA32_MCG_EXT_CTL:
-        if ( (cur->arch.vmce.mcg_cap & MCG_LMCE_P) &&
+        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(cur) &&
              !(val & ~MCG_EXT_CTL_LMCE_EN) )
             cur->arch.vmce.mcg_ext_ctl =3D val;
         else
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 9babd441f9..4010c87d93 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -86,7 +86,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t =
*val)
             goto gp_fault;
=20
         *val =3D IA32_FEATURE_CONTROL_LOCK;
-        if ( vmce_has_lmce(v) )
+        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(v) )
             *val |=3D IA32_FEATURE_CONTROL_LMCE_ON;
         if ( cp->basic.vmx )
             *val |=3D IA32_FEATURE_CONTROL_ENABLE_VMXON_OUTSIDE_SMX;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:52:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:52:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710436.1109668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBt7-0003on-DF; Tue, 23 Apr 2024 08:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710436.1109668; Tue, 23 Apr 2024 08: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 1rzBt7-0003og-9P; Tue, 23 Apr 2024 08:52:29 +0000
Received: by outflank-mailman (input) for mailman id 710436;
 Tue, 23 Apr 2024 08:52: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=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzBt5-0003oV-IV
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:52:27 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdf14cdf-014e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 10:52:25 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 089E42F571;
 Tue, 23 Apr 2024 04:52:24 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 00B522F570;
 Tue, 23 Apr 2024 04:52:24 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 752212F56F;
 Tue, 23 Apr 2024 04:52:20 -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: cdf14cdf-014e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=S1rwCtNYMTM6b7pGJJ8grguoV
	77WucEJ1NnbYDjwq30=; b=x+nWwy8vZGgQ662bifcMeCFlB6UAPDjpKka1g8OqA
	LzvCuebQ7lPmAdyZMRSTJIjV/DEGLqb551EPsp1iCsbZZ+cCPWwPEZM6/njNJ4l0
	RUdW1lpG4sT9PdwOoEscAKZdXLZ9T3EZ76VcuadNSXDEgbY0DMtSL+ylPRhej8aN
	UI=
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 3/7] x86/MCE: guard access to Intel/AMD-specific MCA MSRs
Date: Tue, 23 Apr 2024 11:52:17 +0300
Message-Id: <d187db984b9b5413d73849594985e10c2c2fdc03.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 CB7F013C-014E-11EF-A908-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Add build-time checks for newly introduced INTEL/AMD config options when
calling vmce_{intel/amd}_{rdmsr/wrmsr}() routines.
This way a platform-specific code can be omitted in vmce code, if this
platform is disabled in config.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/vmce.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/vmce.c b/xen/arch/x86/cpu/mcheck/vmc=
e.c
index c437f62c0a..be229684a4 100644
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -141,12 +141,14 @@ static int bank_mce_rdmsr(const struct vcpu *v, uin=
t32_t msr, uint64_t *val)
         case X86_VENDOR_CENTAUR:
         case X86_VENDOR_SHANGHAI:
         case X86_VENDOR_INTEL:
-            ret =3D vmce_intel_rdmsr(v, msr, val);
+            ret =3D IS_ENABLED(CONFIG_INTEL) ?
+                  vmce_intel_rdmsr(v, msr, val) : -ENODEV;
             break;
=20
         case X86_VENDOR_AMD:
         case X86_VENDOR_HYGON:
-            ret =3D vmce_amd_rdmsr(v, msr, val);
+            ret =3D IS_ENABLED(CONFIG_AMD) ?
+                  vmce_amd_rdmsr(v, msr, val) : -ENODEV;
             break;
=20
         default:
@@ -272,12 +274,14 @@ static int bank_mce_wrmsr(struct vcpu *v, uint32_t =
msr, uint64_t val)
         switch ( boot_cpu_data.x86_vendor )
         {
         case X86_VENDOR_INTEL:
-            ret =3D vmce_intel_wrmsr(v, msr, val);
+            ret =3D IS_ENABLED(CONFIG_INTEL) ?
+                  vmce_intel_wrmsr(v, msr, val) : -ENODEV;
             break;
=20
         case X86_VENDOR_AMD:
         case X86_VENDOR_HYGON:
-            ret =3D vmce_amd_wrmsr(v, msr, val);
+            ret =3D IS_ENABLED(CONFIG_AMD) ?
+                  vmce_amd_wrmsr(v, msr, val) : -ENODEV;
             break;
=20
         default:
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:54:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:54:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710440.1109678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBv8-0004nh-NZ; Tue, 23 Apr 2024 08:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710440.1109678; Tue, 23 Apr 2024 08: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 1rzBv8-0004na-Kk; Tue, 23 Apr 2024 08:54:34 +0000
Received: by outflank-mailman (input) for mailman id 710440;
 Tue, 23 Apr 2024 08: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=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzBv7-0004kK-F3
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:54:33 +0000
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1925f680-014f-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 10:54:32 +0200 (CEST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 76ED42F58C;
 Tue, 23 Apr 2024 04:54:30 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp20.pobox.com (Postfix) with ESMTP id 6F3552F58B;
 Tue, 23 Apr 2024 04:54:30 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp20.pobox.com (Postfix) with ESMTPSA id E65F52F588;
 Tue, 23 Apr 2024 04:54:26 -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: 1925f680-014f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=qBdCaQo8xXPRL9koiygD4Doyw
	FZCckSSqeafkQGDihU=; b=WCbm9Gvv8A5FY/iF7cCg5LLERujQJjvAcQ7N4+Dt3
	vqIta6Fh56FnKa8UtNPKzhLjZANpOdRqMvbn+C8YgYVkN6UpTLWfPuth1CEP8kvn
	trXWAn04JfsQlWO2FNsN3Mo7QvrUcAaTe+xQgo6yojDA4nh0UfMpP8+nOcsw2X8n
	pc=
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 4/7] x86/MCE: guard lmce_support/cmci_support
Date: Tue, 23 Apr 2024 11:54:23 +0300
Message-Id: <d5fa50b3056b96f3046be39ed682a8b347f1b425.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 16E01ED6-014F-11EF-9FC5-F515D2CDFF5E-90055647!pb-smtp20.pobox.com
Content-Transfer-Encoding: quoted-printable

Guard access to Intel-specific lmce_support & cmci_support variables in
common MCE/VMCE code. These are set in Intel-specific parts of mcheck cod=
e
and can potentially be skipped if building for non-intel platform by
disabling CONFIG_INTEL option.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/mce.c  | 4 ++--
 xen/arch/x86/cpu/mcheck/vmce.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.=
c
index 2844685983..72dfaf28cb 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -611,7 +611,7 @@ static void set_poll_bankmask(struct cpuinfo_x86 *c)
     mb =3D per_cpu(poll_bankmask, cpu);
     BUG_ON(!mb);
=20
-    if ( cmci_support && opt_mce )
+    if ( IS_ENABLED(CONFIG_INTEL) && cmci_support && opt_mce )
     {
         const struct mca_banks *cmci =3D per_cpu(no_cmci_banks, cpu);
=20
@@ -1607,7 +1607,7 @@ long do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) u_xen_=
mc)
             break;
=20
         case XEN_MC_INJECT_TYPE_LMCE:
-            if ( !lmce_support )
+            if ( IS_ENABLED(CONFIG_INTEL) && !lmce_support )
             {
                 ret =3D x86_mcerr("No LMCE support", -EINVAL);
                 break;
diff --git a/xen/arch/x86/cpu/mcheck/vmce.c b/xen/arch/x86/cpu/mcheck/vmc=
e.c
index be229684a4..6051ab2b2e 100644
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -546,7 +546,7 @@ int vmce_enable_mca_cap(struct domain *d, uint64_t ca=
p)
=20
     if ( cap & XEN_HVM_MCA_CAP_LMCE )
     {
-        if ( !lmce_support )
+        if ( IS_ENABLED(CONFIG_INTEL) && !lmce_support )
             return -EINVAL;
         for_each_vcpu(d, v)
             v->arch.vmce.mcg_cap |=3D MCG_LMCE_P;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:56:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710450.1109688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBx7-0005Za-5m; Tue, 23 Apr 2024 08:56:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710450.1109688; Tue, 23 Apr 2024 08:56:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBx7-0005ZT-2z; Tue, 23 Apr 2024 08:56:37 +0000
Received: by outflank-mailman (input) for mailman id 710450;
 Tue, 23 Apr 2024 08:56: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=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzBx6-0005Yn-5q
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:56:36 +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 62e34d29-014f-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 10:56:35 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 0A5961FD769;
 Tue, 23 Apr 2024 04:56:34 -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 022721FD768;
 Tue, 23 Apr 2024 04:56:34 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 C113D1FD767;
 Tue, 23 Apr 2024 04:56:32 -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: 62e34d29-014f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=cIUMk06Iz/UdL/eIZeqDIguEs
	WgJvKn0D2mTsky2q7Q=; b=UJX65VpyP4bUaX3rMU8JvyDG0duxJcb+i221/pWHC
	ZzUvnR2fFIVtwH7MGW1XnnkgW4mEET+PNZbsmC1mjXxbegkxkQsW14GYpdGcbqJr
	FIr7+Uuzsa94RluQFqjlkFYNO4ek7zzSPXvHtzqk09v3wfHC6m94HFUfAwFP9MEg
	yA=
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 5/7] x86/MCE: guard {intel/amd}_mcheck_init() calls
Date: Tue, 23 Apr 2024 11:56:30 +0300
Message-Id: <0c7d28740db4d6581ebc81a158c970258e547959.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 61E2A1EC-014F-11EF-8E73-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Guard calls to CPU-specific mcheck init routines in common MCE code
using new INTEL/AMD config options.

The purpose is not to build platform-specific mcheck code and calls to it=
,
if this platform is disabled in config.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/mce.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.=
c
index 72dfaf28cb..42e84e76b7 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -761,7 +761,8 @@ void mcheck_init(struct cpuinfo_x86 *c, bool bsp)
     {
     case X86_VENDOR_AMD:
     case X86_VENDOR_HYGON:
-        inited =3D amd_mcheck_init(c, bsp);
+        inited =3D IS_ENABLED(CONFIG_AMD) ? amd_mcheck_init(c, bsp) :
+                                          mcheck_unset;
         break;
=20
     case X86_VENDOR_INTEL:
@@ -769,7 +770,8 @@ void mcheck_init(struct cpuinfo_x86 *c, bool bsp)
         {
         case 6:
         case 15:
-            inited =3D intel_mcheck_init(c, bsp);
+            inited =3D IS_ENABLED(CONFIG_INTEL) ? intel_mcheck_init(c, b=
sp) :
+                                                mcheck_unset;
             break;
         }
         break;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 08:58:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 08:58:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710455.1109697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzBz7-00069r-H3; Tue, 23 Apr 2024 08:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710455.1109697; Tue, 23 Apr 2024 08: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 1rzBz7-00069k-EK; Tue, 23 Apr 2024 08:58:41 +0000
Received: by outflank-mailman (input) for mailman id 710455;
 Tue, 23 Apr 2024 08:58: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=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzBz6-00069X-0C
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 08:58:40 +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 ac6e209e-014f-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 10:58:39 +0200 (CEST)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 442431F0845;
 Tue, 23 Apr 2024 04:58:37 -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 3B3301F0844;
 Tue, 23 Apr 2024 04:58:37 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 1F5E91F0843;
 Tue, 23 Apr 2024 04:58:36 -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: ac6e209e-014f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=VFOZ78GE83950bFvFp1D2oIQO
	K0G5qlHi1q6MPGjNmw=; b=qgY84Vw7CGByYaErRK9vOYRyCeOp7oDOCm8TJ7RUN
	ua78MvChW9tdaQKm+cXTRPK7wIdTeM0SEtnmmQE0ZypGZLyRJJc31o8ylRZP+Z3S
	UtYDRdQCGETU4s1WRPmKb9ubwQzVWdD4TU1OpaUzWiMxYZYd1aKbunRQZluTl0Qr
	Wo=
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 6/7] x86/MCE: guard call to Intel-specific intel_get_extended_msrs()
Date: Tue, 23 Apr 2024 11:58:34 +0300
Message-Id: <6769d564725912245cb83aaf7543933b4b5fb80d.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 AB669ED6-014F-11EF-BB0C-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Add check for CONFIG_INTEL build option to conditional call of this routi=
ne,
so that if Intel support is disabled the call would be eliminated.

No functional change intended.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/mce.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.=
c
index 42e84e76b7..de2e16a6e2 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -328,7 +328,8 @@ mcheck_mca_logout(enum mca_source who, struct mca_ban=
ks *bankmask,
                 ASSERT(mig);
                 mca_init_global(mc_flags, mig);
                 /* A hook here to get global extended msrs */
-                if ( boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL )
+                if ( IS_ENABLED(CONFIG_INTEL) &&
+                     boot_cpu_data.x86_vendor =3D=3D X86_VENDOR_INTEL )
                     intel_get_extended_msrs(mig, mci);
             }
         }
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 09:00:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 09:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710467.1109708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzC19-0007bF-1g; Tue, 23 Apr 2024 09:00:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710467.1109708; Tue, 23 Apr 2024 09:00:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzC18-0007b8-VE; Tue, 23 Apr 2024 09:00:46 +0000
Received: by outflank-mailman (input) for mailman id 710467;
 Tue, 23 Apr 2024 09:00:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UKuO=L4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1rzC16-0007b0-Ub
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 09:00:44 +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 f628cbc8-014f-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 11:00:42 +0200 (CEST)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 445F11F087C;
 Tue, 23 Apr 2024 05:00:41 -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 3B5F91F087B;
 Tue, 23 Apr 2024 05:00:41 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.126])
 (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 3B7741F087A;
 Tue, 23 Apr 2024 05:00:40 -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: f628cbc8-014f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=9+9XMXvzGyolHzNNE3bL+S4CK
	XGZAy5Za91IKnXnLa8=; b=ydVPJ0EmcaP/WyWi01IUt/358xO8U1M33CZGr1egP
	eMYUcoMJB00N6Rje8h2AbIZkkj+SisqEpXGO85qV1k/Qa9rXAIoy0zBksMy5Np7h
	SUrEBiNWM6WfIf+qiQmwqOMF/L5H9eiVcQQQCYa9tZd5ZdQUbCfD9bPQ8iqs0dCs
	5w=
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 7/7] x86/MCE: optional build of AMD/Intel MCE code
Date: Tue, 23 Apr 2024 12:00:37 +0300
Message-Id: <82df6ef350a2b4f42ec7adf12a90ebeae1d133f6.1713860310.git.Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 F5617A42-014F-11EF-8DD6-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Separate Intel/AMD-specific MCE code using CONFIG_{INTEL,AMD} config opti=
ons.
Now we can avoid build of mcheck code if support for specific platform is
intentionally disabled by configuration.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/mcheck/Makefile    | 6 ++----
 xen/arch/x86/cpu/mcheck/non-fatal.c | 6 ++++++
 xen/arch/x86/cpu/mcheck/vmce.h      | 1 +
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/Makefile b/xen/arch/x86/cpu/mcheck/M=
akefile
index f927f10b4d..5b3f6d875c 100644
--- a/xen/arch/x86/cpu/mcheck/Makefile
+++ b/xen/arch/x86/cpu/mcheck/Makefile
@@ -1,12 +1,10 @@
-obj-y +=3D amd_nonfatal.o
-obj-y +=3D mce_amd.o
 obj-y +=3D mcaction.o
 obj-y +=3D barrier.o
-obj-y +=3D intel-nonfatal.o
 obj-y +=3D mctelem.o
 obj-y +=3D mce.o
 obj-y +=3D mce-apei.o
-obj-y +=3D mce_intel.o
+obj-$(CONFIG_AMD) +=3D mce_amd.o amd_nonfatal.o
+obj-$(CONFIG_INTEL) +=3D mce_intel.o intel-nonfatal.o
 obj-y +=3D non-fatal.o
 obj-y +=3D util.o
 obj-y +=3D vmce.o
diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mchec=
k/non-fatal.c
index 33cacd15c2..2d91a3b1e0 100644
--- a/xen/arch/x86/cpu/mcheck/non-fatal.c
+++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
@@ -24,14 +24,20 @@ static int __init cf_check init_nonfatal_mce_checker(=
void)
 	 * Check for non-fatal errors every MCE_RATE s
 	 */
 	switch (c->x86_vendor) {
+#ifdef CONFIG_AMD
 	case X86_VENDOR_AMD:
 	case X86_VENDOR_HYGON:
 		/* Assume we are on K8 or newer AMD or Hygon CPU here */
 		amd_nonfatal_mcheck_init(c);
 		break;
+#endif
+#ifdef CONFIG_INTEL
 	case X86_VENDOR_INTEL:
 		intel_nonfatal_mcheck_init(c);
 		break;
+#endif
+	default:
+		return -ENODEV;
 	}
 	printk(KERN_INFO "mcheck_poll: Machine check polling timer started.\n")=
;
 	return 0;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 09:17:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 09:17:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710477.1109718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzCH3-0002W9-CU; Tue, 23 Apr 2024 09:17:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710477.1109718; Tue, 23 Apr 2024 09: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 1rzCH3-0002W2-9C; Tue, 23 Apr 2024 09:17:13 +0000
Received: by outflank-mailman (input) for mailman id 710477;
 Tue, 23 Apr 2024 09: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzCH2-0002Vw-Pt
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 09:17:12 +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 433285c3-0152-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 11:17:10 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3499f1bed15so3502339f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 02: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
 n4-20020a5d4844000000b00349f098f4a6sm13989478wrs.53.2024.04.23.02.17.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 02:17:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 433285c3-0152-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713863829; x=1714468629; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ElYP5uT2Ra53Z2pSCuJPUGQUN+STqgqHRQyM1On+6Ic=;
        b=GqVbDg3f8G0+2sEym2T/eQptQeSb8xpt7P+kBtCHixsTW6306X9jhNZOlTj2e+j4PX
         lA50JwqHxptYIZea49T1Y3eiPKDRKnfSzd8B+d7u2bIqHZMGvGIoZ5TTbr6uiABuF8ih
         RDmiJmF5rGpIBfURlFghSLfyYn4mBylM5ITAeHVyZoylp0a2eJxFycAGlHZnnXYGVme3
         lRtnzch9fHjwl07l/OD/iB/+J8YNabAW3pcskdqxhAcLguV+TST74CC9rIrhOMF3df+b
         wYWD7sXdCW5I8nQBD5+//jPiRQQxXE1Y4Ku9Cj5DRAOx+uaY4tPO+oUkIsBueAlg90Eo
         TAgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713863829; x=1714468629;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ElYP5uT2Ra53Z2pSCuJPUGQUN+STqgqHRQyM1On+6Ic=;
        b=YybpCotvgMBwJndWYxoppZu8XsAgbiv/M/+Dkn3ou5PbEB5hHNbqOwgmZNlNyOwLFJ
         Erqj3VYIdfylSvnZlpnIMMJSE42cC96vBNtn6qb1+39LVxAJ98uv59UwvEyhLmAO1Zkp
         tdNLh5xEynodRwEC3JwjRXGw6LU2rGyAMB+8ti6vwzu2lAImKkEL0aVX9pw4F7X2radt
         WAGF5Ow+mUKyxnEgpm0VRcBQix83GqoYOt8KM66dbipqItIB2IjWb+gmou2ApGdTWDyP
         1050fWuTTCgNz8mYcao1bJfs+VDtp+WBGMbDH8I20u7HP6IdWkN2gLvA7XobAjZrFAQO
         X6kw==
X-Forwarded-Encrypted: i=1; AJvYcCXxXkskQ7cUshOI/60w8q8qcpeC8BhMb89Nt+xNY2Sl09krsV647yOJcHoN02m7OHEV6oe21LLLJxm/8dv0tScK9wWSRe19WHvzpoPsSxU=
X-Gm-Message-State: AOJu0Yzw5AMn0sf3ncKF4UL98TG6GUCkn6a2ZbsCFRwgYWxCBY+WIrdz
	JYcRJU/nhylxVi4PnjRzykKmDqziJAQAgnw6/AdNtJzxJ78pest2UPPQMzaL7SGQfgtparjStyw
	=
X-Google-Smtp-Source: AGHT+IFLwWnSB5Ysq6k295Bk96JFMJw783dtX5WvkrK5N6le91V1vD6aO00OtGW9DAXT3FEVAIVPEQ==
X-Received: by 2002:adf:fec6:0:b0:349:af80:9b67 with SMTP id q6-20020adffec6000000b00349af809b67mr1127838wrs.30.1713863829253;
        Tue, 23 Apr 2024 02:17:09 -0700 (PDT)
Message-ID: <e5a14d99-4141-410e-a39c-c38b294a553b@suse.com>
Date: Tue, 23 Apr 2024 11:17:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] x86: Introduce x86_decode_lite()
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.04.2024 20:14, Andrew Cooper wrote:
> In order to relocate all IP-relative fields in an alternative replacement
> block, we need to decode the instructions enough to obtain their length and
> any relative fields.
> 
> Full x86_decode() is far too heavyweight, so introduce a minimal form which
> can make several simplifying assumptions.
> 
> This logic is sufficient to decode all alternative blocks that exist in Xen
> right now.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> --- a/xen/arch/x86/x86_emulate/Makefile
> +++ b/xen/arch/x86/x86_emulate/Makefile
> @@ -3,6 +3,7 @@ obj-y += 0fae.o
>  obj-y += 0fc7.o
>  obj-y += blk.o
>  obj-y += decode.o
> +obj-y += decode-lite.o

When LIVEPATCH=n, this could do with conversion to *.init.o, like is
done in the parent directory for alternative.c as well.

> --- /dev/null
> +++ b/xen/arch/x86/x86_emulate/decode-lite.c
> @@ -0,0 +1,245 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#include "private.h"
> +
> +#define Imm8   (1 << 0)
> +#define Imm    (1 << 1)
> +#define Branch (1 << 5) /* ... that we care about */
> +/*      ModRM  (1 << 6) */
> +#define Known  (1 << 7)
> +
> +#define ALU_OPS                                 \
> +    (Known|ModRM),                              \
> +    (Known|ModRM),                              \
> +    (Known|ModRM),                              \
> +    (Known|ModRM),                              \
> +    (Known|Imm8),                               \
> +    (Known|Imm)
> +
> +static const uint8_t init_or_livepatch_const onebyte[256] = {
> +    [0x00] = ALU_OPS, /* ADD */ [0x08] = ALU_OPS, /* OR  */
> +    [0x10] = ALU_OPS, /* ADC */ [0x18] = ALU_OPS, /* SBB */
> +    [0x20] = ALU_OPS, /* AND */ [0x28] = ALU_OPS, /* SUB */
> +    [0x30] = ALU_OPS, /* XOR */ [0x38] = ALU_OPS, /* CMP */
> +
> +    [0x50 ... 0x5f] = (Known),             /* PUSH/POP %reg */
> +
> +    [0x70 ... 0x7f] = (Known|Branch|Imm8), /* Jcc disp8 */
> +    [0x80]          = (Known|ModRM|Imm8),
> +    [0x81]          = (Known|ModRM|Imm),
> +
> +    [0x83]          = (Known|ModRM|Imm8),
> +    [0x84 ... 0x8e] = (Known|ModRM),       /* TEST/XCHG/MOV/MOV-SREG/LEA r/rm */
> +
> +    [0xb0 ... 0xb7] = (Known|Imm8),        /* MOV $imm8, %reg */

I'm surprised you get away without at least NOP also marked as known.
Imo the whole 0x90 row should be marked so.

Similarly I'm not convinced that leaving the 0xA0 row unpopulated is a
good idea. It's at best a trap set up for somebody to fall into rather
sooner than later.

> +    [0xb8 ... 0xbf] = (Known|Imm),         /* MOV $imm32, %reg */
> +
> +    [0xcc]          = (Known),             /* INT3 */
> +    [0xcd]          = (Known|Imm8),        /* INT $imm8 */

Like above, what about in particular any of the shifts/rotates and the
MOV that's in the 0xC0 row?

While the last sentence in the description is likely meant to cover
that, I think the description wants to go further as to any pretty
common but omitted insns. Already "x86: re-work memset()" and "x86: re-
work memcpy()" (v2 pending for, soon, 3 years) would make it necessary
to touch this table, thus increasing complexity of those changes to an
area they shouldn't be concerned about at all.

> +    [0xe8 ... 0xe9] = (Known|Branch|Imm),  /* CALL/JMP disp32 */
> +    [0xeb]          = (Known|Branch|Imm8), /* JMP disp8 */

0xe0 ... 0xe7 and 0xec ... 0xef would imo also better be covered, as
they easily can be (much like you also cover e.g. CMC despite it
appearing pretty unlikely that we use that insn anywhere).

> +    [0xf1]          = (Known),             /* ICEBP */
> +    [0xf4]          = (Known),             /* HLT */
> +    [0xf5]          = (Known),             /* CMC */
> +    [0xf6 ... 0xf7] = (Known|ModRM),       /* Grp3 */
> +    [0xf8 ... 0xfd] = (Known),             /* CLC ... STD */
> +    [0xfe ... 0xff] = (Known|ModRM),       /* Grp4 */
> +};
> +static const uint8_t init_or_livepatch_const twobyte[256] = {
> +    [0x00 ... 0x01] = (Known|ModRM),       /* Grp6/Grp7 */

LAR / LSL? CLTS? WBINVD? UD2?

> +    [0x18 ... 0x1f] = (Known|ModRM),       /* Grp16 (Hint Nop) */
> +
> +    [0x20 ... 0x23] = (Known|ModRM),       /* MOV CR/DR */
> +
> +    [0x30 ... 0x34] = (Known),             /* WRMSR ... RDPMC */

0x34 is SYSENTER, isn't it?

> +    [0x40 ... 0x4f] = (Known|ModRM),       /* CMOVcc */
> +
> +    [0x80 ... 0x8f] = (Known|Branch|Imm),  /* Jcc disp32 */

What about things like VMREAD/VMWRITE?

> +    [0x90 ... 0x9f] = (Known|ModRM),       /* SETcc */

PUSH/POP fs/gs? CPUID?

> +    [0xab]          = (Known|ModRM),       /* BTS */

BTS (and BTC below) but not BT and BTR?

> +    [0xac]          = (Known|ModRM|Imm8),  /* SHRD $imm8 */
> +    [0xad ... 0xaf] = (Known|ModRM),       /* SHRD %cl / Grp15 / IMUL */

SHRD but not SHLD?

CMPXCHG?

> +    [0xb8 ... 0xb9] = (Known|ModRM),       /* POPCNT/Grp10 (UD1) */
> +    [0xba]          = (Known|ModRM|Imm8),  /* Grp8 */
> +    [0xbb ... 0xbf] = (Known|ModRM),       /* BSR/BSF/BSR/MOVSX */

Nit (comment only): 0xbb is BTC.

MOVSX but not MOVZX and also not MOVSXD (in the 1-byte table)?

> +};

XADD, MOVNTI, and the whole 0xc7-based group?

> +/*
> + * Bare minimum x86 instruction decoder to parse the alternative replacement
> + * instructions and locate the IP-relative references that may need updating.
> + *
> + * These are:
> + *  - disp8/32 from near branches
> + *  - RIP-relative memory references
> + *
> + * The following simplifications are used:
> + *  - All code is 64bit, and the instruction stream is safe to read.

This, in particular, is imo important to state already ahead of the tables
above, to clarify why e.g. row 0x40 is unpopulated.

> + *  - The 67 prefix is not implemented, so the address size is only 64bit.
> + *
> + * Inputs:
> + *  @ip  The position to start decoding from.
> + *  @end End of the replacement block.  Exceeding this is considered an error.
> + *
> + * Returns: x86_decode_lite_t
> + *  - On failure, length of -1.
> + *  - On success, length > 0 and REL_TYPE_*.  For REL_TYPE != NONE, rel points
> + *    at the relative field in the instruction stream.
> + */
> +x86_decode_lite_t init_or_livepatch x86_decode_lite(void *ip, void *end)
> +{
> +    void *start = ip, *rel = NULL;
> +    unsigned int opc, type = REL_TYPE_NONE;
> +    uint8_t b, d, osize = 4;
> +
> +#define OPC_TWOBYTE (1 << 8)
> +
> +    /* Mutates IP, uses END. */
> +#define FETCH(ty)                                       \
> +    ({                                                  \
> +        ty _val;                                        \
> +                                                        \
> +        if ( (ip + sizeof(ty)) > end )                  \
> +            goto overrun;                               \
> +        _val = *(ty *)ip;                               \
> +        ip += sizeof(ty);                               \
> +        _val;                                           \
> +    })
> +
> +    for ( ;; ) /* Prefixes */
> +    {
> +        switch ( b = FETCH(uint8_t) )
> +        {
> +        case 0x26: /* ES override */
> +        case 0x2e: /* CS override */
> +        case 0x36: /* DS override */
> +        case 0x3e: /* SS override */
> +        case 0x64: /* FS override */
> +        case 0x65: /* GS override */
> +        case 0xf0: /* Lock */
> +        case 0xf2: /* REPNE */
> +        case 0xf3: /* REP */
> +            break;
> +
> +        case 0x66: /* Operand size override */
> +            osize = 2;
> +            break;
> +
> +        /* case 0x67: Address size override, not implemented */
> +
> +        case 0x40 ... 0x4f: /* REX */
> +            continue;

Imo at least a comment is needed as to osize here: We don't use 0x66
followed by REX.W, I suppose, when 0x66 determines operand size. It
may also be an opcode extension, though, in which case osize set to
2 is (latently) wrong. "Latently" because all you need osize for is
to determine Imm's length.

However, what I again think need covering right away are opcodes
0xb8 ... 0xbc in combination with REX.W (osize needing to be 8 there).

Finally - why "continue" here, but "break" further up? Both (right
now) have exactly the same effect.

> +        default:
> +            goto prefixes_done;
> +        }
> +    }
> + prefixes_done:
> +
> +    /* Fetch the main opcode byte(s) */
> +    if ( b == 0x0f )
> +    {
> +        b = FETCH(uint8_t);
> +        opc = OPC_TWOBYTE | b;
> +
> +        d = twobyte[b];
> +    }
> +    else
> +    {
> +        opc = b;
> +        d = onebyte[b];
> +    }

IOW GPR insns in 0f38 and 0f3a spaces are left out, too. That's perhaps
less of an issue than some of the other omissions (and would be more
involved to cover when considering that some of them are VEX-encoded),
but still not ideal.

> +    if ( unlikely(!(d & Known)) )
> +        goto unknown;
> +
> +    if ( d & ModRM )
> +    {
> +        uint8_t modrm = FETCH(uint8_t);
> +        uint8_t mod = modrm >> 6;
> +        uint8_t reg = (modrm >> 3) & 7;
> +        uint8_t rm = modrm & 7;
> +
> +        /* ModRM/SIB decode */
> +        if ( mod == 0 && rm == 5 ) /* RIP relative */
> +        {
> +            rel = ip;
> +            type = REL_TYPE_d32;
> +            FETCH(uint32_t);
> +        }
> +        else if ( mod != 3 && rm == 4 ) /* SIB */
> +            FETCH(uint8_t);
> +
> +        if ( mod == 1 ) /* disp8 */
> +            FETCH(uint8_t);
> +        else if ( mod == 2 ) /* disp32 */
> +            FETCH(uint32_t);
> +
> +        /* ModRM based decode adjustements */
> +        switch ( opc )
> +        {
> +        case 0xf6: /* Grp3 TEST(s) have extra Imm8 */
> +            if ( reg == 0 || reg == 1 )
> +                d |= Imm8;
> +            break;
> +        case 0xf7: /* Grp3 TEST(s) have extra Imm */
> +            if ( reg == 0 || reg == 1 )
> +                d |= Imm;
> +            break;
> +        }
> +    }
> +
> +    if ( d & Branch )
> +    {
> +        /*
> +         * Don't tolerate 66-prefixed call/jmp in alternatives.  Some are
> +         * genuinely decoded differently between Intel and AMD CPUs.
> +         */
> +        if ( osize != 4 )
> +            goto bad_osize;
> +
> +        rel = ip;
> +        type = (d & Imm8) ? REL_TYPE_d8 : REL_TYPE_d32;

Perhaps ASSERT(!rel) and/or ASSERT(!type) ahead of these?

> +    }
> +
> +    if ( d & (Imm|Imm8) )
> +    {
> +        if ( d & Imm8 )
> +            osize = 1;
> +
> +        switch ( osize )
> +        {
> +        case 1: FETCH(uint8_t);  break;
> +        case 2: FETCH(uint16_t); break;
> +        case 4: FETCH(uint32_t); break;
> +        default: goto bad_osize;
> +        }
> +    }
> +
> +    return (x86_decode_lite_t){ ip - start, type, rel };
> +
> + bad_osize:
> +    printk(XENLOG_ERR "%s() Bad osize %u in %*ph\n",
> +           __func__, osize,
> +           (int)(unsigned long)(end - start), start);
> +    return (x86_decode_lite_t){ -1, REL_TYPE_NONE, NULL };

Maybe limit opcode quoting to ip - start here?

> --- a/xen/arch/x86/x86_emulate/private.h
> +++ b/xen/arch/x86/x86_emulate/private.h
> @@ -9,7 +9,9 @@
>  #ifdef __XEN__
>  
>  # include <xen/bug.h>
> +# include <xen/init.h>
>  # include <xen/kernel.h>
> +# include <xen/livepatch.h>

Are both of these really needed here, rather than just in decode-lite.c?

> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -842,4 +842,21 @@ static inline void x86_emul_reset_event(struct x86_emulate_ctxt *ctxt)
>      ctxt->event = (struct x86_event){};
>  }
>  
> +/*
> + * x86_decode_lite().  Very minimal decoder for managing alternatives.
> + *
> + * @len is -1 on error, or positive on success.  If the instruction has a
> + * relative field, REL_TYPE_* gives the size, and @rel points at the field.
> + */
> +typedef struct {
> +    int8_t len;

Can't 0 be "error", thus permitting the field to be uint8_t?

> +    uint8_t rel_type;
> +#define REL_TYPE_NONE 0
> +#define REL_TYPE_d8   1
> +#define REL_TYPE_d32  2

Why not call the field rel_size and truly pass back the size?

> +    void *rel;

While I understand the goal of omitting const here and ...

> +} x86_decode_lite_t;
> +
> +x86_decode_lite_t x86_decode_lite(void *ip, void *end);

... here, I still find this fragile / misleading (the function itself, after
all, only ever fetches from memory). Even with the goal in mind, surely at
least "end" can be pointer-to-const?

The (struct) return type would also be easier for the compiler to deal
with if it didn't have a pointer field (and hence needs to be 128-bit). How
about returning an offset relative to "start"? That would then allow proper
constifying of both function parameters as well.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 09:36:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 09:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710485.1109727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzCZL-0006Gj-Vy; Tue, 23 Apr 2024 09:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710485.1109727; Tue, 23 Apr 2024 09: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 1rzCZL-0006Gc-TA; Tue, 23 Apr 2024 09:36:07 +0000
Received: by outflank-mailman (input) for mailman id 710485;
 Tue, 23 Apr 2024 09:36:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6olb=L4=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1rzCZL-0006GV-AN
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 09:36:07 +0000
Received: from mail-oa1-x30.google.com (mail-oa1-x30.google.com
 [2001:4860:4864:20::30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e72b868e-0154-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 11:36:04 +0200 (CEST)
Received: by mail-oa1-x30.google.com with SMTP id
 586e51a60fabf-22fa7e4b0beso3079143fac.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 02: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: e72b868e-0154-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713864963; x=1714469763; 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=1FD3wHRHF/el1LymCWjpCJfgfQzZcS8uNwvtyguXnms=;
        b=UrMFzYjO83v0aOFywkBPXAbsSKRvbeWhkgIrQNNzJb4PJmPWFDwdSsDXBpsJmSZsKd
         a+rrYCQlT2quwtaLo3R8N47CK84zkROk/TdHUhRgjAKRiH05HXIyF5QHRBwDEqDSEdQU
         Xnx8fRss6X7+193Z6k0ewkS59Wx5xkQ3Io/iCo3Iopi4stPHYMSVAbC4CWb6HtUE8CRj
         hvgrCxAWv1Ww/W4kRKGKqPDnBFIq5KOPDjpk23fcsAFW+YP0Kb1c+TazFqtdTp/yoHW1
         ZaTts5HqDiRob9jAIB/6MVuX1sF1+inRepmTn8qGBH2nPv2mgYOFweS5/MH6bcfIdIH7
         92vA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713864963; x=1714469763;
        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=1FD3wHRHF/el1LymCWjpCJfgfQzZcS8uNwvtyguXnms=;
        b=UbwDfLWfPujXgidREFMT0luRjyA1WO1S/ZSp3OrKrZRApWx4z+LiUywOP3zL2VPhuD
         qnRMMXlK0HkH3/qqD+IxejuJz9pu4jtAhmB4kC9S0/JKE2O8uKcbOVBDer0wSzDbf2el
         sYOaXwrd9nmyuxLraDZZrGTSSDB6n/VHY/anlW35GvEuRR0YBZMlE7u2gkw1qtQHZ9o0
         1jndGANQaoN/K/v8w3xlOdfPSgX/K0mMYJNjQLAQ/Cw6i7DQ3Y1t4tK0IYnsw84IIZVx
         FBMCr2GzWOrfUJZDjTcq5n0wDHANJpTKRSjnHyHyqb0XWtWfn+k61eTU3h+aNA1Mlrxx
         e02A==
X-Gm-Message-State: AOJu0Yw7kxK9clSQ8vgIzZRe76L1BJMbO6gSB2qDBU/ojHZ5xQtiYaJv
	+ie5CFsjDV6LyjK1FR6ruQ6tRyGRLveSz746CJZ4I4OURUwIqKFK/Yrvu7wIu3tT/qW8SLcFPJl
	8Ha/22OI9XpZLtzolNlX/NNBbp5w2/0Vr4owYDA==
X-Google-Smtp-Source: AGHT+IF2lYnbr0K/fyabbUG2PjvnqjOn9drcYQJ8NGdD79DK90da2W1Fd41dRot37yPp+iXlTTEekSXTF5uJjeYcSPE=
X-Received: by 2002:a05:6871:339d:b0:22e:7a61:574a with SMTP id
 ng29-20020a056871339d00b0022e7a61574amr16299048oac.33.1713864963363; Tue, 23
 Apr 2024 02:36:03 -0700 (PDT)
MIME-Version: 1.0
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org> <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
In-Reply-To: <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 23 Apr 2024 11:35:51 +0200
Message-ID: <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com>
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI handlers
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, patches@linaro.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

On Mon, Apr 22, 2024 at 12:57=E2=80=AFPM Julien Grall <julien@xen.org> wrot=
e:
>
> Hi Jens,
>
> On 22/04/2024 08:37, Jens Wiklander wrote:
> > Updates so request_irq() can be used with a dynamically assigned SGI ir=
q
> > as input. This prepares for a later patch where an FF-A schedule
> > receiver interrupt handler is installed for an SGI generated by the
> > secure world.
>
> I would like to understand the use-case a bit more. Who is responsible
> to decide the SGI number? Is it Xen or the firmware?
>
> If the later, how can we ever guarantee the ID is not going to clash
> with what the OS/hypervisor is using? Is it described in a
> specification? If so, please give a pointer.

The firmware decides the SGI number. Given that the firmware doesn't
know which SGIs Xen is using it typically needs to donate one of the
secure SGIs, but that is transparent to Xen.


>
> >
> > gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they are
> > always edge triggered.
> >
> > gic_interrupt() is updated to route the dynamically assigned SGIs to
> > do_IRQ() instead of do_sgi(). The latter still handles the statically
> > assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > v1->v2
> > - Update patch description as requested
> > ---
> >   xen/arch/arm/gic.c | 5 +++--
> >   xen/arch/arm/irq.c | 7 +++++--
>
> I am not sure where to write the comment. But I think the comment on top
> of irq_set_affinity() in setup_irq() should also be updated.
>
> >   2 files changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> > index 44c40e86defe..e9aeb7138455 100644
> > --- a/xen/arch/arm/gic.c
> > +++ b/xen/arch/arm/gic.c
> > @@ -117,7 +117,8 @@ void gic_route_irq_to_xen(struct irq_desc *desc, un=
signed int priority)
> >
> >       desc->handler =3D gic_hw_ops->gic_host_irq_type;
> >
> > -    gic_set_irq_type(desc, desc->arch.type);
> > +    if ( desc->irq >=3D NR_GIC_SGI)
> > +        gic_set_irq_type(desc, desc->arch.type);
>
> So above, you say that the SGIs are always edge-triggered interrupt. So
> I assume desc->arch.type. So are you skipping the call because it is
> unnessary or it could do the wrong thing?
>
> Ideally, the outcome of the answer be part of the comment on top of the
> check.

gic_set_irq_type() has an assert "ASSERT(type !=3D IRQ_TYPE_INVALID)"
which is triggered without this check.
So it's both unnecessary and wrong. I suppose we could update the
bookkeeping of all SGIs to be edge-triggered instead of
IRQ_TYPE_INVALID. It would still be unnecessary though. What do you
suggest?

>
> >       gic_set_irq_priority(desc, priority);
> >   }
> >
> > @@ -375,7 +376,7 @@ void gic_interrupt(struct cpu_user_regs *regs, int =
is_fiq)
> >           /* Reading IRQ will ACK it */
> >           irq =3D gic_hw_ops->read_irq();
> >
> > -        if ( likely(irq >=3D 16 && irq < 1020) )
> > +        if ( likely(irq >=3D GIC_SGI_MAX && irq < 1020) )
>
> This check is now rather confusing as one could think that do_IRQ()
> would still not be reached for dynamic SGI. I think it would be clearer
> GIC_SGI_MAX needs to be renamed to GIC_SGI_STATIC_MAX and do_sgi() to
> do_static_sgi().

Thanks, I'll update.

>
> >           {
> >               isb();
> >               do_IRQ(regs, irq, is_fiq);
> > diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> > index bcce80a4d624..fdb214560978 100644
> > --- a/xen/arch/arm/irq.c
> > +++ b/xen/arch/arm/irq.c
> > @@ -224,9 +224,12 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned i=
nt irq, int is_fiq)
> >
> >       perfc_incr(irqs);
> >
> > -    ASSERT(irq >=3D 16); /* SGIs do not come down this path */
> > +    /* Statically assigned SGIs do not come down this path */
> > +    ASSERT(irq >=3D GIC_SGI_MAX);
>
>
> With this change, I think the path with vgic_inject_irq() now needs to
> gain an ASSERT(irq >=3D NR_GIC_SGI) because the path is not supposed to b=
e
> taken for SGIs.

I'm sorry, I don't see the connection. If I add
ASSERT(virq >=3D NR_GIC_SGI);
at the top of vgic_inject_irq() it will panic when injecting a
Schedule Receiver or Notification Pending Interrupt for a guest.


>
> >
> > -    if ( irq < 32 )
> > +    if ( irq < NR_GIC_SGI )
> > +        perfc_incr(ipis);
> > +    else if ( irq < NR_GIC_LOCAL_IRQS )
> >           perfc_incr(ppis);
> >       else
> >           perfc_incr(spis);
>

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 10:02:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 10:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710495.1109738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzCz8-0002Xo-2u; Tue, 23 Apr 2024 10:02:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710495.1109738; Tue, 23 Apr 2024 10:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzCz7-0002Xh-TW; Tue, 23 Apr 2024 10:02:45 +0000
Received: by outflank-mailman (input) for mailman id 710495;
 Tue, 23 Apr 2024 10:02:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=is0t=L4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzCz6-0002XV-9Y
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 10:02:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a031a933-0158-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 12:02:43 +0200 (CEST)
Received: from truciolo.home-life.hub (unknown [176.206.12.122])
 by support.bugseng.com (Postfix) with ESMTPSA id 2475B4EE073E;
 Tue, 23 Apr 2024 12:02: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: a031a933-0158-11ef-909a-e314d9c70b13
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012 Rule 16.4
Date: Tue, 23 Apr 2024 12:02:36 +0200
Message-Id: <4981c3fb0992898a121881333485004f3609eaf7.1713866519.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to take into account the deviations
agreed during MISRA meetings for Rule 16.4.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl |  8 ++++++++
 docs/misra/deviations.rst                        | 13 +++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d21f112a9b..f09ad71acf 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -384,6 +384,14 @@ explicit comment indicating the fallthrough intention is present."
 -config=MC3R1.R16.3,reports+={safe, "any_area(end_loc(any_exp(text(^(?s).*/\\* [fF]all ?through.? \\*/.*$,0..1))))"}
 -doc_end
 
+-doc_begin="Switch statements having a controlling expression of enum type deliberately do not have a default case: gcc -Wall enables -Wswitch which warns (and breaks the build as we use -Werror) if one of the enum labels is missing from the switch."
+-config=MC3R1.R16.4,reports+={deliberate,'any_area(kind(context)&&^.* has no `default.*$&&stmt(node(switch_stmt)&&child(cond,skip(__non_syntactic_paren_stmts,type(canonical(enum_underlying_type(any())))))))'}
+-doc_end
+
+-doc_begin="A switch statement with a single switch clause and no default label may be used in place of an equivalent if statement if it is considered to improve readability."
+-config=MC3R1.R16.4,switch_clauses+={deliberate,"switch(1)&&default(0)"}
+-doc_end
+
 -doc_begin="A switch statement with a single switch clause and no default label may be used in place of an equivalent if statement if it is considered to improve readability."
 -config=MC3R1.R16.6,switch_clauses+={deliberate, "default(0)"}
 -doc_end
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index ed0c1e8ed0..df87239b7d 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -302,6 +302,19 @@ Deviations related to MISRA C:2012 Rules:
        leave such files as is.
      - Tagged as `deliberate` for ECLAIR.
 
+   * - R16.4
+     - Switch statements having a controlling expression of enum type
+       deliberately do not have a default case: gcc -Wall enables -Wswitch
+       which warns (and breaks the build as we use -Werror) if one of the enum
+       labels is missing from the switch.
+     - Tagged as `deliberate` for ECLAIR.
+
+   * - R16.4
+     - A switch statement with a single switch clause and no default label may
+       be used in place of an equivalent if statement if it is considered to
+       improve readability."
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R16.3
      - Switch clauses ending with continue, goto, return statements are safe.
      - Tagged as `safe` for ECLAIR.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 10:26:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 10:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710509.1109748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzDMI-0006Gb-T1; Tue, 23 Apr 2024 10:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710509.1109748; Tue, 23 Apr 2024 10:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzDMI-0006GU-P3; Tue, 23 Apr 2024 10:26:42 +0000
Received: by outflank-mailman (input) for mailman id 710509;
 Tue, 23 Apr 2024 10:26:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzDMH-0006GO-Im
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 10:26:41 +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 f8a54f5f-015b-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 12:26:39 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-346b146199eso4199716f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 03:26: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
 fc9-20020a05600c524900b0041ac5f19213sm1180024wmb.8.2024.04.23.03.26.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 03: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: f8a54f5f-015b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713867999; x=1714472799; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=H9Mtxd9FVgfbZIuPwuRHqHiLaZFNBEvLKXvX4KAcLLI=;
        b=NDvVkN2Pt6c6rr+yhfkPAHmARgkx9yrB8p7KH4DCbcToZlPTM9qpxAUZG0j2ARsvYY
         zDNVYwKkM75TN5MTMXt7BlrYo1/FFwJGX/6lekyAmBl5dYvbHf3RlsRSJHYiPSOPDZ5c
         Ne+bVXuXqOyAnBm+tCumSWY7QHIGPn5+WYSULIe+ZeiicMt3qa6Nc8x12nxDuFu/E858
         awRjqUglJ4XRD5AxA2ZmkPr+Y6P0czgNjsAPro8BsJPSZjtkon8hyUwlMA4PIXekoCg0
         ByCvJue84IH2nU5oP9UAJZ/PoCSRBFDuHsSFFpzCGMBvBvZ9eWVHV01HVbnipHIaCEOK
         +TSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713867999; x=1714472799;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H9Mtxd9FVgfbZIuPwuRHqHiLaZFNBEvLKXvX4KAcLLI=;
        b=axeyK27V7sn8jCxVG4NE5NeuIK62yZ3LAp4UbX665G8waXYdjfbJo+YwM/hOJdQ9Wf
         rAo+dklal/DMIjCYYVf4wJOcSjhnrwO0X4lfwhyHnY4drGDwW7x5gSgvqPSJIte968ZI
         If/sKBzud/Ko+vt/Bl2Jrrag/SfkZ4+v6xEYzsRlhNTIEwAkBmdd+1M8dqPJtmSlWPy7
         CGK9tJIbxxMcCEcG1DFLvQ8qFsxK1bXSvuPklOBJDTX2rx1Lb014FDGr9On4KCVLCIub
         f7Y1H/HlOhzLb1vOCZe4VHXTKRc3CYawrOYM6V+iWuKdF+xn+3Csd34zyJuEk9aV6eJj
         hosQ==
X-Forwarded-Encrypted: i=1; AJvYcCXrW3WOYl08C+D4kzZPI+wWOtP9qJ5cwXIIeCmyGOcByXgohMonO3cWlOht+RMQlLNXaNDKzHutkT58tCM7INQz0jqafAFFMCz2Cy0barM=
X-Gm-Message-State: AOJu0YxmA7sOFfMBkc5BlWPK/wob0RQC7P781VC+bj1FI6zJrYEd8uJO
	0CZkWxAr1ZTg/Ci/aEMQ84IAN8v5tGB65fc2Z9bYTuLjZ3Doy/HMBm3RCwj71g==
X-Google-Smtp-Source: AGHT+IF/eirXELJPJ03sIC+malVEkO8gMqq2vpPjP5f/gK7F0jgopuRX1jsYd5BkU7oYi4QqO9pDXw==
X-Received: by 2002:a5d:4d4b:0:b0:34a:9b75:cb95 with SMTP id a11-20020a5d4d4b000000b0034a9b75cb95mr5982633wru.37.1713867999245;
        Tue, 23 Apr 2024 03:26:39 -0700 (PDT)
Message-ID: <17c022d9-245b-449f-96c5-7a29ba782880@suse.com>
Date: Tue, 23 Apr 2024 12:26:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <4981c3fb0992898a121881333485004f3609eaf7.1713866519.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: <4981c3fb0992898a121881333485004f3609eaf7.1713866519.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 12:02, Federico Serafini wrote:
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -302,6 +302,19 @@ Deviations related to MISRA C:2012 Rules:
>         leave such files as is.
>       - Tagged as `deliberate` for ECLAIR.
>  
> +   * - R16.4
> +     - Switch statements having a controlling expression of enum type
> +       deliberately do not have a default case: gcc -Wall enables -Wswitch
> +       which warns (and breaks the build as we use -Werror) if one of the enum
> +       labels is missing from the switch.
> +     - Tagged as `deliberate` for ECLAIR.
> +
> +   * - R16.4
> +     - A switch statement with a single switch clause and no default label may
> +       be used in place of an equivalent if statement if it is considered to
> +       improve readability."

First a terminology related comment here: I'm afraid "switch clause" can be
interpreted multiple ways, when I think we want to leave no room for
interpretation here. It's not even clear to me whether

    switch ( x )
    {
    case 1: case 2: case 3: case 4:
        ...
        break;
    }

would be covered by the deviation, or whether the multiple case labels
wouldn't already be too much.

And then it is not clear to me why

    switch ( x )
    {
    case 1:
        ...
        break;
    default:
        ...
        break;
    }

shouldn't also be covered, as potentially a readability improvement /
future change simplification over

    if ( x == 1 )
    {
        ...
    }
    else
    {
        ...
    }

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 10:27:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 10:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710512.1109757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzDNI-0006nz-49; Tue, 23 Apr 2024 10:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710512.1109757; Tue, 23 Apr 2024 10: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 1rzDNI-0006ns-1Y; Tue, 23 Apr 2024 10:27:44 +0000
Received: by outflank-mailman (input) for mailman id 710512;
 Tue, 23 Apr 2024 10:27:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6UPA=L4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rzDNG-0006ne-8y
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 10:27:42 +0000
Received: from mail-oo1-xc29.google.com (mail-oo1-xc29.google.com
 [2607:f8b0:4864:20::c29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c9dc1b9-015c-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 12:27:40 +0200 (CEST)
Received: by mail-oo1-xc29.google.com with SMTP id
 006d021491bc7-5aa241232faso4054283eaf.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 03:27:40 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 p9-20020ac84089000000b00437a996ca44sm4707893qtl.21.2024.04.23.03.27.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 03:27:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c9dc1b9-015c-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713868059; x=1714472859; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hgNqbXIio+hx0vzWzU2UJHpfuMJRCQEbKQfmOyspTo8=;
        b=WtHQVGUd7SorVmMLL++JKuGIzsj1y0s9u9qcMyXr+s88BvtioguWtoGX3IqSfSOc/h
         mirwrpJEFm3Qw5ucWLrb/ofcjdvdqBRp9fn0Wug/6C+gUGoCYn9TzSgOglkqjiS4dz6/
         /5Q4VS5ab3SsMVpLP1v7WfBZYM45LMTO6gZXM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713868059; x=1714472859;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hgNqbXIio+hx0vzWzU2UJHpfuMJRCQEbKQfmOyspTo8=;
        b=nT50fxN5xktQAgE77fwIwErQxnvGKuIDSHb3QZhw40dTXKTOy53rNaCXgHu/gonkmz
         UBK6oF4oqNRHk9tNozkyYIcH0NiqUgrXLXCRke+OA6ipewTE0G51fE4RRVvINoKaywBi
         ypBrVGLH9CKTIsLDD61OLGldOBPQUGMuFTjaTy2diJ56GTRVMT651fHHZHyKZGS6yx+N
         eFYRbGKlA8qQ5InOf5Fvv0jpriXvbUUgxZqaqPzl3TadSIRRnqwKtk+eKjb5fkF+zEFy
         YJYZ+yUmaOgKTetXzJdop8t4Hnaw5LAdteDQc+DLiHIn9gRVLtVr/+Ew8nK3zlOIPUzV
         GM0w==
X-Forwarded-Encrypted: i=1; AJvYcCVcXhLcwIT2H00OKR3mZQt11SaFY8/yIe6SKr6x2ceGSnzDKYGhOEW4TkOelQgL4b3DTRmC5ymK6z8SQlKT6qp8n2O+4msGf/HwjuFYh/M=
X-Gm-Message-State: AOJu0YwB8372HBKftM8DVIdvMfxIOG1euoyLxRMDsyyt2Sk+mmtgR0PX
	561jH3psyXkWHquaG3Qc9BO6alDRZBgUgsDXdzS+DOcKFcpTub26sethIybWxlPnRd5lo8WnZ2Q
	1OCw=
X-Google-Smtp-Source: AGHT+IFEJkwC1E7u3MhPylRS40AAYVp1tm+Fasf0gwuy4Ir6ZxFUrgWhyi5C7r3TuS14URurC0FYkQ==
X-Received: by 2002:a05:6358:b5c3:b0:186:431:d9be with SMTP id wb3-20020a056358b5c300b001860431d9bemr19941543rwc.19.1713868059308;
        Tue, 23 Apr 2024 03:27:39 -0700 (PDT)
Message-ID: <e5555566-52a9-4775-b26d-91bd10533065@citrix.com>
Date: Tue, 23 Apr 2024 11:27:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] x86: Introduce x86_decode_lite()
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-2-andrew.cooper3@citrix.com>
 <e5a14d99-4141-410e-a39c-c38b294a553b@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: <e5a14d99-4141-410e-a39c-c38b294a553b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/04/2024 10:17 am, Jan Beulich wrote:
> On 22.04.2024 20:14, Andrew Cooper wrote:
>> --- /dev/null
>> +++ b/xen/arch/x86/x86_emulate/decode-lite.c
>> @@ -0,0 +1,245 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#include "private.h"
>> +
>> +#define Imm8   (1 << 0)
>> +#define Imm    (1 << 1)
>> +#define Branch (1 << 5) /* ... that we care about */
>> +/*      ModRM  (1 << 6) */
>> +#define Known  (1 << 7)
>> +
>> +#define ALU_OPS                                 \
>> +    (Known|ModRM),                              \
>> +    (Known|ModRM),                              \
>> +    (Known|ModRM),                              \
>> +    (Known|ModRM),                              \
>> +    (Known|Imm8),                               \
>> +    (Known|Imm)
>> +
>> +static const uint8_t init_or_livepatch_const onebyte[256] = {
>> +    [0x00] = ALU_OPS, /* ADD */ [0x08] = ALU_OPS, /* OR  */
>> +    [0x10] = ALU_OPS, /* ADC */ [0x18] = ALU_OPS, /* SBB */
>> +    [0x20] = ALU_OPS, /* AND */ [0x28] = ALU_OPS, /* SUB */
>> +    [0x30] = ALU_OPS, /* XOR */ [0x38] = ALU_OPS, /* CMP */
>> +
>> +    [0x50 ... 0x5f] = (Known),             /* PUSH/POP %reg */
>> +
>> +    [0x70 ... 0x7f] = (Known|Branch|Imm8), /* Jcc disp8 */
>> +    [0x80]          = (Known|ModRM|Imm8),
>> +    [0x81]          = (Known|ModRM|Imm),
>> +
>> +    [0x83]          = (Known|ModRM|Imm8),
>> +    [0x84 ... 0x8e] = (Known|ModRM),       /* TEST/XCHG/MOV/MOV-SREG/LEA r/rm */
>> +
>> +    [0xb0 ... 0xb7] = (Known|Imm8),        /* MOV $imm8, %reg */
> I'm surprised you get away without at least NOP also marked as known.
> Imo the whole 0x90 row should be marked so.
>
> Similarly I'm not convinced that leaving the 0xA0 row unpopulated is a
> good idea. It's at best a trap set up for somebody to fall into rather
> sooner than later.
>
>> +    [0xb8 ... 0xbf] = (Known|Imm),         /* MOV $imm32, %reg */
>> +
>> +    [0xcc]          = (Known),             /* INT3 */
>> +    [0xcd]          = (Known|Imm8),        /* INT $imm8 */
> Like above, what about in particular any of the shifts/rotates and the
> MOV that's in the 0xC0 row?
>
> While the last sentence in the description is likely meant to cover
> that, I think the description wants to go further as to any pretty
> common but omitted insns. Already "x86: re-work memset()" and "x86: re-
> work memcpy()" (v2 pending for, soon, 3 years) would make it necessary
> to touch this table, thus increasing complexity of those changes to an
> area they shouldn't be concerned about at all.
>
>> +    [0xe8 ... 0xe9] = (Known|Branch|Imm),  /* CALL/JMP disp32 */
>> +    [0xeb]          = (Known|Branch|Imm8), /* JMP disp8 */
> 0xe0 ... 0xe7 and 0xec ... 0xef would imo also better be covered, as
> they easily can be (much like you also cover e.g. CMC despite it
> appearing pretty unlikely that we use that insn anywhere).
>
>> +    [0xf1]          = (Known),             /* ICEBP */
>> +    [0xf4]          = (Known),             /* HLT */
>> +    [0xf5]          = (Known),             /* CMC */
>> +    [0xf6 ... 0xf7] = (Known|ModRM),       /* Grp3 */
>> +    [0xf8 ... 0xfd] = (Known),             /* CLC ... STD */
>> +    [0xfe ... 0xff] = (Known|ModRM),       /* Grp4 */
>> +};
>> +static const uint8_t init_or_livepatch_const twobyte[256] = {
>> +    [0x00 ... 0x01] = (Known|ModRM),       /* Grp6/Grp7 */
> LAR / LSL? CLTS? WBINVD? UD2?
>
>> +    [0x18 ... 0x1f] = (Known|ModRM),       /* Grp16 (Hint Nop) */
>> +
>> +    [0x20 ... 0x23] = (Known|ModRM),       /* MOV CR/DR */
>> +
>> +    [0x30 ... 0x34] = (Known),             /* WRMSR ... RDPMC */
> 0x34 is SYSENTER, isn't it?
>
>> +    [0x40 ... 0x4f] = (Known|ModRM),       /* CMOVcc */
>> +
>> +    [0x80 ... 0x8f] = (Known|Branch|Imm),  /* Jcc disp32 */
> What about things like VMREAD/VMWRITE?
>
>> +    [0x90 ... 0x9f] = (Known|ModRM),       /* SETcc */
> PUSH/POP fs/gs? CPUID?
>
>> +    [0xab]          = (Known|ModRM),       /* BTS */
> BTS (and BTC below) but not BT and BTR?
>
>> +    [0xac]          = (Known|ModRM|Imm8),  /* SHRD $imm8 */
>> +    [0xad ... 0xaf] = (Known|ModRM),       /* SHRD %cl / Grp15 / IMUL */
> SHRD but not SHLD?
>
> CMPXCHG?
>
>> +    [0xb8 ... 0xb9] = (Known|ModRM),       /* POPCNT/Grp10 (UD1) */
>> +    [0xba]          = (Known|ModRM|Imm8),  /* Grp8 */
>> +    [0xbb ... 0xbf] = (Known|ModRM),       /* BSR/BSF/BSR/MOVSX */
> Nit (comment only): 0xbb is BTC.
>
> MOVSX but not MOVZX and also not MOVSXD (in the 1-byte table)?
>
>> +};
> XADD, MOVNTI, and the whole 0xc7-based group?

As you may have guessed, I filled in the opcode table until I could
parse all replacements.

When, at the end of this, I didn't need the osize=8 movs, I took the
decoding complexity back out.

In an ideal world I would have finished the userspace harness too, but I
ran out of time.  Where it's just populating the table, that's fine. 
Where it complicates the decoding logic, that needs more thought.
>> +/*
>> + * Bare minimum x86 instruction decoder to parse the alternative replacement
>> + * instructions and locate the IP-relative references that may need updating.
>> + *
>> + * These are:
>> + *  - disp8/32 from near branches
>> + *  - RIP-relative memory references
>> + *
>> + * The following simplifications are used:
>> + *  - All code is 64bit, and the instruction stream is safe to read.
> This, in particular, is imo important to state already ahead of the tables
> above, to clarify why e.g. row 0x40 is unpopulated.

I initially had that, but took it out.  I can put it back in.

>
>> + *  - The 67 prefix is not implemented, so the address size is only 64bit.
>> + *
>> + * Inputs:
>> + *  @ip  The position to start decoding from.
>> + *  @end End of the replacement block.  Exceeding this is considered an error.
>> + *
>> + * Returns: x86_decode_lite_t
>> + *  - On failure, length of -1.
>> + *  - On success, length > 0 and REL_TYPE_*.  For REL_TYPE != NONE, rel points
>> + *    at the relative field in the instruction stream.
>> + */
>> +x86_decode_lite_t init_or_livepatch x86_decode_lite(void *ip, void *end)
>> +{
>> +    void *start = ip, *rel = NULL;
>> +    unsigned int opc, type = REL_TYPE_NONE;
>> +    uint8_t b, d, osize = 4;
>> +
>> +#define OPC_TWOBYTE (1 << 8)
>> +
>> +    /* Mutates IP, uses END. */
>> +#define FETCH(ty)                                       \
>> +    ({                                                  \
>> +        ty _val;                                        \
>> +                                                        \
>> +        if ( (ip + sizeof(ty)) > end )                  \
>> +            goto overrun;                               \
>> +        _val = *(ty *)ip;                               \
>> +        ip += sizeof(ty);                               \
>> +        _val;                                           \
>> +    })
>> +
>> +    for ( ;; ) /* Prefixes */
>> +    {
>> +        switch ( b = FETCH(uint8_t) )
>> +        {
>> +        case 0x26: /* ES override */
>> +        case 0x2e: /* CS override */
>> +        case 0x36: /* DS override */
>> +        case 0x3e: /* SS override */
>> +        case 0x64: /* FS override */
>> +        case 0x65: /* GS override */
>> +        case 0xf0: /* Lock */
>> +        case 0xf2: /* REPNE */
>> +        case 0xf3: /* REP */
>> +            break;
>> +
>> +        case 0x66: /* Operand size override */
>> +            osize = 2;
>> +            break;
>> +
>> +        /* case 0x67: Address size override, not implemented */
>> +
>> +        case 0x40 ... 0x4f: /* REX */
>> +            continue;
> Imo at least a comment is needed as to osize here: We don't use 0x66
> followed by REX.W, I suppose, when 0x66 determines operand size. It
> may also be an opcode extension, though, in which case osize set to
> 2 is (latently) wrong. "Latently" because all you need osize for is
> to determine Imm's length.
>
> However, what I again think need covering right away are opcodes
> 0xb8 ... 0xbc in combination with REX.W (osize needing to be 8 there).
>
> Finally - why "continue" here, but "break" further up? Both (right
> now) have exactly the same effect.

They're not the same when ...

>
>> +        default:
>> +            goto prefixes_done;
>> +        }


... this has "cancel the REX prefix" in it.

I started by decoding REX, only to find I didn't need it, so took it
back out.

>> +    }
>> + prefixes_done:
>> +
>> +    /* Fetch the main opcode byte(s) */
>> +    if ( b == 0x0f )
>> +    {
>> +        b = FETCH(uint8_t);
>> +        opc = OPC_TWOBYTE | b;
>> +
>> +        d = twobyte[b];
>> +    }
>> +    else
>> +    {
>> +        opc = b;
>> +        d = onebyte[b];
>> +    }
> IOW GPR insns in 0f38 and 0f3a spaces are left out, too. That's perhaps
> less of an issue than some of the other omissions (and would be more
> involved to cover when considering that some of them are VEX-encoded),
> but still not ideal.

They can all be added if needed, but right now they're not.

This decoder only need to cover instructions likely to be used in
alternatives, and that pretty limits us to simple integer operations.

Any extra complexity here makes the function less and less "lite".
>> +    }
>> +
>> +    if ( d & (Imm|Imm8) )
>> +    {
>> +        if ( d & Imm8 )
>> +            osize = 1;
>> +
>> +        switch ( osize )
>> +        {
>> +        case 1: FETCH(uint8_t);  break;
>> +        case 2: FETCH(uint16_t); break;
>> +        case 4: FETCH(uint32_t); break;
>> +        default: goto bad_osize;
>> +        }
>> +    }
>> +
>> +    return (x86_decode_lite_t){ ip - start, type, rel };
>> +
>> + bad_osize:
>> +    printk(XENLOG_ERR "%s() Bad osize %u in %*ph\n",
>> +           __func__, osize,
>> +           (int)(unsigned long)(end - start), start);
>> +    return (x86_decode_lite_t){ -1, REL_TYPE_NONE, NULL };
> Maybe limit opcode quoting to ip - start here?

In the case that we've taken the bad_osize path, we've not decoded the
full instruction.  The bytes beyond ip are useful for diagnostics.

>
>> --- a/xen/arch/x86/x86_emulate/private.h
>> +++ b/xen/arch/x86/x86_emulate/private.h
>> @@ -9,7 +9,9 @@
>>  #ifdef __XEN__
>>  
>>  # include <xen/bug.h>
>> +# include <xen/init.h>
>>  # include <xen/kernel.h>
>> +# include <xen/livepatch.h>
> Are both of these really needed here, rather than just in decode-lite.c?

Yes, for the userpsace harness.

>
>> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
>> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
>> @@ -842,4 +842,21 @@ static inline void x86_emul_reset_event(struct x86_emulate_ctxt *ctxt)
>>      ctxt->event = (struct x86_event){};
>>  }
>>  
>> +/*
>> + * x86_decode_lite().  Very minimal decoder for managing alternatives.
>> + *
>> + * @len is -1 on error, or positive on success.  If the instruction has a
>> + * relative field, REL_TYPE_* gives the size, and @rel points at the field.
>> + */
>> +typedef struct {
>> +    int8_t len;
> Can't 0 be "error", thus permitting the field to be uint8_t?

Hmm, yes I think it can.  -1 is a leftover from an older scheme.

>
>> +    uint8_t rel_type;
>> +#define REL_TYPE_NONE 0
>> +#define REL_TYPE_d8   1
>> +#define REL_TYPE_d32  2
> Why not call the field rel_size and truly pass back the size?

Ok.


>
>> +    void *rel;
> While I understand the goal of omitting const here and ...
>
>> +} x86_decode_lite_t;
>> +
>> +x86_decode_lite_t x86_decode_lite(void *ip, void *end);
> ... here, I still find this fragile / misleading (the function itself, after
> all, only ever fetches from memory). Even with the goal in mind, surely at
> least "end" can be pointer-to-const?
>
> The (struct) return type would also be easier for the compiler to deal
> with if it didn't have a pointer field (and hence needs to be 128-bit). How
> about returning an offset relative to "start"? That would then allow proper
> constifying of both function parameters as well.

Quite the contrary.

I did initially pack it all into a single GPR, but both the written C
and code generation of this form is better.

This is what the code generation looks like:

<xdl>:
55                      push   %rbp
48 89 e5                mov    %rsp,%rbp
e8 77 fd ff ff          callq  ffff82d04033c580 <x86_decode_lite>
5d                      pop    %rbp
88 05 01 77 2f 00       mov    %al,0x2f7701(%rip)        # <xdl_len>
0f b6 c4                movzbl %ah,%eax
88 05 f7 76 2f 00       mov    %al,0x2f76f7(%rip)        # <xdl_type>
48 89 15 e8 76 2f 00    mov    %rdx,0x2f76e8(%rip)       # <xdl_rel>
c3                      retq   

and keeping rel as a full pointer simplifies both sides of the function.

(Again, I have no idea why GCC is setting up a frame pointer in this
case .  It's not needed given our preferred alignment setting.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 10:46:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 10:46:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710522.1109768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzDfB-0002Io-Nv; Tue, 23 Apr 2024 10:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710522.1109768; Tue, 23 Apr 2024 10: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 1rzDfB-0002Ih-LH; Tue, 23 Apr 2024 10:46:13 +0000
Received: by outflank-mailman (input) for mailman id 710522;
 Tue, 23 Apr 2024 10: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzDfA-0002IY-LW
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 10:46:12 +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 b2453f5f-015e-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 12:46:10 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-41a74e60753so14392735e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 03:46: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
 bg11-20020a05600c3c8b00b0041a9c3444a6sm3269478wmb.28.2024.04.23.03.46.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 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: b2453f5f-015e-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713869170; x=1714473970; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=MByRVRTXZ2POLvHPgofObCeYVVOfDpmF690HRHS6F+E=;
        b=N7gNhtcSVJv6wFDIGZSVT9AtM9TI46tw3Re5wij8vFa+M3IjzCnYrneXrKd7t+8dkz
         QeQ8iz4nPjTgVI0EDYgk5ngf84rAD0uTFa0C5avyHNV16B2M09+qlZquu8AldLQOKg1z
         1IMZ3Ct1uMyTdPdyv2l6KCQAMH17NA31pLAQNorm984IzToD2sPRdES+xzQtuBdgwlSV
         NjswBqxKNRL/KtFS3TyOVOOCYnD/qt2cIQJ1SNRQd3e24cMGYbldZLWYnChFAfz8yhiF
         DKbmTrcyFsaS2pCELfxNgnUl+XNxxAnvjyn5sZGeYZxTv9PeMCWfzDcUOOlQpqhpjshm
         RQUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713869170; x=1714473970;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=MByRVRTXZ2POLvHPgofObCeYVVOfDpmF690HRHS6F+E=;
        b=EMdrvZXRz5+ohaGTw/qfxM8ZFzg/oV5NP7n9BeLwy31czy/Z0viY+oyT1bOUansk//
         FyxIUP+J2yTv0pE0vfCEMTl65/uBy+VbIe8TfC2YKXccRVyluCimLON8yoZrEAvru0Dz
         YGME3ivCy8hvvoXw3rhZaA85u/vtjsKcX0Dry7j4KlmoX7SmOoGd2RCpLtVkPTqkH+3Q
         qA/KjomXM871AESDwRF2B/7RBtdHNMHcjyMTjfz/90KIZngh+owtdWInrDrW2aip0pK0
         sXMr07uFie6ZAM5TsPJn2peBLYszenGd6AFF0qRM44UNZ4P926qEVl4bA3oWIAXBpMEO
         eUFw==
X-Forwarded-Encrypted: i=1; AJvYcCXtL53cDzEJL+8dJw0zNqYc0//BZQVf2kUo9//NV5kQemlzw5NxR/8fKImN2MDbGTswI6CM9nnCa3YAwuxfqzUeYbKKUYvoHB/ctV7RrDg=
X-Gm-Message-State: AOJu0YwTEwcZm8Bcmh27ZRVkhIQPH4zJT7FIdP9enVKCcxogxQq59W7J
	O7tOAQTGegjxZxGTi+WlCftRoyzUPWjr+rClIpAxEDjj/M3n5M+TFsL2R7hcyw==
X-Google-Smtp-Source: AGHT+IHHFh2+cepSfYJJ/85BD5t2gJZvF86uIg6gQotGmHXZEbKuG8GIjHiSB2s27/Gz4EK6Cwp7jg==
X-Received: by 2002:a05:600c:4e92:b0:418:f991:713f with SMTP id f18-20020a05600c4e9200b00418f991713fmr8700666wmq.23.1713869169522;
        Tue, 23 Apr 2024 03:46:09 -0700 (PDT)
Message-ID: <582c47ed-4c61-49f2-9191-fb4bf9f64343@suse.com>
Date: Tue, 23 Apr 2024 12:46:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] x86: Introduce x86_decode_lite()
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-2-andrew.cooper3@citrix.com>
 <e5a14d99-4141-410e-a39c-c38b294a553b@suse.com>
 <e5555566-52a9-4775-b26d-91bd10533065@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e5555566-52a9-4775-b26d-91bd10533065@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 12:27, Andrew Cooper wrote:
> On 23/04/2024 10:17 am, Jan Beulich wrote:
>> On 22.04.2024 20:14, Andrew Cooper wrote:
>>> --- /dev/null
>>> +++ b/xen/arch/x86/x86_emulate/decode-lite.c
>>> @@ -0,0 +1,245 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +
>>> +#include "private.h"
>>> +
>>> +#define Imm8   (1 << 0)
>>> +#define Imm    (1 << 1)
>>> +#define Branch (1 << 5) /* ... that we care about */
>>> +/*      ModRM  (1 << 6) */
>>> +#define Known  (1 << 7)
>>> +
>>> +#define ALU_OPS                                 \
>>> +    (Known|ModRM),                              \
>>> +    (Known|ModRM),                              \
>>> +    (Known|ModRM),                              \
>>> +    (Known|ModRM),                              \
>>> +    (Known|Imm8),                               \
>>> +    (Known|Imm)
>>> +
>>> +static const uint8_t init_or_livepatch_const onebyte[256] = {
>>> +    [0x00] = ALU_OPS, /* ADD */ [0x08] = ALU_OPS, /* OR  */
>>> +    [0x10] = ALU_OPS, /* ADC */ [0x18] = ALU_OPS, /* SBB */
>>> +    [0x20] = ALU_OPS, /* AND */ [0x28] = ALU_OPS, /* SUB */
>>> +    [0x30] = ALU_OPS, /* XOR */ [0x38] = ALU_OPS, /* CMP */
>>> +
>>> +    [0x50 ... 0x5f] = (Known),             /* PUSH/POP %reg */
>>> +
>>> +    [0x70 ... 0x7f] = (Known|Branch|Imm8), /* Jcc disp8 */
>>> +    [0x80]          = (Known|ModRM|Imm8),
>>> +    [0x81]          = (Known|ModRM|Imm),
>>> +
>>> +    [0x83]          = (Known|ModRM|Imm8),
>>> +    [0x84 ... 0x8e] = (Known|ModRM),       /* TEST/XCHG/MOV/MOV-SREG/LEA r/rm */
>>> +
>>> +    [0xb0 ... 0xb7] = (Known|Imm8),        /* MOV $imm8, %reg */
>> I'm surprised you get away without at least NOP also marked as known.
>> Imo the whole 0x90 row should be marked so.
>>
>> Similarly I'm not convinced that leaving the 0xA0 row unpopulated is a
>> good idea. It's at best a trap set up for somebody to fall into rather
>> sooner than later.
>>
>>> +    [0xb8 ... 0xbf] = (Known|Imm),         /* MOV $imm32, %reg */
>>> +
>>> +    [0xcc]          = (Known),             /* INT3 */
>>> +    [0xcd]          = (Known|Imm8),        /* INT $imm8 */
>> Like above, what about in particular any of the shifts/rotates and the
>> MOV that's in the 0xC0 row?
>>
>> While the last sentence in the description is likely meant to cover
>> that, I think the description wants to go further as to any pretty
>> common but omitted insns. Already "x86: re-work memset()" and "x86: re-
>> work memcpy()" (v2 pending for, soon, 3 years) would make it necessary
>> to touch this table, thus increasing complexity of those changes to an
>> area they shouldn't be concerned about at all.
>>
>>> +    [0xe8 ... 0xe9] = (Known|Branch|Imm),  /* CALL/JMP disp32 */
>>> +    [0xeb]          = (Known|Branch|Imm8), /* JMP disp8 */
>> 0xe0 ... 0xe7 and 0xec ... 0xef would imo also better be covered, as
>> they easily can be (much like you also cover e.g. CMC despite it
>> appearing pretty unlikely that we use that insn anywhere).
>>
>>> +    [0xf1]          = (Known),             /* ICEBP */
>>> +    [0xf4]          = (Known),             /* HLT */
>>> +    [0xf5]          = (Known),             /* CMC */
>>> +    [0xf6 ... 0xf7] = (Known|ModRM),       /* Grp3 */
>>> +    [0xf8 ... 0xfd] = (Known),             /* CLC ... STD */
>>> +    [0xfe ... 0xff] = (Known|ModRM),       /* Grp4 */
>>> +};
>>> +static const uint8_t init_or_livepatch_const twobyte[256] = {
>>> +    [0x00 ... 0x01] = (Known|ModRM),       /* Grp6/Grp7 */
>> LAR / LSL? CLTS? WBINVD? UD2?
>>
>>> +    [0x18 ... 0x1f] = (Known|ModRM),       /* Grp16 (Hint Nop) */
>>> +
>>> +    [0x20 ... 0x23] = (Known|ModRM),       /* MOV CR/DR */
>>> +
>>> +    [0x30 ... 0x34] = (Known),             /* WRMSR ... RDPMC */
>> 0x34 is SYSENTER, isn't it?
>>
>>> +    [0x40 ... 0x4f] = (Known|ModRM),       /* CMOVcc */
>>> +
>>> +    [0x80 ... 0x8f] = (Known|Branch|Imm),  /* Jcc disp32 */
>> What about things like VMREAD/VMWRITE?
>>
>>> +    [0x90 ... 0x9f] = (Known|ModRM),       /* SETcc */
>> PUSH/POP fs/gs? CPUID?
>>
>>> +    [0xab]          = (Known|ModRM),       /* BTS */
>> BTS (and BTC below) but not BT and BTR?
>>
>>> +    [0xac]          = (Known|ModRM|Imm8),  /* SHRD $imm8 */
>>> +    [0xad ... 0xaf] = (Known|ModRM),       /* SHRD %cl / Grp15 / IMUL */
>> SHRD but not SHLD?
>>
>> CMPXCHG?
>>
>>> +    [0xb8 ... 0xb9] = (Known|ModRM),       /* POPCNT/Grp10 (UD1) */
>>> +    [0xba]          = (Known|ModRM|Imm8),  /* Grp8 */
>>> +    [0xbb ... 0xbf] = (Known|ModRM),       /* BSR/BSF/BSR/MOVSX */
>> Nit (comment only): 0xbb is BTC.
>>
>> MOVSX but not MOVZX and also not MOVSXD (in the 1-byte table)?
>>
>>> +};
>> XADD, MOVNTI, and the whole 0xc7-based group?
> 
> As you may have guessed, I filled in the opcode table until I could
> parse all replacements.
> 
> When, at the end of this, I didn't need the osize=8 movs, I took the
> decoding complexity back out.

While I can see that this requiring extra logic makes it desirable to
leave out, it'll easily be a surprise when, eventually, someone adds an
alternative using such. Please may I ask that for any "simple" integer
insn left out, that be clearly mentioned in or ahead of the tables?

>>> + *  - The 67 prefix is not implemented, so the address size is only 64bit.
>>> + *
>>> + * Inputs:
>>> + *  @ip  The position to start decoding from.
>>> + *  @end End of the replacement block.  Exceeding this is considered an error.
>>> + *
>>> + * Returns: x86_decode_lite_t
>>> + *  - On failure, length of -1.
>>> + *  - On success, length > 0 and REL_TYPE_*.  For REL_TYPE != NONE, rel points
>>> + *    at the relative field in the instruction stream.
>>> + */
>>> +x86_decode_lite_t init_or_livepatch x86_decode_lite(void *ip, void *end)
>>> +{
>>> +    void *start = ip, *rel = NULL;
>>> +    unsigned int opc, type = REL_TYPE_NONE;
>>> +    uint8_t b, d, osize = 4;
>>> +
>>> +#define OPC_TWOBYTE (1 << 8)
>>> +
>>> +    /* Mutates IP, uses END. */
>>> +#define FETCH(ty)                                       \
>>> +    ({                                                  \
>>> +        ty _val;                                        \
>>> +                                                        \
>>> +        if ( (ip + sizeof(ty)) > end )                  \
>>> +            goto overrun;                               \
>>> +        _val = *(ty *)ip;                               \
>>> +        ip += sizeof(ty);                               \
>>> +        _val;                                           \
>>> +    })
>>> +
>>> +    for ( ;; ) /* Prefixes */
>>> +    {
>>> +        switch ( b = FETCH(uint8_t) )
>>> +        {
>>> +        case 0x26: /* ES override */
>>> +        case 0x2e: /* CS override */
>>> +        case 0x36: /* DS override */
>>> +        case 0x3e: /* SS override */
>>> +        case 0x64: /* FS override */
>>> +        case 0x65: /* GS override */
>>> +        case 0xf0: /* Lock */
>>> +        case 0xf2: /* REPNE */
>>> +        case 0xf3: /* REP */
>>> +            break;
>>> +
>>> +        case 0x66: /* Operand size override */
>>> +            osize = 2;
>>> +            break;
>>> +
>>> +        /* case 0x67: Address size override, not implemented */
>>> +
>>> +        case 0x40 ... 0x4f: /* REX */
>>> +            continue;
>> Imo at least a comment is needed as to osize here: We don't use 0x66
>> followed by REX.W, I suppose, when 0x66 determines operand size. It
>> may also be an opcode extension, though, in which case osize set to
>> 2 is (latently) wrong. "Latently" because all you need osize for is
>> to determine Imm's length.
>>
>> However, what I again think need covering right away are opcodes
>> 0xb8 ... 0xbc in combination with REX.W (osize needing to be 8 there).
>>
>> Finally - why "continue" here, but "break" further up? Both (right
>> now) have exactly the same effect.
> 
> They're not the same when ...
> 
>>
>>> +        default:
>>> +            goto prefixes_done;
>>> +        }
> 
> 
> ... this has "cancel the REX prefix" in it.

Of course.

> I started by decoding REX, only to find I didn't need it, so took it
> back out.

At which point imo they want to all be "break". Once the cancellation
needs adding, where necessary "break" can be switched to "continue".
(Interestingly REX2 is different from REX in this regard, and hence
wouldn't need such cancellation, if ever we end up patching APX insns.)

>>> +    }
>>> + prefixes_done:
>>> +
>>> +    /* Fetch the main opcode byte(s) */
>>> +    if ( b == 0x0f )
>>> +    {
>>> +        b = FETCH(uint8_t);
>>> +        opc = OPC_TWOBYTE | b;
>>> +
>>> +        d = twobyte[b];
>>> +    }
>>> +    else
>>> +    {
>>> +        opc = b;
>>> +        d = onebyte[b];
>>> +    }
>> IOW GPR insns in 0f38 and 0f3a spaces are left out, too. That's perhaps
>> less of an issue than some of the other omissions (and would be more
>> involved to cover when considering that some of them are VEX-encoded),
>> but still not ideal.
> 
> They can all be added if needed, but right now they're not.
> 
> This decoder only need to cover instructions likely to be used in
> alternatives, and that pretty limits us to simple integer operations.
> 
> Any extra complexity here makes the function less and less "lite".

I understand this. At the same time to me anything pending and anything
previously submitted but disliked for whatever reason wants at least
considering to cover. In that context please recall that once there was
BMI2 patching (that you didn't like) ...

>>> +    }
>>> +
>>> +    if ( d & (Imm|Imm8) )
>>> +    {
>>> +        if ( d & Imm8 )
>>> +            osize = 1;
>>> +
>>> +        switch ( osize )
>>> +        {
>>> +        case 1: FETCH(uint8_t);  break;
>>> +        case 2: FETCH(uint16_t); break;
>>> +        case 4: FETCH(uint32_t); break;
>>> +        default: goto bad_osize;
>>> +        }
>>> +    }
>>> +
>>> +    return (x86_decode_lite_t){ ip - start, type, rel };
>>> +
>>> + bad_osize:
>>> +    printk(XENLOG_ERR "%s() Bad osize %u in %*ph\n",
>>> +           __func__, osize,
>>> +           (int)(unsigned long)(end - start), start);
>>> +    return (x86_decode_lite_t){ -1, REL_TYPE_NONE, NULL };
>> Maybe limit opcode quoting to ip - start here?
> 
> In the case that we've taken the bad_osize path, we've not decoded the
> full instruction.  The bytes beyond ip are useful for diagnostics.

Hmm. The reason for the reported failure lies within the [start,ip)
range. Yet I agree that would not be a complete insn. Otoh what is
being patched may be a meaningfully long series of insns, which aren't
useful to all log. If you think including the immediate (the value of
which is of no interest) is relevant, may I then please ask that you
bound logging at the insn size limit of 15?

>>> --- a/xen/arch/x86/x86_emulate/private.h
>>> +++ b/xen/arch/x86/x86_emulate/private.h
>>> @@ -9,7 +9,9 @@
>>>  #ifdef __XEN__
>>>  
>>>  # include <xen/bug.h>
>>> +# include <xen/init.h>
>>>  # include <xen/kernel.h>
>>> +# include <xen/livepatch.h>
>> Are both of these really needed here, rather than just in decode-lite.c?
> 
> Yes, for the userpsace harness.

The user space harness shouldn't include any Xen headers. Patch context
(the #ifdef at the top) even shows that this Xen-only code.

>>> +    void *rel;
>> While I understand the goal of omitting const here and ...
>>
>>> +} x86_decode_lite_t;
>>> +
>>> +x86_decode_lite_t x86_decode_lite(void *ip, void *end);
>> ... here, I still find this fragile / misleading (the function itself, after
>> all, only ever fetches from memory). Even with the goal in mind, surely at
>> least "end" can be pointer-to-const?
>>
>> The (struct) return type would also be easier for the compiler to deal
>> with if it didn't have a pointer field (and hence needs to be 128-bit). How
>> about returning an offset relative to "start"? That would then allow proper
>> constifying of both function parameters as well.
> 
> Quite the contrary.
> 
> I did initially pack it all into a single GPR, but both the written C
> and code generation of this form is better.
> 
> This is what the code generation looks like:
> 
> <xdl>:
> 55                      push   %rbp
> 48 89 e5                mov    %rsp,%rbp
> e8 77 fd ff ff          callq  ffff82d04033c580 <x86_decode_lite>
> 5d                      pop    %rbp
> 88 05 01 77 2f 00       mov    %al,0x2f7701(%rip)        # <xdl_len>
> 0f b6 c4                movzbl %ah,%eax
> 88 05 f7 76 2f 00       mov    %al,0x2f76f7(%rip)        # <xdl_type>
> 48 89 15 e8 76 2f 00    mov    %rdx,0x2f76e8(%rip)       # <xdl_rel>
> c3                      retq   

Well, "easier" in my earlier reply wasn't referring to the complexity
of generated code. Instead I'm slightly wary of compiler issues with
the calling convention for 128-bit struct returns.

> and keeping rel as a full pointer simplifies both sides of the function.

Hmm, I can see that being the case. I wonder whether const-correctness
doesn't weigh higher, though. But I'm also not going to insist.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 11:05:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 11:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710536.1109777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzDxj-0005zd-8T; Tue, 23 Apr 2024 11:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710536.1109777; Tue, 23 Apr 2024 11: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 1rzDxj-0005zW-57; Tue, 23 Apr 2024 11:05:23 +0000
Received: by outflank-mailman (input) for mailman id 710536;
 Tue, 23 Apr 2024 11:05:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rzDxh-0005zN-Sp
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 11:05:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzDxh-0006Do-Cl; Tue, 23 Apr 2024 11:05:21 +0000
Received: from [15.248.2.233] (helo=[10.24.67.33])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzDxh-0000IA-4G; Tue, 23 Apr 2024 11:05: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=dVNGrggqby56lUZ7mN8k24XsZWbMHBXIpc/WAnDjQDE=; b=Pi5MrvfsfLQ1PpZ0QAEkNcdOg1
	3sHn9B4IVT5uZQHozmuSY7oY7fWyYObEV0gueXTIJsyOTougLtRbJ+xgs+bR0UNsuAZoXKKE/ggMn
	/OG3s4NgWE/PggPNFsTs9Kxt8mEO7eYpFa4g4PE390M2WckVxkH+v8MXQ2XJCWNb8+E0=;
Message-ID: <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org>
Date: Tue, 23 Apr 2024 12:05:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI
 handlers
Content-Language: en-GB
To: Jens Wiklander <jens.wiklander@linaro.org>
Cc: xen-devel@lists.xenproject.org, patches@linaro.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: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org>
 <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
 <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/04/2024 10:35, Jens Wiklander wrote:
> Hi Julien,

Hi Jens,

> On Mon, Apr 22, 2024 at 12:57 PM Julien Grall <julien@xen.org> wrote:
>>
>> Hi Jens,
>>
>> On 22/04/2024 08:37, Jens Wiklander wrote:
>>> Updates so request_irq() can be used with a dynamically assigned SGI irq
>>> as input. This prepares for a later patch where an FF-A schedule
>>> receiver interrupt handler is installed for an SGI generated by the
>>> secure world.
>>
>> I would like to understand the use-case a bit more. Who is responsible
>> to decide the SGI number? Is it Xen or the firmware?
>>
>> If the later, how can we ever guarantee the ID is not going to clash
>> with what the OS/hypervisor is using? Is it described in a
>> specification? If so, please give a pointer.
> 
> The firmware decides the SGI number. Given that the firmware doesn't
> know which SGIs Xen is using it typically needs to donate one of the
> secure SGIs, but that is transparent to Xen.

Right this is my concern. The firmware decides the number, but at the 
same time Xen thinks that all the SGIs are available (AFAIK there is 
only one set).

What I would like to see is some wording from a spec indicating that the 
SGIs ID reserved by the firmware will not be clashing with the one used 
by Xen.

> 
> 
>>
>>>
>>> gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they are
>>> always edge triggered.
>>>
>>> gic_interrupt() is updated to route the dynamically assigned SGIs to
>>> do_IRQ() instead of do_sgi(). The latter still handles the statically
>>> assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.
>>>
>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>> ---
>>> v1->v2
>>> - Update patch description as requested
>>> ---
>>>    xen/arch/arm/gic.c | 5 +++--
>>>    xen/arch/arm/irq.c | 7 +++++--
>>
>> I am not sure where to write the comment. But I think the comment on top
>> of irq_set_affinity() in setup_irq() should also be updated.
>>
>>>    2 files changed, 8 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>> index 44c40e86defe..e9aeb7138455 100644
>>> --- a/xen/arch/arm/gic.c
>>> +++ b/xen/arch/arm/gic.c
>>> @@ -117,7 +117,8 @@ void gic_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
>>>
>>>        desc->handler = gic_hw_ops->gic_host_irq_type;
>>>
>>> -    gic_set_irq_type(desc, desc->arch.type);
>>> +    if ( desc->irq >= NR_GIC_SGI)
>>> +        gic_set_irq_type(desc, desc->arch.type);
>>
>> So above, you say that the SGIs are always edge-triggered interrupt. So
>> I assume desc->arch.type. So are you skipping the call because it is
>> unnessary or it could do the wrong thing?
>>
>> Ideally, the outcome of the answer be part of the comment on top of the
>> check.
> 
> gic_set_irq_type() has an assert "ASSERT(type != IRQ_TYPE_INVALID)"
> which is triggered without this check.
> So it's both unnecessary and wrong. I suppose we could update the
> bookkeeping of all SGIs to be edge-triggered instead of
> IRQ_TYPE_INVALID. It would still be unnecessary though. What do you
> suggest?

I would rather prefer if we update the book-keeping for all the SGIs.

[...]

>>
>>>            {
>>>                isb();
>>>                do_IRQ(regs, irq, is_fiq);
>>> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
>>> index bcce80a4d624..fdb214560978 100644
>>> --- a/xen/arch/arm/irq.c
>>> +++ b/xen/arch/arm/irq.c
>>> @@ -224,9 +224,12 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq, int is_fiq)
>>>
>>>        perfc_incr(irqs);
>>>
>>> -    ASSERT(irq >= 16); /* SGIs do not come down this path */
>>> +    /* Statically assigned SGIs do not come down this path */
>>> +    ASSERT(irq >= GIC_SGI_MAX);
>>
>>
>> With this change, I think the path with vgic_inject_irq() now needs to
>> gain an ASSERT(irq >= NR_GIC_SGI) because the path is not supposed to be
>> taken for SGIs.
> 
> I'm sorry, I don't see the connection. If I add
> ASSERT(virq >= NR_GIC_SGI);
> at the top of vgic_inject_irq() it will panic when injecting a
> Schedule Receiver or Notification Pending Interrupt for a guest.

If you look at do_IRQ(), we have the following code:

     if ( test_bit(_IRQ_GUEST, &desc->status) )
     {
         struct irq_guest *info = irq_get_guest_info(desc);

         perfc_incr(guest_irqs);
         desc->handler->end(desc);

         set_bit(_IRQ_INPROGRESS, &desc->status);

         /*
          * The irq cannot be a PPI, we only support delivery of SPIs to
          * guests.
          */
         vgic_inject_irq(info->d, NULL, info->virq, true);
         goto out_no_end;
     }

What I suggesting is to add an ASSERT(irq >= NR_GIC_SGI) just before the 
call because now do_IRQ() can be called with SGIs yet we don't allow HW 
SGIs to assigned to a guest.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 12:01:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 12:01:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710551.1109787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzEpm-0005ki-4h; Tue, 23 Apr 2024 12:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710551.1109787; Tue, 23 Apr 2024 12:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzEpm-0005kb-2B; Tue, 23 Apr 2024 12:01:14 +0000
Received: by outflank-mailman (input) for mailman id 710551;
 Tue, 23 Apr 2024 12:01:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=L0uI=L4=antgroup.com=houwenlong.hwl@srs-se1.protection.inumbo.net>)
 id 1rzEpj-0005kV-TD
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 12:01:12 +0000
Received: from out0-217.mail.aliyun.com (out0-217.mail.aliyun.com
 [140.205.0.217]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 299b52be-0169-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 14:01:08 +0200 (CEST)
Received: from localhost(mailfrom:houwenlong.hwl@antgroup.com
 fp:SMTPD_---.XJWBgvy_1713873662) by smtp.aliyun-inc.com;
 Tue, 23 Apr 2024 20:01:03 +0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 299b52be-0169-11ef-909a-e314d9c70b13
DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=antgroup.com; s=default;
	t=1713873664; h=From:To:Subject:Date:Message-Id:MIME-Version;
	bh=fZ3yJhfmevqTNF6DwN5orHbyXoVhDRkMA3HeGG/5QSU=;
	b=ObkvEPuhWgrfYLfD1cdS/CSc+PIZXHcqGF8n9vh+BtItKn8PJWZKBhlPgl6i/KRKiMpZz+UjJpdT/gjtV8FZ3LBzHJzRJordXD4TaAMITnUUb1ddPhh+fCSx1dRlU/TRNvcVaEc4hJQ70wLQCcFOH66be+JVGQyxXvvf0c0QIgs=
X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R721e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018047201;MF=houwenlong.hwl@antgroup.com;NM=1;PH=DS;RN=11;SR=0;TI=SMTPD_---.XJWBgvy_1713873662;
From: "Hou Wenlong" <houwenlong.hwl@antgroup.com>
To: linux-kernel@vger.kernel.org
Cc: "Hou Wenlong" <houwenlong.hwl@antgroup.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>,
   <xen-devel@lists.xenproject.org>
Subject: [PATCH v2] x86/xen/pvh: Enable PAE mode for 32-bit guest only when CONFIG_X86_PAE is set
Date: Tue, 23 Apr 2024 20:00:58 +0800
Message-Id: <0469c27833be58aa66471920aa77922489d86c63.1713873613.git.houwenlong.hwl@antgroup.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The PVH entry is available for 32-bit KVM guests, and 32-bit KVM guests
do not depend on CONFIG_X86_PAE. However, mk_early_pgtbl_32() builds
different pagetables depending on whether CONFIG_X86_PAE is set.
Therefore, enabling PAE mode for 32-bit KVM guests without
CONFIG_X86_PAE being set would result in a boot failure during CR3
loading.

Signed-off-by: Hou Wenlong <houwenlong.hwl@antgroup.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
v1 -> v2: Add the "Reviewed-by" tag from Juergen
v1: https://lore.kernel.org/lkml/8c5448eeebbba998a7fff9ed9b2f7e7f3e437967.1697792461.git.houwenlong.hwl@antgroup.com
---
 arch/x86/platform/pvh/head.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index f7235ef87bc3..18c69d213458 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -71,10 +71,12 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 
 	mov $_pa(early_stack_end), %esp
 
+#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
 	/* Enable PAE mode. */
 	mov %cr4, %eax
 	orl $X86_CR4_PAE, %eax
 	mov %eax, %cr4
+#endif
 
 #ifdef CONFIG_X86_64
 	/* Enable Long mode. */
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 12:25:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 12:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710563.1109826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFD8-0000sc-7i; Tue, 23 Apr 2024 12:25:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710563.1109826; Tue, 23 Apr 2024 12:25:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFD8-0000sV-42; Tue, 23 Apr 2024 12:25:22 +0000
Received: by outflank-mailman (input) for mailman id 710563;
 Tue, 23 Apr 2024 12:25: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzFD6-0000sP-CG
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 12:25:20 +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 8b6c547c-016c-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 14:25:18 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3499f1bed15so3619379f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 05:25: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
 v10-20020a5d590a000000b003437ad152f9sm14356202wrd.105.2024.04.23.05.25.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 05:25: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: 8b6c547c-016c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713875117; x=1714479917; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=J7cxVEYxx90QdZKbVCjbOSLgnc2DhaRVlt1GSr3m4cs=;
        b=ZDRKpH/6rMRaNVQf/5sBDic5/rOVs++coVAEcFjbf9LQVP/w9N1mvPImQeeCQQCJ6e
         L/EG7oyZ21dgLy8Vn8AW42AqNdAbeABf3pLU3utlf1OFn2srf5NXagOiXW8CVTsWZBjz
         w6xcHU3UGIkyWGtCyKWGOyp63Xeh9h2Bgps+cK7BWA4uRkyNvqQhyLTI+u1858V8xT0K
         dYxf0LXaF+CaCxyb4FidBIZnX37jQoDXQnm3Pm0JmcUNQJ7Je82vJX7EFqf41581U8Xw
         rfjCVV+FgZaZJHJaQdTq/B24wtAbvnotMsWBu7OAGpbBcKgL/t/Bg2JOjYCQbR57qsEt
         vRIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713875117; x=1714479917;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=J7cxVEYxx90QdZKbVCjbOSLgnc2DhaRVlt1GSr3m4cs=;
        b=kJD1pXSb0fTpkrrFLwBy3+CuSjwIREy6cbKcKjECH6SaTw2y0HHXERY7Wr55XeIhyr
         r7AfDXymMZ8YgkTKn1Uj31TCsCum+tllZX7ivadO0MEcASzGpAQMBQSCR95a2KaAtrLQ
         uihV3j7B8oskJSlGMXZakqQhZwP9THGKfwRIH6tDbGRM8OVj0js9kgXugf4JMVtseQi7
         S1wWwfbDTS1xT5RWjLft1mF+SC7WnPOzffAz/Loc8a80xHfA1x7qxarX7yhgu9lh3bEY
         Afz1hc2ml4pdslgWbdILLiFn5YyEeage85PMuEv9jLC1dezdX/F3GGaNWjxT7TM1e3h3
         EAoA==
X-Forwarded-Encrypted: i=1; AJvYcCWAW+Gyn9lN74RDdF0JGM+e0TSeNuwCNSy/E+5JRvh56F6sMYweV5QPFB9KZgCvG430e3qxuktfWND8MAA4/QGtxeR7CHaAf4f32zBArAU=
X-Gm-Message-State: AOJu0YxzawkGVPbwvN9lAYfJXB1WcXtNaxswQO1akK8glrcZqLWfj+qc
	C5MNyhKWjaPjeOVOa1dTttWeRNO+DNxDIBIZ0KP9WmtEItZaALFaWYLzbduYww==
X-Google-Smtp-Source: AGHT+IGk5nEVXjfzUrWV/Iqwbgp2t09Pi4b9pwl+U/Wm0qRjH6RUSSAX5eVZ76m/OnsXcvuNWGCTTw==
X-Received: by 2002:a5d:6a89:0:b0:343:b748:9af2 with SMTP id s9-20020a5d6a89000000b00343b7489af2mr1718838wru.19.1713875117467;
        Tue, 23 Apr 2024 05:25:17 -0700 (PDT)
Message-ID: <94da8512-2a02-4109-90f5-627715e48f1e@suse.com>
Date: Tue, 23 Apr 2024 14:25:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce header file with section related
 symbols
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240419100217.12072-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19.04.2024 12:02, Roger Pau Monne wrote:
> Start by declaring the beginning and end of the init section.
> 
> No functional change intended.
> 
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/arch/arm/mmu/setup.c   |  3 +--
>  xen/arch/x86/setup.c       |  3 +--
>  xen/include/xen/sections.h | 17 +++++++++++++++++
>  3 files changed, 19 insertions(+), 4 deletions(-)
>  create mode 100644 xen/include/xen/sections.h

Noticing a few things only after committing / pushing: For one, I should have
waited for an Arm ack. I hope that's not a big issue.

> --- a/xen/arch/arm/mmu/setup.c
> +++ b/xen/arch/arm/mmu/setup.c
> @@ -7,6 +7,7 @@
>  
>  #include <xen/init.h>
>  #include <xen/libfdt/libfdt.h>
> +#include <xen/sections.h>
>  #include <xen/sizes.h>
>  #include <xen/vmap.h>
>  
> @@ -62,8 +63,6 @@ vaddr_t directmap_virt_start __read_mostly;
>  unsigned long directmap_base_pdx __read_mostly;
>  #endif
>  
> -extern char __init_begin[], __init_end[];

Then I wonder why it was this rather than ...

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -5,6 +5,7 @@
>  #include <xen/param.h>
>  #include <xen/sched.h>
>  #include <xen/domain.h>
> +#include <xen/sections.h>
>  #include <xen/serial.h>
>  #include <xen/softirq.h>
>  #include <xen/acpi.h>
> @@ -309,8 +310,6 @@ void __init discard_initial_images(void)
>      initial_images = NULL;
>  }
>  
> -extern unsigned char __init_begin[], __init_end[];

... this ...

> --- /dev/null
> +++ b/xen/include/xen/sections.h
> @@ -0,0 +1,17 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __XEN_SECTIONS_H__
> +#define __XEN_SECTIONS_H__
> +
> +/* SAF-0-safe */
> +extern char __init_begin[], __init_end[];

... that was moved. "unsigned char" is generally preferred over
declaring binary stuff "strings". I further wonder why the opportunity
wasn't taken to make both array-of-const. And finally I'm slightly
puzzled by the SAF comment appearing with no mention at all in the
description; of course I don't mind its addition.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 12:38:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 12:38:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710568.1109836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFPY-0002fs-Aq; Tue, 23 Apr 2024 12:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710568.1109836; Tue, 23 Apr 2024 12:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFPY-0002fl-7i; Tue, 23 Apr 2024 12:38:12 +0000
Received: by outflank-mailman (input) for mailman id 710568;
 Tue, 23 Apr 2024 12: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=agql=L4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rzFPW-0002ff-Hv
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 12:38:10 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20601.outbound.protection.outlook.com
 [2a01:111:f403:260e::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 570833b8-016e-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 14:38:09 +0200 (CEST)
Received: from AS9PR07CA0051.eurprd07.prod.outlook.com (2603:10a6:20b:46b::16)
 by AS8PR08MB8923.eurprd08.prod.outlook.com (2603:10a6:20b:5b3::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 12:38:07 +0000
Received: from AM4PEPF00027A64.eurprd04.prod.outlook.com
 (2603:10a6:20b:46b:cafe::66) by AS9PR07CA0051.outlook.office365.com
 (2603:10a6:20b:46b::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.21 via Frontend
 Transport; Tue, 23 Apr 2024 12:38:06 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A64.mail.protection.outlook.com (10.167.16.75) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Tue, 23 Apr 2024 12:38:06 +0000
Received: ("Tessian outbound e14047529286:v313");
 Tue, 23 Apr 2024 12:38:06 +0000
Received: from beba20dcb911.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3571D073-AEB5-4C4E-9532-F5A960681979.1; 
 Tue, 23 Apr 2024 12:38:00 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id beba20dcb911.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Apr 2024 12:38:00 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS2PR08MB8901.eurprd08.prod.outlook.com (2603:10a6:20b:5f0::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 12:37:58 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7472.044; Tue, 23 Apr 2024
 12:37:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 570833b8-016e-11ef-909a-e314d9c70b13
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=M0LjQcVXY7mTI0y7BBCOiMMfqIIFWSMniZ0Ycvq9Z3sTVTGmAoPL2zxaiMjSVOjC1OjBOW2q0GcIYJJP6NCrVkv7SfEUk/JNB5N/VN6bgnEKKGqCWi1ewZhQloulZ7mMyoRqBHn4lhJvJJSV7ABwtbfcJi6twFHGDT3ZsJWhLNazY3omt7VVUT1rAL2BO527+IZprU5l119spZ0AFgsYL/6m+Awc4Gt3uUGVuUHAuoxHsuRfYf5bthVBcqR40PC0aV6mdReNckdaPE5eYYOATDGNmgzvHIixCnKc67+kfMEJ2fTP9RYYT28bRV4mAjKot9QMtgkUulAkecQdi8Bn1Q==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rAwMBAufVAp8GbGYavvmsG/sfmZJOk70vZkYwTbKa/4=;
 b=ZhWi0dSOTM2X0IV2/bscBNE9XtYvA9TIo4tt+qj3kHv7YoY+Z/+MpgURt4zvnABGOkqLjzrGc4BvU97dVwPOdVgnuswLrWoqi5f33/1P8h6WMKEWnrQDyhHtlU4pxrDgTd2PlsXZDhEnfMl4v06LkQVaYSGTpTf3FEQgBOLFmVt+rVGtISJok66cG7I8MMQf9/iPUMMx3BtUbOEoAipe54haN8lKzlN7OVCrFf0gCeCx+1Xs4olYBrWycRp7yyTfXEnFi0Krp8+L2yisAbDRuHqolgwlsTiIR/A4jwBzAD36RrLDXcle/xvrPbgAbFP+o+z+GMIzHpqgVD9Feoa3rQ==
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=rAwMBAufVAp8GbGYavvmsG/sfmZJOk70vZkYwTbKa/4=;
 b=XSRg09RR1rj2TZoRqT/y6gq0okcYGxe9Sc2hiCFmw+FEsAtJNn88hrzupDoGGyPfYx4jsULWNr9Qh9cjrJe8ohUEu74BL3eKmyT0O8g7T7+GfSGNtgzJDy/TXvXp1f8q4DzkeNO8BnJNPrpYUhVZYEFRrvjD3hwgnIPBEg42uL8=
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: e8965c63a4969327
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MEEF/P7oWAsjRNk9H4Uo8vzh44Xu/DcT1AFVtiEvJx+n1x7giS/+euo6CxD6ytcFU+5q6GzcZJ3Rggh1IHkzgVyVYIRQ9I5hrsebg704r+aF4AOPzUsra6vI+zMA/rjfyoiGAQfmXuY6Jwi2zw3PInq34qm90BimDjXjbwoAqoT1Hfhvq05CJ2Q+KGJ16X8HFSHpjq7qHbCeQZL72k4tBAK1OMtoTCZfZ6kVlHJRXjU462QV5xXyj3sFpdxXUQD8sSBDlsc9NWqbD9d6jw/Gtn8i5vOwstqxfjrgamzCIlunQLuKI9Srk+on2nIXUDKD4Rru2hmjN0Zq/GT66T8G0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rAwMBAufVAp8GbGYavvmsG/sfmZJOk70vZkYwTbKa/4=;
 b=KpUhfUu2Rg33hHmcr/U80nSP5HC+oUVe7imJ58KOVq+hIUwf4pvxr7l2RdZsP4VZIiXgl5QwvptN3NcZR6qnMdS5MnihaxeRD2VB/ZuNbjLjsbreLYwPQIEL6YeogJvHrvWHbO600FwV9fT/qrQHw6tEs7E5ZaTso3i57XgOtdcld/JroMgqFmP5yiIH9MaSVqlo2piVkmeM/oxTMcBji1ZZ7cL7grv2jFtJZmGF/NGNFwntT8CuE1zNrQD+/J96N+gzawf4BlcG9MyZURUEKlwLAtBea9UlVWYjzuIgXPqNr156PY2YOt4W6JigwKsYp3R6Nr1jXEDjpaiaJxOiCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=rAwMBAufVAp8GbGYavvmsG/sfmZJOk70vZkYwTbKa/4=;
 b=XSRg09RR1rj2TZoRqT/y6gq0okcYGxe9Sc2hiCFmw+FEsAtJNn88hrzupDoGGyPfYx4jsULWNr9Qh9cjrJe8ohUEu74BL3eKmyT0O8g7T7+GfSGNtgzJDy/TXvXp1f8q4DzkeNO8BnJNPrpYUhVZYEFRrvjD3hwgnIPBEg42uL8=
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>, "patches@linaro.org" <patches@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI
 handlers
Thread-Topic: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI
 handlers
Thread-Index: AQHalIf6ydPM1y7+406Z1t07uZV5tLF0HrOAgAF7f4CAABj+AIAAGdeA
Date: Tue, 23 Apr 2024 12:37:58 +0000
Message-ID: <756FEA03-7F16-48AE-8308-059EBF8638A0@arm.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org>
 <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
 <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com>
 <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org>
In-Reply-To: <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS2PR08MB8901:EE_|AM4PEPF00027A64:EE_|AS8PR08MB8923:EE_
X-MS-Office365-Filtering-Correlation-Id: 49a301af-8712-42ea-f917-08dc639239dd
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?c0s0anE5eFJIZmRSY0d3TXcvQ1lMd3JvQStwamdZTllDOFI0cjVMbzY1NzBY?=
 =?utf-8?B?ZldpR1IvUStjdm5aMjhMSEFkZ1c0ZmpON2NDVWxNeDY5MWZjS0k3VTlmbVh2?=
 =?utf-8?B?TTJtQXExS09ab0twVmZRNkpzdGo0QVU0UzNkQ3BMSkJEY2NQTDNhOXNSc1dr?=
 =?utf-8?B?dFJrbkN4NjVXeXZ0M0o2WmdXMjAzcE5Ob1BXd0tJVTVzWHhsOXBqU0F5RVB6?=
 =?utf-8?B?TFBqNWRtOS9ySjR0TGhSOVVpZVcveUZBOG1Qa3drV2VjMDNPSHdBbmFpdzE0?=
 =?utf-8?B?NW1CZFFId09tVkV4bFVXcVhpTCtSbnh4cFFOYVVEWmN1b2djL0NIWXlhcStI?=
 =?utf-8?B?VkxiVDExb1NqMGxycmlPblM2ZlJmZFhXRjROZkFPUlBDV3RtbWN6azUvd25U?=
 =?utf-8?B?WGZjUldpbm1BS3o5UWVwbVBzMHB0emd3LzhUZGhKcXk0a3hRczhUKzg3djlH?=
 =?utf-8?B?ZHJnQk1MTEZFTURXN1N6cHpZV3RacUd5LzVoUE5LUHFoVEhqOEs1d1l3bnAy?=
 =?utf-8?B?WDNsWlUvRmNpTUN0VHdjT1JqdFhKSUVpQ3JQVVdKTjlFdVdSN0F3bW01dXdE?=
 =?utf-8?B?Q3I5VzYvTmV2SG04MmZlaUdaZFpJS0F6azdqVGloa1ZRa0htK1dONnA0WVhw?=
 =?utf-8?B?QS9JVFBON1V1R3JaK1BESzBrbDU0dVVQb0hhUXo2R1Joa2FBdHI5QXVMQWlZ?=
 =?utf-8?B?MDQwc1ZBZ2Zkbk9Ia0xEZi85MGtKUk1JcXVJb1ErV0RyUEs1NVFHNTZHZE5Z?=
 =?utf-8?B?NSt6TDZUaVczS290cXI1VGhDQ2F4V0c4N0x0VnNBYWZFTnFnLzAycXZJb1po?=
 =?utf-8?B?SEljS3Z6R21aRWVJVnJQdEVQUEYzNmtzajJKa1JNaW05Wk5YZ3Bwc0FSL0E1?=
 =?utf-8?B?Y2tpL2p5eGc1NGxOUnJHSGNJa3h2Z1gyVlo0NnFPMjc3M293L0wxRzIzR3lu?=
 =?utf-8?B?a2wwSmtmUWFLdDhXU01wNjd6cFdvZFIrOEZCekc5aWg4QU5PZkZSbDZwZElp?=
 =?utf-8?B?UTBYbWZjaENzSlVMMUt2TmZRV3RtR2RZN3JFK0VjSDhpM3V3V1FPS1NWeWZO?=
 =?utf-8?B?UkhLU0FDY2REOXVaN3luTm9MbDRRamkveTBENVRaTy9icmpwaWMzQVJpOXBI?=
 =?utf-8?B?dXdjVW9aWE9mWGdrbXV2UHBXWlFKcitYY09ncVNUSXhzMFpXMlpJcU1xOE1C?=
 =?utf-8?B?UmtFSE53bDBlc0VVN24zblI1dlozOGdPWUpFdmJUSS82NjhtWkN3UjBZRVha?=
 =?utf-8?B?UlpCVldpMEJ1aGV2NkJqbi9HNjc1WUVNb3hsbkhMN3dFa2tYTTdKamY1TE1W?=
 =?utf-8?B?S1I2Tml2MnR1cFYwV3hsRnE2b1B2eng4ckpMTVNiQ2Q0dFRsS1dhT3BVWTND?=
 =?utf-8?B?dkwwcXRGeVZERThCRHNmSXozMkFXOC9IOEpRanJ1WjBVbzk5Z1ZBTHJiYitS?=
 =?utf-8?B?NVZWNFl5dDRsdVhJRzZETThzWnREOGNySm9CdENDL0NZSFQ1UXRPTUM1OG9J?=
 =?utf-8?B?STJiYlFZbms4Zk9oTVJJTW8vTjhKNUJCdTJpZFh1MEhFU1J0WWxVbXVFWlBQ?=
 =?utf-8?B?VTZidGhLZ01kM0k4WGowb0NSSWt4K0hSTWkwNVN6a2FjKytNalBXd3o4UVhX?=
 =?utf-8?B?dHFUaDJIQnhhampHSzkzUlIwMk9IMjhRdEIrWjdmaE1sVVdxWk0zeHI5RjRj?=
 =?utf-8?B?QzhVUGJrRk1WVWVQK0xsYXMxaFdnN0dkTHV4RmZWTmkzZ1ZBQ2NwdHlPOWhQ?=
 =?utf-8?B?dzBKK3gxdDFzT01QbWZ1aVp1T1pDb0tCTjhKSHM0eGVXaWtJRnE4bFJsd3JV?=
 =?utf-8?B?dFpDamNpZFFvN3RKbVV5dz09?=
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:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DD897B554FAC1240A8F8A51A559B57CF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8901
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM4PEPF00027A64.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7055a40b-e71c-4b87-437a-08dc639234c1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MkpvMkJWTkhpS3kveXdTVlM0QUxtVEREang0OWNFbHRQVmx6bnJudUtFYnpQ?=
 =?utf-8?B?QWt3c3pBVUg5YisrRFFtQURGZE1PZUR1N0liaENGRmJ6TUlCYWFqV1V0bGRQ?=
 =?utf-8?B?MHd2RGIwRjJnZElvKzd5cFVEV0VYVWtRWWNqZzlncWFhbUVrOVhleFhJNlBo?=
 =?utf-8?B?ZFpNS1VuOC96YmMzUW9KNm1yTE5mU0lpZ0hBMTRwd0hkZlVwOTZhcGZVdnY4?=
 =?utf-8?B?TmlyZURDajZVMk9HcXNOa2xUak0wUTF4YS9xem16MGh5Z3ZvVE03bmREZWtF?=
 =?utf-8?B?YnBiZllIYWNYclBDc0JjajhEUkJXK0VlaDgzNE10REVDa2NiVXhzOGlJT3lZ?=
 =?utf-8?B?M085NEl0TEVXcm92WEIvbEF2ZVZ1MUI0WWlYSyswenNJbitDQktTS1RROVRN?=
 =?utf-8?B?NjJIc2E4dnc4S1B1cm1iMi9qQmNVUTB0VlBpWUZxSVB1SlBZUzh4OGdwVmhn?=
 =?utf-8?B?WjVDTkZkaytKK1pZd0tyUGdxbUxxWlJwbjM0TEhTMms2cW9ObXcybEZhSWJw?=
 =?utf-8?B?V0dFMzIzSnMrTmVNcjNBbGZRd28zSGxYSXhBVTFpNEI2YnJVWmdSeHViNUIr?=
 =?utf-8?B?WjlQTWY2dXdiNnlCSFIvRDJJc0V6amlNSXBPOEVyWXdQQkhSMVQybk5OU0d5?=
 =?utf-8?B?akp1bmpOT3psYk44MkRJUjdWWUkzNDFKbVd0ZTJVbHZxRDZJSklzU3Q4OHd0?=
 =?utf-8?B?cXA5TWdYSERlYko1QTFnNzltUXdjbk1aYkJQc2E3WHR2SFZKUUpJdHE5LzFI?=
 =?utf-8?B?MEM2OGZpMTBDcnhOaSt5RFhWenpyUXkyTUgrZEFTY2d3ZFFHaU10M1dtd09Q?=
 =?utf-8?B?ZzdKUmF2NHlQNUFlUkJzRGZidlJXTS9LN3F3bGJ1STh3empmTUNvSXFXVUQ0?=
 =?utf-8?B?RE1hQnRiVmtZRFd3YjFSNkdXY3ZpSlNTZ0N0TGY5d3JTREowOVhqcEZaNWZa?=
 =?utf-8?B?L3hTSEJzUC9sTG5PWm9yNFJoanJvaDR3Tnl1Uk4wOVI0SmRkcExxL3dzN2hT?=
 =?utf-8?B?YS95QndIa3RRZGxuY2p2MUJRQkxrRG5RbmsrdEM5M0JaWkxXamtJZE1SQUs0?=
 =?utf-8?B?eDlmQ1kyeVlhN1hZVDhrVDQyTjl4d0ZvREhHREZXM1UwemNYSzA3MDlTZm5N?=
 =?utf-8?B?US93UzhYVzVjaVNnYnhoMXhqL2M3UFVYRXJsZEhzNmpCb01NRXpmRFExT24x?=
 =?utf-8?B?YUN3ZGhwbnkxclNGcWR4RXpnZmRrT2Nna1V3YVhjYTlFZS9OaVVXM1NPVHRR?=
 =?utf-8?B?aEdPRlJzUFJYcGxkRjNVRmdEenhpZjJPbHRLVXh2VTJnTDlzTU8xOEx0UkJH?=
 =?utf-8?B?OGp3R2luQzZmeWY0K2tZVElZYmZoci9aTHBObWs4ZE5KM1FMbVQ1M294SXgy?=
 =?utf-8?B?bC83QlViRjhUaDdod0xCRjhXeUhXYXlqRWVXcVNmQ3ZpdzNsSlRxYVVlb2I3?=
 =?utf-8?B?SDgwZVB6bzV4NjM0U1d3N1h2eG9ySHhJUHh6aTN5b21FWFA1ckNQcTE4QjRX?=
 =?utf-8?B?em1EUmFlRDZ3a3VPQzRXeVoyYk0raXR0NUJGMm90N0VobmNEV1NtWGlic2l6?=
 =?utf-8?B?NFlBWHJsMTFhS0pUQUJPaUlHK1dRRzc5SXVhUDJFMWFLS2VxSTFxR21YZm91?=
 =?utf-8?B?SG0xb2N4Q3dEeUZOS1l0UW9CYjRncXFYenlzU043TllRQWtKQThXeUQ4bDZR?=
 =?utf-8?B?ZUxpRXlpQStBSnpOZWtCT05XU2V1eVRYSzdCdFdYa3pwN1Q1ZWdaZHRoVkxO?=
 =?utf-8?B?YnF0aG12Q00wMkU5U0lZdmMySzZRdE45S1V2UFF0QXpSR0hjWUpnT3VXUGdq?=
 =?utf-8?B?SkxtMkJabSt1SWtaNkNZbzZXdTJ1RnNGSXhtOHRaeEdFdXpSaUtHbHJkM21z?=
 =?utf-8?Q?ZG8YRzVVWGUPF?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 12:38:06.6366
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 49a301af-8712-42ea-f917-08dc639239dd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM4PEPF00027A64.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8923

SGkgSnVsaWVuLA0KDQo+IE9uIDIzIEFwciAyMDI0LCBhdCAxMzowNSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiANCj4gDQo+IE9uIDIzLzA0LzIwMjQgMTA6MzUs
IEplbnMgV2lrbGFuZGVyIHdyb3RlOg0KPj4gSGkgSnVsaWVuLA0KPiANCj4gSGkgSmVucywNCj4g
DQo+PiBPbiBNb24sIEFwciAyMiwgMjAyNCBhdCAxMjo1N+KAr1BNIEp1bGllbiBHcmFsbCA8anVs
aWVuQHhlbi5vcmc+IHdyb3RlOg0KPj4+IA0KPj4+IEhpIEplbnMsDQo+Pj4gDQo+Pj4gT24gMjIv
MDQvMjAyNCAwODozNywgSmVucyBXaWtsYW5kZXIgd3JvdGU6DQo+Pj4+IFVwZGF0ZXMgc28gcmVx
dWVzdF9pcnEoKSBjYW4gYmUgdXNlZCB3aXRoIGEgZHluYW1pY2FsbHkgYXNzaWduZWQgU0dJIGly
cQ0KPj4+PiBhcyBpbnB1dC4gVGhpcyBwcmVwYXJlcyBmb3IgYSBsYXRlciBwYXRjaCB3aGVyZSBh
biBGRi1BIHNjaGVkdWxlDQo+Pj4+IHJlY2VpdmVyIGludGVycnVwdCBoYW5kbGVyIGlzIGluc3Rh
bGxlZCBmb3IgYW4gU0dJIGdlbmVyYXRlZCBieSB0aGUNCj4+Pj4gc2VjdXJlIHdvcmxkLg0KPj4+
IA0KPj4+IEkgd291bGQgbGlrZSB0byB1bmRlcnN0YW5kIHRoZSB1c2UtY2FzZSBhIGJpdCBtb3Jl
LiBXaG8gaXMgcmVzcG9uc2libGUNCj4+PiB0byBkZWNpZGUgdGhlIFNHSSBudW1iZXI/IElzIGl0
IFhlbiBvciB0aGUgZmlybXdhcmU/DQo+Pj4gDQo+Pj4gSWYgdGhlIGxhdGVyLCBob3cgY2FuIHdl
IGV2ZXIgZ3VhcmFudGVlIHRoZSBJRCBpcyBub3QgZ29pbmcgdG8gY2xhc2gNCj4+PiB3aXRoIHdo
YXQgdGhlIE9TL2h5cGVydmlzb3IgaXMgdXNpbmc/IElzIGl0IGRlc2NyaWJlZCBpbiBhDQo+Pj4g
c3BlY2lmaWNhdGlvbj8gSWYgc28sIHBsZWFzZSBnaXZlIGEgcG9pbnRlci4NCj4+IFRoZSBmaXJt
d2FyZSBkZWNpZGVzIHRoZSBTR0kgbnVtYmVyLiBHaXZlbiB0aGF0IHRoZSBmaXJtd2FyZSBkb2Vz
bid0DQo+PiBrbm93IHdoaWNoIFNHSXMgWGVuIGlzIHVzaW5nIGl0IHR5cGljYWxseSBuZWVkcyB0
byBkb25hdGUgb25lIG9mIHRoZQ0KPj4gc2VjdXJlIFNHSXMsIGJ1dCB0aGF0IGlzIHRyYW5zcGFy
ZW50IHRvIFhlbi4NCj4gDQo+IFJpZ2h0IHRoaXMgaXMgbXkgY29uY2Vybi4gVGhlIGZpcm13YXJl
IGRlY2lkZXMgdGhlIG51bWJlciwgYnV0IGF0IHRoZSBzYW1lIHRpbWUgWGVuIHRoaW5rcyB0aGF0
IGFsbCB0aGUgU0dJcyBhcmUgYXZhaWxhYmxlIChBRkFJSyB0aGVyZSBpcyBvbmx5IG9uZSBzZXQp
Lg0KPiANCj4gV2hhdCBJIHdvdWxkIGxpa2UgdG8gc2VlIGlzIHNvbWUgd29yZGluZyBmcm9tIGEg
c3BlYyBpbmRpY2F0aW5nIHRoYXQgdGhlIFNHSXMgSUQgcmVzZXJ2ZWQgYnkgdGhlIGZpcm13YXJl
IHdpbGwgbm90IGJlIGNsYXNoaW5nIHdpdGggdGhlIG9uZSB1c2VkIGJ5IFhlbi4NCg0KVGhlIGlk
ZWEgaXMgdGhhdCB0aGUgb25seSBTR0kgcmVzZXJ2ZWQgZm9yIHNlY3VyZSBhcmUgdXNlZCBieSB0
aGUgc2VjdXJlIHdvcmxkIChpbiBmYWN0IGl0IGlzIHRoZSBTUE1DIGluIHRoZSBzZWN1cmUgd29y
bGQgd2hvIHRlbGxzIHVzIHdoaWNoIFNHSSBpdCB3aWxsIGdlbmVyYXRlKS4NClNvIGluIHRoZW9y
eSB0aGF0IG1lYW5zIGl0IHdpbGwgYWx3YXlzIHVzZSBhbiBTR0kgYmV0d2VlbiA4IGFuZCAxNS4N
Cg0KTm93IGl0IGNvdWxkIG1ha2Ugc2Vuc2UgaW4gZmFjdCB0byBjaGVjayB0aGF0IHRoZSBudW1i
ZXIgcmV0dXJuZWQgYnkgdGhlIGZpcm13YXJlIChvciBTUE1DKSBpcyBub3QgY2xhc2hpbmcgd2l0
aCBYZW4gYXMgaXQgaXMgYSByZWNvbW1lbmRhdGlvbiBpbiB0aGUgc3BlYyBhbmQNCmluIGZhY3Qg
YW4gaW1wbGVtZW50YXRpb24gbWlnaHQgZG8gc29tZXRoaW5nIGRpZmZlcmVudC4NCg0KUmlnaHQg
bm93IHRoZXJlIGlzIG5vIHNwZWMgdGhhdCB3aWxsIHNheSB0aGF0IGl0IHdpbGwgbmV2ZXIgY2xh
c2ggd2l0aCB0aGUgb25lIHVzZWQgYnkgWGVuIGFzIHRoZSBGRi1BIHNwZWMgaXMgbm90IGVuZm9y
Y2luZyBhbnl0aGluZyBoZXJlIHNvIGl0IHdvdWxkIGJlIGEgZ29vZCBpZGVhDQp0byBjaGVjayBh
bmQgZGlzYWJsZSBGRi1BIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSBpZiB0aGlzIGhhcHBl
bnMuDQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiANCj4+PiANCj4+Pj4gDQo+Pj4+IGdpY19yb3V0
ZV9pcnFfdG9feGVuKCkgZG9uJ3QgZ2ljX3NldF9pcnFfdHlwZSgpIGZvciBTR0lzIHNpbmNlIHRo
ZXkgYXJlDQo+Pj4+IGFsd2F5cyBlZGdlIHRyaWdnZXJlZC4NCj4+Pj4gDQo+Pj4+IGdpY19pbnRl
cnJ1cHQoKSBpcyB1cGRhdGVkIHRvIHJvdXRlIHRoZSBkeW5hbWljYWxseSBhc3NpZ25lZCBTR0lz
IHRvDQo+Pj4+IGRvX0lSUSgpIGluc3RlYWQgb2YgZG9fc2dpKCkuIFRoZSBsYXR0ZXIgc3RpbGwg
aGFuZGxlcyB0aGUgc3RhdGljYWxseQ0KPj4+PiBhc3NpZ25lZCBTR0kgaGFuZGxlcnMgbGlrZSBm
b3IgaW5zdGFuY2UgR0lDX1NHSV9DQUxMX0ZVTkNUSU9OLg0KPj4+PiANCj4+Pj4gU2lnbmVkLW9m
Zi1ieTogSmVucyBXaWtsYW5kZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+DQo+Pj4+IC0t
LQ0KPj4+PiB2MS0+djINCj4+Pj4gLSBVcGRhdGUgcGF0Y2ggZGVzY3JpcHRpb24gYXMgcmVxdWVz
dGVkDQo+Pj4+IC0tLQ0KPj4+PiAgIHhlbi9hcmNoL2FybS9naWMuYyB8IDUgKysrLS0NCj4+Pj4g
ICB4ZW4vYXJjaC9hcm0vaXJxLmMgfCA3ICsrKysrLS0NCj4+PiANCj4+PiBJIGFtIG5vdCBzdXJl
IHdoZXJlIHRvIHdyaXRlIHRoZSBjb21tZW50LiBCdXQgSSB0aGluayB0aGUgY29tbWVudCBvbiB0
b3ANCj4+PiBvZiBpcnFfc2V0X2FmZmluaXR5KCkgaW4gc2V0dXBfaXJxKCkgc2hvdWxkIGFsc28g
YmUgdXBkYXRlZC4NCj4+PiANCj4+Pj4gICAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr
KSwgNCBkZWxldGlvbnMoLSkNCj4+Pj4gDQo+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v
Z2ljLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLmMNCj4+Pj4gaW5kZXggNDRjNDBlODZkZWZlLi5lOWFl
YjcxMzg0NTUgMTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS9naWMuYw0KPj4+PiArKysg
Yi94ZW4vYXJjaC9hcm0vZ2ljLmMNCj4+Pj4gQEAgLTExNyw3ICsxMTcsOCBAQCB2b2lkIGdpY19y
b3V0ZV9pcnFfdG9feGVuKHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgdW5zaWduZWQgaW50IHByaW9y
aXR5KQ0KPj4+PiANCj4+Pj4gICAgICAgZGVzYy0+aGFuZGxlciA9IGdpY19od19vcHMtPmdpY19o
b3N0X2lycV90eXBlOw0KPj4+PiANCj4+Pj4gLSAgICBnaWNfc2V0X2lycV90eXBlKGRlc2MsIGRl
c2MtPmFyY2gudHlwZSk7DQo+Pj4+ICsgICAgaWYgKCBkZXNjLT5pcnEgPj0gTlJfR0lDX1NHSSkN
Cj4+Pj4gKyAgICAgICAgZ2ljX3NldF9pcnFfdHlwZShkZXNjLCBkZXNjLT5hcmNoLnR5cGUpOw0K
Pj4+IA0KPj4+IFNvIGFib3ZlLCB5b3Ugc2F5IHRoYXQgdGhlIFNHSXMgYXJlIGFsd2F5cyBlZGdl
LXRyaWdnZXJlZCBpbnRlcnJ1cHQuIFNvDQo+Pj4gSSBhc3N1bWUgZGVzYy0+YXJjaC50eXBlLiBT
byBhcmUgeW91IHNraXBwaW5nIHRoZSBjYWxsIGJlY2F1c2UgaXQgaXMNCj4+PiB1bm5lc3Nhcnkg
b3IgaXQgY291bGQgZG8gdGhlIHdyb25nIHRoaW5nPw0KPj4+IA0KPj4+IElkZWFsbHksIHRoZSBv
dXRjb21lIG9mIHRoZSBhbnN3ZXIgYmUgcGFydCBvZiB0aGUgY29tbWVudCBvbiB0b3Agb2YgdGhl
DQo+Pj4gY2hlY2suDQo+PiBnaWNfc2V0X2lycV90eXBlKCkgaGFzIGFuIGFzc2VydCAiQVNTRVJU
KHR5cGUgIT0gSVJRX1RZUEVfSU5WQUxJRCkiDQo+PiB3aGljaCBpcyB0cmlnZ2VyZWQgd2l0aG91
dCB0aGlzIGNoZWNrLg0KPj4gU28gaXQncyBib3RoIHVubmVjZXNzYXJ5IGFuZCB3cm9uZy4gSSBz
dXBwb3NlIHdlIGNvdWxkIHVwZGF0ZSB0aGUNCj4+IGJvb2trZWVwaW5nIG9mIGFsbCBTR0lzIHRv
IGJlIGVkZ2UtdHJpZ2dlcmVkIGluc3RlYWQgb2YNCj4+IElSUV9UWVBFX0lOVkFMSUQuIEl0IHdv
dWxkIHN0aWxsIGJlIHVubmVjZXNzYXJ5IHRob3VnaC4gV2hhdCBkbyB5b3UNCj4+IHN1Z2dlc3Q/
DQo+IA0KPiBJIHdvdWxkIHJhdGhlciBwcmVmZXIgaWYgd2UgdXBkYXRlIHRoZSBib29rLWtlZXBp
bmcgZm9yIGFsbCB0aGUgU0dJcy4NCj4gDQo+IFsuLi5dDQo+IA0KPj4+IA0KPj4+PiAgICAgICAg
ICAgew0KPj4+PiAgICAgICAgICAgICAgIGlzYigpOw0KPj4+PiAgICAgICAgICAgICAgIGRvX0lS
UShyZWdzLCBpcnEsIGlzX2ZpcSk7DQo+Pj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaXJx
LmMgYi94ZW4vYXJjaC9hcm0vaXJxLmMNCj4+Pj4gaW5kZXggYmNjZTgwYTRkNjI0Li5mZGIyMTQ1
NjA5NzggMTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS9pcnEuYw0KPj4+PiArKysgYi94
ZW4vYXJjaC9hcm0vaXJxLmMNCj4+Pj4gQEAgLTIyNCw5ICsyMjQsMTIgQEAgdm9pZCBkb19JUlEo
c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGludCBpcnEsIGludCBpc19maXEp
DQo+Pj4+IA0KPj4+PiAgICAgICBwZXJmY19pbmNyKGlycXMpOw0KPj4+PiANCj4+Pj4gLSAgICBB
U1NFUlQoaXJxID49IDE2KTsgLyogU0dJcyBkbyBub3QgY29tZSBkb3duIHRoaXMgcGF0aCAqLw0K
Pj4+PiArICAgIC8qIFN0YXRpY2FsbHkgYXNzaWduZWQgU0dJcyBkbyBub3QgY29tZSBkb3duIHRo
aXMgcGF0aCAqLw0KPj4+PiArICAgIEFTU0VSVChpcnEgPj0gR0lDX1NHSV9NQVgpOw0KPj4+IA0K
Pj4+IA0KPj4+IFdpdGggdGhpcyBjaGFuZ2UsIEkgdGhpbmsgdGhlIHBhdGggd2l0aCB2Z2ljX2lu
amVjdF9pcnEoKSBub3cgbmVlZHMgdG8NCj4+PiBnYWluIGFuIEFTU0VSVChpcnEgPj0gTlJfR0lD
X1NHSSkgYmVjYXVzZSB0aGUgcGF0aCBpcyBub3Qgc3VwcG9zZWQgdG8gYmUNCj4+PiB0YWtlbiBm
b3IgU0dJcy4NCj4+IEknbSBzb3JyeSwgSSBkb24ndCBzZWUgdGhlIGNvbm5lY3Rpb24uIElmIEkg
YWRkDQo+PiBBU1NFUlQodmlycSA+PSBOUl9HSUNfU0dJKTsNCj4+IGF0IHRoZSB0b3Agb2Ygdmdp
Y19pbmplY3RfaXJxKCkgaXQgd2lsbCBwYW5pYyB3aGVuIGluamVjdGluZyBhDQo+PiBTY2hlZHVs
ZSBSZWNlaXZlciBvciBOb3RpZmljYXRpb24gUGVuZGluZyBJbnRlcnJ1cHQgZm9yIGEgZ3Vlc3Qu
DQo+IA0KPiBJZiB5b3UgbG9vayBhdCBkb19JUlEoKSwgd2UgaGF2ZSB0aGUgZm9sbG93aW5nIGNv
ZGU6DQo+IA0KPiAgICBpZiAoIHRlc3RfYml0KF9JUlFfR1VFU1QsICZkZXNjLT5zdGF0dXMpICkN
Cj4gICAgew0KPiAgICAgICAgc3RydWN0IGlycV9ndWVzdCAqaW5mbyA9IGlycV9nZXRfZ3Vlc3Rf
aW5mbyhkZXNjKTsNCj4gDQo+ICAgICAgICBwZXJmY19pbmNyKGd1ZXN0X2lycXMpOw0KPiAgICAg
ICAgZGVzYy0+aGFuZGxlci0+ZW5kKGRlc2MpOw0KPiANCj4gICAgICAgIHNldF9iaXQoX0lSUV9J
TlBST0dSRVNTLCAmZGVzYy0+c3RhdHVzKTsNCj4gDQo+ICAgICAgICAvKg0KPiAgICAgICAgICog
VGhlIGlycSBjYW5ub3QgYmUgYSBQUEksIHdlIG9ubHkgc3VwcG9ydCBkZWxpdmVyeSBvZiBTUElz
IHRvDQo+ICAgICAgICAgKiBndWVzdHMuDQo+ICAgICAgICAgKi8NCj4gICAgICAgIHZnaWNfaW5q
ZWN0X2lycShpbmZvLT5kLCBOVUxMLCBpbmZvLT52aXJxLCB0cnVlKTsNCj4gICAgICAgIGdvdG8g
b3V0X25vX2VuZDsNCj4gICAgfQ0KPiANCj4gV2hhdCBJIHN1Z2dlc3RpbmcgaXMgdG8gYWRkIGFu
IEFTU0VSVChpcnEgPj0gTlJfR0lDX1NHSSkganVzdCBiZWZvcmUgdGhlIGNhbGwgYmVjYXVzZSBu
b3cgZG9fSVJRKCkgY2FuIGJlIGNhbGxlZCB3aXRoIFNHSXMgeWV0IHdlIGRvbid0IGFsbG93IEhX
IFNHSXMgdG8gYXNzaWduZWQgdG8gYSBndWVzdC4NCj4gDQo+IENoZWVycywNCj4gDQo+IC0tIA0K
PiBKdWxpZW4gR3JhbGwNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 12:47:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 12:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710574.1109846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFY7-0004Ul-9r; Tue, 23 Apr 2024 12:47:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710574.1109846; Tue, 23 Apr 2024 12:47:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFY7-0004Ue-5i; Tue, 23 Apr 2024 12:47:03 +0000
Received: by outflank-mailman (input) for mailman id 710574;
 Tue, 23 Apr 2024 12:47: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 1rzFY5-0004UU-MB; Tue, 23 Apr 2024 12:47: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 1rzFY5-0007tX-Gd; Tue, 23 Apr 2024 12:47: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 1rzFY5-0005vG-4M; Tue, 23 Apr 2024 12:47:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzFY5-00037j-3v; Tue, 23 Apr 2024 12:47: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=m1EhFMNF77fyo3cKxk2azhIskdvwJ/cZvMNgrgCyQlA=; b=pwfSMJ/5enBKmNcMSijcWdfQXL
	45XPTNAHzNcTD8NiNYMIapmMprperYLaKa+3/bHCu5fKpq/71mM3ai7I/9nIZLOeTZ60ptHXGVr5L
	1W5vorE2aJmzWIaA1vSAJRJDk8knaF5LCC4pig9QGfSLSboRcxJ/BxOaMJSWmSNhfRbk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185765-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185765: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 12:47:01 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops               <job status>                 broken  in 185433
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-libvirt             <job status>                 broken  in 185433
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail REGR. vs. 185168
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185765
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 185168
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 185433 like 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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:
 linux                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   27 days
Testing same since   185433  2024-04-13 11:16:55 Z   10 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-arm64-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 12:59:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 12:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710585.1109866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFkR-0006d8-PH; Tue, 23 Apr 2024 12:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710585.1109866; Tue, 23 Apr 2024 12:59:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFkR-0006d1-LH; Tue, 23 Apr 2024 12:59:47 +0000
Received: by outflank-mailman (input) for mailman id 710585;
 Tue, 23 Apr 2024 12:59:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yhCQ=L4=bounce.vates.tech=bounce-md_30504962.6627b0be.v1-a90600d2b2d24dcab1bd6d9db8887a42@srs-se1.protection.inumbo.net>)
 id 1rzFkQ-0006OV-5g
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 12:59:46 +0000
Received: from mail180-8.suw31.mandrillapp.com
 (mail180-8.suw31.mandrillapp.com [198.2.180.8])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a9b047e-0171-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 14:59:44 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-8.suw31.mandrillapp.com (Mailchimp) with ESMTP id 4VP2JZ4bsbz3sN6NV
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 12:59:42 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 a90600d2b2d24dcab1bd6d9db8887a42; Tue, 23 Apr 2024 12:59: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: 5a9b047e-0171-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713877182; x=1714137682;
	bh=FZ8fO939DisgVuzXrAUrqZKRIIElHa8Z6UMr6icNfJc=;
	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=GE/dNvYPhjlr1bq+hJSW97tASmNuqnIiQGx8ktdLxzfhdExXTsI+4HjYhMJdqE0gu
	 de7PJtYm9WaiFYFQ8FKmPP1Svy6DtD4Gq7MQpIJH9gHMEzJtd6WslxtLCHZ2B/CkzW
	 IyK5vYz+MlMtAu2u/+2Y0ZtqItrzQJbhlnQexLwF/psobQRtJAmtMTwCnK2H79/TU4
	 WXgY8bsln4A0f26LaLTojv2TBUpJGBxCmjSAlMq/vlVE5ZtsOLnGMqvIu2HoKuuBA/
	 UOaEXW4wdaDbtaX8mLTgO9TFIyKzj+GxSNz5+gb2NG4LFncjA8g1Ki0s6jgOJCfJpg
	 Ayj/BWMOzmkgA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713877182; x=1714137682; i=teddy.astie@vates.tech;
	bh=FZ8fO939DisgVuzXrAUrqZKRIIElHa8Z6UMr6icNfJc=;
	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=ASD+xfUgJShYi1bo+zqJWPQ/5/w/gWYsfaMsK/v6C4dkTa4JrkpkERcTvEgU49fwr
	 SqOvqR5pK92n7QXP9gZ4PnFpPIsTKgrsHMdbSk3u+UH7YRJjOWsJ3l0MMDXpSpqVFq
	 nXUHHnjJoBUcRdpk9FyDHnmRM1qoR3/25p8D2ki7+p4e8IChYYlt+GRv89sGxZWTSn
	 SC8LsL1KPng9LCATamQr2EF97qRjySBJm8i6M9I1Ez6T1L59t8eI6kdCsdwlS5u+qM
	 Y1MipzeDAoyYJI1hfYXszMzoz0sAbpR51ymxRh9PREqndnU2409XefUWZJWi6vo+1H
	 534KicZeQyvxw==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20XEN=20v1]=20docs/designs:=20Introduce=20IOMMU=20context=20management?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713877179395
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>
Message-Id: <5c7c76f29726d377e3ff8a22ba2e3eb01dfa4c3b.1713876394.git.teddy.astie@vates.tech>
In-Reply-To: <1cdd746f1af79970f8c7151d23854d33416772e0.1713876394.git.teddy.astie@vates.tech>
References: <1cdd746f1af79970f8c7151d23854d33416772e0.1713876394.git.teddy.astie@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.a90600d2b2d24dcab1bd6d9db8887a42?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240423:md
Date: Tue, 23 Apr 2024 12:59:42 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello,

This RFC patch introduce a design proposal for changes in the IOMMU subsyst=
em
to allow existence of "IOMMU contexts" (aka hardware IOMMU domains) within
a single Xen domain.
In addition to this, redesign and simplify the existing Xen IOMMU subsystem
with these new uses in mind, using IOMMU contexts as main objects and
reimplementing current features in a more platform agnostic way (e.g
quarantine).

The implementation of this design is needed for the PV-IOMMU interface
implementation. [1]

This design is still incomplete on some aspects (notably platforms that use=
s
device-tree nodes), and I am looking for some feedback regarding the whole
approach, and if there is anything worth noting I missed out.

Teddy

---

[1] https://xcp-ng.org/blog/2024/04/18/iommu-paravirtualization-for-xen/

Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: Rahul Singh <rahul.singh@arm.com>

---
 docs/designs/iommu-contexts.md | 373 +++++++++++++++++++++++++++++++++
 1 file changed, 373 insertions(+)
 create mode 100644 docs/designs/iommu-contexts.md

diff --git a/docs/designs/iommu-contexts.md b/docs/designs/iommu-contexts.m=
d
new file mode 100644
index 0000000000..fb9301c398
--- /dev/null
+++ b/docs/designs/iommu-contexts.md
@@ -0,0 +1,373 @@
+# IOMMU context management in Xen
+
+Status: Experimental
+Revision: 0
+
+# Background
+
+The design for *IOMMU paravirtualization for Dom0* [1] explains that some =
guests may
+want to access to IOMMU features. In order to implement this in Xen, sever=
al adjustments 
+needs to be made to the IOMMU subsystem.
+
+This "hardware IOMMU domain" is currently implemented on a per-domain basi=
s such as each
+domain actually has a specific *hardware IOMMU domain*, this design aims t=
o allow a
+single Xen domain to manage several "IOMMU context", and allow some domain=
s (e.g Dom0
+[1]) to modify their IOMMU contexts.
+
+In addition to this, quarantine feature can be refactored into using IOMMU=
 contexts
+to reduce the complexity of platform-specific implementations and ensuring=
 more
+consistency across platforms.
+
+# IOMMU context
+
+We define a "IOMMU context" as being a *hardware IOMMU domain*, but named =
as a context
+to avoid confusion with Xen domains.
+It represents some hardware-specific data structure that contains mappings=
 from a device
+frame-number to a machine frame-number (e.g using a pagetable) that can be=
 applied to
+a device using IOMMU hardware.
+
+This structure is bound to a Xen domain, but a Xen domain may have several=
 IOMMU context.
+These contexts may be modifiable using the interface as defined in [1] asi=
de some
+specific cases (e.g modifying default context).
+
+This is implemented in Xen as a new structure that will hold context-speci=
fic
+data.
+
+```c
+struct iommu_context {
+    u16 id; /* Context id (0 means default context) */
+    struct list_head devices;
+
+    struct arch_iommu_context arch;
+
+    bool opaque; /* context can't be modified nor accessed (e.g HAP) */
+};
+```
+
+A context is identified by a number that is domain-specific and may be use=
d by IOMMU
+users such as PV-IOMMU by the guest.
+
+struct arch_iommu_context is splited from struct arch_iommu
+
+```c
+struct arch_iommu_context
+{
+    spinlock_t pgtables_lock;
+    struct page_list_head pgtables;
+
+    union {
+        /* Intel VT-d */
+        struct {
+            uint64_t pgd_maddr; /* io page directory machine address */
+            domid_t *didmap; /* per-iommu DID */
+            unsigned long *iommu_bitmap; /* bitmap of iommu(s) that the co=
ntext uses */
+        } vtd;
+        /* AMD IOMMU */
+        struct {
+            struct page_info *root_table;
+        } amd;
+    };
+};
+
+struct arch_iommu
+{
+    spinlock_t mapping_lock; /* io page table lock */
+    struct {
+        struct page_list_head list;
+        spinlock_t lock;
+    } pgtables;
+
+    struct list_head identity_maps;
+
+    union {
+        /* Intel VT-d */
+        struct {
+            /* no more context-specific values */
+            unsigned int agaw; /* adjusted guest address width, 0 is level=
 2 30-bit */
+        } vtd;
+        /* AMD IOMMU */
+        struct {
+            unsigned int paging_mode;
+            struct guest_iommu *g_iommu;
+        } amd;
+    };
+};
+```
+
+IOMMU context information is now carried by iommu_context rather than bein=
g integrated to
+struct arch_iommu.
+
+# Xen domain IOMMU structure
+
+`struct domain_iommu` is modified to allow multiples context within a sing=
le Xen domain 
+to exist :
+
+```c
+struct iommu_context_list {
+    uint16_t count; /* Context count excluding default context */
+    
+    /* if count > 0 */
+
+    uint64_t *bitmap; /* bitmap of context allocation */
+    struct iommu_context *map; /* Map of contexts */
+};
+
+struct domain_iommu {
+    /* ... */
+
+    struct iommu_context default_ctx;
+    struct iommu_context_list other_contexts;
+
+    /* ... */
+}
+```
+
+default_ctx is a special context with id=3D0 that holds the page table map=
ping the entire
+domain, which basically preserve the previous behavior. All devices are ex=
pected to be
+bound to this context during initialization.
+
+Along with this default context that always exist, we use a pool of contex=
ts that has a
+fixed size at domain initialization, where contexts can be allocated (if p=
ossible), and
+have a id matching their position in the map (considering that id !=3D 0).
+These contexts may be used by IOMMU contexts users such as PV-IOMMU or qua=
rantine domain
+(DomIO).
+
+# Platform independent context management interface
+
+A new platform independant interface is introduced in Xen hypervisor to al=
low
+IOMMU contexts users to create and manage contexts within domains.
+
+```c
+/* Direct context access functions (not supposed to be used directly) */
+#define iommu_default_context(d) (&dom_iommu(d)->default_ctx)
+struct iommu_context *iommu_get_context(struct domain *d, u16 ctx_no);
+int iommu_context_init(struct domain *d, struct iommu_context *ctx, u16 ct=
x_no, u32 flags);
+int iommu_context_teardown(struct domain *d, struct iommu_context *ctx, u3=
2 flags);
+
+/* Check if a specific context exist in the domain, note that ctx_no=3D0 a=
lways
+    exists */
+bool iommu_check_context(struct domain *d, u16 ctx_no);
+
+/* Flag for default context initialization */
+#define IOMMU_CONTEXT_INIT_default (1 << 0)
+
+/* Flag for quarantine contexts (scratch page, DMA Abort mode, ...) */
+#define IOMMU_CONTEXT_INIT_quarantine (1 << 1)
+
+/* Flag to specify that devices will need to be reattached to default doma=
in */
+#define IOMMU_TEARDOWNF_REATTACH_DEFAULT (1 << 0)
+
+/* Allocate a new context, uses CONTEXT_INIT flags */
+int iommu_context_alloc(struct domain *d, u16 *ctx_no, u32 flags);
+
+/* Free a context, uses CONTEXT_TEARDOWNF flags */
+int iommu_context_free(struct domain *d, u16 ctx_no, u32 flags);
+
+/* Move a device from one context to another, including between different =
domains. */
+int iommu_reattach_context(struct domain *prev_dom, struct domain *next_do=
m,
+                            device_t *dev, u16 ctx_no);
+
+/* Add a device to a context for first initialization */
+int iommu_attach_context(struct domain *d, device_t *dev, u16 ctx_no);
+
+/* Remove a device from a context, effectively removing it from the IOMMU.=
 */
+int iommu_dettach_context(struct domain *d, device_t *dev);
+```
+
+This interface will use a new interface with drivers to implement these fe=
atures.
+
+Some existing functions will have a new parameter to specify on what conte=
xt to do the operation.
+- iommu_map (iommu_legacy_map untouched)
+- iommu_unmap (iommu_legacy_unmap untouched)
+- iommu_lookup_page
+- iommu_iotlb_flush
+
+These functions will modify the iommu_context structure to accomodate with=
 the
+operations applied, these functions will be used to replace some operation=
s previously
+made in the IOMMU driver.
+
+# IOMMU platform_ops interface changes
+
+The IOMMU driver needs to expose a way to create and manage IOMMU contexts=
, the approach
+taken here is to modify the interface to allow specifying a IOMMU context =
on operations,
+and at the same time, simplifying the interface by relying more on iommu
+platform-independent code.
+
+Added functions in iommu_ops
+
+```c
+/* Initialize a context (creating page tables, allocating hardware, struct=
ures, ...) */
+int (*context_init)(struct domain *d, struct iommu_context *ctx,
+                    u32 flags);
+/* Destroy a context, assumes no device is bound to the context. */
+int (*context_teardown)(struct domain *d, struct iommu_context *ctx,
+                        u32 flags);
+/* Put a device in a context (assumes the device is not attached to anothe=
r context) */
+int (*attach)(struct domain *d, device_t *dev,
+                struct iommu_context *ctx);
+/* Remove a device from a context, and from the IOMMU. */
+int (*dettach)(struct domain *d, device_t *dev,
+                struct iommu_context *prev_ctx);
+/* Move the device from a context to another, including if the new context=
 is in
+   another domain. d corresponds to the target domain. */
+int (*reattach)(struct domain *d, device_t *dev,
+                struct iommu_context *prev_ctx,
+                struct iommu_context *ctx);
+
+#ifdef CONFIG_HAS_PCI
+/* Specific interface for phantom function devices. */
+int (*add_devfn)(struct domain *d, struct pci_dev *pdev, u16 devfn,
+                    struct iommu_context *ctx);
+int (*remove_devfn)(struct domain *d, struct pci_dev *pdev, u16 devfn,
+                struct iommu_context *ctx);
+#endif
+
+/* Changes in existing to use a specified iommu_context. */
+int __must_check (*map_page)(struct domain *d, dfn_t dfn, mfn_t mfn,
+                                unsigned int flags,
+                                unsigned int *flush_flags,
+                                struct iommu_context *ctx);
+int __must_check (*unmap_page)(struct domain *d, dfn_t dfn,
+                                unsigned int order,
+                                unsigned int *flush_flags,
+                                struct iommu_context *ctx);
+int __must_check (*lookup_page)(struct domain *d, dfn_t dfn, mfn_t *mfn,
+                                unsigned int *flags,
+                                struct iommu_context *ctx);
+
+int __must_check (*iotlb_flush)(struct iommu_context *ctx, dfn_t dfn,
+                                unsigned long page_count,
+                                unsigned int flush_flags);
+
+void (*clear_root_pgtable)(struct domain *d, struct iommu_context *ctx);
+```
+
+These functions are redundant with existing functions, therefore, the foll=
owing functions
+are replaced with new equivalents :
+- quarantine_init : platform-independent code and IOMMU_CONTEXT_INIT_quara=
ntine flag
+- add_device : attach and add_devfn (phantom)
+- assign_device : attach and add_devfn (phantom)
+- remove_device : dettach and remove_devfn (phantom)
+- reassign_device : reattach
+
+Some functionnal differences with previous functions, the following should=
 be handled
+by platform-independent/arch-specific code instead of IOMMU driver :
+- identity mappings (unity mappings and rmrr)
+- device list in context and domain
+- domain of a device
+- quarantine
+
+The idea behind this is to implement IOMMU context features while simplify=
ing IOMMU
+drivers implementations and ensuring more consistency between IOMMU driver=
s.
+
+## Phantom function handling
+
+PCI devices may use additionnal devfn to do DMA operations, in order to su=
pport such
+devices, an interface is added to map specific device functions without im=
plying that
+the device is mapped to a new context (that may cause duplicates in Xen da=
ta structures).
+
+Functions add_devfn and remove_devfn allows to map a iommu context on spec=
ific devfn
+for a pci device, without altering platform-independent data structures.
+
+It is important for the reattach operation to care about these devices, in=
 order
+to prevent devices from being partially reattached to the new context (see=
 XSA-449 [2])
+by using a all-or-nothing approach for reattaching such devices.
+
+# Quarantine refactoring using IOMMU contexts
+
+The quarantine mecanism can be entirely reimplemented using IOMMU context,=
 making
+it simpler, more consistent between platforms, 
+
+Quarantine is currently only supported with x86 platforms and works by cre=
ating a
+single *hardware IOMMU domain* per quarantined device. All the quarantine =
logic is
+the implemented in a platform-specific fashion while actually implementing=
 the same
+concepts :
+
+The *hardware IOMMU context* data structures for quarantine are currently =
stored in
+the device structure itself (using arch_pci_dev) and IOMMU driver needs to=
 care about
+whether we are dealing with quarantine operations or regular operations (o=
ften dealt 
+using macros such as QUARANTINE_SKIP or DEVICE_PGTABLE).
+
+The page table that will apply on the quarantined device is created reserv=
ed device
+regions, and adding mappings to a scratch page if enabled (quarantine=3Dsc=
ratch-page).
+
+A new approach we can use is allowing the quarantine domain (DomIO) to man=
age IOMMU
+contexts, and implement all the quarantine logic using IOMMU contexts.
+
+That way, the quarantine implementation can be platform-independent, thus =
have a more
+consistent implementation between platforms. It will also allows quarantin=
e to work
+with other IOMMU implementations without having to implement platform-spec=
ific behavior.
+Moreover, quarantine operations can be implemented using regular context o=
perations
+instead of relying on driver-specific code.
+
+Quarantine implementation can be summarised as
+
+```c
+int iommu_quarantine_dev_init(device_t *dev)
+{
+    int ret;
+    u16 ctx_no;
+
+    if ( !iommu_quarantine )
+        return -EINVAL;
+
+    ret =3D iommu_context_alloc(dom_io, &ctx_no, IOMMU_CONTEXT_INIT_quaran=
tine);
+
+    if ( ret )
+        return ret;
+
+    /** TODO: Setup scratch page, mappings... */
+
+    ret =3D iommu_reattach_context(dev->domain, dom_io, dev, ctx_no);
+
+    if ( ret )
+    {
+        ASSERT(!iommu_context_free(dom_io, ctx_no, 0));
+        return ret;
+    }
+
+    return ret;
+}
+```
+
+# Platform-specific considerations
+
+## IOMMUs based on page tables
+
+TODO
+
+## x86 Architecture
+
+TODO
+
+### Intel VT-d
+
+VT-d uses DID to tag the *IOMMU domain* applied to a device and assumes th=
at all entries
+with the same DID uses the same page table (i.e same IOMMU context).
+Under certain circonstances (e.g DRHD with DID limit below 16-bits), the *=
DID* is
+transparently converted into a DRHD-specific DID using a map managed inter=
nally.
+
+The current implementation of the code reuses the Xen domain_id as DID.
+However, by using multiples IOMMU contexts per domain, we can't use the do=
main_id for
+contexts (otherwise, different page tables will be mapped with the same DI=
D).
+The following strategy is used : 
+- on the default context, reuse the domain_id (the default context is uniq=
ue per domain)
+- on non-default context, use a id allocated in the pseudo_domid map, (act=
ually used by
+quarantine) which is a DID outside of Xen domain_id range
+
+### AMD-Vi
+
+TODO
+
+## Device-tree platforms
+
+### SMMU and SMMUv3
+
+TODO
+
+* * *
+
+[1] See pv-iommu.md
+
+[2] pci: phantom functions assigned to incorrect contexts
+https://xenbits.xen.org/xsa/advisory-449.html
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 12:59:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 12:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710584.1109856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFkP-0006Oi-Hn; Tue, 23 Apr 2024 12:59:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710584.1109856; Tue, 23 Apr 2024 12:59:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFkP-0006Ob-E4; Tue, 23 Apr 2024 12:59:45 +0000
Received: by outflank-mailman (input) for mailman id 710584;
 Tue, 23 Apr 2024 12:59:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6m9h=L4=bounce.vates.tech=bounce-md_30504962.6627b0ba.v1-e055206ecdee4a869e4f370c6f8c2059@srs-se1.protection.inumbo.net>)
 id 1rzFkO-0006OV-0E
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 12:59:44 +0000
Received: from mail145-32.atl61.mandrillapp.com
 (mail145-32.atl61.mandrillapp.com [198.2.145.32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 58eac1fc-0171-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 14:59:41 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-32.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4VP2JV6DthzP0Jmwh
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 12:59:38 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 e055206ecdee4a869e4f370c6f8c2059; Tue, 23 Apr 2024 12:59:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58eac1fc-0171-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713877178; x=1714137678;
	bh=F+QRxh4CXlFCVrXkXAQI0kHZB6ikPyZM1KYsxVuHWIg=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=Siz439Sxac9XaH5fg2F/Wrf+Jrb58hhKaMY/PNEy7FlA+E1vIiRf8JSAuPRzANwL4
	 fwfsG0qDRGcUS9PiKVOfegjX8Q1Q48Gknbp/wOziaIm7/BgBMT9j1+tIMmr4i2+84A
	 /h/cgV0qZn6lPmnsNGQRl3rrm6sKlk7D7K9S6TayCkogQJOlj9B3KQqNn/0pyaFq/R
	 VHlwHyUwGKjIoN3v2e7uExvDXzNIhU9Yg6KlXi7Iw9GHs06nx0ifddF4eoLLhWqEth
	 5zhNf47aLERtPpAThqzG8BsV5gGGhTdA9eelvFw2Br4nGdtwcCILE8kTG4UAVr8Hpb
	 tNIL4QbNZqFBw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713877178; x=1714137678; i=teddy.astie@vates.tech;
	bh=F+QRxh4CXlFCVrXkXAQI0kHZB6ikPyZM1KYsxVuHWIg=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=Zbp3x8sIacvjpzszJaoC7L2QbWSqHnPn1/9MlaaaPUng9C15ULq0dOtUyedUOInpJ
	 I5/ikIIcrH8k3xBJf/g95cgV3PAPTW+iRkgr1vnFpZu9yTOH5f/xlggWnt2Fgt3I2P
	 T+DVDN/TBcZx4IunF7ekXe0AIN5+IOffVXZOyNIfbRCygrelAGU/M2vkeotSZ3NO7D
	 SugwxeDiuOKJ8k7f3c2fEb646KSb4FnJAToLwBh8BZqbflxezEDn1K1ZeERInmccHC
	 oIVm5YyNZI6C9U+fo0FIuhfh/KEOF61sJ/lplzSmbalV4almLOI/wFq8fHjm6biYiI
	 dzHjrRhoX6uSA==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?[RFC=20XEN=20PATCH=20v1]=20xen/public:=20Add=20initial=20files=20for=20PV-IOMMU?=
X-Mailer: git-send-email 2.44.0
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713877177054
To: xen-devel@lists.xenproject.org
Cc: Teddy Astie <teddy.astie@vates.tech>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>
Message-Id: <1cdd746f1af79970f8c7151d23854d33416772e0.1713876394.git.teddy.astie@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.e055206ecdee4a869e4f370c6f8c2059?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240423:md
Date: Tue, 23 Apr 2024 12:59:38 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello,

I am introducing a proposal for a PV-IOMMU hypercall interface.

Some operating systems want to use IOMMU to implement various features (e.g
VFIO) or DMA protection. This proposal aims to provide to guests (notably D=
om0)
a way to access a paravirtualized one.

This proposal is based on what presented on xcp-ng blog [1] with some
notable changes :
 - it is now possible to specify a number of contigous pages to map/unmap,
it replaces the "sub-operation count" parameter of the hypercall that allow=
ed
batching operations but I found it too complex and not really practical
 - it is now possible from the guest to query PV-IOMMU capabilities (max io=
va,
maximum context number, max pages in a single operation)

This patch includes a design document describing the main ideas and a publi=
c
header of the interface to use.

Teddy

---

[1] https://xcp-ng.org/blog/2024/04/18/iommu-paravirtualization-for-xen/

Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: Rahul Singh <rahul.singh@arm.com>

---
 docs/designs/pv-iommu.md      | 105 +++++++++++++++++++++++++++++++
 xen/include/public/pv-iommu.h | 114 ++++++++++++++++++++++++++++++++++
 2 files changed, 219 insertions(+)
 create mode 100644 docs/designs/pv-iommu.md
 create mode 100644 xen/include/public/pv-iommu.h

diff --git a/docs/designs/pv-iommu.md b/docs/designs/pv-iommu.md
new file mode 100644
index 0000000000..c01062a3ad
--- /dev/null
+++ b/docs/designs/pv-iommu.md
@@ -0,0 +1,105 @@
+# IOMMU paravirtualization for Dom0
+
+Status: Experimental
+
+# Background
+
+By default, Xen only uses the IOMMU for itself, either to make device adre=
ss
+space coherent with guest adress space (x86 HVM/PVH) or to prevent devices
+from doing DMA outside it's expected memory regions including the hypervis=
or
+(x86 PV).
+
+A limitation is that guests (especially privildged ones) may want to use
+IOMMU hardware in order to implement features such as DMA protection and
+VFIO [1] as IOMMU functionality is not available outside of the hypervisor
+currently.
+
+[1] VFIO - "Virtual Function I/O" - https://www.kernel.org/doc/html/latest=
/driver-api/vfio.html
+
+# Design
+
+The operating system may want to have access to various IOMMU features suc=
h as
+context management and DMA remapping. We can create a new hypercall that a=
llows
+the guest to have access to a new paravirtualized IOMMU interface.
+
+This feature is only meant to be available for the Dom0, as DomU have some
+emulated devices that can't be managed on Xen side and are not hardware, w=
e
+can't rely on the hardware IOMMU to enforce DMA remapping.
+
+This interface is exposed under the `iommu_op` hypercall.
+
+In addition, Xen domains are modified in order to allow existence of sever=
al
+IOMMU context including a default one that implement default behavior (e.g
+hardware assisted paging) and can't be modified by guest. DomU cannot have
+contexts, and therefore act as if they only have the default domain.
+
+Each IOMMU context within a Xen domain is identified using a domain-specif=
ic
+context number that is used in the Xen IOMMU subsystem and the hypercall
+interface.
+
+The number of IOMMU context a domain can use is predetermined at domain cr=
eation
+and is configurable through `dom0-iommu=3Dnb-ctx=3DN` xen cmdline.
+
+# IOMMU operations
+
+## Alloc context
+
+Create a new IOMMU context for the guest and return the context number to =
the
+guest.
+Fail if the IOMMU context limit of the guest is reached.
+
+A flag can be specified to create a identity mapping.
+
+## Free context
+
+Destroy a IOMMU context created previously.
+It is not possible to free the default context.
+
+Reattach context devices to default context if specified by the guest.
+
+Fail if there is a device in the context and reattach-to-default flag is n=
ot
+specified.
+
+## Reattach device
+
+Reattach a device to another IOMMU context (including the default one).
+The target IOMMU context number must be valid and the context allocated.
+
+The guest needs to specify a PCI SBDF of a device he has access to.
+
+## Map/unmap page
+
+Map/unmap a page on a context.
+The guest needs to specify a gfn and target dfn to map.
+
+Refuse to create the mapping if one already exist for the same dfn.
+
+## Lookup page
+
+Get the gfn mapped by a specific dfn.
+
+# Implementation considerations
+
+## Hypercall batching
+
+In order to prevent unneeded hypercalls and IOMMU flushing, it is advisabl=
e to
+be able to batch some critical IOMMU operations (e.g map/unmap multiple pa=
ges).
+
+## Hardware without IOMMU support
+
+Operating system needs to be aware on PV-IOMMU capability, and whether it =
is
+able to make contexts. However, some operating system may critically fail =
in
+case they are able to make a new IOMMU context. Which is supposed to happe=
n
+if no IOMMU hardware is available.
+
+The hypercall interface needs a interface to advertise the ability to crea=
te
+and manage IOMMU contexts including the amount of context the guest is abl=
e
+to use. Using these informations, the Dom0 may decide whether to use or no=
t
+the PV-IOMMU interface.
+
+## Page pool for contexts
+
+In order to prevent unexpected starving on the hypervisor memory with a
+buggy Dom0. We can preallocate the pages the contexts will use and make
+map/unmap use these pages instead of allocating them dynamically.
+
diff --git a/xen/include/public/pv-iommu.h b/xen/include/public/pv-iommu.h
new file mode 100644
index 0000000000..45f9c44eb1
--- /dev/null
+++ b/xen/include/public/pv-iommu.h
@@ -0,0 +1,114 @@
+/* SPDX-License-Identifier: MIT */
+/*************************************************************************=
*****
+ * pv-iommu.h
+ *
+ * Paravirtualized IOMMU driver interface.
+ *
+ * Copyright (c) 2024 Teddy Astie <teddy.astie@vates.tech>
+ */
+
+#ifndef __XEN_PUBLIC_PV_IOMMU_H__
+#define __XEN_PUBLIC_PV_IOMMU_H__
+
+#include "xen.h"
+#include "physdev.h"
+
+#define IOMMU_DEFAULT_CONTEXT (0)
+
+/**
+ * Query PV-IOMMU capabilities for this domain.
+ */
+#define IOMMUOP_query_capabilities    1
+
+/**
+ * Allocate an IOMMU context, the new context handle will be written to ct=
x_no.
+ */
+#define IOMMUOP_alloc_context         2
+
+/**
+ * Destroy a IOMMU context.
+ * All devices attached to this context are reattached to default context.
+ *
+ * The default context can't be destroyed (0).
+ */
+#define IOMMUOP_free_context          3
+
+/**
+ * Reattach the device to IOMMU context.
+ */
+#define IOMMUOP_reattach_device       4
+
+#define IOMMUOP_map_pages             5
+#define IOMMUOP_unmap_pages           6
+
+/**
+ * Get the GFN associated to a specific DFN.
+ */
+#define IOMMUOP_lookup_page           7
+
+struct pv_iommu_op {
+    uint16_t subop_id;
+    uint16_t ctx_no;
+
+/**
+ * Create a context that is cloned from default.
+ * The new context will be populated with 1:1 mappings covering the entire=
 guest memory.
+ */
+#define IOMMU_CREATE_clone (1 << 0)
+
+#define IOMMU_OP_readable (1 << 0)
+#define IOMMU_OP_writeable (1 << 1)
+    uint32_t flags;
+
+    union {
+        struct {
+            uint64_t gfn;
+            uint64_t dfn;
+            /* Number of pages to map */
+            uint32_t nr_pages;
+            /* Number of pages actually mapped after sub-op */
+            uint32_t mapped;
+        } map_pages;
+
+        struct {
+            uint64_t dfn;
+            /* Number of pages to unmap */
+            uint32_t nr_pages;
+            /* Number of pages actually unmapped after sub-op */
+            uint32_t unmapped;
+        } unmap_pages;
+
+        struct {
+            struct physdev_pci_device dev;
+        } reattach_device;
+
+        struct {
+            uint64_t gfn;
+            uint64_t dfn;
+        } lookup_page;
+
+        struct {
+            /* Maximum number of IOMMU context this domain can use. */
+            uint16_t max_ctx_no;
+            /* Maximum number of pages that can be modified in a single ma=
p/unmap operation. */
+            uint32_t max_nr_pages;
+            /* Maximum device address (iova) that the guest can use for ma=
ppings. */
+            uint64_t max_iova_addr;
+        } cap;
+    };
+};
+
+typedef struct pv_iommu_op pv_iommu_op_t;
+DEFINE_XEN_GUEST_HANDLE(pv_iommu_op_t);
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
\ No newline at end of file
-- 
2.44.0



Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:13:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:13:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710598.1109889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxa-0001fL-5g; Tue, 23 Apr 2024 13:13:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710598.1109889; Tue, 23 Apr 2024 13:13:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxa-0001fC-2W; Tue, 23 Apr 2024 13:13:22 +0000
Received: by outflank-mailman (input) for mailman id 710598;
 Tue, 23 Apr 2024 13:13: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=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzFxY-0001Ql-Cg
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:13:20 +0000
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com
 [2607:f8b0:4864:20::829])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40d951de-0173-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 15:13:19 +0200 (CEST)
Received: by mail-qt1-x829.google.com with SMTP id
 d75a77b69052e-434b7ab085fso50736251cf.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:13:19 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 k9-20020ae9f109000000b0078ede0c25b5sm5234661qkg.23.2024.04.23.06.13.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 06:13: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: 40d951de-0173-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713877998; x=1714482798; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AWzQEAY3+mRxGCxTU/L7ZP7N4fVla4pSUQMtUwXNBIc=;
        b=GB51zKb55YPQuBb9qfcLP3xYfJElaUEglftDEjQsm+KEqwhLbX0Q9THXHF8VOKin0b
         6rogT6Kf1kJ7CjQmRZgKWlotTCmEhWoKl2kZzAPG+Qy7PRLMPAbtHO92KMEh1s15tp1N
         7Q4uaUdKK8MpA1+zweTf0jK4OK17TSAdbP5Dc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713877998; x=1714482798;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=AWzQEAY3+mRxGCxTU/L7ZP7N4fVla4pSUQMtUwXNBIc=;
        b=WXkeDnCPYzgj07/MczYV0e2U3P4Ocmd+o1YRdPWoROCPC1oS8uH/savvXCjXZiMqtg
         ajgyjETfhq3HgZ/0Di3hN2/YggIh4/HDNoqakIDmq+2JE/m/SNEqzvUvzH7lDxiUj+9A
         CeimAtHjdKCLz5a150RFFx6c2EyDhd+OseOsyigiZeaaGDLAS4T6VSKguHsYOoj+dpuN
         i2lCK6HnicMx1ZOI1/6utDj+tpFqCYIwYIY5oKjIsMnEm4yL1lwmiBuziNg5Qg2iIIGF
         XiYZyQR8W2/zivHDT65CttyRwX06zYs95O8/03c321aq0AUCOgD34NDA/YoErmr9MFg2
         /gxg==
X-Gm-Message-State: AOJu0YwUnnQ9xDTf0JYGjKQVK+mLs+T3W/yzZ/0CJWrNxzJLGZH29ok5
	th0GOh4rTb35ZemlGowWZecgnYqwVa6BvmwPNimAnSa37UVou9aIyBBAKfrOLW4uNQagLQDrs1j
	X
X-Google-Smtp-Source: AGHT+IH8/0GmzJT9k5cmoveTat6xn7RbsFozxi2zmE+Id+1FEtfN9/wbYP9a1twjJcLlNGFBULEoJQ==
X-Received: by 2002:a05:622a:11c1:b0:439:e95e:5dd0 with SMTP id n1-20020a05622a11c100b00439e95e5dd0mr4185303qtk.1.1713877997922;
        Tue, 23 Apr 2024 06:13:17 -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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v3 1/4] xen-livepatch: fix parameter name parsing
Date: Tue, 23 Apr 2024 15:12:46 +0200
Message-ID: <20240423131249.29825-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240423131249.29825-1-roger.pau@citrix.com>
References: <20240423131249.29825-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It's incorrect to restrict strncmp to the length of the command line input
parameter, as then a user passing a rune like:

% xen-livepatch up foo.livepatch

Would match against the "upload" command, because the string comparison has
been truncated to the length of the input argument.  Instead the truncation
should be done based on the length of the command name stored in the internal
array of actions.

Fixes: 05bb8afedede ('xen-xsplice: Tool to manipulate xsplice payloads')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 tools/misc/xen-livepatch.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index 5bf9d9a32b65..a246e5dfd38e 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -572,13 +572,15 @@ int main(int argc, char *argv[])
         return 0;
     }
     for ( i = 0; i < ARRAY_SIZE(main_options); i++ )
-        if (!strncmp(main_options[i].name, argv[1], strlen(argv[1])))
+        if (!strncmp(main_options[i].name, argv[1],
+                     strlen(main_options[i].name)))
             break;
 
     if ( i == ARRAY_SIZE(main_options) )
     {
         for ( j = 0; j < ARRAY_SIZE(action_options); j++ )
-            if (!strncmp(action_options[j].name, argv[1], strlen(argv[1])))
+            if (!strncmp(action_options[j].name, argv[1],
+                         strlen(action_options[j].name)))
                 break;
 
         if ( j == ARRAY_SIZE(action_options) )
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:13:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:13:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710597.1109878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxX-0001Qy-VE; Tue, 23 Apr 2024 13:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710597.1109878; Tue, 23 Apr 2024 13:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxX-0001Qr-Sc; Tue, 23 Apr 2024 13:13:19 +0000
Received: by outflank-mailman (input) for mailman id 710597;
 Tue, 23 Apr 2024 13:13:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzFxW-0001Ql-Fz
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:13:18 +0000
Received: from mail-oi1-x231.google.com (mail-oi1-x231.google.com
 [2607:f8b0:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f6dc09e-0173-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 15:13:17 +0200 (CEST)
Received: by mail-oi1-x231.google.com with SMTP id
 5614622812f47-3c749aa444fso2428552b6e.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:13:17 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 fp29-20020a05622a509d00b004364fd7a9d9sm5175578qtb.58.2024.04.23.06.13.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 06:13: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: 3f6dc09e-0173-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713877995; x=1714482795; 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=5fQ3V5m3BXitveyTx5JgYokFkwajR8qNfhkyRASExvQ=;
        b=VxA/JNGv2xDzgqZ/QE6keRFy2TC6wu/gZokJWck3b/8WZVlt2cVJH03By1qEiBMs9B
         shDnPj1Yuok/k2kiHGkV6xWYKS8sWlbWMgX/WEMaEIkzuF6hsL+yxYJDu5163Aqcsbvh
         8Orpo1dJ7X3lU+NAwQt6NizpJdGYj3pf/YLoU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713877995; x=1714482795;
        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=5fQ3V5m3BXitveyTx5JgYokFkwajR8qNfhkyRASExvQ=;
        b=FRC/xkg2I5z379V3jDjwukAESbWsTbt02C/ZRPdNbMBIhrvo1cno9iX5LH1OWJ94Ox
         KJUlx1ckLycEoR0VJpCC8goWDrPnMckrEjqNNJiqMobBnowrHY9CjJTKJeHppfjeodd6
         enC8BWlFIW/HdSey1Tq73qR0cQk0kdqqYMuviowDufjhNYCSwpfSCIA0Nuz/I28KaWvd
         mWWng4gU6VrBKPgof8lLZ/OQYONxYzVCA/FWTuHzE8O/ooxccGwTW/xj89mL1TgA3z7V
         mknEfbePRMQrVLI5n1tsEQ/zucx7E2SZGAc1HF8yRH8CU506ahgJz5+dLKZ4YoSeYqZR
         QO0g==
X-Gm-Message-State: AOJu0YzaoG19ON9I4bHo5HnAguN+Iiru3lcFkK59QMgknCcl2/cKktl3
	OE3FWBSQ7B/WPL2jaKBPZPJtj+1B0rX+GjN0aK5pFy7FWAB2bTZWu9AhZy8WbnkWqE8LzNN03Tk
	z
X-Google-Smtp-Source: AGHT+IEWLRPDKvoT0RUdgAwrehlmrwonvSD27AsiGGMOjRtVYr/Z0sHimA3ZUkcTtwvLydaUU65crw==
X-Received: by 2002:a05:6808:2125:b0:3c8:329d:e557 with SMTP id r37-20020a056808212500b003c8329de557mr5613992oiw.14.1713877995618;
        Tue, 23 Apr 2024 06:13:15 -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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 0/4] livepatch: minor bug fixes and improvements
Date: Tue, 23 Apr 2024 15:12:45 +0200
Message-ID: <20240423131249.29825-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Following series contain some minor bugfixes and improvements for
livepatch logic, both inside the hypervisor and on the command line
tool.

Thanks, Roger.

Roger Pau Monne (4):
  xen-livepatch: fix parameter name parsing
  livepatch: introduce --force option
  livepatch: refuse to resolve symbols that belong to init sections
  x86/livepatch: perform sanity checks on the payload exception table
    contents

 tools/include/xenctrl.h            |  3 ++-
 tools/libs/ctrl/xc_misc.c          |  7 +++----
 tools/misc/xen-livepatch.c         | 27 +++++++++++++++++++++++----
 xen/arch/x86/extable.c             | 18 ++++++++++++++++++
 xen/arch/x86/include/asm/uaccess.h |  4 ++++
 xen/common/livepatch.c             | 25 +++++++++++++++++++------
 xen/common/livepatch_elf.c         | 18 +++++++++++++++++-
 xen/include/public/sysctl.h        |  4 +++-
 xen/include/xen/livepatch_elf.h    |  2 +-
 9 files changed, 90 insertions(+), 18 deletions(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:13:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710599.1109899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxb-0001uC-ES; Tue, 23 Apr 2024 13:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710599.1109899; Tue, 23 Apr 2024 13:13:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxb-0001u5-AW; Tue, 23 Apr 2024 13:13:23 +0000
Received: by outflank-mailman (input) for mailman id 710599;
 Tue, 23 Apr 2024 13:13:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzFxa-0001Ql-Rw
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:13:22 +0000
Received: from mail-qv1-xf2e.google.com (mail-qv1-xf2e.google.com
 [2607:f8b0:4864:20::f2e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42435226-0173-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 15:13:22 +0200 (CEST)
Received: by mail-qv1-xf2e.google.com with SMTP id
 6a1803df08f44-69943ef42b2so35071576d6.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:13:22 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 j13-20020a0c9ccd000000b00696ae38c7bfsm1873408qvf.35.2024.04.23.06.13.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 06: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: 42435226-0173-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713878000; x=1714482800; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9lVrOUiErpOt1x6JV3axiTLKkLJOBS6S5d/ZUHk5bIc=;
        b=BnRAAg28kJD6rteH7YK1NqkGnUaajHjAYnaE4CtlzV9DSTqBKFyDDb4l5fgLJxZQrx
         +uS8SPafIvRHJfnHjUgK7R2Ak23RkD3k4IpXxInLLV/8M/30vD6nn5TozPMT22wXlCPk
         r+czaBPH+e6pbDOr/EetIuSzrrPHfJ2fpNPDc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713878000; x=1714482800;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9lVrOUiErpOt1x6JV3axiTLKkLJOBS6S5d/ZUHk5bIc=;
        b=d0ZRIUXKLcbHwsdxSlcUrI2RzqC20BwzlC9JKzhycnpErFo8Uu9gUI7C4ETLHHPUnB
         evCUgoT7/r68wMncgfRsdmoLz/OWhswoTmh5IbniKFpe6J00MpdjT9uGgF9TIFc/egVq
         kfkQ3gHCEDS5bx1ZiGoDwEHR1rzAXVbC6nF0lGm4XnbYsXr9V3eOWK4BzyBnala/yp9o
         BS8j+qdWcV8h0Hu5kjT87Sp+FDsl0LoGTQ1gGGv9ZKO59agEHREd84ThBXrRQpmscy75
         2cbuBbkdPCldkPWGe3FzhfbEFs8dy7pWxlZWz/NOIbnMgiBbMEi/waar7UihWm+OJ05+
         D9SA==
X-Gm-Message-State: AOJu0YxirbD6C1xCZttljN5Gesso1RnsWf64koCnC1HTgByrzs3Fldgj
	l0kiJV8jRsxitl+bSuZQ9sZsCPR3TpH/aXL/42x9GzNE2zJbK7+HMvqAZfY7wXUOgN/ijIiJ4zE
	k
X-Google-Smtp-Source: AGHT+IGbE3VkQVmviVP1Axw9WTZGVRmI92gcwDwQiFszisQYYKjsnxydqejs4/D22QWc6TiW++s36Q==
X-Received: by 2002:ad4:44a1:0:b0:6a0:49d5:c4fb with SMTP id n1-20020ad444a1000000b006a049d5c4fbmr13419031qvt.31.1713878000330;
        Tue, 23 Apr 2024 06:13:20 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v3 2/4] livepatch: introduce --force option
Date: Tue, 23 Apr 2024 15:12:47 +0200
Message-ID: <20240423131249.29825-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240423131249.29825-1-roger.pau@citrix.com>
References: <20240423131249.29825-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a xen-livepatch tool --force option, that's propagated into the
hyerpvisor for livepatch operations.  The intention is for the option to be
used to bypass some checks that would otherwise prevent the patch from being
loaded.

Re purpose the pad field in xen_sysctl_livepatch_op to be a flags field that
applies to all livepatch operations.  The flag is currently only set by the
hypercall wrappers for the XEN_SYSCTL_LIVEPATCH_UPLOAD operation, as that's so
far the only one where it will be used initially.  Other uses can be added as
required.

Note that helpers would set the .pad field to 0, that's been removed since the
structure is already zero initialized at definition.

No functional usages of the new flag introduced in this patch.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 tools/include/xenctrl.h     |  3 ++-
 tools/libs/ctrl/xc_misc.c   |  7 +++----
 tools/misc/xen-livepatch.c  | 21 +++++++++++++++++++--
 xen/common/livepatch.c      |  3 ++-
 xen/include/public/sysctl.h |  4 +++-
 5 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e05422..499685594427 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2555,7 +2555,8 @@ int xc_psr_get_hw_info(xc_interface *xch, uint32_t socket,
 #endif
 
 int xc_livepatch_upload(xc_interface *xch,
-                        char *name, unsigned char *payload, uint32_t size);
+                        char *name, unsigned char *payload, uint32_t size,
+                        bool force);
 
 int xc_livepatch_get(xc_interface *xch,
                      char *name,
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 5ecdfa2c7934..50282fd60dcc 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -576,7 +576,8 @@ int xc_getcpuinfo(xc_interface *xch, int max_cpus,
 int xc_livepatch_upload(xc_interface *xch,
                         char *name,
                         unsigned char *payload,
-                        uint32_t size)
+                        uint32_t size,
+                        bool force)
 {
     int rc;
     struct xen_sysctl sysctl = {};
@@ -612,7 +613,7 @@ int xc_livepatch_upload(xc_interface *xch,
 
     sysctl.cmd = XEN_SYSCTL_livepatch_op;
     sysctl.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_UPLOAD;
-    sysctl.u.livepatch.pad = 0;
+    sysctl.u.livepatch.flags = force ? LIVEPATCH_FLAG_FORCE : 0;
     sysctl.u.livepatch.u.upload.size = size;
     set_xen_guest_handle(sysctl.u.livepatch.u.upload.payload, local);
 
@@ -656,7 +657,6 @@ int xc_livepatch_get(xc_interface *xch,
 
     sysctl.cmd = XEN_SYSCTL_livepatch_op;
     sysctl.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_GET;
-    sysctl.u.livepatch.pad = 0;
 
     sysctl.u.livepatch.u.get.status.state = 0;
     sysctl.u.livepatch.u.get.status.rc = 0;
@@ -985,7 +985,6 @@ static int _xc_livepatch_action(xc_interface *xch,
 
     sysctl.cmd = XEN_SYSCTL_livepatch_op;
     sysctl.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_ACTION;
-    sysctl.u.livepatch.pad = 0;
     sysctl.u.livepatch.u.action.cmd = action;
     sysctl.u.livepatch.u.action.timeout = timeout;
     sysctl.u.livepatch.u.action.flags = flags;
diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index a246e5dfd38e..cf2e5fada12d 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -19,11 +19,15 @@
 
 static xc_interface *xch;
 
+/* Global option to disable checks. */
+static bool force;
+
 void show_help(void)
 {
     fprintf(stderr,
             "xen-livepatch: live patching tool\n"
-            "Usage: xen-livepatch <command> [args] [command-flags]\n"
+            "Usage: xen-livepatch [--force] <command> [args] [command-flags]\n"
+            " Use --force option to bypass some checks.\n"
             " <name> An unique name of payload. Up to %d characters.\n"
             "Commands:\n"
             "  help                   display this help\n"
@@ -240,7 +244,7 @@ static int upload_func(int argc, char *argv[])
         return saved_errno;
     }
     printf("Uploading %s... ", filename);
-    rc = xc_livepatch_upload(xch, name, fbuf, len);
+    rc = xc_livepatch_upload(xch, name, fbuf, len, force);
     if ( rc )
     {
         rc = errno;
@@ -571,6 +575,19 @@ int main(int argc, char *argv[])
         show_help();
         return 0;
     }
+
+    if ( !strncmp("--force", argv[1], strlen("--force")) )
+    {
+        if ( argc <= 2 )
+        {
+            show_help();
+            return EXIT_FAILURE;
+        }
+        force = true;
+        argv++;
+        argc--;
+    }
+
     for ( i = 0; i < ARRAY_SIZE(main_options); i++ )
         if (!strncmp(main_options[i].name, argv[1],
                      strlen(main_options[i].name)))
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 351a3e0b9a60..1503a84457e4 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -2125,7 +2125,8 @@ int livepatch_op(struct xen_sysctl_livepatch_op *livepatch)
 {
     int rc;
 
-    if ( livepatch->pad )
+    if ( livepatch->flags & ~LIVEPATCH_FLAGS_MASK &&
+         !(livepatch->flags & LIVEPATCH_FLAG_FORCE) )
         return -EINVAL;
 
     switch ( livepatch->cmd )
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 9b19679caeb1..febaa4b16ab7 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1139,7 +1139,9 @@ struct xen_sysctl_livepatch_action {
 
 struct xen_sysctl_livepatch_op {
     uint32_t cmd;                           /* IN: XEN_SYSCTL_LIVEPATCH_*. */
-    uint32_t pad;                           /* IN: Always zero. */
+    uint32_t flags;                         /* IN, flags. */
+#define LIVEPATCH_FLAG_FORCE      (1u << 0) /* Skip some checks. */
+#define LIVEPATCH_FLAGS_MASK      LIVEPATCH_FLAG_FORCE
     union {
         struct xen_sysctl_livepatch_upload upload;
         struct xen_sysctl_livepatch_list list;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:13:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:13:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710600.1109908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxg-0002Dw-Lb; Tue, 23 Apr 2024 13:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710600.1109908; Tue, 23 Apr 2024 13: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 1rzFxg-0002Dl-Ix; Tue, 23 Apr 2024 13:13:28 +0000
Received: by outflank-mailman (input) for mailman id 710600;
 Tue, 23 Apr 2024 13: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=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzFxf-0002Bv-PI
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:13:27 +0000
Received: from mail-qv1-xf2c.google.com (mail-qv1-xf2c.google.com
 [2607:f8b0:4864:20::f2c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43cd262a-0173-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 15:13:24 +0200 (CEST)
Received: by mail-qv1-xf2c.google.com with SMTP id
 6a1803df08f44-6a06b12027cso29247336d6.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:13:24 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 w9-20020a0ca809000000b00696b1050be8sm4054360qva.133.2024.04.23.06.13.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 06: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: 43cd262a-0173-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713878003; x=1714482803; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zAW+pmvPvQM6t7OJF1VqQVrXJwKICgDo4XoYwqWkiAY=;
        b=Fkw0k+NtCTDpYMDw254y1OnrywcJt63/iu4Zgd7SkjzhgiMga/IzQsK5u/qhiGEMge
         X5TXlJqPXr5erXpGt3KCS8THf2Pxs1IC+8Zy1XsfdP+sFB6M9fH/HhlSFhH8E4K4T6TJ
         P7biJaqgCtBKlnnuwuCbLzyEqrYv+zCz4BrI8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713878003; x=1714482803;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zAW+pmvPvQM6t7OJF1VqQVrXJwKICgDo4XoYwqWkiAY=;
        b=UWrzg56NATDdCFABrFQfCwyEClR674fjEBeVdOT7mCIJKT6Cr1n3N9dP9iJAbidlaS
         bCc+YbPiR1umaNDj6uDUoXjLfdwM3MFZEXIRbBPEfmuQkx44ML+PbRJDKYb9+Ci3sIkp
         WpRnjD5RZ93fRbJu89wvOnr9nCEzsnPKR174AwYJ3MM4ZI/b5Cw2PAGrZeZ2Gjr8nKeB
         IBCy9mr7/cr9Vj2Jwc9rxZgLs1YcHJqmoO0gX7qhhI25uxLMhYz8zyvRAjwgC73v3+p1
         a/uIAgeM0gC+duLdKgQvhcH6q2pfJiy4d+qBKhaLt+P2akPxbjxLtaLoGi511VLrgk8s
         5Dog==
X-Gm-Message-State: AOJu0YzWPt4yA0PV0twWmrGolB1xiHb0gQt91MBycJ2hXynjCozIxOiP
	JB0cLh0yo7pjizqSn5ia3qxhJv90JSjvow4C5WJ9NRV182bLztwnNcb3mPjE+tU3LsP/VNyPvGe
	u
X-Google-Smtp-Source: AGHT+IF/pz23x1VIORoM+H0lMBL+JfXwTpozuDwRz/BpbBd0BgcVEMlCQZbSMNrneqacUV4Xff7xxg==
X-Received: by 2002:ad4:5aa3:0:b0:69c:b559:547d with SMTP id u3-20020ad45aa3000000b0069cb559547dmr4971963qvg.25.1713878002905;
        Tue, 23 Apr 2024 06:13:22 -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/4] livepatch: refuse to resolve symbols that belong to init sections
Date: Tue, 23 Apr 2024 15:12:48 +0200
Message-ID: <20240423131249.29825-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240423131249.29825-1-roger.pau@citrix.com>
References: <20240423131249.29825-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Livepatch payloads containing symbols that belong to init sections can only
lead to page faults later on, as by the time the livepatch is loaded init
sections have already been freed.

Refuse to resolve such symbols and return an error instead.

Note such resolutions are only relevant for symbols that point to undefined
sections (SHN_UNDEF), as that implies the symbol is not in the current payload
and hence must either be a Xen or a different livepatch payload symbol.

Do not allow to resolve symbols that point to __init_begin, as that address is
also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
resolutions against it.

Since __init_begin can alias other symbols (like _erodata for example)
allow the force flag to override the check and resolve the symbol anyway.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Allow bypassing added check with the force flag.

Changes since v1:
 - Fix off-by-one in range checking.
---
 xen/common/livepatch.c          | 13 ++++++++-----
 xen/common/livepatch_elf.c      | 18 +++++++++++++++++-
 xen/include/xen/livepatch_elf.h |  2 +-
 3 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 1503a84457e4..36cf4bee8b8a 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -1080,7 +1080,8 @@ static void free_payload(struct payload *data)
     xfree(data);
 }
 
-static int load_payload_data(struct payload *payload, void *raw, size_t len)
+static int load_payload_data(struct payload *payload, void *raw, size_t len,
+                             bool force)
 {
     struct livepatch_elf elf = { .name = payload->name, .len = len };
     int rc = 0;
@@ -1093,7 +1094,7 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
-    rc = livepatch_elf_resolve_symbols(&elf);
+    rc = livepatch_elf_resolve_symbols(&elf, force);
     if ( rc )
         goto out;
 
@@ -1133,7 +1134,8 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     return rc;
 }
 
-static int livepatch_upload(struct xen_sysctl_livepatch_upload *upload)
+static int livepatch_upload(struct xen_sysctl_livepatch_upload *upload,
+                            bool force)
 {
     struct payload *data, *found;
     char n[XEN_LIVEPATCH_NAME_SIZE];
@@ -1162,7 +1164,7 @@ static int livepatch_upload(struct xen_sysctl_livepatch_upload *upload)
     {
         memcpy(data->name, n, strlen(n));
 
-        rc = load_payload_data(data, raw_data, upload->size);
+        rc = load_payload_data(data, raw_data, upload->size, force);
         if ( rc )
             goto out;
 
@@ -2132,7 +2134,8 @@ int livepatch_op(struct xen_sysctl_livepatch_op *livepatch)
     switch ( livepatch->cmd )
     {
     case XEN_SYSCTL_LIVEPATCH_UPLOAD:
-        rc = livepatch_upload(&livepatch->u.upload);
+        rc = livepatch_upload(&livepatch->u.upload,
+                              livepatch->flags & LIVEPATCH_FLAG_FORCE);
         break;
 
     case XEN_SYSCTL_LIVEPATCH_GET:
diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
index 45d73912a3cd..0436f2d5fcbd 100644
--- a/xen/common/livepatch_elf.c
+++ b/xen/common/livepatch_elf.c
@@ -4,6 +4,7 @@
 
 #include <xen/errno.h>
 #include <xen/lib.h>
+#include <xen/sections.h>
 #include <xen/symbols.h>
 #include <xen/livepatch_elf.h>
 #include <xen/livepatch.h>
@@ -276,7 +277,7 @@ static int elf_get_sym(struct livepatch_elf *elf, const void *data)
     return 0;
 }
 
-int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
+int livepatch_elf_resolve_symbols(struct livepatch_elf *elf, bool force)
 {
     unsigned int i;
     int rc = 0;
@@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
                     break;
                 }
             }
+
+            /*
+             * Ensure not an init symbol.  Only applicable to Xen symbols, as
+             * livepatch payloads don't have init sections or equivalent.
+             */
+            else if ( st_value >= (uintptr_t)&__init_begin &&
+                      st_value <  (uintptr_t)&__init_end && !force )
+            {
+                printk(XENLOG_ERR LIVEPATCH
+                       "%s: symbol %s is in init section, not resolving\n",
+                       elf->name, elf->sym[i].name);
+                rc = -ENXIO;
+                break;
+            }
+
             dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Undefined symbol resolved: %s => %#"PRIxElfAddr"\n",
                     elf->name, elf->sym[i].name, st_value);
             break;
diff --git a/xen/include/xen/livepatch_elf.h b/xen/include/xen/livepatch_elf.h
index 7116deaddc28..84e9c5eb7be5 100644
--- a/xen/include/xen/livepatch_elf.h
+++ b/xen/include/xen/livepatch_elf.h
@@ -44,7 +44,7 @@ livepatch_elf_sec_by_name(const struct livepatch_elf *elf,
 int livepatch_elf_load(struct livepatch_elf *elf, const void *data);
 void livepatch_elf_free(struct livepatch_elf *elf);
 
-int livepatch_elf_resolve_symbols(struct livepatch_elf *elf);
+int livepatch_elf_resolve_symbols(struct livepatch_elf *elf, bool force);
 int livepatch_elf_perform_relocs(struct livepatch_elf *elf);
 
 static inline bool livepatch_elf_ignore_section(const Elf_Shdr *sec)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:13:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:13:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710601.1109919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzFxh-0002Tu-Vy; Tue, 23 Apr 2024 13:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710601.1109919; Tue, 23 Apr 2024 13: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 1rzFxh-0002Tl-SV; Tue, 23 Apr 2024 13:13:29 +0000
Received: by outflank-mailman (input) for mailman id 710601;
 Tue, 23 Apr 2024 13: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=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzFxg-0002Bv-L1
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:13:28 +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 4515543e-0173-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 15:13:27 +0200 (CEST)
Received: by mail-oa1-x32.google.com with SMTP id
 586e51a60fabf-23319017c4cso3589291fac.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:13:27 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 wl20-20020a05620a57d400b0078ec846066fsm5232607qkn.7.2024.04.23.06.13.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 06: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: 4515543e-0173-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713878005; x=1714482805; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ltxaBFTJztn56Gj0rvozRmGOtEvpUWdcCGzbpKGl1aA=;
        b=U5ELi145Z1UiFRwVOAxeZOOJKZnpHqSdUteUZ0h/D5mFtDhHW4dv2k1xY8Z/ALuKVQ
         zA1/0pgZMiMRbhMwZZSJz047aL90qUB5qaisf9VPs59lu7vGKNo1RGInQJ8vF7E1Vykn
         zqPfuKl23zQJDy21W9O4KpxQP/hHG2fWltBMM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713878005; x=1714482805;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ltxaBFTJztn56Gj0rvozRmGOtEvpUWdcCGzbpKGl1aA=;
        b=TpVlxLHAMAE8XBjH3LMXtPcS1+niv38Cq4IuwrOb4pIeZ8pSMQp8dAfEQWjDBbsrnx
         INauZB2ROumOWcNlwtQwSvj7j0oAd7BcEqWw5ojU2n8wZ1stYyeqU4CuoTN6RP23fNAK
         WwmkmZ1SLkzfnxpGqH1t9ymv/xFRQLVO1Mt6IDsrGAFbs6LAQliwFzrpwTZw/szs4hG/
         tOTGo+8JK72yV5wbAE5swcvJwbAHzCP9K/xftCP/Qj0FdbUAFRQp6LoOPRYlmbVcq/D8
         epw3ZwSn3ZlrQo38ibbPbwdmwWNmpzTk1F7Cag1hXa9xpCQRZJga0wL0VpxfsmnmyLhX
         5v3A==
X-Gm-Message-State: AOJu0YxrGZSPDH/RPFm1uoq2yTrEXbkcZCiog9krecbEVz85gaxGZg+8
	otkcSfDI8v9D02M68pHxc3HYGYxwfYpxrdLxmyKvueTl93MfyAhFX5ylzld3dUM2zNmMgOBeXPh
	x
X-Google-Smtp-Source: AGHT+IGzgYuYJsC+Pa5n306mOLAuD9o831fD7pohs4qVzhEmBwNtlnur1k4ygK0/dzHUTAI7xP9zBQ==
X-Received: by 2002:a05:6870:4309:b0:22e:9125:eade with SMTP id w9-20020a056870430900b0022e9125eademr16010630oah.44.1713878005051;
        Tue, 23 Apr 2024 06:13:25 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v3 4/4] x86/livepatch: perform sanity checks on the payload exception table contents
Date: Tue, 23 Apr 2024 15:12:49 +0200
Message-ID: <20240423131249.29825-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240423131249.29825-1-roger.pau@citrix.com>
References: <20240423131249.29825-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ensure the entries of a payload exception table only apply to text regions in
the payload itself.  Since the payload exception table needs to be loaded and
active even before a patch is applied (because hooks might already rely on it),
make sure the exception table (if any) only contains fixups for the payload
text section.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 xen/arch/x86/extable.c             | 18 ++++++++++++++++++
 xen/arch/x86/include/asm/uaccess.h |  4 ++++
 xen/common/livepatch.c             |  9 +++++++++
 3 files changed, 31 insertions(+)

diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index 8415cd1fa249..9e91e8234e71 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -228,3 +228,21 @@ unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs)
     }
     return fixup;
 }
+
+#ifdef CONFIG_LIVEPATCH
+bool extable_is_between_bounds(const struct exception_table_entry *ex_start,
+                               const struct exception_table_entry *ex_end,
+                               const void *start, const void *end)
+{
+    for ( ; ex_start < ex_end; ex_start++ )
+    {
+        const void *addr = (void *)ex_addr(ex_start);
+        const void *cont = (void *)ex_cont(ex_start);
+
+        if ( addr < start || addr >= end || cont < start || cont >= end )
+            return false;
+    }
+
+    return true;
+}
+#endif
diff --git a/xen/arch/x86/include/asm/uaccess.h b/xen/arch/x86/include/asm/uaccess.h
index 48b684c19d44..0dad61e21a9c 100644
--- a/xen/arch/x86/include/asm/uaccess.h
+++ b/xen/arch/x86/include/asm/uaccess.h
@@ -426,5 +426,9 @@ extern unsigned long search_exception_table(const struct cpu_user_regs *regs,
 extern void sort_exception_tables(void);
 extern void sort_exception_table(struct exception_table_entry *start,
                                  const struct exception_table_entry *stop);
+extern bool extable_is_between_bounds(
+    const struct exception_table_entry *ex_start,
+    const struct exception_table_entry *ex_end,
+    const void *start, const void *end);
 
 #endif /* __X86_UACCESS_H__ */
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 36cf4bee8b8a..67b6815d87ac 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -912,6 +912,15 @@ static int prepare_payload(struct payload *payload,
         s = sec->load_addr;
         e = sec->load_addr + sec->sec->sh_size;
 
+        if ( !extable_is_between_bounds(s, e, payload->text_addr,
+                payload->text_addr + payload->text_size) )
+        {
+            printk(XENLOG_ERR LIVEPATCH
+                   "%s: Invalid exception table with out of bounds entries\n",
+                   elf->name);
+            return -EINVAL;
+        }
+
         sort_exception_table(s ,e);
 
         region->ex = s;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:17:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:17:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710618.1109928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzG20-0004t8-JN; Tue, 23 Apr 2024 13:17:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710618.1109928; Tue, 23 Apr 2024 13:17: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 1rzG20-0004t0-Gn; Tue, 23 Apr 2024 13:17:56 +0000
Received: by outflank-mailman (input) for mailman id 710618;
 Tue, 23 Apr 2024 13:17:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzG1y-0004su-Oh
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:17:54 +0000
Received: from mail-qv1-xf31.google.com (mail-qv1-xf31.google.com
 [2607:f8b0:4864:20::f31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e39531cc-0173-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 15:17:52 +0200 (CEST)
Received: by mail-qv1-xf31.google.com with SMTP id
 6a1803df08f44-69b10ead8f5so26264596d6.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:17:52 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 y8-20020a0cf148000000b0069f50e7ff97sm5074774qvl.66.2024.04.23.06.17.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 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: e39531cc-0173-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713878272; x=1714483072; 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=yDX83FgAr60/9de5LLGiMoa8w3wfLD3jNncQ+AANivM=;
        b=PDxydT+oGZQE71g/6siED4rY0SxP6L+IO4NLoJsSifvTDdfpsUQLLwvRK+qKISv/vF
         pZCEAjUU+wctMlWnjDOmysTJ2nlYuXZ0TXMGXg/ZBg3sEEDE8ShsYBPSDOpZZNXaEu0h
         0g3ZJ5QA3AdQUJBjWfRcBW/35KZQ89xAMau5o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713878272; x=1714483072;
        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=yDX83FgAr60/9de5LLGiMoa8w3wfLD3jNncQ+AANivM=;
        b=R2XA901hPi4VvYocara0sx/pdVZsnT2O5ppxsC26SHCsI8nuTLhPw9YJUk1ov0nBAb
         d51yPpPRijnO3u7OGzVpuCOYGzLgbGmK5o2I/6z93wFa1f4+ueM2OiXxam2uBCPHo8v2
         x0yR+nKc7MmKB7qLgoxLa999LO6GkwQHCTSZQebii6WCosW+gBr3mJP5bNv9L1SHMs6c
         6WVRp2hS5TbnmItQZ3h8vpBvot7MJvPPghkovuO34Qco9+aMdPphZ1jrtAhjWUiyYwhX
         sbQ5O9T3a4dMmqWyvInxLX4N2PBPSU3CJeVgr37bj9o8iXx3+xgSiK3ZcWRhBj4Ar5si
         7hKA==
X-Forwarded-Encrypted: i=1; AJvYcCXZukYwtWLkO6qOCyRh9aVhDp+60W5x2ciiaFpFdVuO9EnmmMIm1IzGuA+FPvh/gN1L+eFeFWi8J+5DMWodx5Cm4b77H3ryyjeZLRUa8gM=
X-Gm-Message-State: AOJu0YwHbkq48AvrtryiytEYq6ZL8qTL31z6fFnq23bQJZzMF7kdOPXw
	V01KxMZf2VwQ4ekZxMpJmHv+s0+yTsTu6xJUoCRkE3kanuKF0RNN0gw9ISXoIbg=
X-Google-Smtp-Source: AGHT+IE53Rniz5NZZsq9oUJZTIWXuipZ71axpyh83PTOhHQ1yvlZTvGJ9R5Z4FxkkxCJKjyIE9PAaw==
X-Received: by 2002:a05:6214:a83:b0:6a0:5221:fe04 with SMTP id ev3-20020a0562140a8300b006a05221fe04mr12192669qvb.2.1713878271693;
        Tue, 23 Apr 2024 06:17:51 -0700 (PDT)
Date: Tue, 23 Apr 2024 15:17:49 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/2] xen: introduce header file with section related
 symbols
Message-ID: <Zie0_SLfkPGgiPHR@macbook>
References: <20240419100217.12072-1-roger.pau@citrix.com>
 <20240419100217.12072-2-roger.pau@citrix.com>
 <94da8512-2a02-4109-90f5-627715e48f1e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <94da8512-2a02-4109-90f5-627715e48f1e@suse.com>

On Tue, Apr 23, 2024 at 02:25:16PM +0200, Jan Beulich wrote:
> On 19.04.2024 12:02, Roger Pau Monne wrote:
> Then I wonder why it was this rather than ...
> 
> > --- a/xen/arch/x86/setup.c
> > +++ b/xen/arch/x86/setup.c
> > @@ -5,6 +5,7 @@
> >  #include <xen/param.h>
> >  #include <xen/sched.h>
> >  #include <xen/domain.h>
> > +#include <xen/sections.h>
> >  #include <xen/serial.h>
> >  #include <xen/softirq.h>
> >  #include <xen/acpi.h>
> > @@ -309,8 +310,6 @@ void __init discard_initial_images(void)
> >      initial_images = NULL;
> >  }
> >  
> > -extern unsigned char __init_begin[], __init_end[];
> 
> ... this ...
> 
> > --- /dev/null
> > +++ b/xen/include/xen/sections.h
> > @@ -0,0 +1,17 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +
> > +#ifndef __XEN_SECTIONS_H__
> > +#define __XEN_SECTIONS_H__
> > +
> > +/* SAF-0-safe */
> > +extern char __init_begin[], __init_end[];
> 
> ... that was moved. "unsigned char" is generally preferred over
> declaring binary stuff "strings".

OK, noted.

> I further wonder why the opportunity
> wasn't taken to make both array-of-const.

Hm, yes.  The sections are mapped RWX IIRC, but there's no reason to
not make the markers const.

> And finally I'm slightly
> puzzled by the SAF comment appearing with no mention at all in the
> description; of course I don't mind its addition.

I could have noted it in the commit message indeed, sorry.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:24:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710627.1109938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzG8C-0006fi-8L; Tue, 23 Apr 2024 13:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710627.1109938; Tue, 23 Apr 2024 13: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 1rzG8C-0006fb-5W; Tue, 23 Apr 2024 13:24:20 +0000
Received: by outflank-mailman (input) for mailman id 710627;
 Tue, 23 Apr 2024 13: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=agql=L4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rzG8B-0006fV-F3
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:24:19 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20600.outbound.protection.outlook.com
 [2a01:111:f403:260d::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8bfca4f-0174-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 15:24:17 +0200 (CEST)
Received: from DUZP191CA0032.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::10)
 by PAVPR08MB8798.eurprd08.prod.outlook.com (2603:10a6:102:32c::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 13:24:14 +0000
Received: from DU2PEPF00028D0D.eurprd03.prod.outlook.com
 (2603:10a6:10:4f8:cafe::2) by DUZP191CA0032.outlook.office365.com
 (2603:10a6:10:4f8::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Tue, 23 Apr 2024 13:24:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D0D.mail.protection.outlook.com (10.167.242.21) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Tue, 23 Apr 2024 13:24:13 +0000
Received: ("Tessian outbound 8c03561b2da6:v313");
 Tue, 23 Apr 2024 13:24:13 +0000
Received: from 74b23753335b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 94F9E493-CE11-4821-BE67-7A87889559F9.1; 
 Tue, 23 Apr 2024 13:24:06 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 74b23753335b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Apr 2024 13:24:06 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DBBPR08MB5913.eurprd08.prod.outlook.com (2603:10a6:10:20b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 13:23:56 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7472.044; Tue, 23 Apr 2024
 13: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>
X-Inumbo-ID: c8bfca4f-0174-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AIJTZKSCL5NRSkkGQS5BkVZ803r271hUIkQJtA+xOFp4dN8Xsm5Kq6FPvA3UUH0f+OEpeA0JWWYOgjAj7c4wvPjF3Al4JdfugL9MkIoVafCuBZm3ZuFpL3CJDWdl6hNk3AkfCO6FJpmIj/bIWmROC9+XxeqlsWjqJ4cmhcGXEbvGP6C84iY8AjWKpl35ew7xO8vS05PlAL5tiiDF4Ej0j3J1ke9FkCYI41ik4KpLSf2eg4cfeLN7NR90mmxId+BbwEIZvMHRblTEeU3BMKSf30nut5PusBsjyDNIzimUuOsV5mq/xv/ZgI94Ggf3T5ITjQe84rV0AOdimk/rpNJbzg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c8kLzunINJcBpWu6G9GVvbGsVhDaERAzKG2j0BXjsBE=;
 b=JlTL0YwrZOal5JAhuWTBKXn3Xe+gvdr9gaj6Ll+mdvFwk8gilIhSPCysmVSRX/CCmb7Dhgz5+ueoyRpaTCVWuAtOGw4scNblW2YKvyjVZ/HoxMwPT4TMyz0asmoA3o8BMbzDrXx06XeZM+THigSlOVUKCSDTKx8ArIqGUJYc7jWKiVuFj/780kADohDWIlmbfuNck4nduHnKGodFCpltV6FVMXVmLEUmOkeGAAIJKSqNgyfFi5pmTbJI8LX2f/++W7n25Gyect9AuJoDvsLKL3ri1Vvey5IBztgR9dQJfcTaYWQuWQCUxSct+L/F5hUJDkKhD0GGtuWgPQ3mVDZNaQ==
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=c8kLzunINJcBpWu6G9GVvbGsVhDaERAzKG2j0BXjsBE=;
 b=hml1z5w/ZjjQ7u5P0vpX4ddhgXkciswR0OP8cWKIkGac/edJwmBySrUwXsFWkSfgP3dIxnNMrGW6VQI5JhVlsPfxp9eMT5kqYuwz0CBeWBfLfmfURqEtXaOrVWvSdt6R2GmamdPd+h/owTvjP45TLlzFu4F5P08nK57aXGwxtq0=
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: d9c61c987436ce9d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lETbYMFV0TLH3rEtB6WDZfssU0Emnm4zihxCGGptHjwfmqiI/2SotAjdAIe6sZkemjqRKEnGnyckuVZhTHuDCYu2z0l/AXr4ZyCLL2IICPAZmJfUcr0npKg3OUVb1ztr9VtrwiJvh2enro8VAzR7L1BPW7qoj6Bkf3JTgw7XSIBELH2GDMXrNxtsdnDfN5OHQndCbMGXSYD6OAHzGVzpvcF7S4PyY6gdN+7RZ31CsP3VOaGCvA0hFefmLjilAmuhAyag+uwW7C2L8vQw6k2Jg6Dmtck70KqzC31IhkAN0zTtZRJXb5CmNytNE1Q2Bf1XrQJouXg5fAqNSpj2PWtMLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c8kLzunINJcBpWu6G9GVvbGsVhDaERAzKG2j0BXjsBE=;
 b=WuXXiyam8H/xIYl/I+v5Yczj43S/JrebL84onO+s3Lpo5VhNJIHD1ZVJrMPAWGnVne/jCNaXKWvlWFEUujYixNOkF4XG8I5Tj6ONgERTXILOUwmLhhztG9MtLt+4GbkvMZ0HKUfzD+LdqzyohvYgoE3X2iSBbEki0tdBRd6xz1eIJUFobtt0oVXxUiYNDe1Xy4GxkCTsdcoWz8GNGJI0ZZiPOHclxQuobslNwvWUTwR0ZPsgqNslh2iJ48FNKPZjNxoHf+v63wws02qN9eaIoR0hgdw6oiM30Sf2JqOofzF5XAf/Sf4lQcrKxm+qgbmbOpewO+170AWy1zxdoUKq+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c8kLzunINJcBpWu6G9GVvbGsVhDaERAzKG2j0BXjsBE=;
 b=hml1z5w/ZjjQ7u5P0vpX4ddhgXkciswR0OP8cWKIkGac/edJwmBySrUwXsFWkSfgP3dIxnNMrGW6VQI5JhVlsPfxp9eMT5kqYuwz0CBeWBfLfmfURqEtXaOrVWvSdt6R2GmamdPd+h/owTvjP45TLlzFu4F5P08nK57aXGwxtq0=
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>, "patches@linaro.org" <patches@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI
 handlers
Thread-Topic: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI
 handlers
Thread-Index: AQHalIf6ydPM1y7+406Z1t07uZV5tLF0HrOAgAF7f4CAABj+AIAAGdeAgAAM2IA=
Date: Tue, 23 Apr 2024 13:23:56 +0000
Message-ID: <27BADE00-E6EC-4BD6-AC5D-201DF1A76BCD@arm.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org>
 <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
 <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com>
 <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org>
 <756FEA03-7F16-48AE-8308-059EBF8638A0@arm.com>
In-Reply-To: <756FEA03-7F16-48AE-8308-059EBF8638A0@arm.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DBBPR08MB5913:EE_|DU2PEPF00028D0D:EE_|PAVPR08MB8798:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d438bd1-3bff-4289-0fa3-08dc6398ab07
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?bzh1NEl5bm40WVRTSy9PZGV0S3RweFBVYmpYSllqT3VMM0xqOFV6WWNVakRM?=
 =?utf-8?B?M0xrNkt0eS92YWlvK1k0UFZabjJNa3VYSGNVZ0diVHlPc2VQbFBFM3BWZWV5?=
 =?utf-8?B?TWJta0dmS3ptSWtzS1BOWXBoNVZuZEEwMlNVeWk0cG9vUVJGV1c2ZVd3VENN?=
 =?utf-8?B?aUp0dmtjeVMwampuMUVycHBJUUlLNkhscVdseTkrREtuWkl1M25ncHhnd2M5?=
 =?utf-8?B?Vjlwdi81bWVzSHlOdGU5QTJtV0t0cm55dGVIb3d6NVB3WDZJeE5LaTgwQ3Ar?=
 =?utf-8?B?S0hMRFp6SUdFNXZsSEtBNEV5Nm5TcmdDRk1ZV0JjV052STh4QkhiR1NtL1pE?=
 =?utf-8?B?Z0x4TFhHbzFzTXBiUmxuakJIYzhuYnRQZjRIa0NmSlRkQVZSQWJnd0dlZDdP?=
 =?utf-8?B?RytmbEZmOWFCbE5PLzRPZDA3MGZER2dJNExpRU9yeGlnOHRLSGhFeWtmYTUz?=
 =?utf-8?B?U1Rxb25ad0ZXQWw1Z1lPWVBzOVlmTlovVS9JQm5EakgyUWxSYmxOeGFjbnds?=
 =?utf-8?B?cUsxdW8vazJ5dGFhNSs0TmwxMDR0WVIxVU5vV1RwSGRmUmdWVGdJVXZheFBj?=
 =?utf-8?B?VnlXNXV2SWpRSC9pMFowSTloTWFJeGdpSHQ2SEpmYndSZDE2cTRTbUhzMWFJ?=
 =?utf-8?B?RHpzVFo2UXVCcUZOLzlYTE95dFY4R3V1ZEF5L0crZVRCRW9jdkJQM0hTZGFV?=
 =?utf-8?B?YjJyelMvdFoyeWVweGNwZWlTaXdGd01PdlgxNXJBSDZBdlAxbEEwMXlYU3RK?=
 =?utf-8?B?OEh0bm5waEdiSjZUR2JHci9rNFVBNjJJQlZXd0l0SG9ZU0twZDN2bHFQUGNU?=
 =?utf-8?B?WUZGL2xsQ2JBUUJyZUl1UXBrYW9vYVAzUC9LT3d4bDFPR09ZVnN5VEF3Zkp4?=
 =?utf-8?B?QWdOY2lWeHY2UmpONnJkc3pCaDVJM1BPdVN1MlNoSGtnUjFQMnU2bnRVZkNw?=
 =?utf-8?B?QnpCblV0VkFyRDZDa2hVR0pSZUNnSmV0VlFOdy9TV0wrMmhqaXVRL0xmdkk2?=
 =?utf-8?B?bUVOUmtMQ0U3RTU0cjJsVGJjMHh3ZGk3ancxNjI2eGc5aG82elZoN2NoU2dL?=
 =?utf-8?B?Rml6MS8yWDRxb3NCYzVrNWpxOUFVVVgxMWxqeFFKcUZNOU1nY3FxTExyVlNl?=
 =?utf-8?B?TmlNdU5yS2VIK2NlNHMxKzJObkMxYTlYSUtsRjZkQU52eCs4QWlTaWRPWUly?=
 =?utf-8?B?K05QT3p2N09ZdEdXd1M2VGhEenAyZFVqdzc2MlpmMVo2dkxzRGR0ZDM0V1Na?=
 =?utf-8?B?aGEwWDlmMk9INVRjbXhubCtzQ3ZGZklyc0E3Y1dxalY5NnhZZ29wMEpQb2s4?=
 =?utf-8?B?YUNmSG0yZnBPS29qMU5GZit6OE10RkJnUEE4Sk5Fdks4MSs2TSs0WjU1T0Jt?=
 =?utf-8?B?eVZodTBLV3o3VkdkajBWMUUxWHhJOUVCUEpJZHE4VHdrbTZ3WnkxQS9WMFZS?=
 =?utf-8?B?Ym5KemxlQjNsNGh5YXZzaSs2YTV5TFpId05jNGgzSm9TS0dCZ1d1b2xaSlFy?=
 =?utf-8?B?WmtuekE5TDNQVE1NM3hnVmVRK3JCVG9HME9IUTk0Y0ltQTM1aS9xaVNhMCtZ?=
 =?utf-8?B?T0Qyb2NwNXlHT0ppcUk3Tk1tNU9yRHI5cVRjSndyaDRMd3F4dkhoNkNac0RM?=
 =?utf-8?B?MGw3WEtxdEZoY2NrTFIrWUNGU05NcXVRWW5tRkNuZU1Gby9RdnloOVh0QkI0?=
 =?utf-8?B?VGNBbHVHejk1Y1lZSVc5L0dwMFdvamJXMWQzdElPV1Mzcll6eHlZYTQrcnRC?=
 =?utf-8?B?SktXQjRQa2lxSlQyd21jZzZ4VFJad1V6cjBTSDl2TStITTh3RlN1aDE0dzAz?=
 =?utf-8?B?d3pUSUxvM1cvZXJVQ1FXZz09?=
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:(13230031)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9E9AD939D5B9034884E9A828CE417249@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5913
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D0D.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	824946f1-f72f-4e02-4536-08dc6398a09b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bW5nVUJ5UGxCRWxQdEJ4dXJwRW1BQWV3WGRMcUNyK3lNd29UTk5qWndyZlV0?=
 =?utf-8?B?ZWhWU2d6VzI0WmdQb1FuUXdiU3JnSk5LT0lYN3k4YjBWRVBTNjRaZ1YzV3Zx?=
 =?utf-8?B?eGYvOHRwWmRSaUZoL25CQ04yMXpmR0pQZ25VTWJHZGpDeU9UbGJ2WllOUG1H?=
 =?utf-8?B?Y1hSK1g1WWp4YkNqL3BTN1ZGbG1QL3N6QzFMd0FFdVVjODJBYnhEVmdNWmIz?=
 =?utf-8?B?K2wzdWNSdFg0dXNQOWg4RzA5V25SYURhYUtEYXZWdUZ2Uzc0R3gyVnpmYllC?=
 =?utf-8?B?bXNob0YvOTZxZFFlb1NkZGIrVW5WYzFOdU1LOXBUN25rL1J1TG54cHJGVkMv?=
 =?utf-8?B?YlNrK3Irc2JlVEFHSUVhYjVDVy9iRXZ0bVV1SEZWR0FncnpNcmVBbDJrNWhL?=
 =?utf-8?B?bHo5Sk80Vzk1Z01IbEdSRlF5WUlnb1JRVmFjTHp0RkJDdVp2MjdlU2JDL2w4?=
 =?utf-8?B?Uks0dkEyaUlhS0VKRmdyRjdvTTljd2MwRUdMOU1NemNUKzBVMDdvdHhMMGhT?=
 =?utf-8?B?WHJxL21GU0lGbVhsZmFFSVNKRFl5OEtSRlk3aEphZ2t4YWt0cCtvQ1daUTAr?=
 =?utf-8?B?NlJsRm15aG1kZzhBY1l3T0JZZS82UHdOcHlSYm40a0xaVXI0UE4vZVhlY2ZZ?=
 =?utf-8?B?Qy9xdFoxdVVQbS8rT0VCcUx2VFJha2dmTnNua2xUeFdXd2xFUzVRempyc3Av?=
 =?utf-8?B?NjZMRnBWMWpCSDJCVEtoUW5taklKdnNwcUJ4OU1MaSsxbkhVT05HZjV4L0l4?=
 =?utf-8?B?SnZOMHVIeHV4MnQyZkx3UHJnMFZuYnVYUjJVN1RvRjNCN0ZlMEpqQ2hHSWZL?=
 =?utf-8?B?SDdTNmxhbHZqbVpyS1psdnMySFY1eG5CMmF4QzlxSXBTVm1LanY1bzl2bC9s?=
 =?utf-8?B?emNZdnUzVnVpUFJ5K1d0K1lPaDI1UjRYUlo5S3lnbUpPRytOcVRXUTlRNUR4?=
 =?utf-8?B?OHBva3R4WEt4NXZoT0phU3JtckpkN1N2aTlEY0hYUXNrbVBaZEZLSDdNcVJl?=
 =?utf-8?B?Z3llWEQzNDBvSzdhUGZib1FTbGJob1dPR1Y1T29VZE84eGFNcjkzWE5kMFhY?=
 =?utf-8?B?VHU5aTU1UXJ4OCtjcDRGMmZxWVJFMkJLa1krdGlsanlCS3llVlBsME1SUUtr?=
 =?utf-8?B?NVRZbCs1V1ViVWhESWtEZlRVNDdSM3k3YzNnbUtQamM0NkV3dlpVQU9kSVV4?=
 =?utf-8?B?ZSs4UWcxVS93Wmc3YVJFNWcrN3E5S2dBaWZLK1hrbEFYSyswL2UvT2c2QUZj?=
 =?utf-8?B?K2xPbFk2MkVPb0ZvaXBlM1ljR0VCV2ZVc2pYMlowa3FXVUZpem14UWRTWDF4?=
 =?utf-8?B?WEdMSWloTVlEL0lQUWUvb2JHRnZKZWNMZk83SmJwRVQ4SGJ3KzBibFhuKzNX?=
 =?utf-8?B?cW9jTkd3aHliK2Q2bklscklkSmV6eTMzSHJFVTZsSlUwYlVQbTNwNU0zNkNh?=
 =?utf-8?B?NVR0VjArYTBVNnFBL1N5ai9hamRrK2RBdTIzY1ZrNXRNeW40YmVnc1ZHazZM?=
 =?utf-8?B?RytKRGZqTjlLWkN2ZENaNURxZ2ZMWUc5cFl4NExRTzFNK3lac3pZQzNIbXhu?=
 =?utf-8?B?eDJJRHFDRTZLeEcrdlpnOTZRemNPRGpyaVFOZlp3WFl4Mks0Rlg1OFU4b3Z3?=
 =?utf-8?B?alR1YUhIOUhrNW94NGVmYnFUN0daR3lPY21Gck9GTFZnK1ltVERrYk1aTFJk?=
 =?utf-8?B?cHJCYUdmTXo3bXB6dDgrbFdTMStXTXNYUjBxSG8xZGE5cndTeUo1VEkybkJV?=
 =?utf-8?B?QVpQcktKV25MYVliMGo3dldRWXZPcldLU3FKdjlMMzhqVzFUb1BZcHV4azYr?=
 =?utf-8?B?M0F3VFpiNHlRSG0rSlVnWm1BaS9wUXhXTHMwRjJDZU12YXlDVjBnMGNNR1F6?=
 =?utf-8?Q?KFyhfOaMLpdSZ?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 13:24:13.5313
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d438bd1-3bff-4289-0fa3-08dc6398ab07
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D0D.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB8798

SGkgSnVsaWVuLA0KDQo+IE9uIDIzIEFwciAyMDI0LCBhdCAxNDozNywgQmVydHJhbmQgTWFycXVp
cyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPiB3cm90ZToNCj4gDQo+IEhpIEp1bGllbiwNCj4g
DQo+PiBPbiAyMyBBcHIgMjAyNCwgYXQgMTM6MDUsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPj4gDQo+PiANCj4+IA0KPj4gT24gMjMvMDQvMjAyNCAxMDozNSwgSmVucyBX
aWtsYW5kZXIgd3JvdGU6DQo+Pj4gSGkgSnVsaWVuLA0KPj4gDQo+PiBIaSBKZW5zLA0KPj4gDQo+
Pj4gT24gTW9uLCBBcHIgMjIsIDIwMjQgYXQgMTI6NTfigK9QTSBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPiB3cm90ZToNCj4+Pj4gDQo+Pj4+IEhpIEplbnMsDQo+Pj4+IA0KPj4+PiBPbiAy
Mi8wNC8yMDI0IDA4OjM3LCBKZW5zIFdpa2xhbmRlciB3cm90ZToNCj4+Pj4+IFVwZGF0ZXMgc28g
cmVxdWVzdF9pcnEoKSBjYW4gYmUgdXNlZCB3aXRoIGEgZHluYW1pY2FsbHkgYXNzaWduZWQgU0dJ
IGlycQ0KPj4+Pj4gYXMgaW5wdXQuIFRoaXMgcHJlcGFyZXMgZm9yIGEgbGF0ZXIgcGF0Y2ggd2hl
cmUgYW4gRkYtQSBzY2hlZHVsZQ0KPj4+Pj4gcmVjZWl2ZXIgaW50ZXJydXB0IGhhbmRsZXIgaXMg
aW5zdGFsbGVkIGZvciBhbiBTR0kgZ2VuZXJhdGVkIGJ5IHRoZQ0KPj4+Pj4gc2VjdXJlIHdvcmxk
Lg0KPj4+PiANCj4+Pj4gSSB3b3VsZCBsaWtlIHRvIHVuZGVyc3RhbmQgdGhlIHVzZS1jYXNlIGEg
Yml0IG1vcmUuIFdobyBpcyByZXNwb25zaWJsZQ0KPj4+PiB0byBkZWNpZGUgdGhlIFNHSSBudW1i
ZXI/IElzIGl0IFhlbiBvciB0aGUgZmlybXdhcmU/DQo+Pj4+IA0KPj4+PiBJZiB0aGUgbGF0ZXIs
IGhvdyBjYW4gd2UgZXZlciBndWFyYW50ZWUgdGhlIElEIGlzIG5vdCBnb2luZyB0byBjbGFzaA0K
Pj4+PiB3aXRoIHdoYXQgdGhlIE9TL2h5cGVydmlzb3IgaXMgdXNpbmc/IElzIGl0IGRlc2NyaWJl
ZCBpbiBhDQo+Pj4+IHNwZWNpZmljYXRpb24/IElmIHNvLCBwbGVhc2UgZ2l2ZSBhIHBvaW50ZXIu
DQo+Pj4gVGhlIGZpcm13YXJlIGRlY2lkZXMgdGhlIFNHSSBudW1iZXIuIEdpdmVuIHRoYXQgdGhl
IGZpcm13YXJlIGRvZXNuJ3QNCj4+PiBrbm93IHdoaWNoIFNHSXMgWGVuIGlzIHVzaW5nIGl0IHR5
cGljYWxseSBuZWVkcyB0byBkb25hdGUgb25lIG9mIHRoZQ0KPj4+IHNlY3VyZSBTR0lzLCBidXQg
dGhhdCBpcyB0cmFuc3BhcmVudCB0byBYZW4uDQo+PiANCj4+IFJpZ2h0IHRoaXMgaXMgbXkgY29u
Y2Vybi4gVGhlIGZpcm13YXJlIGRlY2lkZXMgdGhlIG51bWJlciwgYnV0IGF0IHRoZSBzYW1lIHRp
bWUgWGVuIHRoaW5rcyB0aGF0IGFsbCB0aGUgU0dJcyBhcmUgYXZhaWxhYmxlIChBRkFJSyB0aGVy
ZSBpcyBvbmx5IG9uZSBzZXQpLg0KPj4gDQo+PiBXaGF0IEkgd291bGQgbGlrZSB0byBzZWUgaXMg
c29tZSB3b3JkaW5nIGZyb20gYSBzcGVjIGluZGljYXRpbmcgdGhhdCB0aGUgU0dJcyBJRCByZXNl
cnZlZCBieSB0aGUgZmlybXdhcmUgd2lsbCBub3QgYmUgY2xhc2hpbmcgd2l0aCB0aGUgb25lIHVz
ZWQgYnkgWGVuLg0KPiANCj4gVGhlIGlkZWEgaXMgdGhhdCB0aGUgb25seSBTR0kgcmVzZXJ2ZWQg
Zm9yIHNlY3VyZSBhcmUgdXNlZCBieSB0aGUgc2VjdXJlIHdvcmxkIChpbiBmYWN0IGl0IGlzIHRo
ZSBTUE1DIGluIHRoZSBzZWN1cmUgd29ybGQgd2hvIHRlbGxzIHVzIHdoaWNoIFNHSSBpdCB3aWxs
IGdlbmVyYXRlKS4NCj4gU28gaW4gdGhlb3J5IHRoYXQgbWVhbnMgaXQgd2lsbCBhbHdheXMgdXNl
IGFuIFNHSSBiZXR3ZWVuIDggYW5kIDE1Lg0KPiANCj4gTm93IGl0IGNvdWxkIG1ha2Ugc2Vuc2Ug
aW4gZmFjdCB0byBjaGVjayB0aGF0IHRoZSBudW1iZXIgcmV0dXJuZWQgYnkgdGhlIGZpcm13YXJl
IChvciBTUE1DKSBpcyBub3QgY2xhc2hpbmcgd2l0aCBYZW4gYXMgaXQgaXMgYSByZWNvbW1lbmRh
dGlvbiBpbiB0aGUgc3BlYyBhbmQNCj4gaW4gZmFjdCBhbiBpbXBsZW1lbnRhdGlvbiBtaWdodCBk
byBzb21ldGhpbmcgZGlmZmVyZW50Lg0KPiANCj4gUmlnaHQgbm93IHRoZXJlIGlzIG5vIHNwZWMg
dGhhdCB3aWxsIHNheSB0aGF0IGl0IHdpbGwgbmV2ZXIgY2xhc2ggd2l0aCB0aGUgb25lIHVzZWQg
YnkgWGVuIGFzIHRoZSBGRi1BIHNwZWMgaXMgbm90IGVuZm9yY2luZyBhbnl0aGluZyBoZXJlIHNv
IGl0IHdvdWxkIGJlIGEgZ29vZCBpZGVhDQo+IHRvIGNoZWNrIGFuZCBkaXNhYmxlIEZGLUEgd2l0
aCBhIHByb3BlciBlcnJvciBtZXNzYWdlIGlmIHRoaXMgaGFwcGVucy4NCg0KDQpBZnRlciBzb21l
IG1vcmUgZGlnZ2luZyBoZXJlIGlzIHdoYXQgaXMgcmVjb21tZW5kZWQgYnkgQXJtIGluIHRoZSBB
cm0gQmFzZSBTeXN0ZW0gQXJjaGl0ZWN0dXJlIHYxLjBDIFsxXToNCg0KIlRoZSBzeXN0ZW0gc2hh
bGwgaW1wbGVtZW50IGF0IGxlYXN0IGVpZ2h0IE5vbi1zZWN1cmUgU0dJcywgYXNzaWduZWQgdG8g
aW50ZXJydXB0IElEcyAwLTcuIg0KDQpTbyBiYXNpY2FsbHkgYXMgbG9uZyBhcyBYZW4gaXMgdXNp
bmcgU0dJcyAwLTcgaXQgaXMgc2FmZSBhcyB0aG9zZSBzaGFsbCBuZXZlciBiZSB1c2VkIGJ5IHRo
ZSBzZWN1cmUgd29ybGQuDQpOb3cgaSBkbyBhZ3JlZSB0aGF0IHdlIHNob3VsZCBjaGVjayB0aGF0
IHdoYXRldmVyIGlzIHJldHVybmVkIGJ5IHRoZSBmaXJtd2FyZSBpcyBub3QgY29uZmxpY3Rpbmcg
d2l0aCB3aGF0DQppcyB1c2VkIGJ5IFhlbi4NCg0KQ2hlZXJzDQpCZXJ0cmFuZA0KDQpbMV0gaHR0
cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwOTQvDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:33:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710634.1109948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGHF-0000MG-42; Tue, 23 Apr 2024 13:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710634.1109948; Tue, 23 Apr 2024 13: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 1rzGHF-0000M9-18; Tue, 23 Apr 2024 13:33:41 +0000
Received: by outflank-mailman (input) for mailman id 710634;
 Tue, 23 Apr 2024 13: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzGHE-0000M3-DP
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:33:40 +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 175e3008-0176-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 15:33:38 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-518931f8d23so6066316e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:33: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
 p6-20020a05600c468600b0041563096e15sm24281419wmo.5.2024.04.23.06.33.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 06:33: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: 175e3008-0176-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713879218; x=1714484018; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=j+VXxI/8vw32l+wOwfi23il+G0g27flqxPAR4o0gKkw=;
        b=alTpNI6lDaQXmolHwMWPeKIG/A7655PS4L3zJAgccJFsV4xw8pSb1HHe2nBSbex7wq
         VftxphypW3Y2AQ3VDk7qDk3H+rpY6o7jstQHkPNrD8jhzoaRlk6L64nv9CdIXXaT9zPt
         jbqGK+JtXwxiue4wBPvQtwOCBNNSODWUA6IsPKBOTRSUhXBMCNWuVHsFQJvgS4RtUW4G
         oWAvO86K25JNhVoKJm2x90tn2kb7srG2jD8Vjk2G2p9FXSBDpGaQVDgHPAxKbQeNxAeX
         kMMNlDBQuD/Bi/Yh1P4z+3uStZui2vWQnRB5/2rWHvm1O77gw+m5M4O6NP+I02oXiCKA
         EhVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713879218; x=1714484018;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=j+VXxI/8vw32l+wOwfi23il+G0g27flqxPAR4o0gKkw=;
        b=l4JexYC0v+E1EYNOjWu+s9EXvZayJumKbHwXsDtwBBaRl28+RufJGTxKG/QP8cO2Iz
         mCO95luDg3CUMDhfH0LOSQyH0k1kfUiIAa3pFihN4SSHsU5S0tzLxNRzvI4eE9MvbbLq
         DRxvQPwAuCGFhvJegqO3WMPG06GO48jeZK9K/OAd1LDYMsDDSSrkoactNW2e5qIB7lPK
         Thb7QuDsDyNO0ImMEzPq7YJo1JbfU6/gbJNK8+Gl7O509xPhJ4ESl5bkJWBNskKnKQj5
         6X/oJrJsPT/hvUlAjLi5Xb2DaeXH2ei9orF3NQHxNlbINyAJHa9ajvEQZ5Jt4Oj/65Ab
         STXw==
X-Forwarded-Encrypted: i=1; AJvYcCUiCObdKdYjkV6QbkwEI4k/xjqnIE1sfDfmf5SMgwa7/IfIdmm7uFHJcBq2nEdLf0gLCPlZm+Kdq9tIgJyonPgFGQMc4L6YcLoe/gr+SDY=
X-Gm-Message-State: AOJu0YxSQbwYyCsRXXFi1RvFASF9vpmf4nwEOaoNr+GPnWWxoEd5LZOl
	G/5pMSe/yjYB/C7Uu3FD2Iud+8y7HwdJZTbBt1Pso4BjJuuq8BUBKAqj0GRoKraku9CMpIoWG3M
	=
X-Google-Smtp-Source: AGHT+IFxegS5cwIrwq5HZygD8O8169/FHPUlrQw+dcOp0boltitFTI6KNueKUiwSy+iPkn5BEtfNYw==
X-Received: by 2002:a2e:87d5:0:b0:2da:7cac:a75e with SMTP id v21-20020a2e87d5000000b002da7caca75emr7858776ljj.22.1713879217671;
        Tue, 23 Apr 2024 06:33:37 -0700 (PDT)
Message-ID: <e685068a-6df7-4a70-b62a-43982b05d4d9@suse.com>
Date: Tue, 23 Apr 2024 15:33:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] xen-livepatch: fix parameter name parsing
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240423131249.29825-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 15:12, Roger Pau Monne wrote:
> It's incorrect to restrict strncmp to the length of the command line input
> parameter, as then a user passing a rune like:
> 
> % xen-livepatch up foo.livepatch
> 
> Would match against the "upload" command, because the string comparison has
> been truncated to the length of the input argument.  Instead the truncation
> should be done based on the length of the command name stored in the internal
> array of actions.

But then "xen-livepatch upload-or-not foo.livepatch" would still wrongly
match. Why strncmp() at all, rather than strcmp()?

Jan

> Fixes: 05bb8afedede ('xen-xsplice: Tool to manipulate xsplice payloads')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Changes since v2:
>  - New in this version.
> ---
>  tools/misc/xen-livepatch.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
> index 5bf9d9a32b65..a246e5dfd38e 100644
> --- a/tools/misc/xen-livepatch.c
> +++ b/tools/misc/xen-livepatch.c
> @@ -572,13 +572,15 @@ int main(int argc, char *argv[])
>          return 0;
>      }
>      for ( i = 0; i < ARRAY_SIZE(main_options); i++ )
> -        if (!strncmp(main_options[i].name, argv[1], strlen(argv[1])))
> +        if (!strncmp(main_options[i].name, argv[1],
> +                     strlen(main_options[i].name)))
>              break;
>  
>      if ( i == ARRAY_SIZE(main_options) )
>      {
>          for ( j = 0; j < ARRAY_SIZE(action_options); j++ )
> -            if (!strncmp(action_options[j].name, argv[1], strlen(argv[1])))
> +            if (!strncmp(action_options[j].name, argv[1],
> +                         strlen(action_options[j].name)))
>                  break;
>  
>          if ( j == ARRAY_SIZE(action_options) )



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:38:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710639.1109959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGLw-0001V1-Pk; Tue, 23 Apr 2024 13:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710639.1109959; Tue, 23 Apr 2024 13:38:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGLw-0001Uu-Lu; Tue, 23 Apr 2024 13:38:32 +0000
Received: by outflank-mailman (input) for mailman id 710639;
 Tue, 23 Apr 2024 13:38:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzGLv-0001Uj-0q
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:38:31 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c49e040b-0176-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 15:38:29 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-343e46ec237so4802634f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:38: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
 f17-20020a05600c4e9100b004182b87aaacsm20337472wmq.14.2024.04.23.06.38.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 06:38:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c49e040b-0176-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713879508; x=1714484308; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=B2diVjbF4sgf3A2o6JPixdohkCOCnMsj39VWdEppLsc=;
        b=SX5b1z9pGbd0Sz8RF99YOOiSlWQRNL5ur+0ndhs/WxA6spJoyg2O/tVJWRfpv25pKC
         13Z09jVvhovHOhwmHSBZNC0O3BpEnsakRdRZMhKp3jF2/9uRt/RTXcAxGaTuf3ya+hPz
         DqdOXGlhaDkp0V/IUNlOxD/ZPOgXcvu7KiJDhG2zT05UnM7AG4P3wlPVDil1WzXwkQr0
         cdPPAdc1tkqliO8nzQc8tDjKbrTEhYaQKDzJ7Ez4t2igKTW+4O3GMjhjKfYPlHIAKr01
         OqA+NUgn3YWTo1dbCYFBs0zpqshuZb2chJyLKZ+34xoLZfJtFe/eX6I8ykMamjSJoUc9
         uIQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713879508; x=1714484308;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=B2diVjbF4sgf3A2o6JPixdohkCOCnMsj39VWdEppLsc=;
        b=WuWk1av8us1dh9I/BHul0bEBZ8z97PP0RRQeqCLlHKq0AodwlDt4YM4CNrwMkXCNo1
         Nt3dVOPoCGsvrDIho/kijdoRMEZuzDKIoyYOXULIJyD0yQOvOXyLNM70/yusGjVuyzwR
         ny2HZihZa2NMTp4Nj1v4xhQeFONmk2rHv+F10WI+0O6W0dmSRHN+OyFZ6BGLf6tE8gaJ
         8qEQ65ym9BqeybT9c02YCZHyrqsUfXDbDJ0YJbw8akXj7dEvBC4Y3UOwEiu9TTr/B1Fw
         GNiKGll1MGRtHBR/+ozViH1QavlyYOI2IZB9qG9DglbFLU/bNjxwBzE02fFnlaXYR38E
         ETAw==
X-Forwarded-Encrypted: i=1; AJvYcCU2yBKGM/MmekGyEgJtCHw5OWGB6V6KUdp2fwEURiA+1MNnVnm5Z7PP6O/pjC+F/p5qEIAc7G1/6PA6bUOYr5YWnqte4Wu/GoYbWSrV6OU=
X-Gm-Message-State: AOJu0YyrELMQbHlfH04/B5zcuPTnatfJ97FXuXo+npbrQuvSjn12UNOI
	2uPXadRf6t8ikkOn3tNzGBWW2i0xbOJPwxmhXusoqelYxtaS3a4HYU/T+0vdmg==
X-Google-Smtp-Source: AGHT+IH4Wx5LpAyGmmVjXEVqgzed+DD6QvuV4FYNkqSD+QU98twadyVCnQk7p0UGSoiJojfzAYPnAA==
X-Received: by 2002:a5d:64c3:0:b0:34a:751e:24b4 with SMTP id f3-20020a5d64c3000000b0034a751e24b4mr11341313wri.42.1713879508332;
        Tue, 23 Apr 2024 06:38:28 -0700 (PDT)
Message-ID: <7bbc733e-2630-4970-8ee1-dea3843c516b@suse.com>
Date: Tue, 23 Apr 2024 15:38:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/4] livepatch: introduce --force option
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-3-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240423131249.29825-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 15:12, Roger Pau Monne wrote:
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -2125,7 +2125,8 @@ int livepatch_op(struct xen_sysctl_livepatch_op *livepatch)
>  {
>      int rc;
>  
> -    if ( livepatch->pad )
> +    if ( livepatch->flags & ~LIVEPATCH_FLAGS_MASK &&

With parentheses added here (which presumably could be done while
committing)
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:44:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710644.1109969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGRz-0003A0-ET; Tue, 23 Apr 2024 13:44:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710644.1109969; Tue, 23 Apr 2024 13: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 1rzGRz-00039t-Ap; Tue, 23 Apr 2024 13:44:47 +0000
Received: by outflank-mailman (input) for mailman id 710644;
 Tue, 23 Apr 2024 13:44:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzGRy-00039n-4D
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:44:46 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4253380-0177-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 15:44:44 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-346406a5fb9so4550621f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06:44: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
 m16-20020a05600c3b1000b0041496734318sm24101825wms.24.2024.04.23.06.44.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 06:44: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: a4253380-0177-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713879883; x=1714484683; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=DHX07UmWaEK2UCImlIIvHtvC3mLztTA9n+R0m74EYfo=;
        b=BMVBluBvk3YW7IHZkjZnZGWzIFzK1ZpGd/T8PP1LuYOEVGupJRUYEyvSq6+8LkyUrI
         7ab1XAsPhtYX9ULwLBx/PnLgzLkaXXHOwBWJ1QK0TdsNupPWaVcKomSHG7eTxCRMAUZN
         omfdsnIwxeShxlqM2G669QCb9QsChGNj7YvJJzuKfeNpE0/goooJnFiVtODncDyyEn6G
         MKI1NoKwLby5MxkLnrIqII+R9OiapeeGDGusqeTrQc7JhHBE4xXmVvJch7PLmigg0sHS
         tyytAKcfJq4GCX1eQsR72lXih3gssh2jy/qPPw8D0Bxgg4b3rLeIs1kzFMNehwYYoGsO
         sFyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713879883; x=1714484683;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=DHX07UmWaEK2UCImlIIvHtvC3mLztTA9n+R0m74EYfo=;
        b=AfPqdPZsnYVJ55Ls3jMQwocZdUlGr8JjQV0LrR88IQAxqE7U6nwJ8J7uEIeMgKSqzR
         Ct6TmxA9z01IeRmbAhb1wiyCM1SCOyh1QGR3IgDev99eXMk0sUyNoTJemie+oXqxdMy0
         8y5ypWHESQWNBSxWvP7hXsEu7JZIZNtP92p7jIaT0HfumqjSEjhXmtuErAL5O6hy10Fe
         LA1EGQhG4rKi59OkHWbZhJoMXa1t+vqxN30IQrWZj05cD34q95pd2qLSBJFWdgPCFiJb
         9qortNrb6raS3VKtPZDSDRxvOpUyh74Ugf5KKM9leTjeXQzuN/RMaXutMzttMh99dhJt
         H7ug==
X-Forwarded-Encrypted: i=1; AJvYcCU8qRsvw5Ab3QQGRKiGa0HNPVEqd/TZaYkL5zL0r4Ma02XjWNvYlQfr1H1Cts9DoCDCnM7ELwFCy1q9h4Y3iI2CMjS0/Gf/TnO+6maPJj8=
X-Gm-Message-State: AOJu0YwF3bWjI43Nsf3Wg/9WivzlGea1HEJ8ZdukiqFUEe6T3KdwiiTu
	C8Zkn8vS6hX9ajRQYx+1LsefqC3ys5A9Lem+xU72kvx2YEP6r+85m0ZKDdUClw==
X-Google-Smtp-Source: AGHT+IGKu/u9KUet4tm+Oxdi9m0M2zgbZPj0aM6mGGV1spBylQVQmus4KiUzv/xtH9wAfxL1+m620A==
X-Received: by 2002:adf:ed84:0:b0:34a:e69b:494e with SMTP id c4-20020adfed84000000b0034ae69b494emr4934484wro.23.1713879883309;
        Tue, 23 Apr 2024 06:44:43 -0700 (PDT)
Message-ID: <0625d7fd-1554-4d47-a8a5-0d6bfb1fcd56@suse.com>
Date: Tue, 23 Apr 2024 15:44:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] livepatch: refuse to resolve symbols that belong
 to init sections
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-4-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240423131249.29825-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 15:12, Roger Pau Monne wrote:
> Livepatch payloads containing symbols that belong to init sections can only
> lead to page faults later on, as by the time the livepatch is loaded init
> sections have already been freed.
> 
> Refuse to resolve such symbols and return an error instead.
> 
> Note such resolutions are only relevant for symbols that point to undefined
> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> and hence must either be a Xen or a different livepatch payload symbol.
> 
> Do not allow to resolve symbols that point to __init_begin, as that address is
> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> resolutions against it.
> 
> Since __init_begin can alias other symbols (like _erodata for example)
> allow the force flag to override the check and resolve the symbol anyway.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

In principle, as promised (and just to indicate earlier concerns were
addressed, as this is meaningless for other purposes)
Acked-by: Jan Beulich <jbeulich@suse.com>
However, ...

> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>                      break;
>                  }
>              }
> +
> +            /*
> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> +             * livepatch payloads don't have init sections or equivalent.
> +             */
> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> +                      st_value <  (uintptr_t)&__init_end && !force )
> +            {
> +                printk(XENLOG_ERR LIVEPATCH
> +                       "%s: symbol %s is in init section, not resolving\n",
> +                       elf->name, elf->sym[i].name);
> +                rc = -ENXIO;
> +                break;
> +            }

... wouldn't it make sense to still warn in this case when "force" is set?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 13:51:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 13:51:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710649.1109978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGYa-0005Hw-2y; Tue, 23 Apr 2024 13:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710649.1109978; Tue, 23 Apr 2024 13:51:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGYa-0005Hp-0I; Tue, 23 Apr 2024 13:51:36 +0000
Received: by outflank-mailman (input) for mailman id 710649;
 Tue, 23 Apr 2024 13:51:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzGYY-0005HN-Ab
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 13:51:34 +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 97dfe89f-0178-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 15:51:32 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41a1d88723bso18061215e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 06: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
 bg11-20020a05600c3c8b00b0041a9c3444a6sm3817429wmb.28.2024.04.23.06.51.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 06: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: 97dfe89f-0178-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713880292; x=1714485092; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6p64LwaZAdUFtzNLap1xXwnhZr5O4ic7GnnFeUhYJ00=;
        b=J0ZVN+0Lf0TrfcGQIDjaFMDCh7lAiqm18JNIr5b8vUKkpEfh2qRFEIgJVjBXVGbfGU
         R84o2UKDfso81cSi0vedIiZgT6FTx99uKW/TiEKzXezK2L5N5daHs3xH103l02Nn/SDw
         2ah9w1Ac1hoEtxAH1E4uDaT80ASczv+VufNWTvI4mbzfqLPnsmzrU3AbPV2WE0OrJvTx
         ommP4Dk0D0dTjiJK4be92lD6NpM0gfWu0m2N0tOQi7k0t7loE2bdjuesilRHBzyZMkCj
         WFcPJorQq/+gdD2SD+seqsFDgfnLMVx0SRzSKf8pjtgcg+VIHzp2LZdiI1U/KikfBn7+
         pDSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713880292; x=1714485092;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6p64LwaZAdUFtzNLap1xXwnhZr5O4ic7GnnFeUhYJ00=;
        b=oLj26Y96rWUVNOl76J7tNM1ChW6edWkSV2IA/f1qHS3449cg9bwcDP0wVN6Cg+km4O
         boR0Wp/WhSWmKTSxKHoQ/QCsIiNGEx1eo0Kre0DnX1s4CxJuJffLpR6Y+00q5p2Qm9Vm
         iF8z93NEiof0rzTNufPBq96ErLiZJdnOBijlxNfHeJtpMVPfsVDL+cZ33Hcl37tw2x6q
         gnrXq5dofYOmWEmSjCmmdibfAqPZMvjmuvSCTX2NEG0jKhIgeE2vxULPvYyFb79F+Q7m
         BHyAYDhhnkRa8OdTvViWlnichjB9uCopBLTtiA6p/oXJkYgrwSxgstfjS1HsR9byZSjO
         TLTw==
X-Forwarded-Encrypted: i=1; AJvYcCXJxigFWK0+jyQQ33BwOg2HzpRXi/5OQ0WCXwjxkm/eSz6sgSVSy0m83Jm9dG9wlfD1n/fFfV/pXWBdxpUQCF1mxRiEoQ6cDU+Td3vaIA8=
X-Gm-Message-State: AOJu0YxDqEvJ0XHsJ5J5cesRgHWGgJLSr9W0K+Pt6QfaDBH6EC8UoxEG
	acBa/Srzdj9nB+cZWcl1uChbkZAH6kxU1w3pSx1LXeO0WrSWnDDDA6TQmpdhyQ==
X-Google-Smtp-Source: AGHT+IECXA9l6/PkHv+ZPVKVxydp41OBSDgmgjxnOMCFklwknBSy9baedzn31bAmi0sQdSElIyM0KQ==
X-Received: by 2002:a05:600c:3506:b0:41a:2b9:7764 with SMTP id h6-20020a05600c350600b0041a02b97764mr6683708wmq.27.1713880292242;
        Tue, 23 Apr 2024 06:51:32 -0700 (PDT)
Message-ID: <b76f105b-ac92-4759-8e93-64b97232a60c@suse.com>
Date: Tue, 23 Apr 2024 15:51:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] x86/livepatch: perform sanity checks on the
 payload exception table contents
Content-Language: en-US
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: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-5-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240423131249.29825-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 15:12, Roger Pau Monne wrote:
> Ensure the entries of a payload exception table only apply to text regions in
> the payload itself.  Since the payload exception table needs to be loaded and
> active even before a patch is applied (because hooks might already rely on it),
> make sure the exception table (if any) only contains fixups for the payload
> text section.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

In principle
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Still two comments:

> --- a/xen/arch/x86/extable.c
> +++ b/xen/arch/x86/extable.c
> @@ -228,3 +228,21 @@ unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs)
>      }
>      return fixup;
>  }
> +
> +#ifdef CONFIG_LIVEPATCH
> +bool extable_is_between_bounds(const struct exception_table_entry *ex_start,

s/between/in/ or even s/is_between/in/? "Between", to me at least, reads
very much like meaning "exclusive at both ends".

> +                               const struct exception_table_entry *ex_end,
> +                               const void *start, const void *end)
> +{
> +    for ( ; ex_start < ex_end; ex_start++ )
> +    {
> +        const void *addr = (void *)ex_addr(ex_start);
> +        const void *cont = (void *)ex_cont(ex_start);

Might be nicer to use _p() here, or not do the comparisons with pointers, but
instead with unsigned long-s.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:11:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710655.1109988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGsA-0001IK-Iq; Tue, 23 Apr 2024 14:11:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710655.1109988; Tue, 23 Apr 2024 14:11:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzGsA-0001ID-GJ; Tue, 23 Apr 2024 14:11:50 +0000
Received: by outflank-mailman (input) for mailman id 710655;
 Tue, 23 Apr 2024 14:11: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=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzGs8-0001I7-DU
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:11:48 +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 6ad16950-017b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:11:46 +0200 (CEST)
Received: by mail-oa1-x2f.google.com with SMTP id
 586e51a60fabf-22f746c56a2so2585408fac.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:11:46 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 w20-20020ac87194000000b00439622fb8f4sm3511650qto.39.2024.04.23.07.11.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 07:11: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: 6ad16950-017b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713881505; x=1714486305; 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=HbzdywQUMMJyc/51/F1TIJDmBNql2mGKph3qYuis9CA=;
        b=cMsugE0AyS5t6X5nD9oiaqqggojTeKuzWmpLZMqyX53KEpf1miqXG9/V56F5e+Uole
         YcQUy4hRpPYFMEcgcyaf0VJ2prL+L4IKncluXqaaHaz7kBKhaUG6EQwlA2k7LIp2/wtk
         r7PAJA4YyFDXAlWHIO+i4TlpEhVpQODY0IExI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713881505; x=1714486305;
        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=HbzdywQUMMJyc/51/F1TIJDmBNql2mGKph3qYuis9CA=;
        b=aCMKiK/wkdnPkau1kcxDtLeqnaO6HnLjjLjALOPFbPzMGBnj4DXTTSD1jEOWOH8PxX
         8SoTdC/wv/FdKt2IfOzkTceE9zkiAENKIZldwZ3gInA2+cTmz7QVVPjnN4FExQn88OHd
         C+MBZy1SQa/oBj9j51bc0purHqfgtWG2NIkbG0uKmX/kalO6xQrtvmCAyi2rNkuZIZ9B
         lnqibJ+yQWuB2aa0Jy4TIdnKRBLgKjZXRpYxetm5lcNWyKH9mSaPNBOgKJhRY7NwmFZb
         OS7i/kcCAtS/RNzk+lH1YwkQt7QTv3HTaydPxy2IJyXq8XV+5Ua4VBPE5mFNi4RfetIg
         H8AA==
X-Forwarded-Encrypted: i=1; AJvYcCXTPnSZ/hZixPXfPipblXbKtoi7mUxkDbGxuqNHxdYFUsoKkecN9XvXviJOZwHqtFBHN4zD+X4F1+nQEp2W0JQEANNOaTbeHRFbA3cgV5Q=
X-Gm-Message-State: AOJu0YzKz9NUmaeTMSbMDY++6HXKrX9LmLDScQk+FcRdD9Cow/FpuEg5
	XKZ+jNqsBDEsjz9j3MEfH7RrC7TbAQ9pU3rboMs+eKpf5cL/+Jwx8ro4EOQaw9M=
X-Google-Smtp-Source: AGHT+IEEiqnvY5gU8olRLcK2tUJTBHzdYVi1NwcD4IMO2aJyMs/EXrcaOrK3rqbE8nr1ZMwvpRlmfw==
X-Received: by 2002:a05:6870:d298:b0:22e:a3b0:34fd with SMTP id d24-20020a056870d29800b0022ea3b034fdmr18566004oae.21.1713881505083;
        Tue, 23 Apr 2024 07:11:45 -0700 (PDT)
Date: Tue, 23 Apr 2024 16:11:42 +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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 1/4] xen-livepatch: fix parameter name parsing
Message-ID: <ZifBnp4w8Cc1mH2R@macbook>
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-2-roger.pau@citrix.com>
 <e685068a-6df7-4a70-b62a-43982b05d4d9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e685068a-6df7-4a70-b62a-43982b05d4d9@suse.com>

On Tue, Apr 23, 2024 at 03:33:36PM +0200, Jan Beulich wrote:
> On 23.04.2024 15:12, Roger Pau Monne wrote:
> > It's incorrect to restrict strncmp to the length of the command line input
> > parameter, as then a user passing a rune like:
> > 
> > % xen-livepatch up foo.livepatch
> > 
> > Would match against the "upload" command, because the string comparison has
> > been truncated to the length of the input argument.  Instead the truncation
> > should be done based on the length of the command name stored in the internal
> > array of actions.
> 
> But then "xen-livepatch upload-or-not foo.livepatch" would still wrongly
> match. Why strncmp() at all, rather than strcmp()?

Bah, indeed, how dumb of me.  Will switch to strcmp in the next
version.

Thanks, Roger.-


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:26:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:26:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710662.1109999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzH67-0004Ua-Op; Tue, 23 Apr 2024 14:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710662.1109999; Tue, 23 Apr 2024 14: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 1rzH67-0004UT-LI; Tue, 23 Apr 2024 14:26:15 +0000
Received: by outflank-mailman (input) for mailman id 710662;
 Tue, 23 Apr 2024 14: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=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzH66-0004UN-Dv
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:26:14 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f00f252-017d-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:26:12 +0200 (CEST)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-7906776e17aso217506685a.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:26:12 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 s5-20020a05620a080500b0078ecd227e5csm5276343qks.74.2024.04.23.07.26.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 07: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: 6f00f252-017d-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713882371; x=1714487171; 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=Zp7/a6GsE05lsQQVjgab8WZ4F47tU7dCrz2vyTBMvZA=;
        b=QmoheWJFuHJFDmmsf6GQl5L8Lj0b87V3kt+Y1Ylq1o7n828cSu0peVbupVwAdQnVcD
         bx/LIOobK8SBTNckZtcoFygswKvNHtE9be57VI7vdXAO23LDxBQAb4JaRsx/ilppBMNc
         P1ToOf2U7FkEnjwL1ZIMjPJFi72NFQOHi3EE4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882371; x=1714487171;
        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=Zp7/a6GsE05lsQQVjgab8WZ4F47tU7dCrz2vyTBMvZA=;
        b=SwRS4bZWD7cW5yfVboY4rjN5ENN0Jo0dBNRWysyAsDOR/+h/MiE0KMKi+4Jxb8qRV6
         jXtN9bA+mz4zblB4o/FgeVPHhyr9erzfMJRyG8b8L9j5bxoIgR1fBEHxZpMySJnuVLVY
         EADmeNhb1jWRmS811uSlUOw/u3LNZySAMEbttr/sQRyo/GDyoNsCCUXLa5VnF1x+Rugj
         i2lbcKyp6MGwiWyhQpqneu021vh4NAGn1ZW1krUo/bV4yc7nY+f9nkB2de37ZxzII+3Z
         a6hLXFFATTVRrsj54hrJI1erQQLEM8j7BKuetFREyVvoqJEXptOjQtpTGWCEGBGZYG7R
         a7aQ==
X-Forwarded-Encrypted: i=1; AJvYcCWVKYTWJ/yPy2g7k4/aksjOJIJgnn9CtP9mf+1IWoXhRrNnLtG29uh2baI+9qiUtknqqJ5qoY8UN93YpGNirbjxYX2lwC/FI8nxFxaK+bA=
X-Gm-Message-State: AOJu0Yxf/ognt2LphlWN0QXzHkhimc5EqWCjvELxDQhjL4RLA8LAVwFa
	21o2Z8Yx2Epk+c3Fg4ebXJrd9sVmlJqDzOFROwOC+vwIL4+HaygjhPUQknXodYSiMmsM7CeqWNG
	+
X-Google-Smtp-Source: AGHT+IHND9XhF3r+3B0YZKqWhn2dULEhl0rN1wdr2cEuA6YcZGQNKxaiSQVa11j+oH/5JuFAMqsg3g==
X-Received: by 2002:a05:620a:4010:b0:790:88a3:2754 with SMTP id h16-20020a05620a401000b0079088a32754mr1031042qko.10.1713882370312;
        Tue, 23 Apr 2024 07:26:10 -0700 (PDT)
Date: Tue, 23 Apr 2024 16:26:06 +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 v3 3/4] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZifE_rQhaZNbjIt2@macbook>
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-4-roger.pau@citrix.com>
 <0625d7fd-1554-4d47-a8a5-0d6bfb1fcd56@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0625d7fd-1554-4d47-a8a5-0d6bfb1fcd56@suse.com>

On Tue, Apr 23, 2024 at 03:44:42PM +0200, Jan Beulich wrote:
> On 23.04.2024 15:12, Roger Pau Monne wrote:
> > Livepatch payloads containing symbols that belong to init sections can only
> > lead to page faults later on, as by the time the livepatch is loaded init
> > sections have already been freed.
> > 
> > Refuse to resolve such symbols and return an error instead.
> > 
> > Note such resolutions are only relevant for symbols that point to undefined
> > sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> > and hence must either be a Xen or a different livepatch payload symbol.
> > 
> > Do not allow to resolve symbols that point to __init_begin, as that address is
> > also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> > resolutions against it.
> > 
> > Since __init_begin can alias other symbols (like _erodata for example)
> > allow the force flag to override the check and resolve the symbol anyway.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> In principle, as promised (and just to indicate earlier concerns were
> addressed, as this is meaningless for other purposes)
> Acked-by: Jan Beulich <jbeulich@suse.com>
> However, ...
> 
> > @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
> >                      break;
> >                  }
> >              }
> > +
> > +            /*
> > +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> > +             * livepatch payloads don't have init sections or equivalent.
> > +             */
> > +            else if ( st_value >= (uintptr_t)&__init_begin &&
> > +                      st_value <  (uintptr_t)&__init_end && !force )
> > +            {
> > +                printk(XENLOG_ERR LIVEPATCH
> > +                       "%s: symbol %s is in init section, not resolving\n",
> > +                       elf->name, elf->sym[i].name);
> > +                rc = -ENXIO;
> > +                break;
> > +            }
> 
> ... wouldn't it make sense to still warn in this case when "force" is set?

Pondered it, I was thinking that a user would first run without
--force, and use the option as a result of seeing the first failure.

However if there is more than one check that's bypassed, further ones
won't be noticed, so:

            else if ( st_value >= (uintptr_t)&__init_begin &&
                      st_value <  (uintptr_t)&__init_end )
            {
                printk(XENLOG_ERR LIVEPATCH
                       "%s: symbol %s is in init section, not resolving\n",
                       elf->name, elf->sym[i].name);
                if ( !force )
                {
                    rc = -ENXIO;
                    break;
                }
            }

Would be OK then?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:28:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710667.1110009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzH8P-0005eb-Ao; Tue, 23 Apr 2024 14:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710667.1110009; Tue, 23 Apr 2024 14: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 1rzH8P-0005eU-76; Tue, 23 Apr 2024 14:28:37 +0000
Received: by outflank-mailman (input) for mailman id 710667;
 Tue, 23 Apr 2024 14:28: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 1rzH8O-0005eO-DT
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:28: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 1rzH8N-0001s0-Pk; Tue, 23 Apr 2024 14:28:35 +0000
Received: from [15.248.2.233] (helo=[10.24.67.33])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzH8N-0003RL-Ez; Tue, 23 Apr 2024 14:28:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=gzTOyQWEIuUjoakhhnZ0lv4DoaOTz8A4wGB9zMg9IMI=; b=1KpBDdYmtt4hYKDENIsUuLVG5U
	5+D3xNw2B9pQ8iXoUudk693bB0P7jo/bQXxzRLL8AaUWMArIHgRdn9Vee83tNeyWO84WyuxqM7MMx
	FPB6gTNPFtMMK9V/bA8wGP8vnwAWHEZLzh9n8uAQGCmek2/QuwKP2W0m2kKSiylhV86w=;
Message-ID: <195c1fe6-ed77-417f-bcb0-fdfaf687c4b0@xen.org>
Date: Tue, 23 Apr 2024 15:28:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI
 handlers
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Jens Wiklander <jens.wiklander@linaro.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "patches@linaro.org" <patches@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org>
 <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
 <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com>
 <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org>
 <756FEA03-7F16-48AE-8308-059EBF8638A0@arm.com>
 <27BADE00-E6EC-4BD6-AC5D-201DF1A76BCD@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <27BADE00-E6EC-4BD6-AC5D-201DF1A76BCD@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Bertrand,

On 23/04/2024 14:23, Bertrand Marquis wrote:
> Hi Julien,
> 
>> On 23 Apr 2024, at 14:37, Bertrand Marquis <Bertrand.Marquis@arm.com> wrote:
>>
>> Hi Julien,
>>
>>> On 23 Apr 2024, at 13:05, Julien Grall <julien@xen.org> wrote:
>>>
>>>
>>>
>>> On 23/04/2024 10:35, Jens Wiklander wrote:
>>>> Hi Julien,
>>>
>>> Hi Jens,
>>>
>>>> On Mon, Apr 22, 2024 at 12:57 PM Julien Grall <julien@xen.org> wrote:
>>>>>
>>>>> Hi Jens,
>>>>>
>>>>> On 22/04/2024 08:37, Jens Wiklander wrote:
>>>>>> Updates so request_irq() can be used with a dynamically assigned SGI irq
>>>>>> as input. This prepares for a later patch where an FF-A schedule
>>>>>> receiver interrupt handler is installed for an SGI generated by the
>>>>>> secure world.
>>>>>
>>>>> I would like to understand the use-case a bit more. Who is responsible
>>>>> to decide the SGI number? Is it Xen or the firmware?
>>>>>
>>>>> If the later, how can we ever guarantee the ID is not going to clash
>>>>> with what the OS/hypervisor is using? Is it described in a
>>>>> specification? If so, please give a pointer.
>>>> The firmware decides the SGI number. Given that the firmware doesn't
>>>> know which SGIs Xen is using it typically needs to donate one of the
>>>> secure SGIs, but that is transparent to Xen.
>>>
>>> Right this is my concern. The firmware decides the number, but at the same time Xen thinks that all the SGIs are available (AFAIK there is only one set).
>>>
>>> What I would like to see is some wording from a spec indicating that the SGIs ID reserved by the firmware will not be clashing with the one used by Xen.
>>
>> The idea is that the only SGI reserved for secure are used by the secure world (in fact it is the SPMC in the secure world who tells us which SGI it will generate).
>> So in theory that means it will always use an SGI between 8 and 15.
>>
>> Now it could make sense in fact to check that the number returned by the firmware (or SPMC) is not clashing with Xen as it is a recommendation in the spec and
>> in fact an implementation might do something different.
>>
>> Right now there is no spec that will say that it will never clash with the one used by Xen as the FF-A spec is not enforcing anything here so it would be a good idea
>> to check and disable FF-A with a proper error message if this happens.
> 
> 
> After some more digging here is what is recommended by Arm in the Arm Base System Architecture v1.0C [1]:
> 
> "The system shall implement at least eight Non-secure SGIs, assigned to interrupt IDs 0-7."

Thanks! Can we provide a link to the specification in the commit message?

> 
> So basically as long as Xen is using SGIs 0-7 it is safe as those shall never be used by the secure world.
> Now i do agree that we should check that whatever is returned by the firmware is not conflicting with what
> is used by Xen.
+1.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:29:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:29:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710668.1110018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzH8q-0006Dn-Il; Tue, 23 Apr 2024 14:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710668.1110018; Tue, 23 Apr 2024 14: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 1rzH8q-0006Dg-Ft; Tue, 23 Apr 2024 14:29:04 +0000
Received: by outflank-mailman (input) for mailman id 710668;
 Tue, 23 Apr 2024 14:29:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzH8p-0006DG-79
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:29:03 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3f54738-017d-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:29:01 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4196c62bb4eso30552575e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:29: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
 e10-20020a05600c4e4a00b0041a809403d4sm5586564wmq.6.2024.04.23.07.29.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:29: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: d3f54738-017d-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713882540; x=1714487340; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QSMRC+rbLTrSzNXnM3vju+nO9SOLJi7XbQfDtq9npww=;
        b=bCxeXfCSU9r1Cq06rOe/r7czD9SAiVRm9NyXCd6Ov5nRWIW2mOknvrLnYqFkHXH4vT
         adWcipzXwWSlOrdjUH6DqMYC7nzQjFtZIcwQGZ7yqxKgLUd9cjGcWLfRsjsaIaYdvI2H
         Vyom+/QApxH9X2qmUcEF6BwOhK0ndrxtvBvWAQ02Bc2et35GKZS1/cZGTL3p415ntzZ8
         wJtI8s5YEW/44fs1zzpihEI3rHGYcS1Zs2u/nK7h12Xy9QGBrxZaDZ7L1XB+hX0rBH3I
         n+nBP7DUz5p+zntxpWyPqioUeKrTPNXwk07yAjSmW6TtgV4oY8cwsX6gqgoOsG0QLmi5
         027w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882540; x=1714487340;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QSMRC+rbLTrSzNXnM3vju+nO9SOLJi7XbQfDtq9npww=;
        b=QKbtz2hO0KMrmrfsTJ2sR1ZaPBInB3ZE0emlIAhSQXK9UHUNKW66vkllc+8kAXpRJT
         Y4KttTIXrdGWaA56YzvezYSMFjKCW+NMHBoIrvy1fNoIRJV/wb9fR1t24c5aJep5jXu3
         3s9u+wWBoD7njgUPbEQYbdtrcYy6Od3uZhzu530VOlg2xmlNEdQsazIqZXXuFs+UqLxn
         /hAwzGuSYLhZhVERXbc0ooQhMxEilki0VtbOf6IZVxuToY1vuy6zQtMocPCvUEauJHm5
         4+ubpMUnsz55x/5j3Zib63d0j2ViW7kdG8/bOwOYNFJz30HF6Z8kXWS1oQe57rdY+lPT
         dCkQ==
X-Forwarded-Encrypted: i=1; AJvYcCXmb/bs8xm8yyjF0FQNrDMAhmdifYZHOkmnHQozK07q9eqLE2wzIdmwjFlPGYdi/KTHLHV0agNeqCNnbSuT+fBypiGI2YdJjTVBWiTr8b8=
X-Gm-Message-State: AOJu0YxWU0OyDCpeaYMvV1MUFEK3xznfuB3JsUT5mpQvKxfhS6Zaz4VQ
	nluR4Ij/PB6beZVFXorwPVpBjffbpKGHR/+RH5GsFWdMnScZhpBmTjNVZdog9Tv5Gm7AZ170m5M
	=
X-Google-Smtp-Source: AGHT+IEfP5pnnXamAxsiSgyFEADvElm4kLiXhfuc/qyD/SAUYGfLFhoWEr8WSdUX5uZG/1Ah0v1OQA==
X-Received: by 2002:a05:600c:3504:b0:418:9d5a:f680 with SMTP id h4-20020a05600c350400b004189d5af680mr9168763wmq.25.1713882540582;
        Tue, 23 Apr 2024 07:29:00 -0700 (PDT)
Message-ID: <46c58aa4-d908-40ff-9c77-e0eacc7e10b6@suse.com>
Date: Tue, 23 Apr 2024 16:28:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] livepatch: refuse to resolve symbols that belong
 to init sections
To: =?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: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-4-roger.pau@citrix.com>
 <0625d7fd-1554-4d47-a8a5-0d6bfb1fcd56@suse.com> <ZifE_rQhaZNbjIt2@macbook>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZifE_rQhaZNbjIt2@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 16:26, Roger Pau Monné wrote:
> On Tue, Apr 23, 2024 at 03:44:42PM +0200, Jan Beulich wrote:
>> On 23.04.2024 15:12, Roger Pau Monne wrote:
>>> Livepatch payloads containing symbols that belong to init sections can only
>>> lead to page faults later on, as by the time the livepatch is loaded init
>>> sections have already been freed.
>>>
>>> Refuse to resolve such symbols and return an error instead.
>>>
>>> Note such resolutions are only relevant for symbols that point to undefined
>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
>>> and hence must either be a Xen or a different livepatch payload symbol.
>>>
>>> Do not allow to resolve symbols that point to __init_begin, as that address is
>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
>>> resolutions against it.
>>>
>>> Since __init_begin can alias other symbols (like _erodata for example)
>>> allow the force flag to override the check and resolve the symbol anyway.
>>>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>
>> In principle, as promised (and just to indicate earlier concerns were
>> addressed, as this is meaningless for other purposes)
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> However, ...
>>
>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>>>                      break;
>>>                  }
>>>              }
>>> +
>>> +            /*
>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
>>> +             * livepatch payloads don't have init sections or equivalent.
>>> +             */
>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
>>> +                      st_value <  (uintptr_t)&__init_end && !force )
>>> +            {
>>> +                printk(XENLOG_ERR LIVEPATCH
>>> +                       "%s: symbol %s is in init section, not resolving\n",
>>> +                       elf->name, elf->sym[i].name);
>>> +                rc = -ENXIO;
>>> +                break;
>>> +            }
>>
>> ... wouldn't it make sense to still warn in this case when "force" is set?
> 
> Pondered it, I was thinking that a user would first run without
> --force, and use the option as a result of seeing the first failure.
> 
> However if there is more than one check that's bypassed, further ones
> won't be noticed, so:
> 
>             else if ( st_value >= (uintptr_t)&__init_begin &&
>                       st_value <  (uintptr_t)&__init_end )
>             {
>                 printk(XENLOG_ERR LIVEPATCH
>                        "%s: symbol %s is in init section, not resolving\n",
>                        elf->name, elf->sym[i].name);
>                 if ( !force )
>                 {
>                     rc = -ENXIO;
>                     break;
>                 }
>             }
> 
> Would be OK then?

Perhaps. "not resolving" isn't quite true when "force" is true, and warnings
would also better not be issued with XENLOG_ERR.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:31:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:31:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710675.1110028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHAh-00082h-UC; Tue, 23 Apr 2024 14:30:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710675.1110028; Tue, 23 Apr 2024 14:30:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHAh-00082a-RD; Tue, 23 Apr 2024 14:30:59 +0000
Received: by outflank-mailman (input) for mailman id 710675;
 Tue, 23 Apr 2024 14:30:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHAg-00082U-8z
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:30:58 +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 18a79fae-017e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:30:56 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-41a7ae25d53so14768495e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:30: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
 r14-20020a05600c458e00b00417e5b71188sm20409631wmo.34.2024.04.23.07.30.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:30: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: 18a79fae-017e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713882656; x=1714487456; 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=ht0m5BcsURQGqtGmxHJYyEq1YxO5Oc16ttLrmedXCUg=;
        b=WLrwY0vcf+e5IpBMalUfRg1sjQL27ddCzizmJEk2z3UMrNkG+pi/bI71HgNaACkOSa
         hRO0UgTTCujgLHNLhGgEI7+aZaYv93XhNgkiHHfaqAVW6VKHrosQH6h8sky+8C1P85/C
         FoQ/gNTYK9EoXv0q6g7ewKL+jHWOjA7CGJVL5GLVpOR2UK5LZCwF5flek/+wP2W1rlM1
         7wakNNLorPo0+7i+sQ0E71OJ1d+enU7FHAMS/w5rWpSGMevIS8u/BtCC3qo8JZAC96HP
         wQ+6X3B8TvEYF0F8zSEYpTVGrQnnSEIRVfwniYkN217uQRTonqVR/9Pblm20ni1HYvh5
         7JVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882656; x=1714487456;
        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=ht0m5BcsURQGqtGmxHJYyEq1YxO5Oc16ttLrmedXCUg=;
        b=Af/rTC5IbpMAziFJdJp+Yje4UgJXHKs+1hsMEmfTmIsXfuFZl08p9Lng7bTUvcEnQr
         /dLUn9L/t23EK291p/HEkUcE5Q87xHHg7WyYxjA8xI7Amm0rZ5wmKaeqUmTUCQS6i33P
         oke/8FUntYDct6zpTlN+1IYq+U0AN9hBLLQOgrNut2FobG6UpW4KN6319Jdh1vMl/EQD
         rY0Bj4iI7C/Hheqhi3WLyRNyFXPDhkIfYfZH3ZM/m2dM8ged8IkBS1O2hIwbGK8Hw3G4
         vE5swM/ZqJc+5C/ivUXR12aZAVHtrYrRJcoYBu7NSuBHF/aG/u2hqRuWkIiCK23OmLWA
         hPtA==
X-Gm-Message-State: AOJu0YyI3UgK0M/+SGSmZZU69Ii2uH8GofYYEjHtMLI6ZKFV9kLq10rD
	8ENG7S/49cn8E1cQIC2GIpC0PCcm3tvUjTTC5g26oBDO0tfnZI3dIuKXCy8qCMmJLk3Ig7gquJE
	=
X-Google-Smtp-Source: AGHT+IGk2hMtL2OOVUi2sq2UFqp423rJGs1Ua7R9nkt0vlQ4skbtwZ9xkHJfL0pEecwim8XuCfAJ+w==
X-Received: by 2002:a05:600c:4ed1:b0:418:2ccf:cbc7 with SMTP id g17-20020a05600c4ed100b004182ccfcbc7mr8710261wmq.2.1713882655848;
        Tue, 23 Apr 2024 07:30:55 -0700 (PDT)
Message-ID: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Date: Tue, 23 Apr 2024 16:30:54 +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>,
 George Dunlap <george.dunlap@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/4] x86/mm: assorted adjustments
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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: P2M: write_p2m_entry() is HVM-only anyway
2: P2M: un-indent write_p2m_entry()
3: paging: vCPU host mode is always set
4: shadow: correct shadow_vcpu_init()'s comment

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:31:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:31:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710679.1110038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHBI-0008Vp-5x; Tue, 23 Apr 2024 14:31:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710679.1110038; Tue, 23 Apr 2024 14:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHBI-0008Vi-3O; Tue, 23 Apr 2024 14:31:36 +0000
Received: by outflank-mailman (input) for mailman id 710679;
 Tue, 23 Apr 2024 14:31:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzHBH-00082U-Jv
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:31:35 +0000
Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com
 [2607:f8b0:4864:20::735])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ed00f88-017e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:31:34 +0200 (CEST)
Received: by mail-qk1-x735.google.com with SMTP id
 af79cd13be357-78f0628da1eso351393685a.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:31:34 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 e8-20020a0caa48000000b006a07be4361bsm2347081qvb.6.2024.04.23.07.31.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 07:31: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: 2ed00f88-017e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713882693; x=1714487493; 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=reFLZmR/8KolDfZUZzGov+btT58hgyoCyffUOYqVZfY=;
        b=MJ4zz+6+vdGgnpIeQO0wtUjxAnJEc1Pa35ZJLBSlYY6+IAG2y1Q5CFHAA39MJAkMAo
         KSDxfoK/WRA8w0n0zNwnWCu6lD5H2fveEvOL2lnEwHF9hrWwBSKu3ueIXQonJx3xxvX9
         il4jNbEac2Fr2Pz07Fwrf4afoRFTYjVftw3bY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882693; x=1714487493;
        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=reFLZmR/8KolDfZUZzGov+btT58hgyoCyffUOYqVZfY=;
        b=qEwe8UE6hy9EdCBz78ctZ3q8DJsmfcuoLzjgdFWEgUzxSMvzC+JlJxfUeVqR8IzzMS
         wkTeUR79tKeXGrXMI/ok9foluol9MrryAlp0a5/NK2tTIotjKWnia+FS3bznaq5HId0S
         Dy04/v8KzlFaDD4pxzYP4kamPY3PAqVJC42daytmPrBxDrBj8CjUC08+MC1N/35ZozH7
         V+ad3mnlQlqp4T+Qi8sMfUh5Mioj73yLT4RUmEVrJS2rninxk93o6VilJYQTAkM6m02q
         QVcNixybWIWAMFYzgxFmXSpNrWvHEVi9xAmd1BXbyGXzDDHLCTU1Z7R6t9CBvxp8R0Cg
         YGlQ==
X-Forwarded-Encrypted: i=1; AJvYcCUsRMto1D/0NuLVQMBvI1kR2no4OyrdTWMaRepHpBf905yj6d+pLErE9lIeuW4F89eLUrujSdOn8jjSGd9bulWP/xCS0o44faDIW4mgj58=
X-Gm-Message-State: AOJu0Yx47OOdHszELlgS1ggtYmXqmo9NxZeZtOt9bMCNQlCZqq8uaovZ
	TGBT4l2PgPlhin3cNSPB97QWd9DuQIidUHs27MGokqBGpdaWXh55ubBNkq88adk=
X-Google-Smtp-Source: AGHT+IEIZSsxfNuwbYLuUcnkXd0zrxuRHQuFGATCUE1lbVIqMffJ2mQmey4cWJlpbvGbypLvgY6cKw==
X-Received: by 2002:a05:6214:186a:b0:6a0:88d1:dc92 with SMTP id eh10-20020a056214186a00b006a088d1dc92mr2573088qvb.13.1713882692952;
        Tue, 23 Apr 2024 07:31:32 -0700 (PDT)
Date: Tue, 23 Apr 2024 16:31:29 +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 v3 4/4] x86/livepatch: perform sanity checks on the
 payload exception table contents
Message-ID: <ZifGQaO8RkveaH0Z@macbook>
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-5-roger.pau@citrix.com>
 <b76f105b-ac92-4759-8e93-64b97232a60c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b76f105b-ac92-4759-8e93-64b97232a60c@suse.com>

On Tue, Apr 23, 2024 at 03:51:31PM +0200, Jan Beulich wrote:
> On 23.04.2024 15:12, Roger Pau Monne wrote:
> > Ensure the entries of a payload exception table only apply to text regions in
> > the payload itself.  Since the payload exception table needs to be loaded and
> > active even before a patch is applied (because hooks might already rely on it),
> > make sure the exception table (if any) only contains fixups for the payload
> > text section.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> In principle
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> Still two comments:
> 
> > --- a/xen/arch/x86/extable.c
> > +++ b/xen/arch/x86/extable.c
> > @@ -228,3 +228,21 @@ unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs)
> >      }
> >      return fixup;
> >  }
> > +
> > +#ifdef CONFIG_LIVEPATCH
> > +bool extable_is_between_bounds(const struct exception_table_entry *ex_start,
> 
> s/between/in/ or even s/is_between/in/? "Between", to me at least, reads
> very much like meaning "exclusive at both ends".

Oh, OK, I don't associate any boundary inclusion with 'between' or
'in'.  The result is shorter, so I like it.

> > +                               const struct exception_table_entry *ex_end,
> > +                               const void *start, const void *end)
> > +{
> > +    for ( ; ex_start < ex_end; ex_start++ )
> > +    {
> > +        const void *addr = (void *)ex_addr(ex_start);
> > +        const void *cont = (void *)ex_cont(ex_start);
> 
> Might be nicer to use _p() here, or not do the comparisons with pointers, but
> instead with unsigned long-s.

No strong opinion regarding whether to use unsigned longs or pointers.
I've used pointers because I think the function parameters should be
pointers, and that avoided doing a cast in the comparison with
obfuscates it (or introducing yet another local variable).

I can switch to _p(), that's indeed better.

Let me know if you have a strong opinion for using unsigned longs,
otherwise my preference would be to leave it with pointers.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:31:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710683.1110048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHBZ-0000Tk-Dk; Tue, 23 Apr 2024 14:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710683.1110048; Tue, 23 Apr 2024 14:31:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHBZ-0000Td-B6; Tue, 23 Apr 2024 14:31:53 +0000
Received: by outflank-mailman (input) for mailman id 710683;
 Tue, 23 Apr 2024 14:31:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHBY-00082U-AH
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:31:52 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39107441-017e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:31:50 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4155819f710so47335975e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:31: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
 fl18-20020a05600c0b9200b0041ae0048b5dsm481577wmb.45.2024.04.23.07.31.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:31: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: 39107441-017e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713882710; x=1714487510; 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=FaBzcTniCeLPDlfDE8HsE9EvmLilsBkel36WuSLRy1M=;
        b=EMgdggwI8sShHy3rL1SjS57lBu9RJhoiF6zZpgfo3MNB2EQM8co0hPqocMwRd+8hCS
         1QdlqXCix91hVVxfMyzuBB55YCakidcxtznjGvh6Cjs3z+wdlV5NgtPUXJzTex4n7paC
         Gp7Qrrfroli3T6XIUrzLxi9V8PxbW3a2hLHCyA4QTBHj4b021KwykLvc8p9Ls7HXXKph
         pktl2fJTMBLfLYvZwp8e8xOT+culbWfaNLyGczG/4yI0qr70vh8PANsPj6PkotSqduZ7
         vreo7kVpfxY/wK29D5nXubaHQD9sNj69n8anYxYRkVjecti4aIAM5VFoJAk1p0577xKV
         orEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882710; x=1714487510;
        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=FaBzcTniCeLPDlfDE8HsE9EvmLilsBkel36WuSLRy1M=;
        b=s84Tdh3kz60Rx3lgapDy21JuEvY0VI+A0mplcKFhsDDPgoMZ33zVpe7h53j1aggc6u
         I6E8UbdKjGr9zr634W3t969AYHcenkjidOeF3XStosEvB35fvxi/QqpXY10q1pWm2IiU
         z0VwxxNF7J6VDjCefamLWhEJe4OFVplsnrCxjE6hdkBRKSqxhjkwag9RxBWJX+PlVo44
         hsXEWd2S46VqJtC7fdAYHVkUDzQfR91STBBZ+ZcYLs3p6MTYOg5tAn5JjekA9N4KJjAw
         J/TKdf/7haHh+Hk/pUF7kntAvkbhFH2y+PD+UaLaZcazoEs4z9Ny9qf1vdMoDQnMUc4M
         MmAA==
X-Gm-Message-State: AOJu0YzsChhdwETx6nn4YeJ0/RYr3m+YdKUhG89FN5rOC3TCZNCBMI1/
	NRPUjhnCbEhNGoBZxXE7V4QPpRVs02r5zAEeYKk6VnnoCYk3jvEdaf3p0UDfXk0XDGOk/r0Jiu8
	=
X-Google-Smtp-Source: AGHT+IHRxjmp9hzeoObXZyflT9qVP9fTo2B7EerM/xNB+brJvEXoz5INBRgPhKuzsbsmi66KqGHClQ==
X-Received: by 2002:a05:600c:1c0f:b0:41a:c170:701f with SMTP id j15-20020a05600c1c0f00b0041ac170701fmr1633663wms.38.1713882710369;
        Tue, 23 Apr 2024 07:31:50 -0700 (PDT)
Message-ID: <296c3ecc-b04d-4734-a451-0d4f9ed312d4@suse.com>
Date: Tue, 23 Apr 2024 16:31:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 1/4] x86/P2M: write_p2m_entry() is HVM-only anyway
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>,
 George Dunlap <george.dunlap@citrix.com>
References: <0d846228-323b-4427-87d1-684c3d0047c5@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: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The latest as of e2b2ff677958 ("x86/P2M: split out init/teardown
functions") the function is obviously unreachable for PV guests. Hence
the paging_mode_enabled(d) check is pointless.

Further host mode of a vCPU is always set, by virtue of
paging_vcpu_init() being part of vCPU creation. Hence the
paging_get_hostmode() check is pointless.

With that the v local variable is unnecessary too. Drop the "if()"
conditional and its corresponding "else".

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I have to confess that this if() has been puzzling me before.

--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -110,12 +110,7 @@ static int write_p2m_entry(struct p2m_do
                            unsigned int level)
 {
     struct domain *d = p2m->domain;
-    const struct vcpu *v = current;
 
-    if ( v->domain != d )
-        v = d->vcpu ? d->vcpu[0] : NULL;
-    if ( likely(v && paging_mode_enabled(d) && paging_get_hostmode(v)) ||
-         p2m_is_nestedp2m(p2m) )
     {
         unsigned int oflags;
         mfn_t omfn;
@@ -156,8 +151,6 @@ static int write_p2m_entry(struct p2m_do
               !perms_strictly_increased(oflags, l1e_get_flags(new))) )
             p2m_flush_nestedp2m(d);
     }
-    else
-        safe_write_pte(p, new);
 
     return 0;
 }



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:32:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:32:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710688.1110059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHBx-00013T-Qn; Tue, 23 Apr 2024 14:32:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710688.1110059; Tue, 23 Apr 2024 14: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 1rzHBx-00013M-Nx; Tue, 23 Apr 2024 14:32:17 +0000
Received: by outflank-mailman (input) for mailman id 710688;
 Tue, 23 Apr 2024 14:32: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHBw-00082U-TL
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:32:16 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47abb492-017e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:32:15 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-41a5b68ed0aso15415335e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07: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
 fl18-20020a05600c0b9200b0041ae0048b5dsm481577wmb.45.2024.04.23.07.32.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:32: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: 47abb492-017e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713882735; x=1714487535; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rxvduw49sEMo1AmOKfLcnwBmnciDEleJ9FmgDixVJkw=;
        b=USsnZDbuB44TcLaBj6Wnp8nCTHWxhmH2lbygjvciwDsuvW1nrrmTLiZzqO9rkzdnLh
         ID0t4e11t+RMwHrX0xYBGspbw1PDOIgQE1zUJChwSPG3NB0np2pijVN9MWL0v4bqEWcl
         pUgtlHHFfwP0+4IHeFuBtLuKUNJQlCj9XavcL7z7BXo8aGFyRyotGxjZF+imb2/ggUJD
         5caoLin57MWj9yb1bkCaJBEXT2mOtBLyCcbzZHyQuStLs8C7dorNTQe/XEtkQDymahhd
         NGGHlwOldZzItAfTQ5LPd3vZdOk1295u0R+SrRuirmWC76JJGg+RNiFO4NIS4NPb+AS+
         TL6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882735; x=1714487535;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rxvduw49sEMo1AmOKfLcnwBmnciDEleJ9FmgDixVJkw=;
        b=NOit2jfFs97oS2NTeVDKhrnTu5ed58K53rbjpBdmVp8NfLTDpVbM9I6nwemIIUgsaX
         RgBo6WKarLO5aNnxzAUIdacCcEnlgbv2W9f0kdyGrK7VJB1BdwpFvYWXoVQjNLvXkta5
         1oSYhWfQLk3o0XIDWmAZ8GhhLsOKz+zcm9D43vTwESAOL0Fm0Q9rXVkhHI9cLAIYY82V
         53H3ZF99f+/6ragn+keLbh4H8LJJl5VKlRna3IUXocHm7s4Ui6JXWnpJUMcwM+k6sc4C
         L2LB5gEclKHy58q40DAaubWf+bpiYDg4cJYl3Ukqg18WobndA0RjV8rEb5zlrAu4Vv5N
         pmCw==
X-Gm-Message-State: AOJu0YyNLRN9H4dL+SUZIpXLmaTQg5yW8H0b6hgDkRKOJ5dyubwUCQKO
	LJ8y82bU/0bJJcjYVUERwcsxaQteorfD8yX6JVU/bfhbopcI+SRPaj36AM5nJCi0MTO0J68jKX4
	=
X-Google-Smtp-Source: AGHT+IEJc+Eu3hdLEKjEJgge/Jbryo6rZHXTd6WRUSDkXXMZiUPVZcAJQORr5j/lVcxqLE0mZVCfNA==
X-Received: by 2002:a05:600c:1d15:b0:41a:41c8:d8e7 with SMTP id l21-20020a05600c1d1500b0041a41c8d8e7mr4598456wms.3.1713882734733;
        Tue, 23 Apr 2024 07:32:14 -0700 (PDT)
Message-ID: <52b4b0d8-1761-45c7-b6e6-91e1c308209c@suse.com>
Date: Tue, 23 Apr 2024 16:32:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 2/4] x86/P2M: un-indent write_p2m_entry()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Drop the inner scope that was left from earlier if/else removal. Take
the opportunity and make the paging_unlock() invocation common to
success and error paths, though.

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

--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -110,49 +110,43 @@ static int write_p2m_entry(struct p2m_do
                            unsigned int level)
 {
     struct domain *d = p2m->domain;
-
+    unsigned int oflags;
+    mfn_t omfn;
+    int rc;
+
+    paging_lock(d);
+
+    if ( p2m->write_p2m_entry_pre && gfn != gfn_x(INVALID_GFN) )
+        p2m->write_p2m_entry_pre(d, gfn, *p, new, level);
+
+    oflags = l1e_get_flags(*p);
+    omfn = l1e_get_mfn(*p);
+
+    rc = p2m_entry_modify(p2m, p2m_flags_to_type(l1e_get_flags(new)),
+                          p2m_flags_to_type(oflags), l1e_get_mfn(new),
+                          omfn, level);
+    if ( !rc )
     {
-        unsigned int oflags;
-        mfn_t omfn;
-        int rc;
-
-        paging_lock(d);
-
-        if ( p2m->write_p2m_entry_pre && gfn != gfn_x(INVALID_GFN) )
-            p2m->write_p2m_entry_pre(d, gfn, *p, new, level);
-
-        oflags = l1e_get_flags(*p);
-        omfn = l1e_get_mfn(*p);
-
-        rc = p2m_entry_modify(p2m, p2m_flags_to_type(l1e_get_flags(new)),
-                              p2m_flags_to_type(oflags), l1e_get_mfn(new),
-                              omfn, level);
-        if ( rc )
-        {
-            paging_unlock(d);
-            return rc;
-        }
-
         safe_write_pte(p, new);
 
         if ( p2m->write_p2m_entry_post )
             p2m->write_p2m_entry_post(p2m, oflags);
+    }
 
-        paging_unlock(d);
+    paging_unlock(d);
 
-        if ( nestedhvm_enabled(d) && !p2m_is_nestedp2m(p2m) &&
-             (oflags & _PAGE_PRESENT) &&
-             !p2m_get_hostp2m(d)->defer_nested_flush &&
-             /*
-              * We are replacing a valid entry so we need to flush nested p2ms,
-              * unless the only change is an increase in access rights.
-              */
-             (!mfn_eq(omfn, l1e_get_mfn(new)) ||
-              !perms_strictly_increased(oflags, l1e_get_flags(new))) )
-            p2m_flush_nestedp2m(d);
-    }
+    if ( !rc && nestedhvm_enabled(d) && !p2m_is_nestedp2m(p2m) &&
+         (oflags & _PAGE_PRESENT) &&
+         !p2m_get_hostp2m(d)->defer_nested_flush &&
+         /*
+          * We are replacing a valid entry so we need to flush nested p2ms,
+          * unless the only change is an increase in access rights.
+          */
+         (!mfn_eq(omfn, l1e_get_mfn(new)) ||
+          !perms_strictly_increased(oflags, l1e_get_flags(new))) )
+        p2m_flush_nestedp2m(d);
 
-    return 0;
+    return rc;
 }
 
 // Find the next level's P2M entry, checking for out-of-range gfn's...



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:32:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710690.1110068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHCG-0001WN-2T; Tue, 23 Apr 2024 14:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710690.1110068; Tue, 23 Apr 2024 14:32:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHCF-0001WG-W3; Tue, 23 Apr 2024 14:32:35 +0000
Received: by outflank-mailman (input) for mailman id 710690;
 Tue, 23 Apr 2024 14:32:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHCE-00082U-HQ
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:32:34 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52432252-017e-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:32:33 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-41a4f291f80so18825825e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:32: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
 fl18-20020a05600c0b9200b0041ae0048b5dsm481577wmb.45.2024.04.23.07.32.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:32: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: 52432252-017e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713882752; x=1714487552; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UqfbDwnUwSfB2mqt9VJQheXNCjV8uwEuyxbCPQDuBZg=;
        b=Y1psqdjsMqN0Us8SpXkgaoZqMXtZHpSLs65bx7v3Rzmp3hcTP5eO23qv+UQYIB6mOG
         4+u4vyzyxRIF0YE7JstSwfP6e9hbEiW/k5Zh2DZib1KZucmtUNkq5dr/TIBTAHil6IRK
         Vr3JNgKgfJg/T4/1tb2XE0mei6tMy4ERSi3vn9yty2S4dv74qvgX9EULqF4ADi9aBGws
         Z94qLkXma697DMP9rqo6l6aufGQ094Y+1otDg5+bWIk5/wFGezIxHPCGICcoPpUuIlGo
         rfxmH1fqN304rxDdMzYfI91tzHfh/nIvrD9fBoA4lybCiwt3PnuIqHtOGiUXqm6LHu+H
         07Vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882752; x=1714487552;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UqfbDwnUwSfB2mqt9VJQheXNCjV8uwEuyxbCPQDuBZg=;
        b=QEbuZvwE4aY4zd8vXu6LIKTZJDO+owZcUccbz6xDIJpswW6/4myo7vfZAZNJRZErfF
         BruBWfXU+MBk9MfXv8DFckTjE5PwrLYCFSmm8jSJ2YsnH/DOGmNEti07E516aGXn+S9b
         GdfrftcCom8ld3cIWDHMrsBrCmPgpN7eclMQq7ggf6UxrTV4EeLTIdP0QgjvsrN1LKI2
         7NQqBtxSaiqwjafVg6MVxAzOG1mdUVYVUqRQpD4j9pFW4wnLB0STjKK08eJlkBYgCcal
         DlpHVVBxMLQ5N9FR9VEdG3YN8emU+Ldt7vcu0w5+cENwE94E+ZxObJ2yMQ4mD68gBiND
         16Bg==
X-Gm-Message-State: AOJu0YzvVqzkXdZr2uLdRfEFoUkl5xjhbpGLD2h1hlNXfc3QvSPeqPCn
	5q3PU2eI4xTkR0ORuY0h96rdYA/mxqE1sdtZaYyGpUnj21kEtrzGKek+AFhOdi56J4+qTn2lHt0
	=
X-Google-Smtp-Source: AGHT+IHu3HP7wLmspoWlz+cFqPiemlWMuXgZIHW+cU9H0awHdI4caRRCQ1twIyPtsW28bc2DjudTKg==
X-Received: by 2002:a05:600c:1c0f:b0:41a:c170:701f with SMTP id j15-20020a05600c1c0f00b0041ac170701fmr1635411wms.38.1713882752571;
        Tue, 23 Apr 2024 07:32:32 -0700 (PDT)
Message-ID: <67805c1f-7187-446c-a5c4-14be8f170f11@suse.com>
Date: Tue, 23 Apr 2024 16:32:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 3/4] x86/paging: vCPU host mode is always set
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

... thanks to paging_vcpu_init() being part of vCPU creation. Further
if paging is enabled on a domain, it's also guaranteed to be either HAP
or shadow. Drop respective unnecessary (parts of) conditionals.

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

--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -937,19 +937,12 @@ void paging_dump_vcpu_info(struct vcpu *
     {
         printk("    paging assistance: ");
         if ( paging_mode_shadow(v->domain) )
-        {
-            if ( paging_get_hostmode(v) )
-                printk("shadowed %u-on-%u\n",
-                       paging_get_hostmode(v)->guest_levels,
-                       paging_get_hostmode(v)->shadow.shadow_levels);
-            else
-                printk("not shadowed\n");
-        }
-        else if ( paging_mode_hap(v->domain) && paging_get_hostmode(v) )
+            printk("shadowed %u-on-%u\n",
+                   paging_get_hostmode(v)->guest_levels,
+                   paging_get_hostmode(v)->shadow.shadow_levels);
+        else
             printk("hap, %u levels\n",
                    paging_get_hostmode(v)->guest_levels);
-        else
-            printk("none\n");
     }
 }
 



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:33:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:33:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710695.1110078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHCr-0002K4-9i; Tue, 23 Apr 2024 14:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710695.1110078; Tue, 23 Apr 2024 14: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 1rzHCr-0002Jx-75; Tue, 23 Apr 2024 14:33:13 +0000
Received: by outflank-mailman (input) for mailman id 710695;
 Tue, 23 Apr 2024 14:33:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHCp-0002IN-Oe
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:33:11 +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 68a7f8bc-017e-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 16:33:10 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41a442c9dcbso18490745e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:33: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
 fl18-20020a05600c0b9200b0041ae0048b5dsm481577wmb.45.2024.04.23.07.33.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:33: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: 68a7f8bc-017e-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713882790; x=1714487590; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BFXNdq6YoYaequ8GhZeipZXfz1Szm9kVsf7MfcSDAGw=;
        b=B7VEUe+lMhdfjrmQzYoo5MbIZQSpGeCVkwG7ZzFU4j5+Xr014wVccC1AxJIau+B66n
         KtTGmE51cSQbFGXUTdZ2I8XMiGiRIqzulvynLvh6DLVpo8boa7EzIyB1mq4xSMDzKaAf
         bymhaok4XLkIKe/m/1sXTGtRoIBidAA3Rx6fObkzmGYtNgHZeXbo8tSeEjiGX/5K5cf+
         rMgAXyikv66LfrF7cFRCFbcH/hfjZjSQ4o3QqR8Gd0YTO+/mNXmtSSEUKA3J8a2gRJAi
         g5a+CElhUf6cKImwIeRzGVYjeXm0PkTzK0tWvlMOkChCBuzjn+mI/kBK1ipLxNZHg67S
         NWag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882790; x=1714487590;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BFXNdq6YoYaequ8GhZeipZXfz1Szm9kVsf7MfcSDAGw=;
        b=SkvCAjXHkn4deoDrMJCyk1KTNy33yS4PUN0o4V8QdW9bAtlSi5rgIHZaKs6NhzSZPa
         sNgYfIFP4OposW2jf3sSnVrDdUuMUICh1WBBfNuR7BG6XYHPyntjWkkFMmmdSA+6UELM
         pWaATMlNu0tr1VX7ybcWhBACpgFo5rdaDzCglH1a/Mo+XolKlMCpVhcvWqnG8MpfbBKR
         rZoQrowqhtStS4lTWJTed9MMmdEcZWL9FXqT+bqd6vBneHhta+yjbsv0k4Hommvo4DqZ
         O9HXa9zrjLXb/roT2syMjT8m4TrWmuudtjvDQkFBxPTNRxEs8UkTH9E1DdU6xX7ygMhA
         fkEQ==
X-Gm-Message-State: AOJu0YxWbSAL7gb5EX8rGfQ7jytmjNUvBRy8ObcA/f24NXeJBgN47zTU
	YxcWbmxupyvOOZ2NyCNN0gUqH9d5Y4C2Qzp1i2fYcu3Qe/pC8+k+JeEVlAW6rEcwVsVMb8QP/AQ
	=
X-Google-Smtp-Source: AGHT+IH4QlFNBVmeCCGL/PoVHIfnC99naWmpwVMbrulsdRX9vlXd2W1Zm1HJYRSMV8b8NdXmyofDrQ==
X-Received: by 2002:a05:600c:348e:b0:41a:b961:9495 with SMTP id a14-20020a05600c348e00b0041ab9619495mr1366338wmq.25.1713882790229;
        Tue, 23 Apr 2024 07:33:10 -0700 (PDT)
Message-ID: <fea51839-4405-4330-8493-c544b9edf035@suse.com>
Date: Tue, 23 Apr 2024 16:33:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 4/4] x86/shadow: correct shadow_vcpu_init()'s comment
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

As of the commit referenced below the update_paging_modes() hook is per-
domain and hence also set (already) during domain construction.

Fixes: d0816a9085b5 ("x86/paging: move update_paging_modes() hook")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -99,11 +99,12 @@ int shadow_domain_init(struct domain *d)
     return 0;
 }
 
-/* Setup the shadow-specfic parts of a vcpu struct. Note: The most important
- * job is to initialize the update_paging_modes() function pointer, which is
- * used to initialized the rest of resources. Therefore, it really does not
- * matter to have v->arch.paging.mode pointing to any mode, as long as it can
- * be compiled.
+/*
+ * Setup the shadow-specific parts of a vcpu struct. Note: The
+ * update_paging_modes() function pointer, which is used to initialize other
+ * resources, was already set during domain creation. Therefore it really does
+ * not matter to have v->arch.paging.mode pointing to any (legitimate) mode,
+ * as long as it can be compiled.
  */
 void shadow_vcpu_init(struct vcpu *v)
 {



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:35:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:35:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710703.1110088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHFD-0003q8-La; Tue, 23 Apr 2024 14:35:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710703.1110088; Tue, 23 Apr 2024 14:35:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHFD-0003q1-Ix; Tue, 23 Apr 2024 14:35:39 +0000
Received: by outflank-mailman (input) for mailman id 710703;
 Tue, 23 Apr 2024 14:35:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHFC-0003pv-Uv
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:35:38 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c078658b-017e-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 16:35:38 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-34b64b7728cso825775f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:35: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
 a12-20020a056000050c00b00349ac818326sm14807065wrf.43.2024.04.23.07.35.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:35: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: c078658b-017e-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713882937; x=1714487737; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cY8o8c6KuDv2121lopt9EwZKeOgy645xmnimRBA/QZM=;
        b=DblQETabBG9JYj30rPvo5b10nyMOm2eUEtM/6JuFKGc7xLvyoLLAzu6avmLFvuAdJX
         2GCh3L+v9rSyNxLeCelFwepISkUiaPMgDkzUNV/vttZIm94/UfT9B1DiOYxY6NK0+x/A
         oEtc0Uuaf+1FuaAwmc+xS6kIYAvwHtXRJgxn5TO+segNYvwfmrpOUNnZG/5wUQ3WWHqy
         5Jzgsh5ZTMjChzPnzjuME5Adn4ocK7CAqbBDsNfPfi3YOxKt9jq2jd32wleRXnUiGvbn
         hsd6ct7RyS7rCm574DJyAPgo66o8rM9vS/FDNA/Ab6lsjOD8eWWMqAqF1PlTg+p0Ufaw
         q4Og==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713882937; x=1714487737;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=cY8o8c6KuDv2121lopt9EwZKeOgy645xmnimRBA/QZM=;
        b=vI+WhWkH/czbB+T9iWjz+izc7GQ2/pLtJxQmL3QjvG9KVrWXR1eCLs7IjMw9LOJAwv
         alFVLmjwaKZqSV6I6Y2jbOXskP3NWQFdVJKWMfhsgzxcjkxxvwALhse8qASdgdziI26f
         l641Q+m9/QsjDWqq0Lk1Kf55iUGyhwyjNOlxDcSdqhU8LuLXAQZKUPSCziQFvTjhWjoZ
         AtsVxnnoCN+nTAfvCEZo7qBSqmGwz/shGA5Pb/whBPjrfMuNlHdJQzKFThqmBu03RqGD
         q5IeJOlZo4Zkz1gRfYmaH3tg/gudD62iF/Yz65tgaBt5/zr5uf1ZHK7xBt/z7SRWq7de
         BZtA==
X-Forwarded-Encrypted: i=1; AJvYcCULxLOTU/EafcyWMSbSEgXuLeGOiCYv5bnbh7iXMzBjMVZJZdcZfEOMwfngOHXtmzcw+JWpIINidN8c370EH1XMey9UCaG4XcZEJCzxXq4=
X-Gm-Message-State: AOJu0YzkA8K5kyExS74tAaS/UJBfMW2K1C88eNtc55CovCcFj2ny5CSY
	l9gpZamcxEiHnGjhlvRsnQRVrdbuh0N3WbEb7rc1r54kfR8vxWSYvgIgry2BVw==
X-Google-Smtp-Source: AGHT+IEh8xXBTHbFfFRq/vv/iBtmw6XlibrwmSSIsFztnAz8suv5Iw4N6xKnU0+09OFgAh9e8pvPTA==
X-Received: by 2002:a5d:4082:0:b0:343:b5f0:f511 with SMTP id o2-20020a5d4082000000b00343b5f0f511mr7544166wrp.12.1713882937442;
        Tue, 23 Apr 2024 07:35:37 -0700 (PDT)
Message-ID: <50425a7c-2284-431c-8946-6f6ccf73b507@suse.com>
Date: Tue, 23 Apr 2024 16:35:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] x86/livepatch: perform sanity checks on the
 payload exception table contents
Content-Language: en-US
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: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-5-roger.pau@citrix.com>
 <b76f105b-ac92-4759-8e93-64b97232a60c@suse.com> <ZifGQaO8RkveaH0Z@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZifGQaO8RkveaH0Z@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 16:31, Roger Pau Monné wrote:
> On Tue, Apr 23, 2024 at 03:51:31PM +0200, Jan Beulich wrote:
>> On 23.04.2024 15:12, Roger Pau Monne wrote:
>>> Ensure the entries of a payload exception table only apply to text regions in
>>> the payload itself.  Since the payload exception table needs to be loaded and
>>> active even before a patch is applied (because hooks might already rely on it),
>>> make sure the exception table (if any) only contains fixups for the payload
>>> text section.
>>>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>
>> In principle
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> Still two comments:
>>
>>> --- a/xen/arch/x86/extable.c
>>> +++ b/xen/arch/x86/extable.c
>>> @@ -228,3 +228,21 @@ unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs)
>>>      }
>>>      return fixup;
>>>  }
>>> +
>>> +#ifdef CONFIG_LIVEPATCH
>>> +bool extable_is_between_bounds(const struct exception_table_entry *ex_start,
>>
>> s/between/in/ or even s/is_between/in/? "Between", to me at least, reads
>> very much like meaning "exclusive at both ends".
> 
> Oh, OK, I don't associate any boundary inclusion with 'between' or
> 'in'.  The result is shorter, so I like it.
> 
>>> +                               const struct exception_table_entry *ex_end,
>>> +                               const void *start, const void *end)
>>> +{
>>> +    for ( ; ex_start < ex_end; ex_start++ )
>>> +    {
>>> +        const void *addr = (void *)ex_addr(ex_start);
>>> +        const void *cont = (void *)ex_cont(ex_start);
>>
>> Might be nicer to use _p() here, or not do the comparisons with pointers, but
>> instead with unsigned long-s.
> 
> No strong opinion regarding whether to use unsigned longs or pointers.
> I've used pointers because I think the function parameters should be
> pointers, and that avoided doing a cast in the comparison with
> obfuscates it (or introducing yet another local variable).
> 
> I can switch to _p(), that's indeed better.
> 
> Let me know if you have a strong opinion for using unsigned longs,
> otherwise my preference would be to leave it with pointers.

Especially if you want to stick to pointer function arguments - no, no
strong opinion.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:43:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:43:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710719.1110098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHMr-0005wd-M4; Tue, 23 Apr 2024 14:43:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710719.1110098; Tue, 23 Apr 2024 14:43:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHMr-0005vs-JA; Tue, 23 Apr 2024 14:43:33 +0000
Received: by outflank-mailman (input) for mailman id 710719;
 Tue, 23 Apr 2024 14:43: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=nbx+=L4=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rzHMq-0005uu-9T
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:43:32 +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 dae55597-017f-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 16:43:31 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-51bae805c56so786769e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:43: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: dae55597-017f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713883411; x=1714488211; 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=Vz7IkZGrmWBOqz5pqoOo7iSNq0wtc0CcGjgCgxPAiCo=;
        b=JH75vmSLREB/rkFT6LgWNkM6TaXzJoGqa81dRldr0vt1PlyqnrYWo4VvEdTUOO+i9i
         ixmTT8QhG4ph4BvSt/kz91YJ7CAbEu0VrzcO2Emq68E3FmXwBdDJx3/M2c+/ipMUFD2I
         vGpLe2JrDQfUF6+gd8jhPgugW+pmD4eMjqTDI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713883411; x=1714488211;
        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=Vz7IkZGrmWBOqz5pqoOo7iSNq0wtc0CcGjgCgxPAiCo=;
        b=bVcb2EmGsSGb+ctEosb8GqUSqcrKzkkocJr2a/mT0KelDILpzgXgVp6n/vtTsCLJps
         N4XcpCugMcaNLANt8ALF61f10zW0/vvgz9vqQig598wHzndihbfsBJXMiwl0l7szpxOK
         CktfeXc54+rwbdusC4KAGy0j7aDhtJ9294NUS1KixqYYVaW6I31B+I0IylS0z41HnEKS
         +sAqFRAEqjY8b1CwEVLadYXypGU0615nsIsUCj0KAN0SJnC+71VN9SeTIRqRA+Mj6L4Q
         CoVMVlRsBFPu601hRNJIEFhQzpIKFv74Nbnyz2QehImwbiWaLrWlnNFtZ5meLEtKJp64
         mgZQ==
X-Forwarded-Encrypted: i=1; AJvYcCUv++NY+2DAMO60nWimrEFkA5JPQZMD47p49In1C1OjGpxZg0GV63Mnmt26yex8mW+Fogcwe6QZhfe0nSRs7bxp6MfWnwfDr1Zk2vBXQcI=
X-Gm-Message-State: AOJu0YzrtxQHmsHj+soGxrSTid8imlWcHzxBhTw5cUkO5lcRmYzU1McC
	UlEinoYyiB36DpQuhoKMuzqtja/LHM91HMgGEaPm7I+v7VdE/sW0JdAIw+4P7DpoOTttBll3Xhv
	2tVlPT2H1b4mvdBueHKxfR/ZTx7mqtOXissrFmA==
X-Google-Smtp-Source: AGHT+IH8RgoGMQCcEJmGLSWjcDPDgbogMBhW24HuU95gxq4LiZq/qQutaDf2/IdrSbnShWkuNS9g2putIJYVn4CbSbc=
X-Received: by 2002:a05:6512:b0b:b0:51b:398f:ce40 with SMTP id
 w11-20020a0565120b0b00b0051b398fce40mr4801446lfu.10.1713883411079; Tue, 23
 Apr 2024 07:43:31 -0700 (PDT)
MIME-Version: 1.0
References: <20240416091546.11622-1-fouad.hilly@cloud.com> <20240416091546.11622-3-fouad.hilly@cloud.com>
 <9600cd58-3530-4037-bf3c-aa6038b18fa5@suse.com>
In-Reply-To: <9600cd58-3530-4037-bf3c-aa6038b18fa5@suse.com>
From: Fouad Hilly <fouad.hilly@cloud.com>
Date: Tue, 23 Apr 2024 15:43:19 +0100
Message-ID: <CAJKAvHZNANZ_E1tEs0Op_LvWD7W1RzW34bPNNBu8VWB1O97NNQ@mail.gmail.com>
Subject: Re: [PATCH v2 2/5] x86: Refactor microcode_update() hypercall with flags
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>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 22, 2024 at 3:18=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 16.04.2024 11:15, Fouad Hilly wrote:
> > Refactor microcode_update() hypercall by adding flags field.
> > Introduce XENPF_microcode_update2 hypercall to handle flags field.
> > struct xenpf_microcode_update updated to have uint32_t flags at
> > the end of the sturcture.
> >
> > [v2]
> > 1- Update message description to highlight interface change.
> > 2- Removed extra empty lines.
> > 3- removed unnecessary define.
> > 4- Corrected long lines.
> > 5- Removed ternary operator.
> > 6- Introduced static ucode_update_flags, which will be used later to de=
termine local ucode_force_flag.
>
> Non-style comments on v1 have remained un-addressed. Specifically, to
> give an example, while 1 says you now highlight the interface change,
> the request was to explain why changing an existing structure is okay
> (hint: it likely isn't, as the structure size changes for compat [aka
> 32-bit] callers).

I see your point now, I will keep the stable ABI as is.
>
> I'm not going to give the same comments again; I'll rather expect you to
> respond to them by either adjustments to the patch (or its description),
> or by verbal replies.
I will respond to your V1 comment on the previous email to keep things inli=
ned
>
> Jan

Thanks,

Fouad


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:44:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:44:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710721.1110109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHNf-0006RJ-VU; Tue, 23 Apr 2024 14:44:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710721.1110109; Tue, 23 Apr 2024 14:44:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHNf-0006RC-Sp; Tue, 23 Apr 2024 14:44:23 +0000
Received: by outflank-mailman (input) for mailman id 710721;
 Tue, 23 Apr 2024 14:44: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHNe-0005uu-3l
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:44:22 +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 f8828595-017f-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 16:44:21 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-41a523e2888so17182835e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:44: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
 r18-20020a05600c35d200b00418d434ae4esm20451714wmq.10.2024.04.23.07.44.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:44: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: f8828595-017f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713883461; x=1714488261; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=5R7s02c8bPhRZ4CE6CnK1FXEnzWNWhfeaNeAUVkLHRI=;
        b=Ec9qAFEll+mAZ94Vh70dzgPA/EsvqZTkecS3XYhFHD7sUl7VIYDHJHuYZGhZYSdXeI
         A1yz9aBJvS4oc57f5kY+CpGZ3zO2HP20u7egdAEdcbpE2IO9XkKxn18n368eR6FWOat8
         Pva3gqC4etfu4ZYAHHO1SwhcSJwxbO1CUI1zNKJIusZfaaLrk2JNgr6cA1kT/2lwU7/m
         X0A4t8xxw+MudW43t3hYHr7NldfUbXesxjra9IbpFK7MUeSjk6VJzeuyR0+jECUiiPfu
         clkK/OGnnOkhm/lXQ/uTpyURzk7eo2X7y9DcNiLvfVoCMo7JKixeRA9/3fBHOkSA9akQ
         s5vQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713883461; x=1714488261;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=5R7s02c8bPhRZ4CE6CnK1FXEnzWNWhfeaNeAUVkLHRI=;
        b=UY2jI/XBT5WTC9QMYaXUrd8bPF3rDITtOfVvzoHRCNmg6lHicOaPd2t3U51yKcFRJX
         fyk1/ni9gwV5UzyjIUVv1/irHqrNa5viFjL7cQitSOV6AZROk78yFalxOr2iHc+5qY4M
         kUK54GdIl0bF4ZkCvZ65J+s2uP8BnlVVzJu1aZEoBr95smBFGPbFWz44Of4nqNeGtX0t
         hLsjpNEkbtZzVC1xmiBY30lM34LtopZLKwMTxfUSvY120kLX5SwhrtsxysG4hFGBVVTK
         oDOmP6PX1paUD20QkgmcemWF84ZratoejlxaxE6Ni/hiDwimMwC+blAKU7pwYNWU8OPl
         xn0w==
X-Forwarded-Encrypted: i=1; AJvYcCV6z/NSnFiyH9oDzv0lcUtKInxgCbk+q9C9WpwAuY6417a985FTBrwMb5Wlefop5xqERNcepil42kgCVI4I5PZ1pn1c2YLu0yq0bmSxZe8=
X-Gm-Message-State: AOJu0Yx/S3TZ9/Y3+i3mmFD/KncT4cj2e1kAPaL28GzUhTU3graJnF5L
	zJtQT744R/Fj4jMszxWKWbpv8jZ+3+NDjqsBcNk5RlgVxvNZ2DxWutMnQdEFxg==
X-Google-Smtp-Source: AGHT+IEifz09LEg355SuCBD7w2uaRejBiwSQxtPDH4Fg3veYD+I7r0Atwrf1CnxHSnHoODUyWJsB5Q==
X-Received: by 2002:a05:600c:34cb:b0:41a:5d49:6143 with SMTP id d11-20020a05600c34cb00b0041a5d496143mr4596319wmq.12.1713883460945;
        Tue, 23 Apr 2024 07:44:20 -0700 (PDT)
Message-ID: <b1333d62-b738-4a61-9c68-ba7903f2e92d@suse.com>
Date: Tue, 23 Apr 2024 16:44:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] x86/alternative: Walk all replacements in debug
 builds
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

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>

One further suggestion and a question, though:

> @@ -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) )
> +    {
> +        struct alt_instr *a;
> +
> +        for ( a = __alt_instructions;
> +              a < __alt_instructions_end; ++a )
> +        {
> +            void *repl = ALT_REPL_PTR(a);
> +            void *ip = repl, *end = ip + a->repl_len;
> +
> +            if ( !a->repl_len )
> +                continue;
> +
> +            for ( x86_decode_lite_t res; ip < end; ip += res.len )
> +            {
> +                res = x86_decode_lite(ip, end);
> +
> +                if ( res.len <= 0 )
> +                {
> +                    printk("Alternative for %ps [%*ph]\n",
> +                           ALT_ORIG_PTR(a), a->repl_len, repl);
> +                    panic("Unable to decode instruction at +%u in alternative\n",
> +                          (unsigned int)(unsigned long)(ip - repl));

Instead of the double cast, maybe better use +%lu? And really we ought to
have support for %tu, allowing the other cast t be dropped here, too.

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

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:45:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:45:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710152.1110124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHOY-00075k-HM; Tue, 23 Apr 2024 14:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710152.1110124; Tue, 23 Apr 2024 14: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 1rzHOY-000755-CH; Tue, 23 Apr 2024 14:45:18 +0000
Received: by outflank-mailman (input) for mailman id 710152;
 Mon, 22 Apr 2024 17:01:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iDho=L3=gmail.com=willemdebruijn.kernel@srs-se1.protection.inumbo.net>)
 id 1ryx2P-0001NP-Qw
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 17:01:05 +0000
Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com
 [2607:f8b0:4864:20::729])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e76a8fbd-00c9-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 19:01:04 +0200 (CEST)
Received: by mail-qk1-x729.google.com with SMTP id
 af79cd13be357-78edc0f9636so304242685a.2
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 10:01:04 -0700 (PDT)
Received: from localhost (164.146.150.34.bc.googleusercontent.com.
 [34.150.146.164]) by smtp.gmail.com with ESMTPSA id
 j12-20020a05620a0a4c00b0078d6120fad0sm4468257qka.108.2024.04.22.10.01.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 10:01: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: e76a8fbd-00c9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713805264; x=1714410064; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:subject:references
         :in-reply-to:message-id:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qanenk0rOwdnK1RUZMGAjBSg7F/9gtEp8HpQbOgYLJw=;
        b=hWGmTiZ1/5A3aRkq1NvqEtV7cLcXJ1DzxN2Fx0FcL3Kz5soPi3IpN5iD82AOVucN4U
         T44D3taL7p5bZn+AmSOhKFKKmRyZ/bvxvbdXk2/hZoqzr/6it1NpoUwZzGMwmbjd43E8
         Gc1a+xPHrK+q5d0SVfYHKGzrNTZxbRYBndsn1zmq686xI68lvXWs2Ayb70Ng9pjaz9PP
         Lbl9+Em0ljJ5BBxOaxA8H+6sDYmnCAII+PpJqfkIsyiaXkXAiD/YBYe2W04S60GZNgbw
         BtkcEZrNTxsEHfAWhZMos2N7mj02faUNUKUsvgfKGei1VejL8jcQCVPIxXGFGuPPNWez
         d2Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713805264; x=1714410064;
        h=content-transfer-encoding:mime-version:subject:references
         :in-reply-to:message-id:cc:to:from:date:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=qanenk0rOwdnK1RUZMGAjBSg7F/9gtEp8HpQbOgYLJw=;
        b=j5xIor/7P60flt6rNRLjFB3XkCOBUInDMEtviGdUPxM274V4r5cooJ0Ar4/h7PdsyA
         6QyQslMoISabK6c19MmEd33OmlWadj2t7fnfMKt59HvbQzWvGD9k45gPzTV6Ei4T7TKh
         R2ILG3cSG3nk0dWwgXZZeUXf7ayDW5fTGj4qKBKSceMGrc96UWf0Sn0Wrzfwj2KPnga3
         kR/mZ7K2JZEDDaCWQKeUJoTgOWy6NpTsiDFYiH6fYPFUxT8r9Vy3CQ5bYUnsEVtS+YvC
         qkIGI9k9qiCJ6lAUZHTdY5fSGJe8C7DAnC0N4h3j8K/iN+SdaZuyvHifPqI7xKTCSPkM
         RV6g==
X-Forwarded-Encrypted: i=1; AJvYcCUFFw1PJtz+LuSzQ+nzD7TpYIn7nNY3ngvChk6ETSj6xeNco0XYY8u88KzYySOpicVjeYFwXQ3OLq4RVzDZVxVfs9x2WsMEaZsc9N9HR3w=
X-Gm-Message-State: AOJu0YzDCoZKc64TNKJLoRKe+8LIkYBaROHVfhArrDC9Z5r1YCTgfs8i
	VpihqIdNZu0GXItN0YIRtqILm8Uj3AWKtHHJZLDz70rR9gWf+ZXp
X-Google-Smtp-Source: AGHT+IFCpIo7/SLWyIv8N6OtBqSGdbVdoaFQ0NI9Dz45ssmy5gm1tR1kWrL5XUahomCwRIDa2Lt9fA==
X-Received: by 2002:a05:620a:4ac5:b0:78d:66b6:a786 with SMTP id sq5-20020a05620a4ac500b0078d66b6a786mr12207280qkn.35.1713805263653;
        Mon, 22 Apr 2024 10:01:03 -0700 (PDT)
Date: Mon, 22 Apr 2024 13:01:03 -0400
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Pavel Begunkov <asml.silence@gmail.com>, 
 io-uring@vger.kernel.org, 
 netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>, 
 asml.silence@gmail.com, 
 "David S . Miller" <davem@davemloft.net>, 
 Jakub Kicinski <kuba@kernel.org>, 
 David Ahern <dsahern@kernel.org>, 
 Eric Dumazet <edumazet@google.com>, 
 Willem de Bruijn <willemdebruijn.kernel@gmail.com>, 
 Jason Wang <jasowang@redhat.com>, 
 Wei Liu <wei.liu@kernel.org>, 
 Paul Durrant <paul@xen.org>, 
 xen-devel@lists.xenproject.org, 
 "Michael S . Tsirkin" <mst@redhat.com>, 
 virtualization@lists.linux.dev, 
 kvm@vger.kernel.org
Message-ID: <662697cf21177_753929488@willemb.c.googlers.com.notmuch>
In-Reply-To: <b7918aadffeb787c84c9e72e34c729dc04f3a45d.1713369317.git.asml.silence@gmail.com>
References: <cover.1713369317.git.asml.silence@gmail.com>
 <b7918aadffeb787c84c9e72e34c729dc04f3a45d.1713369317.git.asml.silence@gmail.com>
Subject: Re: [PATCH io_uring-next/net-next v2 2/4] net: add callback for
 setting a ubuf_info to skb
Mime-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: 7bit

Pavel Begunkov wrote:
> At the moment an skb can only have one ubuf_info associated with it,
> which might be a performance problem for zerocopy sends in cases like
> TCP via io_uring. Add a callback for assigning ubuf_info to skb, this
> way we will implement smarter assignment later like linking ubuf_info
> together.
> 
> Note, it's an optional callback, which should be compatible with
> skb_zcopy_set(), that's because the net stack might potentially decide
> to clone an skb and take another reference to ubuf_info whenever it
> wishes. Also, a correct implementation should always be able to bind to
> an skb without prior ubuf_info, otherwise we could end up in a situation
> when the send would not be able to progress.
> 
> Reviewed-by: Jens Axboe <axboe@kernel.dk>
> Reviewed-by: David Ahern <dsahern@kernel.org>
> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>

Reviewed-by: Willem de Bruijn <willemb@google.com>


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:45:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:45:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710149.1110119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHOY-00072W-84; Tue, 23 Apr 2024 14:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710149.1110119; Tue, 23 Apr 2024 14: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 1rzHOY-00072P-5H; Tue, 23 Apr 2024 14:45:18 +0000
Received: by outflank-mailman (input) for mailman id 710149;
 Mon, 22 Apr 2024 16: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=iDho=L3=gmail.com=willemdebruijn.kernel@srs-se1.protection.inumbo.net>)
 id 1ryx0s-0000Ls-9c
 for xen-devel@lists.xenproject.org; Mon, 22 Apr 2024 16:59:30 +0000
Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com
 [2607:f8b0:4864:20::f29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae6ded0f-00c9-11ef-909a-e314d9c70b13;
 Mon, 22 Apr 2024 18:59:29 +0200 (CEST)
Received: by mail-qv1-xf29.google.com with SMTP id
 6a1803df08f44-69b514d3cf4so40443876d6.0
 for <xen-devel@lists.xenproject.org>; Mon, 22 Apr 2024 09:59:29 -0700 (PDT)
Received: from localhost (164.146.150.34.bc.googleusercontent.com.
 [34.150.146.164]) by smtp.gmail.com with ESMTPSA id
 s16-20020a0cdc10000000b006a0426f2bdasm4405853qvk.57.2024.04.22.09.59.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 22 Apr 2024 09: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: ae6ded0f-00c9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713805168; x=1714409968; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:subject:references
         :in-reply-to:message-id:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mrIzzRd5SEQLFvdzQYqOFzNQkQZWaPc3JGD8u2+BkdA=;
        b=AxVsevf6CqM+ElXLo237LjSLkMWx5SCZK64HaoqFiCThTY3wq5iNl4p5zRkWqnCM3e
         jMZq9p7ki10W/Sni6Wgb81XhZcV5cXywMPjVLroxnbQRfLTf+ru+noinv90XZCtt91+F
         v+0PQ9dazNXhIY2BlD2N0RLWSSVckFXdZnq5yQ0JlHwviTu2Vjdu2fUxSTt2udHm27dB
         zx/akvG88LViiXcA66swsHXy0nKU1LSwV6d4stVl0QbmiavgjSK/bEp+HUiddj/YTC3R
         QFKNwVOk73h3QE98FpnzxG53SBNlYn7Qly2oeAjKYZ69wqCPiB/C0TL89H3TkDwH3wQm
         917w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713805168; x=1714409968;
        h=content-transfer-encoding:mime-version:subject:references
         :in-reply-to:message-id:cc:to:from:date:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=mrIzzRd5SEQLFvdzQYqOFzNQkQZWaPc3JGD8u2+BkdA=;
        b=XmSTXIU1vrVj7YrMbtPliNV5dI83+qHfEHpDeWBkUYz7u0wYadKUpFiMBP7dXgHqh0
         kuVlhgUd1d7kdnNx2ugRaggjCaL+7N/LvvHLXyW7itJdNx/64MIAtoRNqlWpkdPPSiFG
         EQi2FpyYzt+QWSK7QNZVIUf51Ea3pst4OL5la6/vjbxxnGlpFuDg8PoLT2FMfBrEdFvT
         ViBGSa6lGkhphOZGia2BuCmQca+5mxxJCKOPQ5ZRLXqlORrhY4p8VMKFpOF6nBpTRP3d
         u3WDwSeFDel0PEiIuzgqpX/d7pG58jBy4PjwxF+FVJxlL51Pv1Yn/iY5N2mY/7w5q+hD
         sjqg==
X-Forwarded-Encrypted: i=1; AJvYcCUEQGYPZV0ny3lpnP2sQxYt4ei85ekkKFjtnuBlzs/GZ0qoqn2/IYPlhLAkNTM9JbPoGwECPmBtb12zhigJpEgxF6MEbrhZnsuYPHA+L0I=
X-Gm-Message-State: AOJu0YzGVJRMiVRYcBIoq6jFXcZxwQ8RgwYggKfOJ3Qr1OJXYl1+ehsZ
	9vZztX/+8uhBEm71E3ZdvtVdfhhOaIv4F5awZmq6RA17hmHzanLV
X-Google-Smtp-Source: AGHT+IHHhU+Nvb87eCaQ76wWE1qXHzhzlsCm3OuWWbw2sH1hLhYIGaE9ghQG7Vrg+ndmJ6yOx+FQnA==
X-Received: by 2002:ad4:524f:0:b0:69b:12a0:296f with SMTP id s15-20020ad4524f000000b0069b12a0296fmr10630701qvq.54.1713805168003;
        Mon, 22 Apr 2024 09:59:28 -0700 (PDT)
Date: Mon, 22 Apr 2024 12:59:27 -0400
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Pavel Begunkov <asml.silence@gmail.com>, 
 io-uring@vger.kernel.org, 
 netdev@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>, 
 asml.silence@gmail.com, 
 "David S . Miller" <davem@davemloft.net>, 
 Jakub Kicinski <kuba@kernel.org>, 
 David Ahern <dsahern@kernel.org>, 
 Eric Dumazet <edumazet@google.com>, 
 Willem de Bruijn <willemdebruijn.kernel@gmail.com>, 
 Jason Wang <jasowang@redhat.com>, 
 Wei Liu <wei.liu@kernel.org>, 
 Paul Durrant <paul@xen.org>, 
 xen-devel@lists.xenproject.org, 
 "Michael S . Tsirkin" <mst@redhat.com>, 
 virtualization@lists.linux.dev, 
 kvm@vger.kernel.org
Message-ID: <6626976f4e91a_75392949e@willemb.c.googlers.com.notmuch>
In-Reply-To: <a62015541de49c0e2a8a0377a1d5d0a5aeb07016.1713369317.git.asml.silence@gmail.com>
References: <cover.1713369317.git.asml.silence@gmail.com>
 <a62015541de49c0e2a8a0377a1d5d0a5aeb07016.1713369317.git.asml.silence@gmail.com>
Subject: Re: [PATCH io_uring-next/net-next v2 1/4] net: extend ubuf_info
 callback to ops structure
Mime-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: 7bit

Pavel Begunkov wrote:
> We'll need to associate additional callbacks with ubuf_info, introduce
> a structure holding ubuf_info callbacks. Apart from a more smarter
> io_uring notification management introduced in next patches, it can be
> used to generalise msg_zerocopy_put_abort() and also store
> ->sg_from_iter, which is currently passed in struct msghdr.
> 
> Reviewed-by: Jens Axboe <axboe@kernel.dk>
> Reviewed-by: David Ahern <dsahern@kernel.org>
> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>

Reviewed-by: Willem de Bruijn <willemb@google.com>


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:52:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:52:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710735.1110139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHVj-000181-9v; Tue, 23 Apr 2024 14:52:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710735.1110139; Tue, 23 Apr 2024 14:52:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHVj-00017u-5r; Tue, 23 Apr 2024 14:52:43 +0000
Received: by outflank-mailman (input) for mailman id 710735;
 Tue, 23 Apr 2024 14:52:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6olb=L4=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1rzHVh-00017o-OU
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:52:41 +0000
Received: from mail-oo1-xc33.google.com (mail-oo1-xc33.google.com
 [2607:f8b0:4864:20::c33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 210f7d29-0181-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:52:39 +0200 (CEST)
Received: by mail-oo1-xc33.google.com with SMTP id
 006d021491bc7-5aa241232faso4286085eaf.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:52: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: 210f7d29-0181-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713883958; x=1714488758; 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=0oJ5oFwFtt28a/L1Lw52NZ/TBbSz0Cd9oGC/3/Q44LI=;
        b=JNl4AhbcK7fmQkmjDERgvVXlizDrw7ZUFMwLCNtqgQoySc+6t00y6Q5uv4HB9qBxd1
         QlhIGnixvAcPnZG/dA7GGXygYIG10MK5S8qG3o9HBvArwh+qCCr/KwSfYr+Y/8QwJLa1
         S/KeS9/HQjfJ1rmwUB9rexE6GKxlbnKWZm/AjLa30/YVMsMGTGVtHHsMTdh0+m/hZdDX
         TMlKZ7uTohe7HyRIMVtkrw8mkewJw8iWWCW/Mm8PPCpwMccopWq+1sCf7Tkg+ybHlFcy
         iYWotBeNLb6uRsGI47hznDUucBK58NmzZzfRj0GClmnpQxgY1YuvA8njNzM477q0NvKX
         4F1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713883958; x=1714488758;
        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=0oJ5oFwFtt28a/L1Lw52NZ/TBbSz0Cd9oGC/3/Q44LI=;
        b=JHA2cGeO1FBEoCw/xXJUP+4VXKtKIKThsICyBz+2Ax9pW/xtscUp5RR0+ThVnlsmhJ
         qcNm4vUFDdxp+EyWpRpiIVLMuG89EMoOSYJwfJmLRJOBKgrmjFUrfqk39YXaVvN8UCuU
         dHSFU6fTiWVOn8b/0sT7v1Eh70nqy2AuMrUAPCg4ZnCqdJEY31UT0ZYSQLimHbCd47BM
         MWz1AT8mtA7CosuD1LQ1q35KeVWuj7QUb3FhfUEmM3v31jd6+Wd6pQuRvKb/HRbD+Zm6
         9LjckRLm9GebtvxCgEPgZn+TaCJK+424oEhZpYiuBfkPpS+MWpWvLzU5YQ4DHsSa3qvX
         a+1w==
X-Forwarded-Encrypted: i=1; AJvYcCVAN1CI9dInveqrajaoXfvYoWMxwDmSAUgaY21rgIs0prgfZ6Z6b1zmAGG4iUELfYCgzk4NS4L9IjbuCj2+h3wynyoXmKKJ/SMWqf6nueA=
X-Gm-Message-State: AOJu0YxhRFBv1o3aAVW9srQDkRYQmrBJqzG/8ebsurTYi4+VquCpRMeB
	IBjtVw3fIBBF59HnvSCYFRPHjQAAp7Yn5sXJW+uflCUhAGF9V6sT7KfT98in6BgEMiTw7J+uQg8
	amQq22FOaXJHJC2+cR2H3SXB2MF5f+wzonOIjkQ==
X-Google-Smtp-Source: AGHT+IGhElEhvoOcLIh6BtvKq0ep5l63/2dy1xgqffEyBWJzt4lw7QGECKqZXkEujCD6RCyTcTNymOhtdVsAksHMPhs=
X-Received: by 2002:a4a:acc3:0:b0:5ac:bdbe:d09b with SMTP id
 c3-20020a4aacc3000000b005acbdbed09bmr14253587oon.4.1713883958407; Tue, 23 Apr
 2024 07:52:38 -0700 (PDT)
MIME-Version: 1.0
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org> <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
 <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com>
 <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org> <756FEA03-7F16-48AE-8308-059EBF8638A0@arm.com>
 <27BADE00-E6EC-4BD6-AC5D-201DF1A76BCD@arm.com> <195c1fe6-ed77-417f-bcb0-fdfaf687c4b0@xen.org>
In-Reply-To: <195c1fe6-ed77-417f-bcb0-fdfaf687c4b0@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 23 Apr 2024 16:52:26 +0200
Message-ID: <CAHUa44FmSg2Nm9JqZ6DLNX_CkS37esabc+E-uvk5XjJymqNWtg@mail.gmail.com>
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI handlers
To: Julien Grall <julien@xen.org>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Tue, Apr 23, 2024 at 4:28=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
> Hi Bertrand,
>
> On 23/04/2024 14:23, Bertrand Marquis wrote:
> > Hi Julien,
> >
> >> On 23 Apr 2024, at 14:37, Bertrand Marquis <Bertrand.Marquis@arm.com> =
wrote:
> >>
> >> Hi Julien,
> >>
> >>> On 23 Apr 2024, at 13:05, Julien Grall <julien@xen.org> wrote:
> >>>
> >>>
> >>>
> >>> On 23/04/2024 10:35, Jens Wiklander wrote:
> >>>> Hi Julien,
> >>>
> >>> Hi Jens,
> >>>
> >>>> On Mon, Apr 22, 2024 at 12:57=E2=80=AFPM Julien Grall <julien@xen.or=
g> wrote:
> >>>>>
> >>>>> Hi Jens,
> >>>>>
> >>>>> On 22/04/2024 08:37, Jens Wiklander wrote:
> >>>>>> Updates so request_irq() can be used with a dynamically assigned S=
GI irq
> >>>>>> as input. This prepares for a later patch where an FF-A schedule
> >>>>>> receiver interrupt handler is installed for an SGI generated by th=
e
> >>>>>> secure world.
> >>>>>
> >>>>> I would like to understand the use-case a bit more. Who is responsi=
ble
> >>>>> to decide the SGI number? Is it Xen or the firmware?
> >>>>>
> >>>>> If the later, how can we ever guarantee the ID is not going to clas=
h
> >>>>> with what the OS/hypervisor is using? Is it described in a
> >>>>> specification? If so, please give a pointer.
> >>>> The firmware decides the SGI number. Given that the firmware doesn't
> >>>> know which SGIs Xen is using it typically needs to donate one of the
> >>>> secure SGIs, but that is transparent to Xen.
> >>>
> >>> Right this is my concern. The firmware decides the number, but at the=
 same time Xen thinks that all the SGIs are available (AFAIK there is only =
one set).
> >>>
> >>> What I would like to see is some wording from a spec indicating that =
the SGIs ID reserved by the firmware will not be clashing with the one used=
 by Xen.
> >>
> >> The idea is that the only SGI reserved for secure are used by the secu=
re world (in fact it is the SPMC in the secure world who tells us which SGI=
 it will generate).
> >> So in theory that means it will always use an SGI between 8 and 15.
> >>
> >> Now it could make sense in fact to check that the number returned by t=
he firmware (or SPMC) is not clashing with Xen as it is a recommendation in=
 the spec and
> >> in fact an implementation might do something different.
> >>
> >> Right now there is no spec that will say that it will never clash with=
 the one used by Xen as the FF-A spec is not enforcing anything here so it =
would be a good idea
> >> to check and disable FF-A with a proper error message if this happens.
> >
> >
> > After some more digging here is what is recommended by Arm in the Arm B=
ase System Architecture v1.0C [1]:
> >
> > "The system shall implement at least eight Non-secure SGIs, assigned to=
 interrupt IDs 0-7."
>
> Thanks! Can we provide a link to the specification in the commit message?

Sure, I'll add a link.

>
> >
> > So basically as long as Xen is using SGIs 0-7 it is safe as those shall=
 never be used by the secure world.
> > Now i do agree that we should check that whatever is returned by the fi=
rmware is not conflicting with what
> > is used by Xen.
> +1.

That makes sense, I'll add a check.

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:53:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710739.1110149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHWr-0001lb-NQ; Tue, 23 Apr 2024 14:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710739.1110149; Tue, 23 Apr 2024 14: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 1rzHWr-0001lU-K7; Tue, 23 Apr 2024 14:53:53 +0000
Received: by outflank-mailman (input) for mailman id 710739;
 Tue, 23 Apr 2024 14:53:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nbx+=L4=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rzHWq-0001lN-DU
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:53:52 +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 4c44fbe7-0181-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 16:53:51 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2d9fe2b37acso77850661fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:53: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: 4c44fbe7-0181-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713884031; x=1714488831; 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=GbFelA8PXo1kBWplz3bLp6fXNzYsis+XulplU1h6jX0=;
        b=ca79IDqHWTrNToGfAW4Z2JkOfKuEWu2Ll5TU9VPbPTygpETE/5oXXgdYlT4arFV0l/
         CEuQEe5yJX//geBLyzUPAflQB/Lbl6Yjq149OI052pABqdyyezxedQ8YCyzt1+H09kzJ
         1GQstE8UvUexu5JzUnc5gNDp/6pc/6wWFKXqA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884031; x=1714488831;
        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=GbFelA8PXo1kBWplz3bLp6fXNzYsis+XulplU1h6jX0=;
        b=g1LIdkjqhNWRt8/M8jXf0qmf2TdnB+OKdsaH1bNS+TspEGgb5PgX27AA5mwP0hQ4GH
         IBT3YhWprQ22KzzR35sHKJjx32DOPNXfYMCpw5oVbdvJgHoiyJskk8p9QXbLOSIEvDcB
         gtIJsgSpMNXygr4h/4JuzSuZHhCYfnhz6BK7WnPIojmtW17gm8N7SUryRfTe40WXyQy2
         nqGLfnLHNuQ4Zm39tNLqF8Ogw2t70PixUmJ82g2PyDKBsLICSEy03UPzvp1BRK/hy3v4
         gTrXHH1xeTD9I1N6hxEyesQl2ujmwKF/d9ySfRDdHLoCzr2TECz4RUyQftY9dzzocwt0
         7QjA==
X-Forwarded-Encrypted: i=1; AJvYcCUpPuE/Zr2poOV2D43o7KdomIgEq2QMIkbR5d17qjnP++1QsAGaMFedSVfcETOgGdH563dyqiLWd1Cwf6DeDevkpRhZMLq055LvUPLir7E=
X-Gm-Message-State: AOJu0Yx2A6UhPQ7iZw1bdsFMEvqoKQj8OQvkaH1VlDC92ARMtXmYyy11
	hJBi/Gix8ZHVbaT1h7jdv5lq1QvYmjCpvYJ/7din3R6XUJgWHBZFv3fdtqpKd3QN8fjYyfzhLyP
	jNVuArq7lXcF4sG53lB12I4fXAh7lJ/aqUn6lIA==
X-Google-Smtp-Source: AGHT+IHeIY16J0ghdKPjwlX+oYgP4L4juwrm8PqBcc0GNz4PJcEFgEwnQHlvi5vNLI09j90jlRCwnJJatCsr+6dk/N4=
X-Received: by 2002:a05:651c:389:b0:2d6:85ec:fb49 with SMTP id
 e9-20020a05651c038900b002d685ecfb49mr8553621ljp.28.1713884030913; Tue, 23 Apr
 2024 07:53:50 -0700 (PDT)
MIME-Version: 1.0
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-3-fouad.hilly@cloud.com> <f789bf74-8296-4127-9612-a46d02a422ee@suse.com>
In-Reply-To: <f789bf74-8296-4127-9612-a46d02a422ee@suse.com>
From: Fouad Hilly <fouad.hilly@cloud.com>
Date: Tue, 23 Apr 2024 15:53:39 +0100
Message-ID: <CAJKAvHYEBabwDG36QtBkTGhym6m-uypZhv1HzaGhNuCKQnu1wA@mail.gmail.com>
Subject: Re: [PATCH 2/5] x86: Refactor microcode_update() hypercall with flags field
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>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 8, 2024 at 10:16=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 05.04.2024 14:11, Fouad Hilly wrote:
> > @@ -708,11 +712,13 @@ static long cf_check microcode_update_helper(void=
 *data)
> >      return ret;
> >  }
> >
> > -int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long l=
en)
> > +int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long l=
en, unsigned int flags)
> >  {
> >      int ret;
> >      struct ucode_buf *buffer;
> >
> > +    ucode_force_flag =3D (flags =3D=3D XENPF_UCODE_FLAG_FORCE_SET)? 1:=
 0;
>
> No need for ?: when the lhs has type bool.
>
> But - do we really need to resort to parameter passing via static variabl=
es
> here? If it's unavoidable, its setting needs to move inside a locked regi=
on
> (with that region covering everything up to all consumption of the value)=
.
There are many function calls and checks of the firmware between
microcode_update() and the actual update, which makes static variable
the viable option.
In V2 I broke it down between the actual update_flags (static) and
force_flag (local to firmware update function), I understand that
might not be enough, I will look into further improvement for
microcode_update flags in V3.
>
> Further, to avoid the same issue again when another flag wants adding, yo=
u
> want to check that all other bits in the flags field are clear.
The above check is checking all bits in the flags field. Are you
referring to flag per bit where multiple flags can be set
simultaneously?
>
> > --- a/xen/arch/x86/include/asm/microcode.h
> > +++ b/xen/arch/x86/include/asm/microcode.h
> > @@ -22,7 +22,7 @@ struct cpu_signature {
> >  DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
> >
> >  void microcode_set_module(unsigned int idx);
> > -int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long l=
en);
> > +int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long l=
en, unsigned int flags);
>
> Nit: Too long line.
>
> > --- a/xen/include/public/platform.h
> > +++ b/xen/include/public/platform.h
> > @@ -99,6 +99,10 @@ struct xenpf_microcode_update {
> >      /* IN variables. */
> >      XEN_GUEST_HANDLE(const_void) data;/* Pointer to microcode data */
> >      uint32_t length;                  /* Length of microcode data. */
> > +    uint32_t flags;                   /* Flags to be passed with ucode=
. */
> > +/* Force to skip microcode version check when set */
> > +#define XENPF_UCODE_FLAG_FORCE_NOT_SET 0
> > +#define XENPF_UCODE_FLAG_FORCE_SET     1
> >  };
>
> The safety of this growing of an existing stable ABI struct wants at leas=
t
> briefly mentioning in the description.
>
> > @@ -624,6 +628,10 @@ struct xenpf_ucode_revision {
> >  typedef struct xenpf_ucode_revision xenpf_ucode_revision_t;
> >  DEFINE_XEN_GUEST_HANDLE(xenpf_ucode_revision_t);
> >
> > +/* Hypercall to microcode_update with flags */
> > +#define XENPF_microcode_update2    66
> > +
> > +
>
> No double blank lines please.
>
> Jan

Thanks,

Fouad


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:56:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710744.1110158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHZG-0002x2-2z; Tue, 23 Apr 2024 14:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710744.1110158; Tue, 23 Apr 2024 14: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 1rzHZG-0002wv-0H; Tue, 23 Apr 2024 14:56:22 +0000
Received: by outflank-mailman (input) for mailman id 710744;
 Tue, 23 Apr 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=6olb=L4=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1rzHZE-0002vM-PD
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:56:20 +0000
Received: from mail-oo1-xc29.google.com (mail-oo1-xc29.google.com
 [2607:f8b0:4864:20::c29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a399e498-0181-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 16:56:18 +0200 (CEST)
Received: by mail-oo1-xc29.google.com with SMTP id
 006d021491bc7-5af2d0a53f5so534170eaf.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 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: a399e498-0181-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713884177; x=1714488977; 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=9BJRmR5O6zt8JFb8eq3u2PJtEjkEhAJOUkV1zBxcWX0=;
        b=q/pPuwu4DhSJUTL8KRPumJfXrEXobqbLmtyfI529OjcwOYNFN5toU0yrwZNjPXj1QU
         o9+h6FvjgcUM8MEmJggXbnpSZryHCaTLJXhhmHaOO/wGEGSFp+M5e6quesfWCoVilt6Q
         AJQhfJLrj1TaMcwhtVqi1kQF7F1eI3j+ma9LeWTyG0ErWdexf6e7frGxAaEMKdZ5D2/w
         R/iw3o5eft7fCj49PpzuX33Cqxg1lPscYNrL70rDLpAT3aETkdPcP4wK33yeEBDL3GKx
         5twr1prE8au/ZzQ2qb+LJBLdweyhui+IAe6m261mbNTcXJKWweV2PAnKEztyHISD55SJ
         DxCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884177; x=1714488977;
        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=9BJRmR5O6zt8JFb8eq3u2PJtEjkEhAJOUkV1zBxcWX0=;
        b=pDKiqKqQvq6VOAdc7xvscOjxJf5u6Pu1e604sVvIuj2z/H8XnGqpc47aZdOBgdSFTI
         1009nHjyV2n0btjkygxToQDQcTdLOBIVT2XFdv79rKpxNcUP4tDYiIypVvKeSANdYxJG
         N5mvMJ0rwlxTZAA+iB4ThGUp+lEIGDcnN3ZpRg+NxNUbfMhckC3Uh4WS/ImAmGkNlIVO
         CgjDnShsxgKFL2IFyCbTcSFQumR1cIYNa+j1cGkvWBvJVOdFUQgunO7WbTdP1OdelgAW
         s5JEkhiTh/YsysNdWXd9swkauBnffyB5JHSK+EiJsjjMaVhkiHcnLCiG8BVIP9rJiLWf
         cbfA==
X-Gm-Message-State: AOJu0YzB8elkCLtXCd5OsBqmvyUeO811JGDF55C41J4GstWq4220VQVm
	dgVI/gFueKO4bbXn5MYTLRUmaXJZth15KE0Jnpk/u+pz6WnqzDt6BftJECTx4m5/WDqZWI39Vbk
	L5iClp7hK93lcBfbtQnEdN8SxA9SafQaVbMsXag==
X-Google-Smtp-Source: AGHT+IEQ5/2gkXNRDpWyezKzOPVBVyRsbgetd9tctveo9J6e/obX+sfaO7ui9jV2F7UlAzpkEhxEZ9OkVLROMW76L6U=
X-Received: by 2002:a05:6820:280a:b0:5aa:6b6a:62c with SMTP id
 dm10-20020a056820280a00b005aa6b6a062cmr1214824oob.2.1713884177424; Tue, 23
 Apr 2024 07:56:17 -0700 (PDT)
MIME-Version: 1.0
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-5-jens.wiklander@linaro.org> <89d268cc-bc49-4e22-b4e9-2e8dbe73124c@xen.org>
 <CAHUa44GAbBtczbVohVjC=66tqzjgeGLx44k9ddodDJL13KwVEQ@mail.gmail.com> <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org>
In-Reply-To: <205a95f2-fdf6-4f38-b2e0-31e4fff9348b@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 23 Apr 2024 16:56:06 +0200
Message-ID: <CAHUa44FbUDRkha9tCfTjFPU-X4xiNepZfWMrtBNP4d_U-_hp3g@mail.gmail.com>
Subject: Re: [XEN PATCH v2 4/5] xen/arm: allow dynamically assigned SGI handlers
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, patches@linaro.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 23, 2024 at 1:05=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
>
>
> On 23/04/2024 10:35, Jens Wiklander wrote:
> > Hi Julien,
>
> Hi Jens,
>
> > On Mon, Apr 22, 2024 at 12:57=E2=80=AFPM Julien Grall <julien@xen.org> =
wrote:
> >>
> >> Hi Jens,
> >>
> >> On 22/04/2024 08:37, Jens Wiklander wrote:
> >>> Updates so request_irq() can be used with a dynamically assigned SGI =
irq
> >>> as input. This prepares for a later patch where an FF-A schedule
> >>> receiver interrupt handler is installed for an SGI generated by the
> >>> secure world.
> >>
> >> I would like to understand the use-case a bit more. Who is responsible
> >> to decide the SGI number? Is it Xen or the firmware?
> >>
> >> If the later, how can we ever guarantee the ID is not going to clash
> >> with what the OS/hypervisor is using? Is it described in a
> >> specification? If so, please give a pointer.
> >
> > The firmware decides the SGI number. Given that the firmware doesn't
> > know which SGIs Xen is using it typically needs to donate one of the
> > secure SGIs, but that is transparent to Xen.
>
> Right this is my concern. The firmware decides the number, but at the
> same time Xen thinks that all the SGIs are available (AFAIK there is
> only one set).
>
> What I would like to see is some wording from a spec indicating that the
> SGIs ID reserved by the firmware will not be clashing with the one used
> by Xen.
>
> >
> >
> >>
> >>>
> >>> gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they a=
re
> >>> always edge triggered.
> >>>
> >>> gic_interrupt() is updated to route the dynamically assigned SGIs to
> >>> do_IRQ() instead of do_sgi(). The latter still handles the statically
> >>> assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> v1->v2
> >>> - Update patch description as requested
> >>> ---
> >>>    xen/arch/arm/gic.c | 5 +++--
> >>>    xen/arch/arm/irq.c | 7 +++++--
> >>
> >> I am not sure where to write the comment. But I think the comment on t=
op
> >> of irq_set_affinity() in setup_irq() should also be updated.
> >>
> >>>    2 files changed, 8 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> >>> index 44c40e86defe..e9aeb7138455 100644
> >>> --- a/xen/arch/arm/gic.c
> >>> +++ b/xen/arch/arm/gic.c
> >>> @@ -117,7 +117,8 @@ void gic_route_irq_to_xen(struct irq_desc *desc, =
unsigned int priority)
> >>>
> >>>        desc->handler =3D gic_hw_ops->gic_host_irq_type;
> >>>
> >>> -    gic_set_irq_type(desc, desc->arch.type);
> >>> +    if ( desc->irq >=3D NR_GIC_SGI)
> >>> +        gic_set_irq_type(desc, desc->arch.type);
> >>
> >> So above, you say that the SGIs are always edge-triggered interrupt. S=
o
> >> I assume desc->arch.type. So are you skipping the call because it is
> >> unnessary or it could do the wrong thing?
> >>
> >> Ideally, the outcome of the answer be part of the comment on top of th=
e
> >> check.
> >
> > gic_set_irq_type() has an assert "ASSERT(type !=3D IRQ_TYPE_INVALID)"
> > which is triggered without this check.
> > So it's both unnecessary and wrong. I suppose we could update the
> > bookkeeping of all SGIs to be edge-triggered instead of
> > IRQ_TYPE_INVALID. It would still be unnecessary though. What do you
> > suggest?
>
> I would rather prefer if we update the book-keeping for all the SGIs.

I'll update the code.

>
> [...]
>
> >>
> >>>            {
> >>>                isb();
> >>>                do_IRQ(regs, irq, is_fiq);
> >>> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> >>> index bcce80a4d624..fdb214560978 100644
> >>> --- a/xen/arch/arm/irq.c
> >>> +++ b/xen/arch/arm/irq.c
> >>> @@ -224,9 +224,12 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned=
 int irq, int is_fiq)
> >>>
> >>>        perfc_incr(irqs);
> >>>
> >>> -    ASSERT(irq >=3D 16); /* SGIs do not come down this path */
> >>> +    /* Statically assigned SGIs do not come down this path */
> >>> +    ASSERT(irq >=3D GIC_SGI_MAX);
> >>
> >>
> >> With this change, I think the path with vgic_inject_irq() now needs to
> >> gain an ASSERT(irq >=3D NR_GIC_SGI) because the path is not supposed t=
o be
> >> taken for SGIs.
> >
> > I'm sorry, I don't see the connection. If I add
> > ASSERT(virq >=3D NR_GIC_SGI);
> > at the top of vgic_inject_irq() it will panic when injecting a
> > Schedule Receiver or Notification Pending Interrupt for a guest.
>
> If you look at do_IRQ(), we have the following code:
>
>      if ( test_bit(_IRQ_GUEST, &desc->status) )
>      {
>          struct irq_guest *info =3D irq_get_guest_info(desc);
>
>          perfc_incr(guest_irqs);
>          desc->handler->end(desc);
>
>          set_bit(_IRQ_INPROGRESS, &desc->status);
>
>          /*
>           * The irq cannot be a PPI, we only support delivery of SPIs to
>           * guests.
>           */
>          vgic_inject_irq(info->d, NULL, info->virq, true);
>          goto out_no_end;
>      }
>
> What I suggesting is to add an ASSERT(irq >=3D NR_GIC_SGI) just before th=
e
> call because now do_IRQ() can be called with SGIs yet we don't allow HW
> SGIs to assigned to a guest.

Got it, thanks for the explanation. I'll add the assert.

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 14:59:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 14:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710750.1110169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHcR-0005Ci-H5; Tue, 23 Apr 2024 14:59:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710750.1110169; Tue, 23 Apr 2024 14:59:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHcR-0005Cb-ER; Tue, 23 Apr 2024 14:59:39 +0000
Received: by outflank-mailman (input) for mailman id 710750;
 Tue, 23 Apr 2024 14:59:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHcP-0005BY-IX
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 14:59:37 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19cd403f-0182-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 16:59:36 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-41adf3580dbso1586275e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 07:59: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
 b7-20020adff907000000b0034b3394f0e1sm4327148wrr.10.2024.04.23.07.59.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 07:59: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: 19cd403f-0182-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713884376; x=1714489176; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hIHrnErZ7OOglAOjL9WjrTxuohtA+jXYvSjBDzTnG08=;
        b=FK+7udYFqNsWCU1MEfeWE2B2jdtjGyGV5wMJcugCDn2wu9pVCq3FoiVvZKE9Q5+ATd
         39Kxn8NpPjQsFrHvvOxJ3KWNTkhqpHxCyI8KBze+Uc1zRVpwB2t6qd+0CtSYbCBMI7Xg
         oLZGudI4TDDvC7TQ1Sr7lVNraPiJt+44lPF8HqI/6a8RgqY8u3zh4syuptiFNm8Isgep
         XkERjeREI5WuiAkRQ03mtfhk0Uv3J+jt+DU7rb9FiKeiQKxLcYixh6cnEpkhQTTX8mQY
         lURJZBkyfJUoJBXi2f5fdsK0ISoZ41YbiWuxqhri9P4eNH79z40f9nC9JfF8P4VdI8LM
         DBfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884376; x=1714489176;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hIHrnErZ7OOglAOjL9WjrTxuohtA+jXYvSjBDzTnG08=;
        b=H5uAFdS589aU8X4rPbAePT87JPDPSX9IpdJCVB60uLhie5vbgRIHuezW/cE1e3P+zq
         zO0ULxZ3CPm5YFV8GAHfLZ3rH+6YEKFNN+0OBCcgTsbS/DIb1XiHcQm2DHqdo6anxuAV
         d5anUmnXKCRLLOF5zJSgO+Pj8qUwzIOifqX8Fh73t6TwK/hHbwyExk6HB1Kvfhrxv5rL
         S2//RCSN8fQVeDT649T6b55YlOS63L5mr8tmQfWyQwCH9RQiijTqVyxUCozdAozH3c8Q
         3OlV9BX6rA+UL9uoqJXekhEo5C3N0jbR4wlg6+zlw1effiomvd4DYMVvRH81bCHWE1pc
         mVVA==
X-Forwarded-Encrypted: i=1; AJvYcCVFXg5gVa0bak2ZROldo2/Q4V9qFdXAt/DZtxUjJJNe7rKIlaL/eqCnfq9UCyboDKpuNV/1k7laklr6ptdUBdhYaHmxN8vuR2gbEeVA6f8=
X-Gm-Message-State: AOJu0YwJ6thNFlY2wNevRZ96N4RkV2Y+CFnVR8qMyzqxqTgiYT1QX5R6
	mKE8Z3X5KS9uucs8823LfneHLFqBsWlOwvujRuEcDfIivHnkx18z3qtXWB6eLN8K7f6xh3CDySs
	=
X-Google-Smtp-Source: AGHT+IHGNYQJTMr0ffnI7y8CYhNgiWXq54adSQfYtm5VRhmkp7OEAkfp2uvjMrWvyeNtEd54h3UV8A==
X-Received: by 2002:a05:600c:314b:b0:418:f6e7:3599 with SMTP id h11-20020a05600c314b00b00418f6e73599mr2203633wmo.3.1713884375748;
        Tue, 23 Apr 2024 07:59:35 -0700 (PDT)
Message-ID: <b0412697-d258-447a-9470-09590744c2c9@suse.com>
Date: Tue, 23 Apr 2024 16:59:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] x86/alternative: Relocate all insn-relative fields
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-6-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

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.

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

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:00:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710753.1110179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHdT-0006cN-Q3; Tue, 23 Apr 2024 15:00:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710753.1110179; Tue, 23 Apr 2024 15:00:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHdT-0006cG-N6; Tue, 23 Apr 2024 15:00:43 +0000
Received: by outflank-mailman (input) for mailman id 710753;
 Tue, 23 Apr 2024 15: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=nbx+=L4=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rzHdS-0006c6-LD
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:00:42 +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 403da60e-0182-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:00:40 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5196c755e82so8131726e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08:00: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: 403da60e-0182-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713884440; x=1714489240; 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=9FRfJPFerOeSiL27w69Iw+m8blc1DkIhmCeKFA/aLrc=;
        b=ehhuHW7ad7B65cGIvKECSuGbbJDriOpY9MVxSAzfZH6nzTky+EBg49FoIMlwzAghYB
         ToAxq1sTD2hk/GowGxQaAnq8cTpHzGv+hhTqUtD8bdAjkSoSIlSxx7S3C9lSo3EM9zbX
         7/KCP/c4xvwbTZU9BQigtJMwONQbbOyFJdxkc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884440; x=1714489240;
        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=9FRfJPFerOeSiL27w69Iw+m8blc1DkIhmCeKFA/aLrc=;
        b=Sw76iCP+9iGHnBrrSoxFDUIALl8yMYYw5FNEWLYlHGKPzx5Sn6h/f9Q6Ppd/2GhCMj
         IZ5P9g3ARazx4VnYd69se0MXB0KokPsNnks3wpiMV84lDTNiOCiZ2B1MPTJimRC6BGT3
         OxRVKBXTBwV35Afl3IHvIgceoAbgzFitMfzhAJ9LJYF5XSe9jdaZY+vxJiKg/q1F0mMr
         IKN1nG1ikNEkj6904pUOl+12xlKuGPOZeRlPLdaM/9tVLTN56EKhSQashUF3+hAJuq8Y
         7Xa7EQt6XNQzsE3nJGhwO4a6gsraYwAyXrh2CM1GquwCabcdr0SC56UUeBSqi6QBlaFh
         eRDw==
X-Forwarded-Encrypted: i=1; AJvYcCWsO0NVOHuaWFRt4ngr6n17vYAQTRjYl35tB7+gV8o8H3EMoqeXsrWafMrwW1Su1dyTN2ddR9DKSXWDFqZ7whcxzxM3zrp5cgzevT3DmcU=
X-Gm-Message-State: AOJu0YwVoz8tnQht64OFxvj11r1wjpXidwmhO/NpZtLzTM5hPvnZjSZa
	WXyeoB/ajuf9W5lO1IA2PzDsmx63OZhaFIlU4p0ulU0iogU5Df0T26/MkDo6sht9xLB/gu9YwUu
	dBNIxSgr8seHqPMKQFXcl2U6zWrFc0LmjvMbezc1AXx3JBPsn
X-Google-Smtp-Source: AGHT+IEebM0rSJ99EH/U4pJ9ArMPKL2bRrANxPyi26lUAi2Booi/DXYixs1OWJQ7TEgk1dVjLNqMluGLCslQ+T4FYpU=
X-Received: by 2002:ac2:5de9:0:b0:518:d829:4bae with SMTP id
 z9-20020ac25de9000000b00518d8294baemr8207264lfq.32.1713884440215; Tue, 23 Apr
 2024 08:00:40 -0700 (PDT)
MIME-Version: 1.0
References: <20240416091546.11622-1-fouad.hilly@cloud.com> <20240416091546.11622-2-fouad.hilly@cloud.com>
 <75e0f0b8-625e-4cad-b584-872272851a7e@suse.com>
In-Reply-To: <75e0f0b8-625e-4cad-b584-872272851a7e@suse.com>
From: Fouad Hilly <fouad.hilly@cloud.com>
Date: Tue, 23 Apr 2024 16:00:29 +0100
Message-ID: <CAJKAvHbj5w9Pqi2EN5QRoQvS1zS1CA9chPrScn0JTTBmUCiU1A@mail.gmail.com>
Subject: Re: [PATCH v2 1/5] x86: Update x86 low level version check of microcode
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 <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 22, 2024 at 3:09=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 16.04.2024 11:15, Fouad Hilly wrote:
> > Update microcode version check at Intel and AMD Level by:
> > Preventing the low level code from sending errors if the microcode
> > version provided is not a newer version.
>
> And why is this change (a) wanted and (b) correct?
I will improve the message description to cover more details and reasoning.
>
> > Other errors will be sent like before.
> > When the provided microcode version is the same as the current one, cod=
e
> > to point to microcode provided.
>
> I'm afraid I can't interpret this sentence.
"provided" is the firmware presented\provided to the code for firmware
flashing. As above, I will provide more comprehensive description.
>
> > Microcode version check happens at higher and common level in core.c.
> > Keep all the required code at low level that checks for signature and C=
PU compatibility
> >
> > [v2]
> > Update message description to better describe the changes
>
> This belongs ...
>
> > Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
> > ---
>
> ... below the separator.
>
> > --- a/xen/arch/x86/cpu/microcode/amd.c
> > +++ b/xen/arch/x86/cpu/microcode/amd.c
> > @@ -383,12 +383,8 @@ static struct microcode_patch *cf_check cpu_reques=
t_microcode(
> >                  goto skip;
> >              }
> >
> > -            /*
> > -             * If the new ucode covers current CPU, compare ucodes and=
 store the
> > -             * one with higher revision.
> > -             */
> > -            if ( (microcode_fits(mc->patch) !=3D MIS_UCODE) &&
> > -                 (!saved || (compare_header(mc->patch, saved) =3D=3D N=
EW_UCODE)) )
> > +            /* If the provided ucode covers current CPU, then store it=
s revision. */
> > +            if ( (microcode_fits(mc->patch) !=3D MIS_UCODE) && !saved =
)
> >              {
> >                  saved =3D mc->patch;
> >                  saved_size =3D mc->len;
> > --- a/xen/arch/x86/cpu/microcode/intel.c
> > +++ b/xen/arch/x86/cpu/microcode/intel.c
> > @@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct mi=
crocode_patch *patch)
> >
> >      result =3D microcode_update_match(patch);
> >
> > -    if ( result !=3D NEW_UCODE &&
> > -         !(opt_ucode_allow_same && result =3D=3D SAME_UCODE) )
> > +    if ( result !=3D NEW_UCODE && result !=3D SAME_UCODE )
> >          return -EINVAL;
>
> Unlike the other two adjustments this one results in still permitting
> only same-or-newer. How does this fit with the AMD change above and
> the other Intel change ...
To be fixed in V3
>
> > @@ -354,12 +353,8 @@ static struct microcode_patch *cf_check cpu_reques=
t_microcode(
> >          if ( error )
> >              break;
> >
> > -        /*
> > -         * If the new update covers current CPU, compare updates and s=
tore the
> > -         * one with higher revision.
> > -         */
> > -        if ( (microcode_update_match(mc) !=3D MIS_UCODE) &&
> > -             (!saved || compare_revisions(saved->rev, mc->rev) =3D=3D =
NEW_UCODE) )
> > +        /* If the provided ucode covers current CPU, then store its re=
vision. */
> > +        if ( (microcode_update_match(mc) !=3D MIS_UCODE) && !saved )
> >              saved =3D mc;
>
> ... here?
I assume this refers to the previous comment? Which will be fixed in V3
>
> Jan

Thanks,

Fouad


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:01:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710757.1110189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHe7-00079K-5y; Tue, 23 Apr 2024 15:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710757.1110189; Tue, 23 Apr 2024 15:01:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHe7-00079D-31; Tue, 23 Apr 2024 15:01:23 +0000
Received: by outflank-mailman (input) for mailman id 710757;
 Tue, 23 Apr 2024 15:01:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nbx+=L4=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rzHe6-000791-43
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:01:22 +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 57b1b87b-0182-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:01:20 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-516d4d80d00so7440229e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08:01: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: 57b1b87b-0182-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713884480; x=1714489280; 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=ESOg7SGD6GYiPUl3T/442BEGSgS0PiMFYOlnFJkA7wc=;
        b=l0hMUCg+kVzhw6UZYtUCDW5Vnq/a32GRVjZ+LtAx5eUOkHNUm/E09TWEce6goD9J1W
         AsfVnuVXMqZWnPi7tI4ufy5b3+/+Q2hJVha4tYGLPO1lZvkxVmdZOpbrRs3+5VwBKSSr
         4eY0sL6aFnAwUn38IrJIXa+uW4w8rSRyLATm4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884480; x=1714489280;
        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=ESOg7SGD6GYiPUl3T/442BEGSgS0PiMFYOlnFJkA7wc=;
        b=OGF03LireaQlNqTh6XujP9oPjdnIx2e4YaCDiFSCpU9CuYS4uToQYWiMdfkyaWGH+H
         v3vkYmzDGQmg2i1LuY9N+m1/rH3aS0atR9yxHQpOEAUTBjCbxveBgQN9lFt7gARIoNAe
         k/fMVjSubYb9uEtBoo3a9S7pgtO+vrAtEkLUuQmwYTRybOSK9G6NfwBSBls4vKxBdgk9
         EP7/vFBrItWWaE2VFEt2O3i4PQm7/nG2jEwSZVVlg6q0oVMLKdf7r3eya9xyqgit9ZJ2
         aB5y3t1XB5sxovtRy/Sjs2ybiwQPKqU4QBP91KvnZS8JW3zjbp0sub8VAH4WEEm1K+fE
         pRpQ==
X-Gm-Message-State: AOJu0YwRgZH7hl/2a5bYm/uoFLl8oclJyZav5LAwoDTHyf9/uJUYQ1de
	jOo8OK0KbJVsNQ+EZspLUrjIotkQANCwoD1dDrzVRg4enoS0t16Hu9Q8z9BtCtlkqUGboWi4GyQ
	G2zDbg2SaUnypADifgbbB5r0sgISu8o8OrCFiTQ==
X-Google-Smtp-Source: AGHT+IFlNb/K7tIIOc2G2pZppcDSl/+e76U4EH8HP9C7iLvFQwS5gHvue4ryH41GlbYSjJ5x1sdEoZQvnnkEAlt6y/Q=
X-Received: by 2002:a19:7019:0:b0:518:96b5:f2c5 with SMTP id
 h25-20020a197019000000b0051896b5f2c5mr10177881lfc.46.1713884479547; Tue, 23
 Apr 2024 08:01:19 -0700 (PDT)
MIME-Version: 1.0
References: <20240416091546.11622-1-fouad.hilly@cloud.com> <20240416091546.11622-2-fouad.hilly@cloud.com>
 <c865e0ea-fee1-42e8-a30f-5344863d00e9@citrix.com>
In-Reply-To: <c865e0ea-fee1-42e8-a30f-5344863d00e9@citrix.com>
From: Fouad Hilly <fouad.hilly@cloud.com>
Date: Tue, 23 Apr 2024 16:01:08 +0100
Message-ID: <CAJKAvHawk_o1Eu+KK8RmALK_B2mSUrKvm+dHsvJ2W+AuqgSrNw@mail.gmail.com>
Subject: Re: [PATCH v2 1/5] x86: Update x86 low level version check of microcode
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 Thu, Apr 18, 2024 at 11:05=E2=80=AFAM Andrew Cooper
<andrew.cooper3@citrix.com> wrote:
>
> On 16/04/2024 10:15 am, Fouad Hilly wrote:
> > Update microcode version check at Intel and AMD Level by:
> > Preventing the low level code from sending errors if the microcode
> > version provided is not a newer version. Other errors will be sent like=
 before.
> > When the provided microcode version is the same as the current one, cod=
e
> > to point to microcode provided.
> > Microcode version check happens at higher and common level in core.c.
> > Keep all the required code at low level that checks for signature and C=
PU compatibility
> >
> > [v2]
> > Update message description to better describe the changes
> >
> > Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
> > ---
>
>
> As a general note, your v2/v3/etc changelog needs to go under this --- li=
ne.
Noted.
>
> ~Andrew

Thanks,

Fouad


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:01:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710758.1110199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHeR-0007Yc-Co; Tue, 23 Apr 2024 15:01:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710758.1110199; Tue, 23 Apr 2024 15:01:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHeR-0007YV-A4; Tue, 23 Apr 2024 15:01:43 +0000
Received: by outflank-mailman (input) for mailman id 710758;
 Tue, 23 Apr 2024 15:01:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHeQ-000791-Ce
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:01:42 +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 63d03bb3-0182-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:01:40 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-346359c8785so4749391f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08:01: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
 q2-20020adff942000000b00346bda84bf9sm14974870wrr.78.2024.04.23.08.01.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 08:01: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: 63d03bb3-0182-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713884500; x=1714489300; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=GSz894s7Pk7pyEVQS5m8p0g7OkU+eqYYBBbcuSTrb7w=;
        b=ToKpMcPnZLgFd9BYFdcu0TY86XTdTXGcdYTriJjN6w2a9D7+/2lVWAUprDNaPKS9eJ
         utIEZNCddFpW78VPN+nYzMbIo8DEA9vccpHtD+IU5bdFYvJgnUKm3HEYV/3gljn0NLeo
         d/Wj/owwsqmnimuHJjl27XGLChxsVDCIx1ykfArQh8UD8Cgd7DZeCSq4WKBx1Zg33BzT
         y18G8YOALtoqBuPwNQC2JSlYdwWY6eBTBc19oEPuWqU0mv8Fj7gEfqBKVAsZvcJx/OlD
         KS3DtG3sUjmU7iuTS/gWdtktnMvywBIVdXIu5PdQO77NgIbPco1R2HdY4qBwEtdJhfTq
         XiuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884500; x=1714489300;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GSz894s7Pk7pyEVQS5m8p0g7OkU+eqYYBBbcuSTrb7w=;
        b=rREOQJIuwBbHVvVov8YlprlZoCQoeOuyeCZw3FmwOX4/I1I7HpymWMRHKywrtPe5bB
         nBAY7XWM+26cgYHYQbp/KoxKzdRRBaJEk95piMkmNgu7FuHgs6+RJQS5jGUEE8K93CUM
         TCVhUfbHL49LdPkvsu50djsIpYZwJ8Sb3Pn8bcOux4jk1EUteYWlJbk2xRWb+Fgio87G
         MpOZyEsyYDUWeLA6Evf7SPdLcHCf9FhCG1DS/MHY81LGYSo7r694M+ExLP4kkRe6vOQV
         xDgSievSEUpO0WjJPe1fSbcWlby6+BA7DMshs0oZYsJItLxPcojIlCw+2nCTmbf4P+lQ
         Ijhw==
X-Forwarded-Encrypted: i=1; AJvYcCUhyT8C6EIxCyw/NJDgBCH/zcpraeMVsnPE3mHx3DkpG6sUfxtwde9/2TMvwcAUSnJjADUtEpg0IinpS80LJyqHI1lLUHZhYE2H9q15kEA=
X-Gm-Message-State: AOJu0YyHoKyyn71hzyqVUVbRsH8FZa1w3N8ACISERsWhBtlYtnN+bTIu
	w3H/AUVNSBiT0AlmEV7NDM5QbIxbnKtsnJv3yGeYkiySvcAF/9gspU/mg6svVQ==
X-Google-Smtp-Source: AGHT+IGGxoy7FwrpgJSInu1rgiIkfD5J/tK5PhOLE7tJgLT+XneJFP/WZLOOZQ1SpoR0KGGsZLax2A==
X-Received: by 2002:a05:6000:928:b0:346:c7ed:22de with SMTP id cx8-20020a056000092800b00346c7ed22demr8866031wrb.14.1713884499834;
        Tue, 23 Apr 2024 08:01:39 -0700 (PDT)
Message-ID: <9941bce5-aab2-465e-8813-612b94d03a9c@suse.com>
Date: Tue, 23 Apr 2024 17:01:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] x86/alternative: Intend the relocation logic
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.04.2024 20:14, Andrew Cooper wrote:
> ... to make subsequent patches legible.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
even if (perhaps due to changes in the "real" patch) some of this re-
indenting wants doing differently, just with ...

> --- a/xen/arch/x86/alternative.c
> +++ b/xen/arch/x86/alternative.c
> @@ -244,78 +244,80 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>  
>          memcpy(buf, repl, a->repl_len);
>  
> -        /* 0xe8/0xe9 are relative branches; fix the offset. */
> -        if ( a->repl_len >= 5 && (*buf & 0xfe) == 0xe8 )
>          {
> -            /*
> -             * Detect the special case of indirect-to-direct branch patching:
> -             * - replacement is a direct CALL/JMP (opcodes 0xE8/0xE9; already
> -             *   checked above),
> -             * - replacement's displacement is -5 (pointing back at the very
> -             *   insn, which makes no sense in a real replacement insn),
> -             * - original is an indirect CALL/JMP (opcodes 0xFF/2 or 0xFF/4)
> -             *   using RIP-relative addressing.
> -             * Some branch destinations may still be NULL when we come here
> -             * the first time. Defer patching of those until the post-presmp-
> -             * initcalls re-invocation (with force set to true). If at that
> -             * point the branch destination is still NULL, insert "UD2; UD0"
> -             * (for ease of recognition) instead of CALL/JMP.
> -             */
> -            if ( a->cpuid == X86_FEATURE_ALWAYS &&
> -                 *(int32_t *)(buf + 1) == -5 &&
> -                 a->orig_len >= 6 &&
> -                 orig[0] == 0xff &&
> -                 orig[1] == (*buf & 1 ? 0x25 : 0x15) )
> +            /* 0xe8/0xe9 are relative branches; fix the offset. */
> +            if ( a->repl_len >= 5 && (*buf & 0xfe) == 0xe8 )
>              {
> -                long disp = *(int32_t *)(orig + 2);
> -                const uint8_t *dest = *(void **)(orig + 6 + disp);
> -
> -                if ( dest )
> +                /*
> +                 * Detect the special case of indirect-to-direct branch patching:
> +                 * - replacement is a direct CALL/JMP (opcodes 0xE8/0xE9; already
> +                 *   checked above),
> +                 * - replacement's displacement is -5 (pointing back at the very
> +                 *   insn, which makes no sense in a real replacement insn),
> +                 * - original is an indirect CALL/JMP (opcodes 0xFF/2 or 0xFF/4)
> +                 *   using RIP-relative addressing.
> +                 * Some branch destinations may still be NULL when we come here
> +                 * the first time. Defer patching of those until the post-presmp-
> +                 * initcalls re-invocation (with force set to true). If at that
> +                 * point the branch destination is still NULL, insert "UD2; UD0"
> +                 * (for ease of recognition) instead of CALL/JMP.
> +                 */
> +                if ( a->cpuid == X86_FEATURE_ALWAYS &&
> +                     *(int32_t *)(buf + 1) == -5 &&
> +                     a->orig_len >= 6 &&
> +                     orig[0] == 0xff &&
> +                     orig[1] == (*buf & 1 ? 0x25 : 0x15) )
>                  {
> -                    /*
> -                     * When building for CET-IBT, all function pointer targets
> -                     * should have an endbr64 instruction.
> -                     *
> -                     * If this is not the case, leave a warning because
> -                     * something is probably wrong with the build.  A CET-IBT
> -                     * enabled system might have exploded already.
> -                     *
> -                     * Otherwise, skip the endbr64 instruction.  This is a
> -                     * marginal perf improvement which saves on instruction
> -                     * decode bandwidth.
> -                     */
> -                    if ( IS_ENABLED(CONFIG_XEN_IBT) )
> +                    long disp = *(int32_t *)(orig + 2);
> +                    const uint8_t *dest = *(void **)(orig + 6 + disp);
> +
> +                    if ( dest )
>                      {
> -                        if ( is_endbr64(dest) )
> -                            dest += ENDBR64_LEN;
> -                        else
> -                            printk(XENLOG_WARNING
> -                                   "altcall %ps dest %ps has no endbr64\n",
> -                                   orig, dest);
> +                        /*
> +                         * When building for CET-IBT, all function pointer targets
> +                         * should have an endbr64 instruction.
> +                         *
> +                         * If this is not the case, leave a warning because
> +                         * something is probably wrong with the build.  A CET-IBT
> +                         * enabled system might have exploded already.
> +                         *
> +                         * Otherwise, skip the endbr64 instruction.  This is a
> +                         * marginal perf improvement which saves on instruction
> +                         * decode bandwidth.
> +                         */
> +                        if ( IS_ENABLED(CONFIG_XEN_IBT) )
> +                        {
> +                            if ( is_endbr64(dest) )
> +                                dest += ENDBR64_LEN;
> +                            else
> +                                printk(XENLOG_WARNING
> +                                       "altcall %ps dest %ps has no endbr64\n",
> +                                       orig, dest);
> +                        }
> +
> +                        disp = dest - (orig + 5);
> +                        ASSERT(disp == (int32_t)disp);
> +                        *(int32_t *)(buf + 1) = disp;
>                      }
> -
> -                    disp = dest - (orig + 5);
> -                    ASSERT(disp == (int32_t)disp);
> -                    *(int32_t *)(buf + 1) = disp;
> -                }
> -                else if ( force )
> -                {
> -                    buf[0] = 0x0f;
> -                    buf[1] = 0x0b;
> -                    buf[2] = 0x0f;
> -                    buf[3] = 0xff;
> -                    buf[4] = 0xff;
> +                    else if ( force )
> +                    {
> +                        buf[0] = 0x0f;
> +                        buf[1] = 0x0b;
> +                        buf[2] = 0x0f;
> +                        buf[3] = 0xff;
> +                        buf[4] = 0xff;
> +                    }
> +                    else
> +                        continue;
>                  }
> +                else if ( force && system_state < SYS_STATE_active )
> +                    ASSERT_UNREACHABLE();
>                  else
> -                    continue;
> +                    *(int32_t *)(buf + 1) += repl - orig;
>              }
> -            else if ( force && system_state < SYS_STATE_active )
> +            else if ( force && system_state < SYS_STATE_active  )

... this undone.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:02:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710764.1110209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHfF-0008GH-Le; Tue, 23 Apr 2024 15:02:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710764.1110209; Tue, 23 Apr 2024 15:02:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHfF-0008GA-Hl; Tue, 23 Apr 2024 15:02:33 +0000
Received: by outflank-mailman (input) for mailman id 710764;
 Tue, 23 Apr 2024 15:02:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzHfE-0008BO-Id
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:02:32 +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 826d32f0-0182-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:02:31 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-41a7ae25d53so15091505e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08:02: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
 q2-20020adff942000000b00346bda84bf9sm14974870wrr.78.2024.04.23.08.02.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 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: 826d32f0-0182-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713884551; x=1714489351; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WBWpWKSR0WxPbo83WjVOkNodfd3s6jtoeJvcZtfrHYY=;
        b=atVWz7drEUuF5sSCOFPLrlT1gt5J+JWfrADZMgn1NtBZlQpJgq0Tgc73l7xqciVPa5
         q/LjvY9zOVqrfiT3ApzOLV6wh6S5+lffMjdaOQPOFOissR9ivE88B7uljtIaZpaIbEj+
         zeBkGZRGJB3jw/EY2UT94pqZnBZo2k84xntarWe59isHzuZgDARny4yhgyvdmkndvsYG
         4AvHltpBhtM2jybcSvhj6u6kTXu1jw2SjJWN4L265225GVCdjxpCFJF9kUTFh1D917PM
         zcTOjzjTcd8ZxzjfsUfns5bmUfXwH1Zzklsm6xf1ZI0G+LhkrlO5tzwl8IldrbZ3oP9l
         0XjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884551; x=1714489351;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WBWpWKSR0WxPbo83WjVOkNodfd3s6jtoeJvcZtfrHYY=;
        b=mwYuRT+cACoZS4Ca2LrU1F0uOHNgzstzosqj9xKvmiT7X8JfKxCLPlqE0hKYkV48++
         HwHaVrjHo85us43oxbrtAoKp7tqVLrjQP0osN2r+5rgYtR90/3CApPnG359ddukrqRhZ
         gZ63znS0RJ7+LhHakyp6FzEiO0QKUUC3C+hg9qYS7DMmQ86UNkJUH+KgEwmKtGszUcRw
         bMeckNkS0IwPsRSzKVg/jfBlxl9tb2c9xLl0wnKovV7uFJfG8nPHuCwhOJUaJxsO1LeP
         DvHS+4n72qgX637ye79I5iYKf648bYpHtC4D9BGfp1vn2jq3gES7j6xHI3IR4xeUZydd
         bspA==
X-Forwarded-Encrypted: i=1; AJvYcCWIYWPgCEFZYVrV6wOH5UKOdIiDbcWBFkxwWgZxjpPU6TscwzqRBUOkblofEFzLtnmG4YrY0OGLxivKjk5Ko5dbxyrCG1SnFLWdiF7/4lc=
X-Gm-Message-State: AOJu0YzjkcqszG7I03/ZVn/brXw6p2gLfW3yWtLEBx8Roi9gMLfdz+Dl
	z5joJkEapzRHyByiS1OufXFOPdosvhY8iTk3BEqbCZmd8AjVpfz50dzETQj2cw==
X-Google-Smtp-Source: AGHT+IE+5MCpadnjcrkQZyrIQQUM5BR1gJTXwoXfF+8cV+5tv7VkbbtQ/1OBflGHDdeadMJfbzNY9g==
X-Received: by 2002:a05:600c:34cf:b0:41a:21dc:ac2e with SMTP id d15-20020a05600c34cf00b0041a21dcac2emr5644962wmq.18.1713884551324;
        Tue, 23 Apr 2024 08:02:31 -0700 (PDT)
Message-ID: <c51c84cc-9b8a-4276-9035-fbd495f4bf49@suse.com>
Date: Tue, 23 Apr 2024 17:02:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] x86/alternative: Replace a continue with a goto
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.04.2024 20:14, Andrew Cooper wrote:
> A subsequent patch is going to insert a loop, which interferes with the
> continue in the devirtualisation logic.
> 
> Replace it with a goto, and a paragraph explaining why we intentionally avoid
> setting a->priv = 1.
> 
> 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 Tue Apr 23 15:04:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:04:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710771.1110220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHgi-0000c5-07; Tue, 23 Apr 2024 15:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710771.1110220; Tue, 23 Apr 2024 15: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 1rzHgh-0000by-S9; Tue, 23 Apr 2024 15:04:03 +0000
Received: by outflank-mailman (input) for mailman id 710771;
 Tue, 23 Apr 2024 15: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=Nc7B=L4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzHgf-0000Pu-T2
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:04:01 +0000
Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com
 [2607:f8b0:4864:20::82e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b75f89c3-0182-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:04:01 +0200 (CEST)
Received: by mail-qt1-x82e.google.com with SMTP id
 d75a77b69052e-4365c1451d4so33445641cf.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08:04:01 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 fu48-20020a05622a5db000b0043781985244sm5256354qtb.59.2024.04.23.08.03.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 08: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: b75f89c3-0182-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713884640; x=1714489440; 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=6DSngawMOgOuZiT9JFZr/V3Hf+OcJkFuTeqxpbqjVjM=;
        b=EM4Gy60yF0gi/V1Igl7xmglzI+bkl+mTt7pq8ud2LemZEEtGWmhFC0IVK9aWKq9eku
         7W2APWxqHSYT1G4Kn/VD0zFK1/E7O/q8TscNEaVlhiNx12BggT7gGpRBxncikufbgTYt
         PAf4WAM6rUj1rVxNXrq7eZ2gIM4MI5Ec9BxFs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713884640; x=1714489440;
        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=6DSngawMOgOuZiT9JFZr/V3Hf+OcJkFuTeqxpbqjVjM=;
        b=hf4STH8gaTB4DGrqBiGQ/XA1UKj4ukEgVDnved1WSid2OTaPLGZLrGuymWv9ZRVGUr
         ppRTAm/xgMT46haIyoWFov/wATosiFYFa1J7dkgfRDIu74ngn8YvcztyMnOXFJrjli3w
         r1BXRRifi78uCYMPWa1+h93TTVtJtum74pRqjPBNr6VSPdmljATYgJDRnSepechInStL
         e87f0ecDzpXySeLWHysPfo2177PMWLfC3jLzsC5zik63UX2gqhs2afGgz3HHEnhNOL3K
         spfnksT7vPb5kOstnBjB25rrOTlQSJSBNSwt3ibQOZTL3tQZdWqKbet7qFR4uRCBb95U
         66lA==
X-Forwarded-Encrypted: i=1; AJvYcCWFMiRsARF2oS6KYwUBOvzkx+YzKMGfgxsqqoCj88tkzXOoy8V8uhvJxxnzpLukOnwbysq7322xmRkf+CfYQGuaJ3bt9Fu2Ii6LW+cx7FQ=
X-Gm-Message-State: AOJu0YwauCcukvaZ6CqzjR+nG+4fVKXCZqfPAcQUWwMVU724GKbBnA4s
	HSS7OYEc11e9WxbhHuV0bZVWZp9UyAyYknUoc+b6Z6R8olOSWixQklu5agFYQp8=
X-Google-Smtp-Source: AGHT+IGuCHWTx29oVk5aDqNrIw5AD02sIsOBHv4ZDczIXlczZCNGvP8E5BbHnxN2Pc8O9r3ojb4bIQ==
X-Received: by 2002:ac8:5fd2:0:b0:434:feb7:9d77 with SMTP id k18-20020ac85fd2000000b00434feb79d77mr17766088qta.32.1713884640010;
        Tue, 23 Apr 2024 08:04:00 -0700 (PDT)
Date: Tue, 23 Apr 2024 17:03:57 +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 v3 3/4] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZifN3YMbYtlv-Aa4@macbook>
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-4-roger.pau@citrix.com>
 <0625d7fd-1554-4d47-a8a5-0d6bfb1fcd56@suse.com>
 <ZifE_rQhaZNbjIt2@macbook>
 <46c58aa4-d908-40ff-9c77-e0eacc7e10b6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <46c58aa4-d908-40ff-9c77-e0eacc7e10b6@suse.com>

On Tue, Apr 23, 2024 at 04:28:59PM +0200, Jan Beulich wrote:
> On 23.04.2024 16:26, Roger Pau Monné wrote:
> > On Tue, Apr 23, 2024 at 03:44:42PM +0200, Jan Beulich wrote:
> >> On 23.04.2024 15:12, Roger Pau Monne wrote:
> >>> Livepatch payloads containing symbols that belong to init sections can only
> >>> lead to page faults later on, as by the time the livepatch is loaded init
> >>> sections have already been freed.
> >>>
> >>> Refuse to resolve such symbols and return an error instead.
> >>>
> >>> Note such resolutions are only relevant for symbols that point to undefined
> >>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> >>> and hence must either be a Xen or a different livepatch payload symbol.
> >>>
> >>> Do not allow to resolve symbols that point to __init_begin, as that address is
> >>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> >>> resolutions against it.
> >>>
> >>> Since __init_begin can alias other symbols (like _erodata for example)
> >>> allow the force flag to override the check and resolve the symbol anyway.
> >>>
> >>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>
> >> In principle, as promised (and just to indicate earlier concerns were
> >> addressed, as this is meaningless for other purposes)
> >> Acked-by: Jan Beulich <jbeulich@suse.com>
> >> However, ...
> >>
> >>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
> >>>                      break;
> >>>                  }
> >>>              }
> >>> +
> >>> +            /*
> >>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
> >>> +             * livepatch payloads don't have init sections or equivalent.
> >>> +             */
> >>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
> >>> +                      st_value <  (uintptr_t)&__init_end && !force )
> >>> +            {
> >>> +                printk(XENLOG_ERR LIVEPATCH
> >>> +                       "%s: symbol %s is in init section, not resolving\n",
> >>> +                       elf->name, elf->sym[i].name);
> >>> +                rc = -ENXIO;
> >>> +                break;
> >>> +            }
> >>
> >> ... wouldn't it make sense to still warn in this case when "force" is set?
> > 
> > Pondered it, I was thinking that a user would first run without
> > --force, and use the option as a result of seeing the first failure.
> > 
> > However if there is more than one check that's bypassed, further ones
> > won't be noticed, so:
> > 
> >             else if ( st_value >= (uintptr_t)&__init_begin &&
> >                       st_value <  (uintptr_t)&__init_end )
> >             {
> >                 printk(XENLOG_ERR LIVEPATCH
> >                        "%s: symbol %s is in init section, not resolving\n",
> >                        elf->name, elf->sym[i].name);
> >                 if ( !force )
> >                 {
> >                     rc = -ENXIO;
> >                     break;
> >                 }
> >             }
> > 
> > Would be OK then?
> 
> Perhaps. "not resolving" isn't quite true when "force" is true, and warnings
> would also better not be issued with XENLOG_ERR.

I was assuming that printing as XENLOG_ERR level would still be OK -
even if bypassed because of the usage of --force.  The "not resolving"
part should indeed go away. Maybe this is better:

            else if ( st_value >= (uintptr_t)&__init_begin &&
                      st_value <  (uintptr_t)&__init_end )
            {
                printk("%s" LIVEPATCH "%s: symbol %s is in init section%s\n",
                       force ? XENLOG_WARNING : XENLOG_ERR,
                       elf->name, elf->sym[i].name,
                       force ? "" : ", not resolving");
                if ( !force )
                {
                    rc = -ENXIO;
                    break;
                }
            }

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:12:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710784.1110229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHoo-0004Q9-SV; Tue, 23 Apr 2024 15:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710784.1110229; Tue, 23 Apr 2024 15: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 1rzHoo-0004Q2-Ob; Tue, 23 Apr 2024 15:12:26 +0000
Received: by outflank-mailman (input) for mailman id 710784;
 Tue, 23 Apr 2024 15:12:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=agql=L4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rzHon-0004N5-8D
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:12:25 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2608::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e37acca7-0183-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:12:24 +0200 (CEST)
Received: from DUZP191CA0015.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f9::14)
 by VI1PR08MB10299.eurprd08.prod.outlook.com (2603:10a6:800:1bf::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 15:12:20 +0000
Received: from DU2PEPF0001E9C1.eurprd03.prod.outlook.com
 (2603:10a6:10:4f9:cafe::f5) by DUZP191CA0015.outlook.office365.com
 (2603:10a6:10:4f9::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Tue, 23 Apr 2024 15:12:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF0001E9C1.mail.protection.outlook.com (10.167.8.70) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19 via
 Frontend Transport; Tue, 23 Apr 2024 15:12:18 +0000
Received: ("Tessian outbound caed45120527:v313");
 Tue, 23 Apr 2024 15:12:18 +0000
Received: from 08b3ec6a6f75.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C9CF5838-A422-48CF-B0CC-56F5F1B67181.1; 
 Tue, 23 Apr 2024 15:12:12 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 08b3ec6a6f75.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Apr 2024 15:12:12 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS2PR08MB9986.eurprd08.prod.outlook.com (2603:10a6:20b:649::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 15:12:10 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7472.044; Tue, 23 Apr 2024
 15:12: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: e37acca7-0183-11ef-909a-e314d9c70b13
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VuWX/gCGWmhJTCqLWpTJsGDUzNj+RlIxOTT+mJ8NcE14cedtC7MyzOaOJ8q8TOvy+M/A5pBpCnRcDl00EncsvtgRFdfqzu8h8n/sg4jSvxQwlNpUanYEfI90LCNqNzA/Uouv4hbajg+TQ/EEAuIdhShRKZkzUwjmQTNmAINYa631UGglsTCgKp4J32fw0H9al3Xl5Mhg5oBwlZqMswpwyIImLslUbaQGU2+l4otgHrxj4qlmvRIuviVevigTaBtc4Dzn7wp+AVq7lkF5jfm1qPO4eaYxoGLiQcvyW26x5ofdNy9MUkHS+m830rAanRZwEWXXYDYOs/k3zdSxKKLPtQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H6Q2rAEaiC++SkwNWoBcN4EvFSyaKpbpvyRIDF7u5F4=;
 b=fU7cK49bi14bU49K2EoyEzI9fBX1xU1CJcUDQO067jNXwmR1pMtBfBH/Ai7GqXKmRmuD54kZxTHnYlu9Ot6FuJQSIgyzX8lryPa5MMU110fyqFwAa3JdQWvwxwmWPHwHFYIzJJ3rmVmv4eUU4HEUqDqsi/sc4g6uabCWisor8iJEUsVBnCITGyITqco7YBtOxPl7K2WQDblOa4pfUfrRAXliQ1DSTTid/8KtTu045PtKn61lqE/m7FTcrWb+vIB/59XBtOmF3CNtFmXl7+TGc3qHOUysLSy3jGCaE9DSf8Mu6YZHG+ghBn0avOJSokWPtCS3fFpfT1Ps/tUVuqn12g==
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=H6Q2rAEaiC++SkwNWoBcN4EvFSyaKpbpvyRIDF7u5F4=;
 b=nZ9AH1KvudvAwEjXdT3N/2DEaAhjff9TvXbZqOcbj67khuigHclXnUYMybV6gHJuCHVCFwwCvGuUAYHY4XA3aUsILYWD4DSvXqoh3UxNUsPg22y+6PevjHUqM03xCjV/nDTSl6q1TAfIzkVQCOt6Y5guYODVDQaLV4PBvFnjj5c=
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: 87f86dc2967d045a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b9Hj+91bKe2kUTMcN0c18Duf4nndamycRveC76hjGLXJai9EW+WEYY4Ol/odfH5GS1v4oEDcYx22mEKCqBBvfMdeFcM+C5yviWU50hkD3BSxYhlfWvBKt7Ik4yeY5kf6FqILthKXK1Ka3nXHC6LzZN/g+w+WR2vIhuOhbc3TWSZKOZzqnTkd18Vw4HUQOYhmr5Cpx31wy5j7Sj/DZS3iSWlWe7NFRogHKXfPhp8dZFnzH1b1fKv73eJ2Er6nLpNK0Cbu57CG64xI6AXNsCGAKD8kJfAEdsXcvADkhrmksr6H1HoOLELBGcfS7dJ7zwN3qpQB6nQ64YZ3d0wE+OovxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H6Q2rAEaiC++SkwNWoBcN4EvFSyaKpbpvyRIDF7u5F4=;
 b=Wn59+6ddXfPdnM0NZUFzeMD8YxRl9ZHxjQu6LlklQrtJJpmpAsDxB2cxrTphAmhDj395EwrbDErpu56aIv8BpeuRCXpsBuHpVhm2aIOnFil0Xc8WnhAWpDgc4faJPTOoPZeOEmWIjIglU8MavXd/SCFNKAyO9Y6dvetzdWEz2eLQPy1xEMAptz3Z4iw6yML2a2ouB2mwATGx8ngVz0XLolB6oMjwweLAv7PuyPhIKguS4IUjahQIpGRA9iQ+95Qqmtxp3sbpQC+PafThxW5r6ocxbFwczw9Scn4NUGVzvm1Rynao0Y7WFlQqhs++nAjYJah8vRwV2ae31JfxE0nAzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=H6Q2rAEaiC++SkwNWoBcN4EvFSyaKpbpvyRIDF7u5F4=;
 b=nZ9AH1KvudvAwEjXdT3N/2DEaAhjff9TvXbZqOcbj67khuigHclXnUYMybV6gHJuCHVCFwwCvGuUAYHY4XA3aUsILYWD4DSvXqoh3UxNUsPg22y+6PevjHUqM03xCjV/nDTSl6q1TAfIzkVQCOt6Y5guYODVDQaLV4PBvFnjj5c=
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>, "patches@linaro.org" <patches@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Thread-Index: AQHalIgAe9tsdsjGFU69yRnUHUkm77F0KqiAgAHNdQA=
Date: Tue, 23 Apr 2024 15:12:10 +0000
Message-ID: <7B792228-17C6-412C-B0E6-950433FE6C11@arm.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-6-jens.wiklander@linaro.org>
 <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
In-Reply-To: <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS2PR08MB9986:EE_|DU2PEPF0001E9C1:EE_|VI1PR08MB10299:EE_
X-MS-Office365-Filtering-Correlation-Id: 15db362d-7c32-4d24-0bf7-08dc63a7c476
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?f15Rk2w4riBNvyWbBe6yv/VE7HtGLge7yFq7a795TtImAm1o7FdE5+ZgYX1P?=
 =?us-ascii?Q?GmJ6fFAJpQUID64ESonKrT+oygFoZAmETDZ2N964tuRLW+S9/l0DdaHSQOiv?=
 =?us-ascii?Q?6qL+bJGHiO/uVJXBTtpg3drRfgZJeedwx3H41J8oVV28HonZiADjY2W0FHJL?=
 =?us-ascii?Q?6BknS2p3x0CF9+FJnpDivYyJSWjFTTg5H/r3ScUtWHHnmUyK0lA0OwmenD06?=
 =?us-ascii?Q?aP074jopd2M86ddgdQbcgKrnbZe73x4yJaOMfYSst1gG5NLhR54uYvwnolW3?=
 =?us-ascii?Q?e73u/Q0gi6/GCX1DXSkAxnDyWNvD9ulwrJbUN67bfrzc7eAN/0LWo5izg9s8?=
 =?us-ascii?Q?naidjYpJEM9B/UB2UHv28IJlFzkHn5TWZLF6UDpr1ZuhQNk7uzotLW3pkZS4?=
 =?us-ascii?Q?1Ju0ryPQtusKxhzQ34FWWLukRdXPM3xN9F9xIMPJyYHUjjv9HqYu8xZODqea?=
 =?us-ascii?Q?9RJUpsDiQ8YUC3czUh0fVIrlRbFEe+rAmoUINUWytG7S96NhE+ApibZpec1Q?=
 =?us-ascii?Q?W5oIvHyRbfAX7kEYgakRTL53uKrCehio8D5zJ+o7zHB9AzkOpF/Az7geGAse?=
 =?us-ascii?Q?igRSnUpO8tQwXi+iAgrMmcgXG0R8TJFUc8XC7hHdz7Q4Zf11sMqI9WhTgg2O?=
 =?us-ascii?Q?EH6KZIedWqUhJftZmkiAFRvtzhH8QzVJCPQmapc4rnOrjYgibVkFQs/UDM1g?=
 =?us-ascii?Q?51KF/EE1pTTw6HOBmzkA6LHTcUB+YmfCX/yCZP+NtbK48HOy0nIaQSl6i9ur?=
 =?us-ascii?Q?BvNSdYuu+q/mN6hrwwMr8Gh5NYYU7fR8bevmj4JWOS5GOkdr9wvwn2PK0p0z?=
 =?us-ascii?Q?SZzkWDL2fRGGAaNRF7jqw79ntgrWhYWrzyorT2H/H1t4pq2VBEQWcTEzQZE0?=
 =?us-ascii?Q?qj2G0XRO/r6QsCTi8LZ4+6W+cQSWzOkAhB2UtcpaAGCvBDCbUfCBa3CrG54o?=
 =?us-ascii?Q?Y3aSwo4tZTAqH6CmPI9blsyrrPm8+hbh76KmP52bHSw1zI0v/1OZvQnagl9S?=
 =?us-ascii?Q?+sbGD2IL5WmJc7mO0NOE9PLReghM0+D/fiZh0iJvK9/6lA/5/zWiZYdgluVH?=
 =?us-ascii?Q?feyc0/h1xrxZeiPpL9f/iLkwCFQVQ18fxJ9I/38L55HN6gl37iJ56CzLjyw2?=
 =?us-ascii?Q?djxVPSrNuD3IwLD6egFtTOxB8J31kKel/BC/rwceQ+yCNLQIEDuwK94k7/bU?=
 =?us-ascii?Q?vQdX+9RJw2OJIhhOSQyJLs+m14cA/H5OAQJnYxSHMWf12WwwIoEvLWySws7e?=
 =?us-ascii?Q?7OeNCRrNx8IXTJuNZzoKu/aa83sryUSB888C5MHHDt7gE+Xs+9zjrPJb5zRC?=
 =?us-ascii?Q?J5NV6Dipiuy6T3fd1aCLGlA74OfEcl23BvMiP4k07L7QrQ=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:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6B0790F67499EB46BBE4899ABF7D756A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9986
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF0001E9C1.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1fe480b2-6397-43aa-e48d-08dc63a7bfb5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?9eo5k2KSjrdnmmD9FJMkR95mSW1z00MU9/eLCs0k+U6rbCKeYTMqjCts9A5g?=
 =?us-ascii?Q?xA5NymbfXX9yp4Kfcuo8TIk5uv4qarZ1+WQKA+j3FVwOjJXhhs+yQTDD570l?=
 =?us-ascii?Q?OWNHSmN5qdPPf6LchqcfL+qo5alZCwhc3BtxcBtwcbol7vn6+8VfdTvFruI4?=
 =?us-ascii?Q?RmaeawRtj9n8stn0FDCjwmgYkZvcob2jmpFx1rJTaR78dbX1hxxaQgr/8uJB?=
 =?us-ascii?Q?MY1gkzxhv4GPUruE8J+TYCwDeOGmdBoFChfxND7lTSIRyNDH9qyZb318LXQl?=
 =?us-ascii?Q?1vPHpf005CB1lQgcZHuyvi34VLgof2eh98gSV2O/DLsvL4XG9Mn47cMuE+jH?=
 =?us-ascii?Q?4sbbelpzfYf4zUtD9B1/HZEBY/McpYBSBNVVrQBNx6bY3zLqIaZAoOD5LGbG?=
 =?us-ascii?Q?s3wVILuoZ2lC0YzO2tFgNUNNXDmkCpz0A9tPIAnZJlgnnwwk53runblKK4ps?=
 =?us-ascii?Q?5QUvcrLWbF4f54/jHLsrpbkdjwTWuK7hqhtjmmEMSY56q+5I4RitULBy6qQh?=
 =?us-ascii?Q?P1urqDT1+etoOJyRhVrDQzgDhR/KQLSGkVcWDSBszXrVYPWq+9i1+4XQnf8A?=
 =?us-ascii?Q?ncjct0y6SlgWRsGwgYY2toKAM8MrrqJMUjw8suhcKrlc8NiokHMNM3fXS4Js?=
 =?us-ascii?Q?vw2sGpu1t0cWN8AjhXI3GRjTkP4tcZR46Xe+W4VrOMxUWvQaqm830eBiVsy1?=
 =?us-ascii?Q?K41Zzdg/qaIPE0zdQURowVsDVbbpdgqfq9vV9n9nly7UI8YwreSf9fJZ+7i4?=
 =?us-ascii?Q?GJvAM7Z7VaYTPLTHbW3KN7VCsHReE+7fNX80W6U82g6snTeFKMCrrnRnA5Ow?=
 =?us-ascii?Q?oi0aKX02L0YUaubqq6BMvtM9T7gEBNXDDHAxlK2lQ0El3NzcvVCBIdgA3O5k?=
 =?us-ascii?Q?UGtt2YgPEZiKikMftmfeoEA54GvbXZUoHQpFcn0WoTRFQ+KgJ/1U0Hf2GRhH?=
 =?us-ascii?Q?kM+81QH5EuFoQBxt9BjY26IAdzi0ZmqlrTvIVN0XO5xaF69JLIiSKAdTGEAj?=
 =?us-ascii?Q?14Na5JQVcf2USoktgpM0wT447FANn3EnrYGrLR7UHMrpxpxUVvNZdEMTIwOk?=
 =?us-ascii?Q?lJ9DWiOJosGEbq5fVAj1P2dYQ27+dNjG2EUtNDOlO7cP9MFnZmaq65NcnB0u?=
 =?us-ascii?Q?UuBiwEbD8RILz2omRe9mYox4RljM1W0HaqP4IburnRsyMGAqjkee+OHF1FLl?=
 =?us-ascii?Q?kqE4AUyYFujHm92btY5fLko1dpwRPwXHOxEeSHhvcInUXxUy0PRuNBxloiiW?=
 =?us-ascii?Q?QYdjXJCbQwgi6DULIR+zknNVp1i0XzST7f/IDn6ymI66eVO1lgy2B90I0dJz?=
 =?us-ascii?Q?nEw2aFub368/uPTIi0L8NOw9y3UNLgfO4jEfO0dFyXauV+48oRS1HIak59Ji?=
 =?us-ascii?Q?VV9Lu05Z+EzTG4H5lvtEv9hcDx2R?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 15:12:18.6526
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15db362d-7c32-4d24-0bf7-08dc63a7c476
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF0001E9C1.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10299

Hi Julien,

> On 22 Apr 2024, at 13:40, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Jens,
>=20
> This is not a full review of the code. I will let Bertrand doing it.
>=20
> On 22/04/2024 08:37, Jens Wiklander wrote:
>> +void ffa_notif_init(void)
>> +{
>> +    const struct arm_smccc_1_2_regs arg =3D {
>> +        .a0 =3D FFA_FEATURES,
>> +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
>> +    };
>> +    struct arm_smccc_1_2_regs resp;
>> +    unsigned int irq;
>> +    int ret;
>> +
>> +    arm_smccc_1_2_smc(&arg, &resp);
>> +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
>> +        return;
>> +
>> +    irq =3D resp.a2;
>> +    if ( irq >=3D NR_GIC_SGI )
>> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
>> +    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
>=20
> If I am not mistaken, ffa_notif_init() is only called once on the boot CP=
U. However, request_irq() needs to be called on every CPU so the callback i=
s registered every where and the interrupt enabled.
>=20
> I know the name of the function is rather confusing. So can you confirm t=
his is what you expected?
>=20
> [...]
>=20
>> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_priva=
te.h
>> index 98236cbf14a3..ef8ffd4526bd 100644
>> --- a/xen/arch/arm/tee/ffa_private.h
>> +++ b/xen/arch/arm/tee/ffa_private.h
>> @@ -25,6 +25,7 @@
>>  #define FFA_RET_DENIED                  -6
>>  #define FFA_RET_RETRY                   -7
>>  #define FFA_RET_ABORTED                 -8
>> +#define FFA_RET_NO_DATA                 -9
>>    /* FFA_VERSION helpers */
>>  #define FFA_VERSION_MAJOR_SHIFT         16U
>> @@ -97,6 +98,18 @@
>>   */
>>  #define FFA_MAX_SHM_COUNT               32
>>  +/*
>> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
>> + * unused, but that may change.
>=20
> Are the value below intended for the guests? If so, can they be moved in =
public/arch-arm.h along with the others guest interrupts?

The values are to be used by the guest but they will discover them through =
the FFA_FEATURES ABI so I do not think those
should belong the public headers.

Cheers
Bertrand

>=20
>> + *
>> + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not =
used
>> + * by a guest as they in a non-virtualized system typically are assigne=
d to
>> + * the secure world. Here we're free to use SGI 8-15 since they are vir=
tual
>> + * and have nothing to do with the secure world.
>=20
> Do you have a pointer to the specification?
>=20
> [...]
>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710788.1110239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpP-0004sL-4N; Tue, 23 Apr 2024 15:13:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710788.1110239; Tue, 23 Apr 2024 15:13:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpP-0004sE-1L; Tue, 23 Apr 2024 15:13:03 +0000
Received: by outflank-mailman (input) for mailman id 710788;
 Tue, 23 Apr 2024 15:13: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=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpO-0004ry-7M
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:02 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f9109791-0183-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:13:00 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id AC32B4EE073C;
 Tue, 23 Apr 2024 17:12:55 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9109791-0183-11ef-909a-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 00/10] Address violations of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:42 +0200
Message-Id: <cover.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

this series aims to refactor some macros that cause violations of MISRA C Rule
20.7 ("Expressions resulting from the expansion of macro parameters shall be
enclosed in parentheses"). All the macros touched by these patches are in some
way involved in violations, and the strategy adopted to bring them into
compliance is to add parentheses around macro arguments where needed.

Nicola Vetrini (10):
  libelf: address violations of MISRA C Rule 20.7
  xen/page-defs: address violation of MISRA C Rule 20.7
  automation/eclair_analysis: deviate macro count_args_ for MISRA Rule
    20.7
  drivers: char: address violation of MISRA C Rule 20.7
  xen/spinlock: address violations of MISRA C Rule 20.7
  x86/pci: address violation of MISRA C Rule 20.7
  x86/acpi: power: address violations of MISRA Rule 20.7
  x86/hvm: hpet: address violations of MISRA C Rule 20.7
  x86/debugreg: address violation of MISRA C Rule 20.7
  x86/mm: address violations of MISRA C Rule 20.7

 automation/eclair_analysis/ECLAIR/deviations.ecl |  6 ++++++
 docs/misra/deviations.rst                        |  6 ++++++
 xen/arch/x86/acpi/power.c                        | 12 ++++++------
 xen/arch/x86/hvm/hpet.c                          |  4 ++--
 xen/arch/x86/include/asm/debugreg.h              |  2 +-
 xen/arch/x86/include/asm/pci.h                   |  8 ++++----
 xen/arch/x86/mm.c                                |  2 +-
 xen/common/libelf/libelf-private.h               |  2 +-
 xen/common/spinlock.c                            |  2 +-
 xen/drivers/char/omap-uart.c                     |  5 +++--
 xen/include/xen/libelf.h                         |  2 +-
 xen/include/xen/page-defs.h                      |  3 ++-
 xen/include/xen/spinlock.h                       |  2 +-
 13 files changed, 35 insertions(+), 21 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710789.1110249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpT-00059h-Ag; Tue, 23 Apr 2024 15:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710789.1110249; Tue, 23 Apr 2024 15:13:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpT-00059a-7l; Tue, 23 Apr 2024 15:13:07 +0000
Received: by outflank-mailman (input) for mailman id 710789;
 Tue, 23 Apr 2024 15:13:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpS-0003wh-1w
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb56fa57-0183-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:13:04 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 872D54EE073F;
 Tue, 23 Apr 2024 17:13: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: fb56fa57-0183-11ef-b4bb-af5377834399
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH 01/10] libelf: address violations of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:43 +0200
Message-Id: <250b556fc0516e4a20b24161dad3032e2ac3db80.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/libelf/libelf-private.h | 2 +-
 xen/include/xen/libelf.h           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 98cac65bc50d..197d7a7623a3 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -26,7 +26,7 @@
 /* we would like to use elf->log_callback but we can't because
  * there is no vprintk in Xen */
 #define elf_msg(elf, fmt, args ... ) \
-   if (elf->verbose) printk(fmt, ## args )
+   if ((elf)->verbose) printk(fmt, ## args )
 #define elf_err(elf, fmt, args ... ) \
    printk(fmt, ## args )
 
diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 9ac530acc2a8..a0675a4dc352 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -288,7 +288,7 @@ bool elf_access_ok(struct elf_binary * elf,
 #define elf_store_val(elf, type, ptr, val)                              \
     ({                                                                  \
         typeof(type) elf_store__val = (val);                            \
-        elf_ptrval elf_store__targ = ptr;                               \
+        elf_ptrval elf_store__targ = (ptr);                             \
         if (elf_access_ok((elf), elf_store__targ,                       \
                           sizeof(elf_store__val))) {			\
             elf_memcpy_unchecked((void*)elf_store__targ, &elf_store__val, \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710790.1110259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpV-0005R9-IP; Tue, 23 Apr 2024 15:13:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710790.1110259; Tue, 23 Apr 2024 15: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 1rzHpV-0005Ql-FM; Tue, 23 Apr 2024 15:13:09 +0000
Received: by outflank-mailman (input) for mailman id 710790;
 Tue, 23 Apr 2024 15:13: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=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpT-0004ry-VY
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd4867f2-0183-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:13:07 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 8ED0A4EE0742;
 Tue, 23 Apr 2024 17:13: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: fd4867f2-0183-11ef-909a-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH 02/10] xen/page-defs: address violation of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:44 +0200
Message-Id: <d093a4e47ac0c7029e0a1a6144fca922fe7466e0.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/include/xen/page-defs.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/include/xen/page-defs.h b/xen/include/xen/page-defs.h
index 540f8b0b6452..682da6b7b476 100644
--- a/xen/include/xen/page-defs.h
+++ b/xen/include/xen/page-defs.h
@@ -4,7 +4,8 @@
 /* Helpers for different page granularities. */
 #define PAGE_SIZE_GRAN(gran)        ((paddr_t)1 << PAGE_SHIFT_##gran)
 #define PAGE_MASK_GRAN(gran)        (-PAGE_SIZE_GRAN(gran))
-#define PAGE_ALIGN_GRAN(gran, addr) ((addr + ~PAGE_MASK_##gran) & PAGE_MASK_##gran)
+#define PAGE_ALIGN_GRAN(gran, addr) (((addr) + ~PAGE_MASK_##gran) & \
+                                     PAGE_MASK_##gran)
 
 #define PAGE_SHIFT_4K               12
 #define PAGE_SIZE_4K                PAGE_SIZE_GRAN(4K)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710791.1110268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpa-0005my-Q3; Tue, 23 Apr 2024 15:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710791.1110268; Tue, 23 Apr 2024 15:13:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpa-0005mq-NR; Tue, 23 Apr 2024 15:13:14 +0000
Received: by outflank-mailman (input) for mailman id 710791;
 Tue, 23 Apr 2024 15:13: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=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpY-0003wh-IB
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff489b4c-0183-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:13:10 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 9A8144EE073E;
 Tue, 23 Apr 2024 17:13: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: ff489b4c-0183-11ef-b4bb-af5377834399
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH 03/10] automation/eclair_analysis: deviate macro count_args_ for MISRA Rule 20.7
Date: Tue, 23 Apr 2024 17:12:45 +0200
Message-Id: <7de407c218f0911e28b7c3f609a55636165166a8.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The count_args_ macro violates Rule 20.7, but it can't be made
compliant with Rule 20.7 without breaking its functionality. Since
it's very unlikely for this macro to be misused, it is deviated.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 6 ++++++
 docs/misra/deviations.rst                        | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d21f112a9b94..c17e2f5a0886 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -445,6 +445,12 @@ not to parenthesize their arguments."
 -config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(any_exp(macro(^alternative_(v)?call[0-9]$))))"}
 -doc_end
 
+-doc_begin="The argument 'x' of the count_args_ macro can't be parenthesized as
+the rule would require, without breaking the functionality of the macro. The uses
+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="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 ed0c1e8ed0bf..e228ae2e715f 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -371,6 +371,12 @@ Deviations related to MISRA C:2012 Rules:
        sanity checks in place.
      - Tagged as `safe` for ECLAIR.
 
+   * - R20.7
+     - The macro `count_args_` is not compliant with the rule, but is not likely
+       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.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 Apr 23 15:13:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710792.1110275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpb-0005sX-9c; Tue, 23 Apr 2024 15:13:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710792.1110275; Tue, 23 Apr 2024 15:13:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpb-0005rp-5Z; Tue, 23 Apr 2024 15:13:15 +0000
Received: by outflank-mailman (input) for mailman id 710792;
 Tue, 23 Apr 2024 15:13:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpa-0004ry-JA
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0138d2f3-0184-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:13:14 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 0286B4EE073F;
 Tue, 23 Apr 2024 17:13:10 +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: 0138d2f3-0184-11ef-909a-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH 04/10] drivers: char: address violation of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:46 +0200
Message-Id: <a5e4472b91398b7f9e802ea82c8435fa8ad27066.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional chage.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/drivers/char/omap-uart.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
index 03b5b66e7acb..9e1abf306ace 100644
--- a/xen/drivers/char/omap-uart.c
+++ b/xen/drivers/char/omap-uart.c
@@ -48,8 +48,9 @@
 /* System configuration register */
 #define UART_OMAP_SYSC_DEF_CONF   0x0d   /* autoidle mode, wakeup is enabled */
 
-#define omap_read(uart, off)       readl((uart)->regs + (off<<REG_SHIFT))
-#define omap_write(uart, off, val) writel((val), (uart)->regs + (off<<REG_SHIFT))
+#define omap_read(uart, off)       readl((uart)->regs + ((off) << REG_SHIFT))
+#define omap_write(uart, off, val) writel((val), (uart)->regs + \
+                                                 ((off) << REG_SHIFT))
 
 static struct omap_uart {
     u32 baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710793.1110288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpg-0006XA-GQ; Tue, 23 Apr 2024 15:13:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710793.1110288; Tue, 23 Apr 2024 15:13:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpg-0006X1-DV; Tue, 23 Apr 2024 15:13:20 +0000
Received: by outflank-mailman (input) for mailman id 710793;
 Tue, 23 Apr 2024 15:13:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpf-0003wh-7J
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:19 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0365ff2f-0184-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:13:17 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 12D364EE073C;
 Tue, 23 Apr 2024 17:13: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: 0365ff2f-0184-11ef-b4bb-af5377834399
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH 05/10] xen/spinlock: address violations of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:47 +0200
Message-Id: <620466b08df1efb706e757aee05a8d7f7e6e8f4a.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/spinlock.c      | 2 +-
 xen/include/xen/spinlock.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 5aa9ba618859..558ea7ac3518 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -269,7 +269,7 @@ void spin_debug_disable(void)
         profile->lock_cnt++;                                                 \
     }
 #define LOCK_PROFILE_VAR(var, val)    s_time_t var = (val)
-#define LOCK_PROFILE_BLOCK(var)       var = var ? : NOW()
+#define LOCK_PROFILE_BLOCK(var)       (var) = (var) ? : NOW()
 #define LOCK_PROFILE_BLKACC(tst, val)                                        \
     if ( tst )                                                               \
     {                                                                        \
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 18793c5e29cb..8825affb25ca 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -141,7 +141,7 @@ struct lock_profile_qhead {
         }                                                                     \
         prof->name = #l;                                                      \
         prof->ptr.lockptr = &(s)->l;                                          \
-        prof->is_rlock = isr;                                                 \
+        prof->is_rlock = (isr);                                               \
         prof->next = (s)->profile_head.elem_q;                                \
         (s)->profile_head.elem_q = prof;                                      \
     } while( 0 )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710794.1110299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpi-0006sR-O5; Tue, 23 Apr 2024 15:13:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710794.1110299; Tue, 23 Apr 2024 15:13:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpi-0006sI-Jw; Tue, 23 Apr 2024 15:13:22 +0000
Received: by outflank-mailman (input) for mailman id 710794;
 Tue, 23 Apr 2024 15:13:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHph-0004ry-6g
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 052aa59f-0184-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:13:20 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id ED6784EE0742;
 Tue, 23 Apr 2024 17:13: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: 052aa59f-0184-11ef-909a-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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/10] x86/pci: address violation of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:48 +0200
Message-Id: <6c8bb550a4e263c8052ac10433070d2fcc7f56ad.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/include/asm/pci.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h
index 6bfe87e2780b..fd5480d67d43 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -8,10 +8,10 @@
 #define CF8_ADDR_HI(cf8) (  ((cf8) & 0x0f000000U) >> 16)
 #define CF8_ENABLED(cf8) (!!((cf8) & 0x80000000U))
 
-#define IS_SNB_GFX(id) (id == 0x01068086 || id == 0x01168086 \
-                        || id == 0x01268086 || id == 0x01028086 \
-                        || id == 0x01128086 || id == 0x01228086 \
-                        || id == 0x010A8086 )
+#define IS_SNB_GFX(id) ((id) == 0x01068086 || (id) == 0x01168086 \
+                        || (id) == 0x01268086 || (id) == 0x01028086 \
+                        || (id) == 0x01128086 || (id) == 0x01228086 \
+                        || (id) == 0x010A8086 )
 
 struct arch_pci_dev {
     vmask_t used_vectors;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710797.1110308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpl-0007LW-VC; Tue, 23 Apr 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 710797.1110308; Tue, 23 Apr 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 1rzHpl-0007Kt-S4; Tue, 23 Apr 2024 15:13:25 +0000
Received: by outflank-mailman (input) for mailman id 710797;
 Tue, 23 Apr 2024 15:13: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=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpj-0004ry-So
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06c360e2-0184-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:13:23 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id CE74D4EE073F;
 Tue, 23 Apr 2024 17:13:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06c360e2-0184-11ef-909a-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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/10] x86/acpi: power: address violations of MISRA Rule 20.7
Date: Tue, 23 Apr 2024 17:12:49 +0200
Message-Id: <9f159a0c653c3fb9dd192c1f888a16052f1b026f.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/acpi/power.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index c6fa810a6b13..610937f42e95 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -422,12 +422,12 @@ static void tboot_sleep(u8 sleep_state)
 {
     uint32_t shutdown_type;
 
-#define TB_COPY_GAS(tbg, g)             \
-    tbg.space_id = g.space_id;          \
-    tbg.bit_width = g.bit_width;        \
-    tbg.bit_offset = g.bit_offset;      \
-    tbg.access_width = g.access_width;  \
-    tbg.address = g.address;
+#define TB_COPY_GAS(tbg, g)                 \
+    (tbg).space_id = (g).space_id;          \
+    (tbg).bit_width = (g).bit_width;        \
+    (tbg).bit_offset = (g).bit_offset;      \
+    (tbg).access_width = (g).access_width;  \
+    (tbg).address = (g).address;
 
     /* sizes are not same (due to packing) so copy each one */
     TB_COPY_GAS(g_tboot_shared->acpi_sinfo.pm1a_cnt_blk,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710798.1110319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpp-0007nh-9v; Tue, 23 Apr 2024 15:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710798.1110319; Tue, 23 Apr 2024 15: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 1rzHpp-0007nV-6U; Tue, 23 Apr 2024 15:13:29 +0000
Received: by outflank-mailman (input) for mailman id 710798;
 Tue, 23 Apr 2024 15:13:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpn-0004ry-Sa
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09270cd6-0184-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:13:27 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 0FD9E4EE0742;
 Tue, 23 Apr 2024 17:13: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: 09270cd6-0184-11ef-909a-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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/10] x86/debugreg: address violation of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:51 +0200
Message-Id: <d0821fd968d371d03b6b336dd4b5226c1f5b68c9.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/include/asm/debugreg.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/debugreg.h b/xen/arch/x86/include/asm/debugreg.h
index 2bdaf5d9aa11..96c406ad53c8 100644
--- a/xen/arch/x86/include/asm/debugreg.h
+++ b/xen/arch/x86/include/asm/debugreg.h
@@ -67,7 +67,7 @@
 #define DR_GENERAL_DETECT        (0x00002000UL) /* General detect enable */
 
 #define write_debugreg(reg, val) do {                       \
-    unsigned long __val = val;                              \
+    unsigned long __val = (val);                            \
     asm volatile ( "mov %0,%%db" #reg : : "r" (__val) );    \
 } while (0)
 #define read_debugreg(reg) ({                               \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:13:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:13:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710799.1110328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpq-00089L-JU; Tue, 23 Apr 2024 15:13:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710799.1110328; Tue, 23 Apr 2024 15:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHpq-00088U-FR; Tue, 23 Apr 2024 15:13:30 +0000
Received: by outflank-mailman (input) for mailman id 710799;
 Tue, 23 Apr 2024 15:13:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpo-0004ry-Ss
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 098faf24-0184-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:13:28 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 4A6434EE073F;
 Tue, 23 Apr 2024 17:13: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: 098faf24-0184-11ef-909a-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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 10/10] x86/mm: address violations of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:52 +0200
Message-Id: <067c2c22f84f7d1ed1c89d65859f70ac2fd7610a.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 9141912ae52d..87529db7d136 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -162,7 +162,7 @@ static uint32_t base_disallow_mask;
 #define L4_DISALLOW_MASK (base_disallow_mask)
 
 #define l1_disallow_mask(d)                                     \
-    ((d != dom_io) &&                                           \
+    (((d) != dom_io) &&                                         \
      (rangeset_is_empty((d)->iomem_caps) &&                     \
       rangeset_is_empty((d)->arch.ioport_caps) &&               \
       !has_arch_pdevs(d) &&                                     \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:15:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710803.1110339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHrG-00036X-1R; Tue, 23 Apr 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 710803.1110339; Tue, 23 Apr 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 1rzHrF-00036Q-V4; Tue, 23 Apr 2024 15:14:57 +0000
Received: by outflank-mailman (input) for mailman id 710803;
 Tue, 23 Apr 2024 15:14:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=is0t=L4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzHrE-00033C-20
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:14:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d1f0063-0184-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:14:54 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 121A74EE073C;
 Tue, 23 Apr 2024 17:14:54 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d1f0063-0184-11ef-909a-e314d9c70b13
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Federico Serafini <federico.serafini@bugseng.com>,
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Subject: [XEN PATCH] automation/eclair: reorganize pipelines
Date: Tue, 23 Apr 2024 17:14:33 +0200
Message-Id: <fe1fe9c964d1f2ba3cb46cbaf798cf698f341386.1713885065.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Simone Ballarin <simone.ballarin@bugseng.com>

Introduce accepted_guidelines.sh: a script to autogenerate the
configuration file accepted.ecl from docs/misra/rules.rst which enables
all accepted guidelines.

Introduce monitored.ecl: a manual selection of accepted guidelines
which are clean or almost clean, it is intended to be used for the
analyses triggered by commits.

Reorganize tagging.ecl:
  -Remove "accepted" tags: keeping track of accepted guidelines tagging
   them as "accepted" in the configuration file tagging.ecl is no
   longer needed since docs/rules.rst is keeping track of them.
  -Tag more guidelines as clean.

Reorganize eclair pipelines:
  - Set1, Set2, Set3 are now obsolete: remove the corresponding
    pipelines and ecl files.
  - Amend scheduled eclair pipeline to use accepted.ecl.
  - Amend triggered eclair pipeline to use monitored.ecl.

Rename and improve action_check_clean_regressions.sh to print a
diagnostic in case a commit introduces a violation of a clean guideline.

An example of diagnostic is the following:

Failure: 13 regressions found for clean guidelines
  service MC3R1.R8.2: (required) Function types shall be in prototype form with named parameters:
   violation: 13

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/Set2.ecl    | 25 -------
 automation/eclair_analysis/ECLAIR/Set3.ecl    | 67 -------------------
 .../ECLAIR/accepted_guidelines.sh             | 13 ++++
 .../eclair_analysis/ECLAIR/action.helpers     |  3 +-
 .../eclair_analysis/ECLAIR/action.settings    |  1 +
 .../ECLAIR/action_check_clean_regressions.sh  | 38 +++++++++++
 .../ECLAIR/action_clean_added.sh              | 36 ----------
 automation/eclair_analysis/ECLAIR/analyze.sh  |  2 +-
 .../eclair_analysis/ECLAIR/generate_ecl.sh    |  4 ++
 .../ECLAIR/{Set1.ecl => monitored.ecl}        | 57 +++++++++++-----
 automation/eclair_analysis/ECLAIR/tagging.ecl | 15 +----
 automation/gitlab-ci/analyze.yaml             | 48 ++-----------
 automation/scripts/eclair                     |  8 +--
 13 files changed, 108 insertions(+), 209 deletions(-)
 delete mode 100644 automation/eclair_analysis/ECLAIR/Set2.ecl
 delete mode 100644 automation/eclair_analysis/ECLAIR/Set3.ecl
 create mode 100755 automation/eclair_analysis/ECLAIR/accepted_guidelines.sh
 create mode 100755 automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh
 delete mode 100755 automation/eclair_analysis/ECLAIR/action_clean_added.sh
 rename automation/eclair_analysis/ECLAIR/{Set1.ecl => monitored.ecl} (67%)

diff --git a/automation/eclair_analysis/ECLAIR/Set2.ecl b/automation/eclair_analysis/ECLAIR/Set2.ecl
deleted file mode 100644
index 7608335cf4..0000000000
--- a/automation/eclair_analysis/ECLAIR/Set2.ecl
+++ /dev/null
@@ -1,25 +0,0 @@
--doc_begin="Set 2 of Xen MISRA C guidelines"
--enable=MC3R1.R10.1
--enable=MC3R1.R10.2
--enable=MC3R1.R10.3
--enable=MC3R1.R10.4
--enable=MC3R1.R10.6
--enable=MC3R1.R10.7
--enable=MC3R1.R10.8
--enable=MC3R1.R11.1
--enable=MC3R1.R11.2
--enable=MC3R1.R11.3
--enable=MC3R1.R11.6
--enable=MC3R1.R11.7
--enable=MC3R1.R11.8
--enable=MC3R1.R11.9
--enable=MC3R1.R12.2
--enable=MC3R1.R13.1
--enable=MC3R1.R13.2
--enable=MC3R1.R13.5
--enable=MC3R1.R13.6
--enable=MC3R1.R14.1
--enable=MC3R1.R14.2
--enable=MC3R1.R14.3
--enable=MC3R1.R14.4
--doc_end
diff --git a/automation/eclair_analysis/ECLAIR/Set3.ecl b/automation/eclair_analysis/ECLAIR/Set3.ecl
deleted file mode 100644
index d2c2c4b21f..0000000000
--- a/automation/eclair_analysis/ECLAIR/Set3.ecl
+++ /dev/null
@@ -1,67 +0,0 @@
--doc_begin="Set 3 of Xen MISRA C guidelines"
--enable=MC3R1.D4.12
--enable=MC3R1.R5.5
--enable=MC3R1.R5.7
--enable=MC3R1.R5.8
--enable=MC3R1.R15.2
--enable=MC3R1.R15.3
--enable=MC3R1.R15.6
--enable=MC3R1.R15.7
--enable=MC3R1.R16.1
--enable=MC3R1.R16.2
--enable=MC3R1.R16.3
--enable=MC3R1.R16.4
--enable=MC3R1.R16.5
--enable=MC3R1.R16.6
--enable=MC3R1.R16.7
--enable=MC3R1.R17.1
--enable=MC3R1.R17.2
--enable=MC3R1.R17.5
--enable=MC3R1.R17.7
--enable=MC3R1.R18.1
--enable=MC3R1.R18.2
--enable=MC3R1.R18.3
--enable=MC3R1.R18.6
--enable=MC3R1.R18.7
--enable=MC3R1.R18.8
--enable=MC3R1.R20.2
--enable=MC3R1.R20.3
--enable=MC3R1.R20.4
--enable=MC3R1.R20.6
--enable=MC3R1.R20.7
--enable=MC3R1.R20.8
--enable=MC3R1.R20.9
--enable=MC3R1.R20.11
--enable=MC3R1.R20.12
--enable=MC3R1.R20.13
--enable=MC3R1.R20.14
--enable=MC3R1.R21.1
--enable=MC3R1.R21.2
--enable=MC3R1.R21.3
--enable=MC3R1.R21.4
--enable=MC3R1.R21.5
--enable=MC3R1.R21.6
--enable=MC3R1.R21.7
--enable=MC3R1.R21.8
--enable=MC3R1.R21.9
--enable=MC3R1.R21.10
--enable=MC3R1.R21.12
--enable=MC3R1.R21.14
--enable=MC3R1.R21.15
--enable=MC3R1.R21.16
--enable=MC3R1.R22.1
--enable=MC3R1.R22.3
--enable=MC3R1.R22.7
--enable=MC3R1.R22.8
--enable=MC3R1.R22.9
--enable=MC3R1.R22.10
--enable=MC3R1.R2.6
--enable=MC3R1.R4.2
--doc_end
-
--doc_begin="Guidelines added with Xen MISRA C Task (a): Xen Coding Guidelines v1.1, June 1, 2023"
--enable=MC3R1.R21.11
--enable=MC3R1.D4.4
--enable=MC3R1.R8.9
--enable=MC3R1.R12.4
--doc_end
diff --git a/automation/eclair_analysis/ECLAIR/accepted_guidelines.sh b/automation/eclair_analysis/ECLAIR/accepted_guidelines.sh
new file mode 100755
index 0000000000..b308bd4cda
--- /dev/null
+++ b/automation/eclair_analysis/ECLAIR/accepted_guidelines.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+# Stop immediately if any executed command has exit status different from 0.
+set -eu
+
+script_dir="$(
+  cd "$(dirname "$0")"
+  echo "${PWD}"
+)"
+
+accepted_rst=$1
+
+grep -Eo "\`(Dir|Rule) [0-9]+\.[0-9]+" ${accepted_rst} \
+     | sed -e 's/`Rule /MC3R1.R/' -e  's/`Dir /MC3R1.D/' -e 's/.*/-enable=&/' > ${script_dir}/accepted.ecl
diff --git a/automation/eclair_analysis/ECLAIR/action.helpers b/automation/eclair_analysis/ECLAIR/action.helpers
index df9bf2bd11..9d4ae1f979 100644
--- a/automation/eclair_analysis/ECLAIR/action.helpers
+++ b/automation/eclair_analysis/ECLAIR/action.helpers
@@ -127,7 +127,7 @@ EOF
     fi
     case ${ci} in
     github)
-        cat "${summaryTxt}" >"${GITHUB_STEP_SUMMARY}"
+        cat "${summaryTxt}" "${cleanRegressionsLog}" >"${GITHUB_STEP_SUMMARY}"
         ;;
     gitlab)
         open_section ECLAIR_summary "ECLAIR analysis summary" ""
@@ -140,6 +140,7 @@ ${analysisSummaryMsgLog}
 ${currentReportsMsgLog}
 ${referenceReportsMsgLog}
 EOF
+        cat ${cleanRegressionsLog}
         close_section ECLAIR_summary
         ;;
     jenkins)
diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index 3cba1a3afb..1577368b61 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -175,6 +175,7 @@ eclairReportUrlPrefix=https://saas.eclairit.com:3787
 
 jobDir="${artifactsDir}/${subDir}/${jobId}"
 updateLog="${analysisOutputDir}/update.log"
+cleanRegressionsLog="${analysisOutputDir}/clean_regressions.log"
 commentLog="${analysisOutputDir}/comment.json"
 indexHtmlUrl="${eclairReportUrlPrefix}/fs${jobDir}/index.html"
 summaryTxt="${analysisOutputDir}/summary.txt"
diff --git a/automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh b/automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh
new file mode 100755
index 0000000000..31b90e5241
--- /dev/null
+++ b/automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+set -eu
+
+usage() {
+    echo "Usage: $0 ANALYSIS_OUTPUT_DIR" >&2
+    exit 2
+}
+
+[ $# -eq 1 ] || usage
+
+analysisOutputDir=$1
+
+# Load settings and helpers
+. "$(dirname "$0")/action.helpers"
+. "$(dirname "$0")/action.settings"
+
+cleanRegressionsTxt=${analysisOutputDir}/clean_regressions.txt
+
+cleanRegressionCount=$("${ECLAIR_BIN_DIR}eclair_report" \
+    "-db='${analysisOutputDir}/PROJECT.ecd'" \
+    "-sel_unfixed=unfixed" \
+    "-sel_tag_glob=violation_only,kind,violation" \
+    "-sel_tag_glob=clean_added,clean,added" \
+    "-report_counts_txt=service,'${cleanRegressionsTxt}'" \
+    "-print='',reports_count()")
+
+if [ "${cleanRegressionCount}" -gt 0 ]; then
+    {
+        echo "Failure: ${cleanRegressionCount} regressions found for clean guidelines"
+        sed -n '/^Number of.*$/,/^$/{ /^Number of.*$/! { /^$/! p } }' ${cleanRegressionsTxt}
+    } > ${cleanRegressionsLog}
+    rm ${cleanRegressionsTxt}
+    exit 1
+else
+    echo "Success: No regressions for clean guidelines" > ${cleanRegressionsLog}
+    rm ${cleanRegressionsTxt}
+fi
diff --git a/automation/eclair_analysis/ECLAIR/action_clean_added.sh b/automation/eclair_analysis/ECLAIR/action_clean_added.sh
deleted file mode 100755
index 59bc35fd13..0000000000
--- a/automation/eclair_analysis/ECLAIR/action_clean_added.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-
-set -eu
-
-usage() {
-    echo "Usage: $0 ANALYSIS_OUTPUT_DIR" >&2
-    exit 2
-}
-
-[ $# -eq 1 ] || usage
-
-analysisOutputDir=$1
-
-cleanAddedTxt="${analysisOutputDir}/clean_added.log"
-
-# Load settings and helpers
-. "$(dirname "$0")/action.helpers"
-. "$(dirname "$0")/action.settings"
-
-unexpectedReports=$("${ECLAIR_BIN_DIR}eclair_report" \
-    "-db='${analysisOutputDir}/PROJECT.ecd'" \
-    "-sel_unfixed=unfixed" \
-    "-sel_tag_glob=clean_added,clean,added" \
-    "-print='',reports_count()")
-
-if [ "${unexpectedReports}" -gt 0 ]; then
-    cat <<EOF >"${cleanAddedTxt}"
-Failure: ${unexpectedReports} unexpected reports found.
-Unexpected reports are tagged 'clean:added'.
-EOF
-    exit 1
-else
-    cat <<EOF >"${cleanAddedTxt}"
-Success: No unexpected reports.
-EOF
-fi
diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh b/automation/eclair_analysis/ECLAIR/analyze.sh
index a127e7aaed..0ea5520c93 100755
--- a/automation/eclair_analysis/ECLAIR/analyze.sh
+++ b/automation/eclair_analysis/ECLAIR/analyze.sh
@@ -52,7 +52,7 @@ VARIANT="${XEN_TARGET_ARCH}"
 
 # Used in analysis.ecl
 case "$2" in
-Set0|Set1|Set2|Set3)
+accepted|monitored)
   export SET="$2"
   ;;
 *)
diff --git a/automation/eclair_analysis/ECLAIR/generate_ecl.sh b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
index de20728eb1..66766b23ab 100755
--- a/automation/eclair_analysis/ECLAIR/generate_ecl.sh
+++ b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
@@ -10,6 +10,10 @@ script_dir="$(
 )"
 
 exclude_list="${ECLAIR_PROJECT_ROOT}/docs/misra/exclude-list.json"
+accepted_rst="${ECLAIR_PROJECT_ROOT}/docs/misra/rules.rst"
 
 # Generate the exclude list file
 "${script_dir}/adopted.sh" "${exclude_list}"
+
+# Generate accepted guidelines
+"${script_dir}/accepted_guidelines.sh" "${accepted_rst}"
diff --git a/automation/eclair_analysis/ECLAIR/Set1.ecl b/automation/eclair_analysis/ECLAIR/monitored.ecl
similarity index 67%
rename from automation/eclair_analysis/ECLAIR/Set1.ecl
rename to automation/eclair_analysis/ECLAIR/monitored.ecl
index 86b8e7e772..69308ea51c 100644
--- a/automation/eclair_analysis/ECLAIR/Set1.ecl
+++ b/automation/eclair_analysis/ECLAIR/monitored.ecl
@@ -1,36 +1,57 @@
--doc_begin="Set 1 of Xen MISRA C guidelines"
--enable=MC3R1.R9.1
+-doc_begin="A set of guidelines that are clean or that only have few violations left."
+-enable=MC3R1.D1.1
+-enable=MC3R1.D2.1
+-enable=MC3R1.D4.1
+-enable=MC3R1.D4.10
+-enable=MC3R1.D4.11
+-enable=MC3R1.D4.12
+-enable=MC3R1.D4.14
+-enable=MC3R1.D4.3
+-enable=MC3R1.D4.7
+-enable=MC3R1.R10.1
+-enable=MC3R1.R10.2
+-enable=MC3R1.R1.1
+-enable=MC3R1.R11.1
+-enable=MC3R1.R11.7
+-enable=MC3R1.R11.8
+-enable=MC3R1.R11.9
 -enable=MC3R1.R12.5
+-enable=MC3R1.R1.3
+-enable=MC3R1.R13.6
+-enable=MC3R1.R1.4
+-enable=MC3R1.R14.1
+-enable=MC3R1.R14.4
+-enable=MC3R1.R16.2
+-enable=MC3R1.R16.6
+-enable=MC3R1.R16.7
+-enable=MC3R1.R17.1
 -enable=MC3R1.R17.3
 -enable=MC3R1.R17.4
+-enable=MC3R1.R17.5
 -enable=MC3R1.R17.6
 -enable=MC3R1.R19.1
+-enable=MC3R1.R20.12
+-enable=MC3R1.R20.13
+-enable=MC3R1.R20.14
+-enable=MC3R1.R20.4
+-enable=MC3R1.R20.9
+-enable=MC3R1.R2.1
 -enable=MC3R1.R21.13
 -enable=MC3R1.R21.17
 -enable=MC3R1.R21.18
 -enable=MC3R1.R21.19
 -enable=MC3R1.R21.20
 -enable=MC3R1.R21.21
+-enable=MC3R1.R2.2
 -enable=MC3R1.R22.2
 -enable=MC3R1.R22.4
 -enable=MC3R1.R22.5
 -enable=MC3R1.R22.6
--enable=MC3R1.D1.1
--enable=MC3R1.D2.1
--enable=MC3R1.D4.1
--enable=MC3R1.D4.3
--enable=MC3R1.D4.7
--enable=MC3R1.D4.10
--enable=MC3R1.D4.11
--enable=MC3R1.D4.14
--enable=MC3R1.R1.1
--enable=MC3R1.R1.3
--enable=MC3R1.R1.4
--enable=MC3R1.R2.1
--enable=MC3R1.R2.2
+-enable=MC3R1.R2.6
 -enable=MC3R1.R3.1
 -enable=MC3R1.R3.2
 -enable=MC3R1.R4.1
+-enable=MC3R1.R4.2
 -enable=MC3R1.R5.1
 -enable=MC3R1.R5.2
 -enable=MC3R1.R5.3
@@ -43,15 +64,15 @@
 -enable=MC3R1.R7.3
 -enable=MC3R1.R7.4
 -enable=MC3R1.R8.1
+-enable=MC3R1.R8.10
+-enable=MC3R1.R8.12
+-enable=MC3R1.R8.14
 -enable=MC3R1.R8.2
 -enable=MC3R1.R8.3
 -enable=MC3R1.R8.4
 -enable=MC3R1.R8.5
 -enable=MC3R1.R8.6
 -enable=MC3R1.R8.8
--enable=MC3R1.R8.10
--enable=MC3R1.R8.12
--enable=MC3R1.R8.14
 -enable=MC3R1.R9.2
 -enable=MC3R1.R9.3
 -enable=MC3R1.R9.4
diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
index a1dea32b21..d609b470eb 100644
--- a/automation/eclair_analysis/ECLAIR/tagging.ecl
+++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
@@ -13,24 +13,13 @@
 -doc="Hide reports marked as disapplied."
 -remap_rtag={disapplied,hide}
 
-#######################
-# Accepted guidelines #
-#######################
-
--doc="Accepted guidelines as reported in XEN/docs/misra/rules.rst"
--service_selector={accepted_guidelines,
-    "MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.3||MC3R1.D4.7||MC3R1.D4.10||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.1||MC3R1.R2.2||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.3||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.2||MC3R1.R8.3||MC3R1.R8.4||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.1||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R10.1||MC3R1.R10.2||MC3R1.R10.3||MC3R1.R10.4||MC3R1.R11.7||MC3R1.R11.8||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R13.1||MC3R1.R13.5||MC3R1.R13.6||MC3R1.R14.1||MC3R1.R14.2||MC3R1.R14.3||MC3R1.R16.7||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R18.3||MC3R1.R19.1||MC3R1.R20.7||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R21.13||MC3R1.R21.17||MC3R1.R21.18||MC3R1.R21.19||MC3R1.R21.20||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
-}
--doc="All reports of accepted guidelines are tagged as accepted."
--reports+={status:accepted,"service(accepted_guidelines)"}
-
 ####################
 # Clean guidelines #
 ####################
 
 -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
 
--service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.2||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R8.1||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.2||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R12.5||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
+-service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R11.7||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R14.1||MC3R1.R16.7||MC3R1.R17.1||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.5||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R20.4||MC3R1.R20.9||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R2.2||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5"
 }
 
 -setq=target,getenv("XEN_TARGET_ARCH")
@@ -40,7 +29,7 @@ if(string_equal(target,"x86_64"),
 )
 
 if(string_equal(target,"arm64"),
-    service_selector({"additional_clean_guidelines","MC3R1.R5.3||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R8.6||MC3R1.R9.3"})
+    service_selector({"additional_clean_guidelines","MC3R1.R16.6||MC3R1.R20.12||MC3R1.R2.1||MC3R1.R5.3||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R8.6||MC3R1.R9.3"})
 )
 
 -reports+={clean:added,"service(clean_guidelines_common||additional_clean_guidelines)"}
diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 6631db53fa..46c9d8e2e5 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -39,14 +39,14 @@ eclair-x86_64:
   variables:
     LOGFILE: "eclair-x86_64.log"
     VARIANT: "X86_64"
-    RULESET: "Set1"
+    RULESET: "monitored"
 
 eclair-ARM64:
   extends: .eclair-analysis:triggered
   variables:
     LOGFILE: "eclair-ARM64.log"
     VARIANT: "ARM64"
-    RULESET: "Set1"
+    RULESET: "monitored"
 
 .eclair-analysis:on-schedule:
   extends: .eclair-analysis
@@ -55,56 +55,20 @@ eclair-ARM64:
       when: never
     - !reference [.eclair-analysis, rules]
 
-eclair-x86_64-Set1:on-schedule:
+eclair-x86_64:on-schedule:
   extends: .eclair-analysis:on-schedule
   variables:
     VARIANT: "X86_64"
-    RULESET: "Set1"
+    RULESET: "accepted"
     ANALYSIS_KIND: "${RULESET}-scheduled"
     LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
   allow_failure: true
 
-eclair-x86_64-Set2:on-schedule:
-  extends: .eclair-analysis:on-schedule
-  variables:
-    VARIANT: "X86_64"
-    RULESET: "Set2"
-    ANALYSIS_KIND: "${RULESET}-scheduled"
-    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
-  allow_failure: true
-
-eclair-x86_64-Set3:on-schedule:
-  extends: .eclair-analysis:on-schedule
-  variables:
-    VARIANT: "X86_64"
-    RULESET: "Set3"
-    ANALYSIS_KIND: "${RULESET}-scheduled"
-    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
-  allow_failure: true
-
-eclair-ARM64-Set1:on-schedule:
-  extends: .eclair-analysis:on-schedule
-  variables:
-    VARIANT: "ARM64"
-    RULESET: "Set1"
-    ANALYSIS_KIND: "${RULESET}-scheduled"
-    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
-  allow_failure: true
-
-eclair-ARM64-Set2:on-schedule:
-  extends: .eclair-analysis:on-schedule
-  variables:
-    VARIANT: "ARM64"
-    RULESET: "Set2"
-    ANALYSIS_KIND: "${RULESET}-scheduled"
-    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
-  allow_failure: true
-
-eclair-ARM64-Set3:on-schedule:
+eclair-ARM64:on-schedule:
   extends: .eclair-analysis:on-schedule
   variables:
     VARIANT: "ARM64"
-    RULESET: "Set3"
+    RULESET: "accepted"
     ANALYSIS_KIND: "${RULESET}-scheduled"
     LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
   allow_failure: true
diff --git a/automation/scripts/eclair b/automation/scripts/eclair
index 14e47a6f97..ebcaf09b54 100755
--- a/automation/scripts/eclair
+++ b/automation/scripts/eclair
@@ -18,12 +18,8 @@ ex=0
                              "${ex}"
 [ "${ex}" = 0 ] || exit "${ex}"
 
-# Fail in case of new reports
-"${ECLAIR_DIR}/action_clean_added.sh" "${ECLAIR_OUTPUT_DIR}" || ex=$?
-"${ECLAIR_DIR}/action_log.sh" DIFF_CHECK_LOG \
-                             "ECLAIR diff check" \
-                             "${ECLAIR_OUTPUT_DIR}/clean_added.log" \
-                             "${ex}"
+# Fail in case of new reports for clean guidelines
+"${ECLAIR_DIR}/action_check_clean_regressions.sh" "${ECLAIR_OUTPUT_DIR}" || ex=$?
 
 "${ECLAIR_DIR}/action_push.sh" "${WTOKEN}" "${ECLAIR_OUTPUT_DIR}"
 [ "${ex}" = 0 ] || exit "${ex}"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:16:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710818.1110348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHsa-0004MO-Fl; Tue, 23 Apr 2024 15:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710818.1110348; Tue, 23 Apr 2024 15: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 1rzHsa-0004MH-Cz; Tue, 23 Apr 2024 15:16:20 +0000
Received: by outflank-mailman (input) for mailman id 710818;
 Tue, 23 Apr 2024 15:16:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rzHsZ-0004M6-RR
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:16:19 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzHsY-0002nD-Fl; Tue, 23 Apr 2024 15:16:18 +0000
Received: from [15.248.2.233] (helo=[10.24.67.33])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzHsY-0006Ks-9X; Tue, 23 Apr 2024 15:16:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=E9Sp/zcLuCwq/Jq+7B7qxRfozJWFaKuP6eFByv+Cq30=; b=Dvm1WTY4kDYeeSoXfH6xeAJWK9
	Dp2LqyF8xLtGJtVYvOUaz0KEwe4MwfR8Q3+wLPa2v93SCrJkh7RgSH8nJlunc8bA4NgzDqqoRcctQ
	0IGMi2vQMKhyP3HikAgOvTfW56VeXsXz9vUb2oZ1VZKOu2q9JWW08Ha9c38qULTaC+5M=;
Message-ID: <bf1b49aa-1651-4913-89c3-f523a91ae39b@xen.org>
Date: Tue, 23 Apr 2024 16:16:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Jens Wiklander <jens.wiklander@linaro.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "patches@linaro.org" <patches@linaro.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-6-jens.wiklander@linaro.org>
 <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
 <7B792228-17C6-412C-B0E6-950433FE6C11@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <7B792228-17C6-412C-B0E6-950433FE6C11@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 23/04/2024 16:12, Bertrand Marquis wrote:
> Hi Julien,
> 
>> On 22 Apr 2024, at 13:40, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Jens,
>>
>> This is not a full review of the code. I will let Bertrand doing it.
>>
>> On 22/04/2024 08:37, Jens Wiklander wrote:
>>> +void ffa_notif_init(void)
>>> +{
>>> +    const struct arm_smccc_1_2_regs arg = {
>>> +        .a0 = FFA_FEATURES,
>>> +        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
>>> +    };
>>> +    struct arm_smccc_1_2_regs resp;
>>> +    unsigned int irq;
>>> +    int ret;
>>> +
>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>> +    if ( resp.a0 != FFA_SUCCESS_32 )
>>> +        return;
>>> +
>>> +    irq = resp.a2;
>>> +    if ( irq >= NR_GIC_SGI )
>>> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
>>> +    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
>>
>> If I am not mistaken, ffa_notif_init() is only called once on the boot CPU. However, request_irq() needs to be called on every CPU so the callback is registered every where and the interrupt enabled.
>>
>> I know the name of the function is rather confusing. So can you confirm this is what you expected?
>>
>> [...]
>>
>>> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
>>> index 98236cbf14a3..ef8ffd4526bd 100644
>>> --- a/xen/arch/arm/tee/ffa_private.h
>>> +++ b/xen/arch/arm/tee/ffa_private.h
>>> @@ -25,6 +25,7 @@
>>>   #define FFA_RET_DENIED                  -6
>>>   #define FFA_RET_RETRY                   -7
>>>   #define FFA_RET_ABORTED                 -8
>>> +#define FFA_RET_NO_DATA                 -9
>>>     /* FFA_VERSION helpers */
>>>   #define FFA_VERSION_MAJOR_SHIFT         16U
>>> @@ -97,6 +98,18 @@
>>>    */
>>>   #define FFA_MAX_SHM_COUNT               32
>>>   +/*
>>> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
>>> + * unused, but that may change.
>>
>> Are the value below intended for the guests? If so, can they be moved in public/arch-arm.h along with the others guest interrupts?
> 
> The values are to be used by the guest but they will discover them through the FFA_FEATURES ABI so I do not think those
> should belong the public headers.

Sorry I should have been clearer. The values in the public headers are 
not meant for the guest. They are meant for a common understanding 
between the toolstack and Xen of the guest layout (memory + interrupts).

I know that some of the guests started to rely on it. But this is 
against our policy:

  * These are defined for consistency between the tools and the
  * hypervisor. Guests must not rely on these hardcoded values but
  * should instead use the FDT.

In this case, even if this is only used by Xen (today), I would argue 
they should defined at the same place because it is easier to understand 
the layout if it is in one place.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:16:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:16:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710820.1110358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHse-0004cM-Nm; Tue, 23 Apr 2024 15:16:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710820.1110358; Tue, 23 Apr 2024 15:16: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 1rzHse-0004cF-Kl; Tue, 23 Apr 2024 15:16:24 +0000
Received: by outflank-mailman (input) for mailman id 710820;
 Tue, 23 Apr 2024 15:16: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=nbx+=L4=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rzHsd-0004Lz-Kr
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:16:23 +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 713fea67-0184-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:16:22 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2db17e8767cso75146091fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08: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: 713fea67-0184-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713885381; x=1714490181; 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=M4r3qALaMskxAH0Fh0f7vpq9xg93FkgvTANUeojL8HE=;
        b=HN4uGpvJb3k6HvMRVbajrcub4e0b4Q0UJIyhdEgcH4BhR3k/4DAqx3KSYDrnBSGm/M
         TUiHO983LiQZzogGXOzVt0fe7sC28Tr9zo40TXz5Bs1Url+B8GUKKCasE2aWDDI7Dl+1
         KXEvQRq2aQaIWZyfKAKvTfitv7Xw+WywBe/f4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713885381; x=1714490181;
        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=M4r3qALaMskxAH0Fh0f7vpq9xg93FkgvTANUeojL8HE=;
        b=ECe0ulRdLBLcM3F2Zx73e7E/bi5Ufa7BatYJTc7/7/aBMgGN4UlG6MTrE9N+2HYDD4
         WY3TSwa8vc+Vktbs+hAc5mlgzQ59ruK6rxLVme17T+7hWEVowyrkSJQQnHX+sYwXnosB
         gSe6+OmGrhjUZ/Hj/XGBBuW3rMrJxN9EWvZV/hGjxdJ6jgIs8jE/8Pc10jti1jKHCh82
         rzUaCFX3it3eukr8Hl+ffBiAvp+Rph/ZPPpzW/ZmyrMmh4PZyaBUSuqlpOtbKo6boXFM
         9gf3VakLSl2vD5Y5KF9IS7k5QSGfFR7fP08J0CfYu6EdLqFsRSuFm3mgyQsj2SQUDx21
         HgxQ==
X-Gm-Message-State: AOJu0YxkDLhMIdhIMXr41xx2w3HMLp9KSd0Au2KQsnXE4zZVFBLtZBDl
	qhnXZdTB5AshUisaufpZvvfiw15J9vECi+WYIo6n4HPbZgbnw9CVws2wLwwE1CcNF/BvQHCvMwQ
	t0TcktCoV7RpgcmrKqIEkD8MojDiJ7qLyMk6dYw==
X-Google-Smtp-Source: AGHT+IFP3gNxugGAAFUZqI9idGxSuyDhIiXWubQ0R2hQT5IbI0H+5J/dOptgcQFdaRnSnyxq32KWwvdXxNENyUpYdcM=
X-Received: by 2002:a2e:8602:0:b0:2db:a393:27c9 with SMTP id
 a2-20020a2e8602000000b002dba39327c9mr8060463lji.5.1713885381205; Tue, 23 Apr
 2024 08:16:21 -0700 (PDT)
MIME-Version: 1.0
References: <20240416091546.11622-1-fouad.hilly@cloud.com> <20240416091546.11622-5-fouad.hilly@cloud.com>
 <5ece784e-cc8c-4cbb-9ea3-a55f29fab1ac@perard>
In-Reply-To: <5ece784e-cc8c-4cbb-9ea3-a55f29fab1ac@perard>
From: Fouad Hilly <fouad.hilly@cloud.com>
Date: Tue, 23 Apr 2024 16:16:10 +0100
Message-ID: <CAJKAvHZ-6DsY5wTdFzB6tm5RNKY4EnmY-Stjsi2aRmMT9TZCnw@mail.gmail.com>
Subject: Re: [PATCH v2 4/5] x86: Use getopt to handle command line args
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 22, 2024 at 6:48=E2=80=AFPM Anthony PERARD <anthony.perard@clou=
d.com> wrote:
>
> On Tue, Apr 16, 2024 at 10:15:45AM +0100, Fouad Hilly wrote:
> > diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> > index 0c0b2337b4ea..e3c1943e3633 100644
> > --- a/tools/misc/xen-ucode.c
> > +++ b/tools/misc/xen-ucode.c
> > @@ -11,6 +11,7 @@
> >  #include <sys/stat.h>
> >  #include <fcntl.h>
> >  #include <xenctrl.h>
> > +#include <getopt.h>
> >
> >  static xc_interface *xch;
> >
> > @@ -22,7 +23,8 @@ static void usage(const char *name)
> >      printf("%s: Xen microcode updating tool\n"
> >             "Usage: %s [microcode file] [options]\n"
> >             "Options:\n"
> > -           "show-cou-info   show CPU information and exit\n",
> > +           "  -h, --help            display this help and exit\n"
> > +           "  -s, --show-cpu-info   show CPU information and exit\n",
> >             name, name);
> >  }
> >
> > @@ -86,6 +88,13 @@ int main(int argc, char *argv[])
> >      char *filename, *buf;
> >      size_t len;
> >      struct stat st;
> > +    int opt;
> > +
> > +    static const struct option options[] =3D {
> > +        {"help", no_argument, NULL, 'h'},
> > +        {"show-cpu-info", no_argument, NULL, 's'},
> > +        {NULL, no_argument, NULL, 0}
> > +    };
> >
> >      xch =3D xc_interface_open(NULL, NULL, 0);
> >      if ( xch =3D=3D NULL )
> > @@ -95,19 +104,22 @@ int main(int argc, char *argv[])
> >          exit(1);
> >      }
> >
> > -    if ( argc < 2 )
> > -    {
> > -        fprintf(stderr,
> > -                "xen-ucode: Xen microcode updating tool\n"
> > -                "Usage: %s [<microcode file> | show-cpu-info]\n", argv=
[0]);
> > -        show_curr_cpu(stderr);
> > -        exit(2);
> > -    }
> > +    if ( argc !=3D 2 )
> > +        goto ext_err;
>
> Why only two arguments allowed? And why check `argc` before calling
> getopt_long() ?
At this stage of the patch series, xen-ucode expects either firmware
file or a single argument, that is why argc should be 2.
If there is no argument or many arguments that are not supposed to be,
we exit with error other than try to parse the arguments.
>
>
> >
> > -    if ( !strcmp(argv[1], "show-cpu-info") )
> > +    while ( (opt =3D getopt_long(argc, argv, "hs", options, NULL)) !=
=3D -1 )
> >      {
> > -        show_curr_cpu(stdout);
> > -        return 0;
> > +        switch (opt)
> > +        {
> > +        case 'h':
> > +            usage(argv[0]);
> > +            exit(EXIT_SUCCESS);
> > +        case 's':
> > +            show_curr_cpu(stdout);
> > +            exit(EXIT_SUCCESS);
> > +        default:
> > +            goto ext_err;
> > +        }
> >      }
> >
> >      filename =3D argv[1];
>
> So, after calling getopt_long(), the variable `optind` point to the next
> argument that getopt_long() didn't recognize as an argument. It would be
> a good time to start using it, and check that the are actually argument
> left on the command line, even if in the current patch the only possible
> outcome is that argv[1] has something that isn't an option.
>
> > @@ -152,4 +164,11 @@ int main(int argc, char *argv[])
> >      close(fd);
> >
> >      return 0;
> > +
> > + ext_err:
> > +    fprintf(stderr,
> > +            "xen-ucode: Xen microcode updating tool\n"
> > +            "Usage: %s [microcode file] [options]\n", argv[0]);
>
> Isn't there a usage() function that we could use?
As there is an error, stderr should be used, which was a comment on V1.
>
> > +    show_curr_cpu(stderr);
>
> Why call show_curr_cpu() on the error path?
Informative, but could be removed.
>
> > +    exit(STDERR_FILENO);
>
> Still not an exit value.
>
> Thanks,
>
> --
> Anthony PERARD

Thanks,

Fouad


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:19:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:19:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710842.1110369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzHvJ-0005ag-4l; Tue, 23 Apr 2024 15:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710842.1110369; Tue, 23 Apr 2024 15: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 1rzHvJ-0005aZ-2C; Tue, 23 Apr 2024 15:19:09 +0000
Received: by outflank-mailman (input) for mailman id 710842;
 Tue, 23 Apr 2024 15:19:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=agql=L4=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rzHvI-0005aT-0S
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:19:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0821a3b-0184-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:19:06 +0200 (CEST)
Received: from AM6P195CA0051.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:87::28)
 by DB9PR08MB8385.eurprd08.prod.outlook.com (2603:10a6:10:3da::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 15:18:58 +0000
Received: from AMS1EPF00000047.eurprd04.prod.outlook.com
 (2603:10a6:209:87:cafe::8e) by AM6P195CA0051.outlook.office365.com
 (2603:10a6:209:87::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Tue, 23 Apr 2024 15:18:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000047.mail.protection.outlook.com (10.167.16.135) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Tue, 23 Apr 2024 15:18:55 +0000
Received: ("Tessian outbound e14047529286:v313");
 Tue, 23 Apr 2024 15:18:54 +0000
Received: from 82d9686a7326.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 858C246B-6862-4A14-AB79-2279D8C9BCF0.1; 
 Tue, 23 Apr 2024 15:18:47 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 82d9686a7326.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 23 Apr 2024 15:18:47 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DU0PR08MB9726.eurprd08.prod.outlook.com (2603:10a6:10:446::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Tue, 23 Apr
 2024 15:18:45 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7472.044; Tue, 23 Apr 2024
 15:18:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0821a3b-0184-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=EsXzfigCCaLtMOrC31dcgH0ojHyUm4xLUi6W/LEqfgZHsptf3cwZ7P8PKChacEr4Wnl7xeRuR9i8R/X31WVOy2wqGbEROAHANMLjb4AYZbGJkABC0xyv11lOrQN4OkQwi4dOlGPKNzF/BaDXcBkQuRBjB55StkajnPreaO6zcsUKCTNhH0/LgiLF8MyxqBMk4u4Njihp9kj2GsRoYrwS1TKNfgKdzRJkdtjKKCaSrJWGrQR1Cqq0Ok0Um/P8BkePMjWdaeNOhZ5YJihKcnFLtdGATJBH2M9IhMPJBrAECUlHdOjf90/5hF2nW/HlisDFrrsDxEqibo2N58O1oigjEw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HjydwI3EtAJBIiT7QQhDZsOClx81GsqRlrzfKou/s7c=;
 b=BCXICMkmJGcD+sQd96f7Z40Bbl6dcW9DRXupXR9MVeO1F2IkKhyxyN+D3A+NuIKJrtPrkj9xM9N6he9hm3Q36pfHd4Lvs5h355/I1Rd4EWaV3/abuP36+oj2kX5gN4pMBLRFvGQMMH3NLr6asCwWc9b6MNwPrROIzbL9PDd44DjmosutIC0bUf02qfDLlreuRhFXVS+tITqir4JJ+zG05qa5KjSGMMTqXs+e7KOfkT7j3GiYE4eQO9dlhzerYtS5k6gWbBYSMWCyoU3JhvwhkTJEM37NDOiNo25ICgyfRHZ2+iUGzgfRCnaS1GdbTrSHk1/WZecMcj6E/Q95D8ZL5Q==
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=HjydwI3EtAJBIiT7QQhDZsOClx81GsqRlrzfKou/s7c=;
 b=EzHTeFcUdipF3q0v0Cqa7JRkDjb9K3vDRL+bks/cpFd59XX19rHuarMzGfDZBMQV+mXiMDCkfFdYDEuIVmfsMntrciW3SU73TG8v+CW2JdukklZ8fwo5d5gq60v2ruXk3Qyp5eMrba9qrDKyUDvDvcLdLhxwCeJtelGLXVY8Ad0=
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: e95ebf81237b16a1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c284nvR/RGRnnX4JRTFaJjwa2TNOkeb0Q9CsWjk3CxpYzgRXrns9xpjhIWws6xlBsTcrKTbxCesQG47y3SCHYIYAfnphNHxZjlDW+0W6dxznKV40eHIpk+Ss5xayjgbgbwDeobWm/F283UVtNRlAeWEgB/LcstTpi1f3lmZrVOFv0KE3jQo6KSBk59YGsDJTbCvm4s+b5kvsVU0WJLxHBeqf5MxAQSrQHffMxQcK1B8eLJ1iLaBFblU+ZRwWHlz0uuv2lOYHpjCgQz8UzQUJcDEw7Gpfwg53Mw5/uAXiUzUIeTZJNpRumltp3f7hi/KF+fRtcKz3fKGmH5ZyvR9zYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HjydwI3EtAJBIiT7QQhDZsOClx81GsqRlrzfKou/s7c=;
 b=Qu6zmaA4xtCbWJhjdq4yuR7HJJN+SeRYFJMlBXnKaIso1BKa98yrpkCUqU8eFAgQHQ6lJDu7rcaBmeMz+7Nz+jqjHujrqxBrvYsvilhH7nPkzzJrbH/zBHVh9ERTEvaVTWJiatxNWKPD4P6P1pGmz2k0HhJaI0zx9x/g37g+ZQ/T7ZbNxvQHm2jDxKv8wjhDI5geAS91b4ZEr94JvoSUmfG/7+HTWLxB/O9BIFc9EckdR3Cm8hqOzOVSe8+LfXsPqap/5vMJfS87GyGc+qFOUd/+2AMKRxSEebRgIon07I3rNEJyaqBjlsTZ5qaQflAUEuqywfm9zqI7mKQPq2eSyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=HjydwI3EtAJBIiT7QQhDZsOClx81GsqRlrzfKou/s7c=;
 b=EzHTeFcUdipF3q0v0Cqa7JRkDjb9K3vDRL+bks/cpFd59XX19rHuarMzGfDZBMQV+mXiMDCkfFdYDEuIVmfsMntrciW3SU73TG8v+CW2JdukklZ8fwo5d5gq60v2ruXk3Qyp5eMrba9qrDKyUDvDvcLdLhxwCeJtelGLXVY8Ad0=
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>, "patches@linaro.org" <patches@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Thread-Index: AQHalIgAe9tsdsjGFU69yRnUHUkm77F0KqiAgAHNdQCAAAExAIAAAKaA
Date: Tue, 23 Apr 2024 15:18:45 +0000
Message-ID: <11727110-3F3F-4DB6-A427-4CB77092928A@arm.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-6-jens.wiklander@linaro.org>
 <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
 <7B792228-17C6-412C-B0E6-950433FE6C11@arm.com>
 <bf1b49aa-1651-4913-89c3-f523a91ae39b@xen.org>
In-Reply-To: <bf1b49aa-1651-4913-89c3-f523a91ae39b@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DU0PR08MB9726:EE_|AMS1EPF00000047:EE_|DB9PR08MB8385:EE_
X-MS-Office365-Filtering-Correlation-Id: 06c5fc5a-c425-490a-9a06-08dc63a8b0bf
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230031|376005|1800799015|366007|38070700009;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?+kppy4ILQCPxKZT6TZ1rkbCVxJev2AAQX1F7xo21gjTqsi+ltYjHQCRg3Efg?=
 =?us-ascii?Q?yyBs51xvo6NCu7Z22g3XS7vRcXLUBznH9PoUrDawKtGACBEW8wcs0oomwWuQ?=
 =?us-ascii?Q?0xzybiaACIKAHXvThx9mRKRnpHhJMPnIANck+Drty0V8SfRBmFUWnsuM/ALT?=
 =?us-ascii?Q?t7jf6FXZgVKTDRoOPAPFSjMzZlt9o8Y2Ny131JFxhCvo65jtdtfaIpux7ZEI?=
 =?us-ascii?Q?EmJK2ZxL2OtMWKeJamihRfPmY6gpvfJNva7ffGizttUDC4hQuuxPAcJEbCqF?=
 =?us-ascii?Q?Qmw47isMod5Jywd3v0KpZt0HASO/K3US4UepDGY9E5vStnT0TAJbM1aF2qKb?=
 =?us-ascii?Q?gp8Oix7oC2acWrdJPn2WPr2pGHf5t6GC4drmVbp3/2Ic90OS0nVMYpdktVOc?=
 =?us-ascii?Q?pOJ4OYW5bt9JWTb/+qiYXNZvSBYpyZv6AcYaFuxSHYYINAQ1+25If2hmzQIA?=
 =?us-ascii?Q?BIgtQzGWP5uSk9ZWpmBYakvZEQHKE1dimrLmHJWlgWtHBAKTAal7xr56zlTW?=
 =?us-ascii?Q?Bw4RFqmxIx89E7quA+O5IXww5K0GD8RNXULro+NiuQCUubiM1bx/UNOKXm9x?=
 =?us-ascii?Q?WSJxehkxa+SWEAB/MkqqKH/HIkOAo0xLgWG8uahudu3z3mQIzMlORWWTt1F2?=
 =?us-ascii?Q?NjGbS3BtJJeqTcYRbQVLivVkwgbLsbCzdI1ntflruYyS1gYQ1UylTZ9m0HeN?=
 =?us-ascii?Q?BFytaZ8a/cjaOKZUrfKP7kYDLa2NVjUIWI969Uwbxq5fSYnFyfEPmZmUbTq8?=
 =?us-ascii?Q?aF2Zn0FNHDPagNy4D+2QKYt31aY9LCF/yrrbSs17G/CecI6bachpoeTM1gvL?=
 =?us-ascii?Q?EwxKOZ6AFGOmn5piAonfO55eVmAzCDFx04WFTEHxyOfPBU22xyRdjUpigJ6H?=
 =?us-ascii?Q?fy2+36UfVbZr0zv1B13gud0PD/4on1s+Pk3azY421QyfFeLtJCP4riltcVru?=
 =?us-ascii?Q?K4iP+2rKs/dttNHx5l07mrUbNzhDo1joIeegi2tJ9nwmXNPnTRLwBZ60pwoX?=
 =?us-ascii?Q?olkUn8SkjY6XdJ9L8/ykqbnLc7Kif0qzP2DiwSNlCudASKdMwk7wlm5IM8Gj?=
 =?us-ascii?Q?gzgw5YuW6IEvHfmmf9YYfh/IvzHUd6CArinCylTT1QlGTDT4MqrndY68H5vO?=
 =?us-ascii?Q?Deyi9AFEBfeCUhni0uMXDSOrMulVbuke4Wk+kb5Eltznz7xBC5/ePLEXUR6A?=
 =?us-ascii?Q?ERNTVkiDWVLDimg5/tBgoOnCJNyfX/7nANkL+DjZYwFbQsUGoPf21LcttPxD?=
 =?us-ascii?Q?7BfRoN9KdKPchg1JJatUudlySBYejVx3DfgyHf4wMyaw1q4OBWJqbcReN1Jz?=
 =?us-ascii?Q?UaXjsSEuheABveYHxA/AaR8tc7pmMda5O0OljtMG/zlpUg=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:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <C5AEF0AE06B0D34C8F641F6EB8747DC2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9726
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS1EPF00000047.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	94fcc311-89ce-4575-c5b7-08dc63a8ab05
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Yh692Ttke70EdeBQHvOFGw7FAG1iukxC3Lhk7I6tkSCJfGh5cupmEEjgD57Z?=
 =?us-ascii?Q?SlcfWiCmPciMnryQxQyxd3BQjiTtNMrwnRg/i7CV1BfgGiSxcKaHJ7jnzLou?=
 =?us-ascii?Q?GVwzG3yd4ql8ITjSeEg7XEZbt9iDqVZfpQ6URzt+dUgAxDYna/z0ahb09g0S?=
 =?us-ascii?Q?eDalDm0Pm0AJr92e1DAW8zB329iCJuBLdI6h6r7P1keQOBY0uozezMioVeue?=
 =?us-ascii?Q?UyuFM3zuyMGjfqeJhXQUyNBwOH0zenduvTE3MgLqDX246e3XLQ2HRQdNw0Fq?=
 =?us-ascii?Q?1JnSrlJDHGF7+Xu9PA3AlMq8ITAC+KORCfYKUIpkaiGWs/prKLN1j29yA8SV?=
 =?us-ascii?Q?bMO9AZ7AYNU/3CPI5yxEzuBowC8Bm5OaeEO59+7z9ceOgjQzdQi+mWfVQcPm?=
 =?us-ascii?Q?WPy+9B/l7xQecyF3Q+/UQ8KKq4lFF4H1AZl9RzylBGP0dmST0x5nnN8IeLrR?=
 =?us-ascii?Q?GJ8As3vmfZMNTzHbKVtGeDc+GLv+3xfn+EjPuIvMWKHVyBDu26WzTqTWzrrO?=
 =?us-ascii?Q?R4o2DSx+SAjeO8aSf/Ibu6PPv/AL13KaRfj+un1c4Y+WGu07XSuMpaIJKsGj?=
 =?us-ascii?Q?mGcZjFOujz4HnWlPdOh1Jp9vA/AGeNiqbpISUma2Up1Lk47U1pBJzpuY2qDs?=
 =?us-ascii?Q?YGJP2qZuw+ZZLmCtBjMJ5Uv9B60nybVFPNenQl88qoFUFz25NtxYjhdd2YBj?=
 =?us-ascii?Q?tqSiBGoA9c2veXpLT+3gBdXnrwAC5rhbaqjZTIyFd+RUyMOC1RgRmwclAfrx?=
 =?us-ascii?Q?Fn7+87UgMMTuNKVAC7QR/knbQIx7iFgyTB3Dov0w6fTttKasNC8sgKiTB7fk?=
 =?us-ascii?Q?LfhSU1T56hSzlXuYkdhmuJoPnr/OePV6QfOXo2soZkejPaLWb0C8TWVtPpYx?=
 =?us-ascii?Q?1JbUq2N+LGAA6iL0yikx7r3Cs2HYy4OIhvzOMCvmQ+WlXi7/X37xyWOkhG0i?=
 =?us-ascii?Q?Cq2e/idbuImnPv0xZcSd1VFmLIuY3Nx3cRAp6DhynKBH3TKijAkVm+IWOxd/?=
 =?us-ascii?Q?BRa7snLSxqKh+pbdjvkqcbQybT+QcAvGf69gK6TbaP8TdjZVMt4KKuD+jHth?=
 =?us-ascii?Q?6gEw+jv2Kmn42H4H70w//Dp6T1K5ZPAjbDCuoWPflcp7v8pPgHle2L3fuHQ2?=
 =?us-ascii?Q?bA4aiOQo0QVShXrgAfuB9bE5h1pK31s8/lQbECu+zn1jBjIYuDsgX3GvJFFE?=
 =?us-ascii?Q?T8yf29lzK1og6+xgC6Pz9XZXKHJ+B5GLtfCwiXKW9yE1eZIgg0n95yb9A4jj?=
 =?us-ascii?Q?fBu01nSYdjW7F0z59FmNjaXUrKjLDDAh//pAlW8WybNA+vE1VJ5OGlUYgxbt?=
 =?us-ascii?Q?+sCiFFI0EZU9axpBSKrmn/i6XL+8OKmCFYie9xhRpBnm+ilZecmiQNxBFk3a?=
 =?us-ascii?Q?15IaRUX6T9U00a2LOvT0oTmP92jk?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 15:18:55.0145
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 06c5fc5a-c425-490a-9a06-08dc63a8b0bf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS1EPF00000047.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8385

Hi Julien,

> On 23 Apr 2024, at 17:16, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 23/04/2024 16:12, Bertrand Marquis wrote:
>> Hi Julien,
>>> On 22 Apr 2024, at 13:40, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> Hi Jens,
>>>=20
>>> This is not a full review of the code. I will let Bertrand doing it.
>>>=20
>>> On 22/04/2024 08:37, Jens Wiklander wrote:
>>>> +void ffa_notif_init(void)
>>>> +{
>>>> +    const struct arm_smccc_1_2_regs arg =3D {
>>>> +        .a0 =3D FFA_FEATURES,
>>>> +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
>>>> +    };
>>>> +    struct arm_smccc_1_2_regs resp;
>>>> +    unsigned int irq;
>>>> +    int ret;
>>>> +
>>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>>> +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
>>>> +        return;
>>>> +
>>>> +    irq =3D resp.a2;
>>>> +    if ( irq >=3D NR_GIC_SGI )
>>>> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
>>>> +    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL=
);
>>>=20
>>> If I am not mistaken, ffa_notif_init() is only called once on the boot =
CPU. However, request_irq() needs to be called on every CPU so the callback=
 is registered every where and the interrupt enabled.
>>>=20
>>> I know the name of the function is rather confusing. So can you confirm=
 this is what you expected?
>>>=20
>>> [...]
>>>=20
>>>> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_pri=
vate.h
>>>> index 98236cbf14a3..ef8ffd4526bd 100644
>>>> --- a/xen/arch/arm/tee/ffa_private.h
>>>> +++ b/xen/arch/arm/tee/ffa_private.h
>>>> @@ -25,6 +25,7 @@
>>>>  #define FFA_RET_DENIED                  -6
>>>>  #define FFA_RET_RETRY                   -7
>>>>  #define FFA_RET_ABORTED                 -8
>>>> +#define FFA_RET_NO_DATA                 -9
>>>>    /* FFA_VERSION helpers */
>>>>  #define FFA_VERSION_MAJOR_SHIFT         16U
>>>> @@ -97,6 +98,18 @@
>>>>   */
>>>>  #define FFA_MAX_SHM_COUNT               32
>>>>  +/*
>>>> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirel=
y
>>>> + * unused, but that may change.
>>>=20
>>> Are the value below intended for the guests? If so, can they be moved i=
n public/arch-arm.h along with the others guest interrupts?
>> The values are to be used by the guest but they will discover them throu=
gh the FFA_FEATURES ABI so I do not think those
>> should belong the public headers.
>=20
> Sorry I should have been clearer. The values in the public headers are no=
t meant for the guest. They are meant for a common understanding between th=
e toolstack and Xen of the guest layout (memory + interrupts).
>=20
> I know that some of the guests started to rely on it. But this is against=
 our policy:
>=20
> * These are defined for consistency between the tools and the
> * hypervisor. Guests must not rely on these hardcoded values but
> * should instead use the FDT.
>=20
> In this case, even if this is only used by Xen (today), I would argue the=
y should defined at the same place because it is easier to understand the l=
ayout if it is in one place.

I see, that makes sense then to add them there.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:27:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:27:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710850.1110379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzI32-000809-1F; Tue, 23 Apr 2024 15:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710850.1110379; Tue, 23 Apr 2024 15:27:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzI31-000802-Ua; Tue, 23 Apr 2024 15:27:07 +0000
Received: by outflank-mailman (input) for mailman id 710850;
 Tue, 23 Apr 2024 15:27: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=nbx+=L4=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1rzI30-0007z7-Fx
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:27:06 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0d6dbe8-0185-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:27:05 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-51abf1a9332so5876499e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08:27: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: f0d6dbe8-0185-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713886025; x=1714490825; 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=jpuooxiBlG/DKMsJk0OC9BrJ6yuIBHemfO+qLnUxWRc=;
        b=JpixuuIqIUvsdlwJ8DkC0RNILb8l47QnADpdVpmBoai8YN2Vu5GcROt70Bouw5xT6V
         VfjhwSqnvapm/vJNg7ZQTXsiLlYGrv2TSURM7kkOCy9eEH7HcIr8C/Qw6dnEK4c5X7NY
         /6hQdj6VVfUGt+LQXyrKHX+HtsYRT+vakiriU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713886025; x=1714490825;
        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=jpuooxiBlG/DKMsJk0OC9BrJ6yuIBHemfO+qLnUxWRc=;
        b=qef7NiXM+tf94z8pFbELeGXE9NwFkfjfeXss55Z2ierGsypwgdez/Sw/ZM5cJ6EzR0
         dPax4tWyYiXUaXBFxQoN3O90li+UAhQ3FDIdDTlNS5prSXMcPcm8wAvMOXsaWo2AyXNA
         yfJ4YnFOY4zscqeyZHQvruu8SYfFA3FuDaY/ifQlP+Fc5YWwhwqK6lFkkheqZc9Ws3v0
         VvB9js2nIlwZG8aJ945wEODYQAHxvwb0NYBSuArfjoc9GC2KJit8C/16jr7ZLfYvqrEa
         TDrSI95gJZIZv7a7C583InRKzEOtcE24wrGi2NbmiTdmtOSE9fdOYcffp752Y+NCx1c7
         qSFQ==
X-Gm-Message-State: AOJu0Ywfp5BXdihIOIcdGOWfUmNbd5BjwvT5AI3beuTQray7mmByY57S
	IuQAdmiZwg4JYXbPfJ4Q7Jsm/y5mqHJrNZfxbvnw1NLZbIzzcugtd7/33TLApy1vErreHtU9fMj
	+g8rWU4XdZjOuvMXbXMYULEN0ohqhZhLLmTXBxQ==
X-Google-Smtp-Source: AGHT+IHWnSVX6rP6NpQTeFHX2yF/1yEZw1RBmVT14ppdFrwLrFpiwtgWXTZdgDKLXkcxaY7svL5ufkvvYseAdeGbKrw=
X-Received: by 2002:ac2:5b1a:0:b0:51b:50ed:d563 with SMTP id
 v26-20020ac25b1a000000b0051b50edd563mr3673861lfn.28.1713886024916; Tue, 23
 Apr 2024 08:27:04 -0700 (PDT)
MIME-Version: 1.0
References: <20240416091546.11622-1-fouad.hilly@cloud.com> <20240416091546.11622-6-fouad.hilly@cloud.com>
 <35e382d7-0f65-4dbe-bc80-ddbf9d649e24@perard>
In-Reply-To: <35e382d7-0f65-4dbe-bc80-ddbf9d649e24@perard>
From: Fouad Hilly <fouad.hilly@cloud.com>
Date: Tue, 23 Apr 2024 16:26:53 +0100
Message-ID: <CAJKAvHZ0abytPgKxVMhVRhTyoV0LMTE46+W+ox0MaFagRXbMGw@mail.gmail.com>
Subject: Re: [PATCH v2 5/5] x86: Add --force option to xen-ucode to override
 microcode version check
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Juergen Gross <jgross@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 22, 2024 at 6:57=E2=80=AFPM Anthony PERARD <anthony.perard@clou=
d.com> wrote:
>
> On Tue, Apr 16, 2024 at 10:15:46AM +0100, Fouad Hilly wrote:
> > Introduce --force option to xen-ucode to force skipping microcode versi=
on
> > check, which allows the user to update x86 microcode even if both versi=
ons
> > are the same.
> >
> > [v2]
> > 1- Changed data type from uint32_t to unsigned int.
> > 2- Corrected line length.
> > 3- Removed XENPF_UCODE_FLAG_FORCE_NOT_SET.
> > 4- Corrected indentations.
> > 5- Changed command line options to have the file name as first argument=
 when applicable.
> > 6- --force option doesn't require an argument anymore.
> > 7- Used optint to access filename in argv.
> >
> > Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
> > ---
> >
> > Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> You might want to move that tag before the '---' separation otherwise it
> wont be part of the commit message. `git am` discard every thing after
> the '---' line. Also add the tag before your SOB.
Noted.
>
> > ---
> >  tools/include/xenctrl.h   |  3 ++-
> >  tools/libs/ctrl/xc_misc.c | 13 +++++++++++--
> >  tools/misc/xen-ucode.c    | 18 +++++++++++++-----
> >  3 files changed, 26 insertions(+), 8 deletions(-)
> >
> > diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> > index e3c1943e3633..4178fd2221ea 100644
> > --- a/tools/misc/xen-ucode.c
> > +++ b/tools/misc/xen-ucode.c
> > @@ -24,7 +26,8 @@ static void usage(const char *name)
> >             "Usage: %s [microcode file] [options]\n"
>
> Now, that usage line is wrong. The options needs to go before the file.
I am not sure what you mean "wrong"? from parsing perspective, both
scenarios can be successfully executed:
xen-ucode firmware-file --force
xen-ucode --force firmware-file
it becomes wrong if there is an argument expects the file as an input.
> That could be fix on the previous patch. With that usage line, we would
> want to run `./xen-ucode ucode.bin --force`, but I don't think that
> would work.
>
> >             "Options:\n"
> >             "  -h, --help            display this help and exit\n"
> > -           "  -s, --show-cpu-info   show CPU information and exit\n",
> > +           "  -s, --show-cpu-info   show CPU information and exit\n"
> > +           "  -f, --force           force to skip micorocde version ch=
eck\n",
> >             name, name);
> >  }
> >
>
> Thanks,
>
> --
> Anthony PERARD

Thanks,

Fouad


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:27:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710851.1110390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzI36-0008J3-9r; Tue, 23 Apr 2024 15:27:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710851.1110390; Tue, 23 Apr 2024 15:27:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzI36-0008Iw-4g; Tue, 23 Apr 2024 15:27:12 +0000
Received: by outflank-mailman (input) for mailman id 710851;
 Tue, 23 Apr 2024 15:27: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=6olb=L4=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1rzI34-0007z7-2Z
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:27:10 +0000
Received: from mail-oo1-xc2b.google.com (mail-oo1-xc2b.google.com
 [2607:f8b0:4864:20::c2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2ba37a0-0185-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:27:09 +0200 (CEST)
Received: by mail-oo1-xc2b.google.com with SMTP id
 006d021491bc7-5aa28cde736so3572846eaf.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 08:27: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: f2ba37a0-0185-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713886028; x=1714490828; 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=jQpMAezwBtBrbfJQQwzCPmDm9iSWblKPS88LRxAVmaM=;
        b=nQ1melGeztdQ9uYwu7f4R/lyt1/hTCHAFtaIqqFN9x8YP/vzyofgi/y1ToQG815yMI
         EFaZLky27gUT8aUP2EOOCooOQiThfCbpObnQMwWB0ujVbP/7nCYByAY+M7OngJLGoSdy
         kKkd8iDbazc9QFOKy/aVZLD9cryNwBAILVVLvb7dxkE5leU12l2rE5WWfC2eOprovV/8
         wOn2TIqS+GSxASu702+aSOLQZirtW1njlyCEgv7VZjXvr8z6jfa820Ag1d6Ez+WzXfKj
         UhYDCsp2Gcw8+AlSDkZCylo/xH2ziOnf0Im1BgH52r6huAspk9OGemU6vXnIaNzMWFfk
         3AGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713886028; x=1714490828;
        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=jQpMAezwBtBrbfJQQwzCPmDm9iSWblKPS88LRxAVmaM=;
        b=Hmga+1MVQ3Zedu6SJ7LRSwP/UB/Af8VLFwKHOaj6tkH9bgwjKR/BN2ltcPjc9TZNK3
         72h956kd57Fp9S/HD98eCfnDJ65VHvJzGDZ9n9HbJ8IFjDw+0fAc6iY4fTBbNdS8oZS2
         I/IMl59TBaOgHNjMrHo0bNEklfsBs6I5hnDNEj3wrtxj784pEgSYLR4IQZg0NK7UFrrj
         81dUHqaiHYPsbe6OKacGnbq0UCNyTnZJPIqTKYOUpozfXUztIyYvZTYI3UGZcsGg/rVj
         szeXU4Rza00X+rhrSDND9NlS73D4ZeJKvyrJIebMoUzPQs+CUtZ6a6BGzwT8ZS2fTGBx
         Tw4A==
X-Gm-Message-State: AOJu0YxZH7rBMtrFnbE9EvuJ0zwxsSB2c96wZM1JkjkxT2cZQU4B/TRS
	saD9h/1xGK0JmmpWd5XP4to2VvMXNb6Xq5M5gasNat+0PNfQnw0uJW5QS3gKzSkDKD3zUhMaqrs
	Id53IHNuUds2hMQG/yHTb8vYWCW103YFHUuz7WA==
X-Google-Smtp-Source: AGHT+IElEORTUNQQqYyx0l2Hfp9wWjp0wfe5BKI/4D9SGX/6LUj/LEJSnN5KGBxt840pocAivan3rmCvPP2e8zb+tj4=
X-Received: by 2002:a4a:d2cd:0:b0:5ad:ec7:1977 with SMTP id
 j13-20020a4ad2cd000000b005ad0ec71977mr15159802oos.0.1713886028171; Tue, 23
 Apr 2024 08:27:08 -0700 (PDT)
MIME-Version: 1.0
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-6-jens.wiklander@linaro.org> <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
In-Reply-To: <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 23 Apr 2024 17:26:56 +0200
Message-ID: <CAHUa44FMsdn8LVc782EYno7fiFDBe7RSaiNgEnnzoc-Bozt05A@mail.gmail.com>
Subject: Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, patches@linaro.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

On Mon, Apr 22, 2024 at 1:40=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
> Hi Jens,
>
> This is not a full review of the code. I will let Bertrand doing it.
>
> On 22/04/2024 08:37, Jens Wiklander wrote:
> > +void ffa_notif_init(void)
> > +{
> > +    const struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_FEATURES,
> > +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +    unsigned int irq;
> > +    int ret;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> > +        return;
> > +
> > +    irq =3D resp.a2;
> > +    if ( irq >=3D NR_GIC_SGI )
> > +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
> > +    ret =3D request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL)=
;
>
> If I am not mistaken, ffa_notif_init() is only called once on the boot
> CPU. However, request_irq() needs to be called on every CPU so the
> callback is registered every where and the interrupt enabled.
>
> I know the name of the function is rather confusing. So can you confirm
> this is what you expected?

Good catch, no this wasn't what I expected. I'll need to change this.

>
> [...]
>
> > diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_priv=
ate.h
> > index 98236cbf14a3..ef8ffd4526bd 100644
> > --- a/xen/arch/arm/tee/ffa_private.h
> > +++ b/xen/arch/arm/tee/ffa_private.h
> > @@ -25,6 +25,7 @@
> >   #define FFA_RET_DENIED                  -6
> >   #define FFA_RET_RETRY                   -7
> >   #define FFA_RET_ABORTED                 -8
> > +#define FFA_RET_NO_DATA                 -9
> >
> >   /* FFA_VERSION helpers */
> >   #define FFA_VERSION_MAJOR_SHIFT         16U
> > @@ -97,6 +98,18 @@
> >    */
> >   #define FFA_MAX_SHM_COUNT               32
> >
> > +/*
> > + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
> > + * unused, but that may change.
>
> Are the value below intended for the guests? If so, can they be moved in
> public/arch-arm.h along with the others guest interrupts?

Yes, I'll move it.

>
> > + *
> > + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not=
 used
> > + * by a guest as they in a non-virtualized system typically are assign=
ed to
> > + * the secure world. Here we're free to use SGI 8-15 since they are vi=
rtual
> > + * and have nothing to do with the secure world.
>
> Do you have a pointer to the specification?

There's one at the top of arch/arm/tee/ffa.c,
https://developer.arm.com/documentation/den0077/e
Do you want the link close to the defines when I've moved them to
public/arch-arm.h?
Or is it perhaps better to give a link to "Arm Base System
Architecture v1.0C", https://developer.arm.com/documentation/den0094/
instead?

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:27:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710852.1110399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzI37-0000At-HL; Tue, 23 Apr 2024 15:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710852.1110399; Tue, 23 Apr 2024 15:27:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzI37-0000Am-DE; Tue, 23 Apr 2024 15:27:13 +0000
Received: by outflank-mailman (input) for mailman id 710852;
 Tue, 23 Apr 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=r5BF=L4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzHpn-0003wh-DE
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:13:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0846565a-0184-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 17:13:25 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 489C74EE0743;
 Tue, 23 Apr 2024 17:13: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: 0846565a-0184-11ef-b4bb-af5377834399
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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/10] x86/hvm: hpet: address violations of MISRA C Rule 20.7
Date: Tue, 23 Apr 2024 17:12:50 +0200
Message-Id: <063ad5abee7765a921fd7f68372a4d7fe0e04e54.1713885065.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713885065.git.nicola.vetrini@bugseng.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/hpet.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
index 1db9c0b60ee0..5f456221cbfb 100644
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -43,11 +43,11 @@
     ((s_time_t)((((tick) > (h)->hpet_to_ns_limit) ?     \
         ~0ULL : (tick) * (h)->hpet_to_ns_scale) >> 10))
 
-#define timer_config(h, n)       (h->hpet.timers[n].config)
+#define timer_config(h, n)       ((h)->hpet.timers[n].config)
 #define timer_enabled(h, n)      (timer_config(h, n) & HPET_TN_ENABLE)
 #define timer_is_periodic(h, n)  (timer_config(h, n) & HPET_TN_PERIODIC)
 #define timer_is_32bit(h, n)     (timer_config(h, n) & HPET_TN_32BIT)
-#define hpet_enabled(h)          (h->hpet.config & HPET_CFG_ENABLE)
+#define hpet_enabled(h)          ((h)->hpet.config & HPET_CFG_ENABLE)
 #define timer_level(h, n)        (timer_config(h, n) & HPET_TN_LEVEL)
 
 #define timer_int_route(h, n)    MASK_EXTR(timer_config(h, n), HPET_TN_ROUTE)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 15:52:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 15:52:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710881.1110409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIRG-0007te-Cd; Tue, 23 Apr 2024 15:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710881.1110409; Tue, 23 Apr 2024 15: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 1rzIRG-0007tX-9o; Tue, 23 Apr 2024 15:52:10 +0000
Received: by outflank-mailman (input) for mailman id 710881;
 Tue, 23 Apr 2024 15: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=is0t=L4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzIRF-0007s2-Kw
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 15:52:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7090afe6-0189-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 17:52:08 +0200 (CEST)
Received: from [192.168.1.11] (host-79-60-221-62.business.telecomitalia.it
 [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 986974EE073C;
 Tue, 23 Apr 2024 17:52: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: 7090afe6-0189-11ef-909a-e314d9c70b13
Message-ID: <11b8bbbd-1e22-4eb9-b571-cdd5d2661dfc@bugseng.com>
Date: Tue, 23 Apr 2024 17:52:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <4981c3fb0992898a121881333485004f3609eaf7.1713866519.git.federico.serafini@bugseng.com>
 <17c022d9-245b-449f-96c5-7a29ba782880@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <17c022d9-245b-449f-96c5-7a29ba782880@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 23/04/24 12:26, Jan Beulich wrote:
> On 23.04.2024 12:02, Federico Serafini wrote:
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -302,6 +302,19 @@ Deviations related to MISRA C:2012 Rules:
>>          leave such files as is.
>>        - Tagged as `deliberate` for ECLAIR.
>>   
>> +   * - R16.4
>> +     - Switch statements having a controlling expression of enum type
>> +       deliberately do not have a default case: gcc -Wall enables -Wswitch
>> +       which warns (and breaks the build as we use -Werror) if one of the enum
>> +       labels is missing from the switch.
>> +     - Tagged as `deliberate` for ECLAIR.
>> +
>> +   * - R16.4
>> +     - A switch statement with a single switch clause and no default label may
>> +       be used in place of an equivalent if statement if it is considered to
>> +       improve readability."

(I placed Rule 16.4 before Rule 16.3.
I will propose a new version with the correct ordering.)

> 
> First a terminology related comment here: I'm afraid "switch clause" can be
> interpreted multiple ways, when I think we want to leave no room for
> interpretation here. It's not even clear to me whether
> 
>      switch ( x )
>      {
>      case 1: case 2: case 3: case 4:
>          ...
>          break;
>      }
> 
> would be covered by the deviation, or whether the multiple case labels
> wouldn't already be too much.

The MISRA C document, within Rule 16.1 ("A switch statement shall be
well-formed") defines the syntax rules that can be used to define a
"well formed" switch statement.
When I say "switch clause", I refer to the same entity the MISRA
document refers to in the definition of such syntax rules.
In the example above, we have a single switch clause with multiple
labels and no default label: this is a violation of Rule 16.4
("Every `switch' statement shall have a `default' label") which will
be covered by the deviation.
Do you think inserting the example in rules.rst or deviations.rst could
be useful?

> 
> And then it is not clear to me why
> 
>      switch ( x )
>      {
>      case 1:
>          ...
>          break;
>      default:
>          ...
>          break;
>      }
> 
> shouldn't also be covered, as potentially a readability improvement /
> future change simplification over
> 
>      if ( x == 1 )
>      {
>          ...
>      }
>      else
>      {
>          ...
>      }

Here there are two switch clauses,
each of them terminated by a break statement,
and the default label is present:
the switch is well formed, no violations of series 16 will
be reported.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:05:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710890.1110419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIeF-00052p-Fw; Tue, 23 Apr 2024 16:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710890.1110419; Tue, 23 Apr 2024 16:05:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIeF-00052i-Bz; Tue, 23 Apr 2024 16:05:35 +0000
Received: by outflank-mailman (input) for mailman id 710890;
 Tue, 23 Apr 2024 16:05: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=09RI=L4=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rzIeE-00052c-9C
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:05:34 +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 4fac9918-018b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 18:05:32 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41a0979b9aeso22182885e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 09:05:32 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 v11-20020a05600c470b00b0041a963bf2cdsm4582313wmo.36.2024.04.23.09.05.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 09:05:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fac9918-018b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713888331; x=1714493131; 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=6Q5YOP0rXj6VEA6DoK8C+uxFXSznjLoYHRToR6eId/Y=;
        b=JHyvaqZv4Po9XgkuVBOLIZkplj5dDcThyRmVE6/H2uvUEd2Y90dca8iP2GCENHMUw0
         uW6weLAQzMn0lxf958HXp4nlP9EHPwSX29OE8ePWcJmXntNml4RtVdUkLYifwzlJkLkh
         ChPsYzEe3OoGSu2Hmc3BUQ+eEPOZ0Yj+goExU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713888331; x=1714493131;
        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=6Q5YOP0rXj6VEA6DoK8C+uxFXSznjLoYHRToR6eId/Y=;
        b=w/YHelvtmN6pd2gyHhiWCRmsNY/194Sz7yxe+c+mURP2dub7AcZXtqKX5Y2mAoKZc0
         HypMyOAvljPDlcDp9g4DibgWIoTs/Od/7eR8xw45QOu60Dnpt7iNDMAQCd5L17yXFGT7
         PIFyuur8UKgsWNLvlV+EFRRZOzEVdXYTyT/hJYVU0DLVdlgUdd2LgNXCiB+fdHCQolaL
         J212sG6+sc95PNy4KYwpvCWsXzRaJ0KnlQak4CrLEQ9vQ/WvKL3FeiVU5MtC2sdmKdle
         CwNcPm4ThupVk+8KjiGu0rg6LqqHob47k/wYQEJDvMs4V3e+PG/O2f124dpres/hT/QF
         W8TA==
X-Gm-Message-State: AOJu0YyLaGq9+kIOA1Uhjtpma/u5q4HEtYD3Ke8ZPr80OtZ735wW0HmT
	FZAVaGvQW41wy61EXwtmOSWy/io4DL4Ll7JXRhcfXPjlHzViX0M5KaUWSUl4z4Q=
X-Google-Smtp-Source: AGHT+IFNPTuccVFjee0pTet3C3BhXDQ4MdmXMb8Dwi93NFYuUhDQRzM2VdNBHMFcmO+ODDY5UQqE4A==
X-Received: by 2002:a05:600c:1c1c:b0:419:ea21:2d83 with SMTP id j28-20020a05600c1c1c00b00419ea212d83mr9811797wms.0.1713888331603;
        Tue, 23 Apr 2024 09:05:31 -0700 (PDT)
Date: Tue, 23 Apr 2024 17:05:30 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v3 2/4] livepatch: introduce --force option
Message-ID: <f6df04b5-3285-467d-aedf-272ca0f2183f@perard>
References: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-3-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240423131249.29825-3-roger.pau@citrix.com>

On Tue, Apr 23, 2024 at 03:12:47PM +0200, Roger Pau Monne wrote:
> Introduce a xen-livepatch tool --force option, that's propagated into the
> hyerpvisor for livepatch operations.  The intention is for the option to be
> used to bypass some checks that would otherwise prevent the patch from being
> loaded.
> 
> Re purpose the pad field in xen_sysctl_livepatch_op to be a flags field that
> applies to all livepatch operations.  The flag is currently only set by the
> hypercall wrappers for the XEN_SYSCTL_LIVEPATCH_UPLOAD operation, as that's so
> far the only one where it will be used initially.  Other uses can be added as
> required.
> 
> Note that helpers would set the .pad field to 0, that's been removed since the
> structure is already zero initialized at definition.
> 
> No functional usages of the new flag introduced in this patch.
> 
> Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:06:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:06:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710892.1110428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIes-0005e4-NM; Tue, 23 Apr 2024 16:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710892.1110428; Tue, 23 Apr 2024 16:06:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIes-0005dx-Kb; Tue, 23 Apr 2024 16:06:14 +0000
Received: by outflank-mailman (input) for mailman id 710892;
 Tue, 23 Apr 2024 16:06:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzIer-0005dW-D9
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:06:13 +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 67239371-018b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 18:06:11 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-349545c3eb8so4242445f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 09:06: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
 cs18-20020a056000089200b003437799a373sm15045095wrb.83.2024.04.23.09.06.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 09:06:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67239371-018b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713888371; x=1714493171; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3f/Ycrriye47SjAq/bloBCjmfD7llaMG56DuAqJMXtU=;
        b=TVCCQ0Z1LDBqRPAlS+zccSckHrBaIOQE85g3n9U+3aaMB90c0ph1GAN04J4lay0xGX
         bMOpgXNqw+1N6R2g9J4PkJyQVEosLIP3Ck74zGbWoloi8uWKAMfj6HL/9Zs+KEZ6kdb/
         pWUk1dH5b6prVtza79L5GTckgXIwumedIN6HQXbRGJIAARnOwY2CeVV6yNSej45n0PrI
         YtmnfXYwM4dtLl+ZgmvUDCNjjdCLa6SPKDEyKSUZejCRxH1GXTYimc5pujwVx04xHNsd
         tSBa/GtFBOZnDSnBMG+l6iFaYwVqm5g6naXqN7ZtK/tOWLfWCJqetAZtfoAjNUhL2hOB
         7HWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713888371; x=1714493171;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3f/Ycrriye47SjAq/bloBCjmfD7llaMG56DuAqJMXtU=;
        b=Xj/ZAqWYOvM+9s1VWz1NQdEMVgxb171SgaZapS5qnpVUNyEDxidGRPf7KNoEHiXpmq
         17LlkQpzrHVmI+Qqwc1NUqnSPvSKnguXCgooEL6hyPQk2b8dRO6kCyMoNKB3mhXF6l0A
         uUosU27xlPELpE9gHSG/h/W6oBw7tlPoKymGbyIHRGUZcuhL617ULTP97TIrjNvS+7qR
         TnrTBAA0awIfOxpAOEIAjnf/wP+pHnpytjhhPNs4nDmbWNlqud3st37adLnTqWJIs7e/
         9la0+l2ZKiRERlzha9zkASsAKteDIWJ7As2zDnbxKdYtEqe/cJb2FRa4VuQw9ThqRQWf
         dEMg==
X-Forwarded-Encrypted: i=1; AJvYcCUzWCP5K6O+8ZArNFIz6Aa52+MO9CHqSjYUCSLSKu/xrdo3wglVNzirUBfrL+tjTS1hjcxDz2ylPAQHUi/5FTz05uL7la20P3OO3UQEeOw=
X-Gm-Message-State: AOJu0Yz24rK2XoC9NS0TZ2YPPLVMsBIhi3sS01wHNEhcZaLJ5cqlYGkU
	DNDg8ZXohCxaj3yeaN6igrBNgClsUr8V7FuGSLzJhP0UZFtkV8K0hi11gh4z7Q==
X-Google-Smtp-Source: AGHT+IEgI1fmiqFPhi8iZAkcdPlGHzHpf3lnL3XealWEFL+OjDl8G4wpZ9bl8G+8Z7w2yn8VCsK36Q==
X-Received: by 2002:a5d:678e:0:b0:341:d912:1fec with SMTP id v14-20020a5d678e000000b00341d9121fecmr8274253wru.49.1713888370964;
        Tue, 23 Apr 2024 09:06:10 -0700 (PDT)
Message-ID: <1ea60e22-12d9-432d-9ba9-7dd7b2b7d22b@suse.com>
Date: Tue, 23 Apr 2024 18:06:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <4981c3fb0992898a121881333485004f3609eaf7.1713866519.git.federico.serafini@bugseng.com>
 <17c022d9-245b-449f-96c5-7a29ba782880@suse.com>
 <11b8bbbd-1e22-4eb9-b571-cdd5d2661dfc@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: <11b8bbbd-1e22-4eb9-b571-cdd5d2661dfc@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:52, Federico Serafini wrote:
> On 23/04/24 12:26, Jan Beulich wrote:
>> On 23.04.2024 12:02, Federico Serafini wrote:
>>> --- a/docs/misra/deviations.rst
>>> +++ b/docs/misra/deviations.rst
>>> @@ -302,6 +302,19 @@ Deviations related to MISRA C:2012 Rules:
>>>          leave such files as is.
>>>        - Tagged as `deliberate` for ECLAIR.
>>>   
>>> +   * - R16.4
>>> +     - Switch statements having a controlling expression of enum type
>>> +       deliberately do not have a default case: gcc -Wall enables -Wswitch
>>> +       which warns (and breaks the build as we use -Werror) if one of the enum
>>> +       labels is missing from the switch.
>>> +     - Tagged as `deliberate` for ECLAIR.
>>> +
>>> +   * - R16.4
>>> +     - A switch statement with a single switch clause and no default label may
>>> +       be used in place of an equivalent if statement if it is considered to
>>> +       improve readability."
> 
> (I placed Rule 16.4 before Rule 16.3.
> I will propose a new version with the correct ordering.)
> 
>>
>> First a terminology related comment here: I'm afraid "switch clause" can be
>> interpreted multiple ways, when I think we want to leave no room for
>> interpretation here. It's not even clear to me whether
>>
>>      switch ( x )
>>      {
>>      case 1: case 2: case 3: case 4:
>>          ...
>>          break;
>>      }
>>
>> would be covered by the deviation, or whether the multiple case labels
>> wouldn't already be too much.
> 
> The MISRA C document, within Rule 16.1 ("A switch statement shall be
> well-formed") defines the syntax rules that can be used to define a
> "well formed" switch statement.
> When I say "switch clause", I refer to the same entity the MISRA
> document refers to in the definition of such syntax rules.
> In the example above, we have a single switch clause with multiple
> labels and no default label: this is a violation of Rule 16.4
> ("Every `switch' statement shall have a `default' label") which will
> be covered by the deviation.
> Do you think inserting the example in rules.rst or deviations.rst could
> be useful?

No, I don't think there should be examples in those documents. But those
documents should also not (blindly) rely on terminology in the Misra
spec, as not everyone has access to that (licensed copies had to be
obtained for quite a few of us).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:07:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:07:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710896.1110439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIfx-0006X7-4w; Tue, 23 Apr 2024 16:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710896.1110439; Tue, 23 Apr 2024 16: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 1rzIfx-0006X0-2A; Tue, 23 Apr 2024 16:07:21 +0000
Received: by outflank-mailman (input) for mailman id 710896;
 Tue, 23 Apr 2024 16:07:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzIfw-0006Va-KA
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:07:20 +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 8fa22e54-018b-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 18:07:19 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-41a4f291f80so19808195e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 09:07: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
 cs18-20020a056000089200b003437799a373sm15045095wrb.83.2024.04.23.09.07.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 09:07: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: 8fa22e54-018b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713888439; x=1714493239; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qmUXoBxUHPYiekzveS4whVSAKSC3A5vB53Z+WjXbffo=;
        b=JDAVGRPuwyU7tAEbiXwlNQJpguyFAV0w2ZJlgfJeneOmO9iMbGhY1+86ZmK/6LZRkZ
         SbPIVjXzRmdQp6FGnDCHqLagQNwYG8JS7RvvmNyiFwfZKebzFd9hMMqLYTXXj8d3iFvM
         PiCXOECLCXf+2Dl9bBCCmLjxgXbXX+NPKFt2QDR8xSgMC0hoKwW1wSUhy3RhlRYFcbzv
         J1uRkV2S7WlWi3NyAH6Swf2oC0fu2UPGoV/kvk6ABqILsP1Hw9GBupEYClLs7fpkYDFN
         yLQBVjLwSXvdfnW6sBiX1wsSxqDKzjmrxGpRraYPGIAIiJvVVENVI/CuomYmKjkvjppN
         FOvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713888439; x=1714493239;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qmUXoBxUHPYiekzveS4whVSAKSC3A5vB53Z+WjXbffo=;
        b=cyKQ7+F1Uc+b4Q9XkRTQvdisnzBKEezxHg7eaHtNoVaHgQFPYs5m9XJmPZwkfir0Rr
         Q5uz9e68ZHW1Wx+yVlWfM1zUZecINaJ3pElYNEwJEdwYLcXxZeLkZZD4OUo/v7rs/bi8
         aOswqUH9r6HpZCNztj9vk+R1H+7Z7ruWUch/X0foKWaj/f1zWsTKJRlRNgBpvm0qoV1s
         8Lc8yAkWeHQMyknzCGav3JiV0AfTyu7T2FG0p7XcNYPH54LvtO1Znub8kH62AvW1VKK3
         L4AFYmjZV6OFmqTmwePGKkJpXyyyKtsGD3TKd/+1U66PWXonxxTpXYbp/O3Z+MKuuc5R
         P23g==
X-Forwarded-Encrypted: i=1; AJvYcCVCdAZ4Aq4d+CNcaNsAq0dmhFXawT7WSA2WxNvQV1vmMAv8psgXJKAdN3TKLbkAWnGCtEF7nW3XHi9QGAkV8V4WGX3kD+VuHOo5k22n2nQ=
X-Gm-Message-State: AOJu0YxuM3WM5i4Exvwy2XwUGSrqUwCp3yFsKRWwprhNvF4g5bsfyXF/
	T2Nb0vo1unspEyZe0xMBdtAmIdBgY+7ZPKMhI5D/JI0EU8901SmQnh6E7xzDn59gOMD7YIU9Mqg
	=
X-Google-Smtp-Source: AGHT+IG8WflSudFBERzQdeSgIQoqwaiV8B4KHQLp86QdQXUdLjQloEXb0tNPTw3HQSWdXPlSCfo3SQ==
X-Received: by 2002:adf:f705:0:b0:343:7d6b:d30 with SMTP id r5-20020adff705000000b003437d6b0d30mr10666434wrp.12.1713888438870;
        Tue, 23 Apr 2024 09:07:18 -0700 (PDT)
Message-ID: <bdf38245-8b86-4b3b-a616-ca9e7bd09ba4@suse.com>
Date: Tue, 23 Apr 2024 18:07:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] livepatch: refuse to resolve symbols that belong
 to init sections
Content-Language: en-US
To: =?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: <20240423131249.29825-1-roger.pau@citrix.com>
 <20240423131249.29825-4-roger.pau@citrix.com>
 <0625d7fd-1554-4d47-a8a5-0d6bfb1fcd56@suse.com> <ZifE_rQhaZNbjIt2@macbook>
 <46c58aa4-d908-40ff-9c77-e0eacc7e10b6@suse.com> <ZifN3YMbYtlv-Aa4@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZifN3YMbYtlv-Aa4@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 17:03, Roger Pau Monné wrote:
> On Tue, Apr 23, 2024 at 04:28:59PM +0200, Jan Beulich wrote:
>> On 23.04.2024 16:26, Roger Pau Monné wrote:
>>> On Tue, Apr 23, 2024 at 03:44:42PM +0200, Jan Beulich wrote:
>>>> On 23.04.2024 15:12, Roger Pau Monne wrote:
>>>>> Livepatch payloads containing symbols that belong to init sections can only
>>>>> lead to page faults later on, as by the time the livepatch is loaded init
>>>>> sections have already been freed.
>>>>>
>>>>> Refuse to resolve such symbols and return an error instead.
>>>>>
>>>>> Note such resolutions are only relevant for symbols that point to undefined
>>>>> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
>>>>> and hence must either be a Xen or a different livepatch payload symbol.
>>>>>
>>>>> Do not allow to resolve symbols that point to __init_begin, as that address is
>>>>> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
>>>>> resolutions against it.
>>>>>
>>>>> Since __init_begin can alias other symbols (like _erodata for example)
>>>>> allow the force flag to override the check and resolve the symbol anyway.
>>>>>
>>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>>>
>>>> In principle, as promised (and just to indicate earlier concerns were
>>>> addressed, as this is meaningless for other purposes)
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>> However, ...
>>>>
>>>>> @@ -310,6 +311,21 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
>>>>>                      break;
>>>>>                  }
>>>>>              }
>>>>> +
>>>>> +            /*
>>>>> +             * Ensure not an init symbol.  Only applicable to Xen symbols, as
>>>>> +             * livepatch payloads don't have init sections or equivalent.
>>>>> +             */
>>>>> +            else if ( st_value >= (uintptr_t)&__init_begin &&
>>>>> +                      st_value <  (uintptr_t)&__init_end && !force )
>>>>> +            {
>>>>> +                printk(XENLOG_ERR LIVEPATCH
>>>>> +                       "%s: symbol %s is in init section, not resolving\n",
>>>>> +                       elf->name, elf->sym[i].name);
>>>>> +                rc = -ENXIO;
>>>>> +                break;
>>>>> +            }
>>>>
>>>> ... wouldn't it make sense to still warn in this case when "force" is set?
>>>
>>> Pondered it, I was thinking that a user would first run without
>>> --force, and use the option as a result of seeing the first failure.
>>>
>>> However if there is more than one check that's bypassed, further ones
>>> won't be noticed, so:
>>>
>>>             else if ( st_value >= (uintptr_t)&__init_begin &&
>>>                       st_value <  (uintptr_t)&__init_end )
>>>             {
>>>                 printk(XENLOG_ERR LIVEPATCH
>>>                        "%s: symbol %s is in init section, not resolving\n",
>>>                        elf->name, elf->sym[i].name);
>>>                 if ( !force )
>>>                 {
>>>                     rc = -ENXIO;
>>>                     break;
>>>                 }
>>>             }
>>>
>>> Would be OK then?
>>
>> Perhaps. "not resolving" isn't quite true when "force" is true, and warnings
>> would also better not be issued with XENLOG_ERR.
> 
> I was assuming that printing as XENLOG_ERR level would still be OK -
> even if bypassed because of the usage of --force.  The "not resolving"
> part should indeed go away. Maybe this is better:
> 
>             else if ( st_value >= (uintptr_t)&__init_begin &&
>                       st_value <  (uintptr_t)&__init_end )
>             {
>                 printk("%s" LIVEPATCH "%s: symbol %s is in init section%s\n",
>                        force ? XENLOG_WARNING : XENLOG_ERR,
>                        elf->name, elf->sym[i].name,
>                        force ? "" : ", not resolving");
>                 if ( !force )
>                 {
>                     rc = -ENXIO;
>                     break;
>                 }
>             }

I'd be okay with this; the livepatch maintainers will have the ultimate say.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:10:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:10:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710903.1110449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIii-0000Ci-JZ; Tue, 23 Apr 2024 16:10:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710903.1110449; Tue, 23 Apr 2024 16:10:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIii-0000Cb-Fr; Tue, 23 Apr 2024 16:10:12 +0000
Received: by outflank-mailman (input) for mailman id 710903;
 Tue, 23 Apr 2024 16:10: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=ck89=L4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzIih-0000B1-HD
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:10:11 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4f955a1-018b-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 18:10:09 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-34b64b7728cso909330f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 09:10: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
 f11-20020a05600c4e8b00b00417ee886977sm24693795wmq.4.2024.04.23.09.10.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 09:10: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: f4f955a1-018b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713888609; x=1714493409; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LXTsSpL6xs+pc0ARmlC7FhXdjJtoWTjhbKabMGAzUR8=;
        b=CSJH5i7KJRr28Vb2Wriln1nWrqeM5Qf0/Of900o9Jd3xYRPnLUqBr8geYwr9xQzCzA
         RDm9MsY/gN9B46snGRaHK4w1en7TM66lQhJ9pYR6J4OtRLwdLEvnsGfJm+c/1R/68Z06
         HjAu25mZ6MNGmLy/6bHSM3o26j9OSww+k6iXeE4qk/QNKBKsO4ZS2DqV1NA2dcw8STfq
         3VFBUXhXDsQgJEUFxA9e9RHnNvSd2wNnMAkV89nb1bNxX6wIsQoyUwt5xMTgJ8voGCwA
         JpHG/sFi0L/4QKsrq34ebv9Tm+oP3buA3V93pgJa/ue0ntr242f95HmPU7SP8+TqVIU/
         Tx4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713888609; x=1714493409;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LXTsSpL6xs+pc0ARmlC7FhXdjJtoWTjhbKabMGAzUR8=;
        b=DMbBHEsjjnJ1e5tGlu5d7GBtqc46D5++zjLYjD3qDEKOqcq2AhRxQpLM9I6r5Lrolb
         kNDScvQINCJ3i9uhzkwYkFerIcVOWgvLP/eTsMMYQc7DJ277DwcxYL2CKI+63VE3KNXR
         g/l+dX0FqHoK6thzHHehq9jd4oFNgEsV/iWtGOwwyZ7PX5wTh1TfpQDCpHsUOYdyvjmu
         FllSBKBDCoTSZvBOhchV0HG86d4WkBqnwNRwL68GFi5wCwiXbrDCzFcagwGaHcJP2DoX
         nQ3OJUxfrCr/QlYVxT8WcgJfYO7t4sidQmRBIpr+84Wx7rT/0OYeqeeO9ADjRSrjeQHE
         JuqQ==
X-Forwarded-Encrypted: i=1; AJvYcCVdWYjMlCbo28Yte5mycNlI77eoB7VDiZpxRKLU7SWLH5iaYMl9m+E7rdGP0kk5LKTldppeHzjXkqi1gFPSlc/NkuilBFNHK8jPH1NJd6Y=
X-Gm-Message-State: AOJu0YwhwjeHy4WU6IJWfvHU7iSWPk4o+iTJhKRACPfMy22cBJvYwYk9
	WlIZhb7MmXsZaZfmB2AZz5RuGhmw7+Wdvr0cmWTl9sYZ3cKkJjheHsAn6mJhqQ==
X-Google-Smtp-Source: AGHT+IFL6f8pLQh7FHEJSd0823wCvl+AADbOwbd0kubW97SV93wFt+d9ADwxLwL8I6q+Z/3EETwOAA==
X-Received: by 2002:a05:6000:10e:b0:343:ebd4:35a5 with SMTP id o14-20020a056000010e00b00343ebd435a5mr7712229wrx.0.1713888608970;
        Tue, 23 Apr 2024 09:10:08 -0700 (PDT)
Message-ID: <691482dd-4803-443a-8e22-c410249e0dfd@suse.com>
Date: Tue, 23 Apr 2024 18:10:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86: Refactor microcode_update() hypercall with flags
 field
Content-Language: en-US
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240405121128.260493-1-fouad.hilly@cloud.com>
 <20240405121128.260493-3-fouad.hilly@cloud.com>
 <f789bf74-8296-4127-9612-a46d02a422ee@suse.com>
 <CAJKAvHYEBabwDG36QtBkTGhym6m-uypZhv1HzaGhNuCKQnu1wA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAJKAvHYEBabwDG36QtBkTGhym6m-uypZhv1HzaGhNuCKQnu1wA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 16:53, Fouad Hilly wrote:
> On Mon, Apr 8, 2024 at 10:16 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 05.04.2024 14:11, Fouad Hilly wrote:
>>> @@ -708,11 +712,13 @@ static long cf_check microcode_update_helper(void *data)
>>>      return ret;
>>>  }
>>>
>>> -int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
>>> +int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len, unsigned int flags)
>>>  {
>>>      int ret;
>>>      struct ucode_buf *buffer;
>>>
>>> +    ucode_force_flag = (flags == XENPF_UCODE_FLAG_FORCE_SET)? 1: 0;
>>
>> No need for ?: when the lhs has type bool.
>>
>> But - do we really need to resort to parameter passing via static variables
>> here? If it's unavoidable, its setting needs to move inside a locked region
>> (with that region covering everything up to all consumption of the value).
> There are many function calls and checks of the firmware between
> microcode_update() and the actual update, which makes static variable
> the viable option.
> In V2 I broke it down between the actual update_flags (static) and
> force_flag (local to firmware update function), I understand that
> might not be enough, I will look into further improvement for
> microcode_update flags in V3.
>>
>> Further, to avoid the same issue again when another flag wants adding, you
>> want to check that all other bits in the flags field are clear.
> The above check is checking all bits in the flags field. Are you
> referring to flag per bit where multiple flags can be set
> simultaneously?

No. What you do is treat a flags value of, say, 2 the same as a flags
value of 0. That's wrong when considering that the value 2 may gain a
meaning going forward. At this point you want to refuse flags values
other than 0 or 1.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:11:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710906.1110458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIk4-0000kQ-Tu; Tue, 23 Apr 2024 16:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710906.1110458; Tue, 23 Apr 2024 16:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIk4-0000kJ-RA; Tue, 23 Apr 2024 16:11:36 +0000
Received: by outflank-mailman (input) for mailman id 710906;
 Tue, 23 Apr 2024 16:11: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=ID6+=L4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rzIk3-0000jr-6E
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:11:35 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2416::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25f64e7f-018c-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 18:11:33 +0200 (CEST)
Received: from BL0PR0102CA0065.prod.exchangelabs.com (2603:10b6:208:25::42) by
 CY8PR12MB8215.namprd12.prod.outlook.com (2603:10b6:930:77::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7472.44; Tue, 23 Apr 2024 16:11:29 +0000
Received: from BL02EPF00021F68.namprd02.prod.outlook.com
 (2603:10b6:208:25:cafe::3b) by BL0PR0102CA0065.outlook.office365.com
 (2603:10b6:208:25::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Tue, 23 Apr 2024 16:11:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF00021F68.mail.protection.outlook.com (10.167.249.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Tue, 23 Apr 2024 16:11:28 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 11:11:27 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 09:11:27 -0700
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Tue, 23 Apr 2024 11:11: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: 25f64e7f-018c-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GL1MXw3v3krDKeXNohm5oVubMUFY4YgPWIAb6SBNxqgipah2RfAHj+ET9aWj72uBakS0OfNbWdQtADLXzMvU0w+e4dAycuqGVtE0BrJexZxG3V/fiBMpjPLXOhnINIPE9vc8aE3I7cvy1VYLd9t7FCx0Trg0fwnJxbSnQMrmMNq1EzCA02lGUpardRueam+Mc5Uyk9VssKXNH9V13M33js4OXEi32d+C/PeGkiYboqhQw/r/QVBsGXXATHEpkV4bOncQCvxPUzts8xc0/MQtjIzNwKfu7K8JJiTGGBZCsPqdPCJXId+jzU1KwgG8gdsgT4dkblb6MCCbfvm4ADFgfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r2zWqE04jldfd294CAby8dj98qrqQ+RxFMatI9jhagI=;
 b=oclH5efEiNTlQywMfRD28meMUxm8nkPJwzzBcNzFAK/xWWicRxA13134tcKvSoJ6w+Xg8EGj+U0kKIvPJQCO0JhhJBQ4Ey1vV7dyUfyiDzCpeu7PuLlcm1lVmqH97xJeMGWf9W8y3Vftvy427eC0MYuGGTdCXa+BK0+PBnuJJOpYAaXJ5ZbKmNGHjnjvBCytG0x+8JWNKnMi1oRzsDahqsNxohzMtdY9/9flcXYBYKweI9WR77/4XlG09v26iqZiLOuQ/hnaptkPzyQNbdRA71ElaQXeBbrSsJoeGxvaK3r23pAlg+quoTotQZCF1S3OEiI08VYec5XtpWhfhf6eJg==
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=r2zWqE04jldfd294CAby8dj98qrqQ+RxFMatI9jhagI=;
 b=lRAFrthl8yE+PyPV/0F8U2CsCzWZ+brvFrTQdZ/1Cy4ZqTnYGsp74ftUbfTPigiF2sj9HAnzuQL6A+QejHt7quuC0hAV4IJz4Z7YBdX7QHPxTT1QBHnmiRiEljz8PgqgLFVTp9tYJjUHBr79lI3pO5t3jyVIwjzTGxfhzw0J0eA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 3/3] automation: Add arm64 test for running Xen with GICv3
Date: Tue, 23 Apr 2024 18:11:21 +0200
Message-ID: <20240423161121.138536-4-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240423161121.138536-1-michal.orzel@amd.com>
References: <20240423161121.138536-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: BL02EPF00021F68:EE_|CY8PR12MB8215:EE_
X-MS-Office365-Filtering-Correlation-Id: 65d1dc0f-25d2-4bc7-9f72-08dc63b0086e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Tz5biQftIAWAfIAS7xWVGRRZ4DTSF+xwPXp76iFbWIxa+P2yeJR0zVKT4o6k?=
 =?us-ascii?Q?hcpBNcYl7SrDL06cVu3F/2CcBJZWxvUNQ6ACshd+MEcJ2Hg3zaRTD3XLAeSf?=
 =?us-ascii?Q?tAoJkZLyvmRt8r39Zfac4x1voI98qwhzr3zkmlfYnRlee2nS/6pjY6IRb4T+?=
 =?us-ascii?Q?ZxitD9urmWI3osLzj+elyzh0jy3TpaA7IwvaFM3jCPN8yyOEZ7HS8dsvCsAT?=
 =?us-ascii?Q?fMvrp6u+fHNV68Yjxr0byI+hPJvJWztKfefhiIWEJCuv1/mHLD5cpL/HOrZ3?=
 =?us-ascii?Q?mugJOPKW6gu4mBcMxK9pq6WHW+YJHUle5Ahp30OFF5vO4uSldX3ygaaUIoQ3?=
 =?us-ascii?Q?ZckRZ14sUQ3YE5VzvfC9+Tg5kf2VLBhbj01DeMYXiQJjEE6vdrmAgL91VtFE?=
 =?us-ascii?Q?gJfg6nxdh7TdDZUKHWzAIF8qDUHkQdMxwQigX7GwYmJnaCHejUxA26yUmjtv?=
 =?us-ascii?Q?V6kCGYUGkKX+BRbMKNzlFLT8vs+OEIBajaLRMJuQsGXeyHBPVPJAV9/kXyyT?=
 =?us-ascii?Q?RitkECLWQkxchtkTainHwfkCMn1UDiSPFHuzgIiq7Pokas6GoQMPUv+S6aun?=
 =?us-ascii?Q?THZLmzTtW315AHyzkCuSAINyElomFZFSuNDkSBHQjusEFYCQqt2MSGFfEI2+?=
 =?us-ascii?Q?Z3Qql2ADq4IOXH5YstOTHC/KdT2/n7RBCD3VQeAZboW18X6YA8dbM3/+w/tF?=
 =?us-ascii?Q?GvgzwNwbaLa2dft6X/tinIf7lAFHE4H7hdSQvhHTJnijSolBI8qALuzVMg5F?=
 =?us-ascii?Q?fWWJOjHssKaofcf3dnrmeSuymtP2/uAL584GF27xhzQyQAl9ZaPm1FhjhcIO?=
 =?us-ascii?Q?ZlUD9CCHKuQUaeX269G0sfpsesY5SzZ6QV3GJJSIMXvO+1IpQc34OPTWFZPX?=
 =?us-ascii?Q?xAAkuTS2uCYbkW8ZgG6xlgnWQC1BL23qywCFLuFFocPn1cxF1SIImwf5RnR/?=
 =?us-ascii?Q?bzUkovewGe9xKA64/VVy5eSDd/UErSZdgVJipvTTqCyNu/1M8iD+Pk09lz/w?=
 =?us-ascii?Q?Qgiy93livRIahh+x6Eeow5ymjk+7epsRBKlnwiOAUZ5z0GaL7pMNdmgG35fR?=
 =?us-ascii?Q?NES14ZZ3FptbzmFzaT+L6EBSr41355qX4YWlJfZGKbNZvskbXCZOa2B/IA0D?=
 =?us-ascii?Q?rbEUCoXKFP/nEx8UFu3R1zKU6Pt/pGrb4zRGlYeyjOmXjA03nMcv5E5smKbt?=
 =?us-ascii?Q?IpUwS0E80EdnjEMWyRSbwzyl6VMy2UVvg6q9Vc9P2k5q2FoWx7mHI/33Owjl?=
 =?us-ascii?Q?5X/SjD5vw412CAkavNlZPPYpByaitxzCENZtTjjHwk7n8Gs8Hd31Co0zdVSG?=
 =?us-ascii?Q?km8mkngWiCisyz1db0DXoGRoDpUsLjb7NDEPNzlxtF5NAzzY91knvxDr7Qmr?=
 =?us-ascii?Q?TgGlTU/53/RuvjfSrmDHOKo7AUKA?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 16:11:28.6316
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 65d1dc0f-25d2-4bc7-9f72-08dc63b0086e
X-MS-Exchange-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:
	BL02EPF00021F68.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8215

At the moment, all the Arm64 Qemu tests use GICv2 which is the default
GIC version used by Qemu. Improve the coverage by adding a new test in
which Qemu will be configured to have GICv3.

Rename host device tree name to "virt.dtb" to be GIC version agnostic.
Use "gic-version" Qemu option to select the version to use. Unless the
test variant is set to "gicv3", version 2 will be used.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 automation/gitlab-ci/test.yaml                |  8 ++++++++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 19 ++++++++++++++-----
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1e5d86763f6c..ad249fa0a5d9 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -255,6 +255,14 @@ qemu-smoke-dom0less-arm64-gcc-debug:
     - *arm64-test-needs
     - alpine-3.18-gcc-debug-arm64
 
+qemu-smoke-dom0less-arm64-gcc-debug-gicv3:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh gicv3 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.18-gcc-debug-arm64
+
 qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index fc943a1a622c..292c38a56147 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -4,6 +4,9 @@ set -ex
 
 test_variant=$1
 
+# Default GIC version
+gic_version="2"
+
 if [ -z "${test_variant}" ]; then
     passed="ping test passed"
     domU_check="
@@ -66,16 +69,22 @@ if [[ "${test_variant}" == "earlyprintk" ]]; then
     passed="\- Ready \-"
 fi
 
+if [[ "${test_variant}" == "gicv3" ]]; then
+    gic_version=3
+    passed="${test_variant} test passed"
+    domU_check="echo \"${passed}\""
+fi
+
 # XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
 curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
 ./binaries/qemu-system-aarch64 \
    -machine virtualization=true \
-   -cpu cortex-a57 -machine type=virt \
+   -cpu cortex-a57 -machine type=virt,gic-version=$gic_version \
    -m 2048 -smp 2 -display none \
-   -machine dumpdtb=binaries/virt-gicv2.dtb
+   -machine dumpdtb=binaries/virt.dtb
 
 # XXX disable pl061 to avoid Linux crash
-fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled
+fdtput binaries/virt.dtb -p -t s /pl061@9030000 status disabled
 
 # Busybox
 mkdir -p initrd
@@ -138,7 +147,7 @@ cd ..
 echo 'MEMORY_START="0x40000000"
 MEMORY_END="0x50000000"
 
-DEVICE_TREE="virt-gicv2.dtb"
+DEVICE_TREE="virt.dtb"
 XEN="xen"
 DOM0_KERNEL="Image"
 DOM0_RAMDISK="dom0-rootfs.cpio.gz"
@@ -200,7 +209,7 @@ echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
 timeout -k 1 240 \
 ./binaries/qemu-system-aarch64 \
     -machine virtualization=true \
-    -cpu cortex-a57 -machine type=virt \
+    -cpu cortex-a57 -machine type=virt,gic-version=$gic_version \
     -m 2048 -monitor none -serial stdio \
     -smp 2 \
     -no-reboot \
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:11:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710907.1110469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIk8-0000zR-3z; Tue, 23 Apr 2024 16:11:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710907.1110469; Tue, 23 Apr 2024 16:11:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIk8-0000zK-1B; Tue, 23 Apr 2024 16:11:40 +0000
Received: by outflank-mailman (input) for mailman id 710907;
 Tue, 23 Apr 2024 16:11:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ID6+=L4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rzIk6-0000jr-DM
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:11:38 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2009::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28e8001a-018c-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 18:11:36 +0200 (CEST)
Received: from BL1PR13CA0270.namprd13.prod.outlook.com (2603:10b6:208:2ba::35)
 by DS7PR12MB8201.namprd12.prod.outlook.com (2603:10b6:8:ef::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 16:11:31 +0000
Received: from BL02EPF00021F69.namprd02.prod.outlook.com
 (2603:10b6:208:2ba:cafe::95) by BL1PR13CA0270.outlook.office365.com
 (2603:10b6:208:2ba::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.21 via Frontend
 Transport; Tue, 23 Apr 2024 16:11:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF00021F69.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.7519.19 via Frontend Transport; Tue, 23 Apr 2024 16:11:28 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 11:11:25 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 09:11:24 -0700
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Tue, 23 Apr 2024 11:11: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: 28e8001a-018c-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bFy4EEzZMNLkwyoUE/gOG0ZoZoFYyr1o26Ck3jFdExCTSrXz3R1yR54hW9ROWPlcmtx+Mq9q2RVlD5hxDvaLUGx2hqEX+m/88+BRs70oDyeSwPsEn7tb8p2EX1ej/GutScJqOA9NYhHcv/4F9QdHDYahetmdIuiRFPzjb+MwU/6E83I+4yEmFs7u6r7V7B7i42KWxH6QynsKvxCBbSOjN/pGfrCm+lEjfH32httLZzO1MsbcDWJqZmKIbYU3eiJjMkD8l4nsdlQYJovTaw779ksrcdCHV8mZM+I+gIePtLz79n178FOObIXOJW7FhxM6HZ/tR6GBumwOT8TGsg8lLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JjdVbcN1C9Efa16EYslsbc9VOceVtWp5Bqy/1aQNcBs=;
 b=PTsDIO4+El0sCwidfqB4qCKjcbUsHFt9ihgw3ZQ6ZGB3+gMKdXo6jcvN0fm8sT3snfE/wD+LjyMTly9rFJcrEtZP/pw6lv8rnQJMrLVJ8HazTRxQVENVEPSZD3ereLbCjquxk2fZkowA1LUaKQJSSWLOLQbnW9RTe9QqggiuS4yJ4tA9PoOC7TjD5z6TF+onyFbDSd99nfLrVbM91cuz9qx6gvcS6odMfFTEY5eoj9hdLVPNOCf3YzP1GQS2K+40TZwff9eQWavaoKFn2Isv7VrAmuPjxPb3MSck4uJjr0f0BrL8oMILpVdxw1gEy0Q5lApmUnJryXty98N8LE9Dbg==
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=JjdVbcN1C9Efa16EYslsbc9VOceVtWp5Bqy/1aQNcBs=;
 b=HLSoKL07HNT6dsRUzzcdBJ6+YcqfzPPluB4JKPyKORzqU3kVWkK/WrbsH1YbTgeYwmQDNT3J0FEs35ssgDkEdeG0GDjlk9u5twPrNMFUnm5hd/qxsrJQ+wQZLg2VOAlPkZl6OeixT0/zW+QlpPEGrU13d5dXOnMpHomGqsdrTtI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/3] automation: Drop some of the non-debug variants of the same Arm jobs
Date: Tue, 23 Apr 2024 18:11:19 +0200
Message-ID: <20240423161121.138536-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240423161121.138536-1-michal.orzel@amd.com>
References: <20240423161121.138536-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: BL02EPF00021F69:EE_|DS7PR12MB8201:EE_
X-MS-Office365-Filtering-Correlation-Id: aed470c3-b726-4ad1-f252-08dc63b0085d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?EppKgblmDfnMuAGGpQPnF993bM7mlaSHPVIERaW1vIcIBjp8mOlfJgQaubD9?=
 =?us-ascii?Q?CR62B4qKx79l1aKrorjUgX85qv7+1KX/KcaM9VT0RWx+HOGemqqF0uTJN1xJ?=
 =?us-ascii?Q?R9l1mPAtPhBRp8Pmw7HIwaEGcM97PxBU7lakvHiAXzaWKASGItSRXmWKPCk4?=
 =?us-ascii?Q?fTiRtq7gmAdeCmiqnNaGN8ebaV6pgakAHdxY3EDcHOeUEwrQUD4hogPWy682?=
 =?us-ascii?Q?JVie6/5wF7UAJMYd47Ydb2HiFvcMbFh6UDh1VXGzAihh4c55Nb/zFbwRDcs0?=
 =?us-ascii?Q?K+PWoKUjSQWuf/CD+v9Kt2qLv3KK7IEocUL9hGR4TbpCXwjkpCPXfG2yRoMX?=
 =?us-ascii?Q?21CQQQv/+IjbIDuJ4wW2CLTXncIHSCQKEL1w1mUdGiAktduFlWCPLDmGTXTp?=
 =?us-ascii?Q?lrsmyHks7qJvega9xoXwL2pCzry4KIJa1WSGLbjrI9gQU/4JKQIgyoZl2YgY?=
 =?us-ascii?Q?R5vHxUVRLqcLoi5k8MDEpoDjmDBl4WF5+CCVh4AAOUcNjyTCeongtbgTN9MI?=
 =?us-ascii?Q?PKHKSDKcKFhSgPpT6v1guy+xgWYEHxRLbDXMCduN2WJ2YLu23wOvw1DrUzKU?=
 =?us-ascii?Q?9m7GltBvo42D2ijN+qR+3v6IagzGrP8kb/YMeXUtOxEP2E3unQdiGP20/LVU?=
 =?us-ascii?Q?Hf5kVMxEgJYgvGoZskVHQHDWqWNnpivQVXv6Cs0qf8zaUXTpciZ2qDlS0PKJ?=
 =?us-ascii?Q?/azVzw1rkdUcHY5Ngu+VsWTMy35+1jC5k2i8Jn/8otugu9U/WX7/NyIzmMGY?=
 =?us-ascii?Q?aLzzsQts2Mce2ziBq12KUjAk3hNgYHz7Zc0KxiX9pXWwEhjZY7FQ/GKgVnn8?=
 =?us-ascii?Q?rPluLBQeJVJkD4y4nKE5bAGTqWJgoacFcJ9jsga7VnTEVRL5OH+6l1fChmrm?=
 =?us-ascii?Q?rUtGnq+xKdZu3cdIxjZNPYM9Xdo850inJL+ZKJdOuecn+jo8GBRW8S60ytlp?=
 =?us-ascii?Q?gTAEpZGFJoMIX0ZxwOaRcQqc/qOV3ytSAg71N512XPyn3FOQompCyh/r/mrR?=
 =?us-ascii?Q?yl4RbuiLD1JBGJFBQA/AydZ2yX+91aVSV2Ue9xYG4117z41+vrndA6g5J0oq?=
 =?us-ascii?Q?HaDVpEEi4zIy4dzPq2FEVAHUH1WVAGdyXPcMCOygqkj6TLojYrrEdowXb2hl?=
 =?us-ascii?Q?W5fNaLgO9MmHx59QUdLO/oEAuRi4yOwWFoZSnK7J5QOjMR45d6PVZptL0Tpb?=
 =?us-ascii?Q?Wn6DvCsfaEbWg513nil8bM/fbBV5km81FiF+Xw3r+EX2+JvHp6TN/gMEF/co?=
 =?us-ascii?Q?ORL8WhUcETNGwRIaJtv5HmdrdlZeTNqhbF30kH9iIxiCQNfUH9BCwV7ytLWH?=
 =?us-ascii?Q?LJMkSKSCzONeRN7v8o8qBimSmPHq0Q7gkyBFFp7tBPU6DLQ0EOVguV9BVo3o?=
 =?us-ascii?Q?qfyze6qO3XdJrqRDkD7jOHm6j25F?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 16:11:28.5067
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aed470c3-b726-4ad1-f252-08dc63b0085d
X-MS-Exchange-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:
	BL02EPF00021F69.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8201

To save some bandwith that can be later on used to increase the test
coverage by adding new tests, drop the following non-debug test/build
jobs existing in both debug and non-debug variants:
 - static memory (arm64, arm32)
 - static shared memory (arm64)
 - static heap (arm64)
 - boot cpupools (arm64)
 - gzip (arm32)

More generic tests existing in both variants were left unmodified.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 automation/gitlab-ci/build.yaml | 38 --------------------------
 automation/gitlab-ci/test.yaml  | 48 ---------------------------------
 2 files changed, 86 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index aac29ee13ab6..f3c934471f32 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -392,16 +392,6 @@ debian-bookworm-gcc-arm32-debug-randconfig:
     HYPERVISOR_ONLY: y
     RANDCONFIG: y
 
-debian-bookworm-gcc-arm32-staticmem:
-  extends: .gcc-arm32-cross-build
-  variables:
-    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
-    HYPERVISOR_ONLY: y
-    EXTRA_XEN_CONFIG: |
-      CONFIG_EXPERT=y
-      CONFIG_UNSUPPORTED=y
-      CONFIG_STATIC_MEMORY=y
-
 debian-bookworm-gcc-arm32-debug-staticmem:
   extends: .gcc-arm32-cross-build-debug
   variables:
@@ -458,15 +448,6 @@ alpine-3.18-gcc-debug-arm64-randconfig:
     CONTAINER: alpine:3.18-arm64v8
     RANDCONFIG: y
 
-alpine-3.18-gcc-arm64-staticmem:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: alpine:3.18-arm64v8
-    EXTRA_XEN_CONFIG: |
-      CONFIG_EXPERT=y
-      CONFIG_UNSUPPORTED=y
-      CONFIG_STATIC_MEMORY=y
-
 alpine-3.18-gcc-debug-arm64-staticmem:
   extends: .gcc-arm64-build-debug
   variables:
@@ -476,15 +457,6 @@ alpine-3.18-gcc-debug-arm64-staticmem:
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
-alpine-3.18-gcc-arm64-static-shared-mem:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: alpine:3.18-arm64v8
-    EXTRA_XEN_CONFIG: |
-      CONFIG_UNSUPPORTED=y
-      CONFIG_STATIC_MEMORY=y
-      CONFIG_STATIC_SHM=y
-
 alpine-3.18-gcc-debug-arm64-static-shared-mem:
   extends: .gcc-arm64-build-debug
   variables:
@@ -494,16 +466,6 @@ alpine-3.18-gcc-debug-arm64-static-shared-mem:
       CONFIG_STATIC_MEMORY=y
       CONFIG_STATIC_SHM=y
 
-alpine-3.18-gcc-arm64-boot-cpupools:
-  extends: .gcc-arm64-build
-  variables:
-    CONTAINER: alpine:3.18-arm64v8
-    EXTRA_XEN_CONFIG: |
-      CONFIG_EXPERT=y
-      CONFIG_UNSUPPORTED=y
-      CONFIG_SCHED_NULL=y
-      CONFIG_BOOT_TIME_CPUPOOLS=y
-
 alpine-3.18-gcc-debug-arm64-boot-cpupools:
   extends: .gcc-arm64-build-debug
   variables:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 8b7b2e4da92d..55a7831ad292 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -255,14 +255,6 @@ qemu-smoke-dom0less-arm64-gcc-debug:
     - *arm64-test-needs
     - alpine-3.18-gcc-debug-arm64
 
-qemu-smoke-dom0less-arm64-gcc-staticmem:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-arm64-staticmem
-
 qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
   extends: .qemu-arm64
   script:
@@ -271,14 +263,6 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
     - *arm64-test-needs
     - alpine-3.18-gcc-debug-arm64-staticmem
 
-qemu-smoke-dom0less-arm64-gcc-staticheap:
- extends: .qemu-arm64
- script:
-   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
- needs:
-   - *arm64-test-needs
-   - alpine-3.18-gcc-arm64
-
 qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
  extends: .qemu-arm64
  script:
@@ -287,14 +271,6 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
    - *arm64-test-needs
    - alpine-3.18-gcc-debug-arm64
 
-qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-arm64-static-shared-mem
-
 qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
   extends: .qemu-arm64
   script:
@@ -303,14 +279,6 @@ qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
     - *arm64-test-needs
     - alpine-3.18-gcc-debug-arm64-static-shared-mem
 
-qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
-  extends: .qemu-arm64
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm64-test-needs
-    - alpine-3.18-gcc-arm64-boot-cpupools
-
 qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
   extends: .qemu-arm64
   script:
@@ -359,14 +327,6 @@ qemu-smoke-dom0less-arm32-gcc-debug:
     - *arm32-test-needs
     - debian-bookworm-gcc-arm32-debug
 
-qemu-smoke-dom0less-arm32-gcc-staticmem:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-bookworm-gcc-arm32-staticmem
-
 qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
   extends: .qemu-arm32
   script:
@@ -375,14 +335,6 @@ qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
     - *arm32-test-needs
     - debian-bookworm-gcc-arm32-debug-staticmem
 
-qemu-smoke-dom0less-arm32-gcc-gzip:
-  extends: .qemu-arm32
-  script:
-    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee ${LOGFILE}
-  needs:
-    - *arm32-test-needs
-    - debian-bookworm-gcc-arm32
-
 qemu-smoke-dom0less-arm32-gcc-debug-gzip:
   extends: .qemu-arm32
   script:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:11:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710908.1110479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIkA-0001Fr-Fb; Tue, 23 Apr 2024 16:11:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710908.1110479; Tue, 23 Apr 2024 16:11: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 1rzIkA-0001Fi-CC; Tue, 23 Apr 2024 16:11:42 +0000
Received: by outflank-mailman (input) for mailman id 710908;
 Tue, 23 Apr 2024 16:11: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=ID6+=L4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rzIk8-0000jr-Kv
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:11:40 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29d8e028-018c-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 18:11:39 +0200 (CEST)
Received: from CH2PR14CA0009.namprd14.prod.outlook.com (2603:10b6:610:60::19)
 by MN0PR12MB6365.namprd12.prod.outlook.com (2603:10b6:208:3c2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Tue, 23 Apr
 2024 16:11:35 +0000
Received: from CH1PEPF0000AD83.namprd04.prod.outlook.com
 (2603:10b6:610:60:cafe::25) by CH2PR14CA0009.outlook.office365.com
 (2603:10b6:610:60::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Tue, 23 Apr 2024 16:11:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD83.mail.protection.outlook.com (10.167.244.85) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Tue, 23 Apr 2024 16:11: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.35; Tue, 23 Apr
 2024 11:11:23 -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.35
 via Frontend Transport; Tue, 23 Apr 2024 11:11: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: 29d8e028-018c-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZT+T4xvda4xkiSzm+D+W4bJGg+tmH/ifELXmjQmUX3DPd5b3O344OMK5I+O6GmNSt16NmHEk4lOH77ay2TPL+P31HWYqMqxW87xize7TQQztdA32WkA+MtvKC6VVbY6Gq+zcvZYTrCkZROFd9dTwJPZ0TwEUgw8mvqJ+hZg722beqQ4PznWRLL8PqIG3zbB0UQJiN5uB5DKNIxD2srkMV70Gam+KCrPNhW2Lxizy2IXotlfmYY2lDZLpyc5324uli7Jdu0KqWayhD90IxR9CUlvuYtrgWDebgyYTAskzlO1uEW15aNdzOlXu3LJSSid/2G4G+LlN+20IIYZbJXEOxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/5HED4XGgXNT30w9u7EIEfg4awv8EU5XK0kCv9rwuQ0=;
 b=hlNbYd5qIP4bjdfP6R8zHPc/zPagEc+UJi1Wl2cmRGJgAxAnF5sAIFvSPggGaVXiL6YmQCbwbDD3Dis+LsXKMJvsUGDzZzrlz1ysDLl45EuJ5qDp3y+dX1zYr5iOfzBnY9rNQCGVs3lz6kO2YsisJbnmwaU11SaybUX3pbC/pZ/Y5LjiexZB+I/obhRPTPUzxi2zO2MZ9jd3hh2o+KkmGXmlTOaFdEJBsxUDRX3NBQy62RkrhOHVBn40g/2F2fJ+lxP/7XxhYj1csldaSFpiR2k/ilARbOoGdtnZop0XN9Ou6HKmacX3aXTmqdEDtHUUBNJoMCAzx+j7J8iS3ZEShw==
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=/5HED4XGgXNT30w9u7EIEfg4awv8EU5XK0kCv9rwuQ0=;
 b=n1hvJ3gfHUvJeP29QZ5QolTzxNIEPaq67MtnEUEojvNdgZClXmZY/aQ4FQgEgHBSe7RpMic3I6fXpq1dg4fHt0xoH9HW23IM4MGEg6Sjvq5Y038GtdmeEm+s3HwNRQq8k+lZ14Wbww4gbmHxTMHiNZ/DzLDr53Scl6Vvxja7Qwc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/3] automation: improve Arm coverage
Date: Tue, 23 Apr 2024 18:11:18 +0200
Message-ID: <20240423161121.138536-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: CH1PEPF0000AD83:EE_|MN0PR12MB6365:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e2899a0-3fbd-4f4d-6e79-08dc63b00b7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|36860700004|82310400014|376005|1800799015;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?SzXVKFe9E1cBHAMlvuEVpJaHMn9Wl60jZrGmRIQH6AGnaa6Af+y+HeHz255N?=
 =?us-ascii?Q?Z3KHMNGKBXbFyXj4OnasfVW9VWsuANoYoHS0ULm+dhurORlUWT22jwlgGv4X?=
 =?us-ascii?Q?gmQVk5u4pfN58TX26J3j0C/W1z7KLT6zDwIurCnk0Tnfd/UUlKlqBE1f6FPq?=
 =?us-ascii?Q?3fbfnNGjLiHfgQf3ULqgpLZEQsRzCo7GlUiUXr2cPJrjkiFedntfE/Rd94Lm?=
 =?us-ascii?Q?z2oFwslkEQscjqUTETWeizvpt9XiPtsdF+5Z3cAbUnphvPcLo7TUwCR7nbDO?=
 =?us-ascii?Q?yAKA8O6x+Fd51mOx1PPiZTpktb41XZv+KCHY/R5WSQPDNkN7mEPJPgQk7ERr?=
 =?us-ascii?Q?ps1i9yWFxK59NBHq8jiO3RaK0Hi3Tc8Bts98c1wW+NPgHxxdzpdyZwQrBuF6?=
 =?us-ascii?Q?2Znq4YYprSoZ6MiKiXrn405bJUdLYKj+8O/vAefMhYRT2V/EKjLAuxpS+8Ek?=
 =?us-ascii?Q?ti3SpjL8HhVf2GjeDJuZr0zoMh8V1fjZLpq17SU+3koIICoIfeXlOGr4W6T/?=
 =?us-ascii?Q?o0qAy2FS2f4emWjl6GGBGkfMl/Iuo7Kq5ZgBcveCdlkDjOIuGPsIIyR0QLLM?=
 =?us-ascii?Q?lJwvlgSVQ+51xcQsz+4GDyeFzhASUbG0bkLuHMfngKEpjaJKBzLCke/lvKfi?=
 =?us-ascii?Q?A7s8EUKl7D7DgRDm7CjfPrYD7EuxToTexsWGd0ROU7GIPIdhql69Hu2juyCd?=
 =?us-ascii?Q?WYlDoPDgyrcxu+9zE8nenuyircJLWSEbf87cRTRn4rsQWoVA8kOFfTAExrWG?=
 =?us-ascii?Q?m4LBfYdxq8o2xo+uG2FFjQqulypTOk/Uz6DgOokX9XXCxK8cg7FcJLfCwwbb?=
 =?us-ascii?Q?ZsaOs/2LCWWqrQGs+uFTji80NIVw37WDftvLehMVZoF+6PrJq9oOaI6PMWv3?=
 =?us-ascii?Q?lBCCE1Cro3wm3BbfPKWsxYnbmRfML0SBdvjoZZyEfOCuJ5sOt85PMyojsw0L?=
 =?us-ascii?Q?CItaqqK1OfZFCtlifUCXuXGzQLd6PlJ4CDF7TON7yNa7H00sk0QdrdVu2Q0F?=
 =?us-ascii?Q?ze6zbNl39KRhBKFVJtcQxV9UFI6YnQh1fm2YkCPiTvRe3asHtVS9z4xkbeJW?=
 =?us-ascii?Q?RGuME9/9zAJvdOC3R1QnjH4bS95x+ENyyZhTe3wB/XgOaOthNgxWw+XtNQnH?=
 =?us-ascii?Q?Uaz+9VZr2U1Fu2jXK12/hXJtCnOGMqfmYQDw8fySCeOxGF6S6t8BJPouHcp1?=
 =?us-ascii?Q?okZMGRj2xG/w+HmUFpJsrz1ZoT1Oy7ij0cXuu0VdfLWY2Q+w3Y7dyhII96y+?=
 =?us-ascii?Q?ZBGdItfo83zyig6ChlPB2jiNylfILffv98yA4wP8ieRKjeTM7zemV6K5LWkd?=
 =?us-ascii?Q?UkvsI4h2jaSMEOB9YVVbCdnbUmkqk8pEt0JHQqKrksNotZWuvew+VaWrimMZ?=
 =?us-ascii?Q?BxUgG24=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:(13230031)(36860700004)(82310400014)(376005)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 16:11:33.7240
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e2899a0-3fbd-4f4d-6e79-08dc63b00b7c
X-MS-Exchange-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:
	CH1PEPF0000AD83.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6365

This came up as part of the following discussion:
https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2402291108290.853156@ubuntu-linux-20-04-desktop/

Michal Orzel (3):
  automation: Drop some of the non-debug variants of the same Arm jobs
  automation: Add arm{64,32} earlyprintk jobs
  automation: Add arm64 test for running Xen with GICv3

 automation/gitlab-ci/build.yaml               | 41 ++++----------
 automation/gitlab-ci/test.yaml                | 56 ++++++-------------
 .../scripts/qemu-smoke-dom0less-arm32.sh      |  7 +++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 24 ++++++--
 4 files changed, 52 insertions(+), 76 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:11:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:11:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710909.1110489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIkG-0001bS-Mu; Tue, 23 Apr 2024 16:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710909.1110489; Tue, 23 Apr 2024 16:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzIkG-0001bL-JT; Tue, 23 Apr 2024 16:11:48 +0000
Received: by outflank-mailman (input) for mailman id 710909;
 Tue, 23 Apr 2024 16:11:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ID6+=L4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rzIkF-0001Zp-Nd
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:11:47 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e88::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2df11c43-018c-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 18:11:46 +0200 (CEST)
Received: from BYAPR21CA0025.namprd21.prod.outlook.com (2603:10b6:a03:114::35)
 by PH7PR12MB5926.namprd12.prod.outlook.com (2603:10b6:510:1d9::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Tue, 23 Apr
 2024 16:11:35 +0000
Received: from SJ1PEPF00001CE6.namprd03.prod.outlook.com
 (2603:10b6:a03:114:cafe::1e) by BYAPR21CA0025.outlook.office365.com
 (2603:10b6:a03:114::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.8 via Frontend
 Transport; Tue, 23 Apr 2024 16:11:35 +0000
Received: from SATLEXMB04.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.7519.19 via Frontend Transport; Tue, 23 Apr 2024 16:11:34 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 11:11:26 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 09:11:25 -0700
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35
 via Frontend Transport; Tue, 23 Apr 2024 11:11: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: 2df11c43-018c-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=igjo4Uzm6h2sHhG/pkSpdgG/XpaHs5UQ1VIXuwCreOasEZq0/PrnjmYGlCVQ5DkpPbnX7llcDsKYxXgLzAP/hZGBULgxlBUJRDRNfB3HEpIu7Ol9Akhpx1T+onwky5r3ckh9b1dSQx+IMBEg6+yfW0/LaskDnTYW/kMqKuxIRVl5i6w72FJW2QLOTCTmbQizofbd6FolDaC6oi+gJUe2Y1Ptt1+fJOBz+4vZie+XeKUfCd7AhCFQXAUmK0ziBw4ofAOtSRUMl6wBTQRkJ+Ns6rgzwE2aLFHKXT2ByTzTWu0mu1nDJF1gUedjKD/KVVadNYKr6pHsXYlYCAhmQ7El3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x02jqpzQR1c1xv7L9dBTsmFCQM3ycPibIahZ0tRyspE=;
 b=KH2m0rrkzyCUZXT1TE2sm8d58CnfLPoltCuaI1VxrLMzvWZn8On041hz14Aq5cKsNFBQsVtGRaAu4aeHhGOJ6vnb2Lu3jGT9EDobWDI0SsY01vmoXvfaJwzQcCsmDb3Ulx0EPLn99cLKDqZ4b+qhUg8hPryB8qIWKEQjKjXY+1ztP8oe/7mNhFj1DUwuaEYQJAQrlzhcliZJBfPaT+fXLemjcSgMYNxl+fLr+LcLnHasL6RGABQNLOh6HsQM/w3h/WR3KgJyVRw5n9Y9idEjAsxanzucvf+EbGtz+D0+oORg2iVGhcR+/ccNf+kPCg6ZcnAtZE4hqP6IY4UXF7k/gg==
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=x02jqpzQR1c1xv7L9dBTsmFCQM3ycPibIahZ0tRyspE=;
 b=OJTygNL+aPE4CP+HizGt6zJv64WC+0DVtUEJUrdBB8Mp0GbfCPBiMTgxH7Clx4QyqfUrw1yxjumkcgsSiPQQOArfrR8wwWpCCsTuA/gGp9RFIYm40FYshB1/MQyfA2CT1qlQEBvpAt/S26zgflkNVN5J+f0yZ3+WB8apqmHxouI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/3] automation: Add arm{64,32} earlyprintk jobs
Date: Tue, 23 Apr 2024 18:11:20 +0200
Message-ID: <20240423161121.138536-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240423161121.138536-1-michal.orzel@amd.com>
References: <20240423161121.138536-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: SJ1PEPF00001CE6:EE_|PH7PR12MB5926:EE_
X-MS-Office365-Filtering-Correlation-Id: 93faab0b-3499-4327-5573-08dc63b00c46
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?uJikoYZvFIz2lMFagoqlgBgQh6O/uocdmSzim0m1MgNPMTG8BdRcJ0BB8gU8?=
 =?us-ascii?Q?F8nEmNj4B2wMeb5+PiE9pvzPqJfzbF4oYDTJ1/C/BInuFP7qwBkwRXVUsh8H?=
 =?us-ascii?Q?79FP29WOzsGrrDGBX4zgn5PyIQjAdXLuDYl7f2ymCvOmZHtokkaJwURGdg2O?=
 =?us-ascii?Q?qUtjyRMTaMgN3OfMCTe4w1kW//H6UP1fVKpeY2Y3OsFtIB10KaAcf7ugbUOw?=
 =?us-ascii?Q?H7u1eVMu84VMs6gs5cB+A7ezRV/2WpvxQGfPVqf+lGuzLnWajqmm4qHOXr4I?=
 =?us-ascii?Q?dkAXHjq3zSH4YVB506/pwsc2K07hj5zxxv1c30ATUL3Kf/EN2D8W+kiuNDWN?=
 =?us-ascii?Q?vklKiBMX/1nFQr9gaSd5yQaaK7chFdsYBvjb4KwyVr8jlJcSVVqi0M1rrfAC?=
 =?us-ascii?Q?ygsWRPAjj9NC0z5NS1e49vQLxp/GOLu6DzW4GXuH+n7c//p6gHPr/QD7TbBl?=
 =?us-ascii?Q?mjnFeKqQetgfZ3+1Kyjv6bkPgRHibYyoGVMdZ4xnOzJnqUH99mxhdJOTSnK3?=
 =?us-ascii?Q?vxjg57cPV7UHQLAL+NK3V91LJFIwrLk1XNVY9hW9ZsXm/G7poKrGfB4LifZ4?=
 =?us-ascii?Q?4CyjgQEanFutt448gOiKmblRjk+ZjrcLhiYMPMsPGpJtTwIQBFW8UZ3TmQzn?=
 =?us-ascii?Q?gGSNOmf6Lp5ZDcDQt1iOjiZ2CT216TtQVBKi9PfsT0nAVWDtS4MpSs6jF4hD?=
 =?us-ascii?Q?BSrv0gbe9E3UXEK3kMh6gW2dotXmAEbBsSWeAHRgGMnaEB5zz624K5JiO7wk?=
 =?us-ascii?Q?TbzzMzFoG2oZq/A5JpMrMdywW7oFWElZUkWJQ4Nv1EV9lxhl+6hGeErwp8nU?=
 =?us-ascii?Q?LqpSqVqUX/RUV2hADN1r344jMdTVbULx2O309Qgg1fnBIkpVdNsGD8FSE30j?=
 =?us-ascii?Q?lZ/MNZZnVpbsmpb7kZi47GCp7fB4hqHZgLXuYON8M4FlGeMugoMYXatdvfQy?=
 =?us-ascii?Q?ZRMlmHnUD/4SNU6goz34pGoVXjpox501QH6CRD4qYBI4y0rOZ6/3Teg4L+LX?=
 =?us-ascii?Q?YjvdnfBt2h9umbVrBFHqcJKSzCaUWr/FWaAmTsWp4V9fwCzyWB2dcsIfCNNo?=
 =?us-ascii?Q?YTBfdlZl1kuCT5RjuL5nAVLsSNrso8eUSEfq6VtoowWO4Ywa91qWb2Unqwh9?=
 =?us-ascii?Q?Vcpz5npgSfPgzeGVY3X8UCDz6uVqVrAGbLD69/6Z3zEnueBZmHGvNRUxN6oM?=
 =?us-ascii?Q?ug9g4DfRuNE3EbLDLulSDpiXHusUeB6DkrZPL7HpaI812ndWfpTaAyXJKVTl?=
 =?us-ascii?Q?XsGUvPu7KNh9Mf0GEOCbC5lsbkAOzq9AnRjPnnwWENe8KtBjIFt34N6Q8ZSL?=
 =?us-ascii?Q?d1A499yylc5+dp7NcxR1wzpcZDhPpDZgkVTeloWdSXByJgWk3OFxFv6ZbNo+?=
 =?us-ascii?Q?f0V2QmerGk1VOIklAFlcV6dHvrPw?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2024 16:11:34.9847
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 93faab0b-3499-4327-5573-08dc63b00c46
X-MS-Exchange-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:
	SJ1PEPF00001CE6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5926

Introduce qemu based Arm earlyprintk test and build jobs to cover this
feature in debug variant. The tests simply check for the presence of the
last message printed by the bootstrap code before entering the C world.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 automation/gitlab-ci/build.yaml                 | 17 +++++++++++++++++
 automation/gitlab-ci/test.yaml                  | 16 ++++++++++++++++
 automation/scripts/qemu-smoke-dom0less-arm32.sh |  7 +++++++
 automation/scripts/qemu-smoke-dom0less-arm64.sh |  5 +++++
 4 files changed, 45 insertions(+)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index f3c934471f32..49d6265ad5b4 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -402,6 +402,15 @@ debian-bookworm-gcc-arm32-debug-staticmem:
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
+debian-bookworm-gcc-arm32-debug-earlyprintk:
+  extends: .gcc-arm32-cross-build-debug
+  variables:
+    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
+    HYPERVISOR_ONLY: y
+    EXTRA_XEN_CONFIG: |
+      CONFIG_EARLY_UART_CHOICE_PL011=y
+      CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000
+
 # Arm builds
 
 debian-bookworm-gcc-arm64:
@@ -473,6 +482,14 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
     EXTRA_XEN_CONFIG: |
       CONFIG_BOOT_TIME_CPUPOOLS=y
 
+alpine-3.18-gcc-debug-arm64-earlyprintk:
+  extends: .gcc-arm64-build-debug
+  variables:
+    CONTAINER: alpine:3.18-arm64v8
+    EXTRA_XEN_CONFIG: |
+      CONFIG_EARLY_UART_CHOICE_PL011=y
+      CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000
+
 # RISC-V 64 cross-build
 .riscv-fixed-randconfig:
   variables: &riscv-fixed-randconfig
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 55a7831ad292..1e5d86763f6c 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -287,6 +287,14 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
     - *arm64-test-needs
     - alpine-3.18-gcc-debug-arm64-boot-cpupools
 
+qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh earlyprintk 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.18-gcc-debug-arm64-earlyprintk
+
 qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
   extends: .qemu-arm64
   script:
@@ -359,6 +367,14 @@ qemu-smoke-dom0less-arm32-gcc-debug-without-dom0:
     - *arm32-test-needs
     - debian-bookworm-gcc-arm32-debug
 
+qemu-smoke-dom0less-arm32-gcc-debug-earlyprintk:
+  extends: .qemu-arm32
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh earlyprintk 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm32-test-needs
+    - debian-bookworm-gcc-arm32-debug-earlyprintk
+
 qemu-alpine-x86_64-gcc:
   extends: .qemu-x86-64
   script:
diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh b/automation/scripts/qemu-smoke-dom0less-arm32.sh
index e31b6b9014e1..1e2b939aadf7 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
@@ -53,6 +53,13 @@ echo \"${passed}\"
 "
 fi
 
+if [[ "${test_variant}" == "earlyprintk" ]]; then
+    # Clear dom0 prompt
+    dom0_prompt=""
+    # Last early printk message before entering C world
+    passed="\- Ready \-"
+fi
+
 # dom0/domU rootfs
 # We are using the same rootfs for dom0 and domU. The only difference is
 # that for the former, we set explictly rdinit to /bin/sh, whereas for the
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index e748b8ef1699..fc943a1a622c 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -61,6 +61,11 @@ fi
 "
 fi
 
+if [[ "${test_variant}" == "earlyprintk" ]]; then
+    # Last early printk message before entering C world
+    passed="\- Ready \-"
+fi
+
 # XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
 curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
 ./binaries/qemu-system-aarch64 \
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:50:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710932.1110498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzJLK-0003TY-HD; Tue, 23 Apr 2024 16:50:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710932.1110498; Tue, 23 Apr 2024 16: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 1rzJLK-0003TR-EM; Tue, 23 Apr 2024 16:50:06 +0000
Received: by outflank-mailman (input) for mailman id 710932;
 Tue, 23 Apr 2024 16: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=09RI=L4=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rzJLJ-0003O2-Lg
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:50:05 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 888af0b9-0191-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 18:50:04 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41a5b68ed4fso19702665e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 09:50:04 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 bh8-20020a05600c3d0800b0041a9ff23679sm4077894wmb.7.2024.04.23.09.50.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 09: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: 888af0b9-0191-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713891004; x=1714495804; 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=nJu4nxaW/ggzpRU7rFHinpZnBWcdLNCxIKnKBmeppeQ=;
        b=ixCfKTv9+1j07f/4G4wvCZYvl3bVWcH5o8PVTIAv2zw1l0V3C7dZjsuNo+99f9oUVs
         5uebkpANOG64J8LSR8X8Cyu14V/WV3/h1tFtlWuanGjOZMgkF1VvuA95gwd7iQ+XSsVU
         MS8EiRQiy16rNzSqFVJM5sclth1oh+hJiBH28=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713891004; x=1714495804;
        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=nJu4nxaW/ggzpRU7rFHinpZnBWcdLNCxIKnKBmeppeQ=;
        b=BaEN3kMnOs5x/7Jkm+GU2tq79qU4OD5kHNCrYsK+bo/Bg87s4FFlSJHL4oBJdaNXpr
         aeQKGC6d+0s8m8riTBGyG0xDes9igQ8wTH69M2BgHtlq2iXSbJjSpT7vDZBoDq0bZddw
         pr770CYheBQi34+0lbQaAwW0vyAsRpO/JkDeB3UAoA6bUK9Qq0J8IhCWI/+G3pZIRZLU
         m2kapE+FjNxitnaDxewpAzGWN/8eveV33z4k5lw1t/wZuJo2wSwvCbTwmT5anuhx6L33
         usHocInDd98XhW4SPiCnPHYhXlZaptmPaiqlvS3EaJ5W4hVDjy5bziXYRtq8XuKpwUz0
         pBPQ==
X-Gm-Message-State: AOJu0YypaIL/Qa/ewZ6bpseUYD1ij7Xp2wlWcApEeKV7EpLO6nlEjecR
	Ru6mQzakuFONraiwlMQBgbuNyQRjTAsBtt85aLDaWAciCWQFICihKdfcevJS0Cbt1pFghjJAWfY
	M
X-Google-Smtp-Source: AGHT+IGIC2knqma/J/O7XOMcZjBx+XV3t8GMbWCaPHkmay+uEkJi/sKeDodnGoa5JvpUVgdbvI/bqA==
X-Received: by 2002:a05:600c:3d8b:b0:41a:b7ce:72b with SMTP id bi11-20020a05600c3d8b00b0041ab7ce072bmr1804249wmb.13.1713891003939;
        Tue, 23 Apr 2024 09:50:03 -0700 (PDT)
Date: Tue, 23 Apr 2024 17:50:02 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/5] x86: Use getopt to handle command line args
Message-ID: <1bb182dd-931d-4a15-b4e8-8701aedc744f@perard>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-5-fouad.hilly@cloud.com>
 <5ece784e-cc8c-4cbb-9ea3-a55f29fab1ac@perard>
 <CAJKAvHZ-6DsY5wTdFzB6tm5RNKY4EnmY-Stjsi2aRmMT9TZCnw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAJKAvHZ-6DsY5wTdFzB6tm5RNKY4EnmY-Stjsi2aRmMT9TZCnw@mail.gmail.com>

On Tue, Apr 23, 2024 at 04:16:10PM +0100, Fouad Hilly wrote:
> On Mon, Apr 22, 2024 at 6:48 PM Anthony PERARD <anthony.perard@cloud.com> wrote:
> > On Tue, Apr 16, 2024 at 10:15:45AM +0100, Fouad Hilly wrote:
> > > +    if ( argc != 2 )
> > > +        goto ext_err;
> >
> > Why only two arguments allowed? And why check `argc` before calling
> > getopt_long() ?
> At this stage of the patch series, xen-ucode expects either firmware
> file or a single argument, that is why argc should be 2.
> If there is no argument or many arguments that are not supposed to be,
> we exit with error other than try to parse the arguments.

Right, but what's the point of introducing getopt_long() if we are not
going to use it? The patch tries to make it nicer to introduce more
options to the tool but then put an extra check that make this actually
harder. This condition is even change in the next patch, that's one more
reason that says that it's a wrong check.

You can let getopt_long() parse all the options, deal with them, then
you can deal with the nonoptions after that, and check that's there's
only one nonoption.

> > > + ext_err:
> > > +    fprintf(stderr,
> > > +            "xen-ucode: Xen microcode updating tool\n"
> > > +            "Usage: %s [microcode file] [options]\n", argv[0]);
> >
> > Isn't there a usage() function that we could use?
> As there is an error, stderr should be used, which was a comment on V1.
> >
> > > +    show_curr_cpu(stderr);
> >
> > Why call show_curr_cpu() on the error path?
> Informative, but could be removed.

We are on the error path, it's looks like the usage message is printed
before the cpu information, so if the error is due to wrong options
then that information is lost. We should print why there's an error, not
much else would be useful. Error messages should be as late as possible
or they are getting lost in the scroll of the terminal. So yes, it's
probably best to remove.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 16:59:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 16:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710937.1110509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzJTq-0004fK-BZ; Tue, 23 Apr 2024 16:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710937.1110509; Tue, 23 Apr 2024 16: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 1rzJTq-0004fD-8J; Tue, 23 Apr 2024 16:58:54 +0000
Received: by outflank-mailman (input) for mailman id 710937;
 Tue, 23 Apr 2024 16:58:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=09RI=L4=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rzJTp-0004f7-Bu
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 16:58:53 +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 c33598a9-0192-11ef-909a-e314d9c70b13;
 Tue, 23 Apr 2024 18:58:52 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-56e1f3462caso7463273a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 09:58:52 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d17-20020a1709063ed100b00a52222f2b21sm7239299ejj.66.2024.04.23.09.58.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 23 Apr 2024 09:58: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: c33598a9-0192-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713891532; x=1714496332; 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=aiQPt+nn1pqowc9qM2NtyZtdawidGiRo3oxEXY6u3q0=;
        b=f/G3VJE7HDTQtwgHjEh8a4xgVnOocv6NfsznxOwrwQSbuQsiaynJdI5JBwDa7sPXYQ
         rdCV9AdZTRhDXLUfgUdBDdyNPLTJV9qQRS2eWoUaM9OSA3nMTPn7hPMCsBds4TMB1Hpd
         VkJ54GqMH3eeePTZl2WSdd82vaWEPC6IZOLoQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713891532; x=1714496332;
        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=aiQPt+nn1pqowc9qM2NtyZtdawidGiRo3oxEXY6u3q0=;
        b=rbEyvP1kc0A7/lGUbPorIJtrersJB/vhshAL97IiL2/1U+K7xC+IG3JjiJyI2/Z/9K
         65eALf1N7eVigCyOs+mwUZxHfZc0XXzQbOrEF+zHuru3wJR1bRhOLiHfyCVDtw8XqJio
         dAPoI+aEhBvebkMEyO1LGCEL1BRX2FZ3QyLAB1wz1dPfnUAvivbp5Guu93VV4lsVhVv1
         LScr8rgekalTzei3lagpNfo7UypOXmThKMs71K6JMg5OnazNRMB4aGMazTaV3VotTDzu
         a8l9+8WzOUDrE9zzM4YwqXNcJWSih35uJfqhV4BbW9/Td0XZV9RyTD1BBW2g6oU0O886
         4sCw==
X-Gm-Message-State: AOJu0YwknYAWr6EoFj4DDSXqrP2LYc7MgboQpGqhO62q3fapFHSVzNE4
	lgigQPJ0jbtGcA15J7k0vmEqdY/L6q34TWWAGH7t3o+Puc1pRHI9In190XwJLRg=
X-Google-Smtp-Source: AGHT+IHSMql8VM5Yf4uRDxSCrGb3oGuT/umx/173bTRzn9aiRgaanzJ1lxZgTwjSSzuZUxr8VqeZcA==
X-Received: by 2002:a17:907:6094:b0:a52:2486:299f with SMTP id ht20-20020a170907609400b00a522486299fmr12465298ejc.71.1713891531923;
        Tue, 23 Apr 2024 09:58:51 -0700 (PDT)
Date: Tue, 23 Apr 2024 17:58:50 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Fouad Hilly <fouad.hilly@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 5/5] x86: Add --force option to xen-ucode to override
 microcode version check
Message-ID: <4871be67-8b89-4324-a711-02bfccae3a6f@perard>
References: <20240416091546.11622-1-fouad.hilly@cloud.com>
 <20240416091546.11622-6-fouad.hilly@cloud.com>
 <35e382d7-0f65-4dbe-bc80-ddbf9d649e24@perard>
 <CAJKAvHZ0abytPgKxVMhVRhTyoV0LMTE46+W+ox0MaFagRXbMGw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAJKAvHZ0abytPgKxVMhVRhTyoV0LMTE46+W+ox0MaFagRXbMGw@mail.gmail.com>

On Tue, Apr 23, 2024 at 04:26:53PM +0100, Fouad Hilly wrote:
> On Mon, Apr 22, 2024 at 6:57 PM Anthony PERARD <anthony.perard@cloud.com> wrote:
> > On Tue, Apr 16, 2024 at 10:15:46AM +0100, Fouad Hilly wrote:
> > > diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> > > index e3c1943e3633..4178fd2221ea 100644
> > > --- a/tools/misc/xen-ucode.c
> > > +++ b/tools/misc/xen-ucode.c
> > > @@ -24,7 +26,8 @@ static void usage(const char *name)
> > >             "Usage: %s [microcode file] [options]\n"
> >
> > Now, that usage line is wrong. The options needs to go before the file.
> I am not sure what you mean "wrong"? from parsing perspective, both
> scenarios can be successfully executed:
> xen-ucode firmware-file --force
> xen-ucode --force firmware-file
> it becomes wrong if there is an argument expects the file as an input.

Oh, sorry, I didn't know that getopt() would look for options on all
arguments, even when separated by nonoptions. I'm used to CLI programs
that takes options first, then files, even if that might work with a
different order.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 17:55:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 17:55:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710945.1110519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzKMU-0005hS-Ii; Tue, 23 Apr 2024 17:55:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710945.1110519; Tue, 23 Apr 2024 17:55:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzKMU-0005hL-G9; Tue, 23 Apr 2024 17:55:22 +0000
Received: by outflank-mailman (input) for mailman id 710945;
 Tue, 23 Apr 2024 17:55: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 1rzKMS-0005hB-Ij; Tue, 23 Apr 2024 17:55: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 1rzKMS-0005wB-6H; Tue, 23 Apr 2024 17:55: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 1rzKMR-00034t-Qa; Tue, 23 Apr 2024 17:55:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzKMR-000321-Q5; Tue, 23 Apr 2024 17:55:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mQAGe3rcZn/UoJ9WXneeaaibwwNj1iNnL39k4HvOxhA=; b=vpKFh6d/S6I0J/1RlG0zjAdD2S
	6bu+FnLbSCALkpxycl0i4Rn6X7B/Q66/cmQ5UChvFfNgBMcCgh9VllXb7L+NrDh/7trP8mJLYeLg0
	nZuK4eEYf0xIE4Y46bh74Sz1AY8J2gxYCBZT0rt+yGcpIxrsPraYyTvm1g7o6BIU8gBE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185767-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185767: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-pvshim:debian-fixup:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:xen-boot:fail:heisenbug
    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: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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=cccb7878f386fb8691b7e28957a562a66d9b875f
X-Osstest-Versions-That:
    xen=cccb7878f386fb8691b7e28957a562a66d9b875f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 17:55:19 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvshim   13 debian-fixup     fail in 185762 pass in 185767
 test-armhf-armhf-xl-rtds      8 xen-boot                   fail pass in 185762

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

Last test of basis   185767  2024-04-23 05:03:58 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Apr 23 19:19:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 19:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710952.1110529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzLfy-0007YG-Iu; Tue, 23 Apr 2024 19:19:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710952.1110529; Tue, 23 Apr 2024 19:19:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzLfy-0007Y9-Fs; Tue, 23 Apr 2024 19:19:34 +0000
Received: by outflank-mailman (input) for mailman id 710952;
 Tue, 23 Apr 2024 19:19: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 1rzLfw-0007Xz-KE; Tue, 23 Apr 2024 19:19: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 1rzLfw-0007Ml-72; Tue, 23 Apr 2024 19:19: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 1rzLfv-0005Hu-R6; Tue, 23 Apr 2024 19:19:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzLfv-0006Ao-Qg; Tue, 23 Apr 2024 19:19:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cJf6VzBJ0m/Hjw65AseeM+YXTnQCFj4RbiaIHLqoN0c=; b=Z07NhHhFIuZlirnbJxwCO3nM1E
	KmW5LpAKZgD1WSeU5mGDnRTCl9BKgNIKih2IWqm7sHFjZSay1hajbnBWNZnOncrO/O0enDDkwBX1w
	H2kkFTVF1v8pc/Z3GxlOIsHoSlVY4h8lspJOlwmhsFuonTt6J69uj/uiYXviR7oNwcyI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185770-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185770: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:test-armhf-armhf-xl:xen-boot:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
X-Osstest-Versions-That:
    xen=cccb7878f386fb8691b7e28957a562a66d9b875f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 19:19:31 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 185760

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
baseline version:
 xen                  cccb7878f386fb8691b7e28957a562a66d9b875f

Last test of basis   185760  2024-04-22 14:02:06 Z    1 days
Testing same since   185770  2024-04-23 13:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Leigh Brown <leigh@solinno.co.uk>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Apr 23 14:13:48 2024 +0200

    x86/MTRR: correct inadvertently inverted WC check
    
    The ! clearly got lost by mistake.
    
    Fixes: e9e0eb30d4d6 ("x86/MTRR: avoid several indirect calls")
    Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>

commit f82c43a384913460892d4917d2a2f8c2b9399a5e
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Tue Apr 23 14:12:04 2024 +0200

    xen: introduce header file with section related symbols
    
    Start by declaring the beginning and end of the init section.
    
    No functional change intended.
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 70d46b51e2f80f808c91f264f501cca1ca7af2b5
Author: Leigh Brown <leigh@solinno.co.uk>
Date:   Tue Apr 23 14:11:14 2024 +0200

    docs/man: Add xenwatchdog manual page
    
    Add a manual page for xenwatchdogd.
    
    Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 9c872b5766cde6cd9ebeb724a346aaee16e87c84
Author: Leigh Brown <leigh@solinno.co.uk>
Date:   Tue Apr 23 14:10:16 2024 +0200

    tools/misc: Add xenwatchdogd.c copyright notice
    
    Add copyright notice and description of the program.
    
    Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
    Acked-by: Anthony PERARD <anthony.perard@citrix.com>

commit e906bfae48b2f71607159e7f5589cb71f961351c
Author: Leigh Brown <leigh@solinno.co.uk>
Date:   Tue Apr 23 14:10:03 2024 +0200

    tools/misc: xenwatchdogd enhancements
    
    Add usage() function, the ability to run in the foreground, and
    the ability to disarm the watchdog timer when exiting.
    
    Add enhanced parameter parsing and validation, making use of
    getopt_long().  Check the number of parameters are correct, the
    timeout is at least two seconds (to allow a minimum sleep time of
    one second), and that the sleep time is at least one and less
    than the watchdog timeout.
    
    With these changes, the daemon will no longer instantly reboot
    the domain if you enter a zero timeout (or non-numeric parameter),
    and prevent the daemon consuming 100% of a CPU due to zero sleep
    time.
    
    Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit f0fa75c9ea9f03cf2c6f5e63d07664ca4b224dd6
Author: Leigh Brown <leigh@solinno.co.uk>
Date:   Tue Apr 23 14:09:50 2024 +0200

    tools/misc: xenwatchdogd: add parse_secs()
    
    Create a new parse_secs() function to parse the timeout and sleep
    parameters. This ensures that non-numeric parameters are not
    accidentally treated as numbers.
    
    Signed-off-by: Leigh Brown <leigh@solinno.co.uk>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43a07069863b419433dee12c9b58c1f7ce70aa97
Author: Ross Lagerwall <ross.lagerwall@citrix.com>
Date:   Tue Apr 23 14:09:18 2024 +0200

    x86/rtc: Avoid UIP flag being set for longer than expected
    
    In a test, OVMF reported an error initializing the RTC without
    indicating the precise nature of the error. The only plausible
    explanation I can find is as follows:
    
    As part of the initialization, OVMF reads register C and then reads
    register A repatedly until the UIP flag is not set. If this takes longer
    than 100 ms, OVMF fails and reports an error. This may happen with the
    following sequence of events:
    
    At guest time=0s, rtc_init() calls check_update_timer() which schedules
    update_timer for t=(1 - 244us).
    
    At t=1s, the update_timer function happens to have been called >= 244us
    late. In the timer callback, it sets the UIP flag and schedules
    update_timer2 for t=1s.
    
    Before update_timer2 runs, the guest reads register C which calls
    check_update_timer(). check_update_timer() stops the scheduled
    update_timer2 and since the guest time is now outside of the update
    cycle, it schedules update_timer for t=(2 - 244us).
    
    The UIP flag will therefore be set for a whole second from t=1 to t=2
    while the guest repeatedly reads register A waiting for the UIP flag to
    clear. Fix it by clearing the UIP flag when scheduling update_timer.
    
    I was able to reproduce this issue with a synthetic test and this
    resolves the issue.
    
    Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 19:22:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 19:22:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710957.1110538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzLjG-0000XE-2E; Tue, 23 Apr 2024 19:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710957.1110538; Tue, 23 Apr 2024 19:22:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzLjF-0000X7-V2; Tue, 23 Apr 2024 19:22:57 +0000
Received: by outflank-mailman (input) for mailman id 710957;
 Tue, 23 Apr 2024 19:22:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rzLjF-0000Wv-1w; Tue, 23 Apr 2024 19:22:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rzLjE-0007PK-Um; Tue, 23 Apr 2024 19:22:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rzLjE-0005N7-Hd; Tue, 23 Apr 2024 19:22:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzLjE-0007bm-HG; Tue, 23 Apr 2024 19:22:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PGAOux79sDanBbylWBGWhPBpy/bkydAJPtc8APoxJwk=; b=vMTktDN1AThzYWZjYQYTJkTnec
	rv/zl0QOp09y+sXohD//TrlBBUlHXkcxCwvGpJ3rhxbSlcbUFCLdl+2/3Oeyew2pw3rhWEsCitxav
	NRnyTwv7WTLgsT8gLzAGbXlWVqNzt3UZpyyWehIiucWeZ5RrUK6kWo3nXK15xI//oq3o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185773-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185773: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e3fa6986ae8521275fc6ca161f7394a3809f8723
X-Osstest-Versions-That:
    ovmf=86c8d69146310f24069701053a27153ae536ebba
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 19:22:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e3fa6986ae8521275fc6ca161f7394a3809f8723
baseline version:
 ovmf                 86c8d69146310f24069701053a27153ae536ebba

Last test of basis   185764  2024-04-22 23:12:58 Z    0 days
Testing same since   185773  2024-04-23 17:41:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.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
   86c8d69146..e3fa6986ae  e3fa6986ae8521275fc6ca161f7394a3809f8723 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 19:29:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 19:29:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710967.1110549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzLpr-0001MD-Nn; Tue, 23 Apr 2024 19:29:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710967.1110549; Tue, 23 Apr 2024 19:29: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 1rzLpr-0001M6-K9; Tue, 23 Apr 2024 19:29:47 +0000
Received: by outflank-mailman (input) for mailman id 710967;
 Tue, 23 Apr 2024 19: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=6UPA=L4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rzLpq-0001M0-3P
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 19:29:46 +0000
Received: from mail-yw1-x112f.google.com (mail-yw1-x112f.google.com
 [2607:f8b0:4864:20::112f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d61378ad-01a7-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 21:29:44 +0200 (CEST)
Received: by mail-yw1-x112f.google.com with SMTP id
 00721157ae682-617e6c873f3so66364527b3.2
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 12:29:44 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 x17-20020ac85391000000b0043770fd3629sm5428121qtp.75.2024.04.23.12.29.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 12:29: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: d61378ad-01a7-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713900583; x=1714505383; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tFeh65T9cDhQ2wbkH3+iEHfZ5mmu+JnRYETxtRR/Rkw=;
        b=aqFruu3x28JyIpRlfLTH+zzDwt69sL0Qq+YCx/o43X2iNMXM+iWDRQiCMf+yBgnIT/
         zmZarO8YVYkeuBVZ7K06exuaK6FY2yWWOY0erey0Mkv691SAycCCX27gqTALCy0nlrAe
         QgVoCL+ROQgVH6XiVy8vpj9jnNoY6UrEMGRbQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713900583; x=1714505383;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tFeh65T9cDhQ2wbkH3+iEHfZ5mmu+JnRYETxtRR/Rkw=;
        b=qDlzivs2LnkJFNjj5OFxDTPLpwVszb1CSCzh8TtzfzV/7jPix0kokx5JndoigdX5R3
         Pq4xK5yP7kz8MpkOn+VNvcNTC3bCyJHA7MQQYElVvRyPoRrXe3WuGSQ8wBToHVEufMya
         cLqK3Unu3r6tIq1C85de+/ZW05hMWATcAmJwu8ZtPl5/SFE/30wi+Uy08UDdiqdXJ/8e
         I35fWLsEAOrEC3pVrmrc73oKv18MqADuo4H2SfmtWLrUOrX829snoICajRHLn18RnlCD
         U253/hRuGbG+VMLhic7X1KaLuTfhTfTCMCUKEt5kZpWSZC4uga5IuGfFwf4PiDHu6r9h
         nyxA==
X-Forwarded-Encrypted: i=1; AJvYcCXWGyhYZjyvoDqrGe8FVKDrXGDzbhIig6UKzuPwOdA3ryB5sNU7PcxT50sf2EViazHRuu1VyN1ZYpPJlLbFF8goUSH20+IhfMds0+HXHPQ=
X-Gm-Message-State: AOJu0YzI3rs1/nM3rOkvjt5p03kBcL0FrFCaaPMZ7gcrSasQTF4k35UK
	3usyBkfODGpMUCzw2sb+QkJatAoymP/omh7rR2Qt0GUegBxz2dkEsYwnd72Qihk=
X-Google-Smtp-Source: AGHT+IHQMNOAQSxC3tbdGEz/E9cJa6oMMhcLl0jHBVEJYzC7jv8yY9N+yIUk25rBXVk03whxQHktQA==
X-Received: by 2002:a05:690c:6ac2:b0:618:1202:3222 with SMTP id ij2-20020a05690c6ac200b0061812023222mr460556ywb.38.1713900582903;
        Tue, 23 Apr 2024 12:29:42 -0700 (PDT)
Message-ID: <c38e488c-a3fb-4fcb-bd8c-b33c3fbfc2fa@citrix.com>
Date: Tue, 23 Apr 2024 20:29:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] x86/P2M: write_p2m_entry() is HVM-only anyway
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>,
 George Dunlap <george.dunlap@citrix.com>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <296c3ecc-b04d-4734-a451-0d4f9ed312d4@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: <296c3ecc-b04d-4734-a451-0d4f9ed312d4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/04/2024 3:31 pm, Jan Beulich wrote:
> The latest as of e2b2ff677958 ("x86/P2M: split out init/teardown
> functions") the function is obviously unreachable for PV guests.

This doesn't parse.  Do you mean "Since e2b2ff677958 ..." ?

>  Hence
> the paging_mode_enabled(d) check is pointless.
>
> Further host mode of a vCPU is always set, by virtue of
> paging_vcpu_init() being part of vCPU creation. Hence the
> paging_get_hostmode() check is pointless.
>
> With that the v local variable is unnecessary too. Drop the "if()"
> conditional and its corresponding "else".
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> I have to confess that this if() has been puzzling me before.

Puzzling yes, but it can't blindly be dropped.

This is the "did the toolstack initiate this update" check.  i.e. I
think it's "bypass the normal side effects of making this update".

I suspect it exists because of improper abstraction between the guest
physmap and the shadow pagetables as-were - which were/are tighly
coupled to vCPUs even for aspects where they shouldn't have been.

For better or worse, the toolstack can add_to_physmap() before it
creates vCPUs, and it will take this path you're trying to delete. 
There may be other cases too; I could see foreign mapping ending up
ticking this too.

Whether we ought to permit a toolstack to do this is a different
question, but seeing as we explicitly intend (eventually for AMX) have a
set_policy call between domain_create() and vcpu_create(), I don't think
we can reasably restrict other hypercalls too in this period.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 21:43:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 21:43:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710974.1110562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzNv8-0002Bk-1X; Tue, 23 Apr 2024 21:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710974.1110562; Tue, 23 Apr 2024 21: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 1rzNv7-0002Bd-Ur; Tue, 23 Apr 2024 21:43:21 +0000
Received: by outflank-mailman (input) for mailman id 710974;
 Tue, 23 Apr 2024 21:43:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CNrv=L4=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1rzNv7-0002BX-Fj
 for xen-devel@lists.xenproject.org; Tue, 23 Apr 2024 21:43:21 +0000
Received: from sender4-op-o15.zoho.com (sender4-op-o15.zoho.com
 [136.143.188.15]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d343e5c-01ba-11ef-b4bb-af5377834399;
 Tue, 23 Apr 2024 23:43:16 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1713908590324224.72219716572988;
 Tue, 23 Apr 2024 14:43:10 -0700 (PDT)
Received: by mail-yb1-f174.google.com with SMTP id
 3f1490d57ef6-de54c2a4145so1568752276.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 14: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: 7d343e5c-01ba-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713908592; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=I2CKrchAbM9+Re4wxzNCDdQx2tLJKrH5HzPMESLh9jk1daem1Qi+CBDgsgX0Kw87Krz4KQZaGsm5JiEzWsT2C/IHLyDKEiVB6fBrAsUNhFxguJJy7Us8T5sF4OG2cfMRI/JG875L/uwgXB+12PgprpfPSapT25iUKyfdIO9UWyM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713908592; 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=+ho+z/vBG8zzBJL47nvqisaOHcKNvWKmal8g+lRcZKM=; 
	b=G2ZoATUQDlXAIvSpGfxLzC2fsZvrjRs/4nBScukhfPWOlYnznzH9VlHvynBOMB6HgOpUZ5zqGu4oDN8H1GbN3sJWaIw3k/CtGXYQyJieshnFOLFPaR1Ku0eCMgLW3pFaWz4NIbKj/DjytI7EDRLhuxJVPomEpdedbJYDG/C8W2U=
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=1713908592;
	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=+ho+z/vBG8zzBJL47nvqisaOHcKNvWKmal8g+lRcZKM=;
	b=BwJEtua6PL+yMPPv3U+uh6djrn6kg4y5gLGGciykaaw7SfWP9y5HiJmdboSoubCn
	LM8XH6NCkukorgsIuv9GmCPIyRQhpiXOQYTwsqMunPXRRX5vWcvJJIG3mVJPjrDtLHt
	MtuaCgfirgAjEHtMO3otNL8YvwfmTBN0gXkaa6DY=
X-Gm-Message-State: AOJu0YzudI8f4bzj8o3Thqlmr/B16YwG8ot4+CCF0scWwoLMuuU2hm0O
	GGRbj1gR3iWMNIGkwTcEACD1iV0tLAAJAy67sDQzhmBLKxCSkzeHPNPRm1sPV1J2iCtKPfwO97E
	Tm40nhhCmp4VNuXjpUUasa3hPXW8=
X-Google-Smtp-Source: AGHT+IFWzMTVvkoHyyM5NzNLxXi5UNAgxgz/Z4LgJxcFaTdNRDYCd59hDJ0ol8oj9WdEjpaEwkWcaLsoTszlWV+VhrA=
X-Received: by 2002:a05:6902:728:b0:de4:5c94:f58f with SMTP id
 l8-20020a056902072800b00de45c94f58fmr1061133ybt.15.1713908589437; Tue, 23 Apr
 2024 14:43:09 -0700 (PDT)
MIME-Version: 1.0
References: <4dfbc4c3cfdd36601e0b9b100fa6cd02682be3c6.1713118660.git.w1benny@gmail.com>
In-Reply-To: <4dfbc4c3cfdd36601e0b9b100fa6cd02682be3c6.1713118660.git.w1benny@gmail.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 23 Apr 2024 17:42:30 -0400
X-Gmail-Original-Message-ID: <CABfawh=T-Ca6JLzF8c_J=k+DnyvzzH3B-Pa=dKWT4-bCZ878DA@mail.gmail.com>
Message-ID: <CABfawh=T-Ca6JLzF8c_J=k+DnyvzzH3B-Pa=dKWT4-bCZ878DA@mail.gmail.com>
Subject: Re: [PATCH] x86/monitor: allow fast-singlestepping without enabling
 singlestep monitor
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: xen-devel@lists.xenproject.org, 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 Sun, Apr 14, 2024 at 2:21=E2=80=AFPM Petr Bene=C5=A1 <w1benny@gmail.com>=
 wrote:
>
> From: Petr Bene=C5=A1 <w1benny@gmail.com>
>
> Reorder the condition checks within the HVM_MONITOR_SINGLESTEP_BREAKPOINT
> case to enable fast singlestepping independently of the singlestep monito=
r
> being enabled. Previously, fast singlestepping required the singlestep
> monitor to be explicitly enabled through xc_monitor_singlestep, even thou=
gh
> it operates entirely within Xen and does not generate external events.
>
> Signed-off-by: Petr Bene=C5=A1 <w1benny@gmail.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Apr 23 23:19:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 23 Apr 2024 23:19:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710981.1110581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzPPY-0005Fa-Lm; Tue, 23 Apr 2024 23:18:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710981.1110581; Tue, 23 Apr 2024 23:18:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzPPY-0005FT-JD; Tue, 23 Apr 2024 23:18:52 +0000
Received: by outflank-mailman (input) for mailman id 710981;
 Tue, 23 Apr 2024 23:18: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 1rzPPX-0005FJ-Ca; Tue, 23 Apr 2024 23:18: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 1rzPPW-0002yB-P8; Tue, 23 Apr 2024 23:18: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 1rzPPW-0002Vu-B4; Tue, 23 Apr 2024 23:18:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzPPW-0000U9-Ad; Tue, 23 Apr 2024 23:18:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9ED+pNd1dkoCFDrS7bf4UmL8q6dvZMmyrwzFw9570uk=; b=T9RFHkbUiltPncozd1gc30mZnz
	FCZ36TiJNBc/FR2+BoYIyryqNY/YpVXj/yU0npmqXNtOxW47ebLky+sRJC0+d4tysqdw11mvyiDB4
	hVFL4bGejrW/cfaH+wMJdc6xqPkbfK6aziZKCp/PowVM/beW2BablEEHgbSFqWooN9NA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185776-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185776: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d97f964f7ce063f9861f4d21cc6352f6861f95a8
X-Osstest-Versions-That:
    ovmf=e3fa6986ae8521275fc6ca161f7394a3809f8723
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 23 Apr 2024 23:18:50 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d97f964f7ce063f9861f4d21cc6352f6861f95a8
baseline version:
 ovmf                 e3fa6986ae8521275fc6ca161f7394a3809f8723

Last test of basis   185773  2024-04-23 17:41:11 Z    0 days
Testing same since   185776  2024-04-23 21:41:06 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
   e3fa6986ae..d97f964f7c  d97f964f7ce063f9861f4d21cc6352f6861f95a8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 00:08:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 00:08:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710989.1110592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzQBW-0003SU-4c; Wed, 24 Apr 2024 00:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710989.1110592; Wed, 24 Apr 2024 00:08:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzQBW-0003SN-1P; Wed, 24 Apr 2024 00:08:26 +0000
Received: by outflank-mailman (input) for mailman id 710989;
 Wed, 24 Apr 2024 00:08: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 1rzQBU-0003SD-OK; Wed, 24 Apr 2024 00:08: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 1rzQBU-0004RT-8I; Wed, 24 Apr 2024 00:08: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 1rzQBT-0003iO-T9; Wed, 24 Apr 2024 00:08:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzQBT-0003r6-So; Wed, 24 Apr 2024 00:08:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hZxnq3+8Dg5iRO8pcezA2A8Jx/34yr6ocefN+oKb4OI=; b=dfuLeGKWNiEKG84KoXrqrDk5Zy
	bSdSp6BHHWGP2K4DmdULetGKlUat3AD2BGlJrUSeW7Kxx15UU/0YlKUugjCCK3cveVxcSO+rZFJ75
	4/oDZnaxc4eH5FOc7fGny92NMpA2Vs2cuvB431b2t9QyITGz38m+cfiFang9mceHH/9k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185768-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185768: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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
X-Osstest-Versions-This:
    linux=71b1543c83d65af8215d7558d70fc2ecbee77dcf
X-Osstest-Versions-That:
    linux=977b1ef51866aa7170409af80740788d4f9c4841
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 00:08:23 +0000

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

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 185778-retest

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

version targeted for testing:
 linux                71b1543c83d65af8215d7558d70fc2ecbee77dcf
baseline version:
 linux                977b1ef51866aa7170409af80740788d4f9c4841

Last test of basis   185750  2024-04-21 12:13:57 Z    2 days
Failing since        185753  2024-04-21 22:44:09 Z    2 days    4 attempts
Testing same since   185768  2024-04-23 07:46:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Carlos Llamas <cmllamas@google.com>
  Christian A. Ehrhardt <lk@c--e.de>
  Chuanhong Guo <gch981213@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Coia Prant <coiaprant@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Palmas <dnlplm@gmail.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Hansen <dave.hansen@linux.intel.com> # for x86
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Fabio Estevam <festevam@denx.de>
  Finn Thain <fthain@linux-m68k.org>
  Georgi Djakov <djakov@kernel.org>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hans de Goede <hdegoede@redhat.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ingo Molnar <mingo@kernel.org>
  Jerry Meng <jerry-meng@foxmail.com>
  Johan Hovold <johan@kernel.org>
  Jonathan Corbet <corbet@lwn.net>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Klara Modin <klarasmodin@gmail.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kyle Tso <kyletso@google.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Tipton <quic_mdtipton@quicinc.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oliver Neukum <oneukum@suse.com>
  Paul Cercueil <paul@crapouillou.net>
  Peter Collingbourne <pcc@google.com>
  Randy Dunlap <rdunlap@infradead.org>
  Richard Genoud <richard.genoud@bootlin.com>
  Ricky Wu <ricky_wu@realtek.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Steve French <stfrench@microsoft.com>
  Tejun Heo <tj@kernel.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thorsten Leemhuis <linux@leemhuis.info>
  Todd Kjos <tkjos@google.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Wentong Wu <wentong.wu@intel.com>
  Xin Li (Intel) <xin@zytor.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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
   977b1ef51866..71b1543c83d6  71b1543c83d65af8215d7558d70fc2ecbee77dcf -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 01:19:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 01:19:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.710998.1110602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzRHe-0002KG-7g; Wed, 24 Apr 2024 01:18:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 710998.1110602; Wed, 24 Apr 2024 01:18:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzRHe-0002K9-44; Wed, 24 Apr 2024 01:18:50 +0000
Received: by outflank-mailman (input) for mailman id 710998;
 Wed, 24 Apr 2024 01:18: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 1rzRHc-0002Jz-1b; Wed, 24 Apr 2024 01:18: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 1rzRHb-0004Zp-SR; Wed, 24 Apr 2024 01:18: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 1rzRHb-0005MZ-IA; Wed, 24 Apr 2024 01:18:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzRHb-0006Qt-F3; Wed, 24 Apr 2024 01:18: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=PeVMJnttt53944dwbzujZN1NDiZiD1XfIHdxInLYdbY=; b=T0ZNaLPDuA5Jkui+ZUtdesadOH
	GRQgWJJVP4ETkmkKrnsWn3gFVkor5sDE0tqaoi84w7G2O5ucgh41xJTt0CZrYLMAFxUMe9xbmEVuk
	SaeofN8ZUF9MKX4QephTsGXiobMJIVN0X6Di4C0yeym5eWzpYe2JUf/MFWFbVZEl3emA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185775-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185775: 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=77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
X-Osstest-Versions-That:
    xen=cccb7878f386fb8691b7e28957a562a66d9b875f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 01:18:47 +0000

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

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                  77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
baseline version:
 xen                  cccb7878f386fb8691b7e28957a562a66d9b875f

Last test of basis   185760  2024-04-22 14:02:06 Z    1 days
Testing same since   185770  2024-04-23 13:00:23 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Leigh Brown <leigh@solinno.co.uk>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@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
   cccb7878f3..77e25f0e30  77e25f0e30ddd11e043e6fce84bf108ce7de5b6f -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:27:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711006.1110615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTHn-0000hW-4y; Wed, 24 Apr 2024 03:27:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711006.1110615; Wed, 24 Apr 2024 03:27:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTHn-0000hP-1M; Wed, 24 Apr 2024 03:27:07 +0000
Received: by outflank-mailman (input) for mailman id 711006;
 Wed, 24 Apr 2024 03:27: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 1rzTHl-0000hC-92; Wed, 24 Apr 2024 03:27: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 1rzTHl-0007IJ-26; Wed, 24 Apr 2024 03:27: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 1rzTHk-0004Ro-Mw; Wed, 24 Apr 2024 03:27:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzTHk-0008LP-MK; Wed, 24 Apr 2024 03:27:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gBEO2nz7goBiirCRfvr9f7DF/IinrfaX9ch3RqEVUXg=; b=aPsRHd5AIR9y4KD42y2Y4UtAnd
	NCxbQD5x63Jyx0uA+Awt9cEcacKP6ipc82JWuZYTxhloasfsgu3cowUINq1OmJEMWhstX6MYmiQkX
	0CqopLnTrjN6ytFhjP+8DE/j5rxg4/n2slYPlO7seiH+tfcCOI1xiM50cJ2j1Q5in5hI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185769-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185769: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 03:27:04 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops               <job status>                 broken  in 185433
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-libvirt             <job status>                 broken  in 185433
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 185765 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185769
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433
 test-armhf-armhf-examine      8 reboot                     fail pass in 185765
 test-arm64-arm64-libvirt-raw 13 guest-start                fail pass in 185765
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 185765

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit1  19 guest-start.2           fail blocked in 185168
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 185433 like 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 185765 blocked in 185168
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 185765 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 185765 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-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:
 linux                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   28 days
Testing same since   185433  2024-04-13 11:16:55 Z   10 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-arm64-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:35:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:35:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711016.1110645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPb-0002nY-I5; Wed, 24 Apr 2024 03:35:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711016.1110645; Wed, 24 Apr 2024 03:35:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPb-0002nN-F3; Wed, 24 Apr 2024 03:35:11 +0000
Received: by outflank-mailman (input) for mailman id 711016;
 Wed, 24 Apr 2024 03:35: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=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTPa-0002In-EE
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:35:10 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:200a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a525c537-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:35:08 +0200 (CEST)
Received: from MN2PR20CA0021.namprd20.prod.outlook.com (2603:10b6:208:e8::34)
 by DS0PR12MB7680.namprd12.prod.outlook.com (2603:10b6:8:11c::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:35:04 +0000
Received: from MN1PEPF0000ECDB.namprd02.prod.outlook.com
 (2603:10b6:208:e8:cafe::87) by MN2PR20CA0021.outlook.office365.com
 (2603:10b6:208:e8::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Wed, 24 Apr 2024 03:35:04 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECDB.mail.protection.outlook.com (10.167.242.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:35:04 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:35:04 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35: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: a525c537-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JoPK4Jtfc5aTxJoZP3cA2KnDZXMZ16X2SN3dByJU4IAZJ3gu1npJCvlcgX9LFBfK335WhG/nSdR/xdSdcm5tESkD4i0Wqx7nqmmQBiIwA5dkoJzr6Ro5OmGoWNWcfNAHYK7AtuW6eGzg/XBWSDkdh6CRgK719ff1LbW9TXBzthSKHS5UXT3k56WEF7xnbDnOaMqmo8JEmCrYvm4LZ6oxQpqhekh24uHXsfnxgmG47cjQxttBu+yG7lRjoh6oFPJPGYoopKVzboHY24RBE3oYd7KQELiPqYWddga2Yr2o38iDSVS6Ce8rF8P+cw61PLehWjO7nqw1DrmC1wiJiPUzOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mRz8rsYNOg7W8p6WCOVFtK/rtd0GqejAmZ7U+c2Atjk=;
 b=VwBwgNovkKBfqeElHufhdZxuS3xablGa4lsGyQHKMOh3n9T6rjlChgX23rXQqOu1GOzyHakJ2uJZYmxCYr6tGe+jo/Yfw6exJjQI7x0kXOsJqnUF3xPFnjFV4u3SGwBdu0svzFqpc5sHG3qllg1mkjorbdrA5VS4hHP5AwTBiupS1nBJf1Mjqe35MNf9+hDkdg9J9Efc3Ue4ECU4CbUuXUUHuXI9Li8Wf5uw5B2XlJJ4EdQEV3QDvbmSZSX5TLC7t/51vbxWeex1QG70WSUY9f4hOGFArmtWlvQnMLobrqt109OLpbF2yFinFWaNRl6z9coGfpr9DyFgaG1TUvfjcQ==
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=mRz8rsYNOg7W8p6WCOVFtK/rtd0GqejAmZ7U+c2Atjk=;
 b=dEWKSDVl/TkuQjzuchM1mDVKmCH/b7/qtN8Qg1hUvOEP9DjxAeTe7cKDVCJgS1SNHASRIv/mbEHB4wmW2+E5ET1uZBmzIncY+fojKFprU0ipxp9xvgtbwTzTPmUuKiDn1wKGLHDrG/xyC9d47F/nmkere+Tqe5OKDxSi+0To7hk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 02/15] xen/arm/gic: Enable interrupt assignment to running VM
Date: Wed, 24 Apr 2024 11:34:36 +0800
Message-ID: <20240424033449.168398-3-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECDB:EE_|DS0PR12MB7680:EE_
X-MS-Office365-Filtering-Correlation-Id: 59ed944a-8879-47d4-4eb9-08dc640f8801
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?gy/DhkHsf1PBtujLtrnvaDMkm/tllfcv5PM+8bT1T3vXe7n9QB5UvmIY7Ajl?=
 =?us-ascii?Q?i2MdspljOIRjh/IJasxK9TVuuvkK+d7uV9f99ZgxPEcGI/qcmAX7Az+jGASm?=
 =?us-ascii?Q?+//7T50QL/arMV8d0PZ7vqqIeMrcul2gRtXxoQGJFM3LNha8FzfwlPri/bKK?=
 =?us-ascii?Q?fmd85Tv8P9VhtAZhZrgudvMv+BGa0gG+ZWsbVsbiXTVcFbx+3xQzjo6Tajpj?=
 =?us-ascii?Q?hi17PuVMWdJEcszp6e9gs5Ky66XkhATqDXOilJs0658vO/dhQu1QFMtScuMC?=
 =?us-ascii?Q?fYptWyquaBPytBjxH/lpNYFmNkM6jBX0SkZjQRctqgowz0XfhCW52bnQ3kV3?=
 =?us-ascii?Q?SEJV8AGD+j3qfjZQ97G432oR95jyvYB+Dl14Qc2qakEeVTguNXK0zDmVloxP?=
 =?us-ascii?Q?AJ+dSa0Ag97ABYG6Pu6Wm0CIw29hqNn2A0Y8ZoWdq679bYHLPnPiPbh0uiIL?=
 =?us-ascii?Q?ckLiM9KKNzkWdPGaU7NTyojXSdquGELKuOwlVfmTLNEDQHpZF7f5VpI9DK4y?=
 =?us-ascii?Q?pUYXKpQiCSCUZtuQOa4qydsuVZDQG/0jGlIxaEfXorwPSvSyOuX2ecNgNiQC?=
 =?us-ascii?Q?GgTdu9w0jPg5cN9MS4rLi3ivKuTa1zxZvWT/P0O/TkkaDxw3Kkksx34akkvp?=
 =?us-ascii?Q?A4rc7Mu5+aUQ9j4rXNdibGEAJBktEVMuZ4rb9/3+/ibLS00aT/uGQoW594vV?=
 =?us-ascii?Q?gvQeRPIFjK5XGZst5nVgWzIut83FCzJ2J+0S1uR4wKVepHuTEopMaAV44bmB?=
 =?us-ascii?Q?juyXktoIVide9U14JRk//LUPfIwcRBHp1lc4mfMxLRoC110F7ZsV6V7dmBdk?=
 =?us-ascii?Q?DjWtzMNd6UQHZucKeBvxGlseALc7p89ggPVHjFfGUJ5TJz0T4myCFl3sc3ei?=
 =?us-ascii?Q?fh/z6yOrU5ND8xYRlxXoQKMKm1W22qa4M54iqjWanx8jL+M5FFBfFPLl+tmV?=
 =?us-ascii?Q?yYJN8idjsvZJBAYJ7H6UUfzDXfWchFrvRgKqIaC32USk9HrVxrszhxz8aTog?=
 =?us-ascii?Q?X7rpgGvYDoJ1KMWmI4J1I46uY7txSN7oBf5tvZI5eJEWvYPwVIHTi4zb29iW?=
 =?us-ascii?Q?PnRlqssz7TgCteO5LGMDCOAi1kIphE8C7gmpbFPP3JZBm231DfFpc2LETFmX?=
 =?us-ascii?Q?ATBWnRWNiOM4o3ZJ/GWQfKDil5HqG4eKveesW4dmSe4eLmT0iDBoc6y4sVrl?=
 =?us-ascii?Q?HKcC67helCPZZXpm82BUdYDbv8MwClTxUxPdqpcnv47P9gOFu3QsQgt7WOLU?=
 =?us-ascii?Q?iGYTi8k++qILUnSC1c6y3cavAu6bN8BJucxluO5Q1BrGNoUF9fTd4DA24GjG?=
 =?us-ascii?Q?imqN7Zd4fCSGq7bHTY2X8ArU4yIlrAQ1o0ZV0J3losRT+CgOQSILmj28n2hd?=
 =?us-ascii?Q?0E8EGKC2ByGOhQnSUJu1opJSfwjj?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:35:04.8373
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 59ed944a-8879-47d4-4eb9-08dc640f8801
X-MS-Exchange-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:
	MN1PEPF0000ECDB.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7680

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Enable interrupt assign/remove for running VMs in CONFIG_OVERLAY_DTB.

Currently, irq_route and mapping is only allowed at the domain creation. Adding
exception for CONFIG_OVERLAY_DTB.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 xen/arch/arm/gic.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 44c40e86de..a775f886ed 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -140,8 +140,10 @@ int gic_route_irq_to_guest(struct domain *d, unsigned int virq,
      * back to the physical IRQ. To prevent get unsync, restrict the
      * routing to when the Domain is been created.
      */
+#ifndef CONFIG_OVERLAY_DTB
     if ( d->creation_finished )
         return -EBUSY;
+#endif
 
     ret = vgic_connect_hw_irq(d, NULL, virq, desc, true);
     if ( ret )
@@ -171,8 +173,10 @@ int gic_remove_irq_from_guest(struct domain *d, unsigned int virq,
      * Removing an interrupt while the domain is running may have
      * undesirable effect on the vGIC emulation.
      */
+#ifndef CONFIG_OVERLAY_DTB
     if ( !d->is_dying )
         return -EBUSY;
+#endif
 
     desc->handler->shutdown(desc);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:35:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:35:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711014.1110625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPZ-0002J7-1k; Wed, 24 Apr 2024 03:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711014.1110625; Wed, 24 Apr 2024 03:35:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPY-0002J0-Uk; Wed, 24 Apr 2024 03:35:08 +0000
Received: by outflank-mailman (input) for mailman id 711014;
 Wed, 24 Apr 2024 03:35:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTPX-0002In-9K
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:35:07 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a2c7f7d7-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:35:04 +0200 (CEST)
Received: from MN2PR20CA0015.namprd20.prod.outlook.com (2603:10b6:208:e8::28)
 by SN7PR12MB6931.namprd12.prod.outlook.com (2603:10b6:806:261::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:35:01 +0000
Received: from MN1PEPF0000ECDB.namprd02.prod.outlook.com
 (2603:10b6:208:e8:cafe::e8) by MN2PR20CA0015.outlook.office365.com
 (2603:10b6:208:e8::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.31 via Frontend
 Transport; Wed, 24 Apr 2024 03:35:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECDB.mail.protection.outlook.com (10.167.242.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:35:00 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:35:00 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:34:59 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:34: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: a2c7f7d7-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fg3ahqCV3rveQ+wJD5cgRjWa9VjEjxPsvWqjFZTTPMWlNdIkIyGwX10jNxEv3qx9vkXPJEvBGYf+vLRhpPmEO3wwPO/qS7n6VtXIq+0kZXRynXcyHtO/r4tMiU2JkSp6UFbtK5RvDXSlWqq1faz3XJZXUZF3BAXf4redcHYyVcAMA0uKb3p9FvFyvJA+G7Mi92ELhMBjZezrnFq9ob/iVsdYlYGZScIJYXXcEvNlvFom6uuF/62UlttRnJiji11qQqlGzyxBnI6BeMzdSLayJ/7+aT7034HKXBNhtfs9NHqNS0ysfd4wB2fTHmppjNXngevvzqdKwl0vcw/OBBrMmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i8xiVSK43JcuQ2nthoi/16vjOz+ZRWIMT3UJle6ixKY=;
 b=jPGyE1+6Y1ZkNe1YepJU1VzXoQBe3lvC6MYIZhB6UI92S3KaAJO3qWhifa/BuH7zvuC49JSEtIrI0hD7rgk1GmsQSAsREF/MYAyAuQBjEF2RAMZTZwKsLSBRvg6zR0IcfYFb62MNuWOUhJCGUWKdL/0po5JPRXR/sRe/gcUbGvENcYtJPFJ9fQBmvIrpSBFTpOcty9NJsnOIahFHy0v3iJ0d/qUBs1NsD84mzEiO+JVrEAoyAmi1pbZKnxCR17e9gI+hhfeFi59bkWDSfrFxV2c1xRk0iiE+WqcGS6cpvK6+ws7Bm88/391hTtJ+GWsO86KN2cY95O11E0zUIaQDEA==
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=i8xiVSK43JcuQ2nthoi/16vjOz+ZRWIMT3UJle6ixKY=;
 b=pqqbba8rBWwPSfbnA2K5pAJwJn1QjNGBcHXI6DKQ9LQfuQU6DRxCk9alArlFhOvUE2ZjRDq4Y+oHEs9tbNGFhUX3NOQ8w7tC5AviKiya4gB+zS3Nbo9aHRLgngIeaGMnUGOMWaTuLWmjp34pjPwN+eb1wWtK/GDtPGwdNBBk9do=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@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>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>
Subject: [PATCH 00/15] Remaining patches for dynamic node programming using overlay dtbo
Date: Wed, 24 Apr 2024 11:34:34 +0800
Message-ID: <20240424033449.168398-1-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECDB:EE_|SN7PR12MB6931:EE_
X-MS-Office365-Filtering-Correlation-Id: 5007a93b-7ff4-4aef-6e36-08dc640f8576
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WS9mZzR2dFhjMlVlbVdocGRwQ3pEK3NzeTRyK0IzSkJHanIxeVVSa0lVWjBr?=
 =?utf-8?B?YVk1dE9PeTRzODFuQ0I0RFJxT25WMzRST0xwNGRWVDdHc1diU0JJM0x6UG0z?=
 =?utf-8?B?YndOd0FORDVBemRvQWtnUEpiMmxKdncyZ1BXUkJ3T3VKUGtBNkppSWZUbmQ5?=
 =?utf-8?B?aUZwbXpyOFE0dTdBTVE5S2pWVWV6ckNHNlZSTGUwMTBSN2dKSjNXdUpNR2Jw?=
 =?utf-8?B?ejhDU0pXZnZyclZSKzVhV0p2MDhERjRPKzh5RXFWZ1R6SmpxajRJUlNob2JS?=
 =?utf-8?B?OTdNZUFFYVpLZVNScXdYZlNKVTE3UVNTRW5EUnZWM2IwUDZjQnZtdGdtRm5q?=
 =?utf-8?B?WHhmS0gvWTdpM0Nkc3FoN2xnWUE2VTBIRDVjVzZOWm9VZG5vMGNwaVg4VVhI?=
 =?utf-8?B?eERaVnQveS9DY09aYjVUWlpDa2gwOXNEaWdwcWpuRHF6cElyK3liZUNuckJC?=
 =?utf-8?B?R3BjMy8yaHBmd0RCdi9RdFFsSFI3ME1hblVOa092MUQ1blpVWlpTU2RvSDdv?=
 =?utf-8?B?UWMzN3ZRZlhZdjBmRmVZUkp1VUlEMjh6R0gvWmx0WjdHN2t4S29qc1ozWXJF?=
 =?utf-8?B?NlRJSzJYb1UzNFRYUzBsd09kSkZkaExid04zVGxaL1JiQzBhMmF0MmErSnVl?=
 =?utf-8?B?U3MvL0JhQWx1UWdISGdFOExvR2N5ZkRPWXhXQ3JXckpzdDZsNXBNSUxLSmxC?=
 =?utf-8?B?Qzh4M3VQM1BucnNvN214U1l3UVdEQjErRCtLMHBQWTVHU0NTWnc5eDl0MG5Q?=
 =?utf-8?B?L1d4cUZyM3A5QUdObEZGWVJiOEd5S0F5U1I5QWZReGZpN0doWktWK3Y1NXVu?=
 =?utf-8?B?Lzk1YzFRNG55d0NXeGlmeU1HV3llYjlSZHEzRU5vWjFycVBRdTZGYis1T1o5?=
 =?utf-8?B?MS9zUTdJckF2Zkg0U0JUZ21NbmdtVjRXNkJiUTV6UE1CSXFCSk85c0xOalpS?=
 =?utf-8?B?NElHRTlmdkFacGNKTmdhVjFnNitlVzBWYWNBd0c3MHE4R2hnTWlxeG5TMlhi?=
 =?utf-8?B?VHhtTnZRVEw2T0NTOXlSTGVabVBsMHJ3Vnh2WUcyNUIycWZxQmc1VnNDQlpU?=
 =?utf-8?B?djF5VXltSERaYmJSVkVIOUtMOW9Qd1B3Tk9pL2JCcVBUNERtY2IxNmd3ZHk4?=
 =?utf-8?B?STZCREUrSnZicHFCSUV0ZEVyWkFyM0psTURXNmRQQ3Fsak5jUDV5UU9zZEN1?=
 =?utf-8?B?M3NseHVuQ2d6TDEzOWU5cFhjdjZ4WlR1VCtFS3ZUT3F4QXpkaEllbGtNa2Nt?=
 =?utf-8?B?WkE3TWxma1JKZmdhaUZGVkVpNVhhVUxPVXAvNlNIRUl2Q3MzNjQvbXNaUEo3?=
 =?utf-8?B?ZGZhMS9hYWVmREplaUl2NXcvOVZOVUxZNy9VelJtMDhKREtQNGw3bDM0eGdz?=
 =?utf-8?B?YkNsTTY2SEVtZ3NFQmRoak0vaTlqMGRVMk9TUncrRjVucEo2YW82V3ZjSnkv?=
 =?utf-8?B?ck0ydnhYczJRdlZialJQVHNmZWJKMURSK2M2MmdFQUtqOWxLMUZ5VnQvSlho?=
 =?utf-8?B?ZXJyclo5YzU1ZDBKNDMxK3drNjE1MFkyWTJQVmI1czdOWWE2UXVyMXljL1BD?=
 =?utf-8?B?WUZGaC9zaTVHQlNRcVBaT3VoTCtTUWl3V2ZqNm1HOExVWXB2TGh4MTQ0bitP?=
 =?utf-8?B?SWYwb1M3K1VtTkgyVld0aDVhcXFGaElXUG1QREw5SSs5Rmdxby84VGo4a0Ri?=
 =?utf-8?B?bjNiS3pYMFBvQS9lclZCTFRtcWY2RlJZZVJlNDBUUFJpdWx4SU9qUmlQb2Qy?=
 =?utf-8?B?dmZodUc5a1pTVWw3bzlYWXprYXlvWlRFVURZMFZhbk5RTmdPTG02YjNDWWli?=
 =?utf-8?B?ZXBlMHdCOVlDUzNHUm5CTHhrb1cwT1FRYlpJVXR4WTVYUnJkTlQyK2NHMGx3?=
 =?utf-8?Q?qxNmxJbAv8lcQ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:35:00.5717
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5007a93b-7ff4-4aef-6e36-08dc640f8576
X-MS-Exchange-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:
	MN1PEPF0000ECDB.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6931

Hi all,

This is the remaining series for the full functional "dynamic node
programming using overlay dtbo" feature. The first part [1] has
already been merged.

Quoting from the original series, the first part has already made
Xen aware of new device tree node which means updating the dt_host
with overlay node information, and in this series, the goal is to
map IRQ and IOMMU during runtime, where we will do the actual IOMMU
and IRQ mapping to a running domain and will call unmap_mmio_regions()
to remove the mapping.

Also, documentation of the "dynamic node programming using overlay dtbo"
feature is added.

Patch 1 is a fix of [1] which is noticed during my local test, details
please see the commit message.

Gitlab CI for this series can be found in [2].

[1] https://lore.kernel.org/xen-devel/20230906011631.30310-1-vikram.garhwal@amd.com/
[2] https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/1265297506

Henry Wang (1):
  xen/commom/dt-overlay: Fix missing lock when remove the device

Vikram Garhwal (14):
  xen/arm/gic: Enable interrupt assignment to running VM
  xen/arm: Always enable IOMMU
  tools/libs/light: Always enable IOMMU
  tools/libs/light: Increase nr_spi to 160
  rangeset: Move struct range and struct rangeset to headerfile
  xen/overlay: Enable device tree overlay assignment to running domains
  tools: Add domain_id and expert mode for overlay operations
  tools/libs/light: Modify dtbo to domU linux dtbo format
  tools/xl: Share overlay with domU
  tools/helpers: Add get_overlay
  get_overlay: remove domU overlay
  xl/overlay: add remove operation to xenstore
  add a domU script to fetch overlays and applying them to linux
  docs: add device tree overlay documentation

 docs/misc/arm/overlay.txt           | 172 +++++++++
 tools/helpers/Makefile              |   8 +
 tools/helpers/get_overlay.c         | 507 ++++++++++++++++++++++++++
 tools/helpers/get_overlay.sh        |  81 +++++
 tools/include/libxl.h               |   8 +-
 tools/include/xenctrl.h             |   5 +-
 tools/libs/ctrl/xc_dt_overlay.c     |   7 +-
 tools/libs/light/libxl_arm.c        |   9 +-
 tools/libs/light/libxl_dt_overlay.c |  90 ++++-
 tools/xl/Makefile                   |   2 +-
 tools/xl/xl_cmdtable.c              |   2 +-
 tools/xl/xl_vmcontrol.c             | 539 +++++++++++++++++++++++++++-
 xen/arch/arm/device.c               |   8 +-
 xen/arch/arm/dom0less-build.c       |   3 +-
 xen/arch/arm/domain_build.c         |   2 +-
 xen/arch/arm/gic.c                  |   4 +
 xen/arch/arm/include/asm/setup.h    |   3 +-
 xen/common/dt-overlay.c             | 223 ++++++++++--
 xen/common/rangeset.c               |  31 +-
 xen/include/public/sysctl.h         |   4 +-
 xen/include/xen/rangeset.h          |  32 +-
 21 files changed, 1654 insertions(+), 86 deletions(-)
 create mode 100644 docs/misc/arm/overlay.txt
 create mode 100644 tools/helpers/get_overlay.c
 create mode 100755 tools/helpers/get_overlay.sh

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:35:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:35:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711015.1110630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPZ-0002ML-9q; Wed, 24 Apr 2024 03:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711015.1110630; Wed, 24 Apr 2024 03:35:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPZ-0002ME-5y; Wed, 24 Apr 2024 03:35:09 +0000
Received: by outflank-mailman (input) for mailman id 711015;
 Wed, 24 Apr 2024 03:35: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=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTPY-0002In-KE
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:35:08 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a506c8fc-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:35:07 +0200 (CEST)
Received: from MN2PR08CA0027.namprd08.prod.outlook.com (2603:10b6:208:239::32)
 by PH7PR12MB6883.namprd12.prod.outlook.com (2603:10b6:510:1b9::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:35:02 +0000
Received: from BL6PEPF0001AB76.namprd02.prod.outlook.com
 (2603:10b6:208:239:cafe::23) by MN2PR08CA0027.outlook.office365.com
 (2603:10b6:208:239::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:35:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB76.mail.protection.outlook.com (10.167.242.169) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:35:02 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:35:01 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:35:01 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35:00 -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: a506c8fc-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TKcmzpVfrV0OOl/Xn5jD86M501YCBgGcvdy/QkucbZP0WwkqcA8JZeft7D+m7hF85uDPpS9RG0ckJX+I+3MqzjfdIPljPCwKBbcMBFEUh3bMySFY+Q3F9Z3K6lmxk3KnLJSALP8ZmRL1y8qMHW5uZ09HIXviT3j+fp6mi+AH1gGQmMJdLS4vIAXc+GUZijgGhvkFfxGTRnF0jIG3Nblk911f4J/lqDTyiaURFEyEc5z2Td/kpkV2R1xgu68Nwc56Z6UA/Uj1Xky6of7uXGGY2s7XoiriADo+8J9rIGFePf9excNzq93AbqmBG7y4mzvOUlA19cxz4bqxdOzHPE+Klw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mKgf7DQIPcUhTaQ2T+Lk3ZgLl1QF9wZZ5t5/Zbs5z1s=;
 b=ZL4lOzx9nTXHP6vtm48w89FS4esaZDN0RNUSVmxOzRSV9yFk/ioJvhQFz97l8SMwb7yAQ2YNbu8qM/ZC7Fi8jUNRmdVCy+ZIzxpzgbQ6yRFlbXE08sMQRoHreCE8SKDn3IIrLiV9aeDWYxbMxS0TbHiUdxWN9LHeL0x3NggwY+waJ6j5en87sjJ35eDgCaDGQEABFm9gz3M3jlvk5/1V7SHEFcc/OHv3sVZIGGrg8yQMBRR64cj+jp4Av4RmZB52dVTX7WN0BNIeky2kbk1246qlQ+hv3O3E6A9yIR7EGx2q4Q6hNInAWSZAWmo7L68h045shtF365IutRt9eP/pQA==
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=mKgf7DQIPcUhTaQ2T+Lk3ZgLl1QF9wZZ5t5/Zbs5z1s=;
 b=JzIOuo2GWZrZvbIr8LC3wec425bA6pdUsqYx3m6GIBKRrY25729GkWhMDge39hTGP+OsH1ONRFlvFw7kxFANhAfHwTU+zfT4n5fT83MMQ8nzRm2wK5uh5/+gPIRoTR8T+xSOSGf25B8OUfnC7cX51A/2YrkWFqTkfv7GqOVgxs4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Subject: [PATCH 01/15] xen/commom/dt-overlay: Fix missing lock when remove the device
Date: Wed, 24 Apr 2024 11:34:35 +0800
Message-ID: <20240424033449.168398-2-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB76:EE_|PH7PR12MB6883:EE_
X-MS-Office365-Filtering-Correlation-Id: e1e1d811-7580-4ca9-142e-08dc640f8672
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aVBLSERGK0R6VnRMbXlFWEZTRVNTbkJXUjJST0lpMGE2YjJQelNHYXl3bWRQ?=
 =?utf-8?B?K01zOG1NWXpTM2sxK3Y2bzNNZG9kSkNIbm5IdzI5ZGFsZmhzU0c2NlI0ay9B?=
 =?utf-8?B?N05uZzZJREt4anAwZlplM1BTVmQ5cVNzRFZ1c1BZZGZ2c3I0WFVpeTgveXda?=
 =?utf-8?B?bDBicWEyaUJnai9STVN0SWVHRkdIVEZFcTVtNzFBR3VyTmdOVWJsN3hnZTVY?=
 =?utf-8?B?SXphdVNFdHNpdWZKZ09OVVFIcWRaV0pXTE8xQlhoaUdqODRXVERTWTNJVjd3?=
 =?utf-8?B?bnRQWE1ITDZMZWRRYXU4bFFVSDQzeE9HVzRIeGI4VDZJMDVlRUZFQ3h1OXNR?=
 =?utf-8?B?VkQ0ZWRtR2NXaldXWUJ3RjU1MGppODk0bW9iV21Uak9NdFd6MktobXJjTnd3?=
 =?utf-8?B?TjlBOGNEVGg3dnYzZTRzWTZ6YUNzWm9JNjZKdm9TWWxPamhqcHhLR2VDUmFD?=
 =?utf-8?B?Q2IzT3h1bGU0bDVteE1hNTBxRWx0TkpIejU0RytwalBkZDU1SkdPcHVQU2NM?=
 =?utf-8?B?WmNWNCtyKzNhN3YwNVptcnZVVUg2SDRoMENBMSsvQ3BPVzh5YnM3c2Q1bkhR?=
 =?utf-8?B?R01QeVFZTUJBVFpucU92alZiVFVpbklxZ0dndGQ3SzRjcmJRMEo0c2NUWXpT?=
 =?utf-8?B?ek9DeUpMZ0NvNHlMNFJFallidXk2dG1ySEIwenVkTzV2Vmg3aWhkUmF1N2N4?=
 =?utf-8?B?REY0TkZHU1hmaEsvMktFQ1dmaFhXbytBV214bmVtZ2pyYWlBOWRQRzhkQlVD?=
 =?utf-8?B?NmFHSm1TNktjRHZiSkErcVNCSGZ6eXVDZE9XY1U3TVpCOFZtN3MzeDk2aGFF?=
 =?utf-8?B?bkpWeS9ZM04rOFdSQXhkQWltWG10eEJNV3BEdTUyTjM1eTF1YXhQdTlFbDR1?=
 =?utf-8?B?eVBvcDV5V2wzMlo1YTZuVWo1NEx2NWI3QnFUc2NPUzNxZlhBZ2hVZkU3NG1m?=
 =?utf-8?B?emVFZ3hXWmRlcWVLV29XdUF6OGRIbnB1TWxlbExmNmIwUmE5OHVYOVQ4bEJn?=
 =?utf-8?B?OXE5aWdwYXRMSkZ1bmhoeTdtdUZ3cDJqWVJBUGdRL2JZa2E0em1LU3NYTTBP?=
 =?utf-8?B?TS9IbkpXWjdJSHJZZFQ2elJNK1JBbExvSkdBb2xnWnIwQW5TUjQyZlNjWG9B?=
 =?utf-8?B?RHk1eElrY0Q3a29OWTNwZW9DVTYzbXFaT2tKYk11NUhxUnQ1M3piaThhZ1Fx?=
 =?utf-8?B?S0pXZnJlNVRQaGFqZjl4cWN3enpmL3R3dGNMTngzQlhEMlNtSGtiblJReFF1?=
 =?utf-8?B?eTJ1OVpNbDBFR3JXWE5idnVGaWJ5aW5qeVdpcEJVeUdRaHRWMFkyR3R2eDVE?=
 =?utf-8?B?cUE5T3ZqYWFVdEYvakJJK1NJbm56c09VS2lRK1cyS1ZKLzhueFcwNUgxZVVt?=
 =?utf-8?B?UWZNYlNxVW9jMXQvQURRQjRyQTBNeU5JT3FDWXFISmI5ZjNQaUdFbzlUanhS?=
 =?utf-8?B?WVBkWnFvRDJSemJqZHpSTFpDZGZyT21ZamR0OW1Eblk4cU9mTW13OUdQTmdO?=
 =?utf-8?B?WU5GYTJ2QVFnWEw0bHdWUmRjVEZ4RmdHSDljS3BSNUlITTdzVnl5WmZpMjBU?=
 =?utf-8?B?My95SFlUdWdNdmkyb1RReVpuNlBFbE5nSVY5OC9wZ2RvOThpdFFRMGo4emNL?=
 =?utf-8?B?SVAxMHZlTDhoTzN6TjNCTEZGUWNRVEcxVTVwN3VMRnJLR2lyY0o4TmZTU1Jn?=
 =?utf-8?B?SnZmMWtXM0x1WVp5a1ppOERLZzZabkp5WGVtNG1BS1h6YWoyMFNVRXRzSXpD?=
 =?utf-8?B?TTFCZEhwdG0zWHpNdTRFNXlnUEZUS1pTUTcvWTgxRkg0Q2RMQ1A3bHhhVmt3?=
 =?utf-8?B?bjE3UmtzaDRLaE1JODVjUi9oelpLUjZQdVo5UE4wejVzVXNMTWhhS05NSjJJ?=
 =?utf-8?Q?KwuzDDC65p66t?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:35:02.2209
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e1e1d811-7580-4ca9-142e-08dc640f8672
X-MS-Exchange-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:
	BL6PEPF0001AB76.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6883

If CONFIG_DEBUG=y, below assertion will be triggered:
(XEN) Assertion 'rw_is_locked(&dt_host_lock)' failed at drivers/passthrough/device_tree.c:146
(XEN) ----[ Xen-4.19-unstable  arm64  debug=y  Not tainted ]----
(XEN) CPU:    0
(XEN) PC:     00000a0000257418 iommu_remove_dt_device+0x8c/0xd4
(XEN) LR:     00000a00002573a0
(XEN) SP:     00008000fff7fb30
(XEN) CPSR:   0000000000000249 MODE:64-bit EL2h (Hypervisor, handler)
[...]

(XEN) Xen call trace:
(XEN)    [<00000a0000257418>] iommu_remove_dt_device+0x8c/0xd4 (PC)
(XEN)    [<00000a00002573a0>] iommu_remove_dt_device+0x14/0xd4 (LR)
(XEN)    [<00000a000020797c>] dt-overlay.c#remove_node_resources+0x8c/0x90
(XEN)    [<00000a0000207f14>] dt-overlay.c#remove_nodes+0x524/0x648
(XEN)    [<00000a0000208460>] dt_overlay_sysctl+0x428/0xc68
(XEN)    [<00000a00002707f8>] arch_do_sysctl+0x1c/0x2c
(XEN)    [<00000a0000230b40>] do_sysctl+0x96c/0x9ec
(XEN)    [<00000a0000271e08>] traps.c#do_trap_hypercall+0x1e8/0x288
(XEN)    [<00000a0000273490>] do_trap_guest_sync+0x448/0x63c
(XEN)    [<00000a000025c480>] entry.o#guest_sync_slowpath+0xa8/0xd8
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Assertion 'rw_is_locked(&dt_host_lock)' failed at drivers/passthrough/device_tree.c:146
(XEN) ****************************************

This is because iommu_remove_dt_device() is called without taking the
dt_host_lock. Fix the issue by taking and releasing the lock properly.

Fixes: 7e5c4a8b86f1 ("xen/arm: Implement device tree node removal functionalities")
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 xen/common/dt-overlay.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index 1b197381f6..39e4ba59dd 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -381,9 +381,14 @@ static int remove_node_resources(struct dt_device_node *device_node)
     {
         if ( dt_device_is_protected(device_node) )
         {
+            write_lock(&dt_host_lock);
             rc = iommu_remove_dt_device(device_node);
             if ( rc < 0 )
+            {
+                write_unlock(&dt_host_lock);
                 return rc;
+            }
+            write_unlock(&dt_host_lock);
         }
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:35:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:35:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711017.1110654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPe-00036K-W8; Wed, 24 Apr 2024 03:35:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711017.1110654; Wed, 24 Apr 2024 03:35:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTPe-00036D-SP; Wed, 24 Apr 2024 03:35:14 +0000
Received: by outflank-mailman (input) for mailman id 711017;
 Wed, 24 Apr 2024 03:35:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTPd-0002In-SH
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:35:13 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2417::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a828a1fe-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:35:12 +0200 (CEST)
Received: from BLAPR03CA0041.namprd03.prod.outlook.com (2603:10b6:208:32d::16)
 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.7519.22; Wed, 24 Apr
 2024 03:35:08 +0000
Received: from MN1PEPF0000ECD6.namprd02.prod.outlook.com
 (2603:10b6:208:32d:cafe::24) by BLAPR03CA0041.outlook.office365.com
 (2603:10b6:208:32d::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23 via Frontend
 Transport; Wed, 24 Apr 2024 03:35:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD6.mail.protection.outlook.com (10.167.242.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:35:07 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:35:07 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:35:06 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35: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: a828a1fe-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GyKfnslBHUGSFb+U1g7rUkgwdiou/ZcNHLpd2EtH6LMQwIfu6mAyhdxNIMaz9q20IoSPZSJSuuhak5CKkC0Oxl/OPKS1r2srfnoyKV0EwkRBYqkRQ3eNm5rMI8tI5hecKM0TXRNhFkPvMjnzP+B5ST2Ncdy9IMxwMXavQHH1AkLQ5k55ZkT0/V3aOjzzc8T+yFFRRIfXGVOuRoEXKQ24qm1N4sb7GApTPdPWUJpWpyRts+MawUB1qOTqbJqcG2M2UjcTE4tUTvY07rbsi3UFunRgBlilD/HxcB7tCi4xLQb2IhefcU/JXr+5SCMw2RYr9YPYrmrQPGfjKh+JZK9wWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=71+mKXETSrKvqqiB26Vzc3zFez3NgUks8pMM+W1JiUo=;
 b=QXPq3AJwNthBY1mqJIf7+j5udijF3rcURmfDt5slmyIMkeDyW+f8jrw4ylwze/WXeOU2mG7YUnJWkIBtQdh17RCV4ImzhNUVEnf7fkST3Z9VnRqdkGdmezUA7QoCs5m9mnVJSdn9fdAC62fFJTgRAiVrg/QaK/pXhuOgswxisZKV7j2elliIkgfukno1jEvFWjqC5OTXQGXmwKT1QwKICILFHpjIboeJy6uc/Lqj8PwjF7M8ivTMPcKpzoatoKX39Cmy8p3HR3gVjg4l3tY2A58mSCNhW/2OKSd2x6AgALT16yWVVxzXF2OhfII9vhyT1WQ0fXK/eEuCLKyc+Z0+bw==
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=71+mKXETSrKvqqiB26Vzc3zFez3NgUks8pMM+W1JiUo=;
 b=tDJldnezdawTsLP7hJqnQjfwme/BKg/ApBCTczBMh5bpdhdRJNwQ9Cd59aFmihxtZSFcohumCLbD9BJ56wrLkPp/HPrx95KojSXLiW/PtCbEUt2lnlsZUwzDL3Yr4sEr+sAd1we+f0RGGAVIiit10dr6vE+rsWUfJc3Rawn5cDw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 03/15] xen/arm: Always enable IOMMU
Date: Wed, 24 Apr 2024 11:34:37 +0800
Message-ID: <20240424033449.168398-4-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD6:EE_|MN0PR12MB6245:EE_
X-MS-Office365-Filtering-Correlation-Id: ebbf373b-8405-468b-5ba0-08dc640f89be
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|1800799015|82310400014|376005|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?3HMUgQPmwsD+InmnusLeZYmqBWwE8K7hNQMnrxLWCLcqPUpMJ1+cZUW6YfWM?=
 =?us-ascii?Q?gemu7NaQtarL2uuhg0WJVkjowH6Sga3WCBipcYKQ/F0VEXYe+wrQXdZBH+WU?=
 =?us-ascii?Q?7KA8zakcpuoYi78BiItXXlcVFqPpgav0DM6pZH+F2MfmrHvagWw0qac/+rtx?=
 =?us-ascii?Q?MjWkqBIWK3dO5XK49zBuNCP971HZvngBrN2XWNoKEho7NJTsesTsv5N+r6YA?=
 =?us-ascii?Q?pLhkCSTG7/pogEhV81gZGvBU2+j9P3EnyxZ6S7CVE1eyxRxcMo/9s+Kvos1G?=
 =?us-ascii?Q?ouMLqNHosIhI+L2Cr8or2AH18zBJpn6AgdM+UMrdQhj1rWBpydfCSZosA8Eo?=
 =?us-ascii?Q?0/qXWiI0XWxV33s2mE0giM0qrJIycciv1BtdRBaF6JpMy2sPC4UtyGwa0A6j?=
 =?us-ascii?Q?1rACipoAVeE+uSkLu+O9/afDIlZk0FXxYKXtd8/u1qQR/o8Eq0AfjS5ggVwB?=
 =?us-ascii?Q?3qs0zFzJa1ZeZbNyqkGvr4I+F64Wo+dgXPu2Lx+QXONIQXe39rJUPPFpwS+z?=
 =?us-ascii?Q?iUd90OK/h6FKHo1gr7mOknBUo/RPhfieKDIP5a4n3CeCZ7gDhD4uSZpZgKWD?=
 =?us-ascii?Q?ApN6cizUKKySsnhYhkMdwb9HsllxnAifeHFjwubiiJhf804jkt/N7O2RXeSL?=
 =?us-ascii?Q?WKuQ2iS9hWBB2oQXhWbjxCuFf6h/CXsC4FHMPxDPLoYTeEz4TFbqBL5cn4S9?=
 =?us-ascii?Q?D4l8lz4lUMbgfa1R+tgt8hfWXXIXFzti6pggg3zNGA9m1bWVCCuNUziHJ9kP?=
 =?us-ascii?Q?jV11wql+DtbXI4+whwKz0YfashCxmeOa42WlE8VrGnHdYvLmDuzYd1Sw7ZDj?=
 =?us-ascii?Q?kVisFyopSz5qwYFmcSKPOkP3z2aD1lQpB2aQ/rZ3r8gxtgAylnjBZNDAZKz1?=
 =?us-ascii?Q?8r3Q0uGncGFLI+UyJg5KxOho1K01HPVHAf0hXVtlT+5VDdz4hoz4+5JkF6tc?=
 =?us-ascii?Q?nrY2sU5U3w5QQyJU3L5wrYoldoeqkvUFkRwzzPvGBfB+TVIKuJYkTNcLlsSN?=
 =?us-ascii?Q?yCVnp6YEg8ixYQcQ69jAxkdQTmezO+gLW1UPq5zhg0Z5SKQDCO7Lnc6bcpin?=
 =?us-ascii?Q?XjCwkC6OLlBPTQaH5hYTmcYSL0alYIFZO76tlo9D7A+Yf91qVI5sta84A1w0?=
 =?us-ascii?Q?3vKaLMoxuO3Wz0Gx4IweBynVdn0BOSA3L011hJHxQ8dOVNbdIwq5U1f+CkQ4?=
 =?us-ascii?Q?ucnJK34Yhus7H/pj6DLIo9DMSxhFHeODMzEw/rA9pRD2syWTiISMyzv/nlUf?=
 =?us-ascii?Q?eDWwYadsn7grZtgBnSWE+PqgRUuot9lT42EOJyvRqH6ZOmoJioPhgXt2buJo?=
 =?us-ascii?Q?PBRmmoAgexqxbGPxgey+wEiJ+hmn2LKn1pzGQ2Bh1fEa6WF2+BFsx7J30jv7?=
 =?us-ascii?Q?3H+Mi3w=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:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:35:07.7539
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ebbf373b-8405-468b-5ba0-08dc640f89be
X-MS-Exchange-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:
	MN1PEPF0000ECD6.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6245

From: Vikram Garhwal <fnu.vikram@xilinx.com>

For overlay with iommu functionality to work with running VMs, we need to enable
IOMMU by default for the domains.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 xen/arch/arm/dom0less-build.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index fb63ec6fd1..2d1fd1e214 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -894,7 +894,8 @@ void __init create_domUs(void)
             panic("Missing property 'cpus' for domain %s\n",
                   dt_node_name(node));
 
-        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
+        if ( (IS_ENABLED(CONFIG_OVERLAY_DTB) ||
+              dt_find_compatible_node(node, NULL, "multiboot,device-tree")) &&
              iommu_enabled )
             d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:35:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:35:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711026.1110665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQD-0004M4-8U; Wed, 24 Apr 2024 03:35:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711026.1110665; Wed, 24 Apr 2024 03:35:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQD-0004Lu-5N; Wed, 24 Apr 2024 03:35:49 +0000
Received: by outflank-mailman (input) for mailman id 711026;
 Wed, 24 Apr 2024 03:35:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQC-0003iy-19
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:35:48 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2405::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bce454dc-01eb-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 05:35:47 +0200 (CEST)
Received: from MN2PR20CA0014.namprd20.prod.outlook.com (2603:10b6:208:e8::27)
 by MW4PR12MB6780.namprd12.prod.outlook.com (2603:10b6:303:20e::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:35:44 +0000
Received: from MN1PEPF0000ECD8.namprd02.prod.outlook.com
 (2603:10b6:208:e8:cafe::34) by MN2PR20CA0014.outlook.office365.com
 (2603:10b6:208:e8::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Wed, 24 Apr 2024 03:35:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD8.mail.protection.outlook.com (10.167.242.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:35:43 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:35:42 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35: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: bce454dc-01eb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dnJNKrP5ZUBD6jx8Qxxh4v8Hw6TdkyXdxAKHvCK1sKALL5L/wsfuuLR9wc/86LYc/imdJwtVqjcEqzu+GpkvevXfz7XkfyjPM+CaiO7X2Pirnycd00NypQ7qWHSO15bCENg2Rq/GsgXaveXqlVja5Y/YIIhFPgxAPbEguylTL03mQ0AoFd/NbRFKHfd5BpTb9c+JyuWYsmMNjtPXyCmAif5hlL5u9sTGnPIMfV8v6EIdIq+FMmH2CIspekwA5W4S/vvwj9GuWC1KDqlIaIXhmLm/EaG3k8SuXB9kLRC2wztJnQcmGsqWHidzALruMkOQs5hDyR90raKkidBuzsugdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h0iAu2KLuWONYe8oojEyCYpFwDMZMJe4duy+fEUGegc=;
 b=ajOlT1d5RiqGy5SNcLlFmedWUXYoedWwb6m5K7ajTeJ3UA6zSA2yJR1MroDIqCKXGOx00Gryem5ekYnaHqU4/GGDZ2q1TbZR/BZNlMcvfNg2HZ07xROfAEANZok6O4b9ZHMDknLot75gFuCqMQBdWTACMLwgTwNwAGYzetV4sB60o4BB3eYRsHsed92x3YP1F9cYVrcWmf9Pg9EaqZRlr1l4DDv/F8lwmVEsMkNVrshe/D2O+dgzkgqoxgU5O1ebvmTwh6zxsgINN3tMhEAr6wPqCG5G/RSeVkWpEANNVSglC7TKBJTcg22dtFAjXVLerBtuTmxebyhUNTTjM4YMCA==
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=h0iAu2KLuWONYe8oojEyCYpFwDMZMJe4duy+fEUGegc=;
 b=sPJE5A5QXx8bLUDbBLFG/J0Nj9QvE3wi1XbuZLd2JvUfdy6JKbarABBoSgdHonEUIp/a6IU5ZNkb9lctsqD/n6Ou4Rpkhy9uxxQsGGi1F+IF0oJo4G1IvBkMwgNcdm7ngnaOuUs0iwbKcs4NFtsQ68JpN0Ys2jJ9hwQb3HReyNM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Henry Wang
	<xin.wang2@amd.com>
Subject: [PATCH 04/15] tools/libs/light: Always enable IOMMU
Date: Wed, 24 Apr 2024 11:34:38 +0800
Message-ID: <20240424033449.168398-5-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD8:EE_|MW4PR12MB6780:EE_
X-MS-Office365-Filtering-Correlation-Id: 15fca0d2-4893-443b-e846-08dc640f9eec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?f5BKQ8vMDfA2eVgbv3A6UtLPJmTiKI7B+OQ9n6LakatVv8nLopf/Zfzt4K9o?=
 =?us-ascii?Q?riV6dL72Mi4fL/zvfwmib0vjagqotIWExXm8YHVvda4p/GcRNSZ8+/SmTcdh?=
 =?us-ascii?Q?31E6SdcuoqoReJyzB8Ap6Af64r3vfO90EMa6T8DdkQlLt5il/WnShTDSjZLx?=
 =?us-ascii?Q?DtZD3i2IJWDZSc4h4RCNyIqGXK7VIKk0Xovdkyx5poH8D14L14LojalEQmzy?=
 =?us-ascii?Q?DG+neG2LwPZOW8qviyziwEihMJBNZbXiDYauLQZ5gKGU1YzB/Nt9e3WXAHPx?=
 =?us-ascii?Q?FoaSeAjVXkXp7Tzl8wOFalOu1mtgtIzyrruLeGKuVS1MqipQ2jn9arPo7KLK?=
 =?us-ascii?Q?esQC9LJPYmeRAJcn3oiy0eW32RsQS/uuqd78rGAcyLBii67MexS7O7T22Jfd?=
 =?us-ascii?Q?AJFF+93onNRUBOBHIg2OnqHiGkoIyuC8OmWR1czWXjmsmO1qFdKWI5ffhra8?=
 =?us-ascii?Q?ig913Jy0wVKd2NgeX+cHOnIvZad5Ahxx106G/VWsxITj3+3Ap7DJMYsP+IFg?=
 =?us-ascii?Q?0GnJda8b3XOiiCUxCj444MQJaS8QQEz+BjlYYXAgs5eu3q4SbQD1tPFPpA/c?=
 =?us-ascii?Q?3jjQzUBoKsDji05KTIiqMjqyRDA10jB5nXQlZOGq4ApUdM2nFPkGXqIIDt2I?=
 =?us-ascii?Q?diCVmtVhFvJeApCqkj+OhdcTAQDa97tzqKdQyH8wEmquTe2j/o3vBbCBUfW9?=
 =?us-ascii?Q?XB8XPXxCanu9e5bnk/zv2z60XcWRSA+/WvxUYzd6HZCVlaeI3kB1SH6uiawv?=
 =?us-ascii?Q?tXQdEYJOYcWbXiakMAKyr763IeoxZti3ZDRJifxa4pxuRMgQjKm+aQaZGILv?=
 =?us-ascii?Q?oHlyooA2rGwj2ZfS4ZR0C8UuUiA0z3spSoGNAgTdbq3o7UnCGmyl6Z+z5TwK?=
 =?us-ascii?Q?CO8VzJ/KbZrkkVS0yzQhLyh2hdn0QUJpJgFEkIbJqDuWCCHibIy8418iuzbq?=
 =?us-ascii?Q?cFajG41F9BnabEGbG7Ojkxx9EMafywYgybTWEV2Cwfw0cpM8LsAyPbO2Yqd/?=
 =?us-ascii?Q?Z/+mtZGFNHjZPkVnrm9ICb+ZXrqAAHE+2rc4IUOW7rcCwl8xv359FwGTOBom?=
 =?us-ascii?Q?nj/PghvVwqRHca8i5DiqumOPnPC+yMchggW3xSyU8jYVVW74JToWlevl8SbY?=
 =?us-ascii?Q?kkEfW9vq5m6jxE+77YzVP4WszuFDrcNfmClgzklZB6aX6DKzuLCDKJ1Ek1S8?=
 =?us-ascii?Q?GK/Ca6ach8HA+ft45iNBKNh8Tgy5ZBcEp8zy+Q+zQ546ejjbuGz2hUKJC/yJ?=
 =?us-ascii?Q?uDWX3WHp6yTVXmYj9YWEOEXdDKwZdGb+d3S+kXf478ONyOPYY1Nz6jaFr+rN?=
 =?us-ascii?Q?YwENT8mAmcO8zgQKovGMbpaUm3N4VcvwnDmMLO3Jz0whML+PPpe/RMsqBFWn?=
 =?us-ascii?Q?jLq2e8bZhVddCg4vEi5UUTjaYI8j?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:35:43.2912
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15fca0d2-4893-443b-e846-08dc640f9eec
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000ECD8.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6780

From: Vikram Garhwal <fnu.vikram@xilinx.com>

For overlay with iommu functionality to work with running VMs, we need
to enable IOMMU when iomem presents for the domains.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/libs/light/libxl_arm.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 1cb89fa584..dd5c9f4917 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -222,6 +222,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         config->arch.sve_vl = d_config->b_info.arch_arm.sve_vl / 128U;
     }
 
+#ifdef LIBXL_HAVE_DT_OVERLAY
+    if (d_config->b_info.num_iomem) {
+        config->flags |= XEN_DOMCTL_CDF_iommu;
+    }
+#endif
+
     return 0;
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:35:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:35:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711027.1110675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQF-0004ba-H7; Wed, 24 Apr 2024 03:35:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711027.1110675; Wed, 24 Apr 2024 03:35:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQF-0004bT-DG; Wed, 24 Apr 2024 03:35:51 +0000
Received: by outflank-mailman (input) for mailman id 711027;
 Wed, 24 Apr 2024 03:35:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQE-0002In-MM
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:35:50 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2412::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd439ab8-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:35:49 +0200 (CEST)
Received: from MN2PR20CA0023.namprd20.prod.outlook.com (2603:10b6:208:e8::36)
 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.7472.44; Wed, 24 Apr
 2024 03:35:45 +0000
Received: from MN1PEPF0000ECD8.namprd02.prod.outlook.com
 (2603:10b6:208:e8:cafe::6f) by MN2PR20CA0023.outlook.office365.com
 (2603:10b6:208:e8::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:35:45 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD8.mail.protection.outlook.com (10.167.242.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:35:45 +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.35; Tue, 23 Apr
 2024 22:35:44 -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.35; Tue, 23 Apr
 2024 22:35:44 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35: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: bd439ab8-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l7SEcH28VM54chhn+ZsVd9lyXDhMZSP3I32oAj+wbJyf2DTLyNT6Xg8xqd5J0N61cNaXYB5apZXmEW1RRzmMy7psGNJCHrFZ1NrGfSigFFJ0S7EkRQnaCvRZ7z57m9bM6hZAaIzk6bTp7pPlc0Pk4OzreyD5OzDwgIrLpIZT5nlJ+IS9rsdZLc/wA1hY6BGvL92OovlCDubUSpKEX/LRUMHYavPJTE1/aEL67pQwQ/5w5//VfTRWWCafwRC1UEh8LgV7MBeL7VVZEMblglNdXLjOw+9dsGzmeDK9CS5g4GpNMv03Fu1Rx1WZwrPw8WEovEMO7HaAZLDVBdM6HwboiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2CXTiKjl6H23aWyq/JRcR1V9QG6E4fZMm3DFM6arH00=;
 b=lvTuWc7Lc86Uy4n6iQRWf/WUrROcZpwFxoGDQshC0lRv14nvYfCybpmEhMEygu1QsuLeviBV9rHQRvI29TwYwrpxuSZT2vezgqEfRZnpqkS4m/Y7rCBBEWsIYby1wdO4TkzpQUF2gDcUDnrvArSU+dpdIY5NqCJmImoMRmMg2JfoxCZDrUf6vOI33dZrHxrlDp2BiscP5Hiux1sEnNTlJ1rgC+WA8+ouCVKL+B4Zknj27iruBuM/obzpjgm+rlLBkqYezURtZ2jaBgMjnUYsXxHblbJ8LF5YLE41epEUkxMv/q49m7ha3YdvGWqAYI6i2+BiEeE1/lxnxg3C2uXkxg==
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=2CXTiKjl6H23aWyq/JRcR1V9QG6E4fZMm3DFM6arH00=;
 b=hsGHfvenorc/ZHnHvZ4b1z/NaDr1Kj4qYqxy2dZuhD9rBSBWgRT4vhbjz8CGXgGrBIDmBMUOkZm87PnZpfM8YrdgxQpXk90iJoYACWTydbDF8swcaYec7rUq19fmfEHnDOHU9UrZ73HfuSOO1e2vL6J6hLbClEace2/9Zu27KlY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 05/15] tools/libs/light: Increase nr_spi to 160
Date: Wed, 24 Apr 2024 11:34:39 +0800
Message-ID: <20240424033449.168398-6-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD8:EE_|DM4PR12MB6445:EE_
X-MS-Office365-Filtering-Correlation-Id: c8c0de3f-1c74-4541-3c8d-08dc640fa025
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?yFrNObRJOo0hw8J6RTQB8PnSnEsGOZf/E81yg9ertyGfByCuesthuFZUUzIx?=
 =?us-ascii?Q?xpkP74rYUdD+KcqtzVPKgbrYo6c1N7/qGgSMsCPLiNK88DBX00wqO0xX5BJ4?=
 =?us-ascii?Q?b4PWvIrnxls8z5mB/fhixSS83CTmCvEwgFugdeZhe709mhiFmV5Lyl3zwxTX?=
 =?us-ascii?Q?M5Rzrn8RFT2bShySZixcKpeRcXOAIn+j1QrOClXlEV1zQHwNioEZMxOTN1ZT?=
 =?us-ascii?Q?3vj5rVb7j/tVhCE3J2crTgxezqwCBtDbpWPnK8QVkho6C6saNMEDbj4yO8kp?=
 =?us-ascii?Q?wq7pZP8640d+kpmy964MTZsQKUn5SlpukNwDK4CiuEN19fVfq5fbNQEN7a20?=
 =?us-ascii?Q?EiniXv3dhRkeMz+mpyU9Gr1cHYFqPlgmDA1asZR6kpgdgQfRFNXMpHCZlAAe?=
 =?us-ascii?Q?7ujNY8sLIN1vpuWCxvtwb8lCPv+WHCVN9bDEnJRPIcJm32lG5G71xFoYQrB9?=
 =?us-ascii?Q?LAQP/YsyGzKa9lDzkZQzk01kJMlyA2GP5+TbcJd2oe457OmcPOpihfKiWwZ/?=
 =?us-ascii?Q?ufM0rEnBStrdAyb2V4kQ7GcgIMIAjFN4x5xkMpixN6/osHxuX7SnfM8bT11l?=
 =?us-ascii?Q?4S3gqeen/D6tkYaJdEjMD3Lg0exEUdCNJKSelUN4LgOF/8gax520kD09AOkO?=
 =?us-ascii?Q?XuD9jVSYxHxM45oR7KTsk1NUwtqpWK4aT78KOpjyEq/Fobg9jgewuNtpSDEP?=
 =?us-ascii?Q?gf8fT8CBcuPDoUhv3JEXohPZSqjnvE0WQ8Mp0CxJRNZgItCrpJjCiMTpcO71?=
 =?us-ascii?Q?of4LACvofRnvmd8metVBP8C7ab42Xk70SOHwMKmWjCq85bZXDUlW/Oa9DJFE?=
 =?us-ascii?Q?cgxaAZwQI131QsplAmesfZTWo5JWH+pTce8C+9gwWrDexT329axIiYp6S63K?=
 =?us-ascii?Q?onsnLZvovu+Sni+Oe5cB4Vw0r4wCTpZ+YCUzNO5TFZDKHFZr4Tyv92JTF0L3?=
 =?us-ascii?Q?V5i/t/Pw14Q+GGV7ZXpEWGHrzcSVlScHPC6gSEb4JJfRlrzzp8Y3mP3kStkb?=
 =?us-ascii?Q?IWCTo+Z/WfP76tqw24AJvEbmKgrLIyC62MY3j4f8O7vrBAdJFcm22fqcq6Rj?=
 =?us-ascii?Q?0BlUWv8czf+p1GYCVcTxmfPZYHHFVC5d1F5kr4oidgAj10zZCnlIyp6n/puy?=
 =?us-ascii?Q?Oogxjaqocn0eokZKHvNgHHdOyu1HyeqWRJaGGxKIRgMIUv2jSHz9Ix3v+Uvn?=
 =?us-ascii?Q?7d0dy+INRIzoc+ckOwJhfdRQgaR3TbzTCNXVFpw+EIFgf2zjaDEmquBxOZig?=
 =?us-ascii?Q?VSL6l8g6ZdtboRRRWozNGqSQg3wey6e6WClX7pzlACKctc+2HKffpX9zTtDV?=
 =?us-ascii?Q?DgpgE5xwHO/haexQ+mZuSc2c3QbTRiaUoQ6f5AzZ8brUxShccC9gyKYfYGXX?=
 =?us-ascii?Q?IENTlKZmOg384JCaD2Qn+t7nipBt?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:35:45.3380
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c8c0de3f-1c74-4541-3c8d-08dc640fa025
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000ECD8.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6445

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Increase number of spi to 160 i.e. gic_number_lines() for Xilinx ZynqMP - 32.
This was done to allocate and assign IRQs to a running domain.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/libs/light/libxl_arm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index dd5c9f4917..50dbd0f2a9 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -181,7 +181,8 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 
     LOG(DEBUG, "Configure the domain");
 
-    config->arch.nr_spis = nr_spis;
+    /* gic_number_lines() is 192 for Xilinx ZynqMP. min nr_spis = 192 - 32. */
+    config->arch.nr_spis = MAX(nr_spis, 160);
     LOG(DEBUG, " - Allocate %u SPIs", nr_spis);
 
     switch (d_config->b_info.arch_arm.gic_version) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:36:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711030.1110685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQW-0005EI-Q8; Wed, 24 Apr 2024 03:36:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711030.1110685; Wed, 24 Apr 2024 03: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 1rzTQW-0005E5-Me; Wed, 24 Apr 2024 03:36:08 +0000
Received: by outflank-mailman (input) for mailman id 711030;
 Wed, 24 Apr 2024 03:36:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQV-0003iy-JT
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:07 +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 c891e3d1-01eb-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 05:36:06 +0200 (CEST)
Received: from MN2PR07CA0017.namprd07.prod.outlook.com (2603:10b6:208:1a0::27)
 by PH8PR12MB7328.namprd12.prod.outlook.com (2603:10b6:510:214::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.45; Wed, 24 Apr
 2024 03:36:03 +0000
Received: from BL6PEPF0001AB78.namprd02.prod.outlook.com
 (2603:10b6:208:1a0:cafe::53) by MN2PR07CA0017.outlook.office365.com
 (2603:10b6:208:1a0::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB78.mail.protection.outlook.com (10.167.242.171) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:02 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:02 -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.35; Tue, 23 Apr
 2024 22:35:53 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35: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: c891e3d1-01eb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K5tL9Sxp/rggJ7CEyZxPZaL9JEYkIgKLt4n0T3mGFod7CMraQugk8RXIBtDPGZQVtbH80MO6P9p7WsjHDK4mhaY7T///UNLjX5kj0zRRoknTAtB+TuLD3V8oCg+xZo81Ao51XDzPu4JmSi2b3P4NT7abCjcRabgEWKYSS8C4H1sf/YaQYwkU4RV6fWkM7T7N46KrYGd5ccclfZQDYGotHIhEjNCHe9DNA3YfkpX/iA1ErYmeNHsAx/0dRE5Olmi4vWFykFB+FTbY4XkL+up6BeY0v9kHOWDhRBQXh+XwsGG/k3HxQOhvsfg5jtAFzuWU8q8IMxBAbMQsNwr72hR/iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vaZNaxhv7T814w8ZlBVgWmsi3wP0wrBR0DPOix+QGsc=;
 b=UGcpmUVDxUy//9VBsiq7i/BBFrobrxbpXjA19cRqSQwbt+hirO3oe90mN81R8hUc9TVjGZz6Dy77AOU5kzOIFB8SCsQ3OIMM6sBywXoduz52Dr3pKBRz+AbHUPFsakgoB7gXdDFiZK5hQ/yUPyAPPEaTCGBycqNMZzAmNCvMDOrnMHRLsnQN1FKnSpFchGCSHa24Lrj3DW6LPHOqvGHuU2GDrZLUK9XOhFcRi7sw611BM+orJZD0NH2cjB8sMMqBDApKIln4nbkCcpWqTJELLqhFtBvKGtJ7g7beLmLGlEd9x2UBXi6/6z+imZ3hSWL2cFgeDGy3pk9VhMEV2MaKdQ==
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=vaZNaxhv7T814w8ZlBVgWmsi3wP0wrBR0DPOix+QGsc=;
 b=mgTFLUZb+1Q9JYLf/7Op6LsIOlgaXtxja2iEsXJkNN3ylYTUtSpTeLldzOlhAqiXvWFFOaLHlupMNwZpvYDJs9xb8wS9oXCMYnyzgY5Me33u4wQCvCoJlIu0BsoUYT9jaIY83/UmtqtjGV+uGuyYqeocZiJFcSu0KQ6uKB0vUFs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 08/15] tools: Add domain_id and expert mode for overlay operations
Date: Wed, 24 Apr 2024 11:34:42 +0800
Message-ID: <20240424033449.168398-9-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB78:EE_|PH8PR12MB7328:EE_
X-MS-Office365-Filtering-Correlation-Id: 2d715a70-9c56-4aa0-7bdf-08dc640faa9b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?TBRwepVruIHZhfMopOZ1AYNL0yToTQwhSEgMm/BofFL7JAoLdUtq8DDPkU/a?=
 =?us-ascii?Q?G6YhtGbEkdlzYMu9vZrVKXetODPWrEyVRST4oxCODrscSbIQGH5ca+gfXgPE?=
 =?us-ascii?Q?uGubEsPdiBAfkjM8r2XmVQ+LEN9W7C+NrvPSBpFcCGkxEb+cc7mkxeHMjbh5?=
 =?us-ascii?Q?OMnUZrfr3Bb2Gsix9aTawVH0DaK9oXpP7gV/7FWNm8BTe0Oef7llJl448FGn?=
 =?us-ascii?Q?w/WEHKEUOL5xLTY8cyOzBlLmiNOpJvlcdSsXQ+ido7FdkU5aTJ5u+RN8ZMa2?=
 =?us-ascii?Q?Cdv9ihBr0zF331etgeYx7i4APA9KbqrrQ5d47kIeYfpFr3LrZuU5vJ9p4yCb?=
 =?us-ascii?Q?p12f+zXBovMLa+AGPY1JdNUgWDsbAl3HpNG9zyeR2xERNqv6MRqh2c18gR9q?=
 =?us-ascii?Q?LnivsZ4BFq4h9qbqnCBh7+qHQv0mAkaKYA/FMjXbGd2hc/31xuafC9VsB7sH?=
 =?us-ascii?Q?gpzMSXVO8GOECvGn+KDzAkfrvkTanEW+gvidL7Gk2RiP7GIYU9Lcc3RACHe7?=
 =?us-ascii?Q?VDO1IqOd5kKamqmalThMTmLhLjFgnNknZpUonc4zYPbv9Cgyb7v4BH1gj/r5?=
 =?us-ascii?Q?zve7PmK4WeTdiRQg3sfF35mK6q5WA3WbV2DbTINDh6fdWO7pvNSkJ1ktk+q0?=
 =?us-ascii?Q?dMOYZaHyMt4t5kFoXW2o0p4xCSjy/cnJCZ1zJLsvLNdM99bqeqrSRdX6ReHo?=
 =?us-ascii?Q?W1jdwvgmpff9gk7XZC0SIBLCsrI3LUmr9a2tYmYR/BKz4orTCB+8YgkUr/zx?=
 =?us-ascii?Q?CYgj1ZhWWjNKkZwmZZgsqPrn6ribTE90ux8SjS5o1P052bKkR1J2lc6/LkuY?=
 =?us-ascii?Q?t9vfYZb7sSRfi0A34IWlZig6uM/LpzqSHPS4wgOeMOwZpPzO+ZFj66imv3eA?=
 =?us-ascii?Q?+NAAMzIdU4/ohoO0FND7bGkUMSq5C4Fm6abRCUn7qHuIzDvp7zqVjkToU0Q8?=
 =?us-ascii?Q?UY1b03hGkYiUqujXmj5VPCZjRxZQKqfZDM8Mn6BS/7Idn7X6ve1Byezr9KKO?=
 =?us-ascii?Q?X+qJfzcBE9+79TD+yMqses3R/p7lB1b1vqbnUEroH/8Hv8ZESYtFeq9Z5BEi?=
 =?us-ascii?Q?Azkr6+ebzYFnUqgTz6SZioygSKNbrsavHnopfwR09IcguRTX7t9tptbvJU8I?=
 =?us-ascii?Q?wXTRopTydA+RjN2s3jVqJEFpYc7o8/9AbHpVdWfITbF7y8MrGRRupvlb/mBY?=
 =?us-ascii?Q?Xtbiq3p914W4kcVtp8of0PD9vTyDlDB+SZR0y2q3IdHqwFAVo1IftzotukEN?=
 =?us-ascii?Q?NjvGFeALZcOkIdTPq3PVK5VsG5Z0RQTHIMQbEkPNqH1VjftpK0YvRJYR2KWi?=
 =?us-ascii?Q?eh+6F0T8qgItwqbkTNmPpuykY5sTJTqw19Nb8Xiz7dY+s1YQlrpvipmevD54?=
 =?us-ascii?Q?KoUirtqCftkWglk1/wGiZhUBtsZl?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:02.8902
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2d715a70-9c56-4aa0-7bdf-08dc640faa9b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB78.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7328

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Add domain_id and expert mode for overlay assignment. This enables dynamic
programming of nodes during runtime.

Take the opportunity to fix the name mismatch in the xl command, the
command name should be "dt-overlay" instead of "dt_overlay".

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/include/libxl.h               |  8 +++++--
 tools/include/xenctrl.h             |  5 +++--
 tools/libs/ctrl/xc_dt_overlay.c     |  7 ++++--
 tools/libs/light/libxl_dt_overlay.c | 17 +++++++++++----
 tools/xl/xl_vmcontrol.c             | 34 ++++++++++++++++++++++++++---
 5 files changed, 58 insertions(+), 13 deletions(-)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 62cb07dea6..59a3e1b37c 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -2549,8 +2549,12 @@ libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid,
 void libxl_device_pci_list_free(libxl_device_pci* list, int num);
 
 #if defined(__arm__) || defined(__aarch64__)
-int libxl_dt_overlay(libxl_ctx *ctx, void *overlay,
-                     uint32_t overlay_size, uint8_t overlay_op);
+#define LIBXL_DT_OVERLAY_ADD                   1
+#define LIBXL_DT_OVERLAY_REMOVE                2
+
+int libxl_dt_overlay(libxl_ctx *ctx, uint32_t domain_id, void *overlay,
+                     uint32_t overlay_size, uint8_t overlay_op, bool auto_mode,
+                     bool domain_mapping);
 #endif
 
 /*
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e054..3861d0a23f 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2654,8 +2654,9 @@ int xc_domain_cacheflush(xc_interface *xch, uint32_t domid,
                          xen_pfn_t start_pfn, xen_pfn_t nr_pfns);
 
 #if defined(__arm__) || defined(__aarch64__)
-int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
-                  uint32_t overlay_fdt_size, uint8_t overlay_op);
+int xc_dt_overlay(xc_interface *xch, uint32_t domain_id, void *overlay_fdt,
+                  uint32_t overlay_fdt_size, uint8_t overlay_op,
+                  bool domain_mapping);
 #endif
 
 /* Compat shims */
diff --git a/tools/libs/ctrl/xc_dt_overlay.c b/tools/libs/ctrl/xc_dt_overlay.c
index c2224c4d15..a1dc549915 100644
--- a/tools/libs/ctrl/xc_dt_overlay.c
+++ b/tools/libs/ctrl/xc_dt_overlay.c
@@ -20,15 +20,18 @@
 
 #include "xc_private.h"
 
-int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
-                  uint32_t overlay_fdt_size, uint8_t overlay_op)
+int xc_dt_overlay(xc_interface *xch, uint32_t domid, void *overlay_fdt,
+                  uint32_t overlay_fdt_size, uint8_t overlay_op,
+                  bool domain_mapping)
 {
     int err;
     struct xen_sysctl sysctl = {
         .cmd = XEN_SYSCTL_dt_overlay,
         .u.dt_overlay = {
+            .domain_id = domid,
             .overlay_op = overlay_op,
             .overlay_fdt_size = overlay_fdt_size,
+            .domain_mapping = domain_mapping,
         }
     };
 
diff --git a/tools/libs/light/libxl_dt_overlay.c b/tools/libs/light/libxl_dt_overlay.c
index a6c709a6dc..cdb62b28cf 100644
--- a/tools/libs/light/libxl_dt_overlay.c
+++ b/tools/libs/light/libxl_dt_overlay.c
@@ -41,8 +41,9 @@ static int check_overlay_fdt(libxl__gc *gc, void *fdt, size_t size)
     return 0;
 }
 
-int libxl_dt_overlay(libxl_ctx *ctx, void *overlay_dt, uint32_t overlay_dt_size,
-                     uint8_t overlay_op)
+int libxl_dt_overlay(libxl_ctx *ctx, uint32_t domid, void *overlay_dt,
+                     uint32_t overlay_dt_size, uint8_t overlay_op,
+                     bool auto_mode, bool domain_mapping)
 {
     int rc;
     int r;
@@ -57,10 +58,18 @@ int libxl_dt_overlay(libxl_ctx *ctx, void *overlay_dt, uint32_t overlay_dt_size,
         rc = 0;
     }
 
-    r = xc_dt_overlay(ctx->xch, overlay_dt, overlay_dt_size, overlay_op);
+    /* Check if user entered a valid domain id. */
+    rc = libxl_domain_info(CTX, NULL, domid);
+    if (rc == ERROR_DOMAIN_NOTFOUND) {
+        LOGD(ERROR, domid, "Non-existant domain.");
+        return ERROR_FAIL;
+    }
+
+    r = xc_dt_overlay(ctx->xch, domid, overlay_dt, overlay_dt_size, overlay_op,
+                      domain_mapping);
 
     if (r) {
-        LOG(ERROR, "%s: Adding/Removing overlay dtb failed.", __func__);
+        LOG(ERROR, "domain%d: Adding/Removing overlay dtb failed.", domid);
         rc = ERROR_FAIL;
     }
 
diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index 98f6bd2e76..9674383ec3 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -1270,21 +1270,48 @@ int main_dt_overlay(int argc, char **argv)
 {
     const char *overlay_ops = NULL;
     const char *overlay_config_file = NULL;
+    uint32_t domain_id = 0;
     void *overlay_dtb = NULL;
     int rc;
+    bool auto_mode = true;
+    bool domain_mapping = false;
     uint8_t op;
     int overlay_dtb_size = 0;
     const int overlay_add_op = 1;
     const int overlay_remove_op = 2;
 
-    if (argc < 2) {
-        help("dt_overlay");
+    if (argc < 3) {
+        help("dt-overlay");
         return EXIT_FAILURE;
     }
 
+    if (argc > 5) {
+        fprintf(stderr, "Too many arguments\n");
+        return ERROR_FAIL;
+    }
+
     overlay_ops = argv[1];
     overlay_config_file = argv[2];
 
+    if (!strcmp(argv[argc - 1], "-e"))
+        auto_mode = false;
+
+    if (argc == 4 || !auto_mode) {
+        domain_id = find_domain(argv[argc-1]);
+        domain_mapping = true;
+    }
+
+    if (argc == 5 || !auto_mode) {
+        domain_id = find_domain(argv[argc-2]);
+        domain_mapping = true;
+    }
+
+    /* User didn't prove any overlay operation. */
+    if (overlay_ops == NULL) {
+        fprintf(stderr, "No overlay operation mode provided\n");
+        return ERROR_FAIL;
+    }
+
     if (strcmp(overlay_ops, "add") == 0)
         op = overlay_add_op;
     else if (strcmp(overlay_ops, "remove") == 0)
@@ -1309,7 +1336,8 @@ int main_dt_overlay(int argc, char **argv)
         return ERROR_FAIL;
     }
 
-    rc = libxl_dt_overlay(ctx, overlay_dtb, overlay_dtb_size, op);
+    rc = libxl_dt_overlay(ctx, domain_id, overlay_dtb, overlay_dtb_size, op,
+                          auto_mode, domain_mapping);
 
     free(overlay_dtb);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:36:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:36:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711031.1110695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQY-0005We-5k; Wed, 24 Apr 2024 03:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711031.1110695; Wed, 24 Apr 2024 03:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQY-0005WS-2w; Wed, 24 Apr 2024 03:36:10 +0000
Received: by outflank-mailman (input) for mailman id 711031;
 Wed, 24 Apr 2024 03:36:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQW-0002In-Tn
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:08 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2415::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c872f204-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:36:07 +0200 (CEST)
Received: from MN2PR10CA0023.namprd10.prod.outlook.com (2603:10b6:208:120::36)
 by SJ0PR12MB6926.namprd12.prod.outlook.com (2603:10b6:a03:485::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:36:04 +0000
Received: from MN1PEPF0000ECD4.namprd02.prod.outlook.com
 (2603:10b6:208:120:cafe::c2) by MN2PR10CA0023.outlook.office365.com
 (2603:10b6:208:120::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.35 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD4.mail.protection.outlook.com (10.167.242.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36: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.35; Tue, 23 Apr
 2024 22:36:02 -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.35; Tue, 23 Apr
 2024 22:35:55 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35: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: c872f204-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nh66hdh8V+MTG1oTqu1QsqHiowAaWj3wP8Dx9Dw18soF0k9bhVbMZbFiNil8E7DqFRpCqtjI2hJTTg+LFnBiqhtRDgQ/I9D7pvR8YcivsfBHizkYcfBBhx67zdQ0ayfRbS6EgoMOqZcAcF3losD2yqPRww4hmUOYxIbhZll1nlOwm00rEde0FEd5Q7kQvi1KH7wFrNwk78S35BEAJs+Dx9+1zHSBvF58MytFQM+tv4xucrHsthzaliHUAdYGAfEo8DQebVjBBxnpQQA2EwG9EzBXCti6ka75gqL6561gTIxM/q/6NF2KT7eBkFzSCeveIvR3JtWcVxdiCuOrxDf7nQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xhPYSAm6thH0Vdom9S+qaKObR5KAXalj4mONsm4a1iY=;
 b=Tx97yR0Nwaci2mQu7SHE4ZbiZ3Q2CCNz8VF1eSUZltBTIeqQf720JZuEHLRiQjVQYXUZE0l9bbkkUnzGjqrQIv8IWac7yd2ur2A2jDUMy7EUpK3ObDyO0DyXMUpdXjxc/edfn1HYlkcsvRtS3LTfQihe5wVAc9eLwgblsJo+yFyHFwKPcfGv8uKlEhwUzCFgSb//RsPCyCztMAx7rkGBsnh3k0q0LVeSQta/+qFzM9mc6spRspScLLV8VoxVYLY7IIykNHZ8qUXKCS+q8EESMUkeAtkdiZ/clNEdpp4Jk3SzYki7HwtdqML5qoMkCnhvH68ijyLzuiaSD7M0ry9/ng==
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=xhPYSAm6thH0Vdom9S+qaKObR5KAXalj4mONsm4a1iY=;
 b=JiXge333vWlS6NWGQC6pRjlZppIhuiR6f/SjIuknUm7kUB9MG8W0PpJsdY+kIRfQMHfxzAu55itqNRZ8dkdCot+JLSyWt6Ir5ACYMMwgzoEOSa1xBa0tzT0lzG2gfRtdcB8+YMuFV6djfUGGgDKnUtTB7jsBPB8aF+GoQ3fMHGo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 09/15] tools/libs/light: Modify dtbo to domU linux dtbo format
Date: Wed, 24 Apr 2024 11:34:43 +0800
Message-ID: <20240424033449.168398-10-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD4:EE_|SJ0PR12MB6926:EE_
X-MS-Office365-Filtering-Correlation-Id: 28364718-01ee-4f1e-42f2-08dc640fab39
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?J7IsustZMSCek2kjzRpaPM5uJuakFp5k2JeJfuBN51ZXIqwNZjyKA0q2CEVO?=
 =?us-ascii?Q?+Lg+n+yCTIM9DAZ86HAg6068z4NDI/dVr2ImL3sTJ3dCnf/++J5fQQAX50at?=
 =?us-ascii?Q?O3CKyaEr9shmW8fH8pY6hl9svpVgQxDPnIRWBe1TA9LvjcPxa94KE36TwWMi?=
 =?us-ascii?Q?PsDvJ8tqpKBtpwWmpqyQKWLzKKQz03W4UZsNlIEFZs5w+FRsvhFyca4EW9kL?=
 =?us-ascii?Q?z3rXvUOAlVTm7KIm8QUXGJojjRfM0Pr8fbtLKC/se0CVyd92d2Lk91j39WJB?=
 =?us-ascii?Q?B18/U5E58jfrxCYxzL6q6bFHP3Yt3t2A7R5RuyD0NFrF/7AK77TcKufKMa6A?=
 =?us-ascii?Q?i2rp6yi7QorUu0K5+TZYIC0TViC4/QNTFgnUhmIAILB6NVABdldDvytwTLnP?=
 =?us-ascii?Q?LFSt7JNswii15tqUDIQ79vXLuFIlSP40tjxmFktKclrFcjIHY+MghD8horxw?=
 =?us-ascii?Q?kkbvNVMlQK09LEQ06wLdEYcB0U0POi63nHqRS/4hFJ7HmMsySCKOqNMxJRUl?=
 =?us-ascii?Q?EoQZnaLEiIpmJy+OXZNdNA269UxiPzf21RqQ1zPjeu44AIpBZBy5F4neA3zy?=
 =?us-ascii?Q?BRnNqqbER4SQK4csinmbPhOluOWQBmucIN7AzLcnEIeHLpULv23HcZKPwNkE?=
 =?us-ascii?Q?g6PDlDWdJg6ShdZn/MbqJoa9CxX9ua/6LMHz0EqlQSjjd4Dhg3ColUvjvu8K?=
 =?us-ascii?Q?5k0VXAd39zLHNjdTHtHwh4WruzFBpQThkfu3oMc5u02K+/I9H2EyO9dqnlTc?=
 =?us-ascii?Q?6kTUakvMXByRCZfwoGoSAq7ssxnzlgUCiIh0hZzIyfXK5QpdfkvUmYYkSHr5?=
 =?us-ascii?Q?8br7/lyfFGcNuxf1ognT2QRZxkq69xWzgdTBm3AceczW7NdSD/PAX7JIWXrc?=
 =?us-ascii?Q?ZNeUC9qiU9GqoY5EWHWxu1/zhxfDLoUUow7rd2kyHM6bF8nPzgD0bx3mMXha?=
 =?us-ascii?Q?AmyFtp2HCg8LjH3KUnJzBLqLd2dc2rNlYT1LCsXDrCysMm62smcwmhyEPGkW?=
 =?us-ascii?Q?UxUfUOA2lTMcMYClk7v2x4Wjc0VB4YUC/zlTD1KtMWwiceBUWxdUSRzan9X0?=
 =?us-ascii?Q?F2/zKOkYbDKg7c4mJw1qewk89PeZN8fE41uad2Eoi+kLWqgcb8RMy/mosGzs?=
 =?us-ascii?Q?h20QjA/tlC9WuMxLu1HgANjFi67tntUF/ZkphmvEdtAc4Cyk3lct3kPJ8ooP?=
 =?us-ascii?Q?UlcRB2z2SjiZPFp77J42PxLh7cKHl7ZnDRm48+MeqnmhE6+lePHFn7tYWhnH?=
 =?us-ascii?Q?rxxO9nmuze3IcV1SnSQV7WL0ZyeZK/dJt+a9KI1zoQ/whS9uxI0CWV1sfqvg?=
 =?us-ascii?Q?3XOzuW7p1qd8ymnEByuHcZctdTZor7je6d47CLf4j9kMVplzMrzQaGghFJzU?=
 =?us-ascii?Q?IHEkb1ASl2D1k0u4ECWZY371Mc6t?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:03.4867
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 28364718-01ee-4f1e-42f2-08dc640fab39
X-MS-Exchange-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:
	MN1PEPF0000ECD4.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6926

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Add support for modifying dtbo to make it suitable for DomU Linux. This is
done for '-e expert' mode.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/libs/light/libxl_dt_overlay.c | 73 +++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/tools/libs/light/libxl_dt_overlay.c b/tools/libs/light/libxl_dt_overlay.c
index cdb62b28cf..eaf11a0f9c 100644
--- a/tools/libs/light/libxl_dt_overlay.c
+++ b/tools/libs/light/libxl_dt_overlay.c
@@ -17,6 +17,7 @@
 #include "libxl_internal.h"
 #include <libfdt.h>
 #include <xenctrl.h>
+#include <xen/device_tree_defs.h>
 
 static int check_overlay_fdt(libxl__gc *gc, void *fdt, size_t size)
 {
@@ -41,6 +42,69 @@ static int check_overlay_fdt(libxl__gc *gc, void *fdt, size_t size)
     return 0;
 }
 
+static int modify_overlay_for_domU(libxl__gc *gc, void *overlay_dt_domU,
+                                   size_t size)
+{
+    int rc = 0;
+    int virtual_interrupt_parent = GUEST_PHANDLE_GIC;
+    const struct fdt_property *fdt_prop_node = NULL;
+    int overlay;
+    int prop_len = 0;
+    int subnode = 0;
+    int fragment;
+    const char *prop_name;
+    const char *target_path = "/";
+
+    fdt_for_each_subnode(fragment, overlay_dt_domU, 0) {
+        prop_name = fdt_getprop(overlay_dt_domU, fragment, "target-path",
+                                &prop_len);
+        if (prop_name == NULL) {
+            LOG(ERROR, "target-path property not found\n");
+            rc = ERROR_FAIL;
+            goto err;
+        }
+
+        /* Change target path for domU dtb. */
+        rc = fdt_setprop_string(overlay_dt_domU, fragment, "target-path",
+                                target_path);
+        if (rc) {
+            LOG(ERROR, "Setting interrupt parent property failed for %s\n",
+                prop_name);
+            goto err;
+        }
+
+        overlay = fdt_subnode_offset(overlay_dt_domU, fragment, "__overlay__");
+
+        fdt_for_each_subnode(subnode, overlay_dt_domU, overlay)
+        {
+            const char *node_name = fdt_get_name(overlay_dt_domU, subnode,
+                                                 NULL);
+
+            fdt_prop_node = fdt_getprop(overlay_dt_domU, subnode,
+                                        "interrupt-parent", &prop_len);
+            if (fdt_prop_node == NULL) {
+                LOG(DETAIL, "%s property not found for %s. Skip to next node\n",
+                    "interrupt-parent", node_name);
+                continue;
+            }
+
+            rc = fdt_setprop_inplace_u32(overlay_dt_domU, subnode,
+                                         "interrupt-parent",
+                                         virtual_interrupt_parent);
+            if (rc) {
+                LOG(ERROR, "Setting interrupt parent property failed for %s\n",
+                    "interrupt-parent");
+                goto err;
+            }
+        }
+    }
+
+return 0;
+
+err:
+    return rc;
+}
+
 int libxl_dt_overlay(libxl_ctx *ctx, uint32_t domid, void *overlay_dt,
                      uint32_t overlay_dt_size, uint8_t overlay_op,
                      bool auto_mode, bool domain_mapping)
@@ -73,6 +137,15 @@ int libxl_dt_overlay(libxl_ctx *ctx, uint32_t domid, void *overlay_dt,
         rc = ERROR_FAIL;
     }
 
+    /*
+     * auto_mode doesn't apply to dom0 as dom0 can get the physical
+     * description of the hardware.
+     */
+    if (domid && auto_mode) {
+        if (overlay_op == LIBXL_DT_OVERLAY_ADD)
+            rc = modify_overlay_for_domU(gc, overlay_dt, overlay_dt_size);
+    }
+
 out:
     GC_FREE;
     return rc;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:36:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711032.1110705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQc-0005tR-Dm; Wed, 24 Apr 2024 03:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711032.1110705; Wed, 24 Apr 2024 03:36:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQc-0005tI-AI; Wed, 24 Apr 2024 03:36:14 +0000
Received: by outflank-mailman (input) for mailman id 711032;
 Wed, 24 Apr 2024 03:36:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQa-0002In-K5
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:12 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb071d83-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:36:10 +0200 (CEST)
Received: from MN2PR12CA0008.namprd12.prod.outlook.com (2603:10b6:208:a8::21)
 by MN0PR12MB6054.namprd12.prod.outlook.com (2603:10b6:208:3ce::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:36:05 +0000
Received: from MN1PEPF0000ECD9.namprd02.prod.outlook.com
 (2603:10b6:208:a8:cafe::5a) by MN2PR12CA0008.outlook.office365.com
 (2603:10b6:208:a8::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:05 +0000
Received: from SATLEXMB04.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.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:05 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:04 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:36:04 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22: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: cb071d83-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j8nhVp3kknyf4echTk6sdYRC0gg6JdtjV5ydZsD+Pop2qIUQeXpBUH2baBogEOBVA3Dfbl5leTceRmzP+7k0Cfng6vA7hRPJqSS+0JWzXlrWjGd6dHH9JaxXLfMqQINM3XwcA4JZ8BqYhonvDj1lFXqamG8I5jmQyvnh4iywSIhsG+L0m5VTcbiOEjWPfIffROvQfa7FRsTB2NYGWZqJEXWMJh8jxztGVRqzU26iDtCDskJN34gpUVLdaiPDtz0OMkq6vNrqQANa7U0qQj/Y1f21JmAUq55R5XwZcaoRZMcoGL0qgWbY1st3lsyayZUHyfIWOvynA/Y2twGK7lkEaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zlEz8Qbz/UMaWUU/jaiTmBDD/wiyD0++iaf2udSkHFg=;
 b=WOnZvSv3PaiiQpwUiupW94vZJKTvUqD/eDO5UjBddeWMCo/zv2x+ACpNqXg0+0qxP6Q4bWtlKeBzWqhORvfiY1D4q36CvqLQ9Q6OyVWkPHx9mXBeGsjVDJtQt7l+1ijAcUy8n5i3KUKn3FSuMTcNJ16qACctIpdARoHzCCFy+A2YbQbcDnNdJG381EkOdWUkQG/UPm37y4HG2qhfFqGdbzaba6aztn/dkf/y66b1yorn1Yp7PEAnDZKT5Sv/UQbNxLq1aAwtHwigRvG4w0kUKqTjtN1Dipn39wPLuA9A4qj7nMjiBpAtjru9kbTza/0uNPt+UeVIr2Gt5Glfp2ACog==
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=zlEz8Qbz/UMaWUU/jaiTmBDD/wiyD0++iaf2udSkHFg=;
 b=IbHyBjeH1aG91WhymMQQHPWlhiAzsbyNeAfoA94TaRzXFSdUnzErh8nw6hb29YzHivz7QdWw5jzSvpAzKwP4jcIBZW2V8FrNSAMvb17CDTbkNtjF83n6rh2bHupfOLCGWKIM/YWdIjWZOv8Me5RqIgN50o9d0B351Y/v/OTEedE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, Henry Wang
	<xin.wang2@amd.com>
Subject: [PATCH 10/15] tools/xl: Share overlay with domU
Date: Wed, 24 Apr 2024 11:34:44 +0800
Message-ID: <20240424033449.168398-11-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD9:EE_|MN0PR12MB6054:EE_
X-MS-Office365-Filtering-Correlation-Id: 651dd3f1-484e-409f-7b9d-08dc640fac09
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?TGA3dNGoVRuoqr2bB74CDMTC3H/FjOKwXAdM0KjLpp3TYK2bBucumLoW4/rf?=
 =?us-ascii?Q?coAQkIjx33fA540XV0REnp8zF3kyxHq8qU5doepJtONQM8KMy780enBwZt13?=
 =?us-ascii?Q?Wi+iDpB7iim1m3Vky1IuLbnewzWzP4bwcTlPM3bE6ortjH2ddoRXPu3WUIIt?=
 =?us-ascii?Q?hoKdo6GPFypcaYOkYLnOOcTX72V0CiSrE9u6v31U34W1clqSHOFpYd4RD7Xi?=
 =?us-ascii?Q?899Td5TNKNra0nGgblbr1S7ymY4gzuar+zaFtgZuxOGKU3UVompkOObADegc?=
 =?us-ascii?Q?q+yAA8G1mWwr9lvZAIt9hHpBuXT5VfwInpG5TnllEhGIG9E0fG29QQdPi8Ld?=
 =?us-ascii?Q?azdGLP7s5ONnqJqm81c3fTAWVQhc8mbNAjXfU9ML7WMSaPn8YUawihltw3Da?=
 =?us-ascii?Q?UayPEpoFaCgMYvMA26aOl0I+Sd8Ha/8APUc+ZqK8JdWknFCj6uvraAXow0gM?=
 =?us-ascii?Q?bS2nyHbVEAKQOvk2lY7HDJHZUj15GJjCPpZow7U7uLLMV/vkzrGPs9JuW9AD?=
 =?us-ascii?Q?flx4iJ3+yR95+5JOUbs52nORPIq0fwvrXoJbNLJ1r64EVN5IoM+MU6hL+14a?=
 =?us-ascii?Q?VP7aLSYCjvjFKGBblkS2X4SOjcPV4bZstzlDuF+iRjV154AucXTgoyheeXHM?=
 =?us-ascii?Q?roTFMmFLztUAeAZWtV8yQAuHq5uemL0ZJHIlXMlNvq+xmnBmpJUzO9XU1skv?=
 =?us-ascii?Q?4Cg7rofTjssxy78eowUmMkCHqBhg+5syrutgGtG3IJShiMnzgyszgp4kmWXm?=
 =?us-ascii?Q?e9EU/Q2dNxwVeTB3gbGGnsd9ndhO8FO2vwf2NVM37uxnwCSgSuFkGZ87RybH?=
 =?us-ascii?Q?UjFXjuqqc963H7gob6lRYmdpxKRAC5akcYwkAV3li1FbpsZs8Bw9OyfQNft1?=
 =?us-ascii?Q?jx+o/FTEdAXNpVnLcoRoWrPw0OT8caPVtLu6m7rbgLXkJU3tWSGRKSQECoHL?=
 =?us-ascii?Q?QjA7t+wHtzTxfga7yq9qbaAugbvaCR49XQWzgmuMPJ+ktpy5DEls3x6dJyh9?=
 =?us-ascii?Q?y4xbCFnJr5XDHobweE6DL51yM0mABjpblshQ/q/CRP31DOlEo49kvv6rSsgW?=
 =?us-ascii?Q?pqsdWZjhPS4Yv+9Ux0GXc2uUUQ4/uHWtFb0BdoP2Ikpnqa3SlHI158X3BRrJ?=
 =?us-ascii?Q?x7200IaNY9P5b5CXhOvJj56BateJobmnKT+IxF6Nw5xVW5MRlr+RaO5ziz1m?=
 =?us-ascii?Q?onDlXM/rqWDu7Ixm1gwVsUjAhGEBd5Z7tKJ3eVZhFm6gGRkPV6c3YVT69oq7?=
 =?us-ascii?Q?GLXJ5RTLCm0KKDsBhwpIFMlz12KHHbgsIAKBhNQu+F5+Yacw0jYKxnQ4yp0t?=
 =?us-ascii?Q?NjMkVAcS6s8+rge63mYFN+iSUcsfKLwTFSLQgZB5I1uptKMzIc5aXC8/IcGb?=
 =?us-ascii?Q?DYl3wZdrCGFCqWQTio7vb5qOoQ+T?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:05.2888
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 651dd3f1-484e-409f-7b9d-08dc640fac09
X-MS-Exchange-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:
	MN1PEPF0000ECD9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6054

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Add domid to enable assigning the node to a running VMs.

Add expert mode option to share the overlay dtbo with domU. In this mode dom0
communicates with domid domain to share the overlay dtbo. This is done via
xenstore.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/xl/Makefile       |   2 +-
 tools/xl/xl_cmdtable.c  |   2 +-
 tools/xl/xl_vmcontrol.c | 343 +++++++++++++++++++++++++++++++++++++++-
 3 files changed, 342 insertions(+), 5 deletions(-)

diff --git a/tools/xl/Makefile b/tools/xl/Makefile
index d742e96a5b..122dfb9346 100644
--- a/tools/xl/Makefile
+++ b/tools/xl/Makefile
@@ -32,7 +32,7 @@ $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs i
 all: xl
 
 xl: $(XL_OBJS)
-	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) $(LDLIBS_libxenutil) $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) -lyajl $(APPEND_LDFLAGS)
+	$(CC) $(LDFLAGS) -o $@ $(XL_OBJS) $(LDLIBS_libxenutil) $(LDLIBS_libxenlight) $(LDLIBS_libxentoollog) $(LDLIBS_libxenstore) $(LDLIBS_libxengnttab) -lyajl $(APPEND_LDFLAGS)
 
 .PHONY: install
 install: all
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 62bdb2aeaa..2531e8517b 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -635,7 +635,7 @@ const struct cmd_spec cmd_table[] = {
     { "dt-overlay",
       &main_dt_overlay, 0, 1,
       "Add/Remove a device tree overlay",
-      "add/remove <.dtbo>"
+      "add/remove <.dtbo> domain_id -e[expert_mode]",
       "-h print this help\n"
     },
 #endif
diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index 9674383ec3..2bf76dd389 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -16,6 +16,7 @@
 #include <inttypes.h>
 #include <limits.h>
 #include <stdlib.h>
+#include <sys/mman.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/utsname.h>
@@ -29,6 +30,8 @@
 #include "xl.h"
 #include "xl_utils.h"
 #include "xl_parse.h"
+#include <xenstore.h>
+#include <xengnttab.h>
 
 static int fd_lock = -1;
 
@@ -1266,6 +1269,335 @@ int main_create(int argc, char **argv)
 }
 
 #ifdef LIBXL_HAVE_DT_OVERLAY
+static int copy_overlay_to_domU(uint32_t domain_id, void *overlay_dt_domU,
+                                uint32_t overlay_dt_size, uint32_t *grant_ref,
+                                uint32_t num_pages)
+{
+    void *buffer = NULL;
+    xengnttab_handle *gnttab = xengnttab_open(NULL, 0);
+
+    if (!gnttab) {
+        fprintf(stderr,"opening gnttab failed for domain %d\n", domain_id);
+        return -1;
+    }
+
+    buffer = xengnttab_map_domain_grant_refs(gnttab, num_pages, domain_id,
+                                             grant_ref, PROT_READ|PROT_WRITE);
+
+    if (buffer == NULL) {
+        fprintf(stderr, "Getting the buffer failed for grant_refs\n");
+
+        return -1;
+    }
+
+    /* buffer is contiguous allocated. */
+    memcpy(buffer, overlay_dt_domU, overlay_dt_size);
+
+    xengnttab_unmap(gnttab, buffer, num_pages);
+
+    return 0;
+}
+
+static bool wait_for_status(struct xs_handle *xs, int fd, char *status_path,
+                            const char *status)
+{
+    unsigned int num_strings;
+    char *buf = NULL;
+    char **vec = NULL;
+    bool ret = false;
+    unsigned int len;
+    int rc = 0;
+    fd_set set;
+
+    while (1)
+    {
+        FD_ZERO(&set);
+        FD_SET(fd, &set);
+
+        rc = select(fd + 1, &set, NULL, NULL, NULL);
+        /* Poll for data: Blocking. */
+        if (rc <= 0)
+            break;
+
+        if (FD_ISSET(fd, &set)) {
+            /*
+             * num_strings will be set to the number of elements in vec
+             * (2 - the watched path and the overlay_watch)
+             */
+            vec = xs_read_watch(xs, &num_strings);
+            if (!vec) {
+                break;
+            }
+
+            /* do a read. */
+            buf = xs_read(xs, XBT_NULL, status_path, &len);
+            if (buf) {
+                if (!strcmp(buf, status)) {
+                    ret = true;
+                    break;
+                }
+            }
+        }
+    }
+
+    free(vec);
+    free(buf);
+
+    return ret;
+}
+
+static bool write_overlay_size(struct xs_handle *xs, uint32_t overlay_size,
+                               char *path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+    char buf[128];
+    char ref[16];
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        return false;
+
+    snprintf(ref, sizeof(ref), "%u", overlay_size);
+    snprintf(buf, sizeof(buf), "%s/overlay-size", path);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        return false;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return false;
+    }
+
+    return true;
+}
+
+static bool write_status(struct xs_handle *xs, char *status, char *status_path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        return false;
+
+    if (!xs_write(xs, xs_trans, status_path, status, strlen(status)))
+        return false;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return false;
+    }
+
+    return true;
+}
+
+static uint32_t *get_page_ref(struct xs_handle *xs, const char *xs_path,
+                              uint32_t num_pages)
+{
+    char buf[128];
+    uint32_t *ref = NULL;
+    char *data;
+    char temp[16] = { };
+    unsigned int len;
+    int i = 0;
+    int j = 0;
+    int start_ind = 0;
+
+    snprintf(buf, sizeof(buf), "%s/page-ref", xs_path);
+
+    /* do a read. */
+    data = xs_read(xs, XBT_NULL, buf, &len);
+
+    if (data) {
+        /* Caller will free this. */
+        ref = (uint32_t *)calloc(num_pages, sizeof(uint32_t));
+
+        for (i = 0; data[i] != '\0'; i++) {
+            if (data[i] == ',') {
+                /* Next page_ref data. */
+                memset(temp, '\0', sizeof(temp));
+
+                /* Copy the data between previous ',' to current. */
+                memcpy(temp, &data[start_ind], i - start_ind);
+
+                /* Convert to int. */
+                ref[j] = atoi(temp);
+                start_ind = i + 1;
+                j++;
+            }
+
+            if (j == num_pages)
+                break;
+        }
+    }
+
+    if (j != num_pages) {
+        fprintf(stderr, "Number of page_refs are not equal to num_pages\n");
+        free(ref);
+        ref = NULL;
+    }
+
+    free(data);
+    return ref;
+}
+
+static uint32_t get_num_pages(struct xs_handle *xs, const char *xs_path)
+{
+    char buf[128];
+    char *ref;
+    unsigned int len;
+    uint32_t num_pages = 0;
+
+    snprintf(buf, sizeof(buf), "%s/num-pages", xs_path);
+
+    /* do a read. */
+    ref = xs_read(xs, XBT_NULL, buf, &len);
+
+    if (ref)
+        num_pages = atoi(ref);
+
+    free(ref);
+
+    return num_pages;
+}
+
+static int share_overlay_with_domu(void *overlay_dt_domU, int overlay_dt_size,
+                                   int domain_id)
+{
+    struct xs_handle *xs = NULL;
+    char *path = NULL;
+    char receiver_status_path[64] = { };
+    char sender_status_path[64] = { };
+    int fd = 0;
+    int err;
+    uint32_t num_pages= 1;
+    uint32_t *page_ref = NULL;
+
+    /* XS_watch part. */
+    /* Open a connection to the xenstore. */
+    xs = xs_open(0);
+    if (xs == NULL) {
+        fprintf(stderr, "Deamon open for domain%d failed\n", domain_id);
+        err = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Get the local domain path */
+    path = xs_get_domain_path(xs, domain_id);
+    if (path == NULL) {
+        fprintf(stderr, "Getting domain%d path failed\n", domain_id);
+        err = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Make space for our node on the path */
+    path = realloc(path, strlen(path) + strlen("/data/overlay") + 1);
+    if (path == NULL) {
+        fprintf(stderr, "Path allocation failed\n");
+        err = ERROR_NOMEM;
+        goto out;
+    }
+
+    strcat(path, "/data/overlay");
+    strcpy(receiver_status_path, path);
+    strcat(receiver_status_path, "/receiver-status");
+
+    /*
+     * Watch a node for changes (poll on fd to detect).
+     * When the node (or any child) changes, fd will become readable.
+     */
+    err = xs_watch(xs, receiver_status_path, "overlay_watch");
+    if (!err) {
+        fprintf(stderr, "Creating watch failed\n");
+        err = ERROR_FAIL;
+        goto out;
+    }
+
+    /*
+     * We are notified of read availability on the watch via the
+     * file descriptor.
+     */
+    fd = xs_fileno(xs);
+
+    /* Wait for "waiting" status from other domain. */
+    if (!wait_for_status(xs, fd, receiver_status_path, "waiting")) {
+        err = ERROR_NOT_READY;
+        goto out;
+    }
+
+    /* Share the dtb size with domain. */
+    if (!write_overlay_size(xs, overlay_dt_size, path)) {
+        err = ERROR_FAIL;
+        fprintf(stderr,"Writing page ref failed\n");
+        goto out;
+    }
+
+    strcpy(sender_status_path, path);
+    strcat(sender_status_path, "/sender-status");
+
+    /* Write the status "ready". */
+    if (!write_status(xs, "ready", sender_status_path)) {
+        err = ERROR_FAIL;
+        fprintf(stderr,"Writing status ready failed\n");
+        goto out;
+    }
+
+    /* Wait for "page_ref" status from other domain. */
+    if (!wait_for_status(xs, fd, receiver_status_path, "page_ref")) {
+        err = ERROR_NOT_READY;
+        goto out;
+    }
+
+    num_pages = get_num_pages(xs, path);
+    if (num_pages == 0) {
+        fprintf(stderr, "no pages allocated\n");
+        err = ERROR_FAIL;
+        goto out;
+    }
+
+    page_ref = get_page_ref(xs, path, num_pages);
+    if (page_ref == NULL) {
+        fprintf(stderr,"page ref is null.\n");
+        err = ERROR_FAIL;
+        goto out;
+    }
+
+    if (copy_overlay_to_domU(domain_id, overlay_dt_domU, overlay_dt_size,
+                             page_ref, num_pages)) {
+        fprintf(stderr,"Copy overlay failed\n");
+        err = ERROR_FAIL;
+        goto out;
+    }
+
+    /* Write the status "done". */
+    if (!write_status(xs, "done", sender_status_path)) {
+        fprintf(stderr,"Writing status DONE failed\n");
+        err = ERROR_FAIL;
+        goto out;
+    }
+
+/* Cleanup */
+out:
+    if (xs) {
+        close(fd);
+        xs_unwatch(xs, path, "overlay_watch");
+        xs_close(xs);
+    }
+
+    if (path)
+        free(path);
+
+    if (page_ref)
+        free(page_ref);
+
+    return err;
+}
+
 int main_dt_overlay(int argc, char **argv)
 {
     const char *overlay_ops = NULL;
@@ -1339,11 +1671,16 @@ int main_dt_overlay(int argc, char **argv)
     rc = libxl_dt_overlay(ctx, domain_id, overlay_dtb, overlay_dtb_size, op,
                           auto_mode, domain_mapping);
 
-    free(overlay_dtb);
-
-    if (rc)
+    if (rc) {
+        free(overlay_dtb);
         return EXIT_FAILURE;
+    }
+
+    if (domain_id && auto_mode && (op == LIBXL_DT_OVERLAY_ADD))
+        rc = share_overlay_with_domu(overlay_dtb, overlay_dtb_size,
+                                     domain_id);
 
+    free(overlay_dtb);
     return rc;
 }
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:36:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711033.1110710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQc-0005xC-Np; Wed, 24 Apr 2024 03:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711033.1110710; Wed, 24 Apr 2024 03:36:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTQc-0005wj-JP; Wed, 24 Apr 2024 03:36:14 +0000
Received: by outflank-mailman (input) for mailman id 711033;
 Wed, 24 Apr 2024 03:36:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQa-0003iy-T2
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:12 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2414::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb35a9e6-01eb-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 05:36:12 +0200 (CEST)
Received: from MN2PR07CA0004.namprd07.prod.outlook.com (2603:10b6:208:1a0::14)
 by SJ2PR12MB8807.namprd12.prod.outlook.com (2603:10b6:a03:4d0::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:36:08 +0000
Received: from BL6PEPF0001AB78.namprd02.prod.outlook.com
 (2603:10b6:208:1a0:cafe::79) by MN2PR07CA0004.outlook.office365.com
 (2603:10b6:208:1a0::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:08 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB78.mail.protection.outlook.com (10.167.242.171) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:08 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:02 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:35:47 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35: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: cb35a9e6-01eb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VKjPkG16JDzf28E8cqXwwG9S2AS1BHqoMnmCc5N+2h5q//y8QgPKPJfRhbbaSgg8Rcmh8O6Ks3PorLXhHOYk5e3a0HoXzsbjHgvvF4/JNfEyxz2FStCWjo9/twXuhb5uzNIBbevi7FTHq/1oA1TXVRPLB3jH0Oh57NaPxY78lsTLUY5/pLNt3amysvHsNaK8IipXu10cUumvw46rVB/FDr07w8TWvac010KBBWSBLg4MQ2DLxOqoymVoFj07OtDKIFK0uDxrkk9/UItq9gj6GYo0gvwi0IfbUKqqFQa1IWMIZubkuHiUn1KkrnH9BGxD+nrXADJnMnq+QsDGx7dxKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6RfZgheYZN0zbH6UoyVjyXZAc0SA9g0gkM7LgGJzRro=;
 b=TOJf1ZVmePm2dQqUewh1WtxQy5iMttMiDZjLME1dT/F93wFwj2aJE2Mc6iu/PQmUpfXaOfH0dMdO6mEq7RLxJ1I2nd7jQjjY37+f52+ZbPQe4qGFWoSFp/9TVZTKp9IMvJc1HkpEn1iv33QL0Frr4RSIb6nEhO7VfXnBRwGuwGA0TsnfTgd9UCPJKDPWrVRaYEsdDMPxwKNPV1ROjrnI07VLANXrSTZY6Y5Z8eJNd1WgnLsdtxlN0TK8gmhYAIV33EBo/M3FYlhWbFdpOrttPyh6fevOquYUUSYvoa91MRfH2Et54T7LQ1N1OHOVp6WSHGZon2WzXJbu+QnK/ERWmg==
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=6RfZgheYZN0zbH6UoyVjyXZAc0SA9g0gkM7LgGJzRro=;
 b=eOlaPU3LA3MDHeFN6N31GGmxaf5OeCIS5+fUz15LcznbWS+zLBk0c7dHZbm5TR2jG3SjXc49RehCa9tYOT2c0Z4u1rOoccRZ0VEPcH6L49UyhHZDZhBFOBEsg4VoY2CDnZA18csW+Inz+QJluJNYBVprvATll+0Jl0uMCeUm59Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <vikram.garhwal@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 06/15] rangeset: Move struct range and struct rangeset to headerfile
Date: Wed, 24 Apr 2024 11:34:40 +0800
Message-ID: <20240424033449.168398-7-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB78:EE_|SJ2PR12MB8807:EE_
X-MS-Office365-Filtering-Correlation-Id: a87d3345-30c1-4fc3-be94-08dc640fadc3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?TTenfAeORr62R9ETBpCqotM4RBldnGR5wgtZctDhmqyjE4GdEyWJmfZwSN0x?=
 =?us-ascii?Q?4p4sGTGC0peXWBwvnsZpVhcBCovsdl47RxBvp9wcJ6uLhOm81fTG9OWpWdWW?=
 =?us-ascii?Q?7EcQQNUtbVgBZfnD6AyOUzSpQYIgdRLSP/m/+0dJ2O5/twuvaVFA7eyoSDGZ?=
 =?us-ascii?Q?rqJM/HvLwYvqzGUTT2c4EwDeAJvR28xZ7Z9kdmxV8MGaPI4fSkNkGVDS6Z3l?=
 =?us-ascii?Q?mjV5+Oe52FIMsiEbQ5W3g4MRYRDe6tOeus72LX/8O4MUn9FQqYYPN3WGprps?=
 =?us-ascii?Q?HxEBr9O4PZdysiXLTBS1hPOxKKa9M+AlNv6D3yTlrwhgaIJJpHcfR8MGGuBu?=
 =?us-ascii?Q?BKh9dhUiMBkAqZ3KTykGlBzYgW6GNlV9c5mHgcKLo/qUtZfDPWfnzWpzRU6i?=
 =?us-ascii?Q?ppP2ftGYx/N5lO0FtXDRLjwiJx9va/7irm0Jrf2Awqx07CWbMCbsnHwqHgDJ?=
 =?us-ascii?Q?ISsDUP0+pzh+RRzv/NGQ7KJ+4OuxCD+vU0HLb4FHSGPozNrX5ObRD/cXxMLZ?=
 =?us-ascii?Q?pIIOKhulcH3Fc64QOBa1/ZkZA86bnI0ZmacEuGpTBTWTNS2CTkK7cHCgzzL4?=
 =?us-ascii?Q?tQAfKYbS8pOR4MDqOrVV04Vwun7vzfvRRZnA9Tp9TeaxL5zS6C5ubQvSLYO1?=
 =?us-ascii?Q?bvN4DVzycjFhYB/gQtkZAxLtF3L+ihx8IJBAV/MyIoUxWHx/5WoYnodit0k4?=
 =?us-ascii?Q?bj/nlVwlVmrl9mhz6LwJOAe6rpcp+kgJBNgdzaxJB0Pwm59RGnVo/PA8bNfc?=
 =?us-ascii?Q?GvZaSONSPKhPBRq6zIV3q95coQaa8u8DC5sER9zmH4eKzHBY4zC/dwpTEBFd?=
 =?us-ascii?Q?2Q8fJ8mgoXEPjsGjeL6dVUwQCkY/EjU1JMYpR//eg2Spn5sqvmfR45qyDLDf?=
 =?us-ascii?Q?HNQqWhCKejz1wTigWXDxIo1a6swHfLFRw/yAzXQx+YbkcyHpM9kwv3RJ/7rR?=
 =?us-ascii?Q?SVvzoSonhNqoG9y1R9UopaxltjldqjFqombBBvMO0ao29wMFCE1BPzSAN1Rh?=
 =?us-ascii?Q?A3WJs1GkskHvvlDDkkxNw0zko+Eamei5WgjXsfabALMRxJW1L15qL39189HH?=
 =?us-ascii?Q?ucHuvXyME5NaXtBVdGX75JfCY5Gd1g/a3YNinQriw5P3VgwY+0OjoUHdNClU?=
 =?us-ascii?Q?yXk6Dpyf2im365JeQStU04geXQMA+CRb5qL0ALq0vHPJalJEuyMC1WUWk2ng?=
 =?us-ascii?Q?8kcglfYtOMOFeIn5JWEI+720iECUHxxHCW3gAgT6nqWl5SrNKNSnnF5C3gKX?=
 =?us-ascii?Q?Svp5yq1tjLKg/CiqwizctQgy/kz/D3XzCQUWG9J713ShQ2q66sNBEZoHj2Fy?=
 =?us-ascii?Q?fKmnH9D7duBORVA6300ZuavsbxbAp42fWnq8VudqK7ZONS+8de05MwJ8njMI?=
 =?us-ascii?Q?C3AckRQyZOzFnWNrpAauwizaUffL?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:08.1872
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a87d3345-30c1-4fc3-be94-08dc640fadc3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB78.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8807

From: Vikram Garhwal <vikram.garhwal@amd.com>

Move struct range, rangeset and removed static from first_range and next_range().
IRQs and IOMEMs for nodes are stored as rangeset in the dynamic node addition
part. While removing the nodes we need to access every IRQ and IOMEM ranges to
unmap IRQ and IOMEM from the domain.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 xen/common/rangeset.c      | 31 ++-----------------------------
 xen/include/xen/rangeset.h | 32 +++++++++++++++++++++++++++++++-
 2 files changed, 33 insertions(+), 30 deletions(-)

diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c
index b75590f907..d3f4297e41 100644
--- a/xen/common/rangeset.c
+++ b/xen/common/rangeset.c
@@ -12,31 +12,6 @@
 #include <xen/rangeset.h>
 #include <xsm/xsm.h>
 
-/* An inclusive range [s,e] and pointer to next range in ascending order. */
-struct range {
-    struct list_head list;
-    unsigned long s, e;
-};
-
-struct rangeset {
-    /* Owning domain and threaded list of rangesets. */
-    struct list_head rangeset_list;
-    struct domain   *domain;
-
-    /* Ordered list of ranges contained in this set, and protecting lock. */
-    struct list_head range_list;
-
-    /* Number of ranges that can be allocated */
-    long             nr_ranges;
-    rwlock_t         lock;
-
-    /* Pretty-printing name. */
-    char             name[32];
-
-    /* RANGESETF flags. */
-    unsigned int     flags;
-};
-
 /*****************************
  * Private range functions hide the underlying linked-list implemnetation.
  */
@@ -57,8 +32,7 @@ static struct range *find_range(
     return x;
 }
 
-/* Return the lowest range in the set r, or NULL if r is empty. */
-static struct range *first_range(
+struct range *first_range(
     struct rangeset *r)
 {
     if ( list_empty(&r->range_list) )
@@ -66,8 +40,7 @@ static struct range *first_range(
     return list_entry(r->range_list.next, struct range, list);
 }
 
-/* Return range following x in ascending order, or NULL if x is the highest. */
-static struct range *next_range(
+struct range *next_range(
     struct rangeset *r, struct range *x)
 {
     if ( x->list.next == &r->range_list )
diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
index 96c9180825..cd80fd9179 100644
--- a/xen/include/xen/rangeset.h
+++ b/xen/include/xen/rangeset.h
@@ -13,7 +13,37 @@
 #include <xen/types.h>
 
 struct domain;
-struct rangeset;
+
+struct rangeset {
+    /* Owning domain and threaded list of rangesets. */
+    struct list_head rangeset_list;
+    struct domain   *domain;
+
+    /* Ordered list of ranges contained in this set, and protecting lock. */
+    struct list_head range_list;
+
+    /* Number of ranges that can be allocated */
+    long             nr_ranges;
+    rwlock_t         lock;
+
+    /* Pretty-printing name. */
+    char             name[32];
+
+    /* RANGESETF flags. */
+    unsigned int     flags;
+};
+
+/* An inclusive range [s,e] and pointer to next range in ascending order. */
+struct range {
+    struct list_head list;
+    unsigned long s, e;
+};
+
+/* Return the lowest range in the set r, or NULL if r is empty. */
+struct range *first_range(struct rangeset *r);
+
+/* Return range following x in ascending order, or NULL if x is the highest. */
+struct range *next_range(struct rangeset *r, struct range *x);
 
 /*
  * Initialise/destroy per-domain rangeset information.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:43:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:43:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711053.1110725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTXs-0000cn-P8; Wed, 24 Apr 2024 03:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711053.1110725; Wed, 24 Apr 2024 03:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTXs-0000cN-Lb; Wed, 24 Apr 2024 03:43:44 +0000
Received: by outflank-mailman (input) for mailman id 711053;
 Wed, 24 Apr 2024 03:43:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQk-0003iy-7f
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:22 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2414::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d10f4b04-01eb-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 05:36:21 +0200 (CEST)
Received: from BLAPR03CA0133.namprd03.prod.outlook.com (2603:10b6:208:32e::18)
 by CH2PR12MB4246.namprd12.prod.outlook.com (2603:10b6:610:a9::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:36:16 +0000
Received: from BL6PEPF0001AB75.namprd02.prod.outlook.com
 (2603:10b6:208:32e:cafe::c9) by BLAPR03CA0133.outlook.office365.com
 (2603:10b6:208:32e::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:16 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB75.mail.protection.outlook.com (10.167.242.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:15 +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.35; Tue, 23 Apr
 2024 22:36:15 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:36: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: d10f4b04-01eb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PGCbezdktqld2vbBB95zhs1DELJyKC2mW/o9ZQKBEqJXWqGlJ2PbyfnyX+xqbiKHgXEfsPej918SG/oOmKJZPOJhjlHIhtPFGiNdx2MGdhjTQrBXTSXtNCgDaE0HAK4V8redAX422glkagWeg7zZo4dZFpkhNkZVjx3HojLjuJsGxqzWcLykDtIsQn8kJQwpGPPL+fCGbx+MifftvlycEndEMjAE/tpWJQSTDFhZ3R7wS839k1DS3dASn/+X2Lo0Ojw3JR9RKy4DQ+6wgDl273yeGWKitQuQFbdFlfdt6oEoryuGHIbZQWZ3Zdl13NH6l82EPQQ7ZKjaAo7ZDoQESw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YTNLBtjiYYmlxApKNXyZCt+SLybH8i5qLWCARszzQRM=;
 b=gEHr/K4qysy9Yk+pLTqnSiYCjEA3L0iAQ3gDFdG30ftOVikzJ5zyDgHtSJB6yTHILUJ2ffbq6qsWnTKls6H4RRjZ7Wu99dsjpw5ylAkznw9p63vmLulwROmkiqPyDl3YgwIZwgNN5qThwUwmR7Vo08u1kdJAiFcblYvGU6nReNaeHP3L6iHCBrgvHii0sqz6Rqe/SbytYLvEIThbMhY4Vf/clhsTPEsG4LJbZ4SLjDeL415QwWtO0GG2tLWqui7oMjwnIqwbtm/Ng5d/lbsBaUyun01pTFDeGvS5pCtZ6I9NKcLEsqhm0jvjX9PG0ciyFPyeo0uofYdwGWMkatXOrw==
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=YTNLBtjiYYmlxApKNXyZCt+SLybH8i5qLWCARszzQRM=;
 b=TyhUEB8xgPQSpvDftFo5LvIY70qHo/Eo+KTUqPjOuH+sDEqCbZWE3DAoEfwPMLGZtZ4VOJ7EM4DLrvsh/yhgLrM1ooEXppfitRTxR1xphnMSDBzOYWI/t52xR/p6y7EItVAbPnOINCrJrnd+tSHe6lWcZW1096PKYeklj5Dz3ag=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 15/15] docs: add device tree overlay documentation
Date: Wed, 24 Apr 2024 11:34:49 +0800
Message-ID: <20240424033449.168398-16-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB75:EE_|CH2PR12MB4246:EE_
X-MS-Office365-Filtering-Correlation-Id: 6846187a-e152-4a97-c74c-08dc640fb25a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?PGGIThaCJFQX0jXmTSnPba5ZGxXovPsG4o001npZbHll1SNu6Nd5xRq+2Pno?=
 =?us-ascii?Q?KYbv9ZmjTf1Mrl7v4DCRo3AN6ZDx1KMIeTL8h91GBsycf4ZQYgpIuDkd+u/B?=
 =?us-ascii?Q?Ka/NyKU29s1ZaXJsex7ZovFfoJJkth57+ixi0KR5lHZ2NCvJNiICe68z+AGa?=
 =?us-ascii?Q?M5NdcpKUyU1U/up/AG3pcxNhX3M1LTAO6bMQH/Bu4/9PCYqQnjT1FSTFghEO?=
 =?us-ascii?Q?xX5MEvkRPXvXRz094DE9WhZC/ucvUlRDhz4hRIU3puOrztB4QdIJPkAvibI9?=
 =?us-ascii?Q?xuMigunKYi4YgkSdAS3ThgaiI2V8d+x/un2pR0aLNTfjSXrsPfopW8Cjp6Oa?=
 =?us-ascii?Q?H4ABp59aJ+wCW7MrArKzUBYRBiWal2JDPAkrsN5St1L3+wBAz43e/srs+gsk?=
 =?us-ascii?Q?xgNXpeMUaKwP1S6t3IbQtp/DOSRHFgxy5ykTH5KDawqjrH8pyiVayM8qqhfa?=
 =?us-ascii?Q?ZLLldCltPxp8RvlAP0Qv1FZILXBc9pnJsoUnCpxaj49B4E0FD/ipTT4bv4FG?=
 =?us-ascii?Q?sgciItgH8jvC8JvJtxCuIGHG08L1s4mOKjdv/fr/BAhSb8Trz87KSA+HYRb8?=
 =?us-ascii?Q?xuyodhwUo5F1ep1T4qVsc4hEwsXT6hFWZiW7KvMr8Fa3i/AFsH6cQjX8nviv?=
 =?us-ascii?Q?N+wOODMBmisXc80M9X9IJhrcpxYyw5NyMQImi142twSZlAnbBOm2XjAXY/WU?=
 =?us-ascii?Q?BbzgJH0gkdp0L2NXt3fyOv8FiNKFzOsz77i9emAyrlA435u+DOs5ntZHMDES?=
 =?us-ascii?Q?xA3qnTjBH2PEUbuwHh/p+gHyZ6ovrl0o1niy787QMmXSqL7Nv4tPyHbcTU5x?=
 =?us-ascii?Q?Q4WVIeRfTMds5ja/Gq3nR6Fdzmvx/QucEF7GyxoJQ4XvSVV5U6hMnqB68ja7?=
 =?us-ascii?Q?VL/kAKpzA+lG+12BEMLaGMJQMgqYLk3W+kbKl/DRuaDby2FkSwvdvYxPG0oM?=
 =?us-ascii?Q?H1JryQTeDVvVPPN7yespSbSac+9IKRzJ3g2IG0+TegBJjhuE2jnnfocVWz51?=
 =?us-ascii?Q?K+8cVeEY/Y8l8IRqsnJsNrsrnkxq77/mp7F3QsfV1bq46JfR5hFw6cP79Mw2?=
 =?us-ascii?Q?wXc4mJPKGhquNhM25KBe6tyK/Lf3ZkXmsTwP8NpjM31X///cGYHAMoLh16Om?=
 =?us-ascii?Q?Ac7HnzHiB/7c3KTRS11Y1lsGtepKwo281uV+BX6yZSSxwOfKQbCBNm0VZy24?=
 =?us-ascii?Q?PvGR7wChR/BUTH0npnBTNyuMgQYrRtKPZoWDJiRGl//rPS3wWDqhd8ppQH+y?=
 =?us-ascii?Q?WgjwCOkpIi/X0vxgzlhtbbOgc2vkkXrWeIV7CMsA30I7VpVz0yFNIOxi1pyl?=
 =?us-ascii?Q?i03kw0Pj3BDQkYh0BIjSSNQbAwNo5gmZvoiO49u9fN8S6d4Jpkm60nGojeTq?=
 =?us-ascii?Q?J7kB5k8=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:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:15.8879
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6846187a-e152-4a97-c74c-08dc640fb25a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB75.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4246

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 docs/misc/arm/overlay.txt | 172 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 172 insertions(+)
 create mode 100644 docs/misc/arm/overlay.txt

diff --git a/docs/misc/arm/overlay.txt b/docs/misc/arm/overlay.txt
new file mode 100644
index 0000000000..0351f82a19
--- /dev/null
+++ b/docs/misc/arm/overlay.txt
@@ -0,0 +1,172 @@
+# Device Tree Overlays support in Xen
+
+Xen now supports dynamic device assignment to running domains i.e.
+adding/removing nodes (using .dtbo) in Xen device tree, and assigning
+them to a running domain with given $domid.
+
+Xen supports two modes of operation: normal mode and expert mode for
+assigning nodes to domU. More on this below.
+
+Dynamic node assignment works in following ways:
+
+1. Xen tools check the dtbo given and parse all other user provided arguments
+2. Xen tools pass the dtbo to Xen hypervisor via hypercall.
+3. Xen hypervisor applies the dtbo to Xen device tree and assign the
+   dbto's node resources to the user-provided $domid.
+4. For normal mode,  Xen tools share the modified dtbo with domU. domU needs
+   to run get_overlay.sh to get the dtbo from dom0 and apply the
+   overlay. get_overlay.sh uses get_overlay application for data transfer
+   between dom0 and domU.
+
+
+# Overlay Sharing protocol based on Xenstore
+
+The overlay sharing protocol with domU works in the following ways:
+
+1. get_overlay creates Xenstore path data/overlay and creates the
+   following nodes under data/overlay path:
+       a. receiver-status
+       b. sender-status
+       c. overlay-size
+       d. overlay-name
+       e. overlay-type
+       f. overlay-partial
+   and write "waiting" on receiver-status and "not_ready" to sender_status.
+
+2. libxl waits for "waiting" status on receiver-status, then writes
+   "overlay-size" with dtbo size and "ready" on "sender-status".
+
+3. get_overlay waits for "sender-status" to "ready", then allocates the
+   pages, next it shares the pages with dom0 (the page-ref num) by creating
+   page-ref node under /data/overlay and finally writes "page-refs" to
+   "receiver_status".
+
+4. libxl waits for "receiver-status" to become "page-refs" and copies
+   the data to buffer allocated with page_refs. libxl also writes the
+   "overlay-name", "overlay-type", and "overlay-partial" nodes with
+   user-provided information.  Lastly, libxl writes "done" to
+   "sender-status".
+
+6. get_overlay waits for "sender-status" to be "done".
+
+7. get_overlay copies the data and writes it to file.
+
+8. Finally, get_overlay unshares the pages with dom0.
+
+Note: get_overlay application needs two drivers xen_gntdev and xen_gntalloc in
+Linux. These can be loaded using modprobe xen_gntalloc and modprobe xen_gntdev.
+
+
+# Examples
+
+Here are a few examples on how to use it.
+
+## Dom0 device add
+
+For assigning a device tree overlay to dom0, enter the following:
+
+    (dom0) xl dt-overlay add overlay.dtbo 0
+
+This will allocate the devices mentioned in overlay.dtbo to Xen device
+tree and will assign these devices to dom0.
+
+Next, if the user wants to add the same device tree overlay to dom0
+Linux, execute the following:
+
+    (dom0) mkdir -p /sys/kernel/config/device-tree/overlays/new_overlay
+    (dom0) cat overlay.dtbo > /sys/kernel/config/device-tree/overlays/new_overlay/dtbo
+
+Finally if needed, the relevant Linux kernel drive can be loaded using:
+
+    (dom0) modprobe module_name.ko
+
+
+## Dom0 device remove
+
+For removing the device from dom0, do the following:
+
+    (dom0) xl dt-overlay remove overlay.dtbo
+
+NOTE: The user is expected to unload any Linux kernel modules which
+might be accessing the devices in overlay.dtbo. Removing devices without
+unloading the modules might result in a crash.
+
+The following is an incorrect sequence:
+
+    (dom0) xl dt-overlay add overlay.dtbo 0
+    (dom0) xl dt-overlay remove overlay.dtbo
+
+The last command only removed the nodes from the Xen dtb but it did not
+deassigning irq/iommus from dom0. This will result in unhandled
+behavior. The correct sequence is to deassign the nodes from dom0:
+
+    (dom0) xl dt-overlay remove overlay.dtbo 0
+
+
+## DomU device add/remove
+
+There are two modes supported for domU use cases: expert mode and normal
+mode.
+
+
+### Expert mode
+
+All the nodes in dtbo will be assigned to a domain; the user will need
+to prepare the dtb for the domU. User will also need to modprobe the
+relevant drivers.
+
+Example for domU device add:
+
+    (dom0) xl dt-overlay add overlay.dtbo $domid
+    (dom0) xl console $domid  # to access $domid console
+
+Next, if the user needs to modify/prepare the overlay.dtbo suitable for
+the domU:
+
+    (domU) mkdir -p /sys/kernel/config/device-tree/overlays/new_overlay
+    (domU) cat overlay_linux.dtbo > /sys/kernel/config/device-tree/overlays/new_overlay/dtbo
+
+Finally, if needed, the relevant Linux kernel drive can be probed:
+
+    (domU) modprobe module_name.ko
+
+Example for domU overlay remove:
+
+    (dom0) xl dt-overlay remove overlay.dtbo $domid
+
+
+### Normal mode
+
+Libxl modifies the dtbo suitable for the domU. Currently, it does basic
+modifications like updating "target-path" and "interrupt-parent" to make
+them compatible with the domU device tree. Please note that this might
+not work for nodes which need more complex adjustments. The user needs
+to make any required changes for complex overlays and modprobe the
+required Linux modules.
+
+For normal mode, the user is also required to input below three parameters:
+
+a. overlay_node: the name
+b. overlay_type: whether the nodes are fpga nodes or normal nodes
+c. partial or full overlay type: only needed for fpga overlays
+
+Example for domU overlay add:
+
+    (dom0) xl dt-overlay add overlay.dtbo $domid overlay_node_name overlay_type is_partial
+    (dom0) xl console $domid  # go to $domid console
+    (domU) ./usr/lib/xen/bin/get_overlay.sh
+
+Finally if needed, the relevant Linux kernel drive can be loaded:
+
+    (domU) modprobe module_name.ko
+
+Example for domU overlay remove:
+
+    (dom0) xl dt-overlay remove overlay.dtbo $domid overlay_node_name overlay_type is_partial
+
+The get_overlay.sh script automates the following:
+
+a. gets the modified overlay.dtbo from dom0 using Xenstore transactions
+b. applies overlay.dtbo to the domU Linux device tree depending on what
+   type of overlay it is
+c. removes the overlay nodes from device tree when the user requests it
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:43:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:43:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711057.1110735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTY1-00013D-1M; Wed, 24 Apr 2024 03:43:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711057.1110735; Wed, 24 Apr 2024 03:43:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTY0-000136-Sj; Wed, 24 Apr 2024 03:43:52 +0000
Received: by outflank-mailman (input) for mailman id 711057;
 Wed, 24 Apr 2024 03:43:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQg-0003iy-A8
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:18 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:200a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce1f1d0c-01eb-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 05:36:17 +0200 (CEST)
Received: from BL0PR0102CA0061.prod.exchangelabs.com (2603:10b6:208:25::38) by
 PH8PR12MB7206.namprd12.prod.outlook.com (2603:10b6:510:226::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7519.22; Wed, 24 Apr 2024 03:36:12 +0000
Received: from BL6PEPF0001AB73.namprd02.prod.outlook.com
 (2603:10b6:208:25:cafe::1) by BL0PR0102CA0061.outlook.office365.com
 (2603:10b6:208:25::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB73.mail.protection.outlook.com (10.167.242.166) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:11 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:11 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:36:10 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:36: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: ce1f1d0c-01eb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ghRDvkE9FCgwOryUffkQ9/MwMaiV/3XgkUUbsRiyZV1Ju4JDEoOE3d4quczvM9RU7t801t4SWP4jZUvyJC8LNHE3XjA6EWqNofTeXngVmMIKXBfO3QkqYH7/j0rkmtWNvW5H3nzSxGpEBqrgZqPqqUbdzyDYoU91RCcot+qwc8x7cNKoB9x2vD6LSQLDM5nn1DJRVapKLpnBQxQJZRk6zaFECljOYc1rn+LhrFe7uRD4/ZPaUeksycAUVPwfUtsFp9a4RPexFbcufFjVFBk7DyXDav1aJB36xf9JFmN6ah7PqL5S63oKsqRxzbZc1CC3nMJjy2Z+HThri4PqG7ZaNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AQUYI8nFNauA8Eqc+dTwkfBb4u7bvFl+DOSdQh9a2O8=;
 b=Hg6AyUF//gVHUUAvePooLAjWKg3lzfTBVFQLY6PPF/xxFCSWjQ+TK16Czg9ySV4aMUFCYYaGQi8aboE2dXunUVGvJpRcMHVL9w/SLbiBH+V0rZZ92mzDioo+8GIvXokuqXL3pVEaqvSV39iFs5n7B0caaSOhIpH/UkWirBvOvgIbA7z2MrPyPB42ZQvbpixxAtzNeQ7i+mpblIj4X1Ub7YFHVgBQ9D5Sbl5fNnl8jFj2CV7Xrlw9f/T8DV0JoQODNk5JcLSDpKXntEDo4bs58m6DWag0cnACnlDoFh/xh2b/Ei+B/5i7vAr8MPqhr2jBRnktrXwQuyQPewhT7eX/lQ==
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=AQUYI8nFNauA8Eqc+dTwkfBb4u7bvFl+DOSdQh9a2O8=;
 b=NB4Jbd0TLDTXBfahb8afVzymAvLYtFwrQWa+qWp2ymRyc6DC4Vs0Mbg2aESyxRy3j2dMZG41qgbf6+e2725bNGYK20CLCC+Iw97kBjh4YxVwmlERzQFPkBE0E1mxxiB7kOWfBDfTRkNzvAV6tli3vabUSuEv0F9gQyN82zz1JBE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 13/15] xl/overlay: add remove operation to xenstore
Date: Wed, 24 Apr 2024 11:34:47 +0800
Message-ID: <20240424033449.168398-14-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB73:EE_|PH8PR12MB7206:EE_
X-MS-Office365-Filtering-Correlation-Id: 3df460e3-5aae-437d-590a-08dc640fafa2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|1800799015|82310400014|376005|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?TdSarGKTVe51lz0a5kBmLLtN4JH9E1C/limauW/385+6HgkrE0eLPd7S4OUz?=
 =?us-ascii?Q?tr2+yOqQW6YtjGty/LjAuVxVFqFFf7goUCzFmJdvslNm4AY6lPm4POtW042a?=
 =?us-ascii?Q?Z4wqyYUiwKYK8tMt74ZV1sgNQNRR45CKZGgJ4Saze56BFdeYf84UhmLM8FPi?=
 =?us-ascii?Q?6xrKF09ueQAr+ccZ7RgF/pTv0DEE9W0eRhHj2nmNbHCeMdlG8K1M3pPsJwt8?=
 =?us-ascii?Q?CWDwovIUm3c3+8bX813nbCI7XGz8/r3i6Z1CAsgakI2m/KPV2UA996gvVxnP?=
 =?us-ascii?Q?wZLSEzluNRZRhMHRa0EQ2FgrhaqhgV7K6y9l4q8P9xboPHzULrKGUF03XUCR?=
 =?us-ascii?Q?eFpGTBj6EwFM8cfo/21C8sfwsaZnZNmJyR8lD5wjfLyUNKJLu37RPJGOqKoi?=
 =?us-ascii?Q?3swZzAJwMSq+egrEmq7AJhAY/f1oqbEmpYtBvw69JJnupDXn/xKr4yprInt+?=
 =?us-ascii?Q?cU1F7yA5Y3E2jaxsk6uNEJi4De1yuo5n3yU59YsGMAoYNcvti3JkkUZ9Ph/+?=
 =?us-ascii?Q?SZlEzXBZ9ST5i/SYtNk3oFnnxmmelY0lPgvovnlMOBPf8WoCex89AVFX7mqz?=
 =?us-ascii?Q?XMXuEuewBAekC0OW5Pl681djcBJ77DneVOaK488Y7Db6yzS9q0lxeO1pUoaF?=
 =?us-ascii?Q?N+lL7R+KtzItyau3rt0qXWzRS6LUZooovv5Q0ruSqTav1Sbrty6JItgdDo+I?=
 =?us-ascii?Q?BUp1fXDvWAsz75D1C2l/1LIxtZL10fYXATi54w63VeY5olLnu2QOTJ49a6tv?=
 =?us-ascii?Q?Uh0F3gTzII+fD/9ds7YsVyQpr6jqocrPphLj/NTSmmPmkr/R2HKFWaoC6RaZ?=
 =?us-ascii?Q?5nP+Ik7e8njzpwfPP90eRhKAvgbI/oZsLalsVRMUMi/nb46LFd3mjexBA1D8?=
 =?us-ascii?Q?MKz3jIgeBmuk8KHHKpF1opR+WMpEVkca7PY7MyVHIBrzMBgmHtAqLQrGQ9bh?=
 =?us-ascii?Q?A0QL3NPJ9DjkDQnUOvKdJ4CxjStGBM1HGK/8a1kNBeVHw/YjOT/nL1uXuT+U?=
 =?us-ascii?Q?d69mOLMOXh73V/rcMt8/dB3C7WgSqkso0X/QmpjTyXXh1eLZJan2fYsgyTSX?=
 =?us-ascii?Q?ajRdKce8GM3lyERucDqAKr0akogONq2LmNVm6/qphCG8pak1O3NPGIdWfN8S?=
 =?us-ascii?Q?G0W+vwrRQUm157twupH4QzCenPJe5OAjlbl0zIPuw72QwGphN/xKx/VL7BGm?=
 =?us-ascii?Q?WiuDtXE1s2EJNne9CXKw7vPw70h1Onu7A2805l/Mg/+FSBa/SDV7gRmYi44l?=
 =?us-ascii?Q?+/SJl7oiKYOR8ZTlYaKbypN4lAnwx2wB0vr4kL5XMKuRa2jROMlgFRDbc8+T?=
 =?us-ascii?Q?htdxTWZI7OaapO+oigcGabM+Cx1GBC9epj2MhUSSujgHVmZy9fYL5EsagACb?=
 =?us-ascii?Q?oCyHnhc=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:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:11.3238
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3df460e3-5aae-437d-590a-08dc640fafa2
X-MS-Exchange-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:
	BL6PEPF0001AB73.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7206

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Add 3 new command line parameters to the xl overlay command: overlay
name, type and partial. Pass these paramters to the domU via xenstore.

Also introduce support for "operation" in xenstore: it can be "add" or
"remove". In case of "remove", the overlay is to be removed from the
domU device tree.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/xl/xl_vmcontrol.c | 184 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 173 insertions(+), 11 deletions(-)

diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index 2bf76dd389..ddd6e9e370 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -1466,8 +1466,123 @@ static uint32_t get_num_pages(struct xs_handle *xs, const char *xs_path)
     return num_pages;
 }
 
+static bool write_overlay_operation(struct xs_handle *xs, char *operation,
+                               char *path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+    char buf[128];
+    char ref[64];
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        return false;
+
+    snprintf(ref, sizeof(ref), "%s", operation);
+    snprintf(buf, sizeof(buf), "%s/overlay-operation", path);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        return false;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return false;
+    }
+
+    return true;
+}
+
+static bool write_overlay_name(struct xs_handle *xs, char *name,
+                               char *path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+    char buf[128];
+    char ref[64];
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        return false;
+
+    snprintf(ref, sizeof(ref), "%s", name);
+    snprintf(buf, sizeof(buf), "%s/overlay-name", path);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        return false;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return false;
+    }
+
+    return true;
+}
+
+static bool write_overlay_type(struct xs_handle *xs, char *type,
+                               char *path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+    char buf[128];
+    char ref[64];
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        return false;
+
+    snprintf(ref, sizeof(ref), "%s", type);
+    snprintf(buf, sizeof(buf), "%s/overlay-type", path);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        return false;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return false;
+    }
+
+    return true;
+}
+
+static bool write_overlay_partial(struct xs_handle *xs, bool is_partial,
+                                  char *path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+    char buf[128];
+    char ref[4];
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        return false;
+
+    snprintf(ref, sizeof(ref), "%d", is_partial);
+    snprintf(buf, sizeof(buf), "%s/overlay-partial", path);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        return false;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return false;
+    }
+
+    return true;
+}
+
+
 static int share_overlay_with_domu(void *overlay_dt_domU, int overlay_dt_size,
-                                   int domain_id)
+                                   int domain_id, char *overlay_ops,
+                                   char *overlay_name,
+                                   char *overlay_type, bool is_overlay_partial)
 {
     struct xs_handle *xs = NULL;
     char *path = NULL;
@@ -1574,6 +1689,34 @@ static int share_overlay_with_domu(void *overlay_dt_domU, int overlay_dt_size,
         goto out;
     }
 
+    /* write overlay ops */
+    if (!write_overlay_operation(xs, overlay_ops, path)) {
+        err = ERROR_FAIL;
+        fprintf(stderr,"Writing overlay_ops ready failed\n");
+        goto out;
+    }
+
+    /* Write the overlay-name. */
+    if (!write_overlay_name(xs, overlay_name, path)) {
+        err = ERROR_FAIL;
+        fprintf(stderr,"Writing overlay_name ready failed\n");
+        goto out;
+    }
+
+    /* Write the overlay-type. */
+    if (!write_overlay_type(xs, overlay_type, path)) {
+        err = ERROR_FAIL;
+        fprintf(stderr,"Writing overlay_type ready failed\n");
+        goto out;
+    }
+
+    /* Write the overlay-partial. */
+    if (!write_overlay_partial(xs, is_overlay_partial, path)) {
+        err = ERROR_FAIL;
+        fprintf(stderr,"Writing overlay_partial ready failed\n");
+        goto out;
+    }
+
     /* Write the status "done". */
     if (!write_status(xs, "done", sender_status_path)) {
         fprintf(stderr,"Writing status DONE failed\n");
@@ -1611,13 +1754,16 @@ int main_dt_overlay(int argc, char **argv)
     int overlay_dtb_size = 0;
     const int overlay_add_op = 1;
     const int overlay_remove_op = 2;
+    char *overlay_name = "overlay";
+    char *overlay_type = "normal";
+    bool is_overlay_partial = false;
 
     if (argc < 3) {
         help("dt-overlay");
         return EXIT_FAILURE;
     }
 
-    if (argc > 5) {
+    if (argc > 7) {
         fprintf(stderr, "Too many arguments\n");
         return ERROR_FAIL;
     }
@@ -1625,17 +1771,22 @@ int main_dt_overlay(int argc, char **argv)
     overlay_ops = argv[1];
     overlay_config_file = argv[2];
 
-    if (!strcmp(argv[argc - 1], "-e"))
-        auto_mode = false;
-
-    if (argc == 4 || !auto_mode) {
+    if (argc == 4 ) {
         domain_id = find_domain(argv[argc-1]);
         domain_mapping = true;
-    }
-
-    if (argc == 5 || !auto_mode) {
-        domain_id = find_domain(argv[argc-2]);
+    } else if (argc == 5 && !strcmp(argv[4], "-e")) {
+        domain_id = find_domain(argv[3]);
+        auto_mode = false;
         domain_mapping = true;
+    } else if (argc == 7) {
+        domain_id = find_domain(argv[3]);
+        domain_mapping = true;
+        overlay_name = argv[4];
+        overlay_type = argv[5];
+        is_overlay_partial = atoi(argv[6]);
+    } else {
+        fprintf(stderr, "Invalid arguments\n");
+        return ERROR_FAIL;
     }
 
     /* User didn't prove any overlay operation. */
@@ -1678,7 +1829,18 @@ int main_dt_overlay(int argc, char **argv)
 
     if (domain_id && auto_mode && (op == LIBXL_DT_OVERLAY_ADD))
         rc = share_overlay_with_domu(overlay_dtb, overlay_dtb_size,
-                                     domain_id);
+                                     domain_id, "add", overlay_name,
+                                     overlay_type, is_overlay_partial);
+
+    if (rc) {
+        free(overlay_dtb);
+        return rc;
+    }
+
+    if (domain_id && auto_mode && (op == LIBXL_DT_OVERLAY_REMOVE))
+        rc = share_overlay_with_domu(overlay_dtb, overlay_dtb_size,
+                                     domain_id, "remove", overlay_name,
+                                     overlay_type, is_overlay_partial);
 
     free(overlay_dtb);
     return rc;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:43:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:43:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711058.1110745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTY5-0001RL-Ao; Wed, 24 Apr 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 711058.1110745; Wed, 24 Apr 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 1rzTY5-0001RB-7i; Wed, 24 Apr 2024 03:43:57 +0000
Received: by outflank-mailman (input) for mailman id 711058;
 Wed, 24 Apr 2024 03:43:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQd-0002In-Kd
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:15 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2414::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc34aefa-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:36:13 +0200 (CEST)
Received: from MN2PR07CA0006.namprd07.prod.outlook.com (2603:10b6:208:1a0::16)
 by DS7PR12MB6357.namprd12.prod.outlook.com (2603:10b6:8:96::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:36:09 +0000
Received: from BL6PEPF0001AB78.namprd02.prod.outlook.com
 (2603:10b6:208:1a0:cafe::32) by MN2PR07CA0006.outlook.office365.com
 (2603:10b6:208:1a0::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB78.mail.protection.outlook.com (10.167.242.171) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:09 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:02 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:35:50 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:35:47 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc34aefa-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MQ6JSNrzJpeerxjmsbGM+jY1aBs+y+YCk4oE7pRxuTHbAX3LTsdlx4v8TgkZP3SbeNRh2M8WG8aL827wzo2R2n5aFaIDD3c2UDB4B9ElW2EDJ89HAihAiRTHBKtpvcSYgBTNS2m68RGyqY8zBR3mRZ3goc+4UkEUg+/A/LtRvH3o9ix1ELlMZTNkSiDL4VEiOlO+6x1kgmdVwFjqLpoQ3LhiVAmZXOoqOPhw2PycSBgcNPlCFqRc2vZoAPUKd77wigfZ2uM9U2dM7NLsJv6SMgYWAqkSBH0a70uCqq/vLvPvFV8QVYaCIEGS59NwHOTPwLXgzEY2vFUi9DN2wVMyww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DTkFoRXnpKJLc0+QsW9+qktSbxTVG+nGYUGcq/+U60w=;
 b=PJFYV6JxgxLJIcKT3wDdeshkOvzFUTSdtbWqmiBYNmvORLnI+8vKrVmWgUECoiYygBD3BDeKyGOrIDH5P5XK6Yg+uLVXzRl2ZaAQRMqCI6+ZzoQilILVfsUOoGKREpvYlUMJjWbqDLV1N4EwkZWQCbc3KyyroHE/XwTCk8U3b8zVDlq1OieDi4ekDxOV3VPLI/PVinRw7tf3Ch540rPyz6asBXDOviX75DCJWdgMScJkjqn7r1nuHv4NIAhLDcldfbHh6PqrG81U5e2cV8PquMdYd+Vs4s9G9h0MTXb5IkMlllq+Z1okRC2DwbGTRdHF62pqw5WXWfx7zpoANcYg/Q==
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=DTkFoRXnpKJLc0+QsW9+qktSbxTVG+nGYUGcq/+U60w=;
 b=mncG7NdhNOZyjEsA5n7OWngNYcGNWtJSNyv7YxuELcahr579douhrAxDB0aFvH5Z+sjeWacBiBAudd/nok8eyRkD6xdudlhS4gJNDYBiIw5ZhuTpYO+hZl4JPKbuJr+4rVfFljm//L5o5g75r65ctnoJFMaGcC7bxsRl3iLzvAw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Vikram Garhwal <vikram.garhwal@amd.com>, "Henry
 Wang" <xin.wang2@amd.com>
Subject: [PATCH 07/15] xen/overlay: Enable device tree overlay assignment to running domains
Date: Wed, 24 Apr 2024 11:34:41 +0800
Message-ID: <20240424033449.168398-8-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB78:EE_|DS7PR12MB6357:EE_
X-MS-Office365-Filtering-Correlation-Id: f4fcf970-eedd-4aa1-dfc8-08dc640fae65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?K85sB8ClB6nQkWsQeYTh18OXfZkGhagob1W4qn1IX09NmR5trNEud9WRU2Ba?=
 =?us-ascii?Q?ClrOIBwJqcIbdL7q+NYAdaI1Jf1vmdxludqH/fjiPEpkUXsu+24LwbvbMKtz?=
 =?us-ascii?Q?CYoSbjAML/1B818XPwqd5dwj0fLUCzO3c3MUT7tX2ny4Gmb9toEEZDP6wrzF?=
 =?us-ascii?Q?AjBICUI6V435+Yq0E8FkX7+q16io4OCkVjHN2Zs0vCz2t52X1fi4bCgST/u0?=
 =?us-ascii?Q?YWeVAq7GIOzLV9IU9nLaVZqmcI0pXmJshqCh6NRrYu+H2IzJ/X3EEiJ3yWll?=
 =?us-ascii?Q?4waYggJnmVQRvdZhOAVoTZjXO8+bsCUVTULVEIhbPWfNXXPhNx2szHCVbZo1?=
 =?us-ascii?Q?Eg5b3p0MDbugWPx97FI+NqUqaGafOwOmSSOWqeR1ke6NatXBbXXTqg4ZzrAi?=
 =?us-ascii?Q?BOixxaKI82W5ZVKis0zBIz6ojN/Cri6hhJG4sEpynTEKQlhp+eo4gB3Ukd1J?=
 =?us-ascii?Q?rkfXU1domeQtIAweSWEMhvDQqMOZWphK3CVsG4+7Sni+1mtwH1qpXJG1rrIP?=
 =?us-ascii?Q?ITXS/EBOXbV32JO7jQTuilGiFOmQ7CgO/CK9PNeP1EJOK938gVSYu2jojkun?=
 =?us-ascii?Q?cf9BjpUukviHP+kTvfZZRrar/N8v8BaJ6dgGI8T3cuWAlmkU+GCHthKd3x4G?=
 =?us-ascii?Q?yX7Wpbbsc0JI47slwOWTMXV5L276y+UurbbLCRX4yVoRf18ScNmUvjPEgj9x?=
 =?us-ascii?Q?m8YyEkUMs9inkK1p9AcFjRK/MzQqqwnHBL/7V29nsctj2lnLv04P3uyxgqMt?=
 =?us-ascii?Q?VDJXegg0byvcmmXj3bQy/6QcQPzNy99AGams/HqHsYXXQx5CMW+0w9s0/qYa?=
 =?us-ascii?Q?ZmlLDLjcFI/wKG2twGLAhWe7wihEfsVlg7LS8Bn7ry159YEjvRO2EmiFhfQC?=
 =?us-ascii?Q?vwTGRybSPuxkWbxHaeVPbXG8g6SnIJP+RW7iUYSeFeD+PAO/JUhYtpvoCTZz?=
 =?us-ascii?Q?mc0rrMAgHe5HfmGeJCQ7nRue2ShP4XtlYq0gjeMx4Or5mNiXSFL7Wln3hzUa?=
 =?us-ascii?Q?ySV5c4RwAFvk1HT8KVSNXz8Uz903+e/VQsc6fbCXR9+PjrIPt6JuB7TyBV8D?=
 =?us-ascii?Q?yrCwRI1UgKoP9xI14w6dHOpWda3wao7dD+wDwdJVLPiD9JN1mqcATUVXy9pm?=
 =?us-ascii?Q?rwkjYLQ/Q5NcyLv7iFfrlvih85FEEay3qycQJID/h3Ev4mOQvVPR5aHDKNp5?=
 =?us-ascii?Q?2QBgUuBvlJuhrImJTRfci2j1SKCqeuurTqz2uW0GAq3JhZ/dwB0t2S/EZ9w8?=
 =?us-ascii?Q?3kRejUrKqsaGhRqK1jW5J7XkDjC+EL9wPJK8HbzXf+VIHm1r9ikk1TIkQ2zj?=
 =?us-ascii?Q?vls2jXr3YlVo0Z05YVIt70S3gbpSap0VUHW/PEgD2qKo3VbfWRjbaoDpZkiz?=
 =?us-ascii?Q?9rQaldw=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:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:09.2498
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f4fcf970-eedd-4aa1-dfc8-08dc640fae65
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB78.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6357

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Following changes are done to enable dtbo assignment to a running vm with given
domain_id:
1. Support for irq map and unmap for running domain. We store the IRQ nums for
    each overlay and while removing those IRQ nums are removed.
2. Support iommu assign/reassign to running domains.
3. Added "map_nodes" options to support two modes:
    a. Add the nodes in Xen device tree and map the nodes to given VM
    b. Just add them in xen device tree without mapping.

Change device.c: handle_device() function with input domain_mapping flag.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 xen/arch/arm/device.c            |   8 +-
 xen/arch/arm/domain_build.c      |   2 +-
 xen/arch/arm/include/asm/setup.h |   3 +-
 xen/common/dt-overlay.c          | 218 ++++++++++++++++++++++++++-----
 xen/include/public/sysctl.h      |   4 +-
 5 files changed, 199 insertions(+), 36 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 3e02cff008..df5035f9a8 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -317,7 +317,8 @@ static int map_device_children(const struct dt_device_node *dev,
  *  - Map the IRQs and iomem regions to DOM0
  */
 int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
-                  struct rangeset *iomem_ranges, struct rangeset *irq_ranges)
+                  struct rangeset *iomem_ranges, struct rangeset *irq_ranges,
+                  bool device_mapping)
 {
     unsigned int naddr;
     unsigned int i;
@@ -334,9 +335,10 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
     struct map_range_data mr_data = {
         .d = d,
         .p2mt = p2mt,
-        .skip_mapping = !own_device ||
+        .skip_mapping = (!own_device ||
                         (is_pci_passthrough_enabled() &&
-                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
+                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE))) &&
+                        !device_mapping,
         .iomem_ranges = iomem_ranges,
         .irq_ranges = irq_ranges
     };
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 54232ed4cb..a525aed175 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1699,7 +1699,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
                "WARNING: Path %s is reserved, skip the node as we may re-use the path.\n",
                path);
 
-    res = handle_device(d, node, p2mt, NULL, NULL);
+    res = handle_device(d, node, p2mt, NULL, NULL, false);
     if ( res)
         return res;
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index d15a88d2e0..d6d8c28d02 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -172,7 +172,8 @@ u32 device_tree_get_u32(const void *fdt, int node,
                         const char *prop_name, u32 dflt);
 
 int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
-                  struct rangeset *iomem_ranges, struct rangeset *irq_ranges);
+                  struct rangeset *iomem_ranges, struct rangeset *irq_ranges,
+                  bool device_mapping);
 
 int map_device_irqs_to_domain(struct domain *d, struct dt_device_node *dev,
                               bool need_mapping, struct rangeset *irq_ranges);
diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index 39e4ba59dd..8840ea756b 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -356,24 +356,133 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
     return 0;
 }
 
+static int remove_all_irqs(struct rangeset *irq_ranges,
+                           struct domain *d, bool domain_mapping)
+{
+    struct range *x;
+    int rc = 0;
+
+    read_lock(&irq_ranges->lock);
+
+    for ( x = first_range(irq_ranges); x != NULL;
+          x = next_range(irq_ranges, x) )
+    {
+        /*
+         * Handle invalid use cases 1:
+         * Where user assigned the nodes to dom0 along with their irq
+         * mappings but now just wants to remove the nodes entry from Xen device
+         * device tree without unmapping the irq.
+         */
+        if ( !domain_mapping && vgic_get_hw_irq_desc(d, NULL, x->s) )
+        {
+            printk(XENLOG_ERR "Removing node from device tree without releasing it's IRQ/IOMMU is not allowed\n");
+            rc = -EINVAL;
+            goto out;
+        }
+
+        /*
+         * IRQ should always have access unless there are duplication of
+         * of irqs in device tree. There are few cases of xen device tree
+         * where there are duplicate interrupts for the same node.
+         */
+        if (!irq_access_permitted(d, x->s))
+            continue;
+        /*
+         * TODO: We don't handle shared IRQs for now. So, it is assumed that
+         * the IRQs was not shared with another domain.
+         */
+        rc = irq_deny_access(d, x->s);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "unable to revoke access for irq %ld\n", x->s);
+            goto out;
+        }
+
+        if ( domain_mapping )
+        {
+            rc = release_guest_irq(d, x->s);
+            if ( rc )
+            {
+                printk(XENLOG_ERR "unable to release irq %ld\n", x->s);
+                goto out;
+            }
+        }
+    }
+
+out:
+    read_unlock(&irq_ranges->lock);
+    return rc;
+}
+
+static int remove_all_iomems(struct rangeset *iomem_ranges,
+                             struct domain *d,
+                             bool domain_mapping)
+{
+    struct range *x;
+    int rc = 0;
+    p2m_type_t t;
+    mfn_t mfn;
+
+    read_lock(&iomem_ranges->lock);
+
+    for ( x = first_range(iomem_ranges); x != NULL;
+          x = next_range(iomem_ranges, x) )
+    {
+        mfn = p2m_lookup(d, _gfn(x->s), &t);
+        if ( mfn_x(mfn) == 0 || mfn_x(mfn) == ~0UL )
+        {
+            rc = -EINVAL;
+            goto out;
+        }
+
+        rc = iomem_deny_access(d, x->s, x->e);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to remove dom%d access to %#lx - %#lx\n",
+                   d->domain_id,
+                   x->s, x->e);
+            goto out;
+        }
+
+        rc = unmap_mmio_regions(d, _gfn(x->s), x->e - x->s,
+                                _mfn(x->s));
+        if ( rc )
+            goto out;
+    }
+
+out:
+    read_unlock(&iomem_ranges->lock);
+    return rc;
+}
+
 /* Check if node itself can be removed and remove node from IOMMU. */
-static int remove_node_resources(struct dt_device_node *device_node)
+static int remove_node_resources(struct dt_device_node *device_node,
+                                 struct domain *d, bool domain_mapping)
 {
     int rc = 0;
     unsigned int len;
     domid_t domid;
 
-    domid = dt_device_used_by(device_node);
+    if ( !d )
+    {
+        domid = dt_device_used_by(device_node);
 
-    dt_dprintk("Checking if node %s is used by any domain\n",
-               device_node->full_name);
+        /*
+         * We also check if device is assigned to DOMID_IO as when a domain
+         * is destroyed device is assigned to DOMID_IO or for the case when
+         * device was never mapped to a running domain.
+         */
+        if ( domid != hardware_domain->domain_id && domid != DOMID_IO )
+        {
+            printk(XENLOG_ERR "Device %s is being assigned to %u. Device is assigned to %d\n",
+                   device_node->full_name, DOMID_IO, domid);
+            return -EINVAL;
+        }
 
-    /* Remove the node if only it's assigned to hardware domain or domain io. */
-    if ( domid != hardware_domain->domain_id && domid != DOMID_IO )
-    {
-        printk(XENLOG_ERR "Device %s is being used by domain %u. Removing nodes failed\n",
-               device_node->full_name, domid);
-        return -EINVAL;
+        /*
+         * Device is assigned to hardware domain.
+         */
+         d = hardware_domain;
     }
 
     /* Check if iommu property exists. */
@@ -382,6 +491,16 @@ static int remove_node_resources(struct dt_device_node *device_node)
         if ( dt_device_is_protected(device_node) )
         {
             write_lock(&dt_host_lock);
+            if ( domain_mapping && !list_empty(&device_node->domain_list) )
+            {
+                rc = iommu_deassign_dt_device(d, device_node);
+                if ( rc < 0 )
+                {
+                    write_unlock(&dt_host_lock);
+                    return rc;
+                }
+            }
+
             rc = iommu_remove_dt_device(device_node);
             if ( rc < 0 )
             {
@@ -397,7 +516,8 @@ static int remove_node_resources(struct dt_device_node *device_node)
 
 /* Remove all descendants from IOMMU. */
 static int
-remove_descendant_nodes_resources(const struct dt_device_node *device_node)
+remove_descendant_nodes_resources(const struct dt_device_node *device_node,
+                                  struct domain *d, bool domain_mapping)
 {
     int rc = 0;
     struct dt_device_node *child_node;
@@ -407,12 +527,13 @@ remove_descendant_nodes_resources(const struct dt_device_node *device_node)
     {
         if ( child_node->child )
         {
-            rc = remove_descendant_nodes_resources(child_node);
+            rc = remove_descendant_nodes_resources(child_node, d,
+                                                   domain_mapping);
             if ( rc )
                 return rc;
         }
 
-        rc = remove_node_resources(child_node);
+        rc = remove_node_resources(child_node, d, domain_mapping);
         if ( rc )
             return rc;
     }
@@ -421,12 +542,13 @@ remove_descendant_nodes_resources(const struct dt_device_node *device_node)
 }
 
 /* Remove nodes from dt_host. */
-static int remove_nodes(const struct overlay_track *tracker)
+static int remove_nodes(const struct overlay_track *tracker,
+                        struct domain *d)
 {
     int rc = 0;
     struct dt_device_node *overlay_node;
     unsigned int j;
-    struct domain *d = hardware_domain;
+    bool domain_mapping = (d != NULL);
 
     for ( j = 0; j < tracker->num_nodes; j++ )
     {
@@ -434,11 +556,19 @@ static int remove_nodes(const struct overlay_track *tracker)
         if ( overlay_node == NULL )
             return -EINVAL;
 
-        rc = remove_descendant_nodes_resources(overlay_node);
+        rc = remove_descendant_nodes_resources(overlay_node, d, domain_mapping);
+        if ( rc )
+            return rc;
+
+        rc = remove_node_resources(overlay_node, d, domain_mapping);
+        if ( rc )
+            return rc;
+
+        rc = remove_all_irqs(tracker->irq_ranges, d, domain_mapping);
         if ( rc )
             return rc;
 
-        rc = remove_node_resources(overlay_node);
+        rc = remove_all_iomems(tracker->iomem_ranges, d, domain_mapping);
         if ( rc )
             return rc;
 
@@ -481,7 +611,8 @@ static int remove_nodes(const struct overlay_track *tracker)
  * while destroying the domain.
  */
 static long handle_remove_overlay_nodes(const void *overlay_fdt,
-                                        uint32_t overlay_fdt_size)
+                                        uint32_t overlay_fdt_size,
+                                        struct domain *d)
 {
     int rc;
     struct overlay_track *entry, *temp, *track;
@@ -520,7 +651,7 @@ static long handle_remove_overlay_nodes(const void *overlay_fdt,
 
     }
 
-    rc = remove_nodes(entry);
+    rc = remove_nodes(entry, d);
     if ( rc )
     {
         printk(XENLOG_ERR "Removing node failed\n");
@@ -560,12 +691,21 @@ static void free_nodes_full_path(unsigned int num_nodes, char **nodes_full_path)
     xfree(nodes_full_path);
 }
 
-static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
+static long add_nodes(struct overlay_track *tr, char **nodes_full_path,
+                      struct domain *d)
 
 {
     int rc;
     unsigned int j;
     struct dt_device_node *overlay_node;
+    bool domain_mapping = (d != NULL);
+
+    /*
+     * If domain is NULL, then we add the devices into hardware domain and skip
+     * IRQs/IOMMUs mapping.
+     */
+    if ( d == NULL )
+        d = hardware_domain;
 
     for ( j = 0; j < tr->num_nodes; j++ )
     {
@@ -609,8 +749,6 @@ static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
             return rc;
         }
 
-        write_unlock(&dt_host_lock);
-
         prev_node->allnext = next_node;
 
         overlay_node = dt_find_node_by_path(overlay_node->full_name);
@@ -618,18 +756,23 @@ static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
         {
             /* Sanity check. But code will never come here. */
             ASSERT_UNREACHABLE();
+            write_unlock(&dt_host_lock);
             return -EFAULT;
         }
 
-        rc = handle_device(hardware_domain, overlay_node, p2m_mmio_direct_c,
+        rc = handle_device(d, overlay_node, p2m_mmio_direct_c,
                            tr->iomem_ranges,
-                           tr->irq_ranges);
+                           tr->irq_ranges,
+                           domain_mapping);
         if ( rc )
         {
             printk(XENLOG_ERR "Adding IRQ and IOMMU failed\n");
+            write_unlock(&dt_host_lock);
             return rc;
         }
 
+        write_unlock(&dt_host_lock);
+
         /* Keep overlay_node address in tracker. */
         tr->nodes_address[j] = (unsigned long)overlay_node;
     }
@@ -643,7 +786,8 @@ static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
  * to hardware domain done by handle_node().
  */
 static long handle_add_overlay_nodes(void *overlay_fdt,
-                                     uint32_t overlay_fdt_size)
+                                     uint32_t overlay_fdt_size,
+                                     struct domain *d)
 {
     int rc;
     unsigned int j;
@@ -788,7 +932,7 @@ static long handle_add_overlay_nodes(void *overlay_fdt,
         goto err;
     }
 
-    rc = add_nodes(tr, nodes_full_path);
+    rc = add_nodes(tr, nodes_full_path, d);
     if ( rc )
     {
         printk(XENLOG_ERR "Adding nodes failed. Removing the partially added nodes.\n");
@@ -810,7 +954,7 @@ static long handle_add_overlay_nodes(void *overlay_fdt,
  */
  remove_node:
     tr->num_nodes = j;
-    rc = remove_nodes(tr);
+    rc = remove_nodes(tr, d);
 
     if ( rc )
     {
@@ -855,6 +999,7 @@ long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
 {
     long ret;
     void *overlay_fdt;
+    struct domain *d = NULL;
 
     if ( op->overlay_op != XEN_SYSCTL_DT_OVERLAY_ADD &&
          op->overlay_op != XEN_SYSCTL_DT_OVERLAY_REMOVE )
@@ -863,7 +1008,7 @@ long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
     if ( op->overlay_fdt_size == 0 || op->overlay_fdt_size > KB(500) )
         return -EINVAL;
 
-    if ( op->pad[0] || op->pad[1] || op->pad[2] )
+    if ( op->pad[0] || op->pad[1] )
         return -EINVAL;
 
     overlay_fdt = xmalloc_bytes(op->overlay_fdt_size);
@@ -880,13 +1025,26 @@ long dt_overlay_sysctl(struct xen_sysctl_dt_overlay *op)
         return -EFAULT;
     }
 
+    /*
+     * If domain_mapping == false, domain_id can be ignored as we don't need to
+     * map resource to any domain.
+     *
+     * If domain_mapping == true, domain_id, get the target domain for the
+     * mapping.
+     */
+    if ( op->domain_mapping )
+        d = rcu_lock_domain_by_id(op->domain_id);
+
     if ( op->overlay_op == XEN_SYSCTL_DT_OVERLAY_REMOVE )
-        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size, d);
     else
-        ret = handle_add_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+        ret = handle_add_overlay_nodes(overlay_fdt, op->overlay_fdt_size, d);
 
     xfree(overlay_fdt);
 
+    if ( op->domain_mapping )
+        rcu_unlock_domain(d);
+
     return ret;
 }
 
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 9b19679cae..f5435f8890 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
 #define XEN_SYSCTL_DT_OVERLAY_ADD                   1
 #define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
     uint8_t overlay_op;                     /* IN: Add or remove. */
-    uint8_t pad[3];                         /* IN: Must be zero. */
+    bool domain_mapping;                    /* IN: True of False. */
+    uint8_t pad[2];                         /* IN: Must be zero. */
+    uint32_t domain_id;
 };
 #endif
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:44:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711059.1110755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTY8-0001r9-Ju; Wed, 24 Apr 2024 03:44:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711059.1110755; Wed, 24 Apr 2024 03: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 1rzTY8-0001qw-GN; Wed, 24 Apr 2024 03:44:00 +0000
Received: by outflank-mailman (input) for mailman id 711059;
 Wed, 24 Apr 2024 03:43:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQe-0003iy-1c
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:16 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2009::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cce739cd-01eb-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 05:36:15 +0200 (CEST)
Received: from MN2PR07CA0004.namprd07.prod.outlook.com (2603:10b6:208:1a0::14)
 by PH7PR12MB6492.namprd12.prod.outlook.com (2603:10b6:510:1f3::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Wed, 24 Apr
 2024 03:36:10 +0000
Received: from BL6PEPF0001AB78.namprd02.prod.outlook.com
 (2603:10b6:208:1a0:cafe::33) by MN2PR07CA0004.outlook.office365.com
 (2603:10b6:208:1a0::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB78.mail.protection.outlook.com (10.167.242.171) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:09 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:06 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:36:06 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:36: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: cce739cd-01eb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m4Y8Do8PJ0gFHTwaKOnk631MUVzOH5f7+coDhnlY/oqNY0Ei/9dEVuyVi3unJ72yXGtB1cO/9VfbIOo1YP/EZAD99LN8VCZz9buxPtDCbjLM4QorILWbpTeb9uA8giZxf/PmgZL9n7vMLFGqFCuc2eNU8ApkKc79vgmtctoPMEyzNoDg1gVY5hyk065gI7AgeBPgW7v96llRQkK9aXnBJGi6SqxYheZZrzrqq1tX2kdnJQMB2Yu5wTrEn8hfOIKYtByHea96ifrpmSrf3rXHHsr4gJECLTPbSPOPdV7Zf/TimiwJZqmPnFxxAofXCllYdHdHY+/UDI5pC6cLJTbAiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fGHzXleFvzlwnXmUM43m2CIMguyeDmKkEqOTHA8C5K0=;
 b=Z8x+RI/6hyZDgv1zoU/Jkbcm+3BctGJNn5fsfbpfp0RAczxS6omKECunZR6jfvEXExFEdoYkDv/JV5Fb8zB+022yVvlK4KSWWVhagbAhjI4LbApIXVyE4zo+zuLpE9iwDkrs4+Qkxl5ACojFikbFeyyUI3tWH3Ed9oXdQ3M/Ip0exf5enLDpEACmlgfeHvh0E0CZZEmppVOi6knFyogGgpe+m8MNnyqIQ2qgcjnAxPZOwYaY5TEDWbiUyIeFIEy5H4mHltrbJN01P9o8ryZL9tm+3LwkozAY4K8hsjAiYJemYt46fMKMhQ6asvnqA9qyKVFchtv2/dJ24jR40zqIVA==
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=fGHzXleFvzlwnXmUM43m2CIMguyeDmKkEqOTHA8C5K0=;
 b=27/mfB22zp2YcUf41E90IeUhIAyNZ2Rap5RnuvZIdVyWA5OY+VCTtgBdA+oVvydZjwWXBp9MAmm11ChgD5wLtCOLzD1/XNhX03zGkpyyh6y2ZJRW2atn5gOn74X7HGfOGV1t87T4F2He8IqWScIGK5SqZ41gKf5ECOEyUACC4E8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 11/15] tools/helpers: Add get_overlay
Date: Wed, 24 Apr 2024 11:34:45 +0800
Message-ID: <20240424033449.168398-12-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB78:EE_|PH7PR12MB6492:EE_
X-MS-Office365-Filtering-Correlation-Id: fbce0043-a436-4641-53cf-08dc640fae9a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|36860700004|376005|82310400014|1800799015;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?W/h1q+75M1kl1T8hCqlGvm+4UyBWUPEj3XbKLJWRKrFVcBujWIAWwvAsi/xY?=
 =?us-ascii?Q?0SeqQYDNNLLCMy406lk2QGhVRfPPe2LGm9teeE2hNaYoOnZlYA0lBcw7YfIL?=
 =?us-ascii?Q?04BIO31VkIwGNttD23qvcmABd9IlrMzrMknGvQ+lLsel1744PnbRT7CVhmTE?=
 =?us-ascii?Q?4exLbjHtXnmx/nl/jAmktl6k5qIvONL4R0PLp08cO+KsB++XYj2Ea7MeI7ly?=
 =?us-ascii?Q?KKaHYpOUwYpUa+hitPATDsoHP44ipj3UxveOroFvtGOkOonvtuNJ/tN2gJi8?=
 =?us-ascii?Q?xeT/AvEBc113Nuj5A8f1HXnL+uz4htJEU7uKuXbXV5AxOiDK4h/0rJ5yCJgO?=
 =?us-ascii?Q?mLMNFXzWtkqDT9GM7XVoeIRfJTXdT99eJQnTog5dq15OGN92g5xd9z4qzvnZ?=
 =?us-ascii?Q?csYk8+04bHMHmIlAZIqFHzRDNJSJ3mMwh4HHRxdwml28Y+vHunC7YW1M9gIo?=
 =?us-ascii?Q?EXDcUaeYBLmQ7Syd6Jkjz+2+uOjQOYciLsG7YVdhB01tobbl6Xjxwee6TJVu?=
 =?us-ascii?Q?aXeGtg6anH0d+GwTMK2uKkjyZfDfsy4+P1OQcDjAUupyJY6m+jyrdkt36Y0G?=
 =?us-ascii?Q?Jlw1UYaeuJZIcKcK3AstB4XebOBm8Tvgt1cdLdiUNRne9+loFzycDhtH6MzZ?=
 =?us-ascii?Q?XTG+JOVXXd+nlZv3aoXQt3bUVR6HXz5abUx4phirIaIHDklpEyIPqxw/IvMh?=
 =?us-ascii?Q?NqxXfVBPy3cQ4QJKWW5onlbN0N+BNcDCDCkRMDViYtC5y1sTnoqrFIIS8l+E?=
 =?us-ascii?Q?nG1oWRnVrPdNKgQGQ5ERSA/X4BenYWdlJ58yQNldAoe44xYp2gyDp7O0MYUg?=
 =?us-ascii?Q?ZPxZMF7W+oHmijF/mIEd2AyhV0BznPjZaYkcpHuxvB+NKc2YvDbZEe3O+oWx?=
 =?us-ascii?Q?BFS/QNWswFD5x9wDfcxNalQ6JJaGUZpBLmleZgkHVMnNv7phM0xL+MThJLla?=
 =?us-ascii?Q?I25Kd3An77odv4eRh4uu3G1ITHXTG7KqFiLzq7MxZRPKL6P4UJ72S/VyZ5kG?=
 =?us-ascii?Q?nDNH+DWpghTEhu1GdWgGIpj49Idu2EMU7HpU7u01ZD4Hhtzjnhb5ZvjvCB1+?=
 =?us-ascii?Q?b85OWBEFipqHu4810mv1x72N/6C4oYGrDPqHAlvYaQFPvdu6CHW8pF5ExyUO?=
 =?us-ascii?Q?bTueSve+gliJ5XdDEMY6W4s4v8mWilqIuPkt2yowFCeo/6Dx5OaKzj4u7BrV?=
 =?us-ascii?Q?G0a6jd62ZQG61yIueOiux7xesu/hoHQRnkBO1xgJOdZazKnTrUHEFg1ttwQO?=
 =?us-ascii?Q?bq0APEv8UBfsouzPaLAAtOxVaaNJY7uszZesQZWH8Zfn2iaaWx75ZxiuOAUL?=
 =?us-ascii?Q?ABupNZWifq9nvFxgL0lvJoSw9YNJS64LazxW3T9fpZdjkbYtoTrBeWp3HTWl?=
 =?us-ascii?Q?BpUIdPw=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:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:09.5935
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fbce0043-a436-4641-53cf-08dc640fae9a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF0001AB78.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6492

From: Vikram Garhwal <fnu.vikram@xilinx.com>

This user level application copies the overlay dtbo shared by dom0 while doing
overlay node assignment operation. It uses xenstore to communicate with dom0.
More information on the protocol is writtien in docs/misc/overlay.txt file.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/helpers/Makefile      |   8 +
 tools/helpers/get_overlay.c | 393 ++++++++++++++++++++++++++++++++++++
 2 files changed, 401 insertions(+)
 create mode 100644 tools/helpers/get_overlay.c

diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
index 09590eb5b6..dfe17ef269 100644
--- a/tools/helpers/Makefile
+++ b/tools/helpers/Makefile
@@ -12,6 +12,7 @@ TARGETS += init-xenstore-domain
 endif
 ifeq ($(CONFIG_ARM),y)
 TARGETS += init-dom0less
+TARGETS += get_overlay
 endif
 endif
 
@@ -39,6 +40,9 @@ $(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
 $(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
 init-dom0less: LDLIBS += $(call xenlibs-ldlibs,ctrl evtchn toollog store light guest foreignmemory)
 
+SHARE_OVERLAY_OBJS = get_overlay.o
+$(SHARE_OVERLAY_OBJS): CFLAGS += $(CFLAGS_libxengnttab) $(CFLAGS_libxenstore) $(CFLAGS_libxenctrl)
+
 .PHONY: all
 all: $(TARGETS)
 
@@ -51,6 +55,10 @@ init-xenstore-domain: $(INIT_XENSTORE_DOMAIN_OBJS)
 init-dom0less: $(INIT_DOM0LESS_OBJS)
 	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
 
+get_overlay: $(SHARE_OVERLAY_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenvchan) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxengnttab) $(APPEND_LDFLAGS)
+
+
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
diff --git a/tools/helpers/get_overlay.c b/tools/helpers/get_overlay.c
new file mode 100644
index 0000000000..ca3007570e
--- /dev/null
+++ b/tools/helpers/get_overlay.c
@@ -0,0 +1,393 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <limits.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <xenstore.h>
+#include <libxenvchan.h>
+#include <xengnttab.h>
+
+#define PAGE_SIZE 4096
+
+static int xs_create_overlay_node(int domain, const char *xs_base,
+                                  struct xs_handle *xs)
+{
+    int ret = -1;
+    struct xs_permissions perms[2];
+    char buf[64];
+    char ref[16];
+    char *domid_str = NULL;
+    int overlay_size = 0;
+
+    xs_transaction_t xs_trans = XBT_NULL;
+
+    domid_str = xs_read(xs, XBT_NULL, "domid", NULL);
+
+    if (!domid_str)
+        return ret;
+
+    /* owner domain is us */
+    perms[0].id = atoi(domid_str);
+    /* permissions for domains not listed = none. */
+    perms[0].perms = XS_PERM_NONE;
+    /* other domains i.e. domain provided by user gets r/w permissions. */
+    perms[1].id = domain;
+    perms[1].perms =  XS_PERM_READ | XS_PERM_WRITE;
+
+retry_transaction:
+
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        goto fail_xs_transaction;
+
+    /* Create overlay-size node. */
+    snprintf(ref, sizeof(ref), "%d", overlay_size);
+    snprintf(buf, sizeof(buf), "%s/overlay-size", xs_base);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        goto fail_xs_transaction;
+    if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
+        goto fail_xs_transaction;
+
+    /* Create domU status node. */
+    snprintf(ref, sizeof(ref), "%s", "waiting");
+    snprintf(buf, sizeof(buf), "%s/receiver-status", xs_base);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        goto fail_xs_transaction;
+    if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
+        goto fail_xs_transaction;
+
+    /* Create dom0 status node. */
+    snprintf(ref, sizeof(ref), "%s", "not_ready");
+    snprintf(buf, sizeof(buf), "%s/sender-status", xs_base);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        goto fail_xs_transaction;
+    if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
+        goto fail_xs_transaction;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            goto fail_xs_transaction;
+    } else
+        ret = 0;
+
+fail_xs_transaction:
+    free(domid_str);
+
+    return ret;
+}
+
+static int get_overlay_size(struct xs_handle *xs, int domain,
+                            const char *xs_path)
+{
+    char buf[128];
+    char *ref;
+    unsigned int len;
+    int dt_size = 0;
+
+    snprintf(buf, sizeof(buf), "%s/overlay-size", xs_path);
+
+    ref = xs_read(xs, XBT_NULL, buf, &len);
+
+    if (!ref)
+        return dt_size;
+
+    dt_size = atoi(ref);
+
+    free(ref);
+
+    return dt_size;
+}
+
+static uint32_t get_num_pages(int dtbo_size)
+{
+    int num_pages = 1;
+
+    while (dtbo_size > PAGE_SIZE) {
+        dtbo_size = dtbo_size - PAGE_SIZE;
+        num_pages++;
+    }
+
+    return num_pages;
+}
+
+static void *create_shared_buffer(int domain, uint32_t *refs, uint32_t pages,
+                                  xengntshr_handle *gntshr)
+{
+    return xengntshr_share_pages(gntshr, domain, pages, refs, 1);
+}
+
+static bool wait_for_status(struct xs_handle *xs, int fd, char *status_path,
+                            const char *status)
+{
+    unsigned int num_strings;
+    char *buf = NULL;
+    char **vec = NULL;
+    bool ret = false;
+    unsigned int len;
+    int rc = 0;
+    fd_set set;
+
+    while (1)
+    {
+        FD_ZERO(&set);
+        FD_SET(fd, &set);
+
+        rc = select(fd + 1, &set, NULL, NULL, NULL);
+        /* Poll for data: Blocking. */
+        if (rc <= 0)
+            break;
+
+        if (FD_ISSET(fd, &set)) {
+            /*
+             * num_strings will be set to the number of elements in vec
+             * (2 - the watched path and the overlay_watch)
+             */
+            vec = xs_read_watch(xs, &num_strings);
+            if (!vec) {
+                break;
+            }
+
+            /* do a read. */
+            buf = xs_read(xs, XBT_NULL, status_path, &len);
+            if (buf) {
+                if (!strcmp(buf, status)) {
+                    ret = true;
+                    break;
+                }
+            }
+        }
+    }
+
+    free(vec);
+    free(buf);
+
+    return ret;
+}
+
+static bool write_page_ref(struct xs_handle *xs, uint32_t *page_ref,
+                           uint32_t num_pages, char *path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+    char buf[128];
+    char *ref = NULL;
+    char tmp[16];
+    int i = 0;
+    bool rc = false;
+
+    /* Caller will free this. */
+    ref = (char *)calloc(num_pages * 16, sizeof(char)); /* For each number. */
+    if (ref == NULL) {
+        fprintf(stderr, "Memory calloc for ref failed\n");
+        return rc;
+    }
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        goto out;
+
+    for (i = 0; i < num_pages; i++) {
+        snprintf(tmp, sizeof(tmp), "%d,", page_ref[i]);
+        strcat(ref, tmp);
+    }
+
+    snprintf(buf, sizeof(buf), "%s/page-ref", path);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        goto out;
+
+    snprintf(buf, sizeof(buf), "%s/num-pages", path);
+    snprintf(tmp, sizeof(tmp), "%u", num_pages);
+    if (!xs_write(xs, xs_trans, buf, tmp, strlen(tmp)))
+        goto out;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            goto out;
+    }
+
+    rc = true;
+
+out:
+    if (ref)
+        free(ref);
+
+    return rc;
+}
+
+static bool write_status(struct xs_handle *xs, const char *status,
+                         const char *status_path)
+{
+    xs_transaction_t xs_trans = XBT_NULL;
+
+retry_transaction:
+    xs_trans = xs_transaction_start(xs);
+    if (!xs_trans)
+        return false;
+
+    if (!xs_write(xs, xs_trans, status_path, status, strlen(status)))
+        return false;
+
+    if (!xs_transaction_end(xs, xs_trans, 0)) {
+        if (errno == EAGAIN)
+            goto retry_transaction;
+        else
+            return false;
+    }
+
+    return true;
+}
+
+int main(int argc, char **argv)
+{
+    void *buffer = NULL;
+    int domain ;
+    uint32_t *page_refs = NULL;
+    FILE *fptr;
+    int dtbo_size = 0;
+    const char *path = "data/overlay";
+    char receiver_status_path[64] = { };
+    char sender_status_path[64] = { };
+    struct xs_handle *xs = NULL;
+    int rc = 0;
+    int fd = 0;
+    uint32_t num_pages = 0;
+    xengntshr_handle *gntshr;
+
+    if (argc < 2) {
+       fprintf(stderr,"Please enter domain_id.\n");
+        return 0;
+    }
+
+    domain = atoi(argv[1]);
+
+    xs = xs_open(0);
+    if (xs == NULL) {
+        fprintf(stderr, "Xenstore open for domain%d failed\n", domain);
+        goto out;
+    }
+
+    rc = xs_create_overlay_node(domain, path, xs);
+    if (rc) {
+        fprintf(stderr,"Creating overlay nodes failed\n");
+        goto out;
+    }
+
+    strcpy(receiver_status_path, path);
+    strcat(receiver_status_path, "/receiver-status");
+
+    strcpy(sender_status_path, path);
+    strcat(sender_status_path, "/sender-status");
+
+    /*
+     * Watch a node for changes (poll on fd to detect).
+     * When the node changes, fd will become readable.
+     */
+    rc = xs_watch(xs, sender_status_path, "overlay_watch");
+    if (rc == 0) {
+        fprintf(stderr, "Creating watch failed\n");
+        goto out;
+    }
+
+    /* We are notified of read availability on the watch via the
+     * file descriptor.
+     */
+    fd = xs_fileno(xs);
+
+    /* Wait for ready. */
+    if (!wait_for_status(xs, fd, sender_status_path, "ready")) {
+        fprintf(stderr, "dom0 not ready.\n");
+        goto out;
+    }
+
+    dtbo_size = get_overlay_size(xs, domain, path);
+    if (dtbo_size == 0) {
+        fprintf(stderr,"Overlay data size is zero. Exiting the application\n");
+        goto out;
+    }
+
+    gntshr = xengntshr_open(NULL, 0);
+    if (!gntshr) {
+        fprintf(stderr,"Error in opening gntshr\n");
+        goto out;
+    }
+
+    num_pages = get_num_pages(dtbo_size);
+
+    page_refs =(uint32_t *)malloc(num_pages * sizeof(int));
+    if (page_refs == NULL) {
+        fprintf(stderr, "Allocating page_ref array failed\n");
+        goto out;
+    }
+
+    /* Allocate memory for data size and share with domain. */
+    buffer = create_shared_buffer(domain, page_refs, num_pages,
+                                  gntshr);
+    if (buffer == NULL) {
+        fprintf(stderr,"Buffer allocation failed\n");
+        goto out;
+    }
+
+    /* Created the buffer and got page_ref. Share the page_ref with domain. */
+    if (!write_page_ref(xs, page_refs, num_pages, path)) {
+        fprintf(stderr,"Writing page ref failed\n");
+        goto out;
+    }
+
+    /* Write the status "page_ref". */
+    if (!write_status(xs, "page_ref", receiver_status_path)) {
+        fprintf(stderr,"Writing status DONE failed\n");
+        goto out;
+    }
+
+    /* Wait for done. This means other domain done copying the dtb to buffer. */
+    if (!wait_for_status(xs, fd, sender_status_path, "done")) {
+        fprintf(stderr, "dom0 status not done\n");
+        goto out;
+    }
+
+    if ((fptr = fopen("overlay.dtbo","wb")) == NULL) {
+        fprintf(stderr,"Error! opening file");
+        goto out;
+    }
+
+    printf("Writing to file overlay.dtbo.\n");
+
+    fwrite(buffer, dtbo_size, 1, fptr);
+
+    printf("Done writing to file overlay.dtbo \n");
+
+out:
+    if (fptr)
+        fclose(fptr);
+
+    if (page_refs)
+        free(page_refs);
+
+    if (xs) {
+        close(fd);
+
+        xs_unwatch(xs, path, "overlay_watch");
+
+        xs_close(xs);
+    }
+
+    if (buffer)
+        xengntshr_unshare(gntshr, buffer, num_pages);
+
+    if (gntshr)
+         xengntshr_close(gntshr);
+
+    return 0;
+}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:44:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:44:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711062.1110765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTYD-0002Lk-4D; Wed, 24 Apr 2024 03:44:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711062.1110765; Wed, 24 Apr 2024 03: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 1rzTYC-0002Lb-WA; Wed, 24 Apr 2024 03:44:04 +0000
Received: by outflank-mailman (input) for mailman id 711062;
 Wed, 24 Apr 2024 03:44:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQh-0003iy-Bl
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:19 +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 cecdd210-01eb-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 05:36:18 +0200 (CEST)
Received: from BL0PR0102CA0024.prod.exchangelabs.com (2603:10b6:207:18::37) by
 DM4PR12MB7600.namprd12.prod.outlook.com (2603:10b6:8:108::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7519.22; Wed, 24 Apr 2024 03:36:13 +0000
Received: from BL6PEPF0001AB77.namprd02.prod.outlook.com
 (2603:10b6:207:18:cafe::cb) by BL0PR0102CA0024.outlook.office365.com
 (2603:10b6:207:18::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB77.mail.protection.outlook.com (10.167.242.170) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:13 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:12 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:36:12 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:36:11 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cecdd210-01eb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aDSJRmQIiiiLCz9avQGyQktVTogrll7840XOI1Gxap3xP8Ys3sZXilkNbRoV4ddzWH5Ye7fr9tDHF2sKrDrVcdax5PhW9N44JLAAuKSseRwV09/fURn4de0qwHGX20uueNYyP1HiEaYDSMoQGeu/tZBna2euOkvGCXZEFegR1camIYUhuPWev/pkRu2CfF+fckM+E2snbiL3jsVbZKBpXavCVbRKDt11+3l9//G3UF6FXeC/1NwUA6o5aGXT0SHpd8zMFiSkm1kLc3no7tLXQRO/cQWyTnFlnv3fFA6IIzLXc7Fpimdeex/SC/OKKK+oqwGAyKdlUQoyZgN9Wj0Tyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P4gTMnujfvEGKwn+wIQsB0+jlCBFdxbEKPbGnjsFUW0=;
 b=a5ztsyrWPlNBC/3ifDww/JtjBO6P3V67Sr+h+CgNQrMSYJksQ/Jx3FxGdgjuXohd3HI0PeipVUG+q/eJIcQ3zpp9i6JLJqhpIBwgv1nbft7dYJS6N+A6b3ka7OWlpyl3Vyb5MZ8mAd88eiqDS0KY7lLn/LDHYS4j2xJuZMYy8LrUJW2WZNvmOiA+9oYe1KOQc6U6BvS50fYGMTG+/0Q36HLdzqukSYdEvNHfz9c7YR7W/sx33TtKU9YqeCQnUX4YrZucudCp5p5ZPHG1Oi2L8noBLBpUz4zDgk8KqHwvKnhTyPU0LR3dBmWJ8MbwIfdwh/TtEowIjvkRNiLmc750+Q==
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=P4gTMnujfvEGKwn+wIQsB0+jlCBFdxbEKPbGnjsFUW0=;
 b=CTVk0cEiYEly3J39WHNTBaY8/pf1w88nbmJpO0mer+cPTCxHwCKG6Ld2OhcKuGANTjriMGIMj0HfYMNWAk5rW+98kCP67ZqQm/FLa94/YQQuW5EGCvjOQpdPUrULGlaHCMyzaUuJRd/UJz7PCnRFL2Vd/e4otNBryKUhJb1dlR0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Henry Wang <xin.wang2@amd.com>
Subject: [PATCH 14/15] add a domU script to fetch overlays and applying them to linux
Date: Wed, 24 Apr 2024 11:34:48 +0800
Message-ID: <20240424033449.168398-15-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB77:EE_|DM4PR12MB7600:EE_
X-MS-Office365-Filtering-Correlation-Id: 31330504-1bb6-42a6-e2c3-08dc640fb0c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|82310400014|376005|1800799015|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?ve/mPMYnVY/gFR6TZTIM/qRVge/0fldx8ql4xIXUmxzfZGfeABm3MCsS2ujj?=
 =?us-ascii?Q?8XU41+lT0ofl/JtQsAWiOGSb2vrTvAQYNcg3bPj9b+2zToRVSpK/pNM0Oj2p?=
 =?us-ascii?Q?xyMfKHUlJDQRwQv4j0tW83ESr0R2BbiCP4wsqFVfbwg5RF5A1IL6sNuDZbGv?=
 =?us-ascii?Q?9oKe4uJwvfJIVeQGKA7L5DTtSu2xFRk2jBmaSQAM3izBBmJlXmxy732Cd2PX?=
 =?us-ascii?Q?yaJiFxGhRB8RBgFhPyUvpkbARAuyRRCHHOeav47Dv7e03tVUE1Cr1fbLxwpO?=
 =?us-ascii?Q?bYmLsBX+bRsmFQD/gecneBZiCKP09ZbnS4OgU4eshg11Imm/Cdw7WI0pmFKY?=
 =?us-ascii?Q?sT4EZsDslaeN592CrXg5EgD96mgF0cFqo2Irn9St5zYmpiawK5i3xSz+FkGs?=
 =?us-ascii?Q?wUQRpixtU2x6n4e3mcZ5Zio5l1vE+kJc7Y1qEHLGbu8kEKl2u9crjMn/pmdP?=
 =?us-ascii?Q?oP4F/jSxfsxp+6oa7aRsmrW5GYLs8j5s+cR4y99NTetyyfpUmvt8El3pKrJ7?=
 =?us-ascii?Q?bqCOoEkPUoBbz4fAmKyz1Ph6JwQSvvaf5oq5xq776IS6n9NFl3u/oUW/y8GH?=
 =?us-ascii?Q?mr0x25TCqhBce3WGJdZzjaU64yAFWy5KlFhLYjv9YgWgV6rYz92GDZWCIsgh?=
 =?us-ascii?Q?JnspG4fsBAPkKxPXa4gdiDJeqlnnQkcmTbnQTd4M6zYmmsDV2jTwbygZS+F6?=
 =?us-ascii?Q?nMP6fV51dc6De7hY9Atm9yDyCbdxpUQQbWf025K0YCYfkSozQTSA0sdKM/TP?=
 =?us-ascii?Q?CaNelZxtaYd3qCE5J+p5odiLWBGNgR2bJ0p1bBc1Z7zHjqqffXtfY/jlohsQ?=
 =?us-ascii?Q?c7Fw6PXufotBtlHGSUDMLHzA0iviE+QWp5hu8u8QXAEVW7a5fzGoS8q3omw6?=
 =?us-ascii?Q?NRJrHjHXFbmIO8JkJFeA3oXGuxmDsljQBvBbV74EQYqtAOd8S5Lsm0CGT8l/?=
 =?us-ascii?Q?tBOt8YaOmnNuRr02YBnFx6DbiMnqyaQnZfHcoDdcemDSRriKMeit8b+u3UVu?=
 =?us-ascii?Q?qM9yoRanogVluyTSeXBHIoGLzWSGMUPgpaS+EBLkzwi52KJdECToqTsMjX4E?=
 =?us-ascii?Q?NpdoBhfKWhJf3Y27YdHkfVhUsPl4GfCpIbd8y4Xcs/C33hhROIblU8eXwqHk?=
 =?us-ascii?Q?PUAa9rjEkA6W8DkGpRswviqdkpb5SDgpJCvyiG8xT5G0gyTBhEBzOJG0m4Q8?=
 =?us-ascii?Q?yH+3ChnbzNAn/5RSPxQ07IoWD9uqyvC67T+X3LvlY48PT5ZcuGloNKOoK7re?=
 =?us-ascii?Q?YI/Ekcea1rztNigTG2bqdPtzjfrJ45zB/Om1fLXLg4cG4ZD0wqcDiqOMKYN4?=
 =?us-ascii?Q?n6AlIXVbaDqRw1Mv5mrZUC6njMPTqendrN25oAEHXosrDEQp9ryDlh8j5X9c?=
 =?us-ascii?Q?E6BerOc=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:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:13.2475
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 31330504-1bb6-42a6-e2c3-08dc640fb0c7
X-MS-Exchange-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:
	BL6PEPF0001AB77.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7600

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Introduce a shell script that runs in the background and calls
get_overlay to retrive overlays and add them (or remove them) to Linux
device tree (running as a domU).

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/helpers/Makefile       |  2 +-
 tools/helpers/get_overlay.sh | 81 ++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 1 deletion(-)
 create mode 100755 tools/helpers/get_overlay.sh

diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
index dfe17ef269..2d0558aeb8 100644
--- a/tools/helpers/Makefile
+++ b/tools/helpers/Makefile
@@ -58,7 +58,6 @@ init-dom0less: $(INIT_DOM0LESS_OBJS)
 get_overlay: $(SHARE_OVERLAY_OBJS)
 	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenvchan) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxengnttab) $(APPEND_LDFLAGS)
 
-
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
@@ -67,6 +66,7 @@ install: all
 .PHONY: uninstall
 uninstall:
 	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
+	$(RM) $(DESTDIR)$(LIBEXEC_BIN)/get_overlay.sh
 
 .PHONY: clean
 clean:
diff --git a/tools/helpers/get_overlay.sh b/tools/helpers/get_overlay.sh
new file mode 100755
index 0000000000..2e8c6ecefd
--- /dev/null
+++ b/tools/helpers/get_overlay.sh
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+modprobe xen_gntalloc
+modprobe xen_gntdev
+
+while :
+do
+    overlay_node_name=""
+    type_overlay="normal"
+    is_partial_dtb=""
+
+    output=`/usr/lib/xen/bin/get_overlay 0`
+
+    if test $? -ne 0
+    then
+        echo error
+        exit 1
+    fi
+
+    if test -z "$output"
+    then
+        echo ""
+        exit 1
+    fi
+
+    # output: add overlay-name normal partial
+    operation=`echo $output | cut -d " " -f 1`
+    overlay_node_name=`echo $output | cut -d " " -f 2`
+    type_overlay=`echo $output | cut -d " " -f 3`
+    is_partial_dtb=`echo $output | cut -d " " -f 4`
+
+    if test -z "$operation" || test -z "$overlay_node_name"
+    then
+        echo "invalid ops"
+        exit 1
+    fi
+
+    if test $operation = "add"
+    then
+        echo "Overlay received"
+
+        if test "$type_overlay" = "normal"
+        then
+            final_path="/sys/kernel/config/device-tree/overlays/$overlay_node_name"
+            mkdir -p $final_path
+            cat overlay.dtbo > $final_path/dtbo
+        else
+            # fpga overlay
+            cp overlay.dtbo lib/firmware/
+            mkdir /configfs
+            mount -t configfs configfs /configfs
+            cd /configfs/device-tree/overlays/
+
+            if test "$is_partial_dtb"
+            then
+                mkdir partial
+                echo 1 > /sys/class/fpga_manager/fpga0/flags
+                echo -n "overlay.dtbo" > /configfs/device-tree/overlays/partial
+            else
+                mkdir full
+                echo -n "overlay.dtbo" > /configfs/device-tree/overlays/full
+            fi
+        fi
+    elif test $operation = "remove"
+    then
+        if test "$type_overlay" = "normal"
+        then
+            # implement remove
+            path=/sys/kernel/config/device-tree/overlays/$overlay_node_name/dtbo
+            if ! test -f $path
+            then
+                echo "error: path doesn't exist"
+                exit 1
+            fi
+            rm $path
+        fi
+    else
+        echo "operation unsupported"
+        exit 1
+    fi
+done
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 03:44:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 03:44:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711065.1110775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzTYG-0002p0-E9; Wed, 24 Apr 2024 03:44:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711065.1110775; Wed, 24 Apr 2024 03: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 1rzTYG-0002oj-9u; Wed, 24 Apr 2024 03:44:08 +0000
Received: by outflank-mailman (input) for mailman id 711065;
 Wed, 24 Apr 2024 03: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=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzTQc-0002In-Hm
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 03:36:14 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2417::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc3f77cc-01eb-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 05:36:12 +0200 (CEST)
Received: from BLAPR03CA0001.namprd03.prod.outlook.com (2603:10b6:208:32b::6)
 by SN7PR12MB7418.namprd12.prod.outlook.com (2603:10b6:806:2a5::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 03:36:09 +0000
Received: from MN1PEPF0000ECDA.namprd02.prod.outlook.com
 (2603:10b6:208:32b:cafe::df) by BLAPR03CA0001.outlook.office365.com
 (2603:10b6:208:32b::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Wed, 24 Apr 2024 03:36:09 +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.7519.19 via Frontend Transport; Wed, 24 Apr 2024 03:36:09 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 22:36:09 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 23 Apr
 2024 20:36:08 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 23 Apr 2024 22:36: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: cc3f77cc-01eb-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AzAsCVGOIBM4aLWQepgcbkJp/V71xl8o/GOqVHdDvyYOGZG7fadR17re5j6yAaY25X9Dnls0k/woSxdzYb95y7zLYfZuDKhXayCDlOp0YSob7K8mxfGbkqA53F4CKJxgzBc/y5EyxTX/T9TzduATO8v676RgoK2t9ZX9NKb9b2hpZw1ywWOM4dokXJPH0PC5mjaaNoxqXmJyYsB0Zii6PS8HHWGQkngsqgdKnJuxedbxYlTHRIHUIFFe0+kIK+6utFCBvglfO0GntH6IQr1JAXc3u7jAQJwYxpmT7O+kOGsqlzID9F5XJSV8ssKWU8d4444AJpGxkKuyx81wIJcFog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RHMeGH0iZW93mGnvrfaGMm5ps1VEfR09KqSQj+crtvI=;
 b=I5GPS+tJSgbLnvAHhb1kJU2+4WaxEytlHuhkl4eWmsN9uw2dAOVCwmuQa3unVG6MhiYqVM7gMcjt2H6A2GwhZHZ9kh9bqOMm+ep7IQPZdyvrtJf3MkbX6YlDZqAU7b1hN6/v9R7YEt5LM3/vZCTQ+nf+d10wwFq/KImXAaP7zYq+U6VoI5ImPebk/VyELkQyOb9sQcjPn/MjZzXiAa0p5pwmqTev31AJWXAggl6UxszkMidal5bG39lQbVq9JqqWcVcKUeO68AZiGgrDuUnrcaInS2BtTYhEwkv/IaczKv0e/UeJKkXTlMSqL8tnzIn5SX3SaEjcfZaIPc9aNF0ksA==
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=RHMeGH0iZW93mGnvrfaGMm5ps1VEfR09KqSQj+crtvI=;
 b=xYv38md6GsKSJEs4ASCuVJDkMcunQ/jigiCVYp9CaPbVbMdGUcHP4u3ObnVQDTChVU2NiZLDUG+WQXGuuzyJM73M6d9pZ8tPkeZ6gfSQSjfHdgjnyYPDsknzFZIDsMC5pVc0DTt88eb53QUL7wfsAtz9rgUk3DPZU3hPBY/PgTA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Vikram Garhwal <fnu.vikram@xilinx.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>, Henry Wang
	<xin.wang2@amd.com>
Subject: [PATCH 12/15] get_overlay: remove domU overlay
Date: Wed, 24 Apr 2024 11:34:46 +0800
Message-ID: <20240424033449.168398-13-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECDA:EE_|SN7PR12MB7418:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f6bd8ae-55d2-45c2-2d01-08dc640fae7f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Smpqz978Gt8Y4jwYCowjh4u88gFcgSMPBYg2xfE1oZXVTOHkXfrmDhRjxqBr?=
 =?us-ascii?Q?QgyZwnCQ2ytVopj33BzY2ozwczeOtOxkD0iJxut9cGiujaT7DIVETZgIUy1Z?=
 =?us-ascii?Q?tRWdBeucLa6F8+R/V/xGJF3fajioMu8RBdgWcpN35XAA9FN0HqIURCjdrygK?=
 =?us-ascii?Q?fuh+IRnLX+UW+5FUHlvh7BzKfeCHPCeMuvxaoEVcOw2yDOVZTeoG1ElyoocF?=
 =?us-ascii?Q?0leHcZnyKZnsneTzIkWHA+bhirtXRnHn2KdbeR7RiWkVz33LFAPhEhCP3gII?=
 =?us-ascii?Q?FJIspEWW+ba9buzx7Y6lIgyrekQz007TK/l/b04ZPNfNmOfYEklIQFS1yToJ?=
 =?us-ascii?Q?xxG9m/JLL26w2CgJVqbc8ftPd0jdHIzLt+Vk9VY4GR96NLHPi9WbO0Imdw6t?=
 =?us-ascii?Q?eQutXZlgu4CXWUf9KQYdu2v4AK6hoMpXGd5FkbR7sGGLfn4HqjX/erBWDJiM?=
 =?us-ascii?Q?MVi+PO5N9WSkqErcPtgIDl/rBBp5KmXa1ULxe+9j5yrWg71B9Z92gYZFc0tQ?=
 =?us-ascii?Q?xlpKo+DtS4xBjr2Em7AVwrfijy4bI+T1kqSEuIUtFasxvoeUH/J6OsFbZn2U?=
 =?us-ascii?Q?kmxkuD+PTSJLa8EXx+O8fJgQwQ0oPn2DW/tsZJhlnNfMxkxDtfzf3K+sTUAP?=
 =?us-ascii?Q?FF1YRtjuPnSnoUgDmEOI4cQAn8IytKjvGywAa6t61GY0AOcM5FZP+0RKZjrl?=
 =?us-ascii?Q?qeOyyCN7eP39mgXJqw81rqKYAV4ll8caqLJI4u8/DzgBc00GkrtnyOt3Xqet?=
 =?us-ascii?Q?6N4Gw3OCdlqTFI1A82ZjlfpnZrtUenVhY8k+xVvZMnOiXPjksyzO/HBlvGK8?=
 =?us-ascii?Q?oPxgs0VoVS/VCsL6gRigzajHp1w0EwrEg6vtqGWQmbHZ5Ro5f8VY/+KWQV7B?=
 =?us-ascii?Q?7zFdW2LRFuIFVVL6LN3QTGb5djSDvG6bPgccmKrou5mE2BMaMb5SL8PA63iB?=
 =?us-ascii?Q?Okx8j4jhuc1B4qWp2SNcOpKQio/PEUAtTCwhJDgi6yrqf589pmdm9qLXTT/x?=
 =?us-ascii?Q?W1d7O1Tu7S8cc4rJQkYbJ5kJ40+Tbucx782pZCTD/OquZNgoJx+GwV7KKy4Y?=
 =?us-ascii?Q?itCXkQrk3+5i7NpqQIETggqV8Pl5Y+uw6QLQScN6WnY1ircg25PMY/EWUOva?=
 =?us-ascii?Q?fZOiMlM9YqhoVo2yhRJqp+tBNqpYXDBedHIbiZntj6TKI/NLKSVooQ6k/TWu?=
 =?us-ascii?Q?75rwbcP0Cy9NUmxruGnv0NdOxOLvywPXie6Gi7lLBLmlIt3IuAImM3vAdFVS?=
 =?us-ascii?Q?pY9ulG1c8iM8fEueoMHeGLVDVDGu1jTxcgUJUkDApasPkuPgpzNis9XsTSTV?=
 =?us-ascii?Q?zkDbIqIbpWX3+QWrvBWpVN+d4045R6vGK8V8tetUvFeHJ1QzTizQnGnq+GmG?=
 =?us-ascii?Q?4D4gIzs2jWazB8PB9qwcIZguTgTG?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 03:36:09.4156
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f6bd8ae-55d2-45c2-2d01-08dc640fae7f
X-MS-Exchange-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: SN7PR12MB7418

From: Vikram Garhwal <fnu.vikram@xilinx.com>

Retrieve 4 new parameters from xenstore: overlay name, type, whether it
is a partial overlay and operation. Operation can be "add" or "remove".

Add correspond to existing mode of operation. Remove introduces support
for removing an overlay from a domU.

Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/helpers/get_overlay.c | 132 +++++++++++++++++++++++++++++++++---
 1 file changed, 123 insertions(+), 9 deletions(-)

diff --git a/tools/helpers/get_overlay.c b/tools/helpers/get_overlay.c
index ca3007570e..daa697ca04 100644
--- a/tools/helpers/get_overlay.c
+++ b/tools/helpers/get_overlay.c
@@ -66,6 +66,33 @@ retry_transaction:
     snprintf(ref, sizeof(ref), "%s", "not_ready");
     snprintf(buf, sizeof(buf), "%s/sender-status", xs_base);
 
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        goto fail_xs_transaction;
+    if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
+        goto fail_xs_transaction;
+
+    /* Create overlay-name node. */
+    snprintf(ref, sizeof(ref), "%s", "overlay_node");
+    snprintf(buf, sizeof(buf), "%s/overlay-name", xs_base);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        goto fail_xs_transaction;
+    if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
+        goto fail_xs_transaction;
+
+    /* Create overlay-type node. */
+    snprintf(ref, sizeof(ref), "%s", "type");
+    snprintf(buf, sizeof(buf), "%s/overlay-type", xs_base);
+
+    if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
+        goto fail_xs_transaction;
+    if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
+        goto fail_xs_transaction;
+
+    /* Create overlay-partial node. */
+    snprintf(ref, sizeof(ref), "%d", 0);
+    snprintf(buf, sizeof(buf), "%s/overlay-partial", xs_base);
+
     if (!xs_write(xs, xs_trans, buf, ref, strlen(ref)))
         goto fail_xs_transaction;
     if (!xs_set_permissions(xs, xs_trans, buf, perms, 2))
@@ -174,7 +201,7 @@ static bool wait_for_status(struct xs_handle *xs, int fd, char *status_path,
 }
 
 static bool write_page_ref(struct xs_handle *xs, uint32_t *page_ref,
-                           uint32_t num_pages, char *path)
+                           uint32_t num_pages, const char *path)
 {
     xs_transaction_t xs_trans = XBT_NULL;
     char buf[128];
@@ -249,12 +276,69 @@ retry_transaction:
     return true;
 }
 
+static char *get_overlay_ops(struct xs_handle *xs, const char *xs_path)
+{
+    char buf[128];
+    char *ref = NULL;
+    unsigned int len;
+
+    snprintf(buf, sizeof(buf), "%s/overlay-operation", xs_path);
+
+    ref = xs_read(xs, XBT_NULL, buf, &len);
+
+    return ref;
+}
+static char *get_overlay_name(struct xs_handle *xs, const char *xs_path)
+{
+    char buf[128];
+    char *ref = NULL;
+    unsigned int len;
+
+    snprintf(buf, sizeof(buf), "%s/overlay-name", xs_path);
+
+    ref = xs_read(xs, XBT_NULL, buf, &len);
+
+    return ref;
+}
+
+static char *get_overlay_type(struct xs_handle *xs, const char *xs_path)
+{
+    char buf[128];
+    char *ref = NULL;
+    unsigned int len;
+
+    snprintf(buf, sizeof(buf), "%s/overlay-type", xs_path);
+
+    ref = xs_read(xs, XBT_NULL, buf, &len);
+
+    return ref;
+}
+
+static bool get_overlay_partial(struct xs_handle *xs, const char *xs_path)
+{
+    char buf[128];
+    char *ref = NULL;
+    unsigned int len;
+
+    snprintf(buf, sizeof(buf), "%s/overlay-partial", xs_path);
+
+    ref = xs_read(xs, XBT_NULL, buf, &len);
+
+    if (ref) {
+        bool is_partial = atoi(ref);
+        free(ref);
+        return is_partial;
+    }
+
+    return false;
+}
+
 int main(int argc, char **argv)
 {
     void *buffer = NULL;
     int domain ;
     uint32_t *page_refs = NULL;
-    FILE *fptr;
+    FILE *fptr = NULL;
     int dtbo_size = 0;
     const char *path = "data/overlay";
     char receiver_status_path[64] = { };
@@ -263,7 +347,11 @@ int main(int argc, char **argv)
     int rc = 0;
     int fd = 0;
     uint32_t num_pages = 0;
-    xengntshr_handle *gntshr;
+    xengntshr_handle *gntshr = NULL;
+    char *overlay_ops = NULL;
+    char *name = NULL;
+    char *type = NULL;
+    bool is_partial = false;
 
     if (argc < 2) {
        fprintf(stderr,"Please enter domain_id.\n");
@@ -357,16 +445,33 @@ int main(int argc, char **argv)
         goto out;
     }
 
-    if ((fptr = fopen("overlay.dtbo","wb")) == NULL) {
-        fprintf(stderr,"Error! opening file");
+    overlay_ops = get_overlay_ops(xs, path);
+    name = get_overlay_name(xs, path);
+    type = get_overlay_type(xs, path);
+    is_partial = get_overlay_partial(xs, path);
+
+    if (overlay_ops == NULL || name == NULL || type == NULL)
         goto out;
-    }
 
-    printf("Writing to file overlay.dtbo.\n");
+    printf("%s %s %s", overlay_ops, name, type);
+    if (is_partial)
+        printf(" %d", is_partial);
+
+    printf("\n");
 
-    fwrite(buffer, dtbo_size, 1, fptr);
+    if (!strcmp(overlay_ops, "add")) {
 
-    printf("Done writing to file overlay.dtbo \n");
+        if ((fptr = fopen("overlay.dtbo","wb")) == NULL) {
+            fprintf(stderr,"Error! opening file");
+            goto out;
+        }
+
+        printf("Writing to file overlay.dtbo.\n");
+
+        fwrite(buffer, dtbo_size, 1, fptr);
+
+        printf("Done writing to file overlay.dtbo \n");
+    }
 
 out:
     if (fptr)
@@ -375,6 +480,15 @@ out:
     if (page_refs)
         free(page_refs);
 
+    if (overlay_ops)
+        free(overlay_ops);
+
+    if (name)
+        free(name);
+
+    if (type)
+        free(type);
+
     if (xs) {
         close(fd);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 05:11:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 05:11:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711098.1110784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzUub-0005gr-Mi; Wed, 24 Apr 2024 05:11:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711098.1110784; Wed, 24 Apr 2024 05: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 1rzUub-0005gk-HV; Wed, 24 Apr 2024 05:11:17 +0000
Received: by outflank-mailman (input) for mailman id 711098;
 Wed, 24 Apr 2024 05:11: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 1rzUua-0005gY-Pp; Wed, 24 Apr 2024 05:11: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 1rzUua-0001QU-Kg; Wed, 24 Apr 2024 05:11: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 1rzUua-0001KK-BG; Wed, 24 Apr 2024 05:11:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzUua-0001jn-Ae; Wed, 24 Apr 2024 05:11:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6lv+Cx6j+dGip4gaeyp2MF/F5NwP90ZifGwUW22QdB0=; b=AA2QW7eq6WaEK96sLDVbIGLz9M
	uPkD7d5Fwu9ysGjehUw7e9sd4nec5cgxHyVIDc6xgD61x8E8bHIHBCfnKAN6VPhwgU6wW1ODkZelj
	D911ic4chxDjxtXoh5HYr3zqHrnD4W+qzJsbNimxUawr7+WLNGKObEta/zep0fX2aF8c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185781-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185781: 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=410ef3343924b5a3928bbe8e392491992b322cf0
X-Osstest-Versions-That:
    xen=77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 05:11:16 +0000

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

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                  410ef3343924b5a3928bbe8e392491992b322cf0
baseline version:
 xen                  77e25f0e30ddd11e043e6fce84bf108ce7de5b6f

Last test of basis   185775  2024-04-23 20:00:26 Z    0 days
Testing same since   185781  2024-04-24 02:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Petr Beneš <w1benny@gmail.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
   77e25f0e30..410ef33439  410ef3343924b5a3928bbe8e392491992b322cf0 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 05:55:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 05:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711106.1110795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzVay-00056R-WF; Wed, 24 Apr 2024 05:55:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711106.1110795; Wed, 24 Apr 2024 05: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 1rzVay-00056K-Td; Wed, 24 Apr 2024 05:55:04 +0000
Received: by outflank-mailman (input) for mailman id 711106;
 Wed, 24 Apr 2024 05:55:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzVax-00056E-Nz
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 05:55:03 +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 303cb9fe-01ff-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 07:55:01 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41a0979b9aeso27078425e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 22:55: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
 p8-20020a05600c358800b00418f72d9027sm20413795wmq.18.2024.04.23.22.54.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 22:55: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: 303cb9fe-01ff-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713938100; x=1714542900; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cTLbwZuCxKtSASq0vDmtOK5YvsKspFfdjSwAeNU2aE4=;
        b=C9RhYt+382XTe+Ytct3lgGePMy/TzFOiXH+HeHtQtTYtJxm0wJowp8ZGM5nS19sRI6
         MPunJI+7W/jHod2szET0xAIZWhfJBalVdS5FVvD8713suf1BKX78btOIcPvqU7eWFMYG
         x5VbBz0M0XouMJg8SIx5cWvyd8jcYbx2nRP6bJLd+fNVn350UCXYocIYGa1KtI3RYI5u
         L4MicZU5sTrOmYAo8d/VccXH454MOBU9m/MXHctuGRFHkLTKznrSvsAOKTW5VeHdwNKu
         SnSNUFY22tu2aQArUU0LZnYxJ0j1TUzbZyMMW9VO2rr9K985qpbK9zzonjpSBKJ8ReO9
         VGgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713938100; x=1714542900;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=cTLbwZuCxKtSASq0vDmtOK5YvsKspFfdjSwAeNU2aE4=;
        b=U90Ab+UfDsoIEKWpWOa8D0ap4DQJ4Ajwu/K0SClJnzBdjX0y0ZgEXj9NfI0CxS/zQi
         4W6z/xeo9Yoq1VN5eqrHgeL1st1bItz6oKs4cJ37IuALu+zo9zP6eYQPJ9pLSQrK+uE5
         aZR36uI3V+W6/8I7Ue9RHUXa2TPU7aFe/gICqdkt3qLJunLY8aHIq7LbdCh5O4UJJ5FD
         m1HbxuNeOTWoBtjOPav4Yhkm26vs/Yzx1kvdDSLUgnl/l+HWEBmWDQxIhdWcYK6lmrDu
         h/kTR6/F+0z2cvl42abgBOSH6tEal3HqfjQZuDdn2O7cr5ypuTZgecq2R6FI7TIEjUKt
         EQYg==
X-Forwarded-Encrypted: i=1; AJvYcCX9XyGv78Kcb3ntJkYDrktAtvhiRYSqv1ODvNp7gRkV8i7IH+yBR6IsdtXKWjiwmwwCbEiZi/ztnN9WBVe5OtZVil1CUX8QAihpxkWbOyA=
X-Gm-Message-State: AOJu0Ywomx/6WxSF9l4aXd9UoShOuutOWHN7W/Eyojf+38Y1J0KlJTlV
	kIpnGCOF1yNulGfR+2mDXeR5+li/dhn9a5gELclcmMxGmlI4cFEtZ/3hlwOD0w==
X-Google-Smtp-Source: AGHT+IH6O1x6Bge+rLIn04XZB2nMh7onUOJeu1YDi3ZMaFSky4Dtm5+vEtLSIXDtAw4T+0O+UEfNrQ==
X-Received: by 2002:a05:600c:1d11:b0:41a:a81e:441 with SMTP id l17-20020a05600c1d1100b0041aa81e0441mr1290567wms.25.1713938100448;
        Tue, 23 Apr 2024 22:55:00 -0700 (PDT)
Message-ID: <2b84b989-ec54-4e43-8c55-ed60cb5838a4@suse.com>
Date: Wed, 24 Apr 2024 07:54:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] x86/alternative: Relocate all insn-relative fields
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 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>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b0412697-d258-447a-9470-09590744c2c9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

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.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 05:58:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 05:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711110.1110804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzVe1-0005ge-DO; Wed, 24 Apr 2024 05:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711110.1110804; Wed, 24 Apr 2024 05: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 1rzVe1-0005gX-AZ; Wed, 24 Apr 2024 05:58:13 +0000
Received: by outflank-mailman (input) for mailman id 711110;
 Wed, 24 Apr 2024 05:58:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzVe0-0005gR-8N
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 05:58:12 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a0ffc3e4-01ff-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 07:58:10 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-41aa15ae26dso15741785e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 22: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
 fc19-20020a05600c525300b00418981b59d4sm26446427wmb.10.2024.04.23.22.58.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 22: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: a0ffc3e4-01ff-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713938290; x=1714543090; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6NFqir/0y6lb16rOITMVcMyo8mh42R+P942bXo2UJ04=;
        b=OO4J/ZtqAv4iUBZlmu5KFM4Y3/hZ3ejB8B7p+CKZfzllu0AbeGOlKopCvHtY/Bb92+
         Z9XlxP5w70hZm+dHRQZ/8CQ96Rg2JAGTAR4PuEs5OAaI+grylB2EOst4R+OlmnlwnIbb
         ZKRKXVzLjMFEcuSRomRgcCJhTjWuWl33QQ9CYTfTJwVWXz+2jnoEOt8Ebzt+FVwwyApM
         ImDV321KCb9LQ33Y/PlGJw1zrTMYwxUHLMY8Me+nvTI9kyLJkGE3a09c+35N7JxCsxCU
         DHW1KmOTqaqP+5kZHdRdZScyd4TroN9YAwZ59Bp6dmt8fGIxlvaOX6/CQG/e+th/PNIk
         Tilg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713938290; x=1714543090;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6NFqir/0y6lb16rOITMVcMyo8mh42R+P942bXo2UJ04=;
        b=W6eJDTJobauhsHgC49+RHnL056AA4lqccjRjkSCBiZcqt1coWpSGUkzW9Op0c/CrFx
         AJsEV4p9g5wD2IUym6p2WBiD38aBWMGPnz7cPNKeZzNdZkHr9yvJuUkF1ltVxPj8M9T+
         /eA8pH+DOv8MN43D7oDEtbg927oBd/z56SSG903f1iZCQxBh8g2JkCvFwN5NS69Ahlk2
         OagQZ7NRQqfkkmE982RtOTbwWUC8xPYwcJMcTNl3A4lqTY23eid04ttZXXHW4VtNoeJc
         DJvnljdvG08RmIr8C/AMrH+JcgIAEUzcHWfX26ZDdBpcgkcjr6JdxLrtLOFUCpI8DRg+
         3wmw==
X-Forwarded-Encrypted: i=1; AJvYcCX2lttAICc8q7ja0PoeX6FjKoTe0UlQsOrHUwtfUlpdlNITt6IdJuE7Or5VqXNImxx9mo1/vgqEFAlCPZ1bD4oVmndOPDtY4cw1+jhgSRk=
X-Gm-Message-State: AOJu0Yz1BG7W32CIwaC+3WV4/BNaHIL3NxbDt+OiJU0qIJA7LqjqoYtk
	d6eSMlUhZSLCpS3F4NS04BHXNTOd0UOuDP+wnEfxT5O0IbMfwpgQh11lX8BNbLykueljIAJj7XY
	=
X-Google-Smtp-Source: AGHT+IHdfU/BawBTr3iT0VVseTxYXnxbVRmB8mxVpEJE+s/zDacyvl2j/mB7XZhkwv2U1QIzz8woZA==
X-Received: by 2002:a05:600c:3585:b0:418:dd73:b0a1 with SMTP id p5-20020a05600c358500b00418dd73b0a1mr998352wmq.39.1713938289744;
        Tue, 23 Apr 2024 22:58:09 -0700 (PDT)
Message-ID: <6cba6a94-8bc3-4302-846e-0eae03e77306@suse.com>
Date: Wed, 24 Apr 2024 07:58:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/15] xen/commom/dt-overlay: Fix missing lock when remove
 the device
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-2-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424033449.168398-2-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 05:34, Henry Wang wrote:
> --- a/xen/common/dt-overlay.c
> +++ b/xen/common/dt-overlay.c
> @@ -381,9 +381,14 @@ static int remove_node_resources(struct dt_device_node *device_node)
>      {
>          if ( dt_device_is_protected(device_node) )
>          {
> +            write_lock(&dt_host_lock);
>              rc = iommu_remove_dt_device(device_node);

Any particular reason you add two call sites to the unlock function,
instead of putting it here?

Jan

>              if ( rc < 0 )
> +            {
> +                write_unlock(&dt_host_lock);
>                  return rc;
> +            }
> +            write_unlock(&dt_host_lock);
>          }
>      }
>  



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:02:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711114.1110815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzVi0-0007CN-V8; Wed, 24 Apr 2024 06:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711114.1110815; Wed, 24 Apr 2024 06:02:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzVi0-0007CG-QF; Wed, 24 Apr 2024 06:02:20 +0000
Received: by outflank-mailman (input) for mailman id 711114;
 Wed, 24 Apr 2024 06: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=5Z4K=L5=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rzVhz-0007C5-EH
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:02:19 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e88::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 343bdb05-0200-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:02:18 +0200 (CEST)
Received: from BN1PR12CA0015.namprd12.prod.outlook.com (2603:10b6:408:e1::20)
 by DS0PR12MB6534.namprd12.prod.outlook.com (2603:10b6:8:c1::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 06:02:15 +0000
Received: from BN3PEPF0000B073.namprd04.prod.outlook.com
 (2603:10b6:408:e1:cafe::a9) by BN1PR12CA0015.outlook.office365.com
 (2603:10b6:408:e1::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.28 via Frontend
 Transport; Wed, 24 Apr 2024 06:02:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B073.mail.protection.outlook.com (10.167.243.118) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 06:02:14 +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.35; Wed, 24 Apr
 2024 01:02:14 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 24 Apr 2024 01:02: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: 343bdb05-0200-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JUwrUnXJ0xnOq/cNF9Ar42tHQjh2JwK6DVlDUO1lrIcBIxHViTTD7PJLkIF+BCz0e762o413NRYXH/r5cwH5GG56nTxXx1SMkX6a9/28d7zf9adrsQPMYk9xSXNW174UMPmSmhZRhKrfMw3uwWk2Uh2x1t/tzeGi+yMi3mbJX1QlWILk3HFJfgsn+9/G+pPfKKnEIvijJzg9K4VXs1FuGelTwOIpASze83zEXUHA6C+IAMGDpjByTgKCZOmk60UI3/z16uxLUwI8d0MLis8rEKFM/O9p7kAhVZVbShlXSzUFZjIZUIOAaPCtN5uy5uCbOCceuDdQ14+a8cyUSPVhow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N1SzlAlu4mvg6KH36iAeFziAGC68TiZYtx695q0ymeU=;
 b=A/aCWeNM6UVIjrsmDXMpcIciTJMjrCz/ZkgTQDsMvnoSKkPxexypdlFVQRHVThRP6aTT6E44QMviooc8qsAgeTfI5sQGlaDLJ7Pp5rqWSaiXW5xDUqRgQa/mEdHDnWGWyyuiYZmGTe1PAhGg4hqk6J6mMhyUVwQjbZXDYnhlvLGGhOFjrMnhNmUSrZ67rrefHvFn1gos2fVkAJTXPoukWcy94IcFlRxjv2ImCGPqroj9jtCj3OvwUOi22stCqSEg/MFr/uIbhaR++Y1+1vOyCkbIPJYXEtoYPhpfsRfOjOW1+AoCKE0MWhVaMfJ1mlKAQAfRutUnVPHiPBmw3O4ArA==
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=N1SzlAlu4mvg6KH36iAeFziAGC68TiZYtx695q0ymeU=;
 b=GynHEN6i6VR/+qx8deTTPYIHVlII9652H1He5rC5p9RyT68XxbPygzqW1W6orbrTKUDsdJuYm1uWAYoQaeeGtPoTs2HHhIm2o4SOHenBApcAqTyBCInjcwk6pVAQJNJnA3K/a7+63zgZomqcka2tdRd6UgFvFhIcNn+AhZXkh1E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <dc095b66-8401-42e7-bc15-b8c8dee1c591@amd.com>
Date: Wed, 24 Apr 2024 14:02:12 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/15] xen/commom/dt-overlay: Fix missing lock when remove
 the device
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-2-xin.wang2@amd.com>
 <6cba6a94-8bc3-4302-846e-0eae03e77306@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <6cba6a94-8bc3-4302-846e-0eae03e77306@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B073:EE_|DS0PR12MB6534:EE_
X-MS-Office365-Filtering-Correlation-Id: 0499bbda-bd0c-4cc0-86bb-08dc64241702
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aC84aSt0QWkyZzZxcnhJNW9laEIzY05Kb0xqbmlEaHNNR1E0V3ZFemxJWFZs?=
 =?utf-8?B?UEF0OHhHS2NEMExETjJEdnB3VENLdXhFczl1QlI2NDlVQjRBS0ZNcFJjSGdq?=
 =?utf-8?B?bGRYaUpyU1NYbWkvb2JOWWUvcERSdmVLc0xtMkg2MjJWWHg1RFBqT0RUNnl4?=
 =?utf-8?B?cXBiSjdRSXp3OEpRbjBwMWVmUFZHRW1HKzE1ckxYOXJJOGkvbHBvYXhNZUsy?=
 =?utf-8?B?VGU4VUZuT25vRDlodHdZajg1Um1YcGF3Q2Q1eEFqTWViQ2NUWXp2WTlTK0NO?=
 =?utf-8?B?a1RxVHhLQW1YdHVwYUZKbG8wYjF4YUVwUUF5ZDRNYXZKYVJTMFlTYXliZFZG?=
 =?utf-8?B?cVhETTJBL1Mxc2N4TGlHR1UxeWRmUk8vMSs3MktPbHU1Y2YvYlIzR2NxUVlQ?=
 =?utf-8?B?enBhdjJnQzZQNHJVeGJyT3FiVVNCdER4UDlDT1FCeTNXaTBNQ1JtM01nKzlW?=
 =?utf-8?B?ZzhJOG5oSHpmUDdmOVZ3cUZ3MGxXV3RlT2lKZlhCd0FtZTRQUXNiUEI1RmlV?=
 =?utf-8?B?UUcwYi9lRWYvVUE2RjNTR2ZBTjRxQmdpdEZKZGJqbVd2UlZwQk1sUk9LbEV0?=
 =?utf-8?B?RGNxdW9kSi8zYjAzTk1qUDluUVp6RjVZSHZROU8vMGtMTkV2ZGZVeC9zTUgx?=
 =?utf-8?B?d2RpL3VxeWRFOFBRVFZUZ0VEZ0x3YThoNDB6ZTIwNFAzUHo5MjdFOVVSLy9W?=
 =?utf-8?B?blZQMjNUTE1QSVBqZGhKeWtkWUNBVnhjZTBaSFJldm96L0pCcmNRNkFDZVlq?=
 =?utf-8?B?SDlpUG0wRk1GdkhyY2puYTZEVXFId0xGbGFGSmJoUGYwVUVpOEhxWTdRSVhq?=
 =?utf-8?B?bVNEWHd3cVJXd0FuTHhLdS9lempOd2tSOFlkQ3F4MkFlbGxBbmx2Q0VHc0wz?=
 =?utf-8?B?bHE4aG92NTVLWnRHSHc3a2V3QzlENUtFajVUbWtteEsvK08xYVUxL2RyTHR5?=
 =?utf-8?B?RGNESWoyT1VVd2g4SC9ma1psWWtXMFN3dFkxWi91eUtmS3ZyZG5HMFV5M0N1?=
 =?utf-8?B?NmFid2kwTWE0QlFRSjVxWmVBeGtlQ1p4WjVodW0zbGtJM3IxNWNKeGZtRHBT?=
 =?utf-8?B?QjhoamV4cFFYQkowN3BVaEd0SlpNOWp1dWxIU2FuWU42V21GeWhQSitiREN0?=
 =?utf-8?B?UWJZbTdiQTEyeWdIVFdkb0RHSmpyUEdJR0swb3ZhYk5QK3hvVDVOMU1QZERL?=
 =?utf-8?B?cXF3ZXpRVFVwWnBTK2l3WFFrM3lGKzllSWR0K1IydXd0TWEyM1JSSEVGakJt?=
 =?utf-8?B?V3RTcFpiVW5CYjJvcEQraUp1OHVkd2h3QXVoOEMwOEloQyszL05aWnpMd2Zy?=
 =?utf-8?B?U2M0MFYwbVI1dzBxeDlMcHpjNFFhSlljWm0yczFSaTY2M2ErenFNaEw3WnZH?=
 =?utf-8?B?MklQemp6UVhCbWcwTDJJeTRDanNVMnVPS0hRZnRNekVTNGl5emI0czkzeEs4?=
 =?utf-8?B?NXBqWUtBamE1bm53a0t3ajFsbTltU3p5SjB0M1JlYkhIRDNpVyt3bk1iYnBj?=
 =?utf-8?B?RmFldlhLV2Z0dTcvR3JEOHVIVkZzWEFyWTJLaE9rb0M1dEdpbjZwc2xNdG14?=
 =?utf-8?B?d1d2MUwyMjBzZEtobmlzdWw2MUdiWW9YTXpEK0dtNVRadkhaTFZETVlyQ1BG?=
 =?utf-8?B?Zy9MaXBSb05Od0cyWXhDL29ObGZBTVd2Tmt3UnpjT2M4QkdXUi9DTnF3a2JE?=
 =?utf-8?B?R0lrejFianZCODNkZmdhRG9BNzhRSjBFaEpoa2pFMWc0UHo5TC9IZmVybnVR?=
 =?utf-8?B?RjVOUzBTOW1NRWtTQnRwQmRSZVlYQVFPMkpaaWw1VjUydXR2MGVUTE56cElD?=
 =?utf-8?B?NTJXaisvUlRqN085bzBQZEpRUXRMRElieHIrL2lvR0g5WndBNmsyalVhOUQz?=
 =?utf-8?Q?7FDnuwhR7AOZs?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 06:02:14.6940
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0499bbda-bd0c-4cc0-86bb-08dc64241702
X-MS-Exchange-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:
	BN3PEPF0000B073.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6534

Hi Jan,

On 4/24/2024 1:58 PM, Jan Beulich wrote:
> On 24.04.2024 05:34, Henry Wang wrote:
>> --- a/xen/common/dt-overlay.c
>> +++ b/xen/common/dt-overlay.c
>> @@ -381,9 +381,14 @@ static int remove_node_resources(struct dt_device_node *device_node)
>>       {
>>           if ( dt_device_is_protected(device_node) )
>>           {
>> +            write_lock(&dt_host_lock);
>>               rc = iommu_remove_dt_device(device_node);
> Any particular reason you add two call sites to the unlock function,
> instead of putting it here?

Oh...you are correct. It is indeed better to put the unlock here. If 
this is the only comment for this patch, can I respin this only patch as 
a v1.1 or would one of the committers be ok to fix on commit? Sorry for 
the trouble and thanks for the suggestion.

Kind regards,
Henry

> Jan
>
>>               if ( rc < 0 )
>> +            {
>> +                write_unlock(&dt_host_lock);
>>                   return rc;
>> +            }
>> +            write_unlock(&dt_host_lock);
>>           }
>>       }
>>   



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:05:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711117.1110824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzVky-0008ED-Ag; Wed, 24 Apr 2024 06:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711117.1110824; Wed, 24 Apr 2024 06: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 1rzVky-0008E6-7y; Wed, 24 Apr 2024 06:05:24 +0000
Received: by outflank-mailman (input) for mailman id 711117;
 Wed, 24 Apr 2024 06:05: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzVkx-0008Dz-4T
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:05:23 +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 a262d601-0200-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:05:22 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41b0bc4ce39so1228645e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23:05: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
 r30-20020adfb1de000000b00343e392829dsm16379916wra.97.2024.04.23.23.05.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23:05: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: a262d601-0200-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713938721; x=1714543521; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=u4imGHJZzQiILxfsOclmq+kHVBQ53kfcMw2z1a5Q+5M=;
        b=TpphYQpt/RaDEd6qBpE2lgYpSFrAZTjtDTtnPFz10FTs2wYZgzWWr7h+Wt/vPc8dVq
         t1/3pn9/FBpZckbFzm6mjGYXH8YY93dB5lVAzpIbpQ7UOnNgD6CPbsUOx8/kmHRKb+V0
         SYhrxWRmYFYilqnPZtUN4tu1N6Axh+7g+AC9pjLKmtRdTTS+tOCjiPwQQF2l1sW7XEuy
         cF39piFA7Wall4umP73F9VIB71iX9UK/CY5q68/hAvy1+c4Mlw/0LV3kKwguqNAp3cl7
         vO4+WRYoH95S/jXpczlusDhnpU5af6cxr1eg2S+Ud11FcrZ7UgWf+IYiZfeOMc0ZbMcf
         EidA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713938721; x=1714543521;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=u4imGHJZzQiILxfsOclmq+kHVBQ53kfcMw2z1a5Q+5M=;
        b=uALGok03c3ewPJpQH7TXWiP7CQ4nrwQYkqMZF7lThNQevc+NgFgvjq5vf4YI/Sva/L
         Npr+XcPjkSxsWBXtIoSbbKlL0MQWFoiA3j7c4bmB3rwCq9q4/QDEu1OPwuJvl3VD931a
         5FGkxVcOeexKgarlXM7ccOLIRjXpVQxzAw3K8hagoukdOIkAI0XLbfRPNIkWvcDba155
         Kumj4ljxiYhU1v/08Otamy1u/MQETbLoqGn8IYATXmI6Y94Dvv/rbR6Kvfp9EXD9eYFK
         trySaWJjb9Kj2fRMYfHlBWDDOnFyKWhGmutvZCchbN03ZhL88LLTIjiGOkK4vu44bmbL
         Ma9g==
X-Forwarded-Encrypted: i=1; AJvYcCX0NMnRspPdpAHeAJ0laX9dKFVsZm3DCwMhBfIECzgCHEfztOnrza/wF1uejrNhztuba6SgFWEv4c3GuNHDvwpMId9vlx9JA8OM1qYryZQ=
X-Gm-Message-State: AOJu0YxaTc5aiToOPk0sTkP6yjD1Wli6k2LVi55t9hBwo443BfYkLP4S
	iB8/JVDIi6PnnPAhFGpNU5lTkjWpGbJV9IEm3QeXt07c8acduxBtDAOo+gY5bw==
X-Google-Smtp-Source: AGHT+IHeMvghrJ+vwEmRSztmJFzmQaJR0iYk8xO0VisE43p8PRN3JGLYupQyY/Bk2s6VAv9/GXBBUg==
X-Received: by 2002:a05:600c:56d4:b0:418:e7b6:21de with SMTP id ju20-20020a05600c56d400b00418e7b621demr1215722wmb.23.1713938721347;
        Tue, 23 Apr 2024 23:05:21 -0700 (PDT)
Message-ID: <da67f90f-6807-4fdc-b65b-f7a4ba9f78ad@suse.com>
Date: Wed, 24 Apr 2024 08:05:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/15] xen/overlay: Enable device tree overlay assignment
 to running domains
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, Vikram Garhwal <fnu.vikram@xilinx.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-8-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424033449.168398-8-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 05:34, Henry Wang wrote:
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
>  #define XEN_SYSCTL_DT_OVERLAY_ADD                   1
>  #define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
>      uint8_t overlay_op;                     /* IN: Add or remove. */
> -    uint8_t pad[3];                         /* IN: Must be zero. */
> +    bool domain_mapping;                    /* IN: True of False. */
> +    uint8_t pad[2];                         /* IN: Must be zero. */
> +    uint32_t domain_id;
>  };

If you merely re-purposed padding fields, all would be fine without
bumping the interface version. Yet you don't, albeit for an unclear
reason: Why uint32_t rather than domid_t? And on top of that - why a
separate boolean when you could use e.g. DOMID_INVALID to indicate
"no domain mapping"?

That said - anything taking a domain ID is certainly suspicious in a
sysctl. Judging from the description you really mean this to be a
domctl. Anything else will require extra justification.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:08:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:08:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711125.1110835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzVny-0000R7-Se; Wed, 24 Apr 2024 06:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711125.1110835; Wed, 24 Apr 2024 06: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 1rzVny-0000R0-PK; Wed, 24 Apr 2024 06:08:30 +0000
Received: by outflank-mailman (input) for mailman id 711125;
 Wed, 24 Apr 2024 06: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzVnx-0000Qu-6s
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:08:29 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11262ce2-0201-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:08:27 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-343c7fae6e4so5687227f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23:08: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
 a12-20020a056000100c00b00349ceadededsm16273590wrx.16.2024.04.23.23.08.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23: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: 11262ce2-0201-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713938907; x=1714543707; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=T2oToJ2H4PxWr/ua2+1zve3oE0/3orbPzPC4G1VeCEw=;
        b=etEb/cZ5hl/CLiJYD74pf2y04XkNDdE6oWPo9Ns10tUGHymDOH832oLOhNrpYEjmdn
         GdrhHQ22wEI9Jue2xJSTjJIT3j0H1g+UI9Cc2gVxuW6JjoWQqVQwMdjBsXvI+9YIr+v/
         3CgXqTuCNUpesVqiSybghR7zr2IS/cygWYi9FB/coD8DavH3aF4gcb6WYC6XiueCGHRF
         pFITn/AHHijg1GEihMmYYtc6ycJyBr4XFVf1wyQ5yWhuICeosmDEXVV1XsArfIiv1vrO
         RZ7Ac4D7Ko8ljrO6M55XNvetWsEt6ekpJ0PZj0siTY/eB/WgRw35D/yZy17WEog06Ze2
         vsWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713938907; x=1714543707;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=T2oToJ2H4PxWr/ua2+1zve3oE0/3orbPzPC4G1VeCEw=;
        b=I+D7TH63m6PD/KvfF/hBIP7trl/0FWwCrG2lqe8SUZcdS7yqOGAYVmafwUcS+jaOXp
         kpQtNKw2YEOpGWqiDPO/GFe86yPn89x0n8YM0AQCILneMl1d4qRipxnasq2qz/nVUcv5
         H1K1Jb29ZA9tB1pFGBnp0ipl4BBAT+aunfxoLab5ko3uudvoTGRQVWLNgubhUI5QCADq
         tI4dCRbE8VLojwen7xZmDUrAvkRvpz2jEOHqrZQ8ypYBzZyrBKmnbX0GHYivGR+668x7
         LMc8TLLOCwioFJKfAKuyFrM4iDqkmldWqXAmeBerNytP5vEazQJpbQqZbCmIrmcF2j1D
         42HA==
X-Forwarded-Encrypted: i=1; AJvYcCUTbPi+tPur4yl/rtA0Zh4CoE/vbfFX8/Dvg2VmokhziNvFofvDFIky+funDQY5bT53TaffwNXPlHaizx0Le3ga+3DtPF9oScAIabUrL3o=
X-Gm-Message-State: AOJu0YwdVrh6p9sXnLYobn6nV0gtkuyTD6xGB9d/G+Hu1d6BHw0C/1Qu
	7viOOuIOQoHv+giWK7bbvO8ZzfwIv1+NTq24nLuHO4KsOqLGazoko0oEi9Aijw==
X-Google-Smtp-Source: AGHT+IH5Dn3RNxHfXGUe1DpQxGQ9ZZ9kF7ZXJ3QRoTlPqu4gfKsGr5HxhpnX6qq7WewZ+4iyDQiGUg==
X-Received: by 2002:a05:6000:54d:b0:34a:2bc0:c9c4 with SMTP id b13-20020a056000054d00b0034a2bc0c9c4mr895652wrf.5.1713938907383;
        Tue, 23 Apr 2024 23:08:27 -0700 (PDT)
Message-ID: <c8228db9-6bb6-4115-9cc4-bcd8f49319e5@suse.com>
Date: Wed, 24 Apr 2024 08:08:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/15] tools/helpers: Add get_overlay
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, Vikram Garhwal <fnu.vikram@xilinx.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-12-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424033449.168398-12-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 05:34, Henry Wang wrote:
> From: Vikram Garhwal <fnu.vikram@xilinx.com>
> 
> This user level application copies the overlay dtbo shared by dom0 while doing
> overlay node assignment operation. It uses xenstore to communicate with dom0.
> More information on the protocol is writtien in docs/misc/overlay.txt file.
> 
> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Signed-off-by: Henry Wang <xin.wang2@amd.com>
> ---
>  tools/helpers/Makefile      |   8 +
>  tools/helpers/get_overlay.c | 393 ++++++++++++++++++++++++++++++++++++
>  2 files changed, 401 insertions(+)
>  create mode 100644 tools/helpers/get_overlay.c

As mentioned before on various occasions - new files preferably use dashes as
separators in preference to underscores. You not doing so is particularly
puzzling seeing ...

> --- a/tools/helpers/Makefile
> +++ b/tools/helpers/Makefile
> @@ -12,6 +12,7 @@ TARGETS += init-xenstore-domain
>  endif
>  ifeq ($(CONFIG_ARM),y)
>  TARGETS += init-dom0less
> +TARGETS += get_overlay

... patch context here (demonstrating a whopping 3 dashes used in similar
cases).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:16:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:16:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711128.1110845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzVvS-0002Sz-Ki; Wed, 24 Apr 2024 06:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711128.1110845; Wed, 24 Apr 2024 06: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 1rzVvS-0002Ss-GZ; Wed, 24 Apr 2024 06:16:14 +0000
Received: by outflank-mailman (input) for mailman id 711128;
 Wed, 24 Apr 2024 06:16:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzVvQ-0002Sc-U0
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:16:12 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2320d026-0202-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 08:16:07 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-343d7ff2350so4865539f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23: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
 j10-20020adfff8a000000b0034335f13570sm16097998wrr.116.2024.04.23.23.16.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23:16: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: 2320d026-0202-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713939367; x=1714544167; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kdfnpatrTyQeYsAvSX+9LoX28ahuJFBANRRsy2h7dr0=;
        b=QC+0HTHq0Oy0QHXdgDyu957UYWa51mTOePtgUq9VejHN4WHxnZ0QBNCyz/v7T5ZAGU
         1th469O7vWamnXZOWnT0BLrYQBny+vAeMIjXSlO2rwVSuAn/2m67Y6qOe0y+J4djcWdf
         eYQ5aHdYbHqLDgIKtJdgwMRHFRgj0a0AzoX557XNnioEdcoSTbebVn8BP7hoo1ZyxsfV
         QoSou92AyLtF29YmI5YBLtRRojusxs7GNz5pyCYOXDQvfIl8uRIaALqZ5e7Kf0QlH0HU
         aHZXb7BMScBURCAq6JEBz04bz8MmU5aP91fghZ3H1t13FiVB+u04/kPTVGoIx8PqMjtR
         lJfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713939367; x=1714544167;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=kdfnpatrTyQeYsAvSX+9LoX28ahuJFBANRRsy2h7dr0=;
        b=XuJG6xHvVr5u8t7iLYpuEzU2VqToc0jfle7GanF93ORiUfM7JPySXNCasUFI9EsGVC
         GgvMEOdX6Ss/qGTPGXrupEAx6uJ3ZuXGpuDcW8SUfEzbDupIIfK5tI5d8EKET3sfwQdB
         reOO8qmbmuH45zRiPWuHlrVwbfK3/TU3uj3uYhGgN75EzMPkeM+mhh5Bzu4kWDCjVAY4
         a3Z0hMItACwG6t/bn3yLC4uNjGHF+df7CanzkW0YJFjaAamtjhdJnwdnWYOhUs75J97t
         UWv0WigcTZKWUTRlbCBil1qvJhMbsexx1C3lfu0d81VsXrUr2WLTFb6uZKFLOZtVsEhd
         Nnsg==
X-Forwarded-Encrypted: i=1; AJvYcCX6H1LuradHoaTBzNkNM3nQ17qmm1ANrJcY3QsbXsFM0VesccfaB1W6u/d3X9FVn0LPhH2ZSBDrrXmGHRcOnkqD6Syby7Idi/qUHzCBX7s=
X-Gm-Message-State: AOJu0YxnS5hu8YCZ4CWvsG/OjYuRQrfTNwmMmkzjC49542n9+mYWA6h7
	gCfQ95ZCOdTUiMVf2A+ykgcqQR+BgDKYeu7E3N/zjz247KyHlT3b0J19EnamWQ==
X-Google-Smtp-Source: AGHT+IFYZj60IhL18hCwdw8hSxd2AWzfGitFMfKe61qm0KWMl88QNf3HQsAgx/U9jveYRtPsUjZwyw==
X-Received: by 2002:adf:cb0f:0:b0:34a:2a90:c45 with SMTP id u15-20020adfcb0f000000b0034a2a900c45mr760344wrh.31.1713939367186;
        Tue, 23 Apr 2024 23:16:07 -0700 (PDT)
Message-ID: <bc2aab70-08c5-4dfe-91ab-c1c24163cd46@suse.com>
Date: Wed, 24 Apr 2024 08:16:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/15] add a domU script to fetch overlays and applying
 them to linux
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, Vikram Garhwal <fnu.vikram@xilinx.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-15-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424033449.168398-15-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 05:34, Henry Wang wrote:
> From: Vikram Garhwal <fnu.vikram@xilinx.com>
> 
> Introduce a shell script that runs in the background and calls
> get_overlay to retrive overlays and add them (or remove them) to Linux
> device tree (running as a domU).
> 
> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Signed-off-by: Henry Wang <xin.wang2@amd.com>
> ---
>  tools/helpers/Makefile       |  2 +-
>  tools/helpers/get_overlay.sh | 81 ++++++++++++++++++++++++++++++++++++
>  2 files changed, 82 insertions(+), 1 deletion(-)
>  create mode 100755 tools/helpers/get_overlay.sh

Besides the same naming issue as in the earlier patch, the script also
looks very Linux-ish. Yet ...

> --- a/tools/helpers/Makefile
> +++ b/tools/helpers/Makefile
> @@ -58,7 +58,6 @@ init-dom0less: $(INIT_DOM0LESS_OBJS)
>  get_overlay: $(SHARE_OVERLAY_OBJS)
>  	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenvchan) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxengnttab) $(APPEND_LDFLAGS)
>  
> -
>  .PHONY: install
>  install: all
>  	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
> @@ -67,6 +66,7 @@ install: all
>  .PHONY: uninstall
>  uninstall:
>  	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
> +	$(RM) $(DESTDIR)$(LIBEXEC_BIN)/get_overlay.sh
>  
>  .PHONY: clean
>  clean:

... you touching only the uninstall target, it's not even clear to me
how (and under what conditions) the script is going to make it into
$(DESTDIR)$(LIBEXEC_BIN)/. Did you mean to add to $(TARGETS), perhaps,
alongside the earlier added get-overlay binary?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:22:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711133.1110856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzW1j-0003y1-An; Wed, 24 Apr 2024 06:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711133.1110856; Wed, 24 Apr 2024 06: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 1rzW1j-0003xu-5g; Wed, 24 Apr 2024 06:22:43 +0000
Received: by outflank-mailman (input) for mailman id 711133;
 Wed, 24 Apr 2024 06: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzW1i-0003xo-Fe
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:22:42 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d285549-0203-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:22:41 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-34b66f0500aso1529539f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23:22: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
 a7-20020adfeec7000000b00349cadc5024sm16225147wrp.61.2024.04.23.23.22.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23: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: 0d285549-0203-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713939759; x=1714544559; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mwkCe7jRohrrZj4gIZx+L0/69plFQfhwQaewzjl71jc=;
        b=ej8EuSOE2jswo/X344t1H7TJ8MxEVhDeNMQvNvSvlpI8yVFflz4u/31ARpF3Xbumf2
         KEFHtvLRCb8zNSaENWUODvgb4qA4oe8sJNmZoY1z0jt6mEfzpkkBDF4IiGRYU2MbCAuD
         TradUdq0m1d4BmIFghmjKH5pNiJwNBBMlcAOdkIfnGxAizZ1c4je0l4jvVDlsYALQ81K
         i0dqGbaNYRZPJy1RH+1Cw41iABXZYVbMgjkT/5z33GelGYJdTN4bF+hW49/X3o9BaNfB
         Ju2wzFzDZRtbEZEunwhDeMIXZD6QlRM+sQGDdeb75d7khCe/BgYh7J72de6QM/1SXwVU
         fUIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713939759; x=1714544559;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mwkCe7jRohrrZj4gIZx+L0/69plFQfhwQaewzjl71jc=;
        b=O4PT0JPMvyPZoABVHpnf6W/PerdMLdvf7WladS7ZPM9EViII0hzQl8XJCsBKqvX+wN
         bHljEo+QLlM9QSBOQv5ZvafMUDGV9pzhiXEesQia9uavCuCPakCTF6raYNj74wyzRjNK
         sfZGCrFN03zhCcXJkp3kuX+tvgKMwjro11IBZVkLH+/ev16c1wh3p+MF7+9XDUGqui06
         HEhlQzxc+mqSuD6xJGJfYqRK/MR/hCZk6zHpa2sP8cV9f87P1kNzZY3Ls/NBJgtRJXuq
         MKKQTiKMWMQKDT2/W0zU/olfyzYuzwXO0ZSf6/9HRzWOXYCQ+1pxg1/+meXhnjZkQp7o
         K6eQ==
X-Forwarded-Encrypted: i=1; AJvYcCWUEkON7vTNq7dKL8BzK+0WZr+9nWTZfbS/4zlYCY2Yx0fzTk5IkHKPUtY4rshDspQbd7lo0gjtE6vBXLJDLVrltHDB0okWMN88Wub0mhI=
X-Gm-Message-State: AOJu0Yy74n4j+yKN8nYzbi5Rs9HDFTxoQ5Lbp7mqhkOF9kwMAuJoN+s0
	tkHCoFj+GOXmMj7mnx+/3kFF3W7ZOTpJo8QWjPoUOjioBNVHnAMa50Yk8NKCOg==
X-Google-Smtp-Source: AGHT+IGGqT6OVQcHu1zyYfpnbBLS5pDM2q7UfSsJIaW0aUrJ4yS5XNm+FfNmKBxvyW3tydY1uw/Llw==
X-Received: by 2002:adf:ed48:0:b0:349:7e8e:b29a with SMTP id u8-20020adfed48000000b003497e8eb29amr934673wro.62.1713939759669;
        Tue, 23 Apr 2024 23:22:39 -0700 (PDT)
Message-ID: <5bb872fb-9973-4ed9-a463-1b1a873d4a46@suse.com>
Date: Wed, 24 Apr 2024 08:22:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/15] rangeset: Move struct range and struct rangeset to
 headerfile
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, Vikram Garhwal <vikram.garhwal@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-7-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424033449.168398-7-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 05:34, Henry Wang wrote:
> From: Vikram Garhwal <vikram.garhwal@amd.com>
> 
> Move struct range, rangeset and removed static from first_range and next_range().

NAK, for going against what we do elsewhere (limiting exposure of internals).
At least as long as the justification isn't any better than ...

> IRQs and IOMEMs for nodes are stored as rangeset in the dynamic node addition
> part. While removing the nodes we need to access every IRQ and IOMEM ranges to
> unmap IRQ and IOMEM from the domain.

... this. You're aware of rangeset_report_ranges() and rangeset_consume_ranges(),
aren't you? If neither is suitable for your purpose, can you explain what you
need in addition?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:29:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711137.1110865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzW88-0005DK-UQ; Wed, 24 Apr 2024 06:29:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711137.1110865; Wed, 24 Apr 2024 06:29:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzW88-0005DD-RU; Wed, 24 Apr 2024 06:29:20 +0000
Received: by outflank-mailman (input) for mailman id 711137;
 Wed, 24 Apr 2024 06:29: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzW88-0005D6-1P
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:29:20 +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 f9e92e69-0203-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 08:29:17 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3465921600dso5766343f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23:29: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
 x12-20020adfdd8c000000b00349f139dbe4sm16304867wrl.91.2024.04.23.23.29.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23:29: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: f9e92e69-0203-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713940157; x=1714544957; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tiRHu2idPnTBZhObf1Gp7e2XFf8Rx7ML7+yk732qZFQ=;
        b=Atgu7z8J2ToBgNZo+7Z8aT/+nekCazDUKn9A8rIHcKmA720zyLfjF1/M1xOMKwdJ0m
         FOhjpcwgAUXAW2yM8/HJgMqu0Cml8Cv94Hy9vwHA2+tUBA7Tft+nAOHzf3kueRVQudR6
         WJgCRpHktQLxyIHpQ7aZDs8vIfTZr3zCh0+IdUGjq116yzK1TYbxJlF5BqJbfpwJFMSH
         chVvhOJBT/3kIneCubs03gB9Rbrj6lCusEF3A9UzkYJslVZ4nFo4IAtbvsxL3fPMuy/o
         qYf6SVGsFPQaQ4qidcEeG182xISaaIQyLbaKyiQsm+vjvYop1CnokKZVzIkNhzNLph1G
         HaVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713940157; x=1714544957;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=tiRHu2idPnTBZhObf1Gp7e2XFf8Rx7ML7+yk732qZFQ=;
        b=w6AHL0lwgH7Qj1iw89UIdUrU55ykHqkqy8bqWqMRMuRreqi87Av+2JPBRD07VnmW4G
         3zUhOhYxIVUItfo7nJMsX+UOu4sFVvk737rcgHn4C4LBXJlD8VyC0wzR5btBlOm+3Ou5
         jRN6U9wGakOreR0VtqrCloKxrM+r1AP22fnW7co5JXDcrQ5jxkfxcz+k2ji+/h9BaoAU
         cqEmVKqfp7pBOQSY35Ihx8xZ14mzxb0eEfScwZYGksMRIce70dysJQGXKJvA3Etu/3xN
         PnlM84O6dze5GKJgwH4uod/VkbupCKNgnyJJYMo89JfeyN/Yv0y9OF9HbIacalfh5WES
         n9aQ==
X-Forwarded-Encrypted: i=1; AJvYcCXPAyT202qnQJug2q1wlOxFOGqvKLv16Gb4ZQkMaYd72qRCL3qiA1HxmZKzga7pI3FAVFiJXSrrSCTBuTi04b1axlnrz4iaUrd3dkGA6B8=
X-Gm-Message-State: AOJu0YwmswVwyiON4xH8wA42m/YdnUWGjmemdea3Nd/YazkloYTnFM6R
	GEwTy6rult5ndGmdzirB32AjQWciHvzGYdnU3bOJ2N72w4SzRDbsLua3VpYWwA==
X-Google-Smtp-Source: AGHT+IEvVxU0XXnHCr0IqYZrltBBR8eq3b0TpNDmfMVoMCbFi574Ycv+T98yDhcnOdU2VgEzyeEG9g==
X-Received: by 2002:adf:ed84:0:b0:34a:7066:d2c6 with SMTP id c4-20020adfed84000000b0034a7066d2c6mr863255wro.50.1713940157219;
        Tue, 23 Apr 2024 23:29:17 -0700 (PDT)
Message-ID: <e99fdcb3-92e4-4325-9b65-3a51dad4cfa8@suse.com>
Date: Wed, 24 Apr 2024 08:29:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 00/15] Remaining patches for dynamic node programming
 using overlay dtbo
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424033449.168398-1-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 05:34, Henry Wang wrote:
> Hi all,
> 
> This is the remaining series for the full functional "dynamic node
> programming using overlay dtbo" feature. The first part [1] has
> already been merged.
> 
> Quoting from the original series, the first part has already made
> Xen aware of new device tree node which means updating the dt_host
> with overlay node information, and in this series, the goal is to
> map IRQ and IOMMU during runtime, where we will do the actual IOMMU
> and IRQ mapping to a running domain and will call unmap_mmio_regions()
> to remove the mapping.
> 
> Also, documentation of the "dynamic node programming using overlay dtbo"
> feature is added.
> 
> Patch 1 is a fix of [1] which is noticed during my local test, details
> please see the commit message.
> 
> Gitlab CI for this series can be found in [2].
> 
> [1] https://lore.kernel.org/xen-devel/20230906011631.30310-1-vikram.garhwal@amd.com/
> [2] https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/1265297506
> 
> Henry Wang (1):
>   xen/commom/dt-overlay: Fix missing lock when remove the device
> 
> Vikram Garhwal (14):
>   xen/arm/gic: Enable interrupt assignment to running VM
>   xen/arm: Always enable IOMMU
>   tools/libs/light: Always enable IOMMU
>   tools/libs/light: Increase nr_spi to 160
>   rangeset: Move struct range and struct rangeset to headerfile
>   xen/overlay: Enable device tree overlay assignment to running domains
>   tools: Add domain_id and expert mode for overlay operations
>   tools/libs/light: Modify dtbo to domU linux dtbo format
>   tools/xl: Share overlay with domU
>   tools/helpers: Add get_overlay
>   get_overlay: remove domU overlay
>   xl/overlay: add remove operation to xenstore
>   add a domU script to fetch overlays and applying them to linux
>   docs: add device tree overlay documentation

For all the replies I sent, Vikram's addresses - Xilinx or AMD - bounced.
What's the value of Cc-ing dead addresses?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:36:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711142.1110874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWEh-0007IF-KB; Wed, 24 Apr 2024 06:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711142.1110874; Wed, 24 Apr 2024 06: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 1rzWEh-0007I8-HZ; Wed, 24 Apr 2024 06:36:07 +0000
Received: by outflank-mailman (input) for mailman id 711142;
 Wed, 24 Apr 2024 06: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzWEg-0007I2-1E
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:36:06 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebc63cbe-0204-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:36:03 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-34b1e35155aso3140769f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23:36: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
 d1-20020adfef81000000b0034a7a95c8cfsm12425816wro.9.2024.04.23.23.36.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23:36: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: ebc63cbe-0204-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713940562; x=1714545362; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wACAxOqtqPcpKWGT2BHwAnA5DUn6he8OM4hOsQBGBUg=;
        b=bttyh9cisL/em6dIfUIstlyJ0VH5U8NE566SmSv9nIvyvHlSyZv739zG2XjaUxLF3G
         /dM7q9cEB1C2JFnQvHkChs1qLjTrSU0lblTzYuIsq1WIU3EfFxndUvyfgLstmH+qNsl8
         J2jHwNGNf6o1EKoMfx+fDfVhUYmC6mcbNf6lOW7Ae0QLR5KnjLFpSviCKrPj6ng/irhH
         D1adL514l5cQ9lSHzvgJKYilkH11pMOu7B/lkPbWIMlBYoGFleAf4FEhoDfBeoWlsMfM
         UwjE5WYQLcSDyvdy5Tz3sALf0eFuX9DR16boe7kk9WBad182MAAlOmFhaK9wI4bm8MCG
         2/8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713940562; x=1714545362;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wACAxOqtqPcpKWGT2BHwAnA5DUn6he8OM4hOsQBGBUg=;
        b=C8F4S12rJLwU7zSypEMLtXjCx0FpqMBrNn3kXJh2zGzEjqNhGFrEqc4totHKeIJAeX
         Lk/pgMDH/kx6a+ysEt3EV680Vz1bh5wc3Ip3qYYrFKhVW8FLfjhiTh+JKkKDz5sEt2iP
         LEmmAtHnoA7oFY2s4neqg7fEc5dsZpl+AOe9zgC7viZfwnh235XkhshtdEfzqDSmSUfv
         89pu4SpSv91vn1BDdHxNm2M9qA63MuBcKbHMz5HAThU5RT511CWxNE4NDuYzYiac20Bt
         1xAD97YLrZuPiip7f4Om7A6T6K8n/BEsw8Bu5NUDhWMExAhpWSjkxUY+HkvLKAVl+Ao0
         W+Vg==
X-Forwarded-Encrypted: i=1; AJvYcCXGgPjF2L1953iijoMAUO9UNHHBJT4uPwGz1GiYrhIwrPIrrH0TNutMKJ5+tSRxl+RlOX38RK7H4i8jQpnNcJxnJPNX9pgMUBNl/5oCNRA=
X-Gm-Message-State: AOJu0Yz85efcQGVGoeaBUUUmN2nQsIgfmGidnRlh5u5gO1vpW+KTnlB3
	i6gOb+L/8Dbqn0zKEBlR5GPYpvQroGOAYLE/9olFxDzsmsNzerLM3Ea88AV3eA==
X-Google-Smtp-Source: AGHT+IGhTDug3DeYyl3ssvqpFdlwrArbhn3lLGKDsi1qgQ6keMjS4r+WdH0dmCgo5dxZorp3z2ohwg==
X-Received: by 2002:a5d:548b:0:b0:343:5cca:f7c7 with SMTP id h11-20020a5d548b000000b003435ccaf7c7mr1104894wrv.41.1713940562634;
        Tue, 23 Apr 2024 23:36:02 -0700 (PDT)
Message-ID: <92860d34-2b8b-4fe8-bf13-31c993620006@suse.com>
Date: Wed, 24 Apr 2024 08:36:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] x86/P2M: write_p2m_entry() is HVM-only anyway
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <296c3ecc-b04d-4734-a451-0d4f9ed312d4@suse.com>
 <c38e488c-a3fb-4fcb-bd8c-b33c3fbfc2fa@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c38e488c-a3fb-4fcb-bd8c-b33c3fbfc2fa@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.04.2024 21:29, Andrew Cooper wrote:
> On 23/04/2024 3:31 pm, Jan Beulich wrote:
>> The latest as of e2b2ff677958 ("x86/P2M: split out init/teardown
>> functions") the function is obviously unreachable for PV guests.
> 
> This doesn't parse.  Do you mean "Since e2b2ff677958 ..." ?

Well. I'm sure you at least get the point of "the lastest as of", even
if that may not be proper English. I specifically didn't use "since"
because the fact mentioned may have been true before (more or less
obviously). I'd therefore appreciate a wording suggestion which gets
this across.

>>  Hence
>> the paging_mode_enabled(d) check is pointless.
>>
>> Further host mode of a vCPU is always set, by virtue of
>> paging_vcpu_init() being part of vCPU creation. Hence the
>> paging_get_hostmode() check is pointless.
>>
>> With that the v local variable is unnecessary too. Drop the "if()"
>> conditional and its corresponding "else".
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> I have to confess that this if() has been puzzling me before.
> 
> Puzzling yes, but it can't blindly be dropped.

And I'm not doing so "blindly". Every part of what is being dropped is
being explained.

> This is the "did the toolstack initiate this update" check.  i.e. I
> think it's "bypass the normal side effects of making this update".

Why would we want to bypass side effects?

> I suspect it exists because of improper abstraction between the guest
> physmap and the shadow pagetables as-were - which were/are tighly
> coupled to vCPUs even for aspects where they shouldn't have been.
> 
> For better or worse, the toolstack can add_to_physmap() before it
> creates vCPUs, and it will take this path you're trying to delete. 
> There may be other cases too; I could see foreign mapping ending up
> ticking this too.
> 
> Whether we ought to permit a toolstack to do this is a different
> question, but seeing as we explicitly intend (eventually for AMX) have a
> set_policy call between domain_create() and vcpu_create(), I don't think
> we can reasably restrict other hypercalls too in this period.

None of which explains what's wrong with the provided justification.
The P2M isn't per-vCPU. Presence of vCPU-s therefore shouldn't matter
for alterations of the P2M.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:47:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711148.1110884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWPE-00015x-Me; Wed, 24 Apr 2024 06:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711148.1110884; Wed, 24 Apr 2024 06: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 1rzWPE-00015q-Jm; Wed, 24 Apr 2024 06:47:00 +0000
Received: by outflank-mailman (input) for mailman id 711148;
 Wed, 24 Apr 2024 06:46:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzWPD-00015k-2M
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:46:59 +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 7206deec-0206-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:46:57 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2d895e2c6efso97706501fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23:46: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
 h17-20020a5d6891000000b0034a51f86086sm13690704wru.63.2024.04.23.23.46.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23:46: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: 7206deec-0206-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713941217; x=1714546017; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xHvPqKINFZRXZ/p0at5kGFspFHQMhYRAHEDnv+RYrJw=;
        b=AlANWW1G0NnANXsfYb/3v5VESgA/4OS2b9yIcQjZ0J2lyZgNVSf1BrHWmwM/zFX4oA
         XDDoGre1mSR/Aad3rFThSuCojWna5ZnOr2r3uuAeYhBFwpYgrCc/7YVZAFPZRuBhLq+G
         xd+4mYwqeE1GPCYZa5WIDQuVVcBslJB78Tk16OWq13VbiVj5841147ZZj6ywuV2UI99h
         REgHy1HafR8E6EQMlbJqiVY0RUk6UqctQyHQXyD0BGR9wxp4y1/lLU4sAmXm8nw65uxa
         rltO6IEAeNf9nxLqjtDge+5xmQfe7e9++h2+Ejp9hpEK6Ai5pAmbBZZFXFDYXVi6EYaP
         a7kA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713941217; x=1714546017;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xHvPqKINFZRXZ/p0at5kGFspFHQMhYRAHEDnv+RYrJw=;
        b=s8EDKtL4UE/J2tRUqKErboqg/0z96VWQLDTPzUD5tuX7ynK9MK2Hg4QbmkF2eyrom7
         70o0KnXbuXh7QL6l0k4+rqS6ReIzFrQiTxIv15rRIm3wSmXKzXKq6fpvVta9ibGYOncc
         yNDYkfXb7+mtYIBrDTFslqRQcwn4u0Ztmat8JpSxieGsUiMGQ217EJZpBWPaReTcXRAp
         b4sZKukYhPf90EkqhjfykWPGprg8PeCE1+PZJ3uJJScaQxUi+S7YPS4f+Zuj78AbZ+o9
         Wa1q/R3LuzipDLvgiYvzEOlzCkwGq71oO5fonu/IQ9/fezQjWP8YJx1bAQynbMqOl3YQ
         fODA==
X-Forwarded-Encrypted: i=1; AJvYcCVFQMt/8bgMmh0CtCT6bDPwu5UmZKQI7Ja7IVlafWo0XcJEA1O41B0izICIdP0ZXBjmdKmNCJO2nVRXGy9Dtmz66thS8zBGGYeYoduQx7k=
X-Gm-Message-State: AOJu0Ywx3rY3VVTv+pgWa9lcdje+ZLaA0NefgWIzgPnUKpd6gGOdwSBm
	Cox0ANklQhZKlHj4yhGRrEZSTAm3LDAnvihUqgTsn/KmsObBhhAi698GsvmYUg==
X-Google-Smtp-Source: AGHT+IEpR1zlo+QFgTshE9eNYccamyLg2HcUANa+LOCL9HTAIULRaFCyJ9KJ7B6waja6p2Wp5SN5ZA==
X-Received: by 2002:a2e:b3ce:0:b0:2d8:8eb4:11a6 with SMTP id j14-20020a2eb3ce000000b002d88eb411a6mr845840lje.12.1713941217288;
        Tue, 23 Apr 2024 23:46:57 -0700 (PDT)
Message-ID: <051e8c65-3c33-435f-acc4-0230076cc092@suse.com>
Date: Wed, 24 Apr 2024 08:46:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] x86/spec-ctrl: Introduce and use DO_COND_BHB_SEQ
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-7-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.04.2024 20:14, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -62,12 +62,12 @@ ENTRY(vmx_asm_vmexit_handler)
>           * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
>           * itself so must be after we've perfomed all the RET-safety we can.
>           */
> -        testb $SCF_entry_bhb, CPUINFO_scf(%rsp)
> -        jz .L_skip_bhb
> -        ALTERNATIVE_2 "",                                    \
> -            "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
> -            "call clear_bhb_tsx", X86_SPEC_BHB_TSX
> -.L_skip_bhb:
> +        .macro VMX_BHB_SEQ fn:req
> +            DO_COND_BHB_SEQ \fn scf=CPUINFO_scf(%rsp)

While the assembler permits this, can we please avoid mixing positional and
named macro arguments? Instead, ...

> +        .endm
> +        ALTERNATIVE_2 "",                                         \
> +            "VMX_BHB_SEQ fn=clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
> +            "VMX_BHB_SEQ fn=clear_bhb_tsx",   X86_SPEC_BHB_TSX

... as done further down, named arguments don't need using here. With the
former addressed and preferably with the latter in consistent shape with
what's below (which way round I don't care as much, albeit with a slight
preference for "shorter"):
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan

> --- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
> +++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
> @@ -92,6 +92,21 @@
>  .L\@_skip:
>  .endm
>  
> +.macro DO_COND_BHB_SEQ fn:req, scf=%bl
> +/*
> + * Requires SCF (defaults to %rbx), fn=clear_bhb_{loops,tsx}
> + * Clobbers %rax, %rcx
> + *
> + * Conditionally use a BHB clearing software sequence.
> + */
> +    testb  $SCF_entry_bhb, \scf
> +    jz     .L\@_skip_bhb
> +
> +    call   \fn
> +
> +.L\@_skip_bhb:
> +.endm
> +
>  .macro DO_OVERWRITE_RSB tmp=rax, xu
>  /*
>   * Requires nothing
> @@ -277,12 +292,9 @@
>       * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
>       * itself so must be after we've perfomed all the RET-safety we can.
>       */
> -    testb $SCF_entry_bhb, %bl
> -    jz .L\@_skip_bhb
> -    ALTERNATIVE_2 "",                                    \
> -        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
> -        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
> -.L\@_skip_bhb:
> +    ALTERNATIVE_2 "",                                          \
> +        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
> +        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX
>  
>      ALTERNATIVE "lfence", "", X86_SPEC_NO_LFENCE_ENTRY_PV
>  .endm
> @@ -322,12 +334,9 @@
>      ALTERNATIVE "", __stringify(DO_SPEC_CTRL_ENTRY maybexen=1),         \
>          X86_FEATURE_SC_MSR_PV
>  
> -    testb $SCF_entry_bhb, %bl
> -    jz .L\@_skip_bhb
> -    ALTERNATIVE_2 "",                                    \
> -        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
> -        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
> -.L\@_skip_bhb:
> +    ALTERNATIVE_2 "",                                          \
> +        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
> +        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX
>  
>      ALTERNATIVE "lfence", "", X86_SPEC_NO_LFENCE_ENTRY_INTR
>  .endm
> @@ -433,13 +442,9 @@
>       * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
>       * itself so must be after we've perfomed all the RET-safety we can.
>       */
> -    testb $SCF_entry_bhb, %bl
> -    jz .L\@_skip_bhb
> -
> -    ALTERNATIVE_2 "",                                    \
> -        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
> -        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
> -.L\@_skip_bhb:
> +    ALTERNATIVE_2 "",                                          \
> +        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
> +        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX
>  
>      lfence
>  .endm



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:53:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711152.1110895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWVX-0002a3-Bb; Wed, 24 Apr 2024 06:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711152.1110895; Wed, 24 Apr 2024 06: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 1rzWVX-0002Zw-8c; Wed, 24 Apr 2024 06:53:31 +0000
Received: by outflank-mailman (input) for mailman id 711152;
 Wed, 24 Apr 2024 06:53: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=5nam=L5=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1rzWVW-0002Zo-Jf
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:53:30 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20600.outbound.protection.outlook.com
 [2a01:111:f403:260d::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5acabd0b-0207-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:53:28 +0200 (CEST)
Received: from AS4P195CA0037.EURP195.PROD.OUTLOOK.COM (2603:10a6:20b:65a::26)
 by PA4PR08MB6176.eurprd08.prod.outlook.com (2603:10a6:102:ea::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Wed, 24 Apr
 2024 06:53:24 +0000
Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com
 (2603:10a6:20b:65a:cafe::a3) by AS4P195CA0037.outlook.office365.com
 (2603:10a6:20b:65a::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Wed, 24 Apr 2024 06:53:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Wed, 24 Apr 2024 06:53:22 +0000
Received: ("Tessian outbound 9fd7e4b543e6:v313");
 Wed, 24 Apr 2024 06:53:22 +0000
Received: from 2949516410dd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F5438F42-C954-4C54-BAAD-5E9D41EE615E.1; 
 Wed, 24 Apr 2024 06:53:15 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2949516410dd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Apr 2024 06:53:15 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB8112.eurprd08.prod.outlook.com (2603:10a6:20b:54e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 06:53:13 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7519.021; Wed, 24 Apr 2024
 06:53:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5acabd0b-0207-11ef-909a-e314d9c70b13
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ADrwTqmmi0mnSQ0RHWQ6rGI8WYXe6R55ARLhtDPI/+1tkFGp1OwC3YcCoUrFblByTYcMw2WE1abdvX52buRROK6PozFykPOlmdorhwPZmBL0x8EOOl/RFiCPaMisM2UE4hGB7laRL+Es/MtXuCN9hotww+pDJbLgJDIw90knlsAzwAUh5PBLOUDf4VRCH44tr5nPdmo7lj5ebIRZF+P1PPtTpL3ZXMo1SJJ8BrLjKFKlCU1qaMZhwdrj8FROiZfFz8p5IHmwW5QlwVvORPTDwnluSPP0Lu7gA40cuc4ThFpLkc9vMP7K06hXxGSgiQOqMttD9K9s/mH1AefpItEvjw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=busXdq8d8KV/Yc0JReB5EjRj9EKJWpdU8Z/D+7EtEDc=;
 b=ChqupjQau7P8QfEeP0PjgvbnFmbEzJzDMjxBlm1QcD8W4IW8PkoVTCO7Jhptu4gBk/z1DvvnA48l3m806OsZ4IMxGAxYPNpGLh/CxIBgiF3wcppt3S8Yi95T7gPwCY+BDIwxPfkHWBXw/6L6KRRByXrawc5OA5cfi7XIE39vRDRpQ2lQaxXRjBLgkjLocqU818E4/r00CzeaTc7ho0Z+nwC20gZo+FHDhHZ5gb1jK4RVo5zklUfudttdnELn2x58hLGknIcTnTYRbwQXBYRZsA/HQpdfNlzHgTpssZLlGc6U5zTcobc64bEM0IgwF7lmi2tdr8xurOKbS5KR9j2IKQ==
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=busXdq8d8KV/Yc0JReB5EjRj9EKJWpdU8Z/D+7EtEDc=;
 b=XBIZCqNRUGsttTyAWxQ8p9abiW+pXlJ3GdxvvmKlGctsvyAuByLWlyz8/UdL7NyFibsdw8WznM9BbHNGrK3Rc/pUU/mC6QvJlVIfFLFGzyg8TcsYt9BM5s+lXza51w5z8BUETvSyb0UuhJ62AWkoI6x9OMOKB0YA4tBjHUQkn4w=
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: d760aefda1187f74
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E5GprrQX4ScppzV3T5MrEZvWDE5QwStuqm/IX4tKaxG/7cHvx46tVLPEq199phziXPjZak9s0ORkePfJv7VXPr0HT7R/gNDLiN2PIe1e+R8iHSttoVj17rn0dfj1/SZZ1wp0ZajGUpF0nRiAQMJkbox7W2ndiZGfTxHCCITQNUXRxF9JYG1K7yujByFLTyYV7/VgbqiajJfa30sKfyrWLnLNIlzYchGuz+nSe/GoCScioZukd5fCPcHbJz5THv6+LpS47+rpTcNzQSwUImiQxqGWoziy71Bb3BEU6gES+yGFZqar8Y04PbTnhTIi1UTGUZaqNnqVBSnCyIDC/GyZAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=busXdq8d8KV/Yc0JReB5EjRj9EKJWpdU8Z/D+7EtEDc=;
 b=YZ7oA6pj7VxTKlJMCVk8kpzgfgBbD0X3dOWH2H9yHjFL2m/dOMty+05rskFTwArplXUDNitd7w4X9dXGAVyLOy1EEp9eiCXITmc3liFnvkRLQaldT8ibFlXBDYcq/i9IRbzXrK4sw94YEPfaqmelJ1me5+OYc9XQErpdtECIUqRfO9q5SVYnM+e/X7AqBXxe84tSrBLHUbFfLkrM0gZD3vql/037YsDaecbWUKERTRUpxH/Tbm4+dGpCPyz16vwt+FFSIZjriYJQyHOCIi06sRY6p0HhutIEfwKpmXHP3EK3gvUT2GtrL3iYAK5UQFmcf681Ulp4gEznoHOu4Ka9pg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=busXdq8d8KV/Yc0JReB5EjRj9EKJWpdU8Z/D+7EtEDc=;
 b=XBIZCqNRUGsttTyAWxQ8p9abiW+pXlJ3GdxvvmKlGctsvyAuByLWlyz8/UdL7NyFibsdw8WznM9BbHNGrK3Rc/pUU/mC6QvJlVIfFLFGzyg8TcsYt9BM5s+lXza51w5z8BUETvSyb0UuhJ62AWkoI6x9OMOKB0YA4tBjHUQkn4w=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>,
	"patches@linaro.org" <patches@linaro.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Thread-Index: AQHalIgAe9tsdsjGFU69yRnUHUkm77F0KqiAgAHRoQCAAQLAAA==
Date: Wed, 24 Apr 2024 06:53:13 +0000
Message-ID: <931F0F76-3A3F-43D9-84F3-5AF9CDDB7708@arm.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-6-jens.wiklander@linaro.org>
 <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
 <CAHUa44FMsdn8LVc782EYno7fiFDBe7RSaiNgEnnzoc-Bozt05A@mail.gmail.com>
In-Reply-To:
 <CAHUa44FMsdn8LVc782EYno7fiFDBe7RSaiNgEnnzoc-Bozt05A@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB8112:EE_|AMS0EPF000001A5:EE_|PA4PR08MB6176:EE_
X-MS-Office365-Filtering-Correlation-Id: c0fa5d65-b2a1-4fea-69e1-08dc642b3bde
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Rnl0dFc1T3FwOW81K09ranE5QTdqeVcxRGJYNnd4N1EyclV0NHNEc21JM28w?=
 =?utf-8?B?a1pjaW5HWnRZVWtjZUc4UndIU25XTTQ5RDk0MXgvREJXOUthU0xTR2djQUJN?=
 =?utf-8?B?bWNSMW1DQjVjR0lQRFZtSkE2MlRGa2pCS0laYzNVSVRaTzlxN09kYk4rZGFk?=
 =?utf-8?B?MEt2OWptbWN0VzdENTNOSjJZeGIrb2hhQWlVM2JVT3pQeFQ5eEJoeXFHb3lI?=
 =?utf-8?B?dG5laGJXM2o2VUFKc28zQmhvQnhSWjZQY1pMR05RbWJsd29pV09nTUViL2xI?=
 =?utf-8?B?b0tZYmJaUjFRK0ZQSVVaaGNEMi9GakkvbEN3ajBZU3ltdTN3NU0vM1pvK2tE?=
 =?utf-8?B?NHB4cElJcXN1MWJ0NXZVK0ZqMTJKUXAyeDZhSWJjc2NKNzVlUGczZzJDVEZV?=
 =?utf-8?B?djVROC8rSzM1bmx6T2xxS09UWC9BSkxmSDJBc0JpZ3ZJS1lMaHBMOU5ET2tU?=
 =?utf-8?B?dFlRMUxUTG42SkZiWDlFQVU5eWtMc2lTN2NXMStXME1CWXZCVzZzQmRHOCtD?=
 =?utf-8?B?ZW9TdDdQa0NQdytWRm4yR3o2MFhZU2ZVQTAwOWY1ZUFGTmc3WHk4Z1pDOW1v?=
 =?utf-8?B?UDN6NlNxSEgxTVkyak9VWnRoZmlYMVMyMFV1VFFyb1hqbTJ5Q29NWXRQQ3Bv?=
 =?utf-8?B?NFJFNjhZMitvVnV0cUp4YmVxMk5qNmJGc3pmQUE3ZU1nTEhhTWhibklJVzlT?=
 =?utf-8?B?Q3VMNFVvQmlNM2hWdTFvajJKR0JCYVVWekJzZkt3SU9hU2wzUXpRZEUzeWFr?=
 =?utf-8?B?eDJoQjVaUVpYZEt6QTFiWW42L0trMmNLWThSQStGUzUyN3ZEWHp1R1NESU50?=
 =?utf-8?B?cHdpS0ZaUE1pY1lEbHNRTDFxSlJsbWJGcW5pWVNZYjZjcVVHMWF3cDBNbUg4?=
 =?utf-8?B?Z3RZa0FkNGlHanU4Z2t6ZXVJTWFEbnp6aGJpRWNxVFVIbzhYL2NwN0Z1Nkhm?=
 =?utf-8?B?VW9rekg0UHI5WjBtMWhHOXlRUGxOOGkwMjU0NGJVN3AyUTc2ZGxHOU1tV1Fv?=
 =?utf-8?B?MWZ4aDhRR2lMcXM4U1RvaENYTzF0dzI2b3p5KzJpQXpPTGZ0SlNwV1NYdXNi?=
 =?utf-8?B?ZGViUkVoeXhjdU5NbzdCVzdoT1IydnY2TFZtOU9Kd3dFOGlWM3BUV1hISmR2?=
 =?utf-8?B?Um52MlFKK0dhekxVUmx2RStuZDdTWmNnQUlyTjFQYVZhQm1yZ21vY0o0N0E3?=
 =?utf-8?B?Rm93aVdMQWV4NzRsc1NQeTB4WTdnZkx1T242cTg2cEJUNmpyMFVFZ0lsSGRX?=
 =?utf-8?B?bHU4TXoxSlNKSnk0QUNnaWtxbXNLc0x6U0EwU3hmQ0F4bHlKVE1ueGJkMVJx?=
 =?utf-8?B?MktORTRWeEV4R1FrQit0bkhvOE50V3EwMm9TQWNvajN5WkNVNGwrV1ZoOHZQ?=
 =?utf-8?B?M3NuODhTa3c1eDhDOWgyT3JjdmVUS3dwMTUrVTg0RXJEb1ZhQXppSUdPN2Fy?=
 =?utf-8?B?dDBoL2NOa2EzWHptNm9COHJzeXZ0YUo5bXI5T1NxTy95QTNjYXQxaWhIQStW?=
 =?utf-8?B?T01oQWxkSFBxOXVEZXFYK3lncnlwMTlqNWdWYnBWTWRLV2ZPR3BZZXY0K2ll?=
 =?utf-8?B?a0g3Q21hazBKdmk1ZkpWSUMvTTFOV0dXMEdMYldVQ0dYb2ZkdXRHTy82SFdP?=
 =?utf-8?B?UmdBaHJIakpwRnJJMmJkdDVTNzU2YUVLdUxGOWNKOXR0aSs2WjFQbjhJS1BT?=
 =?utf-8?B?L0g0cHd0UytKZ0M5RWl6SmYvWnljR1IrUWhQV1crOGdNb2VzYmFvc2R6bWEw?=
 =?utf-8?B?Uk9FeU40OWhhb2hhbjVmVVZ5dTJpNmFyOWwrSTlDay83Y01Xa0NnejRsbVJs?=
 =?utf-8?B?UmhuL1pncjBpeUIwS0xOUT09?=
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:(13230031)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <71F03CD163318A4E92E162B1126DF706@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8112
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001A5.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	35014211-36c6-4f0a-0a8e-08dc642b3616
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|36860700004|82310400014|1800799015|376005;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UnVFbGxaaWJLTmlmZVdXcEs1emhLY3FYeDBZekYxOXg0R3hmck14bXlTQ3N3?=
 =?utf-8?B?MW4waFFrSFFObXMrYThja0FvWVdUMDlFTFJ1d0FQT01sVG1mWGFaRDgyTDhS?=
 =?utf-8?B?a1YyeUNJWmVwOFJIdXNlRTVNWHNXWDNudGlqQzhRYVF0RFV2M29vSzBIZkJX?=
 =?utf-8?B?Rnl2TktDdGtXaXRBRkx6SUQwdGF5QWZhblVQRCtMZWcxM28wckswWENSK3hY?=
 =?utf-8?B?V3FJNFFmMjdUUTJiY1g3Nmk3Lzl5NkdNUkErblF6WnNWazl2emlhRFFkZHEr?=
 =?utf-8?B?aTdrWUhSZ3lYa21VeDY3cWc1OWVNUWRNRHpBc1BxMEpOQU9NTnB6UUFydUs0?=
 =?utf-8?B?bFRzekxwN0xERlEvMEVObXdwS3lZWFQ4YWlacjNWb3lpY1gwc3FmcmtIQmFV?=
 =?utf-8?B?dnowSUh4VERxVzFvSTV6UUZKRWszVmYvT3Q0SGY1VFNXV3RIOVFCbEdMZWRp?=
 =?utf-8?B?MTl5QjlLNXBXb2U3MHE1UzNITXNuOS8yOVRubjJzdGpQTXBCaTlsYTMxWEdY?=
 =?utf-8?B?TWhydFpYN1JHZ3dPVXJvSXhNQWtTVno0VUNWeHlzMVF2dFdMWEdwRTRIRGoz?=
 =?utf-8?B?YXNVRDA3QVErc2xBTlM5Y1Z5MVJkbFQ1YklZRGF3bU5LbUNWKzgraWpIN2JD?=
 =?utf-8?B?Z1pWYlZMRzQ1bDlLaWlWQllFelg3QUtweU1qbmxtYkNjakpuWVdNNm9Dc1RV?=
 =?utf-8?B?NGV2SzlPc3RKb3FJRjhnSU5KZWd5V1dzTCtpNmVBbFBwSUJkK3FPbGxUUnY4?=
 =?utf-8?B?U1JYL2kvWEphNlY5UURuRTNMUWMrZHBsODQ2N1Q4bHorRVJJeEVLVDBDOHZH?=
 =?utf-8?B?N1R5VHZlem5RbHZxTW5odXc5UmR3S0ZKNTNrNk9VbmdWRXE0ZjBPaFR2YTlC?=
 =?utf-8?B?QWVLS0gzZDhKQ3lQYlQyRDlobTY5b1hjWUhDcnF2SnU4WmFwSWpZbHVuQzk1?=
 =?utf-8?B?RThkL1VLNFhYRytZeXJORmFiMWh1ZitnK3F6QnY4cVI0SHlqUnpwUE1UQTZ4?=
 =?utf-8?B?elMyOHBXWnNtTHpvTjZuWFNvdklNM0c0cXJ3dEZKS2FDd3RhbDhQYUcydnh3?=
 =?utf-8?B?TVZEd1lSYTBzd2JxM0tnemNGQ1FRTzVIaGEzdFdFd1QwcXpvWVUvVnFRdGlV?=
 =?utf-8?B?eTJVT2FLVXc3V0dEaklwd2hNVWlQVHRLS0FWclk4NFR4ZTEySUJUZHV0dXds?=
 =?utf-8?B?cTBDUDlnS0cyKzRDazBBVHZ2NkFlSnpvbEUxeHE3VG9uaDY3MHNOM05ITWNw?=
 =?utf-8?B?OGhMQytPc2hQeHJMem0vSTNicEhoQVAxTjVTcEwvRjFDSzRxVkcrUTBGaG9S?=
 =?utf-8?B?THBqSmg2T2tRWTRJaFN4a3lPOUtOZzJKSWlUZCtWRCs3RW4zZ2U3WmxKYm9p?=
 =?utf-8?B?R3RCMlZYbkN6RWQ1ZGxvamw4NVFFdlNNcVRaMWcxWnd0dUxXUjdlNFhwWHc2?=
 =?utf-8?B?Wk91SDNDeWUxTzVReVBnanRiOFZOK1FkR1JNYWM5VndZbE1meWo4Y1UyeS9F?=
 =?utf-8?B?aGc5dW5tN2hDbHpiRVdHR3ZUN0owZWxqVjg5MW9ObXdtSWhHbDluUTBWS0Jp?=
 =?utf-8?B?QTVCYnhoNlBFWU1DNzJDRjNRc3doU2NJaVRkYTdqanlMbzNWNjV4UzdxU3R0?=
 =?utf-8?B?Ums1S3NqNXdGSHdndTBIRjZMYlpGZmhlSHVidjRpb0NNVFVRWENPKzdKT1dX?=
 =?utf-8?B?S0tMN3pIMHkvV1loeVBudktCMXBod01BdW5BOE1qT0FMUFJ3SlBMQkxjRHlz?=
 =?utf-8?B?b3JkRG9YS3F6a3pFT0owbEhYdlFkVmVUN3Npdys1VGJjSXN6UkR5KzA1cUxD?=
 =?utf-8?B?MU4rYW85bUozMjRnVTJSdGlXWGk1bEozcmtlb0UwV0JybEVlVWhkaGxWNm1Z?=
 =?utf-8?Q?RHWE5iWwSOITc?=
X-Forefront-Antispam-Report:
	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:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 06:53:22.9945
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c0fa5d65-b2a1-4fea-69e1-08dc642b3bde
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001A5.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6176

SGkgSmVucywNCg0KPiBPbiAyMyBBcHIgMjAyNCwgYXQgMTc6MjYsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEp1bGllbiwNCj4gDQo+
IE9uIE1vbiwgQXByIDIyLCAyMDI0IGF0IDE6NDDigK9QTSBKdWxpZW4gR3JhbGwgPGp1bGllbkB4
ZW4ub3JnPiB3cm90ZToNCj4+IA0KPj4gSGkgSmVucywNCj4+IA0KPj4gVGhpcyBpcyBub3QgYSBm
dWxsIHJldmlldyBvZiB0aGUgY29kZS4gSSB3aWxsIGxldCBCZXJ0cmFuZCBkb2luZyBpdC4NCj4+
IA0KPj4gT24gMjIvMDQvMjAyNCAwODozNywgSmVucyBXaWtsYW5kZXIgd3JvdGU6DQo+Pj4gK3Zv
aWQgZmZhX25vdGlmX2luaXQodm9pZCkNCj4+PiArew0KPj4+ICsgICAgY29uc3Qgc3RydWN0IGFy
bV9zbWNjY18xXzJfcmVncyBhcmcgPSB7DQo+Pj4gKyAgICAgICAgLmEwID0gRkZBX0ZFQVRVUkVT
LA0KPj4+ICsgICAgICAgIC5hMSA9IEZGQV9GRUFUVVJFX1NDSEVEVUxFX1JFQ1ZfSU5UUiwNCj4+
PiArICAgIH07DQo+Pj4gKyAgICBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIHJlc3A7DQo+Pj4g
KyAgICB1bnNpZ25lZCBpbnQgaXJxOw0KPj4+ICsgICAgaW50IHJldDsNCj4+PiArDQo+Pj4gKyAg
ICBhcm1fc21jY2NfMV8yX3NtYygmYXJnLCAmcmVzcCk7DQo+Pj4gKyAgICBpZiAoIHJlc3AuYTAg
IT0gRkZBX1NVQ0NFU1NfMzIgKQ0KPj4+ICsgICAgICAgIHJldHVybjsNCj4+PiArDQo+Pj4gKyAg
ICBpcnEgPSByZXNwLmEyOw0KPj4+ICsgICAgaWYgKCBpcnEgPj0gTlJfR0lDX1NHSSApDQo+Pj4g
KyAgICAgICAgaXJxX3NldF90eXBlKGlycSwgSVJRX1RZUEVfRURHRV9SSVNJTkcpOw0KPj4+ICsg
ICAgcmV0ID0gcmVxdWVzdF9pcnEoaXJxLCAwLCBub3RpZl9pcnFfaGFuZGxlciwgIkZGLUEgbm90
aWYiLCBOVUxMKTsNCj4+IA0KPj4gSWYgSSBhbSBub3QgbWlzdGFrZW4sIGZmYV9ub3RpZl9pbml0
KCkgaXMgb25seSBjYWxsZWQgb25jZSBvbiB0aGUgYm9vdA0KPj4gQ1BVLiBIb3dldmVyLCByZXF1
ZXN0X2lycSgpIG5lZWRzIHRvIGJlIGNhbGxlZCBvbiBldmVyeSBDUFUgc28gdGhlDQo+PiBjYWxs
YmFjayBpcyByZWdpc3RlcmVkIGV2ZXJ5IHdoZXJlIGFuZCB0aGUgaW50ZXJydXB0IGVuYWJsZWQu
DQo+PiANCj4+IEkga25vdyB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gaXMgcmF0aGVyIGNvbmZ1
c2luZy4gU28gY2FuIHlvdSBjb25maXJtDQo+PiB0aGlzIGlzIHdoYXQgeW91IGV4cGVjdGVkPw0K
PiANCj4gR29vZCBjYXRjaCwgbm8gdGhpcyB3YXNuJ3Qgd2hhdCBJIGV4cGVjdGVkLiBJJ2xsIG5l
ZWQgdG8gY2hhbmdlIHRoaXMuDQo+IA0KPj4gDQo+PiBbLi4uXQ0KPj4gDQo+Pj4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaCBiL3hlbi9hcmNoL2FybS90ZWUvZmZh
X3ByaXZhdGUuaA0KPj4+IGluZGV4IDk4MjM2Y2JmMTRhMy4uZWY4ZmZkNDUyNmJkIDEwMDY0NA0K
Pj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaA0KPj4+ICsrKyBiL3hlbi9h
cmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaA0KPj4+IEBAIC0yNSw2ICsyNSw3IEBADQo+Pj4gICNk
ZWZpbmUgRkZBX1JFVF9ERU5JRUQgICAgICAgICAgICAgICAgICAtNg0KPj4+ICAjZGVmaW5lIEZG
QV9SRVRfUkVUUlkgICAgICAgICAgICAgICAgICAgLTcNCj4+PiAgI2RlZmluZSBGRkFfUkVUX0FC
T1JURUQgICAgICAgICAgICAgICAgIC04DQo+Pj4gKyNkZWZpbmUgRkZBX1JFVF9OT19EQVRBICAg
ICAgICAgICAgICAgICAtOQ0KPj4+IA0KPj4+ICAvKiBGRkFfVkVSU0lPTiBoZWxwZXJzICovDQo+
Pj4gICNkZWZpbmUgRkZBX1ZFUlNJT05fTUFKT1JfU0hJRlQgICAgICAgICAxNlUNCj4+PiBAQCAt
OTcsNiArOTgsMTggQEANCj4+PiAgICovDQo+Pj4gICNkZWZpbmUgRkZBX01BWF9TSE1fQ09VTlQg
ICAgICAgICAgICAgICAzMg0KPj4+IA0KPj4+ICsvKg0KPj4+ICsgKiBUT0RPIEhvdyB0byBtYW5h
Z2UgdGhlIGF2YWlsYWJsZSBTR0lzPyBTR0kgOC0xNSBzZWVtIHRvIGJlIGVudGlyZWx5DQo+Pj4g
KyAqIHVudXNlZCwgYnV0IHRoYXQgbWF5IGNoYW5nZS4NCj4+IA0KPj4gQXJlIHRoZSB2YWx1ZSBi
ZWxvdyBpbnRlbmRlZCBmb3IgdGhlIGd1ZXN0cz8gSWYgc28sIGNhbiB0aGV5IGJlIG1vdmVkIGlu
DQo+PiBwdWJsaWMvYXJjaC1hcm0uaCBhbG9uZyB3aXRoIHRoZSBvdGhlcnMgZ3Vlc3QgaW50ZXJy
dXB0cz8NCj4gDQo+IFllcywgSSdsbCBtb3ZlIGl0Lg0KPiANCj4+IA0KPj4+ICsgKg0KPj4+ICsg
KiBTR0kgaXMgdGhlIHByZWZlcnJlZCBkZWxpdmVyeSBtZWNoYW5pc20uIFNHSXMgOC0xNSBhcmUg
bm9ybWFsbHkgbm90IHVzZWQNCj4+PiArICogYnkgYSBndWVzdCBhcyB0aGV5IGluIGEgbm9uLXZp
cnR1YWxpemVkIHN5c3RlbSB0eXBpY2FsbHkgYXJlIGFzc2lnbmVkIHRvDQo+Pj4gKyAqIHRoZSBz
ZWN1cmUgd29ybGQuIEhlcmUgd2UncmUgZnJlZSB0byB1c2UgU0dJIDgtMTUgc2luY2UgdGhleSBh
cmUgdmlydHVhbA0KPj4+ICsgKiBhbmQgaGF2ZSBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHNlY3Vy
ZSB3b3JsZC4NCj4+IA0KPj4gRG8geW91IGhhdmUgYSBwb2ludGVyIHRvIHRoZSBzcGVjaWZpY2F0
aW9uPw0KPiANCj4gVGhlcmUncyBvbmUgYXQgdGhlIHRvcCBvZiBhcmNoL2FybS90ZWUvZmZhLmMs
DQo+IGh0dHBzOi8vZGV2ZWxvcGVyLmFybS5jb20vZG9jdW1lbnRhdGlvbi9kZW4wMDc3L2UNCj4g
RG8geW91IHdhbnQgdGhlIGxpbmsgY2xvc2UgdG8gdGhlIGRlZmluZXMgd2hlbiBJJ3ZlIG1vdmVk
IHRoZW0gdG8NCj4gcHVibGljL2FyY2gtYXJtLmg/DQo+IE9yIGlzIGl0IHBlcmhhcHMgYmV0dGVy
IHRvIGdpdmUgYSBsaW5rIHRvICJBcm0gQmFzZSBTeXN0ZW0NCj4gQXJjaGl0ZWN0dXJlIHYxLjBD
IiwgaHR0cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwOTQvDQo+IGlu
c3RlYWQ/DQoNCkkgd291bGQgc2F5IHdlIG5lZWQgdGhlIGxpbmsgdG8gQXJtIEJhc2UgU3lzdGVt
IEFyY2hpdGVjdHVyZSBpbiBhcmNoLWFybS4NCg0KUmVnYXJkcw0KQmVydHJhbmQNCg0KPiANCj4g
VGhhbmtzLA0KPiBKZW5zDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 06:57:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 06:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711157.1110904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWZi-0003tF-R4; Wed, 24 Apr 2024 06:57:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711157.1110904; Wed, 24 Apr 2024 06:57:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWZi-0003t8-OW; Wed, 24 Apr 2024 06:57:50 +0000
Received: by outflank-mailman (input) for mailman id 711157;
 Wed, 24 Apr 2024 06:57: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzWZh-0003t2-KV
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 06:57:49 +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 f5b62a43-0207-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 08:57:48 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-34a3e0b31e6so4743334f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 23 Apr 2024 23:57: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
 z18-20020a5d6412000000b00347ec0469b2sm16278269wru.46.2024.04.23.23.57.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 23 Apr 2024 23:57:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5b62a43-0207-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713941868; x=1714546668; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JNqflPV76mTHbmM5E+y7Fn7JlqESK6RC1budnk0RZ9I=;
        b=EOqDdRR/3p/w//gkL23UrDJ6XBeNMcNgQEksyj7mAM5pBWvONCzO68IHhquXAEQgjd
         rLBaXdH6bbgqpZK0kruOCDivikEVESVIHW44zHT+GXJKv0GuQG2fGN+1nUZaNg21Ylrz
         xA12+O9KAVMG2L1yZgRnQfeH4QD+tPCgxWc7Ah4pWNTxzLQz8OlYxAXnVD4cVwiNE81N
         rvoEQhLyk1tGhIMO1aOXnDXB4rJLfiMzZARzRcApEYHJk5WYz5pxG7edzp6qkkUHa3ZZ
         YRrs76dLhaIxJs3hThZwYeG02tZsGxZ41G4o6G/S+wnuQ2EbvQ9LhtpYPWBy87ndm6z7
         RnAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713941868; x=1714546668;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=JNqflPV76mTHbmM5E+y7Fn7JlqESK6RC1budnk0RZ9I=;
        b=iCD742O2DNiBIv5iFuesFyoyY9aip6APhBrkZdLid74iifgTraarfJN19keV1+aIpq
         SMKk+Ht6uzCvOuTZKficQHh4U+toyREhAbsrD47HGDn9ElSb3gx2u7UuVQoEPJUn67Nl
         JOIO2eviDh+NH+LSGh/6Ls3h0dGwgzlucrH+6p+tEc1N1LxQSZC0tzhW7dV/LzgPF9pf
         2ZCKb3bBh+e1CTlL/VVBma5CrT2yrvNhe5iUx0K7rhJy/TzPvFR3+RbpFVBFPnxjbVrW
         zPFlqrW+HIpS1UegdT+3Ds4H+99JZmw2QRuca7kcn68SIGgeKYa3Uzwo/Emd/Gpaj654
         rQ4w==
X-Forwarded-Encrypted: i=1; AJvYcCVLMP2uMhNiRLt3zmVjtfoEvfJP+4UYnuyGiay2f4O6sTXG5VZPbKMhOPtHTDUPMfIHj8NyW0nHaKqaudpec9g8DkY6Bi+A1jbbCCdobDo=
X-Gm-Message-State: AOJu0YxCAeOfCh02euVcEcvOO87XQk36kr94izGYT2l0NWfZx0vhH7Xc
	7pwYLiFDaLxeB2lI1dNaypGgZS7U1lUbsbsewfPmnJWL0PIql3Z/Dt3blBwaFg==
X-Google-Smtp-Source: AGHT+IGkJud8e1aFZmfGY4/rmAPNuomo69imXBY6kRbhgCpOZnbKZqAcTsuJWHmvyrPnGgRITlDPsw==
X-Received: by 2002:a5d:4e09:0:b0:343:7cef:993d with SMTP id p9-20020a5d4e09000000b003437cef993dmr817281wrt.61.1713941867781;
        Tue, 23 Apr 2024 23:57:47 -0700 (PDT)
Message-ID: <081ff118-e7c3-4570-88e1-6c54e096a6a4@suse.com>
Date: Wed, 24 Apr 2024 08:57:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] x86/spec-ctrl: Introduce and use DO_COND_BHB_SEQ
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-7-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.04.2024 20:14, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/vmx/entry.S
> +++ b/xen/arch/x86/hvm/vmx/entry.S
> @@ -62,12 +62,12 @@ ENTRY(vmx_asm_vmexit_handler)
>           * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
>           * itself so must be after we've perfomed all the RET-safety we can.
>           */
> -        testb $SCF_entry_bhb, CPUINFO_scf(%rsp)
> -        jz .L_skip_bhb
> -        ALTERNATIVE_2 "",                                    \
> -            "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
> -            "call clear_bhb_tsx", X86_SPEC_BHB_TSX
> -.L_skip_bhb:
> +        .macro VMX_BHB_SEQ fn:req
> +            DO_COND_BHB_SEQ \fn scf=CPUINFO_scf(%rsp)
> +        .endm
> +        ALTERNATIVE_2 "",                                         \
> +            "VMX_BHB_SEQ fn=clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
> +            "VMX_BHB_SEQ fn=clear_bhb_tsx",   X86_SPEC_BHB_TSX

Oh, and just to mention it since we were discussing this before: The variant
of this that I had been thinking of without decode-lite would have been to
transform this (readable)

        testb $SCF_entry_bhb, CPUINFO_scf(%rsp)
        ALTERNATIVE_2 "jmp .L_skip_bhb",                     \
            "jz .L_skip_bhb", X86_SPEC_BHB_LOOPS,            \
            "jz .L_skip_bhb", X86_SPEC_BHB_TSX
        ALTERNATIVE_2 "",                                    \
            "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
            "call clear_bhb_tsx", X86_SPEC_BHB_TSX
.L_skip_bhb:

into (untested, and hence perhaps slightly off) the (less readable)

        testb $SCF_entry_bhb, CPUINFO_scf(%rsp)
        ALTERNATIVE_2 ".byte 0xeb" /* jmp */,                \
            ".byte 0x74" /* jz */, X86_SPEC_BHB_LOOPS,       \
            ".byte 0x74" /* jz */, X86_SPEC_BHB_TSX
        .byte .L_skip_bhb - (. + 1)
        ALTERNATIVE_2 "",                                    \
            "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
            "call clear_bhb_tsx", X86_SPEC_BHB_TSX
.L_skip_bhb:

Of course yours (dropping the branch altogether) is better, but also comes
at a higher price.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:20:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711165.1110915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWv1-0007oz-NT; Wed, 24 Apr 2024 07:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711165.1110915; Wed, 24 Apr 2024 07: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 1rzWv1-0007os-Kf; Wed, 24 Apr 2024 07:19:51 +0000
Received: by outflank-mailman (input) for mailman id 711165;
 Wed, 24 Apr 2024 07:19:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzWv0-0007om-5m
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:19:50 +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 076d687e-020b-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:19:46 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4187c47405aso45239135e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:19: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
 fc9-20020a05600c524900b0041ac5f19213sm4289749wmb.8.2024.04.24.00.19.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00: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: 076d687e-020b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943186; x=1714547986; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=DAkLJgBRJtYa2wlWn5PDq7T5VZPOXEHddjIuLZSxHqbSmTrwS99UxsoH40GE/nTlWI
         VUNwCdd4f0Tz+zBU8HKe1Pv0A5N58cmYAh0a7DM8swcvT27akSSMymJExhn+lf8GyCX0
         /r0LtNGG08P60TxI3VamOVNTpl3ndzNX9p19Fr+gK+y3DU+sZHdCrXTKPDJH+I9sAYBz
         9hmAx7GxZTbyzj0oxJU+itD3oXiKNK0vC5DXOXDt3VDuAggSU7lZCpwVw6FLWaq3c+QP
         dkLWpiqCpd+n8igZ6hgsI3eMhLIh7TtRKW9isuROMkjE1epwSlMF/JJlZKqnAbGgBRt8
         icUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943186; x=1714547986;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=kL/rQLliRK1Kzr5vPJal89akTb4VynTbLIauZc2m59aML8vI6TuJXZZvgIxPjl4zsU
         IEuV6lQjPZvnBPehzZvxQNPxGg1ppwClZX44viuqlTNGT7o5lppSEPJmFvHBwFk7+eWV
         kR6Ytv5qynAYuq1vp4EPpch+ijwpHY4z/j/jBxHam/7DiX61/xWKxDEVnehTVlhGUT+U
         QuU04ur4x4G7PjFCuMneznPfRs3YIkz3tct+/Dqz/ZZd13F5GVUqZa48tKHOdv2/XDUM
         x6jkew5hCLlidolkDpbwHLwJTyjBUTvUgueov7y1xlPXBBeaKC+T7UQL3CPRpZ4s4Au7
         /gEQ==
X-Forwarded-Encrypted: i=1; AJvYcCU6YvOUC/+ZqQX5MsZLQk/RP+Y0GpBV6xWjH9cKqEVNLjdSV8xgHzdshDAfGpm5E2akBtO6BvwvApzVgQbrYecPXJMyj+ZEM43C98KEank=
X-Gm-Message-State: AOJu0Yx/06wS80+MB+SAhf2PhAcSwxP0Ws9Nuj4ryIDITos8fEIn30fU
	DX5yTw5Lt2u9YHt0rG3cnsL/JYXzHgFXJrOCotuTKZ3iME5bN0W+D1nXH06v4w==
X-Google-Smtp-Source: AGHT+IEvRH8K8WlTjWXEapbV7+x+ZZne4ZHok2FLSqPxdbjPK1ysp0o1AY0ZkzSpmsEaoxCKLBEorw==
X-Received: by 2002:a05:600c:354d:b0:419:f088:249c with SMTP id i13-20020a05600c354d00b00419f088249cmr1094848wmq.12.1713943186072;
        Wed, 24 Apr 2024 00:19:46 -0700 (PDT)
Message-ID: <6608efe2-d968-47be-900d-d94f8e94f926@suse.com>
Date: Wed, 24 Apr 2024 09:19:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 01/10] libelf: address violations of MISRA C Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <250b556fc0516e4a20b24161dad3032e2ac3db80.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <250b556fc0516e4a20b24161dad3032e2ac3db80.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:21:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711167.1110924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWwB-0000js-1n; Wed, 24 Apr 2024 07:21:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711167.1110924; Wed, 24 Apr 2024 07:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWwA-0000jl-Uq; Wed, 24 Apr 2024 07:21:02 +0000
Received: by outflank-mailman (input) for mailman id 711167;
 Wed, 24 Apr 2024 07:21:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzWw9-0000jV-Kx
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:21:01 +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 33002e58-020b-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:20:59 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41b0bc4ce39so1801415e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:20: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
 fc9-20020a05600c524900b0041ac5f19213sm4289749wmb.8.2024.04.24.00.20.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:20: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: 33002e58-020b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943259; x=1714548059; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=RYFn7gYkDelxr2tzV2aNGT1Ax5jpJJv866dP369V4qXp9uH4aj4iJ5us4672GuipWP
         WhPdgyoMyUqolp0LeM4gKxDv/GrhH2/cPNF6UdaR7ggTogSZZStvCK6QfB0VQFb2OQwY
         ht2o3OM+9z1oVYc7TyNfQjrEFfAlrlEDqKyhDJiRBEEK6/Y3WWl83+tNeJkjzXCfEI7J
         WIDe25z5B8avgrwD9/s2rakkaOr+0la78kodHNCVv3z2DQ2Jnb+HcglY80MaA1knCkw5
         dbrxaUJX5CBLFP7reXwyRNIz54KHr37ZPKMkAlgXRQl7F91pVu/cAFZKDKjLSGZcvurm
         c6mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943259; x=1714548059;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=BzfSxU4eNYeNoLvicsoOZ5hv4CW9pXeCRqAiEDI9WkvkLzxwJsUn51xXT1ukoPgufs
         OYzSxI7Udd4/8APPyk0tZ+ClwvsGnKVYyMsr4WR1wfkUxam+HA2LS3snU8K+d54iLYe4
         vBKMZ+OeWulfU1iLTQDP6CSXNBQvxR1AtK4D63ljEgV63hd9Y+o/AhZs/Fr8XwH8m0Zz
         UkBGFUtEHqdYQpsppV4Vdd33ee683X7hUx9cwDI6UOB0RLL6Eb8NY2I7GkUorBZzSOGM
         oOvDxOhzJo9fqoPamXSKdor+M178SpLwet75JCT/sfDAZB3UDIeOE5TKk6q03n+AEg8D
         eMwg==
X-Forwarded-Encrypted: i=1; AJvYcCVXY5kHHnfX3j78anSDXemt/tabkmyq59g7OxlUBihMYPXWkPsIpDtogiX7sOf6u8z2QizoM9MR2bFy0ykTQr80xpixmxUn7UU26pge28o=
X-Gm-Message-State: AOJu0YxqdbJs0r8pgxw8T0TJBsl5zm7W7hQkHDCZRrA6QBan96VLL+yv
	ozgwzTQs/fu22S2WSsJV8Hckwo/gJTsU40RpL8fwoAZQ8lVNn7RkI+vlvkdhCg==
X-Google-Smtp-Source: AGHT+IEULxHCPLmAb8RAJRvdvw3Fq4bcSMEVGF/ja1bdSfpj5yfv1tUoTMjVGzlCP0r0kuOlM1EU5Q==
X-Received: by 2002:a05:600c:1552:b0:418:f1d7:7029 with SMTP id f18-20020a05600c155200b00418f1d77029mr1597267wmg.6.1713943259227;
        Wed, 24 Apr 2024 00:20:59 -0700 (PDT)
Message-ID: <95736efe-03c2-4e02-b7e0-8385b9119a87@suse.com>
Date: Wed, 24 Apr 2024 09:20:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 02/10] xen/page-defs: address violation of MISRA C
 Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <d093a4e47ac0c7029e0a1a6144fca922fe7466e0.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d093a4e47ac0c7029e0a1a6144fca922fe7466e0.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:23:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:23:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711169.1110935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzWyB-0001Jh-EM; Wed, 24 Apr 2024 07:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711169.1110935; Wed, 24 Apr 2024 07: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 1rzWyB-0001Ja-B5; Wed, 24 Apr 2024 07:23:07 +0000
Received: by outflank-mailman (input) for mailman id 711169;
 Wed, 24 Apr 2024 07: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzWy9-0001JP-LG
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:23:05 +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 7ce86552-020b-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:23:03 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-34b3374ae22so2651915f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:23: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
 b7-20020adff907000000b0034b3394f0e1sm5896840wrr.10.2024.04.24.00.23.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:23: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: 7ce86552-020b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943383; x=1714548183; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=aXj9ij93UfOVIuQNJp0HSrxSpaB1WyARb2HDAKq/r5U=;
        b=JAmaGdnbtwDqEhj1/wWLgbmql+Mf8nxcAvIe61ESqq2ZXmuKGUpThEWoQy4+hYd0Kx
         xlYcq6892sQ15PmMA5IgC2kXHQsMTB5Pj6PKdQGMAGz/FZhublaKXR5BW3o6bDwvJYv9
         Qtolas1HrOrd0EFZHgsx4W6iQj2X5ARj235rk5Hoqq8MH7iRnm2lMG40BRJj6nsa+nxn
         7ugvYkOgau3mzJEkR4+JSrHiDHh4lOnhTToyPxqj6FXkqKv0GrnYcF11KLibM7ss+q3Z
         1jqf0ONtVtB2GKUNUu0/IRhsVcYYK4+Bc1ggkSx9hGzNpG2lxiHaRrl2AzuLdQuAsLzD
         7pBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943383; x=1714548183;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=aXj9ij93UfOVIuQNJp0HSrxSpaB1WyARb2HDAKq/r5U=;
        b=dxNLEqC+IjXt5r/HAsOIm2zIoiAtOvma6cK21hK0U3R1C+061rK8dY/Oh5TM35gf13
         p7U6FRkR3/4f9RXTvLxzK7ldMSDV4nYsip6880EALsi8tIhI8aQtJ/Xo49F41UlZYyGn
         yfOOEO+om317raN0gZDojDc+MDnFqbHGYRW9JUMnAeCqCxLwu8nMKVcfMKraPJO1nrLy
         r/n8/TeaMYubuTSw/6A3jraAljPp0uA37jfhLmk21ktwrMt/xmpweJ2tNcRAmRsWrfmL
         QY5+G0LL/4JD6YnFfoMzlLfQtZDJe6XL8g2/dnImh/i1XfoHHcFjHZ/7SdjkvK1VRWNJ
         1Sig==
X-Forwarded-Encrypted: i=1; AJvYcCWDmiwqkP/1Covyj35zdJCJswCBPvxyKX4ZugrPA2sLyWw9K6Hws9LFxeLqjLJTBPGoIECgWhELI/fafAlQU0VYyBAcPx1B1RThtDXQrmc=
X-Gm-Message-State: AOJu0YwGZE7pSSP8bvJjEiovy2apxdri2iZ45LVIB5Upk/9ZaNuNFZ13
	fM7s6FL48B0Xb8zoFzg7cLKH1l1OjPzi0dZpPKLHI1Tvg+IXYtWuD+A38xrOMw==
X-Google-Smtp-Source: AGHT+IETP0NXuYBFJyPjsrUv5vszT6JbIuB4chl02hd+FvcmHWc4Ex6R8Qc9DkYFvbLvvObP2HieYg==
X-Received: by 2002:a5d:525c:0:b0:34a:beb3:f6dc with SMTP id k28-20020a5d525c000000b0034abeb3f6dcmr1379622wrc.2.1713943383184;
        Wed, 24 Apr 2024 00:23:03 -0700 (PDT)
Message-ID: <509a6c09-85e7-4854-b7dc-116cde022b26@suse.com>
Date: Wed, 24 Apr 2024 09:23:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 04/10] drivers: char: address violation of MISRA C
 Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <a5e4472b91398b7f9e802ea82c8435fa8ad27066.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a5e4472b91398b7f9e802ea82c8435fa8ad27066.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> --- a/xen/drivers/char/omap-uart.c
> +++ b/xen/drivers/char/omap-uart.c
> @@ -48,8 +48,9 @@
>  /* System configuration register */
>  #define UART_OMAP_SYSC_DEF_CONF   0x0d   /* autoidle mode, wakeup is enabled */
>  
> -#define omap_read(uart, off)       readl((uart)->regs + (off<<REG_SHIFT))
> -#define omap_write(uart, off, val) writel((val), (uart)->regs + (off<<REG_SHIFT))
> +#define omap_read(uart, off)       readl((uart)->regs + ((off) << REG_SHIFT))
> +#define omap_write(uart, off, val) writel((val), (uart)->regs + \

Would have been nice to drop the excess parentheses at the same time.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:25:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:25:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711174.1110945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX0C-0002b7-Qc; Wed, 24 Apr 2024 07:25:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711174.1110945; Wed, 24 Apr 2024 07:25:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX0C-0002b0-MC; Wed, 24 Apr 2024 07:25:12 +0000
Received: by outflank-mailman (input) for mailman id 711174;
 Wed, 24 Apr 2024 07:25:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzX0C-0002au-Af
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:25:12 +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 c86ead1e-020b-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 09:25:11 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-41b0be62a8fso1226815e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm26604454wmq.34.2024.04.24.00.25.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:25: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: c86ead1e-020b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943510; x=1714548310; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=F9aC9z2p99IUn2XlX0yS7YSHrm6e2xIgrWXB+PI72NpBNuhlDq6NH1C1dmJ5POJZlX
         gkZl1RvLF/EI6SgWpgaa3m/d+NINSygirgZfqTOjQjqBjma3zwKcpMtBIW5xsPFva71J
         jKeioxeWYyJdNLNVLyKKh0Bv8UEh7A78b0EljTOw3DtwGXtD9V8POdb82+yGNnhCOuFw
         aCGrXX9EtpP3oblDEBAr+OXoIFcwMA9I3oz/jUAv5HCJoUgccYplnM0iI9rlRqQE/PiC
         tGzPDT8h38UMCxcrXvewq2jLniDgPdGleZYQIslGMoQ5RTZv9CuifaplfS4BH753wUyv
         Rc+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943510; x=1714548310;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=JsERwJ5jT0pljuAsHgAMKC4LDAJKA1mH1VWiL6Bl0RHRQbh8VmPlYZw6Speias+iqT
         QU+yBPEbdmXXEnO4xPXG3cGboqlqwjWaqZlopyIBlNOx9nYo2AxYlk5aH1ZPF1RSdexj
         KOowIguHJXusuZnqdPnSt40CgLrQbrdrxfdj8wA6uwj9nMOcTZ/ejcxFm7FgDzPQCqHY
         j+CyVf+ifkltXnu/7km89zFF8J774TjPlVlpFZhUMUhJkCJa1yerP2KqlBiA9qrZJGTI
         MhR1rpV3VbRDqUHUlV6kETGlsMV/BL6rGJwjt+B4dCKQruwhXKsgeaZPppV6ZOooUunt
         B99g==
X-Forwarded-Encrypted: i=1; AJvYcCVTcNTGAkqv0wgNRaT4aeifcubTkN/q9WEPtdbW+rbyMGjy016a2cckgGlgDgXuKWZ1sO61pGv76Tb4c45OOs7q6uVs4mY8ASDA/P8Q0JI=
X-Gm-Message-State: AOJu0YwvoALXpfavZWzxwyO859GpEG9BoGys5ny8DK1/wQYQAfsXMYaM
	o+QFzG5+wnikS2JWIXEc7Czu5FOmabuspx8G2aKW3uQFhwhGhZPD6sgRIF/p3A==
X-Google-Smtp-Source: AGHT+IHKe4yoNxKGhXCC8mnnplNkKP3mN8m+EidPhBFT2Sqfw7uwvL0gfoU9tfQJQqzV8kAIUnCmbw==
X-Received: by 2002:a5d:5644:0:b0:34b:b50:3689 with SMTP id j4-20020a5d5644000000b0034b0b503689mr1318802wrw.10.1713943509868;
        Wed, 24 Apr 2024 00:25:09 -0700 (PDT)
Message-ID: <a8507fce-fdb5-43ed-8d02-2d0651ddaee9@suse.com>
Date: Wed, 24 Apr 2024 09:25:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 05/10] xen/spinlock: address violations of MISRA C
 Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <620466b08df1efb706e757aee05a8d7f7e6e8f4a.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <620466b08df1efb706e757aee05a8d7f7e6e8f4a.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:26:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:26:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711177.1110954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX15-00038r-26; Wed, 24 Apr 2024 07:26:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711177.1110954; Wed, 24 Apr 2024 07:26:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX14-00038k-VV; Wed, 24 Apr 2024 07:26:06 +0000
Received: by outflank-mailman (input) for mailman id 711177;
 Wed, 24 Apr 2024 07:26: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzX13-00038Q-PE
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:26:05 +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 e8dda9ab-020b-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 09:26:04 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41af6701768so4194905e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:26: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm26604454wmq.34.2024.04.24.00.26.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:26: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: e8dda9ab-020b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943564; x=1714548364; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=SrXd71a0kQ5zKRThzoEWgLbnp1GXbBqz92P/gfR7K7w3BJLPEsWsZsICP0nSAvFpvs
         zchiQp4nESay/6SeYKteEY+bxCDdDFiT2coLeCnZVnA8Skx1Tz0Rt8XPEbEYuyqgFfI3
         hj8fpn+H7UM4X0R1xDY69PxDGSpLLREmwfbDNggid85oK6V7tedO9QHDlVNk+JPJ3BTn
         rhY4eL+szkSPy6LGwc0CoeyD7g3F12SKi1Q7EL3IEDxfzwKT2DaUQmGendA36M2oC0ga
         WSMQWNAlE2eN4LQCHTfZOr4Rws9b7L9bFMeiv/axIEb7NG0A4fb8WirIE2D4+74ise9b
         36KA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943564; x=1714548364;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=veeKg5vLVpi/a0KMfzZwxtQmCcMWqq7DTsSAyWSL7p7bh/oYGmAi9aDGn3QSq1Qi/h
         fq9zaqhCJYYMGht8f5qQz7fB3a/kzlnXDp5NNEQgIJEoXIH+miC/gn6Ky5t2470jz7wp
         gfr7XSGmBnmZFe3NgppTW+xwxEY91j1ssHJuLiGFwBDdkSqafavFa6MxwjlA7mL0AwnU
         r9vxQ+uzvdRP2hRNx+GEOCvnSXN+Plxvx3M4b/IUZp2wfVIpnqmhZUh1tQv891VIOR1o
         CPuhDlK5mDyGlTaDkYiA5/AigcQXAj5IzWNROJUGXNFCbn41AZm3cNVJILkwaAWwLvrz
         YhJw==
X-Forwarded-Encrypted: i=1; AJvYcCUQb0qsV1dkrZ7qwpl0VoZeDi5kR+3wrr9JLrWZE+s54SG16lIQu0Whl0Biu8SlCRE63ZwpcBnHkhbD9JeX9HFbhE5UNE+1QmCp98zrNrU=
X-Gm-Message-State: AOJu0YyEZI+n6vnnHh/6GgqkYvgWFvHUGwzYq7a+yZsg5CgjnMMSor1J
	Jt0XIddd1P5m06tbJQSOgehmD9um6ooagbeBYnqK4pUwUc2dqhPgEtuqCXJr8A==
X-Google-Smtp-Source: AGHT+IHKhd2nojNANqEigRTJoBpcZYpTpqXU5ieHQG00hgqbjLb//ZDCPbNTU7pk+NB+kx+nX6aAUg==
X-Received: by 2002:a05:600c:4f4d:b0:414:8abb:a96b with SMTP id m13-20020a05600c4f4d00b004148abba96bmr1124839wmq.34.1713943564235;
        Wed, 24 Apr 2024 00:26:04 -0700 (PDT)
Message-ID: <cbbd3d5b-ed00-45de-bcb6-59741a4ba37e@suse.com>
Date: Wed, 24 Apr 2024 09:26:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 06/10] x86/pci: address violation of MISRA C Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <6c8bb550a4e263c8052ac10433070d2fcc7f56ad.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6c8bb550a4e263c8052ac10433070d2fcc7f56ad.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:26:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:26:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711185.1110965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX1j-0003hv-Dq; Wed, 24 Apr 2024 07:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711185.1110965; Wed, 24 Apr 2024 07: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 1rzX1j-0003ho-Ay; Wed, 24 Apr 2024 07:26:47 +0000
Received: by outflank-mailman (input) for mailman id 711185;
 Wed, 24 Apr 2024 07:26: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzX1i-0003ej-1N
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:26:46 +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 0085c1b2-020c-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:26:44 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-41a1d88723bso24942225e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:26: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm26604454wmq.34.2024.04.24.00.26.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:26: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: 0085c1b2-020c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943604; x=1714548404; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=JjX/hayPh8BDXNyzaZNyaV4mZ2SAHAcLKOUuRUehoZWxlhg1q0m1YECd0HWo7JpssX
         sgKdKY2H8pLXRN3taIksfGW5+uuM+R4jDVOrTK8mfY0GPR9Q4pUfJ36nx4iEZszsZzAx
         Wq0dATwA3xl88pBACKYyLQHPSpCOWh3t5YpMWsIq8TKq8WqzLEBw7wYmi9TN236rkdL7
         0GdilqJvdXkaS4odDrVQxBV5hihhXL2LAumloFQdVibCUwqNOKO7VQKQ7kGHNml95j9P
         /GwHcqxLHII/KEa9fZCZ1tZm5fHtul8w7WIR6cPt3KqKb7G+fR9mSAJglvTsrzcCZv2V
         IwgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943604; x=1714548404;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=KF7nglCoCIIOwABtCVQvZVAIrQwJ/AKxQZ/EQWyYbYsAV9Ipkbl0k5e05JDL4xSfSc
         hwsx78hwtsJbjJQGQMkHsV3hDcdHzrTQyFTCt3U2xXNPZZT6ysAC6JRRoHIhJM7rZLtI
         WVtYTxxiobz9GzbdWoc2LBVRi1atN+uobFNRQIad+1FvdezNSxuzv04/WByE4X1fIsh+
         Tk2IgiOunq7r4JmAP0a6R5y9FxOJsfjACsZVsL4LuC7W96bl04P8wOXJ/IWme7hI3ssu
         UPsED/WDQXyUta8DNpBK6Ri9pz2hniMBqbu9FMSs1OefT72ZCT+lzeBYr9vIwXcwBaD9
         lXBg==
X-Forwarded-Encrypted: i=1; AJvYcCUEwk/tsiFj2JBITuaod427aEFPOkNmcJMtGuP0mVY/IvPIzEvvFV3Ho0hxa0Srg6GTHOViz2aFGkHqZ2e9v10l5GYhWRg1xA+TjPbzVWI=
X-Gm-Message-State: AOJu0YxhMCil91mAqjCUIa5zUmpzPLGjA3a1hCrbeXUqH3xskLW530mK
	Auq4yVM7+gR/yW/flGgijyL3HT8vKb2k/f5FhpvzqaYpKPxHLzyVRVZ4duv02Q==
X-Google-Smtp-Source: AGHT+IFL6c6aZfyLIfunsuk5w5/g6d7vcpSIFDYDRURn/vwbXzshyaNWKtvYHfSrHoCRklxzndr8Rg==
X-Received: by 2002:a05:600c:3108:b0:41a:ac28:1fc8 with SMTP id g8-20020a05600c310800b0041aac281fc8mr984347wmo.33.1713943604004;
        Wed, 24 Apr 2024 00:26:44 -0700 (PDT)
Message-ID: <19c9e4a0-90ba-46d0-a0c0-9fd14db79be1@suse.com>
Date: Wed, 24 Apr 2024 09:26:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 07/10] x86/acpi: power: address violations of MISRA
 Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <9f159a0c653c3fb9dd192c1f888a16052f1b026f.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9f159a0c653c3fb9dd192c1f888a16052f1b026f.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:28:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:28:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711188.1110976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX31-0004Gn-Oy; Wed, 24 Apr 2024 07:28:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711188.1110976; Wed, 24 Apr 2024 07: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 1rzX31-0004Gg-KF; Wed, 24 Apr 2024 07:28:07 +0000
Received: by outflank-mailman (input) for mailman id 711188;
 Wed, 24 Apr 2024 07:28: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzX30-0004GW-72
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:28:06 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 300816c1-020c-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:28:04 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-41aa21b06b3so22928205e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:28: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm26604454wmq.34.2024.04.24.00.28.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:28: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: 300816c1-020c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943684; x=1714548484; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=g5SCgP88k2/ITboE0XoRfrWC6XYUOQWGtHYSmz5IKwFhNF4czsZ35jVnQLNR+coZJ9
         DD8eh6JeGq2S5gz9eksGB0i/9/iuQ4864A0j9oK2rU0ut4AAABtmqb/lZ4ucq0Tps0/b
         Hc+l65FAxj9aC77Oy3jWGJTK7b9N0TEcRTZeyI5BQSoGIM5sHsAg96ASAXyPeZpT9BvA
         3GbyhxnwBsQz8qVfIoQ8Vu22tpvn3NJwf2ue3vdPPVLUkDFq/RAasSeAzNU6LghSeqYG
         Lqa78R8bt0NlmjlYbISSC2S4qdbrs5/MkvlY3k0B2J9GtxojL9By4V6s2d/sBjjxxvqP
         CWKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943684; x=1714548484;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=eMp8YXHPgVjksWM/X30VhfNSEYBBwTZuujYzJXd4rnDVp11RuW0rTcpc2oCkS0Xlxj
         gPukLp5t6b+6JdQm4nq7Fv3jEyYVjdN6sCkVgm/j5t4Cv6HWYLjy7/921or1mc37Tcai
         vsx3GUVZy81fNnaAIdJdghTHUjN3suesdBRJcJm+Ay+BIHUaKJok02GXA44CrjGl3JGh
         fO3K7jUOKM/J44JUnUW9DRfiEv35RyxaRAsw9WcheTgY0TNFKSC5katcgsLGHOlNd5zu
         haIxfJlDjoVXJmOTXcYdTM6YRIoMqxQUFEKwWNpkN53xO3Udym2VDDl/xDUawovE1fOB
         frpg==
X-Forwarded-Encrypted: i=1; AJvYcCVVvOEadC1nKgcm8xvH0tWxhD55caD44TmhusILHQBjftorzGR3IjT143y8AUmW0DwZaz6kxEaTZV6u/N7OcwmhYewdZL3WciJ/y6Mml3A=
X-Gm-Message-State: AOJu0YyOnxzA/eFyz0zyMoss8ghlw79KM8AsFiZz3wxzowg0NyNOU4ZF
	Pai9zniqyUOL2n5yof5CReXW3BTdryVYWexhkLTnS1BIw5qR6++6d7pjqh7Ckg==
X-Google-Smtp-Source: AGHT+IE98H7ts4Ue23GqBbdTHmQ/Do7o3cOlYQJOol5X2qNHWgj2P6haINPZt/nJFyxK9l3DNcLmJQ==
X-Received: by 2002:a05:600c:4f8a:b0:419:f911:680a with SMTP id n10-20020a05600c4f8a00b00419f911680amr1491962wmq.1.1713943683721;
        Wed, 24 Apr 2024 00:28:03 -0700 (PDT)
Message-ID: <b62ffd78-62a9-47f0-aab7-2123f6110c76@suse.com>
Date: Wed, 24 Apr 2024 09:28:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 08/10] x86/hvm: hpet: address violations of MISRA C
 Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <063ad5abee7765a921fd7f68372a4d7fe0e04e54.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <063ad5abee7765a921fd7f68372a4d7fe0e04e54.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:28:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:28:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711191.1110985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX3f-0004o3-Vr; Wed, 24 Apr 2024 07:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711191.1110985; Wed, 24 Apr 2024 07: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 1rzX3f-0004nw-TC; Wed, 24 Apr 2024 07:28:47 +0000
Received: by outflank-mailman (input) for mailman id 711191;
 Wed, 24 Apr 2024 07:28:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzX3d-0004nO-RC
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:28:45 +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 47afacc2-020c-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:28:43 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2db7c6b5598so86061841fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm26604454wmq.34.2024.04.24.00.28.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00: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: 47afacc2-020c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943723; x=1714548523; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=YqCj3W2M6OW5EV2G9+NdaomUNfnsSh2QHssAjnQhh69BgazuBR6KK0lUIqkkgKLjBI
         sPCwW5rzB4dv7GT3a8d38Oc/aAkGCKpAQjiM1Lon66DhJrA/fdoN4RoF/rpAk4fl1dQI
         Ha4qUGkKha2VrZfd8IwNdibIuVWIIfqMVq5l9lgoimp6KjRjaqKk7sgT70hsbSYe0OUH
         6RJXWLIGT224zWj84qeCv9kXoTlGZR0ud8afX0meGb6y9MDx+eNe04Q7vU7hQLl0Ulye
         MOgI69QELNaenJ+lUKd0YA8l+uftnc9fYeR9PZFb0p0SKkPk/xSPxG2Wu83Tp+rTbrNO
         ibWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943723; x=1714548523;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=bCI7ZAzv0hDXV+EFiRC53HZqANTCIL01xDjSLGCI0viEwdpboNCoe4HDE1ycA8t7Xl
         Z9jvtqT6URLiKEGTOO3Ddtf0ytfGWJ46bIQThTqJbNHh3mUICMZrG6KXZIX15fOs2TeD
         9gPjTnKpvYf9x/hXZaDSmTsiJ9blVJX/dTLQi7mDarJk+Cj/IGmZ1ogkxjCdH8vdsdw4
         B93fp44o/S6/SLRwgU+o/m2X4jBcrPq6qMTjsnTEBdux0enGQcchPWtipXBDDcH8qs5R
         XdhGYbLBRyaXV7oB/ZlSGTxW0+22fn74o3KljtJnlo4YncNqG/VWI/J+xIBAFae9VvH+
         48QA==
X-Forwarded-Encrypted: i=1; AJvYcCUikynZmwRpCW6k8IzAjOPCsd3svBXc66Zk9iswPsfSKK2nWKiDZloh5cBmpc2nwm5tHTlB0bM86hlrrrcYL7XAvcURNOks9+gN9peYXCk=
X-Gm-Message-State: AOJu0YwuD/NEXHZ2jk8bfLxQCHfdkawXnfM1zTHm/30uUr63fM5G4B7G
	4wHBsFZfTWoUtl7c7p2w5s1GsjIN4nstQBGEpz5pbHMMrNC+f+KTqz6KBX+YtQ==
X-Google-Smtp-Source: AGHT+IHO2xxdNIUwJLg6ImbaSSmVryTmkOio5s8qwbQCpLJuKPCEmGr2lza7S6J49pr6r2bbAuJ7tQ==
X-Received: by 2002:a2e:bc18:0:b0:2d8:635d:56bc with SMTP id b24-20020a2ebc18000000b002d8635d56bcmr1129467ljf.23.1713943723399;
        Wed, 24 Apr 2024 00:28:43 -0700 (PDT)
Message-ID: <1cccd211-7b82-4898-ab0d-04e7f684962a@suse.com>
Date: Wed, 24 Apr 2024 09:28:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 09/10] x86/debugreg: address violation of MISRA C Rule
 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <d0821fd968d371d03b6b336dd4b5226c1f5b68c9.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d0821fd968d371d03b6b336dd4b5226c1f5b68c9.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:29:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:29:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711193.1110995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzX48-0005Ho-7E; Wed, 24 Apr 2024 07:29:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711193.1110995; Wed, 24 Apr 2024 07:29: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 1rzX48-0005Hh-4W; Wed, 24 Apr 2024 07:29:16 +0000
Received: by outflank-mailman (input) for mailman id 711193;
 Wed, 24 Apr 2024 07:29: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzX46-0004nO-VB
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:29:14 +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 5948ead1-020c-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:29:13 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2d858501412so88263071fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:29: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm26604454wmq.34.2024.04.24.00.29.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:29: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: 5948ead1-020c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713943753; x=1714548553; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=NnuidmpGvlzRWcJlc+zansh+D8+dDzHUEnepaJg32xKjBLBj2to/9KoiLp60xDL9pj
         hSeoSBamor6T5DXR60r3wsy532FfWme//UoaR6rp7IP4tUBqxAghVjTfXgiB0f3pYBeL
         3KSmVKL3J2h4ALzcZ5GR2fXAgxDNdW/0wG6lNAWean3TJXjHokpMpkA/OeNUzu/q3lHe
         bYe8fwWgfnQX8ZrXT/W+msUqdbzMqEa2yNcA6UhNj2LRmm9VbNWHpq7hlN0BdE6/xWz6
         mp8f371+1DweXtWJhTglxy8qIgnvLDTwJykrZDyVhZdnboBvqroPr8lH+WHdxQ176cOm
         Azog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713943753; x=1714548553;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=M5X0Zdmp/5vAXHNnlark0kMUOgAR7ijjsaVoa8nppOY=;
        b=q9jD4kX0DsbDxOEwZmFLF/LUO6kC2CDu0T+HPOC+Ocq/Zu7DeEJSxfuM+ktvfecYx1
         cw+Unt6rcwfL9yHyMNnVISuUwmuToSAPN84HwiieB6iyKwL9JGZ7zqY1I2txLmhyLnKY
         LKBldqiQfE2dT6iOB+86w86ZtVf2qGe6OyhTUCH+bhJu3SczWl3odcFhULpOli3SgW8G
         /ARww0jeurv3+hLtlHyN0cYqnQuyzQqCsdxm+vtxqwUkHDsIiwryZ8eyBayv/i7HS1/Y
         ujvNpIhJoUzytJ1xeVvmj5A9rX3hQWpKoZ5O7wQPBty3+yPy+7Tfy6l8NME+z8YjfTCI
         Uumw==
X-Forwarded-Encrypted: i=1; AJvYcCUrQiOjm+MBAeXrKS/U3NdV/w2KSnF//5uEQLqOf3P6WQGFnk5AlPuwwV5NC0KTN7Y/U4xS4GSFGYptqIo8soRbMLSLrTL/9yvqDifWCGI=
X-Gm-Message-State: AOJu0YzFXr8GLS3pPEWuVdOlR+E1L9LPrrJt3Rq2rrHbDJmMrJb+y9zC
	DCyU5nH1ZAJ2YsLAauL86UPwbcfnuRdcxJsavT1M754ZVATjTccUkqouHqOHSA==
X-Google-Smtp-Source: AGHT+IGUCpHXxwLCl9TkKuIuTnbA1DaO6PAabZNZB/I/p7UCY8QZSwFcRRiVDXDzTBXXPB92PBn8rg==
X-Received: by 2002:a2e:b94e:0:b0:2d9:fde1:dcf1 with SMTP id 14-20020a2eb94e000000b002d9fde1dcf1mr744651ljs.41.1713943753047;
        Wed, 24 Apr 2024 00:29:13 -0700 (PDT)
Message-ID: <aec91df6-fac0-4528-bbdb-32d8564d5764@suse.com>
Date: Wed, 24 Apr 2024 09:29:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 10/10] x86/mm: address violations of MISRA C Rule 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <067c2c22f84f7d1ed1c89d65859f70ac2fd7610a.1713885065.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <067c2c22f84f7d1ed1c89d65859f70ac2fd7610a.1713885065.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 17:12, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:37:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:37:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711221.1111020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXCM-0000Yz-AZ; Wed, 24 Apr 2024 07:37:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711221.1111020; Wed, 24 Apr 2024 07:37:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXCM-0000Ys-86; Wed, 24 Apr 2024 07:37:46 +0000
Received: by outflank-mailman (input) for mailman id 711221;
 Wed, 24 Apr 2024 07:37:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S7Hn=L5=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzXCL-0000XC-3W
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:37:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8923ce62-020d-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:37:43 +0200 (CEST)
Received: from [192.168.1.11] (host-79-60-221-62.business.telecomitalia.it
 [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 6AF474EE0739;
 Wed, 24 Apr 2024 09:37: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: 8923ce62-020d-11ef-b4bb-af5377834399
Message-ID: <816589b3-5c19-4f1f-80b1-b084a0ac5aec@bugseng.com>
Date: Wed, 24 Apr 2024 09:37:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <4981c3fb0992898a121881333485004f3609eaf7.1713866519.git.federico.serafini@bugseng.com>
 <17c022d9-245b-449f-96c5-7a29ba782880@suse.com>
 <11b8bbbd-1e22-4eb9-b571-cdd5d2661dfc@bugseng.com>
 <1ea60e22-12d9-432d-9ba9-7dd7b2b7d22b@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <1ea60e22-12d9-432d-9ba9-7dd7b2b7d22b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 23/04/24 18:06, Jan Beulich wrote:
> On 23.04.2024 17:52, Federico Serafini wrote:
>> On 23/04/24 12:26, Jan Beulich wrote:
>>> On 23.04.2024 12:02, Federico Serafini wrote:
>>>> +
>>>> +   * - R16.4
>>>> +     - A switch statement with a single switch clause and no default label may
>>>> +       be used in place of an equivalent if statement if it is considered to
>>>> +       improve readability."
> 
> No, I don't think there should be examples in those documents. But those
> documents should also not (blindly) rely on terminology in the Misra
> spec, as not everyone has access to that (licensed copies had to be
> obtained for quite a few of us).

In deviations.rst there is an identical deviation for Rule 16.6
("Every switch statement shall have at least two switch-clauses").
I think we should remain consistent.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 07:53:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 07:53:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711229.1111032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXRj-0004KZ-Rl; Wed, 24 Apr 2024 07:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711229.1111032; Wed, 24 Apr 2024 07: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 1rzXRj-0004KS-Nf; Wed, 24 Apr 2024 07:53:39 +0000
Received: by outflank-mailman (input) for mailman id 711229;
 Wed, 24 Apr 2024 07:53: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzXRh-0004K3-Ur
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 07:53:37 +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 c0bcb795-020f-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 09:53:35 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-41adf155cffso8108335e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 00:53: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
 t18-20020a05600c199200b00417ee784fcasm22846273wmq.45.2024.04.24.00.53.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 00:53: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: c0bcb795-020f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713945215; x=1714550015; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=R4pZNrDOmqyJEj/rtM0FGQo9uvk3VxesTqZpVH4RjWA=;
        b=GICsC53+P6wYok1QlaoKUxaw9rsdL3HlpYIjS4CqW10Odkjau+Rmik5M9N+uW6PLbH
         WazBo7zD/pTsQeHX54+uoooZI9qMyP6kQz5sZZIiuhL/d/D9JQgs9KF9HLclbxEC5Kym
         ODfGSC2mNuIcTVbm4JAZ/Ic+Swd2PDzLR+31YVHmIPGGARGSlC3ApwrS8HsXUahYlrKT
         V5tcPkNM8Gh/P8/3Yyh6kh8+W0SLrP+L7QJfWuEBh5EUR2oQRfXea4npF7geql9KY367
         JJB4ypUblpPehNSSFK8Alu3R5vQg7DcdOaCdwvCzsf0mA4fMSeBo4kbxc5rclgRxBAUD
         aqvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713945215; x=1714550015;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=R4pZNrDOmqyJEj/rtM0FGQo9uvk3VxesTqZpVH4RjWA=;
        b=jeuPVk1CrbP5hNwXE70fgt58zEcODDqdIruyYVbcy1PpNNyPha8SBWf8vxbjiDaOps
         8MmwEnLTXlrUhsC+UGPqi63UKyJvsHD5zgvmnYOIyVjsvP4QeaoqK7RLy+/nTFMByIh5
         wbcx2kk/zVRdSvpjj7LomPxja5FarJdnSIPO1zx8p2m2zdbuLjzqR+yjfQ4drm2lGExY
         kJaANjsRTXFzOmupr3zif4+gw+ASxyOz18o1rbx9cETKc3L4G/94vT9GuJmB9pvSk7kD
         UCk5K6dNH7lRVETb41M0XDir+C7/5AueEyNvbc00QEpq9iTS3Mc3fWi5AcKsU82dMq7T
         QsAg==
X-Forwarded-Encrypted: i=1; AJvYcCUIE3RvrWBCMzdHFyMbihSWWpmVjHXXiGOv+MtSpTT/LB49+zY5Pk6q6o0bW3NMvNYptf4hfwl+uTsqmfgstHNnR0UTeXuj+2Z57gy9/wo=
X-Gm-Message-State: AOJu0YyrMlHf5E6esSlTdcN0dC3jTqXaVIdg7oe8m+EumqC2EvM3pE5r
	/uIh5F7zqM4Vj/EiKY4t92d/+/y34AxTkqpSLwYVsd4m9zBgXryMJ6q174RMhA==
X-Google-Smtp-Source: AGHT+IEZIY4x3Gnt4gEa45W6mFE+QdVv8NUYDgJa6FzejoLIt42aMnbPtJJoAE0odXlCTifAleC/Rw==
X-Received: by 2002:a05:600c:4688:b0:418:f5a9:b91c with SMTP id p8-20020a05600c468800b00418f5a9b91cmr1035439wmo.33.1713945215019;
        Wed, 24 Apr 2024 00:53:35 -0700 (PDT)
Message-ID: <60cc625c-a6db-465c-acba-b56c799a7502@suse.com>
Date: Wed, 24 Apr 2024 09:53:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <4981c3fb0992898a121881333485004f3609eaf7.1713866519.git.federico.serafini@bugseng.com>
 <17c022d9-245b-449f-96c5-7a29ba782880@suse.com>
 <11b8bbbd-1e22-4eb9-b571-cdd5d2661dfc@bugseng.com>
 <1ea60e22-12d9-432d-9ba9-7dd7b2b7d22b@suse.com>
 <816589b3-5c19-4f1f-80b1-b084a0ac5aec@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <816589b3-5c19-4f1f-80b1-b084a0ac5aec@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 09:37, Federico Serafini wrote:
> On 23/04/24 18:06, Jan Beulich wrote:
>> On 23.04.2024 17:52, Federico Serafini wrote:
>>> On 23/04/24 12:26, Jan Beulich wrote:
>>>> On 23.04.2024 12:02, Federico Serafini wrote:
>>>>> +
>>>>> +   * - R16.4
>>>>> +     - A switch statement with a single switch clause and no default label may
>>>>> +       be used in place of an equivalent if statement if it is considered to
>>>>> +       improve readability."
>>
>> No, I don't think there should be examples in those documents. But those
>> documents should also not (blindly) rely on terminology in the Misra
>> spec, as not everyone has access to that (licensed copies had to be
>> obtained for quite a few of us).
> 
> In deviations.rst there is an identical deviation for Rule 16.6
> ("Every switch statement shall have at least two switch-clauses").
> I think we should remain consistent.

Sure, I'm all for consistency. Yet given the term "switch clause" doesn't
appear in the C standard (afaics), it wants defining somewhere.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711239.1111041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXrh-0002NV-C9; Wed, 24 Apr 2024 08:20:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711239.1111041; Wed, 24 Apr 2024 08: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 1rzXrh-0002NN-8F; Wed, 24 Apr 2024 08:20:29 +0000
Received: by outflank-mailman (input) for mailman id 711239;
 Wed, 24 Apr 2024 08:20: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=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzXrf-0002NH-OZ
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:20:27 +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 808d5b86-0213-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 10:20:26 +0200 (CEST)
Received: by mail-oo1-xc2d.google.com with SMTP id
 006d021491bc7-5ad2da2196aso2829604eaf.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 01:20:26 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 t9-20020ac86a09000000b00436e5e47969sm5885155qtr.54.2024.04.24.01.20.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 01: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: 808d5b86-0213-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713946825; x=1714551625; 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=11bPMkgY4YKA9J4fnUAiPwFi1PyXc6CIsD7wkYqKGGY=;
        b=aTBVgcLV05Og7/CP+eW2I5WSMX/b1jz+oeRIILHnwSlkipDsarWtXbNfdtuFC0kIPM
         5UUO9iBsUNintqFW1zSmCE4SxEX62kgT5Ig5j5+frrTJn65tG/9/L0orRC1Bv61kAOs8
         /ao2WrVuW+XqN9dZFdvTu4kpDx0G45oK1SJOo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713946825; x=1714551625;
        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=11bPMkgY4YKA9J4fnUAiPwFi1PyXc6CIsD7wkYqKGGY=;
        b=ehP+ZB9Oh272lVrKhYd8yURy8l1mKNZycbEtRNYmpoQaUg1co6vFIZXGreTtIMLjBS
         BvZPqXPAGNpQGsJ+eWoP6y6zowjPse0fiFKFKVILOpMef+zr0bIoI7f1lCICf4TWJixh
         O5eYZCkfhhVdqoLpwHFaIQ4/n5njNbSbg+a9KYfdCgRZ0SAhT/CKeJbztQWXamnLFsEj
         8RYhczCuZRsJXhQraDsCN7AExis4TGGmJupdK2mKKEQkvQgZvmibDM4vnO+QV400oZNA
         5Lnx9YbhkLc654udrvXPSMleTed9WLNzRv93c/e/TkqsGc3tPB06B/juVgDWYOZs2qj2
         VjOg==
X-Gm-Message-State: AOJu0YxezB1+D54bn6Lc1rXXRe3igfTjCZPUsKVk1bY9xcjwCRGh4Huo
	+q+sXShxnPmuHen/z9GHZX1wNPvRISRETRACgQShTPFHq2+6B5917ndOCqdBuIvOsS2A26otG2S
	w
X-Google-Smtp-Source: AGHT+IFEaMgEiWWurp4CsP1yRWUiimlCEGJbWgKqE5+Kl1NNBN50bFEFLNxCE9q3wMP3pWa+P1Z0CA==
X-Received: by 2002:a05:6358:b581:b0:17e:a9b7:2636 with SMTP id wa1-20020a056358b58100b0017ea9b72636mr1690809rwc.22.1713946824683;
        Wed, 24 Apr 2024 01:20:24 -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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 0/4] livepatch: minor bug fixes and improvements
Date: Wed, 24 Apr 2024 10:19:53 +0200
Message-ID: <20240424081957.34326-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Following series contain some minor bugfixes and improvements for
livepatch logic, both inside the hypervisor and on the command line
tool.

Thanks, Roger.

Roger Pau Monne (4):
  xen-livepatch: fix parameter name parsing
  livepatch: introduce --force option
  livepatch: refuse to resolve symbols that belong to init sections
  x86/livepatch: perform sanity checks on the payload exception table
    contents

 tools/include/xenctrl.h            |  3 ++-
 tools/libs/ctrl/xc_misc.c          |  7 +++----
 tools/misc/xen-livepatch.c         | 25 +++++++++++++++++++++----
 xen/arch/x86/extable.c             | 18 ++++++++++++++++++
 xen/arch/x86/include/asm/uaccess.h |  3 +++
 xen/common/livepatch.c             | 25 +++++++++++++++++++------
 xen/common/livepatch_elf.c         | 22 +++++++++++++++++++++-
 xen/include/public/sysctl.h        |  4 +++-
 xen/include/xen/livepatch_elf.h    |  2 +-
 9 files changed, 91 insertions(+), 18 deletions(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711241.1111061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXrk-0002qP-Ol; Wed, 24 Apr 2024 08:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711241.1111061; Wed, 24 Apr 2024 08: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 1rzXrk-0002qI-LT; Wed, 24 Apr 2024 08:20:32 +0000
Received: by outflank-mailman (input) for mailman id 711241;
 Wed, 24 Apr 2024 08: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=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzXrj-0002NH-4g
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:20:31 +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 830f22eb-0213-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 10:20:30 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-78f056f928eso449785485a.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 01:20:30 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 z18-20020a0c8f12000000b006a040cdd805sm5956981qvd.92.2024.04.24.01.20.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 01: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: 830f22eb-0213-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713946829; x=1714551629; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wnwUdmhe2HovD60ReLwdLupERb7CD3JyeDkwca37c0A=;
        b=ua0Ua8/54DqIsoFJk375lnT5CN+V82/BCji0pZ21edmyfYaywaE05lDxEgFgqrs9yV
         MpBq2GmslbwbEXvMkhlnKg/N+O/aFbFvta2SiWIO4ihJfg03zH9e5LnwQSwHXsriJ3tP
         moCub7VqEac+RmMR789PRThhguWyNpJGwfXF4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713946829; x=1714551629;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wnwUdmhe2HovD60ReLwdLupERb7CD3JyeDkwca37c0A=;
        b=t6DsLaxY6jDf7NQud4AcX90cMRsLQqsZH5qHfrYp03PCKW+z8XZLPjErYkZC1aAyig
         tvOJipYY1PMLPrNDeMiEyG3KInGWmuZyIJ7blTu3dE4wr83AV6eeLI1Um1JOk+bTYwly
         DNnhbmA/kWCjiWjdMmZaTPo+b4j3Y8pvuSotFqS6/ZMoc+UMByMGSoo2ewZX8ZYDaR+r
         HJecvQ5qUlaXFgG3DrZV8aoarq8MPLbq73dHhrTUOxLb5hW0Hasbioj4/mO76vpl9JjG
         iHLRugaw/pr7cvNiVyZ3yVyYa4C73LwR60f+wcoqTZl2d9JKUHl9EbwScbZccfdxqvuj
         gDLw==
X-Gm-Message-State: AOJu0Yw1UhUYWi1E9YLEQpkiMSnrUnwrH6BQBt8kIZpXtnYusABtNwGp
	3X8043HneQ39dO2SNzBzeImixrCflxirlhy/BCq/sYuUjurKKYygBqt0f8KQmFOyhyb53uBWezV
	4
X-Google-Smtp-Source: AGHT+IEMg2YtE9O7b8Q7YemWnEWbsWp+JoXD0qgf+2czWMoP6hua28mOvtCqaQtuzcRqwnSEm8DtOg==
X-Received: by 2002:a0c:d641:0:b0:69b:54af:cbf with SMTP id e1-20020a0cd641000000b0069b54af0cbfmr1929970qvj.25.1713946828982;
        Wed, 24 Apr 2024 01:20:28 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v4 2/4] livepatch: introduce --force option
Date: Wed, 24 Apr 2024 10:19:55 +0200
Message-ID: <20240424081957.34326-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240424081957.34326-1-roger.pau@citrix.com>
References: <20240424081957.34326-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a xen-livepatch tool --force option, that's propagated into the
hyerpvisor for livepatch operations.  The intention is for the option to be
used to bypass some checks that would otherwise prevent the patch from being
loaded.

Re purpose the pad field in xen_sysctl_livepatch_op to be a flags field that
applies to all livepatch operations.  The flag is currently only set by the
hypercall wrappers for the XEN_SYSCTL_LIVEPATCH_UPLOAD operation, as that's so
far the only one where it will be used initially.  Other uses can be added as
required.

Note that helpers would set the .pad field to 0, that's been removed since the
structure is already zero initialized at definition.

No functional usages of the new flag introduced in this patch.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
Changes since v3:
 - Use strcmp instead of strncmp.

Changes since v2:
 - New in this version.
---
 tools/include/xenctrl.h     |  3 ++-
 tools/libs/ctrl/xc_misc.c   |  7 +++----
 tools/misc/xen-livepatch.c  | 21 +++++++++++++++++++--
 xen/common/livepatch.c      |  3 ++-
 xen/include/public/sysctl.h |  4 +++-
 5 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e05422..499685594427 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2555,7 +2555,8 @@ int xc_psr_get_hw_info(xc_interface *xch, uint32_t socket,
 #endif
 
 int xc_livepatch_upload(xc_interface *xch,
-                        char *name, unsigned char *payload, uint32_t size);
+                        char *name, unsigned char *payload, uint32_t size,
+                        bool force);
 
 int xc_livepatch_get(xc_interface *xch,
                      char *name,
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 5ecdfa2c7934..50282fd60dcc 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -576,7 +576,8 @@ int xc_getcpuinfo(xc_interface *xch, int max_cpus,
 int xc_livepatch_upload(xc_interface *xch,
                         char *name,
                         unsigned char *payload,
-                        uint32_t size)
+                        uint32_t size,
+                        bool force)
 {
     int rc;
     struct xen_sysctl sysctl = {};
@@ -612,7 +613,7 @@ int xc_livepatch_upload(xc_interface *xch,
 
     sysctl.cmd = XEN_SYSCTL_livepatch_op;
     sysctl.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_UPLOAD;
-    sysctl.u.livepatch.pad = 0;
+    sysctl.u.livepatch.flags = force ? LIVEPATCH_FLAG_FORCE : 0;
     sysctl.u.livepatch.u.upload.size = size;
     set_xen_guest_handle(sysctl.u.livepatch.u.upload.payload, local);
 
@@ -656,7 +657,6 @@ int xc_livepatch_get(xc_interface *xch,
 
     sysctl.cmd = XEN_SYSCTL_livepatch_op;
     sysctl.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_GET;
-    sysctl.u.livepatch.pad = 0;
 
     sysctl.u.livepatch.u.get.status.state = 0;
     sysctl.u.livepatch.u.get.status.rc = 0;
@@ -985,7 +985,6 @@ static int _xc_livepatch_action(xc_interface *xch,
 
     sysctl.cmd = XEN_SYSCTL_livepatch_op;
     sysctl.u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_ACTION;
-    sysctl.u.livepatch.pad = 0;
     sysctl.u.livepatch.u.action.cmd = action;
     sysctl.u.livepatch.u.action.timeout = timeout;
     sysctl.u.livepatch.u.action.flags = flags;
diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index 2c4f69e596fa..c16fb6862d6c 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -19,11 +19,15 @@
 
 static xc_interface *xch;
 
+/* Global option to disable checks. */
+static bool force;
+
 void show_help(void)
 {
     fprintf(stderr,
             "xen-livepatch: live patching tool\n"
-            "Usage: xen-livepatch <command> [args] [command-flags]\n"
+            "Usage: xen-livepatch [--force] <command> [args] [command-flags]\n"
+            " Use --force option to bypass some checks.\n"
             " <name> An unique name of payload. Up to %d characters.\n"
             "Commands:\n"
             "  help                   display this help\n"
@@ -240,7 +244,7 @@ static int upload_func(int argc, char *argv[])
         return saved_errno;
     }
     printf("Uploading %s... ", filename);
-    rc = xc_livepatch_upload(xch, name, fbuf, len);
+    rc = xc_livepatch_upload(xch, name, fbuf, len, force);
     if ( rc )
     {
         rc = errno;
@@ -571,6 +575,19 @@ int main(int argc, char *argv[])
         show_help();
         return 0;
     }
+
+    if ( strcmp("--force", argv[1]) )
+    {
+        if ( argc <= 2 )
+        {
+            show_help();
+            return EXIT_FAILURE;
+        }
+        force = true;
+        argv++;
+        argc--;
+    }
+
     for ( i = 0; i < ARRAY_SIZE(main_options); i++ )
         if (!strcmp(main_options[i].name, argv[1]))
             break;
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 351a3e0b9a60..502e264bc6fe 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -2125,7 +2125,8 @@ int livepatch_op(struct xen_sysctl_livepatch_op *livepatch)
 {
     int rc;
 
-    if ( livepatch->pad )
+    if ( (livepatch->flags & ~LIVEPATCH_FLAGS_MASK) &&
+         !(livepatch->flags & LIVEPATCH_FLAG_FORCE) )
         return -EINVAL;
 
     switch ( livepatch->cmd )
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 9b19679caeb1..febaa4b16ab7 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1139,7 +1139,9 @@ struct xen_sysctl_livepatch_action {
 
 struct xen_sysctl_livepatch_op {
     uint32_t cmd;                           /* IN: XEN_SYSCTL_LIVEPATCH_*. */
-    uint32_t pad;                           /* IN: Always zero. */
+    uint32_t flags;                         /* IN, flags. */
+#define LIVEPATCH_FLAG_FORCE      (1u << 0) /* Skip some checks. */
+#define LIVEPATCH_FLAGS_MASK      LIVEPATCH_FLAG_FORCE
     union {
         struct xen_sysctl_livepatch_upload upload;
         struct xen_sysctl_livepatch_list list;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711243.1111078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXrq-0003CI-DM; Wed, 24 Apr 2024 08:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711243.1111078; Wed, 24 Apr 2024 08:20:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXrq-0003Ax-5p; Wed, 24 Apr 2024 08:20:38 +0000
Received: by outflank-mailman (input) for mailman id 711243;
 Wed, 24 Apr 2024 08:20:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzXrp-00036k-Hb
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:20:37 +0000
Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com
 [2607:f8b0:4864:20::730])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8591801c-0213-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 10:20:34 +0200 (CEST)
Received: by mail-qk1-x730.google.com with SMTP id
 af79cd13be357-78efd533a00so444353885a.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 01:20:34 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 l12-20020a0ce08c000000b0069b5acd4645sm5871886qvk.82.2024.04.24.01.20.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 01:20: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: 8591801c-0213-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713946833; x=1714551633; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4lFgzIk6mZ1hK8DHBScfuOqV/62To3zJaq3BcFXOAmo=;
        b=Gg0cs7AgbI9J5FdGPB/670nH2Unc5NtTUnUUbPVZL+b2Rwz0EpEum4a5jGjBPUHImF
         +29Dp7GT2WuSLY0gCvZ8eHpPsGtOwBrQK4fbX9IlaTZq1lZw5bXpMtXSrWYyl3oNuOCh
         E0UlR4is8+RPonVlnHEh+r15alJ+0uW/xu9U8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713946833; x=1714551633;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4lFgzIk6mZ1hK8DHBScfuOqV/62To3zJaq3BcFXOAmo=;
        b=cLFeA6xZO7bqU8Xd01aDlex4IVV7A+QYF9IVOBNHQPcpg32LUQB4hHS57Xpk2wCslv
         RZejmxsAq9nyaE5KuGhTbCvp8l0PUEonRQ2uSRvFyXTZIeVZnSYrdJBLe26bIikXiDrt
         t9ZCAqJpgHyv3RnoG+UmLB3GuEqIMLMga/q2k4f5lQ0g+Iw7UQUYCSKQ7qj08dzBSeNb
         87qxsyzzPFAGPo28B50tVLvaArP1XOFStrqPQRg7PAhOGBrHhd/+F0X5yZ821ngRU5Vy
         IkOKgyn148x10ZSqXTZ7QY8Edv5muxrw8x3ZU5hJISFvp3oWNDIEnLC9Ic29V1UjsvoZ
         hc5Q==
X-Gm-Message-State: AOJu0YzTD32DKynn1/5d47oPoAfWVpqj4MSuC9qdbiPtCMnW8qdgEv4D
	xiUSowmFH2y464vPFTfsfNghu/V2VCqva2RzzK38X55M0MbmZzMk4hv9aY9JdORtFXdAYueD53x
	q
X-Google-Smtp-Source: AGHT+IGAQiFVzxoC2tanv9/dm+qDX0AQlAsVwIh40thEXLwFBuMgBMHWXGSFx11D10jHFM8QNjFSuw==
X-Received: by 2002:a0c:ee65:0:b0:6a0:9770:39c2 with SMTP id n5-20020a0cee65000000b006a0977039c2mr471589qvs.54.1713946833378;
        Wed, 24 Apr 2024 01:20:33 -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 v4 4/4] x86/livepatch: perform sanity checks on the payload exception table contents
Date: Wed, 24 Apr 2024 10:19:57 +0200
Message-ID: <20240424081957.34326-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240424081957.34326-1-roger.pau@citrix.com>
References: <20240424081957.34326-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ensure the entries of a payload exception table only apply to text regions in
the payload itself.  Since the payload exception table needs to be loaded and
active even before a patch is applied (because hooks might already rely on it),
make sure the exception table (if any) only contains fixups for the payload
text section.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v3:
 - Rename to extable_in_bounds().
 - Use _p() instead of casting to void *.

Changes since v2:
 - New in this version.
---
 xen/arch/x86/extable.c             | 18 ++++++++++++++++++
 xen/arch/x86/include/asm/uaccess.h |  3 +++
 xen/common/livepatch.c             |  9 +++++++++
 3 files changed, 30 insertions(+)

diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index 8415cd1fa249..2be090b92df8 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -228,3 +228,21 @@ unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs)
     }
     return fixup;
 }
+
+#ifdef CONFIG_LIVEPATCH
+bool extable_in_bounds(const struct exception_table_entry *ex_start,
+                       const struct exception_table_entry *ex_end,
+                       const void *start, const void *end)
+{
+    for ( ; ex_start < ex_end; ex_start++ )
+    {
+        const void *addr = _p(ex_addr(ex_start));
+        const void *cont = _p(ex_cont(ex_start));
+
+        if ( addr < start || addr >= end || cont < start || cont >= end )
+            return false;
+    }
+
+    return true;
+}
+#endif
diff --git a/xen/arch/x86/include/asm/uaccess.h b/xen/arch/x86/include/asm/uaccess.h
index 48b684c19d44..4995edfdd8db 100644
--- a/xen/arch/x86/include/asm/uaccess.h
+++ b/xen/arch/x86/include/asm/uaccess.h
@@ -426,5 +426,8 @@ extern unsigned long search_exception_table(const struct cpu_user_regs *regs,
 extern void sort_exception_tables(void);
 extern void sort_exception_table(struct exception_table_entry *start,
                                  const struct exception_table_entry *stop);
+extern bool extable_in_bounds(const struct exception_table_entry *ex_start,
+                              const struct exception_table_entry *ex_end,
+                              const void *start, const void *end);
 
 #endif /* __X86_UACCESS_H__ */
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 1afde0281402..4702c06902a9 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -912,6 +912,15 @@ static int prepare_payload(struct payload *payload,
         s = sec->load_addr;
         e = sec->load_addr + sec->sec->sh_size;
 
+        if ( !extable_in_bounds(s, e, payload->text_addr,
+                                payload->text_addr + payload->text_size) )
+        {
+            printk(XENLOG_ERR LIVEPATCH
+                   "%s: Invalid exception table with out of bounds entries\n",
+                   elf->name);
+            return -EINVAL;
+        }
+
         sort_exception_table(s ,e);
 
         region->ex = s;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711242.1111071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXrq-000391-0M; Wed, 24 Apr 2024 08:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711242.1111071; Wed, 24 Apr 2024 08:20:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXrp-00038u-TO; Wed, 24 Apr 2024 08:20:37 +0000
Received: by outflank-mailman (input) for mailman id 711242;
 Wed, 24 Apr 2024 08:20:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzXrp-00036k-Ab
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:20:37 +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 84a9f2d1-0213-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 10:20:33 +0200 (CEST)
Received: by mail-oo1-xc30.google.com with SMTP id
 006d021491bc7-5acfba298d5so2776536eaf.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 01:20:33 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 r6-20020ac87ee6000000b00439c1419553sm2297599qtc.44.2024.04.24.01.20.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 01:20: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: 84a9f2d1-0213-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713946831; x=1714551631; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=izhPhXdYNwBKIoYTrQpLOp1F6ua4vMICerQToCRzrMU=;
        b=GHtv3ZSG/ePkNuogO3SH1tAaQtrCIG8BCEY+gy1w4Ti4HIxNtPkUBtOLuLWPOawQAW
         gic1zohAXzt9OkszQ0N4YrRlTtxIIYzCIUAAiFp/d/bBl69gvDJ5ssx7Ecgo+PGoewPW
         gaZOHIoHWBxr5uileCrwvTBHs6+EJlmvVV98g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713946831; x=1714551631;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=izhPhXdYNwBKIoYTrQpLOp1F6ua4vMICerQToCRzrMU=;
        b=ZkmSq/1nvM9f8ceW7eD/hOb9WmYLQlQcSs+E/acMQo7bIDXEvk70NeoSAFDK+TLdPL
         UIimaEH/PfCvR23PBO7pucIj9TiFv5XOBPt3zw+OZlzlcswfXlWRXom+3h7zBAHH7Ez5
         tMerEIBng0GMku+verfSRx5+sqF/M0NYIlD6hzTnJcwBR7Ei7+T30WL69zhNctbu0/XB
         USrdauef2E+6IfV2P18oVMnn9wa3rAoz5AA/DeSS3qgjEA1MRAiUI5iXTwCdLLZtDJSA
         DytAG++0QfFmIvCL//DfgR2v30Bfdc2Clgk/EFWp0UXIWopn4p7LUFaC5JetUiIDwBvd
         ztrA==
X-Gm-Message-State: AOJu0Yz7I5Kt8lqMave8RRgfeaI/2+etmgY3ti7LaEDGEYmprKtGS6ux
	qGnh8rsoZ2UY3wyf1QYn4FLUKrmOOyRx0LIPk/0AuO+2TWYaN2rcnKWG9o9mca/k8f4EEa4dpop
	+
X-Google-Smtp-Source: AGHT+IE/xJqw4SXSQuJCc5///7KaSBqirYeYlFxooMZu8tPDC8bF0vBklOYa9Hhaw+vlLWCEcsXLEQ==
X-Received: by 2002:a05:6359:5181:b0:18b:2802:917 with SMTP id od1-20020a056359518100b0018b28020917mr1294641rwb.30.1713946831218;
        Wed, 24 Apr 2024 01:20:31 -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 v4 3/4] livepatch: refuse to resolve symbols that belong to init sections
Date: Wed, 24 Apr 2024 10:19:56 +0200
Message-ID: <20240424081957.34326-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240424081957.34326-1-roger.pau@citrix.com>
References: <20240424081957.34326-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Livepatch payloads containing symbols that belong to init sections can only
lead to page faults later on, as by the time the livepatch is loaded init
sections have already been freed.

Refuse to resolve such symbols and return an error instead.

Note such resolutions are only relevant for symbols that point to undefined
sections (SHN_UNDEF), as that implies the symbol is not in the current payload
and hence must either be a Xen or a different livepatch payload symbol.

Do not allow to resolve symbols that point to __init_begin, as that address is
also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
resolutions against it.

Since __init_begin can alias other symbols (like _erodata for example)
allow the force flag to override the check and resolve the symbol anyway.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Print warning message even when using the force option.

Changes since v2:
 - Allow bypassing added check with the force flag.

Changes since v1:
 - Fix off-by-one in range checking.
---
 xen/common/livepatch.c          | 13 ++++++++-----
 xen/common/livepatch_elf.c      | 22 +++++++++++++++++++++-
 xen/include/xen/livepatch_elf.h |  2 +-
 3 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 502e264bc6fe..1afde0281402 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -1080,7 +1080,8 @@ static void free_payload(struct payload *data)
     xfree(data);
 }
 
-static int load_payload_data(struct payload *payload, void *raw, size_t len)
+static int load_payload_data(struct payload *payload, void *raw, size_t len,
+                             bool force)
 {
     struct livepatch_elf elf = { .name = payload->name, .len = len };
     int rc = 0;
@@ -1093,7 +1094,7 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
-    rc = livepatch_elf_resolve_symbols(&elf);
+    rc = livepatch_elf_resolve_symbols(&elf, force);
     if ( rc )
         goto out;
 
@@ -1133,7 +1134,8 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     return rc;
 }
 
-static int livepatch_upload(struct xen_sysctl_livepatch_upload *upload)
+static int livepatch_upload(struct xen_sysctl_livepatch_upload *upload,
+                            bool force)
 {
     struct payload *data, *found;
     char n[XEN_LIVEPATCH_NAME_SIZE];
@@ -1162,7 +1164,7 @@ static int livepatch_upload(struct xen_sysctl_livepatch_upload *upload)
     {
         memcpy(data->name, n, strlen(n));
 
-        rc = load_payload_data(data, raw_data, upload->size);
+        rc = load_payload_data(data, raw_data, upload->size, force);
         if ( rc )
             goto out;
 
@@ -2132,7 +2134,8 @@ int livepatch_op(struct xen_sysctl_livepatch_op *livepatch)
     switch ( livepatch->cmd )
     {
     case XEN_SYSCTL_LIVEPATCH_UPLOAD:
-        rc = livepatch_upload(&livepatch->u.upload);
+        rc = livepatch_upload(&livepatch->u.upload,
+                              livepatch->flags & LIVEPATCH_FLAG_FORCE);
         break;
 
     case XEN_SYSCTL_LIVEPATCH_GET:
diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
index 45d73912a3cd..1d0ed8f99bcc 100644
--- a/xen/common/livepatch_elf.c
+++ b/xen/common/livepatch_elf.c
@@ -4,6 +4,7 @@
 
 #include <xen/errno.h>
 #include <xen/lib.h>
+#include <xen/sections.h>
 #include <xen/symbols.h>
 #include <xen/livepatch_elf.h>
 #include <xen/livepatch.h>
@@ -276,7 +277,7 @@ static int elf_get_sym(struct livepatch_elf *elf, const void *data)
     return 0;
 }
 
-int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
+int livepatch_elf_resolve_symbols(struct livepatch_elf *elf, bool force)
 {
     unsigned int i;
     int rc = 0;
@@ -310,6 +311,25 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
                     break;
                 }
             }
+
+            /*
+             * Ensure not an init symbol.  Only applicable to Xen symbols, as
+             * livepatch payloads don't have init sections or equivalent.
+             */
+            else if ( st_value >= (uintptr_t)&__init_begin &&
+                      st_value <  (uintptr_t)&__init_end )
+            {
+                printk("%s" LIVEPATCH "%s: symbol %s is in init section%s\n",
+                       force ? XENLOG_WARNING : XENLOG_ERR,
+                       elf->name, elf->sym[i].name,
+                       force ? "" : ", not resolving");
+                if ( !force )
+                {
+                    rc = -ENXIO;
+                    break;
+                }
+            }
+
             dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Undefined symbol resolved: %s => %#"PRIxElfAddr"\n",
                     elf->name, elf->sym[i].name, st_value);
             break;
diff --git a/xen/include/xen/livepatch_elf.h b/xen/include/xen/livepatch_elf.h
index 7116deaddc28..84e9c5eb7be5 100644
--- a/xen/include/xen/livepatch_elf.h
+++ b/xen/include/xen/livepatch_elf.h
@@ -44,7 +44,7 @@ livepatch_elf_sec_by_name(const struct livepatch_elf *elf,
 int livepatch_elf_load(struct livepatch_elf *elf, const void *data);
 void livepatch_elf_free(struct livepatch_elf *elf);
 
-int livepatch_elf_resolve_symbols(struct livepatch_elf *elf);
+int livepatch_elf_resolve_symbols(struct livepatch_elf *elf, bool force);
 int livepatch_elf_perform_relocs(struct livepatch_elf *elf);
 
 static inline bool livepatch_elf_ignore_section(const Elf_Shdr *sec)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:20:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711240.1111051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXri-0002bj-HZ; Wed, 24 Apr 2024 08:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711240.1111051; Wed, 24 Apr 2024 08:20: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 1rzXri-0002bc-EZ; Wed, 24 Apr 2024 08:20:30 +0000
Received: by outflank-mailman (input) for mailman id 711240;
 Wed, 24 Apr 2024 08:20: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=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzXrh-0002NH-8F
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:20:29 +0000
Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com
 [2607:f8b0:4864:20::72e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 820acc2e-0213-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 10:20:28 +0200 (CEST)
Received: by mail-qk1-x72e.google.com with SMTP id
 af79cd13be357-79068f4da67so318491685a.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 01:20:28 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 p3-20020a05620a112300b0078ed3667cb8sm5934100qkk.124.2024.04.24.01.20.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 01:20: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: 820acc2e-0213-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713946827; x=1714551627; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MT0tq5z1vG1kax3lKu9NSCLY0591HEmhAata8IXOu1w=;
        b=mjgp4M9M6isajzr++U34UQPAiHZDhe6+iNGJ29JEaksfGh0tT7Fg9CYowJEr2S7OoS
         WP471gtbDBhwssSKDyvFH+CZ8Z8Iy7HiXHsG06/7xbWPapcsX8XWIaprVgBNSg5la8Ih
         ZGg9M67eMvhzX9IE/WwhCJorzrx0/ZvNUMbdI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713946827; x=1714551627;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MT0tq5z1vG1kax3lKu9NSCLY0591HEmhAata8IXOu1w=;
        b=g0uQZQMaedZ4d7mMdngzdKdeHWxSwFxlNNT7Lz1lof1BvxKbqOWJ4avnPtPpPyHL9J
         Vp9zDsDzpwaFc1nDwh+8nQa9A0GwiWum6Tl2SKnvLYZLsuEQadW8mPXovXsy6+0N/EeO
         vGlqBVjdA+ekIYL2EadMB2TLMp8kJN+j/85BcV5d0zyCAOgssTPjApXTK9uyOZl87qpZ
         YCLpAKX8FA3DAMwd0+nksWB+2DGMW0EGyKgGz7xAbBvcogtjuTerJInddoOKBCSClkWE
         EHVHQ/kzc8a87ja3+BA513f/AL9iahSNOKXPDNUc6e+SAGVDrGxh2vzc1MNbQZf0xQEu
         SAxw==
X-Gm-Message-State: AOJu0YwZUIvgJKe+BC2VYeVFzr17hntSgRMvAum5Jheztr3HIADO0UZ0
	dlqPb3nNOhE2QySeRehLvuKiPhHQnsR6g1VuOK0jopFgg6juI/c9gYeblIU8FKykQv0melFjXv3
	Z
X-Google-Smtp-Source: AGHT+IF3LqOybzJduhH7B0w5OzGjPnZVgZn5dJKlwQVCdPCAxQcC6Md5Xd2D3gGEw7mhbtMt90iI9A==
X-Received: by 2002:a05:620a:60c3:b0:78d:616a:9593 with SMTP id dy3-20020a05620a60c300b0078d616a9593mr1908646qkb.64.1713946826753;
        Wed, 24 Apr 2024 01:20: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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 1/4] xen-livepatch: fix parameter name parsing
Date: Wed, 24 Apr 2024 10:19:54 +0200
Message-ID: <20240424081957.34326-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240424081957.34326-1-roger.pau@citrix.com>
References: <20240424081957.34326-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It's incorrect to restrict strncmp to the length of the command line input
parameter, as then a user passing a rune like:

% xen-livepatch up foo.livepatch

Would match against the "upload" command, because the string comparison has
been truncated to the length of the input argument.  Use strcmp instead which
doesn't truncate.  Otherwise in order to keep using strncmp we would need to
also check strings are of the same length before doing the comparison.

Fixes: 05bb8afedede ('xen-xsplice: Tool to manipulate xsplice payloads')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Use strcmp.

Changes since v2:
 - New in this version.
---
 tools/misc/xen-livepatch.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index 5bf9d9a32b65..2c4f69e596fa 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -572,13 +572,13 @@ int main(int argc, char *argv[])
         return 0;
     }
     for ( i = 0; i < ARRAY_SIZE(main_options); i++ )
-        if (!strncmp(main_options[i].name, argv[1], strlen(argv[1])))
+        if (!strcmp(main_options[i].name, argv[1]))
             break;
 
     if ( i == ARRAY_SIZE(main_options) )
     {
         for ( j = 0; j < ARRAY_SIZE(action_options); j++ )
-            if (!strncmp(action_options[j].name, argv[1], strlen(argv[1])))
+            if (!strcmp(action_options[j].name, argv[1]))
                 break;
 
         if ( j == ARRAY_SIZE(action_options) )
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711259.1111091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzXwp-00062z-0W; Wed, 24 Apr 2024 08:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711259.1111091; Wed, 24 Apr 2024 08: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 1rzXwo-00062s-U6; Wed, 24 Apr 2024 08:25:46 +0000
Received: by outflank-mailman (input) for mailman id 711259;
 Wed, 24 Apr 2024 08: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=S7Hn=L5=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzXwn-00062m-Gl
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:25:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3dcfaf63-0214-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 10:25:43 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 9FC4B4EE0739;
 Wed, 24 Apr 2024 10:25: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: 3dcfaf63-0214-11ef-b4bb-af5377834399
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012 Rule 16.4
Date: Wed, 24 Apr 2024 10:25:36 +0200
Message-Id: <310e1dac8ecf2a85f1c552dbdad9093b1cfdcb98.1713946892.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to take into account the deviations
agreed during MISRA meetings for Rule 16.4.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl |  8 ++++++++
 docs/misra/deviations.rst                        | 13 +++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d21f112a9b..f09ad71acf 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -384,6 +384,14 @@ explicit comment indicating the fallthrough intention is present."
 -config=MC3R1.R16.3,reports+={safe, "any_area(end_loc(any_exp(text(^(?s).*/\\* [fF]all ?through.? \\*/.*$,0..1))))"}
 -doc_end
 
+-doc_begin="Switch statements having a controlling expression of enum type deliberately do not have a default case: gcc -Wall enables -Wswitch which warns (and breaks the build as we use -Werror) if one of the enum labels is missing from the switch."
+-config=MC3R1.R16.4,reports+={deliberate,'any_area(kind(context)&&^.* has no `default.*$&&stmt(node(switch_stmt)&&child(cond,skip(__non_syntactic_paren_stmts,type(canonical(enum_underlying_type(any())))))))'}
+-doc_end
+
+-doc_begin="A switch statement with a single switch clause and no default label may be used in place of an equivalent if statement if it is considered to improve readability."
+-config=MC3R1.R16.4,switch_clauses+={deliberate,"switch(1)&&default(0)"}
+-doc_end
+
 -doc_begin="A switch statement with a single switch clause and no default label may be used in place of an equivalent if statement if it is considered to improve readability."
 -config=MC3R1.R16.6,switch_clauses+={deliberate, "default(0)"}
 -doc_end
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index ed0c1e8ed0..39cc321a27 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -334,6 +334,19 @@ Deviations related to MISRA C:2012 Rules:
          - /\* Fallthrough \*/
          - /\* Fallthrough. \*/
 
+   * - R16.4
+     - Switch statements having a controlling expression of enum type
+       deliberately do not have a default case: gcc -Wall enables -Wswitch
+       which warns (and breaks the build as we use -Werror) if one of the enum
+       labels is missing from the switch.
+     - Tagged as `deliberate` for ECLAIR.
+
+   * - R16.4
+     - A switch statement with a single switch clause and no default label may
+       be used in place of an equivalent if statement if it is considered to
+       improve readability.
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R16.6
      - A switch statement with a single switch clause and no default label may
        be used in place of an equivalent if statement if it is considered to
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:30:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:30:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711273.1111101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzY1k-0007Wm-Iu; Wed, 24 Apr 2024 08:30:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711273.1111101; Wed, 24 Apr 2024 08: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 1rzY1k-0007Wf-Fk; Wed, 24 Apr 2024 08:30:52 +0000
Received: by outflank-mailman (input) for mailman id 711273;
 Wed, 24 Apr 2024 08:30:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzY1i-0007WZ-MR
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:30:50 +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 f4430117-0214-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 10:30:49 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-34b64b7728cso1557503f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 01:30: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
 e18-20020a056000195200b003462fec9f5asm16471098wry.62.2024.04.24.01.30.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 01:30:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4430117-0214-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713947449; x=1714552249; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yALFlN0lnYc4Oa8S6w+Yss8st2VUPp9acwoJPT0LKUk=;
        b=GPOxhfkmrMrQZfiC7uX0MFKe6akcepb9U9uiMtnxPCaLAIQ5KL7JlRJzipVaR227S8
         oYtwgct31zh5HGhrZfeQY8qM4hm+8TOQFcqbSRh0BK36N0qJMIgFVW6mzyzQYoX9kn3X
         jowjnrgGYkMQOjMIMsFpgRQIhdJQYCxg9UjKzxsgv2RHnoIYzbdo7TCJiqC5DxzbSzxk
         pRpL1hHee2gakfyCH4kjxlmL22Uj/Ej3YxhGV7llIs+xWANDRTL56imqEOE7RKkOn1ui
         1AOMdpP7R3wVLUItEmmRKQu81Ont2u6UHzQdyqnn826av/QyqRfdobXho5Mq0WJdRH7y
         Fbmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713947449; x=1714552249;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yALFlN0lnYc4Oa8S6w+Yss8st2VUPp9acwoJPT0LKUk=;
        b=P2c/Wiabtkz958mJ1jTBpJUKLzwq0OYK447iNZyHcG6RmyWXjHARyIS4SQaPzmkUn6
         EGoZvIpPUem41iUpG8GOpgP9f2oOLmTRm9IJwRVTrkXQ9wr5/qLZ+GDCj3HqwvI5Lm8O
         n8xd15m2/Rx2+AQ0/eek+PY25EroFdwXGFVajPo3wLgGA5ZTpBKQ6MQ44paoHakW/FvF
         Pq3onHAcwFyFZN89E4mS1Dv6eal/jss6wNlPTRfqaQTolHvwFUaFqqHq3EedzA7MzfxV
         AAWQxnDwK5bFytQU+3CeMZ1Y7rJoSo+g3t898uHm/D0kcS5nBgZ/gdDz8kgwvQoF506k
         Dv7Q==
X-Forwarded-Encrypted: i=1; AJvYcCUsv/9BCMlpa5kU7z0BdlUUw6qdvAKboTRLGnwOCzowy0/vNdC5KpFYkZ3I5msQSHGxTmhZFMuzVp4UIaEIIFAdzLYpQryHup8vLjr7kSM=
X-Gm-Message-State: AOJu0Yye9MyhOn2oqPEfNU5zjw4v6F2MayNSQLGLBHZ1a45pY0DJ0MBA
	a+g0162wf9U3imQmjr6yB5zEJtjy1hQ9uGfoWVu8VOaqkc14dp0w+u8FiUHCZQ==
X-Google-Smtp-Source: AGHT+IH58ot+ywu5JRc8bDr1prg37z3jTvTQUznvYbC6AdBi0W9EB/QAzaHjQVGJf+eataor7Dk1Mw==
X-Received: by 2002:a05:6000:1205:b0:346:c0f6:8b6 with SMTP id e5-20020a056000120500b00346c0f608b6mr1056508wrx.32.1713947448819;
        Wed, 24 Apr 2024 01:30:48 -0700 (PDT)
Message-ID: <891c21cf-695a-4b1d-b10b-53f23199380f@suse.com>
Date: Wed, 24 Apr 2024 10:30:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <310e1dac8ecf2a85f1c552dbdad9093b1cfdcb98.1713946892.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <310e1dac8ecf2a85f1c552dbdad9093b1cfdcb98.1713946892.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 10:25, Federico Serafini wrote:
> Update ECLAIR configuration to take into account the deviations
> agreed during MISRA meetings for Rule 16.4.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl |  8 ++++++++
>  docs/misra/deviations.rst                        | 13 +++++++++++++
>  2 files changed, 21 insertions(+)
> 

So what has changed here from v1? It looks all the same to me, with it still
remaining unclear what exactly ...

> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -334,6 +334,19 @@ Deviations related to MISRA C:2012 Rules:
>           - /\* Fallthrough \*/
>           - /\* Fallthrough. \*/
>  
> +   * - R16.4
> +     - Switch statements having a controlling expression of enum type
> +       deliberately do not have a default case: gcc -Wall enables -Wswitch
> +       which warns (and breaks the build as we use -Werror) if one of the enum
> +       labels is missing from the switch.
> +     - Tagged as `deliberate` for ECLAIR.
> +
> +   * - R16.4
> +     - A switch statement with a single switch clause and no default label may
> +       be used in place of an equivalent if statement if it is considered to
> +       improve readability.
> +     - Tagged as `deliberate` for ECLAIR.
> +
>     * - R16.6
>       - A switch statement with a single switch clause and no default label may
>         be used in place of an equivalent if statement if it is considered to

... a "switch clause" is.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 08:49:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 08:49:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711279.1111111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzYJa-0002SQ-24; Wed, 24 Apr 2024 08:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711279.1111111; Wed, 24 Apr 2024 08:49:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzYJZ-0002SJ-UE; Wed, 24 Apr 2024 08:49:17 +0000
Received: by outflank-mailman (input) for mailman id 711279;
 Wed, 24 Apr 2024 08:49: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzYJY-0002SD-Fn
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 08:49:16 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86755401-0217-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 10:49:15 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-41af670176cso4337005e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 01:49: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
 s7-20020a05600c45c700b0041aa570bcd3sm6050177wmo.35.2024.04.24.01.49.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 01: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: 86755401-0217-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713948553; x=1714553353; 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=PCK75PkcxXAGzZQmBrEXCGOwASWBfQvDG3OfwM5znzk=;
        b=ExjGeMf1wYyHURsQDGZUKUrkEQ5R/jaCItuB9kan8BlGvrNiZlfOPrmAi42CO5p42Y
         flrbWn6aimLW16FCEahw3QMFYOAE/vFqfSN/NSa7oMDD0WWvJ6dXLl3LmNZyho85Z6oe
         wfESq3aqA8GQOJuwNPupN9rYQiAzJuuT8w+XB4cqvJ7em6gyLQpY3fSNWuAPqMM0NwSL
         xFyRCSJxm8c2QjKp7WPH74NtnOM9apU+sES7sBTo4RM99rJhmSzgSOKSB/XdLQU91hYM
         oLkgDEG8rR/nDCNnYjWERnbU51hQBhWiAL65KSXLrW0kFB4gTsLZo42LbQRORg3V95PX
         NUlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713948553; x=1714553353;
        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=PCK75PkcxXAGzZQmBrEXCGOwASWBfQvDG3OfwM5znzk=;
        b=fYGjK5e2XXpSQSclED/rkse1qBAGblYxNF416rTuS5vyJjVKjaTVuzyifjr0nJAvnW
         r/kVFL8ID3eRm5oij41reUiR7uHbQzV1kyX52fiKCGXFyYMQhYUBav/0WXqqP6sKCaqn
         xAk/OMoKifQz8vQTPO3+dRQQY66sxcN4viNOkDXweSJImF9j+oOzoPl+O3MzSoN8o8d2
         EiEnouFth16ncIeRz1Wc5pQ6pjIg27a5//FnHItOVOpQnBfGWnd5VqOSHDdwQiB12H6O
         ni+/3RkQpWJLFu0ejEZhYB+mez0n6ZYOjNjBdbcA3t182JpXGcBHQMWWZWosOsVZGaSk
         RJog==
X-Forwarded-Encrypted: i=1; AJvYcCX3sdgWXlCTW/BLEmoqA7jSQEYqWZSFui0w+bvgrUceG1UQ8XUZ1RZkpatOwytzby1EJC/+blszlq/SsvTrYBTGNOlkduNocl+AKPTu6fw=
X-Gm-Message-State: AOJu0YykMLLF9DlMHU+c5tc1yVjVRJmQw6fABZUIyeZtZL1dAj2X4OuK
	29/T8MOioZP2wFwrTVoGi2NuQ1cpanWNOMmx1VZWOOaNwbAsBLo91K1i6+s+wg==
X-Google-Smtp-Source: AGHT+IEDL3jPB3OkoBDZgDeI7KKpaB8hSCPLWfiXfWh7HelsY6x8Dtgi6JyTOA948FGiPYVQ7lBBsg==
X-Received: by 2002:a05:600c:5253:b0:41b:13d5:7da9 with SMTP id fc19-20020a05600c525300b0041b13d57da9mr445997wmb.38.1713948553029;
        Wed, 24 Apr 2024 01:49:13 -0700 (PDT)
Message-ID: <e4a78b6f-8c74-4da8-a0c3-fc5b9ca8c24d@suse.com>
Date: Wed, 24 Apr 2024 10:49:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] x86/P2M: write_p2m_entry() is HVM-only anyway
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <296c3ecc-b04d-4734-a451-0d4f9ed312d4@suse.com>
 <c38e488c-a3fb-4fcb-bd8c-b33c3fbfc2fa@citrix.com>
 <92860d34-2b8b-4fe8-bf13-31c993620006@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: <92860d34-2b8b-4fe8-bf13-31c993620006@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 08:36, Jan Beulich wrote:
> On 23.04.2024 21:29, Andrew Cooper wrote:
>> On 23/04/2024 3:31 pm, Jan Beulich wrote:
>>> The latest as of e2b2ff677958 ("x86/P2M: split out init/teardown
>>> functions") the function is obviously unreachable for PV guests.
>>
>> This doesn't parse.  Do you mean "Since e2b2ff677958 ..." ?
> 
> Well. I'm sure you at least get the point of "the lastest as of", even
> if that may not be proper English. I specifically didn't use "since"
> because the fact mentioned may have been true before (more or less
> obviously). I'd therefore appreciate a wording suggestion which gets
> this across.
> 
>>>  Hence
>>> the paging_mode_enabled(d) check is pointless.
>>>
>>> Further host mode of a vCPU is always set, by virtue of
>>> paging_vcpu_init() being part of vCPU creation. Hence the
>>> paging_get_hostmode() check is pointless.
>>>
>>> With that the v local variable is unnecessary too. Drop the "if()"
>>> conditional and its corresponding "else".
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> I have to confess that this if() has been puzzling me before.
>>
>> Puzzling yes, but it can't blindly be dropped.
> 
> And I'm not doing so "blindly". Every part of what is being dropped is
> being explained.
> 
>> This is the "did the toolstack initiate this update" check.  i.e. I
>> think it's "bypass the normal side effects of making this update".
> 
> Why would we want to bypass side effects?
> 
>> I suspect it exists because of improper abstraction between the guest
>> physmap and the shadow pagetables as-were - which were/are tighly
>> coupled to vCPUs even for aspects where they shouldn't have been.
>>
>> For better or worse, the toolstack can add_to_physmap() before it
>> creates vCPUs, and it will take this path you're trying to delete. 
>> There may be other cases too; I could see foreign mapping ending up
>> ticking this too.
>>
>> Whether we ought to permit a toolstack to do this is a different
>> question, but seeing as we explicitly intend (eventually for AMX) have a
>> set_policy call between domain_create() and vcpu_create(), I don't think
>> we can reasably restrict other hypercalls too in this period.
> 
> None of which explains what's wrong with the provided justification.
> The P2M isn't per-vCPU. Presence of vCPU-s therefore shouldn't matter
> for alterations of the P2M.

I've gone and checked further: The "side effects" are what the
write_p2m_entry_{pre,post}() hooks would do. Prior to the VM being
started that is a little bit of extra code which all ends up doing
nothing: There's nothing to flush, and there are no shadows to drop.
There's in particular no use of a vCPU anywhere, afaics. Plus, just
to mention it explicitly, the full path was forced anyway for nested
P2Ms, so there's no behavioral change there at all.

In fact I question the correctness of the plain safe_write_pte(),
without p2m_entry_modify(), if that path would have been taken (when
the domain has no vCPU-s yet).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 09:00:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 09:00:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711284.1111120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzYUB-0005Xa-VL; Wed, 24 Apr 2024 09:00:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711284.1111120; Wed, 24 Apr 2024 09:00: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 1rzYUB-0005XT-So; Wed, 24 Apr 2024 09:00:15 +0000
Received: by outflank-mailman (input) for mailman id 711284;
 Wed, 24 Apr 2024 09:00: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=S7Hn=L5=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzYUB-0005XN-EQ
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 09:00:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e6f48b6-0219-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 11:00:12 +0200 (CEST)
Received: from [192.168.1.11] (host-79-60-221-62.business.telecomitalia.it
 [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 08FEC4EE0739;
 Wed, 24 Apr 2024 11:00:10 +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: 0e6f48b6-0219-11ef-b4bb-af5377834399
Message-ID: <70252c73-e93b-4006-8acd-1e760db5aab7@bugseng.com>
Date: Wed, 24 Apr 2024 11:00:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <310e1dac8ecf2a85f1c552dbdad9093b1cfdcb98.1713946892.git.federico.serafini@bugseng.com>
 <891c21cf-695a-4b1d-b10b-53f23199380f@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <891c21cf-695a-4b1d-b10b-53f23199380f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24/04/24 10:30, Jan Beulich wrote:
> On 24.04.2024 10:25, Federico Serafini wrote:
>> Update ECLAIR configuration to take into account the deviations
>> agreed during MISRA meetings for Rule 16.4.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>>   automation/eclair_analysis/ECLAIR/deviations.ecl |  8 ++++++++
>>   docs/misra/deviations.rst                        | 13 +++++++++++++
>>   2 files changed, 21 insertions(+)
>>
> 
> So what has changed here from v1? It looks all the same to me, with it still
> remaining unclear what exactly ...
> 
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -334,6 +334,19 @@ Deviations related to MISRA C:2012 Rules:
>>            - /\* Fallthrough \*/
>>            - /\* Fallthrough. \*/
>>   
>> +   * - R16.4
>> +     - Switch statements having a controlling expression of enum type
>> +       deliberately do not have a default case: gcc -Wall enables -Wswitch
>> +       which warns (and breaks the build as we use -Werror) if one of the enum
>> +       labels is missing from the switch.
>> +     - Tagged as `deliberate` for ECLAIR.
>> +
>> +   * - R16.4
>> +     - A switch statement with a single switch clause and no default label may
>> +       be used in place of an equivalent if statement if it is considered to
>> +       improve readability.
>> +     - Tagged as `deliberate` for ECLAIR.
>> +
>>      * - R16.6
>>        - A switch statement with a single switch clause and no default label may
>>          be used in place of an equivalent if statement if it is considered to
> 
> ... a "switch clause" is.

I would define a switch clause as:
"the non-empy list of statements which follows a non-empty list of
case/default labels".
If you agree, I will place it near the occurrences of the term
"switch clause".

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 09:16:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 09:16:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711290.1111131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzYk8-0008LI-Dl; Wed, 24 Apr 2024 09:16:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711290.1111131; Wed, 24 Apr 2024 09:16:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzYk8-0008LB-B3; Wed, 24 Apr 2024 09:16:44 +0000
Received: by outflank-mailman (input) for mailman id 711290;
 Wed, 24 Apr 2024 09:16: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=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzYk6-0008L5-VQ
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 09:16:42 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5cb75cb4-021b-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 11:16:42 +0200 (CEST)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-78edc0f9636so415763485a.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 02:16:42 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 c13-20020ae9e20d000000b0078efd245e09sm5965379qkc.79.2024.04.24.02.16.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 02:16: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: 5cb75cb4-021b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713950201; x=1714555001; 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=fmBFVNFS5QwY0jqVgvB9uI5zfjJArolBDLxbcixrvEA=;
        b=shhgG0zeLoqNPfO1scZLbjj9ZoPMwZk2NI/BwEJDcrsFtvx/4QMjesU1q6G/iBzIkL
         k0d15sSfZlpu7riut07k1UES2aFYVpLOBt3dFiU7Vv7D9/uXBPrDA4lG2+pf1NSr8rVi
         45X2YcxrxwWZ6GEBn9e0oq8Ur+0ywnkUjeHVk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713950201; x=1714555001;
        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=fmBFVNFS5QwY0jqVgvB9uI5zfjJArolBDLxbcixrvEA=;
        b=iNvs1cA9RNAmL1DobN2ONb2y2UoS7u2r8JaUdxzfiuxN2L8+ICIDK+Hu7seySeB9L8
         O0ZxMLxV+vLp7ejAbbeWgJFbt+ENqnEmX1U4dbAkJxI5IOPvWpzKaKJK2DQb28dmEklk
         mggFAEuQeM5UVFoXvI9gx5DE2AAAKu1Duxvkbv6WjUWfGYYeUwmfinEaUive014qMg2F
         McQ/WGwZZLMSfjg/khde/0Jbb3+m+TJ3vdcAkaW90T7mJ20wRS79NJatG1yTdX0+xG83
         kLB0g0A0qgLiU1TO2VR4U3XLDiW78m2bobOPvDX13272CIYWh/TCrzVmo/9zKm5oadj7
         JykA==
X-Gm-Message-State: AOJu0YzVwMzoy+1s5RfCsFiJnf+vfDI9YyPzGdT35TuLYdZRFiseoBHd
	dCnMoKLYusWhPZzVdeJcMYW1H2To5wlSUHNzEXIe7aXg9Jmric5Py0ziAPYu7jA=
X-Google-Smtp-Source: AGHT+IFsmYBvP7VVNNXyTOtSzhTnKHI/3leAe8E2bHFvn6KtpDSyZDD+b6aWMhugPjE6ExJrvaBaNA==
X-Received: by 2002:a05:620a:e8e:b0:790:86da:a9b1 with SMTP id w14-20020a05620a0e8e00b0079086daa9b1mr1979842qkm.63.1713950200987;
        Wed, 24 Apr 2024 02:16:40 -0700 (PDT)
Date: Wed, 24 Apr 2024 11:16: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>,
	George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH 2/4] x86/P2M: un-indent write_p2m_entry()
Message-ID: <ZijN9l4crUTi_-LA@macbook>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <52b4b0d8-1761-45c7-b6e6-91e1c308209c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <52b4b0d8-1761-45c7-b6e6-91e1c308209c@suse.com>

On Tue, Apr 23, 2024 at 04:32:14PM +0200, Jan Beulich wrote:
> Drop the inner scope that was left from earlier if/else removal. Take
> the opportunity and make the paging_unlock() invocation common to
> success and error paths, though.

TBH I'm not sure I prefer the fact to continue function execution
after an error is found, I specially dislike that you have to add a
!rc check to the nestedhvm conditional block, and because anything
that we further add to the function would also need a !rc check.

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

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

Albeit I do prefer the extra call to paging_unlock() and early return
from the function in case of error.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 09:34:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 09:34:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711295.1111141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZ1A-0003BY-Q1; Wed, 24 Apr 2024 09:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711295.1111141; Wed, 24 Apr 2024 09:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZ1A-0003BR-NL; Wed, 24 Apr 2024 09:34:20 +0000
Received: by outflank-mailman (input) for mailman id 711295;
 Wed, 24 Apr 2024 09:34: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=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzZ19-0003BL-LV
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 09:34:19 +0000
Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com
 [2607:f8b0:4864:20::72e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d24591bc-021d-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 11:34:18 +0200 (CEST)
Received: by mail-qk1-x72e.google.com with SMTP id
 af79cd13be357-78f0592309aso469613785a.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 02:34:18 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 e8-20020a05620a12c800b0078ec0e6188asm5998749qkl.89.2024.04.24.02.34.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 02:34: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: d24591bc-021d-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713951257; x=1714556057; 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=8exCFmWjKMe7+jw6erqHfflGiRqm/RNFTVp/NwGr1SQ=;
        b=piACKYIoUZRfZN/y2+050LFQ7cJgs2CKpHUy+/YpROXJxdXxuDHgYCXeVyD6e+UE9W
         LQl9qsaYbFGuwnEu83P4Ot8qqRG59ZcU6dzW1tOushre7mm/uQ93y0DaL0kcF3yeLbnA
         vDN2vWfgamYST1kPQybkQg7JjK4ToUqppMZp4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713951257; x=1714556057;
        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=8exCFmWjKMe7+jw6erqHfflGiRqm/RNFTVp/NwGr1SQ=;
        b=Z+dBPir0nenvXNdMe5LCHhH4SeDmFyaBkCu8uHLOqVrNpO7qk3Jxi8Ke2IMooQmRsQ
         2lDif5Iq7P5QC9EuwZevmJMX0/QQvCJCbJJxTexKd8F7Hp80SivzNaRD17JXSbxT6X7G
         mSKr/sAnL7XnwrNBJ3YQVi23qu7GY5wzOcs2EUW8gE3Me8CDZcANcG7uvkATvPOwD8Op
         u05XqIMcUQeFHGdf4NI0MvLxpuBN9L4JJcBv2C+hmg8WAECTa+to8HihpT0YIZSs9Xfw
         HnadUa/v3RWBy7+itWqXYhDBOpYb+SUVsxmzL27hwVMtAR2iVipzOBp436o2ySe826DC
         l/wA==
X-Gm-Message-State: AOJu0YxLbDf8TfD6jhfNtfe3dV0qfK34/8wy9Og8VXyk9pnYownO7D8q
	SpuDEUG2jlbgFdTuFuv1BYsUn+4ooNiLSyFzbiPedwIzJnLdz7dWp/0hRQyhxqQ=
X-Google-Smtp-Source: AGHT+IGLd9WH7v3priedi0YJ1P3sY9dZUpNp76H5w78pwVAeIAt0A5XZJQ9Z2OF7VqjkSS04AmmEMQ==
X-Received: by 2002:ae9:e403:0:b0:78f:1226:94c7 with SMTP id q3-20020ae9e403000000b0078f122694c7mr1934585qkc.56.1713951257205;
        Wed, 24 Apr 2024 02:34:17 -0700 (PDT)
Date: Wed, 24 Apr 2024 11:34:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH 3/4] x86/paging: vCPU host mode is always set
Message-ID: <ZijSFzOAeo1SfSrb@macbook>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <67805c1f-7187-446c-a5c4-14be8f170f11@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <67805c1f-7187-446c-a5c4-14be8f170f11@suse.com>

On Tue, Apr 23, 2024 at 04:32:32PM +0200, Jan Beulich wrote:
> ... thanks to paging_vcpu_init() being part of vCPU creation. Further
> if paging is enabled on a domain, it's also guaranteed to be either HAP
> or shadow. Drop respective unnecessary (parts of) conditionals.

Is there some commit that changed when arch.paging.mode gets set, so
that this is actually safe to do now, but not when the code in
paging_dump_vcpu_info() was introduced?

I get the feeling we want to reference some change here in order to
explain why is now always guaranteed to be set.

> 
> 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 Wed Apr 24 10:06:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 10:06:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711300.1111150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZVq-00086s-59; Wed, 24 Apr 2024 10:06:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711300.1111150; Wed, 24 Apr 2024 10:06:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZVq-00086l-1v; Wed, 24 Apr 2024 10:06:02 +0000
Received: by outflank-mailman (input) for mailman id 711300;
 Wed, 24 Apr 2024 10:06:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9EIa=L5=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1rzZVo-00086f-CK
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 10:06:00 +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 3f7faec8-0222-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 12:05:59 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-343c7fae6e4so5869181f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 03:05:59 -0700 (PDT)
Received: from [192.168.1.102] (mon75-h03-176-184-51-42.dsl.sta.abo.bbox.fr.
 [176.184.51.42]) by smtp.gmail.com with ESMTPSA id
 j13-20020a056000124d00b0034b7906c716sm3564205wrx.106.2024.04.24.03.05.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 03: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: 3f7faec8-0222-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1713953158; x=1714557958; 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=RJeq6fIxiiTYHpTB+2A2F57sm5CMyZXLKrdNd8XZ0VU=;
        b=ot+OASrB1RS265/oVZ9gZT92maOt4lH7R2y+5+iiCKhZpz3ED06qh8GkOrU8pZI3dB
         i/SidvUSxaHpkKZrjgmsM/bXqLpfIHaFQDpDcK6wzUCGFGlWNxeUDH/KjUZff0BEr8gI
         wpIOW79X5cknd1pd/2WgMAmf5snal37CrL5LE4E8J03QpdfaUalH/1VPgCMyY6NvsbN4
         JdNu1OUMkbjiexRtssO+ibnfjv0OfTeytrpnzotw9QmAQ13rsWyMBQssWP7pfS4AfOPU
         Uoza1W0BZ/PczjNcC3kmy5PAh6PmnP02SxU4xlHe1gt74p7vcpvHaNCQxT0cGw/qtYwG
         ql3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713953158; x=1714557958;
        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=RJeq6fIxiiTYHpTB+2A2F57sm5CMyZXLKrdNd8XZ0VU=;
        b=Qwa/seVhyF9wB8IHPAFCpgMVgiHK9P8UNzmqyrACfXxNoRgzkpXV+ZmLECVeEjrz0O
         u1FFWTw4u5+a5eHEG3iJzHTSps5ThSIMfQvIhgUFnlqxnE+Hhj+GD4YDsFFK6v7j+98k
         rAND9uRlufPi8B2aL+cWJJXsonO1upuXET4IL3ZlGdFnsi8OM31VIuuS28xUPKx8ABik
         w7lnTUqEkaUJoW5N/QZlSLn5YluU8cYY4qvaCI4O4D143m6X/EqlQZBJqyBH+QEEgy7e
         GnoggDAxySdNu56ERbRVzD0Fh0F2iwhY/yjpRO4fi3wq8fXQSmtxYyGs1/JDSNTHz7NH
         pzdQ==
X-Forwarded-Encrypted: i=1; AJvYcCXH0Lo1GPpaLxJeFySd44URsMm9o20aHKfNljICji9OeOLqaBOvReGeM4V8GpAdRUwYOOlgsIMZ25nq6l8kgGBQLi2AgSi+M4R/MbnQURo=
X-Gm-Message-State: AOJu0YwtuKXgC43OudmKxlMesyM+xLqNxdoUcSUXF6cnS92rU9CmQpRI
	EXq6ahfu8cfnVW2PvbhPW3l5ZH8obJPvRvvOsI9Q3jtdgptczMk3r/1tQ966MHE=
X-Google-Smtp-Source: AGHT+IGRwoNvywezgAtvjGv1mnC+Z4/ri35VrWRJslP2OcATQLz8PEMyGT2jE+F1RXzBdZ9zsCTNAw==
X-Received: by 2002:adf:f809:0:b0:33e:7f51:c2f8 with SMTP id s9-20020adff809000000b0033e7f51c2f8mr1482384wrp.36.1713953158508;
        Wed, 24 Apr 2024 03:05:58 -0700 (PDT)
Message-ID: <ac66952e-4281-4250-96f4-dc3d5b518d24@linaro.org>
Date: Wed, 24 Apr 2024 12:05:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] net: Provide MemReentrancyGuard * to
 qemu_new_nic()
To: P J P <pj.pandit@yahoo.co.in>, Mauro Matteo Cascella
 <mcascell@redhat.com>, Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: Alexander Bulekov <alxndr@bu.edu>,
 Dmitry Fleytman <dmitry.fleytman@gmail.com>,
 Beniamino Galvani <b.galvani@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
 Jason Wang <jasowang@redhat.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>, Stefan Weil <sw@weilnetz.de>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>,
 Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Sriram Yagnaraman
 <sriram.yagnaraman@est.tech>, Thomas Huth <huth@tuxfamily.org>,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 Subbaraya Sundeep <sundeep.lkml@gmail.com>, Jan Kiszka <jan.kiszka@web.de>,
 Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>,
 Max Filippov <jcmvbkbc@gmail.com>, Jiri Pirko <jiri@resnulli.us>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Sven Schnelle <svens@stackframe.org>, "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Rob Herring <robh@kernel.org>, Gerd Hoffmann <kraxel@redhat.com>,
 qemu-arm@nongnu.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
 xen-devel@lists.xenproject.org
References: <20230601031859.7115-1-akihiko.odaki@daynix.com>
 <20230601031859.7115-2-akihiko.odaki@daynix.com>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20230601031859.7115-2-akihiko.odaki@daynix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 1/6/23 05:18, Akihiko Odaki wrote:
> Recently MemReentrancyGuard was added to DeviceState to record that the
> device is engaging in I/O. The network device backend needs to update it
> when delivering a packet to a device.
> 
> In preparation for such a change, add MemReentrancyGuard * as a
> parameter of qemu_new_nic().

An user on IRC asked if this patch is related/fixing CVE-2021-20255,
any clue?

> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>   include/net/net.h             | 1 +
>   hw/net/allwinner-sun8i-emac.c | 3 ++-
>   hw/net/allwinner_emac.c       | 3 ++-
>   hw/net/cadence_gem.c          | 3 ++-
>   hw/net/dp8393x.c              | 3 ++-
>   hw/net/e1000.c                | 3 ++-
>   hw/net/e1000e.c               | 2 +-
>   hw/net/eepro100.c             | 4 +++-
>   hw/net/etraxfs_eth.c          | 3 ++-
>   hw/net/fsl_etsec/etsec.c      | 3 ++-
>   hw/net/ftgmac100.c            | 3 ++-
>   hw/net/i82596.c               | 2 +-
>   hw/net/igb.c                  | 2 +-
>   hw/net/imx_fec.c              | 2 +-
>   hw/net/lan9118.c              | 3 ++-
>   hw/net/mcf_fec.c              | 3 ++-
>   hw/net/mipsnet.c              | 3 ++-
>   hw/net/msf2-emac.c            | 3 ++-
>   hw/net/mv88w8618_eth.c        | 3 ++-
>   hw/net/ne2000-isa.c           | 3 ++-
>   hw/net/ne2000-pci.c           | 3 ++-
>   hw/net/npcm7xx_emc.c          | 3 ++-
>   hw/net/opencores_eth.c        | 3 ++-
>   hw/net/pcnet.c                | 3 ++-
>   hw/net/rocker/rocker_fp.c     | 4 ++--
>   hw/net/rtl8139.c              | 3 ++-
>   hw/net/smc91c111.c            | 3 ++-
>   hw/net/spapr_llan.c           | 3 ++-
>   hw/net/stellaris_enet.c       | 3 ++-
>   hw/net/sungem.c               | 2 +-
>   hw/net/sunhme.c               | 3 ++-
>   hw/net/tulip.c                | 3 ++-
>   hw/net/virtio-net.c           | 6 ++++--
>   hw/net/vmxnet3.c              | 2 +-
>   hw/net/xen_nic.c              | 4 ++--
>   hw/net/xgmac.c                | 3 ++-
>   hw/net/xilinx_axienet.c       | 3 ++-
>   hw/net/xilinx_ethlite.c       | 3 ++-
>   hw/usb/dev-network.c          | 3 ++-
>   net/net.c                     | 1 +
>   40 files changed, 75 insertions(+), 41 deletions(-)



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 10:06:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 10:06:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711301.1111161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZW8-0008R2-E1; Wed, 24 Apr 2024 10:06:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711301.1111161; Wed, 24 Apr 2024 10:06:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZW8-0008Qv-9R; Wed, 24 Apr 2024 10:06:20 +0000
Received: by outflank-mailman (input) for mailman id 711301;
 Wed, 24 Apr 2024 10: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=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzZW6-00086f-6m
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 10:06:18 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a11b2f6-0222-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 12:06:17 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id
 af79cd13be357-7906782388aso243752185a.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 03:06:17 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 i8-20020a0cf388000000b0069b7bc51271sm5909720qvk.123.2024.04.24.03.06.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 03:06: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: 4a11b2f6-0222-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713953176; x=1714557976; 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=4Ph9G6cwvSsyBwn1keNYh8ywxHd2TZyv1Xlev5He0Zc=;
        b=OoDZgrl3D/3Z37Q+qvZ8KcBx+oi8V/eu08ubKnC9g+Hu1jFEGWyk+s73A8b2z2u5bD
         5sUISCH70Jcpq/XgWV6zuiDMdfkBiODT3JbI9oi82OUHquChB1PPfxOSIrajFvJtnT9e
         KwKYJc/E0JdTgdi2vbkqZJ5npw0ObKTWe/dSs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713953176; x=1714557976;
        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=4Ph9G6cwvSsyBwn1keNYh8ywxHd2TZyv1Xlev5He0Zc=;
        b=NorCILdyfYzNxaQ10nFNX5YTl28fTXMp2gOqYJVSkOoAPw9+hcXKdH9cKK3WaCuV5Q
         b5KFbZxRf3GMQpsZ/d6t1jMyPOHFTOk9TSmv+QW7UwrjP3s1jV96WJ7GeGluTqVeXcuf
         6p/LMKL1UprXZtKGyZ8PfU2KSGInFNwgs8ERPUhQ4fXXK4YBXas66YNd5+GdOBkc0NsU
         ll57jONBbxCC9LPJ9mlgzvzXL0WT4nj7kfCGraPuxAK9gUCeyPqcECN6vGFwSONLrEjZ
         sYwDSwDBDqWY93R44s5D5aysmDNEtMuApnBdD29GszG8mDRPdtvNKYJm1Akp0+ddv0T8
         +qiA==
X-Gm-Message-State: AOJu0Yx3qfkIoLz3olUJpKEr1XdaN/qPfHXc6EurNfdJZMcirqqXrB39
	SFELGyk50lQAo7nYTj1dXRv2GCYkIY7FPAInxtMUFvluXzGYWEPn2CaxWN9U1R4=
X-Google-Smtp-Source: AGHT+IFv3Y31v3wUlWVz2DymdTFgcmE+HdyroWncqkASpxtkuzd3F66o1ccVg3lNsud2DQftbRwb8A==
X-Received: by 2002:a05:6214:b87:b0:6a0:88d1:dc92 with SMTP id fe7-20020a0562140b8700b006a088d1dc92mr1829664qvb.13.1713953176012;
        Wed, 24 Apr 2024 03:06:16 -0700 (PDT)
Date: Wed, 24 Apr 2024 12:06:13 +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>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH 4/4] x86/shadow: correct shadow_vcpu_init()'s comment
Message-ID: <ZijZldtvQ_e1h6ys@macbook>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <fea51839-4405-4330-8493-c544b9edf035@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <fea51839-4405-4330-8493-c544b9edf035@suse.com>

On Tue, Apr 23, 2024 at 04:33:09PM +0200, Jan Beulich wrote:
> As of the commit referenced below the update_paging_modes() hook is per-
> domain and hence also set (already) during domain construction.
> 
> Fixes: d0816a9085b5 ("x86/paging: move update_paging_modes() hook")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/mm/shadow/common.c
> +++ b/xen/arch/x86/mm/shadow/common.c
> @@ -99,11 +99,12 @@ int shadow_domain_init(struct domain *d)
>      return 0;
>  }
>  
> -/* Setup the shadow-specfic parts of a vcpu struct. Note: The most important
> - * job is to initialize the update_paging_modes() function pointer, which is
> - * used to initialized the rest of resources. Therefore, it really does not
> - * matter to have v->arch.paging.mode pointing to any mode, as long as it can
> - * be compiled.
> +/*
> + * Setup the shadow-specific parts of a vcpu struct. Note: The
> + * update_paging_modes() function pointer, which is used to initialize other
> + * resources, was already set during domain creation. Therefore it really does
> + * not matter to have v->arch.paging.mode pointing to any (legitimate) mode,
> + * as long as it can be compiled.

Do you need to keep the last sentence?  If update_paging_modes is
already set at domain create, the 'Therefore it really does...'
doesn't seem to make much sense anymore, as it's no longer
shadow_vcpu_init() that sets it.

Possibly with that dropped:

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 10:06:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 10:06:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711302.1111166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZW8-0008U7-N8; Wed, 24 Apr 2024 10:06:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711302.1111166; Wed, 24 Apr 2024 10:06:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZW8-0008Sz-HA; Wed, 24 Apr 2024 10:06:20 +0000
Received: by outflank-mailman (input) for mailman id 711302;
 Wed, 24 Apr 2024 10:06: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 1rzZW8-0008Ql-2E
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 10:06: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 1rzZW7-0007GR-Ih; Wed, 24 Apr 2024 10:06:19 +0000
Received: from [15.248.2.25] (helo=[10.24.67.29])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzZW7-0001dD-9U; Wed, 24 Apr 2024 10:06: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=Wu5rRE3YbC3tq9tVPX5Y6Aj62ZvtpoxLzJYE+L5ogag=; b=1lSTRDT3imDUgX5I9jSh75teqK
	1q89Y068f0KY0O9DQHntWnpi2HPkoiQSlJeE8T7ex3CibQ+dIKyXSlEK1nN3gfPDnHG8oQ422BxLA
	gpQFghVCDwvlnb6Tq0bOn92dLHk40GagKhgxrs5bY/aKLfErRnOf7k6VTUlsY9TsE9Q4=;
Message-ID: <f6150a28-1aea-4c99-b696-f8b278eb685a@xen.org>
Date: Wed, 24 Apr 2024 11:06:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 5/5] xen/arm: ffa: support notification
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Jens Wiklander <jens.wiklander@linaro.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "patches@linaro.org" <patches@linaro.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <20240422073708.3663529-1-jens.wiklander@linaro.org>
 <20240422073708.3663529-6-jens.wiklander@linaro.org>
 <e2ffe445-9355-45c9-bbfb-669455df4ea0@xen.org>
 <CAHUa44FMsdn8LVc782EYno7fiFDBe7RSaiNgEnnzoc-Bozt05A@mail.gmail.com>
 <931F0F76-3A3F-43D9-84F3-5AF9CDDB7708@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <931F0F76-3A3F-43D9-84F3-5AF9CDDB7708@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Bertrand & Jens,

On 24/04/2024 07:53, Bertrand Marquis wrote:
> Hi Jens,
> 
>> On 23 Apr 2024, at 17:26, Jens Wiklander <jens.wiklander@linaro.org> wrote:
>>
>> Hi Julien,
>>
>> On Mon, Apr 22, 2024 at 1:40 PM Julien Grall <julien@xen.org> wrote:
>>>
>>> Hi Jens,
>>>
>>> This is not a full review of the code. I will let Bertrand doing it.
>>>
>>> On 22/04/2024 08:37, Jens Wiklander wrote:
>>>> +void ffa_notif_init(void)
>>>> +{
>>>> +    const struct arm_smccc_1_2_regs arg = {
>>>> +        .a0 = FFA_FEATURES,
>>>> +        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
>>>> +    };
>>>> +    struct arm_smccc_1_2_regs resp;
>>>> +    unsigned int irq;
>>>> +    int ret;
>>>> +
>>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>>> +    if ( resp.a0 != FFA_SUCCESS_32 )
>>>> +        return;
>>>> +
>>>> +    irq = resp.a2;
>>>> +    if ( irq >= NR_GIC_SGI )
>>>> +        irq_set_type(irq, IRQ_TYPE_EDGE_RISING);
>>>> +    ret = request_irq(irq, 0, notif_irq_handler, "FF-A notif", NULL);
>>>
>>> If I am not mistaken, ffa_notif_init() is only called once on the boot
>>> CPU. However, request_irq() needs to be called on every CPU so the
>>> callback is registered every where and the interrupt enabled.
>>>
>>> I know the name of the function is rather confusing. So can you confirm
>>> this is what you expected?
>>
>> Good catch, no this wasn't what I expected. I'll need to change this.
>>
>>>
>>> [...]
>>>
>>>> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
>>>> index 98236cbf14a3..ef8ffd4526bd 100644
>>>> --- a/xen/arch/arm/tee/ffa_private.h
>>>> +++ b/xen/arch/arm/tee/ffa_private.h
>>>> @@ -25,6 +25,7 @@
>>>>   #define FFA_RET_DENIED                  -6
>>>>   #define FFA_RET_RETRY                   -7
>>>>   #define FFA_RET_ABORTED                 -8
>>>> +#define FFA_RET_NO_DATA                 -9
>>>>
>>>>   /* FFA_VERSION helpers */
>>>>   #define FFA_VERSION_MAJOR_SHIFT         16U
>>>> @@ -97,6 +98,18 @@
>>>>    */
>>>>   #define FFA_MAX_SHM_COUNT               32
>>>>
>>>> +/*
>>>> + * TODO How to manage the available SGIs? SGI 8-15 seem to be entirely
>>>> + * unused, but that may change.
>>>
>>> Are the value below intended for the guests? If so, can they be moved in
>>> public/arch-arm.h along with the others guest interrupts?
>>
>> Yes, I'll move it.
>>
>>>
>>>> + *
>>>> + * SGI is the preferred delivery mechanism. SGIs 8-15 are normally not used
>>>> + * by a guest as they in a non-virtualized system typically are assigned to
>>>> + * the secure world. Here we're free to use SGI 8-15 since they are virtual
>>>> + * and have nothing to do with the secure world.
>>>
>>> Do you have a pointer to the specification?
>>
>> There's one at the top of arch/arm/tee/ffa.c,
>> https://developer.arm.com/documentation/den0077/e
>> Do you want the link close to the defines when I've moved them to
>> public/arch-arm.h?
>> Or is it perhaps better to give a link to "Arm Base System
>> Architecture v1.0C", https://developer.arm.com/documentation/den0094/
>> instead?
> 
> I would say we need the link to Arm Base System Architecture in arch-arm.

+1

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 10:07:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 10:07:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711307.1111181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZWo-00017Z-T0; Wed, 24 Apr 2024 10:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711307.1111181; Wed, 24 Apr 2024 10:07:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZWo-00017S-Pm; Wed, 24 Apr 2024 10:07:02 +0000
Received: by outflank-mailman (input) for mailman id 711307;
 Wed, 24 Apr 2024 10:07:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qV27=L5=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzZWn-00086f-Pj
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 10:07:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64657aec-0222-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 12:07:01 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6A5114EE0739;
 Wed, 24 Apr 2024 12:07: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: 64657aec-0222-11ef-909a-e314d9c70b13
MIME-Version: 1.0
Date: Wed, 24 Apr 2024 12:07:00 +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, bertrand.marquis@arm.com,
 julien@xen.org, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 04/10] drivers: char: address violation of MISRA C
 Rule 20.7
In-Reply-To: <509a6c09-85e7-4854-b7dc-116cde022b26@suse.com>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <a5e4472b91398b7f9e802ea82c8435fa8ad27066.1713885065.git.nicola.vetrini@bugseng.com>
 <509a6c09-85e7-4854-b7dc-116cde022b26@suse.com>
Message-ID: <83c180d692149d5cf0f56fecdc3af4b3@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-04-24 09:23, Jan Beulich wrote:
> On 23.04.2024 17:12, Nicola Vetrini wrote:
>> --- a/xen/drivers/char/omap-uart.c
>> +++ b/xen/drivers/char/omap-uart.c
>> @@ -48,8 +48,9 @@
>>  /* System configuration register */
>>  #define UART_OMAP_SYSC_DEF_CONF   0x0d   /* autoidle mode, wakeup is 
>> enabled */
>> 
>> -#define omap_read(uart, off)       readl((uart)->regs + 
>> (off<<REG_SHIFT))
>> -#define omap_write(uart, off, val) writel((val), (uart)->regs + 
>> (off<<REG_SHIFT))
>> +#define omap_read(uart, off)       readl((uart)->regs + ((off) << 
>> REG_SHIFT))
>> +#define omap_write(uart, off, val) writel((val), (uart)->regs + \
> 
> Would have been nice to drop the excess parentheses at the same time.
> 
> Jan

Right. I think I'll have a few more patches on this rule, so maybe I can 
adjust it.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 10:19:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 10:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711320.1111190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZj8-0003Hs-2i; Wed, 24 Apr 2024 10:19:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711320.1111190; Wed, 24 Apr 2024 10:19:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZj8-0003Hl-08; Wed, 24 Apr 2024 10:19:46 +0000
Received: by outflank-mailman (input) for mailman id 711320;
 Wed, 24 Apr 2024 10:19:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rzZj6-0003Hf-LD
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 10:19:44 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzZj5-0007VF-Up; Wed, 24 Apr 2024 10:19:43 +0000
Received: from [15.248.2.25] (helo=[10.24.67.29])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzZj5-0002I1-Oe; Wed, 24 Apr 2024 10:19: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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=J8uw2H5mh9dHpvwBAj0hJSbsKzXzjN0dFQBBpFXWTLs=; b=uoSZLnvPhO8q9HMoISPWPK5Qmv
	zasUlRIsr4hKA1eWlk7R8azP+A6cE11bUmZObNu1v1VrkS86rO1f/blgpM3xOdrSg91oM1LZKwA41
	Q+hJ4NFxmvSBzPsFctFifi04G/iX1yZH5mNWQzs+WOi3YcY8rtntVH2qk0TbcouXIIMo=;
Message-ID: <57070924-9c38-4524-8e36-76584c7fb3df@xen.org>
Date: Wed, 24 Apr 2024 11:19:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Michal Orzel <michal.orzel@amd.com>, Luca Fancellu <Luca.Fancellu@arm.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: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
 <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
 <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
 <f7318988-85fa-4a40-8242-67db3305a397@amd.com>
 <5de5dec4-7e2a-4e96-84c6-214ad781562a@xen.org>
In-Reply-To: <5de5dec4-7e2a-4e96-84c6-214ad781562a@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 22/04/2024 11:24, Julien Grall wrote:
> Hi,
> 
> On 22/04/2024 10:26, Michal Orzel wrote:
>>
>>
>> On 22/04/2024 10:07, Luca Fancellu wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>>>> +    for ( cells = reg, i = 0; cells < reg + nr_cells; i++, cells 
>>>>> += reg_size )
>>>>> +    {
>>>>> +        u64 start = dt_read_number(cells, addrcells);
>>>> We should no longer use Linux derived types like u64. Use uint64_t.
>>>>
>>>>> +        u64 size = dt_read_number(cells + addrcells, sizecells);
>>>>> +
>>>>> +        dt_dprintk("  Bank %d: %#"PRIx64"->%#"PRIx64"\n",
>>>>> +                   i, start, start + size);
>>>> i is unsigned so the correct format specifier should be %u
>>>
>>> Right, should have been more careful when copying the code from above
>>>
>>>>>
>>>>> +void __init shm_mem_node_fill_reg_range(const struct kernel_info 
>>>>> *kinfo,
>>>>> +                                        __be32 *reg, int *nr_cells,
>>>>> +                                        int addrcells, int sizecells)
>>>>> +{
>>>>> +    const struct membanks *mem = &kinfo->shm_mem.common;
>>>>> +    unsigned int i;
>>>>> +    __be32 *cells;
>>>>> +
>>>>> +    BUG_ON(!nr_cells || !reg);
>>>>> +
>>>>> +    cells = &reg[*nr_cells];
>>>>> +    for ( i = 0; i < mem->nr_banks; i++ )
>>>>> +    {
>>>>> +        u64 start = mem->bank[i].start;
>>>> ditto
>>>
>>> Will fix, here paddr_t should be ok isn’t it?
>> yes
>>
>>>
>>>>
>>>> Rest LGTM:
>>>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>>
>>> Thanks, I will send the next one shortly.
>> I don't think there is a need to respin the whole series just for 
>> these fixes.
>> You should wait for the committers opinion.
> 
> AFAICT, there are multiple changes requested in various line. So I would 
> rather prefer if this is respinned.
> 
> If this is the only patch that requires to change. You could send a new 
> one in reply-to this patch. I think b4 is clever enough to pick up the 
> new version in that case.

I was wrong. b4 didn't picked up the new version. Anyway, I have applied 
the new patch and send to gitlab for testing. I will merge it once it 
passes.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 10:25:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 10:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711327.1111200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZoy-0005Em-N2; Wed, 24 Apr 2024 10:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711327.1111200; Wed, 24 Apr 2024 10:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzZoy-0005Ef-KO; Wed, 24 Apr 2024 10:25:48 +0000
Received: by outflank-mailman (input) for mailman id 711327;
 Wed, 24 Apr 2024 10:25:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jU53=L5=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1rzZox-0005EZ-Aa
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 10:25:47 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2608::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01fce660-0225-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 12:25:44 +0200 (CEST)
Received: from AM0PR05CA0073.eurprd05.prod.outlook.com (2603:10a6:208:136::13)
 by AS2PR08MB8670.eurprd08.prod.outlook.com (2603:10a6:20b:55d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23; Wed, 24 Apr
 2024 10:25:38 +0000
Received: from AMS0EPF0000019E.eurprd05.prod.outlook.com
 (2603:10a6:208:136:cafe::e) by AM0PR05CA0073.outlook.office365.com
 (2603:10a6:208:136::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Wed, 24 Apr 2024 10:25:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019E.mail.protection.outlook.com (10.167.16.250) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Wed, 24 Apr 2024 10:25:36 +0000
Received: ("Tessian outbound caed45120527:v313");
 Wed, 24 Apr 2024 10:25:36 +0000
Received: from df1206216c38.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 88D9DF63-5D15-4A61-BBAA-4C8FA6AD9D7D.1; 
 Wed, 24 Apr 2024 10:25:29 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id df1206216c38.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 24 Apr 2024 10:25:29 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB8297.eurprd08.prod.outlook.com (2603:10a6:20b:537::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 10:25:26 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7472.044; Wed, 24 Apr 2024
 10:25:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01fce660-0225-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=SsvRdBvipvwUsv0n7QxSSv0DPTDFMugon+DxLKdx/APLMfmk9Ynp5MQtdoS3p/GEbp9FCOU2/8TaPSVmrqPlhCieVlrw41SSjM2of4NDDyTcsweGR8DVzjGY0MAsEjotvDgRZgVP1dmoxqEJwrb6hOeZ+Q4EQYUFnghw9M/vOCSJodmN86H/in6krfktJ/2O52+toeE7DBgzfqassN04inlo3/l8fGAlpnDVztdmhqRUQYYK2TnIszSAVoj/NfcFtZ2ipSneVpautXGCJqjS/7ojdHeARFDOsynQQ8B0Qo4HiEljRN49GT4n2rtFh6uh6NNCjK23SJa6YAehzjA2Bg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eV/gqIdxqjGPxb1J7v8e4uu11UntEz5p1zujPTAwhPg=;
 b=cNo/mSUgfp+w96dXHjLLB+INaUixJzZFjeM33esOvVHo9bGwNsRnJa7V5iMDPkym2vKC8pHKF+K9WuhPrhqM+w+zYZPqolPb/fltj4BfO675hhzecd1o7kp7YIYViMiMsGByRC9JygwqF35ll8ammG0Z+i9IQCoWREHhXaEAGXE/1obBDJLao9ha8XXw87ZeAzRTG63f7vnUov/hx/TTZoXfcMTFgJixpXP2BjeTDLjc4coZ3eQdyulIILwx2kCLhRYryBvlMlAdaL3zB1V3mCY8gkOY2PTcvD72JUWENa1WnI+/jatUiiAJVY4LODh+mrpXrPd04kpSsANcrJMjoA==
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=eV/gqIdxqjGPxb1J7v8e4uu11UntEz5p1zujPTAwhPg=;
 b=jCheha+oyWPfJ3uZm5HC7D+lbiTxK9jNyFwum5a/qcw2oZDoIKz3B3K4GgD+pZpeeQMV0CFSrE0Yv6oYY6uTomtuSgVwCMXwRpnT1gZpHKrkxCSMmRUb3POa0+sj8KPyzyM6Cwkmd6qwdBvpBH4iMNwBTKa6paH8ArqYXeMLiN4=
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: 6d5cd144ff0eaace
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D/xpH0b9q+KuyNur6s6nDqrWaMe7lIuzSTgfTltWKAnkIPn5xTLackt86PAVyl/vbNbssV/5eLq050qtQf7gr1Sy3klMmmWYiOwj2b5QYvlY/DQs+Tcalfp2tUDTVoDH7vFJFs1XkunnLCE5X7Vv3P2pVx2HzczyZCt4eNC6nKamyjcsQUhprgRbE+OPZ/TjoAmnBXiEAPGWfktxIvjf/pbmHQZPXLtz7IrFwx7JNzscOc1BemQAKALR0qPcG8hyF5AZ8m54Yh5lCI77qtublxKaZjptSTD4TCyAMSGXfJnGG92ypN+JKgjd6EO0v68kLJUT9/ES3/gsp6JhQuGiew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eV/gqIdxqjGPxb1J7v8e4uu11UntEz5p1zujPTAwhPg=;
 b=lEOA+73L2ULxbhbhzhUzP8mntDK0Rci91bLPSWv7JNuWd1Twbalaf07PL+/J+i3iGvLVt+74DB78PLsKP//XrfFFu7V0JAcd2Gy2gbl0ilyXFY6Emd6YHH+Qb6QwZTEXiAI9a4q6rX6o8JC2fizPHJNEnk78yM5b58xIsJpW0SwUMFmk1A5KyAxWVkUC0oC3HTzEg7p9YugAnMEsCVfGeODJAe26rBL1/0JXow6GnbeaYUd8wPMOVqMr0K7TH7qPA45PTFG/Lqp3+TsblLFilAKBtw1xyJzxAG5cU6h3pfXLReAYVmaN07KTRaxOIAmilUmpb6YWXv+cjiBnMJmNIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=eV/gqIdxqjGPxb1J7v8e4uu11UntEz5p1zujPTAwhPg=;
 b=jCheha+oyWPfJ3uZm5HC7D+lbiTxK9jNyFwum5a/qcw2oZDoIKz3B3K4GgD+pZpeeQMV0CFSrE0Yv6oYY6uTomtuSgVwCMXwRpnT1gZpHKrkxCSMmRUb3POa0+sj8KPyzyM6Cwkmd6qwdBvpBH4iMNwBTKa6paH8ArqYXeMLiN4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Michal Orzel <michal.orzel@amd.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Topic: [PATCH v3 12/12] xen/arm: List static shared memory regions as
 /memory nodes
Thread-Index:
 AQHakWRKhhfM1dXXeUO6IItBh4LVR7Fz8i4AgAADG4CAABZagIAAD/UAgAMjdwCAAAGNgA==
Date: Wed, 24 Apr 2024 10:25:26 +0000
Message-ID: <AF512D9D-FE17-4F79-8778-12DD9C4BA059@arm.com>
References: <20240418073652.3622828-1-luca.fancellu@arm.com>
 <20240418073652.3622828-13-luca.fancellu@arm.com>
 <a46e7e41-cbb8-44e8-9c69-533b949f6a4a@amd.com>
 <9A107B24-E606-4926-BE1C-6FC0C6E86CF7@arm.com>
 <f7318988-85fa-4a40-8242-67db3305a397@amd.com>
 <5de5dec4-7e2a-4e96-84c6-214ad781562a@xen.org>
 <57070924-9c38-4524-8e36-76584c7fb3df@xen.org>
In-Reply-To: <57070924-9c38-4524-8e36-76584c7fb3df@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB8297:EE_|AMS0EPF0000019E:EE_|AS2PR08MB8670:EE_
X-MS-Office365-Filtering-Correlation-Id: 127ffecd-70b5-4f94-cee3-08dc6448e199
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?v3S2Ii6a/6chAImsIpF9U9yYa3iME+cP9uE/4GxCxy0eeCS8HaKc1+mTr6oa?=
 =?us-ascii?Q?9mpRtPXKix1a/XP4NtzKgFJuVaOEaNie8lUP42+fLji245G+r6/P+YVoLqtd?=
 =?us-ascii?Q?/8NYtHqrajGCGPcBZL6hvIKwFjFlA+gRs0wLkDRYYYgiVYaValy+9kp42mf1?=
 =?us-ascii?Q?f4sj7/ui3AoA5xf3+lNFHFI+ujGCfQKmc1HsHyBMQOr1O+cbrRAjXMSO5pf2?=
 =?us-ascii?Q?ZKEsSz8dtgU9OuPNWDCyxL+/Qkw7088GdrbtbfAqmbCzM4gZWmYL46q1P+OH?=
 =?us-ascii?Q?ZCdSGKiktIhY4IFQ2QDEuKWVv0b3qjYPFJVOQtRxyKVOAOHZNFoH3eEcrrNT?=
 =?us-ascii?Q?9oLONhV08kXVHyXuaG9HInqls2fLn7eBdfTymskOwtmOepsiJMpjkp43k2Ir?=
 =?us-ascii?Q?aPppLG4TsVmtjFldawBxYK3c7LHM3NtcLH4cEVt+oNhV7+YZM2duXvLxqWz3?=
 =?us-ascii?Q?sPUwv3IZVjVI2P79XqcROGqmAM80hxSKiKB41l4RR/xZ4Z07oxNivm3BOFkp?=
 =?us-ascii?Q?B2ZLMV3Q/5cqZdpiCjBErNdBpJiZX/aR98LSgiSnDTF2hDxBz9xOj+3s2sda?=
 =?us-ascii?Q?EbKBrQ4zsfbFetEySF77GxYQbyLQSTUdA/XMwAZRqnpUfNd7knS9cOUl/ZvL?=
 =?us-ascii?Q?bKSd+66qsR61hn6fRwHSCI7xqy5ilrG6KW5UpGmQ3i5JNZgfK5QchdmwFBt0?=
 =?us-ascii?Q?ix3ww+Nhu92cMJ+TZXzis8HYdWMtUsPSP6PY7cy3CCFLBVOdVbNztq1gREVK?=
 =?us-ascii?Q?YVZZ8FoxsVYIfOmrDj2bmSolkYxkZEgOnkPcOs7A1ZQFXMHcyUrJuucWn/Ro?=
 =?us-ascii?Q?FMUQJlVlv2avVh4+8/sOrZY9NFm2v4a5s/uaGIWaYTHbYRtKduBjf0twJir+?=
 =?us-ascii?Q?wZ61953AsU4t8wNS0kVnCZhEbs5IOd5jcqOJNRjIqbtWgoaX8dEMczMAyZjd?=
 =?us-ascii?Q?BjQiUPThy07czqXZL/aAv534j4ayOoxMMOqDYEiBOdAWHLoZ9/zmzLJWvprB?=
 =?us-ascii?Q?tPTGnN6liywSWvxcuGObjaXvT/dvet4t+dQKfOmU41GBf6u2SKMEP7jSXlOB?=
 =?us-ascii?Q?UpKf61HKjy5c7dCFvtCGzwMcaSYwtJrNjWkrNS5yrh5AYZrf/ZGK4BQckp45?=
 =?us-ascii?Q?1QL1KMyzds2xM201l5RgBa2X5dTEjWgjb/9cO4LfmJ8VGpWvH47TDTKWq/8H?=
 =?us-ascii?Q?pyXaRFG/c46BlDH/Iztuok2GQSlj8rizgjoYal2VDoHuq1mCdlemgp3Fujce?=
 =?us-ascii?Q?DsW4uuNwnw8XxKnIZY0LnRb01bBWyy/pOhW2dEhI+Au+hAlwHEeRnovRKYRp?=
 =?us-ascii?Q?HWJec9H/SL8s8s9bDyp6Y5KBkQZ9zxg0iXHbbw2CUlniKQ=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F1CD19147033D1419A321EFA379948AE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8297
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	79dd971b-6be0-4b83-5176-08dc6448dbb8
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|1800799015|82310400014|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?MJrkCP5ooBzMHoOOHY5F5igegCgnugf52UMjNHpfKnljy6JoEhUkftqtxtng?=
 =?us-ascii?Q?uhk2nvcxxlb5OXYD8xF4T0vx4bPb/5gOiSMUg4skAyXvLGUm/KA+9LoD5BPx?=
 =?us-ascii?Q?TseVL1GOl6NmAU7UytWtOdo6SuFIzW8OsJwuvLxuAsvnSTSAoAYUgVanUEhl?=
 =?us-ascii?Q?aEwov7keG/QFgplt7KpsxsYEtRePDZpoFQWoeSKgGeYGjlBOFjAezstq8Qbw?=
 =?us-ascii?Q?d22wlNY8FuRTRlLMgYkW5LnkSLZ+AsoRQMFb7VX64kHbzpv3uJ0pCddiCeOY?=
 =?us-ascii?Q?DyxZ4z7k/wvg9DQ8JYLFrUgOZBwvx59eik/ICSGFginNKTB3z/hF6Ruo9oGq?=
 =?us-ascii?Q?xchns2iYCgZieUzZL2ENpyvQWpKjA/OFI8eymd2QYI0/rvDFZFATu+dW47kt?=
 =?us-ascii?Q?MnPrhf91GVJ6EVR9BO4kC7Lh2zDiuF0JQwd+byPCDwiyGrcnZen01daLPG4w?=
 =?us-ascii?Q?DGvOvYID5P0z4jUhfhbuTJKH0GpFNFFs+IloAYomzdewrDdqwwpvixR6f68S?=
 =?us-ascii?Q?+RrM3SsI8r/kuvKSWqAcBxaYvUlayeeCB3J/YTwNXycdpyCHuzVyi1SG55Jt?=
 =?us-ascii?Q?hURHYGm9WSZ3jQa9KpF/Mx/LV2ewDRF2QMi3ZGxYUTm/kt8DNFnnhAgY+dab?=
 =?us-ascii?Q?3GQILTShMd/BjtOucaLGg8D/glHsMExLad0LDJpSkVx5cySPEmswLdVmvvCq?=
 =?us-ascii?Q?L9K5BX8RQbYYX0AFb01IwMwUO8Es/RMM368gN4nDh8bSbOmke2t3fCF4MGCl?=
 =?us-ascii?Q?UEMIlLR0WMQANjKh6z4uIZJYMw8j9oXIP8C25lMeKPBP07lz/pntkWGNkWAL?=
 =?us-ascii?Q?bh6AHVu4s6jhgNqjB7as9M//1sNvU2+9qbtKlnEKqhzNij8aBl3i0wF0pI9W?=
 =?us-ascii?Q?ZWisPhqGUveReAvW6mG6kHt68rFMs01g7IMOjpvuoTg7+go2T5sJX6OzlNN3?=
 =?us-ascii?Q?c6QLtoXSaTq8RsKG+UakhkVKfT29oWMm3wv0kfHR3VJGtXULUuwUa49G0zGm?=
 =?us-ascii?Q?jqJ3wYxNnLSV7ETODgnbVqHmejqUvr4YB/MlZ5SIztDs5MJbdGq+Z1MY/iI/?=
 =?us-ascii?Q?NnqbRehsjEMksgoA0MN3C601G53JZG9v+tOUyavfvFeDv7YErHAQtAy4lPHt?=
 =?us-ascii?Q?7XgHjLnmVhN5p1AtoWbf2VaoiE3hWXfALw2J2P98o8XEjnWuukSfJG8e0OiL?=
 =?us-ascii?Q?IwhY/sKUG0TR5kpMfKe9uSHiIpA4TBjEtv1yq9QmCRNK325otfzRrY3lKq5w?=
 =?us-ascii?Q?NbWaApxtcQ15MwaUiMXKxJLaO6RWNA5XfOuzkTNcXyM89cKkwkls5ULBfuTb?=
 =?us-ascii?Q?HjHxiSFTV367GHoL87n0M0UgIdnYY3YtfyUA3qyW6/MAUeVGciZe0hzuM+RL?=
 =?us-ascii?Q?LuCe8ISXOX2G/nDAzUSrqqR7rPKe?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 10:25:36.4519
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 127ffecd-70b5-4f94-cee3-08dc6448e199
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8670


Hi Julien,

>>>>=20
>>>>>=20
>>>>> Rest LGTM:
>>>>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>>>=20
>>>> Thanks, I will send the next one shortly.
>>> I don't think there is a need to respin the whole series just for these=
 fixes.
>>> You should wait for the committers opinion.
>> AFAICT, there are multiple changes requested in various line. So I would=
 rather prefer if this is respinned.
>> If this is the only patch that requires to change. You could send a new =
one in reply-to this patch. I think b4 is clever enough to pick up the new =
version in that case.
>=20
> I was wrong. b4 didn't picked up the new version. Anyway, I have applied =
the new patch and send to gitlab for testing. I will merge it once it passe=
s.

Thanks a lot for that!

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 10:41:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 10:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711333.1111211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rza4K-0008D8-Vf; Wed, 24 Apr 2024 10:41:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711333.1111211; Wed, 24 Apr 2024 10: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 1rza4K-0008D1-SH; Wed, 24 Apr 2024 10:41:40 +0000
Received: by outflank-mailman (input) for mailman id 711333;
 Wed, 24 Apr 2024 10:41:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jvOM=L5=fedoraproject.org=pjp@srs-se1.protection.inumbo.net>)
 id 1rza4J-0008Cv-D2
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 10:41:39 +0000
Received: from sonic312-19.consmr.mail.sg3.yahoo.com
 (sonic312-19.consmr.mail.sg3.yahoo.com [106.10.244.209])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37830694-0227-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 12:41:36 +0200 (CEST)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic312.consmr.mail.sg3.yahoo.com with HTTP; Wed, 24 Apr 2024 10:41:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37830694-0227-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1713955290; bh=ZHUvPf6x9dzkrjde/3+5mJAgiMDJMxVS/+99VE6c2yY=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From:Subject:Reply-To; b=SaAjN6QNH/fSe/eG+XFpfjPtnA3kYd3wNtlHJYUzSrLGvsiE08PxN5hf23dGO4LzUdOdTnYe2kvETvYfQ4XoQRJRj0lVxCCwbkdcngHE9YJH98ohcPUmG+Ews3Wi98Eob60J2ZdcF0EB0j357NxOW7T++DLjAlm3PrWA4hTVt3gSjDcBg7GuKGpuQJGUALuU/sHetxssxVbiib7WOUS8Rla+dZ6V7t9ITdcLfmM4NIS8iT7DRB4hcnB2CQs0whlLsuCTqc/NQhxzXvn5tby43teTBIa0h2amAz6QgDysj7tkb1005yXE5YV7lqYPc5SIhky/Q1fDkHkZMw4Ic8x4jQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1713955290; bh=kg9KoxasYPEFNCD0paJmxltZuTvH+uv4g6Lr0o59dcp=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=nejTjaLVkHAGS9kCRp+tLM2R/TrGvAp9FMQ0sitBQLguhyCLvZf+cFoosFY8OEeaa1MQvjViMKJC4V8dn6b9bMy7wFJrTxXn7VjsUJRTBwR6h/r+czP+2NfXWzaTehE3jJeo5+CXvVDVsijTrN/NDV65u/27YVPz5vBmsNWu1QtKUtYH/EW2dSLXXtmjTIfySlKE9AlYWnvF7/33v7APX5inQqzx9jDEScBCg0yExBlx+JOVBZ5YLuqhTUcYQnd97Dps5iOvy+tUQgIeymh3Qg+8jntSIH1vCRZCG19EqNtAMEfohJv91SdG94x89dEZzwfjkBB4nTJlboaCi8zXNw==
X-YMail-OSG: RzG42BQVM1kkuzeaNYR0Yh6VS0p6dHqZwNmrfDpOtjjQ5iB8lyeyd7Ki9oO9eyG
 SPu..wufyX7_qkglontsh0stzWLY6VC3QlUD_tRHb1Hs4TJD_R9RNHwR3RTAPw9HzMKzFsqoD82y
 gMkDXeq79.CEamoVQ5edEZEqsWAwF9fuhMnrq0oUPTTLPoNa1YHtJGx.2CB4Kmy.HEju5z9ObdMU
 G2NSZsgGsTRBDR.oyo8FnezSGSjagJqFsh_N.mjd7fnK91D0MNYpopEilAt9nrC.9sjTHcNOWOVO
 MyXO4fSPtzPg7WXtxNDq4V9LoBs2I_YbFvniwSLuceQePXepvneoMLZmBi3q4TF6zH2RlunSxZdz
 79xHzCY.5Qx27esq39A7tYW8sX_MdcjhQBKx6b0C6JqRCABuPand16_bEgJRRvbuYgnYtfhiThZx
 fHmLuwCEhr7sm5JxhcVxV2wlwO6q.loORBTwNrMz6g3cUTFq255L7mfZ5oyPVBoGYK8HF779kb1r
 Ipno8pA6OSH796YVNd_0ErH1krteIJrmkhs5zZeWJjMgdL_Es0kjssMDgahPZf4h8uczEpfYpByo
 7nzYoMCGrEGLPkBS4K6Rnf56839JbGdNRTesozLQze22ok5.1OWb.PZsWOVoiUpJDdnruIjfJ6XR
 iU2GLxwwgZbnacprLrCCNpN9uawaQegDE4Bxfc2h.kT5ezMSTfCU6UfdvYTe4qPyb_QJnro4CF_v
 r2SE87Fo3tbhYhDn__DNBg2GGdX1hIWrFYIcTcIgY.JTObMoF_NqRdO02UqIslR5LqwFduaLcymm
 fKht4fCRtj5pyVoLjufLdkzLQ.J_X0vvF6Cj6gLmgBvlIfbIqbcU6LOkWMOzEcnsAvZdli4e1uTx
 Vcj1oY45DYEhhs12Xw2yLqDxqYUEy4dgnigTVQXVlZdXViyqqFbHS7NOkd1SZ3IGP6HJx6wBuJPF
 mJltsm2Rez6l179mNg5roR6cinpMRFsn.IekVF3TmVMytn49Lr8dx1JJR9YSb2Xm9iZkS9vgVPUd
 zkuOm81Yl0S2PU8UVmkKDF96245ujaSu1V6rQhjPtqoM8NzZfgORWBjgRrPZ6UgEGVcm7ihOxuKY
 F1cxMqb9WqwHo3TwIzrWLz.EzfwlpLrGjv4NEbQOhi4GaJRqZOMstXq4_c9tdqo2J9dYewNuONNZ
 x.PzgxL8HYixeYmZWw5R458Q.Y58CbtgWHZ7MgAL8m9wmIgPHf6NokWgH5jAuNCFH8AD3aDOUtOK
 09AZI0DpZWf4rsRLmdn7nIrXwS5DTB1Z01N9AHGO1wuA1SAB7u5wLp3UERNfpaZKiGAsd6J3PnYR
 6Slk6Jg2jp25r_REjuJ_EWMOVVHmLQA53qHvMTlcHqdB.8xZwXcqbghsht8cGpOPky7c48XdLuWN
 qbVzgTtD7jyaJDaML_H4Ra7WBNYf60uxnZ5cEG7GrigLBwcyKc69welUL.8ANcOrDg518ECBa5yc
 ykdQ9hYCRLtYKT2K3nZ.uMeFAs5faK9BytF7dOlQSKmHsrQoJDx00mOVzs5qTL_2iaLC2HvbLfWK
 byCXaSrDVLm2q4mIEq3ElmEUTTd5rg1.NJ5Tv1aY_5jTPbjOatVjSmy4um94Be4hhUWgwPVHQ2Jq
 94UCG9bnAFjkgwIQ8a6bnE6VdBcMCamE5lB5QGghitFU4wkct9qm3Ds9TuVNDohCEQPXmUs3Qins
 naGUgbMwgrMceagQO_uiUmfwm5ZQDNwN5JhxX3kTog5.tD.NeD3A1TgIa_Z.ZU3xzEdH4pZDMj5d
 joZ5eHsKusHNj5LNNrS_AAMlR2uYt5vmcI.MgGmG1uLwKV3nm0qzF.H83DkguHhO5oKHy6VQOl1y
 g2R3B8wAoy.Ibhpy4tYlqOXP0xDvWqTfI91NBxw_8UdFzZgi_x6TMvD_qcPcqANIiiWQbMB1T8iO
 .BfM6uDOvVWTQvrQZ4QGNe7o3InViE6k8xCJEWLzTXGEU1aig6Hx.6JOPjmlIqgkzFFufi._zSat
 eWnicVZ4rA1WngBVRoah217UWSi_GiLdJM7CuP56v9M4iKrNbEsbqKJs9X02tMVp_r6_66L_VmEG
 .hHY2Y2OBLYuD6h8Osjrhg6x1utxsD6vvxk.nmQQASu4y44cwGdAVFoz5S9pqxHRwrtm2vt25zic
 uvPnm3soZvKhbXRvNRHXiEe7YjotRbLSwuV8SBl6DPXUZ36fcj9iH7HD6I4R7BojsGwCo6oab9GM
 poaS3xAK48tHB1ewu7PGP9gXx0HM99tEfZGdh0t17.vMc42ZKCR6v060-
X-Sonic-MF: <pjp@fedoraproject.org>
X-Sonic-ID: de48d154-cc05-4d84-9995-646901de3d4e
Date: Wed, 24 Apr 2024 10:41:26 +0000 (UTC)
From: Prasad Pandit <pjp@fedoraproject.org>
Reply-To: Prasad Pandit <pj.pandit@yahoo.in>
To: Mauro Matteo Cascella <mcascell@redhat.com>, 
	Akihiko Odaki <akihiko.odaki@daynix.com>, 
	=?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: Alexander Bulekov <alxndr@bu.edu>, 
	Dmitry Fleytman <dmitry.fleytman@gmail.com>, 
	Beniamino Galvani <b.galvani@gmail.com>, 
	Peter Maydell <peter.maydell@linaro.org>, 
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>, 
	Jason Wang <jasowang@redhat.com>, 
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
	Alistair Francis <alistair@alistair23.me>, 
	Stefan Weil <sw@weilnetz.de>, 
	=?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, 
	Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, 
	Richard Henderson <richard.henderson@linaro.org>, 
	Helge Deller <deller@gmx.de>, 
	Sriram Yagnaraman <sriram.yagnaraman@est.tech>, 
	Thomas Huth <huth@tuxfamily.org>, 
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, 
	Subbaraya Sundeep <sundeep.lkml@gmail.com>, 
	Jan Kiszka <jan.kiszka@web.de>, Tyrone Ting <kfting@nuvoton.com>, 
	Hao Wu <wuhaotsh@google.com>, Max Filippov <jcmvbkbc@gmail.com>, 
	Jiri Pirko <jiri@resnulli.us>, 
	Daniel Henrique Barboza <danielhb413@gmail.com>, 
	David Gibson <david@gibson.dropbear.id.au>, 
	Greg Kurz <groug@kaod.org>, 
	Harsh Prateek Bora <harshpb@linux.ibm.com>, 
	Sven Schnelle <svens@stackframe.org>, 
	"Michael S. Tsirkin" <mst@redhat.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony Perard <anthony.perard@citrix.com>, 
	Paul Durrant <paul@xen.org>, Rob Herring <robh@kernel.org>, 
	Gerd Hoffmann <kraxel@redhat.com>, 
	"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, 
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, 
	"qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <1497808863.2030924.1713955286878@mail.yahoo.com>
In-Reply-To: <ac66952e-4281-4250-96f4-dc3d5b518d24@linaro.org>
References: <20230601031859.7115-1-akihiko.odaki@daynix.com> <20230601031859.7115-2-akihiko.odaki@daynix.com> <ac66952e-4281-4250-96f4-dc3d5b518d24@linaro.org>
Subject: Re: [PATCH v2 1/2] net: Provide MemReentrancyGuard * to
 qemu_new_nic()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: WebService/1.1.22256 YMailNorrin
Content-Length: 975

On Wednesday, 24 April, 2024 at 03:36:01 pm IST, Philippe Mathieu-Daud=C3=
=A9 wrote:
>On 1/6/23 05:18, Akihiko Odaki wrote:
>> Recently MemReentrancyGuard was added to DeviceState to record that the
>> device is engaging in I/O. The network device backend needs to update it
>> when delivering a packet to a device.
>>=C2=A0
>> In preparation for such a change, add MemReentrancyGuard * as a
>> parameter of qemu_new_nic().
>
>An user on IRC asked if this patch is related/fixing CVE-2021-20255,
>any clue?

* CVE-2021-20255 bug: infinite recursion is pointing at a different fix pat=
ch.
=C2=A0 ->=C2=A0https://bugzilla.redhat.com/show_bug.cgi?id=3DCVE-2021-20255

* And the this patch below has different issue tagged
=C2=A0 ->=C2=A0https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg=
08312.html
=C2=A0 Fixes: CVE-2023-3019


* They look different, former is an infinite recursion issue and the latter=
 is a use-after-free one.


Thank you.
---
=C2=A0 -Prasad


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 11:39:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 11:39:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711338.1111221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzayb-0007wM-5j; Wed, 24 Apr 2024 11:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711338.1111221; Wed, 24 Apr 2024 11: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 1rzayb-0007wF-2i; Wed, 24 Apr 2024 11:39:49 +0000
Received: by outflank-mailman (input) for mailman id 711338;
 Wed, 24 Apr 2024 11:39:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzayZ-0007w9-R9
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 11:39:47 +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 58663daa-022f-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 13:39:44 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-41af670185fso6414585e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 04:39: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
 k41-20020a05600c1ca900b00417e8be070csm23718703wms.9.2024.04.24.04.39.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 04: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: 58663daa-022f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713958784; x=1714563584; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=b7KIuCADTkXcjbasYRUoemsQiJhdGyC9MiTNidz7eh4=;
        b=TPg5dJaSBEC8xQyHqU9eiGFvdRy9D8RE64w1sssuu8lc+7UtzzBCLppflnQ/0Ccsqi
         VZc/nXg8V5GDjQ9ZFwzVmPqf03OBlGM9m5OYA0HvAiB7gb7k7zWz3jeGwnpSdiAKC539
         5lkqr+n/T9FUcGlWLNmkgJSTwuTRromrxtOE9iz3yRgH1kzadmG3FkT47jDPe1Sy+el9
         t7TLfLNmzWOnSWGBE8+vZIbMgJYAlOGjPrrB5CoyW04cjDCc4pGpDAc2a3H2MBoI7NrF
         xP9FeVbSAZZkvqHGwKzDqRo/H0/iA5PKYnsNrFdlrT30vE8U+SdDd2guyzPFt8oBFm9s
         P+Ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713958784; x=1714563584;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=b7KIuCADTkXcjbasYRUoemsQiJhdGyC9MiTNidz7eh4=;
        b=Xc7FnZwZo77bq0N4TWf8mBpSl3s31LMdJ5HmuuWdzfPfJJrMyqnWIjijPkHWJGGobz
         Do2nOaKk4YhWYCKuJBBNVBAoR3+er8BBy1y+WWh8+UceEF/frbn/HpIbMun472L7LluI
         h4HaeC6WsCFFN0yn72CnJ5cKmQXihEiDmsDKjOklp3zmapgWBQC1BJO/6P0KgyKfBPgy
         N92DJPDOfczj4qUD95Rac+TlYzYQusqJsZ3FgtcXVDmr7UeB/iGHVncw8E2+tGH7AYTP
         3BioD/cfDxdUhkGjYnO/zmXjX9ULI6N14+1pDIc3J+lQgHkueo7GQKllRwRKcxOuHFit
         BAlg==
X-Gm-Message-State: AOJu0YyOY4GD8Q1PUyevhbwTMPBknxeajaQ5Q5ERJDY4qIWd2usNCLgx
	w6q8Zm+A6JiF3shh4YPDpwTRnkvnduZuFeBF4LoYPic6BYVjoqHVKL3BTRAvdw==
X-Google-Smtp-Source: AGHT+IEJ67o0auzetnAd6o/S6H9AUNUanhe40CAWvEjndw50gD0AOmKwi39HXjBY8k8KbFRyLtS70w==
X-Received: by 2002:a5d:4288:0:b0:34a:b682:7978 with SMTP id k8-20020a5d4288000000b0034ab6827978mr1486676wrq.42.1713958783808;
        Wed, 24 Apr 2024 04:39:43 -0700 (PDT)
Message-ID: <5a1e618d-f149-4dcf-8e50-374c40cb187b@suse.com>
Date: Wed, 24 Apr 2024 13:39:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] x86/P2M: un-indent write_p2m_entry()
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <52b4b0d8-1761-45c7-b6e6-91e1c308209c@suse.com> <ZijN9l4crUTi_-LA@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZijN9l4crUTi_-LA@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 11:16, Roger Pau Monné wrote:
> On Tue, Apr 23, 2024 at 04:32:14PM +0200, Jan Beulich wrote:
>> Drop the inner scope that was left from earlier if/else removal. Take
>> the opportunity and make the paging_unlock() invocation common to
>> success and error paths, though.
> 
> TBH I'm not sure I prefer the fact to continue function execution
> after an error is found, I specially dislike that you have to add a
> !rc check to the nestedhvm conditional block, and because anything
> that we further add to the function would also need a !rc check.
> 
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

> Albeit I do prefer the extra call to paging_unlock() and early return
> from the function in case of error.

Which puts me in the middle of your preference and the one George voiced
in the context of what is now cc950c49ae6a ("x86/PoD: tie together P2M
update and increment of entry count"). Doing the extra adjustment was
merely in the hope of meeting his desires ...

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 11:41:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 11:41:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711341.1111231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzb0E-0000wF-Jw; Wed, 24 Apr 2024 11:41:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711341.1111231; Wed, 24 Apr 2024 11: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 1rzb0E-0000w8-GW; Wed, 24 Apr 2024 11:41:30 +0000
Received: by outflank-mailman (input) for mailman id 711341;
 Wed, 24 Apr 2024 11:41: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzb0C-0000w2-UM
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 11:41:28 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9575c6da-022f-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 13:41:26 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-41a1d2a7b81so4611975e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 04:41: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
 l6-20020a05600c4f0600b0041a0f3d92c7sm13881885wmq.2.2024.04.24.04.41.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 04:41: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: 9575c6da-022f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713958886; x=1714563686; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cF3eY5/WF6uT7gyBukzgqAMdJzbK2KNdBprWZkkybyk=;
        b=aLFtwEsUghRK06B65cwZ8vy9r69cw1fGjHfUaD/Edpmsx8SoNLJ29EOZnXJIpgGmnK
         OgsccsjHLPTriiGGlE5tqPSjFmVkkzo4FOIBmvADT7mjPqytei9cDAQKTNgJrAEpg3aK
         1HIIF2MASvQ0AVBcpf9NMn9orccmtL9/I3GZQPoGrik2faOmyS21ujgKw53gXoBmAJs3
         eGHmFEFaBm7VmIfQhJBiB+gdEu9uVNQ7pbxhrKjHhmZvK+sxLOf12HHCljKhh5uOc1a3
         UM1MFVZpOuw0FyunFagYFMgxLtFhUtE58XAd+w8AZAgE3tKRD3Psh6bzxCbHP88IG2j6
         zu7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713958886; x=1714563686;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=cF3eY5/WF6uT7gyBukzgqAMdJzbK2KNdBprWZkkybyk=;
        b=rodzQCHm96LDPwnv7dV1sJmLzZ+oD7wwfMYhy9WcYpvhJyL3AKUlDU+wO1G97xztc3
         KGBj6Hpe1UYBXm8P51KK6VaEH2lNzxohtprr9SgNiiFGpVUCJ2I4EUcuyRSe4dsRUoo+
         7wumyzzCOoo9NTnzLHCf+Fx33DhHBBJ1sgudsaTpqvXIkh5oz5EGyRd78Rb0mhqmLni0
         5t8YZOtDZkSnrvIKnAcMPSvECwgLhd4TGddPkJ7a0hzB3gxTV+j92GYcMYi3noprUg6r
         vENqfkauyWn//kXuZvL0yo1tfpitSBABEmhVmALduqOVnAArncUghhfi6LSs3gAHHxJo
         cjtA==
X-Gm-Message-State: AOJu0YwJmdHhVJRoR+mYOAATa5D4Tc1Drk+nOokNcfoKIhU8yVCu25KH
	ujbruzuQ3g+yBBwgPGMhaWoMQoIgxg084s2N2FXsG6m84FB+hz2vfiyZ3+ZCmHPpEbv703aPhzE
	=
X-Google-Smtp-Source: AGHT+IF8V/XwuY82KtBB0nqOAQWL/RsTMhVCyl5FkSF/n1UbX1vub6AwPP66J/2yd2GceaCE/H+qIw==
X-Received: by 2002:a5d:68c8:0:b0:34b:7074:6848 with SMTP id p8-20020a5d68c8000000b0034b70746848mr3485638wrw.20.1713958886298;
        Wed, 24 Apr 2024 04:41:26 -0700 (PDT)
Message-ID: <ea6c1806-e8c3-4c0a-b3ad-a7550b66ba59@suse.com>
Date: Wed, 24 Apr 2024 13:41:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] x86/paging: vCPU host mode is always set
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <67805c1f-7187-446c-a5c4-14be8f170f11@suse.com> <ZijSFzOAeo1SfSrb@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZijSFzOAeo1SfSrb@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 11:34, Roger Pau Monné wrote:
> On Tue, Apr 23, 2024 at 04:32:32PM +0200, Jan Beulich wrote:
>> ... thanks to paging_vcpu_init() being part of vCPU creation. Further
>> if paging is enabled on a domain, it's also guaranteed to be either HAP
>> or shadow. Drop respective unnecessary (parts of) conditionals.
> 
> Is there some commit that changed when arch.paging.mode gets set, so
> that this is actually safe to do now, but not when the code in
> paging_dump_vcpu_info() was introduced?
> 
> I get the feeling we want to reference some change here in order to
> explain why is now always guaranteed to be set.

I was indeed meaning to, but when I found the same even in 3.2, I stopped
searching further.

>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 11:44:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 11:44:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711343.1111241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzb3N-00020X-1i; Wed, 24 Apr 2024 11:44:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711343.1111241; Wed, 24 Apr 2024 11:44: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 1rzb3M-00020Q-V6; Wed, 24 Apr 2024 11:44:44 +0000
Received: by outflank-mailman (input) for mailman id 711343;
 Wed, 24 Apr 2024 11:44:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzb3L-00020G-Ia
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 11:44:43 +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 0985c20d-0230-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 13:44:41 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-343c7fae6e4so5949266f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 04:44: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
 n2-20020adfe342000000b00343eac2acc4sm16906527wrj.111.2024.04.24.04.44.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 04:44: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: 0985c20d-0230-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713959081; x=1714563881; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=zTGkN2qP04dPEtnLqWKlC3X2JGpHT5+c9WESnQBrOmU=;
        b=PlnHr/2oL5iqknQy3HI6jdl1wkTZxcecZkuDlLwbHhG4XwrL8b4XkbYX3Gh02N8BHd
         GsP4WTzKF4/KfsbhPVPWnozuwvsrXZkC5CCqSSLyb8ty6Kn1vvwgMyhcGgXPz3GfQcXL
         gOnT0b0OrBwXKsHan+DFD8/5SrR/s8XLuFcxdI/JFBvS1Nnr59c0YEjE4giHv6XOMN2Z
         Hf8utBE2KMmiKDfmzOyLAq51zFG4QXQ3HT+sppoS9gKoxBlI5CQ35pgPU4J0UFAgBCju
         OGZO1lnIJGMkVYkxpa9IAJvHp1dNeny5THiQe5okBBcXX+LWENzyqjaLGSkJ1E7GXH8j
         pLnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713959081; x=1714563881;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=zTGkN2qP04dPEtnLqWKlC3X2JGpHT5+c9WESnQBrOmU=;
        b=Yg7TNVbS9IWD7U/zQ5RbHMdbPvO3rBWuniZii60m3Qtp2VmvVi9l/mVpS7Hyp7eD7f
         CpE3BjTjX7vOomZkMXLVPxxw0t1dJF6FamF31qtqXCsDtbYgLZx7BKeATBVgrvpZvrWH
         T+sYIkfBFeHwJWoR4HER7IRR0DNrpVXJ0RyUTYFin/dfm2cxzODPQDzzYUFf3WFCVihO
         DcYssAls8UubcpZaL25kY7Jtaw4N8Vha/jl2UhG8rJoZH7hBE2lArhvl66cmXw/iex6P
         k8N1eAJ7eaWkSKvZSheqDdNdQ0FAMK/VGf2pl9bfx/+u17SdNLe2qKFlY7hc2fTvL+um
         c+mA==
X-Gm-Message-State: AOJu0YzYJ3WNwjJQkiGbMlIGIkJZHgHMYqcc377lxO2yU9tomD2M28yO
	2hiVuew1e9d92KHmT99jTzYZ7oSzIgMVL4Fu0lGwL4djamfEpNv1uMt4uV7g6WWyoiSaFMPlr14
	=
X-Google-Smtp-Source: AGHT+IEIQFheWOCOPc5oN5rXPESlSHTFQxundruWQ38lm6xMIVbaSJI+rbTSUmw0AXHB2FuYJA4pPQ==
X-Received: by 2002:adf:b34a:0:b0:343:772d:9349 with SMTP id k10-20020adfb34a000000b00343772d9349mr1260704wrd.50.1713959080990;
        Wed, 24 Apr 2024 04:44:40 -0700 (PDT)
Message-ID: <9b2d08c1-2bb0-4142-9722-0d2045041f2c@suse.com>
Date: Wed, 24 Apr 2024 13:44:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/shadow: correct shadow_vcpu_init()'s comment
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <fea51839-4405-4330-8493-c544b9edf035@suse.com> <ZijZldtvQ_e1h6ys@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZijZldtvQ_e1h6ys@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 12:06, Roger Pau Monné wrote:
> On Tue, Apr 23, 2024 at 04:33:09PM +0200, Jan Beulich wrote:
>> As of the commit referenced below the update_paging_modes() hook is per-
>> domain and hence also set (already) during domain construction.
>>
>> Fixes: d0816a9085b5 ("x86/paging: move update_paging_modes() hook")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/mm/shadow/common.c
>> +++ b/xen/arch/x86/mm/shadow/common.c
>> @@ -99,11 +99,12 @@ int shadow_domain_init(struct domain *d)
>>      return 0;
>>  }
>>  
>> -/* Setup the shadow-specfic parts of a vcpu struct. Note: The most important
>> - * job is to initialize the update_paging_modes() function pointer, which is
>> - * used to initialized the rest of resources. Therefore, it really does not
>> - * matter to have v->arch.paging.mode pointing to any mode, as long as it can
>> - * be compiled.
>> +/*
>> + * Setup the shadow-specific parts of a vcpu struct. Note: The
>> + * update_paging_modes() function pointer, which is used to initialize other
>> + * resources, was already set during domain creation. Therefore it really does
>> + * not matter to have v->arch.paging.mode pointing to any (legitimate) mode,
>> + * as long as it can be compiled.
> 
> Do you need to keep the last sentence?  If update_paging_modes is
> already set at domain create, the 'Therefore it really does...'
> doesn't seem to make much sense anymore, as it's no longer
> shadow_vcpu_init() that sets it.

I thought about dropping, but the "any mode does" seemed to me to be still
relevant to mention. I thought about re-wording, too, without coming to any
good alternative. Hence, despite agreeing with you that 'Therefore ...' does
not quite fit (anymore), I left that as is.

> Possibly with that dropped:
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 11:52:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 11:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711352.1111250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbAL-0003UN-Ng; Wed, 24 Apr 2024 11:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711352.1111250; Wed, 24 Apr 2024 11:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbAL-0003UG-Kz; Wed, 24 Apr 2024 11:51:57 +0000
Received: by outflank-mailman (input) for mailman id 711352;
 Wed, 24 Apr 2024 11:51: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzbAK-0003UA-JS
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 11:51:56 +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 0c325426-0231-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 13:51:55 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41af670185fso6513675e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 04:51: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
 jg3-20020a05600ca00300b0041affdeeb99sm1930354wmb.39.2024.04.24.04.51.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 04:51: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: 0c325426-0231-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713959515; x=1714564315; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=CaDhe/761gfbnKC64HJdDksjjTowgIpQ4bXmuv7L4qM=;
        b=RaiGuQysHg794nSnxoq6EfX7VliM+QiRvDowrn2VWXOeOxzYDI7IVYv68u1aSCrhAi
         UWXWj31U79IGmXGqHPNRyVo4WgGdtfzUngtasPWxDvQNJOeabawjitvCRLAmQ2SeaY4C
         CGAPQ0rKzXu1RJ8ePHFLdetEU8RqseAUcmS01bTKPiCMihceOkTswzaZPOHjiQ9apNm0
         IowYX9boHYofmiJsO1R5ZZFq/Koji6qP7cHlqiXXzBht6EcC7Ps4Lks3JstELcrHcTvu
         nF7ptYPFM8FjTAnfItYkZzw3t++2CRjaFud+K1M7vuRA7mpgXK//vG32xJgsFtIVkUvP
         xbQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713959515; x=1714564315;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CaDhe/761gfbnKC64HJdDksjjTowgIpQ4bXmuv7L4qM=;
        b=HJyPdJa86sWUADcEZe3XA3qFfSyljLIH/2GYsAWm+MVCYO+6PLhciZjXikEzv/cg9+
         QqgXeX/9ffSuWMVP2kvlkBJt7p09pqYJiZM2tqq/OuS8RZLzEs2j7Ca6s/C3MCypZsMD
         kI2gNWgedYnEz6GGHpU1XL05ZrhN6QvkUjADbNVFFI0f3u398NeU4Buiygo0pGaDoTt8
         rcPKzA8m3GTu20FV2SBGIpw0CpslISuF6QitjD92hWV1H8Y3/noJQpiGe40eNeEQ6Qyy
         X6/ajXjR9goG7Q4hYOJRR7b8F2RyjHc+C0WhpctLK1G0VuMcXgCXZbM21BxQKjO+qFFZ
         pbjA==
X-Forwarded-Encrypted: i=1; AJvYcCXe0AzmLWCn+Hm3IkEmCxEx6T/1Ncnz0Kf2xh6JUesuJXaBC8iqezaQMr8Qy0o5jnMA64VOlzFCI5/C4ExNzeFI2YAMy3tKHLieUuU1Bdo=
X-Gm-Message-State: AOJu0YzRzXOJp0maVNAY97G6Uvme7QqrJTf3pI0Bh2VvWYmPl+YCHsFU
	4uFfmXyjdR1se3609SEp7cdiJ/hpCXHh2zQhIrZMP1Gwo2ky/f5/av9yhcUbbg==
X-Google-Smtp-Source: AGHT+IHs7hMMYIENrlo7Hwr7WvkJNOZgQHtQmNURUdOYdaiQCOFkm1/TIBpkmqJuowZHxfcJIkrNZQ==
X-Received: by 2002:a05:600c:46cc:b0:418:ed13:302d with SMTP id q12-20020a05600c46cc00b00418ed13302dmr1778369wmo.26.1713959514794;
        Wed, 24 Apr 2024 04:51:54 -0700 (PDT)
Message-ID: <96513dca-e6c4-4dcc-9e0b-be5a92c06d11@suse.com>
Date: Wed, 24 Apr 2024 13:51:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012
 Rule 16.4
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <310e1dac8ecf2a85f1c552dbdad9093b1cfdcb98.1713946892.git.federico.serafini@bugseng.com>
 <891c21cf-695a-4b1d-b10b-53f23199380f@suse.com>
 <70252c73-e93b-4006-8acd-1e760db5aab7@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <70252c73-e93b-4006-8acd-1e760db5aab7@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 11:00, Federico Serafini wrote:
> On 24/04/24 10:30, Jan Beulich wrote:
>> On 24.04.2024 10:25, Federico Serafini wrote:
>>> Update ECLAIR configuration to take into account the deviations
>>> agreed during MISRA meetings for Rule 16.4.
>>>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>> ---
>>>   automation/eclair_analysis/ECLAIR/deviations.ecl |  8 ++++++++
>>>   docs/misra/deviations.rst                        | 13 +++++++++++++
>>>   2 files changed, 21 insertions(+)
>>>
>>
>> So what has changed here from v1? It looks all the same to me, with it still
>> remaining unclear what exactly ...
>>
>>> --- a/docs/misra/deviations.rst
>>> +++ b/docs/misra/deviations.rst
>>> @@ -334,6 +334,19 @@ Deviations related to MISRA C:2012 Rules:
>>>            - /\* Fallthrough \*/
>>>            - /\* Fallthrough. \*/
>>>   
>>> +   * - R16.4
>>> +     - Switch statements having a controlling expression of enum type
>>> +       deliberately do not have a default case: gcc -Wall enables -Wswitch
>>> +       which warns (and breaks the build as we use -Werror) if one of the enum
>>> +       labels is missing from the switch.
>>> +     - Tagged as `deliberate` for ECLAIR.
>>> +
>>> +   * - R16.4
>>> +     - A switch statement with a single switch clause and no default label may
>>> +       be used in place of an equivalent if statement if it is considered to
>>> +       improve readability.
>>> +     - Tagged as `deliberate` for ECLAIR.
>>> +
>>>      * - R16.6
>>>        - A switch statement with a single switch clause and no default label may
>>>          be used in place of an equivalent if statement if it is considered to
>>
>> ... a "switch clause" is.
> 
> I would define a switch clause as:
> "the non-empy list of statements which follows a non-empty list of
> case/default labels".
> If you agree, I will place it near the occurrences of the term
> "switch clause".

I'm afraid I don't (quite) agree, and I had hoped that I would have got my
point across that such a definition wants to be in terms used by the C spec.
"statement" is too broad here, as that in particular includes
"labeled-statement" as well. Ordinary labels are (aiui) okay to have in
there, so entirely excluding "labeled-statement" wouldn't be quite right
either.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:06:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:06:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711365.1111261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbOl-0006Rk-8F; Wed, 24 Apr 2024 12:06:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711365.1111261; Wed, 24 Apr 2024 12:06:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbOl-0006Rd-4c; Wed, 24 Apr 2024 12:06:51 +0000
Received: by outflank-mailman (input) for mailman id 711365;
 Wed, 24 Apr 2024 12:06: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 1rzbOk-0006RD-Dg; Wed, 24 Apr 2024 12:06: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 1rzbOk-0000rt-7w; Wed, 24 Apr 2024 12:06: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 1rzbOj-0001Ys-TG; Wed, 24 Apr 2024 12:06:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzbOj-000496-Sr; Wed, 24 Apr 2024 12:06:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=d36uez5GJlJwfuP3bgjc+sarAGEAawvbfZXqpjEg3x4=; b=fMPZONXDNkBKDERWsLzlOBi3kv
	rgYS+QbdmMuOG+Gy0KgQ/CdsEse/8XFSt+EAqEdgILvkanGrgwyt4CRBNZfxFTO05VsJ8Ppg6alBC
	Tu92NOjnDxemBewN0bRrOGJAdTM7qhfbQ7tcXH63q8ZDTeEoMWf+IuzqI3l5/BeSXVlk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185779-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185779: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-raw:xen-boot:fail:heisenbug
    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-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: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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
    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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9d1ddab261f3e2af7c384dc02238784ce0cf9f98
X-Osstest-Versions-That:
    linux=71b1543c83d65af8215d7558d70fc2ecbee77dcf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 12:06:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 185768
 test-armhf-armhf-libvirt-vhd  8 xen-boot                 fail REGR. vs. 185768

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw       8 xen-boot            fail pass in 185784-retest
 test-armhf-armhf-xl-credit1   8 xen-boot            fail pass in 185784-retest

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

version targeted for testing:
 linux                9d1ddab261f3e2af7c384dc02238784ce0cf9f98
baseline version:
 linux                71b1543c83d65af8215d7558d70fc2ecbee77dcf

Last test of basis   185768  2024-04-23 07:46:10 Z    1 days
Testing same since   185779  2024-04-24 00:13:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  David Howells <dhowells@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Ronnie Sahlberg <lsahlber@redhat.com>
  Steve French <stfrench@microsoft.com>
  Takayuki Nagata <tnagata@redhat.com>
  Tom Talpey <tom@talpey.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                  fail    
 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                                 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


Not pushing.

------------------------------------------------------------
commit 9d1ddab261f3e2af7c384dc02238784ce0cf9f98
Merge: 71b1543c83d6 77d8aa79ecfb
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Apr 23 09:37:32 2024 -0700

    Merge tag '6.9-rc5-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
    
    Pull smb client fixes from Steve French:
    
     - fscache fix
    
     - fix for case where we could use uninitialized lease
    
     - add tracepoint for debugging refcounting of tcon
    
     - fix mount option regression (e.g. forceuid vs. noforceuid when uid=
       specified) caused by conversion to the new mount API
    
    * tag '6.9-rc5-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: reinstate original behavior again for forceuid/forcegid
      smb: client: fix rename(2) regression against samba
      cifs: Add tracing for the cifs_tcon struct refcounting
      cifs: Fix reacquisition of volume cookie on still-live connection

commit 77d8aa79ecfb209308e0644c02f655122b31def7
Author: Takayuki Nagata <tnagata@redhat.com>
Date:   Mon Apr 15 16:47:49 2024 +0900

    cifs: reinstate original behavior again for forceuid/forcegid
    
    forceuid/forcegid should be enabled by default when uid=/gid= options are
    specified, but commit 24e0a1eff9e2 ("cifs: switch to new mount api")
    changed the behavior. Due to the change, a mounted share does not show
    intentional uid/gid for files and directories even though uid=/gid=
    options are specified since forceuid/forcegid are not enabled.
    
    This patch reinstates original behavior that overrides uid/gid with
    specified uid/gid by the options.
    
    Fixes: 24e0a1eff9e2 ("cifs: switch to new mount api")
    Signed-off-by: Takayuki Nagata <tnagata@redhat.com>
    Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Acked-by: Tom Talpey <tom@talpey.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 18d86965e31f9be4d477da0744a7cdc9815858de
Author: Paulo Alcantara <pc@manguebit.com>
Date:   Fri Apr 19 12:05:07 2024 -0300

    smb: client: fix rename(2) regression against samba
    
    After commit 2c7d399e551c ("smb: client: reuse file lease key in
    compound operations") the client started reusing lease keys for
    rename, unlink and set path size operations to prevent it from
    breaking its own leases and thus causing unnecessary lease breaks to
    same connection.
    
    The implementation relies on positive dentries and
    cifsInodeInfo::lease_granted to decide whether reusing lease keys for
    the compound requests.  cifsInodeInfo::lease_granted was introduced by
    commit 0ab95c2510b6 ("Defer close only when lease is enabled.") to
    indicate whether lease caching is granted for a specific file, but
    that can only happen until file is open, so
    cifsInodeInfo::lease_granted was left uninitialised in ->alloc_inode
    and then client started sending random lease keys for files that
    hadn't any leases.
    
    This fixes the following test case against samba:
    
    mount.cifs //srv/share /mnt/1 -o ...,nosharesock
    mount.cifs //srv/share /mnt/2 -o ...,nosharesock
    touch /mnt/1/foo; tail -f /mnt/1/foo & pid=$!
    mv /mnt/2/foo /mnt/2/bar # fails with -EIO
    kill $pid
    
    Fixes: 0ab95c2510b6 ("Defer close only when lease is enabled.")
    Signed-off-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit afc23febd51c7e24361e3a9c09f3e892eb0a41ea
Author: David Howells <dhowells@redhat.com>
Date:   Thu Apr 4 13:51:36 2024 +0100

    cifs: Add tracing for the cifs_tcon struct refcounting
    
    Add tracing for the refcounting/lifecycle of the cifs_tcon struct, marking
    different events with different labels and giving each tcon its own debug
    ID so that the tracelines corresponding to individual tcons can be
    distinguished.  This can be enabled with:
    
            echo 1 >/sys/kernel/debug/tracing/events/cifs/smb3_tcon_ref/enable
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    cc: Shyam Prasad N <nspmangalore@gmail.com>
    cc: linux-cifs@vger.kernel.org
    cc: linux-fsdevel@vger.kernel.org
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit dad80c6bff770d25f67ec25fe011730e4a463008
Author: David Howells <dhowells@redhat.com>
Date:   Thu Apr 4 16:05:19 2024 +0100

    cifs: Fix reacquisition of volume cookie on still-live connection
    
    During mount, cifs_mount_get_tcon() gets a tcon resource connection record
    and then attaches an fscache volume cookie to it.  However, it does this
    irrespective of whether or not the tcon returned from cifs_get_tcon() is a
    new record or one that's already in use.  This leads to a warning about a
    volume cookie collision and a leaked volume cookie because tcon->fscache
    gets reset.
    
    Fix this be adding a mutex and a "we've already tried this" flag and only
    doing it once for the lifetime of the tcon.
    
    [!] Note: Looking at cifs_mount_get_tcon(), a more general solution may
    actually be required.  Reacquiring the volume cookie isn't the only thing
    that function does: it also partially reinitialises the tcon record without
    any locking - which may cause live filesystem ops already using the tcon
    through a previous mount to malfunction.
    
    This can be reproduced simply by something like:
    
        mount //example.com/test /xfstest.test -o user=shares,pass=xxx,fsc
        mount //example.com/test /mnt -o user=shares,pass=xxx,fsc
    
    Fixes: 70431bfd825d ("cifs: Support fscache indexing rewrite")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    cc: Shyam Prasad N <sprasad@microsoft.com>
    cc: linux-cifs@vger.kernel.org
    cc: linux-fsdevel@vger.kernel.org
    Signed-off-by: Steve French <stfrench@microsoft.com>


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:17:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:17:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711373.1111277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbYq-00007i-Ii; Wed, 24 Apr 2024 12:17:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711373.1111277; Wed, 24 Apr 2024 12:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbYq-00006V-Cx; Wed, 24 Apr 2024 12:17:16 +0000
Received: by outflank-mailman (input) for mailman id 711373;
 Wed, 24 Apr 2024 12:12: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=RcL4=L5=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1rzbTl-0007vC-89
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:12:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da06f5eb-0233-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 14:11:59 +0200 (CEST)
Received: from LAPTOP-EFA9O91E.localdomain
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 51EB44EE073F;
 Wed, 24 Apr 2024 14:11: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: da06f5eb-0233-11ef-909a-e314d9c70b13
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 2/2] x86/msr: add suffix 'U' to MSR_AMD_CSTATE_CFG macro.
Date: Wed, 24 Apr 2024 14:11:33 +0200
Message-Id: <ec689584e80421d7ffa5b1c0f576ed60b84aeda3.1713956723.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
References: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This addresses violations of MISRA C:2012 Rule 7.2 which states as
following: A “u” or “U” suffix shall be applied to all integer constants
that are represented in an unsigned type.

No functional change.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
 xen/arch/x86/include/asm/msr-index.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 92dd9fa496..9cdb5b2625 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -236,7 +236,7 @@
 
 #define MSR_VIRT_SPEC_CTRL                  _AC(0xc001011f, U) /* Layout matches MSR_SPEC_CTRL */
 
-#define MSR_AMD_CSTATE_CFG                  0xc0010296
+#define MSR_AMD_CSTATE_CFG                  0xc0010296U
 
 /*
  * Legacy MSR constants in need of cleanup.  No new MSRs below this comment.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:17:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:17:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711372.1111271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbYq-0008WV-Af; Wed, 24 Apr 2024 12:17:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711372.1111271; Wed, 24 Apr 2024 12:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbYq-0008WO-7B; Wed, 24 Apr 2024 12:17:16 +0000
Received: by outflank-mailman (input) for mailman id 711372;
 Wed, 24 Apr 2024 12:12: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=RcL4=L5=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1rzbTk-0007vC-Jt
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:12:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9c5bf2b-0233-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 14:11:59 +0200 (CEST)
Received: from LAPTOP-EFA9O91E.localdomain
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id A6F134EE0739;
 Wed, 24 Apr 2024 14:11: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: d9c5bf2b-0233-11ef-909a-e314d9c70b13
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 0/2] x86: address remaining violation of Rule 7.2
Date: Wed, 24 Apr 2024 14:11:31 +0200
Message-Id: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This patch series addresses the last violations of MISRA C:2012 Rule 7.2.
This rule will soon be tagged as clean for ECLAIR in a future patch. 

Alessandro Zucchelli (2):
  pci: add suffix 'U' to PCI_CONF_ADDRESS macro.
  x86/msr: add suffix 'U' to MSR_AMD_CSTATE_CFG macro.

 xen/arch/x86/include/asm/msr-index.h | 2 +-
 xen/arch/x86/x86_64/pci.c            | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:17:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:17:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711374.1111281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbYq-0000Ej-P6; Wed, 24 Apr 2024 12:17:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711374.1111281; Wed, 24 Apr 2024 12:17:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbYq-0000Ak-Ji; Wed, 24 Apr 2024 12:17:16 +0000
Received: by outflank-mailman (input) for mailman id 711374;
 Wed, 24 Apr 2024 12:12: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=RcL4=L5=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1rzbTl-0007vM-Ks
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:12:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9c9d17a-0233-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 14:11:59 +0200 (CEST)
Received: from LAPTOP-EFA9O91E.localdomain
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 0A2E74EE073D;
 Wed, 24 Apr 2024 14:11: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: d9c9d17a-0233-11ef-b4bb-af5377834399
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 1/2] pci: add suffix 'U' to PCI_CONF_ADDRESS macro.
Date: Wed, 24 Apr 2024 14:11:32 +0200
Message-Id: <10dc3a59085c801c91551625c036fcc9e5eb4729.1713956723.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
References: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This addresses violations of MISRA C:2012 Rule 7.2 which states as
following: A “u” or “U” suffix shall be applied to all integer constants
that are represented in an unsigned type.

No functional change.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
 xen/arch/x86/x86_64/pci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_64/pci.c b/xen/arch/x86/x86_64/pci.c
index aad1c3f7cf..8d33429103 100644
--- a/xen/arch/x86/x86_64/pci.c
+++ b/xen/arch/x86/x86_64/pci.c
@@ -9,7 +9,7 @@
 #include <asm/io.h>
 
 #define PCI_CONF_ADDRESS(sbdf, reg) \
-    (0x80000000 | ((sbdf).bdf << 8) | ((reg) & ~3))
+    (0x80000000U | ((sbdf).bdf << 8) | ((reg) & ~3))
 
 uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg)
 {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:23:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:23:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711390.1111300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbfE-0002rt-K1; Wed, 24 Apr 2024 12:23:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711390.1111300; Wed, 24 Apr 2024 12:23:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbfE-0002rm-HU; Wed, 24 Apr 2024 12:23:52 +0000
Received: by outflank-mailman (input) for mailman id 711390;
 Wed, 24 Apr 2024 12:23:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S7Hn=L5=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzbfC-0002oV-Qw
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:23:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81398c7e-0235-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 14:23:49 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 84E704EE0739;
 Wed, 24 Apr 2024 14:23:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81398c7e-0235-11ef-909a-e314d9c70b13
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH] automation/eclair: add deviation of MISRA C:2012 Rule 14.4
Date: Wed, 24 Apr 2024 14:23:41 +0200
Message-Id: <899a456dc9fcd9ceb55efdfb95e71d0abd997700.1713961291.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to take into account the deviations
agreed during MISRA meetings.

Amend an existing entry of Rule 14.4 in deviations.rst:
it is not a project-wide deviation.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
 docs/misra/deviations.rst                        | 8 +++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d21f112a9b..f1a29389fd 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -349,6 +349,10 @@ therefore have the same behavior of a boolean"
 -config=MC3R1.R14.4,etypes+={deliberate, "stmt(child(cond,child(expr,ref(^<?domain>?::is_dying$))))","src_type(enum)"}
 -doc_end
 
+-doc_begin="A controlling expression of 'if' and iteration statements having integer, character or pointer type has a semantics that is well-known to all Xen developers."
+-config=MC3R1.R14.4,etypes+={deliberate, "any()", "src_type(integer||character)||src_expr(type(desugar(pointer(any()))))"}
+-doc_end
+
 #
 # Series 16.
 #
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index ed0c1e8ed0..a9d9cca04d 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -294,7 +294,13 @@ Deviations related to MISRA C:2012 Rules:
      - The XEN team relies on the fact that the enum is_dying has the
        constant with assigned value 0 act as false and the other ones as true,
        therefore have the same behavior of a boolean.
-     - Project-wide deviation; tagged as `deliberate` for ECLAIR.
+     - Tagged as `deliberate` for ECLAIR.
+
+   * - R14.4
+     - A controlling expression of 'if' and iteration statements having
+       integer, character or pointer type has a semantics that is well-known to
+       all Xen developers.
+     - Tagged as `deliberate` for ECLAIR.
 
    * - R16.2
      - Complying with the Rule would entail a lot of code duplication in the
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:38:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711399.1111311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzbtV-00056E-Rs; Wed, 24 Apr 2024 12:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711399.1111311; Wed, 24 Apr 2024 12: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 1rzbtV-000567-P8; Wed, 24 Apr 2024 12:38:37 +0000
Received: by outflank-mailman (input) for mailman id 711399;
 Wed, 24 Apr 2024 12:38:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzbtU-000561-BB
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:38: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 9051f990-0237-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 14:38:34 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41b21ed19f6so1236245e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 05:38: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
 y18-20020a056000109200b00343300a4eb8sm16112016wrw.49.2024.04.24.05.38.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 05:38: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: 9051f990-0237-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713962313; x=1714567113; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=46NTZ6aWj+eAuL4Ty5YilUgLAS+nhlxqWyGEeOt+qvw=;
        b=N9SwDSJRCX8mSSucCF39wZ6FWCXRcQ2wWuJcu3GR0AZJ7vKAT3SVIX3GmwdmZXeEwp
         fCFYmhUjd0ruQOai6JmgoRP9RC+bQ7UaB57zWPXQxO1t/y7/tEpBEweEZO3Ef1RShjbC
         KzysWl5b8SYDKPwBJ8b0TA9rBLhWMc6Q1SCIiuwKTR/6izZ+PTw3jUtbSTfQOtcJ4aLh
         nPpT76sjNeBZT/f9+H+lCYXn75rphZ4NOg8s19iLKbdaMV0aB8cmj6NA+Zzd9EHRC1/S
         BWYo+RuJjr479vgKdNCIA/G10Qhmc34J8XTxyaI2LVmMVHLO1+xPIuR/xyFKDCTI2YRe
         VeYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713962313; x=1714567113;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=46NTZ6aWj+eAuL4Ty5YilUgLAS+nhlxqWyGEeOt+qvw=;
        b=NCcJAGOV3PsXWFuNqq2U9sQa5DX6rm6fcIalL0hl4FvmXl8Q1TacOEJhgc76zMCSlo
         AsLbWsfvxZpU8r+wY8evZ4R9KLYpkIdX3aWE8HVwCYi+d6ATRjXi2zBILcLORMXIAnDu
         GtB8nRkDsA4UqfkNeFmhO16ClrUUOYvjVi6cT/RTf7IuYOV7dUpj0KtazFqM9P6oSD0u
         Wysqx3kNwYNeExtoj7TAAeqFIyBHLoCu/7Y9D65LujQdZdPd11mGA0vWhQ2n/fnmKJ+s
         WYlWLNU5F2jg6YYgtfaX+1s5T2rC3A47nwPO0/D3bHE4viAp6nABoq3H1CmtoL8OKUgT
         wCKg==
X-Forwarded-Encrypted: i=1; AJvYcCUNAgognRQ4wJbv2lnFkSNTCkjz2Ds50pXdTD7tNe3P9uenHaD0lyUsUF8R1PSLmcmvUko4gbulBzVsZCI9vWqN0pQiKebgM9wm2r5vuY4=
X-Gm-Message-State: AOJu0YxPYmTriSxr50coLhTX4JDNnXJMBco38uYJATrbA8zOqQ1pbjJS
	zRBUPFses7zKPzAXVBjYswsDgJyR48WP4ypcwEse4xysc6fVRNpbu2O4MtLMAw==
X-Google-Smtp-Source: AGHT+IEaQwYop1gqdAHsTgPr1UEpS3t4CGdoSUXRQIQmuTxQYwX+3vf0KhGXdcWoC7r19HtChNjT+Q==
X-Received: by 2002:a05:600c:46cc:b0:418:ed13:302d with SMTP id q12-20020a05600c46cc00b00418ed13302dmr1885619wmo.26.1713962313520;
        Wed, 24 Apr 2024 05:38:33 -0700 (PDT)
Message-ID: <ea0d9bfa-8e1a-41ac-a2a3-ccd59096074e@suse.com>
Date: Wed, 24 Apr 2024 14:38:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviation of MISRA C:2012 Rule
 14.4
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <899a456dc9fcd9ceb55efdfb95e71d0abd997700.1713961291.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <899a456dc9fcd9ceb55efdfb95e71d0abd997700.1713961291.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 14:23, Federico Serafini wrote:
> Update ECLAIR configuration to take into account the deviations
> agreed during MISRA meetings.
> 
> Amend an existing entry of Rule 14.4 in deviations.rst:
> it is not a project-wide deviation.

Who / how is it not? ->is_dying is a globally visible struct field.

> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -294,7 +294,13 @@ Deviations related to MISRA C:2012 Rules:
>       - The XEN team relies on the fact that the enum is_dying has the
>         constant with assigned value 0 act as false and the other ones as true,
>         therefore have the same behavior of a boolean.
> -     - Project-wide deviation; tagged as `deliberate` for ECLAIR.
> +     - Tagged as `deliberate` for ECLAIR.
> +
> +   * - R14.4
> +     - A controlling expression of 'if' and iteration statements having
> +       integer, character or pointer type has a semantics that is well-known to
> +       all Xen developers.
> +     - Tagged as `deliberate` for ECLAIR.

I'm inclined to suggest that this more generic deviation be inserted ahead
of the more specific ->is_dying one.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711404.1111322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzc24-00071s-N6; Wed, 24 Apr 2024 12:47:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711404.1111322; Wed, 24 Apr 2024 12:47: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 1rzc24-00071l-Ih; Wed, 24 Apr 2024 12:47:28 +0000
Received: by outflank-mailman (input) for mailman id 711404;
 Wed, 24 Apr 2024 12:47: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzc23-00071d-HR
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:47:27 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cbebb000-0238-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 14:47:23 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-34a32ba1962so4937789f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 05:47: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
 p3-20020a5d6383000000b00341b451a31asm17006967wru.36.2024.04.24.05.47.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 05:47:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbebb000-0238-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713962843; x=1714567643; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Do+G1o28dB4f8ARBNUu8KljXfD2/2JjMAjx74NZfFXI=;
        b=MtbXzIIQ5bLthG+4hvSlk+bDFfIKsVw5sf5746vLmFg9ObUuPIukwLU8z2mXbEV1xO
         4x5NsiiSnSwRKCc0qhq1UY7ZQfCVi4bMe6muQnuZDQZV/Ld/z1ruU6h8wIcKjOjkYM+9
         fAug6QEEdTz+ewGy/eatoAnbaRnY7izueOlRZ5aAGiVKEt3tQfift3qolvzZ1k1Kf+Cs
         WeG+nr6vQslXVBVqUtIj9DldQJoIEbbo2b1qnov09lb5Z7Sn/Tqs7hWGHUbN77s4eU7z
         ZAEjslTG/BUdnX+gZmH/W0ImGKi49Wb9DaPZt8+wqh4Y1mpZ1wZBAFtasLnGQrV3iicU
         FeaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713962843; x=1714567643;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Do+G1o28dB4f8ARBNUu8KljXfD2/2JjMAjx74NZfFXI=;
        b=oLFINeKBaGcjMbTiHhCODROIVJIUBgT4yf4BdSZ+39/RX0AHAvHWslm9urAb5xQ7rC
         ZY6wtcBDyLNgbHQZWX00qi3z5WfgEePt/zb58i2qii64AZBIp0pz4/Pe3v0UMCAqSs9p
         Up+iCXA8ko3doePv1KibJJsySiuEpa8WTvDLZvQETvJFqx2Fb2Xam9oCY04QpEIqlM6f
         +7bbSXuJ5VNtyFVPGXTyp5xxSZ9aEgI271bigh6vugUKHIKIDmH/qyOmeIM7a6uJwRMS
         DQEgeYQrldwM+N/AaMPMTadM3AnvZRDHo+KW3NtHIVbKh4XIe0H2sZU980lu6xaHP4Lz
         x20g==
X-Forwarded-Encrypted: i=1; AJvYcCVHWzWI5pLc8MKvl1zPAITquPhLJt9OOt+SMXnVoV9St3sDMVRh37FZ9gAG/EK3j/3n+XXCYYCFBwVehdVqHSTfSqs9aYI6aAS6GcgyYdg=
X-Gm-Message-State: AOJu0YxrYHFBzdxoY9C41xW2h4j38BOecTMX/6hXpoeDkSLVKXCgqTq3
	vjR88Vh9+VWITtLXMrhz61ZtcDD7Ktf/kctiycuOGgNMWjmsWV//3yK1S1iKJg==
X-Google-Smtp-Source: AGHT+IEcBRKf869rvsdqVDken4NX1Ld9KMBazs6Jckw5dXl1uYDrqKHgA9d8XQo2ODp4O8FKz56nJw==
X-Received: by 2002:a5d:6ac6:0:b0:34b:f76:3601 with SMTP id u6-20020a5d6ac6000000b0034b0f763601mr1486492wrw.42.1713962843105;
        Wed, 24 Apr 2024 05:47:23 -0700 (PDT)
Message-ID: <86c746d0-b369-4bbb-9510-c18023ff61ab@suse.com>
Date: Wed, 24 Apr 2024 14:47:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/2] pci: add suffix 'U' to PCI_CONF_ADDRESS macro.
Content-Language: en-US
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: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
 <10dc3a59085c801c91551625c036fcc9e5eb4729.1713956723.git.alessandro.zucchelli@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <10dc3a59085c801c91551625c036fcc9e5eb4729.1713956723.git.alessandro.zucchelli@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 14:11, Alessandro Zucchelli wrote:
> This addresses violations of MISRA C:2012 Rule 7.2 which states as
> following: A “u” or “U” suffix shall be applied to all integer constants
> that are represented in an unsigned type.
> 
> No functional change.
> 
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>

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

> --- a/xen/arch/x86/x86_64/pci.c
> +++ b/xen/arch/x86/x86_64/pci.c
> @@ -9,7 +9,7 @@
>  #include <asm/io.h>
>  
>  #define PCI_CONF_ADDRESS(sbdf, reg) \
> -    (0x80000000 | ((sbdf).bdf << 8) | ((reg) & ~3))
> +    (0x80000000U | ((sbdf).bdf << 8) | ((reg) & ~3))
>  
>  uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg)
>  {

This is x86'es PCI, so the subject prefix may ant to be "x86/pci:".

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:51:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:51:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711409.1111332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzc6H-0008Ub-5S; Wed, 24 Apr 2024 12:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711409.1111332; Wed, 24 Apr 2024 12: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 1rzc6H-0008UU-17; Wed, 24 Apr 2024 12:51:49 +0000
Received: by outflank-mailman (input) for mailman id 711409;
 Wed, 24 Apr 2024 12: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzc6G-0008UO-AT
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:51:48 +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 691ddc02-0239-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 14:51:47 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41af670185fso7060575e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 05:51: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
 q15-20020a05600c46cf00b00416e2c8b290sm27777141wmo.1.2024.04.24.05.51.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 05: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: 691ddc02-0239-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713963107; x=1714567907; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Eu/SFWKb4KKWc8XYifsnnkB7wr7xZQX95q2t0lUGkQQ=;
        b=OxdARhrfAakwBSu9QNjVbVO8pFe9McdOzhjIVqSWn6GK3fiWoRNf5bDEi3kxR6NuZV
         QPOHo2OUXM7n3J4s1XSmEqkGZ/qE1Bf9IWXAo6lQAx4VQCv3aoaUlL3428dbDKsiGQwq
         F9awkd1LHqnsQ/a7hCe2pBVTgdxNSeeXj49NiHTpbHmmmgeXAXDOB2B4UDvwCmrV/GgM
         VBqPwEIfjeCeVm4ajh21Khv3fsXsT6pV5a9h18g52JMlLYSI1Q7YHxE/C65cur7IApbC
         TCIdkBmCFkrSP+66sTCQBC46GjoAhsigCT25jYaT9NUv7ozcSwgJc716PYMudWwpnPuR
         Snpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713963107; x=1714567907;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Eu/SFWKb4KKWc8XYifsnnkB7wr7xZQX95q2t0lUGkQQ=;
        b=qDgW3EeXd208GNs3CFE5SNpVjD4DkR3n64sVMo5jxvFk0eXfaEAAVFlThxOzs6g0ab
         /GOxMYtfn44WYZ1jXmK4baY0dYCbwAglD8SoEOimCBprfMEHg18k+3aXWpn4xi9FnZvX
         Mrp4nzvDSim2CE4QRxEOeTZuMhfJ/JxL6DykimTlbJh7mCYNuF9tL9G0NBuQJFIH9Ie5
         ioXWOmzLcu0ecAvHGWFIVCmNrBzZrehpZmOlJvpHC08yYoBRtXOd5w8iIKRxCDkuv0Av
         u/YP0CNKsiTthgFfNYZDAo0IiIaJ9qajk/pGke2rQswkiDcQ0zs/u4+C+Sl+cQ6qyIlS
         lKVw==
X-Forwarded-Encrypted: i=1; AJvYcCXb2pCfQZ74m/ZR1ERioca5EhQU3rwnGv3iO3GFDkm1aT3lIqMJX1I1JuaSq6O5E6+DHxwncw0x/Jwd37nUZCnRsK9H1R3PWvUuPInmZgI=
X-Gm-Message-State: AOJu0YxU7Gx/h3Z0amMg8H+7J658hd5OL4DcEJfsXU+9mpa0rdMu7znf
	fIhyy2WKDSyABIga+XtYzC0XnM5A31Vj9NhK/tvrGr12ys7KVQM6wxz6KXGxtQ==
X-Google-Smtp-Source: AGHT+IFgrdOTBL5Ft4+F+EQh9bFvluJMR45rBnLmskFzz6K1KHSHyGtgsiu6+ef8CBl5vCrLfCjs6w==
X-Received: by 2002:a05:600c:3ba1:b0:418:b9fa:43e9 with SMTP id n33-20020a05600c3ba100b00418b9fa43e9mr2021087wms.29.1713963106771;
        Wed, 24 Apr 2024 05:51:46 -0700 (PDT)
Message-ID: <424463bd-2682-4f77-896c-f1d1f47aadc9@suse.com>
Date: Wed, 24 Apr 2024 14:51:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 2/2] x86/msr: add suffix 'U' to MSR_AMD_CSTATE_CFG
 macro.
Content-Language: en-US
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, Simone Ballarin <simone.ballarin@bugseng.com>
References: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
 <ec689584e80421d7ffa5b1c0f576ed60b84aeda3.1713956723.git.alessandro.zucchelli@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ec689584e80421d7ffa5b1c0f576ed60b84aeda3.1713956723.git.alessandro.zucchelli@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 14:11, Alessandro Zucchelli wrote:
> This addresses violations of MISRA C:2012 Rule 7.2 which states as
> following: A “u” or “U” suffix shall be applied to all integer constants
> that are represented in an unsigned type.
> 
> No functional change.

I'm inclined to suggest
Fixes: 652683e1aeaa ("x86/hvm: address violations of MISRA C:2012 Rule 7.2")
as that change clearly should have taken care of this already. The line
changed here is even visible in patch context there.

> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:53:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:53:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711413.1111340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzc7l-0000c2-E5; Wed, 24 Apr 2024 12:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711413.1111340; Wed, 24 Apr 2024 12:53:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzc7l-0000bv-BX; Wed, 24 Apr 2024 12:53:21 +0000
Received: by outflank-mailman (input) for mailman id 711413;
 Wed, 24 Apr 2024 12:53: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=VLk9=L5=bounce.vates.tech=bounce-md_30504962.662900bc.v1-cd1cd297a12d4e70b1bff66b32da5c26@srs-se1.protection.inumbo.net>)
 id 1rzc7k-0000bn-ED
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:53:20 +0000
Received: from mail180-8.suw31.mandrillapp.com
 (mail180-8.suw31.mandrillapp.com [198.2.180.8])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ed89295-0239-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 14:53:18 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-8.suw31.mandrillapp.com (Mailchimp) with ESMTP id 4VPf6h1rSpz3sN6PY
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 12:53:16 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 cd1cd297a12d4e70b1bff66b32da5c26; Wed, 24 Apr 2024 12:53:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ed89295-0239-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1713963196; x=1714223696;
	bh=HBEBsFK/R14niJ9XBuU9Wl9gs26WGVKQpEOGnq201sk=;
	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=jlFHxGO/uC3qgS6rWsDAsxjyydpFZ4DTvdmFR5a5gm/lVnTXwC8q0lIbyRFJ+diSY
	 7VZeuVSF7v9RsnOtFHIoBN8Lq/+lLPKRpESLpHxJA8pTGZuJwFUOqDF+GbSn1brw78
	 OfOoUan9WxSnkcsgd2XqE+PzGmXi2DidvCKi8qNvScLTT88b7jzS1U4dVjU/jqDwtk
	 c3eeQIsscr+FAKnY1CWPw0woUgSlRW0w29B4aVyS8URXCzzBBwj6IRAUDweewM/JLn
	 WW/m2XQ3AYqoRobb1LFMVN9ZISwVH9lA3w3Rbr2axMDhVrwTHKUGWw3GzpA2M1xEcO
	 4/orViqBikqvQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1713963196; x=1714223696; i=teddy.astie@vates.tech;
	bh=HBEBsFK/R14niJ9XBuU9Wl9gs26WGVKQpEOGnq201sk=;
	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=cox8rOq10N9f97iucURVYourybovcp93MDH6mFjaNNEf2fyJ/1r530VwXMtFqnWKA
	 lV7y/U/I7DGc/XpcoxGOtGgdgKxjA1NsgoyGULVBxpracnxn3he4eKWaSA93hBGaiB
	 FVnhfn5cjMDcRuvDOLLTyVIWd7GA7ElpmOIa8rFurSeSQkvSjr7yyKaBDaUapz3byu
	 6fzPWE287rlgE+J5PKz7qo7OT5zr0HZVbI8IgBwgTS3jwNUUGzhaAjR4hvNo2HoirM
	 ewTzzvUOUEJbldGn9B+BfRfCuHpkjsOiASB8/JL6gh15n6zBk7Nl0ymAdTUFJLR/5J
	 9lPYABaUFrLSQ==
From: Teddy Astie <teddy.astie@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=202/2]=20x86/msr:=20add=20suffix=20'U'=20to=20MSR=5FAMD=5FCSTATE=5FCFG=20macro.?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1713963194668
Message-Id: <12b6774f-b2da-4407-ba70-501e03a91129@vates.tech>
To: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, xen-devel@lists.xenproject.org
Cc: consulting@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>
References: <cover.1713956723.git.alessandro.zucchelli@bugseng.com> <ec689584e80421d7ffa5b1c0f576ed60b84aeda3.1713956723.git.alessandro.zucchelli@bugseng.com>
In-Reply-To: <ec689584e80421d7ffa5b1c0f576ed60b84aeda3.1713956723.git.alessandro.zucchelli@bugseng.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.cd1cd297a12d4e70b1bff66b32da5c26?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240424:md
Date: Wed, 24 Apr 2024 12:53:16 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Le 24/04/2024 =C3=A0 14:11, Alessandro Zucchelli a =C3=A9crit=C2=A0:
> This addresses violations of MISRA C:2012 Rule 7.2 which states as
> following: A =E2=80=9Cu=E2=80=9D or =E2=80=9CU=E2=80=9D suffix shall be a=
pplied to all integer constants
> that are represented in an unsigned type.
> 
> No functional change.
> 
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> ---
>   xen/arch/x86/include/asm/msr-index.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/=
asm/msr-index.h
> index 92dd9fa496..9cdb5b2625 100644
> --- a/xen/arch/x86/include/asm/msr-index.h
> +++ b/xen/arch/x86/include/asm/msr-index.h
> @@ -236,7 +236,7 @@
>   
>   #define MSR_VIRT_SPEC_CTRL                  _AC(0xc001011f, U) /* Layou=
t matches MSR_SPEC_CTRL */
>   
> -#define MSR_AMD_CSTATE_CFG                  0xc0010296
> +#define MSR_AMD_CSTATE_CFG                  0xc0010296U
>   
>   /*
>    * Legacy MSR constants in need of cleanup.  No new MSRs below this com=
ment.

Hello, thanks for the patches

I wonder if the same approach should be also taken for all the other MSR 
constants of this file that are similar ?

Teddy


Teddy Astie | Vates XCP-ng Intern

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:56:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711420.1111351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcB6-0001uK-Ux; Wed, 24 Apr 2024 12:56:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711420.1111351; Wed, 24 Apr 2024 12:56:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcB6-0001uD-SP; Wed, 24 Apr 2024 12:56:48 +0000
Received: by outflank-mailman (input) for mailman id 711420;
 Wed, 24 Apr 2024 12:56:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lCeM=L5=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rzcB5-0001u7-Cl
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:56:47 +0000
Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com
 [2607:f8b0:4864:20::72a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a7dfbfd-023a-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 14:56:45 +0200 (CEST)
Received: by mail-qk1-x72a.google.com with SMTP id
 af79cd13be357-78f049fefd5so428968885a.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 05:56:45 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b2-20020a05620a0f8200b007905e6545f2sm4603766qkn.106.2024.04.24.05.56.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 05:56:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a7dfbfd-023a-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713963404; x=1714568204; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=c1U6hFW0nf0o4zSEUalsww+L7r7ioVGT4pSQmKO8EMs=;
        b=US3mohIIhr5kYYuVy9wSDcqsfdrp7f6cro7g/uFprzsIjJXIUqzZmo2Y+sbemRxVd/
         Tb2AiWYmysCZ3lk3hFcthvbFUuaPrbfcT3tHtzDswohRbI3qI9R8EnKonvB7B+gk0NZg
         EZCwhknYjiWxuwpPEX+3fynTw5x9n8ADKJqRI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713963404; x=1714568204;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=c1U6hFW0nf0o4zSEUalsww+L7r7ioVGT4pSQmKO8EMs=;
        b=NTKh/lnHVnAoh8KQJuhR2KlBxz3ehFPABTIMP1udayqVVXw0b/PLBbd8CLHgqlyevQ
         VKNRz/CTUUlywg+qr3NuEZRgHXazuEqyfxsTn+tjux5W+adiRPmNPlDaG590XvVY8rAA
         /+AdrnPREoe1U5czC824HQaG0ptyCqmXE1vQmUErsGg0iNpmlL5CuzanA2oejlA1+Oz/
         g5fom8UmEduIBZiwKWgGobLAnwmTck+5CHi0usGsk6yqCnfom4pCQdA6PR1koifiNGQJ
         DczS9SqloPNMQwtObgpVgL10C6AF3qmXAYnA5dbrwasXmzqqqAU7CGwI98w5pdo8LG3o
         HciA==
X-Forwarded-Encrypted: i=1; AJvYcCUK5cXOHyCFAlggSucP67ruB2qxicAF5gNCyuqw5/apfgSZjWFycoRigs4vlhMCCUn+/CI8xUDSgY1TqFXbOH8/2SPZz0PmFPGTVxyEyDo=
X-Gm-Message-State: AOJu0YwQznVEyjSS6sEK/OtUhiuqWiJdDgSCOGmEgRGBHtnmy8pbl6Oc
	TJS+ViVUPk2doRnB5ue5dtvOL1XF7sAtXueS8HwU7AeOQ4e1Uxiu633z+ikKB5g=
X-Google-Smtp-Source: AGHT+IF4xur0ZUcD5dkuIAA4m2NSI8uhsYoxJ/kGFtajfefMO+N3fXN2eJYEn75e6LA0WnppD+OWOw==
X-Received: by 2002:a05:620a:5594:b0:78e:db73:913b with SMTP id vq20-20020a05620a559400b0078edb73913bmr2524629qkn.28.1713963404256;
        Wed, 24 Apr 2024 05:56:44 -0700 (PDT)
Message-ID: <6d1218ad-1669-49d6-9ee5-10e604cffd11@citrix.com>
Date: Wed, 24 Apr 2024 13:56:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 2/2] x86/msr: add suffix 'U' to MSR_AMD_CSTATE_CFG
 macro.
To: Jan Beulich <jbeulich@suse.com>,
 Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Simone Ballarin <simone.ballarin@bugseng.com>
References: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
 <ec689584e80421d7ffa5b1c0f576ed60b84aeda3.1713956723.git.alessandro.zucchelli@bugseng.com>
 <424463bd-2682-4f77-896c-f1d1f47aadc9@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: <424463bd-2682-4f77-896c-f1d1f47aadc9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/04/2024 1:51 pm, Jan Beulich wrote:
> On 24.04.2024 14:11, Alessandro Zucchelli wrote:
>> This addresses violations of MISRA C:2012 Rule 7.2 which states as
>> following: A “u” or “U” suffix shall be applied to all integer constants
>> that are represented in an unsigned type.
>>
>> No functional change.
> I'm inclined to suggest
> Fixes: 652683e1aeaa ("x86/hvm: address violations of MISRA C:2012 Rule 7.2")
> as that change clearly should have taken care of this already. The line
> changed here is even visible in patch context there.
>
>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
>
>

I expect it was a race condition.  MSR_AMD_CSTATE_CFG is a recent addition.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:58:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711422.1111360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcCN-0002Qm-7V; Wed, 24 Apr 2024 12:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711422.1111360; Wed, 24 Apr 2024 12:58:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcCN-0002Qf-4t; Wed, 24 Apr 2024 12:58:07 +0000
Received: by outflank-mailman (input) for mailman id 711422;
 Wed, 24 Apr 2024 12:58:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1rzcCL-0002QX-5m
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:58:05 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzcCK-0001hq-Iw; Wed, 24 Apr 2024 12:58:04 +0000
Received: from [15.248.2.25] (helo=[10.24.67.29])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzcCK-0002WV-D6; Wed, 24 Apr 2024 12:58:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=/I8+Gsl+31NUgv0ahOFkc5DtN7dWbhzsRtJHH9d37FI=; b=52IULpO/gvjVPkc39Y3O2jIByZ
	G+d3uLzAqXqrJwOCTTwgGnI/r4QDeAw6giy4LefP2tZSGRWtBB5z847ZhJNXDWsXBgBFABzAbJXkb
	6uFNmHjnOUJ8VUA23cBgWIUpzcxe3L4z5SD2XrSwZe1pyDypUJQ7dwOSP9yTVu8POyoY=;
Message-ID: <670d1033-2443-4245-8ff1-cb7099a7c793@xen.org>
Date: Wed, 24 Apr 2024 13:58:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/15] xen/arm/gic: Enable interrupt assignment to running
 VM
Content-Language: en-GB
To: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org
Cc: Vikram Garhwal <fnu.vikram@xilinx.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-3-xin.wang2@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240424033449.168398-3-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 24/04/2024 04:34, Henry Wang wrote:
> From: Vikram Garhwal <fnu.vikram@xilinx.com>
> 
> Enable interrupt assign/remove for running VMs in CONFIG_OVERLAY_DTB.
> 
> Currently, irq_route and mapping is only allowed at the domain creation. Adding
> exception for CONFIG_OVERLAY_DTB.

AFAICT, this is mostly reverting b8577547236f ("xen/arm: Restrict when a 
physical IRQ can be routed/removed from/to a domain").

> 
> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Signed-off-by: Henry Wang <xin.wang2@amd.com>
> ---
>   xen/arch/arm/gic.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index 44c40e86de..a775f886ed 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -140,8 +140,10 @@ int gic_route_irq_to_guest(struct domain *d, unsigned int virq,
>        * back to the physical IRQ. To prevent get unsync, restrict the
>        * routing to when the Domain is been created.
>        */

The above comment explains why the check was added. But the commit 
message doesn't explain why this can be disregarded for your use-case.

Looking at the history, I don't think you can simply remove the checks.

Regardless that...

> +#ifndef CONFIG_OVERLAY_DTB

... I am against such #ifdef. A distros may want to have OVERLAY_DTB 
enabled, yet the user will not use it.

Instead, you want to remove the check once the code can properly handle 
routing an IRQ the domain is created or ...

>       if ( d->creation_finished )
>           return -EBUSY;
> +#endif
>   
>       ret = vgic_connect_hw_irq(d, NULL, virq, desc, true);
>       if ( ret )
> @@ -171,8 +173,10 @@ int gic_remove_irq_from_guest(struct domain *d, unsigned int virq,
>        * Removing an interrupt while the domain is running may have
>        * undesirable effect on the vGIC emulation.
>        */
> +#ifndef CONFIG_OVERLAY_DTB
>       if ( !d->is_dying )
>           return -EBUSY;
> +#endif

... removed before they domain is destroyed.

>   
>       desc->handler->shutdown(desc);
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 12:58:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 12:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711423.1111370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcCf-0002nl-G7; Wed, 24 Apr 2024 12:58:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711423.1111370; Wed, 24 Apr 2024 12:58:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcCf-0002ne-DS; Wed, 24 Apr 2024 12:58:25 +0000
Received: by outflank-mailman (input) for mailman id 711423;
 Wed, 24 Apr 2024 12:58:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzcCe-0002nS-J3
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:58:24 +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 54fe83e8-023a-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 14:58:23 +0200 (CEST)
Received: by mail-yb1-xb35.google.com with SMTP id
 3f1490d57ef6-dc23bf7e5aaso7189825276.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 05:58:23 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 y3-20020a0cc543000000b0069f1c071f1csm938805qvi.29.2024.04.24.05.58.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 05:58: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: 54fe83e8-023a-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713963502; x=1714568302; 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=TCV4VLZM9XR8olQPvsThTDB1wZaKXyjU82he/ktQUyk=;
        b=YOiHpty0jVy3THmdkHojZJFqfZBiag3GIX/4PMNfNm1PhYYyYRhygYsml4KG668mVT
         duv0HT6a3BC/uAAAJAfGs6GLT92xwSyaW1rSGmhWOhNQFhVASh8XLby1MEu0JAsndNfT
         zbUdxDsXNN6VWZIR3vmtyyBQC/jwzBkYfUpTM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713963502; x=1714568302;
        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=TCV4VLZM9XR8olQPvsThTDB1wZaKXyjU82he/ktQUyk=;
        b=xUd0LuIu+6vnSCokKnWJtBxT5OYOOWbd7+jIW1NMYc4qthkMIQMuq2Zo9wHs9I7K78
         dndN5MEGBDn/z3+V/2UCfRjJD74T9hfRXjZJa46bdM/EM9bH2Lm1GlxLNcD8+ZQcSfjT
         aCXhZ9uwS5dbwb+d58E+IpSRf0ljgvdQtXoJRWvcIJgND0NDNOjPqTMAlRTn0w0GmV5b
         7oEIU6RrhkltpYyDV6JRFE82jXhjFupr/3cxjxmVtdSGzrbadFy10eAfXmLb/OqcG80d
         ybukibaGMFWbNe3KSH6s+yVN5wlNXtwlPFK83kUoboXFdAKPQ9O1Bx/fwMaZFP7tU6rT
         111w==
X-Gm-Message-State: AOJu0YwYMG469S4D5ekzaaUOXLpSERjVkKw9SpLd+dPRypKjBf5PTPjG
	wGnczd6Xwp5nH31MdPiXgWNtRzRTQAPoB+Nn79tSKlJyuqbwu9B8kr5QpBfDSChMHdxVgAsJ4ot
	5
X-Google-Smtp-Source: AGHT+IEHVMB7Pqg7J8XM/Oo7v1JkzIVkSENTx0XtowE73AoWT/e23FDKG4nUWnJNxb95jaBAxraw4g==
X-Received: by 2002:a25:204:0:b0:de5:5a39:2cb0 with SMTP id 4-20020a250204000000b00de55a392cb0mr2144276ybc.31.1713963502353;
        Wed, 24 Apr 2024 05:58:22 -0700 (PDT)
Date: Wed, 24 Apr 2024 14:58:19 +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>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH 4/4] x86/shadow: correct shadow_vcpu_init()'s comment
Message-ID: <ZikB62jWANnUcQ7U@macbook>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <fea51839-4405-4330-8493-c544b9edf035@suse.com>
 <ZijZldtvQ_e1h6ys@macbook>
 <9b2d08c1-2bb0-4142-9722-0d2045041f2c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9b2d08c1-2bb0-4142-9722-0d2045041f2c@suse.com>

On Wed, Apr 24, 2024 at 01:44:39PM +0200, Jan Beulich wrote:
> On 24.04.2024 12:06, Roger Pau Monné wrote:
> > On Tue, Apr 23, 2024 at 04:33:09PM +0200, Jan Beulich wrote:
> >> As of the commit referenced below the update_paging_modes() hook is per-
> >> domain and hence also set (already) during domain construction.
> >>
> >> Fixes: d0816a9085b5 ("x86/paging: move update_paging_modes() hook")
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>
> >> --- a/xen/arch/x86/mm/shadow/common.c
> >> +++ b/xen/arch/x86/mm/shadow/common.c
> >> @@ -99,11 +99,12 @@ int shadow_domain_init(struct domain *d)
> >>      return 0;
> >>  }
> >>  
> >> -/* Setup the shadow-specfic parts of a vcpu struct. Note: The most important
> >> - * job is to initialize the update_paging_modes() function pointer, which is
> >> - * used to initialized the rest of resources. Therefore, it really does not
> >> - * matter to have v->arch.paging.mode pointing to any mode, as long as it can
> >> - * be compiled.
> >> +/*
> >> + * Setup the shadow-specific parts of a vcpu struct. Note: The
> >> + * update_paging_modes() function pointer, which is used to initialize other
> >> + * resources, was already set during domain creation. Therefore it really does
> >> + * not matter to have v->arch.paging.mode pointing to any (legitimate) mode,
> >> + * as long as it can be compiled.
> > 
> > Do you need to keep the last sentence?  If update_paging_modes is
> > already set at domain create, the 'Therefore it really does...'
> > doesn't seem to make much sense anymore, as it's no longer
> > shadow_vcpu_init() that sets it.
> 
> I thought about dropping, but the "any mode does" seemed to me to be still
> relevant to mention. I thought about re-wording, too, without coming to any
> good alternative. Hence, despite agreeing with you that 'Therefore ...' does
> not quite fit (anymore), I left that as is.

To me the "was already set during domain creation" does already imply
it's set to "any (legitimate) mode", and hence the tailing sentence
feels out of place.

> > Possibly with that dropped:
> > 
> > Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Feel free to keep the chunk and the Ack, I guess we could always
remove at a later point anyway.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 13:01:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 13:01:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711437.1111409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcFK-0004hC-8S; Wed, 24 Apr 2024 13:01:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711437.1111409; Wed, 24 Apr 2024 13:01:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcFK-0004h5-4X; Wed, 24 Apr 2024 13:01:10 +0000
Received: by outflank-mailman (input) for mailman id 711437;
 Wed, 24 Apr 2024 13:01:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RmhA=L5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzcFI-0004gt-SI
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 13:01:08 +0000
Received: from mail-oo1-xc29.google.com (mail-oo1-xc29.google.com
 [2607:f8b0:4864:20::c29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6ebf509-023a-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 15:01:08 +0200 (CEST)
Received: by mail-oo1-xc29.google.com with SMTP id
 006d021491bc7-5aa4204bacdso4018253eaf.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 06:01:08 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 i6-20020ac87646000000b004377f87147bsm6015666qtr.69.2024.04.24.06.01.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 06:01: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: b6ebf509-023a-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1713963666; x=1714568466; 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=JNddJ5SL36xynIazkoX3Jrx5SgGYvPv5TYSv+gHNmFg=;
        b=cAPrxdSBzJH72FIIty1sMml8GoTbczHIhAtHmFyVBBifE1KO2bky7mA3/Vfd6dGF6N
         FEe9Q6gNWKEIOkVDsQry0S2ubnG0rnMTlElh7zSPVo/cerjv2O/3zDGQBQ+JCI+F8OMv
         VEpj3zW3Rgvf6koG6UG6bMB4Uj+c4cZb+GcvQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713963666; x=1714568466;
        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=JNddJ5SL36xynIazkoX3Jrx5SgGYvPv5TYSv+gHNmFg=;
        b=BdveUhUDzysh0jYFu+QuxOJzm3PQBWXS6z1NtJ9wui7r+N7o2hw9C29kEwEH2IbBLX
         Nqw2uBy+z63L+TvRe6/wdxJNbyl4zfD74s2XcpRk66ODClr7UYRnHzc9zqvRKwi8NppY
         ylWEI34IMA242x8eNoJS57YZR963/hm7CYk5jLV3buKtI6NRNxJ9EQz0pWnDaGHEAvCU
         866wJK0RvnNWlEYhpoUoFUKvIV+Abs/iY3JBsEGTAge1sXBE5UuGXF1qNHJL++FV57gY
         IDpgIO1Z5lqdRr8phDokau6PQlz12vDEhoWisSTnRqLsvfJU6Mu/N4pKgCFssTP7mygs
         rWgA==
X-Gm-Message-State: AOJu0YzcEhVi1q/dUQMHud2j57dnaDHodq/W3naEZ8PUqCoFzhqffdWN
	KysRab/PjDRnCB5JRNtly3i/OEHDhqIAo0qXJP+HWckcR5f3MF5bkFL6vGISPW0=
X-Google-Smtp-Source: AGHT+IHkk0aIEvSsII2USdraviI9Pop/uTbRrizdoV6nyR+voBubUNZAMCDLUh2hcPjcg4JsolnXWQ==
X-Received: by 2002:a05:6358:4b02:b0:17f:5ef7:15cc with SMTP id kr2-20020a0563584b0200b0017f5ef715ccmr2582221rwc.3.1713963666571;
        Wed, 24 Apr 2024 06:01:06 -0700 (PDT)
Date: Wed, 24 Apr 2024 15:01: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>,
	George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH 3/4] x86/paging: vCPU host mode is always set
Message-ID: <ZikCkB3l--p5bORk@macbook>
References: <0d846228-323b-4427-87d1-684c3d0047c5@suse.com>
 <67805c1f-7187-446c-a5c4-14be8f170f11@suse.com>
 <ZijSFzOAeo1SfSrb@macbook>
 <ea6c1806-e8c3-4c0a-b3ad-a7550b66ba59@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ea6c1806-e8c3-4c0a-b3ad-a7550b66ba59@suse.com>

On Wed, Apr 24, 2024 at 01:41:25PM +0200, Jan Beulich wrote:
> On 24.04.2024 11:34, Roger Pau Monné wrote:
> > On Tue, Apr 23, 2024 at 04:32:32PM +0200, Jan Beulich wrote:
> >> ... thanks to paging_vcpu_init() being part of vCPU creation. Further
> >> if paging is enabled on a domain, it's also guaranteed to be either HAP
> >> or shadow. Drop respective unnecessary (parts of) conditionals.
> > 
> > Is there some commit that changed when arch.paging.mode gets set, so
> > that this is actually safe to do now, but not when the code in
> > paging_dump_vcpu_info() was introduced?
> > 
> > I get the feeling we want to reference some change here in order to
> > explain why is now always guaranteed to be set.
> 
> I was indeed meaning to, but when I found the same even in 3.2, I stopped
> searching further.

Fair enough :).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 13:02:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 13:02:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711444.1111419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcGj-0005G4-HG; Wed, 24 Apr 2024 13:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711444.1111419; Wed, 24 Apr 2024 13:02:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcGj-0005Fx-EQ; Wed, 24 Apr 2024 13:02:37 +0000
Received: by outflank-mailman (input) for mailman id 711444;
 Wed, 24 Apr 2024 13:02: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 1rzcGi-0005Fn-9V; Wed, 24 Apr 2024 13:02: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 1rzcGi-0001pl-84; Wed, 24 Apr 2024 13:02: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 1rzcGh-0002xP-Rf; Wed, 24 Apr 2024 13:02:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzcGh-000637-R9; Wed, 24 Apr 2024 13:02:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2B6yoGvMWnpdEBeV5BDyJnzOpbHTV6lvnHxNsQ+kZlA=; b=OattMEDvi1Z/gTX+H7IluQlKQO
	XBCwMh+qyxZjhV8Yf5Mpw/91lbgO1Ma8LYi2dnSGOTyOjg09EhYfGpJuvI47cib31aj+fIvUH4jMP
	rQbWl5IRfUQd0UmQI6JqExxSS/7OezHMMCgXFFLe9eCOoIUVqVrJHiA/LbV1nMEEdBDk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185780-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185780: 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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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=77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
X-Osstest-Versions-That:
    xen=cccb7878f386fb8691b7e28957a562a66d9b875f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 13:02:35 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185767
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185767
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185767
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185767
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185767
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185767
 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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     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                  77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
baseline version:
 xen                  cccb7878f386fb8691b7e28957a562a66d9b875f

Last test of basis   185767  2024-04-23 05:03:58 Z    1 days
Testing same since   185780  2024-04-24 01:37:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Leigh Brown <leigh@solinno.co.uk>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@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
   cccb7878f3..77e25f0e30  77e25f0e30ddd11e043e6fce84bf108ce7de5b6f -> master


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 13:03:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 13:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711450.1111428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcHi-0005qU-V1; Wed, 24 Apr 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 711450.1111428; Wed, 24 Apr 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 1rzcHi-0005qN-Rv; Wed, 24 Apr 2024 13:03:38 +0000
Received: by outflank-mailman (input) for mailman id 711450;
 Wed, 24 Apr 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 1rzcHh-0005qF-DG
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 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 1rzcHg-0001qX-Mn; Wed, 24 Apr 2024 13:03:36 +0000
Received: from [15.248.2.25] (helo=[10.24.67.29])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1rzcHg-00032r-GO; Wed, 24 Apr 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=Ys4C8gLPcnF6ZmjaJhXMd5gMX5YbxCXXIjPyDlquEOc=; b=G6vTdQUIn+E+Y3fgdVQP9y3Ijc
	wYYaRCpVagILe2Fmie/Fad2cZ6rW+VdWjLC3+Qe1YadfMKItOLMAndSEaRlCEMivnLpj3xmsb6nNi
	P4GtAAjANwJm6WXIFxYg+B4jFXWbbHLAdClJF44NHqOOxexD/6YrK/2eyl/xMQ0mwmic=;
Message-ID: <fe0a39f3-f737-4df3-85bf-836b51fc8942@xen.org>
Date: Wed, 24 Apr 2024 14:03:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/15] xen/arm: Always enable IOMMU
Content-Language: en-GB
To: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org
Cc: Vikram Garhwal <fnu.vikram@xilinx.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-4-xin.wang2@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240424033449.168398-4-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 24/04/2024 04:34, Henry Wang wrote:
> From: Vikram Garhwal <fnu.vikram@xilinx.com>
> 
> For overlay with iommu functionality to work with running VMs, we need to enable
> IOMMU by default for the domains.
> 
> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
> Signed-off-by: Henry Wang <xin.wang2@amd.com>
> ---
>   xen/arch/arm/dom0less-build.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index fb63ec6fd1..2d1fd1e214 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -894,7 +894,8 @@ void __init create_domUs(void)
>               panic("Missing property 'cpus' for domain %s\n",
>                     dt_node_name(node));
>   
> -        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
> +        if ( (IS_ENABLED(CONFIG_OVERLAY_DTB) ||

Similar to the first patch, building Xen with the DTB overlay doesn't 
mean the user will want to use it (think of distros that may want to 
provide a generic Xen).

Instead, we should introduce a new DT property "passthrough" that would 
indicate whether the IOMMU should be used.

To be futureproof, I would match the values used by xl.cfg (see 
docs/man/xl.cfg.5.pod.in).

> +              dt_find_compatible_node(node, NULL, "multiboot,device-tree")) &&
>                iommu_enabled )
>               d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 13:29:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 13:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711397.1111439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcgc-0002NF-Tu; Wed, 24 Apr 2024 13:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711397.1111439; Wed, 24 Apr 2024 13:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzcgc-0002N8-R3; Wed, 24 Apr 2024 13:29:22 +0000
Received: by outflank-mailman (input) for mailman id 711397;
 Wed, 24 Apr 2024 12:33: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=B/QA=L5=posteo.de=th.huth@srs-se1.protection.inumbo.net>)
 id 1rzboE-0004cT-AJ
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 12:33:10 +0000
Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cea97cba-0236-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 14:33:09 +0200 (CEST)
Received: from submission (posteo.de [185.67.36.169]) 
 by mout01.posteo.de (Postfix) with ESMTPS id 7ECA1240027
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 14:33:08 +0200 (CEST)
Received: from customer (localhost [127.0.0.1])
 by submission (posteo.de) with ESMTPSA id 4VPdgC5dCpz6twh;
 Wed, 24 Apr 2024 14:32:55 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cea97cba-0236-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017;
	t=1713961988; bh=9Ev9618ma5vERQhBo1JV5P5yZ6fPuNrS0jsrcfWeBHU=;
	h=Message-ID:Date:MIME-Version:Subject:To:Cc:From:Content-Type:
	 Content-Transfer-Encoding:From;
	b=ptv7qhbbNkf//eI2Nh9He1fmIKvifrvkBbId62jUXUbHffLCiCgT2gC/UxCD40QJf
	 S/csiDg+SiKUem4x+H9XEYjGhmVzrjVJItNNweoSQu88/HZdoxqMsLQB6zMCJEFflH
	 nqgkUP+6VeQC0qXurWQazaL7sS6hLcvRhJebf1NLm7lE+yaxV/bFwVQXYIm16NmwoO
	 Ua/ltPSIkQrhjQrfL1HGbCG9QVhXn1X/ZYhr/EomV4N6v9hUVEgWGcQy6EQ4jNAU68
	 Y/hCZ/ePP9xAwMjuBu+1gd1+3t+8ormTy2IWarKJuy11QfazKZI2+br5yTFAHVgMau
	 NC1DWjGe6L8Jw==
Message-ID: <088ec61c-39ab-4b58-a02f-8897a3e7ae68@posteo.de>
Date: Wed, 24 Apr 2024 12:32:55 +0000
MIME-Version: 1.0
Subject: Re: [PATCH v2 1/2] net: Provide MemReentrancyGuard * to
 qemu_new_nic()
To: Prasad Pandit <pj.pandit@yahoo.in>,
 Mauro Matteo Cascella <mcascell@redhat.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: Alexander Bulekov <alxndr@bu.edu>,
 Dmitry Fleytman <dmitry.fleytman@gmail.com>,
 Beniamino Galvani <b.galvani@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
 Jason Wang <jasowang@redhat.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>, Stefan Weil <sw@weilnetz.de>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>,
 Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Sriram Yagnaraman
 <sriram.yagnaraman@est.tech>, Thomas Huth <huth@tuxfamily.org>,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 Subbaraya Sundeep <sundeep.lkml@gmail.com>, Jan Kiszka <jan.kiszka@web.de>,
 Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>,
 Max Filippov <jcmvbkbc@gmail.com>, Jiri Pirko <jiri@resnulli.us>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Sven Schnelle <svens@stackframe.org>, "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Rob Herring <robh@kernel.org>, Gerd Hoffmann <kraxel@redhat.com>,
 "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 "qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230601031859.7115-1-akihiko.odaki@daynix.com>
 <20230601031859.7115-2-akihiko.odaki@daynix.com>
 <ac66952e-4281-4250-96f4-dc3d5b518d24@linaro.org>
 <1497808863.2030924.1713955286878@mail.yahoo.com>
From: Thomas Huth <th.huth@posteo.de>
Content-Language: en-US
In-Reply-To: <1497808863.2030924.1713955286878@mail.yahoo.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/04/2024 12.41, Prasad Pandit wrote:
> On Wednesday, 24 April, 2024 at 03:36:01 pm IST, Philippe Mathieu-Daudé wrote:
>> On 1/6/23 05:18, Akihiko Odaki wrote:
>>> Recently MemReentrancyGuard was added to DeviceState to record that the
>>> device is engaging in I/O. The network device backend needs to update it
>>> when delivering a packet to a device.
>>>   
>>> In preparation for such a change, add MemReentrancyGuard * as a
>>> parameter of qemu_new_nic().
>>
>> An user on IRC asked if this patch is related/fixing CVE-2021-20255,
>> any clue?
> 
> * CVE-2021-20255 bug: infinite recursion is pointing at a different fix patch.
>    -> https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-20255
> 
> * And the this patch below has different issue tagged
>    -> https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg08312.html
>    Fixes: CVE-2023-3019
> 
> 
> * They look different, former is an infinite recursion issue and the latter is a use-after-free one.

I assume the eepro reentrancy issue has been fixed with:

  https://gitlab.com/qemu-project/qemu/-/issues/556
  i.e.:
  https://gitlab.com/qemu-project/qemu/-/commit/c40ca2301c7603524eaddb5308a3

  HTH,
   Thomas




From xen-devel-bounces@lists.xenproject.org Wed Apr 24 13:30:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 13:30:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711464.1111449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzci2-0003kB-75; Wed, 24 Apr 2024 13:30:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711464.1111449; Wed, 24 Apr 2024 13:30:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzci2-0003k4-4G; Wed, 24 Apr 2024 13:30:50 +0000
Received: by outflank-mailman (input) for mailman id 711464;
 Wed, 24 Apr 2024 13:30:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RcL4=L5=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1rzci1-0003jy-Jz
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 13:30:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc4b2f66-023e-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 15:30:48 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0C2DF4EE0739;
 Wed, 24 Apr 2024 15:30:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc4b2f66-023e-11ef-909a-e314d9c70b13
MIME-Version: 1.0
Date: Wed, 24 Apr 2024 15:30:48 +0200
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
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
Subject: Re: [XEN PATCH 1/2] pci: add suffix 'U' to PCI_CONF_ADDRESS macro.
Reply-To: alessandro.zucchelli@bugseng.com
Mail-Reply-To: alessandro.zucchelli@bugseng.com
In-Reply-To: <86c746d0-b369-4bbb-9510-c18023ff61ab@suse.com>
References: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
 <10dc3a59085c801c91551625c036fcc9e5eb4729.1713956723.git.alessandro.zucchelli@bugseng.com>
 <86c746d0-b369-4bbb-9510-c18023ff61ab@suse.com>
Message-ID: <56c785a1e44ba3bba0112624c5b043fd@bugseng.com>
X-Sender: alessandro.zucchelli@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2024-04-24 14:47, Jan Beulich wrote:
> On 24.04.2024 14:11, Alessandro Zucchelli wrote:
>> This addresses violations of MISRA C:2012 Rule 7.2 which states as
>> following: A “u” or “U” suffix shall be applied to all integer 
>> constants
>> that are represented in an unsigned type.
>> 
>> No functional change.
>> 
>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
>> --- a/xen/arch/x86/x86_64/pci.c
>> +++ b/xen/arch/x86/x86_64/pci.c
>> @@ -9,7 +9,7 @@
>>  #include <asm/io.h>
>> 
>>  #define PCI_CONF_ADDRESS(sbdf, reg) \
>> -    (0x80000000 | ((sbdf).bdf << 8) | ((reg) & ~3))
>> +    (0x80000000U | ((sbdf).bdf << 8) | ((reg) & ~3))
>> 
>>  uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg)
>>  {
> 
> This is x86'es PCI, so the subject prefix may ant to be "x86/pci:".

Noted, thanks.

-- 
Alessandro Zucchelli, B.Sc.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 14:03:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 14:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711473.1111459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzdDc-0001Gn-JK; Wed, 24 Apr 2024 14:03:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711473.1111459; Wed, 24 Apr 2024 14: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 1rzdDc-0001Gg-Gg; Wed, 24 Apr 2024 14:03:28 +0000
Received: by outflank-mailman (input) for mailman id 711473;
 Wed, 24 Apr 2024 14:03: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=kzFK=L5=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1rzdDb-0001GY-0C
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 14:03:27 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a74094e-0243-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 16:03:25 +0200 (CEST)
Received: from BY5PR04CA0025.namprd04.prod.outlook.com (2603:10b6:a03:1d0::35)
 by MN0PR12MB6248.namprd12.prod.outlook.com (2603:10b6:208:3c0::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 14:03:19 +0000
Received: from CO1PEPF000042AA.namprd03.prod.outlook.com
 (2603:10b6:a03:1d0:cafe::69) by BY5PR04CA0025.outlook.office365.com
 (2603:10b6:a03:1d0::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23 via Frontend
 Transport; Wed, 24 Apr 2024 14:03:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042AA.mail.protection.outlook.com (10.167.243.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 14:03:12 +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.35; Wed, 24 Apr
 2024 09:03:09 -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.35; Wed, 24 Apr
 2024 09:03:08 -0500
Received: from [192.168.213.207] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 24 Apr 2024 09:03: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: 6a74094e-0243-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gUR0sBRoOeZP4A8g2uoY56VmUV62ovjeTvemHBhGe491DC/gy4vY9sfUfDiUmOHkjiP2tkO4D6lOgPO9fSyG3VRSs4hHqEU444ETeb3374vBw4Kq7+ZYSmMpWCFownaZryBW2FcHOukJAyxUByAPXEm1GtSxXXKGn2d7KES6xYE5likoBOp/SaWIVdBGor4Cyj6wuUxmUoInmwKEZ3D6IQsHpu1qUgQ/jnVJqvzcGddcsSOSkro0YOP7XauDv5Z6TZRJrzXfl0ICAT4vtlanhYiL1hy+ZW77nnnAsz088NFDlxal1J9DRQ7QPi3xYzsFCPaqCi9H5XoBfEM/k8h+KA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=avRbYMz1cA3ScoHCNHSNugO3g1pNhOD3+1TQutSLqX8=;
 b=eZeBpNbAnd4nO5B7oPXWNM7NBy29iLO2YwXEPvSE5KKmv2HY9YXctVGVEQhgpxZS/HyCSv9fEP9yjgUXkCFh/rd4fYFcfPiJXie8IwJAUNMSn4mgUSu/D4kLWojTXtHNifhw/QN+vuGqUPOHh0pEfn4ArNjnxC45BvV0tpu/DJgdCB7epFy3ry+JaDT0z3TBgO/CE1iYKLQzgB4iAwwPtyYdksDCGNBngEDUrAAM454FCBcAINwYaf5zi+o0j8Nxsdn7OTA71L07e1dRmDjW+fCSORfsJ4f4m+kKDntvG83FaO9tBlSyILgnhosMCup7+EwtW2VxYP9HRvs8Kum67w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=rabbit.lu smtp.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=avRbYMz1cA3ScoHCNHSNugO3g1pNhOD3+1TQutSLqX8=;
 b=S3GkA148Pv5ylBXOI9y9F30JuAPPcDdzk7mTsDZlfmusrqp9ybyXHjoBJkWlobu1OEjes4AFc0gHS3z+pCw704+RV5eTjgvJxyudtUHnTn7wxFwDd6g2DTNaDA9UnCHuyitz8aLHyZghQ+NL4ULZpG/CCUN8P7DVDcfHh+J8F/w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <d3c9ea82-ff33-4211-9e76-f2e599f21a8b@amd.com>
Date: Wed, 24 Apr 2024 10:03:05 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jason Andryuk <jason.andryuk@amd.com>
Subject: Re: [PATCH] tools/xl: add suspend-to-ram and resume subcommands
To: =?UTF-8?Q?zithro_/_Cyril_R=C3=A9bert?= <slack@rabbit.lu>,
	<xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>
References: <4e9f3590be9f19edb87e05c7b7c2efeae8863109.1709190010.git.slack@rabbit.lu>
Content-Language: en-US
In-Reply-To: <4e9f3590be9f19edb87e05c7b7c2efeae8863109.1709190010.git.slack@rabbit.lu>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
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: CO1PEPF000042AA:EE_|MN0PR12MB6248:EE_
X-MS-Office365-Filtering-Correlation-Id: 22333bd1-bcd3-4e0d-347e-08dc646747c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WmRLMllabUVxaGdQTFNPVEc5d2pTTGhsV0NEZG1UUHJiVVpUTjZKUGJUd0Nn?=
 =?utf-8?B?ajFtb2JRdTVaVGlBT250dFpTNFJSK1orcjhQQ1huTUwwdVpQNHdkTitJRmVa?=
 =?utf-8?B?Y1F1WlAzUjh1bW9lZnMxL3I0K3cxZ3E3SnFtZEZRd1JxVzRSQUdiamdid3pR?=
 =?utf-8?B?QU1LbUNvRzhLV1FiWnJuOHBSdkk3cFp5MTRLcWdtNUcwUDkxZVVIZjdkMCtP?=
 =?utf-8?B?akpGNGtaNGk4MVRGeWN3enNEUDkxb094SG5ZK0UzVnEvQmNQWnd6MVNIYWpq?=
 =?utf-8?B?TUI2OHJaRlBacDhWb1JsTFBZYUhSR09KTzlSS3B3WCs0VlBveHRPd2x5Tm5O?=
 =?utf-8?B?RjBqSlQ3aTVCdTdwODZWT1FnMEFIZ0ptSHNrNENiMnUyS3BjcmlKUjE0VHJZ?=
 =?utf-8?B?L2VGNW9kaXMyV2J1QngvRnpnRndPOFFCbGtvUFlUZUxEWTNtM3hYOVU2cTBK?=
 =?utf-8?B?MmJtV3ZPVXRKMkd5Vi9JeGVVWXN5OThXRzBpbVhRYnhVQzBrY2kzL3VpTGRy?=
 =?utf-8?B?VGxUN3VuZTZsTDJzRlU2R3l0RjhEbnd4eGEweVBUWDhQdjBJODVxK2tKRHZY?=
 =?utf-8?B?aVVXQTlNNElVbTc0VU5nWUJERjZWV1d4UzZlam54VlpCTHV1VWQyNGgrdVd6?=
 =?utf-8?B?cy9SazBkUnlYQWFwMG5rTThjM1BuTURQVnVlbENwbkJlRnl3UkIwQ2JCWG5t?=
 =?utf-8?B?K3dKcmxMTzdDSHlCT3JDc1dlQzVBSkZISDFYMmxGTFVVb2Y2U1BtMlA4RFdh?=
 =?utf-8?B?UHJFdzdiRVJZSlFaL2tzRDFWR3p6QVVaaGNYV0NNeUFrdDZ6WEhsUFpoVWpF?=
 =?utf-8?B?THNzaGVhN3drditHbXgxMEFDOCtnVThPTjNudXpOc1dNNjJYbW9wbUxBeEdL?=
 =?utf-8?B?RzZCVjdUYmJJcXZCOW90N2tiSHFBVDdyWEJOZXVGQ3NvNFdTZWlhV0ZuZ0h4?=
 =?utf-8?B?TWdvUFNLVmtSdVp5bXNORDRDWmcxdFVTRnhNOUt0c3k0c2t0ajg3VWp6ODhI?=
 =?utf-8?B?RStXbXh4Z1hzMm1RZGhXYmNzTFRuMWJCc29hTVlseUJDNlBMSG5JR2NZVm9T?=
 =?utf-8?B?TXRvay92ak0zdzZ6dVhDZzZoMEpmU1BqQXRQNVIzcENvVWdmc2ZodlN3WERD?=
 =?utf-8?B?dXVVQnRUOENMalhlVTJTZ2xJN3lWYmg4SWw5bGJXMG1VTkE1MGMxR0dNN1R1?=
 =?utf-8?B?MUJVanZUWTZxNW42eDVERXpDVXBJNGkrMDJ4MEhZL1ZWNkpmK0JlL2VQQ1Yv?=
 =?utf-8?B?ZldGOHU4YjFWK0VTUCtmVHMydkIzMVJSc05ZREZoclFhaEdJQUxZeXprM0pD?=
 =?utf-8?B?K3d4UWE1K3M0RGlFSnNqbUZpSW9hZFhnZnJ5SnBGMnpvVCtqNzd3czQ2VHJw?=
 =?utf-8?B?dnpPWWdXM2Y1YVNEWFFtWENsdDl1bkd3TDFOY3llZ0owYjU5ckpCLzRlSVFS?=
 =?utf-8?B?Q2tVSnk2Y0FDdU1DeW81b1h3WW1ZaUI0WTZLZGsrQlg0Y2JEdmdPYTZHMzF2?=
 =?utf-8?B?TTUzNnJiMXNYRWdSSUFvcWRHRE1YR25mNk5EMUU4YWg1Q0RCVXlIY2k1QXN2?=
 =?utf-8?B?STY3MjRDbTBjektyNFQ1RWN1aXVGRXZZRDdPZFpvYUt0UnFIMmNrUTFJeWc1?=
 =?utf-8?B?UHVLL1NrK2x4RUdWWnNXMUYyVnhKakhKeWUzK3VvWkRrRU1nbmtsbVR2MGNv?=
 =?utf-8?B?cmlUNlI0TlQ4K3JtL2RYcWpGVGpNb0drQzRvNGI4OGNVc3ZKcWpldDExSDBr?=
 =?utf-8?B?Z3hDM3A2d05NbmtHWlk1MGZvRGlDSFgrdGg3RmxTMkh3VHhwd2doWlZRUDdm?=
 =?utf-8?B?Q3ZyRmJBa1VYMnlpTmhqWERLWlYxcGg3Y1A0ajlQaUIyU3RMS0pJYld3WmRo?=
 =?utf-8?Q?+AnwtykNrUNA+?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 14:03:12.6357
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 22333bd1-bcd3-4e0d-347e-08dc646747c9
X-MS-Exchange-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:
	CO1PEPF000042AA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6248

On 2024-02-29 02:00, zithro / Cyril Rébert wrote:
> The xl command doesn't provide suspend/resume, so add them :
>    xl suspend-to-ram <Domain>
>    xl resume <Domain>
> 
> This patch follows a discussion on XenDevel: when you want the
> virtualized equivalent of "sleep"-ing a host, it's better to
> suspend/resume than to pause/unpause a domain.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Suggested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

You should include you S-o-B here to certify your patch under the 
Developer's Certificate of Origin.  You can read what that means in 
CONTRIBUTING.  tl;dr: You are stating you can make the open source 
contribution.

I tested this with a PVH and HVM guest.  suspend-to-ram and resume seem 
to function properly.  The VCPUs stop, but the domain & qemu remain. 
Resume works - the VCPUs start running again.

However, the domain destruction seems to hang on poweroff.  The VM 
transitions to powered off - state shutdown - but the domain and QEMU 
instance are not cleaned up.

If I power off without a suspend-to-ram, everything is cleaned up properly.

Have you seen this?  It's not your code, but I guess something with 
libxl or qemu.

> ---
> - Tested on v4.17, x86
> - the function "libxl_domain_resume" is called like libvirt does, so
>    using a "co-operative resume", but I don't know what it means (:
> - there may be a problem with the words resume <-> restore, like
>    for "LIBXL_HAVE_NO_SUSPEND_RESUME"
> - for the docs, I only slightly adapted a copy/paste from xl pause ...
> ---

> diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
> index 98f6bd2e76..ba45f89c5a 100644
> --- a/tools/xl/xl_vmcontrol.c
> +++ b/tools/xl/xl_vmcontrol.c
> @@ -42,6 +42,16 @@ static void unpause_domain(uint32_t domid)
>       libxl_domain_unpause(ctx, domid, NULL);
>   }
>   
> +static void suspend_domain_toram(uint32_t domid)
> +{
> +    libxl_domain_suspend_only(ctx, domid, NULL);
> +}
> +
> +static void resume_domain(uint32_t domid)
> +{
> +    libxl_domain_resume(ctx, domid, 1, NULL);
> +}
> +

I would just inline these functions below.

>   static void destroy_domain(uint32_t domid, int force)
>   {
>       int rc;
> @@ -82,6 +92,32 @@ int main_unpause(int argc, char **argv)
>       return EXIT_SUCCESS;
>   }
>   
> +int main_suspendtoram(int argc, char **argv)

Maybe main_suspend_to_ram to be closer to the command line suspend-to-ram.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 14:27:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 14:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711480.1111469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzdac-0005tp-Bz; Wed, 24 Apr 2024 14:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711480.1111469; Wed, 24 Apr 2024 14: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 1rzdac-0005ti-96; Wed, 24 Apr 2024 14:27:14 +0000
Received: by outflank-mailman (input) for mailman id 711480;
 Wed, 24 Apr 2024 14:27: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzdaa-0005ta-Tp
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 14:27:12 +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 bd1aaf48-0246-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 16:27:11 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41ae95468efso9631485e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 07:27: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
 v14-20020a5d4a4e000000b0034625392416sm17261775wrs.104.2024.04.24.07.27.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 07:27: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: bd1aaf48-0246-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713968831; x=1714573631; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6kqKkudjbHg8iw4mAb88VR24roPWgfiFaURW+EfRzBw=;
        b=EEvhM/xMhDE9jxNUjMNZt7vEDeth22pz0yqzV1PpbZwl+2MYJ4ygI0r//IJUDxJiok
         j6DGGB+738nP+sL/+2Mkx3TI76WWR8vlMPRkcClrY+pagAZWuueUdlIYx8ogWsEGaK5s
         7OkzOAK2sQIcuyELZG8cGI4F9ikpoKmdu2cTBL04xj913beZJ9G3tPcgBUBXXLxvm9W9
         s6+P7vUEYVqPBOLNfJO4tc4CBat3+I1FPLa3RZf7YOIoLgsux5YA+A0QZOFmare27Hpp
         /CsPGpcuDcrzWdXjH/O/WXds9og3Jze0l83I4VkW5fBwxw0qO2u8s03hDazYuhpESp8I
         OLgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713968831; x=1714573631;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6kqKkudjbHg8iw4mAb88VR24roPWgfiFaURW+EfRzBw=;
        b=jEwK1zQ2i0sEkr3jzWHdnrMkKJUvFEa0XvV6EImb1E2/yEqkHRjTyHJnwbHfwyaH0n
         9M2SRVR1KXi793yfWHZJBHSfjtTerwuwB6mouuilNuDOtDcFzrFyLK9UnqNqFH95owMF
         GGREbS++AS1fq+Br7JclmbVO6XnZ+iC4ZK+IfOFwdtktcZY87Vc8R6DySIE98Yw+T8N2
         DM8FfwuhxTusq5Yl0r4j3tkzhSk6JUv9vuLNWonIlSik+BOl6Nm+2DzY7aVSWx99QPiy
         LNRUgC3II6VP6a9gjYFo+cDng4YzWPUwSfMiXadjkQN+gzNTa8SB3l2vhKwntpFwQBmC
         nUtg==
X-Forwarded-Encrypted: i=1; AJvYcCV6MXnaenPnixjfbUpqSBBE22tFoEFgqQkykgs4FDT0LGZwWLfWCx1crQqasGeYhG7eHBY8B9QFXaqVWrmosnFeK1Ostv+vT2qgbx+kWrA=
X-Gm-Message-State: AOJu0Yxzo/Cyllf1T1FMrAuWUDv1n8om38veF3Ryy0SDgmODrA07Wkx/
	Ya+2w1csy8RHEwTmJzRBCC7vBJ4KUava+/JQ4p8XLQW25DVSmlvHvRnK1z0EAA==
X-Google-Smtp-Source: AGHT+IH+5OXqlUESN51mQGLgHsnz10m1i6u9CYkId55Jw5dwspnY+aIG/yBCWmwWoDS1q281ahu5IQ==
X-Received: by 2002:a5d:56ce:0:b0:347:ced:c7c7 with SMTP id m14-20020a5d56ce000000b003470cedc7c7mr2878547wrw.9.1713968831091;
        Wed, 24 Apr 2024 07:27:11 -0700 (PDT)
Message-ID: <8cab0372-8c40-4648-bdbe-ff56844f289d@suse.com>
Date: Wed, 24 Apr 2024 16:27:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v5 1/3] x86/iommu: Disable IOMMU if cx16 isn't
 supported
Content-Language: en-US
To: Teddy Astie <teddy.astie@vates.tech>
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: <cover.1713433029.git.teddy.astie@vates.tech>
 <4656eab84f7b4b807fc61f54b9ba5c0fc4fae64d.1713433029.git.teddy.astie@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: <4656eab84f7b4b807fc61f54b9ba5c0fc4fae64d.1713433029.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.04.2024 13:57, Teddy Astie wrote:
> All hardware with VT-d/AMD-Vi has CMPXCHG16B support. Check this at
> initialisation time, and remove the effectively-dead logic for the
> non-cx16 case.

As before: What about Xen itself running virtualized, and the underlying
hypervisor surfacing an IOMMU but not CX16? It may be okay to ignore the
IOMMU in such an event, but by not mentioning the case you give the
appearance of not having considered it at all.

> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> @@ -305,6 +305,12 @@ static int __init cf_check iov_detect(void)
>      if ( !iommu_enable && !iommu_intremap )
>          return 0;
>  
> +    if ( unlikely(!cpu_has_cx16) )
> +    {
> +        printk("AMD-Vi: CPU doesn't support CMPXCHG16B, disabling\n");
> +        return -ENODEV;
> +    }
> +
>      if ( (init_done ? amd_iommu_init_late()
>                      : amd_iommu_init(false)) != 0 )
>      {

I did previously point out (and that's even visible in patch context here)
that the per-vendor .setup() hooks aren't necessarily the first thing to
run. Please can you make sure you address (verbally or by code) prior to
submitting new versions?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 14:32:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 14:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711485.1111478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzdfH-0007Qz-0m; Wed, 24 Apr 2024 14:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711485.1111478; Wed, 24 Apr 2024 14: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 1rzdfG-0007Qs-Ti; Wed, 24 Apr 2024 14:32:02 +0000
Received: by outflank-mailman (input) for mailman id 711485;
 Wed, 24 Apr 2024 14:32: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzdfF-0007Qm-Dc
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 14:32:01 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68661b9d-0247-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 16:31:59 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4196c62bb4eso40835235e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 07:31: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
 o3-20020a05600c4fc300b00418f7605249sm21928157wmq.24.2024.04.24.07.31.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 07: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: 68661b9d-0247-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713969118; x=1714573918; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=87wjHftih3QXzAfKs2aqDQQEj4PuoX9exVdz3dCnOdI=;
        b=aXuyeFpmBq1cYQkKXJmwE+aNSDg65rPOaVCE70deqv5+7vlXyFsbQsogw+imwIq3HR
         4WypgttEWj97jnU8tSQZtUtLRYlFqhyoDBN2Djg6HkYXdOULTtgjl2l74GRnSUM4U3gU
         7831ZousxU1XswhGrqZSDyaDy75IFBz8smz5pUw6s3E92gNgFLFbmFGMzgGBtMFp5apq
         JogouSlth9NJ9a/o/xbpcGdryjviRS9GonG5tXBGLH6MkwjGX4lIfkH9ngD7qEptCSno
         /bC91KuDCODsD4RW2jKN9J2G36uwCWm1irZtKz7d9Z/+KJP2smRPLnYQp6WGjS1vGHY/
         VV0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713969118; x=1714573918;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=87wjHftih3QXzAfKs2aqDQQEj4PuoX9exVdz3dCnOdI=;
        b=PtK3Dry66ZYuWNXd8v27Cbi5RJTONQKpwsxmV5IUvXuTB7KqOv8xwbfycTtJOlFHiP
         KMxKe1qfu3Q3wl0wMQU8ZhNcnjULsU7XsjvBTlVqQcv9M3WT1Q2RrKXn29DkVxpHAwnm
         eg3UPiARTMLkTaocbx/VaCPKOLmclL5o/ljBQbiw5tmArrQnP6TKV2Y9hDHTveWY93Ae
         hbjZPm0D77oHaf3ifwbgU57UfwvMiOnnOazxKFASXIXQdhCCGR5v7G1G63rRNRxmNhyr
         F0lmsLTE1c7tFp+ZfuBIJCyYHgE2oXpkDpfagN89n6wV0pT3IcbI6GYAPcpQ/MAwjF8Y
         tghg==
X-Forwarded-Encrypted: i=1; AJvYcCUKkJViLMX+L+8DIqz9Hm2LisCx9OXXzNvfvgKKzWC8elg3CERbPg5vTeqPTWrAM9h0HsA/mp48z7nJFsV50eGzq/7kaE19teg+NP2CQ0I=
X-Gm-Message-State: AOJu0YyBrz4/a2Q8kLm9nmCPaudf6ozZbu6m8XCyQJW2b4Ac/Fm1qaZu
	U1uRHuEzCjvVKTKtRvoxZT7LiGGK0lMAzInEfwqCq/+G7ur0P6rT2gLVXG6yAA==
X-Google-Smtp-Source: AGHT+IGAfh2s91WnxbM6n6o3QkWIDAwJn3tPvCm68YN32bxEy0+267wvF5TI9yZs+KOQRY6TLoabyw==
X-Received: by 2002:a05:600c:470b:b0:418:e0cf:dbfe with SMTP id v11-20020a05600c470b00b00418e0cfdbfemr2165027wmo.15.1713969118557;
        Wed, 24 Apr 2024 07:31:58 -0700 (PDT)
Message-ID: <728372dd-eacb-4c13-9f75-4acc6f3e1d0f@suse.com>
Date: Wed, 24 Apr 2024 16:31:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v5 3/3] x86/iommu: Disable intrerrupt remapping if
 cx16 is not supported
Content-Language: en-US
To: Teddy Astie <teddy.astie@vates.tech>
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: <cover.1713433029.git.teddy.astie@vates.tech>
 <1623ac82177790d57c6acce3b88ba2960ac11837.1713433029.git.teddy.astie@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: <1623ac82177790d57c6acce3b88ba2960ac11837.1713433029.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.04.2024 13:57, Teddy Astie wrote:
> All hardware with VT-d/AMD-Vi has CMPXCHG16B support.  Check this at
> initialisation time, and remove the effectively-dead logic for the non-cx16
> case.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Teddy Astie <teddy.astie@vates.tech>

Hmm, so this looks to be the code that I commented on as missing in patch 1.
I don't think this can be two separate patches. If you want to keep things
in small chunks, move the removal of "the effectively-dead logic" to a
separate, follow-on patch.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 14:33:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 14:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711490.1111489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzdh2-00081p-Am; Wed, 24 Apr 2024 14:33:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711490.1111489; Wed, 24 Apr 2024 14:33:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzdh2-00081i-88; Wed, 24 Apr 2024 14:33:52 +0000
Received: by outflank-mailman (input) for mailman id 711490;
 Wed, 24 Apr 2024 14:33:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzdh1-0007xb-Hq
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 14:33:51 +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 ab19fb52-0247-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 16:33:51 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-34b66f0500aso1898106f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 07:33: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
 o12-20020a5d684c000000b0034aa1e534c2sm11898892wrw.96.2024.04.24.07.33.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 07:33: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: ab19fb52-0247-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713969230; x=1714574030; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hOfjU2lte7ORd6Xg3HV/kxpnkvJ5CjPgnjprnjogXFQ=;
        b=T/eg/xJHOg0obtGrkmK2QBj7H8bgr+Bh30nRZcdC9hS047c39n5ubE1IjbzVC1HnPF
         lNhANOp1CnLlwIfpKBl2CLtVL3XrOxsmlMv3Z/gosKwblpx0gu1CxJp0eLKk71vQxz3/
         BmiluVIVy0spOh+zoLbCTK2kwZkCm+wY479doByOiQq6vywK1oDDKMGHOMsOw9vM1+ZU
         bptp8/XJA8AlVozoyTtA0esLpCVCQxarBjmGI2gSlGj6KFDWQciE0DuioBbW424LH3Bg
         grlkA3ANw6J+0BCSV4VlLgAltqWEcUj7Oi+qpXbfrjzfiNhRMPkckGRQ0279FvxjCQ9g
         dIVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713969230; x=1714574030;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hOfjU2lte7ORd6Xg3HV/kxpnkvJ5CjPgnjprnjogXFQ=;
        b=PuJe7ZkzqNEfkV3OuDwlslm/zDzQa02BMaOUbaaH8lyZDaq5qtF3LX3oSVY0o9OtNJ
         tLDoIDgY1JMK1K1lbLxyVZLdAIjAMIaYO99xsIXzy6MG+Rm8PWZB4EHIYJNzGPSBydb1
         9qHdVRpsP7o9l9y9T21h/8sTowCOXBYMLVV+FPlTueYXi4k+82bo1zHGPXGmYFw4zQYX
         /E94qa8PRnQq+tl+YSUCoHvigdmBOLET2+uXF5gCPw1mvyV46Z6nRzGw/WDd1+o8NVqv
         Nx0laEzqrM4vdgiqYIB3fNDjZqYSRqNPzBf5ryabm71OGKwsTt7thbr2D7U/qyNz0ZGR
         oZ4g==
X-Forwarded-Encrypted: i=1; AJvYcCXmtEFWuZhHNnyzxEsmyiJycofWNTyDdGsK2nTtpkPMJC8V3recPlNLxMgj4vYwzSxJN1ou7eaCqGpEoNtfnOLO5TIhK+HEHi1awJQTUKU=
X-Gm-Message-State: AOJu0Yy/TbNU4UebvL0bILfE2rQ+2x1v1ITWYEUb80J89QRbhcPmcMbF
	j3F1dEb4KMSKQrz3l2Y8so5TQ/rh2zLV889VqxZn9/zOw2QmQQK450jggdxubA==
X-Google-Smtp-Source: AGHT+IG+My6HpqQ2A7s9Gs+5DvXCBoWmW9RrWA+CDzJG1JlP+83ufBzvbKnk6ujtMY5sOhd6QOtLNA==
X-Received: by 2002:adf:e8c7:0:b0:343:c6d1:280d with SMTP id k7-20020adfe8c7000000b00343c6d1280dmr1790929wrn.21.1713969230393;
        Wed, 24 Apr 2024 07:33:50 -0700 (PDT)
Message-ID: <e0f92cf4-3888-4548-a984-bf30fd57101f@suse.com>
Date: Wed, 24 Apr 2024 16:33:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v5 1/3] x86/iommu: Disable IOMMU if cx16 isn't
 supported
Content-Language: en-US
To: Teddy Astie <teddy.astie@vates.tech>
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: <cover.1713433029.git.teddy.astie@vates.tech>
 <4656eab84f7b4b807fc61f54b9ba5c0fc4fae64d.1713433029.git.teddy.astie@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: <4656eab84f7b4b807fc61f54b9ba5c0fc4fae64d.1713433029.git.teddy.astie@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.04.2024 13:57, Teddy Astie wrote:
> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> @@ -305,6 +305,12 @@ static int __init cf_check iov_detect(void)
>      if ( !iommu_enable && !iommu_intremap )
>          return 0;
>  
> +    if ( unlikely(!cpu_has_cx16) )
> +    {
> +        printk("AMD-Vi: CPU doesn't support CMPXCHG16B, disabling\n");
> +        return -ENODEV;
> +    }

One additional nit: Here you neatly have just AMD-Vi: as a prefix for the
log message. Why ...

> @@ -2630,6 +2598,15 @@ static int __init cf_check vtd_setup(void)
>      int ret;
>      bool reg_inval_supported = true;
>  
> +    if ( unlikely(!cpu_has_cx16) )
> +    {
> +        printk(XENLOG_ERR VTDPREFIX
> +               "IOMMU: CPU doesn't support CMPXCHG16B, disabling\n");
> +
> +        ret = -ENODEV;
> +        goto error;
> +    }

... both VTDPREFIX and "IOMMU:" here?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 14:46:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 14:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711497.1111499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzdtS-0002BQ-Ek; Wed, 24 Apr 2024 14:46:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711497.1111499; Wed, 24 Apr 2024 14:46:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzdtS-0002BJ-Bl; Wed, 24 Apr 2024 14:46:42 +0000
Received: by outflank-mailman (input) for mailman id 711497;
 Wed, 24 Apr 2024 14:46: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=HGaV=L5=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzdtQ-0002BD-PC
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 14:46:40 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 746d3b37-0249-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 16:46:38 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-345b857d7adso5553767f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 07:46: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
 a12-20020adfed0c000000b0034635bd6ba5sm17331996wro.92.2024.04.24.07.46.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 07:46: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: 746d3b37-0249-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1713969998; x=1714574798; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Bz/YhIzGhuFRShO/LmesSR0Y6BDwd1h8Ja1h9kYKipQ=;
        b=Ml65lNCoxrhYEwOyRdm5qai90cNkrKf/X1CGiWokf+mE0BDY6VWxcB6FcjrXcSSls6
         cshKLZiq7etl/Asg+7DkfvhOLs7e7UzDBZsl1KhOXUqEGfJAPQkmSRnabtMsk89u0J0b
         SlGR8ouZBT/Hqc13L/k9gE19zvQYqYQMHC53h3fEle14Qun+anacnSH2yrH4NydkGW9R
         NT0hMWiNy/H0rPyxar9YF+EfmB1qjLZfbV9ZNjn3B9r356/XjaDBs8toxLGYBkzGxgR8
         3huFxj05L96Wx0zFfIi+wRAjo/2gDk0oKxEovTrfkobbJ39T9R9lIyG+8ToaLz4kfkD7
         bp2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713969998; x=1714574798;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Bz/YhIzGhuFRShO/LmesSR0Y6BDwd1h8Ja1h9kYKipQ=;
        b=c1f8DZq8AQ1h55ttDk7Vr8PcB2BP1YqvXNMxm9c/gdwoqNYnpiMudsCNqgXh53bi7R
         7r3czP6xlMFE1aqgXrJsnW5j46rDpa7j5CEiHtcWbCwJOXSwB3SXNd8NlC1kUM4N86Oz
         agH4G/6MyXExgmFHGIpx6Fp+zYkxxdYmawCgIqmWj51Ap3Byvgjm2EoL/FQ28WFG3XDf
         TVOclueoVH3Qy9VxSKBmKe3qhrXa07ySYhuC8hXL2khCXNE0mUpEAqLlJWC4DJdUG0Vb
         0kfLKCU3zDpGFX+5RsEnOfTsRYWcQ5qdQcyk+IcdWn8syvrcNsV71Mj/MEMFmMSqgwKC
         wMuw==
X-Forwarded-Encrypted: i=1; AJvYcCXIh5SRrw7vwA5vsHYWxWcDK3LexMqZZwkzo4WUc39P4apm/kmtbpC/oC333rAFJ/fDEzpPUQ8oaqNUSEspVXsrKL6Ky2Wt9OM2Qz3z4oE=
X-Gm-Message-State: AOJu0YwIp29aCa4HXZW90u+T6jWTCzLtGfEJrzy0ws0V+vmwjRy+5LFF
	7C7hL4Leru9a4bjCzT1T9aiESXbIxXFBC/Tf4Lw6AQ+XiIbJhMr7RSw5RhMj/KKX8YZ4S4Z3+Sg
	=
X-Google-Smtp-Source: AGHT+IFZVCaLgRtPZQUjV3dvx3F5LXmG/3po5Xx/k2YZosyNuczE8vBOk0jg819LYOKang6+ER6mAA==
X-Received: by 2002:adf:e80e:0:b0:343:a368:f792 with SMTP id o14-20020adfe80e000000b00343a368f792mr1974871wrm.52.1713969997569;
        Wed, 24 Apr 2024 07:46:37 -0700 (PDT)
Message-ID: <742d3499-208a-4650-bc95-fa59e334bd25@suse.com>
Date: Wed, 24 Apr 2024 16:46:36 +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
Content-Language: en-US
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>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d7263aaef3bd59255a84bd78c4ea4c09c78a5902.1712893887.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.04.2024 05:55, 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>
> ---
> Changes in v4:
>   - use mfn_add in initial_page_alloc()
>   - zero pages returned by initial_page_alloc()
> 
>  xen/arch/ppc/mm-radix.c | 231 +++++++++++++++++++++-------------------
>  1 file changed, 123 insertions(+), 108 deletions(-)
> 
> diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
> index ab5a10695c..8f4bfa87c0 100644
> --- a/xen/arch/ppc/mm-radix.c
> +++ b/xen/arch/ppc/mm-radix.c
> @@ -21,69 +21,105 @@ 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)];
> +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.

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

> + * 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)));
> 
> -    return &initial_lvl2_lvl3_pd_pool[initial_lvl2_lvl3_pd_pool_used++];
> +    memset(__va(mfn_to_maddr(mfn_first)), 0, nr_pfns << PAGE_SHIFT);
> +
> +    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));
> +
> +    /* 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));
> 
> -    return &initial_lvl4_pt_pool[initial_lvl4_pt_pool_used++];
> +    /* 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,
> @@ -92,6 +128,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 )
>      {
> @@ -105,81 +142,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));
> +        unsigned long flags;
> 
> -        /* Allocate LVL 3 PD if necessary */
> -        pde = pt_entry(lvl2, page_addr);
> -        if ( !pde_is_valid(*pde) )
> +        if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
>          {
> -            lvl3 = lvl3_pd_pool_alloc();
> -            *pde = paddr_to_pde(__pa(lvl3), PDE_VALID,
> -                                XEN_PT_ENTRIES_LOG2_LVL_3);
> +            radix_dprintk("%016lx being marked as TEXT (RX)\n", page_addr);
> +            flags = PTE_XEN_RX;
>          }
> -        else
> -            lvl3 = __va(pde_to_paddr(*pde));
> -
> -        /* Allocate LVL 4 PT if necessary */
> -        pde = pt_entry(lvl3, page_addr);
> -        if ( !pde_is_valid(*pde) )
> +        else if ( is_kernel_rodata(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 RODATA (RO)\n", page_addr);
> +            flags = PTE_XEN_RO;
>          }
>          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) )
>          {
> -            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);
> -        }
> -        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.

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

Jan


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 15:17:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 15:17:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711513.1111508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzeNF-0007GB-Sd; Wed, 24 Apr 2024 15:17:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711513.1111508; Wed, 24 Apr 2024 15: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 1rzeNF-0007G4-PL; Wed, 24 Apr 2024 15:17:29 +0000
Received: by outflank-mailman (input) for mailman id 711513;
 Wed, 24 Apr 2024 15:17: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=RcL4=L5=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1rzeNE-0007Fy-7N
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 15:17:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1a69e2e-024d-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 17:17:26 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 427574EE0739;
 Wed, 24 Apr 2024 17:17: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: c1a69e2e-024d-11ef-b4bb-af5377834399
MIME-Version: 1.0
Date: Wed, 24 Apr 2024 17:17:25 +0200
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
To: Teddy Astie <teddy.astie@vates.tech>
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>
Subject: Re: [XEN PATCH 2/2] x86/msr: add suffix 'U' to MSR_AMD_CSTATE_CFG
 macro.
Reply-To: alessandro.zucchelli@bugseng.com
Mail-Reply-To: alessandro.zucchelli@bugseng.com
In-Reply-To: <12b6774f-b2da-4407-ba70-501e03a91129@vates.tech>
References: <cover.1713956723.git.alessandro.zucchelli@bugseng.com>
 <ec689584e80421d7ffa5b1c0f576ed60b84aeda3.1713956723.git.alessandro.zucchelli@bugseng.com>
 <12b6774f-b2da-4407-ba70-501e03a91129@vates.tech>
Message-ID: <ebf434ae29242240c1d57f9a41044212@bugseng.com>
X-Sender: alessandro.zucchelli@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2024-04-24 14:53, Teddy Astie wrote:
> Le 24/04/2024 à 14:11, Alessandro Zucchelli a écrit :
>> This addresses violations of MISRA C:2012 Rule 7.2 which states as
>> following: A “u” or “U” suffix shall be applied to all integer 
>> constants
>> that are represented in an unsigned type.
>> 
>> No functional change.
>> 
>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
>> ---
>>   xen/arch/x86/include/asm/msr-index.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/xen/arch/x86/include/asm/msr-index.h 
>> b/xen/arch/x86/include/asm/msr-index.h
>> index 92dd9fa496..9cdb5b2625 100644
>> --- a/xen/arch/x86/include/asm/msr-index.h
>> +++ b/xen/arch/x86/include/asm/msr-index.h
>> @@ -236,7 +236,7 @@
>> 
>>   #define MSR_VIRT_SPEC_CTRL                  _AC(0xc001011f, U) /* 
>> Layout matches MSR_SPEC_CTRL */
>> 
>> -#define MSR_AMD_CSTATE_CFG                  0xc0010296
>> +#define MSR_AMD_CSTATE_CFG                  0xc0010296U
>> 
>>   /*
>>    * Legacy MSR constants in need of cleanup.  No new MSRs below this 
>> comment.
> 
> Hello, thanks for the patches
> 
> I wonder if the same approach should be also taken for all the other 
> MSR
> constants of this file that are similar ?
> 
Hello,

from a (strict) point of view of Rule 7.2, the suffix is needed if the
numeric constant cannot be represented using an int and it is therefore
represented using an unsigned integer.
Every violation in the MSR file has already been addressed.
-- 
Alessandro Zucchelli, B.Sc.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 15:30:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 15:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711519.1111519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzeZJ-0000pT-VK; Wed, 24 Apr 2024 15:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711519.1111519; Wed, 24 Apr 2024 15: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 1rzeZJ-0000pM-RE; Wed, 24 Apr 2024 15:29:57 +0000
Received: by outflank-mailman (input) for mailman id 711519;
 Wed, 24 Apr 2024 15:29: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=0Jw4=L5=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rzeZJ-0000pE-7u
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 15:29: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 806460a1-024f-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 17:29:55 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-56e69a51a33so6571924a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 08:29:55 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 be12-20020a0564021a2c00b0056bf7f92346sm7975386edb.50.2024.04.24.08.29.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 08: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: 806460a1-024f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1713972595; x=1714577395; 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=kWRQWjxyOeMb8ROrg+DPcu5pJ+mVAusmtOHZ/A8jQfY=;
        b=etyp7KXolUGHx2/QHDNbqsE0bBH4SfyunSoWzYtVsdR9/2JXOTWoFevT/cOkOueLc1
         4CC0navi+gBl4qnropyOcosvgozNCWb5CCU0baU9OBaYy774pMDPZM1LULUz3LqlIA/8
         k1ICtOpc6EpmSPdqEAg8WTsZTy9YuZIRMe9WY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713972595; x=1714577395;
        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=kWRQWjxyOeMb8ROrg+DPcu5pJ+mVAusmtOHZ/A8jQfY=;
        b=OoZutslFKRBJ9itgaoH1Y7TMyYUsppYeE8E6wt1ZCGA+0WOoYezB4Z/5RFTWR+BDm3
         6EyjkdI4lwQ8oGEymoxCJPeOOxWTWKxM899EirxFnLUuAoym7Cia4dHz4QIxeSQ3C63e
         QdZJx10hPL+oIrq113BtGF1PLLNltWIbk/2bunQYlwk6Ck9WDFHlh3REbVcxqWznIRgv
         yv9GQYvPEoLzdwZL/YldNqRabEX8t9UaJU3VOLCRWcat70JhWmeSypamIvfYoP0jPWV2
         Jh+riOv8MDx4ro7Ycf/xc8kds//joobICWpOX/m+j/QS5Lc0YdFT4kX2fCqDJgySid6g
         d2+g==
X-Gm-Message-State: AOJu0YwSMD4ALyiLPGxvIWNVSnbJ3KYYogNYQ+Vm53pIM+gy4WMq1FZO
	IMc9Sdz40WU0yzOXS99fRL3z8Vegq9+ESG5BAR03dGKJr67ZngK/4Odj3/H1BXc=
X-Google-Smtp-Source: AGHT+IFazTlCEx8Xhsyv07aN0Qn2xmKWO/UEFKUqSlIOpPXmIKSFCYY1EPGXw0Y/NAI7hgIXrLzwOg==
X-Received: by 2002:a50:9e06:0:b0:570:5e7d:95ec with SMTP id z6-20020a509e06000000b005705e7d95ecmr2187104ede.6.1713972594751;
        Wed, 24 Apr 2024 08:29:54 -0700 (PDT)
Date: Wed, 24 Apr 2024 16:29:53 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v4 1/4] xen-livepatch: fix parameter name parsing
Message-ID: <a72678d3-3aab-49b6-b0d7-6f00328b7e7f@perard>
References: <20240424081957.34326-1-roger.pau@citrix.com>
 <20240424081957.34326-2-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240424081957.34326-2-roger.pau@citrix.com>

On Wed, Apr 24, 2024 at 10:19:54AM +0200, Roger Pau Monne wrote:
> It's incorrect to restrict strncmp to the length of the command line input
> parameter, as then a user passing a rune like:
> 
> % xen-livepatch up foo.livepatch
> 
> Would match against the "upload" command, because the string comparison has
> been truncated to the length of the input argument.  Use strcmp instead which
> doesn't truncate.  Otherwise in order to keep using strncmp we would need to
> also check strings are of the same length before doing the comparison.
> 
> Fixes: 05bb8afedede ('xen-xsplice: Tool to manipulate xsplice payloads')
> Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:28:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711532.1111544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfTB-0001oU-AQ; Wed, 24 Apr 2024 16:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711532.1111544; Wed, 24 Apr 2024 16: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 1rzfTB-0001oN-7m; Wed, 24 Apr 2024 16:27:41 +0000
Received: by outflank-mailman (input) for mailman id 711532;
 Wed, 24 Apr 2024 16:27: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=gNf0=L5=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1rzfT9-0001oH-Ui
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:27:40 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2415::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e8b90fe-0257-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:27:36 +0200 (CEST)
Received: from MN2PR14CA0009.namprd14.prod.outlook.com (2603:10b6:208:23e::14)
 by CY5PR12MB6108.namprd12.prod.outlook.com (2603:10b6:930:27::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr
 2024 16:27:30 +0000
Received: from BL02EPF00021F6B.namprd02.prod.outlook.com
 (2603:10b6:208:23e:cafe::4f) by MN2PR14CA0009.outlook.office365.com
 (2603:10b6:208:23e::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Wed, 24 Apr 2024 16:27:30 +0000
Received: from SATLEXMB03.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.7519.19 via Frontend Transport; Wed, 24 Apr 2024 16:27:29 +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.35; Wed, 24 Apr
 2024 11:27:29 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 24 Apr 2024 11:27: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: 8e8b90fe-0257-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F4PZ0asnfjOot9VZc5WlCJq0bJM6mTBRVYwA+VlWVvhZ5jTj8hiGyz82XgW4swExYjhbfqTYswc/NRGjDD/rkIVHpfH406R+6BVB+3k2HQMS9iXQVOmXOXwyy4uAFUf3q2DERTOoEtZuPSkzYDVMovMNeyJz1PslX9tDJv2uuSpa2COjby/HyygLxi3Fe4AqthGPPRy0uTS+/CbBhB9/Wnuu86su81/jZx8DLrheum/3kjWMVo6QmhRYO+dBNbrRz2+4rcQDbrCar/UZCD1yqYlgFlquPS6Xo0ht6BKNZFdus7ZyXob+ZTe8FSayhIrQwO3RVNVZfUQ9OjuZAv3y6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8lea7rpiXbySq5b28kViv384nbu2rzhSNZO83KIpiL0=;
 b=elwlvvqAyHDuFOnKdFRaYNVJg5Fda/L3KxhsnfY3LsNriGCD90qLGxdLhMUHguyqRld0+OiNJGWKOZFzDEFRgws3BEsf1v0BkhQGdo6S7kjhyvKV+ukkk5ha4hequ3JqC20zHmDFdT60/7jYxn4p9xtLC/QihWzsiOpnY5rJg0xJ0ckBbFYwj8eOGvmqb53QlquSlwpvlzNy6wTH/Enk5/B058hnafpgsR5mV8B/ZHZ3Nnxcf7O8O7Tu7AythAbHNt+F6DKJxrKCSqTrNKlQ2mqGj0Mr+zgSzFMTE19w50kAuLVxxn+61TXleMa/W4UdF7SK1z/No0MkJIOpjQpbbA==
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=8lea7rpiXbySq5b28kViv384nbu2rzhSNZO83KIpiL0=;
 b=xH7xE6E6HSKydLyO4KgvykmPQfdYHOIYPG5vxHDjEclsq9pgDLlFU7Wxwm8E4K7UY/K9WfzAX6YJXINtf1RfdgkKH26HAQevvgHBN1NN9eiv3NbvRgCoIEhvzZKHg81s+XgDVC7UHKa4m9pcq0m9N0zqAywuX4pdYe1IUC+v894=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH] arm/vpci: make prefetchable mem 64 bit
Date: Wed, 24 Apr 2024 12:27:22 -0400
Message-ID: <20240424162726.204791-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.43.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: BL02EPF00021F6B:EE_|CY5PR12MB6108:EE_
X-MS-Office365-Filtering-Correlation-Id: 90d21c0f-c400-4604-7a2b-08dc647b6fdb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?WRVMeBCLA0T4cBra/OTI15Tj939vsUuugHEccLP8/rEA9vVWc3Ap0BoszbA4?=
 =?us-ascii?Q?UJHDsegg3I/z27W5XC2b9ftatve81vGCLv8hKnTprBuyuKTqLSr3wWLww/Ky?=
 =?us-ascii?Q?W/95z3grXFeRyDuUp0EDqua+WE1lpG0yR48vLg+yBKMt5CQRrYlgmc4MtQHa?=
 =?us-ascii?Q?wIR7I8AAq90O9Tzy8CHlFHho3rfLaquCgt+Dum+V4qs0Z2pYB5T/IPDqa/om?=
 =?us-ascii?Q?KRocWP2eF9kGlmY8v5cl0/ReihbdKk19aC49yC7j3NX5ky5s94YMZ3RW2CSk?=
 =?us-ascii?Q?346tKRixIfhYulMAsOv8KEUDyWY3E1VGl4pDEcVTYVUV2P4EcAhaVTIvwZBP?=
 =?us-ascii?Q?3ISgSYbgKntDEyyUecGecoqhT1NfkjpeOGZsvSsd8Z4fkIMVANW/rIC6Ge4g?=
 =?us-ascii?Q?2KSgwMIX2pSTNeW3qu+4av0VYUUQ1hn3mBB5hy0CWWjd++YYw+hbMgk+DT0U?=
 =?us-ascii?Q?qCaN/fTN7KJv0VjG5fkgytCQr+fvv+jjib7GEi32lcK38nj1heXNHIXWtGYT?=
 =?us-ascii?Q?2tv9a44P5in0ZThiQKKkurxeEYHYDagYGdW6IVr1W6dNa7LzqMy9EeHwQq/9?=
 =?us-ascii?Q?VSgvN0blYGVsB9gv2pTWks6/g/VvEE1VHZxcqpZP2sIapfWaxBNywb0a8CM1?=
 =?us-ascii?Q?vChynikXY0dY2wJWQ0h10TCNTiYmdgMDvuw4CTqp3p7ZpdPoV3bW/eTfJPZz?=
 =?us-ascii?Q?PdAvzxj/eB9RDUHwoZCxKnjTA8Cc37lrKwpEJFGzvcd61kCFkoNepZwqkbRD?=
 =?us-ascii?Q?/BAaCuiFaQjJ9X0dK3OXOwHpkeDFInwMgTG12AlhHd4/NMEi5375RNhaTdZ8?=
 =?us-ascii?Q?G3NI8saogdhGHtfD5Lyi6Iwy5p27xhJl++9EhjhYeXwU5cwSdE3apzYrjBjr?=
 =?us-ascii?Q?3a6JKkMa+o8BVgKBrqouZDeNT6Er89R0NDc29a9gF3nNpyC9d1EsHxvUQWZ4?=
 =?us-ascii?Q?8bd0yJZGuaj8dfCK4aBVuZ9JFeLNZdaFCgQzP19ozaAkgU7J9qfeA1eA9diO?=
 =?us-ascii?Q?6xe6fl9rxz0ujD5Cg18Cw/Fic8jLfIZkQ4J2zTN+1OHW5twwr4+VIX7M/6jb?=
 =?us-ascii?Q?qipG4SZoPj6uPMcC8E3NKPUO5Vyjz7fzlWwO2vMiKaUJLht3uE7W5/8FQh4u?=
 =?us-ascii?Q?wobNNs2AV+Tm/Ik2XFcvXcThcv7rxQFT8+O9q/nIYDLy9xmlnYTiyC8yLtNw?=
 =?us-ascii?Q?DchSkobipqzAHAI9ojVGrk6uMLKKdU3bn83fuU9Mw2yifTeNNNfNB2r0T5f2?=
 =?us-ascii?Q?mKA52KOhUqE5TLdcy2FLS+Ub/ziP3ZhEjtgYEQOxkugOL7SI38UI7TLmMm7m?=
 =?us-ascii?Q?a9La0RaIPr86vE64VyZaFBMDKOSQPUzcfhWBr/xATUwiSbmRvO/ReClTaChY?=
 =?us-ascii?Q?4W7h5DCUTHN+eXjxKt00hP87I8Bm?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 16:27:29.9864
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 90d21c0f-c400-4604-7a2b-08dc647b6fdb
X-MS-Exchange-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:
	BL02EPF00021F6B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6108

The vPCI prefetchable memory range is >= 4GB, so the memory space flags
should be set to 64-bit. See IEEE Std 1275-1994 [1] for a definition of
the field.

[1] https://www.devicetree.org/open-firmware/bindings/pci/pci2_1.pdf

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
 xen/include/public/arch-arm.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e167e14f8df9..289af81bd69d 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -487,7 +487,7 @@ typedef uint64_t xen_callback_t;
 #define GUEST_RAM0_SIZE   xen_mk_ullong(0xc0000000)
 
 /* 4GB @ 4GB Prefetch Memory for VPCI */
-#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM   xen_mk_ullong(0x42000000)
+#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM   xen_mk_ullong(0x43000000)
 #define GUEST_VPCI_PREFETCH_MEM_ADDR        xen_mk_ullong(0x100000000)
 #define GUEST_VPCI_PREFETCH_MEM_SIZE        xen_mk_ullong(0x100000000)
 

base-commit: 410ef3343924b5a3928bbe8e392491992b322cf0
-- 
2.43.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:34:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:34:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711538.1111554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfa0-0003be-0c; Wed, 24 Apr 2024 16:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711538.1111554; Wed, 24 Apr 2024 16: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 1rzfZz-0003bX-UN; Wed, 24 Apr 2024 16:34:43 +0000
Received: by outflank-mailman (input) for mailman id 711538;
 Wed, 24 Apr 2024 16: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=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfZx-0003bR-VY
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:34: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 8a5de96e-0258-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:34:39 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713976472126342.6328747529942;
 Wed, 24 Apr 2024 09:34: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: 8a5de96e-0258-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713976473; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=eNsob4rW0SfZeFFTrSle+feUY831NvO2dFcissAnEKYVio7SEWNN24q+KKofb4Z+xC4YwRGaJ31gKCroCBoei3vyZsjZCuKAEAUDXeC9hHbJkTScxFZYvoKdrEoOYmNUgfm4s/UcTXCl9pT1rE7QtV2iW1Dn+AJ3A582mCvGZsE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976473; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=mGke6Axzj9j0KUa0Xd8sbOsXw2gsdueKvQSyoMxUjz8=; 
	b=gg6JBNN5l2ODVDjvkaIOMK3WUFJfrbK7rPq01KQnn5hr2q6jkMHxUoQHb1O0IK303+WEmrHnpdfEDgjZJ5nLwvxcMnPsXSgM6eVCcG2b3c+A2lsCLLns3vBKHgeX0DMdV7KHOru+NBITNo+j6GkS0m62kLQy2KF+KKwiOCyav98=
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=1713976473;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=mGke6Axzj9j0KUa0Xd8sbOsXw2gsdueKvQSyoMxUjz8=;
	b=vD9neVuwcngr8Tgpb7OMVH2p6eva/eKpNH/RhA9cWWzKSECzh1naMkNtKSv/NWQy
	rHnuyMLrwyYB5BLbuN8JLgJDYGShl2egr/kmI+VojzUHYG1FIglTvPDGzZl96IFFOPs
	Db3L9Uxa41oHnLeBqrQm1tQMfk8rznqz5QNkh6rA=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 0/8] Clean up of gzip decompressor
Date: Wed, 24 Apr 2024 12:34:14 -0400
Message-Id: <20240424163422.23276-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

An issue ran into by hyperlaunch was the need to use the gzip decompressor
multiple times. The current implementation fails when reused due to tainting of
decompressor state from a previous usage. This series seeks to colocate the
gzip unit files under a single directory similar to the other decompression
algorithms.  To enable the refactoring of the state tracking, the code is then
cleaned up in line with Xen coding style.

Changes in v3:
- patch "xen/gzip: Drop huffman code table tracking" was merged
- patch "xen/gzip: Remove custom memory allocator" was merged
- patch "xen/gzip: Drop unused define checks" was merged
- move of the decompressor state into struct was broken up to ease review
- expanded macros that were either only used once or obsfucated the logic
- adjusted variable types as needed to be more appropriate for their usage

Changes in v2:
- patch "xen/gzip: Colocate gunzip code files" was merged
- dropped ifdef chunks that are never enabled
- addressed formatting changes missed in v1
- replaced custom memory allocator with xalloc_bytes()
- renamed gzip_data to gzip_state
- moved gzip_state to being dynamically allocated
- changed crc table to the explicit size of uint32_t 
- instead of moving huffman tracking into state, dropped altogether


Daniel P. Smith (8):
  gzip: clean up comments and fix code alignment
  gzip: refactor and expand macros
  gzip: refactor the gunzip window into common state
  gzip: move window pointer into gunzip state
  gzip: move input buffer handling into gunzip state
  gzip: move output buffer into gunzip state
  gzip: move bitbuffer into gunzip state
  gzip: move crc state into gunzip state

 xen/common/gzip/gunzip.c  |  84 ++--
 xen/common/gzip/inflate.c | 948 +++++++++++++++++++-------------------
 2 files changed, 516 insertions(+), 516 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:35:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711539.1111565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfaG-0003vU-87; Wed, 24 Apr 2024 16:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711539.1111565; Wed, 24 Apr 2024 16:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfaG-0003vN-5D; Wed, 24 Apr 2024 16:35:00 +0000
Received: by outflank-mailman (input) for mailman id 711539;
 Wed, 24 Apr 2024 16:34:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfaE-0003bR-39
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:34:58 +0000
Received: from sender3-of-o59.zoho.com (sender3-of-o59.zoho.com
 [136.143.184.59]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93e2ae20-0258-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:34:54 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 171397647381758.71801358217556;
 Wed, 24 Apr 2024 09:34: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: 93e2ae20-0258-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713976475; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=G8paEM41ze5eD0pwTuUxgPaY0GYMNymnFf6Wj/CFWOvp6jnYSTZVWHxUxwsCh2dgYjs3zvon4OS2IZ4jzyQicFdGipJcyTubX2AoX+gG16AZT9Qyx5tBuOVSuKFGXYekd2+jECt0KulvI590vNtZH+MC2VR8bL542Kl8A/hOM2w=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976475; h=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=8z49QbqXa4Zd8fwn5J5nFe639PZTbAeeQIyNcepe6Uc=; 
	b=CkKRRSTospewgUyBghbHKSreAOZr6SHCiPVaQNmIckyAGd2DEXLa11MHAs6ZDvQvId6vKgetI833VjAO12FMoaPIewb29H63COTf/p9wWeR2ym9D2kdKxrdtXLHmisZsA33zjSuk4U63q7dZtcyzTJQgmW5PdhSrOgRVtmCutJ0=
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=1713976475;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=8z49QbqXa4Zd8fwn5J5nFe639PZTbAeeQIyNcepe6Uc=;
	b=uQCcFGuuyjkMPy5LX6TVjC3AU9FtugjFuo/qlEcOMBkpTjJLJeJsvm+zzzyurhAX
	Z8GPdbBOV40KPtM6wOZLySko3sQTJsShT7DqUZEqyyK2hiBsnjcOP4XJErcLp5Nyo9k
	8mn93l8XpV9uLCWPZ0JuQFWzOYrFInwapG+pU83g=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 1/8] gzip: clean up comments and fix code alignment
Date: Wed, 24 Apr 2024 12:34:15 -0400
Message-Id: <20240424163422.23276-2-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This commit cleans up the comments and fixes the code alignment using Xen
coding style. This is done to make the code more legible before refactoring.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  |  14 +-
 xen/common/gzip/inflate.c | 787 +++++++++++++++++++-------------------
 2 files changed, 406 insertions(+), 395 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 53cee9ee178a..d07c451cd875 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -54,11 +54,10 @@ static __init void error(const char *x)
 
 static __init int fill_inbuf(void)
 {
-        error("ran out of input data");
-        return 0;
+    error("ran out of input data");
+    return 0;
 }
 
-
 #include "inflate.c"
 
 static __init void flush_window(void)
@@ -122,3 +121,12 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
 
     return rc;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index a03903f73116..220d2ff4d9d9 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1,11 +1,13 @@
 #define DEBG(x)
 #define DEBG1(x)
-/* inflate.c -- Not copyrighted 1992 by Mark Adler
-   version c10p1, 10 January 1993 */
+/*
+ * inflate.c -- Not copyrighted 1992 by Mark Adler
+ * version c10p1, 10 January 1993
+ */
 
-/* 
+/*
  * Adapted for booting Linux by Hannu Savolainen 1993
- * based on gzip-1.0.3 
+ * based on gzip-1.0.3
  *
  * Nicolas Pitre <nico@cam.org>, 1999/04/14 :
  *   Little mods for all variable to reside either into rodata or bss segments
@@ -15,92 +17,91 @@
  */
 
 /*
-   Inflate deflated (PKZIP's method 8 compressed) data.  The compression
-   method searches for as much of the current string of bytes (up to a
-   length of 258) in the previous 32 K bytes.  If it doesn't find any
-   matches (of at least length 3), it codes the next byte.  Otherwise, it
-   codes the length of the matched string and its distance backwards from
-   the current position.  There is a single Huffman code that codes both
-   single bytes (called "literals") and match lengths.  A second Huffman
-   code codes the distance information, which follows a length code.  Each
-   length or distance code actually represents a base value and a number
-   of "extra" (sometimes zero) bits to get to add to the base value.  At
-   the end of each deflated block is a special end-of-block (EOB) literal/
-   length code.  The decoding process is basically: get a literal/length
-   code; if EOB then done; if a literal, emit the decoded byte; if a
-   length then get the distance and emit the referred-to bytes from the
-   sliding window of previously emitted data.
-
-   There are (currently) three kinds of inflate blocks: stored, fixed, and
-   dynamic.  The compressor deals with some chunk of data at a time, and
-   decides which method to use on a chunk-by-chunk basis.  A chunk might
-   typically be 32 K or 64 K.  If the chunk is incompressible, then the
-   "stored" method is used.  In this case, the bytes are simply stored as
-   is, eight bits per byte, with none of the above coding.  The bytes are
-   preceded by a count, since there is no longer an EOB code.
-
-   If the data is compressible, then either the fixed or dynamic methods
-   are used.  In the dynamic method, the compressed data is preceded by
-   an encoding of the literal/length and distance Huffman codes that are
-   to be used to decode this block.  The representation is itself Huffman
-   coded, and so is preceded by a description of that code.  These code
-   descriptions take up a little space, and so for small blocks, there is
-   a predefined set of codes, called the fixed codes.  The fixed method is
-   used if the block codes up smaller that way (usually for quite small
-   chunks), otherwise the dynamic method is used.  In the latter case, the
-   codes are customized to the probabilities in the current block, and so
-   can code it much better than the pre-determined fixed codes.
- 
-   The Huffman codes themselves are decoded using a multi-level table
-   lookup, in order to maximize the speed of decoding plus the speed of
-   building the decoding tables.  See the comments below that precede the
-   lbits and dbits tuning parameters.
+ * Inflate deflated (PKZIP's method 8 compressed) data.  The compression
+ * method searches for as much of the current string of bytes (up to a
+ * length of 258) in the previous 32 K bytes.  If it doesn't find any
+ * matches (of at least length 3), it codes the next byte.  Otherwise, it
+ * codes the length of the matched string and its distance backwards from
+ * the current position.  There is a single Huffman code that codes both
+ * single bytes (called "literals") and match lengths.  A second Huffman
+ * code codes the distance information, which follows a length code.  Each
+ * length or distance code actually represents a base value and a number
+ * of "extra" (sometimes zero) bits to get to add to the base value.  At
+ * the end of each deflated block is a special end-of-block (EOB) literal/
+ * length code.  The decoding process is basically: get a literal/length
+ * code; if EOB then done; if a literal, emit the decoded byte; if a
+ * length then get the distance and emit the referred-to bytes from the
+ * sliding window of previously emitted data.
+ *
+ * There are (currently) three kinds of inflate blocks: stored, fixed, and
+ * dynamic.  The compressor deals with some chunk of data at a time, and
+ * decides which method to use on a chunk-by-chunk basis.  A chunk might
+ * typically be 32 K or 64 K.  If the chunk is incompressible, then the
+ * "stored" method is used.  In this case, the bytes are simply stored as
+ * is, eight bits per byte, with none of the above coding.  The bytes are
+ * preceded by a count, since there is no longer an EOB code.
+ *
+ * If the data is compressible, then either the fixed or dynamic methods
+ * are used.  In the dynamic method, the compressed data is preceded by
+ * an encoding of the literal/length and distance Huffman codes that are
+ * to be used to decode this block.  The representation is itself Huffman
+ * coded, and so is preceded by a description of that code.  These code
+ * descriptions take up a little space, and so for small blocks, there is
+ * a predefined set of codes, called the fixed codes.  The fixed method is
+ * used if the block codes up smaller that way (usually for quite small
+ * chunks), otherwise the dynamic method is used.  In the latter case, the
+ * codes are customized to the probabilities in the current block, and so
+ * can code it much better than the pre-determined fixed codes.
+ *
+ * The Huffman codes themselves are decoded using a multi-level table
+ * lookup, in order to maximize the speed of decoding plus the speed of
+ * building the decoding tables.  See the comments below that precede the
+ * lbits and dbits tuning parameters.
  */
 
-
 /*
-   Notes beyond the 1.93a appnote.txt:
-
-   1. Distance pointers never point before the beginning of the output
-      stream.
-   2. Distance pointers can point back across blocks, up to 32k away.
-   3. There is an implied maximum of 7 bits for the bit length table and
-      15 bits for the actual data.
-   4. If only one code exists, then it is encoded using one bit.  (Zero
-      would be more efficient, but perhaps a little confusing.)  If two
-      codes exist, they are coded using one bit each (0 and 1).
-   5. There is no way of sending zero distance codes--a dummy must be
-      sent if there are none.  (History: a pre 2.0 version of PKZIP would
-      store blocks with no distance codes, but this was discovered to be
-      too harsh a criterion.)  Valid only for 1.93a.  2.04c does allow
-      zero distance codes, which is sent as one code of zero bits in
-      length.
-   6. There are up to 286 literal/length codes.  Code 256 represents the
-      end-of-block.  Note however that the static length tree defines
-      288 codes just to fill out the Huffman codes.  Codes 286 and 287
-      cannot be used though, since there is no length base or extra bits
-      defined for them.  Similarly, there are up to 30 distance codes.
-      However, static trees define 32 codes (all 5 bits) to fill out the
-      Huffman codes, but the last two had better not show up in the data.
-   7. Unzip can check dynamic Huffman blocks for complete code sets.
-      The exception is that a single code would not be complete (see #4).
-   8. The five bits following the block type is really the number of
-      literal codes sent minus 257.
-   9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
-      (1+6+6).  Therefore, to output three times the length, you output
-      three codes (1+1+1), whereas to output four times the same length,
-      you only need two codes (1+3).  Hmm.
-  10. In the tree reconstruction algorithm, Code = Code + Increment
-      only if BitLength(i) is not zero.  (Pretty obvious.)
-  11. Correction: 4 Bits: # of Bit Length codes - 4     (4 - 19)
-  12. Note: length code 284 can represent 227-258, but length code 285
-      really is 258.  The last length deserves its own, short code
-      since it gets used a lot in very redundant files.  The length
-      258 is special since 258 - 3 (the min match length) is 255.
-  13. The literal/length and distance code bit lengths are read as a
-      single stream of lengths.  It is possible (and advantageous) for
-      a repeat code (16, 17, or 18) to go across the boundary between
-      the two sets of lengths.
+ * Notes beyond the 1.93a appnote.txt:
+ *
+ *  1. Distance pointers never point before the beginning of the output
+ *     stream.
+ *  2. Distance pointers can point back across blocks, up to 32k away.
+ *  3. There is an implied maximum of 7 bits for the bit length table and
+ *     15 bits for the actual data.
+ *  4. If only one code exists, then it is encoded using one bit.  (Zero
+ *     would be more efficient, but perhaps a little confusing.)  If two
+ *     codes exist, they are coded using one bit each (0 and 1).
+ *  5. There is no way of sending zero distance codes--a dummy must be
+ *     sent if there are none.  (History: a pre 2.0 version of PKZIP would
+ *     store blocks with no distance codes, but this was discovered to be
+ *     too harsh a criterion.)  Valid only for 1.93a.  2.04c does allow
+ *     zero distance codes, which is sent as one code of zero bits in
+ *     length.
+ *  6. There are up to 286 literal/length codes.  Code 256 represents the
+ *     end-of-block.  Note however that the static length tree defines
+ *     288 codes just to fill out the Huffman codes.  Codes 286 and 287
+ *     cannot be used though, since there is no length base or extra bits
+ *     defined for them.  Similarly, there are up to 30 distance codes.
+ *     However, static trees define 32 codes (all 5 bits) to fill out the
+ *     Huffman codes, but the last two had better not show up in the data.
+ *  7. Unzip can check dynamic Huffman blocks for complete code sets.
+ *     The exception is that a single code would not be complete (see #4).
+ *  8. The five bits following the block type is really the number of
+ *     literal codes sent minus 257.
+ *  9. Length codes 8,16,16 are interpreted as 13 length codes of 8 bits
+ *     (1+6+6).  Therefore, to output three times the length, you output
+ *     three codes (1+1+1), whereas to output four times the same length,
+ *     you only need two codes (1+3).  Hmm.
+ * 10. In the tree reconstruction algorithm, Code = Code + Increment
+ *     only if BitLength(i) is not zero.  (Pretty obvious.)
+ * 11. Correction: 4 Bits: # of Bit Length codes - 4     (4 - 19)
+ * 12. Note: length code 284 can represent 227-258, but length code 285
+ *     really is 258.  The last length deserves its own, short code
+ *     since it gets used a lot in very redundant files.  The length
+ *     258 is special since 258 - 3 (the min match length) is 255.
+ * 13. The literal/length and distance code bit lengths are read as a
+ *     single stream of lengths.  It is possible (and advantageous) for
+ *     a repeat code (16, 17, or 18) to go across the boundary between
+ *     the two sets of lengths.
  */
 
 #ifdef RCSID
@@ -120,13 +121,15 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
 
 #define slide window
 
-/* Huffman code lookup table entry--this entry is four bytes for machines
-   that have 16-bit pointers (e.g. PC's in the small or medium model).
-   Valid extra bits are 0..13.  e == 15 is EOB (end of block), e == 16
-   means that v is a literal, 16 < e < 32 means that v is a pointer to
-   the next table, which codes e - 16 bits, and lastly e == 99 indicates
-   an unused code.  If a code with e == 99 is looked up, this implies an
-   error in the data. */
+/*
+ * Huffman code lookup table entry--this entry is four bytes for machines
+ * that have 16-bit pointers (e.g. PC's in the small or medium model).
+ * Valid extra bits are 0..13.  e == 15 is EOB (end of block), e == 16
+ * means that v is a literal, 16 < e < 32 means that v is a pointer to
+ * the next table, which codes e - 16 bits, and lastly e == 99 indicates
+ * an unused code.  If a code with e == 99 is looked up, this implies an
+ * error in the data.
+ */
 struct huft {
     uch e;                /* number of extra bits or operation */
     uch b;                /* number of bits in this code or subcode */
@@ -136,7 +139,6 @@ struct huft {
     } v;
 };
 
-
 /* Function prototypes */
 static int huft_build(unsigned *, unsigned, unsigned,
                       const ush *, const ush *, struct huft **, int *);
@@ -148,15 +150,17 @@ static int inflate_dynamic(void);
 static int inflate_block(int *);
 static int inflate(void);
 
-
-/* The inflate algorithm uses a sliding 32 K byte window on the uncompressed
-   stream to find repeated byte strings.  This is implemented here as a
-   circular buffer.  The index is updated simply by incrementing and then
-   ANDing with 0x7fff (32K-1). */
-/* It is left to other modules to supply the 32 K area.  It is assumed
-   to be usable as if it were declared "uch slide[32768];" or as just
-   "uch *slide;" and then malloc'ed in the latter case.  The definition
-   must be in unzip.h, included above. */
+/*
+ * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
+ * stream to find repeated byte strings.  This is implemented here as a
+ * circular buffer.  The index is updated simply by incrementing and then
+ * ANDing with 0x7fff (32K-1).
+ *
+ * It is left to other modules to supply the 32 K area.  It is assumed
+ * to be usable as if it were declared "uch slide[32768];" or as just
+ * "uch *slide;" and then malloc'ed in the latter case.  The definition
+ * must be in unzip.h, included above.
+ */
 /* unsigned wp;             current position in slide */
 #define wp outcnt
 #define flush_output(w) (wp=(w),flush_window())
@@ -180,36 +184,35 @@ static const ush cpdext[] = {         /* Extra bits for distance codes */
     7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
     12, 12, 13, 13};
 
-
-
-/* Macros for inflate() bit peeking and grabbing.
-   The usage is:
-   
-        NEEDBITS(j)
-        x = b & mask_bits[j];
-        DUMPBITS(j)
-
-   where NEEDBITS makes sure that b has at least j bits in it, and
-   DUMPBITS removes the bits from b.  The macros use the variable k
-   for the number of bits in b.  Normally, b and k are register
-   variables for speed, and are initialized at the beginning of a
-   routine that uses these macros from a global bit buffer and count.
-
-   If we assume that EOB will be the longest code, then we will never
-   ask for bits with NEEDBITS that are beyond the end of the stream.
-   So, NEEDBITS should not read any more bytes than are needed to
-   meet the request.  Then no bytes need to be "returned" to the buffer
-   at the end of the last block.
-
-   However, this assumption is not true for fixed blocks--the EOB code
-   is 7 bits, but the other literal/length codes can be 8 or 9 bits.
-   (The EOB code is shorter than other codes because fixed blocks are
-   generally short.  So, while a block always has an EOB, many other
-   literal/length codes have a significantly lower probability of
-   showing up at all.)  However, by making the first table have a
-   lookup of seven bits, the EOB code will be found in that first
-   lookup, and so will not require that too many bits be pulled from
-   the stream.
+/*
+ * Macros for inflate() bit peeking and grabbing.
+ * The usage is:
+ *
+ *      NEEDBITS(j)
+ *      x = b & mask_bits[j];
+ *      DUMPBITS(j)
+ *
+ * where NEEDBITS makes sure that b has at least j bits in it, and
+ * DUMPBITS removes the bits from b.  The macros use the variable k
+ * for the number of bits in b.  Normally, b and k are register
+ * variables for speed, and are initialized at the beginning of a
+ * routine that uses these macros from a global bit buffer and count.
+ *
+ * If we assume that EOB will be the longest code, then we will never
+ * ask for bits with NEEDBITS that are beyond the end of the stream.
+ * So, NEEDBITS should not read any more bytes than are needed to
+ * meet the request.  Then no bytes need to be "returned" to the buffer
+ * at the end of the last block.
+ *
+ * However, this assumption is not true for fixed blocks--the EOB code
+ * is 7 bits, but the other literal/length codes can be 8 or 9 bits.
+ * (The EOB code is shorter than other codes because fixed blocks are
+ * generally short.  So, while a block always has an EOB, many other
+ * literal/length codes have a significantly lower probability of
+ * showing up at all.)  However, by making the first table have a
+ * lookup of seven bits, the EOB code will be found in that first
+ * lookup, and so will not require that too many bits be pulled from
+ * the stream.
  */
 
 static ulg __initdata bb;                /* bit buffer */
@@ -226,60 +229,62 @@ static const ush mask_bits[] = {
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
 /*
-   Huffman code decoding is performed using a multi-level table lookup.
-   The fastest way to decode is to simply build a lookup table whose
-   size is determined by the longest code.  However, the time it takes
-   to build this table can also be a factor if the data being decoded
-   is not very long.  The most common codes are necessarily the
-   shortest codes, so those codes dominate the decoding time, and hence
-   the speed.  The idea is you can have a shorter table that decodes the
-   shorter, more probable codes, and then point to subsidiary tables for
-   the longer codes.  The time it costs to decode the longer codes is
-   then traded against the time it takes to make longer tables.
-
-   This results of this trade are in the variables lbits and dbits
-   below.  lbits is the number of bits the first level table for literal/
-   length codes can decode in one step, and dbits is the same thing for
-   the distance codes.  Subsequent tables are also less than or equal to
-   those sizes.  These values may be adjusted either when all of the
-   codes are shorter than that, in which case the longest code length in
-   bits is used, or when the shortest code is *longer* than the requested
-   table size, in which case the length of the shortest code in bits is
-   used.
-
-   There are two different values for the two tables, since they code a
-   different number of possibilities each.  The literal/length table
-   codes 286 possible values, or in a flat code, a little over eight
-   bits.  The distance table codes 30 possible values, or a little less
-   than five bits, flat.  The optimum values for speed end up being
-   about one bit more than those, so lbits is 8+1 and dbits is 5+1.
-   The optimum values may differ though from machine to machine, and
-   possibly even between compilers.  Your mileage may vary.
+ * Huffman code decoding is performed using a multi-level table lookup.
+ * The fastest way to decode is to simply build a lookup table whose
+ * size is determined by the longest code.  However, the time it takes
+ * to build this table can also be a factor if the data being decoded
+ * is not very long.  The most common codes are necessarily the
+ * shortest codes, so those codes dominate the decoding time, and hence
+ * the speed.  The idea is you can have a shorter table that decodes the
+ * shorter, more probable codes, and then point to subsidiary tables for
+ * the longer codes.  The time it costs to decode the longer codes is
+ * then traded against the time it takes to make longer tables.
+ *
+ * This results of this trade are in the variables lbits and dbits
+ * below.  lbits is the number of bits the first level table for literal/
+ * length codes can decode in one step, and dbits is the same thing for
+ * the distance codes.  Subsequent tables are also less than or equal to
+ * those sizes.  These values may be adjusted either when all of the
+ * codes are shorter than that, in which case the longest code length in
+ * bits is used, or when the shortest code is *longer* than the requested
+ * table size, in which case the length of the shortest code in bits is
+ * used.
+ *
+ * There are two different values for the two tables, since they code a
+ * different number of possibilities each.  The literal/length table
+ * codes 286 possible values, or in a flat code, a little over eight
+ * bits.  The distance table codes 30 possible values, or a little less
+ * than five bits, flat.  The optimum values for speed end up being
+ * about one bit more than those, so lbits is 8+1 and dbits is 5+1.
+ * The optimum values may differ though from machine to machine, and
+ * possibly even between compilers.  Your mileage may vary.
  */
 
-
 static const int lbits = 9;          /* bits in base literal/length lookup table */
 static const int dbits = 6;          /* bits in base distance lookup table */
 
-
 /* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
 #define BMAX 16         /* maximum bit length of any code (16 for explode) */
 #define N_MAX 288       /* maximum number of codes in any set */
 
+/*
+ * Given a list of code lengths and a maximum table size, make a set of
+ * tables to decode that set of codes.  Return zero on success, one if
+ * the given code set is incomplete (the tables are still built in this
+ * case), two if the input is invalid (all zero length codes or an
+ * oversubscribed set of lengths), and three if not enough memory.
+ *
+ * @param b Code lengths in bits (all assumed <= BMAX)
+ * @param n Number of codes (assumed <= N_MAX)
+ * @param s Number of simple-valued codes (0..s-1)
+ * @param d List of base values for non-simple codes
+ * @param e List of extra bits for non-simple codes
+ * @param t Result: starting table
+ * @param m Maximum lookup bits, returns actual
+ */
 static int __init huft_build(
-    unsigned *b,            /* code lengths in bits (all assumed <= BMAX) */
-    unsigned n,             /* number of codes (assumed <= N_MAX) */
-    unsigned s,             /* number of simple-valued codes (0..s-1) */
-    const ush *d,           /* list of base values for non-simple codes */
-    const ush *e,           /* list of extra bits for non-simple codes */
-    struct huft **t,        /* result: starting table */
-    int *m                  /* maximum lookup bits, returns actual */
-    )
-/* Given a list of code lengths and a maximum table size, make a set of
-   tables to decode that set of codes.  Return zero on success, one if
-   the given code set is incomplete (the tables are still built in this
-   case), two if the input is invalid (all zero length codes or an
-   oversubscribed set of lengths), and three if not enough memory. */
+    unsigned *b, unsigned n, unsigned s, const ush *d, const ush *e,
+    struct huft **t, int *m)
 {
     unsigned a;                   /* counter for codes of length k */
     unsigned f;                   /* i repeats in table every f entries */
@@ -321,7 +326,7 @@ static int __init huft_build(
     memzero(stk->c, sizeof(stk->c));
     p = b;  i = n;
     do {
-        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" : "0x%x %d\n"), 
+        Tracecv(*p, (stderr, (n-i >= ' ' && n-i <= '~' ? "%c %d\n" : "0x%x %d\n"),
                      n-i, *p));
         c[*p]++;                    /* assume all entries <= BMAX */
         p++;                      /* Can't combine with above line (Solaris bug) */
@@ -508,18 +513,17 @@ static int __init huft_build(
     return ret;
 }
 
-
-
-static int __init huft_free(
-    struct huft *t         /* table to free */
-    )
-/* Free the malloc'ed tables built by huft_build(), which makes a linked
-   list of the tables it made, with the links in a dummy first entry of
-   each table. */
+/*
+ * Free the malloc'ed tables built by huft_build(), which makes a linked
+ * list of the tables it made, with the links in a dummy first entry of
+ * each table.
+ *
+ * @param t Table to free
+ */
+static int __init huft_free(struct huft *t)
 {
     register struct huft *p, *q;
 
-
     /* Go through linked list, freeing from the malloced (t[-1]) address. */
     p = t;
     while (p != (struct huft *)NULL)
@@ -527,19 +531,21 @@ static int __init huft_free(
         q = (--p)->v.t;
         free((char*)p);
         p = q;
-    } 
+    }
     return 0;
 }
 
-
+/*
+ * inflate (decompress) the codes in a deflated (compressed) block.
+ * Return an error code or zero if it all goes ok.
+ *
+ * @param huft tl Literal/length decoder tables
+ * @param huft td Distance decoder tables
+ * @param bl  Number of bits decoded by tl[]
+ * @param bd  Number of bits decoded by td[]
+ */
 static int __init inflate_codes(
-    struct huft *tl,    /* literal/length decoder tables */
-    struct huft *td,    /* distance decoder tables */
-    int bl,             /* number of bits decoded by tl[] */
-    int bd              /* number of bits decoded by td[] */
-    )
-/* inflate (decompress) the codes in a deflated (compressed) block.
-   Return an error code or zero if it all goes ok. */
+    struct huft *tl, struct huft *td, int bl, int bd)
 {
     register unsigned e;  /* table entry flag/number of extra bits */
     unsigned n, d;        /* length and index for copy */
@@ -560,77 +566,76 @@ static int __init inflate_codes(
     md = mask_bits[bd];
     for (;;)                      /* do until end of block */
     {
-        NEEDBITS((unsigned)bl)
-            if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
+        NEEDBITS((unsigned)bl);
+        if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
+            do {
+                if (e == 99)
+                    return 1;
+                DUMPBITS(t->b);
+                e -= 16;
+                NEEDBITS(e);
+            } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+        DUMPBITS(t->b);
+        if (e == 16)                /* then it's a literal */
+        {
+            slide[w++] = (uch)t->v.n;
+            Tracevv((stderr, "%c", slide[w-1]));
+            if (w == WSIZE)
+            {
+                flush_output(w);
+                w = 0;
+            }
+        }
+        else                        /* it's an EOB or a length */
+        {
+            /* exit if end of block */
+            if (e == 15)
+                break;
+
+            /* get length of block to copy */
+            NEEDBITS(e);
+            n = t->v.n + ((unsigned)b & mask_bits[e]);
+            DUMPBITS(e);
+
+            /* decode distance of block to copy */
+            NEEDBITS((unsigned)bd);
+            if ((e = (t = td + ((unsigned)b & md))->e) > 16)
                 do {
                     if (e == 99)
                         return 1;
-                    DUMPBITS(t->b)
-                        e -= 16;
-                    NEEDBITS(e)
-                        } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
-        DUMPBITS(t->b)
-            if (e == 16)                /* then it's a literal */
-            {
-                slide[w++] = (uch)t->v.n;
-                Tracevv((stderr, "%c", slide[w-1]));
+                    DUMPBITS(t->b);
+                    e -= 16;
+                    NEEDBITS(e);
+                } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
+            DUMPBITS(t->b);
+            NEEDBITS(e);
+            d = w - t->v.n - ((unsigned)b & mask_bits[e]);
+            DUMPBITS(e);
+            Tracevv((stderr,"\\[%d,%d]", w-d, n));
+
+            /* do the copy */
+            do {
+                n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
+                if (w - d >= e)         /* (this test assumes unsigned comparison) */
+                {
+                    memcpy(slide + w, slide + d, e);
+                    w += e;
+                    d += e;
+                }
+                else                      /* do it slow to avoid memcpy() overlap */
+                    do {
+                        slide[w++] = slide[d++];
+                        Tracevv((stderr, "%c", slide[w-1]));
+                    } while (--e);
                 if (w == WSIZE)
                 {
                     flush_output(w);
                     w = 0;
                 }
-            }
-            else                        /* it's an EOB or a length */
-            {
-                /* exit if end of block */
-                if (e == 15)
-                    break;
-
-                /* get length of block to copy */
-                NEEDBITS(e)
-                    n = t->v.n + ((unsigned)b & mask_bits[e]);
-                DUMPBITS(e);
-
-                /* decode distance of block to copy */
-                NEEDBITS((unsigned)bd)
-                    if ((e = (t = td + ((unsigned)b & md))->e) > 16)
-                        do {
-                            if (e == 99)
-                                return 1;
-                            DUMPBITS(t->b)
-                                e -= 16;
-                            NEEDBITS(e)
-                                } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
-                DUMPBITS(t->b)
-                    NEEDBITS(e)
-                    d = w - t->v.n - ((unsigned)b & mask_bits[e]);
-                DUMPBITS(e)
-                    Tracevv((stderr,"\\[%d,%d]", w-d, n));
-
-                /* do the copy */
-                do {
-                    n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
-                    if (w - d >= e)         /* (this test assumes unsigned comparison) */
-                    {
-                        memcpy(slide + w, slide + d, e);
-                        w += e;
-                        d += e;
-                    }
-                    else                      /* do it slow to avoid memcpy() overlap */
-                        do {
-                            slide[w++] = slide[d++];
-                            Tracevv((stderr, "%c", slide[w-1]));
-                        } while (--e);
-                    if (w == WSIZE)
-                    {
-                        flush_output(w);
-                        w = 0;
-                    }
-                } while (n);
-            }
+            } while (n);
+        }
     }
 
-
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
     bb = b;                       /* restore global bit buffer */
@@ -643,10 +648,8 @@ static int __init inflate_codes(
     return 4;   /* Input underrun */
 }
 
-
-
-static int __init inflate_stored(void)
 /* "decompress" an inflated type 0 (stored) block. */
+static int __init inflate_stored(void)
 {
     unsigned n;           /* number of bytes in block */
     unsigned w;           /* current window position */
@@ -667,28 +670,26 @@ static int __init inflate_stored(void)
 
 
     /* get the length and its complement */
-    NEEDBITS(16)
-        n = ((unsigned)b & 0xffff);
-    DUMPBITS(16)
-        NEEDBITS(16)
-        if (n != (unsigned)((~b) & 0xffff))
-            return 1;                   /* error in compressed data */
-    DUMPBITS(16)
-
-
-        /* read and output the compressed data */
-        while (n--)
+    NEEDBITS(16);
+    n = ((unsigned)b & 0xffff);
+    DUMPBITS(16);
+    NEEDBITS(16);
+    if (n != (unsigned)((~b) & 0xffff))
+        return 1;                   /* error in compressed data */
+    DUMPBITS(16);
+
+    /* read and output the compressed data */
+    while (n--)
+    {
+        NEEDBITS(8);
+        slide[w++] = (uch)b;
+        if (w == WSIZE)
         {
-            NEEDBITS(8)
-                slide[w++] = (uch)b;
-            if (w == WSIZE)
-            {
-                flush_output(w);
-                w = 0;
-            }
-            DUMPBITS(8)
-                }
-
+            flush_output(w);
+            w = 0;
+        }
+        DUMPBITS(8);
+    }
 
     /* restore the globals from the locals */
     wp = w;                       /* restore global window pointer */
@@ -706,10 +707,13 @@ static int __init inflate_stored(void)
 /*
  * We use `noinline' here to prevent gcc-3.5 from using too much stack space
  */
+
+/*
+ * decompress an inflated type 1 (fixed Huffman codes) block.  We should
+ * either replace this with a custom decoder, or at least precompute the
+ * Huffman tables.
+ */
 static int noinline __init inflate_fixed(void)
-/* decompress an inflated type 1 (fixed Huffman codes) block.  We should
-   either replace this with a custom decoder, or at least precompute the
-   Huffman tables. */
 {
     int i;                /* temporary variable */
     struct huft *tl;      /* literal/length code table */
@@ -752,7 +756,6 @@ static int noinline __init inflate_fixed(void)
         return i;
     }
 
-
     /* decompress until an end-of-block code */
     if (inflate_codes(tl, td, bl, bd)) {
         free(l);
@@ -766,12 +769,12 @@ static int noinline __init inflate_fixed(void)
     return 0;
 }
 
-
 /*
  * We use `noinline' here to prevent gcc-3.5 from using too much stack space
  */
-static int noinline __init inflate_dynamic(void)
+
 /* decompress an inflated type 2 (dynamic Huffman codes) block. */
+static int noinline __init inflate_dynamic(void)
 {
     int i;                /* temporary variables */
     unsigned j;
@@ -801,32 +804,31 @@ static int noinline __init inflate_dynamic(void)
     b = bb;
     k = bk;
 
-
     /* read in table lengths */
-    NEEDBITS(5)
-        nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
-    DUMPBITS(5)
-        NEEDBITS(5)
-        nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
-    DUMPBITS(5)
-        NEEDBITS(4)
-        nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
-    DUMPBITS(4)
-            if (nl > 286 || nd > 30)
-            {
-                ret = 1;             /* bad lengths */
-                goto out;
-            }
+    NEEDBITS(5);
+    nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
+    DUMPBITS(5);
+    NEEDBITS(5);
+    nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
+    DUMPBITS(5);
+    NEEDBITS(4);
+    nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
+    DUMPBITS(4);
+    if (nl > 286 || nd > 30)
+    {
+        ret = 1;             /* bad lengths */
+        goto out;
+    }
 
     DEBG("dyn1 ");
 
     /* read in bit-length-code lengths */
     for (j = 0; j < nb; j++)
     {
-        NEEDBITS(3)
-            ll[border[j]] = (unsigned)b & 7;
-        DUMPBITS(3)
-            }
+        NEEDBITS(3);
+        ll[border[j]] = (unsigned)b & 7;
+        DUMPBITS(3);
+    }
     for (; j < 19; j++)
         ll[border[j]] = 0;
 
@@ -850,46 +852,46 @@ static int noinline __init inflate_dynamic(void)
     i = l = 0;
     while ((unsigned)i < n)
     {
-        NEEDBITS((unsigned)bl)
-            j = (td = tl + ((unsigned)b & m))->b;
-        DUMPBITS(j)
-            j = td->v.n;
+        NEEDBITS((unsigned)bl);
+        j = (td = tl + ((unsigned)b & m))->b;
+        DUMPBITS(j);
+        j = td->v.n;
         if (j < 16)                 /* length of code in bits (0..15) */
             ll[i++] = l = j;          /* save last length in l */
         else if (j == 16)           /* repeat last length 3 to 6 times */
         {
-            NEEDBITS(2)
-                j = 3 + ((unsigned)b & 3);
-            DUMPBITS(2)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            NEEDBITS(2);
+            j = 3 + ((unsigned)b & 3);
+            DUMPBITS(2);
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
                 ll[i++] = l;
         }
         else if (j == 17)           /* 3 to 10 zero length codes */
         {
-            NEEDBITS(3)
-                j = 3 + ((unsigned)b & 7);
-            DUMPBITS(3)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            NEEDBITS(3);
+            j = 3 + ((unsigned)b & 7);
+            DUMPBITS(3);
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
                 ll[i++] = 0;
             l = 0;
         }
         else                        /* j == 18: 11 to 138 zero length codes */
         {
-            NEEDBITS(7)
-                j = 11 + ((unsigned)b & 0x7f);
-            DUMPBITS(7)
-                if ((unsigned)i + j > n) {
-                    ret = 1;
-                    goto out;
-                }
+            NEEDBITS(7);
+            j = 11 + ((unsigned)b & 0x7f);
+            DUMPBITS(7);
+            if ((unsigned)i + j > n) {
+                ret = 1;
+                goto out;
+            }
             while (j--)
                 ll[i++] = 0;
             l = 0;
@@ -928,67 +930,64 @@ static int noinline __init inflate_dynamic(void)
         DEBG("dyn5d ");
         if (i == 1) {
             error("incomplete distance tree");
-        huft_free(td);
+            huft_free(td);
+        }
+        huft_free(tl);
+        ret = i;                   /* incomplete code set */
+        goto out;
     }
-    huft_free(tl);
-    ret = i;                   /* incomplete code set */
-    goto out;
-}
 
-DEBG("dyn6 ");
+    DEBG("dyn6 ");
 
-  /* decompress until an end-of-block code */
-if (inflate_codes(tl, td, bl, bd)) {
-    ret = 1;
-    goto out;
-}
+    /* decompress until an end-of-block code */
+    if (inflate_codes(tl, td, bl, bd)) {
+        ret = 1;
+        goto out;
+    }
 
-DEBG("dyn7 ");
+    DEBG("dyn7 ");
 
-  /* free the decoding tables, return */
-huft_free(tl);
-huft_free(td);
+    /* free the decoding tables, return */
+    huft_free(tl);
+    huft_free(td);
 
-DEBG(">");
-ret = 0;
-out:
-free(ll);
-return ret;
+    DEBG(">");
+    ret = 0;
+ out:
+    free(ll);
+    return ret;
 
-underrun:
-ret = 4;   /* Input underrun */
-goto out;
+ underrun:
+    ret = 4;   /* Input underrun */
+    goto out;
 }
 
-
-
-static int __init inflate_block(
-int *e                  /* last block flag */
-)
-/* decompress an inflated block */
+/*
+ * decompress an inflated block
+ *
+ * @param e Last block flag
+ */
+static int __init inflate_block(int *e)
 {
-unsigned t;           /* block type */
-register ulg b;       /* bit buffer */
-register unsigned k;  /* number of bits in bit buffer */
-
-DEBG("<blk");
+    unsigned t;           /* block type */
+    register ulg b;       /* bit buffer */
+    register unsigned k;  /* number of bits in bit buffer */
 
-/* make local bit buffer */
-b = bb;
-k = bk;
+    DEBG("<blk");
 
+    /* make local bit buffer */
+    b = bb;
+    k = bk;
 
-/* read in last block bit */
-NEEDBITS(1)
+    /* read in last block bit */
+    NEEDBITS(1);
     *e = (int)b & 1;
-    DUMPBITS(1)
-
+    DUMPBITS(1);
 
     /* read in block type */
-    NEEDBITS(2)
+    NEEDBITS(2);
     t = (unsigned)b & 3;
-    DUMPBITS(2)
-
+    DUMPBITS(2);
 
     /* restore the global bit buffer */
     bb = b;
@@ -996,25 +995,23 @@ NEEDBITS(1)
 
     /* inflate that block type */
     if (t == 2)
-    return inflate_dynamic();
+        return inflate_dynamic();
     if (t == 0)
-    return inflate_stored();
+        return inflate_stored();
     if (t == 1)
-    return inflate_fixed();
+        return inflate_fixed();
 
     DEBG(">");
 
     /* bad block type */
     return 2;
 
-    underrun:
+ underrun:
     return 4;   /* Input underrun */
 }
 
-
-
-static int __init inflate(void)
 /* decompress an inflated entry */
+static int __init inflate(void)
 {
     int e;                /* last block flag */
     int r;                /* result code */
@@ -1024,7 +1021,6 @@ static int __init inflate(void)
     bk = 0;
     bb = 0;
 
-
     /* decompress until the last block */
     do {
         r = inflate_block(&e);
@@ -1043,7 +1039,6 @@ static int __init inflate(void)
     /* flush out slide */
     flush_output(wp);
 
-
     /* return success */
     return 0;
 }
@@ -1059,12 +1054,11 @@ static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss *
 #define CRC_VALUE (crc ^ 0xffffffffUL)
 
 /*
- * Code to compute the CRC-32 table. Borrowed from 
+ * Code to compute the CRC-32 table. Borrowed from
  * gzip-1.0.3/makecrc.c.
  */
 
-static void __init
-makecrc(void)
+static void __init makecrc(void)
 {
 /* Not copyrighted 1990 Mark Adler */
 
@@ -1167,7 +1161,7 @@ static int __init gunzip(void)
     if ((flags & ORIG_NAME) != 0) {
         /* Discard the old name */
         while (NEXTBYTE() != 0) /* null */ ;
-    } 
+    }
 
     /* Discard file comment if any */
     if ((flags & COMMENT) != 0) {
@@ -1196,7 +1190,7 @@ static int __init gunzip(void)
         }
         return -1;
     }
-     
+
     /* Get the crc and original length */
     /* crc32  (see algorithm.doc)
      * uncompressed input size modulo 2^32
@@ -1205,12 +1199,12 @@ static int __init gunzip(void)
     orig_crc |= (ulg) NEXTBYTE() << 8;
     orig_crc |= (ulg) NEXTBYTE() << 16;
     orig_crc |= (ulg) NEXTBYTE() << 24;
-    
+
     orig_len = (ulg) NEXTBYTE();
     orig_len |= (ulg) NEXTBYTE() << 8;
     orig_len |= (ulg) NEXTBYTE() << 16;
     orig_len |= (ulg) NEXTBYTE() << 24;
-    
+
     /* Validate decompression */
     if (orig_crc != CRC_VALUE) {
         error("crc error");
@@ -1226,3 +1220,12 @@ static int __init gunzip(void)
     error("out of input data");
     return -1;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:35:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:35:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711542.1111575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfaY-0004Rc-KG; Wed, 24 Apr 2024 16:35:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711542.1111575; Wed, 24 Apr 2024 16: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 1rzfaY-0004RV-HF; Wed, 24 Apr 2024 16:35:18 +0000
Received: by outflank-mailman (input) for mailman id 711542;
 Wed, 24 Apr 2024 16:35:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfaY-0003bR-5u
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:35:18 +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 a0b8af32-0258-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:35:16 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713976475032507.12087765943556;
 Wed, 24 Apr 2024 09:34: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: a0b8af32-0258-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713976476; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=E8H9lGEt4Ey9UT2f26xsuP9rMdYbs1/cEGKkSmM2driZi/uwT/k+oeueW6gB2qMTcigjCqjTwdnHqPDzIz3uTT+WT6B8IqIXnb9yIeB/3QlbpPE9KU2ruKaLtpkFFGpW4y7T6MJSi5C+FEFJatNeO43HhypFjwRX53P/m/1alRc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976476; h=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=cOmaDNGXv/TRorh7Z/jIaiR6qK0G3rYf1DO1xU/BTKU=; 
	b=Rt1a+pFpDxutA4VCldGh2CXvPayeWr/GrubkWCJfq+kO81sB0/UrPvCfzE37HuGZsI2C45DdFvtFGP8zButFIYWtnk0r8ElqCGZfeI0C8x3qS6aXmXEjECPATbo0XMC9O4lrdnA3qF5bq7W+54kapTmRIOw8VMBM8PO1E2PpP8Y=
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=1713976476;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=cOmaDNGXv/TRorh7Z/jIaiR6qK0G3rYf1DO1xU/BTKU=;
	b=oRBb56pvGuqRJhsNIRrkNl+eRvzGtYnYgL0C9+HzuoxejCpZ3CH5nXlGbbU7NdrL
	6mUMUdKtXpn+5TAgiV5KdIkK/T9jssQsDEaTpkawheQcfNGOk5hrMQkbonyezYryLCG
	Xi/d9tuiS1D1ny5jDX9SOS4JJQJxiNPEjcfJLibg=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 2/8] gzip: refactor and expand macros
Date: Wed, 24 Apr 2024 12:34:16 -0400
Message-Id: <20240424163422.23276-3-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

This commit refactors macros into proper static functions. It in-place expands
the `flush_output` macro, allowing the clear removal of the dead code
underneath the `underrun` label.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 14 +++++----
 xen/common/gzip/inflate.c | 61 ++++++++++++++-------------------------
 2 files changed, 30 insertions(+), 45 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index d07c451cd875..b7cadadcca8b 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -25,8 +25,6 @@ typedef unsigned char   uch;
 typedef unsigned short  ush;
 typedef unsigned long   ulg;
 
-#define get_byte()      (inptr < insize ? inbuf[inptr++] : fill_inbuf())
-
 /* Diagnostic functions */
 #ifdef DEBUG
 #  define Assert(cond, msg) do { if (!(cond)) error(msg); } while (0)
@@ -52,10 +50,14 @@ static __init void error(const char *x)
     panic("%s\n", x);
 }
 
-static __init int fill_inbuf(void)
-{
-    error("ran out of input data");
-    return 0;
+static __init uch get_byte(void) {
+    if ( inptr >= insize )
+    {
+        error("ran out of input data");
+        return 0; /* should never reach */
+    }
+
+    return inbuf[inptr++];
 }
 
 #include "inflate.c"
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 220d2ff4d9d9..02a395aeb86a 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -119,6 +119,18 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
 
 #endif /* !__XEN__ */
 
+/*
+ * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
+ * stream to find repeated byte strings.  This is implemented here as a
+ * circular buffer.  The index is updated simply by incrementing and then
+ * ANDing with 0x7fff (32K-1).
+ *
+ * It is left to other modules to supply the 32 K area.  It is assumed
+ * to be usable as if it were declared "uch slide[32768];" or as just
+ * "uch *slide;" and then malloc'ed in the latter case.  The definition
+ * must be in unzip.h, included above.
+ */
+#define wp outcnt
 #define slide window
 
 /*
@@ -150,21 +162,6 @@ static int inflate_dynamic(void);
 static int inflate_block(int *);
 static int inflate(void);
 
-/*
- * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
- * stream to find repeated byte strings.  This is implemented here as a
- * circular buffer.  The index is updated simply by incrementing and then
- * ANDing with 0x7fff (32K-1).
- *
- * It is left to other modules to supply the 32 K area.  It is assumed
- * to be usable as if it were declared "uch slide[32768];" or as just
- * "uch *slide;" and then malloc'ed in the latter case.  The definition
- * must be in unzip.h, included above.
- */
-/* unsigned wp;             current position in slide */
-#define wp outcnt
-#define flush_output(w) (wp=(w),flush_window())
-
 /* Tables for deflate from PKZIP's appnote.txt. */
 static const unsigned border[] = {    /* Order of the bit length code lengths */
     16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
@@ -224,7 +221,7 @@ static const ush mask_bits[] = {
     0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
 };
 
-#define NEXTBYTE()  ({ int v = get_byte(); if (v < 0) goto underrun; (uch)v; })
+#define NEXTBYTE()  (get_byte()) /* get_byte will panic on failure */
 #define NEEDBITS(n) {while(k<(n)){b|=((ulg)NEXTBYTE())<<k;k+=8;}}
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
@@ -582,7 +579,8 @@ static int __init inflate_codes(
             Tracevv((stderr, "%c", slide[w-1]));
             if (w == WSIZE)
             {
-                flush_output(w);
+                wp = w;
+                flush_window();
                 w = 0;
             }
         }
@@ -629,7 +627,8 @@ static int __init inflate_codes(
                     } while (--e);
                 if (w == WSIZE)
                 {
-                    flush_output(w);
+                    wp = w;
+                    flush_window();
                     w = 0;
                 }
             } while (n);
@@ -643,9 +642,6 @@ static int __init inflate_codes(
 
     /* done */
     return 0;
-
- underrun:
-    return 4;   /* Input underrun */
 }
 
 /* "decompress" an inflated type 0 (stored) block. */
@@ -685,7 +681,8 @@ static int __init inflate_stored(void)
         slide[w++] = (uch)b;
         if (w == WSIZE)
         {
-            flush_output(w);
+            wp = w;
+            flush_window();
             w = 0;
         }
         DUMPBITS(8);
@@ -698,9 +695,6 @@ static int __init inflate_stored(void)
 
     DEBG(">");
     return 0;
-
- underrun:
-    return 4;   /* Input underrun */
 }
 
 
@@ -956,10 +950,6 @@ static int noinline __init inflate_dynamic(void)
  out:
     free(ll);
     return ret;
-
- underrun:
-    ret = 4;   /* Input underrun */
-    goto out;
 }
 
 /*
@@ -1005,9 +995,6 @@ static int __init inflate_block(int *e)
 
     /* bad block type */
     return 2;
-
- underrun:
-    return 4;   /* Input underrun */
 }
 
 /* decompress an inflated entry */
@@ -1037,7 +1024,7 @@ static int __init inflate(void)
     }
 
     /* flush out slide */
-    flush_output(wp);
+    flush_window();
 
     /* return success */
     return 0;
@@ -1148,8 +1135,8 @@ static int __init gunzip(void)
     NEXTBYTE();
     NEXTBYTE();
 
-    (void)NEXTBYTE();  /* Ignore extra flags for the moment */
-    (void)NEXTBYTE();  /* Ignore OS type for the moment */
+    NEXTBYTE();  /* Ignore extra flags for the moment */
+    NEXTBYTE();  /* Ignore OS type for the moment */
 
     if ((flags & EXTRA_FIELD) != 0) {
         unsigned len = (unsigned)NEXTBYTE();
@@ -1215,10 +1202,6 @@ static int __init gunzip(void)
         return -1;
     }
     return 0;
-
- underrun:   /* NEXTBYTE() goto's here if needed */
-    error("out of input data");
-    return -1;
 }
 
 /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:35:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711545.1111585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfam-0004vO-Sj; Wed, 24 Apr 2024 16:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711545.1111585; Wed, 24 Apr 2024 16: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 1rzfam-0004vH-OT; Wed, 24 Apr 2024 16:35:32 +0000
Received: by outflank-mailman (input) for mailman id 711545;
 Wed, 24 Apr 2024 16:35:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfal-0003bR-Eu
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:35: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 a897eead-0258-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:35:29 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713976476276561.9093003138563;
 Wed, 24 Apr 2024 09:34: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: a897eead-0258-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713976477; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=XSRWgXeRHwnWQP9qmAKL4FcG0DlSTRYATjhBBBDlrBwlKMfsMBNC1whOTW8RR6Xh/vzXKgE8U5qOcdetU4SU0VZ0N+udc4VAdugHAD2PfAtcyKv65PMKnY8V1ZOX1eybe1GBBDXrpNTSpxuL6JfWl+250YPGhau3K4Jg8981wFI=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976477; h=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=xNCMPIahaRQM7vl9VJ2rJaGp4FvNjIMBK+7wegbCWvw=; 
	b=h6aRytdpyeY3mZPCQnTrjFDYUO0UWNTYmsMXj7eUVHW1wcgepONgQOiA1QsPQ9VU9nMnjihbmne+uoyVPHZwu3gikyNAUGJS9A9Yf9yUNwXssepPa/9MtPXxEacgTSW4Z65UgQhqgPNZtCm5UC2R3S18cFhohweKxRDOvLx+lSM=
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=1713976477;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=xNCMPIahaRQM7vl9VJ2rJaGp4FvNjIMBK+7wegbCWvw=;
	b=rvbnmhUGfLPhu+DUApf2F6cVglxHMM5Oyi3bOW54GandEwTHdZtsQuHtmnuSgSPN
	1Ex09Dye3hw1FiPEv/PlQDNmRyp2Yva9C1Zt5froIO76p+BBOKuC8L/V2k2mMtButJi
	OG1R1ze0aKbN0axl+ARMnEt74AcL2LCkXK4eXraM=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 3/8] gzip: refactor the gunzip window into common state
Date: Wed, 24 Apr 2024 12:34:17 -0400
Message-Id: <20240424163422.23276-4-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Begin moving core state, in this case the gunzip window, into struct
gunzip_state to allow a per decompression instance. In doing so, drop the
define aliasing of window to slide.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 21 ++++++++----
 xen/common/gzip/inflate.c | 68 +++++++++++++++++++--------------------
 2 files changed, 48 insertions(+), 41 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index b7cadadcca8b..e47f10ae19ad 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -4,10 +4,12 @@
 #include <xen/lib.h>
 #include <xen/mm.h>
 
-static unsigned char *__initdata window;
-
 #define WSIZE           0x80000000U
 
+struct gunzip_state {
+    unsigned char *window;
+};
+
 static unsigned char *__initdata inbuf;
 static unsigned int __initdata insize;
 
@@ -43,7 +45,7 @@ typedef unsigned long   ulg;
 #endif
 
 static long __initdata bytes_out;
-static void flush_window(void);
+static void flush_window(struct gunzip_state *s);
 
 static __init void error(const char *x)
 {
@@ -62,7 +64,7 @@ static __init uch get_byte(void) {
 
 #include "inflate.c"
 
-static __init void flush_window(void)
+static __init void flush_window(struct gunzip_state *s)
 {
     /*
      * The window is equal to the output buffer therefore only need to
@@ -72,7 +74,7 @@ static __init void flush_window(void)
     unsigned int n;
     unsigned char *in, ch;
 
-    in = window;
+    in = s->window;
     for ( n = 0; n < outcnt; n++ )
     {
         ch = *in++;
@@ -99,12 +101,17 @@ __init int gzip_check(char *image, unsigned long image_len)
 
 __init int perform_gunzip(char *output, char *image, unsigned long image_len)
 {
+    struct gunzip_state *s;
     int rc;
 
     if ( !gzip_check(image, image_len) )
         return 1;
 
-    window = (unsigned char *)output;
+    s = (struct gunzip_state *)malloc(sizeof(struct gunzip_state));
+    if ( !s )
+        return -ENOMEM;
+
+    s->window = (unsigned char *)output;
     inbuf = (unsigned char *)image;
     insize = image_len;
     inptr = 0;
@@ -112,7 +119,7 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
 
     makecrc();
 
-    if ( gunzip() < 0 )
+    if ( gunzip(s) < 0 )
     {
         rc = -EINVAL;
     }
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 02a395aeb86a..5fa5c039c6d1 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -126,12 +126,11 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
  * ANDing with 0x7fff (32K-1).
  *
  * It is left to other modules to supply the 32 K area.  It is assumed
- * to be usable as if it were declared "uch slide[32768];" or as just
- * "uch *slide;" and then malloc'ed in the latter case.  The definition
+ * to be usable as if it were declared "uch window[32768];" or as just
+ * "uch *window;" and then malloc'ed in the latter case.  The definition
  * must be in unzip.h, included above.
  */
 #define wp outcnt
-#define slide window
 
 /*
  * Huffman code lookup table entry--this entry is four bytes for machines
@@ -155,12 +154,13 @@ struct huft {
 static int huft_build(unsigned *, unsigned, unsigned,
                       const ush *, const ush *, struct huft **, int *);
 static int huft_free(struct huft *);
-static int inflate_codes(struct huft *, struct huft *, int, int);
-static int inflate_stored(void);
-static int inflate_fixed(void);
-static int inflate_dynamic(void);
-static int inflate_block(int *);
-static int inflate(void);
+static int inflate_codes(
+    struct gunzip_state *, struct huft *, struct huft *, int, int);
+static int inflate_stored(struct gunzip_state *s);
+static int inflate_fixed(struct gunzip_state *s);
+static int inflate_dynamic(struct gunzip_state *s);
+static int inflate_block(struct gunzip_state *, int *);
+static int inflate(struct gunzip_state *s);
 
 /* Tables for deflate from PKZIP's appnote.txt. */
 static const unsigned border[] = {    /* Order of the bit length code lengths */
@@ -542,7 +542,7 @@ static int __init huft_free(struct huft *t)
  * @param bd  Number of bits decoded by td[]
  */
 static int __init inflate_codes(
-    struct huft *tl, struct huft *td, int bl, int bd)
+    struct gunzip_state *s, struct huft *tl, struct huft *td, int bl, int bd)
 {
     register unsigned e;  /* table entry flag/number of extra bits */
     unsigned n, d;        /* length and index for copy */
@@ -575,12 +575,12 @@ static int __init inflate_codes(
         DUMPBITS(t->b);
         if (e == 16)                /* then it's a literal */
         {
-            slide[w++] = (uch)t->v.n;
-            Tracevv((stderr, "%c", slide[w-1]));
+            s->window[w++] = (uch)t->v.n;
+            Tracevv((stderr, "%c", s->window[w-1]));
             if (w == WSIZE)
             {
                 wp = w;
-                flush_window();
+                flush_window(s);
                 w = 0;
             }
         }
@@ -616,19 +616,19 @@ static int __init inflate_codes(
                 n -= (e = (e = WSIZE - ((d &= WSIZE-1) > w ? d : w)) > n ? n : e);
                 if (w - d >= e)         /* (this test assumes unsigned comparison) */
                 {
-                    memcpy(slide + w, slide + d, e);
+                    memcpy(s->window + w, s->window + d, e);
                     w += e;
                     d += e;
                 }
                 else                      /* do it slow to avoid memcpy() overlap */
                     do {
-                        slide[w++] = slide[d++];
-                        Tracevv((stderr, "%c", slide[w-1]));
+                        s->window[w++] = s->window[d++];
+                        Tracevv((stderr, "%c", s->window[w-1]));
                     } while (--e);
                 if (w == WSIZE)
                 {
                     wp = w;
-                    flush_window();
+                    flush_window(s);
                     w = 0;
                 }
             } while (n);
@@ -645,7 +645,7 @@ static int __init inflate_codes(
 }
 
 /* "decompress" an inflated type 0 (stored) block. */
-static int __init inflate_stored(void)
+static int __init inflate_stored(struct gunzip_state *s)
 {
     unsigned n;           /* number of bytes in block */
     unsigned w;           /* current window position */
@@ -678,11 +678,11 @@ static int __init inflate_stored(void)
     while (n--)
     {
         NEEDBITS(8);
-        slide[w++] = (uch)b;
+        s->window[w++] = (uch)b;
         if (w == WSIZE)
         {
             wp = w;
-            flush_window();
+            flush_window(s);
             w = 0;
         }
         DUMPBITS(8);
@@ -707,7 +707,7 @@ static int __init inflate_stored(void)
  * either replace this with a custom decoder, or at least precompute the
  * Huffman tables.
  */
-static int noinline __init inflate_fixed(void)
+static int noinline __init inflate_fixed(struct gunzip_state *s)
 {
     int i;                /* temporary variable */
     struct huft *tl;      /* literal/length code table */
@@ -751,7 +751,7 @@ static int noinline __init inflate_fixed(void)
     }
 
     /* decompress until an end-of-block code */
-    if (inflate_codes(tl, td, bl, bd)) {
+    if (inflate_codes(s, tl, td, bl, bd)) {
         free(l);
         return 1;
     }
@@ -768,7 +768,7 @@ static int noinline __init inflate_fixed(void)
  */
 
 /* decompress an inflated type 2 (dynamic Huffman codes) block. */
-static int noinline __init inflate_dynamic(void)
+static int noinline __init inflate_dynamic(struct gunzip_state *s)
 {
     int i;                /* temporary variables */
     unsigned j;
@@ -934,7 +934,7 @@ static int noinline __init inflate_dynamic(void)
     DEBG("dyn6 ");
 
     /* decompress until an end-of-block code */
-    if (inflate_codes(tl, td, bl, bd)) {
+    if (inflate_codes(s, tl, td, bl, bd)) {
         ret = 1;
         goto out;
     }
@@ -957,7 +957,7 @@ static int noinline __init inflate_dynamic(void)
  *
  * @param e Last block flag
  */
-static int __init inflate_block(int *e)
+static int __init inflate_block(struct gunzip_state *s, int *e)
 {
     unsigned t;           /* block type */
     register ulg b;       /* bit buffer */
@@ -985,11 +985,11 @@ static int __init inflate_block(int *e)
 
     /* inflate that block type */
     if (t == 2)
-        return inflate_dynamic();
+        return inflate_dynamic(s);
     if (t == 0)
-        return inflate_stored();
+        return inflate_stored(s);
     if (t == 1)
-        return inflate_fixed();
+        return inflate_fixed(s);
 
     DEBG(">");
 
@@ -998,7 +998,7 @@ static int __init inflate_block(int *e)
 }
 
 /* decompress an inflated entry */
-static int __init inflate(void)
+static int __init inflate(struct gunzip_state *s)
 {
     int e;                /* last block flag */
     int r;                /* result code */
@@ -1010,7 +1010,7 @@ static int __init inflate(void)
 
     /* decompress until the last block */
     do {
-        r = inflate_block(&e);
+        r = inflate_block(s, &e);
         if (r)
             return r;
     } while (!e);
@@ -1023,8 +1023,8 @@ static int __init inflate(void)
         inptr--;
     }
 
-    /* flush out slide */
-    flush_window();
+    /* flush out window */
+    flush_window(s);
 
     /* return success */
     return 0;
@@ -1092,7 +1092,7 @@ static void __init makecrc(void)
 /*
  * Do the uncompression!
  */
-static int __init gunzip(void)
+static int __init gunzip(struct gunzip_state *s)
 {
     uch flags;
     unsigned char magic[2]; /* magic header */
@@ -1156,7 +1156,7 @@ static int __init gunzip(void)
     }
 
     /* Decompress */
-    if ((res = inflate())) {
+    if ((res = inflate(s))) {
         switch (res) {
         case 0:
             break;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:35:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:35:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711549.1111594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfb0-0005Q3-3S; Wed, 24 Apr 2024 16:35:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711549.1111594; Wed, 24 Apr 2024 16: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 1rzfb0-0005Pw-0e; Wed, 24 Apr 2024 16:35:46 +0000
Received: by outflank-mailman (input) for mailman id 711549;
 Wed, 24 Apr 2024 16: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=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfaz-0003bR-6Q
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:35:45 +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 b0bea6e8-0258-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:35:43 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713976477505550.3663677305303;
 Wed, 24 Apr 2024 09:34: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: b0bea6e8-0258-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713976479; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=cHvAo8SAjcDCHl0ltCjxca0dA/eTWmBjdjxSPD782ELuo64HhzzPcKWAV2lQA7thAyPb0jHfAUF4ciDwNXddoqYmVCdDEQYrU2Ppt87kQBxWc552JtuIiLrVfhs/dlZC66kHrjXnuNTk1oi7PEwo2VxzYkwqoWhudV8RL6g5qYk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976479; h=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=0AUXswEKZ492CVNKbtY21+GmWSjq8y8qXSbtGsUVrVA=; 
	b=cyNg+LmUrJ5ai4A4DR9u9gTt05BshUwz4xVq5bnxrPO+ngXmOnCoWAvHeIpDHt03plfeeyns33m5uC9FJrLwDMgF4mbK64CjCFLTBfX+4wHEDE+kzkpKIc6cq1SEov0dp0eUj4RSwlOaSTgEer2xHAYXxmGoRJDVWSajoLLTPeU=
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=1713976479;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=0AUXswEKZ492CVNKbtY21+GmWSjq8y8qXSbtGsUVrVA=;
	b=dJD1oQuD0DVvj8pWQ1NzJRfSgnj0MFgYlLLudFxqfgrwVFcoFfUYm8TSe6AnIB7R
	KgvPonLs/k3//eRJJb3ltz42zsHw0gEp6knu1tjwcdjSYQlsOya+JPnYRC4ox/Pn69O
	h25hla0xTL4Qqs8xY4/ehMWLkP4ZhOHTXR96nHSE=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 4/8] gzip: move window pointer into gunzip state
Date: Wed, 24 Apr 2024 12:34:18 -0400
Message-Id: <20240424163422.23276-5-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Move the window pointer, outcnt/wp, into struct gunzip_data. It was erroneously
labeled as outcnt and then define aliased to wp, this eliminates the aliasing
and only refers to as wp, the window pointer.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 11 +++++------
 xen/common/gzip/inflate.c | 17 ++++++++---------
 2 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index e47f10ae19ad..11bfe45d8222 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -8,6 +8,8 @@
 
 struct gunzip_state {
     unsigned char *window;
+    /* window pointer: */
+    unsigned int wp;
 };
 
 static unsigned char *__initdata inbuf;
@@ -16,9 +18,6 @@ static unsigned int __initdata insize;
 /* Index of next byte to be processed in inbuf: */
 static unsigned int __initdata inptr;
 
-/* Bytes in output buffer: */
-static unsigned int __initdata outcnt;
-
 #define malloc(a)       xmalloc_bytes(a)
 #define free(a)         xfree(a)
 #define memzero(s, n)   memset((s), 0, (n))
@@ -75,15 +74,15 @@ static __init void flush_window(struct gunzip_state *s)
     unsigned char *in, ch;
 
     in = s->window;
-    for ( n = 0; n < outcnt; n++ )
+    for ( n = 0; n < s->wp; n++ )
     {
         ch = *in++;
         c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
     }
     crc = c;
 
-    bytes_out += (unsigned long)outcnt;
-    outcnt = 0;
+    bytes_out += (unsigned long)s->wp;
+    s->wp = 0;
 }
 
 __init int gzip_check(char *image, unsigned long image_len)
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 5fa5c039c6d1..78b2f20a97ba 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -130,7 +130,6 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
  * "uch *window;" and then malloc'ed in the latter case.  The definition
  * must be in unzip.h, included above.
  */
-#define wp outcnt
 
 /*
  * Huffman code lookup table entry--this entry is four bytes for machines
@@ -556,7 +555,7 @@ static int __init inflate_codes(
     /* make local copies of globals */
     b = bb;                       /* initialize bit buffer */
     k = bk;
-    w = wp;                       /* initialize window position */
+    w = s->wp;                    /* initialize window position */
 
     /* inflate the coded data */
     ml = mask_bits[bl];           /* precompute masks for speed */
@@ -579,7 +578,7 @@ static int __init inflate_codes(
             Tracevv((stderr, "%c", s->window[w-1]));
             if (w == WSIZE)
             {
-                wp = w;
+                s->wp = w;
                 flush_window(s);
                 w = 0;
             }
@@ -627,7 +626,7 @@ static int __init inflate_codes(
                     } while (--e);
                 if (w == WSIZE)
                 {
-                    wp = w;
+                    s->wp = w;
                     flush_window(s);
                     w = 0;
                 }
@@ -636,7 +635,7 @@ static int __init inflate_codes(
     }
 
     /* restore the globals from the locals */
-    wp = w;                       /* restore global window pointer */
+    s->wp = w;                    /* restore global window pointer */
     bb = b;                       /* restore global bit buffer */
     bk = k;
 
@@ -657,7 +656,7 @@ static int __init inflate_stored(struct gunzip_state *s)
     /* make local copies of globals */
     b = bb;                       /* initialize bit buffer */
     k = bk;
-    w = wp;                       /* initialize window position */
+    w = s->wp;                    /* initialize window position */
 
 
     /* go to byte boundary */
@@ -681,7 +680,7 @@ static int __init inflate_stored(struct gunzip_state *s)
         s->window[w++] = (uch)b;
         if (w == WSIZE)
         {
-            wp = w;
+            s->wp = w;
             flush_window(s);
             w = 0;
         }
@@ -689,7 +688,7 @@ static int __init inflate_stored(struct gunzip_state *s)
     }
 
     /* restore the globals from the locals */
-    wp = w;                       /* restore global window pointer */
+    s->wp = w;                    /* restore global window pointer */
     bb = b;                       /* restore global bit buffer */
     bk = k;
 
@@ -1004,7 +1003,7 @@ static int __init inflate(struct gunzip_state *s)
     int r;                /* result code */
 
     /* initialize window, bit buffer */
-    wp = 0;
+    s->wp = 0;
     bk = 0;
     bb = 0;
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:35:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:35:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711552.1111605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfbC-0005vU-FZ; Wed, 24 Apr 2024 16:35:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711552.1111605; Wed, 24 Apr 2024 16:35: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 1rzfbC-0005vJ-Bt; Wed, 24 Apr 2024 16:35:58 +0000
Received: by outflank-mailman (input) for mailman id 711552;
 Wed, 24 Apr 2024 16:35: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=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfbB-0004Nw-2R
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:35:57 +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 b8426cb6-0258-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 18:35:56 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713976478817631.4787800889635;
 Wed, 24 Apr 2024 09:34: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: b8426cb6-0258-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1713976481; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=iy161XWEdMWeHGi5/d6N6NuNIP9cFCBte8hJoHPhdy4++8Hq3wEaaAlNwZytx7dfr+bBnufvJnm4iVw580R8Gr/FoY70a4Qckwf3xHyMCQ8+ozw2tZ+d9jRY/zl7sMXytr8Khjyz6lSt/kl7YDsvMOc8gltQFKwaPxFTHADaito=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976481; h=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=GpHnI7vIWP3t83v9jzSRMXedCoJS9I7Zt1oRPss2CLE=; 
	b=P1HgrRqD6eO8JbW79RTdYKeVG+KJTOMOBWD2RoJRemZAscaMIsITUCQNFUkALo1cESWYQk9DZ8GE44K+hgZfoaVruSggum7XBjDcIXl8+lHJJwjJNMOfYkOjO8aYtQVG0aTtJgpjvV443dDipZ0z7sAJZ77dJyQ7keM9HhypPig=
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=1713976480;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=GpHnI7vIWP3t83v9jzSRMXedCoJS9I7Zt1oRPss2CLE=;
	b=mZyhqngeFPP2CXkxuNutxlvM/J0wKqNzZGIFoRKoj2DyOZFufBVqjgjwk5xfn+GM
	hHj1Q3yeSl5niQt6T4EFk2tgCx2qL6+GceT5VVHD2ZVycNjw1fa9NE9ApP7pPDqwOdk
	MfHgOScUb5ysjYQkN5qEnMPHVdQYRWdAbrC4LS8U=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 5/8] gzip: move input buffer handling into gunzip state
Date: Wed, 24 Apr 2024 12:34:19 -0400
Message-Id: <20240424163422.23276-6-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Move the input buffer handling, buffer pointer(inbuf), size(insize), and
index(inptr), into gunzip state. Adjust functions and macros that consumed the
input buffer to accept a struct gunzip_state reference.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 23 +++++-----
 xen/common/gzip/inflate.c | 92 +++++++++++++++++++--------------------
 2 files changed, 57 insertions(+), 58 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 11bfe45d8222..3fb9589b069e 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -10,13 +10,12 @@ struct gunzip_state {
     unsigned char *window;
     /* window pointer: */
     unsigned int wp;
-};
-
-static unsigned char *__initdata inbuf;
-static unsigned int __initdata insize;
 
-/* Index of next byte to be processed in inbuf: */
-static unsigned int __initdata inptr;
+    unsigned char *inbuf;
+    size_t insize;
+    /* Index of next byte to be processed in inbuf: */
+    unsigned int inptr;
+};
 
 #define malloc(a)       xmalloc_bytes(a)
 #define free(a)         xfree(a)
@@ -51,14 +50,14 @@ static __init void error(const char *x)
     panic("%s\n", x);
 }
 
-static __init uch get_byte(void) {
-    if ( inptr >= insize )
+static __init uch get_byte(struct gunzip_state *s) {
+    if ( s->inptr >= s->insize )
     {
         error("ran out of input data");
         return 0; /* should never reach */
     }
 
-    return inbuf[inptr++];
+    return s->inbuf[s->inptr++];
 }
 
 #include "inflate.c"
@@ -111,9 +110,9 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
         return -ENOMEM;
 
     s->window = (unsigned char *)output;
-    inbuf = (unsigned char *)image;
-    insize = image_len;
-    inptr = 0;
+    s->inbuf = (unsigned char *)image;
+    s->insize = image_len;
+    s->inptr = 0;
     bytes_out = 0;
 
     makecrc();
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 78b2f20a97ba..f1a3b04cef8f 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -220,8 +220,8 @@ static const ush mask_bits[] = {
     0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
 };
 
-#define NEXTBYTE()  (get_byte()) /* get_byte will panic on failure */
-#define NEEDBITS(n) {while(k<(n)){b|=((ulg)NEXTBYTE())<<k;k+=8;}}
+#define NEXTBYTE(s)  (get_byte(s)) /* get_byte will panic on failure */
+#define NEEDBITS(s,n) {while(k<(n)){b|=((ulg)NEXTBYTE(s))<<k;k+=8;}}
 #define DUMPBITS(n) {b>>=(n);k-=(n);}
 
 /*
@@ -562,14 +562,14 @@ static int __init inflate_codes(
     md = mask_bits[bd];
     for (;;)                      /* do until end of block */
     {
-        NEEDBITS((unsigned)bl);
+        NEEDBITS(s, (unsigned)bl);
         if ((e = (t = tl + ((unsigned)b & ml))->e) > 16)
             do {
                 if (e == 99)
                     return 1;
                 DUMPBITS(t->b);
                 e -= 16;
-                NEEDBITS(e);
+                NEEDBITS(s, e);
             } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
         DUMPBITS(t->b);
         if (e == 16)                /* then it's a literal */
@@ -590,22 +590,22 @@ static int __init inflate_codes(
                 break;
 
             /* get length of block to copy */
-            NEEDBITS(e);
+            NEEDBITS(s, e);
             n = t->v.n + ((unsigned)b & mask_bits[e]);
             DUMPBITS(e);
 
             /* decode distance of block to copy */
-            NEEDBITS((unsigned)bd);
+            NEEDBITS(s, (unsigned)bd);
             if ((e = (t = td + ((unsigned)b & md))->e) > 16)
                 do {
                     if (e == 99)
                         return 1;
                     DUMPBITS(t->b);
                     e -= 16;
-                    NEEDBITS(e);
+                    NEEDBITS(s, e);
                 } while ((e = (t = t->v.t + ((unsigned)b & mask_bits[e]))->e) > 16);
             DUMPBITS(t->b);
-            NEEDBITS(e);
+            NEEDBITS(s, e);
             d = w - t->v.n - ((unsigned)b & mask_bits[e]);
             DUMPBITS(e);
             Tracevv((stderr,"\\[%d,%d]", w-d, n));
@@ -665,10 +665,10 @@ static int __init inflate_stored(struct gunzip_state *s)
 
 
     /* get the length and its complement */
-    NEEDBITS(16);
+    NEEDBITS(s, 16);
     n = ((unsigned)b & 0xffff);
     DUMPBITS(16);
-    NEEDBITS(16);
+    NEEDBITS(s, 16);
     if (n != (unsigned)((~b) & 0xffff))
         return 1;                   /* error in compressed data */
     DUMPBITS(16);
@@ -676,7 +676,7 @@ static int __init inflate_stored(struct gunzip_state *s)
     /* read and output the compressed data */
     while (n--)
     {
-        NEEDBITS(8);
+        NEEDBITS(s, 8);
         s->window[w++] = (uch)b;
         if (w == WSIZE)
         {
@@ -798,13 +798,13 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
     k = bk;
 
     /* read in table lengths */
-    NEEDBITS(5);
+    NEEDBITS(s, 5);
     nl = 257 + ((unsigned)b & 0x1f);      /* number of literal/length codes */
     DUMPBITS(5);
-    NEEDBITS(5);
+    NEEDBITS(s, 5);
     nd = 1 + ((unsigned)b & 0x1f);        /* number of distance codes */
     DUMPBITS(5);
-    NEEDBITS(4);
+    NEEDBITS(s, 4);
     nb = 4 + ((unsigned)b & 0xf);         /* number of bit length codes */
     DUMPBITS(4);
     if (nl > 286 || nd > 30)
@@ -818,7 +818,7 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
     /* read in bit-length-code lengths */
     for (j = 0; j < nb; j++)
     {
-        NEEDBITS(3);
+        NEEDBITS(s, 3);
         ll[border[j]] = (unsigned)b & 7;
         DUMPBITS(3);
     }
@@ -845,7 +845,7 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
     i = l = 0;
     while ((unsigned)i < n)
     {
-        NEEDBITS((unsigned)bl);
+        NEEDBITS(s, (unsigned)bl);
         j = (td = tl + ((unsigned)b & m))->b;
         DUMPBITS(j);
         j = td->v.n;
@@ -853,7 +853,7 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
             ll[i++] = l = j;          /* save last length in l */
         else if (j == 16)           /* repeat last length 3 to 6 times */
         {
-            NEEDBITS(2);
+            NEEDBITS(s, 2);
             j = 3 + ((unsigned)b & 3);
             DUMPBITS(2);
             if ((unsigned)i + j > n) {
@@ -865,7 +865,7 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
         }
         else if (j == 17)           /* 3 to 10 zero length codes */
         {
-            NEEDBITS(3);
+            NEEDBITS(s, 3);
             j = 3 + ((unsigned)b & 7);
             DUMPBITS(3);
             if ((unsigned)i + j > n) {
@@ -878,7 +878,7 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
         }
         else                        /* j == 18: 11 to 138 zero length codes */
         {
-            NEEDBITS(7);
+            NEEDBITS(s, 7);
             j = 11 + ((unsigned)b & 0x7f);
             DUMPBITS(7);
             if ((unsigned)i + j > n) {
@@ -969,12 +969,12 @@ static int __init inflate_block(struct gunzip_state *s, int *e)
     k = bk;
 
     /* read in last block bit */
-    NEEDBITS(1);
+    NEEDBITS(s, 1);
     *e = (int)b & 1;
     DUMPBITS(1);
 
     /* read in block type */
-    NEEDBITS(2);
+    NEEDBITS(s, 2);
     t = (unsigned)b & 3;
     DUMPBITS(2);
 
@@ -1019,7 +1019,7 @@ static int __init inflate(struct gunzip_state *s)
      */
     while (bk >= 8) {
         bk -= 8;
-        inptr--;
+        s->inptr--;
     }
 
     /* flush out window */
@@ -1100,9 +1100,9 @@ static int __init gunzip(struct gunzip_state *s)
     ulg orig_len = 0;       /* original uncompressed length */
     int res;
 
-    magic[0] = NEXTBYTE();
-    magic[1] = NEXTBYTE();
-    method   = NEXTBYTE();
+    magic[0] = NEXTBYTE(s);
+    magic[1] = NEXTBYTE(s);
+    method   = NEXTBYTE(s);
 
     if (magic[0] != 037 ||                            /* octal-ok */
         ((magic[1] != 0213) && (magic[1] != 0236))) { /* octal-ok */
@@ -1116,7 +1116,7 @@ static int __init gunzip(struct gunzip_state *s)
         return -1;
     }
 
-    flags  = (uch)get_byte();
+    flags  = (uch)get_byte(s);
     if ((flags & ENCRYPTED) != 0) {
         error("Input is encrypted");
         return -1;
@@ -1129,29 +1129,29 @@ static int __init gunzip(struct gunzip_state *s)
         error("Input has invalid flags");
         return -1;
     }
-    NEXTBYTE(); /* Get timestamp */
-    NEXTBYTE();
-    NEXTBYTE();
-    NEXTBYTE();
+    NEXTBYTE(s); /* Get timestamp */
+    NEXTBYTE(s);
+    NEXTBYTE(s);
+    NEXTBYTE(s);
 
-    NEXTBYTE();  /* Ignore extra flags for the moment */
-    NEXTBYTE();  /* Ignore OS type for the moment */
+    NEXTBYTE(s);  /* Ignore extra flags for the moment */
+    NEXTBYTE(s);  /* Ignore OS type for the moment */
 
     if ((flags & EXTRA_FIELD) != 0) {
-        unsigned len = (unsigned)NEXTBYTE();
-        len |= ((unsigned)NEXTBYTE())<<8;
-        while (len--) (void)NEXTBYTE();
+        unsigned len = (unsigned)NEXTBYTE(s);
+        len |= ((unsigned)NEXTBYTE(s))<<8;
+        while (len--) (void)NEXTBYTE(s);
     }
 
     /* Get original file name if it was truncated */
     if ((flags & ORIG_NAME) != 0) {
         /* Discard the old name */
-        while (NEXTBYTE() != 0) /* null */ ;
+        while (NEXTBYTE(s) != 0) /* null */ ;
     }
 
     /* Discard file comment if any */
     if ((flags & COMMENT) != 0) {
-        while (NEXTBYTE() != 0) /* null */ ;
+        while (NEXTBYTE(s) != 0) /* null */ ;
     }
 
     /* Decompress */
@@ -1181,15 +1181,15 @@ static int __init gunzip(struct gunzip_state *s)
     /* crc32  (see algorithm.doc)
      * uncompressed input size modulo 2^32
      */
-    orig_crc = (ulg) NEXTBYTE();
-    orig_crc |= (ulg) NEXTBYTE() << 8;
-    orig_crc |= (ulg) NEXTBYTE() << 16;
-    orig_crc |= (ulg) NEXTBYTE() << 24;
-
-    orig_len = (ulg) NEXTBYTE();
-    orig_len |= (ulg) NEXTBYTE() << 8;
-    orig_len |= (ulg) NEXTBYTE() << 16;
-    orig_len |= (ulg) NEXTBYTE() << 24;
+    orig_crc = (ulg) NEXTBYTE(s);
+    orig_crc |= (ulg) NEXTBYTE(s) << 8;
+    orig_crc |= (ulg) NEXTBYTE(s) << 16;
+    orig_crc |= (ulg) NEXTBYTE(s) << 24;
+
+    orig_len = (ulg) NEXTBYTE(s);
+    orig_len |= (ulg) NEXTBYTE(s) << 8;
+    orig_len |= (ulg) NEXTBYTE(s) << 16;
+    orig_len |= (ulg) NEXTBYTE(s) << 24;
 
     /* Validate decompression */
     if (orig_crc != CRC_VALUE) {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:36:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:36:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711556.1111615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfbQ-0006TS-Na; Wed, 24 Apr 2024 16:36:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711556.1111615; Wed, 24 Apr 2024 16:36:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfbQ-0006TL-Jj; Wed, 24 Apr 2024 16:36:12 +0000
Received: by outflank-mailman (input) for mailman id 711556;
 Wed, 24 Apr 2024 16:36:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfbQ-0004Nw-8L
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:36:12 +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 c16e6c75-0258-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 18:36:11 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 171397648019646.93850897623827;
 Wed, 24 Apr 2024 09:34: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: c16e6c75-0258-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1713976481; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=dxilOEIuuqYyyic74PF4BudElh/dyY/OViM75l9ofaXLnmaRhs05MsbZgRAGVJTMAmwFsWBal8t4mSyrJnpbMEExq3wOCIDNQGwkGIOUsoSdI4gBUJ2Xc04bQ+poByHI4bgoX2cb6Fim7ICWg2BoD2d3JYHhZU8eG82ThfeG1uQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976481; h=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=WfcMj3qazSdzkU6dFM26hg04wmGK/gWTZz4wD/ytpcY=; 
	b=AJX/SJcXOCzkBTso6hSAlOLe4oLja+dCaw4zNNpYuSgMHK206t5dMD96V9yinphBBC8x+YEV0DaSz5WyDLI8LO4+DvJCg/soHINLgTZ8YgB4bQw6Ugwtsj80oyqGOPsFmb60cLahZE7HrHBK5tmM2R10ofXLSnVaumk3UhY0I3w=
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=1713976481;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=WfcMj3qazSdzkU6dFM26hg04wmGK/gWTZz4wD/ytpcY=;
	b=WnRohkOe4Dnx8i+rfQ2gRrFxJC5FnzVDHwaw6cQ5zhwRgw7andrFfYTY3moHFCh1
	ntP/n4WD5KhY9xZCuxonBOiRl4UyFFtWZO1uNKxRzIrYsGJxOkD9SM4vddyVxwhKqd3
	9S+UJFDQZS840BVgsekVn7d0kREDTqoyndno3+XA=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 6/8] gzip: move output buffer into gunzip state
Date: Wed, 24 Apr 2024 12:34:20 -0400
Message-Id: <20240424163422.23276-7-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 7 ++++---
 xen/common/gzip/inflate.c | 2 +-
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 3fb9589b069e..95d924d36726 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -15,6 +15,8 @@ struct gunzip_state {
     size_t insize;
     /* Index of next byte to be processed in inbuf: */
     unsigned int inptr;
+
+    unsigned long bytes_out;
 };
 
 #define malloc(a)       xmalloc_bytes(a)
@@ -42,7 +44,6 @@ typedef unsigned long   ulg;
 #  define Tracecv(c, x)
 #endif
 
-static long __initdata bytes_out;
 static void flush_window(struct gunzip_state *s);
 
 static __init void error(const char *x)
@@ -80,7 +81,7 @@ static __init void flush_window(struct gunzip_state *s)
     }
     crc = c;
 
-    bytes_out += (unsigned long)s->wp;
+    s->bytes_out += (unsigned long)s->wp;
     s->wp = 0;
 }
 
@@ -113,7 +114,7 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
     s->inbuf = (unsigned char *)image;
     s->insize = image_len;
     s->inptr = 0;
-    bytes_out = 0;
+    s->bytes_out = 0;
 
     makecrc();
 
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index f1a3b04cef8f..bec8801df487 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1196,7 +1196,7 @@ static int __init gunzip(struct gunzip_state *s)
         error("crc error");
         return -1;
     }
-    if (orig_len != bytes_out) {
+    if (orig_len != s->bytes_out) {
         error("length error");
         return -1;
     }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:44:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711576.1111625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfjm-0000Zv-HV; Wed, 24 Apr 2024 16:44:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711576.1111625; Wed, 24 Apr 2024 16: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 1rzfjm-0000Zo-Dt; Wed, 24 Apr 2024 16:44:50 +0000
Received: by outflank-mailman (input) for mailman id 711576;
 Wed, 24 Apr 2024 16:44:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfbb-0003bR-9M
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:36:23 +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 c77b1c2d-0258-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:36:21 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713976481520663.263161516237;
 Wed, 24 Apr 2024 09:34:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c77b1c2d-0258-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713976483; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=JH6QU0I/6YPh0mArAMv8iBmrUi2NsE39dmjtiINwiG9XyhF2nfomiS9ycH4UsFpkyktSm9BgyNqkcEHJO0hxK5paNgpWkSuhv76gyNopLP5YTStKihQny+T0omOaiAaZ+ZqSqTIWjH/Fbf3+Q+qaktSSPRGWrnPebwa1jY+84Js=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976483; h=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=8pldy3TNL6KFRY4ywvIzOgCA04ifZ9Z2rJCVrvqIcNc=; 
	b=c/ObueBeUbKZ+w/Hkoe2CTZR5Gx2SFRVaoXgGCjfq2l4OiD+CVUJ79MUE2GfN4w8hdQN+JWT/SbsEPVkB6k7n/9Ppb65wzfHxuRfkYK/4QDBMGPTzFgAJToxIHflciQoX8tJnWT2nZgcyMJVtcUfOWdJas6BQda+4+UhpNLACSM=
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=1713976483;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=8pldy3TNL6KFRY4ywvIzOgCA04ifZ9Z2rJCVrvqIcNc=;
	b=WWO/TV/AroDuKOsS4UzJdwrd5c5D0vtnrcM91XPZHlBsNRn2D6YjaPeiI/TI1jrc
	owfpfBnNO47HKseS4htLfPzwPXow/QTLiagRFY6l2atdk7UjGikYYqDanNVS9yxqqwn
	xeja0CEejn2LyRDjs827M8knG92uQied2JH9bV3o=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 7/8] gzip: move bitbuffer into gunzip state
Date: Wed, 24 Apr 2024 12:34:21 -0400
Message-Id: <20240424163422.23276-8-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  |  3 +++
 xen/common/gzip/inflate.c | 43 ++++++++++++++++++---------------------
 2 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 95d924d36726..0043ff8ac886 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -17,6 +17,9 @@ struct gunzip_state {
     unsigned int inptr;
 
     unsigned long bytes_out;
+
+    unsigned long bb;      /* bit buffer */
+    unsigned int  bk;      /* bits in bit buffer */
 };
 
 #define malloc(a)       xmalloc_bytes(a)
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index bec8801df487..8da14880cfbe 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -211,9 +211,6 @@ static const ush cpdext[] = {         /* Extra bits for distance codes */
  * the stream.
  */
 
-static ulg __initdata bb;                /* bit buffer */
-static unsigned __initdata bk;           /* bits in bit buffer */
-
 static const ush mask_bits[] = {
     0x0000,
     0x0001, 0x0003, 0x0007, 0x000f, 0x001f, 0x003f, 0x007f, 0x00ff,
@@ -553,8 +550,8 @@ static int __init inflate_codes(
 
 
     /* make local copies of globals */
-    b = bb;                       /* initialize bit buffer */
-    k = bk;
+    b = s->bb;                    /* initialize bit buffer */
+    k = s->bk;
     w = s->wp;                    /* initialize window position */
 
     /* inflate the coded data */
@@ -636,8 +633,8 @@ static int __init inflate_codes(
 
     /* restore the globals from the locals */
     s->wp = w;                    /* restore global window pointer */
-    bb = b;                       /* restore global bit buffer */
-    bk = k;
+    s->bb = b;                    /* restore global bit buffer */
+    s->bk = k;
 
     /* done */
     return 0;
@@ -654,8 +651,8 @@ static int __init inflate_stored(struct gunzip_state *s)
     DEBG("<stor");
 
     /* make local copies of globals */
-    b = bb;                       /* initialize bit buffer */
-    k = bk;
+    b = s->bb;                    /* initialize bit buffer */
+    k = s->bk;
     w = s->wp;                    /* initialize window position */
 
 
@@ -689,8 +686,8 @@ static int __init inflate_stored(struct gunzip_state *s)
 
     /* restore the globals from the locals */
     s->wp = w;                    /* restore global window pointer */
-    bb = b;                       /* restore global bit buffer */
-    bk = k;
+    s->bb = b;                    /* restore global bit buffer */
+    s->bk = k;
 
     DEBG(">");
     return 0;
@@ -794,8 +791,8 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
         return 1;
 
     /* make local bit buffer */
-    b = bb;
-    k = bk;
+    b = s->bb;
+    k = s->bk;
 
     /* read in table lengths */
     NEEDBITS(s, 5);
@@ -899,8 +896,8 @@ static int noinline __init inflate_dynamic(struct gunzip_state *s)
     DEBG("dyn5 ");
 
     /* restore the global bit buffer */
-    bb = b;
-    bk = k;
+    s->bb = b;
+    s->bk = k;
 
     DEBG("dyn5a ");
 
@@ -965,8 +962,8 @@ static int __init inflate_block(struct gunzip_state *s, int *e)
     DEBG("<blk");
 
     /* make local bit buffer */
-    b = bb;
-    k = bk;
+    b = s->bb;
+    k = s->bk;
 
     /* read in last block bit */
     NEEDBITS(s, 1);
@@ -979,8 +976,8 @@ static int __init inflate_block(struct gunzip_state *s, int *e)
     DUMPBITS(2);
 
     /* restore the global bit buffer */
-    bb = b;
-    bk = k;
+    s->bb = b;
+    s->bk = k;
 
     /* inflate that block type */
     if (t == 2)
@@ -1004,8 +1001,8 @@ static int __init inflate(struct gunzip_state *s)
 
     /* initialize window, bit buffer */
     s->wp = 0;
-    bk = 0;
-    bb = 0;
+    s->bk = 0;
+    s->bb = 0;
 
     /* decompress until the last block */
     do {
@@ -1017,8 +1014,8 @@ static int __init inflate(struct gunzip_state *s)
     /* Undo too much lookahead. The next read will be byte aligned so we
      * can discard unused bits in the last meaningful byte.
      */
-    while (bk >= 8) {
-        bk -= 8;
+    while (s->bk >= 8) {
+        s->bk -= 8;
         s->inptr--;
     }
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:44:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711577.1111635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfjv-0000vi-OW; Wed, 24 Apr 2024 16:44:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711577.1111635; Wed, 24 Apr 2024 16: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 1rzfjv-0000vJ-Lu; Wed, 24 Apr 2024 16:44:59 +0000
Received: by outflank-mailman (input) for mailman id 711577;
 Wed, 24 Apr 2024 16: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=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfbl-0003bR-Tk
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:36:33 +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 cdf34ca4-0258-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:36:32 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 171397648270479.70664995052266;
 Wed, 24 Apr 2024 09:34: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: cdf34ca4-0258-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713976484; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=AlyBkr7vRELb9OZgKoY86rk/e8RHTEPl8vsjYxS057ZiJ8Jwhw2KctazvrNKEUIRKaJI7H5Dk3bnsq2Dq6/dHkKyprTP5POhx7SSyCQw2a6ZAwWG88VycbXwO0shXU/F0ZAXKKXRK0g/DZqw4B4MTygBP0P/oKUtQwsTON4qMHc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713976484; h=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=M8gAJdmgMZCBZZxYvLiNHfqbdQwdAs2zGNh3/Notb+Q=; 
	b=YuOFaZzZyA56ZcB/4AUMOKbwUHZbZjgYYpJ1eQWiNGeqzwpdj1IRXv93DNpFAA/POUXlXWSv/IDCLMzNjbxK9WK/N5FO/i0JBMHI//guSf4VbwQLJvh4yQaQm/MjHzycapq/az/y6pUC527ak7L6qn6X2n6xyR8o8hgZrlD6VBM=
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=1713976484;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:MIME-Version:Content-Transfer-Encoding:Reply-To;
	bh=M8gAJdmgMZCBZZxYvLiNHfqbdQwdAs2zGNh3/Notb+Q=;
	b=AYxzNcO0LTEyzbNbhYa0uxnRag4ITs6oUa+vX4id7Wzo3dMCHFbaw9ksfwAbAIG2
	BAVr2sLvU+mu5mezc6n4cVoPkVv89ijksnG+NiX3n36d/c9o4Qhne1YsAatR71P+OEp
	RDIJbNCDNeW/BSkvElujuSDdJ/Z0/9S78XEWYneQ=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 8/8] gzip: move crc state into gunzip state
Date: Wed, 24 Apr 2024 12:34:22 -0400
Message-Id: <20240424163422.23276-9-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

Move the crc and its state into struct gunzip_state. In the process, expand the
only use of CRC_VALUE as it is hides what is being compared.

Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
 xen/common/gzip/gunzip.c  | 11 +++++++----
 xen/common/gzip/inflate.c | 14 +++++---------
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
index 0043ff8ac886..26d2a4aa9d36 100644
--- a/xen/common/gzip/gunzip.c
+++ b/xen/common/gzip/gunzip.c
@@ -20,6 +20,9 @@ struct gunzip_state {
 
     unsigned long bb;      /* bit buffer */
     unsigned int  bk;      /* bits in bit buffer */
+
+    uint32_t crc_32_tab[256];
+    uint32_t crc;
 };
 
 #define malloc(a)       xmalloc_bytes(a)
@@ -72,7 +75,7 @@ static __init void flush_window(struct gunzip_state *s)
      * The window is equal to the output buffer therefore only need to
      * compute the crc.
      */
-    unsigned long c = crc;
+    unsigned int c = s->crc;
     unsigned int n;
     unsigned char *in, ch;
 
@@ -80,9 +83,9 @@ static __init void flush_window(struct gunzip_state *s)
     for ( n = 0; n < s->wp; n++ )
     {
         ch = *in++;
-        c = crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
+        c = s->crc_32_tab[((int)c ^ ch) & 0xff] ^ (c >> 8);
     }
-    crc = c;
+    s->crc = c;
 
     s->bytes_out += (unsigned long)s->wp;
     s->wp = 0;
@@ -119,7 +122,7 @@ __init int perform_gunzip(char *output, char *image, unsigned long image_len)
     s->inptr = 0;
     s->bytes_out = 0;
 
-    makecrc();
+    makecrc(s);
 
     if ( gunzip(s) < 0 )
     {
diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
index 8da14880cfbe..dc940e59d853 100644
--- a/xen/common/gzip/inflate.c
+++ b/xen/common/gzip/inflate.c
@@ -1032,16 +1032,12 @@ static int __init inflate(struct gunzip_state *s)
  *
  **********************************************************************/
 
-static ulg __initdata crc_32_tab[256];
-static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss */
-#define CRC_VALUE (crc ^ 0xffffffffUL)
-
 /*
  * Code to compute the CRC-32 table. Borrowed from
  * gzip-1.0.3/makecrc.c.
  */
 
-static void __init makecrc(void)
+static void __init makecrc(struct gunzip_state *s)
 {
 /* Not copyrighted 1990 Mark Adler */
 
@@ -1058,7 +1054,7 @@ static void __init makecrc(void)
     for (i = 0; i < sizeof(p)/sizeof(int); i++)
         e |= 1L << (31 - p[i]);
 
-    crc_32_tab[0] = 0;
+    s->crc_32_tab[0] = 0;
 
     for (i = 1; i < 256; i++)
     {
@@ -1069,11 +1065,11 @@ static void __init makecrc(void)
             if (k & 1)
                 c ^= e;
         }
-        crc_32_tab[i] = c;
+        s->crc_32_tab[i] = c;
     }
 
     /* this is initialized here so this code could reside in ROM */
-    crc = (ulg)0xffffffffUL; /* shift register contents */
+    s->crc = (ulg)~0u; /* shift register contents */
 }
 
 /* gzip flag byte */
@@ -1189,7 +1185,7 @@ static int __init gunzip(struct gunzip_state *s)
     orig_len |= (ulg) NEXTBYTE(s) << 24;
 
     /* Validate decompression */
-    if (orig_crc != CRC_VALUE) {
+    if (orig_crc != (s->crc ^ ~0u)) {
         error("crc error");
         return -1;
     }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 16:48:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 16:48:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711587.1111645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfnL-0001t6-B2; Wed, 24 Apr 2024 16:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711587.1111645; Wed, 24 Apr 2024 16:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzfnL-0001sz-87; Wed, 24 Apr 2024 16:48:31 +0000
Received: by outflank-mailman (input) for mailman id 711587;
 Wed, 24 Apr 2024 16: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=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzfnJ-0001st-G2
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 16:48:29 +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 77e08bbd-025a-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 18:48:26 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1713977301596859.1966917487259;
 Wed, 24 Apr 2024 09:48: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: 77e08bbd-025a-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713977302; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=iqNrq84hfWT3KgHfGF19FiujAybCbq0LsV4+8YqJOUR55bWzImmfm2HtCgZveRkkGXM0VLYWz8reFqOvaLURiQoThYhNp+SEeExZGVcPPGaNMYnQCtUlGNwEoNITczNQqlyND6X2yx1m1qQO7YOgMF0ML9kSEcdqRedDf5ovyOE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713977302; 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=yOpU1JsrRcgJjxB+nMXK3zIsvPX6deIuRZtXUB2NycY=; 
	b=nbSOwWDgWqLemIl5k6wIH8XfOruq1aefGLLjIdVDQshl8GpPl0cNtHElozrz92X0pshpPvPmX7oBCwl1hlhNPcZtQ564kN97V6ILP046U4fUGntqZOTMwLmYMPkpBvCgnSNWmyRsQ5aQ5QGcrv1d1QYjhtCdh+mOFNzBTgVr6P0=
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=1713977302;
	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=yOpU1JsrRcgJjxB+nMXK3zIsvPX6deIuRZtXUB2NycY=;
	b=D2Q684rubovtvwsKIk7kc/ABRuZAxLIZoNRu7GKJdGsI3lwOefYBD19sChNtPn+O
	ElmLzXbZSjbAr+9c9xOsfaqFLUMerMTNWsWzKmbaPMPS3j/K/Suq8l7E9+KSOqsnr8v
	lLvPl8y+GmU0HqLr9MnB5/buBE+RhbsRtzz6BZqA=
Message-ID: <ce018324-582c-4f83-a7ca-94136f98a37a@apertussolutions.com>
Date: Wed, 24 Apr 2024 12:48:19 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/8] Clean up of gzip decompressor
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20240424163422.23276-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/24/24 12:34, Daniel P. Smith wrote:
> An issue ran into by hyperlaunch was the need to use the gzip decompressor
> multiple times. The current implementation fails when reused due to tainting of
> decompressor state from a previous usage. This series seeks to colocate the
> gzip unit files under a single directory similar to the other decompression
> algorithms.  To enable the refactoring of the state tracking, the code is then
> cleaned up in line with Xen coding style.
> 

Forgot to add this comment to the cover letter.

Concern was raised about taking updates from original source to the 
code. In this case the original source is from the Linux kernel, which 
can be found in lib/inflate.c, and added to Xen in 2009. The last time 
there was a logic change to that code in the Linux kernel was in 2008, 
before it was added to Xen. Since then, it has only been updated for 
changes made to included headers. If fact, as far as I can see, while 
the file is still in place, nothing uses it. For zlib decompression, 
three is a new lib/zlib_deflate code base that is used. The scope of 
this work is not to completely fix/replace zlib decompression for Xen, 
but to stabilize it to allow hyperlaunch to decompress more than one 
zlib compressed kernel.

V/r,
Daniel P. Smith


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 17:23:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 17:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711594.1111655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzgL3-0000H4-Ud; Wed, 24 Apr 2024 17:23:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711594.1111655; Wed, 24 Apr 2024 17:23:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzgL3-0000Gx-Rp; Wed, 24 Apr 2024 17:23:21 +0000
Received: by outflank-mailman (input) for mailman id 711594;
 Wed, 24 Apr 2024 17:23: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 1rzgL1-0000Gn-R8; Wed, 24 Apr 2024 17:23: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 1rzgL1-0006wa-Ld; Wed, 24 Apr 2024 17:23: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 1rzgL1-0007az-Ax; Wed, 24 Apr 2024 17:23:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzgL1-0003Z0-AR; Wed, 24 Apr 2024 17:23: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=mjcUuLRUPIRSH60FfPDaYaeHR7ffPohNI9Gy7G2hReE=; b=dAHUMyFFIkq4W/Xf/xbKehcQHG
	ovA7riZcFyPN639/SJtm7nNss5J0zfVHiUGwDgIG8gn9vrcwqlo87NT+AO5QiUOWmSScGVIO06RnG
	+WDktfem1tvW3kn2qOuumhWlgOiFURv8V+0B3OI7kBVPTrboQM418h79f5SV3XLDygYU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185782-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 185782: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:build-arm64-pvops:<job status>:broken:regression
    linux-5.4:build-arm64-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-libvirt:<job status>:broken:regression
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:regression
    linux-5.4:build-arm64-libvirt:host-build-prep:fail:regression
    linux-5.4:build-arm64-pvops:host-build-prep:fail:regression
    linux-5.4:build-arm64-xsm:host-build-prep:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qcow2:debian-di-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:debian-di-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0dbd436fb9908fbb442cb4c6e28044a891360229
X-Osstest-Versions-That:
    linux=24489321d0cd5339f9c2da01eb8bf2bccbac7956
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 17:23:19 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops               <job status>                 broken  in 185433
 build-arm64-xsm                 <job status>                 broken  in 185433
 build-arm64-libvirt             <job status>                 broken  in 185433
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail REGR. vs. 185168
 build-arm64-libvirt          5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-pvops            5 host-build-prep fail in 185433 REGR. vs. 185168
 build-arm64-xsm              5 host-build-prep fail in 185433 REGR. vs. 185168

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 14 guest-start/redhat.repeat fail in 185433 pass in 185782
 test-armhf-armhf-examine      8 reboot           fail in 185769 pass in 185782
 test-arm64-arm64-libvirt-raw 13 guest-start      fail in 185769 pass in 185782
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 185769 pass in 185782
 test-amd64-i386-libvirt-raw  12 debian-di-install          fail pass in 185433
 test-amd64-i386-libvirt-qcow2 12 debian-di-install         fail pass in 185433
 test-amd64-i386-xl-vhd       12 debian-di-install          fail pass in 185433
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 185769

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 185433 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 185433 n/a
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 185168
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 185433 blocked in 185168
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 185433 like 185168
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 185433 never pass
 test-amd64-i386-libvirt-qcow2 14 migrate-support-check fail in 185433 never pass
 test-armhf-armhf-xl-credit1  19 guest-start.2 fail in 185769 blocked in 185168
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 185769 like 185168
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185168
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185168
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185168
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 185168
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 185168
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 185168
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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
 test-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-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                0dbd436fb9908fbb442cb4c6e28044a891360229
baseline version:
 linux                24489321d0cd5339f9c2da01eb8bf2bccbac7956

Last test of basis   185168  2024-03-26 23:14:28 Z   28 days
Testing same since   185433  2024-04-13 11:16:55 Z   11 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Andrey Jr. Melnikov" <temnota.am@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Aleksandr Burakov <a.burakov@rosalinux.ru>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Henrie <alexhenrie24@gmail.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexandre Chartre <alexandre.chartre@oracle.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Larsson <andreas@gaisler.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrew Paniakin <apanyaki@amazon.com>
  Andrey Jr. Melnikov <temnota.am@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Aurélien Jacobs <aurel@gnuage.org>
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Bastien Nocera <hadess@hadess.net>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Camelia Groza <camelia.groza@nxp.com>
  Cameron Williams <cang1@live.co.uk>
  Carlo Caione <ccaione@baylibre.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chris Wilson <chris@chris-wilson.co.uk>
  Christian Brauner <brauner@kernel.org>
  Christian Häggström <christian.haggstrom@orexplore.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conrad Kostecki <conikost@gentoo.org>
  Dai Ngo <dai.ngo@oracle.com>
  Damian Muszynski <damian.muszynski@intel.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Drake <drake@endlessos.org>
  Daniel Vogelbacher <daniel@chaospixel.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.org>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Duoming Zhou <duoming@zju.edu.cn>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Genjian Zhang <zhanggenjian@kylinos.cn>
  Gergo Koteles <soyer@irl.hu>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Goldwyn Rodrigues <rgoldwyn@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Gui-Dong Han <2045gemini@gmail.com>
  Guilherme G. Piccoli <gpiccoli@igalia.com>
  Guo Mengqi <guomengqi3@huawei.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harald Freudenberger <freude@linux.ibm.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hidenori Kobayashi <hidenorik@chromium.org>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Hui Wang <hui.wang@canonical.com>
  I Gede Agastya Darma Laksana <gedeagas22@gmail.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacopo Mondi <jacopo@jmondi.org>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jian-Hong Pan <jhp@endlessos.org>
  Joe Perches <joe@perches.com>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Berg <johannes.berg@intel.com>
  John Fastabend <john.fastabend@gmail.com>
  John Ogness <john.ogness@linutronix.de>
  John Sperbeck <jsperbeck@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Josua Mayer <josua@solid-run.com>
  Juergen Gross <jgross@suse.com>
  Justin Tee <justin.tee@broadcom.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Karthikeyan Ramasubramanian <kramasub@chromium.org>
  Keerthana K <keerthana.kalyanasundaram@broadcom.com>
  Kees Cook <keescook@chromium.org>
  kernelci.org bot <bot@kernelci.org>
  Kevin Hilman <khilman@baylibre.com>
  Kim Phillips <kim.phillips@amd.com>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kuntal Nayak <kuntal.nayak@broadcom.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lin Yujun <linyujun809@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lubomir Rintel <lkundrak@v3.sk>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marco Felsch <m.felsch@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martijn Coenen <maco@android.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Maxime Ripard <mripard@kernel.org>
  Maximilian Heyne <mheyne@amazon.de>
  Mel Gorman <mgorman@techsingularity.net>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikko Rapeli <mikko.rapeli@linaro.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicolas Pitre <nico@fluxnic.net>
  Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
  Niklas Cassel <cassel@kernel.org>
  Nilesh Javali <njavali@marvell.com>
  OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
  Oliver Neukum <oneukum@suse.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Paul Menzel <pmenzel@molgen.mpg.de>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Petre Rodan <petre.rodan@subdimension.ro>
  Philipp Zabel <p.zabel@pengutronix.de>
  Piotr Wejman <piotrwejman90@gmail.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Qiang Zhang <qiang4.zhang@intel.com>
  Qingliang Li <qingliang.li@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafael J. Wysocki <rafael@kernel.org>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Ricky Wu <ricky_wu@realtek.com>
  Roberto Sassu <roberto.sassu@huawei.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Rui Qi <qirui.001@bytedance.com>
  Ryosuke Yasuoka <ryasuoka@redhat.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Anderson <sean.anderson@seco.com>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shannon Nelson <shannon.nelson@amd.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddh Raman Pant <code@siddh.me>
  Song Liu <song@kernel.org>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srivathsa Dara <srivathsa.d.dara@oracle.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Lee <slee08177@gmail.com>
  Steve Wahl <steve.wahl@hpe.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Svyatoslav Pankratov <svyatoslav.pankratov@intel.com>
  syzbot+d4066896495db380182e@syzkaller.appspotmail.com
  Takashi Iwai <tiwai@suse.de>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Zimmermann <tzimmermann@suse.de>
  Tim Schumacher <timschumi@gmx.de>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Toru Katagiri <Toru.Katagiri@tdk.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Vlastimil Babka <vbabka@suse.cz>
  William Tu <u9012063@gmail.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Ni <xni@redhat.com>
  Yang Jihong <yangjihong1@huawei.com>
  yangerkun <yangerkun@huawei.com>
  Yangxi Xiang <xyangxi5@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Kuai <yukuai3@huawei.com>
  yuan linyu <yuanlinyu@hihonor.com>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zheng Wang <zyytlz.wz@163.com>
  Zhong Jinghua <zhongjinghua@huawei.com>
  Zi Yan <ziy@nvidia.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

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


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

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

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

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

broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-arm64-libvirt broken

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 18:22:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 18:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711606.1111676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzhGI-0002l0-FX; Wed, 24 Apr 2024 18:22:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711606.1111676; Wed, 24 Apr 2024 18: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 1rzhGI-0002kt-Cj; Wed, 24 Apr 2024 18:22:30 +0000
Received: by outflank-mailman (input) for mailman id 711606;
 Wed, 24 Apr 2024 18:22: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 1rzhGH-0002kh-B7
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 18:22: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 1rzhGG-00080R-He; Wed, 24 Apr 2024 18:22:28 +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 1rzhGG-0001i8-BE; Wed, 24 Apr 2024 18:22:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=IPEyM8OmXyPmMB3O/yIJxh0uIUAzEvYmgd8zMIP+n78=; b=C3tEJv13HBNYEc3Fet4U5KwOJH
	OoCj8nWBU1zhjhcrzQeApR4joUcQOC6p0LdWrF8H2qmKL8lZwj9snzlAh2+vG9zfJ70DiK4vi7hfD
	c4OdBIpx/witwWUVkEJpii3DB5n7VId9Uc1BLleBKPg+uT6rzAMhhyGKLlBygElTGR1g=;
Message-ID: <473659ca-208c-41dc-8edf-f032c0377e48@xen.org>
Date: Wed, 24 Apr 2024 19:22:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/6] xen/device-tree: Move Arm's setup.c bootinfo
 functions to common
Content-Language: en-GB
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@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>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Luca Fancellu <luca.fancellu@arm.com>
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
 <451705505ff7f80ec66c78cc2830196fa6e4090c.1712893887.git.sanastasio@raptorengineering.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <451705505ff7f80ec66c78cc2830196fa6e4090c.1712893887.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Shawn,

On 12/04/2024 04:55, Shawn Anastasio wrote:
> diff --git a/xen/common/device-tree/Makefile b/xen/common/device-tree/Makefile
> new file mode 100644
> index 0000000000..947bad979c
> --- /dev/null
> +++ b/xen/common/device-tree/Makefile
> @@ -0,0 +1 @@
> +obj-y += bootinfo.init.o
> diff --git a/xen/common/device-tree/bootinfo.c b/xen/common/device-tree/bootinfo.c
> new file mode 100644
> index 0000000000..914f876d29
> --- /dev/null
> +++ b/xen/common/device-tree/bootinfo.c
> @@ -0,0 +1,446 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Derived from $xen/arch/arm/setup.c.
> + *
> + * Early device tree parsing and bookkeeping routines.

Based on the discussion in v3, I think this is only containing 
bookkepping routines. So you probably want to remove "Early device tree 
parsing".

This would also make a bit clearer the difference bettwen bootfdt.c and 
bootinfo.c.

[...]

> +/*
> + * Populate the boot allocator.
> + * If a static heap was not provided by the admin, all the RAM but the
> + * following regions will be added:
> + *  - Modules (e.g., Xen, Kernel)
> + *  - Reserved regions
> + *  - Xenheap (CONFIG_SEPARATE_XENHEAP only)
> + * If a static heap was provided by the admin, populate the boot
> + * allocator with the corresponding regions only, but with Xenheap excluded
> + * on arm32.

Now this is moved in common code, I think we want to 
s/arm32/CONFIG_SEPARATE_XENHEAP/. This could be done on a follow-up commit.

[...]

> diff --git a/xen/include/xen/bootfdt.h b/xen/include/xen/bootfdt.h
> new file mode 100644
> index 0000000000..b0487bdbbd
> --- /dev/null
> +++ b/xen/include/xen/bootfdt.h
> @@ -0,0 +1,116 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __XEN_BOOTFDT_H__
> +#define __XEN_BOOTFDT_H__
> +
> +#include <xen/types.h>
> +
> +#define MIN_FDT_ALIGN 8
> +#define MAX_FDT_SIZE SZ_2M
> +
> +#define NR_MEM_BANKS 256
> +
> +#define MAX_MODULES 32 /* Current maximum useful modules */
> +
> +typedef enum {
> +    BOOTMOD_XEN,
> +    BOOTMOD_FDT,
> +    BOOTMOD_KERNEL,
> +    BOOTMOD_RAMDISK,
> +    BOOTMOD_XSM,
> +    BOOTMOD_GUEST_DTB,
> +    BOOTMOD_UNKNOWN
> +} bootmodule_kind;
> +
> +enum membank_type {
> +    /*
> +     * The MEMBANK_DEFAULT type refers to either reserved memory for the
> +     * device/firmware (when the bank is in 'reserved_mem') or any RAM (when
> +     * the bank is in 'mem').
> +     */
> +    MEMBANK_DEFAULT,
> +    /*
> +     * The MEMBANK_STATIC_DOMAIN type is used to indicate whether the memory
> +     * bank is bound to a static Xen domain. It is only valid when the bank
> +     * is in reserved_mem.
> +     */
> +    MEMBANK_STATIC_DOMAIN,
> +    /*
> +     * The MEMBANK_STATIC_HEAP type is used to indicate whether the memory
> +     * bank is reserved as static heap. It is only valid when the bank is
> +     * in reserved_mem.
> +     */
> +    MEMBANK_STATIC_HEAP,
> +};
> +
> +/* Indicates the maximum number of characters(\0 included) for shm_id */
> +#define MAX_SHM_ID_LENGTH 16
> +
> +struct membank {
> +    paddr_t start;
> +    paddr_t size;
> +    enum membank_type type;
> +#ifdef CONFIG_STATIC_SHM
> +    char shm_id[MAX_SHM_ID_LENGTH];
> +    unsigned int nr_shm_borrowers;
> +#endif
> +};
> +
> +struct meminfo {
> +    unsigned int nr_banks;
> +    struct membank bank[NR_MEM_BANKS];
> +};

I have just committed some code which is modifying membank/meminfo. I 
think this may need to be rebased. I have CCed the author of the series 
(Luca) who may be able to advise/help.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 18:31:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 18:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711620.1111722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzhOf-0005Mr-N5; Wed, 24 Apr 2024 18:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711620.1111722; Wed, 24 Apr 2024 18: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 1rzhOf-0005Mk-Kc; Wed, 24 Apr 2024 18:31:09 +0000
Received: by outflank-mailman (input) for mailman id 711620;
 Wed, 24 Apr 2024 18:31: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 1rzhOe-0005Md-IP
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 18:31: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 1rzhOe-0008BS-5s; Wed, 24 Apr 2024 18:31:08 +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 1rzhOe-000262-0x; Wed, 24 Apr 2024 18:31:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=s0m53aWYxfGLRQ1+sSrl/pHgmrq6CcRJ2flB/C5sWv4=; b=crMF06kbfP5di3TNI7Xs7au9pw
	8A5P0XkKxIlIVT0Wr2bjCtCUG2jXqZfN5DI9+dyyEgsYcTL5al9nKpuznvQYfX7A079+Ew4w4qMf+
	DkqZeS6M6IJ/IHafHQeFSoB/qFtdvgGYHAKJ0uUhbAr6VzgImFy5e8UzgV+rgA6FztCg=;
Message-ID: <d92e4626-9cc5-45e2-9608-75c3b3140518@xen.org>
Date: Wed, 24 Apr 2024 19:31:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/6] xen/ppc: Introduce stub asm/static-shmem.h
Content-Language: en-GB
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com, Jan Beulich <jbeulich@suse.com>
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
 <feadb431b4c7a13e803c342ed00c60a6415f2ceb.1712893887.git.sanastasio@raptorengineering.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <feadb431b4c7a13e803c342ed00c60a6415f2ceb.1712893887.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Shawn,

On 12/04/2024 04:55, Shawn Anastasio wrote:
> Required for bootfdt.c to build.

AFAIU, this patch is only necessary in #4. So I would consider to fold 
it there as it doesn't seem to add any value alone.

> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
> ---
> Changes in v4: none
> 
>   xen/arch/ppc/include/asm/static-shmem.h | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
>   create mode 100644 xen/arch/ppc/include/asm/static-shmem.h
> 
> diff --git a/xen/arch/ppc/include/asm/static-shmem.h b/xen/arch/ppc/include/asm/static-shmem.h
> new file mode 100644
> index 0000000000..84370d6e6c
> --- /dev/null
> +++ b/xen/arch/ppc/include/asm/static-shmem.h

Just an idea to avoid introducing static-shmem.h for PPC (and I guess 
RISC-V). Could we instead ifdef the inclusion and in bootfdt.c provide a 
stub for...

> @@ -0,0 +1,12 @@
> +/* SPDX-License-Identifier:  GPL-2.0-only */
> +
> +#ifndef __ASM_PPC_STATIC_SHMEM_H__
> +#define __ASM_PPC_STATIC_SHMEM_H__
> +
> +static inline int process_shm_node(const void *fdt, int node,
> +                                   uint32_t address_cells, uint32_t size_cells)
> +{
> +    return -EINVAL;
> +}

... this helper? Something like [1].

Cheers,


[1]
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 4d708442a19e..26dada1e3a1e 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -15,7 +15,9 @@
  #include <xen/sort.h>
  #include <xsm/xsm.h>
  #include <asm/setup.h>
+#ifdef CONFIG_STATIC_SHM
  #include <asm/static-shmem.h>
+#endif

  static void __init __maybe_unused build_assertions(void)
  {
@@ -436,6 +438,15 @@ static int __init process_domain_node(const void 
*fdt, int node,
                                     MEMBANK_STATIC_DOMAIN);
  }

+#ifndef CONFIG_STATIC_SHM
+static inline int process_shm_node(const void *fdt, int node,
+                                   uint32_t address_cells, uint32_t 
size_cells)
+{
+    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared 
memory nodes\n");
+    return -EINVAL;
+}
+#endif
+
  static int __init early_scan_node(const void *fdt,
                                    int node, const char *name, int depth,
                                    u32 address_cells, u32 size_cells,
diff --git a/xen/arch/arm/include/asm/static-shmem.h 
b/xen/arch/arm/include/asm/static-shmem.h
index 3b6569e5703f..39b5881d24aa 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -68,13 +68,6 @@ static inline int process_shm_chosen(struct domain *d,
      return 0;
  }

-static inline int process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t 
size_cells)
-{
-    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared 
memory nodes\n");
-    return -EINVAL;
-}
-
  static inline void early_print_info_shmem(void) {};

  static inline void init_sharedmem_pages(void) {};


Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 18:41:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 18:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711625.1111733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzhYd-0007bK-MZ; Wed, 24 Apr 2024 18:41:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711625.1111733; Wed, 24 Apr 2024 18:41:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzhYd-0007bD-Iz; Wed, 24 Apr 2024 18:41:27 +0000
Received: by outflank-mailman (input) for mailman id 711625;
 Wed, 24 Apr 2024 18:41: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 1rzhYb-0007b6-Ri
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 18:41: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 1rzhYb-0008O9-Br; Wed, 24 Apr 2024 18:41:25 +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 1rzhYb-0002lJ-5C; Wed, 24 Apr 2024 18:41:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=jR1onqnm5csBjL16q9moFWdQYXT1dM7M5XH8iFO/IVA=; b=JodfK3Qbv5rm7C/P09++upi1eF
	1JfOb4SJ66FuDQlxerVNPGsnRpj+I9hcnHT/xR1Qq6dMUJTXXK6bLMTid9Gm5uEQaJ3BPTt7eEF5Q
	MFVYYy34x0UdjGWAmq8kjHKbIljd26AXsOq4+vWO5ZBmmOnm8rzcIkB7euN5LFcRr0wI=;
Message-ID: <0cd870be-712e-4fee-a18f-cb651341edaf@xen.org>
Date: Wed, 24 Apr 2024 19:41:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/6] xen/ppc: Enable bootfdt and boot allocator
Content-Language: en-GB
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
 <46e6d4ddd74b9ecc4937d1086efe06eb39c499dd.1712893887.git.sanastasio@raptorengineering.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <46e6d4ddd74b9ecc4937d1086efe06eb39c499dd.1712893887.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Shawn,

On 12/04/2024 04:55, Shawn Anastasio wrote:
> 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>
> ---
> Changes in v4:
>    - drop unnecessary libfdt.h include in setup.c
>    - make boot_fdt and xen_bootmodule const
>    - more clearly document that BOOTMOD_FDT is now optional
>    - add explicit (void) cast to BOOTMOD_FDT creation
> 
>   xen/arch/ppc/setup.c             | 22 +++++++++++++++++++++-
>   xen/common/device-tree/bootfdt.c | 11 +++++++++--
>   xen/include/xen/bootfdt.h        |  7 +++++++
>   3 files changed, 37 insertions(+), 3 deletions(-)

The changes look overall good. I have a few remark belows. But you can 
have my acked-by with or without the NIT addressed:

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

> 
> diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
> index 101bdd8bb6..47e997969f 100644
> --- a/xen/arch/ppc/setup.c
> +++ b/xen/arch/ppc/setup.c
> @@ -1,12 +1,15 @@
>   /* SPDX-License-Identifier: GPL-2.0-or-later */
>   #include <xen/init.h>
>   #include <xen/lib.h>
> +#include <xen/bootfdt.h>
> +#include <xen/device_tree.h>

We are tryying to keep the header order alphabetically. It looks like 
the existing code is respecting that. So can this be done for the two 
new headers?

>   #include <xen/mm.h>
>   #include <public/version.h>
>   #include <asm/boot.h>
>   #include <asm/early_printk.h>
>   #include <asm/mm.h>
>   #include <asm/processor.h>
> +#include <asm/setup.h>
> 
>   /* Xen stack for bringing up the first CPU. */
>   unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZE);
> @@ -24,6 +27,9 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
>                                  unsigned long r5, unsigned long r6,
>                                  unsigned long r7)
>   {
> +    const void *boot_fdt;
> +    const struct bootmodule *xen_bootmodule;
> +
>       if ( r5 )
>       {
>           /* Unsupported OpenFirmware boot protocol */
> @@ -32,11 +38,25 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
>       else
>       {
>           /* kexec boot protocol */
> -        boot_opal_init((void *)r3);
> +        boot_fdt = (void *)r3;

NIT: Sorry I should have noticed it earlier. boot_fdt is only used to ..

> +        boot_opal_init(boot_fdt);
>       }
> 
>       setup_exceptions();
> 
> +    device_tree_flattened = boot_fdt;

... set device_tree_flattened and ...

> +    boot_fdt_info(boot_fdt, r3);


... used here. Is there any plan to have device_tree_flattened != 
boot_fdt? If not, then I would suggest to simply drop boot_fdt.

> +
> +    /*
> +     * 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();
> 
>       early_printk("Hello, ppc64le!\n");
> diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
> index f01a5b5d76..76d0f72ef9 100644
> --- a/xen/common/device-tree/bootfdt.c
> +++ b/xen/common/device-tree/bootfdt.c
> @@ -542,12 +542,19 @@ 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);
> -
>       ret = device_tree_for_each_node(fdt, 0, early_scan_node, NULL);
>       if ( ret )
>           panic("Early FDT parsing failed (%d)\n", ret);
> 
> +    /*
> +     * 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
> diff --git a/xen/include/xen/bootfdt.h b/xen/include/xen/bootfdt.h
> index 577618da16..ea3ad96bb9 100644
> --- a/xen/include/xen/bootfdt.h
> +++ b/xen/include/xen/bootfdt.h
> @@ -13,7 +13,14 @@
> 
>   typedef enum {
>       BOOTMOD_XEN,
> +
> +    /*
> +     * The BOOTMOD_FDT type will only be present when the firmware-provided FDT
> +     * blob exists outside of a reserved memory region which is platform-
> +     * dependent and may not be relied upon.
> +     */
>       BOOTMOD_FDT,
> +
>       BOOTMOD_KERNEL,
>       BOOTMOD_RAMDISK,
>       BOOTMOD_XSM,
> --
> 2.30.2
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 18:54:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 18:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711630.1111744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzhl9-0001pb-Qr; Wed, 24 Apr 2024 18:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711630.1111744; Wed, 24 Apr 2024 18:54:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzhl9-0001pU-L7; Wed, 24 Apr 2024 18:54:23 +0000
Received: by outflank-mailman (input) for mailman id 711630;
 Wed, 24 Apr 2024 18:54: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 1rzhl9-0001pI-2H; Wed, 24 Apr 2024 18:54: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 1rzhl8-0000IR-Rn; Wed, 24 Apr 2024 18:54: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 1rzhl8-0002Ft-HK; Wed, 24 Apr 2024 18:54:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzhl8-00088V-Gn; Wed, 24 Apr 2024 18:54:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BE4Uhw8YUWEp3s9DxW3Nta7C3eALsWqRUnVUOpXKNoU=; b=O3Oxu0a2d/V1ROaFxzBh6NLgD4
	G9ssE+UMK8Qi0XmsXIwxC0EOEIoHss0wk1EWMcmI3YNfFPIiALjOBZzDKGgFhpdDGwXCvzPtAKeo8
	PPFrcVwm/iI4mtJM0UgWhnymgeBH0IwDSA8Ld2t+Or6ndppXkKFxMTqubNsj0TIS/I3A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185787-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185787: 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=6c04a0bf2c5824616c0bbc44bc4f07c64a5469be
X-Osstest-Versions-That:
    xen=410ef3343924b5a3928bbe8e392491992b322cf0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 18:54:22 +0000

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

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                  6c04a0bf2c5824616c0bbc44bc4f07c64a5469be
baseline version:
 xen                  410ef3343924b5a3928bbe8e392491992b322cf0

Last test of basis   185781  2024-04-24 02:00:26 Z    0 days
Testing same since   185787  2024-04-24 16:02:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Nick Rosbrook <rosbrookn@gmail.com>
  Tobias Fitschen <tobias.fitschen@posteo.de>

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
   410ef33439..6c04a0bf2c  6c04a0bf2c5824616c0bbc44bc4f07c64a5469be -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 19:18:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 19:18:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711637.1111753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzi8q-000677-LF; Wed, 24 Apr 2024 19:18:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711637.1111753; Wed, 24 Apr 2024 19:18:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzi8q-000670-Hl; Wed, 24 Apr 2024 19:18:52 +0000
Received: by outflank-mailman (input) for mailman id 711637;
 Wed, 24 Apr 2024 19:18:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzi8o-00066u-Io
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 19:18:50 +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 78c5c62b-026f-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 21:18:47 +0200 (CEST)
Delivered-To: dpsmith@apertussolutions.com
Received: by mx.zohomail.com with SMTPS id 1713986316503101.01606128243566;
 Wed, 24 Apr 2024 12:18: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: 78c5c62b-026f-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1713986320; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=k00y0KNmamhlstad9CkgCB3LCtmgQYbp1rjXav2lqV3elVkfQmdo+QbDXHqIxci5bbzVqkT+KDgpMzZuiEooCPJTu5f29yuoDmuogEnVunmpxnWEzLkRJ46irRNPQKhyreEM3lpAkL00jOvMYCtOpG2P1IdT9C5OXfPPLfLQeVk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713986320; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=zsHXuWCfw2B6RyFVe1ZZYclnQ2RG44VTa61HMRC0aJQ=; 
	b=MwZukq4pkk/UFH/iew9lVwwXxCu/KguGFjxdpcnDgvvRA/aReUXLBZwBNdeRc1yTndtPpIX3/H40wvyCoQsvQdDJct8DnHRKsxGIjibrsFeQhx9mk+UX7iSLYq5cwqZKds+ECGe04QiW019sVqi3cUMryZNCNB6jabUG+KdUyKI=
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=1713986320;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-Id:Message-Id:MIME-Version:Content-Type:Content-Transfer-Encoding:Reply-To;
	bh=zsHXuWCfw2B6RyFVe1ZZYclnQ2RG44VTa61HMRC0aJQ=;
	b=ot5w+NPKTLNSOUoevnJtUB4yteLFzHI2tms8OpqChx5wyS5CFk3W04loPstw2sal
	Gg4oLYH3cnN33wY05RPD7GUcHDGiZOAxxzaZawS84UeVbNBLMh5l6xtnqGNF5/BAdEL
	W35naNVJxfZATsSGfGC5Uxv3CHNC6WT2hOdwGTt8=
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
Date: Wed, 24 Apr 2024 15:18:26 -0400
Message-Id: <20240424191826.23656-1-dpsmith@apertussolutions.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

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 Wed Apr 24 20:30:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711643.1111763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjFr-0002Bi-Rw; Wed, 24 Apr 2024 20:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711643.1111763; Wed, 24 Apr 2024 20:30:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjFr-0002Bb-Nq; Wed, 24 Apr 2024 20:30:11 +0000
Received: by outflank-mailman (input) for mailman id 711643;
 Wed, 24 Apr 2024 20:30: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 1rzjFp-0002BO-Tt; Wed, 24 Apr 2024 20:30: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 1rzjFp-00025m-KV; Wed, 24 Apr 2024 20:30: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 1rzjFp-0004cd-8f; Wed, 24 Apr 2024 20:30:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzjFp-00071s-8H; Wed, 24 Apr 2024 20:30:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C8+FIPKlW8DQEwyBiCfOvqqccwYh4oizie2e7jwYtTs=; b=sv0Vx471KH7Fbqf29XCRmxAj2k
	BW0ppcBM4gIvrYC2PjVuxJ8g1qnkcINO9HW5fsOuz6vEOk1URvawpyhe1wtIkCtdN1Yhzq82m/ZcA
	E6D9VZwpT77o3kxQ93zVKWFNA72hVlOFMaUSAoCe0k62V51dQxA8s3cnrHYy+oSPJV2w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185783-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185783: 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-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:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-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=595b95cdde39a78528e584fdfd71a1d562ba9e45
X-Osstest-Versions-That:
    libvirt=c38720b337f74337ec94c0fe2e97a7c2c57188ae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 20:30:09 +0000

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

Failures :-/ but no regressions.

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

Last test of basis   185743  2024-04-20 04:20:26 Z    4 days
Testing same since   185783  2024-04-24 04:20:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.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                                 pass    


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

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

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

Test harness 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
   c38720b337..595b95cdde  595b95cdde39a78528e584fdfd71a1d562ba9e45 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711650.1111774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRW-0004HA-Sf; Wed, 24 Apr 2024 20:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711650.1111774; Wed, 24 Apr 2024 20:42:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRW-0004H3-OM; Wed, 24 Apr 2024 20:42:14 +0000
Received: by outflank-mailman (input) for mailman id 711650;
 Wed, 24 Apr 2024 20:42:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRW-0004Gx-05
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42:14 +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 1ff18baa-027b-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 22:42:11 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-51ae2e37a87so315187e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:11 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13:42:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ff18baa-027b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991330; x=1714596130; 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=geFxrE/DVFSAD/xwwDS4D3R/c09jE38s/B61NjKI6hc=;
        b=S6lNnQT6N21ldAqo9F1mgvKlYkRkuunQuvGDy4lBKd6BHIH5LMilU3XK+08lGyBgyI
         lvKkqRNtq4CVUt3RVhLIJDjLwlRHwBspEa8hwx7cijb+gpI1Bjp0U1zxCg/d+JxRlXAf
         TMlKHw9TfcQsf+9e3h8FsGHUFbcE7A2kAH2HZNfDnx8K8ZYVsl4Plg19QlSCXuEb7AGh
         EGIXTbZSeVzdJNm6M/vHkjQ8iE4lLOTi7081dERnH6tLnbD66p/L2srf9/KbfVVazhkB
         LMkgyVTmQCGaHD4UZaiXj33jxB7NdRv4BJ6ZFUg+gu+DeU9pVF5pfH3vF8nbsIJxJQEC
         nOEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991330; x=1714596130;
        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=geFxrE/DVFSAD/xwwDS4D3R/c09jE38s/B61NjKI6hc=;
        b=caxOJ6ja/cerdqb+bnXp2+VlXk5gACMOcYe+jGBV1pI1APL29S4kn2TybJMuTO236x
         5PH567rrMM8Dyb79Twynt6s2iqywEiweJRpv7N3ruTf7z90LQeCHOJDtADtY5ggmRSiK
         zUPz/Cvs0MPLRs2R0avbe/QqJOJCKcjdD5Elm4nOkJVo5IpE7IxbToJSYlA3IqtDsOGS
         9xTZGQLa7ddgDS0gBqcmlnWGzYgZgGAfBOSFh7DMAtfrGUkHjR44JuLRDJZcurJOFha/
         YZOOAQkA4/KNAzTJk9tcbExyBq+NLU12rZeaQA5qRyO3Uh6PDVpfEZz4sf2bGM97iYrh
         wUhg==
X-Gm-Message-State: AOJu0YwiwlPvNkqyfKX3HFC3InONTQr9cEhyx5UMrqgnbCGSnrKNKr96
	q7nV0ThlbeqBzFRhXkgBAMWFv9EWeLiR231DF6K3Xs4vy6eg+pLurtXoc7S2
X-Google-Smtp-Source: AGHT+IHHTCTULf8InWUNarmFYSoVI8tAxf3RnjoXLLw6h/xuEcnD2L7+Wa5oXUrx7ZebFU+JRHMuBg==
X-Received: by 2002:a05:6512:3995:b0:51a:c3a6:9209 with SMTP id j21-20020a056512399500b0051ac3a69209mr3002411lfu.68.1713991330119;
        Wed, 24 Apr 2024 13:42:10 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH 0/7] x86: Make MAX_ALTP2M configurable
Date: Wed, 24 Apr 2024 20:41:58 +0000
Message-Id: <cover.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

This series introduces the ability to configure the maximum number of altp2m
tables during domain creation. Previously, the limits were hardcoded to a
maximum of 10. This change allows for greater flexibility in environments that
require more or fewer altp2m views.

Adjustments include:
- "Prepare" commits with style changes.
- Adding a new `max_altp2m` parameter to xl.
- Adding a new `max_altp2m` parameter to the OCaml bindings.
- Adding a new `max_altp2m` parameter to the xl.cfg manual.
- Introducing `max_altp2m` into `xen_domctl_createdomain`, which, after sanity
  checks, is stored in newly introduced `max_altp2m` field of `struct domain` -
  leaving room for other architectures to implement the altp2m feature.
- Replacing MAX_ALTP2M macro occurrences with `domain->max_altp2m`.
- Finally, adjusting the initial allocation of pages in `hap_enable` from 256
  to 1024 pages to accommodate potentially larger `max_altp2m` values (i.e.,
  maximum of 512).

This enhancement is particularly relevant for users leveraging Xen's features
for virtual machine introspection.

Petr Beneš (7):
  x86/p2m: Add braces for better code clarity
  x86/hap: Refactor boolean field assignments
  tools/xl: Add max_altp2m parameter
  tools/ocaml: Add max_altp2m parameter
  docs/man: Add max_altp2m parameter to the xl.cfg manual
  x86: Make the maximum number of altp2m views configurable
  x86/hap: Increase the number of initial mempool_size to 1024 pages

 docs/man/xl.cfg.5.pod.in                      | 14 +++++
 tools/golang/xenlight/helpers.gen.go          |  2 +
 tools/golang/xenlight/types.gen.go            |  1 +
 tools/include/libxl.h                         |  8 +++
 tools/libs/light/libxl_create.c               |  9 ++++
 tools/libs/light/libxl_types.idl              |  1 +
 tools/ocaml/libs/xc/xenctrl.ml                |  1 +
 tools/ocaml/libs/xc/xenctrl.mli               |  1 +
 tools/ocaml/libs/xc/xenctrl_stubs.c           | 17 +++---
 .../paging-mempool/test-paging-mempool.c      |  2 +-
 tools/xl/xl_parse.c                           |  4 ++
 xen/arch/x86/domain.c                         |  6 +++
 xen/arch/x86/hvm/hvm.c                        |  8 ++-
 xen/arch/x86/hvm/vmx/vmx.c                    |  2 +-
 xen/arch/x86/include/asm/domain.h             |  7 ++-
 xen/arch/x86/include/asm/p2m.h                |  4 +-
 xen/arch/x86/mm/altp2m.c                      | 27 +++++++++-
 xen/arch/x86/mm/hap/hap.c                     | 12 ++---
 xen/arch/x86/mm/mem_access.c                  | 14 ++---
 xen/arch/x86/mm/mem_sharing.c                 |  2 +-
 xen/arch/x86/mm/p2m-ept.c                     |  6 +--
 xen/arch/x86/mm/p2m.c                         | 54 ++++++++++---------
 xen/common/domain.c                           |  7 +++
 xen/include/public/domctl.h                   |  1 +
 xen/include/xen/sched.h                       |  2 +
 25 files changed, 152 insertions(+), 60 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711652.1111793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRb-0004l2-BO; Wed, 24 Apr 2024 20:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711652.1111793; Wed, 24 Apr 2024 20:42:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRb-0004kt-6w; Wed, 24 Apr 2024 20:42:19 +0000
Received: by outflank-mailman (input) for mailman id 711652;
 Wed, 24 Apr 2024 20:42:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRZ-0004VD-OJ
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42:17 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2374edd0-027b-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 22:42:17 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-343d7ff2350so192285f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:17 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13:42: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: 2374edd0-027b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991336; x=1714596136; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rtmRGO2sNugbwwUMKoj3jAhZKPNDueX11T7dOt/OTR0=;
        b=ImMDH9ujhm3A6f7PM/OCahBncT2sYc3LNlfNziJqPTpGb88ICHhIkKCdgjmrr6t6fg
         abP07Wp9Wu9iu6CpuMcXdPF4hRm+tWdb2E7cYVfSUcbD6DPgInGm8BzNfTeEHWb/Oobn
         Mn+C6xKBSbhrlX/malxSlK0JZ3fbnG+Ig4AqH2WzJmIGcCmzCbGQ+qYgZUW+iB1nL70A
         A61AbDsR0Ft9KMymkfeef+kqbYsciS3i66tRYT2LksTCQHIEZR4v8R5anmIKVxOIAMRw
         /M3ccCOzv+FgoSuYofFNL9bzXndkbGCtJbhPUTujnAIf7VijKiP2SoRWIjdBYM5ExxyR
         qV6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991336; x=1714596136;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=rtmRGO2sNugbwwUMKoj3jAhZKPNDueX11T7dOt/OTR0=;
        b=WdTe5nZ7MyR5uo/UvuMD7ANNviaVD+39lvBjI5PO3MYRf8ajsp7qR7GgCLlBociG7b
         Botgwk/F01sH8uikdevZutht8ZuAU8nIVBCs8RqWM8RAoX3AkqVDb/PXcvZwZoShVdou
         91RoHHQ8WOjEWGsi6eSy8eqV/fssWSs4veXt5VIkX6JzuW/oxFjM/5wlYyU+NDDwngfn
         OcQl64kHD9IY5RtCT3x2yMi9joZMGPIjb7y9USycg8XTm83NLXDd5jRKFKSHFBU8IkLV
         GkDMy6QrkTr9N+bq+WPZe4GSpaIjCDe4RD2RR8xrNGkcYUEbSXBsbrpTBHnuw9pPRQOj
         viEA==
X-Gm-Message-State: AOJu0Yy1F1TYSX3b0NHtWSuAi0cpahbvQeZJmdaxKZmAfFpHT1WAgjiP
	WjbJDLpTylMentonVE0KsEyavXhQsVlbNmExs/wN8/LTI9HnnKMMzW25hPN9
X-Google-Smtp-Source: AGHT+IG8sceugR+jYafGwjUSLrOZpBOsjUm5hfGUZZCkEVCwELdsm33t7ujhWc20qe82/1Y2jbn3Uw==
X-Received: by 2002:adf:ee50:0:b0:346:c746:289e with SMTP id w16-20020adfee50000000b00346c746289emr2566925wro.48.1713991336491;
        Wed, 24 Apr 2024 13:42:16 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w.benny@outlook.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>
Subject: [PATCH 2/7] x86/hap: Refactor boolean field assignments
Date: Wed, 24 Apr 2024 20:42:00 +0000
Message-Id: <8203e5e06e326ad320878439e5342f7f1acc685d.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713990376.git.w1benny@gmail.com>
References: <cover.1713990376.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w.benny@outlook.com>

No functional change.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 xen/arch/x86/mm/hap/hap.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index 9f964c1d87..d2011fde24 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -522,7 +522,7 @@ int hap_enable(struct domain *d, u32 mode)
                goto out;
         }
 
-        d->arch.altp2m_active = 0;
+        d->arch.altp2m_active = false;
     }
 
     /* Now let other users see the new mode */
@@ -585,7 +585,7 @@ void hap_teardown(struct domain *d, bool *preempted)
             for_each_vcpu ( d, v )
                 altp2m_vcpu_disable_ve(v);
 
-        d->arch.altp2m_active = 0;
+        d->arch.altp2m_active = false;
 
         FREE_XENHEAP_PAGE(d->arch.altp2m_eptp);
         FREE_XENHEAP_PAGE(d->arch.altp2m_visible_eptp);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711651.1111783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRZ-0004VY-2Q; Wed, 24 Apr 2024 20:42:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711651.1111783; Wed, 24 Apr 2024 20:42: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 1rzjRY-0004VR-VO; Wed, 24 Apr 2024 20:42:16 +0000
Received: by outflank-mailman (input) for mailman id 711651;
 Wed, 24 Apr 2024 20:42: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=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRY-0004VD-3n
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42:16 +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 220f9bda-027b-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 22:42:14 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-417f5268b12so2931075e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:14 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13:42: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: 220f9bda-027b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991334; x=1714596134; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bNif3eZYUBF7BnQ1Yw5FaGeiL/S3aKagQmr0I2wcHsM=;
        b=Y2b9qzWL2MJ/3Abwm59/U8BCH/32r/XgZc0ej7URKqcFouGFL+XZZtNeXht25HxjW3
         XmGEkuzTjsTAW9i4zsiek9cdx8oYe1zXIHkWTKkJQJeOwCobxa1cgCDEcvwuXajuwugd
         5IQEU5lfSw/dFRnGs6ZQKjX3RX24OqUgZeie4/psHI3apqUu5EyJH0iDGSXj3+wyZBWj
         XKyVNWjWMVMoxESendBtIHu/Ti92z896NuZ4eyvk4Jsfmti/tsPUlhuqVgpGDA284DBT
         z0xq38zLJs4P/0lTiaXN6gMrqn518NEffI/vN3lFUY+4vQUan5RtxRypRpR8+pmNiubo
         Js+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991334; x=1714596134;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bNif3eZYUBF7BnQ1Yw5FaGeiL/S3aKagQmr0I2wcHsM=;
        b=N/B3EEO8hAd0RymcOfT5aTl76yp7MxQeuBTNOU4K7Pg1MOlwi7TYZQHdvy7qryeg9/
         vYL9Wh5tqpBfjvVakUNd2YVG8Sl6wQu7v9wk2W/mzjyxtPZtihLTTkdLfshPAQLeZXaJ
         Xo6oQq8BaEJ9KceWEkgpoRX2kKfE0SpMfuSipouaShBfsibPTsxwinBC+YUapnZU2i+M
         QYDkqiK7F5EmtamDg1DUMqyk7fC/v8oT0ov7/w9crEkp6R8rXtxqk3sGRUlR5dmSSKcp
         ipY7VfSCoJUe5u0XS7rR9Y5IrbvTTYiXJaMu/43mSAZM88V9VVMxRnh+Q26jtYrzqN6G
         evRA==
X-Gm-Message-State: AOJu0YxiXgF5n5qsJDaIaKytxI3NJWEruB0inr7o97gph1hxPupcj7oi
	NePmh4h1isYlf3IpFvwNfORppR/IEM0Sqj6AKbJk83IVnOC/4pZE1LvmedoP
X-Google-Smtp-Source: AGHT+IEr1q6Hh6qsszswB55jxWD2BOHUU9L25Wm0Mrr0J5+StMuOuFvWwTlUvqoBvCcmp3IiMLAgWA==
X-Received: by 2002:a05:600c:1c1e:b0:418:f6b7:429a with SMTP id j30-20020a05600c1c1e00b00418f6b7429amr2721049wms.27.1713991334081;
        Wed, 24 Apr 2024 13:42:14 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 1/7] x86/p2m: Add braces for better code clarity
Date: Wed, 24 Apr 2024 20:41:59 +0000
Message-Id: <2e6e4f07b9e8f50ae65697c8644995aa4851cdac.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713990376.git.w1benny@gmail.com>
References: <cover.1713990376.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

No functional change.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 xen/arch/x86/mm/p2m.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index ce742c12e0..eb7996170d 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -106,6 +106,7 @@ void p2m_change_entry_type_global(struct domain *d,
         unsigned int i;
 
         for ( i = 0; i < MAX_ALTP2M; i++ )
+        {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
                 struct p2m_domain *altp2m = d->arch.altp2m_p2m[i];
@@ -114,6 +115,7 @@ void p2m_change_entry_type_global(struct domain *d,
                 change_entry_type_global(altp2m, ot, nt);
                 p2m_unlock(altp2m);
             }
+        }
     }
 
     p2m_unlock(hostp2m);
@@ -139,6 +141,7 @@ void p2m_memory_type_changed(struct domain *d)
         unsigned int i;
 
         for ( i = 0; i < MAX_ALTP2M; i++ )
+        {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
                 struct p2m_domain *altp2m = d->arch.altp2m_p2m[i];
@@ -147,6 +150,7 @@ void p2m_memory_type_changed(struct domain *d)
                 _memory_type_changed(altp2m);
                 p2m_unlock(altp2m);
             }
+        }
     }
 
     p2m_unlock(hostp2m);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711653.1111803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRc-000511-IG; Wed, 24 Apr 2024 20:42:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711653.1111803; Wed, 24 Apr 2024 20:42:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRc-00050p-ES; Wed, 24 Apr 2024 20:42:20 +0000
Received: by outflank-mailman (input) for mailman id 711653;
 Wed, 24 Apr 2024 20:42:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRb-0004VD-3q
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42: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 243981a5-027b-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 22:42:18 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-56e1baf0380so263663a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:18 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13:42: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: 243981a5-027b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991338; x=1714596138; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WAfYjJvPkpeUwPoknaRyn26fL3ELoKrAImMs8sUBNG8=;
        b=SOsPle97auYOjpzF2f51OdRJHUdYEudkOWf40mLxrmeBPlbqoTwO9wMocM9skXR4+s
         vgy3Xikp0LecJQmdssHUeyEaMjqWUe9VghU6OGoWB99cAF23xDxlF9f5qXE8ubEC8mvn
         i9Si9gesouI8rVBhO+4fTxgTfB30t/5hA0BsEZQmNhK8WgOR9yEJp9MBRdnqxD/EmXxz
         3d6/5lvAYbUxT/86pcc4RCF0POHpKiw1IpzYYIUFbNulZFiZIJmtEZl7Il5LggunTFbe
         pPDSvk1IJE5j8zsEPvn3O9Y76Cq+cxdKLEBQu0hVUkFcwF5odokLD2PnMRdjzGP9C7s8
         6ZxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991338; x=1714596138;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WAfYjJvPkpeUwPoknaRyn26fL3ELoKrAImMs8sUBNG8=;
        b=al8qx01C6QSWCJXjykHkY3ScD/WPmROcAIpd2cmcYSD2imsIlGfrbpqYGBq10kvPqI
         0Jd50+AK1TqhRLuKf30iJbpxIutybSUIqYMEk4ICBC1aGrwCPTZ76l+yHc9eMMoGINYZ
         RRiDO8Ucq9GLIfkYVFcAy1Nv1ZmAngee0qSFjZL1yaPSgWt5avEVSCk16IOAGtkThysC
         bEwTaIzhOtcePVxRufe9EeKIkT1iXFLBQxDoxReN0AlOLNnNd4wu/wkuQopJm2ZBeWU4
         AtU1ZGkoHmuv65KCCwQydMFPpq9sgWcKWrKA1dqgK+RHyo4z0GBiBl+AEWaW1bqA6b7t
         6ZNw==
X-Gm-Message-State: AOJu0YzwQ3b/hdqXoIUjuxcEB9OQDA348DVOnn6LPd4SFsH8Su0krGON
	IctiRuLkz1GwizDiCLns4edvBl23eYZTKcR9UYUgB/6LU0uP2fiXUk4MymZ3
X-Google-Smtp-Source: AGHT+IHFIqilA6ppmChvKbdGy65AZ1DtFc0sTUjMQj2t5Za1Zus3DuheSe6yl/lh8MmS4Ib8mN4lBw==
X-Received: by 2002:a17:906:7d2:b0:a55:adec:7139 with SMTP id m18-20020a17090607d200b00a55adec7139mr2282736ejc.60.1713991337459;
        Wed, 24 Apr 2024 13:42:17 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 3/7] tools/xl: Add max_altp2m parameter
Date: Wed, 24 Apr 2024 20:42:01 +0000
Message-Id: <67b5dd52435132d0fb65e7b301970e17e092fa87.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713990376.git.w1benny@gmail.com>
References: <cover.1713990376.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

Introduce a new max_altp2m parameter to control the maximum number of altp2m
views a domain can use. By default, if max_altp2m is unspecified and altp2m is
enabled, the value is set to 10, reflecting the legacy behavior.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 tools/golang/xenlight/helpers.gen.go | 2 ++
 tools/golang/xenlight/types.gen.go   | 1 +
 tools/include/libxl.h                | 8 ++++++++
 tools/libs/light/libxl_create.c      | 9 +++++++++
 tools/libs/light/libxl_types.idl     | 1 +
 tools/xl/xl_parse.c                  | 4 ++++
 xen/include/public/domctl.h          | 1 +
 7 files changed, 26 insertions(+)

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 78bdb08b15..4458d5bcbb 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1158,6 +1158,7 @@ if err := x.ArchX86.MsrRelaxed.fromC(&xc.arch_x86.msr_relaxed);err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
 x.Altp2M = Altp2MMode(xc.altp2m)
+x.MaxAltp2M = uint32(xc.max_altp2m)
 x.VmtraceBufKb = int(xc.vmtrace_buf_kb)
 if err := x.Vpmu.fromC(&xc.vpmu);err != nil {
 return fmt.Errorf("converting field Vpmu: %v", err)
@@ -1674,6 +1675,7 @@ if err := x.ArchX86.MsrRelaxed.toC(&xc.arch_x86.msr_relaxed); err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
 xc.altp2m = C.libxl_altp2m_mode(x.Altp2M)
+xc.max_altp2m = C.uint32_t(x.MaxAltp2M)
 xc.vmtrace_buf_kb = C.int(x.VmtraceBufKb)
 if err := x.Vpmu.toC(&xc.vpmu); err != nil {
 return fmt.Errorf("converting field Vpmu: %v", err)
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index ccfe18019e..7139bcf324 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -602,6 +602,7 @@ ArchX86 struct {
 MsrRelaxed Defbool
 }
 Altp2M Altp2MMode
+MaxAltp2M uint32
 VmtraceBufKb int
 Vpmu Defbool
 }
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 62cb07dea6..c73d9f2ff1 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1239,6 +1239,14 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_ALTP2M 1
 
+/*
+ * LIBXL_HAVE_MAX_ALTP2M
+ * If this is defined, then libxl supports setting the maximum number of
+ * alternate p2m tables.
+ */
+#define LIBXL_HAVE_MAX_ALTP2M 1
+#define LIBXL_MAX_ALTP2M_DEFAULT (~(uint32_t)0)
+
 /*
  * LIBXL_HAVE_REMUS
  * If this is defined, then libxl supports remus.
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 41252ec553..6ccc1fa158 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -483,6 +483,14 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         return -ERROR_INVAL;
     }
 
+    if (b_info->max_altp2m == LIBXL_MAX_ALTP2M_DEFAULT) {
+        if ((libxl_defbool_val(b_info->u.hvm.altp2m) ||
+            b_info->altp2m != LIBXL_ALTP2M_MODE_DISABLED))
+            b_info->max_altp2m = 10;
+        else
+            b_info->max_altp2m = 0;
+    }
+
     /* Assume that providing a bootloader user implies enabling restrict. */
     libxl_defbool_setdefault(&b_info->bootloader_restrict,
                              !!b_info->bootloader_user);
@@ -645,6 +653,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
             .ssidref = info->ssidref,
             .max_vcpus = b_info->max_vcpus,
             .max_evtchn_port = b_info->event_channels,
+            .max_altp2m = b_info->max_altp2m,
             .max_grant_frames = b_info->max_grant_frames,
             .max_maptrack_frames = b_info->max_maptrack_frames,
             .grant_opts = XEN_DOMCTL_GRANT_version(b_info->max_grant_version),
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 470122e768..c887d8ea8c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -728,6 +728,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     # Alternate p2m is not bound to any architecture or guest type, as it is
     # supported by x86 HVM and ARM support is planned.
     ("altp2m", libxl_altp2m_mode),
+    ("max_altp2m", uint32, {'init_val': 'LIBXL_MAX_ALTP2M_DEFAULT'}),
 
     # Size of preallocated vmtrace trace buffers (in KBYTES).
     # Use zero value to disable this feature.
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ab09d0288b..741668e10a 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2061,6 +2061,10 @@ void parse_config_data(const char *config_source,
         }
     }
 
+    if (!xlu_cfg_get_long(config, "max_altp2m", &l, 1)) {
+        b_info->max_altp2m = l;
+    }
+
     if (!xlu_cfg_get_long(config, "vmtrace_buf_kb", &l, 1) && l) {
         b_info->vmtrace_buf_kb = l;
     }
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b..7a34465c21 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -77,6 +77,7 @@ struct xen_domctl_createdomain {
      */
     uint32_t max_vcpus;
     uint32_t max_evtchn_port;
+    uint32_t max_altp2m;
     int32_t max_grant_frames;
     int32_t max_maptrack_frames;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711654.1111813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRd-0005Hj-Vh; Wed, 24 Apr 2024 20:42:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711654.1111813; Wed, 24 Apr 2024 20:42:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRd-0005HY-Rs; Wed, 24 Apr 2024 20:42:21 +0000
Received: by outflank-mailman (input) for mailman id 711654;
 Wed, 24 Apr 2024 20:42: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=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRc-0004VD-Ef
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42:20 +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 251980cc-027b-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 22:42:19 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-56e78970853so2487386a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:19 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13:42: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: 251980cc-027b-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991339; x=1714596139; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M5idciq4z6LmfOUeSzwtHh7qUWkne+GPf19nH7mQTjs=;
        b=g3VHQisNx417pAwj31P4qqfA4Acl5zqT5MZI48Y6LsE9QCs8YI/mLDunLl10GQoSZN
         eoaloQ7fUfEMoa+OFVXIGUX4WAQEQmJHz+AQxBTkdJYV8BAxdFYjLUGbOnLbgu62YXr6
         iqpcqH9+OxT2BuU6dYtnASn1dx0f9BVFbgFPTebYckCO9hwyPE/Ba5rvo5AGuzRJul14
         ZIovrZMdnvzJoEKwoJEPSGGp6KDDvdPHmuWJN3e9N/FvXUNWOGz4F262UanF7tgvetBS
         r1RlbGkfmtgeiwgN1AhFHnK5DEXpEbDHhxGfssmjNvT6zVv8Nwo48cNALsN+ZoE1R8fV
         GYZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991339; x=1714596139;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=M5idciq4z6LmfOUeSzwtHh7qUWkne+GPf19nH7mQTjs=;
        b=Mz6/dbHwpseCLzfM4f7Ca+5SqN0HWAs/iNe4lsOnFrIPzsgQp8AULYZjwkW+Y5YOJ3
         0plW6lhqnYhewolaKbyIR3HZ61kDPbSCfZtQvKXyX2R/VQ1zRTTJkrm+rTy/EKAz5+94
         868THtOtgECdbISyWsQgH1FJ2REQjJzbf1yKjIL2Y/bEeUqGYKLsxevgkviP2tGhfOho
         TkEsp7FbRiVfkXq6xcnLIO13a+avFfJyD9AHCRFA2yq8iEV1yt8yQem76H0a39ECKLEa
         kJFrRmRT9owWoQE5z4TGDZfNZPsI2eEWOA0r5ywiki7jA0mR/xdnbkoFgywja4B7Rfj/
         QJbQ==
X-Gm-Message-State: AOJu0YxFaRqld/54x06FYierzbvQV1/QOXg6nWj3W3NuGMCSlAySRgMr
	5cwJfTdJs1bgp+Sq3CpzRlQ9WsIcl+cETAqKjUG11iqJby2pzGDwVNvhnF/l
X-Google-Smtp-Source: AGHT+IGc5OS3C3WX6mjQ3IlpqklHm9dcEPH3m3Ih0O36UTGDKHDOCX4seUN5412zu60YzRbTWD88Cg==
X-Received: by 2002:a17:906:3716:b0:a55:43e5:3372 with SMTP id d22-20020a170906371600b00a5543e53372mr728923ejc.20.1713991339014;
        Wed, 24 Apr 2024 13:42:19 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 5/7] docs/man: Add max_altp2m parameter to the xl.cfg manual
Date: Wed, 24 Apr 2024 20:42:03 +0000
Message-Id: <4d631207d60c8c6e80348d0e1fa368b3270b9c9e.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713990376.git.w1benny@gmail.com>
References: <cover.1713990376.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

Update manual pages to include detailed information about the max_altp2m
configuration parameter.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 docs/man/xl.cfg.5.pod.in | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 8f2b375ce9..2d4ea35736 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2039,6 +2039,20 @@ a single guest HVM domain. B<This option is deprecated, use the option
 B<Note>: While the option "altp2mhvm" is deprecated, legacy applications for
 x86 systems will continue to work using it.
 
+=item B<max_altp2m=NUMBER>
+
+Specifies the maximum number of alternate-p2m views available to the guest.
+This setting is crucial in domain introspection scenarios that require
+multiple physical-to-machine (p2m) memory mappings to be established
+simultaneously.
+
+Enabling multiple p2m views may increase memory usage. It is advisable to
+review and adjust the B<shadow_memory> setting as necessary to accommodate
+the additional memory requirements.
+
+B<Note>: This option is ignored if B<altp2m> is disabled. The default value
+is 10.
+
 =item B<nestedhvm=BOOLEAN>
 
 Enable or disables guest access to hardware virtualisation features,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711655.1111818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRe-0005Kz-Cs; Wed, 24 Apr 2024 20:42:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711655.1111818; Wed, 24 Apr 2024 20:42:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRe-0005Jq-4u; Wed, 24 Apr 2024 20:42:22 +0000
Received: by outflank-mailman (input) for mailman id 711655;
 Wed, 24 Apr 2024 20:42: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=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRc-0004Gx-PB
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42:20 +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 24a80008-027b-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 22:42:19 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5176f217b7bso478571e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:19 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13:42: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: 24a80008-027b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991338; x=1714596138; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JBfj+N3t2vst9UyJVN7uxPweKAIqyhS3H5x3l711fQA=;
        b=FaQmwM4dEoP/C/LsjQC3XSB8pioFJGsZbYeyfkUxcZTIgw9Fo9a+w571AhvGDYYgnE
         dpgUTzxrFPhVIfdpYu7w0+Z9/uyxTdJeArITGG7g57/bHCVN4v69jXJ/z7lojVpHRWZ8
         buslYq6Azr8w/EBbv1CEPYulwn02NxHN0AnRCGLwWZHAHn2XsN68Hnh0+rC49v3r2l36
         CJgPfuOXP+i2QJ3PnR5hE/RLQzC73QoyYUv8kKipM9LJUqyz+HWkV/hsEfI1GDQSs+im
         0CBXlRGJIpb4YsY2BumeFs/V5dM57e7K7trQuQqmNj4sk5AIPjscOoRd53gYNagMbMX4
         iVfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991338; x=1714596138;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JBfj+N3t2vst9UyJVN7uxPweKAIqyhS3H5x3l711fQA=;
        b=CwITv0IxUF5rpq0u/If6q1rxAGJ81BfsV9LiwS3Nc8Ye2z9SKFhSq2yz/u0rEhnpLK
         IJz3Iiy5RMr7D4k4V2q6hXw1MdDc9EBM33+bzVbbHkKyOEybbooTmAK5uSKvICiLjuZk
         /injfihX0fyix/i0RmsfVwHxedIKM+ibcxzfju57juhoSs4MQCo3eX2WiG+J1NyqHUvM
         24tBKgrhGuTxY0mSer7AUmZ4IDtbSEANwrpFk7BtCJQIp5+nTmCnztJ9s4ePFp5RVltW
         rGsme1/Poyzw1yseUa+uoGnwJAWVLOQOeHNBpF50iEWiuiubl/jo+mCjjOVENeFWLCQ9
         jJbg==
X-Gm-Message-State: AOJu0Yy1JEqCaytKHAPJkeMiJH1ReLY+GEyGG2sBPZyMB3gIKMir3d9H
	ufIKS3YS3nQfQS+XsvkhZ+xFLIqxW61x/S/I+zK6LLV8ZqIBjjouMul+kL3q
X-Google-Smtp-Source: AGHT+IGl5czEozgynTrUnsTEFba8tXwOaOGTAjiGH8fJprif433sUaL3kFhMwC+ZGaHuYI3+LEqBgg==
X-Received: by 2002:a19:f813:0:b0:518:c82a:bdf9 with SMTP id a19-20020a19f813000000b00518c82abdf9mr2997959lff.44.1713991338189;
        Wed, 24 Apr 2024 13:42:18 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 4/7] tools/ocaml: Add max_altp2m parameter
Date: Wed, 24 Apr 2024 20:42:02 +0000
Message-Id: <9e9be821c2fe0ac4a7b66d652c10b2edbf5e42be.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713990376.git.w1benny@gmail.com>
References: <cover.1713990376.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

Allow developers using the OCaml bindings to set the max_altp2m parameter.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 tools/ocaml/libs/xc/xenctrl.ml      |  1 +
 tools/ocaml/libs/xc/xenctrl.mli     |  1 +
 tools/ocaml/libs/xc/xenctrl_stubs.c | 17 ++++++++++-------
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index 55923857ec..ed851bb071 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -82,6 +82,7 @@ type domctl_create_config =
     iommu_opts: domain_create_iommu_opts list;
     max_vcpus: int;
     max_evtchn_port: int;
+    max_altp2m: int;
     max_grant_frames: int;
     max_maptrack_frames: int;
     max_grant_version: int;
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 9b4b45db3a..971b269d85 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -74,6 +74,7 @@ type domctl_create_config = {
   iommu_opts: domain_create_iommu_opts list;
   max_vcpus: int;
   max_evtchn_port: int;
+  max_altp2m: int;
   max_grant_frames: int;
   max_maptrack_frames: int;
   max_grant_version: int;
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 2b6d3c09df..0b70cc9b08 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -207,12 +207,13 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 #define VAL_IOMMU_OPTS          Field(config, 3)
 #define VAL_MAX_VCPUS           Field(config, 4)
 #define VAL_MAX_EVTCHN_PORT     Field(config, 5)
-#define VAL_MAX_GRANT_FRAMES    Field(config, 6)
-#define VAL_MAX_MAPTRACK_FRAMES Field(config, 7)
-#define VAL_MAX_GRANT_VERSION   Field(config, 8)
-#define VAL_VMTRACE_BUF_KB      Field(config, 9)
-#define VAL_CPUPOOL_ID          Field(config, 10)
-#define VAL_ARCH                Field(config, 11)
+#define VAL_MAX_ALTP2M          Field(config, 6)
+#define VAL_MAX_GRANT_FRAMES    Field(config, 7)
+#define VAL_MAX_MAPTRACK_FRAMES Field(config, 8)
+#define VAL_MAX_GRANT_VERSION   Field(config, 9)
+#define VAL_VMTRACE_BUF_KB      Field(config, 10)
+#define VAL_CPUPOOL_ID          Field(config, 11)
+#define VAL_ARCH                Field(config, 12)
 
 	uint32_t domid = Int_val(wanted_domid);
 	uint64_t vmtrace_size = Int32_val(VAL_VMTRACE_BUF_KB);
@@ -226,6 +227,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 		.ssidref = Int32_val(VAL_SSIDREF),
 		.max_vcpus = Int_val(VAL_MAX_VCPUS),
 		.max_evtchn_port = Int_val(VAL_MAX_EVTCHN_PORT),
+		.max_altp2m = Int_val(VAL_MAX_ALTP2M),
 		.max_grant_frames = Int_val(VAL_MAX_GRANT_FRAMES),
 		.max_maptrack_frames = Int_val(VAL_MAX_MAPTRACK_FRAMES),
 		.grant_opts =
@@ -257,7 +259,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 #if defined(__i386__) || defined(__x86_64__)
 
 		/* Quick & dirty check for ABI changes. */
-		BUILD_BUG_ON(sizeof(cfg) != 64);
+		BUILD_BUG_ON(sizeof(cfg) != 68);
 
         /* Mnemonics for the named fields inside xen_x86_arch_domainconfig */
 #define VAL_EMUL_FLAGS          Field(arch_domconfig, 0)
@@ -291,6 +293,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 #undef VAL_MAX_GRANT_VERSION
 #undef VAL_MAX_MAPTRACK_FRAMES
 #undef VAL_MAX_GRANT_FRAMES
+#undef VAL_MAX_ALTP2M
 #undef VAL_MAX_EVTCHN_PORT
 #undef VAL_MAX_VCPUS
 #undef VAL_IOMMU_OPTS
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711656.1111832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRg-0005q1-JB; Wed, 24 Apr 2024 20:42:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711656.1111832; Wed, 24 Apr 2024 20:42:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRg-0005pq-Fn; Wed, 24 Apr 2024 20:42:24 +0000
Received: by outflank-mailman (input) for mailman id 711656;
 Wed, 24 Apr 2024 20: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=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRf-0004Gx-9Y
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42:23 +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 2616d243-027b-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 22:42:21 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a55b93f5540so37777166b.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:21 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13: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: 2616d243-027b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991341; x=1714596141; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VaVPevDI7mTli+wad6D33iRtuC6KkdRRxbwuuGTBCyg=;
        b=GK/4OYI1oYIA7Qk3oDJIQU1QQqXq5m0ybTuTGvCVgBLvyWcwcg+YfL+dNWFWcxaH6z
         tbjNiO1kd5AGwFEocDNtS1D3eFrJuusWc9MMhbSA+csNDKtbPBTfHLr2cgDRwGUpTMUB
         nUjQDFeVkhELrSFIsyuHyKWPniZYPszn7F4qtSBvMo2zPJeTtwWm+56sq5j8DWKphRwq
         HuOwJhDtPjoX71dUn5kURfPnlc6KEZL8jWh+R/AdWcQF5VsSPLLvhRoLuyQAzqsRk4r+
         8sHK/cGDtBe4DYZuQ9OEHaGZYRnuwC+qSjMu6gVLBvRYyC6Jvu/6/ZetnPflUhJ5ttRe
         U2vA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991341; x=1714596141;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VaVPevDI7mTli+wad6D33iRtuC6KkdRRxbwuuGTBCyg=;
        b=bNQnx7/X+yRrRPn6j6OMtG6hlEcp1SM8501BuzAoxabbZ7+dfU8ZPf+cQoaQ38R/xi
         ze9Gm6nSHKT104dqc6kfnSe/gyyXqOXsC5CkYWzsMciMo5b2/P8IrFfvqSoR/o1T8Z45
         FImViOB2IihXQOrSHvSjWXnMray72eAns3DDVJlqAdsVqxoqkA+Sw2GQU/1FPHDjSdN9
         vzQNRmpprVf/d1fBxdpQiOllc+eUqQeZm/kKpOWB+LQ5Ru9tVybuSHlC43HIrkCF0Six
         asLUtPlapb8iEKxaJiHi/tYEhqv5xpaCsuZKNK3XVmAIbqho7B2KcOPa485Rw1h3YA3L
         EVGA==
X-Gm-Message-State: AOJu0YwnJIjEbhequRVC9mLIOsgoor8dGOY/M7SbvEcODNEydrnAPHCW
	HS4/3iGvYn6jOujkxDgzZTCVAxKuXlVW0R4umfoZCE923ruwV+q0J+j6QRjl
X-Google-Smtp-Source: AGHT+IFCW5hMprZMfrpRZlKrrGduxFVWsVSJ+kjV7nV9wO4iON20FpRdnPsCE5jIa5xuH2VZFNAZJg==
X-Received: by 2002:a17:906:f2d8:b0:a55:b99d:74a7 with SMTP id gz24-20020a170906f2d800b00a55b99d74a7mr2373463ejb.11.1713991340822;
        Wed, 24 Apr 2024 13:42:20 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 7/7] x86/hap: Increase the number of initial mempool_size to 1024 pages
Date: Wed, 24 Apr 2024 20:42:05 +0000
Message-Id: <e0a05b3a6469219b0ef89844d63cac082b962b1c.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713990376.git.w1benny@gmail.com>
References: <cover.1713990376.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

This change anticipates scenarios where `max_altp2m` is set to its maximum
supported value (i.e., 512), ensuring sufficient memory is allocated upfront
to accommodate all altp2m tables without initialization failure.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 tools/tests/paging-mempool/test-paging-mempool.c | 2 +-
 xen/arch/x86/mm/hap/hap.c                        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/tests/paging-mempool/test-paging-mempool.c b/tools/tests/paging-mempool/test-paging-mempool.c
index 1ebc13455a..91b06fa0cf 100644
--- a/tools/tests/paging-mempool/test-paging-mempool.c
+++ b/tools/tests/paging-mempool/test-paging-mempool.c
@@ -35,7 +35,7 @@ static struct xen_domctl_createdomain create = {
 
 static uint64_t default_mempool_size_bytes =
 #if defined(__x86_64__) || defined(__i386__)
-    256 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. */
+    1024 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. */
 #elif defined (__arm__) || defined(__aarch64__)
     16 << 12;
 #endif
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index 7aff5fa664..fab7e256a4 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -468,7 +468,7 @@ int hap_enable(struct domain *d, u32 mode)
     if ( old_pages == 0 )
     {
         paging_lock(d);
-        rv = hap_set_allocation(d, 256, NULL);
+        rv = hap_set_allocation(d, 1024, NULL);
         if ( rv != 0 )
         {
             hap_set_allocation(d, 0, NULL);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 20:42:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 20:42:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711657.1111838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzjRh-0005tq-4B; Wed, 24 Apr 2024 20:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711657.1111838; Wed, 24 Apr 2024 20: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 1rzjRg-0005sO-RO; Wed, 24 Apr 2024 20:42:24 +0000
Received: by outflank-mailman (input) for mailman id 711657;
 Wed, 24 Apr 2024 20: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=Q5fc=L5=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzjRf-0004Gx-Gk
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 20:42: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 25be5100-027b-11ef-b4bb-af5377834399;
 Wed, 24 Apr 2024 22:42:21 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a55b78510bbso35536666b.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 13:42:21 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm8740067ejb.35.2024.04.24.13.42.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 24 Apr 2024 13:42: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: 25be5100-027b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1713991340; x=1714596140; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dmNQTA7PqXi42pL4/xj2JJ0wWnGzNEVC+OcN1zwb0qI=;
        b=CGtmcGlSiy39msAAEKGhE0Nays5/rNEKPp6rdkU78QYlGh2wT7d1MdpnflqfWuOAOt
         kfwrY+yaKrRBpAQiCQ9eZDu8f8ySMuvDRL9A3NJFhAOqJs66u4HVyp/8ms6N5TWNRUff
         OPDnf4K6/Tiuh0t5R6GGqfwWQiv3yGNMnKAr0XA0br1r2pqgroHLtocWLtTRaqBNBmi2
         KubD4cUmcg3i4YLVV0sMRaxM1nkjvVI/oLu62X94B4pn/uPvZfJCnvtUzqYVp+mJ7efu
         3toELr5xVOJxwGiEqiS/AQaHgocStEfrx4JvFBY/E9UUT+r7TebRfrJiK4elr8pxQg1Y
         of9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1713991340; x=1714596140;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dmNQTA7PqXi42pL4/xj2JJ0wWnGzNEVC+OcN1zwb0qI=;
        b=FJnr7CfnSt1+30n0SXv772MIV4RNEiuw0l3jaiDZP/cBgHitOsoZxmxsQNFjXNq920
         fvzBK2QO6AtjzzY8Ou0iPAsdEqgzeJVksS5WUG9W5Wl6yVVo0U2U5npR07m7k4SvIbJ5
         vir9X+NhA6TYz1i8aIF4Q5yAJVYIq/joq935Cf5vmgu3NYCNnn/AiggLYEW7BpmGKJm4
         Km41/LOV7Q3Mpfs/aTYrraxfQbZ+iakW5CeH/kdr9Im4inbn9IWs9nc6tBZdR6GZjxBd
         epWtInTp/aw8D+pDmffwFGisJrIv8i8h3dSK/DTygSps1tXfpvxNNekrRT0MhKbfb5Cd
         xqng==
X-Gm-Message-State: AOJu0Yxxc5ZTfLh3gWzUZf0agca7Zs3fx4KNehHk6FPeo/GeSaUm1m0B
	WDL1chrIH0cEbKEwQgxKbKcAT4Oorpa05/AgUKKT1r65BIY0NpwdM6f8ccnv
X-Google-Smtp-Source: AGHT+IH9M+Z1J3Yzu2Mbi3ilt/SmbQRdRKV44wCjFjm/CfAroqOoXJmZYT/DTBwF5sy5WfdYH6DzfQ==
X-Received: by 2002:a17:906:29cd:b0:a58:7dab:28a2 with SMTP id y13-20020a17090629cd00b00a587dab28a2mr2094556eje.48.1713991339964;
        Wed, 24 Apr 2024 13:42:19 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH 6/7] x86: Make the maximum number of altp2m views configurable
Date: Wed, 24 Apr 2024 20:42:04 +0000
Message-Id: <234ad6cfd6292a83ffdfaf99cda54a76b0018203.1713990376.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1713990376.git.w1benny@gmail.com>
References: <cover.1713990376.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

This commit introduces the ability to configure the maximum number of altp2m
tables during domain creation. Previously, the limits were hardcoded to a
maximum of 10. This change allows for greater flexibility in environments that
require more or fewer altp2m views.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 xen/arch/x86/domain.c             |  6 ++++
 xen/arch/x86/hvm/hvm.c            |  8 ++++-
 xen/arch/x86/hvm/vmx/vmx.c        |  2 +-
 xen/arch/x86/include/asm/domain.h |  7 ++---
 xen/arch/x86/include/asm/p2m.h    |  4 +--
 xen/arch/x86/mm/altp2m.c          | 27 +++++++++++++++--
 xen/arch/x86/mm/hap/hap.c         |  6 ++--
 xen/arch/x86/mm/mem_access.c      | 14 ++++-----
 xen/arch/x86/mm/mem_sharing.c     |  2 +-
 xen/arch/x86/mm/p2m-ept.c         |  6 ++--
 xen/arch/x86/mm/p2m.c             | 50 +++++++++++++++----------------
 xen/common/domain.c               |  7 +++++
 xen/include/xen/sched.h           |  2 ++
 13 files changed, 92 insertions(+), 49 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 4f851aa81f..95ae675ad0 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -679,6 +679,12 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    if ( config->max_altp2m > MAX_EPTP )
+    {
+        dprintk(XENLOG_INFO, "max_altp2m must be <= %u\n", MAX_EPTP);
+        return -EINVAL;
+    }
+
     if ( config->vmtrace_size )
     {
         unsigned int size = config->vmtrace_size;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0ce45b177c..9b70fe7cfc 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4633,6 +4633,12 @@ static int do_altp2m_op(
         goto out;
     }
 
+    if ( d->max_altp2m == 0 )
+    {
+        rc = -EINVAL;
+        goto out;
+    }
+
     if ( (rc = xsm_hvm_altp2mhvm_op(XSM_OTHER, d, mode, a.cmd)) )
         goto out;
 
@@ -5222,7 +5228,7 @@ void hvm_fast_singlestep(struct vcpu *v, uint16_t p2midx)
     if ( !hvm_is_singlestep_supported() )
         return;
 
-    if ( p2midx >= MAX_ALTP2M )
+    if ( p2midx >= v->domain->max_altp2m )
         return;
 
     v->arch.hvm.single_step = true;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 0935762378..eadde4dbcb 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4888,7 +4888,7 @@ bool asmlinkage vmx_vmenter_helper(const struct cpu_user_regs *regs)
         {
             unsigned int i;
 
-            for ( i = 0; i < MAX_ALTP2M; ++i )
+            for ( i = 0; i < currd->max_altp2m; ++i )
             {
                 if ( currd->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
                     continue;
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index f5daeb182b..5bb0bcae81 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -258,11 +258,10 @@ struct paging_vcpu {
     struct shadow_vcpu shadow;
 };
 
+#define INVALID_ALTP2M  0xffff
+#define MAX_EPTP        ((unsigned int)(PAGE_SIZE / sizeof(uint64_t)))
 #define MAX_NESTEDP2M 10
 
-#define MAX_ALTP2M      10 /* arbitrary */
-#define INVALID_ALTP2M  0xffff
-#define MAX_EPTP        (PAGE_SIZE / sizeof(uint64_t))
 struct p2m_domain;
 struct time_scale {
     int shift;
@@ -353,7 +352,7 @@ struct arch_domain
 
     /* altp2m: allow multiple copies of host p2m */
     bool altp2m_active;
-    struct p2m_domain *altp2m_p2m[MAX_ALTP2M];
+    struct p2m_domain **altp2m_p2m;
     mm_lock_t altp2m_list_lock;
     uint64_t *altp2m_eptp;
     uint64_t *altp2m_visible_eptp;
diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
index 111badf89a..2086bcb633 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -881,7 +881,7 @@ static inline struct p2m_domain *p2m_get_altp2m(struct vcpu *v)
     if ( index == INVALID_ALTP2M )
         return NULL;
 
-    BUG_ON(index >= MAX_ALTP2M);
+    BUG_ON(index >= v->domain->max_altp2m);
 
     return v->domain->arch.altp2m_p2m[index];
 }
@@ -891,7 +891,7 @@ static inline bool p2m_set_altp2m(struct vcpu *v, unsigned int idx)
 {
     struct p2m_domain *orig;
 
-    BUG_ON(idx >= MAX_ALTP2M);
+    BUG_ON(idx >= v->domain->max_altp2m);
 
     if ( idx == vcpu_altp2m(v).p2midx )
         return false;
diff --git a/xen/arch/x86/mm/altp2m.c b/xen/arch/x86/mm/altp2m.c
index a04297b646..c91e0fbfd1 100644
--- a/xen/arch/x86/mm/altp2m.c
+++ b/xen/arch/x86/mm/altp2m.c
@@ -13,6 +13,12 @@
 void
 altp2m_vcpu_initialise(struct vcpu *v)
 {
+    struct domain *d = v->domain;
+
+    /* Skip initialisation if no altp2m will be used. */
+    if ( d->max_altp2m == 0 )
+        return;
+
     if ( v != current )
         vcpu_pause(v);
 
@@ -28,8 +34,13 @@ altp2m_vcpu_initialise(struct vcpu *v)
 void
 altp2m_vcpu_destroy(struct vcpu *v)
 {
+    struct domain *d = v->domain;
     struct p2m_domain *p2m;
 
+    /* Skip destruction if no altp2m was used. */
+    if ( d->max_altp2m == 0 )
+        return;
+
     if ( v != current )
         vcpu_pause(v);
 
@@ -120,7 +131,13 @@ int p2m_init_altp2m(struct domain *d)
     struct p2m_domain *hostp2m = p2m_get_hostp2m(d);
 
     mm_lock_init(&d->arch.altp2m_list_lock);
-    for ( i = 0; i < MAX_ALTP2M; i++ )
+
+    if ( (d->arch.altp2m_p2m = xzalloc_array(struct p2m_domain *, d->max_altp2m)) == NULL )
+    {
+        return -ENOMEM;
+    }
+
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         d->arch.altp2m_p2m[i] = p2m = p2m_init_one(d);
         if ( p2m == NULL )
@@ -141,7 +158,10 @@ void p2m_teardown_altp2m(struct domain *d)
     unsigned int i;
     struct p2m_domain *p2m;
 
-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    if ( !d->arch.altp2m_p2m )
+        return;
+
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         if ( !d->arch.altp2m_p2m[i] )
             continue;
@@ -149,6 +169,9 @@ void p2m_teardown_altp2m(struct domain *d)
         d->arch.altp2m_p2m[i] = NULL;
         p2m_free_one(p2m);
     }
+
+    xfree(d->arch.altp2m_p2m);
+    d->arch.altp2m_p2m = NULL;
 }
 
 /*
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index d2011fde24..7aff5fa664 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -515,7 +515,7 @@ int hap_enable(struct domain *d, u32 mode)
             d->arch.altp2m_visible_eptp[i] = mfn_x(INVALID_MFN);
         }
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             rv = p2m_alloc_table(d->arch.altp2m_p2m[i]);
             if ( rv != 0 )
@@ -538,7 +538,7 @@ void hap_final_teardown(struct domain *d)
     unsigned int i;
 
     if ( hvm_altp2m_supported() )
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
             p2m_teardown(d->arch.altp2m_p2m[i], true, NULL);
 
     /* Destroy nestedp2m's first */
@@ -590,7 +590,7 @@ void hap_teardown(struct domain *d, bool *preempted)
         FREE_XENHEAP_PAGE(d->arch.altp2m_eptp);
         FREE_XENHEAP_PAGE(d->arch.altp2m_visible_eptp);
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             p2m_teardown(d->arch.altp2m_p2m[i], false, preempted);
             if ( preempted && *preempted )
diff --git a/xen/arch/x86/mm/mem_access.c b/xen/arch/x86/mm/mem_access.c
index 60a0cce68a..1bf40cb746 100644
--- a/xen/arch/x86/mm/mem_access.c
+++ b/xen/arch/x86/mm/mem_access.c
@@ -347,12 +347,12 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
     /* altp2m view 0 is treated as the hostp2m */
     if ( altp2m_idx )
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;
 
-        ap2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        ap2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }
 
     if ( !xenmem_access_to_p2m_access(p2m, access, &a) )
@@ -403,12 +403,12 @@ long p2m_set_mem_access_multi(struct domain *d,
     /* altp2m view 0 is treated as the hostp2m */
     if ( altp2m_idx )
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;
 
-        ap2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        ap2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }
 
     p2m_lock(p2m);
@@ -466,12 +466,12 @@ int p2m_get_mem_access(struct domain *d, gfn_t gfn, xenmem_access_t *access,
     }
     else if ( altp2m_idx ) /* altp2m view 0 is treated as the hostp2m */
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;
 
-        p2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        p2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }
 
     return _p2m_get_mem_access(p2m, gfn, access);
@@ -486,7 +486,7 @@ void arch_p2m_set_access_required(struct domain *d, bool access_required)
     if ( altp2m_active(d) )
     {
         unsigned int i;
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             struct p2m_domain *p2m = d->arch.altp2m_p2m[i];
 
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index da28266ef0..3aaf1a3b8d 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -912,7 +912,7 @@ static int nominate_page(struct domain *d, gfn_t gfn,
 
         altp2m_list_lock(d);
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             ap2m = d->arch.altp2m_p2m[i];
             if ( !ap2m )
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index f83610cb8c..6b75fafd49 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1293,7 +1293,7 @@ static void ept_set_ad_sync(struct domain *d, bool value)
     {
         unsigned int i;
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             struct p2m_domain *p2m;
 
@@ -1500,7 +1500,7 @@ void setup_ept_dump(void)
 
 void p2m_init_altp2m_ept(struct domain *d, unsigned int i)
 {
-    struct p2m_domain *p2m = array_access_nospec(d->arch.altp2m_p2m, i);
+    struct p2m_domain *p2m = d->arch.altp2m_p2m[array_index_nospec(i, d->max_altp2m)];
     struct p2m_domain *hostp2m = p2m_get_hostp2m(d);
     struct ept_data *ept;
 
@@ -1519,7 +1519,7 @@ unsigned int p2m_find_altp2m_by_eptp(struct domain *d, uint64_t eptp)
 
     altp2m_list_lock(d);
 
-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
             continue;
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index eb7996170d..a7144fc8e1 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -105,7 +105,7 @@ void p2m_change_entry_type_global(struct domain *d,
     {
         unsigned int i;
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -140,7 +140,7 @@ void p2m_memory_type_changed(struct domain *d)
     {
         unsigned int i;
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -913,7 +913,7 @@ void p2m_change_type_range(struct domain *d,
     {
         unsigned int i;
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -986,7 +986,7 @@ int p2m_finish_type_change(struct domain *d,
     {
         unsigned int i;
 
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -1780,7 +1780,7 @@ bool p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx)
     struct domain *d = v->domain;
     bool rc = false;
 
-    if ( idx >= MAX_ALTP2M )
+    if ( idx >= d->max_altp2m )
         return rc;
 
     altp2m_list_lock(d);
@@ -1886,8 +1886,8 @@ static void p2m_reset_altp2m(struct domain *d, unsigned int idx,
 {
     struct p2m_domain *p2m;
 
-    ASSERT(idx < MAX_ALTP2M);
-    p2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+    ASSERT(idx < d->max_altp2m);
+    p2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];
 
     p2m_lock(p2m);
 
@@ -1912,7 +1912,7 @@ void p2m_flush_altp2m(struct domain *d)
 
     altp2m_list_lock(d);
 
-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         p2m_reset_altp2m(d, i, ALTP2M_DEACTIVATE);
         d->arch.altp2m_eptp[i] = mfn_x(INVALID_MFN);
@@ -1928,9 +1928,9 @@ static int p2m_activate_altp2m(struct domain *d, unsigned int idx,
     struct p2m_domain *hostp2m, *p2m;
     int rc;
 
-    ASSERT(idx < MAX_ALTP2M);
+    ASSERT(idx < d->max_altp2m);
 
-    p2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+    p2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];
     hostp2m = p2m_get_hostp2m(d);
 
     p2m_lock(p2m);
@@ -1968,7 +1968,7 @@ int p2m_init_altp2m_by_id(struct domain *d, unsigned int idx)
     int rc = -EINVAL;
     struct p2m_domain *hostp2m = p2m_get_hostp2m(d);
 
-    if ( idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) )
+    if ( idx >= min(d->max_altp2m, MAX_EPTP) )
         return rc;
 
     altp2m_list_lock(d);
@@ -1995,7 +1995,7 @@ int p2m_init_next_altp2m(struct domain *d, uint16_t *idx,
 
     altp2m_list_lock(d);
 
-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             continue;
@@ -2017,7 +2017,7 @@ int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx)
     struct p2m_domain *p2m;
     int rc = -EBUSY;
 
-    if ( !idx || idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) )
+    if ( !idx || idx >= min(d->max_altp2m, MAX_EPTP) )
         return rc;
 
     rc = domain_pause_except_self(d);
@@ -2030,7 +2030,7 @@ int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx)
     if ( d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] !=
          mfn_x(INVALID_MFN) )
     {
-        p2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+        p2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];
 
         if ( !_atomic_read(p2m->active_vcpus) )
         {
@@ -2055,7 +2055,7 @@ int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx)
     struct vcpu *v;
     int rc = -EINVAL;
 
-    if ( idx >= MAX_ALTP2M )
+    if ( idx >= d->max_altp2m )
         return rc;
 
     rc = domain_pause_except_self(d);
@@ -2090,13 +2090,13 @@ int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
     mfn_t mfn;
     int rc = -EINVAL;
 
-    if ( idx >=  min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+    if ( idx >=  min(d->max_altp2m, MAX_EPTP) ||
          d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] ==
          mfn_x(INVALID_MFN) )
         return rc;
 
     hp2m = p2m_get_hostp2m(d);
-    ap2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+    ap2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];
 
     p2m_lock(hp2m);
     p2m_lock(ap2m);
@@ -2152,7 +2152,7 @@ int p2m_altp2m_propagate_change(struct domain *d, gfn_t gfn,
 
     altp2m_list_lock(d);
 
-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         p2m_type_t t;
         p2m_access_t a;
@@ -2175,7 +2175,7 @@ int p2m_altp2m_propagate_change(struct domain *d, gfn_t gfn,
             else
             {
                 /* At least 2 altp2m's impacted, so reset everything */
-                for ( i = 0; i < MAX_ALTP2M; i++ )
+                for ( i = 0; i < d->max_altp2m; i++ )
                 {
                     if ( i == last_reset_idx ||
                          d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
@@ -2575,12 +2575,12 @@ int p2m_set_suppress_ve_multi(struct domain *d,
 
     if ( sve->view > 0 )
     {
-        if ( sve->view >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( sve->view >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(sve->view, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;
 
-        p2m = ap2m = array_access_nospec(d->arch.altp2m_p2m, sve->view);
+        p2m = ap2m = d->arch.altp2m_p2m[array_index_nospec(sve->view, d->max_altp2m)];
     }
 
     p2m_lock(host_p2m);
@@ -2643,12 +2643,12 @@ int p2m_get_suppress_ve(struct domain *d, gfn_t gfn, bool *suppress_ve,
 
     if ( altp2m_idx > 0 )
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;
 
-        p2m = ap2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        p2m = ap2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }
     else
         p2m = host_p2m;
@@ -2679,9 +2679,9 @@ int p2m_set_altp2m_view_visibility(struct domain *d, unsigned int altp2m_idx,
 
     /*
      * Eptp index is correlated with altp2m index and should not exceed
-     * min(MAX_ALTP2M, MAX_EPTP).
+     * min(d->max_altp2m, MAX_EPTP).
      */
-    if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+    if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
          d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
          mfn_x(INVALID_MFN) )
         rc = -EINVAL;
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 6773f7fb90..18785cc22a 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -568,6 +568,12 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
         }
     }
 
+    if ( config->max_altp2m && !hvm_altp2m_supported() )
+    {
+        dprintk(XENLOG_INFO, "altp2m requested but not available\n");
+        return -EINVAL;
+    }
+
     if ( config->vmtrace_size && !vmtrace_available )
     {
         dprintk(XENLOG_INFO, "vmtrace requested but not available\n");
@@ -610,6 +616,7 @@ struct domain *domain_create(domid_t domid,
     if ( config )
     {
         d->options = config->flags;
+        d->max_altp2m = config->max_altp2m;
         d->vmtrace_size = config->vmtrace_size;
     }
 
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 132b841995..46436fcb0b 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -602,6 +602,8 @@ struct domain
         unsigned int guest_request_sync          : 1;
     } monitor;
 
+    unsigned int max_altp2m; /* Maximum number of altp2m tables */
+
     unsigned int vmtrace_size; /* Buffer size in bytes, or 0 to disable. */
 
 #ifdef CONFIG_ARGO
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Apr 24 21:34:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 21:34:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711691.1111853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzkG6-0002mP-4x; Wed, 24 Apr 2024 21:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711691.1111853; Wed, 24 Apr 2024 21:34:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzkG6-0002mI-1G; Wed, 24 Apr 2024 21:34:30 +0000
Received: by outflank-mailman (input) for mailman id 711691;
 Wed, 24 Apr 2024 21:34: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=uOBX=L5=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1rzkG4-0002l8-8U
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 21:34:28 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b416bbf-0282-11ef-909a-e314d9c70b13;
 Wed, 24 Apr 2024 23:34:25 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 171399445889192.37150311027006;
 Wed, 24 Apr 2024 14:34:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b416bbf-0282-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1713994460; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=GPsB64+RwGqNUgkfDJ/OcnRBZ6Gc9gI/J6e8OrE0Ef68AWWj8qf9evII4ggKHtO4wlMWf0d02z+rpnJzBQeTmNin91waOya953v1hjb+MNsAo51F0BYDWjKSVV+9GH6I6bUiIar0yT0X0thIqjjousGMHr3ps5XZEcodfo1pMTg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1713994460; 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=2k8RVogP7dx5rkFarQCu/NLm6n+smyW2lq6fEtmcn+c=; 
	b=VJV5PzOXrVxSK/KiNKOBfudYHdtcmPPDxcB56cEIlVE0+gZKpiGVq9vAntXxU2hyV8x5cgylHhS4K1BWqXed8y010oI1Y7E23tbrLzSTx3Vjps/5XEzSJ7+icp61uXuNTyeeMTe3+KasMadKpmYnI7gBC7k735iYWJuEpArrlm8=
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=1713994460;
	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=2k8RVogP7dx5rkFarQCu/NLm6n+smyW2lq6fEtmcn+c=;
	b=Tu4WpIc2qICx3buTweTUKdQMjoAkckb0E6L2P+Vlod/qRX2UdCB8nMWL/4tKGpNB
	RIrV+RPiSXhX9Iyw6I775qHpSe3ob6oxAQADqBQ0nyrWltPdmoaTc5wtxo5+EuF5qjK
	5sQZK367B4f9sUGvywCcBDOL1FnmltLATwWoEeBA=
Message-ID: <633b7f7a-f2b4-4e0d-9e1a-b3efecc6f755@apertussolutions.com>
Date: Wed, 24 Apr 2024 17:34:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/8] gzip: refactor the gunzip window into common state
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-4-dpsmith@apertussolutions.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20240424163422.23276-4-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/24/24 12:34, Daniel P. Smith wrote:
> Begin moving core state, in this case the gunzip window, into struct
> gunzip_state to allow a per decompression instance. In doing so, drop the
> define aliasing of window to slide.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>   xen/common/gzip/gunzip.c  | 21 ++++++++----
>   xen/common/gzip/inflate.c | 68 +++++++++++++++++++--------------------
>   2 files changed, 48 insertions(+), 41 deletions(-)
> 
> diff --git a/xen/common/gzip/gunzip.c b/xen/common/gzip/gunzip.c
> index b7cadadcca8b..e47f10ae19ad 100644
> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -4,10 +4,12 @@
>   #include <xen/lib.h>
>   #include <xen/mm.h>
>   
> -static unsigned char *__initdata window;
> -
>   #define WSIZE           0x80000000U
>   
> +struct gunzip_state {
> +    unsigned char *window;
> +};
> +
>   static unsigned char *__initdata inbuf;
>   static unsigned int __initdata insize;
>   
> @@ -43,7 +45,7 @@ typedef unsigned long   ulg;
>   #endif
>   
>   static long __initdata bytes_out;
> -static void flush_window(void);
> +static void flush_window(struct gunzip_state *s);
>   
>   static __init void error(const char *x)
>   {
> @@ -62,7 +64,7 @@ static __init uch get_byte(void) {
>   
>   #include "inflate.c"
>   
> -static __init void flush_window(void)
> +static __init void flush_window(struct gunzip_state *s)
>   {
>       /*
>        * The window is equal to the output buffer therefore only need to
> @@ -72,7 +74,7 @@ static __init void flush_window(void)
>       unsigned int n;
>       unsigned char *in, ch;
>   
> -    in = window;
> +    in = s->window;
>       for ( n = 0; n < outcnt; n++ )
>       {
>           ch = *in++;
> @@ -99,12 +101,17 @@ __init int gzip_check(char *image, unsigned long image_len)
>   
>   __init int perform_gunzip(char *output, char *image, unsigned long image_len)
>   {
> +    struct gunzip_state *s;
>       int rc;
>   
>       if ( !gzip_check(image, image_len) )
>           return 1;
>   
> -    window = (unsigned char *)output;
> +    s = (struct gunzip_state *)malloc(sizeof(struct gunzip_state));

Looks like I inadvertently dropped the corresponding free when breaking 
up the monolithic patch.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 21:56:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 21:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711696.1111863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzkb6-0007jC-Qk; Wed, 24 Apr 2024 21:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711696.1111863; Wed, 24 Apr 2024 21: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 1rzkb6-0007j5-Mb; Wed, 24 Apr 2024 21:56:12 +0000
Received: by outflank-mailman (input) for mailman id 711696;
 Wed, 24 Apr 2024 21:56: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 1rzkb5-0007iv-DV; Wed, 24 Apr 2024 21:56: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 1rzkb4-0003Tl-SI; Wed, 24 Apr 2024 21:56: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 1rzkb4-0006iI-Kl; Wed, 24 Apr 2024 21:56:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzkb4-0007Oy-KI; Wed, 24 Apr 2024 21:56: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=75/w1hRg6vBG6j0gOv8XPYYPSEx03JwnHimc9hn0IwY=; b=S+5R4kTVus3GEf5l9Ye7B/yKa0
	A2YJa0KsDkPIXIWNxBbDOmzGVzkMSA02FL7BUJzEtM5APCzyYozru12+ruHZAnGMKqXCylkOwiaYk
	x8/HesepoBHY+YlWJ3CxHO6nxS2eFonSGhyOmR6jYMzBj9eHt2ji02L35mCCRPbgLdvM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185788-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185788: 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=7846f7699fea25502061a05ea847e942ea624f12
X-Osstest-Versions-That:
    xen=6c04a0bf2c5824616c0bbc44bc4f07c64a5469be
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 24 Apr 2024 21:56:10 +0000

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

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                  7846f7699fea25502061a05ea847e942ea624f12
baseline version:
 xen                  6c04a0bf2c5824616c0bbc44bc4f07c64a5469be

Last test of basis   185787  2024-04-24 16:02:12 Z    0 days
Testing same since   185788  2024-04-24 19:04:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Luca Fancellu <luca.fancellu@arm.com>
  Penny Zheng <penny.zheng@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
   6c04a0bf2c..7846f7699f  7846f7699fea25502061a05ea847e942ea624f12 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 23:28:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 23:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711703.1111873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzm2W-0007NX-2I; Wed, 24 Apr 2024 23:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711703.1111873; Wed, 24 Apr 2024 23: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 1rzm2V-0007NQ-Vw; Wed, 24 Apr 2024 23:28:35 +0000
Received: by outflank-mailman (input) for mailman id 711703;
 Wed, 24 Apr 2024 23: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=Nv0e=L5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rzm2U-0007NK-VC
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 23:28:35 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5be60ca3-0292-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 01:28:32 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 04D12CE16BB;
 Wed, 24 Apr 2024 23:28:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9CB4DC113CD;
 Wed, 24 Apr 2024 23:28:23 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5be60ca3-0292-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714001304;
	bh=kXDE3jy3DUog0Nd03DFCRiMYCMsFBqcfR6n7vPbvOKg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SAZp5o7ch4uCRlcSn/4vXB4U8SOa+QAe6cxEO87BIU/ZIFzqVF8QwZmQSCDzjQgHd
	 SYVcn7lp/gTigBXtVIvsRJx56NB+prHUee/BN1J/Up+lsKvWroTPVPrvwMfuv5gQ7+
	 1idd6s5a7keqTegHr29S9tyDoRnpVFj9KbR0I21xQF2yeLMnkysx+Tl9P3nZvDAq+g
	 oGfYdSdZbhJuScQXL1044/+xdetUlLTWmqZeMR/0cKkFOW9NUXuOZvmYOxrtw8/DjL
	 ERx2lj36pvYkX3YW7HeUbpz9uqxjHTWrShimCnmopeJUxhbrnBlpCRagzGINAF0uue
	 dc9gSCID0WkAg==
Date: Wed, 24 Apr 2024 16:28:21 -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, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/3] automation: Drop some of the non-debug variants of
 the same Arm jobs
In-Reply-To: <20240423161121.138536-2-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2404241627390.3940@ubuntu-linux-20-04-desktop>
References: <20240423161121.138536-1-michal.orzel@amd.com> <20240423161121.138536-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 Tue, 23 Apr 2024, Michal Orzel wrote:
> To save some bandwith that can be later on used to increase the test
> coverage by adding new tests, drop the following non-debug test/build
> jobs existing in both debug and non-debug variants:
>  - static memory (arm64, arm32)
>  - static shared memory (arm64)
>  - static heap (arm64)
>  - boot cpupools (arm64)
>  - gzip (arm32)
> 
> More generic tests existing in both variants were left unmodified.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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


> ---
>  automation/gitlab-ci/build.yaml | 38 --------------------------
>  automation/gitlab-ci/test.yaml  | 48 ---------------------------------
>  2 files changed, 86 deletions(-)
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index aac29ee13ab6..f3c934471f32 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -392,16 +392,6 @@ debian-bookworm-gcc-arm32-debug-randconfig:
>      HYPERVISOR_ONLY: y
>      RANDCONFIG: y
>  
> -debian-bookworm-gcc-arm32-staticmem:
> -  extends: .gcc-arm32-cross-build
> -  variables:
> -    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
> -    HYPERVISOR_ONLY: y
> -    EXTRA_XEN_CONFIG: |
> -      CONFIG_EXPERT=y
> -      CONFIG_UNSUPPORTED=y
> -      CONFIG_STATIC_MEMORY=y
> -
>  debian-bookworm-gcc-arm32-debug-staticmem:
>    extends: .gcc-arm32-cross-build-debug
>    variables:
> @@ -458,15 +448,6 @@ alpine-3.18-gcc-debug-arm64-randconfig:
>      CONTAINER: alpine:3.18-arm64v8
>      RANDCONFIG: y
>  
> -alpine-3.18-gcc-arm64-staticmem:
> -  extends: .gcc-arm64-build
> -  variables:
> -    CONTAINER: alpine:3.18-arm64v8
> -    EXTRA_XEN_CONFIG: |
> -      CONFIG_EXPERT=y
> -      CONFIG_UNSUPPORTED=y
> -      CONFIG_STATIC_MEMORY=y
> -
>  alpine-3.18-gcc-debug-arm64-staticmem:
>    extends: .gcc-arm64-build-debug
>    variables:
> @@ -476,15 +457,6 @@ alpine-3.18-gcc-debug-arm64-staticmem:
>        CONFIG_UNSUPPORTED=y
>        CONFIG_STATIC_MEMORY=y
>  
> -alpine-3.18-gcc-arm64-static-shared-mem:
> -  extends: .gcc-arm64-build
> -  variables:
> -    CONTAINER: alpine:3.18-arm64v8
> -    EXTRA_XEN_CONFIG: |
> -      CONFIG_UNSUPPORTED=y
> -      CONFIG_STATIC_MEMORY=y
> -      CONFIG_STATIC_SHM=y
> -
>  alpine-3.18-gcc-debug-arm64-static-shared-mem:
>    extends: .gcc-arm64-build-debug
>    variables:
> @@ -494,16 +466,6 @@ alpine-3.18-gcc-debug-arm64-static-shared-mem:
>        CONFIG_STATIC_MEMORY=y
>        CONFIG_STATIC_SHM=y
>  
> -alpine-3.18-gcc-arm64-boot-cpupools:
> -  extends: .gcc-arm64-build
> -  variables:
> -    CONTAINER: alpine:3.18-arm64v8
> -    EXTRA_XEN_CONFIG: |
> -      CONFIG_EXPERT=y
> -      CONFIG_UNSUPPORTED=y
> -      CONFIG_SCHED_NULL=y
> -      CONFIG_BOOT_TIME_CPUPOOLS=y
> -
>  alpine-3.18-gcc-debug-arm64-boot-cpupools:
>    extends: .gcc-arm64-build-debug
>    variables:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 8b7b2e4da92d..55a7831ad292 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -255,14 +255,6 @@ qemu-smoke-dom0less-arm64-gcc-debug:
>      - *arm64-test-needs
>      - alpine-3.18-gcc-debug-arm64
>  
> -qemu-smoke-dom0less-arm64-gcc-staticmem:
> -  extends: .qemu-arm64
> -  script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | tee ${LOGFILE}
> -  needs:
> -    - *arm64-test-needs
> -    - alpine-3.18-gcc-arm64-staticmem
> -
>  qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
>    extends: .qemu-arm64
>    script:
> @@ -271,14 +263,6 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
>      - *arm64-test-needs
>      - alpine-3.18-gcc-debug-arm64-staticmem
>  
> -qemu-smoke-dom0less-arm64-gcc-staticheap:
> - extends: .qemu-arm64
> - script:
> -   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
> - needs:
> -   - *arm64-test-needs
> -   - alpine-3.18-gcc-arm64
> -
>  qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
>   extends: .qemu-arm64
>   script:
> @@ -287,14 +271,6 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
>     - *arm64-test-needs
>     - alpine-3.18-gcc-debug-arm64
>  
> -qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
> -  extends: .qemu-arm64
> -  script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
> -  needs:
> -    - *arm64-test-needs
> -    - alpine-3.18-gcc-arm64-static-shared-mem
> -
>  qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
>    extends: .qemu-arm64
>    script:
> @@ -303,14 +279,6 @@ qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
>      - *arm64-test-needs
>      - alpine-3.18-gcc-debug-arm64-static-shared-mem
>  
> -qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
> -  extends: .qemu-arm64
> -  script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | tee ${LOGFILE}
> -  needs:
> -    - *arm64-test-needs
> -    - alpine-3.18-gcc-arm64-boot-cpupools
> -
>  qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> @@ -359,14 +327,6 @@ qemu-smoke-dom0less-arm32-gcc-debug:
>      - *arm32-test-needs
>      - debian-bookworm-gcc-arm32-debug
>  
> -qemu-smoke-dom0less-arm32-gcc-staticmem:
> -  extends: .qemu-arm32
> -  script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | tee ${LOGFILE}
> -  needs:
> -    - *arm32-test-needs
> -    - debian-bookworm-gcc-arm32-staticmem
> -
>  qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
>    extends: .qemu-arm32
>    script:
> @@ -375,14 +335,6 @@ qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
>      - *arm32-test-needs
>      - debian-bookworm-gcc-arm32-debug-staticmem
>  
> -qemu-smoke-dom0less-arm32-gcc-gzip:
> -  extends: .qemu-arm32
> -  script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee ${LOGFILE}
> -  needs:
> -    - *arm32-test-needs
> -    - debian-bookworm-gcc-arm32
> -
>  qemu-smoke-dom0less-arm32-gcc-debug-gzip:
>    extends: .qemu-arm32
>    script:
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 23:51:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 23:51:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711708.1111882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzmOx-0003yb-Rg; Wed, 24 Apr 2024 23:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711708.1111882; Wed, 24 Apr 2024 23:51:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzmOx-0003yU-Oz; Wed, 24 Apr 2024 23:51:47 +0000
Received: by outflank-mailman (input) for mailman id 711708;
 Wed, 24 Apr 2024 23: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=Nv0e=L5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rzmOw-0003yO-Om
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 23:51:46 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99d217df-0295-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 01:51:44 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 011EECE17D7;
 Wed, 24 Apr 2024 23:51:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 940A8C113CD;
 Wed, 24 Apr 2024 23:51:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99d217df-0295-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714002697;
	bh=vlst9L3cLGdZWK5Q7beLf98lP8imeJGbGZtfMVZ5gDc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QgoQpj00PeORTmJpACgi8R8jlYI9FpTYk3QPqLsisfJMGqywRvnMlkEXdLnxm0q0W
	 sgjHcXMNU4Bk4JTQPEWl0xv0mlBN6VDVsjDdKu00CVahdQXnRv67akKkx1t/AZrjqE
	 g1rCnjldsOOQowcC0kZO/sfjTqHTYHW25SP4ISKLP13O4QsUqwlpXJTyppgUyQ1kh1
	 Qdm/H9EbtqSVKtlFQ0339y1mAn+W2T318lvV4jmM2dKmS7N5Z4u5TDdKRkrG/+B+/g
	 ul4QRYAr8gl/W/XS5d8Hu02E9EJyOrJWPXWe3ND5sDyx842HsVUzeiJ3z2Ygr1LbVm
	 UACkOnBWcoCHQ==
Date: Wed, 24 Apr 2024 16:51:34 -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, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 2/3] automation: Add arm{64,32} earlyprintk jobs
In-Reply-To: <20240423161121.138536-3-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2404241651280.3940@ubuntu-linux-20-04-desktop>
References: <20240423161121.138536-1-michal.orzel@amd.com> <20240423161121.138536-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 Tue, 23 Apr 2024, Michal Orzel wrote:
> Introduce qemu based Arm earlyprintk test and build jobs to cover this
> feature in debug variant. The tests simply check for the presence of the
> last message printed by the bootstrap code before entering the C world.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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


> ---
>  automation/gitlab-ci/build.yaml                 | 17 +++++++++++++++++
>  automation/gitlab-ci/test.yaml                  | 16 ++++++++++++++++
>  automation/scripts/qemu-smoke-dom0less-arm32.sh |  7 +++++++
>  automation/scripts/qemu-smoke-dom0less-arm64.sh |  5 +++++
>  4 files changed, 45 insertions(+)
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index f3c934471f32..49d6265ad5b4 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -402,6 +402,15 @@ debian-bookworm-gcc-arm32-debug-staticmem:
>        CONFIG_UNSUPPORTED=y
>        CONFIG_STATIC_MEMORY=y
>  
> +debian-bookworm-gcc-arm32-debug-earlyprintk:
> +  extends: .gcc-arm32-cross-build-debug
> +  variables:
> +    CONTAINER: debian:bookworm-arm64v8-arm32-gcc
> +    HYPERVISOR_ONLY: y
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_EARLY_UART_CHOICE_PL011=y
> +      CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000
> +
>  # Arm builds
>  
>  debian-bookworm-gcc-arm64:
> @@ -473,6 +482,14 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_BOOT_TIME_CPUPOOLS=y
>  
> +alpine-3.18-gcc-debug-arm64-earlyprintk:
> +  extends: .gcc-arm64-build-debug
> +  variables:
> +    CONTAINER: alpine:3.18-arm64v8
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_EARLY_UART_CHOICE_PL011=y
> +      CONFIG_EARLY_UART_BASE_ADDRESS=0x9000000
> +
>  # RISC-V 64 cross-build
>  .riscv-fixed-randconfig:
>    variables: &riscv-fixed-randconfig
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 55a7831ad292..1e5d86763f6c 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -287,6 +287,14 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
>      - *arm64-test-needs
>      - alpine-3.18-gcc-debug-arm64-boot-cpupools
>  
> +qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh earlyprintk 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.18-gcc-debug-arm64-earlyprintk
> +
>  qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
>    extends: .qemu-arm64
>    script:
> @@ -359,6 +367,14 @@ qemu-smoke-dom0less-arm32-gcc-debug-without-dom0:
>      - *arm32-test-needs
>      - debian-bookworm-gcc-arm32-debug
>  
> +qemu-smoke-dom0less-arm32-gcc-debug-earlyprintk:
> +  extends: .qemu-arm32
> +  script:
> +    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh earlyprintk 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm32-test-needs
> +    - debian-bookworm-gcc-arm32-debug-earlyprintk
> +
>  qemu-alpine-x86_64-gcc:
>    extends: .qemu-x86-64
>    script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh b/automation/scripts/qemu-smoke-dom0less-arm32.sh
> index e31b6b9014e1..1e2b939aadf7 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
> @@ -53,6 +53,13 @@ echo \"${passed}\"
>  "
>  fi
>  
> +if [[ "${test_variant}" == "earlyprintk" ]]; then
> +    # Clear dom0 prompt
> +    dom0_prompt=""
> +    # Last early printk message before entering C world
> +    passed="\- Ready \-"
> +fi
> +
>  # dom0/domU rootfs
>  # We are using the same rootfs for dom0 and domU. The only difference is
>  # that for the former, we set explictly rdinit to /bin/sh, whereas for the
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> index e748b8ef1699..fc943a1a622c 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> @@ -61,6 +61,11 @@ fi
>  "
>  fi
>  
> +if [[ "${test_variant}" == "earlyprintk" ]]; then
> +    # Last early printk message before entering C world
> +    passed="\- Ready \-"
> +fi
> +
>  # XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
>  curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
>  ./binaries/qemu-system-aarch64 \
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Apr 24 23:53:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 24 Apr 2024 23:53:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711711.1111892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzmQA-0004UJ-4V; Wed, 24 Apr 2024 23:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711711.1111892; Wed, 24 Apr 2024 23:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzmQA-0004UC-1u; Wed, 24 Apr 2024 23:53:02 +0000
Received: by outflank-mailman (input) for mailman id 711711;
 Wed, 24 Apr 2024 23:53:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nv0e=L5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rzmQ8-0004PI-FZ
 for xen-devel@lists.xenproject.org; Wed, 24 Apr 2024 23:53:00 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c65a6f49-0295-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 01:52: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 9D850613EF;
 Wed, 24 Apr 2024 23:52:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B5F43C113CD;
 Wed, 24 Apr 2024 23:52: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: c65a6f49-0295-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714002776;
	bh=Si0oPYrdfXWwamGfuE7rR6t81acbFybLl34/d5TSgUA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SnIuZW2D+xBRknweYEUf8oDr43/DW9+8EqhRC4mM4ifsX+x1MOwnVwF6ywWRDQ6BZ
	 E3wNNN/DMH08HhKoiskycsMLwwPvohrUW8Mp7ZUzlCsddFLXKU/59c2DHjY42xCBmn
	 vgclevDNDMtgd45v3ZHAJpswF5ppBQCzpzIRpcVYOyOLwtNzyjV2VfJOHxxjFaVHOk
	 BhUTMcNH5p1vfz60WKdPOzLlUw9rgwZmxJ3RDlWYYBhxKNbBHy225fT80+tzCfMGdG
	 kjmAg4YZugETPJ/h6eVfZvC7efxG0gyTqMrluRSeo3cuuEd8OzHoOVCS3TD/MdOSPz
	 adB5QJtjTKCNA==
Date: Wed, 24 Apr 2024 16:52:54 -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, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 3/3] automation: Add arm64 test for running Xen with
 GICv3
In-Reply-To: <20240423161121.138536-4-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2404241652480.3940@ubuntu-linux-20-04-desktop>
References: <20240423161121.138536-1-michal.orzel@amd.com> <20240423161121.138536-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 Tue, 23 Apr 2024, Michal Orzel wrote:
> At the moment, all the Arm64 Qemu tests use GICv2 which is the default
> GIC version used by Qemu. Improve the coverage by adding a new test in
> which Qemu will be configured to have GICv3.
> 
> Rename host device tree name to "virt.dtb" to be GIC version agnostic.
> Use "gic-version" Qemu option to select the version to use. Unless the
> test variant is set to "gicv3", version 2 will be used.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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


> ---
>  automation/gitlab-ci/test.yaml                |  8 ++++++++
>  .../scripts/qemu-smoke-dom0less-arm64.sh      | 19 ++++++++++++++-----
>  2 files changed, 22 insertions(+), 5 deletions(-)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 1e5d86763f6c..ad249fa0a5d9 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -255,6 +255,14 @@ qemu-smoke-dom0less-arm64-gcc-debug:
>      - *arm64-test-needs
>      - alpine-3.18-gcc-debug-arm64
>  
> +qemu-smoke-dom0less-arm64-gcc-debug-gicv3:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh gicv3 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.18-gcc-debug-arm64
> +
>  qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> index fc943a1a622c..292c38a56147 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> @@ -4,6 +4,9 @@ set -ex
>  
>  test_variant=$1
>  
> +# Default GIC version
> +gic_version="2"
> +
>  if [ -z "${test_variant}" ]; then
>      passed="ping test passed"
>      domU_check="
> @@ -66,16 +69,22 @@ if [[ "${test_variant}" == "earlyprintk" ]]; then
>      passed="\- Ready \-"
>  fi
>  
> +if [[ "${test_variant}" == "gicv3" ]]; then
> +    gic_version=3
> +    passed="${test_variant} test passed"
> +    domU_check="echo \"${passed}\""
> +fi
> +
>  # XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
>  curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
>  ./binaries/qemu-system-aarch64 \
>     -machine virtualization=true \
> -   -cpu cortex-a57 -machine type=virt \
> +   -cpu cortex-a57 -machine type=virt,gic-version=$gic_version \
>     -m 2048 -smp 2 -display none \
> -   -machine dumpdtb=binaries/virt-gicv2.dtb
> +   -machine dumpdtb=binaries/virt.dtb
>  
>  # XXX disable pl061 to avoid Linux crash
> -fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled
> +fdtput binaries/virt.dtb -p -t s /pl061@9030000 status disabled
>  
>  # Busybox
>  mkdir -p initrd
> @@ -138,7 +147,7 @@ cd ..
>  echo 'MEMORY_START="0x40000000"
>  MEMORY_END="0x50000000"
>  
> -DEVICE_TREE="virt-gicv2.dtb"
> +DEVICE_TREE="virt.dtb"
>  XEN="xen"
>  DOM0_KERNEL="Image"
>  DOM0_RAMDISK="dom0-rootfs.cpio.gz"
> @@ -200,7 +209,7 @@ echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
>  timeout -k 1 240 \
>  ./binaries/qemu-system-aarch64 \
>      -machine virtualization=true \
> -    -cpu cortex-a57 -machine type=virt \
> +    -cpu cortex-a57 -machine type=virt,gic-version=$gic_version \
>      -m 2048 -monitor none -serial stdio \
>      -smp 2 \
>      -no-reboot \
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 00:06:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 00:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711720.1111902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzmdD-0000AQ-74; Thu, 25 Apr 2024 00:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711720.1111902; Thu, 25 Apr 2024 00:06:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzmdD-0000AE-4K; Thu, 25 Apr 2024 00:06:31 +0000
Received: by outflank-mailman (input) for mailman id 711720;
 Thu, 25 Apr 2024 00:06: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rzmdB-0000A6-Ky
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 00:06: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 a8cc28c8-0297-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 02:06: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 1E6E16143A;
 Thu, 25 Apr 2024 00:06:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADE91C113CD;
 Thu, 25 Apr 2024 00:06: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: a8cc28c8-0297-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714003585;
	bh=kNRzu7mEYPbMSnn26HfowAtbk1T8BgAmY6OgCTxHq30=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nqHILPxRnU6waT8xKGCVnFbwEP09hBdyhfYbiprTuExXZjHrQlmKb6fFPiHOjYPmT
	 Eyv9u5YEGfAjXGAVNldDY7kHuZQRwnVriQheVUt4mp/HluVDrEDKRqPDlsyvPOnvvx
	 Eptv4QcjKcwWGrmGgCACD8UY6cQt4hNge/w+WqLdHZP8boZLlJdkByre0p9fGmN/Jv
	 fwRgChK+ijrJw416Jzit+ttX40J3LKDA7KrIVEsqhguEHUxrFd+C8D+me0JkxUOuRy
	 XQJFX8pQ7TMazXxdKNf+DVbTWHJeXWE+A74oyj/Mo26j6VDEMxw0o++qdsdMv6jlvY
	 oxMXueeQw3+lQ==
Date: Wed, 24 Apr 2024 17:06:22 -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>, 
    Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Subject: Re: [XEN PATCH] automation/eclair: reorganize pipelines
In-Reply-To: <fe1fe9c964d1f2ba3cb46cbaf798cf698f341386.1713885065.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404241704430.3940@ubuntu-linux-20-04-desktop>
References: <fe1fe9c964d1f2ba3cb46cbaf798cf698f341386.1713885065.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, 23 Apr 2024, Federico Serafini wrote:
> From: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> Introduce accepted_guidelines.sh: a script to autogenerate the
> configuration file accepted.ecl from docs/misra/rules.rst which enables
> all accepted guidelines.
> 
> Introduce monitored.ecl: a manual selection of accepted guidelines
> which are clean or almost clean, it is intended to be used for the
> analyses triggered by commits.
> 
> Reorganize tagging.ecl:
>   -Remove "accepted" tags: keeping track of accepted guidelines tagging
>    them as "accepted" in the configuration file tagging.ecl is no
>    longer needed since docs/rules.rst is keeping track of them.
>   -Tag more guidelines as clean.
> 
> Reorganize eclair pipelines:
>   - Set1, Set2, Set3 are now obsolete: remove the corresponding
>     pipelines and ecl files.
>   - Amend scheduled eclair pipeline to use accepted.ecl.
>   - Amend triggered eclair pipeline to use monitored.ecl.
> 
> Rename and improve action_check_clean_regressions.sh to print a
> diagnostic in case a commit introduces a violation of a clean guideline.
> 
> An example of diagnostic is the following:
> 
> Failure: 13 regressions found for clean guidelines
>   service MC3R1.R8.2: (required) Function types shall be in prototype form with named parameters:
>    violation: 13
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>

Fantastic work, thank you!

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

Is this patch safe to commit now? Or would it cause gitlab-ci breakage?

One question below.


> ---
>  automation/eclair_analysis/ECLAIR/Set2.ecl    | 25 -------
>  automation/eclair_analysis/ECLAIR/Set3.ecl    | 67 -------------------
>  .../ECLAIR/accepted_guidelines.sh             | 13 ++++
>  .../eclair_analysis/ECLAIR/action.helpers     |  3 +-
>  .../eclair_analysis/ECLAIR/action.settings    |  1 +
>  .../ECLAIR/action_check_clean_regressions.sh  | 38 +++++++++++
>  .../ECLAIR/action_clean_added.sh              | 36 ----------
>  automation/eclair_analysis/ECLAIR/analyze.sh  |  2 +-
>  .../eclair_analysis/ECLAIR/generate_ecl.sh    |  4 ++
>  .../ECLAIR/{Set1.ecl => monitored.ecl}        | 57 +++++++++++-----
>  automation/eclair_analysis/ECLAIR/tagging.ecl | 15 +----
>  automation/gitlab-ci/analyze.yaml             | 48 ++-----------
>  automation/scripts/eclair                     |  8 +--
>  13 files changed, 108 insertions(+), 209 deletions(-)
>  delete mode 100644 automation/eclair_analysis/ECLAIR/Set2.ecl
>  delete mode 100644 automation/eclair_analysis/ECLAIR/Set3.ecl
>  create mode 100755 automation/eclair_analysis/ECLAIR/accepted_guidelines.sh
>  create mode 100755 automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh
>  delete mode 100755 automation/eclair_analysis/ECLAIR/action_clean_added.sh
>  rename automation/eclair_analysis/ECLAIR/{Set1.ecl => monitored.ecl} (67%)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/Set2.ecl b/automation/eclair_analysis/ECLAIR/Set2.ecl
> deleted file mode 100644
> index 7608335cf4..0000000000
> --- a/automation/eclair_analysis/ECLAIR/Set2.ecl
> +++ /dev/null
> @@ -1,25 +0,0 @@
> --doc_begin="Set 2 of Xen MISRA C guidelines"
> --enable=MC3R1.R10.1
> --enable=MC3R1.R10.2
> --enable=MC3R1.R10.3
> --enable=MC3R1.R10.4
> --enable=MC3R1.R10.6
> --enable=MC3R1.R10.7
> --enable=MC3R1.R10.8
> --enable=MC3R1.R11.1
> --enable=MC3R1.R11.2
> --enable=MC3R1.R11.3
> --enable=MC3R1.R11.6
> --enable=MC3R1.R11.7
> --enable=MC3R1.R11.8
> --enable=MC3R1.R11.9
> --enable=MC3R1.R12.2
> --enable=MC3R1.R13.1
> --enable=MC3R1.R13.2
> --enable=MC3R1.R13.5
> --enable=MC3R1.R13.6
> --enable=MC3R1.R14.1
> --enable=MC3R1.R14.2
> --enable=MC3R1.R14.3
> --enable=MC3R1.R14.4
> --doc_end
> diff --git a/automation/eclair_analysis/ECLAIR/Set3.ecl b/automation/eclair_analysis/ECLAIR/Set3.ecl
> deleted file mode 100644
> index d2c2c4b21f..0000000000
> --- a/automation/eclair_analysis/ECLAIR/Set3.ecl
> +++ /dev/null
> @@ -1,67 +0,0 @@
> --doc_begin="Set 3 of Xen MISRA C guidelines"
> --enable=MC3R1.D4.12
> --enable=MC3R1.R5.5
> --enable=MC3R1.R5.7
> --enable=MC3R1.R5.8
> --enable=MC3R1.R15.2
> --enable=MC3R1.R15.3
> --enable=MC3R1.R15.6
> --enable=MC3R1.R15.7
> --enable=MC3R1.R16.1
> --enable=MC3R1.R16.2
> --enable=MC3R1.R16.3
> --enable=MC3R1.R16.4
> --enable=MC3R1.R16.5
> --enable=MC3R1.R16.6
> --enable=MC3R1.R16.7
> --enable=MC3R1.R17.1
> --enable=MC3R1.R17.2
> --enable=MC3R1.R17.5
> --enable=MC3R1.R17.7
> --enable=MC3R1.R18.1
> --enable=MC3R1.R18.2
> --enable=MC3R1.R18.3
> --enable=MC3R1.R18.6
> --enable=MC3R1.R18.7
> --enable=MC3R1.R18.8
> --enable=MC3R1.R20.2
> --enable=MC3R1.R20.3
> --enable=MC3R1.R20.4
> --enable=MC3R1.R20.6
> --enable=MC3R1.R20.7
> --enable=MC3R1.R20.8
> --enable=MC3R1.R20.9
> --enable=MC3R1.R20.11
> --enable=MC3R1.R20.12
> --enable=MC3R1.R20.13
> --enable=MC3R1.R20.14
> --enable=MC3R1.R21.1
> --enable=MC3R1.R21.2
> --enable=MC3R1.R21.3
> --enable=MC3R1.R21.4
> --enable=MC3R1.R21.5
> --enable=MC3R1.R21.6
> --enable=MC3R1.R21.7
> --enable=MC3R1.R21.8
> --enable=MC3R1.R21.9
> --enable=MC3R1.R21.10
> --enable=MC3R1.R21.12
> --enable=MC3R1.R21.14
> --enable=MC3R1.R21.15
> --enable=MC3R1.R21.16
> --enable=MC3R1.R22.1
> --enable=MC3R1.R22.3
> --enable=MC3R1.R22.7
> --enable=MC3R1.R22.8
> --enable=MC3R1.R22.9
> --enable=MC3R1.R22.10
> --enable=MC3R1.R2.6
> --enable=MC3R1.R4.2
> --doc_end
> -
> --doc_begin="Guidelines added with Xen MISRA C Task (a): Xen Coding Guidelines v1.1, June 1, 2023"
> --enable=MC3R1.R21.11
> --enable=MC3R1.D4.4
> --enable=MC3R1.R8.9
> --enable=MC3R1.R12.4
> --doc_end
> diff --git a/automation/eclair_analysis/ECLAIR/accepted_guidelines.sh b/automation/eclair_analysis/ECLAIR/accepted_guidelines.sh
> new file mode 100755
> index 0000000000..b308bd4cda
> --- /dev/null
> +++ b/automation/eclair_analysis/ECLAIR/accepted_guidelines.sh
> @@ -0,0 +1,13 @@
> +#!/bin/bash
> +# Stop immediately if any executed command has exit status different from 0.
> +set -eu
> +
> +script_dir="$(
> +  cd "$(dirname "$0")"
> +  echo "${PWD}"
> +)"
> +
> +accepted_rst=$1
> +
> +grep -Eo "\`(Dir|Rule) [0-9]+\.[0-9]+" ${accepted_rst} \
> +     | sed -e 's/`Rule /MC3R1.R/' -e  's/`Dir /MC3R1.D/' -e 's/.*/-enable=&/' > ${script_dir}/accepted.ecl
> diff --git a/automation/eclair_analysis/ECLAIR/action.helpers b/automation/eclair_analysis/ECLAIR/action.helpers
> index df9bf2bd11..9d4ae1f979 100644
> --- a/automation/eclair_analysis/ECLAIR/action.helpers
> +++ b/automation/eclair_analysis/ECLAIR/action.helpers
> @@ -127,7 +127,7 @@ EOF
>      fi
>      case ${ci} in
>      github)
> -        cat "${summaryTxt}" >"${GITHUB_STEP_SUMMARY}"
> +        cat "${summaryTxt}" "${cleanRegressionsLog}" >"${GITHUB_STEP_SUMMARY}"
>          ;;
>      gitlab)
>          open_section ECLAIR_summary "ECLAIR analysis summary" ""
> @@ -140,6 +140,7 @@ ${analysisSummaryMsgLog}
>  ${currentReportsMsgLog}
>  ${referenceReportsMsgLog}
>  EOF
> +        cat ${cleanRegressionsLog}
>          close_section ECLAIR_summary
>          ;;
>      jenkins)
> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
> index 3cba1a3afb..1577368b61 100644
> --- a/automation/eclair_analysis/ECLAIR/action.settings
> +++ b/automation/eclair_analysis/ECLAIR/action.settings
> @@ -175,6 +175,7 @@ eclairReportUrlPrefix=https://saas.eclairit.com:3787
>  
>  jobDir="${artifactsDir}/${subDir}/${jobId}"
>  updateLog="${analysisOutputDir}/update.log"
> +cleanRegressionsLog="${analysisOutputDir}/clean_regressions.log"
>  commentLog="${analysisOutputDir}/comment.json"
>  indexHtmlUrl="${eclairReportUrlPrefix}/fs${jobDir}/index.html"
>  summaryTxt="${analysisOutputDir}/summary.txt"
> diff --git a/automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh b/automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh
> new file mode 100755
> index 0000000000..31b90e5241
> --- /dev/null
> +++ b/automation/eclair_analysis/ECLAIR/action_check_clean_regressions.sh
> @@ -0,0 +1,38 @@
> +#!/bin/sh
> +
> +set -eu
> +
> +usage() {
> +    echo "Usage: $0 ANALYSIS_OUTPUT_DIR" >&2
> +    exit 2
> +}
> +
> +[ $# -eq 1 ] || usage
> +
> +analysisOutputDir=$1
> +
> +# Load settings and helpers
> +. "$(dirname "$0")/action.helpers"
> +. "$(dirname "$0")/action.settings"
> +
> +cleanRegressionsTxt=${analysisOutputDir}/clean_regressions.txt
> +
> +cleanRegressionCount=$("${ECLAIR_BIN_DIR}eclair_report" \
> +    "-db='${analysisOutputDir}/PROJECT.ecd'" \
> +    "-sel_unfixed=unfixed" \
> +    "-sel_tag_glob=violation_only,kind,violation" \
> +    "-sel_tag_glob=clean_added,clean,added" \
> +    "-report_counts_txt=service,'${cleanRegressionsTxt}'" \
> +    "-print='',reports_count()")
> +
> +if [ "${cleanRegressionCount}" -gt 0 ]; then
> +    {
> +        echo "Failure: ${cleanRegressionCount} regressions found for clean guidelines"
> +        sed -n '/^Number of.*$/,/^$/{ /^Number of.*$/! { /^$/! p } }' ${cleanRegressionsTxt}
> +    } > ${cleanRegressionsLog}
> +    rm ${cleanRegressionsTxt}
> +    exit 1
> +else
> +    echo "Success: No regressions for clean guidelines" > ${cleanRegressionsLog}
> +    rm ${cleanRegressionsTxt}
> +fi
> diff --git a/automation/eclair_analysis/ECLAIR/action_clean_added.sh b/automation/eclair_analysis/ECLAIR/action_clean_added.sh
> deleted file mode 100755
> index 59bc35fd13..0000000000
> --- a/automation/eclair_analysis/ECLAIR/action_clean_added.sh
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -#!/bin/sh
> -
> -set -eu
> -
> -usage() {
> -    echo "Usage: $0 ANALYSIS_OUTPUT_DIR" >&2
> -    exit 2
> -}
> -
> -[ $# -eq 1 ] || usage
> -
> -analysisOutputDir=$1
> -
> -cleanAddedTxt="${analysisOutputDir}/clean_added.log"
> -
> -# Load settings and helpers
> -. "$(dirname "$0")/action.helpers"
> -. "$(dirname "$0")/action.settings"
> -
> -unexpectedReports=$("${ECLAIR_BIN_DIR}eclair_report" \
> -    "-db='${analysisOutputDir}/PROJECT.ecd'" \
> -    "-sel_unfixed=unfixed" \
> -    "-sel_tag_glob=clean_added,clean,added" \
> -    "-print='',reports_count()")
> -
> -if [ "${unexpectedReports}" -gt 0 ]; then
> -    cat <<EOF >"${cleanAddedTxt}"
> -Failure: ${unexpectedReports} unexpected reports found.
> -Unexpected reports are tagged 'clean:added'.
> -EOF
> -    exit 1
> -else
> -    cat <<EOF >"${cleanAddedTxt}"
> -Success: No unexpected reports.
> -EOF
> -fi
> diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh b/automation/eclair_analysis/ECLAIR/analyze.sh
> index a127e7aaed..0ea5520c93 100755
> --- a/automation/eclair_analysis/ECLAIR/analyze.sh
> +++ b/automation/eclair_analysis/ECLAIR/analyze.sh
> @@ -52,7 +52,7 @@ VARIANT="${XEN_TARGET_ARCH}"
>  
>  # Used in analysis.ecl
>  case "$2" in
> -Set0|Set1|Set2|Set3)
> +accepted|monitored)
>    export SET="$2"
>    ;;
>  *)
> diff --git a/automation/eclair_analysis/ECLAIR/generate_ecl.sh b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> index de20728eb1..66766b23ab 100755
> --- a/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> +++ b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> @@ -10,6 +10,10 @@ script_dir="$(
>  )"
>  
>  exclude_list="${ECLAIR_PROJECT_ROOT}/docs/misra/exclude-list.json"
> +accepted_rst="${ECLAIR_PROJECT_ROOT}/docs/misra/rules.rst"
>  
>  # Generate the exclude list file
>  "${script_dir}/adopted.sh" "${exclude_list}"
> +
> +# Generate accepted guidelines
> +"${script_dir}/accepted_guidelines.sh" "${accepted_rst}"
> diff --git a/automation/eclair_analysis/ECLAIR/Set1.ecl b/automation/eclair_analysis/ECLAIR/monitored.ecl
> similarity index 67%
> rename from automation/eclair_analysis/ECLAIR/Set1.ecl
> rename to automation/eclair_analysis/ECLAIR/monitored.ecl
> index 86b8e7e772..69308ea51c 100644
> --- a/automation/eclair_analysis/ECLAIR/Set1.ecl
> +++ b/automation/eclair_analysis/ECLAIR/monitored.ecl
> @@ -1,36 +1,57 @@
> --doc_begin="Set 1 of Xen MISRA C guidelines"
> --enable=MC3R1.R9.1
> +-doc_begin="A set of guidelines that are clean or that only have few violations left."
> +-enable=MC3R1.D1.1
> +-enable=MC3R1.D2.1
> +-enable=MC3R1.D4.1
> +-enable=MC3R1.D4.10
> +-enable=MC3R1.D4.11
> +-enable=MC3R1.D4.12
> +-enable=MC3R1.D4.14
> +-enable=MC3R1.D4.3
> +-enable=MC3R1.D4.7
> +-enable=MC3R1.R10.1
> +-enable=MC3R1.R10.2
> +-enable=MC3R1.R1.1
> +-enable=MC3R1.R11.1
> +-enable=MC3R1.R11.7
> +-enable=MC3R1.R11.8
> +-enable=MC3R1.R11.9
>  -enable=MC3R1.R12.5
> +-enable=MC3R1.R1.3
> +-enable=MC3R1.R13.6
> +-enable=MC3R1.R1.4
> +-enable=MC3R1.R14.1
> +-enable=MC3R1.R14.4
> +-enable=MC3R1.R16.2
> +-enable=MC3R1.R16.6
> +-enable=MC3R1.R16.7
> +-enable=MC3R1.R17.1
>  -enable=MC3R1.R17.3
>  -enable=MC3R1.R17.4
> +-enable=MC3R1.R17.5
>  -enable=MC3R1.R17.6
>  -enable=MC3R1.R19.1
> +-enable=MC3R1.R20.12
> +-enable=MC3R1.R20.13
> +-enable=MC3R1.R20.14
> +-enable=MC3R1.R20.4
> +-enable=MC3R1.R20.9
> +-enable=MC3R1.R2.1
>  -enable=MC3R1.R21.13
>  -enable=MC3R1.R21.17
>  -enable=MC3R1.R21.18
>  -enable=MC3R1.R21.19
>  -enable=MC3R1.R21.20
>  -enable=MC3R1.R21.21
> +-enable=MC3R1.R2.2
>  -enable=MC3R1.R22.2
>  -enable=MC3R1.R22.4
>  -enable=MC3R1.R22.5
>  -enable=MC3R1.R22.6
> --enable=MC3R1.D1.1
> --enable=MC3R1.D2.1
> --enable=MC3R1.D4.1
> --enable=MC3R1.D4.3
> --enable=MC3R1.D4.7
> --enable=MC3R1.D4.10
> --enable=MC3R1.D4.11
> --enable=MC3R1.D4.14
> --enable=MC3R1.R1.1
> --enable=MC3R1.R1.3
> --enable=MC3R1.R1.4
> --enable=MC3R1.R2.1
> --enable=MC3R1.R2.2
> +-enable=MC3R1.R2.6
>  -enable=MC3R1.R3.1
>  -enable=MC3R1.R3.2
>  -enable=MC3R1.R4.1
> +-enable=MC3R1.R4.2
>  -enable=MC3R1.R5.1
>  -enable=MC3R1.R5.2
>  -enable=MC3R1.R5.3
> @@ -43,15 +64,15 @@
>  -enable=MC3R1.R7.3
>  -enable=MC3R1.R7.4
>  -enable=MC3R1.R8.1
> +-enable=MC3R1.R8.10
> +-enable=MC3R1.R8.12
> +-enable=MC3R1.R8.14
>  -enable=MC3R1.R8.2
>  -enable=MC3R1.R8.3
>  -enable=MC3R1.R8.4
>  -enable=MC3R1.R8.5
>  -enable=MC3R1.R8.6
>  -enable=MC3R1.R8.8
> --enable=MC3R1.R8.10
> --enable=MC3R1.R8.12
> --enable=MC3R1.R8.14
>  -enable=MC3R1.R9.2
>  -enable=MC3R1.R9.3
>  -enable=MC3R1.R9.4
> diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
> index a1dea32b21..d609b470eb 100644
> --- a/automation/eclair_analysis/ECLAIR/tagging.ecl
> +++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
> @@ -13,24 +13,13 @@
>  -doc="Hide reports marked as disapplied."
>  -remap_rtag={disapplied,hide}
>  
> -#######################
> -# Accepted guidelines #
> -#######################
> -
> --doc="Accepted guidelines as reported in XEN/docs/misra/rules.rst"
> --service_selector={accepted_guidelines,
> -    "MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.3||MC3R1.D4.7||MC3R1.D4.10||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.1||MC3R1.R2.2||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.3||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.2||MC3R1.R8.3||MC3R1.R8.4||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.1||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R10.1||MC3R1.R10.2||MC3R1.R10.3||MC3R1.R10.4||MC3R1.R11.7||MC3R1.R11.8||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R13.1||MC3R1.R13.5||MC3R1.R13.6||MC3R1.R14.1||MC3R1.R14.2||MC3R1.R14.3||MC3R1.R16.7||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R18.3||MC3R1.R19.1||MC3R1.R20.7||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R21.13||MC3R1.R21.17||MC3R1.R21.18||MC3R1.R21.19||MC3R1.R21.20||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
> -}
> --doc="All reports of accepted guidelines are tagged as accepted."
> --reports+={status:accepted,"service(accepted_guidelines)"}
> -
>  ####################
>  # Clean guidelines #
>  ####################
>  
>  -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
>  
> --service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.2||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R8.1||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.2||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R12.5||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
> +-service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R11.7||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R14.1||MC3R1.R16.7||MC3R1.R17.1||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.5||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R20.4||MC3R1.R20.9||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R2.2||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5"
>  }

Is this list different from monitored.ecl? If so, why? If not, maybe we
don't need to repeat the list here as well?


>  -setq=target,getenv("XEN_TARGET_ARCH")
> @@ -40,7 +29,7 @@ if(string_equal(target,"x86_64"),
>  )
>  
>  if(string_equal(target,"arm64"),
> -    service_selector({"additional_clean_guidelines","MC3R1.R5.3||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R8.6||MC3R1.R9.3"})
> +    service_selector({"additional_clean_guidelines","MC3R1.R16.6||MC3R1.R20.12||MC3R1.R2.1||MC3R1.R5.3||MC3R1.R7.2||MC3R1.R7.3||MC3R1.R8.6||MC3R1.R9.3"})
>  )
>  
>  -reports+={clean:added,"service(clean_guidelines_common||additional_clean_guidelines)"}
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index 6631db53fa..46c9d8e2e5 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -39,14 +39,14 @@ eclair-x86_64:
>    variables:
>      LOGFILE: "eclair-x86_64.log"
>      VARIANT: "X86_64"
> -    RULESET: "Set1"
> +    RULESET: "monitored"
>  
>  eclair-ARM64:
>    extends: .eclair-analysis:triggered
>    variables:
>      LOGFILE: "eclair-ARM64.log"
>      VARIANT: "ARM64"
> -    RULESET: "Set1"
> +    RULESET: "monitored"
>  
>  .eclair-analysis:on-schedule:
>    extends: .eclair-analysis
> @@ -55,56 +55,20 @@ eclair-ARM64:
>        when: never
>      - !reference [.eclair-analysis, rules]
>  
> -eclair-x86_64-Set1:on-schedule:
> +eclair-x86_64:on-schedule:
>    extends: .eclair-analysis:on-schedule
>    variables:
>      VARIANT: "X86_64"
> -    RULESET: "Set1"
> +    RULESET: "accepted"
>      ANALYSIS_KIND: "${RULESET}-scheduled"
>      LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
>    allow_failure: true
>  
> -eclair-x86_64-Set2:on-schedule:
> -  extends: .eclair-analysis:on-schedule
> -  variables:
> -    VARIANT: "X86_64"
> -    RULESET: "Set2"
> -    ANALYSIS_KIND: "${RULESET}-scheduled"
> -    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
> -  allow_failure: true
> -
> -eclair-x86_64-Set3:on-schedule:
> -  extends: .eclair-analysis:on-schedule
> -  variables:
> -    VARIANT: "X86_64"
> -    RULESET: "Set3"
> -    ANALYSIS_KIND: "${RULESET}-scheduled"
> -    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
> -  allow_failure: true
> -
> -eclair-ARM64-Set1:on-schedule:
> -  extends: .eclair-analysis:on-schedule
> -  variables:
> -    VARIANT: "ARM64"
> -    RULESET: "Set1"
> -    ANALYSIS_KIND: "${RULESET}-scheduled"
> -    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
> -  allow_failure: true
> -
> -eclair-ARM64-Set2:on-schedule:
> -  extends: .eclair-analysis:on-schedule
> -  variables:
> -    VARIANT: "ARM64"
> -    RULESET: "Set2"
> -    ANALYSIS_KIND: "${RULESET}-scheduled"
> -    LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
> -  allow_failure: true
> -
> -eclair-ARM64-Set3:on-schedule:
> +eclair-ARM64:on-schedule:
>    extends: .eclair-analysis:on-schedule
>    variables:
>      VARIANT: "ARM64"
> -    RULESET: "Set3"
> +    RULESET: "accepted"
>      ANALYSIS_KIND: "${RULESET}-scheduled"
>      LOGFILE: "eclair-${VARIANT}-${RULESET}.log"
>    allow_failure: true
> diff --git a/automation/scripts/eclair b/automation/scripts/eclair
> index 14e47a6f97..ebcaf09b54 100755
> --- a/automation/scripts/eclair
> +++ b/automation/scripts/eclair
> @@ -18,12 +18,8 @@ ex=0
>                               "${ex}"
>  [ "${ex}" = 0 ] || exit "${ex}"
>  
> -# Fail in case of new reports
> -"${ECLAIR_DIR}/action_clean_added.sh" "${ECLAIR_OUTPUT_DIR}" || ex=$?
> -"${ECLAIR_DIR}/action_log.sh" DIFF_CHECK_LOG \
> -                             "ECLAIR diff check" \
> -                             "${ECLAIR_OUTPUT_DIR}/clean_added.log" \
> -                             "${ex}"
> +# Fail in case of new reports for clean guidelines
> +"${ECLAIR_DIR}/action_check_clean_regressions.sh" "${ECLAIR_OUTPUT_DIR}" || ex=$?
>  
>  "${ECLAIR_DIR}/action_push.sh" "${WTOKEN}" "${ECLAIR_OUTPUT_DIR}"
>  [ "${ex}" = 0 ] || exit "${ex}"
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 00:29:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 00:29:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711728.1111925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzmyo-0004hR-48; Thu, 25 Apr 2024 00:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711728.1111925; Thu, 25 Apr 2024 00: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 1rzmyo-0004hK-0U; Thu, 25 Apr 2024 00:28:50 +0000
Received: by outflank-mailman (input) for mailman id 711728;
 Thu, 25 Apr 2024 00: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rzmym-0004gX-NS
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 00:28: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 c6bcd483-029a-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 02:28: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 E8E9561CFB;
 Thu, 25 Apr 2024 00:28:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7E7BC113CD;
 Thu, 25 Apr 2024 00:28: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: c6bcd483-029a-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714004924;
	bh=9p3cULF0i9B8R8G1TiYdFSZHFYlw0K+oiDbLPonmtZE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OQiqDDKtD2p2Lwb/wXpQs6PVRaByn34aFW7K8Ndo2ZlySte5f8ZbeeHc/Gre5piLz
	 QHWuY4MXSjEXxWDIoAUeFX/5NM/d1XPra9tu56ulTspMxUZz3PuPh66/MoAuA8ycXe
	 FcXhSrH2Nv9PS6BOYeuh20kRlfJgsW7IKXndoBIOQ4sWdabxx0Nb/C2nZzvl+wCm0z
	 puICd7cKHmEo0YkauQ4agGzkSDGFMGY5vgr5/YHqHoadSfeGsot4herfuknyUtjBIK
	 YeyV4lhGpU5pT8rPSqRgUfQOx+iRrwWNaXgA3DtoSCVBxYU5I4SAP3DsfHZXYZiSw7
	 EfJlWlHPg0ROg==
Date: Wed, 24 Apr 2024 17:28:40 -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, bertrand.marquis@arm.com, julien@xen.org, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH 03/10] automation/eclair_analysis: deviate macro
 count_args_ for MISRA Rule 20.7
In-Reply-To: <7de407c218f0911e28b7c3f609a55636165166a8.1713885065.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404241727520.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com> <7de407c218f0911e28b7c3f609a55636165166a8.1713885065.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, 23 Apr 2024, Nicola Vetrini wrote:
> The count_args_ macro violates Rule 20.7, but it can't be made
> compliant with Rule 20.7 without breaking its functionality. Since
> it's very unlikely for this macro to be misused, it is deviated.

That is OK but can't we use the SAF- framework to do it, given that it
is just one macro?

If not, this is also OK.


> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 6 ++++++
>  docs/misra/deviations.rst                        | 6 ++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index d21f112a9b94..c17e2f5a0886 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -445,6 +445,12 @@ not to parenthesize their arguments."
>  -config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(any_exp(macro(^alternative_(v)?call[0-9]$))))"}
>  -doc_end
>  
> +-doc_begin="The argument 'x' of the count_args_ macro can't be parenthesized as
> +the rule would require, without breaking the functionality of the macro. The uses
> +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="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 ed0c1e8ed0bf..e228ae2e715f 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -371,6 +371,12 @@ Deviations related to MISRA C:2012 Rules:
>         sanity checks in place.
>       - Tagged as `safe` for ECLAIR.
>  
> +   * - R20.7
> +     - The macro `count_args_` is not compliant with the rule, but is not likely
> +       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.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 Apr 25 00:42:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 00:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711733.1111934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznBv-000869-7s; Thu, 25 Apr 2024 00:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711733.1111934; Thu, 25 Apr 2024 00: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 1rznBv-000862-4O; Thu, 25 Apr 2024 00:42:23 +0000
Received: by outflank-mailman (input) for mailman id 711733;
 Thu, 25 Apr 2024 00: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1rznBt-00085u-T7
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 00:42: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 ab7d44b0-029c-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 02:42: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 1369560F02;
 Thu, 25 Apr 2024 00:42:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 68829C113CD;
 Thu, 25 Apr 2024 00:42: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: ab7d44b0-029c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714005737;
	bh=3WBQzeupVilEjh2JGQ3zP0drgQ/0P4z12xI1wL5NVLg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Mg0dNMcJ6QnxCZVOq26IvZcidnfW1L7DqFULJHA4FmTTAHLl8XMD1IIdsMWX3g09a
	 K84dJIcXuaAljZ4NX+QFPd4GKAHJ2Y3ul0P74IhEWPn4085gjGOBwdaqY3EfATFWeV
	 eOTrKkodSkwjT2F7FhzkRY5OYKnnePFYZD/Ws15PftjsARgdYJ0MiPwv5VKThbd/wL
	 XYnS+4S+Rzj1MOXv3vGhJG+QxZNYEVYUNLyJ5K4EtoOtma8PGnGQUdKM72vM6z+R+9
	 ZyaPYntdYQchuTRQiswvXpUFkORPN5MXlMcEqFQYJt4u2QxOif4swdUHaP7jS5qiOC
	 BspV8v97Sh9Rw==
Date: Wed, 24 Apr 2024 17:42:14 -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>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Subject: Re: docs/misra: add R21.6 R21.14 R21.15 R21.16
In-Reply-To: <12adc492-aad0-4971-b744-e6dee87630ac@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404241731290.3940@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404161227340.2257106@ubuntu-linux-20-04-desktop> <12adc492-aad0-4971-b744-e6dee87630ac@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, 18 Apr 2024, Jan Beulich wrote:
> On 16.04.2024 21:27, Stefano Stabellini wrote:
> > Also add two specific project-wide deviations for R21.6 and R21.15.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> > index 32b02905d1..9123c8edb5 100644
> > --- a/docs/misra/deviations.rst
> > +++ b/docs/misra/deviations.rst
> > @@ -387,6 +387,22 @@ Deviations related to MISRA C:2012 Rules:
> >         of the Rule due to uses of this macro.
> >       - Tagged as `deliberate` for ECLAIR.
> >  
> > +   * - R21.6
> > +     - The use of snprintf() and vsnprintf() is justifiable as, despite
> > +       the fact that such functions have the same names of the
> > +       corresponding standard library functions, each configuration of
> > +       Xen has a unique implementation for them; the code implementing
> > +       such functions is subject to the analysis, so that any undefined
> > +       or unspecified behavior associated to them falls under the
> > +       responsibility of other MISRA guidelines
> 
> Checking the Misra spec, I'm actually surprised a deviation is needed. The
> rule's rationale talks about streams and file I/O only. Why would the string
> formatting functions be covered then at all? They also don't have, afaik,
> any undefined or implementation defined behavior.

As discussed during the call, I'll add an explanatory note to rules.rst


> > +     - Tagged as `safe` for ECLAIR.
> > +
> > +   * - R21.15
> > +     - The use of void* arguments is justifiable as the rationale for
> > +       the rule is to indicate possible mistakes, and void* is
> > +       frequently used in Xen to represent virtual memory addresses
> 
> But that doesn't rule out mistakes. Are there actually examples in the
> code base?

If you are asking if there are any violations or bugs, I'll defer to the
Bugseng team.

 
> Additionally I wonder (a) whether the rule actually needs an exception

Yes my understanding is that a deviation is necessary from MISRA point
of view, and if nothing else it will serve as extra clarification.


> and thus (b) whether the deviation isn't instead for 21.16. As to (a) I
> understand the rule is worded slightly differently than what would
> strictly be needed to permit void*, but the general rule in C is that
> void* is compatible with all other pointers (suitably qualified as
> needed, of course) anyway.

Roberto and others, can you please confirm whether we need a deviation
on 21.16 as well for similar reasons to 21.15? I am asking because I
don't have any notes about requiring a deviation for 21.16 but I would
like to check with you.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 00:43:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 00:43:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711737.1111945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznCy-0000Dt-K4; Thu, 25 Apr 2024 00:43:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711737.1111945; Thu, 25 Apr 2024 00:43:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznCy-0000Dm-Go; Thu, 25 Apr 2024 00:43:28 +0000
Received: by outflank-mailman (input) for mailman id 711737;
 Thu, 25 Apr 2024 00:43: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=HNrt=L6=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rznCw-0000Dc-L0
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 00:43:26 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2416::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1b800b8-029c-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 02:43:24 +0200 (CEST)
Received: from SJ0PR03CA0207.namprd03.prod.outlook.com (2603:10b6:a03:2ef::32)
 by DM6PR12MB4331.namprd12.prod.outlook.com (2603:10b6:5:21a::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Thu, 25 Apr
 2024 00:43:20 +0000
Received: from SJ1PEPF00001CE8.namprd03.prod.outlook.com
 (2603:10b6:a03:2ef:cafe::9c) by SJ0PR03CA0207.outlook.office365.com
 (2603:10b6:a03:2ef::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Thu, 25 Apr 2024 00:43:20 +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.7519.19 via Frontend Transport; Thu, 25 Apr 2024 00:43:19 +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.35; Wed, 24 Apr
 2024 19:43:19 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 24 Apr 2024 19:43: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: d1b800b8-029c-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RjUDdMX6yRQ/3atrz8QXBsbgWog8M4GuXqQFi1hvlefZRUJ6gvLGlSloWkhF5BSuD6vFk0nKkhXQGF9B/RF5dLjDlpfO49dHb9PybIdXwtUa5Imp9eCo4CKtF6zbD8WPagw8ViTs2noW/7FM7GWjF/1HQUDDF6UVNXGMkmKqtqNDos//n3+hkT+3wui6n7tJZwWL9rbPOxQv2LnnqTHMJPEhVOMqW0rZBMxOMcPpoYaeVmUfsnnfZMPRfAqg3Fgium6HbE58f5Ihy7jbT400C5hSl3Bk/JW+64MQ/LZEpn4QhslEdJGAlYzR1lE+Ku4kLFBlJmdIRhuwVaZoKeYx4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vf+UpPWT9R0F1txmyoaz6x9cI+SS2KLqJDeA7s0ACrg=;
 b=kIbgbNb7ObnnWTeAAhpaO0xMM84+/Z7+wfvmUDOnFhiuvidiiN4mhj23YngeFGVtgA/P0m66IvbIGNK8VtndGRy1hZmzFwAbmLHSEAv1ZcNTLqmqOC5wCQkV96UWc+4HjtN3FMpvF87PJlcxLl0dSK/KaiW1pk9TGKYL1d67pVPkh6tJ+o5kStuzr0BGsHbPHMaN5oip5qbFiSW+6TtI4YpyzGPsbvxAYi9EsN0ASrZrasKzXUjdssEbPxf8P8hEQ3gn5KOb1+u4Uj37OsZCWS2B8a403IqdvSC7HGY5cja3wyO3KSdmN8s6d8XAx8XCMZQ/M2qxGsXmL+78mfZNfw==
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=vf+UpPWT9R0F1txmyoaz6x9cI+SS2KLqJDeA7s0ACrg=;
 b=mT5oEJxp+XP7CNGQ6cSZQQu+Dq7Hxh4HlTpNNOyVzs/MkjSLYTkI93IYCxPJ6AEa3AA6oOcj8CF0qmJlMtLfD+C+9wFALFCo2EY+YaZepUKNjUktU6KcniaWb3DL0nyQEPD4n4xM+iaj7fhyN8cI8YCWFuXGjJSM6WcwBfsRzlg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <0d94b108-63f5-454d-8204-7a01ba8bcb7f@amd.com>
Date: Thu, 25 Apr 2024 08:43:16 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/15] tools/helpers: Add get_overlay
To: Jan Beulich <jbeulich@suse.com>, Vikram Garhwal <fnu.vikram@xilinx.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-12-xin.wang2@amd.com>
 <c8228db9-6bb6-4115-9cc4-bcd8f49319e5@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <c8228db9-6bb6-4115-9cc4-bcd8f49319e5@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE8:EE_|DM6PR12MB4331:EE_
X-MS-Office365-Filtering-Correlation-Id: c9a09899-735e-4311-d7b2-08dc64c0b440
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|82310400014|1800799015|36860700004|376005;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RGVaRFNnbk16THo3NW9OUUJ3V1pkUi9ESFFYSGZHM1VGWXdxU3BwclhoN1Qr?=
 =?utf-8?B?ajc4U28wM1ZTc1NzZ3htRHpMbzl6QUlmUDJvS3gva0hMZXpaZlVFWmdOY2dk?=
 =?utf-8?B?Z0p5bzZZUm5OaHliRGdGdC9rT0NRN3VsaDZ2Q2RDNVhqZkZJeUhuMUpPVkZX?=
 =?utf-8?B?a0R6V09NOWN2YzRhZFRHL2VVOTY1eGlXWlRUNDJ6VXgzUTVralhmTDhBWmRM?=
 =?utf-8?B?aTIrd1VMZGpjcFRiYVIzZFgyVG5BbzZoZTlzWUlkMTlkam5lVE1QOXNWUzA1?=
 =?utf-8?B?bnRMMVVLZ293d0hYYnFmMkU0SkZQaDdCMHBlaGtpRkVxblBwL3RRd0U3d25t?=
 =?utf-8?B?V0NmSTEvUHlKRXNoZVIvZnpHakNtdnBsblZERjVGWkQzbzV3MFk2Q1Q3THZX?=
 =?utf-8?B?VkRxZUg5MGhNZXNqekY3VzdzbjZCR25xZU44TWo1dE4zWnd3TEtOYTJRaVJw?=
 =?utf-8?B?K000WEtRZkU0aXNNa0poc1cyT1NCOXp6UFBzdVpoWE9uNU5wQ3E5NFQ2a0ZS?=
 =?utf-8?B?VjlrNHB2TzRsWXVRRzFxWkx5QkZFL0RQRUNiL0l1Z2tTcDlLMmJOQndob2hp?=
 =?utf-8?B?SkxuN1RISldYZWs4NnVSZmtWczgxcGJsVEFrVHRMZ2ozUUY5b1FrVGxWVHgx?=
 =?utf-8?B?MWJIUC81MStRTi9YaE05clVKVEt4a3Q0bmx5eWxmaUUvMlVVTzVkM1I4N3Nz?=
 =?utf-8?B?cENRRzl6bk1NVFp5Wmlla3ZKRlc0YkFoUW5UN3lONmE4Wnh5RWlBQ2x2bVBv?=
 =?utf-8?B?ait2a3laYkIrQmV1K2VibTI5bVFTQnUyMDd6SjVjalIwSEV2ajdJcGdUZXZ6?=
 =?utf-8?B?L1p0UEpWQkx2U3dWZDR0UWM1emhWSzJhdDZXT2VnMlZOc3prdVBnMHVleVJr?=
 =?utf-8?B?VlQ0dWZleVNhRnBCVzJRUnFZN2VOV2IvVGV5anM1QUQ5N1lqa2xSRkd6dVVt?=
 =?utf-8?B?eUxvWEdMWnJRVVZabTR5RXdjcENpN1BndjJ6dldvOEtSaG82aWJZUUY5bktQ?=
 =?utf-8?B?QXpiTW5YbEM0MVdXK3ZCdGRVNnlHMlB6ZHd1aFJvRWM1WEZkeUJSbFR0QlBG?=
 =?utf-8?B?dyswNXFPNDFKblJUb0dYdndDMUNGSGF4a3NPYUJXNTdraTVpc1IxWm9vLzE2?=
 =?utf-8?B?aGIyWmZwNjd0c0E1YzdMbmdaeHFjSXd3b0ZaOWw3dWk5eXBlQlBWMEpTVjYr?=
 =?utf-8?B?S1hESGRTd1IwUGVkQk93dWpxcm1YbVZpbXhaSXAyYkYyaUdreWQ3TmNHRkxK?=
 =?utf-8?B?RGlFTFNpRzNUektBVjFjR3hBYks1R0hPc1hNZFJ2eFlSU2RRYnRGWDJuM1Ux?=
 =?utf-8?B?Y0VodUw4K285RGxpWG12L0Y1TFRjaVVQMHR4Y0RZOGhkWkp5eVloZnNOM1NT?=
 =?utf-8?B?MzZ6Z3BzWUlLMCtxOCt2b2NiSnlQcmFaYjZDOEd4LzF2T1ByaGxjTEFLby9D?=
 =?utf-8?B?RVBrd05GQ1ZlL2pLbjNyKzh0YjJrV21LeEl4SWR1KzlabkVSMjVia0FCUFpw?=
 =?utf-8?B?MWlyVCtHTWRLRUdua1Z6NHFVa2JxYVlmUDRsTzhwRFJUMy96elZuQWFSY3JX?=
 =?utf-8?B?NmVZdnE0dVBHMWFydk9DZG83OW9IUEUxUjRnSTRMQ1pIbUdneDJUalZZQnUy?=
 =?utf-8?B?YmFqdjVTZVhKd2JWRDZHUE4rMEFMNmV1bWt5S0phS3dJTVU1Zng2b0RIRVZO?=
 =?utf-8?B?VXc1MXZlcHk2b2Y4R0JoRVU4UTIyb1V4N0xDa1RlSU5FSEo5UDBSTWphcmJq?=
 =?utf-8?B?NFRzTUtrZXowTmF6Mm9jNHNaNUxtNG16ZDYwZFU5S3prWUl1ZnA3bkgwblZM?=
 =?utf-8?B?TlhsbTR0a1kvUy9WMjlVWkZ1cUk1bXNtMlQyL0JIMW5qK0tKNXZkSGZkQVEr?=
 =?utf-8?Q?a+t1cFPqE69kg?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(36860700004)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 00:43:19.9008
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c9a09899-735e-4311-d7b2-08dc64c0b440
X-MS-Exchange-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: DM6PR12MB4331

Hi Jan,

On 4/24/2024 2:08 PM, Jan Beulich wrote:
> On 24.04.2024 05:34, Henry Wang wrote:
>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>
>> This user level application copies the overlay dtbo shared by dom0 while doing
>> overlay node assignment operation. It uses xenstore to communicate with dom0.
>> More information on the protocol is writtien in docs/misc/overlay.txt file.
>>
>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>> ---
>>   tools/helpers/Makefile      |   8 +
>>   tools/helpers/get_overlay.c | 393 ++++++++++++++++++++++++++++++++++++
>>   2 files changed, 401 insertions(+)
>>   create mode 100644 tools/helpers/get_overlay.c
> As mentioned before on various occasions - new files preferably use dashes as
> separators in preference to underscores. You not doing so is particularly
> puzzling seeing ...
>
>> --- a/tools/helpers/Makefile
>> +++ b/tools/helpers/Makefile
>> @@ -12,6 +12,7 @@ TARGETS += init-xenstore-domain
>>   endif
>>   ifeq ($(CONFIG_ARM),y)
>>   TARGETS += init-dom0less
>> +TARGETS += get_overlay
> ... patch context here (demonstrating a whopping 3 dashes used in similar
> cases).

I am not very sure why Vikram used "_" in the original patch. However I 
agree you are correct. Since I am currently doing the follow up of this 
series, I will use "-" in v2 as suggested. Thanks.

Kind regards,
Henry

>
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 00:47:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 00:47:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711743.1111954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznGi-0001tc-2p; Thu, 25 Apr 2024 00:47:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711743.1111954; Thu, 25 Apr 2024 00: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 1rznGh-0001tV-Vz; Thu, 25 Apr 2024 00:47:19 +0000
Received: by outflank-mailman (input) for mailman id 711743;
 Thu, 25 Apr 2024 00:47:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HNrt=L6=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rznGh-0001tP-4G
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 00:47:19 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2407::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d1678d6-029d-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 02:47:17 +0200 (CEST)
Received: from MN2PR15CA0029.namprd15.prod.outlook.com (2603:10b6:208:1b4::42)
 by IA0PR12MB7698.namprd12.prod.outlook.com (2603:10b6:208:432::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23; Thu, 25 Apr
 2024 00:47:12 +0000
Received: from BL02EPF00021F68.namprd02.prod.outlook.com
 (2603:10b6:208:1b4:cafe::db) by MN2PR15CA0029.outlook.office365.com
 (2603:10b6:208:1b4::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.35 via Frontend
 Transport; Thu, 25 Apr 2024 00:47:12 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF00021F68.mail.protection.outlook.com (10.167.249.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Thu, 25 Apr 2024 00:47:12 +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.35; Wed, 24 Apr
 2024 19:47:12 -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.35; Wed, 24 Apr
 2024 19:47:12 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 24 Apr 2024 19:47:10 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d1678d6-029d-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hx4y0cQkck54QKHno4dd1Pk2XOXtOYYBQejMIh691pdW0twuveKe1VfByJErrEyTimksgDY3m8LXAeJLcdI0Q3n5FZBtkxj3DfoljMp6YiJQSkWDidW7U4P92gR6zyszQdk3QV0z344WMg/Vyeq/thBb/JcJuIccYUIRltGDzELZcjIK8nQdnVnlrXwPe5juRHV8SBaWqeXydJmpYsqdxX7JFZpcVHd/sHDn8ntVN10HgghzdmM5QrM5dRWyQnn32+2LQOkUPaEhZLo8NwFFrtmOUSK+MB+xQ8P3k78N88YFVTzO93puyNGtZcbHit8/WVee0W3uZgIGLK/lJwCyaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tFfv8RZhkPH7G7E1cYGaOOgJXaCMxjk0ijb44sCWv+E=;
 b=HAJZYZ9OxwQZCwQsaW2BQKZpSo0gnycuIyarCMbytbvjPWO67+NQ7bBccLM4ArW54gY4TGM2509QzXm1hidJA1x2+2uO26061tFcGiYNA9ZChOLbJhOfanxmJKOdulm/cWHxpIfFvI+g8Jl9ZcXr//y4V2S9MeeVECJRPTciTWvSeuAy5unkYFt5sM/q9BVRAk93xIHlJlCRt6FQow502MO1syDzHUJ4GjXxxpwgyeIKDNaR+BjAgMo3NrN9T+/vg70U8JU0ghyr81hzIDDjPQ3soCMG+vujVBtH09LXKnHrrYHsoI3zUjBWvs+DBCujiUo1GZC2qnTrrWUmuNsjIw==
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=tFfv8RZhkPH7G7E1cYGaOOgJXaCMxjk0ijb44sCWv+E=;
 b=R2kNXcREvpHsfowuzOehkMXt8PGE2KQ4wRA8fhOsNbeDxi05/cFXPXa2P2ixU/dNhKiLL6PsIX1BwVhOPTqbRJvY0bzt7gazJgKNBtBQbD+wtzq4swZ1SgHFmYfkr3I6Dfqtso8KB4MEt6chwuKsgXC321ahJdyYA5HRFsBCrHU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <6c486645-4ec2-425c-9694-5bb381cf4ecd@amd.com>
Date: Thu, 25 Apr 2024 08:47:09 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 06/15] rangeset: Move struct range and struct rangeset to
 headerfile
To: Jan Beulich <jbeulich@suse.com>, Vikram Garhwal <vikram.garhwal@amd.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-7-xin.wang2@amd.com>
 <5bb872fb-9973-4ed9-a463-1b1a873d4a46@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <5bb872fb-9973-4ed9-a463-1b1a873d4a46@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00021F68:EE_|IA0PR12MB7698:EE_
X-MS-Office365-Filtering-Correlation-Id: ac552022-4110-4721-47c0-08dc64c13ef2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|82310400014|1800799015|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WE9pNW5ENkdaTUlJZzJ5Q3FXWjVjNW54Y0hCU2k0WWU1bm9VWThQWHpMSWJB?=
 =?utf-8?B?UzhoQ0lNLzUrRVJFUW93bGVnOFZsVExDYmRZSUZwdWJrTEtCdUQrcEN5VUc4?=
 =?utf-8?B?c1FRUXZOQTlEK2w3TnhaNWFXeDF2M2pUVW1HWkY1cXpuYytqWWNJNW04bXpt?=
 =?utf-8?B?K1FQRVd4aWlJa21aZGNzMktZTjM2d0dkZWZma2NnaFRJVnAwckpMaEZRaWFz?=
 =?utf-8?B?M2FjT0VERlNRN2xvbkNib0dURDdQOGxZVGhLY2d2SDQ3VjlQQ1N1SzYzYkFp?=
 =?utf-8?B?Z2hXSU16bXgvdFFQOXlUb3FqeWFRQ2lKeTYwL0Rwd2FCWWo2Y29wdk9TZVpC?=
 =?utf-8?B?NXlld0I0VlI1bit2cWJvUHFyMUI1Q3YzUFdpa21Hb1JuTTkxRVVTWWlCb0NR?=
 =?utf-8?B?MTJkWWRMajBNNXNDdHYrMDNEdWE3VE5FTkNWQUlybUJyWTQ0TlRWZTFqYTdD?=
 =?utf-8?B?L3FoRjBSc1M5Z1FqMmlUb3NJbFR1SUVaeUJqbzRtSVRhRnc3WnZoQ3pkSGlD?=
 =?utf-8?B?TTg4NEYrVnpISFpQUitGTHFYMWJNd2JPN1ZCU28vQWVGR1hQRXJQUURTalB0?=
 =?utf-8?B?Z1p4RWUvVWdWQ2J6MXBYYW1FU3EzVElJSU1WbDg5WHJWNjBmcXpIRlE0MXNV?=
 =?utf-8?B?cXFvRncwWFNoYlZJQ1VZR0RWeHdteVJSaUFNUDVZUWJQUU1mQ1JKQVZ0UGlQ?=
 =?utf-8?B?VmxTeDV6OS85VzZYc3NpNUpQeDl4N2JOOFlwU1R2UnBjTlp5bmZ1ZjZ4U2lk?=
 =?utf-8?B?dEtWRHAxdWJSUTRQMHN0K1g3alBYSFZ3eldLVXNIMWZyU3FmQ0RWV29hWU1x?=
 =?utf-8?B?UUpKTWRrZ0ZPSW1lZXlSK05hZjBpcmRTMzA4ZGN1K3VjWHVoYzNFWkpvaHdU?=
 =?utf-8?B?c2lLc2c5ZGVVM1VMcWdQMGVzcHhPRjJoZ3pDVlNVSDFIRXVRQVRwRUVXMm9Q?=
 =?utf-8?B?TlpvZmpITHZJK3FURlllQ3l3ZHBkMjhiMHFlZE9ESVVHMVpiN3FBSU1qSFRa?=
 =?utf-8?B?RFdrSjNzYWcyTktNeForaW5uZ05lcnUwRWsrOXQ3REwrWnZZTHF1aEJYRkpK?=
 =?utf-8?B?LzNYeFpTbGcrWTdqY0lsZENmbG9rbW53S3NkejIyYUFwczhsMnc0V0NWYW9z?=
 =?utf-8?B?LzZQMUk2YmxJUDBLa0h1cVViQkFZOXltSHJnSzBreERHTGR6bVRYOWRZZlQ4?=
 =?utf-8?B?U1pnM0YzVGpCMWxremV4Uk9FUldWdkJNRVA3cDdrQ0Q1eU9uZGJaYklUNWhC?=
 =?utf-8?B?bkxkV1M2Y1dFTWpUR2FadnZjUlJiUFFjMlRoN2lETWhCTXdlWWVOQkJuR1Bj?=
 =?utf-8?B?RE9mbHVHbFRia3NINWY3U2t3a09lMHBRL1ZVL0RZQ1h3VmJiUlY4dGZBVnlk?=
 =?utf-8?B?TVFKREZOQlJiNnZiVWw2VlBNSTh2dkFDVEl6NjRqVDduQTY5bkd6R1dFQlho?=
 =?utf-8?B?R0ZneEZhWkRpbTJPbFNwNFBUVmVnY0w2RTg4dDBSR01JcE9Ja1VOOTJ5Sm9k?=
 =?utf-8?B?WFNlejlBRS9SSVJpaCtlZVJ1Q0hHTjdjUkpKbHluZ2xwbllQOHRLS2lFbWZZ?=
 =?utf-8?B?dEVRbTZRWkNScERaSVV1QTJ2VXo2SVlRV0tnRDFFeG5pL1B4amN0RFNJWE8v?=
 =?utf-8?B?T1F5YnV1RGpWa0dTTGYwUE1ldW00aHpHaEVPc1V3dXhtZWpabWhhclBSckdi?=
 =?utf-8?B?MGl2eCtJZ3NZb2lHVVp5djNNbXl1dDhYTUgyekYyRUwydkdnK3Y5U3E4OSti?=
 =?utf-8?B?RklhR2hpT2IwbTJQbHFIa2REbHhxa0lpSERWdjZIOHptR1psQ1VZZ3c1Q1B0?=
 =?utf-8?B?UE9hRm5IMFlBZVp0WUlHelE3d1I3dkN1QThFZmc3UTdCYTFhMUZmS1p4clhp?=
 =?utf-8?Q?t731sbuqSBMly?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(82310400014)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 00:47:12.6830
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ac552022-4110-4721-47c0-08dc64c13ef2
X-MS-Exchange-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:
	BL02EPF00021F68.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7698

Hi Jan,

On 4/24/2024 2:22 PM, Jan Beulich wrote:
> On 24.04.2024 05:34, Henry Wang wrote:
>> From: Vikram Garhwal <vikram.garhwal@amd.com>
>>
>> Move struct range, rangeset and removed static from first_range and next_range().
> NAK, for going against what we do elsewhere (limiting exposure of internals).
> At least as long as the justification isn't any better than ...
>
>> IRQs and IOMEMs for nodes are stored as rangeset in the dynamic node addition
>> part. While removing the nodes we need to access every IRQ and IOMEM ranges to
>> unmap IRQ and IOMEM from the domain.
> ... this. You're aware of rangeset_report_ranges() and rangeset_consume_ranges(),
> aren't you? If neither is suitable for your purpose, can you explain what you
> need in addition?

I understand your concern. I will check if I can refactor this patch 
using the suggested helpers. Thanks!

Kind regards,
Henry


>
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 00:54:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 00:54:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711746.1111965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznNI-0003m5-Q0; Thu, 25 Apr 2024 00:54:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711746.1111965; Thu, 25 Apr 2024 00:54:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznNI-0003ly-Ly; Thu, 25 Apr 2024 00:54:08 +0000
Received: by outflank-mailman (input) for mailman id 711746;
 Thu, 25 Apr 2024 00:54: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=HNrt=L6=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rznNH-0003ls-Jp
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 00:54:07 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5119a8d9-029e-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 02:54:06 +0200 (CEST)
Received: from DS7PR06CA0042.namprd06.prod.outlook.com (2603:10b6:8:54::23) by
 DM4PR12MB6591.namprd12.prod.outlook.com (2603:10b6:8:8e::13) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7472.46; Thu, 25 Apr 2024 00:54:02 +0000
Received: from DS3PEPF000099D5.namprd04.prod.outlook.com
 (2603:10b6:8:54:cafe::f1) by DS7PR06CA0042.outlook.office365.com
 (2603:10b6:8:54::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.35 via Frontend
 Transport; Thu, 25 Apr 2024 00:54:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099D5.mail.protection.outlook.com (10.167.17.6) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Thu, 25 Apr 2024 00:54:02 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Wed, 24 Apr
 2024 19:54:02 -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.35; Wed, 24 Apr
 2024 19:54:02 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 24 Apr 2024 19:54:00 -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: 5119a8d9-029e-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CFEYnwpzNSG3OUtIlF7Vax3ObPwI6Z7c140y+hM4FplrOIHjz7HNzKAE8svfB5zz4lKJtRUC15g2QRQYktw673mqjfm/TatlZOMh5joPFu/fa1txyctZ25Me7jwRWabtn2A0vKiN+pNNlKMt0h7VDJI5MO5i5jSQ3ERpoaODfBD70Ss9FDD4B0UBiteCuRjipB/ix3JlxIW7Q8a3Rkucgiqw4R0hohIVYLp1mkNUC8DJQat3IMtn00z7XzVOsAph9+pnsSJJVPQ7LVrybMGWoheRwFv1oDUnFKFx/Fnw0DGwNVXB1qd8ZaY0gmcBZi39EpvTdtOTUnWLhtn8VCYkLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MmZ4ClUD+R6nCod+fldRPcvrqL2Vg2CqlbBWdWc4NfU=;
 b=go0CIRiPw1SJ+bF5ZjiJ2JSy+D3H/QgeXAIx9Hd/HjPhlOucsD67qHZxXlX7AQ86yXAWXPn1VZTiB8iQ51bFcAc6WH2vIDnkIXAKCO52CIZKA2gektnm5KmgWC7nfbR53aiOuEYAMFgQ2/B+MTRUNBzexxhTAB5B7I7WsqVsYH9xihhAutFTa1Kguzenpjl8qINRNSDu/Mkul+KbzDQttCZUH+escHF17Bs3lhRydb8ddaOqxtN87Q6JP80z6/lOffyO6b9W3ezcpqYkpRzhV40nM0X5s8B5gmoOPoVwIRLA5StCDdWU2FLcqp4EvUC1LXFz3J5e+zyIL6BVArvQAg==
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=MmZ4ClUD+R6nCod+fldRPcvrqL2Vg2CqlbBWdWc4NfU=;
 b=Sj3smE72iQ4tnmsVwzuP2/rjyEzcEsJZ9Vwr5SVhtXBPk3mRhwO3+6xtYKWQdJQkvcrfsiTpxkvvr4FU6aJGcH+JBK8MkbnAeLyFb8qk6Cseq3X1EPcSSTVFagz14mLi6M4PjharyV8S/Pgve9ohwvL18BPM0LqyXTiqy1wNmF4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <8071fb8c-4df8-4905-b203-cc1119038675@amd.com>
Date: Thu, 25 Apr 2024 08:54:00 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/15] add a domU script to fetch overlays and applying
 them to linux
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-15-xin.wang2@amd.com>
 <bc2aab70-08c5-4dfe-91ab-c1c24163cd46@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <bc2aab70-08c5-4dfe-91ab-c1c24163cd46@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099D5:EE_|DM4PR12MB6591:EE_
X-MS-Office365-Filtering-Correlation-Id: cfa16370-1aaa-4f1e-993c-08dc64c23366
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WHdUdWNFNEtRd0lJYVcreW8zQlJXRllFSEJ5L0RReCtQVHVDbW9PQTNFWUUr?=
 =?utf-8?B?bGNTZU0xeVFSckswSXc2eEFBaVdVQkFKMkRuLzI2b1RaZWZkUUFYOWNqbkZY?=
 =?utf-8?B?MGhLaE5QM0kzdklaRk10QmZLbjR1aW5uU0tuWWlsRmJkbGdSeWRVN2FDY1pv?=
 =?utf-8?B?RTEzSEtxcnlJbERacWZJcnp1NnI1SVpWd3pjVDJQbW9PdFo3UVZuQ2F3TXZM?=
 =?utf-8?B?Y2RxT0tZMWhjMWppQ0YzZmNCYXJKc1hrVHU2NFdmTFBJdzNUaFpZb1RuTXBs?=
 =?utf-8?B?SGhieTFTenVXZnN3aWhlY0h5TlRlaGNtNGFDVmZ3MktveFQxKzJlZ2oyeGRJ?=
 =?utf-8?B?NVJjcEFDUXM5Q3Z0bmtURy9VVGkwSllIMkkydGo1V3NtMWg2Y1kyOUtXeXpT?=
 =?utf-8?B?S25ud0oxbDFCazhoOXJnVk5lb2ZYSjFpUmdGdnhiTXR2R3lIVmZqR1FsMDN6?=
 =?utf-8?B?MjZjeXF1NDd5UnJySWx0cUN6dS9NMnp6TDl1OGR5anNJdkNhd1I3eXRETDZI?=
 =?utf-8?B?djgzM21UWVJsM0ZaRzdHZzJOM3lNb0ZsYzU2YVdpdHZ3SEgyRDdsRis0Y1Rs?=
 =?utf-8?B?TEZvVlVTWXA2K1gwc1lzY1k3OWp4dk4zSTN6T0FUWklwM25xS20yam1Zc1V3?=
 =?utf-8?B?ZXhCNU81dkRzdzk4TDdNcFNjWDFMWXA3emZNNmhCd0JMWXVHaHFOUUtlUGpD?=
 =?utf-8?B?OE4wOFJvVXpHTDBNalpNSExseWhkOHZXdTlOeTlreDVDQTRHUlZuVmZVM2N3?=
 =?utf-8?B?TzYwN1gwK29DK242c2ZjMnVPKzBnNW15OTFyZ3NVNm84MkhrdXlZOXlURW9F?=
 =?utf-8?B?TWlLOU9KbzFBb0oydVRZMmgvZW9SSFhGYmV6VytsN01ndEluRmtlSnk2UXh2?=
 =?utf-8?B?N3ZyanFETVYyYzVoVWNUNFJXQmJZQUdESXF1YlM1ZlFveXk1UXlvN2lWZFZt?=
 =?utf-8?B?WHdocC8yeWJPRGlPVGp0Mm5mcTNCdXEyNGZZSXhPK3NlZGNjdEx4QVdpMlZN?=
 =?utf-8?B?LzBUTWgvd1JBRFNrOGNieWV2MXJlaWZFQ0RwTDNrc3BvSTNDdC9vWGRoNE5O?=
 =?utf-8?B?WmpZbWtpUDdDWlB6MXhadVdwVnIwTllIS2RibTJkYXBSbkdnUG9UUXcwT2NI?=
 =?utf-8?B?K092UksraXlIdkEvbEUxTXhzdnJiR3pqbXdqSGdLSnNUMUxlZytkRGNqTUxC?=
 =?utf-8?B?b1J3Zm9CbU5LZkpqOWtWenNaOHA1ZGJaTEc0dHJXbGIyL0hmQVYvYXFPSUVN?=
 =?utf-8?B?QkIzRVZqMHhOSDNVQ2RUcUtuTm1yQ0dFUkc1ZDFkdmttYlFkbC82enl4ZGJ2?=
 =?utf-8?B?KzdBVHgranRmWnNsY0pjQklDS2Rib00yaERpTDcwR3F0LzZaZnVlOWVUY1lv?=
 =?utf-8?B?ZGs5cWtzek0vSWhpMEFRbFkySnIvY1EzYzR1NHEyYlVvZVJ5KythU2VmMHRw?=
 =?utf-8?B?ZUtLYVhZR05hM1U2S0hzZVVraDBTcGJxZXZQS3BqRnlUQk9kM3c2WjBRay9k?=
 =?utf-8?B?d3dCZU80emp4dTJpTkFhSitUZlNmcklDVzJ4SHRXZFZ6WUxnUmdrUW9jZnFZ?=
 =?utf-8?B?YTJ0MVp5aVVTaFZQdWhiUWErcFVScThiWTBXbVpyL1lwdTRHVHY0K1lYamZR?=
 =?utf-8?B?bEVMbU00MjdpOEI2RlU2VmNUVmNmc1c5ai91bGh0b25CRm5hNVBwVnl5Vit5?=
 =?utf-8?B?N0p6TkxtOXVxQlFNUytneG9lc2tXRHZieWZrMldFcWc0bExXRGdCVWNuY1hG?=
 =?utf-8?B?SXdzTkYrcGc2bmErOE9EZ0haMWhLWmNHQlFKS0FqbHpKdWlEbHFRZkF4RHNW?=
 =?utf-8?B?MDFvdXJWek9FbThPSXJvSEJGRXVYbEJuRWpMdnZkRUg2K29uN0l6UDFTblJ5?=
 =?utf-8?Q?AQOGDcLHcW9N9?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 00:54:02.7625
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cfa16370-1aaa-4f1e-993c-08dc64c23366
X-MS-Exchange-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:
	DS3PEPF000099D5.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6591

Hi Jan,

On 4/24/2024 2:16 PM, Jan Beulich wrote:
> On 24.04.2024 05:34, Henry Wang wrote:
>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>
>> Introduce a shell script that runs in the background and calls
>> get_overlay to retrive overlays and add them (or remove them) to Linux
>> device tree (running as a domU).
>>
>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>> ---
>>   tools/helpers/Makefile       |  2 +-
>>   tools/helpers/get_overlay.sh | 81 ++++++++++++++++++++++++++++++++++++
>>   2 files changed, 82 insertions(+), 1 deletion(-)
>>   create mode 100755 tools/helpers/get_overlay.sh
> Besides the same naming issue as in the earlier patch, the script also
> looks very Linux-ish. Yet ...

I will fix the naming issue in v2. Would you mind elaborating a bit more 
about the "Linux-ish" concern? I guess this is because the original use 
case is on Linux, should I do anything about this?

>> --- a/tools/helpers/Makefile
>> +++ b/tools/helpers/Makefile
>> @@ -58,7 +58,6 @@ init-dom0less: $(INIT_DOM0LESS_OBJS)
>>   get_overlay: $(SHARE_OVERLAY_OBJS)
>>   	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenvchan) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxengnttab) $(APPEND_LDFLAGS)
>>   
>> -
>>   .PHONY: install
>>   install: all
>>   	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
>> @@ -67,6 +66,7 @@ install: all
>>   .PHONY: uninstall
>>   uninstall:
>>   	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
>> +	$(RM) $(DESTDIR)$(LIBEXEC_BIN)/get_overlay.sh
>>   
>>   .PHONY: clean
>>   clean:
> ... you touching only the uninstall target, it's not even clear to me
> how (and under what conditions) the script is going to make it into
> $(DESTDIR)$(LIBEXEC_BIN)/. Did you mean to add to $(TARGETS), perhaps,
> alongside the earlier added get-overlay binary?

You are right, I think the get-overlay binary and this script should be 
installed if DTB overlay is supported. Checking the code, I found 
LIBXL_HAVE_DT_OVERLAY which can indicate if we have this feature 
supported in libxl. Do you think it is a good idea to use it to install 
these two files in Makefile? Thanks.

Kind regards,
Henry

>
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 01:02:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 01:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711753.1111974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznVL-0004va-JV; Thu, 25 Apr 2024 01:02:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711753.1111974; Thu, 25 Apr 2024 01: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 1rznVL-0004vT-Gv; Thu, 25 Apr 2024 01:02:27 +0000
Received: by outflank-mailman (input) for mailman id 711753;
 Thu, 25 Apr 2024 01:02: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=HNrt=L6=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rznVK-0004vN-0Y
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 01:02:26 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2407::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79ebeb4e-029f-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 03:02:25 +0200 (CEST)
Received: from PH8PR20CA0024.namprd20.prod.outlook.com (2603:10b6:510:23c::19)
 by LV8PR12MB9264.namprd12.prod.outlook.com (2603:10b6:408:1e8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23; Thu, 25 Apr
 2024 01:02:22 +0000
Received: from CY4PEPF0000E9D0.namprd03.prod.outlook.com
 (2603:10b6:510:23c:cafe::1c) by PH8PR20CA0024.outlook.office365.com
 (2603:10b6:510:23c::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23 via Frontend
 Transport; Thu, 25 Apr 2024 01:02:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D0.mail.protection.outlook.com (10.167.241.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Thu, 25 Apr 2024 01:02:21 +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.35; Wed, 24 Apr
 2024 20:02:19 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Wed, 24 Apr 2024 20:02: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: 79ebeb4e-029f-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XdcClE37D9+/RPsLwTD7M7MKE4g7b2ELbZJIhEE2RnY9qPy0Yi8qRaXd0PvxFGDrrJzQ452+7pqOU/qgignYbIrmsY25iyikHHAsDbjo2Xtt9/3T30z6wQyGS1SesncIoPDeKVUhovYAX5XtaVh2IMVCn5nNC2gp7jfXX19f6RjqrfbGuzHMfaSjE2rAiX0CH0jCS9NvoA879axrq4nrrZh5SjGfCAk/VzSX+YrXhxt/ZDSxlYf59u6jgKjkWyFZqSrHRkx75FNTv7U5HviaiSq+bEMfe9BvyiwJzjqhlIs8/0YEmOFs8JVQyOvccGAl8BZVo5znwSm/trKtP1h5Ag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XsgmqaFZXQKMwMS2Vv/ByvyZpviQmVP6xXgrWBRj1G4=;
 b=gNK8cZrErClZPNMHexzfFKTq8mjYaf9Jsg1JYxk5ekiVjYvN4oxUg35nsbztw3iP3FhObEloVNsQ7Pe3EHo6d6NmznboM0e4/WcUNClfqIqnpBiXB4BxoTd4gPMMa90z1WtTTU5zOgV3ar36ojReYj32Ow0Jbx2JBMimQozMgliH4UTUgxOo00DQT+eFnwsz/7J/zDrLYiAbzwFgyopCG4PDHUwj7ovjXbqRB7LoKJzsTnmQOLp8UnA3MMzRAZGEQTDoBJs2Lma8WNdT1hXdPKjcZ7iEVDKuF1MWjQTA44UAWleB2gmP96v7yBA9ECfKr8Bp3GgMHw9xEmk258iiMQ==
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=XsgmqaFZXQKMwMS2Vv/ByvyZpviQmVP6xXgrWBRj1G4=;
 b=L4YLo18YRecpqQmsb8Jl/7u3zrkB52G52GHKdDRwasSSAfe8oCHsA2uSnkVMByq7GGUNTKjpQHIklvSODnAUqx4UwlsOYFjYcDyi+H2i/MlJT8UeK1tIj3FoB3bNFPt0eE1PmMCnF32h2JmxkY4hKeCIvmXSpwf5vXz+sTVqCIA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <00da7b6f-5712-44e5-8325-258dfdd0dfd3@amd.com>
Date: Thu, 25 Apr 2024 09:02:07 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/15] xen/arm: Always enable IOMMU
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>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-4-xin.wang2@amd.com>
 <fe0a39f3-f737-4df3-85bf-836b51fc8942@xen.org>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <fe0a39f3-f737-4df3-85bf-836b51fc8942@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D0:EE_|LV8PR12MB9264:EE_
X-MS-Office365-Filtering-Correlation-Id: a32164d4-dd69-4d16-57ba-08dc64c35c65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|36860700004|1800799015|82310400014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YUdMbi90TXIram9aeGV2eUlZUUt6Q3JtYS84Ynk5TkIwOENGNkJiTXhpdSto?=
 =?utf-8?B?dnRBNGVtTlpVTGd6RVhJbnVNTk9rZDNDYTBSdXI3Z1poQVAwOGU3S1M0VUpn?=
 =?utf-8?B?NjcyNklGRmx0cldpN3AwWEwwd3h3VU9VdXBiT3hkZ04xVFhvNFF2T0V5L0xt?=
 =?utf-8?B?UEh4VkNERW5qYVY5elRTVWhHdE9BKzB6SHFVWnE0NlBxY0V3S0lXUElmR2Rq?=
 =?utf-8?B?Mytid0g4MmQ4K2dQenc2OEx0WW9Jd3NRRk00V0daOUk4b1kxNkFGU2N6cEs0?=
 =?utf-8?B?ZzE0eFpEbTM5ZDg2VXpCRkIwMkdYaXhvckh1eS91U3NlTXh4NDhyaWV5RU5J?=
 =?utf-8?B?eHNVV2lLNHFmVkNkclkwMG5tRFdHS1prVE12WHZ2YmJZVVhQWFQ1TU1VTkN2?=
 =?utf-8?B?SU5PZC9qRFZhY3VUZzFoeFB5VGhVemx0aGxrN2pwNWRnOE9PYVlWL0NXOW1h?=
 =?utf-8?B?NWhBeWVZdWw0UE90eFNhMzhtNnRHK0dyQXlleVJtb0JkOHMvU0praGlMbWJR?=
 =?utf-8?B?OHI2aTNBV2xRVlFlOTJmK2VETHR4Smw2K1l3dGd0M2FJMGhmU1JNc2ora3RM?=
 =?utf-8?B?Z3lBVm5WRWFzbklQdlZ1aXAxODYvZUFSQ3Q3Z203S3lqbFR3WTRqKytRdncr?=
 =?utf-8?B?Y3RyUVZnQW81OVIyVkx5cXVhNURnVG1XQi9SWmFSWWF1R0MzQ3Fha2k0eHRU?=
 =?utf-8?B?OFpsODBvTXd4UHVYTmNHNEZsWTlwMEZBMGhaZjh6amQwcEJJTWl4aTRKYits?=
 =?utf-8?B?aHlyc2hVR0xwQldXalFOTXVoSCt6QVp0b0prQWNzci9wQXIxZmxBVW9ad1Uw?=
 =?utf-8?B?bmhJaEJYd3lhL0NLYkQzYTNnTDFQWFE2WVR6UzNONE9xSW9BVjdPM3BGOFA3?=
 =?utf-8?B?cUp4STFrU1FzYkk3WE5XL01WUjcrb0FySkZqSytVeGxwKzlzNFZqbElGd3c4?=
 =?utf-8?B?SFJtV2g1VXEyd0VxTUNFZmVHSTQwNjBJaktMN3gwcmZBR0J1a1U4b21scDdR?=
 =?utf-8?B?UXNoN2ZvVHVWTWVoekpiS0M2TlVuWTd1SDZWSkcyNG55S0c5RTF5QTFoM2sz?=
 =?utf-8?B?NDRwdEVqNGJRRWg3Z1NacFhZenVUUVBORWpQRzZ6NG1aaEttMHBFSkRNMUJY?=
 =?utf-8?B?cDdsdzIvbnduMmc2S0hLRVM5WEdaZVM3NkgxQU9hK1NSQmxISW5ZL1h6UEZl?=
 =?utf-8?B?bEhyZ2ZQTnhPRFVSelIvdE1UMHFJUE5sUStKWE9yNnc4dEUrNGVWb0h0Wkta?=
 =?utf-8?B?WW1DQUc0MUQ3cFpvZTV4bUh4NXgvRnl3ZFBzYUhUQ1RreHFLOTZoTGIyTGZI?=
 =?utf-8?B?eW43aFpIczhOMDlGZlRSbjVHa0ZoL0kwTXFqOVlZN3g3Qm8wZHFLZ2dySW9S?=
 =?utf-8?B?RFp3b09lS2VnTm9ZNitlSEc4NW5FSEZqNWc4dWhHaktDNWtSOWVHc1hQTWVm?=
 =?utf-8?B?a1pQdGhCK3habW5lZjhjTHhSY0lEQ015cWpoQWJ5T0N3YkNOYUhRemlMYzdv?=
 =?utf-8?B?blFhZENoMnYwd2FoYkd0TWhtWkVsS2RsMUQ0blFQK1lLRTRTb3c1ZXIxS01F?=
 =?utf-8?B?blA0TEdoeTJUemJSdDNYT3pNNm1wTnhvQ0E5MC8za1pWRGw1aEN5a1ZkamJ5?=
 =?utf-8?B?RG03Um11QUNxSnJuVGhQaWJBd1VQNmh1Nm5zVjZ3RGsydGxxQjJoS3JRcHV4?=
 =?utf-8?B?YTUyQ0ErUXZCZGRzNVliVmtpNENPNWZycnNvQkhmM0JxM3VjTjVjajhTdlZZ?=
 =?utf-8?B?UHlpdXRJOURJdWY0SmszaTlpMGxIOWNCTHY0SUVHS0tueW1Xc2NqZ2xKUm1u?=
 =?utf-8?Q?LVdY6C8i6K9T+dxsPEdDnXyYpJG+Y7VU88lhw=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:(13230031)(376005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 01:02:21.0219
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a32164d4-dd69-4d16-57ba-08dc64c35c65
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000E9D0.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9264

Hi Julien,

On 4/24/2024 9:03 PM, Julien Grall wrote:
> Hi Henry,
>
> On 24/04/2024 04:34, Henry Wang wrote:
>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>
>> For overlay with iommu functionality to work with running VMs, we 
>> need to enable
>> IOMMU by default for the domains.
>>
>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>> ---
>>   xen/arch/arm/dom0less-build.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/dom0less-build.c 
>> b/xen/arch/arm/dom0less-build.c
>> index fb63ec6fd1..2d1fd1e214 100644
>> --- a/xen/arch/arm/dom0less-build.c
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -894,7 +894,8 @@ void __init create_domUs(void)
>>               panic("Missing property 'cpus' for domain %s\n",
>>                     dt_node_name(node));
>>   -        if ( dt_find_compatible_node(node, NULL, 
>> "multiboot,device-tree") &&
>> +        if ( (IS_ENABLED(CONFIG_OVERLAY_DTB) ||
>
> Similar to the first patch, building Xen with the DTB overlay doesn't 
> mean the user will want to use it (think of distros that may want to 
> provide a generic Xen).
>
> Instead, we should introduce a new DT property "passthrough" that 
> would indicate whether the IOMMU should be used.
>
> To be futureproof, I would match the values used by xl.cfg (see 
> docs/man/xl.cfg.5.pod.in).

That sounds good. I can introduce a new DT property as suggested. Thanks 
for the suggestion!

Kind regards,
Henry

>
>> + dt_find_compatible_node(node, NULL, "multiboot,device-tree")) &&
>>                iommu_enabled )
>>               d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
>
> Cheers,
>



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 01:14:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 01:14:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711758.1111985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rznhB-0007s6-JQ; Thu, 25 Apr 2024 01:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711758.1111985; Thu, 25 Apr 2024 01: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 1rznhB-0007rz-GN; Thu, 25 Apr 2024 01:14:41 +0000
Received: by outflank-mailman (input) for mailman id 711758;
 Thu, 25 Apr 2024 01:14: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 1rznh9-0007rp-TE; Thu, 25 Apr 2024 01:14: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 1rznh9-0006dW-Hp; Thu, 25 Apr 2024 01:14: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 1rznh9-0003BN-86; Thu, 25 Apr 2024 01:14:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rznh9-0000cO-7d; Thu, 25 Apr 2024 01:14: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=GtUwzsb5xu5frkmUZPkwvMm+fB2PQdsPu9CXU/MFSEU=; b=v4q6wCVpb1/2X8CSWUsjFa2+aa
	hyw5E079Cx30q+HvSaVxNLSANYLevBhcvKl3tpkcNvjAxjylBpbG+SEwVUB+rKE/TxmZqWwrGwqQr
	bis2OpRL/xpnQIPKHaI6v/bYRiZhcM5RV8IaskF40CS9IM5AB4YTL7B7XEdWvotjXgK0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185789-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185789: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=90b6725562c82ec630d9e0cb19078f4b507db10b
X-Osstest-Versions-That:
    ovmf=d97f964f7ce063f9861f4d21cc6352f6861f95a8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 01:14:39 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 90b6725562c82ec630d9e0cb19078f4b507db10b
baseline version:
 ovmf                 d97f964f7ce063f9861f4d21cc6352f6861f95a8

Last test of basis   185776  2024-04-23 21:41:06 Z    1 days
Testing same since   185789  2024-04-24 23:42:57 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
   d97f964f7c..90b6725562  90b6725562c82ec630d9e0cb19078f4b507db10b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 01:38:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 01:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711765.1111995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzo4A-0004oN-Bc; Thu, 25 Apr 2024 01:38:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711765.1111995; Thu, 25 Apr 2024 01:38:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzo4A-0004oG-86; Thu, 25 Apr 2024 01:38:26 +0000
Received: by outflank-mailman (input) for mailman id 711765;
 Thu, 25 Apr 2024 01:38: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 1rzo49-0004o6-1u; Thu, 25 Apr 2024 01:38: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 1rzo48-000718-TM; Thu, 25 Apr 2024 01:38: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 1rzo48-0003m6-6A; Thu, 25 Apr 2024 01:38:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzo48-00049S-5C; Thu, 25 Apr 2024 01:38:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=M0qlg9uILudNVIh4YMaHWxqtWJDuWn6rEmzTk/9Lhn0=; b=3pSph48NPcWcOf9Uuw52qj9GTp
	pSGSr/YGPC1c3hkgGtf1sE7NgEkMLMB/zAWs4nSp/4c4Xm2ssnuYDEkTq9cXXhoWYHg5hi41C+i0h
	+MpQiW6Ti6YLs7dbiH9iPPN3Ge5J9qKF1ycYw/rqx/rewgz4Tqa4OZCK4t9PuUWrEmUc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185785-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185785: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9d1ddab261f3e2af7c384dc02238784ce0cf9f98
X-Osstest-Versions-That:
    linux=71b1543c83d65af8215d7558d70fc2ecbee77dcf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 01:38:24 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-raw       8 xen-boot                 fail REGR. vs. 185768
 test-armhf-armhf-libvirt-vhd  8 xen-boot                 fail REGR. vs. 185768

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit2   8 xen-boot         fail in 185779 pass in 185785
 test-armhf-armhf-xl-credit1   8 xen-boot         fail in 185779 pass in 185785
 test-armhf-armhf-xl           8 xen-boot                   fail pass in 185779
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 185779

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

version targeted for testing:
 linux                9d1ddab261f3e2af7c384dc02238784ce0cf9f98
baseline version:
 linux                71b1543c83d65af8215d7558d70fc2ecbee77dcf

Last test of basis   185768  2024-04-23 07:46:10 Z    1 days
Testing same since   185779  2024-04-24 00:13:50 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  David Howells <dhowells@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Ronnie Sahlberg <lsahlber@redhat.com>
  Steve French <stfrench@microsoft.com>
  Takayuki Nagata <tnagata@redhat.com>
  Tom Talpey <tom@talpey.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                       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                                      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                                 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


Not pushing.

------------------------------------------------------------
commit 9d1ddab261f3e2af7c384dc02238784ce0cf9f98
Merge: 71b1543c83d6 77d8aa79ecfb
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Apr 23 09:37:32 2024 -0700

    Merge tag '6.9-rc5-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
    
    Pull smb client fixes from Steve French:
    
     - fscache fix
    
     - fix for case where we could use uninitialized lease
    
     - add tracepoint for debugging refcounting of tcon
    
     - fix mount option regression (e.g. forceuid vs. noforceuid when uid=
       specified) caused by conversion to the new mount API
    
    * tag '6.9-rc5-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: reinstate original behavior again for forceuid/forcegid
      smb: client: fix rename(2) regression against samba
      cifs: Add tracing for the cifs_tcon struct refcounting
      cifs: Fix reacquisition of volume cookie on still-live connection

commit 77d8aa79ecfb209308e0644c02f655122b31def7
Author: Takayuki Nagata <tnagata@redhat.com>
Date:   Mon Apr 15 16:47:49 2024 +0900

    cifs: reinstate original behavior again for forceuid/forcegid
    
    forceuid/forcegid should be enabled by default when uid=/gid= options are
    specified, but commit 24e0a1eff9e2 ("cifs: switch to new mount api")
    changed the behavior. Due to the change, a mounted share does not show
    intentional uid/gid for files and directories even though uid=/gid=
    options are specified since forceuid/forcegid are not enabled.
    
    This patch reinstates original behavior that overrides uid/gid with
    specified uid/gid by the options.
    
    Fixes: 24e0a1eff9e2 ("cifs: switch to new mount api")
    Signed-off-by: Takayuki Nagata <tnagata@redhat.com>
    Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    Acked-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Acked-by: Tom Talpey <tom@talpey.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit 18d86965e31f9be4d477da0744a7cdc9815858de
Author: Paulo Alcantara <pc@manguebit.com>
Date:   Fri Apr 19 12:05:07 2024 -0300

    smb: client: fix rename(2) regression against samba
    
    After commit 2c7d399e551c ("smb: client: reuse file lease key in
    compound operations") the client started reusing lease keys for
    rename, unlink and set path size operations to prevent it from
    breaking its own leases and thus causing unnecessary lease breaks to
    same connection.
    
    The implementation relies on positive dentries and
    cifsInodeInfo::lease_granted to decide whether reusing lease keys for
    the compound requests.  cifsInodeInfo::lease_granted was introduced by
    commit 0ab95c2510b6 ("Defer close only when lease is enabled.") to
    indicate whether lease caching is granted for a specific file, but
    that can only happen until file is open, so
    cifsInodeInfo::lease_granted was left uninitialised in ->alloc_inode
    and then client started sending random lease keys for files that
    hadn't any leases.
    
    This fixes the following test case against samba:
    
    mount.cifs //srv/share /mnt/1 -o ...,nosharesock
    mount.cifs //srv/share /mnt/2 -o ...,nosharesock
    touch /mnt/1/foo; tail -f /mnt/1/foo & pid=$!
    mv /mnt/2/foo /mnt/2/bar # fails with -EIO
    kill $pid
    
    Fixes: 0ab95c2510b6 ("Defer close only when lease is enabled.")
    Signed-off-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit afc23febd51c7e24361e3a9c09f3e892eb0a41ea
Author: David Howells <dhowells@redhat.com>
Date:   Thu Apr 4 13:51:36 2024 +0100

    cifs: Add tracing for the cifs_tcon struct refcounting
    
    Add tracing for the refcounting/lifecycle of the cifs_tcon struct, marking
    different events with different labels and giving each tcon its own debug
    ID so that the tracelines corresponding to individual tcons can be
    distinguished.  This can be enabled with:
    
            echo 1 >/sys/kernel/debug/tracing/events/cifs/smb3_tcon_ref/enable
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    cc: Shyam Prasad N <nspmangalore@gmail.com>
    cc: linux-cifs@vger.kernel.org
    cc: linux-fsdevel@vger.kernel.org
    Signed-off-by: Steve French <stfrench@microsoft.com>

commit dad80c6bff770d25f67ec25fe011730e4a463008
Author: David Howells <dhowells@redhat.com>
Date:   Thu Apr 4 16:05:19 2024 +0100

    cifs: Fix reacquisition of volume cookie on still-live connection
    
    During mount, cifs_mount_get_tcon() gets a tcon resource connection record
    and then attaches an fscache volume cookie to it.  However, it does this
    irrespective of whether or not the tcon returned from cifs_get_tcon() is a
    new record or one that's already in use.  This leads to a warning about a
    volume cookie collision and a leaked volume cookie because tcon->fscache
    gets reset.
    
    Fix this be adding a mutex and a "we've already tried this" flag and only
    doing it once for the lifetime of the tcon.
    
    [!] Note: Looking at cifs_mount_get_tcon(), a more general solution may
    actually be required.  Reacquiring the volume cookie isn't the only thing
    that function does: it also partially reinitialises the tcon record without
    any locking - which may cause live filesystem ops already using the tcon
    through a previous mount to malfunction.
    
    This can be reproduced simply by something like:
    
        mount //example.com/test /xfstest.test -o user=shares,pass=xxx,fsc
        mount //example.com/test /mnt -o user=shares,pass=xxx,fsc
    
    Fixes: 70431bfd825d ("cifs: Support fscache indexing rewrite")
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: Paulo Alcantara (Red Hat) <pc@manguebit.com>
    cc: Shyam Prasad N <sprasad@microsoft.com>
    cc: linux-cifs@vger.kernel.org
    cc: linux-fsdevel@vger.kernel.org
    Signed-off-by: Steve French <stfrench@microsoft.com>


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 03:51:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 03:51:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711780.1112005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzq8x-00047L-MB; Thu, 25 Apr 2024 03:51:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711780.1112005; Thu, 25 Apr 2024 03:51:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzq8x-00047E-J6; Thu, 25 Apr 2024 03:51:31 +0000
Received: by outflank-mailman (input) for mailman id 711780;
 Thu, 25 Apr 2024 03:51: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 1rzq8w-000471-LB; Thu, 25 Apr 2024 03:51: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 1rzq8w-0001XT-ET; Thu, 25 Apr 2024 03:51: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 1rzq8w-0000SL-2V; Thu, 25 Apr 2024 03:51:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzq8w-0006g6-09; Thu, 25 Apr 2024 03:51: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=rDGTqBslwzqGJ3+tIvgyj1BE/wUtENnQuvkSPdENvM4=; b=o6Rq8I/LAXBgMplRE1uLmFZAD7
	3TmGgqnYi/pkKBwRFK1SMZ/927TJ2YQDRHVyrI7hDZE02Q9wlNqgxI4Gdccy+eSSnad1LPrIQIfUI
	iuUq1PSt5buTIWtZ+dz9tOlmgqWqec1LysMteQeqreoUeF1JcrCbiGsy7ZGfS1IOSnTk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185790-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185790: 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=31d6b5b4a7c84818294dacca7a07e92f52393c9d
X-Osstest-Versions-That:
    xen=7846f7699fea25502061a05ea847e942ea624f12
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 03:51:30 +0000

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

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                  31d6b5b4a7c84818294dacca7a07e92f52393c9d
baseline version:
 xen                  7846f7699fea25502061a05ea847e942ea624f12

Last test of basis   185788  2024-04-24 19:04:02 Z    0 days
Testing same since   185790  2024-04-25 01:00:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   7846f7699f..31d6b5b4a7  31d6b5b4a7c84818294dacca7a07e92f52393c9d -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 03:53:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 03:53:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711785.1112015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzqAQ-0004cc-1w; Thu, 25 Apr 2024 03:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711785.1112015; Thu, 25 Apr 2024 03:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzqAP-0004cV-Tw; Thu, 25 Apr 2024 03:53:01 +0000
Received: by outflank-mailman (input) for mailman id 711785;
 Thu, 25 Apr 2024 03:53:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rzqAO-0004cJ-UV; Thu, 25 Apr 2024 03:53:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rzqAO-0001Yo-TC; Thu, 25 Apr 2024 03:53:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1rzqAO-0000V6-KJ; Thu, 25 Apr 2024 03:53:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzqAO-0007qB-Ju; Thu, 25 Apr 2024 03:53: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=JgleRuqzeCycpJHS3aEbowVcqZmag+vLyuxEdDutnrs=; b=Ici5yEllMnApQudE775fMLsP7z
	+sRlNJl75M1tYdq51q4GZuer4np8xBuMCFEsz3n46Fi59ajKy388a3M/JdQgGG1y+56boocRbHJnG
	7Tu2/+S94djQi85cdgakICwzqnhSIzOjNM8ZJ6+o6XbkzRTNoIUTbQdpODaae7KcuvA4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185792-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185792: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=66c24219ade92b85b24f3ce29b988d187a9f6517
X-Osstest-Versions-That:
    ovmf=90b6725562c82ec630d9e0cb19078f4b507db10b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 03:53:00 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 66c24219ade92b85b24f3ce29b988d187a9f6517
baseline version:
 ovmf                 90b6725562c82ec630d9e0cb19078f4b507db10b

Last test of basis   185789  2024-04-24 23:42:57 Z    0 days
Testing same since   185792  2024-04-25 01:43:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Srikanth Aithal <sraithal@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
   90b6725562..66c24219ad  66c24219ade92b85b24f3ce29b988d187a9f6517 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 05:53:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 05:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711795.1112025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzs2g-0000ak-F7; Thu, 25 Apr 2024 05:53:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711795.1112025; Thu, 25 Apr 2024 05:53:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzs2g-0000ad-Am; Thu, 25 Apr 2024 05:53:10 +0000
Received: by outflank-mailman (input) for mailman id 711795;
 Thu, 25 Apr 2024 05:53: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 1rzs2f-0000aT-5p; Thu, 25 Apr 2024 05:53: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 1rzs2e-0004LY-TD; Thu, 25 Apr 2024 05:53: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 1rzs2e-0004IP-Hq; Thu, 25 Apr 2024 05:53:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzs2e-0004Vi-HP; Thu, 25 Apr 2024 05:53:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zmH+axWABzJSWAL2APwQqgdl/rWM/uRvIrV6MPXbcE8=; b=zRfzf3FB9d18a/0FI2z3ZSrLWw
	dX1nSUGNIpV3NgZC3rtKZ7hQcbVSzxDcKPFxtLH8hI33KhFysyMArw9Vb46iiRWuIqvkeP430sAQb
	cNOb0/5OtLEiucI6k5BEpjgfyR4QGvCB/2tm0ogCKWW47e9OYJ4H8nw5Kqb7rqtwYX/U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185786-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185786: 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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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=410ef3343924b5a3928bbe8e392491992b322cf0
X-Osstest-Versions-That:
    xen=77e25f0e30ddd11e043e6fce84bf108ce7de5b6f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 05:53:08 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185780
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185780
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185780
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185780
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185780
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185780
 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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     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                  410ef3343924b5a3928bbe8e392491992b322cf0
baseline version:
 xen                  77e25f0e30ddd11e043e6fce84bf108ce7de5b6f

Last test of basis   185780  2024-04-24 01:37:24 Z    1 days
Testing same since   185786  2024-04-24 13:05:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Petr Beneš <w1benny@gmail.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
   77e25f0e30..410ef33439  410ef3343924b5a3928bbe8e392491992b322cf0 -> master


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 06:12:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 06:12:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711804.1112039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsL7-0004Xc-Vh; Thu, 25 Apr 2024 06:12:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711804.1112039; Thu, 25 Apr 2024 06:12: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 1rzsL7-0004XV-Sj; Thu, 25 Apr 2024 06:12:13 +0000
Received: by outflank-mailman (input) for mailman id 711804;
 Thu, 25 Apr 2024 06:12: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzsL6-0004XP-OD
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 06:12:12 +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 c0e4abd0-02ca-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 08:12:11 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41b5aed246dso180515e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 23:12: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
 l6-20020a05600c4f0600b0041a0f3d92c7sm16469538wmq.2.2024.04.24.23.12.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 23:12: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: c0e4abd0-02ca-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714025531; x=1714630331; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+ojANX69DqSW63oVwF5VtsM9NBIEDODm59jY064YE/w=;
        b=K9GeoK4QSFvCyPcajAT7mu67KqlFSR40lcx2v++/pRLXZSnKk7Nt+VlQvK84XCopGV
         j0a/sMRT+dRddsPk5XDPUArijHHv8MAa4KkSEA00A41PHV8FR6OipWkaFTtW1emJK4co
         D0oUZJJ52/Su5mG7lycWKhtRxOnD2NyBjJjVIh97trl50ok8arVDvAwKFNqfLqI9GXig
         FhBvkcCorBBGuHwj7hwdgusPiYwFQRZZw17pt0pbRcFM+2p7S7vyG1JMqijMlFAlGhfr
         9VN86yGBmKvs0pGxPzFvNMcXY149252GYKbFWvHA+UDiYepUEGvXMMWfwFJqs7f6OKYd
         637g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714025531; x=1714630331;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+ojANX69DqSW63oVwF5VtsM9NBIEDODm59jY064YE/w=;
        b=wgYwUax4nQ4jTP8iHxDUuq4GqR09H+5rJY/aVCjq3GOQdd701Chw2j3PrZlC330Xed
         JTg/fgBTpMmPkbLaNXY+R9tIzbQM4B5BRNuy5vALATvWox+Q2Do2dGpnlrtASscnjo4F
         6hfkil+VE+WORX+WpOTsdvZIZRibaFaagwGMKprkx3j3YOu72eJGSJkJD1pY443LGt+s
         3HQiCqwOh65H6iVOvCarlVynhAu9uaW/mUOPodxaYDC9EgNadrWHsWN7ZXmwh/xT/Ocw
         rCHOhZhR03o0/ptgxUmMeN582P60Xpy4VaxIe8GIPO//YdhQSkv8zBh7EKlbuKHtjQbr
         1+Ew==
X-Forwarded-Encrypted: i=1; AJvYcCV96ao4NmRcdW+0MtpFOeyDppnfTt0KHAczXvbZBKN+Ekik1lGLep4Gjdz0YJ/75a+VndTKSWYtSp65rwa5Zav3dsDFrmFSy1i0dbWTBA8=
X-Gm-Message-State: AOJu0YzHvhV2lWs/pwFZfmfptMjZpxDmi/op/EhVL42u4+DRPUVx/Bwt
	oID/4ZssGAcNFDfvzZYXSQ/WjqsL970KBvIPAACRHrLU5XC/MEmkkGw8S0Aiug==
X-Google-Smtp-Source: AGHT+IGeCKoaI2xJ22QSJAgXKsBcsnYOD5HGoqgtBXiHMsijpcZzdTXDR6reIJA0ngOerZixhrI5hQ==
X-Received: by 2002:a05:600c:4f03:b0:418:ed13:315e with SMTP id l3-20020a05600c4f0300b00418ed13315emr3210977wmq.2.1714025530631;
        Wed, 24 Apr 2024 23:12:10 -0700 (PDT)
Message-ID: <9861a2f8-4a16-40f1-ab10-583101f922f1@suse.com>
Date: Thu, 25 Apr 2024 08:12:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240424191826.23656-1-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424191826.23656-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 21:18, 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')

Especially with this tag the description really wants to say what the problem
is that is being solved here. XSDT having superseded RSDT for ages, it seems
unlikely that there might be systems around that are new enough to run PVH
Dom0, yet come without an XSDT. I can only guess ...

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

... that for whatever reason qemu doesn't surface an XSDT (at which point a
follow-on question would be why this wouldn't want dealing with in qemu
instead).

> --- 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';

This is in no way "blindly". The size of the table elements being different
between RSDT and XSDT makes it mandatory to have the correct signature. Else
the consumer of the struct is going to be misled.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 06:15:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 06:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711810.1112052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsOX-0005us-Jn; Thu, 25 Apr 2024 06:15:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711810.1112052; Thu, 25 Apr 2024 06:15:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsOX-0005ul-G2; Thu, 25 Apr 2024 06:15:45 +0000
Received: by outflank-mailman (input) for mailman id 711810;
 Thu, 25 Apr 2024 06:15:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ltee=L6=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1rzsOW-0005uZ-01
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 06:15: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 3e192b0e-02cb-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 08:15:42 +0200 (CEST)
Received: from DS7PR05CA0088.namprd05.prod.outlook.com (2603:10b6:8:56::14) by
 MW6PR12MB8959.namprd12.prod.outlook.com (2603:10b6:303:23c::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Thu, 25 Apr
 2024 06:15:39 +0000
Received: from DS1PEPF00017093.namprd03.prod.outlook.com
 (2603:10b6:8:56:cafe::4a) by DS7PR05CA0088.outlook.office365.com
 (2603:10b6:8:56::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.11 via Frontend
 Transport; Thu, 25 Apr 2024 06:15:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF00017093.mail.protection.outlook.com (10.167.17.136) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Thu, 25 Apr 2024 06:15:38 +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.35; Thu, 25 Apr
 2024 01:15:37 -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.35; Thu, 25 Apr
 2024 01:15:37 -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.35 via Frontend
 Transport; Thu, 25 Apr 2024 01:15:36 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e192b0e-02cb-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j0KgmFL8Lr4kQ/g1XZO4a4IkXShPZsldLVX9wlCYr1ItjeOOUmZFvDqmjowEyJdXTJORLyxT3hvvfmTuTbJ0FvY3FbEK9AVwT48KBD4WEMRHqP76CwEKFIQi66grFOUocfKxYuPOBpy0xZAg6wAxfDcTPMbhc0KU/ZvtfsA41g8m7fbp9NTLc5qehBmZrNoj8SjX2qdBXf/Jn67A4+4lf50ycbtuWHkSvYYQk/buHESzsFenYX+h64Pygocsv6B13lx3LFi3gxZlS2e6B6jtbMor8zDiKdxQObUoGN7tdpj+vaazQ7n5x5cUdngtMNuTi8DW0KAty8HqQCNUEMQ/rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lMxc1pNjk5ztSLrJ8+E10iK89P5wq6JGiR//k0syEOg=;
 b=EIXDY1CmiV85FmXrLKShVZyOk4L84WcWZhBgPPf/32TmdWTrldNi5baBDQ1vijv4cTE2e1OJnVMKw28hAoSLUHtYTb+2y4D7j4/NeqiEfUj8PBulgPi+irdhRastk1dz/DC/wksBpkfVnzZP0vKh7J5u8xZP05cgN6GAE13S9Sy7kBhanjdLRL1pNuUcWWPzeLfsrZb90Ejn9PrhUBcZohWhntVjkC7TXQDXs9bg5a2Cixm2Q9rOlKel17gjyZYQkRiTFb+bWdy6IRAjMHYAkYXHh1FwIekqJD2iYd/rL1AG2wH5QhLRkH5BwD8ZJb/iTVEHeXpfHUObVbTyA9VD4A==
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=lMxc1pNjk5ztSLrJ8+E10iK89P5wq6JGiR//k0syEOg=;
 b=SmNzokAcXKw8L480BuC4nw7300bhJEMQ7kNVhOIIMT9tc6vhcoQJH4Wec8dvIYHZsV+YIK6DEfXTqC5Qi+7OTjKDdBKB6w69yWPD7QWG8kF9jpZEpIYLrhxNU0xL2hnQvKnpCZ8AElTsfkymL4xEB5Jr+lr/UO7HnUwrQfCd6VI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e21d93df-58ac-4dd9-a99a-62e5b7e147e3@amd.com>
Date: Thu, 25 Apr 2024 08:15:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/vpci: make prefetchable mem 64 bit
To: Stewart Hildebrand <stewart.hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>
References: <20240424162726.204791-1-stewart.hildebrand@amd.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240424162726.204791-1-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017093:EE_|MW6PR12MB8959:EE_
X-MS-Office365-Filtering-Correlation-Id: b60632d6-aeae-46e8-dfdc-08dc64ef20d6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RDhHb2YwekZMN2ROdEZvU1VPdlRSK1VYZU1WZ1JsZ2Z2dVVUK0p3b1ZaNEZ0?=
 =?utf-8?B?Wnp3bXlpanBRWFBIakxYS1RsYi9NWklrZWw2ZGRvclZMNGRQZ0NVZ3YwWW1F?=
 =?utf-8?B?U3NleVYvMkZkSG5ic25EbFFtY3JMeHhHV0pLSlIwdXY3dmpsRXN0WUxyWlBp?=
 =?utf-8?B?aGQ1TnhhdXVHMWdudGJ0TFJYK2VCR1JndzFOTUYvSUxRNXlvQTd1eFRtWjEr?=
 =?utf-8?B?dzZpSkFGd0c0OW9tY2FvcHFzcHVBbGhYYVIyZk1nMFJjalZsRFo5aUlqTE96?=
 =?utf-8?B?M1ZxZTRWKzBoWXFaUDdlNDVFdG1mbWM5ZEF6SjQ4WFVxQU1TdEY4b0hYbDJQ?=
 =?utf-8?B?Vm9Sc21NRmZrT09XajZCVXpsRjYzbEY0UjZWOUVFWlNSZ1QxQ3h0c0FSVFNx?=
 =?utf-8?B?eU1UK1l1bi91MHUremljUlAyZ2FrS3FzNlNRUEFTWlZsMzN5ZUVpTEVyZTFV?=
 =?utf-8?B?WUxuUHBjcVdiTW43SDJYUCtTRFdFSUdMRFJKMkFqdDVIMWMvZHk4SUI5cGIz?=
 =?utf-8?B?QlNmSlFwNnNpOHJGdk1nY2owSExwbUFSMzNkaUttNEFqZUhvVG9LRkVlcHQy?=
 =?utf-8?B?MU41MjVyaDBBRHR3OTVCc2lqVTZaUHBXeWc2TzNjZTJvSVBVWU5nclBONUxE?=
 =?utf-8?B?NjEyTHBOWSs0WFVvZFRQUmtZSFJTWmV5MzJNQWxhSWFFcFBZT0ZDbWh3VGpP?=
 =?utf-8?B?S01JM3B2NHNRV2twTXQwdHFSU1FGa1lUZUxLYnJFbCtqbVFndFQwdkVMekR0?=
 =?utf-8?B?UjFKRWVlekxGeUZvbGlGdDlPeUZ5OEdiekFJMUt5b3dIYVcyQyszQ0F0Zmh6?=
 =?utf-8?B?NG5ldExpczVIS3I2YUhha0dkR1lSSEQrVDBiNHI3eTM5djMyM2MwYXRmaDF6?=
 =?utf-8?B?cTFlTHd6UWttOWpKL1FjekhVWUx1c1RLVVFZSFdpdWN2a2JXem83am9KbmNP?=
 =?utf-8?B?cWQyam1xUVp3T1N4dkI0Q243OFcxYThINTEvSDZUMDFXTVNsakdtT1hNUlo1?=
 =?utf-8?B?d1IreVNiZnBJbjlWUng2cmhkUjU0QnBUL0N1bEsrTFNJc1NobFpTeEhHd1R2?=
 =?utf-8?B?ajZ6ZDVkZzFlRGYzTHJRdUxqVnI4S0R3VndzTkVBOS9heklaVVl6M05QOGxi?=
 =?utf-8?B?T2xpenVxOVZpbFZEUDNVZWpCNFNoZ1Y4RVdWYmpsdDZJcnF0Wkwxd3kzVktQ?=
 =?utf-8?B?NGMzd25nU2hNLzRMekFFc2c5U2JNemV0Z1lDaWdreDFoUFlyemxFKzlMMVNp?=
 =?utf-8?B?ZG5weGdJNXhuSmJuN1U0dDJxL041UmNnYzRBWjlnTm9jajFVdUJSM1R6UW04?=
 =?utf-8?B?RjVuQ2dDUStxemhPOWc3MWNGYzFYMUc2WHZZNUNKcWo3UWQ3MGdlbUpKL0N0?=
 =?utf-8?B?amQxNmprODNjajIyK0ZPcEtzMnFZcXYwZHZiU2hrdlNsNVFUaFJ0Z2NheVA2?=
 =?utf-8?B?VlF0MEtIMmVZd1pGc0R1VDVYa1lRVXF1Wmc5VTNZSk4xL1FSWk9BU3dxYmlp?=
 =?utf-8?B?SkdKNXc3TGVJNmVOZzExWTNLdEhUcVhYWjNpRnVaTjBuMVFjSHUxdGIwQ0Nz?=
 =?utf-8?B?dkFqZ2tsRUJidUpGWEs1NjNTOE9JQkdlSXBPRXppaCt4QnFMVmE0NUovL28v?=
 =?utf-8?B?eUNqY1dPT1YwdTRzMTA4c1doUTJJWWRrNUd1dmZIMncrWVhMWGgyQ3YzNUY5?=
 =?utf-8?B?SnRVaS91SzlxMXgwYmpEM3E1V1BYdWJJbUxVb1JzNDk0Y2J3Vk01cDM0RTVV?=
 =?utf-8?B?VkplVjcrcXF0bjY4YWVFQ09CTG14a0pCejgreWU5VEhmWmhVQjRhUmRjUVFh?=
 =?utf-8?B?V0xXM1dqWXBoaitSRUx0Tmp1L0N4bjNPZGt6cDBHL2oyeE1rV0ZweWFaZVFT?=
 =?utf-8?Q?l/kuD3E9YAut/?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 06:15:38.9744
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b60632d6-aeae-46e8-dfdc-08dc64ef20d6
X-MS-Exchange-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:
	DS1PEPF00017093.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8959

Hi Stewart,

On 24/04/2024 18:27, Stewart Hildebrand wrote:
> The vPCI prefetchable memory range is >= 4GB, so the memory space flags
> should be set to 64-bit. See IEEE Std 1275-1994 [1] for a definition of
NIT: would be beneficial to provide chapter (in this case 2.2.1.1)

> the field.
> 
> [1] https://www.devicetree.org/open-firmware/bindings/pci/pci2_1.pdf
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal

> ---
>  xen/include/public/arch-arm.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index e167e14f8df9..289af81bd69d 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -487,7 +487,7 @@ typedef uint64_t xen_callback_t;
>  #define GUEST_RAM0_SIZE   xen_mk_ullong(0xc0000000)
>  
>  /* 4GB @ 4GB Prefetch Memory for VPCI */
> -#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM   xen_mk_ullong(0x42000000)
> +#define GUEST_VPCI_ADDR_TYPE_PREFETCH_MEM   xen_mk_ullong(0x43000000)
>  #define GUEST_VPCI_PREFETCH_MEM_ADDR        xen_mk_ullong(0x100000000)
>  #define GUEST_VPCI_PREFETCH_MEM_SIZE        xen_mk_ullong(0x100000000)
>  
> 
> base-commit: 410ef3343924b5a3928bbe8e392491992b322cf0


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 06:19:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 06:19:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711816.1112061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsSJ-0006Uj-1h; Thu, 25 Apr 2024 06:19:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711816.1112061; Thu, 25 Apr 2024 06:19:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsSI-0006Uc-VQ; Thu, 25 Apr 2024 06:19:38 +0000
Received: by outflank-mailman (input) for mailman id 711816;
 Thu, 25 Apr 2024 06:19: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzsSH-0006UW-6H
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 06:19:37 +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 c9eab04f-02cb-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 08:19:36 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-41b34d344a0so4852445e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 23: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
 m18-20020adff392000000b00345920fcb45sm19029630wro.13.2024.04.24.23.19.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 23: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: c9eab04f-02cb-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714025975; x=1714630775; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=e3nAqYeDVFKI0t7PnEHk8avdhUXTXHxgSFZ6HEc/SMQ=;
        b=Wo008Hoe46L/DPpKSAsYK97XgCsh8zkYieNsnnpZYZEOmR8onPN7/sXdVuGigW69Jn
         G/+cz/EsTKlwT8443988i8WIkT4JHFMh7H1Ns1ITV4aiXwiwIev9No0uUuRk/BDRxId8
         Xz2bMHcWWTFNyyXL4LER+4kEEydVJWCFCvqdVlbzeIhlkSf6iubv/Fw2w4x3lY/4l5Sb
         3qZqP6JDlAroUQ7EOKmRfo7mnSZtOwF2gzM5G9H4Pwuo/cICflG98/tIw114oJw/AyTB
         jWJSNQymFN7JfK1ymsR80eB6drXwWZ3AE4ZkrUKR1hNglE9x7DY3vEyUjnNBDGfcdRVS
         gepw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714025975; x=1714630775;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=e3nAqYeDVFKI0t7PnEHk8avdhUXTXHxgSFZ6HEc/SMQ=;
        b=N6t49xMearudXC9OBELojCe8sLUqQ+4TdnvaYNgm18Z/H8NDZHqfAjEJrTEzTl8r/p
         COR4I3/J0VqrrLimYHnEFyFkTgn3J8PjoylfFvMcgDVFa0LaUTcVKOzJttbKCPyNCzxj
         11+FXGbKytp6j+Yfe4Oy6ysq66s+Hbiqr0AXzfPloDigafpsJgG3+IWEwCsKEbMlD2/9
         rxv5iIMRiFxSqVyXzWf4XmVgxB9bNea0t8+3GBCcZmTSW03bvutDwOKJwaWlIksD+j22
         q5jM6PLTNGJgwEokFZ6+raiJejeapVs6BRh0px1eEbuLQqybGfIqEyaUCSBjj71NDSmo
         ZvAg==
X-Forwarded-Encrypted: i=1; AJvYcCU2vsFEVopod4ku0rATkBxVGjzd8c09pJp40ycuZXcrWREpGf5pTqswexWzK0+sm3p8liJdYlvfSRaG3qoj8h1g45slWf+eOW0PA+zjWRw=
X-Gm-Message-State: AOJu0YzfK7tKWeM3oeKDBD52sW66wZbNrt/95DmBkZbImRX3NDgusrPm
	oczFgL2i/ljkIMm4oNd7zvWmelDr1wR3Gnrio5Azx2ipmnxRXj75v3C0LkevXg==
X-Google-Smtp-Source: AGHT+IEC8ipGlaB31xfBsmMVSoxaoyevHYXxo8bVz5R2UrjOATeduBqzB5TycthptVFW29eb5G1VXQ==
X-Received: by 2002:a05:600c:3515:b0:418:ef65:4b0e with SMTP id h21-20020a05600c351500b00418ef654b0emr3036150wmq.17.1714025975679;
        Wed, 24 Apr 2024 23:19:35 -0700 (PDT)
Message-ID: <9bb611ac-1187-4daa-9649-53afeeb11695@suse.com>
Date: Thu, 25 Apr 2024 08:19:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] tools/xl: Add max_altp2m parameter
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@gmail.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1713990376.git.w1benny@gmail.com>
 <67b5dd52435132d0fb65e7b301970e17e092fa87.1713990376.git.w1benny@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <67b5dd52435132d0fb65e7b301970e17e092fa87.1713990376.git.w1benny@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 22:42, Petr Beneš wrote:
> Introduce a new max_altp2m parameter to control the maximum number of altp2m
> views a domain can use. By default, if max_altp2m is unspecified and altp2m is
> enabled, the value is set to 10, reflecting the legacy behavior.

Apart from the public header you don't even touch hypervisor code here. What
you say above therefore is limited in scope to the tool stack. I question
though that adding a new field without respecting it constitutes an overall
consistent change. In particular I'm curious how you mean to deal with this
for other than x86, where altp2m as a concept doesn't exist (yet).

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -77,6 +77,7 @@ struct xen_domctl_createdomain {
>       */
>      uint32_t max_vcpus;
>      uint32_t max_evtchn_port;
> +    uint32_t max_altp2m;
>      int32_t max_grant_frames;
>      int32_t max_maptrack_frames;

Such a struct layout change needs to be accompanied by an interface version
bump (which hasn't happened so far in this release cycle, afaics).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 06:21:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 06:21:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711819.1112071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsUT-0007u8-DU; Thu, 25 Apr 2024 06:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711819.1112071; Thu, 25 Apr 2024 06: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 1rzsUT-0007tz-Ay; Thu, 25 Apr 2024 06:21:53 +0000
Received: by outflank-mailman (input) for mailman id 711819;
 Thu, 25 Apr 2024 06:21:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzsUR-0007tr-M6
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 06:21:51 +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 1a18c37c-02cc-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 08:21:50 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-346b96f1483so297182f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 23:21: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
 g18-20020adfa492000000b0033e9d9f891csm19124952wrb.58.2024.04.24.23.21.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 23:21: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: 1a18c37c-02cc-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714026110; x=1714630910; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IlyMsT4P4AoDqwyxOKfsSZEUYehZYOxVPOM87MuqqxM=;
        b=TkJiCP7No6F7alvkB8KEXTbfJgwfIS/lNV0AtuMnXcOHNwCgDGIR+SNizqhkjGKr3g
         /YidHaF2OVW3lLAjUKcpKCqULl0832TswavBCytcmzL7MdZtIe1H3E7sIet1ONAB3dSU
         lA4CDD/nD4JnnSdZmBCxM/p6HhbpnIFFp6BkLers0FQu2xYhWSRuQEv3yNYzAlwKvAq0
         aUN4f5V2Q9ZiCwpZdIeVkOJ2r+BA9T/OdaFfWwsC5Xm2pJAtU5I6/BQB/loUW2Nt0Mh9
         ZRvEtQ2EE+grR7U1URbYce2Jk6u44oY+ct8nB3jOGJB9OvR/phUgVVUCnj2rfwnPM776
         JOlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714026110; x=1714630910;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IlyMsT4P4AoDqwyxOKfsSZEUYehZYOxVPOM87MuqqxM=;
        b=podG0oXWPC1ybPNYImSgY3bj+xagXgMoMgCM8a5+Rt2cghWsRyB5aZ/IimBn9zxwmc
         Xe8z9logqlcBvn5HEns1hp9SrbttFqbvG/1scq09Phyw22+bI5Ise8rccbRkcs6OENHI
         fGkKawErtWJnajUTCytVgHYlan5JrGELr2HQ0N1MAWWjCuJ2l2vWUxxvbDxvV7msIGyd
         wCBl4hFWsrrNSWXri6UlaZupWHVhz7MCC5CMt5LtPrpL4uC9yhcbC8ORDVVp4aT9Vy/s
         45c8KzIiGikXA/CEPH3g4RK1IoVG+bIH07VmXZ3WSSg/hrscPdfYUU/oFL56WbayLWo4
         835A==
X-Forwarded-Encrypted: i=1; AJvYcCU+gO55SjeVAgcWXfCpPhP4JLrwb4CKf0J7K63M3ZJPyPSmwB918rannqzyvIIYx6n4IQj/+bTcdaVWfVJNm+3f9g3bY6e4gsM4scF7QuI=
X-Gm-Message-State: AOJu0YwiPJFg5XNwBmkx6TVcPa1nFp4IZJoQC/fHDSiRCmzUltc1Q+TB
	olh73sW+yvBxwqljZZUpTsZq3LGDmEcikV/kb4nOj00MefQr+/H+I0c32iK5TQ==
X-Google-Smtp-Source: AGHT+IGe75ueJX/rBjhueyknUMxRF4GmBmciM88W1+EdRfwy102jBhJdI3r7vMK8BJtbN1xW01tBpw==
X-Received: by 2002:a5d:4ac3:0:b0:348:b458:56b8 with SMTP id y3-20020a5d4ac3000000b00348b45856b8mr1014067wrs.17.1714026110257;
        Wed, 24 Apr 2024 23:21:50 -0700 (PDT)
Message-ID: <470e0d7a-918b-4df6-a7b2-e8ee2d98dbde@suse.com>
Date: Thu, 25 Apr 2024 08:21:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] x86/p2m: Add braces for better code clarity
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713990376.git.w1benny@gmail.com>
 <2e6e4f07b9e8f50ae65697c8644995aa4851cdac.1713990376.git.w1benny@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2e6e4f07b9e8f50ae65697c8644995aa4851cdac.1713990376.git.w1benny@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 22:41, Petr Beneš wrote:
> From: Petr Beneš <w1benny@gmail.com>
> 
> No functional change.
> 
> Signed-off-by: Petr Beneš <w1benny@gmail.com>

Hmm. I don't really mind the extra braces, but I also don't really see a need.
IOW this is not an objection, but it'll want to be someone else (if anyone) to
ack this.

Jan

> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -106,6 +106,7 @@ void p2m_change_entry_type_global(struct domain *d,
>          unsigned int i;
>  
>          for ( i = 0; i < MAX_ALTP2M; i++ )
> +        {
>              if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
>              {
>                  struct p2m_domain *altp2m = d->arch.altp2m_p2m[i];
> @@ -114,6 +115,7 @@ void p2m_change_entry_type_global(struct domain *d,
>                  change_entry_type_global(altp2m, ot, nt);
>                  p2m_unlock(altp2m);
>              }
> +        }
>      }
>  
>      p2m_unlock(hostp2m);
> @@ -139,6 +141,7 @@ void p2m_memory_type_changed(struct domain *d)
>          unsigned int i;
>  
>          for ( i = 0; i < MAX_ALTP2M; i++ )
> +        {
>              if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
>              {
>                  struct p2m_domain *altp2m = d->arch.altp2m_p2m[i];
> @@ -147,6 +150,7 @@ void p2m_memory_type_changed(struct domain *d)
>                  _memory_type_changed(altp2m);
>                  p2m_unlock(altp2m);
>              }
> +        }
>      }
>  
>      p2m_unlock(hostp2m);



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 06:22:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 06:22:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711823.1112082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsVR-0008Qz-Mw; Thu, 25 Apr 2024 06:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711823.1112082; Thu, 25 Apr 2024 06:22:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzsVR-0008Qs-JW; Thu, 25 Apr 2024 06:22:53 +0000
Received: by outflank-mailman (input) for mailman id 711823;
 Thu, 25 Apr 2024 06:22: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzsVQ-0008Qk-Sj
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 06:22:52 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e85b731-02cc-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 08:22:52 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-346b146199eso474561f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 23:22: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
 g18-20020adfa492000000b0033e9d9f891csm19124952wrb.58.2024.04.24.23.22.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 23:22: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: 3e85b731-02cc-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714026171; x=1714630971; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=zKBSd4Fg6gvUBt2JXRcCqdhlAfIUjPkKS4D9u8dHlvI=;
        b=FTBnkiWarUBDjrdOv/eEYlaCJKWcEVcHsyZUrUjcDDnbtzM/arXExfVQ6cWiE2ZTu1
         fq385kKqHrEbGfiTAR4ycE+3Z0Gq9LsIQFGAL4aCvwGdQnoC5Cq9poTP8HVL0z2Hb0Mo
         HBSsAEiEDXcc1uZH4orx8wUpgGVKoiGlep+ikIvsxi41eLXY6DsNOZynPu1V3n/Ikr4k
         RWdF2s2htkvXhGRG0GBPKsjzzqiqpZs4gBQGVbXrAY01xlfrTbD7L9ozu/jNg5hD9dKN
         lrlaAlER+KfBpRwDy3r2Vhmw/sGr/ZkQFhwIcUfb4I5KpT7JVIFyVPkAXK/8lKRiI+ib
         mbpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714026171; x=1714630971;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=zKBSd4Fg6gvUBt2JXRcCqdhlAfIUjPkKS4D9u8dHlvI=;
        b=Rr3hWQQtQFYsFQYuzrGX7yrNo8gHruYTIRMeGy1Osne1ZZjgSJCA45heyIlPHu4R6s
         dB+zOvE9KiT7/9zDAODzq3nRiR1dOuxdJFwADg+8S+8iebuVV8HW1OaXojkr5y42844Y
         9TIWZoerLy6ghCz9PQXP8LNLoA143IygL5YQckESfrjw2MzsmvBDwcQPjzebFNq841UK
         CzNYr02EVLIPV8ieYLt3R041QTsn7RSCJ0EoEBpK4STQ5HLxJImPWqLno5vpG/l/K8ch
         /wSlU+UnzXLLCDMCoGNOKL6fOZjh1W/Z1o6KKk2jW58nAEWBmmZ0opnjHtpnbbM9MkJd
         SjTA==
X-Forwarded-Encrypted: i=1; AJvYcCVu5Cv8+tjGzznvpJEqC43j1LIaMfA7RLlD5ijKMNRe89N5M6eSwDA3VadNhF8OxDYxX+33x0BssFRkggx4FJgIrI6bUpK44HJZ0+GgQE8=
X-Gm-Message-State: AOJu0YxarpDQr8HsGZr3S8DRHJmA/6c63yymN2M4Zn2VR7OUd7Zd6Jt6
	7/I04f2P1Up5oUMZ7zsJSSFmpvFM++E66m2yNRJWPrRTZ+4nvIeKGs7XeUIojw==
X-Google-Smtp-Source: AGHT+IETDdyj/IJXoWiZVf9D5OEzRZlsfcqf68N92WJN+c6mKFKLj4HfPVAHjabvbq2C4e9xjRtUKA==
X-Received: by 2002:a5d:4dcf:0:b0:346:d2c0:7682 with SMTP id f15-20020a5d4dcf000000b00346d2c07682mr3025718wru.30.1714026171340;
        Wed, 24 Apr 2024 23:22:51 -0700 (PDT)
Message-ID: <d8c25ff5-213e-42ae-9040-d91840d4ad72@suse.com>
Date: Thu, 25 Apr 2024 08:22:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/hap: Refactor boolean field assignments
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: =?UTF-8?Q?Petr_Bene=C5=A1?= <w.benny@outlook.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713990376.git.w1benny@gmail.com>
 <8203e5e06e326ad320878439e5342f7f1acc685d.1713990376.git.w1benny@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8203e5e06e326ad320878439e5342f7f1acc685d.1713990376.git.w1benny@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.04.2024 22:42, Petr Beneš wrote:
> From: Petr Beneš <w.benny@outlook.com>
> 
> No functional change.
> 
> Signed-off-by: Petr Beneš <w1benny@gmail.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Apr 25 06:38:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 06:38:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711832.1112092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzskd-0003g8-5W; Thu, 25 Apr 2024 06:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711832.1112092; Thu, 25 Apr 2024 06: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 1rzskd-0003g1-19; Thu, 25 Apr 2024 06:38:35 +0000
Received: by outflank-mailman (input) for mailman id 711832;
 Thu, 25 Apr 2024 06:38:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzskb-0003fv-UO
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 06:38:33 +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 6e7a51a8-02ce-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 08:38:31 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-41b0bc4ce39so6575675e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 23:38: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
 c7-20020a05600c0a4700b0041b434e5869sm1185525wmq.43.2024.04.24.23.38.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 23:38: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: 6e7a51a8-02ce-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714027111; x=1714631911; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IPnvjqat0snK2gZ3hKO9HI3gMS2nnsexL82beyC2ddI=;
        b=eCA6P7tx8EGgusLGNyV8TXGmIlEF+ye67KopKE1upVW5ucZb8mUpw+F2hJlCF4cA8r
         8SiWrxWO51h6lR9WiSjBsw7SKi0sQ7g1gO3neRLomcelB3PymTrQpE+l2w/lBm/xRz0e
         umxGQEhDQMWFHrpfTvjwE8jJtQRQImudNeCt2UjWT5WyoPYNqJjJm9qwKOf26Evgnqg2
         IjGsqQ0WKhXrFvawctNzIvuRkRfmZ3Kui/2PG/8qzxVV41EcyGoTZD3KhEo9rxEdMDV9
         LWQDReWUS4zJp1rkJwra/FfYxQY1ZSfRfZVj/y9NH8wk5qotvonmd/ZkGQQA64eX3zL9
         4sPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714027111; x=1714631911;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc:references
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IPnvjqat0snK2gZ3hKO9HI3gMS2nnsexL82beyC2ddI=;
        b=lPm6ZuFXwuyCmVqZdg9IjlDQLduUEr9j/Dz/08kQZbqYS93DJ/CHqWuDjQy2RZzbVc
         4XnVmccEFMCCHUOUnUUvf3jQ1cY0tszTtDb34ZpoT10z3rcTT7VyalpxatN+uBaM/D6X
         ltW9x//a3QZgQtSDeSMHwTUAUhnV5Ewu0CIrbNnnUJoCq/1R5tllTB3dUokC2yq2CgFf
         qdfCrLjAYku21p5pRFenCvHWOU1QTtesUOq2Sr29pJPRvEldf6J3ae7W6HlXKNuBLFXp
         A5/dW1ZalyqEI2QdOF/38w9HAYtbVxP2NebN/xgx3q3bYBwxPhhhMjIBmnVf5q86FuQg
         TInQ==
X-Gm-Message-State: AOJu0Yw7HXD7n9egBiyf3dfgdmta6xRo7JpLmq1PrzhM1uj08EOMk723
	9x//Otu3DHkCAKOXOQCJKsWHLOsxhXxr4d8YquuGlEl7ryYgWx3OzaQNzmaxy+vRYwg16NEZUbo
	=
X-Google-Smtp-Source: AGHT+IFDqUbPJ09FUy80aExdFdXb3YNbVxMLoWuAOr36VwFwIy2s+US+/OFIWnflRLzl4Y1syvLKBw==
X-Received: by 2002:a05:600c:4f8a:b0:419:f911:680a with SMTP id n10-20020a05600c4f8a00b00419f911680amr4610110wmq.1.1714027110796;
        Wed, 24 Apr 2024 23:38:30 -0700 (PDT)
Message-ID: <7caaa211-fcd0-4e15-9bb5-f0b967ea9209@suse.com>
Date: Thu, 25 Apr 2024 08:38:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [linux-linus test] 185785: regressions - FAIL
Content-Language: en-US
To: xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>
References: <osstest-185785-mainreport@xen.org>
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-185785-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.04.2024 03:38, osstest service owner wrote:
> flight 185785 linux-linus real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/185785/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-armhf-armhf-xl-raw       8 xen-boot                 fail REGR. vs. 185768
>  test-armhf-armhf-libvirt-vhd  8 xen-boot                 fail REGR. vs. 185768

This looks to be recurring. From one of the logs:

Apr 24 21:09:04.301751 Configuring network interfaces...RTNETLINK answers: Operation not supported
Apr 24 21:09:05.033646 done.
Apr 24 21:09:05.033646 Cleaning up temporary files....
Apr 24 21:09:05.105744 Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix.
Apr 24 21:09:05.381747 Starting nftables: none
Apr 24 21:09:05.405781 �mnl.c:60: Unable to initialize Netlink socket: Protocol not supported
Apr 24 21:09:05.837763  failed!
Apr 24 21:09:05.837817 startpar: service(s) returned failure: nftables ... failed!

Hints at a possible network setup issue, which would explain the timeout
in trying to ping the host.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 06:47:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 06:47:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711837.1112102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzssm-000682-Ut; Thu, 25 Apr 2024 06:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711837.1112102; Thu, 25 Apr 2024 06: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 1rzssm-00067v-Qw; Thu, 25 Apr 2024 06:47:00 +0000
Received: by outflank-mailman (input) for mailman id 711837;
 Thu, 25 Apr 2024 06:46: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzssl-00067p-8F
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 06:46:59 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9bfc1369-02cf-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 08:46:57 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4155819f710so5033665e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 24 Apr 2024 23:46: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
 e15-20020a05600c218f00b004146e58cc35sm29369947wme.46.2024.04.24.23.46.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 24 Apr 2024 23:46: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: 9bfc1369-02cf-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714027616; x=1714632416; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9D84aDNlhTGKA5DXraeGkolmOLNtdq9D11n1O6zOYTU=;
        b=Ltg12ItFUJRHGMlXdfJgOtVwutAEWF950bb6M3+x42ZcM0RAdGAt+SD7MvxLXqpOfa
         IQ+tM8hqINZmqEDsQLHBaAgKbN6KhUbnzjDSD2mOcHLHVVrCdbgTtT2743bG95sUiia5
         y77P2Itrp5qTXuTGTRvoRmBAWjV7ETptRD3ZkV5/kdm/GjVmuMlgh6YDUdn69/9PHmQn
         b1IJk3326x0TQS2IoCO0WxtHE3L9MftrGZsMFWtoLkpI4PCNijhcYTOUReS0Td6LinhU
         d0lFraJErwdlFcslSbAK9ymL1aDkXOJ06sLZXMz6q4L7N5GQUfE7NKROf+BC4lhCaZOf
         ti0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714027616; x=1714632416;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9D84aDNlhTGKA5DXraeGkolmOLNtdq9D11n1O6zOYTU=;
        b=omvxobNzqvDQrzGO6dETAfxn4v3uVwddFdumICbXy0BMFkprac1StCc3FajHMSeTi2
         6PS0cx1/qfu+Mz5sFccjGi7RmEQ2PQHo5ijO2JAriFJgKXbU1LW6pBw3RmZREQ6n8fLD
         F0MZSDvihx0yJDvtsSgfq4/A2OXGciKFDJI5/B/Av+o2rJ6KeqfmYjZlmcqJh1YQv/Rn
         imYWq0XW5yDqCiV+S5Md3i1wP8VTRMtkKgt70B6RHJ7RW6+nA7f0wcXRnsah5ddRFPvu
         2vSH4t+/8le4z1EIkkHvi4QPPv1XLl/eDP4k9VWQEk+WUmx53Tn89cwyGKXlgC8IO0gn
         ECfA==
X-Forwarded-Encrypted: i=1; AJvYcCVQYk+PC41WZRpsE82kB38YfiY/oHLBkpUOu5M0FFGQMNc9434JdDVUqBzZaHy9eMRcJ69CQTXF3+FYMrOnkAA6Fwmq8qTSeekPTSNMimE=
X-Gm-Message-State: AOJu0YwBEsJ/L9N1Hm1Lb0/nw4OZgpMkFNoXbKEfaHgxz2SHmw+OilQG
	b9Sv9BYnCf5WLTL/ch1+DiOlOQTbkr5/he1j2jKQDqtIlilOO0ps2mHB8xYPNw==
X-Google-Smtp-Source: AGHT+IG3Od4uxsHZvE3hu8GjZJAaGwWIfvGcNCXHlOzJ+Ip3743siJuWHyw+zlEEp7No/mgU24vwnA==
X-Received: by 2002:a05:600c:354f:b0:419:87ab:f6db with SMTP id i15-20020a05600c354f00b0041987abf6dbmr3671181wmq.23.1714027616607;
        Wed, 24 Apr 2024 23:46:56 -0700 (PDT)
Message-ID: <adc3564e-3049-4239-9994-b6d59ac3d9fb@suse.com>
Date: Thu, 25 Apr 2024 08:46:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/15] add a domU script to fetch overlays and applying
 them to linux
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>,
 xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-15-xin.wang2@amd.com>
 <bc2aab70-08c5-4dfe-91ab-c1c24163cd46@suse.com>
 <8071fb8c-4df8-4905-b203-cc1119038675@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: <8071fb8c-4df8-4905-b203-cc1119038675@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.04.2024 02:54, Henry Wang wrote:
> On 4/24/2024 2:16 PM, Jan Beulich wrote:
>> On 24.04.2024 05:34, Henry Wang wrote:
>>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>
>>> Introduce a shell script that runs in the background and calls
>>> get_overlay to retrive overlays and add them (or remove them) to Linux
>>> device tree (running as a domU).
>>>
>>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>>> ---
>>>   tools/helpers/Makefile       |  2 +-
>>>   tools/helpers/get_overlay.sh | 81 ++++++++++++++++++++++++++++++++++++
>>>   2 files changed, 82 insertions(+), 1 deletion(-)
>>>   create mode 100755 tools/helpers/get_overlay.sh
>> Besides the same naming issue as in the earlier patch, the script also
>> looks very Linux-ish. Yet ...
> 
> I will fix the naming issue in v2. Would you mind elaborating a bit more 
> about the "Linux-ish" concern? I guess this is because the original use 
> case is on Linux, should I do anything about this?

Well, the script won't work on other than Linux, will it? Therefore ...

>>> --- a/tools/helpers/Makefile
>>> +++ b/tools/helpers/Makefile
>>> @@ -58,7 +58,6 @@ init-dom0less: $(INIT_DOM0LESS_OBJS)
>>>   get_overlay: $(SHARE_OVERLAY_OBJS)
>>>   	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenvchan) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxengnttab) $(APPEND_LDFLAGS)
>>>   
>>> -
>>>   .PHONY: install
>>>   install: all
>>>   	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
>>> @@ -67,6 +66,7 @@ install: all
>>>   .PHONY: uninstall
>>>   uninstall:
>>>   	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
>>> +	$(RM) $(DESTDIR)$(LIBEXEC_BIN)/get_overlay.sh
>>>   
>>>   .PHONY: clean
>>>   clean:
>> ... you touching only the uninstall target, it's not even clear to me
>> how (and under what conditions) the script is going to make it into
>> $(DESTDIR)$(LIBEXEC_BIN)/. Did you mean to add to $(TARGETS), perhaps,
>> alongside the earlier added get-overlay binary?

... it first of needs to become clear under what conditions it is actually
going to be installed.

> You are right, I think the get-overlay binary and this script should be 
> installed if DTB overlay is supported. Checking the code, I found 
> LIBXL_HAVE_DT_OVERLAY which can indicate if we have this feature 
> supported in libxl. Do you think it is a good idea to use it to install 
> these two files in Makefile? Thanks.

Counter question: If it's not going to be installed, how are people going
to make use of it? If the script is intended for manual use only, I think
that would want saying in the description. Yet then I couldn't see why
the uninstall goal would need modifying.

As to LIBXL_HAVE_DT_OVERLAY - that's not accessible from a Makefile, I
guess?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 07:06:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 07:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711842.1112112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztBU-0002C9-EA; Thu, 25 Apr 2024 07:06:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711842.1112112; Thu, 25 Apr 2024 07:06:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztBU-0002C2-B0; Thu, 25 Apr 2024 07:06:20 +0000
Received: by outflank-mailman (input) for mailman id 711842;
 Thu, 25 Apr 2024 07:06:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HNrt=L6=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rztBT-0002Bw-0t
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 07:06:19 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2417::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f0df3d5-02d2-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 09:06:17 +0200 (CEST)
Received: from BN1PR14CA0018.namprd14.prod.outlook.com (2603:10b6:408:e3::23)
 by DM6PR12MB4219.namprd12.prod.outlook.com (2603:10b6:5:217::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.24; Thu, 25 Apr
 2024 07:06:14 +0000
Received: from BN1PEPF00004687.namprd05.prod.outlook.com
 (2603:10b6:408:e3:cafe::54) by BN1PR14CA0018.outlook.office365.com
 (2603:10b6:408:e3::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Thu, 25 Apr 2024 07:06:14 +0000
Received: from SATLEXMB04.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.7519.19 via Frontend Transport; Thu, 25 Apr 2024 07:06:14 +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.35; Thu, 25 Apr
 2024 02:06:13 -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.35; Thu, 25 Apr
 2024 02:06:13 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 02:06: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: 4f0df3d5-02d2-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NKsLMbvdfrybg9RYuL9VBoKlx89SwztLebzQrrkpMRRF6mouRGptBekeAtAZ3Mq2BllEsVXTGk+jh7jnoIB9RlI/NLY2aHaLOB8wmA1e8RpdUjQlVtvZMABr9yB9AuDRAjaoGHin4QLztGBmDjNfEjmg2GvnMbOWsDAaKa5NcW0H1wV7IIBM55AHhXSXuEb/D4rkuAdvM8/c8osG9mPfX/+Mls7t8BLc9JuLbETJf2KynrlsAVLJssPDRlhxEBf5wwdF+NbW2Cl/yObTNpeGgCO+deFJrXa4Jew2S2kuUWaajPCiHu31iuve8kC71QTHpOx31VUqR3ViwgjxMbcAxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PXjGL7lJXT02xBwDMDKp3kG74nEPKvDE5g07BoIyiDM=;
 b=AKTTwG22vZhzVjQvDWuRktidZm/QVa+6I+6YsrPnxhFke+Snm3Qn7Fjp4by5wi9VtJ9YCMqO/g1aO+b0yWwR8PsE8z6cL67Y3k2RPHjYqdWypvNr0e6p1MyCMiSKG4QO1xFRFUMwS1YcXlDRE/QXgOVlR5jnm+ksu/F/FRjHnOs5C0pO2MqanI2qfqNw/Xn2Y/4clmdgXdlQYx2+7ApZ60f5CsIwdf3J8VSsxvkhvT15NRDKXA2VkWD1c/55t9uaTZ09gFkZXiGj60pnuqbINYr+BkgolOa+vAxne3Z3Gkr2egDP/MCfKMxEAIuUAZipFlaA3dhhEPZgdCduCoq8Vg==
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=PXjGL7lJXT02xBwDMDKp3kG74nEPKvDE5g07BoIyiDM=;
 b=g5ndjRaktQV+eX8t7V+PNU7NKodBFpxMAgvchFe++BdbPeo0iq0xMZH3wzG7oyLQpGTLvnaem7OStx5xl07MjZp0UyTz2V7yeqQQqDeRSAXP7VhEJl8ymm0cqnRCQo3gbg58oRyiFm8yYEGy8mKrR5q306cg1d2VQVJfhsIjlYY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <11f711a6-e6b2-495c-a16c-98dd3d8b4f28@amd.com>
Date: Thu, 25 Apr 2024 15:06:06 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/15] add a domU script to fetch overlays and applying
 them to linux
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-15-xin.wang2@amd.com>
 <bc2aab70-08c5-4dfe-91ab-c1c24163cd46@suse.com>
 <8071fb8c-4df8-4905-b203-cc1119038675@amd.com>
 <adc3564e-3049-4239-9994-b6d59ac3d9fb@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <adc3564e-3049-4239-9994-b6d59ac3d9fb@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004687:EE_|DM6PR12MB4219:EE_
X-MS-Office365-Filtering-Correlation-Id: a532ce62-ec3e-44db-413e-08dc64f631ec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|1800799015|82310400014|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YVdQMDhWUFVmaW0rcVJXcWRlRHJiNkpIMUNZenprRVFPQ2dxVUp4a0wvSWkr?=
 =?utf-8?B?ZXd1dm1JMUk4dEtsL1c5amRXQzhGanRQWUdMZ2EzU1MxbnJTVnpXRnpFWFVF?=
 =?utf-8?B?Z1B5MVFYRFU4Y0Q3amNjQzZsMjhjeVE2ZU4vc1JMWGpxc3kvYk1zVjRNdTAr?=
 =?utf-8?B?anlCUVFGa0ZmQzhmQkw1dFgyRWxBVXF5VkxQVXR4UzV1VnpIODMwYVRsQzRX?=
 =?utf-8?B?QlNxdWZaZXRCRkhnQjlDTUFZQ1p4ampxMGRVSnZneE9ZajNsS01RUnhHZkNR?=
 =?utf-8?B?MHdyY2t2ZncvSVNqU2tEM1VzRHMrZXFtb1c4dmFsYjRaMWM5eVkzaDlRamJx?=
 =?utf-8?B?dWN1blNwdmE0WUNYeTdsdE5ncWFLR0R0dHExNnVYZUFsV1R6ZEptM0d0UDJ0?=
 =?utf-8?B?ZGF4NTAwY1l2ZHdMdzVjMlNwT3dtT1hUS01zL0Y1L2lFSG5jdkRGYzZ0Q1Iv?=
 =?utf-8?B?ZjM1R2dGaHIvRjNsSkxJajNCM0dhbHBkT1d4WWlIVFN3elRraHBXUVZzRDM5?=
 =?utf-8?B?TDFtUy9LTGlOdld4SUxsQ2c3TTNCQ2VzNWU4T3g0a28zMTk1eFJQMU9uMjVi?=
 =?utf-8?B?SGZUT0NoUmwyaDVnV1l2R09INFdOMEVtN2xIcmVSQWtkb2RWaCtBd1pQUm9n?=
 =?utf-8?B?NGVtZzB5N0hzbTdaZ2w2K2ZvMEVZUSsxRFRHMUUxZ1ZHZFdBVlJBanFDQi9l?=
 =?utf-8?B?Tlp2SGl0QUoxa2RmckNkdHZrTWpITXdlN2FNRW40WEpjNXVueWxiYkVzVVA1?=
 =?utf-8?B?Z01VNFFvRVA2R2tRYUI5UmVMRWdBWDJHck5CRUM1RlZxVTh1SVR4TFhpbVlN?=
 =?utf-8?B?bktOczdBSWtKSlcrdVlwdlRqTVlGNE1XRUhPRzgyTWhRSW9vaEpwbU1WNWxq?=
 =?utf-8?B?WmFjdmVGZTl3bU5wUUF6eTk3Smh0eFZuTEJBOGpYaDhsZEsxSFp6R0JLeXVK?=
 =?utf-8?B?LzdHMmIvd0t1Ylh6RU5aZUY5VnQ3alI1cHpXRy9UNC82MVhzL3pYOE5IVkg5?=
 =?utf-8?B?ZzFiZk10Wmk2Mk9ucnB4WkJ0QUZpVzYyNUZBK3gwYXIxd1UzM0RDZTRJcnhD?=
 =?utf-8?B?aGx5dDFZZWEwZXZHZ25qbnN0SGs1dlAwVEluUkdYeWcxNlhQTWFSSDBTTEw1?=
 =?utf-8?B?OWlHQ09TWnJMUVVGUWFoSURsc0pRd0h4YitpQlBFekZBdk1XOXZQNDFLdUNY?=
 =?utf-8?B?QVhVSDdicjVZd3YwalZaVTBaRTBERmhCSE5uMVcrUG5FU2xRZ1NRL3lFL0c5?=
 =?utf-8?B?QnVFK3hTSmdHb1hTbWxGVGpPSVNZM2p2M3RzNjg5TkY1SHA5T1F5ZUZoK3p5?=
 =?utf-8?B?S2RCNjJvWWhsYXpLL2ZjVDBncnFwL3c1L3RUQ0NoNVdJSHUzeWtCRktlZlV4?=
 =?utf-8?B?K2hoc0JuZ2JPT1krVEZ1WFl6RGw2djZLUG5HNldKSXRFYTM0TzNZSmEwSmhU?=
 =?utf-8?B?VUZJRys4WUJoWDNjcFpiYmZWdml1cmp1VGpScWp4b2l0ejJxQ0MyT29zVEx3?=
 =?utf-8?B?TGJEaE5XRitFeGxMZUNFaFVuNEQ0Zk9qRXpjRVJvaUlnejJ3cG95bkpGbDJn?=
 =?utf-8?B?YVNKTStHeG1KYTZaNDBlZXFNWnA2RU5XSFBmTW05N0Z1Mm1IV1pZS2dIMTlX?=
 =?utf-8?B?TjhTS0FFc2Jnek1DYW04YVpUbWw4R3NUZUlURldHd0tIT2VkZktxS0RHdVVP?=
 =?utf-8?B?K2dSbnBiNzA1ekFUai83Nk1pYjBLTDJvdXBVU2xzL2xrSm1TMWdTNmJxbVcz?=
 =?utf-8?B?ek4rS1JoVVB4bWtRSi9qMnZGOXhpQkJmdlBRaVVNaFFqZjBVbTBEcHNIOVBr?=
 =?utf-8?B?YlVjZHh5eHFtUzhVc3E1SG5XeVJlTHhPMk9YOGZWaHZ0V0MrY1FlRTcwOFBN?=
 =?utf-8?Q?kkBwIneg9umtA?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 07:06:14.1598
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a532ce62-ec3e-44db-413e-08dc64f631ec
X-MS-Exchange-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:
	BN1PEPF00004687.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4219

Hi Jan,

On 4/25/2024 2:46 PM, Jan Beulich wrote:
> On 25.04.2024 02:54, Henry Wang wrote:
>> On 4/24/2024 2:16 PM, Jan Beulich wrote:
>>> On 24.04.2024 05:34, Henry Wang wrote:
>>>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>>
>>>> Introduce a shell script that runs in the background and calls
>>>> get_overlay to retrive overlays and add them (or remove them) to Linux
>>>> device tree (running as a domU).
>>>>
>>>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>>>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>>>> ---
>>>>    tools/helpers/Makefile       |  2 +-
>>>>    tools/helpers/get_overlay.sh | 81 ++++++++++++++++++++++++++++++++++++
>>>>    2 files changed, 82 insertions(+), 1 deletion(-)
>>>>    create mode 100755 tools/helpers/get_overlay.sh
>>> Besides the same naming issue as in the earlier patch, the script also
>>> looks very Linux-ish. Yet ...
>> I will fix the naming issue in v2. Would you mind elaborating a bit more
>> about the "Linux-ish" concern? I guess this is because the original use
>> case is on Linux, should I do anything about this?
> Well, the script won't work on other than Linux, will it? Therefore ...
>
>>>> --- a/tools/helpers/Makefile
>>>> +++ b/tools/helpers/Makefile
>>>> @@ -58,7 +58,6 @@ init-dom0less: $(INIT_DOM0LESS_OBJS)
>>>>    get_overlay: $(SHARE_OVERLAY_OBJS)
>>>>    	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenvchan) $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl) $(LDLIBS_libxengnttab) $(APPEND_LDFLAGS)
>>>>    
>>>> -
>>>>    .PHONY: install
>>>>    install: all
>>>>    	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
>>>> @@ -67,6 +66,7 @@ install: all
>>>>    .PHONY: uninstall
>>>>    uninstall:
>>>>    	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
>>>> +	$(RM) $(DESTDIR)$(LIBEXEC_BIN)/get_overlay.sh
>>>>    
>>>>    .PHONY: clean
>>>>    clean:
>>> ... you touching only the uninstall target, it's not even clear to me
>>> how (and under what conditions) the script is going to make it into
>>> $(DESTDIR)$(LIBEXEC_BIN)/. Did you mean to add to $(TARGETS), perhaps,
>>> alongside the earlier added get-overlay binary?
> ... it first of needs to become clear under what conditions it is actually
> going to be installed.
>
>> You are right, I think the get-overlay binary and this script should be
>> installed if DTB overlay is supported. Checking the code, I found
>> LIBXL_HAVE_DT_OVERLAY which can indicate if we have this feature
>> supported in libxl. Do you think it is a good idea to use it to install
>> these two files in Makefile? Thanks.
> Counter question: If it's not going to be installed, how are people going
> to make use of it? If the script is intended for manual use only, I think
> that would want saying in the description. Yet then I couldn't see why
> the uninstall goal would need modifying.

Checking the code again, I feel like this is a mistake actually. I think 
this script should be installed together with the get-overlay 
application as the script actually calls get-overlay. The uninstall goal 
should remain untouched. I will fix this in v2.

> As to LIBXL_HAVE_DT_OVERLAY - that's not accessible from a Makefile, I
> guess?

Yes.

Kind regards,
Henry

>
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 07:06:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 07:06:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711843.1112122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztC4-0002d9-M6; Thu, 25 Apr 2024 07:06:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711843.1112122; Thu, 25 Apr 2024 07:06: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 1rztC4-0002d2-In; Thu, 25 Apr 2024 07:06:56 +0000
Received: by outflank-mailman (input) for mailman id 711843;
 Thu, 25 Apr 2024 07:06:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=HNrt=L6=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1rztC3-0002cp-A6
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 07:06:55 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2405::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64b0af05-02d2-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 09:06:52 +0200 (CEST)
Received: from BN8PR15CA0048.namprd15.prod.outlook.com (2603:10b6:408:80::25)
 by SN7PR12MB8059.namprd12.prod.outlook.com (2603:10b6:806:32b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Thu, 25 Apr
 2024 07:06:49 +0000
Received: from BN1PEPF0000468E.namprd05.prod.outlook.com
 (2603:10b6:408:80:cafe::f) by BN8PR15CA0048.outlook.office365.com
 (2603:10b6:408:80::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.25 via Frontend
 Transport; Thu, 25 Apr 2024 07:06:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF0000468E.mail.protection.outlook.com (10.167.243.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Thu, 25 Apr 2024 07:06:48 +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.35; Thu, 25 Apr
 2024 02:06:48 -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.35; Thu, 25 Apr
 2024 02:06:47 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 02:06: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: 64b0af05-02d2-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AfuaHjNbvrtTOP57zK1RtKLim03X3/LbUpRmidEAZZFI9vefKa9y7CpgoP9swky+oT3TWTFeNsJhlBaddpBUpnbFGYYkkot3yAx2TJHDTGHGJpXZ6z4PDSJj0e19nE4VV8Z9pqxcDyKzHU4h8Bq4W+JEYm3YdYB1SqOgKJG61ckhDKNr+4IHYPi1C1QVsbzf6PQ00gIVrFU7RqBxs0g9FOvuo2r4XU50pOiiit7pHp13NsdkCifHtfzTRi/+GgtnIIV2hrRYj18FXPx6j/gamvZbX0Co1WF+druEmmSt+tAqd6+lOWqtMs5Csf6EOsvBtk5Ok6PMfghG5aHMrPAKCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5XE9TPjnivHbWUzUOYv7aZuYKCVTly+JQTCfnfs91HM=;
 b=PjTtPEEIz5sWuTGzloKuSBxLl/kZt1nroHzFL2Xn771/oW0HdWxGE5NkZTBLcS3nRtw1V1V1SPSFj0vB0CjliHhcoiKiY/QxTfhWtkZmSr3iginG2dto1PJN4kQ3bSeU6LZQlPN/1TI2l3CHAqhKlkD4MtrWwiCaOvXkxHX9doPAI7SCZfY62e8oirRqfsRg0/tFXCaWBZBdGej3Kf/bgFri3kG//6cWPCTh/5gNudrJaxkgluzjTLC5o30wOO0Js7rE3n9ONFFUGII0Tfd36ippgi5BJrToUGT+2skOt1Eah26X8zgSGXxhVfFxlfjEdfMn056LKPU1BCtZUP/fFA==
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=5XE9TPjnivHbWUzUOYv7aZuYKCVTly+JQTCfnfs91HM=;
 b=1YsKxwbHiEi566+Lm35OpCjoc5TW+vFfxTkhU6QQw2Ddyn7JwsPUnt3GdBAB8ReFhG3PU0jH7zDer7EeqlDeicf3apKGqZCiniGadNk6QBqz0xSK6QzwlDw7YIrIXLg9Lm+pyW28bHoVSc9d/BTEtoILitbmNtgKH1XyT/zCnJ8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <70c5a593-9ac5-485b-be81-b789562249d8@amd.com>
Date: Thu, 25 Apr 2024 15:06:39 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/15] xen/arm/gic: Enable interrupt assignment to running
 VM
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>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-3-xin.wang2@amd.com>
 <670d1033-2443-4245-8ff1-cb7099a7c793@xen.org>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <670d1033-2443-4245-8ff1-cb7099a7c793@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF0000468E:EE_|SN7PR12MB8059:EE_
X-MS-Office365-Filtering-Correlation-Id: 907b1ac2-44d3-4c24-d82b-08dc64f6464c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ek5LaFpVaExUczdvdDMvUUlxaGZHcnpJdzVVYTJyNnhpYzk2V0FVR3JoN2d6?=
 =?utf-8?B?R1NocXNQdk1oVUxBTWtKaXQ3TGlWT0NNd0xxTUZxc3FtSm5Yd2tIekJmTTYw?=
 =?utf-8?B?bi9CWUc4WVJTT3hnUzkzZHMyUW80NFJLQTlCRUdpZFg1TFpaYXBUeTNYd3dY?=
 =?utf-8?B?aExsbU5HMlExVmpuZUt6eHYvUEdFT0FLano0WGRDcWRWSExrbzh4MnluNHRY?=
 =?utf-8?B?ZHd4RkpoMXpGaE0xbEVWcERkN1J6aVJDVjNnQzNhUGlZY05YSTNkaDBkSHlN?=
 =?utf-8?B?aXAzaHROZVhkRzFNczl4S2JPZi9ReGRHN3RCUGRnNTZQWHdtVytrVFV1UFhZ?=
 =?utf-8?B?cTBQYjMrdVFGNENuT2E4OExkU2tNVGRUMW5tNE13amZyVjBPZEQ1NVRpcjFx?=
 =?utf-8?B?MzBVL3ZVcis1dStsdDhSWUQyWk0zSmNkRytacE9kako2eTk0ZHdGUGNXUTQ2?=
 =?utf-8?B?Q3lpcmdOamJ6QWlxdVA4N09leXVMd2dUVXVTdmJWaGM3ZXplb21PUit4dGJz?=
 =?utf-8?B?L0lrU1RQRythWWJMVFVERFVFeGNGUVJ6K0lDQ2Q1U2hyOGdBNnNUbjY5MUN6?=
 =?utf-8?B?elNabjUwcG1OVGtYaUs0QmN3Qlc1MWRFaWpXNnNGMFRqbWtTMUkwTjJQcWNw?=
 =?utf-8?B?NldpQjdWNWNXQytoUllTWkNtZzRuUkI1MEY0MUJrKzRWS3hXekRsYjJ1NWdH?=
 =?utf-8?B?b2lWZ09PRUs2WlNLZkRBTFZjaG95RWkyRjdaTDZVSGFqdS9iamprS1VKMFlo?=
 =?utf-8?B?TzBFd015UldrMWV0YTZ5SmNldElFaStZWk5Za0dBMXpTaHZPUGEwR3dsWXlB?=
 =?utf-8?B?MThLcE9HRWhzVWN1TEE1SWxaZ0lEOXN5eGJPT3FpNjlXYVpYT05ZVFNLUTY4?=
 =?utf-8?B?ZEN3cTFXMjFEV2wza0RveHFqVzE5STJjMkJ4bGVHZG5PRm1lQ2pGYmJqOXk5?=
 =?utf-8?B?M2JaSDluclZyTHZrQ2huaEY1QXhiQTlsamtScXJuaU5HbzNmaWh1V3NtZS9Y?=
 =?utf-8?B?RzR3NmJUZHhadDRoV2l1Si9LWEhKR1BHaVVrdjN2NmVNaDk1MmcxMXF4dnJQ?=
 =?utf-8?B?NmhVQ1NXTmlxTU1aa1pFQlA1ZXBTSFNEbFlZSktFRFJNQURjLzNYM2tIbkxY?=
 =?utf-8?B?OUJTRktGZ0srdEFubXBzQzBETjdNZTJvV1pOZm4wblRQY1gwUmhBRHB2eEZi?=
 =?utf-8?B?c1ZwNFNIK1MxMzFvejdobVVzVUJVL3d3VzVzVXp4YWhQcm5NZng1V2Fta0g3?=
 =?utf-8?B?TjA2aHBlOTZZeXVuZjhNZytZRGhya2V2NmtPMDArdmt1OXZSd2hYcUVmaTcw?=
 =?utf-8?B?YXhEc3gxS25VN01xSlY4ZFE1ZjgzdTQrMVQ1c1FhVWRFWExwUXdYaDZzRktn?=
 =?utf-8?B?cElzVmZ3eEZQUnBNMHIwNEZHWFRTYnRmK1ZpNU1OOG1UYTJuT3NoaU1WMzRo?=
 =?utf-8?B?WnQ1REJDbnQxbUlKZjZGT2RhT2Z0czdXMGdtVHRYdEt1djVvcktUcGIyRkdU?=
 =?utf-8?B?VTUrcEFZeW44ZTdRZXM3dS8wdlR4YytRSkZ1ai9QSXJLbmp2YkJtZjJTcTVW?=
 =?utf-8?B?NEJwZ3NBMXNHZFRMRDdzMFIzcVQ3b1ZlSm8wbk5zdGwrQ0NZUHlaQmp1L3BH?=
 =?utf-8?B?ejRhaTBDYzR4V2EvSU9VT21nUnFzb2pTVzlPVEt1WUliSFFPMkRjYmQ3V0ZK?=
 =?utf-8?B?SzU3bEVIL21BeW9RYis3RUZNRWRQWGZmbm9EWC9YS2o1SkNvbkFNK3VmQmMy?=
 =?utf-8?B?TzYrMHF4ZURMOUR1bVI4dDJ1QmtFU3QzL2hycW96RUxrUEt2TEJMcnBqWGdD?=
 =?utf-8?B?aVZLckZvNFRLYUJWMzJiMGlVZ0lzcWtMbHc2aUxwREZrclNua2hGQU5aNmpu?=
 =?utf-8?Q?PcwqClgTax2Nm?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 07:06:48.3472
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 907b1ac2-44d3-4c24-d82b-08dc64f6464c
X-MS-Exchange-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:
	BN1PEPF0000468E.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8059

Hi Julien,

On 4/24/2024 8:58 PM, Julien Grall wrote:
> Hi Henry,
>
> On 24/04/2024 04:34, Henry Wang wrote:
>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>
>> Enable interrupt assign/remove for running VMs in CONFIG_OVERLAY_DTB.
>>
>> Currently, irq_route and mapping is only allowed at the domain 
>> creation. Adding
>> exception for CONFIG_OVERLAY_DTB.
>
> AFAICT, this is mostly reverting b8577547236f ("xen/arm: Restrict when 
> a physical IRQ can be routed/removed from/to a domain").
>
>>
>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>> ---
>>   xen/arch/arm/gic.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>> index 44c40e86de..a775f886ed 100644
>> --- a/xen/arch/arm/gic.c
>> +++ b/xen/arch/arm/gic.c
>> @@ -140,8 +140,10 @@ int gic_route_irq_to_guest(struct domain *d, 
>> unsigned int virq,
>>        * back to the physical IRQ. To prevent get unsync, restrict the
>>        * routing to when the Domain is been created.
>>        */
>
> The above comment explains why the check was added. But the commit 
> message doesn't explain why this can be disregarded for your use-case.
>
> Looking at the history, I don't think you can simply remove the checks.
>
> Regardless that...
>
>> +#ifndef CONFIG_OVERLAY_DTB
>
> ... I am against such #ifdef. A distros may want to have OVERLAY_DTB 
> enabled, yet the user will not use it.
>
> Instead, you want to remove the check once the code can properly 
> handle routing an IRQ the domain is created or ...
>
>>       if ( d->creation_finished )
>>           return -EBUSY;
>> +#endif
>>         ret = vgic_connect_hw_irq(d, NULL, virq, desc, true);
>>       if ( ret )
>> @@ -171,8 +173,10 @@ int gic_remove_irq_from_guest(struct domain *d, 
>> unsigned int virq,
>>        * Removing an interrupt while the domain is running may have
>>        * undesirable effect on the vGIC emulation.
>>        */
>> +#ifndef CONFIG_OVERLAY_DTB
>>       if ( !d->is_dying )
>>           return -EBUSY;
>> +#endif
>
> ... removed before they domain is destroyed.

Thanks for your feeedback. After checking the b8577547236f commit 
message I think I now understand your point. Do you have any suggestion 
about how can I properly add the support to route/remove the IRQ to 
running domains? Thanks.

Kind regards,
Henry

>
>> desc->handler->shutdown(desc);
>
> Cheers,
>



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 07:07:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 07:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711849.1112131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztCk-0003DO-2E; Thu, 25 Apr 2024 07:07:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711849.1112131; Thu, 25 Apr 2024 07:07:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztCj-0003DH-VZ; Thu, 25 Apr 2024 07:07:37 +0000
Received: by outflank-mailman (input) for mailman id 711849;
 Thu, 25 Apr 2024 07:07: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=kLQ4=L6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rztCj-0002cp-EM
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 07:07:37 +0000
Received: from mail-qv1-xf30.google.com (mail-qv1-xf30.google.com
 [2607:f8b0:4864:20::f30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dc22fc6-02d2-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 09:07:35 +0200 (CEST)
Received: by mail-qv1-xf30.google.com with SMTP id
 6a1803df08f44-6a04bae512aso3947226d6.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 00:07:35 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 c4-20020a0cca04000000b006993eeb2364sm2268336qvk.13.2024.04.25.00.07.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 00:07: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: 7dc22fc6-02d2-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714028854; x=1714633654; 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=ANwGCH4e0j4ezPob3DJLCcVkFV56cP7vRsEhhXa+vbY=;
        b=exWTt5ievcLa7bHNJmBGiWTOukcGZufFsCg4SAV+pc/26PZrJIZKXmQg/NQIMXLpgA
         0sJw+p0RttQ99FGX9hYwKWSTADo6BvUdaerjcPDFWAjZzEnPmYUE1WD2+3Yl7RJaj3ft
         7sd9kBn62SvxCUjc6gp7Js1BH4QH8c0fThuNM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714028854; x=1714633654;
        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=ANwGCH4e0j4ezPob3DJLCcVkFV56cP7vRsEhhXa+vbY=;
        b=o81Uae9JCsixSweMC8PkeDQ+1AJMZd/IDr+pEGuJo4rhropJVk8pr4/ai5+C2W3W48
         F1E+4DNQluzV2Ll14d6VLZt32/NdYhu81BugECbhy/NtqBfM58Ynaxc1pZIEIqPSv0sd
         ELjq3ktKQydaaXiUcRYcLOr9RSPj+UDC1jRquntmgNg2cus9KW0wCxr5U1xUkxVWSewd
         K56/IiI0WaPfiohE1DBfu+q0y++ckg9ahS0yu2qY5/1dllDqJWLkpGB5kcPL5EKm4EtY
         A7+cZpstphEhFEYRAeE2e7o7N3Jj4OjpN1vRNQ/1PZZWyuQMMWtSmPhYTut06h+pUy56
         lP0w==
X-Gm-Message-State: AOJu0YzpyNu5w7tIEBcLgfyCQgGmuH5qQrZbFcgBkmPnGxK1kgH8/yW0
	iO3mJqT4LhWCUVw2joaNxqcwCikdacboYHGZoyogdI6TFPlaEe5X+tS4WxJpp6Y=
X-Google-Smtp-Source: AGHT+IF0iFLNFnwVayG/f52miJzJz+NHxLstwMgZugqOxwQie73j0h91tG8BjUQuTKIeMkix2tq2qA==
X-Received: by 2002:ad4:4f2e:0:b0:6a0:93e3:6663 with SMTP id fc14-20020ad44f2e000000b006a093e36663mr4313076qvb.7.1714028854177;
        Thu, 25 Apr 2024 00:07:34 -0700 (PDT)
Date: Thu, 25 Apr 2024 09:07:31 +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: <ZioBM1QeHyXqbP8I@macbook>
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>

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.
                                                         ^ only

As providing an RSDT doesn't exclude from a XSDT also being provided.

> Copy the RSDT header from the firmware table, adjusting the signature, for the
> XSDT table when not provided by the firmware.

Either here, or in the code comment below (or in both places), I would
detail that this is required for QEMU, that only exposes RSDT but no
XSDT.

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

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 07:10:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 07:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711854.1112142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztFe-0004iY-GZ; Thu, 25 Apr 2024 07:10:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711854.1112142; Thu, 25 Apr 2024 07:10:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztFe-0004iR-CM; Thu, 25 Apr 2024 07:10:38 +0000
Received: by outflank-mailman (input) for mailman id 711854;
 Thu, 25 Apr 2024 07:10:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kLQ4=L6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rztFc-0004iL-Rd
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 07:10:36 +0000
Received: from mail-qt1-x832.google.com (mail-qt1-x832.google.com
 [2607:f8b0:4864:20::832])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e75d6bc5-02d2-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 09:10:32 +0200 (CEST)
Received: by mail-qt1-x832.google.com with SMTP id
 d75a77b69052e-437b3f256easo4200031cf.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 00:10:32 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 u5-20020ac80505000000b00437a02f67c5sm6586632qtg.49.2024.04.25.00.10.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 00:10: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: e75d6bc5-02d2-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714029031; x=1714633831; 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=uhpVsAfIavWt+jrmV1GZoO2Si9nLAfRLaBBBTEWUrKU=;
        b=b2DbjycuUuIjTC3C+mdYECpjpqJIHyiC651FODjF5VTdbXde0TSLYzK+OHeV0t91qr
         J+WmErXaykuVhBtr2R0QoanXFudYw5q+jKVO7xR5qlWskQgNXEPjYY5LoprKAYoY1LOt
         ESN96j4svUQg7bD9fB1xH5xiSX0pNRUF+v818=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714029031; x=1714633831;
        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=uhpVsAfIavWt+jrmV1GZoO2Si9nLAfRLaBBBTEWUrKU=;
        b=XsdCDx7+jzFgnzh6Tio61e4IncWnSC2WDy/QLZVUDEr7+BKTCIXqGoDFPwyzvYMCHZ
         PeaZu3PJ7HEusjtwkP4lv/WuV88QMLzWSSJXriv8yItYoC/eqiAGq2HNAMtParqgXOiq
         s9cuUb66lskK77gnvncqiTViWM7zHyEzjie2OYzTssgEIlC3DJKz+tjZfRA9B2S1kR8T
         f0iyxdH3pvzRoHW1P+HW7vj6YF2d2ljEwiNdLu6cvzZsykUVFHZzr/BzR00KSAjVOiBs
         8VkljafRSd66bnxhDkQyK/nIzOAZVDTZNlun4mB6OgTlEk8d8v+moVLN59LwtjsSs3rX
         6gXg==
X-Forwarded-Encrypted: i=1; AJvYcCWdj1Cz1QL06p6fpATuohXw7188agb4BCIiDwC0u7D+Kn8zqdLtUnBEfvalxuKA0esikeOrbBgQA3Ob9jl8zSx+t+e+1cyJ90Nexlr8zgQ=
X-Gm-Message-State: AOJu0YyEjsVg/LUWqxCYhIFyrTR1lthrQLUGyc2bz4EMCQCf97zR1nY5
	UxEuaSEaXBgMKnrX/4v20hfgUWUTphuLWyK9Mz9idCVSrIMQv2bDJU1q7AH/nQQ=
X-Google-Smtp-Source: AGHT+IEOytM6LT/zgyl7G2vBMVrADdnT8hwfBBaxlhFhMJgIF9h74+IWFkwxIH5GY60LZ/MYhpIioQ==
X-Received: by 2002:ac8:5f10:0:b0:436:f4a5:d612 with SMTP id x16-20020ac85f10000000b00436f4a5d612mr4645235qta.54.1714029031408;
        Thu, 25 Apr 2024 00:10:31 -0700 (PDT)
Date: Thu, 25 Apr 2024 09:10: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>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
Message-ID: <ZioB5c6fVcateTbj@macbook>
References: <20240424191826.23656-1-dpsmith@apertussolutions.com>
 <9861a2f8-4a16-40f1-ab10-583101f922f1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <9861a2f8-4a16-40f1-ab10-583101f922f1@suse.com>

On Thu, Apr 25, 2024 at 08:12:09AM +0200, Jan Beulich wrote:
> On 24.04.2024 21:18, Daniel P. Smith wrote:
> > @@ -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';
> 
> This is in no way "blindly". The size of the table elements being different
> between RSDT and XSDT makes it mandatory to have the correct signature. Else
> the consumer of the struct is going to be misled.

The "blindly" IMO refers to the fact that the table might already have
the right signature, but this is not checked, IOW we could do:

if ( xsdt->header.signature[0] == 'R' )
    xsdt->header.signature[0] = 'X';

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 07:27:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 07:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711864.1112152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztVY-0008Js-Pb; Thu, 25 Apr 2024 07:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711864.1112152; Thu, 25 Apr 2024 07:27:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztVY-0008Jl-MS; Thu, 25 Apr 2024 07:27:04 +0000
Received: by outflank-mailman (input) for mailman id 711864;
 Thu, 25 Apr 2024 07:27:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rztVX-0008HB-K0
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 07:27:03 +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 34f5d632-02d5-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 09:27:01 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41b5dc5e037so487705e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 00:27: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
 iv20-20020a05600c549400b00418e4cc9de7sm26094358wmb.7.2024.04.25.00.27.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 00:27: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: 34f5d632-02d5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714030021; x=1714634821; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jic6N/sTlcTsMuzxshnawSUTS0h7ojbct+KQdG8CJjU=;
        b=Q+RPNChC1a7wrnGr2MFDyu4p/OUvsQqiKBEQNRk126B2/Je7STJ1/CCjOn5HAmAXjz
         V73kdFovcp90YPPKkvTQEhgOLGAHcm6edxcOz4f+Enjgo13ea/sLpm/1G5JvkoL/YWJv
         0sSa++rbzzDh2N5d9n0Y3IFBGSRitgJrj44gEIiPloebpdloQyGGULcheGwENOWygpru
         CLcSxkqNKyZ8nB/sP+lLvcLZGHQ0NeNUIO4n1Mkwd0qwq2Q6A8C99BnyPH07DYX/T5rI
         lRuixDhddoQItRydymxq2NCkKO19gQOsU4LZlTI8nF9CasD1+n0dNWbk1TX4shFSaqds
         QR/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714030021; x=1714634821;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=jic6N/sTlcTsMuzxshnawSUTS0h7ojbct+KQdG8CJjU=;
        b=WckqKftMecmq44K21q76DQNIuoBW02hBUZFL+m4RT7aLGKBjLlnpQ4K/5S5H3MHeyE
         RcTiiJQJcw2PuSWYXY2DJv553GF9dYiIwukfkSzUwOFdTCsAK73FDWss9S9uvW0T709o
         h3k5Azg3ADJtpXDQezqyGt+eXYVvYgF7Gv/xYyfsQhOp25V7K9790kVIbvEt1EbwHcM7
         JQEJ08nT3ikrBU/Kt72+ttkKZQ59ZNU+kLyh8avlGCwsDVQEvgGj+VBv9uUsUkCafpfW
         ReRpEp0knejwcmS5z/qPfH2uX8XdY23423lF5iZRzaTvGAMSDuHAsWFi2WFxu79ZoBKt
         sW9A==
X-Forwarded-Encrypted: i=1; AJvYcCX/i1cLI52LdC7Z4UxSr4n7B/T+qSgp7T4lXYRZvSRLcO4KZrRKYNTdijev3pvdvvkQiFLdJF6RQ7AxBKc9/7UtyvYTBQU6M4eXjXzjwtQ=
X-Gm-Message-State: AOJu0YwFYi6pHuECMEtL21m5KJ87vEmTSg8e1UPc1aYWmiOSuPRW75pL
	gd+BZk8OLacP2kXsdjwMetvMUleG5PyN8lD17KqSoLktEqmWuC6czynRlbIDKw==
X-Google-Smtp-Source: AGHT+IFoee3TSAKsdoq47h5kEqVQHz8zlu5VH2HPpqGUFu9fe/RjJQ3rS4bNXuobBbQVW7nOVFsdHQ==
X-Received: by 2002:a05:600c:4f53:b0:418:c2af:ab83 with SMTP id m19-20020a05600c4f5300b00418c2afab83mr4200999wmq.36.1714030020785;
        Thu, 25 Apr 2024 00:27:00 -0700 (PDT)
Message-ID: <adf9c5c2-ef6e-47b6-a29b-8765549d02df@suse.com>
Date: Thu, 25 Apr 2024 09:26:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240424191826.23656-1-dpsmith@apertussolutions.com>
 <9861a2f8-4a16-40f1-ab10-583101f922f1@suse.com> <ZioB5c6fVcateTbj@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZioB5c6fVcateTbj@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.04.2024 09:10, Roger Pau Monné wrote:
> On Thu, Apr 25, 2024 at 08:12:09AM +0200, Jan Beulich wrote:
>> On 24.04.2024 21:18, Daniel P. Smith wrote:
>>> @@ -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';
>>
>> This is in no way "blindly". The size of the table elements being different
>> between RSDT and XSDT makes it mandatory to have the correct signature. Else
>> the consumer of the struct is going to be misled.
> 
> The "blindly" IMO refers to the fact that the table might already have
> the right signature, but this is not checked, IOW we could do:
> 
> if ( xsdt->header.signature[0] == 'R' )
>     xsdt->header.signature[0] = 'X';

Right, and indeed I was seeing this as a possible further interpretation.
Yet given multiple ways of reading this, I'm of the opinion that it wants
adjusting. ", ... unconditionally ensure it has ... " may already do.
Simply dropping "blindly" would too be okay with me.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 07:35:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 07:35:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711871.1112162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rztdk-00033k-Ho; Thu, 25 Apr 2024 07:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711871.1112162; Thu, 25 Apr 2024 07: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 1rztdk-00033d-Ez; Thu, 25 Apr 2024 07:35:32 +0000
Received: by outflank-mailman (input) for mailman id 711871;
 Thu, 25 Apr 2024 07:35: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=kLQ4=L6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rztdi-00033N-Of
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 07:35:30 +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 63b9b48b-02d6-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 09:35:29 +0200 (CEST)
Received: by mail-vs1-xe2b.google.com with SMTP id
 ada2fe7eead31-479cbfc62e9so286160137.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 00:35:29 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 g4-20020ac84dc4000000b00439c093ea95sm3172038qtw.23.2024.04.25.00.35.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 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: 63b9b48b-02d6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714030528; x=1714635328; 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=tIx2GdiXBMmxj4aTGE6F/DjfQxgS+dTrsY4KjI/BaLQ=;
        b=PNGIH4O6X8fu3zAw1b8K9SKzEVZ/yvnddHlKTheXB/2nD0WAgGn2JymS0RYbvyUL3m
         OniWz71/w9PB+4oWyFW3+Yx7PiM5nfm3vmZwDid9Cb/QcIYDodOXyt3mg6tkx9iQC62d
         hYfynSBygfME2g2f0IZuGjuXqy3vaKaoSqTaI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714030528; x=1714635328;
        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=tIx2GdiXBMmxj4aTGE6F/DjfQxgS+dTrsY4KjI/BaLQ=;
        b=FAFDpoy7xglOheH4KwSvcZcEnyUWgL90JCeA6nmBEcNo+KxUFdtJ2XjormW/TwxwnF
         Ohn+JsIVIVfBCbZqXudSuf59hdxnNScRhOlYwY0ZbVkwl6u+S5sz3xO+Ste0r+KWWQVw
         DvGH3dZhJJqiaTM8X7cpavCQETvkGmqPdSIONJL4gxJowGCQTJC2vsKb/9ndc7y4OrOF
         VAWmP0Cw15zL4I0Zbz8XL5GfIf/3ayPOZCYdt5P40Z0EEuf9J+i6YHmcV+lsVIMup0yB
         SiARoXTm8L8vfjUVy9cvAgDk64IMDTJiRCFG2P2PhgTnFrOugimgOm/2LaXYsbS5MpLE
         Id9g==
X-Forwarded-Encrypted: i=1; AJvYcCVK24acJl7BcH09f8DO8gjcyWKgPPnYfCtW9GL2qOXG8UURjNDGdGfbAnWDYLjPJR1KRPjxkgvz+tIM1WzCRV6V8sBx7MdoE7Rdd9BD6ZA=
X-Gm-Message-State: AOJu0YziFTZwgkQ2FgNc8Et+8MdpzX5dpvgVf+UzgOBA76i57YdpvtYm
	dnvRxC9aWIx9T3YwpaRHfR/qrLarEu1eev+hK1SifJjooxn8CemsxdzHCfC60Ac=
X-Google-Smtp-Source: AGHT+IGa386CgRD8dqp2QhuxGlxt9CtTFHfg4iibSoKypVBJSqoLgC/I0+HqhykbsjWLSAUmJHATrw==
X-Received: by 2002:a67:f884:0:b0:47b:d1c5:789e with SMTP id h4-20020a67f884000000b0047bd1c5789emr5511214vso.20.1714030528578;
        Thu, 25 Apr 2024 00:35:28 -0700 (PDT)
Date: Thu, 25 Apr 2024 09:35:26 +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>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
Message-ID: <ZioHvsX5yAbW452w@macbook>
References: <20240424191826.23656-1-dpsmith@apertussolutions.com>
 <9861a2f8-4a16-40f1-ab10-583101f922f1@suse.com>
 <ZioB5c6fVcateTbj@macbook>
 <adf9c5c2-ef6e-47b6-a29b-8765549d02df@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <adf9c5c2-ef6e-47b6-a29b-8765549d02df@suse.com>

On Thu, Apr 25, 2024 at 09:26:59AM +0200, Jan Beulich wrote:
> On 25.04.2024 09:10, Roger Pau Monné wrote:
> > On Thu, Apr 25, 2024 at 08:12:09AM +0200, Jan Beulich wrote:
> >> On 24.04.2024 21:18, Daniel P. Smith wrote:
> >>> @@ -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';
> >>
> >> This is in no way "blindly". The size of the table elements being different
> >> between RSDT and XSDT makes it mandatory to have the correct signature. Else
> >> the consumer of the struct is going to be misled.
> > 
> > The "blindly" IMO refers to the fact that the table might already have
> > the right signature, but this is not checked, IOW we could do:
> > 
> > if ( xsdt->header.signature[0] == 'R' )
> >     xsdt->header.signature[0] = 'X';
> 
> Right, and indeed I was seeing this as a possible further interpretation.
> Yet given multiple ways of reading this, I'm of the opinion that it wants
> adjusting. ", ... unconditionally ensure it has ... " may already do.
> Simply dropping "blindly" would too be okay with me.

FWIW, I'm fine with any of the proposed adjustments.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 08:27:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 08:27:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711909.1112243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzuRX-0006Wo-Dh; Thu, 25 Apr 2024 08:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711909.1112243; Thu, 25 Apr 2024 08:26:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzuRX-0006Wh-AW; Thu, 25 Apr 2024 08:26:59 +0000
Received: by outflank-mailman (input) for mailman id 711909;
 Thu, 25 Apr 2024 08:26: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=zg9J=L6=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1rzuRV-0006Wb-P6
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 08:26:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2048.outbound.protection.outlook.com [40.107.7.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91ae13f5-02dd-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 10:26:55 +0200 (CEST)
Received: from AS9PR05CA0102.eurprd05.prod.outlook.com (2603:10a6:20b:498::27)
 by AS2PR08MB10375.eurprd08.prod.outlook.com (2603:10a6:20b:544::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23; Thu, 25 Apr
 2024 08:26:22 +0000
Received: from AMS0EPF00000193.eurprd05.prod.outlook.com
 (2603:10a6:20b:498:cafe::d8) by AS9PR05CA0102.outlook.office365.com
 (2603:10a6:20b:498::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.25 via Frontend
 Transport; Thu, 25 Apr 2024 08:26:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000193.mail.protection.outlook.com (10.167.16.212) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Thu, 25 Apr 2024 08:26:21 +0000
Received: ("Tessian outbound e46bb127ed3d:v315");
 Thu, 25 Apr 2024 08:26:21 +0000
Received: from ae118e6474a9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8831D7D5-168B-4F1E-8C51-E388206D8745.1; 
 Thu, 25 Apr 2024 08:26:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ae118e6474a9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 25 Apr 2024 08:26:11 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DU0PR08MB7416.eurprd08.prod.outlook.com (2603:10a6:10:354::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Thu, 25 Apr
 2024 08:26:08 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::3a3a:3b79:47ad:2313]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::3a3a:3b79:47ad:2313%4]) with mapi id 15.20.7519.021; Thu, 25 Apr 2024
 08:26:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91ae13f5-02dd-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=KQQMv44Ch+GsRgp7OYOPk4o0A4Ln8C06ImYxovBHWn0XX+QhaEJieZv+Wg+agN8BBDTe0ZRku4OTon6KSZgRHzME/eyek8Y00tyyrJqFMf4+GcWsd2+5nRfU6JS3PBKKAjZQkGgqbZCsDyYwmWgwTzmD3rJSbLM7LOc34VQd0gIRa+gfgMoWJFeHsu+B3oF4TJEbc1V4uVLRmr5CLv3UQMYtoQMQW3TRJIHLufg2I1uJmknZEIQVIXRWTNRAjnU4ussZo8ZjDGKqbLEf4WZXihAZCpOClXAF0EkgiilM8Ijzq/uCvF85Dz7wpQj4HFyttQ7UytkI24C1iXKJfK94lw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Q/8m07bBWSyCGo3SHZf2m1zvDUFpr83uVcqxheHfvw=;
 b=F2D14uZB23/8PKVdecei12hyYM08Oj0ocmsaiRmAxnIwAeFechwSofk4Qe9LSNGhuZNBU0plp5Pof3VpkzumYRuZANrCfIFeejDTcEQi3x9vvxAsRYrwlJ7F9M94qjyUqRDqkAW+t7D4XCf6ddmEY0IFOiUTmYsx4CYsfBXrODprF/kOY0u7e0LWrPYLGKfil+5KganzeStojhjK4r7wB6an8hVlAYTHQRBtNsE3hNc6yC/n5s33ACJIt/W+N6xvuAdVGI3BTvJxAgHBgpaXJOdvpJBdHnCnYqSd5xXVjiAXrxobN+f3I4D96A2y/WhE6bQ+qQx+vAS2/mNRvTroqQ==
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=2Q/8m07bBWSyCGo3SHZf2m1zvDUFpr83uVcqxheHfvw=;
 b=l3cHYgnJMbWY3sNoeuwDr5Zy4IjXVjOGTFvCxWkqwOWCGo035LbginpMyKWyOrIhfowPAWMuyViMqjEqKaLL0wZ1yKPOnguwqw5tKhl6y2QIFqZMJ5nUGEd74Jwh7XCjRJb5pVmHThGmD5jzepyoHuDcKy9niydaw4DdRbXrSNk=
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: 886f9f1e8a86609f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xc77eIEpvXUpKoLArhxD37sedZ9n6QOwuan5+k0FnR2ZVMPDyaeM0CZg2euGA/WuzXKGFOqRBM1bqWmYXdk9qXPY4CTsiwmqT4bVMWq4Jnp1go3lQuHgWmMPvfraEx7Dc4IKtwOOCikfkh2bqPcKVadF7PR+xZFOcE0fXO0ULX+rwRSl9fgEnN0LtlqgVY1MMTQj7QNfm/DN5Z74H6sEnPKIIKzWVvm30Y1ZFIvRIGLEmTZYaezbSHn4YS4NAHKl0XXxJ+oSB/XWsyiX/6e2mPIzuqjAOxni7s2VH+T59ImH5qVT9ADYQeKuOLUTidBB+7lzXhYOdnb8qgVZgVXg6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Q/8m07bBWSyCGo3SHZf2m1zvDUFpr83uVcqxheHfvw=;
 b=HI9cxLy2jCfqxcFvUXkpufsCM0+6OO8zcQttc/2u1UdfPLxLt50w2umdDnDMCjvB/viZR0G/U/tiBDgBfOsMxLDjwjgSb5M3Poxu+P59+YUmBuJu82yk3K3hco087HDKZDORhkzf/kifUFS1vrE15sGkHgRHwsZUbC4J1s0K/TmdD6uReiIlEz1uqz9c7C5eo5uFeGKoVCJLkjXcDirc8qgf5bgRZ2eSLDYfCW+rediMr8cT95n1feqa+2rpOjKIILEVCIbVLuUmA7ItuCockhS8EJ1q6aXF/OneOG9NxlYn9nrlPdlD+HvF8Pdb7ygd+sjndFbtr5cW9OE4k4kNFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=2Q/8m07bBWSyCGo3SHZf2m1zvDUFpr83uVcqxheHfvw=;
 b=l3cHYgnJMbWY3sNoeuwDr5Zy4IjXVjOGTFvCxWkqwOWCGo035LbginpMyKWyOrIhfowPAWMuyViMqjEqKaLL0wZ1yKPOnguwqw5tKhl6y2QIFqZMJ5nUGEd74Jwh7XCjRJb5pVmHThGmD5jzepyoHuDcKy9niydaw4DdRbXrSNk=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Stewart Hildebrand <Stewart.Hildebrand@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: Re: [PATCH] arm/vpci: make prefetchable mem 64 bit
Thread-Topic: [PATCH] arm/vpci: make prefetchable mem 64 bit
Thread-Index: AQHalmRfJ+JLQJbdjkSQeVCdK+Xi9bF4p4OA
Date: Thu, 25 Apr 2024 08:26:07 +0000
Message-ID: <EDBAE4CE-8421-4AC5-A239-10F446D1C37D@arm.com>
References: <20240424162726.204791-1-stewart.hildebrand@amd.com>
In-Reply-To: <20240424162726.204791-1-stewart.hildebrand@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_|DU0PR08MB7416:EE_|AMS0EPF00000193:EE_|AS2PR08MB10375:EE_
X-MS-Office365-Filtering-Correlation-Id: e776c439-b539-4599-09f9-08dc650163a4
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?ekEvYmJjem9OWGdJa2N1eWY0aVY4Zkd3Rm13eFBDd1g2VmRlTUVqVUtQdUVl?=
 =?utf-8?B?aGNud2ZRenMwSDlxbEhyRExRVTUvQ1ZqSVBDMldtT1pPaEhGeTdpaTdhcHVF?=
 =?utf-8?B?SUlScmFxdUJtSHR4OEdJd3NZc1gxTGQ2WlkzNGtURVpDWUtLMVNlZkNuWEpq?=
 =?utf-8?B?ZDMwMHB6dWd4aWVwZ0FNZy81MmpmdlpEc2FRM0NoVUtaY2JVdkFkeWtYTCs5?=
 =?utf-8?B?MVlhRnlRRUtmZjJqQTdMZ2ErNEVZdE95SHBvV2g4Mk5paEgxVENJaE03cWxq?=
 =?utf-8?B?WU55WCtsRFl1TFREV2JTVnpoZEgzSUlpTVU1OVg3ZzNHV1JZWDdyRndKdzJp?=
 =?utf-8?B?cjRKMU5BS2c3NE9vOTRxSTBSSGZmdXdvV0FVNU40RkdETkNiSGg5eCt2VDRy?=
 =?utf-8?B?cExjd1ZVbkVxdVMzMlpiQzV4bkRZcFVMYzljaGtXYU9xNVNlWXNiVVFVdW1y?=
 =?utf-8?B?d093M2FhZnl1MzRrNTB1SkJuemlGaCtucGdORHlmVDZiS2tKOEZkdWxhbnJP?=
 =?utf-8?B?cGVnWHpKRWVtaE9xcEZmenNLQUlHdGEvTTI4SnFmdnJ0UXV6bVhJL3ZyZ1Vy?=
 =?utf-8?B?NHorMGxBL1J2QjNRMVJzaGZPcG9tTWgwSCs1eE44c01zOE5tYXBPUnI3cGcv?=
 =?utf-8?B?UzMvZUV1U1dJNHZVTTNYaHZSYXZaanlMbmRDaHJFaGNla2VkQzNBL1oram04?=
 =?utf-8?B?TXhucHFwcHRLWHNYaFBTUnJmYVlsNE5iZmxYNDRVcjY5UUs2Z3dlMXdQS3dw?=
 =?utf-8?B?b0V1S0Y1YVlZWXZZcnBiOXo2QldWTDBacVFHQlN5Yy96c2pxMThCOUFXWURN?=
 =?utf-8?B?WFNwV2gyRDFyckl3ZmpWTytheFRtRElWbURpWUMzbFVrMWNCaXJqeFY0MU0y?=
 =?utf-8?B?cmx6a1BkQlRaVkQ3OTNHL0lqTFd2M1dnaExYRUllMG5qaTlQS2hpQjNwaFpl?=
 =?utf-8?B?WkR3cVBYRHNLQ21zaTBaTTV5em5RUTJZSUZaMFRHM3MzR0ZCUE9jUHNrRmY0?=
 =?utf-8?B?ait6T2VBamM4bXRpYitlY1JNaFpHNGIySTlKVHZHQVZtMHlLRUYweWJUVVBO?=
 =?utf-8?B?aVpZZUlpVmFxd0U4d3MvcmFGTHpla2hucU04VHNVL2Y2K1FMUlZ4Z3VkTWlS?=
 =?utf-8?B?SjVWbDVnZW5DWXJoa3Nya3hjekxSSW9SSXI3ckM5QjhZeTRQNkErenFiZWJj?=
 =?utf-8?B?bFczOXNKWTRXQkpoOHcyMUs3aUc5cXRxS3Z4MGtHaGhNeW8vVSt0Ym5rTzF0?=
 =?utf-8?B?QUIyKzdtcEJlbUNKNHJwVGd0NUtSSzdSZG9XdmhFSXA3bGZLWGw1eXNlNEhL?=
 =?utf-8?B?Mno1SG15R01ZWFJJUGo5YWdpSlZxWUhMRmNRL1V4cjZVN0Vqb1V6aTFHRElG?=
 =?utf-8?B?Ym1iN3hYVnhuMXVjd1orS3BMaEJKMDJ2WXhaYk16OTRqRjg1MkltbE1zWDgr?=
 =?utf-8?B?cmtnbFRQai9kdlJVS2lmZUdzL2ZJRnJFWnhnLzdZMHFycC9Jd0VBeUtWd0Mz?=
 =?utf-8?B?eXFuVWZvNmtETFh4aGM2UTM2YTVIaWFVbDNtdzFSdGxsL2hOU1B5N090RG12?=
 =?utf-8?B?MlFIbWg3eWEycUhQRUZ0R09RTDNpZEFHb1d2aENTZmZ2dVdOSnd4YXVVNm03?=
 =?utf-8?B?L1ZnUmVsUTFnUmlFQzd0c3BMZ2UyYi9iZ0laYmZnMzZUdDBxTXlERHVDQnB1?=
 =?utf-8?B?UitZNE0zQW9VZlRTTitKWUdQNHBSYmxlNEdOaFpzSHhxbmdMWGRWRjE0VUNi?=
 =?utf-8?B?eWpGM0FJa2JMRjJ0OGluY2I4MGR5cFZFKzMrcHZWV2dUZGZ1ayszMG9lcmRt?=
 =?utf-8?B?ZktJdm1md0ZkRzFkY0lMUT09?=
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:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9C06BCFD9810A5418872763AF525EEA5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7416
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF00000193.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	95e1b878-1246-4fb9-de50-08dc65015b2a
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|1800799015|36860700004|82310400014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SVM5NzlyZGRVc2ZrbEZvTzRoTnl5WmV1T1hyUlcrZndSeCtqSHNOMDNGSGNL?=
 =?utf-8?B?WWQxRVFVRXJ6MVg2TjRjNlR4ZEpPcUdNK0I2MFhJVWMxcnhneVFkN2ZyYjFo?=
 =?utf-8?B?cDliUDA5bG41QXN1ZFlSU1BWLzZTZ2ZvOFZxNEpPREdhcjBRMjF4MktucE5h?=
 =?utf-8?B?L2t0bXpHSGRHTVM3SVczNmR5djJUYlVEZE11SG9NZmdEaVRlYU5OMFA4djJQ?=
 =?utf-8?B?RVRUOVQ1K3RpMjJqZkFFUE9JY0wzZTEzdXNBdUpIQzJ6RzFaRnRydkpkOTd2?=
 =?utf-8?B?aFpDaGhMWU16aklxOUxnTmF2U3pGak9zREl4THllVVFLSG1MZ0FkUGhpQzlv?=
 =?utf-8?B?dVZPOGdDaDBrTStFTk1yQVUzY0MzaWhRT1puVGRwMkE1QS95R1RyV29zUHBh?=
 =?utf-8?B?WWtHdnFDRjhwL1h5eFkxUnNJaFhLOUdlNUlxNkdpbE1HRWlVeFdlR2pUZFdT?=
 =?utf-8?B?ZHJMSktTQ0tLRTNWUzAxRnlHNXNtVGxodzdIMDNQbzNQUUtmTDVUeUVMUUNM?=
 =?utf-8?B?akJFbi9PdUVpSU9pc0N4MU5LeS9yUnpHNFBobmFqSjhvakJ6cVdZeFJPUk5B?=
 =?utf-8?B?WWYvUVcvR1lmR3pLWG55THJtNE0vaDIwZXdCZDQ3U2VBd0tWNnlDbm9CMVZJ?=
 =?utf-8?B?QjBkbWIwN2VmeHlJTlFPQ1BETUk5T3FKZ1FjRWVQaTkwNy94Q20reWU2WnNh?=
 =?utf-8?B?aXFyT2ExaDlvUVdNdGdhTVlHaS9tbDJ0S1BqMWdick1pRFlpUnlMTlVIMUZR?=
 =?utf-8?B?RE9PU2k4azdmNjBncC9lcVZxemFCdFhXbHNORjYyVEV2N1VFd2lITzFpcHMx?=
 =?utf-8?B?bXM2TStvQ21OT21ZUVZjUzN2eVJhZDFHd0lPVU1oYU9NSWJTVGErY1pQKzY3?=
 =?utf-8?B?U1pHeXNiN2JDSHRNenpCcHFjTFhqNFFhdEs4ZW8yakdDQzF5S21ERlBSaFIz?=
 =?utf-8?B?MVFDaHRzcWkvQWhwNDdVaWNhMDJYc1Z0T21zVnNLNndnczVXYTlPbE8zZ2wr?=
 =?utf-8?B?S1MyajUxaHZtL0E5NnFwWFQ0T2JZb0FZYUgzcjJhNDRJTkJqUk1zeVZEMzJL?=
 =?utf-8?B?ZDlPUDZTZmg2aTBKVmZ6T2ZPMXFFL25jTDJmQ05FYXc3VHZ2V2g2djUxeVE1?=
 =?utf-8?B?Rnk4YTJiQUtNM2tCZ0EyL0NHRTBGOWpLNXFhbE1DMllnVTJsNExodWRFTTNy?=
 =?utf-8?B?d3pyWEZaNnJmT1FjcWI4T1hlTHBlL2N4Z3BucUJNV1UydUVERGdkOXdJc21N?=
 =?utf-8?B?c1BxL3hnNFQyTTdNWGJXQkI1THNtUDZqNzdidFhsVWo1eDhpUG5FQ0w1VTM5?=
 =?utf-8?B?QlFWQ053aHR0ZHpGNVNqVkg3TDEzSi9PQ3IyUHVSZWNhUElsN2h4bXJhWWtQ?=
 =?utf-8?B?TmpWempWZVNaVTc0ZEZhYWxqK3pVcm0yZmUrS1E5ZnZYd2RIcTJHencwQjQv?=
 =?utf-8?B?NGdiSjNvYllUMXN6MEc3T3RadEUrZFU5TG5xQ2UySnBweGxRYmpDV09PK1ZC?=
 =?utf-8?B?SHg5L2ZacklnQi9vZ095MFVOWXo4eHJtUmVLclJoSUJNbmErc1MvOXFFeFJW?=
 =?utf-8?B?d2VxSGlDSFZFL0JsUkNoU2wxQWpsRzZJS0VmVEk1VC9sMThxaGJCcWdQUkhY?=
 =?utf-8?B?KzA4bGVReTlxaDdxUWtCeHNXVU84Z0x3Mi9DdDRpcXlvQ1d4RXozQlYyRHFu?=
 =?utf-8?B?K05reEMwdjRkVVJLMWdkQnZmcjdncEcrNkFsaXNIMStuNlZDYW10dzdEK3h6?=
 =?utf-8?B?MkMvOVBJVkk1b0JxaHJjMlluREwzenR3blY0RlJnZldKcUQ4b21GRytzcVNm?=
 =?utf-8?Q?lStjx/WuCBJnOW8HrQWGiDn4WFkmrqXlcICU4=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:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 08:26:21.9897
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e776c439-b539-4599-09f9-08dc650163a4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF00000193.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10375

SGkgU3Rld2FydCwNCg0KPiBPbiAyNCBBcHIgMjAyNCwgYXQgNToyN+KAr1BNLCBTdGV3YXJ0IEhp
bGRlYnJhbmQgPFN0ZXdhcnQuSGlsZGVicmFuZEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IFRoZSB2
UENJIHByZWZldGNoYWJsZSBtZW1vcnkgcmFuZ2UgaXMgPj0gNEdCLCBzbyB0aGUgbWVtb3J5IHNw
YWNlIGZsYWdzDQo+IHNob3VsZCBiZSBzZXQgdG8gNjQtYml0LiBTZWUgSUVFRSBTdGQgMTI3NS0x
OTk0IFsxXSBmb3IgYSBkZWZpbml0aW9uIG9mDQo+IHRoZSBmaWVsZC4NCj4gDQo+IFsxXSBodHRw
czovL3d3dy5kZXZpY2V0cmVlLm9yZy9vcGVuLWZpcm13YXJlL2JpbmRpbmdzL3BjaS9wY2kyXzEu
cGRmDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBTdGV3YXJ0IEhpbGRlYnJhbmQgPHN0ZXdhcnQuaGls
ZGVicmFuZEBhbWQuY29tPg0KDQpSZXZpZXdlZC1ieTogUmFodWwgU2luZ2ggPHJhaHVsLnNpbmdo
QGFybS5jb20+DQoNClJlZ2FyZHMsDQpSYWh1bCANCiA=


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 08:42:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 08:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711914.1112254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzugI-0001X4-Rg; Thu, 25 Apr 2024 08:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711914.1112254; Thu, 25 Apr 2024 08:42:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzugI-0001Wx-Ma; Thu, 25 Apr 2024 08:42:14 +0000
Received: by outflank-mailman (input) for mailman id 711914;
 Thu, 25 Apr 2024 08:42:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=d+ZV=L6=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzugH-0001Wr-AY
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 08:42:13 +0000
Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com
 [2607:f8b0:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4b4f414-02df-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 10:42:11 +0200 (CEST)
Received: by mail-ot1-x32b.google.com with SMTP id
 46e09a7af769-6ea2f95ec67so336819a34.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 01:42: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: b4b4f414-02df-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714034530; x=1714639330; 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=mB0J38hqDfCFVd2/ZijR8LCsm/ERCZ/tb60H+uq0TvM=;
        b=cRlxQ6ZDwa2ua/NWFK4o64VEQ2AO91+mAbsub6K6/JQ0m92/6jVmRYCt4NWt6I/gQP
         pcgY9y4jO8nyBR0Jmr1h9iMzlOasbkihX8F1rSCS7MBU+IIBKctX65WXIPkW6zY82y95
         G9TVFT363ARVBqujInNF7HRRmtv50jKbYGRrdHs+2KwqQWXApGKfo2GdVYI46fBfqFuJ
         VZVZKzhK59KDnWpkCUoDAZn8g2NBHh+BmHYuHMPB3XHsVxFLU95KG0FYQarJoTObhGg/
         hFAPQFyVoI3+zYxONtM4OxfWq3YzYBsXKrgwKfgnWslBnq4QTJ/Q0/zWxQ8U+wb27oHt
         OS3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714034530; x=1714639330;
        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=mB0J38hqDfCFVd2/ZijR8LCsm/ERCZ/tb60H+uq0TvM=;
        b=fw0HhyI6MD7PbAovaFqdjKR4R6gA+c8RjbzBra2QzRdhEOAI15ujxKbLj2SV1thAAj
         Ce0PYexxTjBJN/10dM2pisBtsG9uL/gAF6eYulhpgsGMv3xx20e07EWP9SjvVbpWwqH1
         cXpkiXav7U3SZ0kj5rOLBhXoWPrHKSmE1pp+DdVGqk4+rNBwEardO7Dr+rq1CGzHzb16
         6Ech06ATETg445BSaLwZEO6jhfMafiQXbSuo1WXzduV5G4XkF7Sj+o2SvyAYjl11p/wk
         fWSXjjTn3fXt1ZTst1JbwNu1M1BC6XhIageowa6hG/AfGYCJbrmaZMNsr9vmeufAa+eC
         qWjA==
X-Forwarded-Encrypted: i=1; AJvYcCXBKx1s0VR29926KFYiWsPH2n9qbTiut17kATwhzzV5SYeLhdRGgpN+KOdQswieSQnhpE6nAjXknqZ0cPjXQQ8ezdewOemP2KUmLUtbQZ4=
X-Gm-Message-State: AOJu0Yz14g15w87gL9pb1ol9oCWwURvvgYd9vx0RS2EAb77G/5BEYB+z
	mo9WhXUumDQ32SoV5XXmKyVtUTEqE032IoTMtwhAFMP2lDXZmXMaNYQZVt1MWe5w2DNg/ogrtIg
	5z2rV+dV2FmJZn1pKa7Uz9o1lNPv8zge35lRzhU5X
X-Google-Smtp-Source: AGHT+IGzxB1NBFaEgF4ziIKseLgPeSvts0Zu4mzVUOHqhXBg+RblJXHBIHnYvLFDk5I4smgI6ReOycAFb97UOHe7xjQ=
X-Received: by 2002:a05:6870:28d:b0:238:f93f:66b6 with SMTP id
 q13-20020a056870028d00b00238f93f66b6mr6675293oaf.29.1714034529644; Thu, 25
 Apr 2024 01:42:09 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1713990376.git.w1benny@gmail.com> <2e6e4f07b9e8f50ae65697c8644995aa4851cdac.1713990376.git.w1benny@gmail.com>
 <470e0d7a-918b-4df6-a7b2-e8ee2d98dbde@suse.com>
In-Reply-To: <470e0d7a-918b-4df6-a7b2-e8ee2d98dbde@suse.com>
From: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Date: Thu, 25 Apr 2024 10:41:58 +0200
Message-ID: <CAKBKdXgBLqZa41uaXWCOSPo1bDftYtwmx75Z6kRmpOeuwmZgNw@mail.gmail.com>
Subject: Re: [PATCH 1/7] x86/p2m: Add braces for better code clarity
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@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, Apr 25, 2024 at 8:21=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 24.04.2024 22:41, Petr Bene=C5=A1 wrote:
> > From: Petr Bene=C5=A1 <w1benny@gmail.com>
> >
> > No functional change.
> >
> > Signed-off-by: Petr Bene=C5=A1 <w1benny@gmail.com>
>
> Hmm. I don't really mind the extra braces, but I also don't really see a =
need.
> IOW this is not an objection, but it'll want to be someone else (if anyon=
e) to
> ack this.
>
> Jan
>
> > --- a/xen/arch/x86/mm/p2m.c
> > +++ b/xen/arch/x86/mm/p2m.c
> > @@ -106,6 +106,7 @@ void p2m_change_entry_type_global(struct domain *d,
> >          unsigned int i;
> >
> >          for ( i =3D 0; i < MAX_ALTP2M; i++ )
> > +        {
> >              if ( d->arch.altp2m_eptp[i] !=3D mfn_x(INVALID_MFN) )
> >              {
> >                  struct p2m_domain *altp2m =3D d->arch.altp2m_p2m[i];
> > @@ -114,6 +115,7 @@ void p2m_change_entry_type_global(struct domain *d,
> >                  change_entry_type_global(altp2m, ot, nt);
> >                  p2m_unlock(altp2m);
> >              }
> > +        }
> >      }
> >
> >      p2m_unlock(hostp2m);
> > @@ -139,6 +141,7 @@ void p2m_memory_type_changed(struct domain *d)
> >          unsigned int i;
> >
> >          for ( i =3D 0; i < MAX_ALTP2M; i++ )
> > +        {
> >              if ( d->arch.altp2m_eptp[i] !=3D mfn_x(INVALID_MFN) )
> >              {
> >                  struct p2m_domain *altp2m =3D d->arch.altp2m_p2m[i];
> > @@ -147,6 +150,7 @@ void p2m_memory_type_changed(struct domain *d)
> >                  _memory_type_changed(altp2m);
> >                  p2m_unlock(altp2m);
> >              }
> > +        }
> >      }
> >
> >      p2m_unlock(hostp2m);
>

I should have specified that it builds on commit
5205bda5f11cc03ca62ad2bb6c34bf738bbb3247, which did some coding style
cleanup and added braces to several places too, but missed these two.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 08:51:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 08:51:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711918.1112263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzupL-0003z4-LJ; Thu, 25 Apr 2024 08:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711918.1112263; Thu, 25 Apr 2024 08: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 1rzupL-0003yx-HR; Thu, 25 Apr 2024 08:51:35 +0000
Received: by outflank-mailman (input) for mailman id 711918;
 Thu, 25 Apr 2024 08:51:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=d+ZV=L6=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1rzupK-0003yr-3H
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 08:51:34 +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 034f9b64-02e1-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 10:51:33 +0200 (CEST)
Received: by mail-oo1-xc2d.google.com with SMTP id
 006d021491bc7-5aa3f0fcd46so445197eaf.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 01: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: 034f9b64-02e1-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714035091; x=1714639891; 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=3/ZeL0QOzD2h4upf4QOU2xgVuavumJYAoFrUUVA5t5E=;
        b=S4yHd1Pc6pnACuKNyo528nMRvRgFa93IpvEntrCB9f1Qzr+vH8htugZi9zPV7dKR5H
         zcn+WdzkfjdnDxUlwnn1J4rsXcPw77Rxla9Naf4+k3CrTkWGrri+U2shTjxqXxhr4jJ1
         L3kVCJj1aC51y8ULC0uZequKuHiPNGmqKFd+vPxhbx4Vq+/ld3EmXCzWuHaAb9qCzw/m
         ONVUrN8pYR7OkMeYxYIyaRThxodLxacklKlPd+6oatcDBtavvZ5cmo3ebpPEvE97eM3B
         B7f3s0TfDtEBJjbk9PfhmAeiXqXPiwCtlRPr0r0QOjP+A2eiZdeMmXOGbXOZkzpFTO9y
         epcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714035091; x=1714639891;
        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=3/ZeL0QOzD2h4upf4QOU2xgVuavumJYAoFrUUVA5t5E=;
        b=MZj6fN5x2YsMyBlII8/DQNNbfPz9ILWJzLd1gwyJwNgZ24aY00mBb+sobxt+5NnX1Z
         UuvKWy9a6KZGYZKU68ziLd29UfnUYeSUOcKetUzVNaA5qVNlZwe0TYFo/mSXWZ3k8s/d
         QVOVOR2A63dagwx+8osIjaGUTJ4rj679d1D8gX77wCK+fbCtwTi1B60ZmhGvDNISb9Jc
         CnghdjuslLlE/oDntkNw9YoqqkGRwIVXYHlZFGFpWLQw8dqFM/BC4kgLYVOxE24TyrjU
         iGx/8MOzT0AIJzrE1hgPIqQeo8aDeyJAs+tHASmJg2DtM0NVJhmUwEZL2JNUn1U32dJn
         GoyQ==
X-Forwarded-Encrypted: i=1; AJvYcCVn3qaNhem51ebDLPUrQ8RNwMUUgsxOS1NsqjhOIG5jZIlpr5d5UfPGdv0vLbu10RLNkA6HBldIyVFlhlP+UuFznuOjrbO8g6BwsXosdak=
X-Gm-Message-State: AOJu0YzFvA55m7e2x1guLSY5IjPTJ02MEebw6f//zr2uXOdiet5xP6Vk
	0nOUhC+I25ylyjXRuNQDxrZvXOPXTRzsiOYehKhrFPOPMtQ9gHtiMz/+XnVRZN/L0tOZFezluTq
	yoRt+PqIDNoBv61nID+GcsWoZ5Pw=
X-Google-Smtp-Source: AGHT+IEvQx2JNckm1eId4qZw3+gX5gZJiGNGpce6+1M1FRzS/jABV0BwpVUxHwNiyBb8ikyPoClw4kgPpT7sKAO5fFA=
X-Received: by 2002:a05:6870:e985:b0:21e:b096:2494 with SMTP id
 r5-20020a056870e98500b0021eb0962494mr5819579oao.50.1714035091237; Thu, 25 Apr
 2024 01:51:31 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1713990376.git.w1benny@gmail.com> <67b5dd52435132d0fb65e7b301970e17e092fa87.1713990376.git.w1benny@gmail.com>
 <9bb611ac-1187-4daa-9649-53afeeb11695@suse.com>
In-Reply-To: <9bb611ac-1187-4daa-9649-53afeeb11695@suse.com>
From: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Date: Thu, 25 Apr 2024 10:51:20 +0200
Message-ID: <CAKBKdXjs2DRD=kQ3dxfaHjSgghbLH-HgvxUkAC++N2_zPArZXA@mail.gmail.com>
Subject: Re: [PATCH 3/7] tools/xl: Add max_altp2m parameter
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 25, 2024 at 8:19=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 24.04.2024 22:42, Petr Bene=C5=A1 wrote:
> > Introduce a new max_altp2m parameter to control the maximum number of a=
ltp2m
> > views a domain can use. By default, if max_altp2m is unspecified and al=
tp2m is
> > enabled, the value is set to 10, reflecting the legacy behavior.
>
> Apart from the public header you don't even touch hypervisor code here. W=
hat
> you say above therefore is limited in scope to the tool stack. I question
> though that adding a new field without respecting it constitutes an overa=
ll
> consistent change. In particular I'm curious how you mean to deal with th=
is
> for other than x86, where altp2m as a concept doesn't exist (yet).
>
> > --- a/xen/include/public/domctl.h
> > +++ b/xen/include/public/domctl.h
> > @@ -77,6 +77,7 @@ struct xen_domctl_createdomain {
> >       */
> >      uint32_t max_vcpus;
> >      uint32_t max_evtchn_port;
> > +    uint32_t max_altp2m;
> >      int32_t max_grant_frames;
> >      int32_t max_maptrack_frames;
>
> Such a struct layout change needs to be accompanied by an interface versi=
on
> bump (which hasn't happened so far in this release cycle, afaics).
>
> Jan

So I should not include domctl.h changes in this commit and instead
edit the commit message that it's merely a preparation for the
following commit.
Then, move the xen_domctl_createdomain field creation to the commit
with the hypervisor changes (+ include interface version bump) and
then create an additional commit that ties xl and xen together.

Do I understand it correctly?


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 08:54:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 08:54:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711923.1112276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzurq-00051h-2L; Thu, 25 Apr 2024 08:54:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711923.1112276; Thu, 25 Apr 2024 08:54:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzurp-00051a-Ux; Thu, 25 Apr 2024 08:54:09 +0000
Received: by outflank-mailman (input) for mailman id 711923;
 Thu, 25 Apr 2024 08:54:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kZZq=L6=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1rzuro-00050I-7l
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 08:54:08 +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 5f3fc46b-02e1-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 10:54:06 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a51a7d4466bso75552366b.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 01:54:06 -0700 (PDT)
Received: from smtpclient.apple ([160.101.139.1])
 by smtp.gmail.com with ESMTPSA id
 lb12-20020a170906adcc00b00a588d04f28asm2084019ejb.217.2024.04.25.01.54.04
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 25 Apr 2024 01:54: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: 5f3fc46b-02e1-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714035246; x=1714640046; 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=A/ej5UwkLoNwz8EZ52H89kaBHK0JP/hPFQSa2qQKM1Q=;
        b=ExZrAsYkJxvTgXxgarFOyP8ajnpXKWoa1h4wErj1eyQ9HEEAo1i6ib+U9RRv6nLRJ7
         oV2VEBz16pev/MNZ4FFoZHpWxYwS1vcCCqKIZsvP/bVo8yjCZIivJT8wJqZg89DxvkLf
         sIwvqgeNChavEDkT5qlZHnFavGzMVlM5pS+OA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714035246; x=1714640046;
        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=A/ej5UwkLoNwz8EZ52H89kaBHK0JP/hPFQSa2qQKM1Q=;
        b=KqxbfLCy49Ep6RK3T7ALCuENccpTJriRxERpkh1Xo9s9tcR930ocpz91QVYO8Ra4Hd
         JrgPZuKyLit1jMfbOihRYSWKZ0c4RYgHzgT67qhwddo97D1cX1cTBy6hLayKy9WX3PQs
         /qCoyFlhgZymLoKYkcR6KY/Qlc9b5L3C8MSDFFCSMsYt1lCq2OunJQaAoAXYurt5q6y6
         2g5p7ILCwEBvGKRm2aBPiolz/PdSVHz7CgNeoqCxSSFQz8xoAPKnkb3audJwDgwAQiCE
         FR78ZwTOSy2XvC9Os0n47vRLic8fl/y/d+Fww7OSp24Eg/UGyntvyVGXjaZAkeW0O4Jc
         LIOQ==
X-Gm-Message-State: AOJu0Ywp8xuFXufr6owLbV2EUzOKGsOkXPWowiEIk2PLDW9ADRF1VmvI
	fHjQd/AAgjIdl3BtScNP7EODSsXXqIZNuAcDOpi5PTbiZeHbXA+Q93hr/Ofy0RE=
X-Google-Smtp-Source: AGHT+IFsi+1l3OjWnGngcb/Go58DJ+KB/RiU6bdQnQmaPGUA7JkDcOBRHz+OvMt9EMqmPkewpA9Yaw==
X-Received: by 2002:a17:906:1d04:b0:a52:3975:6e47 with SMTP id n4-20020a1709061d0400b00a5239756e47mr3164730ejh.34.1714035245648;
        Thu, 25 Apr 2024 01:54:05 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
Subject: Re: [PATCH 4/7] tools/ocaml: Add max_altp2m parameter
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <9e9be821c2fe0ac4a7b66d652c10b2edbf5e42be.1713990376.git.w1benny@gmail.com>
Date: Thu, 25 Apr 2024 09:53:54 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <82FFE0C6-E6CF-4D5D-AF09-3CB61E9034FB@cloud.com>
References: <cover.1713990376.git.w1benny@gmail.com>
 <9e9be821c2fe0ac4a7b66d652c10b2edbf5e42be.1713990376.git.w1benny@gmail.com>
To: =?utf-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
X-Mailer: Apple Mail (2.3774.500.171.1.1)



> On 24 Apr 2024, at 21:42, Petr Bene=C5=A1 <w1benny@gmail.com> wrote:
>=20
> From: Petr Bene=C5=A1 <w1benny@gmail.com>
>=20
> Allow developers using the OCaml bindings to set the max_altp2m =
parameter.
>=20
> Signed-off-by: Petr Bene=C5=A1 <w1benny@gmail.com>
> ---
> tools/ocaml/libs/xc/xenctrl.ml      |  1 +
> tools/ocaml/libs/xc/xenctrl.mli     |  1 +
> tools/ocaml/libs/xc/xenctrl_stubs.c | 17 ++++++++++-------
> 3 files changed, 12 insertions(+), 7 deletions(-)
>=20
> diff --git a/tools/ocaml/libs/xc/xenctrl.ml =
b/tools/ocaml/libs/xc/xenctrl.ml
> index 55923857ec..ed851bb071 100644
> --- a/tools/ocaml/libs/xc/xenctrl.ml
> +++ b/tools/ocaml/libs/xc/xenctrl.ml
> @@ -82,6 +82,7 @@ type domctl_create_config =3D
>     iommu_opts: domain_create_iommu_opts list;
>     max_vcpus: int;
>     max_evtchn_port: int;
> +    max_altp2m: int;
>     max_grant_frames: int;
>     max_maptrack_frames: int;
>     max_grant_version: int;
> diff --git a/tools/ocaml/libs/xc/xenctrl.mli =
b/tools/ocaml/libs/xc/xenctrl.mli
> index 9b4b45db3a..971b269d85 100644
> --- a/tools/ocaml/libs/xc/xenctrl.mli
> +++ b/tools/ocaml/libs/xc/xenctrl.mli
> @@ -74,6 +74,7 @@ type domctl_create_config =3D {
>   iommu_opts: domain_create_iommu_opts list;
>   max_vcpus: int;
>   max_evtchn_port: int;
> +  max_altp2m: int;
>   max_grant_frames: int;
>   max_maptrack_frames: int;
>   max_grant_version: int;
> diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c =
b/tools/ocaml/libs/xc/xenctrl_stubs.c
> index 2b6d3c09df..0b70cc9b08 100644
> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> @@ -207,12 +207,13 @@ CAMLprim value stub_xc_domain_create(value =
xch_val, value wanted_domid, value co
> #define VAL_IOMMU_OPTS          Field(config, 3)
> #define VAL_MAX_VCPUS           Field(config, 4)
> #define VAL_MAX_EVTCHN_PORT     Field(config, 5)
> -#define VAL_MAX_GRANT_FRAMES    Field(config, 6)
> -#define VAL_MAX_MAPTRACK_FRAMES Field(config, 7)
> -#define VAL_MAX_GRANT_VERSION   Field(config, 8)
> -#define VAL_VMTRACE_BUF_KB      Field(config, 9)
> -#define VAL_CPUPOOL_ID          Field(config, 10)
> -#define VAL_ARCH                Field(config, 11)
> +#define VAL_MAX_ALTP2M          Field(config, 6)
> +#define VAL_MAX_GRANT_FRAMES    Field(config, 7)
> +#define VAL_MAX_MAPTRACK_FRAMES Field(config, 8)
> +#define VAL_MAX_GRANT_VERSION   Field(config, 9)
> +#define VAL_VMTRACE_BUF_KB      Field(config, 10)
> +#define VAL_CPUPOOL_ID          Field(config, 11)
> +#define VAL_ARCH                Field(config, 12)
>=20
> uint32_t domid =3D Int_val(wanted_domid);
> uint64_t vmtrace_size =3D Int32_val(VAL_VMTRACE_BUF_KB);
> @@ -226,6 +227,7 @@ CAMLprim value stub_xc_domain_create(value =
xch_val, value wanted_domid, value co
> .ssidref =3D Int32_val(VAL_SSIDREF),
> .max_vcpus =3D Int_val(VAL_MAX_VCPUS),
> .max_evtchn_port =3D Int_val(VAL_MAX_EVTCHN_PORT),
> + .max_altp2m =3D Int_val(VAL_MAX_ALTP2M),
> .max_grant_frames =3D Int_val(VAL_MAX_GRANT_FRAMES),
> .max_maptrack_frames =3D Int_val(VAL_MAX_MAPTRACK_FRAMES),
> .grant_opts =3D
> @@ -257,7 +259,7 @@ CAMLprim value stub_xc_domain_create(value =
xch_val, value wanted_domid, value co
> #if defined(__i386__) || defined(__x86_64__)
>=20
> /* Quick & dirty check for ABI changes. */
> - BUILD_BUG_ON(sizeof(cfg) !=3D 64);
> + BUILD_BUG_ON(sizeof(cfg) !=3D 68);
>=20
>         /* Mnemonics for the named fields inside =
xen_x86_arch_domainconfig */
> #define VAL_EMUL_FLAGS          Field(arch_domconfig, 0)
> @@ -291,6 +293,7 @@ CAMLprim value stub_xc_domain_create(value =
xch_val, value wanted_domid, value co
> #undef VAL_MAX_GRANT_VERSION
> #undef VAL_MAX_MAPTRACK_FRAMES
> #undef VAL_MAX_GRANT_FRAMES
> +#undef VAL_MAX_ALTP2M
> #undef VAL_MAX_EVTCHN_PORT
> #undef VAL_MAX_VCPUS
> #undef VAL_IOMMU_OPTS
> --=20
> 2.34.1
>=20

This looks correct from an OCaml perspective.

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



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 09:03:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 09:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711932.1112294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzv0Z-00076r-9o; Thu, 25 Apr 2024 09:03:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711932.1112294; Thu, 25 Apr 2024 09:03: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 1rzv0Z-00075L-46; Thu, 25 Apr 2024 09:03:11 +0000
Received: by outflank-mailman (input) for mailman id 711932;
 Thu, 25 Apr 2024 09:03: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=dwVJ=L6=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1rzv0Y-000728-DQ
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 09:03:10 +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 a1e9586c-02e2-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 11:03:08 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a5872b74c44so80895266b.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 02:03: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: a1e9586c-02e2-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714035787; x=1714640587; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ItDmTkPqS4kA5MEJEvHYA6mgW8bpmqcGQZX9ai8pcw0=;
        b=cIx+s3NDLt47mxTmIl1L8tHbVkjJ2eltn8vGIfiqS0Ha6mYZlUSdsfQGKdREGuNyzb
         C0fKTbgASRPvL1qdi0KwksEP0NRdQ+LwNpO+m+GimPWFfLM78v2MzoTB3luRBhLVEXqQ
         g49HHFWJPYWgaz6lWeEdeY+j2+IK0Ix6tNmuQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714035787; x=1714640587;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ItDmTkPqS4kA5MEJEvHYA6mgW8bpmqcGQZX9ai8pcw0=;
        b=tKfQ2iq4EeemAtzqRvEhcqDBFhiBwvQ+duv1JBZTJYwALWkbA9sNedkkKnFbcLnpzf
         s8ibnAnzNjBUAoMRNTPN3CPCTl2ZT8p+9wPMUtCCOP71XmxGBaTwzIn9TJzpa5cgullN
         kX6yiwjpM2Wbj/inK2fdzn4dJbUdrP0vyWNCSsATRdhmgpO/ji4IQeG7UnBnOhM6sKC4
         d2fBbQc1tY4oMNfylPT4B374+FTlxyGeaFLG8thpWIGFRAI5rVNUy1KNj1wqAaQfmQ5u
         zm3Sn5qMXZXPQEmK35R+7wZ2Wlzp/wf25Jv7Ju+xiXPdoboVmZb6XkY9plvKFIAm6lIy
         nqhQ==
X-Gm-Message-State: AOJu0YwYb/xbF3hQoTkGE9RWVb7USlUi7PD51B6niZtJzDOvL5+xgP3Y
	Wkzc4BA7Fxsf9wgc8vmmNNOl43/q3gwAa35xKJBmFEwkXw2hy7BsY7lrJUG8n+RmBVFbKYejT2+
	QuLWi3zxosLk/T6FGXrggxyvKJwNuOSn/ba7hgSlWex4UtxZMxMS6FA==
X-Google-Smtp-Source: AGHT+IH+gHKsn6HbMMNXsm69ls7vzRiXcyLJ91aZu3InF/1z6Ogv65pgAt9lPopbqSf/MiRkDE1crJRQW/nsvDXPeZU=
X-Received: by 2002:a17:906:4353:b0:a52:33b0:fcb1 with SMTP id
 z19-20020a170906435300b00a5233b0fcb1mr2958359ejm.32.1714035786629; Thu, 25
 Apr 2024 02:03:06 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 25 Apr 2024 10:02:30 +0100
Message-ID: <CAO-mL=wk729ZVWouO2F3zueVT=mPqFMfa8txKiFpd5=m+R7y0Q@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items - May 2024 Community Call
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000031e7980616e80e8a"

--00000000000031e7980616e80e8a
Content-Type: text/plain; charset="UTF-8"

Hi all,

Please add your proposed agenda items below.

https://cryptpad.fr/pad/#/2/pad/edit/FluG1Qk1UTGr3CdvJBXTk6AF/

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 2nd May 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 16:05 UTC sharp.  Aim to join by 16: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=5&day=2&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

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

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div><div dir=3D"ltr" cl=
ass=3D"gmail_signature"><div dir=3D"ltr"><div><div>Hi all,<br><p>Please add=
 your proposed agenda items below.</p><p><a href=3D"https://cryptpad.fr/pad=
/#/2/pad/edit/FluG1Qk1UTGr3CdvJBXTk6AF/">https://cryptpad.fr/pad/#/2/pad/ed=
it/FluG1Qk1UTGr3CdvJBXTk6AF/</a>=C2=A0<br></p><p>If any action items are mi=
ssing or have been resolved, please add/remove them from the sheet.=C2=A0</=
p><p><b>CALL=C2=A0LINK:=C2=A0<a href=3D"https://www.google.com/url?q=3Dhttp=
s://meet.jit.si/XenProjectCommunityCall&amp;sa=3DD&amp;source=3Dcalendar&am=
p;ust=3D1699196661201312&amp;usg=3DAOvVaw1FcogEsMjFSd1Pmi7V0cBc" target=3D"=
_blank">https://meet.jit.si/XenProjectCommunityCall</a></b></p><p><b>DATE: =
Thursday 2nd May 2024</b></p><p><b>TIME: 1500 UTC (4 pm UK time)</b></p><i>=
Note the following administrative conventions for the=C2=A0call:</i></div><=
div><i><br></i></div><div><div><i>* To allow time to switch between meeting=
s, we plan on starting the<br>agenda at 16:05 UTC sharp.=C2=A0 Aim to join =
by 16:03 UTC if possible to allocate<br>time to sort out technical difficul=
ties.<br><br>* If you want to be CC&#39;ed please add or remove yourself fr=
om the<br>sign-up-sheet at=C2=A0<a href=3D"https://cryptpad.fr/pad/#/2/pad/=
edit/D9vGzihPxxAOe6RFPz0sRCf+/" rel=3D"noreferrer" target=3D"_blank">https:=
//cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/</a><br><br>=3D=3D=
=C2=A0Dial-in Information =3D=3D<br>## Meeting time<br>16:00 - 17:00 Britis=
h time<br>Further International meeting times:<br></i><a href=3D"https://ww=
w.timeanddate.com/worldclock/meetingdetails.html?year=3D2024&amp;month=3D5&=
amp;day=3D2&amp;hour=3D15&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37=
&amp;p3=3D224&amp;p4=3D179">https://www.timeanddate.com/worldclock/meetingd=
etails.html?year=3D2024&amp;month=3D5&amp;day=3D2&amp;hour=3D15&amp;min=3D0=
&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37&amp;p3=3D224&amp;p4=3D179</a>=C2=A0<=
br><br>##=C2=A0Dial=C2=A0in details<br><a href=3D"https://meet.jit.si/stati=
c/dialInInfo.html?room=3DXenProjectCommunityCall" rel=3D"noreferrer" target=
=3D"_blank">https://meet.jit.si/static/dialInInfo.html?room=3DXenProjectCom=
munityCall</a><div></div></div></div><div><br></div></div></div></div></div=
></div></div><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=
=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kelly Cho=
i</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></d=
iv></div></div></div></div></div>

--00000000000031e7980616e80e8a--


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 09:23:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 09:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711960.1112312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzvJq-0004PK-Qc; Thu, 25 Apr 2024 09:23:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711960.1112312; Thu, 25 Apr 2024 09:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzvJq-0004PD-N7; Thu, 25 Apr 2024 09:23:06 +0000
Received: by outflank-mailman (input) for mailman id 711960;
 Thu, 25 Apr 2024 09: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=lRmW=L6=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1rzvJp-0004P7-7r
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 09:23:05 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a462913-02e5-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 11:23:03 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-78efd533a00so49078385a.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 02:23:03 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 ay10-20020a05620a178a00b007908917946csm1720792qkb.72.2024.04.25.02.22.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 02:22: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: 6a462913-02e5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714036982; x=1714641782; 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=BNFk+B76A2WnLE/OrqFoD6eloYSE1lvTItkDQLMAwRM=;
        b=MWL7a7Y0jHNjV5xIIRP0d9O2v7jb/quYbzzL8VfgbK8n9G/kVTPg8S7zXUYqZC3ird
         9w6l82wZACUGj6N0ccrpfXZnLOBflj+gmo7MBLvqjlhv4T1i/vwJpwwV5naQhxd3Cp57
         ne5nNL3a5P3if+G7Msnb4QO4XhIUgZYfR1ftw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714036982; x=1714641782;
        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=BNFk+B76A2WnLE/OrqFoD6eloYSE1lvTItkDQLMAwRM=;
        b=JFc4PU4I4JX8SHz/32yZZUAXW1mqOeO6qQ4/PisjXxe9kwLmk7RkXlBLEKL+dg9CbN
         ALqpIAR/rZxetHLUKSwlzuuKVeNhb2hGvZBFkLX6GtQnNa8DlKkcYSRNKcEHyFGpBnEf
         SwVOgtF4ZH7LEvxMSaeS8UbECTtFkcS+V8yGPvX3g/29REzUvJnCcIsEq9gBsDAzATVa
         IpqsOjONorhhtU+m+jhUoTwOeHr3lN91+2uE3l55esnn7WXxnuCZe/BPCCJfqB+ZeiEy
         Tdx/o98tu59CRfw3+K2qRg2bQHdWvJhi4Hdq98K5VhD4YqLatkbGDL3syQATcYL3P/rp
         LbJQ==
X-Gm-Message-State: AOJu0YxJrFyeNS7c6A6umWH0NawZ+SOb5dgWMOOWtyO74looau/v18Gc
	Is5gF1E4jUS4xvxS1fy+F21PtgXdGINWM/8j/grMRA3QIg570T+mTT8YqAPV2bxZe6O2mkBBmav
	+sk0=
X-Google-Smtp-Source: AGHT+IHE2MW85O2XUlIDaetpgcVvlYtDkEpWnA86Jl33ISntG99npi73Fpa+PkqiH8iTXVhAOBGHwQ==
X-Received: by 2002:a05:620a:4485:b0:78e:e9bb:c0ec with SMTP id x5-20020a05620a448500b0078ee9bbc0ecmr7017110qkp.42.1714036977719;
        Thu, 25 Apr 2024 02:22:57 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@cloud.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH] svm: Fix MISRA 8.2 violation
Date: Thu, 25 Apr 2024 10:12:49 +0100
Message-Id: <20240425091249.2639809-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Misra 8.2 requires named parameters in prototypes.  Use the name from
the implementaiton.

Fixes 0d19d3aab0 ("svm/nestedsvm: Introduce nested capabilities bit").

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@cloud.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/include/asm/hvm/nestedhvm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/nestedhvm.h b/xen/arch/x86/include/asm/hvm/nestedhvm.h
index 0568acb25f..ea2c1bc328 100644
--- a/xen/arch/x86/include/asm/hvm/nestedhvm.h
+++ b/xen/arch/x86/include/asm/hvm/nestedhvm.h
@@ -83,7 +83,7 @@ static inline bool vvmcx_valid(const struct vcpu *v)
 }
 
 
-void start_nested_svm(struct hvm_function_table *);
-void start_nested_vmx(struct hvm_function_table *);
+void start_nested_svm(struct hvm_function_table *hvm_function_table);
+void start_nested_vmx(struct hvm_function_table *hvm_function_table);
 
 #endif /* _HVM_NESTEDHVM_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 09:40:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 09:40:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711967.1112321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzvaL-0000yY-88; Thu, 25 Apr 2024 09:40:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711967.1112321; Thu, 25 Apr 2024 09: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 1rzvaL-0000yR-4r; Thu, 25 Apr 2024 09:40:09 +0000
Received: by outflank-mailman (input) for mailman id 711967;
 Thu, 25 Apr 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=8uWZ=L6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1rzvaJ-0000yL-Im
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 09:40:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb89a38b-02e7-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 11:40:05 +0200 (CEST)
Received: from [192.168.1.20] (host-79-36-52-167.retail.telecomitalia.it
 [79.36.52.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 457E24EE0739;
 Thu, 25 Apr 2024 11:40: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: cb89a38b-02e7-11ef-b4bb-af5377834399
Message-ID: <74f86426-b3bb-4af7-85ca-15851acee6fd@bugseng.com>
Date: Thu, 25 Apr 2024 11:40:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: reorganize pipelines
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
References: <fe1fe9c964d1f2ba3cb46cbaf798cf698f341386.1713885065.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2404241704430.3940@ubuntu-linux-20-04-desktop>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2404241704430.3940@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 25/04/24 02:06, Stefano Stabellini wrote:
> On Tue, 23 Apr 2024, Federico Serafini wrote:
>> From: Simone Ballarin <simone.ballarin@bugseng.com>
>>
>> Introduce accepted_guidelines.sh: a script to autogenerate the
>> configuration file accepted.ecl from docs/misra/rules.rst which enables
>> all accepted guidelines.
>>
>> Introduce monitored.ecl: a manual selection of accepted guidelines
>> which are clean or almost clean, it is intended to be used for the
>> analyses triggered by commits.
>>
>> Reorganize tagging.ecl:
>>    -Remove "accepted" tags: keeping track of accepted guidelines tagging
>>     them as "accepted" in the configuration file tagging.ecl is no
>>     longer needed since docs/rules.rst is keeping track of them.
>>    -Tag more guidelines as clean.
>>
>> Reorganize eclair pipelines:
>>    - Set1, Set2, Set3 are now obsolete: remove the corresponding
>>      pipelines and ecl files.
>>    - Amend scheduled eclair pipeline to use accepted.ecl.
>>    - Amend triggered eclair pipeline to use monitored.ecl.
>>
>> Rename and improve action_check_clean_regressions.sh to print a
>> diagnostic in case a commit introduces a violation of a clean guideline.
>>
>> An example of diagnostic is the following:
>>
>> Failure: 13 regressions found for clean guidelines
>>    service MC3R1.R8.2: (required) Function types shall be in prototype form with named parameters:
>>     violation: 13
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> 
> Fantastic work, thank you!
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Is this patch safe to commit now? Or would it cause gitlab-ci breakage?

Yes, it is safe because the ECLAIR analysis is still allowed to fail.
Committing this patch wouldn't break the CI but it will highlight some 
regressions with the orange badge and the following messages:

arm:

Failure: 5 regressions found for clean guidelines
   service MC3R1.R1.1: (required) The program shall contain no 
violations of the standard C syntax and constraints, and shall not 
exceed the implementation's translation limits:
    violation: 5

x86:

Failure: 2 regressions found for clean guidelines
   service MC3R1.R8.2: (required) Function types shall be in prototype 
form with named parameters:
    violation: 2

(George just sent a patch to address the regressions of Rule 8.2.)

> 
> One question below.
> 
> 
>> -
>>   ####################
>>   # Clean guidelines #
>>   ####################
>>   
>>   -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
>>   
>> --service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.2||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R8.1||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.2||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R12.5||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
>> +-service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R11.7||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R14.1||MC3R1.R16.7||MC3R1.R17.1||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.5||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R20.4||MC3R1.R20.9||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R2.2||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5"
>>   }
> 
> Is this list different from monitored.ecl? If so, why? If not, maybe we
> don't need to repeat the list here as well?

Quick answer: this list is different from monitored.ecl and the two
lists must coexist.

Here, we are "tagging" some guidelines as "clean":
this list is crucial and will be (manually) updated every time a new
guideline reaches 0 violations, it shall not be removed because this tag
allows ECLAIR to print a diagnostic and fail in case unjustified
violations are found for the tagged guidelines.

The monitored.ecl is the list of guidelines which are analyzed at each
commit: the list shall include all the guidelines tagged as "clean"
(to do the proper regressions checks) but the monitored list can also
include some accepted guidelines for which it may be interesting to see
the number of violations at each commit, for example, we put there some
almost-clean guidelines (guidelines with few violations left but not yet
tagged as clean yet).
Introducing new violations of monitored but not-clean guidelines will
not cause a failure.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 09:55:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 09:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711974.1112332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzvpN-0004gB-Gk; Thu, 25 Apr 2024 09:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711974.1112332; Thu, 25 Apr 2024 09:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzvpN-0004g4-CO; Thu, 25 Apr 2024 09:55:41 +0000
Received: by outflank-mailman (input) for mailman id 711974;
 Thu, 25 Apr 2024 09: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzvpM-0004fy-98
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 09:55:40 +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 f7e1f83c-02e9-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 11:55:38 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2def8e5ae60so3863201fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 02:55: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm30713845wmq.34.2024.04.25.02.55.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 02:55: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: f7e1f83c-02e9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714038937; x=1714643737; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2D/762vZr9G5mJsuzf6YUG3HLnJNaathPwEm+iHlOu0=;
        b=PZTpW27ZAfIc2I1fLVVqpTRrER2uTKAtZMBePRgYV7Ox+5JoHe8ZqcZK5XibVoHN+q
         No7g6+IfuMMG73OKLW+bxgJEVLCyafDY5psycYAJH2TsOJaBw38NKE/dKrewKbwV16Tv
         kuuuBEYadm5lKp5+pJfmI3fUbKYd5hIIVf476+crWUwjiYZaaMrNKPj/iafDe3Vm40co
         3qs2++EidKFTwfkOcaxJaEd9GjMphg76dKD0ggBGqUU16WfgZVkekPktLBw3J0sF/LsU
         bMxt7NUp5Dr4j/yE6+MZvg8WetY3vQQz/KPRMWU5Cs++jJiiKY+pNwfEQB0/yfY4j4Dc
         dN8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714038937; x=1714643737;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2D/762vZr9G5mJsuzf6YUG3HLnJNaathPwEm+iHlOu0=;
        b=XFnilzr/stsDj6lMitR+DD9EqYiFgpVuqc2ns1ufmi/Znl9CQ0oGD835WLfucTfXbp
         /Nn2c0Wr+MF2r0Pg5au/YC5sCE/panHkp76/4V3ZZkVxu9Hoh7IUgFfzhzadvARZjNGr
         dlBwkXk6mhqF8HLh7H4pnSw221Kmz2m6HwrTDV3wSkuZvQWmK2o4OGCOSdRJT8k5At9h
         UU/bexnVPzCRnGo71cBMqaSdnWQ3SVlUQUEJC14tJ2J6VSEFs8gZmEnTUhPHiP6gNg4R
         9fHghfNF3AyhYsxnSy/F+FltuVB0EY9y+dcFJPFFqFe05zeWtLlqU8EXsG1uqm6C38nl
         cZNQ==
X-Forwarded-Encrypted: i=1; AJvYcCUaOq6GA1j+oitHq2FIIBrgGpmxQintKUZb5eTYM1UwgXkntno6QJXjOoT9Oe9gETsM4heq35NRfMeSEnOyEVZYEeyw6MasCdAfSO1NUnA=
X-Gm-Message-State: AOJu0YxeXInE8up2Vzsv5i1WM5pthgg6hbzh98rd9NDBNC93maoWcuVL
	KoaeI8VGddK/VKLrUBKe+YNYG8mb3RlWqNUS+aTackgQO4exLqDncrD24T/xhw==
X-Google-Smtp-Source: AGHT+IH3CctDgGczeJc+ddlV3/GYRyXiWMUq172SPWHD+FAjIDdvMQBuFO9KQzUzXDmGBfhjRMcY/A==
X-Received: by 2002:a2e:8611:0:b0:2d4:7292:92c0 with SMTP id a17-20020a2e8611000000b002d4729292c0mr3184556lji.20.1714038937597;
        Thu, 25 Apr 2024 02:55:37 -0700 (PDT)
Message-ID: <0c24ae5e-3912-4396-bf0c-6b60a3ffaa36@suse.com>
Date: Thu, 25 Apr 2024 11:55:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] svm: Fix MISRA 8.2 violation
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@cloud.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>, xen-devel@lists.xenproject.org
References: <20240425091249.2639809-1-george.dunlap@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240425091249.2639809-1-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.04.2024 11:12, George Dunlap wrote:
> Misra 8.2 requires named parameters in prototypes.  Use the name from
> the implementaiton.
> 
> Fixes 0d19d3aab0 ("svm/nestedsvm: Introduce nested capabilities bit").
> 
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Apr 25 09:56:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 09:56:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711977.1112342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzvqa-0005Mc-OZ; Thu, 25 Apr 2024 09:56:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711977.1112342; Thu, 25 Apr 2024 09:56:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzvqa-0005MV-LJ; Thu, 25 Apr 2024 09:56:56 +0000
Received: by outflank-mailman (input) for mailman id 711977;
 Thu, 25 Apr 2024 09:56: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzvqY-0005LN-Or
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 09:56:54 +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 251a663e-02ea-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 11:56:54 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2dde561f852so8345011fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 02:56: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
 o12-20020a05600c4fcc00b00418a6d62ad0sm30713845wmq.34.2024.04.25.02.56.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 02:56:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 251a663e-02ea-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714039013; x=1714643813; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YvEExoEZ7WjqPfjzgclTNClMgatEXlrRXHmHN6ajXZ8=;
        b=gLjofVfenVRLph/pB7Wt2NfohrN9xOAaLNw/AJtEq6tB/qpnOxMHxui0JJlQCVeSTk
         4c8OEulhWdRapa6nOCYkr2RFKAIIPE/52N+MYsSDfgFDnGViIfBSzXWs4XtHbQUQBtN3
         ixdCMFkxyzbBed4kxlzbSsG1I8TGeQ8LucXbGxvaecjlFYbNcp9PIxIUkN2T9THxX8fP
         xlEqIOdqloPZ9/TDIUVROoERIYt6vgKuHHa5Q2oFZWzOKHo+WX93H1/rRuoQCRb6D0O7
         HxIE2IfewDHaaKVae5Mfhl9kylIoEgXjUYH8CmQbs8IPF4AP+TUr87fkCjyOQOS04TRi
         w/eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714039013; x=1714643813;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YvEExoEZ7WjqPfjzgclTNClMgatEXlrRXHmHN6ajXZ8=;
        b=pjMKpmSI/9/DUIGPsY61fKtpGLBDuZLA491Fa1AHuwXQaiUJMX8LmGDRm3DCw7FnXO
         ipC9TIho2JeRagofbDJRgMQjteOiIbeQDhXlwE817j2wLyff8WWp3cN6bTtsNztjUJzE
         XuzivExkMuubguwzxulaapnD92yMIapyjgd99BulCfeb65TQ8KjQg9ZZTcWCSbt6mSMc
         icTncSKMzoKmr14PemnizTBGuAIQ7jXq2rOnz0yxRELa5JnLeDs+zNIF6wTI6cpKH/Fi
         CjDLCPXV6Q60oikooLFpUYxYVn4JGGc9nAKYI0IHgNDSnwIoprfCqDPPDJ6mImsuueQt
         SU6A==
X-Forwarded-Encrypted: i=1; AJvYcCXvt8zT8pgLnQexBq2qylrjvwKVAzPE+boxpw1x9jN5uOk4NBruHjfyJnuLCquAA/Zu0AOxcxzOVz+CsYb7S+Rypev1SDXIXGbxQ9ykvkw=
X-Gm-Message-State: AOJu0YwFXQB3bu/TP1UCfZ3bUklhKhALuQTkbhDEDclHOQfuHoKzaQi2
	GZXBxEbJEGjUzGexX0oGh4tMktdJT3h0YtBVgTFg6VHR+HUgoene/UyGSyAuwA==
X-Google-Smtp-Source: AGHT+IF9bifCXu96PatSbcAJSxhEahTtchdtYpOaqMoLiG4NRbNnhfXVw1kkNELS1rHso8b2oMjiPw==
X-Received: by 2002:a05:6512:517:b0:516:9eba:8f2b with SMTP id o23-20020a056512051700b005169eba8f2bmr3763479lfb.12.1714039013616;
        Thu, 25 Apr 2024 02:56:53 -0700 (PDT)
Message-ID: <f4d4ecd4-1410-4446-883a-4a77d4274ad5@suse.com>
Date: Thu, 25 Apr 2024 11:56:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] tools/xl: Add max_altp2m parameter
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@gmail.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1713990376.git.w1benny@gmail.com>
 <67b5dd52435132d0fb65e7b301970e17e092fa87.1713990376.git.w1benny@gmail.com>
 <9bb611ac-1187-4daa-9649-53afeeb11695@suse.com>
 <CAKBKdXjs2DRD=kQ3dxfaHjSgghbLH-HgvxUkAC++N2_zPArZXA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAKBKdXjs2DRD=kQ3dxfaHjSgghbLH-HgvxUkAC++N2_zPArZXA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.04.2024 10:51, Petr Beneš wrote:
> On Thu, Apr 25, 2024 at 8:19 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 24.04.2024 22:42, Petr Beneš wrote:
>>> Introduce a new max_altp2m parameter to control the maximum number of altp2m
>>> views a domain can use. By default, if max_altp2m is unspecified and altp2m is
>>> enabled, the value is set to 10, reflecting the legacy behavior.
>>
>> Apart from the public header you don't even touch hypervisor code here. What
>> you say above therefore is limited in scope to the tool stack. I question
>> though that adding a new field without respecting it constitutes an overall
>> consistent change. In particular I'm curious how you mean to deal with this
>> for other than x86, where altp2m as a concept doesn't exist (yet).
>>
>>> --- a/xen/include/public/domctl.h
>>> +++ b/xen/include/public/domctl.h
>>> @@ -77,6 +77,7 @@ struct xen_domctl_createdomain {
>>>       */
>>>      uint32_t max_vcpus;
>>>      uint32_t max_evtchn_port;
>>> +    uint32_t max_altp2m;
>>>      int32_t max_grant_frames;
>>>      int32_t max_maptrack_frames;
>>
>> Such a struct layout change needs to be accompanied by an interface version
>> bump (which hasn't happened so far in this release cycle, afaics).
> 
> So I should not include domctl.h changes in this commit and instead
> edit the commit message that it's merely a preparation for the
> following commit.
> Then, move the xen_domctl_createdomain field creation to the commit
> with the hypervisor changes (+ include interface version bump) and
> then create an additional commit that ties xl and xen together.
> 
> Do I understand it correctly?

That's one way of approaching it, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 10:13:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 10:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711983.1112352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzw6D-0000kb-1J; Thu, 25 Apr 2024 10:13:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711983.1112352; Thu, 25 Apr 2024 10:13:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzw6C-0000kU-U4; Thu, 25 Apr 2024 10:13:04 +0000
Received: by outflank-mailman (input) for mailman id 711983;
 Thu, 25 Apr 2024 10:13: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=kZZq=L6=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1rzw6B-0000k8-7z
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 10:13:03 +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 655a2564-02ec-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 12:13:00 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a5200afe39eso84915366b.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 03:13:00 -0700 (PDT)
Received: from smtpclient.apple ([160.101.139.1])
 by smtp.gmail.com with ESMTPSA id
 hy25-20020a1709068a7900b00a4e03c28fd5sm9391565ejc.43.2024.04.25.03.12.59
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 25 Apr 2024 03:13: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: 655a2564-02ec-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714039980; x=1714644780; 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=HTY0/4d6v+brvzu1H17q3AeanK8PkY208+oWQiPYkb4=;
        b=Zuqjv1Cc6lmZ/M7CACRy3DoLyqTmkrWrokqU4FZA2stY+eh+GIuyUH/PFdYjPR+8QL
         Q/mojMzOKtyfrbMMroi/QFq7aNOKd1k59zptCEOCBJS4v6HD3P09Lgu1bJThiIx5BLrB
         cKEmojz16LI4sHRefEULXgmcTeYKZ0gpA3UQo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714039980; x=1714644780;
        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=HTY0/4d6v+brvzu1H17q3AeanK8PkY208+oWQiPYkb4=;
        b=YiMiG8qffediRlInusaiXrJ2Uaq/z1E3MQUWTQGcc0IMTU4hGdM1UW03YX123JEIv9
         ngAaf0yi4vorM3adzR5Nng2UGGpaLNWX9Kn/9MCUPfp4UG4LzEtqaAz8Ki34+QCjJksA
         ZLP1xGe6F7yfM1Ch2SuimznhlRDil4Ftz5d2mA14+TIE4Zw1DDrSwaeXruxcL/pimLIG
         nHPiq8cc6n8OTPa3yZekYeGgu8d8xoZAYFDTsAm11XbF6mS2eRvyfgVb1p9D9tmNYpbe
         YM2Pi3uMzI15lYrODuPHAjD+o7xI6HgofZAqRcXkaAAwIxJ6ZmQ8s2Re8CAJhQ50QpBm
         jDTQ==
X-Gm-Message-State: AOJu0YwnLThmXORX6MXqWPtpaKS6zbl30ERszNzKRsRz/a4F6ovNT8pd
	N9lXl8d52gVBpR7dIYtN2atMWLEO9NCQXAJqpDUYeWRN9xK5pcqlSGiANu0LvNQ=
X-Google-Smtp-Source: AGHT+IEcQuh862Qip8HTt41welKmp5F7SL9SP+Z4nMU6756fUrcN5l9CIFz77eQ94nSlP0NxvmqqoA==
X-Received: by 2002:a17:907:7e86:b0:a55:ac7c:4321 with SMTP id qb6-20020a1709077e8600b00a55ac7c4321mr6106638ejc.49.1714039980379;
        Thu, 25 Apr 2024 03:13:00 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
Subject: Re: [PATCH v1] tools/ocaml: fix warnings
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <bc752eab0aafd7981634e4f5be7a53f49e1f3cef.1711556875.git.edwin.torok@cloud.com>
Date: Thu, 25 Apr 2024 11:12:49 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 David Scott <dave@recoil.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <A1809DA0-8E73-4375-A98C-B92024B2EDF5@cloud.com>
References: <bc752eab0aafd7981634e4f5be7a53f49e1f3cef.1711556875.git.edwin.torok@cloud.com>
To: =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.500.171.1.1)



> On 27 Mar 2024, at 16:30, Edwin T=C3=B6r=C3=B6k =
<edwin.torok@cloud.com> wrote:
>=20
> Do not rely on the string values of the `Failure` exception,
> but use the `_opt` functions instead.
>=20
> Signed-off-by: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> ---
> tools/ocaml/xenstored/config.ml | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>=20
> diff --git a/tools/ocaml/xenstored/config.ml =
b/tools/ocaml/xenstored/config.ml
> index 95ef745a54..e0df236f73 100644
> --- a/tools/ocaml/xenstored/config.ml
> +++ b/tools/ocaml/xenstored/config.ml
> @@ -83,25 +83,27 @@ let validate cf expected other =3D
>   let err =3D ref [] in
>   let append x =3D err :=3D x :: !err in
>   List.iter (fun (k, v) ->
> +      let parse ~err_msg parser v f =3D
> +        match parser v with
> +        | None -> append (k, err_msg)
> +        | Some r -> f r
> +      in
>       try
>         if not (List.mem_assoc k expected) then
>           other k v
>         else let ty =3D List.assoc k expected in
>           match ty with
>           | Unit f       -> f ()
> -          | Bool f       -> f (bool_of_string v)
> +          | Bool f       -> parse ~err_msg:"expect bool arg" =
bool_of_string_opt v f
>           | String f     -> f v
> -          | Int f        -> f (int_of_string v)
> -          | Float f      -> f (float_of_string v)
> -          | Set_bool r   -> r :=3D (bool_of_string v)
> +          | Int f        -> parse ~err_msg:"expect int arg" =
int_of_string_opt v f
> +          | Float f      -> parse ~err_msg:"expect float arg" =
float_of_string_opt v f
> +          | Set_bool r   -> parse ~err_msg:"expect bool arg" =
bool_of_string_opt v (fun x -> r :=3D x)
>           | Set_string r -> r :=3D v
> -          | Set_int r    -> r :=3D int_of_string v
> -          | Set_float r  -> r :=3D (float_of_string v)
> +          | Set_int r    -> parse ~err_msg:"expect int arg" =
int_of_string_opt v (fun x -> r:=3D x)
> +          | Set_float r  -> parse ~err_msg:"expect float arg" =
float_of_string_opt v (fun x -> r :=3D x)
>       with
>       | Not_found                 -> append (k, "unknown key")
> -      | Failure "int_of_string"   -> append (k, "expect int arg")
> -      | Failure "bool_of_string"  -> append (k, "expect bool arg")
> -      | Failure "float_of_string" -> append (k, "expect float arg")
>       | exn                       -> append (k, Printexc.to_string =
exn)
>     ) cf;
>   if !err !=3D [] then raise (Error !err)
> --=20
> 2.44.0
>=20


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



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 10:44:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 10:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711995.1112362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzwak-0007sF-D9; Thu, 25 Apr 2024 10:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711995.1112362; Thu, 25 Apr 2024 10:44:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzwak-0007s8-9J; Thu, 25 Apr 2024 10:44:38 +0000
Received: by outflank-mailman (input) for mailman id 711995;
 Thu, 25 Apr 2024 10:44:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PcQm=L6=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1rzwaj-0007s2-QE
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 10:44:37 +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 ced2cdd5-02f0-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 12:44:35 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41b56838250so2823075e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 03:44:35 -0700 (PDT)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust35.5-4.cable.virginm.net. [82.13.64.36])
 by smtp.gmail.com with ESMTPSA id
 c9-20020a05600c0a4900b0041b43d2d745sm2018632wmq.7.2024.04.25.03.44.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 03:44: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: ced2cdd5-02f0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714041875; x=1714646675; 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=scw86TObtbsV2uEXam7z2Vt/TDf/lSSGf+ayfp89WGY=;
        b=BRvMNzeWz08BVt+xidJCVshRergV67TumVG+57r5n0kW0p6gzhvvreqtgmb4W51hgE
         U6uX85/nlLFWbAvUTkSmi/cBQrAHhXjCPk+kjWiW2GAPOVsu0cu8YFpuR79db9UF1+N5
         bXYTuP3cst+gsYNovbJtsA1pzxHqrStMwiWfk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714041875; x=1714646675;
        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=scw86TObtbsV2uEXam7z2Vt/TDf/lSSGf+ayfp89WGY=;
        b=wGts8j3FpANpsKr8A1fOcJqB22INooSP3cZyfz3M1veIto5xnCPk8M3DuwTwYeQePy
         GSddgU3iYYogX0CafXstTjpNFIF/OnfUNw2Yett7sIRxinPPme/i3EfS3d6hp3eoAvpG
         5WQQnGvAngMi0xVBrNvPWQ8oKXM8d/+I+VsVifFJVVVoTWUU1Ujrl45X76QYnESrM2kQ
         oJ+FzxVRRJMGFumwDuzABTzKipldOT/hlsf3PrPDwueRVsPq0Hh1K4CldxTy7T2zq0mA
         3U57ALorv3FOHp07Q6w9kFDcwSon5pEEKDiT4aq8shmY9XwhP46m0zjtbWDQhYIcwnvI
         mmLQ==
X-Gm-Message-State: AOJu0YzxTYRFSHKwbkW9IwfssLOI4VDznGpjB1vxYuBF3XxRmQyT+D5B
	/FgE6o6BoUj3lhOrTHmjPkuEXwSoWOw7VB/tmlUuD6tCmJMvqC6/FGkjOYpldqqKwV0bpBHLqrx
	t
X-Google-Smtp-Source: AGHT+IENTBe9bLxr8WRnWfBfEGBlZuSBZkyRWGdy7OZG8SNpl8sYsp2j4UbjI8KmKBaWchGXhsu26Q==
X-Received: by 2002:a7b:ce8e:0:b0:41a:e5f5:99f8 with SMTP id q14-20020a7bce8e000000b0041ae5f599f8mr5479467wmj.18.1714041875047;
        Thu, 25 Apr 2024 03:44:35 -0700 (PDT)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] MAINTAINERS: Update my email address
Date: Thu, 25 Apr 2024 11:43:43 +0100
Message-Id: <20240425104343.36698-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 MAINTAINERS | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index d1850c134d..6ba7d2765f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -208,7 +208,7 @@ Maintainers List (try to look for most precise areas first)
 
 9PFSD
 M:	Juergen Gross <jgross@suse.com>
-M:	Anthony PERARD <anthony.perard@citrix.com>
+M:	Anthony PERARD <anthony@xenproject.org>
 S:	Supported
 F:	tools/9pfsd/
 
@@ -381,7 +381,7 @@ F:	xen/arch/x86/machine_kexec.c
 F:	xen/arch/x86/x86_64/kexec_reloc.S
 
 LIBS
-M:	Anthony PERARD <anthony.perard@citrix.com>
+M:	Anthony PERARD <anthony@xenproject.org>
 R:	Juergen Gross <jgross@suse.com>
 S:	Supported
 F:	tools/include/libxenvchan.h
@@ -427,7 +427,7 @@ S:	Supported
 F:	tools/ocaml/
 
 OVMF UPSTREAM
-M:	Anthony PERARD <anthony.perard@citrix.com>
+M:	Anthony PERARD <anthony@xenproject.org>
 S:	Supported
 T:	git https://xenbits.xenproject.org/git-http/ovmf.git
 
@@ -460,7 +460,7 @@ T:	git https://xenbits.xenproject.org/git-http/qemu-xen-traditional.git
 
 QEMU UPSTREAM
 M:	Stefano Stabellini <sstabellini@kernel.org>
-M:	Anthony Perard <anthony.perard@citrix.com>
+M:	Anthony Perard <anthony@xenproject.org>
 S:	Supported
 T:	git https://xenbits.xenproject.org/git-http/qemu-xen.git
 
@@ -512,7 +512,7 @@ F:	xen/arch/arm/include/asm/tee
 F:	xen/arch/arm/tee/
 
 TOOLSTACK
-M:	Anthony PERARD <anthony.perard@citrix.com>
+M:	Anthony PERARD <anthony@xenproject.org>
 S:	Supported
 F:	autogen.sh
 F:	config/*.in
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 10:45:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 10:45:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.711998.1112372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzwbQ-0000Gv-Q6; Thu, 25 Apr 2024 10:45:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 711998.1112372; Thu, 25 Apr 2024 10:45:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzwbQ-0000Go-Ma; Thu, 25 Apr 2024 10:45:20 +0000
Received: by outflank-mailman (input) for mailman id 711998;
 Thu, 25 Apr 2024 10:45:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzwbP-0007s2-0f
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 10:45:19 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e779e8c8-02f0-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 12:45:17 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2dd6c160eaaso9653131fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 03:45: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
 v11-20020a05600c444b00b00418d5b16f85sm26954858wmn.21.2024.04.25.03.45.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 03:45: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: e779e8c8-02f0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714041916; x=1714646716; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=XQDIgLtMDd/1FcA7Ksnm+UpSKzgxxxqOEvnEcJ5ONN0=;
        b=g70ODuWO3D/C64I4Zg4CSTNJ43I8KtO2VGcrSQmaMWxZ5sEkl5hhzqnvQY/OgK1k2h
         S365VQ08JXIsEPFA3ECxLFc8lchGzAfPxE0jemYwqNo/k1Od76n9Yw3yJHDKidEP29BD
         U0Zld/nAm5Tzq3yViOAjMnnFAkKI70PHlHFnQklFdM/Cqkcdc502edYkL1K2V5jVdzEy
         drB5Mqz8kNPmMQZdNGtFf/g7iRbyXVg+10LQ9SD2pCsw7w4ZVin1aUcqSmPdZ6c09sTK
         hBSzUcKjsaAOCtUI9feOIICdyk1+u9c+Hcc7/VLkxa5NjCzotECKkU5dhnj9m2LA8Dwc
         L9oA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714041916; x=1714646716;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=XQDIgLtMDd/1FcA7Ksnm+UpSKzgxxxqOEvnEcJ5ONN0=;
        b=nxjmgWRyARUej6RHuUZTPOuQaR45c5DLDd7/fw/J2s5Mv6b5rfHXtB8l1xzC4trhZy
         1dMnqw0WNMPUmRIc1FXvmU1/H/a3nM/06xXynd9+fGFtduhTd5ta/5iWUpb3j1SPpJ23
         ddKuf7m7MkpbR6oc1HUzpLO45xTVmRsyMh9VP2J4lYGpuhBAzhsBNG1apeSpS4qtNNmL
         2n1d2mMEsAdLYI4Z3w3hdhcCr5bTCPJalIn8dcJgTAFuFhAby3KibcLIT8t7a65A7xIW
         g45N6whVwto5ytAOkNxgrGP2LYlOKsNlAogyJOW7yluSADOEDy8lSLUzJNzzmHD1XvJp
         WfxQ==
X-Forwarded-Encrypted: i=1; AJvYcCXLrearSwW/zfzeK9zHbCfe3t8m0yPK5uUPJhJ3YuQpUmG28MMs3PXWj8+K35xxhVAI0kDlMIJXu0a1QPUVMRXLjAwqyrnq1znZohOR+9k=
X-Gm-Message-State: AOJu0YxQaZQIv2sH/26xaIIwlHC5/Q4QtOla96ew96S12bUsw7vhvjI7
	grgn+8yvvXKwIhYlfNTEKE7xsQyqRocNVLkQ3PN/UyFIlob4o54/a6NBLtmK5g==
X-Google-Smtp-Source: AGHT+IFzLHOe5iZwO3+YtpkN28HBBQ/5sDJmCigYGKR5I/EjAS1Z9d+IrO3qL/GyBSbah/qIiWpi7w==
X-Received: by 2002:a2e:84c9:0:b0:2da:36be:1b4a with SMTP id q9-20020a2e84c9000000b002da36be1b4amr4341610ljh.19.1714041916594;
        Thu, 25 Apr 2024 03:45:16 -0700 (PDT)
Message-ID: <c2a9006f-a778-429c-848e-ab32529b43f1@suse.com>
Date: Thu, 25 Apr 2024 12:45:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/7] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
 <3e1150560a41bd567049627d684cd4e754530869.1710342968.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3e1150560a41bd567049627d684cd4e754530869.1710342968.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2024 16:16, Marek Marczykowski-Górecki wrote:
> QEMU needs to know whether clearing maskbit of a vector is really
> clearing, or was already cleared before. Currently Xen sends only
> clearing that bit to the device model, but not setting it, so QEMU
> cannot detect it. Because of that, QEMU is working this around by
> checking via /dev/mem, but that isn't the proper approach.
> 
> Give all necessary information to QEMU by passing all ctrl writes,
> including masking a vector. Advertise the new behavior via
> XENVER_get_features, so QEMU can know it doesn't need to access /dev/mem
> anymore.
> 
> While this commit doesn't move the whole maskbit handling to QEMU (as
> discussed on xen-devel as one of the possibilities), it is a necessary
> first step anyway. Including telling QEMU it will get all the required
> information to do so. The actual implementation would need to include:
>  - a hypercall for QEMU to control just maskbit (without (re)binding the
>    interrupt again
>  - a methor for QEMU to tell Xen it will actually do the work
> Those are not part of this series.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

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

> ---
> I did not added any control to enable/disable this new behavior (as
> Roger have suggested for possible non-QEMU ioreqs). I don't see how the
> new behavior could be problematic for some existing ioreq server (they
> already received writes to those addresses, just not all of them),
> but if that's really necessary, I can probably add a command line option
> to restore previous behavior system-wide.

Roger, please indicate whether you consider things to be okay to go in
as is, or whether you demand this earlier concern of yours to be addressed
by adding a command line option (or even finer-grained control).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 11:14:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 11:14:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712014.1112382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzx3R-00070I-UJ; Thu, 25 Apr 2024 11:14:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712014.1112382; Thu, 25 Apr 2024 11: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 1rzx3R-00070B-Rj; Thu, 25 Apr 2024 11:14:17 +0000
Received: by outflank-mailman (input) for mailman id 712014;
 Thu, 25 Apr 2024 11:14: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 1rzx3Q-0006ym-Qc; Thu, 25 Apr 2024 11:14: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 1rzx3Q-0002FE-ES; Thu, 25 Apr 2024 11:14: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 1rzx3Q-0008QG-44; Thu, 25 Apr 2024 11:14:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzx3Q-00064k-2r; Thu, 25 Apr 2024 11:14:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dfOep5k3pULmR50GX/IUSYAnkbaRozfUsPUNGVwySJ4=; b=jKNZTrpu17Oh9Xni3sTJMuHTn7
	ZM5pZBVA+hXn3/cvIi72oNv6vJihGRh9bRdLZxE0KtD7HujAUg322HnwmRBODbt0Y4VSL1gfJc9He
	uNT/QZekY/cmFAsTnWUEksNO+Ekj9hiVscC9agmGMwO+WARwVi7tGPoqx9CdFTStRqNI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185795-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185795: 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=524eee7ce019da69df356a7bdd2174b94a6787b1
X-Osstest-Versions-That:
    xen=31d6b5b4a7c84818294dacca7a07e92f52393c9d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 11:14:16 +0000

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

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                  524eee7ce019da69df356a7bdd2174b94a6787b1
baseline version:
 xen                  31d6b5b4a7c84818294dacca7a07e92f52393c9d

Last test of basis   185790  2024-04-25 01:00:22 Z    0 days
Testing same since   185795  2024-04-25 08:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Petr Beneš <w1benny@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
   31d6b5b4a7..524eee7ce0  524eee7ce019da69df356a7bdd2174b94a6787b1 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 11:15:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 11:15:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712019.1112392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzx4l-0007vn-8c; Thu, 25 Apr 2024 11:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712019.1112392; Thu, 25 Apr 2024 11: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 1rzx4l-0007vg-5i; Thu, 25 Apr 2024 11:15:39 +0000
Received: by outflank-mailman (input) for mailman id 712019;
 Thu, 25 Apr 2024 11: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzx4k-0007vS-FZ
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 11:15:38 +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 23ab2f82-02f5-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 13:15:36 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-56c5d05128dso788562a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 04:15: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
 qu20-20020a170907111400b00a5242ec4573sm9378837ejb.29.2024.04.25.04.15.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 04:15: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: 23ab2f82-02f5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714043735; x=1714648535; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6NYa+swirOWz7pRfJTN723OgMczUciUD2iu62lx8/P8=;
        b=ANEA8KximnX/Ks3qbHDbKw8X6MveJKm6g71mJ2z5twcV2SgHDiFdhCN1o5p6je9OqE
         mhmzngZtrzL6L1gfkvdfd0r38TrUAEcE54KxkItHNVmjAEdf5ijvcXs1j6urlcHQv8CY
         1G4YAukyxDk21FbuY7hjlZ2g1072nKpJXFcf1aKu5Pgq+x1okoGkCp3FQ+o+DJMAN//s
         QCGBpt32t+C/GwGncdmn09mnnvxDeLUpXzp2zm3dbeafgPALbVXcE+UrfDvXyviWnxcB
         HARwE7cOGGZZUdkrhemiMfurqIkUh2Ub8YOa06BD8ZXSPeWvpDTmCbJnjAXmbgLCdtQL
         r1TA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714043735; x=1714648535;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6NYa+swirOWz7pRfJTN723OgMczUciUD2iu62lx8/P8=;
        b=eoyj3VijCrzbX3I6CInX2aNRaUTy2aWYL9XCYfxhLpGtcxf5oRB56EjOsDipSdzbWx
         QpGs/LAfRpDb5Vugg3fatR0kWQCwDu+bBtTpJBCCqIqVBl4sZqLRmvY6NTyaauduROqz
         VNm4WZp4IyPW/UmifKw+Im3HCeWlFftu+DM6zQHrGwBUDjr1PxLynAuv79+TQBziRV1t
         goC2OHpqF8/HtPYK9SuER1oaHjJ2AAkEW5yHPmNd10Om/hqWfo/AsiBBayWj02ODzLI7
         QyRD2cKmpVA/xU+cXp89ytXb2ky76ry77IR5zXSzsoXvtc3LIvfJdJ5CpjPuYQ3kziqV
         TAFA==
X-Forwarded-Encrypted: i=1; AJvYcCW7tBg7SGJAv/bRyHzdsJi0HZZzSrO9GZAPiYu0XqSce7E6er5o/X33NWt6DENfr/q2jli6WIXfWqwYWXsJ0L2tdDGrqnBag+8RPyVH5t8=
X-Gm-Message-State: AOJu0YxNMyS5qZ1UbqFPsv0y0NPeC0wVfzx5NoTRUYoQfL8YETwX7dBl
	otV3ekXIDuCX0GoEiuDU8mJXXB8nNIhmyyo3UqEkAzRp3zHgj2JBWFmdgI4rYA==
X-Google-Smtp-Source: AGHT+IHh6v2pAs3GeSJJDSnWEiOzACfRDYQpcdi2lgXyV5/wszHLnov2OD4ggcZCbVBLHcDUMOC3VA==
X-Received: by 2002:a17:907:8686:b0:a58:bdfa:c2b1 with SMTP id qa6-20020a170907868600b00a58bdfac2b1mr788136ejc.9.1714043735604;
        Thu, 25 Apr 2024 04:15:35 -0700 (PDT)
Message-ID: <68f99f0a-e27a-449f-8d13-fb5ca9f6069a@suse.com>
Date: Thu, 25 Apr 2024 13:15:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/7] x86/hvm: Allow access to registers on the same
 page as MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
 <a040f703a884ff4516314f88b22ee0f9f17329a9.1710342968.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a040f703a884ff4516314f88b22ee0f9f17329a9.1710342968.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2024 16:16, Marek Marczykowski-Górecki wrote:
> Some devices (notably Intel Wifi 6 AX210 card) keep auxiliary registers
> on the same page as MSI-X table. Device model (especially one in
> stubdomain) cannot really handle those, as direct writes to that page is
> refused (page is on the mmio_ro_ranges list). Instead, extend
> msixtbl_mmio_ops to handle such accesses too.
> 
> Doing this, requires correlating read/write location with guest
> of MSI-X table address. Since QEMU doesn't map MSI-X table to the guest,
> it requires msixtbl_entry->gtable, which is HVM-only. Similar feature
> for PV would need to be done separately.
> 
> This will be also used to read Pending Bit Array, if it lives on the same
> page, making QEMU not needing /dev/mem access at all (especially helpful
> with lockdown enabled in dom0). If PBA lives on another page, QEMU will
> map it to the guest directly.
> If PBA lives on the same page, discard writes and log a message.
> Technically, writes outside of PBA could be allowed, but at this moment
> the precise location of PBA isn't saved, and also no known device abuses
> the spec in this way (at least yet).
> 
> To access those registers, msixtbl_mmio_ops need the relevant page
> mapped. MSI handling already has infrastructure for that, using fixmap,
> so try to map first/last page of the MSI-X table (if necessary) and save
> their fixmap indexes. Note that msix_get_fixmap() does reference
> counting and reuses existing mapping, so just call it directly, even if
> the page was mapped before. Also, it uses a specific range of fixmap
> indexes which doesn't include 0, so use 0 as default ("not mapped")
> value - which simplifies code a bit.
> 
> GCC 12.2.1 gets confused about 'desc' variable:
> 
>     arch/x86/hvm/vmsi.c: In function ‘msixtbl_range’:
>     arch/x86/hvm/vmsi.c:553:8: error: ‘desc’ may be used uninitialized [-Werror=maybe-uninitialized]
>       553 |     if ( desc )
>           |        ^
>     arch/x86/hvm/vmsi.c:537:28: note: ‘desc’ was declared here
>       537 |     const struct msi_desc *desc;
>           |                            ^~~~
> 
> It's conditional initialization is actually correct (in the case where
> it isn't initialized, function returns early), but to avoid
> build failure initialize it explicitly to NULL anyway.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Sadly there are further more or less cosmetic issues. Plus, as indicated
before, I'm not really happy for us to gain all of this extra code. In
the end I may eventually give an R-b not including the usually implied
A-b, to indicate the code (then) looks okay to me but I still want
someone else to actually ack it to allow it going in.

> +static int adjacent_read(
> +    unsigned int fixmap_idx,
> +    paddr_t address, unsigned int len, uint64_t *pval)
> +{
> +    const void __iomem *hwaddr;
> +
> +    *pval = ~0UL;
> +
> +    ASSERT(fixmap_idx != ADJACENT_DISCARD_WRITE);

Why only one of the special values? And before you add the other here:
Why not simply ASSERT(fixmap_idx <= FIX_MSIX_IO_RESERV_END)? (Could of
course bound at the other end, too, i.e. against FIX_MSIX_IO_RESERV_BASE.)

> +    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
> +
> +    switch ( len )
> +    {
> +    case 1:
> +        *pval = readb(hwaddr);
> +        break;
> +
> +    case 2:
> +        *pval = readw(hwaddr);
> +        break;
> +
> +    case 4:
> +        *pval = readl(hwaddr);
> +        break;
> +
> +    case 8:
> +        *pval = readq(hwaddr);
> +        break;
> +
> +    default:
> +        ASSERT_UNREACHABLE();

Misra demands "break;" to be here for release builds. In fact I wonder
why "*pval = ~0UL;" isn't put here, too. Question of course is whether
in such a case a true error indicator wouldn't be yet better.

> +    }
> +    return X86EMUL_OKAY;
> +}

Like in adjacent_handle(): Blank line please ahead of the function's main
"return".

> +static int adjacent_write(
> +    unsigned int fixmap_idx,
> +    paddr_t address, unsigned int len, uint64_t val)
> +{
> +    void __iomem *hwaddr;
> +
> +    if ( fixmap_idx == ADJACENT_DISCARD_WRITE )
> +        return X86EMUL_OKAY;

Similar assert as suggested above below here then, too?

> @@ -622,12 +808,15 @@ void msix_write_completion(struct vcpu *v)
>           v->arch.hvm.hvm_io.msix_snoop_gpa )
>      {
>          unsigned int token = hvmemul_cache_disable(v);
> -        const struct msi_desc *desc;
> +        const struct msi_desc *desc = NULL;
> +        const struct msixtbl_entry *entry;
>          uint32_t data;
>  
>          rcu_read_lock(&msixtbl_rcu_lock);
> -        desc = msixtbl_addr_to_desc(msixtbl_find_entry(v, snoop_addr),
> -                                    snoop_addr);
> +        entry = msixtbl_find_entry(v, snoop_addr);
> +        if ( entry && snoop_addr >= entry->gtable &&
> +                      snoop_addr < entry->gtable + entry->table_len )

Nit: Unexpected / unusual indentation. If you really want the two snoop_addr
to line up, then

        if ( entry &&
             snoop_addr >= entry->gtable &&
             snoop_addr < entry->gtable + entry->table_len )

> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -208,6 +208,10 @@ struct msg_address {
>                                         PCI_MSIX_ENTRY_SIZE + \
>                                         (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
>  
> +/* Indexes in adj_access_idx[] below */
> +#define ADJ_IDX_FIRST 0
> +#define ADJ_IDX_LAST  1

These may better live ...

> @@ -215,6 +219,7 @@ struct arch_msix {
>      } table, pba;
>      int table_refcnt[MAX_MSIX_TABLE_PAGES];
>      int table_idx[MAX_MSIX_TABLE_PAGES];
> +    unsigned int adj_access_idx[2];

... right next to this.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 11:25:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 11:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712026.1112402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzxEJ-00025a-42; Thu, 25 Apr 2024 11:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712026.1112402; Thu, 25 Apr 2024 11:25:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzxEJ-00025T-1K; Thu, 25 Apr 2024 11:25:31 +0000
Received: by outflank-mailman (input) for mailman id 712026;
 Thu, 25 Apr 2024 11:25: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzxEH-00025N-DA
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 11:25:29 +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 8466b283-02f6-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 13:25:28 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-349c4505058so598515f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 04:25: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
 e24-20020a5d5958000000b0034c0fefd7d2sm1303877wri.23.2024.04.25.04.25.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 04:25: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: 8466b283-02f6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714044328; x=1714649128; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Bgmpc8+DwfmxtSdSueemKmUhrscLPJr+43GZFJilvlY=;
        b=Ttcgdb/myKZusqf8o/sIklzMbPEzkO+IL4j/TjE3IFb4GH7J1X+Sry/btUkZA5ZjOL
         PHH9kc6gSBK/lZk/gllIHOmuSJyqhVYRCXN8xLR6dfK+KSo4kcKZiMYbNYWoxIiA11CI
         xBJ/Umsxb4a41i5mlvL1LxP8a752WDET2u01HCtQfhcbFPdED7gpbxjuUPKPnEk6GIfU
         v9S4gbZCMmk3gilxzRT6nqh+tFOoDlqskf4+Iz2mJELjkK9Clmyrj5bcBJUghhH8bCcK
         3/sVEG+CwMRBIXxCGRsOs0fWRrytZMjV5V45BRs3aGRijZc5o7cDg2AWeIP009FPg5ks
         3zLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714044328; x=1714649128;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Bgmpc8+DwfmxtSdSueemKmUhrscLPJr+43GZFJilvlY=;
        b=jQafiQDmNUeG+Bzf53SOkIVLjYyYP0UpJd8fEsP6FgBtWOgiTmANlLUgGQLKGjdV1e
         hzyPpifS6bBIuUUo6iB/aXI1UafMkGCE0Kd5WCfCDZtNFwrqyRRX+uj9mlOyDJk45ryf
         vXqKG3WxR7le7UcILvWoG+bDmKsStYZfUluuX8V+q0/XinmSjGlEBGkrzH+9cigDEIZ6
         /wATGzn6apiiIRUYY9LuPR2GZtD6ngI/ZQ/qL0CHottFUI8cgCC4XfturYkdCTqM14c0
         4aZ4U7Psy3UxhMZqVuznJGGiq/lwfa2AHiAl+6TjWQ7GQCdmKhrZajj/mqPQietnlDeB
         Kbug==
X-Forwarded-Encrypted: i=1; AJvYcCW+m1FQAnR9DqBoPq0LtegtqWgACeGJ87VfUso2k+8mpcYM9KLLCD2qi2ccRIrm0QBK9mT5O8pgITfm7HZFcjQ8AfGstwahi5fEMmOycgU=
X-Gm-Message-State: AOJu0YwRX+O3kL55Ibvjno4ZUR1w65OfTphpG3GePvpAhamiAqPIskdv
	4fidw4aYKK9BdjYJgGMz7IQAufrsEDcADKhFg7TVFx9I/trWnLkRd5IVQAgrkQ==
X-Google-Smtp-Source: AGHT+IFFgXF0/N+CIHtx4bAzSnnksLSSQij6neaSUU23fu1pjetsMN2WpctGvKSXgJr3W6U49C2mDA==
X-Received: by 2002:a05:6000:1a48:b0:347:70de:d3f5 with SMTP id t8-20020a0560001a4800b0034770ded3f5mr3580133wry.53.1714044327702;
        Thu, 25 Apr 2024 04:25:27 -0700 (PDT)
Message-ID: <72b6497e-1e1a-40e4-ba53-1120396214f6@suse.com>
Date: Thu, 25 Apr 2024 13:25:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 2/7] x86/msi: Extend per-domain/device warning
 mechanism
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
 <ec68ca290a207a3e191e470fb19254b7f6f887f8.1710342968.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ec68ca290a207a3e191e470fb19254b7f6f887f8.1710342968.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.03.2024 16:16, Marek Marczykowski-Górecki wrote:
> The arch_msix struct had a single "warned" field with a domid for which
> warning was issued. Upcoming patch will need similar mechanism for few
> more warnings, so change it to save a bit field of issued warnings.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> Should I add also some helper for the boilerplate the handling requires
> now? I tried some macro that also sets the bit field, but I couldn't get
> it working. I guess I could make it working with a bitmask in a single
> uint8_t - would that be preferred?

Without you providing some hint as to where the problem was, it's hard to
see why something like this couldn't work:

#define MSIX_CHECK_WARN(msix, domid, which) ({ \
    if ( (msix)->warned_domid != (domid) ) \
    { \
        (msix)->warned_domid = (domid); \
        (msix)->warned_kind.all = 0; \
    } \
    (msix)->warned_kind.which ? false : ((msix)->warned_kind.which = true); \
})

> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -217,7 +217,13 @@ struct arch_msix {
>      int table_idx[MAX_MSIX_TABLE_PAGES];
>      spinlock_t table_lock;
>      bool host_maskall, guest_maskall;
> -    domid_t warned;
> +    domid_t warned_domid;
> +    union {
> +        uint8_t all;
> +        struct {
> +            bool maskall                   : 1;
> +        } u;

No need for giving this struct a name, I don't think.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 11:47:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 11:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712036.1112413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzxYr-0006kA-Tn; Thu, 25 Apr 2024 11:46:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712036.1112413; Thu, 25 Apr 2024 11: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 1rzxYr-0006k3-PT; Thu, 25 Apr 2024 11:46:45 +0000
Received: by outflank-mailman (input) for mailman id 712036;
 Thu, 25 Apr 2024 11:46:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kLQ4=L6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1rzxYq-0006jx-58
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 11:46:44 +0000
Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com
 [2607:f8b0:4864:20::22b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b99b010-02f9-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 13:46:42 +0200 (CEST)
Received: by mail-oi1-x22b.google.com with SMTP id
 5614622812f47-3c74a75d9adso622767b6e.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 04:46:42 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 i19-20020ae9ee13000000b0078eca9de099sm6916113qkg.134.2024.04.25.04.46.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 04:46: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: 7b99b010-02f9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714045601; x=1714650401; 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=wKpC0DfL4EP+lGfzDMJ1iuC1TStvH9Q8qqVnwUbfwAQ=;
        b=iHhMs8mbgFU0eyhHwqj9arArdgejhqtaT9IKqKcQ7l4Py9azuHH9Zb61h7UTAVoCvh
         vitsyohu5Q2ypI8l5bHaNT7TaugeIUeV205dUhadDbEv2l/8Seka9DMFVrUKgz6Pu5Za
         vbMPJ+1afzp0Fm4dbyRw/fvJMh3XOy3etoS6M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714045601; x=1714650401;
        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=wKpC0DfL4EP+lGfzDMJ1iuC1TStvH9Q8qqVnwUbfwAQ=;
        b=tv6v7Tp//b+yRIREAdhTKqWORidAfnDCNiD2eNYBGfZtU3i7fROKvmhTcWYYd1eKoe
         CXJX+WPknw7BwX+bmkB+l5R7j6WLK41Yi7Lbhy06aIN0TsOUJtrVFJCDT8sHwRlbt0K3
         7DiVAYIIiX9yrwIM8OrHDHjhXhSbmN+yC5SlzGq/W+xxeYzTHYHEyk/5SAeB9pyXCGqt
         zzKbnWhr7WgiV3BNXrb5sylDlJip6ztuJtsW5UVKZ+oHul0Lir8yvvFIBEi6GQPNCJ6g
         w5hWvPIYjhhJGh7oDJHMHh0MhmJoIoqhlZlToGAtKfoLgL/btd/pxXCfLfIE+naxpzh7
         oUww==
X-Gm-Message-State: AOJu0YzC6crIVjDMnFi1vLvYpsLZkVfrcDJabGKAK98JzoWouN89qBo7
	8nLOv4b8a9S9b2udlPkbhKz+ly0m0YBX+TtAUYM0n3z3QQi2sxEfi6Tatg5Y5y2p7yRcBhobnWI
	b
X-Google-Smtp-Source: AGHT+IGcfQiOACRC3XcOGcpd+sh+hCoSfd6D7L9ekrTskiL91lWMnPb2C+z+0V+MTaCkonWdrXh/Cg==
X-Received: by 2002:a05:6808:1597:b0:3c8:509b:242f with SMTP id t23-20020a056808159700b003c8509b242fmr1203458oiw.0.1714045600957;
        Thu, 25 Apr 2024 04:46:40 -0700 (PDT)
Date: Thu, 25 Apr 2024 13:46:38 +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 v4 3/4] livepatch: refuse to resolve symbols that belong
 to init sections
Message-ID: <ZipCnpooVKrRcYbY@macbook>
References: <20240424081957.34326-1-roger.pau@citrix.com>
 <20240424081957.34326-4-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20240424081957.34326-4-roger.pau@citrix.com>

On Wed, Apr 24, 2024 at 10:19:56AM +0200, Roger Pau Monne wrote:
> Livepatch payloads containing symbols that belong to init sections can only
> lead to page faults later on, as by the time the livepatch is loaded init
> sections have already been freed.
> 
> Refuse to resolve such symbols and return an error instead.
> 
> Note such resolutions are only relevant for symbols that point to undefined
> sections (SHN_UNDEF), as that implies the symbol is not in the current payload
> and hence must either be a Xen or a different livepatch payload symbol.
> 
> Do not allow to resolve symbols that point to __init_begin, as that address is
> also unmapped.  On the other hand, __init_end is not unmapped, and hence allow
> resolutions against it.
> 
> Since __init_begin can alias other symbols (like _erodata for example)
> allow the force flag to override the check and resolve the symbol anyway.

I've been thinking more about this, and it has further corner cases,
for example with this patch applied attempting to livepatch a function
that contains a rune like:

if ( system_state < SYS_STATE_active )
    call_init_function();

Will now fail as Xen will refuse to resolve the call_init_function
symbol.

I however don't have any better ideas about how to solve this.  Maybe
it's fine to require such patches to use the --force option, as
refusing to resolve init symbols adds a bit more safety to
livepatches.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:09:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712055.1112426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzyqC-0006Yg-R7; Thu, 25 Apr 2024 13:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712055.1112426; Thu, 25 Apr 2024 13:08:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzyqC-0006YZ-Nh; Thu, 25 Apr 2024 13:08:44 +0000
Received: by outflank-mailman (input) for mailman id 712055;
 Thu, 25 Apr 2024 13:08: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rzyqC-0006YP-1p
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:08:44 +0000
Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com
 [2607:f8b0:4864:20::82e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0a289a0-0304-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 15:08:43 +0200 (CEST)
Received: by mail-qt1-x82e.google.com with SMTP id
 d75a77b69052e-43a4ad6c6cfso3574931cf.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 06:08:43 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ju5-20020a05622aa04500b00434946547d3sm6970726qtb.53.2024.04.25.06.08.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 06:08: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: f0a289a0-0304-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714050522; x=1714655322; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GMTrvyx7C+vq6KXMc22SzJCppn/qxql02pUl2TEYk8c=;
        b=eiOnYEH9LS8wkJ6J2LEPSdNvLa11BcfrQvMx+kaW+w85eT7/G0weTPoX1f5kNQPqZu
         DnWRWpiZT25YMxZ88MYHuNdIgLmFtw2v5D03FU4nTd6I2iSSYS/jWOqUE5jQ7FXaeTfe
         SrWmJGHnUlJLBCE85IZLIUQrRX0KzykqEwVds=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714050522; x=1714655322;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GMTrvyx7C+vq6KXMc22SzJCppn/qxql02pUl2TEYk8c=;
        b=e4pyQxXaE/qNeF4lZ0vNlyrokoJ2Pnk3bp5l63fJbm5DEm3mwe/05Y7Mjy38wzPzZU
         1cOv2GKmIcUKYtgOW2kYFwyNJfHpzZDL2FVEHGD8i9NGjSyclcgdfBX+fZffcjuflLfI
         PKu92ig98BAwatO7q+JDnCHVEiMRe+BD++revDTGLqG8M4ctnR5FyquLmP2TdTdTSYZn
         iLKoqja8WtKr0iSJLaQodvxocLZ2BYHKrgoH/lmS78Nr5XCIvver7qO0KhZMvUxpXPL9
         7mgfDEQ0AcaHS7j259sX0MPGsZTp4VUZ35jcSApMSkYY3QJWYvqsyJz2u40qb0BBG+vo
         50gQ==
X-Forwarded-Encrypted: i=1; AJvYcCWuW7JZmIc65tC4UGnCtFLTTj2oSb9jDYU2+s2gXFBrrTTbuAoaTkwtOLwzM4ovH3EJJoWPMj708DEEHrDOkdKj2m+9ve4dW3lgHR68niY=
X-Gm-Message-State: AOJu0YzdBpj1rRJeN/V7dfzkMq3YRrADYmCDpJoRIHEhO7qWg/B3tZu0
	CGJmVkkAALHZiu1O+VDxvZJc4t32OYwmJawrXgxFxJ28Wppe8fcgQ9T7YKMCpK4=
X-Google-Smtp-Source: AGHT+IGSZHACY8wAR+oQ4+uVsPyBaRPkGvGqade9pR/BwAT4bUAYMNGu/tmcj7G0V+ecunECetYy3A==
X-Received: by 2002:ac8:5f10:0:b0:436:f4a5:d612 with SMTP id x16-20020ac85f10000000b00436f4a5d612mr5533693qta.54.1714050521763;
        Thu, 25 Apr 2024 06:08:41 -0700 (PDT)
Message-ID: <00b7014c-8f61-481d-a08e-57829e34a8b2@citrix.com>
Date: Thu, 25 Apr 2024 14:08:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/spec: fix reporting of BHB clearing usage from
 guest entry points
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20240418155208.7771-1-roger.pau@citrix.com>
 <20240418155208.7771-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: <20240418155208.7771-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/04/2024 4:52 pm, Roger Pau Monne wrote:
> Reporting whether the BHB clearing on entry is done for the different domains
> types based on cpu_has_bhb_seq is incorrect, as that variable signals whether

I'd prefer s/incorrect/unhelpful/ here.

As pointed out, it's currently like IBPB-entry in this regard,
identifying whether the block is in place; not whether it's used by the
condition.

> there's a BHB clearing sequence selected, but that alone doesn't imply that
> such sequence is used from the PV and/or HVM entry points.
>
> Instead use opt_bhb_entry_{pv,hvm} which do signal whether BHB clearing is
> performed on entry from PV/HVM.

I was going to ask for a note about dom0, but instead I need to make a
correction to the cmdline docs.  I'll do that in a separate patch.


> Fixes: 689ad48ce9cf ('x86/spec-ctrl: Wire up the Native-BHI software sequences')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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

Can make the one tweak on commit.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:11:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712058.1112436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzyst-000876-73; Thu, 25 Apr 2024 13:11:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712058.1112436; Thu, 25 Apr 2024 13:11:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzyst-00086z-4E; Thu, 25 Apr 2024 13:11:31 +0000
Received: by outflank-mailman (input) for mailman id 712058;
 Thu, 25 Apr 2024 13:11:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c2YU=L6=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzyss-00086c-0S
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:11:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 53a5d98b-0305-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 15:11:28 +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 409821007;
 Thu, 25 Apr 2024 06:11:56 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2FBFB3F7BD;
 Thu, 25 Apr 2024 06:11: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: 53a5d98b-0305-11ef-909a-e314d9c70b13
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 0/2] xen/arm: Remove recursion from dt_unreserved_regions
Date: Thu, 25 Apr 2024 14:11:17 +0100
Message-Id: <20240425131119.2299629-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi, this is an RFC that is exploiting the new 'struct membank' interface
introduced here 2209c1e35b479dff8ed3d3161001ffdefa0a704e ("xen/arm: Introduce a
generic way to access memory bank structures") to start removing recursion
from some function, in this serie the dt_unreserved_regions is reworked for
that reason.

This is an RFC to understand if the proposed approach can be accepted.

Another function can benefit from this approach, consider_modules in
arm32/mmu/mm.c, but it might require to rework also the 'struct bootmodules'
to adhere to the new interface and have just a loop that can go through all the
different structures.

Comments are welcome.

Luca Fancellu (2):
  xen/arm: Add DT reserve map regions to bootinfo.reserved_mem
  xen/arm: Rework dt_unreserved_regions to avoid recursion

 xen/arch/arm/arm32/mmu/mm.c             |  29 +----
 xen/arch/arm/bootfdt.c                  |  51 +++++---
 xen/arch/arm/domain_build.c             |   3 +-
 xen/arch/arm/include/asm/setup.h        |  13 +-
 xen/arch/arm/include/asm/static-shmem.h |   7 +-
 xen/arch/arm/kernel.c                   |   2 +-
 xen/arch/arm/setup.c                    | 158 +++++++++++++-----------
 7 files changed, 135 insertions(+), 128 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:11:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:11:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712059.1112447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzysv-0008MC-Fy; Thu, 25 Apr 2024 13:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712059.1112447; Thu, 25 Apr 2024 13:11:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzysv-0008M5-BG; Thu, 25 Apr 2024 13:11:33 +0000
Received: by outflank-mailman (input) for mailman id 712059;
 Thu, 25 Apr 2024 13:11:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c2YU=L6=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzyst-00086c-Q3
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:11:31 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 54e89254-0305-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 15:11:30 +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 6B9821576;
 Thu, 25 Apr 2024 06:11:58 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5F8563F7BD;
 Thu, 25 Apr 2024 06: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: 54e89254-0305-11ef-909a-e314d9c70b13
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 2/2] xen/arm: Rework dt_unreserved_regions to avoid recursion
Date: Thu, 25 Apr 2024 14:11:19 +0100
Message-Id: <20240425131119.2299629-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240425131119.2299629-1-luca.fancellu@arm.com>
References: <20240425131119.2299629-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function dt_unreserved_regions is currently using recursion
to compute the non overlapping ranges of a passed region against
the reserved memory banks, in the spirit of removing the recursion
to improve safety and also improve the scalability of the function,
rework its code to use an iterative algorithm with the same result.

The function was taking an additional parameter 'first', but given
the rework and given that the function was always initially called
with this parameter as zero, remove the parameter and update the
codebase to reflect the change.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/setup.h        |   8 +-
 xen/arch/arm/include/asm/static-shmem.h |   7 +-
 xen/arch/arm/kernel.c                   |   2 +-
 xen/arch/arm/setup.c                    | 133 ++++++++++++++++--------
 4 files changed, 96 insertions(+), 54 deletions(-)

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index fc6967f9a435..24519b9ed969 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -9,7 +9,12 @@
 #define MAX_FDT_SIZE SZ_2M
 
 #define NR_MEM_BANKS 256
+
+#ifdef CONFIG_STATIC_SHM
 #define NR_SHMEM_BANKS 32
+#else
+#define NR_SHMEM_BANKS 0
+#endif
 
 #define MAX_MODULES 32 /* Current maximum useful modules */
 
@@ -215,8 +220,7 @@ void create_dom0(void);
 
 void discard_initial_modules(void);
 void fw_unreserved_regions(paddr_t s, paddr_t e,
-                           void (*cb)(paddr_t ps, paddr_t pe),
-                           unsigned int first);
+                           void (*cb)(paddr_t ps, paddr_t pe));
 
 size_t boot_fdt_info(const void *fdt, paddr_t paddr);
 const char *boot_fdt_cmdline(const void *fdt);
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 3b6569e5703f..1b7c7ea0e17d 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -7,11 +7,11 @@
 #include <asm/kernel.h>
 #include <asm/setup.h>
 
-#ifdef CONFIG_STATIC_SHM
-
 /* Worst case /memory node reg element: (addrcells + sizecells) */
 #define DT_MEM_NODE_REG_RANGE_SIZE ((NR_MEM_BANKS + NR_SHMEM_BANKS) * 4)
 
+#ifdef CONFIG_STATIC_SHM
+
 int make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                           int sizecells);
 
@@ -47,9 +47,6 @@ void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo, __be32 *reg,
 
 #else /* !CONFIG_STATIC_SHM */
 
-/* Worst case /memory node reg element: (addrcells + sizecells) */
-#define DT_MEM_NODE_REG_RANGE_SIZE (NR_MEM_BANKS * 4)
-
 static inline int make_resv_memory_node(const struct kernel_info *kinfo,
                                         int addrcells, int sizecells)
 {
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 674388fa11a2..ecbeec518754 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -247,7 +247,7 @@ static __init int kernel_decompress(struct bootmodule *mod, uint32_t offset)
      * Free the original kernel, update the pointers to the
      * decompressed kernel
      */
-    fw_unreserved_regions(addr, addr + size, init_domheap_pages, 0);
+    fw_unreserved_regions(addr, addr + size, init_domheap_pages);
 
     return 0;
 }
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index c4e5c19b11d6..d737fe56e539 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -204,55 +204,97 @@ static void __init processor_id(void)
 }
 
 static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
-                                         void (*cb)(paddr_t ps, paddr_t pe),
-                                         unsigned int first)
+                                         void (*cb)(paddr_t ps, paddr_t pe))
 {
-    const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
-#ifdef CONFIG_STATIC_SHM
-    const struct membanks *shmem = bootinfo_get_shmem();
-    unsigned int offset;
-#endif
-    unsigned int i;
-
     /*
-     * i is the current bootmodule we are evaluating across all possible
-     * kinds.
+     * The worst case scenario is to have N reserved region ovelapping the
+     * passed one, so having N+1 regions in the stack
      */
-    for ( i = first; i < reserved_mem->nr_banks; i++ )
-    {
-        paddr_t r_s = reserved_mem->bank[i].start;
-        paddr_t r_e = r_s + reserved_mem->bank[i].size;
-
-        if ( s < r_e && r_s < e )
-        {
-            dt_unreserved_regions(r_e, e, cb, i + 1);
-            dt_unreserved_regions(s, r_s, cb, i + 1);
-            return;
-        }
-    }
-
+    struct {
+        paddr_t s;
+        paddr_t e;
+        unsigned int dict;
+        unsigned int bank;
+    } stack[NR_MEM_BANKS + NR_SHMEM_BANKS + 1];
+    const struct membanks *mem_banks[] = {
+        bootinfo_get_reserved_mem(),
 #ifdef CONFIG_STATIC_SHM
-    /*
-     * When retrieving the corresponding shared memory addresses
-     * below, we need to index the shmem->bank starting from 0, hence
-     * we need to use i - reserved_mem->nr_banks.
-    */
-    offset = reserved_mem->nr_banks;
-    for ( ; i - offset < shmem->nr_banks; i++ )
+        bootinfo_get_shmem(),
+#endif
+    };
+    unsigned int count = 0;
+    unsigned int i, j;
+
+    /* Push the initial region into the stack */
+    stack[count].s = s;
+    stack[count].e = e;
+    stack[count].dict = 0;
+    stack[count].bank = 0;
+    count++;
+    while ( count > 0 )
     {
-        paddr_t r_s = shmem->bank[i - offset].start;
-        paddr_t r_e = r_s + shmem->bank[i - offset].size;
-
-        if ( s < r_e && r_s < e )
+        paddr_t b_s, b_e;
+        /* Take out last element of the stack */
+        count--;
+        i = stack[count].dict;
+        j = stack[count].bank;
+        b_s = stack[count].s;
+        b_e = stack[count].e;
+        /* Start checking for overlapping banks */
+        for ( ; i < ARRAY_SIZE(mem_banks); i++ )
         {
-            dt_unreserved_regions(r_e, e, cb, i + 1);
-            dt_unreserved_regions(s, r_s, cb, i + 1);
-            return;
+            for ( ; j < mem_banks[i]->nr_banks; j++ )
+            {
+                paddr_t r_s = mem_banks[i]->bank[j].start;
+                paddr_t r_e = r_s + mem_banks[i]->bank[j].size;
+
+                if ( b_s < r_e && r_s < b_e )
+                {
+                    /*
+                    * Region is overlapping, push the two non overlap ranges in
+                    * the stack
+                    */
+                    if ( (count + 2) < ARRAY_SIZE(stack) )
+                    {
+                        /*
+                         * Push initial non overlapping part of the region into
+                         * the stack
+                         */
+                        stack[count].s = b_s;
+                        stack[count].e = r_s;
+                        stack[count].dict = i;
+                        stack[count].bank = j + 1;
+                        count++;
+                        /*
+                         * Push last non overlapping part of the region into
+                         * the stack
+                         */
+                        stack[count].s = r_e;
+                        stack[count].e = b_e;
+                        stack[count].dict = i;
+                        stack[count].bank = j + 1;
+                        count++;
+                    }
+                    else
+                        panic("dt_unreserved_regions: stack space exausted");
+
+                    /*
+                     * Retrieve the last region pushed to check against other
+                     * banks, so break the loop through the banks and pop
+                     * a new region from the stack
+                     */
+                    goto regions_pushed;
+                }
+            }
+            j = 0;
         }
+        /*
+         * This point is reached when the region doesn't overlap with any other
+         * region, so call the callback on it.
+         */
+        cb(b_s, b_e);
+ regions_pushed:
     }
-#endif
-
-    cb(s, e);
 }
 
 /*
@@ -316,11 +358,10 @@ static bool __init bootmodules_overlap_check(struct bootmodules *bootmodules,
 }
 
 void __init fw_unreserved_regions(paddr_t s, paddr_t e,
-                                  void (*cb)(paddr_t ps, paddr_t pe),
-                                  unsigned int first)
+                                  void (*cb)(paddr_t ps, paddr_t pe))
 {
     if ( acpi_disabled )
-        dt_unreserved_regions(s, e, cb, first);
+        dt_unreserved_regions(s, e, cb);
     else
         cb(s, e);
 }
@@ -527,7 +568,7 @@ void __init discard_initial_modules(void)
              !mfn_valid(maddr_to_mfn(e)) )
             continue;
 
-        fw_unreserved_regions(s, e, init_domheap_pages, 0);
+        fw_unreserved_regions(s, e, init_domheap_pages);
     }
 
     mi->nr_mods = 0;
@@ -702,7 +743,7 @@ void __init populate_boot_allocator(void)
             }
 #endif
 
-            fw_unreserved_regions(s, e, init_boot_pages, 0);
+            fw_unreserved_regions(s, e, init_boot_pages);
             s = n;
         }
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:11:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712060.1112456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzysw-0000AN-N9; Thu, 25 Apr 2024 13:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712060.1112456; Thu, 25 Apr 2024 13: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 1rzysw-0000A8-Im; Thu, 25 Apr 2024 13:11:34 +0000
Received: by outflank-mailman (input) for mailman id 712060;
 Thu, 25 Apr 2024 13:11:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=c2YU=L6=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1rzysu-0008LR-Iy
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:11:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 54417f5a-0305-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 15:11:30 +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 5496E1063;
 Thu, 25 Apr 2024 06:11:57 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 481A73F7BD;
 Thu, 25 Apr 2024 06:11: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: 54417f5a-0305-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 1/2] xen/arm: Add DT reserve map regions to bootinfo.reserved_mem
Date: Thu, 25 Apr 2024 14:11:18 +0100
Message-Id: <20240425131119.2299629-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240425131119.2299629-1-luca.fancellu@arm.com>
References: <20240425131119.2299629-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the code is listing device tree reserve map regions
as reserved memory for Xen, but they are not added into
bootinfo.reserved_mem and they are fetched in multiple places
using the same code sequence, causing duplication. Fix this
by adding them to the bootinfo.reserved_mem at early stage.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/arm32/mmu/mm.c      | 29 +----------------
 xen/arch/arm/bootfdt.c           | 51 ++++++++++++++++++------------
 xen/arch/arm/domain_build.c      |  3 +-
 xen/arch/arm/include/asm/setup.h |  5 +++
 xen/arch/arm/setup.c             | 53 +++++++++-----------------------
 5 files changed, 53 insertions(+), 88 deletions(-)

diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index 23150122f7c4..be480c31ea05 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -73,33 +73,6 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
         }
     }
 
-    /* Now check any fdt reserved areas. */
-
-    nr = fdt_num_mem_rsv(device_tree_flattened);
-
-    for ( ; i < mi->nr_mods + nr; i++ )
-    {
-        paddr_t mod_s, mod_e;
-
-        if ( fdt_get_mem_rsv_paddr(device_tree_flattened,
-                                   i - mi->nr_mods,
-                                   &mod_s, &mod_e ) < 0 )
-            /* If we can't read it, pretend it doesn't exist... */
-            continue;
-
-        /* fdt_get_mem_rsv_paddr returns length */
-        mod_e += mod_s;
-
-        if ( s < mod_e && mod_s < e )
-        {
-            mod_e = consider_modules(mod_e, e, size, align, i+1);
-            if ( mod_e )
-                return mod_e;
-
-            return consider_modules(s, mod_s, size, align, i+1);
-        }
-    }
-
     /*
      * i is the current bootmodule we are evaluating, across all
      * possible kinds of bootmodules.
@@ -108,7 +81,7 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
      * need to index the reserved_mem bank starting from 0, and only counting
      * the reserved-memory modules. Hence, we need to use i - nr.
      */
-    nr += mi->nr_mods;
+    nr = mi->nr_mods;
     for ( ; i - nr < reserved_mem->nr_banks; i++ )
     {
         paddr_t r_s = reserved_mem->bank[i - nr].start;
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 4d708442a19e..6e060111d95b 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -475,8 +475,7 @@ static void __init early_print_info(void)
     const struct membanks *mem_resv = bootinfo_get_reserved_mem();
     struct bootmodules *mods = &bootinfo.modules;
     struct bootcmdlines *cmds = &bootinfo.cmdlines;
-    unsigned int i, j;
-    int nr_rsvd;
+    unsigned int i;
 
     for ( i = 0; i < mi->nr_banks; i++ )
         printk("RAM: %"PRIpaddr" - %"PRIpaddr"\n",
@@ -490,26 +489,11 @@ static void __init early_print_info(void)
                 mods->module[i].start + mods->module[i].size,
                 boot_module_kind_as_string(mods->module[i].kind));
 
-    nr_rsvd = fdt_num_mem_rsv(device_tree_flattened);
-    if ( nr_rsvd < 0 )
-        panic("Parsing FDT memory reserve map failed (%d)\n", nr_rsvd);
-
-    for ( i = 0; i < nr_rsvd; i++ )
-    {
-        paddr_t s, e;
-
-        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &s, &e) < 0 )
-            continue;
-
-        /* fdt_get_mem_rsv_paddr returns length */
-        e += s;
-        printk(" RESVD[%u]: %"PRIpaddr" - %"PRIpaddr"\n", i, s, e);
-    }
-    for ( j = 0; j < mem_resv->nr_banks; j++, i++ )
+    for ( i = 0; i < mem_resv->nr_banks; i++ )
     {
         printk(" RESVD[%u]: %"PRIpaddr" - %"PRIpaddr"\n", i,
-               mem_resv->bank[j].start,
-               mem_resv->bank[j].start + mem_resv->bank[j].size - 1);
+               mem_resv->bank[i].start,
+               mem_resv->bank[i].start + mem_resv->bank[i].size - 1);
     }
     early_print_info_shmem();
     printk("\n");
@@ -550,7 +534,10 @@ static void __init swap_memory_node(void *_a, void *_b, size_t size)
  */
 size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
 {
+    struct membanks *reserved_mem = bootinfo_get_reserved_mem();
     struct membanks *mem = bootinfo_get_mem();
+    unsigned int i;
+    int nr_rsvd;
     int ret;
 
     ret = fdt_check_header(fdt);
@@ -559,6 +546,30 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
 
     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);
+
+    for ( i = 0; i < nr_rsvd; i++ )
+    {
+        struct membank *bank;
+        paddr_t s, sz;
+
+        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &s, &sz) < 0 )
+            continue;
+
+        if ( reserved_mem->nr_banks < reserved_mem->max_banks )
+        {
+            bank = &reserved_mem->bank[reserved_mem->nr_banks];
+            bank->start = s;
+            bank->size = sz;
+            bank->type = MEMBANK_FDT_RESVMEM;
+            reserved_mem->nr_banks++;
+        }
+        else
+            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);
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 0784e4c5e315..6fc88a8234e4 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -793,7 +793,8 @@ int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
         u64 start = mem->bank[i].start;
         u64 size = mem->bank[i].size;
 
-        if ( mem->bank[i].type == MEMBANK_STATIC_DOMAIN )
+        if ( (mem->bank[i].type == MEMBANK_STATIC_DOMAIN) ||
+             (mem->bank[i].type == MEMBANK_FDT_RESVMEM) )
             continue;
 
         nr_cells += reg_size;
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 28fb659fe946..fc6967f9a435 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -42,6 +42,11 @@ enum membank_type {
      * in reserved_mem.
      */
     MEMBANK_STATIC_HEAP,
+    /*
+     * The MEMBANK_FDT_RESVMEM type is used to indicate whether the memory
+     * bank is from the FDT reserve map.
+     */
+    MEMBANK_FDT_RESVMEM,
 };
 
 /* Indicates the maximum number of characters(\0 included) for shm_id */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index d242674381d4..c4e5c19b11d6 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -210,48 +210,18 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
     const struct membanks *reserved_mem = bootinfo_get_reserved_mem();
 #ifdef CONFIG_STATIC_SHM
     const struct membanks *shmem = bootinfo_get_shmem();
+    unsigned int offset;
 #endif
-    unsigned int i, nr;
-    int rc;
-
-    rc = fdt_num_mem_rsv(device_tree_flattened);
-    if ( rc < 0 )
-        panic("Unable to retrieve the number of reserved regions (rc=%d)\n",
-              rc);
-
-    nr = rc;
-
-    for ( i = first; i < nr ; i++ )
-    {
-        paddr_t r_s, r_e;
-
-        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &r_s, &r_e ) < 0 )
-            /* If we can't read it, pretend it doesn't exist... */
-            continue;
-
-        r_e += r_s; /* fdt_get_mem_rsv_paddr returns length */
-
-        if ( s < r_e && r_s < e )
-        {
-            dt_unreserved_regions(r_e, e, cb, i+1);
-            dt_unreserved_regions(s, r_s, cb, i+1);
-            return;
-        }
-    }
+    unsigned int i;
 
     /*
      * i is the current bootmodule we are evaluating across all possible
      * kinds.
-     *
-     * When retrieving the corresponding reserved-memory addresses
-     * below, we need to index the reserved_mem->bank starting
-     * from 0, and only counting the reserved-memory modules. Hence,
-     * we need to use i - nr.
      */
-    for ( ; i - nr < reserved_mem->nr_banks; i++ )
+    for ( i = first; i < reserved_mem->nr_banks; i++ )
     {
-        paddr_t r_s = reserved_mem->bank[i - nr].start;
-        paddr_t r_e = r_s + reserved_mem->bank[i - nr].size;
+        paddr_t r_s = reserved_mem->bank[i].start;
+        paddr_t r_e = r_s + reserved_mem->bank[i].size;
 
         if ( s < r_e && r_s < e )
         {
@@ -262,11 +232,16 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
     }
 
 #ifdef CONFIG_STATIC_SHM
-    nr += reserved_mem->nr_banks;
-    for ( ; i - nr < shmem->nr_banks; i++ )
+    /*
+     * When retrieving the corresponding shared memory addresses
+     * below, we need to index the shmem->bank starting from 0, hence
+     * we need to use i - reserved_mem->nr_banks.
+    */
+    offset = reserved_mem->nr_banks;
+    for ( ; i - offset < shmem->nr_banks; i++ )
     {
-        paddr_t r_s = shmem->bank[i - nr].start;
-        paddr_t r_e = r_s + shmem->bank[i - nr].size;
+        paddr_t r_s = shmem->bank[i - offset].start;
+        paddr_t r_e = r_s + shmem->bank[i - offset].size;
 
         if ( s < r_e && r_s < e )
         {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:25:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712077.1112466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzz6l-0004Yu-0X; Thu, 25 Apr 2024 13:25:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712077.1112466; Thu, 25 Apr 2024 13: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 1rzz6k-0004Yn-SS; Thu, 25 Apr 2024 13:25:50 +0000
Received: by outflank-mailman (input) for mailman id 712077;
 Thu, 25 Apr 2024 13:25: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 1rzz6j-0004YZ-Ex; Thu, 25 Apr 2024 13:25: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 1rzz6j-0004W4-3N; Thu, 25 Apr 2024 13:25: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 1rzz6i-000395-NV; Thu, 25 Apr 2024 13:25:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1rzz6i-0003XA-Mw; Thu, 25 Apr 2024 13:25: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=7/ODw9oFi8QzBUUA+mNP+jVtTnVdKAKdjk2zQkhpu5w=; b=57+SzfdcR6yec6eh4TT1qpwvPi
	GB6JR7wFxmA94YZx+fXkc0PzDwBiy6TjCZi3P/yGBEAS8LYrbmSIhbkvRo6esocSzCPlb8Wis2Grm
	D77koB1q5iAMxkFV6Ta89E3p1TV3EPiTBw0Kv2ILJNFWpmQEoNTdT0lnfQYUg+0WbiuI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185791-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185791: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2: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-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
X-Osstest-Versions-This:
    linux=e88c4cfcb7b888ac374916806f86c17d8ecaeb67
X-Osstest-Versions-That:
    linux=71b1543c83d65af8215d7558d70fc2ecbee77dcf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 13:25:48 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-raw       8 xen-boot                 fail REGR. vs. 185768

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      8 reboot              fail pass in 185796-retest
 test-armhf-armhf-xl           8 xen-boot            fail pass in 185796-retest

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

version targeted for testing:
 linux                e88c4cfcb7b888ac374916806f86c17d8ecaeb67
baseline version:
 linux                71b1543c83d65af8215d7558d70fc2ecbee77dcf

Last test of basis   185768  2024-04-23 07:46:10 Z    2 days
Failing since        185779  2024-04-24 00:13:50 Z    1 days    3 attempts
Testing same since   185791  2024-04-25 01:43:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  David Howells <dhowells@redhat.com>
  David Sterba <dsterba@suse.com>
  Johannes Thumshirn <Johannes.thumshirn@wdc.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Naohiro Aota <naohiro.aota@wdc.com>
  Neal Gompa <neal@gompa.dev>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Qu Wenruo <wqu@suse.com>
  Ronnie Sahlberg <lsahlber@redhat.com>
  Steve French <stfrench@microsoft.com>
  Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
  Takayuki Nagata <tnagata@redhat.com>
  Tom Talpey <tom@talpey.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                     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                                      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 376 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:27:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:27:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712083.1112476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzz8D-00058F-9e; Thu, 25 Apr 2024 13:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712083.1112476; Thu, 25 Apr 2024 13:27:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzz8D-000588-6i; Thu, 25 Apr 2024 13:27:21 +0000
Received: by outflank-mailman (input) for mailman id 712083;
 Thu, 25 Apr 2024 13:27:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1rzz8C-000581-Rk
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:27:20 +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 89f97c0a-0307-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 15:27:18 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2dd6c160eaaso11919721fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 06: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
 i21-20020a170906091500b00a5216df5d25sm9503790ejd.3.2024.04.25.06.27.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 06: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: 89f97c0a-0307-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714051638; x=1714656438; 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=FTlRV7WBcszPv2Xnx017qV68eEqGTn+7m/P3TyItlOc=;
        b=AlDV2yiD/bxQpIaGgxJ5J7rwY9yfRJXm2YpdF9OQHAGu9HscDn7BeSrK2Bp1rOCga8
         /mAU9yBX54u6ZkVvFq8exz/XzX40jSlY6m78mcBUxp21c8FLQCHS66vUgvbRYX5pV/h5
         ZU/OgkNXIVYUepU8QKiUg6Ww0/NkCHoZSgCdx2+7jdJVnSWWAZlsCDQnkHhSqPuf++EF
         LA81cu1UgJ95xMqYDZVpg/XWtJeBmg7J/bQOwrfZPwGPR6OvtIM7uCBlJZtKQ17gsTLT
         yVmcrBHTymQJZ8zaJFJQkN2uwfKmeIDOa/RTYlvAKU0NCqqMiYdZ6qwbJWBKRhCHl1JL
         kVkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714051638; x=1714656438;
        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=FTlRV7WBcszPv2Xnx017qV68eEqGTn+7m/P3TyItlOc=;
        b=S5aBxWFqcJK9U5vvRuYtj2BhzVJv6nXVVPpn+LKqm98cXbopWIpBe8k1xH+Z4VCsDw
         z+IPwPHwCF6Oxhfe2NvQlqGIct3Z92RuDjRO/+eLaFHimcz25zGADlW/63Hxad3Fp5st
         2rTQtM3Qo5ss/+ADY1zCvWCgWZ3TG8XZp/hnYSTzMN1Id7Ww+CCw11t01EDWBtPxt3iw
         h/m/FDKs+mLG6jxm29vA4VXSKO/HrIdoT94TFyeINBBdi3NodzRPcwWA1OEBxgUx4lML
         w+fEkvxUGTFbjhvr/X/2PmSHvyu2qchz9983kLvg2Jf9bFtGH6AHekwkpErnpczhnlDO
         NSiA==
X-Gm-Message-State: AOJu0YyGmp6HRN5V0KEAl9dftAPriJkfxel+rBv6idIuTo2E0eTWEhyy
	urG5sSRztCD9bSs6n32ZYrAli7X3BwmmjfRFM0aafmUHRCLRs2cfjsvG07TbipgCyOQzEWY3pgo
	=
X-Google-Smtp-Source: AGHT+IFMZqiHuWkZZI/ZEzrX8/qW0CXkMJlYEqtwzr7xTxqeNKVLFQ1PvBd6Nhh+4yVUksGQKrHcJQ==
X-Received: by 2002:a05:6512:483:b0:518:b5af:5f64 with SMTP id v3-20020a056512048300b00518b5af5f64mr5083335lfq.46.1714051638165;
        Thu, 25 Apr 2024 06:27:18 -0700 (PDT)
Message-ID: <1d787e05-28cb-4d1a-9ea6-696d5005f37b@suse.com>
Date: Thu, 25 Apr 2024 15:27: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] VMX: no open-coding in vmx_get_cpl()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

Neither X86_SEG_AR_DPL nor MASK_EXTR() should really be avoided here,
using literal number instead.

No difference in generated code (with gcc13 at least).

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

--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1192,7 +1192,7 @@ unsigned int vmx_get_cpl(void)
 
     __vmread(GUEST_SS_AR_BYTES, &attr);
 
-    return (attr >> 5) & 3;
+    return MASK_EXTR(attr, X86_SEG_AR_DPL);
 }
 
 static unsigned int cf_check _vmx_get_cpl(struct vcpu *v)


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:30:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712089.1112486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzzBO-0006hj-OK; Thu, 25 Apr 2024 13:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712089.1112486; Thu, 25 Apr 2024 13:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzzBO-0006hb-Ku; Thu, 25 Apr 2024 13:30:38 +0000
Received: by outflank-mailman (input) for mailman id 712089;
 Thu, 25 Apr 2024 13:30:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rzzBN-0006gm-Ld
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:30:37 +0000
Received: from mail-oa1-x2f.google.com (mail-oa1-x2f.google.com
 [2001:4860:4864:20::2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffb45162-0307-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 15:30:37 +0200 (CEST)
Received: by mail-oa1-x2f.google.com with SMTP id
 586e51a60fabf-22edcfcd187so349569fac.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 06:30:37 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t16-20020ac85310000000b0043718ece8dfsm6911860qtn.12.2024.04.25.06.30.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 06:30: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: ffb45162-0307-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714051835; x=1714656635; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dIjG4ES0MJ/mM6LZ7+rMDaiJZqVAgspaCiDN1KaFyiI=;
        b=rvSoOqY9nAEpDu62th8BN9PeK5YoyxnkdZkBVaNO3EtPOIfzsm/rdF4VX81Jo5JGd7
         XC6W5n7IGpok2Aaza2jxSvDZ/t1g71u2ZJboq6wdal3BdKtqhPDwgzBPUSbvMskFTui0
         BQvd4HGOFxnrTmnlkBPCTGk0LHMmWJkmWD/+s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714051835; x=1714656635;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dIjG4ES0MJ/mM6LZ7+rMDaiJZqVAgspaCiDN1KaFyiI=;
        b=TFYT3ALu1TBjUeZ7PbNjP1yT8fq4Tfew1Nz9+nfuDBE99FgKPQbzcNT9uPq6sfSpCA
         1uHr7yNrUjBT9WknvQZQsrpnJUxEvCMwMKpNzm+HxgC7Yg0cRhfVb9hvu7LET+B6OEDK
         ik3xvo3kij01e3fPNXSSSHozJoT3qTihCN1DQzPrJBVch0433ABH3idtXJy4NQScbLsU
         IURBm3rSfZQ9yI7fhhb/2xsxPY7MmHyO3zEnVVvlvQPQ1cujz5Tx31UVOJQauvY+8+f5
         uozaGtQp1bT2SBm/q3fCkmxznAO5AuAKq4kpNgkkKwJ278QGT8Tr4YLBap9Z+I+hpMek
         0gRw==
X-Forwarded-Encrypted: i=1; AJvYcCVz12+JEaOcIdDUdiF+AjHDXTUppVN79FTDTEAe+n61kVR7iPWfm+j5D9Y3AyEb9LA7T2W+CC2vooQTC5sPbKrYcS+SZ8Oey/nbvI5I/8o=
X-Gm-Message-State: AOJu0YwwYkNCvCULyBHmCX6qoac+vank1++oZY1tBzi2UBtsMm9r2VFA
	g5fzEHXzrw9A6q0dvOlGFUaaeDvwWVZNyn21nvO5q75ut27CfFj+pZT6Hgel/sI=
X-Google-Smtp-Source: AGHT+IGN118D8CqHV1r3t6sP1kBOK/p+3pXrrsbQ1Jc9GmMpe3am+nZ9CV77IqZ6GARrzrgpkzSzuA==
X-Received: by 2002:a05:6870:d391:b0:221:8b50:f1a0 with SMTP id k17-20020a056870d39100b002218b50f1a0mr7131003oag.19.1714051835373;
        Thu, 25 Apr 2024 06:30:35 -0700 (PDT)
Message-ID: <65819d08-eea1-4ce3-8eca-6358ecba1bb2@citrix.com>
Date: Thu, 25 Apr 2024 14:30:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/spec: adjust logic to logic that elides lfence
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20240418155208.7771-1-roger.pau@citrix.com>
 <20240418155208.7771-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: <20240418155208.7771-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/04/2024 4:52 pm, Roger Pau Monne wrote:
> It's currently too restrictive by just checking whether there's a BHB clearing
> sequence selected.  It should instead check whether BHB clearing is used on
> entry from PV or HVM specifically.
>
> Switch to use opt_bhb_entry_{pv,hvm} instead, and then remove cpu_has_bhb_seq
> since it no longer has any users.
>
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Fixes: 954c983abcee ('x86/spec-ctrl: Software BHB-clearing sequences')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Changes since v1:
>  - New in this version.
>
> There (possibly) still a bit of overhead for dom0 if BHB clearing is not used
> for dom0, as Xen would still add the lfence if domUs require it.

This is the note about dom0 that I made on the previous patch.

"protect dom0" only has any effect if the appropriate foo_pv or foo_hvm
is also selected.  It's not possible to express "protect dom0 but not
domU of $TYPE".

This early on boot we have no idea whether dom0 is going to be PV or
HVM.  We could in principle figure it out by peeking at dom0's ELF
notes, but that needs a lot of rearranging of __start_xen() to do safely.

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:32:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:32:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712094.1112495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzzCi-0007KZ-5M; Thu, 25 Apr 2024 13:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712094.1112495; Thu, 25 Apr 2024 13: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 1rzzCi-0007KS-2h; Thu, 25 Apr 2024 13:32:00 +0000
Received: by outflank-mailman (input) for mailman id 712094;
 Thu, 25 Apr 2024 13:31: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1rzzCh-0007KK-8X
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:31:59 +0000
Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com
 [2607:f8b0:4864:20::82f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 305f0ae2-0308-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 15:31:58 +0200 (CEST)
Received: by mail-qt1-x82f.google.com with SMTP id
 d75a77b69052e-4349685c845so7482071cf.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 06:31:58 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ay18-20020a05622a229200b004399dc634bdsm4100766qtb.55.2024.04.25.06.31.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 06: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: 305f0ae2-0308-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714051917; x=1714656717; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eQqayiWmFjl69o45dlDQ1WePD4BGxAbVbv2zi4i8KqY=;
        b=PbzHqyQQAa0KGZtQp0/5wg7stzndGQjorBmacR41BnXdAUZ+FoNgo+kpke+TauHo8u
         LrQshXAWoay5l2eTXw10oOYVXH1LwDZvNuB1Rei/MnvGr4a7dxei9jw3drm07CsHUReh
         kqQdNYViEzutUS4XDgIF/P0fwR7aMY0njv2vk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714051917; x=1714656717;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eQqayiWmFjl69o45dlDQ1WePD4BGxAbVbv2zi4i8KqY=;
        b=nqpC4IdjU7ckv4DMmpCxGEkUhHAdPjNRykHPhcUj8bL4yQd8RmZ35R5f52U52Uqs4y
         9dKXSbe39hD+5gm2lK0VdslaLSIGRJ+ei7YKH0SF8koh/JtdkqWf40pmhMHWnubb/yrm
         dAg6F/M4IjaVj9s7oJgMXCj4IhaLTErRAV3RmIpnu2pwS1Jm+sBofL7UaTF+w00LR6ep
         4Nil/pIRO3XK5WdQ43MgCh2x8/pQx2dkpwx18x4WTjxSfd8TBkTofli8r0Rbq0WktzeQ
         GTfhcSRd+HNPCXE/SzYhbWzCR7ybQryGqq1HYUr3xJ5hA7hHgAZDugPgnICQVAO3Hivh
         4M7w==
X-Forwarded-Encrypted: i=1; AJvYcCWzYK2cEmG3+vHk1rKz72TQwA1Y86PTnKCVs3l8LXXWVDp0ZL+2GPRVaPxUoWsvH9q04TbXILh1gqPi99NrEk8FvKfnJiIxF6pQoUYXxKs=
X-Gm-Message-State: AOJu0Yx+o8dMqSIwwYtIUKjjlPit08+nk/es33qkF6WB2FtuUJEdBbTK
	TZgMDh9heiWD4aQt6p0z2igEs14by0xMiOCBZDF70sGQCNbPQ0Pgn21MBQhlAuU=
X-Google-Smtp-Source: AGHT+IFUFXHoY/U4ALphGJQyH8wWYVRFnLP3P6lMQMFYNotVWVutuZNNc+jbW7pcbfC7NRV0iIGWlQ==
X-Received: by 2002:a05:622a:20c:b0:434:5e42:6d14 with SMTP id b12-20020a05622a020c00b004345e426d14mr6407248qtx.21.1714051917203;
        Thu, 25 Apr 2024 06:31:57 -0700 (PDT)
Message-ID: <fc7fbc7c-0b19-42cf-9bee-9f13bb9cf322@citrix.com>
Date: Thu, 25 Apr 2024 14:31:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] VMX: no open-coding in vmx_get_cpl()
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: <1d787e05-28cb-4d1a-9ea6-696d5005f37b@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: <1d787e05-28cb-4d1a-9ea6-696d5005f37b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/04/2024 2:27 pm, Jan Beulich wrote:
> Neither X86_SEG_AR_DPL nor MASK_EXTR() should really be avoided here,
> using literal number instead.
>
> No difference in generated code (with gcc13 at least).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:32:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712095.1112506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzzCs-0007d1-CP; Thu, 25 Apr 2024 13:32:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712095.1112506; Thu, 25 Apr 2024 13:32:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzzCs-0007cs-9U; Thu, 25 Apr 2024 13:32:10 +0000
Received: by outflank-mailman (input) for mailman id 712095;
 Thu, 25 Apr 2024 13: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=RqcZ=L6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1rzzCq-0007K4-JJ
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:32:08 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35834cff-0308-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 15:32:06 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id EFDCD4EE0739;
 Thu, 25 Apr 2024 15:32:05 +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: 35834cff-0308-11ef-b4bb-af5377834399
MIME-Version: 1.0
Date: Thu, 25 Apr 2024 15:32:05 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, consulting@bugseng.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>,
 Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
 <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Luca
 Fancellu <Luca.Fancellu@arm.com>
Subject: Re: [XEN PATCH] automation/eclair: reorganize pipelines
In-Reply-To: <74f86426-b3bb-4af7-85ca-15851acee6fd@bugseng.com>
References: <fe1fe9c964d1f2ba3cb46cbaf798cf698f341386.1713885065.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2404241704430.3940@ubuntu-linux-20-04-desktop>
 <74f86426-b3bb-4af7-85ca-15851acee6fd@bugseng.com>
Message-ID: <8be082b6d22d61c0b14910680d3833a7@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-04-25 11:40, Federico Serafini wrote:
> On 25/04/24 02:06, Stefano Stabellini wrote:
>> On Tue, 23 Apr 2024, Federico Serafini wrote:
>>> From: Simone Ballarin <simone.ballarin@bugseng.com>
>>> 
>>> Introduce accepted_guidelines.sh: a script to autogenerate the
>>> configuration file accepted.ecl from docs/misra/rules.rst which 
>>> enables
>>> all accepted guidelines.
>>> 
>>> Introduce monitored.ecl: a manual selection of accepted guidelines
>>> which are clean or almost clean, it is intended to be used for the
>>> analyses triggered by commits.
>>> 
>>> Reorganize tagging.ecl:
>>>    -Remove "accepted" tags: keeping track of accepted guidelines 
>>> tagging
>>>     them as "accepted" in the configuration file tagging.ecl is no
>>>     longer needed since docs/rules.rst is keeping track of them.
>>>    -Tag more guidelines as clean.
>>> 
>>> Reorganize eclair pipelines:
>>>    - Set1, Set2, Set3 are now obsolete: remove the corresponding
>>>      pipelines and ecl files.
>>>    - Amend scheduled eclair pipeline to use accepted.ecl.
>>>    - Amend triggered eclair pipeline to use monitored.ecl.
>>> 
>>> Rename and improve action_check_clean_regressions.sh to print a
>>> diagnostic in case a commit introduces a violation of a clean 
>>> guideline.
>>> 
>>> An example of diagnostic is the following:
>>> 
>>> Failure: 13 regressions found for clean guidelines
>>>    service MC3R1.R8.2: (required) Function types shall be in 
>>> prototype form with named parameters:
>>>     violation: 13
>>> 
>>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>> Signed-off-by: Alessandro Zucchelli 
>>> <alessandro.zucchelli@bugseng.com>
>> 
>> Fantastic work, thank you!
>> 
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>> 
>> Is this patch safe to commit now? Or would it cause gitlab-ci 
>> breakage?
> 
> Yes, it is safe because the ECLAIR analysis is still allowed to fail.
> Committing this patch wouldn't break the CI but it will highlight some 
> regressions with the orange badge and the following messages:
> 
> arm:
> 
> Failure: 5 regressions found for clean guidelines
>   service MC3R1.R1.1: (required) The program shall contain no 
> violations of the standard C syntax and constraints, and shall not 
> exceed the implementation's translation limits:
>    violation: 5
> 

+Cc ARM maintainers, Luca Fancellu

after some investigation on these regressions on R1.1, there are some 
concerns with the current code:
2209c1e35b479dff8ed3d3161001ffdefa0a704e introduced the struct

struct membanks {
     unsigned int nr_banks;
     unsigned int max_banks;
     struct membank bank[];
};

with a flexible array member at the end; this is well-defined in C99, 
but what is non-standard (a GNU extension) is having this struct as a 
member to another struct/union in a position other than the last.

This is still supported by GNU (albeit reliance on this is undocumented 
for Xen), but what is concerning here is the following (taken from [1]):

"A structure containing a C99 flexible array member, or a union 
containing such a structure, is not the last field of another structure, 
for example:

struct flex  { int length; char data[]; };

struct mid_flex { int m; struct flex flex_data; int n; };

In the above, accessing a member of the array mid_flex.flex_data.data[] 
might have undefined behavior. Compilers do not handle such a case 
consistently. Any code relying on this case should be modified to ensure 
that flexible array members only end up at the ends of structures.
Please use the warning option -Wflex-array-member-not-at-end to identify 
all such cases in the source code and modify them. This extension is now 
deprecated."

It looks like this option, and the corresponding deprecation of the 
extension, will be available starting from GCC 14, so this might impact 
future compiler updates for Xen builds.

Linux is also concerned about this (see [2]), so I think the changes in 
struct layout introduced by the series [3] should be reviewed to 
determine whether this change was deliberate or happened as a byproduct. 
If this is determined not to be a legitimate concern, then this can be 
documented as an use of the GNU extension.

See [4] for the findings.

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://lkml.org/lkml/2024/4/11/1293
[3] 
https://lore.kernel.org/xen-devel/20240418073652.3622828-1-luca.fancellu@arm.com/
[4] 
https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/xen/ECLAIR_normal/staging/ARM64/6713015426/PROJECT.ecd;/by_service/MC3R1.R1.1.html

Thanks,
   Nicola

> x86:
> 
> Failure: 2 regressions found for clean guidelines
>   service MC3R1.R8.2: (required) Function types shall be in prototype 
> form with named parameters:
>    violation: 2
> 
> (George just sent a patch to address the regressions of Rule 8.2.)
> 

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 13:40:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 13:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712106.1112516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzzKN-0001K9-23; Thu, 25 Apr 2024 13:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712106.1112516; Thu, 25 Apr 2024 13:39:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1rzzKM-0001K2-VW; Thu, 25 Apr 2024 13:39:54 +0000
Received: by outflank-mailman (input) for mailman id 712106;
 Thu, 25 Apr 2024 13:39:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5azX=L6=gmail.com=dunlapg@srs-se1.protection.inumbo.net>)
 id 1rzzKL-0001Js-Cc
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 13:39:53 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a0e8304-0309-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 15:39:50 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-344047ac7e4so1195724f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 06:39: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: 4a0e8304-0309-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=umich.edu; s=google-2016-06-03; t=1714052390; x=1714657190; 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=3nta+frtegX3gSGEVXbekqghpwVBbX0diUeg2T951Kw=;
        b=iPhpQdueiiAZkngHoDJS69/JxwCs7FaAyFHzqY5JomZxLDXRb3lu2Cb9Jzizj5pe6O
         W+AFVJBEQeoiUqvUPPgolMSkpoiAZl1akRIBPpDVmE3C61g2kxN9m0ocP1VieFvHQHgW
         eD7py4sYhtbiwefq7aE2ly57aQ9ePAn9AhVm2++lPYZCezvt2qgYShbSsVDyv07pn59V
         9idWntMpcwf9jV886UfuUUV9jmdhUDZUhf7DWDxVxy5tArYVm1xFKDCCHoYUi15cl96+
         KZ3QBJksSjuYtkvqOEsezB05DBHHzc7Dzn2qv+NSLdlyhMR68jj2VPTzsrY3aVcw5GAh
         u5Vg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714052390; x=1714657190;
        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=3nta+frtegX3gSGEVXbekqghpwVBbX0diUeg2T951Kw=;
        b=q6nOlmI6EHmmAAccAUbH7EmU1SDpDYn5fqi7FDzidmPPEOw78OzugUc8na/eF+lfbh
         1pDeb092JsmWxPT18MfYUkbIL+xKzLwi5LxG1YGFyqXalqeIwEhGtEPyYfa3O99bIkwU
         804Yzci50QQ3yfitLF6OHeklXuVemmCqHbYeBI7CM0TPtRAzDlLd1KkmzlwMxbtGYPFd
         OmF6jx1oXm7h04G7/mxJcYZ4BeJx1EgTBGli3WbhPHLSkaOalZl56N51Mhvm5y3CHKFy
         fln37PDXE/AL9kvEa1ygKpBWcTbytPdfCu/Qqb9+Q/gRBmOubH659aHedjFQF19A2pfP
         wKkQ==
X-Forwarded-Encrypted: i=1; AJvYcCWxgA+zjLH46otdBLzk2Lc4h3gAO9zcUWPe6h9NqL0t3ETsIuXRc9LLzxBxTJL1U1z6B2ODpjKlnEPLjb7vIVVdwW2XxadKYmUT7XcAXMw=
X-Gm-Message-State: AOJu0YxQVKQtDpeh02E81i7weU0kubiFWqAHa86o/nT3iJhySZMegqP4
	ibX07cBloy4Wcygjn1H770sSDCqGL2ngEh6fEYXiG/EQE2R/oVQ6ZSknB7UR+v1+AwJSp3kdryN
	+RzGCEzwkvW2xakRIGkalNWpiWvM=
X-Google-Smtp-Source: AGHT+IHKsg/6gn6eEWhorBMcGRrhq4cy3P5qvWZMl4gjiyLQZSLA321E3jNfQ1HwihLkBvWbkC0EurMZPivX3XCWfyY=
X-Received: by 2002:adf:e945:0:b0:34c:765:7657 with SMTP id
 m5-20020adfe945000000b0034c07657657mr1453656wrn.24.1714052389686; Thu, 25 Apr
 2024 06:39:49 -0700 (PDT)
MIME-Version: 1.0
References: <171154167446.2671062.9127105384591237363.stgit@firesoul>
 <CALUcmU=xOR1j9Asdv0Ny7x=o4Ckz80mDjbuEnJC0Z_Aepu0Zzw@mail.gmail.com>
 <CALUcmUkvpnq+CKSCn=cuAfxXOGU22fkBx4QD4u2nZYGM16DD6A@mail.gmail.com> <CALUcmUn0__izGAS-8gDL2h2Ceg9mdkFnLmdOgvAfO7sqxXK1-Q@mail.gmail.com>
In-Reply-To: <CALUcmUn0__izGAS-8gDL2h2Ceg9mdkFnLmdOgvAfO7sqxXK1-Q@mail.gmail.com>
From: George Dunlap <dunlapg@umich.edu>
Date: Thu, 25 Apr 2024 14:39:38 +0100
Message-ID: <CAFLBxZaLKGgrZRUDMQ+kCAYKD7ypzsjO55mWvkZHtMTBxdw51A@mail.gmail.com>
Subject: Re: [PATCH net] xen-netfront: Add missing skb_mark_for_recycle
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Jesper Dangaard Brouer <hawk@kernel.org>, netdev@vger.kernel.org, 
	Ilias Apalodimas <ilias.apalodimas@linaro.org>, wei.liu@kernel.org, paul@xen.org, 
	Jakub Kicinski <kuba@kernel.org>, kirjanov@gmail.com, dkirjanov@suse.de, 
	kernel-team@cloudflare.com, security@xenproject.org, 
	andrew.cooper3@citrix.com, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000d056be0616ebebe8"

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

Greg,

We're issuing an XSA for this; can you issue a CVE?

Thanks,
 -George Dunlap

On Tue, Apr 2, 2024 at 9:25=E2=80=AFPM Arthur Borsboom <arthurborsboom@gmai=
l.com>
wrote:

> After having a better look, I have found the patch in linux-next
>
>
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi=
t/?id=3D0cd74ffcf4fb0536718241d59d2c124578624d83
>
> On Tue, 2 Apr 2024 at 10:20, Arthur Borsboom <arthurborsboom@gmail.com>
> wrote:
> >
> > On Fri, 29 Mar 2024 at 10:47, Arthur Borsboom <arthurborsboom@gmail.com=
>
> wrote:
> > >
> > > On Wed, 27 Mar 2024 at 13:15, Jesper Dangaard Brouer <hawk@kernel.org=
>
> wrote:
> > > >
> > > > Notice that skb_mark_for_recycle() is introduced later than fixes
> tag in
> > > > 6a5bcd84e886 ("page_pool: Allow drivers to hint on SKB recycling").
> > > >
> > > > It is believed that fixes tag were missing a call to
> page_pool_release_page()
> > > > between v5.9 to v5.14, after which is should have used
> skb_mark_for_recycle().
> > > > Since v6.6 the call page_pool_release_page() were removed (in
> 535b9c61bdef
> > > > ("net: page_pool: hide page_pool_release_page()") and remaining
> callers
> > > > converted (in commit 6bfef2ec0172 ("Merge branch
> > > > 'net-page_pool-remove-page_pool_release_page'")).
> > > >
> > > > This leak became visible in v6.8 via commit dba1b8a7ab68
> ("mm/page_pool: catch
> > > > page_pool memory leaks").
> > > >
> > > > Fixes: 6c5aa6fc4def ("xen networking: add basic XDP support for
> xen-netfront")
> > > > Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > > Signed-off-by: Jesper Dangaard Brouer <hawk@kernel.org>
> > > > ---
> > > > Compile tested only, can someone please test this
> > >
> > > I have tested this patch on Xen 4.18.1 with VM (Arch Linux) kernel
> 6.9.0-rc1.
> > >
> > > Without the patch there are many trace traces and cloning the Linux
> > > mainline git repository resulted in failures (same with kernel 6.8.1)=
.
> > > The patched kernel 6.9.0-rc1 performs as expected; cloning the git
> > > repository was successful and no kernel traces observed.
> > > Hereby my tested by:
> > >
> > > Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > >
> > >
> > >
> > > >  drivers/net/xen-netfront.c |    1 +
> > > >  1 file changed, 1 insertion(+)
> > > >
> > > > diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.=
c
> > > > index ad29f370034e..8d2aee88526c 100644
> > > > --- a/drivers/net/xen-netfront.c
> > > > +++ b/drivers/net/xen-netfront.c
> > > > @@ -285,6 +285,7 @@ static struct sk_buff
> *xennet_alloc_one_rx_buffer(struct netfront_queue *queue)
> > > >                 return NULL;
> > > >         }
> > > >         skb_add_rx_frag(skb, 0, page, 0, 0, PAGE_SIZE);
> > > > +       skb_mark_for_recycle(skb);
> > > >
> > > >         /* Align ip header to a 16 bytes boundary */
> > > >         skb_reserve(skb, NET_IP_ALIGN);
> > > >
> > > >
> >
> > I don't see this patch yet in linux-next.
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log
> >
> > Any idea in which kernel release this patch will be included?
>

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

<div dir=3D"ltr">Greg,<div><br></div><div>We&#39;re issuing an XSA for this=
; can you issue a CVE?</div><div><br></div><div>Thanks,</div><div>=C2=A0-Ge=
orge Dunlap</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" clas=
s=3D"gmail_attr">On Tue, Apr 2, 2024 at 9:25=E2=80=AFPM Arthur Borsboom &lt=
;<a href=3D"mailto:arthurborsboom@gmail.com">arthurborsboom@gmail.com</a>&g=
t; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p=
x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">After =
having a better look, I have found the patch in linux-next<br>
<br>
<a href=3D"https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.=
git/commit/?id=3D0cd74ffcf4fb0536718241d59d2c124578624d83" rel=3D"noreferre=
r" target=3D"_blank">https://git.kernel.org/pub/scm/linux/kernel/git/next/l=
inux-next.git/commit/?id=3D0cd74ffcf4fb0536718241d59d2c124578624d83</a><br>
<br>
On Tue, 2 Apr 2024 at 10:20, Arthur Borsboom &lt;<a href=3D"mailto:arthurbo=
rsboom@gmail.com" target=3D"_blank">arthurborsboom@gmail.com</a>&gt; wrote:=
<br>
&gt;<br>
&gt; On Fri, 29 Mar 2024 at 10:47, Arthur Borsboom &lt;<a href=3D"mailto:ar=
thurborsboom@gmail.com" target=3D"_blank">arthurborsboom@gmail.com</a>&gt; =
wrote:<br>
&gt; &gt;<br>
&gt; &gt; On Wed, 27 Mar 2024 at 13:15, Jesper Dangaard Brouer &lt;<a href=
=3D"mailto:hawk@kernel.org" target=3D"_blank">hawk@kernel.org</a>&gt; wrote=
:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Notice that skb_mark_for_recycle() is introduced later than =
fixes tag in<br>
&gt; &gt; &gt; 6a5bcd84e886 (&quot;page_pool: Allow drivers to hint on SKB =
recycling&quot;).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; It is believed that fixes tag were missing a call to page_po=
ol_release_page()<br>
&gt; &gt; &gt; between v5.9 to v5.14, after which is should have used skb_m=
ark_for_recycle().<br>
&gt; &gt; &gt; Since v6.6 the call page_pool_release_page() were removed (i=
n 535b9c61bdef<br>
&gt; &gt; &gt; (&quot;net: page_pool: hide page_pool_release_page()&quot;) =
and remaining callers<br>
&gt; &gt; &gt; converted (in commit 6bfef2ec0172 (&quot;Merge branch<br>
&gt; &gt; &gt; &#39;net-page_pool-remove-page_pool_release_page&#39;&quot;)=
).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; This leak became visible in v6.8 via commit dba1b8a7ab68 (&q=
uot;mm/page_pool: catch<br>
&gt; &gt; &gt; page_pool memory leaks&quot;).<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Fixes: 6c5aa6fc4def (&quot;xen networking: add basic XDP sup=
port for xen-netfront&quot;)<br>
&gt; &gt; &gt; Reported-by: Arthur Borsboom &lt;<a href=3D"mailto:arthurbor=
sboom@gmail.com" target=3D"_blank">arthurborsboom@gmail.com</a>&gt;<br>
&gt; &gt; &gt; Signed-off-by: Jesper Dangaard Brouer &lt;<a href=3D"mailto:=
hawk@kernel.org" target=3D"_blank">hawk@kernel.org</a>&gt;<br>
&gt; &gt; &gt; ---<br>
&gt; &gt; &gt; Compile tested only, can someone please test this<br>
&gt; &gt;<br>
&gt; &gt; I have tested this patch on Xen 4.18.1 with VM (Arch Linux) kerne=
l 6.9.0-rc1.<br>
&gt; &gt;<br>
&gt; &gt; Without the patch there are many trace traces and cloning the Lin=
ux<br>
&gt; &gt; mainline git repository resulted in failures (same with kernel 6.=
8.1).<br>
&gt; &gt; The patched kernel 6.9.0-rc1 performs as expected; cloning the gi=
t<br>
&gt; &gt; repository was successful and no kernel traces observed.<br>
&gt; &gt; Hereby my tested by:<br>
&gt; &gt;<br>
&gt; &gt; Tested-by: Arthur Borsboom &lt;<a href=3D"mailto:arthurborsboom@g=
mail.com" target=3D"_blank">arthurborsboom@gmail.com</a>&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 drivers/net/xen-netfront.c |=C2=A0 =C2=A0 1 +<br>
&gt; &gt; &gt;=C2=A0 1 file changed, 1 insertion(+)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-ne=
tfront.c<br>
&gt; &gt; &gt; index ad29f370034e..8d2aee88526c 100644<br>
&gt; &gt; &gt; --- a/drivers/net/xen-netfront.c<br>
&gt; &gt; &gt; +++ b/drivers/net/xen-netfront.c<br>
&gt; &gt; &gt; @@ -285,6 +285,7 @@ static struct sk_buff *xennet_alloc_one_=
rx_buffer(struct netfront_queue *queue)<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0return NULL;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0skb_add_rx_frag(skb, 0, pag=
e, 0, 0, PAGE_SIZE);<br>
&gt; &gt; &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0skb_mark_for_recycle(skb);<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* Align ip header to a 16 =
bytes boundary */<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0skb_reserve(skb, NET_IP_ALI=
GN);<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt;<br>
&gt; I don&#39;t see this patch yet in linux-next.<br>
&gt;<br>
&gt; <a href=3D"https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-=
next.git/log" rel=3D"noreferrer" target=3D"_blank">https://git.kernel.org/p=
ub/scm/linux/kernel/git/next/linux-next.git/log</a><br>
&gt;<br>
&gt; Any idea in which kernel release this patch will be included?<br>
</blockquote></div>

--000000000000d056be0616ebebe8--


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 14:26:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 14:26:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712112.1112526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s003Q-0003aa-DF; Thu, 25 Apr 2024 14:26:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712112.1112526; Thu, 25 Apr 2024 14:26:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s003Q-0003aT-AM; Thu, 25 Apr 2024 14:26:28 +0000
Received: by outflank-mailman (input) for mailman id 712112;
 Thu, 25 Apr 2024 14:26:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s003O-0003aL-Hc
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 14:26:26 +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 cb3e7466-030f-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 16:26:24 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a58872c07d8so401423566b.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 07:26: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
 f5-20020a170906138500b00a5531e61002sm9537491ejc.206.2024.04.25.07.26.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 07:26: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: cb3e7466-030f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714055184; x=1714659984; 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=UoynMmNlIkOLxRvb/HPJS9wiCcgwjYyCPIIxLwtPwqs=;
        b=KpJajXCgmSpXG2Hx3fMsB1uDyC7ruYU84nnHfSL358sGgEQfY9CiZ/tujtc8e/OJz0
         nMUkyXXxEsCO7JGwGmaTtajNzxoVMTymg2zrUj8F6o1FgdLcuMlao8N//OIt152pSOW8
         6FZZemzGrFhTTpX7v2dKGefZlnrBnPw7ndP/Qx++K8z+WSfTbiJ9Olh22zAehb5ver7W
         58Bi1yp8I0KL735IhdXtup4bqqKGEDv8FfZt9DE6Qtx/1qv9LiiZgbN8vQj8eqNzdBnW
         2s7M09nnv8IDFlh2yN/7Yup1svvB6f54krLgcAZPID9BYjHZhVDJ1JQ2oQJz2f0owpyf
         Kbvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714055184; x=1714659984;
        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=UoynMmNlIkOLxRvb/HPJS9wiCcgwjYyCPIIxLwtPwqs=;
        b=WFD+k9vHnHAi/fPjv7AZ3KHJlW1XVSCRGTu37Cb09IH7JShrtk30kWSDYQv89xOMpU
         JB8PoaLFiiscdJS4DJ/jkduBGQT8b8hfJ123Z6siA0tpEjYgGFkEMnbUTQobnXS99A6A
         ZDT1maGs2tdl54GWc6y6UB+lX3AsYuglFowsSZ4o8yR3gLCiHmiigSrb43bPPpDwAZWd
         wvaq5t0kg9Wo9BY+/acR336Pc08e2Ytz6HBERQwBk/tMIzLvF7Yt2uWPH38EZIgOE/iB
         6O62p8fDh6rdyumxUxLQVKST2eemLdR1IN2MKWlHRx/uZ15dLcTyx9Unn9L0HpWJZLMt
         Dvnw==
X-Gm-Message-State: AOJu0YxScWdRx5x7hymfRjb+oVUPXZEjhO8rzQm6TLGcpaV86lT/VPKw
	ph8EVmhfhuZJ24LUANiP/egTt3Z+YvhznOQmPTL6yxgdnsCaprDVIdqf/iJrT0yTZcBGTADlcIk
	=
X-Google-Smtp-Source: AGHT+IGeC+PXfCA+YbMD5GxcRk3JXcR7VagRu/HkUhyDtWki1+Yh91LIDU27tFOigqdgPYbEKf4/YQ==
X-Received: by 2002:a17:907:724d:b0:a58:bd49:da9d with SMTP id ds13-20020a170907724d00b00a58bd49da9dmr1817267ejc.18.1714055183527;
        Thu, 25 Apr 2024 07:26:23 -0700 (PDT)
Message-ID: <e3048e97-23f0-4c51-84c5-2ba48d6e4ff1@suse.com>
Date: Thu, 25 Apr 2024 16:26:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] x86/entry: shrink insn size for some of our EFLAGS
 manipulation
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

Much like was recently done for setting entry vector, and along the
lines of what we already had in handle_exception_saved, avoid 32-bit
immediates where 8-bit ones do. Reduces .text.entry size by 16 bytes in
my non-CET reference build, while in my CET reference build section size
doesn't change (there and in .text only padding space increases).

Inspired by other long->byte conversion work.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Numbers above are biased by me also having the straight-line-speculation
change in the tree, thus every JMP is followed by an INT3. Without that,
.text.entry size would also shrink by 16 bytes in the CET build.
---
v3: Re-base.
v2: Drop switch_to_kernel change.

--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -226,7 +226,7 @@ LABEL_LOCAL(.Lrestore_rcx_iret_exit_to_g
 /* No special register assumptions. */
 iret_exit_to_guest:
         andl  $~(X86_EFLAGS_IOPL | X86_EFLAGS_VM), EFRAME_eflags(%rsp)
-        orl   $X86_EFLAGS_IF, EFRAME_eflags(%rsp)
+        orb   $X86_EFLAGS_IF >> 8, EFRAME_eflags + 1(%rsp)
 
         SPEC_CTRL_COND_VERW     /* Req: %rsp=eframe                    Clob: efl */
 
@@ -355,7 +355,7 @@ LABEL(sysenter_eflags_saved, 0)
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
         /* PUSHF above has saved EFLAGS.IF clear (the caller had it set). */
-        orl   $X86_EFLAGS_IF, UREGS_eflags(%rsp)
+        orb   $X86_EFLAGS_IF >> 8, UREGS_eflags + 1(%rsp)
         mov   STACK_CPUINFO_FIELD(xen_cr3)(%r14), %rcx
         test  %rcx, %rcx
         jz    .Lsyse_cr3_okay
@@ -370,11 +370,11 @@ LABEL(sysenter_eflags_saved, 0)
         cmpb  $0,VCPU_sysenter_disables_events(%rbx)
         movq  VCPU_sysenter_addr(%rbx),%rax
         setne %cl
-        testl $X86_EFLAGS_NT,UREGS_eflags(%rsp)
+        testb $X86_EFLAGS_NT >> 8, UREGS_eflags + 1(%rsp)
         leaq  VCPU_trap_bounce(%rbx),%rdx
 UNLIKELY_START(nz, sysenter_nt_set)
         pushfq
-        andl  $~X86_EFLAGS_NT,(%rsp)
+        andb  $~(X86_EFLAGS_NT >> 8), 1(%rsp)
         popfq
 UNLIKELY_END(sysenter_nt_set)
         testq %rax,%rax


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 14:28:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 14:28:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712116.1112536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0056-0004Ad-Qf; Thu, 25 Apr 2024 14:28:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712116.1112536; Thu, 25 Apr 2024 14:28:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0056-0004AW-O0; Thu, 25 Apr 2024 14:28:12 +0000
Received: by outflank-mailman (input) for mailman id 712116;
 Thu, 25 Apr 2024 14:28:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1s0055-0004AO-Uc
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 14:28:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1s0055-0005eQ-Bk; Thu, 25 Apr 2024 14:28:11 +0000
Received: from [15.248.3.92] (helo=[10.24.67.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 1s0055-0004Qr-38; Thu, 25 Apr 2024 14:28:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=9yGu/lu+InNTlEVh4avqT4hJV9/yiRpah6Ex0VNxvvg=; b=heQlp8qWFaVYmJ3agrBxY0vkLF
	iS693CvwO44YVqeeUHIlHMFkcleHWqP0AOKTOr312J/JsN5B3iPhwgI3gpvmCn5MmI7YE5WCLSO9P
	yelFVqrMFxnMPlqTWyXqkKBijf3EIsFMfCVyYde/QH2dqPOsw3saR0pn9NocuH+b+MAM=;
Message-ID: <5ba38b7b-16b1-489b-ad55-083504690bbd@xen.org>
Date: Thu, 25 Apr 2024 15:28:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/15] xen/arm/gic: Enable interrupt assignment to running
 VM
Content-Language: en-GB
To: Henry Wang <xin.wang2@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>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-3-xin.wang2@amd.com>
 <670d1033-2443-4245-8ff1-cb7099a7c793@xen.org>
 <70c5a593-9ac5-485b-be81-b789562249d8@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <70c5a593-9ac5-485b-be81-b789562249d8@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 25/04/2024 08:06, Henry Wang wrote:
> Hi Julien,
> 
> On 4/24/2024 8:58 PM, Julien Grall wrote:
>> Hi Henry,
>>
>> On 24/04/2024 04:34, Henry Wang wrote:
>>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>
>>> Enable interrupt assign/remove for running VMs in CONFIG_OVERLAY_DTB.
>>>
>>> Currently, irq_route and mapping is only allowed at the domain 
>>> creation. Adding
>>> exception for CONFIG_OVERLAY_DTB.
>>
>> AFAICT, this is mostly reverting b8577547236f ("xen/arm: Restrict when 
>> a physical IRQ can be routed/removed from/to a domain").
>>
>>>
>>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>>> ---
>>>   xen/arch/arm/gic.c | 4 ++++
>>>   1 file changed, 4 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>> index 44c40e86de..a775f886ed 100644
>>> --- a/xen/arch/arm/gic.c
>>> +++ b/xen/arch/arm/gic.c
>>> @@ -140,8 +140,10 @@ int gic_route_irq_to_guest(struct domain *d, 
>>> unsigned int virq,
>>>        * back to the physical IRQ. To prevent get unsync, restrict the
>>>        * routing to when the Domain is been created.
>>>        */
>>
>> The above comment explains why the check was added. But the commit 
>> message doesn't explain why this can be disregarded for your use-case.
>>
>> Looking at the history, I don't think you can simply remove the checks.
>>
>> Regardless that...
>>
>>> +#ifndef CONFIG_OVERLAY_DTB
>>
>> ... I am against such #ifdef. A distros may want to have OVERLAY_DTB 
>> enabled, yet the user will not use it.
>>
>> Instead, you want to remove the check once the code can properly 
>> handle routing an IRQ the domain is created or ...
>>
>>>       if ( d->creation_finished )
>>>           return -EBUSY;
>>> +#endif
>>>         ret = vgic_connect_hw_irq(d, NULL, virq, desc, true);
>>>       if ( ret )
>>> @@ -171,8 +173,10 @@ int gic_remove_irq_from_guest(struct domain *d, 
>>> unsigned int virq,
>>>        * Removing an interrupt while the domain is running may have
>>>        * undesirable effect on the vGIC emulation.
>>>        */
>>> +#ifndef CONFIG_OVERLAY_DTB
>>>       if ( !d->is_dying )
>>>           return -EBUSY;
>>> +#endif
>>
>> ... removed before they domain is destroyed.
> 
> Thanks for your feeedback. After checking the b8577547236f commit 
> message I think I now understand your point. Do you have any suggestion 
> about how can I properly add the support to route/remove the IRQ to 
> running domains? Thanks.

I haven't really look at that code in quite a while. I think we need to 
make sure that the virtual and physical IRQ state matches at the time we 
do the routing.

I am undecided on whether we want to simply prevent the action to happen 
or try to reset the state.

There is also the question of what to do if the guest is enabling the 
vIRQ before it is routed.

Overall, someone needs to spend some time reading the code and then make 
a proposal (this could be just documentation if we believe it is safe to 
do). Both the current vGIC and the new one may need an update.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 14:33:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 14:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712121.1112546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s00AC-0005gf-Bp; Thu, 25 Apr 2024 14:33:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712121.1112546; Thu, 25 Apr 2024 14:33:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s00AC-0005gY-8m; Thu, 25 Apr 2024 14:33:28 +0000
Received: by outflank-mailman (input) for mailman id 712121;
 Thu, 25 Apr 2024 14:33:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s/ki=L6=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1s00AA-0005gQ-Ok
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 14:33:26 +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 c5ef376a-0310-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 16:33:25 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2adce8f7814so994023a91.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 07: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: c5ef376a-0310-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714055604; x=1714660404; 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=x1KYqNI7VPqpZ3BqtkH7ZdJcK7SD9Cx9kd8stgkWiZI=;
        b=TYcah792DfvUkqYw14zQgD5VhsiiEkKs0eR9fMFrufARxeSO2g/1aMrWFmsoBv6PT+
         tE0+A5e1zXL+rU1U6RP6bzqbuSk7hljLJd49XaUc343iIlkyoYxgxtMKxq75MdkSbyDL
         gdzT3S7Gkn5qEgjSweFQYfUrZKb0BmPLB8VVM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714055604; x=1714660404;
        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=x1KYqNI7VPqpZ3BqtkH7ZdJcK7SD9Cx9kd8stgkWiZI=;
        b=C9rlht51d2UKmKyPZXBj5SsVEi8Hl1RusEN6Pr58d0VZ03SSwLLQtAoagaF4j7mZ79
         sRB+JSoLSKTB5cGQlyr8k6BmwiA+P7g8yyY2uTbz+G8FWW/Fy7LGMFdKe4Wa7vcGX7Fs
         Hzk2PwsKhIDelG674jHQdWqrHzAUYzGWKZMqbjw8tXDn4nQnVymeAcFTcX0HaEpA0n+0
         KIhPZRc/BKCRUPrS8kXyaOeeLN0YfGvUQ0VlomtEo3PkAS6C67/YZuAgaZe8PnkxRxgz
         lJjf4MkHrl181ZV+cA0Zm9wibJx1A5L5UmcwytVYVVylAFMbeXtUqcDwOcLf2evXP6OZ
         VnYg==
X-Gm-Message-State: AOJu0Yy3JBgrcgzCasdMW94g3fNVW3SjZx5Jsx+GfsAZ6oeYbRmxJO6f
	jro65fJ5keAkIPIICdOOGDfB/nsKJxItpCGLtGB2IMLqbjbyMfn1ZZvPf5HQgGfpkJiYORPiOnO
	ubkHVcC2eQ4zx6fxP9t9Zct90G9A3QM+D+f5J
X-Google-Smtp-Source: AGHT+IETEYcw99vs8Xx9B7RotNiGnpVlyrxIRTIoU+rFQMl4vIvElVmq87zrKwWvslAi81WUx33AAHhpy+90NAxsk64=
X-Received: by 2002:a17:90b:4a8e:b0:2ab:9819:64bc with SMTP id
 lp14-20020a17090b4a8e00b002ab981964bcmr5337802pjb.32.1714055604050; Thu, 25
 Apr 2024 07:33:24 -0700 (PDT)
MIME-Version: 1.0
References: <20240424081957.34326-1-roger.pau@citrix.com> <20240424081957.34326-2-roger.pau@citrix.com>
In-Reply-To: <20240424081957.34326-2-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Thu, 25 Apr 2024 15:33:13 +0100
Message-ID: <CAG7k0EpdQvxksoXG5hRBRMkCWKicmXkfpJPVzbZTU5VpfzgQTQ@mail.gmail.com>
Subject: Re: [PATCH v4 1/4] xen-livepatch: fix parameter name parsing
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Apr 24, 2024 at 9:20=E2=80=AFAM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> It's incorrect to restrict strncmp to the length of the command line inpu=
t
> parameter, as then a user passing a rune like:
>
> % xen-livepatch up foo.livepatch
>
> Would match against the "upload" command, because the string comparison h=
as
> been truncated to the length of the input argument.  Use strcmp instead w=
hich
> doesn't truncate.  Otherwise in order to keep using strncmp we would need=
 to
> also check strings are of the same length before doing the comparison.
>

I had previously assumed that this was intentional as a way of allowing
abbreviated syntax. Regardless of the original intent, I'm OK with this
change.

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 15:00:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 15:00:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712135.1112574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s00aQ-0003qO-HQ; Thu, 25 Apr 2024 15:00:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712135.1112574; Thu, 25 Apr 2024 15:00:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s00aQ-0003qH-Ek; Thu, 25 Apr 2024 15:00:34 +0000
Received: by outflank-mailman (input) for mailman id 712135;
 Thu, 25 Apr 2024 15:00:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s00aP-0003q7-0g; Thu, 25 Apr 2024 15:00:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s00aO-0006DX-TS; Thu, 25 Apr 2024 15:00: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 1s00aO-0006f2-Hz; Thu, 25 Apr 2024 15:00:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s00aO-0000q2-HZ; Thu, 25 Apr 2024 15:00:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pEdPFG0RHIk+xgO4CDFsB3pie4HAPHD/4j36ixIs7xY=; b=nqqfPVzk7P7hQ06ogkoDSeOJef
	YS9ayo9vU0vahETdxhzECTf+SscaksaR7UmrvronMxyprhenM21Y1e10h0FMzpCH3mo62H+aFUgdu
	X6Q/ZQuVtRtF8izJl4mpQQoYWDcxHRSUh+puMVVjxJQwGeVJL8oMNxCl3KWzfnoTyC/A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185793-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185793: 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-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:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-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=948d496d2546807e8c3af634fa982615b2a3153b
X-Osstest-Versions-That:
    libvirt=595b95cdde39a78528e584fdfd71a1d562ba9e45
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 15:00:32 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185783
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt     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-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              948d496d2546807e8c3af634fa982615b2a3153b
baseline version:
 libvirt              595b95cdde39a78528e584fdfd71a1d562ba9e45

Last test of basis   185783  2024-04-24 04:20:30 Z    1 days
Testing same since   185793  2024-04-25 04:22:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cole Robinson <crobinso@redhat.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          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
   595b95cdde..948d496d25  948d496d2546807e8c3af634fa982615b2a3153b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 15:13:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 15:13:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712143.1112584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s00nG-0006Zl-M7; Thu, 25 Apr 2024 15:13:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712143.1112584; Thu, 25 Apr 2024 15:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s00nG-0006Ze-JX; Thu, 25 Apr 2024 15:13:50 +0000
Received: by outflank-mailman (input) for mailman id 712143;
 Thu, 25 Apr 2024 15:13: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=ajoc=L6=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1s00nE-0006Px-Tu
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 15:13:49 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 662818a5-0316-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 17:13:43 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 71275CE1A15;
 Thu, 25 Apr 2024 15:13:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF9EEC113CC;
 Thu, 25 Apr 2024 15:13: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: 662818a5-0316-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1714058016;
	bh=hFpK8XSM1/HUq6bEn8zUIMT1/gjUrzh2BfkVUYpzBzs=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=CRh6ysxa9sJaAMLsvJaxwXwEf56EUsPIpJeW5jU0sbMcvvsYbA8O+dDWREIKjLk+o
	 lmVl+KF0/IL2F5H/e7uGhPSjVgjM09y+OZzdI6kO+uA/RWUYprocIhrtSz16QQ3hTI
	 djk036VoVhxFZiZfYJBBWX+LAaQ8zNfo6dp2dyso=
Date: Thu, 25 Apr 2024 08:13:28 -0700
From: Greg KH <gregkh@linuxfoundation.org>
To: George Dunlap <dunlapg@umich.edu>
Cc: Jesper Dangaard Brouer <hawk@kernel.org>, netdev@vger.kernel.org,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>, wei.liu@kernel.org,
	paul@xen.org, Jakub Kicinski <kuba@kernel.org>, kirjanov@gmail.com,
	dkirjanov@suse.de, kernel-team@cloudflare.com,
	security@xenproject.org, andrew.cooper3@citrix.com,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH net] xen-netfront: Add missing skb_mark_for_recycle
Message-ID: <2024042544-jockstrap-cycle-ed93@gregkh>
References: <171154167446.2671062.9127105384591237363.stgit@firesoul>
 <CALUcmU=xOR1j9Asdv0Ny7x=o4Ckz80mDjbuEnJC0Z_Aepu0Zzw@mail.gmail.com>
 <CALUcmUkvpnq+CKSCn=cuAfxXOGU22fkBx4QD4u2nZYGM16DD6A@mail.gmail.com>
 <CALUcmUn0__izGAS-8gDL2h2Ceg9mdkFnLmdOgvAfO7sqxXK1-Q@mail.gmail.com>
 <CAFLBxZaLKGgrZRUDMQ+kCAYKD7ypzsjO55mWvkZHtMTBxdw51A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAFLBxZaLKGgrZRUDMQ+kCAYKD7ypzsjO55mWvkZHtMTBxdw51A@mail.gmail.com>

On Thu, Apr 25, 2024 at 02:39:38PM +0100, George Dunlap wrote:
> Greg,
> 
> We're issuing an XSA for this; can you issue a CVE?

To ask for a cve, please contact cve@kernel.org as per our
documentation.  Please provide the git id of the commit you wish to have
the cve assigned to.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 15:36:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 15:36:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712148.1112594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s018W-0002fz-CV; Thu, 25 Apr 2024 15:35:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712148.1112594; Thu, 25 Apr 2024 15: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 1s018W-0002fs-9r; Thu, 25 Apr 2024 15:35:48 +0000
Received: by outflank-mailman (input) for mailman id 712148;
 Thu, 25 Apr 2024 15: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s018V-0002fh-89
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 15:35:47 +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 7b9d60f0-0319-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 17:35:45 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a58a36008ceso152611866b.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 08:35: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
 a14-20020a1709062b0e00b00a58bcb55704sm614444ejg.165.2024.04.25.08.35.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 08:35: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: 7b9d60f0-0319-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714059345; x=1714664145; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fQjtAH0J11Itb67myr50EyZBDMFXRVFSjHG59dRBDwk=;
        b=dEvFArgLcC3H8d1ec5BV9Kus2RrjE5pHvyRXP30vIgVA/TYk2eNfg/jKCRA7Hk7JeD
         M5bu+cS/hyc+1WR4CXR6vslsWftuXima/hzUjncHAIngCeVyQFctjEEhPoqWU4iX9DFA
         9QR0hvmp96hgaTbovBqE59E05o29lM0hx6FkfJbCLRzv2DKq5I/pfL9ChgxOhpQ2N0we
         ziNKEme0Cc7alDVourJ+MBHUSTapOv0hEIq6Peu1z9iugw6Qvfsj4kMeULGKzcIyAx72
         ESb4kfTUSCaLimJvBAYfPjn++yP8848wrQA9fLMU5bEHnk+Ew8iM+DvKpxLo2ok08cSx
         vfNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714059345; x=1714664145;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fQjtAH0J11Itb67myr50EyZBDMFXRVFSjHG59dRBDwk=;
        b=Y93okuZg4Fx8sQ+dADDISpfR3X4854fOfshN+ykSlHAdQ17vyS+0mUkxUSUwYPWONf
         2bnkz9nbfVDG8RuekfOtLRwrJcuQc8yTskzJZJFd5toAo3YDgYboAb2t/YKMkIi+c4Fb
         UJqc1YIsjXpB1RLdmVNMAKg15UBMAXSrsqvQiNWrn+UudumB9ZwgDazU1UdXnPbLlYDi
         YgOrl0uG3q65AVBvuFWKphK/rQq+iQ+TW5n/mKh136zeM3Ij8JPnweS+noIjtJ5dpvNn
         joHbWXnMmAQ0XYy2zP862hD7Q9qIkYVAxPE4Aix2ROJdKs1qvmHefsntqdnXvbUUE799
         WrLg==
X-Forwarded-Encrypted: i=1; AJvYcCWqeA9TDPq3EkDT9yAwov7r7JmYa6BUne75j7jSBaL3cPDih+Q6SrMbjShK4xxgtBezRVlpIFo5B067fl7sP2OwzcIdHZHnaAhJUd3st0g=
X-Gm-Message-State: AOJu0YxuIY5zDJ8pdFEyql7BCQj18NeeH/8DBNMK3QI1/S5xHmYVgwNj
	g37OVa5nINBGrQ4Q0qx4QkmgcIFgcccEZ0JnML7frolPbP2mg/k62eBIp+3RRA==
X-Google-Smtp-Source: AGHT+IHLJ1LWhlSgbnIS3V6Lr0XHlQFipni6ZbqLRmXf1EAJ2xQ5y29azDzm0QSPRCl6Z7jrlv83RQ==
X-Received: by 2002:a17:906:15d7:b0:a46:bfe2:521f with SMTP id l23-20020a17090615d700b00a46bfe2521fmr74247ejd.24.1714059345072;
        Thu, 25 Apr 2024 08:35:45 -0700 (PDT)
Message-ID: <3827c11c-6d47-411d-a356-871def4e5b30@suse.com>
Date: Thu, 25 Apr 2024 17:35:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 02/17] xen: introduce generic non-atomic test_*bit()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <1a0977e3cf5a2de9f760ca5ec89a0d096894a9e3.1713347222.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: <1a0977e3cf5a2de9f760ca5ec89a0d096894a9e3.1713347222.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 12:04, Oleksii Kurochko wrote:
> --- a/xen/arch/ppc/include/asm/page.h
> +++ b/xen/arch/ppc/include/asm/page.h
> @@ -4,7 +4,7 @@
>  
>  #include <xen/types.h>
>  
> -#include <asm/bitops.h>
> +#include <xen/bitops.h>
>  #include <asm/byteorder.h>

This wants to move up into the xen/*.h group then, like you have done ...

> --- a/xen/arch/ppc/mm-radix.c
> +++ b/xen/arch/ppc/mm-radix.c
> @@ -1,11 +1,11 @@
>  /* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include <xen/bitops.h>
>  #include <xen/init.h>
>  #include <xen/kernel.h>
>  #include <xen/mm.h>
>  #include <xen/types.h>
>  #include <xen/lib.h>
>  
> -#include <asm/bitops.h>
>  #include <asm/byteorder.h>
>  #include <asm/early_printk.h>
>  #include <asm/page.h>

.. e.g. here.

> --- a/xen/include/xen/bitops.h
> +++ b/xen/include/xen/bitops.h
> @@ -65,10 +65,137 @@ static inline int generic_flsl(unsigned long x)
>   * scope
>   */
>  
> +#define BITOP_MASK(nr)  ((bitop_uint_t)1 << ((nr) % BITOP_BITS_PER_WORD))
> +
> +#define BITOP_WORD(nr)  ((nr) / BITOP_BITS_PER_WORD)
> +
>  /* --------------------- Please tidy above here --------------------- */
>  
>  #include <asm/bitops.h>
>  
> +#ifndef arch_check_bitop_size
> +#define arch_check_bitop_size(addr)

Can this really do nothing? Passing the address of an object smaller than
bitop_uint_t will read past the object in the generic__*_bit() functions.

> +#endif
> +
> +/**
> + * generic__test_and_set_bit - Set a bit and return its old value
> + * @nr: Bit to set
> + * @addr: Address to count from
> + *
> + * This operation is non-atomic and can be reordered.
> + * If two examples of this operation race, one can appear to succeed
> + * but actually fail.  You must protect multiple accesses with a lock.
> + */
> +static always_inline bool
> +generic__test_and_set_bit(unsigned long nr, volatile void *addr)
> +{
> +    bitop_uint_t mask = BITOP_MASK(nr);
> +    volatile bitop_uint_t *p = ((volatile bitop_uint_t *)addr) + BITOP_WORD(nr);

The revision log suggests excess parentheses were dropped from such cast
expressions.

> --- a/xen/include/xen/types.h
> +++ b/xen/include/xen/types.h
> @@ -64,6 +64,11 @@ typedef __u64 __be64;
>  
>  typedef unsigned int __attribute__((__mode__(__pointer__))) uintptr_t;
>  
> +#ifndef BITOP_TYPE
> +    #define BITOP_BITS_PER_WORD 32
> +    typedef uint32_t bitop_uint_t;

Personally I find this indentation odd / misleading. For pre-processor
directives the # preferrably remains first on a line (as was iirc
demanded by earlier C standards), followed by one or more blanks if so
desired. File-scope declarations imo should never be indented.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 15:38:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 15:38:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712152.1112605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s01B5-0003Rm-TE; Thu, 25 Apr 2024 15:38:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712152.1112605; Thu, 25 Apr 2024 15:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s01B5-0003Rf-P8; Thu, 25 Apr 2024 15:38:27 +0000
Received: by outflank-mailman (input) for mailman id 712152;
 Thu, 25 Apr 2024 15:38: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s01B4-0003RZ-EL
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 15:38:26 +0000
Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com
 [2607:f8b0:4864:20::730])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9ef1430-0319-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 17:38:24 +0200 (CEST)
Received: by mail-qk1-x730.google.com with SMTP id
 af79cd13be357-78f0593f45dso73901185a.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 08:38:24 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m14-20020a0c9d0e000000b0069b748abd98sm7154054qvf.89.2024.04.25.08.38.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 08:38: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: d9ef1430-0319-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714059503; x=1714664303; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eKxTCSmPpkSYlv/PX3QC2G7xGvxtBSkcixrf9zlSWKU=;
        b=L0koilYH/tJ59eV7EtUQLF5Yv7AYw0Zt8OXrSg5tR9534zC1iwks/ir4FkwvAjw3q0
         XSYQSPn660wq2T7L7Ol4uHasbjDZcZlF8JxX1LRzJrUyswnpwkQCqk1Hv3tDPxbhy/W0
         FmXshR48Lnv5NR6LIYyLWkruoYpDzkMgB6lwo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714059503; x=1714664303;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eKxTCSmPpkSYlv/PX3QC2G7xGvxtBSkcixrf9zlSWKU=;
        b=P1jdTC4ZZa2MdWdApJa+SsmTT9/Ob3LHM4RqydnbimNtM8XslSk8mK4hUjVaYjJcIO
         KPLVtHBh8wOe/Dw7m2GXO3wisfnXv3tOiQY0pv3JFkTb8sT35TEOZIB8WeMzRjg+CvjT
         q3/yRW3bySqaXX4OtldEaCnXk6Lf7DslkkbhN+yQRWBxmOtcAK+FQ+QVF5PBcBW0JvSP
         FGjiU7UYorKIh540vPKeQMlY3llQqRIXW+LQtpd4WfIB3gwpd0pwYi2IKlfiCV46IZoQ
         yjRnliuo71kvL6ZKZsz1btbHppthPHZBZse/xAgeviFYoLkBf7Q3xo2mwSlQPWWEon65
         ymbw==
X-Forwarded-Encrypted: i=1; AJvYcCViI0FHO7ZAeA9JYrjzM1IFgjrNRG14u3nnXBv5qvBuGEsq5IkvocyCbBukcNUd+OzAx2s/Z0cSsMJLs8WyBpt55bww+GjI3RzA/0OsPgo=
X-Gm-Message-State: AOJu0YwT983/bZcjXsgYJ2RslobbUVxOTDrTETEu6ujy6sEAL6Z3v4C9
	g9nVjQX79FyXko/eDmNY1CLa4H/DI/JXyAHAp4g/QyoizX+fF9F9vAVw7qI77to=
X-Google-Smtp-Source: AGHT+IHlSGj3fUh8APMDL7sakfCCX7qb45jvgQKPaXpV0YGPwtVRRf8AYPaTqV7F9alIliOgjg+8IQ==
X-Received: by 2002:a05:6214:4012:b0:6a0:5622:f200 with SMTP id kd18-20020a056214401200b006a05622f200mr144214qvb.10.1714059503200;
        Thu, 25 Apr 2024 08:38:23 -0700 (PDT)
Message-ID: <d39cd7da-1c95-42e3-8ac7-2d50084bb45e@citrix.com>
Date: Thu, 25 Apr 2024 16:38:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/entry: shrink insn size for some of our EFLAGS
 manipulation
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: <e3048e97-23f0-4c51-84c5-2ba48d6e4ff1@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: <e3048e97-23f0-4c51-84c5-2ba48d6e4ff1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/04/2024 3:26 pm, Jan Beulich wrote:
> Much like was recently done for setting entry vector, and along the
> lines of what we already had in handle_exception_saved, avoid 32-bit
> immediates where 8-bit ones do. Reduces .text.entry size by 16 bytes in
> my non-CET reference build, while in my CET reference build section size
> doesn't change (there and in .text only padding space increases).
>
> Inspired by other long->byte conversion work.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 15:44:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 15:44:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712158.1112615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s01HC-0005rt-H1; Thu, 25 Apr 2024 15:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712158.1112615; Thu, 25 Apr 2024 15: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 1s01HC-0005rm-Dh; Thu, 25 Apr 2024 15:44:46 +0000
Received: by outflank-mailman (input) for mailman id 712158;
 Thu, 25 Apr 2024 15:44:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s01HB-0005rg-65
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 15:44: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 bbf8733f-031a-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 17:44:43 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a4702457ccbso154747766b.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 08:44: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
 i21-20020a170906091500b00a5216df5d25sm9627924ejd.3.2024.04.25.08.44.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 08:44: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: bbf8733f-031a-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714059882; x=1714664682; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=42vflNR7QPzyJUAaeNHg+n4vo87cxc9nQbRVM8EohSg=;
        b=JZDt9p+AutNEWteLnwFLwDAT0JnQ6378tw6BAgqA9YHBSztpigxQpsbAE4e7oWgo14
         TI5Vuj2QC3ib/2DVuKkYbCsZMJXFLyrl0usgyjUL93Z42bOH9rm1aTE2JOH5IotWaAjo
         TVeVQVEPgSFKmuF6X8g+JorLFGvXSFflb/h4QDEn27K+5tozERZBdHM6DLYrEkno9M3z
         SRMLyy/ri03NEVO/4162QJoPzR81JddeEKvyYbCjuvMGtYSQkY29QyTmHRqgEulQdpj2
         UKR5ANPA412BoN7SEriUF9aCwnMj+19AKMpijcNfda3gBDkEchPWOcaU9PquDHd39oOF
         Zg6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714059882; x=1714664682;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=42vflNR7QPzyJUAaeNHg+n4vo87cxc9nQbRVM8EohSg=;
        b=SEmGeaxc6I5PP9KVw0HKE082q43HyW8ux1rORkFzP0g3/VU2DMTSQPXIERfIwMDzyE
         boxpt/hb2vKgExmpdyKNvM1qc7W9WXVmDXdoOU2un1o19hBWCU2TYUz71qCcMYx5+tgs
         ysuIbKGYIyxVHoFyNFHSParAhskbMnGOKFDLbNvyGp8D2a4/WH2yJM7ifgyC8NZeVup9
         ir0qN2RDPf2wTUOki49Fd2QFYFC7zRZR102Pfd87T85O1rKbMcktM0iN+OJoSRxb/ta5
         VaW9uTHR0mVyrCDHfvl3NGYsttc5qmqnC94yjEDo1Wc27uZNX+PldfXHOTV1WYoWtXWD
         TfSg==
X-Forwarded-Encrypted: i=1; AJvYcCWCf35puV3dhwEkxruvvZWr5Px3tLfrn0B9olmKxyniuFiiT2GJnVtZXHkprc76PAhH4qPcY4DeB+ccwFcreh99Mxsgfut+0OooWL9wr98=
X-Gm-Message-State: AOJu0YzFUU0LLycY8CSG8gBKczWuOQotS0D6b/SE7X+NZa5pMdz2gz98
	9qeDwmdhVEMsDbYEePSyD8GsfAhAyGKHu48y/PtUv+UgLXbVYNLlRMjmCMfZMQ==
X-Google-Smtp-Source: AGHT+IHuKUBvgiFsjW2uZsLF2ccbWLR590bIPT0vKphwcY0aN5KlPDhsdsld80xyxPzrfzFWUbtNDw==
X-Received: by 2002:a17:906:2786:b0:a58:7554:b641 with SMTP id j6-20020a170906278600b00a587554b641mr69466ejc.73.1714059882481;
        Thu, 25 Apr 2024 08:44:42 -0700 (PDT)
Message-ID: <a6245e9e-a156-4b17-8695-e072915fe78b@suse.com>
Date: Thu, 25 Apr 2024 17:44:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 03/17] xen/bitops: implement fls{l}() in common logic
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <60bc710b990ed1d45741888df7e97cf25d150e61.1713347222.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <60bc710b990ed1d45741888df7e97cf25d150e61.1713347222.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 12:04, Oleksii Kurochko wrote:
> Return type was left 'int' because of the following compilation error:
> 
> ./include/xen/kernel.h:18:21: error: comparison of distinct pointer types lacks a cast [-Werror]
>        18 |         (void) (&_x == &_y);            \
>           |                     ^~
>     common/page_alloc.c:1843:34: note: in expansion of macro 'min'
>      1843 |         unsigned int inc_order = min(MAX_ORDER, flsl(e - s) - 1);

Apart from this I'm okay with this patch, assuming Andrew's won't change in
any conflicting way. As to the above - no, I don't see us having ffs() / ffsl()
returning unsigned int, fls() / flsl() returning plain int. Even more so that,
given the LHS variable's type, an unsigned quantity is really meant in the
quoted code.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 15:47:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 15:47:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712162.1112625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s01Jz-0006QK-VA; Thu, 25 Apr 2024 15:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712162.1112625; Thu, 25 Apr 2024 15: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 1s01Jz-0006QD-RN; Thu, 25 Apr 2024 15:47:39 +0000
Received: by outflank-mailman (input) for mailman id 712162;
 Thu, 25 Apr 2024 15:47: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s01Jy-0006Q7-IN
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 15:47:38 +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 2356ce3c-031b-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 17:47:36 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a556d22fa93so139631066b.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 08:47: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
 le23-20020a170906ae1700b00a4e4c944e77sm9637139ejb.40.2024.04.25.08.47.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 08:47: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: 2356ce3c-031b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714060056; x=1714664856; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2oYt/jIM6peXz1IU9bBS20I6AfhXNf0l1tAzrxz5TwI=;
        b=VJPkQ5LzD4VLilvTJuBt4LdehWq6TO2P50yjMYgcqcRScbtgqUWKNONj+p3lEyQUD4
         KvXecNikOqPZXlvRMAsk5sNPi2dlDPwo1AzRpT2PzeUF2GP0R3RVFhd8yk1pEyfVJhxu
         +kQ26RpBMr7SY07bgCnmf7HhT+joI/OjTiXEdtBqfiGIYwXTaoRDK7N7pAxh2JPVemZZ
         15MWw+u2/hUjpjY0f10g36DTatqyewQI2R8EUtVUJ8TzmcL7qkJGWdT7O+l5NoQa2uYg
         Pzr9XBbC0XF99LpEu8mDVpiOL1aevUrK+lQxwNTMdL464M8mcTWF8Fn0fYKxuherBvQD
         VqDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714060056; x=1714664856;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2oYt/jIM6peXz1IU9bBS20I6AfhXNf0l1tAzrxz5TwI=;
        b=PmVrXARwa5ddB531qYtn0t/ZbYxASGzt8bsNF2gJ9F6yj5xTx8uMljWo12YNrvo9cH
         1NnYlDwKJs9W70HcbSMzgAyFYRFFcVn2aV0kaeuez5qiiNw7CxinYEvmFfJIHRsCXKtA
         amdIYtkFByn/2FoXKovhhE8GRxfOXua5mzf/UiL3/k/3I4eks2lQ2928OokUlm9f1sNJ
         KLor2LcO3yIiBExbg4uq9zPc9Jtj9UIIdtCcoaA8wHZ4aoe+YPXDYAXoufnu9pRkUrR9
         h9xIwuJx8m+eGBRNKtBkQW8P6T2z2RB0C7hiQha8b0LsEUl4WiF2W/fAwijTLfjexKOc
         ytoQ==
X-Forwarded-Encrypted: i=1; AJvYcCWmYOPzB23GlD3vdQvMI6te+K/VREHX5f2EWM8fMht0oLou1h0ZxNdouPt7OgIxFMxcxFU43Vsikro8zuqa03FdVP5hTAMOzfRs9GtGf/8=
X-Gm-Message-State: AOJu0YxhUpg17ECeeJFSg9u8lyYrg/GyEZiCIWZT7tE0p/2j5rE9igDU
	j7vv3F7/I9axnEtZaM9vmgHklAEehCD1O6nSxNGt7syVRLU2yTBjOLAV6A7hpQ==
X-Google-Smtp-Source: AGHT+IFJPZVocSX4ve9TUnS07wydtRIc1K1UfKTWf8XocgT/VhgbgPSnHRwqAFM8j7hZ3QPItKgbaw==
X-Received: by 2002:a17:906:315b:b0:a58:9096:ba43 with SMTP id e27-20020a170906315b00b00a589096ba43mr102192eje.15.1714060055948;
        Thu, 25 Apr 2024 08:47:35 -0700 (PDT)
Message-ID: <484b887b-c4fa-45fa-be8a-ff742dde38d8@suse.com>
Date: Thu, 25 Apr 2024 17:47:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 04/17] xen/bitops: put __ffs() into linux compatible
 header
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <2ea76feebc5ffe543801b9b3935a82a64708a909.1713347222.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2ea76feebc5ffe543801b9b3935a82a64708a909.1713347222.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 12:04, Oleksii Kurochko wrote:
> --- a/xen/include/xen/linux-compat.h
> +++ b/xen/include/xen/linux-compat.h
> @@ -19,4 +19,6 @@ typedef int64_t __s64;
>  
>  typedef paddr_t phys_addr_t;
>  
> +#define __ffs(x) (ffsl(x) - 1)

See my v7 reply.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 15:52:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 15:52:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712167.1112635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s01OE-0007t0-DF; Thu, 25 Apr 2024 15:52:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712167.1112635; Thu, 25 Apr 2024 15:52:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s01OE-0007st-AG; Thu, 25 Apr 2024 15:52:02 +0000
Received: by outflank-mailman (input) for mailman id 712167;
 Thu, 25 Apr 2024 15:52: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=hfi/=L6=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s01OC-0007sn-VF
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 15:52:00 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bfcf81d1-031b-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 17:51:59 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-572250b7704so1133336a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 08:51: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
 k14-20020a170906128e00b00a525609ae30sm9664775ejb.169.2024.04.25.08.51.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 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: bfcf81d1-031b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714060318; x=1714665118; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=UiBRG55UQFpm4FGw786bebYB43hpqFwwBtHv6EPYkbw=;
        b=D1RqaMnZ+OEfY8nrfkki1Mxfen8ubBiWgvs23hWy4IfmkR00OgnSb7cECpGsqAAH9v
         r51Ee5d20bpxYSp7JpiGwD9Sr+t1PQ2TDWE7o0oHAK9DTIuHXsc7L7riStFSRSOTwDpt
         o/Xo+Jpa+lSVVNIEYPWF4HpNWOE451TkzCxUFidrV2vSIcl9lfaoPNP+InzrlUuBF5mW
         ddIe8vsG6JOrARrUzVwxMthB494U4ynZKwfs/vOCxEq8dLR2fCW3pb/hCQ8bvo9IdADi
         f9sXAvK43Qt4bLTW4uu9g//a2JvLSvmDiVyt1WY41RbvBz92kCSBVkCH1Kh8AiTQAU3n
         VACw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714060318; x=1714665118;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=UiBRG55UQFpm4FGw786bebYB43hpqFwwBtHv6EPYkbw=;
        b=QrTK9/qwgKUB0K4hmyAQS+Y3gXUr1DC8CzfC2qc9zZUnodGJFVoyfmHktux8xpPQyx
         R/BTWhf7ju5fqmwnMhQtzJoLuSLxXS0gjHqY/AEMSaKRaySRojk+2629lfiC39Txeje+
         N6r0T6ds+wZcO96mNRo0smTy+1YNFtN0JuU0cY6gNdNhnrL7ipSqFNcJ2XOcYum3kRHv
         LUYAJV88oYgwONRnm5aWF8iSD+MCXqgvecLUPsWntzB5/dWLJJaRzI/k3QH4KT7k0HNx
         Wkm/k3jfOElvUlot4UsE5rsa8iO0xj4+8HQEg/aZEjSW1JTjHmjJR7i+5ArhYVOS48eu
         iEGQ==
X-Forwarded-Encrypted: i=1; AJvYcCU8XfXDtdSkoRuSD+eXGCQjmotgHWm59jwMa74gXcVa2DXiyNULpGN44iXrQGSwQWbkpkxO3DthmvD7Oz3w7DZlKrzNK+DmJQso7XI7cow=
X-Gm-Message-State: AOJu0Yzw96+FPUe6PAE33sP/WUR5V2PeFuCidF3miNeYYycDhh4BY9+0
	voj2A1PNKi+Me/nxMGAi++mUsoSMIHh5AKmfsVafH6Q1cbbuIiPCxVyt/3V7lg==
X-Google-Smtp-Source: AGHT+IGlYOVf5CkwBwervgbRORfiA9s6FsSt8hqZYiLMpcP3LiZINbQRgA5mKn7Cz7aPUvKE91uOWg==
X-Received: by 2002:a17:907:7890:b0:a55:b345:63ec with SMTP id ku16-20020a170907789000b00a55b34563ecmr104509ejc.15.1714060318515;
        Thu, 25 Apr 2024 08:51:58 -0700 (PDT)
Message-ID: <6a32fdd7-d698-448b-8360-3c672d5f5a90@suse.com>
Date: Thu, 25 Apr 2024 17:51:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 05/17] xen/riscv: introduce bitops.h
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <c3a9dfadbc6465eb9362c7823d7d2800e98218eb.1713347222.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c3a9dfadbc6465eb9362c7823d7d2800e98218eb.1713347222.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 12:04, Oleksii Kurochko wrote:
> Taken from Linux-6.4.0-rc1
> 
> Xen's bitops.h consists of several Linux's headers:
> * linux/arch/include/asm/bitops.h:
>   * The following function were removed as they aren't used in Xen:
>         * test_and_set_bit_lock
>         * clear_bit_unlock
>         * __clear_bit_unlock
>   * The following functions were renamed in the way how they are
>     used by common code:
>         * __test_and_set_bit
>         * __test_and_clear_bit
>   * The declaration and implementation of the following functios
>     were updated to make Xen build happy:
>         * clear_bit
>         * set_bit
>         * __test_and_clear_bit
>         * __test_and_set_bit
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Apr 25 16:00:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 16:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712173.1112644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s01Wa-0002cN-7t; Thu, 25 Apr 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 712173.1112644; Thu, 25 Apr 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 1s01Wa-0002cG-5E; Thu, 25 Apr 2024 16:00:40 +0000
Received: by outflank-mailman (input) for mailman id 712173;
 Thu, 25 Apr 2024 16:00: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s01WZ-0002cA-3J
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 16:00:39 +0000
Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com
 [2607:f8b0:4864:20::82f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3c87000-031c-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 18:00:36 +0200 (CEST)
Received: by mail-qt1-x82f.google.com with SMTP id
 d75a77b69052e-439656e9887so6884351cf.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 09:00:36 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ic10-20020a05622a68ca00b00436510ddc5esm7096531qtb.34.2024.04.25.09.00.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 09: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: f3c87000-031c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714060835; x=1714665635; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WzvjvB++mTEo+Nr6MyCb9wXJamI/oD6vxyGTqLmfa10=;
        b=oeguapEmIc46H0nlTpgCGgrcbU3TovqM7y1lPKt14/UMjJpiTe9YCdpgASoIW40avt
         PS7sSrmQEFU0EL2MiUDZEVb8Mjv/VnD0K8dX2f9iil7mYiibICLTwIHizLgx1/3ahDim
         10pwTOMmfofcUYKC0LsY4mgxDbMZq0TyD3QBg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714060835; x=1714665635;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WzvjvB++mTEo+Nr6MyCb9wXJamI/oD6vxyGTqLmfa10=;
        b=GViJh79vkWyhr9s1QompvYsDo+vvBhc2VarbpRx4wt9zegCns1bL+P1+vfnjUBju3h
         Ba9obzrlbkyFiMuO6IF0qAKIgKk9KFmCqYR5kgzsLG65d6VYvJexd/Sc9cStiB0TjLR1
         Ktjlc1A8rpgGjzOCsvWFfznjDUk+5+qF8tgp9HpuA185xQjKdzYRwAIXgdSgg9jCqCIZ
         kJNHMB40NHSOdpOBJs+NqsWRk+jzk2WmTL0tvolQeDxgvjPfDCXcXXupZIgSv8VOjeXI
         SGE4J9xfhbmqcbqj782T9M4U39vEF20XvyLDrtUWmA1kZpYpIHHeBFsf/7QCWBcjYKPF
         cx+Q==
X-Forwarded-Encrypted: i=1; AJvYcCWeSnBsHxxmB774dv4AMIGWlO52wN/FbN0eJCinCmuu7LKZwJQKSxCneOspKTaNU7TiLwQ/Q8DSc6AogA0a5ZCnZJvcxkYn9bIywjOrt6c=
X-Gm-Message-State: AOJu0YxqzilYBKvpQRJHoUqrnqaSnrkgK/pCifeP4wS/jxTwao/0MU1L
	qEYDvjpNBt27c5Rv/s+5F0REMPu4Ko0ChggsiGqP/WgpeO857SGAmzYgXtgoRzI=
X-Google-Smtp-Source: AGHT+IEqhXzi12TP+uiyTMetcsMOaF98NToFGCTWbGh7QZGhAQuFIR6bzfSigorxaIUXYxnhd76xmA==
X-Received: by 2002:a05:622a:109:b0:434:3ecb:b6eb with SMTP id u9-20020a05622a010900b004343ecbb6ebmr7520584qtw.46.1714060835125;
        Thu, 25 Apr 2024 09:00:35 -0700 (PDT)
Message-ID: <ed721736-532a-4989-981a-4d8b0789e159@citrix.com>
Date: Thu, 25 Apr 2024 17:00:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] svm: Fix MISRA 8.2 violation
To: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@cloud.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20240425091249.2639809-1-george.dunlap@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: <20240425091249.2639809-1-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/04/2024 10:12 am, George Dunlap wrote:
> Misra 8.2 requires named parameters in prototypes.  Use the name from
> the implementaiton.
>
> Fixes 0d19d3aab0 ("svm/nestedsvm: Introduce nested capabilities bit").

Nit.  We treat Fixes: as a tag.

Also you might want to include the Reported-by's.

Otherwise, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> although
I have a strong wish to shorten the parameter name.  That can be done at
a later point.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 16:48:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 16:48:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712184.1112655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s02Gh-0003q1-OK; Thu, 25 Apr 2024 16:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712184.1112655; Thu, 25 Apr 2024 16:48:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s02Gh-0003pu-LP; Thu, 25 Apr 2024 16:48:19 +0000
Received: by outflank-mailman (input) for mailman id 712184;
 Thu, 25 Apr 2024 16:48: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 1s02Gg-0003pk-BI; Thu, 25 Apr 2024 16:48: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 1s02Gg-0000AD-38; Thu, 25 Apr 2024 16:48: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 1s02Gf-0002SV-Nq; Thu, 25 Apr 2024 16:48:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s02Gf-0001cM-NN; Thu, 25 Apr 2024 16:48:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qOuresBCvX/d1Q2aXi23qbmg/hOqFONjvFhBO+tjZHA=; b=yKSWRqYU7G7+p3eqYTS+NC3IV1
	7532X68qjo0jZX0yjeingvzmGmxohDaJjUuhWf/yd1akRzM2fxZnFRGHJT2Ck9E5RzYKyhma1qW1m
	PON4aEyNv1vwAmdPXmGNbSi14vS7E/DIInCmLTexSLM0PwPyZO+JvIBi1IO0trAguPFk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185797-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185797: 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=6d5111b10e084d841284a56e962c61ad274f589e
X-Osstest-Versions-That:
    xen=524eee7ce019da69df356a7bdd2174b94a6787b1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 16:48:17 +0000

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

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                  6d5111b10e084d841284a56e962c61ad274f589e
baseline version:
 xen                  524eee7ce019da69df356a7bdd2174b94a6787b1

Last test of basis   185795  2024-04-25 08:00:24 Z    0 days
Testing same since   185797  2024-04-25 13:08:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Edwin Török <edwin.torok@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
   524eee7ce0..6d5111b10e  6d5111b10e084d841284a56e962c61ad274f589e -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 17:32:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 17:32:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712194.1112685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s02xQ-0004u4-DA; Thu, 25 Apr 2024 17:32:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712194.1112685; Thu, 25 Apr 2024 17:32:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s02xQ-0004tx-9o; Thu, 25 Apr 2024 17:32:28 +0000
Received: by outflank-mailman (input) for mailman id 712194;
 Thu, 25 Apr 2024 17:32:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s02xP-0004RI-74
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 17:32: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 c708567b-0329-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 19:32:24 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-56e6acb39d4so1574208a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 10:32:24 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ci8-20020a170906c34800b00a587356c04csm4006477ejb.187.2024.04.25.10.32.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 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: c708567b-0329-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714066343; x=1714671143; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Vm54fAi6JaNw3+G4sAOX+Z6d3qFSN3u7bim0oUjoPQA=;
        b=MjUZ9OAoneTSmFUNVR4EkgNPMBd7q6cSIDu2tQKtRenGXaVoo439MK/Xs20YdOyMeX
         GWhWI6k+5oFtAwYEqOx16EyTmD7xE+GnSPR93xmQLZQT3x0jLLORDZUybOefSWYJ8N2R
         ojBUB9td1imEKj5L9/uBbxvY2O2LtTKownLrY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714066343; x=1714671143;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Vm54fAi6JaNw3+G4sAOX+Z6d3qFSN3u7bim0oUjoPQA=;
        b=orebE5QJBMi4BpDZAUFXq25vqQ8TZiS13/wyte/EyjRa9ZTwNMGMJ9WwmqBuipJEnT
         hGyMHwWOm9PIqgbCs+Ffa1VIWtYOLF+o6GufHSN+lmcquaXaZyfrHjQXxuAQKaNIyMsl
         DHouOPLbevo3aUra7LZ8CFGsir3kgIcLhTekq+a/svTIBk0vOHfCf3ACYOpGN9tpTUpy
         SmSrhewPDScllWO9OTEHbCU3mZPNUjP0LV6Mv7Vvb4jU8zlkrh2UPCLySEN1yYEKOXKm
         kf9oFZiWSVfKzJlLL616b2lrPTPcbuwOFulzxP+muwwQoslPBrqXV0VN4xtAVKfqFw8o
         IRQg==
X-Gm-Message-State: AOJu0YxgDUcjEMQH2I+iibUtcp8ytDrgslkCBplrsfVQsqyT4ekRjEFh
	p1Pk3DT5AhcCrE/2z/rhsrzwPm0FDXIVj4X9uTv42uIYq3zrGDxd5Hf8aR5QMTDAYYOPUndoKTu
	u
X-Google-Smtp-Source: AGHT+IGaLa1zNEWZHpeeeP1AdDVXMoTYi3EoCApLK6i7TXo3GFhX8sygt05jFrL3wuycaQMjhsxmYA==
X-Received: by 2002:a17:906:b210:b0:a55:387b:eef9 with SMTP id p16-20020a170906b21000b00a55387beef9mr316035ejz.10.1714066343401;
        Thu, 25 Apr 2024 10:32: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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/2] tools: Drop libsystemd as a dependency
Date: Thu, 25 Apr 2024 18:32:16 +0100
Message-Id: <20240425173216.410940-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240425173216.410940-1-andrew.cooper3@citrix.com>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

There are no more users, and we want to disuade people from introducing new
users just for sd_notify() and friends.  Drop the dependency.

We still want the overall --with{,out}-systemd to gate the generation of the
service/unit/mount/etc files.

Rerun autogen.sh, and mark the dependency as removed in the build containers.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>
CC: Edwin Török <edwin.torok@cloud.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
---
 automation/build/archlinux/current.dockerfile |   1 +
 .../build/suse/opensuse-leap.dockerfile       |   1 +
 .../build/suse/opensuse-tumbleweed.dockerfile |   1 +
 automation/build/ubuntu/focal.dockerfile      |   1 +
 config/Tools.mk.in                            |   2 -
 m4/systemd.m4                                 |  23 +-
 tools/config.h.in                             |   3 -
 tools/configure                               | 523 +-----------------
 8 files changed, 7 insertions(+), 548 deletions(-)

diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
index d974a1434fd5..a350b53ad8e2 100644
--- a/automation/build/archlinux/current.dockerfile
+++ b/automation/build/archlinux/current.dockerfile
@@ -39,6 +39,7 @@ RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
         sdl2 \
         spice \
         spice-protocol \
+        # systemd for Xen < 4.19
         systemd \
         transfig \
         usbredir \
diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
index e1ec38a41445..0483d9826d7d 100644
--- a/automation/build/suse/opensuse-leap.dockerfile
+++ b/automation/build/suse/opensuse-leap.dockerfile
@@ -61,6 +61,7 @@ RUN zypper install -y --no-recommends \
         'pkgconfig(sdl2)' \
         python3-devel \
         python3-setuptools \
+        # systemd-devel for Xen < 4.19
         systemd-devel \
         tar \
         transfig \
diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
index f00e03eda7b1..59b168e717b2 100644
--- a/automation/build/suse/opensuse-tumbleweed.dockerfile
+++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
@@ -62,6 +62,7 @@ RUN zypper install -y --no-recommends \
         'pkgconfig(sdl2)' \
         python3-devel \
         python3-setuptools \
+        # systemd-devel for Xen < 4.19
         systemd-devel \
         tar \
         transfig \
diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
index 30a9b8e84ffe..8171347c4656 100644
--- a/automation/build/ubuntu/focal.dockerfile
+++ b/automation/build/ubuntu/focal.dockerfile
@@ -36,6 +36,7 @@ RUN apt-get update && \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \
+        # libsystemd-dev for Xen < 4.19
         libsystemd-dev \
         transfig \
         pandoc \
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index b54ab21f966b..50fbef841f3f 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -52,8 +52,6 @@ CONFIG_PYGRUB       := @pygrub@
 CONFIG_LIBFSIMAGE   := @libfsimage@
 
 CONFIG_SYSTEMD      := @systemd@
-SYSTEMD_CFLAGS      := @SYSTEMD_CFLAGS@
-SYSTEMD_LIBS        := @SYSTEMD_LIBS@
 XEN_SYSTEMD_DIR     := @SYSTEMD_DIR@
 XEN_SYSTEMD_MODULES_LOAD := @SYSTEMD_MODULES_LOAD@
 CONFIG_9PFS         := @ninepfs@
diff --git a/m4/systemd.m4 b/m4/systemd.m4
index 112dc11b5e05..aa1ebe94f56c 100644
--- a/m4/systemd.m4
+++ b/m4/systemd.m4
@@ -41,15 +41,6 @@ AC_DEFUN([AX_ALLOW_SYSTEMD_OPTS], [
 ])
 
 AC_DEFUN([AX_CHECK_SYSTEMD_LIBS], [
-	PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon],,
-		[PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209])]
-        )
-	dnl pkg-config older than 0.24 does not set these for
-	dnl PKG_CHECK_MODULES() worth also noting is that as of version 208
-	dnl of systemd pkg-config --cflags currently yields no extra flags yet.
-	AC_SUBST([SYSTEMD_CFLAGS])
-	AC_SUBST([SYSTEMD_LIBS])
-
 	AS_IF([test "x$SYSTEMD_DIR" = x], [
 	    dnl In order to use the line below we need to fix upstream systemd
 	    dnl to properly ${prefix} for child variables in
@@ -83,23 +74,11 @@ AC_DEFUN([AX_CHECK_SYSTEMD_LIBS], [
 AC_DEFUN([AX_CHECK_SYSTEMD], [
 	dnl Respect user override to disable
 	AS_IF([test "x$enable_systemd" != "xno"], [
-	     AS_IF([test "x$systemd" = "xy" ], [
-		AC_DEFINE([HAVE_SYSTEMD], [1], [Systemd available and enabled])
-			systemd=y
-			AX_CHECK_SYSTEMD_LIBS()
-	    ],[
-		AS_IF([test "x$enable_systemd" = "xyes"],
-			[AC_MSG_ERROR([Unable to find systemd development library])],
-			[systemd=n])
-	    ])
+	systemd=y
 	],[systemd=n])
 ])
 
 AC_DEFUN([AX_CHECK_SYSTEMD_ENABLE_AVAILABLE], [
-	PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon], [systemd="y"],[
-		PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
-				  [systemd="y"],[systemd="n"])
-	])
 ])
 
 dnl Enables systemd by default and requires a --disable-systemd option flag
diff --git a/tools/config.h.in b/tools/config.h.in
index 0bb2fe08a143..56ac7800032f 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -60,9 +60,6 @@
 /* Define to 1 if you have the <string.h> header file. */
 #undef HAVE_STRING_H
 
-/* Systemd available and enabled */
-#undef HAVE_SYSTEMD
-
 /* Define to 1 if you have the <sys/eventfd.h> header file. */
 #undef HAVE_SYS_EVENTFD_H
 
diff --git a/tools/configure b/tools/configure
index 3d557234b319..b0873a5601a7 100755
--- a/tools/configure
+++ b/tools/configure
@@ -626,8 +626,6 @@ ac_subst_vars='LTLIBOBJS
 LIBOBJS
 pvshim
 ninepfs
-SYSTEMD_LIBS
-SYSTEMD_CFLAGS
 SYSTEMD_MODULES_LOAD
 SYSTEMD_DIR
 systemd
@@ -864,9 +862,7 @@ pixman_LIBS
 libzstd_CFLAGS
 libzstd_LIBS
 LIBNL3_CFLAGS
-LIBNL3_LIBS
-SYSTEMD_CFLAGS
-SYSTEMD_LIBS'
+LIBNL3_LIBS'
 
 
 # Initialize some variables set by options.
@@ -1621,10 +1617,6 @@ Some influential environment variables:
   LIBNL3_CFLAGS
               C compiler flags for LIBNL3, overriding pkg-config
   LIBNL3_LIBS linker flags for LIBNL3, overriding pkg-config
-  SYSTEMD_CFLAGS
-              C compiler flags for SYSTEMD, overriding pkg-config
-  SYSTEMD_LIBS
-              linker flags for SYSTEMD, overriding pkg-config
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -9541,521 +9533,10 @@ fi
 
 
 
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
-
-if test -n "$SYSTEMD_CFLAGS"; then
-    pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$SYSTEMD_LIBS"; then
-    pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd-daemon" 2>&1`
-        else
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd-daemon" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SYSTEMD_PKG_ERRORS" >&5
-
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
-
-if test -n "$SYSTEMD_CFLAGS"; then
-    pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$SYSTEMD_LIBS"; then
-    pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        else
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SYSTEMD_PKG_ERRORS" >&5
-
-	systemd="n"
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	systemd="n"
-else
-	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
-	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	systemd="y"
-fi
-
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
-
-if test -n "$SYSTEMD_CFLAGS"; then
-    pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$SYSTEMD_LIBS"; then
-    pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        else
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SYSTEMD_PKG_ERRORS" >&5
-
-	systemd="n"
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	systemd="n"
-else
-	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
-	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	systemd="y"
-fi
-
-else
-	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
-	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	systemd="y"
-fi
-
 
 		if test "x$enable_systemd" != "xno"; then :
 
-	     if test "x$systemd" = "xy" ; then :
-
-
-$as_echo "#define HAVE_SYSTEMD 1" >>confdefs.h
-
-			systemd=y
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
-
-if test -n "$SYSTEMD_CFLAGS"; then
-    pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$SYSTEMD_LIBS"; then
-    pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd-daemon" 2>&1`
-        else
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd-daemon" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SYSTEMD_PKG_ERRORS" >&5
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
-
-if test -n "$SYSTEMD_CFLAGS"; then
-    pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$SYSTEMD_LIBS"; then
-    pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        else
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SYSTEMD_PKG_ERRORS" >&5
-
-	as_fn_error $? "Package requirements (libsystemd >= 209) were not met:
-
-$SYSTEMD_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables SYSTEMD_CFLAGS
-and SYSTEMD_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables SYSTEMD_CFLAGS
-and SYSTEMD_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
-	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
-
-if test -n "$SYSTEMD_CFLAGS"; then
-    pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$SYSTEMD_LIBS"; then
-    pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        else
-	        SYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$SYSTEMD_PKG_ERRORS" >&5
-
-	as_fn_error $? "Package requirements (libsystemd >= 209) were not met:
-
-$SYSTEMD_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables SYSTEMD_CFLAGS
-and SYSTEMD_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables SYSTEMD_CFLAGS
-and SYSTEMD_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
-	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-else
-	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
-	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-fi
-
-
-
-	if test "x$SYSTEMD_DIR" = x; then :
-
-	    	    	    	    	    	    	    	    	    	    	    	    	    SYSTEMD_DIR="\$(prefix)/lib/systemd/system/"
-
-fi
-
-	if test "x$SYSTEMD_DIR" = x; then :
-
-	    as_fn_error $? "SYSTEMD_DIR is unset" "$LINENO" 5
-
-fi
-
-		if test "x$SYSTEMD_MODULES_LOAD" = x; then :
-
-	    SYSTEMD_MODULES_LOAD="\$(prefix)/lib/modules-load.d/"
-
-fi
-
-	if test "x$SYSTEMD_MODULES_LOAD" = x; then :
-
-	    as_fn_error $? "SYSTEMD_MODULES_LOAD is unset" "$LINENO" 5
-
-fi
-
-
-else
-
-		if test "x$enable_systemd" = "xyes"; then :
-  as_fn_error $? "Unable to find systemd development library" "$LINENO" 5
-else
-  systemd=n
-fi
-
-fi
+	systemd=y
 
 else
   systemd=n
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 17:32:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 17:32:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712193.1112671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s02xP-0004Uo-5Z; Thu, 25 Apr 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 712193.1112671; Thu, 25 Apr 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 1s02xP-0004Tr-1I; Thu, 25 Apr 2024 17:32:27 +0000
Received: by outflank-mailman (input) for mailman id 712193;
 Thu, 25 Apr 2024 17:32: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s02xO-0004RI-6p
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 17:32:26 +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 c6764d40-0329-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 19:32:23 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a51addddbd4so152438266b.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 10:32:23 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ci8-20020a170906c34800b00a587356c04csm4006477ejb.187.2024.04.25.10.32.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 10:32: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: c6764d40-0329-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714066342; x=1714671142; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2g8t/wF4ZdxY0SPfZVITk0ux9PxKIO0edydKGkf+TxQ=;
        b=p37RIUPxST9+PS4/0UfaQtG/qcLTtnHzqCC5vk3vplFXJmF+9p/tTlT7PPdUwYrJIK
         ajp65vtpsQZd//AtSqYo1RXj08/4ND+AIrJo2oIDAKxMsuKluGQS6ZDAMDHmc1Vp5+gX
         RVGpP7qPCc7iam+5xwcPoowAUUYIbMhekr7F0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714066342; x=1714671142;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2g8t/wF4ZdxY0SPfZVITk0ux9PxKIO0edydKGkf+TxQ=;
        b=v35yIh0JrFloSTrvRBZCABGEQQ//nwjLPJ1aZXIAXWFcCReF/yOeGV5cgBpYS7d0up
         PvlrpZfoIWMwFzNkWmCCwwoY4ba6bC5f5w99LwHd5ojiwFdStWlByyPlLNcaoE9BUzX0
         T5tfqGqFNZ2pvVvZsiwtcLiPUi8y/LsPt4kvG0tfO8TDy6rzI8302LEazgpQvGppIPim
         GKhrWZK4VQFZjNLoegQ3VCeInUDENLmfbLIANM0SoOoHmYLkMK7WLPMBkLT+TN7Wd6MF
         CxJMp8m6nlPGLSbTk2zPBCz0xNc6ALu2d4dg2CxzPkO+8D1t9MVoGQKSpuIlg/ZxqnzZ
         UnSQ==
X-Gm-Message-State: AOJu0YxW3vcznBVzLtlP9L4AOCHrsLPznmwUrBgAehHl8jyaxXvMgqnl
	D1dpTBqW1ogl6bqh+PNBQQbTag+vHXWiNJqI/tuL1ALsmK6qDrI8rx+3lQgAUncXJm5mWk9h8GX
	b
X-Google-Smtp-Source: AGHT+IHVB43cnp+cLbbkrKERJDS2FM3sZyAzoNUN0K7eSLYTJeoTcaQ6iPtkWtSf/QdM6L/5szTjDg==
X-Received: by 2002:a17:906:e285:b0:a58:be32:b247 with SMTP id gg5-20020a170906e28500b00a58be32b247mr294683ejb.35.1714066341986;
        Thu, 25 Apr 2024 10:32:21 -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@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/2] tools/{c,o}xenstored: Don't link against libsystemd
Date: Thu, 25 Apr 2024 18:32:15 +0100
Message-Id: <20240425173216.410940-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240425173216.410940-1-andrew.cooper3@citrix.com>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

libsystemd is a giant dependency for one single function, but in the wake of
the xz backdoor, it turns out that even systemd leadership recommend against
linking against libsystemd for sd_notify().

Since commit 7b61011e1450 ("tools: make xenstore domain easy configurable") in
Xen 4.8, the launch-xenstore script invokes systemd-notify directly, so its
not even necessary for the xenstored's to call sd_notify() themselves.

Therefore, just drop the calls to sd_notify() and stop linking against
libsystemd.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Juergen Gross <jgross@suse.com>
CC: Christian Lindig <christian.lindig@citrix.com>
CC: Edwin Török <edwin.torok@cloud.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
---
 tools/ocaml/xenstored/Makefile        | 12 +------
 tools/ocaml/xenstored/systemd.ml      | 15 ---------
 tools/ocaml/xenstored/systemd.mli     | 16 ---------
 tools/ocaml/xenstored/systemd_stubs.c | 47 ---------------------------
 tools/ocaml/xenstored/xenstored.ml    |  1 -
 tools/xenstored/Makefile              |  5 ---
 tools/xenstored/posix.c               |  9 -----
 7 files changed, 1 insertion(+), 104 deletions(-)
 delete mode 100644 tools/ocaml/xenstored/systemd.ml
 delete mode 100644 tools/ocaml/xenstored/systemd.mli
 delete mode 100644 tools/ocaml/xenstored/systemd_stubs.c

diff --git a/tools/ocaml/xenstored/Makefile b/tools/ocaml/xenstored/Makefile
index e8aaecf2e630..1e4b51cc5432 100644
--- a/tools/ocaml/xenstored/Makefile
+++ b/tools/ocaml/xenstored/Makefile
@@ -4,8 +4,6 @@ include $(OCAML_TOPLEVEL)/common.make
 
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
-CFLAGS-$(CONFIG_SYSTEMD)  += $(SYSTEMD_CFLAGS)
-LDFLAGS-$(CONFIG_SYSTEMD) += $(SYSTEMD_LIBS)
 
 CFLAGS  += $(CFLAGS-y)
 CFLAGS  += $(APPEND_CFLAGS)
@@ -25,13 +23,6 @@ poll_OBJS = poll
 poll_C_OBJS = select_stubs
 OCAML_LIBRARY = syslog poll
 
-LIBS += systemd.cma systemd.cmxa
-systemd_OBJS = systemd
-systemd_C_OBJS = systemd_stubs
-OCAML_LIBRARY += systemd
-
-LIBS_systemd += $(LDFLAGS-y)
-
 OBJS = paths \
 	define \
 	stdext \
@@ -56,12 +47,11 @@ OBJS = paths \
 	process \
 	xenstored
 
-INTF = symbol.cmi trie.cmi syslog.cmi systemd.cmi poll.cmi
+INTF = symbol.cmi trie.cmi syslog.cmi poll.cmi
 
 XENSTOREDLIBS = \
 	unix.cmxa \
 	-ccopt -L -ccopt . syslog.cmxa \
-	-ccopt -L -ccopt . systemd.cmxa \
 	-ccopt -L -ccopt . poll.cmxa \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/mmap $(OCAML_TOPLEVEL)/libs/mmap/xenmmap.cmxa \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \
diff --git a/tools/ocaml/xenstored/systemd.ml b/tools/ocaml/xenstored/systemd.ml
deleted file mode 100644
index 39127f712d72..000000000000
--- a/tools/ocaml/xenstored/systemd.ml
+++ /dev/null
@@ -1,15 +0,0 @@
-(*
- * Copyright (C) 2014 Luis R. Rodriguez <mcgrof@suse.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation; version 2.1 only. with the special
- * exception on linking described in file LICENSE.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *)
-
-external sd_notify_ready: unit -> unit = "ocaml_sd_notify_ready"
diff --git a/tools/ocaml/xenstored/systemd.mli b/tools/ocaml/xenstored/systemd.mli
deleted file mode 100644
index 18b9331031f9..000000000000
--- a/tools/ocaml/xenstored/systemd.mli
+++ /dev/null
@@ -1,16 +0,0 @@
-(*
- * Copyright (C) 2014 Luis R. Rodriguez <mcgrof@suse.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation; version 2.1 only. with the special
- * exception on linking described in file LICENSE.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *)
-
-(** Tells systemd we're ready *)
-external sd_notify_ready: unit -> unit = "ocaml_sd_notify_ready"
diff --git a/tools/ocaml/xenstored/systemd_stubs.c b/tools/ocaml/xenstored/systemd_stubs.c
deleted file mode 100644
index f4c875075abe..000000000000
--- a/tools/ocaml/xenstored/systemd_stubs.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2014 Luis R. Rodriguez <mcgrof@suse.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation; version 2.1 only. with the special
- * exception on linking described in file LICENSE.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- */
-
-#include <string.h>
-#include <stdio.h>
-#include <stdbool.h>
-#include <errno.h>
-#include <caml/mlvalues.h>
-#include <caml/memory.h>
-#include <caml/alloc.h>
-#include <caml/custom.h>
-#include <caml/signals.h>
-#include <caml/fail.h>
-
-#if defined(HAVE_SYSTEMD)
-
-#include <systemd/sd-daemon.h>
-
-CAMLprim value ocaml_sd_notify_ready(value ignore)
-{
-	CAMLparam1(ignore);
-
-	sd_notify(1, "READY=1");
-
-	CAMLreturn(Val_unit);
-}
-
-#else
-
-CAMLprim value ocaml_sd_notify_ready(value ignore)
-{
-	CAMLparam1(ignore);
-
-	CAMLreturn(Val_unit);
-}
-#endif
diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/xenstored.ml
index 1aaa3e995e1f..6bcd6d11da55 100644
--- a/tools/ocaml/xenstored/xenstored.ml
+++ b/tools/ocaml/xenstored/xenstored.ml
@@ -621,7 +621,6 @@ let () =
     process_domains store cons domains
   in
 
-  Systemd.sd_notify_ready ();
   let live_update = ref false in
   while not (!quit && Connections.prevents_quit cons = [])
   do
diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile
index e0897ed1ba30..09adfe1d5064 100644
--- a/tools/xenstored/Makefile
+++ b/tools/xenstored/Makefile
@@ -9,11 +9,6 @@ xenstored: LDLIBS += $(LDLIBS_libxenctrl)
 xenstored: LDLIBS += -lrt
 xenstored: LDLIBS += $(SOCKET_LIBS)
 
-ifeq ($(CONFIG_SYSTEMD),y)
-$(XENSTORED_OBJS-y): CFLAGS += $(SYSTEMD_CFLAGS)
-xenstored: LDLIBS += $(SYSTEMD_LIBS)
-endif
-
 TARGETS := xenstored
 
 .PHONY: all
diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
index d88c82d972d7..dc4ed8db591f 100644
--- a/tools/xenstored/posix.c
+++ b/tools/xenstored/posix.c
@@ -26,9 +26,6 @@
 #include <sys/mman.h>
 #include <sys/socket.h>
 #include <sys/un.h>
-#if defined(HAVE_SYSTEMD)
-#include <systemd/sd-daemon.h>
-#endif
 #include <xen-tools/xenstore-common.h>
 
 #include "utils.h"
@@ -390,12 +387,6 @@ void handle_special_fds(void)
 
 void late_init(bool live_update)
 {
-#if defined(HAVE_SYSTEMD)
-	if (!live_update) {
-		sd_notify(1, "READY=1");
-		fprintf(stderr, SD_NOTICE "xenstored is ready\n");
-	}
-#endif
 }
 
 int get_socket_fd(void)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 17:32:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 17:32:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712192.1112664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s02xO-0004Ra-TI; Thu, 25 Apr 2024 17:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712192.1112664; Thu, 25 Apr 2024 17:32:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s02xO-0004RT-QX; Thu, 25 Apr 2024 17:32:26 +0000
Received: by outflank-mailman (input) for mailman id 712192;
 Thu, 25 Apr 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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s02xN-0004RI-Hw
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 17:32: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 c5b903bf-0329-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 19:32:21 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-571be483ccaso1485676a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 10:32:21 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ci8-20020a170906c34800b00a587356c04csm4006477ejb.187.2024.04.25.10.32.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 10:32: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: c5b903bf-0329-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714066341; x=1714671141; 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=1f5qDqGyeFzuGbaTLZT3boVwZg08aUEwWNQGvrJ0bLw=;
        b=cs7XMolUa37ydDFv460BAZb/ql4qC/50gsy5e3IQM39Vn6ZIBEiZOxYG2xYnB0t8p/
         DK/8iixr9w8U2gEe4XucNXbI+967s7t6HWS7K39Ey9QDzEx1m3zdR8STJDOKDiBlysXJ
         ibIEhGZEDjHrLx4Q7mTey75zDhQ7Slg7VpUOY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714066341; x=1714671141;
        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=1f5qDqGyeFzuGbaTLZT3boVwZg08aUEwWNQGvrJ0bLw=;
        b=HkYdy8mFEJGV4/1hB4z8trc+Ok4jQeyJkneXpAch7+FF21yYq32DEpFPxNtQ65Ohf9
         Emsk+jeLSnzGqOx1SxUl7czzct9+Zj05Y954htC1Afdt4DUyajlevTUyCAEkpDnowS0/
         ATOXJ5QGvLmqp1BSoolu5NKRwGLB5p6OHSjUJf1vU5Qg5LDFCYOfvSZutNhbUX6XhHlC
         pK9E/qgBOqsJd+ClruCLEesyNvTUdpW9wKTgLBYHAonGGiSWiNefMzQ+6fFhZ4DirBFV
         CAqd2DCaoS4QHGiCClflMRuyh8uACFgvm/QY3l2tPvO3scVSnDdPUFOnMgi0L4PGyafg
         hpvA==
X-Gm-Message-State: AOJu0YwO8dsz47Qxiuicwe8/sJiwiTtnJuMc25R7JcUq6iEStj7z75+L
	D6XKtMNi3NJ6SWoqhMeWTrTEpI6Eb6n+4rXdvVy2NgZGWNAwFVeJP8zvWTKn3FHVSI8wGit/uAE
	s
X-Google-Smtp-Source: AGHT+IEN5H45g7ORHanmEwlBu+iaropz2pE8IhU5BK2lSQkK8JktE+sGMyn+vbVEURVuepiAQ3z9Lw==
X-Received: by 2002:a17:906:cb09:b0:a55:5ddd:e5f6 with SMTP id lk9-20020a170906cb0900b00a555ddde5f6mr270364ejb.28.1714066341084;
        Thu, 25 Apr 2024 10:32:21 -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@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/2] Drop libsystemd
Date: Thu, 25 Apr 2024 18:32:14 +0100
Message-Id: <20240425173216.410940-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On advise from the systemd leadership.  See patch 1 for details.

Andrew Cooper (2):
  tools/{c,o}xenstored: Don't link against libsystemd
  tools: Drop libsystemd as a dependency

 automation/build/archlinux/current.dockerfile |   1 +
 .../build/suse/opensuse-leap.dockerfile       |   1 +
 .../build/suse/opensuse-tumbleweed.dockerfile |   1 +
 automation/build/ubuntu/focal.dockerfile      |   1 +
 config/Tools.mk.in                            |   2 -
 m4/systemd.m4                                 |  23 +-
 tools/config.h.in                             |   3 -
 tools/configure                               | 523 +-----------------
 tools/ocaml/xenstored/Makefile                |  12 +-
 tools/ocaml/xenstored/systemd.ml              |  15 -
 tools/ocaml/xenstored/systemd.mli             |  16 -
 tools/ocaml/xenstored/systemd_stubs.c         |  47 --
 tools/ocaml/xenstored/xenstored.ml            |   1 -
 tools/xenstored/Makefile                      |   5 -
 tools/xenstored/posix.c                       |   9 -
 15 files changed, 8 insertions(+), 652 deletions(-)
 delete mode 100644 tools/ocaml/xenstored/systemd.ml
 delete mode 100644 tools/ocaml/xenstored/systemd.mli
 delete mode 100644 tools/ocaml/xenstored/systemd_stubs.c


base-commit: 23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 17:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 17:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712207.1112695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03CB-0000bo-Qj; Thu, 25 Apr 2024 17:47:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712207.1112695; Thu, 25 Apr 2024 17: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 1s03CB-0000bh-O5; Thu, 25 Apr 2024 17:47:43 +0000
Received: by outflank-mailman (input) for mailman id 712207;
 Thu, 25 Apr 2024 17:47: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s03CA-0000bb-BG
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 17:47:42 +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 e91b509f-032b-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 19:47:40 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a524ecaf215so165333766b.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 10:47:40 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r18-20020a17090638d200b00a589ce6803asm1875982ejd.110.2024.04.25.10.47.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 10:47: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: e91b509f-032b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714067259; x=1714672059; 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=/JNEBbF9lnfi5qaMtkfp90g2IT0sweAM5cETmm+Qe6A=;
        b=Obt1/xoXehRLzZPLbnD1AFWVNg+pzOufP5Q+6dletpaRerm9qzoCSvZOcG9OKBNNdQ
         lplECFBxVhspvyfE+bYike8mRpGFVQJe7s7tRcRG8EKqqhAMhsxIS85UMy3WWDIwho1y
         QGMQyPeH8jXwTxGz19x28qyTKJJkOG9MJ47WU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714067259; x=1714672059;
        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=/JNEBbF9lnfi5qaMtkfp90g2IT0sweAM5cETmm+Qe6A=;
        b=HFK2zgujcmpKHs8R1YXGnWrhAK5tE7EP7E9yPH3lkBjfOKdJStXRA0W6Sm9r4H+B9o
         2cdEgieetRbXGivL+l+JCJVVO4Ly1CLq1GKZkBzkbA07i03lcZt2jJcDNOcZ76BaiBm2
         IasSvyZFC0Vg/wzXbNUvskLefPsH4WpfGH8WVdOG2HvN39eePxk4Dhf0SVBJsDY9khhD
         Y8aX2ApoVdJK1KRVMDUfVdgEj0zklGwydCsnICTUBZnJjsQoMQ8H8V0+gqKd72nR3QRD
         SEdMPiH5AcrXE5+lUFUgh5YXJbyXKC2SsPzBzyTFMY3H0BpF1jX4trW+mKznbNkL421/
         P1PQ==
X-Gm-Message-State: AOJu0Yzxs6qtOCGS2SMtOPqefUk4+a5hAsz7kT5IERq/2IlzyokBEYCu
	DRKXhe6eI91FQxPNJdAsJaXNUPkCb40g4fxy2MggqQx8P4vo1OVgHH6IiJLCd9CnHyivYGXXYpU
	5
X-Google-Smtp-Source: AGHT+IFuR5uEVIXha4taznTw+AuINi3XXUWIPKrjNQ9eV2blD6aOENQQuJ3FrguG4I1J5l0Z3bvKYg==
X-Received: by 2002:a17:906:5851:b0:a52:54d8:6d21 with SMTP id h17-20020a170906585100b00a5254d86d21mr320675ejs.7.1714067259433;
        Thu, 25 Apr 2024 10:47: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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] CI: Drop glibc-i386 from the build containers
Date: Thu, 25 Apr 2024 18:47:37 +0100
Message-Id: <20240425174737.414327-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Xen 4.14 no longer runs in Gitlab CI.  Drop the dependency to shrink the build
containers a little.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 automation/build/archlinux/current.dockerfile        | 2 --
 automation/build/centos/7.dockerfile                 | 2 --
 automation/build/debian/bookworm.dockerfile          | 2 --
 automation/build/debian/jessie.dockerfile            | 2 --
 automation/build/debian/stretch.dockerfile           | 2 --
 automation/build/fedora/29.dockerfile                | 2 --
 automation/build/suse/opensuse-leap.dockerfile       | 2 --
 automation/build/suse/opensuse-tumbleweed.dockerfile | 2 --
 automation/build/ubuntu/bionic.dockerfile            | 2 --
 automation/build/ubuntu/focal.dockerfile             | 2 --
 automation/build/ubuntu/trusty.dockerfile            | 2 --
 automation/build/ubuntu/xenial.dockerfile            | 2 --
 12 files changed, 24 deletions(-)

diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
index d974a1434fd5..3e37ab5c40c1 100644
--- a/automation/build/archlinux/current.dockerfile
+++ b/automation/build/archlinux/current.dockerfile
@@ -19,8 +19,6 @@ RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
         iasl \
         inetutils \
         iproute \
-        # lib32-glibc for Xen < 4.15
-        lib32-glibc \
         libaio \
         libcacard \
         libgl \
diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
index ab450f0b3a0e..1cdc16fc05f9 100644
--- a/automation/build/centos/7.dockerfile
+++ b/automation/build/centos/7.dockerfile
@@ -32,8 +32,6 @@ RUN yum -y update \
         yajl-devel \
         pixman-devel \
         glibc-devel \
-        # glibc-devel.i686 for Xen < 4.15
-        glibc-devel.i686 \
         make \
         binutils \
         git \
diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
index 459f8e30bdc6..d893218fc4bd 100644
--- a/automation/build/debian/bookworm.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -31,8 +31,6 @@ RUN apt-get update && \
         bin86 \
         bcc \
         liblzma-dev \
-        # libc6-dev-i386 for Xen < 4.15
-        libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 32fc952fbc2d..308675cac150 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -37,8 +37,6 @@ RUN apt-get update && \
         bin86 \
         bcc \
         liblzma-dev \
-        # libc6-dev-i386 for Xen < 4.15
-        libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index e2706a8f3589..59794ed4677b 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -38,8 +38,6 @@ RUN apt-get update && \
         bin86 \
         bcc \
         liblzma-dev \
-        # libc6-dev-i386 for Xen < 4.15
-        libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \
diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
index 42a87ce6c84b..f473ae13e7c1 100644
--- a/automation/build/fedora/29.dockerfile
+++ b/automation/build/fedora/29.dockerfile
@@ -21,8 +21,6 @@ RUN dnf -y install \
         yajl-devel \
         pixman-devel \
         glibc-devel \
-        # glibc-devel.i686 for Xen < 4.15
-        glibc-devel.i686 \
         make \
         binutils \
         git \
diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
index e1ec38a41445..48d0d50d005d 100644
--- a/automation/build/suse/opensuse-leap.dockerfile
+++ b/automation/build/suse/opensuse-leap.dockerfile
@@ -28,8 +28,6 @@ RUN zypper install -y --no-recommends \
         ghostscript \
         glib2-devel \
         glibc-devel \
-        # glibc-devel-32bit for Xen < 4.15
-        glibc-devel-32bit \
         gzip \
         hostname \
         libaio-devel \
diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
index f00e03eda7b1..53542ba1f4d9 100644
--- a/automation/build/suse/opensuse-tumbleweed.dockerfile
+++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
@@ -26,8 +26,6 @@ RUN zypper install -y --no-recommends \
         ghostscript \
         glib2-devel \
         glibc-devel \
-        # glibc-devel-32bit for Xen < 4.15
-        glibc-devel-32bit \
         gzip \
         hostname \
         libaio-devel \
diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
index 77d7f933860c..910d3c4b5315 100644
--- a/automation/build/ubuntu/bionic.dockerfile
+++ b/automation/build/ubuntu/bionic.dockerfile
@@ -31,8 +31,6 @@ RUN apt-get update && \
         bin86 \
         bcc \
         liblzma-dev \
-        # libc6-dev-i386 for Xen < 4.15
-        libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \
diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
index 30a9b8e84ffe..7c6a4d07566b 100644
--- a/automation/build/ubuntu/focal.dockerfile
+++ b/automation/build/ubuntu/focal.dockerfile
@@ -31,8 +31,6 @@ RUN apt-get update && \
         bin86 \
         bcc \
         liblzma-dev \
-        # libc6-dev-i386 for Xen < 4.15
-        libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \
diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
index 0d33578c4e1d..8bd8c085a781 100644
--- a/automation/build/ubuntu/trusty.dockerfile
+++ b/automation/build/ubuntu/trusty.dockerfile
@@ -31,8 +31,6 @@ RUN apt-get update && \
         bin86 \
         bcc \
         liblzma-dev \
-        # libc6-dev-i386 for Xen < 4.15
-        libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \
diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
index e8035434f804..f6296d32925c 100644
--- a/automation/build/ubuntu/xenial.dockerfile
+++ b/automation/build/ubuntu/xenial.dockerfile
@@ -31,8 +31,6 @@ RUN apt-get update && \
         bin86 \
         bcc \
         liblzma-dev \
-        # libc6-dev-i386 for Xen < 4.15
-        libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
         libfindlib-ocaml-dev \

base-commit: 23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 18:00:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 18:00:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712212.1112706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03OH-00045h-U9; Thu, 25 Apr 2024 18:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712212.1112706; Thu, 25 Apr 2024 18:00:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03OH-00045a-Pz; Thu, 25 Apr 2024 18:00:13 +0000
Received: by outflank-mailman (input) for mailman id 712212;
 Thu, 25 Apr 2024 18:00:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s03OG-00045U-Al
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 18:00:12 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a611a8d6-032d-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 20:00:10 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id E1773CE1864;
 Thu, 25 Apr 2024 18:00:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 253ADC113CC;
 Thu, 25 Apr 2024 17: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: a611a8d6-032d-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714068000;
	bh=JNtJIUhSlAna6Ur7ZTAU4VxIW3zkBz/zw94n+Bin7/M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MzovhnScpztmQ3Va6fuZzabHkPsGkrE37QcBc4x6512T6YMOwlUgEKOJxj+OCm7qK
	 bZIv8Doz0912tiVunAXnfqmCLAfHRsxEsAFAmEVDRvuYNeA4XeTSfpyREpZQTvLc6+
	 vqeBD4mcbDyfH6lW2rUjzNrltSSWTqksMOoTjTRw8dm5RQk3FJ01WwQCuj3ywdyTYu
	 Z5L7bFZSOpRTTxCJ2ysTbr3jnPI3GMMni49eF/eHESyqaRXwz9jA+e+gChQcuMlap5
	 hskAqpBNwqsmcqsoOcZKcZ/8PeFbLLtbBtpMnE2lhHTJrFSwokYO0KQlGynfyXStmG
	 hPSsz8Zpq9kjg==
Date: Thu, 25 Apr 2024 10:59:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] CI: Drop glibc-i386 from the build containers
In-Reply-To: <20240425174737.414327-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404251059490.3940@ubuntu-linux-20-04-desktop>
References: <20240425174737.414327-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-213578181-1714068000=:3940"

  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-213578181-1714068000=:3940
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 24 Apr 2024, Andrew Cooper wrote:
> Xen 4.14 no longer runs in Gitlab CI.  Drop the dependency to shrink the build
> containers a little.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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


> ---
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Doug Goldstein <cardoe@cardoe.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  automation/build/archlinux/current.dockerfile        | 2 --
>  automation/build/centos/7.dockerfile                 | 2 --
>  automation/build/debian/bookworm.dockerfile          | 2 --
>  automation/build/debian/jessie.dockerfile            | 2 --
>  automation/build/debian/stretch.dockerfile           | 2 --
>  automation/build/fedora/29.dockerfile                | 2 --
>  automation/build/suse/opensuse-leap.dockerfile       | 2 --
>  automation/build/suse/opensuse-tumbleweed.dockerfile | 2 --
>  automation/build/ubuntu/bionic.dockerfile            | 2 --
>  automation/build/ubuntu/focal.dockerfile             | 2 --
>  automation/build/ubuntu/trusty.dockerfile            | 2 --
>  automation/build/ubuntu/xenial.dockerfile            | 2 --
>  12 files changed, 24 deletions(-)
> 
> diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
> index d974a1434fd5..3e37ab5c40c1 100644
> --- a/automation/build/archlinux/current.dockerfile
> +++ b/automation/build/archlinux/current.dockerfile
> @@ -19,8 +19,6 @@ RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
>          iasl \
>          inetutils \
>          iproute \
> -        # lib32-glibc for Xen < 4.15
> -        lib32-glibc \
>          libaio \
>          libcacard \
>          libgl \
> diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
> index ab450f0b3a0e..1cdc16fc05f9 100644
> --- a/automation/build/centos/7.dockerfile
> +++ b/automation/build/centos/7.dockerfile
> @@ -32,8 +32,6 @@ RUN yum -y update \
>          yajl-devel \
>          pixman-devel \
>          glibc-devel \
> -        # glibc-devel.i686 for Xen < 4.15
> -        glibc-devel.i686 \
>          make \
>          binutils \
>          git \
> diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
> index 459f8e30bdc6..d893218fc4bd 100644
> --- a/automation/build/debian/bookworm.dockerfile
> +++ b/automation/build/debian/bookworm.dockerfile
> @@ -31,8 +31,6 @@ RUN apt-get update && \
>          bin86 \
>          bcc \
>          liblzma-dev \
> -        # libc6-dev-i386 for Xen < 4.15
> -        libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
>          libfindlib-ocaml-dev \
> diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
> index 32fc952fbc2d..308675cac150 100644
> --- a/automation/build/debian/jessie.dockerfile
> +++ b/automation/build/debian/jessie.dockerfile
> @@ -37,8 +37,6 @@ RUN apt-get update && \
>          bin86 \
>          bcc \
>          liblzma-dev \
> -        # libc6-dev-i386 for Xen < 4.15
> -        libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
>          libfindlib-ocaml-dev \
> diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
> index e2706a8f3589..59794ed4677b 100644
> --- a/automation/build/debian/stretch.dockerfile
> +++ b/automation/build/debian/stretch.dockerfile
> @@ -38,8 +38,6 @@ RUN apt-get update && \
>          bin86 \
>          bcc \
>          liblzma-dev \
> -        # libc6-dev-i386 for Xen < 4.15
> -        libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
>          libfindlib-ocaml-dev \
> diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
> index 42a87ce6c84b..f473ae13e7c1 100644
> --- a/automation/build/fedora/29.dockerfile
> +++ b/automation/build/fedora/29.dockerfile
> @@ -21,8 +21,6 @@ RUN dnf -y install \
>          yajl-devel \
>          pixman-devel \
>          glibc-devel \
> -        # glibc-devel.i686 for Xen < 4.15
> -        glibc-devel.i686 \
>          make \
>          binutils \
>          git \
> diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
> index e1ec38a41445..48d0d50d005d 100644
> --- a/automation/build/suse/opensuse-leap.dockerfile
> +++ b/automation/build/suse/opensuse-leap.dockerfile
> @@ -28,8 +28,6 @@ RUN zypper install -y --no-recommends \
>          ghostscript \
>          glib2-devel \
>          glibc-devel \
> -        # glibc-devel-32bit for Xen < 4.15
> -        glibc-devel-32bit \
>          gzip \
>          hostname \
>          libaio-devel \
> diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
> index f00e03eda7b1..53542ba1f4d9 100644
> --- a/automation/build/suse/opensuse-tumbleweed.dockerfile
> +++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
> @@ -26,8 +26,6 @@ RUN zypper install -y --no-recommends \
>          ghostscript \
>          glib2-devel \
>          glibc-devel \
> -        # glibc-devel-32bit for Xen < 4.15
> -        glibc-devel-32bit \
>          gzip \
>          hostname \
>          libaio-devel \
> diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
> index 77d7f933860c..910d3c4b5315 100644
> --- a/automation/build/ubuntu/bionic.dockerfile
> +++ b/automation/build/ubuntu/bionic.dockerfile
> @@ -31,8 +31,6 @@ RUN apt-get update && \
>          bin86 \
>          bcc \
>          liblzma-dev \
> -        # libc6-dev-i386 for Xen < 4.15
> -        libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
>          libfindlib-ocaml-dev \
> diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
> index 30a9b8e84ffe..7c6a4d07566b 100644
> --- a/automation/build/ubuntu/focal.dockerfile
> +++ b/automation/build/ubuntu/focal.dockerfile
> @@ -31,8 +31,6 @@ RUN apt-get update && \
>          bin86 \
>          bcc \
>          liblzma-dev \
> -        # libc6-dev-i386 for Xen < 4.15
> -        libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
>          libfindlib-ocaml-dev \
> diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
> index 0d33578c4e1d..8bd8c085a781 100644
> --- a/automation/build/ubuntu/trusty.dockerfile
> +++ b/automation/build/ubuntu/trusty.dockerfile
> @@ -31,8 +31,6 @@ RUN apt-get update && \
>          bin86 \
>          bcc \
>          liblzma-dev \
> -        # libc6-dev-i386 for Xen < 4.15
> -        libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
>          libfindlib-ocaml-dev \
> diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
> index e8035434f804..f6296d32925c 100644
> --- a/automation/build/ubuntu/xenial.dockerfile
> +++ b/automation/build/ubuntu/xenial.dockerfile
> @@ -31,8 +31,6 @@ RUN apt-get update && \
>          bin86 \
>          bcc \
>          liblzma-dev \
> -        # libc6-dev-i386 for Xen < 4.15
> -        libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
>          libfindlib-ocaml-dev \
> 
> base-commit: 23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5
> -- 
> 2.30.2
> 
--8323329-213578181-1714068000=:3940--


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 18:07:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 18:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712217.1112714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03Ul-0005hi-IV; Thu, 25 Apr 2024 18:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712217.1112714; Thu, 25 Apr 2024 18:06:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03Ul-0005hb-FM; Thu, 25 Apr 2024 18:06:55 +0000
Received: by outflank-mailman (input) for mailman id 712217;
 Thu, 25 Apr 2024 18:06: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=PcQm=L6=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1s03Uk-0005hV-By
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 18:06:54 +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 9848d8b4-032e-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 20:06:53 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-41b5dd5af48so5062905e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 11:06:53 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k29-20020a05600c1c9d00b0041a68d4fe76sm202394wms.0.2024.04.25.11.06.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 25 Apr 2024 11:06: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: 9848d8b4-032e-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714068412; x=1714673212; 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=hKuTHWjwA6UAoDwmbDvHl20hBWBu74PPvN/u/KCEbJY=;
        b=Hv9AxinThehmZIycr0m9okSMpvTdnHbycj2q676+sPk+sVdRXevKzlwFY7kXeVzvhI
         k9dA0HacihplzP/Lvm59GGICVK4uN9whaelPS8jjlplknhUA/vuxdsNqvqNVBnlzLOgR
         FgdrJz2FSSSMRjZy+80dywArO4XcZru741s+Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714068412; x=1714673212;
        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=hKuTHWjwA6UAoDwmbDvHl20hBWBu74PPvN/u/KCEbJY=;
        b=Zf4lWiSQGX//BLI3+2j6IMctE8OD5C/FxbHafurg7kZAHyPAPh+o2Rac5sRYY6+aeE
         YKFDF1xdeNl0NE1OMXX1EkAn1XhNx10ngbnkE6HxiPKUctluWdabQwllVC747yAMsJ7n
         FOpJ6ZYaWqJ6z3U+rDXzW2m1vMIiG8gVaEkCoclCRaE5ZtaDVdTEzTA4/t/qQI3sizRE
         U28NNCTBXUOOM22j7xgKdXn1S0tLt9ojlGZtXkDcSxaocN1yYooUhArgADihxRp8yxXh
         ibWWkrFFZSSBrysV0D5TJub7y4CHCVg9wDoGtlk6gj5UBilnMoI+liYNz/nyRkLWCb05
         Qabw==
X-Gm-Message-State: AOJu0YyeeodJ1GxVZztpVqbLxjQwW91h6dZdH6OqiiFv1dggLEkgip9B
	THhfSgIVMfA6juLZZz0PLmvc3FoJm4S5/p4z4de9ndhwAtKQWK7XNuCIORLjvAE=
X-Google-Smtp-Source: AGHT+IEYVdAuYaZGCu/+8ZjCNkn8/7sAhy7fZJszHwWl29bsWGj5qNUXlPIaCBVmUSDA+Y5ZwNwSBw==
X-Received: by 2002:a05:600c:3502:b0:418:d35f:8628 with SMTP id h2-20020a05600c350200b00418d35f8628mr170457wmq.21.1714068412620;
        Thu, 25 Apr 2024 11:06:52 -0700 (PDT)
Date: Thu, 25 Apr 2024 19:06:51 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	Edwin =?iso-8859-1?B?VPZy9ms=?= <edwin.torok@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/2] tools/{c,o}xenstored: Don't link against libsystemd
Message-ID: <b5e242fa-daf1-43a2-afd2-cc1ad1bd4dc1@perard>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
 <20240425173216.410940-2-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240425173216.410940-2-andrew.cooper3@citrix.com>

On Thu, Apr 25, 2024 at 06:32:15PM +0100, Andrew Cooper wrote:
> libsystemd is a giant dependency for one single function, but in the wake of
> the xz backdoor, it turns out that even systemd leadership recommend against
> linking against libsystemd for sd_notify().
> 
> Since commit 7b61011e1450 ("tools: make xenstore domain easy configurable") in
> Xen 4.8, the launch-xenstore script invokes systemd-notify directly, so its

That's not enough, it's needs to be `systemd-notify --ready` to be a
replacement for sd_notify(READY=1).

> not even necessary for the xenstored's to call sd_notify() themselves.

So, sd_notify() or equivalent is still necessary.

> Therefore, just drop the calls to sd_notify() and stop linking against
> libsystemd.

Sounds good, be we need to replace the call by something like:
    echo READY=1 > $NOTIFY_SOCKET
implemented in C and ocaml. Detail to be checked.

Otherwise, things won't work.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 18:16:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 18:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712221.1112725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03e0-0008Gm-EL; Thu, 25 Apr 2024 18:16:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712221.1112725; Thu, 25 Apr 2024 18: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 1s03e0-0008Gf-An; Thu, 25 Apr 2024 18:16:28 +0000
Received: by outflank-mailman (input) for mailman id 712221;
 Thu, 25 Apr 2024 18: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s03dz-0008GX-O0
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 18:16:27 +0000
Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com
 [2607:f8b0:4864:20::732])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edf81cc4-032f-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 20:16:26 +0200 (CEST)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-78f056f0a53so79100885a.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 11:16:26 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z12-20020a0cf00c000000b006a0441c4d15sm7145119qvk.38.2024.04.25.11.16.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 11: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: edf81cc4-032f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714068986; x=1714673786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MaX4o5LBeJn3t8xAOHYRZgxxvBmmdxJbFDAYUiF8a1E=;
        b=vjeenQOmDdTP5A8xR3r3h6nJXPHketm8X8EsxSfaCQDOTHyittNCt0UYW72V8t0CED
         ALJjAvtatw19qVPAIXHW34tQUlv8+pXb++SKVW/GlNccPtrZmHDxO2iVPxLfvwQdmV59
         BE41Zx5yf8CgvsC3oGFFCmNCaIPI+A4cgC4dE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714068986; x=1714673786;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MaX4o5LBeJn3t8xAOHYRZgxxvBmmdxJbFDAYUiF8a1E=;
        b=NSMkJ+9MprphjlNPQS0F+ClS3hnqjANci7E2VcL8svtHThWusyLNGYaIojq2bgPzMh
         2gk5NN0oG0PDGbty7vyAq5IaIS8O2+RqJezUKBsC6ycX/aMJQyO1rIjKUsjFyFzDzLjt
         yRCs4/LdRYRfOcJ0GnEg/y6SEV1F8NF6JgwxR1qb6BO/gjPo4TrERnhBgJDORv4qqZpu
         RIxHXJCFgdBpQeGFq8V3ARjoKvjBcbHynuylc9g8F9M1dfLtPTsl5EToNKzdRyJPyNXo
         swwwPffyoyzRwAw/CdnXDFPC9OegRAGUds0yycszMndow+c417FkzPqetbnjAebF9+NZ
         vuAg==
X-Gm-Message-State: AOJu0Yyi4QSavCVY4/Aix/ZtcL8m0/awGx7o2AEMSN/RrUCOhlBN9Lfs
	CfXckMkZhnBH3nxvTxrNe/CVZS/v+12sFQfESvIxYgQiJaM1AvmmCwVPvTU0+iI=
X-Google-Smtp-Source: AGHT+IGdN8iqqCAaHepHcmbauZkQQFWM6BGCMxK/efp6mRz8pjydQoCojOQT0p7PNEnArNPXlRrPaA==
X-Received: by 2002:a05:6214:5582:b0:6a0:ab56:8466 with SMTP id mi2-20020a056214558200b006a0ab568466mr9523qvb.50.1714068985539;
        Thu, 25 Apr 2024 11:16:25 -0700 (PDT)
Message-ID: <341c5901-254e-4ad2-b935-6b586cd25f2e@citrix.com>
Date: Thu, 25 Apr 2024 19:16:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] tools/{c,o}xenstored: Don't link against libsystemd
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
 <20240425173216.410940-2-andrew.cooper3@citrix.com>
 <b5e242fa-daf1-43a2-afd2-cc1ad1bd4dc1@perard>
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: <b5e242fa-daf1-43a2-afd2-cc1ad1bd4dc1@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/04/2024 7:06 pm, Anthony PERARD wrote:
> On Thu, Apr 25, 2024 at 06:32:15PM +0100, Andrew Cooper wrote:
>> libsystemd is a giant dependency for one single function, but in the wake of
>> the xz backdoor, it turns out that even systemd leadership recommend against
>> linking against libsystemd for sd_notify().
>>
>> Since commit 7b61011e1450 ("tools: make xenstore domain easy configurable") in
>> Xen 4.8, the launch-xenstore script invokes systemd-notify directly, so its
> That's not enough, it's needs to be `systemd-notify --ready` to be a
> replacement for sd_notify(READY=1).
>
>> not even necessary for the xenstored's to call sd_notify() themselves.
> So, sd_notify() or equivalent is still necessary.
>
>> Therefore, just drop the calls to sd_notify() and stop linking against
>> libsystemd.
> Sounds good, be we need to replace the call by something like:
>     echo READY=1 > $NOTIFY_SOCKET
> implemented in C and ocaml. Detail to be checked.
>
> Otherwise, things won't work.

Hmm.  It worked in XenRT when stripping this all out, but that is
extremely unintuitive behaviour for `systemd-notify --booted`, seeing as
it's entirely different to --ready.

I've got no interest in keeping the C around, but if:

[ -n "$NOTIFY_SOCKET" ] && echo READY=1 > $NOTIFY_SOCKET

works, then can't we just use that after waiting for the the pidfile ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 18:32:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 18:32:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712231.1112734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03t3-0003Mp-Px; Thu, 25 Apr 2024 18:32:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712231.1112734; Thu, 25 Apr 2024 18:32:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s03t3-0003Mi-Ml; Thu, 25 Apr 2024 18:32:01 +0000
Received: by outflank-mailman (input) for mailman id 712231;
 Thu, 25 Apr 2024 18:32:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s03t2-0003Mc-OY
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 18:32:00 +0000
Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com
 [2607:f8b0:4864:20::82e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a12990a-0332-11ef-909a-e314d9c70b13;
 Thu, 25 Apr 2024 20:31:59 +0200 (CEST)
Received: by mail-qt1-x82e.google.com with SMTP id
 d75a77b69052e-436ce50b199so5888991cf.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 11:31:59 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b13-20020ac8754d000000b0043718726f76sm7132408qtr.90.2024.04.25.11.31.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 11: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: 1a12990a-0332-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714069919; x=1714674719; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WpcWC5q2lOLKfhiBnvRQ383iygxsZPMKCHRK3KqaurQ=;
        b=AcV0Jmj6pWCY7SmBNQvX51WORsz6pOLZ+q6VZzLS+Ikt8BrfBdyURANkBHwnLldDf3
         s2ySW7rxpeLVSnBWCpjojU/5n0Ag+ClAPSiZjqSjs2iYeuYz/FJT5iWYftV+FPQz6RD/
         QaM8hvxA4bxlIHDTPiPP31nngVUY6dZiER+3Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714069919; x=1714674719;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WpcWC5q2lOLKfhiBnvRQ383iygxsZPMKCHRK3KqaurQ=;
        b=w1HMqpDdLzYevIvJdI8uxc7tATLV+bv6LdSJGDO3/OtLiwzI1FNuioq+n5BZPX5BSp
         m7YFdNsCkDplSawkNAa0mrjI2sX6jetsPLz3mNJvW2h4QdZYp/D+t8ds6YvFWP2elUId
         3VcS1Ax78cuqZosZXj9b5KcCLx8YTLj0Sm4mTr8NKMkKb64iQf2DbJtUB5cECgMzE/dQ
         HWXOk2RD5ryHHWW9geKS7WAXwf+daTseyPjImIdvxi+EQBl+5pcYMuaJTVnOZMVpQaC1
         X27UJkEjvA7QH3M+WaYD+hwEH5FQh823NnTlaXyU7Praut0pz+GK26WFkjVJAn/F8lap
         bAQQ==
X-Forwarded-Encrypted: i=1; AJvYcCUW+ARkejxIVXSc80piU+HxYR+28nwZotlQEAfDbWpBPlhMafS70XKSqP3pPG7xkHCB+58ninMm7olbjHrE6Pp3nuVCxkscYcX1jRGsrCs=
X-Gm-Message-State: AOJu0YxMJV62kYVonIlrqyxgwLyFFWdhOy0gBJ7Y76+cP4XoRCQaCaNx
	CAjdoL6RsrzGUJpclLjqgA6ej5oN/cXJO9qvONq29zgny6L/RWozhc0WtLzteug=
X-Google-Smtp-Source: AGHT+IFT/54ODLcQkZvIJ2LB3YC26f6JP8sRcMzeR07mLYcaQ4mGzT3PuUfNhwB2J3B9UHHXw++BxQ==
X-Received: by 2002:a05:622a:589:b0:437:b4f1:2360 with SMTP id c9-20020a05622a058900b00437b4f12360mr458859qtb.49.1714069918730;
        Thu, 25 Apr 2024 11:31:58 -0700 (PDT)
Message-ID: <23477984-0604-4e0f-94db-f12c0b6c3eaa@citrix.com>
Date: Thu, 25 Apr 2024 19:31:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/8] gzip: clean up comments and fix code alignment
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-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: <20240424163422.23276-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/04/2024 5:34 pm, Daniel P. Smith wrote:
> This commit cleans up the comments and fixes the code alignment using Xen
> coding style. This is done to make the code more legible before refactoring.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 19:20:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 19:20:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712236.1112745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s04dY-0004RL-W2; Thu, 25 Apr 2024 19:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712236.1112745; Thu, 25 Apr 2024 19:20:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s04dY-0004Ql-Rm; Thu, 25 Apr 2024 19:20:04 +0000
Received: by outflank-mailman (input) for mailman id 712236;
 Thu, 25 Apr 2024 19:20: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s04dY-0003tC-0Q
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 19:20:04 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce7f28ad-0338-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 21:19:59 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-78edc3e7cd9so86164885a.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 12:19:59 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 i9-20020a0cf109000000b0069b413fa1f7sm7209666qvl.31.2024.04.25.12.19.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 12:19: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: ce7f28ad-0338-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714072798; x=1714677598; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=u0+qUmIl8eb4kLwssuBU/ahsyDv0haSAVDAvzHrjiug=;
        b=n6K6BPG5LKIHVnVQy/MNrM4uHcv8jNW2LUIyCLpocCus4BnqH0YINOwg53boLQVrJH
         sgXmBn2bFKbCOVJYtJpIPJPCoLzIJfOXUUoWj77xjOAp1g/R4zEZ81DRGS/tlkwTP5Es
         OZQPi4ejXlHXALCIjNx/q+C0CANFKfh7qBgDY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714072798; x=1714677598;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u0+qUmIl8eb4kLwssuBU/ahsyDv0haSAVDAvzHrjiug=;
        b=bRsXnjH1FbbIw2rcD7eTQiunUljlSjjg1NNWw/gSoPAn36XOSlFPBSMFOA7WJhbowi
         QTteAFq29epukPOiOqRqTpwZi6EyRHdUZbivBb+umebb+nK8Z5C/HhGCc+03Doc7n/qL
         f4gpFVeXfYyVVnnJB2Y0S1StDzvglW9QKgEglVfTU5zzuePIAG30XTmrdAGIhMWqV/dg
         eBJkpmu6GiLSWHp9lHUxXBhI9mQcL5d2Bq0SVklfIIHIzWVo6sjf+tsV1bHbuTRKUXCy
         BuYaATRHwhGS2S4PH53fWWcfKXD8HTN5B4EE3d0QJLFEzKHqktgwz8nvQicvv8Sdl9D0
         TbLw==
X-Forwarded-Encrypted: i=1; AJvYcCWwQrgzv+NOXUeDoYP9KsYqyeG9U7+ahOH1LlGBhYpWPDK8FoVlLKZX9yZ2cVvDpE/WpMZTIK8B44AmC2I+IBEu4T1FrfU5V0hH4SVRzdg=
X-Gm-Message-State: AOJu0YxUSXGAErgUOdud6psHk8rYyRKShvOPIVg1nm4+KFRjwJq6VqHZ
	GAN3wSW0KznI7A0wrmGa7HUllytYPJmSNRERSaKeHMXbvzGTmGQBFPjIiDy0gA0=
X-Google-Smtp-Source: AGHT+IG0+NcTEyhfGAZxLRog/CJV5Z7qI8b8q7iKrrknCaQTB/MCQf5HO82zyD9j5B3j0YM4QOLeAg==
X-Received: by 2002:a05:6214:e86:b0:6a0:69ec:b5b6 with SMTP id hf6-20020a0562140e8600b006a069ecb5b6mr937310qvb.13.1714072798419;
        Thu, 25 Apr 2024 12:19:58 -0700 (PDT)
Message-ID: <3c94522c-7ab3-4c3e-81ac-3d9525e4309a@citrix.com>
Date: Thu, 25 Apr 2024 20:19:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 8/8] gzip: move crc state into gunzip state
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-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: <20240424163422.23276-9-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/04/2024 5:34 pm, Daniel P. Smith wrote:
> Move the crc and its state into struct gunzip_state. In the process, expand the
> only use of CRC_VALUE as it is hides what is being compared.

"All variables here should be uint32_t rather than unsigned long, which
halves the storage space required."

> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index 8da14880cfbe..dc940e59d853 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -1069,11 +1065,11 @@ static void __init makecrc(void)
>              if (k & 1)
>                  c ^= e;
>          }
> -        crc_32_tab[i] = c;
> +        s->crc_32_tab[i] = c;
>      }
>  
>      /* this is initialized here so this code could reside in ROM */
> -    crc = (ulg)0xffffffffUL; /* shift register contents */
> +    s->crc = (ulg)~0u; /* shift register contents */

The (ulg) wasn't ever necessary, and can be dropped as part of this cleanup.

Can fix on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 19:23:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 19:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712239.1112755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s04gm-0005HT-Dv; Thu, 25 Apr 2024 19:23:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712239.1112755; Thu, 25 Apr 2024 19: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 1s04gm-0005HM-9s; Thu, 25 Apr 2024 19:23:24 +0000
Received: by outflank-mailman (input) for mailman id 712239;
 Thu, 25 Apr 2024 19: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=BIz1=L6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s04gk-0005HG-Bq
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 19:23:22 +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 4682fa18-0339-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 21:23:20 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-343c2f5b50fso906205f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 12:23:20 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d4-20020adfe2c4000000b0034a3a0a753asm18968038wrj.100.2024.04.25.12.23.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 12:23:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4682fa18-0339-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714073000; x=1714677800; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xoAXN24MgsPeQUWSUOyx6gEvdRtRfRKikaovBJmdiLA=;
        b=Wdap+MsQaNbBuBh7aee4acN80S9z91dPc4pD4jL4m4lAiZSmPSV9S48pTiNyRWTovv
         e6HewkVmAfZh+46nGrzwjaaXAK9ZEzhMa5P/xZsrzYLY7n+fTJ/XaNhKdbtRbMUPYayt
         ScSHkPyMfoLfOVdG0U4j+IwFtuU/1bMgomvLQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714073000; x=1714677800;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xoAXN24MgsPeQUWSUOyx6gEvdRtRfRKikaovBJmdiLA=;
        b=TaVIizf6PjzVgFq31m6pcRwKna+T4WM7MSZcWDyxMyN2dgPXKZzKCAFKF8reQtjjzd
         ebROzKsWCXfCLoJo1DJ87D+JKj4svuo2rz5aWUlhPtVfMBzSYfmCt3rknY1IrOJbuxx/
         IA2K0o74kKF61Do+jh+zE/gEmmplr5VhAhxUkAL8eEhtxEvCJKo0SdVz3WnjxNP76S6J
         vdRqtLlNd8vs/QhFaizwBt2iiKDWHPFwDRcPHeShd2wPMroDuAOIYeZ5u5ndshX1H/Mq
         j+nUMFiAP35M1Uf0QCBLAAyNS1AOEe+lpXCr7xMl7Zzg6GB5qmhnwkitFCtuDNyxyKEp
         I8jA==
X-Forwarded-Encrypted: i=1; AJvYcCXwWTOsW4vFaSRxc9mYoxQmRwRjP/2+kDT88zMj1EQur7RsYOibUgWzhfRbHgAX+HCnxlodMezh/C7lqgB9IBqgn7MYh/HglrHjAoMCeeA=
X-Gm-Message-State: AOJu0Yy6cBxaUKhucxafplLSdceeENAiA9z8EtiYvBf84wod4WkKx1vo
	cUE37Y07jtm2j30HCSV4K8H9YZAPKmxFuSP7CAEmmdoG7JsYgkIP0lkB8g2wnJY=
X-Google-Smtp-Source: AGHT+IFNbk844Cut08O1OONsCAGwx10yDTfkxESlLsfVlhuRvm4NxCsH5PmWekL7F5FVfw3+1QILZw==
X-Received: by 2002:adf:ef84:0:b0:346:bbf8:5b83 with SMTP id d4-20020adfef84000000b00346bbf85b83mr305603wro.50.1714072999812;
        Thu, 25 Apr 2024 12:23:19 -0700 (PDT)
Message-ID: <06b325c3-04a4-4294-85e1-a6d05019e3f0@citrix.com>
Date: Thu, 25 Apr 2024 20:23:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/8] gzip: move bitbuffer into gunzip state
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-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: <20240424163422.23276-8-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/04/2024 5:34 pm, Daniel P. Smith wrote:
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

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

> diff --git a/xen/common/gzip/inflate.c b/xen/common/gzip/inflate.c
> index bec8801df487..8da14880cfbe 100644
> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -1017,8 +1014,8 @@ static int __init inflate(struct gunzip_state *s)
>      /* Undo too much lookahead. The next read will be byte aligned so we
>       * can discard unused bits in the last meaningful byte.
>       */
> -    while (bk >= 8) {
> -        bk -= 8;
> +    while (s->bk >= 8) {
> +        s->bk -= 8;
>          s->inptr--;
>      }

Isn't it just me, but isn't this just:

    s->inptr -= (s->bk >> 3);
    s->bk &= 7;

?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 19:54:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 19:54:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712246.1112765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s05Af-0003Ri-Lv; Thu, 25 Apr 2024 19:54:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712246.1112765; Thu, 25 Apr 2024 19:54:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s05Af-0003Rb-Im; Thu, 25 Apr 2024 19:54:17 +0000
Received: by outflank-mailman (input) for mailman id 712246;
 Thu, 25 Apr 2024 19:54: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 1s05Ad-0003RR-Jx; Thu, 25 Apr 2024 19:54: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 1s05Ad-0003an-Bw; Thu, 25 Apr 2024 19:54: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 1s05Ad-0007w6-0s; Thu, 25 Apr 2024 19:54:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s05Ad-0000mS-0I; Thu, 25 Apr 2024 19:54:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MyDcGdGPbs+hkK3/XWNo7YxJK81820/JF3BEhCtWwMo=; b=0lvNQ1r+s/lD++oIiy7aLbFSxM
	f6c+rqYxGZUGCcYrLZayDDtjPPIAoRLxKYGZJsFk4m7fPFoWgsGQ6gIMxfuluuDI/FfnAqZbPBXUh
	gouRylO7tGeEQ3EN4EICr+P4Duh1rCGu2v2TfhIuQGN5QetK27CpBrv+p4IwvCZwQ7E8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185794-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185794: 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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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=31d6b5b4a7c84818294dacca7a07e92f52393c9d
X-Osstest-Versions-That:
    xen=410ef3343924b5a3928bbe8e392491992b322cf0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 19:54:15 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185786
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185786
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185786
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185786
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185786
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185786
 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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     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                  31d6b5b4a7c84818294dacca7a07e92f52393c9d
baseline version:
 xen                  410ef3343924b5a3928bbe8e392491992b322cf0

Last test of basis   185786  2024-04-24 13:05:04 Z    1 days
Testing same since   185794  2024-04-25 05:57:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Nick Rosbrook <rosbrookn@gmail.com>
  Penny Zheng <penny.zheng@arm.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Tobias Fitschen <tobias.fitschen@posteo.de>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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
   410ef33439..31d6b5b4a7  31d6b5b4a7c84818294dacca7a07e92f52393c9d -> master


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 20:13:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 20:13:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712273.1112850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s05Sw-0007eu-8v; Thu, 25 Apr 2024 20:13:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712273.1112850; Thu, 25 Apr 2024 20:13: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 1s05Sw-0007en-6N; Thu, 25 Apr 2024 20:13:10 +0000
Received: by outflank-mailman (input) for mailman id 712273;
 Thu, 25 Apr 2024 20:13:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s05Su-0007eh-SQ
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 20:13:08 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3899e0b6-0340-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 22:13:05 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 39C65CE19BD;
 Thu, 25 Apr 2024 20:13:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7659DC113CC;
 Thu, 25 Apr 2024 20:13:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3899e0b6-0340-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714075981;
	bh=n/iDXz8hQ0wRWtnGrQvhufUj/54M5usMBYYuPXbMYCo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QOFuiE0BgNsu7tdhgXvQrv0r3qkFBw8nugeM8YT6Hk5myE9ANg9w7oFErgybGICdp
	 U4aG7xl+QgSXaDPCwRKNyV/Hw7j/AZdcEwpm8NYZVQq5rf+47XPilrJ27UpO5DIimT
	 6nDLqPOEGNU5P8IO4pCmaDkmyZBZv1P3doNWAqy7qhKxNb/+5+W9LRCOSOsOk2xCJa
	 uk3TdNC04PDNLKiwZgI9XzCsKORrKC8keYRpcEs8svXczk18vKr2S+yibuoxbJYgA2
	 G4ua9pYE318tx8LNwEW2LSaStqGkngSrIuXj9M8OBrbUIH8FdYHObCtoYbPCh7M/5a
	 8kR8qPSNdwXjg==
Date: Thu, 25 Apr 2024 13:12:59 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Subject: Re: [XEN PATCH] automation/eclair: reorganize pipelines
In-Reply-To: <74f86426-b3bb-4af7-85ca-15851acee6fd@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2404251255440.3940@ubuntu-linux-20-04-desktop>
References: <fe1fe9c964d1f2ba3cb46cbaf798cf698f341386.1713885065.git.federico.serafini@bugseng.com> <alpine.DEB.2.22.394.2404241704430.3940@ubuntu-linux-20-04-desktop> <74f86426-b3bb-4af7-85ca-15851acee6fd@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, 25 Apr 2024, Federico Serafini wrote:
> On 25/04/24 02:06, Stefano Stabellini wrote:
> > On Tue, 23 Apr 2024, Federico Serafini wrote:
> > > From: Simone Ballarin <simone.ballarin@bugseng.com>
> > > 
> > > Introduce accepted_guidelines.sh: a script to autogenerate the
> > > configuration file accepted.ecl from docs/misra/rules.rst which enables
> > > all accepted guidelines.
> > > 
> > > Introduce monitored.ecl: a manual selection of accepted guidelines
> > > which are clean or almost clean, it is intended to be used for the
> > > analyses triggered by commits.
> > > 
> > > Reorganize tagging.ecl:
> > >    -Remove "accepted" tags: keeping track of accepted guidelines tagging
> > >     them as "accepted" in the configuration file tagging.ecl is no
> > >     longer needed since docs/rules.rst is keeping track of them.
> > >    -Tag more guidelines as clean.
> > > 
> > > Reorganize eclair pipelines:
> > >    - Set1, Set2, Set3 are now obsolete: remove the corresponding
> > >      pipelines and ecl files.
> > >    - Amend scheduled eclair pipeline to use accepted.ecl.
> > >    - Amend triggered eclair pipeline to use monitored.ecl.
> > > 
> > > Rename and improve action_check_clean_regressions.sh to print a
> > > diagnostic in case a commit introduces a violation of a clean guideline.
> > > 
> > > An example of diagnostic is the following:
> > > 
> > > Failure: 13 regressions found for clean guidelines
> > >    service MC3R1.R8.2: (required) Function types shall be in prototype
> > > form with named parameters:
> > >     violation: 13
> > > 
> > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> > > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> > > Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> > 
> > Fantastic work, thank you!
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > 
> > Is this patch safe to commit now? Or would it cause gitlab-ci breakage?
> 
> Yes, it is safe because the ECLAIR analysis is still allowed to fail.
> Committing this patch wouldn't break the CI but it will highlight some
> regressions with the orange badge and the following messages:

OK thanks, I'll commit it


> arm:
> 
> Failure: 5 regressions found for clean guidelines
>   service MC3R1.R1.1: (required) The program shall contain no violations of
> the standard C syntax and constraints, and shall not exceed the
> implementation's translation limits:
>    violation: 5
> 
> x86:
> 
> Failure: 2 regressions found for clean guidelines
>   service MC3R1.R8.2: (required) Function types shall be in prototype form
> with named parameters:
>    violation: 2
> 
> (George just sent a patch to address the regressions of Rule 8.2.)

As soon as we solve these two issues, I think we should remove the
allow_failure: true from the two ECLAIR jobs scanning clean
guidelines. More on this below.


> > 
> > One question below.
> > 
> > 
> > > -
> > >   ####################
> > >   # Clean guidelines #
> > >   ####################
> > >     -doc_begin="Clean guidelines: new violations for these guidelines are
> > > not accepted."
> > > 
> > > --service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.2||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R8.1||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.2||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R12.5||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
> > > +-service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R11.7||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R14.1||MC3R1.R16.7||MC3R1.R17.1||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.5||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R20.4||MC3R1.R20.9||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R2.2||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5"
> > >   }
> > 
> > Is this list different from monitored.ecl? If so, why? If not, maybe we
> > don't need to repeat the list here as well?
> 
> Quick answer: this list is different from monitored.ecl and the two
> lists must coexist.
> 
> Here, we are "tagging" some guidelines as "clean":
> this list is crucial and will be (manually) updated every time a new
> guideline reaches 0 violations, it shall not be removed because this tag
> allows ECLAIR to print a diagnostic and fail in case unjustified
> violations are found for the tagged guidelines.
> 
> The monitored.ecl is the list of guidelines which are analyzed at each
> commit: the list shall include all the guidelines tagged as "clean"
> (to do the proper regressions checks) but the monitored list can also
> include some accepted guidelines for which it may be interesting to see
> the number of violations at each commit, for example, we put there some
> almost-clean guidelines (guidelines with few violations left but not yet
> tagged as clean yet).
> Introducing new violations of monitored but not-clean guidelines will
> not cause a failure.

I think it is time we remove allow_failure: true from
.eclair-analysis:triggered, affecting both eclair-x86_64 and
eclair-ARM64. With the goal of stopping new MISRA C violations from
entering the tree.

The question is: in which cases we want eclair-x86_64 and eclair-ARM64
to fail the Gitlab job?

It is clear that we want the two jobs to fail if new violations are
found for the clean (zero violations) guidelines.

Should we also fail the Gitlab jobs if new regreassions are found for the
almost-clean rules? I think so, yes. Do you agree?


Less important but related: if you agree, does the list above need to
still be different from the monitored.ecl list?


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 20:46:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 20:46:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712284.1112872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s05yk-0005ZG-SF; Thu, 25 Apr 2024 20:46:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712284.1112872; Thu, 25 Apr 2024 20:46: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 1s05yk-0005Z9-PQ; Thu, 25 Apr 2024 20:46:02 +0000
Received: by outflank-mailman (input) for mailman id 712284;
 Thu, 25 Apr 2024 20:46: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=RK3P=L6=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1s05yj-0005Z3-BH
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 20:46:01 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1734622-0344-11ef-b4bb-af5377834399;
 Thu, 25 Apr 2024 22:45:58 +0200 (CEST)
Received: from DM6PR02CA0165.namprd02.prod.outlook.com (2603:10b6:5:332::32)
 by BY1PR12MB8446.namprd12.prod.outlook.com (2603:10b6:a03:52d::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Thu, 25 Apr
 2024 20:45:55 +0000
Received: from DS1PEPF0001709D.namprd05.prod.outlook.com
 (2603:10b6:5:332:cafe::d4) by DM6PR02CA0165.outlook.office365.com
 (2603:10b6:5:332::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.35 via Frontend
 Transport; Thu, 25 Apr 2024 20:45:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0001709D.mail.protection.outlook.com (10.167.18.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Thu, 25 Apr 2024 20:45: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.35; Thu, 25 Apr
 2024 15:45: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.35; Thu, 25 Apr
 2024 15:45:54 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 15:45: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: d1734622-0344-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X7iQ0LykB+aWpY57hw9GsM2NKOF5VxhgSWCoxCo27yoe4tz4vqn1x27y/IsL4e82eG2UKGcFNcXB876zpOjBnY2wuC1VL6eaPKAhCtSbUWzK1QLUZfS2xPb0GL29+zMwqnbl3M+Fek9PAAs4KT4XaNATRpvyPJI5f3xHrzuTcL5VkD0AMjjX0Fdgazn/ao2eZ0e3papHBngYyuUEJZxOc+b7JUHP6qvKgPNER1Fpo4F+TflvA7j9iP0mQluFvnJ2kCKM66bbPKI8mmevVqsVv3/gMKp5vAC4KcMDYazivyH3VAHAjDXfKH7Kbte2v4TY4EGKiwTRj8Ehsodo4reCeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nNeK6N9wpfbbLcb1iF7zED3QFLOXRI3qCXVxgpC+kJE=;
 b=EJZPiOXrLRHKSqbnXr74GIHVhinRi8eCYP8bE+82fW0wvO5iMuv16OsotMSDn+mXeYUx7fM0ny53+B3k1XkEntIELl19YTH1pw4AlVfBbOUWirc8ESORGc0UmDBP9f7r+sc9mKF0ov71knpvX+tL9nVYpzPZ7B4JwVIddChdUoJhSSsKAbAusQM2e4Ro033g6X7w6SzhO9CG44YT4KS8OrPYqiIbzIXELhHhcXg1fK68B1cGqaBai+AvktIfWXjOo5OEN6HryoFJmAFZ+sxbMcHY3NLKNW4TiezN0kjmyNt6rn1Hdea2j6qpdjKJM/ud3x9E/ixRK5h//oU53kao5w==
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=permerror 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=nNeK6N9wpfbbLcb1iF7zED3QFLOXRI3qCXVxgpC+kJE=;
 b=D1rMqNeMgrSoVxPkRTSr5FND4/gMIYr2x/6jkajUgJ5QfnZkR6UI/A8VxSmbq0ejE7raOlBeoWGFvMJ+FjyRf9HYBocDMEMy9F8wdndVVG54ZixocuSjeXsaNjX9QaCbwL++E17C5nQasSMBFe5ke4G0T/NofCZQdNBCWCbN/5M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=permerror action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] xen/spinlock: use correct pointer
Date: Thu, 25 Apr 2024 16:45:46 -0400
Message-ID: <20240425204547.658536-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.43.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: DS1PEPF0001709D:EE_|BY1PR12MB8446:EE_
X-MS-Office365-Filtering-Correlation-Id: 265215ec-17e3-4328-4674-08dc6568b43b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?YmHJqAI5nSGQ6rPUiQP9PmGLd1pgK/XOS0rMfeCMqnygD7oDNbsvwgCzF0rK?=
 =?us-ascii?Q?0Y/F5X0MoqUJtA6+WgdyslFgB+3FSjhT/p+sXFobZMS/TivLQ5ApHp+RWdkg?=
 =?us-ascii?Q?IXhT+9/1IdF6/cLz920MYs9j1XGaXTkP7RGBwjEnUnLeVyj+CmleNoiILjFy?=
 =?us-ascii?Q?9x+TQn/T1pGMZDn4S3Mr2mzWnpG4NWiG5gZyVIRqsWcZUOAUCD0a2RZwT0oF?=
 =?us-ascii?Q?yVR+Ke5uunww3M4ra12BUvXbc1UJODfWaXtPAX3+hP7J3nmjp6OcS5AU1lwy?=
 =?us-ascii?Q?W8A4491jxeipONWdWtQlz5+9C2AG8X7vH10hxY46a6Kv9Dl7oin8ETm3dTvf?=
 =?us-ascii?Q?mzCyp8xSaIPcbB7PuQ+XdlyCce7m9ttprdAywA37v0kJH5cEzGjehbalV5Y7?=
 =?us-ascii?Q?rBnmRZkG7L6BMo7EDqJLDPZFfhcxbPUZum75kfxi6VzOinw3raeqgDSFmYQu?=
 =?us-ascii?Q?hNu6jK67aZaSMCDorKodUNfgYmOKWtU+AMGMUSlRw5e7LL46fefhUh1QDM9k?=
 =?us-ascii?Q?qHmEs9be+y83zAnjnCOYx7gLsD0zPxtvhLeIEykM+w8A1QuCpXFGEDzsqv7/?=
 =?us-ascii?Q?GDWvtoXFKCmYgAgPP1+TR3KGyDQgNmCPdbC54iPbvJ5cO4BRz1VLMngiMsT9?=
 =?us-ascii?Q?YZEBwBXlGs84RF/Y6LTmHhdlgwVoMmknHy/hMUk1nrPEHRvWPMaqSsbB+rjr?=
 =?us-ascii?Q?xTqwOTZzP1Ak/oqAcbRxOfmNIUsKi3r6QdSH42J0MZM6sJ4OWHVkbFVPYAVn?=
 =?us-ascii?Q?109mZpZo4KXTAFzW6jAysQcL5uss0ls7KlBFBOu7BlWoSF1zyMwUV1LW9q+x?=
 =?us-ascii?Q?+Zdm8lZQ0UPHtQEXZ10pdGspXzQ8TyR19RRfpfAn5fPo1R5ssR8kiT9jFGno?=
 =?us-ascii?Q?q5oVjyF+hBxocz3+rnCX+0JFizVQAld9BZkzTjugvYC+keIkkvUV1b6Pmdru?=
 =?us-ascii?Q?d14eTHFHM0t1KwuITOASZ5aWNtFOl0HiqEf/GbiC8eCTmK9gf6LHuW3Ye5wp?=
 =?us-ascii?Q?x1AHPRNA/nKGBBSwxVIgKK2eW75bS7wL2DmjMJNDneMihEXxfvr1lp5ACXSB?=
 =?us-ascii?Q?pzJHaa/jtvQvK7g82Pap9NH94Y3gCL7wMrvpl2nBB0kDqTP4rYcqmz45uAO5?=
 =?us-ascii?Q?BajyDyfnCMWR3YLgXYxsXJPqdL4zrtxafmooCEUjGUq0tGqjnyziuwM67YCX?=
 =?us-ascii?Q?jDUMJCzbbCWZdjJHUSUow86u98jFCuLyrxTHh6sED54e5eukH2BQCFWA6aKw?=
 =?us-ascii?Q?hYD7nKjp2bQZ2FVYp9j88NqCDQU8NsGvgyLcqfBA4ycLgJMGpl5vDQKEb2KU?=
 =?us-ascii?Q?FmPj2USTytOCR7MTBCsNg8P5iGdHVeTopkqq7+jrv8exVWD3bZW5AP53+o/v?=
 =?us-ascii?Q?LxjNnYhIdxQ1alQcmq7lAFEBbIe4?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(1800799015)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2024 20:45:55.3774
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 265215ec-17e3-4328-4674-08dc6568b43b
X-MS-Exchange-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:
	DS1PEPF0001709D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR12MB8446

The ->profile member is at different offsets in struct rspinlock and
struct spinlock. When initializing the profiling bits of an rspinlock,
an unrelated member in struct rspinlock was being overwritten, leading
to mild havoc. Use the correct pointer.

Fixes: b053075d1a7b ("xen/spinlock: make struct lock_profile rspinlock_t aware")
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
 xen/common/spinlock.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 558ea7ac3518..28c6e9d3ac60 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -789,7 +789,11 @@ static int __init cf_check lock_prof_init(void)
     {
         (*q)->next = lock_profile_glb_q.elem_q;
         lock_profile_glb_q.elem_q = *q;
-        (*q)->ptr.lock->profile = *q;
+
+        if ( (*q)->is_rlock )
+            (*q)->ptr.rlock->profile = *q;
+        else
+            (*q)->ptr.lock->profile = *q;
     }
 
     _lock_profile_register_struct(LOCKPROF_TYPE_GLOBAL,

base-commit: 23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5
-- 
2.43.2



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 20:54:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 20:54:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712290.1112883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0674-0007g0-Lx; Thu, 25 Apr 2024 20:54:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712290.1112883; Thu, 25 Apr 2024 20: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 1s0674-0007ft-Iv; Thu, 25 Apr 2024 20:54:38 +0000
Received: by outflank-mailman (input) for mailman id 712290;
 Thu, 25 Apr 2024 20:54:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0674-0007fj-0O; Thu, 25 Apr 2024 20:54:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0673-0004im-TE; Thu, 25 Apr 2024 20:54:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0673-0000tC-Dx; Thu, 25 Apr 2024 20:54:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0673-0003EU-DW; Thu, 25 Apr 2024 20:54:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=e+Hns3XXIEmMc5T+vbvwe2gK0KTKZB7bae6K2iL+RKk=; b=y3yjc0WDLRK3sYjRn+DOHUo2PO
	Kp52UGsnoxuasL9EBkXpZM4Y42kIMExFJKEuH+Ye/WMAGCMi39eTknufjfJMvQol9RV16DH1kq6Qv
	SaD63ZdA7+4Clh80uxYwRSCbZhnB5z8KP/8YIUBH9l6fEY75wgonCQHnpu/ApCQ4Z4Qw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185799-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185799: 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=23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5
X-Osstest-Versions-That:
    xen=6d5111b10e084d841284a56e962c61ad274f589e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 25 Apr 2024 20:54:37 +0000

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

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                  23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5
baseline version:
 xen                  6d5111b10e084d841284a56e962c61ad274f589e

Last test of basis   185797  2024-04-25 13:08:37 Z    0 days
Testing same since   185799  2024-04-25 17:02:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  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
   6d5111b10e..23cd1207e7  23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 22:18:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 22:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712298.1112893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s07Q6-00035k-HV; Thu, 25 Apr 2024 22:18:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712298.1112893; Thu, 25 Apr 2024 22:18:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s07Q6-00035d-ET; Thu, 25 Apr 2024 22:18:22 +0000
Received: by outflank-mailman (input) for mailman id 712298;
 Thu, 25 Apr 2024 22:18: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s07Q5-00035X-Qs
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 22:18:21 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4c7d2f6-0351-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 00:18:19 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id D4AF0CE1A71;
 Thu, 25 Apr 2024 22:18:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4B827C113CC;
 Thu, 25 Apr 2024 22:18:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4c7d2f6-0351-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714083491;
	bh=HkR9w6SMx5QH4SAZEV5jRP6eaVLcquTZ3zZHKcsIC6o=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OTP7mx4Z/iIMjhqHvZz/Z5i9kliHVpmihpuKHQa1/k1Dgx4moZjXpboJsMMwNwmTn
	 he3XIdVUnkShoezgYUXibY1gZazH19/vy2q5Xbcc4IMmOEQa3aKlUXzflTthFyp6YU
	 nzIFJce23FaYMa+VNtWHr51T84WZUxEEi2bBK+T4rKUsASaQiCfFFAm1zUJ4JmWh+L
	 s2EuG0Lg5R/ebfs6AtuWwnb2iPljhYIa2Vtmi5kch2gtPBjdCDag2Qx1t0ZY7mQNDJ
	 3ficknvghff7Xg8jt6ufiCqqc9OaiG1whEZMUc94NARrKhS3+Z2NYVYrpeUWq6bjao
	 lzNi7qLSqq7KQ==
Date: Thu, 25 Apr 2024 15:18:08 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
cc: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v4 0/5] DOMCTL-based guest magic region allocation for
 11 domUs
In-Reply-To: <c7857223-eab8-409a-b618-6ec70f6165aa@apertussolutions.com>
Message-ID: <alpine.DEB.2.22.394.2404251508470.3940@ubuntu-linux-20-04-desktop>
References: <20240409045357.236802-1-xin.wang2@amd.com> <c7857223-eab8-409a-b618-6ec70f6165aa@apertussolutions.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 18 Apr 2024, Daniel P. Smith wrote:
> On 4/9/24 00:53, Henry Wang wrote:
> > An error message can seen from the init-dom0less application on
> > direct-mapped 1:1 domains:
> > ```
> > Allocating magic pages
> > memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
> > Error on alloc magic pages
> > ```
> > 
> > This is because populate_physmap() automatically assumes gfn == mfn
> > for direct mapped domains. This cannot be true for the magic pages
> > that are allocated later for 1:1 Dom0less DomUs from the init-dom0less
> > helper application executed in Dom0. For domain using statically
> > allocated memory but not 1:1 direct-mapped, similar error "failed to
> > retrieve a reserved page" can be seen as the reserved memory list
> > is empty at that time.
> > 
> > This series tries to fix this issue using a DOMCTL-based approach,
> > because for 1:1 direct-mapped domUs, we need to avoid the RAM regions
> > and inform the toolstack about the region found by hypervisor for
> > mapping the magic pages. Patch 1 introduced a new DOMCTL to get the
> > guest memory map, currently only used for the magic page regions.
> > Patch 2 generalized the extended region finding logic so that it can
> > be reused for other use cases such as finding 1:1 domU magic regions.
> > Patch 3 uses the same approach as finding the extended regions to find
> > the guest magic page regions for direct-mapped DomUs. Patch 4 avoids
> > hardcoding all base addresses of guest magic region in the init-dom0less
> > application by consuming the newly introduced DOMCTL. Patch 5 is a
> > simple patch to do some code duplication clean-up in xc.
> 
> Hey Henry,
> 
> To help provide some perspective, these issues are not experienced with
> hyperlaunch. This is because we understood early on that you cannot move a
> lightweight version of the toolstack into hypervisor init and not provide a
> mechanism to communicate what it did to the runtime control plane. We
> evaluated the possible mechanism, to include introducing a new hypercall op,
> and ultimately settled on using hypfs. The primary reason is this information
> is static data that, while informative later, is only necessary for the
> control plane to understand the state of the system. As a result, hyperlaunch
> is able to allocate any and all special pages required as part of domain
> construction and communicate their addresses to the control plane. As for XSM,
> hypfs is already protected and at this time we do not see any domain builder
> information needing to be restricted separately from the data already present
> in hypfs.
> 
> I would like to make the suggestion that instead of continuing down this path,
> perhaps you might consider adopting the hyperlaunch usage of hypfs. Then
> adjust dom0less domain construction to allocate the special pages at
> construction time. The original hyperlaunch series includes a patch that
> provides the helper app for the xenstore announcement. And I can provide you
> with updated versions if that would be helpful.

I also think that the new domctl is not needed and that the dom0less
domain builder should allocate the magic pages. On ARM, we already
allocate HVM_PARAM_CALLBACK_IRQ during dom0less domain build and set
HVM_PARAM_STORE_PFN to ~0ULL. I think it would be only natural to extend
that code to also allocate the magic pages and set HVM_PARAM_STORE_PFN
(and others) correctly. If we do it that way it is simpler and
consistent with the HVM_PARAM_CALLBACK_IRQ allocation, and we don't even
need hypfs. Currently we do not enable hypfs in our safety
certifiability configuration.


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 22:21:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 22:21:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712303.1112902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s07Sz-0004ZL-1G; Thu, 25 Apr 2024 22:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712303.1112902; Thu, 25 Apr 2024 22: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 1s07Sy-0004ZE-Um; Thu, 25 Apr 2024 22:21:20 +0000
Received: by outflank-mailman (input) for mailman id 712303;
 Thu, 25 Apr 2024 22: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s07Sy-0004Z6-5a
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 22:21:20 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 222343ae-0352-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 00:21:19 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 231E1CE1A71;
 Thu, 25 Apr 2024 22:21:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 65CF2C113CC;
 Thu, 25 Apr 2024 22:21: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: 222343ae-0352-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714083673;
	bh=OywBcdZvXhJ0MSAJ0qSpTUpskrZCQuOA2U9prHZok3w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XyHAZf1OcnHcFgEarcIvcVnR3HVYxzBr93FEe+lVT0KO3edarG7MtYi13HUTEW096
	 Sem/NVbhjKhKByhjwYOXD8HenX4gdfEydw0QFCQcxuD1XorIgA/3TF4D4qK/YFqbzA
	 7VAYWd160beVQWkJAhSMI67Xh15JrmQhwtkPJrZQm97iLyPNJ7w3YuTTW5G8nrifqi
	 99DQ5+CkGaP6brU4cEhiYzBqwDDv5sMYQSt2rOBnI0aB0n6tQS/XmlD9gEoXalFBQU
	 xxOwJXWSrxWw0IodrZsqWCiZOeGMqVfTaz0ty50RoecOEdH2u6Z4UaLTjljgBpEbSd
	 9ZHpEApOlJ4Gg==
Date: Thu, 25 Apr 2024 15:21:11 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v1 13/15] x86: wire cpu_has_{svm/vmx}_* to false when
 svm/vmx not enabled
In-Reply-To: <5363530b-fbdb-4d7e-afcd-b71b1e681e5a@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404251519070.3940@ubuntu-linux-20-04-desktop>
References: <20240416064606.3470052-1-Sergiy_Kibrik@epam.com> <fb54fefb-404f-43a4-aea9-28649927c353@citrix.com> <5363530b-fbdb-4d7e-afcd-b71b1e681e5a@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-828189335-1714083554=:3940"
Content-ID: <alpine.DEB.2.22.394.2404251519350.3940@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-828189335-1714083554=:3940
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2404251519351.3940@ubuntu-linux-20-04-desktop>

On Thu, 18 Apr 2024, Sergiy Kibrik wrote:
> 16.04.24 16:26, Andrew Cooper:
> > I'm afraid this is going in an unhelpful direction.  We want to move
> > both of these files to be local to arch/x86/hvm/{vmx,svm}/.
> > 
> > cpu_has_svm_* isn't actually used outside of svm/; only the plain
> > SVM_FEATURE_* constants are, and that's only because they're not
> > expressed as plain cpu features yet.
> > 
> > cpu_has_vmx_* has a few more users, but most are unlikely to remain in
> > this form.  One critical set of changes to fix vulnerabilities in
> > nested-virt is to make almost of of these decisions based on per-domain
> > state, not host state.  The aspects which are host state should be in
> > regular cpu features.
> > 
> > I already volunteered to sort out the SEV feature leaf properly, and I
> > was going to do the SVM leaf while I was at it.  If you can wait a few
> > days, I might be able to make half of this problem disappear.
> 
> I guess it can wait, surely if a better solution is to be crafted at the end.
> 
> Stefano, what's your opinion on that?

I think Andrew's suggested direction is cleaner. We can certainly wait a
few days for Andrew to make progress. We can also follow Andrew's
suggestion in the next version of the series ourselves.
--8323329-828189335-1714083554=:3940--


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 22:39:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 22:39:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712310.1112914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s07kr-0007Mz-JT; Thu, 25 Apr 2024 22:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712310.1112914; Thu, 25 Apr 2024 22: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 1s07kr-0007Ms-EN; Thu, 25 Apr 2024 22:39:49 +0000
Received: by outflank-mailman (input) for mailman id 712310;
 Thu, 25 Apr 2024 22:39:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s07kp-0007Mm-Np
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 22:39:47 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5805e05-0354-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 00:39:44 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 80EB0CE1B1A;
 Thu, 25 Apr 2024 22:39:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1C65C113CC;
 Thu, 25 Apr 2024 22:39: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: b5805e05-0354-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714084777;
	bh=oOYbhV44fGwEe1PsI9kEnLiWkX73TKVwrf0p15OdxT8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FHZWq08yTnd+xWCpIT8uH5RjXXxDFAns6lAfmCJZeHynaoRlYG9uNwrDHcubAdklq
	 AsgRLiaeeTCVHIXJ0CsfhoGeiomVXQ+YsFQ//ywNgHCQ+n4Qtd+5GDOSgM9GtOMquX
	 hphX+PTzoMSYf1bpWgsDQSLYNg/qWztnUhTKOytu3J/koocTvA/WO5T3FJ1iR/eA3M
	 aJWxzoUzFp4HasMUWhZHLoh/tXQrG05TiFiaOqoai8zG8Yxg1pPggFxOyleBWXMWz6
	 NnGkIQNn9xhzbsEopWIEHzuw06mL9szRQsXWi4DwLxkBmnziIkv8G7ML72VJ1iqu/t
	 7QD/Ut/1IE9GA==
Date: Thu, 25 Apr 2024 15:39:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
In-Reply-To: <29afd327-a66c-4b4e-b076-ee6ecb70807e@xen.org>
Message-ID: <alpine.DEB.2.22.394.2404251538250.3940@ubuntu-linux-20-04-desktop>
References: <20240417121442.56178-1-michal.orzel@amd.com> <be95f6be-0404-4c43-926f-d011782a02db@xen.org> <alpine.DEB.2.22.394.2404171148060.2257106@ubuntu-linux-20-04-desktop> <29afd327-a66c-4b4e-b076-ee6ecb70807e@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1530701373-1714084777=:3940"

  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-1530701373-1714084777=:3940
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 22 Apr 2024, Julien Grall wrote:
> Hi Stefano,
> 
> On 17/04/2024 19:49, Stefano Stabellini wrote:
> > On Wed, 17 Apr 2024, Julien Grall wrote:
> > > Hi Michal,
> > > 
> > > On 17/04/2024 13:14, Michal Orzel wrote:
> > > > Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
> > > > in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
> > > > for it. This results in a build failure. Example on Arm:
> > > > 
> > > > ./include/public/arch-arm.h:205:41: error: unknown type name
> > > > ‘__guest_handle_64_int32_t’
> > > >     205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ##
> > > > name
> > > >         |                                         ^~~~~~~~~~~~~~~~~~
> > > > ./include/public/arch-arm.h:206:41: note: in expansion of macro
> > > > ‘__XEN_GUEST_HANDLE’
> > > >     206 | #define XEN_GUEST_HANDLE(name)
> > > > __XEN_GUEST_HANDLE(name)
> > > >         |                                         ^~~~~~~~~~~~~~~~~~
> > > > ./include/public/memory.h:277:5: note: in expansion of macro
> > > > ‘XEN_GUEST_HANDLE’
> > > >     277 |     XEN_GUEST_HANDLE(int32_t) errs;
> > > > 
> > > > Fix it. Also, drop guest handle definition for int given no further use.
> > > > 
> > > > Fixes: afab29d0882f ("public: s/int/int32_t")
> > > > Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > 
> > 
> > > So it turned out that I committed v1 from Stefano. I was meant to commit
> > > the
> > > patch at all, but I think I started with a dirty staging :(. Sorry for
> > > that.
> > > 
> > > I have reverted Stefano's commit for now so we can take the correct patch.
> > > 
> > > Now, from my understanding, Andrew suggested on Matrix that this solution
> > > may
> > > actually be a good way to handle GUEST_HANLDEs (they were removed in v2).
> > > Maybe this can be folded in Stefano's patch?
> > 
> > v1 together with Michal's fix is correct. Also v2 alone is correct, or
> > v2 with Michal's fix is also correct.
> 
> I am slightly confused, v2 + Michal's fix means that XEN_GUEST_HANDLE(int) is
> removed and we introduce XEN_GUEST_INT(int32_t) with no user. So wouldn't this

You are right I apologize. I looked at Michal's patch too quickly and
I thought it was just adding XEN_GUEST_INT(int32_t) without removing
anything.

In that case, if you are OK with it, please ack and commit v2 only.
--8323329-1530701373-1714084777=:3940--


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 23:01:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 23:01:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712315.1112923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s085Z-0003fP-61; Thu, 25 Apr 2024 23:01:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712315.1112923; Thu, 25 Apr 2024 23: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 1s085Z-0003fF-3O; Thu, 25 Apr 2024 23:01:13 +0000
Received: by outflank-mailman (input) for mailman id 712315;
 Thu, 25 Apr 2024 23: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s085X-0003f9-I8
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 23:01:11 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b319c927-0357-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 01:01:09 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id D8A37CE1669;
 Thu, 25 Apr 2024 23:01:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 62E8EC113CC;
 Thu, 25 Apr 2024 23:01:01 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b319c927-0357-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714086062;
	bh=7btQZK4fjzA9h4h1lVQtDrsRzYcZMgFqOwA72nczxEY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=av8NFBFA+q6GsUJRedUso4GB+13pxOt8I1LPMVTGzaMxVmABRkc0/DlEhY142ekYY
	 p1Lcp/u4UeRvGLLZXb++xK/jTjHircJimCLmC64fduLaaho3HS4o5YIlZHxfcfMwPO
	 dmGqocWI+ApsTrV7XJFkmNTC3MEtvfmpzQQC5eds3DvZrimJPDHssyNklYJK7aUfwf
	 5XrWlGoImoY6+qjmbmjdN8zHwsHAL6Nw5dvIz5A5DX0oPjsdM6DD0gDkf4mPnjtco5
	 35MSAZh5S7ltYJz+/ocKuzUSvCDmhsve3ocPJ8vGp7SUOBE6WUdgMVb+5C89rqVRw/
	 +LH1Mr/hgPzIA==
Date: Thu, 25 Apr 2024 16:01:00 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Jan Beulich <JBeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH] xen: Use -Wuninitialized and -Winit-self
In-Reply-To: <20231228193907.3052681-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404251600460.3940@ubuntu-linux-20-04-desktop>
References: <20231228193907.3052681-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-78255055-1714086054=:3940"
Content-ID: <alpine.DEB.2.22.394.2404251600590.3940@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-78255055-1714086054=:3940
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2404251600591.3940@ubuntu-linux-20-04-desktop>

On Thu, 28 Dec 2023, Andrew Cooper wrote:
> The use of uninitialised data is undefined behaviour.  At -O2 with trivial
> examples, both Clang and GCC delete the variable, and in the case of a
> function return, the caller gets whatever was stale in %rax prior to the call.
> 
> Clang includes -Wuninitialized within -Wall, but GCC only includes it in
> -Wextra, which is not used by Xen at this time.
> 
> Furthermore, the specific pattern of assigning a variable to itself in its
> declaration is only diagnosed by GCC with -Winit-self.  Clang does diagnoise
> simple forms of this pattern with a plain -Wuninitialized, but it fails to
> diagnose the instances in Xen that GCC manages to find.
> 
> GCC, with -Wuninitialized and -Winit-self notices:
> 
>   arch/x86/time.c: In function ‘read_pt_and_tsc’:
>   arch/x86/time.c:297:14: error: ‘best’ is used uninitialized in this function [-Werror=uninitialized]
>     297 |     uint32_t best = best;
>         |              ^~~~
>   arch/x86/time.c: In function ‘read_pt_and_tmcct’:
>   arch/x86/time.c:1022:14: error: ‘best’ is used uninitialized in this function [-Werror=uninitialized]
>    1022 |     uint64_t best = best;
>         |              ^~~~
> 
> and both have logic paths where best can be returned while uninitalised.  In
> both cases, initialise to ~0 like the associated *_min variable which also
> gates updating best.
> 
> Fixes: 23658e823238 ("x86/time: further improve TSC / CPU freq calibration accuracy")
> Fixes: 3f3906b462d5 ("x86/APIC: calibrate against platform timer when possible")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-78255055-1714086054=:3940--


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 23:14:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 23:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712319.1112932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s08I6-0006DA-9B; Thu, 25 Apr 2024 23:14:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712319.1112932; Thu, 25 Apr 2024 23: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 1s08I6-0006D3-68; Thu, 25 Apr 2024 23:14:10 +0000
Received: by outflank-mailman (input) for mailman id 712319;
 Thu, 25 Apr 2024 23: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s08I5-0006Cv-LO
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 23:14:09 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82d928b5-0359-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 01:14:07 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 0A4DBCE1B3C;
 Thu, 25 Apr 2024 23:14:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C020CC113CC;
 Thu, 25 Apr 2024 23:14:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82d928b5-0359-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714086842;
	bh=XauHxKmJlWNxKokHnGQ59tJ320O+DAmmbivWUa96nc0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=S/RX8YNvVuQEt1gFg43/k1sNXXd9/FKq60BhRt9gGA4BGfYul0L1xd3TvLEDbQXL3
	 DGvRTM3ADiZTVI4AXK59PQwBF9pbjENxWcXhH2qywFw9BO+cxKOZ+HlSX/Iqv88o1T
	 ccwnPEqyH5guBFPBNNqlz5GWDRtRSi5XP93v5Hx+TN+Ef7W/vlJL/1wKxmbKKZHS4l
	 zN7ltOch/5CUvkltuyjmVq0+bzaV+fYnX5AQ3XTcRNbcH6aGq3VEfQTnP2r19ionm8
	 0xr/TkJJJrQn4xMI96smmPGE2bEKwbF3adKoA83R5eM602ya6EWuatu5tCOBcsMwZH
	 kZp6JKhco92aw==
Date: Thu, 25 Apr 2024 16:13:59 -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, 
    jbeulich@suse.com, andrew.cooper3@citrix.com, edgar.iglesias@amd.com
Subject: Re: [PATCH v2 1/1] xen/arm64: entry: Add missing code symbol
 annotations
In-Reply-To: <20240415231541.4140052-2-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2404251608320.3940@ubuntu-linux-20-04-desktop>
References: <20240415231541.4140052-1-edgar.iglesias@gmail.com> <20240415231541.4140052-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 Tue, 16 Apr 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Use the generic xen/linkage.h macros when and add missing
                                        ^ when what?

> code symbol annotations.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

I am looking at the implementation of FUNC and as far as I can tell
there is no change compared to ENTRY. So from that point of view we are
good. I wonder if we should keep using "ENTRY" because it is nice to
mark explicitely the entry points as such but at the same time I am also
OK with this. I'll let the other ARM maintainers decide.

On the other hand, FUNC_LOCAL does introduce a change: it adds a .align
everywhere. Should not be harmful?

With the commit message fixed:

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


> ---
>  xen/arch/arm/arm64/entry.S | 72 +++++++++++++++++++++++++-------------
>  1 file changed, 48 insertions(+), 24 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
> index f963c923bb..af9a592cae 100644
> --- a/xen/arch/arm/arm64/entry.S
> +++ b/xen/arch/arm/arm64/entry.S
> @@ -289,21 +289,25 @@
>          b       do_bad_mode
>          .endm
>  
> -hyp_sync_invalid:
> +FUNC_LOCAL(hyp_sync_invalid)
>          entry   hyp=1
>          invalid BAD_SYNC
> +END(hyp_sync_invalid)
>  
> -hyp_irq_invalid:
> +FUNC_LOCAL(hyp_irq_invalid)
>          entry   hyp=1
>          invalid BAD_IRQ
> +END(hyp_irq_invalid)
>  
> -hyp_fiq_invalid:
> +FUNC_LOCAL(hyp_fiq_invalid)
>          entry   hyp=1
>          invalid BAD_FIQ
> +END(hyp_fiq_invalid)
>  
> -hyp_error_invalid:
> +FUNC_LOCAL(hyp_error_invalid)
>          entry   hyp=1
>          invalid BAD_ERROR
> +END(hyp_error_invalid)
>  
>  /*
>   * SError received while running in the hypervisor mode.
> @@ -313,11 +317,12 @@ hyp_error_invalid:
>   * simplicity, as SError should be rare and potentially fatal,
>   * all interrupts are kept masked.
>   */
> -hyp_error:
> +FUNC_LOCAL(hyp_error)
>          entry   hyp=1
>          mov     x0, sp
>          bl      do_trap_hyp_serror
>          exit    hyp=1
> +END(hyp_error)
>  
>  /*
>   * Synchronous exception received while running in the hypervisor mode.
> @@ -327,7 +332,7 @@ hyp_error:
>   * some of them. So we want to inherit the state from the interrupted
>   * context.
>   */
> -hyp_sync:
> +FUNC_LOCAL(hyp_sync)
>          entry   hyp=1
>  
>          /* Inherit interrupts */
> @@ -338,6 +343,7 @@ hyp_sync:
>          mov     x0, sp
>          bl      do_trap_hyp_sync
>          exit    hyp=1
> +END(hyp_sync)
>  
>  /*
>   * IRQ received while running in the hypervisor mode.
> @@ -352,7 +358,7 @@ hyp_sync:
>   * would require some rework in some paths (e.g. panic, livepatch) to
>   * ensure the ordering is enforced everywhere.
>   */
> -hyp_irq:
> +FUNC_LOCAL(hyp_irq)
>          entry   hyp=1
>  
>          /* Inherit D, A, F interrupts and keep I masked */
> @@ -365,8 +371,9 @@ hyp_irq:
>          mov     x0, sp
>          bl      do_trap_irq
>          exit    hyp=1
> +END(hyp_irq)
>  
> -guest_sync:
> +FUNC_LOCAL(guest_sync)
>          /*
>           * Save x0, x1 in advance
>           */
> @@ -413,8 +420,9 @@ fastpath_out_workaround:
>          mov     x1, xzr
>          eret
>          sb
> +END(guest_sync)
>  
> -wa2_ssbd:
> +FUNC_LOCAL(wa2_ssbd)
>  #ifdef CONFIG_ARM_SSBD
>  alternative_cb arm_enable_wa2_handling
>          b       wa2_end
> @@ -450,42 +458,55 @@ wa2_end:
>          mov     x0, xzr
>          eret
>          sb
> -guest_sync_slowpath:
> +END(wa2_ssbd)
> +
> +FUNC_LOCAL(guest_sync_slowpath)
>          /*
>           * x0/x1 may have been scratch by the fast path above, so avoid
>           * to save them.
>           */
>          guest_vector compat=0, iflags=IFLAGS__AI_, trap=guest_sync, save_x0_x1=0
> +END(guest_sync_slowpath)
>  
> -guest_irq:
> +FUNC_LOCAL(guest_irq)
>          guest_vector compat=0, iflags=IFLAGS__A__, trap=irq
> +END(guest_irq)
>  
> -guest_fiq_invalid:
> +FUNC_LOCAL(guest_fiq_invalid)
>          entry   hyp=0, compat=0
>          invalid BAD_FIQ
> +END(guest_fiq_invalid)
>  
> -guest_error:
> +FUNC_LOCAL(guest_error)
>          guest_vector compat=0, iflags=IFLAGS__AI_, trap=guest_serror
> +END(guest_error)
>  
> -guest_sync_compat:
> +FUNC_LOCAL(guest_sync_compat)
>          guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_sync
> +END(guest_sync_compat)
>  
> -guest_irq_compat:
> +FUNC_LOCAL(guest_irq_compat)
>          guest_vector compat=1, iflags=IFLAGS__A__, trap=irq
> +END(guest_irq_compat)
>  
> -guest_fiq_invalid_compat:
> +FUNC_LOCAL(guest_fiq_invalid_compat)
>          entry   hyp=0, compat=1
>          invalid BAD_FIQ
> +END(guest_fiq_invalid_compat)
>  
> -guest_error_compat:
> +FUNC_LOCAL(guest_error_compat)
>          guest_vector compat=1, iflags=IFLAGS__AI_, trap=guest_serror
> +END(guest_error_compat)
>  
> -ENTRY(return_to_new_vcpu32)
> +FUNC(return_to_new_vcpu32)
>          exit    hyp=0, compat=1
> -ENTRY(return_to_new_vcpu64)
> +END(return_to_new_vcpu32)
> +
> +FUNC(return_to_new_vcpu64)
>          exit    hyp=0, compat=0
> +END(return_to_new_vcpu64)
>  
> -return_from_trap:
> +FUNC_LOCAL(return_from_trap)
>          msr     daifset, #IFLAGS___I_ /* Mask interrupts */
>  
>          ldr     x21, [sp, #UREGS_PC]            /* load ELR */
> @@ -524,6 +545,7 @@ return_from_trap:
>  
>          eret
>          sb
> +END(return_from_trap)
>  
>  /*
>   * Consume pending SError generated by the guest if any.
> @@ -536,7 +558,7 @@ return_from_trap:
>   * it. So the function will unmask SError exception for a small window and
>   * then mask it again.
>   */
> -check_pending_guest_serror:
> +FUNC_LOCAL(check_pending_guest_serror)
>          /*
>           * Save elr_el2 to check whether the pending SError exception takes
>           * place while we are doing this sync exception.
> @@ -586,7 +608,7 @@ abort_guest_exit_end:
>          cset    x19, ne
>  
>          ret
> -ENDPROC(check_pending_guest_serror)
> +END(check_pending_guest_serror)
>  
>  /*
>   * Exception vectors.
> @@ -597,7 +619,7 @@ ENDPROC(check_pending_guest_serror)
>          .endm
>  
>          .align  11
> -ENTRY(hyp_traps_vector)
> +FUNC(hyp_traps_vector)
>          ventry  hyp_sync_invalid            /* Synchronous EL2t */
>          ventry  hyp_irq_invalid             /* IRQ EL2t */
>          ventry  hyp_fiq_invalid             /* FIQ EL2t */
> @@ -617,6 +639,7 @@ ENTRY(hyp_traps_vector)
>          ventry  guest_irq_compat            /* IRQ 32-bit EL0/EL1 */
>          ventry  guest_fiq_invalid_compat    /* FIQ 32-bit EL0/EL1 */
>          ventry  guest_error_compat          /* Error 32-bit EL0/EL1 */
> +END(hyp_traps_vector)
>  
>  /*
>   * struct vcpu *__context_switch(struct vcpu *prev, struct vcpu *next)
> @@ -626,7 +649,7 @@ ENTRY(hyp_traps_vector)
>   *
>   * Returns prev in x0
>   */
> -ENTRY(__context_switch)
> +FUNC(__context_switch)
>          add     x8, x0, #VCPU_arch_saved_context
>          mov     x9, sp
>          stp     x19, x20, [x8], #16         /* store callee-saved registers */
> @@ -647,6 +670,7 @@ ENTRY(__context_switch)
>          ldr     lr, [x8]
>          mov     sp, x9
>          ret
> +END(__context_switch)
>  
>  /*
>   * Local variables:
> -- 
> 2.40.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Apr 25 23:31:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 23:31:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712324.1112943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s08Yd-0001mo-MC; Thu, 25 Apr 2024 23:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712324.1112943; Thu, 25 Apr 2024 23: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 1s08Yd-0001mh-I7; Thu, 25 Apr 2024 23:31:15 +0000
Received: by outflank-mailman (input) for mailman id 712324;
 Thu, 25 Apr 2024 23:31: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s08Yc-0001mL-D2
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 23:31:14 +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 e36bccef-035b-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 01:31: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 E68E661BD2;
 Thu, 25 Apr 2024 23:31:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6E53CC113CC;
 Thu, 25 Apr 2024 23:31: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: e36bccef-035b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714087865;
	bh=3hwlbemcdwx8Yy0QxfaWgHHGqAAgR057pv69Lpg+KfY=;
	h=Date:From:To:cc:Subject:From;
	b=rB57mkHLHQsy5X+aTUtZRWBZjUM6Ku/9cU68pkfIGuYhjwxGppSpP6AKielOqt23O
	 8WUItkyz3atKT/r0L0Yb0xZuTeTtXq6V5LkkT1gSyJ36t4f217PlIGpsAgccMV4ADD
	 j/e8F3bbePAe5KpU1uyaQmGCLtpsmdpWz0goo9nieWAV5VSjSOjhezCeOtuLKxFEBL
	 bi6/t4qgQjuFV8jrO5FP9xEHSlKgwEMYiziutDOinptnWIj9xMJUIZkdZayUzhmqYv
	 SVHiy7wvp1KxtVEr1/4BiwRoQhHJQJF7B2PtA8IhJHRecMtktBO/j0rxytKa4aYlQv
	 v+L6mB5Vs+jlg==
Date: Thu, 25 Apr 2024 16:31:02 -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, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2] docs/misra: add R21.6 R21.9 R21.10 R21.14 R21.15 R21.16
Message-ID: <alpine.DEB.2.22.394.2404251629570.3940@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

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- remove trailing whitespaces
- add rules 21.9 and 21.10
- remove deviations.rst deviations (to be done separately if required)
- add a note explaning that Xen has no standard library
---
 docs/misra/rules.rst | 60 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index b7b447e152..661879a3de 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -652,12 +652,72 @@ maintainers if you want to suggest a change.
        declared
      - See comment for Rule 21.1
 
+   * - `Rule 21.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_06.c>`_
+     - Required
+     - The Standard Library input/output routines shall not be used
+     - Xen doesn't provide, use, or link against any Standard Library.
+       Xen implements itself a few functions with names that match the
+       corresponding function names of the Standard Library for
+       developers' convenience. These functions are part of the Xen code
+       and subject to analysis.
+
+   * - `Rule 21.9 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_09.c>`_
+     - Required
+     - The library functions bsearch and qsort of <stdlib.h> shall not be used
+     - Xen doesn't provide, use, or link against any Standard Library.
+       Xen implements itself a few functions with names that match the
+       corresponding function names of the Standard Library for
+       developers' convenience. These functions are part of the Xen code
+       and subject to analysis.
+
+   * - `Rule 21.10 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_10.c>`_
+     - Required
+     - The Standard Library time and date routines shall not be used
+     - Xen doesn't provide, use, or link against any Standard Library.
+       Xen implements itself a few functions with names that match the
+       corresponding function names of the Standard Library for
+       developers' convenience. These functions are part of the Xen code
+       and subject to analysis.
+
    * - `Rule 21.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_13.c>`_
      - Mandatory
      - Any value passed to a function in <ctype.h> shall be representable as an
        unsigned char or be the value EOF
      -
 
+   * - `Rule 21.14 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_14.c>`_
+     - Required
+     - The Standard Library function memcmp shall not be used to compare
+       null terminated strings
+     - Xen doesn't provide, use, or link against any Standard Library.
+       Xen implements itself a few functions with names that match the
+       corresponding function names of the Standard Library for
+       developers' convenience. These functions are part of the Xen code
+       and subject to analysis.
+
+   * - `Rule 21.15 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_15.c>`_
+     - Required
+     - The pointer arguments to the Standard Library functions memcpy,
+       memmove and memcmp shall be pointers to qualified or unqualified
+       versions of compatible types
+     - Xen doesn't provide, use, or link against any Standard Library.
+       Xen implements itself a few functions with names that match the
+       corresponding function names of the Standard Library for
+       developers' convenience. These functions are part of the Xen code
+       and subject to analysis.
+
+   * - `Rule 21.16 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_16.c>`_
+     - Required
+     - The pointer arguments to the Standard Library function memcmp
+       shall point to either a pointer type, an essentially signed type,
+       an essentially unsigned type, an essentially Boolean type or an
+       essentially enum type
+     - void* arguments are allowed. Xen doesn't provide, use, or link
+       against any Standard Library.  Xen implements itself a few
+       functions with names that match the corresponding function names
+       of the Standard Library for developers' convenience. These
+       functions are part of the Xen code and subject to analysis.
+
    * - `Rule 21.17 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_17.c>`_
      - Mandatory
      - Use of the string handling functions from <string.h> shall not result in
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Apr 25 23:38:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 25 Apr 2024 23:38:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712330.1112953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s08g0-0003Bh-Fa; Thu, 25 Apr 2024 23:38:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712330.1112953; Thu, 25 Apr 2024 23:38:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s08g0-0003Ba-Cl; Thu, 25 Apr 2024 23:38:52 +0000
Received: by outflank-mailman (input) for mailman id 712330;
 Thu, 25 Apr 2024 23: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=N29f=L6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s08fz-0003BU-IT
 for xen-devel@lists.xenproject.org; Thu, 25 Apr 2024 23:38:51 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f68984d8-035c-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 01:38:50 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id BA1F0CE1A71;
 Thu, 25 Apr 2024 23:38:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0FEDFC113CC;
 Thu, 25 Apr 2024 23: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: f68984d8-035c-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714088325;
	bh=nDVRy0Pc0qUc3FQh7q2kSJlPNbyp9MsyGAeyeEc7HQ8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qzK9X19/4B9XrdPUzSIzdlTAhRM9O/b/HJkO7sDFCLHq02Ga93q0VHWQZsoJ/Rlud
	 td5lv/Rnd4DrRZg5X2gwrMxWTW+eAxJTlwVwmus4lZRzaAizU+/zcb4PSzWn/bCf75
	 sJOz2uz3dLAfpi5E/s6uDMcKtXwfDvq8ZDDhAVX3VqfvEjMYs8/3zXgjWcAHAjwWnm
	 MSO05bMeSMxhBNOHQbffLAifo8zm/4JzDO6n46Tk+6ga+lGOlHbA2JnCqbcx7OWN8v
	 WCcoOF3JpTNBW7jPOeBo/MRlP8FuNcBOoT4n8VfhkoWJ8gtYAYSYhUSgZatBjXc9fm
	 JMAIVPfkm8/VQ==
Date: Thu, 25 Apr 2024 16:38:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 1/7] x86/p2m: Add braces for better code clarity
In-Reply-To: <2e6e4f07b9e8f50ae65697c8644995aa4851cdac.1713990376.git.w1benny@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2404251638330.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713990376.git.w1benny@gmail.com> <2e6e4f07b9e8f50ae65697c8644995aa4851cdac.1713990376.git.w1benny@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1556969804-1714088326=:3940"

  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-1556969804-1714088326=:3940
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 24 Apr 2024, Petr Beneš wrote:
> From: Petr Beneš <w1benny@gmail.com>
> 
> No functional change.
> 
> Signed-off-by: Petr Beneš <w1benny@gmail.com>

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

--8323329-1556969804-1714088326=:3940--


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 01:41:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 01:41:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712339.1112963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0AaU-0005w0-B3; Fri, 26 Apr 2024 01:41:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712339.1112963; Fri, 26 Apr 2024 01: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 1s0AaU-0005vt-7i; Fri, 26 Apr 2024 01:41:18 +0000
Received: by outflank-mailman (input) for mailman id 712339;
 Fri, 26 Apr 2024 01:41: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 1s0AaS-0005vi-MN; Fri, 26 Apr 2024 01:41: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 1s0AaS-0001LB-Ez; Fri, 26 Apr 2024 01:41: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 1s0AaR-0003Ob-Os; Fri, 26 Apr 2024 01:41:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0AaR-0006eD-OR; Fri, 26 Apr 2024 01: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=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XUjAxPMm/5rJZEIrGssOr7eNaQ1ZDgJwmDoLgWGxaxk=; b=VfRuZGClCvTDgLfgZtdSoMrFky
	4KMJ/Vt/MzIq161O+isqaQeBitQP4dDk+xPTrCouOn4NEEX5ers9VVHvfz1b4BnVkyYtK98R4rrK8
	AccKmn1LcO6yeJKka/JTDvL5puw6mzasLsfhaiwa+fXEoU0VDoCpV3nWqwWon6yk0jMw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185798-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185798: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-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-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e88c4cfcb7b888ac374916806f86c17d8ecaeb67
X-Osstest-Versions-That:
    linux=71b1543c83d65af8215d7558d70fc2ecbee77dcf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 01:41:15 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 185768
 test-armhf-armhf-xl-raw       8 xen-boot                 fail REGR. vs. 185768

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      8 reboot           fail in 185791 pass in 185798
 test-armhf-armhf-xl-multivcpu  8 xen-boot                  fail pass in 185791
 test-armhf-armhf-xl-credit2   8 xen-boot                   fail pass in 185791
 test-armhf-armhf-xl-rtds      8 xen-boot                   fail pass in 185791

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

version targeted for testing:
 linux                e88c4cfcb7b888ac374916806f86c17d8ecaeb67
baseline version:
 linux                71b1543c83d65af8215d7558d70fc2ecbee77dcf

Last test of basis   185768  2024-04-23 07:46:10 Z    2 days
Failing since        185779  2024-04-24 00:13:50 Z    2 days    4 attempts
Testing same since   185791  2024-04-25 01:43:09 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  David Howells <dhowells@redhat.com>
  David Sterba <dsterba@suse.com>
  Johannes Thumshirn <Johannes.thumshirn@wdc.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Naohiro Aota <naohiro.aota@wdc.com>
  Neal Gompa <neal@gompa.dev>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Qu Wenruo <wqu@suse.com>
  Ronnie Sahlberg <lsahlber@redhat.com>
  Steve French <stfrench@microsoft.com>
  Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
  Takayuki Nagata <tnagata@redhat.com>
  Tom Talpey <tom@talpey.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                  fail    
 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                                     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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 01:45:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 01:45:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712344.1112973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Aev-0006u1-TH; Fri, 26 Apr 2024 01:45:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712344.1112973; Fri, 26 Apr 2024 01:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Aev-0006tu-Q0; Fri, 26 Apr 2024 01:45:53 +0000
Received: by outflank-mailman (input) for mailman id 712344;
 Fri, 26 Apr 2024 01: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=/P6z=L7=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1s0Aeu-0006tl-Ca
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 01:45:52 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2418::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4eb4f1d-036e-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 03:45:49 +0200 (CEST)
Received: from BYAPR07CA0027.namprd07.prod.outlook.com (2603:10b6:a02:bc::40)
 by PH7PR12MB7356.namprd12.prod.outlook.com (2603:10b6:510:20f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr
 2024 01:45:44 +0000
Received: from CO1PEPF000042A8.namprd03.prod.outlook.com
 (2603:10b6:a02:bc:cafe::55) by BYAPR07CA0027.outlook.office365.com
 (2603:10b6:a02:bc::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.33 via Frontend
 Transport; Fri, 26 Apr 2024 01:45:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042A8.mail.protection.outlook.com (10.167.243.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 01:45:44 +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.35; Thu, 25 Apr
 2024 20:45:43 -0500
Received: from [192.168.16.121] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 20:45: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: b4eb4f1d-036e-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZtVLeBZ9qHMyZd7w7q3Jk7cD5jCDPw6KIO16jpi9JoYoZ7wuNzS/nzDsOD3rEINQzJK2nPswDia2+8EoOejRErNqBh/1bH1L0tY4e557GNrh3SIKEfhFmP8Xd5Q3QFhpZtVNgCa3wQ4aXrQDF7NtDarwfAe06IyE1mby9b6tJa3FzrJ40Q8+ytbZ+ntHqsUQdIKJCb04Uj6YuqfKfTHdAscPYHC9XER2As8nPU8RBKbStOlwADi8CzcR3SwKnlpF1czOiF5utoVIy4uQTsstGcmMa4qgYrXwSHbgsfMrde6RVCHPfCOZovfMxOsGJmfIKforuTBjDKUSHAgdW+UaVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m+cQLp3qp5YfaVkKjl0cJVlqqYinBt+XFkIuFYXuvug=;
 b=bIi84y3qBdDt1ufemeu/QugjdIX7qfsj1KfI6NwRieWIeGXG7+w67L5kLU3buHH77jHAIqLYmXnLCzgkykoQM2uaYTOHE1MXctQxqnmd9lM5oLk+j46moPn+EzR6yLYPjerOrebXr4VFm6q5JIHeFq16bbeCphEEy0/b9Muel+XK7yRrNitzY9nEhEnOUv0oCxXUZjAYezXB7cXuVgn8YgRVMwaUZjJdgYcEP5HbATGVbHyG/dC5xoeKNuhx7OMF4DTrivN5NxfCb3bdIb7+St04AJHdBF1I419akoM5gK4fY1dk2xZrYRAm6eunQeQMjb0boPAlU7jHVW7ScOnmvA==
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=m+cQLp3qp5YfaVkKjl0cJVlqqYinBt+XFkIuFYXuvug=;
 b=AQhIu1re4TUEuKrSlT26vA4e9ONvxYNRL7vBZfbhz7Ojizmt5miAe6Wab5H2b6nhbLdRImA4Kzmcse8mjFp0eOySV0YHPCAf8+hXVjjuflyS0kEsPHyUjqU+0MIkBI4dYtxslcGkaZaI5QZZgzU7m1jqfW6VxlaqdBcwC6+RIwY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <4f9d9182-6db7-436a-a38e-21afed89e41f@amd.com>
Date: Thu, 25 Apr 2024 21:45:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/15] tools/helpers: Add get_overlay
To: Henry Wang <xin.wang2@amd.com>, Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony@xenproject.org>, Stefano Stabellini
	<stefano.stabellini@amd.com>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-12-xin.wang2@amd.com>
 <c8228db9-6bb6-4115-9cc4-bcd8f49319e5@suse.com>
 <0d94b108-63f5-454d-8204-7a01ba8bcb7f@amd.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <0d94b108-63f5-454d-8204-7a01ba8bcb7f@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB04.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A8:EE_|PH7PR12MB7356:EE_
X-MS-Office365-Filtering-Correlation-Id: 2e27b972-ceee-4e86-ef01-08dc65929689
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|36860700004|82310400014|1800799015|376005;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?a3E4WnhrUXpFZGRRb2lPQUtsZENZYnF5ellKNERucS9Remx5RzdFK3lsRU1I?=
 =?utf-8?B?NG9pWmtpdW56cEhKdDV2NzdqQi9VMDl6NEp0M3Njdmt0WFNLTVFleGRYNHk5?=
 =?utf-8?B?cE1mWi9yaFh0a3JzVWhOdXJBb3FHQ0d6eDFQelhwVUFhU05YanNOZyttSHlP?=
 =?utf-8?B?T0U2TmZyTHpKeEtETWtwcjh6S3hTb2puZS9OdUJVVXI4ZjhYak1YK04wemQ1?=
 =?utf-8?B?TzZiZzBLaE1NZDB5Z0Z1aENFNnpyUzdGT3FiR3p1dW1Hd28xaHFrWGx4Q1ZK?=
 =?utf-8?B?T3FkbTJ1UHdxRlk5cVoySzhyMmdTd01qby9ZWm5yY1JtQ2FDamZwQ1FabVEw?=
 =?utf-8?B?RGoxMDVxbFM3cUI1V0VFNUJNVU1nWXJQZUpRYm1reDdpU21KTW8yaGdBeUVO?=
 =?utf-8?B?VmNBU3FueWlNeEt1SUFlV1FQcndnZnVzRUcvZ3FWekRreW5VMXlESitqMDFi?=
 =?utf-8?B?MDNBQitEMnNWbXlvZnpkcC9zNE1BaXNrcWNOcyszMXlObGJvYTNxNUFyWjc0?=
 =?utf-8?B?UFZoYm5nWE9HenRaQ2JCSG51cjFEMExodURkeHlPZEF2N1FZRFBhallwSUJ4?=
 =?utf-8?B?Y2RMbHQvUjhnV1RaVTA2RFY3U0pIWFNxUTNteTVkZWNFd0VROXpiemhTUUlM?=
 =?utf-8?B?ODl6clQ2QXRGeFdUamkzME5rbmhXMEtCc2g0blNBS1hjN3B2c0p3S0lEa3VZ?=
 =?utf-8?B?b2czQS80bmhEWm05VmhOT05TK0ptWDd3bENhRXN3cGJUcTNXZ1JIcHZGMXU1?=
 =?utf-8?B?MGJaK3E4eWJvV2VWOUxHekNodVBXSzFsTTRHY3puVFNGd1JJdkpwd2Y4Uzg5?=
 =?utf-8?B?QVJJaTY0T0tUa2swZXREK20xTk16K1ZnQXF0VGg3MjRpQzJsenRPTGFKUXV4?=
 =?utf-8?B?YjJTMFpSdHVVcnRITUYzVjUxK29wRENMQ1YxZlMzeVFsMzg5NVpXVDNRZG1v?=
 =?utf-8?B?c0JLdTQ1ZTE4QlVKS3cySjFveDJ4alMvcnAxUEw2ZFQrdU1kRExQeTdvREVu?=
 =?utf-8?B?a1YxQ2lucGRIYmc0Wk5mZTBEWndLMVdBaSt6TzMxVnpyTjNManF0SFIvYk1v?=
 =?utf-8?B?Y3hkOS9XbmV3b3VIbjh4eEVTUzNDYStYV2pvREo4Vy9SSjBaYWRjV01uKzVv?=
 =?utf-8?B?aXVCbFh2VWFZejc0eHNORG9IcEV5Unhvb1Z0NzFtZkdDRUlJQUVpQ2RSMzlm?=
 =?utf-8?B?MytEQ3VHWndoZGJWMUxQSWFxMzJnZmJHd3lCR3FPR2R2M2ExNEhId0FIY1Nz?=
 =?utf-8?B?dnRuaUp1ckFQL3luRmJwN0lKcHE0dC9sUGxUSld4bzMxZWVGNTgrL3VLV1I3?=
 =?utf-8?B?NHJ5WmpZQU1EQVFNaW5Ca0dCRU11WEZFNURiKzhqTUhPdHNLNUpuZWlsWVhu?=
 =?utf-8?B?aVdTNitoeW13ZHJOVnRqNTdOczl4KzBLbkxPU1VlV3dDOG5EQVUxYVEyOEVw?=
 =?utf-8?B?S3N2ZXJsWGRJQ3IxYmVmTGoweXNVWllmQVdLbVg5MFNxU1IxbWtSREF2K215?=
 =?utf-8?B?eG5vdzQ5MndILzEwNk9PRlpROHV1U3ZpYnZRSFZ3aFhySERUR2dWQ3RIUjRi?=
 =?utf-8?B?TlFlMEEvcTVHc0FOdTQ5NjFLWmNFY01VSWFhaDFwdUNqdlVnbTcyTmYrZitO?=
 =?utf-8?B?OUNYczlCRnN1aE8yM3FUcUJZOWJEYU05eFYzd1Z3Mm1MUSsweGtaL05iODha?=
 =?utf-8?B?VlRjU3Fwb2hpVEJPV2RmSmlmSjIrZlZUdXQ5cHA3R2JoWkVMWndZd2I2TmR5?=
 =?utf-8?B?SThlVEZzTmZSVWl2cFZlV2JJY0lqaWsyUGxWNmU3bE1remVIdURTTEJRM1Zo?=
 =?utf-8?B?SW1nbVRFUzhuUkpVSFpoNEZVaFlLK1Q4T2xxS1BuU0U4QjUvdS9DQkdnZStr?=
 =?utf-8?Q?xqScUnLPdLigM?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 01:45:44.3145
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e27b972-ceee-4e86-ef01-08dc65929689
X-MS-Exchange-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:
	CO1PEPF000042A8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7356

On 4/24/24 20:43, Henry Wang wrote:
> Hi Jan,
> 
> On 4/24/2024 2:08 PM, Jan Beulich wrote:
>> On 24.04.2024 05:34, Henry Wang wrote:
>>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>
>>> This user level application copies the overlay dtbo shared by dom0 while doing
>>> overlay node assignment operation. It uses xenstore to communicate with dom0.
>>> More information on the protocol is writtien in docs/misc/overlay.txt file.
>>>
>>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>>> ---
>>>   tools/helpers/Makefile      |   8 +
>>>   tools/helpers/get_overlay.c | 393 ++++++++++++++++++++++++++++++++++++
>>>   2 files changed, 401 insertions(+)
>>>   create mode 100644 tools/helpers/get_overlay.c
>> As mentioned before on various occasions - new files preferably use dashes as
>> separators in preference to underscores. You not doing so is particularly
>> puzzling seeing ...
>>
>>> --- a/tools/helpers/Makefile
>>> +++ b/tools/helpers/Makefile
>>> @@ -12,6 +12,7 @@ TARGETS += init-xenstore-domain
>>>   endif
>>>   ifeq ($(CONFIG_ARM),y)
>>>   TARGETS += init-dom0less
>>> +TARGETS += get_overlay
>> ... patch context here (demonstrating a whopping 3 dashes used in similar
>> cases).
> 
> I am not very sure why Vikram used "_" in the original patch. However I agree you are correct. Since I am currently doing the follow up of this series, I will use "-" in v2 as suggested. Thanks.

Please also add tools/helpers/get-overlay to .gitignore


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 01:48:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 01:48:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712350.1112983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Ahn-0007XZ-Dh; Fri, 26 Apr 2024 01:48:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712350.1112983; Fri, 26 Apr 2024 01:48:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Ahn-0007XS-Ab; Fri, 26 Apr 2024 01:48:51 +0000
Received: by outflank-mailman (input) for mailman id 712350;
 Fri, 26 Apr 2024 01:48:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0Ahm-0007XL-3B
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 01:48:50 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1faff5e4-036f-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 03:48:49 +0200 (CEST)
Received: from BLAPR05CA0012.namprd05.prod.outlook.com (2603:10b6:208:36e::21)
 by CY8PR12MB7681.namprd12.prod.outlook.com (2603:10b6:930:84::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 01:48:44 +0000
Received: from BL6PEPF0001AB77.namprd02.prod.outlook.com
 (2603:10b6:208:36e:cafe::76) by BLAPR05CA0012.outlook.office365.com
 (2603:10b6:208:36e::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.13 via Frontend
 Transport; Fri, 26 Apr 2024 01:48:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB77.mail.protection.outlook.com (10.167.242.170) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 01:48:43 +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.35; Thu, 25 Apr
 2024 20:48:43 -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.35; Thu, 25 Apr
 2024 20:48:43 -0500
Received: from [172.31.100.92] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 20:48: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: 1faff5e4-036f-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VSwIcP4YmeoeL7Ip0HP74SRwY9BCch4zWzB276lUz0VSO32+8Nx+1KdMDHZnSR/pwzn0pUHe+XrLwxN5+81qugW5J0/wdHia3NpfTxAxTBglYyE8TNQJugGC/tCVDQ00tNjOxtmgX2ijZ1srwsV1Z+yuVkJk7FVZ14Lm5gjsChOKCWDOhshMGAEqzizBb7cb/SoUH/LFslX+ho95zy03eDPDdd1FeVAheQbA1NiCdv8U7hi7QzbYy5a5jJzQ6SODXBTl4a5e5XSn3dqgVhpCtCR2BIsgYLzs5Jn2cxWYtpsRFa9t8P7azCCwQFNjavoDW7lF070heQ4PJhPlyCAUlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/5r3OY9+i3m/tvaQ/bxsIpagM9MMW0+E+w89ONUJ8Xw=;
 b=LOYjZejwCqpHyaouon2kX20F4fJQ7fdvxlUykI4YQX9AQ43inJef2L2hGLvmD2h+xpWHpaPUhB0JRvwFUrxlgIiFM/33W8MAlWznLT5qyFWsO9ZsjnGplMM96QNZHicCXl2C+tRo6v4+Y7l0A4rmdB9xrht5lKnl6jJrRjZ8bOGK55GbdR0LeswEVDtDHO8kg8fgf7kkXmf1+H7IP/eSMQ+mU/Necs+JzNW1N6cPj2EE3StCilpRrEC8cTXInbSVzkTCWmQbL0loUARYTX3aSXvvbZdgsUi8EDGmB3ccpzlUMOQnP0l5nzoFslli03jGectf3TfQ5FeL7aZGg1JoKw==
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=/5r3OY9+i3m/tvaQ/bxsIpagM9MMW0+E+w89ONUJ8Xw=;
 b=KcJPpTqPP9BMv+Dz6l2kpgKPX2MKT6BZvhltuSqfYAutJZwj/Hc6g8wGQUXElBpH53vatGZcb+Dp9Xx0vBjQgiiSZo/jqG5b3zSlIgiBFZwo5CXMMDTRblyGRkENw7JywWfTPThlOjCijq11H8Wag8xHSF+4fW3tL/sIHx0j4gI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <37176371-6ebe-474b-8cbc-18fc028ce4eb@amd.com>
Date: Fri, 26 Apr 2024 09:48:37 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/15] tools/helpers: Add get_overlay
To: Stewart Hildebrand <stewart.hildebrand@amd.com>, Jan Beulich
	<jbeulich@suse.com>
CC: Anthony PERARD <anthony@xenproject.org>, Stefano Stabellini
	<stefano.stabellini@amd.com>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-12-xin.wang2@amd.com>
 <c8228db9-6bb6-4115-9cc4-bcd8f49319e5@suse.com>
 <0d94b108-63f5-454d-8204-7a01ba8bcb7f@amd.com>
 <4f9d9182-6db7-436a-a38e-21afed89e41f@amd.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <4f9d9182-6db7-436a-a38e-21afed89e41f@amd.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB05.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB77:EE_|CY8PR12MB7681:EE_
X-MS-Office365-Filtering-Correlation-Id: 8c6e0768-8cb0-4369-a61b-08dc65930195
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dFNmanZ3cjBlVVdyT0dMSHIrYVR4cWYyY0NHdm8rQkdQS2ROd05Beml3TklS?=
 =?utf-8?B?dXA1cHpQU3JsVnpWTVp5NHBvOUNrUURaM1hPN2RwZ0xNb3FjZzg3WVc2T0p2?=
 =?utf-8?B?UmloOERMellBQW9PRHl6aVl1UmwvTlVGSXI3SWtGdGFPU3M5S2FyeTRkRDlx?=
 =?utf-8?B?eXY4bkRNUTdPZ3VzU2ZjYlhhUE9jUHZmT0N1V1RYRHp2akp5dFRrMTNDYVFp?=
 =?utf-8?B?Tk0rZnpnb2hlZkllQVNtOGEwaU5OOWdzNFBEb3Z6SXNxOTg2SFRNenpBelZv?=
 =?utf-8?B?d0hWNGVRenhGWlNGVUJ1ckhpR0tLSmU2UERLNnNJN3BIakhQenhvSmVjTjFt?=
 =?utf-8?B?TVhCT2x6YlVaQUFDK1Y1ZkxuRC9IYVZTY243Q1R5a0ovbWpnS05FNm93blZ5?=
 =?utf-8?B?ZmxSQmd6MVA4Ty91SGEzeFNySzZHRVdqcGd5ZitTUkhWUEpET0hJY2MxQVlI?=
 =?utf-8?B?SjIrSnlneG9mUXF4cEV1dTJ6dGpQN2o2SUIxRnJIK25qZDZKdGpPOFQ1cjlj?=
 =?utf-8?B?d29ZYzdCV05KUmRGWWhwNmIwWnplU1ZlaGVoLytNanBQUUFZd2NiUFVaQk9G?=
 =?utf-8?B?dklRL2VIeURGTGVqbDBrb3NLWXNQcHpiaSt2Wkk5RDg3SlhsWStXWHM2WGx6?=
 =?utf-8?B?SEUvK2Jja3JvN1plVWZvZkdmSGNBZDZ0RFdVcmd1SVFuSGVqUGtNQmk1dWx2?=
 =?utf-8?B?VCtJYzVaT3BsRm9GRWk3ZS9uTGgzcWxaYndKcTlSdGI5TEhwNG1jZHBPVFdP?=
 =?utf-8?B?cG1Dcjh0cmY4TWZFSnpOUFMvWEg4cFkxdXZCSTdrcDZLTXNtdTRiNmxmSjVT?=
 =?utf-8?B?K0F3Z0Q4QUxTK2M1aW51VEF0MFhvNU5vdGdHMHlsalFjYVhXeDdVT2phdkJL?=
 =?utf-8?B?b1h3Y042b3N4bGxkRXJ5bkZxSmF0K0t6Z21nMk5qbkV4QTlBd0ZzdHpkQW9y?=
 =?utf-8?B?VUp4VW1NZkZoUC9weVcrUU0xdFBCcXFUSkE2bms2bDFod1YwWWxyZnl1MC9s?=
 =?utf-8?B?VjI0RFlXYmRubEtvWnY3TWZ6NStGbmVUMG9ySy9Ma3dBUndpR3RHWFJjUkM2?=
 =?utf-8?B?cWdEWVU4WThJaFBZaXdIOWVqNWNqK21sWE56bkpZeDB6Q1pQejhtbXhtd3Bl?=
 =?utf-8?B?djFYNVZUb1JWY1d5UWNJT1YzbU1IMUthUmlhOU96blR6WTVmeEU4MFhiM1pS?=
 =?utf-8?B?d05YNW9BQ0NDZTliMW5wOVB6TU1KblI5N3FXRmJtMnZqMFQ3VXluODEyYm9M?=
 =?utf-8?B?eUlySStSdVZ5d3VhSm1MeEYvTVRLaXZ6NG55c3lXUDdaV1cxelpCTXYvcFhm?=
 =?utf-8?B?TlNUbEx3bEs5ZmVRY0gyUW9BTGxzQnJYcER3UEU0Z1R4K1M1UEZENW9aTFJi?=
 =?utf-8?B?TlVRY1BIQ1NFaEdBckdZV3BSQ3Y5NFVYeG9qWk1ZRzUrL2dPUFVTa2pPN0dE?=
 =?utf-8?B?TEV4SVdhUnZnTWxMTFFUa1NzVkgxZlpEOCtGL1c4QmFncmZNc2ZBYTFKUzVE?=
 =?utf-8?B?WngzWE5Vb2MvR1JScTVXNjQ3alJtVEZENjhtUHlDbFhhcWRvRENmTDNZTXdL?=
 =?utf-8?B?NmZiaWFORXBNeDg5OUc0QkhWbDhhV3JYczJ4Szlicld2RktNaWFDcGlySkFp?=
 =?utf-8?B?ZjZQUGh5MFcvYjFVVHdkNHk5UmJJR1lrVE42SGgzNnM2Qzg0Q3pkQTMxRjlp?=
 =?utf-8?B?WjNmbWxWdE1SakZuSTdpcjZ0ZVRuNkJZdy9oM3hQNVVDSkptMThhRndSVmU5?=
 =?utf-8?B?YlVBR0FtTHdsZEc0VXVYQU9BY1hEeGhOcUR6TjUyREV6bWQzWlUrQ2J4ZnZI?=
 =?utf-8?B?UDlINFVNeVB2YVNWd3p4aUVxc3VTR0ZaNFVWUG9vRm9lSWNHVzlpT1dHeTJO?=
 =?utf-8?Q?i/S3zJ8nW96yt?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 01:48:43.9856
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c6e0768-8cb0-4369-a61b-08dc65930195
X-MS-Exchange-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:
	BL6PEPF0001AB77.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7681

Hi Stewart,

On 4/26/2024 9:45 AM, Stewart Hildebrand wrote:
> On 4/24/24 20:43, Henry Wang wrote:
>> Hi Jan,
>>
>> On 4/24/2024 2:08 PM, Jan Beulich wrote:
>>> On 24.04.2024 05:34, Henry Wang wrote:
>>>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>>
>>>> This user level application copies the overlay dtbo shared by dom0 while doing
>>>> overlay node assignment operation. It uses xenstore to communicate with dom0.
>>>> More information on the protocol is writtien in docs/misc/overlay.txt file.
>>>>
>>>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>>>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>>>> ---
>>>>    tools/helpers/Makefile      |   8 +
>>>>    tools/helpers/get_overlay.c | 393 ++++++++++++++++++++++++++++++++++++
>>>>    2 files changed, 401 insertions(+)
>>>>    create mode 100644 tools/helpers/get_overlay.c
>>> As mentioned before on various occasions - new files preferably use dashes as
>>> separators in preference to underscores. You not doing so is particularly
>>> puzzling seeing ...
>>>
>>>> --- a/tools/helpers/Makefile
>>>> +++ b/tools/helpers/Makefile
>>>> @@ -12,6 +12,7 @@ TARGETS += init-xenstore-domain
>>>>    endif
>>>>    ifeq ($(CONFIG_ARM),y)
>>>>    TARGETS += init-dom0less
>>>> +TARGETS += get_overlay
>>> ... patch context here (demonstrating a whopping 3 dashes used in similar
>>> cases).
>> I am not very sure why Vikram used "_" in the original patch. However I agree you are correct. Since I am currently doing the follow up of this series, I will use "-" in v2 as suggested. Thanks.
> Please also add tools/helpers/get-overlay to .gitignore

Thanks for the reminder! Yes sure I will add it.

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 01:56:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 01:56:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712356.1112993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Aop-0001A8-3k; Fri, 26 Apr 2024 01:56:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712356.1112993; Fri, 26 Apr 2024 01:56:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Aop-0001A1-0m; Fri, 26 Apr 2024 01:56:07 +0000
Received: by outflank-mailman (input) for mailman id 712356;
 Fri, 26 Apr 2024 01:56: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=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0Aoo-00019v-30
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 01:56:06 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:200a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23be879b-0370-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 03:56:04 +0200 (CEST)
Received: from PH7PR17CA0003.namprd17.prod.outlook.com (2603:10b6:510:324::23)
 by SA3PR12MB9177.namprd12.prod.outlook.com (2603:10b6:806:39d::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 01:56:00 +0000
Received: from SN1PEPF000252A3.namprd05.prod.outlook.com
 (2603:10b6:510:324:cafe::bf) by PH7PR17CA0003.outlook.office365.com
 (2603:10b6:510:324::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.27 via Frontend
 Transport; Fri, 26 Apr 2024 01:56:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF000252A3.mail.protection.outlook.com (10.167.242.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 01:55:59 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 25 Apr
 2024 20:55:54 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 25 Apr
 2024 18:55:54 -0700
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 20:55: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: 23be879b-0370-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CDbeOIZyY6AHXnYCM3Xd3UGDh3UrLpU582JKAwH/YYNCr2nlffNLbrrmsj+xCf2GbAiVaOm9ru6JNoes0/aBWQT/HQ+wf3Of+kLGc4FhF65X4OhZriU1oO0YIkeRMb0nmZWWbAJMfF6kDovbUS9Gbtk9xX2c9N+UuAC0uBtq2GNjc4C6lCnle4snCu1gdhQdqTpMDKvc6TZeWU8ReWSEW/Dm+TTWA8CVb65FA2MnrGmX9ugbrLwgvyE0cxBpoGdzt8FIY6eed/F2Nh3O6XFEvrAj4bo7wOG2bMI2o86WRAscNbowYPKG9q7WuBPV+tH7JiOt9zUUfstFZxHVwah87A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ncTiIy97K7mW7DNVqgFPuUNCyiiR2lkDTo36MJ2PKYc=;
 b=INaNItHW8MYjg4btkwQknc2/poPcnfDqZobt5dREBQq5lDj/HwMKwZKr6Cg59HQmNB8fS5JmWJ+6ygGqyLGOpk9RLFEf593ALRvQkmFJxGwgz/OsuZiO1zlhgYb9Zti4sN11QiCox2tOLnAU5siDzBWU9pcv+HNOB4/uUjqL7LEttaTwimEg5+dpmQ/cIItj1I3bOGk3LJ145oQ8SSHYnRUv7sfz2yxXuJoUk9qKETYQUcLWac/UJA9MpcH7qEWu3F/MYzniVo+o/DvB/MAdaij6vhGzzSYIDskOfdCeNrWiSLI5hf/fBx49pz1Z3cnpHMiAW9ej76i4fXdLn2tBiw==
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=ncTiIy97K7mW7DNVqgFPuUNCyiiR2lkDTo36MJ2PKYc=;
 b=nYxL8veZZECQqRsNhOFAUCTMjPClNs1WcP62X2shKIuI/VyhOjf1AzNd5GibJ8OYRZPnzeXNCehDXlKxiQ+hPiIOQvJJV79qy/ioHRtnHXjTllkqo4nQfQUKjx8Y4o7a0vRcQhNwkAB1wkqZECF2TGVgZ+rB0CsmlKb5dwQ4ARI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v1.1] xen/commom/dt-overlay: Fix missing lock when remove the device
Date: Fri, 26 Apr 2024 09:55:50 +0800
Message-ID: <20240426015550.577986-1-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A3:EE_|SA3PR12MB9177:EE_
X-MS-Office365-Filtering-Correlation-Id: f641936b-28e4-44f4-464c-08dc65940554
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cnBXNnAvYnM4ODIySjhMTnA0dTRUK25VM3d3V3duQy96dVpVNTZnbDVEcUwz?=
 =?utf-8?B?SW1wTnk2bWtaN1BwanpOQVhkYlRXcXZ2QnJIbUdQZytaRlJ2QmRUZGhNMW1m?=
 =?utf-8?B?MW13WGExNVBjdmYzRVFPV09XV2NocStoci8yQjUyTXJ6bngveHhOODR0SlM0?=
 =?utf-8?B?WUFYVmJGeEZqcDNxYmVmOEpKT0tENmRpZlg1VWNVRWRDYzRXcW8yQzN2eGVm?=
 =?utf-8?B?c1dnWGFQK010eXMwOW0vRWxjYzdVQ1NPMFF0Z0NsY1dCR3AyMS8vUGRyaVZ2?=
 =?utf-8?B?WkF2aHFpWjZrK3RhZkZ6OG9XdTlMY1Y2ZzlqUStvblk0RFN0NFZIelpkV3RO?=
 =?utf-8?B?eXhESXJvd1BuVjlxcE1Lb25QcWRwRGx6SXdqNnVKQmdXSVMyV0FPUkc3MkR2?=
 =?utf-8?B?cjlJeS84ZFZVQ2E2Mjl2WGFSYW9nWStFMWU2cTV2N3dEeXMrU1hYNGZDcDc2?=
 =?utf-8?B?Q01taGNra25LV0ZiT3JZSmRnSEZGc1BnSi85by9nS3NEb2piQ3BPY0NEK0N6?=
 =?utf-8?B?d095R25Hb2lGQUxUdERVLzZzem16akw0b1NiYXB0VGpPaDRUL3JYZGRTZ2s0?=
 =?utf-8?B?RXIzRFp2WmtaOEo0WGZrTDBxcjUxR3J5MU0xbUVYcVE5MEFlUE1WdUYvZ0Fs?=
 =?utf-8?B?bEtCdDJjS3pqcktSOVFsczdIQmU5OVVsSlZsc3FXVTFxWkprZEtFdENJYnNJ?=
 =?utf-8?B?VnlNaFc3WEpmV2pMR1c5TkkvYUVUZkNyRDcvRnVLYjZNZ0orc1NwazdjUnVu?=
 =?utf-8?B?RlFDNHlscGoyQjV0ZHpuRGlyZGRtNW45WjhSTkowSGdnampoZml4bUdxWGxl?=
 =?utf-8?B?aGovcTdoNzlCWUlTL2xYeXZVQ0w2MzYvR3ZCZ0hIY3ZMcDB2VEsrQXB2NUxF?=
 =?utf-8?B?UjdJY05kVU16UHNFM1U5d0sxQURCOURQR1NmSmlIN0hCdjFZR1ZtS0FXVjR6?=
 =?utf-8?B?RU8zbThFVjZHRitLbUJVN1loNGYxM1BtZVAra2I2a3UzNUJDSWR1VTZjQUFM?=
 =?utf-8?B?TW9ZQXdoQU5HMjVxdEdPSzB0RnRhN0NXS3JZQXQrVUJpcUQyeUd5NHpoeUhm?=
 =?utf-8?B?UXRLcEoyQXFzMUpjMzdyeEdsV0MvMW1xNTcyRENtMDV3WU1uUWk3VkVxMDdG?=
 =?utf-8?B?bzNYTFdYbFEyaWlHZklYWmx4U09wTStkMitTdWFxT0lWVWtoNUFqeXd4akFv?=
 =?utf-8?B?ZkdWRjBUY3FEK0lYYlptN1Mra0Y5NFlQd1VBaE9OYy9vWVhPdGY1a0Foek9z?=
 =?utf-8?B?bmZhYUdaOVY2TzE2RDFMSDFrcE5MaHBXc29UU1BqN3VseUw5c1lNUXZMclVy?=
 =?utf-8?B?d2FhWnd1MmdSTWMyRnRNdE9Dclo3ckZ4bW1OZFVQUTNFdHF0NjY4V3RDb3BF?=
 =?utf-8?B?VkZsVG1TakxuNENUM1hIb3ExdG1qOUpPU3RNcVNLdVlaU3lVQzZiZ25nQ2E4?=
 =?utf-8?B?L200L05tbnR1d1Y2TEJxbStaaWpYOEVLYnBBU0tzbkF0Sk9xRDhuZ3JNUDFo?=
 =?utf-8?B?QThCUUxqWkl4VE1QNnR3ZHhSQnUrdmMrcGJNeDZINjgyMDYzY2xnbGpDNW5q?=
 =?utf-8?B?SUpMU1ZDTzQ0akZPMGNYVGROTlAwTGVuUklmZmdUYk84WlRFb0trdjcxOUpF?=
 =?utf-8?B?NE5EUzZocVJOTFFIWWtEMzY0V2Z2T3p5NUxBNzhMdDY2Y0xjbDg2TjRjbHNj?=
 =?utf-8?B?Ym1IQzlCUWYvbEJXdmt4c21SL1VVYmRiNE1qV0NuSnZTUVZ3bnhpNm5Fb3d4?=
 =?utf-8?B?UlRXVlRGVUNXRDRQV1g3WWdCRVlmUk8vU0lXVTE5RmVRdnF5NXdnSE9sNUJm?=
 =?utf-8?B?WUR3RzdOS3IwUWxNNXgvZGpZWHo3S3lJc3o2dEVmcU1OMGMzWVZsOG05MHpP?=
 =?utf-8?Q?Ypu3lfjj0c8D5?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 01:55:59.8117
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f641936b-28e4-44f4-464c-08dc65940554
X-MS-Exchange-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:
	SN1PEPF000252A3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9177

If CONFIG_DEBUG=y, below assertion will be triggered:
(XEN) Assertion 'rw_is_locked(&dt_host_lock)' failed at drivers/passthrough/device_tree.c:146
(XEN) ----[ Xen-4.19-unstable  arm64  debug=y  Not tainted ]----
(XEN) CPU:    0
(XEN) PC:     00000a0000257418 iommu_remove_dt_device+0x8c/0xd4
(XEN) LR:     00000a00002573a0
(XEN) SP:     00008000fff7fb30
(XEN) CPSR:   0000000000000249 MODE:64-bit EL2h (Hypervisor, handler)
[...]

(XEN) Xen call trace:
(XEN)    [<00000a0000257418>] iommu_remove_dt_device+0x8c/0xd4 (PC)
(XEN)    [<00000a00002573a0>] iommu_remove_dt_device+0x14/0xd4 (LR)
(XEN)    [<00000a000020797c>] dt-overlay.c#remove_node_resources+0x8c/0x90
(XEN)    [<00000a0000207f14>] dt-overlay.c#remove_nodes+0x524/0x648
(XEN)    [<00000a0000208460>] dt_overlay_sysctl+0x428/0xc68
(XEN)    [<00000a00002707f8>] arch_do_sysctl+0x1c/0x2c
(XEN)    [<00000a0000230b40>] do_sysctl+0x96c/0x9ec
(XEN)    [<00000a0000271e08>] traps.c#do_trap_hypercall+0x1e8/0x288
(XEN)    [<00000a0000273490>] do_trap_guest_sync+0x448/0x63c
(XEN)    [<00000a000025c480>] entry.o#guest_sync_slowpath+0xa8/0xd8
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) Assertion 'rw_is_locked(&dt_host_lock)' failed at drivers/passthrough/device_tree.c:146
(XEN) ****************************************

This is because iommu_remove_dt_device() is called without taking the
dt_host_lock. Fix the issue by taking and releasing the lock properly.

Fixes: 7e5c4a8b86f1 ("xen/arm: Implement device tree node removal functionalities")
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
v1.1:
- Move the unlock position before the check of rc.
---
 xen/common/dt-overlay.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index 1b197381f6..ab8f43aea2 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -381,7 +381,9 @@ static int remove_node_resources(struct dt_device_node *device_node)
     {
         if ( dt_device_is_protected(device_node) )
         {
+            write_lock(&dt_host_lock);
             rc = iommu_remove_dt_device(device_node);
+            write_unlock(&dt_host_lock);
             if ( rc < 0 )
                 return rc;
         }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 02:03:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 02:03:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712362.1113002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Avr-000353-RQ; Fri, 26 Apr 2024 02:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712362.1113002; Fri, 26 Apr 2024 02: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 1s0Avr-00034w-Ox; Fri, 26 Apr 2024 02:03:23 +0000
Received: by outflank-mailman (input) for mailman id 712362;
 Fri, 26 Apr 2024 02:03: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 1s0Avq-00034l-95; Fri, 26 Apr 2024 02:03: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 1s0Avq-0002Gy-2n; Fri, 26 Apr 2024 02:03: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 1s0Avp-0003xL-Mh; Fri, 26 Apr 2024 02:03:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0Avp-0004n7-MH; Fri, 26 Apr 2024 02:03:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uO6zYn6eGwBn06wgN0Bm1z+sbO/1/ac+q5UgVYu6RQI=; b=2ZtF2v2NTCUq2l6O1a+6BiSDCC
	Z3aOO58ddkQXMJi33GMs+L1VZH65AVc/n7If8nL5/Y35ZZSf4GzJs40V/3FAIEC0voafdbhO3sjrI
	8qsGCcX1flyC9u8guMiHt9QQmStksZhxo7qFCJ9W0oJ2mKY1Xs4opi0R+gFXCw/dnp1M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185801-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185801: 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=232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
X-Osstest-Versions-That:
    xen=23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 02:03:21 +0000

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

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                  232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
baseline version:
 xen                  23cd1207e7f6ee3e51fb42e11dba8d7cdb28e1e5

Last test of basis   185799  2024-04-25 17:02:07 Z    0 days
Testing same since   185801  2024-04-25 21:02:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Michal Orzel <michal.orzel@amd.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   23cd1207e7..232ee07c23  232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 03:15:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 03:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712371.1113013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0C3M-0006SP-Tq; Fri, 26 Apr 2024 03:15:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712371.1113013; Fri, 26 Apr 2024 03: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 1s0C3M-0006SI-Pw; Fri, 26 Apr 2024 03:15:12 +0000
Received: by outflank-mailman (input) for mailman id 712371;
 Fri, 26 Apr 2024 03: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=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0C3L-0006S7-KK
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 03:15:11 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2405::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e56ee77-037b-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 05:15:06 +0200 (CEST)
Received: from SN7PR04CA0221.namprd04.prod.outlook.com (2603:10b6:806:127::16)
 by MW4PR12MB7031.namprd12.prod.outlook.com (2603:10b6:303:1ef::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23; Fri, 26 Apr
 2024 03:15:03 +0000
Received: from SN1PEPF0002529D.namprd05.prod.outlook.com
 (2603:10b6:806:127:cafe::9d) by SN7PR04CA0221.outlook.office365.com
 (2603:10b6:806:127::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.29 via Frontend
 Transport; Fri, 26 Apr 2024 03:15:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002529D.mail.protection.outlook.com (10.167.242.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 03:15: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.35; Thu, 25 Apr
 2024 22:15:02 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 22:14: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: 2e56ee77-037b-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fE8CYxCAvU8JPn5UKin77WngaybzfFvz+MMkacnE4eIljHLNk5MRwByqeR9dKjz/Xy/DBYtuXqxZJWkXUNBpOAB7DGVuBVlVdTG3SUTzsZhILpwknEY48V+KY94a9FyHyEYsIqAxN+rmQWOEFZGIfmDE25LVjbnZ7T7zjPYqrLFf2i4Zau/zuo98o3x0910W/pzbbPZAj7Ojg7V/49X1Z07whJGMh8B3lUn8NTP8fqdOdacPb61YH+aB//8YjyV0w16lM2tvC8YMv0C56hYSkQLVQXXR0VkKukB7iuytOExu8UMCry9vnx6mUjfoaGR/PrZSO+/BOuE2BL5duRwFsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R4l3odQmbIy9nPjdAMVrsnL7NEqUmVisHZ2I+y7GLVE=;
 b=OnhvsvbmAGb86jht+9ewMyWrJGYuM0eQRvCCzBafqToRHU6OsDc4bJGrbLtTM6R4bnm+3wuJPOgdUXbP7nCNw8PXKJckChrUOn8imYTjWvGDrIIny000gmpohx2UqB/sHzpx8I5hjRmm4vUJGFU4ZrDYcaQk7fT7AkN+7tw2g1X/lNV4SylMYm/3zvKZr64Mk5RCE/3LFJ8m/qcV0fJGt+JkAKl/LPtcSIkJ0gdkTXzm77mMrFNU7mVP7MBXZx5dDcuJsQM+4AOqabtZSDUpcmFzb+QwkJo9+jvPTyqGAY012bYjkjvKrhCn5SDyBiMVV/7YZGSQKwE+3tnGD8nniA==
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=R4l3odQmbIy9nPjdAMVrsnL7NEqUmVisHZ2I+y7GLVE=;
 b=BAvIBun5jgCSa+bfDjFTPcZ0xUtNKaQML74651uipCQa+ydapYOV73/Sw0HZUjDstbOSUnbZoHlZcRnINxA/5fwzcUC/z3kKb5UlaUgRtXi/0n4rnGhCBzWwwc8XgUG5RRs91D1PHuc030qox4EWkqp8II8AocgL1y3R0CAWWqc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, "Jan Beulich" <jbeulich@suse.com>
Subject: [PATCH 0/3] Guest magic region allocation for 11 Dom0less domUs - Take two
Date: Fri, 26 Apr 2024 11:14:52 +0800
Message-ID: <20240426031455.579637-1-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002529D:EE_|MW4PR12MB7031:EE_
X-MS-Office365-Filtering-Correlation-Id: 92f40c87-390d-4026-c353-08dc659f106a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|7416005|36860700004|1800799015|82310400014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?JjhYW7rQSjrH7GUUwCf1v2J8IKbHyETSqvDDih9v/hYo97zDWArd61x2/sBq?=
 =?us-ascii?Q?Ds40lrcdztsWL68jVVubTYfRA7f9394BvUJ4BR0e8MyF5jeca9UJQ5qxZpMo?=
 =?us-ascii?Q?SuAGpV5GSf+cHw+ZylCfCVitOqKWBqfLJzQYrZPfmmgvt4ALNTwxVGmYP0nN?=
 =?us-ascii?Q?2TG61sbjIv5mVXxjN0/2nZu81uousopy6WfTXsiPnkn9pZu+2fhYrHTFdguK?=
 =?us-ascii?Q?GjHU4hfSEZfZ+YH9v9KcvRfnOO+zolZhqzAeK/8T5/yFPGPAwcsOGmkyitwb?=
 =?us-ascii?Q?glBO/3vif4ugzUUsuWgLiZvVzvEzOomehYWy6U+Wl6CwDDMq/6/17I/4lYYy?=
 =?us-ascii?Q?C05g0G+6XWIvf/40RtBO7ZMOHYqgUyEHJCto4ctK0yer/AXrOGTkvS8H1Xhj?=
 =?us-ascii?Q?NpQVcRdaOXy/bzRtjDFBJz40b3ZbsQqCxqlLTGpZjQzGAXQ2mqAfhHuyzdcl?=
 =?us-ascii?Q?9RADh2A1H7xYDxbI3uqxvzX94znCCa8o5gLYAZskiByNelkKEMy7IaQEuYQe?=
 =?us-ascii?Q?uHxd8BcGZ99ponu6Fgp7fIgFWMU8msxFcsMFArNnEE8s5vicRXb3KLbj8y2w?=
 =?us-ascii?Q?vGqKUiFqdzw6rq3vV3O6BAoNOjgni9NBM0folclNSoJMPArxHEkWxn4Aksov?=
 =?us-ascii?Q?fBKrj2eLv+5dxlzaBHms6StHqN3t+8PJ3STApBWOh879EfYnyrA3xQdhCa+g?=
 =?us-ascii?Q?f3NyH3+X42b2zY/GHjF3rDoEAO6wnSJg1xMllPE4LNP+Z/voKdZSpqeCKd7U?=
 =?us-ascii?Q?bqKj4XBCjmIfkY3l1fhDlC5fMhgVMOjNXhoTfal3ul4B0wEPWbBL/iW9raKI?=
 =?us-ascii?Q?xszRnZBGwzdkzt3seEBFbGEIsKNRRCW8pttttkArlCjoGnnR0rQmitUo4/PD?=
 =?us-ascii?Q?GeXs3xR/X94X0i7dUYIzlawKIZtjrH0TjEpyE1LHUjMgxFvags+l9CWfR/Do?=
 =?us-ascii?Q?Lbjq08rusmadds7r24xs/pBX7q6xXnKu7eAiWnNU77A3uDLnEL2r8k+9otNo?=
 =?us-ascii?Q?7vzDaaeJYL90hz5mb2zrUDAklG1YezhmF8IuEnVkXowp3HqftMuQOhyVwkBC?=
 =?us-ascii?Q?VzzdyljWuPoKUDKRloJTOZJ99wF/tFpLJFPie590nW9AjzJJxy/jShi0pJvk?=
 =?us-ascii?Q?VuY79Lq678CzZc1yvFZzXO/21NNsR2FLOaC1gK8wkL7WW88g1YpjITd7Tdl4?=
 =?us-ascii?Q?5YdGQTcwNOA64T+9cQeW2YxjY78zUyuhQarzN087bHMax28oA6Cc2B1c6tro?=
 =?us-ascii?Q?KwSl3geYDLHQhpw5gqgs/TUtqizh2NaB4wfJJsHEc9rRnWMTNXsQjOD0VX/T?=
 =?us-ascii?Q?s/3IOQwMQvUBnlBXIN7fW7OpSTKbh3/JwxG7cEHit6KPbBMgpk1fowVJZIZi?=
 =?us-ascii?Q?XiluxhiRRsxAgVSKP9c8eECULDR6?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(7416005)(36860700004)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 03:15:02.8625
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 92f40c87-390d-4026-c353-08dc659f106a
X-MS-Exchange-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:
	SN1PEPF0002529D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7031

Hi all,

This series is trying to fix the reported guest magic region allocation
issue for 11 Dom0less domUs, an error message can seen from the
init-dom0less application on 1:1 direct-mapped Dom0less DomUs:
```
Allocating magic pages
memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
Error on alloc magic pages
```

This is because populate_physmap() automatically assumes gfn == mfn
for direct mapped domains. This cannot be true for the magic pages
that are allocated later for 1:1 Dom0less DomUs from the init-dom0less
helper application executed in Dom0. For domain using statically
allocated memory but not 1:1 direct-mapped, similar error "failed to
retrieve a reserved page" can be seen as the reserved memory list
is empty at that time.

In [1] I've tried to fix this issue by the domctl approach, and
discussions in [2] and [3] indicates that a domctl is not really
necessary, as we can simplify the issue to "allocate the Dom0less
guest magic regions at the Dom0less DomU build time and pass the
region base PFN to init-dom0less application". Therefore, the first
patch in this series will allocate magic pages for Dom0less DomUs,
the second patch will store the allocated region base PFN to HVMOP
params like HVM_PARAM_CALLBACK_IRQ, and the third patch uses the
HVMOP to get the stored guest magic region base PFN to avoid hardcoding
GUEST_MAGIC_BASE.

Gitlab CI for this series can be found in [4].

[1] https://lore.kernel.org/xen-devel/20240409045357.236802-1-xin.wang2@amd.com/
[2] https://lore.kernel.org/xen-devel/c7857223-eab8-409a-b618-6ec70f6165aa@apertussolutions.com/
[3] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2404251508470.3940@ubuntu-linux-20-04-desktop/
[4] https://gitlab.com/xen-project/people/henryw/xen/-/pipelines/1268643360

Henry Wang (3):
  xen/arm/dom0less-build: Alloc magic pages for Dom0less DomUs from
    hypervisor
  xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN key in HVMOP
  tools/init-dom0less: Avoid hardcoding GUEST_MAGIC_BASE

 tools/helpers/init-dom0less.c   | 38 ++++++++++++++-------------------
 tools/libs/guest/xg_dom_arm.c   |  3 ++-
 xen/arch/arm/dom0less-build.c   | 24 +++++++++++++++++++++
 xen/arch/arm/hvm.c              |  1 +
 xen/include/public/arch-arm.h   |  1 +
 xen/include/public/hvm/params.h |  1 +
 6 files changed, 45 insertions(+), 23 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 03:15:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 03:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712373.1113034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0C3Z-000703-JV; Fri, 26 Apr 2024 03:15:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712373.1113034; Fri, 26 Apr 2024 03:15:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0C3Z-0006zu-ER; Fri, 26 Apr 2024 03:15:25 +0000
Received: by outflank-mailman (input) for mailman id 712373;
 Fri, 26 Apr 2024 03:15: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=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0C3X-0006yc-SN
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 03:15:23 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:200a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36945780-037b-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 05:15:21 +0200 (CEST)
Received: from CY5PR03CA0010.namprd03.prod.outlook.com (2603:10b6:930:8::18)
 by BL1PR12MB5778.namprd12.prod.outlook.com (2603:10b6:208:391::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.48; Fri, 26 Apr
 2024 03:15:18 +0000
Received: from CY4PEPF0000EE3C.namprd03.prod.outlook.com
 (2603:10b6:930:8:cafe::b5) by CY5PR03CA0010.outlook.office365.com
 (2603:10b6:930:8::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23 via Frontend
 Transport; Fri, 26 Apr 2024 03:15:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3C.mail.protection.outlook.com (10.167.242.16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 03:15:16 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 25 Apr
 2024 22:15:16 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 22:15: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: 36945780-037b-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FbGmz2BO2gqZWZRz4mAacfOjOhL9G9G3ZqWIKRVIXilya8dCvw6orfFANiyGpvslaoGLtsEWRya9376dMB7DTLtJHE0pWaHYzPwTWvmZioUpLslkMnfj4cVu4CWj4X8rDB6dVVIW+fB4d42sOvS+3saKQ3s23WGS07MH9GZ+Ewk1Pbyd2fgtiNCImqmQSA7c7LevKbVp1fMjUUJGfmuKTOmpzuGE9eLQQIeaywSBXKhlSw5mkFpq2XIsZ4+7ezYqtUFAyQQ+pZpX8j/LwinFLJGgBkQlZ4sPijNx7reeq4Pih6OnnsWeTdzbuci+BkQIPMLsewGj+D+NC23nh3jVUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hoINEpwEgGiddQ725fJgeiRoPqfe/wX4qgGl/EaGEJc=;
 b=G7FKfwHv5G3Z4JgaGKlqwQdAbgJWq5mZYhRZLeegnG4CfIsttFQYF+LQzrmQmh9jkn2TSWBnCks8GW4ZhRR4T+758OFB3SB4vEUxtQhUjxm2wePC1f78XHwqA97Yw56gWr1BtqZXylMSF1MbX5j84hRTFGONqKjdsg38oii7W7fy6Go1wcOtiZlh4GtydRRrkHVEoNjPnZVhV8PgFBBGZ3KKKXSUNNBDmWF9ZLNEuSTz5K9WPYJKyyrcV4ziAGAxbm5560QYBpFlMckaIIG/oHjZw5biPCgpLLMkKqyd2xC/eK66TcbmZNX4U3OtivpQw5J99QPH8fHugPDlr1TupQ==
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=hoINEpwEgGiddQ725fJgeiRoPqfe/wX4qgGl/EaGEJc=;
 b=dbBBrRI7KSsUoqgw+xpwqSOpPCSq+z3QSFvZdhWte8gPRpjk0feuHF1HuXlZb9VMGhp+dkZ1LM8Kc/Q+d8xUxdq2/+CQXOKYTagNfxmcaXKC/PSNHHrPGgvssmqPOZlO2BGS9AYqoibVS4EFkTqxKX/q2GFit/MUrTvvrd/9QuQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Alec Kwapis
	<alec.kwapis@medtronic.com>
Subject: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN key in HVMOP
Date: Fri, 26 Apr 2024 11:14:54 +0800
Message-ID: <20240426031455.579637-3-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426031455.579637-1-xin.wang2@amd.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3C:EE_|BL1PR12MB5778:EE_
X-MS-Office365-Filtering-Correlation-Id: 640962ea-cd20-4f0b-3f02-08dc659f18b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Fe5k8i/1h54zu1P00NTC8m4VgasSQicyS/hOPdn9T+DaDo8Cx3QFGFHKu8uG?=
 =?us-ascii?Q?Ryy3xKiq2Ufn3VCHzDRYc1Ji1hJH4kOvAJRfXH76PIwoiORwX4sIp5u99brX?=
 =?us-ascii?Q?PMQcrbpSXptWJkaBnRpo4HuNDKrzJM7I5skxD0NmaV9ouErfhkr9/+gGPQL2?=
 =?us-ascii?Q?ucM8htcJc0KtfW+JgiqyjlJotK1rgMX1dITd/6B0DffPNrvv/0j9wheuarCi?=
 =?us-ascii?Q?7hxuVEiJaRqdglB5yj8qMAC4g1wzaG+w34FLinuvw9+0SfiIrO8m302S64fV?=
 =?us-ascii?Q?Mx2A/SHTwzOzsBkmPDps38b9AEQuQyWwWphGWJtSaKVH4Fj302pr60oDYYxH?=
 =?us-ascii?Q?h/Oj7tbG86peVnKd+SXbkfeUixiDnJ2fEfTgl7eXM91g5WViwYpXWQzG3S3N?=
 =?us-ascii?Q?QFAMVHuTC8l3bvx8qFpgSAnSI2XRVPH6Lb9mZumtgdgVcy48LlkAow40OoIM?=
 =?us-ascii?Q?7yZXI19dcwuLchIZp0Dhi8VQVTV7qqAdWs2LWL3Yc/nsxRgBBzALvKODCrc8?=
 =?us-ascii?Q?qdOYjtoUJgk7dpCciPn4WXY35DSGAkOfSAdPeAxLKizAWA0aKyGmX7JGZuQE?=
 =?us-ascii?Q?w5cnYzT3PSaF2q0chmBMZNzRsWnpddIlZ/R7WrzfVpQdjy9EbKILSEfN07V/?=
 =?us-ascii?Q?ehoCtwb+bWC7AAVavMyHa5JWa3F6YGXbwCtIGPLzw74sh/fYRim7vllEKp7K?=
 =?us-ascii?Q?OEw/rwAUu25pSD5h/d5p+Ql5udIgdhq43QQNr5Cr3TrsbWzITIQY0MAXjGIb?=
 =?us-ascii?Q?oCG9Z26wY+PDauuwh3uGDSPUjJLqEBQKdX1wvYGOEjkRfNY0DzuwUmyfh4Gg?=
 =?us-ascii?Q?gFqLkgPGv7206Zw1VwInTg96X++RmPKqRJ7mFn8ofmjP+bVhi2+MKtg84uA1?=
 =?us-ascii?Q?EgS89nApNrESw1vMqj/w0+Y57es2NqrwE+650Jt1iUlQ+v2Zm/h6AHWg+BTK?=
 =?us-ascii?Q?0cx13OAcoVlg+q2f8hfQNpQ8qWAvkBe8JeVLc8cYznWeERz/jlrFgFl/CjSU?=
 =?us-ascii?Q?FHqX7zEqkAxjW7MrZmORfxMdPLhITnhCnU3sM6nPY7fEsvJxr7OjBqslRibp?=
 =?us-ascii?Q?3Zi20KoH/jZ5XnffJPbjouV1CeAcUPWipIIT9F+TJHMov1CBKKQyPt/gXWLe?=
 =?us-ascii?Q?FmFcxDHW8R2GyAbObftKf+fZIu0GYexA9Z20PuB1L9QbcDXIuH/lGwOBiFVX?=
 =?us-ascii?Q?TbPwsuYttD3lMTQ04NFGf5e70MvJpyli0S1Y7fRtTkSXHGgcSZ5pBU9K6bUx?=
 =?us-ascii?Q?ra5LoUN9M2AfKzPFsp5cYN79WjHcnrZCVRPe4hUKiaN3JD+wtFMJi3qg7CR8?=
 =?us-ascii?Q?orWFTRmky6MqmoDPZyUs0SFMng1K8sH15OAcZUsogVM/hVpmZSJL7RXk5Df5?=
 =?us-ascii?Q?8LIPhzRLfZ9YvpabDfcTvMics3MS?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(1800799015)(7416005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 03:15:16.7214
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 640962ea-cd20-4f0b-3f02-08dc659f18b2
X-MS-Exchange-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:
	CY4PEPF0000EE3C.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5778

For use cases such as Dom0less PV drivers, a mechanism to communicate
Dom0less DomU's static data with the runtime control plane (Dom0) is
needed. Since on Arm HVMOP is already the existing approach to address
such use cases (for example the allocation of HVM_PARAM_CALLBACK_IRQ),
add a new HVMOP key HVM_PARAM_MAGIC_BASE_PFN for storing the magic
page region base PFN. The value will be set at Dom0less DomU
construction time after Dom0less DomU's magic page region has been
allocated.

To keep consistent, also set the value for HVM_PARAM_MAGIC_BASE_PFN
for libxl guests in alloc_magic_pages().

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/libs/guest/xg_dom_arm.c   | 2 ++
 xen/arch/arm/dom0less-build.c   | 2 ++
 xen/arch/arm/hvm.c              | 1 +
 xen/include/public/hvm/params.h | 1 +
 4 files changed, 6 insertions(+)

diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index 8cc7f27dbb..3c08782d1d 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -74,6 +74,8 @@ static int alloc_magic_pages(struct xc_dom_image *dom)
     xc_clear_domain_page(dom->xch, dom->guest_domid, base + MEMACCESS_PFN_OFFSET);
     xc_clear_domain_page(dom->xch, dom->guest_domid, dom->vuart_gfn);
 
+    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_MAGIC_BASE_PFN,
+            base);
     xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_CONSOLE_PFN,
             dom->console_pfn);
     xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 40dc85c759..72187c167d 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -861,6 +861,8 @@ static int __init construct_domU(struct domain *d,
             free_domheap_pages(magic_pg, get_order_from_pages(NR_MAGIC_PAGES));
             return rc;
         }
+
+        d->arch.hvm.params[HVM_PARAM_MAGIC_BASE_PFN] = gfn_x(gfn);
     }
 
     return rc;
diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index 0989309fea..fa6141e30c 100644
--- a/xen/arch/arm/hvm.c
+++ b/xen/arch/arm/hvm.c
@@ -55,6 +55,7 @@ static int hvm_allow_get_param(const struct domain *d, unsigned int param)
     case HVM_PARAM_STORE_EVTCHN:
     case HVM_PARAM_CONSOLE_PFN:
     case HVM_PARAM_CONSOLE_EVTCHN:
+    case HVM_PARAM_MAGIC_BASE_PFN:
         return 0;
 
         /*
diff --git a/xen/include/public/hvm/params.h b/xen/include/public/hvm/params.h
index a22b4ed45d..c1720b33b9 100644
--- a/xen/include/public/hvm/params.h
+++ b/xen/include/public/hvm/params.h
@@ -76,6 +76,7 @@
  */
 #define HVM_PARAM_STORE_PFN    1
 #define HVM_PARAM_STORE_EVTCHN 2
+#define HVM_PARAM_MAGIC_BASE_PFN    3
 
 #define HVM_PARAM_IOREQ_PFN    5
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 03:15:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 03:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712372.1113023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0C3S-0006hw-83; Fri, 26 Apr 2024 03:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712372.1113023; Fri, 26 Apr 2024 03: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 1s0C3S-0006hp-4k; Fri, 26 Apr 2024 03:15:18 +0000
Received: by outflank-mailman (input) for mailman id 712372;
 Fri, 26 Apr 2024 03: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=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0C3Q-0006S7-KH
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 03:15:16 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20600.outbound.protection.outlook.com
 [2a01:111:f403:2408::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32b41996-037b-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 05:15:14 +0200 (CEST)
Received: from CH0PR03CA0299.namprd03.prod.outlook.com (2603:10b6:610:e6::34)
 by PH7PR12MB6442.namprd12.prod.outlook.com (2603:10b6:510:1fa::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 03:15:11 +0000
Received: from CH2PEPF0000009E.namprd02.prod.outlook.com
 (2603:10b6:610:e6:cafe::d8) by CH0PR03CA0299.outlook.office365.com
 (2603:10b6:610:e6::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Fri, 26 Apr 2024 03:15:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH2PEPF0000009E.mail.protection.outlook.com (10.167.244.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 03:15:10 +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.35; Thu, 25 Apr
 2024 22:15:09 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 22:15: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: 32b41996-037b-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i2yE4NXzhxNSx+x05jrom/J+vMDhHaS58obvRvujK69bmHdPTxTzC5YLkWyZ4L3SzIS8v5l/Kqh+nCRPNTMghw6bLFV1jC1H/X9yNoolhf18Z8+VsWeA3XsWROJWNKMr/Jg3AeWxA9heTJm/G0lrO78XJLywC+TtzoWh74jVBzYzmCQOfwV7vsW6iPkh9WJPSg/KRM6meIQ41elmGfrKftn9qtJg4hVveMgj81FKL8KUSuXIi1cGWWSFCiXhC2fdIhUb9JHhArXVcuMVzfNUiHVhZgmsSOTcL/eWU3A3WKYFOcCH2yM295InSykozJdK0ZmK+7J/yRrYdTpqbFd+DA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=79RFzyR41EP2xOdusQsL3cCUdGSsRj3jsPfYKcWYOtc=;
 b=n7ZO5fnDW9g4SGd1F6Kgm7I90hxGGvhgyk7yEwbRdSDWx9QUmn/2sx98xael2OcNz5kPY6neIj0lmWwMZRLgVV09jQ7gyPXxYmPg0w5jZoqgfSHYNrroiQoeBxEy9N80kUuPAD43Bl0Sl+VGvTk6tVeAjMHd+6KIMHMBQBs/zQfLRtcu0sMnkvMfCxCvjID67olUOk7YwV17gh4+yErlKRE11QhTYdWhJMkofXPPM6yGJaPo262LVchnpDjKpSbKCI/qVVX5txJ/YRHnZMWoFJtmfQwxqbc3whc3aluEWucbvLBEYBX9F6mHa8wL1q4nUCM1rGAC2302G93IU5b8Tg==
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=79RFzyR41EP2xOdusQsL3cCUdGSsRj3jsPfYKcWYOtc=;
 b=NRnOHhO1lZLKsIicRAt3TCojVs0+1pl3v/Af0PdQRFaPOhc6D0RRJetTb9aTPbZDz0UvYmk/IMWj2TYldfxjn3xc2sqeOaaqCeuXQQGTZtAQ/fyWFFqw7zYBo4HOMnpAO6auhiXsBbBIkbTw8/DON0A7CwK5y75gBuqCfr6Ri3w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Alec
 Kwapis <alec.kwapis@medtronic.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>
Subject: [PATCH 1/3] xen/arm/dom0less-build: Alloc magic pages for Dom0less DomUs from hypervisor
Date: Fri, 26 Apr 2024 11:14:53 +0800
Message-ID: <20240426031455.579637-2-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426031455.579637-1-xin.wang2@amd.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH2PEPF0000009E:EE_|PH7PR12MB6442:EE_
X-MS-Office365-Filtering-Correlation-Id: f0f1c8d0-ff76-40eb-4c39-08dc659f1516
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?BJoor2yhWlS8Q9TdAnalVRMpEbFUVxO0b5hYAxbvRgGOs6N2eGjDERIxxYvs?=
 =?us-ascii?Q?SADjwxZLpKhxadb+I8iN8QRoynRRs9uJVHQQmleyIGhkF+Q2ocI1aAnb/Ykc?=
 =?us-ascii?Q?DvHqWzegwarw9Kc+zm3shTcK1TUuV2isQr6gGOIHTAdA5evZ5I2/eXVtjROn?=
 =?us-ascii?Q?jq9Jd1UoZOnnnwdTbu3TXbGppEt7sF5Kh3u4vuBNrOFAmHNj3nhjR9+lZvT9?=
 =?us-ascii?Q?wMoitP0Zp5b6VKxj9xuFtbyvtoZCVwjrtNwOZdh3V7oIliTQe248KQOMrbwT?=
 =?us-ascii?Q?YcTnKlitV0ytfZnQEyqpzsChNPbvgkbIJSOLUhgqjhXldxLjWsw1r6xh7pXm?=
 =?us-ascii?Q?0KMbxfUJgMmtyXYRvbrbOrEv+6pb0CJBy5cxEU1fMtHJhFdPZAeuRA+tt0LU?=
 =?us-ascii?Q?tilbkfT5y+616RD3JVg5ahXzRIrTjov/PQEvdM4bgJ3AlinqAl6jMyhxIGvt?=
 =?us-ascii?Q?QGGC5WmicMQ8g6J0Nllabziuk0fMy65B/r/naDT4VHnSetVz4G+vy9FLQ5rg?=
 =?us-ascii?Q?1gbOZ842vzjxfJOXJhbS4d0Oaka9wlVsbYQnJAirDm5tA8aGMYt1+YRKkEWN?=
 =?us-ascii?Q?Co4En2pNlqdKry/ijkeRtzbFbHhq/IEHzMPVB2swIvsGeKjWN2oMC9jdTxKq?=
 =?us-ascii?Q?SRgy1NvzjfTNp4KCaNFrCoVNKfAfpwwLnPvwCK5gqJVD6Rhfk69VY2+2TstS?=
 =?us-ascii?Q?mpF8JRpUfnwBpdb9KiNstpuPRMBejkNoknwNU8KhTG0lXExiISo3qzl4hbwg?=
 =?us-ascii?Q?j/A6Ph8c3Apbe1xnq5xpyWrKLXpKVk70c0zw5Cti01Cwv60vgzLOml65qYYo?=
 =?us-ascii?Q?JfTdtgf7Pjx824F0qqtYAUDcDkyaLwCs7kJ7iVqsFwmxeJOf78BbvohXtaX/?=
 =?us-ascii?Q?m77QS5QKaJaCKYcEewnk71M/3iAse7GjkBAYNMmSNWr2NAc/4xMKlBnDhQc2?=
 =?us-ascii?Q?YpmQqwUnS9ZinRJ/fm1tOvWMTINyOzjYi7+dEhK/uyToStl00jgGAEH+x28M?=
 =?us-ascii?Q?bHL8TnwGCe187i7gcZlIyCwyHQfA1semFwAWc5iagUtuNnO7AYiG2fRRznFM?=
 =?us-ascii?Q?mfh9+DQghvONcjmOiHbQGaNzSen5tItee4YknPI1im7I4atCZWebWb0it96J?=
 =?us-ascii?Q?Pmut3bfStCf9VtmGKf1JnQjkOWq8re3RCFdB9LdExKYbpiKPiVhPnzeMyzcv?=
 =?us-ascii?Q?373fqLC6k7broKdiAKTLwvq0EZhyHCHDNJuu0IAWu03krBeV5h0YFTQa9eAc?=
 =?us-ascii?Q?z4RF3Hx0HOZQ9w6dTXWptRLKIyCZmwbVDDRGxFmuBSc2Hw/RsfLc8uPcIyOi?=
 =?us-ascii?Q?s1rzRTu/w+I7N6keUbisRby/Bzz59hN75YlZ6DzUkDN0UgXw5g15L3E2P9fN?=
 =?us-ascii?Q?Jn64pthDO3Dx7aP9cFC1EaiBQD5y?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(376005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 03:15:10.7131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f0f1c8d0-ff76-40eb-4c39-08dc659f1516
X-MS-Exchange-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:
	CH2PEPF0000009E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6442

There are use cases (for example using the PV driver) in Dom0less
setup that require Dom0less DomUs start immediately with Dom0, but
initialize XenStore later after Dom0's successful boot and call to
the init-dom0less application.

An error message can seen from the init-dom0less application on
1:1 direct-mapped domains:
```
Allocating magic pages
memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
Error on alloc magic pages
```
This is because currently the magic pages for Dom0less DomUs are
populated by the init-dom0less app through populate_physmap(), and
populate_physmap() automatically assumes gfn == mfn for 1:1 direct
mapped domains. This cannot be true for the magic pages that are
allocated later from the init-dom0less application executed in Dom0.
For domain using statically allocated memory but not 1:1 direct-mapped,
similar error "failed to retrieve a reserved page" can be seen as the
reserved memory list is empty at that time.

To solve above issue, this commit allocates the magic pages for
Dom0less DomUs at the domain construction time. The base address/PFN
of the magic page region will be noted and communicated to the
init-dom0less application in Dom0.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Suggested-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/libs/guest/xg_dom_arm.c |  1 -
 xen/arch/arm/dom0less-build.c | 22 ++++++++++++++++++++++
 xen/include/public/arch-arm.h |  1 +
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index 2fd8ee7ad4..8cc7f27dbb 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -25,7 +25,6 @@
 
 #include "xg_private.h"
 
-#define NR_MAGIC_PAGES 4
 #define CONSOLE_PFN_OFFSET 0
 #define XENSTORE_PFN_OFFSET 1
 #define MEMACCESS_PFN_OFFSET 2
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index fb63ec6fd1..40dc85c759 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -834,11 +834,33 @@ static int __init construct_domU(struct domain *d,
 
     if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
     {
+        struct page_info *magic_pg;
+        mfn_t mfn;
+        gfn_t gfn;
+
         ASSERT(hardware_domain);
         rc = alloc_xenstore_evtchn(d);
         if ( rc < 0 )
             return rc;
         d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+
+        d->max_pages += NR_MAGIC_PAGES;
+        magic_pg = alloc_domheap_pages(d, get_order_from_pages(NR_MAGIC_PAGES), 0);
+        if ( magic_pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(magic_pg);
+        if ( !is_domain_direct_mapped(d) )
+            gfn = gaddr_to_gfn(GUEST_MAGIC_BASE);
+        else
+            gfn = gaddr_to_gfn(mfn_to_maddr(mfn));
+
+        rc = guest_physmap_add_pages(d, gfn, mfn, NR_MAGIC_PAGES);
+        if ( rc )
+        {
+            free_domheap_pages(magic_pg, get_order_from_pages(NR_MAGIC_PAGES));
+            return rc;
+        }
     }
 
     return rc;
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e167e14f8d..f24e7bbe37 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -475,6 +475,7 @@ typedef uint64_t xen_callback_t;
 
 #define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
 #define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)
+#define NR_MAGIC_PAGES 4
 
 #define GUEST_RAM_BANKS   2
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 03:15:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 03:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712374.1113043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0C3a-0007G6-Ra; Fri, 26 Apr 2024 03:15:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712374.1113043; Fri, 26 Apr 2024 03:15: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 1s0C3a-0007Fz-Ny; Fri, 26 Apr 2024 03:15:26 +0000
Received: by outflank-mailman (input) for mailman id 712374;
 Fri, 26 Apr 2024 03:15: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=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0C3Z-0006yc-UR
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 03:15:25 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2417::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3967c6c0-037b-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 05:15:25 +0200 (CEST)
Received: from DM6PR02CA0045.namprd02.prod.outlook.com (2603:10b6:5:177::22)
 by CY5PR12MB6525.namprd12.prod.outlook.com (2603:10b6:930:32::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 03:15:22 +0000
Received: from DS1PEPF00017093.namprd03.prod.outlook.com
 (2603:10b6:5:177:cafe::2d) by DM6PR02CA0045.outlook.office365.com
 (2603:10b6:5:177::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.27 via Frontend
 Transport; Fri, 26 Apr 2024 03:15:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF00017093.mail.protection.outlook.com (10.167.17.136) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 03:15:22 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 25 Apr
 2024 22:15:21 -0500
Received: from henry-MS-7D54.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Thu, 25 Apr 2024 22:15: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: 3967c6c0-037b-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f6JQJ5tb/wzo7lju7iSH21rYKMSURdjryZq7gdDAnlcb5loNEVtHMKlzsEyN3z5M9Z+CtcAxqvrvCUFIDBCMs4/lxmJpZRe7ur9sB4AvhM4CUG0+csPPUSDWVsy82dcgNtvhMJn+4nPtcfr+azyVr9nNWzX6Pcq16hiIytY2Vds4oTyvhwJ7qrnMh6kw/WqBqt7VfU66sQqqyg0MEgLqP7MnTNBHXAjZOIM16/Py+GjNIejZYGTVjC1I7+bq2e1GH/gTU1Agj2IbBVAVHh0FTq8bq0GUErkVEXqrbLZgMEPJi1gUYTekL7OPmoKHKGJugCp8YWR5zzndYLaS1unYvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U9NhlDanGQKebTLZq79LUOppo21Q/6jmY2OxbeF0g1k=;
 b=oNVD4r+MyPJKts8Ltr1lPnwlhF2CE43KB0W3i5hSXeRPaM2bSujsTSRj/ZZocoB0ChwoAh5zLCfBlQU9Y20hORLbO8cSelDegrbbUKmkgW9bC5i6F/IrQ05IwDPvxaF64XiFro2etz2SfAud/IJf+XmaDPSCaTN7jSUUNQBdwQVYaGHPmwfYyIYqt0tZCwrllvDtLoZJ36HJukaDbqwqrgVw4utLY5Gwh+QBbLk6Lna/kcKuMRKRf01XaFcEuL08SPKnCEf6wKAoF6/lJtJTqSgc0GflGK+atnZZJniiCqUoRwfHfhro3iMwiyj5UUKBcb9+84R3tccgnVxheV7xOw==
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=U9NhlDanGQKebTLZq79LUOppo21Q/6jmY2OxbeF0g1k=;
 b=PNfZP+70Pb8zycoYAUUVs7U7zyhxIx/FgFeNfyiB6m4ueziSZGrrh3KOqfcL2D5YVKfbE9Xht73M2SqR+UTxHKDxi47RKhHMrGOkstAwry+zuY8TetUZ0HhEJVryyEWJqUSs0E9NrlOyVidW6UmU7khI+BecmbZwvmpI8Bg8GeA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: Henry Wang <xin.wang2@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Henry Wang <xin.wang2@amd.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Alec Kwapis <alec.kwapis@medtronic.com>
Subject: [PATCH 3/3] tools/init-dom0less: Avoid hardcoding GUEST_MAGIC_BASE
Date: Fri, 26 Apr 2024 11:14:55 +0800
Message-ID: <20240426031455.579637-4-xin.wang2@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426031455.579637-1-xin.wang2@amd.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017093:EE_|CY5PR12MB6525:EE_
X-MS-Office365-Filtering-Correlation-Id: a7f967ab-7afa-42b1-637e-08dc659f1bd6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+JpSYwXogpkByo6s6Bk9UC+I7nOv7+wtbqnsHPoHC9B0BqF50UpV/nK0p7QS?=
 =?us-ascii?Q?xMhYB0o0E4ZOqR7mUmOirRi+Ch5FlzJsmvkAtuiQrN0TRM1H8a1IVjcSuCWL?=
 =?us-ascii?Q?nYrJdowrhlcsMHp9mhXdN9+WtMtq1PwutTp/oo7eCOaVsc7TtZnXvH64FpcL?=
 =?us-ascii?Q?JDw/ClLAuuHLfBuFCEjw/ogPHycEOWruy7R0NorTUVkaEfFhySqzs3wZFOVa?=
 =?us-ascii?Q?/IAlpbXio974KlCXr6RFpuIzynYCfg/Z5DEVqYflJQzazJVrPIkt/KXhA0Ej?=
 =?us-ascii?Q?VrH11TkHepKd+ytze0P4KxMejZ05uObPiILvbv5VVmCME2z1jwBkTECjLfF2?=
 =?us-ascii?Q?q8hjgFoY5W1Q1zYFasoCDzkkNIy3ztGEp4yGsRK6kWpV4j7s76sn2VNJpDmS?=
 =?us-ascii?Q?HZkL8i5YCsYom90ROYahmmPVDn/B/SY73ZtylBpgusIJqId5CLJE72AVAL/+?=
 =?us-ascii?Q?f+A75Cx1zJShOoYnXPuwtJjqGU6SF9Sk3LSsFUZ+Bqeg+vKFB5ikbL7rWJf4?=
 =?us-ascii?Q?bEyfVNY+hCnOTV6DFKW+zIX3+DGMS6/SPcAGpjLAIAMRAU3VWiK+HigE9cgq?=
 =?us-ascii?Q?Z4LFaFLtHJSAUFCaiCqUJyyK65xCrXQWk3LW7r51dr3csNzhDkEiQlLaG7U+?=
 =?us-ascii?Q?53RZoKGEBdP9JKSHXGOS+U1E+fqc7UaABSG1vKBGr9ExgN8eLlhsqnHa9ixf?=
 =?us-ascii?Q?E/6t7xlGTiqwle83Nd1jbnlDc41iQqMIwAgQADESNCmkMDIl4FRChQmCnEID?=
 =?us-ascii?Q?ipn/H2cSDNUrGhlq+yr4flssRHwiYlJN8o+zHOTz6GTwQEcM3UKSSDTAjDDI?=
 =?us-ascii?Q?k8u4+o4TA1AmSAbkXHZPMHJbUWm2tEjtxvJdEkdHppzxMo7RRAETav+cSJvM?=
 =?us-ascii?Q?pG+t3RRgNXw9s4pBgMHz4IIw9Kv8KLBsDLvNrdE7zu0vrtqDnkXyBYVRlWx9?=
 =?us-ascii?Q?HVPJ+INdq8uiHK4BsKBlr3kZ74GDNbvbqUfcr3aBf/EbCNb63iC/u4QMJQzw?=
 =?us-ascii?Q?6HtnjTHRGobrERXBEsNGpBBTV0BWpEqhbhWGzZdCVw0PwCWB+8RjhS3Lpo33?=
 =?us-ascii?Q?ry/TMlfQzSNKozhFIkGE6hT38UrSIGGdIpFl+IERzXrNFJhKycZMv8h4ffQG?=
 =?us-ascii?Q?xUTTEY9r0PpsHreIYZiYWvnL3Ie1hdHGMpzCxbps2t7V6IoFj8PScOePcXrx?=
 =?us-ascii?Q?U3TXQHWFBAr8Z0VQuHAnL9vOW4YrVb2kTeEQ4VxCIxqMTD4L0WmC9ZVzZCWf?=
 =?us-ascii?Q?MBNsmwBFQrmOCp68+zk2Jg1WGyY1OUxjY7N/Ew6mDW/MLSKE6GiQ00zq+vhZ?=
 =?us-ascii?Q?MWcZ+9Fvu9g9XL1bGSHqleOWlfmrJLi7wibb3fQnIyXmc7RDJixpbMBLjoVN?=
 =?us-ascii?Q?a85vdQWnLSOmMLNnGXslwwAoAxcY?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(36860700004)(376005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 03:15:22.0227
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a7f967ab-7afa-42b1-637e-08dc659f1bd6
X-MS-Exchange-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:
	DS1PEPF00017093.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6525

Currently the GUEST_MAGIC_BASE in the init-dom0less application is
hardcoded, which will lead to failures for 1:1 direct-mapped Dom0less
DomUs.

Since the guest magic region is now allocated from the hypervisor,
instead of hardcoding the guest magic pages region, use
xc_hvm_param_get() to get the guest magic region PFN, and based on
that the XenStore PFN can be calculated. Also, we don't need to set
the max mem anymore, so drop the call to xc_domain_setmaxmem(). Rename
the alloc_xs_page() to get_xs_page() to reflect the changes.

Take the opportunity to do some coding style improvements when possible.

Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
Signed-off-by: Henry Wang <xin.wang2@amd.com>
---
 tools/helpers/init-dom0less.c | 38 +++++++++++++++--------------------
 1 file changed, 16 insertions(+), 22 deletions(-)

diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index fee93459c4..7f6953a818 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -19,24 +19,20 @@
 #define XENSTORE_PFN_OFFSET 1
 #define STR_MAX_LENGTH 128
 
-static int alloc_xs_page(struct xc_interface_core *xch,
-                         libxl_dominfo *info,
-                         uint64_t *xenstore_pfn)
+static int get_xs_page(struct xc_interface_core *xch, libxl_dominfo *info,
+                       uint64_t *xenstore_pfn)
 {
     int rc;
-    const xen_pfn_t base = GUEST_MAGIC_BASE >> XC_PAGE_SHIFT;
-    xen_pfn_t p2m = (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET;
+    xen_pfn_t magic_base_pfn;
 
-    rc = xc_domain_setmaxmem(xch, info->domid,
-                             info->max_memkb + (XC_PAGE_SIZE/1024));
-    if (rc < 0)
-        return rc;
-
-    rc = xc_domain_populate_physmap_exact(xch, info->domid, 1, 0, 0, &p2m);
-    if (rc < 0)
-        return rc;
+    rc = xc_hvm_param_get(xch, info->domid, HVM_PARAM_MAGIC_BASE_PFN,
+                          &magic_base_pfn);
+    if (rc < 0) {
+        printf("Failed to get HVM_PARAM_MAGIC_BASE_PFN\n");
+        return 1;
+    }
 
-    *xenstore_pfn = base + XENSTORE_PFN_OFFSET;
+    *xenstore_pfn = magic_base_pfn + XENSTORE_PFN_OFFSET;
     rc = xc_clear_domain_page(xch, info->domid, *xenstore_pfn);
     if (rc < 0)
         return rc;
@@ -100,6 +96,7 @@ static bool do_xs_write_vm(struct xs_handle *xsh, xs_transaction_t t,
  */
 static int create_xenstore(struct xs_handle *xsh,
                            libxl_dominfo *info, libxl_uuid uuid,
+                           xen_pfn_t xenstore_pfn,
                            evtchn_port_t xenstore_port)
 {
     domid_t domid;
@@ -145,8 +142,7 @@ static int create_xenstore(struct xs_handle *xsh,
     rc = snprintf(target_memkb_str, STR_MAX_LENGTH, "%"PRIu64, info->current_memkb);
     if (rc < 0 || rc >= STR_MAX_LENGTH)
         return rc;
-    rc = snprintf(ring_ref_str, STR_MAX_LENGTH, "%lld",
-                  (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET);
+    rc = snprintf(ring_ref_str, STR_MAX_LENGTH, "%"PRIu_xen_pfn, xenstore_pfn);
     if (rc < 0 || rc >= STR_MAX_LENGTH)
         return rc;
     rc = snprintf(xenstore_port_str, STR_MAX_LENGTH, "%u", xenstore_port);
@@ -245,8 +241,8 @@ static int init_domain(struct xs_handle *xsh,
     if (!xenstore_evtchn)
         return 0;
 
-    /* Alloc xenstore page */
-    if (alloc_xs_page(xch, info, &xenstore_pfn) != 0) {
+    /* Get xenstore page */
+    if (get_xs_page(xch, info, &xenstore_pfn) != 0) {
         printf("Error on alloc magic pages\n");
         return 1;
     }
@@ -278,13 +274,11 @@ static int init_domain(struct xs_handle *xsh,
     if (rc < 0)
         return rc;
 
-    rc = create_xenstore(xsh, info, uuid, xenstore_evtchn);
+    rc = create_xenstore(xsh, info, uuid, xenstore_pfn, xenstore_evtchn);
     if (rc)
         err(1, "writing to xenstore");
 
-    rc = xs_introduce_domain(xsh, info->domid,
-            (GUEST_MAGIC_BASE >> XC_PAGE_SHIFT) + XENSTORE_PFN_OFFSET,
-            xenstore_evtchn);
+    rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn, xenstore_evtchn);
     if (!rc)
         err(1, "xs_introduce_domain");
     return 0;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 04:57:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 04:57:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712394.1113053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0De5-0007kF-26; Fri, 26 Apr 2024 04:57:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712394.1113053; Fri, 26 Apr 2024 04:57:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0De4-0007k8-V6; Fri, 26 Apr 2024 04:57:12 +0000
Received: by outflank-mailman (input) for mailman id 712394;
 Fri, 26 Apr 2024 04:57: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 1s0De4-0007jy-AV; Fri, 26 Apr 2024 04:57: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 1s0De4-0005c0-1X; Fri, 26 Apr 2024 04:57: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 1s0De3-0002FS-OK; Fri, 26 Apr 2024 04:57:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0De3-0001MW-Ng; Fri, 26 Apr 2024 04:57: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=GDOZV1BcPVCFodKcqgP2EuV6mfhqdTjBNoAIyaeAgRM=; b=yw6lqRAp6awjkqomYq510wyl8H
	FYsSvXIgJhVPro004E385CP7H9voP+YitKazHEv2AgcLCEcrn4z/RX7wvRGeh3p5cP9hQxgPoZgTx
	LfYU2v1uJ0C7Ad9Mb98pUhq/1lBJwYaWOBoW1Yw9XQh5TW4+vk74Q0lkJJZxs1v2IYcU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185803-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185803: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c0dfe3ec1f364dbdaf6b241e01343e560b21dd03
X-Osstest-Versions-That:
    ovmf=66c24219ade92b85b24f3ce29b988d187a9f6517
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 04:57:11 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c0dfe3ec1f364dbdaf6b241e01343e560b21dd03
baseline version:
 ovmf                 66c24219ade92b85b24f3ce29b988d187a9f6517

Last test of basis   185792  2024-04-25 01:43:46 Z    1 days
Testing same since   185803  2024-04-26 03:11:18 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
   66c24219ad..c0dfe3ec1f  c0dfe3ec1f364dbdaf6b241e01343e560b21dd03 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 05:23:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 05:23:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712402.1113063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0E30-0003vt-2G; Fri, 26 Apr 2024 05:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712402.1113063; Fri, 26 Apr 2024 05:22:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0E2z-0003vm-VK; Fri, 26 Apr 2024 05:22:57 +0000
Received: by outflank-mailman (input) for mailman id 712402;
 Fri, 26 Apr 2024 05:22:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0E2z-0003vg-9q
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 05:22:57 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20600.outbound.protection.outlook.com
 [2a01:111:f403:240a::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08ce4240-038d-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 07:22:54 +0200 (CEST)
Received: from MN2PR20CA0061.namprd20.prod.outlook.com (2603:10b6:208:235::30)
 by MW4PR12MB5602.namprd12.prod.outlook.com (2603:10b6:303:169::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 05:22:50 +0000
Received: from BL6PEPF0001AB4F.namprd04.prod.outlook.com
 (2603:10b6:208:235:cafe::33) by MN2PR20CA0061.outlook.office365.com
 (2603:10b6:208:235::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Fri, 26 Apr 2024 05:22:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB4F.mail.protection.outlook.com (10.167.242.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 05:22:50 +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.35; Fri, 26 Apr
 2024 00:22:50 -0500
Received: from [172.31.100.92] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Fri, 26 Apr 2024 00:22:47 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08ce4240-038d-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HYC6MU45rgYhWaaeQbl3aYprubnLAtuYb7YujmFjiX3FN/UOpM76W8HUEMoQUJPkdoyA3b5Hpei/p2coO65poDElnTvjCqsYalkXV2LOC0Xps8VAQCq5VA89ofuGM/9crNFHp3wIAL11EDdool2P8LB72taHHSfQZjqM15bNZ1qRFMyDFZYOwFmk5nNbSqQN3Gh2SiKq7uTazvNVHDoDvV7L404qKTMqN/lnsxlSt6gXdyeiqGDEs1r66qZer6bY1ftId1L+PJBFfo9Vd0+COA6aY7uO2fi9nVEvMGNioxWgUZbPVaePIKkJ6dSiA32USqf5mMb/f6J01uPO+UtaHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6vytwGUy1hKWudBKRSbCfWm3aCFgq/b6/j8kTZ5XFk8=;
 b=a9KpNPj5STlfvRX5VK7Vf9bICxj6o5Zw2X/27yY+zLdZ1yve1sB/E+RpuUiCwJLU7wdTrqhP0WiuNEhji3gqxKhRayaUmFUM4clkBbBjYVXY7pZE2gr8F23itnAYjUjmXHQnkOv/H3spiZEKgIqbghcaU76Kuvl/9mLKKkc1P3A6RLxf8xjjmEEzuS5UtafxMro4zC2QlL59f2uiH3KLkHCN3tPdH++LvWYLcvoyfk/7mvqxobPJE5Ex3t0+IjlSox/+kpNIJJkuH3KdVCPmJvo/irFrd9dRJpyhufUA8qR2JS/ZqLzHFDBYC9PV8MPVvRpX5wbz9f70rrWGLAXCog==
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=6vytwGUy1hKWudBKRSbCfWm3aCFgq/b6/j8kTZ5XFk8=;
 b=XHNWsh0JCOBvT6WZqSHwYEReWCUBMFLXBGedIW6YcVmxvkHyWwrENM+RbZQs0CN/PtrvhXJQ4WTK8j+Fzd8/3G3l3fi5Dgy9kWB1AtGwn9vw80AcNDASo8H7xqdzoRNdW2JMU8dAG1WVyLJtATjXW2CFerumGR0LgV2UGFj9Eqs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <76b3d5ad-3b08-4d9b-8c51-6386888ad2f5@amd.com>
Date: Fri, 26 Apr 2024 13:22:41 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/5] DOMCTL-based guest magic region allocation for 11
 domUs
To: Stefano Stabellini <sstabellini@kernel.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
CC: <xen-devel@lists.xenproject.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20240409045357.236802-1-xin.wang2@amd.com>
 <c7857223-eab8-409a-b618-6ec70f6165aa@apertussolutions.com>
 <alpine.DEB.2.22.394.2404251508470.3940@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2404251508470.3940@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB4F:EE_|MW4PR12MB5602:EE_
X-MS-Office365-Filtering-Correlation-Id: ae4ace24-0dbb-4ca3-5285-08dc65b0eaba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MllQVDNrUUFnR090MjJhWWFuTk13R0J2VGVoSG1FVU51U01kUlhrcDRYYjFR?=
 =?utf-8?B?a2VJREhtK052Qm9Pb1FGaDh6MUlJZDdJN05IM0RDazAxeEpHVUVZQ2ltNkJI?=
 =?utf-8?B?VkkrVUdrbGUvakswbEtmV3hSUzdJbXorL1crQ3VpMk9zRiswVkNrNHdpOEVL?=
 =?utf-8?B?MGFjOE5BTExjL0xSb1Z3Wk1FRjVoWGZETThMQktJa1NpOXVjcUY5bVNIeVla?=
 =?utf-8?B?SmJCQm9KS1JiODdSSDV3OEViY00yV1E3a0lQeDIxTURnc0c4aGpOOW53NVpP?=
 =?utf-8?B?dVFIN3k4blJUYXBSSytqZ0JUR0dCWjJZdGtjVmZLdHpNb3RoQ05hUDByem8z?=
 =?utf-8?B?MkltV01aVG5jTGcwL3F4eGxKUWJCYmdNSlZGNy9ZamdoOU9lMmFMeStndy9D?=
 =?utf-8?B?eHg5MVlwU2tYRlNBSlF0L281c0dENTk4OS9NNjR5ZEZ4NFYzSnFmVTJERlVC?=
 =?utf-8?B?Y2tlSjZUNHZTTEhYcUYxanpmYWZ0N0I5WStTaGVkb0FUS2ZkNjlMSUQrMTZo?=
 =?utf-8?B?RFlMcm1YNGZnR0E5V2NuSC9iU3FHSWJqa1FOWVVwRm9GbTlydFlwVEo3K3Fw?=
 =?utf-8?B?YS9zd3FudExwUURlZlhkV2JIc0JQVlFGV3hBeVRjSjB2M0JvcHIzc3Y3djh2?=
 =?utf-8?B?a05SU09qL3VOZDNTY0FKbkl1SGc2a0xJZXltL0ZHY3NubmVxRmJXL0ZJL2xO?=
 =?utf-8?B?QkRhdm1mb1VWUTNXZVdWYzhBUWMzMUhnTFlHN05hVVNLSW52bzZQemgxVUhP?=
 =?utf-8?B?M2JkN1BGTzBRdm93VmZzRDFiNTJvN1lBQS9yQXF3akxnY1d4eEppaWExczdv?=
 =?utf-8?B?QkVoM094V3Y1N3F2Ykk0SU9MYk50aXNqcW9ZOWVnVkxqQWNlRCtlSUJZcnQ3?=
 =?utf-8?B?Q3hPQ29jbm11cjJsQUJ0cUl5SGgyc282TzhTVFdLeTY0UXZ4Y2lMYVRVZWFu?=
 =?utf-8?B?TEFxWWpxWGdSUEJ3bGpDeHZFenlNTjl2R2dsb3A2RDNKaDJUTGRLdjJVQzE2?=
 =?utf-8?B?TStOcWRHTzBxWFRyY096TVkrd2ZKRmhLQ0ZVUUFhSnk3YVpIeHJPTUR5M2ls?=
 =?utf-8?B?clJEMGtpMUF6MExKbTJ1N2ZFaXpxcFpGazFObXgxaWdaaXRCV20vaHZYMUhC?=
 =?utf-8?B?Q1p6ckc4aHkzbUxWbXZYTFdFU0NjTXZONzE0azFWQzJEZzRjbGNhRksvOENI?=
 =?utf-8?B?UTdZeHByNkRJQUVEY001UGR3alZjbnNuQnVVWjVFVFFMZGY4ZWM2ZDVheG5Z?=
 =?utf-8?B?VWR2TWRYTVJxZlJQcGNZQ3lEQ2hwZWJaZkNvcXpwcVhmanR5aG9zR3NDNW5U?=
 =?utf-8?B?ME84SlNIRkJBNVpJY3kzWnBxU0psaTNYOHRwaks3ZC9md1RVVUpSajNSTUN5?=
 =?utf-8?B?UUp2TlY2WldIeHZqaEdWOFllN3lyYWhvOUprRHZSQmExV3FoNjVkUUc2MU1u?=
 =?utf-8?B?akJpUmZZK2RicjIzU3U5eG4rRmhuQ3hmK3NFNTNrdVNYbjBlL0xsbU5uZGhL?=
 =?utf-8?B?UjgzcjdmamgxaEw0MVlGRnVvU2VLZWNvdGxBS2tkUTFIbDV6MG84WU1FZGRU?=
 =?utf-8?B?bmJ2cFRrcEdiRS9ZOXd5N3JCRS96TzdTSmlrRk8zVSt4WEw1dnlBRHlHcHlP?=
 =?utf-8?B?ckYycmtXS05xaDBScTlaQWlTZXhXRXIvb1lJeXlEZ0s4QlYxMVZzUElmRzRZ?=
 =?utf-8?B?NGozUGptVDgxWlozSTJ5Y0xZcTZUYktmdE5MaUgyRVhyQjR1SzRWZFBXK0Ju?=
 =?utf-8?B?aHRwQkNGZWRYNllObml4NENCOVh0VXNDbTI0L1dMRGo5eHp0QndRc0NtVUQ5?=
 =?utf-8?B?Zk9oTWkwZnVGQ0ZhMlFmTUp6Tko1cXlTNVdnZm92ZldZWmc3aFVvWkF5SElQ?=
 =?utf-8?Q?6K2U1F7sPGKrJ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(7416005)(376005)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 05:22:50.6184
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ae4ace24-0dbb-4ca3-5285-08dc65b0eaba
X-MS-Exchange-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:
	BL6PEPF0001AB4F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5602

Hi Stefano, Daniel,

On 4/26/2024 6:18 AM, Stefano Stabellini wrote:
> On Thu, 18 Apr 2024, Daniel P. Smith wrote:
>> On 4/9/24 00:53, Henry Wang wrote:
>>> An error message can seen from the init-dom0less application on
>>> direct-mapped 1:1 domains:
>>> ```
>>> Allocating magic pages
>>> memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
>>> Error on alloc magic pages
>>> ```
>>>
>>> This is because populate_physmap() automatically assumes gfn == mfn
>>> for direct mapped domains. This cannot be true for the magic pages
>>> that are allocated later for 1:1 Dom0less DomUs from the init-dom0less
>>> helper application executed in Dom0. For domain using statically
>>> allocated memory but not 1:1 direct-mapped, similar error "failed to
>>> retrieve a reserved page" can be seen as the reserved memory list
>>> is empty at that time.
>>>
>>> This series tries to fix this issue using a DOMCTL-based approach,
>>> because for 1:1 direct-mapped domUs, we need to avoid the RAM regions
>>> and inform the toolstack about the region found by hypervisor for
>>> mapping the magic pages. Patch 1 introduced a new DOMCTL to get the
>>> guest memory map, currently only used for the magic page regions.
>>> Patch 2 generalized the extended region finding logic so that it can
>>> be reused for other use cases such as finding 1:1 domU magic regions.
>>> Patch 3 uses the same approach as finding the extended regions to find
>>> the guest magic page regions for direct-mapped DomUs. Patch 4 avoids
>>> hardcoding all base addresses of guest magic region in the init-dom0less
>>> application by consuming the newly introduced DOMCTL. Patch 5 is a
>>> simple patch to do some code duplication clean-up in xc.
>> Hey Henry,
>>
>> To help provide some perspective, these issues are not experienced with
>> hyperlaunch. This is because we understood early on that you cannot move a
>> lightweight version of the toolstack into hypervisor init and not provide a
>> mechanism to communicate what it did to the runtime control plane. We
>> evaluated the possible mechanism, to include introducing a new hypercall op,
>> and ultimately settled on using hypfs. The primary reason is this information
>> is static data that, while informative later, is only necessary for the
>> control plane to understand the state of the system. As a result, hyperlaunch
>> is able to allocate any and all special pages required as part of domain
>> construction and communicate their addresses to the control plane. As for XSM,
>> hypfs is already protected and at this time we do not see any domain builder
>> information needing to be restricted separately from the data already present
>> in hypfs.
>>
>> I would like to make the suggestion that instead of continuing down this path,
>> perhaps you might consider adopting the hyperlaunch usage of hypfs. Then
>> adjust dom0less domain construction to allocate the special pages at
>> construction time. The original hyperlaunch series includes a patch that
>> provides the helper app for the xenstore announcement. And I can provide you
>> with updated versions if that would be helpful.
> I also think that the new domctl is not needed and that the dom0less
> domain builder should allocate the magic pages.

Yes this is indeed much better. Thanks Daniel for suggesting this.

> On ARM, we already
> allocate HVM_PARAM_CALLBACK_IRQ during dom0less domain build and set
> HVM_PARAM_STORE_PFN to ~0ULL. I think it would be only natural to extend
> that code to also allocate the magic pages and set HVM_PARAM_STORE_PFN
> (and others) correctly. If we do it that way it is simpler and
> consistent with the HVM_PARAM_CALLBACK_IRQ allocation, and we don't even
> need hypfs. Currently we do not enable hypfs in our safety
> certifiability configuration.

It is indeed very important to consider the safety certification (which 
I completely missed). Therefore I've sent an updated version based on 
HVMOP [1]. In the future we can switch to hypfs if needed.

[1] 
https://lore.kernel.org/xen-devel/20240426031455.579637-1-xin.wang2@amd.com/

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 05:55:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 05:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712407.1113073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0EYY-0000WI-F0; Fri, 26 Apr 2024 05:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712407.1113073; Fri, 26 Apr 2024 05: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 1s0EYY-0000WB-C5; Fri, 26 Apr 2024 05:55:34 +0000
Received: by outflank-mailman (input) for mailman id 712407;
 Fri, 26 Apr 2024 05:55:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0EYX-0000W5-9l
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 05:55: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 975478bf-0391-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 07:55:31 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a5557e3ebcaso295925166b.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 22:55: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
 k25-20020a1709062a5900b00a55a06d7744sm7238466eje.73.2024.04.25.22.55.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 22: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: 975478bf-0391-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714110931; x=1714715731; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WAgsY00KinfdZOjqg+rOLxPB3kGEo9FqFWsjiAlSL7g=;
        b=K/V6f6YrPTOjfz/HE0dnJwGDfazKQ3lJ+ZtFSODhddOlmTzdmQy9LckatmBlYx9Cmc
         b5+hBUB0asme5+QVOwzOF4/6zir75UYQs74KvRXAMxe/yA+yhomdwH7273oTWjq3kE4d
         pZ3/7gavVthjWtRAijy0GCYjcP9KGWNbaptNT8C7YiXG/NYlYBOWnDNvAuwT/opFnGB9
         p4g1xFFaDCR/hFEhN10QPAPZ0uopEgccarj83lIFv7T0SB+I0roGgoDrXx+SJkKkhCQW
         lIxSq7FYZAPqmvMVnJL35QxuILIIAtQbRl6J863VKMzNWi+nBxI3+ouFNJrgDeyeCKsu
         k7WA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714110931; x=1714715731;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WAgsY00KinfdZOjqg+rOLxPB3kGEo9FqFWsjiAlSL7g=;
        b=PP5f0+eFFQYgRHKB/fyyqGBECXmFEMOYIrKQu9KnKSxXsPdmolZud8FwcourXvsq1d
         I5VmWsJ1B+ShMzsG5IjHXpsVqcgadiq6cVKlEiZC1uTbie2udt6bIkyTQgam5/NsrVuP
         srthbcmQ1JXmiAu5dNtK5pbxwbm57hD1J0Rg6dzaJw47Hf4gpbiwoqB1xDvKNgcKtxLT
         8UVm7Fi3j2W8e8xdVVF+egErixscLa9A/A4OEkFxK13U9/7mMWEPKZdlPx0X6XnMPp+V
         llSYZ6zhRHWRTvPirzVjJk/0izUAWxwNhHdziHR1q4ZOBNMOov/MOIrpPTpfg6M7BJnd
         nDwg==
X-Forwarded-Encrypted: i=1; AJvYcCU8h3EunzkCk3MO2LniY8KOjAba0XYx6kEYDfcH6Fjko4AGc+Hie8qW0BYQypn8N2VQXX1okG2IcU+07KgjKB+VuBlE7kIXTlTpD32a+uw=
X-Gm-Message-State: AOJu0YxO3vKMCB0qGj+q2f3iIV4KSNBuNN8IqOMjqObtZdcfHRfgBolE
	tIjqeD/IDUPG0c8iuR1Co2Y4zM35KpW68bjGtdQ27+E8OJ7wf1pu3ItfSZi1tA==
X-Google-Smtp-Source: AGHT+IFPRErMi/o9bfw9Uj/3zJSz/NzpWBo4aCI5gvPXlL5Lo6YJK9O/VTzyWuysW6A2/dQSuf6IMQ==
X-Received: by 2002:a17:906:ad5:b0:a55:75f7:42fb with SMTP id z21-20020a1709060ad500b00a5575f742fbmr4642923ejf.24.1714110931185;
        Thu, 25 Apr 2024 22:55:31 -0700 (PDT)
Message-ID: <42614bdf-0aaa-4bbe-aa0f-f9d54c1e10d1@suse.com>
Date: Fri, 26 Apr 2024 07:55:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/8] gzip: move bitbuffer into gunzip state
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-8-dpsmith@apertussolutions.com>
 <06b325c3-04a4-4294-85e1-a6d05019e3f0@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <06b325c3-04a4-4294-85e1-a6d05019e3f0@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.04.2024 21:23, Andrew Cooper wrote:
> On 24/04/2024 5:34 pm, Daniel P. Smith wrote:
>> --- a/xen/common/gzip/inflate.c
>> +++ b/xen/common/gzip/inflate.c
>> @@ -1017,8 +1014,8 @@ static int __init inflate(struct gunzip_state *s)
>>      /* Undo too much lookahead. The next read will be byte aligned so we
>>       * can discard unused bits in the last meaningful byte.
>>       */
>> -    while (bk >= 8) {
>> -        bk -= 8;
>> +    while (s->bk >= 8) {
>> +        s->bk -= 8;
>>          s->inptr--;
>>      }
> 
> Isn't it just me, but isn't this just:
> 
>     s->inptr -= (s->bk >> 3);
>     s->bk &= 7;
> 
> ?

I'd say yes, if only there wasn't the comment talking of just a single byte,
and even there supposedly some of the bits.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 05:57:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 05:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712410.1113082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Eab-00012o-QH; Fri, 26 Apr 2024 05:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712410.1113082; Fri, 26 Apr 2024 05:57:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Eab-00012h-My; Fri, 26 Apr 2024 05:57:41 +0000
Received: by outflank-mailman (input) for mailman id 712410;
 Fri, 26 Apr 2024 05:57: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=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0Eaa-00012b-F3
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 05:57:40 +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 e3900aa3-0391-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 07:57:39 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-51ca95db667so514155e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 22:57: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
 s16-20020a1709060c1000b00a560ee2db26sm5028674ejf.124.2024.04.25.22.57.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 22:57:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3900aa3-0391-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714111059; x=1714715859; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kpvzPvt/cvEVfafBw9a77e4DszJmZIpLs4Jzf1taytU=;
        b=cMMLuO5nWw5o2dKgsx76ERYOmctGomkKnBm4KKNeoV1Nw7LPXpq0LWHPqGSdRPzhep
         4YIWUyQQdNxNMha4lmWz2FBUjZExuUlSuTuS+V2Vh/RqvMmknWx15ESFPPsn8Q/g0lTx
         D+/Mb9sCFoIQZn4dRZIAd5hbLWafC5+sR96LXNMAmSJhZ4LuJH6mBsQJfZ9+Qb3soxJ2
         psDlJEhJQioQdGhvtCLpXUPT0f46a8pW+/xn5nBs0Vxl2pPpZRBMb7uU0bK74afhrX7r
         yiUkNra00e+M7aK0NtzLNx2RYFH/I0VC1CL3V1+jNyC3Oaka4EBCaGf4IeG/XbZp9SAS
         9RSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714111059; x=1714715859;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kpvzPvt/cvEVfafBw9a77e4DszJmZIpLs4Jzf1taytU=;
        b=TdhavBfyfDlz4uZDAKAv4Hozt0Z3ynmFxqcF3oJQD4jj1GKaipqgEGW2zrQGjFTbYI
         GmWnfeod0Np3nXfmUxCqmJ+WUATUFwh2Fy6YwER6ITAPTRHssdBTxp6rLEH/3lgURx60
         RYiiFDUmJPUMDoF/6g98UFgifOR3WuCInY3nbuy2cbixl2/67cBHDL1ptlhyRdUnHCs1
         Xc26LYhFjMoibp2OwJv9BAJfP3zy84V1TRzRFweZf6kVm0v4HmWWZO6Jn/d9hs7QBa71
         L9mEgL8kUpbB8oRPqGW91xceGXuTT77m4wioVdcb9Mk6QtA42eXwTvkai3v5KsJulOPB
         hRfw==
X-Forwarded-Encrypted: i=1; AJvYcCU4El3/fJ+bKvv16jZSxzS4n3g4VFa2YGDIS87banTzPknWe/MmkF0k0jTHCdfcaBdi1AkIGo2Dsayvfqb1Nv2RMraTbZp970Y//Ob8Mu0=
X-Gm-Message-State: AOJu0Yy1f78/8VI7fSssNTrTHBvz2cLaQ09MNel+u8+HzOxvOqHNryES
	7ovtgyNaJQ/i5v1umDesxuBMg73dB0XLFUpVHj3UsVsNUYG7VTfRkoBjc7GveHL2Bl6rw8W/SXo
	=
X-Google-Smtp-Source: AGHT+IGLU2/BJIZtXLtqt0MjhEVTZyeFCx5XWOrttMGGQGGVzIhA/nQzZtcLiAwngYzuQfkNOE8eYg==
X-Received: by 2002:a05:6512:ac1:b0:51c:cc1b:a8f6 with SMTP id n1-20020a0565120ac100b0051ccc1ba8f6mr274638lfu.20.1714111059008;
        Thu, 25 Apr 2024 22:57:39 -0700 (PDT)
Message-ID: <a0404716-7611-4b2f-9fd1-c16b109067b5@suse.com>
Date: Fri, 26 Apr 2024 07:57:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/8] gzip: move bitbuffer into gunzip state
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-8-dpsmith@apertussolutions.com>
 <06b325c3-04a4-4294-85e1-a6d05019e3f0@citrix.com>
 <42614bdf-0aaa-4bbe-aa0f-f9d54c1e10d1@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <42614bdf-0aaa-4bbe-aa0f-f9d54c1e10d1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 07:55, Jan Beulich wrote:
> On 25.04.2024 21:23, Andrew Cooper wrote:
>> On 24/04/2024 5:34 pm, Daniel P. Smith wrote:
>>> --- a/xen/common/gzip/inflate.c
>>> +++ b/xen/common/gzip/inflate.c
>>> @@ -1017,8 +1014,8 @@ static int __init inflate(struct gunzip_state *s)
>>>      /* Undo too much lookahead. The next read will be byte aligned so we
>>>       * can discard unused bits in the last meaningful byte.
>>>       */
>>> -    while (bk >= 8) {
>>> -        bk -= 8;
>>> +    while (s->bk >= 8) {
>>> +        s->bk -= 8;
>>>          s->inptr--;
>>>      }
>>
>> Isn't it just me, but isn't this just:
>>
>>     s->inptr -= (s->bk >> 3);
>>     s->bk &= 7;
>>
>> ?
> 
> I'd say yes, if only there wasn't the comment talking of just a single byte,
> and even there supposedly some of the bits.

Talking of the comment: Considering what patch 1 supposedly does, how come
that isn't Xen-style (yet)?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:02:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712416.1113093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0EfF-0002e9-G0; Fri, 26 Apr 2024 06:02:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712416.1113093; Fri, 26 Apr 2024 06: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 1s0EfF-0002e2-Cy; Fri, 26 Apr 2024 06:02:29 +0000
Received: by outflank-mailman (input) for mailman id 712416;
 Fri, 26 Apr 2024 06: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=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0EfE-0002dw-22
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:02:28 +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 8f00d4b8-0392-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 08:02:27 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a5200afe39eso195030566b.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:02: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
 b25-20020a17090630d900b00a5875b34b6asm4414335ejb.14.2024.04.25.23.02.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23: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: 8f00d4b8-0392-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714111347; x=1714716147; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Of/jVMt3nYb+ntFEQX3n98EQvA1ntwarPjHdelmljcw=;
        b=MEaGzeC2jyV3cUqWk3zRf01MeP+OmMFqzhAdZzvY3l1bCM5Bm47WSMPJ+3sB9p6LvN
         TKlGKQz8E79vcUebsyUSd+tcezDaO7H/wlb8SotOUtOBkCgVj0FrChpo7qNzrki9Qb5F
         QYv+WglYJcKtnTT2KU8Ljj5LKSPpBqHs8LazspQnxO2OUIhtin5Sm+R5thce84eaFEAK
         t59CQtb+dmUcBH3SqPp1cBVLZ+13uDwBn8j/PWG3ijkaMl8TC1s/Rv+H/+Q7/uVa3Fvg
         4jZGZ+IHuKiGohU0M789DSF2kdGNmNdlhHG/TcuMY3NAPqCbiQ3x/lOTc2K8uEvRns1R
         xOQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714111347; x=1714716147;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Of/jVMt3nYb+ntFEQX3n98EQvA1ntwarPjHdelmljcw=;
        b=XItugUqXhH+O2GVKx0E3lKsX6a38TjX4tQkic0VBBSYQvstARmcLjavdlWINnl7N7F
         wyaMte/cykI8EwnxGgYUHKzBofDmbujx7BDHL+E24GmtYJEUvuuHMRWIx3M1M+gcp76G
         HKuTqyerVGxJV80CywKm7o0C69hxLCg0QElPymfL5rdtI1lb3R/RGvrZ3KOHW03GIaNF
         2CMus9+oR/bS9w2H7ZJZVYYRkrO3H/nC1IZLGPjevHxu8w1mqrLifTITxK4Q/EnCuISb
         yH52nmGT+PzW32qWFkjT7mB4C9CtQtd65mOo0L/GrOgQRdzfE4g+WvmMk3WQ0Hh3jsdx
         ZznA==
X-Gm-Message-State: AOJu0YzDj2K6MlWSsh6P3+axsnR/heIlRZhuM1kReJdGfjGtYH06rrl0
	xGnxBlY2kTyAV/XqoH2o4S3wtXtqP1sxLDGTcrKmL2OtLzSBYUV/qhTxjL45ew==
X-Google-Smtp-Source: AGHT+IGCqDutoTekvzEDS7Re2J/JaW/Ee5YM2RKrfArAhXiyeTTgKuy7OqVh3IgeNlQMb9sDYTmURg==
X-Received: by 2002:a17:907:76c2:b0:a55:b2da:3e92 with SMTP id kf2-20020a17090776c200b00a55b2da3e92mr1525948ejc.68.1714111346718;
        Thu, 25 Apr 2024 23:02:26 -0700 (PDT)
Message-ID: <012320e9-c63a-450f-8e91-ebe13352e6d7@suse.com>
Date: Fri, 26 Apr 2024 08:02:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/1] xen/arm64: entry: Add missing code symbol
 annotations
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, julien@xen.org, bertrand.marquis@arm.com,
 michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, andrew.cooper3@citrix.com,
 edgar.iglesias@amd.com, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
References: <20240415231541.4140052-1-edgar.iglesias@gmail.com>
 <20240415231541.4140052-2-edgar.iglesias@gmail.com>
 <alpine.DEB.2.22.394.2404251608320.3940@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404251608320.3940@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 01:13, Stefano Stabellini wrote:
> On Tue, 16 Apr 2024, Edgar E. Iglesias wrote:
>> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>>
>> Use the generic xen/linkage.h macros when and add missing
>                                         ^ when what?
> 
>> code symbol annotations.
>>
>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> 
> I am looking at the implementation of FUNC and as far as I can tell
> there is no change compared to ENTRY. So from that point of view we are
> good. I wonder if we should keep using "ENTRY" because it is nice to
> mark explicitely the entry points as such but at the same time I am also
> OK with this. I'll let the other ARM maintainers decide.

Just to mention it: ENTRY should go away (and hence why PPC and RISC-V had
it dropped already, while x86 has patches pending to reduce its scope
enough), not the least to finally allow the oddity near the top of xen.lds.S
to go away.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:07:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:07:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712422.1113102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Ejd-0003jV-0R; Fri, 26 Apr 2024 06:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712422.1113102; Fri, 26 Apr 2024 06: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 1s0Ejc-0003jO-Tx; Fri, 26 Apr 2024 06:07:00 +0000
Received: by outflank-mailman (input) for mailman id 712422;
 Fri, 26 Apr 2024 06:07:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0Ejc-0003jB-2h
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:07:00 +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 312c76fd-0393-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 08:06:59 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-57258c90899so278765a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:06: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
 l11-20020a50cbcb000000b0057030326144sm9634351edi.47.2024.04.25.23.06.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23:06: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: 312c76fd-0393-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714111619; x=1714716419; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=7F2OdtE36+46uTns3HXGqQsuhYm80veJ2ZB4254cG7o=;
        b=V0s7JoJ6inGZyH4SBMEVI89u16PkFKPatM4oGdsmAwFi5sTnx7IuslBz5KcLzygxlF
         ZrSxWXXVYvJyIVOZq8RHzV4jkuja0h3owdRQCeWYUGQpI57C5faeTB5hXbLTG3qNwNkg
         p5In/p/1r4DKnnnYwiguFe0IeriDRDnM7lD7OcPEiBoVjM+e+TzXHktQVq0B7Gyzgfug
         YMREm1fH7KQ1i6lt4F24thwWT5uvyhvUD4TOAnVLtzxCCNS9Od5GHr2QE9Dofn5P6vpx
         Dw+FiQECF8mz0s3trI/8HVgqKk91z1sBvE5/FU9/mkqc9gAgK3j9Bx93uv0okCRnsv45
         /OKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714111619; x=1714716419;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7F2OdtE36+46uTns3HXGqQsuhYm80veJ2ZB4254cG7o=;
        b=pC8KxQyLt2GcFDxmltwq1MhgK3tf4aMLCfxUOOke5uaAs6jG8Yowik0K/wDfYqY1jG
         kQxVaHwwxcaqC1bqyx5RKfbyjO0zr1vtUMSW5IB6jv15NJEEVmJh7Pjz9RTZwO9/Rbsx
         BRZJ0QdhZ1vj/vLoT3M9/0vyZKOSTtsZZw0K/S/Gf4G4Tgr2yVpTYKNjse7vd3h0rSDO
         Hf4vwkXVXk4S0qW1CjiyE2ugD26Z4CUo7G8y7eJnhVhr2bVD8NxEOu6zqTtXPEqpZ4ou
         L/bfnyJdnkat6tuwl0eFNyBmvhmfSzXnzfNKax0hlXcOvVx6/oEispAVecwWuSGnn4tV
         KKXA==
X-Forwarded-Encrypted: i=1; AJvYcCVyBjKxmx7LmeiHuNZY7IHHm2kg0QqezAntbbgWTgyT8DR2yH6OaxbgdwMq7/gxUddBG5HF64UlROPugzPrnx3pL9Om4DiqnidnDEK79x4=
X-Gm-Message-State: AOJu0YwJP2sUt2aZKNLEHq0csvEf4cnZyemTOL7AI3Xdqr5uc2cpbguS
	4ScwkkdpCNjfi4jEhm7nWc53pnm4JPIsEazVGjC/qn9R8cSUB3mHFDDmuI7fVA==
X-Google-Smtp-Source: AGHT+IGtRslbmFnwr5Z5HmB+6JzNExhY5rYZHn+qLHJLV9kzldbXd6RvzbzU81NxSZ4+S8JTbFhUSQ==
X-Received: by 2002:a05:6402:358a:b0:571:ba0f:fb8a with SMTP id y10-20020a056402358a00b00571ba0ffb8amr5362732edc.1.1714111618813;
        Thu, 25 Apr 2024 23:06:58 -0700 (PDT)
Message-ID: <90a25857-af9b-45ac-a6d6-e46ed1fb0609@suse.com>
Date: Fri, 26 Apr 2024 08:06:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>
References: <20240417121442.56178-1-michal.orzel@amd.com>
 <be95f6be-0404-4c43-926f-d011782a02db@xen.org>
 <alpine.DEB.2.22.394.2404171148060.2257106@ubuntu-linux-20-04-desktop>
 <29afd327-a66c-4b4e-b076-ee6ecb70807e@xen.org>
 <alpine.DEB.2.22.394.2404251538250.3940@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404251538250.3940@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 00:39, Stefano Stabellini wrote:
> On Mon, 22 Apr 2024, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 17/04/2024 19:49, Stefano Stabellini wrote:
>>> On Wed, 17 Apr 2024, Julien Grall wrote:
>>>> Hi Michal,
>>>>
>>>> On 17/04/2024 13:14, Michal Orzel wrote:
>>>>> Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
>>>>> in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
>>>>> for it. This results in a build failure. Example on Arm:
>>>>>
>>>>> ./include/public/arch-arm.h:205:41: error: unknown type name
>>>>> ‘__guest_handle_64_int32_t’
>>>>>     205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ##
>>>>> name
>>>>>         |                                         ^~~~~~~~~~~~~~~~~~
>>>>> ./include/public/arch-arm.h:206:41: note: in expansion of macro
>>>>> ‘__XEN_GUEST_HANDLE’
>>>>>     206 | #define XEN_GUEST_HANDLE(name)
>>>>> __XEN_GUEST_HANDLE(name)
>>>>>         |                                         ^~~~~~~~~~~~~~~~~~
>>>>> ./include/public/memory.h:277:5: note: in expansion of macro
>>>>> ‘XEN_GUEST_HANDLE’
>>>>>     277 |     XEN_GUEST_HANDLE(int32_t) errs;
>>>>>
>>>>> Fix it. Also, drop guest handle definition for int given no further use.
>>>>>
>>>>> Fixes: afab29d0882f ("public: s/int/int32_t")
>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>
>>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>>
>>>
>>>> So it turned out that I committed v1 from Stefano. I was meant to commit
>>>> the
>>>> patch at all, but I think I started with a dirty staging :(. Sorry for
>>>> that.
>>>>
>>>> I have reverted Stefano's commit for now so we can take the correct patch.
>>>>
>>>> Now, from my understanding, Andrew suggested on Matrix that this solution
>>>> may
>>>> actually be a good way to handle GUEST_HANLDEs (they were removed in v2).
>>>> Maybe this can be folded in Stefano's patch?
>>>
>>> v1 together with Michal's fix is correct. Also v2 alone is correct, or
>>> v2 with Michal's fix is also correct.
>>
>> I am slightly confused, v2 + Michal's fix means that XEN_GUEST_HANDLE(int) is
>> removed and we introduce XEN_GUEST_INT(int32_t) with no user. So wouldn't this
> 
> You are right I apologize. I looked at Michal's patch too quickly and
> I thought it was just adding XEN_GUEST_INT(int32_t) without removing
> anything.
> 
> In that case, if you are OK with it, please ack and commit v2 only.

Just to mention it: Committing would apparently be premature, as I can't spot
any response to comments I gave to the patch. I'm okay with those being
addressed verbally only, but imo they cannot be dropped on the floor.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:21:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:21:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712427.1113114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Exr-0006id-93; Fri, 26 Apr 2024 06:21:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712427.1113114; Fri, 26 Apr 2024 06: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 1s0Exr-0006iW-4n; Fri, 26 Apr 2024 06:21:43 +0000
Received: by outflank-mailman (input) for mailman id 712427;
 Fri, 26 Apr 2024 06:21: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=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0Exq-0006iQ-EL
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:21: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 3e1013d5-0395-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 08:21:39 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a5200202c1bso227239866b.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:21: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
 r18-20020a17090638d200b00a589ce6803asm2390184ejd.110.2024.04.25.23.21.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23:21:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e1013d5-0395-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714112499; x=1714717299; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=bo945Wr2gNWf2DfoA1ZrSWqPXlV9nyZIWtCd2IcaRmE=;
        b=X4gOhGLwvaovJuqy/S/4mb272LHUIbrGaYVNjjgmFZKegFAqcw18a8Li0DO/zWWKnA
         Ndb0RuBsgWWo2whfrN7zlofQ80vyCplaTBde2WPL0JWqXKrMhu94nQqrHxZMyF8bAzw/
         gTeRSZjScoELVQfrDnZLkT4kUluuE5TY1rVMvJ8MU9tGu3wsdGwKJ7CG7FxSgF6FFGFB
         efhHGTZHA4YsdTZXTtyw7TLrplcADoQ1unixbrCYgiISZ32rL69yVxoLnNKN+9Ed6OpI
         jptsajOpCHH7vKTrDlqEZC//bMdBk506pNbruaImPAwHYMreLyqgrO0Ya2XVVvjBHiSQ
         9mLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714112499; x=1714717299;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bo945Wr2gNWf2DfoA1ZrSWqPXlV9nyZIWtCd2IcaRmE=;
        b=e0gApiaRb5oeKKZzD4CtFARbbNTa9zNdlyT3HgAdQxxfvPV7Yl3pJu/2zM3Rh6hM/e
         y5GivHlbslLZkPhI0WPReMwYDKoV80PwD71qgw3GaxnnxmmdGWuDIaLVxz7ZqhoCWKkO
         ZqkuXWvLZsTorDexGTKUFVZnRsvR6x2X0oXClR9VyTBZrg5S35N1gC1Qf8e0CbtSXrCa
         nkTkSeHcMBD19FWcjv/w7Nm2lUPuxjD7ZXZsyjZOMg8xX17dRnw9Wk1vtH0x8ZPHUC97
         48mqqbM5JRy7HiKOO9zIsGwG7EdqmhjNOV+jLL1aWeu9Q3QSnpywp7YyBmAmRLrIyApQ
         zTNA==
X-Forwarded-Encrypted: i=1; AJvYcCUCNuDJRCllGPu+NbvNlOWyYbg/0cSYnJzVM+KQwJ/YT8hYS8cTHhjxYkSs5621XKlS/2kkKCjvBtl264wNtj6dtw0GOQuzANNXsSmIP9A=
X-Gm-Message-State: AOJu0YwP0yrEqkKO/0m/uzN05SV3eH8JGCgJDAw0KYt/k02FK+M819I5
	DPB4B8c1KpZM55rXnbiCKKXkW9ZtPhXTfAJ3EZpLVUlk8b384X2TOcGUWg2ZtA==
X-Google-Smtp-Source: AGHT+IFACrloN1Qq+3GQc2oY6ksw+9+7a74lUcf5JNiu1wAhf+TOxf/TWrDxnwuuK9tJrKx9kbRYog==
X-Received: by 2002:a17:906:e87:b0:a58:8786:5ab9 with SMTP id p7-20020a1709060e8700b00a5887865ab9mr1939679ejf.26.1714112499286;
        Thu, 25 Apr 2024 23:21:39 -0700 (PDT)
Message-ID: <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
Date: Fri, 26 Apr 2024 08:21:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240426031455.579637-3-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 05:14, Henry Wang wrote:
> --- a/xen/include/public/hvm/params.h
> +++ b/xen/include/public/hvm/params.h
> @@ -76,6 +76,7 @@
>   */
>  #define HVM_PARAM_STORE_PFN    1
>  #define HVM_PARAM_STORE_EVTCHN 2
> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>  
>  #define HVM_PARAM_IOREQ_PFN    5

Considering all adjacent values are used, it is overwhelmingly likely that
3 was once used, too. Such re-use needs to be done carefully. Since you
need this for Arm only, that's likely okay, but doesn't go without (a)
saying and (b) considering the possible future case of dom0less becoming
arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
this also needs at least a comment, maybe even an #ifdef, seeing how x86-
focused most of the rest of this header is.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:27:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:27:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712431.1113122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0F3C-0007xX-RY; Fri, 26 Apr 2024 06:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712431.1113122; Fri, 26 Apr 2024 06: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 1s0F3C-0007xQ-NX; Fri, 26 Apr 2024 06:27:14 +0000
Received: by outflank-mailman (input) for mailman id 712431;
 Fri, 26 Apr 2024 06: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=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0F3B-0007xK-EC
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:27:13 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 037d5e31-0396-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 08:27:11 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a51addddbd4so208628466b.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:27: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
 mm7-20020a170906cc4700b00a5872f75cfdsm4518652ejb.49.2024.04.25.23.27.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23:27: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: 037d5e31-0396-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714112830; x=1714717630; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=8ywi8MELPEGIX51lNr+jTDS4kvTLaXs+s8ii9pR9MfE=;
        b=KE8tEFmWUwsAKQhE7i6Bdn+UeOHb9M9lyI0h9cnHxcrQ8rEVc0wvDK+vj4Yvq+ModC
         dVTgi1rwimSfRwF8x8KbYRGPKsCaMOL7InUiT+rmpvEFYI5S16pWkmJslizrDs4RM9y8
         L1WaEIdmmTm8bNIAnoQT3OZ91+9c13KL0xDXzpNXU9XBXTwL7fGpb9S4VXImMXmD6aiB
         CkElcWudK4efo6UROlwrof0l2nuNWxlMiKMSIoLbfZM4xfmKIw1d9VojGTPj/h47E6Nu
         TNlMdyQ13luncf/Y8Je111qNT6dvshq4i4q6mtH8LEesnPQbgJgymuXIPcNdaU6cfn7F
         2BbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714112830; x=1714717630;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=8ywi8MELPEGIX51lNr+jTDS4kvTLaXs+s8ii9pR9MfE=;
        b=uCXug8kTITLLQ2Rj7Qs4R/gxqxJ/SrlA1inOleyYU3eR8HZf254dZXq5GJeSLn+5pS
         ycT6OTbfsvBTkQ6APJSCpLEfU3fJTsfm6kJORjBkL7igt3j9IZ54M66VIyuDzuUkihmo
         vZEqZhWvNThroTmCLEdupGyH4uwkr0PgnobwtZ4t0ZHG3rNSu7bRjLNTzKbZO1lBGiQ3
         v3YXOWNWESvDf/pHduMFuX/DOayCfoGBXJjPB2ZFmhLlSz9Llk5HlRaV690kPaZR1cig
         YVbEpIzrmkVDgPYd6E7hzIYjYlLU0Gxbx3u5v6c7kUNfgK6dt/c/WeID5PyaT2W8RujT
         fZYw==
X-Forwarded-Encrypted: i=1; AJvYcCVq7zf8dYJ8nYZI0yKZwG3NxSIchEIVMUshmtQe7LQeJw/dHY0uZ+fbzkI9wm66WwD4v1GDJgzPnMte2dqbd5JQKp49Ryfw324GxrNzmLY=
X-Gm-Message-State: AOJu0YwWyx0wQ+Y0sQuUEd5fZu2OYCsjM6uLfPVrbeu9hflp03z/Y8Gm
	hbBEdMlWbNTw6N4zgnfgVLhUaYZ1ZfRiO3kC1HR1wBQeSuvRA85nGVh/63Ei2w==
X-Google-Smtp-Source: AGHT+IHuOQBzQufM8IVK2sIi1Qd5/50wLdxZ3yTNK80GqbmSmQezxw1XN9G9ybrsdDlQmsF9TdAiMw==
X-Received: by 2002:a17:906:c04f:b0:a55:6b76:eedc with SMTP id bm15-20020a170906c04f00b00a556b76eedcmr1215903ejb.14.1714112830569;
        Thu, 25 Apr 2024 23:27:10 -0700 (PDT)
Message-ID: <d620ef7a-661a-4706-8a05-1724e28e2d4f@suse.com>
Date: Fri, 26 Apr 2024 08:27:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: add R21.6 R21.9 R21.10 R21.14 R21.15
 R21.16
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2404251629570.3940@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404251629570.3940@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 01:31, Stefano Stabellini wrote:
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -652,12 +652,72 @@ maintainers if you want to suggest a change.
>         declared
>       - See comment for Rule 21.1
>  
> +   * - `Rule 21.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_06.c>`_
> +     - Required
> +     - The Standard Library input/output routines shall not be used
> +     - Xen doesn't provide, use, or link against any Standard Library.
> +       Xen implements itself a few functions with names that match the
> +       corresponding function names of the Standard Library for
> +       developers' convenience. These functions are part of the Xen code
> +       and subject to analysis.
> +
> +   * - `Rule 21.9 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_09.c>`_
> +     - Required
> +     - The library functions bsearch and qsort of <stdlib.h> shall not be used
> +     - Xen doesn't provide, use, or link against any Standard Library.
> +       Xen implements itself a few functions with names that match the
> +       corresponding function names of the Standard Library for
> +       developers' convenience. These functions are part of the Xen code
> +       and subject to analysis.
> +
> +   * - `Rule 21.10 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_10.c>`_
> +     - Required
> +     - The Standard Library time and date routines shall not be used
> +     - Xen doesn't provide, use, or link against any Standard Library.
> +       Xen implements itself a few functions with names that match the
> +       corresponding function names of the Standard Library for
> +       developers' convenience. These functions are part of the Xen code
> +       and subject to analysis.
> +
>     * - `Rule 21.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_13.c>`_
>       - Mandatory
>       - Any value passed to a function in <ctype.h> shall be representable as an
>         unsigned char or be the value EOF
>       -

Up to here, did you consider adding a short reference to some common blob
(footnote or alike), rather than repeating the same text verbatim several
times?

> +   * - `Rule 21.14 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_14.c>`_
> +     - Required
> +     - The Standard Library function memcmp shall not be used to compare
> +       null terminated strings
> +     - Xen doesn't provide, use, or link against any Standard Library.
> +       Xen implements itself a few functions with names that match the
> +       corresponding function names of the Standard Library for
> +       developers' convenience. These functions are part of the Xen code
> +       and subject to analysis.
> +
> +   * - `Rule 21.15 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_15.c>`_
> +     - Required
> +     - The pointer arguments to the Standard Library functions memcpy,
> +       memmove and memcmp shall be pointers to qualified or unqualified
> +       versions of compatible types
> +     - Xen doesn't provide, use, or link against any Standard Library.
> +       Xen implements itself a few functions with names that match the
> +       corresponding function names of the Standard Library for
> +       developers' convenience. These functions are part of the Xen code
> +       and subject to analysis.
> +
> +   * - `Rule 21.16 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_16.c>`_
> +     - Required
> +     - The pointer arguments to the Standard Library function memcmp
> +       shall point to either a pointer type, an essentially signed type,
> +       an essentially unsigned type, an essentially Boolean type or an
> +       essentially enum type
> +     - void* arguments are allowed. Xen doesn't provide, use, or link
> +       against any Standard Library.  Xen implements itself a few
> +       functions with names that match the corresponding function names
> +       of the Standard Library for developers' convenience. These
> +       functions are part of the Xen code and subject to analysis.

For all three of these I'm not convinced the remark is appropriate. These
talk about specific properties of the functions, which aren't related to
risks associated with particular (and hence potentially varying) library
implementations.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:30:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:30:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712436.1113133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0F6Q-00012G-CB; Fri, 26 Apr 2024 06:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712436.1113133; Fri, 26 Apr 2024 06: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 1s0F6Q-000129-9G; Fri, 26 Apr 2024 06:30:34 +0000
Received: by outflank-mailman (input) for mailman id 712436;
 Fri, 26 Apr 2024 06:30:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0F6O-000123-LK
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:30:32 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20622.outbound.protection.outlook.com
 [2a01:111:f400:7e88::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a2c156a-0396-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 08:30:31 +0200 (CEST)
Received: from CH0P223CA0013.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::30)
 by DS0PR12MB8785.namprd12.prod.outlook.com (2603:10b6:8:14c::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 06:30:28 +0000
Received: from CH3PEPF0000000A.namprd04.prod.outlook.com
 (2603:10b6:610:116:cafe::2a) by CH0P223CA0013.outlook.office365.com
 (2603:10b6:610:116::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.29 via Frontend
 Transport; Fri, 26 Apr 2024 06:30:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH3PEPF0000000A.mail.protection.outlook.com (10.167.244.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 06:30:28 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 26 Apr
 2024 01:30:27 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 25 Apr
 2024 23:30:27 -0700
Received: from [172.31.100.92] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Fri, 26 Apr 2024 01:30: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: 7a2c156a-0396-11ef-909a-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O6Rua/Fv/9YrkTAoHd/lWzjuQS1Z3dkk7Z7pq0+oQRxc3Pwa0ANmy8t/tglBJDu9bJmRescbvX2T/naBq1deyhRwPz/zqv8nNGs+YnBkRYsHFkXdiQlj5SGVHfYDtZTKs3CgyXxVZNenJs6KzjQbQDN7GmTsOXMXrZASWkgj636J2t7vGupbXSUNVRwZTRm2v+QzAt4SuXfLUzbbnWPRLoubfF0b5FDpPdOQG2Qv9uQTUNXsOYmYtmboEJFVNwKETJqVIRX9WXhjZrmJSCgal08p15GdP0qnrFHz2/Ky1VwIrVbPX2vbkpBND5p5Ns7kYUbHFJgisBUmaStxnAF9UA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CJO5mcHwdPaiF8pZ44dYl57wpjCjF4DE9swaQwsptfo=;
 b=fwxiPQcxMt8Lyv8j0t0Vsau0lLxhCjb0bnqrPoQKKf9od6PVZ2ovUeGizoU2Lbtj/0eETTh3jjtURTvxIK3EkUE28nbx309FlQg2YpmoLh9DYsBLNDtvRVcAHvSWpfzKsw4jq+quYLx4+cdcmZL0eKXqEXNWvJrj0rzsppyzXToxlfoDhzkJ+5x31sgvCgouLxPw+tyCOfVUy/KSpVEla93PjFNzsfcJCXJUToNkpOeTI8hFcpTb74NMcZDZfsaCZXTF9dOrqdjQhejaoVenoSHowLj0wugzaj1rKRw+0ac2Tr7p6lycGakowH2ZZKJ3GtSSxKOsFCDza8XK4FBs6w==
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=CJO5mcHwdPaiF8pZ44dYl57wpjCjF4DE9swaQwsptfo=;
 b=dT4kzR1AhXYFYc0JO7n18iTXbifld6CoxNMwDipkC22mBi9sD6PF2yjkV/77dmtjNIw4Vjl9U3e0dJb4DNSOkvxNAj+HumIboS9hHelYjGCFCtYowqseIQqEuDuLIujffXeXS+wZirctjB14Eo2hf+CtDbACmlFR2vgKmrOtMWk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <c49cbaef-101e-444d-b202-2f1f34beb390@amd.com>
Date: Fri, 26 Apr 2024 14:30:23 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Alec Kwapis <alec.kwapis@medtronic.com>, <xen-devel@lists.xenproject.org>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF0000000A:EE_|DS0PR12MB8785:EE_
X-MS-Office365-Filtering-Correlation-Id: b8502ee3-d2f0-4490-6535-08dc65ba5d41
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UG9qbC96WVA3ckUyN3BtdDNDNEFHWkJKVm9IdXpoUzFZY0hOaVV6REMvQ3U4?=
 =?utf-8?B?WG5idCtQZUJXYjNwUEpFZWgyN1l4N05ZRUZTbjVkUzFZQm1oQ29ZM0sySUI0?=
 =?utf-8?B?Y01yckFlVjY3aEhvdXpNUlRIK3RTQm9JaUI0NFBTQjQ1MWorK3REUHRuL2pP?=
 =?utf-8?B?K3d3aGlTWTdRcG1WdkFVOHhWazJYdS9RM3hrbEkvZGdoMFdVLzBrRE92ZlZV?=
 =?utf-8?B?ZGpFVHBMcjNpeGNabHZBelZVUTdUcTRjOHlQay8xVllLdlFNalZ4SCtDL3RI?=
 =?utf-8?B?U0l5emhXSUhiRXhiNzhVeWdZSjZRelM0em9UZm5hcytSNmF1WXVyTkJsVDhy?=
 =?utf-8?B?NFpTZUF3bU1VL2RRMkZ5TGVaejZDWThJRUJZV2JkbFFYQkdsQ3FiTUE3TGtQ?=
 =?utf-8?B?c3BMOGlDQ2g3ZjBZUzR3dHhPQ2hUOTlZbDlMRVBpV2lVRno0NWwzVnZaM2pK?=
 =?utf-8?B?WFJkWm9rbjArd0MwQncyMDBadkxKeDlyMEFVdjJvemQ2dk0rdVFLUmNlT1lP?=
 =?utf-8?B?N05sSWN0aXRxT283eWxEYTRwZ3BRZktFNmx0S3BSUG5PU3FRNFVRZ3BjY0ZZ?=
 =?utf-8?B?Q1VpLzdXa3NSSC9Jd0F1RCsyeDY0QWQzOUVFTnQyamJzY3R0c0M5aW96K0wr?=
 =?utf-8?B?UFJ6NW1kU3lvSU81M3htaXg3UFM0bVlKTElEaEJYN3o0YzZUOTNzUGIwMlQw?=
 =?utf-8?B?WHRLZVRIR20ycHBZakNuVkplK0M2UzJXS3V5M0xqNzRaYm1aN2dtYWpJN2hv?=
 =?utf-8?B?RUZKSVRRL2FPSmkrVVJ0TmwyMjlhdHQvY3djNzd2L0pteTJqQ013akJuM0xX?=
 =?utf-8?B?WGtHbGsyaGZXSmsxNEJXNmFEcjhrQzZQLzhzYnNNWjh0Y0lpWUo0OUNMUXJ2?=
 =?utf-8?B?c0FnbVR4Uk83WDlQWW9Td3JWOGQ5Wm5MbDM4UGYvVnBLWGJPVG1scnh0U1VQ?=
 =?utf-8?B?R24rY29qSldyU25YSEVjN1JYZThoRmNzSzMwNnlxT1pnRk90dDhLMXp5cUNn?=
 =?utf-8?B?NmFvVVlYM1h5U2JPSHMxVG5ldUtuU21TSGN6Q0E5dldIRGZWZzNlaHpaTEhC?=
 =?utf-8?B?dm53c2UrNFJXTXlqK2JuODRhUXNhNU5oMW9nbzhFckRUUEF5REUyQytwRHB3?=
 =?utf-8?B?dmRSakxqZk82UHZpOGJOQkVicXZqbjJpd1JVcW52bWIrb1JnaXhsNGt0ODlT?=
 =?utf-8?B?MWdOT1hSYlR3Wm1jNEpxcHZ1MmxnaTNsY2sxYzJUNEZ1TWJFZFhGTHdOVUxL?=
 =?utf-8?B?WmsrT29WdjVXaFh4L0VLbm9BdU0zcDRDbDBiYmd5SXVTVy9wc0xDY1J6N0hr?=
 =?utf-8?B?NHBKZnpOc1NSc3A2UGoyZkp1VVF0ektTWVFUa1dKbGJmV2E2eHdiRWZmb1JP?=
 =?utf-8?B?WTQ1aFJId3htSFJzUnA0M1c2dFBLT1MwWWhSRlBGeFJ6OUNHcU5pZXNBY0Fo?=
 =?utf-8?B?UDBmWFlsa0VpeThtM1NsOEZZcDEydFQvTjBFa0EwL0J0NjcyZ2IwcjFDcExq?=
 =?utf-8?B?RXdVM042dEg4UGZGSFVMSHEzOFJHdVJCdXFGTm5jRnJFWEJOMzZlWDFUSEVQ?=
 =?utf-8?B?T08xQ2ZPZTZxNEFmMnVFT0NtZ2xLSTEvRE8ydE4zVXY2ZjRsRG1abm0vNThV?=
 =?utf-8?B?Y1pXNFlhdkg1dmJnWjh5NkthUEVyVXM5SmVkODNpU1BOUis3dkwzQlFkY2pW?=
 =?utf-8?B?MkxBUmFuOG8zZTRVYk1nUTAwM0Q2NzNDL04vS2tnU3VBRllWY1pPdE5NOCtP?=
 =?utf-8?B?NVB0TDNYOEhBN0hUa0dFWVE2eUxZb2xYS2RqM2xnaXM1SW9mS09leGExaC9M?=
 =?utf-8?B?aVE0UDZYY2VmckVDMi9VUHkxZHBsb0kwM2p0d3djcTdQRHlETWVtVnZXZVlP?=
 =?utf-8?Q?CHGbAQ0/n3y1q?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(36860700004)(7416005)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 06:30:28.2032
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b8502ee3-d2f0-4490-6535-08dc65ba5d41
X-MS-Exchange-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:
	CH3PEPF0000000A.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8785

Hi Jan,

On 4/26/2024 2:21 PM, Jan Beulich wrote:
> On 26.04.2024 05:14, Henry Wang wrote:
>> --- a/xen/include/public/hvm/params.h
>> +++ b/xen/include/public/hvm/params.h
>> @@ -76,6 +76,7 @@
>>    */
>>   #define HVM_PARAM_STORE_PFN    1
>>   #define HVM_PARAM_STORE_EVTCHN 2
>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>   
>>   #define HVM_PARAM_IOREQ_PFN    5
> Considering all adjacent values are used, it is overwhelmingly likely that
> 3 was once used, too. Such re-use needs to be done carefully. Since you
> need this for Arm only, that's likely okay, but doesn't go without (a)
> saying and (b) considering the possible future case of dom0less becoming
> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
> this also needs at least a comment, maybe even an #ifdef, seeing how x86-
> focused most of the rest of this header is.

Thanks for the feedback. These make sense. I think probably 
dom0less/hyperlaunch will have similar use cases so the number 3 can be 
reused at that time. Therefore, in v2, I will add more description in 
commit message, a comment on top of this macro and protect it with 
#ifdef. Hope this will address your concern. Thanks.

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:31:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712439.1113143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0F7Z-0001Xv-Kw; Fri, 26 Apr 2024 06:31:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712439.1113143; Fri, 26 Apr 2024 06:31:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0F7Z-0001Xo-I1; Fri, 26 Apr 2024 06:31:45 +0000
Received: by outflank-mailman (input) for mailman id 712439;
 Fri, 26 Apr 2024 06:31: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=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0F7Y-0001Xi-DN
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:31: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 a5179435-0396-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 08:31:42 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-518a3e0d2ecso2669411e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:31: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
 l18-20020a170906645200b00a55bb18e3d7sm5342383ejn.168.2024.04.25.23.31.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23:31: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: a5179435-0396-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714113102; x=1714717902; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=p99WBQ/9wiZu2njHgNMl+oXSQfxyFoaK/urHQo9AY+s=;
        b=VVIQ4rQ+gvbLEYCjhtDxNwWqnGHRu7zSmkBbbjWPb/70mDPwpAeeK/Lu5CXte3B5Ky
         Zs+iCUrk/5OhhPnxCktSb3k8CdkJcJ+jE9nfn46yRPddkqGdQ9LXF8zSPyJE9Le6COlX
         y8Vv7GxzRH83geWkmxXYKw2hkHAI9Iiw5vy3pPO7ZNDmTeKUfFIea5d8G2IZqAEKgE2V
         OgeGXgc11Pgt0xtZgPBNzxKNoggsRH/KtB1uWmSOgzWCx7oneA0dkEl+KcY3Dpp3epBn
         A/2ReX0CMrsEGVt82BXn/O7zh9b0EXvRHt8zXJcIWylnoLSsIzyj+kBrdYGuCtUEJqkr
         fxWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714113102; x=1714717902;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=p99WBQ/9wiZu2njHgNMl+oXSQfxyFoaK/urHQo9AY+s=;
        b=X9N2mRBxGPAzGb87XHpgO5jiUTE+y0FCRo5YJEM0FW3zSTfN61Pt9/SdSMqdTvBGXL
         dUEL/QllHgP0v7aI80IlodEpF1WF0n20SJDxhsT6AmDt1mTLHtqp3fVUzdzO6JBYlInm
         FTnrZSxf48lm3i41Rjac0+WZY9d0ZR4mmFaO4Eg08N76JkLuuReNVOJEap0IbVLvdZ6S
         zRinNKpdyDUy4kXPLmV1LfF40PT2ejflzxCXo9WClxupKfR++6FDSwsOzqpOFVrrNV2q
         uHWRo70iM5+up6kRTpGH3lAVoLDVAh/k/OyUck4eK0SWQR7H3C8Tb02Ae+95JBrJF528
         hS5g==
X-Forwarded-Encrypted: i=1; AJvYcCVD6flWxj+y3zTGw+Sa1rAI+aYRJRR72BabwJNJsSKAH/GRQuwTBzE/cix6QGLLPJassjK7t9gzx6mm68EDN05s/mRQzdrPURMQ0917SBI=
X-Gm-Message-State: AOJu0Yx9NveBg13xhbB4ha83kqWv2xSpdo+WKMnmucM5DWKDkuOStfJb
	zXLWITCHTVO9frkM5C8RIh7tT93m9d1E++FbeJMIWJRF7zNLRvBkmwLPooUatQ==
X-Google-Smtp-Source: AGHT+IElteWomLSed6tz12zKION/DAJCUm+vpFT8Hx37IXBVvUzDSckkeyEujgvOw0VtHoxgpaLO3g==
X-Received: by 2002:ac2:5f67:0:b0:51c:647c:c209 with SMTP id c7-20020ac25f67000000b0051c647cc209mr1111875lfc.50.1714113101671;
        Thu, 25 Apr 2024 23:31:41 -0700 (PDT)
Message-ID: <08165a0d-d8ee-4405-ba04-e1cfb51489b4@suse.com>
Date: Fri, 26 Apr 2024 08:31:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/spinlock: use correct pointer
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20240425204547.658536-1-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240425204547.658536-1-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.04.2024 22:45, Stewart Hildebrand wrote:
> The ->profile member is at different offsets in struct rspinlock and
> struct spinlock. When initializing the profiling bits of an rspinlock,
> an unrelated member in struct rspinlock was being overwritten, leading
> to mild havoc. Use the correct pointer.
> 
> Fixes: b053075d1a7b ("xen/spinlock: make struct lock_profile rspinlock_t aware")
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

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

> --- a/xen/common/spinlock.c
> +++ b/xen/common/spinlock.c
> @@ -789,7 +789,11 @@ static int __init cf_check lock_prof_init(void)
>      {
>          (*q)->next = lock_profile_glb_q.elem_q;
>          lock_profile_glb_q.elem_q = *q;
> -        (*q)->ptr.lock->profile = *q;
> +
> +        if ( (*q)->is_rlock )
> +            (*q)->ptr.rlock->profile = *q;
> +        else
> +            (*q)->ptr.lock->profile = *q;
>      }
>  
>      _lock_profile_register_struct(LOCKPROF_TYPE_GLOBAL,

Just to mention it: Strictly speaking spinlock_profile_print_elem()'s

    printk("%s: addr=%p, lockval=%08x, ", data->name, data->ptr.lock, lockval);

isn't quite right either (and I would be surprised if Misra didn't have
to say something about it).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:35:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:35:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712443.1113153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FB5-0002x2-4f; Fri, 26 Apr 2024 06:35:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712443.1113153; Fri, 26 Apr 2024 06: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 1s0FB4-0002wv-WA; Fri, 26 Apr 2024 06:35:22 +0000
Received: by outflank-mailman (input) for mailman id 712443;
 Fri, 26 Apr 2024 06:35: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 1s0FB4-0002wl-6h; Fri, 26 Apr 2024 06:35: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 1s0FB4-0007iY-0H; Fri, 26 Apr 2024 06:35: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 1s0FB3-000606-JM; Fri, 26 Apr 2024 06:35:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0FB3-0005ls-Io; Fri, 26 Apr 2024 06: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VwMS0hkk24482c1Z05nNcFZt7VzJKltuG1h0iFxMQ7s=; b=AFgoztplz3Bux8Vo1p5/Vd1o8F
	TpPSzOm5Iqa0wr2+r1fwy72tQDWvaz68tCZ58wTuGRSmRUUlpqF0tfUqTn7UAhJ2Ecdm78YAWAyVT
	DhqFzufhwV05WxBGQrzOtoqMGr87V7ZSWnTot0eklGzk4EdsHTbUBb2J+rwWoiAkCMNc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185800-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185800: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-livepatch:livepatch-run:fail:regression
    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-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw: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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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=6d5111b10e084d841284a56e962c61ad274f589e
X-Osstest-Versions-That:
    xen=31d6b5b4a7c84818294dacca7a07e92f52393c9d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 06:35:21 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-livepatch   13 livepatch-run            fail REGR. vs. 185794

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185794
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185794
 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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     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                  6d5111b10e084d841284a56e962c61ad274f589e
baseline version:
 xen                  31d6b5b4a7c84818294dacca7a07e92f52393c9d

Last test of basis   185794  2024-04-25 05:57:18 Z    1 days
Testing same since   185800  2024-04-25 20:10:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Edwin Török <edwin.torok@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Petr Beneš <w1benny@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                                     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                                   fail    
 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.

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:36:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712449.1113162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FBl-0003Uf-Eq; Fri, 26 Apr 2024 06:36:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712449.1113162; Fri, 26 Apr 2024 06:36:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FBl-0003UY-Bv; Fri, 26 Apr 2024 06:36:05 +0000
Received: by outflank-mailman (input) for mailman id 712449;
 Fri, 26 Apr 2024 06:36: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=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0FBk-0003Ns-9k
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:36: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 40436189-0397-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 08:36:02 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-56e47843cc7so1721603a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:36: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
 jr13-20020a170906a98d00b00a4e03823107sm10200684ejb.210.2024.04.25.23.36.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23:36: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: 40436189-0397-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714113362; x=1714718162; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YCwEPCERGG4Frs5nMa9Jh5ILE6LpCZzTYHywnuhBxI0=;
        b=R18eAEcEbGVH8ZsARLamAfmYXsyjwpqAYxRrO85yrsJ2sLsy2hzcrkKNCtW5Yahqae
         aiDNNrGqQlEoOdnrWaQ19HXa2XXnTSl/0Wy2qoqPJlQdPXuhJ4hfQ/fFsHpfPZ4Uyk8/
         DW7iGwKFtEjClK9kEsRWfWUBbIpz1jKkqRhPPVYY/L3qkN6UpyGOW/nQ10svNGIvq7Ox
         7ticvcHEGZH5YgBBmZ1U7hXzI9HA8na0DqAg0AzW0/2YzMZc8OPcYCCw2DG/uzzyqTYb
         lki8dHxcvpRHuy79PmEJ9BPPZJW6U6KA3sTlvUaWDhmvb1KtWyG41E8hesEaNVbj7EyR
         1r5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714113362; x=1714718162;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YCwEPCERGG4Frs5nMa9Jh5ILE6LpCZzTYHywnuhBxI0=;
        b=FpP9pqpbpadIS+6AzcNrRRdyZZzs+812caZ4lP63a8PxTkaY1pTj8F0qvirHgi/cpB
         QnQwpg+9TRAEq942r3Nx7dDkhGpIDX1e1sSJM8l1fIFpkpug3JRxQB9fO3P2kIPYAnnR
         nTtnWA6Otl01W3JMaCFSu4FFp7+fSyOarYrMRoH5sq0i8gvMrjhQbntw3etPxYy2X8RK
         x8dLGAM7uY7+aRzQARqVBevTDpvXS6pG5HMdsy2i5p4QXAgR9JwTQnPvti7xCkp3qOci
         7aurM3UHT/bzFl4HdnXyxmxrHOQkMpunVGTzocj6WCScRTNn6xBOXLWkYRE2UvZ7BceM
         VOUQ==
X-Forwarded-Encrypted: i=1; AJvYcCVSGvXfq3DrdpHlSjVFbY8SOdlggxGL8FIepEBxyCkSoIb2mmeC222wxxtq+KmhBz72I19J1XkkpbLi9GNZ7C4v6DnsT1Hboto2kwQbXJU=
X-Gm-Message-State: AOJu0Yyevv0qv7DghslHZN79eR1ch527tbtKjc0lt3P0Ps/PqRpwRhqc
	9YB+lQdmjAw0DxG2Ku6RrPH+wAEmunBeo7EXbtROygXLY7TLbdMdZh68wi6tVg==
X-Google-Smtp-Source: AGHT+IFis5TbV8iPTbh7l4z8qTEspC8r4L3w7mGWGd02/zc3fhBfVH+Q6NG1mRXMAEnbsFqsT7gF4Q==
X-Received: by 2002:a17:907:7d8d:b0:a51:ae39:d385 with SMTP id oz13-20020a1709077d8d00b00a51ae39d385mr1435585ejc.1.1714113362052;
        Thu, 25 Apr 2024 23:36:02 -0700 (PDT)
Message-ID: <354e207d-e18e-409c-89ae-df2c5502a9a6@suse.com>
Date: Fri, 26 Apr 2024 08:36:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] CI: Drop glibc-i386 from the build containers
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240425174737.414327-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240425174737.414327-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.04.2024 19:47, Andrew Cooper wrote:
> Xen 4.14 no longer runs in Gitlab CI.  Drop the dependency to shrink the build
> containers a little.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

This is probably okay seeing that 4.15 shouldn't need to be tested anymore
either, for having gone out of support. Otherwise I would have asked whether
this isn't premature, as at some point there will want to be N-1 ==> N
migration tests, like osstest has them. Extending the description a little
to this effect may be desirable.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:41:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:41:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712456.1113172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FHN-0004zU-1i; Fri, 26 Apr 2024 06:41:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712456.1113172; Fri, 26 Apr 2024 06:41:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FHM-0004zN-VF; Fri, 26 Apr 2024 06:41:52 +0000
Received: by outflank-mailman (input) for mailman id 712456;
 Fri, 26 Apr 2024 06:41:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0FHL-0004zC-RV
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:41:51 +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 0f54feda-0398-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 08:41:50 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-56e47843cc7so1726465a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:41: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
 i19-20020a50fc13000000b0056fed8e7817sm9511467edr.20.2024.04.25.23.41.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23: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: 0f54feda-0398-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714113709; x=1714718509; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/DyTkxo1RPeQEplaxKsE+2m7gwcJLY9E/t8hZiPE7NQ=;
        b=FQPnL7eyanES0PM/MMn1JU/7ZiJX2vklW5aUgpHaennFDMuE7Ox5V5EcQtUyL5yWhN
         hqY73Jeq0HVEchQzKNX5PvjjRhAe5QTTCZ/C0YSxuB1hpPXC1BFJ/74G1py0DY/0yHRM
         FXpk8OhpfzNdfAedgkzesiTeSJhEG/0EA9BkZ6LmXvR31rVARRqKatZAx00Ywoh7V06t
         IghgP04ldH6OvLmwLOU9V9rqsmBaIUWT5U++p0r+8P/tx9+0jlDRVtdZyGed/LJcuZIO
         pLUxLbs7dw/C+7iseiq07nHOKS6EYMAWs8RsrfrzAJmd6UOQaBvSlEQmpfXMxisBE2E0
         U9qQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714113709; x=1714718509;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/DyTkxo1RPeQEplaxKsE+2m7gwcJLY9E/t8hZiPE7NQ=;
        b=AVhOzf1k+PdZp+SwLOBa9Z4gNrC10AZtkqw3o4a43KLyG7rTRVU2EDu4KcO6JIqDqK
         GgvN4KaRFv54WidNrNRvkykG2mAwTlbJvjJ0gf0b/pbcP578RbjmeGxmfkjn2FfkhWgp
         pZ9NFWkf3f1VUWWXP4DiYCIGKFyQLqJtnS0xr1rnPQouNqGXmXt5XMeE3LIS6ZlPe6fm
         wDWFtFwSi82Tc93O1ryXHtBaQyn6mw4s0j8LpKvL1ObxT5+iEgWx9r7Uprvi1Gs/vXZW
         hOQ1NeubosrRn/z3+NJyHu/SSe4s3AWtXfmguZ4vEEsiTv59nYWNWaw78P66aReEgKz9
         T0Vw==
X-Forwarded-Encrypted: i=1; AJvYcCXWftbmXrIUlLLDSCxWyDTQabEqrn4tX9UHXku9VNozAn1004ABTx93+ONfVEKmDHNzoC3hZKzOBAv0dpB59C3BJRVW0J0zXEklAp7Fidc=
X-Gm-Message-State: AOJu0Yzj+LAvtIk5B3vUjWTuCt3myRWFYpX/G2uPnUClHD4mKunbpyLS
	t8q/DS7a6+3/LOPcdqFSqWbbrRM1SbQORLgSWkgVNvDtCRW6L3uHNyLHpKuFZw==
X-Google-Smtp-Source: AGHT+IGZrxDiLVHF26VnSdniwyj76/oxHnfTvNc1xiRHZK9Rp5loRPCokoMVHrOcVgbX/nh7sDRI6w==
X-Received: by 2002:a50:d496:0:b0:571:d380:95fd with SMTP id s22-20020a50d496000000b00571d38095fdmr965522edi.28.1714113709508;
        Thu, 25 Apr 2024 23:41:49 -0700 (PDT)
Message-ID: <a7dd1c1e-76b8-437e-bfbc-111a904ab861@suse.com>
Date: Fri, 26 Apr 2024 08:41:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] livepatch: introduce --force option
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240424081957.34326-1-roger.pau@citrix.com>
 <20240424081957.34326-3-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424081957.34326-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 10:19, Roger Pau Monne wrote:
> @@ -571,6 +575,19 @@ int main(int argc, char *argv[])
>          show_help();
>          return 0;
>      }
> +
> +    if ( strcmp("--force", argv[1]) )

I guess this missing ! or "== 0" is the reason for osstest reporting a
livepatch-run failure.

Jan

> +    {
> +        if ( argc <= 2 )
> +        {
> +            show_help();
> +            return EXIT_FAILURE;
> +        }
> +        force = true;
> +        argv++;
> +        argc--;
> +    }
> +
>      for ( i = 0; i < ARRAY_SIZE(main_options); i++ )
>          if (!strcmp(main_options[i].name, argv[1]))
>              break;



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 06:50:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 06:50:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712463.1113183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FPp-0007My-Sy; Fri, 26 Apr 2024 06:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712463.1113183; Fri, 26 Apr 2024 06:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FPp-0007Mr-Ov; Fri, 26 Apr 2024 06:50:37 +0000
Received: by outflank-mailman (input) for mailman id 712463;
 Fri, 26 Apr 2024 06: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=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0FPo-0007Ml-Ee
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 06:50:36 +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 487e4180-0399-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 08:50:35 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5708d8beec6so2134762a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 25 Apr 2024 23:50: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
 g22-20020a056402091600b005721f9fbb60sm3785198edz.63.2024.04.25.23.50.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 25 Apr 2024 23:50: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: 487e4180-0399-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714114235; x=1714719035; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=8RxqCSweANnkLXX233xQvtMuNhLXbw8tmzSyswJWhBY=;
        b=fPML5sGnnQxnaCg/J005BsBKXmSa0WvFs7Mpz1bpGFxUQFHVhkOGHtUoK2g5BdG0ht
         6k2tppmQijxGUMGtksZg1b6WRJrGExi55LEszpho3fBsEYUdJoFpN5jl8DZp34rHuRXP
         bS+TOY0CbjeTDN7fZ+gH/qol72sMuzXcWXsndLfBQ30v+4FRu0JZttmhh8oqfbXgm/w2
         sGLEPiBTJgnDQu4r9vbeL2AckeW1TMuXWdvk8Di/WmsXfoWwhCCUQp3nDSix9WFpLjwR
         +JoFwviKmTAyUXpbAUYxGh9/4I+1oudQlPBEeGOb076YP+B3j0KKhxaCGaw689uSMMfa
         Rw5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714114235; x=1714719035;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=8RxqCSweANnkLXX233xQvtMuNhLXbw8tmzSyswJWhBY=;
        b=rQ0zeE+JhR1UODSV4uM4gBySqrXwcuAgCBuJHulOkYDICKG2tR7fh77+3x8PtbJvE/
         YL89iYfmOiiNIZ0xE7zAA6vXIdaik3qmLzPVJev1cSffxcJgQZjcyxZL2OWWOzJaktqs
         ff0QmydeghFfCIJwaAiG55+n4tlKc2Y/P9GP9qnBQdUid5z4tKHJCtxnzFI043lU/9kb
         cxmOzHzdU/cPw2wZgOnetzW6nytGXcO5YHAHfUSjPVcgOeDnFjQIDBaSRntBev7x6L3N
         nv2X/0XNsrzHzzLjDVucE4WCLacZpVDwGTy6r5MpueA8j1CFPBXuvvgZ8DNaDExvAzuk
         RItg==
X-Forwarded-Encrypted: i=1; AJvYcCV3gtItEkNcqi8yERa9/nWhbYKdMjHMJweUeKSyY5a/+mxKvUDN6bUiSelDNjB7ligWYt/tjiIsG5mC6Zl//aCg2/Z3VcR77+GvUv1aZww=
X-Gm-Message-State: AOJu0Ywdvb91N58Gvyc/m2b5ATx8cNL+iEonH29d0YFd9ny3Gatht2bn
	wuEkCymmTg4MHHyMchl//jLAZ9c9MsyvfErN1tEKRPAaFWRbUxP6iSHoH35L9Q==
X-Google-Smtp-Source: AGHT+IGCuJIzjZ5lGq356BJWoxzRoBJjgQEUQABD42PbJEVHKwO8hh7VOpa5UxRXvAZy5DdVK2+7pQ==
X-Received: by 2002:a50:a693:0:b0:570:2418:3607 with SMTP id e19-20020a50a693000000b0057024183607mr1613588edc.36.1714114234936;
        Thu, 25 Apr 2024 23:50:34 -0700 (PDT)
Message-ID: <9825c488-0acd-412b-894a-b683525b1592@suse.com>
Date: Fri, 26 Apr 2024 08:50:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
 <c49cbaef-101e-444d-b202-2f1f34beb390@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c49cbaef-101e-444d-b202-2f1f34beb390@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 08:30, Henry Wang wrote:
> On 4/26/2024 2:21 PM, Jan Beulich wrote:
>> On 26.04.2024 05:14, Henry Wang wrote:
>>> --- a/xen/include/public/hvm/params.h
>>> +++ b/xen/include/public/hvm/params.h
>>> @@ -76,6 +76,7 @@
>>>    */
>>>   #define HVM_PARAM_STORE_PFN    1
>>>   #define HVM_PARAM_STORE_EVTCHN 2
>>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>>   
>>>   #define HVM_PARAM_IOREQ_PFN    5
>> Considering all adjacent values are used, it is overwhelmingly likely that
>> 3 was once used, too. Such re-use needs to be done carefully. Since you
>> need this for Arm only, that's likely okay, but doesn't go without (a)
>> saying and (b) considering the possible future case of dom0less becoming
>> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
>> this also needs at least a comment, maybe even an #ifdef, seeing how x86-
>> focused most of the rest of this header is.
> 
> Thanks for the feedback. These make sense. I think probably 
> dom0less/hyperlaunch will have similar use cases so the number 3 can be 
> reused at that time. Therefore, in v2, I will add more description in 
> commit message, a comment on top of this macro and protect it with 
> #ifdef. Hope this will address your concern. Thanks.

FTAOD: If you foresee re-use by hyperlaunch, re-using a previously used
number may need re-considering. Which isn't to say that number re-use is
excluded here, but it would need at least figuring out (and then stating)
what exactly the number was used for and until when.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 07:02:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 07:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712469.1113196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FbA-0001Of-Sc; Fri, 26 Apr 2024 07:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712469.1113196; Fri, 26 Apr 2024 07:02:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0FbA-0001OX-PH; Fri, 26 Apr 2024 07:02:20 +0000
Received: by outflank-mailman (input) for mailman id 712469;
 Fri, 26 Apr 2024 07:02:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9cwh=L7=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s0Fb9-0001O8-FY
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 07:02:19 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2414::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e96f9119-039a-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 09:02:15 +0200 (CEST)
Received: from PH0P220CA0022.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:d3::21)
 by IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 07:02:12 +0000
Received: from CY4PEPF0000EE3F.namprd03.prod.outlook.com
 (2603:10b6:510:d3:cafe::b4) by PH0P220CA0022.outlook.office365.com
 (2603:10b6:510:d3::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.29 via Frontend
 Transport; Fri, 26 Apr 2024 07:02:12 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE3F.mail.protection.outlook.com (10.167.242.19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 07:02:12 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 26 Apr
 2024 02:02:09 -0500
Received: from [172.31.100.92] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Fri, 26 Apr 2024 02:02:06 -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: e96f9119-039a-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cX9HKp7+nmlNy0q9lunXXgsfLcWwh9p9pzvZYUynotvXS4zw6y3Q4IYtn7Q/YbqUme114ilthXeGP8oNSAdGbGTyRqoR2vh6Udu+fPF6c0+JDqyYTEljruaxTSOjWxt6yoDkMq43m+uNAP8XUo6jSZZcZtx5MGyfa6/8AononameVJN2zHDsr+f9k1RbTNdpht61Nt9mfMa2vT0Dza6Ldku09xrupbFQj3ERdJjN0FaHsVnc2506Z8NhJG0OI1eVkd2wtWKn7TvX5ybhPIbF58YHMq0LJTYFjnkN617AY4jog5bYA+HFADbB0jt0KHRg3znb9Mz9zjCwHggre/vjQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E391/ayyWUSlsp4QtaYTlN5MV1Nw+UTVTLOMKm4cHsg=;
 b=GPw/qu+rAoinyG06WX3lDs4rMkor1eWTyoxuK7wUQjFaI2ClBAKvejD4Gw+gy7ityjaHLgq1oRelHeY6c9+OBE56Pd5sjqIQTZJvvT1deTRgIgEoZAoSpeJ3O5+MW6G/D8X1aTRY3RJsoTwwfwgGC2zvEm4v3/mD2tPptzio1lIoMtW5oFLHq4CTFDwTA4HbEP8/QSlW5/muT5rBkdl6mOuboubypAowROgyAz7qYDtEcPSraY5bcB/96ST6cofgQuvHAuJaXmzCSg7i8M0A+T9o/kbWEGEUC9mNEAiPvEDvTciXJThj/9lqYDFuMMf5J5y9tGvI1+kDuHK7Zxo04Q==
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=E391/ayyWUSlsp4QtaYTlN5MV1Nw+UTVTLOMKm4cHsg=;
 b=GDdlSTU+h95KyywTlahGI09PikJ0WCm9g7S+uqONjSoVk+a/Qwv3sRZ/zPhyQWxf+pV+Kb4F4KpobT8o5Y0kNPULf1wippyvV/jiCl4/zcszLtFFgE9R37hjWrNkEcBFOB6CYdN7BCm7kAcGlpF3+O7ab9tDqm5D/s8kTbXtJGE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <7d7dc2c6-ce22-4ff2-8bb2-3f16e1c2120c@amd.com>
Date: Fri, 26 Apr 2024 15:02:05 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	"Michal Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
	<xen-devel@lists.xenproject.org>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
 <c49cbaef-101e-444d-b202-2f1f34beb390@amd.com>
 <9825c488-0acd-412b-894a-b683525b1592@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <9825c488-0acd-412b-894a-b683525b1592@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3F:EE_|IA0PR12MB8374:EE_
X-MS-Office365-Filtering-Correlation-Id: 9dcf6e22-a854-4535-2e4b-08dc65becc1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aWVxSXFBYVUwd253dWxJMmRISXU1dDU2QkVVM2hnb2VGTmQ0MnExQkZWT0E4?=
 =?utf-8?B?TTY0eFpVdGJ4d1NlQ0ZpU3ErZzY5M1AzV28yaEgvVWFqcDNCaXZtcXVPMXdQ?=
 =?utf-8?B?K0s5ZFlpWlN1Q1hPNVpFS3FYN3RpREpiOEtCSlpZbXY2R2VxL0krY2x6bWFI?=
 =?utf-8?B?cEw0cFRlWE11anRnNVpZVkJTVERMVC9uWHZubGVxWVVocEFSNzdiVnFJaXlH?=
 =?utf-8?B?dzYxZmtOZGIzTnprMEVOdzgxa0UyUS95QUwyaXJ3UHRVc2c2VklNcFlsZ2Ey?=
 =?utf-8?B?SHlxdFZPTjdYNTdWcHRsYzkvbXY2VnowQmoydkpMMml2VFJOK1h3bWlOSUI2?=
 =?utf-8?B?ZHhJRUF0Tlc0Q2l5dTdmL1dkem9VQTZ5ZHl1Q2xVVUJZZ2lxdTlnTGJlZkoz?=
 =?utf-8?B?VS8xZzJBMjdpTy9saGVuMUkrck94WjJqVTh4RXJmWEtCdHJiMXFQR3FFQlJW?=
 =?utf-8?B?RUh6VzgxbGVlMndxaWQ0dkEyTkk2VGdNTmZXVVNFRG9sQ0hOMHR3RDFwU1NL?=
 =?utf-8?B?TlErNlY5MFJxRXRiVFYrSDlNMzF2ZEpsT2l3T2NSS0dVZUptKy9BMEdKbWk0?=
 =?utf-8?B?ZkEvYjJLcDJvNHc5MzR0UzQxdmRKWWtTNkJHQUhGT1B1MFJoYmNJbU5sVHBZ?=
 =?utf-8?B?SUx6ZDBkOFF3b01UdUJtOTdQRVdVSUZBM213SmUzVVlYckxMVHdtamk1aXZC?=
 =?utf-8?B?OEdoeWpmNEV2NHBCOVpqTmFmQ1dmZ2c4dG14R2JrcjJ2Y2k0c01XYVpPOTlv?=
 =?utf-8?B?SUNRdFVFdUJLSWJTTXNhN0NZSXNKQ2c3YnpqTnZPMDFoTmx6dWdZY2ZFWlhL?=
 =?utf-8?B?eXFrS1llR3phZnZDQ0tZc3k2L3kwMCtUbFhHdE1ZdGF5TVFiRWoxTWxLbHpF?=
 =?utf-8?B?YWl0UG1jTmhVcEZMbDFOLytmOUdGeFdaYUxiZEFadm5ZUkk3bVdFNTNGNEp3?=
 =?utf-8?B?bEp3SGZBZ3AxYzB2RzB1c1RBWlYrZU0wQ0lSTGNUU1RIOTFwa29NWGY0cVF0?=
 =?utf-8?B?WkV6VjRBTkxnU21FcFJtTUZOelZ5UXUrRnhnREFlQUpiQmpUV1YwU05QOVo4?=
 =?utf-8?B?SHdCMlNZTXlEM2Rsck5zSUoxbHdQZ0cwTEQ0cXo5M1hiSDlUeTE1UGxQVjZs?=
 =?utf-8?B?TGdUQk81Q00yaFBRck0yeG9KT2dCR2pxdlRiUXFrUGh6RUo2NVRPeXk0K3pD?=
 =?utf-8?B?cTRMVEVtMDRWMkUvdWFmTXdBM0VPRHlBWm9TL1FobzA1dUJIa2psVHB5ZVl6?=
 =?utf-8?B?ZWs0N21pT1BWMFNrUUZEb0lsdURUZWRiSmwvWStSTFg4cTN0dzZRd1BQVzRu?=
 =?utf-8?B?YlJzZ21XVE56a2kxODFab20wSkx3ZTdZQU9YcGE4WkthRnZuQkpTUEZXdFVJ?=
 =?utf-8?B?TzRYK3N2a1FGbkk0MjdNL2FZYUluM0I5S3c2OXg5b3hLTVVaNHYvN1VvOHpZ?=
 =?utf-8?B?OGh0bmhkZ08yVDJ4WExmU2hiRGtHei9ISWdWbkZ3ZVV1TFlhekdHNGFuQjI4?=
 =?utf-8?B?SVdxbDRMM3Y4S3pSWDdVVUZSMFp3aDk2ak5zSlgwVk9xaVFHVW80NU9uN2lj?=
 =?utf-8?B?S0RUN2J3dW5tVFpMU2ppcHJaRU9mK1lHTWtrSEs5UU1RQ1J2aWdRc0gxWm4v?=
 =?utf-8?B?TnU4dXJFbHJYZjRSL3d3cmx3UHd6K3E0aVNCTU5KUzBreXdIbERUSGtPZkhu?=
 =?utf-8?B?alRvN09XTVc5Smk3cnZUdzhuc1NOL3Uzd214OVQvcnRNcTZhNWc3c21qRExM?=
 =?utf-8?B?R3Z3U3VKOVh6TTZJUkYwNnV3aGwvZk04dG5MdnAzQ2FCY0JEaFg4dXczYStQ?=
 =?utf-8?B?eEpaQXNYbEVRdnl3dFozcm52dVArUndCb0RCYTE2UVFURmhnd28vYUx4c00y?=
 =?utf-8?Q?0FyP6sxx/TcpU?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(7416005)(36860700004)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 07:02:12.1264
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9dcf6e22-a854-4535-2e4b-08dc65becc1c
X-MS-Exchange-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:
	CY4PEPF0000EE3F.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8374

Hi Jan,

On 4/26/2024 2:50 PM, Jan Beulich wrote:
> On 26.04.2024 08:30, Henry Wang wrote:
>> On 4/26/2024 2:21 PM, Jan Beulich wrote:
>>> On 26.04.2024 05:14, Henry Wang wrote:
>>>> --- a/xen/include/public/hvm/params.h
>>>> +++ b/xen/include/public/hvm/params.h
>>>> @@ -76,6 +76,7 @@
>>>>     */
>>>>    #define HVM_PARAM_STORE_PFN    1
>>>>    #define HVM_PARAM_STORE_EVTCHN 2
>>>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>>>    
>>>>    #define HVM_PARAM_IOREQ_PFN    5
>>> Considering all adjacent values are used, it is overwhelmingly likely that
>>> 3 was once used, too. Such re-use needs to be done carefully. Since you
>>> need this for Arm only, that's likely okay, but doesn't go without (a)
>>> saying and (b) considering the possible future case of dom0less becoming
>>> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
>>> this also needs at least a comment, maybe even an #ifdef, seeing how x86-
>>> focused most of the rest of this header is.
>> Thanks for the feedback. These make sense. I think probably
>> dom0less/hyperlaunch will have similar use cases so the number 3 can be
>> reused at that time. Therefore, in v2, I will add more description in
>> commit message, a comment on top of this macro and protect it with
>> #ifdef. Hope this will address your concern. Thanks.
> FTAOD: If you foresee re-use by hyperlaunch, re-using a previously used
> number may need re-considering. Which isn't to say that number re-use is
> excluded here, but it would need at least figuring out (and then stating)
> what exactly the number was used for and until when.

I just did a bit search and noticed that the number 3 was used to be
#define HVM_PARAM_APIC_ENABLED 3

and it was removed 18 years ago in commit: 
6bc01e4efd50e1986a9391f75980d45691f42b74

So I think we are likely to be ok if reuse 3 on Arm with proper #ifdef.

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 07:15:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 07:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712480.1113206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Fne-0004SZ-2R; Fri, 26 Apr 2024 07:15:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712480.1113206; Fri, 26 Apr 2024 07:15: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 1s0Fnd-0004SS-Va; Fri, 26 Apr 2024 07:15:13 +0000
Received: by outflank-mailman (input) for mailman id 712480;
 Fri, 26 Apr 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=Svmy=L7=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s0Fnc-0004Qe-8v
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 07:15:12 +0000
Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com
 [2607:f8b0:4864:20::736])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b73f5415-039c-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 09:15:10 +0200 (CEST)
Received: by mail-qk1-x736.google.com with SMTP id
 af79cd13be357-7906776e17aso120733085a.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 00:15:10 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 w2-20020ae9e502000000b0078ec3aa9cc7sm7748827qkf.25.2024.04.26.00.15.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 00:15: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: b73f5415-039c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714115709; x=1714720509; 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=deOWyKjYW/jQYIfV3gLfpN1OqozgexBNat4UAll8F+E=;
        b=SsGdBov4N8b9Kn9omnu44CKO+eYAVbnOUmhgS4YT/TZSwwP77r23vaTNX6UWHeNwwI
         t2cxj1rY8gN+mIW2vxff1KwXXw3Nuvi63kU36Mekqziz5fqLrW9OKxwhbLLDj2byOGm/
         w8B+m8bfwmpr9mxvJGMqYBtFNP4NEY6OWDgoA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714115709; x=1714720509;
        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=deOWyKjYW/jQYIfV3gLfpN1OqozgexBNat4UAll8F+E=;
        b=dW+rrGhlrHJkMDoxX7yKUZiRf+Imvr4oZROuvm+tRTzkPW795egz6N7LaMorXG+paG
         Ik5oAR9IM1E99FVGnDTyhRi0MV+y33Asxo6Rs7euBdy+xjXz1fBkQ1uzKo5GWa5GDBgl
         D76nO9tBj6Zn9UjiJ6X/2nY0bhLJAVCEFpkzFGDWrdbL/L5d1gbENVdCjulWP2LQhyMQ
         O4rkB4rR0BxD3m6zNj7r+WcSvrUBV0bvTNfLyFCUpyR+A5U8LkCN2FHcUrz/OefOKpx+
         Kyik/t7uuy2DkDFzYp7E5X3P8k7rERcnr3T+NodL8jK3eTsa6F2BP2xPYTmsTISjU1BT
         4SeQ==
X-Forwarded-Encrypted: i=1; AJvYcCU201SQrgLeHISSxlrdlpuBXjXcduVtO/0o69cMT4ryuEf97Pfghk3dnmNoOCICAM7P+nhtHDVs0NvaZczbmgRC4OlmqQAU83fMiK6Y4Is=
X-Gm-Message-State: AOJu0YzWdZ7UMpzvHIWHGF8vedi/s5CEDDS81Kds4CI3NN0KiKUSY9DR
	coFxj6nq4JER1dxGLWYjBUG9Toh0wGA/VHGxMLxpOvOZohYhu/M1RZi9zcq79Pg=
X-Google-Smtp-Source: AGHT+IHtac1x+2okMIOH+Hnc0f3s0D5GWOt1xoE90SPIkSQ0Qn4HcFOpm6VtjJAh/2l6CY/a25vuLg==
X-Received: by 2002:a05:620a:a4b:b0:790:6b89:6a08 with SMTP id j11-20020a05620a0a4b00b007906b896a08mr1878021qka.73.1714115709050;
        Fri, 26 Apr 2024 00:15:09 -0700 (PDT)
Date: Fri, 26 Apr 2024 09:15:06 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 2/4] livepatch: introduce --force option
Message-ID: <ZitUeq8ugOKHb_QA@macbook>
References: <20240424081957.34326-1-roger.pau@citrix.com>
 <20240424081957.34326-3-roger.pau@citrix.com>
 <a7dd1c1e-76b8-437e-bfbc-111a904ab861@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a7dd1c1e-76b8-437e-bfbc-111a904ab861@suse.com>

On Fri, Apr 26, 2024 at 08:41:48AM +0200, Jan Beulich wrote:
> On 24.04.2024 10:19, Roger Pau Monne wrote:
> > @@ -571,6 +575,19 @@ int main(int argc, char *argv[])
> >          show_help();
> >          return 0;
> >      }
> > +
> > +    if ( strcmp("--force", argv[1]) )
> 
> I guess this missing ! or "== 0" is the reason for osstest reporting a
> livepatch-run failure.

Bah, seems like I dropped it when changing from strncmp to strcmp, as
it's present in v3.

Will send a fix ASAP.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 07:21:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 07:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712484.1113215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Fu5-000697-NT; Fri, 26 Apr 2024 07:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712484.1113215; Fri, 26 Apr 2024 07:21:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Fu5-000690-Kt; Fri, 26 Apr 2024 07:21:53 +0000
Received: by outflank-mailman (input) for mailman id 712484;
 Fri, 26 Apr 2024 07:21: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=Svmy=L7=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s0Fu4-00068u-RM
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 07:21:52 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6134c55-039d-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 09:21:50 +0200 (CEST)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-78f04581a66so112390285a.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 00:21:50 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 c16-20020a05620a201000b0078ede411c92sm7702902qka.27.2024.04.26.00.21.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 00: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: a6134c55-039d-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714116109; x=1714720909; 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=j14dfvYZvjCdt7gs1P2gIvnQbYZ2Cot6fyVm3A+/tOU=;
        b=wG+FlDXTBOb4M1rKpgubygxxEri3iqaMcmWEvIS48SjZad9jki3h7gRE2da6GDvjDp
         EuE+pWacVeVe9tdkRLpnn1LEIvROiDtuRtNI2Th4PdGm0g5Oif6YmmC8AA5e3dndfOiV
         BEVUZBPQ+fs65Lz0U9MG63UyFNGAmCUqIq2Ho=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714116109; x=1714720909;
        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=j14dfvYZvjCdt7gs1P2gIvnQbYZ2Cot6fyVm3A+/tOU=;
        b=TGh+70U4PYAaOmQ+PFeHgZTfQIQ1sD+3pg5T7fDAQ4JdezTtRhhWuFQqIaNwJajpf6
         aA6CIdonvIkvywQVYPzV1+cYO/OaJUH8h6kRLeDSsFB5MXrtHsT6k1qYvosdEpWzpImJ
         TpuB76jGoud2hkRAim3TFLgp6hT0a9UoXzNqNvpCcvgoe0/H70L3VDjcW6n8f9eJj8cs
         agvMV8d6DOQMnCIajNHv3KOHKAnu0hw9nddx8adECn5AjAkfBvG5/YRV5G2cnRx+ZRtU
         bdCOc1sH3lt4m3HDnFKh6tqgBPQTov8EijBo6fAO/ZbpxXZ14U1rQu0SLcmyazCuNOoR
         9JlA==
X-Gm-Message-State: AOJu0YxvX4EKogjbK6CJHsA5orJDw3nVjjNepfscSAOWijqW9yIf00Di
	qeVCdXrtOEbR2Afbz4244Lk4fZmphC0K7MwN6e94C+kW2iPP73itfOIcv9b76Uq/EZ3Ni9f+r4P
	w
X-Google-Smtp-Source: AGHT+IEplsnCxLrtfOwGU2zMO6qC9tsY39Xf1LsNHp+KUi3VAS28wEFyUAG4Wxf5den2ZKX24/+zrQ==
X-Received: by 2002:a05:620a:469e:b0:78e:dc0d:9e70 with SMTP id bq30-20020a05620a469e00b0078edc0d9e70mr2496491qkb.45.1714116108969;
        Fri, 26 Apr 2024 00: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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] xen-livepatch: fix --force option comparison
Date: Fri, 26 Apr 2024 09:21:44 +0200
Message-ID: <20240426072144.48828-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The check for --force option shouldn't be against 0.

Reported-by: Jan Beulich <jbeulich@suse.com>
Fixes: 62a72092a517 ('livepatch: introduce --force option')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 tools/misc/xen-livepatch.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index c16fb6862d6c..f406ea1373ae 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -576,7 +576,7 @@ int main(int argc, char *argv[])
         return 0;
     }
 
-    if ( strcmp("--force", argv[1]) )
+    if ( !strcmp("--force", argv[1]) )
     {
         if ( argc <= 2 )
         {
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:14:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712514.1113232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Gic-0007qn-T8; Fri, 26 Apr 2024 08:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712514.1113232; Fri, 26 Apr 2024 08:14:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Gic-0007qg-Q2; Fri, 26 Apr 2024 08:14:06 +0000
Received: by outflank-mailman (input) for mailman id 712514;
 Fri, 26 Apr 2024 08:14:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mvt6=L7=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1s0Gib-0007qa-7s
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:14: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 f224db2e-03a4-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 10:14:04 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-516d2600569so2262502e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:14:04 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 g28-20020a0565123b9c00b00518be964835sm3064092lfv.53.2024.04.26.01.14.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01:14: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: f224db2e-03a4-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714119244; x=1714724044; 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=xvcLmv58SuTMxxeH61cyDu/Pqz4IEAUHw7A4w1DHnyk=;
        b=cxq0a8c86QsQdKEzMyL6mkRJ4gBMEZN+2ukwxyk061PB0tiaC+spy1c9401DnMkBfL
         3uSMBIClDeq+mRQGTgUIe/S6AtuYvgftVi/Y5B7BohncwlS2JhugXj5fZfQviPpYnHWE
         ulvSCWTrrL7oFotUOSw4ZHek0mNiYqZvJe6fhcf1U6sgGMiHH1cHaXmiJZqQQZchVdeG
         FI9GwjxfLCJXZrak21ubXZRnfvCadH5XHQ4fgReYQHHyUlXcIq5oFF5EzARjMi44sVtk
         aLsQ1RDDhnAbiJrFQwgfJOXA54aE3/A+tOrOQVhznS427L3y4ccDI+bICDPmM7FEIpnI
         z6Pw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714119244; x=1714724044;
        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=xvcLmv58SuTMxxeH61cyDu/Pqz4IEAUHw7A4w1DHnyk=;
        b=YBNVgkYdNYtySb22ICS3HoYiZD2T3x1NE81OHrJ0/mSGSdGcUdMq9vGiie99mgB5b9
         5MWigKFGoKNtpdA6t5erKINPc/DnMI5D5ho93kNAX2lUauWffHRnjgfet+V4wIDscC3q
         9V0bcQOfZ52GRBkpRwmvsvCHqFbrye/loD5INhDw2LEGbymxfRGUNo3wln6q1uvLrmxC
         zAYMR35cQUCuZfyNVUQ4qiOwKY2FElamKzapbpQRJu6E+Clto5gJtAE8/tLFOGR8Getf
         BCU5PZa1fuv3r2ifc2ik+oYnw26beKOddpZHw3CieZvC5uCbl+DNKTsPJF5l/q9cru3Y
         XNtw==
X-Forwarded-Encrypted: i=1; AJvYcCWClKPH7MMmXlfXPEBivmb202TKv8sCFa+aQxPH01DQPX5GaP6YtsB5ht7xPf4TxYziuIOi2hEiOdum+ddEsqtgJFdZlLQicyCVagPjNLQ=
X-Gm-Message-State: AOJu0YyzC9DsaGQ434MGA5wlj5Xgc3J3wGR1mOd/7LPMuVVFzKTu/AUW
	mrKwQIZgpc5I/RwKqFfMknYZYp2Dd1F4MXs7xL9aXvSp8w00Yq1O
X-Google-Smtp-Source: AGHT+IExfdDNjlRHuAHO/qqDBTeHvR6sbR8oAeeRF/jm+h0QhQhhxSkh3ZejN4lWOkVvKacS8u6+vA==
X-Received: by 2002:ac2:528c:0:b0:519:730:b399 with SMTP id q12-20020ac2528c000000b005190730b399mr1092310lfm.9.1714119243709;
        Fri, 26 Apr 2024 01:14:03 -0700 (PDT)
Message-ID: <367bcd4d7f501ce72a8c101dfd846e94682d4045.camel@gmail.com>
Subject: Re: [PATCH v8 02/17] xen: introduce generic non-atomic test_*bit()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Roger Pau =?ISO-8859-1?Q?Monn=E9?= <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>,  Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
Date: Fri, 26 Apr 2024 10:14:02 +0200
In-Reply-To: <3827c11c-6d47-411d-a356-871def4e5b30@suse.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
	 <1a0977e3cf5a2de9f760ca5ec89a0d096894a9e3.1713347222.git.oleksii.kurochko@gmail.com>
	 <3827c11c-6d47-411d-a356-871def4e5b30@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-25 at 17:35 +0200, Jan Beulich wrote:
> > =C2=A0 /* --------------------- Please tidy above here ----------------=
-
> > ---- */
> > =C2=A0=20
> > =C2=A0 #include <asm/bitops.h>
> > =C2=A0=20
> > +#ifndef arch_check_bitop_size
> > +#define arch_check_bitop_size(addr)
>=20
> Can this really do nothing? Passing the address of an object smaller
> than
> bitop_uint_t will read past the object in the generic__*_bit()
> functions.
Agree, in generic case it would be better to add:
#define arch_check_bitop_size(addr) (sizeof(*(addr)) <
sizeof(bitop_uint_t))

Originally, it was defined as empty becuase majority of supported
architectures by Xen don't do this check and I decided to use this
definition as generic.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:21:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:21:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712518.1113242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0GpT-0001Ft-IR; Fri, 26 Apr 2024 08:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712518.1113242; Fri, 26 Apr 2024 08: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 1s0GpT-0001Fm-F4; Fri, 26 Apr 2024 08:21:11 +0000
Received: by outflank-mailman (input) for mailman id 712518;
 Fri, 26 Apr 2024 08:21: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=Mvt6=L7=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1s0GpS-0001Fg-1F
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:21: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 ef1a88ec-03a5-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 10:21:09 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-57222fc625aso2244229a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:21:09 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 y20-20020a056402271400b00572300f0768sm2728556edd.79.2024.04.26.01.21.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01:21: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: ef1a88ec-03a5-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714119668; x=1714724468; 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=LOkgJC3azMPRkO93Rf/OS/EW5CY4QkXSCHNZXK+VmxQ=;
        b=YX7L5GJ151SPw8DAS7dXGxKlD+rrUyqlPAIXYdwPZvZAIFIPYyNNDccFp3rkKefnO9
         6URTwv03Iye+mxvvVQszwMXoxcE6GxC9oZnwy59/2HGfl/G6PgNApJnbg//mTfV5gR+t
         VoU5O4fogmxTJ3EEhYBqL3+qtQVjS0um44x3LZfS8tn2QqnIQaBYicng4zRYAgz5sJbd
         spWAXfzKEGXFIrXR5OOHap9Y5YX0sPdPG5a4qvaMw5WE6KLuxcizFVGqTaPozJslavTL
         1NiZEQSD5xI2gjnlbG29+MwL47i5BlC+v9dLMwIocvuhZp1X74p/vETPOtYXvYyYCeQN
         a1Rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714119668; x=1714724468;
        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=LOkgJC3azMPRkO93Rf/OS/EW5CY4QkXSCHNZXK+VmxQ=;
        b=tFjV62rXZQwzvJ2Zoo/Dhi4yVE6OxOPbAVcC7MtnIy8jvgHhZdCggX6cSZEomBfEnJ
         4ZNxcESm+kc0nJjLIHH/eKAZB8TEpDmWlgTTqX6mzKqDCjpRu8J637Pt2ws/F7qwgY/4
         tHEOIo9yYag0rww2SZSNKKnagsqM/q4Z0mHvJgcTGm0Ds1U51FOAvPEhJ38zNjq1hjad
         RhcWUQmETrG3ssEDy0rSmY1QOJN1QpGevi6FNMIJ2g0PgtKFLwfWdSx8e3iVmKw9NIqG
         iu2AjcCMiKhrzfw8bRpR0vcKo2ZqrmMCMv8bd13Sm63jOsHHXZl1moYwAkCCN2v8IOrj
         ITvQ==
X-Forwarded-Encrypted: i=1; AJvYcCVXsnrkcwBsc99TFUaZqTcGmpRIZIrkStLZOKog/CjyefDvMmaoVhfSAlafXYV/TWOVUOtl1zOI1083MwxgLt0POGBylnUiwux8EZcsrG4=
X-Gm-Message-State: AOJu0YytJ5g3YudURjqZmCTem3/9gb+ifbc/AuzW+V1kFbz6FYr031C4
	a3BX40hJqeCgA4v9jB9ZQB6gHKnUZbMgp6xRaPKlkgV5/qgdEsz+
X-Google-Smtp-Source: AGHT+IHIcEjfAlZlHlM+fVoMbDvmRrxLCpUGrAJxOwxazqUn8HU/mwoc6gVUo6voApBpLVsFkBVcvQ==
X-Received: by 2002:a50:9f8f:0:b0:56d:f246:bfa4 with SMTP id c15-20020a509f8f000000b0056df246bfa4mr1782071edf.23.1714119668101;
        Fri, 26 Apr 2024 01:21:08 -0700 (PDT)
Message-ID: <fb1a228b1bd58d17d7836c3413d3b0a8a9602978.camel@gmail.com>
Subject: Re: [PATCH v8 03/17] xen/bitops: implement fls{l}() in common logic
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Fri, 26 Apr 2024 10:21:06 +0200
In-Reply-To: <a6245e9e-a156-4b17-8695-e072915fe78b@suse.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
	 <60bc710b990ed1d45741888df7e97cf25d150e61.1713347222.git.oleksii.kurochko@gmail.com>
	 <a6245e9e-a156-4b17-8695-e072915fe78b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Thu, 2024-04-25 at 17:44 +0200, Jan Beulich wrote:
> On 17.04.2024 12:04, Oleksii Kurochko wrote:
> > Return type was left 'int' because of the following compilation
> > error:
> >=20
> > ./include/xen/kernel.h:18:21: error: comparison of distinct pointer
> > types lacks a cast [-Werror]
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 18 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 (void) (&_x =3D=3D &_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=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~
> > =C2=A0=C2=A0=C2=A0 common/page_alloc.c:1843:34: note: in expansion of m=
acro 'min'
> > =C2=A0=C2=A0=C2=A0=C2=A0 1843 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 unsigned int inc_order =3D min(MAX_ORDER, flsl(e
> > - s) - 1);
>=20
> Apart from this I'm okay with this patch, assuming Andrew's won't
> change in
> any conflicting way. As to the above - no, I don't see us having
> ffs() / ffsl()
> returning unsigned int, fls() / flsl() returning plain int. Even more
> so that,
> given the LHS variable's type, an unsigned quantity is really meant
> in the
> quoted code.
If I understand you correctly, it's acceptable for fls() / flsl() to
return 'int'. Therefore, I can update the commit message by removing
the part mentioning the compilation error, as it's expected for fls() /
flsl() to return 'int'. Is my understanding correct?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:26:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:26:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712521.1113251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0GuY-0002T7-4g; Fri, 26 Apr 2024 08:26:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712521.1113251; Fri, 26 Apr 2024 08:26:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0GuY-0002T0-17; Fri, 26 Apr 2024 08:26:26 +0000
Received: by outflank-mailman (input) for mailman id 712521;
 Fri, 26 Apr 2024 08:26:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mvt6=L7=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1s0GuX-0002Su-F0
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:26:25 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab201446-03a6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 10:26:24 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5709cb80b03so2010769a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:26:24 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 ij6-20020a056402158600b005705bfeeb27sm9704704edb.66.2024.04.26.01.26.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01:26: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: ab201446-03a6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714119984; x=1714724784; 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=dupvbycCgvWsfuq1pB8+lceFfgrL+4J9sIop9xCVlqQ=;
        b=ChjBImOLyumTve09zAFG7KUp+2h6NXhXOBvi9k9ySmeA3swoy3yIvLVI0kBFiAbSlw
         aSxbO24u8+FbJrwYTc9jZbq/J2Gp8m7WQ8mD3qePPyxgGQAfZbhwdINjRyPpBVET8Cfo
         bIU/lKwZyjNnPFnqKHv/bTsvN+H+xK/8N0SMSR2VEADOlCyaflsIsh5TJUo/JdVYjQTj
         0YK9e7MoVkocO/kSzUXlJjODqFEzxjcFyZPGvhypF8IYvZTs+JPQQgb0OONiX8EKrUBY
         rySVcYB46GSx0LFkL2OYWUgqpnujvz1xRZD2TVARey4yTlX+vjSdDtsAA/c1jMOnIUYe
         rfZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714119984; x=1714724784;
        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=dupvbycCgvWsfuq1pB8+lceFfgrL+4J9sIop9xCVlqQ=;
        b=bl1VJi5sbcl44jk+4vu/IzyR9c2DBDfjEzEOiSAWKb4uW1PBV6KH6inEWtFqc1zbRU
         FKp1esR6Gm7YK4Cbwi0dOMbL0wMTj/XKMrK3Pji9vMQkHo+3qtboyGpR/194xOmbg4up
         U1HgSq3J7cr1mhLs4eN7xKHQojrLavQvSiXzcshQL7rF4HJGCA5/wtn17hO5YrbmnTm1
         oUvmE++1c2rA3NbxKvqVO09VXkvMYgcUWQZ+5sNoFUrvVvM1VFG9ayTDpolSfOK2z3Gl
         Hbkd9eTDUDzTSg44orwhVbN1UBW/kGZ+EgZ9bkas7yWYD4VVlZa0Cz/X/NfcAc9k8rQB
         BuKA==
X-Forwarded-Encrypted: i=1; AJvYcCV2VuiQT2tCBBYa/J6syD5regfeEGYLvsf52VtyXF3p6c1eEdlAtEcAXnnehbI7DKYU+ZKtKBJrNt0vpJqIwRVdONC2/Q3nj1uxFHiPDWc=
X-Gm-Message-State: AOJu0YxyQuOsYo0RqCvufF+wSc/Vq+cUAWKMCyUBc1eKvXVyws4g1X1N
	IGbIFGy7GDZZuCNBDrrcrBZxwts2tEox4qqSdbJKg6UvhclAJD2p
X-Google-Smtp-Source: AGHT+IGiRQRX2n+BNNhf0BJET4e/7irBDm/jWNFrhs4cyfGCfFbJdS6253RPvSY3S5fiYk2PXQmTgg==
X-Received: by 2002:a50:c348:0:b0:572:46db:1677 with SMTP id q8-20020a50c348000000b0057246db1677mr1105089edb.19.1714119983473;
        Fri, 26 Apr 2024 01:26:23 -0700 (PDT)
Message-ID: <f06c079116c194965491dfc669a32b9c60a90b3d.camel@gmail.com>
Subject: Re: [PATCH v3] xen/riscv: check whether the assembler has Zbb
 extension support
From: Oleksii <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>, George Dunlap
 <george.dunlap@citrix.com>,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Fri, 26 Apr 2024 10:26:22 +0200
In-Reply-To: <f410f3a619079b5089ea13018c26117e7e3f6e62.camel@gmail.com>
References: 
	<95441782d1920f219d63dee1c82c7df68424d374.1713523124.git.oleksii.kurochko@gmail.com>
	 <956388de-ef6d-4d7a-8b5f-2a292af8db53@suse.com>
	 <f410f3a619079b5089ea13018c26117e7e3f6e62.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Mon, 2024-04-22 at 17:41 +0200, Oleksii wrote:
> On Mon, 2024-04-22 at 11:43 +0200, Jan Beulich wrote:
> > On 19.04.2024 16:23, Oleksii Kurochko wrote:
> > > Update the argument of the as-insn for the Zbb case to verify
> > > that
> > > Zbb is supported not only by a compiler, but also by an
> > > assembler.
> > >=20
> > > Also, check-extenstion(ext_name, "insn") helper macro is
> > > introduced
> > > to check whether extension is supported by a compiler and an
> > > assembler.
> > >=20
> > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> >=20
> > Acked-by: Jan Beulich <jbeulich@suse.com>
> > despite ...
> >=20
> > > --- a/xen/arch/riscv/arch.mk
> > > +++ b/xen/arch/riscv/arch.mk
> > > @@ -11,9 +11,14 @@ riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 :=3D
> > > $(riscv-march-y)c
> > > =C2=A0
> > > =C2=A0riscv-generic-flags :=3D $(riscv-abi-y) -march=3D$(riscv-march-=
y)
> > > =C2=A0
> > > -zbb :=3D $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
> > > -zihintpause :=3D $(call as-insn, \
> > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(CC) $(riscv-=
generic-
> > > flags)_zihintpause,"pause",_zihintpause)
> > > +# check-extension: Check whether extenstion is supported by a
> > > compiler and
> > > +#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 an assembler.
> > > +# Usage: $(call check-extension,extension_name,"instr")
> > > +check-extension =3D $(call as-insn,$(CC) $(riscv-generic-
> > > flags)_$(1),$(2),_$(1))
> > > +
> > > +zbb-insn :=3D "andn t0, t0, t0"
> > > +zbb :=3D $(call check-extension,zbb,$(zbb-insn))
> > > +zihintpause :=3D $(call check-extension,zihintpause,"pause")
> >=20
> > ... still not really being happy with this: Either, as said before,
> > zbb-insn
> > would better be avoided (by using $(comma) as necessary), or you
> > should have
> > gone yet a step further to fully address my "redundancy" concern.
> > Note how
> > the two ultimate lines still have 3 (zbb) and 2 (zihintpause)
> > references
> > respectively, when the goal ought to be to have exactly one. E.g.
> > along the
> > lines of
> >=20
> > $(call check-extension,zbb)
> > $(call check-extension,zihintpause)
> >=20
> > suitably using $(eval ...) (to effect the variable definitions) and
> > defining
> > both zbb-insn and zihintpause-insn.
> >=20
> > But I'll nevertheless put this in as is, unless you tell me you're
> > up
> > to
> > going the extra step.
> I am okay with all your suggestions. So the final version will look
> like ( if I understood you correctly ):
Jan,

Could you please review the changes below? I just want to ensure that
you are okay with them. If you are, I'll add your Acked-by that you
gave to this patch in previous answers.

Thanks in advance.

~ Oleksii
> diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> index dd242c91d1..f172187144 100644
> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -13,12 +13,19 @@ riscv-generic-flags :=3D $(riscv-abi-y) -
> march=3D$(riscv-march-y)
> =C2=A0
> =C2=A0# check-extension: Check whether extenstion is supported by a
> compiler
> and
> =C2=A0#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 an assembler.
> -# Usage: $(call check-extension,extension_name,"instr")
> -check-extension =3D $(call as-insn,$(CC) $(riscv-generic-
> flags)_$(1),$(2),_$(1))
> +# Usage: $(call check-extension,extension_name).
> +#=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 it should be defined variabl=
e with name: extension-name :=3D
> "insn"
> =C2=A0
> -zbb-insn :=3D "andn t0, t0, t0"
> -zbb :=3D $(call check-extension,zbb,$(zbb-insn))
> -zihintpause :=3D $(call check-extension,zihintpause,"pause")
> +define check-extension =3D
> +$(eval $(1) :=3D \
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(call as-insn,$(CC) $(riscv-generi=
c-flags)_$(1),$(value
> $(1)-
> insn),_$(1)))
> +endef
> +
> +zbb-insn :=3D "andn t0$(comma)t0$(comma)t0"
> +$(call check-extension,zbb)
> +
> +zihintpause-insn :=3D "pause"
> +$(call check-extension,zihintpause)
> =C2=A0
> =C2=A0extensions :=3D $(zbb) $(zihintpause)
>=20
> If the diff above looks good, I'll sent a new patch version.
>=20
> Thanks.
>=20
> ~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:30:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:30:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712533.1113262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0GyJ-0003zW-Q2; Fri, 26 Apr 2024 08:30:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712533.1113262; Fri, 26 Apr 2024 08: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 1s0GyJ-0003zP-Mb; Fri, 26 Apr 2024 08:30:19 +0000
Received: by outflank-mailman (input) for mailman id 712533;
 Fri, 26 Apr 2024 08:30:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=duI6=L7=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1s0GyI-0003z0-R4
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:30:18 +0000
Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com
 [2607:f8b0:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 35d84770-03a7-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 10:30:17 +0200 (CEST)
Received: by mail-oi1-x230.google.com with SMTP id
 5614622812f47-3c5ed7fdbb1so1418851b6e.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:30: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: 35d84770-03a7-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714120216; x=1714725016; 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=Ir3Htn6xFQKqQ1rrSRCs954i22FBAEAX8XDahxDQvao=;
        b=i1ysjdvp6tREfejtZNJWbma2UuNJDzKxY/SnCuYzwNiP0TnPo9n9VyTTaIfZZqnsak
         +ZWsXRW1yG5YUhtwrXRLbQDOv0ey0Eb/QOIZnAMoK24469qVmBMsdd73d+A69Uu5TC+T
         kb4BTaIU5hNznRbZtlX+jgvOFKRaGOSAsO+pw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714120216; x=1714725016;
        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=Ir3Htn6xFQKqQ1rrSRCs954i22FBAEAX8XDahxDQvao=;
        b=rCotv/1nD33lroca8gRZDZQyOsldT7o3NOLQyKm5WY7nd7Mzt5hNsFQP/L9nEzaeF/
         1IWMx1QnkYconQ4fI0nb2syJhCe0wOgQrfbJrut+lMaZpGNCC5ie3aGWJtyA0uDoBEJ8
         4CB0eA+3IBndXF3TXVRELR4SA3OtbGOs8rOk5EaQdK8+j+EIjRqXSNuQAeDVwsKNmuEY
         kpzSTYNL5fxLmfcDkmnjvAOFfpLfjkcDjOSLudypxYHhAs64StUJaEQCWZD9a2mgiz1P
         3T1BD2Wtz5gH6gu8z1kOkOLlymrDdQq5gybY+vNW8Z3Z+B6BgBpVCmaPEtQQc6aegoyw
         0SVA==
X-Gm-Message-State: AOJu0YzNO0dYPEo4BEp1d0fweY8C8Yi1ie9rBt46K5k1RKAeNZGKBRxk
	6SzE4YuQAKcZQjtjtFdulb1iW3gYgWHpBilRnZEGRwQ14fZgId6CN0MxwcrvxxrOoASNQpShAq2
	rREgLsmM59fVM9wyF2DBC6eD505+vYZ3I+TMujUabsxd2JcQn
X-Google-Smtp-Source: AGHT+IHxkiJLT5J/xIS1EBB5DiIb8Bd+8xUZ4rvEsU0HibgzMtiz0bj5dJmMmgy/JaOSy9H+NUCDDa9LGtlwx3OwpUM=
X-Received: by 2002:a05:6808:1309:b0:3c8:52bf:5114 with SMTP id
 y9-20020a056808130900b003c852bf5114mr1543801oiv.4.1714120216396; Fri, 26 Apr
 2024 01:30:16 -0700 (PDT)
MIME-Version: 1.0
References: <20240425091249.2639809-1-george.dunlap@cloud.com> <ed721736-532a-4989-981a-4d8b0789e159@citrix.com>
In-Reply-To: <ed721736-532a-4989-981a-4d8b0789e159@citrix.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 26 Apr 2024 09:30:05 +0100
Message-ID: <CA+zSX=bvQFxi8gRxAyEDqhQ_i==Ech=u_reY8p450M-ezjS5RA@mail.gmail.com>
Subject: Re: [PATCH] svm: Fix MISRA 8.2 violation
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Roger Pau Monne <roger.pau@cloud.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Apr 25, 2024 at 5:00=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 25/04/2024 10:12 am, George Dunlap wrote:
> > Misra 8.2 requires named parameters in prototypes.  Use the name from
> > the implementaiton.
> >
> > Fixes 0d19d3aab0 ("svm/nestedsvm: Introduce nested capabilities bit").
>
> Nit.  We treat Fixes: as a tag.

Oops -- I'll fix that on check-in.  Gmail is also underlining my
misspelling of "implementation" in red, so I'll fix that as well.

> Also you might want to include the Reported-by's.

I thought about adding a Reported-by; but this was reported by Eclair,
which is run automatically, right?  We typically don't give a
"Reported-by" to the person who flagged up the osstest or gitlab
failure, so I figured this would be similar.

I'm happy to give credit where it's due, however.  You were the first
one who reported it to me, but Nicola also raised it; and I guess it's
someone else who's paying for the Eclair runs.  So what "Reported-by"
did you have in mind?

> Otherwise, Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> although
> I have a strong wish to shorten the parameter name.  That can be done at
> a later point.

Thanks,
 -George


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:34:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:34:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712539.1113271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0H2W-000509-8l; Fri, 26 Apr 2024 08:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712539.1113271; Fri, 26 Apr 2024 08:34:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0H2W-000502-64; Fri, 26 Apr 2024 08:34:40 +0000
Received: by outflank-mailman (input) for mailman id 712539;
 Fri, 26 Apr 2024 08:34:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LYji=L7=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1s0H2V-0004ye-5V
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:34:39 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2606::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0670a56-03a7-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 10:34:36 +0200 (CEST)
Received: from DUZPR01CA0065.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c2::8) by AS2PR08MB9787.eurprd08.prod.outlook.com
 (2603:10a6:20b:604::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 08:34:34 +0000
Received: from DB3PEPF00008859.eurprd02.prod.outlook.com
 (2603:10a6:10:3c2:cafe::1b) by DUZPR01CA0065.outlook.office365.com
 (2603:10a6:10:3c2::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Fri, 26 Apr 2024 08:34:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB3PEPF00008859.mail.protection.outlook.com (10.167.242.4) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Fri, 26 Apr 2024 08:34:32 +0000
Received: ("Tessian outbound b7675f20d34d:v315");
 Fri, 26 Apr 2024 08:34:32 +0000
Received: from ef299b9418e8.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D1327EF5-29D7-4AAC-9EA9-24782D688573.1; 
 Fri, 26 Apr 2024 08:34:25 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ef299b9418e8.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 26 Apr 2024 08:34:25 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB9150.eurprd08.prod.outlook.com (2603:10a6:20b:57a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr
 2024 08:34:23 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6204:b901:9cc6:bf2b%6]) with mapi id 15.20.7472.044; Fri, 26 Apr 2024
 08:34:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0670a56-03a7-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Q7hXQS1zWPlFaeBKodjY3BM9CTvE35+bFLQTVRU5/U5PK20Jvtcfwke9r5JvMgm/1K35TWZjF96dPiMtesplhqf0aM0R5eEtcsIRzuqtMRMZxWuCssZ2zHXNe2vcM15A0i5bkUyUTYvsYJqRcny1aFuMppYexI+LngROtmFsH/Na6OohM/vdcCcdMIcavKIUOODQCFlboH7lt+Z1yZHr1mDd25vFQbaM4JdzUTWe+mLbaW1LWQX+YXWBUFJeO3NLZRjRb6JJ9BuRhyQIFMtq2CY0GKHMIBRRYkj3Pmm2WzCRq4j1nSgRsqi5UqAAKzqGimGay+lmajbcRTo6N3s/dg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UkuM/TRIQefcUAM/UnQTpfPfnwdxOrboQa341g3Is3A=;
 b=ik7S+3t0ZboEdHl9HHVGc2ntpeGccwamXNtJPFI1dum3rW0twFeKG30gVfNP/xuMKphnhUntjql7E/aY6M1Tvj/jPHX38wZNDzdRNsDt66c3Ybzc7n4R1+hkTWT0cfuJsMX8ILYH5nZC++2K3OQ8lxXzTyzkb2x27UpHZIE8lG/n58ammuiu/QxsquDsVPFeia5J+bJhLoyaKx0P5qwtSENW9dA4l+g3Wx3jsAdhiHp4nPlKMCLA4xZZ28pmRoThS0RQVH9ZbtvdEzFrDo8sk2Yken9hXO9P/TtzQFGAxGMyAxdEE+y7y2uGgRr6/MSw5sBkIpwwc+WF7WafgY4xog==
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=UkuM/TRIQefcUAM/UnQTpfPfnwdxOrboQa341g3Is3A=;
 b=k5HhBH4vuA3SSAKawuJVzWl4WD2PsmU5GxKBP04PX6v6d2u8EkO4Y8a38Qg0lUBuVyLUMG8y0y9X84Xd7Joi2kptAyKjc4o0tKyjfV4QFkVfjP+wtyMRCyCujm2c9f8nYCaEkfWV0fDCIMHDNpFNwAx9x4lm6IUkmy46EcEzCQ4=
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: a6750dff9dc6eba2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fnmLRfFpiO8XyTyB0RUiFzkA6iU+M38G36aqe7vCQjIuWYUEKyGBQTJ8m+80KdeZHzjSwHXdR/C5lMf5dH7F8DHQnl8rmqjmRdDLDEmPkOlVYnflmL++GdShuEw0vbJk3v4UVegDRmjNLWbtZm6Gge+d5jpWH4545wiH9GhrU4rNZMVu1ZQUH/VmlR3rKNmqPSlArlHeVBcbmFFRtIkQmzpY2YyWQS7PkaXzKbEwcE1Dx40/8Ij9TRyp7BW7prGjZd4BQNC4LomiXY0iC6opw8wpAS97qf7I/w68ly0lHTItwRBr+rZm3zu7S/j4M0S+HHMtLFVuXYEvxcKjbbJVoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UkuM/TRIQefcUAM/UnQTpfPfnwdxOrboQa341g3Is3A=;
 b=DEp+Vcez4GOcD++IebjtBdMbSldR1hSYFI1F0r6nltbVjkeh9PsiJM9CLt2p+vFNA9gnTro+sCS17J0C4F+2xwv/zeG5FS3Q+47dDvJJKL23PMXkf/IqjMD2l+tA3Wm0aomUVxXdpeniRdJ0GkQ01OoLbhKQH9nHzN3nPiQkER5HQJILzD6hSbJFk4XBIHxBUM6/pmwEyx+ST9wQnDyBnPrrbzqhkSrQFDPrDwKHrb0zkh8yzbvp7HcgOTT2uQzWj9mMYYJuWBf+d44AtAGQ1XVu5z5JXL53ctzwFYC8LJi1VadFwt9qQ9YlcvwB0SNHxYoTU0Pjfs1qDjikRmZfMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=UkuM/TRIQefcUAM/UnQTpfPfnwdxOrboQa341g3Is3A=;
 b=k5HhBH4vuA3SSAKawuJVzWl4WD2PsmU5GxKBP04PX6v6d2u8EkO4Y8a38Qg0lUBuVyLUMG8y0y9X84Xd7Joi2kptAyKjc4o0tKyjfV4QFkVfjP+wtyMRCyCujm2c9f8nYCaEkfWV0fDCIMHDNpFNwAx9x4lm6IUkmy46EcEzCQ4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Federico Serafini <federico.serafini@bugseng.com>, Stefano Stabellini
	<sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "consulting@bugseng.com"
	<consulting@bugseng.com>, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, Alessandro Zucchelli
	<alessandro.zucchelli@bugseng.com>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH] automation/eclair: reorganize pipelines
Thread-Topic: [XEN PATCH] automation/eclair: reorganize pipelines
Thread-Index: AQHalxT+g/fClqgaI0iwNGAhwN+Th7F6Ot6A
Date: Fri, 26 Apr 2024 08:34:23 +0000
Message-ID: <6DA0DCCE-6638-4F9F-83DB-A6CC1ED91BD8@arm.com>
References:
 <fe1fe9c964d1f2ba3cb46cbaf798cf698f341386.1713885065.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2404241704430.3940@ubuntu-linux-20-04-desktop>
 <74f86426-b3bb-4af7-85ca-15851acee6fd@bugseng.com>
 <8be082b6d22d61c0b14910680d3833a7@bugseng.com>
In-Reply-To: <8be082b6d22d61c0b14910680d3833a7@bugseng.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.400.31)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB9150:EE_|DB3PEPF00008859:EE_|AS2PR08MB9787:EE_
X-MS-Office365-Filtering-Correlation-Id: 56011a2c-2eea-460b-0ec4-08dc65cbb2a4
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230031|7416005|1800799015|376005|366007|38070700009;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?OHP6mhp7VnWHE+OQrFkMvSfyS2Yi2F6gGIUf5MgrU7r7ytgRTRZLvruIilbU?=
 =?us-ascii?Q?C3bSVzK9VWuaBVG13nXSQt+GdmsbdVIElcUZzAmyL8G9t/E8430zS+V5HIOs?=
 =?us-ascii?Q?Z2h3xueqw2QY82ICjFpAXNvCaukY/WcTNEJKJtkrjBEUC0xhPaFIAUhVIyvn?=
 =?us-ascii?Q?WmO3YbezhKY6BLxAjRK0Bh8rqMciUvuO646izjsqEr1IGFYKwjNBFWXOx8J7?=
 =?us-ascii?Q?sAjNRRTYW2LinOOuBuaAzvhEeLmO8uP4y/a0uaqF/4NOUr5DC/cz6Pie3wJ5?=
 =?us-ascii?Q?W2GwIXqlm0IrUn0jw+FTFtGG07ft6s4zmgVzB4t7MdlVhciat5ATQSaMXRrs?=
 =?us-ascii?Q?2F8D5DVQ/OI+Ovm1WrFwK29b25XAPAxYg/0SgiSZxxKXixeAJ/CeP5NDw6Q2?=
 =?us-ascii?Q?GtOpsIK+fnQyiTS9q0h9IHvzWBGYPYqPD2gba1Uyw4yJlrM0WuVq8JFZMf3e?=
 =?us-ascii?Q?EsF6q8yhQ4mZFvwniNR1iBHvcESZ7Vv7pzQ629KJRocSxIHBZ3NzxS5kUXNg?=
 =?us-ascii?Q?bTx/M0dfWjPm+qhkqPuIorvMQXfoWUQUzHRkowbMoPKcl6UJBELXkxtSQ6qT?=
 =?us-ascii?Q?fJS3kl3E5Qbfy917L68WgZh/4kZraT8szUKkWb6esu5H2zPLjGHt/6pcS9F5?=
 =?us-ascii?Q?rzG4kVfmfpoLIjY585WpamDU/Fr+O1RRDCTgEPmk8TipqZAJgP2wRZbfqhAb?=
 =?us-ascii?Q?MW5XgmRIc07YDXe4zlMv8M+SAakr0rGU3VAYx5+Di1pxGRSOiM+BmcwfU7B/?=
 =?us-ascii?Q?441y3Lu/hI9e083gOI4q4bjCCJKh6kvL35zQtQZNTHea4UJWfJ1gst+nwuE6?=
 =?us-ascii?Q?HBhfCIwCCuZ5Kr9A56HnI8s+9P0LJbXVMBEG7A2pbbthMf6WQ8w+kPL8Au1K?=
 =?us-ascii?Q?hrX5U5SLsNgQVUSl7m7wyQpWvG5r4OaA0aeucBG6rhFBtjIJXDFUOwvOxOSF?=
 =?us-ascii?Q?iNTEtaZZ/srrHfP24kU44y64bSK3aWs/IdweldEzpSomKUo1oh6O7zTo/I2W?=
 =?us-ascii?Q?VMNwCPNbbHL1TN3+ncDnnT1QuMv24aojKMzHt+u2D2C7N0vPu/zOBgpe+Alw?=
 =?us-ascii?Q?eYi91pKSwOve9mNAQhQMtLJRR7lzhvtA5WpOpVHmVIjSRb4m8Z524svbgz9j?=
 =?us-ascii?Q?Zw1XKWR4xuUnxwnoMmOR8PAAaZ8IPJR75T34/JL/3UZDfxXT/N0qGm8Ji8pm?=
 =?us-ascii?Q?WqUgF/Q+I8ABBscwk6SzLo0UygUJGsKLv34dZ+R/py1GCtJUH3+Dmoze4on6?=
 =?us-ascii?Q?66WLDIuSJqaDqwJ/LmdAU0xjSJfPqcVRVNXJFoi25AXmwQAOvhZYqoRXRaYP?=
 =?us-ascii?Q?ks9s8IhN905sm10C+kWCzrBBvASZgvlk7m6VbnHtVkGeng=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7416005)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <72F034DE7FEA5C4EB85F6D70BC7C5F1A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9150
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB3PEPF00008859.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7fcb7d9e-6341-42f7-e8d2-08dc65cbacf6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+WWMONhwsBudmdUxQWSQjyU3de1DSxgmuJXP1OZ83v+rX3Th6WCzV53DbAiR?=
 =?us-ascii?Q?bxpH7Eu9UDLPHAJLEApHrNhxQh25dSGaX7HJ9lIrf5lhuDfuDs0TIZ+SuO9G?=
 =?us-ascii?Q?E4R8vr7tEDjNi6w2qnXdZ612hK1d58JyZGVn7RtaFcdrCYzVb3a82MbhIKt7?=
 =?us-ascii?Q?eXxK4O4HBzn4++Vx4Ccn6sH5M0n7vuAn51owx8kcb96RT/aVp9OUdb+ATUZp?=
 =?us-ascii?Q?fSa0l5Nqi3RxT+igvZ0OcRtZmLpD/1Rn/VFUArxfpZgyWYT81ioDsDoSBSy6?=
 =?us-ascii?Q?q5xGAcTl39EnaRH7155CoskHNfdMC2vezNWwDRYmfj6wRMULhjcUoIhjvGZI?=
 =?us-ascii?Q?fk9gWEh2o+uW9OVJkUfqoLt65Nz0+VEVR9T+Ajy2IDV4bXxLZrk+/R4gl6Vy?=
 =?us-ascii?Q?00Nnkx6A+qgCvwPkmmUorEH2zKeP1uGsPCAeHlr2ZuvcgSwhPhO2LeNACpTQ?=
 =?us-ascii?Q?HZYTq2V27sQtUFJDMu9U/B8cXSpYxKVGpslBsyau8s73cXDoRneag1MxkkAs?=
 =?us-ascii?Q?1EDf5qmW0fQPvbgYYo8/AZI2Oea04jr9kEHYeXaxL30wrShsfaM2Yp//9Fj5?=
 =?us-ascii?Q?2W3AellX3h25p0/iLwqzADzHGtbuylJHk/RTSnpw1yVvUIEbhUw4NnGIpOfu?=
 =?us-ascii?Q?2Zj9wTAkrUcnKAsTrM0u4tGd+SOB26RL2/e/xF3F11xTlMNJXUEf56BjQSCj?=
 =?us-ascii?Q?y5QCY3S36D5DrnYgwLOMKxvsODol5sKmu6XoxI9RP9mFx6/DNxzCZwYWGOaZ?=
 =?us-ascii?Q?IDlpIP5fYh1bPJL5MnfrwdSTTr/x1hJusyyJxY4RHOW2rhLw49zarAT+fHFU?=
 =?us-ascii?Q?jY5PO4Yboy7dUhCqytVU7NyCqCeXH2+mQxi3lQe47nTlm3PBdQpjc+CeKABV?=
 =?us-ascii?Q?oYROxU97M2VO2PkVAXHsxS6R5tfZ9a0QIXlg3BaMb4JWdsd5+WxCa4+HhJBv?=
 =?us-ascii?Q?UDa+QQpHgWflpUtE/WaLUW3U+9d9WIBpycZ8PWET1bBFqBLwn9g34cMBDjUK?=
 =?us-ascii?Q?8ZfZNg2ZuW5CVlrnFfjGlSWgpBWe0N1k1cyHlrfq5Twp0nAWYChnnxXUjnyV?=
 =?us-ascii?Q?rKJbXBySEc8my4Gnq5YMlNTEXRIWXtPyMggji9Y1+yt7TwWzTZUtX5+mfPHT?=
 =?us-ascii?Q?WS60RvDIXAH0qy0lpiLH6lZv9BB8pibP0g/g7JhoQyQKv65l37zdrXnKIoB4?=
 =?us-ascii?Q?CAreTQ1LKcEVm6fGp15uLPSIXun7UWa6Zza05f/37SIaubf0zHdmNeM8tY5P?=
 =?us-ascii?Q?ZSgvhi7wsYj4Eedsq/8s/hyz8wlRmy+fobdUGglxw2qR4BIpyyh+WOStvanD?=
 =?us-ascii?Q?R+K+IRQlxV5ZnV+dZVlaoLuJE7UlkL45RfBmrVuEHRmCNxjiCn85j3E3txY/?=
 =?us-ascii?Q?8j9OpQBMGq2QvHh72R5GGq8puwN4?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 08:34:32.9630
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 56011a2c-2eea-460b-0ec4-08dc65cbb2a4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB3PEPF00008859.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9787



> On 25 Apr 2024, at 14:32, Nicola Vetrini <nicola.vetrini@bugseng.com> wro=
te:
>=20
> On 2024-04-25 11:40, Federico Serafini wrote:
>> On 25/04/24 02:06, Stefano Stabellini wrote:
>>> On Tue, 23 Apr 2024, Federico Serafini wrote:
>>>> From: Simone Ballarin <simone.ballarin@bugseng.com>
>>>> Introduce accepted_guidelines.sh: a script to autogenerate the
>>>> configuration file accepted.ecl from docs/misra/rules.rst which enable=
s
>>>> all accepted guidelines.
>>>> Introduce monitored.ecl: a manual selection of accepted guidelines
>>>> which are clean or almost clean, it is intended to be used for the
>>>> analyses triggered by commits.
>>>> Reorganize tagging.ecl:
>>>>   -Remove "accepted" tags: keeping track of accepted guidelines taggin=
g
>>>>    them as "accepted" in the configuration file tagging.ecl is no
>>>>    longer needed since docs/rules.rst is keeping track of them.
>>>>   -Tag more guidelines as clean.
>>>> Reorganize eclair pipelines:
>>>>   - Set1, Set2, Set3 are now obsolete: remove the corresponding
>>>>     pipelines and ecl files.
>>>>   - Amend scheduled eclair pipeline to use accepted.ecl.
>>>>   - Amend triggered eclair pipeline to use monitored.ecl.
>>>> Rename and improve action_check_clean_regressions.sh to print a
>>>> diagnostic in case a commit introduces a violation of a clean guidelin=
e.
>>>> An example of diagnostic is the following:
>>>> Failure: 13 regressions found for clean guidelines
>>>>   service MC3R1.R8.2: (required) Function types shall be in prototype =
form with named parameters:
>>>>    violation: 13
>>>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
>>> Fantastic work, thank you!
>>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>> Is this patch safe to commit now? Or would it cause gitlab-ci breakage?
>> Yes, it is safe because the ECLAIR analysis is still allowed to fail.
>> Committing this patch wouldn't break the CI but it will highlight some r=
egressions with the orange badge and the following messages:
>> arm:
>> Failure: 5 regressions found for clean guidelines
>>  service MC3R1.R1.1: (required) The program shall contain no violations =
of the standard C syntax and constraints, and shall not exceed the implemen=
tation's translation limits:
>>   violation: 5
>=20

Hi Nicola,

> +Cc ARM maintainers, Luca Fancellu
>=20
> after some investigation on these regressions on R1.1, there are some con=
cerns with the current code:
> 2209c1e35b479dff8ed3d3161001ffdefa0a704e introduced the struct
>=20
> struct membanks {
>    unsigned int nr_banks;
>    unsigned int max_banks;
>    struct membank bank[];
> };
>=20
> with a flexible array member at the end; this is well-defined in C99, but=
 what is non-standard (a GNU extension) is having this struct as a member t=
o another struct/union in a position other than the last.
>=20
> This is still supported by GNU (albeit reliance on this is undocumented f=
or Xen), but what is concerning here is the following (taken from [1]):
>=20
> "A structure containing a C99 flexible array member, or a union containin=
g such a structure, is not the last field of another structure, for example=
:
>=20
> struct flex  { int length; char data[]; };
>=20
> struct mid_flex { int m; struct flex flex_data; int n; };
>=20
> In the above, accessing a member of the array mid_flex.flex_data.data[] m=
ight have undefined behavior. Compilers do not handle such a case consisten=
tly. Any code relying on this case should be modified to ensure that flexib=
le array members only end up at the ends of structures.
> Please use the warning option -Wflex-array-member-not-at-end to identify =
all such cases in the source code and modify them. This extension is now de=
precated."
>=20
> It looks like this option, and the corresponding deprecation of the exten=
sion, will be available starting from GCC 14, so this might impact future c=
ompiler updates for Xen builds.
>=20
> Linux is also concerned about this (see [2]), so I think the changes in s=
truct layout introduced by the series [3] should be reviewed to determine w=
hether this change was deliberate or happened as a byproduct. If this is de=
termined not to be a legitimate concern, then this can be documented as an =
use of the GNU extension.

Thanks for letting us know, so the change was deliberate, the effect probab=
ly not, I guess we need to find a way to fix this in order to use this inte=
rface.

Cheers,
Luca




From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:47:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712549.1113306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HEz-0007vX-Bj; Fri, 26 Apr 2024 08:47:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712549.1113306; Fri, 26 Apr 2024 08: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 1s0HEz-0007sw-3c; Fri, 26 Apr 2024 08:47:33 +0000
Received: by outflank-mailman (input) for mailman id 712549;
 Fri, 26 Apr 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=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0HEy-0007Se-7m
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:47:32 +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 9e941b30-03a9-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 10:47:31 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2dd6a7ae2dcso28622501fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:47:31 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 qu20-20020a170907111400b00a5242ec4573sm10339211ejb.29.2024.04.26.01.47.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01: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: 9e941b30-03a9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714121250; x=1714726050; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XH0hx5FhOx9XD5Quim9d/dWx8ptFKhc8V8iHDPJ7zTg=;
        b=xzwqqh7qJSL3GCd03CS3YDPhxH0b5JoVRzM4NKOjGKz5UqdKuS1ZHCnqibB1s1Nrr7
         IBWcNPkcfs5sPGJZQcUBQqvFUxGUv+YhWUsOZwudTWVEfgh6jIDrPb3dyRu2WvWK0Xdm
         c3dx1FcSgFpmA117+/InSBrayvlrrenm/zI4QpsmS2xDv0uLt/lqpwQck7gjtjj9WCdR
         Q77LBB1hDvOWhgUUCGWiavIW7UcZkYAuYKta6MiRNPBgg3SeUYzLXhP5cNuvjA2VJu0O
         N970ICXyozjIo1aKSBY6fA9HucBn8+xFfMvnlu9KYhg1q3ZMSvQXvu8zUNUShx3FYMDI
         e4kQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714121251; x=1714726051;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XH0hx5FhOx9XD5Quim9d/dWx8ptFKhc8V8iHDPJ7zTg=;
        b=V9wB5isQnHmmcdGQ78JEpC4nR0pYjJ9Kt2EODe59V6Zk6EpL+cbJfHxiHr9qOdzdxf
         j5n+EN4SlfA9wEDUKbVqqRArXA6BYLXSIz/O7aM+NOpz0+G+sHz8fynwBEJFhu/ID2Z4
         NVbPnsglGivhYL++vfi2/5qzyMjhOBasLOb+QZqhyO9riZufyFAA7cofJ8HOsHyM4H4H
         I8rzeDeT8ptvfRBISSvDo1bNvPaUvsVlS02dV62PkiZcqdpJFm0UtJoDX6To8uZ2btwC
         nOn3pePUaVfvS0DyuSlR6Pjwm4qOqBJhVOgcMXWE7YCASaz+us58Ne/n8gLkrr3u/j09
         R5gg==
X-Gm-Message-State: AOJu0Yw6kFfg7ByKVqsJNpD4lvkJ5MsQhv4WgiLYSigaYHp3CGAnp9U8
	7nvGVRiGhCgGPB+kDnXT20CakNqYwmhSbDfl2jUjKdu44wBpNSe/uWUKhgcSUXtCkzk/Tlwo6gO
	0
X-Google-Smtp-Source: AGHT+IF3i2V4C8IrT0xG1QtMBdatvGwAt1q9obgLDlgBD01dAWvBGKrSS4ch3yan9selOlL5uX1L8g==
X-Received: by 2002:a05:651c:151:b0:2de:22b2:ab3d with SMTP id c17-20020a05651c015100b002de22b2ab3dmr1530149ljd.7.1714121250750;
        Fri, 26 Apr 2024 01:47:30 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v3 3/5] xen/arm: ffa: simplify ffa_handle_mem_share()
Date: Fri, 26 Apr 2024 10:47:21 +0200
Message-Id: <20240426084723.4149648-4-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426084723.4149648-1-jens.wiklander@linaro.org>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Simplify ffa_handle_mem_share() by removing the start_page_idx and
last_page_idx parameters from get_shm_pages() and check that the number
of pages matches expectations at the end of get_shm_pages().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa_shm.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index 75a5b66aeb4c..370d83ec5cf8 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -159,10 +159,9 @@ static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
  */
 static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
                          const struct ffa_address_range *range,
-                         uint32_t range_count, unsigned int start_page_idx,
-                         unsigned int *last_page_idx)
+                         uint32_t range_count)
 {
-    unsigned int pg_idx = start_page_idx;
+    unsigned int pg_idx = 0;
     gfn_t gfn;
     unsigned int n;
     unsigned int m;
@@ -191,7 +190,9 @@ static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
         }
     }
 
-    *last_page_idx = pg_idx;
+    /* The ranges must add up */
+    if ( pg_idx < shm->page_count )
+            return FFA_RET_INVALID_PARAMETERS;
 
     return FFA_RET_OK;
 }
@@ -460,7 +461,6 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
     struct ffa_shm_mem *shm = NULL;
-    unsigned int last_page_idx = 0;
     register_t handle_hi = 0;
     register_t handle_lo = 0;
     int ret = FFA_RET_DENIED;
@@ -570,15 +570,9 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out;
     }
 
-    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count,
-                        0, &last_page_idx);
+    ret = get_shm_pages(d, shm, region_descr->address_range_array, range_count);
     if ( ret )
         goto out;
-    if ( last_page_idx != shm->page_count )
-    {
-        ret = FFA_RET_INVALID_PARAMETERS;
-        goto out;
-    }
 
     /* Note that share_shm() uses our tx buffer */
     spin_lock(&ffa_tx_buffer_lock);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:47:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712546.1113282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HEw-0007TL-Bb; Fri, 26 Apr 2024 08:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712546.1113282; Fri, 26 Apr 2024 08: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 1s0HEw-0007TE-8t; Fri, 26 Apr 2024 08:47:30 +0000
Received: by outflank-mailman (input) for mailman id 712546;
 Fri, 26 Apr 2024 08: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=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0HEu-0007Se-Bs
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:47:28 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9bded170-03a9-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 10:47:27 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a5883518135so215342966b.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:47:27 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 qu20-20020a170907111400b00a5242ec4573sm10339211ejb.29.2024.04.26.01.47.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01:47:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bded170-03a9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714121246; x=1714726046; 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=/25nhxzEHJfksoETW15xrRM4Bw/CnUu6Ug13d7nLXwo=;
        b=PUIbOxpvwFzwCIb+Ob7P305c/ZpyfMDeGpX/CvoCQeUzgEe3G31SOySTtjJGfC7YG+
         T9eg7YDugF03nizZemef91JtW8eNpu3gRn00AgvoS2JBg5E7ffk+uotr9ndudMZPo4hf
         pZnNOi8lyM5aAWV7vS9Tk7mnwlvF4KikGmZWxcJ6QrIUMdb/Jc65lzNx+EkvWM0xWerT
         Sd91bXQwIhtFUWW/s20xpdf6kYHTVslKqW+5WvRMZy18Kh0maPafeGdi5eGltpQKI8v6
         b/WDx5Y5/pjwtooTMVLAcsgitxAR1NmRneEU5u2/bJq00jyvMpF+EJ5f/HW2sQ2Pj8ey
         2DYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714121246; x=1714726046;
        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=/25nhxzEHJfksoETW15xrRM4Bw/CnUu6Ug13d7nLXwo=;
        b=M3Uj+DP0Jh8UmsoVOULafKVwXAZxkSi8JEL7pdUjrl6bgwjtgfGB8/oQ8Cbt1n2tVy
         MBAn+2yIOIQlKRpyOVD6sXWf33Yy7tq0sFuzgMkUamH5p+96bVARbx/91vuZMj6KNUIu
         Le4dzc9yVwKWoaN1HuesSdbHuf8ijMgg3zGXrwS9pIZ45XtVvMOpn6tqAWpPeitRH1Ww
         4HK9SaPAudmMWak01fMYcwo/9lJbJIyCq8J+s7/dTI/WHVEmIJzB0FFSxKi0WTs+fGuv
         Y6OpHgY+YDnPMbMXh9oe2DGbZMgJOXXFzkOX8WRZ3icDunNh1Y1FRHNchnBxakLHP1PA
         +hUA==
X-Gm-Message-State: AOJu0YzUnfMdYH1cxseMUcXA45Q02kzJocspbXkh/GVP0vkVFfVgBHw9
	0trZJXJUs9VZ33Wkn/P4nlTZtDbgU0idHJZHnV4q4eM07trM7DEm5lLh0y6kVrg8QUSP/RsGli8
	N
X-Google-Smtp-Source: AGHT+IHN/qEJd3n1Aoi4P/B5xJGpsQ3g5MsDbhRkPMm+C+9KuLx0J9i0lFFv9HW4zrR0eOUGhuvlYQ==
X-Received: by 2002:a17:906:1457:b0:a52:2c0e:2e91 with SMTP id q23-20020a170906145700b00a522c0e2e91mr1389101ejc.17.1714121246168;
        Fri, 26 Apr 2024 01:47:26 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v3 0/5] FF-A notifications
Date: Fri, 26 Apr 2024 10:47:18 +0200
Message-Id: <20240426084723.4149648-1-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi,

This patch set adds support for FF-A notifications. We only support
global notifications, per vCPU notifications remain unsupported.

The first three patches are further cleanup and can be merged before the
rest if desired.

A physical SGI is used to make Xen aware of pending FF-A notifications. The
physical SGI is selected by the SPMC in the secure world. Since it must not
already be used by Xen the SPMC is in practice forced to donate one of the
secure SGIs, but that's normally not a problem. The SGI handling in Xen is
updated to support registration of handlers for SGIs that aren't statically
assigned, that is, SGI IDs above GIC_SGI_MAX.

Thanks,
Jens

v2->v3:
- "xen/arm: ffa: support notification" and
  "xen/arm: allow dynamically assigned SGI handlers" updated as requestsed,
  details in each patch.

v1->v2:
- "xen/arm: ffa: support notification" and
  "xen/arm: allow dynamically assigned SGI handlers" updated as requestsed,
  details in each patch.
- Added Bertrands R-B for "xen/arm: ffa: refactor ffa_handle_call()",
  "xen/arm: ffa: use ACCESS_ONCE()", and
  "xen/arm: ffa: simplify ffa_handle_mem_share()"

Jens Wiklander (5):
  xen/arm: ffa: refactor ffa_handle_call()
  xen/arm: ffa: use ACCESS_ONCE()
  xen/arm: ffa: simplify ffa_handle_mem_share()
  xen/arm: allow dynamically assigned SGI handlers
  xen/arm: ffa: support notification

 xen/arch/arm/gic.c              |  12 +-
 xen/arch/arm/include/asm/gic.h  |   2 +-
 xen/arch/arm/irq.c              |  18 +-
 xen/arch/arm/tee/Makefile       |   1 +
 xen/arch/arm/tee/ffa.c          |  83 +++++--
 xen/arch/arm/tee/ffa_notif.c    | 378 ++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_partinfo.c |   9 +-
 xen/arch/arm/tee/ffa_private.h  |  56 ++++-
 xen/arch/arm/tee/ffa_shm.c      |  33 ++-
 xen/include/public/arch-arm.h   |  14 ++
 10 files changed, 551 insertions(+), 55 deletions(-)
 create mode 100644 xen/arch/arm/tee/ffa_notif.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:47:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712547.1113292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HEy-0007hp-JC; Fri, 26 Apr 2024 08:47:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712547.1113292; Fri, 26 Apr 2024 08:47:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HEy-0007hi-FC; Fri, 26 Apr 2024 08:47:32 +0000
Received: by outflank-mailman (input) for mailman id 712547;
 Fri, 26 Apr 2024 08:47:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0HEw-0007TR-MC
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:47:30 +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 9cc1fc72-03a9-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 10:47:28 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a58bd410f92so187630466b.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:47:28 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 qu20-20020a170907111400b00a5242ec4573sm10339211ejb.29.2024.04.26.01.47.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01: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: 9cc1fc72-03a9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714121248; x=1714726048; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2VzeWK8x82YxZO3FACx+2RlqRVfXhRtSExk4PP34ai4=;
        b=xBaP9ugoBJJ3oTd7AjJa1nh9fLn25gDjjf1nUCEOk/t3oKhJRbrG6fr/6bMx5nFmUf
         Qc5oj3cNt4pOIfouUc1vZn5+oTZqx79ZZ0D3IDVfOfaUputUf3YYN1ko3CwUjRU4/vli
         XTbw+1G9qOOVBUAgkPbQtBYvPuVrTKwfbNW3FyO8WA9hsYEX8ed5xLs5P5UW9lRs0k/o
         7F8ieD7t5N3++E1RFQxpa33m8pI1q46Mv14Pn1ZrZBrZVjsbm8Zp12wv8Su2BaG15gbM
         fAjWLYI0gPSeRZtCuf2zZZtXp0ceDsaiYf2iKbNrT8sNRKbYf9VEk4ojJTGTuW1CH3y2
         A5WQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714121248; x=1714726048;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2VzeWK8x82YxZO3FACx+2RlqRVfXhRtSExk4PP34ai4=;
        b=xBQjHC1V/uy88uxThh+hqpJGguwTIkA2FgwA4u1JFOmjyS4oVx2wxcDCaG0pGJs4Qf
         JSz1WH5Wid4BywBkRmcdvkRaCVVyoRcwhl3K9FOHAl5M8g0zcyJQr8M1rA+REt/KhHuH
         fX+8ffLXqRKk2BSHBJOALXDYxPSON0CMSi0zld4LOnE1OmgbdrYj0CIxtkhw7x5ftLii
         xxiB4B8+Va3A7cesfWapEp//Ipt0cis1yEPcd1LFmT2djbjOjM0Z0tyrFD2ZXUQXMedU
         uEZuHB4TOrAQPcru/KnbRF0hFHQqWXtlmiKkhV1HEWxGJ2hmBO6QCAUSp2po5wgVbniL
         v0vA==
X-Gm-Message-State: AOJu0YwzNxJyVU8zom54jLBdmTUkJV4fSwfsiKIBmUdM1qCz8ytTb/Gx
	er2plsJi7PU0s6ucyYVd4ZLCy3MW3umKizFtfbJYhsaQ6AsIuVZA8fjK3MtAeDc5V0r70ax7S5s
	W
X-Google-Smtp-Source: AGHT+IFIzpbDKDHkTqWP5z+4E+TTctdEfjpzFk6DYoH3Ue/Lrzh8H8wxajoKbis4dtVxr/Kf5ulalQ==
X-Received: by 2002:a17:907:7890:b0:a55:b345:63ec with SMTP id ku16-20020a170907789000b00a55b34563ecmr1324188ejc.15.1714121247785;
        Fri, 26 Apr 2024 01:47:27 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v3 1/5] xen/arm: ffa: refactor ffa_handle_call()
Date: Fri, 26 Apr 2024 10:47:19 +0200
Message-Id: <20240426084723.4149648-2-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426084723.4149648-1-jens.wiklander@linaro.org>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactors the large switch block in ffa_handle_call() to use common code
for the simple case where it's either an error code or success with no
further parameters.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c | 30 ++++++++++--------------------
 1 file changed, 10 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 8665201e34a9..5209612963e1 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -273,18 +273,10 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
     case FFA_RXTX_MAP_64:
         e = ffa_handle_rxtx_map(fid, get_user_reg(regs, 1),
 				get_user_reg(regs, 2), get_user_reg(regs, 3));
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_RXTX_UNMAP:
         e = ffa_handle_rxtx_unmap();
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_PARTITION_INFO_GET:
         e = ffa_handle_partition_info_get(get_user_reg(regs, 1),
                                           get_user_reg(regs, 2),
@@ -299,11 +291,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         return true;
     case FFA_RX_RELEASE:
         e = ffa_handle_rx_release();
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
     case FFA_MSG_SEND_DIRECT_REQ_32:
     case FFA_MSG_SEND_DIRECT_REQ_64:
         handle_msg_send_direct_req(regs, fid);
@@ -316,17 +304,19 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         e = ffa_handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs, 2),
                                                      get_user_reg(regs, 1)),
                                    get_user_reg(regs, 3));
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, 0, 0);
-        return true;
+        break;
 
     default:
         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         return true;
     }
+
+    if ( e )
+        ffa_set_regs_error(regs, e);
+    else
+        ffa_set_regs_success(regs, 0, 0);
+    return true;
 }
 
 static int ffa_domain_init(struct domain *d)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:47:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712548.1113297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HEy-0007kU-Qo; Fri, 26 Apr 2024 08:47:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712548.1113297; Fri, 26 Apr 2024 08:47:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HEy-0007jG-M4; Fri, 26 Apr 2024 08:47:32 +0000
Received: by outflank-mailman (input) for mailman id 712548;
 Fri, 26 Apr 2024 08:47:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0HEw-0007Se-T4
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:47:30 +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 9dbd6b58-03a9-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 10:47:30 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-51acb95b892so2376444e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:47:30 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 qu20-20020a170907111400b00a5242ec4573sm10339211ejb.29.2024.04.26.01.47.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01:47:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9dbd6b58-03a9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714121249; x=1714726049; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Injz1eHKMU34CsdRACoEV/3/mGn5muvQCz5MmACq6o4=;
        b=igM2VAkVPM4/6NANE7aZ6TLehdACnkARw0BHHcu5r8/Vq2AMXAT0KzH1zoE0/J7n2b
         PD1zGoV0JmgI4WAlgmImkkSNiAjKEbzPtV8qVPfJJfTNEWhD4+eJOEqyBeWxXP56GCpl
         93V60eWZIR5YqEcp/km9v/hCWJDAzQTAXyUEW0Sex/5L52DDn8xYNTJFhlWsRQYg7L9B
         EInqFL0pQLmJ087REVBHlAiA9kadmo1g7Gwj2Wbk4nGMbDlt3ex0Pv40zXiX1egRPfbH
         ol0kj0kfQKMPjtoNWoMt8ktSKiWUi6mb4is/1W/4uNYMssiUUNMS/a50lGeD6ZmSaoHL
         OZXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714121249; x=1714726049;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Injz1eHKMU34CsdRACoEV/3/mGn5muvQCz5MmACq6o4=;
        b=vsmyCI9nXrLUad2F19q9BwSX3D2OtwIhNeFvzUGKhuJspDe3tOJ9zU/ktUxjCVS41F
         ts+xcM6h+2qHZkiOGNMHZcPWO0zr/f3TX2p6vL+ojsuP1jjUhu1iADZLYa+m4m58f4QJ
         iV9ymGFD9Voss/ziq0e4wmQsSfbCluRwU98sNZRCFsZWqMpucMBix9fly2m2mQF/C4QA
         rJ+NhmbwZMr2RUgUqog1dgUcj6M/kfs92N+eVRjRqw4sZEHj2cm8OgYBtJVhriU8ioUf
         C7iZxMpG0hg00oXLy2+nDsB1+35On0GcsoJMdVifPQ1/Wt7hcqeAPMUQl5qnfbfiXJDK
         kteQ==
X-Gm-Message-State: AOJu0YwudLsvTvq0yAcOUb1sQxue3zZrJhYpFE4nk6DbYDbqCRsJLwuJ
	KqPNr3/7RhYpX88iDaArPsECuU/aEm5yH0I4BFPJI3onWKjbRXI7u0bSvHj6X/55GTgB1w2GoBJ
	8
X-Google-Smtp-Source: AGHT+IF12xWOO76mUX1Wf/VnAFoEUe7G4Wnd7/Djm+bzZ2IGef+t3GKceVxPeqA4MGRisIGUh5cv9w==
X-Received: by 2002:a19:7412:0:b0:51b:ce76:7813 with SMTP id v18-20020a197412000000b0051bce767813mr1759542lfe.58.1714121249205;
        Fri, 26 Apr 2024 01:47:29 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v3 2/5] xen/arm: ffa: use ACCESS_ONCE()
Date: Fri, 26 Apr 2024 10:47:20 +0200
Message-Id: <20240426084723.4149648-3-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426084723.4149648-1-jens.wiklander@linaro.org>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace read_atomic() with ACCESS_ONCE() to match the intended use, that
is, to prevent the compiler from (via optimization) reading shared
memory more than once.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa_shm.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index eed9ad2d2986..75a5b66aeb4c 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -7,6 +7,7 @@
 #include <xen/sizes.h>
 #include <xen/types.h>
 #include <xen/mm.h>
+#include <xen/lib.h>
 #include <xen/list.h>
 #include <xen/spinlock.h>
 
@@ -171,8 +172,8 @@ static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
 
     for ( n = 0; n < range_count; n++ )
     {
-        page_count = read_atomic(&range[n].page_count);
-        addr = read_atomic(&range[n].address);
+        page_count = ACCESS_ONCE(range[n].page_count);
+        addr = ACCESS_ONCE(range[n].address);
         for ( m = 0; m < page_count; m++ )
         {
             if ( pg_idx >= shm->page_count )
@@ -527,13 +528,13 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
 
     mem_access = ctx->tx + trans.mem_access_offs;
-    if ( read_atomic(&mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
+    if ( ACCESS_ONCE(mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
     {
         ret = FFA_RET_NOT_SUPPORTED;
         goto out_unlock;
     }
 
-    region_offs = read_atomic(&mem_access->region_offs);
+    region_offs = ACCESS_ONCE(mem_access->region_offs);
     if ( sizeof(*region_descr) + region_offs > frag_len )
     {
         ret = FFA_RET_NOT_SUPPORTED;
@@ -541,8 +542,8 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     }
 
     region_descr = ctx->tx + region_offs;
-    range_count = read_atomic(&region_descr->address_range_count);
-    page_count = read_atomic(&region_descr->total_page_count);
+    range_count = ACCESS_ONCE(region_descr->address_range_count);
+    page_count = ACCESS_ONCE(region_descr->total_page_count);
 
     if ( !page_count )
     {
@@ -557,7 +558,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
     }
     shm->sender_id = trans.sender_id;
-    shm->ep_id = read_atomic(&mem_access->access_perm.endpoint_id);
+    shm->ep_id = ACCESS_ONCE(mem_access->access_perm.endpoint_id);
 
     /*
      * Check that the Composite memory region descriptor fits.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:47:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712550.1113322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HF2-0008UP-H6; Fri, 26 Apr 2024 08:47:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712550.1113322; Fri, 26 Apr 2024 08: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 1s0HF2-0008UB-Da; Fri, 26 Apr 2024 08:47:36 +0000
Received: by outflank-mailman (input) for mailman id 712550;
 Fri, 26 Apr 2024 08:47:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0HF0-0007TR-Lw
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:47:34 +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 9f485380-03a9-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 10:47:33 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a58c09e2187so141692266b.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:47:33 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 qu20-20020a170907111400b00a5242ec4573sm10339211ejb.29.2024.04.26.01.47.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01:47: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: 9f485380-03a9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714121252; x=1714726052; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vY+o1NaF0jtuDDIggPOkYczyVEr+NXWFJijZDJ7/aOs=;
        b=uA4yN5xMCmGS7wrTJnyA7AVoSB/l/mg0Uq7gPQVvfJg/RppPt3823RLesK3XzASs4X
         I+LlMCE/GLnzRRbCc+W2JtIe4AF5li8tEaj8CMP+5aEPqAiKn495hbxCOtp1XHafEWtQ
         NGzgjtT8cab4aDaVnHXSgsxKe4XnJKojBxwT40zK4JK0/Sucgnz1p1PIdeGjHEBvyNcd
         Vf7erPHHiCtQwaS8Nfdkg+VfEgHKefN2I3f3HdyEmqrCsuD0KpNkruohU76P2RvB/4EB
         Yj8uqJubnsGNWpr/AoT5/ij8RSAOEwgKm+3W9lTio38W18mA2UAaQX2H+uRfgy9bUjM+
         YA2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714121252; x=1714726052;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vY+o1NaF0jtuDDIggPOkYczyVEr+NXWFJijZDJ7/aOs=;
        b=lSMC4vVuLjz0fAhPHmQWyMSO0RCkkKp2HXBnA4Yo7xYyezP+h7sOVX/3WqlEGF04Q8
         RLtoecO/VVwTJLzZH2iuHkRV3akGHaolW3qgJUkXwl8wFF/gxh2Vj9YHdjdCviYF3VLu
         9x0w8J2Rakb2cRJNIGEHVUEk3AgFtI2qEv4CRzYUh3TDZ6xUfeX3f6FxT5USCRNMf0If
         Xdgy6FsqdVKeS/VSoVZ7V7IuJD1VLauvrhiEAOGpxbYJdHwz5e6QmZnY2iFT8Q6RnAk1
         ozuk5Mt7/gRbEYrqoM3FX6iStetWbWI7OTKams+adkDK2/1wKGbAb8ekYbJ2ktWMBs/y
         9qpQ==
X-Gm-Message-State: AOJu0Yzt+3of5rtCGFURdwp0r9mOdWUXMcWwnPU/pehp9SndnNBueCjJ
	A1pHx/hFQno0g9hV7Os/e6gMhMlYST45p+2YWOvH46zg/hWlmF2RGNbJERO0FQAV5EiAdJ/0402
	5
X-Google-Smtp-Source: AGHT+IEXwKsCHCGLpp8w1XmABrBJFqqpTUBCzfdvoWLHOAMUTQltzhiaFhCmRF5AymjDB95q4OMizQ==
X-Received: by 2002:a17:906:1901:b0:a58:7941:2718 with SMTP id a1-20020a170906190100b00a5879412718mr1484090eje.47.1714121252135;
        Fri, 26 Apr 2024 01:47:32 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v3 4/5] xen/arm: allow dynamically assigned SGI handlers
Date: Fri, 26 Apr 2024 10:47:22 +0200
Message-Id: <20240426084723.4149648-5-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426084723.4149648-1-jens.wiklander@linaro.org>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Updates so request_irq() can be used with a dynamically assigned SGI irq
as input. This prepares for a later patch where an FF-A schedule
receiver interrupt handler is installed for an SGI generated by the
secure world.

>From the Arm Base System Architecture v1.0C [1]:
"The system shall implement at least eight Non-secure SGIs, assigned to
interrupt IDs 0-7."

gic_route_irq_to_xen() don't gic_set_irq_type() for SGIs since they are
always edge triggered.

gic_interrupt() is updated to route the dynamically assigned SGIs to
do_IRQ() instead of do_sgi(). The latter still handles the statically
assigned SGI handlers like for instance GIC_SGI_CALL_FUNCTION.

[1] https://developer.arm.com/documentation/den0094/

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
v2->v3
- Rename GIC_SGI_MAX to GIC_SGI_STATIC_MAX and rename do_sgi() to
  do_static_sgi()
- Update comment in setup_irq() to mention that SGI irq_desc is banked
- Add ASSERT() in do_IRQ() that the irq isn't an SGI before injecting
  calling vgic_inject_irq()
- Initialize local_irqs_type[] range for SGIs as IRQ_TYPE_EDGE_RISING
- Adding link to the Arm Base System Architecture v1.0C

v1->v2
- Update patch description as requested
---
 xen/arch/arm/gic.c             | 12 +++++++-----
 xen/arch/arm/include/asm/gic.h |  2 +-
 xen/arch/arm/irq.c             | 18 ++++++++++++++----
 3 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 44c40e86defe..882768252740 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -38,7 +38,7 @@ const struct gic_hw_operations *gic_hw_ops;
 static void __init __maybe_unused build_assertions(void)
 {
     /* Check our enum gic_sgi only covers SGIs */
-    BUILD_BUG_ON(GIC_SGI_MAX > NR_GIC_SGI);
+    BUILD_BUG_ON(GIC_SGI_STATIC_MAX > NR_GIC_SGI);
 }
 
 void register_gic_ops(const struct gic_hw_operations *ops)
@@ -117,7 +117,9 @@ void gic_route_irq_to_xen(struct irq_desc *desc, unsigned int priority)
 
     desc->handler = gic_hw_ops->gic_host_irq_type;
 
-    gic_set_irq_type(desc, desc->arch.type);
+    /* SGIs are always edge-triggered, so there is need to set it */
+    if ( desc->irq >= NR_GIC_SGI)
+        gic_set_irq_type(desc, desc->arch.type);
     gic_set_irq_priority(desc, priority);
 }
 
@@ -330,7 +332,7 @@ void gic_disable_cpu(void)
     gic_hw_ops->disable_interface();
 }
 
-static void do_sgi(struct cpu_user_regs *regs, enum gic_sgi sgi)
+static void do_static_sgi(struct cpu_user_regs *regs, enum gic_sgi sgi)
 {
     struct irq_desc *desc = irq_to_desc(sgi);
 
@@ -375,7 +377,7 @@ void gic_interrupt(struct cpu_user_regs *regs, int is_fiq)
         /* Reading IRQ will ACK it */
         irq = gic_hw_ops->read_irq();
 
-        if ( likely(irq >= 16 && irq < 1020) )
+        if ( likely(irq >= GIC_SGI_STATIC_MAX && irq < 1020) )
         {
             isb();
             do_IRQ(regs, irq, is_fiq);
@@ -387,7 +389,7 @@ void gic_interrupt(struct cpu_user_regs *regs, int is_fiq)
         }
         else if ( unlikely(irq < 16) )
         {
-            do_sgi(regs, irq);
+            do_static_sgi(regs, irq);
         }
         else
         {
diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h
index 03f209529b13..541f0eeb808a 100644
--- a/xen/arch/arm/include/asm/gic.h
+++ b/xen/arch/arm/include/asm/gic.h
@@ -285,7 +285,7 @@ enum gic_sgi {
     GIC_SGI_EVENT_CHECK,
     GIC_SGI_DUMP_STATE,
     GIC_SGI_CALL_FUNCTION,
-    GIC_SGI_MAX,
+    GIC_SGI_STATIC_MAX,
 };
 
 /* SGI irq mode types */
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index bcce80a4d624..d7306aa64d50 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -152,7 +152,13 @@ void __init init_IRQ(void)
 
     spin_lock(&local_irqs_type_lock);
     for ( irq = 0; irq < NR_LOCAL_IRQS; irq++ )
-        local_irqs_type[irq] = IRQ_TYPE_INVALID;
+    {
+        /* SGIs are always edge-triggered */
+        if ( irq < NR_GIC_SGI )
+            local_irqs_type[irq] = DT_IRQ_TYPE_EDGE_RISING;
+        else
+            local_irqs_type[irq] = IRQ_TYPE_INVALID;
+    }
     spin_unlock(&local_irqs_type_lock);
 
     BUG_ON(init_local_irq_data(smp_processor_id()) < 0);
@@ -224,9 +230,12 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq, int is_fiq)
 
     perfc_incr(irqs);
 
-    ASSERT(irq >= 16); /* SGIs do not come down this path */
+    /* Statically assigned SGIs do not come down this path */
+    ASSERT(irq >= GIC_SGI_STATIC_MAX);
 
-    if ( irq < 32 )
+    if ( irq < NR_GIC_SGI )
+        perfc_incr(ipis);
+    else if ( irq < NR_GIC_LOCAL_IRQS )
         perfc_incr(ppis);
     else
         perfc_incr(spis);
@@ -260,6 +269,7 @@ void do_IRQ(struct cpu_user_regs *regs, unsigned int irq, int is_fiq)
          * The irq cannot be a PPI, we only support delivery of SPIs to
          * guests.
          */
+        ASSERT(irq >= NR_GIC_SGI);
         vgic_inject_irq(info->d, NULL, info->virq, true);
         goto out_no_end;
     }
@@ -396,7 +406,7 @@ int setup_irq(unsigned int irq, unsigned int irqflags, struct irqaction *new)
     {
         gic_route_irq_to_xen(desc, GIC_PRI_IRQ);
         /* It's fine to use smp_processor_id() because:
-         * For PPI: irq_desc is banked
+         * For SGI and PPI: irq_desc is banked
          * For SPI: we don't care for now which CPU will receive the
          * interrupt
          * TODO: Handle case where SPI is setup on different CPU than
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:47:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:47:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712551.1113332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HF5-0000Oq-Sf; Fri, 26 Apr 2024 08:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712551.1113332; Fri, 26 Apr 2024 08: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 1s0HF5-0000Of-OA; Fri, 26 Apr 2024 08:47:39 +0000
Received: by outflank-mailman (input) for mailman id 712551;
 Fri, 26 Apr 2024 08:47:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0HF3-0007TR-G3
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:47:37 +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 a05f6670-03a9-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 10:47:35 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2def8e58471so23887871fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:47:35 -0700 (PDT)
Received: from rayden.urgonet (h-217-31-164-171.A175.priv.bahnhof.se.
 [217.31.164.171]) by smtp.gmail.com with ESMTPSA id
 qu20-20020a170907111400b00a5242ec4573sm10339211ejb.29.2024.04.26.01.47.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01: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: a05f6670-03a9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714121254; x=1714726054; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RHSWtdZOQjsFoB8sDEa4JwrK3cDpEUyTn/mEojnjoVI=;
        b=CGHmhVy1KGtYK7dsZgum8AyKG+BIO20x8YXLOmg2nzlNxbdKi3kgagUkkU5wevCcxv
         fKjL9EfqU8YOy+p23RCasguCg4cDM0ll934iIVH32tRMKO8GGJSwXsjXzwQKiy8S3gkE
         FCtII6TYnUA+rqCHCnrDDa2Qjl5saQpICWF/0GYOudvC4p7zqvxCxXfl6U68By85NpjB
         LfPdLlCPMqDON3tcEYquIaWhSL6cx/yczaY4rbh4HlT4cbhNJerQ2IVwsa/U57Dvbikt
         zMp4iEwhTOlmSvrOw8F5O88N067DTLoCbE8UiXULc+yeEt+C1FHiaekwdbdRZWSIKvKG
         edbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714121254; x=1714726054;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RHSWtdZOQjsFoB8sDEa4JwrK3cDpEUyTn/mEojnjoVI=;
        b=cMIOwgAZIECx0pIpkSGyMA9LlKHxKvCSGL2dUm9DV0LEuRzGNCvXyoPxHopKLuyF/3
         pG8mdgZ9/E+6Y+rRRWkcvJrLrbs6jV776affcduBUP+ALL1O4u4uwj6IYmQ57E8YlG5m
         pXanFFwph8x5gi583x3m7Ke7G5DYH3KMlQ1kR1NLyxMxifBkOdjLOyjjicxRte+jFdb1
         7YHSn7q50sHhR/uOp3Mpwo/BIk38gaIM4pAOlNldmZX4vzhokUuEhuIxj7g1rHaNcZhm
         v70fXrpXtzRDDt0192F7KWQjMn7hQnKltms75FEltTjVw7yAQu75aHkZxPfU2lTnRM3d
         TS1Q==
X-Gm-Message-State: AOJu0Yx0c+JDPcrCNOlR9Q52b43uP0xkIghpFk3YKDnybNcUdH5Un+KW
	TUFxosR7uDb11+J96Z0ANwO4xfRlf4zcaxfOjXpZL9lfQUpHzdBkCJDS0DxKkNTBRZ2Crrob8vR
	k
X-Google-Smtp-Source: AGHT+IFvXMIDMJGUFtzyhWHNyezkT9SoTbHU/xTai6NVG/UFirbvJYwt8xwH3V54pUo4P+KuD/oLXA==
X-Received: by 2002:a19:6907:0:b0:51c:1657:b04a with SMTP id e7-20020a196907000000b0051c1657b04amr1400347lfc.63.1714121253478;
        Fri, 26 Apr 2024 01:47:33 -0700 (PDT)
From: Jens Wiklander <jens.wiklander@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: patches@linaro.org,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Date: Fri, 26 Apr 2024 10:47:23 +0200
Message-Id: <20240426084723.4149648-6-jens.wiklander@linaro.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240426084723.4149648-1-jens.wiklander@linaro.org>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for FF-A notifications, currently limited to an SP (Secure
Partition) sending an asynchronous notification to a guest.

Guests and Xen itself are made aware of pending notifications with an
interrupt. The interrupt handler retrieves the notifications using the
FF-A ABI and deliver them to their destinations.

Update ffa_partinfo_domain_init() to return error code like
ffa_notif_domain_init().

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
---
v2->v3:
- Add a GUEST_ prefix and move FFA_NOTIF_PEND_INTR_ID and
  FFA_SCHEDULE_RECV_INTR_ID to public/arch-arm.h
- Register the Xen SRI handler on each CPU using on_selected_cpus() and
  setup_irq()
- Check that the SGI ID retrieved with FFA_FEATURE_SCHEDULE_RECV_INTR
  doesn't conflict with static SGI handlers

v1->v2:
- Addressing review comments
- Change ffa_handle_notification_{bind,unbind,set}() to take struct
  cpu_user_regs *regs as argument.
- Update ffa_partinfo_domain_init() and ffa_notif_domain_init() to return
  an error code.
- Fixing a bug in handle_features() for FFA_FEATURE_SCHEDULE_RECV_INTR.
---
 xen/arch/arm/irq.c              |   2 +-
 xen/arch/arm/tee/Makefile       |   1 +
 xen/arch/arm/tee/ffa.c          |  55 ++++-
 xen/arch/arm/tee/ffa_notif.c    | 378 ++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_partinfo.c |   9 +-
 xen/arch/arm/tee/ffa_private.h  |  56 ++++-
 xen/include/public/arch-arm.h   |  14 ++
 7 files changed, 507 insertions(+), 8 deletions(-)
 create mode 100644 xen/arch/arm/tee/ffa_notif.c

diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index d7306aa64d50..5224898265a5 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -155,7 +155,7 @@ void __init init_IRQ(void)
     {
         /* SGIs are always edge-triggered */
         if ( irq < NR_GIC_SGI )
-            local_irqs_type[irq] = DT_IRQ_TYPE_EDGE_RISING;
+            local_irqs_type[irq] = IRQ_TYPE_EDGE_RISING;
         else
             local_irqs_type[irq] = IRQ_TYPE_INVALID;
     }
diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
index f0112a2f922d..7c0f46f7f446 100644
--- a/xen/arch/arm/tee/Makefile
+++ b/xen/arch/arm/tee/Makefile
@@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) += ffa.o
 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-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 5209612963e1..912e905a27bd 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -39,6 +39,9 @@
  *   - at most 32 shared memory regions per guest
  * o FFA_MSG_SEND_DIRECT_REQ:
  *   - only supported from a VM to an SP
+ * o FFA_NOTIFICATION_*:
+ *   - only supports global notifications, that is, per vCPU notifications
+ *     are not supported
  *
  * There are some large locked sections with ffa_tx_buffer_lock and
  * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
@@ -194,6 +197,8 @@ out:
 
 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;
 
@@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *regs)
         BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
         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);
+        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);
+        break;
+
+    case FFA_NOTIFICATION_BIND:
+    case FFA_NOTIFICATION_UNBIND:
+    case FFA_NOTIFICATION_GET:
+    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);
+        break;
     default:
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
         break;
@@ -305,6 +334,22 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
                                                      get_user_reg(regs, 1)),
                                    get_user_reg(regs, 3));
         break;
+    case FFA_NOTIFICATION_BIND:
+        e = ffa_handle_notification_bind(regs);
+        break;
+    case FFA_NOTIFICATION_UNBIND:
+        e = ffa_handle_notification_unbind(regs);
+        break;
+    case FFA_NOTIFICATION_INFO_GET_32:
+    case FFA_NOTIFICATION_INFO_GET_64:
+        ffa_handle_notification_info_get(regs);
+        return true;
+    case FFA_NOTIFICATION_GET:
+        ffa_handle_notification_get(regs);
+        return true;
+    case FFA_NOTIFICATION_SET:
+        e = ffa_handle_notification_set(regs);
+        break;
 
     default:
         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
@@ -322,6 +367,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
 static int ffa_domain_init(struct domain *d)
 {
     struct ffa_ctx *ctx;
+    int ret;
 
     if ( !ffa_version )
         return -ENODEV;
@@ -345,10 +391,11 @@ static int ffa_domain_init(struct domain *d)
      * error, so no need for cleanup in this function.
      */
 
-    if ( !ffa_partinfo_domain_init(d) )
-        return -EIO;
+    ret = ffa_partinfo_domain_init(d);
+    if ( ret )
+        return ret;
 
-    return 0;
+    return ffa_notif_domain_init(d);
 }
 
 static void ffa_domain_teardown_continue(struct ffa_ctx *ctx, bool first_time)
@@ -423,6 +470,7 @@ static int ffa_domain_teardown(struct domain *d)
         return 0;
 
     ffa_rxtx_domain_destroy(d);
+    ffa_notif_domain_destroy(d);
 
     ffa_domain_teardown_continue(ctx, true /* first_time */);
 
@@ -502,6 +550,7 @@ static bool ffa_probe(void)
     if ( !ffa_partinfo_init() )
         goto err_rxtx_destroy;
 
+    ffa_notif_init();
     INIT_LIST_HEAD(&ffa_teardown_head);
     init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
 
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
new file mode 100644
index 000000000000..6bb0804ee2f8
--- /dev/null
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -0,0 +1,378 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2024  Linaro Limited
+ */
+
+#include <xen/const.h>
+#include <xen/list.h>
+#include <xen/spinlock.h>
+#include <xen/types.h>
+
+#include <asm/smccc.h>
+#include <asm/regs.h>
+
+#include "ffa_private.h"
+
+static bool __ro_after_init notif_enabled;
+
+int ffa_handle_notification_bind(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t src_dst = get_user_reg(regs, 1);
+    uint32_t flags = get_user_reg(regs, 2);
+    uint32_t bitmap_lo = get_user_reg(regs, 3);
+    uint32_t bitmap_hi = get_user_reg(regs, 4);
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    if ( flags )    /* Only global notifications are supported */
+        return FFA_RET_DENIED;
+
+    /*
+     * We only support notifications from SP so no need to check the sender
+     * endpoint ID, the SPMC will take care of that for us.
+     */
+    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_hi,
+                           bitmap_lo);
+}
+
+int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t src_dst = get_user_reg(regs, 1);
+    uint32_t bitmap_lo = get_user_reg(regs, 3);
+    uint32_t bitmap_hi = get_user_reg(regs, 4);
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /*
+     * We only support notifications from SP so no need to check the
+     * destination endpoint ID, the SPMC will take care of that for us.
+     */
+    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_hi,
+                            bitmap_lo);
+}
+
+void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    struct ffa_ctx *ctx = d->arch.tee;
+    bool pending_global;
+
+    if ( !notif_enabled )
+    {
+        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        return;
+    }
+
+    spin_lock(&ctx->notif.lock);
+    pending_global = ctx->notif.secure_pending;
+    ctx->notif.secure_pending = false;
+    spin_unlock(&ctx->notif.lock);
+
+    if ( pending_global )
+    {
+        /* A pending global notification for the guest */
+        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
+                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_vm_id(d),
+                     0, 0, 0, 0);
+    }
+    else
+    {
+        /* Report an error if there where no pending global notification */
+        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
+    }
+}
+
+void ffa_handle_notification_get(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t recv = get_user_reg(regs, 1);
+    uint32_t flags = get_user_reg(regs, 2);
+    uint32_t w2 = 0;
+    uint32_t w3 = 0;
+    uint32_t w4 = 0;
+    uint32_t w5 = 0;
+    uint32_t w6 = 0;
+    uint32_t w7 = 0;
+
+    if ( !notif_enabled )
+    {
+        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        return;
+    }
+
+    if ( (recv & 0xFFFFU) != ffa_get_vm_id(d) )
+    {
+        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
+        return;
+    }
+
+    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM ) )
+    {
+        struct arm_smccc_1_2_regs arg = {
+            .a0 = FFA_NOTIFICATION_GET,
+            .a1 = recv,
+            .a2 = flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
+                            FFA_NOTIF_FLAG_BITMAP_SPM ),
+        };
+        struct arm_smccc_1_2_regs resp;
+        int32_t e;
+
+        arm_smccc_1_2_smc(&arg, &resp);
+        e = ffa_get_ret_code(&resp);
+        if ( e )
+        {
+            ffa_set_regs_error(regs, e);
+            return;
+        }
+
+        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
+        {
+            w2 = resp.a2;
+            w3 = resp.a3;
+        }
+
+        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
+            w6 = resp.a6;
+    }
+
+    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
+}
+
+int ffa_handle_notification_set(struct cpu_user_regs *regs)
+{
+    struct domain *d = current->domain;
+    uint32_t src_dst = get_user_reg(regs, 1);
+    uint32_t flags = get_user_reg(regs, 2);
+    uint32_t bitmap_lo = get_user_reg(regs, 3);
+    uint32_t bitmap_hi = get_user_reg(regs, 4);
+
+    if ( !notif_enabled )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( (src_dst >> 16) != ffa_get_vm_id(d) )
+        return FFA_RET_INVALID_PARAMETERS;
+
+    /* Let the SPMC check the destination of the notification */
+    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_lo,
+                           bitmap_hi);
+}
+
+/*
+ * Extract a 16-bit ID (index n) from the successful return value from
+ * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
+ * returned in registers 3 to 7 with four IDs per register for 64-bit
+ * calling convention and two IDs per register for 32-bit calling
+ * convention.
+ */
+static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
+                                 unsigned int n)
+{
+    unsigned int ids_per_reg;
+    unsigned int reg_idx;
+    unsigned int reg_shift;
+
+    if ( smccc_is_conv_64(resp->a0) )
+        ids_per_reg = 4;
+    else
+        ids_per_reg = 2;
+
+    reg_idx = n / ids_per_reg + 3;
+    reg_shift = ( n % ids_per_reg ) * 16;
+
+    switch ( reg_idx )
+    {
+    case 3:
+        return resp->a3 >> reg_shift;
+    case 4:
+        return resp->a4 >> reg_shift;
+    case 5:
+        return resp->a5 >> reg_shift;
+    case 6:
+        return resp->a6 >> reg_shift;
+    case 7:
+        return resp->a7 >> reg_shift;
+    default:
+        ASSERT(0); /* "Can't happen" */
+        return 0;
+    }
+}
+
+static void notif_irq_handler(int irq, void *data)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_NOTIFICATION_INFO_GET_64,
+    };
+    struct arm_smccc_1_2_regs resp;
+    unsigned int id_pos;
+    unsigned int list_count;
+    uint64_t ids_count;
+    unsigned int n;
+    int32_t res;
+
+    do {
+        arm_smccc_1_2_smc(&arg, &resp);
+        res = ffa_get_ret_code(&resp);
+        if ( res )
+        {
+            if ( res != FFA_RET_NO_DATA )
+                printk(XENLOG_ERR "ffa: notification info get failed: error %d\n",
+                       res);
+            return;
+        }
+
+        ids_count = resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
+        list_count = ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT ) &
+                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
+
+        id_pos = 0;
+        for ( n = 0; n < list_count; n++ )
+        {
+            unsigned int count = ((ids_count >> 2 * n) & 0x3) + 1;
+            struct domain *d;
+
+            d = ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_pos));
+
+            if ( d )
+            {
+                struct ffa_ctx *ctx = d->arch.tee;
+
+                spin_lock(&ctx->notif.lock);
+                ctx->notif.secure_pending = true;
+                spin_unlock(&ctx->notif.lock);
+
+                /*
+                 * Since we're only delivering global notification, always
+                 * deliver to the first vCPU. It doesn't matter which we
+                 * chose, as long as it's available.
+                 */
+                vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID,
+                                true);
+
+                put_domain(d);
+            }
+
+            id_pos += count;
+        }
+
+    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
+}
+
+static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
+                                              uint32_t vcpu_count)
+{
+    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu_count,
+                           0, 0);
+}
+
+static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
+{
+    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, 0, 0);
+}
+
+struct notif_irq_info {
+    unsigned int irq;
+    int ret;
+    struct irqaction *action;
+};
+
+static void notif_irq_enable(void *info)
+{
+    struct notif_irq_info *irq_info = info;
+
+    irq_info->ret = setup_irq(irq_info->irq, 0, irq_info->action);
+    if ( irq_info->ret )
+        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
+               irq_info->irq, irq_info->ret);
+}
+
+void ffa_notif_init(void)
+{
+    const struct arm_smccc_1_2_regs arg = {
+        .a0 = FFA_FEATURES,
+        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
+    };
+    struct notif_irq_info irq_info = { };
+    struct arm_smccc_1_2_regs resp;
+    unsigned int cpu;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+    if ( resp.a0 != FFA_SUCCESS_32 )
+        return;
+
+    irq_info.irq = resp.a2;
+    if ( irq_info.irq < GIC_SGI_STATIC_MAX || irq_info.irq >= NR_GIC_SGI )
+    {
+        printk(XENLOG_ERR "ffa: notification initialization failed: conflicting SGI %u\n",
+               irq_info.irq);
+        return;
+    }
+
+    /*
+     * SGIs are per-CPU so we must enable the IRQ on each CPU. We use an
+     * IPI to call notif_irq_enable() on each CPU including the current
+     * CPU. The struct irqaction is preallocated since we can't allocate
+     * memory while in interrupt context.
+     */
+    for_each_online_cpu(cpu)
+    {
+        irq_info.action = xmalloc(struct irqaction);
+        if ( !irq_info.action )
+        {
+            irq_info.ret = -ENOMEM;
+            break;
+        }
+
+        *irq_info.action = (struct irqaction){
+            .handler = notif_irq_handler,
+            .name = "FF-A notif",
+            .free_on_release = 1,
+        };
+
+        on_selected_cpus(cpumask_of(cpu), notif_irq_enable, &irq_info, 1);
+        if ( irq_info.ret )
+        {
+            XFREE(irq_info.action);
+            break;
+        }
+    }
+
+    notif_enabled = !irq_info.ret;
+}
+
+int ffa_notif_domain_init(struct domain *d)
+{
+    struct ffa_ctx *ctx = d->arch.tee;
+    int32_t res;
+
+    if ( !notif_enabled )
+        return 0;
+
+    res = ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpus);
+    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 )
+    {
+        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
+        ctx->notif.enabled = false;
+    }
+}
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index dc1059584828..93a03c6bc672 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -306,7 +306,7 @@ static void vm_destroy_bitmap_init(struct ffa_ctx *ctx,
     }
 }
 
-bool ffa_partinfo_domain_init(struct domain *d)
+int ffa_partinfo_domain_init(struct domain *d)
 {
     unsigned int count = BITS_TO_LONGS(subscr_vm_destroyed_count);
     struct ffa_ctx *ctx = d->arch.tee;
@@ -315,7 +315,7 @@ bool ffa_partinfo_domain_init(struct domain *d)
 
     ctx->vm_destroy_bitmap = xzalloc_array(unsigned long, count);
     if ( !ctx->vm_destroy_bitmap )
-        return false;
+        return -ENOMEM;
 
     for ( n = 0; n < subscr_vm_created_count; n++ )
     {
@@ -330,7 +330,10 @@ bool ffa_partinfo_domain_init(struct domain *d)
     }
     vm_destroy_bitmap_init(ctx, n);
 
-    return n == subscr_vm_created_count;
+    if ( n != subscr_vm_created_count )
+        return -EIO;
+
+    return 0;
 }
 
 bool ffa_partinfo_domain_destroy(struct domain *d)
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 98236cbf14a3..a59c9887774b 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -25,6 +25,7 @@
 #define FFA_RET_DENIED                  -6
 #define FFA_RET_RETRY                   -7
 #define FFA_RET_ABORTED                 -8
+#define FFA_RET_NO_DATA                 -9
 
 /* FFA_VERSION helpers */
 #define FFA_VERSION_MAJOR_SHIFT         16U
@@ -175,6 +176,21 @@
  */
 #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
 
+/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
+#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
+#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
+#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
+#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
+
+#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
+#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
+#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
+#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
+
+/* Feature IDs used with FFA_FEATURES */
+#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
+#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
+
 /* Function IDs */
 #define FFA_ERROR                       0x84000060U
 #define FFA_SUCCESS_32                  0x84000061U
@@ -213,6 +229,27 @@
 #define FFA_MEM_FRAG_TX                 0x8400007BU
 #define FFA_MSG_SEND                    0x8400006EU
 #define FFA_MSG_POLL                    0x8400006AU
+#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
+#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
+#define FFA_NOTIFICATION_BIND           0x8400007FU
+#define FFA_NOTIFICATION_UNBIND         0x84000080U
+#define FFA_NOTIFICATION_SET            0x84000081U
+#define FFA_NOTIFICATION_GET            0x84000082U
+#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
+#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
+
+struct ffa_ctx_notif {
+    bool enabled;
+
+    /* Used to serialize access to the rest of this struct */
+    spinlock_t lock;
+
+    /*
+     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
+     * pending global notifications.
+     */
+    bool secure_pending;
+};
 
 struct ffa_ctx {
     void *rx;
@@ -228,6 +265,7 @@ struct ffa_ctx {
     struct list_head shm_list;
     /* Number of allocated shared memory object */
     unsigned int shm_count;
+    struct ffa_ctx_notif notif;
     /*
      * tx_lock is used to serialize access to tx
      * rx_lock is used to serialize access to rx
@@ -257,7 +295,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs);
 int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
 
 bool ffa_partinfo_init(void);
-bool ffa_partinfo_domain_init(struct domain *d);
+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,
@@ -271,12 +309,28 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
 uint32_t ffa_handle_rxtx_unmap(void);
 int32_t ffa_handle_rx_release(void);
 
+void ffa_notif_init(void);
+int ffa_notif_domain_init(struct domain *d);
+void ffa_notif_domain_destroy(struct domain *d);
+
+int ffa_handle_notification_bind(struct cpu_user_regs *regs);
+int ffa_handle_notification_unbind(struct cpu_user_regs *regs);
+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);
+
 static inline uint16_t ffa_get_vm_id(const struct domain *d)
 {
     /* +1 since 0 is reserved for the hypervisor in FF-A */
     return d->domain_id + 1;
 }
 
+static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
+{
+    /* -1 to match ffa_get_vm_id() */
+    return get_domain_by_id(vm_id - 1);
+}
+
 static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t v0,
                                 register_t v1, register_t v2, register_t v3,
                                 register_t v4, register_t v5, register_t v6,
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e167e14f8df9..1eac9802aa53 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -505,6 +505,7 @@ typedef uint64_t xen_callback_t;
 #define GUEST_MAX_VCPUS 128
 
 /* Interrupts */
+
 #define GUEST_TIMER_VIRT_PPI    27
 #define GUEST_TIMER_PHYS_S_PPI  29
 #define GUEST_TIMER_PHYS_NS_PPI 30
@@ -515,6 +516,19 @@ typedef uint64_t xen_callback_t;
 #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
 #define GUEST_VIRTIO_MMIO_SPI_LAST    43
 
+/*
+ * SGI is the preferred delivery mechanism of FF-A pending notifications or
+ * schedule recveive interrupt. SGIs 8-15 are normally not used by a guest
+ * as they in a non-virtualized system typically are assigned to the secure
+ * world. Here we're free to use SGI 8-15 since they are virtual and have
+ * nothing to do with the secure world.
+ *
+ * For partitioning of SGIs see also Arm Base System Architecture v1.0C,
+ * https://developer.arm.com/documentation/den0094/
+ */
+#define GUEST_FFA_NOTIF_PEND_INTR_ID      8
+#define GUEST_FFA_SCHEDULE_RECV_INTR_ID   9
+
 /* PSCI functions */
 #define PSCI_cpu_suspend 0
 #define PSCI_cpu_off     1
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 08:51:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 08:51:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712571.1113341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HJA-0003Es-J2; Fri, 26 Apr 2024 08:51:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712571.1113341; Fri, 26 Apr 2024 08:51:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HJA-0003El-GI; Fri, 26 Apr 2024 08:51:52 +0000
Received: by outflank-mailman (input) for mailman id 712571;
 Fri, 26 Apr 2024 08: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=J3OG=L7=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1s0HJ9-0003Ef-EF
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:51:51 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 381addf6-03aa-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 10:51:49 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-34b3374ae22so2058490f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 01:51:49 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e4-20020adff344000000b0034349225fbcsm21777353wrp.114.2024.04.26.01.51.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 01:51: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: 381addf6-03aa-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714121509; x=1714726309; 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=DEXw3qSlNpikX0UKTlTbjPlamz5F9HdGa3FFmvqrPG4=;
        b=AcBh+OPv03eMrnRbepLRyIYv8jStcFhqwfNggGC7mX48RYbBgd28KhEJsS1Z8YjJIE
         o7y9JscZ3FCcnEnO9PngnrnXiyQAqb5e7ORXGCbf4T/igMY7EHeyxT4prkPRa7uRxz8y
         BeR/b2qNhtDrZ9b8t7WefNUq52YvWoa/ImYOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714121509; x=1714726309;
        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=DEXw3qSlNpikX0UKTlTbjPlamz5F9HdGa3FFmvqrPG4=;
        b=dX8FyYiQdYeGIe6HkA3/s8zM+gjvBqFmhPBsa1Wr5Ewl5AqvBAFLaV0dbnBrRjK2nQ
         nCsWwhU53uthV0rXJ6MvuFLdJly4r47oxywSxGs/b7MqNNPFT494gdk0NdaZtcPQ/4bE
         Yrezrw11nZv6yKH0Yvoxfb3ZjvtS/+Yp8bsLrftj8iGKUXACGPowTqswEGH5mWcEoenE
         nJnzF03o/LHj6WH6h2lz+qOd0HIIHSXFoeuOfFmTdtea3x9Yc0wjNKfZKB1v2mjV6hLR
         XfdSXDl+Yfw4e1on7ZBPE7CVut1v2TcKmovnICvPcWXuFwUclKEL1SDcN7REKx6/bNIG
         mHFA==
X-Gm-Message-State: AOJu0YyqnrNY0zSf3Pq+Cd/fnJi+Q7hMu31xz2XdTx2SM7QmSMYGj/j2
	iUiT6kXvc+O/IDK2UxIBi5Q1E9gv67P1hKNYZrAUhQVcf3hn+01OxKJNUMkP6lI=
X-Google-Smtp-Source: AGHT+IH1WrZML1iWYN7+8zToWys0EWlAN/Q0txe9h64YW+F1GLwQ2rshOq7kn6sPKSJ6OUrjdA78jQ==
X-Received: by 2002:adf:9b88:0:b0:347:3d28:c872 with SMTP id d8-20020adf9b88000000b003473d28c872mr1678368wrc.9.1714121508813;
        Fri, 26 Apr 2024 01:51:48 -0700 (PDT)
Date: Fri, 26 Apr 2024 09:51:47 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	Edwin =?iso-8859-1?B?VPZy9ms=?= <edwin.torok@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/2] tools/{c,o}xenstored: Don't link against libsystemd
Message-ID: <413a63de-07ec-43a9-ae60-6b0cfdd61312@perard>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
 <20240425173216.410940-2-andrew.cooper3@citrix.com>
 <b5e242fa-daf1-43a2-afd2-cc1ad1bd4dc1@perard>
 <341c5901-254e-4ad2-b935-6b586cd25f2e@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <341c5901-254e-4ad2-b935-6b586cd25f2e@citrix.com>

On Thu, Apr 25, 2024 at 07:16:23PM +0100, Andrew Cooper wrote:
> On 25/04/2024 7:06 pm, Anthony PERARD wrote:
> > On Thu, Apr 25, 2024 at 06:32:15PM +0100, Andrew Cooper wrote:
> >> libsystemd is a giant dependency for one single function, but in the wake of
> >> the xz backdoor, it turns out that even systemd leadership recommend against
> >> linking against libsystemd for sd_notify().
> >>
> >> Since commit 7b61011e1450 ("tools: make xenstore domain easy configurable") in
> >> Xen 4.8, the launch-xenstore script invokes systemd-notify directly, so its
> > That's not enough, it's needs to be `systemd-notify --ready` to be a
> > replacement for sd_notify(READY=1).
> >
> >> not even necessary for the xenstored's to call sd_notify() themselves.
> > So, sd_notify() or equivalent is still necessary.
> >
> >> Therefore, just drop the calls to sd_notify() and stop linking against
> >> libsystemd.
> > Sounds good, be we need to replace the call by something like:
> >     echo READY=1 > $NOTIFY_SOCKET
> > implemented in C and ocaml. Detail to be checked.
> >
> > Otherwise, things won't work.
> 
> Hmm. It worked in XenRT when stripping this all out, but that is

I don't know how XenServer is setup, maybe it doesn't matter? Anyway...

> extremely unintuitive behaviour for `systemd-notify --booted`, seeing as
> it's entirely different to --ready.

Yes, this --booted option should probably not exist, and there's
`systemctl is-system-running` that does something similar.

> 
> I've got no interest in keeping the C around, but if:
> 
> [ -n "$NOTIFY_SOCKET" ] && echo READY=1 > $NOTIFY_SOCKET
> 
> works, then can't we just use that after waiting for the the pidfile ?

Run `systemd-notify --ready` instead. Hopefully, that will be enough.
($NOTIFY_SOCKET is a socket, and a bit more complicated that I though,
it can start with "@" for example)

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 09:10:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 09:10:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712530.1113358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Hai-00070u-3A; Fri, 26 Apr 2024 09:10:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712530.1113358; Fri, 26 Apr 2024 09:10:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Hai-00070n-08; Fri, 26 Apr 2024 09:10:00 +0000
Received: by outflank-mailman (input) for mailman id 712530;
 Fri, 26 Apr 2024 08:29: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 1s0GxJ-00036G-IH
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 08:29: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 1s0GxJ-0001or-AD; Fri, 26 Apr 2024 08:29:17 +0000
Received: from cpc92320-cmbg19-2-0-cust35.5-4.cable.virginm.net ([82.13.64.36]
 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 1s0GxJ-0003rl-0u; Fri, 26 Apr 2024 08:29:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date;
	bh=xZirAFfeQS/iVjRBhbYItZSsKaICxcnYgZnUOXqu4aA=; b=v02EO8k+lMrrA/NX1INLRSF4id
	V8UTdYhuXXa1/s8jJWFOw138Vq7mrOhontZJfme7ee7+mwmTHIAplgiDPNCRiBLDvDdyks/kbsO0s
	jdrNm5cSHfPjv59kSj4P/Pule+IqQkXj46YuFeNI+d2+g7UAvBcQbDJLReXEtpirS3lA=;
Date: Fri, 26 Apr 2024 09:29:14 +0100
From: Anthony PERARD <anthony@xenproject.org>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] xen-livepatch: fix --force option comparison
Message-ID: <Zitl2q8jPXdQuZlr@l14>
References: <20240426072144.48828-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240426072144.48828-1-roger.pau@citrix.com>

On Fri, Apr 26, 2024 at 09:21:44AM +0200, Roger Pau Monne wrote:
> The check for --force option shouldn't be against 0.
> 
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Fixes: 62a72092a517 ('livepatch: introduce --force option')
> Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>

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

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 09:21:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 09:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712589.1113368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Hla-0001qu-3c; Fri, 26 Apr 2024 09:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712589.1113368; Fri, 26 Apr 2024 09:21: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 1s0Hla-0001ql-0h; Fri, 26 Apr 2024 09:21:14 +0000
Received: by outflank-mailman (input) for mailman id 712589;
 Fri, 26 Apr 2024 09:21: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=3Jki=L7=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1s0HlY-0001qf-NX
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 09:21:12 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2050.outbound.protection.outlook.com [40.107.7.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50d20381-03ae-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 11:21:09 +0200 (CEST)
Received: from DUZPR01CA0056.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:469::7) by DB9PR08MB6394.eurprd08.prod.outlook.com
 (2603:10a6:10:25b::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr
 2024 09:20:35 +0000
Received: from DU6PEPF0000A7DF.eurprd02.prod.outlook.com
 (2603:10a6:10:469:cafe::e1) by DUZPR01CA0056.outlook.office365.com
 (2603:10a6:10:469::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.34 via Frontend
 Transport; Fri, 26 Apr 2024 09:20:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000A7DF.mail.protection.outlook.com (10.167.8.36) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19 via
 Frontend Transport; Fri, 26 Apr 2024 09:20:34 +0000
Received: ("Tessian outbound af213ececc3d:v315");
 Fri, 26 Apr 2024 09:20:34 +0000
Received: from ce6ff2aa42d1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6FB6CFCD-481A-4923-8BD8-A4622CE289EB.1; 
 Fri, 26 Apr 2024 09:20:28 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ce6ff2aa42d1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 26 Apr 2024 09:20:28 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DB9PR08MB9705.eurprd08.prod.outlook.com (2603:10a6:10:45c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr
 2024 09:20:22 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7519.021; Fri, 26 Apr 2024
 09:20:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50d20381-03ae-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WlDJTIOvtiQM5Jcv5i47jKbeIcx9HUR+98/h7Tp5ZVr/v579SwHv9CHqMrBMSFkm5MwEy9ciMkFVxRiOvcFJatAjZt9BdJtnPo6nqYHsqB0IY4wErZHKHvlNif3NxolbW0sGeWghSUJx1LkH0WrSN1hDeCwV8EL/17WJzVvXh6B+4AV0i0cbKIgPTZAlswDaDwKBOx12xaifRVOmHs520ClpCLNEh+lga4hJVaC2r9bC8oJj4t7M6n7ZQKJV/HGWyex5kHdrvK14J0GRLnLkKkWjlBg+KpjcqD9jF7gHtOnMqqF1el5oZSofkwwV236/7NFhtoEgQ7aD5RP0moDPkA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fhLO8DX4pcflUzVcKBchtSr/A7XjhdfxygCKy8FN7Pc=;
 b=aE5ZXp0k5FsGZts5zs59I8M03mwrKmdDf55xyzFs5nHpD1jopv9ePs7OljnuZaFJ434sXGBw1MigPErwL7kqj2thmYieO+v+eoFTN6XPhF/+A2mXjkJt3plJ7GOb7L99HbsvQEMuTyOOfy5Ld8itDrtu33LjV2vbM3CSiAn0DBlagG3iXz6ThP9zB6EwF33LpWpZJEu/HpFeLKLSv1wcEQFJJRyBysMqt/R7qCkDqG08w7zyZy4RIxEUyIu5nvyJx7pwBpBDBL7YHQ1qf+JCp0m5Tjh4Iqv7TXLsA7w9Qhu3hOEyZo7yli3v31+Nl8TsaaSdl2mlodvMVc7E9rOzPQ==
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=fhLO8DX4pcflUzVcKBchtSr/A7XjhdfxygCKy8FN7Pc=;
 b=UifFiXRCtM4R3rCdUVtlwWf3YR9vUS24UDDYV2rNi8e9gIqbrP3hRzSPqkWNqOcai1agI9P9xu46Hll8oYkSAd7EDFIlgVEQITldcAGJp00DUKcsGACF1hsyZ3OAtVzNXj1K1KIwsOpDkDgnMmKR84OnzIjIwD4O+528vkIU0so=
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: 02b5e0117d59c296
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PRrwE+BRTLkLfPHCpqUNJ8m4BLBpG3w2WLoXx0jlu91IKQuUBChibUJOaolG6JdN8LpaAg7QD3Om9RuwAt7tnH93/0JTW385DgC3OS3W+Xd9u8uGPM3F50ucVb8sR9qfXTRTE0OP/iXM1OQMpVsBGlw4zDjrkVhHmaZqKdXT6rNF0924hdOdc0qqL7Z3fmHAJJLNCv+ZYVX5PjVBwkUDqV2wPEOhpHQ55uBEOF15oEHyPVTi5BcZvKES9IqcvQ3Pg3ladpVBXAhYV7aeGbXb2WS7lmT1RAayz2Se9gjVYfoYHeFnYXdY+XbDJfDX/dn8zC1q5Z9KNQE00GD7MexyAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fhLO8DX4pcflUzVcKBchtSr/A7XjhdfxygCKy8FN7Pc=;
 b=PNLXDiijwG44DIqsVDpRr6wCFji3+u5BC2PSO7e8+428XS2Ep54C+NfLPS+J/v2MT/7aFlRjPQiA64pIgUtIoZ3VobaGUq6rBP5BC4G9tYINVKc1cNd65oYnorTHimnnrTwoNaRg6YVlTccs/PP3b/wyK1g87tQa8vQeqj50Gx5HqsZQGPJPBMql/fzlBKMReBx12V0+pBbIx5+oNyDeb5Wkk0pYZwmoIEhztr4+KXVqEtNJuBelDLKKiEpOPxyChk3nhFqID4aT42jKbAEQ1dnzJQGMe3y6wWlnKAx4W9jItM/0vuUYhYiLb/qPH3rVd2KwQ7i8UwsHkwjBHLS8gw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=fhLO8DX4pcflUzVcKBchtSr/A7XjhdfxygCKy8FN7Pc=;
 b=UifFiXRCtM4R3rCdUVtlwWf3YR9vUS24UDDYV2rNi8e9gIqbrP3hRzSPqkWNqOcai1agI9P9xu46Hll8oYkSAd7EDFIlgVEQITldcAGJp00DUKcsGACF1hsyZ3OAtVzNXj1K1KIwsOpDkDgnMmKR84OnzIjIwD4O+528vkIU0so=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Index: AQHal7ZoS0Rs3weazUuhKfXitmlnMLF6RnOA
Date: Fri, 26 Apr 2024 09:20:22 +0000
Message-ID: <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
In-Reply-To: <20240426084723.4149648-6-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DB9PR08MB9705:EE_|DU6PEPF0000A7DF:EE_|DB9PR08MB6394:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c22e029-6a9b-44c9-775c-08dc65d220e2
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230031|376005|1800799015|366007|38070700009;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?+6U18aFxP/2ftrz76m77pOIP6l0jIMwqqA6VoM1UtnXPHFltaHE9vWgXExHx?=
 =?us-ascii?Q?s0OazGh3Gmz1QSy89kKA2HsqAbPa8POxDNim+7VQtiLVceSCwDLvSsnnOnMI?=
 =?us-ascii?Q?RTtE9DyIroBrkDqzPWoueLCBpBhPxa/z8iTp/FmqEZpoQPtxMFu06RL52gGe?=
 =?us-ascii?Q?u7hRdu+Dm8kaMOKydPNbwSZbwOhmcgZnM8T8Qb3IPLKLTnlDfMi5TG12dmqe?=
 =?us-ascii?Q?wYQFhtPxXXkad0QsyRMMSNUcznjSUeztXf211963fEYD7eWi/WLn5F3/QZau?=
 =?us-ascii?Q?wUnaJ8JfKxUShiT6i/ShqVcNzY73XWIAECJW5PpGhliRbIhjJLayNMKuCt19?=
 =?us-ascii?Q?/Tx0x0vHqVnBzFJPD8RoNcqJrmGLHjWWw2pYp6Uh0OMYAYODhD9cGu8wsLhZ?=
 =?us-ascii?Q?ikR8QrhNgqwTP63bNVj9bMMyAh77o/crnaqpE46FG6BSOOffW0qUQTUJ3hci?=
 =?us-ascii?Q?eYyo9pa8NmHGx4oKhPp0qk7yyF0FtfansRJ9tf0sFOAo2OFVKn+Tgv7nrqGd?=
 =?us-ascii?Q?0NG9OgIM7SGf7cPW0NkEEWtEwOxetUWS6kBdvriCBMwh6hQRAo15AkM+HnWb?=
 =?us-ascii?Q?TSykmAff33KmDyI/w2XJoEH9k9RhItOaTAtSwt05piFgUvGZq1wbmbmf0mok?=
 =?us-ascii?Q?1Viec3sA6CYon8MDv67NVl0NzTBD1zcCeB2998FH7K2T2Vs6SD1tWpSHGQ9e?=
 =?us-ascii?Q?yUoHkUVtRt6iUkV05FUg4afQLo04wi6ZofMCkYSxXtV5p2l9HVyS+gSaZpfU?=
 =?us-ascii?Q?pTLgl6R4GRiAG/Z5xm/hgjNcNvHdma0hSKQjsjqdhLICyVW5HovIMgvITRBy?=
 =?us-ascii?Q?wYEGZgzkkOBAQYxSbHVJpxSpDMbvv5lupnrTLcZvnu2E3fA1SgJTARogFoXu?=
 =?us-ascii?Q?J3Hc6kolBTbFocrxeenzfzlavDPSFPOyPgIylhpZdFJ95sckTZArKIyNE35a?=
 =?us-ascii?Q?Cl03EIK2YuidFtTLar4oykPQ8vtXJB4swTWEiRqF5MxzxNHap3Hm3c+O1jBm?=
 =?us-ascii?Q?mvjM8Un4utrNYOvti1/xhl0NMblLk1zTEtTL7KcziJGmAAXKX2njdZhsNOXu?=
 =?us-ascii?Q?s5ZVpIKnhv3FhNOU3q1JjDkinSF/9nRblXHSCB7Jx71FQ+2OWfJI6AxxxLqZ?=
 =?us-ascii?Q?fBnpUGm1H7Q+TbiS0dopbeE6gd4I9Uv1ue/rq5PO4qrytqDbRMiNY0SIBKf3?=
 =?us-ascii?Q?9IzvC4lA88Brj/vIH2wzFA1JnxYLEeBAT9kG1cVDSyqlt3KnMxQzqpc9uScV?=
 =?us-ascii?Q?9SJtVmagRGMMrdxfdjYcw+AEZHOAQS/m0wMFTX1JvLIXjiD1MOG65AeoO10P?=
 =?us-ascii?Q?eWNW6viP8LqMsMCSGAEZqVvQJFr603JMXdzY/gndUDYnYw=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:(13230031)(376005)(1800799015)(366007)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <271537779D86EF4F8B040150454C4110@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9705
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000A7DF.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b6487b3e-6e35-4d9f-e304-08dc65d2196d
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|1800799015|82310400014|376005|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?uwh8xJ/G49FQzkp2NGEQ6Z0OTI7eiQhdRI5rbhm/UpnN0Ui4MPSRIg9c5lTh?=
 =?us-ascii?Q?gdbZ1VHzgxm1fR9c+CN4BBfMoQoapA+GHVjXXFlXiDWJ+9u+zzZPXpCM+mdd?=
 =?us-ascii?Q?sYamnJWXmFYNkTqO/f6hZ9wJIhqbqAe8AgiLLpnVEn67QEAMjQOA4GCK2ccH?=
 =?us-ascii?Q?Bp7eflwAxU5Z553rXuT1AcCwZaC9CCEQKrjnPqh6yL295SXCMIYcmc9TkamC?=
 =?us-ascii?Q?KbfrWOozslVMc59N9P2NC3piLLIOf76IxzJXVFryYzuOjboearQrXw7sc16e?=
 =?us-ascii?Q?7J0K5OrqIIWZ2MsecpFWKaabTjXT0hkDA0ztxzt1tdBppissadvZdglP64PT?=
 =?us-ascii?Q?iJrELhNp4oUVGn+IJ4Co4OSVyJiyfIRXRx3vFVY+PqG/zefKRGUB0rvOWWeq?=
 =?us-ascii?Q?NJG8KCTLKxu/2wy4CmU3eBmKHz3xIoEJXorvIUysS5tjWeHgvhIjQ50VHNZF?=
 =?us-ascii?Q?BHArKpFI7HrqIQSuhvc9jXXR49bBQvgxmwmEZ/W2r0gBiORajDbZDlzkbm4D?=
 =?us-ascii?Q?ILWWMSG076Sbc6/Eso7kfqlN1ItMY6WW1z6LVggJAQ1QhHEjvtOcdhXqHrzW?=
 =?us-ascii?Q?nYIivO11lWGBvbln+JDvz89MTxWHzCzQ/A85Bd53XC5mIUuY97TWzgFCMaZo?=
 =?us-ascii?Q?sx5KPF8HOObWvosHV1/EE9Riuivs07u4hLUo7fThz1ARaDvBgn4cUNrBQWOx?=
 =?us-ascii?Q?Iot7mAkiN5CZHAkeyo2DAmBz6RCBRNHNfJIqSH/afm7Aam8EebCiN55D2YaD?=
 =?us-ascii?Q?rCFfjzOBOuIohhAVjV/+SRsTwHKrPVpZgayYppF7p6U5EMIefCOs1tvmkfoU?=
 =?us-ascii?Q?nmPrjKh4ysWLAKLtvS/VWnzXecYDnT0iqCsHEvdr8oJE92lLBEfdEb/OiEOu?=
 =?us-ascii?Q?nBQQnBWUOgrpSfudWuL+Smpa4FX7OjgL0CAtxl+vWzK0+drxGse4IIa7v3LZ?=
 =?us-ascii?Q?agiL/WJV2ykWs7TMFcIyC9MtnF6hqxB3aLMJ2W1AtpGL0p6D/nSTx/cpK95I?=
 =?us-ascii?Q?lflundk8dnyyqDVBoz+rTc7EJ3udc4ABx7m7QfB8mj6U46tSPE4BHwklml9f?=
 =?us-ascii?Q?WpU2FrrmKWtaLUU5L0xhxxoQHgh+TApdiLu3KLVpTSgYQtzVndOjPwyNeVHv?=
 =?us-ascii?Q?N9/8NxVk/kYNWn6cGHZr7pCeTlKj2my/Ik3VgeGLRWiGbI4WoVKVHdi77RuU?=
 =?us-ascii?Q?+pnDaHhwDpKZhgwm4kRA1WvXLz6jxyGxWe6UKlIbWtigaw973fxzKjEpF+IJ?=
 =?us-ascii?Q?nePaANz/prOq1cotUQBMuU8cf900Zq3U/AH3e+GUArJOwuyyBhBsp5nQjdiF?=
 =?us-ascii?Q?cM56NwBEZbu79ZPyVn7xxqwi9G/274CbfXifnMooSNah4se/Fw1Y2t+9Jp/F?=
 =?us-ascii?Q?coD21xhBkUhBqOgP2OoJKF6NObp2?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 09:20:34.9017
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c22e029-6a9b-44c9-775c-08dc65d220e2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000A7DF.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6394

Hi Jens,

> On 26 Apr 2024, at 10:47, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Add support for FF-A notifications, currently limited to an SP (Secure
> Partition) sending an asynchronous notification to a guest.
>=20
> Guests and Xen itself are made aware of pending notifications with an
> interrupt. The interrupt handler retrieves the notifications using the
> FF-A ABI and deliver them to their destinations.
>=20
> Update ffa_partinfo_domain_init() to return error code like
> ffa_notif_domain_init().
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> v2->v3:
> - Add a GUEST_ prefix and move FFA_NOTIF_PEND_INTR_ID and
>  FFA_SCHEDULE_RECV_INTR_ID to public/arch-arm.h
> - Register the Xen SRI handler on each CPU using on_selected_cpus() and
>  setup_irq()
> - Check that the SGI ID retrieved with FFA_FEATURE_SCHEDULE_RECV_INTR
>  doesn't conflict with static SGI handlers
>=20
> v1->v2:
> - Addressing review comments
> - Change ffa_handle_notification_{bind,unbind,set}() to take struct
>  cpu_user_regs *regs as argument.
> - Update ffa_partinfo_domain_init() and ffa_notif_domain_init() to return
>  an error code.
> - Fixing a bug in handle_features() for FFA_FEATURE_SCHEDULE_RECV_INTR.
> ---
> xen/arch/arm/irq.c              |   2 +-
> xen/arch/arm/tee/Makefile       |   1 +
> xen/arch/arm/tee/ffa.c          |  55 ++++-
> xen/arch/arm/tee/ffa_notif.c    | 378 ++++++++++++++++++++++++++++++++
> xen/arch/arm/tee/ffa_partinfo.c |   9 +-
> xen/arch/arm/tee/ffa_private.h  |  56 ++++-
> xen/include/public/arch-arm.h   |  14 ++
> 7 files changed, 507 insertions(+), 8 deletions(-)
> create mode 100644 xen/arch/arm/tee/ffa_notif.c
>=20
> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> index d7306aa64d50..5224898265a5 100644
> --- a/xen/arch/arm/irq.c
> +++ b/xen/arch/arm/irq.c
> @@ -155,7 +155,7 @@ void __init init_IRQ(void)
>     {
>         /* SGIs are always edge-triggered */
>         if ( irq < NR_GIC_SGI )
> -            local_irqs_type[irq] =3D DT_IRQ_TYPE_EDGE_RISING;
> +            local_irqs_type[irq] =3D IRQ_TYPE_EDGE_RISING;
>         else
>             local_irqs_type[irq] =3D IRQ_TYPE_INVALID;
>     }
> diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> index f0112a2f922d..7c0f46f7f446 100644
> --- a/xen/arch/arm/tee/Makefile
> +++ b/xen/arch/arm/tee/Makefile
> @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
> obj-$(CONFIG_FFA) +=3D ffa_shm.o
> obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
> obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
> +obj-$(CONFIG_FFA) +=3D ffa_notif.o
> obj-y +=3D tee.o
> obj-$(CONFIG_OPTEE) +=3D optee.o
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 5209612963e1..912e905a27bd 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -39,6 +39,9 @@
>  *   - at most 32 shared memory regions per guest
>  * o FFA_MSG_SEND_DIRECT_REQ:
>  *   - only supported from a VM to an SP
> + * o FFA_NOTIFICATION_*:
> + *   - only supports global notifications, that is, per vCPU notificatio=
ns
> + *     are not supported
>  *
>  * There are some large locked sections with ffa_tx_buffer_lock and
>  * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> @@ -194,6 +197,8 @@ out:
>=20
> static void handle_features(struct cpu_user_regs *regs)
> {
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
>     uint32_t a1 =3D get_user_reg(regs, 1);
>     unsigned int n;
>=20
> @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *re=
gs)
>         BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
>         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);
> +        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);
> +        break;
> +
> +    case FFA_NOTIFICATION_BIND:
> +    case FFA_NOTIFICATION_UNBIND:
> +    case FFA_NOTIFICATION_GET:
> +    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);
> +        break;
>     default:
>         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>         break;
> @@ -305,6 +334,22 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>                                                      get_user_reg(regs, 1=
)),
>                                    get_user_reg(regs, 3));
>         break;
> +    case FFA_NOTIFICATION_BIND:
> +        e =3D ffa_handle_notification_bind(regs);
> +        break;
> +    case FFA_NOTIFICATION_UNBIND:
> +        e =3D ffa_handle_notification_unbind(regs);
> +        break;
> +    case FFA_NOTIFICATION_INFO_GET_32:
> +    case FFA_NOTIFICATION_INFO_GET_64:
> +        ffa_handle_notification_info_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_GET:
> +        ffa_handle_notification_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_SET:
> +        e =3D ffa_handle_notification_set(regs);
> +        break;
>=20
>     default:
>         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -322,6 +367,7 @@ static bool ffa_handle_call(struct cpu_user_regs *reg=
s)
> static int ffa_domain_init(struct domain *d)
> {
>     struct ffa_ctx *ctx;
> +    int ret;
>=20
>     if ( !ffa_version )
>         return -ENODEV;
> @@ -345,10 +391,11 @@ static int ffa_domain_init(struct domain *d)
>      * error, so no need for cleanup in this function.
>      */
>=20
> -    if ( !ffa_partinfo_domain_init(d) )
> -        return -EIO;
> +    ret =3D ffa_partinfo_domain_init(d);
> +    if ( ret )
> +        return ret;
>=20
> -    return 0;
> +    return ffa_notif_domain_init(d);
> }
>=20
> static void ffa_domain_teardown_continue(struct ffa_ctx *ctx, bool first_=
time)
> @@ -423,6 +470,7 @@ static int ffa_domain_teardown(struct domain *d)
>         return 0;
>=20
>     ffa_rxtx_domain_destroy(d);
> +    ffa_notif_domain_destroy(d);
>=20
>     ffa_domain_teardown_continue(ctx, true /* first_time */);
>=20
> @@ -502,6 +550,7 @@ static bool ffa_probe(void)
>     if ( !ffa_partinfo_init() )
>         goto err_rxtx_destroy;
>=20
> +    ffa_notif_init();
>     INIT_LIST_HEAD(&ffa_teardown_head);
>     init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0)=
;
>=20
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> new file mode 100644
> index 000000000000..6bb0804ee2f8
> --- /dev/null
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -0,0 +1,378 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright (C) 2024  Linaro Limited
> + */
> +
> +#include <xen/const.h>
> +#include <xen/list.h>
> +#include <xen/spinlock.h>
> +#include <xen/types.h>
> +
> +#include <asm/smccc.h>
> +#include <asm/regs.h>
> +
> +#include "ffa_private.h"
> +
> +static bool __ro_after_init notif_enabled;
> +
> +int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    uint32_t src_dst =3D get_user_reg(regs, 1);
> +    uint32_t flags =3D get_user_reg(regs, 2);
> +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    if ( flags )    /* Only global notifications are supported */
> +        return FFA_RET_DENIED;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the sen=
der
> +     * endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap=
_hi,
> +                           bitmap_lo);
> +}
> +
> +int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    uint32_t src_dst =3D get_user_reg(regs, 1);
> +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the
> +     * destination endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_=
hi,
> +                            bitmap_lo);
> +}
> +
> +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    bool pending_global;
> +
> +    if ( !notif_enabled )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        return;
> +    }
> +
> +    spin_lock(&ctx->notif.lock);
> +    pending_global =3D ctx->notif.secure_pending;
> +    ctx->notif.secure_pending =3D false;
> +    spin_unlock(&ctx->notif.lock);
> +
> +    if ( pending_global )
> +    {
> +        /* A pending global notification for the guest */
> +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_vm=
_id(d),
> +                     0, 0, 0, 0);
> +    }
> +    else
> +    {
> +        /* Report an error if there where no pending global notification=
 */
> +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> +    }
> +}
> +
> +void ffa_handle_notification_get(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    uint32_t recv =3D get_user_reg(regs, 1);
> +    uint32_t flags =3D get_user_reg(regs, 2);
> +    uint32_t w2 =3D 0;
> +    uint32_t w3 =3D 0;
> +    uint32_t w4 =3D 0;
> +    uint32_t w5 =3D 0;
> +    uint32_t w6 =3D 0;
> +    uint32_t w7 =3D 0;
> +
> +    if ( !notif_enabled )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        return;
> +    }
> +
> +    if ( (recv & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
> +        return;
> +    }
> +
> +    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SPM =
) )
> +    {
> +        struct arm_smccc_1_2_regs arg =3D {
> +            .a0 =3D FFA_NOTIFICATION_GET,
> +            .a1 =3D recv,
> +            .a2 =3D flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
> +                            FFA_NOTIF_FLAG_BITMAP_SPM ),
> +        };
> +        struct arm_smccc_1_2_regs resp;
> +        int32_t e;
> +
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        e =3D ffa_get_ret_code(&resp);
> +        if ( e )
> +        {
> +            ffa_set_regs_error(regs, e);
> +            return;
> +        }
> +
> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
> +        {
> +            w2 =3D resp.a2;
> +            w3 =3D resp.a3;
> +        }
> +
> +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
> +            w6 =3D resp.a6;
> +    }

In here you never clean the secure_pending flag but in practice there would=
 be
no more pending notification if SP and SPM flags are set so the response to
notification_info_get would wrongly say there is something pending.

I am not completely sure how this could be handled if both SP and SPM are
not set so i would say for now we should at least put a comment in info_get
to keep a note of this fact.
Do you agree ?

> +
> +    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
> +}
> +
> +int ffa_handle_notification_set(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    uint32_t src_dst =3D get_user_reg(regs, 1);
> +    uint32_t flags =3D get_user_reg(regs, 2);
> +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /* Let the SPMC check the destination of the notification */
> +    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitmap_=
lo,
> +                           bitmap_hi);
> +}
> +
> +/*
> + * Extract a 16-bit ID (index n) from the successful return value from
> + * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs are
> + * returned in registers 3 to 7 with four IDs per register for 64-bit
> + * calling convention and two IDs per register for 32-bit calling
> + * convention.
> + */
> +static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
> +                                 unsigned int n)
> +{
> +    unsigned int ids_per_reg;
> +    unsigned int reg_idx;
> +    unsigned int reg_shift;
> +
> +    if ( smccc_is_conv_64(resp->a0) )
> +        ids_per_reg =3D 4;
> +    else
> +        ids_per_reg =3D 2;
> +
> +    reg_idx =3D n / ids_per_reg + 3;
> +    reg_shift =3D ( n % ids_per_reg ) * 16;
> +
> +    switch ( reg_idx )
> +    {
> +    case 3:
> +        return resp->a3 >> reg_shift;
> +    case 4:
> +        return resp->a4 >> reg_shift;
> +    case 5:
> +        return resp->a5 >> reg_shift;
> +    case 6:
> +        return resp->a6 >> reg_shift;
> +    case 7:
> +        return resp->a7 >> reg_shift;
> +    default:
> +        ASSERT(0); /* "Can't happen" */
> +        return 0;
> +    }
> +}
> +
> +static void notif_irq_handler(int irq, void *data)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int id_pos;
> +    unsigned int list_count;
> +    uint64_t ids_count;
> +    unsigned int n;
> +    int32_t res;
> +
> +    do {
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        res =3D ffa_get_ret_code(&resp);
> +        if ( res )
> +        {
> +            if ( res !=3D FFA_RET_NO_DATA )
> +                printk(XENLOG_ERR "ffa: notification info get failed: er=
ror %d\n",
> +                       res);
> +            return;
> +        }
> +
> +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT ) =
&
> +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> +
> +        id_pos =3D 0;
> +        for ( n =3D 0; n < list_count; n++ )
> +        {
> +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
> +            struct domain *d;
> +

If a notification is pending for a secure partition at this stage we are no=
t
signaling anything so I think this fact should be listed in the limitations=
 to
say that we do not signal any secondary scheduler if a notification is
pending for a secure partition.

> +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_pos=
));
> +
> +            if ( d )
> +            {
> +                struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +                spin_lock(&ctx->notif.lock);
> +                ctx->notif.secure_pending =3D true;
> +                spin_unlock(&ctx->notif.lock);
> +
> +                /*
> +                 * Since we're only delivering global notification, alwa=
ys
> +                 * deliver to the first vCPU. It doesn't matter which we
> +                 * chose, as long as it's available.
> +                 */
> +                vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR=
_ID,
> +                                true);
> +
> +                put_domain(d);
> +            }
> +
> +            id_pos +=3D count;
> +        }
> +
> +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
> +}
> +
> +static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
> +                                              uint32_t vcpu_count)
> +{
> +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu_c=
ount,
> +                           0, 0);
> +}
> +
> +static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
> +{
> +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, 0,=
 0);
> +}
> +
> +struct notif_irq_info {
> +    unsigned int irq;
> +    int ret;
> +    struct irqaction *action;
> +};
> +
> +static void notif_irq_enable(void *info)
> +{
> +    struct notif_irq_info *irq_info =3D info;
> +
> +    irq_info->ret =3D setup_irq(irq_info->irq, 0, irq_info->action);
> +    if ( irq_info->ret )
> +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
> +               irq_info->irq, irq_info->ret);
> +}
> +
> +void ffa_notif_init(void)
> +{
> +    const struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_FEATURES,
> +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> +    };
> +    struct notif_irq_info irq_info =3D { };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int cpu;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> +        return;
> +
> +    irq_info.irq =3D resp.a2;
> +    if ( irq_info.irq < GIC_SGI_STATIC_MAX || irq_info.irq >=3D NR_GIC_S=
GI )
> +    {
> +        printk(XENLOG_ERR "ffa: notification initialization failed: conf=
licting SGI %u\n",
> +               irq_info.irq);
> +        return;
> +    }
> +
> +    /*
> +     * SGIs are per-CPU so we must enable the IRQ on each CPU. We use an
> +     * IPI to call notif_irq_enable() on each CPU including the current
> +     * CPU. The struct irqaction is preallocated since we can't allocate
> +     * memory while in interrupt context.
> +     */
> +    for_each_online_cpu(cpu)
> +    {
> +        irq_info.action =3D xmalloc(struct irqaction);

You allocate one action per cpu but you have only one action pointer in you=
r structure
which means you will overload the previously allocated one and lose track.

You should have a table of actions in your structure instead unless one act=
ion is
enough and can be reused on all cpus and in this case you should move out o=
f
your loop the allocation part.

> +        if ( !irq_info.action )
> +        {
> +            irq_info.ret =3D -ENOMEM;
> +            break;
> +        }
> +
> +        *irq_info.action =3D (struct irqaction){
> +            .handler =3D notif_irq_handler,
> +            .name =3D "FF-A notif",
> +            .free_on_release =3D 1,
> +        };
> +
> +        on_selected_cpus(cpumask_of(cpu), notif_irq_enable, &irq_info, 1=
);
> +        if ( irq_info.ret )
> +        {
> +            XFREE(irq_info.action);
> +            break;
> +        }
> +    }
> +
> +    notif_enabled =3D !irq_info.ret;
> +}
> +
> +int ffa_notif_domain_init(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    int32_t res;
> +
> +    if ( !notif_enabled )
> +        return 0;
> +
> +    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vcpu=
s);
> +    if ( res )
> +        return -ENOMEM;
> +
> +    ctx->notif.enabled =3D true;
> +
> +    return 0;
> +}
> +
> +void ffa_notif_domain_destroy(struct domain *d)
> +{
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    if ( ctx->notif.enabled )
> +    {
> +        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
> +        ctx->notif.enabled =3D false;
> +    }
> +}
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_parti=
nfo.c
> index dc1059584828..93a03c6bc672 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -306,7 +306,7 @@ static void vm_destroy_bitmap_init(struct ffa_ctx *ct=
x,
>     }
> }
>=20
> -bool ffa_partinfo_domain_init(struct domain *d)
> +int ffa_partinfo_domain_init(struct domain *d)
> {
>     unsigned int count =3D BITS_TO_LONGS(subscr_vm_destroyed_count);
>     struct ffa_ctx *ctx =3D d->arch.tee;
> @@ -315,7 +315,7 @@ bool ffa_partinfo_domain_init(struct domain *d)
>=20
>     ctx->vm_destroy_bitmap =3D xzalloc_array(unsigned long, count);
>     if ( !ctx->vm_destroy_bitmap )
> -        return false;
> +        return -ENOMEM;
>=20
>     for ( n =3D 0; n < subscr_vm_created_count; n++ )
>     {
> @@ -330,7 +330,10 @@ bool ffa_partinfo_domain_init(struct domain *d)
>     }
>     vm_destroy_bitmap_init(ctx, n);
>=20
> -    return n =3D=3D subscr_vm_created_count;
> +    if ( n !=3D subscr_vm_created_count )
> +        return -EIO;
> +
> +    return 0;
> }
>=20
> bool ffa_partinfo_domain_destroy(struct domain *d)
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index 98236cbf14a3..a59c9887774b 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -25,6 +25,7 @@
> #define FFA_RET_DENIED                  -6
> #define FFA_RET_RETRY                   -7
> #define FFA_RET_ABORTED                 -8
> +#define FFA_RET_NO_DATA                 -9
>=20
> /* FFA_VERSION helpers */
> #define FFA_VERSION_MAJOR_SHIFT         16U
> @@ -175,6 +176,21 @@
>  */
> #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
>=20
> +/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
> +#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
> +#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> +#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
> +#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
> +
> +#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
> +#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
> +#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
> +#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
> +
> +/* Feature IDs used with FFA_FEATURES */
> +#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
> +#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
> +
> /* Function IDs */
> #define FFA_ERROR                       0x84000060U
> #define FFA_SUCCESS_32                  0x84000061U
> @@ -213,6 +229,27 @@
> #define FFA_MEM_FRAG_TX                 0x8400007BU
> #define FFA_MSG_SEND                    0x8400006EU
> #define FFA_MSG_POLL                    0x8400006AU
> +#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
> +#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
> +#define FFA_NOTIFICATION_BIND           0x8400007FU
> +#define FFA_NOTIFICATION_UNBIND         0x84000080U
> +#define FFA_NOTIFICATION_SET            0x84000081U
> +#define FFA_NOTIFICATION_GET            0x84000082U
> +#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
> +#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
> +
> +struct ffa_ctx_notif {
> +    bool enabled;
> +
> +    /* Used to serialize access to the rest of this struct */
> +    spinlock_t lock;
> +
> +    /*
> +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> +     * pending global notifications.
> +     */
> +    bool secure_pending;
> +};
>=20
> struct ffa_ctx {
>     void *rx;
> @@ -228,6 +265,7 @@ struct ffa_ctx {
>     struct list_head shm_list;
>     /* Number of allocated shared memory object */
>     unsigned int shm_count;
> +    struct ffa_ctx_notif notif;
>     /*
>      * tx_lock is used to serialize access to tx
>      * rx_lock is used to serialize access to rx
> @@ -257,7 +295,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)=
;
> int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
>=20
> bool ffa_partinfo_init(void);
> -bool ffa_partinfo_domain_init(struct domain *d);
> +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,
> @@ -271,12 +309,28 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register=
_t tx_addr,
> uint32_t ffa_handle_rxtx_unmap(void);
> int32_t ffa_handle_rx_release(void);
>=20
> +void ffa_notif_init(void);
> +int ffa_notif_domain_init(struct domain *d);
> +void ffa_notif_domain_destroy(struct domain *d);
> +
> +int ffa_handle_notification_bind(struct cpu_user_regs *regs);
> +int ffa_handle_notification_unbind(struct cpu_user_regs *regs);
> +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);
> +
> static inline uint16_t ffa_get_vm_id(const struct domain *d)
> {
>     /* +1 since 0 is reserved for the hypervisor in FF-A */
>     return d->domain_id + 1;
> }
>=20
> +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
> +{
> +    /* -1 to match ffa_get_vm_id() */
> +    return get_domain_by_id(vm_id - 1);
> +}
> +

I think there is a global discussion to have on using get_domain_by_vm_id
or rcu_lock_live_remote_domain_by_id to make sure the domain is not
dying when we try to do something with it.

It does not need to be done here as there are other places to adapt but
i wanted to raise the question.

I would like to know what you and also other maintainers think here.
@Julien/Michal/Stefano ?

> static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t v0=
,
>                                 register_t v1, register_t v2, register_t =
v3,
>                                 register_t v4, register_t v5, register_t =
v6,
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.=
h
> index e167e14f8df9..1eac9802aa53 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -505,6 +505,7 @@ typedef uint64_t xen_callback_t;
> #define GUEST_MAX_VCPUS 128
>=20
> /* Interrupts */
> +
> #define GUEST_TIMER_VIRT_PPI    27
> #define GUEST_TIMER_PHYS_S_PPI  29
> #define GUEST_TIMER_PHYS_NS_PPI 30
> @@ -515,6 +516,19 @@ typedef uint64_t xen_callback_t;
> #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
> #define GUEST_VIRTIO_MMIO_SPI_LAST    43
>=20
> +/*
> + * SGI is the preferred delivery mechanism of FF-A pending notifications=
 or
> + * schedule recveive interrupt. SGIs 8-15 are normally not used by a gue=
st
> + * as they in a non-virtualized system typically are assigned to the sec=
ure
> + * world. Here we're free to use SGI 8-15 since they are virtual and hav=
e
> + * nothing to do with the secure world.
> + *
> + * For partitioning of SGIs see also Arm Base System Architecture v1.0C,
> + * https://developer.arm.com/documentation/den0094/
> + */
> +#define GUEST_FFA_NOTIF_PEND_INTR_ID      8
> +#define GUEST_FFA_SCHEDULE_RECV_INTR_ID   9
> +
> /* PSCI functions */
> #define PSCI_cpu_suspend 0
> #define PSCI_cpu_off     1
> --=20
> 2.34.1
>=20

Cheers
Bertrand




From xen-devel-bounces@lists.xenproject.org Fri Apr 26 09:24:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 09:24:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712593.1113378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HoL-0002hs-LL; Fri, 26 Apr 2024 09:24:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712593.1113378; Fri, 26 Apr 2024 09:24:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HoL-0002hl-I9; Fri, 26 Apr 2024 09:24:05 +0000
Received: by outflank-mailman (input) for mailman id 712593;
 Fri, 26 Apr 2024 09:24:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Jki=L7=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1s0HoK-0002hd-4p
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 09:24:04 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2078.outbound.protection.outlook.com [40.107.7.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7fbb73c-03ae-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 11:24:02 +0200 (CEST)
Received: from DBBPR09CA0022.eurprd09.prod.outlook.com (2603:10a6:10:c0::34)
 by DU0PR08MB8834.eurprd08.prod.outlook.com (2603:10a6:10:47b::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 09:23:31 +0000
Received: from DU6PEPF00009523.eurprd02.prod.outlook.com
 (2603:10a6:10:c0:cafe::1c) by DBBPR09CA0022.outlook.office365.com
 (2603:10a6:10:c0::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.29 via Frontend
 Transport; Fri, 26 Apr 2024 09:23:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF00009523.mail.protection.outlook.com (10.167.8.4) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19 via
 Frontend Transport; Fri, 26 Apr 2024 09:23:31 +0000
Received: ("Tessian outbound af213ececc3d:v315");
 Fri, 26 Apr 2024 09:23:30 +0000
Received: from fa77b07b2e66.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 30FCDB9B-FCDC-454F-A7CD-D4CE993A3B95.1; 
 Fri, 26 Apr 2024 09:23:24 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fa77b07b2e66.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 26 Apr 2024 09:23:23 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB6310.eurprd08.prod.outlook.com (2603:10a6:20b:292::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 09:23:22 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7519.021; Fri, 26 Apr 2024
 09:23:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7fbb73c-03ae-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=RoAJhDRMCJ2/bHYO/Frar1eWZDiLcUoRRnlzzUbuTPD1wiGzRIJFpszfUjqbJ9U8ooeN1/WCHZuvWlmdFVkq4hZS5CIiCEngtB4ywZjdr+oB35HEeYMB1unrymNqf/K927wnfI5EmRFEusxvkbADc75YKVlM3LCJbLvKaoPz9sjEQpyp9NRb0VCitJ3smmow1oJwnbAHNZMOXjR29Hq3HH4ike/ZeZiwzpGcC7TohoVoWCZ0D3q2pmfrZ0PRtaWIXnxCP56EarJ0uNn59eh+KfXbRjpatEabeKZ3POkcngl43yxPa1In0gUL7jI6O0gc1erI+v8gHVC+Mb5agRuXZQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FnfeMiupf5ZJtGRQX/qIIqjz8YmKZy6FB5ZRxt3mw1k=;
 b=VSM8/S/eV+RZUqOvPQWrcXUMzlKNB6x1NY8N61JPPTVW2CovmZFWozU4CLR5UtAWD5pS+QA/YKcH5iA4sMO7sljo5MMG0WsHAzmyPaBf2d8CpIiEo0olVKp+EGsuJ+kc0NP1nwxqHf/c80vZSsEmKD4DHJdqU32GY3ALUwBatio6npD4X7DzKJKM7xlehDSJiKYaRyF0WlZzuEY4Fnr0REAsKHqz9avlL1sZbSyk+rTiIHIO83s7t4rLUEGl8pLnyPxk3qOv97UNszNKP32urz0s++is2QEu13dreOu77iMccBi5hm/bED4f9+NvQSV31r67DHGSL4QihwHMw6TQdg==
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=FnfeMiupf5ZJtGRQX/qIIqjz8YmKZy6FB5ZRxt3mw1k=;
 b=UftPU5+5Z92mcjs8iqZiKX0QTOyxq5ahMKE64k9nxuo5XtQPhRX7U76Blwx9sAcBSF58ZHDJpzzVrxtPKuZa0BNip09xY7wDGCW2VEwlykP5h8eWWssCRouvBL5UzJE0SjUS2J832kL9qra+WIm96PT8qJorBzYgF3i89/+zWZA=
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: 75f9cf829eb60666
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=doIutRPTrq9vo4eEiMptLIxPuzfecnzmmR61qvO8UMXB7BxhvYd+6ZkrcTMMMoDNE5aDP2bdEEaivNHyEYRA0Z4OXEoEE07YH+FE4u9DAX0RabfDuX5mCaUa8ndJ5oBrzQvjLZv5i6UgsNFcINN63bsxFcTDgslTo844PHawxNUaYRplWhLU9XExi5Hqxa4ff5rnIbZ1W+edemiWz9NjmSIXpaFXjH5qPFRNp7zd3lshe0+5tMEoHaF/7VR3VcvpawRG5VWUNSvxuRSTcZR5ZQTaA7WaO4uQs9mZ7zXQ7tw1RoJ+mtVCYrCeLPC9qXwT8vDSu8D8Ho6FMToh+xmdDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FnfeMiupf5ZJtGRQX/qIIqjz8YmKZy6FB5ZRxt3mw1k=;
 b=Z3Qj7fdB2+nsZ00InQaRMZq3OsRsSf4iAsUpymgMlguHcKAYFehWXZ88tP58VgAV8WTJ9JuoM3fDLxCcBIg89lIghPeVX/TsusXobaWZEXzCvpovqRk/aiNShCY/WvmsxMu/paLaWhw6YwEnCiJ5LCkQWMx9/pqPUbgzqxr6hSkGweLaKvozL5O+eqmme3OdhfDgDscXu4KTBPoYS73pVDVKw46cBHVsM1vjczwgu6+2Wh8cMywEexMrcbcmeBOGb4GikNd/kAO9Wo8fxtMkC1iBwWID/fb3jIIcMnZnOuNyqGBRsAJopmgrjdiP40mtcjtzUJGtQ5A+AgLqsVt2Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=FnfeMiupf5ZJtGRQX/qIIqjz8YmKZy6FB5ZRxt3mw1k=;
 b=UftPU5+5Z92mcjs8iqZiKX0QTOyxq5ahMKE64k9nxuo5XtQPhRX7U76Blwx9sAcBSF58ZHDJpzzVrxtPKuZa0BNip09xY7wDGCW2VEwlykP5h8eWWssCRouvBL5UzJE0SjUS2J832kL9qra+WIm96PT8qJorBzYgF3i89/+zWZA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.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: [XEN PATCH v3 0/5] FF-A notifications
Thread-Topic: [XEN PATCH v3 0/5] FF-A notifications
Thread-Index: AQHal7Zpi/+zN0xmAUWEyp+UnnJztrF6R0sA
Date: Fri, 26 Apr 2024 09:23:22 +0000
Message-ID: <9094E02F-B4EF-4E22-8DEA-179AAA4CACE0@arm.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
In-Reply-To: <20240426084723.4149648-1-jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB6310:EE_|DU6PEPF00009523:EE_|DU0PR08MB8834:EE_
X-MS-Office365-Filtering-Correlation-Id: fbd21eb4-9952-4935-90c8-08dc65d289f0
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?tl9E/VmoyCECR6g/HLnap1K7s7PbcfXQznSz+XA0YhTX5bs7oqUT0T15tUp7?=
 =?us-ascii?Q?yTeRv2JMA9PaCTpwlsZHyU/nj5/plHvJyVDI0TbJYcK/uGe/6qloM0QAZEAm?=
 =?us-ascii?Q?SOgkB1sx3K5f9Ci4tD8VcWZWF3hRk4theZx+YGVd5Sqfdp7MVlb4G3ES82KS?=
 =?us-ascii?Q?Avl7W9HBS0LIUFv8W/3ZSRA4wCQjQSsgdBIbQzmaXB5LHhIu0tX2YuU2Dt3P?=
 =?us-ascii?Q?PwoqZ8O/WnWO95TKzCfl9zoLNdTkLjOvUz/1Gf/NYKhjfSwr59Jbt5z/gePU?=
 =?us-ascii?Q?gyb/uofq9S0yEXJg13FPxMsfGMsRASUqjyDTqznhzUYyp+WB2QMplgd8onG5?=
 =?us-ascii?Q?4v+5woKrLsveli7se1OZBG8ZS5yMAON0Ia6q7r1NFiVs6rH55NY6nlbxoohl?=
 =?us-ascii?Q?PqP993qf9i8osHylGs3mEJnrxJVudetSaCWiEZbcIAxxcN2k/AgnCcMX4vaN?=
 =?us-ascii?Q?tm5exfIPYZC+8UYfpgfHf6gElqywtSgDXJIkn4ckdeNgnHs/D8/YF450VjvX?=
 =?us-ascii?Q?VjlEFLlaqCCOycJN+7h/5WHQx6BZlTRSZPWTsHxnPJw34p+x8AiMNNi/lPal?=
 =?us-ascii?Q?bXC7h0ZY+eB89GypmtqgUEAzx14lxyClStiGFdyfF7DheJ4I3Zhb0nGsp1uu?=
 =?us-ascii?Q?s4CRw8YfXzzr4YG+/zFi4pkflZ5qHTx8I6JBsCElZgIyadTrEWVdp/O7z37Z?=
 =?us-ascii?Q?Ghe1Lz4BbZlAdViK2LyRJ0Us0U3eFWlKBRD8SdkaJg+a3dOqTG3v/K1q8mY8?=
 =?us-ascii?Q?puB/yuAbFvINxolnUJHA4h9aDeuYSkvQ0bBNb25B8a+tGkVY330HQ/B1rc+B?=
 =?us-ascii?Q?J4q+GqvSvuDNX+JbWV8RRfqRxgiuR9o5ehnpldqRT/V7yAbp+sUf08ycxwr5?=
 =?us-ascii?Q?KRaRoSp3aoOfsVNIwRhsveITDyMF6sCi/9s9G7QPP/9FvXk0VZmVOkD96yI1?=
 =?us-ascii?Q?3Z+b1ggFkhlI9dC1h2JWWN85JCFwAtt+EQsR0Pp623rDYHVtsQ9flSAKTmtw?=
 =?us-ascii?Q?Ux/RdqqpjBzq8bLADFX/dpAB04FBiZzkNz7JXa0XsUVOSHjfT8cUz9NGE8+N?=
 =?us-ascii?Q?5DRYy6jVAGdJCNncmWqJICsYFgErmf64P/q8Gy8/PIB3vAZV/9aPca8YRXFT?=
 =?us-ascii?Q?LTgCtIniCezoK26x0rp8peR9b6icU/0QFN3naDJRVGIINvPMOoHrkQMMoi1h?=
 =?us-ascii?Q?hg0py0MVuaxxYEuULBkDy6H6F5tJAbgNz7X/rTAmjF2HQVZ9dzK1WeFNagnn?=
 =?us-ascii?Q?K8IUmIBZIHroLj/u0BRkS2bS1En2ECA6b3Gn35a2G9Mm7QbSSQn4FNGMUs0U?=
 =?us-ascii?Q?rsj62ydkwnLJIny2XrBENS1MXzT17L3D7OfwFLD4kHakbA=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:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <BFCB284CF7876B4CB56984A850AF3BD3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6310
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF00009523.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	54a6798a-51b7-4985-e29e-08dc65d284c0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Z3IeiDDNio5F66T3HE8FlwWRcJqGlgN0YZGFcwrhyRMoiObHYgbEJzycgS/Q?=
 =?us-ascii?Q?HjHtcRvoOxZH/0NsUR6vH5mACRVDct0BsXUTZMvrVkwHzMQMdUWnmpeuXZPO?=
 =?us-ascii?Q?0TmDnGTIl6rNQF7rXKSrzn6ml32iG8DImycBfpwMKtoJMJ0MG+nBlsF1HtOo?=
 =?us-ascii?Q?ZHiZuoPgfHNRnAn1SufLBiwIednWrOudPaQ8Zvpq11i/hRFzdIkf8NXJvKtz?=
 =?us-ascii?Q?zPvZVSH+74JlCvbIqdTsAlf+Lfx5pvL2jmGe9zzVbIGzCZ1deNbrMuIZ4+Al?=
 =?us-ascii?Q?7ztugqX93OgQZoQvSQ2bl2+WMd82LcNaXs3XNcnICkzUOAVVxCCr7cQS9QKd?=
 =?us-ascii?Q?2SJ+Zo4I88z8Rl6RgmRv+SaQFb6Gg4Anwua03/vFLXFZWiB2mi+YNsKoN3Ll?=
 =?us-ascii?Q?/lKQ/1pfc1ZNhw1fCteC0SNU1S34C4N+3xun5yXmWSReaVQdSooEuTIK0sqg?=
 =?us-ascii?Q?gSoIntRIWlgOFGKy9lYvNOW0an0CfglP8bs2HbjjIFTB4lJFU10V2Yf4Mwwm?=
 =?us-ascii?Q?CTgGbfUpgbDH1SIKxvAGjHTVpfJs6veMO10xKpI3NGJoPFvAOXxPxbv6d0AI?=
 =?us-ascii?Q?F2XMd78JCCTFTkxePPyt6GW7HN9v8n1SJlMvvLkc7cfe4dIrTdH61WKzx1ZL?=
 =?us-ascii?Q?RPMNl1op5+JT651rhop6oN1gBYTOC0VaZ19JDIWD3bBG82WyH6nW+f7BLExA?=
 =?us-ascii?Q?I2ssEGIklaj1WT6Ht3EvZdrOukZTqXyxpaFy2t1SHNDNHJWhHRZJ1GLVX5I1?=
 =?us-ascii?Q?Fud/PP8aeF0rY5pm+bU/eHxpArF0mOUl3NOv0S3Cs3Jiu5p3S4trbpLQk6GX?=
 =?us-ascii?Q?BPCHVOyNzige5IqT+xJvsYeJ/d2uxRMZNWg4fY0BoWllN8VMYVsF5f08sWZM?=
 =?us-ascii?Q?1OyMB2FxEGqSwUpewyJDImCmYXtEtDtkwGl8nD22dlfPV/6hwp3T6DuPndiL?=
 =?us-ascii?Q?XDekX3AerKJdXEWr3KvtZjxF1eAf7XhBFdpWoop41qc1v8uxiwsSD3EarpnM?=
 =?us-ascii?Q?SnlmNCrc22Xkf3AFxmrCgAjoJIDd4iRlR6PYfw3/kbGyIDKpgCZhVtp1p0cz?=
 =?us-ascii?Q?05ttBcNt+QxVy/GwoQolPYCtn1M78N7iYIlxw5DrykIqIQq5QkpWQLZxFGzr?=
 =?us-ascii?Q?UId11dCtQtCFW5UK/a6HO8eh81d622vrm+qGEq8HT31SBhp0PfNTpuKXUcWW?=
 =?us-ascii?Q?ipjH61l/lRlZkSadau5T7D5Ta+Hxj8X1XG/ksY/zJlKCe4CfuNL1VJ20zlxn?=
 =?us-ascii?Q?NpBvpGmKW59mKyIfZM8UDeoxxW+f9vkK1zlmGdebzOw9O50jhZeeSy9Mg7HA?=
 =?us-ascii?Q?hNSAMOFCp24Y2YPbLS4xktOfltsL6GEyM/nHqwcgOzu8LDeZY94APvyL2tX/?=
 =?us-ascii?Q?T6CqwqNQoUXwssoqVX9v1cHwSr7F?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(82310400014)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 09:23:31.1549
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fbd21eb4-9952-4935-90c8-08dc65d289f0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF00009523.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8834

Hi Jens

> On 26 Apr 2024, at 10:47, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Hi,
>=20
> This patch set adds support for FF-A notifications. We only support
> global notifications, per vCPU notifications remain unsupported.
>=20
> The first three patches are further cleanup and can be merged before the
> rest if desired.
>=20
> A physical SGI is used to make Xen aware of pending FF-A notifications. T=
he
> physical SGI is selected by the SPMC in the secure world. Since it must n=
ot
> already be used by Xen the SPMC is in practice forced to donate one of th=
e
> secure SGIs, but that's normally not a problem. The SGI handling in Xen i=
s
> updated to support registration of handlers for SGIs that aren't statical=
ly
> assigned, that is, SGI IDs above GIC_SGI_MAX.

>From my point of view:
- patches 1 to 3 are ready to be commited.
- patch 4 will need a R-b from an other maintainer.
- patch 5 has still some stuff to be checked or fixed but could be
handled as a single patch if the rest or the serie is merged.


Regards
Bertrand


>=20
> Thanks,
> Jens
>=20
> v2->v3:
> - "xen/arm: ffa: support notification" and
>  "xen/arm: allow dynamically assigned SGI handlers" updated as requestsed=
,
>  details in each patch.
>=20
> v1->v2:
> - "xen/arm: ffa: support notification" and
>  "xen/arm: allow dynamically assigned SGI handlers" updated as requestsed=
,
>  details in each patch.
> - Added Bertrands R-B for "xen/arm: ffa: refactor ffa_handle_call()",
>  "xen/arm: ffa: use ACCESS_ONCE()", and
>  "xen/arm: ffa: simplify ffa_handle_mem_share()"
>=20
> Jens Wiklander (5):
>  xen/arm: ffa: refactor ffa_handle_call()
>  xen/arm: ffa: use ACCESS_ONCE()
>  xen/arm: ffa: simplify ffa_handle_mem_share()
>  xen/arm: allow dynamically assigned SGI handlers
>  xen/arm: ffa: support notification
>=20
> xen/arch/arm/gic.c              |  12 +-
> xen/arch/arm/include/asm/gic.h  |   2 +-
> xen/arch/arm/irq.c              |  18 +-
> xen/arch/arm/tee/Makefile       |   1 +
> xen/arch/arm/tee/ffa.c          |  83 +++++--
> xen/arch/arm/tee/ffa_notif.c    | 378 ++++++++++++++++++++++++++++++++
> xen/arch/arm/tee/ffa_partinfo.c |   9 +-
> xen/arch/arm/tee/ffa_private.h  |  56 ++++-
> xen/arch/arm/tee/ffa_shm.c      |  33 ++-
> xen/include/public/arch-arm.h   |  14 ++
> 10 files changed, 551 insertions(+), 55 deletions(-)
> create mode 100644 xen/arch/arm/tee/ffa_notif.c
>=20
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 09:25:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 09:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712598.1113387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Hq8-0003jG-VU; Fri, 26 Apr 2024 09:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712598.1113387; Fri, 26 Apr 2024 09:25:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Hq8-0003j9-Sk; Fri, 26 Apr 2024 09:25:56 +0000
Received: by outflank-mailman (input) for mailman id 712598;
 Fri, 26 Apr 2024 09:25:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J3OG=L7=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1s0Hq8-0003j3-28
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 09:25:56 +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 fb286e02-03ae-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 11:25:55 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-34be34b3296so1541067f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 02:25:54 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 x5-20020a5d6b45000000b003472489d26fsm21974894wrw.19.2024.04.26.02.25.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 02:25: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: fb286e02-03ae-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714123554; x=1714728354; 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=UpuDc7zcag0/D6dYvuRGi4pgWz0ebzRcf9NiHHIglAc=;
        b=NoglMQOnxJ3MXyAJkiA+JOUHemjUzov8vmkSXzE0rlVPYLZcuWU+zfThybc9IM6ohL
         cx5WGP04D1qQk/zjsl6/UItH6Qpdtg6An7eonmMHUDIKV1u0K5iaK6lR3nr416bQh8gm
         sAxUdwTO8WpB69i8d1Iq2h/SmAsKdsMsVHwr8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714123554; x=1714728354;
        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=UpuDc7zcag0/D6dYvuRGi4pgWz0ebzRcf9NiHHIglAc=;
        b=ikszbJkTPRwVviT1DR64EODBCfsmAKPy5su+YxDucAwMyERA2FRX/sw5o5XEpV3KM2
         8BeTjYrvHKhZwfIxWRyKi3rgFSI6dY5EfmhdSLjcqP8pEy2cbMWJU0SZw+BzTY7OJ48l
         uBYl2uqVKmnj4tcEMC7KJPIY0Y4IpIBQyFMWaKFsjMxaXWF1CUv4gQW5w8TcURiZ9Q+s
         i+boBzDh81+Zr44fRWi8xlWALU2UhtVQ0fBtL08acTOXZ2SHiahPBO8W99ccNUIN1lVU
         A67Z8bf4A3XSmklT+y2tYmBaBNknx92qmGImHu15e2xf5yyw7Tt6r8wgfr+8s5uQnBVE
         FxwA==
X-Gm-Message-State: AOJu0Yx00Abtybpk//ry1C1u09O9YbUXPKBAXEhslRrWe59mEz4prnpR
	w9Dsugpq4idIxTpsLXH96M+XdSjTOVNNk1a2VAMrW6CI8QTAv7WNVpzX7pfgb6A=
X-Google-Smtp-Source: AGHT+IEfBZVsjntNTd5oyOOqw1EHYyXilNHuNt5lLrXfLYyTR4jPX3I5hEtXibLyPen8GY2uNRIoBg==
X-Received: by 2002:a5d:68c3:0:b0:34c:5448:7074 with SMTP id p3-20020a5d68c3000000b0034c54487074mr1314173wrw.53.1714123554013;
        Fri, 26 Apr 2024 02:25:54 -0700 (PDT)
Date: Fri, 26 Apr 2024 10:25:50 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	Edwin =?iso-8859-1?B?VPZy9ms=?= <edwin.torok@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 2/2] tools: Drop libsystemd as a dependency
Message-ID: <6047d346-a4e6-4bab-a0fe-b9f76b9ea143@perard>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
 <20240425173216.410940-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240425173216.410940-3-andrew.cooper3@citrix.com>

On Thu, Apr 25, 2024 at 06:32:16PM +0100, Andrew Cooper wrote:
> diff --git a/m4/systemd.m4 b/m4/systemd.m4
> index 112dc11b5e05..aa1ebe94f56c 100644
> --- a/m4/systemd.m4
> +++ b/m4/systemd.m4
> @@ -41,15 +41,6 @@ AC_DEFUN([AX_ALLOW_SYSTEMD_OPTS], [
>  ])
>  
>  AC_DEFUN([AX_CHECK_SYSTEMD_LIBS], [
> -	PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon],,
> -		[PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209])]
> -        )
> -	dnl pkg-config older than 0.24 does not set these for
> -	dnl PKG_CHECK_MODULES() worth also noting is that as of version 208
> -	dnl of systemd pkg-config --cflags currently yields no extra flags yet.
> -	AC_SUBST([SYSTEMD_CFLAGS])
> -	AC_SUBST([SYSTEMD_LIBS])
> -
>  	AS_IF([test "x$SYSTEMD_DIR" = x], [
>  	    dnl In order to use the line below we need to fix upstream systemd
>  	    dnl to properly ${prefix} for child variables in
> @@ -83,23 +74,11 @@ AC_DEFUN([AX_CHECK_SYSTEMD_LIBS], [
>  AC_DEFUN([AX_CHECK_SYSTEMD], [
>  	dnl Respect user override to disable
>  	AS_IF([test "x$enable_systemd" != "xno"], [
> -	     AS_IF([test "x$systemd" = "xy" ], [
> -		AC_DEFINE([HAVE_SYSTEMD], [1], [Systemd available and enabled])
> -			systemd=y
> -			AX_CHECK_SYSTEMD_LIBS()

I think you need to keep calling AX_CHECK_SYSTEMD_LIBS() here,
otherwise, nothing sets $SYSTEMD_DIR or $SYSTEMD_MODULES_LOAD.

> -	    ],[
> -		AS_IF([test "x$enable_systemd" = "xyes"],
> -			[AC_MSG_ERROR([Unable to find systemd development library])],
> -			[systemd=n])
> -	    ])
> +	systemd=y
>  	],[systemd=n])
>  ])
>  
>  AC_DEFUN([AX_CHECK_SYSTEMD_ENABLE_AVAILABLE], [
> -	PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon], [systemd="y"],[
> -		PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
> -				  [systemd="y"],[systemd="n"])
> -	])

Instead, or in addition, you could AX_AVAILABLE_SYSTEMD() in
configure.ac by AX_ENABLE_SYSTEMD(). (Or AX_ALLOW_SYSTEMD()).

With the current patch, AX_CHECK_SYSTEMD() will enable systemd
"support", even if it supposed to be disabled by default. So it's better
to use AX_ENABLE_SYSTEMD() as this will set the correct help message.

And can you add an entry in CHANGELOG? As systemd support isn't
automatically enabled with the presence of the libs anymore.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 09:26:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 09:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712599.1113397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0HqR-0004E8-6q; Fri, 26 Apr 2024 09:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712599.1113397; Fri, 26 Apr 2024 09: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 1s0HqR-0004E1-3G; Fri, 26 Apr 2024 09:26:15 +0000
Received: by outflank-mailman (input) for mailman id 712599;
 Fri, 26 Apr 2024 09:26:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0HqP-0003j3-Vm
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 09:26:13 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 060b334b-03af-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 11:26:13 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id
 d75a77b69052e-43969307359so12023771cf.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 02:26:13 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 kf22-20020a05622a2a9600b00434a041d310sm7726594qtb.16.2024.04.26.02.26.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 02:26: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: 060b334b-03af-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714123572; x=1714728372; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HqG6gnKHSAGTiM2IURHK+HU8sY5bT7kNa/o07cI4jFI=;
        b=rdxpV/VNyvanrcsV/efp9rodQMUn/kqwWO5A+1UcpOqXfXfvPms8cyV9ZjuaK7jWqL
         L2Dmr8S+r8fStpTnd6VRawqCGGmD+a4vJaQn4kEoyZsvjvqkF+AuFuGJxKNbKw2KMSYB
         kUarYVn6RGk2jHe0BBn0MtmiVq/UwCsePVxXg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714123572; x=1714728372;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HqG6gnKHSAGTiM2IURHK+HU8sY5bT7kNa/o07cI4jFI=;
        b=lWs7Klrv3AJR+7ddfBsAhcULCIFISHoGT/PksLiyNOMsXjEsTYl5mCJDUbOKt6IEbk
         rALxoqahAes6Rb1mEertV7+kgSFJ3C+KD7raJosqE41l7h/M7c+KWZdDjkM4ov2XbMiS
         lUOJ29d93QhjMOHmUc7qlqhN0m6WVjbNuYqaacNHT/g1kpStb0aV9G6O6+CISfI98K8d
         CevNWrjhtgByhF6a74DOhBvvnhL2F/SftPa5jLsWQBksycdtG1dwpPWz2NGuDJZ57nNp
         XwMQM8zRLWiuw4/opl2eiMQse3EGaa63h30eTR047RxM9GQP58hix9xfVZyMAg0U2cIj
         MOLw==
X-Gm-Message-State: AOJu0Yxx4wXe0aJtLh35Y4dUZiR5Vi6ZPMVM8GXsk0go4lkOvJNCiyqW
	AIs1OBlB6o1mB4J8wqOtFrN0IQDgRV0CTWWmcDykTb/vJKM3ZPRjpYsN1Idz9/U=
X-Google-Smtp-Source: AGHT+IFJrKAxABRo+f61oTcjzeX3ejiFbMPq4z7KuPMOQpV33Zl/VIa/jyXeD2fSHDb2OykEP1rKmg==
X-Received: by 2002:ac8:5a0d:0:b0:439:b55f:db06 with SMTP id n13-20020ac85a0d000000b00439b55fdb06mr2631368qta.54.1714123572065;
        Fri, 26 Apr 2024 02:26:12 -0700 (PDT)
Message-ID: <74b57e28-c006-44fa-87f0-da37f0539dbc@citrix.com>
Date: Fri, 26 Apr 2024 10:26:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] tools/{c,o}xenstored: Don't link against libsystemd
To: Anthony PERARD <anthony.perard@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
 <20240425173216.410940-2-andrew.cooper3@citrix.com>
 <b5e242fa-daf1-43a2-afd2-cc1ad1bd4dc1@perard>
 <341c5901-254e-4ad2-b935-6b586cd25f2e@citrix.com>
 <413a63de-07ec-43a9-ae60-6b0cfdd61312@perard>
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: <413a63de-07ec-43a9-ae60-6b0cfdd61312@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/04/2024 9:51 am, Anthony PERARD wrote:
> On Thu, Apr 25, 2024 at 07:16:23PM +0100, Andrew Cooper wrote:
>> On 25/04/2024 7:06 pm, Anthony PERARD wrote:
>>> On Thu, Apr 25, 2024 at 06:32:15PM +0100, Andrew Cooper wrote:
>>>> libsystemd is a giant dependency for one single function, but in the wake of
>>>> the xz backdoor, it turns out that even systemd leadership recommend against
>>>> linking against libsystemd for sd_notify().
>>>>
>>>> Since commit 7b61011e1450 ("tools: make xenstore domain easy configurable") in
>>>> Xen 4.8, the launch-xenstore script invokes systemd-notify directly, so its
>>> That's not enough, it's needs to be `systemd-notify --ready` to be a
>>> replacement for sd_notify(READY=1).
>>>
>>>> not even necessary for the xenstored's to call sd_notify() themselves.
>>> So, sd_notify() or equivalent is still necessary.
>>>
>>>> Therefore, just drop the calls to sd_notify() and stop linking against
>>>> libsystemd.
>>> Sounds good, be we need to replace the call by something like:
>>>     echo READY=1 > $NOTIFY_SOCKET
>>> implemented in C and ocaml. Detail to be checked.
>>>
>>> Otherwise, things won't work.
>> Hmm.  It worked in XenRT when stripping this all out, but that is
> I don't know how XenServer is setup, maybe it doesn't matter?

In theory it's straight systemd, but I could also believe that Xapi
checks for the pidfile too.

>  Anyway...
>
>> extremely unintuitive behaviour for `systemd-notify --booted`, seeing as
>> it's entirely different to --ready.
> Yes, this --booted option should probably not exist, and there's
> `systemctl is-system-running` that does something similar.
>
>> I've got no interest in keeping the C around, but if:
>>
>> [ -n "$NOTIFY_SOCKET" ] && echo READY=1 > $NOTIFY_SOCKET
>>
>> works, then can't we just use that after waiting for the the pidfile ?
> Run `systemd-notify --ready` instead. Hopefully, that will be enough.
> ($NOTIFY_SOCKET is a socket, and a bit more complicated that I though,
> it can start with "@" for example)

I'll do a prep patch to adjust launch-xenstore after which this patch
should be fine in this form (modulo a tweak in the commit message).

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 09:26:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 09:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712605.1113407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Hqt-0004v5-J5; Fri, 26 Apr 2024 09:26:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712605.1113407; Fri, 26 Apr 2024 09: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 1s0Hqt-0004uy-GO; Fri, 26 Apr 2024 09:26:43 +0000
Received: by outflank-mailman (input) for mailman id 712605;
 Fri, 26 Apr 2024 09:26: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=6fR+=L7=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1s0Hqs-0004Dy-A5
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 09:26: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 169a0c6a-03af-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 11:26:40 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-56e6acb39d4so2384738a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 02:26:40 -0700 (PDT)
Received: from smtpclient.apple ([160.101.139.1])
 by smtp.gmail.com with ESMTPSA id
 h25-20020a0564020e9900b0056bc0c44f02sm9770934eda.96.2024.04.26.02.26.39
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 26 Apr 2024 02: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: 169a0c6a-03af-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714123600; x=1714728400; 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=N32NRcpopNjHd1DfO88xoFNUzUXDyaEjvtd+l55qx+s=;
        b=fMEhI6IiG+68O3yzRQEmvFwSsFISQNgpUlpLBah37IXQGl0QtV3JVd2GDRC1CoFnRj
         ZLVgLFh/CQWRSifFFivQnMP1ussr9+HZttAudM7ukLsVmfixGY3fTGELDx7K3Pj3x4zZ
         JcI7x53IHQpcg9iw1lC5Imf4qJSCeraXkb3tY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714123600; x=1714728400;
        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=N32NRcpopNjHd1DfO88xoFNUzUXDyaEjvtd+l55qx+s=;
        b=GeMmn1H5AlZ46HQUoE2l/xqq2jlms+cRpC4oksjbqo8tMt87eWw7+LfMXbtDv+QoBf
         KNL3YscDWZUb5hBAqV2Z6tD4mllwzoxLN5eHGbx2/rkodkpluRJCPbz8YHCqiHqFsfcg
         XoEyuI+83P9PNcS7vKrL5rZPUE6B6X/yKLVas85k0QtRAeu/d50bkdA1aCAiK+b+mKH8
         5KzWwXSxfUN6+PDtyRSBArfEQ8VsCTd1HE8Z+6S5GPCwtvISFKW7lVrXv/kuRbvxknvU
         SNGBMbIMvuxepC4tZbcImIbfF6H2Vb4SYaUKmjaF51fjd8/VNEcv+EzhPgZ/P3Abgsdo
         cPAw==
X-Gm-Message-State: AOJu0Yzf5ZRXRGtzSqFEIhW/MpXBNIp1aUiH3JkYd2/GgIhPmC03jrIO
	Pa1dU2ehFbD+5YG3btzuthIbxAzrEZsdb6JfVce4TLUiY9LBt5ZxZ8pEF6iOPHw=
X-Google-Smtp-Source: AGHT+IFiahPKAAYNWfJlrqrkilTCUqUzjDnoFMli2fbfj8iG9pDdhRTT+2xd48Z0oDYoGQezs4pEnQ==
X-Received: by 2002:a50:9fc1:0:b0:570:3b1:5aa2 with SMTP id c59-20020a509fc1000000b0057003b15aa2mr1292059edf.32.1714123600142;
        Fri, 26 Apr 2024 02:26:40 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\))
Subject: Re: [PATCH 0/2] Drop libsystemd
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20240425173216.410940-1-andrew.cooper3@citrix.com>
Date: Fri, 26 Apr 2024 10:26:28 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <EB058553-0C88-425B-A778-2ECCE8A7CC5E@cloud.com>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.500.171.1.1)



> On 25 Apr 2024, at 18:32, Andrew Cooper <andrew.cooper3@citrix.com> =
wrote:
>=20
> On advise from the systemd leadership.  See patch 1 for details.
>=20
> Andrew Cooper (2):
>  tools/{c,o}xenstored: Don't link against libsystemd
>  tools: Drop libsystemd as a dependency

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

I agree with the general direction of limiting exposure to systemd =
libraries. The exact way is currently being debated.

=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 09:43:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 09:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712617.1113417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0I6f-000080-Tc; Fri, 26 Apr 2024 09:43:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712617.1113417; Fri, 26 Apr 2024 09:43:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0I6f-00007t-Qv; Fri, 26 Apr 2024 09:43:01 +0000
Received: by outflank-mailman (input) for mailman id 712617;
 Fri, 26 Apr 2024 09:43: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=luGg=L7=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1s0I6f-00007m-6X
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 09:43:01 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d6a97f4-03b1-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 11:42:59 +0200 (CEST)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-1e3f17c6491so16017605ad.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 02:42: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: 5d6a97f4-03b1-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714124578; x=1714729378; 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=ZO09fXp7y7b1v5MnHu4S1VhxKstbks5Nj+es06/ka34=;
        b=WvvJbavz0nrFYRrkwwpAWqm3l2JrrYgali4DjRinPZwE44VNje+ZF6SKULVNuFxHsc
         UHaLSUndGFBU/AwXBpcFqfuloPOLw/sfeRQIs7ZNJSw8nFlm9pcdmHp68mpZfJF3hdZ/
         GL+BM9neIR2AeUh2BKVKXZmKf7egI25T3uBvQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714124578; x=1714729378;
        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=ZO09fXp7y7b1v5MnHu4S1VhxKstbks5Nj+es06/ka34=;
        b=TtithwHbIkw5VFsI6mVAvGwlEAcEEu4MWYT4f8xN9RC6egLlEhH3T/XVxQo/PWF1Rk
         RC+Md6DRyWb6meU4bZHc7rhbs39P1AVcub44hCd8XSz8hJxOBNsM4LDrfJe01jeEGWrh
         JrPYBDVHuzwlKMU9D8T7qxROu+vk02XqYeW7jPJ7EMH9bDRvXgeprvkFUd0m98fdkrVw
         +x3Z1HZkFWqDTTcu3Og3yHDZECCIzl908p91bYY9SNzhmDJOYcGELuPMfl5Y0aNNY9Rq
         fQ1da7XxLZS1dOtiFvuBzwD+nZXO5HImbzx7nsV2YxfrU4PEJ7g5PAyTjD/KEfygG8Ef
         saeA==
X-Gm-Message-State: AOJu0YyuQDcryW+ZQe+CQl5d+7D5JPR+nlgcv64Z6l4yvmlPzG4C2DMU
	N4siI++3VYsu58tljObz9MIwy2Oyx630fH6tmUqgQe47NTnbcbFcBO3NmNd15K24YdG16ogN5MC
	1cQxqQ5jHRLF51hzxiKvLZrooJQ/ZItdbDrQuSoJu5bukJig=
X-Google-Smtp-Source: AGHT+IHhQjl8KaufbjweOxPrgeTNA8JHdcs/55SsaaVBymwxZ9RSc/DXq48HKsYjBZmV3jSvR7hl/GjTeWg1geu4g80=
X-Received: by 2002:a17:903:2a8f:b0:1e4:3e67:2bbb with SMTP id
 lv15-20020a1709032a8f00b001e43e672bbbmr2413141plb.48.1714124577697; Fri, 26
 Apr 2024 02:42:57 -0700 (PDT)
MIME-Version: 1.0
References: <20240426072144.48828-1-roger.pau@citrix.com>
In-Reply-To: <20240426072144.48828-1-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Fri, 26 Apr 2024 10:42:47 +0100
Message-ID: <CAG7k0Epadd1YNEikKqQt=8s6WcK08eD3cdGtQMBd+nMt_qugWQ@mail.gmail.com>
Subject: Re: [PATCH] xen-livepatch: fix --force option comparison
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Anthony PERARD <anthony@xenproject.org>, 
	Jan Beulich <jbeulich@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 26, 2024 at 8:21=E2=80=AFAM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> The check for --force option shouldn't be against 0.
>
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Fixes: 62a72092a517 ('livepatch: introduce --force option')
> 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 Fri Apr 26 10:49:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 10:49:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712635.1113443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0J8b-0003l1-P2; Fri, 26 Apr 2024 10:49:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712635.1113443; Fri, 26 Apr 2024 10:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0J8b-0003ku-MM; Fri, 26 Apr 2024 10:49:05 +0000
Received: by outflank-mailman (input) for mailman id 712635;
 Fri, 26 Apr 2024 10:49:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0J8a-0003ko-8k
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 10:49:04 +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 979636a5-03ba-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 12:49:02 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a519e1b0e2dso277801166b.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 03:49: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
 d18-20020a1709061f5200b00a587831c09fsm4507567ejk.186.2024.04.26.03.49.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 03:49: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: 979636a5-03ba-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714128541; x=1714733341; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=upoVOPXGeYRFP89FVskEKcXB6vRxHWSPcT9ROSFwTdc=;
        b=W90TkLNVGsrQn5jJz0gblC7nENRN3d3pTjmHKi4YMR5gkVfimAiwbq7gV3YVi0Uroc
         KoU7aIaY7sObwucmILWfk/JTILoDusgq03UWkoPa63BCRbrewm2PYUoUiJYMfSdVHdpp
         P9y/lN34UN/H1NdXrzsKABUUf14nvT1LQUSMmg2bVOSFg8T32D23kK5twn+UwaXGAMOw
         4vqGfWQ0b6mY/JCEelJPDTTaW6rI/87dNx3V9LqpwhDxe5sZUMAkpfghKT0lJroN2omN
         o4fq+hXgzCz/Q/gJWapi2fASNsZzl3tjUsLGCyvkU2+v1QjvyWekgOf71O5wQSamRCcn
         53Jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714128541; x=1714733341;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=upoVOPXGeYRFP89FVskEKcXB6vRxHWSPcT9ROSFwTdc=;
        b=TIbH3qbcGoRDsmBiJmA34cafgBRjgqF+vGnNHoNGKJEevGJ+UFpC9zL+ZWpNZq/0TD
         PFPUk/pt4M3Jl50i4oknb4iE4Cc7CCGmz1ZuMqQ4MFREPxu5LyqD/wCzoXT2ZWatEEWD
         +Wx/kIl6NoL5Rw5W6vcKmS44v7SNZU+ciBh3wUs5D8j3QGaKkQmEkpcZWZDTyX7WrcYm
         coUyXLxvKFzuGrmIATEtii//hRPTyx4gQ3it+42+9WHyVFdk2sHDQ1xfJER1CvkW4gA6
         7N7GvKa/ULxc7OwUMoxVd9MWUfCx1WI6cAdfzdsG5gd5rjkJaBEPgNdlG8Ru7tU/OV2L
         xCNg==
X-Forwarded-Encrypted: i=1; AJvYcCV4q77gQVwkegzo/W8E2XXjNEPGpxqUc2lkr7XnTmkF1iDtSJg6+l4DTe+KjzJBCdysdZV3ao5qp8830PbxdPFi6Qy8y7CvnKNebR/9tLs=
X-Gm-Message-State: AOJu0Yx4c9yTCH0bGNRvuwKzEMIfROu24o47UL9xGlEeQKxdxCuCHCFU
	UacrZ66+KBnQ2hjorM5wvpMvGog7QtaO+OreM3shTBWZxH1IiSy4FPdS1LI26Q==
X-Google-Smtp-Source: AGHT+IFTVS4Bf+Gii9vZCRY2y6+P6VLhNhDueiTQunFLNatWDNOvkbwGul0XGQCjUSURGkIq5dow9w==
X-Received: by 2002:a17:906:480f:b0:a52:3ff7:744d with SMTP id w15-20020a170906480f00b00a523ff7744dmr1709053ejq.4.1714128540932;
        Fri, 26 Apr 2024 03:49:00 -0700 (PDT)
Message-ID: <9c295302-4ba4-4955-85dc-0f078192356c@suse.com>
Date: Fri, 26 Apr 2024 12:48:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 02/17] xen: introduce generic non-atomic test_*bit()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <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>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <1a0977e3cf5a2de9f760ca5ec89a0d096894a9e3.1713347222.git.oleksii.kurochko@gmail.com>
 <3827c11c-6d47-411d-a356-871def4e5b30@suse.com>
 <367bcd4d7f501ce72a8c101dfd846e94682d4045.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <367bcd4d7f501ce72a8c101dfd846e94682d4045.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 10:14, Oleksii wrote:
> On Thu, 2024-04-25 at 17:35 +0200, Jan Beulich wrote:
>>>   /* --------------------- Please tidy above here -----------------
>>> ---- */
>>>   
>>>   #include <asm/bitops.h>
>>>   
>>> +#ifndef arch_check_bitop_size
>>> +#define arch_check_bitop_size(addr)
>>
>> Can this really do nothing? Passing the address of an object smaller
>> than
>> bitop_uint_t will read past the object in the generic__*_bit()
>> functions.
> Agree, in generic case it would be better to add:
> #define arch_check_bitop_size(addr) (sizeof(*(addr)) <
> sizeof(bitop_uint_t))

At which point x86 won't need any special casing anymore, I think.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 10:51:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 10:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712638.1113456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0JB3-00059H-5C; Fri, 26 Apr 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 712638.1113456; Fri, 26 Apr 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 1s0JB3-00059A-2J; Fri, 26 Apr 2024 10:51:37 +0000
Received: by outflank-mailman (input) for mailman id 712638;
 Fri, 26 Apr 2024 10:51:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0JB1-000592-Tz
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 10:51:35 +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 f2b27ee2-03ba-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 12:51:34 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-51b09c3a111so2762527e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 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
 el5-20020a056402360500b005725e1100b9sm192543edb.54.2024.04.26.03.51.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 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: f2b27ee2-03ba-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714128694; x=1714733494; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=GqMPJs6GSXdJLBvDgz4ntcAfwPDuACaaty5tFMN/xQE=;
        b=RxuqBPTvZ5x8Y8iOYyPBgqvqxr7CUwO4IYZIDhJyKYfbLbCv4w9EQVl8TXCtAnjZGq
         vqWZpjYUnNyfg/6hkT4Xvv9HH5PGd0PicebZbgVfSpAOw2vhxTykdWXnpFviPDYEvuiK
         SMhdpFO/IrKCz30GaR9QB9BrObeKPkV6byjG6v+o26eaDfLHixXy5V+N4+ZZlO6aYZfC
         unNq0wlZl8bTlSiHAnHxfEfc9u/B6o/POiAFYYaxvGDQdcd6hmUpiPcZlrKx3lMqxx7O
         YaEBYy4boYiPXIStwlC+LMWJCVRu0ZEtecaGkmM+f6/u1cio+ZJ9//E5JmU2VZK+iIsJ
         46kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714128694; x=1714733494;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GqMPJs6GSXdJLBvDgz4ntcAfwPDuACaaty5tFMN/xQE=;
        b=gic0l6rfSOxgwHBaEA5eoQ8x/QA36U3vN85DFZT3A5RBzZFZt8hnRYYzLDi4JhPkUB
         EVBgplqaDRbWdqXB/C0shomt5frusFD483q7e6kLIFdjQ2mIpbdBydNmLvDiRZdRv3Hj
         KqMRagho5lbSvD+s0+QS1pofO2jJC29uig+JMF3G2kFDqoVk3gD+qeUwfvTAUXu/Iooi
         THZD2f34Hna3yDbjljVH/QeQxl/9psuV0GYwCPLQPL9clAIS0MxKJvbNTn9pdw1jjS0V
         ialh0J15gdPsk3FIg+AD09xnor7b0dxXH8x1IqOrPC1eBlTaXCBLjiO/i3TXBW1Wm+DK
         Kbng==
X-Forwarded-Encrypted: i=1; AJvYcCUwtcElwnavmt2oh4ahDc4WlfNZ2GrVh06nMK7pMu81LJyNSN/V8Q4U/JJoSlIi5WIiztnFKIo0DvkJ4w1uKdoVQT5ZoBylDyU6vRnaOqk=
X-Gm-Message-State: AOJu0Yy3Rwo3WHuuFmrMeKSviT7LcQG9EAiZHOHx7CzUUreJehqett4Z
	E1gzyaPSfHOPcjrAS1hni4fkTaiTdD8WHOcB65UnycvoQx3wBSN+QKulK45qYQ==
X-Google-Smtp-Source: AGHT+IF8V1T4XSwiCIS1kjA9StsHcYkxoDb9oOFxMeAq6pRyGBsy0wBIHdK6pOutiz5YzdL2PxpvXQ==
X-Received: by 2002:a05:6512:529:b0:51b:14f9:3f1d with SMTP id o9-20020a056512052900b0051b14f93f1dmr1395664lfc.30.1714128693812;
        Fri, 26 Apr 2024 03:51:33 -0700 (PDT)
Message-ID: <d1f546dc-35bd-47f9-89be-582660d23ec1@suse.com>
Date: Fri, 26 Apr 2024 12:51:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 03/17] xen/bitops: implement fls{l}() in common logic
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <60bc710b990ed1d45741888df7e97cf25d150e61.1713347222.git.oleksii.kurochko@gmail.com>
 <a6245e9e-a156-4b17-8695-e072915fe78b@suse.com>
 <fb1a228b1bd58d17d7836c3413d3b0a8a9602978.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <fb1a228b1bd58d17d7836c3413d3b0a8a9602978.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 10:21, Oleksii wrote:
> On Thu, 2024-04-25 at 17:44 +0200, Jan Beulich wrote:
>> On 17.04.2024 12:04, Oleksii Kurochko wrote:
>>> Return type was left 'int' because of the following compilation
>>> error:
>>>
>>> ./include/xen/kernel.h:18:21: error: comparison of distinct pointer
>>> types lacks a cast [-Werror]
>>>        18 |         (void) (&_x == &_y);            \
>>>           |                     ^~
>>>     common/page_alloc.c:1843:34: note: in expansion of macro 'min'
>>>      1843 |         unsigned int inc_order = min(MAX_ORDER, flsl(e
>>> - s) - 1);
>>
>> Apart from this I'm okay with this patch, assuming Andrew's won't
>> change in
>> any conflicting way. As to the above - no, I don't see us having
>> ffs() / ffsl()
>> returning unsigned int, fls() / flsl() returning plain int. Even more
>> so that,
>> given the LHS variable's type, an unsigned quantity is really meant
>> in the
>> quoted code.
> If I understand you correctly, it's acceptable for fls() / flsl() to
> return 'int'. Therefore, I can update the commit message by removing
> the part mentioning the compilation error, as it's expected for fls() /
> flsl() to return 'int'. Is my understanding correct?

No. I firmly object to ffs() and fls() being different in their return
types. I'm sorry, I realize now that my earlier wording was ambiguous
(at least missing "but" after the comma).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 10:54:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 10:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712645.1113468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0JDo-0006F0-Ji; Fri, 26 Apr 2024 10:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712645.1113468; Fri, 26 Apr 2024 10: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 1s0JDo-0006Et-Fh; Fri, 26 Apr 2024 10:54:28 +0000
Received: by outflank-mailman (input) for mailman id 712645;
 Fri, 26 Apr 2024 10:54:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0JDn-0006En-1d
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 10:54:27 +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 586b95b6-03bb-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 12:54:25 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2db101c11beso21365271fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 03:54: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
 x16-20020a1709060a5000b00a5575c9d5b4sm10268501ejf.63.2024.04.26.03.54.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 03:54: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: 586b95b6-03bb-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714128864; x=1714733664; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LvVGniZk0l+qBd9SNb8+3MoUeNuCKMe4CmEnjUlNdmY=;
        b=OZ6fC5aRz7jez6DdA3hXo8Fg+H3azIvJK5Vl3r4jH1FO3vnnx5cFgZgVis9VdnU/bP
         hn5TItEiY65iZ+aGhppCWQPO/Sg+sVhorx3CqVmVaeBe5UAktER5HLhOsZeBpl0C55SW
         XCX0aeln1YrOU/f7cwO8gAZcGZ1bl6IyYhC0dFd5tZuMQsKYNBerbpDvyIrLv4q7R11t
         JrH9dlBAjasQYdlx+zw7HqCdaqbqx8jTSSQEI2TkwSkXLnS1pGKpKOT8MrV/jsKhEKwf
         9jODoaBumqx1pq8HGp6Gs53rivLgsrIxvwrP8Rq/yCsU6bp51pCc9QBoZXy4JQJcADJ0
         2dog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714128864; x=1714733664;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LvVGniZk0l+qBd9SNb8+3MoUeNuCKMe4CmEnjUlNdmY=;
        b=ahrL3TOq0vCIsoeacL7XuPt694BntUHc92DHYsX81iCOD7TPWGR1bKUy2n4kmYodzp
         24WqzMEKDW3ieaPHUhXR53AKY4PzT3L7w7xhGdWet5BXKcAWl0kj0Q9Z44tnhcNTZwjL
         /UAWUYAOM0cSZ3xmG3FMkcgaDd5rugDT72T9cOsj1hc6dMCgy1SFB2KgmXGBEz4qsZer
         VLsxHMjky3817E/q+7WG4YYtEN3S3AfNnBbtRH7uAIoOrzBrDlcqCPHc9MYdHWmNi6DD
         6ZS+gl2vrbsbc5mQe1bAyrhh9ZOzweEqJINxrPVwjVQV5pLzUflmiGQ0QshwpjOOwLWI
         cfwg==
X-Forwarded-Encrypted: i=1; AJvYcCXlhkIRasgiAxrNYfgmMd4QqephM3nJLb216A1U+wqj2kYGo8Zmx5yWxeFmkChEN+ue4Y0AW/YgPueaZSoxY+lmQZJMVIudHJuoUSnMTPY=
X-Gm-Message-State: AOJu0YzlVah/RZXLEEwrPTu5muI0p7iyE5uKBCbAEvCDj0Ix/N1CjZE6
	QoI7x4RMJiCx8V26ny61RtJWFNzsiHJ/3breDWxUyLreZ0EBoVszPjOlMbSUBQ==
X-Google-Smtp-Source: AGHT+IGN2kmz4W+i7Hm1V44uxis0DUbrhKzRH3eSwBYCDGziktnlZkJQYhbOKC9hdZ4lGHUGYnETZQ==
X-Received: by 2002:a19:8c42:0:b0:51c:5fab:c23d with SMTP id i2-20020a198c42000000b0051c5fabc23dmr1149516lfj.17.1714128864311;
        Fri, 26 Apr 2024 03:54:24 -0700 (PDT)
Message-ID: <52d3e3bc-e57f-4656-8e1d-7a3f6e871a83@suse.com>
Date: Fri, 26 Apr 2024 12:54:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/riscv: check whether the assembler has Zbb
 extension support
Content-Language: en-US
To: Oleksii <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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <95441782d1920f219d63dee1c82c7df68424d374.1713523124.git.oleksii.kurochko@gmail.com>
 <956388de-ef6d-4d7a-8b5f-2a292af8db53@suse.com>
 <f410f3a619079b5089ea13018c26117e7e3f6e62.camel@gmail.com>
 <f06c079116c194965491dfc669a32b9c60a90b3d.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f06c079116c194965491dfc669a32b9c60a90b3d.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 10:26, Oleksii wrote:
> On Mon, 2024-04-22 at 17:41 +0200, Oleksii wrote:
>> On Mon, 2024-04-22 at 11:43 +0200, Jan Beulich wrote:
>>> On 19.04.2024 16:23, Oleksii Kurochko wrote:
>>>> Update the argument of the as-insn for the Zbb case to verify
>>>> that
>>>> Zbb is supported not only by a compiler, but also by an
>>>> assembler.
>>>>
>>>> Also, check-extenstion(ext_name, "insn") helper macro is
>>>> introduced
>>>> to check whether extension is supported by a compiler and an
>>>> assembler.
>>>>
>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>> despite ...
>>>
>>>> --- a/xen/arch/riscv/arch.mk
>>>> +++ b/xen/arch/riscv/arch.mk
>>>> @@ -11,9 +11,14 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       :=
>>>> $(riscv-march-y)c
>>>>  
>>>>  riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
>>>>  
>>>> -zbb := $(call as-insn,$(CC) $(riscv-generic-flags)_zbb,"",_zbb)
>>>> -zihintpause := $(call as-insn, \
>>>> -                      $(CC) $(riscv-generic-
>>>> flags)_zihintpause,"pause",_zihintpause)
>>>> +# check-extension: Check whether extenstion is supported by a
>>>> compiler and
>>>> +#                  an assembler.
>>>> +# Usage: $(call check-extension,extension_name,"instr")
>>>> +check-extension = $(call as-insn,$(CC) $(riscv-generic-
>>>> flags)_$(1),$(2),_$(1))
>>>> +
>>>> +zbb-insn := "andn t0, t0, t0"
>>>> +zbb := $(call check-extension,zbb,$(zbb-insn))
>>>> +zihintpause := $(call check-extension,zihintpause,"pause")
>>>
>>> ... still not really being happy with this: Either, as said before,
>>> zbb-insn
>>> would better be avoided (by using $(comma) as necessary), or you
>>> should have
>>> gone yet a step further to fully address my "redundancy" concern.
>>> Note how
>>> the two ultimate lines still have 3 (zbb) and 2 (zihintpause)
>>> references
>>> respectively, when the goal ought to be to have exactly one. E.g.
>>> along the
>>> lines of
>>>
>>> $(call check-extension,zbb)
>>> $(call check-extension,zihintpause)
>>>
>>> suitably using $(eval ...) (to effect the variable definitions) and
>>> defining
>>> both zbb-insn and zihintpause-insn.
>>>
>>> But I'll nevertheless put this in as is, unless you tell me you're
>>> up
>>> to
>>> going the extra step.

Well, as per this v3 went in already. Hence ...

>> I am okay with all your suggestions. So the final version will look
>> like ( if I understood you correctly ):
> Jan,
> 
> Could you please review the changes below? I just want to ensure that
> you are okay with them. If you are, I'll add your Acked-by that you
> gave to this patch in previous answers.

... if you now want to further update the logic, it'll be a new patch
anyway. The adjustments below look okay to me, but I'm not going to
insist at this point that this be further fiddled with.

Jan

>> --- a/xen/arch/riscv/arch.mk
>> +++ b/xen/arch/riscv/arch.mk
>> @@ -13,12 +13,19 @@ riscv-generic-flags := $(riscv-abi-y) -
>> march=$(riscv-march-y)
>>  
>>  # check-extension: Check whether extenstion is supported by a
>> compiler
>> and
>>  #                  an assembler.
>> -# Usage: $(call check-extension,extension_name,"instr")
>> -check-extension = $(call as-insn,$(CC) $(riscv-generic-
>> flags)_$(1),$(2),_$(1))
>> +# Usage: $(call check-extension,extension_name).
>> +#        it should be defined variable with name: extension-name :=
>> "insn"
>>  
>> -zbb-insn := "andn t0, t0, t0"
>> -zbb := $(call check-extension,zbb,$(zbb-insn))
>> -zihintpause := $(call check-extension,zihintpause,"pause")
>> +define check-extension =
>> +$(eval $(1) := \
>> +       $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value
>> $(1)-
>> insn),_$(1)))
>> +endef
>> +
>> +zbb-insn := "andn t0$(comma)t0$(comma)t0"
>> +$(call check-extension,zbb)
>> +
>> +zihintpause-insn := "pause"
>> +$(call check-extension,zihintpause)
>>  
>>  extensions := $(zbb) $(zihintpause)
>>
>> If the diff above looks good, I'll sent a new patch version.
>>
>> Thanks.
>>
>> ~ Oleksii
> 



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 11:04:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 11:04:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712656.1113496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0JNB-0008Sd-TE; Fri, 26 Apr 2024 11:04:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712656.1113496; Fri, 26 Apr 2024 11:04:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0JNB-0008SW-Qh; Fri, 26 Apr 2024 11:04:09 +0000
Received: by outflank-mailman (input) for mailman id 712656;
 Fri, 26 Apr 2024 11:04: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=nLQV=L7=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1s0JNA-00084D-Gv
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 11:04:08 +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 b2e90175-03bc-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 13:04:06 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-57255e89facso600374a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 04:04: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: b2e90175-03bc-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714129445; x=1714734245; 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=0Y6YcNctRX5knL74w+4wjmbrTytIBttjArAywtNz6fE=;
        b=cthuDGIajiMNK4aSbPgcVOQtLmpq5AGonwr8sWTcQ/Q4ctEYJ7ZGs0iOHgV6SMT7nc
         zz/I5y+uS0TzYt6TfTTHWgu7Jcbf8Y5buTd3rX2KVy7U/rFbTYWNLIeAeUBajbOx9pNo
         bYWtVeP+UY7B7E8oicRX9JV/cOOv+SpihBZho=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714129445; x=1714734245;
        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=0Y6YcNctRX5knL74w+4wjmbrTytIBttjArAywtNz6fE=;
        b=sDRQGBWjRYUw8ybYqHhm01N+8aQaf/G7Qt/Oh//45gMbrCV4cOyCoSiHnigVsHD6Qu
         ZtJnBlPStC3wKN8empQV2Fgmrs/EZ2l49qy/n1SmkAxOIcJiXrO4KvTUiUl/j1vrf1PK
         6uLbNTYijLGC9CJ5q0WM4rw7WtAgsQTDC6nGxFzSR8rq11SteAS66bDUK3y2kE12UaPQ
         eoFYfoqSFSZEQV1hbL8Dhvk9IyIP6/5erij9qNn1/bBQElfI2oWLMDrTv54AWGr6gD8T
         npuv92F4wJrxUJANa9oYeulT+gKpDLYjlOO+W2nqHP1WeLf+wM1ti5QY1g3JeN8d4i0A
         vtRw==
X-Gm-Message-State: AOJu0YzXLdgPlOH+VJzYaPzFZoQdo1jdaTLStQCFsDcjuMyFIYCP8l+n
	5m+ea36gGFTF2t6lEFaM6qWNhocHakJ1phDhKtPa3KIidgrEeVMgHsUIG08R8DLHdVxMGC0/h0X
	Bji/+mwlTVzgVgEgJDrpBce0AuGuk8On8STUd6mM10RL0eoiN5hHSIA==
X-Google-Smtp-Source: AGHT+IE2ITVoL8eSEaqHF7trlWM7wsd0GCiJD66VxG2iQ3bHsoGb3jynbFV1UtYh2p55AidCstvC5YwmJ69VuC8hT6s=
X-Received: by 2002:a05:6402:40c2:b0:572:53d5:62e0 with SMTP id
 z2-20020a05640240c200b0057253d562e0mr1435600edb.4.1714129445268; Fri, 26 Apr
 2024 04:04:05 -0700 (PDT)
MIME-Version: 1.0
References: <p2-q466qgwwlqfn4m-qx47948p-a01-2x6n-0011N000017qoUMQAY@cvent-planner.com>
 <LV8PR84MB3654E4FE6C656979B4A47A78A6172@LV8PR84MB3654.NAMPRD84.PROD.OUTLOOK.COM>
In-Reply-To: <LV8PR84MB3654E4FE6C656979B4A47A78A6172@LV8PR84MB3654.NAMPRD84.PROD.OUTLOOK.COM>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 26 Apr 2024 12:03:29 +0100
Message-ID: <CAO-mL=wM8siytp7hQezY8mm1AyL0tJc0Y-Za8wt1ebhAjbiOyQ@mail.gmail.com>
Subject: [ANNOUNCE] Xen Project Summit 2024 Design Sessions
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org, 
	xen-announce@lists.xenproject.org
Cc: advisory-board@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000af4fca0616fddc69"

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

Hello Xen Community,

*Our design sessions are now open for Xen Summit! *

If you've attended Xen Summit before, you might be familiar with the
process.

For anyone who hasn't done so before, please follow the instructions below,
using the link to create an account
<https://design-sessions.xenproject.org/>.
Once you've created your account, you'll be asked to verify using the code
below. That's it, you're in!

We aim to have design sessions with a virtual element (using Jitsi/Zoom).
This is free for the community to join in and listen, and will be hosted by
an attendee in the session.

If you're going to be an *in-person attendee*, you can propose a session
and vote on sessions you would like to see discussed.
If you're going to be a *virtual attendee*, you can vote on sessions you
would like to see discussed. You can still propose a session, but please
note there will be no professional audio or visual equipment in person for
these sessions.

The final schedule will be allocated and arranged by the highest-voted
sessions.

Virtual links for the community to join Xen Summit design sessions will be
shared closer to the event.

If you have any questions, please let me know.

For in-person tickets, click here
<https://events.linuxfoundation.org/xen-project-summit/register/>.

------------------------------




We look forward to holding the Design Sessions at the upcoming Xen Project
Summit. The design sessions will be on Wednesday, 5 June, and Thursday, 6
June 2024.

We encourage everyone to submit a Design Session, the verification code is:
=E2=80=9C*LFXEN24*=E2=80=9D.

*SUBMIT A DESIGN SESSION* <https://design-sessions.xenproject.org/>



The process involves the following steps:

   - Anyone interested can propose
   <https://design-sessions.xenproject.org/discussion/new> a topic.
   - All participants review the list of sessions
   <https://design-sessions.xenproject.org/list/discussion>, indicating
   their interest in attending each one.
   - The session scheduler optimizes the schedule
   <https://design-sessions.xenproject.org/schedule> to accommodate as many
   preferences as possible.

Participants can also propose long-form talks by adding [TALK] to the
session title.

For suggested topics, sample Design Session submissions, and more tips
check out the Xen Design Session page
<https://events.linuxfoundation.org/xen-project-summit/program/design-sessi=
ons/>
for more information.


Best Regards,
Xen Project Events Team


------------------------------

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

<div dir=3D"ltr"><div><div dir=3D"ltr" class=3D"gmail_signature" data-smart=
mail=3D"gmail_signature"><div dir=3D"ltr"><div>Hello Xen Community,</div><d=
iv><b><br></b></div><div><b>Our design sessions are now open for Xen Summit=
!=C2=A0</b></div><div><br></div><div>If you&#39;ve attended Xen Summit befo=
re, you might be familiar with the process.=C2=A0</div><div><br></div><div>=
For anyone who hasn&#39;t done so before, please follow the instructions be=
low, using the=C2=A0<a href=3D"https://design-sessions.xenproject.org/">lin=
k to create an account</a>.=C2=A0</div><div>Once you&#39;ve created your ac=
count, you&#39;ll be asked to verify using the code below. That&#39;s it, y=
ou&#39;re in!</div><div><br></div><div>We aim to have design sessions with =
a virtual element (using Jitsi/Zoom). This is free for the community to joi=
n in and listen, and will be hosted by an attendee in the session.=C2=A0<br=
></div><div><br></div><div>If you&#39;re going to be an <b><i>in-person att=
endee</i></b>, you can propose a session and vote on sessions you would lik=
e to see discussed.=C2=A0</div><div>If you&#39;re going to be a <b><i>virtu=
al attendee</i></b>, you can vote on sessions you would like to see discuss=
ed. You can still propose a session, but please note there will be no profe=
ssional audio or visual equipment in person for these sessions.=C2=A0</div>=
<div><br></div><div>The final schedule will be allocated and arranged by th=
e highest-voted sessions.=C2=A0</div><div><br></div><div>Virtual links for =
the community to join Xen Summit design sessions will be shared closer to t=
he event.=C2=A0=C2=A0<br></div><div><br></div><div>If you=C2=A0have any que=
stions,=C2=A0please let me know.</div><div><p class=3D"MsoNormal">For in-pe=
rson tickets, <a href=3D"https://events.linuxfoundation.org/xen-project-sum=
mit/register/">click here</a>.=C2=A0</p><p class=3D"MsoNormal"><u></u></p><=
table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" style=
=3D"width:949.612px"><tbody><tr><td style=3D"padding:0.75pt"><div class=3D"=
MsoNormal" align=3D"center" style=3D"text-align:center"><hr size=3D"1" widt=
h=3D"100%" noshade align=3D"center" style=3D"color:rgb(160,160,160)"></div>=
<p class=3D"MsoNormal"></p></td></tr></tbody></table></div><div><br></div><=
/div></div></div><div class=3D"gmail_quote"><div class=3D"msg-2685003709366=
885060"><div lang=3D"EN-US" link=3D"#0099E0" vlink=3D"#0099E0" style=3D"wor=
d-wrap:break-word" id=3D"m_-2685003709366885060body"><div class=3D"m_-26850=
03709366885060WordSection1"><div id=3D"m_-2685003709366885060mail-editor-re=
ference-message-container"><div>
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;float:left">
<tbody>
<tr>
<td style=3D"background:#eff0f2;padding:0in 0in 0in 0in">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;float:left">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;background:white">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td valign=3D"top" style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=3D"left" widt=
h=3D"100%" style=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><img bo=
rder=3D"0" width=3D"699" style=3D"width:7.2812in" id=3D"m_-2685003709366885=
060_x0000_i1028" src=3D"https://custom.cvent.com/64779B2AC74D4D2BBFF4459DE9=
3A5253/pix/d770244914e047019777029a32e20c53.png?d=3D699"></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span s=
tyle=3D"display:none"><u></u>=C2=A0<u></u></span></p>
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in"></td>
</tr>
</tbody>
</table>
</div>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span s=
tyle=3D"font-size:10.0pt;font-family:&quot;Times New Roman&quot;,serif"><u>=
</u><u></u></span></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<td style=3D"padding:0in 0in 0in 0in;word-break:break-word">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;background:white;float:left">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in;float:left">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;float:left">
<tbody>
<tr>
<td valign=3D"top" style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=3D"left" widt=
h=3D"100%" style=3D"width:100.0%;word-break:break-word">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:11.25pt 11.25pt 0in 11.25pt">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:3.75pt 0in 3.75pt 0in">
<p class=3D"MsoNormal" style=3D"line-height:13.5pt"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black">We look forw=
ard to holding the Design Sessions at the upcoming Xen Project Summit. The =
design sessions will be on Wednesday, 5 June, and
 Thursday, 6 June 2024.<br>
<br>
We encourage everyone to submit a Design Session, the </span><span style=3D=
"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#212121">v=
erification code</span><span style=3D"font-size:10.5pt;font-family:&quot;Ar=
ial&quot;,sans-serif;color:black"> is: =E2=80=9C</span><b><span style=3D"fo=
nt-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#212121">LFXE=
N24</span></b><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;=
,sans-serif;color:black">=E2=80=9D.<u></u><u></u></span></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td valign=3D"top" style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=3D"left" widt=
h=3D"100%" style=3D"width:100.0%;float:left">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;border-radius:15px;border-collapse:separate!important">
<tbody>
<tr>
<td style=3D"padding:11.25pt 11.25pt 11.25pt 11.25pt">
<div align=3D"center">
<table border=3D"1" cellspacing=3D"0" cellpadding=3D"0" style=3D"background=
:#72be44;border:solid #72be44 4.5pt">
<tbody>
<tr>
<td style=3D"border:none;padding:3.75pt 15.0pt 3.75pt 15.0pt">
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span s=
tyle=3D"color:black"><a href=3D"https://design-sessions.xenproject.org/" ta=
rget=3D"_blank"><b><span style=3D"font-size:13.0pt;font-family:&quot;Arial&=
quot;,sans-serif;color:white;text-decoration:none">SUBMIT
 A DESIGN SESSION</span></b></a></span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span s=
tyle=3D"font-size:1.0pt">=C2=A0</span></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td valign=3D"top" style=3D"padding:0in 0in 0in 0in;word-break:break-word">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=3D"left" widt=
h=3D"100%" style=3D"width:100.0%;float:left">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in;float:left">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;word-break:break-word">
<tbody>
<tr>
<td style=3D"padding:0in 11.25pt 11.25pt 11.25pt">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:3.75pt 0in 3.75pt 0in">
<p class=3D"MsoNormal" style=3D"line-height:13.5pt"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#212529">The proces=
s involves the following steps:</span><span style=3D"font-size:10.5pt;font-=
family:&quot;Arial&quot;,sans-serif;color:black"><u></u><u></u></span></p>
</td>
</tr>
<tr>
<td style=3D"padding:3.75pt 0in 3.75pt 0in;word-break:break-word">
<ul type=3D"disc">
<li class=3D"MsoNormal" style=3D"color:black;line-height:13.5pt">
<span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;co=
lor:#212529">Anyone interested can=C2=A0</span><a href=3D"https://design-se=
ssions.xenproject.org/discussion/new" target=3D"_blank"><span style=3D"font=
-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#0d6efd">propos=
e</span></a><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,s=
ans-serif;color:#212529">=C2=A0a
 topic.</span><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;=
,sans-serif"><u></u><u></u></span></li><li class=3D"MsoNormal" style=3D"col=
or:black;line-height:13.5pt">
<span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;co=
lor:#212529">All participants review the=C2=A0</span><a href=3D"https://des=
ign-sessions.xenproject.org/list/discussion" target=3D"_blank"><span style=
=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#0d6efd=
">list
 of sessions</span></a><span style=3D"font-size:10.5pt;font-family:&quot;Ar=
ial&quot;,sans-serif;color:#212529">, indicating their interest in attendin=
g each one.
</span><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-s=
erif"><u></u><u></u></span></li><li class=3D"MsoNormal" style=3D"color:blac=
k;line-height:13.5pt">
<span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;co=
lor:#212529">The session scheduler optimizes the=C2=A0</span><a href=3D"htt=
ps://design-sessions.xenproject.org/schedule" target=3D"_blank"><span style=
=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#0d6efd=
">schedule</span></a><span style=3D"font-size:10.5pt;font-family:&quot;Aria=
l&quot;,sans-serif;color:#212529">=C2=A0to
 accommodate as many preferences as possible.</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Arial&quot;,sans-serif"><u></u><u></u></span></l=
i></ul>
</td>
</tr>
<tr>
<td style=3D"padding:3.75pt 0in 3.75pt 0in;word-break:break-word">
<p class=3D"MsoNormal" style=3D"line-height:13.5pt"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#212529">Participan=
ts can also propose long-form talks by adding [TALK] to the session title.<=
/span><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,sans-se=
rif;color:black"><u></u><u></u></span></p>
</td>
</tr>
<tr>
<td style=3D"padding:3.75pt 0in 3.75pt 0in;word-break:break-word">
<p class=3D"MsoNormal" style=3D"line-height:13.5pt"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black">For suggeste=
d topics, sample Design Session submissions, and more tips check out the
</span><a href=3D"https://events.linuxfoundation.org/xen-project-summit/pro=
gram/design-sessions/" target=3D"_blank"><span style=3D"font-size:10.5pt;fo=
nt-family:&quot;Arial&quot;,sans-serif;color:#1155cc">Xen Design Session pa=
ge</span></a><span style=3D"font-size:10.5pt;font-family:&quot;Arial&quot;,=
sans-serif;color:black">
 for more information.<u></u><u></u></span></p>
</td>
</tr>
<tr>
<td style=3D"padding:3.75pt 0in 3.75pt 0in;word-break:break-word">
<p class=3D"MsoNormal" style=3D"line-height:13.5pt"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Arial&quot;,sans-serif;color:black"><br>
Best Regards,<br>
Xen Project Events Team<u></u><u></u></span></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;background:#62ab30;float:left">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<div align=3D"center">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%;float:left">
<tbody>
<tr>
<td valign=3D"top" style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=3D"left" widt=
h=3D"100%" style=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:0in 0in 0in 0in">
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:11.25pt 11.25pt 11.25pt 11.25pt"></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%" styl=
e=3D"width:100.0%">
<tbody>
<tr>
<td style=3D"padding:.75pt .75pt .75pt .75pt">
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center">
<hr size=3D"1" width=3D"100%" noshade style=3D"color:#a0a0a0" align=3D"cent=
er">
</div>
<p class=3D"MsoNormal"><br></p>
</td>
</tr>
</tbody>
</table>
<p class=3D"MsoNormal"><img border=3D"0" id=3D"m_-2685003709366885060_x0000=
_i1025" src=3D"https://www.cvent.com/api/email/dispatch/v1/open/q466qgwwlqf=
n4m/qx47948p/transparent.gif"></p>
</div>
</div>
</div>
</div>

</div></div></div>

--000000000000af4fca0616fddc69--


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 11:30:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 11:30:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712703.1113520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0JmH-0006bL-8H; Fri, 26 Apr 2024 11:30:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712703.1113520; Fri, 26 Apr 2024 11:30:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0JmH-0006am-5D; Fri, 26 Apr 2024 11:30:05 +0000
Received: by outflank-mailman (input) for mailman id 712703;
 Fri, 26 Apr 2024 11:30:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0JmF-0006I4-MU; Fri, 26 Apr 2024 11:30:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0JmF-0005Ht-IV; Fri, 26 Apr 2024 11:30:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0JmF-0008SE-7Q; Fri, 26 Apr 2024 11:30:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0JmF-0006tp-73; Fri, 26 Apr 2024 11:30:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=S+TklXEjTowSwAcwQvWFnStLSd00RI1HD6s5UvOsALg=; b=r6Q5iMwluzLCEJ8kIWsVyoR+Y4
	bSuj7m8MMBoFSnJxHxlApvfMxaK0ylLbwI6PYrgULMuunsXYIkPjiUXSuXNHqY6N0nxiGwS7zXPpm
	HvyBwaRIGBKZ1Yypxde8EwjEAyqVV1st2I7vwlwrRgYHNvGrCocN5iMBjXmPhmqJlVbM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185802-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185802: 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-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-libvirt: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-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-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c942a0cd3603e34dd2d7237e064d9318cb7f9654
X-Osstest-Versions-That:
    linux=71b1543c83d65af8215d7558d70fc2ecbee77dcf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 11:30:03 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      8 reboot              fail pass in 185810-retest

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

Last test of basis   185768  2024-04-23 07:46:10 Z    3 days
Failing since        185779  2024-04-24 00:13:50 Z    2 days    5 attempts
Testing same since   185802  2024-04-26 01:58:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdelrahman Morsy <abdelrahmanhesham94@gmail.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Elder <elder@linaro.org>
  Alexander Zubkov <green@qrator.net>
  Andreas Taschner <andreas.taschner@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Avraham Stern <avraham.stern@intel.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Benjamin Tissoires <bentiss@kernel.org>
  Chuck Lever <chuck.lever@oracle.com>
  Chun-Yi Lee <jlee@suse.com>
  Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> # on RZ/G3S
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Golle <daniel@makrotopia.org>
  Daniele Palmas <dnlplm@gmail.com>
  David Bauer <mail@david-bauer.net>
  David Christensen <drc@linux.ibm.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Safonov <0x7f454c46@gmail.com>
  Duanqiang Wen <duanqiangwen@net-swift.com>
  Duoming Zhou <duoming@zju.edu.cn>
  Ed Trexel <ed.trexel@hp.com>
  Eric Dumazet <edumazet@google.com>
  Eric Van Hensbergen <ericvh@kernel.org>
  Erwan Velu <e.velu@criteo.com>
  Felix Fietkau <nbd@nbd.name>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Hangbin Liu <liuhangbin@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Hyunwoo Kim <v4bel@theori.io>
  Ido Schimmel <idosch@nvidia.com>
  Igor Artemiev <Igor.A.Artemiev@mcst.ru>
  Ismael Luceno <iluceno@suse.de>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jarred White <jarredwhite@linux.microsoft.com>
  Jason Reeder <jreeder@ti.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jiri Kosina <jkosina@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Johannes Thumshirn <Johannes.thumshirn@wdc.com>
  Julian Anastasov <ja@ssi.bg>
  Justin Chen <justin.chen@broadcom.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Kenny Levinsen <kl@kl.wtf>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kurt Kanzenbach <kurt@linutronix.de>
  Kurt Kanzenbach <kurt@linutronix.de> # Intel i225
  Larry Finger <Larry.Finger@lwfinger.net>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukas Wunner <lukas@wunner.de>
  Mark Pearson <mpearson-lenovo@squebb.ca>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  MD Danish Anwar <danishanwar@ti.com>
  Michael Chan <michael.chan@broadcom.com>
  Michael Ellerman <mpe@ellerman.id.au> (powerpc)
  Michael S. Tsirkin <mst@redhat.com>
  Mineri Bhange <minerix.bhange@intel.com> (A Contingent Worker at Intel)
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Naama Meir <naamax.meir@linux.intel.com>
  Nam Cao <namcao@linutronix.de>
  Naohiro Aota <naohiro.aota@wdc.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Gompa <neal@gompa.dev>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nuno Pereira <nf.pereira@outlook.pt>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Geurts <paul_geurts@live.nl>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Peter Münster <pm@a16n.net>
  Petr Machata <petrm@nvidia.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Qu Wenruo <wqu@suse.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Kinder <richard.kinder@gmail.com>
  Robert Ganzynkowicz <robert.ganzynkowicz@intel.com>
  Ronnie Sahlberg <lsahlber@redhat.com>
  Sabrina Dubroca <sd@queasysnail.net>
  Sean Wang <sean.wang@mediatek.com>
  Sindhu Devale <sindhu.devale@intel.com>
  Soheil Hassas Yeganeh <soheil@google.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Steve French <stfrench@microsoft.com>
  Su Hui <suhui@nfschina.com>
  Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>
  Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
  Takayuki Nagata <tnagata@redhat.com>
  Tom Talpey <tom@talpey.com>
  Tony Brelinski <tony.brelinski@intel.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Vaclav Svoboda <svoboda@neng.cz>
  Vanshidhar Konda <vanshikonda@os.amperecomputing.com>
  Vikas Gupta <vikas.gupta@broadcom.com>
  WangYuli <wangyuli@uniontech.com>
  Wren Turkal" <wt@penguintechs.org>
  Yaraslau Furman <yaro330@gmail.com>
  Yick Xie <yick.xie@gmail.com>
  Zhang Lixu <lixu.zhang@intel.com>
  Zhu Lingshan <lingshan.zhu@intel.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                 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                                     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
   71b1543c83d6..c942a0cd3603  c942a0cd3603e34dd2d7237e064d9318cb7f9654 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 11:34:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 11:34:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712709.1113531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Jq8-0007dJ-RP; Fri, 26 Apr 2024 11:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712709.1113531; Fri, 26 Apr 2024 11:34:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Jq8-0007dC-OP; Fri, 26 Apr 2024 11:34:04 +0000
Received: by outflank-mailman (input) for mailman id 712709;
 Fri, 26 Apr 2024 11:34: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0Jq7-0007b6-13
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 11:34:03 +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 e04f75f4-03c0-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 13:34:01 +0200 (CEST)
Received: by mail-oi1-x22d.google.com with SMTP id
 5614622812f47-3c6f785208dso522829b6e.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 04:34:01 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 xb17-20020a05620a5ad100b0078edc0a447dsm7846019qkn.68.2024.04.26.04.33.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 04:33: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: e04f75f4-03c0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714131239; x=1714736039; 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=v6mjIj93m9xz8b2aSM5XG/+E2T7xDy4nNpobywC1I5c=;
        b=Twu6z/JZu2a5SuhEq7ne+y1NP4RMxoAe+5oEiOf9SX52Tg/MwWeCvGz/vIZU7BDpcu
         mELPeD5aOAwbQaJA+AadT0T7Rop65mIZPN7kW/ICWOG8upfdmD81XS54CdnZ6q8EEUAM
         n9LVShoCPKACdeCLB1/acFZHwgnehqPazcyUU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714131239; x=1714736039;
        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=v6mjIj93m9xz8b2aSM5XG/+E2T7xDy4nNpobywC1I5c=;
        b=N4t/5jc/8L3tKujnq8gjirW0YyEnHzQqdGjzwU7GqhvCNldKgWlJaYOpWDW9phi00T
         u5fGx9tq/z4aJHvHxmV+LI+uTEBL8qj61nzviZTq1cBu3guu9tCQl/8bk0BNkOdsOIaD
         837Py78qbUBJ7NX7zfr+ifIFptwBJpXgoyjufnu8m1tpMRkHUyC2dYPeNV9YmnU6TK81
         dZw46S9EYOQItgrYnr+ymitRZ7dDUxGACwwl/9my2woDWNliCirS1UmeiULuHV6BHpvs
         uhzrT7ybT2nqBmksiEcR0Ibb1F+aPgi0Ot0Bo5ioUfFjBqpzAOYwD1sDdCT9Xt2MT44s
         elfQ==
X-Gm-Message-State: AOJu0YxfY8N+0N8ChNfTZphuN5g1fC54HtBL/tZWFl77eI+XbEpr7xyt
	qiqTROc6Hja9Fj+qEhEGqJ+x0FDE5lA36RztvU5/1GWwWpKWhz6Nim4aU16tUefwxlbYC/JOzt+
	Q
X-Google-Smtp-Source: AGHT+IFfdcS9WIGNICK+kUzp0n8jmmrM3n//7htg6MRvG7UDKAPXbLVS11vuAZ33+xhBummvX2J8uw==
X-Received: by 2002:a05:6808:aae:b0:3c7:35ce:67a4 with SMTP id r14-20020a0568080aae00b003c735ce67a4mr2459844oij.10.1714131239339;
        Fri, 26 Apr 2024 04:33:59 -0700 (PDT)
Message-ID: <5ef9fef8-e5ee-4ce3-a78f-ee7c35e5a1a4@citrix.com>
Date: Fri, 26 Apr 2024 12:33:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: MISRA and -Wextra-semi
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi,

Based on a call a long while back, I experimented with -Wextra-semi. 
This is what lead to 8e36c668ca107 "xen: Drop superfluous semi-colons".

However, there are a number of problems with getting this working
fully.  First, we need workarounds like this:

diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
index d888b2314daf..12e99c6dded4 100644
--- a/xen/include/xen/config.h
+++ b/xen/include/xen/config.h
@@ -26,7 +26,7 @@
 
 #include <asm/config.h>
 
-#define EXPORT_SYMBOL(var)
+#define EXPORT_SYMBOL(var) typedef int var##_ignore_t
 
 /*
  * The following log levels are as follows:

to avoid a failure for users, which do legitimately have a semi-colon. 
It occurs to me that we could swap the typedef for as asm("") which
might be a little less unpleasant.

But with the simple cases taken care of, we then hit:

In file included from common/grant_table.c:3813:
common/compat/grant_table.c:10:1: error: extra ';' outside of a function
[-Werror,-Wextra-semi]
CHECK_grant_entry_v1;
^

which is quickly starting to unravel.

Finally, while Clang does have -Wextra-semi working properly for C, GCC
does this:

cc1: warning: command-line option ‘-Wextra-semi’ is valid for C++/ObjC++
but not for C

instead, which passes the cc-option-add check (which doesn't contain
-Werror), but causes the real build to fail.


So, while -Wextra-semi is definitely useful to find some hidden
problems, it seems like using it fully might be very complicated.  How
much do we care?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:09:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:09:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712740.1113546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KOa-0005sF-0P; Fri, 26 Apr 2024 12:09:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712740.1113546; Fri, 26 Apr 2024 12: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 1s0KOZ-0005s8-UA; Fri, 26 Apr 2024 12:09:39 +0000
Received: by outflank-mailman (input) for mailman id 712740;
 Fri, 26 Apr 2024 12: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=Mvt6=L7=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1s0KOY-0005s2-HF
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:09:38 +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 d984b998-03c5-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 14:09:36 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a58c0a05a39so191601666b.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 05:09:36 -0700 (PDT)
Received: from [192.168.206.239] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 l18-20020a1709065a9200b00a58a4ccf970sm2202300ejq.103.2024.04.26.05.09.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 05:09:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d984b998-03c5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714133376; x=1714738176; 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=SRZOUcT779OlqipcbFxDIF3QOgKALsWh+prU8uKwlPs=;
        b=Fv69MHxEBl62Y4eC2IuKAMtkdDRS+7u1xR3v7Ml+hH6xf4Uf43+VFbu0Vy3n+eO/fx
         F6KMN+8a5cB89BKgraeQRi7+BhD2ZJkEALfRHcise7ejDla5i+OiXaQLyiglHREGcVZX
         x7tzjJXr5ANGpml+9nygZ/05iV2MPZSS3OU6CIVRtfA16Kzlv6zBY/G2mtL0Cd1xwxDI
         cjVOuhsEQlhIYMpXurKBGiR4fxHCyyVu8V0Ha/qIURePBn7agCfEnWQ+opH0ZFsC8dU4
         XGqrtXR3n4SxFkoag/I0M62bVh7Z44M2btEZ7nN80me8oF3CPx76bVzYCvtuSufyP0e6
         HnFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714133376; x=1714738176;
        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=SRZOUcT779OlqipcbFxDIF3QOgKALsWh+prU8uKwlPs=;
        b=Gkmhwy9fzLpxalnJ3WOOENIevRhXzHCaJIWwE/mwdS250pKIMHt1H5iTeZpkuT/6LQ
         EoqnWXbIot8E2K/rBJLLIf9EDpmwo7d4oGDLFf8ZwqylRB53tQKrrCQnpAjEQyw04xCV
         5X2cApmE7I2GeeyCTrgf0najxlYHhCzJSNrs4uOUpbv9hZxfTD/moKy9Wb/Sv2TKM9A6
         H6ntCMj/7VU1MTCMld700sD9MsKIrECjoTaMUqTGIqFdNjzuMHA8QVOOz5k6PlxxeibS
         5NpkTrknBwEaIQ7waFmSp5UgtCWMYLZaBqXvpL9Vjrh+g+rt2bn7cGnyWf5lYeeNwbuQ
         Okhw==
X-Forwarded-Encrypted: i=1; AJvYcCU3H7Kjp3Jeg4ZOcIXPwcnZQrtPvppa35wS5FdqCP6K8CE3eixlN70MWblRESiXiliZpI99ifuwtHBL7396TZ56hUBeM2IaXRRMLenAtWU=
X-Gm-Message-State: AOJu0Yzzi/wCPgBINDRZznv90IDu7jwze5FiH771Fq4OZxsoYslnxxF+
	0Eg4YOeB0MgfLVbCniSmxDK9755cPsXxB6frE+pm3XE4Gy+lybpA
X-Google-Smtp-Source: AGHT+IH1GebaF9+nk+JH3V3VEMXmNLFOEZnDZa+g1geF+/5Bi9KIbmBvAPkSyzDK/OZ7TpqjE/K5kA==
X-Received: by 2002:a17:907:7f27:b0:a58:9707:11c with SMTP id qf39-20020a1709077f2700b00a589707011cmr2120189ejc.62.1714133375620;
        Fri, 26 Apr 2024 05:09:35 -0700 (PDT)
Message-ID: <17f0b05b2f2da1b13e8ca3ab4e20b210aa0f8480.camel@gmail.com>
Subject: Re: [PATCH v8 03/17] xen/bitops: implement fls{l}() in common logic
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Fri, 26 Apr 2024 14:09:34 +0200
In-Reply-To: <d1f546dc-35bd-47f9-89be-582660d23ec1@suse.com>
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
	 <60bc710b990ed1d45741888df7e97cf25d150e61.1713347222.git.oleksii.kurochko@gmail.com>
	 <a6245e9e-a156-4b17-8695-e072915fe78b@suse.com>
	 <fb1a228b1bd58d17d7836c3413d3b0a8a9602978.camel@gmail.com>
	 <d1f546dc-35bd-47f9-89be-582660d23ec1@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) 
MIME-Version: 1.0

On Fri, 2024-04-26 at 12:51 +0200, Jan Beulich wrote:
> On 26.04.2024 10:21, Oleksii wrote:
> > On Thu, 2024-04-25 at 17:44 +0200, Jan Beulich wrote:
> > > On 17.04.2024 12:04, Oleksii Kurochko wrote:
> > > > Return type was left 'int' because of the following compilation
> > > > error:
> > > >=20
> > > > ./include/xen/kernel.h:18:21: error: comparison of distinct
> > > > pointer
> > > > types lacks a cast [-Werror]
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 18 |=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 (void) (&_x =3D=3D &_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=C2=A0=C2=A0 |=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~
> > > > =C2=A0=C2=A0=C2=A0 common/page_alloc.c:1843:34: note: in expansion =
of macro
> > > > 'min'
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 1843 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 unsigned int inc_order =3D min(MAX_ORDER,
> > > > flsl(e
> > > > - s) - 1);
> > >=20
> > > Apart from this I'm okay with this patch, assuming Andrew's won't
> > > change in
> > > any conflicting way. As to the above - no, I don't see us having
> > > ffs() / ffsl()
> > > returning unsigned int, fls() / flsl() returning plain int. Even
> > > more
> > > so that,
> > > given the LHS variable's type, an unsigned quantity is really
> > > meant
> > > in the
> > > quoted code.
> > If I understand you correctly, it's acceptable for fls() / flsl()
> > to
> > return 'int'. Therefore, I can update the commit message by
> > removing
> > the part mentioning the compilation error, as it's expected for
> > fls() /
> > flsl() to return 'int'. Is my understanding correct?
>=20
> No. I firmly object to ffs() and fls() being different in their
> return
> types. I'm sorry, I realize now that my earlier wording was ambiguous
> (at least missing "but" after the comma).
Thanks for clarifying.

I can change return type of fls() / flsl() to 'unsingned int' to be the
same as return type of ffs() / ffsl(), but then it will be needed to
add a cast in two places:
   --- a/xen/common/page_alloc.c
   +++ b/xen/common/page_alloc.c
   @@ -1842,7 +1842,7 @@ static void _init_heap_pages(const struct
   page_info *pg,
             * Note that the value of ffsl() and flsl() starts from 1
   so we need
             * to decrement it by 1.
             */
   -        unsigned int inc_order =3D min(MAX_ORDER, flsl(e - s) - 1);
   +        unsigned int inc_order =3D min((unsigned int)MAX_ORDER,
   flsl(e - s) - 1);
   =20
            if ( s )
                inc_order =3D min(inc_order, ffsl(s) - 1U);
   @@ -2266,7 +2266,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
        ASSERT(!first_node_initialised);
        ASSERT(!xenheap_bits);
        BUILD_BUG_ON((PADDR_BITS - PAGE_SHIFT) >=3D BITS_PER_LONG);
   -    xenheap_bits =3D min(flsl(mfn + 1) - 1 + PAGE_SHIFT, PADDR_BITS);
   +    xenheap_bits =3D min(flsl(mfn + 1) - 1 + PAGE_SHIFT, (unsigned
   int)PADDR_BITS);
        printk(XENLOG_INFO "Xen heap: %u bits\n", xenheap_bits);
    }
  =20
If it looks okay, then I'll do that in the next patch version.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:11:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712743.1113557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KQR-0007GH-E6; Fri, 26 Apr 2024 12:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712743.1113557; Fri, 26 Apr 2024 12: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 1s0KQR-0007GA-AH; Fri, 26 Apr 2024 12:11:35 +0000
Received: by outflank-mailman (input) for mailman id 712743;
 Fri, 26 Apr 2024 12:11:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0KQQ-0007G0-1N
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:11:34 +0000
Received: from mail-oa1-x33.google.com (mail-oa1-x33.google.com
 [2001:4860:4864:20::33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1dd8da3e-03c6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 14:11:31 +0200 (CEST)
Received: by mail-oa1-x33.google.com with SMTP id
 586e51a60fabf-23319017c4cso1216292fac.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 05:11: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: 1dd8da3e-03c6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714133490; x=1714738290; 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=4+SVTlYJ3vTMO808NujUzZasDq5othuXvFEgRPpvvog=;
        b=Pec16snfNTAxjsc2bB8d1dwQvGAo3J7VpzrBf9lCmvzFoxF4i+j7BKlDz1hEnIMRDD
         ukG7f98LkiIMoScQGM5qzzeyBKO6n59fay4B3SbxG6laR9YjYlK3w8dinF+I9ifKxwps
         bc3hgNBeTEcMNx2v2dtyUs9L/4pGVZ+pvo+Og79dMFugp3qRz6ouFEUdwZxkeKaXO6ty
         Gs18tpm0sax+eizeT1b4PPQ+HGwuzVLbPyN/GKBZJdTzWKIby6hjjm8+HeR9h4w6o9hn
         zzJAW6h4rFT8RlpGrAgVnTy+/eQn6aV/QRnlmbUuKSzPE5O0bAQBPrCwflF9HSxLwVk5
         BWSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714133490; x=1714738290;
        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=4+SVTlYJ3vTMO808NujUzZasDq5othuXvFEgRPpvvog=;
        b=A4+CGJeD/RjvKbsnMl4XHpyO6iTJvVHvXSQlkt/LUpUiiWk3AlqB9AmuHSSDldjHXI
         /ZI+jl0e7zJP+IDegb55zHV7BVW3JkP21nhQMzwHmcSaZaSS2XLIDDGKJbKWQAd8hNUK
         xLM5JikGoAlmsbYMP7zKRZ6CTUOvAyeR3yxd7zL3sRGlzTk4Qv2FpDwjiQvvJGScVDjb
         6Z/veM3OFNjLGSqE5IUy9vKMOk8aHIAUHHSEiKpd+n3RQHwFnpleUTPlvt09DFrJmN5k
         wjpXtd+5zXWoB9tILcXR+DCxfoV3nzJDxSa0yLEL8/EdZtdm80xTILCRa4fRp+qPIa4q
         y77w==
X-Gm-Message-State: AOJu0YxRPWNaV9cFj1ZEpJXgQ3wJPVZviEbBJLRVb8JS0/PaVZMyGazZ
	VJPFBUBd/T9xR5y0YtuZgM7DmLpadZa+VxvG93D9Mxbi96VQZkGdfivPaVi6/r+EXZsWgY5K9G1
	cC5XmQxXrxVK9LwVItDFanvvVRfYnKWu7l6etGlJOKxAhRFpk
X-Google-Smtp-Source: AGHT+IFNq7JsNJIKkGXJ6498PJlZMG0qlLq+y0uQWu0CApv8ewtVxqMZ9bZwOEonffCJMoLXFDoq/AC9+Pc6Q5dDqCg=
X-Received: by 2002:a05:6870:4513:b0:229:f8c1:dd5f with SMTP id
 e19-20020a056870451300b00229f8c1dd5fmr2678621oao.48.1714133490262; Fri, 26
 Apr 2024 05:11:30 -0700 (PDT)
MIME-Version: 1.0
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org> <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
In-Reply-To: <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 26 Apr 2024 14:11:18 +0200
Message-ID: <CAHUa44ETaCY2pbUjMOW5T2NSpmRCq3sWMjLUbK0DC2jpQxHJRQ@mail.gmail.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Fri, Apr 26, 2024 at 11:20=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 26 Apr 2024, at 10:47, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Add support for FF-A notifications, currently limited to an SP (Secure
> > Partition) sending an asynchronous notification to a guest.
> >
> > Guests and Xen itself are made aware of pending notifications with an
> > interrupt. The interrupt handler retrieves the notifications using the
> > FF-A ABI and deliver them to their destinations.
> >
> > Update ffa_partinfo_domain_init() to return error code like
> > ffa_notif_domain_init().
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > v2->v3:
> > - Add a GUEST_ prefix and move FFA_NOTIF_PEND_INTR_ID and
> >  FFA_SCHEDULE_RECV_INTR_ID to public/arch-arm.h
> > - Register the Xen SRI handler on each CPU using on_selected_cpus() and
> >  setup_irq()
> > - Check that the SGI ID retrieved with FFA_FEATURE_SCHEDULE_RECV_INTR
> >  doesn't conflict with static SGI handlers
> >
> > v1->v2:
> > - Addressing review comments
> > - Change ffa_handle_notification_{bind,unbind,set}() to take struct
> >  cpu_user_regs *regs as argument.
> > - Update ffa_partinfo_domain_init() and ffa_notif_domain_init() to retu=
rn
> >  an error code.
> > - Fixing a bug in handle_features() for FFA_FEATURE_SCHEDULE_RECV_INTR.
> > ---
> > xen/arch/arm/irq.c              |   2 +-
> > xen/arch/arm/tee/Makefile       |   1 +
> > xen/arch/arm/tee/ffa.c          |  55 ++++-
> > xen/arch/arm/tee/ffa_notif.c    | 378 ++++++++++++++++++++++++++++++++
> > xen/arch/arm/tee/ffa_partinfo.c |   9 +-
> > xen/arch/arm/tee/ffa_private.h  |  56 ++++-
> > xen/include/public/arch-arm.h   |  14 ++
> > 7 files changed, 507 insertions(+), 8 deletions(-)
> > create mode 100644 xen/arch/arm/tee/ffa_notif.c
> >
> > diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> > index d7306aa64d50..5224898265a5 100644
> > --- a/xen/arch/arm/irq.c
> > +++ b/xen/arch/arm/irq.c
> > @@ -155,7 +155,7 @@ void __init init_IRQ(void)
> >     {
> >         /* SGIs are always edge-triggered */
> >         if ( irq < NR_GIC_SGI )
> > -            local_irqs_type[irq] =3D DT_IRQ_TYPE_EDGE_RISING;
> > +            local_irqs_type[irq] =3D IRQ_TYPE_EDGE_RISING;
> >         else
> >             local_irqs_type[irq] =3D IRQ_TYPE_INVALID;
> >     }
> > diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> > index f0112a2f922d..7c0f46f7f446 100644
> > --- a/xen/arch/arm/tee/Makefile
> > +++ b/xen/arch/arm/tee/Makefile
> > @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
> > obj-$(CONFIG_FFA) +=3D ffa_shm.o
> > obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
> > obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
> > +obj-$(CONFIG_FFA) +=3D ffa_notif.o
> > obj-y +=3D tee.o
> > obj-$(CONFIG_OPTEE) +=3D optee.o
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 5209612963e1..912e905a27bd 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -39,6 +39,9 @@
> >  *   - at most 32 shared memory regions per guest
> >  * o FFA_MSG_SEND_DIRECT_REQ:
> >  *   - only supported from a VM to an SP
> > + * o FFA_NOTIFICATION_*:
> > + *   - only supports global notifications, that is, per vCPU notificat=
ions
> > + *     are not supported
> >  *
> >  * There are some large locked sections with ffa_tx_buffer_lock and
> >  * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> > @@ -194,6 +197,8 @@ out:
> >
> > static void handle_features(struct cpu_user_regs *regs)
> > {
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> >     uint32_t a1 =3D get_user_reg(regs, 1);
> >     unsigned int n;
> >
> > @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *=
regs)
> >         BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
> >         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);
> > +        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);
> > +        break;
> > +
> > +    case FFA_NOTIFICATION_BIND:
> > +    case FFA_NOTIFICATION_UNBIND:
> > +    case FFA_NOTIFICATION_GET:
> > +    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);
> > +        break;
> >     default:
> >         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >         break;
> > @@ -305,6 +334,22 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
> >                                                      get_user_reg(regs,=
 1)),
> >                                    get_user_reg(regs, 3));
> >         break;
> > +    case FFA_NOTIFICATION_BIND:
> > +        e =3D ffa_handle_notification_bind(regs);
> > +        break;
> > +    case FFA_NOTIFICATION_UNBIND:
> > +        e =3D ffa_handle_notification_unbind(regs);
> > +        break;
> > +    case FFA_NOTIFICATION_INFO_GET_32:
> > +    case FFA_NOTIFICATION_INFO_GET_64:
> > +        ffa_handle_notification_info_get(regs);
> > +        return true;
> > +    case FFA_NOTIFICATION_GET:
> > +        ffa_handle_notification_get(regs);
> > +        return true;
> > +    case FFA_NOTIFICATION_SET:
> > +        e =3D ffa_handle_notification_set(regs);
> > +        break;
> >
> >     default:
> >         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> > @@ -322,6 +367,7 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
> > static int ffa_domain_init(struct domain *d)
> > {
> >     struct ffa_ctx *ctx;
> > +    int ret;
> >
> >     if ( !ffa_version )
> >         return -ENODEV;
> > @@ -345,10 +391,11 @@ static int ffa_domain_init(struct domain *d)
> >      * error, so no need for cleanup in this function.
> >      */
> >
> > -    if ( !ffa_partinfo_domain_init(d) )
> > -        return -EIO;
> > +    ret =3D ffa_partinfo_domain_init(d);
> > +    if ( ret )
> > +        return ret;
> >
> > -    return 0;
> > +    return ffa_notif_domain_init(d);
> > }
> >
> > static void ffa_domain_teardown_continue(struct ffa_ctx *ctx, bool firs=
t_time)
> > @@ -423,6 +470,7 @@ static int ffa_domain_teardown(struct domain *d)
> >         return 0;
> >
> >     ffa_rxtx_domain_destroy(d);
> > +    ffa_notif_domain_destroy(d);
> >
> >     ffa_domain_teardown_continue(ctx, true /* first_time */);
> >
> > @@ -502,6 +550,7 @@ static bool ffa_probe(void)
> >     if ( !ffa_partinfo_init() )
> >         goto err_rxtx_destroy;
> >
> > +    ffa_notif_init();
> >     INIT_LIST_HEAD(&ffa_teardown_head);
> >     init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, =
0);
> >
> > diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.=
c
> > new file mode 100644
> > index 000000000000..6bb0804ee2f8
> > --- /dev/null
> > +++ b/xen/arch/arm/tee/ffa_notif.c
> > @@ -0,0 +1,378 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * Copyright (C) 2024  Linaro Limited
> > + */
> > +
> > +#include <xen/const.h>
> > +#include <xen/list.h>
> > +#include <xen/spinlock.h>
> > +#include <xen/types.h>
> > +
> > +#include <asm/smccc.h>
> > +#include <asm/regs.h>
> > +
> > +#include "ffa_private.h"
> > +
> > +static bool __ro_after_init notif_enabled;
> > +
> > +int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    uint32_t src_dst =3D get_user_reg(regs, 1);
> > +    uint32_t flags =3D get_user_reg(regs, 2);
> > +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> > +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    if ( flags )    /* Only global notifications are supported */
> > +        return FFA_RET_DENIED;
> > +
> > +    /*
> > +     * We only support notifications from SP so no need to check the s=
ender
> > +     * endpoint ID, the SPMC will take care of that for us.
> > +     */
> > +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitm=
ap_hi,
> > +                           bitmap_lo);
> > +}
> > +
> > +int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    uint32_t src_dst =3D get_user_reg(regs, 1);
> > +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> > +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    /*
> > +     * We only support notifications from SP so no need to check the
> > +     * destination endpoint ID, the SPMC will take care of that for us=
.
> > +     */
> > +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitma=
p_hi,
> > +                            bitmap_lo);
> > +}
> > +
> > +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    bool pending_global;
> > +
> > +    if ( !notif_enabled )
> > +    {
> > +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> > +        return;
> > +    }
> > +
> > +    spin_lock(&ctx->notif.lock);
> > +    pending_global =3D ctx->notif.secure_pending;
> > +    ctx->notif.secure_pending =3D false;
> > +    spin_unlock(&ctx->notif.lock);
> > +
> > +    if ( pending_global )
> > +    {
> > +        /* A pending global notification for the guest */
> > +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> > +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_=
vm_id(d),
> > +                     0, 0, 0, 0);
> > +    }
> > +    else
> > +    {
> > +        /* Report an error if there where no pending global notificati=
on */
> > +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> > +    }
> > +}
> > +
> > +void ffa_handle_notification_get(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    uint32_t recv =3D get_user_reg(regs, 1);
> > +    uint32_t flags =3D get_user_reg(regs, 2);
> > +    uint32_t w2 =3D 0;
> > +    uint32_t w3 =3D 0;
> > +    uint32_t w4 =3D 0;
> > +    uint32_t w5 =3D 0;
> > +    uint32_t w6 =3D 0;
> > +    uint32_t w7 =3D 0;
> > +
> > +    if ( !notif_enabled )
> > +    {
> > +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> > +        return;
> > +    }
> > +
> > +    if ( (recv & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> > +    {
> > +        ffa_set_regs_error(regs, FFA_RET_INVALID_PARAMETERS);
> > +        return;
> > +    }
> > +
> > +    if ( flags & ( FFA_NOTIF_FLAG_BITMAP_SP | FFA_NOTIF_FLAG_BITMAP_SP=
M ) )
> > +    {
> > +        struct arm_smccc_1_2_regs arg =3D {
> > +            .a0 =3D FFA_NOTIFICATION_GET,
> > +            .a1 =3D recv,
> > +            .a2 =3D flags & ( FFA_NOTIF_FLAG_BITMAP_SP |
> > +                            FFA_NOTIF_FLAG_BITMAP_SPM ),
> > +        };
> > +        struct arm_smccc_1_2_regs resp;
> > +        int32_t e;
> > +
> > +        arm_smccc_1_2_smc(&arg, &resp);
> > +        e =3D ffa_get_ret_code(&resp);
> > +        if ( e )
> > +        {
> > +            ffa_set_regs_error(regs, e);
> > +            return;
> > +        }
> > +
> > +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SP )
> > +        {
> > +            w2 =3D resp.a2;
> > +            w3 =3D resp.a3;
> > +        }
> > +
> > +        if ( flags & FFA_NOTIF_FLAG_BITMAP_SPM )
> > +            w6 =3D resp.a6;
> > +    }
>
> In here you never clean the secure_pending flag but in practice there wou=
ld be
> no more pending notification if SP and SPM flags are set so the response =
to
> notification_info_get would wrongly say there is something pending.
>
> I am not completely sure how this could be handled if both SP and SPM are
> not set so i would say for now we should at least put a comment in info_g=
et
> to keep a note of this fact.
> Do you agree ?

Good point. I'll add a comment and clear secure_pending.

>
> > +
> > +    ffa_set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, w4, w5, w6, w7);
> > +}
> > +
> > +int ffa_handle_notification_set(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    uint32_t src_dst =3D get_user_reg(regs, 1);
> > +    uint32_t flags =3D get_user_reg(regs, 2);
> > +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> > +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    /* Let the SPMC check the destination of the notification */
> > +    return ffa_simple_call(FFA_NOTIFICATION_SET, src_dst, flags, bitma=
p_lo,
> > +                           bitmap_hi);
> > +}
> > +
> > +/*
> > + * Extract a 16-bit ID (index n) from the successful return value from
> > + * FFA_NOTIFICATION_INFO_GET_64 or FFA_NOTIFICATION_INFO_GET_32. IDs a=
re
> > + * returned in registers 3 to 7 with four IDs per register for 64-bit
> > + * calling convention and two IDs per register for 32-bit calling
> > + * convention.
> > + */
> > +static uint16_t get_id_from_resp(struct arm_smccc_1_2_regs *resp,
> > +                                 unsigned int n)
> > +{
> > +    unsigned int ids_per_reg;
> > +    unsigned int reg_idx;
> > +    unsigned int reg_shift;
> > +
> > +    if ( smccc_is_conv_64(resp->a0) )
> > +        ids_per_reg =3D 4;
> > +    else
> > +        ids_per_reg =3D 2;
> > +
> > +    reg_idx =3D n / ids_per_reg + 3;
> > +    reg_shift =3D ( n % ids_per_reg ) * 16;
> > +
> > +    switch ( reg_idx )
> > +    {
> > +    case 3:
> > +        return resp->a3 >> reg_shift;
> > +    case 4:
> > +        return resp->a4 >> reg_shift;
> > +    case 5:
> > +        return resp->a5 >> reg_shift;
> > +    case 6:
> > +        return resp->a6 >> reg_shift;
> > +    case 7:
> > +        return resp->a7 >> reg_shift;
> > +    default:
> > +        ASSERT(0); /* "Can't happen" */
> > +        return 0;
> > +    }
> > +}
> > +
> > +static void notif_irq_handler(int irq, void *data)
> > +{
> > +    const struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +    unsigned int id_pos;
> > +    unsigned int list_count;
> > +    uint64_t ids_count;
> > +    unsigned int n;
> > +    int32_t res;
> > +
> > +    do {
> > +        arm_smccc_1_2_smc(&arg, &resp);
> > +        res =3D ffa_get_ret_code(&resp);
> > +        if ( res )
> > +        {
> > +            if ( res !=3D FFA_RET_NO_DATA )
> > +                printk(XENLOG_ERR "ffa: notification info get failed: =
error %d\n",
> > +                       res);
> > +            return;
> > +        }
> > +
> > +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> > +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT =
) &
> > +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> > +
> > +        id_pos =3D 0;
> > +        for ( n =3D 0; n < list_count; n++ )
> > +        {
> > +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
> > +            struct domain *d;
> > +
>
> If a notification is pending for a secure partition at this stage we are =
not
> signaling anything so I think this fact should be listed in the limitatio=
ns to
> say that we do not signal any secondary scheduler if a notification is
> pending for a secure partition.

I agree, I'll add a note in the limitation.

>
> > +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_p=
os));
> > +
> > +            if ( d )
> > +            {
> > +                struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +                spin_lock(&ctx->notif.lock);
> > +                ctx->notif.secure_pending =3D true;
> > +                spin_unlock(&ctx->notif.lock);
> > +
> > +                /*
> > +                 * Since we're only delivering global notification, al=
ways
> > +                 * deliver to the first vCPU. It doesn't matter which =
we
> > +                 * chose, as long as it's available.
> > +                 */
> > +                vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_IN=
TR_ID,
> > +                                true);
> > +
> > +                put_domain(d);
> > +            }
> > +
> > +            id_pos +=3D count;
> > +        }
> > +
> > +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
> > +}
> > +
> > +static int32_t ffa_notification_bitmap_create(uint16_t vm_id,
> > +                                              uint32_t vcpu_count)
> > +{
> > +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_CREATE, vm_id, vcpu=
_count,
> > +                           0, 0);
> > +}
> > +
> > +static int32_t ffa_notification_bitmap_destroy(uint16_t vm_id)
> > +{
> > +    return ffa_simple_call(FFA_NOTIFICATION_BITMAP_DESTROY, vm_id, 0, =
0, 0);
> > +}
> > +
> > +struct notif_irq_info {
> > +    unsigned int irq;
> > +    int ret;
> > +    struct irqaction *action;
> > +};
> > +
> > +static void notif_irq_enable(void *info)
> > +{
> > +    struct notif_irq_info *irq_info =3D info;
> > +
> > +    irq_info->ret =3D setup_irq(irq_info->irq, 0, irq_info->action);
> > +    if ( irq_info->ret )
> > +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n"=
,
> > +               irq_info->irq, irq_info->ret);
> > +}
> > +
> > +void ffa_notif_init(void)
> > +{
> > +    const struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_FEATURES,
> > +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> > +    };
> > +    struct notif_irq_info irq_info =3D { };
> > +    struct arm_smccc_1_2_regs resp;
> > +    unsigned int cpu;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> > +        return;
> > +
> > +    irq_info.irq =3D resp.a2;
> > +    if ( irq_info.irq < GIC_SGI_STATIC_MAX || irq_info.irq >=3D NR_GIC=
_SGI )
> > +    {
> > +        printk(XENLOG_ERR "ffa: notification initialization failed: co=
nflicting SGI %u\n",
> > +               irq_info.irq);
> > +        return;
> > +    }
> > +
> > +    /*
> > +     * SGIs are per-CPU so we must enable the IRQ on each CPU. We use =
an
> > +     * IPI to call notif_irq_enable() on each CPU including the curren=
t
> > +     * CPU. The struct irqaction is preallocated since we can't alloca=
te
> > +     * memory while in interrupt context.
> > +     */
> > +    for_each_online_cpu(cpu)
> > +    {
> > +        irq_info.action =3D xmalloc(struct irqaction);
>
> You allocate one action per cpu but you have only one action pointer in y=
our structure
> which means you will overload the previously allocated one and lose track=
.
>
> You should have a table of actions in your structure instead unless one a=
ction is
> enough and can be reused on all cpus and in this case you should move out=
 of
> your loop the allocation part.

That shouldn't be needed because this is done in sequence only one CPU
at a time.

>
> > +        if ( !irq_info.action )
> > +        {
> > +            irq_info.ret =3D -ENOMEM;
> > +            break;
> > +        }
> > +
> > +        *irq_info.action =3D (struct irqaction){
> > +            .handler =3D notif_irq_handler,
> > +            .name =3D "FF-A notif",
> > +            .free_on_release =3D 1,
> > +        };
> > +
> > +        on_selected_cpus(cpumask_of(cpu), notif_irq_enable, &irq_info,=
 1);
> > +        if ( irq_info.ret )
> > +        {
> > +            XFREE(irq_info.action);
> > +            break;
> > +        }
> > +    }
> > +
> > +    notif_enabled =3D !irq_info.ret;
> > +}
> > +
> > +int ffa_notif_domain_init(struct domain *d)
> > +{
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    int32_t res;
> > +
> > +    if ( !notif_enabled )
> > +        return 0;
> > +
> > +    res =3D ffa_notification_bitmap_create(ffa_get_vm_id(d), d->max_vc=
pus);
> > +    if ( res )
> > +        return -ENOMEM;
> > +
> > +    ctx->notif.enabled =3D true;
> > +
> > +    return 0;
> > +}
> > +
> > +void ffa_notif_domain_destroy(struct domain *d)
> > +{
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +    if ( ctx->notif.enabled )
> > +    {
> > +        ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
> > +        ctx->notif.enabled =3D false;
> > +    }
> > +}
> > diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_par=
tinfo.c
> > index dc1059584828..93a03c6bc672 100644
> > --- a/xen/arch/arm/tee/ffa_partinfo.c
> > +++ b/xen/arch/arm/tee/ffa_partinfo.c
> > @@ -306,7 +306,7 @@ static void vm_destroy_bitmap_init(struct ffa_ctx *=
ctx,
> >     }
> > }
> >
> > -bool ffa_partinfo_domain_init(struct domain *d)
> > +int ffa_partinfo_domain_init(struct domain *d)
> > {
> >     unsigned int count =3D BITS_TO_LONGS(subscr_vm_destroyed_count);
> >     struct ffa_ctx *ctx =3D d->arch.tee;
> > @@ -315,7 +315,7 @@ bool ffa_partinfo_domain_init(struct domain *d)
> >
> >     ctx->vm_destroy_bitmap =3D xzalloc_array(unsigned long, count);
> >     if ( !ctx->vm_destroy_bitmap )
> > -        return false;
> > +        return -ENOMEM;
> >
> >     for ( n =3D 0; n < subscr_vm_created_count; n++ )
> >     {
> > @@ -330,7 +330,10 @@ bool ffa_partinfo_domain_init(struct domain *d)
> >     }
> >     vm_destroy_bitmap_init(ctx, n);
> >
> > -    return n =3D=3D subscr_vm_created_count;
> > +    if ( n !=3D subscr_vm_created_count )
> > +        return -EIO;
> > +
> > +    return 0;
> > }
> >
> > bool ffa_partinfo_domain_destroy(struct domain *d)
> > diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_priv=
ate.h
> > index 98236cbf14a3..a59c9887774b 100644
> > --- a/xen/arch/arm/tee/ffa_private.h
> > +++ b/xen/arch/arm/tee/ffa_private.h
> > @@ -25,6 +25,7 @@
> > #define FFA_RET_DENIED                  -6
> > #define FFA_RET_RETRY                   -7
> > #define FFA_RET_ABORTED                 -8
> > +#define FFA_RET_NO_DATA                 -9
> >
> > /* FFA_VERSION helpers */
> > #define FFA_VERSION_MAJOR_SHIFT         16U
> > @@ -175,6 +176,21 @@
> >  */
> > #define FFA_PARTITION_INFO_GET_COUNT_FLAG BIT(0, U)
> >
> > +/* Flags used in calls to FFA_NOTIFICATION_GET interface  */
> > +#define FFA_NOTIF_FLAG_BITMAP_SP        BIT(0, U)
> > +#define FFA_NOTIF_FLAG_BITMAP_VM        BIT(1, U)
> > +#define FFA_NOTIF_FLAG_BITMAP_SPM       BIT(2, U)
> > +#define FFA_NOTIF_FLAG_BITMAP_HYP       BIT(3, U)
> > +
> > +#define FFA_NOTIF_INFO_GET_MORE_FLAG        BIT(0, U)
> > +#define FFA_NOTIF_INFO_GET_ID_LIST_SHIFT    12
> > +#define FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT   7
> > +#define FFA_NOTIF_INFO_GET_ID_COUNT_MASK    0x1F
> > +
> > +/* Feature IDs used with FFA_FEATURES */
> > +#define FFA_FEATURE_NOTIF_PEND_INTR     0x1U
> > +#define FFA_FEATURE_SCHEDULE_RECV_INTR  0x2U
> > +
> > /* Function IDs */
> > #define FFA_ERROR                       0x84000060U
> > #define FFA_SUCCESS_32                  0x84000061U
> > @@ -213,6 +229,27 @@
> > #define FFA_MEM_FRAG_TX                 0x8400007BU
> > #define FFA_MSG_SEND                    0x8400006EU
> > #define FFA_MSG_POLL                    0x8400006AU
> > +#define FFA_NOTIFICATION_BITMAP_CREATE  0x8400007DU
> > +#define FFA_NOTIFICATION_BITMAP_DESTROY 0x8400007EU
> > +#define FFA_NOTIFICATION_BIND           0x8400007FU
> > +#define FFA_NOTIFICATION_UNBIND         0x84000080U
> > +#define FFA_NOTIFICATION_SET            0x84000081U
> > +#define FFA_NOTIFICATION_GET            0x84000082U
> > +#define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
> > +#define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
> > +
> > +struct ffa_ctx_notif {
> > +    bool enabled;
> > +
> > +    /* Used to serialize access to the rest of this struct */
> > +    spinlock_t lock;
> > +
> > +    /*
> > +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> > +     * pending global notifications.
> > +     */
> > +    bool secure_pending;
> > +};
> >
> > struct ffa_ctx {
> >     void *rx;
> > @@ -228,6 +265,7 @@ struct ffa_ctx {
> >     struct list_head shm_list;
> >     /* Number of allocated shared memory object */
> >     unsigned int shm_count;
> > +    struct ffa_ctx_notif notif;
> >     /*
> >      * tx_lock is used to serialize access to tx
> >      * rx_lock is used to serialize access to rx
> > @@ -257,7 +295,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *reg=
s);
> > int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
> >
> > bool ffa_partinfo_init(void);
> > -bool ffa_partinfo_domain_init(struct domain *d);
> > +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,
> > @@ -271,12 +309,28 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, regist=
er_t tx_addr,
> > uint32_t ffa_handle_rxtx_unmap(void);
> > int32_t ffa_handle_rx_release(void);
> >
> > +void ffa_notif_init(void);
> > +int ffa_notif_domain_init(struct domain *d);
> > +void ffa_notif_domain_destroy(struct domain *d);
> > +
> > +int ffa_handle_notification_bind(struct cpu_user_regs *regs);
> > +int ffa_handle_notification_unbind(struct cpu_user_regs *regs);
> > +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);
> > +
> > static inline uint16_t ffa_get_vm_id(const struct domain *d)
> > {
> >     /* +1 since 0 is reserved for the hypervisor in FF-A */
> >     return d->domain_id + 1;
> > }
> >
> > +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
> > +{
> > +    /* -1 to match ffa_get_vm_id() */
> > +    return get_domain_by_id(vm_id - 1);
> > +}
> > +
>
> I think there is a global discussion to have on using get_domain_by_vm_id
> or rcu_lock_live_remote_domain_by_id to make sure the domain is not
> dying when we try to do something with it.
>
> It does not need to be done here as there are other places to adapt but
> i wanted to raise the question.
>
> I would like to know what you and also other maintainers think here.
> @Julien/Michal/Stefano ?
>
> > static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t =
v0,
> >                                 register_t v1, register_t v2, register_=
t v3,
> >                                 register_t v4, register_t v5, register_=
t v6,
> > diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-ar=
m.h
> > index e167e14f8df9..1eac9802aa53 100644
> > --- a/xen/include/public/arch-arm.h
> > +++ b/xen/include/public/arch-arm.h
> > @@ -505,6 +505,7 @@ typedef uint64_t xen_callback_t;
> > #define GUEST_MAX_VCPUS 128
> >
> > /* Interrupts */
> > +
> > #define GUEST_TIMER_VIRT_PPI    27
> > #define GUEST_TIMER_PHYS_S_PPI  29
> > #define GUEST_TIMER_PHYS_NS_PPI 30
> > @@ -515,6 +516,19 @@ typedef uint64_t xen_callback_t;
> > #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
> > #define GUEST_VIRTIO_MMIO_SPI_LAST    43
> >
> > +/*
> > + * SGI is the preferred delivery mechanism of FF-A pending notificatio=
ns or
> > + * schedule recveive interrupt. SGIs 8-15 are normally not used by a g=
uest
> > + * as they in a non-virtualized system typically are assigned to the s=
ecure
> > + * world. Here we're free to use SGI 8-15 since they are virtual and h=
ave
> > + * nothing to do with the secure world.
> > + *
> > + * For partitioning of SGIs see also Arm Base System Architecture v1.0=
C,
> > + * https://developer.arm.com/documentation/den0094/
> > + */
> > +#define GUEST_FFA_NOTIF_PEND_INTR_ID      8
> > +#define GUEST_FFA_SCHEDULE_RECV_INTR_ID   9
> > +
> > /* PSCI functions */
> > #define PSCI_cpu_suspend 0
> > #define PSCI_cpu_off     1
> > --
> > 2.34.1
> >

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:19:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:19:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712752.1113567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KYC-0000N0-8z; Fri, 26 Apr 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 712752.1113567; Fri, 26 Apr 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 1s0KYC-0000Mt-5q; Fri, 26 Apr 2024 12:19:36 +0000
Received: by outflank-mailman (input) for mailman id 712752;
 Fri, 26 Apr 2024 12:19:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Jki=L7=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1s0KYA-0000Mk-9y
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:19:34 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2613::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d20eb53-03c7-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 14:19:33 +0200 (CEST)
Received: from AS9PR04CA0154.eurprd04.prod.outlook.com (2603:10a6:20b:48a::17)
 by VI1PR08MB5533.eurprd08.prod.outlook.com (2603:10a6:803:12d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 12:19:29 +0000
Received: from AMS0EPF00000192.eurprd05.prod.outlook.com
 (2603:10a6:20b:48a:cafe::ee) by AS9PR04CA0154.outlook.office365.com
 (2603:10a6:20b:48a::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.29 via Frontend
 Transport; Fri, 26 Apr 2024 12:19:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000192.mail.protection.outlook.com (10.167.16.218) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19
 via Frontend Transport; Fri, 26 Apr 2024 12:19:28 +0000
Received: ("Tessian outbound daa456608199:v315");
 Fri, 26 Apr 2024 12:19:28 +0000
Received: from 425f52b6ded9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1561AB32-6752-40E9-9CBB-1BCB666225F6.1; 
 Fri, 26 Apr 2024 12:19:22 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 425f52b6ded9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 26 Apr 2024 12:19:22 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB6246.eurprd08.prod.outlook.com (2603:10a6:20b:296::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.48; Fri, 26 Apr
 2024 12:19:19 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7519.021; Fri, 26 Apr 2024
 12:19:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d20eb53-03c7-11ef-909a-e314d9c70b13
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=akUIX9l17kUx9HDRLVXUC1goesaWI5uDv5UXMgadWgxQnc/Ui4hEEH9p2wxKGxwH/QWxcCjkOcglKbxYCnuPoi9553Q9yd68PGml/4UHKwXZZPxugzaqKw21WauRLfwLBOer5nXithia2yWIy8oXbD+2ijeUfLr/YE5TeT3whYrWnPFdo1eQPeavSUCdnw7BBulFMaC79yXyoHxhFUBg7ju4LpvZBgvx8Ma59RAr3Jn5Ve4OfGD9ldhjdj1Vfk330jzt4JjbQ6uPXYYQNJdYejnqEggoY6UT4D57/qErDcOFz+eqXYjwnLK3kLszUfJibdy95PHoPMn+08MrcFE1Hw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/JQ8FqtFWAlM1Lorxz5LZzIVhoIW4axDkgRoA49IMHM=;
 b=bX0cMH0OPnRT3ZG83Zr75mXcZPuIYHypkjjazcY/X/7pIYP5L4zFKZdfmBz6vAEz9e1nnVcJo6SF4Na5PlbBTtYQiKtUHj7LfwyB7xTVWWKKsi6JTGEzBVGotlv2SI/BdynuzyQaNURVdK2Ih5imuiMzEeaZsvfarak5T+CTv+ju8HvN49uDrVQ08V25k8fx7dfoHLu60+co0p/dflZD0BOxhR0ii3HfAa8tlmys75wAXEhIND/LSnTbdyKFX2u2xMU5O0rMwEOLsWOCJ3Kmeju+74hIrgidcvgMO1Sd8/wpxioHYvL8+xzq7vuLddFpTzkwRSms83sQCFD8vVTu9w==
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=/JQ8FqtFWAlM1Lorxz5LZzIVhoIW4axDkgRoA49IMHM=;
 b=FEqb81VNOUiz5ao5+nHDJL2zuTiyeWIw3v6CdW37CKXe24U00HP6hRq7d1Mx8ZBZSS0MV5dKWDCn+X+S9TBJMHwh/EeEDPD2Q7iASe+VCZz04n8oMirlgT/U8ZAYrcFZqgmJ7muiqLN/aiNk8GbXrW2ydl0Xb+/3DDH+om2c1oM=
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: 55c4a90bcc102ef1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lNW5UAqg+u1ZQRyjw69Ha0B//k3Nf4tNomMjJ9NOICcIBee/XUI7GuMW16A5S/ALHg10kGTiB7inAtkh/20MyOrQe5DYnxqwL3/Jif+uU/RwoHtijgDwBHkPtyjmWT52CPuLRiC+VajjmxsZnyUjwhxaX2OHCpr99IzHPIJDiFmn8TF2cYnRTZauKXqP6SMKjDbex+8w+QM2+nU7Tg6tBWY+/RiRWQoCGprxrGK6HdaDGm0j5NhTkO7LTngj6ZpYwoz8zjpz+n9VcqhmKr4mgzE+ZigspTjonOL0jxBQuzwVC8jRQGBEs8X1KtxsTlkVd6yB5ECF3l3Gwpq6WZViLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/JQ8FqtFWAlM1Lorxz5LZzIVhoIW4axDkgRoA49IMHM=;
 b=Q5JIoZ2B9LKr1CGDbLR3XIN2LnxES8sftj50gXP3VBErrqEcgV2xGmqlJuCeLYajmCoDLeYdJcCaHKT5iWWaZUGcUbALP/T/Mr0wZpI1khCgkHCvzIpK77DjAmkYOcQWJOCVMmsnYrZdis1XsJCTUrYBuDOpdh3floofvXvXjNt6fgr2Rc0MK2C9BjzY2NAYHHQdOW6emByZ2KAQi95XXki+PUdhvrm0f6zPlqgB1mYQwWaNtJpBMs4kfluyn+IwChx5NWIkwi0oBRf6ME9uKO8HGBdxQEaRaoLdM3xGOTgndi0TL9xy5HowCv6N+I7YDCr5B24olVAzo4J+VDisKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=/JQ8FqtFWAlM1Lorxz5LZzIVhoIW4axDkgRoA49IMHM=;
 b=FEqb81VNOUiz5ao5+nHDJL2zuTiyeWIw3v6CdW37CKXe24U00HP6hRq7d1Mx8ZBZSS0MV5dKWDCn+X+S9TBJMHwh/EeEDPD2Q7iASe+VCZz04n8oMirlgT/U8ZAYrcFZqgmJ7muiqLN/aiNk8GbXrW2ydl0Xb+/3DDH+om2c1oM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Index: AQHal7ZoS0Rs3weazUuhKfXitmlnMLF6RnOAgAAvzwCAAAIygA==
Date: Fri, 26 Apr 2024 12:19:19 +0000
Message-ID: <3A576E95-454B-4C66-A164-A2871DB4E2B2@arm.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
 <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
 <CAHUa44ETaCY2pbUjMOW5T2NSpmRCq3sWMjLUbK0DC2jpQxHJRQ@mail.gmail.com>
In-Reply-To:
 <CAHUa44ETaCY2pbUjMOW5T2NSpmRCq3sWMjLUbK0DC2jpQxHJRQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB6246:EE_|AMS0EPF00000192:EE_|VI1PR08MB5533:EE_
X-MS-Office365-Filtering-Correlation-Id: 4eda72b7-6c22-45e5-76e0-08dc65eb1ec2
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?ZnIxUmxiaEFoWlROemxGZHpsRC84QXpydThoTEpTSGg1QVM4TzF4VDNrNlNC?=
 =?utf-8?B?Z3hBRnZSQVFETHRZWjFZNDY0aW5Id0QwKzJVZFBxMHBRdGdhMmwrNGtXbmxn?=
 =?utf-8?B?WjlkbHVCVGdpejZYU0NsdExDckhkTGhKYW4xeGJpd29BUy9nM1BzQnNCV2U2?=
 =?utf-8?B?cCtlTjkzTjJ4UjhHakJVOVRWTnl0TmthY3hJQ1owdCtDc2pDb2s2alhsVU9i?=
 =?utf-8?B?SHVNeUxERWJ2N3EraUIyYnlYeXRuRTRTRStjcG9JblBCeGZRT0JTYWcrQk4v?=
 =?utf-8?B?Ly9wU1dlKzRWeFBSKzMwTVNybmlvNEhMNVd6V2lIRWR3L053OGNScTJNOUJy?=
 =?utf-8?B?dmE0RjdDaFV4Mno0eHhIVXlGYWV5SjAzbTFmUUlVdytRNnZ3NDhqcTdjRE1I?=
 =?utf-8?B?U0VsT2pzM2JpQ2Y4MkRHdHFvVzBtV0QvTkZyQWxYNFcyVVhJRTIzc1dwQnhG?=
 =?utf-8?B?SC91dy8yWmhJZXM0Q1ordXVPdjBqdHlTTjFFR3dIQ1hMMGVwTHRqU2dHekhr?=
 =?utf-8?B?d1JDR1N3cHd1Qy82WXE0ektKMXZCejFMZ3hKVGlsNnN1YzlTUVhpeWJ0eVo5?=
 =?utf-8?B?ZFljOGNiaUJwcFg2SGNyZDJxd1J2elR1eGZhL1hMMDd2bFZuaTlMRnZmV1JH?=
 =?utf-8?B?cGQ1b2twV0tlS0F3MXJ0eVdKU3dObnZaSUNpamo5Tk8rL05Ya1YzN3VZdEhn?=
 =?utf-8?B?WkUrMU15Tlk1TTZvMnowQTFMOXZ5emgzKzQzdXB5ZDYyellWRmdlUlhaV09S?=
 =?utf-8?B?N2pVdXhuaXhydHdxa1BRSzJMdGN1WUNKMHFHblNvcXpQcjBtdEkzYktwVFJP?=
 =?utf-8?B?Y0VxQmpzUFkvQkR5bWV0ci9XRlpTcmNveWtUbEVSVDJ6akQyN3FBZHM1Q1BI?=
 =?utf-8?B?QWluTWdCSWVoUzJhZk9VNjFJMUlLWEt5Q2swQjY2N09KdWpvRXdaMHkvT1g3?=
 =?utf-8?B?UTlTMDRkTE96VUtHU2ZkNkYzYzdpd0k1YTRCQXBEUjVCaHVrVm9QMTlON0Z1?=
 =?utf-8?B?MktMR1dyWnREQWp4cEN5Sk9uSlRPTnhzdzV3cWh0ZGxCZmN2MGlhWGhzQ2tB?=
 =?utf-8?B?b2FBZTRTRTl2QTVqa29WWG8yd3REYTlHUEkycnJnNUhwVy90M2RJb21GOWVS?=
 =?utf-8?B?S0JvMEdnL0lRd2thNG5PSHI0dlR3T0pkQ3VGd24yR1dhRW5xWkJZemh3cTFF?=
 =?utf-8?B?RHVHQWZwK3pnU3BIenl3aWJYMnRPMno2cGlUQjlhM29oOXA0Y2s3aHIyVVJK?=
 =?utf-8?B?OGNhM2l0R3ppTHhRUXM5cjV0aHdQLzhUSnIxTFN3UFNoY3FyNzZnczJmK3dN?=
 =?utf-8?B?c0Q5cU92cHlPazFhNk5yWTJMek1qVytUcUp1UjVKYllUVHJGbk5kclJ0TmpI?=
 =?utf-8?B?MHRvRmN3VllZSzFPOGpIOGhaenNBdzlyWmlVdndTZmwyY3pmajhvTVBqUHhP?=
 =?utf-8?B?ZXd6ZExHWmc5YXl6azF6VnR4Y1NGbXVmelM3VFh6aDJsa2pXVGN2djFoQ09p?=
 =?utf-8?B?aldxWENEOXFWRkVTbDZPR2Zlang3V3hta2ZVR2FoTkdGUjZYNGpaaFQrK0R4?=
 =?utf-8?B?U01jVk9YNi8vV0xnRk1Ib2RERkhhNndzeE1FdFNSS0VwTkdCV2p6dE5jbXZ4?=
 =?utf-8?B?dCtNN1NEbGVwUEtMelpiY2JTZmxNWEJhMzRRWEk1V0xhdU9rVFJSWVlieXpq?=
 =?utf-8?B?V1RPU2hld1hXMURLV2I4MlE5WVQ5QmwybnN4aXBFczAxV3h3aSs3NndsTWM1?=
 =?utf-8?B?Qkx6aW8yYzFNZitENm5scTYxS1R0Vm9HNVMxaWFHOU9vdDNtK3RQYkpSakxJ?=
 =?utf-8?B?SkVqMEgrSEU0cW9LRC9CUT09?=
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:(13230031)(366007)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <94D51ED2A3A65040A49FCAFC77C1968B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6246
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF00000192.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5bc62cb2-70bf-4270-88ea-08dc65eb1977
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bTNQb3pYQVNYNDY3dE1VOTBGZVVpVUh5VTBSVEVVdWFZdWdxakxIMk5IamFF?=
 =?utf-8?B?clRhb09oNkVCYmN4S1pZQmI0Q1k3Y3IzN3hQUVFMdzFPRDI3eUlEbUxGLzdB?=
 =?utf-8?B?dTQ4TU9vaWVNeGw4UGJ1L0tVWmd1ZElWMVlVZ3hoMEFaYUlFUURTNk1PZlZ1?=
 =?utf-8?B?bzdVYWp0aDN3S2N0YzlPTjE0Zk9nTnYxaVR3NnJ4UHRQRWZjQXF1WFI5Ynkx?=
 =?utf-8?B?dGdYSFRsKzcvSDZ4MDVwOUo2MTNNZDRIbGNKNnBZbXl4ZG05N1ppc1ppamwr?=
 =?utf-8?B?NGhLelhXSlFkZUFJU2UrY1k4VVRsd0Q5MThvUHdjLzhSZ2p5c09Qb3BLdkVW?=
 =?utf-8?B?eTVENmpIODh5WnBzd0R1c1N2MkRsdG1XQ2JRSVE3OElGR3FSckl2Z0FzUE92?=
 =?utf-8?B?WjIya1FxR2wvQ0hlR0lHTVRXcmpGQmdXeWZLVzZBakV1VVprVC9YQzFIeTFL?=
 =?utf-8?B?ZzA5YjY5dWJUb2YwTWM2VjgyWGJGak9xbGhlQStqaXhKbHpvMFNUSVM0L0Zj?=
 =?utf-8?B?d09EZWE3SmJZdmpzWVNuNzFIeXJ0bkUrekdHM0RIYVNucW5tdExoZVpOK3pa?=
 =?utf-8?B?QVBuZ3F6VHNJK01qdGQ3WExId0RuRW42c1R4TEtWdklQWit3NThEQVVRMHoy?=
 =?utf-8?B?UWRtanNOYnIwMG0yMFpTT1pzc2l0T1NWUG01NVZoUUovOHlxRzNKTTNTWisw?=
 =?utf-8?B?WVQyQmY1a2xHN2F4UE1Ld0NaSXQwUW9WVDhaMjJ4elN6SkJ6UStiOU1zVGh3?=
 =?utf-8?B?aDE3SjJaSG0vQmF4MHNHczVodmpWUW10V1E5eU0xMkw4bjl5VXY3cURZZ1Zv?=
 =?utf-8?B?OWFMazRlTUlnZFJCbmxGbEUybnRZTXV1VTFRTXdCS2RKZVo5ZityM2FTbVRP?=
 =?utf-8?B?MjZDNS9Pa1dkbkVQSzIvZi95bjZuc3lOVXdoaStXd1I1SDh6QVlBY0g1ZWZ2?=
 =?utf-8?B?VzNtN09CMlVmekpnOTBGYisvc0dYSnk1SS9LNlJnL1dHdHhyMU9DZ0JMQWs0?=
 =?utf-8?B?RjhaVURsQkN1WHlQMS9UQlI3dG1QUVUwRkV0US82MWNZckNWb1JGdndRNFht?=
 =?utf-8?B?UnFORmJzUEI0ODIzaW9NUTdBYUFoSkhsZVZZOWdnWDk3bnFQaDF6MW5nSDRE?=
 =?utf-8?B?cnhKV0xUd2ZEKzBOS3JNZjkvUTBxZVZjdVNEVTA2SlRNSU13RDV1c1loeW9Z?=
 =?utf-8?B?MGtkNloxdk1JUmtBNm9VUGZibmFEZDVQa1Ixbk5BUjd0WXhFZjlsN1pLdTB5?=
 =?utf-8?B?QXNaTmQ2enFpT3c4a2dDblhZbVdYT3B1dWVKUW5JcDd1TGZ5UHAxUmNJL2F0?=
 =?utf-8?B?Z2RaQVpRUEdlV29mTE1CQ25RMFZiRkVmYXFtUm5SM2RvSjl3eGQ4dFlVWHVB?=
 =?utf-8?B?bXRmYmVFYkVFcks0aG9Ua3RFQnZVaVBIZGlMODJVeG9Da09Id2JRVFVrdUhQ?=
 =?utf-8?B?Z0k0RnVIRUkvcXl6cnRKMlNYTEJWcFZYNDg3Rzc5Y2NsNEdxenhuYUV4anlN?=
 =?utf-8?B?OE5lcHNIZElodm9lMThQOFF0RkZKZm9Ocmd2NXF0K1BXZzYxdDFUazJBU2dK?=
 =?utf-8?B?TkNnVXlIR0dPTHZJYnN5RGozY3RPN1RLQUR5N1dab0ZBd1hXR21YQkxXc3M1?=
 =?utf-8?B?VVB5SDc5K1dyM0g5UklaWXBudnAvbDJMZEVTTTdzZ3FTRUdPd1dDTWNtdHJD?=
 =?utf-8?B?SEFKYXozQkN2R0laOEJXNUFjT0xpZzBwL0R5YVZ6a2ZnQXNQRFBaMDkrOVJH?=
 =?utf-8?B?Y0dXSjR3ekZXNVlicVFWcnRUVmsyVzVwVTBZQThSMFhGZGxDWVdBenFoS1VQ?=
 =?utf-8?B?dEgybFdxbXhWVnUzM0xycFZPQUR4dlBIWG1tK1JDVnZhL05HNmJHM0RaczBV?=
 =?utf-8?Q?y0/5uyc7T7U+K?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 12:19:28.6142
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4eda72b7-6c22-45e5-76e0-08dc65eb1ec2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF00000192.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5533

SGkgSmVucywNCg0KPiBPbiAyNiBBcHIgMjAyNCwgYXQgMTQ6MTEsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gRnJpLCBBcHIgMjYsIDIwMjQgYXQgMTE6MjDigK9BTSBCZXJ0cmFuZCBNYXJxdWlzDQo+
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIaSBKZW5zLA0KPj4g
DQo+Pj4gT24gMjYgQXByIDIwMjQsIGF0IDEwOjQ3LCBKZW5zIFdpa2xhbmRlciA8amVucy53aWts
YW5kZXJAbGluYXJvLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gQWRkIHN1cHBvcnQgZm9yIEZGLUEg
bm90aWZpY2F0aW9ucywgY3VycmVudGx5IGxpbWl0ZWQgdG8gYW4gU1AgKFNlY3VyZQ0KPj4+IFBh
cnRpdGlvbikgc2VuZGluZyBhbiBhc3luY2hyb25vdXMgbm90aWZpY2F0aW9uIHRvIGEgZ3Vlc3Qu
DQo+Pj4gDQo+Pj4gR3Vlc3RzIGFuZCBYZW4gaXRzZWxmIGFyZSBtYWRlIGF3YXJlIG9mIHBlbmRp
bmcgbm90aWZpY2F0aW9ucyB3aXRoIGFuDQo+Pj4gaW50ZXJydXB0LiBUaGUgaW50ZXJydXB0IGhh
bmRsZXIgcmV0cmlldmVzIHRoZSBub3RpZmljYXRpb25zIHVzaW5nIHRoZQ0KPj4+IEZGLUEgQUJJ
IGFuZCBkZWxpdmVyIHRoZW0gdG8gdGhlaXIgZGVzdGluYXRpb25zLg0KPj4+IA0KPj4+IFVwZGF0
ZSBmZmFfcGFydGluZm9fZG9tYWluX2luaXQoKSB0byByZXR1cm4gZXJyb3IgY29kZSBsaWtlDQo+
Pj4gZmZhX25vdGlmX2RvbWFpbl9pbml0KCkuDQo+Pj4gDQo+Pj4gU2lnbmVkLW9mZi1ieTogSmVu
cyBXaWtsYW5kZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+DQo+Pj4gLS0tDQo+Pj4gdjIt
PnYzOg0KPj4+IC0gQWRkIGEgR1VFU1RfIHByZWZpeCBhbmQgbW92ZSBGRkFfTk9USUZfUEVORF9J
TlRSX0lEIGFuZA0KPj4+IEZGQV9TQ0hFRFVMRV9SRUNWX0lOVFJfSUQgdG8gcHVibGljL2FyY2gt
YXJtLmgNCj4+PiAtIFJlZ2lzdGVyIHRoZSBYZW4gU1JJIGhhbmRsZXIgb24gZWFjaCBDUFUgdXNp
bmcgb25fc2VsZWN0ZWRfY3B1cygpIGFuZA0KPj4+IHNldHVwX2lycSgpDQo+Pj4gLSBDaGVjayB0
aGF0IHRoZSBTR0kgSUQgcmV0cmlldmVkIHdpdGggRkZBX0ZFQVRVUkVfU0NIRURVTEVfUkVDVl9J
TlRSDQo+Pj4gZG9lc24ndCBjb25mbGljdCB3aXRoIHN0YXRpYyBTR0kgaGFuZGxlcnMNCj4+PiAN
Cj4+PiB2MS0+djI6DQo+Pj4gLSBBZGRyZXNzaW5nIHJldmlldyBjb21tZW50cw0KPj4+IC0gQ2hh
bmdlIGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX3tiaW5kLHVuYmluZCxzZXR9KCkgdG8gdGFrZSBz
dHJ1Y3QNCj4+PiBjcHVfdXNlcl9yZWdzICpyZWdzIGFzIGFyZ3VtZW50Lg0KPj4+IC0gVXBkYXRl
IGZmYV9wYXJ0aW5mb19kb21haW5faW5pdCgpIGFuZCBmZmFfbm90aWZfZG9tYWluX2luaXQoKSB0
byByZXR1cm4NCj4+PiBhbiBlcnJvciBjb2RlLg0KPj4+IC0gRml4aW5nIGEgYnVnIGluIGhhbmRs
ZV9mZWF0dXJlcygpIGZvciBGRkFfRkVBVFVSRV9TQ0hFRFVMRV9SRUNWX0lOVFIuDQo+Pj4gLS0t
DQo+Pj4geGVuL2FyY2gvYXJtL2lycS5jICAgICAgICAgICAgICB8ICAgMiArLQ0KPj4+IHhlbi9h
cmNoL2FybS90ZWUvTWFrZWZpbGUgICAgICAgfCAgIDEgKw0KPj4+IHhlbi9hcmNoL2FybS90ZWUv
ZmZhLmMgICAgICAgICAgfCAgNTUgKysrKy0NCj4+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYV9ub3Rp
Zi5jICAgIHwgMzc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4geGVuL2Fy
Y2gvYXJtL3RlZS9mZmFfcGFydGluZm8uYyB8ICAgOSArLQ0KPj4+IHhlbi9hcmNoL2FybS90ZWUv
ZmZhX3ByaXZhdGUuaCAgfCAgNTYgKysrKy0NCj4+PiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1h
cm0uaCAgIHwgIDE0ICsrDQo+Pj4gNyBmaWxlcyBjaGFuZ2VkLCA1MDcgaW5zZXJ0aW9ucygrKSwg
OCBkZWxldGlvbnMoLSkNCj4+PiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3RlZS9m
ZmFfbm90aWYuYw0KPj4+IA0KPj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaXJxLmMgYi94
ZW4vYXJjaC9hcm0vaXJxLmMNCj4+PiBpbmRleCBkNzMwNmFhNjRkNTAuLjUyMjQ4OTgyNjVhNSAx
MDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vaXJxLmMNCj4+PiArKysgYi94ZW4vYXJjaC9h
cm0vaXJxLmMNCj4+PiBAQCAtMTU1LDcgKzE1NSw3IEBAIHZvaWQgX19pbml0IGluaXRfSVJRKHZv
aWQpDQo+Pj4gICAgew0KPj4+ICAgICAgICAvKiBTR0lzIGFyZSBhbHdheXMgZWRnZS10cmlnZ2Vy
ZWQgKi8NCj4+PiAgICAgICAgaWYgKCBpcnEgPCBOUl9HSUNfU0dJICkNCj4+PiAtICAgICAgICAg
ICAgbG9jYWxfaXJxc190eXBlW2lycV0gPSBEVF9JUlFfVFlQRV9FREdFX1JJU0lORzsNCj4+PiAr
ICAgICAgICAgICAgbG9jYWxfaXJxc190eXBlW2lycV0gPSBJUlFfVFlQRV9FREdFX1JJU0lORzsN
Cj4+PiAgICAgICAgZWxzZQ0KPj4+ICAgICAgICAgICAgbG9jYWxfaXJxc190eXBlW2lycV0gPSBJ
UlFfVFlQRV9JTlZBTElEOw0KPj4+ICAgIH0NCj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt
L3RlZS9NYWtlZmlsZSBiL3hlbi9hcmNoL2FybS90ZWUvTWFrZWZpbGUNCj4+PiBpbmRleCBmMDEx
MmEyZjkyMmQuLjdjMGY0NmY3ZjQ0NiAxMDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVl
L01ha2VmaWxlDQo+Pj4gKysrIGIveGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQ0KPj4+IEBAIC0y
LDUgKzIsNiBAQCBvYmotJChDT05GSUdfRkZBKSArPSBmZmEubw0KPj4+IG9iai0kKENPTkZJR19G
RkEpICs9IGZmYV9zaG0ubw0KPj4+IG9iai0kKENPTkZJR19GRkEpICs9IGZmYV9wYXJ0aW5mby5v
DQo+Pj4gb2JqLSQoQ09ORklHX0ZGQSkgKz0gZmZhX3J4dHgubw0KPj4+ICtvYmotJChDT05GSUdf
RkZBKSArPSBmZmFfbm90aWYubw0KPj4+IG9iai15ICs9IHRlZS5vDQo+Pj4gb2JqLSQoQ09ORklH
X09QVEVFKSArPSBvcHRlZS5vDQo+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZh
LmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+Pj4gaW5kZXggNTIwOTYxMjk2M2UxLi45MTJl
OTA1YTI3YmQgMTAwNjQ0DQo+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9mZmEuYw0KPj4+ICsr
KyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+PiBAQCAtMzksNiArMzksOSBAQA0KPj4+ICog
ICAtIGF0IG1vc3QgMzIgc2hhcmVkIG1lbW9yeSByZWdpb25zIHBlciBndWVzdA0KPj4+ICogbyBG
RkFfTVNHX1NFTkRfRElSRUNUX1JFUToNCj4+PiAqICAgLSBvbmx5IHN1cHBvcnRlZCBmcm9tIGEg
Vk0gdG8gYW4gU1ANCj4+PiArICogbyBGRkFfTk9USUZJQ0FUSU9OXyo6DQo+Pj4gKyAqICAgLSBv
bmx5IHN1cHBvcnRzIGdsb2JhbCBub3RpZmljYXRpb25zLCB0aGF0IGlzLCBwZXIgdkNQVSBub3Rp
ZmljYXRpb25zDQo+Pj4gKyAqICAgICBhcmUgbm90IHN1cHBvcnRlZA0KPj4+ICoNCj4+PiAqIFRo
ZXJlIGFyZSBzb21lIGxhcmdlIGxvY2tlZCBzZWN0aW9ucyB3aXRoIGZmYV90eF9idWZmZXJfbG9j
ayBhbmQNCj4+PiAqIGZmYV9yeF9idWZmZXJfbG9jay4gRXNwZWNpYWxseSB0aGUgZmZhX3R4X2J1
ZmZlcl9sb2NrIHNwaW5sb2NrIHVzZWQNCj4+PiBAQCAtMTk0LDYgKzE5Nyw4IEBAIG91dDoNCj4+
PiANCj4+PiBzdGF0aWMgdm9pZCBoYW5kbGVfZmVhdHVyZXMoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MpDQo+Pj4gew0KPj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJlbnQtPmRvbWFp
bjsNCj4+PiArICAgIHN0cnVjdCBmZmFfY3R4ICpjdHggPSBkLT5hcmNoLnRlZTsNCj4+PiAgICB1
aW50MzJfdCBhMSA9IGdldF91c2VyX3JlZyhyZWdzLCAxKTsNCj4+PiAgICB1bnNpZ25lZCBpbnQg
bjsNCj4+PiANCj4+PiBAQCAtMjQwLDYgKzI0NSwzMCBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfZmVh
dHVyZXMoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gICAgICAgIEJVSUxEX0JVR19P
TihQQUdFX1NJWkUgIT0gRkZBX1BBR0VfU0laRSk7DQo+Pj4gICAgICAgIGZmYV9zZXRfcmVnc19z
dWNjZXNzKHJlZ3MsIDAsIDApOw0KPj4+ICAgICAgICBicmVhazsNCj4+PiArICAgIGNhc2UgRkZB
X0ZFQVRVUkVfTk9USUZfUEVORF9JTlRSOg0KPj4+ICsgICAgICAgIGlmICggY3R4LT5ub3RpZi5l
bmFibGVkICkNCj4+PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVncywgR1VF
U1RfRkZBX05PVElGX1BFTkRfSU5UUl9JRCwgMCk7DQo+Pj4gKyAgICAgICAgZWxzZQ0KPj4+ICsg
ICAgICAgICAgICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVncywgRkZBX1JFVF9OT1RfU1VQUE9SVEVE
KTsNCj4+PiArICAgICAgICBicmVhazsNCj4+PiArICAgIGNhc2UgRkZBX0ZFQVRVUkVfU0NIRURV
TEVfUkVDVl9JTlRSOg0KPj4+ICsgICAgICAgIGlmICggY3R4LT5ub3RpZi5lbmFibGVkICkNCj4+
PiArICAgICAgICAgICAgZmZhX3NldF9yZWdzX3N1Y2Nlc3MocmVncywgR1VFU1RfRkZBX1NDSEVE
VUxFX1JFQ1ZfSU5UUl9JRCwgMCk7DQo+Pj4gKyAgICAgICAgZWxzZQ0KPj4+ICsgICAgICAgICAg
ICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVncywgRkZBX1JFVF9OT1RfU1VQUE9SVEVEKTsNCj4+PiAr
ICAgICAgICBicmVhazsNCj4+PiArDQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fQklO
RDoNCj4+PiArICAgIGNhc2UgRkZBX05PVElGSUNBVElPTl9VTkJJTkQ6DQo+Pj4gKyAgICBjYXNl
IEZGQV9OT1RJRklDQVRJT05fR0VUOg0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FUSU9OX1NF
VDoNCj4+PiArICAgIGNhc2UgRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF8zMjoNCj4+PiArICAg
IGNhc2UgRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NDoNCj4+PiArICAgICAgICBpZiAoIGN0
eC0+bm90aWYuZW5hYmxlZCApDQo+Pj4gKyAgICAgICAgICAgIGZmYV9zZXRfcmVnc19zdWNjZXNz
KHJlZ3MsIDAsIDApOw0KPj4+ICsgICAgICAgIGVsc2UNCj4+PiArICAgICAgICAgICAgZmZhX3Nl
dF9yZWdzX2Vycm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+Pj4gKyAgICAgICAg
YnJlYWs7DQo+Pj4gICAgZGVmYXVsdDoNCj4+PiAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJl
Z3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+Pj4gICAgICAgIGJyZWFrOw0KPj4+IEBAIC0z
MDUsNiArMzM0LDIyIEBAIHN0YXRpYyBib29sIGZmYV9oYW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3Vz
ZXJfcmVncyAqcmVncykNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpKSwNCj4+PiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpKTsNCj4+PiAgICAgICAg
YnJlYWs7DQo+Pj4gKyAgICBjYXNlIEZGQV9OT1RJRklDQVRJT05fQklORDoNCj4+PiArICAgICAg
ICBlID0gZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fYmluZChyZWdzKTsNCj4+PiArICAgICAgICBi
cmVhazsNCj4+PiArICAgIGNhc2UgRkZBX05PVElGSUNBVElPTl9VTkJJTkQ6DQo+Pj4gKyAgICAg
ICAgZSA9IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX3VuYmluZChyZWdzKTsNCj4+PiArICAgICAg
ICBicmVhazsNCj4+PiArICAgIGNhc2UgRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF8zMjoNCj4+
PiArICAgIGNhc2UgRkZBX05PVElGSUNBVElPTl9JTkZPX0dFVF82NDoNCj4+PiArICAgICAgICBm
ZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9pbmZvX2dldChyZWdzKTsNCj4+PiArICAgICAgICByZXR1
cm4gdHJ1ZTsNCj4+PiArICAgIGNhc2UgRkZBX05PVElGSUNBVElPTl9HRVQ6DQo+Pj4gKyAgICAg
ICAgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fZ2V0KHJlZ3MpOw0KPj4+ICsgICAgICAgIHJldHVy
biB0cnVlOw0KPj4+ICsgICAgY2FzZSBGRkFfTk9USUZJQ0FUSU9OX1NFVDoNCj4+PiArICAgICAg
ICBlID0gZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fc2V0KHJlZ3MpOw0KPj4+ICsgICAgICAgIGJy
ZWFrOw0KPj4+IA0KPj4+ICAgIGRlZmF1bHQ6DQo+Pj4gICAgICAgIGdwcmludGsoWEVOTE9HX0VS
UiwgImZmYTogdW5oYW5kbGVkIGZpZCAweCV4XG4iLCBmaWQpOw0KPj4+IEBAIC0zMjIsNiArMzY3
LDcgQEAgc3RhdGljIGJvb2wgZmZhX2hhbmRsZV9jYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy
ZWdzKQ0KPj4+IHN0YXRpYyBpbnQgZmZhX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpDQo+
Pj4gew0KPj4+ICAgIHN0cnVjdCBmZmFfY3R4ICpjdHg7DQo+Pj4gKyAgICBpbnQgcmV0Ow0KPj4+
IA0KPj4+ICAgIGlmICggIWZmYV92ZXJzaW9uICkNCj4+PiAgICAgICAgcmV0dXJuIC1FTk9ERVY7
DQo+Pj4gQEAgLTM0NSwxMCArMzkxLDExIEBAIHN0YXRpYyBpbnQgZmZhX2RvbWFpbl9pbml0KHN0
cnVjdCBkb21haW4gKmQpDQo+Pj4gICAgICogZXJyb3IsIHNvIG5vIG5lZWQgZm9yIGNsZWFudXAg
aW4gdGhpcyBmdW5jdGlvbi4NCj4+PiAgICAgKi8NCj4+PiANCj4+PiAtICAgIGlmICggIWZmYV9w
YXJ0aW5mb19kb21haW5faW5pdChkKSApDQo+Pj4gLSAgICAgICAgcmV0dXJuIC1FSU87DQo+Pj4g
KyAgICByZXQgPSBmZmFfcGFydGluZm9fZG9tYWluX2luaXQoZCk7DQo+Pj4gKyAgICBpZiAoIHJl
dCApDQo+Pj4gKyAgICAgICAgcmV0dXJuIHJldDsNCj4+PiANCj4+PiAtICAgIHJldHVybiAwOw0K
Pj4+ICsgICAgcmV0dXJuIGZmYV9ub3RpZl9kb21haW5faW5pdChkKTsNCj4+PiB9DQo+Pj4gDQo+
Pj4gc3RhdGljIHZvaWQgZmZhX2RvbWFpbl90ZWFyZG93bl9jb250aW51ZShzdHJ1Y3QgZmZhX2N0
eCAqY3R4LCBib29sIGZpcnN0X3RpbWUpDQo+Pj4gQEAgLTQyMyw2ICs0NzAsNyBAQCBzdGF0aWMg
aW50IGZmYV9kb21haW5fdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkNCj4+PiAgICAgICAgcmV0
dXJuIDA7DQo+Pj4gDQo+Pj4gICAgZmZhX3J4dHhfZG9tYWluX2Rlc3Ryb3koZCk7DQo+Pj4gKyAg
ICBmZmFfbm90aWZfZG9tYWluX2Rlc3Ryb3koZCk7DQo+Pj4gDQo+Pj4gICAgZmZhX2RvbWFpbl90
ZWFyZG93bl9jb250aW51ZShjdHgsIHRydWUgLyogZmlyc3RfdGltZSAqLyk7DQo+Pj4gDQo+Pj4g
QEAgLTUwMiw2ICs1NTAsNyBAQCBzdGF0aWMgYm9vbCBmZmFfcHJvYmUodm9pZCkNCj4+PiAgICBp
ZiAoICFmZmFfcGFydGluZm9faW5pdCgpICkNCj4+PiAgICAgICAgZ290byBlcnJfcnh0eF9kZXN0
cm95Ow0KPj4+IA0KPj4+ICsgICAgZmZhX25vdGlmX2luaXQoKTsNCj4+PiAgICBJTklUX0xJU1Rf
SEVBRCgmZmZhX3RlYXJkb3duX2hlYWQpOw0KPj4+ICAgIGluaXRfdGltZXIoJmZmYV90ZWFyZG93
bl90aW1lciwgZmZhX3RlYXJkb3duX3RpbWVyX2NhbGxiYWNrLCBOVUxMLCAwKTsNCj4+PiANCj4+
PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfbm90aWYuYyBiL3hlbi9hcmNoL2Fy
bS90ZWUvZmZhX25vdGlmLmMNCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+IGluZGV4IDAw
MDAwMDAwMDAwMC4uNmJiMDgwNGVlMmY4DQo+Pj4gLS0tIC9kZXYvbnVsbA0KPj4+ICsrKyBiL3hl
bi9hcmNoL2FybS90ZWUvZmZhX25vdGlmLmMNCj4+PiBAQCAtMCwwICsxLDM3OCBAQA0KPj4+ICsv
KiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovDQo+Pj4gKy8qDQo+Pj4g
KyAqIENvcHlyaWdodCAoQykgMjAyNCAgTGluYXJvIExpbWl0ZWQNCj4+PiArICovDQo+Pj4gKw0K
Pj4+ICsjaW5jbHVkZSA8eGVuL2NvbnN0Lmg+DQo+Pj4gKyNpbmNsdWRlIDx4ZW4vbGlzdC5oPg0K
Pj4+ICsjaW5jbHVkZSA8eGVuL3NwaW5sb2NrLmg+DQo+Pj4gKyNpbmNsdWRlIDx4ZW4vdHlwZXMu
aD4NCj4+PiArDQo+Pj4gKyNpbmNsdWRlIDxhc20vc21jY2MuaD4NCj4+PiArI2luY2x1ZGUgPGFz
bS9yZWdzLmg+DQo+Pj4gKw0KPj4+ICsjaW5jbHVkZSAiZmZhX3ByaXZhdGUuaCINCj4+PiArDQo+
Pj4gK3N0YXRpYyBib29sIF9fcm9fYWZ0ZXJfaW5pdCBub3RpZl9lbmFibGVkOw0KPj4+ICsNCj4+
PiAraW50IGZmYV9oYW5kbGVfbm90aWZpY2F0aW9uX2JpbmQoc3RydWN0IGNwdV91c2VyX3JlZ3Mg
KnJlZ3MpDQo+Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21h
aW47DQo+Pj4gKyAgICB1aW50MzJfdCBzcmNfZHN0ID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDEpOw0K
Pj4+ICsgICAgdWludDMyX3QgZmxhZ3MgPSBnZXRfdXNlcl9yZWcocmVncywgMik7DQo+Pj4gKyAg
ICB1aW50MzJfdCBiaXRtYXBfbG8gPSBnZXRfdXNlcl9yZWcocmVncywgMyk7DQo+Pj4gKyAgICB1
aW50MzJfdCBiaXRtYXBfaGkgPSBnZXRfdXNlcl9yZWcocmVncywgNCk7DQo+Pj4gKw0KPj4+ICsg
ICAgaWYgKCAhbm90aWZfZW5hYmxlZCApDQo+Pj4gKyAgICAgICAgcmV0dXJuIEZGQV9SRVRfTk9U
X1NVUFBPUlRFRDsNCj4+PiArDQo+Pj4gKyAgICBpZiAoIChzcmNfZHN0ICYgMHhGRkZGVSkgIT0g
ZmZhX2dldF92bV9pZChkKSApDQo+Pj4gKyAgICAgICAgcmV0dXJuIEZGQV9SRVRfSU5WQUxJRF9Q
QVJBTUVURVJTOw0KPj4+ICsNCj4+PiArICAgIGlmICggZmxhZ3MgKSAgICAvKiBPbmx5IGdsb2Jh
bCBub3RpZmljYXRpb25zIGFyZSBzdXBwb3J0ZWQgKi8NCj4+PiArICAgICAgICByZXR1cm4gRkZB
X1JFVF9ERU5JRUQ7DQo+Pj4gKw0KPj4+ICsgICAgLyoNCj4+PiArICAgICAqIFdlIG9ubHkgc3Vw
cG9ydCBub3RpZmljYXRpb25zIGZyb20gU1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUgc2VuZGVy
DQo+Pj4gKyAgICAgKiBlbmRwb2ludCBJRCwgdGhlIFNQTUMgd2lsbCB0YWtlIGNhcmUgb2YgdGhh
dCBmb3IgdXMuDQo+Pj4gKyAgICAgKi8NCj4+PiArICAgIHJldHVybiBmZmFfc2ltcGxlX2NhbGwo
RkZBX05PVElGSUNBVElPTl9CSU5ELCBzcmNfZHN0LCBmbGFncywgYml0bWFwX2hpLA0KPj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBfbG8pOw0KPj4+ICt9DQo+Pj4gKw0KPj4+
ICtpbnQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25fdW5iaW5kKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzKQ0KPj4+ICt7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9t
YWluOw0KPj4+ICsgICAgdWludDMyX3Qgc3JjX2RzdCA9IGdldF91c2VyX3JlZyhyZWdzLCAxKTsN
Cj4+PiArICAgIHVpbnQzMl90IGJpdG1hcF9sbyA9IGdldF91c2VyX3JlZyhyZWdzLCAzKTsNCj4+
PiArICAgIHVpbnQzMl90IGJpdG1hcF9oaSA9IGdldF91c2VyX3JlZyhyZWdzLCA0KTsNCj4+PiAr
DQo+Pj4gKyAgICBpZiAoICFub3RpZl9lbmFibGVkICkNCj4+PiArICAgICAgICByZXR1cm4gRkZB
X1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsNCj4+PiArICAgIGlmICggKHNyY19kc3QgJiAweEZG
RkZVKSAhPSBmZmFfZ2V0X3ZtX2lkKGQpICkNCj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9J
TlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4gKw0KPj4+ICsgICAgLyoNCj4+PiArICAgICAqIFdlIG9u
bHkgc3VwcG9ydCBub3RpZmljYXRpb25zIGZyb20gU1Agc28gbm8gbmVlZCB0byBjaGVjayB0aGUN
Cj4+PiArICAgICAqIGRlc3RpbmF0aW9uIGVuZHBvaW50IElELCB0aGUgU1BNQyB3aWxsIHRha2Ug
Y2FyZSBvZiB0aGF0IGZvciB1cy4NCj4+PiArICAgICAqLw0KPj4+ICsgICAgcmV0dXJuICBmZmFf
c2ltcGxlX2NhbGwoRkZBX05PVElGSUNBVElPTl9VTkJJTkQsIHNyY19kc3QsIDAsIGJpdG1hcF9o
aSwNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9sbyk7DQo+Pj4gK30N
Cj4+PiArDQo+Pj4gK3ZvaWQgZmZhX2hhbmRsZV9ub3RpZmljYXRpb25faW5mb19nZXQoc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBkb21haW4gKmQg
PSBjdXJyZW50LT5kb21haW47DQo+Pj4gKyAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0gZC0+YXJj
aC50ZWU7DQo+Pj4gKyAgICBib29sIHBlbmRpbmdfZ2xvYmFsOw0KPj4+ICsNCj4+PiArICAgIGlm
ICggIW5vdGlmX2VuYWJsZWQgKQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAgIGZmYV9zZXRfcmVn
c19lcnJvcihyZWdzLCBGRkFfUkVUX05PVF9TVVBQT1JURUQpOw0KPj4+ICsgICAgICAgIHJldHVy
bjsNCj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICBzcGluX2xvY2soJmN0eC0+bm90aWYubG9j
ayk7DQo+Pj4gKyAgICBwZW5kaW5nX2dsb2JhbCA9IGN0eC0+bm90aWYuc2VjdXJlX3BlbmRpbmc7
DQo+Pj4gKyAgICBjdHgtPm5vdGlmLnNlY3VyZV9wZW5kaW5nID0gZmFsc2U7DQo+Pj4gKyAgICBz
cGluX3VubG9jaygmY3R4LT5ub3RpZi5sb2NrKTsNCj4+PiArDQo+Pj4gKyAgICBpZiAoIHBlbmRp
bmdfZ2xvYmFsICkNCj4+PiArICAgIHsNCj4+PiArICAgICAgICAvKiBBIHBlbmRpbmcgZ2xvYmFs
IG5vdGlmaWNhdGlvbiBmb3IgdGhlIGd1ZXN0ICovDQo+Pj4gKyAgICAgICAgZmZhX3NldF9yZWdz
KHJlZ3MsIEZGQV9TVUNDRVNTXzY0LCAwLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAxVSA8
PCBGRkFfTk9USUZfSU5GT19HRVRfSURfQ09VTlRfU0hJRlQsIGZmYV9nZXRfdm1faWQoZCksDQo+
Pj4gKyAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDApOw0KPj4+ICsgICAgfQ0KPj4+ICsg
ICAgZWxzZQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAgIC8qIFJlcG9ydCBhbiBlcnJvciBpZiB0
aGVyZSB3aGVyZSBubyBwZW5kaW5nIGdsb2JhbCBub3RpZmljYXRpb24gKi8NCj4+PiArICAgICAg
ICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVncywgRkZBX1JFVF9OT19EQVRBKTsNCj4+PiArICAgIH0N
Cj4+PiArfQ0KPj4+ICsNCj4+PiArdm9pZCBmZmFfaGFuZGxlX25vdGlmaWNhdGlvbl9nZXQoc3Ry
dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBkb21haW4g
KmQgPSBjdXJyZW50LT5kb21haW47DQo+Pj4gKyAgICB1aW50MzJfdCByZWN2ID0gZ2V0X3VzZXJf
cmVnKHJlZ3MsIDEpOw0KPj4+ICsgICAgdWludDMyX3QgZmxhZ3MgPSBnZXRfdXNlcl9yZWcocmVn
cywgMik7DQo+Pj4gKyAgICB1aW50MzJfdCB3MiA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3MyA9
IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NCA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NSA9IDA7
DQo+Pj4gKyAgICB1aW50MzJfdCB3NiA9IDA7DQo+Pj4gKyAgICB1aW50MzJfdCB3NyA9IDA7DQo+
Pj4gKw0KPj4+ICsgICAgaWYgKCAhbm90aWZfZW5hYmxlZCApDQo+Pj4gKyAgICB7DQo+Pj4gKyAg
ICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIEZGQV9SRVRfTk9UX1NVUFBPUlRFRCk7DQo+
Pj4gKyAgICAgICAgcmV0dXJuOw0KPj4+ICsgICAgfQ0KPj4+ICsNCj4+PiArICAgIGlmICggKHJl
Y3YgJiAweEZGRkZVKSAhPSBmZmFfZ2V0X3ZtX2lkKGQpICkNCj4+PiArICAgIHsNCj4+PiArICAg
ICAgICBmZmFfc2V0X3JlZ3NfZXJyb3IocmVncywgRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlMp
Ow0KPj4+ICsgICAgICAgIHJldHVybjsNCj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICBpZiAo
IGZsYWdzICYgKCBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1AgfCBGRkFfTk9USUZfRkxBR19CSVRN
QVBfU1BNICkgKQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAgIHN0cnVjdCBhcm1fc21jY2NfMV8y
X3JlZ3MgYXJnID0gew0KPj4+ICsgICAgICAgICAgICAuYTAgPSBGRkFfTk9USUZJQ0FUSU9OX0dF
VCwNCj4+PiArICAgICAgICAgICAgLmExID0gcmVjdiwNCj4+PiArICAgICAgICAgICAgLmEyID0g
ZmxhZ3MgJiAoIEZGQV9OT1RJRl9GTEFHX0JJVE1BUF9TUCB8DQo+Pj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBGRkFfTk9USUZfRkxBR19CSVRNQVBfU1BNICksDQo+Pj4gKyAgICAgICAg
fTsNCj4+PiArICAgICAgICBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIHJlc3A7DQo+Pj4gKyAg
ICAgICAgaW50MzJfdCBlOw0KPj4+ICsNCj4+PiArICAgICAgICBhcm1fc21jY2NfMV8yX3NtYygm
YXJnLCAmcmVzcCk7DQo+Pj4gKyAgICAgICAgZSA9IGZmYV9nZXRfcmV0X2NvZGUoJnJlc3ApOw0K
Pj4+ICsgICAgICAgIGlmICggZSApDQo+Pj4gKyAgICAgICAgew0KPj4+ICsgICAgICAgICAgICBm
ZmFfc2V0X3JlZ3NfZXJyb3IocmVncywgZSk7DQo+Pj4gKyAgICAgICAgICAgIHJldHVybjsNCj4+
PiArICAgICAgICB9DQo+Pj4gKw0KPj4+ICsgICAgICAgIGlmICggZmxhZ3MgJiBGRkFfTk9USUZf
RkxBR19CSVRNQVBfU1AgKQ0KPj4+ICsgICAgICAgIHsNCj4+PiArICAgICAgICAgICAgdzIgPSBy
ZXNwLmEyOw0KPj4+ICsgICAgICAgICAgICB3MyA9IHJlc3AuYTM7DQo+Pj4gKyAgICAgICAgfQ0K
Pj4+ICsNCj4+PiArICAgICAgICBpZiAoIGZsYWdzICYgRkZBX05PVElGX0ZMQUdfQklUTUFQX1NQ
TSApDQo+Pj4gKyAgICAgICAgICAgIHc2ID0gcmVzcC5hNjsNCj4+PiArICAgIH0NCj4+IA0KPj4g
SW4gaGVyZSB5b3UgbmV2ZXIgY2xlYW4gdGhlIHNlY3VyZV9wZW5kaW5nIGZsYWcgYnV0IGluIHBy
YWN0aWNlIHRoZXJlIHdvdWxkIGJlDQo+PiBubyBtb3JlIHBlbmRpbmcgbm90aWZpY2F0aW9uIGlm
IFNQIGFuZCBTUE0gZmxhZ3MgYXJlIHNldCBzbyB0aGUgcmVzcG9uc2UgdG8NCj4+IG5vdGlmaWNh
dGlvbl9pbmZvX2dldCB3b3VsZCB3cm9uZ2x5IHNheSB0aGVyZSBpcyBzb21ldGhpbmcgcGVuZGlu
Zy4NCj4+IA0KPj4gSSBhbSBub3QgY29tcGxldGVseSBzdXJlIGhvdyB0aGlzIGNvdWxkIGJlIGhh
bmRsZWQgaWYgYm90aCBTUCBhbmQgU1BNIGFyZQ0KPj4gbm90IHNldCBzbyBpIHdvdWxkIHNheSBm
b3Igbm93IHdlIHNob3VsZCBhdCBsZWFzdCBwdXQgYSBjb21tZW50IGluIGluZm9fZ2V0DQo+PiB0
byBrZWVwIGEgbm90ZSBvZiB0aGlzIGZhY3QuDQo+PiBEbyB5b3UgYWdyZWUgPw0KPiANCj4gR29v
ZCBwb2ludC4gSSdsbCBhZGQgYSBjb21tZW50IGFuZCBjbGVhciBzZWN1cmVfcGVuZGluZy4NCj4g
DQo+PiANCj4+PiArDQo+Pj4gKyAgICBmZmFfc2V0X3JlZ3MocmVncywgRkZBX1NVQ0NFU1NfMzIs
IDAsIHcyLCB3MywgdzQsIHc1LCB3NiwgdzcpOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtpbnQgZmZh
X2hhbmRsZV9ub3RpZmljYXRpb25fc2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4+
ICt7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4+ICsg
ICAgdWludDMyX3Qgc3JjX2RzdCA9IGdldF91c2VyX3JlZyhyZWdzLCAxKTsNCj4+PiArICAgIHVp
bnQzMl90IGZsYWdzID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDIpOw0KPj4+ICsgICAgdWludDMyX3Qg
Yml0bWFwX2xvID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpOw0KPj4+ICsgICAgdWludDMyX3QgYml0
bWFwX2hpID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDQpOw0KPj4+ICsNCj4+PiArICAgIGlmICggIW5v
dGlmX2VuYWJsZWQgKQ0KPj4+ICsgICAgICAgIHJldHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7
DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCAoc3JjX2RzdCA+PiAxNikgIT0gZmZhX2dldF92bV9pZChk
KSApDQo+Pj4gKyAgICAgICAgcmV0dXJuIEZGQV9SRVRfSU5WQUxJRF9QQVJBTUVURVJTOw0KPj4+
ICsNCj4+PiArICAgIC8qIExldCB0aGUgU1BNQyBjaGVjayB0aGUgZGVzdGluYXRpb24gb2YgdGhl
IG5vdGlmaWNhdGlvbiAqLw0KPj4+ICsgICAgcmV0dXJuIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9U
SUZJQ0FUSU9OX1NFVCwgc3JjX2RzdCwgZmxhZ3MsIGJpdG1hcF9sbywNCj4+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYml0bWFwX2hpKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArLyoNCj4+
PiArICogRXh0cmFjdCBhIDE2LWJpdCBJRCAoaW5kZXggbikgZnJvbSB0aGUgc3VjY2Vzc2Z1bCBy
ZXR1cm4gdmFsdWUgZnJvbQ0KPj4+ICsgKiBGRkFfTk9USUZJQ0FUSU9OX0lORk9fR0VUXzY0IG9y
IEZGQV9OT1RJRklDQVRJT05fSU5GT19HRVRfMzIuIElEcyBhcmUNCj4+PiArICogcmV0dXJuZWQg
aW4gcmVnaXN0ZXJzIDMgdG8gNyB3aXRoIGZvdXIgSURzIHBlciByZWdpc3RlciBmb3IgNjQtYml0
DQo+Pj4gKyAqIGNhbGxpbmcgY29udmVudGlvbiBhbmQgdHdvIElEcyBwZXIgcmVnaXN0ZXIgZm9y
IDMyLWJpdCBjYWxsaW5nDQo+Pj4gKyAqIGNvbnZlbnRpb24uDQo+Pj4gKyAqLw0KPj4+ICtzdGF0
aWMgdWludDE2X3QgZ2V0X2lkX2Zyb21fcmVzcChzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzICpy
ZXNwLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg
bikNCj4+PiArew0KPj4+ICsgICAgdW5zaWduZWQgaW50IGlkc19wZXJfcmVnOw0KPj4+ICsgICAg
dW5zaWduZWQgaW50IHJlZ19pZHg7DQo+Pj4gKyAgICB1bnNpZ25lZCBpbnQgcmVnX3NoaWZ0Ow0K
Pj4+ICsNCj4+PiArICAgIGlmICggc21jY2NfaXNfY29udl82NChyZXNwLT5hMCkgKQ0KPj4+ICsg
ICAgICAgIGlkc19wZXJfcmVnID0gNDsNCj4+PiArICAgIGVsc2UNCj4+PiArICAgICAgICBpZHNf
cGVyX3JlZyA9IDI7DQo+Pj4gKw0KPj4+ICsgICAgcmVnX2lkeCA9IG4gLyBpZHNfcGVyX3JlZyAr
IDM7DQo+Pj4gKyAgICByZWdfc2hpZnQgPSAoIG4gJSBpZHNfcGVyX3JlZyApICogMTY7DQo+Pj4g
Kw0KPj4+ICsgICAgc3dpdGNoICggcmVnX2lkeCApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICBjYXNl
IDM6DQo+Pj4gKyAgICAgICAgcmV0dXJuIHJlc3AtPmEzID4+IHJlZ19zaGlmdDsNCj4+PiArICAg
IGNhc2UgNDoNCj4+PiArICAgICAgICByZXR1cm4gcmVzcC0+YTQgPj4gcmVnX3NoaWZ0Ow0KPj4+
ICsgICAgY2FzZSA1Og0KPj4+ICsgICAgICAgIHJldHVybiByZXNwLT5hNSA+PiByZWdfc2hpZnQ7
DQo+Pj4gKyAgICBjYXNlIDY6DQo+Pj4gKyAgICAgICAgcmV0dXJuIHJlc3AtPmE2ID4+IHJlZ19z
aGlmdDsNCj4+PiArICAgIGNhc2UgNzoNCj4+PiArICAgICAgICByZXR1cm4gcmVzcC0+YTcgPj4g
cmVnX3NoaWZ0Ow0KPj4+ICsgICAgZGVmYXVsdDoNCj4+PiArICAgICAgICBBU1NFUlQoMCk7IC8q
ICJDYW4ndCBoYXBwZW4iICovDQo+Pj4gKyAgICAgICAgcmV0dXJuIDA7DQo+Pj4gKyAgICB9DQo+
Pj4gK30NCj4+PiArDQo+Pj4gK3N0YXRpYyB2b2lkIG5vdGlmX2lycV9oYW5kbGVyKGludCBpcnEs
IHZvaWQgKmRhdGEpDQo+Pj4gK3sNCj4+PiArICAgIGNvbnN0IHN0cnVjdCBhcm1fc21jY2NfMV8y
X3JlZ3MgYXJnID0gew0KPj4+ICsgICAgICAgIC5hMCA9IEZGQV9OT1RJRklDQVRJT05fSU5GT19H
RVRfNjQsDQo+Pj4gKyAgICB9Ow0KPj4+ICsgICAgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncyBy
ZXNwOw0KPj4+ICsgICAgdW5zaWduZWQgaW50IGlkX3BvczsNCj4+PiArICAgIHVuc2lnbmVkIGlu
dCBsaXN0X2NvdW50Ow0KPj4+ICsgICAgdWludDY0X3QgaWRzX2NvdW50Ow0KPj4+ICsgICAgdW5z
aWduZWQgaW50IG47DQo+Pj4gKyAgICBpbnQzMl90IHJlczsNCj4+PiArDQo+Pj4gKyAgICBkbyB7
DQo+Pj4gKyAgICAgICAgYXJtX3NtY2NjXzFfMl9zbWMoJmFyZywgJnJlc3ApOw0KPj4+ICsgICAg
ICAgIHJlcyA9IGZmYV9nZXRfcmV0X2NvZGUoJnJlc3ApOw0KPj4+ICsgICAgICAgIGlmICggcmVz
ICkNCj4+PiArICAgICAgICB7DQo+Pj4gKyAgICAgICAgICAgIGlmICggcmVzICE9IEZGQV9SRVRf
Tk9fREFUQSApDQo+Pj4gKyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiZmZhOiBu
b3RpZmljYXRpb24gaW5mbyBnZXQgZmFpbGVkOiBlcnJvciAlZFxuIiwNCj4+PiArICAgICAgICAg
ICAgICAgICAgICAgICByZXMpOw0KPj4+ICsgICAgICAgICAgICByZXR1cm47DQo+Pj4gKyAgICAg
ICAgfQ0KPj4+ICsNCj4+PiArICAgICAgICBpZHNfY291bnQgPSByZXNwLmEyID4+IEZGQV9OT1RJ
Rl9JTkZPX0dFVF9JRF9MSVNUX1NISUZUOw0KPj4+ICsgICAgICAgIGxpc3RfY291bnQgPSAoIHJl
c3AuYTIgPj4gRkZBX05PVElGX0lORk9fR0VUX0lEX0NPVU5UX1NISUZUICkgJg0KPj4+ICsgICAg
ICAgICAgICAgICAgICAgICBGRkFfTk9USUZfSU5GT19HRVRfSURfQ09VTlRfTUFTSzsNCj4+PiAr
DQo+Pj4gKyAgICAgICAgaWRfcG9zID0gMDsNCj4+PiArICAgICAgICBmb3IgKCBuID0gMDsgbiA8
IGxpc3RfY291bnQ7IG4rKyApDQo+Pj4gKyAgICAgICAgew0KPj4+ICsgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgY291bnQgPSAoKGlkc19jb3VudCA+PiAyICogbikgJiAweDMpICsgMTsNCj4+PiAr
ICAgICAgICAgICAgc3RydWN0IGRvbWFpbiAqZDsNCj4+PiArDQo+PiANCj4+IElmIGEgbm90aWZp
Y2F0aW9uIGlzIHBlbmRpbmcgZm9yIGEgc2VjdXJlIHBhcnRpdGlvbiBhdCB0aGlzIHN0YWdlIHdl
IGFyZSBub3QNCj4+IHNpZ25hbGluZyBhbnl0aGluZyBzbyBJIHRoaW5rIHRoaXMgZmFjdCBzaG91
bGQgYmUgbGlzdGVkIGluIHRoZSBsaW1pdGF0aW9ucyB0bw0KPj4gc2F5IHRoYXQgd2UgZG8gbm90
IHNpZ25hbCBhbnkgc2Vjb25kYXJ5IHNjaGVkdWxlciBpZiBhIG5vdGlmaWNhdGlvbiBpcw0KPj4g
cGVuZGluZyBmb3IgYSBzZWN1cmUgcGFydGl0aW9uLg0KPiANCj4gSSBhZ3JlZSwgSSdsbCBhZGQg
YSBub3RlIGluIHRoZSBsaW1pdGF0aW9uLg0KPiANCj4+IA0KPj4+ICsgICAgICAgICAgICBkID0g
ZmZhX2dldF9kb21haW5fYnlfdm1faWQoZ2V0X2lkX2Zyb21fcmVzcCgmcmVzcCwgaWRfcG9zKSk7
DQo+Pj4gKw0KPj4+ICsgICAgICAgICAgICBpZiAoIGQgKQ0KPj4+ICsgICAgICAgICAgICB7DQo+
Pj4gKyAgICAgICAgICAgICAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0gZC0+YXJjaC50ZWU7DQo+
Pj4gKw0KPj4+ICsgICAgICAgICAgICAgICAgc3Bpbl9sb2NrKCZjdHgtPm5vdGlmLmxvY2spOw0K
Pj4+ICsgICAgICAgICAgICAgICAgY3R4LT5ub3RpZi5zZWN1cmVfcGVuZGluZyA9IHRydWU7DQo+
Pj4gKyAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmY3R4LT5ub3RpZi5sb2NrKTsNCj4+PiAr
DQo+Pj4gKyAgICAgICAgICAgICAgICAvKg0KPj4+ICsgICAgICAgICAgICAgICAgICogU2luY2Ug
d2UncmUgb25seSBkZWxpdmVyaW5nIGdsb2JhbCBub3RpZmljYXRpb24sIGFsd2F5cw0KPj4+ICsg
ICAgICAgICAgICAgICAgICogZGVsaXZlciB0byB0aGUgZmlyc3QgdkNQVS4gSXQgZG9lc24ndCBt
YXR0ZXIgd2hpY2ggd2UNCj4+PiArICAgICAgICAgICAgICAgICAqIGNob3NlLCBhcyBsb25nIGFz
IGl0J3MgYXZhaWxhYmxlLg0KPj4+ICsgICAgICAgICAgICAgICAgICovDQo+Pj4gKyAgICAgICAg
ICAgICAgICB2Z2ljX2luamVjdF9pcnEoZCwgZC0+dmNwdVswXSwgR1VFU1RfRkZBX05PVElGX1BF
TkRfSU5UUl9JRCwNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsN
Cj4+PiArDQo+Pj4gKyAgICAgICAgICAgICAgICBwdXRfZG9tYWluKGQpOw0KPj4+ICsgICAgICAg
ICAgICB9DQo+Pj4gKw0KPj4+ICsgICAgICAgICAgICBpZF9wb3MgKz0gY291bnQ7DQo+Pj4gKyAg
ICAgICAgfQ0KPj4+ICsNCj4+PiArICAgIH0gd2hpbGUgKHJlc3AuYTIgJiBGRkFfTk9USUZfSU5G
T19HRVRfTU9SRV9GTEFHKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIGludDMyX3QgZmZh
X25vdGlmaWNhdGlvbl9iaXRtYXBfY3JlYXRlKHVpbnQxNl90IHZtX2lkLA0KPj4+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmNwdV9jb3Vu
dCkNCj4+PiArew0KPj4+ICsgICAgcmV0dXJuIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9USUZJQ0FU
SU9OX0JJVE1BUF9DUkVBVEUsIHZtX2lkLCB2Y3B1X2NvdW50LA0KPj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAwLCAwKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIGludDMyX3Qg
ZmZhX25vdGlmaWNhdGlvbl9iaXRtYXBfZGVzdHJveSh1aW50MTZfdCB2bV9pZCkNCj4+PiArew0K
Pj4+ICsgICAgcmV0dXJuIGZmYV9zaW1wbGVfY2FsbChGRkFfTk9USUZJQ0FUSU9OX0JJVE1BUF9E
RVNUUk9ZLCB2bV9pZCwgMCwgMCwgMCk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3N0cnVjdCBub3Rp
Zl9pcnFfaW5mbyB7DQo+Pj4gKyAgICB1bnNpZ25lZCBpbnQgaXJxOw0KPj4+ICsgICAgaW50IHJl
dDsNCj4+PiArICAgIHN0cnVjdCBpcnFhY3Rpb24gKmFjdGlvbjsNCj4+PiArfTsNCj4+PiArDQo+
Pj4gK3N0YXRpYyB2b2lkIG5vdGlmX2lycV9lbmFibGUodm9pZCAqaW5mbykNCj4+PiArew0KPj4+
ICsgICAgc3RydWN0IG5vdGlmX2lycV9pbmZvICppcnFfaW5mbyA9IGluZm87DQo+Pj4gKw0KPj4+
ICsgICAgaXJxX2luZm8tPnJldCA9IHNldHVwX2lycShpcnFfaW5mby0+aXJxLCAwLCBpcnFfaW5m
by0+YWN0aW9uKTsNCj4+PiArICAgIGlmICggaXJxX2luZm8tPnJldCApDQo+Pj4gKyAgICAgICAg
cHJpbnRrKFhFTkxPR19FUlIgImZmYTogcmVxdWVzdF9pcnEgaXJxICV1IGZhaWxlZDogZXJyb3Ig
JWRcbiIsDQo+Pj4gKyAgICAgICAgICAgICAgIGlycV9pbmZvLT5pcnEsIGlycV9pbmZvLT5yZXQp
Ow0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkIGZmYV9ub3RpZl9pbml0KHZvaWQpDQo+Pj4gK3sN
Cj4+PiArICAgIGNvbnN0IHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgYXJnID0gew0KPj4+ICsg
ICAgICAgIC5hMCA9IEZGQV9GRUFUVVJFUywNCj4+PiArICAgICAgICAuYTEgPSBGRkFfRkVBVFVS
RV9TQ0hFRFVMRV9SRUNWX0lOVFIsDQo+Pj4gKyAgICB9Ow0KPj4+ICsgICAgc3RydWN0IG5vdGlm
X2lycV9pbmZvIGlycV9pbmZvID0geyB9Ow0KPj4+ICsgICAgc3RydWN0IGFybV9zbWNjY18xXzJf
cmVncyByZXNwOw0KPj4+ICsgICAgdW5zaWduZWQgaW50IGNwdTsNCj4+PiArDQo+Pj4gKyAgICBh
cm1fc21jY2NfMV8yX3NtYygmYXJnLCAmcmVzcCk7DQo+Pj4gKyAgICBpZiAoIHJlc3AuYTAgIT0g
RkZBX1NVQ0NFU1NfMzIgKQ0KPj4+ICsgICAgICAgIHJldHVybjsNCj4+PiArDQo+Pj4gKyAgICBp
cnFfaW5mby5pcnEgPSByZXNwLmEyOw0KPj4+ICsgICAgaWYgKCBpcnFfaW5mby5pcnEgPCBHSUNf
U0dJX1NUQVRJQ19NQVggfHwgaXJxX2luZm8uaXJxID49IE5SX0dJQ19TR0kgKQ0KPj4+ICsgICAg
ew0KPj4+ICsgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJmZmE6IG5vdGlmaWNhdGlvbiBpbml0
aWFsaXphdGlvbiBmYWlsZWQ6IGNvbmZsaWN0aW5nIFNHSSAldVxuIiwNCj4+PiArICAgICAgICAg
ICAgICAgaXJxX2luZm8uaXJxKTsNCj4+PiArICAgICAgICByZXR1cm47DQo+Pj4gKyAgICB9DQo+
Pj4gKw0KPj4+ICsgICAgLyoNCj4+PiArICAgICAqIFNHSXMgYXJlIHBlci1DUFUgc28gd2UgbXVz
dCBlbmFibGUgdGhlIElSUSBvbiBlYWNoIENQVS4gV2UgdXNlIGFuDQo+Pj4gKyAgICAgKiBJUEkg
dG8gY2FsbCBub3RpZl9pcnFfZW5hYmxlKCkgb24gZWFjaCBDUFUgaW5jbHVkaW5nIHRoZSBjdXJy
ZW50DQo+Pj4gKyAgICAgKiBDUFUuIFRoZSBzdHJ1Y3QgaXJxYWN0aW9uIGlzIHByZWFsbG9jYXRl
ZCBzaW5jZSB3ZSBjYW4ndCBhbGxvY2F0ZQ0KPj4+ICsgICAgICogbWVtb3J5IHdoaWxlIGluIGlu
dGVycnVwdCBjb250ZXh0Lg0KPj4+ICsgICAgICovDQo+Pj4gKyAgICBmb3JfZWFjaF9vbmxpbmVf
Y3B1KGNwdSkNCj4+PiArICAgIHsNCj4+PiArICAgICAgICBpcnFfaW5mby5hY3Rpb24gPSB4bWFs
bG9jKHN0cnVjdCBpcnFhY3Rpb24pOw0KPj4gDQo+PiBZb3UgYWxsb2NhdGUgb25lIGFjdGlvbiBw
ZXIgY3B1IGJ1dCB5b3UgaGF2ZSBvbmx5IG9uZSBhY3Rpb24gcG9pbnRlciBpbiB5b3VyIHN0cnVj
dHVyZQ0KPj4gd2hpY2ggbWVhbnMgeW91IHdpbGwgb3ZlcmxvYWQgdGhlIHByZXZpb3VzbHkgYWxs
b2NhdGVkIG9uZSBhbmQgbG9zZSB0cmFjay4NCj4+IA0KPj4gWW91IHNob3VsZCBoYXZlIGEgdGFi
bGUgb2YgYWN0aW9ucyBpbiB5b3VyIHN0cnVjdHVyZSBpbnN0ZWFkIHVubGVzcyBvbmUgYWN0aW9u
IGlzDQo+PiBlbm91Z2ggYW5kIGNhbiBiZSByZXVzZWQgb24gYWxsIGNwdXMgYW5kIGluIHRoaXMg
Y2FzZSB5b3Ugc2hvdWxkIG1vdmUgb3V0IG9mDQo+PiB5b3VyIGxvb3AgdGhlIGFsbG9jYXRpb24g
cGFydC4NCj4gDQo+IFRoYXQgc2hvdWxkbid0IGJlIG5lZWRlZCBiZWNhdXNlIHRoaXMgaXMgZG9u
ZSBpbiBzZXF1ZW5jZSBvbmx5IG9uZSBDUFUNCj4gYXQgYSB0aW1lLg0KDQpTb3JyeSBpIGRvIG5v
dCB1bmRlcnN0YW5kIGhlcmUuDQpZb3UgaGF2ZSBhIGxvb3Agb3ZlciBlYWNoIG9ubGluZSBjcHUg
YW5kIG9uIGVhY2ggbG9vcCB5b3UgYXJlIGFzc2lnbmluZw0KaXJxX2luZm8uYWN0aW9uIHdpdGgg
YSBuZXdseSBhbGxvY2F0ZWQgc3RydWN0IGlycWFjdGlvbiBzbyB5b3UgYXJlIGluIHByYWN0aWNl
DQpvdmVybG9hZGluZyBvbiBjcHUgMiB0aGUgYWN0aW9uIHRoYXQgd2FzIGFsbG9jYXRlZCBmb3Ig
Y3B1IDEuDQoNCldoYXQgZG8geW91IG1lYW4gYnkgc2VxdWVuY2UgaGVyZSA/DQoNCkNoZWVycw0K
QmVydHJhbmQNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:32:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712760.1113577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KkU-0003fc-F7; Fri, 26 Apr 2024 12:32:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712760.1113577; Fri, 26 Apr 2024 12:32:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KkU-0003fV-CX; Fri, 26 Apr 2024 12:32:18 +0000
Received: by outflank-mailman (input) for mailman id 712760;
 Fri, 26 Apr 2024 12: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=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0KkT-0003fP-Kw
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:32:17 +0000
Received: from mail-ot1-x32f.google.com (mail-ot1-x32f.google.com
 [2607:f8b0:4864:20::32f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03231615-03c9-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 14:32:15 +0200 (CEST)
Received: by mail-ot1-x32f.google.com with SMTP id
 46e09a7af769-6ea2436de79so1089944a34.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 05:32: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: 03231615-03c9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714134734; x=1714739534; 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=o1QetCPp9ikJfkn1ZPBghUc/DQ/UVrEXssGiZ0sqglU=;
        b=bWhw4DWGDFGmfjJO95/anR9oLYqf6O620S0gDKSUxLzj90iYpAGnm+w/r/HLt3arUC
         9/pIj4F/F7v3AkREl+RolpuKADVxK1HXpooKa27zMYzS0UCm1Ngx6JUEZmCGXtcGyeDB
         7IB9xHEJiUuvB61YY1Sb38CTL2uVrKqWuquZCWMxZ3qiCn6HHtvQWneWJQAgAGTWUDot
         Y1CIrBvTIHGeBLrI1v4Kca/5pyOtpv9AnmsbaU8fwlrG3lN6TumUF8xcL3sE8mQYjY/K
         jk9008HVPfQOt0I6HKKZZ7TphAIj/NnCmX0YKEItVOw4d+1b2YkgPrq7y1W5luX/Jnks
         b6iw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714134734; x=1714739534;
        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=o1QetCPp9ikJfkn1ZPBghUc/DQ/UVrEXssGiZ0sqglU=;
        b=kVvWZIWbJuxxPDW5rBa3OCt0LspogK6O9dZjBOn6TZ1Vf9VNU0qMhb8JS52q+2Mrb/
         SaSVmsnZsZdOb2WEBaL2+YCHWrU1KRSAAs9YGqMJNt+eS44ipqdZbHfcAiKtXJwIvfio
         UH/hHotq2YxsBrjXy94QffsByFu0uMW8BCKw8UHJvOBPkl+PFKxjSF7SjluYw0QtI0iJ
         j1hklEYhFLP0aYbkO4OccHDLJLwmLfvrEglPG3NXjJIegMXC/79Uo3st4WlYRWJ8knFn
         bBvd297FXnG73Nt8KTVUuEoQOy2H9RqtmmJgd5l0LxJIQikQ2UVr/DzP+UNxtXWb/qWb
         NODw==
X-Gm-Message-State: AOJu0YzoSKZmAc0ak5c5NIICvRM9ZZ3uxiE7L913HdEtiLvGKUz5b0EQ
	/nxv5cIsdurkugcsWtSOoIuPycAEr+WjMYlR8pP/0M9JjkXWS8qAPG797WpHUDJAnWE9p1K1N9G
	9DX4d6/mZfHO2WD+ItukvSVjvzRlBPxojyFTuhw==
X-Google-Smtp-Source: AGHT+IH7RFi/3ghPY9kMWajdXO0u9pz+Oz4GZGzS8jYK0zywJuKCV9V04OcwVbI8ZYvG+0d1s/pKjsqKzPnUmvRNq68=
X-Received: by 2002:a05:6870:b003:b0:22e:d2b2:25fe with SMTP id
 y3-20020a056870b00300b0022ed2b225femr2386075oae.1.1714134734080; Fri, 26 Apr
 2024 05:32:14 -0700 (PDT)
MIME-Version: 1.0
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org> <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
 <CAHUa44ETaCY2pbUjMOW5T2NSpmRCq3sWMjLUbK0DC2jpQxHJRQ@mail.gmail.com> <3A576E95-454B-4C66-A164-A2871DB4E2B2@arm.com>
In-Reply-To: <3A576E95-454B-4C66-A164-A2871DB4E2B2@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 26 Apr 2024 14:32:02 +0200
Message-ID: <CAHUa44EC_H7Q_A2M63dZnEGGNanyjGM6m2MuBg4_6BNEO-XDKA@mail.gmail.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Fri, Apr 26, 2024 at 2:19=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 26 Apr 2024, at 14:11, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Hi Bertrand,
> >
> > On Fri, Apr 26, 2024 at 11:20=E2=80=AFAM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 26 Apr 2024, at 10:47, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
> >>>
[...]
> >>> +struct notif_irq_info {
> >>> +    unsigned int irq;
> >>> +    int ret;
> >>> +    struct irqaction *action;
> >>> +};
> >>> +
> >>> +static void notif_irq_enable(void *info)
> >>> +{
> >>> +    struct notif_irq_info *irq_info =3D info;
> >>> +
> >>> +    irq_info->ret =3D setup_irq(irq_info->irq, 0, irq_info->action);
> >>> +    if ( irq_info->ret )
> >>> +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\=
n",
> >>> +               irq_info->irq, irq_info->ret);
> >>> +}
> >>> +
> >>> +void ffa_notif_init(void)
> >>> +{
> >>> +    const struct arm_smccc_1_2_regs arg =3D {
> >>> +        .a0 =3D FFA_FEATURES,
> >>> +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> >>> +    };
> >>> +    struct notif_irq_info irq_info =3D { };
> >>> +    struct arm_smccc_1_2_regs resp;
> >>> +    unsigned int cpu;
> >>> +
> >>> +    arm_smccc_1_2_smc(&arg, &resp);
> >>> +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> >>> +        return;
> >>> +
> >>> +    irq_info.irq =3D resp.a2;
> >>> +    if ( irq_info.irq < GIC_SGI_STATIC_MAX || irq_info.irq >=3D NR_G=
IC_SGI )
> >>> +    {
> >>> +        printk(XENLOG_ERR "ffa: notification initialization failed: =
conflicting SGI %u\n",
> >>> +               irq_info.irq);
> >>> +        return;
> >>> +    }
> >>> +
> >>> +    /*
> >>> +     * SGIs are per-CPU so we must enable the IRQ on each CPU. We us=
e an
> >>> +     * IPI to call notif_irq_enable() on each CPU including the curr=
ent
> >>> +     * CPU. The struct irqaction is preallocated since we can't allo=
cate
> >>> +     * memory while in interrupt context.
> >>> +     */
> >>> +    for_each_online_cpu(cpu)
> >>> +    {
> >>> +        irq_info.action =3D xmalloc(struct irqaction);
> >>
> >> You allocate one action per cpu but you have only one action pointer i=
n your structure
> >> which means you will overload the previously allocated one and lose tr=
ack.
> >>
> >> You should have a table of actions in your structure instead unless on=
e action is
> >> enough and can be reused on all cpus and in this case you should move =
out of
> >> your loop the allocation part.
> >
> > That shouldn't be needed because this is done in sequence only one CPU
> > at a time.
>
> Sorry i do not understand here.
> You have a loop over each online cpu and on each loop you are assigning
> irq_info.action with a newly allocated struct irqaction so you are in pra=
ctice
> overloading on cpu 2 the action that was allocated for cpu 1.
>
> What do you mean by sequence here ?
>

My understanding is that for_each_online_cpu(cpu) loops over each cpu,
one at a time. The call
on_selected_cpus(cpumask_of(cpu), notif_irq_enable, &irq_info, 1);
returns after notif_irq_enable() has returned on the CPU in question
thanks to the "1" (wait) parameter. So once it has returned &irq_info
isn't used by the other CPU any longer and we can assign a new value
to irq_info.action.

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:32:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:32:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712762.1113587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Kl1-00046H-OY; Fri, 26 Apr 2024 12:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712762.1113587; Fri, 26 Apr 2024 12:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Kl1-00046A-Ko; Fri, 26 Apr 2024 12:32:51 +0000
Received: by outflank-mailman (input) for mailman id 712762;
 Fri, 26 Apr 2024 12:32:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lj3M=L7=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s0Kl0-00045u-06
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:32:50 +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 1767ca0b-03c9-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 14:32:48 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-572229f196bso2607108a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 05:32: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
 16-20020a170906319000b00a5544063372sm10574896ejy.162.2024.04.26.05.32.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 05:32: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: 1767ca0b-03c9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714134768; x=1714739568; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mjfQilT6ESuU80FQRco/TRep7F2BwjAaQhB4SaPyup4=;
        b=I4ziyxvH0oOfqpoNDodLo+ci3MGrxVKN69rnGvxCWfEqvniGa8ZTdRi1y5D1Ie/a5G
         zxU4cdSTnM5JTsMMto1HBSpmAC4ymGqgxwOFFOfW/AOx6mOC4slyEGp2ID0ikhWpGOaU
         bt2X86S6GLZfqUGvOqLbWkGRfeRjd3EkbUAFhwg2sBSjJb5FbbsEW4aIhTPM30ASHthp
         stpPda1b6Mk0H6fhXFxgiMMGbLP26vkwalsy8YeWgaYMtmoEusFzkoJvARwS0UblffCS
         qGNadTW1EcK6c5UmMsbTzQAwZQISaqhxRUfHL36UMKLQOcfeDVwYH0ArgUhlwpfXSv3z
         2vBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714134768; x=1714739568;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mjfQilT6ESuU80FQRco/TRep7F2BwjAaQhB4SaPyup4=;
        b=T8OHFSG1tLKzBKAgLAR0vlFRY6At5E2NlxkZghwaPBIGc2RvcsU/BadQb/wooKQGwq
         NoeuNvtAogOIZeG7JNlTd7d4ZDYpc/CXcOKhbkRKJsvCv4LtZju3yC0ZtMm1WawY6Le7
         +Clu2Q/4ysQ/VCb3jFJs1/NTPJRn5rv7Vl82QBGr1n71N0DgAV/ZURyx2dnPtIEnforq
         NkIPOAbfLcH1FSaygsYlOfJnOox8NfkVaxEmShQEm8CpFLXiUPskg53oRdgFAy/9tIdj
         1MJYB3NIitCSPe/EtIX8nTZ/UtFM8WVsjXiV7p3XCnGkjsCNWwkkG88shO2CE65nNLsr
         Wjow==
X-Forwarded-Encrypted: i=1; AJvYcCVHKYsYRFF0zULzQlydEkHCzIhniQT/9Nt0kBrbfpxAg55ELP1f7Lg9zrj60NEx400y7s0B8YtkETLASJmq9nMhegeACso6SDoPysmYg+k=
X-Gm-Message-State: AOJu0Yw7pvrkgi9e31VzXxfKADyUSsWF5r3JRo6fZ6sNdTTPiEOZ9Q9l
	XAiMn0Y04ZXhoaAEeQ4R0neX5OZQKMaZ9twDxKtVsWp7cG0gvJSoWfsZIJDsgA==
X-Google-Smtp-Source: AGHT+IE8FVL0rn1RafIM0LgDvX9yHWanV17Nw3bHP+SSYhPEDslnCL+LYezHYU3a/G0PSOYmh0VLIA==
X-Received: by 2002:a17:906:3e0c:b0:a55:6407:c0c7 with SMTP id k12-20020a1709063e0c00b00a556407c0c7mr1583682eji.17.1714134768344;
        Fri, 26 Apr 2024 05:32:48 -0700 (PDT)
Message-ID: <045f4fa3-cd1b-441d-9246-0c1528679cac@suse.com>
Date: Fri, 26 Apr 2024 14:32:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 03/17] xen/bitops: implement fls{l}() in common logic
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <60bc710b990ed1d45741888df7e97cf25d150e61.1713347222.git.oleksii.kurochko@gmail.com>
 <a6245e9e-a156-4b17-8695-e072915fe78b@suse.com>
 <fb1a228b1bd58d17d7836c3413d3b0a8a9602978.camel@gmail.com>
 <d1f546dc-35bd-47f9-89be-582660d23ec1@suse.com>
 <17f0b05b2f2da1b13e8ca3ab4e20b210aa0f8480.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <17f0b05b2f2da1b13e8ca3ab4e20b210aa0f8480.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 14:09, Oleksii wrote:
> On Fri, 2024-04-26 at 12:51 +0200, Jan Beulich wrote:
>> On 26.04.2024 10:21, Oleksii wrote:
>>> On Thu, 2024-04-25 at 17:44 +0200, Jan Beulich wrote:
>>>> On 17.04.2024 12:04, Oleksii Kurochko wrote:
>>>>> Return type was left 'int' because of the following compilation
>>>>> error:
>>>>>
>>>>> ./include/xen/kernel.h:18:21: error: comparison of distinct
>>>>> pointer
>>>>> types lacks a cast [-Werror]
>>>>>        18 |         (void) (&_x == &_y);            \
>>>>>           |                     ^~
>>>>>     common/page_alloc.c:1843:34: note: in expansion of macro
>>>>> 'min'
>>>>>      1843 |         unsigned int inc_order = min(MAX_ORDER,
>>>>> flsl(e
>>>>> - s) - 1);
>>>>
>>>> Apart from this I'm okay with this patch, assuming Andrew's won't
>>>> change in
>>>> any conflicting way. As to the above - no, I don't see us having
>>>> ffs() / ffsl()
>>>> returning unsigned int, fls() / flsl() returning plain int. Even
>>>> more
>>>> so that,
>>>> given the LHS variable's type, an unsigned quantity is really
>>>> meant
>>>> in the
>>>> quoted code.
>>> If I understand you correctly, it's acceptable for fls() / flsl()
>>> to
>>> return 'int'. Therefore, I can update the commit message by
>>> removing
>>> the part mentioning the compilation error, as it's expected for
>>> fls() /
>>> flsl() to return 'int'. Is my understanding correct?
>>
>> No. I firmly object to ffs() and fls() being different in their
>> return
>> types. I'm sorry, I realize now that my earlier wording was ambiguous
>> (at least missing "but" after the comma).
> Thanks for clarifying.
> 
> I can change return type of fls() / flsl() to 'unsingned int' to be the
> same as return type of ffs() / ffsl(), but then it will be needed to
> add a cast in two places:

Except that no, it doesn't really need casts there.

>    --- a/xen/common/page_alloc.c
>    +++ b/xen/common/page_alloc.c
>    @@ -1842,7 +1842,7 @@ static void _init_heap_pages(const struct
>    page_info *pg,
>              * Note that the value of ffsl() and flsl() starts from 1
>    so we need
>              * to decrement it by 1.
>              */
>    -        unsigned int inc_order = min(MAX_ORDER, flsl(e - s) - 1);
>    +        unsigned int inc_order = min((unsigned int)MAX_ORDER,
>    flsl(e - s) - 1);

The preferred course of action would want to be to simply make MAX_ORDER
expand to an unsigned constant. Depending on the amount of fallout, an
alternative would be to use _AC(MAX_ORDER, U) here. Yet another
alternative would be to use MAX_ORDER + 0U here, as iirc we do in a few
other places, for similar purposes.

Avoiding a cast here is not only shorter, but - see statements elsewhere -
generally preferable.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:36:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:36:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712769.1113597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KoR-0005gN-6Z; Fri, 26 Apr 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 712769.1113597; Fri, 26 Apr 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 1s0KoR-0005gG-3a; Fri, 26 Apr 2024 12:36:23 +0000
Received: by outflank-mailman (input) for mailman id 712769;
 Fri, 26 Apr 2024 12:36: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0KoP-0005fr-HD
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:36:21 +0000
Received: from mail-qv1-xf33.google.com (mail-qv1-xf33.google.com
 [2607:f8b0:4864:20::f33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94b496a0-03c9-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 14:36:19 +0200 (CEST)
Received: by mail-qv1-xf33.google.com with SMTP id
 6a1803df08f44-6a073f10e8eso10708276d6.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 05:36:19 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m14-20020a0c9d0e000000b0069b748abd98sm7960422qvf.89.2024.04.26.05.36.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 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: 94b496a0-03c9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714134978; x=1714739778; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LnUWdTSDeOqhdUnrJdKTlMT31A4OExZQ0K9d9ZxfmP4=;
        b=tTKkUsM2VD3PRg4re3BOaL1i/urXudGJNym9OYyyysmZRrd6V2yNwnEZOG+Os7Qk6E
         mYvukTTMrXkXgXcWmTKaXwsf2LppiQda1I6nSPuDVWRqUUWYmuWMaO40m9VKZSYRIwjS
         vLiwZ47Pp1lgBktX23ExFFd+3N/mR/xHto+kQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714134978; x=1714739778;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LnUWdTSDeOqhdUnrJdKTlMT31A4OExZQ0K9d9ZxfmP4=;
        b=P/Yvy0dZUl7l6NsFcOXZCsxIWEDEA4KzDkWam//y4JyNXcGBAYTGxRohX58R16yvnr
         BghNWJNCuBjaoKM5l6g5JupKZD1zQF2QNWvywK+IIxFVy8Ur09YKNCodfpwS7rJFJDxM
         PNpO199kYbefjhNI01Yg5Vdg1D4TPmhI4sW7wMeh2Ey6w/3uhgdEk97IuMtJ/ErAgRrZ
         UOiFyLMxdqPjvvjSsdjcPJQEbSYn7cLrYUKipU+YqeJ9UqtD3w6Wosr4UmTv488f+mIE
         6bFxVDIbzqi7++eTjgzOfl2uLScS/QB/FX3F+xbb02lPrtpsZf7e8runfis6/M9sr+Ni
         skAA==
X-Forwarded-Encrypted: i=1; AJvYcCX6U7lkKf5r2r4N2G990/ibvk8W3MoKJcbAOt3Js6wX8J6NfjZI47hmIJFFePBAxHA7iKAdcrbCyfyMbMeTqU6jRT6A8sDIegS+RWXQH+Q=
X-Gm-Message-State: AOJu0YwFBPPSkL5m6rhjcyDKTlB69AqwaOWthxDFfSgG02eRzNKIx/QL
	uOH5yTsPqXWCerR2SE3PZXPdg+16sLibL3p8Ns23KZU1IOPne6lBRugLQl2iQYk=
X-Google-Smtp-Source: AGHT+IE52NRMJ/mui1CMQ5vMw0QgddS5KRYNw4dsq9ZIsPEq3H/tVPfxvBhpjlwoz6Pv9KahQfEPPA==
X-Received: by 2002:a05:6214:1312:b0:69b:7af:62e2 with SMTP id pn18-20020a056214131200b0069b07af62e2mr3459929qvb.36.1714134978111;
        Fri, 26 Apr 2024 05:36:18 -0700 (PDT)
Message-ID: <1526fe0f-e937-46be-95f8-61fdc991ff5b@citrix.com>
Date: Fri, 26 Apr 2024 13:36:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/8] gzip: move bitbuffer into gunzip state
To: Jan Beulich <jbeulich@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-8-dpsmith@apertussolutions.com>
 <06b325c3-04a4-4294-85e1-a6d05019e3f0@citrix.com>
 <42614bdf-0aaa-4bbe-aa0f-f9d54c1e10d1@suse.com>
 <a0404716-7611-4b2f-9fd1-c16b109067b5@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: <a0404716-7611-4b2f-9fd1-c16b109067b5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/04/2024 6:57 am, Jan Beulich wrote:
> On 26.04.2024 07:55, Jan Beulich wrote:
>> On 25.04.2024 21:23, Andrew Cooper wrote:
>>> On 24/04/2024 5:34 pm, Daniel P. Smith wrote:
>>>> --- a/xen/common/gzip/inflate.c
>>>> +++ b/xen/common/gzip/inflate.c
>>>> @@ -1017,8 +1014,8 @@ static int __init inflate(struct gunzip_state *s)
>>>>      /* Undo too much lookahead. The next read will be byte aligned so we
>>>>       * can discard unused bits in the last meaningful byte.
>>>>       */
>>>> -    while (bk >= 8) {
>>>> -        bk -= 8;
>>>> +    while (s->bk >= 8) {
>>>> +        s->bk -= 8;
>>>>          s->inptr--;
>>>>      }
>>> Isn't it just me, but isn't this just:
>>>
>>>     s->inptr -= (s->bk >> 3);
>>>     s->bk &= 7;
>>>
>>> ?
>> I'd say yes, if only there wasn't the comment talking of just a single byte,
>> and even there supposedly some of the bits.

The comments in this file leave a lot to be desired...

I'm reasonably confident they were not adjusted when a piece of
userspace code was imported into Linux.

This cannot ever have been just a byte's worth of bits, seeing as the
bit count is from 8 or more.  Right now it's an unsigned long's worth of
bits.
> Talking of the comment: Considering what patch 1 supposedly does, how come
> that isn't Xen-style (yet)?

I had been collecting some minor fixes like this to fold into patch 1
when I committed the whole series.

I'll see if I can fold them elsewhere.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:37:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:37:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712773.1113606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Kps-0006DA-GI; Fri, 26 Apr 2024 12:37:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712773.1113606; Fri, 26 Apr 2024 12:37:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Kps-0006D3-Dc; Fri, 26 Apr 2024 12:37:52 +0000
Received: by outflank-mailman (input) for mailman id 712773;
 Fri, 26 Apr 2024 12:37:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2iYl=L7=daynix.com=akihiko.odaki@srs-se1.protection.inumbo.net>)
 id 1s0Kpq-0006Cx-CK
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:37:50 +0000
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com
 [2607:f8b0:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9d2f56a-03c9-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 14:37:49 +0200 (CEST)
Received: by mail-pl1-x631.google.com with SMTP id
 d9443c01a7336-1e4f341330fso19385705ad.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 05:37:49 -0700 (PDT)
Received: from [157.82.202.162] ([157.82.202.162])
 by smtp.gmail.com with ESMTPSA id
 i12-20020a17090320cc00b001eab1258197sm3094392plb.144.2024.04.26.05.37.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 05:37: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: c9d2f56a-03c9-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=daynix-com.20230601.gappssmtp.com; s=20230601; t=1714135067; x=1714739867; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=84KvDHn/TfmhiUjTSsZnlfjC1UfE24BmSKedho87RP0=;
        b=WFrPJyzQB6lJse6Vz4loG/mPp8IkVE9xdfuvB4Ztpga6UZRkLW98ItB6EkF1AU0fP6
         ckUJW0V8y3W5OZvD52W8uLklkGqFJbEIEVbDI+L/AaMR4Zf4POiyhzQ+kOzyYbasaa+p
         PgDEUlHkasRdFpuOBi0DqjRUET0nora60KO54HFmnWJ4jU7yspAIO5xM33ZY3qw/AtVs
         BjkQj5on8m+1q8IAHapiZj+Eqqh/mrnJ7j6gIfmfUQLkEvDEfat85Eb+OIwsjWALD//w
         hQ9komngOREGu+q+kqjG1znhCvLRW5pkZ0htv7jLgGihg0jG7rnz9ebTRi904vwtX0so
         I9Hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714135067; x=1714739867;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=84KvDHn/TfmhiUjTSsZnlfjC1UfE24BmSKedho87RP0=;
        b=a7tKhg8bgqKpR/ow86Jg0mhQ4L4XnCGkWXakEg/H4BzOvZpUipEjPi61jXDjY9QyV6
         YH/P7kYGJ75KHy1WcO9zLcTrEZ4f4CrFvbHUTCtw2I8bkME0oatEUCVdDSbftTQpw8Np
         480AMk305//0S31oc9nIV4c2SRGsN0MvCO3DqZTw2e2SwxXHVb7ocpYhWPYy4XFJ29HN
         qPwjZ9dWxxJpMjjkdcfOOIVTGc07Dzk5Vu5aNEY2K5zFqbQ6lhzv4r03/TYQA0e/yyiO
         tgbBCb071PpQkX3erW5uXAJR7xiK2LGwqsRno6zjDhoGiLoQXN/8SYtNSbyI0ueuVQfC
         f6gg==
X-Forwarded-Encrypted: i=1; AJvYcCX4K72x+eFduwtKJQMC7v7KoHw2POIntRi6fpt0Fnu7ereNFzWUvdzKwAzx18Q+IllOZo51aHvuTLla2hY2eaDR3vC6wMlL2dPE17dgeS8=
X-Gm-Message-State: AOJu0YwlyCWXvTlaUzl0Tp4cJEzvIw0N/NP9dONrCRA8rX6ZR7cVOLuU
	Tk9kzptOjtDMj2OQn5lcx0d/CjQd0Bn+2CxbAkc7dbkx81xKFDqKhE8PWGKf+go=
X-Google-Smtp-Source: AGHT+IEyT5+5NC0mcxV26KEz5S9fudbXBjcluopxMfaMvGQxS0Dqj/XJD2ZWeXZVN6sWHZa68+NcyA==
X-Received: by 2002:a17:903:11c3:b0:1e5:5bd7:87a4 with SMTP id q3-20020a17090311c300b001e55bd787a4mr2751334plh.16.1714135067327;
        Fri, 26 Apr 2024 05:37:47 -0700 (PDT)
Message-ID: <81397221-8144-47cd-bce9-b3ab7d94c626@daynix.com>
Date: Fri, 26 Apr 2024 21:37:38 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] net: Provide MemReentrancyGuard * to
 qemu_new_nic()
Content-Language: en-US
To: Thomas Huth <th.huth@posteo.de>, Prasad Pandit <pj.pandit@yahoo.in>,
 Mauro Matteo Cascella <mcascell@redhat.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: Alexander Bulekov <alxndr@bu.edu>,
 Dmitry Fleytman <dmitry.fleytman@gmail.com>,
 Beniamino Galvani <b.galvani@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
 Jason Wang <jasowang@redhat.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>, Stefan Weil <sw@weilnetz.de>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>,
 Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Sriram Yagnaraman
 <sriram.yagnaraman@est.tech>, Thomas Huth <huth@tuxfamily.org>,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 Subbaraya Sundeep <sundeep.lkml@gmail.com>, Jan Kiszka <jan.kiszka@web.de>,
 Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>,
 Max Filippov <jcmvbkbc@gmail.com>, Jiri Pirko <jiri@resnulli.us>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Sven Schnelle <svens@stackframe.org>, "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Rob Herring <robh@kernel.org>, Gerd Hoffmann <kraxel@redhat.com>,
 "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 "qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230601031859.7115-1-akihiko.odaki@daynix.com>
 <20230601031859.7115-2-akihiko.odaki@daynix.com>
 <ac66952e-4281-4250-96f4-dc3d5b518d24@linaro.org>
 <1497808863.2030924.1713955286878@mail.yahoo.com>
 <088ec61c-39ab-4b58-a02f-8897a3e7ae68@posteo.de>
From: Akihiko Odaki <akihiko.odaki@daynix.com>
In-Reply-To: <088ec61c-39ab-4b58-a02f-8897a3e7ae68@posteo.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2024/04/24 21:32, Thomas Huth wrote:
> On 24/04/2024 12.41, Prasad Pandit wrote:
>> On Wednesday, 24 April, 2024 at 03:36:01 pm IST, Philippe 
>> Mathieu-Daudé wrote:
>>> On 1/6/23 05:18, Akihiko Odaki wrote:
>>>> Recently MemReentrancyGuard was added to DeviceState to record that the
>>>> device is engaging in I/O. The network device backend needs to 
>>>> update it
>>>> when delivering a packet to a device.
>>>> In preparation for such a change, add MemReentrancyGuard * as a
>>>> parameter of qemu_new_nic().
>>>
>>> An user on IRC asked if this patch is related/fixing CVE-2021-20255,
>>> any clue?
>>
>> * CVE-2021-20255 bug: infinite recursion is pointing at a different 
>> fix patch.
>>    -> https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-20255
>>
>> * And the this patch below has different issue tagged
>>    
>> -> https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg08312.html
>>    Fixes: CVE-2023-3019
>>
>>
>> * They look different, former is an infinite recursion issue and the 
>> latter is a use-after-free one.
> 
> I assume the eepro reentrancy issue has been fixed with:
> 
>   https://gitlab.com/qemu-project/qemu/-/issues/556
>   i.e.:
>   https://gitlab.com/qemu-project/qemu/-/commit/c40ca2301c7603524eaddb5308a3

I agree. Commit c40ca2301c7603524eaddb5308a3 should be what fixed 
CVE-2021-20255, not this patch.

Regards,
Akihiko Odaki


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 12:41:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 12:41:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712780.1113620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KtV-0007lI-4l; Fri, 26 Apr 2024 12:41:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712780.1113620; Fri, 26 Apr 2024 12:41:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0KtV-0007lB-1p; Fri, 26 Apr 2024 12:41:37 +0000
Received: by outflank-mailman (input) for mailman id 712780;
 Fri, 26 Apr 2024 12:41: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=3Jki=L7=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1s0KtU-0007l3-EP
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 12:41:36 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2606::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5131c0fb-03ca-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 14:41:35 +0200 (CEST)
Received: from DU2PR04CA0286.eurprd04.prod.outlook.com (2603:10a6:10:28c::21)
 by GVXPR08MB10573.eurprd08.prod.outlook.com (2603:10a6:150:14b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 12:41:33 +0000
Received: from DU6PEPF00009524.eurprd02.prod.outlook.com
 (2603:10a6:10:28c:cafe::4) by DU2PR04CA0286.outlook.office365.com
 (2603:10a6:10:28c::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22 via Frontend
 Transport; Fri, 26 Apr 2024 12:41:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF00009524.mail.protection.outlook.com (10.167.8.5) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19 via
 Frontend Transport; Fri, 26 Apr 2024 12:41:32 +0000
Received: ("Tessian outbound 9d9bf1c5d85a:v315");
 Fri, 26 Apr 2024 12:41:32 +0000
Received: from b09819178672.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8692D7A5-256F-4914-AF19-BCE20750B3CE.1; 
 Fri, 26 Apr 2024 12:41:25 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b09819178672.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 26 Apr 2024 12:41:25 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DBBPR08MB6297.eurprd08.prod.outlook.com (2603:10a6:10:20b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.23; Fri, 26 Apr
 2024 12:41:21 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7519.021; Fri, 26 Apr 2024
 12:41:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5131c0fb-03ca-11ef-909a-e314d9c70b13
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=bYHAOcoJNZB8umrwsfgLNNllFVjaKyyDn7+IOCpNzwX5aQdQBtE+G+Z26D0wJ0m4m6DtQwgKgVUsD9L7tMitChb/joii8ItaY9moXtWQ6W+bswAachJ2negdH9Ke6UMMY/bHU+knk1MtE9bkIusBS0W1MKWJpejfjSDKyDi8H7CDaR+h0fG0fR31KYXMg+bJ3Ec12TKcTrU46hw/dZ317N2ZRU6qGrnb4Ul5KFcsFEvuNpwmxfpbkYMyy3/rjBuTUAggD3isMDeSRriBdSL3jeZ/ZqN1oPsmoAjKLqtIMBKYluh2UmRF4gvvhwzXoq8acLgl262rZvwIMRBJvQ7LMg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EaBtnMchK3C7ex6X6auTqSqXQHGjBhqn97iB+AO9fOU=;
 b=ZyvvIKQC8WewVvoPf8s+FpGYc18XbhntQN033Oz2qwSD93W6ZE3MI5b0EN1bGyukEIdIx69Kbp/F2WRwfhVTGyhO3ngHJk2UjyI+9JjvQqPY7K/dTNMTke2XoJbkD2HnvEz4MMhpv7+4h6Xls2/2h/blRWqipCKWeCBd1lTQmpy0c3sEYdmQhgO0G1/Gh0UC2ESX7TUctO4WJeoDJ4sVC3OT7wMpNEIrD/L+iuHmUytr1RM+KHUYuN3jNuhSJryORdmn/TN3MHnl99/yvj/E5bhAB8iHdYvIR0Cu6vFzQuQoGO3J85/lopoubD2Ak3KqeVJXGYrgfUPJF2+iZSuO7g==
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=EaBtnMchK3C7ex6X6auTqSqXQHGjBhqn97iB+AO9fOU=;
 b=KGa3wZ6fsmVsfza8P2R6fAEeAOFc6T/oLFMOmjDQI9CuYKqb9/2+Lqa4U7CR7QjP9wjJiAYxBsE6reCZLNZ3tr7IldpklRcMdWeE/VUCC+NR/spbDIMqrVOFuLyXA3WPq6t4AIA3qo5h2EWM45AWkCv0DM4kB+dZLqYkvygq1LE=
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: 47d5d4fd82cdd49e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=alLozC6NGPEW7ZPLEpG4MnMBf20n8RB9o5mmym9sFaIi/jzeM2NHxj8Xia6q2x5LoTpnmwmeOPitgqWFz9UOoOcXXjxnSQH0pzerEe2QAk/EDy/NG9T45fuLV/m4xMiamxSNbtlR0OJkHvS63utFn4/nxL9H3yoD2UKoMN3KcVm6Be9Hk4XLXgUYrfmu2IQyOoNYrUAbNWaEYwQ/McLnGmRgt3JbMevW2Jj5kvadLKnYS+8MpJ6qeqeAUlcfDPzRmK+rjBni8n/d2mPXY0/3v60aFb88pzNOSJDMjXQMSnkR6WKyW1Muh5OrPRrTKt+fWGUASdmrPAZTlCqYMXsGtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EaBtnMchK3C7ex6X6auTqSqXQHGjBhqn97iB+AO9fOU=;
 b=PNEUYCVErxBYa1GZDjVQw88HDeKQmGN2BTigt+6j2SeQyjxiCY1p9U43Grv/xLq1DkkrNmJFlfDNiIlMjHOPgOJdh8Sw8CfB12Lk2sATuQB1EKby/CmDCoWk+wk0wEhNbigxjVOFP4e9kAfOUoIsn2Zcqco+1hrvlSIaAKaeQXvMwmOKaU/9m5ORUOPWm+Ieptd/XBZ+cWeF3pTKlkvpYPqeXtP55wx8WHP02CNHuARTQLjfm68xRWLr06V+ZGtme2oIbwBrkBAVRZPrUVdPhobxSMuFj4dqBpboBO0vjWlTIF9PQss7GMHDdxJ0N3EaInYr/oBUO6i8uv4wYI60/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EaBtnMchK3C7ex6X6auTqSqXQHGjBhqn97iB+AO9fOU=;
 b=KGa3wZ6fsmVsfza8P2R6fAEeAOFc6T/oLFMOmjDQI9CuYKqb9/2+Lqa4U7CR7QjP9wjJiAYxBsE6reCZLNZ3tr7IldpklRcMdWeE/VUCC+NR/spbDIMqrVOFuLyXA3WPq6t4AIA3qo5h2EWM45AWkCv0DM4kB+dZLqYkvygq1LE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Index: AQHal7ZoS0Rs3weazUuhKfXitmlnMLF6RnOAgAAvzwCAAAIygIAAA5kAgAACj4A=
Date: Fri, 26 Apr 2024 12:41:21 +0000
Message-ID: <42E71B74-157D-4A4E-AA57-2A93BB3D0007@arm.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
 <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
 <CAHUa44ETaCY2pbUjMOW5T2NSpmRCq3sWMjLUbK0DC2jpQxHJRQ@mail.gmail.com>
 <3A576E95-454B-4C66-A164-A2871DB4E2B2@arm.com>
 <CAHUa44EC_H7Q_A2M63dZnEGGNanyjGM6m2MuBg4_6BNEO-XDKA@mail.gmail.com>
In-Reply-To:
 <CAHUa44EC_H7Q_A2M63dZnEGGNanyjGM6m2MuBg4_6BNEO-XDKA@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DBBPR08MB6297:EE_|DU6PEPF00009524:EE_|GVXPR08MB10573:EE_
X-MS-Office365-Filtering-Correlation-Id: 5cd8b141-5c31-4118-c372-08dc65ee33f9
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230031|1800799015|366007|376005|38070700009;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?Q2ZqWmo0RWRYekpiQXJCelpzN0FWRUhsSHJzM1EyTlNKRUNibkY4WTdud2ZH?=
 =?utf-8?B?Q3RxWDQvcmR6YXZCNTNuWGpLdGxPOEE5OHR3ZXNRUE1jWnh0R2svWkpzUnZu?=
 =?utf-8?B?UmREb0JTSzFKUUo3eWdwcWdKbktjNUh0aXpuRXd2WWR1L0gzY09sUEo3eXZI?=
 =?utf-8?B?eStmUmNTczBBQ1pkbkRJYS9OMFVCK001MkNqeDNNVGNGTUNBZ0lCcWhoTGg3?=
 =?utf-8?B?RzdtZE9yekthM2N0U2E5cXozbmZJNkhBVGJkQkVtV1g0alQ0VXFZeGMxNDhD?=
 =?utf-8?B?VmEzRk5jYTNDdTNNOUQrQXBYUEpiazRYV00rM1NZdVB0YU52M2p6eW83bGpT?=
 =?utf-8?B?WFdpZXFobHZFM3E5QTdCaDBmUENKTjNzOXhzNm5rSWlVNDl6YTROUjRJVVJq?=
 =?utf-8?B?d0xpQnlPaXpQV1FEZWpnUEJtWDErdlEvZkxoUjdCSkowTXdEYTVTeFcvejhF?=
 =?utf-8?B?Q0E3ejBnbk1yOHliUHhpaDNkNUZad01hU1dWWmhTdzJIU2p6OWlnczdheGVS?=
 =?utf-8?B?M01selpPN2ZzMk5sMlJnTFc2NlFNSTJlcXdKR21KSWtwbFlmMjBORFlCaXJs?=
 =?utf-8?B?UmM4VFIvM0J4L0RGV0FSUVZkb2ZnM01qa1VSSGZnVXFBa2xuN1EvaHpkZ1g2?=
 =?utf-8?B?SkxXVDhnQkxvZmw2VGRoWHNoUHdVUEYvR3N0MnUwV1gwL3gyczI2SGltTEls?=
 =?utf-8?B?TURVRHI0cTc2Z3BvcVJEQ2ltWWJNRDVpcjhjZjV6b1p5R0ZrZmtHczFzSEFS?=
 =?utf-8?B?RmRkVHF3emE1ZWNjZDdvQ1pJWlNMVkNNRmpVUStjakNCMHF3WnhkMnppZS9V?=
 =?utf-8?B?UHRMbC92aUlXWjkyZkNUSFB0ZjlXSytBdldMR2RoN2szU2NCelp0WWczcGJ4?=
 =?utf-8?B?MjA5WVV5NkF3TkhLRGJxalRZamZ1YkY4UTdWdGpybUxFVUM1c2E5eWNidm5I?=
 =?utf-8?B?c2hhejlEdUY1TU5EUms0REgxUTBFOGdhQnM0eHFqQ2VIdkFqM1U1QnVOVG5k?=
 =?utf-8?B?U0lNcHJwQ2hONFRrd3NFOEVBRnNaODh5alZ0SWQ4RkhoQkRvMFI3ZVBvUksr?=
 =?utf-8?B?UkNMeGtocUxOc0c1bVlCNC9rTGJWcC9FWnNmcXl6dGRQRTdhS1dseFlSNFo5?=
 =?utf-8?B?dERrbHVsS1NrRnUybWJrdVF1M2FUTU1GYUFZL1EyRitUa3ZiblZlblEvSEh0?=
 =?utf-8?B?MktYUm1aRWU1SEErZnNoYzZpalZpTjFNa3IwL24wVFFhamNBMXZBWGFPOXlU?=
 =?utf-8?B?NGdpNGIvWTZ0cUVIaTFTZFdSZzY2MlA4OTlYYitZaUpCcG5HMGRiZTZaVmFL?=
 =?utf-8?B?eTNGek4veFFJVTBLcEg5em84TkVkcmM1a0dxRjBKQW1hYlFtUVVTUEF3MHcy?=
 =?utf-8?B?R3FFQjlOTitxVnJlVjZFZDBnYUlnZndSTVBMQnB5b250VXB0QnY1d2ZyZDI2?=
 =?utf-8?B?L3g0QlBrcTgwWTBWamgzZnFqTFpzOWU4WUVuNWlYSUJjbFF3MVJGQ3ZRVGpR?=
 =?utf-8?B?dDBMalBWNXBidklGNnRSRElQRXlzUVRobDFTay9rU1FlbGxJd1hKMFpYV2c1?=
 =?utf-8?B?NG9nVElWb1NFWVJwOWdJcEtSWDBDU3NtckpCbGV3c2d3b3JFa290SXRONkVr?=
 =?utf-8?B?U0hJWUJMOGRvZlo4MkIyd2Q3NDRMdFpPKzVaVXp0cXVNcFVxY0I5RDNoZU9G?=
 =?utf-8?B?R2NxelZWY20rbk9xb0l4alVvS2xSSGhoKytqbnBtTXp6Z2xJdDc0Q3hiOXkw?=
 =?utf-8?B?UzJOWGdjSE9xZnVMbG5GRW5tWEkwZXp1V0tkOXJsdVpvOFAyeUc2cExIaWwy?=
 =?utf-8?B?NFhKTVRjdWdSalVHOWhuQT09?=
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:(13230031)(1800799015)(366007)(376005)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <B8408C75789AFF4F9A5BA9047FFE9FE5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6297
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF00009524.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	63abf8aa-b521-4153-1d6f-08dc65ee2d3b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Wk4vbzQvV0VQNnVIMm4rdWZ4WDBPQkM4VWtZMHp4NmR5anpQaTUrMGNnUGsr?=
 =?utf-8?B?OC9IVTNKTlIvYi9TNnVyaEhpK3lqZDVjcWY2cFpVQmlpUEluYzZaUU9jQ0pR?=
 =?utf-8?B?NnJVM0RhT081dW9md0c0aFM2Qkw2RkloTUZ6RWFybW95encvNWZhS3NKSll4?=
 =?utf-8?B?eitUQ2NzOUVKVUtjQmRVb2w1ZEEwNmNlTHFlYkhLbzFoZ1I0RWJVM1IwOGxq?=
 =?utf-8?B?dXhUSW9sREtDRVlIZUF5REhoOHg1V1o2c01XZGlrS0k0UWtySHU0eFZJaVNl?=
 =?utf-8?B?MWc0SXdjUDE5WGFEelV3N25OcTYwaHlSTzkveGRZK0xxTkJmNWI5MTdaL2sw?=
 =?utf-8?B?M1VtZnc5eks1SCtxQW1RVnIxTzlYb0FpRHFZRXZXMHZVNm9POElmNjNnZVhr?=
 =?utf-8?B?aGg1ellwQi90QUduaUlYOWtsNjR0S0oxdk9iWE1Idk5GQ2pldlBGNWJRanJh?=
 =?utf-8?B?Rkx4elRGcFplR0I0R2VneGkwdTM1UUJSWWtYTTdEajgyZW5iMkc0UlZzdm5V?=
 =?utf-8?B?bTJ1Qk50KzY3UGFmZEVNcWNUZGJ4MG1GVUR2R3R5Vm5RTUxOZ2NvZ2FLUHJw?=
 =?utf-8?B?enlobG5uZk5ZYzdNV1FQY3MzeXNtdDQ5REc0NHNqbCtRMHZDYmdVb1NIa2hI?=
 =?utf-8?B?OUhza2dzQVRLcUVKOVY4VDVaWEpaRHVnc0ZvdVhqUFRESU03NHExcm1ZVXVm?=
 =?utf-8?B?RVBqRmEzTW1KN1MyY1ZFZ1o5V0NrTTl6U3FwbzBXZm9ZOTFuZ3F6Nm8yVmV2?=
 =?utf-8?B?RVYrTTVuL0d1TllIMXZwekpPY0pGLzBuclZrRVNmaGVBMTN5S0FUMUlSNFY0?=
 =?utf-8?B?ODd1djJVWjlWU3BsdFM3L1dBcDJZYXRNbk5JcmxYd1ArQXhXSDFaSkFMckN1?=
 =?utf-8?B?Skw0NU1nRkhzSlZDZ3lvSjBDYkZDZkpjMW9zc0VMeGgwNm5nTXczWGpYZFM4?=
 =?utf-8?B?ZzA1d1U1SjVLMzZWdm1wNGl0UDgxTTFrVmc3RzR0eWZ2a1ZWVVpycmRSb2dO?=
 =?utf-8?B?ZXVRdkI0MWIxSytUV2tIR2trMm9sN0crTGZXWXR3TWlDM3kycGRxeURlRWVE?=
 =?utf-8?B?ZDF4WnFPdThabndBLzkvRTdBUnJiSDVGd1FmMnhhdzBIa3Q3ZHk1N2NRUEpX?=
 =?utf-8?B?UkVyNXhMVktDYmx4MjJEVmpZcFA4emV6M2M2OUFqMFJmRnNQNjRFY3gxbkpL?=
 =?utf-8?B?YmRLdGExQmtoWThMeGw0aHNnU1kzV05WVXdQS0NUVHlyYTdTa0FyL0plTmlY?=
 =?utf-8?B?YlJDbm1OOVNZWHRINmVneldweTZuRVQyRVpOS1BoUEd5UURTeXJrSStmcWFE?=
 =?utf-8?B?dFhnaE9BSGx4YWg5WUtGOXU3UDAzVkJIRlc4ZFlia2ZFS3dPNDJsMWVnTGJs?=
 =?utf-8?B?RTQ3c0FZQjlPcW1TZkpkejBBSEpjNUM1NVVCQVR5K2NUaFlLV1huajM4YXRS?=
 =?utf-8?B?SGhwRElhYkhtZTkwZ3ZHbndkN2h0V0JZR1ZMV2dhdGdiaFNtcGV5aldwMWlG?=
 =?utf-8?B?ZXBsZC8vT0tUYXNIeWQ2cmt5dG1wTUthNlJGeTNxOTRDVjZCNU5TVE15M2J0?=
 =?utf-8?B?TDdsMi9SaEVGMHplVk55NTNrdFdydnlxbERFZXlDSndMTys4Y1hraUtDT2VJ?=
 =?utf-8?B?d0wweU5GUDV3ejgwTWVBb09RNnI1QkFUdXhDVW1XZE1CUFhBMTQ2R3g4b3lS?=
 =?utf-8?B?bU0wS1g4NW5rbHVVempkOEdnb1BNQXk5VWRuOGFtcDMzWUhxN0lvZXVhMitX?=
 =?utf-8?B?bkJjaVd3aC9McXpEb3pLc09QblQ5azNSdW1MeTlSY01tUWxSQUlqam5BdXJa?=
 =?utf-8?B?U0k1cUF0dk9oMnBLNkNZTGorV1RoZjgvQy9mdXRKRXpIUW05eTlkdlZuMWRz?=
 =?utf-8?Q?341Y8TS/nW8y/?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(36860700004)(376005)(1800799015)(82310400014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 12:41:32.8239
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cd8b141-5c31-4118-c372-08dc65ee33f9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF00009524.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10573

SGkgSmVucywNCg0KPiBPbiAyNiBBcHIgMjAyNCwgYXQgMTQ6MzIsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gRnJpLCBBcHIgMjYsIDIwMjQgYXQgMjoxOeKAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4g
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpIEplbnMsDQo+PiAN
Cj4+PiBPbiAyNiBBcHIgMjAyNCwgYXQgMTQ6MTEsIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xh
bmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4+PiANCj4+PiBIaSBCZXJ0cmFuZCwNCj4+PiANCj4+
PiBPbiBGcmksIEFwciAyNiwgMjAyNCBhdCAxMToyMOKAr0FNIEJlcnRyYW5kIE1hcnF1aXMNCj4+
PiA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPiB3cm90ZToNCj4+Pj4gDQo+Pj4+IEhpIEplbnMs
DQo+Pj4+IA0KPj4+Pj4gT24gMjYgQXByIDIwMjQsIGF0IDEwOjQ3LCBKZW5zIFdpa2xhbmRlciA8
amVucy53aWtsYW5kZXJAbGluYXJvLm9yZz4gd3JvdGU6DQo+Pj4+PiANCj4gWy4uLl0NCj4+Pj4+
ICtzdHJ1Y3Qgbm90aWZfaXJxX2luZm8gew0KPj4+Pj4gKyAgICB1bnNpZ25lZCBpbnQgaXJxOw0K
Pj4+Pj4gKyAgICBpbnQgcmV0Ow0KPj4+Pj4gKyAgICBzdHJ1Y3QgaXJxYWN0aW9uICphY3Rpb247
DQo+Pj4+PiArfTsNCj4+Pj4+ICsNCj4+Pj4+ICtzdGF0aWMgdm9pZCBub3RpZl9pcnFfZW5hYmxl
KHZvaWQgKmluZm8pDQo+Pj4+PiArew0KPj4+Pj4gKyAgICBzdHJ1Y3Qgbm90aWZfaXJxX2luZm8g
KmlycV9pbmZvID0gaW5mbzsNCj4+Pj4+ICsNCj4+Pj4+ICsgICAgaXJxX2luZm8tPnJldCA9IHNl
dHVwX2lycShpcnFfaW5mby0+aXJxLCAwLCBpcnFfaW5mby0+YWN0aW9uKTsNCj4+Pj4+ICsgICAg
aWYgKCBpcnFfaW5mby0+cmV0ICkNCj4+Pj4+ICsgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJm
ZmE6IHJlcXVlc3RfaXJxIGlycSAldSBmYWlsZWQ6IGVycm9yICVkXG4iLA0KPj4+Pj4gKyAgICAg
ICAgICAgICAgIGlycV9pbmZvLT5pcnEsIGlycV9pbmZvLT5yZXQpOw0KPj4+Pj4gK30NCj4+Pj4+
ICsNCj4+Pj4+ICt2b2lkIGZmYV9ub3RpZl9pbml0KHZvaWQpDQo+Pj4+PiArew0KPj4+Pj4gKyAg
ICBjb25zdCBzdHJ1Y3QgYXJtX3NtY2NjXzFfMl9yZWdzIGFyZyA9IHsNCj4+Pj4+ICsgICAgICAg
IC5hMCA9IEZGQV9GRUFUVVJFUywNCj4+Pj4+ICsgICAgICAgIC5hMSA9IEZGQV9GRUFUVVJFX1ND
SEVEVUxFX1JFQ1ZfSU5UUiwNCj4+Pj4+ICsgICAgfTsNCj4+Pj4+ICsgICAgc3RydWN0IG5vdGlm
X2lycV9pbmZvIGlycV9pbmZvID0geyB9Ow0KPj4+Pj4gKyAgICBzdHJ1Y3QgYXJtX3NtY2NjXzFf
Ml9yZWdzIHJlc3A7DQo+Pj4+PiArICAgIHVuc2lnbmVkIGludCBjcHU7DQo+Pj4+PiArDQo+Pj4+
PiArICAgIGFybV9zbWNjY18xXzJfc21jKCZhcmcsICZyZXNwKTsNCj4+Pj4+ICsgICAgaWYgKCBy
ZXNwLmEwICE9IEZGQV9TVUNDRVNTXzMyICkNCj4+Pj4+ICsgICAgICAgIHJldHVybjsNCj4+Pj4+
ICsNCj4+Pj4+ICsgICAgaXJxX2luZm8uaXJxID0gcmVzcC5hMjsNCj4+Pj4+ICsgICAgaWYgKCBp
cnFfaW5mby5pcnEgPCBHSUNfU0dJX1NUQVRJQ19NQVggfHwgaXJxX2luZm8uaXJxID49IE5SX0dJ
Q19TR0kgKQ0KPj4+Pj4gKyAgICB7DQo+Pj4+PiArICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAi
ZmZhOiBub3RpZmljYXRpb24gaW5pdGlhbGl6YXRpb24gZmFpbGVkOiBjb25mbGljdGluZyBTR0kg
JXVcbiIsDQo+Pj4+PiArICAgICAgICAgICAgICAgaXJxX2luZm8uaXJxKTsNCj4+Pj4+ICsgICAg
ICAgIHJldHVybjsNCj4+Pj4+ICsgICAgfQ0KPj4+Pj4gKw0KPj4+Pj4gKyAgICAvKg0KPj4+Pj4g
KyAgICAgKiBTR0lzIGFyZSBwZXItQ1BVIHNvIHdlIG11c3QgZW5hYmxlIHRoZSBJUlEgb24gZWFj
aCBDUFUuIFdlIHVzZSBhbg0KPj4+Pj4gKyAgICAgKiBJUEkgdG8gY2FsbCBub3RpZl9pcnFfZW5h
YmxlKCkgb24gZWFjaCBDUFUgaW5jbHVkaW5nIHRoZSBjdXJyZW50DQo+Pj4+PiArICAgICAqIENQ
VS4gVGhlIHN0cnVjdCBpcnFhY3Rpb24gaXMgcHJlYWxsb2NhdGVkIHNpbmNlIHdlIGNhbid0IGFs
bG9jYXRlDQo+Pj4+PiArICAgICAqIG1lbW9yeSB3aGlsZSBpbiBpbnRlcnJ1cHQgY29udGV4dC4N
Cj4+Pj4+ICsgICAgICovDQo+Pj4+PiArICAgIGZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQ0KPj4+
Pj4gKyAgICB7DQo+Pj4+PiArICAgICAgICBpcnFfaW5mby5hY3Rpb24gPSB4bWFsbG9jKHN0cnVj
dCBpcnFhY3Rpb24pOw0KPj4+PiANCj4+Pj4gWW91IGFsbG9jYXRlIG9uZSBhY3Rpb24gcGVyIGNw
dSBidXQgeW91IGhhdmUgb25seSBvbmUgYWN0aW9uIHBvaW50ZXIgaW4geW91ciBzdHJ1Y3R1cmUN
Cj4+Pj4gd2hpY2ggbWVhbnMgeW91IHdpbGwgb3ZlcmxvYWQgdGhlIHByZXZpb3VzbHkgYWxsb2Nh
dGVkIG9uZSBhbmQgbG9zZSB0cmFjay4NCj4+Pj4gDQo+Pj4+IFlvdSBzaG91bGQgaGF2ZSBhIHRh
YmxlIG9mIGFjdGlvbnMgaW4geW91ciBzdHJ1Y3R1cmUgaW5zdGVhZCB1bmxlc3Mgb25lIGFjdGlv
biBpcw0KPj4+PiBlbm91Z2ggYW5kIGNhbiBiZSByZXVzZWQgb24gYWxsIGNwdXMgYW5kIGluIHRo
aXMgY2FzZSB5b3Ugc2hvdWxkIG1vdmUgb3V0IG9mDQo+Pj4+IHlvdXIgbG9vcCB0aGUgYWxsb2Nh
dGlvbiBwYXJ0Lg0KPj4+IA0KPj4+IFRoYXQgc2hvdWxkbid0IGJlIG5lZWRlZCBiZWNhdXNlIHRo
aXMgaXMgZG9uZSBpbiBzZXF1ZW5jZSBvbmx5IG9uZSBDUFUNCj4+PiBhdCBhIHRpbWUuDQo+PiAN
Cj4+IFNvcnJ5IGkgZG8gbm90IHVuZGVyc3RhbmQgaGVyZS4NCj4+IFlvdSBoYXZlIGEgbG9vcCBv
dmVyIGVhY2ggb25saW5lIGNwdSBhbmQgb24gZWFjaCBsb29wIHlvdSBhcmUgYXNzaWduaW5nDQo+
PiBpcnFfaW5mby5hY3Rpb24gd2l0aCBhIG5ld2x5IGFsbG9jYXRlZCBzdHJ1Y3QgaXJxYWN0aW9u
IHNvIHlvdSBhcmUgaW4gcHJhY3RpY2UNCj4+IG92ZXJsb2FkaW5nIG9uIGNwdSAyIHRoZSBhY3Rp
b24gdGhhdCB3YXMgYWxsb2NhdGVkIGZvciBjcHUgMS4NCj4+IA0KPj4gV2hhdCBkbyB5b3UgbWVh
biBieSBzZXF1ZW5jZSBoZXJlID8NCj4+IA0KPiANCj4gTXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0
IGZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSBsb29wcyBvdmVyIGVhY2ggY3B1LA0KPiBvbmUgYXQg
YSB0aW1lLiBUaGUgY2FsbA0KPiBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tfb2YoY3B1KSwgbm90
aWZfaXJxX2VuYWJsZSwgJmlycV9pbmZvLCAxKTsNCj4gcmV0dXJucyBhZnRlciBub3RpZl9pcnFf
ZW5hYmxlKCkgaGFzIHJldHVybmVkIG9uIHRoZSBDUFUgaW4gcXVlc3Rpb24NCj4gdGhhbmtzIHRv
IHRoZSAiMSIgKHdhaXQpIHBhcmFtZXRlci4gU28gb25jZSBpdCBoYXMgcmV0dXJuZWQgJmlycV9p
bmZvDQo+IGlzbid0IHVzZWQgYnkgdGhlIG90aGVyIENQVSBhbnkgbG9uZ2VyIGFuZCB3ZSBjYW4g
YXNzaWduIGEgbmV3IHZhbHVlDQo+IHRvIGlycV9pbmZvLmFjdGlvbi4NCg0KUmlnaHQgc28geW91
IGxvb3NlIHRyYWNrIG9mIHdoYXQgd2FzIGFzc2lnbmVkIHNvIHlvdSBhcmUgbm90IGFibGUgdG8N
CmZyZWUgaXQuDQpJZiB0aGF0IGlzIHdhbnRlZCB0aGVuIHdoeSBzYXZpbmcgdGhpcyBpbiBpcnEu
YWN0aW9uIGFzIHlvdSB3aWxsIG9ubHkgaGF2ZQ0KdGhlcmUgdGhlIG9uZSBhbGxvY2F0ZWQgZm9y
IHRoZSBsYXN0IG9ubGluZSBjcHUuDQoNCkNoZWVycw0KQmVydHJhbmQNCg0KPiANCj4gVGhhbmtz
LA0KPiBKZW5zDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 13:02:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 13:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712793.1113632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0LDZ-0003ob-PY; Fri, 26 Apr 2024 13:02:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712793.1113632; Fri, 26 Apr 2024 13:02:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0LDZ-0003oU-My; Fri, 26 Apr 2024 13:02:21 +0000
Received: by outflank-mailman (input) for mailman id 712793;
 Fri, 26 Apr 2024 13: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=1vyS=L7=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s0LDY-0003oO-OB
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 13:02:20 +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 35bf4823-03cd-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 15:02:18 +0200 (CEST)
Received: by mail-oo1-xc2a.google.com with SMTP id
 006d021491bc7-5a9ec68784cso1517769eaf.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 06: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: 35bf4823-03cd-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714136537; x=1714741337; 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=EHMcwWaCG9GYk5WfcuZpFIxM87psXO84EspQY4xHPaU=;
        b=mZQ42TSaDPf4QEWraf1uX39CKQmN1WQA4O7PiN/aMJyq/AUOMjbfmKCD/Qrm26w1NZ
         TTvQuK3VjLYBr+J9d5/8KxVUGp2EMsNXwVl54S8kxw80+85qdUmckdhtWsuCHlgIpb9o
         mzTD1NdWy8sO5jZzJqgqOzWD5n/7HO1FSgxPnPontYdTGCJg7+UPDO+tUgEViKDtrhNM
         hgUrRTONmqp1tYOEXi732x0+3cTxCL3lKVokwa955sUkPxn3ds81SsxOK6jjujC9WoUR
         kXDohZI/XlPg6sDq/iznSujNm/gwDkcO0JMX9O03UKOH5S7FMcQLr2mwc9N8U8HOH878
         mJiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714136537; x=1714741337;
        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=EHMcwWaCG9GYk5WfcuZpFIxM87psXO84EspQY4xHPaU=;
        b=Q9J5ZrWESnKPWi8REAlwAfNmd+g2M9UghnPpUEFfTa4opFhHsft5v/VRRmRgM6sTZ6
         zfEq7zy/2UDMlUZA2iV33DmCFUANGZKfoc6uuCx9rS8G6eBX57B02DQkOd1iZ9q8U/lC
         rCQCc0UmLmsEv747yD6nGzyZP3Jey3EEemx9jo1q5HXB0zlCEg0fA39FSahkmcTd/Lhf
         peWQdS94SiVYQkXK6wbAnPzH8ffTTMmzXpeAV7CxcDnLJ8b0NCO5n2jjf1UcHmkcVedN
         2zAfrJ01Kt8KlonRz/OQutttoDeQlWD5UWw8CAj8QP1VUYagjv2h4A7twsatCrobmcak
         DU/Q==
X-Gm-Message-State: AOJu0Yz4LdvQsvBnfQmAaZeKT15W6SSCZZzl2lBYd2TU6yAp43Htq+mi
	4w9lLVSOnbY1wuqB+Dc8/tz/1otvEeuYyfT1iMOrBZfK3hX4kzkRcpxkwFTIEJb3nsHm/aZIfsN
	d0Vx8JX82ag0THfLcvUtUBG9tr8wATYLVaBmNYg==
X-Google-Smtp-Source: AGHT+IFQ0ricE03MQepWKE4ybP2re8cM5sl6vBvcz6lmb6Lc3LkrQR/Uqh+YfRwyka0xgiBBI+7ajzmU9lvdwxs3dmc=
X-Received: by 2002:a4a:d46:0:b0:5ac:c39b:3a7a with SMTP id
 67-20020a4a0d46000000b005acc39b3a7amr3534602oob.1.1714136536973; Fri, 26 Apr
 2024 06:02:16 -0700 (PDT)
MIME-Version: 1.0
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org> <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
 <CAHUa44ETaCY2pbUjMOW5T2NSpmRCq3sWMjLUbK0DC2jpQxHJRQ@mail.gmail.com>
 <3A576E95-454B-4C66-A164-A2871DB4E2B2@arm.com> <CAHUa44EC_H7Q_A2M63dZnEGGNanyjGM6m2MuBg4_6BNEO-XDKA@mail.gmail.com>
 <42E71B74-157D-4A4E-AA57-2A93BB3D0007@arm.com>
In-Reply-To: <42E71B74-157D-4A4E-AA57-2A93BB3D0007@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 26 Apr 2024 15:02:04 +0200
Message-ID: <CAHUa44HhxHez35a95oEwnvMEObU_=6JrGVBc8rT5grFRHNUQyQ@mail.gmail.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 26, 2024 at 2:41=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 26 Apr 2024, at 14:32, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Hi Bertrand,
> >
> > On Fri, Apr 26, 2024 at 2:19=E2=80=AFPM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 26 Apr 2024, at 14:11, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
> >>>
> >>> Hi Bertrand,
> >>>
> >>> On Fri, Apr 26, 2024 at 11:20=E2=80=AFAM Bertrand Marquis
> >>> <Bertrand.Marquis@arm.com> wrote:
> >>>>
> >>>> Hi Jens,
> >>>>
> >>>>> On 26 Apr 2024, at 10:47, Jens Wiklander <jens.wiklander@linaro.org=
> wrote:
> >>>>>
> > [...]
> >>>>> +struct notif_irq_info {
> >>>>> +    unsigned int irq;
> >>>>> +    int ret;
> >>>>> +    struct irqaction *action;
> >>>>> +};
> >>>>> +
> >>>>> +static void notif_irq_enable(void *info)
> >>>>> +{
> >>>>> +    struct notif_irq_info *irq_info =3D info;
> >>>>> +
> >>>>> +    irq_info->ret =3D setup_irq(irq_info->irq, 0, irq_info->action=
);
> >>>>> +    if ( irq_info->ret )
> >>>>> +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %=
d\n",
> >>>>> +               irq_info->irq, irq_info->ret);
> >>>>> +}
> >>>>> +
> >>>>> +void ffa_notif_init(void)
> >>>>> +{
> >>>>> +    const struct arm_smccc_1_2_regs arg =3D {
> >>>>> +        .a0 =3D FFA_FEATURES,
> >>>>> +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> >>>>> +    };
> >>>>> +    struct notif_irq_info irq_info =3D { };
> >>>>> +    struct arm_smccc_1_2_regs resp;
> >>>>> +    unsigned int cpu;
> >>>>> +
> >>>>> +    arm_smccc_1_2_smc(&arg, &resp);
> >>>>> +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> >>>>> +        return;
> >>>>> +
> >>>>> +    irq_info.irq =3D resp.a2;
> >>>>> +    if ( irq_info.irq < GIC_SGI_STATIC_MAX || irq_info.irq >=3D NR=
_GIC_SGI )
> >>>>> +    {
> >>>>> +        printk(XENLOG_ERR "ffa: notification initialization failed=
: conflicting SGI %u\n",
> >>>>> +               irq_info.irq);
> >>>>> +        return;
> >>>>> +    }
> >>>>> +
> >>>>> +    /*
> >>>>> +     * SGIs are per-CPU so we must enable the IRQ on each CPU. We =
use an
> >>>>> +     * IPI to call notif_irq_enable() on each CPU including the cu=
rrent
> >>>>> +     * CPU. The struct irqaction is preallocated since we can't al=
locate
> >>>>> +     * memory while in interrupt context.
> >>>>> +     */
> >>>>> +    for_each_online_cpu(cpu)
> >>>>> +    {
> >>>>> +        irq_info.action =3D xmalloc(struct irqaction);
> >>>>
> >>>> You allocate one action per cpu but you have only one action pointer=
 in your structure
> >>>> which means you will overload the previously allocated one and lose =
track.
> >>>>
> >>>> You should have a table of actions in your structure instead unless =
one action is
> >>>> enough and can be reused on all cpus and in this case you should mov=
e out of
> >>>> your loop the allocation part.
> >>>
> >>> That shouldn't be needed because this is done in sequence only one CP=
U
> >>> at a time.
> >>
> >> Sorry i do not understand here.
> >> You have a loop over each online cpu and on each loop you are assignin=
g
> >> irq_info.action with a newly allocated struct irqaction so you are in =
practice
> >> overloading on cpu 2 the action that was allocated for cpu 1.
> >>
> >> What do you mean by sequence here ?
> >>
> >
> > My understanding is that for_each_online_cpu(cpu) loops over each cpu,
> > one at a time. The call
> > on_selected_cpus(cpumask_of(cpu), notif_irq_enable, &irq_info, 1);
> > returns after notif_irq_enable() has returned on the CPU in question
> > thanks to the "1" (wait) parameter. So once it has returned &irq_info
> > isn't used by the other CPU any longer and we can assign a new value
> > to irq_info.action.
>
> Right so you loose track of what was assigned so you are not able to
> free it.
> If that is wanted then why saving this in irq.action as you will only hav=
e
> there the one allocated for the last online cpu.

Wouldn't release_irq() free it? An error here is unlikely, but we may
be left with a few installed struct irqaction if it occurs. I can add
a more elaborate error path if it's worth the added complexity.

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 13:38:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 13:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712806.1113649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Lmb-0002Vs-GY; Fri, 26 Apr 2024 13:38:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712806.1113649; Fri, 26 Apr 2024 13:38:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Lmb-0002Vl-Do; Fri, 26 Apr 2024 13:38:33 +0000
Received: by outflank-mailman (input) for mailman id 712806;
 Fri, 26 Apr 2024 13: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=XFjt=L7=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1s0Lma-0002Vf-Gn
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 13:38:32 +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 44a635cb-03d2-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 15:38:30 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a5200afe39eso242720466b.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 06:38:30 -0700 (PDT)
Received: from [192.168.69.100] (aul93-h02-176-184-11-147.dsl.sta.abo.bbox.fr.
 [176.184.11.147]) by smtp.gmail.com with ESMTPSA id
 u14-20020a170906b10e00b00a5534758ef7sm10761888ejy.148.2024.04.26.06.38.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 06: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: 44a635cb-03d2-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714138710; x=1714743510; 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=KtqpQh7Tri6+vPBLqrWX47scPgjtZh6qIkOl5hEiGKA=;
        b=fNj992Wv+7HJ9p/MuFLioLIyuHBVsMc2blQA7gF/S/J+xjime4BxwT3m0ZmST3qfaj
         QdZcU9N1wsjDA/fMP6GUeCzR9RlgJaDhdo5XjbPPCC+ch4lf38dVFyXAIzs8KLUrldi0
         JHD8zUDRYqQEdLv6fOJNw30qzswT1PVzIKgdGFvraX09SO3izzCCAUMwPcP2czEybGwL
         yWqRTU19yEC5LaTbGBIezkie1W2TuRdVI/7zWV4rNTebhKUR4PKigTmP4gIFnQPvV34/
         8riIQ9R73tZviJihEnqBnfD2QXMFE8j+Iz+Lj1T55xXqOAwCZORcF1ll1OI92bGszcpa
         ps3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714138710; x=1714743510;
        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=KtqpQh7Tri6+vPBLqrWX47scPgjtZh6qIkOl5hEiGKA=;
        b=rcmJccWlNoISV1gv7USEuPdpTee0J/wwPtDqAO4oSMmKuPKUsqZ5fFeACgp205HmT1
         UbBKV2sRFnFB2AfpTXTjhO89WkfzkmuzvaBBRQytiqB/cq2tHrx5f9t2WEyWWbsHvyMK
         nsQ/s5Li9o5s1rxCWdT0GZMmOhP4RYnlZY+zq6x8ctwPOJX8vuQUA3eYEOItuzNvsG+T
         P+U2XLqemAllRx6WT6URXIhAWizjuntcB+p3ko+an9zuvRpB/wwYUPo6D99R0WUKj3Fx
         wVwgEg6gTg47XlLRj5OrqaLpSVlfMHdzk24wIbjX58rPqDL76esHJSryZUOBIR+UNfI1
         wcrQ==
X-Forwarded-Encrypted: i=1; AJvYcCUu7UVei+0l7QAiAs04zRhl0eiiIrUcua09e1VwcsZZsXqSqD9M0XkLrXeGfHdN5Kb7ED83OyV+eM+HpoupWcK3r8jpH3JGVZ7tFIaKzyI=
X-Gm-Message-State: AOJu0YxFIE4zK+KOOWXz8E3pomnQRKs3xUhCpCMS8u9nt+XjqhiXS/Lq
	VB4hUCY5wfkL7auGyrYMQ1qgyOsIfp6M1GGlguuPac0RXVxl7NIC48J6Hyz/2Pg=
X-Google-Smtp-Source: AGHT+IErcD2rDt7Z7nFGex9tvEZYhoYxMvkKlVwxWn3wreLNR2jKgLJ53cWUCG2DV3XAm3yBzJ8gug==
X-Received: by 2002:a17:906:244d:b0:a58:8827:6765 with SMTP id a13-20020a170906244d00b00a5888276765mr2221480ejb.67.1714138709613;
        Fri, 26 Apr 2024 06:38:29 -0700 (PDT)
Message-ID: <e2fb1d51-b5a6-4c25-a9af-af1e1ed42475@linaro.org>
Date: Fri, 26 Apr 2024 15:38:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] net: Provide MemReentrancyGuard * to
 qemu_new_nic()
To: Akihiko Odaki <akihiko.odaki@daynix.com>, Thomas Huth
 <th.huth@posteo.de>, Prasad Pandit <pj.pandit@yahoo.in>,
 Mauro Matteo Cascella <mcascell@redhat.com>
Cc: Alexander Bulekov <alxndr@bu.edu>,
 Dmitry Fleytman <dmitry.fleytman@gmail.com>,
 Beniamino Galvani <b.galvani@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
 Jason Wang <jasowang@redhat.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>, Stefan Weil <sw@weilnetz.de>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>,
 Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>,
 Richard Henderson <richard.henderson@linaro.org>,
 Helge Deller <deller@gmx.de>, Sriram Yagnaraman
 <sriram.yagnaraman@est.tech>, Thomas Huth <huth@tuxfamily.org>,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 Subbaraya Sundeep <sundeep.lkml@gmail.com>, Jan Kiszka <jan.kiszka@web.de>,
 Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>,
 Max Filippov <jcmvbkbc@gmail.com>, Jiri Pirko <jiri@resnulli.us>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Sven Schnelle <svens@stackframe.org>, "Michael S. Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Rob Herring <robh@kernel.org>, Gerd Hoffmann <kraxel@redhat.com>,
 "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 "qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230601031859.7115-1-akihiko.odaki@daynix.com>
 <20230601031859.7115-2-akihiko.odaki@daynix.com>
 <ac66952e-4281-4250-96f4-dc3d5b518d24@linaro.org>
 <1497808863.2030924.1713955286878@mail.yahoo.com>
 <088ec61c-39ab-4b58-a02f-8897a3e7ae68@posteo.de>
 <81397221-8144-47cd-bce9-b3ab7d94c626@daynix.com>
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <81397221-8144-47cd-bce9-b3ab7d94c626@daynix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 26/4/24 14:37, Akihiko Odaki wrote:
> On 2024/04/24 21:32, Thomas Huth wrote:
>> On 24/04/2024 12.41, Prasad Pandit wrote:
>>> On Wednesday, 24 April, 2024 at 03:36:01 pm IST, Philippe 
>>> Mathieu-Daudé wrote:
>>>> On 1/6/23 05:18, Akihiko Odaki wrote:
>>>>> Recently MemReentrancyGuard was added to DeviceState to record that 
>>>>> the
>>>>> device is engaging in I/O. The network device backend needs to 
>>>>> update it
>>>>> when delivering a packet to a device.
>>>>> In preparation for such a change, add MemReentrancyGuard * as a
>>>>> parameter of qemu_new_nic().
>>>>
>>>> An user on IRC asked if this patch is related/fixing CVE-2021-20255,
>>>> any clue?
>>>
>>> * CVE-2021-20255 bug: infinite recursion is pointing at a different 
>>> fix patch.
>>>    -> https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-20255
>>>
>>> * And the this patch below has different issue tagged
>>> -> https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg08312.html
>>>    Fixes: CVE-2023-3019
>>>
>>>
>>> * They look different, former is an infinite recursion issue and the 
>>> latter is a use-after-free one.
>>
>> I assume the eepro reentrancy issue has been fixed with:
>>
>>   https://gitlab.com/qemu-project/qemu/-/issues/556
>>   i.e.:
>>   https://gitlab.com/qemu-project/qemu/-/commit/c40ca2301c7603524eaddb5308a3
> 
> I agree. Commit c40ca2301c7603524eaddb5308a3 should be what fixed 
> CVE-2021-20255, not this patch.

Thank you all for clarifying!



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 13:58:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 13:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712813.1113659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M5T-0006ft-73; Fri, 26 Apr 2024 13:58:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712813.1113659; Fri, 26 Apr 2024 13:58:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M5T-0006fm-4O; Fri, 26 Apr 2024 13:58:03 +0000
Received: by outflank-mailman (input) for mailman id 712813;
 Fri, 26 Apr 2024 13:58: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 1s0M5R-0006fc-5e; Fri, 26 Apr 2024 13:58: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 1s0M5R-00082i-2g; Fri, 26 Apr 2024 13:58: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 1s0M5Q-0003qX-RL; Fri, 26 Apr 2024 13:58:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0M5Q-0004Wp-Qr; Fri, 26 Apr 2024 13:58: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=m99CPSHnBn70MGvTcVk95Y4sflQr74vGPu7BBmXJ7RI=; b=mFpSSfTmpA5iq37wMe4SyffRzB
	bMf7lmCmhlsvnPVrFL05FTPhF5a/YYt09XsVaaxYkZ2wCFiai9Bgx1j9WBkTGOuXdW1SYYM79Bj+x
	seSDAwDSUaDe7TzkBviaYfC/y81I3mjHi9dNL7HJXDVry0xm5b6U4O4Dmvig7VV34dKc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185812-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185812: 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=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
X-Osstest-Versions-That:
    xen=232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 13:58:00 +0000

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

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                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230
baseline version:
 xen                  232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb

Last test of basis   185801  2024-04-25 21:02:05 Z    0 days
Testing same since   185812  2024-04-26 11:01:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   232ee07c23..be5b08dd6e  be5b08dd6ea6ef0f01caf537bdae125fa66a2230 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:01:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:01:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712819.1113669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M94-0008Ca-O4; Fri, 26 Apr 2024 14:01:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712819.1113669; Fri, 26 Apr 2024 14:01: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 1s0M94-0008CT-KB; Fri, 26 Apr 2024 14:01:46 +0000
Received: by outflank-mailman (input) for mailman id 712819;
 Fri, 26 Apr 2024 14: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0M93-0008CM-7I
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:01:45 +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 83377840-03d5-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 16:01:44 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a524ecaf215so278969966b.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:01:44 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm10646714ejb.35.2024.04.26.07.01.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07: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: 83377840-03d5-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714140102; x=1714744902; 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=9ZvV3Mym1kuc7YfIbhz+MVBip/WpHkSahKxnh4HzZJE=;
        b=gHGU4+R8TESO8NCy/0Wl9/G566W1i+qZk4PcutZwvXvlm6eMrel0J5d9EfB+6wtUdo
         OK1DFs5cH4jpLt/phA7piTVVNAPAqFHYeWLWD75otETYTjVx+M6qOoJ06IAWtyTbwN1v
         dePzcyCVeuAgdIPMmjRg2rl6Z5pJ07CgiRpbo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714140102; x=1714744902;
        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=9ZvV3Mym1kuc7YfIbhz+MVBip/WpHkSahKxnh4HzZJE=;
        b=L0ZiMv06rpG2urOfGubWiMVijPs6+po6JEcJmT6dfuFEUWtZE/PfYQpNPYg5SaS9+I
         6hNO4hT//CsXqzSucN7gZjJw61SnSp+axsDJYJCrbsNym0S7wU5Bi6b4vC90NHC5m/+Y
         5GeckYR1kU/NiveJ3mUJSz5XwmL1Vo7xA+i/Fwj/w+mjtoD4RWhocHdPAu2e8Y4nQ03v
         ToPkmwRbQKMYdJplLNzz4jnjYL5/mM3quQp26p/yQ9/xJy13TXbhICXWxhqifJ46EHVs
         sB5eoywllVShBCaM9iVJPaNJDDDGJtBFeiuAMV1GNkie822tOPxJXAT0sLHmmXOAc+B7
         p8fA==
X-Gm-Message-State: AOJu0YzyyOV2ugYGOa7C7tDUutBUhbB/UFwNjRcxh3D9UTLO3pSULXvq
	PWukfXLJwne5xmaasAJ9rhByRaUpLXO8DrqULv4ed55TrbYKZgvEm56eYEJQ1VzQuCYdfAeBUhO
	N
X-Google-Smtp-Source: AGHT+IGKH6+W9asgznr0awQHICzV0XMG50OjJHwErUwgg5xgokEK+mbjri2Uv7gAHn/rtfwKKwAWSg==
X-Received: by 2002:a17:906:5851:b0:a52:54d8:6d21 with SMTP id h17-20020a170906585100b00a5254d86d21mr2035389ejs.7.1714140102495;
        Fri, 26 Apr 2024 07:01: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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>
Subject: [PATCH 0/3] x86/boot: Untangling
Date: Fri, 26 Apr 2024 15:01:37 +0100
Message-Id: <20240426140140.465506-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This started out as another series trying to fix CPUID handling for SEV.

I'm still trying to sort out the SEV side of things, but I might need to
resort to something *far* more unpleasant in order to hit 4.19.

This series is some cleanup of module handling from the work I've done so far.
It interacts with the HyperLaunch Boot Module cleanup, but should make it
simpler overall.

Andrew Cooper (3):
  x86/boot: Explain how moving mod[0] works
  x86/boot: Explain discard_initial_images() and untangle PV initrd handling
  x86/boot: Refactor pvh_load_kernel() to have an initrd_len local

 xen/arch/x86/hvm/dom0_build.c |  9 +++++----
 xen/arch/x86/pv/dom0_build.c  | 22 +++++++++++-----------
 xen/arch/x86/setup.c          | 14 +++++++++++++-
 3 files changed, 29 insertions(+), 16 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:01:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:01:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712820.1113678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M96-0008Rg-So; Fri, 26 Apr 2024 14:01:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712820.1113678; Fri, 26 Apr 2024 14:01:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M96-0008RZ-Q9; Fri, 26 Apr 2024 14:01:48 +0000
Received: by outflank-mailman (input) for mailman id 712820;
 Fri, 26 Apr 2024 14:01: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0M94-0008CS-QH
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:01:46 +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 83d2b586-03d5-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 16:01:44 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a587831809eso259910966b.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:01:44 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm10646714ejb.35.2024.04.26.07.01.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07: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: 83d2b586-03d5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714140104; x=1714744904; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fs3g/4u7PsSjEgvku7tHk5LGTz36XpTJalrA46jZNVI=;
        b=mXz57k/0woT2RrscIbN+XoT7vYP4JVv8YhTm85pddcZe7njIhDkvdoKsQtwNLfvTqp
         s+0QIBHWH6te1AMIWACxU9lJrnfy/5xYWMbIAiymiODbbkZ9iUnIF48iNR4ydyWiiYOd
         3+3fO/JZK28okRJNaE1Z7c8Sf4Ep+fiIM5c8Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714140104; x=1714744904;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fs3g/4u7PsSjEgvku7tHk5LGTz36XpTJalrA46jZNVI=;
        b=NzqjPJpmkv7lHtD2QAvQdPpT+rJSl0e2xP+W3K6UjrACeX9OYuBydD7smzYnEwydvW
         UozcNh/sCSuAn3FYJt6zzkQl6QVmBEWkx8MFbBszqQ/pEswJvLe06EzdCNOShIfBqosq
         Og+HFFNZ8xLyraLQDdFfAAQZe4DtWoe+QMsCY8bAtKkXpWbmhxkWSQI5EYAq/BvRa8um
         ENSele3koC7LJA2vFZnFOqXzhBgovHutF7vw4FTY874sX8CcQ8zoFgb9aGPeq271KDwo
         UURX7+AdzIqymNlG5AlAonIEJj4M7aSM8+8dVyZykZKEX+FJ8tFJHPRlYi+KK67pl3dB
         RLug==
X-Gm-Message-State: AOJu0YxeD5kUUU8r5gjcM5yBFNwx4RbDncasBfF622FODXST4nsKGH1g
	JlxyIFyB16qQJ7P5AgwV5X6Ni/gebos4fDeYMMntItcffQVqLWn3q2ogAQ8GHguB83a6ByZwqYQ
	9
X-Google-Smtp-Source: AGHT+IHnij1wJjyb1RladpCBx/rNBYm1byBB9qPuEIty9/cYewQBU0Bh7k5PjK1m5Na4Cqrx/KVI3A==
X-Received: by 2002:a17:906:4a10:b0:a58:c0da:34a3 with SMTP id w16-20020a1709064a1000b00a58c0da34a3mr2008087eju.33.1714140104031;
        Fri, 26 Apr 2024 07:01:44 -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>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>
Subject: [PATCH 1/3] x86/boot: Explain how moving mod[0] works
Date: Fri, 26 Apr 2024 15:01:38 +0100
Message-Id: <20240426140140.465506-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240426140140.465506-1-andrew.cooper3@citrix.com>
References: <20240426140140.465506-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

modules_headroom is a misleading name as it applies strictly to mod[0] only,
and the movement loop is deeply unintuitive and completely undocumented.

Provide help to whomever needs to look at this code next.

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: Daniel Smith <dpsmith@apertussolutions.com>
CC: Christopher Clark <christopher.w.clark@gmail.com>
---
 xen/arch/x86/setup.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index caf235c6286d..59907fae095f 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1432,6 +1432,11 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
         /* Is the region suitable for relocating the multiboot modules? */
         for ( j = mbi->mods_count - 1; j >= 0; j-- )
         {
+            /*
+             * 'headroom' is a guess for the decompressed size and
+             * decompressor overheads of mod[0] (the dom0 kernel).  When we
+             * move mod[0], we incorperate this as extra space at the start.
+             */
             unsigned long headroom = j ? 0 : modules_headroom;
             unsigned long size = PAGE_ALIGN(headroom + mod[j].mod_end);
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:01:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:01:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712821.1113684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M97-0008V6-8k; Fri, 26 Apr 2024 14:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712821.1113684; Fri, 26 Apr 2024 14:01:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M97-0008UY-2e; Fri, 26 Apr 2024 14:01:49 +0000
Received: by outflank-mailman (input) for mailman id 712821;
 Fri, 26 Apr 2024 14: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0M95-0008CS-Hv
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:01:47 +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 847220ec-03d5-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 16:01:45 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a556d22fa93so259910766b.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:01:45 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm10646714ejb.35.2024.04.26.07.01.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07:01: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: 847220ec-03d5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714140105; x=1714744905; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=veQcubcMyTJwESdhZazD648xU+qEXNmLcmOyg8n0kxM=;
        b=vZk8m4RHZPnB5zFFexR7CkcLjAgONhLRWxgf+aW2c+P974T1TuCKT35MpT829MAUft
         P6xCgxtmxzA1l1L3L5u0R7Eh49d7eIFT5EPf2qeremPP4EK/D6smxpbs3KPrMVJI69I9
         au8pPmyKYgFmEL0p/DcZ6Uu5V/RQSL9ongV4M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714140105; x=1714744905;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=veQcubcMyTJwESdhZazD648xU+qEXNmLcmOyg8n0kxM=;
        b=LG+tdoiXQIIohLjAvbuGX1FNFjGSqLJnQJU9RYT5QkTTjNpgnUk0kGpvhPMFjQxpjK
         hGAjF8/RmaKXy8sZVCYby1vtmZLmiL4Aqj4VGfKHzfx4kIcUKJLjlJHeLVmRacovyjBP
         2KVLDaJbkTVonkUoH5wj87UuSzV1Caf7UN1iwptvQ5IQAsDUCu5m/2bujw+kiZEOCEYe
         wOnIoc112YhRUCPGn4okvAZ6ivgTufBKF1dvRK2DWxVfhpluSWzQ3XjWQXjY+oFtplcm
         yM143xIOOZOk1LVThzcJRuAFFUm9jkxA0mPDw4bwyT5TQgGuo4zigPOWzp0FTZB0QsWS
         +13w==
X-Gm-Message-State: AOJu0YzoushOYVpIyJa5uKqLx6m1flMswPBNiXnsl+q13jKRXlggZ88r
	f/nswbcFXnCHynpamLq/j2uUisvnTfWa+pEhqEfIBe+2RHZwjJ7nN8ulCBKv6St93QfQFDZMAw3
	8
X-Google-Smtp-Source: AGHT+IEj8vXvCopGaO4X7dStaBJ9uvmEkLYNnY0dcfRkjLKnRFpM2yYWaQLzOc6QAsV0QYdMaNgRUA==
X-Received: by 2002:a17:906:fa98:b0:a52:36e1:c139 with SMTP id lt24-20020a170906fa9800b00a5236e1c139mr1682397ejb.4.1714140104904;
        Fri, 26 Apr 2024 07:01:44 -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>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>
Subject: [PATCH 2/3] x86/boot: Explain discard_initial_images() and untangle PV initrd handling
Date: Fri, 26 Apr 2024 15:01:39 +0100
Message-Id: <20240426140140.465506-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240426140140.465506-1-andrew.cooper3@citrix.com>
References: <20240426140140.465506-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

discard_initial_images() frees the memory backing the boot modules.  It is
called by dom0_construct_pv{,h}(), but obtains the module list by global
pointer which is why there is no apparent link with the initrd pointer.

Generally, module contents are copied into dom0 as it's being built, but the
initrd for PV dom0 might be directly mapped instead of copied.

dom0_construct_pv() does it's own ad-hoc freeing of the module in the copy
case, and points the global reference at the new copy, then sets the size to
0.  This only functions because init_domheap_pages(x, x) happens to be a nop.

Delete the ad-hoc freeing, and leave it to discard_initial_images().  This
requires (not) adjusting initd->mod_start in the copy case, and only setting
the size to 0 in the mapping case.

Alter discard_initial_images() to explicitly check for an ignored module, and
explain what's going on.  This is more robust and will allow for fixing other
problems with module handling.

The later logic in dom0_construct_pv() now cannot use initrd->mod_start, but
that's fine because initrd_mfn is already a duplicate of the information
wanted, and is more consistent with initrd_{pfn,len} used elsewhere.

Invalidate the initrd pointer with LIST_POISON1 to make it clearer that it
shouldn't be used.

No practical change in behaviour, but a substantial reduction in the
complexity of how this works.

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: Daniel Smith <dpsmith@apertussolutions.com>
CC: Christopher Clark <christopher.w.clark@gmail.com>

In other akward questions, why does initial_images_nrpages() account for all
modules when only 1 or 2 are relevant for how we construct dom0 ?
---
 xen/arch/x86/pv/dom0_build.c | 22 +++++++++++-----------
 xen/arch/x86/setup.c         |  9 ++++++++-
 2 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index d8043fa58a27..64d9984b8308 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -630,18 +630,20 @@ int __init dom0_construct_pv(struct domain *d,
                 }
             memcpy(page_to_virt(page), mfn_to_virt(initrd->mod_start),
                    initrd_len);
-            mpt_alloc = (paddr_t)initrd->mod_start << PAGE_SHIFT;
-            init_domheap_pages(mpt_alloc,
-                               mpt_alloc + PAGE_ALIGN(initrd_len));
-            initrd->mod_start = initrd_mfn = mfn_x(page_to_mfn(page));
+            initrd_mfn = mfn_x(page_to_mfn(page));
         }
         else
         {
             while ( count-- )
                 if ( assign_pages(mfn_to_page(_mfn(mfn++)), 1, d, 0) )
                     BUG();
+            /*
+             * Mapped rather than copied.  Tell discard_initial_images() to
+             * ignore it.
+             */
+            initrd->mod_end = 0;
         }
-        initrd->mod_end = 0;
+        initrd = LIST_POISON1; /* No longer valid to use. */
 
         iommu_memory_setup(d, "initrd", mfn_to_page(_mfn(initrd_mfn)),
                            PFN_UP(initrd_len), &flush_flags);
@@ -653,12 +655,10 @@ int __init dom0_construct_pv(struct domain *d,
     if ( domain_tot_pages(d) < nr_pages )
         printk(" (%lu pages to be allocated)",
                nr_pages - domain_tot_pages(d));
-    if ( initrd )
-    {
-        mpt_alloc = (paddr_t)initrd->mod_start << PAGE_SHIFT;
+    if ( initrd_len )
         printk("\n Init. ramdisk: %"PRIpaddr"->%"PRIpaddr,
-               mpt_alloc, mpt_alloc + initrd_len);
-    }
+               pfn_to_paddr(initrd_mfn),
+               pfn_to_paddr(initrd_mfn) + initrd_len);
 
     printk("\nVIRTUAL MEMORY ARRANGEMENT:\n");
     printk(" Loaded kernel: %p->%p\n", _p(vkern_start), _p(vkern_end));
@@ -881,7 +881,7 @@ int __init dom0_construct_pv(struct domain *d,
         if ( pfn >= initrd_pfn )
         {
             if ( pfn < initrd_pfn + PFN_UP(initrd_len) )
-                mfn = initrd->mod_start + (pfn - initrd_pfn);
+                mfn = initrd_mfn + (pfn - initrd_pfn);
             else
                 mfn -= PFN_UP(initrd_len);
         }
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 59907fae095f..785a46a44995 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -294,7 +294,7 @@ unsigned long __init initial_images_nrpages(nodeid_t node)
     return nr;
 }
 
-void __init discard_initial_images(void)
+void __init discard_initial_images(void) /* a.k.a. free multiboot modules */
 {
     unsigned int i;
 
@@ -302,6 +302,13 @@ void __init discard_initial_images(void)
     {
         uint64_t start = (uint64_t)initial_images[i].mod_start << PAGE_SHIFT;
 
+        /*
+         * Sometimes the initrd is mapped, rather than copied, into dom0.
+         * end=0 signifies that we should leave it alone.
+         */
+        if ( initial_images[i].mod_end == 0 )
+            continue;
+
         init_domheap_pages(start,
                            start + PAGE_ALIGN(initial_images[i].mod_end));
     }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:01:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:01:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712822.1113689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M97-00006g-If; Fri, 26 Apr 2024 14:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712822.1113689; Fri, 26 Apr 2024 14:01:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0M97-00005H-9T; Fri, 26 Apr 2024 14:01:49 +0000
Received: by outflank-mailman (input) for mailman id 712822;
 Fri, 26 Apr 2024 14:01:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0M96-0008CS-Gg
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:01:48 +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 84ef6a17-03d5-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 16:01:46 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a5883518135so255336966b.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:01:46 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 cd9-20020a170906b34900b00a5264576138sm10646714ejb.35.2024.04.26.07.01.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07:01: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: 84ef6a17-03d5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714140106; x=1714744906; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xeM/RCPSV+ID4MLdicSmYmkIWjkyBfbsjTrcmvtyVG4=;
        b=OZ4lOPhN3yh5GHIYkiK6Y69+hb2BKrIPvXPoVsbCPtYBY9XQj3Y5cH52UFB5WWbZhq
         g/p27HExZbFEgZuF0oDzswg6cJZqOrUQvP0P66EFvneqiUSrlo87OgzPO/LF3shPx7SY
         9mPw3rvy9hCuYh2JEnUrsrppbd4YWIZYYZoCg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714140106; x=1714744906;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xeM/RCPSV+ID4MLdicSmYmkIWjkyBfbsjTrcmvtyVG4=;
        b=c94Hpaw303vhxPXvYCJX05NuYjq7nU40XcLBq/nhCAikuEZBjFmxqe7fvEmaxJ29Jh
         eSa8CLqg0YAukzdvQBrVW6yydZqjz0HGfOkZzpCtveEeQg73wXR5FhrWdxHzcQCANHGB
         j8jxBCqeN/1wrKfWqQB7/D7JCyBCgs48ag5bDW/xMEH1v5H3pUABbSTCoDkYHBMdDXuF
         4lXKdqdKXvAdgtpdBUIJbyJ/K2O3q5BywMq6tA5QyIctyRQ1qW4qPhagDw2NIBmIeTq4
         ldGHL6FNvomKS3uCcfkBU8NO0gSP2yhE+oT+Pcdo07vQrP008fxFHVGYZSxTJAmfzVpk
         FgrQ==
X-Gm-Message-State: AOJu0Yy21GO2QqBNhst5u1ikkLtMmbX3tlj3PFKRY+nv3BOh2JCXLzgi
	qOJdvam9/bc4C8G98CD0ZhneLumYaG6d/347tz5eREVMc8EhNt3ESmH78KPglytBbBEcC/6FbnQ
	n
X-Google-Smtp-Source: AGHT+IHXYzsYv7isaIpXd/H2FGGVqrIpSvN9UrZRbkeAhfvNg0Rod0Zj+Jbpr22V3Soh08zCR09Cng==
X-Received: by 2002:a17:906:f748:b0:a55:b021:c0b1 with SMTP id jp8-20020a170906f74800b00a55b021c0b1mr2631322ejb.9.1714140105903;
        Fri, 26 Apr 2024 07:01:45 -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>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Christopher Clark <christopher.w.clark@gmail.com>
Subject: [PATCH 3/3] x86/boot: Refactor pvh_load_kernel() to have an initrd_len local
Date: Fri, 26 Apr 2024 15:01:40 +0100
Message-Id: <20240426140140.465506-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240426140140.465506-1-andrew.cooper3@citrix.com>
References: <20240426140140.465506-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The expression get more complicated when ->mod_end isn't being abused as a
size field.  Introduce and use a initrd_len local variable.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Daniel Smith <dpsmith@apertussolutions.com>
CC: Christopher Clark <christopher.w.clark@gmail.com>
---
 xen/arch/x86/hvm/dom0_build.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index ac71d43a6b3f..b0cb96c3bc76 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -650,6 +650,7 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image,
 {
     void *image_start = image_base + image_headroom;
     unsigned long image_len = image->mod_end;
+    unsigned long initrd_len = initrd ? initrd->mod_end : 0;
     struct elf_binary elf;
     struct elf_dom_parms parms;
     paddr_t last_addr;
@@ -710,7 +711,7 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image,
      * simplify it.
      */
     last_addr = find_memory(d, &elf, sizeof(start_info) +
-                            (initrd ? ROUNDUP(initrd->mod_end, PAGE_SIZE) +
+                            (initrd ? ROUNDUP(initrd_len, PAGE_SIZE) +
                                       sizeof(mod)
                                     : 0) +
                             (cmdline ? ROUNDUP(strlen(cmdline) + 1,
@@ -725,7 +726,7 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image,
     if ( initrd != NULL )
     {
         rc = hvm_copy_to_guest_phys(last_addr, mfn_to_virt(initrd->mod_start),
-                                    initrd->mod_end, v);
+                                    initrd_len, v);
         if ( rc )
         {
             printk("Unable to copy initrd to guest\n");
@@ -733,8 +734,8 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image,
         }
 
         mod.paddr = last_addr;
-        mod.size = initrd->mod_end;
-        last_addr += ROUNDUP(initrd->mod_end, elf_64bit(&elf) ? 8 : 4);
+        mod.size = initrd_len;
+        last_addr += ROUNDUP(initrd_len, elf_64bit(&elf) ? 8 : 4);
         if ( initrd->string )
         {
             char *str = __va(initrd->string);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:03:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:03:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712831.1113709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0MAe-0001sg-Ue; Fri, 26 Apr 2024 14:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712831.1113709; Fri, 26 Apr 2024 14: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 1s0MAe-0001sZ-Rd; Fri, 26 Apr 2024 14:03:24 +0000
Received: by outflank-mailman (input) for mailman id 712831;
 Fri, 26 Apr 2024 14:03: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 1s0MAd-0001sN-TA; Fri, 26 Apr 2024 14:03: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 1s0MAd-0008GT-S4; Fri, 26 Apr 2024 14:03: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 1s0MAd-0003xj-HF; Fri, 26 Apr 2024 14:03:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0MAd-0005M7-Gd; Fri, 26 Apr 2024 14:03:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8hTzDra1mHus1gRojydsf+usHtEIk/4pyz7dhjIZ04M=; b=ULUO4dF7eJwZVYhHvCoXgJP9Lc
	4SJZmfP7GE/5N1JqCphWq5cfXTIx2J0L5orHCKkauQ7S7FLkt68X85Ah8dvhQcyrvjt3Jt0LeA7Lw
	ET0iLWaNmq97PTY4Szh0chj1lpRJO9fti5uQ0FxFYe14C0FxasGBVGwPKrz5vtBdkOik=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185804-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185804: 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-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:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-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=5540c3d2415c194b206f8946cf74b13648163332
X-Osstest-Versions-That:
    libvirt=948d496d2546807e8c3af634fa982615b2a3153b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 14:03:23 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185793
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt     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-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              5540c3d2415c194b206f8946cf74b13648163332
baseline version:
 libvirt              948d496d2546807e8c3af634fa982615b2a3153b

Last test of basis   185793  2024-04-25 04:22:04 Z    1 days
Testing same since   185804  2024-04-26 04:20:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          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
   948d496d25..5540c3d241  5540c3d2415c194b206f8946cf74b13648163332 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:33:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:33:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712855.1113724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Mdo-0000GY-69; Fri, 26 Apr 2024 14:33:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712855.1113724; Fri, 26 Apr 2024 14:33: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 1s0Mdo-0000GR-3X; Fri, 26 Apr 2024 14:33:32 +0000
Received: by outflank-mailman (input) for mailman id 712855;
 Fri, 26 Apr 2024 14:33:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/P6z=L7=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1s0Mdm-0000Fn-TP
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:33:30 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e88::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f229a3c4-03d9-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 16:33:29 +0200 (CEST)
Received: from CH0PR13CA0028.namprd13.prod.outlook.com (2603:10b6:610:b1::33)
 by SJ1PR12MB6169.namprd12.prod.outlook.com (2603:10b6:a03:45c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 14:33:24 +0000
Received: from CH1PEPF0000AD78.namprd04.prod.outlook.com
 (2603:10b6:610:b1:cafe::53) by CH0PR13CA0028.outlook.office365.com
 (2603:10b6:610:b1::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.18 via Frontend
 Transport; Fri, 26 Apr 2024 14:33:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD78.mail.protection.outlook.com (10.167.244.56) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7452.22 via Frontend Transport; Fri, 26 Apr 2024 14:33:23 +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.35; Fri, 26 Apr
 2024 09:33:23 -0500
Received: from [172.20.132.216] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Fri, 26 Apr 2024 09:33: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: f229a3c4-03d9-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C1ojq8+SFUa25LR9tOz9+pt5GjNx2tYayTUKhJxzAgeDboHPEGZOD3m30TbUwhAjrobudov4bZjRbeO5zC+m+cR/a6+O9WpB1EhKmaYnuC3VBYavu8xMNn5DOgZHYkvx1BbLGAtY5JzukIbkZ41RH6M5fT7v7ZpY8538qGt3TWvnO24LJ+95gz3nzn9t39NEup4z8IDYIgbUs5CGiZG4eAvvF5bCqK27RAnfqpzberugjsziNOUr5uX3oCPA1fyu2h5I8Yg5rWXikP21eW89uADZrh42yge4SM6UF5xcIfqcuOd09uDaEY9Az/myGDxIE8BUvuL39OS7orth2bg3ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vpx/cFxweS61wRRRkOw84SPvY4PtH2Glydv/7cYPezA=;
 b=XMrbDOpMM9B6F0Ld6t4H5yuJvtjBL32/8nir92BitdCdMeaA29SMBLqE3/ppdirV0gVnN8WxfuVRAR5ajmFS4ViOTXrM9NBhJR2GyqBn/0XiCBzEhxCZYuw07VigKeYHKmbx95BdxYBdzLqQstKY+Ei/fx+o39oYlxAHwwB4gerjrvZdnQkwzfl5X6abWOx9f7mg4zPtS+/LjKnQ1GuyjyIbth2K2UOhV1AxrKniMkVFVELu8oLdwEb+hyPFue8qMhqBkPRc5/AYBRBeiSV45SXsN8AMzsxo8BeofK2S18rX6WrxNDL7AGRkq78VTVdDdfn9nJUyfIxFuF8hWUWOMw==
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=Vpx/cFxweS61wRRRkOw84SPvY4PtH2Glydv/7cYPezA=;
 b=Z7H9sTl0rMGr/Pc8mFhm0tRzA29gBdjlfeAKkO/Yq7jbBcB8sJhXyPtHn4bs7o+u2J6bTESe1UMSF8DgFoU8qg5TPmH0wIDtilI5sC6G+Ej1XfAAt6VRVea35ncb+js8BPkWBEkzUdlEclgAINQCXXwYHtpS6bWJoAYkJFkisM8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <261fce46-56e9-4a7e-8f2f-b741bf5b8251@amd.com>
Date: Fri, 26 Apr 2024 10:33:16 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/spinlock: use correct pointer
To: Jan Beulich <jbeulich@suse.com>
CC: Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20240425204547.658536-1-stewart.hildebrand@amd.com>
 <08165a0d-d8ee-4405-ba04-e1cfb51489b4@suse.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <08165a0d-d8ee-4405-ba04-e1cfb51489b4@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD78:EE_|SJ1PR12MB6169:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d1d038c-236d-46c6-c53f-08dc65fdd413
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eDhwaStNMnhUeVpLRVFweDdlTTUrR0dmenlnelR5K0pKaDM2WWFFdlVjUmlr?=
 =?utf-8?B?MVJVNHF5Mkp1eldjWFJOU0U5QkEwUWM5dkdzVFE5WmFwc3MvbkhwUGpVMkRI?=
 =?utf-8?B?S0E5c0lFcHJWRTlhVVJvOHZIZytuMEtRaC9TRG1BQXZzcEVKbngvblVYci9J?=
 =?utf-8?B?d1hqZHVXcGQ3cVJQa3RtVWdaOHJJTzlweUZBcTlBeXRRdkJkQnlWdVh2TWJN?=
 =?utf-8?B?amxQZW5GQ2ZaV1lHc1RFa2xDTVh4VWJTZjhtdVptdmdGQ1liMXZmdDRJcy9x?=
 =?utf-8?B?QmNRRGpFcGZpbTNQc2Ixa2UyY1hMZGdnS3dPVG9RYzhjVjU3b29UMzBpV1lL?=
 =?utf-8?B?MmZaRjF2KzhOUGtkcXYwYlgrVThibmJtNmZLM2FsN1lvMEhWVXdBQlp6NThv?=
 =?utf-8?B?bnA2L2tXS0JRMG14aUQ2c3F1eHMzcE4veTFNZzRIeER5empvcUVTQ0VMdEJ6?=
 =?utf-8?B?aDhObVlsd2JnVlRvVThua2dpaHFKWW95SzczcVU4QXVXbkIvaHR0czBRU1A1?=
 =?utf-8?B?VzlIeE5KUW9RbEtBNDRPZjNFcGpieThIajBwZG8xMjFvSjVOc3djN1U3WEZZ?=
 =?utf-8?B?Vm5uMVMrcUxIMDJ6bDB1endYeGVGZ0hEZ0tmdmo5UmpDZ0ZDbFlBdVduSVN4?=
 =?utf-8?B?eFNaMlFscjduZ3FLWDhTS2J2M2psSUpLK3N1ZC9xR09sWEE5VUxMWm1NaGxn?=
 =?utf-8?B?MFhMbVdEWWFTS0wzbU5rdktoTjh0eWxTRWIrby9pUXdEb1hYVlg3M2F3b2sw?=
 =?utf-8?B?dUUrZEVJUnN6Yy9sUFdLMW1nS0xaLzd1ajJVb3Z5b2pDR0dVZmxUM0J0b1RN?=
 =?utf-8?B?Y0I3czA5aVFEMEpTdUVDQ3NEdFFVQWV0ZHNRQTBVY1ZESXVnTktBL3UvbnNs?=
 =?utf-8?B?bmZqTnBIUjg5M09TMUhQQlhZQVBqTktqTUhlY0JXMGF6U0h1Yk1rQ1k5aEJv?=
 =?utf-8?B?bElCWXVhZkFOcExXT1h3SzdEUmdUeE52aTY2MExnZVJhUUpLLzMrQjBwZHFi?=
 =?utf-8?B?VCtkS2wyQ0J4aFZ4cW56K082T2prKzF3SlNYNTJXRTYzbFhnL1VEbEYvU3dt?=
 =?utf-8?B?enhSVnhWS0FUMTZ2N0RPQVdhQ3U5V0QwNy8xTjE4VXNLVVdKUjI1RkJsbHV2?=
 =?utf-8?B?bDRwMi9mUEJMdDZEWWhBOFdrZWRBZDJScHErQVkxSkxtZitmUkxnZFZ6RTZx?=
 =?utf-8?B?ZStkZFV4WWF6Qk5sOWNyLzBEL01WZnZKZTh5cFlMbGhzVVgxR0JsRWRGY08r?=
 =?utf-8?B?UWZyNk9wNEk2UkhIcDBheHVVSFdvWE9iQlVLR1h3c1FPTng4eXhCRDVVT1dI?=
 =?utf-8?B?dmRiYkc3ZVhaeko2cG9Jd0FJb2p2WUhrQjFSYzhnMS8yaTZhK29rbTBmQTJh?=
 =?utf-8?B?SGNzY2krQ29ieThJQzU3Z1ZQU3QrelBVdUc2ZFJjMXJNZXFqeFV3M2puZEVo?=
 =?utf-8?B?WUtDWmcwdnl3Z3YrOEtEOEZ6T3ZVNmFmVHdjRjV0ZndFOFNqVVNmc1BwQm1N?=
 =?utf-8?B?MnFmTEhSZEorT0V6RDJtM2tQTW9Od3pZa2JKb1pPYU1oaG5CRjZIRThNQ05v?=
 =?utf-8?B?eE0xdWtTVVZIRGt4VVFZNkdKMmVmMEtndHJtRTh3dWh0ZlBvajVuUlJaTTZV?=
 =?utf-8?B?TFFYTER3WjBudXZyMGRnamRnemZNVTZQcFN2Tmh3K1hocG9HUmtSVkpRRjc4?=
 =?utf-8?B?T0Q2VkIwLzlINDByY2x0MWxLRW9oUXJDd1VrMXZuM1pEdkd0TWkySVNwakhh?=
 =?utf-8?B?NGNUSUVRQU5UY1VScjVhWGNhVExHakk2SFdCQU01bDQ3alJrOWFtb2hsSVZU?=
 =?utf-8?B?YTk3all3aCtyblE4L1BSYlR2d0xTVXdSbVQ0L21weGZPSnZTdEZqa2pTYkl2?=
 =?utf-8?Q?rJLg0sAwzthXH?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(82310400014)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 14:33:23.7714
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d1d038c-236d-46c6-c53f-08dc65fdd413
X-MS-Exchange-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:
	CH1PEPF0000AD78.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6169

On 4/26/24 02:31, Jan Beulich wrote:
> On 25.04.2024 22:45, Stewart Hildebrand wrote:
>> The ->profile member is at different offsets in struct rspinlock and
>> struct spinlock. When initializing the profiling bits of an rspinlock,
>> an unrelated member in struct rspinlock was being overwritten, leading
>> to mild havoc. Use the correct pointer.
>>
>> Fixes: b053075d1a7b ("xen/spinlock: make struct lock_profile rspinlock_t aware")
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks!

> 
>> --- a/xen/common/spinlock.c
>> +++ b/xen/common/spinlock.c
>> @@ -789,7 +789,11 @@ static int __init cf_check lock_prof_init(void)
>>      {
>>          (*q)->next = lock_profile_glb_q.elem_q;
>>          lock_profile_glb_q.elem_q = *q;
>> -        (*q)->ptr.lock->profile = *q;
>> +
>> +        if ( (*q)->is_rlock )
>> +            (*q)->ptr.rlock->profile = *q;
>> +        else
>> +            (*q)->ptr.lock->profile = *q;
>>      }
>>  
>>      _lock_profile_register_struct(LOCKPROF_TYPE_GLOBAL,
> 
> Just to mention it: Strictly speaking spinlock_profile_print_elem()'s
> 
>     printk("%s: addr=%p, lockval=%08x, ", data->name, data->ptr.lock, lockval);
> 
> isn't quite right either (and I would be surprised if Misra didn't have
> to say something about it).
> 
> Jan

I'd be happy to send a patch for that instance, too. Would you like a
Reported-by: tag?

That patch would look something like:

--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -637,22 +637,25 @@ static void cf_check spinlock_profile_print_elem(struct lock_profile *data,
 {
     unsigned int cpu;
     unsigned int lockval;
+    void *lockaddr;
 
     if ( data->is_rlock )
     {
         cpu = data->ptr.rlock->debug.cpu;
         lockval = data->ptr.rlock->tickets.head_tail;
+        lockaddr = data->ptr.rlock;
     }
     else
     {
         cpu = data->ptr.lock->debug.cpu;
         lockval = data->ptr.lock->tickets.head_tail;
+        lockaddr = data->ptr.lock;
     }
 
     printk("%s ", lock_profile_ancs[type].name);
     if ( type != LOCKPROF_TYPE_GLOBAL )
         printk("%d ", idx);
-    printk("%s: addr=%p, lockval=%08x, ", data->name, data->ptr.lock, lockval);
+    printk("%s: addr=%p, lockval=%08x, ", data->name, lockaddr, lockval);
     if ( cpu == SPINLOCK_NO_CPU )
         printk("not locked\n");
     else


That case is benign since the pointer is not dereferenced. So the
rationale would primarily be for consistency (and possibly satisfying
Misra).


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:43:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712866.1113765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Mmx-0003Nz-Rj; Fri, 26 Apr 2024 14:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712866.1113765; Fri, 26 Apr 2024 14: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 1s0Mmx-0003No-OE; Fri, 26 Apr 2024 14:42:59 +0000
Received: by outflank-mailman (input) for mailman id 712866;
 Fri, 26 Apr 2024 14: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=duI6=L7=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1s0Mmw-0002dZ-8z
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:42:58 +0000
Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com
 [2607:f8b0:4864:20::72e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44b6d903-03db-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 16:42:56 +0200 (CEST)
Received: by mail-qk1-x72e.google.com with SMTP id
 af79cd13be357-78edc3e80e6so150387885a.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:42:56 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 wx37-20020a05620a5a6500b0078eebee6a49sm6391956qkn.85.2024.04.26.07.42.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07:42: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: 44b6d903-03db-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714142575; x=1714747375; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p8yn6T7IqQEgUAHalNDjkKfmuSaFoqQRiuEkZOIS95g=;
        b=N70R86irYQb6knMO0NpHp2/3HXcK8j6uMN4wxlIhPLUrZgoP9VJHCaJ+VjKKh2JRUt
         yHs87aAOdPuN6sUCAd8UR12Qnco+YN+lehAjz0m2YUUYtVzsFE+QZ55kWUeVT0qCOaHq
         KfkIiA579DMv38NnO3uU8FD/rq3ycswURmt7U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714142575; x=1714747375;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=p8yn6T7IqQEgUAHalNDjkKfmuSaFoqQRiuEkZOIS95g=;
        b=CicynZqnxUTH7OUvQ8p/BZHJcvhRgJ305fZbKR0TlT52G566hifJgau+0VaR9u23/6
         lfwBM4Ay6f2ti3kACFdLiG4rE3rvnaEPwkMROovzhJShkCFAY/2xkZ2b55VAkzJlBDMg
         pbLSIYs+v7RItkQTkETAz12QwAfSJ4R2P0epAylc73xQNOfQPXEaZlKhnfmc3UbY1viR
         ClvHfUnH7ML4RFu2bubTrySePoPQ8Fau1JDXvp3pTPDNm4pVg5IIBVbnpbvyvCpPYZgg
         wsZeATT+3JYDvcd9xjV++S08SKJmZbZAxMHsCmaYvl4XVHYyLjH4Hv4XH9gi3w99R5Lr
         Nj+A==
X-Gm-Message-State: AOJu0YyBzJRoSOlWSamnVYHZ5Fe2ZJQvvbT6N9YDuH29kpS6Pp8O65bv
	4SIVRoHyyL5C2/bXzHySMy6W6q3pB2R2gh4yfROmh+wgh7+CiPErETqFPIAP0Ggvxd2NoZJs5R1
	O
X-Google-Smtp-Source: AGHT+IFTOkjGoE/3qNYPx0N2ULtnSyh6LwT5cbhmi/jXnG10kYGNE5s7OblY+msDpdZLUKjMET1NEw==
X-Received: by 2002:a05:620a:562b:b0:78d:76f9:1790 with SMTP id vv11-20020a05620a562b00b0078d76f91790mr2873516qkn.77.1714142574709;
        Fri, 26 Apr 2024 07:42:54 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@cloud.com>,
	Anthony Perard <anthony.perard@cloud.com>,
	Olaf Hering <olaf@aepfle.de>
Subject: [PATCH 3/3] tools/xentrace: Remove xentrace_format
Date: Fri, 26 Apr 2024 15:32:31 +0100
Message-Id: <20240426143231.4007671-4-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240426143231.4007671-1-george.dunlap@cloud.com>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xentrace_format was always of limited utility, since trace records
across pcpus were processed out of order; it was superseded by xenalyze
over a decade ago.

But for several releases, the `formats` file it has depended on for
proper operation has not even been included in `make install` (which
generally means it doesn't get picked up by distros either); yet
nobody has seemed to complain.

Simple remove xentrace_format, and point people to xenalyze instead.

NB that there is no man page for xenalyze, so the "see also" on the
xentrace man page is simply removed for now.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@cloud.com>
CC: Anthony Perard <anthony.perard@cloud.com>
CC: Olaf Hering <olaf@aepfle.de>
---
 docs/man/xentrace.8.pod        |   5 +-
 docs/man/xentrace_format.1.pod |  46 ------
 tools/xentrace/Makefile        |   3 -
 tools/xentrace/formats         | 231 -----------------------------
 tools/xentrace/xentrace.c      |   2 +-
 tools/xentrace/xentrace_format | 264 ---------------------------------
 6 files changed, 2 insertions(+), 549 deletions(-)

diff --git a/docs/man/xentrace.8.pod b/docs/man/xentrace.8.pod
index 4c174a84c0..7c9f69c67f 100644
--- a/docs/man/xentrace.8.pod
+++ b/docs/man/xentrace.8.pod
@@ -20,7 +20,7 @@ D1...D5 are the trace data.
 Data is dumped onto the standard output (which must not be a TTY) or a
 I<FILE> specified on the command line.
 
-The output should be parsed using the tool xentrace_format, which can
+The output should be parsed using the tool xenalyze, which can
 produce human-readable output in ASCII format.
 
 
@@ -157,6 +157,3 @@ B<xentrace> collects the following events from the trace buffer:
 
 Mark A. Williamson <mark.a.williamson@intel.com>
 
-=head1 SEE ALSO
-
-xentrace_format(1)
diff --git a/docs/man/xentrace_format.1.pod b/docs/man/xentrace_format.1.pod
deleted file mode 100644
index e05479a83b..0000000000
--- a/docs/man/xentrace_format.1.pod
+++ /dev/null
@@ -1,46 +0,0 @@
-=head1 NAME
-
-xentrace_format - pretty-print Xen trace data
-
-=head1 SYNOPSIS
-
-B<xentrace_format> [ I<DEFS-FILE> ]
-
-=head1 DESCRIPTION
-
-B<xentrace_format> parses trace data in B<xentrace> binary format from
-standard input and reformats it according to the rules in a file of
-definitions (I<DEFS-FILE>), printing to standard output.
-
-The rules in I<DEFS-FILE> should have the format shown below:
-
-I<event_id> I<whitespace> I<format>
-
-Each rule should start on a new line.
-
-The format string may include format specifiers, such as:
-%(cpu)d, %(tsc)d, %(event)d, %(1)d, %(2)d, %(3)d, %(4)d, %(5)d
-
-[ the `d' format specifier output in decimal, alternatively `x'
-  will output in hexadecimal and `o' will output in octal ]
-
-These correspond to the CPU number, event ID, timestamp counter and
-the 5 data fields from the trace record.  There should be one such
-rule for each type of event to be pretty-printed (events which do not
-have formatting rules are ignored).
-
-A sample format file for Xen's predefined trace events is available
-in the file tools/xentrace/formats in the Xen source tree.
-
-Depending on your system and the rate at which trace data is produced,
-this script may not be able to keep up with the output of
-B<xentrace> if it is piped directly.  In these circumstances you
-should have B<xentrace> output to a file for processing off-line.
-
-=head1 AUTHOR
-
-Mark A. Williamson <mark.a.williamson@intel.com>
-
-=head1 SEE ALSO
-
-xentrace(8)
diff --git a/tools/xentrace/Makefile b/tools/xentrace/Makefile
index d50d400472..bf960c0867 100644
--- a/tools/xentrace/Makefile
+++ b/tools/xentrace/Makefile
@@ -10,7 +10,6 @@ LDLIBS += $(ARGP_LDFLAGS)
 BIN     := xenalyze
 SBIN    := xentrace xentrace_setsize
 LIBBIN  := xenctx
-SCRIPTS := xentrace_format
 
 TARGETS := $(BIN) $(SBIN) $(LIBBIN)
 
@@ -24,13 +23,11 @@ install: all
 	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
 	$(INSTALL_PROG) $(BIN) $(DESTDIR)$(bindir)
 	$(INSTALL_PROG) $(SBIN) $(DESTDIR)$(sbindir)
-	$(INSTALL_PYTHON_PROG) $(SCRIPTS) $(DESTDIR)$(bindir)
 	$(INSTALL_PROG) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
 
 .PHONY: uninstall
 uninstall:
 	rm -f $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/, $(LIBBIN))
-	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
 	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(SBIN))
 	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(BIN))
 
diff --git a/tools/xentrace/formats b/tools/xentrace/formats
deleted file mode 100644
index 3381c1cda5..0000000000
--- a/tools/xentrace/formats
+++ /dev/null
@@ -1,231 +0,0 @@
-0x00000000  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  unknown (0x%(event)016x)  [ 0x%(1)08x 0x%(2)08x 0x%(3)08x 0x%(4)08x 0x%(5)08x 0x%(6)08x 0x%(7)08x ]
-
-0x0001f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  lost_records      0x%(1)08x
-0x0001f002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  wrap_buffer       0x%(1)08x
-0x0001f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  cpu_change        0x%(1)08x
-0x0001f004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trace_irq    [ vector = %(1)d, count = %(2)d, tot_cycles = 0x%(3)08x, max_cycles = 0x%(4)08x ]
-
-0x00021002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  continue_running    [ dom:vcpu = 0x%(1)08x ]
-0x00021011  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  running_to_runnable [ dom:vcpu = 0x%(1)08x ]
-0x00021021  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  running_to_blocked  [ dom:vcpu = 0x%(1)08x ]
-0x00021031  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  running_to_offline  [ dom:vcpu = 0x%(1)08x ]
-0x00021101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  runnable_to_running [ dom:vcpu = 0x%(1)08x ]
-0x00021121  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  runnable_to_blocked [ dom:vcpu = 0x%(1)08x ]
-0x00021131  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  runnable_to_offline [ dom:vcpu = 0x%(1)08x ]
-0x00021201  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  blocked_to_running  [ dom:vcpu = 0x%(1)08x ]
-0x00021211  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  blocked_to_runnable [ dom:vcpu = 0x%(1)08x ]
-0x00021231  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  blocked_to_offline  [ dom:vcpu = 0x%(1)08x ]
-0x00021301  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  offline_to_running  [ dom:vcpu = 0x%(1)08x ]
-0x00021311  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  offline_to_runnable [ dom:vcpu = 0x%(1)08x ]
-0x00021321  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  offline_to_blocked  [ dom:vcpu = 0x%(1)08x ]
-
-0x00028001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  sched_add_domain  [ domid = 0x%(1)08x ]
-0x00028002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  sched_rem_domain  [ domid = 0x%(1)08x ]
-0x00028003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  domain_sleep      [ dom:vcpu = 0x%(1)04x%(2)04x ]
-0x00028004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  domain_wake       [ dom:vcpu = 0x%(1)04x%(2)04x ]
-0x00028005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  do_yield          [ dom:vcpu = 0x%(1)04x%(2)04x ]
-0x00028006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  do_block          [ dom:vcpu = 0x%(1)04x%(2)04x ]
-0x00028007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  domain_shutdown	  [ dom:vcpu = 0x%(1)04x%(2)04x, reason = 0x%(3)08x ]
-0x00028008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  sched_ctl
-0x00028009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  sched_adjdom      [ domid = 0x%(1)08x ]
-0x0002800a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  __enter_scheduler [ prev<dom:vcpu> = 0x%(1)04x%(2)04x, next<dom:vcpu> = 0x%(3)04x%(4)04x ]
-0x0002800b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  s_timer_fn
-0x0002800c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  t_timer_fn
-0x0002800d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  dom_timer_fn
-0x0002800e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  switch_infprev    [ dom:vcpu = 0x%(1)04x%(2)04x, runtime = %(3)d ]
-0x0002800f  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  switch_infnext    [ new_dom:vcpu = 0x%(1)04x%(2)04x, time = %(3)d, r_time = %(4)d ]
-0x00028010  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  domain_shutdown_code [ dom:vcpu = 0x%(1)04x%(2)04x, reason = 0x%(3)08x ]
-0x00028011  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  switch_infcont    [ dom:vcpu = 0x%(1)04x%(2)04x, runtime = %(3)d, r_time = %(4)d ]
-
-0x00022001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:sched_tasklet
-0x00022002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:account_start [ dom:vcpu = 0x%(1)04x%(2)04x, active = %(3)d ]
-0x00022003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:account_stop  [ dom:vcpu = 0x%(1)04x%(2)04x, active = %(3)d ]
-0x00022004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:stolen_vcpu   [ dom:vcpu = 0x%(2)04x%(3)04x, from = %(1)d ]
-0x00022005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:picked_cpu    [ dom:vcpu = 0x%(1)04x%(2)04x, cpu = %(3)d ]
-0x00022006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:tickle        [ cpu = %(1)d ]
-0x00022007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:boost         [ dom:vcpu = 0x%(1)04x%(2)04x ]
-0x00022008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:unboost       [ dom:vcpu = 0x%(1)04x%(2)04x ]
-0x00022009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:schedule      [ cpu[16]:tasklet[8]:idle[8] = %(1)08x ]
-0x0002200A  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:ratelimit     [ dom:vcpu = 0x%(1)08x, runtime = %(2)d ]
-0x0002200B  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched:steal_check   [ peer_cpu = %(1)d, checked = %(2)d ]
-
-0x00022201  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:tick
-0x00022202  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:runq_pos       [ dom:vcpu = 0x%(1)08x, pos = %(2)d]
-0x00022203  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:credit burn    [ dom:vcpu = 0x%(1)08x, credit = %(2)d, budget = %(3)d, delta = %(4)d ]
-0x00022204  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:credit_add
-0x00022205  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:tickle_check   [ dom:vcpu = 0x%(1)08x, credit = %(2)d, score = %(3)d ]
-0x00022206  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:tickle         [ cpu = %(1)d ]
-0x00022207  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:credit_reset   [ dom:vcpu = 0x%(1)08x, cr_start = %(2)d, cr_end = %(3)d ]
-0x00022208  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:sched_tasklet
-0x00022209  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:update_load
-0x0002220a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:runq_assign    [ dom:vcpu = 0x%(1)08x, rq_id = %(2)d ]
-0x0002220b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:updt_vcpu_load [ dom:vcpu = 0x%(3)08x, vcpuload = 0x%(2)08x%(1)08x, wshift = %(4)d ]
-0x0002220c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:updt_runq_load [ rq_load[16]:rq_id[8]:wshift[8] = 0x%(5)08x, rq_avgload = 0x%(2)08x%(1)08x, b_avgload = 0x%(4)08x%(3)08x ]
-0x0002220d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:tickle_new     [ dom:vcpu = 0x%(1)08x, processor = %(2)d credit = %(3)d ]
-0x0002220e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:runq_max_weight [ rq_id[16]:max_weight[16] = 0x%(1)08x ]
-0x0002220f  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:migrrate       [ dom:vcpu = 0x%(1)08x, rq_id[16]:trq_id[16] = 0x%(2)08x ]
-0x00022210  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:load_check     [ lrq_id[16]:orq_id[16] = 0x%(1)08x, delta = %(2)d ]
-0x00022211  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:load_balance   [ l_bavgload = 0x%(2)08x%(1)08x, o_bavgload = 0x%(4)08x%(3)08x, lrq_id[16]:orq_id[16] = 0x%(5)08x ]
-0x00022212  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:pick_cpu       [ b_avgload = 0x%(2)08x%(1)08x, dom:vcpu = 0x%(3)08x, rq_id[16]:new_cpu[16] = %(4)d ]
-0x00022213  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:runq_candidate [ dom:vcpu = 0x%(1)08x, credit = %(3)d, tickled_cpu = %(2)d ]
-0x00022214  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:schedule       [ rq:cpu = 0x%(1)08x, tasklet[8]:idle[8]:smt_idle[8]:tickled[8] = %(2)08x ]
-0x00022215  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:ratelimit      [ dom:vcpu = 0x%(1)08x, runtime = %(2)d ]
-0x00022216  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  csched2:runq_cand_chk  [ dom:vcpu = 0x%(1)08x ]
-
-0x00022801  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:tickle        [ cpu = %(1)d ]
-0x00022802  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:runq_pick     [ dom:vcpu = 0x%(1)08x, cur_deadline = 0x%(3)08x%(2)08x, cur_budget = 0x%(5)08x%(4)08x ]
-0x00022803  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:burn_budget   [ dom:vcpu = 0x%(1)08x, cur_budget = 0x%(3)08x%(2)08x, delta = %(4)d ]
-0x00022804  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:repl_budget   [ dom:vcpu = 0x%(1)08x, cur_deadline = 0x%(3)08x%(2)08x, cur_budget = 0x%(5)08x%(4)08x ]
-0x00022805  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:sched_tasklet
-0x00022806  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtds:schedule      [ cpu[16]:tasklet[8]:idle[4]:tickled[4] = %(1)08x ]
-
-0x00022A01  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  null:pick_cpu      [ dom:vcpu = 0x%(1)08x, new_cpu = %(2)d ]
-0x00022A02  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  null:assign        [ dom:vcpu = 0x%(1)08x, cpu = %(2)d ]
-0x00022A03  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  null:deassign      [ dom:vcpu = 0x%(1)08x, cpu = %(2)d ]
-0x00022A04  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  null:migrate       [ dom:vcpu = 0x%(1)08x, new_cpu:cpu = 0x%(2)08x ]
-0x00022A05  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  null:schedule      [ cpu[16]:tasklet[16] = %(1)08x, dom:vcpu = 0x%(2)08x ]
-0x00022A06  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  null:sched_tasklet
-
-0x00041001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  domain_create   [ dom = 0x%(1)08x ]
-0x00041002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  domain_destroy  [ dom = 0x%(1)08x ]
-
-0x00081001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMENTRY
-0x00081002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMX_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(2)08x ]
-0x00081102  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMX_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(3)08x%(2)08x ]
-0x00081003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  SVM_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(2)08x ]
-0x00081103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  SVM_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(3)08x%(2)08x ]
-0x00081401  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  nVMENTRY
-0x00081402  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  nVMEXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(2)08x ]
-0x00081502  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  nVMEXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(3)08x%(2)08x ]
-0x00082001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  PF_XEN      [ errorcode = 0x%(2)02x, virt = 0x%(1)08x ]
-0x00082101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  PF_XEN      [ errorcode = 0x%(3)02x, virt = 0x%(2)08x%(1)08x ]
-0x00082002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  PF_INJECT   [ errorcode = 0x%(1)02x, virt = 0x%(2)08x ]
-0x00082102  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  PF_INJECT   [ errorcode = 0x%(1)02x, virt = 0x%(3)08x%(2)08x ]
-0x00082003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  INJ_EXC     [ vector = 0x%(1)02x, errorcode = 0x%(2)04x ]
-0x00082004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  INJ_VIRQ    [ vector = 0x%(1)02x, fake = %(2)d ]
-0x00082005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  REINJ_VIRQ  [ vector = 0x%(1)02x ]
-0x00082006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  IO_READ     [ port = 0x%(1)04x, size = %(2)d ]
-0x00082007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  IO_WRITE    [ port = 0x%(1)04x, size = %(2)d ]
-0x00082008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  CR_READ     [ CR# = %(1)d, value = 0x%(2)08x ]
-0x00082108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  CR_READ     [ CR# = %(1)d, value = 0x%(3)08x%(2)08x ]
-0x00082009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  CR_WRITE    [ CR# = %(1)d, value = 0x%(2)08x ]
-0x00082109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  CR_WRITE    [ CR# = %(1)d, value = 0x%(3)08x%(2)08x ]
-0x0008200A  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  DR_READ    
-0x0008200B  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  DR_WRITE
-0x0008200C  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  MSR_READ    [ MSR# = 0x%(1)08x, value = 0x%(3)08x%(2)08x ]
-0x0008200D  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  MSR_WRITE   [ MSR# = 0x%(1)08x, value = 0x%(3)08x%(2)08x ]
-0x0008200E  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  CPUID       [ func = 0x%(1)08x, eax = 0x%(2)08x, ebx = 0x%(3)08x, ecx=0x%(4)08x, edx = 0x%(5)08x ]
-0x0008200F  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  INTR        [ vector = 0x%(1)02x ]
-0x00082010  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  NMI
-0x00082011  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  SMI
-0x00082012  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMMCALL     [ func = 0x%(1)08x ]
-0x00082013  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  HLT         [ intpending = %(1)d ]
-0x00082014  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  INVLPG      [ is invlpga? = %(1)d, virt = 0x%(2)08x ]
-0x00082114  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  INVLPG      [ is invlpga? = %(1)d, virt = 0x%(3)08x%(2)08x ]
-0x00082015  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  MCE
-0x00082016  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  IOPORT_READ [ port = 0x%(1)04x, data = 0x%(2)08x ]
-0x00082216  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  IOPORT_WRITE [ port = 0x%(1)04x, data = 0x%(2)08x ]
-0x00082017  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  MMIO_READ   [ port = 0x%(1)08x, data = 0x%(2)08x ]
-0x00082217  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  MMIO_WRITE  [ port = 0x%(1)08x, data = 0x%(2)08x ]
-0x00082018  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  CLTS
-0x00082019  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  LMSW        [ value = 0x%(1)08x ]
-0x00082119  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  LMSW        [ value = 0x%(2)08x%(1)08x ]
-0x0008201a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  RDTSC       [ value = 0x%(2)08x%(1)08x ]
-0x00082020  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  INTR_WINDOW [ value = 0x%(1)08x ]
-0x00082021  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  NPF         [ gpa = 0x%(2)08x%(1)08x mfn = 0x%(4)08x%(3)08x qual = 0x%(5)04x p2mt = 0x%(6)04x ]
-0x00082023  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  TRAP        [ vector = 0x%(1)02x ]
-
-0x0010f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_map      [ domid = %(1)d ]
-0x0010f002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_unmap    [ domid = %(1)d ]
-0x0010f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_grant_transfer [ domid = %(1)d ]
-0x0010f005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  decrease_reservation   [ d%(3)d gfn 0x%(2)08x%(1)08x, order %(4)u ]
-0x0010f010  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  pod_populate           [ d%(5)d gfn 0x%(2)08x%(1)08x => mfn 0x%(4)08x%(3)08x, order %(6)u ]
-0x0010f011  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  pod_zero_reclaim       [ d%(5)d gfn 0x%(2)08x%(1)08x => mfn 0x%(4)08x%(3)08x, order %(6)u ]
-0x0010f012  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  pod_superpage_splinter [ d%(3)d gfn 0x%(2)08x%(1)08x, order %(4)u ]
-
-0x00201001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ eip = 0x%(1)08x, eax = 0x%(2)08x ]
-0x00201101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ rip = 0x%(2)08x%(1)08x, eax = 0x%(3)08x ]
-0x00201003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ eip = 0x%(1)08x, trapnr:error = 0x%(2)08x ]
-0x00201103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  trap       [ rip = 0x%(2)08x%(1)08x, trapnr:error = 0x%(3)08x ]
-0x00201004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ eip = 0x%(1)08x, addr = 0x%(2)08x, error = 0x%(3)08x ]
-0x00201104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  page_fault [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x, error = 0x%(5)08x ]
-0x00201005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ eip = 0x%(1)08x ]
-0x00201105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  forced_invalid_op   [ rip = 0x%(2)08x%(1)08x ]
-0x00201006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ eip = 0x%(1)08x ]
-0x00201106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_privop      [ rip = 0x%(2)08x%(1)08x ]
-0x00201007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ eip = 0x%(1)08x ]
-0x00201107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  emulate_4G          [ rip = 0x%(2)08x%(1)08x ]
-0x00201008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
-0x00201108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  math_state_restore
-0x00201009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ eip = 0x%(1)08x, addr = 0x%(2)08x ]
-0x00201109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  paging_fixup        [ rip = 0x%(2)08x%(1)08x, addr = 0x%(4)08x%(3)08x ]
-0x0020100a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ eip = 0x%(1)08x, offset = 0x%(2)08x ]
-0x0020110a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  gdt_ldt_mapping_fault  [ rip = 0x%(2)08x%(1)08x, offset = 0x%(4)08x%(3)08x ]
-0x0020100b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020110b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation      [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020100c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(3)08x, eip = 0x%(4)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020110c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  ptwr_emulation_pae  [ addr = 0x%(4)08x%(3)08x, rip = 0x%(6)08x%(5)08x, npte = 0x%(2)08x%(1)08x ]
-0x0020100d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hypercall  [ op = 0x%(1)08x ]
-0x0020200e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)    hypercall  [ op = 0x%(1)08x ]
-
-0x0040f001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
-0x0040f101  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_not_shadow                 [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(5)08x ]
-0x0040f002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_fast_propagate             [ va = 0x%(1)08x ]
-0x0040f102  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_fast_propagate             [ va = 0x%(2)08x%(1)08x ]
-0x0040f003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_fast_mmio                  [ va = 0x%(1)08x ]
-0x0040f103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_fast_mmio                  [ va = 0x%(2)08x%(1)08x ]
-0x0040f004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_false_fast_path            [ va = 0x%(1)08x ]
-0x0040f104  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_false_fast_path            [ va = 0x%(2)08x%(1)08x ]
-0x0040f005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_mmio                       [ va = 0x%(1)08x ]
-0x0040f105  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_mmio                       [ va = 0x%(2)08x%(1)08x ]
-0x0040f006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_fixup                      [ gl1e = 0x%(1)08x, va = 0x%(2)08x, flags = 0x%(3)08x ]
-0x0040f106  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_fixup                      [ gl1e = 0x%(2)08x%(1)08x, va = 0x%(4)08x%(3)08x, flags = 0x%(3)08x ]
-0x0040f007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_domf_dying                 [ va = 0x%(1)08x ]
-0x0040f107  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_domf_dying                 [ va = 0x%(2)08x%(1)08x ]
-0x0040f008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate                    [ gl1e = 0x%(1)08x, write_val = 0x%(2)08x, va = 0x%(3)08x, flags = 0x%(4)08x ]
-0x0040f108  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate                    [ gl1e = 0x%(2)08x%(1)08x, write_val = 0x%(4)08x%(3)08x, va = 0x%(6)08x%(5)08x, flags = 0x%(7)08x ]
-0x0040f009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_unshadow_user      [ va = 0x%(1)08x, gfn = 0x%(2)08x ]
-0x0040f109  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_unshadow_user      [ va = 0x%(2)08x%(1)08x, gfn = 0x%(4)08x%(3)08x ]
-0x0040f00a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_unshadow_evtinj    [ va = 0x%(1)08x, gfn = 0x%(2)08x ]
-0x0040f10a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_unshadow_evtinj    [ va = 0x%(2)08x%(1)08x, gfn = 0x%(4)08x%(3)08x ]
-0x0040f00b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_unshadow_unhandled [ va = 0x%(1)08x, gfn = 0x%(2)08x ]
-0x0040f10b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_unshadow_unhandled [ va = 0x%(2)08x%(1)08x, gfn = 0x%(4)08x%(3)08x ]
-0x0040f00c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_wrmap_bf           [ gfn = 0x%(1)08x ]
-0x0040f10c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_wrmap_bf           [ gfn = 0x%(2)08x%(1)08x ]
-0x0040f00d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_prealloc_unpin     [ gfn = 0x%(1)08x ]
-0x0040f10d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_prealloc_unpin     [ gfn = 0x%(2)08x%(1)08x ]
-0x0040f00e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_resync_full        [ gfn = 0x%(1)08x ]
-0x0040f10e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_resync_full        [ gfn = 0x%(2)08x%(1)08x ]
-0x0040f00f  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_resync_only        [ gfn = 0x%(1)08x ]
-0x0040f10f  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  shadow_emulate_resync_only        [ gfn = 0x%(2)08x%(1)08x ]
-
-0x00801001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  cpu_freq_change [ %(1)dMHz -> %(2)dMHz ]
-0x00801002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  cpu_idle_entry  [ C0 -> C%(1)d, acpi_pm_tick = %(2)d, expected = %(3)dus, predicted = %(4)dus ]
-0x00801003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  cpu_idle_exit   [ C%(1)d -> C0, acpi_pm_tick = %(2)d, irq = %(3)d %(4)d %(5)d %(6)d ]
-
-0x00802001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  cleanup_move_delayed [ irq = %(1)d, vector 0x%(2)x on CPU%(3)d ]
-0x00802002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  cleanup_move [ irq = %(1)d, vector 0x%(2)x on CPU%(3)d ]
-0x00802003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  bind_vector [ irq = %(1)d = vector 0x%(2)x, CPU mask: 0x%(3)08x ]
-0x00802004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  clear_vector [ irq = %(1)d = vector 0x%(2)x, CPU mask: 0x%(3)08x ]
-0x00802005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  move_vector [ irq = %(1)d had vector 0x%(2)x on CPU%(3)d ]
-0x00802006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  assign_vector [ irq = %(1)d = vector 0x%(2)x, CPU mask: 0x%(3)08x ]
-0x00802007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  bogus_vector [ 0x%(1)x ]
-0x00802008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  do_irq [ irq = %(1)d, began = %(2)dus, ended = %(3)dus ]
-
-0x00084001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hpet create [ tn = %(1)d, irq = %(2)d, delta = 0x%(4)08x%(3)08x, period = 0x%(6)08x%(5)08x ]
-0x00084002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  pit create [ delta = 0x%(1)08x, period = 0x%(2)08x ]
-0x00084003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtc create [ delta = 0x%(1)08x, period = 0x%(2)08x ]
-0x00084004  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vlapic create [ delta = 0x%(2)08x%(1)08x , period = 0x%(4)08x%(3)08x, irq = %(5)d ]
-0x00084005  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  hpet destroy [ tn = %(1)d ]
-0x00084006  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  pit destroy  [ ]
-0x00084007  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  rtc destroy [ ]
-0x00084008  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vlapic destroy [ ]
-0x00084009  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  pit callback [ ]
-0x0008400a  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vlapic callback [ ]
-0x0008400b  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vpic_update_int_output [ int_output = %(1)d, is_master = %(2)d, irq = %(3)d ]
-0x0008400c  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vpic vcpu_kick [ irq = %(1)d ]
-0x0008400d  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  __vpic_intack [ is_master = %(1)d, irq = %(2)d ]
-0x0008400e  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vpic_irq_positive_edge [ irq = %(1)d ]
-0x0008400f  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vpic_irq_negative_edge [ irq = %(1)d ]
-0x00084010  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vpic_ack_pending_irq [ accept_pic_intr = %(1)d, int_output = %(2)d ]
-0x00084011  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  vlapic_accept_pic_intr [ i8259_target = %(1)d, accept_pic_int = %(2)d ]
diff --git a/tools/xentrace/xentrace.c b/tools/xentrace/xentrace.c
index be6226f088..63b29f8442 100644
--- a/tools/xentrace/xentrace.c
+++ b/tools/xentrace/xentrace.c
@@ -848,7 +848,7 @@ static void usage(int status)
 "\n" \
 "  CPU(uint) TSC(uint64_t) EVENT(uint32_t) D1 D2 D3 D4 D5 (all uint32_t)\n" \
 "\n" \
-"The output should be parsed using the tool xentrace_format,\n" \
+"The output should be parsed using the tool xenalyze,\n" \
 "which can produce human-readable output in ASCII format.\n" 
 
     printf(USAGE_STR);
diff --git a/tools/xentrace/xentrace_format b/tools/xentrace/xentrace_format
deleted file mode 100644
index 21be16b7e4..0000000000
--- a/tools/xentrace/xentrace_format
+++ /dev/null
@@ -1,264 +0,0 @@
-#!/usr/bin/env python
-
-# by Mark Williamson, (C) 2004 Intel Research Cambridge
-
-# Program for reformatting trace buffer output according to user-supplied rules
-
-from __future__ import division
-from __future__ import print_function
-from __future__ import unicode_literals
-from builtins import str
-import re, sys, string, signal, struct, os, getopt
-
-def usage():
-    print("Usage: " + sys.argv[0] + """ defs-file
-          Parses trace data in binary format, as output by Xentrace and
-          reformats it according to the rules in a file of definitions.  The
-          rules in this file should have the format ({ and } show grouping
-          and are not part of the syntax):
-
-          {event_id}{whitespace}{text format string}
-
-          The textual format string may include format specifiers, such as:
-            %(cpu)d, %(tsc)d, %(event)d, %(1)d, %(2)d, %(3)d, %(4)d, ... 
-          [ the 'd' format specifier outputs in decimal, alternatively 'x'
-            will output in hexadecimal and 'o' will output in octal ]
-
-          Which correspond to the CPU number, event ID, timestamp counter and
-          the 7 data fields from the trace record.  There should be one such
-          rule for each type of event.
-          
-          Depending on your system and the volume of trace buffer data,
-          this script may not be able to keep up with the output of xentrace
-          if it is piped directly.  In these circumstances you should have
-          xentrace output to a file for processing off-line.
-          """, file=sys.stderr)
-    sys.exit(1)
-
-def read_defs(defs_file):
-    defs = {}
-    
-    fd = open(defs_file)
-
-    reg = re.compile('(\S+)\s+(\S.*)')
-
-    while True:
-        line = fd.readline()
-        if not line:
-            break
-
-        if line[0] == '#' or line[0] == '\n':
-            continue
-
-        m = reg.match(line)
-
-        if not m: print("Bad format file", file=sys.stderr) ; sys.exit(1)
-
-        defs[str(eval(m.group(1)))] = m.group(2)
-
-    return defs
-
-def sighand(x,y):
-    global interrupted
-    interrupted = 1
-
-##### Main code
-
-mhz = 0
-
-if len(sys.argv) < 2:
-    usage()
-
-try:
-    opts, arg = getopt.getopt(sys.argv[1:], "c:" )
-
-    for opt in opts:
-        if opt[0] == '-c' : mhz = int(opt[1])
-
-except getopt.GetoptError:
-    usage()
-
-signal.signal(signal.SIGTERM, sighand)
-signal.signal(signal.SIGHUP,  sighand)
-signal.signal(signal.SIGINT,  sighand)
-
-interrupted = 0
-
-try:
-    defs = read_defs(arg[0])
-except IOError as exn:
-    print(exn)
-    sys.exit(1)
-
-# structure of trace record (as output by xentrace):
-# HDR(I) {TSC(Q)} D1(I) D2(I) D3(I) D4(I) D5(I) D6(I) D7(I)
-#
-# HDR consists of EVENT:28:, n_data:3:, tsc_in:1:
-# EVENT means Event ID
-# n_data means number of data (like D1, D2, ...)
-# tsc_in means TSC data exists(1) or not(0).
-# if tsc_in == 0, TSC(Q) does not exists.
-#
-# CPU ID exists on trace data of EVENT=0x0001f003
-#
-HDRREC = "I"
-TSCREC = "Q"
-D1REC  = "I"
-D2REC  = "II"
-D3REC  = "III"
-D4REC  = "IIII"
-D5REC  = "IIIII"
-D6REC  = "IIIIII"
-D7REC  = "IIIIIII"
-
-last_tsc = [0]
-
-TRC_TRACE_IRQ = 0x1f004
-TRC_PV_HYPERCALL_V2 = 0x20100d
-TRC_PV_HYPERCALL_SUBCALL = 0x20100e
-
-NR_VECTORS = 256
-irq_measure = [{'count':0, 'tot_cycles':0, 'max_cycles':0}] * NR_VECTORS
-
-if sys.version_info >= (3, 0):
-    stdin_bytes = sys.stdin.buffer
-else:
-    stdin_bytes = sys.stdin
-
-i=0
-
-while not interrupted:
-    try:
-        i=i+1
-        line = stdin_bytes.read(struct.calcsize(HDRREC))
-        if not line:
-            break
-        event = struct.unpack(HDRREC, line)[0]
-        n_data = event >> 28 & 0x7
-        tsc_in = event >> 31
-
-        d1 = 0
-        d2 = 0
-        d3 = 0
-        d4 = 0
-        d5 = 0
-        d6 = 0
-        d7 = 0
-
-        tsc = 0
-
-        if tsc_in == 1:
-            line = stdin_bytes.read(struct.calcsize(TSCREC))
-            if not line:
-                break
-            tsc = struct.unpack(TSCREC, line)[0]
-
-        if n_data == 1:
-            line = stdin_bytes.read(struct.calcsize(D1REC))
-            if not line:
-                break
-            d1 = struct.unpack(D1REC, line)[0]
-        if n_data == 2:
-            line = stdin_bytes.read(struct.calcsize(D2REC))
-            if not line:
-                break
-            (d1, d2) = struct.unpack(D2REC, line)
-        if n_data == 3:
-            line = stdin_bytes.read(struct.calcsize(D3REC))
-            if not line:
-                break
-            (d1, d2, d3) = struct.unpack(D3REC, line)
-        if n_data == 4:
-            line = stdin_bytes.read(struct.calcsize(D4REC))
-            if not line:
-                break
-            (d1, d2, d3, d4) = struct.unpack(D4REC, line)
-        if n_data == 5:
-            line = stdin_bytes.read(struct.calcsize(D5REC))
-            if not line:
-                break
-            (d1, d2, d3, d4, d5) = struct.unpack(D5REC, line)
-        if n_data == 6:
-            line = stdin_bytes.read(struct.calcsize(D6REC))
-            if not line:
-                break
-            (d1, d2, d3, d4, d5, d6) = struct.unpack(D6REC, line)
-        if n_data == 7:
-            line = stdin_bytes.read(struct.calcsize(D7REC))
-            if not line:
-                break
-            (d1, d2, d3, d4, d5, d6, d7) = struct.unpack(D7REC, line)
-
-        # Event field is 28bit of 'uint32_t' in header, not 'long'.
-        event &= 0x0fffffff
-        if event == 0x1f003:
-            cpu = d1
-
-        if event == TRC_TRACE_IRQ:
-            # IN - d1:vector, d2:tsc_in, d3:tsc_out
-            # OUT - d1:vector, d2:count, d3:tot_cycles, d4:max_cycles
-            tsc_diff = d3 - d2
-            if tsc_diff < 0:
-                break
-            irq_measure[d1]['count'] += 1
-            irq_measure[d1]['tot_cycles'] += tsc_diff
-            if irq_measure[d1]['max_cycles'] < tsc_diff:
-                irq_measure[d1]['max_cycles'] = tsc_diff
-            d2 = irq_measure[d1]['count']
-            d3 = irq_measure[d1]['tot_cycles']
-            d4 = irq_measure[d1]['max_cycles']
-
-        if event == TRC_PV_HYPERCALL_V2 or event == TRC_PV_HYPERCALL_SUBCALL:
-            # Mask off the argument present bits.
-            d1 &= 0x000fffff
-
-        #tsc = (tscH<<32) | tscL
-
-        #print i, tsc
-
-        if cpu >= len(last_tsc):
-            last_tsc += [0] * (cpu - len(last_tsc) + 1)
-        elif tsc < last_tsc[cpu] and tsc_in == 1:
-            print("TSC stepped backward cpu %d !  %d %d" % (cpu,tsc,last_tsc[cpu]))
-
-        # provide relative TSC
-        if last_tsc[cpu] > 0 and tsc_in == 1:
-            reltsc = tsc - last_tsc[cpu]
-        else:
-            reltsc = 0
-
-        if tsc_in == 1:
-            last_tsc[cpu] = tsc
-
-        if mhz:
-            tsc = tsc / (mhz*1000000.0)
-
-        args = {'cpu'   : cpu,
-                'tsc'   : tsc,
-                'event' : event,
-                'reltsc': reltsc,
-                '1'     : d1,
-                '2'     : d2,
-                '3'     : d3,
-                '4'     : d4,
-                '5'     : d5,
-                '6'     : d6,
-                '7'     : d7    }
-
-        try:
-
-            if str(event) in defs:
-                print(defs[str(event)] % args)
-            else:
-                if str(0) in defs: print(defs[str(0)] % args)
-        except TypeError:
-            if str(event) in defs:
-                print(defs[str(event)])
-                print(args)
-            else:
-                if str(0) in defs:
-                    print(defs[str(0)])
-                    print(args)
-
-
-    except (IOError, struct.error): sys.exit()
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:43:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712863.1113734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Mms-0002dm-1K; Fri, 26 Apr 2024 14:42:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712863.1113734; Fri, 26 Apr 2024 14: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 1s0Mmr-0002df-Uu; Fri, 26 Apr 2024 14:42:53 +0000
Received: by outflank-mailman (input) for mailman id 712863;
 Fri, 26 Apr 2024 14: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=duI6=L7=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1s0Mmq-0002dZ-VI
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:42:52 +0000
Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com
 [2607:f8b0:4864:20::229])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41cfc509-03db-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 16:42:52 +0200 (CEST)
Received: by mail-oi1-x229.google.com with SMTP id
 5614622812f47-3c74b27179dso1245471b6e.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:42:52 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 wx37-20020a05620a5a6500b0078eebee6a49sm6391956qkn.85.2024.04.26.07.42.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07:42: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: 41cfc509-03db-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714142570; x=1714747370; 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=qOMN5jlc7T8BPQOIYB0DyVqcZeoBCaWIXTmwTpfNHUI=;
        b=DrDGBZIqWqzY742io31PYast7mCe38i0pKD00kyPfoPJIOnc2E8tzN18X68QD1IYCC
         QeaJNxHQIUD92tjyGY8nKj2EXYfbqp6gDCMWHS5jc1C3afJcOdjsv5J1BOS+sGCJOSEf
         Z5ftInF8BGg4YXyER5MiLcx3rV/PrN7fTqVJg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714142570; x=1714747370;
        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=qOMN5jlc7T8BPQOIYB0DyVqcZeoBCaWIXTmwTpfNHUI=;
        b=EG6zZX7mkOT06DWS9DlaZ+c0FftLA4f0Mz4TkQSu6295rZomNM3p2r+9fXKyC3PBXw
         Xyy4mmEVwtvUxZtD3t24r7CbEAHT+MXEQbKq5Kqqr8sSQdspCc7foqsao84aTY8DQ3e0
         EAQuLyZSaKCp5cZF4pUs1J9TXNbDlkPf93yEn96cPCPqiOaJZ9WQx7DiTqrzn86pLe1e
         RfRt8mITGdF5WQnd7f8oluP05y5G/xKy03jMWnlW6jg/Tj8dWV0rN2XnbNRdGz1+/1oW
         7R0jaNm0xmYj1dYK3nAzHkJWEAgsS+GDcRnoOw+4Nu+ueVigekjKRGshaFP1U+Awl/SE
         n2dg==
X-Gm-Message-State: AOJu0YxcrPKrVR1kIytqKe6bGW8OnHVVsvwOPkw5lxMdI3eI6oZUX7lA
	+d19RymSFociMzt+qR9X3mGGYkTWMz9ERgUi9m2a4BXSeSAMtFyp8wcr1FyU6/TOT/Csw5xHKP+
	b
X-Google-Smtp-Source: AGHT+IFwYLyt9OY/a8VOmY3F+ewt+MIk8/Z0jhRoXekHWZ9wmfsITCydef2q0mXdPDMIEAFIpUFKzw==
X-Received: by 2002:a05:6808:23c5:b0:3c8:4bd0:6478 with SMTP id bq5-20020a05680823c500b003c84bd06478mr3641502oib.25.1714142570281;
        Fri, 26 Apr 2024 07:42:50 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>
Subject: [PATCH 0/3] Further trace improvements
Date: Fri, 26 Apr 2024 15:32:28 +0100
Message-Id: <20240426143231.4007671-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some further trace improvements:

 - Remove the need to specify `--svm-mode` every time running xenalyze
   on a trace generated on an AMD box.

 - Get rid of warnings due to unhandled HVM_EMUL traces

 - Completely remove obsolete xentrace_format

This series is meant to be applied on top of Andy's series "xen/trace:
Treewide API cleanup":

https://lore.kernel.org/xen-devel/20240318163552.3808695-1-andrew.cooper3@citrix.com/

George Dunlap (3):
  x86/hvm/trace: Use a different trace type for AMD processors
  tools/xenalyze: Ignore HVM_EMUL events harder
  tools/xentrace: Remove xentrace_format

 docs/man/xentrace.8.pod        |   5 +-
 docs/man/xentrace_format.1.pod |  46 ------
 tools/xentrace/Makefile        |   3 -
 tools/xentrace/formats         | 229 ----------------------------
 tools/xentrace/xenalyze.c      |  50 ++++---
 tools/xentrace/xentrace.c      |   2 +-
 tools/xentrace/xentrace_format | 264 ---------------------------------
 xen/arch/x86/hvm/svm/svm.c     |   4 +-
 xen/arch/x86/hvm/vmx/vmx.c     |   4 +-
 xen/include/public/trace.h     |   6 +-
 10 files changed, 41 insertions(+), 572 deletions(-)
 delete mode 100644 docs/man/xentrace_format.1.pod
 delete mode 100644 tools/xentrace/formats
 delete mode 100644 tools/xentrace/xentrace_format

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:43:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712864.1113745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Mmu-0002sE-9C; Fri, 26 Apr 2024 14:42:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712864.1113745; Fri, 26 Apr 2024 14:42: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 1s0Mmu-0002s7-5o; Fri, 26 Apr 2024 14:42:56 +0000
Received: by outflank-mailman (input) for mailman id 712864;
 Fri, 26 Apr 2024 14:42: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=duI6=L7=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1s0Mms-0002dZ-Bl
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:42:54 +0000
Received: from mail-oi1-x231.google.com (mail-oi1-x231.google.com
 [2607:f8b0:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42fdc30d-03db-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 16:42:53 +0200 (CEST)
Received: by mail-oi1-x231.google.com with SMTP id
 5614622812f47-3c85a9b9143so269255b6e.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:42:53 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 wx37-20020a05620a5a6500b0078eebee6a49sm6391956qkn.85.2024.04.26.07.42.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07: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: 42fdc30d-03db-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714142572; x=1714747372; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a6hh3P2uyic3vgOuJyagsjJaW2xzapo9RIMhFLkrQVk=;
        b=FRgzbS+OECTBofpGajWa3egnZvDi9zWORBJ1kNAcMjKD4I1SEA7PdIkvqcUMMlpbAk
         wAFGSr56wuv2IjyhbN3kEzKMIuw//oGqXd4NQ9RhxJq5tMVkm9LCiVZuAFaixqZeh3kC
         SK7n8aEbcEG76ZmXwEUJ0dQp5txBp73SLPNdg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714142572; x=1714747372;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a6hh3P2uyic3vgOuJyagsjJaW2xzapo9RIMhFLkrQVk=;
        b=fC+B2K4cWH1KghoiEoN6ADGS4CfI9rkpRMTXg1w/BRYwajd+OvodwRbAwQOICexBxh
         6Ci5SrsQU1IM9DRTZ/Q6mYZijiojpYFAjMR28p5f9Bvw+IpYLrlqE4t3ilzcgpTSGcEu
         TOci6SlGelZZg409R8gbB0svrQSzPiytb+9o35O0aEj6JZQm1WuvhxG79g0CAj3Pbuj1
         Xd3petfSWn0JuaqcUVZM98Hqq9r2rtAVpmORNPKbnSwi+eYAtbKsayd08ylWPb6UFsRW
         DDequ9OWg2hRBKUuDCfD1rvEnqiTTCJ1XmgUffzIK8jTVtuK8Qxpsd89STDdHB3Jm0WS
         FSHw==
X-Gm-Message-State: AOJu0YwTT7S6hzIq/SACsh0kQrsCaXuOIuPHFtIdtt6xscyeOxtWTPjE
	hEWh9A0Tghy298IpEg6lM87AScT6v/7cN8o7KSFgcATUeziH2pUr8i+9kB3T/ePDXh3jJAs30Po
	V
X-Google-Smtp-Source: AGHT+IGzoD8bbSfLTon66jlT202gVDox1iG00dlVPTM6Q1vf5Bw39OuKmrus76DiehPwIO4pmtVdfw==
X-Received: by 2002:a05:6808:618f:b0:3c6:29b:fe7a with SMTP id dn15-20020a056808618f00b003c6029bfe7amr2911208oib.18.1714142572046;
        Fri, 26 Apr 2024 07:42:52 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@cloud.com>,
	Anthony Perard <anthony.perard@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Olaf Hering <olaf@aepfle.de>
Subject: [PATCH 1/3] x86/hvm/trace: Use a different trace type for AMD processors
Date: Fri, 26 Apr 2024 15:32:29 +0100
Message-Id: <20240426143231.4007671-2-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240426143231.4007671-1-george.dunlap@cloud.com>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A long-standing usability sub-optimality with xenalyze is the
necessity to specify `--svm-mode` when analyzing AMD processors.  This
fundamentally comes about because the same trace event ID is used for
both VMX and SVM, but the contents of the trace must be interpreted
differently.

Instead, allocate separate trace events for VMX and SVM vmexits in
Xen; this will allow all readers to properly intrepret the meaning of
the vmexit reason.

In xenalyze, first remove the redundant call to init_hvm_data();
there's no way to get to hvm_vmexit_process() without it being already
initialized by the set_vcpu_type call in hvm_process().

Replace this with set_hvm_exit_reson_data(), and move setting of
hvm->exit_reason_* into that function.

Modify hvm_process and hvm_vmexit_process to handle all four potential
values appropriately.

If SVM entries are encountered, set opt.svm_mode so that other
SVM-specific functionality is triggered.

Also add lines in `formats` for xentrace_format.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
NB that this patch goes on top of Andrew's trace cleanup series:

https://lore.kernel.org/xen-devel/20240318163552.3808695-1-andrew.cooper3@citrix.com/

CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@cloud.com>
CC: Anthony Perard <anthony.perard@cloud.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Olaf Hering <olaf@aepfle.de>
---
 tools/xentrace/formats     |  6 ++++--
 tools/xentrace/xenalyze.c  | 32 +++++++++++++++++++-------------
 xen/arch/x86/hvm/svm/svm.c |  4 ++--
 xen/arch/x86/hvm/vmx/vmx.c |  4 ++--
 xen/include/public/trace.h |  6 ++++--
 5 files changed, 31 insertions(+), 21 deletions(-)

diff --git a/tools/xentrace/formats b/tools/xentrace/formats
index afb5ee0112..3381c1cda5 100644
--- a/tools/xentrace/formats
+++ b/tools/xentrace/formats
@@ -90,8 +90,10 @@
 0x00041002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  domain_destroy  [ dom = 0x%(1)08x ]
 
 0x00081001  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMENTRY
-0x00081002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMEXIT      [ exitcode = 0x%(1)08x, rIP  = 0x%(2)08x ]
-0x00081102  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMEXIT      [ exitcode = 0x%(1)08x, rIP  = 0x%(3)08x%(2)08x ]
+0x00081002  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMX_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(2)08x ]
+0x00081102  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  VMX_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(3)08x%(2)08x ]
+0x00081003  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  SVM_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(2)08x ]
+0x00081103  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  SVM_EXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(3)08x%(2)08x ]
 0x00081401  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  nVMENTRY
 0x00081402  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  nVMEXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(2)08x ]
 0x00081502  CPU%(cpu)d  %(tsc)d (+%(reltsc)8d)  nVMEXIT     [ exitcode = 0x%(1)08x, rIP  = 0x%(3)08x%(2)08x ]
diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index ce6a85d50b..ceb07229d1 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -1437,14 +1437,6 @@ void init_hvm_data(struct hvm_data *h, struct vcpu_data *v) {
 
     h->init = 1;
 
-    if(opt.svm_mode) {
-        h->exit_reason_max = HVM_SVM_EXIT_REASON_MAX;
-        h->exit_reason_name = hvm_svm_exit_reason_name;
-    } else {
-        h->exit_reason_max = HVM_VMX_EXIT_REASON_MAX;
-        h->exit_reason_name = hvm_vmx_exit_reason_name;
-    }
-
     if(opt.histogram_interrupt_eip) {
         int count = ((1ULL<<ADDR_SPACE_BITS)/opt.histogram_interrupt_increment);
         size_t size = count * sizeof(int);
@@ -1462,6 +1454,18 @@ void init_hvm_data(struct hvm_data *h, struct vcpu_data *v) {
         h->summary.guest_interrupt[i].count=0;
 }
 
+void set_hvm_exit_reason_data(struct hvm_data *h, unsigned event) {
+    if (((event & ~TRC_64_FLAG) == TRC_HVM_SVM_EXIT) ||
+        opt.svm_mode) {
+        opt.svm_mode = 1;
+        h->exit_reason_max = HVM_SVM_EXIT_REASON_MAX;
+        h->exit_reason_name = hvm_svm_exit_reason_name;
+    } else {
+        h->exit_reason_max = HVM_VMX_EXIT_REASON_MAX;
+        h->exit_reason_name = hvm_vmx_exit_reason_name;
+    }
+}
+
 /* PV data */
 enum {
     PV_HYPERCALL=1,
@@ -5088,13 +5092,13 @@ void hvm_vmexit_process(struct record_info *ri, struct hvm_data *h,
 
     r = (typeof(r))ri->d;
 
-    if(!h->init)
-        init_hvm_data(h, v);
+    if(!h->exit_reason_name)
+        set_hvm_exit_reason_data(h, ri->event);
 
     h->vmexit_valid=1;
     bzero(&h->inflight, sizeof(h->inflight));
 
-    if(ri->event == TRC_HVM_VMEXIT64) {
+    if(ri->event & TRC_64_FLAG) {
         if(v->guest_paging_levels != 4)
         {
             if ( verbosity >= 6 )
@@ -5316,8 +5320,10 @@ void hvm_process(struct pcpu_info *p)
         break;
     default:
         switch(ri->event) {
-        case TRC_HVM_VMEXIT:
-        case TRC_HVM_VMEXIT64:
+        case TRC_HVM_VMX_EXIT:
+        case TRC_HVM_VMX_EXIT64:
+        case TRC_HVM_SVM_EXIT:
+        case TRC_HVM_SVM_EXIT64:
             UPDATE_VOLUME(p, hvm[HVM_VOL_VMEXIT], ri->size);
             hvm_vmexit_process(ri, h, v);
             break;
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index db530d55f2..988250dbc1 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2571,10 +2571,10 @@ void asmlinkage svm_vmexit_handler(void)
     exit_reason = vmcb->exitcode;
 
     if ( hvm_long_mode_active(v) )
-        TRACE_TIME(TRC_HVM_VMEXIT64 | (vcpu_guestmode ? TRC_HVM_NESTEDFLAG : 0),
+        TRACE_TIME(TRC_HVM_SVM_EXIT64 | (vcpu_guestmode ? TRC_HVM_NESTEDFLAG : 0),
                    exit_reason, regs->rip, regs->rip >> 32);
     else
-        TRACE_TIME(TRC_HVM_VMEXIT | (vcpu_guestmode ? TRC_HVM_NESTEDFLAG : 0),
+        TRACE_TIME(TRC_HVM_SVM_EXIT | (vcpu_guestmode ? TRC_HVM_NESTEDFLAG : 0),
                    exit_reason, regs->eip);
 
     if ( vcpu_guestmode )
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e5bfb2421e..c2b94e343f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4105,9 +4105,9 @@ void asmlinkage vmx_vmexit_handler(struct cpu_user_regs *regs)
     __vmread(VM_EXIT_REASON, &exit_reason);
 
     if ( hvm_long_mode_active(v) )
-        TRACE_TIME(TRC_HVM_VMEXIT64, exit_reason, regs->rip, regs->rip >> 32);
+        TRACE_TIME(TRC_HVM_VMX_EXIT64, exit_reason, regs->rip, regs->rip >> 32);
     else
-        TRACE_TIME(TRC_HVM_VMEXIT, exit_reason, regs->eip);
+        TRACE_TIME(TRC_HVM_VMX_EXIT, exit_reason, regs->eip);
 
     perfc_incra(vmexits, (uint16_t)exit_reason);
 
diff --git a/xen/include/public/trace.h b/xen/include/public/trace.h
index 3c9f9c3c18..141efa0ea7 100644
--- a/xen/include/public/trace.h
+++ b/xen/include/public/trace.h
@@ -178,8 +178,10 @@
 /* trace events per subclass */
 #define TRC_HVM_NESTEDFLAG      (0x400)
 #define TRC_HVM_VMENTRY         (TRC_HVM_ENTRYEXIT + 0x01)
-#define TRC_HVM_VMEXIT          (TRC_HVM_ENTRYEXIT + 0x02)
-#define TRC_HVM_VMEXIT64        (TRC_HVM_ENTRYEXIT + TRC_64_FLAG + 0x02)
+#define TRC_HVM_VMX_EXIT        (TRC_HVM_ENTRYEXIT + 0x02)
+#define TRC_HVM_VMX_EXIT64      (TRC_HVM_ENTRYEXIT + TRC_64_FLAG + 0x02)
+#define TRC_HVM_SVM_EXIT        (TRC_HVM_ENTRYEXIT + 0x03)
+#define TRC_HVM_SVM_EXIT64      (TRC_HVM_ENTRYEXIT + TRC_64_FLAG + 0x03)
 #define TRC_HVM_PF_XEN          (TRC_HVM_HANDLER + 0x01)
 #define TRC_HVM_PF_XEN64        (TRC_HVM_HANDLER + TRC_64_FLAG + 0x01)
 #define TRC_HVM_PF_INJECT       (TRC_HVM_HANDLER + 0x02)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 14:43:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 14:43:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712865.1113755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Mmv-00037a-J9; Fri, 26 Apr 2024 14:42:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712865.1113755; Fri, 26 Apr 2024 14: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 1s0Mmv-00037R-Fl; Fri, 26 Apr 2024 14:42:57 +0000
Received: by outflank-mailman (input) for mailman id 712865;
 Fri, 26 Apr 2024 14:42: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=duI6=L7=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1s0Mmu-0002sK-Ig
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 14:42:56 +0000
Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com
 [2607:f8b0:4864:20::731])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 439e7761-03db-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 16:42:54 +0200 (CEST)
Received: by mail-qk1-x731.google.com with SMTP id
 af79cd13be357-78f02298dc6so186779985a.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 07:42:54 -0700 (PDT)
Received: from georged-x-u.xenrt.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 wx37-20020a05620a5a6500b0078eebee6a49sm6391956qkn.85.2024.04.26.07.42.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 07:42: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: 439e7761-03db-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714142573; x=1714747373; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QXHEfgfyj51oD/ZxnN9kSBhtg86uYskAmnXw5EeUELY=;
        b=XCEPUVQ73Dw67R6o9D6ZRgx0w8oU2XxJYs8891AnKsj4GpB2AUpTkf7+2rs9wBw+yt
         k+g4lxIzW2FIp0xJ/pVaaShI5XoT2hSmF9FnyxfDtagPMbhcN9vgDeZ1JR9Q3ltI2tfI
         tGszY+gizwOQYxAguAekwhEgdH538/K/x9RmE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714142573; x=1714747373;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QXHEfgfyj51oD/ZxnN9kSBhtg86uYskAmnXw5EeUELY=;
        b=Axk9bv0LuvmKBLvWweK6X+lXv+YWW36UOClzvr/np/JfI9ZQZ/TovfC6/aM3/Ww9S/
         Fln0aE8F0IRa9SODfTs4J2K+hY8tppU4HXPRAooWwL7/LRW+OjHBHefaRYJJFF8VncHW
         R4xe2ouDk9SQURF9C07JBwakiqOnLxcLPkLNkgHgM1svIoIyW3NJAbbIMbmlWI39l2X0
         bJVQ2DfUfGotfxrW5DEzR6vwuDFAzssGvpDYWZ1x02KyNusvXYCFicTIOttSbetlC5nF
         lu6vQYoIQ9mp8zjXF/HWCXFJeTBDa50aWD6V57QzdTnFoDhBbO7aOkWiY2mbYm7vfSeY
         aAfA==
X-Gm-Message-State: AOJu0YxvOkC7lxtqdsNHf1t8s4WykG1bbBgMcqlv/2y8MY1dqIbVADi8
	zLdW/Xx59EWvoq8Guls7Rd2t5e0KiOFdXQ2gm1dP9k2mV1b6+7SrkDy2M/qa5u330gIBvhg/5TD
	p
X-Google-Smtp-Source: AGHT+IGFegEd9p8orEaFBK/BLg4FWgVMzNqwi6lArJmYGMQrKA+JBmyec2gtCEXTiJdrwUS4BIdv6g==
X-Received: by 2002:a05:620a:3604:b0:78e:d6bb:8e59 with SMTP id da4-20020a05620a360400b0078ed6bb8e59mr4479515qkb.33.1714142573275;
        Fri, 26 Apr 2024 07:42:53 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony Perard <anthony.perard@cloud.com>,
	Olaf Hering <olaf@aepfle.de>
Subject: [PATCH 2/3] tools/xenalyze: Ignore HVM_EMUL events harder
Date: Fri, 26 Apr 2024 15:32:30 +0100
Message-Id: <20240426143231.4007671-3-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240426143231.4007671-1-george.dunlap@cloud.com>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To unify certain common sanity checks, checks are done very early in
processing based only on the top-level type.

Unfortunately, when TRC_HVM_EMUL was introduced, it broke some of the
assumptions about how the top-level types worked.  Namely, traces of
this type will show up outside of HVM contexts: in idle domains and in
PV domains.

Make an explicit exception for TRC_HVM_EMUL types in a number of places:

 - Pass the record info pointer to toplevel_assert_check, so that it
   can exclude TRC_HVM_EMUL records from idle and vcpu data_mode
   checks

 - Don't attempt to set the vcpu data_type in hvm_process for
   TRC_HVM_EMUL records.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Anthony Perard <anthony.perard@cloud.com>
CC: Olaf Hering <olaf@aepfle.de>
---
 tools/xentrace/xenalyze.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index ceb07229d1..8fb45dec76 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -21,6 +21,7 @@
 #define _XOPEN_SOURCE 600
 #include <stdio.h>
 #include <stdlib.h>
+#include <stdbool.h>
 #include <argp.h>
 #include <inttypes.h>
 #include <limits.h>
@@ -5305,8 +5306,11 @@ void hvm_process(struct pcpu_info *p)
 
     assert(p->current);
 
-    if(vcpu_set_data_type(p->current, VCPU_DATA_HVM))
-        return;
+    /* HVM_EMUL types show up in all contexts */
+    if(ri->evt.sub != 0x4) {
+        if(vcpu_set_data_type(p->current, VCPU_DATA_HVM))
+            return;
+    }
 
     switch ( ri->evt.sub ) {
     case 2: /* HVM_HANDLER */
@@ -9447,9 +9451,10 @@ static struct tl_assert_mask tl_assert_checks[TOPLEVEL_MAX] = {
 /* There are a lot of common assumptions for the various processing
  * routines.  Check them all in one place, doing something else if
  * they don't pass. */
-int toplevel_assert_check(int toplevel, struct pcpu_info *p)
+int toplevel_assert_check(int toplevel, struct record_info *ri, struct pcpu_info *p)
 {
     struct tl_assert_mask mask;
+    bool is_hvm_emul = (toplevel == TOPLEVEL_HVM) && (ri->evt.sub == 0x4);
 
     mask = tl_assert_checks[toplevel];
 
@@ -9459,7 +9464,7 @@ int toplevel_assert_check(int toplevel, struct pcpu_info *p)
         goto fail;
     }
 
-    if( mask.not_idle_domain )
+    if( mask.not_idle_domain && !is_hvm_emul)
     {
         /* Can't do this check w/o first doing above check */
         assert(mask.p_current);
@@ -9478,7 +9483,8 @@ int toplevel_assert_check(int toplevel, struct pcpu_info *p)
         v = p->current;
 
         if ( ! (v->data_type == VCPU_DATA_NONE
-                || v->data_type == mask.vcpu_data_mode) )
+                || v->data_type == mask.vcpu_data_mode
+                || is_hvm_emul) )
         {
             /* This may happen for track_dirty_vram, which causes a SHADOW_WRMAP_BF trace f/ dom0 */
             fprintf(warn, "WARNING: Unexpected vcpu data type for d%dv%d on proc %d! Expected %d got %d. Not processing\n",
@@ -9525,7 +9531,7 @@ void process_record(struct pcpu_info *p) {
         return;
 
     /* Unify toplevel assertions */
-    if ( toplevel_assert_check(toplevel, p) )
+    if ( toplevel_assert_check(toplevel, ri, p) )
     {
         switch(toplevel) {
         case TRC_GEN_MAIN:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:03:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712889.1113774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0N6b-0000q0-Ix; Fri, 26 Apr 2024 15:03:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712889.1113774; Fri, 26 Apr 2024 15:03:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0N6b-0000pt-GA; Fri, 26 Apr 2024 15:03:17 +0000
Received: by outflank-mailman (input) for mailman id 712889;
 Fri, 26 Apr 2024 15:03:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0N6a-0000pm-7H
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:03:16 +0000
Received: from mail-qv1-xf2d.google.com (mail-qv1-xf2d.google.com
 [2607:f8b0:4864:20::f2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a20be6a-03de-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 17:03:13 +0200 (CEST)
Received: by mail-qv1-xf2d.google.com with SMTP id
 6a1803df08f44-6a073f10e25so11576786d6.3
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 08:03:13 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 g7-20020a0ce4c7000000b0069b7aca529esm6808184qvm.14.2024.04.26.08.03.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 08:03: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: 1a20be6a-03de-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714143792; x=1714748592; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/IV75V+XwXt920fRWV5r7vzDvPszn131o2QCc9WBaaI=;
        b=XG2mxwxb8K8ekznTsboPV0y6CyXg5W6QYIePNY7iFDzf6Yi8KwkZDaAyTScXMyq/od
         a8naf+8VeIKXRjIKqICdMliGRMWxVR4yEYm/jYQsfwqZuI5RWvMZP7/sEV/3L9vbdrIk
         kts66xRcjQTV1FD14lX2wxuigHrQKTQKEaixI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714143792; x=1714748592;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/IV75V+XwXt920fRWV5r7vzDvPszn131o2QCc9WBaaI=;
        b=lnJ+Ci13yWNDozNmA/iCmrfxTbnCvR3DmDgFKesqwm0fq/fYFbnO2eDdiEBpfFF6/W
         yxP3CFVHFFUJX7poiCUkDs4plrn93ZTEWIr7PTQw6KUb9NVZpXabeGDPNhUAG4MFqruv
         gcqS5CKdcft012N5dLeBHTFC3VbzRgVcn352AbD4Gdk5k0AQDSsKqvaU0srzbLuKRmFh
         5ALKJciE3hXACzrJUDWEuyBJlTDhaXm/DpDj07BLUFrXJu9tf7Zx/d3uB5GpWN7OJmWm
         94FDAd7sryAcE24dv4hnups/bpTdavTiukNeePsEXukBewzscG1jH+bPFEMLxXqbjWAD
         0kGQ==
X-Forwarded-Encrypted: i=1; AJvYcCWdih0VshjGMxXxyb0EtptxBOxVyqDCyc84nVweiqdXGDP3FPLdxPgkMCLM2rLZvDS0qq2ZsxJd6MZSlJ6VaVhXdO5nhzLyLQjGc4gJImc=
X-Gm-Message-State: AOJu0YxRMnp3bIoL/LqBymWiSsTedmTNXTYIyznusoMHYrOYTd24wDsr
	hNaGSrzmT5tSWRZA5kuCHCkUdMd6Pk//u3l3WfcDLR5bTwUhFiw9CPje6S0IP+w=
X-Google-Smtp-Source: AGHT+IHe5KPr93/h07nyLR4Fl4n7BT9txxwjdUcsvEMRY7vziapa8prG0WNjhoN/fMOrzXHao0xsWg==
X-Received: by 2002:ad4:48d0:0:b0:6a0:b189:2c72 with SMTP id v16-20020ad448d0000000b006a0b1892c72mr1305150qvx.29.1714143791842;
        Fri, 26 Apr 2024 08:03:11 -0700 (PDT)
Message-ID: <c019775c-3ebb-4abb-95ca-add6339c8a80@citrix.com>
Date: Fri, 26 Apr 2024 16:03:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] tools/xentrace: Remove xentrace_format
To: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@cloud.com>,
 Anthony Perard <anthony.perard@cloud.com>, Olaf Hering <olaf@aepfle.de>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
 <20240426143231.4007671-4-george.dunlap@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: <20240426143231.4007671-4-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26/04/2024 3:32 pm, George Dunlap wrote:
> xentrace_format was always of limited utility, since trace records
> across pcpus were processed out of order; it was superseded by xenalyze
> over a decade ago.
>
> But for several releases, the `formats` file it has depended on for
> proper operation has not even been included in `make install` (which
> generally means it doesn't get picked up by distros either); yet
> nobody has seemed to complain.
>
> Simple remove xentrace_format, and point people to xenalyze instead.
>
> NB that there is no man page for xenalyze, so the "see also" on the
> xentrace man page is simply removed for now.
>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:06:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:06:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712894.1113788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0N9c-0001pU-1V; Fri, 26 Apr 2024 15:06:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712894.1113788; Fri, 26 Apr 2024 15:06:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0N9b-0001pN-U7; Fri, 26 Apr 2024 15:06:23 +0000
Received: by outflank-mailman (input) for mailman id 712894;
 Fri, 26 Apr 2024 15:06: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0N9a-0001ow-7o
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:06:22 +0000
Received: from mail-qv1-xf31.google.com (mail-qv1-xf31.google.com
 [2607:f8b0:4864:20::f31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8978944f-03de-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 17:06:20 +0200 (CEST)
Received: by mail-qv1-xf31.google.com with SMTP id
 6a1803df08f44-6a04bae512aso12457126d6.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 08:06:20 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r12-20020a0ce28c000000b0069b58b97ed2sm7917577qvl.28.2024.04.26.08.06.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 08:06:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8978944f-03de-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714143979; x=1714748779; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=aEx5ln2bhdD4y3LvDXLHSkOsgDQ88hhidoE5ke/RJ+c=;
        b=q0mThBkjmAx4GiURKpxahEN7b5NODKCrOelZWYPH5i9ktKWW4fR2qpcFs7y2NRfqil
         YsQLrLAbWSu7tIgLNIHOmX4hZWWzK4FLayh9fdWOyJdcn0+OSIHRW7YuzI3f0PlJxTd7
         LBBlVRtTs+g65GlQaupYB9CpGMqFSZHnsCORY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714143979; x=1714748779;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aEx5ln2bhdD4y3LvDXLHSkOsgDQ88hhidoE5ke/RJ+c=;
        b=evxSlvuQXme89fhzkX4Xm0/39GwZuq3W3zdohjmnucSFlJOiH6LgEKKMIkMIRqtL1h
         9XwOY4CB+5sDuVqXRm7jBYWM2qmOZNEpFNM74avz1qjqykTup2dlsfdTfATEBFotOV6p
         VwtTySXue0go4iIp9guuFGcewzP5NnMuhVoU0z+rDZo+xsuUnHQ/DPaCK2p1gjcydNWv
         G2+mShKGLcedaHM27ZImnbjZ5OeA8irvHe+z2JJmzXFfgfOl2opyJAdx2CvkZ6fJ04N7
         AkxDQLGMrE0FRphAqLA1jtA9B+KKijQw3UlXt5zp/259SCB30o8K8j9UVLFfL2fkHwiK
         54IQ==
X-Forwarded-Encrypted: i=1; AJvYcCWEdFPry/FWjRHFIIS4RhF9Wz4/ilFjC8r1hGTeneihgVWwDEZFQ09WWW/umUSE/G10wsDkHGqg/6gKtWLKbISVRpVC6meI6pvTG2o0BHs=
X-Gm-Message-State: AOJu0YwVGssyLhLBms+o7LoEos0tiqCiuRwJQxRvff645Ga8bhbbtQU4
	X9VuTp0yrfY1UnPgFxVXCsmg+LRjOgWdHZy8wKrCcszYDHNZhOZbsPjPgNkWgoU=
X-Google-Smtp-Source: AGHT+IE5TbOym3CMg2CnBQ99S6tYPTE4iAOtgr53byEpvcaXJWs2xewr5u8S9nkqmcKBNUJi3OaSbw==
X-Received: by 2002:a05:6214:21ea:b0:6a0:af44:f21 with SMTP id p10-20020a05621421ea00b006a0af440f21mr2041973qvj.36.1714143979037;
        Fri, 26 Apr 2024 08:06:19 -0700 (PDT)
Message-ID: <76b27178-b860-4148-8878-43afc4f042da@citrix.com>
Date: Fri, 26 Apr 2024 16:06:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] tools/xenalyze: Ignore HVM_EMUL events harder
To: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org
Cc: Anthony Perard <anthony.perard@cloud.com>, Olaf Hering <olaf@aepfle.de>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
 <20240426143231.4007671-3-george.dunlap@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: <20240426143231.4007671-3-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/04/2024 3:32 pm, George Dunlap wrote:
> To unify certain common sanity checks, checks are done very early in
> processing based only on the top-level type.
>
> Unfortunately, when TRC_HVM_EMUL was introduced, it broke some of the
> assumptions about how the top-level types worked.  Namely, traces of
> this type will show up outside of HVM contexts: in idle domains and in
> PV domains.
>
> Make an explicit exception for TRC_HVM_EMUL types in a number of places:
>
>  - Pass the record info pointer to toplevel_assert_check, so that it
>    can exclude TRC_HVM_EMUL records from idle and vcpu data_mode
>    checks
>
>  - Don't attempt to set the vcpu data_type in hvm_process for
>    TRC_HVM_EMUL records.
>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>

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

Although I'm tempted to say that if records of this type show up outside
of HVM context, then it's misnamed or we've got an error in Xen.  Any
view on which?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:12:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:12:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712900.1113798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NFO-0003z1-Kf; Fri, 26 Apr 2024 15:12:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712900.1113798; Fri, 26 Apr 2024 15:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NFO-0003yu-HE; Fri, 26 Apr 2024 15:12:22 +0000
Received: by outflank-mailman (input) for mailman id 712900;
 Fri, 26 Apr 2024 15:12: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=3Jki=L7=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1s0NFM-0003yo-Dt
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:12:20 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on20600.outbound.protection.outlook.com
 [2a01:111:f403:2611::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f0f4c48-03df-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 17:12:18 +0200 (CEST)
Received: from AS4P189CA0033.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5dd::6)
 by VE1PR08MB5840.eurprd08.prod.outlook.com (2603:10a6:800:1b2::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Fri, 26 Apr
 2024 15:12:15 +0000
Received: from AM3PEPF0000A796.eurprd04.prod.outlook.com
 (2603:10a6:20b:5dd:cafe::6d) by AS4P189CA0033.outlook.office365.com
 (2603:10a6:20b:5dd::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.25 via Frontend
 Transport; Fri, 26 Apr 2024 15:12:15 +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.7519.19
 via Frontend Transport; Fri, 26 Apr 2024 15:12:14 +0000
Received: ("Tessian outbound 9d9bf1c5d85a:v315");
 Fri, 26 Apr 2024 15:12:14 +0000
Received: from 947e78da83d1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 984EE406-2C93-4CC1-9023-25A5CBCFF845.1; 
 Fri, 26 Apr 2024 15:12:07 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 947e78da83d1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 26 Apr 2024 15:12:07 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAVPR08MB9185.eurprd08.prod.outlook.com (2603:10a6:102:30d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 15:12:03 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7519.021; Fri, 26 Apr 2024
 15:12:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f0f4c48-03df-11ef-b4bb-af5377834399
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=h6zGBh4XdcKWSQgBeR0j6I5r21wlWezQy37Br5AY9MP1qmJpuxhtH7gtYNR//Lzd4goA5TzUUTEIwklaDekPQk48uTvyr97fGvO7ZcZZNMuCw8y34GlMXjLuVg+SBgkOnfJLamn1iySaBjxKU5hMRfAAhw0hxbRIiOkd1fqmMmgeK7V1bCxQ1OIn7C8QzHfhVRd5JuwLt5tDghl/ElaXcyQQ6wwe96rYCbq0y3tr+MjNDck3vfznJA9TMBLVH1Vjj9dEracXqwnl09Fnzk18M06CPGqNLKUupZKgENykMpm/C6BEs61AkJLOm0q43cz64CplqK066OVnZiuIRgyzNg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PXwJYQS01UcnKyoOjSHUMqYGBLfsV7F/f3PgZkXkt+A=;
 b=XOfUj3LvPrynoRa/b/X7k9PE76u8hVOYRnk0fM7UBR+UBG2JoKY6/evyY2MmnEIGfFS27z/bomoS1c7Lj9wnopiI+hyU7PkHbgwz9NGSbCkRDkdv3X7KRBEj7GF8KZGw0u49JMxUSOXFCHyr2oBnyybuCoTltFEdq6Y67vt3l4AXFwyb0rnRoBhQQyOAC91uWLl8z8jids3Q6Qor7UBdVtPE3se21N4Tr7Mc60cyb2f84wBZPmeyV801AYJ3WsXaaJ0JOWLPuiaI7toKJfNRLxGYnxA0G/uBGjdu21WBFWUi3jztyZC58yeKYPwKf3qMJkyGMJEBCEREi0pkeBwn/w==
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=PXwJYQS01UcnKyoOjSHUMqYGBLfsV7F/f3PgZkXkt+A=;
 b=SswuZVqKGEYvLSUzpvFIlBHiXE/Q/1mk9vLvN43yc9vc6Zlrah7zajMl8Gxqjw/nLAjIHT8h6GPpu3UNx+opwVMjJrYsDLUny56oy7zFTxpUp6UXuNdck6OMkL6IyqTraMnYerG/FzFITu5FATcp6kb1za8WStcvGF95vzfeMH0=
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: d7b26a5b8a36ee5e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hi7vUejcwL+VhND0oH/k5iTs5RB2K9s8TM5kNYVCV9C5JLIyOni+G6wfM/LlhFSY5Ryr5/nH0Vf8wgF2bs2SVQDy8qC8gZdrMFPE3R4yvmavQLRKa9EMRu9Ywf1ut5A8554SXX5KNKOuTDAf2j9M3mTMrSxeiyVCmxaWkJwHuv0sR+EJztDiu1vHZ4tpMgsWW68uy6EtkCWxL9L9TZuoNVuiohTfETFXo2NzHup4Kr4cJT6ADr6ATrKoxq9k81NnJHFXJ6OEFQHbH++PW9znq1i5qwEYxRigkN5uf4nmiZjai+PIPJkhafvd1S01aS0u4WPq5recsZyy9YTz0ECElQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PXwJYQS01UcnKyoOjSHUMqYGBLfsV7F/f3PgZkXkt+A=;
 b=bASh29yZxMna5F45R6H/MhumZo0mLDwZUTcH4LskZT2VtVGpK6M0A8m1kfAYBQryA1rzR8hhBi3J7XfZw40q91U3565BVVahvE4eRyDfWfmVk1vdEsSnIbwx8uAZTpsgQ7/837J41xtBCNJjKgXaDbffxPxLWkcuS4BKQIh+hz1lV4djlS0wcoslGHPv0COjuoayK+fl7GX4iEYFybmXg/fDjBoC7pO1lwp6cn4bLmKizJ4up8hzVbO1ErEjUpO9crwnvLBjO0O45fJ6bBgm1+/RlDLZMjOOdg3zBhXAejawE95Sf6ReIUMHMgNJBGi2YGfL76WG56DtrbcOkOKN9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=PXwJYQS01UcnKyoOjSHUMqYGBLfsV7F/f3PgZkXkt+A=;
 b=SswuZVqKGEYvLSUzpvFIlBHiXE/Q/1mk9vLvN43yc9vc6Zlrah7zajMl8Gxqjw/nLAjIHT8h6GPpu3UNx+opwVMjJrYsDLUny56oy7zFTxpUp6UXuNdck6OMkL6IyqTraMnYerG/FzFITu5FATcp6kb1za8WStcvGF95vzfeMH0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "patches@linaro.org"
	<patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Index:
 AQHal7ZoS0Rs3weazUuhKfXitmlnMLF6RnOAgAAvzwCAAAIygIAAA5kAgAACj4CAAAXVAIAAJEOA
Date: Fri, 26 Apr 2024 15:12:03 +0000
Message-ID: <F28C3921-0D2A-4D9E-A035-92BEC091C838@arm.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
 <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
 <CAHUa44ETaCY2pbUjMOW5T2NSpmRCq3sWMjLUbK0DC2jpQxHJRQ@mail.gmail.com>
 <3A576E95-454B-4C66-A164-A2871DB4E2B2@arm.com>
 <CAHUa44EC_H7Q_A2M63dZnEGGNanyjGM6m2MuBg4_6BNEO-XDKA@mail.gmail.com>
 <42E71B74-157D-4A4E-AA57-2A93BB3D0007@arm.com>
 <CAHUa44HhxHez35a95oEwnvMEObU_=6JrGVBc8rT5grFRHNUQyQ@mail.gmail.com>
In-Reply-To:
 <CAHUa44HhxHez35a95oEwnvMEObU_=6JrGVBc8rT5grFRHNUQyQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAVPR08MB9185:EE_|AM3PEPF0000A796:EE_|VE1PR08MB5840:EE_
X-MS-Office365-Filtering-Correlation-Id: 14541702-e114-44a4-1642-08dc66034153
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?eW9hWDF2eHJXWi9XeU82dmUrajgyNTFtM1EzV0FCUzQrRjhYSStWekl5aEor?=
 =?utf-8?B?MTgzQXRJbDZFUG9XUWxibkh5YjFoMmJGTjF4SDE2dFJLTHJRL3VaZHVpMFlL?=
 =?utf-8?B?bXpKNG1BcU9wdXUrSUdvNTh2aEJ6d2NrYlJUNXRlVkR0bjgxWG5ZSHhhMFhW?=
 =?utf-8?B?cWNOZkx6RUJ1VVEzbXZxNUh1aGFzYVRXanJuUE1tdE1tQTZqdng5OVpNNkJ0?=
 =?utf-8?B?MU9kMm8zb2tISVFFbVkxdWhBc2ZUZzVvQkc1T3NTT2ZwRFJCNWhqSlljYXZE?=
 =?utf-8?B?ejJWL1d6OTUyN2hKSnptR0tlL2dKb2NsbGYydzRleGhIZ1NCYVRSQk9ma0JK?=
 =?utf-8?B?K1VZYi9LOXEvV0JDZ2NSeUVXL0dTM0VuZXhrQTl2bWU1Wk1obWpWTXFyaXk2?=
 =?utf-8?B?cGlyL0U1N3hNS2xiWEpSTm9KZ2paOTQ4Ty9pYlpqMFVQVEd1QXNtcnBzaXI5?=
 =?utf-8?B?TE1LTWRVY1RJcmQvdUtaQnlWTWZzZGY2c3JRNmxDTmwzUHZMNkw3bmlVWEpi?=
 =?utf-8?B?Q08vdGtYSHd4QmxCaDVaSkkyQkZTdzJWM21TYU1rWjRvdUNvYS9jdE8wc29h?=
 =?utf-8?B?cGJCK083SHFQOUpZN3JVK0grc3pxNzJwaER5bURBdFpHUCt5L3VwcGZ1c1VX?=
 =?utf-8?B?aXhUOHJNbDF3L3FENC94NlVtUTJqZlRtSVJ3dStqUU0xOEVHZHVrS3ZRQlJk?=
 =?utf-8?B?NEpxVDhVOXpRUWhhaWFLVGtSRXcreFpHelVtek12VVdnR2tyYlN0cWtRWUxR?=
 =?utf-8?B?a3BqQ0RXL2NiQUlSNlRid0xsK1NFakpQRmo4TTNwYlJPUi8xdGhhUjMzWWgv?=
 =?utf-8?B?YzRtVFVqN29rM2lSTGxwSWd0TGZ3anMxclMxRDUyR3QybW9qT1A2OStSVXFV?=
 =?utf-8?B?TFgxSG1NUlp1cjhBeUwyWmw3QlRLU2FGK2FLNmN4NzZSYlpnVG1jV2xXMU9K?=
 =?utf-8?B?b0kvYXNDWmtzdE5oSHhsaHZwamt5OWc2TldpNU9RSDlkS21aL2lYYk1EcU1F?=
 =?utf-8?B?ME5zeTZtT215M0F5MnlXRmJITjd3TkQ2eGF4YmFydHRvMzQ2bHlhb3dLTFJL?=
 =?utf-8?B?ZkNyb1RlVGZUUm1PWUcrTHpHLzVJYnJ4RXc0T2ZDMVhCQlJ2WWRSWnRJWmd2?=
 =?utf-8?B?dmVFRWsxbHFHeWxYOFI5OVhHaldHbmJMcURCSFQ1QzJ2RmlKVEVBVFY1dmRJ?=
 =?utf-8?B?UWJDcTEzdTdiN1R2TXhOYVJuYlFwak8xRnpBNUtHL1JXdmVscUhJUjBMcThE?=
 =?utf-8?B?RXVRdTB2NWhNNGNYak5hYi9sOXBvZlhaZXJnL1NQcmV2NjZ2cjNqTnBmYVdw?=
 =?utf-8?B?L2NNcFZpL2FoZnY0QlBqbUtuOTlXRklBTHV4TStDSVNINitrQmhCQTgwNzZi?=
 =?utf-8?B?dEVvVkljN0JmY3UxOHppZ0htOVJYNEJSOEpGeXN6ZURhSEI5N1JVNEVTL3Ju?=
 =?utf-8?B?MHlFU3R1RWZ3RWVpaEE4WWx2bnFrSEN5SERFazgvVEpJNW9XWGlpeVJyNVJt?=
 =?utf-8?B?RW5ESEhaeisxS09FSHlkNkhqZE5VVzlVak1iY0xpVEwyTkhFUVhDa29RVXYz?=
 =?utf-8?B?bVpkcHJlTkxwK3M1SVRONmpSSEJMNWZNRk9ONkptODRoQ2lKOXNVUEtrV08w?=
 =?utf-8?B?bWFkeHg3RmRubzRrM3V4bDR0NUNEVE5BQnV2OFJXU1o2T3I1TVYwcWFVOGFi?=
 =?utf-8?B?Ly9iUlNEajA3S0hWSmttRk5LcEtOV0p5QzNzbk1JL1ZaTGg3ckV1NmZlYWEx?=
 =?utf-8?B?QXZJdlRPYzFhbnUzakpvbnY4NHpFSGlZRFJndXIxSUlvdHpHdGozT25jdGhI?=
 =?utf-8?B?ZzE2UmRybXZUVkxXVjlOUT09?=
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:(13230031)(366007)(1800799015)(376005)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0F9E5290885353409F2CC5BA92691CFA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9185
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A796.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a35e8dff-8b61-438c-1892-08dc66033ab0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|1800799015|82310400014|36860700004|35042699010;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SkRyZHdLUTNiODF2WGVBK203TXROY3Zkc2M0dFlVeDEvVi8zNCtTdzJnVUNv?=
 =?utf-8?B?MkhqV0hraXptUjVBRVhnZ0VyZjFtdUt3TVlGRm5rODQrS3NMZ0RQNFFlMWtM?=
 =?utf-8?B?SzBVZ2VKUnJhRzFVWWw1c1lkaGN4VG9XMkUvcFpaMFh5Q1plclJMdU9DM3lx?=
 =?utf-8?B?M0RxaWFuZnJYTkxHcUNIVFV3WFdiTHc4RHdRUlYxS0F5RGl4WHdTMDUyenhD?=
 =?utf-8?B?Rm5mMkxWbEpGU1B5eHVRUVRGbUxkbFZySjgvcGgwbjRwN2tZTEpPN0xoSDRV?=
 =?utf-8?B?T0VpbnQ2Y09qVHF2QkJSbXlmWGZ5bVBiamZNNXQzcE9rMG5aZXJkekF4dDFh?=
 =?utf-8?B?WnJMNTlMYUwzUWUzRE04TUNXTUhnckFHRGFZRzQ3RXo2VWwzOHRWNGFBL1I2?=
 =?utf-8?B?d3pnSEcvVi9rZHlFVVhNbHE4cVAzUy9kK2luajhkT0lGYWtqZDlka2ZDVVVM?=
 =?utf-8?B?QmpIbnYvY0hCN1BDYnhkaVZPcGN4cngzeTB4SGxFQVN0Qm40MmUwY1kxWm8y?=
 =?utf-8?B?c3ZGQld5aXRVRVYxaGJIZmV6c3AzTlBLdStXa1BmYWJ4OXRKZFAyZHY5WGpJ?=
 =?utf-8?B?dHRseldLbDR5dmJNUzhoa0taWGpUc1JkNGtjdEg5R3c2ZmNaRThUVjFZZ1dL?=
 =?utf-8?B?Rmo4ZVEwRnlWMUo1VkpGTmlRbUVlQ3VZc3ZXY28xY3BsY0Jja3ZhRDBORG4x?=
 =?utf-8?B?RUM1aDFSNzA4cEliZHhSeHdDTnIxOWE1d0hSdmxZak9sNlREaFZHeGpRK1ZB?=
 =?utf-8?B?NFVTRldETEFVUE5sbElSWnZ3MHNGSnJBMmcyVys2c2MvNit0Vlc2VXE5UGFi?=
 =?utf-8?B?QzNKTXVBanBaRS92QVFjUUJzWnlHalkyMXJaV1ZDUmtFUXhqRHY2Q0JHeGZG?=
 =?utf-8?B?YVRVT3FnbWJweFVDMU1YZU1CNVFqZXJ0YXBsVmoycjE5VVMzRkZzamZHSWVF?=
 =?utf-8?B?d1dvQUZZRFR1Vm9hSEFOelU0RXRBWEVEMnVDckwvNnd2NGRPcEFOeXRzR2NN?=
 =?utf-8?B?WFoxZHVScC9KM0xrUk9qR09yRmFKT2I2ejBzcDRZQ2hyY0VIWnU3UDJhdi9x?=
 =?utf-8?B?Yk1ML055OHBJSmJxVEpHcW13SUhlb2VydEFERFFST2srNnpKMzdTQmhVeHY3?=
 =?utf-8?B?ZjFNM0hhYWY1RExuUWluS2JlZ0pRdS92MFAyQVBmMkF6MWNwVmxuYnRuUGpR?=
 =?utf-8?B?QlB0aHhoQU45M3BPb3NBQmJkSUpNWUNVUmt5a2tKdGxRaU5SSmM1WjVkbC9p?=
 =?utf-8?B?SEFMOUxreGZ2YXNUTndtcVduM3B2dkJlMEJxV0FMZEREM3A1d0ZuclYwNVpy?=
 =?utf-8?B?NWJJRWFKdTRrcGJBVE41RkpYcHVaRGZ6aFpVeWhtSU5oWTJxNEpGL1FuNjlZ?=
 =?utf-8?B?VnI1b3YyR2ZELzJLNWF1RGJsSDYwdFR3QkwzeVJidVpqZ1paUFA1Z0ZuK0Z6?=
 =?utf-8?B?aGt0dTUvUkxiK2QvdnZmVkc1TmIyMWpXRnZROHNsWUJnbEl3RVBKQXJoSEd4?=
 =?utf-8?B?THJUUUpPcVZMNW56MGZsZEZkd2ZlMG1Tc2l4VnRDdVNlazhSb2RtellmVThu?=
 =?utf-8?B?dzVNaStIYkZUTWE1YjdLeFBXa0pyVE1WNS81N0pCMlNDYVVLK3BNYkdoSlhj?=
 =?utf-8?B?NXFyNmtZL3RYclk2U2pzeVhMelFhSU9TVk9GR1FYMEw0U1Job0t1RWd0TCsr?=
 =?utf-8?B?c2hIdHpSenNsNEZjTk5KTXUrekxlWWdVZi9lN2NuelJiRCtpdTZzKzNlK2Na?=
 =?utf-8?B?bHlzZFJjdWpQemlwbUp0NC9WYzdxTzIvZ3k3ZkhoSGpSNkhtdy9kdnlhTUkw?=
 =?utf-8?B?Y01Ra2s2U2NJdlkxVkNIUUtWTmRxM0hOTkdoWXNhVVRGenc5cFkxYXIzZE5s?=
 =?utf-8?Q?RdJ9nolRCDdKH?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004)(35042699010);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 15:12:14.6042
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 14541702-e114-44a4-1642-08dc66034153
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: VE1PR08MB5840

SGkgSmVucywNCg0KPiBPbiAyNiBBcHIgMjAyNCwgYXQgMTU6MDIsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IE9uIEZyaSwgQXByIDI2LCAy
MDI0IGF0IDI6NDHigK9QTSBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxCZXJ0cmFuZC5NYXJxdWlzQGFy
bS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIaSBKZW5zLA0KPj4gDQo+Pj4gT24gMjYgQXByIDIwMjQs
IGF0IDE0OjMyLCBKZW5zIFdpa2xhbmRlciA8amVucy53aWtsYW5kZXJAbGluYXJvLm9yZz4gd3Jv
dGU6DQo+Pj4gDQo+Pj4gSGkgQmVydHJhbmQsDQo+Pj4gDQo+Pj4gT24gRnJpLCBBcHIgMjYsIDIw
MjQgYXQgMjoxOeKAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4+PiA8QmVydHJhbmQuTWFycXVpc0Bh
cm0uY29tPiB3cm90ZToNCj4+Pj4gDQo+Pj4+IEhpIEplbnMsDQo+Pj4+IA0KPj4+Pj4gT24gMjYg
QXByIDIwMjQsIGF0IDE0OjExLCBKZW5zIFdpa2xhbmRlciA8amVucy53aWtsYW5kZXJAbGluYXJv
Lm9yZz4gd3JvdGU6DQo+Pj4+PiANCj4+Pj4+IEhpIEJlcnRyYW5kLA0KPj4+Pj4gDQo+Pj4+PiBP
biBGcmksIEFwciAyNiwgMjAyNCBhdCAxMToyMOKAr0FNIEJlcnRyYW5kIE1hcnF1aXMNCj4+Pj4+
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4+Pj4+IA0KPj4+Pj4+IEhpIEpl
bnMsDQo+Pj4+Pj4gDQo+Pj4+Pj4+IE9uIDI2IEFwciAyMDI0LCBhdCAxMDo0NywgSmVucyBXaWts
YW5kZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+IHdyb3RlOg0KPj4+Pj4+PiANCj4+PiBb
Li4uXQ0KPj4+Pj4+PiArc3RydWN0IG5vdGlmX2lycV9pbmZvIHsNCj4+Pj4+Pj4gKyAgICB1bnNp
Z25lZCBpbnQgaXJxOw0KPj4+Pj4+PiArICAgIGludCByZXQ7DQo+Pj4+Pj4+ICsgICAgc3RydWN0
IGlycWFjdGlvbiAqYWN0aW9uOw0KPj4+Pj4+PiArfTsNCj4+Pj4+Pj4gKw0KPj4+Pj4+PiArc3Rh
dGljIHZvaWQgbm90aWZfaXJxX2VuYWJsZSh2b2lkICppbmZvKQ0KPj4+Pj4+PiArew0KPj4+Pj4+
PiArICAgIHN0cnVjdCBub3RpZl9pcnFfaW5mbyAqaXJxX2luZm8gPSBpbmZvOw0KPj4+Pj4+PiAr
DQo+Pj4+Pj4+ICsgICAgaXJxX2luZm8tPnJldCA9IHNldHVwX2lycShpcnFfaW5mby0+aXJxLCAw
LCBpcnFfaW5mby0+YWN0aW9uKTsNCj4+Pj4+Pj4gKyAgICBpZiAoIGlycV9pbmZvLT5yZXQgKQ0K
Pj4+Pj4+PiArICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiZmZhOiByZXF1ZXN0X2lycSBpcnEg
JXUgZmFpbGVkOiBlcnJvciAlZFxuIiwNCj4+Pj4+Pj4gKyAgICAgICAgICAgICAgIGlycV9pbmZv
LT5pcnEsIGlycV9pbmZvLT5yZXQpOw0KPj4+Pj4+PiArfQ0KPj4+Pj4+PiArDQo+Pj4+Pj4+ICt2
b2lkIGZmYV9ub3RpZl9pbml0KHZvaWQpDQo+Pj4+Pj4+ICt7DQo+Pj4+Pj4+ICsgICAgY29uc3Qg
c3RydWN0IGFybV9zbWNjY18xXzJfcmVncyBhcmcgPSB7DQo+Pj4+Pj4+ICsgICAgICAgIC5hMCA9
IEZGQV9GRUFUVVJFUywNCj4+Pj4+Pj4gKyAgICAgICAgLmExID0gRkZBX0ZFQVRVUkVfU0NIRURV
TEVfUkVDVl9JTlRSLA0KPj4+Pj4+PiArICAgIH07DQo+Pj4+Pj4+ICsgICAgc3RydWN0IG5vdGlm
X2lycV9pbmZvIGlycV9pbmZvID0geyB9Ow0KPj4+Pj4+PiArICAgIHN0cnVjdCBhcm1fc21jY2Nf
MV8yX3JlZ3MgcmVzcDsNCj4+Pj4+Pj4gKyAgICB1bnNpZ25lZCBpbnQgY3B1Ow0KPj4+Pj4+PiAr
DQo+Pj4+Pj4+ICsgICAgYXJtX3NtY2NjXzFfMl9zbWMoJmFyZywgJnJlc3ApOw0KPj4+Pj4+PiAr
ICAgIGlmICggcmVzcC5hMCAhPSBGRkFfU1VDQ0VTU18zMiApDQo+Pj4+Pj4+ICsgICAgICAgIHJl
dHVybjsNCj4+Pj4+Pj4gKw0KPj4+Pj4+PiArICAgIGlycV9pbmZvLmlycSA9IHJlc3AuYTI7DQo+
Pj4+Pj4+ICsgICAgaWYgKCBpcnFfaW5mby5pcnEgPCBHSUNfU0dJX1NUQVRJQ19NQVggfHwgaXJx
X2luZm8uaXJxID49IE5SX0dJQ19TR0kgKQ0KPj4+Pj4+PiArICAgIHsNCj4+Pj4+Pj4gKyAgICAg
ICAgcHJpbnRrKFhFTkxPR19FUlIgImZmYTogbm90aWZpY2F0aW9uIGluaXRpYWxpemF0aW9uIGZh
aWxlZDogY29uZmxpY3RpbmcgU0dJICV1XG4iLA0KPj4+Pj4+PiArICAgICAgICAgICAgICAgaXJx
X2luZm8uaXJxKTsNCj4+Pj4+Pj4gKyAgICAgICAgcmV0dXJuOw0KPj4+Pj4+PiArICAgIH0NCj4+
Pj4+Pj4gKw0KPj4+Pj4+PiArICAgIC8qDQo+Pj4+Pj4+ICsgICAgICogU0dJcyBhcmUgcGVyLUNQ
VSBzbyB3ZSBtdXN0IGVuYWJsZSB0aGUgSVJRIG9uIGVhY2ggQ1BVLiBXZSB1c2UgYW4NCj4+Pj4+
Pj4gKyAgICAgKiBJUEkgdG8gY2FsbCBub3RpZl9pcnFfZW5hYmxlKCkgb24gZWFjaCBDUFUgaW5j
bHVkaW5nIHRoZSBjdXJyZW50DQo+Pj4+Pj4+ICsgICAgICogQ1BVLiBUaGUgc3RydWN0IGlycWFj
dGlvbiBpcyBwcmVhbGxvY2F0ZWQgc2luY2Ugd2UgY2FuJ3QgYWxsb2NhdGUNCj4+Pj4+Pj4gKyAg
ICAgKiBtZW1vcnkgd2hpbGUgaW4gaW50ZXJydXB0IGNvbnRleHQuDQo+Pj4+Pj4+ICsgICAgICov
DQo+Pj4+Pj4+ICsgICAgZm9yX2VhY2hfb25saW5lX2NwdShjcHUpDQo+Pj4+Pj4+ICsgICAgew0K
Pj4+Pj4+PiArICAgICAgICBpcnFfaW5mby5hY3Rpb24gPSB4bWFsbG9jKHN0cnVjdCBpcnFhY3Rp
b24pOw0KPj4+Pj4+IA0KPj4+Pj4+IFlvdSBhbGxvY2F0ZSBvbmUgYWN0aW9uIHBlciBjcHUgYnV0
IHlvdSBoYXZlIG9ubHkgb25lIGFjdGlvbiBwb2ludGVyIGluIHlvdXIgc3RydWN0dXJlDQo+Pj4+
Pj4gd2hpY2ggbWVhbnMgeW91IHdpbGwgb3ZlcmxvYWQgdGhlIHByZXZpb3VzbHkgYWxsb2NhdGVk
IG9uZSBhbmQgbG9zZSB0cmFjay4NCj4+Pj4+PiANCj4+Pj4+PiBZb3Ugc2hvdWxkIGhhdmUgYSB0
YWJsZSBvZiBhY3Rpb25zIGluIHlvdXIgc3RydWN0dXJlIGluc3RlYWQgdW5sZXNzIG9uZSBhY3Rp
b24gaXMNCj4+Pj4+PiBlbm91Z2ggYW5kIGNhbiBiZSByZXVzZWQgb24gYWxsIGNwdXMgYW5kIGlu
IHRoaXMgY2FzZSB5b3Ugc2hvdWxkIG1vdmUgb3V0IG9mDQo+Pj4+Pj4geW91ciBsb29wIHRoZSBh
bGxvY2F0aW9uIHBhcnQuDQo+Pj4+PiANCj4+Pj4+IFRoYXQgc2hvdWxkbid0IGJlIG5lZWRlZCBi
ZWNhdXNlIHRoaXMgaXMgZG9uZSBpbiBzZXF1ZW5jZSBvbmx5IG9uZSBDUFUNCj4+Pj4+IGF0IGEg
dGltZS4NCj4+Pj4gDQo+Pj4+IFNvcnJ5IGkgZG8gbm90IHVuZGVyc3RhbmQgaGVyZS4NCj4+Pj4g
WW91IGhhdmUgYSBsb29wIG92ZXIgZWFjaCBvbmxpbmUgY3B1IGFuZCBvbiBlYWNoIGxvb3AgeW91
IGFyZSBhc3NpZ25pbmcNCj4+Pj4gaXJxX2luZm8uYWN0aW9uIHdpdGggYSBuZXdseSBhbGxvY2F0
ZWQgc3RydWN0IGlycWFjdGlvbiBzbyB5b3UgYXJlIGluIHByYWN0aWNlDQo+Pj4+IG92ZXJsb2Fk
aW5nIG9uIGNwdSAyIHRoZSBhY3Rpb24gdGhhdCB3YXMgYWxsb2NhdGVkIGZvciBjcHUgMS4NCj4+
Pj4gDQo+Pj4+IFdoYXQgZG8geW91IG1lYW4gYnkgc2VxdWVuY2UgaGVyZSA/DQo+Pj4+IA0KPj4+
IA0KPj4+IE15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCBmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkg
bG9vcHMgb3ZlciBlYWNoIGNwdSwNCj4+PiBvbmUgYXQgYSB0aW1lLiBUaGUgY2FsbA0KPj4+IG9u
X3NlbGVjdGVkX2NwdXMoY3B1bWFza19vZihjcHUpLCBub3RpZl9pcnFfZW5hYmxlLCAmaXJxX2lu
Zm8sIDEpOw0KPj4+IHJldHVybnMgYWZ0ZXIgbm90aWZfaXJxX2VuYWJsZSgpIGhhcyByZXR1cm5l
ZCBvbiB0aGUgQ1BVIGluIHF1ZXN0aW9uDQo+Pj4gdGhhbmtzIHRvIHRoZSAiMSIgKHdhaXQpIHBh
cmFtZXRlci4gU28gb25jZSBpdCBoYXMgcmV0dXJuZWQgJmlycV9pbmZvDQo+Pj4gaXNuJ3QgdXNl
ZCBieSB0aGUgb3RoZXIgQ1BVIGFueSBsb25nZXIgYW5kIHdlIGNhbiBhc3NpZ24gYSBuZXcgdmFs
dWUNCj4+PiB0byBpcnFfaW5mby5hY3Rpb24uDQo+PiANCj4+IFJpZ2h0IHNvIHlvdSBsb29zZSB0
cmFjayBvZiB3aGF0IHdhcyBhc3NpZ25lZCBzbyB5b3UgYXJlIG5vdCBhYmxlIHRvDQo+PiBmcmVl
IGl0Lg0KPj4gSWYgdGhhdCBpcyB3YW50ZWQgdGhlbiB3aHkgc2F2aW5nIHRoaXMgaW4gaXJxLmFj
dGlvbiBhcyB5b3Ugd2lsbCBvbmx5IGhhdmUNCj4+IHRoZXJlIHRoZSBvbmUgYWxsb2NhdGVkIGZv
ciB0aGUgbGFzdCBvbmxpbmUgY3B1Lg0KPiANCj4gV291bGRuJ3QgcmVsZWFzZV9pcnEoKSBmcmVl
IGl0PyBBbiBlcnJvciBoZXJlIGlzIHVubGlrZWx5LCBidXQgd2UgbWF5DQo+IGJlIGxlZnQgd2l0
aCBhIGZldyBpbnN0YWxsZWQgc3RydWN0IGlycWFjdGlvbiBpZiBpdCBvY2N1cnMuIEkgY2FuIGFk
ZA0KPiBhIG1vcmUgZWxhYm9yYXRlIGVycm9yIHBhdGggaWYgaXQncyB3b3J0aCB0aGUgYWRkZWQg
Y29tcGxleGl0eS4NCg0KSSB0aGluayBqdXN0IGFkZCBhIGNvbW1lbnQgc2F5aW5nIHRoYXQgdGhl
IGlycWFjdGlvbiB3aWxsIGJlIGZyZWVkDQp1cG9uIHJlbGVhc2VfaXJxIHNvIHdlIGRvIG5vdCBr
ZWVwIGEgcmVmZXJlbmNlIHRvIGl0IG9yIHNvbWV0aGluZw0KbGlrZSB0aGF0IGFuZCB0aGlzIHdp
bGwgYmUgb2suDQoNClRoZSBjb2RlIGlzIGluIGZhY3QgYSBiaXQgbWlzbGVhZGluZyBiZWNhdXNl
IHRoZSBpcnFhY3Rpb24gaXMgdXNlZA0KaW5zaWRlIHRoZSBmdW5jdGlvbiBjYWxsZWQgb24gb3Ro
ZXIgY29yZXMgdGhyb3VnaCB0aGUgSVBJIGFuZCB0aGVyZQ0KeW91IGFjdHVhbGx5IHBhc3MgdGhl
IGFjdGlvbi4gWW91ciBzdHJ1Y3R1cmUgaXMgb25seSB0aGVyZSB0byB0cmFuc3BvcnQNCnRoZSBp
bmZvcm1hdGlvbiBmb3IgdGhlIElQSSBoYW5kbGVyLg0KU28gcGxlYXNlIGFkZCBhIGNvbW1lbnQg
b24gdG9wIG9mIHRoZSBub3RpZl9pcnFfaW5mbyB0byBzYXkgdGhhdA0KdGhpcyBzdHJ1Y3R1cmUg
aXMgdXNlZCB0byBwYXNzIGluZm9ybWF0aW9uIHRvIGFuZCBiYWNrIHRoZSBub3RpZl9pcnFfZW5h
YmxlDQpleGVjdXRlZCB1c2luZyBhbiBJUEkgb24gb3RoZXIgY29yZXMuDQoNCkNoZWVycw0KQmVy
dHJhbmQNCg0KDQo+IA0KPiBUaGFua3MsDQo+IEplbnMNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:14:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712908.1113810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NHe-0005MF-4U; Fri, 26 Apr 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 712908.1113810; Fri, 26 Apr 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 1s0NHe-0005M8-1p; Fri, 26 Apr 2024 15:14:42 +0000
Received: by outflank-mailman (input) for mailman id 712908;
 Fri, 26 Apr 2024 15:14: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=duI6=L7=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1s0NHd-0005M0-7p
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:14:41 +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 9fce0408-03df-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 17:14:07 +0200 (CEST)
Received: by mail-oo1-xc2e.google.com with SMTP id
 006d021491bc7-5ac8e8ce2a7so1415407eaf.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 08:14: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: 9fce0408-03df-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714144446; x=1714749246; 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=hczv7kJ3x6yYZjbyvcVzmAkv2O6tyLxbzNm2mopKoVE=;
        b=if9zNWBBx8meSKWV7lyoZAJaoqn2F8BczdOrKc4W5rrIuH7SfTtTE+qpErkqpqkwRv
         P/MpwBbG1z0+J66hFiAO11nQ6tknqslzdY0dsKgMLSG2E5y9Gk0FmxR9WQJq6b3uFlDD
         /TmS8QyrnkIulU+phsiyxCsdWgkLHv9pvmTyM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714144446; x=1714749246;
        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=hczv7kJ3x6yYZjbyvcVzmAkv2O6tyLxbzNm2mopKoVE=;
        b=vKvXO/ACx8CgQJqC7L4Yc3msDb+KQ9wt81ATjxhRjrNJZCJWfJ5uSCEpmL4DWV9BYJ
         xcHdnz9lxjrSRqxr2C8M3gTm6kT23fsRcRkjE/mrHoW3aH828OwwWMK4MJhEg8DtnpIj
         I0JOneyTCk/GRnqKyzovevMInHp8hIqytQ+wve1HsRHXkr1HgRmOBjYCfWbKxp4oy5Ym
         PdgkMDMimTNpljPvxIqD0MCVYYVzpsTbvSGQ2+n45za3ASEf1a9K+Nr4YjTaPyp3zv9Z
         fBqZPZsetvUPuCstljDX88t1/WMU9XFU2e8pTWtFKMKa4i3NkPx4s8hr/qQ8Yvt5GbBd
         L1eA==
X-Gm-Message-State: AOJu0Yw6JOXROGa6ckRSolQy81vzy+g3CiOP+2OdqeJcuzV3LxAnRg8i
	ebmZ6qUQQ4oYo40YW30eUSeJiADzWPjTBdmMWZrI752rn9139nOkIi5MopydNiOILv9bWbIXjNU
	c2rw/Ba17BGF7b+Dp3Bf+YxwQKD0CeSvlbVLD1H00bOnYrusc3EU=
X-Google-Smtp-Source: AGHT+IH6E7WPMYwsXkhrDDDiP5bARStwqPSDIcCG273nYHfnoGE8SmSfwC6smkTSAO1swzDO8DOD+svPI1Nkx6N1A90=
X-Received: by 2002:a05:6870:d610:b0:233:b5af:bba0 with SMTP id
 a16-20020a056870d61000b00233b5afbba0mr1395067oaq.0.1714144446030; Fri, 26 Apr
 2024 08:14:06 -0700 (PDT)
MIME-Version: 1.0
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
 <20240426143231.4007671-3-george.dunlap@cloud.com> <76b27178-b860-4148-8878-43afc4f042da@citrix.com>
In-Reply-To: <76b27178-b860-4148-8878-43afc4f042da@citrix.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 26 Apr 2024 16:13:55 +0100
Message-ID: <CA+zSX=bok0DTFKt_Ce-0i0pA8PgCA70jT9KB8Q6Ubhiby_UvyA@mail.gmail.com>
Subject: Re: [PATCH 2/3] tools/xenalyze: Ignore HVM_EMUL events harder
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Anthony Perard <anthony.perard@cloud.com>, 
	Olaf Hering <olaf@aepfle.de>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 26, 2024 at 4:06=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 26/04/2024 3:32 pm, George Dunlap wrote:
> > To unify certain common sanity checks, checks are done very early in
> > processing based only on the top-level type.
> >
> > Unfortunately, when TRC_HVM_EMUL was introduced, it broke some of the
> > assumptions about how the top-level types worked.  Namely, traces of
> > this type will show up outside of HVM contexts: in idle domains and in
> > PV domains.
> >
> > Make an explicit exception for TRC_HVM_EMUL types in a number of places=
:
> >
> >  - Pass the record info pointer to toplevel_assert_check, so that it
> >    can exclude TRC_HVM_EMUL records from idle and vcpu data_mode
> >    checks
> >
> >  - Don't attempt to set the vcpu data_type in hvm_process for
> >    TRC_HVM_EMUL records.
> >
> > Signed-off-by: George Dunlap <george.dunlap@cloud.com>
>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> Although I'm tempted to say that if records of this type show up outside
> of HVM context, then it's misnamed or we've got an error in Xen.  Any
> view on which?

I didn't add them; they seem to be about doing emulation of devices on
behalf of an HVM domain.  But since some of these are things like
timers and such, the actual code ends up being run in random contexts;
probably interrupt contexts (which of course can occur when a non-HVM
guest is running).

One example of an event that showed up this way was
TRC_HVM_EMUL_RTC_STOP_TIMER, which is traced from
xen/arch/x86/hvm/rtc.c:rtc_pf_callback().  I didn't trace back how it
came to be called while a PV guest was running, but it was pretty
obvious that it was legit.

It would certainly make the xenalyze code cleaner to make a separate
top-level tracing category for them; but they certainly do seem to be
directly related to HVM, so doing so would seem to be putting the cart
before the horse, as they say (although I could be convinced
otherwise).

 -George


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:18:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712921.1113821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NL2-0006LO-JV; Fri, 26 Apr 2024 15:18:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712921.1113821; Fri, 26 Apr 2024 15:18:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NL2-0006LH-GO; Fri, 26 Apr 2024 15:18:12 +0000
Received: by outflank-mailman (input) for mailman id 712921;
 Fri, 26 Apr 2024 15:18:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0NL1-0006L9-99
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:18:11 +0000
Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com
 [2607:f8b0:4864:20::f2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f6cd276-03e0-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 17:18:08 +0200 (CEST)
Received: by mail-qv1-xf2a.google.com with SMTP id
 6a1803df08f44-69b514d3cf4so22688576d6.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 08:18:08 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d26-20020a0caa1a000000b0069b3b3b9c68sm1989138qvb.41.2024.04.26.08.18.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 08:18: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: 2f6cd276-03e0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714144687; x=1714749487; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JaJWI/H/iWHdluCS1NEelwJSAJbQebG7UU3OkjAe+Tw=;
        b=Fr2LQs9DszHc7QUw0qgIeNnZsSCYTfkeNsbOJHlIIlgDYIXiQ/5FxMn3ECR2QgSdqx
         YyH6WHaSR0MuniTL1qqaJIgBEalvcblOfB8u12P17K9I8YTJjTZ1iGymL6iArVF+7HGr
         JEq8+ftYBfkrse7TsHrL+JJPIcSzJshJMkOn8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714144687; x=1714749487;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JaJWI/H/iWHdluCS1NEelwJSAJbQebG7UU3OkjAe+Tw=;
        b=vvBZhFZTfNfi9hsKXvg5DxYk9w3sIpNO5DGeNP75ymUgclbfIvSs9WEsf+99H9oXPK
         TbtlVrnTwpnffkEHeruzlxawIF1QpOZ6ZQLbYZyVV8O586NusTSTVSrsmF98El4o+ana
         9xY6/cFXQghx7dJVCpb5H1hwpqg1FQZ9IjZBKIKLxoFwacPcemJsBFxmwr7bMykbAME2
         YfHs7ZJczWTvo3VedpNwL61OkHwuZLOcdlBEawyr15cTBIMv4xYO+j/X3gS5t/1vK0za
         r+iJRSCNJ2638xrbUOt4x2l5hkAU4PdaWRjfu/lks8phhAu9SbzRDmI+lOzBgFFkRlhS
         ljnw==
X-Forwarded-Encrypted: i=1; AJvYcCWjoEDBNdeShea+a2NnDCcun7UFK5K+B3h68nxRElV9LI0hGdAKBqRqeJyQqCotP9LVFnhq4xgjX6c/r51gj/KdJmtg2V/KOKePkTjCkIg=
X-Gm-Message-State: AOJu0YyoUCpz7ua2KdQLf8MF67SgCw3dDJr19fnYHLOAbsOrjKuWyuc5
	b+rCIsbUsj7zU1S4YBCnP6StjLBNSwMTbFUBvY3D2duiGbPYroS4MXbEzA4KbEU=
X-Google-Smtp-Source: AGHT+IHdJzjfyP3TcYgyCWZVr9CdTUo7VfD60zotH0XQI7iMwNcUuZNyDJWSNxxDa0az/4fvPrXEOA==
X-Received: by 2002:a05:6214:d08:b0:699:49d3:fe3a with SMTP id 8-20020a0562140d0800b0069949d3fe3amr3277395qvh.44.1714144686969;
        Fri, 26 Apr 2024 08:18:06 -0700 (PDT)
Message-ID: <aecae47b-eba6-4544-a566-8eb259d11a41@citrix.com>
Date: Fri, 26 Apr 2024 16:18:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/hvm/trace: Use a different trace type for AMD
 processors
To: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@cloud.com>,
 Anthony Perard <anthony.perard@cloud.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Olaf Hering <olaf@aepfle.de>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
 <20240426143231.4007671-2-george.dunlap@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: <20240426143231.4007671-2-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/04/2024 3:32 pm, George Dunlap wrote:
> A long-standing usability sub-optimality with xenalyze is the
> necessity to specify `--svm-mode` when analyzing AMD processors.  This
> fundamentally comes about because the same trace event ID is used for
> both VMX and SVM, but the contents of the trace must be interpreted
> differently.
>
> Instead, allocate separate trace events for VMX and SVM vmexits in
> Xen; this will allow all readers to properly intrepret the meaning of

interpret ?

> the vmexit reason.
>
> In xenalyze, first remove the redundant call to init_hvm_data();
> there's no way to get to hvm_vmexit_process() without it being already
> initialized by the set_vcpu_type call in hvm_process().
>
> Replace this with set_hvm_exit_reson_data(), and move setting of
> hvm->exit_reason_* into that function.
>
> Modify hvm_process and hvm_vmexit_process to handle all four potential
> values appropriately.
>
> If SVM entries are encountered, set opt.svm_mode so that other
> SVM-specific functionality is triggered.

Given that xenalyze is now closely tied to Xen, and that we're
technically changing the ABI here, is there any point keeping `--svm-mode` ?

I'm unsure of the utility of reading the buggy trace records from an
older version of Xen.

> Also add lines in `formats` for xentrace_format.

Personally I'd have put patch 3 first, and reduced the churn here.

> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
> ---
> NB that this patch goes on top of Andrew's trace cleanup series:
>
> https://lore.kernel.org/xen-devel/20240318163552.3808695-1-andrew.cooper3@citrix.com/

The delta in Xen is trivial.  I'm happy if you want to commit this, and
I can rebase over it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:23:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:23:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712928.1113831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NQ4-0007pR-3R; Fri, 26 Apr 2024 15:23:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712928.1113831; Fri, 26 Apr 2024 15: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 1s0NQ4-0007pK-0T; Fri, 26 Apr 2024 15:23:24 +0000
Received: by outflank-mailman (input) for mailman id 712928;
 Fri, 26 Apr 2024 15: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=Mvt6=L7=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1s0NQ2-0007ou-Au
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:23:22 +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 e9e60a2e-03e0-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 17:23:20 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-51b09c3a111so3188895e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 08:23:20 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 f17-20020a17090660d100b00a587236e646sm5119948ejk.174.2024.04.26.08.23.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 08: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: e9e60a2e-03e0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714145000; x=1714749800; 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=V22gP2pvDYFnwIOuSYvkYUyVE54XbbjG3Emc8WQZkU8=;
        b=VucHo0G57H8mBTJC5rb5N0eFN9MntiXbTHiUKatTKBR5fYJwWpYpPJquwjsVj25b2s
         y17zoibYWRmVbWmkR/O/OQbYS95pxOkVM/u2lZ35aHB4kbfBjLZH44tPZc4C328k0bcA
         4CxiUcVJ82urYKervSYfhqHjSld7iDnPzxrrs0QT/INcpMU7jGBwPtzN15mSQKqr8lEx
         4nm8Mo2leXE4DrEgpq4j8OrdBz5Pujd1mUmBy0O1uMSXPU90PBH2N4I117a2dR3lNL6p
         Vp/0PEEtK5pAInQ6rRQJGiH7cDV73goeVrbmaPXydJW3aUDnb8TbV5V4gRLwcu3EnT3p
         9Fsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714145000; x=1714749800;
        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=V22gP2pvDYFnwIOuSYvkYUyVE54XbbjG3Emc8WQZkU8=;
        b=J+C5XhhyqV2NAMPZK5BuGyK8SB7TcoREeKDqlGq/9ZKJLb6BbzG/UYKCEq92DeIJ2G
         8aGZjvd45s9PDez4z+jPC7Y0DFPD3jkro4cV+q9AYvRbFWCKgD2uUTwSn47fg9EHe6+2
         ht5tyIEGblR6EVcnDYuHaKi8TKiRASzC3yzrXyOF+8258xyke9CG02/6xX8epVVx7QM0
         G+k6Ll61QJwFWlb5uyQwfC81V70QBymLtTRf4RkXxrsduAeIHYKGl7Sib6PeHSCaNj0R
         AC9xpejNyWybVuI9qZp5kpYtzTftgVwrd2FJmT9wa5na5ksQD/5CaD6pQgMMnn0LOMrn
         OH6Q==
X-Gm-Message-State: AOJu0YxT6S91LKzw9XgyK3r+nauWeDdtuW7fDRGm1LDrfB22B9HBN9zZ
	qaQ35N3RKGNdBfFE/QS/85WIvguW8XobbC7Ako6waVdicMWUlkXO2MqMIA==
X-Google-Smtp-Source: AGHT+IFWZjc5RfiNVABR/yWormGTljR4ie145up6Zof5AVf4R3W/UQsr0eWEwccHs5oxNfOqAMB/Ig==
X-Received: by 2002:ac2:4908:0:b0:518:c959:8be with SMTP id n8-20020ac24908000000b00518c95908bemr2029873lfi.58.1714144999230;
        Fri, 26 Apr 2024 08:23:19 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1] xen/riscv: improve check-extension() macro
Date: Fri, 26 Apr 2024 17:23:15 +0200
Message-ID: <6f37ce6b115b682118a8332b2a81b49358c88587.1714144943.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Now, the check-extension() macro has 1 argument instead of 2.
This change helps to reduce redundancy around usage of extensions
name (in the case of the zbb extension, the name was used 3 times).

To implement this, a new variable was introduced:
  <extension name>-insn
which represents the instruction support that is being checked.

Additionally, zbb-insn is updated to use $(comma) instead of ",".

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Suggested-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/riscv/arch.mk | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index dd242c91d1..17827c302c 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -13,12 +13,21 @@ riscv-generic-flags := $(riscv-abi-y) -march=$(riscv-march-y)
 
 # check-extension: Check whether extenstion is supported by a compiler and
 #                  an assembler.
-# Usage: $(call check-extension,extension_name,"instr")
-check-extension = $(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(2),_$(1))
-
-zbb-insn := "andn t0, t0, t0"
-zbb := $(call check-extension,zbb,$(zbb-insn))
-zihintpause := $(call check-extension,zihintpause,"pause")
+# Usage: $(call check-extension,extension_name).
+#        it should be defined variable with following name:
+#          <extension name>-insn := "insn"
+#        which represents an instruction of extension support of which is
+#        going to be checked.
+define check-extension =
+$(eval $(1) := \
+	$(call as-insn,$(CC) $(riscv-generic-flags)_$(1),$(value $(1)-insn),_$(1)))
+endef
+
+zbb-insn := "andn t0$(comma)t0$(comma)t0"
+$(call check-extension,zbb)
+
+zihintpause-insn := "pause"
+$(call check-extension,zihintpause)
 
 extensions := $(zbb) $(zihintpause)
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:27:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712933.1113842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NTj-000139-JQ; Fri, 26 Apr 2024 15:27:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712933.1113842; Fri, 26 Apr 2024 15: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 1s0NTj-000132-Ey; Fri, 26 Apr 2024 15:27:11 +0000
Received: by outflank-mailman (input) for mailman id 712933;
 Fri, 26 Apr 2024 15:27: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=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0NTh-0000yt-Rs
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:27:10 +0000
Received: from wfout1-smtp.messagingengine.com
 (wfout1-smtp.messagingengine.com [64.147.123.144])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 705108b8-03e1-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 17:27:07 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfout.west.internal (Postfix) with ESMTP id 5153D1C0015E;
 Fri, 26 Apr 2024 11:27:04 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 26 Apr 2024 11:27:04 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 11:27:02 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 705108b8-03e1-11ef-909a-e314d9c70b13
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=fm3; t=1714145223;
	 x=1714231623; bh=F93DfMBe8i7di6qR58W+TimZ8RaG79w85iZRctNxY0U=; b=
	jz33NJVGR6l8V40unp5l4x4puNDcBtqjs2jWK4bVq6sf+uJUdBkZYeE42HigtqII
	U+LgmYjq8KRE/cE94afWDz80gH9qemELRHFO7HubHjnUo26jQSK+kcJCk7bqSx+x
	yrFywEMPEvy3Npij8y4o01/Un8XreMHnbpZCiAEkEfh+skClCZw3wOy+T7JfeaVv
	XqZ7Coo9kpmCQaXgrxHfF74xlgPWP4r1iIHyGG5bWLgGgfbUfMkqdtzVF/xJLwhE
	H2sUncAxPPM3dHDpGKlOHax74fgopNEKatQM6xg2t1k4wSZ1zYSTnbfZS+2nHc2V
	sXy3/zip2GCf8PBnF727+Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm3; t=1714145223; x=1714231623; bh=F93DfMBe8i7di6qR58W+TimZ8RaG
	79w85iZRctNxY0U=; b=ARQrxv1wOIyxrHiraz/YL6R8WaxGGpNBBrZcsVdQ7W5H
	pCaCVJA6spNwgC5j+sRy3TTw/D7V7qd8w7CEpR9Q7N59fLvshH0xAYN/OD9ITvzj
	r7kGJs5A5Rcj2YalKGPfmBsMornF3NmDGfi2ERXEQVB0xj+Rx15mUPH9yIEDVJij
	yYMtUKEjCLeegO7gEpNrYFfaUxJ2nhaMdXg1CiOg9VhCOxhxo+xc3wMyOkNnI10K
	JdRhmCl8FpdJPzow/m/G+Bj08WniN3YJUDTV6j4D+U6bZAYhmDxdioqWSCjm4fL1
	4eCFAe8FXyr6EJ9GaTqXo8yX9Y+NwM7b0ioV+XXfWw==
X-ME-Sender: <xms:x8crZkRMyiAt3nx_raIh5PZpVokFZ27Yy5pzQRtK_k5zRjCiyiyksw>
    <xme:x8crZhytTUW_pTIUg5T3ywoNoUchMb7m4jho2LHSFSGbw81UK93vJnanwCvaQWPju
    6Y6BVJyQYP43Q>
X-ME-Received: <xmr:x8crZh01yiCNmDSRYrwjiqBgIqE97UDOmrZI8s8sewlUgvy5-q8x2EiRmD-tgYCl-O0cn4rfluQEUNGrfjj_CJoHom0EgkACnA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledgkeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:x8crZoAXcAPYNB_-YZon4HFshqYFtZuA6s3WRK1m8GUCA-XVkHkisg>
    <xmx:x8crZtjFGhKZjjuhabmhcwZ2yqKU55mXhH07T0q8dhbryKlBuJv0Tw>
    <xmx:x8crZkrpLPfwiTVJFzWS6XMtT_fvNcPBJ4N74B9LPfuSqsRXBmBcWw>
    <xmx:x8crZghijUZeZrCuWB687RxTA52h3Z-TGYxjeMAo8F_50PBAucYS4w>
    <xmx:x8crZtcpNmCb0tv970oYEUXno1SewfgYmkH--bQonTKcPJV9Ao97kE4N>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 26 Apr 2024 17:26:49 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 3/7] x86/hvm: Allow access to registers on the same
 page as MSI-X table
Message-ID: <ZivHw9RUUN1CV4Hi@mail-itl>
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
 <a040f703a884ff4516314f88b22ee0f9f17329a9.1710342968.git-series.marmarek@invisiblethingslab.com>
 <68f99f0a-e27a-449f-8d13-fb5ca9f6069a@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="CKYVC/vicUnx3hS2"
Content-Disposition: inline
In-Reply-To: <68f99f0a-e27a-449f-8d13-fb5ca9f6069a@suse.com>


--CKYVC/vicUnx3hS2
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 26 Apr 2024 17:26:49 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 3/7] x86/hvm: Allow access to registers on the same
 page as MSI-X table

On Thu, Apr 25, 2024 at 01:15:34PM +0200, Jan Beulich wrote:
> On 13.03.2024 16:16, Marek Marczykowski-G=C3=B3recki wrote:
> > Some devices (notably Intel Wifi 6 AX210 card) keep auxiliary registers
> > on the same page as MSI-X table. Device model (especially one in
> > stubdomain) cannot really handle those, as direct writes to that page is
> > refused (page is on the mmio_ro_ranges list). Instead, extend
> > msixtbl_mmio_ops to handle such accesses too.
> >=20
> > Doing this, requires correlating read/write location with guest
> > of MSI-X table address. Since QEMU doesn't map MSI-X table to the guest,
> > it requires msixtbl_entry->gtable, which is HVM-only. Similar feature
> > for PV would need to be done separately.
> >=20
> > This will be also used to read Pending Bit Array, if it lives on the sa=
me
> > page, making QEMU not needing /dev/mem access at all (especially helpful
> > with lockdown enabled in dom0). If PBA lives on another page, QEMU will
> > map it to the guest directly.
> > If PBA lives on the same page, discard writes and log a message.
> > Technically, writes outside of PBA could be allowed, but at this moment
> > the precise location of PBA isn't saved, and also no known device abuses
> > the spec in this way (at least yet).
> >=20
> > To access those registers, msixtbl_mmio_ops need the relevant page
> > mapped. MSI handling already has infrastructure for that, using fixmap,
> > so try to map first/last page of the MSI-X table (if necessary) and save
> > their fixmap indexes. Note that msix_get_fixmap() does reference
> > counting and reuses existing mapping, so just call it directly, even if
> > the page was mapped before. Also, it uses a specific range of fixmap
> > indexes which doesn't include 0, so use 0 as default ("not mapped")
> > value - which simplifies code a bit.
> >=20
> > GCC 12.2.1 gets confused about 'desc' variable:
> >=20
> >     arch/x86/hvm/vmsi.c: In function =E2=80=98msixtbl_range=E2=80=99:
> >     arch/x86/hvm/vmsi.c:553:8: error: =E2=80=98desc=E2=80=99 may be use=
d uninitialized [-Werror=3Dmaybe-uninitialized]
> >       553 |     if ( desc )
> >           |        ^
> >     arch/x86/hvm/vmsi.c:537:28: note: =E2=80=98desc=E2=80=99 was declar=
ed here
> >       537 |     const struct msi_desc *desc;
> >           |                            ^~~~
> >=20
> > It's conditional initialization is actually correct (in the case where
> > it isn't initialized, function returns early), but to avoid
> > build failure initialize it explicitly to NULL anyway.
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>=20
> Sadly there are further more or less cosmetic issues. Plus, as indicated
> before, I'm not really happy for us to gain all of this extra code. In
> the end I may eventually give an R-b not including the usually implied
> A-b, to indicate the code (then) looks okay to me but I still want
> someone else to actually ack it to allow it going in.

I understand. Given similar code is committed for vPCI already, I hope
somebody will be comfortable with acking this one too (yes, I do realize
the vPCI one is much less exposed, but still).

> > +static int adjacent_read(
> > +    unsigned int fixmap_idx,
> > +    paddr_t address, unsigned int len, uint64_t *pval)
> > +{
> > +    const void __iomem *hwaddr;
> > +
> > +    *pval =3D ~0UL;
> > +
> > +    ASSERT(fixmap_idx !=3D ADJACENT_DISCARD_WRITE);
>=20
> Why only one of the special values? And before you add the other here:
> Why not simply ASSERT(fixmap_idx <=3D FIX_MSIX_IO_RESERV_END)? (Could of
> course bound at the other end, too, i.e. against FIX_MSIX_IO_RESERV_BASE.)

That's the most likely bug that could happen, but indeed broader assert
would be better.

> > +    hwaddr =3D fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
> > +
> > +    switch ( len )
> > +    {
> > +    case 1:
> > +        *pval =3D readb(hwaddr);
> > +        break;
> > +
> > +    case 2:
> > +        *pval =3D readw(hwaddr);
> > +        break;
> > +
> > +    case 4:
> > +        *pval =3D readl(hwaddr);
> > +        break;
> > +
> > +    case 8:
> > +        *pval =3D readq(hwaddr);
> > +        break;
> > +
> > +    default:
> > +        ASSERT_UNREACHABLE();
>=20
> Misra demands "break;" to be here for release builds. In fact I wonder
> why "*pval =3D ~0UL;" isn't put here, too. Question of course is whether
> in such a case a true error indicator wouldn't be yet better.

I don't think it possible for the msixtbl_read() (that calls
adjacent_read()) to be called with other sizes. The default label is
here exactly to make it obvious for the reader.

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

--CKYVC/vicUnx3hS2
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmYrx8MACgkQ24/THMrX
1yzTcwgAjG8h+IjL5Gce745Xo2IASDRNlb7nJ2Wh2N9vEeolQidSAgZOLlUU5MxX
CrL7Ojkpuex+Pkqbi3OJwVWZKlPPRc0+EQhwjGvx/7DgTmTUKUanHMjk5RZt+yzI
ruDvj6FQnXkZVRYTkxEanjKbqCk1b5WDwRliFsQt+H69pPbLHvnjBaz9h6V5gjPZ
Dn87tgi7JR002rcowbtPQPNil8gpwoWlZEltlNDl6aD2KW8oLS3Ev08VHRRfCBCp
znHibNL5EUGk4TU/yeP+M4IEoEb5A2XaShFs4ueXGC6aADCVbm3qH5lj74kijBYf
8HJ2osfLdlatO8JiVZQteJYsCzKWDA==
=5gps
-----END PGP SIGNATURE-----

--CKYVC/vicUnx3hS2--


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:29:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:29:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712937.1113851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NVw-0001kc-0U; Fri, 26 Apr 2024 15:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712937.1113851; Fri, 26 Apr 2024 15:29:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0NVv-0001kV-TD; Fri, 26 Apr 2024 15:29:27 +0000
Received: by outflank-mailman (input) for mailman id 712937;
 Fri, 26 Apr 2024 15:29: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=duI6=L7=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1s0NVu-0001kP-Rp
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:29:26 +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 c2398ba0-03e1-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 17:29:24 +0200 (CEST)
Received: by mail-oa1-x2a.google.com with SMTP id
 586e51a60fabf-233e41de0caso1213044fac.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 08:29: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: c2398ba0-03e1-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714145363; x=1714750163; 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=v0t5p+WWSt9ikrabmyJauB3WDMG6W/CXTcCeLaYJVYs=;
        b=XKLmnwnvTvKgoNtx4AH2JyoviSmsGJ9xSKwrz8YL0FopCIpfJsm/N1XZTb0dwu9Tg6
         cAzIRFzKNleaFEi3DbymcZlRljV9E/KxV2DBKkVSFkfZ9W0/6CeViBpEwY3ERLbBxH4F
         dJQ28zCoHbb06tvyKbzOEV7w0Lqb9CTdEyGZA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714145363; x=1714750163;
        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=v0t5p+WWSt9ikrabmyJauB3WDMG6W/CXTcCeLaYJVYs=;
        b=f9Hw3ZMzEPtkhYHDN/BNqp57yxf/WKs9Fqtt84DagOxOanS8uZ8RQfCDC18mnCLPsX
         QbuAMN/oFZHurM4xWoSfuBkE9TAc46n1Fma8ZFXM9AI5gFMPD4KKdwP5D+9nJhK+omg0
         tWu+aKWHr2PKpovBGb+FH9mBhpp0DWbgu14pOVpr0TKEARSO+lhfM1aVCH/pjVWXDGsu
         BWfNplqOkhGuWkxubfrMNpLOcvjVVe9vKqAvyyR25eKUUqUjrhmfvwaCrQBYMO3POg0T
         PoYThX/K/7t8ie2UBknonwlNB70OjrRLyKwZ2T2SV0E8XvpMy6+Hhkz0zTsKr4fAv2/0
         0ahw==
X-Gm-Message-State: AOJu0YwqhASw2/0wQsiKhpnIWEX7Hq6BG24k09a0KGMaAg0VhSoquQ2c
	fGzX1ucjy8k0Cax3NaJKgLKUh2JNycTE4/uuDDU3OeEutq6nb4z3eLYFzEBjxh8MUZGlA/Ocwtf
	/iKAJJIh6+6W9hdEj8GWdjV5GxQI1YXd68Q1J8w==
X-Google-Smtp-Source: AGHT+IHv3jAJVR6+fcVJf0KShUbpeOaSoiIuCkuNZoBDZwfIQ3o/2TtaJ+wF0g6owar51D0t4Es8XKYiJoy34CMcPSg=
X-Received: by 2002:a05:6871:e014:b0:229:e422:4ff9 with SMTP id
 by20-20020a056871e01400b00229e4224ff9mr2946046oac.18.1714145362842; Fri, 26
 Apr 2024 08:29:22 -0700 (PDT)
MIME-Version: 1.0
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
 <20240426143231.4007671-2-george.dunlap@cloud.com> <aecae47b-eba6-4544-a566-8eb259d11a41@citrix.com>
In-Reply-To: <aecae47b-eba6-4544-a566-8eb259d11a41@citrix.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 26 Apr 2024 16:29:12 +0100
Message-ID: <CA+zSX=b40xNSX2yNcnESW3ev3ZG5Esyp_+-9ADaWuLEmzpvr5A@mail.gmail.com>
Subject: Re: [PATCH 1/3] x86/hvm/trace: Use a different trace type for AMD processors
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	Roger Pau Monne <roger.pau@cloud.com>, Anthony Perard <anthony.perard@cloud.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Olaf Hering <olaf@aepfle.de>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 26, 2024 at 4:18=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 26/04/2024 3:32 pm, George Dunlap wrote:
> > A long-standing usability sub-optimality with xenalyze is the
> > necessity to specify `--svm-mode` when analyzing AMD processors.  This
> > fundamentally comes about because the same trace event ID is used for
> > both VMX and SVM, but the contents of the trace must be interpreted
> > differently.
> >
> > Instead, allocate separate trace events for VMX and SVM vmexits in
> > Xen; this will allow all readers to properly intrepret the meaning of
>
> interpret ?

Oops, yes.

> > In xenalyze, first remove the redundant call to init_hvm_data();
> > there's no way to get to hvm_vmexit_process() without it being already
> > initialized by the set_vcpu_type call in hvm_process().
> >
> > Replace this with set_hvm_exit_reson_data(), and move setting of
> > hvm->exit_reason_* into that function.
> >
> > Modify hvm_process and hvm_vmexit_process to handle all four potential
> > values appropriately.
> >
> > If SVM entries are encountered, set opt.svm_mode so that other
> > SVM-specific functionality is triggered.
>
> Given that xenalyze is now closely tied to Xen, and that we're
> technically changing the ABI here, is there any point keeping `--svm-mode=
` ?
>
> I'm unsure of the utility of reading the buggy trace records from an
> older version of Xen.

Yeah, I thought about that.  If nobody argues to keep it, I guess I'll
rip it out for v2.

> > Also add lines in `formats` for xentrace_format.
>
> Personally I'd have put patch 3 first, and reduced the churn here.

I actually meant to add an `RFC` to the third patch.  I'd already
implemented this by the time you suggested ripping it out.  Doing it
this way doesn't add much overhead if we do end up ripping out
xentrace_format, and does save time if we don't.

> > Signed-off-by: George Dunlap <george.dunlap@cloud.com>
> > ---
> > NB that this patch goes on top of Andrew's trace cleanup series:
> >
> > https://lore.kernel.org/xen-devel/20240318163552.3808695-1-andrew.coope=
r3@citrix.com/
>
> The delta in Xen is trivial.  I'm happy if you want to commit this, and
> I can rebase over it.

It's trivial in part *because of* your series.  Without your series I
would have had to do a bunch of munging around with DO_TRC_BLAH_BLAH
to make it compile.  In fact, I started doing it directly on staging,
but quickly moved onto your series to save myself some time. :-)

Since I'm planning on re-submitting your series if you don't (unless
you really object), this way should minimize churn.

I'm happy to post a branch to gitlab if anyone wants to see the combined re=
sult.

 -George


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 15:46:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 15:46:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712952.1113861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Nlx-0005zF-BK; Fri, 26 Apr 2024 15:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712952.1113861; Fri, 26 Apr 2024 15: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 1s0Nlx-0005z8-70; Fri, 26 Apr 2024 15:46:01 +0000
Received: by outflank-mailman (input) for mailman id 712952;
 Fri, 26 Apr 2024 15:46: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0Nlw-0005z2-IV
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 15:46:00 +0000
Received: from mail-ot1-x32c.google.com (mail-ot1-x32c.google.com
 [2607:f8b0:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 129e52ef-03e4-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 17:45:58 +0200 (CEST)
Received: by mail-ot1-x32c.google.com with SMTP id
 46e09a7af769-6ea2f95ec67so1130228a34.2
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 08:45:57 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h30-20020a05620a21de00b0078d667d1085sm6331898qka.84.2024.04.26.08.45.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 08:45: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: 129e52ef-03e4-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714146356; x=1714751156; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FUS+C4npIg+hHkhDi8zHZuIKdJsIARWsLls/Dw6CeYE=;
        b=fcyDsxh3snNslPBGdHTW717WTexZ8LLmsYmXWfXokt4HZX/zHgLGc6B3t46Rb9qfoQ
         /o7Ug1zHAj5lbERpEl7GnY7u0Lpi470zcDWnn5JzTXHh9DlXvPic1pmTSPZ+5g8XKryd
         b9fU5ZxBbLBNYYzY/jKh/qrFBgmfZh/kKJYYA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714146356; x=1714751156;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FUS+C4npIg+hHkhDi8zHZuIKdJsIARWsLls/Dw6CeYE=;
        b=w7YdgTVvw2WLJwI9jfJyTAbHxQ4HGyZ63WWXVoXNbPA6kH/c2prkmZee0jvFNjYZOj
         fQUZDAiXiKNJ+qPdSdwcslcaG4mlaQAgx7dyGTmLHctqjT4fkezVagI0TyMbF5vLGCbb
         OERfcM1Xo4kc09x2QaoZhpOk/MwF2qwKbkwX9UrAIT81d39CsuxrbiSybp+ohPpt+ZDE
         F2LogO6h9ULn/bTNJ4+GA8Ts1DJjmNAawdtyDKwlRG692PgSgInG6Z1MWgUGgoYybUIu
         Y/3aKIXfbA1bYt7vh3wkZlp5xTGxFZe2k12qfX9i75FJaVUmso1q/rD/sUsHeDUgxtNO
         q03A==
X-Gm-Message-State: AOJu0YxbkYHavGQp+wF+psyyBHPbDlMbaxTQx+7CecH6pYq4wtfg+Z2z
	/jYzyYX/xO5yWej8HS+xa39UsHSFhMek1SIk8QKhzQdnDASlHY6XRp6ugBKzSTZlJOb4YaJtfAD
	i
X-Google-Smtp-Source: AGHT+IFAGRpJPQW5I3lPUU7ndiGl2AraRLIlh42Dcg87YivoELQH5fvKQABRblAAYKkO/lt7OndJJQ==
X-Received: by 2002:a9d:6492:0:b0:6eb:7d9b:386d with SMTP id g18-20020a9d6492000000b006eb7d9b386dmr3614838otl.32.1714146356615;
        Fri, 26 Apr 2024 08:45:56 -0700 (PDT)
Message-ID: <880ea017-d9d2-427d-a358-ce8ba176ba3f@citrix.com>
Date: Fri, 26 Apr 2024 16:45:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/hvm/trace: Use a different trace type for AMD
 processors
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Roger Pau Monne <roger.pau@cloud.com>,
 Anthony Perard <anthony.perard@cloud.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Olaf Hering <olaf@aepfle.de>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
 <20240426143231.4007671-2-george.dunlap@cloud.com>
 <aecae47b-eba6-4544-a566-8eb259d11a41@citrix.com>
 <CA+zSX=b40xNSX2yNcnESW3ev3ZG5Esyp_+-9ADaWuLEmzpvr5A@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: <CA+zSX=b40xNSX2yNcnESW3ev3ZG5Esyp_+-9ADaWuLEmzpvr5A@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/04/2024 4:29 pm, George Dunlap wrote:
> On Fri, Apr 26, 2024 at 4:18 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 26/04/2024 3:32 pm, George Dunlap wrote:
>>> In xenalyze, first remove the redundant call to init_hvm_data();
>>> there's no way to get to hvm_vmexit_process() without it being already
>>> initialized by the set_vcpu_type call in hvm_process().
>>>
>>> Replace this with set_hvm_exit_reson_data(), and move setting of
>>> hvm->exit_reason_* into that function.
>>>
>>> Modify hvm_process and hvm_vmexit_process to handle all four potential
>>> values appropriately.
>>>
>>> If SVM entries are encountered, set opt.svm_mode so that other
>>> SVM-specific functionality is triggered.
>> Given that xenalyze is now closely tied to Xen, and that we're
>> technically changing the ABI here, is there any point keeping `--svm-mode` ?
>>
>> I'm unsure of the utility of reading the buggy trace records from an
>> older version of Xen.
> Yeah, I thought about that.  If nobody argues to keep it, I guess I'll
> rip it out for v2.

That's the way I'd suggest going.
>>> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
>>> ---
>>> NB that this patch goes on top of Andrew's trace cleanup series:
>>>
>>> https://lore.kernel.org/xen-devel/20240318163552.3808695-1-andrew.cooper3@citrix.com/
>> The delta in Xen is trivial.  I'm happy if you want to commit this, and
>> I can rebase over it.
> It's trivial in part *because of* your series.  Without your series I
> would have had to do a bunch of munging around with DO_TRC_BLAH_BLAH
> to make it compile.  In fact, I started doing it directly on staging,
> but quickly moved onto your series to save myself some time. :-)

Ah.  I'll be refreshing mine next week.  Given that it's missed
everything since 4.16, I'm not intending to let it miss this one...

But I've still got a few things which need to go out before the
past-post deadline.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 16:03:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 16:03:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712961.1113877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0O2O-0002Ey-PQ; Fri, 26 Apr 2024 16:03:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712961.1113877; Fri, 26 Apr 2024 16:03:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0O2O-0002Er-LE; Fri, 26 Apr 2024 16:03:00 +0000
Received: by outflank-mailman (input) for mailman id 712961;
 Fri, 26 Apr 2024 16:02: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=wuLa=L7=eik.bme.hu=balaton@srs-se1.protection.inumbo.net>)
 id 1s0O2N-0002El-CF
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 16:02:59 +0000
Received: from zero.eik.bme.hu (zero.eik.bme.hu [152.66.115.2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 728b770d-03e6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 18:02:57 +0200 (CEST)
Received: from zero.eik.bme.hu (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 4DD354E606E;
 Fri, 26 Apr 2024 18:02:56 +0200 (CEST)
Received: from zero.eik.bme.hu ([127.0.0.1])
 by zero.eik.bme.hu (zero.eik.bme.hu [127.0.0.1]) (amavisd-new, port 10028)
 with ESMTP id 5wk-KGWAIU7m; Fri, 26 Apr 2024 18:02:54 +0200 (CEST)
Received: by zero.eik.bme.hu (Postfix, from userid 432)
 id 10E744E605B; Fri, 26 Apr 2024 18:02:54 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 0D42974570D;
 Fri, 26 Apr 2024 18:02:54 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 728b770d-03e6-11ef-909a-e314d9c70b13
X-Virus-Scanned: amavisd-new at eik.bme.hu
Date: Fri, 26 Apr 2024 18:02:54 +0200 (CEST)
From: BALATON Zoltan <balaton@eik.bme.hu>
To: =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>
cc: Akihiko Odaki <akihiko.odaki@daynix.com>, Thomas Huth <th.huth@posteo.de>, 
    Prasad Pandit <pj.pandit@yahoo.in>, 
    Mauro Matteo Cascella <mcascell@redhat.com>, 
    Alexander Bulekov <alxndr@bu.edu>, 
    Dmitry Fleytman <dmitry.fleytman@gmail.com>, 
    Beniamino Galvani <b.galvani@gmail.com>, 
    Peter Maydell <peter.maydell@linaro.org>, 
    Strahinja Jankovic <strahinja.p.jankovic@gmail.com>, 
    Jason Wang <jasowang@redhat.com>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    Alistair Francis <alistair@alistair23.me>, Stefan Weil <sw@weilnetz.de>, 
    =?ISO-8859-15?Q?C=E9dric_Le_Goater?= <clg@kaod.org>, 
    Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Helge Deller <deller@gmx.de>, 
    Sriram Yagnaraman <sriram.yagnaraman@est.tech>, 
    Thomas Huth <huth@tuxfamily.org>, 
    Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, 
    Subbaraya Sundeep <sundeep.lkml@gmail.com>, Jan Kiszka <jan.kiszka@web.de>, 
    Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>, 
    Max Filippov <jcmvbkbc@gmail.com>, Jiri Pirko <jiri@resnulli.us>, 
    Daniel Henrique Barboza <danielhb413@gmail.com>, 
    David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, 
    Harsh Prateek Bora <harshpb@linux.ibm.com>, 
    Sven Schnelle <svens@stackframe.org>, 
    "Michael S. Tsirkin" <mst@redhat.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
    Rob Herring <robh@kernel.org>, Gerd Hoffmann <kraxel@redhat.com>, 
    "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, 
    "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, 
    "qemu-ppc@nongnu.org" <qemu-ppc@nongnu.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/2] net: Provide MemReentrancyGuard * to
 qemu_new_nic()
In-Reply-To: <e2fb1d51-b5a6-4c25-a9af-af1e1ed42475@linaro.org>
Message-ID: <2691730d-795b-d60c-0932-f2e941343d91@eik.bme.hu>
References: <20230601031859.7115-1-akihiko.odaki@daynix.com> <20230601031859.7115-2-akihiko.odaki@daynix.com> <ac66952e-4281-4250-96f4-dc3d5b518d24@linaro.org> <1497808863.2030924.1713955286878@mail.yahoo.com> <088ec61c-39ab-4b58-a02f-8897a3e7ae68@posteo.de>
 <81397221-8144-47cd-bce9-b3ab7d94c626@daynix.com> <e2fb1d51-b5a6-4c25-a9af-af1e1ed42475@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="3866299591-78233328-1714147374=:20485"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--3866299591-78233328-1714147374=:20485
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8BIT

On Fri, 26 Apr 2024, Philippe Mathieu-Daudé wrote:
> On 26/4/24 14:37, Akihiko Odaki wrote:
>> On 2024/04/24 21:32, Thomas Huth wrote:
>>> On 24/04/2024 12.41, Prasad Pandit wrote:
>>>> On Wednesday, 24 April, 2024 at 03:36:01 pm IST, Philippe Mathieu-Daudé 
>>>> wrote:
>>>>> On 1/6/23 05:18, Akihiko Odaki wrote:
>>>>>> Recently MemReentrancyGuard was added to DeviceState to record that the
>>>>>> device is engaging in I/O. The network device backend needs to update 
>>>>>> it
>>>>>> when delivering a packet to a device.
>>>>>> In preparation for such a change, add MemReentrancyGuard * as a
>>>>>> parameter of qemu_new_nic().
>>>>> 
>>>>> An user on IRC asked if this patch is related/fixing CVE-2021-20255,
>>>>> any clue?
>>>> 
>>>> * CVE-2021-20255 bug: infinite recursion is pointing at a different fix 
>>>> patch.
>>>>    -> https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2021-20255
>>>> 
>>>> * And the this patch below has different issue tagged
>>>> -> https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg08312.html
>>>>    Fixes: CVE-2023-3019
>>>> 
>>>> 
>>>> * They look different, former is an infinite recursion issue and the 
>>>> latter is a use-after-free one.
>>> 
>>> I assume the eepro reentrancy issue has been fixed with:
>>> 
>>>   https://gitlab.com/qemu-project/qemu/-/issues/556
>>>   i.e.:
>>>   https://gitlab.com/qemu-project/qemu/-/commit/c40ca2301c7603524eaddb5308a3
>> 
>> I agree. Commit c40ca2301c7603524eaddb5308a3 should be what fixed 
>> CVE-2021-20255, not this patch.
>
> Thank you all for clarifying!

$ git log -p c40ca2301c7603524eaddb5308a3 --
fatal: bad revision 'c40ca2301c7603524eaddb5308a3'

It seems to actually be commit a2e1753b8054344f32cf94f31c6399a58794a380

Regards,
BALATON Zoltan
--3866299591-78233328-1714147374=:20485--


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 16:09:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 16:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712965.1113887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0O8G-0003ml-Cy; Fri, 26 Apr 2024 16:09:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712965.1113887; Fri, 26 Apr 2024 16:09:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0O8G-0003me-8l; Fri, 26 Apr 2024 16:09:04 +0000
Received: by outflank-mailman (input) for mailman id 712965;
 Fri, 26 Apr 2024 16:09: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=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0O8F-0003mY-C6
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 16:09: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 4c1c163e-03e7-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 18:09:02 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a587831809eso276056666b.1
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 09:09:02 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 bu6-20020a170906a14600b00a57c75871d8sm5315763ejb.106.2024.04.26.09.09.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 Apr 2024 09: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: 4c1c163e-03e7-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714147741; x=1714752541; 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=gD5q9PEj+9Tsia93/15fwjsbfZRGM0kGz/xaTFxAsYg=;
        b=Dy0F0kMeKEZHB+6QDnOGf5SieAiaHDC/yk4X9RoJe0cLYyBcJd6IcNPTSPpu/gZB1I
         AZUJTapuWUbsTRooVd2TNjpsCBVf/IP8sKx5jiYIQx5m5rbyG83DwjVc/y/LNNdXaDg+
         FSoCKAeMDmWfQoA9qRO5vWj6vk9mF4nkFqI1k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714147741; x=1714752541;
        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=gD5q9PEj+9Tsia93/15fwjsbfZRGM0kGz/xaTFxAsYg=;
        b=P3AIDvGKlmRor6bIw5kkzwnvi2ACaxC/u8KmUJFMo0iYnSB6CpqevxTbF/ghYbJrqg
         Ya8L1ro9BXw0T5/9qtIJz0pmMC3NcCxCfDo5rq1SSvrLRL01bxl8Fk5khTQgo5jPPODP
         2sS6PU/H59Kzjj3+llIqCU+/VzYrHJs/xKo/T88B6leNIRssw7yOJs+5cb/2o+nWH0km
         v+HiMjD89+qDLGrTIQ4Nj4lzbcdLr+kujxu/uRHD3sf5iOGttGhsnRVAbBRh418gnHmz
         vVf67dCCP+SRt2LYSNZvhQD4mR2m2X5xh6iSwxzjzGKtWdF9lV9t5Gxw1xoawb4kBgRG
         TDSQ==
X-Gm-Message-State: AOJu0YxXUmxN104A8CZsngxbjwMEMmfpG22H5CxokTCTTzOJN5oZPtEu
	pAJHllSPIYw9wCMni5nDII/f5wA6/0Ild4QYH9wFEfA7Pt4u5+ab7LYvLONzG0KyiAp4cVNieaa
	u
X-Google-Smtp-Source: AGHT+IH4X7bHy9GJ7y+RIcXHPc4Tqd+jVZ74Q9KvLt4n/XbbkISUkQAB32y4bTMCggnb3rYLybBNYA==
X-Received: by 2002:a17:906:3811:b0:a55:99f4:549f with SMTP id v17-20020a170906381100b00a5599f4549fmr2335713ejc.48.1714147741396;
        Fri, 26 Apr 2024 09:09: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/cpu-policy: Annotate the accumulated features
Date: Fri, 26 Apr 2024 17:08:59 +0100
Message-Id: <20240426160859.565438-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Some features need accumulating rather than intersecting to make migration
safe.  Introduce the new '|' attribute for this purpose.

Right now, it's only used by the Xapi toolstack, but it will be used by
xl/libxl when the full policy-object work is complete, and until then it's
still a useful hint for hand-crafted cpuid= lines in vm.cfg files.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/include/public/arch-x86/cpufeatureset.h | 15 ++++++++++-----
 xen/tools/gen-cpuid.py                      |  7 +++++--
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 53f13dec31f7..6627453e3985 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -72,6 +72,11 @@ enum {
  *   'H' = HVM HAP guests (not PV or HVM Shadow guests).
  *   Upper case => Available by default
  *   Lower case => Can be opted-in to, but not available by default.
+ *
+ * Migration: '|'
+ *   This bit should be visible to a guest if any anywhere it might run has
+ *   the bit set.  i.e. it needs accumulating across the migration pool,
+ *   rather than intersecting.
  */
 
 /* Intel-defined CPU features, CPUID level 0x00000001.edx, word 0 */
@@ -248,7 +253,7 @@ XEN_CPUFEATURE(IBRS_ALWAYS,   8*32+16) /*S  IBRS preferred always on */
 XEN_CPUFEATURE(STIBP_ALWAYS,  8*32+17) /*S  STIBP preferred always on */
 XEN_CPUFEATURE(IBRS_FAST,     8*32+18) /*S  IBRS preferred over software options */
 XEN_CPUFEATURE(IBRS_SAME_MODE, 8*32+19) /*S  IBRS provides same-mode protection */
-XEN_CPUFEATURE(NO_LMSL,       8*32+20) /*S  EFER.LMSLE no longer supported. */
+XEN_CPUFEATURE(NO_LMSL,       8*32+20) /*S| EFER.LMSLE no longer supported. */
 XEN_CPUFEATURE(AMD_PPIN,      8*32+23) /*   Protected Processor Inventory Number */
 XEN_CPUFEATURE(AMD_SSBD,      8*32+24) /*S  MSR_SPEC_CTRL.SSBD available */
 XEN_CPUFEATURE(VIRT_SSBD,     8*32+25) /*!  MSR_VIRT_SPEC_CTRL.SSBD */
@@ -263,7 +268,7 @@ XEN_CPUFEATURE(AVX512_4FMAPS, 9*32+ 3) /*A  AVX512 Multiply Accumulation Single
 XEN_CPUFEATURE(FSRM,          9*32+ 4) /*A  Fast Short REP MOVS */
 XEN_CPUFEATURE(AVX512_VP2INTERSECT, 9*32+8) /*a  VP2INTERSECT{D,Q} insns */
 XEN_CPUFEATURE(SRBDS_CTRL,    9*32+ 9) /*   MSR_MCU_OPT_CTRL and RNGDS_MITG_DIS. */
-XEN_CPUFEATURE(MD_CLEAR,      9*32+10) /*!A VERW clears microarchitectural buffers */
+XEN_CPUFEATURE(MD_CLEAR,      9*32+10) /*!A| VERW clears microarchitectural buffers */
 XEN_CPUFEATURE(RTM_ALWAYS_ABORT, 9*32+11) /*! RTM disabled (but XBEGIN wont fault) */
 XEN_CPUFEATURE(TSX_FORCE_ABORT, 9*32+13) /* MSR_TSX_FORCE_ABORT.RTM_ABORT */
 XEN_CPUFEATURE(SERIALIZE,     9*32+14) /*A  SERIALIZE insn */
@@ -292,7 +297,7 @@ XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
 
 /* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
 XEN_CPUFEATURE(NO_NEST_BP,         11*32+ 0) /*A  No Nested Data Breakpoints */
-XEN_CPUFEATURE(FS_GS_NS,           11*32+ 1) /*S  FS/GS base MSRs non-serialising */
+XEN_CPUFEATURE(FS_GS_NS,           11*32+ 1) /*S| FS/GS base MSRs non-serialising */
 XEN_CPUFEATURE(LFENCE_DISPATCH,    11*32+ 2) /*A  LFENCE always serializing */
 XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and limit too) */
 XEN_CPUFEATURE(AUTO_IBRS,          11*32+ 8) /*S  Automatic IBRS */
@@ -343,7 +348,7 @@ XEN_CPUFEATURE(DOITM,              16*32+12) /*   Data Operand Invariant Timing
 XEN_CPUFEATURE(SBDR_SSDP_NO,       16*32+13) /*A  No Shared Buffer Data Read or Sideband Stale Data Propagation */
 XEN_CPUFEATURE(FBSDP_NO,           16*32+14) /*A  No Fill Buffer Stale Data Propagation */
 XEN_CPUFEATURE(PSDP_NO,            16*32+15) /*A  No Primary Stale Data Propagation */
-XEN_CPUFEATURE(FB_CLEAR,           16*32+17) /*!A Fill Buffers cleared by VERW */
+XEN_CPUFEATURE(FB_CLEAR,           16*32+17) /*!A| Fill Buffers cleared by VERW */
 XEN_CPUFEATURE(FB_CLEAR_CTRL,      16*32+18) /*   MSR_OPT_CPU_CTRL.FB_CLEAR_DIS */
 XEN_CPUFEATURE(RRSBA,              16*32+19) /*!  Restricted RSB Alternative */
 XEN_CPUFEATURE(BHI_NO,             16*32+20) /*A  No Branch History Injection  */
@@ -353,7 +358,7 @@ XEN_CPUFEATURE(PBRSB_NO,           16*32+24) /*A  No Post-Barrier RSB prediction
 XEN_CPUFEATURE(GDS_CTRL,           16*32+25) /*   MCU_OPT_CTRL.GDS_MIT_{DIS,LOCK} */
 XEN_CPUFEATURE(GDS_NO,             16*32+26) /*A  No Gather Data Sampling */
 XEN_CPUFEATURE(RFDS_NO,            16*32+27) /*A  No Register File Data Sampling */
-XEN_CPUFEATURE(RFDS_CLEAR,         16*32+28) /*!A Register File(s) cleared by VERW */
+XEN_CPUFEATURE(RFDS_CLEAR,         16*32+28) /*!A| Register File(s) cleared by VERW */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.edx, word 17 */
 
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index bf3f9ec01e6e..1fb76f664529 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -21,7 +21,7 @@ class State(object):
         self.names = {}  # Value => Name mapping
         self.values = {} # Name => Value mapping
         self.raw = {
-            '!': set(),
+            '!': set(), '|': set(),
             'A': set(), 'S': set(), 'H': set(),
             'a': set(), 's': set(), 'h': set(),
         }
@@ -48,7 +48,7 @@ def parse_definitions(state):
     feat_regex = re.compile(
         r"^XEN_CPUFEATURE\(([A-Z0-9_]+),"
         "\s+([\s\d]+\*[\s\d]+\+[\s\d]+)\)"
-        "\s+/\*([\w!]*) .*$")
+        "\s+/\*([\w!|]*) .*$")
 
     word_regex = re.compile(
         r"^/\* .* word (\d*) \*/$")
@@ -415,6 +415,8 @@ def write_results(state):
 
 #define INIT_SPECIAL_FEATURES { \\\n%s\n}
 
+#define INIT_SIMPLE_OR { \\\n%s\n}
+
 #define INIT_PV_DEF_FEATURES { \\\n%s\n}
 
 #define INIT_PV_MAX_FEATURES { \\\n%s\n}
@@ -436,6 +438,7 @@ def write_results(state):
        next(featureset_to_uint32s(state.common_1d, 1)),
        format_uint32s(state, state.names.keys(), 4),
        format_uint32s(state, state.raw['!'], 4),
+       format_uint32s(state, state.raw['|'], 4),
        format_uint32s(state, state.pv_def, 4),
        format_uint32s(state, state.pv_max, 4),
        format_uint32s(state, state.hvm_shadow_def, 4),

base-commit: be5b08dd6ea6ef0f01caf537bdae125fa66a2230
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712993.1113916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Pn2-0004Y1-Rw; Fri, 26 Apr 2024 17:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712993.1113916; Fri, 26 Apr 2024 17:55:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Pn2-0004Xu-NN; Fri, 26 Apr 2024 17:55:16 +0000
Received: by outflank-mailman (input) for mailman id 712993;
 Fri, 26 Apr 2024 17: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=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0Pn0-0004Xj-Dg
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:14 +0000
Received: from wfhigh5-smtp.messagingengine.com
 (wfhigh5-smtp.messagingengine.com [64.147.123.156])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f6d9e07-03f6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 19:55:11 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailfhigh.west.internal (Postfix) with ESMTP id 30775180016E;
 Fri, 26 Apr 2024 13:55:08 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Fri, 26 Apr 2024 13:55:08 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:06 -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: 1f6d9e07-03f6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:message-id:mime-version:reply-to:subject:subject:to:to; s=fm3;
	 t=1714154107; x=1714240507; bh=2UbGT9QUGQlfG6FarGdSLlb9Bs1DKTYL
	9oGMxssKi2Q=; b=0xS4LlPbVed+eZvcLvLIHWm+fCq+KpZsUEXHsZ7RbAY6Ue3K
	6ahhaPtdXGr0BU6yh1j2FPYHgFOLYYYifO01d/A7/g3X6ose0Ck8AYylC1T7uctj
	qcVCEzwYHHQIFN71jX4F5f8wyl4Ai/P++nAmx3Nfs+gRtxu6jOEH/cS5CkKznZs/
	6qUqToYMeI4snyaHvHgxM5G9aCi+5FZ83OfnMvRYSMeuqKQV0/nothqC76pQar2k
	+lTWGi+vw6TCFT7zgD0wkNnRyNwYLEZmPydJRR1lJ/6/JUiBvI3amZ1BBfROAmW7
	goOJE5zAa1my9ukU94xb1naqVH5mA7QHCh6UiA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:feedback-id:feedback-id
	:from:from:in-reply-to:message-id:mime-version:reply-to:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm3; t=1714154107; x=1714240507; bh=2UbGT9QUGQlfG
	6FarGdSLlb9Bs1DKTYL9oGMxssKi2Q=; b=KdQRzg+v6NLkX7MTICXI5voWj7p9i
	7QUAFV/dZSIOKQhztefrcyrxVHXbg4vZzljl0mrNhl7OTzk4/+f+M/AbzxWHb7IM
	idEW2PxX7G17zloD8diZjBE4aUniFGVk0NjeIpXrYiHIIS/uK9VgFhVvD4BIeI0f
	u3ERhOe5oPM3XS8yY5GK2Se01WEjKIm434+nXCzXgCuaL9DeDcqqaRbbMGEssVbE
	I2On3/0gFzAqj3tops6lSvF5bn25m/4AI93IG9+BylaCmiMgSEQbjIfo9s6Q8mOi
	IbOBjZvagnIqPBVKb/8yCLefK3pSifZR7flLMAY6ARK7fMY3yH/P+i2tg==
X-ME-Sender: <xms:e-orZm2VdzdPw78KZzcHDb5WvAmaRu0ToMlVe4T0lR6gVLGrfaQ2gQ>
    <xme:e-orZpGpnJx0oc5Is09BP8EXo0jR4rCiT5muSNjJXyIwBvEe9_DL5gsVKVG9xpoX-
    D0RpgttbKCl5A>
X-ME-Received: <xmr:e-orZu7QGHarwQ4kOmFu7LkBtntfsfBUphRl5cO1_ttsnPaht7mbM4O5Ir-bBNMyXSu_qJzdi4s-5cYvR36Ww333mqyWvdH5vQs7EXUT7Wu96_UKf3o>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddulecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecunecujfgurhephffvvefufffkofggtgfgsehtke
    ertdertdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgv
    tghkihcuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpefhfedvkedtiedvgfeiveetffevfefgtdehveettdev
    jeduffevteehhfevgefhheenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhgihhtlh
    grsgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhr
    ohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:e-orZn01ktjtecV39UBRKIU2NsUdqdPRjZSXk07tojVDYTa8SB2Iwg>
    <xmx:e-orZpHYzoOMb3_cpEB89Q7aIbBRPmJvmQ8EkWgvVxymufT1XSigvQ>
    <xmx:e-orZg8YN9oVFXp42OXk6eGGhWSvC3vqKOMD2kQ_fRrIgeGIs0DumQ>
    <xmx:e-orZulJhAs-_DIDuiP7Z2Kesp3Xpfl4fykUB9-90inC-y9tyJQbGg>
    <xmx:e-orZnOTeTN4e1ewaFMKG5s1N43_V4aQ6ALUgHtHZyigOWZTL-OavEPO>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v6 0/7] MSI-X support with qemu in stubdomain, and other related changes
Date: Fri, 26 Apr 2024 19:53:57 +0200
Message-ID: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This series includes changes to make MSI-X working with Linux stubdomain and
especially Intel Wifi 6 AX210 card. This takes care of remaining reasons for
QEMU to access /dev/mem, but also the Intel Wifi card violating spec by putting
some registers on the same page as the MSI-X table.
Besides the stubdomain case (of which I care more), this is also necessary for
PCI-passthrough to work with lockdown enabled in dom0 (when QEMU runs in dom0).

See individual patches for details.

This series include also tests for MSI-X using new approach (by preventing QEMU
access to /dev/mem). But for it to work, it needs QEMU change that
makes use of the changes introduced here. It can be seen at
https://github.com/marmarek/qemu/commits/msix

Here is the pipeline that used the QEMU fork above:
https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/1269664578

Marek Marczykowski-Górecki (7):
  x86/msi: passthrough all MSI-X vector ctrl writes to device model
  x86/msi: Extend per-domain/device warning mechanism
  x86/hvm: Allow access to registers on the same page as MSI-X table
  automation: prevent QEMU access to /dev/mem in PCI passthrough tests
  automation: switch to a wifi card on ADL system
  [DO NOT APPLY] switch to qemu fork
  [DO NOT APPLY] switch to alternative artifact repo

 Config.mk                                           |   4 +-
 automation/gitlab-ci/build.yaml                     |   4 +-
 automation/gitlab-ci/test.yaml                      |   4 +-
 automation/scripts/qubes-x86-64.sh                  |   9 +-
 automation/tests-artifacts/alpine/3.18.dockerfile   |   7 +-
 automation/tests-artifacts/kernel/6.1.19.dockerfile |   2 +-
 xen/arch/x86/hvm/vmsi.c                             | 215 ++++++++++++-
 xen/arch/x86/include/asm/msi.h                      |  22 +-
 xen/arch/x86/msi.c                                  |  46 ++-
 xen/common/kernel.c                                 |   1 +-
 xen/include/public/features.h                       |   8 +-
 11 files changed, 300 insertions(+), 22 deletions(-)

base-commit: 7846f7699fea25502061a05ea847e942ea624f12
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712995.1113935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Pn4-00050Q-9S; Fri, 26 Apr 2024 17:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712995.1113935; Fri, 26 Apr 2024 17: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 1s0Pn4-00050J-6L; Fri, 26 Apr 2024 17:55:18 +0000
Received: by outflank-mailman (input) for mailman id 712995;
 Fri, 26 Apr 2024 17: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=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0Pn3-0004Xj-1L
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:17 +0000
Received: from wfhigh5-smtp.messagingengine.com
 (wfhigh5-smtp.messagingengine.com [64.147.123.156])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22cd8763-03f6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 19:55:16 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailfhigh.west.internal (Postfix) with ESMTP id 6107A1800120;
 Fri, 26 Apr 2024 13:55:14 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Fri, 26 Apr 2024 13:55:14 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:12 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22cd8763-03f6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714154113; x=1714240513; bh=honjTb6abt
	tQjuzNiX/lJMZfyWZ6V6USbB6qxEtNQxA=; b=ji60msnEKEfXtuFeFuu4U4C+4j
	HTwVTgFU+Afx133SGtZNHGazKsnVf0u1AUR3w1B+of3PJEN9eGdmXPLc/zbqsqGv
	gCvY7fjSoMyLZq1i7PDW+9N000KRW++R/m3c2AP1bGnHTGXhXl7SqxpBgzTFXe/+
	hUA2qiYGBOBU8bgJLM1q0Uk/jiEwoIUS0x+mABxmemxjcnQZ+lmTiA6woFBuWzLL
	83qlcFcP3f69mk3ljYtnZvi7wrXDsgj5HeexfHuGUkoPmJWGMchdHZe4GnMTy94I
	v0t0f4OJfEzvbJr7K93lnmCE04G6KTr5CpHXcGBir1YWX6VtBaiVnOmUcwRA==
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=fm3; t=1714154113; x=
	1714240513; bh=honjTb6abttQjuzNiX/lJMZfyWZ6V6USbB6qxEtNQxA=; b=B
	xO8B9qNEStbq4S0dLaDT7ls3zo5cUAFKYLDrfzK5G0gOcDgBwn8fVgB2aRkbIhCT
	HGHifMGjoKa5wjIGT56Oq5384+rFDfkALqGGdFJaVjM2O4qreyrZRWBa7nCsOwNp
	v8oF/36mJ1XprsUWxg0/QDDiY64TBqhGVJfPaT/GJhFRnqLTB77pPgMK41+ocI7N
	VmmjMx/tLYfdSIMFXi/zX+78ayIveTgk4J59vdda9IlXlD27vUgsdnf7BPiabC5h
	UkSvle246P+4caaIRczwohFcrHG7RZO5XrCvTN840xY0mm+bV7GVkp8dsKoiuYjk
	xzu5CJju+wyufBksSMzCw==
X-ME-Sender: <xms:georZqnqSLeLLSnKhNz8mVxmILp2iRqzsq1GFTTxasjRypdNdW7aCg>
    <xme:georZh3cobb_PPpKJQ-rqKTCoT2IbNCb1r2Zfc6msl3vH2OYEqEMeE0TsJ9TARliq
    kO0RI-O8apSYg>
X-ME-Received: <xmr:georZooeyTbpV8v2b7m8S_4yTQgm4B6pPQ6KmtY-RCR232G5Z6nG8b9Q4Q2mww87_sMVUyTrqbNTVHnhTpBkw7Y3iLew0wXgKP9HgUqxaq1p5YD5rxw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddulecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfeuudehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghr
    vghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:georZuloLR31hb5ruSBs4OXx7UsmpPbJmf3MCECNE42uYmyb4o_TYg>
    <xmx:georZo3FpjmahsHeOO-EChMuskGLXNj27IhityXlmbd0I8V7LjTSnw>
    <xmx:georZltnYUYl3W2ViFczZ1A1Xh4ASdADQ4Fsx_Cr-nLYm1G-r5fXwA>
    <xmx:georZkVV1h5pSYUBehpYDjxh6kDcnvVEcjuwZnIjVW1dtCiwjZHc_g>
    <xmx:georZrRngZu9gD2EoWoO73tzrUw0-VX8SQlTIbgoNzQ2cZTky3nZOYly>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v6 2/7] x86/msi: Extend per-domain/device warning mechanism
Date: Fri, 26 Apr 2024 19:53:59 +0200
Message-ID: <46f33e8ae1aa7d310e7a99e9da29d29096b0935b.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The arch_msix struct had a single "warned" field with a domid for which
warning was issued. Upcoming patch will need similar mechanism for few
more warnings, so change it to save a bit field of issued warnings.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v6:
- add MSIX_CHECK_WARN macro (Jan)
- drop struct name from warned_kind union (Jan)

New in v5
---
 xen/arch/x86/include/asm/msi.h | 17 ++++++++++++++++-
 xen/arch/x86/msi.c             |  5 +----
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index 997ccb87be0c..bcfdfd35345d 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -208,6 +208,15 @@ struct msg_address {
                                        PCI_MSIX_ENTRY_SIZE + \
                                        (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
 
+#define MSIX_CHECK_WARN(msix, domid, which) ({ \
+    if ( (msix)->warned_domid != (domid) ) \
+    { \
+        (msix)->warned_domid = (domid); \
+        (msix)->warned_kind.all = 0; \
+    } \
+    (msix)->warned_kind.which ? false : ((msix)->warned_kind.which = true); \
+})
+
 struct arch_msix {
     unsigned int nr_entries, used_entries;
     struct {
@@ -217,7 +226,13 @@ struct arch_msix {
     int table_idx[MAX_MSIX_TABLE_PAGES];
     spinlock_t table_lock;
     bool host_maskall, guest_maskall;
-    domid_t warned;
+    domid_t warned_domid;
+    union {
+        uint8_t all;
+        struct {
+            bool maskall                   : 1;
+        };
+    } warned_kind;
 };
 
 void early_msi_init(void);
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index e721aaf5c001..42c793426da3 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -364,13 +364,10 @@ static bool msi_set_mask_bit(struct irq_desc *desc, bool host, bool guest)
             domid_t domid = pdev->domain->domain_id;
 
             maskall = true;
-            if ( pdev->msix->warned != domid )
-            {
-                pdev->msix->warned = domid;
+            if ( MSIX_CHECK_WARN(pdev->msix, domid, maskall) )
                 printk(XENLOG_G_WARNING
                        "cannot mask IRQ %d: masking MSI-X on Dom%d's %pp\n",
                        desc->irq, domid, &pdev->sbdf);
-            }
         }
         pdev->msix->host_maskall = maskall;
         if ( maskall || pdev->msix->guest_maskall )
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712997.1113955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnC-0005a5-TJ; Fri, 26 Apr 2024 17:55:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712997.1113955; Fri, 26 Apr 2024 17:55:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnC-0005Zq-P1; Fri, 26 Apr 2024 17:55:26 +0000
Received: by outflank-mailman (input) for mailman id 712997;
 Fri, 26 Apr 2024 17:55:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0PnB-0005IL-Gu
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:25 +0000
Received: from wfhigh5-smtp.messagingengine.com
 (wfhigh5-smtp.messagingengine.com [64.147.123.156])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2463dfae-03f6-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 19:55:20 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfhigh.west.internal (Postfix) with ESMTP id 0B3E21800120;
 Fri, 26 Apr 2024 13:55:16 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 26 Apr 2024 13:55:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:15 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2463dfae-03f6-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714154116; x=1714240516; bh=4hT2or0Iti
	p5jFfCLVRRh827QMnfJPeWI2OQoU3RIPw=; b=JhYIlBjeijgjEgs6bzmQ4oooXg
	J1QNrCFxqSMX+Het+wBwJLLRw31BpdF6NGNkTE753ceLKVatnhkl3xP5ECWP379s
	CJrKoDf9mfYT4Jo8az/2Ufk5XcpcVVag5AryHRgzU6Qyt4I3oxH1n7kWNq+tTuNT
	qD3i8j2nSDGraqitPH7KfrW0UIqzIIJK/xb6y8YJhM101wGvd8QXP4uiN9sBSPfk
	QT/N9QYReC9pBB/Ew+gE5liUU0bSZlOltop+UNwLR6DDzssdvGbYTzRz8GIv2+Zj
	7vUPZXULfHHPfv1K7Krm2GgYANgPq3ml65i5UwIMTgF8XKn5DTHSQvu2xYZQ==
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=fm3; t=1714154116; x=
	1714240516; bh=4hT2or0Itip5jFfCLVRRh827QMnfJPeWI2OQoU3RIPw=; b=h
	UVQvVwAj947lUYO6bA2M41Mu+v63wA3C0+7+CD4FOsDLm1Ck8P3oKOulag8sBHvK
	9qf/rAecyyDIklsr6lfex8bVS67s9VgYJPUI91AoqBw5zBGBKB41Iqg64urKZZDz
	vx9DxSb/YZdIeFNipG+6dapr1jIsTFErnrajdluvKo7OZcIcexy/WMbwPzlvFLms
	Cec/bqwMD98oQQF25NuyxlIwd/mo3sHFuzv2RGnyuzWYBHwMciUxgy6A1s6yh8nc
	SbKDNK/ySoC8jdbnzpp0rFZOM0spYf3FAITO2wcmMbQrLHuZ6bWNtnxx7Xg6O8Kj
	um+qrP2j0/59L6xTKEg8g==
X-ME-Sender: <xms:hOorZmddCrUxmS96LA5e6BnwKteLL_ylqlR3IP4k94LVWNmwdIUE-w>
    <xme:hOorZgNrPhpGlgJCiBFa75rXnJXe3Kbe0tBHFQQr6VL5F4ooy2Zm5lqp3d0MBa-A3
    Ww-8NRQjx3v2g>
X-ME-Received: <xmr:hOorZnia3Hitgj3TCu2xarnTr-JXwI78GnzkroDH1lqDWpOiEIzBIQM2Xp-nUghxf9wiPm2uAssKMmBZwmv79qE8Wz57-AJJaXO4WmlZ1PoVU2ZHAfo>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddukecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    hfeihffghefgkeetiefgtdeivdfgvefhhfefvdduleetvdfggedtkeetfeefgeehnecuff
    homhgrihhnpehmshhigihtsghlpghlihhsthdrnhgvgihtnecuvehluhhsthgvrhfuihii
    vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsih
    gslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:hOorZj8BOWRDGOnU04vyFRiJlhGpDsiqLy39m2Bj-QIWEPrp4PEnuw>
    <xmx:hOorZivmu-ferTiRBGKlzQKi_LtKw9tMMGv5qSP-2MC9JVuWd0L-xQ>
    <xmx:hOorZqE-Vna2nTQFS4dC6HiZeTvEdtPZzIiApYNX4wwmR-PEnT3ltA>
    <xmx:hOorZhPiBqyfRJibya132LplZbLINz1DHTmFBKNu59xcC8WZ-T7y3Q>
    <xmx:hOorZkKA_UGaW0-9Hnm6Ofo_vnIsUc454hvMfK_EWYiPekrWDewEeMkU>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v6 3/7] x86/hvm: Allow access to registers on the same page as MSI-X table
Date: Fri, 26 Apr 2024 19:54:00 +0200
Message-ID: <a9b04e2224e97a27a127a003e8ccf5edfd4922c7.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Some devices (notably Intel Wifi 6 AX210 card) keep auxiliary registers
on the same page as MSI-X table. Device model (especially one in
stubdomain) cannot really handle those, as direct writes to that page is
refused (page is on the mmio_ro_ranges list). Instead, extend
msixtbl_mmio_ops to handle such accesses too.

Doing this, requires correlating read/write location with guest
of MSI-X table address. Since QEMU doesn't map MSI-X table to the guest,
it requires msixtbl_entry->gtable, which is HVM-only. Similar feature
for PV would need to be done separately.

This will be also used to read Pending Bit Array, if it lives on the same
page, making QEMU not needing /dev/mem access at all (especially helpful
with lockdown enabled in dom0). If PBA lives on another page, QEMU will
map it to the guest directly.
If PBA lives on the same page, discard writes and log a message.
Technically, writes outside of PBA could be allowed, but at this moment
the precise location of PBA isn't saved, and also no known device abuses
the spec in this way (at least yet).

To access those registers, msixtbl_mmio_ops need the relevant page
mapped. MSI handling already has infrastructure for that, using fixmap,
so try to map first/last page of the MSI-X table (if necessary) and save
their fixmap indexes. Note that msix_get_fixmap() does reference
counting and reuses existing mapping, so just call it directly, even if
the page was mapped before. Also, it uses a specific range of fixmap
indexes which doesn't include 0, so use 0 as default ("not mapped")
value - which simplifies code a bit.

GCC 12.2.1 gets confused about 'desc' variable:

    arch/x86/hvm/vmsi.c: In function ‘msixtbl_range’:
    arch/x86/hvm/vmsi.c:553:8: error: ‘desc’ may be used uninitialized [-Werror=maybe-uninitialized]
      553 |     if ( desc )
          |        ^
    arch/x86/hvm/vmsi.c:537:28: note: ‘desc’ was declared here
      537 |     const struct msi_desc *desc;
          |                            ^~~~

It's conditional initialization is actually correct (in the case where
it isn't initialized, function returns early), but to avoid
build failure initialize it explicitly to NULL anyway.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v6:
- use MSIX_CHECK_WARN macro
- extend assert on fixmap_idx
- add break in default label, after ASSERT_UNREACHABLE(), and move
  setting default there
- style fixes
Changes in v5:
- style fixes
- include GCC version in the commit message
- warn only once (per domain, per device) about failed adjacent access
Changes in v4:
- drop same_page parameter of msixtbl_find_entry(), distinguish two
  cases in relevant callers
- rename adj_access_table_idx to adj_access_idx
- code style fixes
- drop alignment check in adjacent_{read,write}() - all callers already
  have it earlier
- delay mapping first/last MSI-X pages until preparing device for a
  passthrough
v3:
 - merge handling into msixtbl_mmio_ops
 - extend commit message
v2:
 - adjust commit message
 - pass struct domain to msixtbl_page_handler_get_hwaddr()
 - reduce local variables used only once
 - log a warning if write is forbidden if MSI-X and PBA lives on the same
   page
 - do not passthrough unaligned accesses
 - handle accesses both before and after MSI-X table
---
 xen/arch/x86/hvm/vmsi.c        | 200 ++++++++++++++++++++++++++++++++--
 xen/arch/x86/include/asm/msi.h |   5 +-
 xen/arch/x86/msi.c             |  41 +++++++-
 3 files changed, 236 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 999917983789..230e3a5dee3f 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -180,6 +180,10 @@ static bool msixtbl_initialised(const struct domain *d)
     return d->arch.hvm.msixtbl_list.next;
 }
 
+/*
+ * Lookup an msixtbl_entry on the same page as given addr. It's up to the
+ * caller to check if address is strictly part of the table - if relevant.
+ */
 static struct msixtbl_entry *msixtbl_find_entry(
     struct vcpu *v, unsigned long addr)
 {
@@ -187,8 +191,8 @@ static struct msixtbl_entry *msixtbl_find_entry(
     struct domain *d = v->domain;
 
     list_for_each_entry( entry, &d->arch.hvm.msixtbl_list, list )
-        if ( addr >= entry->gtable &&
-             addr < entry->gtable + entry->table_len )
+        if ( PFN_DOWN(addr) >= PFN_DOWN(entry->gtable) &&
+             PFN_DOWN(addr) <= PFN_DOWN(entry->gtable + entry->table_len - 1) )
             return entry;
 
     return NULL;
@@ -213,6 +217,138 @@ static struct msi_desc *msixtbl_addr_to_desc(
     return NULL;
 }
 
+/*
+ * Returns:
+ *  - ADJACENT_DONT_HANDLE if no handling should be done
+ *  - ADJACENT_DISCARD_WRITE if write should be discarded
+ *  - a fixmap idx to use for handling
+ */
+#define ADJACENT_DONT_HANDLE UINT_MAX
+#define ADJACENT_DISCARD_WRITE (UINT_MAX - 1)
+static unsigned int adjacent_handle(
+    const struct msixtbl_entry *entry, unsigned long addr, bool write)
+{
+    unsigned int adj_type;
+    struct arch_msix *msix;
+
+    if ( !entry || !entry->pdev )
+        return ADJACENT_DONT_HANDLE;
+
+    if ( PFN_DOWN(addr) == PFN_DOWN(entry->gtable) && addr < entry->gtable )
+        adj_type = ADJ_IDX_FIRST;
+    else if ( PFN_DOWN(addr) == PFN_DOWN(entry->gtable + entry->table_len - 1) &&
+              addr >= entry->gtable + entry->table_len )
+        adj_type = ADJ_IDX_LAST;
+    else
+        return ADJACENT_DONT_HANDLE;
+
+    msix = entry->pdev->msix;
+    ASSERT(msix);
+
+    if ( !msix->adj_access_idx[adj_type] )
+    {
+        if ( MSIX_CHECK_WARN(msix, entry->pdev->domain->domain_id,
+                             adjacent_not_initialized) )
+            gprintk(XENLOG_WARNING,
+                    "Page for adjacent(%d) MSI-X table access not initialized for %pp (addr %#lx, gtable %#lx\n",
+                    adj_type, &entry->pdev->sbdf, addr, entry->gtable);
+        return ADJACENT_DONT_HANDLE;
+    }
+
+    /* If PBA lives on the same page too, discard writes. */
+    if ( write &&
+         ((adj_type == ADJ_IDX_LAST &&
+           msix->table.last == msix->pba.first) ||
+          (adj_type == ADJ_IDX_FIRST &&
+           msix->table.first == msix->pba.last)) )
+    {
+        if ( MSIX_CHECK_WARN(msix, entry->pdev->domain->domain_id,
+                             adjacent_pba) )
+            gprintk(XENLOG_WARNING,
+                    "MSI-X table and PBA of %pp live on the same page, "
+                    "writing to other registers there is not implemented\n",
+                    &entry->pdev->sbdf);
+        return ADJACENT_DISCARD_WRITE;
+    }
+
+    return msix->adj_access_idx[adj_type];
+}
+
+static int adjacent_read(
+    unsigned int fixmap_idx,
+    paddr_t address, unsigned int len, uint64_t *pval)
+{
+    const void __iomem *hwaddr;
+
+    ASSERT(fixmap_idx <= FIX_MSIX_IO_RESERV_END);
+
+    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
+
+    switch ( len )
+    {
+    case 1:
+        *pval = readb(hwaddr);
+        break;
+
+    case 2:
+        *pval = readw(hwaddr);
+        break;
+
+    case 4:
+        *pval = readl(hwaddr);
+        break;
+
+    case 8:
+        *pval = readq(hwaddr);
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        *pval = ~0UL;
+        break;
+    }
+
+    return X86EMUL_OKAY;
+}
+
+static int adjacent_write(
+    unsigned int fixmap_idx,
+    paddr_t address, unsigned int len, uint64_t val)
+{
+    void __iomem *hwaddr;
+
+    if ( fixmap_idx == ADJACENT_DISCARD_WRITE )
+        return X86EMUL_OKAY;
+
+    ASSERT(fixmap_idx <= FIX_MSIX_IO_RESERV_END);
+
+    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
+
+    switch ( len )
+    {
+    case 1:
+        writeb(val, hwaddr);
+        break;
+
+    case 2:
+        writew(val, hwaddr);
+        break;
+
+    case 4:
+        writel(val, hwaddr);
+        break;
+
+    case 8:
+        writeq(val, hwaddr);
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+
+    return X86EMUL_OKAY;
+}
+
 static int cf_check msixtbl_read(
     const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
     uint64_t *pval)
@@ -220,9 +356,10 @@ static int cf_check msixtbl_read(
     unsigned long offset;
     struct msixtbl_entry *entry;
     unsigned int nr_entry, index;
+    unsigned int adjacent_fixmap;
     int r = X86EMUL_UNHANDLEABLE;
 
-    if ( (len != 4 && len != 8) || (address & (len - 1)) )
+    if ( !IS_ALIGNED(address, len) )
         return r;
 
     rcu_read_lock(&msixtbl_rcu_lock);
@@ -230,6 +367,21 @@ static int cf_check msixtbl_read(
     entry = msixtbl_find_entry(current, address);
     if ( !entry )
         goto out;
+
+    adjacent_fixmap = adjacent_handle(entry, address, false);
+    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
+    {
+        r = adjacent_read(adjacent_fixmap, address, len, pval);
+        goto out;
+    }
+
+    if ( address < entry->gtable ||
+         address >= entry->gtable + entry->table_len )
+        goto out;
+
+    if ( len != 4 && len != 8 )
+        goto out;
+
     offset = address & (PCI_MSIX_ENTRY_SIZE - 1);
 
     if ( offset != PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET )
@@ -282,6 +434,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     int r = X86EMUL_UNHANDLEABLE;
     unsigned long flags;
     struct irq_desc *desc;
+    unsigned int adjacent_fixmap;
 
     if ( !IS_ALIGNED(address, len) )
         return X86EMUL_OKAY;
@@ -291,6 +444,21 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     entry = msixtbl_find_entry(v, address);
     if ( !entry )
         goto out;
+
+    adjacent_fixmap = adjacent_handle(entry, address, true);
+    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
+    {
+        r = adjacent_write(adjacent_fixmap, address, len, val);
+        goto out;
+    }
+
+    if ( address < entry->gtable ||
+         address >= entry->gtable + entry->table_len )
+        goto out;
+
+    if ( len != 4 && len != 8 )
+        goto out;
+
     nr_entry = array_index_nospec(((address - entry->gtable) /
                                    PCI_MSIX_ENTRY_SIZE),
                                   MAX_MSIX_TABLE_ENTRIES);
@@ -356,8 +524,8 @@ static int cf_check _msixtbl_write(
     const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
     uint64_t val)
 {
-    /* Ignore invalid length or unaligned writes. */
-    if ( (len != 4 && len != 8) || !IS_ALIGNED(address, len) )
+    /* Ignore unaligned writes. */
+    if ( !IS_ALIGNED(address, len) )
         return X86EMUL_OKAY;
 
     /*
@@ -374,14 +542,22 @@ static bool cf_check msixtbl_range(
 {
     struct vcpu *curr = current;
     unsigned long addr = r->addr;
-    const struct msi_desc *desc;
+    const struct msixtbl_entry *entry;
+    const struct msi_desc *desc = NULL;
+    unsigned int adjacent_fixmap;
 
     ASSERT(r->type == IOREQ_TYPE_COPY);
 
     rcu_read_lock(&msixtbl_rcu_lock);
-    desc = msixtbl_addr_to_desc(msixtbl_find_entry(curr, addr), addr);
+    entry = msixtbl_find_entry(curr, addr);
+    adjacent_fixmap = adjacent_handle(entry, addr, false);
+    if ( adjacent_fixmap == ADJACENT_DONT_HANDLE )
+        desc = msixtbl_addr_to_desc(entry, addr);
     rcu_read_unlock(&msixtbl_rcu_lock);
 
+    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
+        return 1;
+
     if ( desc )
         return 1;
 
@@ -622,12 +798,16 @@ void msix_write_completion(struct vcpu *v)
          v->arch.hvm.hvm_io.msix_snoop_gpa )
     {
         unsigned int token = hvmemul_cache_disable(v);
-        const struct msi_desc *desc;
+        const struct msi_desc *desc = NULL;
+        const struct msixtbl_entry *entry;
         uint32_t data;
 
         rcu_read_lock(&msixtbl_rcu_lock);
-        desc = msixtbl_addr_to_desc(msixtbl_find_entry(v, snoop_addr),
-                                    snoop_addr);
+        entry = msixtbl_find_entry(v, snoop_addr);
+        if ( entry &&
+             snoop_addr >= entry->gtable &&
+             snoop_addr < entry->gtable + entry->table_len )
+            desc = msixtbl_addr_to_desc(entry, snoop_addr);
         rcu_read_unlock(&msixtbl_rcu_lock);
 
         if ( desc &&
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index bcfdfd35345d..923b730d48b8 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -224,6 +224,9 @@ struct arch_msix {
     } table, pba;
     int table_refcnt[MAX_MSIX_TABLE_PAGES];
     int table_idx[MAX_MSIX_TABLE_PAGES];
+#define ADJ_IDX_FIRST 0
+#define ADJ_IDX_LAST  1
+    unsigned int adj_access_idx[2];
     spinlock_t table_lock;
     bool host_maskall, guest_maskall;
     domid_t warned_domid;
@@ -231,6 +234,8 @@ struct arch_msix {
         uint8_t all;
         struct {
             bool maskall                   : 1;
+            bool adjacent_not_initialized  : 1;
+            bool adjacent_pba              : 1;
         };
     } warned_kind;
 };
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 42c793426da3..c77b81896269 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -913,6 +913,36 @@ static int msix_capability_init(struct pci_dev *dev,
         list_add_tail(&entry->list, &dev->msi_list);
         *desc = entry;
     }
+    else
+    {
+        /*
+         * If the MSI-X table doesn't start at the page boundary, map the first page for
+         * passthrough accesses.
+         */
+        if ( PAGE_OFFSET(table_paddr) )
+        {
+            int idx = msix_get_fixmap(msix, table_paddr, table_paddr);
+
+            if ( idx > 0 )
+                msix->adj_access_idx[ADJ_IDX_FIRST] = idx;
+            else
+                gprintk(XENLOG_ERR, "Failed to map first MSI-X table page: %d\n", idx);
+        }
+        /*
+         * If the MSI-X table doesn't end on the page boundary, map the last page
+         * for passthrough accesses.
+         */
+        if ( PAGE_OFFSET(table_paddr + msix->nr_entries * PCI_MSIX_ENTRY_SIZE) )
+        {
+            uint64_t entry_paddr = table_paddr + msix->nr_entries * PCI_MSIX_ENTRY_SIZE;
+            int idx = msix_get_fixmap(msix, table_paddr, entry_paddr);
+
+            if ( idx > 0 )
+                msix->adj_access_idx[ADJ_IDX_LAST] = idx;
+            else
+                gprintk(XENLOG_ERR, "Failed to map last MSI-X table page: %d\n", idx);
+        }
+    }
 
     if ( !msix->used_entries )
     {
@@ -1079,6 +1109,17 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
         msix->table.first = 0;
         msix->table.last = 0;
 
+        if ( msix->adj_access_idx[ADJ_IDX_FIRST] )
+        {
+            msix_put_fixmap(msix, msix->adj_access_idx[ADJ_IDX_FIRST]);
+            msix->adj_access_idx[ADJ_IDX_FIRST] = 0;
+        }
+        if ( msix->adj_access_idx[ADJ_IDX_LAST] )
+        {
+            msix_put_fixmap(msix, msix->adj_access_idx[ADJ_IDX_LAST]);
+            msix->adj_access_idx[ADJ_IDX_LAST] = 0;
+        }
+
         if ( rangeset_remove_range(mmio_ro_ranges, msix->pba.first,
                                    msix->pba.last) )
             WARN();
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712996.1113945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnA-0005If-H2; Fri, 26 Apr 2024 17:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712996.1113945; Fri, 26 Apr 2024 17:55:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnA-0005IY-Db; Fri, 26 Apr 2024 17:55:24 +0000
Received: by outflank-mailman (input) for mailman id 712996;
 Fri, 26 Apr 2024 17:55:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0Pn9-0004Xj-Dy
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:23 +0000
Received: from wfhigh5-smtp.messagingengine.com
 (wfhigh5-smtp.messagingengine.com [64.147.123.156])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 260618b3-03f6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 19:55:22 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfhigh.west.internal (Postfix) with ESMTP id D8156180016D;
 Fri, 26 Apr 2024 13:55:19 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 26 Apr 2024 13:55:20 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:17 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 260618b3-03f6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714154119; x=1714240519; bh=hZ6VYL08E0
	Yxr0n/W2twXlHVhmqK+fKxAH0QY/uH+Wo=; b=xs2zvhxGLs3oExmgpv9rsb/sDO
	MNOPuuCPOY2Ta2x5Z/mvPPwS02lH9YsCaD7UNpDRD/FyzvHGvhZfkBI5rxVxDTU0
	akH6DG36JROcTa2NEGC5a5zmyUUU91k+orj2fwdQhhLFO4CG6Vd1PlfRLj9e7hx4
	QAVrFZJhiwFhRK80w036RxErue025jJTkgsPDanOeaoC3jC4QTESIHsycq4VaygZ
	QQMVsB6KDQvdpJ2Wtpivn21fzm1wCxazpVeXNKjQgh/QD/8K6uxTEGCG2GSurMo3
	Eo79piZ1IRaoII3YUk5+SRi7J7SSI69FVLM61npKAtL1ozPr/ZSKQ/7640tQ==
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=fm3; t=1714154119; x=
	1714240519; bh=hZ6VYL08E0Yxr0n/W2twXlHVhmqK+fKxAH0QY/uH+Wo=; b=A
	pUpM5z6KUgj66KnRXZpz/IpOmOcn/BXo6LMrC1GxKHpRPBjgLhLi2bneJDBhdfD5
	f3luR4uOt+gHPzUynEZG9z8aLsqh74RHjfkKPXO73c3oR/in7vncFRKgtYtBGHKb
	h28tsrtAW2QdPa+Hx53Wtx+jPSSHL3Eh/3gskU64pThRzwLoJ9pvxTelsuhUDIdW
	4WU01dWajjdIQDMqXu8aczuPEZnNOvifHXjz6/dbVUY50dmi5ZxeO3sPpx7Y6Z7N
	Q5fJrTYEMgjQVgYm0TyIR6BokXM9DtriaUI3pV72GDgrCWUTWjzfR5CCvlC3b+Tn
	yq432rmWlYmbAVSi0B0iA==
X-ME-Sender: <xms:huorZnrlW6c5FdwzboFue8Rizo7HxP7UAMUOwQzipH4_LxrgkofYUw>
    <xme:huorZhptunK0sq9TSwDOX7Y9al4lRRJ1MWdnbCYvOVot__oek6-41Z7Dm1_xRItvy
    yMS90fqNRbMVw>
X-ME-Received: <xmr:huorZkMovm5rhXdz_W930EAtWHmR_w6bKdyD93d0Bq0oDvLuZXFJEYn7JYimUq8_UEHnp0GrHaRoqm7Az17JRrvqRfNlsdVtcbXjccgBZfaX4QRJJug>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddulecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfeuudehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghr
    vghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:huorZq7CyntHE4AL1R0510ysZq4UPFtNtL81zQGpU8m2yvzF3-hyAQ>
    <xmx:huorZm786HiNKvhacCZ7oEWW2vFSVgKPXiyzt_L_1ged3HKUMXgYzA>
    <xmx:huorZijrTGjxCgLJagqD88goxnPGmyKqRVxv56qRbW8hKfYGqTpL1g>
    <xmx:huorZo6hg2_4_nXNvFCRXbmVdKfia2t6xiHmFDT1rB2vbkOEEE5MNQ>
    <xmx:h-orZsmNaPLUD5Za-QX5C1__0WRkEpLTyabfwcMl4T6V5yCBVIBKg6Rk>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v6 4/7] automation: prevent QEMU access to /dev/mem in PCI passthrough tests
Date: Fri, 26 Apr 2024 19:54:01 +0200
Message-ID: <32e761446e5c20c81543e530e157ee2a0d67f131.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

/dev/mem access doesn't work in dom0 in lockdown and in stubdomain.
Simulate this environment with removing /dev/mem device node. Full test
for lockdown and stubdomain will come later, when all requirements will
be in place.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
This can be applied only after QEMU change is committed. Otherwise the
test will fail.
---
 automation/scripts/qubes-x86-64.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index d81ed7b931cf..7eabc1bd6ad4 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -163,6 +163,8 @@ ifconfig eth0 up
 ifconfig xenbr0 up
 ifconfig xenbr0 192.168.0.1
 
+# ensure QEMU wont have access /dev/mem
+rm -f /dev/mem
 # get domU console content into test log
 tail -F /var/log/xen/console/guest-domU.log 2>/dev/null | sed -e \"s/^/(domU) /\" &
 xl create /etc/xen/domU.cfg
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712998.1113961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnD-0005dU-8W; Fri, 26 Apr 2024 17:55:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712998.1113961; Fri, 26 Apr 2024 17:55:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnD-0005ch-1F; Fri, 26 Apr 2024 17:55:27 +0000
Received: by outflank-mailman (input) for mailman id 712998;
 Fri, 26 Apr 2024 17:55: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=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0PnB-0004Xj-Pd
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:25 +0000
Received: from wfout3-smtp.messagingengine.com
 (wfout3-smtp.messagingengine.com [64.147.123.146])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27b0fa59-03f6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 19:55:24 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailfout.west.internal (Postfix) with ESMTP id A78591C00198;
 Fri, 26 Apr 2024 13:55:22 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Fri, 26 Apr 2024 13:55:23 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:20 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27b0fa59-03f6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714154121; x=1714240521; bh=i5H8JidWWb
	TxxhBJM5jd/OPNyDg2YLsGie249e88IWE=; b=FyaWZ2IWiUmzB/IXuhy7vGvwP2
	7TRyIGtGw+IDauhMqLG1KgcDvGrcVRswH7CMrd9XNGz22Mh2elX9+zSllFLHn7Dz
	kogQdTvSuD1lAnkmTi3y4s+JnouP6pTlw0LeVgy5wEuOxkxbtosUaxau8TZQzjZX
	+pggTCA2lgCNDRJqOfdblqli7iDcOiGl1Y0R+c9OI24Te4os7pGJWjALQKEj4CfV
	FHr3KML1g8fflq/932p8rs3s45VMlMP2QDOYm2s5X1c8dKK1HPxg0VMVhruEa0fb
	PWkMQjb35vu6faKSx7Luz8Tl+q2yP/QbDx/xJEmWUOr03+s0IcE6rqapnD5g==
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=fm3; t=1714154121; x=
	1714240521; bh=i5H8JidWWbTxxhBJM5jd/OPNyDg2YLsGie249e88IWE=; b=k
	dhmtqB10MNCDIAqMnAQ2tHtNYX16Sz47/nS1K+O5ykAwTourPJoGK6Rf7j7Xw+TZ
	ySNcX5ROgzqcA1Zn4iL34byWeRDldjogAodCdzISL0dFA7BoTE8NdaqFx9ooeUHr
	TyoSZTkIuy4OX2E9vuUwmufqcg1n6uaQ/nDHwjBn3ECjPXHytXCYKQIm0PUkUeOX
	O0BF1QnI5uVFe96ohHUfXvprF1wS9AlwGFnW/PDaGcB41Pfdrx29tj45B9fgTKbB
	h6/GvgpqSHjXTAPqIf5+My4B3XsP8Cn5al7DIO3qTHguxtLQQLvfx0A3cDmKCWNJ
	avMsOWDm7NNxR+Rd/MUVA==
X-ME-Sender: <xms:ieorZtoQcLpOvTO5W9g660m_PC3ogJy95TQK-b3d5uKKAhRkY7e2fw>
    <xme:ieorZvokye3yra4qbAnhlG6i2PCqNSug6oQTY4i72146eIHXyNw-z1da5IiCDAp8C
    jOxaXlPXITFMg>
X-ME-Received: <xmr:ieorZqOytc9HeXkt6upEHVNajACJS6egAn8PV651shP7R650zcmBk_u0PZwVXTo_GIeA3PPxwPPUu70cSWNzLMHeXoa8EscW9d-vZVehWtPxKuYBJVc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddukecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    ffeitdegveffteelvdeghffhvefghfefkeelheeujeejgedvvdfgffejuedtvdelnecuff
    homhgrihhnpehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgr
    rhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:ieorZo7tAvxq0hwjiOR6mIYkcXW5k0uAzLowEwrf2toW6ch6lxV_HQ>
    <xmx:ieorZs592E1DV9AWVtgVg5KVLTg_Y7Ur8cBFEYgS99QiF111URHh4Q>
    <xmx:ieorZghBA8XzBxGfWSrJtdh5fR2IhMdEBTMFR5KkHhDJyttsJAy2Cg>
    <xmx:ieorZu5xzSQpL2PLaSInVTNCmwdYyrTIYPNjDeFfofJaYXIiyD7Nsg>
    <xmx:ieorZqm_n65tsKrWcwjYBoC_6en5e-cZbpnItXtse17XWvVqcrR8G3hR>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v6 5/7] automation: switch to a wifi card on ADL system
Date: Fri, 26 Apr 2024 19:54:02 +0200
Message-ID: <7f3f80f2f7e106a9362c779b925cdcdaaadf3b36.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Switch to a wifi card that has registers on a MSI-X page. This tests the
"x86/hvm: Allow writes to registers on the same page as MSI-X table"
feature. Switch it only for HVM test, because MSI-X adjacent write is
not supported on PV.

This requires also including drivers and firmware in system for tests.
Remove firmware unrelated to the test, to not increase initrd size too
much (all firmware takes over 100MB compressed).
And finally adjusts test script to handle not only eth0 as a test device,
but also wlan0 and connect it to the wifi network.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
This needs two new gitlab variables: WIFI_HW2_SSID and WIFI_HW2_PSK. I'll
provide them in private.

This change requires rebuilding test containers.

This can be applied only after QEMU change is committed. Otherwise the
test will fail.
---
 automation/gitlab-ci/test.yaml                      | 4 ++++
 automation/scripts/qubes-x86-64.sh                  | 7 +++++++
 automation/tests-artifacts/alpine/3.18.dockerfile   | 7 +++++++
 automation/tests-artifacts/kernel/6.1.19.dockerfile | 2 ++
 4 files changed, 20 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 8b7b2e4da92d..23a183fad967 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -193,6 +193,10 @@ adl-pci-pv-x86-64-gcc-debug:
 
 adl-pci-hvm-x86-64-gcc-debug:
   extends: .adl-x86-64
+  variables:
+    PCIDEV: "00:14.3"
+    WIFI_SSID: "$WIFI_HW2_SSID"
+    WIFI_PSK: "$WIFI_HW2_PSK"
   script:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index 7eabc1bd6ad4..60498ef1e89a 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -94,6 +94,13 @@ on_reboot = "destroy"
     domU_check="
 set -x -e
 interface=eth0
+if [ -e /sys/class/net/wlan0 ]; then
+    interface=wlan0
+    set +x
+    wpa_passphrase "$WIFI_SSID" "$WIFI_PSK" > /etc/wpa_supplicant.conf
+    set -x
+    wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf
+fi
 ip link set \"\$interface\" up
 timeout 30s udhcpc -i \"\$interface\"
 pingip=\$(ip -o -4 r show default|cut -f 3 -d ' ')
diff --git a/automation/tests-artifacts/alpine/3.18.dockerfile b/automation/tests-artifacts/alpine/3.18.dockerfile
index 9cde6c9ad4da..c323e266c7da 100644
--- a/automation/tests-artifacts/alpine/3.18.dockerfile
+++ b/automation/tests-artifacts/alpine/3.18.dockerfile
@@ -34,6 +34,13 @@ RUN \
   apk add udev && \
   apk add pciutils && \
   apk add libelf && \
+  apk add wpa_supplicant && \
+  # Select firmware for hardware tests
+  apk add linux-firmware-other && \
+  mkdir /lib/firmware-preserve && \
+  mv /lib/firmware/iwlwifi-so-a0-gf-a0* /lib/firmware-preserve/ && \
+  rm -rf /lib/firmware && \
+  mv /lib/firmware-preserve /lib/firmware && \
   \
   # Xen
   cd / && \
diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
index 3a4096780d20..84ed5dff23ae 100644
--- a/automation/tests-artifacts/kernel/6.1.19.dockerfile
+++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
@@ -32,6 +32,8 @@ RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSI
     make xen.config && \
     scripts/config --enable BRIDGE && \
     scripts/config --enable IGC && \
+    scripts/config --enable IWLWIFI && \
+    scripts/config --enable IWLMVM && \
     cp .config .config.orig && \
     cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
     make -j$(nproc) bzImage && \
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712994.1113921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Pn3-0004b7-56; Fri, 26 Apr 2024 17:55:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712994.1113921; Fri, 26 Apr 2024 17: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 1s0Pn2-0004aC-Ud; Fri, 26 Apr 2024 17:55:16 +0000
Received: by outflank-mailman (input) for mailman id 712994;
 Fri, 26 Apr 2024 17: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=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0Pn0-0004Xj-Sy
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:14 +0000
Received: from wfhigh5-smtp.messagingengine.com
 (wfhigh5-smtp.messagingengine.com [64.147.123.156])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2133c0c6-03f6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 19:55:13 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfhigh.west.internal (Postfix) with ESMTP id 20807180017C;
 Fri, 26 Apr 2024 13:55:11 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 26 Apr 2024 13:55:12 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:08 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2133c0c6-03f6-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714154110; x=1714240510; bh=wnwLHJjK04
	m7/9icyRhj8AsJLZNROamjl2zOStksx24=; b=UHC1s2f/T0/3E2+PWJe0soraOF
	+OrZF0FjpLmSpgoGC5lfSc1geZuWuK++8i6AXPWLnHWNPDMfp7E4ax/mi5J+iDlJ
	ur6IbDVeN6C/g4Pj6VKhc2CgksLABGmqcgOZWww1JbJp6OZSinwllqnJvt7+kg9u
	ux130D3+/1Tg/jk6l7yA0+5pcdnsG80jGIk0B+1xuM+vhj7HLg6nzcRyqfoOsyuw
	GpDOrCDDHF8ZkD1Mhvsrw4p344NLVxvPouUgoYR1FeLVVuN9JHNr7PZTr2pDd6BM
	7oupxhGbA+1bJHvadrpc7Z+c1+lOho5p+FJhEe1/i71lHMDMuPhjGPV5vR8Q==
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=fm3; t=1714154110; x=
	1714240510; bh=wnwLHJjK04m7/9icyRhj8AsJLZNROamjl2zOStksx24=; b=I
	/iG1QotweSKdUqu7tjOIW4uzc1PpIA45z6jzSPvYDB6SI3jM1Pmp+9M/RgLYzvQF
	X31sy9gaZ5S+VaTZrg80hvl/xnnLJ5hK/FG++Ak20TMVi2MRkAAPzJ9b2pXE2WD+
	sADIDlBJ0wQXYJ15mZCeVyvkGi8Y/Iml6k0QQX22meWBngq0Um4+qEsvA1+895ur
	48g8UstUs9z6N/+W8H3b370xZBEGhWu/DPkVw9/ThvfmxipFWu00Qan7hF/znQrV
	o5bq0ncsIKBZaP1HXLHENWoF8PiUPhDBW4Aj7feEwy4cU7L69olayyX+tjdaJpn8
	Vl9H7lMAlmh9wfu/XkpCA==
X-ME-Sender: <xms:fuorZlGhc3lTIR1jFJwpg7IWNIYWHESHfD4QJBf6axHjW94_TYuXAg>
    <xme:fuorZqWRzNU4IWMLc1NJ2NKaGUT0_0evsks2rkjAAx4W5DWElK4J3zVp5FpVIU8tw
    UUHuMO4dmhL2g>
X-ME-Received: <xmr:fuorZnKZcCQJMDxmzuwobZOJSOTrpufM28uK6Qmme4GnfbVogCgyoC0yofNy8lIWEUDA74-qfo3zsd0R3FIoj9NN8OvnnSuHwJqrC2RsVraQHl7vigw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddukecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfeuudehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghr
    vghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:fuorZrEtyUONk3fJKga20BWdOKFlnOYRAL3klZPkqC9F4x8Sr1sNyA>
    <xmx:fuorZrU-JXVuRBNz2aF2vwxViFknDXWBW8zntrIRrrOh1VoJx5nCTQ>
    <xmx:fuorZmPt9JyGYGjy3qQRoyd7dn8SmHvHuY5cwv07f19TM82KrxBvJg>
    <xmx:fuorZq2WcQWpx8DKVzkAXtdmwqDge2BgDyEVa6X9x-sfyeYGi3bENw>
    <xmx:fuorZiHPQbMQcWV5ZqxUwbGrWAfdMmSLXVaLgQq72PqVT6dUKQhaepzD>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 1/7] x86/msi: passthrough all MSI-X vector ctrl writes to device model
Date: Fri, 26 Apr 2024 19:53:58 +0200
Message-ID: <db19b939bd56ea822a8149c5e7d46505b81d34a3.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

QEMU needs to know whether clearing maskbit of a vector is really
clearing, or was already cleared before. Currently Xen sends only
clearing that bit to the device model, but not setting it, so QEMU
cannot detect it. Because of that, QEMU is working this around by
checking via /dev/mem, but that isn't the proper approach.

Give all necessary information to QEMU by passing all ctrl writes,
including masking a vector. Advertise the new behavior via
XENVER_get_features, so QEMU can know it doesn't need to access /dev/mem
anymore.

While this commit doesn't move the whole maskbit handling to QEMU (as
discussed on xen-devel as one of the possibilities), it is a necessary
first step anyway. Including telling QEMU it will get all the required
information to do so. The actual implementation would need to include:
 - a hypercall for QEMU to control just maskbit (without (re)binding the
   interrupt again
 - a methor for QEMU to tell Xen it will actually do the work
Those are not part of this series.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
I did not added any control to enable/disable this new behavior (as
Roger have suggested for possible non-QEMU ioreqs). I don't see how the
new behavior could be problematic for some existing ioreq server (they
already received writes to those addresses, just not all of them),
but if that's really necessary, I can probably add a command line option
to restore previous behavior system-wide.

Changes in v5:
- announce the feature only on x86
- style fixes

Changes in v4:
- ignore unaligned writes with X86EMUL_OKAY
- restructure the code to forward all writes in _msixtbl_write() instead
  of manipulating return value of msixtbl_write() - this makes
  WRITE_LEN4_COMPLETION special case unnecessary
- advertise the changed behavior via XENVER_get_features instead of DMOP
v3:
 - advertise changed behavior in XEN_DMOP_get_ioreq_server_info - make
   "flags" parameter IN/OUT
 - move len check back to msixtbl_write() - will be needed there anyway
   in a later patch
v2:
 - passthrough quad writes to emulator too (Jan)
 - (ab)use len==0 for write len=4 completion (Jan), but add descriptive
   #define for this magic value
---
 xen/arch/x86/hvm/vmsi.c       | 19 ++++++++++++++-----
 xen/common/kernel.c           |  1 +
 xen/include/public/features.h |  8 ++++++++
 3 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index adbac965f9f7..999917983789 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -283,8 +283,8 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     unsigned long flags;
     struct irq_desc *desc;
 
-    if ( (len != 4 && len != 8) || (address & (len - 1)) )
-        return r;
+    if ( !IS_ALIGNED(address, len) )
+        return X86EMUL_OKAY;
 
     rcu_read_lock(&msixtbl_rcu_lock);
 
@@ -345,8 +345,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
 
 unlock:
     spin_unlock_irqrestore(&desc->lock, flags);
-    if ( len == 4 )
-        r = X86EMUL_OKAY;
+    r = X86EMUL_OKAY;
 
 out:
     rcu_read_unlock(&msixtbl_rcu_lock);
@@ -357,7 +356,17 @@ static int cf_check _msixtbl_write(
     const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
     uint64_t val)
 {
-    return msixtbl_write(current, address, len, val);
+    /* Ignore invalid length or unaligned writes. */
+    if ( (len != 4 && len != 8) || !IS_ALIGNED(address, len) )
+        return X86EMUL_OKAY;
+
+    /*
+     * This function returns X86EMUL_UNHANDLEABLE even if write is properly
+     * handled, to propagate it to the device model (so it can keep its
+     * internal state in sync).
+     */
+    msixtbl_write(current, address, len, val);
+    return X86EMUL_UNHANDLEABLE;
 }
 
 static bool cf_check msixtbl_range(
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 08dbaa2a054c..b44b2439ca8e 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -637,6 +637,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
                 fi.submap |= (1U << XENFEAT_hvm_safe_pvclock) |
                              (1U << XENFEAT_hvm_callback_vector) |
                              (has_pirq(d) ? (1U << XENFEAT_hvm_pirqs) : 0);
+            fi.submap |= (1U << XENFEAT_dm_msix_all_writes);
 #endif
             if ( !paging_mode_translate(d) || is_domain_direct_mapped(d) )
                 fi.submap |= (1U << XENFEAT_direct_mapped);
diff --git a/xen/include/public/features.h b/xen/include/public/features.h
index 4437f25d2532..880193094713 100644
--- a/xen/include/public/features.h
+++ b/xen/include/public/features.h
@@ -120,6 +120,14 @@
 #define XENFEAT_runstate_phys_area        18
 #define XENFEAT_vcpu_time_phys_area       19
 
+/*
+ * If set, Xen will passthrough all MSI-X vector ctrl writes to device model,
+ * not only those unmasking an entry. This allows device model to properly keep
+ * track of the MSI-X table without having to read it from the device behind
+ * Xen's backs. This information is relevant only for device models.
+ */
+#define XENFEAT_dm_msix_all_writes        20
+
 #define XENFEAT_NR_SUBMAPS 1
 
 #endif /* __XEN_PUBLIC_FEATURES_H__ */
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.712999.1113975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnF-00068d-GI; Fri, 26 Apr 2024 17:55:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 712999.1113975; Fri, 26 Apr 2024 17: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 1s0PnF-00068O-CE; Fri, 26 Apr 2024 17:55:29 +0000
Received: by outflank-mailman (input) for mailman id 712999;
 Fri, 26 Apr 2024 17:55: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=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0PnE-0004Xj-9U
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:28 +0000
Received: from wfout3-smtp.messagingengine.com
 (wfout3-smtp.messagingengine.com [64.147.123.146])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 299045d3-03f6-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 19:55:27 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfout.west.internal (Postfix) with ESMTP id 8A1CF1C00190;
 Fri, 26 Apr 2024 13:55:25 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 26 Apr 2024 13:55:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:23 -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: 299045d3-03f6-11ef-909a-e314d9c70b13
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=fm3; t=1714154125; x=1714240525; bh=EAaNxhwX2Xjwv3rkR/3PC
	xXHxt3VIaaNGAHnw+G6qes=; b=u7zuGf4H1tJzhYdMhUw6j5WAbOg2Ni53HgYI8
	IcVc2L4Y43Tyh40CbESmYe3iVCk5IrXwFT0xECjRu+3NRITqtQF+BHwIYxcCwom1
	VxLI07gOkiooqYeyLMC3ZL/O4On9/hnRuJH+MYnD49fg0EwkbN3XHtcUJebsdVMZ
	FriQoMfhFpfrLbEQQnz092NKczmUPChRwbinLJcLB/YrlZhkvDe+I8ZyL91/VxKm
	rlSaA1GwcH2A7IWJabmX5MhtW0UdrMExdmU4oXgiJ5L4t/9qkWIXlQuefjtSSup/
	9PLktvptnmfBy72MmHTHy+HcgW4nCSJaEqosF5hx7sxTtdxqw==
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=fm3; t=1714154125; x=
	1714240525; bh=EAaNxhwX2Xjwv3rkR/3PCxXHxt3VIaaNGAHnw+G6qes=; b=k
	jtQkBKPw+dOGankWwaF8Qc8G4yGVzqZxw3GSdMNjtE/OtnuLMHogjfVhXpu78UgA
	DRLcqCAi4jvViUIFvZU/k2brSZauAayZT1w8h9Gf4iBw/BC57+To16g7GJGE196H
	PbJJvTYLhLIhpeBDggjVSk1OSfkDXD08RXutdCuXg366/AD7Lkp3TrzlNwfToO94
	Q6GCSikOJXIXXkF7dcPmCVn1o28UsOkpNh/gnXx7vw2PoRXIk9vW6ZsMEsx8K4nj
	RuUn/WNLY2bpVGtyxjCc7QuabGEXzyPheJhrFGhziGnFv3OkaeTwFRMsK5dz2WXC
	P95CpZYLqXkLdrttEXhHA==
X-ME-Sender: <xms:jOorZkBTWq9_9PwbXinbhpMDG0p8uHKvvNS7Y8gz1Z0jqIw0XOBmeA>
    <xme:jOorZmgON1fAfEi0lmkg9sHOEMc3dlgNL0xJi-2oraOPw7vD2NHnre96GzrQvK0EM
    om5ko_r43gYYw>
X-ME-Received: <xmr:jOorZnnqoggaqIw9ZSFzYUVBIlfVhFsCSK8x1b4W7Ji6F0XTkoWJF4uwRfbGPRFTelxN_s_CLt2-fKUsaY79iFVcncSfWRj_3yb_gipbz1xcGnVdiNI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddulecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeg
    tedtieeghfekhfefgedvueeivddtffekledtiedvgfetleeuuefhteelveeugeenucffoh
    hmrghinhepgigvnhdrohhrghdpghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihii
    vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsih
    gslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:jOorZqz3dWapRAmtMg2_FDmTSytNRzkRpUPnfdmH5yoFVjstnLSDZA>
    <xmx:jOorZpTAklOJ6hX2ht93VZX6s7v5sMPL0C2J8MVdHW5qXHvacQpjaA>
    <xmx:jOorZlaT188txH9XVkt2ctotrWPrlBOYL4YCWXDQ3tO_-OefhuJWKg>
    <xmx:jOorZiSRDgdem6yJ2ybvVQD4p9zNAomKf40idzgJYR-QzPl9E6d_AA>
    <xmx:jeorZoEIA5-7jzYjdQEHtjLCGyo7C9aeHRm_SJ1kEaCsPw6qMQaZULqF>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 6/7] [DO NOT APPLY] switch to qemu fork
Date: Fri, 26 Apr 2024 19:54:03 +0200
Message-ID: <3138d1e229408b64dedd5ac3aa069b897117e549.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes tests to use patched QEMU, to actually test the new behavior.
---
 Config.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index a962f095ca16..5e220a1284e4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -220,8 +220,8 @@ endif
 OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
 
-QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_UPSTREAM_REVISION ?= master
+QEMU_UPSTREAM_URL ?= https://github.com/marmarek/qemu
+QEMU_UPSTREAM_REVISION ?= origin/msix
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 MINIOS_UPSTREAM_REVISION ?= b6a5b4d72b88e5c4faed01f5a44505de022860fc
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713000.1113985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0PnK-0006hH-VW; Fri, 26 Apr 2024 17:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713000.1113985; Fri, 26 Apr 2024 17: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 1s0PnK-0006h0-R0; Fri, 26 Apr 2024 17:55:34 +0000
Received: by outflank-mailman (input) for mailman id 713000;
 Fri, 26 Apr 2024 17: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=/r3b=L7=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s0PnJ-0005IL-1C
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:55:33 +0000
Received: from wfout3-smtp.messagingengine.com
 (wfout3-smtp.messagingengine.com [64.147.123.146])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b343baf-03f6-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 19:55:31 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailfout.west.internal (Postfix) with ESMTP id 3E7111C0019D;
 Fri, 26 Apr 2024 13:55:28 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Fri, 26 Apr 2024 13:55:28 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 13:55:26 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b343baf-03f6-11ef-b4bb-af5377834399
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=fm3; t=1714154127; x=1714240527; bh=kqv3XxPnwBq6tyJeE7l4A
	gxpNVKGtZJ7FW7pxlbH88o=; b=wKCwcpVAZvyu4pg/zrW3j5/5MjojIED1bThbZ
	7YlEM0+JSrEe3qV7dFe81VQVNUwb8ZKbKQ4s10DfGz/uq7NUSFrC0Q2+2AWdzztw
	PBVjQXfAEYq0q268DARHej5DmxBJTl9/sP02hFog2YIp6C88iYAXErLX4WvLTKW5
	ufGgsx4nwPujWqS6xPm4HV5tXMyNCwZyPRJE1/NvwQuBGk8v2ktzPGyWAcp2M4FG
	EydCiMI/7VoYLuiHjNdIiFs0bWGIF4C2duTjoijvEajrfV/5UurCcPXx1ugC2Fw+
	GGHKAEvP6rCoNwlZXNktV/cTEa8xnjAwr+VKXIHXaX4AccAcw==
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=fm3; t=1714154127; x=
	1714240527; bh=kqv3XxPnwBq6tyJeE7l4AgxpNVKGtZJ7FW7pxlbH88o=; b=P
	ve7k2xM9Qj1ZrR6uUb2WyfVSY5KpAEnsKA8cAsLsrYgOmB9svO+dULd4/YyJSDXo
	QTQhaRR725DJaNs8wyAOxwT6d5ENpVeScTx41lt3ksNT6ROijyG1YF7/XfRqcgBq
	hUWBwzsEpfBwaskAS2xbxSefNVHyRgu5pVZ/wWdW29YkqHTlRR08aVX7pIEybWJf
	D+3EXXfGUP1OAlejfNE1Lf62zBe9xqnhihtbIUNhR9Ka81PceyInIVBNMCliEb4/
	lbbZpfZu2W7MQUGDscsUgWE1f0DZewL6JBDTTzIpYPrf9Hyg5Pq9bIN4NP9gzKgN
	abL6H6fA8ss/Q8m1nNaLw==
X-ME-Sender: <xms:j-orZmfIbjO1sujNcl8iCQTDKaMR6AjM2BMYVyy_tnAR9vtlBwWpsg>
    <xme:j-orZgP6Ice9x-_2NEodSHtyWRX8LsearozX5H0OLNiSvtpfsgIxbhgYVbi3Chxxc
    aWDj2h-XBaXkA>
X-ME-Received: <xmr:j-orZnh9OlwPsdAXWhr6X9zB0D0fSq-RTjKjUhD6iZRTuOCm6LABOsE6qcBpBZ8acu-C0Y2RfABSXV8x8VyEWz_A8nYmfRedVSKX5vZi2RnLRvYpT7A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudelledguddulecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeu
    teehgfeiheehfedtueeludfhgfeileeujefhgffgieeiveethfeffffffedtheenucffoh
    hmrghinhepghhithhlrggsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr
    rghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomh
X-ME-Proxy: <xmx:j-orZj-oJNEXsBY9GsNo1_2zqGLOXa7L8i_yCJBpahMwWelDgnNjmA>
    <xmx:j-orZisBHPRvd2hZPBhhBuZEp0Qa1g02-7Ly9t1c7ZSwSQwL1L3KSQ>
    <xmx:j-orZqG9g_cCQHo7pEjNrVGv5irgONQ2skceRDtsEWv3_3lZxl38_g>
    <xmx:j-orZhP1f6CVGspMaM9f1Tf_DFkJ9x48-EVOsx8v_6I-SxwhgHQ73w>
    <xmx:j-orZmLWrwfJ3qml84zuSaty43HNXnOODFaiUVPT6h7RnsxVASx8kFiz>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 7/7] [DO NOT APPLY] switch to alternative artifact repo
Date: Fri, 26 Apr 2024 19:54:04 +0200
Message-ID: <4634c2b7d08997b38521f0fa82e37a4fca0d6e2c.1714154036.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For testing, switch to my containers registry that includes containers
rebuilt with changes in this series.
---
 automation/gitlab-ci/build.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index aac29ee13ab6..6957f06016b7 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -320,7 +320,7 @@ qemu-system-ppc64-8.1.0-ppc64-export:
 
 alpine-3.18-rootfs-export:
   extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.18
+  image: registry.gitlab.com/xen-project/people/marmarek/xen/tests-artifacts/alpine:3.18
   script:
     - mkdir binaries && cp /initrd.tar.gz binaries/initrd.tar.gz
   artifacts:
@@ -331,7 +331,7 @@ alpine-3.18-rootfs-export:
 
 kernel-6.1.19-export:
   extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:6.1.19
+  image: registry.gitlab.com/xen-project/people/marmarek/xen/tests-artifacts/kernel:6.1.19
   script:
     - mkdir binaries && cp /bzImage binaries/bzImage
   artifacts:
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 17:58:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 17:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713020.1113995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Pq0-0000QF-Ct; Fri, 26 Apr 2024 17:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713020.1113995; Fri, 26 Apr 2024 17: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 1s0Pq0-0000Q8-93; Fri, 26 Apr 2024 17:58:20 +0000
Received: by outflank-mailman (input) for mailman id 713020;
 Fri, 26 Apr 2024 17:58:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1s0Ppy-0000Ps-BW
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 17:58:18 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1s0Ppx-0004nH-U0; Fri, 26 Apr 2024 17:58:17 +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 1s0Ppx-0008OM-O4; Fri, 26 Apr 2024 17:58:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=XDvqkA2kuA3yOzBcUmidxFcrtmWLYC3CyoGuh6qMJKA=; b=eReeut56uZvnKUmM2j4l4mVHhi
	7GPN+5SKRVgs/YRVd80/xw+onX+RWrMu3UPrp3Kk+VxMTSPmcgY67J9ssc4ZDmgn6hbdIWwBE3gXT
	t1ZuQQNReijE7nIttMO7SJsxc3Kjrq2VF/rc2UJw41Y+zO35z91PcOlgL4oL+UUkHQcI=;
Message-ID: <807e4e70-f3b2-4b40-9004-d55bd9407bbf@xen.org>
Date: Fri, 26 Apr 2024 18:58:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Content-Language: en-GB
To: Jens Wiklander <jens.wiklander@linaro.org>, xen-devel@lists.xenproject.org
Cc: patches@linaro.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: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240426084723.4149648-6-jens.wiklander@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jens,

On 26/04/2024 09:47, Jens Wiklander wrote:
> +static void notif_irq_enable(void *info)
> +{
> +    struct notif_irq_info *irq_info = info;
> +
> +    irq_info->ret = setup_irq(irq_info->irq, 0, irq_info->action);
In v2, you were using request_irq(). But now you seem to be open-coding 
it. Can you explain why?

> +    if ( irq_info->ret )
> +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n",
> +               irq_info->irq, irq_info->ret);
> +}
> +
> +void ffa_notif_init(void)
> +{
> +    const struct arm_smccc_1_2_regs arg = {
> +        .a0 = FFA_FEATURES,
> +        .a1 = FFA_FEATURE_SCHEDULE_RECV_INTR,
> +    };
> +    struct notif_irq_info irq_info = { };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int cpu;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +    if ( resp.a0 != FFA_SUCCESS_32 )
> +        return;
> +
> +    irq_info.irq = resp.a2;
> +    if ( irq_info.irq < GIC_SGI_STATIC_MAX || irq_info.irq >= NR_GIC_SGI )
> +    {
> +        printk(XENLOG_ERR "ffa: notification initialization failed: conflicting SGI %u\n",
> +               irq_info.irq);
> +        return;
> +    }
> +
> +    /*
> +     * SGIs are per-CPU so we must enable the IRQ on each CPU. We use an
> +     * IPI to call notif_irq_enable() on each CPU including the current
> +     * CPU. The struct irqaction is preallocated since we can't allocate
> +     * memory while in interrupt context.
> +     */
> +    for_each_online_cpu(cpu)
Even though we currently don't support CPU hotplug, you want to add a 
CPU Notifier to also register the IRQ when a CPU is onlined 
ffa_notif_init().

For an example, see time.c. We may also want to consider to enable TEE 
in presmp_initcalls() so we don't need to have a for_each_online_cpu().

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 18:31:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 18:31:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713051.1114008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0QLz-00086W-Po; Fri, 26 Apr 2024 18:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713051.1114008; Fri, 26 Apr 2024 18:31:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0QLz-00086P-N6; Fri, 26 Apr 2024 18:31:23 +0000
Received: by outflank-mailman (input) for mailman id 713051;
 Fri, 26 Apr 2024 18:31: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 1s0QLy-00086J-Hi
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 18:31: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 1s0QLy-0005R3-86; Fri, 26 Apr 2024 18:31: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 1s0QLy-0001kY-0g; Fri, 26 Apr 2024 18:31:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=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+kOHxXaXx6eMmWHfl/MwbalhN6nQtd6jWqgUZKe9Go=; b=guVe3JuSV7IMcC/BasNLbpLxhm
	MKmmeORd/1qhfdKMJOTDC9i3QiMAVT+7+JqBAX0rh6LBSRVyjH9xY73zSdKhv/MRX2mriEaHv5efl
	PSqYKOHlTiJ17bqRgnrWf/Rdl4dnSM6JyBauGFJPa7oBgUwFQ1CaQEGoD0P0ftr3c6A8=;
Message-ID: <8b436c60-4ca3-4323-ab45-3af72ef60f7f@xen.org>
Date: Fri, 26 Apr 2024 19:31:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Jens Wiklander <jens.wiklander@linaro.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "patches@linaro.org" <patches@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
 <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <A0908DCC-6E15-406B-8E29-F241B6EA8BE1@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 26/04/2024 10:20, Bertrand Marquis wrote:
>> +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
>> +{
>> +    /* -1 to match ffa_get_vm_id() */
>> +    return get_domain_by_id(vm_id - 1);
>> +}
>> +
> 
> I think there is a global discussion to have on using get_domain_by_vm_id
> or rcu_lock_live_remote_domain_by_id to make sure the domain is not
> dying when we try to do something with it.
> 
> It does not need to be done here as there are other places to adapt but
> i wanted to raise the question.
> 
> I would like to know what you and also other maintainers think here.
> @Julien/Michal/Stefano ?

Good question. I think the intention is get_domain_by_id() should be 
called when you need a reference for longer.

I would consider to involve the REST in this discussion.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 18:52:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 18:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713056.1114020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0QgO-0004IJ-Er; Fri, 26 Apr 2024 18:52:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713056.1114020; Fri, 26 Apr 2024 18: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 1s0QgO-0004IC-C3; Fri, 26 Apr 2024 18:52:28 +0000
Received: by outflank-mailman (input) for mailman id 713056;
 Fri, 26 Apr 2024 18:52: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=FKup=L7=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1s0QgN-0004I4-FR
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 18:52:27 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e88::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e3bef3b-03fe-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 20:52:23 +0200 (CEST)
Received: from SA1P222CA0166.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c3::10)
 by SJ2PR12MB8883.namprd12.prod.outlook.com (2603:10b6:a03:538::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 18:52:20 +0000
Received: from SA2PEPF00003AE9.namprd02.prod.outlook.com
 (2603:10b6:806:3c3:cafe::65) by SA1P222CA0166.outlook.office365.com
 (2603:10b6:806:3c3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.31 via Frontend
 Transport; Fri, 26 Apr 2024 18:52:20 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00003AE9.mail.protection.outlook.com (10.167.248.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 18:52:19 +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.35; Fri, 26 Apr
 2024 13:52:19 -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.35 via Frontend
 Transport; Fri, 26 Apr 2024 13:52: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: 1e3bef3b-03fe-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jlKxpDhWj/u60ASyPYqcaJcxELoSjAM+MKFFIiN8fYsfeK22pryt+Zsk6qXdGmnFd6lvEuqkNMXLkP+YcUrDenoiXCmqRUvE7xuCD3hEDe92o3A27JIwJhCdCE84NgsF4HMcH0fypfn9wmE84T09JzPP/sVTr/kywIO1GQfjv73KgH4HSbZAzJpFFuNPQgfX6BUwoFrewgIV4Vf1+m4g1XHWgH65ia62ffwAJeXqyeWnxF0DsbzpRmtsTDgihuN5aROb6KOsyMXQGttH7p/asmPV32tbe4V8z7ncb3DfnNBHmtKXxBj9q+IG3m+o1u4TD4W5Wf99OEgvwHdGs6mmhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bnfh6kTNBKvodPE/EuC15aadkQqwaauyRyjK4Ktf/oU=;
 b=c6XFad3iK3RDfX3HAJXRy1xk8DlEXOKInDwwdHdFkzSNYwwxcbe6PZalkYjHPoxrHGEoAJE/rAbQTjb7jTsOCEUOBM5EDS0T9h82KtDV2wmMSsC9OH3/+0L0JcEXIuvT9W4PyhA0Z0vqXM10ulBa0CZmHux1ULuSU3JOgMCGCAunzaVBgSoI6q76Pqv1yGPttD0JoE0ts2uYN2jKIdvAS92Uey1eqFYa8qydYd08PKbJhTXGqryJ++Ze/h6CQkp81Azxs4f+2zvWMA7vlpGiO8mdMdg1OC/N6QjsCj4tJeEbeLtsoUbegdo1R4zBDaQ/CLk1mCz2W3fYdJjWYKBskg==
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=Bnfh6kTNBKvodPE/EuC15aadkQqwaauyRyjK4Ktf/oU=;
 b=UO7TjTkXJ21rdyRxp7iJXfLUSBgtRAcFhVyRkeqTm42dctp5DskRWMXksR0WIX0/h5n4I9zjlm5AHTg4e5D/NN+Fz0r0nczxYyWMknaP7IoiXgp0wO25jUedpEL2Pm4FPZHbx7YUPEPNkIonxImcpOzfmi1MpO4hZA9wY7FEM+0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] xen/xsm: Wire up get_dom0_console
Date: Fri, 26 Apr 2024 00:04:32 -0400
Message-ID: <20240426040432.51910-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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: SA2PEPF00003AE9:EE_|SJ2PR12MB8883:EE_
X-MS-Office365-Filtering-Correlation-Id: e7aa0760-bae1-47fd-c6ae-08dc6622005c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?wYAzEABuOGavI1pAUIA+7sz3Y5xHgNP1oUVgrNhSFy5MAVuMZJYxugY7KECX?=
 =?us-ascii?Q?rGWoxFQAcEwyJ6qyEM2meIdX85bq4Ijj28tziiQdKFt928a9dOy8wnevHen5?=
 =?us-ascii?Q?YJfcar5rqqIIy4HixH58JvUiSUzvgwH9WJoScX7Wv05PFepiYZYlrhnbWUZT?=
 =?us-ascii?Q?wkU41qXVslUMEUsMAnxKo7QMXvExFLj6XCPQDshbwabKyaSLbfU4apxeTTw5?=
 =?us-ascii?Q?d591/K1+kt1hIVbVTDXDk6iA4XAO6C/OhtwNQOJIL9rZ2dxWFKpfk7kZk+At?=
 =?us-ascii?Q?gPMSIO/KphAkGKV1/nPQlmgiVkcfGNkSo8BBwJrxvTVOB0gpsSmhtZflmruj?=
 =?us-ascii?Q?EhcV281uH2NAJWXMGIZthlICOr05uzCDVTOzOz6lEG44+khqCGQ3cOmHtIl5?=
 =?us-ascii?Q?1DYO/VdXSM2Do54ZTKJecdqVyTsdo6E0s7RQRkWlQ6p2dyi2lwv1lDPz+AAW?=
 =?us-ascii?Q?SW8ig3Ks6VWG17DOPcR0eehffpY7hys6hQjO5Le1fOOh8qKejUFFr6igICoM?=
 =?us-ascii?Q?E0qb0o0yogPqMpoO1IGIrXTfoNix18E+Tzxok3BoQCzOBPYrWIRXVecG0Tp6?=
 =?us-ascii?Q?nTGhs03gRGdPENfGTlM3b5HmcImFEAR/apwU8zjh6o90xhC6dpIeEVD41AJp?=
 =?us-ascii?Q?j8PxAlxQoPfRVOlCDSTnjsshxUPzFAJLjSWO3swvIIZkwRxQ+9Zv8xuAKrJh?=
 =?us-ascii?Q?doUuyW8RzR09yYuS1pnzJhSeGZZqo9aRo7z/LCibKOhYpW8JBwy1l5sPKuAM?=
 =?us-ascii?Q?D4cvgxUxL0A4n9TOXb9QZrjQ7A6gW1dtU6nBFIzHVfQOpsuVbWva7AuGP9m7?=
 =?us-ascii?Q?RobN8FZEwJxYM/mG80/clm5lXR6wZ+tbWzwQpfLYUVjzF5W1OWUT7T5aReCn?=
 =?us-ascii?Q?uRsvwsqShFPKRI1udDjatea6g4VlkS7Q+ctCYnndyCLH3BRaIHBOslEhut1k?=
 =?us-ascii?Q?ff2n20sHfL7QaDQ5U3lbmIAlbcvjkeQfa3l8BgCccKbfb+5xM1Dykn06qvJ8?=
 =?us-ascii?Q?zJFfw05CZwJe+VW0LizjcEt0qfPO4srL3WNc5I8x2Pf8ppGH4WSKQCCogJS7?=
 =?us-ascii?Q?b/Y3QSbAbQrsxdYGTj9ibx6Kwi6b8DpTDfcn17dbiTg8aX6t8qRSiBS5CGkE?=
 =?us-ascii?Q?zpqRVfBXShLhKgGf7t/xJZUSWGsrdiiqAx5wGoZkX8AnpOyRR5EGdngBcK4x?=
 =?us-ascii?Q?IHPsXnf5Y3hJn49Zlk8MG7FhIZQZUF1ZCvYIKpWJ0aL4/rxvkBrsbPBP6QnC?=
 =?us-ascii?Q?ITqmHilDOFkEW/HI9HAXKd+BLwxlLOuhfjoxGogz4bBwVQciTOCxdhclHWiv?=
 =?us-ascii?Q?f0ijJlJHpTKK5VsQVjSxN3CUJzbtM576L/c5kuC6MYokQvib4A7SKGl5H+xW?=
 =?us-ascii?Q?AQF2U9PuEyrLZpKls2mHzQH0akc8?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 18:52:19.9831
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e7aa0760-bae1-47fd-c6ae-08dc6622005c
X-MS-Exchange-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:
	SA2PEPF00003AE9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8883

An XSM hook for get_dom0_console is currently missing.  Using XSM with
a PVH dom0 shows:
(XEN) FLASK: Denying unknown platform_op: 64.

Wire up the hook, and allow it for dom0.

Fixes: 4dd160583c ("x86/platform: introduce hypercall to get initial video console settings")
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 tools/flask/policy/modules/dom0.te  | 2 +-
 xen/xsm/flask/hooks.c               | 4 ++++
 xen/xsm/flask/policy/access_vectors | 2 ++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/flask/policy/modules/dom0.te b/tools/flask/policy/modules/dom0.te
index f1dcff48e2..16b8c9646d 100644
--- a/tools/flask/policy/modules/dom0.te
+++ b/tools/flask/policy/modules/dom0.te
@@ -16,7 +16,7 @@ allow dom0_t xen_t:xen {
 allow dom0_t xen_t:xen2 {
 	resource_op psr_cmt_op psr_alloc pmu_ctrl get_symbol
 	get_cpu_levelling_caps get_cpu_featureset livepatch_op
-	coverage_op
+	coverage_op get_dom0_console
 };
 
 # Allow dom0 to use all XENVER_ subops that have checks.
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 78225f68c1..5e88c71b8e 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1558,6 +1558,10 @@ static int cf_check flask_platform_op(uint32_t op)
         return avc_has_perm(domain_sid(current->domain), SECINITSID_XEN,
                             SECCLASS_XEN2, XEN2__GET_SYMBOL, NULL);
 
+    case XENPF_get_dom0_console:
+        return avc_has_perm(domain_sid(current->domain), SECINITSID_XEN,
+                            SECCLASS_XEN2, XEN2__GET_DOM0_CONSOLE, NULL);
+
     default:
         return avc_unknown_permission("platform_op", op);
     }
diff --git a/xen/xsm/flask/policy/access_vectors b/xen/xsm/flask/policy/access_vectors
index 4e6710a63e..a35e3d4c51 100644
--- a/xen/xsm/flask/policy/access_vectors
+++ b/xen/xsm/flask/policy/access_vectors
@@ -99,6 +99,8 @@ class xen2
     livepatch_op
 # XEN_SYSCTL_coverage_op
     coverage_op
+# XENPF_get_dom0_console
+    get_dom0_console
 }
 
 # Classes domain and domain2 consist of operations that a domain performs on
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 18:55:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 18:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713059.1114031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Qj7-0005Zp-Rp; Fri, 26 Apr 2024 18:55:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713059.1114031; Fri, 26 Apr 2024 18: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 1s0Qj7-0005Zi-Or; Fri, 26 Apr 2024 18:55:17 +0000
Received: by outflank-mailman (input) for mailman id 713059;
 Fri, 26 Apr 2024 18: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=FKup=L7=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1s0Qj7-0005Za-3I
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 18:55:17 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2407::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83c9b805-03fe-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 20:55:15 +0200 (CEST)
Received: from BN0PR02CA0013.namprd02.prod.outlook.com (2603:10b6:408:e4::18)
 by SJ1PR12MB6124.namprd12.prod.outlook.com (2603:10b6:a03:459::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 26 Apr
 2024 18:55:10 +0000
Received: from BN1PEPF00004688.namprd05.prod.outlook.com
 (2603:10b6:408:e4:cafe::64) by BN0PR02CA0013.outlook.office365.com
 (2603:10b6:408:e4::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.29 via Frontend
 Transport; Fri, 26 Apr 2024 18:55:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00004688.mail.protection.outlook.com (10.167.243.133) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7519.19 via Frontend Transport; Fri, 26 Apr 2024 18:55:08 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 26 Apr
 2024 13:55:08 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 26 Apr
 2024 11:55:07 -0700
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.35 via Frontend
 Transport; Fri, 26 Apr 2024 13:55: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: 83c9b805-03fe-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kHtMGRB8L9LtTXkIEP3clluLnXyYPqSqNAzqLR6f1GGfneDC7+yQxaXg6Mh/Iv2BboaBnPO3d9P+7O/woIoC9VAGJbTVPp27fbsVNBt4ISFcml5X3QTSo0d6xYKrUdc/8jZo1DLLbzBXMoMUfbimM4V0jF6Rw4PqNZYf03Z9zGvFomEBVk8tCKIplPNlgiynrTZz0GX0pQ9yWHLdaVj4dYJMwqJeIU1eLpisZ36/2dEKSpBcclvb7f2HyreuGMuQi0WFvjEp63itVV5vGUajVxFMCigvymlPRYT422TQRXnpLUxoPg+drMf9GYOqmWg9nMmIZYBJVZsob7q4req+bQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+xRYTy8jRKTfWnehr4ShnCN0JVJhIZe/kzc3UMDV5SY=;
 b=hk8yzOCu2L0v28d3lBgOLdCUrBzf8czor4EsIBZUrSg7P3rWXfKMIabmXERqA94Xwz0vGShMitUaaMyiKrFrY6n/MsCIURtDav4JHBUQtVKJ8co0Fnr/CT9bojsxp82A4DnD1P8FH5Yu8wtv5vpIEkjQQaxjMjwXPOvs6GMu2T4d67DF5BGwv+gM6pCA6+fy9mxo/gIprq9pk0PT19DInZo55y/nkWHwSAwRjPMk4EezglxiSP65IrHGfPkFliyAf6vHVQm6jrWVFa+mLOTu8fWEA2zbEElhf0P9FJeBVqCqExv5AYGERCIHnZaTc7va6c3q/KygPce7x+nZORM5eg==
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=+xRYTy8jRKTfWnehr4ShnCN0JVJhIZe/kzc3UMDV5SY=;
 b=mLjyGUMn5DfgccrDRuWpJIUulhczruF3Nlo1N9QYZXWZqnbp3SfmzVsOPIXFy4bPLYOXHqjSTWE71G0IFF0vBMfGRhfn/yckry4qtWib7Z3GoB38Uvu24zl4lzXAooPM+VgRiJ7VBlqUxpXWWPDeGTR1KYl454hfq1gZ3E9K40o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <xen-devel@lists.xenproject.org>
CC: Jason Andryuk <jason.andryuk@amd.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/x86: Fix Syntax warning in gen-cpuid.py
Date: Fri, 26 Apr 2024 00:07:16 -0400
Message-ID: <20240426040716.52126-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004688:EE_|SJ1PR12MB6124:EE_
X-MS-Office365-Filtering-Correlation-Id: b2e2df2e-3de9-482b-9db3-08dc66226507
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?9a+pmTLtN9cWtpAaam26fo9Wn85x1LIXYiD9QMkWy1mpiHpbe9yRDMUAiC4b?=
 =?us-ascii?Q?6fnZ3fFCeLFvYKy39h4H7Yq6jsnG9heV6tKoQ5synMAbjTWI/2k1wbmLmszm?=
 =?us-ascii?Q?i+pCNkg1DGjxQy5An791d1Y5XMTIwGKzq4SkgDMvdECEvQpFHbFucMP1Otrk?=
 =?us-ascii?Q?TBJIURJhRju9poS5EzfMPfjptcasnrgdew3PC6G3J7AmKaTio2tNdNoqaegI?=
 =?us-ascii?Q?t5QvA1zeIXdgp5Xe1qrrrsT7RWQRZ814tMIUuyoEFeXVrlpeP/BuPYNrH3o0?=
 =?us-ascii?Q?4AZx8n1gEezQ/qOxwv0rHpmUCZq3OekhHticRoumpBtcv5NtdYIDgsNlEKkc?=
 =?us-ascii?Q?ol2I8Ss1VEfs66RF4a8KyrAihwS6wb/fPphXEN7pOBW0J0TMSq2w+Kdj1JXw?=
 =?us-ascii?Q?7Yo3/tCvLI5AYN4URF9fzWpiYGjbJJ3E/CCfuWATuDtVGwR9iFr1oWUFzG3m?=
 =?us-ascii?Q?8xM789hHtGeoy0FvVKiF1w3TTlprzolz31t9zPwO+OJMfxs9RtULNl8dPUYu?=
 =?us-ascii?Q?7bfh22CZrPd0Swns0fBY9aj6z7GuwAYBAnRc9j0/fbyA8mnc9rOSpHkymSxD?=
 =?us-ascii?Q?dk9IpHR3Wt4kSU3yIwC0OZxPvb1jR3GKQGwZM/gBJM4rlb2Om0vgzZVNLnXB?=
 =?us-ascii?Q?TbQ9/00yT4Jx3Gt4l7Vg2rTOuguuAeO/aaQJ72D2NtDsgp7TmhUy2UPzNxYc?=
 =?us-ascii?Q?nEqc5U6oevCuAhCKQd71EGWIoDKBqtov6CkA4tnIAJjdeS5nMesaV3xF0OH0?=
 =?us-ascii?Q?GryAuOAjxNm4QxtJ1L7SWF3UGqTNju3bYSLPa3qvL2hBJ+JkglTnN/1Kp3JD?=
 =?us-ascii?Q?LjEF7amE3/T1J6Yr0Nw0zH0g5vM1HJ9qWWl/ksbUEmL6JSlwNPmRQCiLVfjT?=
 =?us-ascii?Q?dNUCjR/C6dxyeYdgBwgYiw475mPogSIBMV/8QTmoQ3c2QW39WB1Ab8sKePMp?=
 =?us-ascii?Q?exD9uopdhT+KIIuSHIHKCUioZN5TLBPepZGeKi8ApDOyhXyg07LBbBjIIyk2?=
 =?us-ascii?Q?OLJ4YLKolzGH3HgvaUDafkF1QJ3imXcE6wEGeD2OQQCIj3YJItco3MtMRRpj?=
 =?us-ascii?Q?D1V+PqcgasHNdPpB9afR/2p+xdSNQrIlfUsMcHRwBVap1Mg8a67rjg/pM7Lx?=
 =?us-ascii?Q?Lw5Pec/YL4nHlpvABHew+TIO+yx5Z+nRDJFKRXSxnMZAnR9L6lYv3me/72Q0?=
 =?us-ascii?Q?4IzhgI9QBhXbQ0+ztRAiOzSZ7oUMsyrBTHWYNBiXNn4TdpjtdGO9Mr6YE6dk?=
 =?us-ascii?Q?Vi/us8ZjyBgKMkGx0bkKs2W1EOS+JnvOraIxBJEm2SwV0grhTSMxnkL8qOsb?=
 =?us-ascii?Q?NXfX6RI5p/qJ1RQXgnO/+/gBbUgkUwYFWWUOAGyrJ+e2rbxNvPBUsHEmJwbs?=
 =?us-ascii?Q?tKQnnez2gjotXenciq5WT+1w9dRN?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(82310400014)(36860700004)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 18:55:08.7811
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b2e2df2e-3de9-482b-9db3-08dc66226507
X-MS-Exchange-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:
	BN1PEPF00004688.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6124

Python 3.12.2 warns:

xen/tools/gen-cpuid.py:50: SyntaxWarning: invalid escape sequence '\s'
  "\s+([\s\d]+\*[\s\d]+\+[\s\d]+)\)"
xen/tools/gen-cpuid.py:51: SyntaxWarning: invalid escape sequence '\s'
  "\s+/\*([\w!]*) .*$")

Specify the strings as raw strings so '\s' is read as literal '\' + 's'.
This avoids escaping all the '\'s in the strings.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
 xen/tools/gen-cpuid.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index bf3f9ec01e..dadeb33080 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -47,8 +47,8 @@ def parse_definitions(state):
     """
     feat_regex = re.compile(
         r"^XEN_CPUFEATURE\(([A-Z0-9_]+),"
-        "\s+([\s\d]+\*[\s\d]+\+[\s\d]+)\)"
-        "\s+/\*([\w!]*) .*$")
+        r"\s+([\s\d]+\*[\s\d]+\+[\s\d]+)\)"
+        r"\s+/\*([\w!]*) .*$")
 
     word_regex = re.compile(
         r"^/\* .* word (\d*) \*/$")
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 18:55:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 18:55:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713060.1114041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0QjI-0005uJ-7s; Fri, 26 Apr 2024 18:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713060.1114041; Fri, 26 Apr 2024 18: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 1s0QjI-0005uC-33; Fri, 26 Apr 2024 18:55:28 +0000
Received: by outflank-mailman (input) for mailman id 713060;
 Fri, 26 Apr 2024 18:55: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 1s0QjH-0005sc-3l; Fri, 26 Apr 2024 18:55: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 1s0QjG-0005oB-Va; Fri, 26 Apr 2024 18:55: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 1s0QjG-0002G7-I3; Fri, 26 Apr 2024 18:55:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0QjG-0005zd-HV; Fri, 26 Apr 2024 18:55: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=dwH1mrrHN3V2j4PCEjgKioCNHrAfhrPBMIPGBwWug+8=; b=FaJf0Y+y28NbFsyh6C64CR+h6Q
	aU0ViAHI+SrQS7e0TDC5AE2xWDSHwVNvtftAF+2JkCcVgd+Mc/TLfKjKdoK7EYUfvVUPvzwmUszKp
	aCAwOv1UlLPkeY0TbUhuBIsggvfb4cwFbDo8JexgUeDuA8Ffuist+0EfBr2ilAmekVP4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185806-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185806: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-raw:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-livepatch:livepatch-run:fail:regression
    xen-unstable:test-armhf-armhf-xl-raw:debian-di-install:fail:regression
    xen-unstable:test-armhf-armhf-xl-raw:host-install(5):broken:heisenbug
    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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
X-Osstest-Versions-That:
    xen=31d6b5b4a7c84818294dacca7a07e92f52393c9d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 18:55:26 +0000

flight 185806 xen-unstable real [real]
flight 185821 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185806/
http://logs.test-lab.xenproject.org/osstest/logs/185821/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-raw         <job status>                 broken  in 185821
 test-amd64-amd64-livepatch   13 livepatch-run            fail REGR. vs. 185794
 test-armhf-armhf-xl-raw      12 debian-di-install        fail REGR. vs. 185794

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw      5 host-install(5) broken in 185821 pass in 185806
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 185821-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185794
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185794
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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                  232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
baseline version:
 xen                  31d6b5b4a7c84818294dacca7a07e92f52393c9d

Last test of basis   185794  2024-04-25 05:57:18 Z    1 days
Failing since        185800  2024-04-25 20:10:40 Z    0 days    2 attempts
Testing same since   185806  2024-04-26 06:40:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Edwin Török <edwin.torok@cloud.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Petr Beneš <w1benny@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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                                   fail    
 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

broken-job test-armhf-armhf-xl-raw broken

Not pushing.

(No revision log; it would be 443 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 19:07:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 19:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713077.1114057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0QuX-0000Zc-6b; Fri, 26 Apr 2024 19:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713077.1114057; Fri, 26 Apr 2024 19: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 1s0QuX-0000ZV-3d; Fri, 26 Apr 2024 19:07:05 +0000
Received: by outflank-mailman (input) for mailman id 713077;
 Fri, 26 Apr 2024 19:07:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1s0QuW-0000ZP-1n
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 19:07:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1s0QuV-00063W-JN; Fri, 26 Apr 2024 19:07: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 1s0QuV-00047S-9P; Fri, 26 Apr 2024 19:07: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=Zhr+bC1rBOPH/0vi7Hy2RY+K0QXyy4CL6/oBUsg6k4o=; b=v7KzhvYCTVsWkGJoXR1UlCvR/P
	UMj4cQKuBe3N8+tr1UTk0jArpOZAl4JZTny9ZNjSZ2FrmBLvBpZEGAnHT/sqpcwphBJMXR4QrzIu1
	+2k3b3qfUO3Yzk/F6+S6Wlkv9/lKXj4A/ShGJoM/AKnBOErOT003h9WB7MbvMQAVjRh8=;
Message-ID: <c7a672a7-02f8-4d24-b87e-1b8439d7eb4c@xen.org>
Date: Fri, 26 Apr 2024 20:07:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Content-Language: en-GB
To: Jens Wiklander <jens.wiklander@linaro.org>, xen-devel@lists.xenproject.org
Cc: patches@linaro.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: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240426084723.4149648-6-jens.wiklander@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jens,

On 26/04/2024 09:47, Jens Wiklander wrote:
> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> index d7306aa64d50..5224898265a5 100644
> --- a/xen/arch/arm/irq.c
> +++ b/xen/arch/arm/irq.c
> @@ -155,7 +155,7 @@ void __init init_IRQ(void)
>       {
>           /* SGIs are always edge-triggered */
>           if ( irq < NR_GIC_SGI )
> -            local_irqs_type[irq] = DT_IRQ_TYPE_EDGE_RISING;
> +            local_irqs_type[irq] = IRQ_TYPE_EDGE_RISING;

This changes seems unrelated to this patch. This wants to be separate 
(if you actually intended to change it).

>           else
>               local_irqs_type[irq] = IRQ_TYPE_INVALID;
>       }
> diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> index f0112a2f922d..7c0f46f7f446 100644
> --- a/xen/arch/arm/tee/Makefile
> +++ b/xen/arch/arm/tee/Makefile
> @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) += ffa.o
>   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-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 5209612963e1..912e905a27bd 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -39,6 +39,9 @@
>    *   - at most 32 shared memory regions per guest
>    * o FFA_MSG_SEND_DIRECT_REQ:
>    *   - only supported from a VM to an SP
> + * o FFA_NOTIFICATION_*:
> + *   - only supports global notifications, that is, per vCPU notifications
> + *     are not supported
>    *
>    * There are some large locked sections with ffa_tx_buffer_lock and
>    * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
> @@ -194,6 +197,8 @@ out:
>   
>   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;
>   
> @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *regs)
>           BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
>           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);
> +        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);
> +        break;
> +
> +    case FFA_NOTIFICATION_BIND:
> +    case FFA_NOTIFICATION_UNBIND:
> +    case FFA_NOTIFICATION_GET:
> +    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);
> +        break;
>       default:
>           ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>           break;
> @@ -305,6 +334,22 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
>                                                        get_user_reg(regs, 1)),
>                                      get_user_reg(regs, 3));
>           break;
> +    case FFA_NOTIFICATION_BIND:
> +        e = ffa_handle_notification_bind(regs);
> +        break;
> +    case FFA_NOTIFICATION_UNBIND:
> +        e = ffa_handle_notification_unbind(regs);
> +        break;
> +    case FFA_NOTIFICATION_INFO_GET_32:
> +    case FFA_NOTIFICATION_INFO_GET_64:
> +        ffa_handle_notification_info_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_GET:
> +        ffa_handle_notification_get(regs);
> +        return true;
> +    case FFA_NOTIFICATION_SET:
> +        e = ffa_handle_notification_set(regs);
> +        break;
>   
>       default:
>           gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -322,6 +367,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
>   static int ffa_domain_init(struct domain *d)
>   {
>       struct ffa_ctx *ctx;
> +    int ret;
>   
>       if ( !ffa_version )
>           return -ENODEV;
> @@ -345,10 +391,11 @@ static int ffa_domain_init(struct domain *d)
>        * error, so no need for cleanup in this function.
>        */
>   
> -    if ( !ffa_partinfo_domain_init(d) )
> -        return -EIO;
> +    ret = ffa_partinfo_domain_init(d);
> +    if ( ret )
> +        return ret;
>   
> -    return 0;
> +    return ffa_notif_domain_init(d);
>   }
>   
>   static void ffa_domain_teardown_continue(struct ffa_ctx *ctx, bool first_time)
> @@ -423,6 +470,7 @@ static int ffa_domain_teardown(struct domain *d)
>           return 0;
>   
>       ffa_rxtx_domain_destroy(d);
> +    ffa_notif_domain_destroy(d);
>   
>       ffa_domain_teardown_continue(ctx, true /* first_time */);
>   
> @@ -502,6 +550,7 @@ static bool ffa_probe(void)
>       if ( !ffa_partinfo_init() )
>           goto err_rxtx_destroy;
>   
> +    ffa_notif_init();
>       INIT_LIST_HEAD(&ffa_teardown_head);
>       init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
>   
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> new file mode 100644
> index 000000000000..6bb0804ee2f8
> --- /dev/null
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -0,0 +1,378 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Copyright (C) 2024  Linaro Limited
> + */
> +
> +#include <xen/const.h>
> +#include <xen/list.h>
> +#include <xen/spinlock.h>
> +#include <xen/types.h>
> +
> +#include <asm/smccc.h>
> +#include <asm/regs.h>
> +
> +#include "ffa_private.h"
> +
> +static bool __ro_after_init notif_enabled;
> +
> +int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> +{
> +    struct domain *d = current->domain;
> +    uint32_t src_dst = get_user_reg(regs, 1);
> +    uint32_t flags = get_user_reg(regs, 2);
> +    uint32_t bitmap_lo = get_user_reg(regs, 3);
> +    uint32_t bitmap_hi = get_user_reg(regs, 4);
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    if ( flags )    /* Only global notifications are supported */
> +        return FFA_RET_DENIED;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the sender
> +     * endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_hi,
> +                           bitmap_lo);
> +}
> +
> +int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> +{
> +    struct domain *d = current->domain;
> +    uint32_t src_dst = get_user_reg(regs, 1);
> +    uint32_t bitmap_lo = get_user_reg(regs, 3);
> +    uint32_t bitmap_hi = get_user_reg(regs, 4);
> +
> +    if ( !notif_enabled )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    if ( (src_dst & 0xFFFFU) != ffa_get_vm_id(d) )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /*
> +     * We only support notifications from SP so no need to check the
> +     * destination endpoint ID, the SPMC will take care of that for us.
> +     */
> +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_hi,
> +                            bitmap_lo);
> +}
> +
> +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> +{
> +    struct domain *d = current->domain;
> +    struct ffa_ctx *ctx = d->arch.tee;
> +    bool pending_global;
> +
> +    if ( !notif_enabled )
> +    {
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> +        return;
> +    }
> +
> +    spin_lock(&ctx->notif.lock);
> +    pending_global = ctx->notif.secure_pending;
> +    ctx->notif.secure_pending = false;
> +    spin_unlock(&ctx->notif.lock);
> +
> +    if ( pending_global )
> +    {
> +        /* A pending global notification for the guest */
> +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_vm_id(d),
> +                     0, 0, 0, 0);
> +    }
> +    else
> +    {
> +        /* Report an error if there where no pending global notification */
> +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> +    }
> +}
> +static void notif_irq_handler(int irq, void *data)
> +{
> +    const struct arm_smccc_1_2_regs arg = {
> +        .a0 = FFA_NOTIFICATION_INFO_GET_64,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +    unsigned int id_pos;
> +    unsigned int list_count;
> +    uint64_t ids_count;
> +    unsigned int n;
> +    int32_t res;
> +
> +    do {
> +        arm_smccc_1_2_smc(&arg, &resp);
> +        res = ffa_get_ret_code(&resp);
> +        if ( res )
> +        {
> +            if ( res != FFA_RET_NO_DATA )
> +                printk(XENLOG_ERR "ffa: notification info get failed: error %d\n",
> +                       res);
> +            return;
> +        }
> +
> +        ids_count = resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> +        list_count = ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT ) &
> +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> +
> +        id_pos = 0;
> +        for ( n = 0; n < list_count; n++ )
> +        {
> +            unsigned int count = ((ids_count >> 2 * n) & 0x3) + 1;
> +            struct domain *d;
> +
> +            d = ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_pos));

Thinking a bit more about the question from Bertrand about 
get_domain_id() vs rcu_lock_domain_by_id(). I am actually not sure 
whether either are ok here.

If I am not mistaken, d->arch.tee will be freed as part of the domain 
teardown process. This means you can have the following scenario:

CPU0: ffa_get_domain_by_vm_id() (return the domain as it is alive)

CPU1: call domain_kill()
CPU1: teardown is called, free d->arch.tee (the pointer is not set to NULL)

d->arch.tee is now a dangling pointer

CPU0: access d->arch.tee

This implies you may need to gain a global lock (I don't have a better 
idea so far) to protect the IRQ handler against domains teardown.

Did I miss anything?

> +
> +            if ( d )
> +            {
> +                struct ffa_ctx *ctx = d->arch.tee;
> +
> +                spin_lock(&ctx->notif.lock);
> +                ctx->notif.secure_pending = true;
> +                spin_unlock(&ctx->notif.lock);


AFAICT, the spinlock is used with IRQ enabled (see 
ffa_handle_notification_info_get()) but also in an IRQ handler. So to 
prevent deadlock, you will want to use spin_lock_irq* helpers.

That said, I don't think you need a spin_lock(). You could use atomic 
operations instead. For the first hunk, you could use 
test_and_clear_bool(). E.g.:

if ( test_and_clear_bool(ctx.notif.secure_pending) )

For the second part, it might be fine to use ACCESS_ONCE().

> +
> +                /*
> +                 * Since we're only delivering global notification, always
> +                 * deliver to the first vCPU. It doesn't matter which we
> +                 * chose, as long as it's available.

What if vCPU0 is offlined?

> +                 */
> +                vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INTR_ID,
> +                                true);
> +
> +                put_domain(d);
> +            }
> +
> +            id_pos += count;
> +        }
> +
> +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
> +}

[..]

> +struct ffa_ctx_notif {
> +    bool enabled;
> +
> +    /* Used to serialize access to the rest of this struct */
> +    spinlock_t lock;

Regardless what I wrote above, I can't seem to find a call to 
spin_lock_init(). You will want it to initialize.

Also, it would be best if we keep the two booleans close to each other 
so we limit the amount of padding in the structure.

> +
> +    /*
> +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> +     * pending global notifications.
> +     */
> +    bool secure_pending;
> +};
>   
>   struct ffa_ctx {
>       void *rx;
> @@ -228,6 +265,7 @@ struct ffa_ctx {
>       struct list_head shm_list;
>       /* Number of allocated shared memory object */
>       unsigned int shm_count;
> +    struct ffa_ctx_notif notif;
>       /*
>        * tx_lock is used to serialize access to tx
>        * rx_lock is used to serialize access to rx
> @@ -257,7 +295,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs);
>   int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
>   
>   bool ffa_partinfo_init(void);
> -bool ffa_partinfo_domain_init(struct domain *d);
> +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,
> @@ -271,12 +309,28 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
>   uint32_t ffa_handle_rxtx_unmap(void);
>   int32_t ffa_handle_rx_release(void);
>   
> +void ffa_notif_init(void);
> +int ffa_notif_domain_init(struct domain *d);
> +void ffa_notif_domain_destroy(struct domain *d);
> +
> +int ffa_handle_notification_bind(struct cpu_user_regs *regs);
> +int ffa_handle_notification_unbind(struct cpu_user_regs *regs);
> +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);
> +
>   static inline uint16_t ffa_get_vm_id(const struct domain *d)
>   {
>       /* +1 since 0 is reserved for the hypervisor in FF-A */
>       return d->domain_id + 1;
>   }
>   
> +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
> +{

Is this expected to be called with vm_id == 0? If not, then I would 
consider to add an ASSERT(vm_id != 0). If yes, then I please add a 
runtime check and return NULL.

> +    /* -1 to match ffa_get_vm_id() */
> +    return get_domain_by_id(vm_id - 1);
> +}
> +
>   static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t v0,
>                                   register_t v1, register_t v2, register_t v3,
>                                   register_t v4, register_t v5, register_t v6,

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 19:07:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 19:07:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713078.1114067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Quq-0000uN-Gv; Fri, 26 Apr 2024 19:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713078.1114067; Fri, 26 Apr 2024 19:07:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Quq-0000uG-EG; Fri, 26 Apr 2024 19:07:24 +0000
Received: by outflank-mailman (input) for mailman id 713078;
 Fri, 26 Apr 2024 19:07:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LIFE=L7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s0Qup-0000tj-6a
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 19:07:23 +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 355ec681-0400-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 21:07:21 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-34b64b7728cso1981129f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 12:07:21 -0700 (PDT)
Received: from [192.168.1.10] (host-92-29-231-118.as13285.net. [92.29.231.118])
 by smtp.gmail.com with ESMTPSA id
 y7-20020a5d6207000000b00346f9071405sm23035799wru.21.2024.04.26.12.07.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 26 Apr 2024 12:07: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: 355ec681-0400-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714158441; x=1714763241; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=stNgvLr/ix8cWZ6LEfp9OdTkKt2zUlrkE0YoiPl0Tno=;
        b=Ojb9+b3+EEQVi3bHxP9nJ/rLmH1mm3nJuAPXL1+HV5uo0JO9XZ2aW9WsB0bmhDZvUV
         l3qJ2xl8ZAC3ZZt1goJNgEDkwzOiBviCd7Im6rdyTqOSNLztqYuoneS2vzeJs1yKj7rk
         y8BL94aSWvQdEo3WRVxGZM9oq2/Xwl9WM32xk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714158441; x=1714763241;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=stNgvLr/ix8cWZ6LEfp9OdTkKt2zUlrkE0YoiPl0Tno=;
        b=u8qhVdnlvGfky1e7OnuL6yhX+MstUD59JJuKRsQR5JpkgB5kY4RUfQ4STp1H+ofSEl
         pqhm/FA3vfkqSFO2DUChrhUZWyrg12qsw07vHP3L7QUjGz//PDsjhdNfD1vZryJWKQJY
         HuvYi7xB1KRDY07IZMAPmVPKXbKlmrE1rXghHQZNf5L0ialZ6s0JqIxV6rs6OLMTbOeb
         xYO1yZjeh41oGRHebHIcUTV9gL2aSYUltHIPfLZHl20dAl+V4kMdTvcQLSAs2SUq6Sq6
         FMc9Z52+HNQtvLlnWy+GmoI4aURs7x7PGXVZ4y7rM3+7ckcGach0cEQSEZYZi6VTV/7C
         VlPw==
X-Forwarded-Encrypted: i=1; AJvYcCU9mIoKqTFWTrIGxSabyaI6D9KVw0Stgtr3sEmVBsERkyks44qTr/Q61oyRE+4jAkfiDQrgnetKa0M8vbgudlifupvUVWrGcBytxyqbI3A=
X-Gm-Message-State: AOJu0YywY9GccCV8SwROtCp89oWZP3XVm9wEuAt7CioKLV3PXrJgkgAh
	ARVoE8vPI+LPY/ZZgXeb/vwDUIBNiMpLR9HI5XOj5c+K/S3/SV6y6EpPvVjLoaU=
X-Google-Smtp-Source: AGHT+IEuZnd9Kd/zw19pOa/L0A5nbA7VQqhXe4I717NEBld5QPzHIaJmhW3WdgqM/cQfPc/jPLfHhQ==
X-Received: by 2002:a5d:45cf:0:b0:347:3419:333f with SMTP id b15-20020a5d45cf000000b003473419333fmr2462457wrs.33.1714158440963;
        Fri, 26 Apr 2024 12:07:20 -0700 (PDT)
Message-ID: <31022a35-685b-429f-b544-7ea221903ed1@citrix.com>
Date: Fri, 26 Apr 2024 20:07:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: Fix Syntax warning in gen-cpuid.py
To: Jason Andryuk <jason.andryuk@amd.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: <20240426040716.52126-1-jason.andryuk@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: <20240426040716.52126-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/04/2024 5:07 am, Jason Andryuk wrote:
> Python 3.12.2 warns:
>
> xen/tools/gen-cpuid.py:50: SyntaxWarning: invalid escape sequence '\s'
>   "\s+([\s\d]+\*[\s\d]+\+[\s\d]+)\)"
> xen/tools/gen-cpuid.py:51: SyntaxWarning: invalid escape sequence '\s'
>   "\s+/\*([\w!]*) .*$")
>
> Specify the strings as raw strings so '\s' is read as literal '\' + 's'.
> This avoids escaping all the '\'s in the strings.
>
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

That's something I didn't know about how python does string
concatenation.  I was expecting the whole string to be considered raw,
not just the first line.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I'll rebase my pending change altering the regex over this.


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 19:14:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 19:14:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713087.1114077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0R1E-0002lv-63; Fri, 26 Apr 2024 19:14:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713087.1114077; Fri, 26 Apr 2024 19:14:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0R1E-0002lo-2Z; Fri, 26 Apr 2024 19:14:00 +0000
Received: by outflank-mailman (input) for mailman id 713087;
 Fri, 26 Apr 2024 19:13:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0R1C-0002li-Ly
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 19:13:58 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d20ff68-0401-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 21:13:55 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 3B6BDCE1B30;
 Fri, 26 Apr 2024 19:13:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E54EC113CD;
 Fri, 26 Apr 2024 19:13: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: 1d20ff68-0401-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714158825;
	bh=CRLeO6zxjZqpAiQtpFHgT+LydW5XD3RG7MvygP9KyiU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ot72C4819KADdV9kDFd1AIkF9zccq+5/rl9grfMSTgrqkbMo2/p6dHPfwFva3+9UI
	 mTMe40u7wgPi1qViBBlQo8zdb87bsNCYnZBgiQzgTcww6dWhywqMML8qZsl2bkjVcM
	 HAq1mTbsPTopxKQVFKE/0bjjz0azf2cfbKSvsEdFDkc69eBtbo+b2GJENoKURLGH5R
	 URakt9CsmphKfuxcv2YPOCudiUcFTUuDa4Ew1HilGZ1Gc6dRCTrVr7tH2H6Ja3Noll
	 KVK3bDxxLwflFPGCR6Ad44X4IAqtLa1VpNcynsJl0sgx5KpzPmGcSCRxsj8OLs28hV
	 BN9scdTa2kNNg==
Date: Fri, 26 Apr 2024 12:13:42 -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>, 
    xen-devel@lists.xenproject.org, julien@xen.org, bertrand.marquis@arm.com, 
    michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    andrew.cooper3@citrix.com, edgar.iglesias@amd.com, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: Re: [PATCH v2 1/1] xen/arm64: entry: Add missing code symbol
 annotations
In-Reply-To: <012320e9-c63a-450f-8e91-ebe13352e6d7@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404261213300.3940@ubuntu-linux-20-04-desktop>
References: <20240415231541.4140052-1-edgar.iglesias@gmail.com> <20240415231541.4140052-2-edgar.iglesias@gmail.com> <alpine.DEB.2.22.394.2404251608320.3940@ubuntu-linux-20-04-desktop> <012320e9-c63a-450f-8e91-ebe13352e6d7@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, 26 Apr 2024, Jan Beulich wrote:
> On 26.04.2024 01:13, Stefano Stabellini wrote:
> > On Tue, 16 Apr 2024, Edgar E. Iglesias wrote:
> >> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> >>
> >> Use the generic xen/linkage.h macros when and add missing
> >                                         ^ when what?
> > 
> >> code symbol annotations.
> >>
> >> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > 
> > I am looking at the implementation of FUNC and as far as I can tell
> > there is no change compared to ENTRY. So from that point of view we are
> > good. I wonder if we should keep using "ENTRY" because it is nice to
> > mark explicitely the entry points as such but at the same time I am also
> > OK with this. I'll let the other ARM maintainers decide.
> 
> Just to mention it: ENTRY should go away (and hence why PPC and RISC-V had
> it dropped already, while x86 has patches pending to reduce its scope
> enough), not the least to finally allow the oddity near the top of xen.lds.S
> to go away.

I didn't realize that. OK, understood.


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 19:21:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 19:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713092.1114086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0R8g-00058u-Sc; Fri, 26 Apr 2024 19:21:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713092.1114086; Fri, 26 Apr 2024 19:21:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0R8g-00058n-Q6; Fri, 26 Apr 2024 19:21:42 +0000
Received: by outflank-mailman (input) for mailman id 713092;
 Fri, 26 Apr 2024 19:21: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=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0R8f-00058h-Rj
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 19:21:41 +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 350277b4-0402-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 21:21: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 2411C620EE;
 Fri, 26 Apr 2024 19:21:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E1633C113CD;
 Fri, 26 Apr 2024 19:21: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: 350277b4-0402-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714159298;
	bh=VqLCpPzlI0h2+O+230fZNRrN1S8tC+Uqh5GY+3OPLjE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pqPVtrmpdaQzqH7BhDByjIL0lprDidxg9IDb802HPBZv0LNrAGkYFpLGYAYXkl6lT
	 BQXTZDESLMeD8sqDK9awsPDMwWYd//KDBy+MncNoDu2DI4SJ6ChkNKh74MQX+0M/+b
	 9NFsW6x2TPKZqzu1dk8hfY3gO3qGHr8x41AdPXta/jd1kod7u6DfuwggKGDbTeb/mk
	 X1Zwah+JhGeqEaD/2A+X10vOeRxCWebpwSwDAviH8MiBKnHNYKJXvvnA2Gj2sq0nA1
	 tLKrK6TiAX7qEb2ZojKuDWdGsPxEuxgb20JOPdemB0ayrsqVDnFfgEAxnCxrnKjWcA
	 +b/2uKQhfbaDA==
Date: Fri, 26 Apr 2024 12:21:36 -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>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    "consulting@bugseng.com" <consulting@bugseng.com>
Subject: Re: MISRA and -Wextra-semi
In-Reply-To: <5ef9fef8-e5ee-4ce3-a78f-ee7c35e5a1a4@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2404261220450.3940@ubuntu-linux-20-04-desktop>
References: <5ef9fef8-e5ee-4ce3-a78f-ee7c35e5a1a4@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-2097677740-1714159298=:3940"

  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-2097677740-1714159298=:3940
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 26 Apr 2024, Andrew Cooper wrote:
> So, while -Wextra-semi is definitely useful to find some hidden
> problems, it seems like using it fully might be very complicated.  How
> much do we care?

I'll let Roberto confirm, but I wouldn't think -Wextra-semi is high
priority
--8323329-2097677740-1714159298=:3940--


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 19:26:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 19:26:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713095.1114097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0RDg-0006fZ-EX; Fri, 26 Apr 2024 19:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713095.1114097; Fri, 26 Apr 2024 19:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0RDg-0006fS-BF; Fri, 26 Apr 2024 19:26:52 +0000
Received: by outflank-mailman (input) for mailman id 713095;
 Fri, 26 Apr 2024 19:26: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 1s0RDf-0006fI-H5; Fri, 26 Apr 2024 19:26: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 1s0RDf-0006fR-BS; Fri, 26 Apr 2024 19:26: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 1s0RDf-0002vl-3K; Fri, 26 Apr 2024 19:26:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0RDf-0008MU-2q; Fri, 26 Apr 2024 19:26:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=AOwiWhVxDGR4PrAjciEEZiT0iIodm6J+DJYkzhJcJKA=; b=3g8ksDY4e3BSCYzBvKpDyWajRQ
	1YHp/mQt6Azcdh7bTbEFLLumvU641yLqId9nQlUMa6YrlNrn7JKLVhhA29M67KIO4jjW4H+6FZ9WG
	nFDPgTis78xSQ2Jrvd399CKmiN1/Q9Al6FHTPMOneykGdwGPwrRMxUUekPWeSEn2EyVE=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-livepatch
Message-Id: <E1s0RDf-0008MU-2q@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 26 Apr 2024 19:26:51 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-livepatch
testid livepatch-run

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  62a72092a51792ab74d64ad7454c11e0c22629a2
  Bug not present: fb2716a19190201ffb8d1b20cd9002f166000478
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185825/


  commit 62a72092a51792ab74d64ad7454c11e0c22629a2
  Author: Roger Pau Monné <roger.pau@citrix.com>
  Date:   Thu Apr 25 09:52:16 2024 +0200
  
      livepatch: introduce --force option
      
      Introduce a xen-livepatch tool --force option, that's propagated into the
      hyerpvisor for livepatch operations.  The intention is for the option to be
      used to bypass some checks that would otherwise prevent the patch from being
      loaded.
      
      Re purpose the pad field in xen_sysctl_livepatch_op to be a flags field that
      applies to all livepatch operations.  The flag is currently only set by the
      hypercall wrappers for the XEN_SYSCTL_LIVEPATCH_UPLOAD operation, as that's so
      far the only one where it will be used initially.  Other uses can be added as
      required.
      
      Note that helpers would set the .pad field to 0, that's been removed since the
      structure is already zero initialized at definition.
      
      No functional usages of the new flag introduced in this patch.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>
      Acked-by: Anthony PERARD <anthony.perard@citrix.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-livepatch.livepatch-run.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-amd64-amd64-livepatch.livepatch-run --summary-out=tmp/185825.bisection-summary --basis-template=185794 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-livepatch livepatch-run
Searching for failure / basis pass:
 185806 fail [host=fiano1] / 185794 [host=debina1] 185786 [host=italia1] 185780 [host=rimava0] 185767 [host=albana0] 185762 [host=nobling1] 185754 [host=sabro1] 185748 [host=septiner1] 185744 [host=rimava1] 185742 [host=nobling0] 185741 [host=godello0] 185737 [host=huxelrebe1] 185731 [host=albana1] 185712 [host=italia0] 185674 [host=godello1] 185635 [host=fiano0] 185622 [host=septiner0] 185457 [host=debina0] 185386 [host=himrod0] 185310 [host=huxelrebe0] 185294 [host=sabro0] 185281 [host=italia1\
 ] 185277 [host=debina1] 185274 [host=albana0] 185271 [host=pinot1] 185268 ok.
Failure / basis pass flights: 185806 / 185268
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
Basis pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 402c2d3e66a6bc9481dcabfc8697750dc4beabed
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#347385861c50adc8d4801d4b899eded38a2f04cd-6741e066ec7633450d3186946035c1f80c4226b8 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f57\
 2342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/xen.git#402c2d3e66a6bc9481dcabfc8697750dc4beabed-232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
Loaded 10001 nodes in revision graph
Searching for test results:
 185253 [host=rimava1]
 185262 [host=italia0]
 185268 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 402c2d3e66a6bc9481dcabfc8697750dc4beabed
 185271 [host=pinot1]
 185274 [host=albana0]
 185277 [host=debina1]
 185281 [host=italia1]
 185294 [host=sabro0]
 185310 [host=huxelrebe0]
 185386 [host=himrod0]
 185457 [host=debina0]
 185508 []
 185528 []
 185564 []
 185597 []
 185622 [host=septiner0]
 185635 [host=fiano0]
 185674 [host=godello1]
 185712 [host=italia0]
 185729 []
 185731 [host=albana1]
 185737 [host=huxelrebe1]
 185741 [host=godello0]
 185742 [host=nobling0]
 185744 [host=rimava1]
 185748 [host=septiner1]
 185754 [host=sabro1]
 185762 [host=nobling1]
 185767 [host=albana0]
 185780 [host=rimava0]
 185786 [host=italia1]
 185794 [host=debina1]
 185800 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 6d5111b10e084d841284a56e962c61ad274f589e
 185807 pass 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 402c2d3e66a6bc9481dcabfc8697750dc4beabed
 185808 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 6d5111b10e084d841284a56e962c61ad274f589e
 185809 pass b510fbe3a7bf26a6b8fcaa23d0275bb383f95dfd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429
 185811 pass 2e8dc5cffc844dacfa79f056dea88002312f253f c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ad363fb17d720f1ad047775e1d7b70158f546c46
 185813 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 58798e3f1f0609c773325274b654a8a946413d83
 185814 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b3e66aa1c23db7e70fd67ba110a7c802e2297393
 185815 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 0d02b75d7cd3a24989d7982f6a0b0c8da580074e
 185816 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 fb2716a19190201ffb8d1b20cd9002f166000478
 185817 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 8c01d0e3361d827b552a8f5323c18a4d4f07e06a
 185818 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 62a72092a51792ab74d64ad7454c11e0c22629a2
 185819 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 fb2716a19190201ffb8d1b20cd9002f166000478
 185806 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
 185820 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 62a72092a51792ab74d64ad7454c11e0c22629a2
 185822 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 232ee07c23b23fbbafbbf27e475dbbc5b27e4bbb
 185823 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 fb2716a19190201ffb8d1b20cd9002f166000478
 185825 fail 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 62a72092a51792ab74d64ad7454c11e0c22629a2
Searching for interesting versions
 Result found: flight 185268 (pass), for basis pass
 For basis failure, parent search stopping at 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 fb2716a19190201ffb8d1b20cd9002f166000478, results HASH(0x559600269900) HASH(0x559600254d50) HASH(0x55960026b908) For basis failure, parent search stopping at 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8\
 983e1b1e72d8c574356f572342c03e6 0d02b75d7cd3a24989d7982f6a0b0c8da580074e, results HASH(0x559600226f90) For basis failure, parent search stopping at 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b3e66aa1c23db7e70fd67ba110a7c802e2297393, results HASH(0x55960022edf8) For basis failure, parent search stopping at 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f\
 0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 58798e3f1f0609c773325274b654a8a946413d83, results HASH(0x5596002497d8) For basis failure, parent search stopping at 2e8dc5cffc844dacfa79f056dea88002312f253f c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ad363fb17d720f1ad047775e1d7b70158f546c46, results HASH(0x55960025ef88) For basis failure, parent search stopping at b510fbe3a7bf\
 26a6b8fcaa23d0275bb383f95dfd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 c0f890cd9d5fd2c17a1e3110cb26f98c90ce8429, results HASH(0x559600255350) For basis failure, parent search stopping at 347385861c50adc8d4801d4b899eded38a2f04cd c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 402c2d3e66a6bc9481dcabfc8697750dc4beabed, results HASH(0x55960023dd8\
 0) HASH(0x55960025cc80) Result found: flight 185800 (fail), for basis failure (at ancestor ~3467)
 Repro found: flight 185807 (pass), for basis pass
 Repro found: flight 185822 (fail), for basis failure
 0 revisions at 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 fb2716a19190201ffb8d1b20cd9002f166000478
No revisions left to test, checking graph state.
 Result found: flight 185816 (pass), for last pass
 Result found: flight 185818 (fail), for first failure
 Repro found: flight 185819 (pass), for last pass
 Repro found: flight 185820 (fail), for first failure
 Repro found: flight 185823 (pass), for last pass
 Repro found: flight 185825 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  62a72092a51792ab74d64ad7454c11e0c22629a2
  Bug not present: fb2716a19190201ffb8d1b20cd9002f166000478
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185825/


  commit 62a72092a51792ab74d64ad7454c11e0c22629a2
  Author: Roger Pau Monné <roger.pau@citrix.com>
  Date:   Thu Apr 25 09:52:16 2024 +0200
  
      livepatch: introduce --force option
      
      Introduce a xen-livepatch tool --force option, that's propagated into the
      hyerpvisor for livepatch operations.  The intention is for the option to be
      used to bypass some checks that would otherwise prevent the patch from being
      loaded.
      
      Re purpose the pad field in xen_sysctl_livepatch_op to be a flags field that
      applies to all livepatch operations.  The flag is currently only set by the
      hypercall wrappers for the XEN_SYSCTL_LIVEPATCH_UPLOAD operation, as that's so
      far the only one where it will be used initially.  Other uses can be added as
      required.
      
      Note that helpers would set the .pad field to 0, that's been removed since the
      structure is already zero initialized at definition.
      
      No functional usages of the new flag introduced in this patch.
      
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>
      Acked-by: Anthony PERARD <anthony.perard@citrix.com>

pnmtopng: 103 colors found
Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-livepatch.livepatch-run.{dot,ps,png,html,svg}.
----------------------------------------
185825: tolerable ALL FAIL

flight 185825 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185825/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-livepatch   13 livepatch-run           fail baseline untested


jobs:
 test-amd64-amd64-livepatch                                   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 Apr 26 19:42:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 19:42:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713104.1114107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0RSX-0001cf-QY; Fri, 26 Apr 2024 19:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713104.1114107; Fri, 26 Apr 2024 19: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 1s0RSX-0001cY-Nb; Fri, 26 Apr 2024 19:42:13 +0000
Received: by outflank-mailman (input) for mailman id 713104;
 Fri, 26 Apr 2024 19:42:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XFjt=L7=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1s0RSW-0001cS-JJ
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 19:42:12 +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 12f36c5b-0405-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 21:42:11 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-51bae805c56so2913404e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 26 Apr 2024 12:42:11 -0700 (PDT)
Received: from m1x-phil.lan (aul93-h02-176-184-11-147.dsl.sta.abo.bbox.fr.
 [176.184.11.147]) by smtp.gmail.com with ESMTPSA id
 e24-20020a170906081800b00a5891d81009sm3390140ejd.36.2024.04.26.12.42.07
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Fri, 26 Apr 2024 12:42:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12f36c5b-0405-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714160531; x=1714765331; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ye55WMDRK5S6l5M0zWgNVrTpOE29KI1trvIKq0uwte4=;
        b=MS7g3mdfeulqYGk+gJnulMMcZLC196FbK+H8L+dD9FfV/sMibr8mL+FY2mwCeQ5wgd
         qDfL+/QRTtD0TiqUGti/Z08ypI/l8PWlj464S4H5oJFE8dXasBThpniqi4jK/CVkLruD
         m5Y/A6H1tHnVS+PZ/Dzs0NASJ/6dDQ1dVvhxwm+RqhkMPx/3fLD7OYyr0Zbyk1PNrNWw
         1EkgBs5geB4AiMzWPN5YhRh8pywah5/sM4MClcCFdCpPwIGDttg35J904FcHJuWtTuUS
         1IZddwD4H41YQCvOuPbchIgoCRNHgaFBB1x/Hi71cc7DhJS3dP5zu9iLmB4wo3nUWm5k
         n90Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714160531; x=1714765331;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ye55WMDRK5S6l5M0zWgNVrTpOE29KI1trvIKq0uwte4=;
        b=Flfp8zsEiT7ZEhRM23CjIbUhglCebh2il5CknYpjqpQmvF9AtV98mJWpHI2CsQB5JL
         hQcVRlko1NnNaPZ6h3Obq3P8DnytGsCmkRiR3gSGoAgVVKc3wcElMYsQBQYXJsFK+fN/
         cqswX7asZ0ETSKThHtswac8EwIqs5cmA6eF57dNRa7UKzp1kx7Lp2kZv0Vragul1YGRS
         UqpkigKWbAwHkKfDUBliXPF4YgtdZkSfdbe7tAlwOuKTzz2CREBpaxGluWGgUZ0mXpHI
         1wRIMYsYkrIFqpxhB6aZjrxUvDJo00i6SiAkn/AXwFKUENoJS/0wOWLk2SKJojNUlgqM
         kRKQ==
X-Forwarded-Encrypted: i=1; AJvYcCV+Y6j0WtNShxi8wlSXcp4AZZJ10tkqEiCZ5gosmpiepGJMZQjuSz9O3TFolLRw+W5JhSf5Sxb25l/TVa8dXIZ7cJr3dlb+L/P56JQyaew=
X-Gm-Message-State: AOJu0YxaTpKsEC1I1VEe8VaGsHZITuA/v1vxu7Xfv6N0j85ZzgJOxKBY
	ZivaDraPXII76ASu2EZtS14fep3aOoFU0CxWp2PcZbz+01yvIpBTsa34SuElDKE=
X-Google-Smtp-Source: AGHT+IFL14ms+GZPBLVOB0MB3rNqmeNW55qsxaKuP7JYpVZQYPUqzQLjW5flfi2FoO61Lw3+u8GCQQ==
X-Received: by 2002:a19:f80b:0:b0:518:bc7c:413a with SMTP id a11-20020a19f80b000000b00518bc7c413amr2135720lff.69.1714160530417;
        Fri, 26 Apr 2024 12:42:10 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Cameron Esfahani <dirty@apple.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PULL 01/38] exec: Rename NEED_CPU_H -> COMPILING_PER_TARGET
Date: Fri, 26 Apr 2024 21:41:21 +0200
Message-ID: <20240426194200.43723-2-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20240426194200.43723-1-philmd@linaro.org>
References: <20240426194200.43723-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

'NEED_CPU_H' guard target-specific code; it is defined by meson
altogether with the 'CONFIG_TARGET' definition. Rename NEED_CPU_H
as COMPILING_PER_TARGET to clarify its meaning.

Mechanical change running:

 $ sed -i s/NEED_CPU_H/COMPILING_PER_TARGET/g $(git grep -l NEED_CPU_H)

then manually add a /* COMPILING_PER_TARGET */ comment
after the '#endif' when the block is large.

Inspired-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240322161439.6448-4-philmd@linaro.org>
---
 meson.build                | 4 ++--
 include/exec/cpu-defs.h    | 2 +-
 include/exec/helper-head.h | 4 ++--
 include/exec/memop.h       | 4 ++--
 include/exec/memory.h      | 4 ++--
 include/exec/tswap.h       | 4 ++--
 include/gdbstub/helpers.h  | 2 +-
 include/hw/core/cpu.h      | 4 ++--
 include/qemu/osdep.h       | 2 +-
 include/sysemu/hvf.h       | 8 ++++----
 include/sysemu/kvm.h       | 6 +++---
 include/sysemu/nvmm.h      | 4 ++--
 include/sysemu/whpx.h      | 4 ++--
 include/sysemu/xen.h       | 4 ++--
 target/arm/kvm-consts.h    | 4 ++--
 scripts/analyze-inclusions | 6 +++---
 16 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/meson.build b/meson.build
index 553b940999..96fdc6dfd2 100644
--- a/meson.build
+++ b/meson.build
@@ -3610,7 +3610,7 @@ foreach d, list : target_modules
         if target.endswith('-softmmu')
           config_target = config_target_mak[target]
           target_inc = [include_directories('target' / config_target['TARGET_BASE_ARCH'])]
-          c_args = ['-DNEED_CPU_H',
+          c_args = ['-DCOMPILING_PER_TARGET',
                     '-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
                     '-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)]
           target_module_ss = module_ss.apply(config_target, strict: false)
@@ -3793,7 +3793,7 @@ foreach target : target_dirs
   target_base_arch = config_target['TARGET_BASE_ARCH']
   arch_srcs = [config_target_h[target]]
   arch_deps = []
-  c_args = ['-DNEED_CPU_H',
+  c_args = ['-DCOMPILING_PER_TARGET',
             '-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
             '-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)]
   link_args = emulator_link_args
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 3915438b83..0dbef3010c 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -19,7 +19,7 @@
 #ifndef CPU_DEFS_H
 #define CPU_DEFS_H
 
-#ifndef NEED_CPU_H
+#ifndef COMPILING_PER_TARGET
 #error cpu.h included from common code
 #endif
 
diff --git a/include/exec/helper-head.h b/include/exec/helper-head.h
index 28ceab0a46..5ef467a79d 100644
--- a/include/exec/helper-head.h
+++ b/include/exec/helper-head.h
@@ -43,7 +43,7 @@
 #define dh_ctype_noreturn G_NORETURN void
 #define dh_ctype(t) dh_ctype_##t
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 # ifdef TARGET_LONG_BITS
 #  if TARGET_LONG_BITS == 32
 #   define dh_alias_tl i32
@@ -54,7 +54,7 @@
 #  endif
 # endif
 # define dh_ctype_tl target_ulong
-#endif
+#endif /* COMPILING_PER_TARGET */
 
 /* We can't use glue() here because it falls foul of C preprocessor
    recursive expansion rules.  */
diff --git a/include/exec/memop.h b/include/exec/memop.h
index a86dc6743a..06417ff361 100644
--- a/include/exec/memop.h
+++ b/include/exec/memop.h
@@ -35,7 +35,7 @@ typedef enum MemOp {
     MO_LE    = 0,
     MO_BE    = MO_BSWAP,
 #endif
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 #if TARGET_BIG_ENDIAN
     MO_TE    = MO_BE,
 #else
@@ -135,7 +135,7 @@ typedef enum MemOp {
     MO_BESL  = MO_BE | MO_SL,
     MO_BESQ  = MO_BE | MO_SQ,
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
     MO_TEUW  = MO_TE | MO_UW,
     MO_TEUL  = MO_TE | MO_UL,
     MO_TEUQ  = MO_TE | MO_UQ,
diff --git a/include/exec/memory.h b/include/exec/memory.h
index dbb1bad72f..dadb5cd65a 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -3107,7 +3107,7 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
@@ -3125,7 +3125,7 @@ static inline MemOp devend_memop(enum device_endian end)
     return (end == non_host_endianness) ? MO_BSWAP : 0;
 #endif
 }
-#endif
+#endif /* COMPILING_PER_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index 68944a880b..5089cd6a4c 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -15,11 +15,11 @@
  * If we're in target-specific code, we can hard-code the swapping
  * condition, otherwise we have to do (slower) run-time checks.
  */
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 #define target_needs_bswap()  (HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN)
 #else
 #define target_needs_bswap()  (target_words_bigendian() != HOST_BIG_ENDIAN)
-#endif
+#endif /* COMPILING_PER_TARGET */
 
 static inline uint16_t tswap16(uint16_t s)
 {
diff --git a/include/gdbstub/helpers.h b/include/gdbstub/helpers.h
index c573aef2dc..6b97610f48 100644
--- a/include/gdbstub/helpers.h
+++ b/include/gdbstub/helpers.h
@@ -12,7 +12,7 @@
 #ifndef _GDBSTUB_HELPERS_H_
 #define _GDBSTUB_HELPERS_H_
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 #include "cpu.h"
 
 /*
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index ec14f74ce5..7f037b158e 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -1182,7 +1182,7 @@ bool target_words_bigendian(void);
 
 const char *target_name(void);
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 
 #ifndef CONFIG_USER_ONLY
 
@@ -1197,7 +1197,7 @@ extern const VMStateDescription vmstate_cpu_common;
 }
 #endif /* !CONFIG_USER_ONLY */
 
-#endif /* NEED_CPU_H */
+#endif /* COMPILING_PER_TARGET */
 
 #define UNASSIGNED_CPU_INDEX -1
 #define UNASSIGNED_CLUSTER_INDEX -1
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index c7053cdc2b..f61edcfdc2 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -32,7 +32,7 @@
 #endif
 
 #include "config-host.h"
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 #include CONFIG_TARGET
 #else
 #include "exec/poison.h"
diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
index 4a7c6af3a5..730f927f03 100644
--- a/include/sysemu/hvf.h
+++ b/include/sysemu/hvf.h
@@ -16,7 +16,7 @@
 #include "qemu/accel.h"
 #include "qom/object.h"
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 #include "cpu.h"
 
 #ifdef CONFIG_HVF
@@ -26,7 +26,7 @@ extern bool hvf_allowed;
 #define hvf_enabled() 0
 #endif /* !CONFIG_HVF */
 
-#endif /* NEED_CPU_H */
+#endif /* COMPILING_PER_TARGET */
 
 #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf")
 
@@ -34,7 +34,7 @@ typedef struct HVFState HVFState;
 DECLARE_INSTANCE_CHECKER(HVFState, HVF_STATE,
                          TYPE_HVF_ACCEL)
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 struct hvf_sw_breakpoint {
     vaddr pc;
     vaddr saved_insn;
@@ -66,6 +66,6 @@ void hvf_arch_update_guest_debug(CPUState *cpu);
  * Return whether the guest supports debugging.
  */
 bool hvf_arch_supports_guest_debug(void);
-#endif /* NEED_CPU_H */
+#endif /* COMPILING_PER_TARGET */
 
 #endif
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 47f9e8be1b..eaf801bc93 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -20,7 +20,7 @@
 #include "qemu/accel.h"
 #include "qom/object.h"
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 # ifdef CONFIG_KVM
 #  include <linux/kvm.h>
 #  define CONFIG_KVM_IS_POSSIBLE
@@ -210,7 +210,7 @@ bool kvm_arm_supports_user_irq(void);
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 #include "cpu.h"
 
 void kvm_flush_coalesced_mmio_buffer(void);
@@ -435,7 +435,7 @@ void kvm_set_sigmask_len(KVMState *s, unsigned int sigmask_len);
 int kvm_physical_memory_addr_from_host(KVMState *s, void *ram_addr,
                                        hwaddr *phys_addr);
 
-#endif /* NEED_CPU_H */
+#endif /* COMPILING_PER_TARGET */
 
 void kvm_cpu_synchronize_state(CPUState *cpu);
 
diff --git a/include/sysemu/nvmm.h b/include/sysemu/nvmm.h
index be7bc9a62d..6971ddb3a5 100644
--- a/include/sysemu/nvmm.h
+++ b/include/sysemu/nvmm.h
@@ -12,7 +12,7 @@
 #ifndef QEMU_NVMM_H
 #define QEMU_NVMM_H
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 
 #ifdef CONFIG_NVMM
 
@@ -24,6 +24,6 @@ int nvmm_enabled(void);
 
 #endif /* CONFIG_NVMM */
 
-#endif /* NEED_CPU_H */
+#endif /* COMPILING_PER_TARGET */
 
 #endif /* QEMU_NVMM_H */
diff --git a/include/sysemu/whpx.h b/include/sysemu/whpx.h
index 781ca5b2b6..00ff409b68 100644
--- a/include/sysemu/whpx.h
+++ b/include/sysemu/whpx.h
@@ -15,7 +15,7 @@
 #ifndef QEMU_WHPX_H
 #define QEMU_WHPX_H
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 
 #ifdef CONFIG_WHPX
 
@@ -29,6 +29,6 @@ bool whpx_apic_in_platform(void);
 
 #endif /* CONFIG_WHPX */
 
-#endif /* NEED_CPU_H */
+#endif /* COMPILING_PER_TARGET */
 
 #endif /* QEMU_WHPX_H */
diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
index a9f591f26d..754ec2e6cb 100644
--- a/include/sysemu/xen.h
+++ b/include/sysemu/xen.h
@@ -16,13 +16,13 @@
 
 #include "exec/cpu-common.h"
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 # ifdef CONFIG_XEN
 #  define CONFIG_XEN_IS_POSSIBLE
 # endif
 #else
 # define CONFIG_XEN_IS_POSSIBLE
-#endif
+#endif /* COMPILING_PER_TARGET */
 
 #ifdef CONFIG_XEN_IS_POSSIBLE
 
diff --git a/target/arm/kvm-consts.h b/target/arm/kvm-consts.h
index 7c6adc14f6..c44d23dbe7 100644
--- a/target/arm/kvm-consts.h
+++ b/target/arm/kvm-consts.h
@@ -14,13 +14,13 @@
 #ifndef ARM_KVM_CONSTS_H
 #define ARM_KVM_CONSTS_H
 
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
 #ifdef CONFIG_KVM
 #include <linux/kvm.h>
 #include <linux/psci.h>
 #define MISMATCH_CHECK(X, Y) QEMU_BUILD_BUG_ON(X != Y)
 #endif
-#endif
+#endif /* COMPILING_PER_TARGET */
 
 #ifndef MISMATCH_CHECK
 #define MISMATCH_CHECK(X, Y) QEMU_BUILD_BUG_ON(0)
diff --git a/scripts/analyze-inclusions b/scripts/analyze-inclusions
index 45c821de32..b6280f25c8 100644
--- a/scripts/analyze-inclusions
+++ b/scripts/analyze-inclusions
@@ -92,7 +92,7 @@ echo trace/generated-tracers.h:
 analyze -include ../include/qemu/osdep.h trace/generated-tracers.h
 
 echo target/i386/cpu.h:
-analyze -DNEED_CPU_H -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../target/i386/cpu.h
+analyze -DCOMPILING_PER_TARGET -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../target/i386/cpu.h
 
-echo hw/hw.h + NEED_CPU_H:
-analyze -DNEED_CPU_H -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../include/hw/hw.h
+echo hw/hw.h + COMPILING_PER_TARGET:
+analyze -DCOMPILING_PER_TARGET -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../include/hw/hw.h
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 19:50:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 19:50:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713109.1114116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Raa-000416-Hh; Fri, 26 Apr 2024 19:50:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713109.1114116; Fri, 26 Apr 2024 19: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 1s0Raa-00040z-F9; Fri, 26 Apr 2024 19:50:32 +0000
Received: by outflank-mailman (input) for mailman id 713109;
 Fri, 26 Apr 2024 19: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=eUo+=L7=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1s0RaZ-00040t-PL
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 19:50:31 +0000
Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de
 [81.169.146.162]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b9de597-0406-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 21:50:29 +0200 (CEST)
Received: from sender by smtp.strato.de (RZmta 50.5.0 AUTH)
 with ESMTPSA id Dce54203QJoQCHH
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Fri, 26 Apr 2024 21:50:26 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b9de597-0406-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1714161026; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=eZY0kHQZHa0vbrESu0FwTkZadapwqs1OaG2FBaMe1uZO1M/Qts8cCEDh6A8HYtPvSH
    SXcuaTvnxtTZBJIPeG7fLimqt6WURL63u6L2TRkE/lcEacjrQeg3JFZzh6Lys6Zmc4uv
    o/P8wyLUQCa/kj/RNQ5xy2MTXnwHy8GIAfbF5/de9DSTANmkg8FfkK6iaVC8zcNbUDu6
    ah4y2wANOThl4UtUw3I4JahO1umrYKx3MPmgRsWMOSAjsOy4E0sowBsc3PlWdMSLzL7S
    3unD71IVfKGJ6/tV43FcsYSJWB8vaowqnZOESwrrcg8EgUeSEzp/CzwOvMK7UQ3DQ+jP
    AKHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1714161026;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=GipMzTNaXbexepsNXupGeKlhbYBRykgNFUxoUo7Hn9Q=;
    b=akJU55fZ14gTh0zMRD0hRfTDx2BV1vZvsyqdxbEu5Nqg4wDuqIpCFH3BKjXYDl8xKH
    IpYmHqbk6RtwiLfCFJXJgn1jVD7mEGf4I7mNn2nsx1DFVhl38cs8GIR5JS42kW7Dk1Ej
    C9Clah10kf0WDrFuU9u0shRBKBoI0ZUBvkFov7k7vgi/bJ7C31+O6vq9NdLl1EAt7+3I
    +CAadWBJdzbi4p73O7fn80r4ymkqmulBvQ2vOLz/iH6tz/yKeMc6HPIqA7vKLuxHLuj9
    mTs125PPtEGbKUkhi+tDbc6LCl/pZNQO7Ccrbt6UaSaQmFBA5Xl+V3WCveQS3pRpSGvK
    nrgQ==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1714161026;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=GipMzTNaXbexepsNXupGeKlhbYBRykgNFUxoUo7Hn9Q=;
    b=bU6eHXDLOJ4n3Q+H725yaJ8LrZKDK4JiQcqpEuukScdtv7GkrIz02jLSteKe05Z0FF
    gW7/UdchadVmDbL0F9ycFwQMSfJX+ctoXrQxFQm8L4kdDzNh8pZgpIBoLgJHc/dcvw+a
    0FvM2qkWT2K4mLhn9HJmSYd8uxeos0av9ay+GyxBNfXkaC3TRTKs1HGWWu6eKI+Qsa/F
    Vqm7fYatqe2t0eORvEdH7vH5wOaBwqnslfpOT0GDiVi0agFyjEgjLV9o3XgxfQJmmFAK
    uTlBHaMsacYHpHGUV/qb729VtExXqtXAjTBD87xlVxVxCygRGEREjoN9GuqARKWwC/ln
    GOHw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1714161026;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=GipMzTNaXbexepsNXupGeKlhbYBRykgNFUxoUo7Hn9Q=;
    b=ykjvSggwE3bKw9O49S+FhdhtU9hD1ZaxnWRIhZbmx78i2mbI4Rm7yTjIeoXUuT2BOp
    gakgi/Zwp+ehUcamnhCw==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR4BkGIaBLsSePyHTveXmQA82g1CU11ZkCzUrDvyQ=="
Date: Fri, 26 Apr 2024 21:50:17 +0200
From: Olaf Hering <olaf@aepfle.de>
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@cloud.com>, Anthony Perard <anthony.perard@cloud.com>
Subject: Re: [PATCH 3/3] tools/xentrace: Remove xentrace_format
Message-ID: <20240426215017.22b559bf.olaf@aepfle.de>
In-Reply-To: <20240426143231.4007671-4-george.dunlap@cloud.com>
References: <20240426143231.4007671-1-george.dunlap@cloud.com>
	<20240426143231.4007671-4-george.dunlap@cloud.com>
X-Mailer: Claws Mail (olh) 20240408T134401.7adfa8f7 hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/uhbal21UnTeIMFXT1L=9ErK";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/uhbal21UnTeIMFXT1L=9ErK
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Fri, 26 Apr 2024 15:32:31 +0100 George Dunlap <george.dunlap@cloud.com>:

> Simple remove xentrace_format, and point people to xenalyze instead.

Acked-by: Olaf Hering <olaf@aepfle.de>


Olaf

--Sig_/uhbal21UnTeIMFXT1L=9ErK
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmYsBXoACgkQ86SN7mm1
DoAi3BAAnnpcRQY0Aa9i2+WOWf6iU9YFKu0xwJOgNuzdtAWSTj2CEpW7BbZqPwA1
PzaAgrLYhdiNEuwnZw+HQFmn19qWQKl5VN177xNy+TIju6OATaM3IPtbtBpWqHhz
XpetgCMGCNZHAXkGG/kXz2AKfu2vXw/iQ4/QM8aZk6UqFRuHaj4JJc8TDMAGKEsi
7c3ZFBIRaAbkfkf/qa7+SurQono+C+3O+ozsClaxAHu9oA0sffP2ggbh5HlLwdsa
ned4pqw0Iq2o737T0A9rmNH4xEyO6+92SAzChkqdbFIgsgoLitEpGfcHECHa4034
yop76j+mcIKx05eV+069Xe8kl6APBf3rw4cZ5uBTCDN/afPrg2qpD60W4qjGQ4f4
SCn3EvPGkWjMIDl5PyhIHV1dvrAnxUmiOtTMeZbwKNokjKW8q5cLdJrA49qOHKrp
hq8Qq+7yBFBed/M/fQ19PG3Xab5rONDTwyO4rQj5AoMUVOpt5EkJTNpdAkRsBAav
eeYoP518mj0u1BAoLGVKT0u106U5cSyqbEERoeDSc3avlArgi4Ds/pMIv9857ZGN
iUIE/9v2jgBWrAn+NLHusyLbp/5E++hdzrtlkN+3TNrBImGad5O8L9QFZ0HzjWY3
BgTcOr8Z9nBvZu9f/80Yn1ux0h6Q2+eICLi0Trq6FZp1ARK9co8=
=uOIe
-----END PGP SIGNATURE-----

--Sig_/uhbal21UnTeIMFXT1L=9ErK--


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 21:28:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 21:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713126.1114127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0T7L-0002B1-C8; Fri, 26 Apr 2024 21:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713126.1114127; Fri, 26 Apr 2024 21:28:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0T7L-0002Au-8H; Fri, 26 Apr 2024 21:28:27 +0000
Received: by outflank-mailman (input) for mailman id 713126;
 Fri, 26 Apr 2024 21:28:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0T7K-0002Ao-07
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 21:28:26 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e53cf7e1-0413-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 23:28:22 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id D3475CE1C9E;
 Fri, 26 Apr 2024 21:28:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25230C113CD;
 Fri, 26 Apr 2024 21:28:12 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e53cf7e1-0413-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714166893;
	bh=ZW0mA8Ak4IKnvCKJ1Xi2x4ShhsV40j5L0rxBl/3sO7s=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FvzcK2qOdfT2DbIpsfezAsqJcuIYkLD+A9LiJ/prLgfAh6YJsMpIRbR+QdCPwnpVg
	 Jpxx30tnj+HZGzduEmMn0DRrQkwlnqkO6B9EBivQT0pLzdQiU7/gEnzfUS5kk7a96o
	 ONSio2NM/aKs8s5SSso4M6N5EW5lLbUSL6txRqT3+kFXMWvLCQJ7PazIyJb5C9ragU
	 n7crK9nUyT2RuXgSg7ZZEj/CCkkW/avvILllzuq34EWox/iUy324+6jvdpeeqy61kH
	 VKX7cVPAyTWqvx269gH2MkKlRoThmLJO5eL/Kq19Ksf3RaGA5X40BEf+KslE/OM9IZ
	 6XFFxt6J/R5Ow==
Date: Fri, 26 Apr 2024 14:28: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: Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH] public: xen: Define missing guest handle for int32_t
In-Reply-To: <90a25857-af9b-45ac-a6d6-e46ed1fb0609@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404261424340.3940@ubuntu-linux-20-04-desktop>
References: <20240417121442.56178-1-michal.orzel@amd.com> <be95f6be-0404-4c43-926f-d011782a02db@xen.org> <alpine.DEB.2.22.394.2404171148060.2257106@ubuntu-linux-20-04-desktop> <29afd327-a66c-4b4e-b076-ee6ecb70807e@xen.org>
 <alpine.DEB.2.22.394.2404251538250.3940@ubuntu-linux-20-04-desktop> <90a25857-af9b-45ac-a6d6-e46ed1fb0609@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-507727055-1714166718=:3940"
Content-ID: <alpine.DEB.2.22.394.2404261426150.3940@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-507727055-1714166718=:3940
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2404261426151.3940@ubuntu-linux-20-04-desktop>

On Fri, 26 Apr 2024, Jan Beulich wrote:
> On 26.04.2024 00:39, Stefano Stabellini wrote:
> > On Mon, 22 Apr 2024, Julien Grall wrote:
> >> Hi Stefano,
> >>
> >> On 17/04/2024 19:49, Stefano Stabellini wrote:
> >>> On Wed, 17 Apr 2024, Julien Grall wrote:
> >>>> Hi Michal,
> >>>>
> >>>> On 17/04/2024 13:14, Michal Orzel wrote:
> >>>>> Commit afab29d0882f ("public: s/int/int32_t") replaced int with int32_t
> >>>>> in XEN_GUEST_HANDLE() in memory.h but there is no guest handle defined
> >>>>> for it. This results in a build failure. Example on Arm:
> >>>>>
> >>>>> ./include/public/arch-arm.h:205:41: error: unknown type name
> >>>>> ‘__guest_handle_64_int32_t’
> >>>>>     205 | #define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ##
> >>>>> name
> >>>>>         |                                         ^~~~~~~~~~~~~~~~~~
> >>>>> ./include/public/arch-arm.h:206:41: note: in expansion of macro
> >>>>> ‘__XEN_GUEST_HANDLE’
> >>>>>     206 | #define XEN_GUEST_HANDLE(name)
> >>>>> __XEN_GUEST_HANDLE(name)
> >>>>>         |                                         ^~~~~~~~~~~~~~~~~~
> >>>>> ./include/public/memory.h:277:5: note: in expansion of macro
> >>>>> ‘XEN_GUEST_HANDLE’
> >>>>>     277 |     XEN_GUEST_HANDLE(int32_t) errs;
> >>>>>
> >>>>> Fix it. Also, drop guest handle definition for int given no further use.
> >>>>>
> >>>>> Fixes: afab29d0882f ("public: s/int/int32_t")
> >>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> >>>
> >>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> >>>
> >>>
> >>>> So it turned out that I committed v1 from Stefano. I was meant to commit
> >>>> the
> >>>> patch at all, but I think I started with a dirty staging :(. Sorry for
> >>>> that.
> >>>>
> >>>> I have reverted Stefano's commit for now so we can take the correct patch.
> >>>>
> >>>> Now, from my understanding, Andrew suggested on Matrix that this solution
> >>>> may
> >>>> actually be a good way to handle GUEST_HANLDEs (they were removed in v2).
> >>>> Maybe this can be folded in Stefano's patch?
> >>>
> >>> v1 together with Michal's fix is correct. Also v2 alone is correct, or
> >>> v2 with Michal's fix is also correct.
> >>
> >> I am slightly confused, v2 + Michal's fix means that XEN_GUEST_HANDLE(int) is
> >> removed and we introduce XEN_GUEST_INT(int32_t) with no user. So wouldn't this
> > 
> > You are right I apologize. I looked at Michal's patch too quickly and
> > I thought it was just adding XEN_GUEST_INT(int32_t) without removing
> > anything.
> > 
> > In that case, if you are OK with it, please ack and commit v2 only.
> 
> Just to mention it: Committing would apparently be premature, as I can't spot
> any response to comments I gave to the patch. I'm okay with those being
> addressed verbally only, but imo they cannot be dropped on the floor.

I agree with your comments but I prefer to keep this patch smaller and
focused on doing one thing only. I don't want to mix non-mechanical
changes with the mechanical substitutions. For sure, there will be
follow ups to address your comments and other outstanding issues.
--8323329-507727055-1714166718=:3940--


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 21:30:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 21:30:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713129.1114137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0T9a-0003Zx-NN; Fri, 26 Apr 2024 21:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713129.1114137; Fri, 26 Apr 2024 21: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 1s0T9a-0003Zq-Kd; Fri, 26 Apr 2024 21:30:46 +0000
Received: by outflank-mailman (input) for mailman id 713129;
 Fri, 26 Apr 2024 21:30: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=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0T9Z-0003Zk-JO
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 21:30:45 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b8a372d-0414-11ef-909a-e314d9c70b13;
 Fri, 26 Apr 2024 23:30:43 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id E694BCE1C9E;
 Fri, 26 Apr 2024 21:30:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 150CFC113CD;
 Fri, 26 Apr 2024 21:30:38 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b8a372d-0414-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714167040;
	bh=KuZrzePDx3IQeSR3GmLLHPypu6d2IF939/mGwfk6B14=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=o7PasOOj1G/Z0TRnLcZwYzoUI8NxoGZfBGbgWr88Kc2WcTJKeJV0zxfYTXD0gkEDR
	 7qcs27AuvhmL0SGnd1OlXE/DZHiB2fl5T0vFeKj8edEeyld8kbRZNzXgtq6gWtzMjD
	 GcCJ/8z+AIw/H52KUK+cDByvmwWovX+nrOzBGqGiPaW3As511BzJ8NHZ1VZserezVs
	 5LCOmbthYvcTTZ63BCGxcwQwy/dYzEBIYEhAYsidp3x38HxNvG81TkN/wurgJp4aYV
	 NRsRnIaJHHEYl7GBzoC2RYwhQTaMtlZ4bKk8srT3LOKq+xpceUCt1FQCMS/5ZxknPR
	 AsEJeQ1ziq2Yw==
Date: Fri, 26 Apr 2024 14:30:37 -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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] docs/misra: add R21.6 R21.9 R21.10 R21.14 R21.15
 R21.16
In-Reply-To: <d620ef7a-661a-4706-8a05-1724e28e2d4f@suse.com>
Message-ID: <alpine.DEB.2.22.394.2404261429370.3940@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2404251629570.3940@ubuntu-linux-20-04-desktop> <d620ef7a-661a-4706-8a05-1724e28e2d4f@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, 26 Apr 2024, Jan Beulich wrote:
> On 26.04.2024 01:31, Stefano Stabellini wrote:
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -652,12 +652,72 @@ maintainers if you want to suggest a change.
> >         declared
> >       - See comment for Rule 21.1
> >  
> > +   * - `Rule 21.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_06.c>`_
> > +     - Required
> > +     - The Standard Library input/output routines shall not be used
> > +     - Xen doesn't provide, use, or link against any Standard Library.
> > +       Xen implements itself a few functions with names that match the
> > +       corresponding function names of the Standard Library for
> > +       developers' convenience. These functions are part of the Xen code
> > +       and subject to analysis.
> > +
> > +   * - `Rule 21.9 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_09.c>`_
> > +     - Required
> > +     - The library functions bsearch and qsort of <stdlib.h> shall not be used
> > +     - Xen doesn't provide, use, or link against any Standard Library.
> > +       Xen implements itself a few functions with names that match the
> > +       corresponding function names of the Standard Library for
> > +       developers' convenience. These functions are part of the Xen code
> > +       and subject to analysis.
> > +
> > +   * - `Rule 21.10 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_10.c>`_
> > +     - Required
> > +     - The Standard Library time and date routines shall not be used
> > +     - Xen doesn't provide, use, or link against any Standard Library.
> > +       Xen implements itself a few functions with names that match the
> > +       corresponding function names of the Standard Library for
> > +       developers' convenience. These functions are part of the Xen code
> > +       and subject to analysis.
> > +
> >     * - `Rule 21.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_13.c>`_
> >       - Mandatory
> >       - Any value passed to a function in <ctype.h> shall be representable as an
> >         unsigned char or be the value EOF
> >       -
> 
> Up to here, did you consider adding a short reference to some common blob
> (footnote or alike), rather than repeating the same text verbatim several
> times?

I can look into it


> > +   * - `Rule 21.14 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_14.c>`_
> > +     - Required
> > +     - The Standard Library function memcmp shall not be used to compare
> > +       null terminated strings
> > +     - Xen doesn't provide, use, or link against any Standard Library.
> > +       Xen implements itself a few functions with names that match the
> > +       corresponding function names of the Standard Library for
> > +       developers' convenience. These functions are part of the Xen code
> > +       and subject to analysis.
> > +
> > +   * - `Rule 21.15 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_15.c>`_
> > +     - Required
> > +     - The pointer arguments to the Standard Library functions memcpy,
> > +       memmove and memcmp shall be pointers to qualified or unqualified
> > +       versions of compatible types
> > +     - Xen doesn't provide, use, or link against any Standard Library.
> > +       Xen implements itself a few functions with names that match the
> > +       corresponding function names of the Standard Library for
> > +       developers' convenience. These functions are part of the Xen code
> > +       and subject to analysis.
> > +
> > +   * - `Rule 21.16 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_16.c>`_
> > +     - Required
> > +     - The pointer arguments to the Standard Library function memcmp
> > +       shall point to either a pointer type, an essentially signed type,
> > +       an essentially unsigned type, an essentially Boolean type or an
> > +       essentially enum type
> > +     - void* arguments are allowed. Xen doesn't provide, use, or link
> > +       against any Standard Library.  Xen implements itself a few
> > +       functions with names that match the corresponding function names
> > +       of the Standard Library for developers' convenience. These
> > +       functions are part of the Xen code and subject to analysis.
> 
> For all three of these I'm not convinced the remark is appropriate. These
> talk about specific properties of the functions, which aren't related to
> risks associated with particular (and hence potentially varying) library
> implementations.

Good point


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 21:36:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 21:36:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713137.1114147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0TFJ-0004k2-GI; Fri, 26 Apr 2024 21:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713137.1114147; Fri, 26 Apr 2024 21: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 1s0TFJ-0004jv-Cx; Fri, 26 Apr 2024 21:36:41 +0000
Received: by outflank-mailman (input) for mailman id 713137;
 Fri, 26 Apr 2024 21:36:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0TFH-0004jp-Hl
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 21:36:39 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d49ed1f-0415-11ef-b4bb-af5377834399;
 Fri, 26 Apr 2024 23:36:36 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 2F176CE1C1F;
 Fri, 26 Apr 2024 21:36:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E266C113CD;
 Fri, 26 Apr 2024 21:36:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d49ed1f-0415-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714167390;
	bh=9GYZQex2/gm04Q/M2dnesvyzpTgonNuQh7Av2l719Jc=;
	h=Date:From:To:cc:Subject:From;
	b=EOkeu81HEYwxGXgYbxBafUXDlFJLASFzr3428W2VdexCf/aArKX5Ceydmh5UuBlnV
	 u27eVrWfu5/yap/r3l+WQ582cp6NwyFGeBaqgWEZp9vAIBFYuZ3YztTF56NYkVxj4J
	 dnWGsYXBucK4xkYfx+MKs9xagSpDjwF0iuH2JSjOsiogmiUs+bm1WsJq1Jx22b/7s0
	 SjZK7lAkdFYFVoSirR4OAvlBFg7IrQHMPachpUiUBGhxxTaPwUBMp00hW9sGegXGNJ
	 DxKtrheeun4TAV6z2AkMWQLsTBC33PQutInGYGYQU/e5R8+q53hjPb5S3yi8AB/twI
	 FvbL6CHMgS+Jg==
Date: Fri, 26 Apr 2024 14:36:28 -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, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3] docs/misra: add R21.6 R21.9 R21.10 R21.14 R21.15 R21.16
Message-ID: <alpine.DEB.2.22.394.2404261435010.3940@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

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---

Changes in v3:
- add explanation in footnote
- remove comment from 21.14, 21.15, 21.16

 docs/misra/rules.rst | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index b7b447e152..5ba7394f05 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -652,12 +652,48 @@ maintainers if you want to suggest a change.
        declared
      - See comment for Rule 21.1
 
+   * - `Rule 21.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_06.c>`_
+     - Required
+     - The Standard Library input/output routines shall not be used
+     - Xen doesn't provide, use, or link against a Standard Library [1]_
+
+   * - `Rule 21.9 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_09.c>`_
+     - Required
+     - The library functions bsearch and qsort of <stdlib.h> shall not be used
+     - Xen doesn't provide, use, or link against a Standard Library [1]_
+
+   * - `Rule 21.10 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_10.c>`_
+     - Required
+     - The Standard Library time and date routines shall not be used
+     - Xen doesn't provide, use, or link against a Standard Library [1]_
+
    * - `Rule 21.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_13.c>`_
      - Mandatory
      - Any value passed to a function in <ctype.h> shall be representable as an
        unsigned char or be the value EOF
      -
 
+   * - `Rule 21.14 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_14.c>`_
+     - Required
+     - The Standard Library function memcmp shall not be used to compare
+       null terminated strings
+     -
+
+   * - `Rule 21.15 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_15.c>`_
+     - Required
+     - The pointer arguments to the Standard Library functions memcpy,
+       memmove and memcmp shall be pointers to qualified or unqualified
+       versions of compatible types
+     -
+
+   * - `Rule 21.16 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_16.c>`_
+     - Required
+     - The pointer arguments to the Standard Library function memcmp
+       shall point to either a pointer type, an essentially signed type,
+       an essentially unsigned type, an essentially Boolean type or an
+       essentially enum type
+     - void* arguments are allowed
+
    * - `Rule 21.17 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_17.c>`_
      - Mandatory
      - Use of the string handling functions from <string.h> shall not result in
@@ -712,3 +748,9 @@ maintainers if you want to suggest a change.
      - The value of a pointer to a FILE shall not be used after the associated
        stream has been closed
      -
+
+
+.. [1] Xen implements itself a few functions with names that match the
+       corresponding function names of the Standard Library for developers'
+       convenience. These functions are part of the Xen code and subject to
+       analysis.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 23:01:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 23:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713143.1114157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0UYv-0000mn-9x; Fri, 26 Apr 2024 23:01:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713143.1114157; Fri, 26 Apr 2024 23:01: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 1s0UYv-0000mg-5v; Fri, 26 Apr 2024 23:01:01 +0000
Received: by outflank-mailman (input) for mailman id 713143;
 Fri, 26 Apr 2024 23:00: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=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0UYt-0000mX-3h
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 23:00: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 d6d2471e-0420-11ef-909a-e314d9c70b13;
 Sat, 27 Apr 2024 01:00: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 B5FBC6207A;
 Fri, 26 Apr 2024 23:00:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88267C113CD;
 Fri, 26 Apr 2024 23:00: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: d6d2471e-0420-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714172455;
	bh=kDRn0hbz3SMgL6J0v6KOpNck2BsVm5JUjMBcEU2uhfs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tB1BD12ODwbv+1oYq6eoGtuR7fDWld++XVrqFrqVZqyZ2XiceB7CnCzmWdLNgZ2JV
	 rT1EyyHeQ6BEFD7Cex8HwcBTFF/4i2QwHH77pEuGJP65GCe11sivUUh9sxhci1FrKf
	 /Cp8TDhkPWRrLaqw7yNEEON+N4eGYH1IM6Z9E5REDb21kho/wmaxVRqQaZjOcozkcq
	 H3Pu31V8qDYPWu4gtz3PljRiD0g1oyhBauOJYlRdyf29oPMqrLJ7k8cR8fZi4qNqJz
	 4nt/0fEuf5xRcQMvBd4GgEcJIzWzyE4w5pRPOxwsecxDNw0cAZDDAJOtO2KExVuA/a
	 xZ21SrogpMkxA==
Date: Fri, 26 Apr 2024 16:00:53 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 1/7] x86/vpmu: separate amd/intel vPMU code
In-Reply-To: <a708db7fe06d131256ed2c75f518efce3d078fbb.1713860310.git.Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404261600460.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com> <a708db7fe06d131256ed2c75f518efce3d078fbb.1713860310.git.Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
> Build AMD vPMU when CONFIG_AMD is on, and Intel vPMU when CONFIG_INTEL
> is on respectively, allowing for a plaftorm-specific build. Also separate
> arch_vpmu_ops initializers using these options and static inline stubs.
> 
> No functional change intended.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> CC: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: Jan Beulich <jbeulich@suse.com>
> 
> ---
> changes in v1:
>  - switch to CONFIG_{AMD,INTEL} instead of CONFIG_{SVM,VMX}
> 
> 
>  xen/arch/x86/cpu/Makefile       |  4 +++-
>  xen/arch/x86/include/asm/vpmu.h | 19 +++++++++++++++++++
>  2 files changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
> index 35561fe51d..eafce5f204 100644
> --- a/xen/arch/x86/cpu/Makefile
> +++ b/xen/arch/x86/cpu/Makefile
> @@ -10,4 +10,6 @@ obj-y += intel.o
>  obj-y += intel_cacheinfo.o
>  obj-y += mwait-idle.o
>  obj-y += shanghai.o
> -obj-y += vpmu.o vpmu_amd.o vpmu_intel.o
> +obj-y += vpmu.o
> +obj-$(CONFIG_AMD) += vpmu_amd.o
> +obj-$(CONFIG_INTEL) += vpmu_intel.o
> diff --git a/xen/arch/x86/include/asm/vpmu.h b/xen/arch/x86/include/asm/vpmu.h
> index dae9b43dac..e7a8f211f8 100644
> --- a/xen/arch/x86/include/asm/vpmu.h
> +++ b/xen/arch/x86/include/asm/vpmu.h
> @@ -11,6 +11,7 @@
>  #define __ASM_X86_HVM_VPMU_H_
>  
>  #include <public/pmu.h>
> +#include <xen/err.h>
>  
>  #define vcpu_vpmu(vcpu)   (&(vcpu)->arch.vpmu)
>  #define vpmu_vcpu(vpmu)   container_of((vpmu), struct vcpu, arch.vpmu)
> @@ -42,9 +43,27 @@ struct arch_vpmu_ops {
>  #endif
>  };
>  
> +#ifdef CONFIG_INTEL
>  const struct arch_vpmu_ops *core2_vpmu_init(void);
> +#else
> +static inline const struct arch_vpmu_ops *core2_vpmu_init(void)
> +{
> +    return ERR_PTR(-ENODEV);
> +}
> +#endif
> +#ifdef CONFIG_AMD
>  const struct arch_vpmu_ops *amd_vpmu_init(void);
>  const struct arch_vpmu_ops *hygon_vpmu_init(void);
> +#else
> +static inline const struct arch_vpmu_ops *amd_vpmu_init(void)
> +{
> +    return ERR_PTR(-ENODEV);
> +}
> +static inline const struct arch_vpmu_ops *hygon_vpmu_init(void)
> +{
> +    return ERR_PTR(-ENODEV);
> +}
> +#endif

At some point we'll need to discuss how to separate out hygon as well.
But for now:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Fri Apr 26 23:04:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 23:04:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713146.1114166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0UcP-0001i2-NL; Fri, 26 Apr 2024 23:04:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713146.1114166; Fri, 26 Apr 2024 23:04:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0UcP-0001hv-KM; Fri, 26 Apr 2024 23:04:37 +0000
Received: by outflank-mailman (input) for mailman id 713146;
 Fri, 26 Apr 2024 23:04: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=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0UcO-0001hp-Ir
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 23:04:36 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 581f355f-0421-11ef-909a-e314d9c70b13;
 Sat, 27 Apr 2024 01:04:35 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 90921CE1D5E;
 Fri, 26 Apr 2024 23:04:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26E25C113CD;
 Fri, 26 Apr 2024 23:04:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 581f355f-0421-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714172670;
	bh=aG0wMtmsgv/Qr/54VJjrVs73zpWfjihc5euZvlvW/Sk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MzzrVtSk5xn22YIMbeoyV1xQoiH+bOQ4OhNGRZfCMPEm1UIDz31udFQZb34vKTm9z
	 W8/PoVtXkDwOZiZkQADGuySNc+0KQRBW30dygaj739SL4ZblfYC7krVmdRXh1oSrhz
	 zxLH41Z0Os3nbWAxko+OBsN+glbnlw12u9I/3LpCD/us/U1CqBZsTtW2vRmdCAvkdu
	 UA/GvXYRQmqp2FGjiglngKrbJx4+zMixA9SsHHB6RlgZsJwyGU8T1bJc8YXwR1kbh9
	 S0eyebYY8+kpJONq8LHrb8d5kKl53BjWmiINF1zKFf3ginA6Dzui7PKGlX9Rdrerst
	 1tgP8+eeW9cMA==
Date: Fri, 26 Apr 2024 16:04:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 2/7] x86/intel: guard vmce_has_lmce() with INTEL
 option
In-Reply-To: <5e26895d84f8b7750799740ac2324b2cb92fa97e.1713860310.git.Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404261602590.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com> <5e26895d84f8b7750799740ac2324b2cb92fa97e.1713860310.git.Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
> Since MCG_LMCE_P bit is specific to Intel CPUs the code to check it can
> possibly be excluded from build if !CONFIG_INTEL. With these guards
> calls to vmce_has_lmce() are eliminated and mce_intel.c can end up
> not being built.
> 
> Also replace boilerplate code that checks for MCG_LMCE_P flag with
> vmce_has_lmce(), which might contribute to readability a bit.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 23:08:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 23:08:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713151.1114176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0UgM-0002IW-6K; Fri, 26 Apr 2024 23:08:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713151.1114176; Fri, 26 Apr 2024 23:08:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0UgM-0002IP-3j; Fri, 26 Apr 2024 23:08:42 +0000
Received: by outflank-mailman (input) for mailman id 713151;
 Fri, 26 Apr 2024 23:08:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0UgK-0002IJ-Ob
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 23:08:40 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e925b295-0421-11ef-909a-e314d9c70b13;
 Sat, 27 Apr 2024 01:08:38 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 99F7CCE1D5E;
 Fri, 26 Apr 2024 23:08:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4FABC113CD;
 Fri, 26 Apr 2024 23:08: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: e925b295-0421-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714172914;
	bh=mWKZC4+woYfTDVy4/Km9DdKRE+inb9dZ7wGSkDL99ks=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ko3ffcb7modPVTUAL2dKlsazGq5+UDYU0cp+nXw4nvgWF7WdxBsKfWw6+hG6pODgf
	 JAjejCn6L1YK69lcoYA8fhSWdfnWvYafHWfoOLdcrJz5r7eXkEbPTQZ1UjAP1dyUXY
	 Nk0MxYRU1OkqKgsgBglKD20UGSP8Wos4FnbPYo0V2A2Q0igSZIxNwje7FoXPTIeRk/
	 aQDGUrWnxEk8pUVXXtWXMOmMHs8ci2hrAOFND2+aQkihxova3Dg5uzKSoC37zexS/y
	 rHVr51j6NzXxkCcvwYB6PebtIBBLJYxzqfExRTkGRe0Uafv5Q//MHCgV9DFVtP6NpG
	 hMpQZpSv+VO4g==
Date: Fri, 26 Apr 2024 16:08:32 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 3/7] x86/MCE: guard access to Intel/AMD-specific
 MCA MSRs
In-Reply-To: <d187db984b9b5413d73849594985e10c2c2fdc03.1713860310.git.Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404261607210.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com> <d187db984b9b5413d73849594985e10c2c2fdc03.1713860310.git.Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
> Add build-time checks for newly introduced INTEL/AMD config options when
> calling vmce_{intel/amd}_{rdmsr/wrmsr}() routines.
> This way a platform-specific code can be omitted in vmce code, if this
> platform is disabled in config.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 23:11:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 23:11:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713153.1114187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Uig-0003i9-Is; Fri, 26 Apr 2024 23:11:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713153.1114187; Fri, 26 Apr 2024 23:11:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Uig-0003i2-Fr; Fri, 26 Apr 2024 23:11:06 +0000
Received: by outflank-mailman (input) for mailman id 713153;
 Fri, 26 Apr 2024 23:11: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=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0Uif-0003hs-5u
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 23:11:05 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40a0da9e-0422-11ef-909a-e314d9c70b13;
 Sat, 27 Apr 2024 01:11:04 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 68371620E6;
 Fri, 26 Apr 2024 23:11:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 288F6C113CD;
 Fri, 26 Apr 2024 23:11:01 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40a0da9e-0422-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714173062;
	bh=wQhZtx/fJTYvC/bvNFwdNpjKfRYseWxYxmYaXg8CdKo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LT4YTEIfOzyWwtgVHzwioBX9TdwzypEb8rxOQwrtHMeFc+YvV0zOfHYnrA5uH2Eg3
	 hhylVAiQ/T5vKwyfvrDOM9NDr2JUL/C9VLJ8y3ymjYGnqUgnpeeE2ihgTOFr+aLRWn
	 yhtBKGv0Twrh3BHk3CQi3PQLGEpUuOPsjcGIVtrdi0ixQESvSpcTH0Hpj39zzgAlR2
	 8wG7DYhuuusRCFGO1zI30pQ+SiNw7jTII44hVOV/Rgk5KkjBpBvy4+/vudSkNq0w2F
	 OdlChkmaCODJdrDwORvnXsZjQnfqAettBVInGKxUaunkRVqktSy4VAFNU0AHKXa9Fa
	 GAj/1KuuYLlpA==
Date: Fri, 26 Apr 2024 16:10:59 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 4/7] x86/MCE: guard lmce_support/cmci_support
In-Reply-To: <d5fa50b3056b96f3046be39ed682a8b347f1b425.1713860310.git.Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404261610530.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com> <d5fa50b3056b96f3046be39ed682a8b347f1b425.1713860310.git.Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
> Guard access to Intel-specific lmce_support & cmci_support variables in
> common MCE/VMCE code. These are set in Intel-specific parts of mcheck code
> and can potentially be skipped if building for non-intel platform by
> disabling CONFIG_INTEL option.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 23:12:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 23:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713158.1114197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Uk6-0004Eu-Sh; Fri, 26 Apr 2024 23:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713158.1114197; Fri, 26 Apr 2024 23:12:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Uk6-0004En-Pg; Fri, 26 Apr 2024 23:12:34 +0000
Received: by outflank-mailman (input) for mailman id 713158;
 Fri, 26 Apr 2024 23:12:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0Uk5-0004E5-Ms
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 23:12:33 +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 7502f17f-0422-11ef-b4bb-af5377834399;
 Sat, 27 Apr 2024 01:12:32 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id B072A6216B;
 Fri, 26 Apr 2024 23:12:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84180C113CD;
 Fri, 26 Apr 2024 23:12:29 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7502f17f-0422-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714173150;
	bh=WPoxjXTm0nfG6y73XtmRrBNoyKTUy2MuSWx4JRGPKPQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=a34swMpt30GoshRNA77+wOZaAIibbOUAT6ZGh+UzefyF/mf0R+oJPVlSnNQAH2/0s
	 ivyoxWFyI1jJCWMsubB1QKL48MWBXlAX3/N1j+5QMSUdYh8beE92tNsEqZ1r86w/pW
	 XIlnFbxj+8SWhkm3eNzuRGsXf+GS2xdmRhgFW439Pc6ZBRokaY6cQiPLUUdvS5XNxi
	 mcCL3iU9NcUyqa3riDDCd7NJPvsEPKSXQASwRMcaJkAc24G87qJoYXu07rzw3w43De
	 qofJgUkao4/0ngVIXn3sw6IXI3pBEv2tx4+gjiIe2L1w6ZolFDALNnwUfSxvfWMkdD
	 pVKYQthV81Dag==
Date: Fri, 26 Apr 2024 16:12:28 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 5/7] x86/MCE: guard {intel/amd}_mcheck_init()
 calls
In-Reply-To: <0c7d28740db4d6581ebc81a158c970258e547959.1713860310.git.Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404261612210.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com> <0c7d28740db4d6581ebc81a158c970258e547959.1713860310.git.Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
> Guard calls to CPU-specific mcheck init routines in common MCE code
> using new INTEL/AMD config options.
> 
> The purpose is not to build platform-specific mcheck code and calls to it,
> if this platform is disabled in config.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 23:15:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 23:15:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713161.1114206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0UmO-0005Uq-6s; Fri, 26 Apr 2024 23:14:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713161.1114206; Fri, 26 Apr 2024 23: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 1s0UmO-0005Uj-4O; Fri, 26 Apr 2024 23:14:56 +0000
Received: by outflank-mailman (input) for mailman id 713161;
 Fri, 26 Apr 2024 23:14:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0UmM-0005Ub-2h
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 23:14:54 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c79d449d-0422-11ef-b4bb-af5377834399;
 Sat, 27 Apr 2024 01:14:51 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 694F4CE1D47;
 Fri, 26 Apr 2024 23:14:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A294EC113CD;
 Fri, 26 Apr 2024 23:14:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c79d449d-0422-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714173287;
	bh=+NftBlS2Jyr/rhT6dPViUmRMbn6g4b3neRvetH/hXoY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OE+wpVIcLaN4aEc7aSYP7qVpFJHL3z1MDNcKQXGI7B5uObB9iLxquxlTbuP7p1acy
	 nbmi73e40ePRoWLmwoPkUPLF1cxBSfwtKr6f0wxAnwU/5egMqljfhQeQIwDYtvI792
	 wGW2iuyL1MJOMyYvg8wDC1OP3V/T49ogbCbdBgQVDxiZTNHMbPGcJzIoqEPqKS6UxZ
	 YK15M1ymI+3B2oKIH/O2odo14prr7dZZBwjnahZkssTAOk5E3azXLLDutGYlkk36N4
	 y0r/ixIpVzSedCjaXZq/22acZPTMCOOqqqiccV1/lfQ3E39kvwI6fIb4NGEOiM4ryV
	 6SSm60uBRd56A==
Date: Fri, 26 Apr 2024 16:14:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 6/7] x86/MCE: guard call to Intel-specific
 intel_get_extended_msrs()
In-Reply-To: <6769d564725912245cb83aaf7543933b4b5fb80d.1713860310.git.Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404261614290.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com> <6769d564725912245cb83aaf7543933b4b5fb80d.1713860310.git.Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
> Add check for CONFIG_INTEL build option to conditional call of this routine,
> so that if Intel support is disabled the call would be eliminated.
> 
> No functional change intended.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Fri Apr 26 23:16:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 26 Apr 2024 23:16:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713164.1114217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Unf-000619-ID; Fri, 26 Apr 2024 23:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713164.1114217; Fri, 26 Apr 2024 23:16:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Unf-000612-Fa; Fri, 26 Apr 2024 23:16:15 +0000
Received: by outflank-mailman (input) for mailman id 713164;
 Fri, 26 Apr 2024 23:16: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=/tzl=L7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1s0Une-00060u-Vu
 for xen-devel@lists.xenproject.org; Fri, 26 Apr 2024 23:16:14 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f931d0e3-0422-11ef-909a-e314d9c70b13;
 Sat, 27 Apr 2024 01:16: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 08EA0620DE;
 Fri, 26 Apr 2024 23:16:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BA429C113CD;
 Fri, 26 Apr 2024 23:16: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: f931d0e3-0422-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1714173371;
	bh=kVqyvQJVeQ8A8MTa8QG8mJDMn2FQMcL2iJAmirzaQw0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FHngelhi6Agfr2OMrpP5iZTiL8870AdwPrL0IifvBc9LJpQU3IC25ZFdqyDZa0lbY
	 lf65QVVyjo+kfADBCUixnvpUJPUnirtOf9NAdSjYc9f1t70j5MA8DJJ9MJLB6C8MCh
	 O353mQBd258jnUza9gO4ZnV84ot+FAx8Zt0NYzdTG7m6raoFzr35yO4TtC/kQHyS3s
	 1bFwRjuZBEtbdVeUUb1F30jUK1H8VRZSqHuHieX4njf/CPj7EAcx/yBA67qijk2iLJ
	 eGQ84ZE10sKzt7e68cd4c5Y7EWUCabv0t8WoEnyPGppcnCCm3NFPIHf3w5HpTm9vyA
	 krkexBe5WO7kg==
Date: Fri, 26 Apr 2024 16:16:09 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v1 7/7] x86/MCE: optional build of AMD/Intel MCE
 code
In-Reply-To: <82df6ef350a2b4f42ec7adf12a90ebeae1d133f6.1713860310.git.Sergiy_Kibrik@epam.com>
Message-ID: <alpine.DEB.2.22.394.2404261615250.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com> <82df6ef350a2b4f42ec7adf12a90ebeae1d133f6.1713860310.git.Sergiy_Kibrik@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
> Separate Intel/AMD-specific MCE code using CONFIG_{INTEL,AMD} config options.
> Now we can avoid build of mcheck code if support for specific platform is
> intentionally disabled by configuration.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/cpu/mcheck/Makefile    | 6 ++----
>  xen/arch/x86/cpu/mcheck/non-fatal.c | 6 ++++++
>  xen/arch/x86/cpu/mcheck/vmce.h      | 1 +
>  3 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/mcheck/Makefile b/xen/arch/x86/cpu/mcheck/Makefile
> index f927f10b4d..5b3f6d875c 100644
> --- a/xen/arch/x86/cpu/mcheck/Makefile
> +++ b/xen/arch/x86/cpu/mcheck/Makefile
> @@ -1,12 +1,10 @@
> -obj-y += amd_nonfatal.o
> -obj-y += mce_amd.o
>  obj-y += mcaction.o
>  obj-y += barrier.o
> -obj-y += intel-nonfatal.o
>  obj-y += mctelem.o
>  obj-y += mce.o
>  obj-y += mce-apei.o
> -obj-y += mce_intel.o
> +obj-$(CONFIG_AMD) += mce_amd.o amd_nonfatal.o
> +obj-$(CONFIG_INTEL) += mce_intel.o intel-nonfatal.o
>  obj-y += non-fatal.o
>  obj-y += util.o
>  obj-y += vmce.o

Awesome!

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> diff --git a/xen/arch/x86/cpu/mcheck/non-fatal.c b/xen/arch/x86/cpu/mcheck/non-fatal.c
> index 33cacd15c2..2d91a3b1e0 100644
> --- a/xen/arch/x86/cpu/mcheck/non-fatal.c
> +++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
> @@ -24,14 +24,20 @@ static int __init cf_check init_nonfatal_mce_checker(void)
>  	 * Check for non-fatal errors every MCE_RATE s
>  	 */
>  	switch (c->x86_vendor) {
> +#ifdef CONFIG_AMD
>  	case X86_VENDOR_AMD:
>  	case X86_VENDOR_HYGON:
>  		/* Assume we are on K8 or newer AMD or Hygon CPU here */
>  		amd_nonfatal_mcheck_init(c);
>  		break;
> +#endif
> +#ifdef CONFIG_INTEL
>  	case X86_VENDOR_INTEL:
>  		intel_nonfatal_mcheck_init(c);
>  		break;
> +#endif
> +	default:
> +		return -ENODEV;
>  	}
>  	printk(KERN_INFO "mcheck_poll: Machine check polling timer started.\n");
>  	return 0;

For consistency in all other cases this patch series uses IS_ENABLED
checks. They could be used here as well.


From xen-devel-bounces@lists.xenproject.org Sat Apr 27 02:17:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Apr 2024 02:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713181.1114227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Xd6-0005pR-2h; Sat, 27 Apr 2024 02:17:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713181.1114227; Sat, 27 Apr 2024 02:17:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Xd5-0005pK-Ut; Sat, 27 Apr 2024 02:17:31 +0000
Received: by outflank-mailman (input) for mailman id 713181;
 Sat, 27 Apr 2024 02: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=1uAk=MA=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1s0Xd3-0005oy-TU
 for xen-devel@lists.xenproject.org; Sat, 27 Apr 2024 02:17:30 +0000
Received: from fout7-smtp.messagingengine.com (fout7-smtp.messagingengine.com
 [103.168.172.150]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4996c77d-043c-11ef-b4bb-af5377834399;
 Sat, 27 Apr 2024 04:17:26 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfout.nyi.internal (Postfix) with ESMTP id 99B2A1380221;
 Fri, 26 Apr 2024 22:17:24 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 26 Apr 2024 22:17:24 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 Apr 2024 22:17:22 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4996c77d-043c-11ef-b4bb-af5377834399
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=fm3; t=
	1714184244; x=1714270644; bh=N/aW2kOumKklC284DupiCmroQ69aHkcyRPD
	p0W/862A=; b=owZdBGgjCFRSwQhYFDMTP2Zhic2HdakBAIiEE71W9Y945gUDINK
	239qmQI92yQdejTIEt5zuR3MRU7Ct9HChqi0W0Pq3sPdia0t5uDrVkXbqM94JXZv
	6iisv8RzEm7A4lhs9cp6+49q3l58zfWnmxraADo23J1D8U/+bIqaWpvhTnLmqfr5
	CuvQerf3Qj4+YVN+j2Y98w9BuoNSmH9WAz2W6kIC5sG/uDo5+5wIedzYlKesU7Iz
	E5v2u/7+YvoUlBT81R2qAzqmehmiE1BJX0BTtJpBpIQk+RIro3lDeu3jxXE2R/HA
	nCxEVZb8qfklxvhz1mU3/JUginTX5RAqz7A==
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=
	fm3; t=1714184244; x=1714270644; bh=N/aW2kOumKklC284DupiCmroQ69a
	HkcyRPDp0W/862A=; b=Z3Ys+thZuwKm1x0Xa+iOAAeuxjUsoGILBasrmjdbm3nT
	YtyP5mTA79Hs1YzV7hNInV2k+LSubvBCM3X6wFs7wX2qdnOZYzUydaLf5ZeJo28p
	SGaOnoUhPLYgP5e0dH4K7d3W2KS2SNXzQbIbjHeot2Apgar9CEbH9IRdAnf3uPfP
	rcJIe13Rc/cQqy2IdcwFShTeE/qmDKQ0zqtqdJxI59kh8dz40B62gZsQcg3YpyGS
	5n4KnIK2n30FOKfv3sK8mINiCpiV6uHcLt3MQGJAxwXFwZWCVaySmL9uzp3TJFD2
	6SvXCCQzSva6wJ5iO598WFiogAZmrbI0154JuU3mQQ==
X-ME-Sender: <xms:M2AsZkshPXiMvRdznHE348i8zAkTUhCQyLgxO6PKM1KTQa6Z18ipOw>
    <xme:M2AsZherCiGjIqOrvS-JNkhiy4fB6zZxBjlstw4TkX6JKXbs4Etto_dMu79cG6357
    wFGus_Kif5NT0M>
X-ME-Received: <xmr:M2AsZvza1UlzgJ8AJVp_SOpclvJ8ZIVKmYqtc-kxr_ks2b-rEOSBchpWe7dnfASwE63oONV7WYLETthTclW84_Qdss1vK50VXqgqiDEE-khbF_hsdzqamhlut0OKQ0GO>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvddttddgheekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhepvdefgeekvdekgfffgeekhfeijedtffek
    hefhleehfeejueetgfelgefgtdevieelnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:M2AsZnMRAEC3CMp46aM5LXZnDkKaJ27uIGLiJakWXnd-OAO7MgB6wg>
    <xmx:M2AsZk-E_FvtAy4lZzJvH8VB5rq9sOSFkK1Iz3-Xjc52HpKMOP4AcQ>
    <xmx:M2AsZvXrHQXWDJ_mRBV4ypRYVhD2asZKStXoHjIV9OwC55de9lwmfA>
    <xmx:M2AsZtcmNX7mL8U9UJxAhWTvnZlpnA1s0l1EVOmUUzQyEbh8m7Zlqg>
    <xmx:NGAsZoYZ_sIHQl3f7URRQtYFDA_hdYGXN55MWOgIzJeka3x5uxDUown0>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] libxl: Fix handling XenStore errors in device creation
Date: Fri, 26 Apr 2024 22:17:03 -0400
Message-ID: <84a6e6376ab9f5aafac8f33bf772d73fcfd0d818.1713998669.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

If xenstored runs out of memory it is possible for it to fail operations
that should succeed.  libxl wasn't robust against this, and could fail
to ensure that the TTY path of a non-initial console was created and
read-only for guests.  This doesn't qualify for an XSA because guests
should not be able to run xenstored out of memory, but it still needs to
be fixed.

Add the missing error checks to ensure that all errors are properly
handled and that at no point can a guest make the TTY path of its
frontend directory writable.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 tools/libs/light/libxl_console.c | 10 ++---
 tools/libs/light/libxl_device.c  | 72 ++++++++++++++++++++------------
 tools/libs/light/libxl_xshelp.c  | 13 ++++--
 3 files changed, 59 insertions(+), 36 deletions(-)

diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
index cd7412a3272a2faf4b9dab0ef4dd077e55472546..adf82aa844a4f4989111bfc8a94af18ad8e114f1 100644
--- a/tools/libs/light/libxl_console.c
+++ b/tools/libs/light/libxl_console.c
@@ -351,11 +351,10 @@ int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
         flexarray_append(front, "protocol");
         flexarray_append(front, LIBXL_XENCONSOLE_PROTOCOL);
     }
-    libxl__device_generic_add(gc, XBT_NULL, device,
-                              libxl__xs_kvs_of_flexarray(gc, back),
-                              libxl__xs_kvs_of_flexarray(gc, front),
-                              libxl__xs_kvs_of_flexarray(gc, ro_front));
-    rc = 0;
+    rc = libxl__device_generic_add(gc, XBT_NULL, device,
+                                   libxl__xs_kvs_of_flexarray(gc, back),
+                                   libxl__xs_kvs_of_flexarray(gc, front),
+                                   libxl__xs_kvs_of_flexarray(gc, ro_front));
 out:
     return rc;
 }
@@ -665,6 +664,7 @@ int libxl_device_channel_getinfo(libxl_ctx *ctx, uint32_t domid,
               */
              if (!val) val = "/NO-SUCH-PATH";
              channelinfo->u.pty.path = strdup(val);
+             if (channelinfo->u.pty.path == NULL) abort();
              break;
          default:
              break;
diff --git a/tools/libs/light/libxl_device.c b/tools/libs/light/libxl_device.c
index a3d9f6f7df24b6ce1241c9cf0394a01a42c31b41..4faa5fa3bd115354af0a7ff9785acccd848a51bf 100644
--- a/tools/libs/light/libxl_device.c
+++ b/tools/libs/light/libxl_device.c
@@ -177,8 +177,13 @@ int libxl__device_generic_add(libxl__gc *gc, xs_transaction_t t,
     ro_frontend_perms[1].perms = backend_perms[1].perms = XS_PERM_READ;
 
 retry_transaction:
-    if (create_transaction)
+    if (create_transaction) {
         t = xs_transaction_start(ctx->xsh);
+        if (t == XBT_NULL) {
+            LOGED(ERROR, device->domid, "xs_transaction_start failed");
+            return ERROR_FAIL;
+        }
+    }
 
     /* FIXME: read frontend_path and check state before removing stuff */
 
@@ -195,42 +200,55 @@ retry_transaction:
         if (rc) goto out;
     }
 
-    /* xxx much of this function lacks error checks! */
-
     if (fents || ro_fents) {
-        xs_rm(ctx->xsh, t, frontend_path);
-        xs_mkdir(ctx->xsh, t, frontend_path);
+        if (!xs_rm(ctx->xsh, t, frontend_path) && errno != ENOENT)
+            goto out;
+        if (!xs_mkdir(ctx->xsh, t, frontend_path))
+            goto out;
         /* Console 0 is a special case. It doesn't use the regular PV
          * state machine but also the frontend directory has
          * historically contained other information, such as the
          * vnc-port, which we don't want the guest fiddling with.
          */
         if ((device->kind == LIBXL__DEVICE_KIND_CONSOLE && device->devid == 0) ||
-            (device->kind == LIBXL__DEVICE_KIND_VUART))
-            xs_set_permissions(ctx->xsh, t, frontend_path,
-                               ro_frontend_perms, ARRAY_SIZE(ro_frontend_perms));
-        else
-            xs_set_permissions(ctx->xsh, t, frontend_path,
-                               frontend_perms, ARRAY_SIZE(frontend_perms));
-        xs_write(ctx->xsh, t, GCSPRINTF("%s/backend", frontend_path),
-                 backend_path, strlen(backend_path));
-        if (fents)
-            libxl__xs_writev_perms(gc, t, frontend_path, fents,
-                                   frontend_perms, ARRAY_SIZE(frontend_perms));
-        if (ro_fents)
-            libxl__xs_writev_perms(gc, t, frontend_path, ro_fents,
-                                   ro_frontend_perms, ARRAY_SIZE(ro_frontend_perms));
+            (device->kind == LIBXL__DEVICE_KIND_VUART)) {
+            if (!xs_set_permissions(ctx->xsh, t, frontend_path,
+                                    ro_frontend_perms, ARRAY_SIZE(ro_frontend_perms)))
+                goto out;
+        } else {
+            if (!xs_set_permissions(ctx->xsh, t, frontend_path,
+                                    frontend_perms, ARRAY_SIZE(frontend_perms)))
+                goto out;
+        }
+        if (!xs_write(ctx->xsh, t, GCSPRINTF("%s/backend", frontend_path),
+                      backend_path, strlen(backend_path)))
+            goto out;
+        if (fents) {
+            rc = libxl__xs_writev_perms(gc, t, frontend_path, fents,
+                                        frontend_perms, ARRAY_SIZE(frontend_perms));
+            if (rc) goto out;
+        }
+        if (ro_fents) {
+            rc = libxl__xs_writev_perms(gc, t, frontend_path, ro_fents,
+                                        ro_frontend_perms, ARRAY_SIZE(ro_frontend_perms));
+            if (rc) goto out;
+        }
     }
 
     if (bents) {
         if (!libxl_only) {
-            xs_rm(ctx->xsh, t, backend_path);
-            xs_mkdir(ctx->xsh, t, backend_path);
-            xs_set_permissions(ctx->xsh, t, backend_path, backend_perms,
-                               ARRAY_SIZE(backend_perms));
-            xs_write(ctx->xsh, t, GCSPRINTF("%s/frontend", backend_path),
-                     frontend_path, strlen(frontend_path));
-            libxl__xs_writev(gc, t, backend_path, bents);
+            if (!xs_rm(ctx->xsh, t, backend_path) && errno != ENOENT)
+                goto out;
+            if (!xs_mkdir(ctx->xsh, t, backend_path))
+                goto out;
+            if (!xs_set_permissions(ctx->xsh, t, backend_path, backend_perms,
+                                    ARRAY_SIZE(backend_perms)))
+                goto out;
+            if (!xs_write(ctx->xsh, t, GCSPRINTF("%s/frontend", backend_path),
+                          frontend_path, strlen(frontend_path)))
+                goto out;
+            rc = libxl__xs_writev(gc, t, backend_path, bents);
+            if (rc) goto out;
         }
 
         /*
@@ -276,7 +294,7 @@ retry_transaction:
  out:
     if (create_transaction && t)
         libxl__xs_transaction_abort(gc, &t);
-    return rc;
+    return rc != 0 ? rc : ERROR_FAIL;
 }
 
 typedef struct {
diff --git a/tools/libs/light/libxl_xshelp.c b/tools/libs/light/libxl_xshelp.c
index 751cd942d95334191885ba3e8e45b77f7de82e34..a6e34ab10f23e674529d81419ec478dbad456deb 100644
--- a/tools/libs/light/libxl_xshelp.c
+++ b/tools/libs/light/libxl_xshelp.c
@@ -60,10 +60,15 @@ int libxl__xs_writev_perms(libxl__gc *gc, xs_transaction_t t,
     for (i = 0; kvs[i] != NULL; i += 2) {
         path = GCSPRINTF("%s/%s", dir, kvs[i]);
         if (path && kvs[i + 1]) {
-            int length = strlen(kvs[i + 1]);
-            xs_write(ctx->xsh, t, path, kvs[i + 1], length);
-            if (perms)
-                xs_set_permissions(ctx->xsh, t, path, perms, num_perms);
+            size_t length = strlen(kvs[i + 1]);
+            if (length > UINT_MAX)
+                return ERROR_FAIL;
+            if (!xs_write(ctx->xsh, t, path, kvs[i + 1], length))
+                return ERROR_FAIL;
+            if (perms) {
+                if (!xs_set_permissions(ctx->xsh, t, path, perms, num_perms))
+                    return ERROR_FAIL;
+            }
         }
     }
     return 0;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Sat Apr 27 03:40:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Apr 2024 03:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713193.1114238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0Yuk-0008Oc-UM; Sat, 27 Apr 2024 03:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713193.1114238; Sat, 27 Apr 2024 03: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 1s0Yuk-0008OV-Ox; Sat, 27 Apr 2024 03:39:50 +0000
Received: by outflank-mailman (input) for mailman id 713193;
 Sat, 27 Apr 2024 03: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 1s0Yuk-0008OL-1G; Sat, 27 Apr 2024 03: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 1s0Yuj-0006pP-Qn; Sat, 27 Apr 2024 03:39: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 1s0Yuj-0005G9-Fp; Sat, 27 Apr 2024 03:39:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0Yuj-0003Wm-Ev; Sat, 27 Apr 2024 03: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=zOQ16IpjQdDMRTZ2dm+va6AOIddI4k2JT+ZLOJcHOR8=; b=6PH3T8jvV+toswRG6k8rqX+vIV
	78iJ4pBzoR+1Z5H2R7ofEc9lPbP60eGOMkcrX+e4hsn+K0ycHzHo2AknCpVpTJe3rn/TGa82JnoEh
	bBgaFo7rAPVcSMZ33M3dgnm1l8w3I4hq1riChK0QsNtkEjnGciDcbbjFMzCK8wT2ZV+Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185824-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185824: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-vhd:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd: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-examine:reboot:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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
    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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3022bf37da50ce0ee3ba443ec5f86fa8c28aacd0
X-Osstest-Versions-That:
    linux=c942a0cd3603e34dd2d7237e064d9318cb7f9654
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Apr 2024 03:39:49 +0000

flight 185824 linux-linus real [real]
flight 185827 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185824/
http://logs.test-lab.xenproject.org/osstest/logs/185827/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 185802

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 185827-retest
 test-armhf-armhf-libvirt-vhd  8 xen-boot            fail pass in 185827-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 185827 like 185802
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 185827 never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check fail in 185827 never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check fail in 185827 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185802
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185802
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185802
 test-armhf-armhf-examine      8 reboot                       fail  like 185802
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185802
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185802
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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
 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                3022bf37da50ce0ee3ba443ec5f86fa8c28aacd0
baseline version:
 linux                c942a0cd3603e34dd2d7237e064d9318cb7f9654

Last test of basis   185802  2024-04-26 01:58:59 Z    1 days
Testing same since   185824  2024-04-26 18:40:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Baoquan He <bhe@redhat.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Christian Brauner <brauner@kernel.org>
  Christian Gmeiner <cgmeiner@igalia.com>
  Christian König <christian.koenig@amd.com>
  Dan Williams <dan.j.williams@intel.com>
  Dave Airlie <airlied@redhat.com>
  Dave Jiang <dave.jiang@intel.com>
  David Hildenbrand <david@redhat.com>
  David Howells <dhowells@redhat.com>
  Derek Foreman <derek.foreman@collabora.com>
  Enrico Bartky <enrico.bartky@gmail.com>
  Felix Kuehling <felix.kuehling@amd.com>
  Gang BA <Gang.Ba@amd.com>
  Günther Noack <gnoack@google.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Jack Xiao <Jack.Xiao@amd.com>
  Jiantao Shan <shanjiantao@loongson.cn>
  Johan Hovold <johan+linaro@kernel.org>
  Joshua Ashton <joshua@froggi.es>
  Kent Overstreet <kent.overstreet@linux.dev>
  Lang Yu <Lang.Yu@amd.com>
  Leonard Göhrs <l.goehrs@pengutronix.de>
  Lijo Lazar <lijo.lazar@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Lucas Stach <l.stach@pengutronix.de>
  Ma Jun <Jun.Ma2@amd.com>
  Matthew Sakai <msakai@redhat.com>
  Michal Wajdeczko <michal.wajdeczko@intel.com>
  Miguel Ojeda <ojeda@kernel.org>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Mukul Joshi <mukul.joshi@amd.com>
  Nam Cao <namcao@linutronix.de>
  Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
  Peyton Lee <peytolee@amd.com>
  Prathamesh Shete <pshete@nvidia.com>
  Prike Liang <Prike.Liang@amd.com>
  Thierry Reding <treding@nvidia.com>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Scherer <t.scherer@eckelmann.de>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Uwe Kleine-König <ukleinek@kernel.org>
  Yu Kuai <yukuai3@huawei.com>
  Yunxiang Li <Yunxiang.Li@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                                  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                                     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                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-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


Not pushing.

(No revision log; it would be 1224 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Apr 27 06:46:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Apr 2024 06:46:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713225.1114299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0boz-0000EZ-G8; Sat, 27 Apr 2024 06:46:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713225.1114299; Sat, 27 Apr 2024 06:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0boz-0000ER-As; Sat, 27 Apr 2024 06:46:05 +0000
Received: by outflank-mailman (input) for mailman id 713225;
 Sat, 27 Apr 2024 06:46:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0boy-0000Dv-Kp; Sat, 27 Apr 2024 06:46:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0boy-0002gz-JH; Sat, 27 Apr 2024 06:46:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0box-00040J-TC; Sat, 27 Apr 2024 06:46:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0box-0002jI-Ss; Sat, 27 Apr 2024 06:46:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TBNVUryjZFQirvfLkUsdw8wrmo8rKpq0kXmxDK5xFcg=; b=aUxVPpdzvdfVSeYv3QbXTInx7/
	cj/MG1ydXvp6NpdiCZVjjIQEm1b1AdZUcRBa8OCnS4y7Y5ocyb3mSuNkRBHi1m5gH8vmucCTY9l+B
	rXdFF5mrPg2uavUMulnE8RAN/YkaJoBPOswVRXVTWNHVT1XZSMh/BRb5tfx1IdAC4CMA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185826-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185826: 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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu: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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
X-Osstest-Versions-That:
    xen=31d6b5b4a7c84818294dacca7a07e92f52393c9d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Apr 2024 06:46:03 +0000

flight 185826 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185826/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185794
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185794
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185794
 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          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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     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                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230
baseline version:
 xen                  31d6b5b4a7c84818294dacca7a07e92f52393c9d

Last test of basis   185794  2024-04-25 05:57:18 Z    2 days
Failing since        185800  2024-04-25 20:10:40 Z    1 days    3 attempts
Testing same since   185826  2024-04-26 19:07:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Edwin Török <edwin.torok@cloud.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Petr Beneš <w1benny@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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
   31d6b5b4a7..be5b08dd6e  be5b08dd6ea6ef0f01caf537bdae125fa66a2230 -> master


From xen-devel-bounces@lists.xenproject.org Sat Apr 27 12:16:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Apr 2024 12:16:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713306.1114372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0gyV-0001L7-Eb; Sat, 27 Apr 2024 12:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713306.1114372; Sat, 27 Apr 2024 12:16:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0gyV-0001L0-BG; Sat, 27 Apr 2024 12:16:15 +0000
Received: by outflank-mailman (input) for mailman id 713306;
 Sat, 27 Apr 2024 12:16: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 1s0gyT-0001Kq-Jl; Sat, 27 Apr 2024 12:16: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 1s0gyT-0000v3-Fq; Sat, 27 Apr 2024 12:16: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 1s0gyT-00009H-2W; Sat, 27 Apr 2024 12:16:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0gyT-0007xy-22; Sat, 27 Apr 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=32QqkR2CjlU8erSYMUlY/JHN+uhbV1/YkztEjrqmPss=; b=coaZerhDQBdKQBN0f2Q6BZ2mqp
	hASlOx/EYWmjEZpwO9G1ArkAs+1845ffypXnR8V5pkRuNrmuyECBW5CWbPX7y44svlR8FNgWt3Inq
	1/2x/LgFcGvL5gGaVrGI5tc1NrpBN5RiUBwXBA5vR3fEplUCc+0D0YLP6CHPJ3zO4Kik=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185828-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185828: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-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
    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
X-Osstest-Versions-This:
    linux=5eb4573ea63d0c83bf58fb7c243fc2c2b6966c02
X-Osstest-Versions-That:
    linux=c942a0cd3603e34dd2d7237e064d9318cb7f9654
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Apr 2024 12:16:13 +0000

flight 185828 linux-linus real [real]
flight 185831 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185828/
http://logs.test-lab.xenproject.org/osstest/logs/185831/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot            fail pass in 185831-retest
 test-armhf-armhf-xl-credit1   8 xen-boot            fail pass in 185831-retest
 test-armhf-armhf-xl-credit2   8 xen-boot            fail pass in 185831-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 185802

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 185831 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 185831 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 185831 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 185831 never pass
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 185831 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 185831 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185802
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185802
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185802
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185802
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185802
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185802
 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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-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:
 linux                5eb4573ea63d0c83bf58fb7c243fc2c2b6966c02
baseline version:
 linux                c942a0cd3603e34dd2d7237e064d9318cb7f9654

Last test of basis   185802  2024-04-26 01:58:59 Z    1 days
Failing since        185824  2024-04-26 18:40:13 Z    0 days    2 attempts
Testing same since   185828  2024-04-27 03:43:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexey Brodkin <abrodkin@synopsys.com>
  Alexey Brodkin <Alexey.Brodkin@synopsys.com>
  Andrei Simion <andrei.simion@microchip.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Ryabinin <ryabinin.a.a@gmail.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Yan <andyshrk@163.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Baoquan He <bhe@redhat.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Chen-Yu Tsai <wenst@chromium.org>
  Christian Brauner <brauner@kernel.org>
  Christian Gmeiner <cgmeiner@igalia.com>
  Christian Heusel <christian@heusel.eu>
  Christian König <christian.koenig@amd.com>
  Christian Marangi <ansuelsmth@gmail.com>
  Claudiu Beznea <claudiu.beznea@tuxon.dev>
  Conor Dooley <conor.dooley@microchip.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Golle <daniel@makrotopia.org>
  Dave Airlie <airlied@redhat.com>
  Dave Jiang <dave.jiang@intel.com>
  David Hildenbrand <david@redhat.com>
  David Howells <dhowells@redhat.com>
  Derek Foreman <derek.foreman@collabora.com>
  Dragan Simic <dsimic@manjaro.org>
  Drew Fustini <drew@pdp7.com>
  Edward Liaw <edliaw@google.com>
  Enrico Bartky <enrico.bartky@gmail.com>
  Felix Kuehling <felix.kuehling@amd.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Gang BA <Gang.Ba@amd.com>
  Günther Noack <gnoack@google.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Ikjoon Jang <ikjn@chromium.org>
  Iskander Amara <iskander.amara@theobroma-systems.com>
  Jack Xiao <Jack.Xiao@amd.com>
  Jiantao Shan <shanjiantao@loongson.cn>
  Johan Hovold <johan+linaro@kernel.org>
  Johannes Weiner <hannes@cmpxchg.org>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Joshua Ashton <joshua@froggi.es>
  Kent Overstreet <kent.overstreet@linux.dev>
  Konrad Dybcio <konrad.dybcio@linaro.org> # X13s
  Krzysztof Kozlowski <krzk@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lang Yu <Lang.Yu@amd.com>
  Leonard Göhrs <l.goehrs@pengutronix.de>
  Lijo Lazar <lijo.lazar@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Weiss <luca.weiss@fairphone.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Lucas Stach <l.stach@pengutronix.de>
  Ma Jun <Jun.Ma2@amd.com>
  Maksim Kiselev <bigunclemax@gmail.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Mantas Pucka <mantas@8devices.com>
  Marek Vasut <marex@denx.de>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthew Sakai <msakai@redhat.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Maximilian Luz <luzmaximilian@gmail.com>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Heimpold <michael.heimpold@chargebyte.com>
  Michal Wajdeczko <michal.wajdeczko@intel.com>
  Miguel Ojeda <ojeda@kernel.org>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Muhammed Efe Cetin <efectn@protonmail.com>
  Mukul Joshi <mukul.joshi@amd.com>
  Nam Cao <namcao@linutronix.de>
  Neil Armstrong <neil.armstrong@linaro.org>
  Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
  Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
  Nicolas Ferre <nicolas.ferre@microchip.com>
  Nícolas F. R. A. Prado <nfraprado@collabora.com>
  Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
  Peter Xu <peterx@redhat.com>
  Peyton Lee <peytolee@amd.com>
  Pin-yen Lin <treapking@chromium.org>
  Prathamesh Shete <pshete@nvidia.com>
  Prike Liang <Prike.Liang@amd.com>
  Quentin Schulz <quentin.schulz@theobroma-systems.com>
  Rafał Miłecki <rafal@milecki.pl>
  Rajendra Nayak <quic_rjendra@quicinc.com>
  Rob Herring <robh@kernel.org>
  Sergei Antonov <saproj@gmail.com>
  Shawn Guo <shawnguo@kernel.org>
  Stefan Wahren <wahrenst@gmx.net>
  Thierry Reding <treding@nvidia.com>
  Thomas Zimmermann <tzimmermann@suse.de>
  Thorsten Scherer <t.scherer@eckelmann.de>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Uwe Kleine-König <ukleinek@kernel.org>
  Vineet Gupta <vgupta@kernel.org>
  Vishal Moola (Oracle) <vishal.moola@gmail.com>
  Vlastimil Babka <vbabka@suse.cz>
  Weiyi Lu <weiyi.lu@mediatek.com>
  William Zhang <william.zhang@broadcom.com>
  Xi Ruoyao <xry111@xry111.site>
  Xiubo Li <xiubli@redhat.com>
  Yosry Ahmed <yosryahmed@google.com>
  Yu Kuai <yukuai3@huawei.com>
  Yunxiang Li <Yunxiang.Li@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                                          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                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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
   c942a0cd3603..5eb4573ea63d  5eb4573ea63d0c83bf58fb7c243fc2c2b6966c02 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Apr 27 12:29:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Apr 2024 12:29:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713314.1114382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0hBL-0003AQ-GQ; Sat, 27 Apr 2024 12:29:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713314.1114382; Sat, 27 Apr 2024 12:29:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0hBL-0003AJ-DZ; Sat, 27 Apr 2024 12:29:31 +0000
Received: by outflank-mailman (input) for mailman id 713314;
 Sat, 27 Apr 2024 12:29: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 1s0hBJ-0003A9-R9; Sat, 27 Apr 2024 12:29: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 1s0hBJ-0001KL-Q5; Sat, 27 Apr 2024 12:29: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 1s0hBJ-0000VK-DO; Sat, 27 Apr 2024 12:29:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0hBJ-00054H-Co; Sat, 27 Apr 2024 12:29:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nf2tOq+KVTOHK6KpSWxhsqdbpUuC7AoCepOgYqbWtL8=; b=UAeHkD87Ov8Q1sjRNnABqTQrhl
	3oBNsuj12Q/ZRBWWngNpiZulzwDcAksl0XLLF/960zxayZYSvG37Zx1+c4aYMpS9KfphotRHcLKZd
	Psnvt/UBluarNnw/4S1iNGgU6hYa8kyp0+UlgbvPlWBbvSH7xe8mltL6xzMqzibrrI2A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185829-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 185829: 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-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-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=51589f154d9ca1ea76db42784bbfee9752c5a72b
X-Osstest-Versions-That:
    libvirt=5540c3d2415c194b206f8946cf74b13648163332
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Apr 2024 12:29:29 +0000

flight 185829 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185829/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185804
 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-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-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-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              51589f154d9ca1ea76db42784bbfee9752c5a72b
baseline version:
 libvirt              5540c3d2415c194b206f8946cf74b13648163332

Last test of basis   185804  2024-04-26 04:20:29 Z    1 days
Testing same since   185829  2024-04-27 04:18:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Göran Uddeborg <goeran@uddeborg.se>
  Jiri Denemark <jdenemar@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-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
   5540c3d241..51589f154d  51589f154d9ca1ea76db42784bbfee9752c5a72b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Apr 27 16:45:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Apr 2024 16:45:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713408.1114393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0lAW-00024x-TZ; Sat, 27 Apr 2024 16:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713408.1114393; Sat, 27 Apr 2024 16:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0lAW-00024q-Pi; Sat, 27 Apr 2024 16:44:56 +0000
Received: by outflank-mailman (input) for mailman id 713408;
 Sat, 27 Apr 2024 16:44: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 1s0lAV-00024g-OX; Sat, 27 Apr 2024 16:44: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 1s0lAV-0006eG-Lg; Sat, 27 Apr 2024 16:44: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 1s0lAV-0006kP-9b; Sat, 27 Apr 2024 16:44:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0lAV-0008O9-6U; Sat, 27 Apr 2024 16:44:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=p62PBU6OQnKA0/toD4GNii15lMo/bnzZolFdGaIt9Vo=; b=fdb4xBF7HLeP4W6E7+ps6CAuY+
	SFQl8XdW3TwTOcTd9ZUBFCXumcvsCyxbWEuZ8oAQ8txtOUdBLLopEz8TjZB3qPbkqoE17aeDbW7m8
	zF563j0q8dO6D7Q1xAED3K28XHNaLM4yxXYeYfWlpxD57I2HpsJ2V1Robv5CxQL8eHPE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185830-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185830: 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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu: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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
X-Osstest-Versions-That:
    xen=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Apr 2024 16:44:55 +0000

flight 185830 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185830/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185826
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185826
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185826
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185826
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185826
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185826
 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          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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     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                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230
baseline version:
 xen                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230

Last test of basis   185830  2024-04-27 06:50: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 Sat Apr 27 21:23:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 27 Apr 2024 21:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713461.1114419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0pVV-0003bl-2A; Sat, 27 Apr 2024 21:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713461.1114419; Sat, 27 Apr 2024 21:22:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0pVU-0003be-VN; Sat, 27 Apr 2024 21:22:52 +0000
Received: by outflank-mailman (input) for mailman id 713461;
 Sat, 27 Apr 2024 21:22:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0pVT-0003bU-Gx; Sat, 27 Apr 2024 21:22:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0pVT-0002yS-5Y; Sat, 27 Apr 2024 21:22:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0pVS-0002Wk-PM; Sat, 27 Apr 2024 21:22:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0pVS-00059y-Ow; Sat, 27 Apr 2024 21:22:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=X1skEp6rJzb1sPDgGkl0txd1Mtbj3pxQbxPKwZc3k6I=; b=3CXmh3csJHrxIRhXwm9xxf866z
	VFygrlzKxoCpHf/uhp+qcQph/eG/F4pLwuEgyN3N9fc6GRMZABNT0J+/ETUr9+rUEEVLqPUXIlphf
	ohLfxSCpBHptkshSHPNUWmQXcPhnqwIEPiPUS9df7u/ctHmuCbMZ5H23ijHJZRVns53g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185832-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185832: regressions - FAIL
X-Osstest-Failures:
    linux-6.1:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-6.1:build-armhf-pvops:kernel-build:fail:regression
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked: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-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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm: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-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2: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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f2295faba5e8249ae4082791bfc1664c88fff83a
X-Osstest-Versions-That:
    linux=6741e066ec7633450d3186946035c1f80c4226b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 27 Apr 2024 21:22:50 +0000

flight 185832 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185832/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 185746
 build-armhf-pvops             6 kernel-build             fail REGR. vs. 185746
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 185746
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 185746

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185746
 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-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-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                f2295faba5e8249ae4082791bfc1664c88fff83a
baseline version:
 linux                6741e066ec7633450d3186946035c1f80c4226b8

Last test of basis   185746  2024-04-20 18:14:28 Z    7 days
Testing same since   185832  2024-04-27 15:44:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ai Chao <aichao@kylinos.cn>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andrew Morton <akpm@linux-foundation.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bjorn Helgaas <bhelgaas@google.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brenton Simpson <appsforartists@google.com>
  Carlos Llamas <cmllamas@google.com>
  Carolina Jubran <cjubran@nvidia.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chinmoy Ghosh <chinmoyghosh2001@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuanhong Guo <gch981213@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Coia Prant <coiaprant@gmail.com>
  Daniel Golle <daniel@makrotopia.org>
  Daniele Palmas <dnlplm@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Yang <mmyangfl@gmail.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Finn Thain <fthain@linux-m68k.org>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geoffrey D. Bennett <g@b4.vu>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jarkko Nikula <jarkko.nikula@bitmer.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jens Axboe <axboe@kernel.dk>
  Jeongjun Park <aha310510@gmail.com>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Kosina <jkosina@suse.cz>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kelvin Cao <kelvin.cao@microchip.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lei Chen <lei.chen@smartx.com>
  Leon Romanovsky <leon@kernel.org>
  Like Xu <likexu@tencent.com>
  Linus Walleij <linus.walleij@linaro.org>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Mark Zhang <markzhang@nvidia.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Pastore <mike@oobak.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Mike Rapoport <rppt@linux.ibm.com>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miles Chen <miles.chen@mediatek.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Mingming Su <mingming.su@mediatek.com>
  Mintu Patel <mintupatel89@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oscar Salvador <osalvador@suse.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pasha Tatashin <pasha.tatashin@soleen.com>
  Pekka Paalanen <pekka.paalanen@collabora.com>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Philippe Perrot <philippe@perrot-net.fr>
  Pin-yen Lin <treapking@chromium.org>
  Qiang Zhang <qiang4.zhang@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ron Economos <re@w6rz.net>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tariq Toukan <tariqt@nvidia.com>
  Tejun Heo <tj@kernel.org>
  Tim Huang <Tim.Huang@amd.com>
  Todd Kjos <tkjos@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Vimal Kumar <vimal.kumar32@gmail.com>
  Vishal Badole <badolevishal1116@gmail.com>
  Vladimir Oltean <olteanv@gmail.com>
  xinhui pan <xinhui.pan@amd.com>
  xiongxin <xiongxin@kylinos.cn>
  Yanjun.Zhu <yanjun.zhu@linux.dev>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Yaxiong Tian <tianyaxiong@kylinos.cn>
  Ye Li <ye.li@broadcom.com>
  Yu Zhe <yuzhe@nfschina.com>
  Yuanhe Shu <xiangzao@linux.alibaba.com>
  Yuntao Wang <ytcoode@gmail.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            fail    
 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                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              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                                  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 4764 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Apr 28 02:10:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 02:10:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713492.1114456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0tzp-0007xD-1S; Sun, 28 Apr 2024 02:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713492.1114456; Sun, 28 Apr 2024 02:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0tzo-0007x6-Ux; Sun, 28 Apr 2024 02:10:28 +0000
Received: by outflank-mailman (input) for mailman id 713492;
 Sun, 28 Apr 2024 02:10:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RfFb=MB=gmail.com=dmitry.torokhov@srs-se1.protection.inumbo.net>)
 id 1s0tzo-0007x0-7G
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 02:10:28 +0000
Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com
 [2607:f8b0:4864:20::22e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a316060-0504-11ef-909a-e314d9c70b13;
 Sun, 28 Apr 2024 04:10:26 +0200 (CEST)
Received: by mail-oi1-x22e.google.com with SMTP id
 5614622812f47-3c74ff209f6so2317840b6e.0
 for <xen-devel@lists.xenproject.org>; Sat, 27 Apr 2024 19:10:26 -0700 (PDT)
Received: from google.com ([2620:15c:9d:2:5ae9:912b:8980:d67c])
 by smtp.gmail.com with ESMTPSA id
 j22-20020a056a00235600b006ea7d877191sm16963376pfj.2.2024.04.27.19.10.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 27 Apr 2024 19:10: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: 7a316060-0504-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714270225; x=1714875025; 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=j25O0uJoaqNnY/ehouxnDjRK54rAQQT8GHfQlfgnn4s=;
        b=lNejjYIuDX/J9Zg7Yu0lFT7nkjusFmAHTp+/ygkVOnK2T0/ZrBVR1PUvXCeiBNTZJe
         sfu8DamPLjjJEs9fE1fGLashjT8eu3qbRlssw79hjTG7Mx3Mh9RXqwzcjtEPrUELj5if
         HJ7wHHcIhTp29pytAerCm9VRQoK2tMGJVLIF8lS/33As0O0O9i1K7+bfQL3BjEwvIvgn
         3PSXTWAQnJ2A1Jcd7+fASu1rEnTR+dT1poeXm4EsAgGdYFx+R8wtYw+hIDLY0e8Z1Mmy
         /1x0AcxxW/e4+w6jWJ+wGDFxW6r9LA7+o6czjaFA/IRhI0f4WIcpe0bkWYqGnMtohCnZ
         8ksQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714270225; x=1714875025;
        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=j25O0uJoaqNnY/ehouxnDjRK54rAQQT8GHfQlfgnn4s=;
        b=nw0uRFnVM4JSR48a3G2qP4Vv4AAnbuzplwlYtTT+DYoLlMbNtUC+YRzYuxZlRoOhPN
         QXksyVOPaJzEdmPWR3YW65TllsCEvdbBcqPnrclWqS9N5ovs9+tNUm5ULP068Oqn+erS
         BMS+X4cSHYqz8uHkmcpxyMxYyilyVzQ80ieSecre+gqiY/RJr8L3AN6f6/+PKzUwADmf
         KazczQAOhDw4m/U9rsUMRl01IQ8u6xadmWJH+xYnhbAu59T7EeVOMWsB6y8zsMSpP1ok
         8X8iisdYacWXCtT9/Cqf6Pnk+W6DRlV8HzQqTNCN1EUDFOG9ROKW/yAUdNF+pNdMtL7D
         jZNA==
X-Forwarded-Encrypted: i=1; AJvYcCXrQYvL0jMAlp6LemuxpjECVJD8jTUiU/z6UNQ4rzZ5Q1VxCQaZi7pDaRSkdMqfeF5/2X/wiki2h8N4MO6lXKs8UwCbjxo7OYR52PE2/xY=
X-Gm-Message-State: AOJu0Yys+jLJSgwdc1Iudlfne9m4X+zwbJ8lYGlnn7HA7GDtQXTEkveO
	dtQgrOfQvA3dh5b0+JC0DLrO8dUmm9O4Rm1K1jZ/Ff54+qfVy0l6
X-Google-Smtp-Source: AGHT+IHtX6yRgJyzoddZByQyAWFPvLNk2129HSIFKQBNavTxch+yNcgxHbPrMp8a0EE9DUC+bfmMSQ==
X-Received: by 2002:a54:4512:0:b0:3c8:2be2:7833 with SMTP id l18-20020a544512000000b003c82be27833mr8183995oil.37.1714270225235;
        Sat, 27 Apr 2024 19:10:25 -0700 (PDT)
Date: Sat, 27 Apr 2024 19:10:22 -0700
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: linux-kernel@vger.kernel.org, Phillip Susi <phill@thesusis.net>,
	stable@vger.kernel.org,
	Mattijs Korpershoek <mkorpershoek@baylibre.com>,
	linux-input@vger.kernel.org,
	xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3] Input: xen-kbdfront - drop keys to shrink modalias
Message-ID: <Zi2wDivw7XBuNnj-@google.com>
References: <20231011193444.81254-1-jandryuk@gmail.com>
 <CAKf6xpuJe6Cza6bow3QxDGf1viu0kish7Y8YRN8haXL1oEF3HA@mail.gmail.com>
 <CAKf6xpv2oDpPB3wWh=Fz_ahDVgmvw2MSj_q3RYqQ8NG6km5Tuw@mail.gmail.com>
 <ZgWxYvQH4A_Vh1i4@google.com>
 <CAKf6xpu+8Uh263NqKm1qFkYG9VzHH-p4UZ=x+Fm+-SHR7J5=wQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAKf6xpu+8Uh263NqKm1qFkYG9VzHH-p4UZ=x+Fm+-SHR7J5=wQ@mail.gmail.com>

Hi Jason,

On Sun, Apr 21, 2024 at 07:57:24PM -0400, Jason Andryuk wrote:
> Hi Dmitry,
> 
> On Thu, Mar 28, 2024 at 2:05 PM Dmitry Torokhov
> <dmitry.torokhov@gmail.com> wrote:
> >
> > Hi Jason,
> >
> > On Wed, Mar 20, 2024 at 01:42:27PM -0400, Jason Andryuk wrote:
> > > Hi Dmitry,
> > >
> > > Do you have any feedback, or can you pick up this patch?  It solves a
> > > real issue affecting udev, which crashes the Debian installer and
> > > breaks the mouse for Gnome.
> > >
> > > Or would you be okay if this patch went in via the Xen tree?
> >
> > I'd rather not. Could you please ping me in 2 weeks on this. I promise
> > we find a solution before the next release.
> 
> It's been ~3 weeks.  Any ideas?
> 
> If you think this patch should be pursued in this form, I'd like to
> post a v4 that adds BTN_DPAD_{UP,DOWN,LEFT,RIGHT} on the off chance
> someone wants to use a controller.  I dropped them initially since
> they are not keyboard keys, but button presses are delivered through
> the keyboard.  Hence, they should be included.

I do not think suppressing random keys in the driver is a good idea,
because we may fill up what you currently consider as gaps, and
people will be confused why certain events are not being delivered.

I just posted a patch (you are CCed) that attempts to trim too long 
modalias strings, please take a look and see if that solves your issue.

Thanks.

-- 
Dmitry


From xen-devel-bounces@lists.xenproject.org Sun Apr 28 03:57:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 03:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713520.1114484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0vel-0004S2-BB; Sun, 28 Apr 2024 03:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713520.1114484; Sun, 28 Apr 2024 03:56:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0vel-0004Rv-7v; Sun, 28 Apr 2024 03:56:51 +0000
Received: by outflank-mailman (input) for mailman id 713520;
 Sun, 28 Apr 2024 03:56: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 1s0vek-0004Rl-4M; Sun, 28 Apr 2024 03:56: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 1s0vej-0003Bs-T7; Sun, 28 Apr 2024 03:56: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 1s0vej-0001Do-L0; Sun, 28 Apr 2024 03:56:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0vej-0007kW-KT; Sun, 28 Apr 2024 03:56:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YmkjicHNVS2JMNhCxbhFhm10VQCO0fMUXV8aJNvpxLU=; b=gZH9FeXSLLG78W7kgyHeJ/4sOK
	71zLZNY2alT+lSIJPEmEi+lWawtSOaKDTx6ITlU4W0Ma3WHcMKF/SYruXFvX2pyO3NNo77ppeD6Jc
	uKET+gGMAkjSQJZdKp7dKEMK2xjRhuNzQu+TytSOXugZHb8ewSudKxApVQiR+nIb0Zfw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185833-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185833: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt: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-xl-rtds:xen-boot:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=5d12ed4bea4343ca3adbe3c23c8d149485de5010
X-Osstest-Versions-That:
    linux=5eb4573ea63d0c83bf58fb7c243fc2c2b6966c02
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Apr 2024 03:56:49 +0000

flight 185833 linux-linus real [real]
flight 185841 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185833/
http://logs.test-lab.xenproject.org/osstest/logs/185841/

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 185841-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185828
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185828
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185828
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185828
 test-armhf-armhf-xl-rtds      8 xen-boot                     fail  like 185828
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185828
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185828
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-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-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                5d12ed4bea4343ca3adbe3c23c8d149485de5010
baseline version:
 linux                5eb4573ea63d0c83bf58fb7c243fc2c2b6966c02

Last test of basis   185828  2024-04-27 03:43:12 Z    1 days
Testing same since   185833  2024-04-27 18:43:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akhil R <akhilrajeev@nvidia.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Baruch Siach <baruch@tkos.co.il>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
  Daniel Okazaki <dtokazaki@google.com>
  Fenghua Yu <fenghua.yu@intel.com>
  Gabor Juhos <j4g8y7@gmail.com>
  Guenter Roeck <linux@roeck-us.net>
  Hans de Goede <hdegoede@redhat.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Johan Hovold <johan+linaro@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Louis Chauvet <louis.chauvet@bootlin.com>
  Marcel Ziswiler <marcel.ziswiler@toradex.com>
  Michal Tomek <mtdev79b@gmail.com>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Peter Rosin <peda@axentia.se>
  Rex Zhang <rex.zhang@intel.com>
  Rob Herring <robh@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Stephen Boyd <swboyd@chromium.org>
  Terrence Xu <terrence.xu@intel.com>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thierry Reding <treding@nvidia.com>
  Vijendar Mukunda <Vijendar.Mukunda@amd.com>
  Vinod Koul <vkoul@kernel.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                     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
   5eb4573ea63d..5d12ed4bea43  5d12ed4bea4343ca3adbe3c23c8d149485de5010 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Apr 28 07:40:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 07:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713576.1114512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s0z91-00072k-6U; Sun, 28 Apr 2024 07:40:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713576.1114512; Sun, 28 Apr 2024 07: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 1s0z91-00072d-35; Sun, 28 Apr 2024 07:40:19 +0000
Received: by outflank-mailman (input) for mailman id 713576;
 Sun, 28 Apr 2024 07:40:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0z8z-00072T-22; Sun, 28 Apr 2024 07:40:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0z8y-0004TE-Tk; Sun, 28 Apr 2024 07:40:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s0z8y-00044D-J4; Sun, 28 Apr 2024 07:40:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s0z8y-0001FR-Ie; Sun, 28 Apr 2024 07:40:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lVj1RfEWiqISo0cg370HQ1jwbQ52ouyTrs1ToXZBjJ8=; b=xCN1AHZRv2C940gKvxD91NFqU/
	ivdbGX8KJnKBSNSDUgcU7hnqyZscD2/MhnHEixYXHNvrDII5owjVYHPvbUeeCQTayWz/FLiAvSzEm
	bZe1recGtgJ2wXsyM5rNqL3GWx2rZCqg2F7MG+L13lchR5NHmSfWWS/Fe3tZrP0kG8OE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185835-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185835: regressions - FAIL
X-Osstest-Failures:
    linux-6.1:build-armhf-pvops:kernel-build:fail:regression
    linux-6.1:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-saverestore.2:fail:heisenbug
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm: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-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-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2: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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f2295faba5e8249ae4082791bfc1664c88fff83a
X-Osstest-Versions-That:
    linux=6741e066ec7633450d3186946035c1f80c4226b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Apr 2024 07:40:16 +0000

flight 185835 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185835/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-pvops             6 kernel-build             fail REGR. vs. 185746

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start   fail in 185832 pass in 185835
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 185832 pass in 185835
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 185832 pass in 185835
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 17 guest-saverestore.2 fail pass in 185832

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185746
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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                f2295faba5e8249ae4082791bfc1664c88fff83a
baseline version:
 linux                6741e066ec7633450d3186946035c1f80c4226b8

Last test of basis   185746  2024-04-20 18:14:28 Z    7 days
Testing same since   185832  2024-04-27 15:44:00 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ai Chao <aichao@kylinos.cn>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andrew Morton <akpm@linux-foundation.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bjorn Helgaas <bhelgaas@google.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brenton Simpson <appsforartists@google.com>
  Carlos Llamas <cmllamas@google.com>
  Carolina Jubran <cjubran@nvidia.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chinmoy Ghosh <chinmoyghosh2001@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuanhong Guo <gch981213@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Coia Prant <coiaprant@gmail.com>
  Daniel Golle <daniel@makrotopia.org>
  Daniele Palmas <dnlplm@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Yang <mmyangfl@gmail.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Finn Thain <fthain@linux-m68k.org>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geoffrey D. Bennett <g@b4.vu>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jarkko Nikula <jarkko.nikula@bitmer.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jens Axboe <axboe@kernel.dk>
  Jeongjun Park <aha310510@gmail.com>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Kosina <jkosina@suse.cz>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kelvin Cao <kelvin.cao@microchip.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lei Chen <lei.chen@smartx.com>
  Leon Romanovsky <leon@kernel.org>
  Like Xu <likexu@tencent.com>
  Linus Walleij <linus.walleij@linaro.org>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Mark Zhang <markzhang@nvidia.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Pastore <mike@oobak.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Mike Rapoport <rppt@linux.ibm.com>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miles Chen <miles.chen@mediatek.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Mingming Su <mingming.su@mediatek.com>
  Mintu Patel <mintupatel89@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oscar Salvador <osalvador@suse.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pasha Tatashin <pasha.tatashin@soleen.com>
  Pekka Paalanen <pekka.paalanen@collabora.com>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Philippe Perrot <philippe@perrot-net.fr>
  Pin-yen Lin <treapking@chromium.org>
  Qiang Zhang <qiang4.zhang@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ron Economos <re@w6rz.net>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tariq Toukan <tariqt@nvidia.com>
  Tejun Heo <tj@kernel.org>
  Tim Huang <Tim.Huang@amd.com>
  Todd Kjos <tkjos@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Vimal Kumar <vimal.kumar32@gmail.com>
  Vishal Badole <badolevishal1116@gmail.com>
  Vladimir Oltean <olteanv@gmail.com>
  xinhui pan <xinhui.pan@amd.com>
  xiongxin <xiongxin@kylinos.cn>
  Yanjun.Zhu <yanjun.zhu@linux.dev>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Yaxiong Tian <tianyaxiong@kylinos.cn>
  Ye Li <ye.li@broadcom.com>
  Yu Zhe <yuzhe@nfschina.com>
  Yuanhe Shu <xiangzao@linux.alibaba.com>
  Yuntao Wang <ytcoode@gmail.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            fail    
 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             fail    
 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 4764 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Apr 28 12:09:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 12:09:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713642.1114552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s13L8-0005OG-Ch; Sun, 28 Apr 2024 12:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713642.1114552; Sun, 28 Apr 2024 12: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 1s13L8-0005O9-92; Sun, 28 Apr 2024 12:09:06 +0000
Received: by outflank-mailman (input) for mailman id 713642;
 Sun, 28 Apr 2024 12: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 1s13L7-0005Nz-Dn; Sun, 28 Apr 2024 12: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 1s13L7-0005Ii-5M; Sun, 28 Apr 2024 12: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 1s13L6-0007Nc-Q9; Sun, 28 Apr 2024 12:09:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s13L6-00035L-Pm; Sun, 28 Apr 2024 12:09:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eFjtHQM1K/qIv9nFs7LCee0PIYfONXS6CX33dnNymg0=; b=W5vTcvK1Fcqr1gWT3e+eMBpgeA
	F6Lo7THz6ThfFJ/ebICzaTCwCfyNQqSUGO70XBMYdb+7eMMhTTduQndHff6wmrp9y3PWqKme9rqtm
	fygD1iwp6pisW5Cm4xQ+1Vo3HdqhN/OXMQ0A7htKkyjFe1Bu2n+JXeHwnW+8hNSotKGA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185839-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185839: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:xen-boot:fail:heisenbug
    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: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu: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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
X-Osstest-Versions-That:
    xen=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Apr 2024 12:09:04 +0000

flight 185839 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185839/

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 185830
 test-armhf-armhf-xl-rtds      8 xen-boot                   fail pass in 185830

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 185830 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 185830 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185830
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185830
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185830
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185830
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185830
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185830
 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          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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230
baseline version:
 xen                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230

Last test of basis   185839  2024-04-28 01:51: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                 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-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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 12:54:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 12:54:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713664.1114574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s142u-0003M6-Pd; Sun, 28 Apr 2024 12:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713664.1114574; Sun, 28 Apr 2024 12: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 1s142u-0003Lz-Mt; Sun, 28 Apr 2024 12:54:20 +0000
Received: by outflank-mailman (input) for mailman id 713664;
 Sun, 28 Apr 2024 12:54:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s142t-0003Lp-Li; Sun, 28 Apr 2024 12:54:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s142t-0007bB-J5; Sun, 28 Apr 2024 12:54:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s142t-0008RK-Ch; Sun, 28 Apr 2024 12:54:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s142t-0001JT-C8; Sun, 28 Apr 2024 12:54:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=hkTcLAiSns4iIfTQe3oSEc8wxFdU2fILvSOYVDjJT20=; b=ZJGlJIBzcYaPNPBWneAbrV03f4
	2T4EDJAGC3B2k4gE9CpyW8EerIaelVglwYcjhTW2J5vjP6N/vM72Ox3AlSiPg2EG1tlzJl90iTcjc
	Z6rzMyuB+ZklSFWuCd3IhCKwam8K5cmXkwD6fXfqAZb6Ai1QTNzlNiY9XKdq41b1Xdmk=;
To: xen-devel@lists.xenproject.org
Subject: [linux-6.1 bisection] complete build-armhf-pvops
Message-Id: <E1s142t-0001JT-C8@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Apr 2024 12:54:19 +0000

branch xen-unstable
xenbranch xen-unstable
job build-armhf-pvops
testid kernel-build

Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  linux git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
  Bug introduced:  0f4048e1a0c6e9d3d31ce5b684600fd137cebfca
  Bug not present: e2b8480b709d48ca1723eed7258f26a0df9a1965
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185856/


  commit 0f4048e1a0c6e9d3d31ce5b684600fd137cebfca
  Author: Linus Walleij <linus.walleij@linaro.org>
  Date:   Tue Sep 26 15:25:32 2023 +0200
  
      ASoC: ti: Convert Pandora ASoC to GPIO descriptors
      
      [ Upstream commit 319e6ac143b9e9048e527ab9dd2aabb8fdf3d60f ]
      
      The Pandora uses GPIO descriptors pretty much exclusively, but not
      for ASoC, so let's fix it. Register the pins in a descriptor table
      in the machine since the ASoC device is not using device tree.
      
      Use static locals for the GPIO descriptors because I'm not able
      to experient with better state storage on any real hardware. Others
      using the Pandora can come afterwards and improve this.
      
      Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
      Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Link: https://lore.kernel.org/r/20230926-descriptors-asoc-ti-v1-4-60cf4f8adbc5@linaro.org
      Signed-off-by: Mark Brown <broonie@kernel.org>
      Signed-off-by: Sasha Levin <sashal@kernel.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/linux-6.1/build-armhf-pvops.kernel-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/linux-6.1/build-armhf-pvops.kernel-build --summary-out=tmp/185856.bisection-summary --basis-template=185746 --blessings=real,real-bisect,real-retry linux-6.1 build-armhf-pvops kernel-build
Searching for failure / basis pass:
 185835 fail [host=debina1] / 185746 [host=himrod2] 185434 [host=godello1] 185299 [host=himrod2] 185231 [host=himrod2] 185227 [host=himrod0] 185167 [host=elbling0] 185053 [host=himrod2] 184922 [host=himrod0] 184841 [host=himrod2] 184831 [host=himrod2] 184734 [host=albana0] 184687 [host=himrod2] 184595 [host=himrod2] 184570 [host=himrod0] 184563 [host=himrod0] 184549 [host=godello0] template as basis? using template as basis.
Failure / basis pass flights: 185835 / 185746
Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Latest f2295faba5e8249ae4082791bfc1664c88fff83a c530a75c1e6a472b0eb9558310b518f0dfcd8860
Basis pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860
Generating revisions with ./adhoc-revtuple-generator  git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git#6741e066ec7633450d3186946035c1f80c4226b8-f2295faba5e8249ae4082791bfc1664c88fff83a git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860
Loaded 5001 nodes in revision graph
Searching for test results:
 185746 [host=himrod2]
 185837 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185832 fail f2295faba5e8249ae4082791bfc1664c88fff83a c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185838 fail f2295faba5e8249ae4082791bfc1664c88fff83a c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185856 fail 0f4048e1a0c6e9d3d31ce5b684600fd137cebfca c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185840 pass 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185842 fail f2295faba5e8249ae4082791bfc1664c88fff83a c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185843 fail b928cde9c07cf031a9a5bffbfb94048f340d34ee c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185844 pass 8d56bad42ac4c43c6c72ddd6a654a2628bf839c5 c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185846 pass beb3ff19a55d78d3c70f9284458c9d155818ae27 c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185847 pass 4b7ed2400e0d895a9920c80d63646728bb389baa c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185835 fail f2295faba5e8249ae4082791bfc1664c88fff83a c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185848 pass 87709f7ecdb884ab75e3de6f951dffe500ee95b2 c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185850 pass 4d74cb9cdfd51e6d854f8da54113e716335cb2ca c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185851 pass e2b8480b709d48ca1723eed7258f26a0df9a1965 c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185852 fail 0f4048e1a0c6e9d3d31ce5b684600fd137cebfca c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185853 pass e2b8480b709d48ca1723eed7258f26a0df9a1965 c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185854 fail 0f4048e1a0c6e9d3d31ce5b684600fd137cebfca c530a75c1e6a472b0eb9558310b518f0dfcd8860
 185855 pass e2b8480b709d48ca1723eed7258f26a0df9a1965 c530a75c1e6a472b0eb9558310b518f0dfcd8860
Searching for interesting versions
 Result found: flight 185837 (pass), for basis pass
 For basis failure, parent search stopping at e2b8480b709d48ca1723eed7258f26a0df9a1965 c530a75c1e6a472b0eb9558310b518f0dfcd8860, results HASH(0x55fc1ccc1ae8) HASH(0x55fc1ccbb8b0) HASH(0x55fc1cc1eb68) For basis failure, parent search stopping at 4d74cb9cdfd51e6d854f8da54113e716335cb2ca c530a75c1e6a472b0eb9558310b518f0dfcd8860, results HASH(0x55fc1ccc0be8) For basis failure, parent search stopping at 87709f7ecdb884ab75e3de6f951dffe500ee95b2 c530a75c1e6a472b0eb9558310b518f0dfcd8860, results HASH(0x\
 55fc1cc31c80) For basis failure, parent search stopping at 4b7ed2400e0d895a9920c80d63646728bb389baa c530a75c1e6a472b0eb9558310b518f0dfcd8860, results HASH(0x55fc1ccb43b0) For basis failure, parent search stopping at beb3ff19a55d78d3c70f9284458c9d155818ae27 c530a75c1e6a472b0eb9558310b518f0dfcd8860, results HASH(0x55fc1ccbbeb0) For basis failure, parent search stopping at 8d56bad42ac4c43c6c72ddd6a654a2628bf839c5 c530a75c1e6a472b0eb9558310b518f0dfcd8860, results HASH(0x55fc1cc15bf8) For basis failu\
 re, parent search stopping at 6741e066ec7633450d3186946035c1f80c4226b8 c530a75c1e6a472b0eb9558310b518f0dfcd8860, results HASH(0x55fc1cc18828) HASH(0x55fc1ccb4fb0) Result found: flight 185838 (fail), for basis failure (at ancestor ~5000)
 Repro found: flight 185840 (pass), for basis pass
 Repro found: flight 185842 (fail), for basis failure
 0 revisions at e2b8480b709d48ca1723eed7258f26a0df9a1965 c530a75c1e6a472b0eb9558310b518f0dfcd8860
No revisions left to test, checking graph state.
 Result found: flight 185851 (pass), for last pass
 Result found: flight 185852 (fail), for first failure
 Repro found: flight 185853 (pass), for last pass
 Repro found: flight 185854 (fail), for first failure
 Repro found: flight 185855 (pass), for last pass
 Repro found: flight 185856 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  linux git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
  Bug introduced:  0f4048e1a0c6e9d3d31ce5b684600fd137cebfca
  Bug not present: e2b8480b709d48ca1723eed7258f26a0df9a1965
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/185856/


  commit 0f4048e1a0c6e9d3d31ce5b684600fd137cebfca
  Author: Linus Walleij <linus.walleij@linaro.org>
  Date:   Tue Sep 26 15:25:32 2023 +0200
  
      ASoC: ti: Convert Pandora ASoC to GPIO descriptors
      
      [ Upstream commit 319e6ac143b9e9048e527ab9dd2aabb8fdf3d60f ]
      
      The Pandora uses GPIO descriptors pretty much exclusively, but not
      for ASoC, so let's fix it. Register the pins in a descriptor table
      in the machine since the ASoC device is not using device tree.
      
      Use static locals for the GPIO descriptors because I'm not able
      to experient with better state storage on any real hardware. Others
      using the Pandora can come afterwards and improve this.
      
      Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
      Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
      Link: https://lore.kernel.org/r/20230926-descriptors-asoc-ti-v1-4-60cf4f8adbc5@linaro.org
      Signed-off-by: Mark Brown <broonie@kernel.org>
      Signed-off-by: Sasha Levin <sashal@kernel.org>

pnmtopng: 229 colors found
Revision graph left in /home/logs/results/bisect/linux-6.1/build-armhf-pvops.kernel-build.{dot,ps,png,html,svg}.
----------------------------------------
185856: tolerable ALL FAIL

flight 185856 linux-6.1 real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/185856/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-armhf-pvops             6 kernel-build            fail baseline untested


jobs:
 build-armhf-pvops                                            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 Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713705.1114605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lp-0006be-3i; Sun, 28 Apr 2024 16:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713705.1114605; Sun, 28 Apr 2024 16:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lo-0006aH-TA; Sun, 28 Apr 2024 16:52:56 +0000
Received: by outflank-mailman (input) for mailman id 713705;
 Sun, 28 Apr 2024 16:52:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17ll-0006D5-K6
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:53 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c06b1a9c-057f-11ef-b4bb-af5377834399;
 Sun, 28 Apr 2024 18:52:52 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-34cc606b1b1so832710f8f.3
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:52 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: c06b1a9c-057f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323171; x=1714927971; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M5idciq4z6LmfOUeSzwtHh7qUWkne+GPf19nH7mQTjs=;
        b=B3qMhSGfexztesEivmOOtbRap/SGTDXaKGfzgnfQ4ZuMedQ58psaXrPWremG2EkFQm
         h5SKO4KCW2on7aZ2Z7iXUbcRn+q4Q6E9gAnLWuURCyMTybtx90Rf4xkRL8ik/gb0d06Z
         wlGr3Th5CI2IvUHKxIsLEwopRvEEDIYJ//w3qklMjIus6AuDCxWsplvN4jKuMUincTeP
         Z73CxzeX8ggdXevT6SUKr330/0AEC5ueMmskxnHFqGQy5VaAl4gTiN+sdce8Vo5N6cuO
         bRPFFJTDy6WOazyeCtIDRhs4CF5aLp3DsZzGvHQzjudM1OkRSPdTDV9CQNkNFulX5xXc
         sT9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323171; x=1714927971;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=M5idciq4z6LmfOUeSzwtHh7qUWkne+GPf19nH7mQTjs=;
        b=HcvM5/GyDSnpRzi2scmuXQjnXOrAeykqnvyGVYbhXBpV4hJj4gWH52ThJAYaYwKbAT
         fo+aPEfnUGSJs3xHvxmu+d5EIiQ2YWtX7KetBU3Asa0icJISC9iweLNAObkzKpFpe5yd
         SFmudR6DE8E2vKtcUSc1LLNRIimzFXfh/CKuzniBSmO8MhFXCNjUUggFPD43+xqCx92P
         anUZHHa6I+sPxI4J8kCde7btuufJnl96fADcqOHafZ+wi8Kjfuf9Cq/9qWIQHRhYBK1Q
         uHTFndWmeWYvNKv4U+Uhfx64cxsfTTuFAWqEoXS58SGB4JP4Jghf6kiCoVYaSyDleC+1
         pUqA==
X-Gm-Message-State: AOJu0YyEjJO0fTSppSxSejIuzV2b9ZQlXtmf5CFE+rBFpKeQgxUt5uZi
	Cuny5D/qQDKhnkpykh14L2m/kea5YQ/BAL0JVLY4j3TfrvpvK6ZVupoSF2Ii
X-Google-Smtp-Source: AGHT+IEerUPMQuOhFt+8q/PpyY6msCrrYCRJPyCUi6jzS2ozwfAnnPxmDPcjPTrxWpRzPO+vKOQpWQ==
X-Received: by 2002:a05:6000:4cc:b0:347:9e5a:3078 with SMTP id h12-20020a05600004cc00b003479e5a3078mr6708927wri.1.1714323171414;
        Sun, 28 Apr 2024 09:52:51 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>
Subject: [PATCH v2 3/7] docs/man: Add max_altp2m parameter to the xl.cfg manual
Date: Sun, 28 Apr 2024 16:52:38 +0000
Message-Id: <9261df7a64aee4c09843ba99c182a65ec2057771.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714322424.git.w1benny@gmail.com>
References: <cover.1714322424.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

Update manual pages to include detailed information about the max_altp2m
configuration parameter.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 docs/man/xl.cfg.5.pod.in | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 8f2b375ce9..2d4ea35736 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2039,6 +2039,20 @@ a single guest HVM domain. B<This option is deprecated, use the option
 B<Note>: While the option "altp2mhvm" is deprecated, legacy applications for
 x86 systems will continue to work using it.
 
+=item B<max_altp2m=NUMBER>
+
+Specifies the maximum number of alternate-p2m views available to the guest.
+This setting is crucial in domain introspection scenarios that require
+multiple physical-to-machine (p2m) memory mappings to be established
+simultaneously.
+
+Enabling multiple p2m views may increase memory usage. It is advisable to
+review and adjust the B<shadow_memory> setting as necessary to accommodate
+the additional memory requirements.
+
+B<Note>: This option is ignored if B<altp2m> is disabled. The default value
+is 10.
+
 =item B<nestedhvm=BOOLEAN>
 
 Enable or disables guest access to hardware virtualisation features,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713709.1114637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lq-0007IC-Tf; Sun, 28 Apr 2024 16:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713709.1114637; Sun, 28 Apr 2024 16: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 1s17lq-0007GD-NT; Sun, 28 Apr 2024 16:52:58 +0000
Received: by outflank-mailman (input) for mailman id 713709;
 Sun, 28 Apr 2024 16:52: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=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17lo-0006DB-Gl
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:56 +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 c296f8e1-057f-11ef-909a-e314d9c70b13;
 Sun, 28 Apr 2024 18:52:55 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-41adf3580dbso20948005e9.0
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:55 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: c296f8e1-057f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323175; x=1714927975; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uRmhbnTJStHi1KkjxYIGvbfG3WE3teBkCarxEGq+EPc=;
        b=VGV8AeblDbsOxKIJldsP4cjmhqio9yRaTagX0M4HuCDRLPXDWYIgUdiBu6RcrykjuL
         2f4yc5aCR8eW7T0gqymLRrlUp38n8SkNkrXGl5e2bF8nwU3QQ8QdTYuY8V2usSX8sg+1
         mIVwkVBTu79ZGis+g75zPXrcxgAexw6yNLXtgHX3/613b//K0cDcPUpRS+wS3scN1boq
         Omu9vn8658SpMYuklk4gEQyx9dDO7CEKCWLjUGFaIGrRrnA+SfHacjOl4bCMOHDxeuzl
         RRpETV8+D6THJbOav5fn7faBZ3RQnn5It9GeCBJGRgH/TvxeK3f73RO9+sT8+D8WsOlD
         S7dg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323175; x=1714927975;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=uRmhbnTJStHi1KkjxYIGvbfG3WE3teBkCarxEGq+EPc=;
        b=EIrYdJFgCE3XHB9MjYLHhe7GHLn81QBvLC04Ue2wAQpPPcMpn/dleEgUO672ED9w93
         /Xik+McYlDFyfVguadqc8yxSfgmrRo7E781e9EujxP8nDFHs3bnva9HIfsfLjWQZFn4P
         /jt1vI3iopbDDyWUPNggqK9QK+7Yn9skrHzhWr+Rs1aQQ1dyr07SN5MDdJ2+FBBNCCD0
         30WbMH/sTJpqxHn3GvstVAZB28vdUdSua9Qv3YJu1LWE7jPZwBy0r6HA1sVE/O6WjEzE
         LAYI1tZA3ESyi4grSjvA8noV/Tmf3gstItc5bUJVVO+atxVuQcCyaZ7C04irAVjkYq0h
         /ydQ==
X-Gm-Message-State: AOJu0YxsZqrYIi7MjT9LMct34ZxM1fXJyqwHUMYQiR0AMdYZrPB08lOQ
	5NHF74ELoWxov9vEpx74EWtu4g4y31wbqzraWtpASpl2mc8tRpzrY8NWP687
X-Google-Smtp-Source: AGHT+IE/5HJoBtmMIjJcoejHquMqcOjnqeFgg34BEa/OWG1DnI5wPeGzp6pPW3gpJoK8tHMRC0MmBA==
X-Received: by 2002:a05:600c:1d16:b0:418:5ef3:4a04 with SMTP id l22-20020a05600c1d1600b004185ef34a04mr7707461wms.18.1714323175061;
        Sun, 28 Apr 2024 09:52:55 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 7/7] x86/hap: Increase the number of initial mempool_size to 1024 pages
Date: Sun, 28 Apr 2024 16:52:42 +0000
Message-Id: <a26bc4aeba89f7895c79df7e320adfc695b16d50.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714322424.git.w1benny@gmail.com>
References: <cover.1714322424.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

This change anticipates scenarios where `max_altp2m` is set to its maximum
supported value (i.e., 512), ensuring sufficient memory is allocated upfront
to accommodate all altp2m tables without initialization failure.

The necessity for this increase arises from the current mechanism where altp2m
tables are allocated at initialization, requiring one page from the mempool
for each altp2m view.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 tools/tests/paging-mempool/test-paging-mempool.c | 2 +-
 xen/arch/x86/mm/hap/hap.c                        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/tests/paging-mempool/test-paging-mempool.c b/tools/tests/paging-mempool/test-paging-mempool.c
index 1ebc13455a..91b06fa0cf 100644
--- a/tools/tests/paging-mempool/test-paging-mempool.c
+++ b/tools/tests/paging-mempool/test-paging-mempool.c
@@ -35,7 +35,7 @@ static struct xen_domctl_createdomain create = {
 
 static uint64_t default_mempool_size_bytes =
 #if defined(__x86_64__) || defined(__i386__)
-    256 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. */
+    1024 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. */
 #elif defined (__arm__) || defined(__aarch64__)
     16 << 12;
 #endif
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index 7aff5fa664..fab7e256a4 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -468,7 +468,7 @@ int hap_enable(struct domain *d, u32 mode)
     if ( old_pages == 0 )
     {
         paging_lock(d);
-        rv = hap_set_allocation(d, 256, NULL);
+        rv = hap_set_allocation(d, 1024, NULL);
         if ( rv != 0 )
         {
             hap_set_allocation(d, 0, NULL);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713708.1114631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lq-0007Ai-Ll; Sun, 28 Apr 2024 16:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713708.1114631; Sun, 28 Apr 2024 16: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 1s17lq-00078Q-BJ; Sun, 28 Apr 2024 16:52:58 +0000
Received: by outflank-mailman (input) for mailman id 713708;
 Sun, 28 Apr 2024 16:52: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=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17ln-0006DB-Hy
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:55 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c210c00a-057f-11ef-909a-e314d9c70b13;
 Sun, 28 Apr 2024 18:52:54 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41c011bb920so3226105e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:54 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: c210c00a-057f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323174; x=1714927974; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IAwmfpqE/egFzfCs4yP798ggKDGpEceOhDUHTa8HbXM=;
        b=JZfY3dZADAEY/bhbmEYVlyInpCjsF7UpM+OgZr3ebzUZuT1QvWfCDlx3s/D6WJclst
         d8yRYj8cvYxRJ2VKVTyCRBfvCu2jZlQaYY9bp7clwVLuLKortV2iIKQeZixrXwSj8LDm
         kLu3lG0cts0imwtKxjwq5GDOoLMc8lLS+m3qO0cGPCZAneUnhxxC4jbLAWnBR91PaKwj
         hGmBay3lNkuxPWaLtuplaemX9Qi5psIrkQOTowIViBLJ6j3FqCh5mFTMjMyD4dW6BeIs
         qz57xsyF/rSY0pOI+8vfUYDdLb4CRIIB4CPwu2j7Uz4hrDswSFFPPxFeCGA1QEYG4cDL
         +THw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323174; x=1714927974;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IAwmfpqE/egFzfCs4yP798ggKDGpEceOhDUHTa8HbXM=;
        b=BDnZHywUzqm/nWebTt8BL3HW9rwlOEOqTZ4nV/In7FWlzwJ17E5SK0egFfevHVgaKR
         mqEaoskRsMCkZQMNK/2aR+heP3eDHDZzc3YA5PHsgG+3hGCOWt+9ag7CgRIUk2lDYVE+
         SlrDuLwFQVPdQ1QjJa8kZAn1JlqCZJe3kz9vOCTszeSb0/8SkS21IVsP3THmj548RKok
         01QJ6K5muCkjfoeez6nvgw0WUSmoRNZR8LsaR8thrzZ+mT+aBTrS9kQQSsedKmPl8xVo
         bcNSH+Pp/ekY26+ggD+P57hvmBqOiuk1LRtojnGBC2MHozDO2mqV+zraJuiwGY74zbL4
         Bynw==
X-Gm-Message-State: AOJu0YzwHNvWONx13a03mgrSbogzdCSy2lYlCKeSBP4eTT5d7dohpEt6
	u1O2hPnNaLuJx5v5INzpaOdYjXYEqKgAba27d/050RO8lNkOVewjT01BCqvG
X-Google-Smtp-Source: AGHT+IGq0+nmVUU5KPNzGw0CrBY4sV1Zukh+Mb6LdwpqptkXPO/nzbXcviIP2k2Hokvv74TanC8H+g==
X-Received: by 2002:a05:600c:4e8a:b0:418:9d4a:1ba5 with SMTP id f10-20020a05600c4e8a00b004189d4a1ba5mr4547338wmq.6.1714323174191;
        Sun, 28 Apr 2024 09:52:54 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v2 6/7] tools/ocaml: Add max_altp2m parameter
Date: Sun, 28 Apr 2024 16:52:41 +0000
Message-Id: <32c3c312635e943c76329d52efb8ff71f5ee740f.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714322424.git.w1benny@gmail.com>
References: <cover.1714322424.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

Allow developers using the OCaml bindings to set the max_altp2m parameter.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
Changed since v1:
  * Moved this commit AFTER Xen changes (where xen_domctl_createdomain::max_altp2m field
    is introduced) to avoid breaking the build

 tools/ocaml/libs/xc/xenctrl.ml      |  1 +
 tools/ocaml/libs/xc/xenctrl.mli     |  1 +
 tools/ocaml/libs/xc/xenctrl_stubs.c | 17 ++++++++++-------
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index 55923857ec..ed851bb071 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -82,6 +82,7 @@ type domctl_create_config =
     iommu_opts: domain_create_iommu_opts list;
     max_vcpus: int;
     max_evtchn_port: int;
+    max_altp2m: int;
     max_grant_frames: int;
     max_maptrack_frames: int;
     max_grant_version: int;
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 9b4b45db3a..971b269d85 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -74,6 +74,7 @@ type domctl_create_config = {
   iommu_opts: domain_create_iommu_opts list;
   max_vcpus: int;
   max_evtchn_port: int;
+  max_altp2m: int;
   max_grant_frames: int;
   max_maptrack_frames: int;
   max_grant_version: int;
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 2b6d3c09df..0b70cc9b08 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -207,12 +207,13 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 #define VAL_IOMMU_OPTS          Field(config, 3)
 #define VAL_MAX_VCPUS           Field(config, 4)
 #define VAL_MAX_EVTCHN_PORT     Field(config, 5)
-#define VAL_MAX_GRANT_FRAMES    Field(config, 6)
-#define VAL_MAX_MAPTRACK_FRAMES Field(config, 7)
-#define VAL_MAX_GRANT_VERSION   Field(config, 8)
-#define VAL_VMTRACE_BUF_KB      Field(config, 9)
-#define VAL_CPUPOOL_ID          Field(config, 10)
-#define VAL_ARCH                Field(config, 11)
+#define VAL_MAX_ALTP2M          Field(config, 6)
+#define VAL_MAX_GRANT_FRAMES    Field(config, 7)
+#define VAL_MAX_MAPTRACK_FRAMES Field(config, 8)
+#define VAL_MAX_GRANT_VERSION   Field(config, 9)
+#define VAL_VMTRACE_BUF_KB      Field(config, 10)
+#define VAL_CPUPOOL_ID          Field(config, 11)
+#define VAL_ARCH                Field(config, 12)

 	uint32_t domid = Int_val(wanted_domid);
 	uint64_t vmtrace_size = Int32_val(VAL_VMTRACE_BUF_KB);
@@ -226,6 +227,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 		.ssidref = Int32_val(VAL_SSIDREF),
 		.max_vcpus = Int_val(VAL_MAX_VCPUS),
 		.max_evtchn_port = Int_val(VAL_MAX_EVTCHN_PORT),
+		.max_altp2m = Int_val(VAL_MAX_ALTP2M),
 		.max_grant_frames = Int_val(VAL_MAX_GRANT_FRAMES),
 		.max_maptrack_frames = Int_val(VAL_MAX_MAPTRACK_FRAMES),
 		.grant_opts =
@@ -257,7 +259,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 #if defined(__i386__) || defined(__x86_64__)

 		/* Quick & dirty check for ABI changes. */
-		BUILD_BUG_ON(sizeof(cfg) != 64);
+		BUILD_BUG_ON(sizeof(cfg) != 68);

         /* Mnemonics for the named fields inside xen_x86_arch_domainconfig */
 #define VAL_EMUL_FLAGS          Field(arch_domconfig, 0)
@@ -291,6 +293,7 @@ CAMLprim value stub_xc_domain_create(value xch_val, value wanted_domid, value co
 #undef VAL_MAX_GRANT_VERSION
 #undef VAL_MAX_MAPTRACK_FRAMES
 #undef VAL_MAX_GRANT_FRAMES
+#undef VAL_MAX_ALTP2M
 #undef VAL_MAX_EVTCHN_PORT
 #undef VAL_MAX_VCPUS
 #undef VAL_IOMMU_OPTS
--
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713704.1114599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lo-0006W8-Og; Sun, 28 Apr 2024 16:52:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713704.1114599; Sun, 28 Apr 2024 16:52:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lo-0006V4-IZ; Sun, 28 Apr 2024 16:52:56 +0000
Received: by outflank-mailman (input) for mailman id 713704;
 Sun, 28 Apr 2024 16:52: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=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17ll-0006DB-6O
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:53 +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 c004c654-057f-11ef-909a-e314d9c70b13;
 Sun, 28 Apr 2024 18:52:51 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-344047ac7e4so2637578f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:51 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: c004c654-057f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323171; x=1714927971; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=muQF6XIlOcvgBSNEsl6TLFua9rrP8CEbsAqrDkhuigQ=;
        b=X/Y5pkodFpLXnOCb8+QdSGhlBlM6hEIX4IK9IY5yR7jH4jeCCGA+zwP9rbOJubc59X
         hZabz7TmcBI1j1haD0PAftjSZv0f0ZQOLtgrhb88rNHc8V18Szk8ZRVvhZs0WZb8WM0J
         1St8XtezqQ0oq006UMdxGEBktSsr3Q/9XUvkTmnmgIA+r1Z10BqItW6X1SkbIhoRyDZY
         ojoJLAVzvdsob+zl7Nk5oMOO+Y1RByqctJpoWsI+axnoHZ1OxhHTdsdz8m17/dKfcXmC
         2JAfaTmz7ag6CzYjNAQV5+fhM8sQ3FE5gYvwlZuJvjSFKmgdBt3vaNhZc50ewURTAzA/
         drfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323171; x=1714927971;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=muQF6XIlOcvgBSNEsl6TLFua9rrP8CEbsAqrDkhuigQ=;
        b=aF1ZdIdcedYZcJPoEDpu/SLEdwjTBGalyU39LK5Nvqg+ULHA7zDrianmgkVan1lsnf
         enRns3w26sqertHiKI7/NeA0CS5Yz9BySjoTyJGpEYOoLQZ+olRgrXzoY+ESp0nQjvtm
         /dJ1fbm3u/zVkHuSA7u/cnRbJN/9F6MKef6spPHgW4fTmasCK1Iz3LyJIPPyFo2t1nQn
         UaFEeQvD4tuAJm8lZtBmGaGeR5BBHHxtloD55oLOnFYEDPcvhqD2eL0UwO6+7vj37S+1
         C32nVDhYGX4kVIFSqjYu/AlpJECuwWmtzREjmJ9qzZYxGjHVW6v1jyeHodNxWIbtNW5h
         9UXQ==
X-Gm-Message-State: AOJu0Yx2MfVtjvFus6UTYYnHfsjfOR9fLxeNXqgmksFtTPmc10tNfoYK
	SAr5yiRxuk/HHuvqgTs2DyzicYwGHOJTo65cHxqTBx1IfwR2ZfR4nYUZgfgo
X-Google-Smtp-Source: AGHT+IEYxuPWlCBgkUyK+vExZMpgUXm6GpD5YJWUhI8AK7vIaSHJ8Qt6J075uCwgQmd2u/tM2QoOmQ==
X-Received: by 2002:adf:f7ca:0:b0:349:bb17:6e60 with SMTP id a10-20020adff7ca000000b00349bb176e60mr4054187wrq.2.1714323170707;
        Sun, 28 Apr 2024 09:52:50 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 2/7] tools/xl: Add max_altp2m parameter
Date: Sun, 28 Apr 2024 16:52:37 +0000
Message-Id: <b0530fdc758bedb62c6cf1b5876d2d45304f0a13.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714322424.git.w1benny@gmail.com>
References: <cover.1714322424.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

Introduce a new max_altp2m parameter to control the maximum number of altp2m
views a domain can use. By default, if max_altp2m is unspecified and altp2m is
enabled, the value is set to 10, reflecting the legacy behavior.

This change is preparatory; it establishes the groundwork for the feature but
does not activate it.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
Changed since v1:
  * Removed the change of xen/include/public/domctl.h (moved into future commit)
  * Removed corresponding assignment of xen_domctl_createdomain::max_altp2m
    in libxl_create.c (moved into future commit)
  * Clarify in commit message that this change is preparatory

 tools/golang/xenlight/helpers.gen.go | 2 ++
 tools/golang/xenlight/types.gen.go   | 1 +
 tools/include/libxl.h                | 8 ++++++++
 tools/libs/light/libxl_create.c      | 8 ++++++++
 tools/libs/light/libxl_types.idl     | 1 +
 tools/xl/xl_parse.c                  | 4 ++++
 6 files changed, 24 insertions(+)

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 78bdb08b15..4458d5bcbb 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1158,6 +1158,7 @@ if err := x.ArchX86.MsrRelaxed.fromC(&xc.arch_x86.msr_relaxed);err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
 x.Altp2M = Altp2MMode(xc.altp2m)
+x.MaxAltp2M = uint32(xc.max_altp2m)
 x.VmtraceBufKb = int(xc.vmtrace_buf_kb)
 if err := x.Vpmu.fromC(&xc.vpmu);err != nil {
 return fmt.Errorf("converting field Vpmu: %v", err)
@@ -1674,6 +1675,7 @@ if err := x.ArchX86.MsrRelaxed.toC(&xc.arch_x86.msr_relaxed); err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
 xc.altp2m = C.libxl_altp2m_mode(x.Altp2M)
+xc.max_altp2m = C.uint32_t(x.MaxAltp2M)
 xc.vmtrace_buf_kb = C.int(x.VmtraceBufKb)
 if err := x.Vpmu.toC(&xc.vpmu); err != nil {
 return fmt.Errorf("converting field Vpmu: %v", err)
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index ccfe18019e..7139bcf324 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -602,6 +602,7 @@ ArchX86 struct {
 MsrRelaxed Defbool
 }
 Altp2M Altp2MMode
+MaxAltp2M uint32
 VmtraceBufKb int
 Vpmu Defbool
 }
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 62cb07dea6..c73d9f2ff1 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -1239,6 +1239,14 @@ typedef struct libxl__ctx libxl_ctx;
  */
 #define LIBXL_HAVE_ALTP2M 1

+/*
+ * LIBXL_HAVE_MAX_ALTP2M
+ * If this is defined, then libxl supports setting the maximum number of
+ * alternate p2m tables.
+ */
+#define LIBXL_HAVE_MAX_ALTP2M 1
+#define LIBXL_MAX_ALTP2M_DEFAULT (~(uint32_t)0)
+
 /*
  * LIBXL_HAVE_REMUS
  * If this is defined, then libxl supports remus.
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 41252ec553..801f704a02 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -483,6 +483,14 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc,
         return -ERROR_INVAL;
     }

+    if (b_info->max_altp2m == LIBXL_MAX_ALTP2M_DEFAULT) {
+        if ((libxl_defbool_val(b_info->u.hvm.altp2m) ||
+            b_info->altp2m != LIBXL_ALTP2M_MODE_DISABLED))
+            b_info->max_altp2m = 10;
+        else
+            b_info->max_altp2m = 0;
+    }
+
     /* Assume that providing a bootloader user implies enabling restrict. */
     libxl_defbool_setdefault(&b_info->bootloader_restrict,
                              !!b_info->bootloader_user);
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 470122e768..c887d8ea8c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -728,6 +728,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
     # Alternate p2m is not bound to any architecture or guest type, as it is
     # supported by x86 HVM and ARM support is planned.
     ("altp2m", libxl_altp2m_mode),
+    ("max_altp2m", uint32, {'init_val': 'LIBXL_MAX_ALTP2M_DEFAULT'}),

     # Size of preallocated vmtrace trace buffers (in KBYTES).
     # Use zero value to disable this feature.
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ab09d0288b..741668e10a 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2061,6 +2061,10 @@ void parse_config_data(const char *config_source,
         }
     }

+    if (!xlu_cfg_get_long(config, "max_altp2m", &l, 1)) {
+        b_info->max_altp2m = l;
+    }
+
     if (!xlu_cfg_get_long(config, "vmtrace_buf_kb", &l, 1) && l) {
         b_info->vmtrace_buf_kb = l;
     }
--
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713703.1114594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lo-0006T6-Fn; Sun, 28 Apr 2024 16:52:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713703.1114594; Sun, 28 Apr 2024 16:52:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lo-0006Sz-BE; Sun, 28 Apr 2024 16:52:56 +0000
Received: by outflank-mailman (input) for mailman id 713703;
 Sun, 28 Apr 2024 16:52: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=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17lk-0006D5-Gg
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:52 +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 bf97f75c-057f-11ef-b4bb-af5377834399;
 Sun, 28 Apr 2024 18:52:50 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-346359c8785so3287017f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:50 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: bf97f75c-057f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323170; x=1714927970; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bNif3eZYUBF7BnQ1Yw5FaGeiL/S3aKagQmr0I2wcHsM=;
        b=EG36Lj0ybMhd5j2PrQOKOul4oCYlJiBeuFc8prqNUaN6LgulW6m0242ESQPBpMolvc
         KOkk/4Z8NxiVsJceX8VV04kH677uBEG/l0B5YHEH6dQo/4XXUbiIMoytDozv8tUeH6/X
         t6KlnK4nyVjQvOBih0VLKYVXN/+tHxBPcQKmyFLR20mRdwCSKQaT3rLVdwFxG/t2S/3b
         gsOMKndfMAlbWTod3KydaGGli9OKgmqZV29AQxk/M7n4B2Kxz946y4vmAZrWWAiMv/vb
         qr3GHT0l0UtezQtJHoDKYwin9TOlmTL0wrj1nRjbmgYuZbIgG6iiHDKeiTdDj+L3c4hS
         MddA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323170; x=1714927970;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bNif3eZYUBF7BnQ1Yw5FaGeiL/S3aKagQmr0I2wcHsM=;
        b=M7MCq/8BflaUUjTraqEx4qBuPDm/23UjUOc0xkUOP7OLxvOzoFHDFBnZfxVfqj7YNt
         R2lGQwdIBNZ8b6Yfi+8l2toxNaRqVHHcUm31ZDvjJN176P53VP/QZeqq9p8lQ4/hWITA
         CvJ1C0sfany0jlOnbTCcDqdNkZPncQhvhZN70YdaRrjmtsKZQKyom2ZweyttDrD1brv2
         380DhmrzGmVqbUNum3i1E48coMAAJzzBc0CtuBWwlpG3koFsTlpEzljeez1UIIkO2CpP
         fjibRPuQspzbuu2bGsXrX5UXMZOWWTtMX15cG5PGm/byLfHL8YD34dGo9tUe2bA6iSaS
         Myyg==
X-Gm-Message-State: AOJu0YwejVFim9KPV6P6XSfu9QNAxqgsf5TsCn3rMcGudQntgVq9X+Ow
	McOhFCIrE9gXbeGfeGWWET/TPSa3ZblvdL15EcWLA+M9COvQiYp071WmiEOq
X-Google-Smtp-Source: AGHT+IHwI4f2/3EPYL3CVLZdm8bIPUwaOQTPxm+126HqOchO2GjyaTG96YOLuGT5acIOa0MzHkJm8w==
X-Received: by 2002:a5d:64cf:0:b0:34c:a95f:1114 with SMTP id f15-20020a5d64cf000000b0034ca95f1114mr3141383wri.40.1714323169770;
        Sun, 28 Apr 2024 09:52:49 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 1/7] x86/p2m: Add braces for better code clarity
Date: Sun, 28 Apr 2024 16:52:36 +0000
Message-Id: <90082c0aa2047edf5764840f1903d1797ca4b902.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714322424.git.w1benny@gmail.com>
References: <cover.1714322424.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

No functional change.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
 xen/arch/x86/mm/p2m.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index ce742c12e0..eb7996170d 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -106,6 +106,7 @@ void p2m_change_entry_type_global(struct domain *d,
         unsigned int i;
 
         for ( i = 0; i < MAX_ALTP2M; i++ )
+        {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
                 struct p2m_domain *altp2m = d->arch.altp2m_p2m[i];
@@ -114,6 +115,7 @@ void p2m_change_entry_type_global(struct domain *d,
                 change_entry_type_global(altp2m, ot, nt);
                 p2m_unlock(altp2m);
             }
+        }
     }
 
     p2m_unlock(hostp2m);
@@ -139,6 +141,7 @@ void p2m_memory_type_changed(struct domain *d)
         unsigned int i;
 
         for ( i = 0; i < MAX_ALTP2M; i++ )
+        {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
                 struct p2m_domain *altp2m = d->arch.altp2m_p2m[i];
@@ -147,6 +150,7 @@ void p2m_memory_type_changed(struct domain *d)
                 _memory_type_changed(altp2m);
                 p2m_unlock(altp2m);
             }
+        }
     }
 
     p2m_unlock(hostp2m);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713706.1114612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lp-0006hE-Cy; Sun, 28 Apr 2024 16:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713706.1114612; Sun, 28 Apr 2024 16:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lp-0006g6-4r; Sun, 28 Apr 2024 16:52:57 +0000
Received: by outflank-mailman (input) for mailman id 713706;
 Sun, 28 Apr 2024 16:52:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17lm-0006DB-GN
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:54 +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 c186c588-057f-11ef-909a-e314d9c70b13;
 Sun, 28 Apr 2024 18:52:53 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-34ce52fb920so551562f8f.3
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:54 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: c186c588-057f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323173; x=1714927973; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C94PBg2Ugq5+o7rPz1hPA2wsUOkB+FxnEHaAoO6c8iQ=;
        b=HwBnLqZTKkJb9dS3dRPq8VsSWoUXAU3ShtPKfaVOr1nZ6uzn+h4by2f+xv3GdAYjue
         O7bq91IbkBMFL4FQ0lkWwVA+89g52+sTG+gZQqYOpwKxgPPrjjbTfD4gZiw/4htI4Fi4
         EJ+XWRPCbU/p1w4oIS1T2Z1RuelYbpQ6U6XX3zp28RifC4f0N2nsVFYbF5vUknnroJAK
         ZCmdvlmM5vUn2chcqmKkp9Slbg7tQSbHUMR/CSMr4txJYZoRHEC1VuutwdQ+arlHOAar
         ls428UM6/Tgueo0P8PEorJUXGi7dN2aDJPaPt+zgap8nA797LMX2LbVhZwP5PGO7Jrt0
         4HnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323173; x=1714927973;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=C94PBg2Ugq5+o7rPz1hPA2wsUOkB+FxnEHaAoO6c8iQ=;
        b=aicaupT6ywjlmBpdZl8Bg2uV8mG69qcYCdGY/W3buJBbr6xIurRITgZaK2SC+ju0l/
         z9Ajq+Drb0jLH61PKJJwoiA7A7CwyYckCV201uwGia/ViH0qBDtT3P+WAUbNNmgn6rhi
         KnbWzybeYJ6Hppw9I0/2lqfvOChRxDYhL28FtDTwX6Qzac0vBl05B1uHQQfrgF+I5b/B
         gmpydTsR9veaS/M7tg16ENTfwCCWa056ESu6jgM4uwyPVt5JrecuYFMs14S68NVvxICr
         AhpvRhhWpR7GceEww0Q5kkP7Kj4yfpQMwl2dgWZfkbgc9V1bZgCB361vr5TChuMM7MIF
         ZPbQ==
X-Gm-Message-State: AOJu0YyYjux0TBAw4PEUuAX6B/vnnH7LVRBaQ+nnvdRozlagpD3Amh7y
	FyiIGprP89te9rtQ355pAv+qKNZwW8f4CI/BHETXfMCMJbFZeIkZ5U/X1rKf
X-Google-Smtp-Source: AGHT+IEAAnK63VjnM7MqGDPEzwDD4kfdpqcuHqgEOQAvsV+JWzA/yMvhRCk+lSZGP5am51FRJDfJ5g==
X-Received: by 2002:adf:e741:0:b0:34d:1692:4463 with SMTP id c1-20020adfe741000000b0034d16924463mr363777wrn.19.1714323173264;
        Sun, 28 Apr 2024 09:52:53 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 5/7] tools/libxl: Activate the max_altp2m feature
Date: Sun, 28 Apr 2024 16:52:40 +0000
Message-Id: <934ec36f587318b9992dfbce2046ea1d97115f24.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714322424.git.w1benny@gmail.com>
References: <cover.1714322424.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

This commit activates the previously introduced max_altp2m parameter,
establishing the connection between libxl and Xen.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
Changed since v1:
  * This is a new commit in the series

 tools/libs/light/libxl_create.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 801f704a02..6ccc1fa158 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -653,6 +653,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
             .ssidref = info->ssidref,
             .max_vcpus = b_info->max_vcpus,
             .max_evtchn_port = b_info->event_channels,
+            .max_altp2m = b_info->max_altp2m,
             .max_grant_frames = b_info->max_grant_frames,
             .max_maptrack_frames = b_info->max_maptrack_frames,
             .grant_opts = XEN_DOMCTL_GRANT_version(b_info->max_grant_version),
--
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713702.1114584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17ll-0006DS-5V; Sun, 28 Apr 2024 16:52:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713702.1114584; Sun, 28 Apr 2024 16:52:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17ll-0006DL-2h; Sun, 28 Apr 2024 16:52:53 +0000
Received: by outflank-mailman (input) for mailman id 713702;
 Sun, 28 Apr 2024 16:52: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=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17lj-0006D5-Qs
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:51 +0000
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com
 [2a00:1450:4864:20::435])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf10db85-057f-11ef-b4bb-af5377834399;
 Sun, 28 Apr 2024 18:52:49 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-34c90082dd7so1292237f8f.1
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:49 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: bf10db85-057f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323169; x=1714927969; 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=kYwJB0yrm+W+I8r+YVdNlWkFaWEs2QHJMIircPe7ELI=;
        b=UG3kkV0NY/JMcbJlrk1ZaLI6dZlM8K02yAK3Cn2XypwJ5WHqcKqFwgmdSjYa2eee09
         5cyukfrRZf+e5wpKZLaMsOqdTGUJk4M9NoWLRb/PggryE2Ti3GcwjNFhWPuaKNmc/LNx
         py4WVY2/hhHiW/e+Uo13yYYAezdqVI7GpMDVrHsqbFzl0bTQ86+uKt4sKKMNlmHUZYZT
         Xyiv0HRqcODiwqT7PDb549/37b3fObOPd4MmcTaaXE/r5MgjcGgHY0c6uj6xDcQfUPWa
         w8+MoNXbfNaWpQVltxbjtx9PCH6AzJN//6BqaS16Vf0cARYQb+jjXTjMwSXr0hZ/4Tfp
         GKBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323169; x=1714927969;
        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=kYwJB0yrm+W+I8r+YVdNlWkFaWEs2QHJMIircPe7ELI=;
        b=FWwoMYyDpozYt+uEQk4dHMmjsev2MLn0O2hZr6OxGOEzBZwyUzrSD5rjxqlk4Wr9B0
         jTIxXhfLuOjMj7udIcGk1uLfg/HP03vYlcoWziy8WI9qnE2lKi1XY8tN3RDlN/idmdbi
         374G8+oyaCVKNvsv/toBD0baVyt3XMH9E9jq37hNrBWg9DlLbHftZnPxNf8Z3NKdFVpj
         ex0KRRd3XaFslVzEDkZVtA4tPUK+jTHp/tGiMQjjsNUXdJiCQ1HzYFzQx9ijL2WwUVZ7
         U5QzsHoeZPBQmm+RKyxG526RA8W7b3sQJv4Klv7Mjlv1/uEZ5c1NiLvw8/tst8YgJiCe
         OQSw==
X-Gm-Message-State: AOJu0YxBO3NAQ2stWuCa4ZahCgiNIRQhhBpdQpsYWPObcfzQ8Rlx0CJ5
	xFMZT8z9GT9NiLS1stl8GT4nX8Qfo53WsvdOmfd1afRp1jadqH3Uh6j4p0MW
X-Google-Smtp-Source: AGHT+IHhtb0ygyL8xaH1mejUAmdcBo10zqBpIowJUkbUpi67rSu4Uio8sH6jzBSA1//QwmcQn7hTxg==
X-Received: by 2002:a5d:54c6:0:b0:346:ad3d:e4bd with SMTP id x6-20020a5d54c6000000b00346ad3de4bdmr4861290wrv.17.1714323168742;
        Sun, 28 Apr 2024 09:52:48 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>
Subject: [PATCH v2 0/7] x86: Make MAX_ALTP2M configurable
Date: Sun, 28 Apr 2024 16:52:35 +0000
Message-Id: <cover.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

This series introduces the ability to configure the maximum number of altp2m
tables during domain creation. Previously, the limits were hardcoded to a
maximum of 10. This change allows for greater flexibility in environments that
require more or fewer altp2m views.

Adjustments include:
- "Prepare" commits with style changes.
- Adding a new `max_altp2m` parameter to xl.
- Adding a new `max_altp2m` parameter to the OCaml bindings.
- Adding a new `max_altp2m` parameter to the xl.cfg manual.
- Adding a new `max_altp2m` field into the `xen_domctl_createdomain`, which,
  after sanity checks, is stored in newly introduced `max_altp2m` field of
  `struct domain` - leaving room for other architectures to implement the
  altp2m feature.
- Replacing MAX_ALTP2M macro occurrences with `domain->max_altp2m`.
- Finally, adjusting the initial allocation of pages in `hap_enable` from 256
  to 1024 pages to accommodate potentially larger `max_altp2m` values (i.e.,
  maximum of 512).

This enhancement is particularly relevant for users leveraging Xen's features
for virtual machine introspection.

Petr Beneš (7):
  x86/p2m: Add braces for better code clarity
  tools/xl: Add max_altp2m parameter
  docs/man: Add max_altp2m parameter to the xl.cfg manual
  x86: Make the maximum number of altp2m views configurable
  tools/libxl: Activate the max_altp2m feature
  tools/ocaml: Add max_altp2m parameter
  x86/hap: Increase the number of initial mempool_size to 1024 pages

 docs/man/xl.cfg.5.pod.in                      | 14 +++++
 tools/golang/xenlight/helpers.gen.go          |  2 +
 tools/golang/xenlight/types.gen.go            |  1 +
 tools/include/libxl.h                         |  8 +++
 tools/libs/light/libxl_create.c               |  9 ++++
 tools/libs/light/libxl_types.idl              |  1 +
 tools/ocaml/libs/xc/xenctrl.ml                |  1 +
 tools/ocaml/libs/xc/xenctrl.mli               |  1 +
 tools/ocaml/libs/xc/xenctrl_stubs.c           | 17 +++---
 .../paging-mempool/test-paging-mempool.c      |  2 +-
 tools/xl/xl_parse.c                           |  4 ++
 xen/arch/x86/domain.c                         |  6 +++
 xen/arch/x86/hvm/hvm.c                        |  8 ++-
 xen/arch/x86/hvm/vmx/vmx.c                    |  2 +-
 xen/arch/x86/include/asm/domain.h             |  7 ++-
 xen/arch/x86/include/asm/p2m.h                |  4 +-
 xen/arch/x86/mm/altp2m.c                      | 27 +++++++++-
 xen/arch/x86/mm/hap/hap.c                     |  8 +--
 xen/arch/x86/mm/mem_access.c                  | 14 ++---
 xen/arch/x86/mm/mem_sharing.c                 |  2 +-
 xen/arch/x86/mm/p2m-ept.c                     |  6 +--
 xen/arch/x86/mm/p2m.c                         | 54 ++++++++++---------
 xen/common/domain.c                           |  7 +++
 xen/include/public/domctl.h                   |  3 +-
 xen/include/xen/sched.h                       |  2 +
 25 files changed, 151 insertions(+), 59 deletions(-)

--
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 16:53:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 16:53:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713707.1114620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lp-0006tR-Qw; Sun, 28 Apr 2024 16:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713707.1114620; Sun, 28 Apr 2024 16:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s17lp-0006oc-KO; Sun, 28 Apr 2024 16:52:57 +0000
Received: by outflank-mailman (input) for mailman id 713707;
 Sun, 28 Apr 2024 16:52:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=a4SJ=MB=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s17lm-0006DB-NU
 for xen-devel@lists.xenproject.org; Sun, 28 Apr 2024 16:52:54 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c13de9c7-057f-11ef-909a-e314d9c70b13;
 Sun, 28 Apr 2024 18:52:53 +0200 (CEST)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-34d1ede7e51so41002f8f.1
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 09:52:53 -0700 (PDT)
Received: from lab.home
 (dynamic-2a00-1028-83a4-4bca-c0bb-96ff-feed-9d50.ipv6.o2.cz.
 [2a00:1028:83a4:4bca:c0bb:96ff:feed:9d50])
 by smtp.gmail.com with ESMTPSA id
 a12-20020a056000188c00b00347eb354b30sm27850921wri.84.2024.04.28.09.52.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 Apr 2024 09:52: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: c13de9c7-057f-11ef-909a-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714323173; x=1714927973; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gG2qDlDs6FcET6IkvKvIzyxAbXvB4EM9puOXHyIK3Fk=;
        b=UmY+zt5YEBNxr9fPYl0V7QfbvbQkcDtIqTTYyun3jEKj+00IS8PvmnmKAC1QB029yS
         /Nct6p+KlJyZZ1mefYBCuCudCq694hfZrNO507P77T753frESbEpE4Ee4rAPIfnf1hOO
         hzlyP6U9R63+In9oR4aKf9gF8+FLRsJefF5vwEzUhBXg8jQPCvbLlvi+EWtUZXZD9ZsQ
         JehppXyxi1RSjpglI2f28YAr0tGvQalWb2PRYOgjsCjx4f++IoVhuaNBqCm4yTKbx2Fg
         RYKPOIihEJyC/5lJa7URuAF/GMld6wdPNRg0RHU9UFYgRo9xywC0ojokReAATegONgFb
         1s3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714323173; x=1714927973;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gG2qDlDs6FcET6IkvKvIzyxAbXvB4EM9puOXHyIK3Fk=;
        b=Jg3YolJGuS71DdxinVyFX4hH0zUnzLJOmxmjwcqgyuPdJrlWQPFmn6PviQa6ClK1L8
         c7qVCU7E8X0fHJloU6lNHv18oyr8uO3I8ItqGJOqUIrla721Ffe4PC9nQs8sjjp0Ak9k
         XSEipsr3R8is6qQMM+Q0lHtRCGStMNghYUt1E+g8wGOoBOZ0cBcLH1cBF0q9OY3SJ02j
         CyL2a9pjB33pd9gWCp26gtRSqxbuMtLMQ6UdZ1G2OqxmYydSV6MbapUpJ1E9Q8GGyVp9
         6OmQnUY27a4s9KmKr21ry3SIeED9lOYFEpRwvnkkZY/37mEC7lk97Wbqd8yOuFOB4aYK
         kTtw==
X-Gm-Message-State: AOJu0Yz737sZ5gmkFD41SDHNv3ZSzAEz/yCkbnPaoRQnGkqbD0e7y0CI
	4j4oOSJOu0WC2oznLdkBhSl80Nf0JVq/ew5dD+6UpAgiph34qmWw8NX+7ONC
X-Google-Smtp-Source: AGHT+IEhJydV42L0RIL9pZt43uuLj0a7WV9IeE9FHT7aWIZRSYeNhGEb8EQ7KZFPcknKKOmd6VLt8g==
X-Received: by 2002:a5d:4901:0:b0:34c:246c:1ee9 with SMTP id x1-20020a5d4901000000b0034c246c1ee9mr4952634wrq.59.1714323172466;
        Sun, 28 Apr 2024 09:52:52 -0700 (PDT)
From: "=?UTF-8?q?Petr=20Bene=C5=A1?=" <w1benny@gmail.com>
X-Google-Original-From: =?UTF-8?q?Petr=20Bene=C5=A1?= <petr.benes@gendigital.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Petr=20Bene=C5=A1?= <w1benny@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v2 4/7] x86: Make the maximum number of altp2m views configurable
Date: Sun, 28 Apr 2024 16:52:39 +0000
Message-Id: <0041438ff7a5d5b2fad59b676f4ece80470bf3b3.1714322424.git.w1benny@gmail.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714322424.git.w1benny@gmail.com>
References: <cover.1714322424.git.w1benny@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Petr Beneš <w1benny@gmail.com>

This commit introduces the ability to configure the maximum number of altp2m
tables during domain creation. Previously, the limits were hardcoded to a
maximum of 10. This change allows for greater flexibility in environments that
require more or fewer altp2m views.

The maximum configurable limit for max_altp2m on x86 is now set to MAX_EPTP
(512). This cap is linked to the architectural limit of the EPTP-switching
VMFUNC, which supports up to 512 entries. Despite there being no inherent need
for limiting max_altp2m in scenarios not utilizing VMFUNC, decoupling these
components would necessitate substantial code changes.

Signed-off-by: Petr Beneš <w1benny@gmail.com>
---
Changed since v1:
  * Added xen_domctl_createdomain::max_altp2m field to xen/include/public/domctl.h
  * Bumped the XEN_DOMCTL_INTERFACE_VERSION
  * More elaborate commit message

 xen/arch/x86/domain.c             |  6 ++++
 xen/arch/x86/hvm/hvm.c            |  8 ++++-
 xen/arch/x86/hvm/vmx/vmx.c        |  2 +-
 xen/arch/x86/include/asm/domain.h |  7 ++---
 xen/arch/x86/include/asm/p2m.h    |  4 +--
 xen/arch/x86/mm/altp2m.c          | 27 +++++++++++++++--
 xen/arch/x86/mm/hap/hap.c         |  6 ++--
 xen/arch/x86/mm/mem_access.c      | 14 ++++-----
 xen/arch/x86/mm/mem_sharing.c     |  2 +-
 xen/arch/x86/mm/p2m-ept.c         |  6 ++--
 xen/arch/x86/mm/p2m.c             | 50 +++++++++++++++----------------
 xen/common/domain.c               |  7 +++++
 xen/include/public/domctl.h       |  3 +-
 xen/include/xen/sched.h           |  2 ++
 14 files changed, 94 insertions(+), 50 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 20e83cf38b..6b458f330c 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -685,6 +685,12 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }

+    if ( config->max_altp2m > MAX_EPTP )
+    {
+        dprintk(XENLOG_INFO, "max_altp2m must be <= %u\n", MAX_EPTP);
+        return -EINVAL;
+    }
+
     if ( config->vmtrace_size )
     {
         unsigned int size = config->vmtrace_size;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0ce45b177c..9b70fe7cfc 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4633,6 +4633,12 @@ static int do_altp2m_op(
         goto out;
     }

+    if ( d->max_altp2m == 0 )
+    {
+        rc = -EINVAL;
+        goto out;
+    }
+
     if ( (rc = xsm_hvm_altp2mhvm_op(XSM_OTHER, d, mode, a.cmd)) )
         goto out;

@@ -5222,7 +5228,7 @@ void hvm_fast_singlestep(struct vcpu *v, uint16_t p2midx)
     if ( !hvm_is_singlestep_supported() )
         return;

-    if ( p2midx >= MAX_ALTP2M )
+    if ( p2midx >= v->domain->max_altp2m )
         return;

     v->arch.hvm.single_step = true;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 5f67a48592..8f57f3a7f5 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4888,7 +4888,7 @@ bool asmlinkage vmx_vmenter_helper(const struct cpu_user_regs *regs)
         {
             unsigned int i;

-            for ( i = 0; i < MAX_ALTP2M; ++i )
+            for ( i = 0; i < currd->max_altp2m; ++i )
             {
                 if ( currd->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
                     continue;
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index f5daeb182b..5bb0bcae81 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -258,11 +258,10 @@ struct paging_vcpu {
     struct shadow_vcpu shadow;
 };

+#define INVALID_ALTP2M  0xffff
+#define MAX_EPTP        ((unsigned int)(PAGE_SIZE / sizeof(uint64_t)))
 #define MAX_NESTEDP2M 10

-#define MAX_ALTP2M      10 /* arbitrary */
-#define INVALID_ALTP2M  0xffff
-#define MAX_EPTP        (PAGE_SIZE / sizeof(uint64_t))
 struct p2m_domain;
 struct time_scale {
     int shift;
@@ -353,7 +352,7 @@ struct arch_domain

     /* altp2m: allow multiple copies of host p2m */
     bool altp2m_active;
-    struct p2m_domain *altp2m_p2m[MAX_ALTP2M];
+    struct p2m_domain **altp2m_p2m;
     mm_lock_t altp2m_list_lock;
     uint64_t *altp2m_eptp;
     uint64_t *altp2m_visible_eptp;
diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
index 111badf89a..2086bcb633 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -881,7 +881,7 @@ static inline struct p2m_domain *p2m_get_altp2m(struct vcpu *v)
     if ( index == INVALID_ALTP2M )
         return NULL;

-    BUG_ON(index >= MAX_ALTP2M);
+    BUG_ON(index >= v->domain->max_altp2m);

     return v->domain->arch.altp2m_p2m[index];
 }
@@ -891,7 +891,7 @@ static inline bool p2m_set_altp2m(struct vcpu *v, unsigned int idx)
 {
     struct p2m_domain *orig;

-    BUG_ON(idx >= MAX_ALTP2M);
+    BUG_ON(idx >= v->domain->max_altp2m);

     if ( idx == vcpu_altp2m(v).p2midx )
         return false;
diff --git a/xen/arch/x86/mm/altp2m.c b/xen/arch/x86/mm/altp2m.c
index a04297b646..c91e0fbfd1 100644
--- a/xen/arch/x86/mm/altp2m.c
+++ b/xen/arch/x86/mm/altp2m.c
@@ -13,6 +13,12 @@
 void
 altp2m_vcpu_initialise(struct vcpu *v)
 {
+    struct domain *d = v->domain;
+
+    /* Skip initialisation if no altp2m will be used. */
+    if ( d->max_altp2m == 0 )
+        return;
+
     if ( v != current )
         vcpu_pause(v);

@@ -28,8 +34,13 @@ altp2m_vcpu_initialise(struct vcpu *v)
 void
 altp2m_vcpu_destroy(struct vcpu *v)
 {
+    struct domain *d = v->domain;
     struct p2m_domain *p2m;

+    /* Skip destruction if no altp2m was used. */
+    if ( d->max_altp2m == 0 )
+        return;
+
     if ( v != current )
         vcpu_pause(v);

@@ -120,7 +131,13 @@ int p2m_init_altp2m(struct domain *d)
     struct p2m_domain *hostp2m = p2m_get_hostp2m(d);

     mm_lock_init(&d->arch.altp2m_list_lock);
-    for ( i = 0; i < MAX_ALTP2M; i++ )
+
+    if ( (d->arch.altp2m_p2m = xzalloc_array(struct p2m_domain *, d->max_altp2m)) == NULL )
+    {
+        return -ENOMEM;
+    }
+
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         d->arch.altp2m_p2m[i] = p2m = p2m_init_one(d);
         if ( p2m == NULL )
@@ -141,7 +158,10 @@ void p2m_teardown_altp2m(struct domain *d)
     unsigned int i;
     struct p2m_domain *p2m;

-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    if ( !d->arch.altp2m_p2m )
+        return;
+
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         if ( !d->arch.altp2m_p2m[i] )
             continue;
@@ -149,6 +169,9 @@ void p2m_teardown_altp2m(struct domain *d)
         d->arch.altp2m_p2m[i] = NULL;
         p2m_free_one(p2m);
     }
+
+    xfree(d->arch.altp2m_p2m);
+    d->arch.altp2m_p2m = NULL;
 }

 /*
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index d2011fde24..7aff5fa664 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -515,7 +515,7 @@ int hap_enable(struct domain *d, u32 mode)
             d->arch.altp2m_visible_eptp[i] = mfn_x(INVALID_MFN);
         }

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             rv = p2m_alloc_table(d->arch.altp2m_p2m[i]);
             if ( rv != 0 )
@@ -538,7 +538,7 @@ void hap_final_teardown(struct domain *d)
     unsigned int i;

     if ( hvm_altp2m_supported() )
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
             p2m_teardown(d->arch.altp2m_p2m[i], true, NULL);

     /* Destroy nestedp2m's first */
@@ -590,7 +590,7 @@ void hap_teardown(struct domain *d, bool *preempted)
         FREE_XENHEAP_PAGE(d->arch.altp2m_eptp);
         FREE_XENHEAP_PAGE(d->arch.altp2m_visible_eptp);

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             p2m_teardown(d->arch.altp2m_p2m[i], false, preempted);
             if ( preempted && *preempted )
diff --git a/xen/arch/x86/mm/mem_access.c b/xen/arch/x86/mm/mem_access.c
index 60a0cce68a..1bf40cb746 100644
--- a/xen/arch/x86/mm/mem_access.c
+++ b/xen/arch/x86/mm/mem_access.c
@@ -347,12 +347,12 @@ long p2m_set_mem_access(struct domain *d, gfn_t gfn, uint32_t nr,
     /* altp2m view 0 is treated as the hostp2m */
     if ( altp2m_idx )
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;

-        ap2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        ap2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }

     if ( !xenmem_access_to_p2m_access(p2m, access, &a) )
@@ -403,12 +403,12 @@ long p2m_set_mem_access_multi(struct domain *d,
     /* altp2m view 0 is treated as the hostp2m */
     if ( altp2m_idx )
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;

-        ap2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        ap2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }

     p2m_lock(p2m);
@@ -466,12 +466,12 @@ int p2m_get_mem_access(struct domain *d, gfn_t gfn, xenmem_access_t *access,
     }
     else if ( altp2m_idx ) /* altp2m view 0 is treated as the hostp2m */
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;

-        p2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        p2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }

     return _p2m_get_mem_access(p2m, gfn, access);
@@ -486,7 +486,7 @@ void arch_p2m_set_access_required(struct domain *d, bool access_required)
     if ( altp2m_active(d) )
     {
         unsigned int i;
-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             struct p2m_domain *p2m = d->arch.altp2m_p2m[i];

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index da28266ef0..3aaf1a3b8d 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -912,7 +912,7 @@ static int nominate_page(struct domain *d, gfn_t gfn,

         altp2m_list_lock(d);

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             ap2m = d->arch.altp2m_p2m[i];
             if ( !ap2m )
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index f83610cb8c..6b75fafd49 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1293,7 +1293,7 @@ static void ept_set_ad_sync(struct domain *d, bool value)
     {
         unsigned int i;

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             struct p2m_domain *p2m;

@@ -1500,7 +1500,7 @@ void setup_ept_dump(void)

 void p2m_init_altp2m_ept(struct domain *d, unsigned int i)
 {
-    struct p2m_domain *p2m = array_access_nospec(d->arch.altp2m_p2m, i);
+    struct p2m_domain *p2m = d->arch.altp2m_p2m[array_index_nospec(i, d->max_altp2m)];
     struct p2m_domain *hostp2m = p2m_get_hostp2m(d);
     struct ept_data *ept;

@@ -1519,7 +1519,7 @@ unsigned int p2m_find_altp2m_by_eptp(struct domain *d, uint64_t eptp)

     altp2m_list_lock(d);

-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
             continue;
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index eb7996170d..a7144fc8e1 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -105,7 +105,7 @@ void p2m_change_entry_type_global(struct domain *d,
     {
         unsigned int i;

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -140,7 +140,7 @@ void p2m_memory_type_changed(struct domain *d)
     {
         unsigned int i;

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -913,7 +913,7 @@ void p2m_change_type_range(struct domain *d,
     {
         unsigned int i;

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -986,7 +986,7 @@ int p2m_finish_type_change(struct domain *d,
     {
         unsigned int i;

-        for ( i = 0; i < MAX_ALTP2M; i++ )
+        for ( i = 0; i < d->max_altp2m; i++ )
         {
             if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             {
@@ -1780,7 +1780,7 @@ bool p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx)
     struct domain *d = v->domain;
     bool rc = false;

-    if ( idx >= MAX_ALTP2M )
+    if ( idx >= d->max_altp2m )
         return rc;

     altp2m_list_lock(d);
@@ -1886,8 +1886,8 @@ static void p2m_reset_altp2m(struct domain *d, unsigned int idx,
 {
     struct p2m_domain *p2m;

-    ASSERT(idx < MAX_ALTP2M);
-    p2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+    ASSERT(idx < d->max_altp2m);
+    p2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];

     p2m_lock(p2m);

@@ -1912,7 +1912,7 @@ void p2m_flush_altp2m(struct domain *d)

     altp2m_list_lock(d);

-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         p2m_reset_altp2m(d, i, ALTP2M_DEACTIVATE);
         d->arch.altp2m_eptp[i] = mfn_x(INVALID_MFN);
@@ -1928,9 +1928,9 @@ static int p2m_activate_altp2m(struct domain *d, unsigned int idx,
     struct p2m_domain *hostp2m, *p2m;
     int rc;

-    ASSERT(idx < MAX_ALTP2M);
+    ASSERT(idx < d->max_altp2m);

-    p2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+    p2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];
     hostp2m = p2m_get_hostp2m(d);

     p2m_lock(p2m);
@@ -1968,7 +1968,7 @@ int p2m_init_altp2m_by_id(struct domain *d, unsigned int idx)
     int rc = -EINVAL;
     struct p2m_domain *hostp2m = p2m_get_hostp2m(d);

-    if ( idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) )
+    if ( idx >= min(d->max_altp2m, MAX_EPTP) )
         return rc;

     altp2m_list_lock(d);
@@ -1995,7 +1995,7 @@ int p2m_init_next_altp2m(struct domain *d, uint16_t *idx,

     altp2m_list_lock(d);

-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
             continue;
@@ -2017,7 +2017,7 @@ int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx)
     struct p2m_domain *p2m;
     int rc = -EBUSY;

-    if ( !idx || idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) )
+    if ( !idx || idx >= min(d->max_altp2m, MAX_EPTP) )
         return rc;

     rc = domain_pause_except_self(d);
@@ -2030,7 +2030,7 @@ int p2m_destroy_altp2m_by_id(struct domain *d, unsigned int idx)
     if ( d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] !=
          mfn_x(INVALID_MFN) )
     {
-        p2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+        p2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];

         if ( !_atomic_read(p2m->active_vcpus) )
         {
@@ -2055,7 +2055,7 @@ int p2m_switch_domain_altp2m_by_id(struct domain *d, unsigned int idx)
     struct vcpu *v;
     int rc = -EINVAL;

-    if ( idx >= MAX_ALTP2M )
+    if ( idx >= d->max_altp2m )
         return rc;

     rc = domain_pause_except_self(d);
@@ -2090,13 +2090,13 @@ int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
     mfn_t mfn;
     int rc = -EINVAL;

-    if ( idx >=  min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+    if ( idx >=  min(d->max_altp2m, MAX_EPTP) ||
          d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] ==
          mfn_x(INVALID_MFN) )
         return rc;

     hp2m = p2m_get_hostp2m(d);
-    ap2m = array_access_nospec(d->arch.altp2m_p2m, idx);
+    ap2m = d->arch.altp2m_p2m[array_index_nospec(idx, d->max_altp2m)];

     p2m_lock(hp2m);
     p2m_lock(ap2m);
@@ -2152,7 +2152,7 @@ int p2m_altp2m_propagate_change(struct domain *d, gfn_t gfn,

     altp2m_list_lock(d);

-    for ( i = 0; i < MAX_ALTP2M; i++ )
+    for ( i = 0; i < d->max_altp2m; i++ )
     {
         p2m_type_t t;
         p2m_access_t a;
@@ -2175,7 +2175,7 @@ int p2m_altp2m_propagate_change(struct domain *d, gfn_t gfn,
             else
             {
                 /* At least 2 altp2m's impacted, so reset everything */
-                for ( i = 0; i < MAX_ALTP2M; i++ )
+                for ( i = 0; i < d->max_altp2m; i++ )
                 {
                     if ( i == last_reset_idx ||
                          d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
@@ -2575,12 +2575,12 @@ int p2m_set_suppress_ve_multi(struct domain *d,

     if ( sve->view > 0 )
     {
-        if ( sve->view >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( sve->view >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(sve->view, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;

-        p2m = ap2m = array_access_nospec(d->arch.altp2m_p2m, sve->view);
+        p2m = ap2m = d->arch.altp2m_p2m[array_index_nospec(sve->view, d->max_altp2m)];
     }

     p2m_lock(host_p2m);
@@ -2643,12 +2643,12 @@ int p2m_get_suppress_ve(struct domain *d, gfn_t gfn, bool *suppress_ve,

     if ( altp2m_idx > 0 )
     {
-        if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+        if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
              d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
              mfn_x(INVALID_MFN) )
             return -EINVAL;

-        p2m = ap2m = array_access_nospec(d->arch.altp2m_p2m, altp2m_idx);
+        p2m = ap2m = d->arch.altp2m_p2m[array_index_nospec(altp2m_idx, d->max_altp2m)];
     }
     else
         p2m = host_p2m;
@@ -2679,9 +2679,9 @@ int p2m_set_altp2m_view_visibility(struct domain *d, unsigned int altp2m_idx,

     /*
      * Eptp index is correlated with altp2m index and should not exceed
-     * min(MAX_ALTP2M, MAX_EPTP).
+     * min(d->max_altp2m, MAX_EPTP).
      */
-    if ( altp2m_idx >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
+    if ( altp2m_idx >= min(d->max_altp2m, MAX_EPTP) ||
          d->arch.altp2m_eptp[array_index_nospec(altp2m_idx, MAX_EPTP)] ==
          mfn_x(INVALID_MFN) )
         rc = -EINVAL;
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 6773f7fb90..18785cc22a 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -568,6 +568,12 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
         }
     }

+    if ( config->max_altp2m && !hvm_altp2m_supported() )
+    {
+        dprintk(XENLOG_INFO, "altp2m requested but not available\n");
+        return -EINVAL;
+    }
+
     if ( config->vmtrace_size && !vmtrace_available )
     {
         dprintk(XENLOG_INFO, "vmtrace requested but not available\n");
@@ -610,6 +616,7 @@ struct domain *domain_create(domid_t domid,
     if ( config )
     {
         d->options = config->flags;
+        d->max_altp2m = config->max_altp2m;
         d->vmtrace_size = config->vmtrace_size;
     }

diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b..f9bd0ffe1a 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -21,7 +21,7 @@
 #include "hvm/save.h"
 #include "memory.h"

-#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
+#define XEN_DOMCTL_INTERFACE_VERSION 0x00000017

 /*
  * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
@@ -77,6 +77,7 @@ struct xen_domctl_createdomain {
      */
     uint32_t max_vcpus;
     uint32_t max_evtchn_port;
+    uint32_t max_altp2m;
     int32_t max_grant_frames;
     int32_t max_maptrack_frames;

diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 132b841995..46436fcb0b 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -602,6 +602,8 @@ struct domain
         unsigned int guest_request_sync          : 1;
     } monitor;

+    unsigned int max_altp2m; /* Maximum number of altp2m tables */
+
     unsigned int vmtrace_size; /* Buffer size in bytes, or 0 to disable. */

 #ifdef CONFIG_ARGO
--
2.34.1



From xen-devel-bounces@lists.xenproject.org Sun Apr 28 18:06:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 18:06:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713748.1114664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s18um-0005Uj-8T; Sun, 28 Apr 2024 18:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713748.1114664; Sun, 28 Apr 2024 18: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 1s18um-0005Uc-4z; Sun, 28 Apr 2024 18:06:16 +0000
Received: by outflank-mailman (input) for mailman id 713748;
 Sun, 28 Apr 2024 18:06: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 1s18ul-0005US-2I; Sun, 28 Apr 2024 18:06: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 1s18uk-0000vJ-UX; Sun, 28 Apr 2024 18:06: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 1s18uk-0007KH-IL; Sun, 28 Apr 2024 18:06:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s18uk-0003Ax-Hp; Sun, 28 Apr 2024 18:06: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=ofpaB9OWObQznNn7JxK3IS+Fs0gyMnSbSqHkfRCQxoQ=; b=strqFXUmUEqPhZlxiX2p7d+0Ue
	MTrMLswozytDySqEOPuRfGPdjbInkLEycvWVLp+D3QrU0NzLMb4sk7e8NqQ1MdX72q0Ojrh8o4zCn
	eUKbJgUv69EAdQRIixv/Ks3txXUywO4c5P+Bw2qnC0Y0kh+2Q7Mrv7ykwAWlf3IwvwiE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185845-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185845: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-raw:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    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-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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1: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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2c8159388952f530bd260e097293ccc0209240be
X-Osstest-Versions-That:
    linux=5d12ed4bea4343ca3adbe3c23c8d149485de5010
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Apr 2024 18:06:14 +0000

flight 185845 linux-linus real [real]
flight 185857 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185845/
http://logs.test-lab.xenproject.org/osstest/logs/185857/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu  8 xen-boot           fail pass in 185857-retest
 test-armhf-armhf-xl-raw       8 xen-boot            fail pass in 185857-retest
 test-armhf-armhf-xl-arndale   8 xen-boot            fail pass in 185857-retest
 test-amd64-amd64-libvirt-raw 19 guest-start/debian.repeat fail pass in 185857-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 185857 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 185857 never pass
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 185857 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 185857 never pass
 test-armhf-armhf-xl-raw     14 migrate-support-check fail in 185857 never pass
 test-armhf-armhf-xl-raw 15 saverestore-support-check fail in 185857 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185833
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185833
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185833
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185833
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185833
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185833
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-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-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

version targeted for testing:
 linux                2c8159388952f530bd260e097293ccc0209240be
baseline version:
 linux                5d12ed4bea4343ca3adbe3c23c8d149485de5010

Last test of basis   185833  2024-04-27 18:43:42 Z    0 days
Testing same since   185845  2024-04-28 04:00:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alice Ryhl <aliceryhl@google.com>
  Andrew Jones <ajones@ventanamicro.com>
  Aswin Unnikrishnan <aswinunni01@gmail.com>
  Ben Zong-You Xie <ben717@andestech.com>
  Benno Lossin <benno.lossin@proton.me>
  Bo-Wei Chen <tim.chenbw@gmail.com>
  Christoph Müllner <christoph.muellner@vrull.eu>
  Clément Léger <cleger@rivosinc.com>
  Conor Dooley <conor.dooley@microchip.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Laine Taffin Altman <alexanderaltman@me.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Miguel Ojeda <ojeda@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Samuel Holland <samuel.holland@sifive.com>
  Steve French <stfrench@microsoft.com>
  Wedson Almeida Filho <walmeida@microsoft.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-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                                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                                 fail    
 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
   5d12ed4bea43..2c8159388952  2c8159388952f530bd260e097293ccc0209240be -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Apr 28 20:32:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 28 Apr 2024 20:32:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713770.1114674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1BCU-0007GH-Hu; Sun, 28 Apr 2024 20:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713770.1114674; Sun, 28 Apr 2024 20:32: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 1s1BCU-0007GA-Ct; Sun, 28 Apr 2024 20:32:42 +0000
Received: by outflank-mailman (input) for mailman id 713770;
 Sun, 28 Apr 2024 20:32: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 1s1BCT-0007G0-9Y; Sun, 28 Apr 2024 20:32: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 1s1BCT-0003Pa-4x; Sun, 28 Apr 2024 20:32: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 1s1BCS-0002DM-Pm; Sun, 28 Apr 2024 20:32:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1BCS-0000sM-PI; Sun, 28 Apr 2024 20:32:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UKTBOGiA/eU7leOQjATdSsBtEq6xqFOy2AU+8BY8QX4=; b=sMwJPLS9UGUR3OWEReGPDxOynr
	A3a+HFRBBY0BUMFJNcyLX9mn0hWs3UIebH8v52xPyGX2/0Pv+VYWSvHsSXQpTtMQ76KwZGS0/fvDw
	umqAPwQOZL5BLkWwU0FUgEkMJFC/0oKEt1jKC8Fpdu7XQbbaxTW83eaQytbcE0wsHhDk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185849-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185849: regressions - FAIL
X-Osstest-Failures:
    linux-6.1:build-armhf-pvops:kernel-build:fail:regression
    linux-6.1:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-saverestore.2:fail:heisenbug
    linux-6.1:test-amd64-amd64-xl-qemut-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm: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-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-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2: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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f2295faba5e8249ae4082791bfc1664c88fff83a
X-Osstest-Versions-That:
    linux=6741e066ec7633450d3186946035c1f80c4226b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 28 Apr 2024 20:32:40 +0000

flight 185849 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185849/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-pvops             6 kernel-build             fail REGR. vs. 185746

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 17 guest-saverestore.2 fail in 185835 pass in 185849
 test-amd64-amd64-xl-qemut-debianhvm-amd64 20 guest-start/debianhvm.repeat fail pass in 185835

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185746
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-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                f2295faba5e8249ae4082791bfc1664c88fff83a
baseline version:
 linux                6741e066ec7633450d3186946035c1f80c4226b8

Last test of basis   185746  2024-04-20 18:14:28 Z    8 days
Testing same since   185832  2024-04-27 15:44:00 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ai Chao <aichao@kylinos.cn>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andrew Morton <akpm@linux-foundation.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bjorn Helgaas <bhelgaas@google.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brenton Simpson <appsforartists@google.com>
  Carlos Llamas <cmllamas@google.com>
  Carolina Jubran <cjubran@nvidia.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chinmoy Ghosh <chinmoyghosh2001@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuanhong Guo <gch981213@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Coia Prant <coiaprant@gmail.com>
  Daniel Golle <daniel@makrotopia.org>
  Daniele Palmas <dnlplm@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Yang <mmyangfl@gmail.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Finn Thain <fthain@linux-m68k.org>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geoffrey D. Bennett <g@b4.vu>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jarkko Nikula <jarkko.nikula@bitmer.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jens Axboe <axboe@kernel.dk>
  Jeongjun Park <aha310510@gmail.com>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Kosina <jkosina@suse.cz>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kelvin Cao <kelvin.cao@microchip.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lei Chen <lei.chen@smartx.com>
  Leon Romanovsky <leon@kernel.org>
  Like Xu <likexu@tencent.com>
  Linus Walleij <linus.walleij@linaro.org>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Mark Zhang <markzhang@nvidia.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Pastore <mike@oobak.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Mike Rapoport <rppt@linux.ibm.com>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miles Chen <miles.chen@mediatek.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Mingming Su <mingming.su@mediatek.com>
  Mintu Patel <mintupatel89@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oscar Salvador <osalvador@suse.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pasha Tatashin <pasha.tatashin@soleen.com>
  Pekka Paalanen <pekka.paalanen@collabora.com>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Philippe Perrot <philippe@perrot-net.fr>
  Pin-yen Lin <treapking@chromium.org>
  Qiang Zhang <qiang4.zhang@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ron Economos <re@w6rz.net>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tariq Toukan <tariqt@nvidia.com>
  Tejun Heo <tj@kernel.org>
  Tim Huang <Tim.Huang@amd.com>
  Todd Kjos <tkjos@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Vimal Kumar <vimal.kumar32@gmail.com>
  Vishal Badole <badolevishal1116@gmail.com>
  Vladimir Oltean <olteanv@gmail.com>
  xinhui pan <xinhui.pan@amd.com>
  xiongxin <xiongxin@kylinos.cn>
  Yanjun.Zhu <yanjun.zhu@linux.dev>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Yaxiong Tian <tianyaxiong@kylinos.cn>
  Ye Li <ye.li@broadcom.com>
  Yu Zhe <yuzhe@nfschina.com>
  Yuanhe Shu <xiangzao@linux.alibaba.com>
  Yuntao Wang <ytcoode@gmail.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            fail    
 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                    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-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 4764 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 03:36:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 03:36:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713809.1114683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1HoY-0006zc-KT; Mon, 29 Apr 2024 03:36:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713809.1114683; Mon, 29 Apr 2024 03: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 1s1HoY-0006zV-Hh; Mon, 29 Apr 2024 03:36:26 +0000
Received: by outflank-mailman (input) for mailman id 713809;
 Mon, 29 Apr 2024 03:36:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uSuK=MC=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s1HoX-0006zP-Q2
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 03:36:25 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20600.outbound.protection.outlook.com
 [2a01:111:f403:2416::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a563a93f-05d9-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 05:36:22 +0200 (CEST)
Received: from MN2PR08CA0005.namprd08.prod.outlook.com (2603:10b6:208:239::10)
 by PH7PR12MB5949.namprd12.prod.outlook.com (2603:10b6:510:1d8::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr
 2024 03:36:18 +0000
Received: from BN3PEPF0000B078.namprd04.prod.outlook.com
 (2603:10b6:208:239:cafe::a9) by MN2PR08CA0005.outlook.office365.com
 (2603:10b6:208:239::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34 via Frontend
 Transport; Mon, 29 Apr 2024 03:36:18 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B078.mail.protection.outlook.com (10.167.243.123) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7544.18 via Frontend Transport; Mon, 29 Apr 2024 03:36: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.35; Sun, 28 Apr
 2024 22:36:17 -0500
Received: from [10.69.48.49] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Sun, 28 Apr 2024 22:36:14 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a563a93f-05d9-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XWo+SP4tmkNaEldymWIF370aX4NVqaeh9WP88gy5w9qZ44tDivJbIiqe8+3F7seUYg4hAlNR5v81f4ButcaMXIyfbRmZWyGQ0gAx0WNGlmu4rYSuolYBLbChnDpkPIKl7LfJImsdFOR9MU0wq/CDZu0YnPVGwIvFNehAwi386dLkPhavgJ16DvkqRJTq9QgeJWoVHFQKXi8+Mi/mmIX31n28Uply1KgnEmwu7lvfrhpTW4YhrNOtlkIRkCxgJeAlRXxSRM18PT8ZpHjPabs+P/0jRW5oSAaODQoZbqR9lXSRg76c3n7IVKfuLxwRRM4NxQqmX9fdCpR7xwpcWS8Gaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KR2o27fZSEuoKaueE9YEOWjPvoqPgl0eotZZdzHPH3I=;
 b=bdnZWf7aM4ID5F5gnI5/lsrmA+nMgQGuPt3Ms7PO//ek7jWgarwQLYYQlVpsm76imfgvZ98DCG63lQFUG0JQ0WvITvy+7SCCgnxfmqs72RxpD7yA/3SPJyc4+yqHN++5O5aifcfZHgFjGPqtaUvSqp3KnJO+ZYP+a59314D9AMQxudJusCWBgDLdK8uesWZRVuzMwGXPmbjTUlRW3lmP3juBDGrzbo3mOemRyo19r8W/9hf63eY3SXxMGbG6Jk5Nznfl3vAH8426DopozpWJZk5ugKLR28APuCFYUxGDWMFq0lJthqeV96NTAaXfPgvfy7xUjkgTRk0ejvaRGw05ZA==
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=KR2o27fZSEuoKaueE9YEOWjPvoqPgl0eotZZdzHPH3I=;
 b=VJpyiaFIaLwgtxRhwyNzJNMZRjc7X9+3d1mdE+KRvh4LuDR4f5mxw/l1N32rlKKYJez96jG+9vu5Qkcg54xpuR3a+kG2nTFlczxTvP6B+++r36GkZlF6VpId5bwcVszuCONp+R/yxa92Ta0C1ehL5Ja0CQlrRnpTR8bmHPAgr6Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <97a401ff-4b5c-4e6a-8d9c-e36305ec64f5@amd.com>
Date: Mon, 29 Apr 2024 11:36:14 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/15] xen/overlay: Enable device tree overlay assignment
 to running domains
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-8-xin.wang2@amd.com>
 <da67f90f-6807-4fdc-b65b-f7a4ba9f78ad@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <da67f90f-6807-4fdc-b65b-f7a4ba9f78ad@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B078:EE_|PH7PR12MB5949:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d86a1da-f30b-46c3-e879-08dc67fd878e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|1800799015|82310400014|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZFZ3aUNYSklObUEwR2I3QS9NR1N4QlNqbkdLMFdXNFVoWGZYR0cxOU41bzRz?=
 =?utf-8?B?TndmcVk2YkR6cHlCb05VcjdPc3pMTjk2YXpjblU5cnlIejFrcFpVWWZ5NDVR?=
 =?utf-8?B?Qk1TdGFtamhhZW5vUG44NmVLNEYrMkN6cDZpeHNwYVZRTGpad05XbTVWNmJR?=
 =?utf-8?B?TmJpMjljVFQrWmNiZTNRaXZyN00xbUpMTkFrME5aeDhjbm9mbDE0eW81NTBR?=
 =?utf-8?B?K2c0RXNKSlM5U093SWt1ODlGbWdvaWdQY2VaNlcxTGhBZmFuQko4MWVldlZk?=
 =?utf-8?B?U1hkWjkwUHNWQmdrMXdGRlRxa3hWbXZnOEtvV3RTQmdDeEtCRXJzeWhLM051?=
 =?utf-8?B?UHRzSFFMVEg3MFJrVkpjclhEZ0h4VTBxcjlnSWJkay9HTG1xMWtyeGMrS0xa?=
 =?utf-8?B?Nm5RdEJ0VTZzc29VWDBESnZ1c0QrYXFjVEthVVk5L3NKSW9OM0dzRWlaNzZB?=
 =?utf-8?B?L0RwdnlSdnk5MjFGVUp2Tk00TWdNVGVlT0JXcmwvZnROZU9NTUw2VVZnellj?=
 =?utf-8?B?ZlZhYTlXQ2xIUDVLY2ZNYUFjRWZqRmU0eXJheGhKV1FJOE5vRDNkLzhrM28x?=
 =?utf-8?B?RE1FNHhSZzZCekd0TnF1OFVrUXFWQlViRTNVZktIa1ZMK2E5QXlQblUzcFlp?=
 =?utf-8?B?V0xOendCQTRscmlhYzROcStaa0gzTGRDMFB5SHdXck92eUFTUzhLanNRUDgz?=
 =?utf-8?B?Wm5EUTdKck5tRjI5S0FtL1ZUV21tQ1hMV2lrR1hXWCt1ZDRwRU9SWmVvZlpx?=
 =?utf-8?B?ZXVxMCthN2JBemhGd1ozVjVHYm03UWtsU3Y4QU91ZWVGVnQ4NzFkM283NWhR?=
 =?utf-8?B?cGJ4NTJEd1BZVi9oby9VTGlONWxzR1lSSlNETDNLZldHamt3c0FHMmJPeGlI?=
 =?utf-8?B?SFpoYlYzQzEyamhMV0U4VFJHMC80aTUvMUdKTndKTW5NbzVWaWoycS9icWVh?=
 =?utf-8?B?d1AwSDF3bG9XNXVoVnoyUUhHSDMyOER3MDdZVVB5T1IwaGlJQ2d6M2RHeWRD?=
 =?utf-8?B?U2ZNc1BTdlEvMWxyRVJjeFQyZEJNbG52TDV6cUF5YUQ0cUJMSmduNXFUcll6?=
 =?utf-8?B?Rk9jeEZJNk1QcVQ4VGJBMGh6d2o2N05DV1FWSEJvZEVkMU9xREk2Y1BzYVhB?=
 =?utf-8?B?Z1hlR2RQWXFmeEZDTkRiVlczWTN3bWxJVFdhdTRGaTFnZDhSdHgxRlpacHFO?=
 =?utf-8?B?VkZJSzF6N2VqN0lIckxkUE9naG5JWG8rVm5CU3FmWDI2dkczbm1hOWZRZlh0?=
 =?utf-8?B?Y2lGdS8wZGJ0elVmUFQrL2lvbzBXQ0M0SUUwam5oSS9SM0huWjNUVG9LaERK?=
 =?utf-8?B?c3gwUXh6NTIvYU1Wbm9Qbm9zdzYzM21HSlZJT0tMclBrMlByZDRramExMGFa?=
 =?utf-8?B?MG5kNWpOdjU4aFVQMTkrVi9oM2NNNTRvdXUyTGpKdUltYStrU0JEZFo2Q3hi?=
 =?utf-8?B?Q0N4L3JkV2ExUUlPWFI4L0JqTmE5d1QvZkM3ZEs0Y1ZZUThSUEl4TjBrR2NV?=
 =?utf-8?B?QWNRamp4OXVYM0s5bmdNOXNIQ1Iza051WEtBdWltQWZUaWZrVkkwWFExWUVI?=
 =?utf-8?B?clhSNnFHTzFHM1BOVGhPV3lzcVdSbUh4bVAyNnBrY2QvR3JyRHh5VUdCMG9a?=
 =?utf-8?B?Zng1TisrTDhwT2VJOWJKSXVVc3o4YTJFUytRbGJPaC8xbGlQNFdtMmlDb1Vs?=
 =?utf-8?B?TkJBaWNzTCtGQWtMWjU5MkVwQkcxaGlvbmd0aGNMVUZEandHWXhaeEM1ZndF?=
 =?utf-8?B?SGdmc1FKZXE1MlhWMUxQcWpvVzdIcHdwVk1XZkRNOGo4NzgvbUlCVzhKZmJh?=
 =?utf-8?B?elVBVnJzalliODdpbDVvdjdwb3dmWDNMbTNRUkF1YnpNZjhJOWloTEowZi9K?=
 =?utf-8?Q?5xn1gpXyOK5uL?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(376005)(1800799015)(82310400014)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 03:36:17.7975
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d86a1da-f30b-46c3-e879-08dc67fd878e
X-MS-Exchange-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:
	BN3PEPF0000B078.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5949

Hi Jan, Julien, Stefano,

On 4/24/2024 2:05 PM, Jan Beulich wrote:
> On 24.04.2024 05:34, Henry Wang wrote:
>> --- a/xen/include/public/sysctl.h
>> +++ b/xen/include/public/sysctl.h
>> @@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
>>   #define XEN_SYSCTL_DT_OVERLAY_ADD                   1
>>   #define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
>>       uint8_t overlay_op;                     /* IN: Add or remove. */
>> -    uint8_t pad[3];                         /* IN: Must be zero. */
>> +    bool domain_mapping;                    /* IN: True of False. */
>> +    uint8_t pad[2];                         /* IN: Must be zero. */
>> +    uint32_t domain_id;
>>   };
> If you merely re-purposed padding fields, all would be fine without
> bumping the interface version. Yet you don't, albeit for an unclear
> reason: Why uint32_t rather than domid_t? And on top of that - why a
> separate boolean when you could use e.g. DOMID_INVALID to indicate
> "no domain mapping"?

I think both of your suggestion make great sense. I will follow the 
suggestion in v2.

> That said - anything taking a domain ID is certainly suspicious in a
> sysctl. Judging from the description you really mean this to be a
> domctl. Anything else will require extra justification.

I also think a domctl is better. I had a look at the history of the 
already merged series, it looks like in the first version of merged part 
1 [1], the hypercall was implemented as the domctl in the beginning but 
later in v2 changed to sysctl. I think this makes sense as the scope of 
that time is just to make Xen aware of the device tree node via Xen 
device tree.

However this is now a problem for the current part where the scope (and 
the end goal) is extended to assign the added device to Linux Dom0/DomU 
via device tree overlays. I am not sure which way is better, should we 
repurposing the sysctl to domctl or maybe add another domctl (I am 
worrying about the duplication because basically we need the same sysctl 
functionality but now with a domid in it)? What do you think?

@Stefano: Since I am not 100% if I understand the whole story behind 
this feature, would you mind checking if I am providing correct 
information above and sharing your opinions on this? Thank you very much!

[1] 
https://lore.kernel.org/xen-devel/13240b69-f7bb-6a64-b89c-b7c2cbb7e465@xen.org/

Kind regards,
Henry

> Jan



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 05:15:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 05:15:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713819.1114694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1JM6-0002lh-FD; Mon, 29 Apr 2024 05:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713819.1114694; Mon, 29 Apr 2024 05:15:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1JM6-0002la-Ba; Mon, 29 Apr 2024 05:15:10 +0000
Received: by outflank-mailman (input) for mailman id 713819;
 Mon, 29 Apr 2024 05:15: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 1s1JM5-0002lQ-Ba; Mon, 29 Apr 2024 05:15: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 1s1JM5-00032H-7d; Mon, 29 Apr 2024 05:15: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 1s1JM4-0000h9-MT; Mon, 29 Apr 2024 05:15:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1JM4-00036u-Lp; Mon, 29 Apr 2024 05:15:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vjjKsct+So2B7RBMOGKAjTL7ydTapvRiml3WpJ9Gfmc=; b=En0RSCvnLXquYUAbZ1167LfsoQ
	FKLn7pqai8uQDB9h1y9GSryx2iLnjzAkRTTbY19Gq/ZyUAWu46h5NLHyu5aem+iovAeoFmgP6PC9O
	CD0h+ooyhJY7/OzpzKCtYuiLgRBJd1Pgy4A5zxJe4C9KNvOJtzXUXU+X39+RFEc/BHbM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185858-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185858: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-qcow2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-examine:reboot: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-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-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-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-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-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=245c8e81741b51fe1281964e4a6525311be6858f
X-Osstest-Versions-That:
    linux=2c8159388952f530bd260e097293ccc0209240be
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Apr 2024 05:15:08 +0000

flight 185858 linux-linus real [real]
flight 185861 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185858/
http://logs.test-lab.xenproject.org/osstest/logs/185861/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-qcow2     8 xen-boot            fail pass in 185861-retest
 test-armhf-armhf-xl-credit1   8 xen-boot            fail pass in 185861-retest
 test-armhf-armhf-examine      8 reboot              fail pass in 185861-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 185861 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 185861 never pass
 test-armhf-armhf-xl-qcow2   14 migrate-support-check fail in 185861 never pass
 test-armhf-armhf-xl-qcow2 15 saverestore-support-check fail in 185861 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185845
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185845
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185845
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185845
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185845
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185845
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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
 test-armhf-armhf-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

version targeted for testing:
 linux                245c8e81741b51fe1281964e4a6525311be6858f
baseline version:
 linux                2c8159388952f530bd260e097293ccc0209240be

Last test of basis   185845  2024-04-28 04:00:20 Z    1 days
Testing same since   185858  2024-04-28 19:42:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Borislav Petkov (AMD) <bp@alien8.de>
  Chen Yu <yu.c.chen@intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Kaplan <david.kaplan@amd.com>
  Frederic Weisbecker <frederic@kernel.org>
  Guanrui Huang <guanrui.huang@linux.alibaba.com>
  Ingo Molnar <mingo@kernel.org>
  Josh Poimboeuf <jpoimboe@kernel.org>
  K Prateek Nayak <kprateek.nayak@amd.com>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Oleg Nesterov <oleg@redhat.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Sean Christopherson <seanjc@google.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tianchen Ding <dtcccc@linux.alibaba.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Wenkuan Wang <Wenkuan.Wang@amd.com>
  Xuewen Yan <xuewen.yan@unisoc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              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                                     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                                    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
   2c8159388952..245c8e81741b  245c8e81741b51fe1281964e4a6525311be6858f -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 05:33:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 05:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713827.1114704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1JdN-0006LN-T2; Mon, 29 Apr 2024 05:33:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713827.1114704; Mon, 29 Apr 2024 05:33:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1JdN-0006LG-PE; Mon, 29 Apr 2024 05:33:01 +0000
Received: by outflank-mailman (input) for mailman id 713827;
 Mon, 29 Apr 2024 05:33:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s1JdM-0006L6-FT; Mon, 29 Apr 2024 05:33:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s1JdM-0004RO-5L; Mon, 29 Apr 2024 05:33:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s1JdL-0001Cc-OW; Mon, 29 Apr 2024 05:32:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1JdL-0001k8-Nx; Mon, 29 Apr 2024 05:32: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=aQ5OfvJYBNKvJUy1dgZD/QkmKn2VVl/zNp1kkpumDJs=; b=cIMj3Cpb1uGSH4FJsBoDNbRSzD
	hx/UIAeM06NLmI6RZBySFtrdh+G+6M8FeFJxgbCDCI35osJu90PhnREBTEomHPXd8U8W3brkMGzj1
	/fXncFPpK06FfjqtWV24s9HWs+5Iy77Q8W7h/AUd8iNeDgLbA1/KzqKaD9K3slD4BzHo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185859-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185859: regressions - FAIL
X-Osstest-Failures:
    linux-6.1:build-armhf-pvops:kernel-build:fail:regression
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-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-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-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2: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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f2295faba5e8249ae4082791bfc1664c88fff83a
X-Osstest-Versions-That:
    linux=6741e066ec7633450d3186946035c1f80c4226b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Apr 2024 05:32:59 +0000

flight 185859 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185859/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-pvops             6 kernel-build             fail REGR. vs. 185746

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185746
 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          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-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-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                f2295faba5e8249ae4082791bfc1664c88fff83a
baseline version:
 linux                6741e066ec7633450d3186946035c1f80c4226b8

Last test of basis   185746  2024-04-20 18:14:28 Z    8 days
Testing same since   185832  2024-04-27 15:44:00 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ai Chao <aichao@kylinos.cn>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andrew Morton <akpm@linux-foundation.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bjorn Helgaas <bhelgaas@google.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brenton Simpson <appsforartists@google.com>
  Carlos Llamas <cmllamas@google.com>
  Carolina Jubran <cjubran@nvidia.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chinmoy Ghosh <chinmoyghosh2001@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuanhong Guo <gch981213@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Coia Prant <coiaprant@gmail.com>
  Daniel Golle <daniel@makrotopia.org>
  Daniele Palmas <dnlplm@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Yang <mmyangfl@gmail.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Finn Thain <fthain@linux-m68k.org>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geoffrey D. Bennett <g@b4.vu>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jarkko Nikula <jarkko.nikula@bitmer.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jens Axboe <axboe@kernel.dk>
  Jeongjun Park <aha310510@gmail.com>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Kosina <jkosina@suse.cz>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kelvin Cao <kelvin.cao@microchip.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lei Chen <lei.chen@smartx.com>
  Leon Romanovsky <leon@kernel.org>
  Like Xu <likexu@tencent.com>
  Linus Walleij <linus.walleij@linaro.org>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Mark Zhang <markzhang@nvidia.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Pastore <mike@oobak.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Mike Rapoport <rppt@linux.ibm.com>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miles Chen <miles.chen@mediatek.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Mingming Su <mingming.su@mediatek.com>
  Mintu Patel <mintupatel89@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oscar Salvador <osalvador@suse.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pasha Tatashin <pasha.tatashin@soleen.com>
  Pekka Paalanen <pekka.paalanen@collabora.com>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Philippe Perrot <philippe@perrot-net.fr>
  Pin-yen Lin <treapking@chromium.org>
  Qiang Zhang <qiang4.zhang@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ron Economos <re@w6rz.net>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tariq Toukan <tariqt@nvidia.com>
  Tejun Heo <tj@kernel.org>
  Tim Huang <Tim.Huang@amd.com>
  Todd Kjos <tkjos@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Vimal Kumar <vimal.kumar32@gmail.com>
  Vishal Badole <badolevishal1116@gmail.com>
  Vladimir Oltean <olteanv@gmail.com>
  xinhui pan <xinhui.pan@amd.com>
  xiongxin <xiongxin@kylinos.cn>
  Yanjun.Zhu <yanjun.zhu@linux.dev>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Yaxiong Tian <tianyaxiong@kylinos.cn>
  Ye Li <ye.li@broadcom.com>
  Yu Zhe <yuzhe@nfschina.com>
  Yuanhe Shu <xiangzao@linux.alibaba.com>
  Yuntao Wang <ytcoode@gmail.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            fail    
 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 4764 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 06:36:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 06:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713843.1114713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1KcU-0005YB-GL; Mon, 29 Apr 2024 06:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713843.1114713; Mon, 29 Apr 2024 06:36:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1KcU-0005Y4-DN; Mon, 29 Apr 2024 06:36:10 +0000
Received: by outflank-mailman (input) for mailman id 713843;
 Mon, 29 Apr 2024 06:36:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1KcS-0005Xy-V5
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 06:36:09 +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 c1654687-05f2-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 08:36:05 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-41ba1ba55ebso17288475e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 23:36: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
 v18-20020a5d43d2000000b0034a25339e47sm27712183wrr.69.2024.04.28.23.36.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 28 Apr 2024 23: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: c1654687-05f2-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714372565; x=1714977365; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XiKox6psWFP4voir+vi13occAzVsW0lTkqE+j9P3CKg=;
        b=eOufIZNCPtBWK/9WHGC2xQF+kY/YhWjl3KSfQ+mnwljsmsLtJqJDp0lE1YVi+FG0EJ
         kI65jYfLHJQ1CyHrio7FVNHxf7FB7v5bbooWz06hcEpLDLCKCowHTyqBz10RyL080qDU
         kT+bOCOxgU+tVuHpcgYT3pKCQXpAREcHqQN8mdXsCp1rgWiD4Ygo0yvf4P1cQjui+JZF
         A7YUuNKQ/pIJko7e4OEZ/m5hgrggok+bmoTXLswkjZ4D1q8akiPCr/kd/STOPmA0FsCX
         CrEemRf/sgGJvlTXlceCUeJXqqTHjV3D4ysZsD3XyqZmkl2u96Y+9mGRonzdpWNE5ala
         nNZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714372565; x=1714977365;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XiKox6psWFP4voir+vi13occAzVsW0lTkqE+j9P3CKg=;
        b=xEbtL4eksbFfYjIm5DI/OxYGXNbklT/K9sLHTLFLu0sutDrhC219u2hQt0TNYeiIdS
         IupWWBDPsgG/2kbc180hpPM/hQlRh92BjZMUMF8q4rgVVAeLtS1BPMeVqkY4oatbmjdr
         hFf6m467r3jiy7CoaZzni/KQwPJFIQqlHB/rw9Z4jLlRQUpvwreJ4qImpTnv0rK7C+4Q
         2NOqftskVe3OT6jSVxvxhq7FbvQUzLofsNnEKpKkaE/HpcTyS1sIg6gxqQTI/hGqdLsq
         50sCkE5MNBFbJy58V+AphyurUfCoKaTQUriel+1nkN+boZYzCF0Uh25tM6jAtLzKTR7g
         Ih9w==
X-Forwarded-Encrypted: i=1; AJvYcCUd5UsUapnwgOGhWax5N8WdLBi34JQ+NMkwkRXqDQGAzCkAQuKRcYXbhq0gn8nIv9Kmx2YtHmEq/xVkiWMi0J8F0Veh4lzOLWcnDGykU0I=
X-Gm-Message-State: AOJu0YxY4onuCtzmzxfhFEbhAQ1DgCFP8AVGMuka/1azk0DVOj3T6oMQ
	F44mfEavm1cmMWRccBfPIXnaq6mf3odDA5vI9eI5+ZEpnPzR6uVkD1mb8unpmg==
X-Google-Smtp-Source: AGHT+IHbpsbXTcbMPJOblm6CXkfgIHG17fRxzwbLZ+L3c2/m3rBvifbgsEkjNifkJuH8SLab8QtyLw==
X-Received: by 2002:a05:600c:4ecb:b0:418:b9fa:43e9 with SMTP id g11-20020a05600c4ecb00b00418b9fa43e9mr8514432wmq.29.1714372565211;
        Sun, 28 Apr 2024 23:36:05 -0700 (PDT)
Message-ID: <7a28d950-e3de-465d-9f0d-044598e356db@suse.com>
Date: Mon, 29 Apr 2024 08:36:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/spinlock: use correct pointer
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20240425204547.658536-1-stewart.hildebrand@amd.com>
 <08165a0d-d8ee-4405-ba04-e1cfb51489b4@suse.com>
 <261fce46-56e9-4a7e-8f2f-b741bf5b8251@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: <261fce46-56e9-4a7e-8f2f-b741bf5b8251@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 16:33, Stewart Hildebrand wrote:
> On 4/26/24 02:31, Jan Beulich wrote:
>> On 25.04.2024 22:45, Stewart Hildebrand wrote:
>>> The ->profile member is at different offsets in struct rspinlock and
>>> struct spinlock. When initializing the profiling bits of an rspinlock,
>>> an unrelated member in struct rspinlock was being overwritten, leading
>>> to mild havoc. Use the correct pointer.
>>>
>>> Fixes: b053075d1a7b ("xen/spinlock: make struct lock_profile rspinlock_t aware")
>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks!
> 
>>
>>> --- a/xen/common/spinlock.c
>>> +++ b/xen/common/spinlock.c
>>> @@ -789,7 +789,11 @@ static int __init cf_check lock_prof_init(void)
>>>      {
>>>          (*q)->next = lock_profile_glb_q.elem_q;
>>>          lock_profile_glb_q.elem_q = *q;
>>> -        (*q)->ptr.lock->profile = *q;
>>> +
>>> +        if ( (*q)->is_rlock )
>>> +            (*q)->ptr.rlock->profile = *q;
>>> +        else
>>> +            (*q)->ptr.lock->profile = *q;
>>>      }
>>>  
>>>      _lock_profile_register_struct(LOCKPROF_TYPE_GLOBAL,
>>
>> Just to mention it: Strictly speaking spinlock_profile_print_elem()'s
>>
>>     printk("%s: addr=%p, lockval=%08x, ", data->name, data->ptr.lock, lockval);
>>
>> isn't quite right either (and I would be surprised if Misra didn't have
>> to say something about it).
> 
> I'd be happy to send a patch for that instance, too. Would you like a
> Reported-by: tag?

I'm inclined to say no, not worth it, but it's really up to you. In fact
I'm not sure we need to change that; it all depends on whether ...

> That patch would look something like:
> 
> --- a/xen/common/spinlock.c
> +++ b/xen/common/spinlock.c
> @@ -637,22 +637,25 @@ static void cf_check spinlock_profile_print_elem(struct lock_profile *data,
>  {
>      unsigned int cpu;
>      unsigned int lockval;
> +    void *lockaddr;
>  
>      if ( data->is_rlock )
>      {
>          cpu = data->ptr.rlock->debug.cpu;
>          lockval = data->ptr.rlock->tickets.head_tail;
> +        lockaddr = data->ptr.rlock;
>      }
>      else
>      {
>          cpu = data->ptr.lock->debug.cpu;
>          lockval = data->ptr.lock->tickets.head_tail;
> +        lockaddr = data->ptr.lock;
>      }
>  
>      printk("%s ", lock_profile_ancs[type].name);
>      if ( type != LOCKPROF_TYPE_GLOBAL )
>          printk("%d ", idx);
> -    printk("%s: addr=%p, lockval=%08x, ", data->name, data->ptr.lock, lockval);
> +    printk("%s: addr=%p, lockval=%08x, ", data->name, lockaddr, lockval);
>      if ( cpu == SPINLOCK_NO_CPU )
>          printk("not locked\n");
>      else
> 
> 
> That case is benign since the pointer is not dereferenced. So the
> rationale would primarily be for consistency (and possibly satisfying
> Misra).

... Misra takes issue with the "wrong" member of a union being used,
which iirc is UB, but which I'm afraid elsewhere we do all the time.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 06:37:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 06:37:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713846.1114724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1KeD-00063P-RI; Mon, 29 Apr 2024 06:37:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713846.1114724; Mon, 29 Apr 2024 06:37:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1KeD-00063I-Nb; Mon, 29 Apr 2024 06:37:57 +0000
Received: by outflank-mailman (input) for mailman id 713846;
 Mon, 29 Apr 2024 06:37:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1KeC-000638-JO
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 06:37:56 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02cb9a9e-05f3-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 08:37:55 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-41bca450fa3so13231275e9.2
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 23:37: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
 a12-20020a056000188c00b00347eb354b30sm28947611wri.84.2024.04.28.23.37.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 28 Apr 2024 23:37: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: 02cb9a9e-05f3-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714372675; x=1714977475; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=zh6cdYX/huOKuFWrusrKq0ktzt/2mAkgjKO4CpEgiBs=;
        b=hB6hC/YhHVmVxZO2lc/aj+FVYNHKVf1P9yBos5LLr8yXWyphq9e9iVogIMpRuppgdX
         sSso9Bz0EZpsIMVX3pLALbWBGqiUQwvhSqs8Wzr5zRF+ub/wSftoKMy1wI5HLoKaTuN8
         r3V1Xyy9RtnRifSL4jG2jL8CuXhdATo0xS8t4bQfogzU3Pw42kGnZIYXSWwK8D0xsM3r
         mKayJO1RJvTHC0X1viMBsT2lwyLGsJ/fCeS339ksvoSuYeToXhwvRM92AY/uOV8++Le0
         jb9mcouluooZiRNdW+0Mmp7H7AnSYfExmhaX5mPmafutxF0QsWvXGnxDM7S4Ts3FRGip
         Zm6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714372675; x=1714977475;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=zh6cdYX/huOKuFWrusrKq0ktzt/2mAkgjKO4CpEgiBs=;
        b=ke62ZwKNleY8Ny1VLdLZl9R/2AySEf99uJo8uhxdFrRkVvstfUhnQhlqgwdsli7ld0
         E8Eyrmh7nM5v7Vm6HaUSL5OAcbBadqo0VEcPn/88WCJmJTvfxFfgyTKKjokWJJ3lY8dI
         g/PlgoVQ5Phn+1M/bNqTTWC/e7CSOMM6XQR+HSbnN9fAkgzEgw7PflffLQyvsenEiLcJ
         LNCWnZtvANkirD79IDo9xYS5F6b4J4ups6CI4Qa1kro8K/JTmfZCZjrFl8NuKo6fWlE3
         zQlpEzLf8kC8Pvo4BxSMy61IaIkzLQwksA7T6DT6av8yZjXIK86xyyYEKLfgGl0NHNwi
         ZtIw==
X-Forwarded-Encrypted: i=1; AJvYcCVpWKYmXsSZNh329dhd4rJOVrYNpWXbvifSIz8gVRS+Ki946voUokK20uX0OSIjTZTwR8o0N8fK6E9/xGokk9RcSMsuzHfw/1/2Y4PDXtw=
X-Gm-Message-State: AOJu0YyUGY8XSkahSE9xGmeoOiDCEP0i7puT7IWjDUnpgpA+KqJtf9v+
	UKpn+DNKAA/HVHnzVm1JbXX373479KzynwWmMgugXg/1k24XJZ1tJEse620euLAefSKZyzpHZ2c
	=
X-Google-Smtp-Source: AGHT+IHxJHfRdfsv1QT82cvbq29vstFXBRThmWbQ+wARhKOkBAReMnjSuooDF19JG2J32BgHweoaOw==
X-Received: by 2002:a05:6000:1544:b0:34d:3d05:cf3a with SMTP id 4-20020a056000154400b0034d3d05cf3amr406209wry.22.1714372675059;
        Sun, 28 Apr 2024 23:37:55 -0700 (PDT)
Message-ID: <59a59477-f343-454a-9f83-e9df28286065@suse.com>
Date: Mon, 29 Apr 2024 08:37:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/7] x86/hvm: Allow access to registers on the same
 page as MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
 <a040f703a884ff4516314f88b22ee0f9f17329a9.1710342968.git-series.marmarek@invisiblethingslab.com>
 <68f99f0a-e27a-449f-8d13-fb5ca9f6069a@suse.com> <ZivHw9RUUN1CV4Hi@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZivHw9RUUN1CV4Hi@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 17:26, Marek Marczykowski-Górecki wrote:
> On Thu, Apr 25, 2024 at 01:15:34PM +0200, Jan Beulich wrote:
>> On 13.03.2024 16:16, Marek Marczykowski-Górecki wrote:
>>> +    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
>>> +
>>> +    switch ( len )
>>> +    {
>>> +    case 1:
>>> +        *pval = readb(hwaddr);
>>> +        break;
>>> +
>>> +    case 2:
>>> +        *pval = readw(hwaddr);
>>> +        break;
>>> +
>>> +    case 4:
>>> +        *pval = readl(hwaddr);
>>> +        break;
>>> +
>>> +    case 8:
>>> +        *pval = readq(hwaddr);
>>> +        break;
>>> +
>>> +    default:
>>> +        ASSERT_UNREACHABLE();
>>
>> Misra demands "break;" to be here for release builds. In fact I wonder
>> why "*pval = ~0UL;" isn't put here, too. Question of course is whether
>> in such a case a true error indicator wouldn't be yet better.
> 
> I don't think it possible for the msixtbl_read() (that calls
> adjacent_read()) to be called with other sizes.

I agree, but scanners won't know.

Jan

> The default label is here exactly to make it obvious for the reader.
> 



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 06:43:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 06:43:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713855.1114733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Kjz-0007ql-E0; Mon, 29 Apr 2024 06:43:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713855.1114733; Mon, 29 Apr 2024 06:43:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Kjz-0007qe-BK; Mon, 29 Apr 2024 06:43:55 +0000
Received: by outflank-mailman (input) for mailman id 713855;
 Mon, 29 Apr 2024 06:43: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1Kjy-0007qY-0j
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 06:43:54 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7c8b7e2-05f3-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 08:43:52 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-34b3374ae22so4454580f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 28 Apr 2024 23:43: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
 m2-20020a05600c4f4200b004186eb69a55sm40172765wmq.25.2024.04.28.23.43.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 28 Apr 2024 23:43: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: d7c8b7e2-05f3-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714373032; x=1714977832; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AmyoU+Q2sgIfz5uRo5wk7eBHOwAmZcwPO886Ck//vYs=;
        b=PY5PWzBZLnce8Ig+FFdm/BAPWd9qI8lOLAvlkX4ZgPd5BOvcwHWaPmtEE8giZn5dgP
         Jycbd7WWeM7VUaGmFF2vK6h0MLnwUD9x0Zeb+1YWMia5F2LO6+o2xH3F1qVPwN8ZgdGx
         gH1ivrsK+u5swz/O5H5lAZHvAFVZX9Ddvpkb8qPC8nHxOLE+O4Yiux8LTcgUkRXCdHOM
         QJTOwuKeypDj20Q7Bxprr05Da8o3bBulxFVi9albiRctY+MdLNQpdERgYsdi1WSw9Euw
         e4sFFbU3XRvjKqR5hUXYSVKqn7Bjiw5kALVakLE/uZoObWdMB+u4jjhYes3PuSjH+0kP
         cAIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714373032; x=1714977832;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=AmyoU+Q2sgIfz5uRo5wk7eBHOwAmZcwPO886Ck//vYs=;
        b=aSMGP94iBhQYsn/jgzKN5DhGgIf+7C3W0BM9p5PHFNWe7SrezSznJvwLBMV8LN5xCx
         Z7I5ar+j95RGUtcRHNi049fQOFuQbOeAKPdjWmxctRVxlUaXJ3Jzlp9vIm4FReLacouf
         JiaCgA4lHkCEpcWikjn2VTN28FECDZUKRJQZrkV26MtknYWHEQ3pYruqXSZQPEvnkNrA
         ibFNdXE1JwsBbyKBEAGVqOPVzHcPUgQxPfw50D1G+s6NSrmEMt0sICAVjDD7YZ5uepDg
         HN06PH3WcKKcSre5jm/Cl8WavqGvRw52LRs9Ihmndm/gHP8QycO6e8UHa0pdgZRxFyZE
         C/YQ==
X-Forwarded-Encrypted: i=1; AJvYcCWrrCglLH8e4Kl0E4rqMtR2fegc50ivaw2LcVVuDd0GTbqNJ4OL6WlGmDlWmJpabJrFMl5oKcQWcLyfOp6e3hTKopwUOFybs1LGTVazOOE=
X-Gm-Message-State: AOJu0Yy1q2wEUEhsU4bgvW3T7dzAuDZZ1RiQnaWbGLe8hzYyPBRCmK5q
	jicftpDqqFiBnaE3F/rvP9xskOTgAVzX8uu73JqD+SjUww+MO+FNiOnwxzpeaw==
X-Google-Smtp-Source: AGHT+IGV9QhE8Uh08XACdt8Pecj+SP4U2ho0NPzOA100X3MpoLfDpu0l38/eE10sSw6TI7lHPL05DA==
X-Received: by 2002:a5d:64cc:0:b0:34c:def3:2f82 with SMTP id f12-20020a5d64cc000000b0034cdef32f82mr3853473wri.27.1714373032372;
        Sun, 28 Apr 2024 23:43:52 -0700 (PDT)
Message-ID: <36ab7bce-2f72-4ad8-8315-2bfc1268d032@suse.com>
Date: Mon, 29 Apr 2024 08:43:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/15] xen/overlay: Enable device tree overlay assignment
 to running domains
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-8-xin.wang2@amd.com>
 <da67f90f-6807-4fdc-b65b-f7a4ba9f78ad@suse.com>
 <97a401ff-4b5c-4e6a-8d9c-e36305ec64f5@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <97a401ff-4b5c-4e6a-8d9c-e36305ec64f5@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.04.2024 05:36, Henry Wang wrote:
> Hi Jan, Julien, Stefano,
> 
> On 4/24/2024 2:05 PM, Jan Beulich wrote:
>> On 24.04.2024 05:34, Henry Wang wrote:
>>> --- a/xen/include/public/sysctl.h
>>> +++ b/xen/include/public/sysctl.h
>>> @@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
>>>   #define XEN_SYSCTL_DT_OVERLAY_ADD                   1
>>>   #define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
>>>       uint8_t overlay_op;                     /* IN: Add or remove. */
>>> -    uint8_t pad[3];                         /* IN: Must be zero. */
>>> +    bool domain_mapping;                    /* IN: True of False. */
>>> +    uint8_t pad[2];                         /* IN: Must be zero. */
>>> +    uint32_t domain_id;
>>>   };
>> If you merely re-purposed padding fields, all would be fine without
>> bumping the interface version. Yet you don't, albeit for an unclear
>> reason: Why uint32_t rather than domid_t? And on top of that - why a
>> separate boolean when you could use e.g. DOMID_INVALID to indicate
>> "no domain mapping"?
> 
> I think both of your suggestion make great sense. I will follow the 
> suggestion in v2.
> 
>> That said - anything taking a domain ID is certainly suspicious in a
>> sysctl. Judging from the description you really mean this to be a
>> domctl. Anything else will require extra justification.
> 
> I also think a domctl is better. I had a look at the history of the 
> already merged series, it looks like in the first version of merged part 
> 1 [1], the hypercall was implemented as the domctl in the beginning but 
> later in v2 changed to sysctl. I think this makes sense as the scope of 
> that time is just to make Xen aware of the device tree node via Xen 
> device tree.
> 
> However this is now a problem for the current part where the scope (and 
> the end goal) is extended to assign the added device to Linux Dom0/DomU 
> via device tree overlays. I am not sure which way is better, should we 
> repurposing the sysctl to domctl or maybe add another domctl (I am 
> worrying about the duplication because basically we need the same sysctl 
> functionality but now with a domid in it)? What do you think?

I'm taking it that what is a sysctl right now legitimately is. Therefore
folding both into domctl would at least be bending the rules of what
should be sysctl and what domctl. It would need clarifying what (fake)
domain such a (folded) domctl ought to operate on for the case that's
currently a sysctl. That then may (or may not) be justification for such
folding.

Jan

> @Stefano: Since I am not 100% if I understand the whole story behind 
> this feature, would you mind checking if I am providing correct 
> information above and sharing your opinions on this? Thank you very much!
> 
> [1] 
> https://lore.kernel.org/xen-devel/13240b69-f7bb-6a64-b89c-b7c2cbb7e465@xen.org/
> 
> Kind regards,
> Henry
> 
>> Jan
> 



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 07:07:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 07:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713867.1114743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1L6R-0002iR-7U; Mon, 29 Apr 2024 07:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713867.1114743; Mon, 29 Apr 2024 07: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 1s1L6R-0002iK-4P; Mon, 29 Apr 2024 07:07:07 +0000
Received: by outflank-mailman (input) for mailman id 713867;
 Mon, 29 Apr 2024 07: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1L6P-0002hv-Lo
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 07:07:05 +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 14a28408-05f7-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 09:07:03 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-41b21ed19f5so28736535e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 00:07: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
 j10-20020a05600c190a00b00418a9961c47sm40357620wmq.47.2024.04.29.00.07.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 00: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: 14a28408-05f7-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714374423; x=1714979223; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dOHubGpgYAyYAkcXWF/rMyS0mFgSXKAO+i8xOwjQPpc=;
        b=fLhUXbE+UIsR+u9CEHcJvNV7C6vSJI9jII9xJxI3YxCeq9vVoTFQtI35KHVTh32six
         U1ju5y+qiyzX2Ov0P0QLVQ3/+O7UjXja+Lc+KAJqdczBwt5jpvBxxqxJB/ErAbZ7kzAJ
         qNWfIO77U3oHxF67Lt1epLGBKCuwZFXeZFGCFWWDqWd9yBJ8xpyoBYinYZvsOmmxeMHO
         AWnhiVo0PBTQ5jtwbRRXE33wi/vCIIWqa+gSvOxYA5+b1L1ts6YXJ2uwo1MkMYzlOG/5
         TvpjrGypjK4R64Egq+12MdB9BQ0QLWmlogbESuN/I3FcqqnwIGfM5k5K1h5cZm7c/VI6
         DfrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714374423; x=1714979223;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=dOHubGpgYAyYAkcXWF/rMyS0mFgSXKAO+i8xOwjQPpc=;
        b=l7ov6sWgQZBMPzszmQCIS5gaooBw6kqSinqP8f+ez9daeUStnpC9xRcaC+XKMk+Ju4
         6xcjbIYyRaqZmKUDR4Ww0qmS5ibviuR8Z9XAEF1lv3RxHnQEXV64vsDXNncTnUVfMVJH
         5uk/Y64zHaiUHXIG1kpF5xTrO+znGYyd2l0AEaANnQiIu62JA+EKdRW672Y+epgI/ZXm
         +wSy55vPnbjYIMlOaovYWE2omWTkJT0VoR7tnAQpzRsalVPsCfTXsC5HTdtj9ot2iCvu
         kl8CgJOI4WkbKgibnqZ0nvTTpTwx/Wyci4GiVurt9fTwmeEWhTLzuzTPki7a0h0+AyNo
         JBbQ==
X-Forwarded-Encrypted: i=1; AJvYcCU2DxQ25xDXg3EW0DFBneABXeHavdTIq9s41Z2BSSYQzq/RMozi9saR1KO0ZAg2Rcc9i5KpWTZBQ2+hmIMlXRecXuySKw45qjVY4qdVbvk=
X-Gm-Message-State: AOJu0YxaYv0S9/Xc/8iNHkX+l74QbFTNgOzbC9ZtpKD3N+IybgqUQ/Hh
	acsD2Ma2bncgdn8VlNFeAaAI9bjzqgd7h1SEBDdCBNQl2sjY4QRNVirRk7LY4g==
X-Google-Smtp-Source: AGHT+IF33YBjnFT2I06Tghr1/q34iaZZo/O+iUfMmbY/DSSk7Qt4ZU2awTjudUiHFgZ/t2DF7GLkOw==
X-Received: by 2002:a05:600c:450b:b0:41b:f30a:41f1 with SMTP id t11-20020a05600c450b00b0041bf30a41f1mr3789437wmo.7.1714374422870;
        Mon, 29 Apr 2024 00:07:02 -0700 (PDT)
Message-ID: <fd3efb33-6611-4c6e-a2b6-fe47f655c0fe@suse.com>
Date: Mon, 29 Apr 2024 09:07:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] x86/p2m: Add braces for better code clarity
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1714322424.git.w1benny@gmail.com>
 <90082c0aa2047edf5764840f1903d1797ca4b902.1714322424.git.w1benny@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <90082c0aa2047edf5764840f1903d1797ca4b902.1714322424.git.w1benny@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.04.2024 18:52, Petr Beneš wrote:
> From: Petr Beneš <w1benny@gmail.com>
> 
> No functional change.
> 
> Signed-off-by: Petr Beneš <w1benny@gmail.com>

Where did Stefano's R-b go?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 07:19:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 07:19:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713881.1114759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1LIl-0004sT-G6; Mon, 29 Apr 2024 07:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713881.1114759; Mon, 29 Apr 2024 07: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 1s1LIl-0004sM-DI; Mon, 29 Apr 2024 07:19:51 +0000
Received: by outflank-mailman (input) for mailman id 713881;
 Mon, 29 Apr 2024 07:19: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1LIk-0004sG-LE
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 07:19:50 +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 dd4282ee-05f8-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 09:19:49 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-51abf1a9332so5596722e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 00:19: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
 n3-20020a05600c4f8300b0041be58cdf83sm7435435wmq.4.2024.04.29.00.19.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 00: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: dd4282ee-05f8-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714375189; x=1714979989; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=q0oSIncWfRdUdmaIGvx5u0B7hRxtNRvDMgL4G/hlfXE=;
        b=VG9/3kxu7cicE4o57/QfWPTA+F3B46lUgn1xQ412vcXL6rDwbkQ8kSXEumWodqwFUC
         Fncsc/tsYB02FAtuQb2lGsXVra5gJ0yDVyF9n3n1nFTb1PnN5jk/iNcKtyzRqzRNe9vg
         l4uh4WPEcbBKScVdPBXXt8y5qA0jSxZDHZI57IqAC5XU+/4s7U8u7NCZx3eU+VTrs3qC
         pfXyFcCN/zl+2DKWwG5Shdme104C7cqUIWvDL6/2UQWHf0LYwML9C8ypgbexZ31xEom/
         HGBp9YE+NPCJZnC3C6uc1kTYkp5rjfz4DlCdXFZje2Nz1gtpSUmU007cTkC02lfPVze4
         WLdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714375189; x=1714979989;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=q0oSIncWfRdUdmaIGvx5u0B7hRxtNRvDMgL4G/hlfXE=;
        b=YUq0TWI4ibf8exPZLtnxokQl+ajCf3aius6xa+UjbeY0yVQhN+tjScSSBTCyhi+sxc
         lDd/R7AnggjYq0GRKSAH9dS6bPxLDulz1rCxjluCDuWbuENxrxnpLl4p/X6Pz5kzIWba
         lha5dkEvP4TXHzMk0Rv+nTElfwUXffFGjor0VP0ftw5VE0LXYu14zZ1Q4YaTW35bPO3s
         yKSxkFb6IhDIfNVCcY+C63HYgqcAiJZUfm0aGUeCoEnNmHfpktCA114C3Ni3+B145Oaf
         MpljQ8mZOdk0C/ZYyeuFJK4eGGQ+/T3Sz44zoAXo+d++v2LKhDde0ewJ5BwG6TtIAuhE
         t1nA==
X-Forwarded-Encrypted: i=1; AJvYcCUOLr9N/N/DhG61F8KsS4buZR6yBjpTGELLo17QrmqFUqr+U9AV45sprVQlYOyp4++WhjtHL5Y0cNzayUqXXDPRuIjYXHZYLllzU//gvTc=
X-Gm-Message-State: AOJu0YyG+99jdQt6nnq6m34ssxIpYl7zdmTYgWM+BZHhGSoTkAyOijcO
	sk7Sjd35EJeLgwnPGf13ZG+mwDXX50TyjN7dq/x3SpP220AmlhDOc3Q6zeYutg==
X-Google-Smtp-Source: AGHT+IFslbAe7sCaUDcXJdoLn0Ibvrnyq2U62k2ZaoTHYU45dvyDPsy2zHE5zfFRkiX83bUBYieCOA==
X-Received: by 2002:a19:9157:0:b0:516:d33a:7571 with SMTP id y23-20020a199157000000b00516d33a7571mr6316012lfj.8.1714375188896;
        Mon, 29 Apr 2024 00:19:48 -0700 (PDT)
Message-ID: <9d9decb2-ee5b-4e0c-9f27-b65e7c274e5b@suse.com>
Date: Mon, 29 Apr 2024 09:19:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: MISRA and -Wextra-semi
Content-Language: en-US
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>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <5ef9fef8-e5ee-4ce3-a78f-ee7c35e5a1a4@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5ef9fef8-e5ee-4ce3-a78f-ee7c35e5a1a4@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 13:33, Andrew Cooper wrote:
> Hi,
> 
> Based on a call a long while back, I experimented with -Wextra-semi. 
> This is what lead to 8e36c668ca107 "xen: Drop superfluous semi-colons".
> 
> However, there are a number of problems with getting this working
> fully.  First, we need workarounds like this:
> 
> diff --git a/xen/include/xen/config.h b/xen/include/xen/config.h
> index d888b2314daf..12e99c6dded4 100644
> --- a/xen/include/xen/config.h
> +++ b/xen/include/xen/config.h
> @@ -26,7 +26,7 @@
>  
>  #include <asm/config.h>
>  
> -#define EXPORT_SYMBOL(var)
> +#define EXPORT_SYMBOL(var) typedef int var##_ignore_t

For this specifically, could we perhaps finally get rid of most (all?)
EXPORT_SYMBOL()? If not all, then at least as far as permitting the
stub #define to be moved to linux-compat.h?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 07:20:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 07:20:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713884.1114769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1LJi-0006F7-Ot; Mon, 29 Apr 2024 07:20:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713884.1114769; Mon, 29 Apr 2024 07:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1LJi-0006Ey-Lf; Mon, 29 Apr 2024 07:20:50 +0000
Received: by outflank-mailman (input) for mailman id 713884;
 Mon, 29 Apr 2024 07:20:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YHc4=MC=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1s1LJg-0006DE-QC
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 07:20:49 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2070.outbound.protection.outlook.com [40.107.13.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fff8a077-05f8-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 09:20:47 +0200 (CEST)
Received: from AM0PR04CA0086.eurprd04.prod.outlook.com (2603:10a6:208:be::27)
 by PAXPR08MB7490.eurprd08.prod.outlook.com (2603:10a6:102:2b7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr
 2024 07:20:14 +0000
Received: from AM3PEPF0000A796.eurprd04.prod.outlook.com
 (2603:10a6:208:be:cafe::e3) by AM0PR04CA0086.outlook.office365.com
 (2603:10a6:208:be::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34 via Frontend
 Transport; Mon, 29 Apr 2024 07:20:14 +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.7544.18
 via Frontend Transport; Mon, 29 Apr 2024 07:20:13 +0000
Received: ("Tessian outbound b7675f20d34d:v315");
 Mon, 29 Apr 2024 07:20:13 +0000
Received: from 4c005ca8dd8f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AF497F35-9413-4813-B1D5-EF901225DF83.1; 
 Mon, 29 Apr 2024 07:20:07 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4c005ca8dd8f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 29 Apr 2024 07:20:07 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB5992.eurprd08.prod.outlook.com (2603:10a6:20b:292::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr
 2024 07:20:03 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::7fb0:6621:56b:22d5%3]) with mapi id 15.20.7519.031; Mon, 29 Apr 2024
 07:20:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fff8a077-05f8-11ef-909b-e314d9c70b13
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=oHnOHWtQ35gvP3Po/vSKBtElW3RjvNRc4hbi23O4WnTpUAc/ZNFn5QLHqLMZbJzQbsQmp9M8XxZbW8QjRzCTOpWxW0jSaOgpVDllubrSGN2dxxwF0VQkm33gqlt1vna7dy6qc+gUf0CYiDaRVayyqEQ+fZpE06palKPTAcmYE+AnVeCyQoqnq2tno7fhpBxH4r8fFfkj7SJWG3DeaJbc8W0nFLMqPjSfxG6n2Wfm8UUwM+RMiIEvfZAbPG3hWInGHw+zyLJH1VCInpIqee8tujznAUhR1mvb252oilvo4tVeQ3+15kqUyX3gee0spIQzDMQkdPOXu9mSeRc7xtkE+w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mxv2wU8g6sQxWU3fglLP5zeRUV+PSiVX8qj7O7CIq5w=;
 b=LKr5YDETZw6AIO8Rk2bVJPcFQtfgPM4N4npBPel6n81EWZWFlIme0gZWNQQEa55JwQevNvYvC6bGNYOC8QPhdlt95Z3qzk7YkfgG9UDnJevpW9kKY+IZOv16zxrWcP0SvDNSDtRZQPRWf9kov9VaXlCU14IlX7U6dbOrSvr9ON9V9DRp1mOBg6jWCB4Z4E+bfQ3YWwVUeDWR5BezJSld1nT2bkYFivU1BqRQjkEvI4rh7CwsdgCR/1R8S57Cj4yiOcf9N17VA16Jpm0/mqS7GKTsv/m/O4F8RFPXrHfcdSaTyERYDLvb2QOhrBoG3mpnO8m3+N87UIrdh/H/2vFZiQ==
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=mxv2wU8g6sQxWU3fglLP5zeRUV+PSiVX8qj7O7CIq5w=;
 b=UJPg/j7n+Aq5lBLEYS8dX/sQzZoAFC6q/qHSc636ROsUjq3mGvKt02p9SH1AOIEf2kW80TNCrGwhqfOlim7kaMY7bEflssNTw8FkifXp4zpL4oakRwU+EteU+Y7LD0zREMrDxIFGJAPeaQ6eYY5sC5rs9qV4K20LHHg3xMf/Q/A=
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: c83492a41eb969fe
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hwwuh/BChQB/HWAwZ3lPPKc3SYdcC0jYC+X+M/a9wwxv6ZDrqDeijnB2sOdOVFfuh4ACr2NHsWBufG7I/fA7blN/wWl5/c9oShWKay23c34/nvgIODGQqkn+dzTKHKUwQlLUAYVsA9FSujsKZwEkjTJM4T/wegArytFGyb+pkOCNfGNN+9oiJWbtRzVKS6qekQm9qJYpK0RtuuzMhOFnbwQH6jS26wE4CjuYIPCrfMdGEBxS/1yTb/6zK10S0S7apBU7kEQLG3U+RWiYsF25FxrzWv1PAJoakTA6NV/65IOvvOwlf0rfchZGMWfJfFaO+ohhaKkIBc90SvKbhyvMVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mxv2wU8g6sQxWU3fglLP5zeRUV+PSiVX8qj7O7CIq5w=;
 b=kJawp7t3Cyzx+1Sl8515ZZaI2KYkJlDe/iZojao9ZU+zljPMieaWmDgZoNuEAB8W5RfRYjT97zma3eVz8ilHCZPeLHAG7kIKFg6ppWTiSot8Ka+CZec+VDhz3kypV6B2J+LoB93DIVuovp/fRJATDTObcA8MEHg4xCcr5xSzWlv94UtXTfiCZUizgZcGHRbyGyjqPcJxgyecUYN2YNCQt8elKu5KdxCsr9mmYqrK31VW9/bRIZQtpjCHIsaCBcFoE1Y/9UoRyBBRr2SqkZaiOaqcUQ2+y7RkYoU7ol2DswWD/wuGdIfMP4HmvH91zLYB7m6vlyJ27eyozfN94jufmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=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=mxv2wU8g6sQxWU3fglLP5zeRUV+PSiVX8qj7O7CIq5w=;
 b=UJPg/j7n+Aq5lBLEYS8dX/sQzZoAFC6q/qHSc636ROsUjq3mGvKt02p9SH1AOIEf2kW80TNCrGwhqfOlim7kaMY7bEflssNTw8FkifXp4zpL4oakRwU+EteU+Y7LD0zREMrDxIFGJAPeaQ6eYY5sC5rs9qV4K20LHHg3xMf/Q/A=
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>, "patches@linaro.org" <patches@linaro.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Topic: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
Thread-Index: AQHal7ZoS0Rs3weazUuhKfXitmlnMLF66mmAgAPxaoA=
Date: Mon, 29 Apr 2024 07:20:02 +0000
Message-ID: <1A23083C-9605-4291-AF2F-5891AF270333@arm.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
 <c7a672a7-02f8-4d24-b87e-1b8439d7eb4c@xen.org>
In-Reply-To: <c7a672a7-02f8-4d24-b87e-1b8439d7eb4c@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.500.171.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB5992:EE_|AM3PEPF0000A796:EE_|PAXPR08MB7490:EE_
X-MS-Office365-Filtering-Correlation-Id: fb33766c-3027-485a-f13f-08dc681ccfff
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230031|366007|1800799015|376005|38070700009;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?borNavzT3FwhxhusAAfCrGQ8ugLwyaIttLnmRHYB9/Y3ELiqgWZu3y/tDeAP?=
 =?us-ascii?Q?72p+C+MKGjGiDUsr6N7s38Ndm3dE938KPtFsISs3os8vGG8M+2je/nZEDyIF?=
 =?us-ascii?Q?ONeQTZDpRpl07Vqx9XiD+Jg9K2Cvb18Dnn7TpMO/HKcV9dpU1IvNqpY/Vy4V?=
 =?us-ascii?Q?pvWni+1ogoNL3GeAYShB7V2LRbQ/X1m9nbRKy4ujDH9lyObioXk271WMPWFp?=
 =?us-ascii?Q?+D/rx2ETZamjE1LwF9j3BClsatyQ0+RghUzBWAO7xv+7d8WcCY+wZvKlHuBu?=
 =?us-ascii?Q?FFiiRCspboHq6ouDSHV9+XVb9BoJ+Rl2R8MPJLrVwpYD4DfUcajSn6nj+CVW?=
 =?us-ascii?Q?TGb3OEJce6mnkTEjbQb4/j/cZPOzxMTWF3hd1/yUH6vFhxBTzyLTWSm+55SS?=
 =?us-ascii?Q?k4720g+xVEENE92qchPf1VNcwdbKmfULgBVaKDT2jzciHmkvTYhP7YVlj49Q?=
 =?us-ascii?Q?T77gx275HGCyGFtSnqXpodykFVCz0+WbGrVKmYqBIhulW5HtvzuiGuULhzjw?=
 =?us-ascii?Q?DHcxnky80I3/tSohDHQyvg92Js5HU1SM4eWiyDTG8FJS/28N+BYMmwLd83um?=
 =?us-ascii?Q?06cWNi7T+Vs2R221qlsG2S7VJ2omzMd9NMxnO9QeRMYypr+ZhOMwYkBv/0LQ?=
 =?us-ascii?Q?ldHAJ9d4mc1F65ZNIvzT/D/OBxwjxuY2VBogNJy/WQoZ0LK+2cvOJI+LTPko?=
 =?us-ascii?Q?ixoFvIZiQPfaq6z/BR5ao6p15u9RXEdnQr5TTWq3nagKv5Z6Hk4FVKioyakA?=
 =?us-ascii?Q?zztZ/+ZCgibatZnDT7dBN8EgFZfYsecsYtyMy+LBknJmg1DRX+l4cz7x+STK?=
 =?us-ascii?Q?6igRAvjaNA1Da2gGoKGaaVn6wWtiSFTJKujPryjAtnrUprrHRwWiSCmJNs6s?=
 =?us-ascii?Q?bCGOAPdTTpqreF9t7bnZr1YVXfUomI+CqtNe3Dr/nzS28dHCwx6QIC63I4vU?=
 =?us-ascii?Q?HMqTekYzGZJdWFgEHmZvDqZYwlowFl5WJXtUuomKgM/jsdSsJ46Z+fKU2j1b?=
 =?us-ascii?Q?Fg6FfNHd5eeW4I+EnB0bRJFsEj15xn+LSl+KWMLDV2BFYcwov4IcjcNn2k7e?=
 =?us-ascii?Q?1sBE6TApGDNex8C+5CNn+13h+g6CXoER3oX4obhhNZBOZzuxxf/mG6uXNU45?=
 =?us-ascii?Q?8f3QyfThFIypV0XZthwQ3DVk9RmEY+mJH0pxPWOWxFaQBP5vT/hgjAzzrw+v?=
 =?us-ascii?Q?9+e2rkzrEzxLmrFcy3RKad5T2sN7s7fOHnbOVSClHp+hPtkUf3Yb4i/Szcxs?=
 =?us-ascii?Q?WDqR334n2onHDwFqz2/1BSr9EB4VrHfJJJnuWZf6j7Srl+5nyK8jxFMU6c2L?=
 =?us-ascii?Q?+hAWfuUco0wbZY6jR4ktIkoU4+/OWDyZsbjQwC/HBR+Z3g=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:(13230031)(366007)(1800799015)(376005)(38070700009);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AC7267B09BF275458FC341916FDCCA7E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5992
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A796.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	aa2aec8b-5763-477e-419a-08dc681cc934
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|376005|36860700004|82310400014|1800799015|35042699010;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?REOVXsr8+78JzD9b2I0g6IwTLNxVkQ/PlOXMs2keEWZainCTABIipB5MplvY?=
 =?us-ascii?Q?CqcLeTsSLX6VeVgyRH/S8DADgX8tW7bBWIMLOKjKRAFW2aVASwabOQcsq/yD?=
 =?us-ascii?Q?v2lIhJBong9c8+rFWIZ8YS16Vyz19pJYEvV1XqcTdAgDyG2IiGKgWYCv7Ooj?=
 =?us-ascii?Q?JXn77vFhezS6MgIck+srzngPPY92gYtDtAY84fyWRolg2jIQs9NBhNWPvKhq?=
 =?us-ascii?Q?vQEssNVEd+dERcedmvMg8HdvL8JXgz9lWXxQchvnWZ4qIGkdVBl3u+wCzeuO?=
 =?us-ascii?Q?mXJC5xq35WZ5+9x0neOkW70dITollvpEFRS0ys0DE78y28qNvwNgPky0kvCK?=
 =?us-ascii?Q?1lz3Ma4I2A3tHyKd6+4r2ALTIW/dd9DtKbYKqNoXLczs3r9dLGysrTZkIy7P?=
 =?us-ascii?Q?qJ6yXqXLzQGA8qOImgfSNn11h4rPvchjoM8I70bS14pVESMgPNM4dLsfmeq6?=
 =?us-ascii?Q?lnBanHf4XcfIPX7QMo1Z37x8RviFsKp0by8CZC0Cud8d61tU36ZKe97LtWOl?=
 =?us-ascii?Q?0ABOz9/98NxxxLohFLDpf4MbePXXs2jAu8zkTvSOIOAVbqVPhJO752iKnxxm?=
 =?us-ascii?Q?hvOFFCv14nOcy2Om19cre90Aix6VKurYb7rlXsVU2KeB9FdlEETi/8YO4sbS?=
 =?us-ascii?Q?JH90Bb6HFIUB6suWYcg0psVwRjmHtNWTOTErHc8qs0CilqOKIepLiubLh//r?=
 =?us-ascii?Q?pLNCDMODRVHn8PA5EyQMAiZHt0ll4Ol/X9MW+I2PKTSjiXAyQJOEVdRr/zVn?=
 =?us-ascii?Q?Q7bQ6N2KHshPNvmgcmwfQ8J/5zSEqn3xX5rhsSYkxvLiPiobZ6zRMNoSPnGJ?=
 =?us-ascii?Q?R3g1QCKThcXkX1NCkLOGD11vGGDuBeTNxyycgwa0PY1AtzHzyIBK7t/qzJjB?=
 =?us-ascii?Q?LyWjvEdgjCRFJVfSVPLu7eSzWoKhEFCL1SXJczpLB2YDkszusyGGYCgWTCyw?=
 =?us-ascii?Q?rJkO3MxdAKfAPRzCbWbc4IDpH3aRKtIYKrownv2ojF1IBOZybOc1Yjscjk0o?=
 =?us-ascii?Q?CkfvKMimYdF2diGt2ucL5Jo7dSyg6/ymLfDzf2UX54Xd4qWmOZhSaIPd7hkg?=
 =?us-ascii?Q?fE2gGyMZwZiSB3zPOw6j0jmKUOBF3vxPU0UU+ItAxOSzEZ9yEJVSxFwKmqVh?=
 =?us-ascii?Q?sirFMi7AFvGqZQjzvmWS3vD/GeeQdIC/P6tshxIMwgrAxFigrbSnKeMYy6qa?=
 =?us-ascii?Q?ReLivUmhofOCc0r2GJr2UV66eZScHXaEK4PXleoeL1kj8nD/DcsN8iUjEJXI?=
 =?us-ascii?Q?+2xC1kMzNmPD5+DTMFSlatszP0S5Cgy1TaZxamBVZ7bvI3W6asXNrgzXb3Ou?=
 =?us-ascii?Q?2zhDGFuQUS4AUhf/luCjrYjJ66pRQQwaHwrA0cTyWwgAx7yLSUQimC5SndtH?=
 =?us-ascii?Q?EinZm8go0GIAQWWwb4T4wSt2i9GX?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230031)(376005)(36860700004)(82310400014)(1800799015)(35042699010);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 07:20:13.7172
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fb33766c-3027-485a-f13f-08dc681ccfff
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-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: PAXPR08MB7490

Hi Julien,

> On 26 Apr 2024, at 21:07, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Jens,
>=20
> On 26/04/2024 09:47, Jens Wiklander wrote:
>> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
>> index d7306aa64d50..5224898265a5 100644
>> --- a/xen/arch/arm/irq.c
>> +++ b/xen/arch/arm/irq.c
>> @@ -155,7 +155,7 @@ void __init init_IRQ(void)
>>      {
>>          /* SGIs are always edge-triggered */
>>          if ( irq < NR_GIC_SGI )
>> -            local_irqs_type[irq] =3D DT_IRQ_TYPE_EDGE_RISING;
>> +            local_irqs_type[irq] =3D IRQ_TYPE_EDGE_RISING;
>=20
> This changes seems unrelated to this patch. This wants to be separate (if=
 you actually intended to change it).
>=20
>>          else
>>              local_irqs_type[irq] =3D IRQ_TYPE_INVALID;
>>      }
>> diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
>> index f0112a2f922d..7c0f46f7f446 100644
>> --- a/xen/arch/arm/tee/Makefile
>> +++ b/xen/arch/arm/tee/Makefile
>> @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
>>  obj-$(CONFIG_FFA) +=3D ffa_shm.o
>>  obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
>>  obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
>> +obj-$(CONFIG_FFA) +=3D ffa_notif.o
>>  obj-y +=3D tee.o
>>  obj-$(CONFIG_OPTEE) +=3D optee.o
>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>> index 5209612963e1..912e905a27bd 100644
>> --- a/xen/arch/arm/tee/ffa.c
>> +++ b/xen/arch/arm/tee/ffa.c
>> @@ -39,6 +39,9 @@
>>   *   - at most 32 shared memory regions per guest
>>   * o FFA_MSG_SEND_DIRECT_REQ:
>>   *   - only supported from a VM to an SP
>> + * o FFA_NOTIFICATION_*:
>> + *   - only supports global notifications, that is, per vCPU notificati=
ons
>> + *     are not supported
>>   *
>>   * There are some large locked sections with ffa_tx_buffer_lock and
>>   * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock used
>> @@ -194,6 +197,8 @@ out:
>>    static void handle_features(struct cpu_user_regs *regs)
>>  {
>> +    struct domain *d =3D current->domain;
>> +    struct ffa_ctx *ctx =3D d->arch.tee;
>>      uint32_t a1 =3D get_user_reg(regs, 1);
>>      unsigned int n;
>>  @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *=
regs)
>>          BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
>>          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);
>> +        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);
>> +        break;
>> +
>> +    case FFA_NOTIFICATION_BIND:
>> +    case FFA_NOTIFICATION_UNBIND:
>> +    case FFA_NOTIFICATION_GET:
>> +    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);
>> +        break;
>>      default:
>>          ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>>          break;
>> @@ -305,6 +334,22 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
>>                                                       get_user_reg(regs,=
 1)),
>>                                     get_user_reg(regs, 3));
>>          break;
>> +    case FFA_NOTIFICATION_BIND:
>> +        e =3D ffa_handle_notification_bind(regs);
>> +        break;
>> +    case FFA_NOTIFICATION_UNBIND:
>> +        e =3D ffa_handle_notification_unbind(regs);
>> +        break;
>> +    case FFA_NOTIFICATION_INFO_GET_32:
>> +    case FFA_NOTIFICATION_INFO_GET_64:
>> +        ffa_handle_notification_info_get(regs);
>> +        return true;
>> +    case FFA_NOTIFICATION_GET:
>> +        ffa_handle_notification_get(regs);
>> +        return true;
>> +    case FFA_NOTIFICATION_SET:
>> +        e =3D ffa_handle_notification_set(regs);
>> +        break;
>>        default:
>>          gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
>> @@ -322,6 +367,7 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>>  static int ffa_domain_init(struct domain *d)
>>  {
>>      struct ffa_ctx *ctx;
>> +    int ret;
>>        if ( !ffa_version )
>>          return -ENODEV;
>> @@ -345,10 +391,11 @@ static int ffa_domain_init(struct domain *d)
>>       * error, so no need for cleanup in this function.
>>       */
>>  -    if ( !ffa_partinfo_domain_init(d) )
>> -        return -EIO;
>> +    ret =3D ffa_partinfo_domain_init(d);
>> +    if ( ret )
>> +        return ret;
>>  -    return 0;
>> +    return ffa_notif_domain_init(d);
>>  }
>>    static void ffa_domain_teardown_continue(struct ffa_ctx *ctx, bool fi=
rst_time)
>> @@ -423,6 +470,7 @@ static int ffa_domain_teardown(struct domain *d)
>>          return 0;
>>        ffa_rxtx_domain_destroy(d);
>> +    ffa_notif_domain_destroy(d);
>>        ffa_domain_teardown_continue(ctx, true /* first_time */);
>>  @@ -502,6 +550,7 @@ static bool ffa_probe(void)
>>      if ( !ffa_partinfo_init() )
>>          goto err_rxtx_destroy;
>>  +    ffa_notif_init();
>>      INIT_LIST_HEAD(&ffa_teardown_head);
>>      init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, =
0);
>>  diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.=
c
>> new file mode 100644
>> index 000000000000..6bb0804ee2f8
>> --- /dev/null
>> +++ b/xen/arch/arm/tee/ffa_notif.c
>> @@ -0,0 +1,378 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +/*
>> + * Copyright (C) 2024  Linaro Limited
>> + */
>> +
>> +#include <xen/const.h>
>> +#include <xen/list.h>
>> +#include <xen/spinlock.h>
>> +#include <xen/types.h>
>> +
>> +#include <asm/smccc.h>
>> +#include <asm/regs.h>
>> +
>> +#include "ffa_private.h"
>> +
>> +static bool __ro_after_init notif_enabled;
>> +
>> +int ffa_handle_notification_bind(struct cpu_user_regs *regs)
>> +{
>> +    struct domain *d =3D current->domain;
>> +    uint32_t src_dst =3D get_user_reg(regs, 1);
>> +    uint32_t flags =3D get_user_reg(regs, 2);
>> +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>> +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>> +
>> +    if ( !notif_enabled )
>> +        return FFA_RET_NOT_SUPPORTED;
>> +
>> +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
>> +        return FFA_RET_INVALID_PARAMETERS;
>> +
>> +    if ( flags )    /* Only global notifications are supported */
>> +        return FFA_RET_DENIED;
>> +
>> +    /*
>> +     * We only support notifications from SP so no need to check the se=
nder
>> +     * endpoint ID, the SPMC will take care of that for us.
>> +     */
>> +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitma=
p_hi,
>> +                           bitmap_lo);
>> +}
>> +
>> +int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
>> +{
>> +    struct domain *d =3D current->domain;
>> +    uint32_t src_dst =3D get_user_reg(regs, 1);
>> +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
>> +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
>> +
>> +    if ( !notif_enabled )
>> +        return FFA_RET_NOT_SUPPORTED;
>> +
>> +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
>> +        return FFA_RET_INVALID_PARAMETERS;
>> +
>> +    /*
>> +     * We only support notifications from SP so no need to check the
>> +     * destination endpoint ID, the SPMC will take care of that for us.
>> +     */
>> +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap=
_hi,
>> +                            bitmap_lo);
>> +}
>> +
>> +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
>> +{
>> +    struct domain *d =3D current->domain;
>> +    struct ffa_ctx *ctx =3D d->arch.tee;
>> +    bool pending_global;
>> +
>> +    if ( !notif_enabled )
>> +    {
>> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>> +        return;
>> +    }
>> +
>> +    spin_lock(&ctx->notif.lock);
>> +    pending_global =3D ctx->notif.secure_pending;
>> +    ctx->notif.secure_pending =3D false;
>> +    spin_unlock(&ctx->notif.lock);
>> +
>> +    if ( pending_global )
>> +    {
>> +        /* A pending global notification for the guest */
>> +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
>> +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_v=
m_id(d),
>> +                     0, 0, 0, 0);
>> +    }
>> +    else
>> +    {
>> +        /* Report an error if there where no pending global notificatio=
n */
>> +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
>> +    }
>> +}
>> +static void notif_irq_handler(int irq, void *data)
>> +{
>> +    const struct arm_smccc_1_2_regs arg =3D {
>> +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
>> +    };
>> +    struct arm_smccc_1_2_regs resp;
>> +    unsigned int id_pos;
>> +    unsigned int list_count;
>> +    uint64_t ids_count;
>> +    unsigned int n;
>> +    int32_t res;
>> +
>> +    do {
>> +        arm_smccc_1_2_smc(&arg, &resp);
>> +        res =3D ffa_get_ret_code(&resp);
>> +        if ( res )
>> +        {
>> +            if ( res !=3D FFA_RET_NO_DATA )
>> +                printk(XENLOG_ERR "ffa: notification info get failed: e=
rror %d\n",
>> +                       res);
>> +            return;
>> +        }
>> +
>> +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
>> +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT )=
 &
>> +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
>> +
>> +        id_pos =3D 0;
>> +        for ( n =3D 0; n < list_count; n++ )
>> +        {
>> +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
>> +            struct domain *d;
>> +
>> +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_po=
s));
>=20
> Thinking a bit more about the question from Bertrand about get_domain_id(=
) vs rcu_lock_domain_by_id(). I am actually not sure whether either are ok =
here.
>=20
> If I am not mistaken, d->arch.tee will be freed as part of the domain tea=
rdown process. This means you can have the following scenario:
>=20
> CPU0: ffa_get_domain_by_vm_id() (return the domain as it is alive)
>=20
> CPU1: call domain_kill()
> CPU1: teardown is called, free d->arch.tee (the pointer is not set to NUL=
L)
>=20
> d->arch.tee is now a dangling pointer
>=20
> CPU0: access d->arch.tee
>=20
> This implies you may need to gain a global lock (I don't have a better id=
ea so far) to protect the IRQ handler against domains teardown.
>=20
> Did I miss anything?

I think you are right which is why I was thinking to use rcu_lock_live_remo=
te_domain_by_id to only get a reference
to the domain if it is not dying.

>From the comment in sched.h:
/*
 * rcu_lock_domain_by_id() is more efficient than get_domain_by_id().
 * This is the preferred function if the returned domain reference
 * is short lived,  but it cannot be used if the domain reference needs
 * to be kept beyond the current scope (e.g., across a softirq).
 * The returned domain reference must be discarded using rcu_unlock_domain(=
).
 */

Now the question of short lived should be challenged but I do not think we =
can
consider the current code as "long lived".

It would be a good idea to start a mailing list thread discussion with othe=
r
maintainers on the subject to confirm.
@Jens: as i will be off for some time, would you mind doing it ?

>=20
>> +
>> +            if ( d )
>> +            {
>> +                struct ffa_ctx *ctx =3D d->arch.tee;
>> +
>> +                spin_lock(&ctx->notif.lock);
>> +                ctx->notif.secure_pending =3D true;
>> +                spin_unlock(&ctx->notif.lock);
>=20
>=20
> AFAICT, the spinlock is used with IRQ enabled (see ffa_handle_notificatio=
n_info_get()) but also in an IRQ handler. So to prevent deadlock, you will =
want to use spin_lock_irq* helpers.
>=20
> That said, I don't think you need a spin_lock(). You could use atomic ope=
rations instead. For the first hunk, you could use test_and_clear_bool(). E=
.g.:
>=20
> if ( test_and_clear_bool(ctx.notif.secure_pending) )
>=20
> For the second part, it might be fine to use ACCESS_ONCE().
>=20
>> +
>> +                /*
>> +                 * Since we're only delivering global notification, alw=
ays
>> +                 * deliver to the first vCPU. It doesn't matter which w=
e
>> +                 * chose, as long as it's available.
>=20
> What if vCPU0 is offlined?
>=20
>> +                 */
>> +                vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_INT=
R_ID,
>> +                                true);
>> +
>> +                put_domain(d);
>> +            }
>> +
>> +            id_pos +=3D count;
>> +        }
>> +
>> +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
>> +}
>=20
> [..]
>=20
>> +struct ffa_ctx_notif {
>> +    bool enabled;
>> +
>> +    /* Used to serialize access to the rest of this struct */
>> +    spinlock_t lock;
>=20
> Regardless what I wrote above, I can't seem to find a call to spin_lock_i=
nit(). You will want it to initialize.
>=20
> Also, it would be best if we keep the two booleans close to each other so=
 we limit the amount of padding in the structure.
>=20
>> +
>> +    /*
>> +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
>> +     * pending global notifications.
>> +     */
>> +    bool secure_pending;
>> +};
>>    struct ffa_ctx {
>>      void *rx;
>> @@ -228,6 +265,7 @@ struct ffa_ctx {
>>      struct list_head shm_list;
>>      /* Number of allocated shared memory object */
>>      unsigned int shm_count;
>> +    struct ffa_ctx_notif notif;
>>      /*
>>       * tx_lock is used to serialize access to tx
>>       * rx_lock is used to serialize access to rx
>> @@ -257,7 +295,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs=
);
>>  int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
>>    bool ffa_partinfo_init(void);
>> -bool ffa_partinfo_domain_init(struct domain *d);
>> +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,
>> @@ -271,12 +309,28 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, registe=
r_t tx_addr,
>>  uint32_t ffa_handle_rxtx_unmap(void);
>>  int32_t ffa_handle_rx_release(void);
>>  +void ffa_notif_init(void);
>> +int ffa_notif_domain_init(struct domain *d);
>> +void ffa_notif_domain_destroy(struct domain *d);
>> +
>> +int ffa_handle_notification_bind(struct cpu_user_regs *regs);
>> +int ffa_handle_notification_unbind(struct cpu_user_regs *regs);
>> +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);
>> +
>>  static inline uint16_t ffa_get_vm_id(const struct domain *d)
>>  {
>>      /* +1 since 0 is reserved for the hypervisor in FF-A */
>>      return d->domain_id + 1;
>>  }
>>  +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
>> +{
>=20
> Is this expected to be called with vm_id =3D=3D 0? If not, then I would c=
onsider to add an ASSERT(vm_id !=3D 0). If yes, then I please add a runtime=
 check and return NULL.
>=20
>> +    /* -1 to match ffa_get_vm_id() */
>> +    return get_domain_by_id(vm_id - 1);
>> +}
>> +
>>  static inline void ffa_set_regs(struct cpu_user_regs *regs, register_t =
v0,
>>                                  register_t v1, register_t v2, register_=
t v3,
>>                                  register_t v4, register_t v5, register_=
t v6,

Cheers
Bertrand



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 07:50:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 07:50:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713904.1114812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Llu-0002HT-HY; Mon, 29 Apr 2024 07:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713904.1114812; Mon, 29 Apr 2024 07: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 1s1Llu-0002HM-DC; Mon, 29 Apr 2024 07:49:58 +0000
Received: by outflank-mailman (input) for mailman id 713904;
 Mon, 29 Apr 2024 07:49:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1Llu-0002HG-1v
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 07:49:58 +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 122406ea-05fd-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 09:49:56 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-41bab13ca80so16782235e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 00:49: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
 o14-20020a05600c510e00b00419f572671dsm31984850wms.20.2024.04.29.00.49.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 00:49: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: 122406ea-05fd-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714376996; x=1714981796; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+JgvybAhrntlCozf7Di/B+Io0NuFabaXNWGYE3SQzOs=;
        b=VE11DK50TFSSt8PrWUFIMog9sUFOqxH8cddS/pWTBdtF46x2S5rgddATJpUAJF2n8U
         xSQEU15oFcZpVUYj4N70xGDrc/mplgkb+YPUu9rLb7LtOcz+pMRq4UJnNQQndiZ75zeG
         oaHutA50zQhvW/HjNCGajT5JvZ0RkKQXpKQryuYLd01uYMhM/VZCUopLjHMGcfZbCIdS
         w3XwlpK8us3uNIL6L9pMTzpn3gnt+YgbmIj4XWLyGRtdMq8vycatR8FEO/4cyO8BDP4I
         h9YUBPyc/eqSj5l1797ewtc/4OwYnurdQPbvBpQmQgGL8JpJaYVhm+uljSqON5WI5F9M
         kxOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714376996; x=1714981796;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+JgvybAhrntlCozf7Di/B+Io0NuFabaXNWGYE3SQzOs=;
        b=uv2fNuPK2w29YGzJvGhCqAX4C23tOomoAkJHKJ3nURE9CGytIxNp6iyv1IyoZH2xkB
         UA9yfJFoFcrZii6GDZU6rPQ7UfgQZ1p7qoo+u/fBZe30L/sjIvzMnbMdVNDma47GUsvV
         AZ3zrv2QogO86rQrr0ClWNN9CtogZYAbMiIrdxGgh6NiD/YoRMTtALees6egsfj5gynv
         1oYNYBOd/MPW+ywwDi5lhl8O8hlgSGaSfqUcOzSgy2RbKdk7u4zxxgUh6M4hawpBa/gt
         VZmwAJU+bIpwme0U34lyP1mhNY3siYZMkwGvihhLsVwIxEVf/PsvihM+slgV4vZNy1bZ
         a9Gg==
X-Forwarded-Encrypted: i=1; AJvYcCVeKxzYb+8guo5baAcuTToPrHYp8JjTNWzmQ7P8773eW26cyR9sITHeuCY6bNVzRD0fD+sKsKfHqKNBrFs4wusBEpRBAZ6ANG9uwwNemuY=
X-Gm-Message-State: AOJu0YwrB/Ttk/VgpO+6HwReUPDQKXmsjRl8ifuc5yx5SnKrvWxOOdP8
	MQhS88QX/Ob0b5NbREGk0hld3V2EGN0Uo/HZm8uBJLXHAhoRrk8HhjOrGRNEAKtFK5rzYAMiI9k
	=
X-Google-Smtp-Source: AGHT+IEbsGfEbI36UypPzBuxNv8pKfQNxFkyGjLcY7RInwQpv/eu8KgTvFFWFWgivcDTQuk/zqF50g==
X-Received: by 2002:a05:600c:314a:b0:418:fb6f:5f59 with SMTP id h10-20020a05600c314a00b00418fb6f5f59mr8608099wmo.2.1714376995720;
        Mon, 29 Apr 2024 00:49:55 -0700 (PDT)
Message-ID: <e7810e1a-f688-48ea-bfdf-dfc22582f06e@suse.com>
Date: Mon, 29 Apr 2024 09:49:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/cpu-policy: Annotate the accumulated features
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240426160859.565438-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240426160859.565438-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 18:08, Andrew Cooper wrote:
> Some features need accumulating rather than intersecting to make migration
> safe.  Introduce the new '|' attribute for this purpose.
> 
> Right now, it's only used by the Xapi toolstack, but it will be used by
> xl/libxl when the full policy-object work is complete, and until then it's
> still a useful hint for hand-crafted cpuid= lines in vm.cfg files.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

The one feature you don't annotate such that I'm not entirely sure about is
NO_FPU_SEL: On one hand it tells code not to rely on / use the selector
fields in FPU state. That would be a reason to mark it here. Otoh the
specific behavior of storing zero of course won't occur on older hardware,
being an argument for having things the way you do. Perhaps a sentence or
two could be added to the description?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 08:40:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 08:40:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713921.1114836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1MZ0-0002YQ-OK; Mon, 29 Apr 2024 08:40:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713921.1114836; Mon, 29 Apr 2024 08:40:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1MZ0-0002YJ-Lg; Mon, 29 Apr 2024 08:40:42 +0000
Received: by outflank-mailman (input) for mailman id 713921;
 Mon, 29 Apr 2024 08:40:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1MYz-0002YD-7P
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 08:40:41 +0000
Received: from mail-oo1-xc2d.google.com (mail-oo1-xc2d.google.com
 [2607:f8b0:4864:20::c2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 274a587d-0604-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 10:40:38 +0200 (CEST)
Received: by mail-oo1-xc2d.google.com with SMTP id
 006d021491bc7-5af2358c7e5so2447399eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 01:40:38 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 k17-20020a0cc791000000b0069b5672bab8sm2696526qvj.134.2024.04.29.01.40.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 01:40: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: 274a587d-0604-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714380037; x=1714984837; 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=kKl8Luk2uSE9IYup0Z/mRNdGXTEvWMATsLUSxT3EOKs=;
        b=RXXP7TEUZV1u/GaYE3AImLPU5Chwxhj2nU3ZqO5v4tHrEVlAy+YzU+EBmKO4Em0i5P
         AgJfVPhi3Mw7Fz6ztLCVKisSawgy77FrKTD2B9zrYnGioIQxPougfJW3VPEBLTjZaVPi
         +BZNMlMxm7iXCyf6vXrehWFH1Ev05GB96KV5g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714380037; x=1714984837;
        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=kKl8Luk2uSE9IYup0Z/mRNdGXTEvWMATsLUSxT3EOKs=;
        b=Yxu+w0QDCeip8s0edQcX0STL4bmloFg4PjI7b51egxq8vSHZp11AEGbC8JIXw9U8FW
         xPgxnnRbNvQmlNZi2sHaBJV2vLbsM7fSF7/6NeG7tuOSvXdArms/eA37ISbvdXJkZNcT
         gNoCXCGtFjfFGuLB1k90eIlAnu4zY4Z478dvz+60kgyZoYc8vVz0ArlZgAfJvE2QVDqH
         vXdr1rTWtc0pi8D497Ej/Fbz9usnPULO/cJxOtUyIFgtdV5ZbXj08Q2i17j0CPuxvHUe
         qyxxFNO0w3rUqCqKvzEGNHNaspHEOqjQmIu/pQPiX3S2R9JT6RKyj/mP3jwWoy7RXRmQ
         5jow==
X-Gm-Message-State: AOJu0YwkFgb0T7I6LL/dyTI1Chth9S0KeU11HLq3UJNVjs4e8a/xfpnO
	e9ncp+35j9GDiHy1NeQuUGm9+JIEbOqJbRs18p225aD4HQLItza5/QyA0r7r/xE=
X-Google-Smtp-Source: AGHT+IE1+pQyJmu0n6HwvTUtWKVYxBAkYueJLBZy9XujAX0LIAm+EfRGIzEP6sWzD8gQR88xvKdfPg==
X-Received: by 2002:a05:6359:5101:b0:186:1b7f:e885 with SMTP id ob1-20020a056359510100b001861b7fe885mr9727041rwb.17.1714380037467;
        Mon, 29 Apr 2024 01:40:37 -0700 (PDT)
Date: Mon, 29 Apr 2024 10:40:35 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v5 1/7] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <Zi9dA0d4ZvI25ksu@macbook>
References: <cover.afa2d89161590f5193dd6bfd340c5e9347877aae.1710342968.git-series.marmarek@invisiblethingslab.com>
 <3e1150560a41bd567049627d684cd4e754530869.1710342968.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3e1150560a41bd567049627d684cd4e754530869.1710342968.git-series.marmarek@invisiblethingslab.com>

On Wed, Mar 13, 2024 at 04:16:06PM +0100, Marek Marczykowski-Górecki wrote:
> QEMU needs to know whether clearing maskbit of a vector is really
> clearing, or was already cleared before. Currently Xen sends only
> clearing that bit to the device model, but not setting it, so QEMU
> cannot detect it. Because of that, QEMU is working this around by
> checking via /dev/mem, but that isn't the proper approach.
> 
> Give all necessary information to QEMU by passing all ctrl writes,
> including masking a vector. Advertise the new behavior via
> XENVER_get_features, so QEMU can know it doesn't need to access /dev/mem
> anymore.
> 
> While this commit doesn't move the whole maskbit handling to QEMU (as
> discussed on xen-devel as one of the possibilities), it is a necessary
> first step anyway. Including telling QEMU it will get all the required
> information to do so. The actual implementation would need to include:
>  - a hypercall for QEMU to control just maskbit (without (re)binding the
>    interrupt again
>  - a methor for QEMU to tell Xen it will actually do the work
       ^ method
> Those are not part of this series.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> I did not added any control to enable/disable this new behavior (as
> Roger have suggested for possible non-QEMU ioreqs). I don't see how the
> new behavior could be problematic for some existing ioreq server (they
> already received writes to those addresses, just not all of them),
> but if that's really necessary, I can probably add a command line option
> to restore previous behavior system-wide.

That's fine I guess, as you say such ioreq servers should already know
how to handle the ranges, and if anything the current behavior of
device models not receiving all accesses is likely the bogus (or
unexpected at least).

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 08:43:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 08:43:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713924.1114847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Mbo-00037m-4x; Mon, 29 Apr 2024 08:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713924.1114847; Mon, 29 Apr 2024 08:43:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Mbo-00037f-2A; Mon, 29 Apr 2024 08:43:36 +0000
Received: by outflank-mailman (input) for mailman id 713924;
 Mon, 29 Apr 2024 08:43:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a10X=MC=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s1Mbn-00037Z-H6
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 08:43:35 +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 90167396-0604-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 10:43:34 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5723edf0ae5so4300835a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 01:43: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: 90167396-0604-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714380213; x=1714985013; 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=u+Lcn3ygE4fd1XL0w96JKQcPeziM10vZruW2+hat68o=;
        b=FbYTUx7k88ze3H+8Q0ivIadbbo+OAWwhLBAQi8e51DbUYbICYYbwltKECEUWoOA86H
         mDp4vl7gPso4tMPV+A1GsTNghx9MICZq3qn1JJNsHxg7GhiOiTNB/rYAKTvgp74U5aJV
         ZNt8MPYhkARY3jb762HRzDu0WidmWLRL/El3z6kTAL83flW3L62x7o1c5QDfdZ5MiSuv
         bEp60H17+g311cIRO5yM0qf2vWx6MMmITipQuXSiVL2tF4LyJTycK2FRKrH5fBhIwiUI
         eTVtl5h3e9DLIhgCS/dEPr6xku3y6bWwFeqGRrkT2AvCbjkHzSrD7UQalVrJMr6h55Mz
         Rn9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714380213; x=1714985013;
        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=u+Lcn3ygE4fd1XL0w96JKQcPeziM10vZruW2+hat68o=;
        b=M5VAfI+aKjXPRumeDR3jdsaADbIbw49KFisgXLDuQqxUQn0FfInFDHmEm/SP1YBuCx
         kEwpE5S0R+2PUhSh7k53LfOlDwvanp3CgSjf6+zQgf5AE6rbbJqSXMPXj8FuAU5/j0Q8
         Lf2wHRGcAZw8gRl7DU5wTyUPwwHOVbViINycF7Y7TdzWm8V9NPF2S9PEX35cKSPcsMk8
         Om3E4G+0KMK3JjxuIL7ylCAr3b7Fy/AI4oxu9c1QooQvymWSQM/+mfZ/CAJLc6Gukv51
         0Eb55tlDlnC/fQxQ27EvW42gISJ9ZZ+fZg4rKMzy3u5e2gaUxQDR8IApYPvL8pZCWIGo
         FIig==
X-Gm-Message-State: AOJu0YxdzXnN99QSYquKxdFjZ8VLGEkswujxJRqpITGrw+K5PFrABqMA
	TjehMmt+oVTg6Ez57hTlX6Tpgcwt6Tr9/gpR0U2xW+FqngLvzcP+XGcW78rMoECwn1PEXSe5PiA
	+VmLWGgrF5zF9JNNy5IP2DmDcua4QAOW9jG9j/w==
X-Google-Smtp-Source: AGHT+IFu/GiSGbJQslgIh576QRPvZVNxUDt0OqQ7V/SKW/gLb5SgjQTl7vd2eoElIb+bSINOBvQdQkAv2KYZ59T60oo=
X-Received: by 2002:a50:d488:0:b0:572:58b6:3b70 with SMTP id
 s8-20020a50d488000000b0057258b63b70mr4306795edi.12.1714380213291; Mon, 29 Apr
 2024 01:43:33 -0700 (PDT)
MIME-Version: 1.0
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org> <c7a672a7-02f8-4d24-b87e-1b8439d7eb4c@xen.org>
In-Reply-To: <c7a672a7-02f8-4d24-b87e-1b8439d7eb4c@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 29 Apr 2024 10:43:20 +0200
Message-ID: <CAHUa44GnzwhbfLV9G6NQpY5820mTCsBYPGpGsnx5Nvt+v5Ceuw@mail.gmail.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, patches@linaro.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

On Fri, Apr 26, 2024 at 9:07=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
> Hi Jens,
>
> On 26/04/2024 09:47, Jens Wiklander wrote:
> > diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> > index d7306aa64d50..5224898265a5 100644
> > --- a/xen/arch/arm/irq.c
> > +++ b/xen/arch/arm/irq.c
> > @@ -155,7 +155,7 @@ void __init init_IRQ(void)
> >       {
> >           /* SGIs are always edge-triggered */
> >           if ( irq < NR_GIC_SGI )
> > -            local_irqs_type[irq] =3D DT_IRQ_TYPE_EDGE_RISING;
> > +            local_irqs_type[irq] =3D IRQ_TYPE_EDGE_RISING;
>
> This changes seems unrelated to this patch. This wants to be separate
> (if you actually intended to change it).

I'm sorry, my bad. I meant for this to go into "xen/arm: allow
dynamically assigned SGI handlers".

>
> >           else
> >               local_irqs_type[irq] =3D IRQ_TYPE_INVALID;
> >       }
> > diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
> > index f0112a2f922d..7c0f46f7f446 100644
> > --- a/xen/arch/arm/tee/Makefile
> > +++ b/xen/arch/arm/tee/Makefile
> > @@ -2,5 +2,6 @@ obj-$(CONFIG_FFA) +=3D ffa.o
> >   obj-$(CONFIG_FFA) +=3D ffa_shm.o
> >   obj-$(CONFIG_FFA) +=3D ffa_partinfo.o
> >   obj-$(CONFIG_FFA) +=3D ffa_rxtx.o
> > +obj-$(CONFIG_FFA) +=3D ffa_notif.o
> >   obj-y +=3D tee.o
> >   obj-$(CONFIG_OPTEE) +=3D optee.o
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 5209612963e1..912e905a27bd 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -39,6 +39,9 @@
> >    *   - at most 32 shared memory regions per guest
> >    * o FFA_MSG_SEND_DIRECT_REQ:
> >    *   - only supported from a VM to an SP
> > + * o FFA_NOTIFICATION_*:
> > + *   - only supports global notifications, that is, per vCPU notificat=
ions
> > + *     are not supported
> >    *
> >    * There are some large locked sections with ffa_tx_buffer_lock and
> >    * ffa_rx_buffer_lock. Especially the ffa_tx_buffer_lock spinlock use=
d
> > @@ -194,6 +197,8 @@ out:
> >
> >   static void handle_features(struct cpu_user_regs *regs)
> >   {
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> >       uint32_t a1 =3D get_user_reg(regs, 1);
> >       unsigned int n;
> >
> > @@ -240,6 +245,30 @@ static void handle_features(struct cpu_user_regs *=
regs)
> >           BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
> >           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);
> > +        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);
> > +        break;
> > +
> > +    case FFA_NOTIFICATION_BIND:
> > +    case FFA_NOTIFICATION_UNBIND:
> > +    case FFA_NOTIFICATION_GET:
> > +    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);
> > +        break;
> >       default:
> >           ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> >           break;
> > @@ -305,6 +334,22 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
> >                                                        get_user_reg(reg=
s, 1)),
> >                                      get_user_reg(regs, 3));
> >           break;
> > +    case FFA_NOTIFICATION_BIND:
> > +        e =3D ffa_handle_notification_bind(regs);
> > +        break;
> > +    case FFA_NOTIFICATION_UNBIND:
> > +        e =3D ffa_handle_notification_unbind(regs);
> > +        break;
> > +    case FFA_NOTIFICATION_INFO_GET_32:
> > +    case FFA_NOTIFICATION_INFO_GET_64:
> > +        ffa_handle_notification_info_get(regs);
> > +        return true;
> > +    case FFA_NOTIFICATION_GET:
> > +        ffa_handle_notification_get(regs);
> > +        return true;
> > +    case FFA_NOTIFICATION_SET:
> > +        e =3D ffa_handle_notification_set(regs);
> > +        break;
> >
> >       default:
> >           gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> > @@ -322,6 +367,7 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
> >   static int ffa_domain_init(struct domain *d)
> >   {
> >       struct ffa_ctx *ctx;
> > +    int ret;
> >
> >       if ( !ffa_version )
> >           return -ENODEV;
> > @@ -345,10 +391,11 @@ static int ffa_domain_init(struct domain *d)
> >        * error, so no need for cleanup in this function.
> >        */
> >
> > -    if ( !ffa_partinfo_domain_init(d) )
> > -        return -EIO;
> > +    ret =3D ffa_partinfo_domain_init(d);
> > +    if ( ret )
> > +        return ret;
> >
> > -    return 0;
> > +    return ffa_notif_domain_init(d);
> >   }
> >
> >   static void ffa_domain_teardown_continue(struct ffa_ctx *ctx, bool fi=
rst_time)
> > @@ -423,6 +470,7 @@ static int ffa_domain_teardown(struct domain *d)
> >           return 0;
> >
> >       ffa_rxtx_domain_destroy(d);
> > +    ffa_notif_domain_destroy(d);
> >
> >       ffa_domain_teardown_continue(ctx, true /* first_time */);
> >
> > @@ -502,6 +550,7 @@ static bool ffa_probe(void)
> >       if ( !ffa_partinfo_init() )
> >           goto err_rxtx_destroy;
> >
> > +    ffa_notif_init();
> >       INIT_LIST_HEAD(&ffa_teardown_head);
> >       init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL=
, 0);
> >
> > diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.=
c
> > new file mode 100644
> > index 000000000000..6bb0804ee2f8
> > --- /dev/null
> > +++ b/xen/arch/arm/tee/ffa_notif.c
> > @@ -0,0 +1,378 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +/*
> > + * Copyright (C) 2024  Linaro Limited
> > + */
> > +
> > +#include <xen/const.h>
> > +#include <xen/list.h>
> > +#include <xen/spinlock.h>
> > +#include <xen/types.h>
> > +
> > +#include <asm/smccc.h>
> > +#include <asm/regs.h>
> > +
> > +#include "ffa_private.h"
> > +
> > +static bool __ro_after_init notif_enabled;
> > +
> > +int ffa_handle_notification_bind(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    uint32_t src_dst =3D get_user_reg(regs, 1);
> > +    uint32_t flags =3D get_user_reg(regs, 2);
> > +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> > +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    if ( flags )    /* Only global notifications are supported */
> > +        return FFA_RET_DENIED;
> > +
> > +    /*
> > +     * We only support notifications from SP so no need to check the s=
ender
> > +     * endpoint ID, the SPMC will take care of that for us.
> > +     */
> > +    return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitm=
ap_hi,
> > +                           bitmap_lo);
> > +}
> > +
> > +int ffa_handle_notification_unbind(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    uint32_t src_dst =3D get_user_reg(regs, 1);
> > +    uint32_t bitmap_lo =3D get_user_reg(regs, 3);
> > +    uint32_t bitmap_hi =3D get_user_reg(regs, 4);
> > +
> > +    if ( !notif_enabled )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    if ( (src_dst & 0xFFFFU) !=3D ffa_get_vm_id(d) )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    /*
> > +     * We only support notifications from SP so no need to check the
> > +     * destination endpoint ID, the SPMC will take care of that for us=
.
> > +     */
> > +    return  ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitma=
p_hi,
> > +                            bitmap_lo);
> > +}
> > +
> > +void ffa_handle_notification_info_get(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    bool pending_global;
> > +
> > +    if ( !notif_enabled )
> > +    {
> > +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
> > +        return;
> > +    }
> > +
> > +    spin_lock(&ctx->notif.lock);
> > +    pending_global =3D ctx->notif.secure_pending;
> > +    ctx->notif.secure_pending =3D false;
> > +    spin_unlock(&ctx->notif.lock);
> > +
> > +    if ( pending_global )
> > +    {
> > +        /* A pending global notification for the guest */
> > +        ffa_set_regs(regs, FFA_SUCCESS_64, 0,
> > +                     1U << FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT, ffa_get_=
vm_id(d),
> > +                     0, 0, 0, 0);
> > +    }
> > +    else
> > +    {
> > +        /* Report an error if there where no pending global notificati=
on */
> > +        ffa_set_regs_error(regs, FFA_RET_NO_DATA);
> > +    }
> > +}
> > +static void notif_irq_handler(int irq, void *data)
> > +{
> > +    const struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +    unsigned int id_pos;
> > +    unsigned int list_count;
> > +    uint64_t ids_count;
> > +    unsigned int n;
> > +    int32_t res;
> > +
> > +    do {
> > +        arm_smccc_1_2_smc(&arg, &resp);
> > +        res =3D ffa_get_ret_code(&resp);
> > +        if ( res )
> > +        {
> > +            if ( res !=3D FFA_RET_NO_DATA )
> > +                printk(XENLOG_ERR "ffa: notification info get failed: =
error %d\n",
> > +                       res);
> > +            return;
> > +        }
> > +
> > +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> > +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT =
) &
> > +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> > +
> > +        id_pos =3D 0;
> > +        for ( n =3D 0; n < list_count; n++ )
> > +        {
> > +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
> > +            struct domain *d;
> > +
> > +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_p=
os));
>
> Thinking a bit more about the question from Bertrand about
> get_domain_id() vs rcu_lock_domain_by_id(). I am actually not sure
> whether either are ok here.
>
> If I am not mistaken, d->arch.tee will be freed as part of the domain
> teardown process. This means you can have the following scenario:
>
> CPU0: ffa_get_domain_by_vm_id() (return the domain as it is alive)
>
> CPU1: call domain_kill()
> CPU1: teardown is called, free d->arch.tee (the pointer is not set to NUL=
L)
>
> d->arch.tee is now a dangling pointer
>
> CPU0: access d->arch.tee
>
> This implies you may need to gain a global lock (I don't have a better
> idea so far) to protect the IRQ handler against domains teardown.
>
> Did I miss anything?

Thanks for the explanation. I'll reply to Bertrands answer.

>
> > +
> > +            if ( d )
> > +            {
> > +                struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +                spin_lock(&ctx->notif.lock);
> > +                ctx->notif.secure_pending =3D true;
> > +                spin_unlock(&ctx->notif.lock);
>
>
> AFAICT, the spinlock is used with IRQ enabled (see
> ffa_handle_notification_info_get()) but also in an IRQ handler. So to
> prevent deadlock, you will want to use spin_lock_irq* helpers.
>
> That said, I don't think you need a spin_lock(). You could use atomic
> operations instead. For the first hunk, you could use
> test_and_clear_bool(). E.g.:
>
> if ( test_and_clear_bool(ctx.notif.secure_pending) )
>
> For the second part, it might be fine to use ACCESS_ONCE().

Thanks, I'll update the code accordingly.

>
> > +
> > +                /*
> > +                 * Since we're only delivering global notification, al=
ways
> > +                 * deliver to the first vCPU. It doesn't matter which =
we
> > +                 * chose, as long as it's available.
>
> What if vCPU0 is offlined?

Good question, would the following work?

for_each_vcpu(d, vcpu)
{
    if ( is_vcpu_online(vcpu)
    {
        vgic_inject_irq(d, vcpu, GUEST_FFA_NOTIF_PEND_INTR_ID, true);
        break;
    }
}
if ( !vcpu )
    printk(XENLOG_ERR "ffa: can't inject NPI, all vCPUs offline\");

>
> > +                 */
> > +                vgic_inject_irq(d, d->vcpu[0], GUEST_FFA_NOTIF_PEND_IN=
TR_ID,
> > +                                true);
> > +
> > +                put_domain(d);
> > +            }
> > +
> > +            id_pos +=3D count;
> > +        }
> > +
> > +    } while (resp.a2 & FFA_NOTIF_INFO_GET_MORE_FLAG);
> > +}
>
> [..]
>
> > +struct ffa_ctx_notif {
> > +    bool enabled;
> > +
> > +    /* Used to serialize access to the rest of this struct */
> > +    spinlock_t lock;
>
> Regardless what I wrote above, I can't seem to find a call to
> spin_lock_init(). You will want it to initialize.
>
> Also, it would be best if we keep the two booleans close to each other
> so we limit the amount of padding in the structure.

Good point, I'll remove the spinlock and update the code accordingly.

>
> > +
> > +    /*
> > +     * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
> > +     * pending global notifications.
> > +     */
> > +    bool secure_pending;
> > +};
> >
> >   struct ffa_ctx {
> >       void *rx;
> > @@ -228,6 +265,7 @@ struct ffa_ctx {
> >       struct list_head shm_list;
> >       /* Number of allocated shared memory object */
> >       unsigned int shm_count;
> > +    struct ffa_ctx_notif notif;
> >       /*
> >        * tx_lock is used to serialize access to tx
> >        * rx_lock is used to serialize access to rx
> > @@ -257,7 +295,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *reg=
s);
> >   int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
> >
> >   bool ffa_partinfo_init(void);
> > -bool ffa_partinfo_domain_init(struct domain *d);
> > +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, uint3=
2_t w3,
> >                                         uint32_t w4, uint32_t w5, uint3=
2_t *count,
> > @@ -271,12 +309,28 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, regist=
er_t tx_addr,
> >   uint32_t ffa_handle_rxtx_unmap(void);
> >   int32_t ffa_handle_rx_release(void);
> >
> > +void ffa_notif_init(void);
> > +int ffa_notif_domain_init(struct domain *d);
> > +void ffa_notif_domain_destroy(struct domain *d);
> > +
> > +int ffa_handle_notification_bind(struct cpu_user_regs *regs);
> > +int ffa_handle_notification_unbind(struct cpu_user_regs *regs);
> > +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);
> > +
> >   static inline uint16_t ffa_get_vm_id(const struct domain *d)
> >   {
> >       /* +1 since 0 is reserved for the hypervisor in FF-A */
> >       return d->domain_id + 1;
> >   }
> >
> > +static inline struct domain *ffa_get_domain_by_vm_id(uint16_t vm_id)
> > +{
>
> Is this expected to be called with vm_id =3D=3D 0? If not, then I would
> consider to add an ASSERT(vm_id !=3D 0). If yes, then I please add a
> runtime check and return NULL.

vm_id should not be 0, I'll add an ASSERT() and a check in
notif_irq_handler() that vm_id isn't 0.

Thanks,
Jens

>
> > +    /* -1 to match ffa_get_vm_id() */
> > +    return get_domain_by_id(vm_id - 1);
> > +}
> > +
> >   static inline void ffa_set_regs(struct cpu_user_regs *regs, register_=
t v0,
> >                                   register_t v1, register_t v2, registe=
r_t v3,
> >                                   register_t v4, register_t v5, registe=
r_t v6,
>
> Cheers,
>
> --
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 09:44:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 09:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713947.1114858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1NY8-00033c-M8; Mon, 29 Apr 2024 09:43:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713947.1114858; Mon, 29 Apr 2024 09:43:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1NY8-00033V-H9; Mon, 29 Apr 2024 09:43:52 +0000
Received: by outflank-mailman (input) for mailman id 713947;
 Mon, 29 Apr 2024 09:43:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1NY7-000334-Da
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 09:43:51 +0000
Received: from mail-qv1-xf2d.google.com (mail-qv1-xf2d.google.com
 [2607:f8b0:4864:20::f2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa8bd098-060c-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 11:43:49 +0200 (CEST)
Received: by mail-qv1-xf2d.google.com with SMTP id
 6a1803df08f44-69b6d36b71cso21526756d6.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 02:43:49 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 o5-20020ad443c5000000b0069b61f8c0a1sm1955965qvs.42.2024.04.29.02.43.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 02:43: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: fa8bd098-060c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714383828; x=1714988628; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=i0btClj9AhSw+QYLxonv0rYymIZDyFD0Gqw3b1+H33s=;
        b=YpvbD2q/0TLyFGf8KL2rCku3le892gcPffY+vLAnB5DHN1QotNIlRpEUXDG+Hw4Zx2
         z6NV3g1v8AGXMr/MnAL8Crvh7HWR5z2aVht3pbfV8bmEcUILfmXiWITITdczqUl5ZgeR
         dF8pp91yqbc7h0QDMbkKj8SiXs/kF1NavFE7g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714383828; x=1714988628;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=i0btClj9AhSw+QYLxonv0rYymIZDyFD0Gqw3b1+H33s=;
        b=gyBWmVK/DLli4fRALSBwSyk1A8VWp1QNvkbmxVj8zWTHwGyZ5pxMGdTu+EZp/J+KGz
         2tC0sW5sFp2JvG0TVOJgDbzWZk5JHaYKQU4u68PZV3TH+F62wGuGE5YtA5Bw6B3+MqRi
         F2gKX++Ih1WCcdaiuhZOzL7JKdpWrXfpxfe9o5EihALmXudN31+Y63KJHl9Eg6QLpYf9
         J992cokHF5TH2PMVFfwCv1flJaiibffPYBAmZBtfsAWaNHj0+RbgJcuvoUzyQwJ3fMg3
         R5y5ARHc89ctv43gUrTkEC4F2E5WYqLHFmV2BWUnbsLmswIAeC1pdbvWSARXU6Ab8zd2
         GPkw==
X-Forwarded-Encrypted: i=1; AJvYcCWEWtRNuIbMnxS4tp9bf85Z/3mt/As/0FlQxGIBfSipqh/cm4Y4AYcr07i2eEuCq0mBjiAp6GkJcQbAMZ1EEx9c+3XEinosFYMoNVjlTGo=
X-Gm-Message-State: AOJu0YwLci3sn7NdcY7TVeOb6uifKyL1kbN1+SWhnImf7CHr1gl+jWBo
	mMrD3SRfRkE+z8YK4ylo7ie7JBBG2wiMTntZLG1TyGvshQxE5PAhWEskRqFQflM=
X-Google-Smtp-Source: AGHT+IFwktSf3cZBIDwb8GyCMtMBCMxMoTls/TpPdXAbMiu2pYSXUXQ0EiB4Jf58S3wHrNUJrjPsBQ==
X-Received: by 2002:a05:6214:19e2:b0:6a0:9360:1e7a with SMTP id q2-20020a05621419e200b006a093601e7amr14520262qvc.42.1714383827863;
        Mon, 29 Apr 2024 02:43:47 -0700 (PDT)
Message-ID: <9ead9ea1-8661-4532-82d7-4bef1e592975@citrix.com>
Date: Mon, 29 Apr 2024 10:43:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/cpu-policy: Annotate the accumulated features
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: <20240426160859.565438-1-andrew.cooper3@citrix.com>
 <e7810e1a-f688-48ea-bfdf-dfc22582f06e@suse.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: <e7810e1a-f688-48ea-bfdf-dfc22582f06e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29/04/2024 8:49 am, Jan Beulich wrote:
> On 26.04.2024 18:08, Andrew Cooper wrote:
>> Some features need accumulating rather than intersecting to make migration
>> safe.  Introduce the new '|' attribute for this purpose.
>>
>> Right now, it's only used by the Xapi toolstack, but it will be used by
>> xl/libxl when the full policy-object work is complete, and until then it's
>> still a useful hint for hand-crafted cpuid= lines in vm.cfg files.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> The one feature you don't annotate such that I'm not entirely sure about is
> NO_FPU_SEL: On one hand it tells code not to rely on / use the selector
> fields in FPU state.

It's sadly far more complicated than this.

This feature, and it's AMD partner RSTR_FP_ERR_PTRS, where introduced to
stop windows BSOD-ing under virt, and came with an accidental breakage
of x86emul/DoSBox/etc which Intel and AMD have declined to fix.

If you recall, prior to these features, the hypervisor needs to divine
the operand size of Window's {F,}X{SAVE,RESTORE} instructions, as it
blindly does a memcmp() across the region to confirm that the interrupt
handler didn't corrupt any state.


Both features are discontinuities across which is is not safe to migrate.

Advertising "reliably store as 0" on older systems will still cause
windows to BSOD on occasion, whereas not advertising it on newer systems
will suggest that legacy emulators will work, when they don't.


I don't have any good idea of how to make this work nicely, other than
having some admin booleans in the xl.cfg file saying "I certify I'm not
using a legacy emulator in my VM" to override the safety check.

Other discontinuities I'm aware of are the introduction of DAZ (changing
MXCSR_MASK), and any migration which changes LBR_FORMAT.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 09:50:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 09:50:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713950.1114866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1NeF-0004Zd-8a; Mon, 29 Apr 2024 09:50:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713950.1114866; Mon, 29 Apr 2024 09:50:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1NeF-0004ZW-5m; Mon, 29 Apr 2024 09:50:11 +0000
Received: by outflank-mailman (input) for mailman id 713950;
 Mon, 29 Apr 2024 09:50:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a10X=MC=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s1NeD-0004ZQ-MD
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 09:50:09 +0000
Received: from mail-oo1-xc35.google.com (mail-oo1-xc35.google.com
 [2607:f8b0:4864:20::c35])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbec7a2e-060d-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 11:50:07 +0200 (CEST)
Received: by mail-oo1-xc35.google.com with SMTP id
 006d021491bc7-5aa27dba8a1so2644939eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 02:50: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: dbec7a2e-060d-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714384206; x=1714989006; 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=KHR8+YYx5dGRg3GOFhwWOWEzmGokYulG5Lm96GRek2o=;
        b=u2ofRnfF/sNS8+BgA95OpgfDEbMSJcf0JhroJHtQ8orIdmU3SnGn6mnn3DqZGyeDCV
         sudz7WmGQ1tQOhe3v5et8Nfnl6EednpOhrpC13Z4yuZTThAu/2MC1mdGpbWT7HbMeAl4
         1+akFlUc5sup02YDD4lYNeO5xEzQ4+vdtVViNOoC8ffrEcTEFoGpkInTxvWnHwS8t4dQ
         hw7nbERhPiNUqbp97atO3lVhJ+rhSrN3EAlXU5Nd92as5hGeIHxPIBIcisn+jLuTeB4Y
         hfRDKdaGmFvLd5/Qv/m5npv1LpqP4OgVEqZI/8a+6jhJsEAMGPHCF7zdE7O4o0ADgY69
         wqbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714384206; x=1714989006;
        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=KHR8+YYx5dGRg3GOFhwWOWEzmGokYulG5Lm96GRek2o=;
        b=AH8RIgZcVU1WQlv1fIRRSzOu8ep+1QZKahGlrVthEdWYOtABCR+JtBkjQe5/QqOiWU
         Xx8D+W7JYt8uJWyOOERdvGr2pE1ovRKSos4zOQ83/PSlm0PlxQIGh4WfqybdxHVzTJ7X
         7JtHl03ZNXtC2+hO13KVuormth/1Vix1c67+lGQ9zzVIXzCJW7MTs7jYR4dWk6tjBb2n
         X/FgemBzuh9XQ2F37N8kSsMARhUN8rFcLBeiuwqm/VXZjVqhT7tUQUbJPcsp4HrIEcoD
         YE3xpS0IG/OHKi8HIeb3rCSZLq3PBactrO3osxXiZ6X1OQATOR+0CbTIdJ67VC6/yQta
         pDWA==
X-Forwarded-Encrypted: i=1; AJvYcCVDZ3k3VJP9Pyfd8nYOaAubwX1jagvwwJvTX1HlK5Fhl+pVM7JZI4LTTdKiir6YfsL0YKu7X4jx895n1EQxxfzXpwzSiA5ZuiIOegTDtNE=
X-Gm-Message-State: AOJu0YwQtosui48QoLk3JDSN3SS7pAN+bvwD1OC/2n9stwZ7r5dcNx59
	3RmUymgTrhgmChyeN4P2pG1tumOheT4PbShC2WnXPSs0/mIhxEC9HUwMxYfhn011YD3uOGTb5HJ
	utxdzq+qQjiKaXBGx+mDegl8MUlHr60BKoDIjSA==
X-Google-Smtp-Source: AGHT+IEcVDkTz0if5+nAL2XzXsNQCtJmK5A8MyTisU6+xtPZQCpoRyYrOX+EUO/SEK1yAOGdQYd4Znkl0rb4kQQKq9g=
X-Received: by 2002:a4a:ae8d:0:b0:5ac:9f37:3ef4 with SMTP id
 u13-20020a4aae8d000000b005ac9f373ef4mr12233559oon.4.1714384205975; Mon, 29
 Apr 2024 02:50:05 -0700 (PDT)
MIME-Version: 1.0
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org> <c7a672a7-02f8-4d24-b87e-1b8439d7eb4c@xen.org>
 <1A23083C-9605-4291-AF2F-5891AF270333@arm.com>
In-Reply-To: <1A23083C-9605-4291-AF2F-5891AF270333@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 29 Apr 2024 11:49:54 +0200
Message-ID: <CAHUa44HdmxV4oBeYu4rX89sFm7_NQcwza3Eotme9Z5g7EDRQew@mail.gmail.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	"patches@linaro.org" <patches@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Apr 29, 2024 at 9:20=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
[...]
> >> +static void notif_irq_handler(int irq, void *data)
> >> +{
> >> +    const struct arm_smccc_1_2_regs arg =3D {
> >> +        .a0 =3D FFA_NOTIFICATION_INFO_GET_64,
> >> +    };
> >> +    struct arm_smccc_1_2_regs resp;
> >> +    unsigned int id_pos;
> >> +    unsigned int list_count;
> >> +    uint64_t ids_count;
> >> +    unsigned int n;
> >> +    int32_t res;
> >> +
> >> +    do {
> >> +        arm_smccc_1_2_smc(&arg, &resp);
> >> +        res =3D ffa_get_ret_code(&resp);
> >> +        if ( res )
> >> +        {
> >> +            if ( res !=3D FFA_RET_NO_DATA )
> >> +                printk(XENLOG_ERR "ffa: notification info get failed:=
 error %d\n",
> >> +                       res);
> >> +            return;
> >> +        }
> >> +
> >> +        ids_count =3D resp.a2 >> FFA_NOTIF_INFO_GET_ID_LIST_SHIFT;
> >> +        list_count =3D ( resp.a2 >> FFA_NOTIF_INFO_GET_ID_COUNT_SHIFT=
 ) &
> >> +                     FFA_NOTIF_INFO_GET_ID_COUNT_MASK;
> >> +
> >> +        id_pos =3D 0;
> >> +        for ( n =3D 0; n < list_count; n++ )
> >> +        {
> >> +            unsigned int count =3D ((ids_count >> 2 * n) & 0x3) + 1;
> >> +            struct domain *d;
> >> +
> >> +            d =3D ffa_get_domain_by_vm_id(get_id_from_resp(&resp, id_=
pos));
> >
> > Thinking a bit more about the question from Bertrand about get_domain_i=
d() vs rcu_lock_domain_by_id(). I am actually not sure whether either are o=
k here.
> >
> > If I am not mistaken, d->arch.tee will be freed as part of the domain t=
eardown process. This means you can have the following scenario:
> >
> > CPU0: ffa_get_domain_by_vm_id() (return the domain as it is alive)
> >
> > CPU1: call domain_kill()
> > CPU1: teardown is called, free d->arch.tee (the pointer is not set to N=
ULL)
> >
> > d->arch.tee is now a dangling pointer
> >
> > CPU0: access d->arch.tee
> >
> > This implies you may need to gain a global lock (I don't have a better =
idea so far) to protect the IRQ handler against domains teardown.
> >
> > Did I miss anything?
>
> I think you are right which is why I was thinking to use rcu_lock_live_re=
mote_domain_by_id to only get a reference
> to the domain if it is not dying.
>
> From the comment in sched.h:
> /*
>  * rcu_lock_domain_by_id() is more efficient than get_domain_by_id().
>  * This is the preferred function if the returned domain reference
>  * is short lived,  but it cannot be used if the domain reference needs
>  * to be kept beyond the current scope (e.g., across a softirq).
>  * The returned domain reference must be discarded using rcu_unlock_domai=
n().
>  */
>
> Now the question of short lived should be challenged but I do not think w=
e can
> consider the current code as "long lived".
>
> It would be a good idea to start a mailing list thread discussion with ot=
her
> maintainers on the subject to confirm.
> @Jens: as i will be off for some time, would you mind doing it ?

Sure, first I'll send out a new patch set with the current comments
addressed. I'll update to use rcu_lock_live_remote_domain_by_id() both
because it makes more sense than the current code, and also to have a
good base for the discussion.

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 09:55:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 09:55:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713956.1114876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Njj-0005U7-Rl; Mon, 29 Apr 2024 09:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713956.1114876; Mon, 29 Apr 2024 09: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 1s1Njj-0005U0-PE; Mon, 29 Apr 2024 09:55:51 +0000
Received: by outflank-mailman (input) for mailman id 713956;
 Mon, 29 Apr 2024 09:55:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a10X=MC=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1s1Njh-0005Tu-Si
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 09:55:49 +0000
Received: from mail-oa1-x36.google.com (mail-oa1-x36.google.com
 [2001:4860:4864:20::36])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a696467f-060e-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 11:55:47 +0200 (CEST)
Received: by mail-oa1-x36.google.com with SMTP id
 586e51a60fabf-233e41de0caso2245746fac.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 02:55: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: a696467f-060e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714384546; x=1714989346; 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=X7pdWgzTUxwKoBbIlrPKqmAJe3pjTz/fyQXgTS1c4DY=;
        b=CcLZjdvE8dwMBh6VCM2ibeN1Yi9x8fxOuaPiOawbk2RettyLLmNlgiQDWEJ3T4WcBB
         Zm6DskyQRcV0Go40bGwl7L7r4ZAhwNwhGEz+L0UvVs6aotsNOGEk5vLTQn8MvAEfifky
         QO5cPclU+N5ayCMZxjlL9a3Dt90UDVmLXi9Lov75Rs0JLkzG3IUs0X4ChYfIYu7smkWB
         HWxceVQ/YIWg4WczNiHO6EWL9UY++cejseOkfOdvb0vUtyhqGHVy32FtmyiFuT/ShcGH
         V3p/7nQKl4nc4+YMgWbuDXCWAKy/5yy43LwvayCYSYy/MfX84hXDt6PDIiJ/UbkmMFLm
         q7yg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714384546; x=1714989346;
        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=X7pdWgzTUxwKoBbIlrPKqmAJe3pjTz/fyQXgTS1c4DY=;
        b=P/ILB46kM88W9+zr2VHkXBdPZ8JHiZJyS6DNYJpaT8EfG9PP/fR5bbgD7+rT8HoFV9
         Ih2iBxb4zGhZyKmxm/IeJRKTTP7qZWogiO+p5HoX8oFvmADn0/gkK7oaPcaZEmTRRUjo
         rZaeDllh6I11J+6aau68Te6VVlfXb8gvJC+Hm8YqP+pAblclKqTiJz11FaooXPvhhtgF
         xRtsrUPvt1w+cvfxgDxs325SoLXnvv49OA/Q3KjWQWHblC6KpTsDyTZcZ1D2T3mZeR0d
         kre0OyBU2xvrJ7TQol44Hxl4jrXnHYbUSRf3QC2dSKaWvQLn/cTrZ4rO0MM48TKOfkP3
         1AKg==
X-Gm-Message-State: AOJu0YwR/08GngCg/gicSOs4uOPY5Lt0CMLgaTlr9nQsAvuvbeUqKgPC
	CLXn8cXZu3W0NAUWRzjlXwqr0FhA6BoDFHYyPbBbY8tyKZyCbiDeeD95whlPGxLZpfLUhVmfmKY
	esqNSI3R+5ffijvjGsMLajI8Vv76QoFf+sUIC2zAmbicN34BG4Yw=
X-Google-Smtp-Source: AGHT+IEGtZtKn6e1NYtclir+2c8hj/ILdNKmUGN9nqh56DYq2Dl4LCf2m2oQJQDQEX9NOxodhFO0qQa3ucBuiilJNlc=
X-Received: by 2002:a05:6870:960e:b0:23a:fb36:ffb3 with SMTP id
 d14-20020a056870960e00b0023afb36ffb3mr10799239oaq.19.1714384546125; Mon, 29
 Apr 2024 02:55:46 -0700 (PDT)
MIME-Version: 1.0
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org> <807e4e70-f3b2-4b40-9004-d55bd9407bbf@xen.org>
In-Reply-To: <807e4e70-f3b2-4b40-9004-d55bd9407bbf@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 29 Apr 2024 11:55:34 +0200
Message-ID: <CAHUa44H+ZieqRSHEigziZVRiYus_nayL=2nooZPj8bkRcNTvJg@mail.gmail.com>
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, patches@linaro.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

On Fri, Apr 26, 2024 at 7:58=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
> Hi Jens,
>
> On 26/04/2024 09:47, Jens Wiklander wrote:
> > +static void notif_irq_enable(void *info)
> > +{
> > +    struct notif_irq_info *irq_info =3D info;
> > +
> > +    irq_info->ret =3D setup_irq(irq_info->irq, 0, irq_info->action);
> In v2, you were using request_irq(). But now you seem to be open-coding
> it. Can you explain why?

It's because request_irq() does a memory allocation that can't be done
in interrupt context.
>
> > +    if ( irq_info->ret )
> > +        printk(XENLOG_ERR "ffa: request_irq irq %u failed: error %d\n"=
,
> > +               irq_info->irq, irq_info->ret);
> > +}
> > +
> > +void ffa_notif_init(void)
> > +{
> > +    const struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_FEATURES,
> > +        .a1 =3D FFA_FEATURE_SCHEDULE_RECV_INTR,
> > +    };
> > +    struct notif_irq_info irq_info =3D { };
> > +    struct arm_smccc_1_2_regs resp;
> > +    unsigned int cpu;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +    if ( resp.a0 !=3D FFA_SUCCESS_32 )
> > +        return;
> > +
> > +    irq_info.irq =3D resp.a2;
> > +    if ( irq_info.irq < GIC_SGI_STATIC_MAX || irq_info.irq >=3D NR_GIC=
_SGI )
> > +    {
> > +        printk(XENLOG_ERR "ffa: notification initialization failed: co=
nflicting SGI %u\n",
> > +               irq_info.irq);
> > +        return;
> > +    }
> > +
> > +    /*
> > +     * SGIs are per-CPU so we must enable the IRQ on each CPU. We use =
an
> > +     * IPI to call notif_irq_enable() on each CPU including the curren=
t
> > +     * CPU. The struct irqaction is preallocated since we can't alloca=
te
> > +     * memory while in interrupt context.
> > +     */
> > +    for_each_online_cpu(cpu)
> Even though we currently don't support CPU hotplug, you want to add a
> CPU Notifier to also register the IRQ when a CPU is onlined
> ffa_notif_init().
>
> For an example, see time.c. We may also want to consider to enable TEE
> in presmp_initcalls() so we don't need to have a for_each_online_cpu().

I was considering that too. I'll update the code.

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 10:26:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 10:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713965.1114887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ODZ-0001e8-2C; Mon, 29 Apr 2024 10:26:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713965.1114887; Mon, 29 Apr 2024 10:26:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ODY-0001e1-Vc; Mon, 29 Apr 2024 10:26:40 +0000
Received: by outflank-mailman (input) for mailman id 713965;
 Mon, 29 Apr 2024 10:26: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=xS1y=MC=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s1ODX-0001dv-PB
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 10:26:39 +0000
Received: from mail-oa1-x2b.google.com (mail-oa1-x2b.google.com
 [2001:4860:4864:20::2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4b5f4b5-0612-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 12:26:36 +0200 (CEST)
Received: by mail-oa1-x2b.google.com with SMTP id
 586e51a60fabf-22fa7e4b0beso1530204fac.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 03:26: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: f4b5f4b5-0612-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714386395; x=1714991195; 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=7nfXhcv9K/kZBigfG/e7QMZiw0htPfEiHuRl5w2HGsw=;
        b=fvYWxj9ppHs8dzNmb88C46sez6vuoGB3cm3zNBjrHeQpEJ+vsyaQrhHhaDTPpcoCKu
         653l2Ucuk+JRzN/wk2ujLuqNRKzqE+Df1a8Q7oS+Wk5hka+1K4JcvfQnfjuym3CYx4fW
         BvgxJ6vpGWo+0jNZMaVKzFQ88fwhPIgBT577Of2AiHzPweJjG/VPCa0rs/Om46YnKHQg
         2DnmVyoXS/O102dzA7YOSiiCfUtNfyEKGmOOKAnWKSZ1cD1dQyhiNHNT6A/7HyKtW7PS
         wl5HtIg+DAKhUwjfPXiehW776DNC4XmDLvfrlaooCQCgej+FvBQBCuruGUWOzX4U7mmF
         U9Yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714386395; x=1714991195;
        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=7nfXhcv9K/kZBigfG/e7QMZiw0htPfEiHuRl5w2HGsw=;
        b=BUMwi9s7a2ubjrjYtFOWSKi+Hyz5GVa5R8hEZLttc3WLgQI0684NOnO21+GnuvCls+
         Ry0dsx31zX1I6vfTfAPnDJRicaaDceMNreWpsRDzsSAyb1zvGrMZpnNlSpyUsWhAswwe
         EWUNt4diYVjAnoboraTs6Ci0M2nU/insHMPgm9qrgV4snGfCYJ6cci39FLI4AGfR7ata
         KKRPFj13bvMuKpFLma6We9SMKAritTvYo8jwVT1zmH5/cHqmh9STefVnpeGG4B6n666u
         ZVxKsmY2FgcpJUxEsJ86kvf2v1aa+KEH14iZSmpqE60OzV1Jo08P0GNV+sw9h3AaSAlp
         CESw==
X-Forwarded-Encrypted: i=1; AJvYcCUb67pNpduHd+DGoPDuqujEO/ERT3ZfOu9kbMpQ8sLfpAUBIwgI0RmYFdZ+MBse7IjBdUDKGsN9T8s0MMhqypBAfHrqbSVt/BjXiSp9aBU=
X-Gm-Message-State: AOJu0YxS5GzlFs+5ekpOVsuB+gLTJHY5W2fYtmuhmw2gSzi1e7Fnrn3j
	LnL1/IKR280S7HtRn7FHbG85ug+5dARksXtbcWZeQYXXPOuEg6spQiZKVkyV41raMwcPknRN3OS
	8kNII9ttbancTK0K7zxfrxL0KfgMFiW2V
X-Google-Smtp-Source: AGHT+IEDbqjoVgnM6jltbQiAa3ev5wBbpIQceMLvgo9ydqFP3dzs+VfU8qDadcKv38buIIeW+6sajPn4wBX7QRSfi9A=
X-Received: by 2002:a05:6870:180c:b0:22e:d0e3:925f with SMTP id
 t12-20020a056870180c00b0022ed0e3925fmr12094376oaf.1.1714386395146; Mon, 29
 Apr 2024 03:26:35 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1714322424.git.w1benny@gmail.com> <90082c0aa2047edf5764840f1903d1797ca4b902.1714322424.git.w1benny@gmail.com>
 <fd3efb33-6611-4c6e-a2b6-fe47f655c0fe@suse.com>
In-Reply-To: <fd3efb33-6611-4c6e-a2b6-fe47f655c0fe@suse.com>
From: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Date: Mon, 29 Apr 2024 12:26:24 +0200
Message-ID: <CAKBKdXh7oRu0Yn_fUfVb_FcqRJZxDiYTo_iyPoSHnCp1ZpWSkw@mail.gmail.com>
Subject: Re: [PATCH v2 1/7] x86/p2m: Add braces for better code clarity
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@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, Apr 29, 2024 at 9:07=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.04.2024 18:52, Petr Bene=C5=A1 wrote:
> > From: Petr Bene=C5=A1 <w1benny@gmail.com>
> >
> > No functional change.
> >
> > Signed-off-by: Petr Bene=C5=A1 <w1benny@gmail.com>
>
> Where did Stefano's R-b go?
>
> Jan

Oh no, I missed that one. Should I do v3?


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 10:27:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 10:27:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713967.1114897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1OEl-0002A8-EE; Mon, 29 Apr 2024 10:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713967.1114897; Mon, 29 Apr 2024 10:27:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1OEl-0002A1-AN; Mon, 29 Apr 2024 10:27:55 +0000
Received: by outflank-mailman (input) for mailman id 713967;
 Mon, 29 Apr 2024 10:27: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1OEl-00029t-0V
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 10:27:55 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22930e81-0613-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 12:27:52 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-34d2178fc7fso459542f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 03:27: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
 b7-20020adff907000000b0034b3394f0e1sm18622886wrr.10.2024.04.29.03.27.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 03:27: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: 22930e81-0613-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714386472; x=1714991272; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=uVXVZr++boh0EeYcsFQzl7f9887cbGwnOOCyCo94y4o=;
        b=UhVXLkYiVxAo9KZ1/DWk/k0OVSLcQi7SUcbaiSDfHEPc4ogIzusR9afMQpKWv3t2gE
         o+rQq6R0Oqq8tJp6SYd6WndHyFLhXfce3Qxgeq3OZrNpPO0/bsUd3c1fPibK44CCRy0N
         YBFwPHpl7asM99k1DqgtjuLdrEcuIlmr47OBmMVldqHcRKH4bm88i8wQGqhvSLNs0fZL
         36sji88VrDkglnG5Lc0xXpmCJ4psDfIggq5kmwiD5qZ8ZW1YwL1JXOgTBy1scvkGEt39
         hDk4h4IBK/2xbr+JNJYZIgyAb0f6N6x8kERg44Mi6Q/wWZMWYLgNfzan8KVUapwXYw6S
         1sbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714386472; x=1714991272;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uVXVZr++boh0EeYcsFQzl7f9887cbGwnOOCyCo94y4o=;
        b=YTXihSjB2OnfF3ZOMDCaZtuvpEH0jua073MMoFxMS0bhUcdnTbvezvVicmAjX/22fG
         9tnFMrULMbN2yfjay5fPIUKU2iq3itprwCdmBfGysWLDzlIZKBuTp4G73DdN5cMDkfwo
         vb3LCeOGpbWOvUAk03TmucvMW8xPdvzbm+TLbnnyJSa3vJ48pVnGqN7M+/CenB2oPugj
         txrtQRlYAkLMX8/UZbyesjiegMc1wezpYfwQBMpGfddcc9euxQszqPtOH3i3hqg5otf5
         sTzxUIp1d2WXLjesM1yzWJQiasG+v6MfJma+BoKMFeKNNTJExEGQhDsYgVB7naqVtZ9d
         l+Tw==
X-Forwarded-Encrypted: i=1; AJvYcCWs/1LdjaaPBv4/PcbOa3MhU9j3kGBLsUzgfdZUydp+FM7FXLJ6Pt1DT3bGIC5GAg3NWbjktqvubYRFkQvp4mM6i/UqO6KghTpDBa7xMNM=
X-Gm-Message-State: AOJu0YwEcBC6PkbWjpML4INO/iSoWAqMPubJf3zNsap7aLJPzGTAoqLW
	n+kzVCGUFrhrxYfGWntW8uzT88GQws095czLtHBztk7oklt+BEtQH6pe/BdezDX1dAX8aIPS3mw
	=
X-Google-Smtp-Source: AGHT+IGKAtE6qG+y6jPc4+ehlJ4qm/3Acg4ueBCZmPob9MkZPvur5IgN7qvwKbAXI/vuHPu4QZz3vg==
X-Received: by 2002:a5d:4385:0:b0:345:816c:6e16 with SMTP id i5-20020a5d4385000000b00345816c6e16mr10427477wrq.25.1714386472245;
        Mon, 29 Apr 2024 03:27:52 -0700 (PDT)
Message-ID: <7947e9db-c2a6-41d4-b92a-f1b46d5befb0@suse.com>
Date: Mon, 29 Apr 2024 12:27:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/7] x86/p2m: Add braces for better code clarity
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1714322424.git.w1benny@gmail.com>
 <90082c0aa2047edf5764840f1903d1797ca4b902.1714322424.git.w1benny@gmail.com>
 <fd3efb33-6611-4c6e-a2b6-fe47f655c0fe@suse.com>
 <CAKBKdXh7oRu0Yn_fUfVb_FcqRJZxDiYTo_iyPoSHnCp1ZpWSkw@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAKBKdXh7oRu0Yn_fUfVb_FcqRJZxDiYTo_iyPoSHnCp1ZpWSkw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.04.2024 12:26, Petr Beneš wrote:
> On Mon, Apr 29, 2024 at 9:07 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 28.04.2024 18:52, Petr Beneš wrote:
>>> From: Petr Beneš <w1benny@gmail.com>
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Petr Beneš <w1benny@gmail.com>
>>
>> Where did Stefano's R-b go?
> 
> Oh no, I missed that one. Should I do v3?

Not just for this, I'd say. Just don't forget it again, if the patch needs
re-posting.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 10:33:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 10:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713974.1114906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1OKO-0003kn-3i; Mon, 29 Apr 2024 10:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713974.1114906; Mon, 29 Apr 2024 10:33:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1OKO-0003kg-19; Mon, 29 Apr 2024 10:33:44 +0000
Received: by outflank-mailman (input) for mailman id 713974;
 Mon, 29 Apr 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=nq9P=MC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1s1OKM-0003ka-DU
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 10:33:42 +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 f25d08e7-0613-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 12:33:41 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BE07522DD8;
 Mon, 29 Apr 2024 10:33:40 +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 7190D139DE;
 Mon, 29 Apr 2024 10:33:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Z0i8GYR3L2ZjNQAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 29 Apr 2024 10:33:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f25d08e7-0613-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1714386820; 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=r4XTbsowFx5JOpoYMdoAN7eQFmdLBZG0amKzwGvRUX8=;
	b=oECYq45niuvV+f+CJXmuxB+acjYSZ8Fjhiet9AJDp54y9fs0ver10XMoZAcH/mUcLTmWyA
	D2ioRl4RDQfOFZoCjykE47PeCaggP97x62A2b3RifNTe+Y7CYNa1BLyL7oaX9YjyKVra8w
	qoiXXaGV3N3TSlS7OH08G+KFrPhpRRo=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1714386820; 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=r4XTbsowFx5JOpoYMdoAN7eQFmdLBZG0amKzwGvRUX8=;
	b=oECYq45niuvV+f+CJXmuxB+acjYSZ8Fjhiet9AJDp54y9fs0ver10XMoZAcH/mUcLTmWyA
	D2ioRl4RDQfOFZoCjykE47PeCaggP97x62A2b3RifNTe+Y7CYNa1BLyL7oaX9YjyKVra8w
	qoiXXaGV3N3TSlS7OH08G+KFrPhpRRo=
Message-ID: <637c755a-9f24-4b86-af12-7c7d50bf40c8@suse.com>
Date: Mon, 29 Apr 2024 12:33:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 8/8] xen: allow up to 16383 cpus
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-9-jgross@suse.com>
 <da1662ac-70f1-4ae4-9737-e10e617c8036@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: <da1662ac-70f1-4ae4-9737-e10e617c8036@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6KkFwrv7HpnSFUKVIx1BqpX4"
X-Spam-Level: 
X-Spamd-Result: default: False [-4.43 / 50.00];
	BAYES_HAM(-2.29)[96.68%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-0.996];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.15)[-0.762];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	XM_UA_NO_VERSION(0.01)[];
	FROM_HAS_DN(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[8];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email]
X-Spam-Score: -4.43
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6KkFwrv7HpnSFUKVIx1BqpX4
Content-Type: multipart/mixed; boundary="------------kL0ykI1zVrLOgRZOtxx6Fzi8";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <637c755a-9f24-4b86-af12-7c7d50bf40c8@suse.com>
Subject: Re: [PATCH v6 8/8] xen: allow up to 16383 cpus
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-9-jgross@suse.com>
 <da1662ac-70f1-4ae4-9737-e10e617c8036@suse.com>
In-Reply-To: <da1662ac-70f1-4ae4-9737-e10e617c8036@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=

--------------kL0ykI1zVrLOgRZOtxx6Fzi8
Content-Type: multipart/mixed; boundary="------------dsQy1vUbQ61K99whFxAu88kH"

--------------dsQy1vUbQ61K99whFxAu88kH
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMDQuMjQgMDk6MTAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wMy4yMDI0
IDE2OjIyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gV2l0aCBsb2NrIGhhbmRsaW5nIG5v
dyBhbGxvd2luZyB1cCB0byAxNjM4NCBjcHVzIChzcGlubG9ja3MgY2FuIGhhbmRsZQ0KPj4g
NjU1MzUgY3B1cywgcndsb2NrcyBjYW4gaGFuZGxlIDE2Mzg0IGNwdXMpLCByYWlzZSB0aGUg
YWxsb3dlZCBsaW1pdCBmb3INCj4+IHRoZSBudW1iZXIgb2YgY3B1cyB0byBiZSBjb25maWd1
cmVkIHRvIDE2MzgzLg0KPj4NCj4+IFRoZSBuZXcgbGltaXQgaXMgaW1wb3NlZCBieSBJT01N
VV9DTURfQlVGRkVSX01BWF9FTlRSSUVTIGFuZA0KPj4gUUlOVkFMX01BWF9FTlRSWV9OUiBy
ZXF1aXJlZCB0byBiZSBsYXJnZXIgdGhhbiAyICogQ09ORklHX05SX0NQVVMuDQo+Pg0KPj4g
U2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiANCj4g
QWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gDQo+IEknZCBw
cmVmZXIgdGhpcyB0byBhbHNvIGdhaW4gYW4gQXJtIGFjaywgdGhvdWdoLg0KDQpBbnkgY29t
bWVudCBmcm9tIEFybSBzaWRlPw0KDQoNCkp1ZXJnZW4NCg0KPiANCj4gSmFuDQo+IA0KPj4g
LS0tIGEveGVuL2FyY2gvS2NvbmZpZw0KPj4gKysrIGIveGVuL2FyY2gvS2NvbmZpZw0KPj4g
QEAgLTYsNyArNiw3IEBAIGNvbmZpZyBQSFlTX0FERFJfVF8zMg0KPj4gICANCj4+ICAgY29u
ZmlnIE5SX0NQVVMNCj4+ICAgCWludCAiTWF4aW11bSBudW1iZXIgb2YgQ1BVcyINCj4+IC0J
cmFuZ2UgMSA0MDk1DQo+PiArCXJhbmdlIDEgMTYzODMNCj4+ICAgCWRlZmF1bHQgIjI1NiIg
aWYgWDg2DQo+PiAgIAlkZWZhdWx0ICI4IiBpZiBBUk0gJiYgUkNBUjMNCj4+ICAgCWRlZmF1
bHQgIjQiIGlmIEFSTSAmJiBRRU1VDQo+IA0KPiANCg0K
--------------dsQy1vUbQ61K99whFxAu88kH
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-----

--------------dsQy1vUbQ61K99whFxAu88kH--

--------------kL0ykI1zVrLOgRZOtxx6Fzi8--

--------------6KkFwrv7HpnSFUKVIx1BqpX4
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/Ey8FAmYvd4QFAwAAAAAACgkQsN6d1ii/Ey/G
Vgf/Wm7qFTTm3IrhltLjg9xSquyFYHM043fV4X9t6zwiwOfjuv/QsIOYaO6VeT1fs+5KzL3LTS05
82j0hWlCb2ZDuNSExbhY/dkhceoniTJAfsB2vvSNN0rfFnLV80aZEBOEkfCD1gFU7tKt63R17d7F
gay4XNHSZ074AehdZMR4L6SVPst3dgW7WgIRLnKKhagAdUM/WhQgC3b/0YNSsta2wehOuWSrpA5D
KSgp3yCNtYA7Y807u9QQc4k0vKqcbZAE4xGxQm2LfOlnw8RrNY+ipTHq8d7pOcn9sppL4LJxiXNF
LnddutsnjHgR3mlsXJj9E0A8sS7KtQtuKwsm8xcw7w==
=q42U
-----END PGP SIGNATURE-----

--------------6KkFwrv7HpnSFUKVIx1BqpX4--


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 10:42:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 10:42:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713978.1114917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1OSM-0005eQ-TB; Mon, 29 Apr 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 713978.1114917; Mon, 29 Apr 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 1s1OSM-0005eJ-QA; Mon, 29 Apr 2024 10:41:58 +0000
Received: by outflank-mailman (input) for mailman id 713978;
 Mon, 29 Apr 2024 10:41: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 1s1OSL-0005e9-4a; Mon, 29 Apr 2024 10:41: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 1s1OSL-00053y-0c; Mon, 29 Apr 2024 10:41: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 1s1OSK-0002BV-Hs; Mon, 29 Apr 2024 10:41:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1OSK-0004cC-FJ; Mon, 29 Apr 2024 10:41:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aq3q9iwaq5Auw+5EMlBZFDkOCOeyfs1nNoML00ELpRw=; b=L933i0a+w58z3k8oc0cSARHCcI
	bF0snzDe5gRQdMBiAOZxpfAH0CFXz2jiNvDozn57+gw+j4c/oPI8KVZTlahgKhHXKL2mcAUfEah14
	xNxIJPyiyhBAgT4SqlfyEZ0GPu+J+5iuTWPrCIxuK1Xg+98rbn4nj1VL0sKCnECf6Ljw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185860-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 185860: 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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds: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=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
X-Osstest-Versions-That:
    xen=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Apr 2024 10:41:56 +0000

flight 185860 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185860/

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 185839
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185839
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185839
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185839
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185839
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185839
 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          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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 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-armhf-armhf-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     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                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230
baseline version:
 xen                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230

Last test of basis   185860  2024-04-29 01:53:41 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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 Apr 29 10:45:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 10:45:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713984.1114927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1OVA-0006dt-E0; Mon, 29 Apr 2024 10:44:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713984.1114927; Mon, 29 Apr 2024 10: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 1s1OVA-0006dm-Aw; Mon, 29 Apr 2024 10:44:52 +0000
Received: by outflank-mailman (input) for mailman id 713984;
 Mon, 29 Apr 2024 10:44: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=nq9P=MC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1s1OV9-0006dg-1t
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 10:44:51 +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 80dc2923-0615-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 12:44:49 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2d8a24f8a3cso51791841fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 03:44:49 -0700 (PDT)
Received: from ?IPV6:2003:e5:8738:9a00:3771:d6c0:aec6:f5ea?
 (p200300e587389a003771d6c0aec6f5ea.dip0.t-ipconnect.de.
 [2003:e5:8738:9a00:3771:d6c0:aec6:f5ea])
 by smtp.gmail.com with ESMTPSA id
 je1-20020a05600c1f8100b0041adf358058sm21169570wmb.27.2024.04.29.03.44.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 03: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: 80dc2923-0615-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714387489; x=1714992289; 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=PxvqPM0VUAqsKGO2txPCNsmg2rNM1LmBDjo9RIJRz/k=;
        b=eK9FRG2Y7AHJP44rdbGo0tgbm3G8LWzF84YYgV9DGeUf89WsV0cK9gqGxAZmOlbdJM
         +yoW0BONUWNfJba3Y3yvjJeBolKloGhehtsiba0gIClaSEtMuzOezHnJ+WUAJdJbaq6k
         Z/RIRcFsQfmBC7tKxKrXxGIbOmTEidbgjIspSux2Hek5GP5PFzHPLp9RpwouPCuBy77Y
         qwDXWAOFf+096fdz30EQjxUfmfsd9s4VSpf43+vgGSJrnCihXY8Xe+/o+7C+w4uE0VPN
         S0Uejs5HFAK3k6eV6tSlL96r5ZjHVMC3U3Wtj4EgO4iNnbSd0Ib3L5La9coFsEvbVZ3f
         1x4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714387489; x=1714992289;
        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=PxvqPM0VUAqsKGO2txPCNsmg2rNM1LmBDjo9RIJRz/k=;
        b=d1g6y1HAFYDc+Z5BIBtBYtjC0zUhl8cXO4ZilwXRbUq84h8mwFCSxzo5pVfJ1OYqm2
         liEHY/30hJl91sn4G2d50A2VxfDhMkHBZipWpaIJDX3uWrydpLE6tE+aQnqCwFDpoaRK
         0kG0n7y0v+ilbLPh1WW4eTdtSThXtuSwba+VZDGfsPvMyVowy13jKfk6H0IzUn7WGmal
         mqCffSmlPw17eB07xVA/sUfwDyI96JJlHKKCqKAMRbFl7hfpSkGLMrTVWc2/RhUGk9nB
         6buDAIJsPhjeBA0UEBCXOS6n6Crqu7kLoh+fVEnwBALPY7RNiYXRGYHloDpnmwpe70UD
         22lQ==
X-Forwarded-Encrypted: i=1; AJvYcCUGBGIdB5kTIY1eLW4Wq8IfPQSapPPHfkMsvNnIem0H60ej+ouDUf4GBxIbvREDR9xGYhR8axytoxXA5ZFMAEaXIPVNyZqUuMarIkAYQ2M=
X-Gm-Message-State: AOJu0YzQFBS4W8hInG6FlVeSnCY+Ty+tcKq+sKZhwx/zeS8pR7gcd3rF
	C9xhsW87g9rf0wvA9EIUHxsgoTHnMDgzgtFeThIU6Ejn7JAX8VmgKadJ6NB6dJc=
X-Google-Smtp-Source: AGHT+IELWD5B9cy68FyLmP6Wj7lQplbce+v0kH61K/vYuD3O2Cdd+Ei2aykgwouDwq4VL7qpqmpwCA==
X-Received: by 2002:a2e:b018:0:b0:2d5:9703:263f with SMTP id y24-20020a2eb018000000b002d59703263fmr5564178ljk.44.1714387489295;
        Mon, 29 Apr 2024 03:44:49 -0700 (PDT)
Message-ID: <ed2e5418-147a-4d5e-a646-980953832de7@suse.com>
Date: Mon, 29 Apr 2024 12:44:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] tools/{c,o}xenstored: Don't link against libsystemd
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240425173216.410940-1-andrew.cooper3@citrix.com>
 <20240425173216.410940-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <20240425173216.410940-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 25.04.24 19:32, Andrew Cooper wrote:
> libsystemd is a giant dependency for one single function, but in the wake of
> the xz backdoor, it turns out that even systemd leadership recommend against
> linking against libsystemd for sd_notify().
> 
> Since commit 7b61011e1450 ("tools: make xenstore domain easy configurable") in
> Xen 4.8, the launch-xenstore script invokes systemd-notify directly, so its
> not even necessary for the xenstored's to call sd_notify() themselves.

You are aware that in the daemon case the call of systemd-notify does not
signal readyness of xenstored? It is just called with the "--booted" parameter
in order to detect whether systemd is active or not.

So in order to just drop the sd_notify() call from xenstored you need to
modify the launch-xenstore script, too.


Juergen

> 
> Therefore, just drop the calls to sd_notify() and stop linking against
> libsystemd.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Juergen Gross <jgross@suse.com>
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: Edwin Török <edwin.torok@cloud.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> ---
>   tools/ocaml/xenstored/Makefile        | 12 +------
>   tools/ocaml/xenstored/systemd.ml      | 15 ---------
>   tools/ocaml/xenstored/systemd.mli     | 16 ---------
>   tools/ocaml/xenstored/systemd_stubs.c | 47 ---------------------------
>   tools/ocaml/xenstored/xenstored.ml    |  1 -
>   tools/xenstored/Makefile              |  5 ---
>   tools/xenstored/posix.c               |  9 -----
>   7 files changed, 1 insertion(+), 104 deletions(-)
>   delete mode 100644 tools/ocaml/xenstored/systemd.ml
>   delete mode 100644 tools/ocaml/xenstored/systemd.mli
>   delete mode 100644 tools/ocaml/xenstored/systemd_stubs.c
> 
> diff --git a/tools/ocaml/xenstored/Makefile b/tools/ocaml/xenstored/Makefile
> index e8aaecf2e630..1e4b51cc5432 100644
> --- a/tools/ocaml/xenstored/Makefile
> +++ b/tools/ocaml/xenstored/Makefile
> @@ -4,8 +4,6 @@ include $(OCAML_TOPLEVEL)/common.make
>   
>   # Include configure output (config.h)
>   CFLAGS += -include $(XEN_ROOT)/tools/config.h
> -CFLAGS-$(CONFIG_SYSTEMD)  += $(SYSTEMD_CFLAGS)
> -LDFLAGS-$(CONFIG_SYSTEMD) += $(SYSTEMD_LIBS)
>   
>   CFLAGS  += $(CFLAGS-y)
>   CFLAGS  += $(APPEND_CFLAGS)
> @@ -25,13 +23,6 @@ poll_OBJS = poll
>   poll_C_OBJS = select_stubs
>   OCAML_LIBRARY = syslog poll
>   
> -LIBS += systemd.cma systemd.cmxa
> -systemd_OBJS = systemd
> -systemd_C_OBJS = systemd_stubs
> -OCAML_LIBRARY += systemd
> -
> -LIBS_systemd += $(LDFLAGS-y)
> -
>   OBJS = paths \
>   	define \
>   	stdext \
> @@ -56,12 +47,11 @@ OBJS = paths \
>   	process \
>   	xenstored
>   
> -INTF = symbol.cmi trie.cmi syslog.cmi systemd.cmi poll.cmi
> +INTF = symbol.cmi trie.cmi syslog.cmi poll.cmi
>   
>   XENSTOREDLIBS = \
>   	unix.cmxa \
>   	-ccopt -L -ccopt . syslog.cmxa \
> -	-ccopt -L -ccopt . systemd.cmxa \
>   	-ccopt -L -ccopt . poll.cmxa \
>   	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/mmap $(OCAML_TOPLEVEL)/libs/mmap/xenmmap.cmxa \
>   	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \
> diff --git a/tools/ocaml/xenstored/systemd.ml b/tools/ocaml/xenstored/systemd.ml
> deleted file mode 100644
> index 39127f712d72..000000000000
> --- a/tools/ocaml/xenstored/systemd.ml
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -(*
> - * Copyright (C) 2014 Luis R. Rodriguez <mcgrof@suse.com>
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU Lesser General Public License as published
> - * by the Free Software Foundation; version 2.1 only. with the special
> - * exception on linking described in file LICENSE.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU Lesser General Public License for more details.
> - *)
> -
> -external sd_notify_ready: unit -> unit = "ocaml_sd_notify_ready"
> diff --git a/tools/ocaml/xenstored/systemd.mli b/tools/ocaml/xenstored/systemd.mli
> deleted file mode 100644
> index 18b9331031f9..000000000000
> --- a/tools/ocaml/xenstored/systemd.mli
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -(*
> - * Copyright (C) 2014 Luis R. Rodriguez <mcgrof@suse.com>
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU Lesser General Public License as published
> - * by the Free Software Foundation; version 2.1 only. with the special
> - * exception on linking described in file LICENSE.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU Lesser General Public License for more details.
> - *)
> -
> -(** Tells systemd we're ready *)
> -external sd_notify_ready: unit -> unit = "ocaml_sd_notify_ready"
> diff --git a/tools/ocaml/xenstored/systemd_stubs.c b/tools/ocaml/xenstored/systemd_stubs.c
> deleted file mode 100644
> index f4c875075abe..000000000000
> --- a/tools/ocaml/xenstored/systemd_stubs.c
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -/*
> - * Copyright (C) 2014 Luis R. Rodriguez <mcgrof@suse.com>
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU Lesser General Public License as published
> - * by the Free Software Foundation; version 2.1 only. with the special
> - * exception on linking described in file LICENSE.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU Lesser General Public License for more details.
> - */
> -
> -#include <string.h>
> -#include <stdio.h>
> -#include <stdbool.h>
> -#include <errno.h>
> -#include <caml/mlvalues.h>
> -#include <caml/memory.h>
> -#include <caml/alloc.h>
> -#include <caml/custom.h>
> -#include <caml/signals.h>
> -#include <caml/fail.h>
> -
> -#if defined(HAVE_SYSTEMD)
> -
> -#include <systemd/sd-daemon.h>
> -
> -CAMLprim value ocaml_sd_notify_ready(value ignore)
> -{
> -	CAMLparam1(ignore);
> -
> -	sd_notify(1, "READY=1");
> -
> -	CAMLreturn(Val_unit);
> -}
> -
> -#else
> -
> -CAMLprim value ocaml_sd_notify_ready(value ignore)
> -{
> -	CAMLparam1(ignore);
> -
> -	CAMLreturn(Val_unit);
> -}
> -#endif
> diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/xenstored.ml
> index 1aaa3e995e1f..6bcd6d11da55 100644
> --- a/tools/ocaml/xenstored/xenstored.ml
> +++ b/tools/ocaml/xenstored/xenstored.ml
> @@ -621,7 +621,6 @@ let () =
>       process_domains store cons domains
>     in
>   
> -  Systemd.sd_notify_ready ();
>     let live_update = ref false in
>     while not (!quit && Connections.prevents_quit cons = [])
>     do
> diff --git a/tools/xenstored/Makefile b/tools/xenstored/Makefile
> index e0897ed1ba30..09adfe1d5064 100644
> --- a/tools/xenstored/Makefile
> +++ b/tools/xenstored/Makefile
> @@ -9,11 +9,6 @@ xenstored: LDLIBS += $(LDLIBS_libxenctrl)
>   xenstored: LDLIBS += -lrt
>   xenstored: LDLIBS += $(SOCKET_LIBS)
>   
> -ifeq ($(CONFIG_SYSTEMD),y)
> -$(XENSTORED_OBJS-y): CFLAGS += $(SYSTEMD_CFLAGS)
> -xenstored: LDLIBS += $(SYSTEMD_LIBS)
> -endif
> -
>   TARGETS := xenstored
>   
>   .PHONY: all
> diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
> index d88c82d972d7..dc4ed8db591f 100644
> --- a/tools/xenstored/posix.c
> +++ b/tools/xenstored/posix.c
> @@ -26,9 +26,6 @@
>   #include <sys/mman.h>
>   #include <sys/socket.h>
>   #include <sys/un.h>
> -#if defined(HAVE_SYSTEMD)
> -#include <systemd/sd-daemon.h>
> -#endif
>   #include <xen-tools/xenstore-common.h>
>   
>   #include "utils.h"
> @@ -390,12 +387,6 @@ void handle_special_fds(void)
>   
>   void late_init(bool live_update)
>   {
> -#if defined(HAVE_SYSTEMD)
> -	if (!live_update) {
> -		sd_notify(1, "READY=1");
> -		fprintf(stderr, SD_NOTICE "xenstored is ready\n");
> -	}
> -#endif
>   }
>   
>   int get_socket_fd(void)



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 11:04:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 11:04:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.713997.1114937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Onx-0001NP-Up; Mon, 29 Apr 2024 11:04:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 713997.1114937; Mon, 29 Apr 2024 11:04:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Onx-0001NI-SK; Mon, 29 Apr 2024 11:04:17 +0000
Received: by outflank-mailman (input) for mailman id 713997;
 Mon, 29 Apr 2024 11:04:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1s1Onw-0001NC-1Z
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 11:04:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1s1Ons-0006Dj-6k; Mon, 29 Apr 2024 11:04:12 +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 1s1Ons-0004Zy-0Z; Mon, 29 Apr 2024 11:04:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lh5CsJeg5S28wpjjZYHludg8JBvmjHHZwyD6Bcd9EC4=; b=MqrGih3LTMktjfa8jZ3n3PGsTu
	8R9abM7swgSL1xeEwN2t1lwMxIBE5gl4Cmw6LMKzRG02VN6N576gUjtk7EJjJ4tmNpwVwORt/Q+JJ
	tyd+0e4YryqdEcZUUFYutcQX+dUFhWAkA4CD5JapmYkCh1yZaU6kVBN3gkQt0saXK6AI=;
Message-ID: <d0714064-c544-47d3-84c0-a19391ccf496@xen.org>
Date: Mon, 29 Apr 2024 12:04:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 8/8] xen: allow up to 16383 cpus
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-9-jgross@suse.com>
 <da1662ac-70f1-4ae4-9737-e10e617c8036@suse.com>
 <637c755a-9f24-4b86-af12-7c7d50bf40c8@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <637c755a-9f24-4b86-af12-7c7d50bf40c8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

Sorry for the late reply.

On 29/04/2024 11:33, Juergen Gross wrote:
> On 08.04.24 09:10, Jan Beulich wrote:
>> On 27.03.2024 16:22, Juergen Gross wrote:
>>> With lock handling now allowing up to 16384 cpus (spinlocks can handle
>>> 65535 cpus, rwlocks can handle 16384 cpus), raise the allowed limit for
>>> the number of cpus to be configured to 16383.
>>>
>>> The new limit is imposed by IOMMU_CMD_BUFFER_MAX_ENTRIES and
>>> QINVAL_MAX_ENTRY_NR required to be larger than 2 * CONFIG_NR_CPUS.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> I'd prefer this to also gain an Arm ack, though.
> 
> Any comment from Arm side?

Can you clarify what the new limits mean in term of (security) support? 
Are we now claiming that Xen will work perfectly fine on platforms with 
up to 16383?

If so, I can't comment for x86, but for Arm, I am doubtful that it would 
work without any (at least performance) issues. AFAIK, this is also an 
untested configuration. In fact I would be surprised if Xen on Arm was 
tested with more than a couple of hundreds cores (AFAICT the Ampere CPUs 
has 192 CPUs).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 11:28:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 11:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714004.1114947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PB0-0005Dx-Pf; Mon, 29 Apr 2024 11:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714004.1114947; Mon, 29 Apr 2024 11:28:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PB0-0005Dq-Mt; Mon, 29 Apr 2024 11:28:06 +0000
Received: by outflank-mailman (input) for mailman id 714004;
 Mon, 29 Apr 2024 11:28:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nq9P=MC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1s1PAz-0005Dk-Gj
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 11:28:05 +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 89d4e0f5-061b-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 13:28:02 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-41ba1ba55ffso14635785e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 04:28:02 -0700 (PDT)
Received: from ?IPV6:2003:e5:8738:9a00:3771:d6c0:aec6:f5ea?
 (p200300e587389a003771d6c0aec6f5ea.dip0.t-ipconnect.de.
 [2003:e5:8738:9a00:3771:d6c0:aec6:f5ea])
 by smtp.gmail.com with ESMTPSA id
 v17-20020a05600c445100b0041c130520fbsm5685436wmn.46.2024.04.29.04.28.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 04:28: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: 89d4e0f5-061b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714390081; x=1714994881; 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=GnaZrTm2zMEqLqJsiKORLWEAbOakg/EIVhq4/2f+JLk=;
        b=IGMxwB125rMgHyFW/2/nPb1GoKKm5StYZnWSl3KqDiCmEy8SoYFjduxQQIEkybF3V/
         txE0f9vaE4eA4GMD49P3FH0Nkkw8K/j2aiHjVNiVYRahem14SwGNI5Dz76BCm9J7GrED
         iiUAYq4Wzcxm5bpICbHJj2raYh4xQx3cfAZWUo9NzZlh11ObD2A3onS6YkLE7w9LLEJs
         F0G2rX5Hma4CLjFzbk1qHQOP5lUejP5qFbffG7bLUnyCBH+i42JdXgEVrtjOEyxcKnJ4
         SLh3ClWkDiblCw27EH12jkWSKproMsam33Fm/suv5bqDybZmsjPPKosuijjZ8Wzcl5xw
         MikA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714390081; x=1714994881;
        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=GnaZrTm2zMEqLqJsiKORLWEAbOakg/EIVhq4/2f+JLk=;
        b=TE9yEjtgHiQA1EuR1704iXJs/JB0JwqEGCTCj1DDkOyLMiM8odI9B2O2EvVKkX+WXv
         5jfC4x2W6dslTLxRypRHzkOcZWw25Kp4NgJCRCV81PMB1jMYODlVXGZd0Qc8u8YRVlfW
         NF703u38XSbEx6lkbOQ/Pa5Kym1/REvOSQ9/zz3o/6qHYL8EqO8Ki5cbSFXpUc4hUPxb
         1QGy3ezAkSrJsGJyv1ZUUwIkqTv/a9MwtojrFrg7vJ6RdsWmnd4sWnLq++5jFZIgA2Ca
         cWcsBYf9dwvc9Yq3CTlrMdoRMCNu8I4G7PDQYM6DnKzKBRW/FBWT9NPdcLFbpwK8jgXG
         yqzA==
X-Forwarded-Encrypted: i=1; AJvYcCVO3q00jWcWO1yAiadv9Do/O7DSoQkxBp+ThTmCaiI/aTDnsCZ8sqVl0N2Bo9JOUK2h/rwyOlss7U9uEbAH/6heCVaq7i7WhoNtmNG2oDI=
X-Gm-Message-State: AOJu0Yz658cmja91zzVkNHtrhOz0uOozz/3CZ4VknZmBm3FUJkPmq8ZL
	3b16wGYB1xj0Q0TJWUMAGNO6NJmNV34N1+iQR/V5BQ1BtSW5zw3Su5xXMHyySE0=
X-Google-Smtp-Source: AGHT+IGfPV0BCBkHWQilhUppwaLDuv2zbD1wQXCNQCEP+MTbr2/OE1kPC+4JLDeZ3CMXsOw1iMUenA==
X-Received: by 2002:a05:600c:3153:b0:418:bdcd:e59b with SMTP id h19-20020a05600c315300b00418bdcde59bmr5837518wmo.7.1714390081368;
        Mon, 29 Apr 2024 04:28:01 -0700 (PDT)
Message-ID: <29296e11-8d21-4867-9d31-fc94af828214@suse.com>
Date: Mon, 29 Apr 2024 13:28:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 8/8] xen: allow up to 16383 cpus
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-9-jgross@suse.com>
 <da1662ac-70f1-4ae4-9737-e10e617c8036@suse.com>
 <637c755a-9f24-4b86-af12-7c7d50bf40c8@suse.com>
 <d0714064-c544-47d3-84c0-a19391ccf496@xen.org>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
In-Reply-To: <d0714064-c544-47d3-84c0-a19391ccf496@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29.04.24 13:04, Julien Grall wrote:
> Hi Juergen,
> 
> Sorry for the late reply.
> 
> On 29/04/2024 11:33, Juergen Gross wrote:
>> On 08.04.24 09:10, Jan Beulich wrote:
>>> On 27.03.2024 16:22, Juergen Gross wrote:
>>>> With lock handling now allowing up to 16384 cpus (spinlocks can handle
>>>> 65535 cpus, rwlocks can handle 16384 cpus), raise the allowed limit for
>>>> the number of cpus to be configured to 16383.
>>>>
>>>> The new limit is imposed by IOMMU_CMD_BUFFER_MAX_ENTRIES and
>>>> QINVAL_MAX_ENTRY_NR required to be larger than 2 * CONFIG_NR_CPUS.
>>>>
>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> I'd prefer this to also gain an Arm ack, though.
>>
>> Any comment from Arm side?
> 
> Can you clarify what the new limits mean in term of (security) support? Are we 
> now claiming that Xen will work perfectly fine on platforms with up to 16383?
> 
> If so, I can't comment for x86, but for Arm, I am doubtful that it would work 
> without any (at least performance) issues. AFAIK, this is also an untested 
> configuration. In fact I would be surprised if Xen on Arm was tested with more 
> than a couple of hundreds cores (AFAICT the Ampere CPUs has 192 CPUs).

I think we should add a security support limit for the number of physical
cpus similar to the memory support limit we already have in place.

For x86 I'd suggest 4096 cpus for security support (basically the limit we
have with this patch), but I'm open for other suggestions, too.

I have no idea about any sensible limits for Arm32/Arm64.


Juergen


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 11:33:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 11:33:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714009.1114957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PGE-0006gd-Bs; Mon, 29 Apr 2024 11:33:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714009.1114957; Mon, 29 Apr 2024 11:33:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PGE-0006gV-99; Mon, 29 Apr 2024 11:33:30 +0000
Received: by outflank-mailman (input) for mailman id 714009;
 Mon, 29 Apr 2024 11:33:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1PGD-0006gP-HM
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 11:33:29 +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 4ca1891e-061c-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 13:33:28 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-34ce52fb920so1081902f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 04:33: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
 w5-20020a5d6805000000b0034c8b0354a6sm6633074wru.106.2024.04.29.04.33.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 04: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: 4ca1891e-061c-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714390408; x=1714995208; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3K9/aMqYsimNOv0RwWhDG4JKax3mItxgwGszAxVcr6o=;
        b=DnbcpY315us99nCXa+4QwZoWeSDCS6BM26TDlr0TGhkt/5yTxGVPYCSbn8S/yRj94F
         W7pk1OsV/xyfgJgfAsFOqTtxP3xBHSq1ULfpFKiIiQE7S47LumGzL1n6FT/u/JpWDNBo
         h6EVtl4+7T7edvmZ5Hg9QtV2e8ENb2rqGhquPV4gDA3thngzAEZ1omZ7BR115P+EEXuN
         5nrBJHw0FlmCa7CWGNPFuR0+c5wG6KfNhcAzITRVTGoVhBNgPFyhKk/HNrvYWViFKuh/
         CGdGwlBGOR2U7gmcmWULxY5XcAB3oW3H4k9h5hS2kSTQbB8ceDcqj+/BFY8FCBwpqvZO
         mB/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714390408; x=1714995208;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3K9/aMqYsimNOv0RwWhDG4JKax3mItxgwGszAxVcr6o=;
        b=vIIy15Wk92UUdF20MZXIp78XZsT1NjgB1RcbOSEY+b+ZsLfCESLCtAjtGiOIGgl7N0
         SeKk+dIdmGZ2c6f06zHmITg6U97pkHDoLQdwFA33gV6Uh1f/aSj1T+QF1kKq6EBzS9kC
         ycHwQDBYiK4gLkDGTbY+NpYsq51+RnS8em33jX/MCNoqnLOmDZ1gb4NVSXEOm7xDbn96
         iCva8UEcReZdId2QarJs47uvjBKrS0ru2Z21wX+vBM3oL/47ocxj+lwPuFKm9op8oPif
         TpdyCE+OQBOqwa8/pK/e17xLYLy8F/+Ki7WnIqfks8/wyIzeKdMOzzRVRqoi4V3FY4y/
         /q7w==
X-Forwarded-Encrypted: i=1; AJvYcCWPcusT7LwHHr/cvLnR9dxMf90FeQ7zWTeQL9HBn6nvXGMl86Gn1TVVRsvGMu2TgdCt92Uo74hQlz0nns6P01bFeOrz++ngIt3dtCnjEtY=
X-Gm-Message-State: AOJu0Yw0mTvuJOFNbEjNEIchGd0ZlVhbbtbh2NeEZYCLj38qLKOkNucN
	1XuM5TWqAxl1vXcIzwyUc0aRugdDTW8haP7FjMuyslRRQtzUpOfIKyOE1Nh33w==
X-Google-Smtp-Source: AGHT+IEAU5p3Z4osotf37QHKDQXNni7j7cyYgDa4l8tPB8tjleM12eIWu1TW1kg0VB/sul+y3L8fyQ==
X-Received: by 2002:adf:e9c8:0:b0:34a:a754:eb48 with SMTP id l8-20020adfe9c8000000b0034aa754eb48mr6593348wrn.48.1714390408223;
        Mon, 29 Apr 2024 04:33:28 -0700 (PDT)
Message-ID: <de66a6cb-2636-475c-80df-e507bb70de39@suse.com>
Date: Mon, 29 Apr 2024 13:33:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/boot: Explain how moving mod[0] works
Content-Language: en-US
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>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240426140140.465506-1-andrew.cooper3@citrix.com>
 <20240426140140.465506-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240426140140.465506-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 16:01, Andrew Cooper wrote:
> modules_headroom is a misleading name as it applies strictly to mod[0] only,
> and the movement loop is deeply unintuitive and completely undocumented.
> 
> Provide help to whomever needs to look at this code next.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Apr 29 11:42:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 11:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714013.1114967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1POQ-0000HA-4n; Mon, 29 Apr 2024 11:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714013.1114967; Mon, 29 Apr 2024 11: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 1s1POQ-0000H3-24; Mon, 29 Apr 2024 11:41:58 +0000
Received: by outflank-mailman (input) for mailman id 714013;
 Mon, 29 Apr 2024 11: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1POP-0000Gx-BQ
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 11:41:57 +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 7ae2b9db-061d-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 13:41:56 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-34b64b7728cso3533346f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 04:41: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
 c5-20020a056000184500b0034d1fe44278sm1112954wri.39.2024.04.29.04.41.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 04: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: 7ae2b9db-061d-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714390915; x=1714995715; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xRjQTJrtle5ImXBSw2C5JQ/FcUffmZJty/3CQAwYEQk=;
        b=ZEXAJF6eQHiihbWc1mlqYqIlNoBx/tDEFKWHnlAYPiZfTdlOln8F9zkVIWj61alMMH
         4KOOJlfy8ZxTkHWCRk/+aNZ6tr/6ixAoe+tRPrBAxjaRhvgQrjQhKpQ7nMRTISw+0n0B
         wpSNM4furUxlGVOCkagSIwHtrbJcg6Rd1gk9U97EHua30kJhZrOmzPpwtL3E02VaeREZ
         zrZ9W1xA63h/L+iDkbYAAYNJCux/u03KoQzkqrA3L1WrayeZ+zxvk3wbxRmwc7gEAnPQ
         4AZ+N3VbpIkCH2meq8WE4daBhR6Q/F1M99n3g/kYWlWRavvImJ88T5fiOGOdJQvfu8hu
         poag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714390915; x=1714995715;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xRjQTJrtle5ImXBSw2C5JQ/FcUffmZJty/3CQAwYEQk=;
        b=XAVbCGc3eaiH7++WUxE7SW35QFgcgeoMFc2budHT/qrln5mwWZmBZrDauTg8T0uVGz
         wBb0UvktrKAVKIpXMCijZhnHr3/GAh4Bd+dVEIqYeGEuWSd5r2oaklHGcJknIxHWFxqS
         8EacScbPpCkuGJRTaR0qLaMLZWK+ksVFjzpY2H0gHWYF/DUclMfToVahPA9Yty18p2Xy
         EB/XKbEud7vMrXKlRfC9nznZrTsXuo+9MdgKfk2yQCh8gy9b2iVs5SShNrufoOionP9T
         kr6jbZ30s7XWmUFeBAbsNV+8DlOFKXlo77WmgzEzoExrMeZilU0Nux4XzkCSAUJ127ZN
         EEyA==
X-Forwarded-Encrypted: i=1; AJvYcCX3tkvSKR4b+KriZ1qhfdIz3IfZL6rvv5kXGSz3NGuAu0199ZKRy7cw4DKhcxMyvhobXazxifP98sMY7G2LDrvVwHsr1llJRgGxiibppL8=
X-Gm-Message-State: AOJu0YwSULQRvBzU8VB5htoYyjQzWu5ynds6FjcW/OtYAXlQAmVZe9Bi
	nzRHNUtEvrCunHMQLTLDV5xuOlElqpH/6SZSZ+Y1jy7FxkhagM0a8aWsWZUN1A==
X-Google-Smtp-Source: AGHT+IHiVZULqPxM1T7IO/BHdcG9X4O6QHu3o8qQ8EZCF0vsM73RSKobKIiZEf1C+xjB6xSVMYLFZw==
X-Received: by 2002:adf:ee4c:0:b0:34c:8adf:8fc9 with SMTP id w12-20020adfee4c000000b0034c8adf8fc9mr4971957wro.51.1714390915293;
        Mon, 29 Apr 2024 04:41:55 -0700 (PDT)
Message-ID: <9e67e0e5-8953-4903-b2a5-024bdbd842b9@suse.com>
Date: Mon, 29 Apr 2024 13:41:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/boot: Explain discard_initial_images() and
 untangle PV initrd handling
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240426140140.465506-1-andrew.cooper3@citrix.com>
 <20240426140140.465506-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240426140140.465506-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 16:01, Andrew Cooper wrote:
> discard_initial_images() frees the memory backing the boot modules.  It is
> called by dom0_construct_pv{,h}(), but obtains the module list by global
> pointer which is why there is no apparent link with the initrd pointer.
> 
> Generally, module contents are copied into dom0 as it's being built, but the
> initrd for PV dom0 might be directly mapped instead of copied.
> 
> dom0_construct_pv() does it's own ad-hoc freeing of the module in the copy
> case, and points the global reference at the new copy, then sets the size to
> 0.  This only functions because init_domheap_pages(x, x) happens to be a nop.
> 
> Delete the ad-hoc freeing, and leave it to discard_initial_images().  This
> requires (not) adjusting initd->mod_start in the copy case, and only setting
> the size to 0 in the mapping case.
> 
> Alter discard_initial_images() to explicitly check for an ignored module, and
> explain what's going on.  This is more robust and will allow for fixing other
> problems with module handling.
> 
> The later logic in dom0_construct_pv() now cannot use initrd->mod_start, but
> that's fine because initrd_mfn is already a duplicate of the information
> wanted, and is more consistent with initrd_{pfn,len} used elsewhere.
> 
> Invalidate the initrd pointer with LIST_POISON1 to make it clearer that it
> shouldn't be used.
> 
> No practical change in behaviour, but a substantial reduction in the
> complexity of how this works.
> 
> 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: Daniel Smith <dpsmith@apertussolutions.com>
> CC: Christopher Clark <christopher.w.clark@gmail.com>
> 
> In other akward questions, why does initial_images_nrpages() account for all
> modules when only 1 or 2 are relevant for how we construct dom0 ?
> ---
>  xen/arch/x86/pv/dom0_build.c | 22 +++++++++++-----------
>  xen/arch/x86/setup.c         |  9 ++++++++-
>  2 files changed, 19 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
> index d8043fa58a27..64d9984b8308 100644
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -630,18 +630,20 @@ int __init dom0_construct_pv(struct domain *d,
>                  }
>              memcpy(page_to_virt(page), mfn_to_virt(initrd->mod_start),
>                     initrd_len);
> -            mpt_alloc = (paddr_t)initrd->mod_start << PAGE_SHIFT;
> -            init_domheap_pages(mpt_alloc,
> -                               mpt_alloc + PAGE_ALIGN(initrd_len));
> -            initrd->mod_start = initrd_mfn = mfn_x(page_to_mfn(page));
> +            initrd_mfn = mfn_x(page_to_mfn(page));
>          }
>          else
>          {
>              while ( count-- )
>                  if ( assign_pages(mfn_to_page(_mfn(mfn++)), 1, d, 0) )
>                      BUG();
> +            /*
> +             * Mapped rather than copied.  Tell discard_initial_images() to
> +             * ignore it.
> +             */
> +            initrd->mod_end = 0;
>          }
> -        initrd->mod_end = 0;
> +        initrd = LIST_POISON1; /* No longer valid to use. */
>  
>          iommu_memory_setup(d, "initrd", mfn_to_page(_mfn(initrd_mfn)),
>                             PFN_UP(initrd_len), &flush_flags);
> @@ -653,12 +655,10 @@ int __init dom0_construct_pv(struct domain *d,
>      if ( domain_tot_pages(d) < nr_pages )
>          printk(" (%lu pages to be allocated)",
>                 nr_pages - domain_tot_pages(d));
> -    if ( initrd )
> -    {
> -        mpt_alloc = (paddr_t)initrd->mod_start << PAGE_SHIFT;
> +    if ( initrd_len )
>          printk("\n Init. ramdisk: %"PRIpaddr"->%"PRIpaddr,
> -               mpt_alloc, mpt_alloc + initrd_len);
> -    }
> +               pfn_to_paddr(initrd_mfn),
> +               pfn_to_paddr(initrd_mfn) + initrd_len);
>  
>      printk("\nVIRTUAL MEMORY ARRANGEMENT:\n");
>      printk(" Loaded kernel: %p->%p\n", _p(vkern_start), _p(vkern_end));

Between what this and the following hunk touch there is

        if ( count < initrd_pfn || count >= initrd_pfn + PFN_UP(initrd_len) )
            mfn = pfn++;
        else
            mfn = initrd_mfn++;

I can't help thinking that this invalidates ...

> @@ -881,7 +881,7 @@ int __init dom0_construct_pv(struct domain *d,
>          if ( pfn >= initrd_pfn )
>          {
>              if ( pfn < initrd_pfn + PFN_UP(initrd_len) )
> -                mfn = initrd->mod_start + (pfn - initrd_pfn);
> +                mfn = initrd_mfn + (pfn - initrd_pfn);
>              else
>                  mfn -= PFN_UP(initrd_len);
>          }

... the use of the variable here.

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -294,7 +294,7 @@ unsigned long __init initial_images_nrpages(nodeid_t node)
>      return nr;
>  }
>  
> -void __init discard_initial_images(void)
> +void __init discard_initial_images(void) /* a.k.a. free multiboot modules */
>  {
>      unsigned int i;
>  
> @@ -302,6 +302,13 @@ void __init discard_initial_images(void)
>      {
>          uint64_t start = (uint64_t)initial_images[i].mod_start << PAGE_SHIFT;
>  
> +        /*
> +         * Sometimes the initrd is mapped, rather than copied, into dom0.
> +         * end=0 signifies that we should leave it alone.
> +         */
> +        if ( initial_images[i].mod_end == 0 )
> +            continue;
> +
>          init_domheap_pages(start,
>                             start + PAGE_ALIGN(initial_images[i].mod_end));
>      }

While I don't strictly mind the addition, it isn't really needed, as calling
init_domheap_pages() with twice the same address is simply a no-op (and
.mod_end being 0 had to work correctly already before anyway).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 11:45:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 11:45:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714018.1114976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PRO-0001Pm-LY; Mon, 29 Apr 2024 11:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714018.1114976; Mon, 29 Apr 2024 11:45: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 1s1PRO-0001Pf-IO; Mon, 29 Apr 2024 11:45:02 +0000
Received: by outflank-mailman (input) for mailman id 714018;
 Mon, 29 Apr 2024 11:45: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1PRN-0001PZ-Lj
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 11:45:01 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8533ef3-061d-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 13:44:59 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-34b029296f5so4385238f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 04:44: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
 t13-20020a05600001cd00b0034c66bddea3sm8045627wrx.37.2024.04.29.04.44.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 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: e8533ef3-061d-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714391099; x=1714995899; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lcKb1hsA8BC5Tyn3xNa0Pv+fwnyK1HojJWwmPM01kDY=;
        b=Q96HcAravZ1yMMrwaqfHHeinIHeUvkjSwxacPADUFjOLRQbTFbK5Z33qK6ypPIku5y
         aJqcGbkXRd7bak9iugHzsdTG5A9SmCfE7uDIme5sb4ffzLFClusgAu3k2u1A6SEVB3Mt
         3krRErIOLRGurhcToWbt1ga3OCc3CUBwV0Swq3HRtb2oWNIt5A3Cghd8pisDunGNQs3u
         aBQKE5t1oJYRGpwW+gS67V+joqsJYtHr71/wgbChHMcX7UElJ3d8WVliwC/h0Q4dX4al
         DRa8PtSS9zz0lKEPVYSVHX2uTAPoapoYzBwRi6oRPnFSanzpbxRdnFa5nXh61Oy2ices
         JToA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714391099; x=1714995899;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lcKb1hsA8BC5Tyn3xNa0Pv+fwnyK1HojJWwmPM01kDY=;
        b=YcwZxJmKTza3t4Lkt2o1H/Ne10Tl4gFknoFsnyhNfEhTn3Jy1cnb71iITEM+rsNvz8
         A9nxTeP8tHEBOJBCZdgnY4JAIH/q3njo3yPQyn3nE0+gHg2gsecsFq+njtkBmtx+HQPa
         Hq1oFqXL6epU0+2r2CTITRNHtsSxbrkroDPeEoxGSEx/ZXJEs5D6QiFXqcoG4XqbuOTy
         Fe0B1hq7MFdu/xeVBn2L8yLs+8KqgtCcbacU5LdYNTPAu60fdKgSBP+Z1CHu2O4XMWe0
         PgkYsOe96QoKFMWIfdynkH8hc2eCb5JADmprtaljv+gh7fRDStTiR29rNFMg7To1NzM/
         Txlg==
X-Forwarded-Encrypted: i=1; AJvYcCWf96AHX7hhrL+9RHNWhsllHjTVcDHyeoPS5Xde73Jwnd2kpV6QSUi+rPrFIVo7TGVekdeWKVSCO0jmOQUgvJWIM3543XH3dMwMu99XDWU=
X-Gm-Message-State: AOJu0YxOi3YsQhEGhp4U8h3ekXrZ7SS1elMYjwUA8t9tsqEsZ1dhZTU3
	MC04CUZ/SwEd4maN0Onyjc1nwaSdgD1H+ajiKLXPD6HmnDzLM4kv/xgwct5IZg==
X-Google-Smtp-Source: AGHT+IGYMUEG9y68OcQneSLaeUhQhcJZI8GLEOmnEqT7TzkUyryL2wf93zRKhBkanAgGcRBrZgtMEQ==
X-Received: by 2002:adf:ed4a:0:b0:34a:3e3a:a23c with SMTP id u10-20020adfed4a000000b0034a3e3aa23cmr8680527wro.64.1714391099004;
        Mon, 29 Apr 2024 04:44:59 -0700 (PDT)
Message-ID: <1587a623-7cb4-4095-8023-6cc36ad1ff0f@suse.com>
Date: Mon, 29 Apr 2024 13:45:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/boot: Refactor pvh_load_kernel() to have an
 initrd_len local
Content-Language: en-US
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>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Christopher Clark <christopher.w.clark@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240426140140.465506-1-andrew.cooper3@citrix.com>
 <20240426140140.465506-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240426140140.465506-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 16:01, Andrew Cooper wrote:
> The expression get more complicated when ->mod_end isn't being abused as a
> size field.  Introduce and use a initrd_len local variable.
> 
> 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 Apr 29 11:53:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 11:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714024.1114987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PZt-0002yt-Ey; Mon, 29 Apr 2024 11:53:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714024.1114987; Mon, 29 Apr 2024 11:53:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PZt-0002ym-BX; Mon, 29 Apr 2024 11:53:49 +0000
Received: by outflank-mailman (input) for mailman id 714024;
 Mon, 29 Apr 2024 11:53:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nq9P=MC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1s1PZr-0002x6-Iq
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 11:53:47 +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 22538a9e-061f-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 13:53: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-out1.suse.de (Postfix) with ESMTPS id 8C01F3371A;
 Mon, 29 Apr 2024 11:53: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 401AC139DE;
 Mon, 29 Apr 2024 11:53:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id OPqwDUmKL2a8UAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 29 Apr 2024 11:53:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22538a9e-061f-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1714391625; 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=t0G+Wr2+5FCuGBK9/so1tE3qrcdv9UxLz8OcpcSQX14=;
	b=A5dZO5qyOj5jNAZTQzAmh2EQNHk1qd3mrb8yBeJBqW+C420yHRz7KCzPlqrKKqptmLY7tw
	nrEfalyhdTRtn+OrW5Mc+MSchMz4hOJ4FyWoo5IYpHrMxnsZDFo99tOLGJw24O0TZoUOx+
	T7WS3CP4WrnS3n5788O55gRHYQvEEDM=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=A5dZO5qy
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1714391625; 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=t0G+Wr2+5FCuGBK9/so1tE3qrcdv9UxLz8OcpcSQX14=;
	b=A5dZO5qyOj5jNAZTQzAmh2EQNHk1qd3mrb8yBeJBqW+C420yHRz7KCzPlqrKKqptmLY7tw
	nrEfalyhdTRtn+OrW5Mc+MSchMz4hOJ4FyWoo5IYpHrMxnsZDFo99tOLGJw24O0TZoUOx+
	T7WS3CP4WrnS3n5788O55gRHYQvEEDM=
Message-ID: <f73bb0fe-9ba6-46de-8732-bd372438068e@suse.com>
Date: Mon, 29 Apr 2024 13:53:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: gregkh@linuxfoundation.org
Cc: cve@kernel.org, linux-cve-announce@vger.kernel.org,
 linux-kernel@vger.kernel.org,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Xen.org security team" <security@xen.org>
References: <2024041747-CVE-2024-26908-4690@gregkh>
Subject: Re: CVE-2024-26908: x86/xen: Add some null pointer checking to smp.c
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: <2024041747-CVE-2024-26908-4690@gregkh>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0EwqNZS2VVcQLQ3bAbqzsxT4"
X-Spam-Flag: NO
X-Spam-Score: -4.61
X-Rspamd-Action: no action
X-Rspamd-Queue-Id: 8C01F3371A
X-Spam-Level: 
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Spamd-Result: default: False [-4.61 / 50.00];
	SIGNED_PGP(-2.00)[];
	DWL_DNSWL_MED(-2.00)[suse.com:dkim];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	BAYES_HAM(-0.21)[71.84%];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	XM_UA_NO_VERSION(0.01)[];
	MX_GOOD(-0.01)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	TO_DN_EQ_ADDR_SOME(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	ARC_NA(0.00)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	MID_RHS_MATCH_FROM(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim]

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0EwqNZS2VVcQLQ3bAbqzsxT4
Content-Type: multipart/mixed; boundary="------------vYhxwnU6ksOJM9MuuheCSX00";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: gregkh@linuxfoundation.org
Cc: cve@kernel.org, linux-cve-announce@vger.kernel.org,
 linux-kernel@vger.kernel.org,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Xen.org security team" <security@xen.org>
Message-ID: <f73bb0fe-9ba6-46de-8732-bd372438068e@suse.com>
Subject: Re: CVE-2024-26908: x86/xen: Add some null pointer checking to smp.c
References: <2024041747-CVE-2024-26908-4690@gregkh>
In-Reply-To: <2024041747-CVE-2024-26908-4690@gregkh>
Autocrypt-Gossip: addr=security@xen.org; keydata=
 xsBNBE+hNqgBCADYua5OFR0/Jeu0rByk+Obk6+SewIeGej1FAcjo+Cvpcr1dfnLBAhmmhbfM
 b++qr6SG6Ek+cUQogYAFvZcEcusbRPy4MIzJkqoPSyOUhCxZoxWNWUfhDdt0TWA3Hs1vYmFO
 e+2jvlL3h7yAsGMYO8jo6ow8ceBEOmf8Q5BLq2OPkNpGcaHEhbSv0VZ3mdHM30ynY6GubIws
 c68LZ5hTORTSjKaj2WVCe4OorBMZte5Im+6MOEUbCjynqPJSU9KNFhIhUuyXp1vn0gZ2N5QS
 pkghpzBJLzeBNEI6ecV3Q0p+/pq8EvEAuUSNLUEbIZ/NSLqyTVMc9HZxnPu59im8wB9rABEB
 AAHNK1hlbi5vcmcgKGluY29taW5nIGVtYWlsKSA8c2VjdXJpdHlAeGVuLm9yZz7CwHgEEwEC
 ACIFAk+hNqgCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHQ6P8qC06lk1y0H/2Pj
 jQyPDZVS4zIVnR4xQOQ1KphPCdSTPlhj+VVrjZZNXWGCUKvJShL84XIONH62fIgQE/6CTWXJ
 tx6i4u1oAtFH4+8HayFjg609lxx9frJ4tJkJitw5TT6VEGAambchIG5QaP9hepgyrVXjQ0X2
 ot0jgpwL6G3sx0L1gewiMALXtGT6oTqLjXius/nv69yRe26wxU1GX80oWWH/5p585xt54C1X
 nhDEVzp0S9UW7VAAVDCWuSefSrihh3jZi4QE1fnGRwO0RfeLh1sXeuMn9uFIz0CmaCbAp5Pe
 UyNb6wgG60h4JLCDyhJntoHfq8pQLEJ8G9nvjDfw8BLvkBKYNvbOwE0ET6E2qAEIALqWNlGF
 d3uIj+DXZ40/i7fsoPb+HaYaG6Y+7+ZWxMxUeQDTLBnTYiAa+EGVutc4v52BXH8RZc9I/NH9
 lBT2/AwaEVSomxLicbixXUGoFC9kMp/VP1xwWJ+gm+ZEnQzY+2AFJGMvqEsGocQA7yLw121J
 UOrorny3CqpHykPUF3fqp4n/GL47VTaKxlsoV8o2JgZZ62NJlkBtnbA4ODzhWr6cA21smWFg
 sfFJ+EkXb1NEeYLs8CWtTn2EiQXlZTQ8OgBPahfvLZ+AJ4sM/Raoi2c3UIQrlCsg9BoojKMk
 Li8XUrywr8HEJYjhBYObCgbmaeIEfmrw5XJqOKlMg40XY+MAEQEAAcLAXwQYAQIACQUCT6E2
 qAIbDAAKCRB0Oj/KgtOpZDhJB/0XtxrlVuRttpjK1PEYK/A/9h47VH9p0UvVYCH+ZS2a+sTg
 sapx0zp4uni8wtytkvGw/EM06D4ZoaWAUcjXILNKGdi62q/z+WAfdEY/WrONxAbr2Dtv/LT0
 0/2nifYU9O1vGYS1Kx/B3D8fU0w+2Sjv+hYjbGDWn619etC8dNEIxczH6V/cVOZf0D2KhoBf
 MCHUoKeuAfaIKDMxOZjb7sajfUW70cxFFWYqH96Py01oxDroOKzy0x62iVdsYFGB3FvcD9tD
 WsxVWwGHA8DKEfKMuNPiuapzdxdrNm5AQilSUlfD65KK9d3kQdoOUPdPWoIQnz8GnHMPDe99
 7SuwxWGb

--------------vYhxwnU6ksOJM9MuuheCSX00
Content-Type: multipart/mixed; boundary="------------90y4dTGw0X8UTxVG60NsIjVc"

--------------90y4dTGw0X8UTxVG60NsIjVc
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

SGksDQoNCkknZCBsaWtlIHRvIGRpc3B1dGUgQ1ZFLTIwMjQtMjY5MDg6IHRoZSBpc3N1ZSBm
aXhlZCBieSB1cHN0cmVhbSBjb21taXQNCjM2OTNiYjQ0NjVlNmUzMmEyMDRhNWI4NmQzZWM3
ZTZiOWY3ZTY3YzIgY2FuIGluIG5vIHdheSBiZSB0cmlnZ2VyZWQgYnkNCmFuIHVucHJpdmls
ZWdlZCB1c2VyIG9yIGJ5IGEgcmVtb3RlIGF0dGFjayBvZiB0aGUgc3lzdGVtLCBhcyBpdCBy
ZXF1aXJlcw0KaG90cGx1ZyBvZiAodmlydHVhbCkgY3B1cyB0byB0aGUgcnVubmluZyBzeXN0
ZW0uIFRoaXMgY2FuIGJlIGRvbmUgb25seSBieQ0KZWl0aGVyIGEgaG9zdCBhZG1pbiBvciBi
eSBhbiBhZG1pbiBvZiB0aGUgZ3Vlc3Qgd2hpY2ggbWlnaHQgc3VmZmVyIHRoZQ0Kb3V0LW9m
LW1lbW9yeSBzaXR1YXRpb24uDQoNClBsZWFzZSByZXZva2UgdGhpcyBDVkUuDQoNCg0KSnVl
cmdlbg0K
--------------90y4dTGw0X8UTxVG60NsIjVc
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-----

--------------90y4dTGw0X8UTxVG60NsIjVc--

--------------vYhxwnU6ksOJM9MuuheCSX00--

--------------0EwqNZS2VVcQLQ3bAbqzsxT4
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/Ey8FAmYvikgFAwAAAAAACgkQsN6d1ii/Ey8w
jgf+IdMlHovyCNBWluksvTkE17dSt7V6C+4CFRLAY+VDCbpyPPect+5w/Q5xxVd8StL/nHef5h4W
r78WYuNsh1m6+hFju5gF+lJY2WhP00MfSXiRcXPdMONekFGqwxe5abImSN1G8y3hNNjhN4TTCsG4
WqkSsIH/OUvJj8A+44+wYUBAJGAa//ar9dwr+L37ZbaYStut2LFOgcrOqITCcX1/+3QkqsGIN5TX
4Z71JTC3jpJw7Jpaw3v75o9HjV5YyFrLQC0bLn9wh1ilIDwamhC9IV8MzK71hGah0oJqkp4FMc30
P0QaMCE6sty0maNjota9hvqe9vfXia/JcZ6KplcT/g==
=pBsr
-----END PGP SIGNATURE-----

--------------0EwqNZS2VVcQLQ3bAbqzsxT4--


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 12:18:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 12:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714036.1114996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PxU-0007JC-ER; Mon, 29 Apr 2024 12:18:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714036.1114996; Mon, 29 Apr 2024 12:18:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1PxU-0007J5-C0; Mon, 29 Apr 2024 12:18:12 +0000
Received: by outflank-mailman (input) for mailman id 714036;
 Mon, 29 Apr 2024 12:18:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UPPc=MC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1PxT-0007Iz-7L
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 12:18:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a2789b4-0622-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 14:18:09 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 739B84EE0738;
 Mon, 29 Apr 2024 14:18: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: 8a2789b4-0622-11ef-b4bb-af5377834399
MIME-Version: 1.0
Date: Mon, 29 Apr 2024 14:18:08 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 bertrand.marquis@arm.com, julien@xen.org, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, George Dunlap
 <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH 03/10] automation/eclair_analysis: deviate macro
 count_args_ for MISRA Rule 20.7
In-Reply-To: <alpine.DEB.2.22.394.2404241727520.3940@ubuntu-linux-20-04-desktop>
References: <cover.1713885065.git.nicola.vetrini@bugseng.com>
 <7de407c218f0911e28b7c3f609a55636165166a8.1713885065.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2404241727520.3940@ubuntu-linux-20-04-desktop>
Message-ID: <5b675fcdf688723bc6d4ea260d10004e@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-04-25 02:28, Stefano Stabellini wrote:
> On Tue, 23 Apr 2024, Nicola Vetrini wrote:
>> The count_args_ macro violates Rule 20.7, but it can't be made
>> compliant with Rule 20.7 without breaking its functionality. Since
>> it's very unlikely for this macro to be misused, it is deviated.
> 
> That is OK but can't we use the SAF- framework to do it, given that it
> is just one macro?
> 
> If not, this is also OK.
> 
> 

It would be more fragile, for no substantial gain

>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  automation/eclair_analysis/ECLAIR/deviations.ecl | 6 ++++++
>>  docs/misra/deviations.rst                        | 6 ++++++
>>  2 files changed, 12 insertions(+)
>> 
>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
>> b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> index d21f112a9b94..c17e2f5a0886 100644
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -445,6 +445,12 @@ not to parenthesize their arguments."
>>  -config=MC3R1.R20.7,reports+={safe, 
>> "any_area(any_loc(any_exp(macro(^alternative_(v)?call[0-9]$))))"}
>>  -doc_end
>> 
>> +-doc_begin="The argument 'x' of the count_args_ macro can't be 
>> parenthesized as
>> +the rule would require, without breaking the functionality of the 
>> macro. The uses
>> +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="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 ed0c1e8ed0bf..e228ae2e715f 100644
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -371,6 +371,12 @@ Deviations related to MISRA C:2012 Rules:
>>         sanity checks in place.
>>       - Tagged as `safe` for ECLAIR.
>> 
>> +   * - R20.7
>> +     - The macro `count_args_` is not compliant with the rule, but is 
>> not likely
>> +       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.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
>> 

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 12:46:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 12:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714043.1115006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1QOB-0003sn-DB; Mon, 29 Apr 2024 12:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714043.1115006; Mon, 29 Apr 2024 12: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 1s1QOB-0003sg-AM; Mon, 29 Apr 2024 12:45:47 +0000
Received: by outflank-mailman (input) for mailman id 714043;
 Mon, 29 Apr 2024 12: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=x7+Y=MC=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1s1QOA-0003sY-Fr
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 12:45:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6475fb27-0626-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 14:45:44 +0200 (CEST)
Received: from LAPTOP-EFA9O91E.localdomain
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 13F634EE0738;
 Mon, 29 Apr 2024 14:45:43 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6475fb27-0626-11ef-b4bb-af5377834399
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_enalysis: amend configuration for some MISRA rules
Date: Mon, 29 Apr 2024 14:44:50 +0200
Message-Id: <7e8f6f4e0e007656d8809c4d521e73e642747d7f.1714394212.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adjust ECLAIR configuration for rules: R21.14, R21.15, R21.16 by taking
into account mem* macros defined in the Xen sources as if they were
equivalent to the ones in Standard Library.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/analysis.ecl | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index a604582da3..f3b634baba 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -19,6 +19,23 @@ map_strings("scheduled-analysis",analysis_kind)
 
 -enable=B.EXPLAIN
 
+-doc_begin="These configurations serve the purpose of recognizing the 'mem*' macros as
+their Standard Library equivalents."
+
+-config=MC3R1.R21.14,call_select+=
+{"macro(^memcmp$)&&any_arg(1..2, skip(__non_syntactic_paren_cast_stmts, node(string_literal)))",
+ "any()", violation, "%{__callslct_any_base_fmt()}", {{arg, "%{__callslct_arg_fmt()}"}}}
+
+-config=MC3R1.R21.15,call_args+=
+{"macro(^mem(cmp|move|cpy)$)", {1, 2}, "unqual_pointee_compatible",
+ "%{__argscmpr_culprit_fmt()}", "%{__argscmpr_evidence_fmt()}"}
+
+-config=MC3R1.R21.16,call_select+=
+{"macro(^memcmp$)&&any_arg(1..2, skip(__non_syntactic_paren_stmts, type(canonical(__memcmp_pte_types))))",
+ "any()", violation, "%{__callslct_any_base_fmt()}", {{arg,"%{__callslct_arg_type_fmt()}"}}}
+
+-doc_end
+
 -eval_file=toolchain.ecl
 -eval_file=public_APIs.ecl
 if(not(scheduled_analysis),
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 12:49:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 12:49:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714047.1115018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1QRe-0004Ta-Sg; Mon, 29 Apr 2024 12:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714047.1115018; Mon, 29 Apr 2024 12: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 1s1QRe-0004TT-Ob; Mon, 29 Apr 2024 12:49:22 +0000
Received: by outflank-mailman (input) for mailman id 714047;
 Mon, 29 Apr 2024 12: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=x7+Y=MC=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1s1QRd-0004TH-DC
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 12:49:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e50f0b68-0626-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 14:49:19 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 314704EE0738;
 Mon, 29 Apr 2024 14:49:19 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e50f0b68-0626-11ef-b4bb-af5377834399
MIME-Version: 1.0
Date: Mon, 29 Apr 2024 14:49:19 +0200
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
 <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] automation/eclair_enalysis: amend configuration for
 some MISRA rules
Reply-To: alessandro.zucchelli@bugseng.com
Mail-Reply-To: alessandro.zucchelli@bugseng.com
In-Reply-To: <7e8f6f4e0e007656d8809c4d521e73e642747d7f.1714394212.git.alessandro.zucchelli@bugseng.com>
References: <7e8f6f4e0e007656d8809c4d521e73e642747d7f.1714394212.git.alessandro.zucchelli@bugseng.com>
Message-ID: <b1ef1faec9834805e5db85e214b09bb2@bugseng.com>
X-Sender: alessandro.zucchelli@bugseng.com
Organization: BUGSENG Srl
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-04-29 14:44, Alessandro Zucchelli wrote:
> Adjust ECLAIR configuration for rules: R21.14, R21.15, R21.16 by taking
> into account mem* macros defined in the Xen sources as if they were
> equivalent to the ones in Standard Library.
> 
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> ---
>  automation/eclair_analysis/ECLAIR/analysis.ecl | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl 
> b/automation/eclair_analysis/ECLAIR/analysis.ecl
> index a604582da3..f3b634baba 100644
> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
> @@ -19,6 +19,23 @@ map_strings("scheduled-analysis",analysis_kind)
> 
>  -enable=B.EXPLAIN
> 
> +-doc_begin="These configurations serve the purpose of recognizing the 
> 'mem*' macros as
> +their Standard Library equivalents."
> +
> +-config=MC3R1.R21.14,call_select+=
> +{"macro(^memcmp$)&&any_arg(1..2, 
> skip(__non_syntactic_paren_cast_stmts, node(string_literal)))",
> + "any()", violation, "%{__callslct_any_base_fmt()}", {{arg, 
> "%{__callslct_arg_fmt()}"}}}
> +
> +-config=MC3R1.R21.15,call_args+=
> +{"macro(^mem(cmp|move|cpy)$)", {1, 2}, "unqual_pointee_compatible",
> + "%{__argscmpr_culprit_fmt()}", "%{__argscmpr_evidence_fmt()}"}
> +
> +-config=MC3R1.R21.16,call_select+=
> +{"macro(^memcmp$)&&any_arg(1..2, skip(__non_syntactic_paren_stmts, 
> type(canonical(__memcmp_pte_types))))",
> + "any()", violation, "%{__callslct_any_base_fmt()}", 
> {{arg,"%{__callslct_arg_type_fmt()}"}}}
> +
> +-doc_end
> +
>  -eval_file=toolchain.ecl
>  -eval_file=public_APIs.ecl
>  if(not(scheduled_analysis),

Typo in the title: should be automation/eclair_analysis.
Sorry.
-- 
Alessandro Zucchelli, B.Sc.

Software Engineer, BUGSENG (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:01:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:01:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714053.1115027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Qcx-0007Dn-Qs; Mon, 29 Apr 2024 13:01:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714053.1115027; Mon, 29 Apr 2024 13:01:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Qcx-0007Dg-Nu; Mon, 29 Apr 2024 13:01:03 +0000
Received: by outflank-mailman (input) for mailman id 714053;
 Mon, 29 Apr 2024 13:01: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1Qcw-0007Da-L9
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:01:02 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86da2ce4-0628-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 15:01:00 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41b869326daso20377545e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06:01: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
 q13-20020a05600c46cd00b0041c02589a7csm6860512wmo.40.2024.04.29.06.00.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 06:00: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: 86da2ce4-0628-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714395660; x=1715000460; 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=4WrhiGt4t2+rTjMGnuIXdmpTNrF6ykzuSNvQRaf3DNE=;
        b=BoTYmUtkqrqEgYHk13HdxzbS8A2GwsJ7i0tYOKJyMantMdIN1m9Gx3Dsix5uJr+1Ei
         h7XwLSNYPl/Xl0SZS7fKaK7iQZEZGgScKoam+LIvMdVaIOGcznz0QWqGn7sKN11rXH3q
         DciARUMDuIZzYxK6kJWm6trcK+/mTmMVhqmpiCNFxJffyHa/C14sxBHeva5DzPYc4yzz
         JwB19C5Nyfe1mvxhLSNCGn7kEBtFkcNzVBtuVOTMdQRsm8y6xjQWVGJM1yyEnrOS7oFf
         jmY9cQHzs5IQ83bAOZswWeNaa6lu+pcaNqPY1BtJNA8VYpBJRYnQh8kLERqaI2fDGTbS
         jRQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714395660; x=1715000460;
        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=4WrhiGt4t2+rTjMGnuIXdmpTNrF6ykzuSNvQRaf3DNE=;
        b=dbE+WcGXTv5nBewST11lPS7q7G3PFiEibE1eTMKidEOsW0tK/GY+KXD0ozaSkG42qj
         93FmX7iJ0FQrsAMldsfU6J1qRMIYLpEjxBfglFGp0j8mYvt/d0kJ9ZIRCo30CqlPHBF4
         8uKJd4dX5TMaa4X0Rw0ft43JVGnap/hEy6xWec4txwcIpQbF+tnaMd0s+pKcgZRlWFcD
         O0wVy1px0v2ctSZHfOxv3faCkxJeSk0a41/xemRvL/dUcsQLoJvfcyAAMIK0WElu7CCL
         ZA6D/ARazK6hFRWURQL9fsY08ArQsikFvQxNLOmYkgonVxWkeGvQtMPx9Z5rNMK0Olqd
         agFQ==
X-Gm-Message-State: AOJu0YyNyCsWtoSYRV4wmIIN906lzQl/LnU9B3xowJevJKFajYIFn467
	lnv+39lNsSVDAzEWh1Abo9ooNR1bOHICPqoEOGzeQbONPlejIuOFdFPA+x6fsaXrxwiUe8o+Z9o
	=
X-Google-Smtp-Source: AGHT+IEEkvz0YNMLjIXFgFvG6NZf0bgqboV82FTC1jpO/zGGT1hTsjQT7UX8VbwYkFQCNCaKDbixoA==
X-Received: by 2002:a05:600c:3b16:b0:41c:1f4:9cbb with SMTP id m22-20020a05600c3b1600b0041c01f49cbbmr4546140wms.26.1714395659743;
        Mon, 29 Apr 2024 06:00:59 -0700 (PDT)
Message-ID: <f54c05d4-b61d-4e26-8e93-6e1bdc22a1d4@suse.com>
Date: Mon, 29 Apr 2024 15:01:00 +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>,
 George Dunlap <george.dunlap@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] revert "x86/mm: re-implement get_page_light() using an atomic
 increment"
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+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

revert "x86/mm: re-implement get_page_light() using an atomic increment"

This reverts commit c40bc0576dcc5acd4d7e22ef628eb4642f568533.

That change aimed at eliminating an open-coded lock-like construct,
which really isn't all that similar to, in particular, get_page(). The
function always succeeds. Any remaining concern would want taking care
of by placing block_lock_speculation() at the end of the function.
Since the function is called only during page (de)validation, any
possible performance concerns over such extra serialization could
likely be addressed by pre-validating (e.g. via pinning) page tables.

The fundamental issue with the change being reverted is that it detects
bad state only after already having caused possible corruption. While
the system is going to be halted in such an event, there is a time
window during which the resulting incorrect state could be leveraged by
a clever (in particular: fast enough) attacker.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -2582,10 +2582,16 @@ bool get_page(struct page_info *page, const struct domain *domain)
  */
 static void get_page_light(struct page_info *page)
 {
-    unsigned long old_pgc = arch_fetch_and_add(&page->count_info, 1);
+    unsigned long x, nx, y = page->count_info;
 
-    BUG_ON(!(old_pgc & PGC_count_mask)); /* Not allocated? */
-    BUG_ON(!((old_pgc + 1) & PGC_count_mask)); /* Overflow? */
+    do {
+        x  = y;
+        nx = x + 1;
+        BUG_ON(!(x & PGC_count_mask)); /* Not allocated? */
+        BUG_ON(!(nx & PGC_count_mask)); /* Overflow? */
+        y = cmpxchg(&page->count_info, x, nx);
+    }
+    while ( unlikely(y != x) );
 }
 
 static int validate_page(struct page_info *page, unsigned long type,


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:10:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:10:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714058.1115037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Qla-0008En-Lv; Mon, 29 Apr 2024 13:09:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714058.1115037; Mon, 29 Apr 2024 13: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 1s1Qla-0008Eg-I7; Mon, 29 Apr 2024 13:09:58 +0000
Received: by outflank-mailman (input) for mailman id 714058;
 Mon, 29 Apr 2024 13:09:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1QlY-0008Ea-Tv
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:09:56 +0000
Received: from mail-qv1-xf2c.google.com (mail-qv1-xf2c.google.com
 [2607:f8b0:4864:20::f2c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5a83398-0629-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 15:09:55 +0200 (CEST)
Received: by mail-qv1-xf2c.google.com with SMTP id
 6a1803df08f44-69b514d3cf4so48767656d6.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06:09:55 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 g18-20020ad45152000000b006a0af6e25c2sm3003624qvq.94.2024.04.29.06.09.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 06:09: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: c5a83398-0629-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714396194; x=1715000994; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=d3EsT56vkk4edFwK/PLV7i6rn4R84QNYBR07evfQ58I=;
        b=Zxw7LEnXTJw9RQ4Bt8URLMHmRouGiPY0aLt6rByw6kMzNnRiUsr4ONYihIVHNH7WjU
         vWvXqugBwnquB7ncd+iq0isSBPfovdLb2xklpnfmHuR3nbG+kH9alI48XJobH/xADVr/
         UPd57Yi2xEdo/+XHryBMdGPpNIdynKcyRRT1k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714396194; x=1715000994;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d3EsT56vkk4edFwK/PLV7i6rn4R84QNYBR07evfQ58I=;
        b=Q8SbuHi+nPYLHtTcZTxVRcOscxNoGQsJeeAiwfVNXzSHbSDzwRxCivdDebVNQWvVz9
         u4t89Sd0i1Q2Qzw0AcuKJSo1/DCsn+j3Mc/Zljk2DGKz3qakQlYs0XzIcKfaQegANle0
         8U8wnwipIrLi3Amx5h8VlNgjgtTINT9djjnOYdN+CiP96h+GL0LhWtBwbdIQJBeAs2da
         R5HGeniRbJjxU7MYMWikJ82F3hOCG19AleEYgsksGYmVz9C0zDl7Is6mQ8CF1bxNtJ0r
         nBrtVtkFqpy8I/aewDPiCkdHbKOFH8JQze3HCdadE7Qg80ZgNXMILUK5Fexu6t1C11bm
         jUBA==
X-Forwarded-Encrypted: i=1; AJvYcCV7XYjhO7VWexGCLr2ixeMr7tzvK+jBt4p4VcEMwhIrOYUGw4nRF/ZQZ6zk0CyjSWv2RwwCLlvgvnuTUSqa6+JjjejNaVxxgJM0vOCCRNg=
X-Gm-Message-State: AOJu0Yx2pqN6fepLY8SbXNhJ4WgRlxPB3XAD49mrTTWJSDem5KKizxu2
	0wOAnIOWfj6D1mKRdtA3zD51LomOazGFNkNei1HULFtr+j4X+t4no5EL5HCHAJevYyCCo5hYmSi
	r
X-Google-Smtp-Source: AGHT+IHo0ejIW7TXMBeahBUErP0VNnlJDtFEm42/zDSr70tZfSGtSFUOMLLMULouxHF12AFq6cWtCw==
X-Received: by 2002:a05:6214:2385:b0:699:221e:789c with SMTP id fw5-20020a056214238500b00699221e789cmr10692658qvb.62.1714396194640;
        Mon, 29 Apr 2024 06:09:54 -0700 (PDT)
Message-ID: <62c1cb1b-ad62-477f-b851-552bbf27672b@citrix.com>
Date: Mon, 29 Apr 2024 14:09:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] revert "x86/mm: re-implement get_page_light() using an
 atomic increment"
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>,
 George Dunlap <george.dunlap@cloud.com>
References: <f54c05d4-b61d-4e26-8e93-6e1bdc22a1d4@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: <f54c05d4-b61d-4e26-8e93-6e1bdc22a1d4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29/04/2024 2:01 pm, Jan Beulich wrote:
> revert "x86/mm: re-implement get_page_light() using an atomic increment"
>
> This reverts commit c40bc0576dcc5acd4d7e22ef628eb4642f568533.
>
> That change aimed at eliminating an open-coded lock-like construct,
> which really isn't all that similar to, in particular, get_page(). The
> function always succeeds. Any remaining concern would want taking care
> of by placing block_lock_speculation() at the end of the function.
> Since the function is called only during page (de)validation, any
> possible performance concerns over such extra serialization could
> likely be addressed by pre-validating (e.g. via pinning) page tables.
>
> The fundamental issue with the change being reverted is that it detects
> bad state only after already having caused possible corruption. While
> the system is going to be halted in such an event, there is a time
> window during which the resulting incorrect state could be leveraged by
> a clever (in particular: fast enough) attacker.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:30:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714066.1115046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1R5j-0003ww-88; Mon, 29 Apr 2024 13:30:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714066.1115046; Mon, 29 Apr 2024 13:30:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1R5j-0003wp-5N; Mon, 29 Apr 2024 13:30:47 +0000
Received: by outflank-mailman (input) for mailman id 714066;
 Mon, 29 Apr 2024 13:30: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1R5h-0003wj-DZ
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:30:45 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id adcea4de-062c-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 15:30:43 +0200 (CEST)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-34b3374ae22so4795188f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06:30: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
 cg3-20020a5d5cc3000000b00349bd105089sm29377409wrb.47.2024.04.29.06.30.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 06:30: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: adcea4de-062c-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714397443; x=1715002243; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZEl5SX90lT6ATuQBWsSuBAraCZE6UPsz8QOfZAzW5YE=;
        b=OZF2qzSgngtrHeJ3PIo/oznnuqE+W3XXH8DzGa2u1FAONxX7IY5+q4UcJBwav/aS3e
         T7mVBxXDzmRmPf9Cgglll9C1KlU0axU9Ilp1ooS6n9vGSRF1q9tHcAw70Ie95P1Ez/bo
         D+c9w+uDy56aohlC7UTfx//iBvasomc4oko+JasC8xh7qnFUEHHuzcA/6J5hkKNhHlPl
         6SjLPUkj/Pq0v70Jrtg/WZKunpadyHoH0JEafEoGnWmX7WIOZH3/4l7b7psORFQVfK4X
         RCfVWn86k7g8WYEDd3aXPivzTWksN5xKgEaAWt11Qg+6v4pcEXqYyURYKunDC6wzELMu
         pdMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714397443; x=1715002243;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ZEl5SX90lT6ATuQBWsSuBAraCZE6UPsz8QOfZAzW5YE=;
        b=YXHEGJcvsoh3wCGmyjJOc09O4Av/v68TIMoTGWoAP6knONnbAhLpnqkSZpBu0i24KM
         Fcefk4ekfshzuiWE6tZufY1YRtXxWm98d/EM2uMn9SNWm/zuaqRi34TGc5buZ6yrATZu
         ZbGUGM4Knb9bJ19F11uJJwuibawHrFpAXRU797IlQFL4khKuHYKn7rQAAjjlf7DKDft3
         4C+1ZlaHyvxPy5YccpPGypF12VikfBQDBlcPDq4yoicwhKJRF0Wl99NSE6T2qOZAORiI
         G/LAhJOkmdwNXtE3Bf9bSc6qCiqcyJ3SjeTXIfqix08UXbD+1/5QtQ17FuZHaH4sbk5s
         5CEg==
X-Forwarded-Encrypted: i=1; AJvYcCVO/Ga+Vy+xvUcTnZDihK1IVELK0zdQ6pW2dJ6M4nqFDvk13B9fdxjPQU/Drl7/1tsny7H5noMnvNJOSxXl3CwYuKA0LOJDsPi0FzaD5qk=
X-Gm-Message-State: AOJu0YyQlRB5/ZJlqU0HDMe8/8ekqRrma65rh5y+k3CV05y9aVrAdGeh
	H9lJllVhksDft9QF0oeJCni68/DJPnE9rTd+1+aTTSk4sE4clZgqpEkF5TqhXw==
X-Google-Smtp-Source: AGHT+IFdv607PeM41nHnZFh1o7wMVv8fdiUq8cmPumRQGsE0B7SdRBszsijm8iC0WeEvTR6tlCG+wA==
X-Received: by 2002:a5d:6d83:0:b0:34c:d9f5:c5e0 with SMTP id l3-20020a5d6d83000000b0034cd9f5c5e0mr4786167wrs.53.1714397443233;
        Mon, 29 Apr 2024 06:30:43 -0700 (PDT)
Message-ID: <7ffd4293-e0fb-4ba1-b538-7ad44a2897ce@suse.com>
Date: Mon, 29 Apr 2024 15:30:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/riscv: improve check-extension() macro
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <6f37ce6b115b682118a8332b2a81b49358c88587.1714144943.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6f37ce6b115b682118a8332b2a81b49358c88587.1714144943.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.04.2024 17:23, Oleksii Kurochko wrote:
> Now, the check-extension() macro has 1 argument instead of 2.
> This change helps to reduce redundancy around usage of extensions
> name (in the case of the zbb extension, the name was used 3 times).
> 
> To implement this, a new variable was introduced:
>   <extension name>-insn
> which represents the instruction support that is being checked.
> 
> Additionally, zbb-insn is updated to use $(comma) instead of ",".

Which is merely just-in-case, I suppose, but not strictly necessary
anymore?

> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Suggested-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Just as a remark: Tags want to be put in chronological order.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:38:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:38:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714075.1115057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RD0-00052W-1o; Mon, 29 Apr 2024 13:38:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714075.1115057; Mon, 29 Apr 2024 13: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 1s1RCz-00052P-VI; Mon, 29 Apr 2024 13:38:17 +0000
Received: by outflank-mailman (input) for mailman id 714075;
 Mon, 29 Apr 2024 13: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1RCz-00052H-9k
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:38:17 +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 bb6ae1cb-062d-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 15:38:16 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-346b96f1483so2399092f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06: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
 je4-20020a05600c1f8400b0041c7ac6b0ffsm1124181wmb.37.2024.04.29.06.38.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 06: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: bb6ae1cb-062d-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714397895; x=1715002695; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qnaB0ScdITi7wiStqPk3K/EL5SZNLMoz01hmUmnGLlY=;
        b=SajM7PZOzUx2FJOQE4/lIzZFb+Hs6pCdFekfY/VpbtvFS7OLYStK3G4izg0LvTgwRB
         tMs7qLbzFbSncZEl1LtT0VUgQlKUDofYyhi1m7eKnWtBUvZjArQwLbq/0zesqvBVOGzb
         /bmQe+EmY4OpsZkUy30+oLc+Cq3Zv4hAdouOfGvnFUceAS+tfn1rYe0qRI2Fsb0H5+pk
         PifJlYgJ5YENjzF+xUWfoy2Hx3fVO7CUJGuMOJLc5o/ns1AywlXQcy5JKEqbNiSSoJWg
         VjI4WOc+huh79dO4PdKMGNlfWFbu3uVJ7M/QxeiEMeNhEKYR1+6R46H7slqrLF7xBm6c
         SsVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714397895; x=1715002695;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qnaB0ScdITi7wiStqPk3K/EL5SZNLMoz01hmUmnGLlY=;
        b=djk3gSVQ3ovi8GJXFvhyPqCXjK4qlVON/QuMLJ6zCVvpjtVnjOpdHNnVICAL/SvIel
         wmYzTV8bA8MCFJAtJh1FK2JvxUNVK7v2p0dymcBuIEuImXK+rqg4B7jnuTBAnMwzkKfL
         4sKe/pw7ewOHuTUZzORvDht7mpmxH/K69BQRnI4jLYgqdIeLqNtlZpP1E7IrIQ4GPByd
         UqpbZHreCNLi64Nela5a8GMp1D1nFPpIqL+36ApUnY4c3CzkEe3bnW3+OkPquij22XSg
         BI/myfR8gpk8ya88lCzOcZPl8VrGGwL3MrGpL7QSnSnBjdKeqvTY00nb5koQikZKw4m1
         LMaQ==
X-Forwarded-Encrypted: i=1; AJvYcCUzBZlEERfecl29LlU/X3UdBVElQbYlPSVa5s9V69OZrzv0ZctfgYi7neRTcBNFwES0J3o1SGSqxeSnsMBKgrrGyO0SIEHkGWkgHua6JAE=
X-Gm-Message-State: AOJu0YzgcRYheUAMf6V23g1GHl+zxLtCvYx/dC8Mup0Xc5szzJfF9swR
	5+w6n/vtj5SGlKGFs9IMPpw1tZiYEhqU8CrmjKD7GLwbRfEBfouN7U00nHINpA==
X-Google-Smtp-Source: AGHT+IEINkQqDGS6GjgZvVjKKgOmCJLUrXaGFogUcLrWsu+yVpe/xWxRHGX8rj/TzrIjVka5zZJHQw==
X-Received: by 2002:a05:6000:70e:b0:34c:b7e7:cac0 with SMTP id bs14-20020a056000070e00b0034cb7e7cac0mr6896004wrb.20.1714397895490;
        Mon, 29 Apr 2024 06:38:15 -0700 (PDT)
Message-ID: <31f2dd75-4217-4110-8577-78fb77082299@suse.com>
Date: Mon, 29 Apr 2024 15:38:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 06/17] xen/riscv: introduce cmpxchg.h
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <6e068a2531f3ecbb7858739ecb5249d22ee01fff.1713347222.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6e068a2531f3ecbb7858739ecb5249d22ee01fff.1713347222.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 12:04, Oleksii Kurochko wrote:
> +/*
> + * This function doesn't exist, so you'll get a linker error
> + * if something tries to do an invalid xchg().
> + */
> +extern void __bad_xchg(volatile void *ptr, int size);
> +
> +static always_inline unsigned long __xchg(volatile void *ptr, unsigned long new, int size)
> +{
> +    unsigned long ret;
> +
> +    switch ( size )
> +    {
> +    case 1:
> +        ret = emulate_xchg_1_2((volatile uint8_t *)ptr, new, ".aq", ".aqrl");
> +        break;
> +    case 2:
> +        ret = emulate_xchg_1_2((volatile uint16_t *)ptr, new, ".aq", ".aqrl");
> +        break;
> +    case 4:
> +        _amoswap_generic((volatile uint32_t *)ptr, new, ret, ".w.aqrl");
> +        break;
> +#ifndef CONFIG_RISCV_32
> +    case 8:
> +        _amoswap_generic((volatile uint64_t *)ptr, new, ret, ".d.aqrl");
> +        break;
> +#endif
> +    default:
> +        __bad_xchg(ptr, size), ret = 0;
> +    }

I see no real reason to use a comma expression here, the more that "break"
needs adding anyway. I wonder why here you don't use ...

> +/* This function doesn't exist, so you'll get a linker error
> +   if something tries to do an invalid cmpxchg().  */
> +extern unsigned long __bad_cmpxchg(volatile void *ptr, int size);
> +
> +/*
> + * Atomic compare and exchange.  Compare OLD with MEM, if identical,
> + * store NEW in MEM.  Return the initial value in MEM.  Success is
> + * indicated by comparing RETURN with OLD.
> + */
> +static always_inline unsigned long __cmpxchg(volatile void *ptr,
> +                                             unsigned long old,
> +                                             unsigned long new,
> +                                             int size)
> +{
> +    unsigned long ret;
> +
> +    switch ( size )
> +    {
> +    case 1:
> +        ret = emulate_cmpxchg_1_2((volatile uint8_t *)ptr, old, new,
> +                                  ".aq", ".aqrl");
> +        break;
> +    case 2:
> +        ret = emulate_cmpxchg_1_2((volatile uint16_t *)ptr, old, new,
> +                                   ".aq", ".aqrl");
> +        break;
> +    case 4:
> +        ret = _generic_cmpxchg((volatile uint32_t *)ptr, old, new,
> +                          ".w.aq", ".w.aqrl");
> +        break;
> +#ifndef CONFIG_32BIT
> +    case 8:
> +        ret = _generic_cmpxchg((volatile uint64_t *)ptr, old, new,
> +                           ".d.aq", ".d.aqrl");
> +        break;
> +#endif
> +    default:
> +        return __bad_cmpxchg(ptr, size);

... the approach used here.

Also (style nit) the comment on __bad_cmpxchg() is malformed, unlike that
ahead of __bad_xchg().

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:42:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:42:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714081.1115076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RHQ-0006jJ-PS; Mon, 29 Apr 2024 13:42:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714081.1115076; Mon, 29 Apr 2024 13:42:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RHQ-0006jC-Mj; Mon, 29 Apr 2024 13:42:52 +0000
Received: by outflank-mailman (input) for mailman id 714081;
 Mon, 29 Apr 2024 13:42: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=UNw/=MC=cloud.com=matthew.barnes@srs-se1.protection.inumbo.net>)
 id 1s1RHP-0006Ul-6a
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:42:51 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e21342a-062e-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 15:42:49 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-343e46ec237so3808001f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06:42:49 -0700 (PDT)
Received: from EMEAENGAAD91498.citrite.net
 (default-46-102-197-201.interdsl.co.uk. [46.102.197.201])
 by smtp.gmail.com with ESMTPSA id
 f2-20020a5d50c2000000b0034c5b28c264sm8530404wrt.16.2024.04.29.06.42.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 06:42: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: 5e21342a-062e-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714398168; x=1715002968; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GPqHn0dROWWlXbauIG0GZlybXJNpXzvYnmQkiXmKdag=;
        b=Y7mzQaickKA/96c18jM72TBpHtdS4VD/64OubHzTkEbYF5t9a9R9Lk0vd76U0UmvM4
         wNkoGdxaIPatndRBH0M6paWjcrtrodsJNEAqidrO1oB39TfyC0s8jL5Yy+PCTE+2QnvR
         0WmDRuQjZAXEh19CXUxj8hm7WjftqtasB95UI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714398168; x=1715002968;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GPqHn0dROWWlXbauIG0GZlybXJNpXzvYnmQkiXmKdag=;
        b=IUCaqMVPx0TtQqo7IulJfm6qQN/PqJHIlBgvT4DavWhP9g1u9gR4QtpL6JPndVR0p1
         K4ACSMWLwQNHFwqRlJ9SdzWvW8KgwWJYT1GbnmEKNeGOJ7+QvgT6BL1zkiDiAVNhNRDa
         5Ghld7OsB5XjDZzf/QzBiR379orjTPXMAmKQWPWKn5ZxD2tGFwWaxVewZCOBADJeRAFK
         5qm98gBOKz2uWyKDGamUR1C9VLlLX19ZcfnuUWFGDo78m+u4eXf9RsoxNlbzU8mxdLdG
         fmXAZ8rUGjxCgOOP6mAFogJWyt1Yx1QyXqZy2cYJWyBNMeBS+UrmRJLkJAKwZIXh5AUk
         KcQA==
X-Gm-Message-State: AOJu0YxryRG6Nbz2CRyMXfB/8uTM9FtzntHSYkQ/1+ENz/20hi3KUbvK
	+FRpmfM2/d6R1NNo5DxykJ3mCJbuNiDvxbuVDP8TUervPLVONgwuACJB8sDEdcRnPMyNt0tAalv
	+
X-Google-Smtp-Source: AGHT+IHahA4exGqGIr2Dz6YoO3IIAkAZOLXXSZT7eEQyuZVqKpnA7eN6sAKil+iHoNkGOMPdYbuqEA==
X-Received: by 2002:a5d:64a4:0:b0:34d:1a30:1e48 with SMTP id m4-20020a5d64a4000000b0034d1a301e48mr2308587wrp.21.1714398168394;
        Mon, 29 Apr 2024 06:42:48 -0700 (PDT)
From: Matthew Barnes <matthew.barnes@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Matthew Barnes <matthew.barnes@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 1/2] evtchn: Add error status indicators for evtchn_status hypercall
Date: Mon, 29 Apr 2024 14:42:41 +0100
Message-Id: <2f9544433fd9bb5c4b7ccccbacc27bc928f57dfb.1714148012.git.matthew.barnes@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714148012.git.matthew.barnes@cloud.com>
References: <cover.1714148012.git.matthew.barnes@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When the evtchn_status hypercall fails, it is not possible to determine
the cause of the error, since the library call returns -1 to the tool
and not the errno.

Because of this, lsevtchn is unable to determine whether to continue
event channel enumeration upon an evtchn_status hypercall error.

Add error status indicators for the eventchn_status hypercall for
lsevtchn to terminate its loop on, and keep other errors as failed
hypercalls.

Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
---
 xen/common/event_channel.c         | 12 +++++++++++-
 xen/include/public/event_channel.h |  2 ++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
index aceee0695f9f..0f11e71c3e6f 100644
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -1030,7 +1030,17 @@ int evtchn_status(evtchn_status_t *status)
 
     d = rcu_lock_domain_by_any_id(dom);
     if ( d == NULL )
-        return -ESRCH;
+    {
+        status->status = EVTCHNSTAT_dom_invalid;
+        return 0;
+    }
+
+    if ( !port_is_valid(d, port) )
+    {
+        status->status = EVTCHNSTAT_port_invalid;
+        rcu_unlock_domain(d);
+        return 0;
+    }
 
     chn = _evtchn_from_port(d, port);
     if ( !chn )
diff --git a/xen/include/public/event_channel.h b/xen/include/public/event_channel.h
index 0d91a1c4afab..29cbf43945b3 100644
--- a/xen/include/public/event_channel.h
+++ b/xen/include/public/event_channel.h
@@ -200,6 +200,8 @@ struct evtchn_status {
 #define EVTCHNSTAT_pirq         3  /* Channel is bound to a phys IRQ line.   */
 #define EVTCHNSTAT_virq         4  /* Channel is bound to a virtual IRQ line */
 #define EVTCHNSTAT_ipi          5  /* Channel is bound to a virtual IPI line */
+#define EVTCHNSTAT_dom_invalid  6  /* Given domain ID is not a valid domain  */
+#define EVTCHNSTAT_port_invalid 7  /* Given port is not within valid range   */
     uint32_t status;
     uint32_t vcpu;                 /* VCPU to which this channel is bound.   */
     union {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:42:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:42:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714082.1115081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RHR-0006ln-1R; Mon, 29 Apr 2024 13:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714082.1115081; Mon, 29 Apr 2024 13:42:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RHQ-0006lO-Ty; Mon, 29 Apr 2024 13:42:52 +0000
Received: by outflank-mailman (input) for mailman id 714082;
 Mon, 29 Apr 2024 13:42: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=UNw/=MC=cloud.com=matthew.barnes@srs-se1.protection.inumbo.net>)
 id 1s1RHP-0006Ul-SN
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:42:51 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e912b64-062e-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 15:42:49 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-346b96f1483so2402924f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06:42:49 -0700 (PDT)
Received: from EMEAENGAAD91498.citrite.net
 (default-46-102-197-201.interdsl.co.uk. [46.102.197.201])
 by smtp.gmail.com with ESMTPSA id
 f2-20020a5d50c2000000b0034c5b28c264sm8530404wrt.16.2024.04.29.06.42.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 06:42: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: 5e912b64-062e-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714398169; x=1715002969; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Y7z726VbGboV43t8nEqdtfREavwTzKooElDgc93ukhU=;
        b=LOIp7wc24ZptYFYz8QWEwv8+pqSViQ9xykuPbnWdqG0hNMiaEjUZoVBzPLpA9+8Ur2
         wcwJkkPpf4q9dq6pY+VTeDcExjcxaj8FfJsgJMP/mXAXZR5digeaFQnA+WYdJhH2jaEX
         /iRIE3PtiE5bcrADsDNXVDSRTV+7tfczS0X1I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714398169; x=1715002969;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Y7z726VbGboV43t8nEqdtfREavwTzKooElDgc93ukhU=;
        b=YzBOpWsO0blFt+E/zKkwiLMj8rWbsPwCo4eO4dUQueeUaRBbMveXRmqubqBlymzrqr
         F/cKeDACnqMY8RW3Tda3YmJulgIiEEr3+fbyrxAfJn37zk3qhS4ExOu7b/sMZ/FzVhSL
         haXQHb5wpEbG57HgSlrJjDNUoYSvOJ7GrFEQNs7djO6l76vRWeqwGLL2MGxSKCHKQpwh
         m4Q3MbQWIsEWdUM3cQ3cWVGPfuc4maNbEtGP7kLJJ471ym4MWJSl7BNt19WO6CHFfhm3
         hXNb+OGibBb98LmC65NJdM+tsNQkwnQla9NarNTWyn2i1imHv+SDZAD/f53J+dspwX/Z
         35NA==
X-Gm-Message-State: AOJu0YwJHqd8DwJTou1Im1FhzIWigqoI596Pov5isP3mUKyskiKfLuU9
	eqHQzRwidUMp8/pe2uO/1Yr2tlvgyNWV/6NKw+cQE2sXvzAd76V9LqNICUr6VNDlzcVZol3A2Hi
	+
X-Google-Smtp-Source: AGHT+IHlUjjSE7LEnN3jRtwdG59ObMZHUaWo4/aiHbW6pTFes1yk3qYVLIAc0KTyx+Kra3j2j0Zj7g==
X-Received: by 2002:adf:e912:0:b0:34c:e1c2:6281 with SMTP id f18-20020adfe912000000b0034ce1c26281mr3688500wrm.2.1714398169099;
        Mon, 29 Apr 2024 06:42:49 -0700 (PDT)
From: Matthew Barnes <matthew.barnes@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Matthew Barnes <matthew.barnes@cloud.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH v2 2/2] tools/lsevtchn: Use new status identifiers in loop
Date: Mon, 29 Apr 2024 14:42:42 +0100
Message-Id: <83f66a419e0df15d23f0dd8e1e5680658d0c136d.1714148012.git.matthew.barnes@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714148012.git.matthew.barnes@cloud.com>
References: <cover.1714148012.git.matthew.barnes@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

lsevtchn terminates the loop when the hypercall returns an error, even
if there are still event channels with higher port numbers to be
enumerated over.

Continue the loop even on hypercall errors, and use the new status
identifiers for the evtchn_status hypercall, namely "port invalid" and
"domain invalid", to determine when to break the loop.

Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
---
 tools/xcutils/lsevtchn.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/xcutils/lsevtchn.c b/tools/xcutils/lsevtchn.c
index d1710613ddc5..4a48620cd72a 100644
--- a/tools/xcutils/lsevtchn.c
+++ b/tools/xcutils/lsevtchn.c
@@ -24,11 +24,20 @@ int main(int argc, char **argv)
         status.port = port;
         rc = xc_evtchn_status(xch, &status);
         if ( rc < 0 )
-            break;
+            continue;
 
         if ( status.status == EVTCHNSTAT_closed )
             continue;
 
+        if ( status.status == EVTCHNSTAT_dom_invalid )
+        {
+            printf("Domain ID '%d' does not correspond to valid domain.\n", domid);
+            break;
+        }
+
+        if ( status.status == EVTCHNSTAT_port_invalid )
+            break;
+
         printf("%4d: VCPU %u: ", port, status.vcpu);
 
         switch ( status.status )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:42:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:42:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714080.1115067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RHP-0006Uy-Is; Mon, 29 Apr 2024 13:42:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714080.1115067; Mon, 29 Apr 2024 13:42: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 1s1RHP-0006Ur-Fg; Mon, 29 Apr 2024 13:42:51 +0000
Received: by outflank-mailman (input) for mailman id 714080;
 Mon, 29 Apr 2024 13:42:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UNw/=MC=cloud.com=matthew.barnes@srs-se1.protection.inumbo.net>)
 id 1s1RHO-0006Uf-LD
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:42:50 +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 5df28b75-062e-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 15:42:48 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-34d1adeffbfso663918f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06:42:48 -0700 (PDT)
Received: from EMEAENGAAD91498.citrite.net
 (default-46-102-197-201.interdsl.co.uk. [46.102.197.201])
 by smtp.gmail.com with ESMTPSA id
 f2-20020a5d50c2000000b0034c5b28c264sm8530404wrt.16.2024.04.29.06.42.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 06:42: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: 5df28b75-062e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714398168; x=1715002968; 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=N3TxYXr1x3lYaHF0ahI/SsLJ8fWwnHYXKuaNTpb18X8=;
        b=JJbkrIBMTE/UFrTA5tbhyk8sMPWWzsTSjp/lwGwbMCt48I0jhPqmpJ6gMlUG+u8B1f
         KmbnvDHWp6iKAfw02mV9e7o/yo4E8FbAh2SWpWgztwxXcr2AxsBLuK+gb3DbnPTJcwpF
         gbmjXIyNmMfNTNuXe3Alm4TVJBvyD12wr+mh0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714398168; x=1715002968;
        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=N3TxYXr1x3lYaHF0ahI/SsLJ8fWwnHYXKuaNTpb18X8=;
        b=clfWWyCi0bloX39Jy0iB3AMoG/zJtfjYvDjQQUDbCaqxR40sDPd7NqLm7rGLS4UM35
         PT4azvMj/zRC+VNvy3VuBKL56jKZm+fJ2UtNra5ZscGrLqMyENnQbzw7zofnS4onbGle
         Wl/C1Et++qnGlcqEr6KXQGcMzZh7NHWU7pBfnNlAMscNQ8n7//5h02GpUNZvuAAzD/uW
         7e4p0tKx4Pp97xjOg7XDGm7XVJY9q/peDQtiHu49GDV83qlr8KxmhRlhiUO5L6KOEDNY
         egS+qqdQQrdqYt9V/ToE5de+y5E0hqa0t4Q7eHzi/4BkQ4XUSFN6rfvWGN2rxUtASPhA
         6uOA==
X-Gm-Message-State: AOJu0YwigNPpZSWaDY25ShbUoj7QTO9UBuOjkuT6paWdjtsIBcby2xyJ
	4SjStEKZverh9Lhi/i+tjemTkEvL+T40M8HgQEBGGiXc3FRotgJfFeHU73jzl8iq6sqYFNEr3HY
	k
X-Google-Smtp-Source: AGHT+IFdumLxgtxqGQQzgSMf/EEKHcD+pLmBjI+56fwS4+Ce6LabRtiqHaOr7A6Ne2YYbFhNjOKYPQ==
X-Received: by 2002:a5d:68c8:0:b0:34c:98dc:e6d0 with SMTP id p8-20020a5d68c8000000b0034c98dce6d0mr4306850wrw.20.1714398167874;
        Mon, 29 Apr 2024 06:42:47 -0700 (PDT)
From: Matthew Barnes <matthew.barnes@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Matthew Barnes <matthew.barnes@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [XEN PATCH v2 0/2] Enumerate all allocated evtchns in lsevtchn
Date: Mon, 29 Apr 2024 14:42:40 +0100
Message-Id: <cover.1714148012.git.matthew.barnes@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, lsevtchn aborts its event channel enumeration when it hits
its first hypercall error, namely:
* When an event channel doesn't exist at the specified port
* When the event channel is owned by Xen

This results in lsevtchn missing potential relevant event channels with
higher port numbers, since lsevtchn cannot determine the cause of
hypercall errors.

This patch adds error status indicators for the evtchn_status hypercall
for when no further event channels will be yielded for higher port
numbers, allowing lsevtchn to terminate when all event channels have
been enumerated over.

Matthew Barnes (2):
  evtchn: Add error status indicators for evtchn_status hypercall
  tools/lsevtchn: Use new status identifiers in loop

 tools/xcutils/lsevtchn.c           | 11 ++++++++++-
 xen/common/event_channel.c         | 12 +++++++++++-
 xen/include/public/event_channel.h |  2 ++
 3 files changed, 23 insertions(+), 2 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 13:46:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 13:46:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714092.1115098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RKO-0008JE-HR; Mon, 29 Apr 2024 13:45:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714092.1115098; Mon, 29 Apr 2024 13:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RKO-0008J7-Cm; Mon, 29 Apr 2024 13:45:56 +0000
Received: by outflank-mailman (input) for mailman id 714092;
 Mon, 29 Apr 2024 13:45:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1RKN-0008Iu-0v
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 13:45:55 +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 ca492b50-062e-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 15:45:50 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2e0933d3b5fso9578271fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 06: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
 l37-20020a05600c1d2500b004186f979543sm45733733wms.33.2024.04.29.06.45.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 06: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: ca492b50-062e-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714398350; x=1715003150; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=npgRm/il250DGBtQl0/foIbFoH+2f7sUn/Rdpdevxc0=;
        b=YUva6QljurBg3udIUiG/leVmmRzBeWiWRE9a9qasid4/xEpozk2lWkdGUa2flcq8Wj
         1KVBUewLiCE0TZ4la0YieJdKr4KzKa/VMjjTvtSRUZUsRyif/eVGIxGUM3bGMHwtCGTd
         7xDjI4baNHPP0dpXdmZK8VxQFIKVKcqSBjWFWy/w4uLNcmDDMFr8gwartNt0e/p3NYhL
         yZ/y+PUY9/1R1snyo/I1L9tbV4fgtYYOoZk4jC/ap0kqiuHiwLvsEYcQw3cBViJN44Y6
         9lS9zeJJynxxpN4BSCzwrg5oVOQwpyJYeDxJ+W891IHmMDc2H5Un4oBAyxKuyGiWfse0
         OtHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714398350; x=1715003150;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=npgRm/il250DGBtQl0/foIbFoH+2f7sUn/Rdpdevxc0=;
        b=k9Lz+vwhT+NrzvyBnngS2lFqhosTPBKOq/1GOKEZ4sq1FoLGTmPwgKmtxswcR/49zv
         +Xho9uW32fS5tZ/RYPKS+1QaB08KRuPpQgjrTc5EbISXBdcowMCS4oWdf4oUT6Y4Edki
         rNuX2/OHU8qP76GvtXpPM0wX+EGkvrjGKiaLDslZAUunkUICMpr5dcQ4+RxKTwMdWMxW
         vBNa9QOMo/uqBxe8cok0OEfq0qYqjWkXmrdi54uDhxHbIxqoMWhPn9dIXRv/Ea4rj36V
         0C3rhXZsEPA9jvTErZpn4ITzSi7kAQmkb8VNpvj6ulnos0QYY5UMvA4RUTSGOvVVu+ar
         RIrQ==
X-Forwarded-Encrypted: i=1; AJvYcCUmq7aBvUmTMxlCqTu4LUx8ZAUGhTGJvALsZeLxidMC1YxVIGlEkaIJSjE97M2m6poch8aHjx8QfUQi6wJoqT1lpdzkUdMz7CgisQHNgg4=
X-Gm-Message-State: AOJu0Yzu5c+5pbJNcv6lRAiLlDpPRijEh+S399KB0nt7Ki9qiqSMscq9
	zowLul7X9xo2mkpGiApwFSXlNu9tOzf/+xH+5oMty8+A7N+H+ZNHVjQT1fx06g==
X-Google-Smtp-Source: AGHT+IETS/ryuTlwFgkOSzY9pVpqqfGOYOkl/LWRYpfxYn/va+AVfFBV+s/9LNxJgtd+g7jDjOvvYQ==
X-Received: by 2002:a05:651c:b95:b0:2dd:93a9:123f with SMTP id bg21-20020a05651c0b9500b002dd93a9123fmr6115026ljb.15.1714398349865;
        Mon, 29 Apr 2024 06:45:49 -0700 (PDT)
Message-ID: <d40ec2a0-fb14-48f1-804b-9ef18f35b7d5@suse.com>
Date: Mon, 29 Apr 2024 15:45:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 08/17] xen/riscv: introduce atomic.h
Content-Language: en-US
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1713347222.git.oleksii.kurochko@gmail.com>
 <4967a5fcbef0901ef34d8954a48ded369b1ea2b1.1713347222.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4967a5fcbef0901ef34d8954a48ded369b1ea2b1.1713347222.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.04.2024 12:04, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/atomic.h
> @@ -0,0 +1,281 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Taken and modified from Linux.
> + *
> + * The following changes were done:
> + * - * atomic##prefix##_*xchg_*(atomic##prefix##_t *v, c_t n) were updated
> + *     to use__*xchg_generic()
> + * - drop casts in write_atomic() as they are unnecessary
> + * - drop introduction of WRITE_ONCE() and READ_ONCE().
> + *   Xen provides ACCESS_ONCE()
> + * - remove zero-length array access in read_atomic()
> + * - drop defines similar to pattern
> + *   #define atomic_add_return_relaxed   atomic_add_return_relaxed
> + * - move not RISC-V specific functions to asm-generic/atomics-ops.h
> + * 
> + * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
> + * Copyright (C) 2012 Regents of the University of California
> + * Copyright (C) 2017 SiFive
> + * Copyright (C) 2024 Vates SAS
> + */
> +
> +#ifndef _ASM_RISCV_ATOMIC_H
> +#define _ASM_RISCV_ATOMIC_H
> +
> +#include <xen/atomic.h>
> +
> +#include <asm/cmpxchg.h>
> +#include <asm/fence.h>
> +#include <asm/io.h>
> +#include <asm/system.h>
> +
> +void __bad_atomic_size(void);
> +
> +/*
> + * 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;
> +#ifndef CONFIG_RISCV_32
> +    case 8: *(uint32_t *)res = readq(p); break;
> +#endif
> +    default: __bad_atomic_size(); break;
> +    }
> +}
> +
> +#define read_atomic(p) ({                                   \
> +    union { typeof(*(p)) val; char c[sizeof(*(p))]; } x_;   \
> +    read_atomic_size(p, x_.c, sizeof(*(p)));                \
> +    x_.val;                                                 \
> +})
> +
> +static always_inline void _write_atomic(volatile void *p,
> +                                       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;
> +#ifndef CONFIG_RISCV_32
> +    case 8: writeq(x, p); break;
> +#endif
> +    default: __bad_atomic_size(); break;
> +    }
> +}
> +
> +#define write_atomic(p, x)                              \
> +({                                                      \
> +    typeof(*(p)) x_ = (x);                              \
> +    _write_atomic((p), x_, sizeof(*(p)));               \

Nit: There are still excess parentheses here.

> +    x_;                                                 \

Why is this? The macro isn't supposed to "return" a value, is it?

> +})
> +
> +static always_inline void _add_sized(volatile void *p,
> +                                     unsigned long x, unsigned int size)
> +{
> +    switch ( size )
> +    {
> +    case 1:
> +    {
> +        volatile uint8_t *ptr = (volatile uint8_t *)p;

Here and below: Why the casts?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 14:07:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 14:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714103.1115108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Rf5-0004Am-CU; Mon, 29 Apr 2024 14:07:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714103.1115108; Mon, 29 Apr 2024 14:07:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Rf5-0004Af-7p; Mon, 29 Apr 2024 14:07:19 +0000
Received: by outflank-mailman (input) for mailman id 714103;
 Mon, 29 Apr 2024 14:07: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1Rf3-0004AZ-TL
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 14:07:17 +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 c83fad58-0631-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 16:07:15 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2df83058d48so30641231fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 07:07: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
 e8-20020a05600c4e4800b0041bf7da4200sm7719713wmq.33.2024.04.29.07.07.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 07:07: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: c83fad58-0631-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714399635; x=1715004435; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wHrMCtjkgYJaxETiqT5C6GJzomsBeRYSTnV6O3Lel+E=;
        b=QQB2IyJzvjnpTrZVUyT+3XrXXFdcYcG23SLEqB3eY9e2PqeighvoDBdBgXORzIOmp2
         mgmYJwUknyIljEuG9ERaSCgnNMG0VTPoQW6ZZNwnoeZsrEP2y1ZYlgpi521YPFswNRu+
         4DJ/k7dSPgcjo607h0EfXOoDVSMf8RgNtb8SlIQ1DsdYQSRVZXS+F/eIeKompo4JtpeG
         yiDikdu1lX4boiax1L8RxUshLV1c0CzMBOnbANJj1RnRVKfz+HXHOK57pfAC7rutzviV
         42/HOQj1/TLlCEJ8oUfWWMm2wU1Fizrqe1QLTm/wi6t0S3eduxo379n/ak8gxqtuxpuH
         GejA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714399635; x=1715004435;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wHrMCtjkgYJaxETiqT5C6GJzomsBeRYSTnV6O3Lel+E=;
        b=LDebLVYhRm/WhSfwkB/BcJBAsjFkVZTv/rX/IMx4ybPw0/IwT53vLuZ+9zee+MKJca
         sHgbCrLkyB99eYUPcy8v8+HmDyQwkcf98DshjhA1TBeXfStYWZOqTI9Xsacrwg6XZhgj
         jfjT8gxqkW1chmGGDeOY8nnDnVeIdp7SvzBxrszw3pr3tfXBjvn0H2bSt2gg4Xpy3HTm
         pniRvtoccKvn8oWKx5qyjlBJxbEwJVSrYmgZxgIRkDsihdVaWF3OheC/w4GeY8r1Kd3D
         0/HfndLGJz3ADr1IAYDPuw+5RW3oSFlL1Noco14epRrH+3djhgj2yP8JRlFr/PeHzcQb
         gKpQ==
X-Forwarded-Encrypted: i=1; AJvYcCXO4nenAWFGC9B7Qb2go1fWGOEGLdrxsa4eTaTf1lZDkirbjzbQfFXNEeyT+FG9v0mdUQBHjRphojqPKeAlEvltG4OW06Q9CkGhM57z2J0=
X-Gm-Message-State: AOJu0YwcBvnKSmW3q6OkGM4yZVS0XccVdsX5wRou9emMkSkNr/FlkczU
	DVDXfazGRnbqzX3v/SmRfL2jNypgebMVN225MX+HO9VUF6Zv2hSEScJheo6Low==
X-Google-Smtp-Source: AGHT+IGaDl7737BQKYigAVMi3feamdn7ZQa7u3mUAbtwxqiyNsqewEAV/CkOUNRsnZuZxmAxkMJF0w==
X-Received: by 2002:a2e:8605:0:b0:2d8:4158:fa64 with SMTP id a5-20020a2e8605000000b002d84158fa64mr7129941lji.35.1714399634620;
        Mon, 29 Apr 2024 07:07:14 -0700 (PDT)
Message-ID: <6fc4097d-102e-4cee-bf19-b36d8cb9de2c@suse.com>
Date: Mon, 29 Apr 2024 16:07:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/8] gzip: refactor and expand macros
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-3-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: <20240424163422.23276-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 18:34, Daniel P. Smith wrote:
> This commit refactors macros into proper static functions. It in-place expands
> the `flush_output` macro, allowing the clear removal of the dead code
> underneath the `underrun` label.

But it's NEXTBYTE() which uses the label, not flush_output(). I'm actually
unconvinced of its expanding / removal.

> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -25,8 +25,6 @@ typedef unsigned char   uch;
>  typedef unsigned short  ush;
>  typedef unsigned long   ulg;
>  
> -#define get_byte()      (inptr < insize ? inbuf[inptr++] : fill_inbuf())
> -
>  /* Diagnostic functions */
>  #ifdef DEBUG
>  #  define Assert(cond, msg) do { if (!(cond)) error(msg); } while (0)
> @@ -52,10 +50,14 @@ static __init void error(const char *x)
>      panic("%s\n", x);
>  }
>  
> -static __init int fill_inbuf(void)
> -{
> -    error("ran out of input data");
> -    return 0;

I'm not convinced of the removal of this as a separate function. It only
calling error() right now could change going forward, so I'd at least
expect a little bit of a justification.

> +static __init uch get_byte(void) {

Nit: Brace goes on its own line. Also for (effectively) new code it would
be nice if __init (and alike) would be placed "canonically", i.e. between
type and identifier.

> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -119,6 +119,18 @@ static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";
>  
>  #endif /* !__XEN__ */
>  
> +/*
> + * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
> + * stream to find repeated byte strings.  This is implemented here as a
> + * circular buffer.  The index is updated simply by incrementing and then
> + * ANDing with 0x7fff (32K-1).
> + *
> + * It is left to other modules to supply the 32 K area.  It is assumed
> + * to be usable as if it were declared "uch slide[32768];" or as just
> + * "uch *slide;" and then malloc'ed in the latter case.  The definition
> + * must be in unzip.h, included above.

Nit: s/definition/declaration/ ?

> + */
> +#define wp outcnt
>  #define slide window
>  
>  /*
> @@ -150,21 +162,6 @@ static int inflate_dynamic(void);
>  static int inflate_block(int *);
>  static int inflate(void);
>  
> -/*
> - * The inflate algorithm uses a sliding 32 K byte window on the uncompressed
> - * stream to find repeated byte strings.  This is implemented here as a
> - * circular buffer.  The index is updated simply by incrementing and then
> - * ANDing with 0x7fff (32K-1).
> - *
> - * It is left to other modules to supply the 32 K area.  It is assumed
> - * to be usable as if it were declared "uch slide[32768];" or as just
> - * "uch *slide;" and then malloc'ed in the latter case.  The definition
> - * must be in unzip.h, included above.

Oh, an earlier comment just moves up. Is there really a need for this
extra churn?

> @@ -224,7 +221,7 @@ static const ush mask_bits[] = {
>      0x01ff, 0x03ff, 0x07ff, 0x0fff, 0x1fff, 0x3fff, 0x7fff, 0xffff
>  };
>  
> -#define NEXTBYTE()  ({ int v = get_byte(); if (v < 0) goto underrun; (uch)v; })
> +#define NEXTBYTE()  (get_byte()) /* get_byte will panic on failure */

Nit: No need for the outer parentheses.

> @@ -1148,8 +1135,8 @@ static int __init gunzip(void)
>      NEXTBYTE();
>      NEXTBYTE();
>  
> -    (void)NEXTBYTE();  /* Ignore extra flags for the moment */
> -    (void)NEXTBYTE();  /* Ignore OS type for the moment */
> +    NEXTBYTE();  /* Ignore extra flags for the moment */
> +    NEXTBYTE();  /* Ignore OS type for the moment */

In Misra discussions there were indications that such casts may need (re-)
introducing. Perhaps better leave this alone, the more when it's not
really fitting the patch's purpose?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 14:08:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 14:08:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714106.1115116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RgZ-0004iC-KO; Mon, 29 Apr 2024 14:08:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714106.1115116; Mon, 29 Apr 2024 14:08:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1RgZ-0004i5-Hq; Mon, 29 Apr 2024 14:08:51 +0000
Received: by outflank-mailman (input) for mailman id 714106;
 Mon, 29 Apr 2024 14:08:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1RgY-0004hx-8l
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 14:08:50 +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 ffe2459e-0631-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 16:08:48 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41c1b75ca31so9162015e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 07:08: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
 e8-20020a05600c4e4800b0041bf7da4200sm7719713wmq.33.2024.04.29.07.08.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 07:08: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: ffe2459e-0631-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714399728; x=1715004528; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qTTHoR6ZU9fHGDnULkOGFnNISjG4X83LTEHmIo5eNLs=;
        b=WDH5s3EyRpH0Pijob/93K+jEQPhOE6SS+zZK1Yac1s0bsxAj4ZDxQW3HOjyH9D057s
         EHKE3/xmO3KPZSpZTruDVrtU4DJND/dtXe/K02DmK673CSwCjlJxjx70iSfqX8QOTwix
         zBrUrgx+2ISibxVajIABwmfc2JQFsJq0BaaDh2zVLEQLTMvvUGjfpwaNZOQg5aT031O9
         enxnbB61YE/t/iTllr+YX3gtm5ocKG+EqIgOSSwr7Ld9MmkutdE3Nc7W0sNOr9/WKek5
         9dXNs3JtqmT+rX0/6SmZkhno39RNXAQrJy/eCvxzZejebgJ8FnjY/3aG38TwPInV6Syg
         qf4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714399728; x=1715004528;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qTTHoR6ZU9fHGDnULkOGFnNISjG4X83LTEHmIo5eNLs=;
        b=dqAk1bYpbSt/g65TTV8g+4p70B8OHN4C4lkPjtF3MaZbNf1OgBuhxiJq/0mPm0001b
         S50jIQhicITrj/uDWQmAt5g3HMu08yPR1Cs+lThgHWRNwYnz1M1ARdTBsb2g5BsykwWK
         6eux+8PAuSGV+sKOMLMYn7CRUrz37XYHHP2+zCGDiT7GOHmZnk0hhcP+bhvLlGXjRrZh
         LxwJEXBhgBlHRy1nnj7nVeS7CprPSk4dCHM+5zswmZsyeK4mvQjZJu7D9gPNUy4BTDYu
         n6BknzAYe+Ti3zdexb7etYFPXkIbLzVwxiEEXe6goSd2OQ1NQK25P+dFAYgI6wR4u1CK
         bqDw==
X-Forwarded-Encrypted: i=1; AJvYcCXLfb6eOW3b+6GSFQ+O8JvA1srJQ1OjzmopGsUoZE7w4K+/Qd/57qv/gsV1cBZ1VdlBxqsCh1quVvPGovmOgQo+nMXsfju/HFjXp7aKfdo=
X-Gm-Message-State: AOJu0YxWO+nY4fV9iUh/Flrqn2kKJm3W7fd77bXTk5Ea/l4MX1Lr1Xl8
	ofovjbQFdgfXMoVyFwJjr1fimrS6H9ehtRA7YIXpgfuAkb10gc6xqctfxnKPYA==
X-Google-Smtp-Source: AGHT+IH24wvQTXXocBQPg0b/JI8wTk3vMhMQSST/gVlrQiyDkspZPZ/hVj8R27gU5tlm9DMTcrre5A==
X-Received: by 2002:a05:600c:4f11:b0:419:87ab:f6db with SMTP id l17-20020a05600c4f1100b0041987abf6dbmr8277621wmq.23.1714399728362;
        Mon, 29 Apr 2024 07:08:48 -0700 (PDT)
Message-ID: <0e0bbe62-41e2-49c9-a850-1c80db641a8d@suse.com>
Date: Mon, 29 Apr 2024 16:08:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/8] gzip: move window pointer into gunzip state
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-5-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424163422.23276-5-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 18:34, Daniel P. Smith wrote:
> Move the window pointer, outcnt/wp, into struct gunzip_data. It was erroneously
> labeled as outcnt and then define aliased to wp, this eliminates the aliasing
> and only refers to as wp, the window pointer.
> 
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Apr 29 14:50:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 14:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714120.1115131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SKF-0003F7-Of; Mon, 29 Apr 2024 14:49:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714120.1115131; Mon, 29 Apr 2024 14: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 1s1SKF-0003F0-Lz; Mon, 29 Apr 2024 14:49:51 +0000
Received: by outflank-mailman (input) for mailman id 714120;
 Mon, 29 Apr 2024 14: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SKE-0003Eu-CF
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 14:49:50 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba13d23c-0637-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 16:49:49 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id
 d75a77b69052e-439dfa27003so26288431cf.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 07:49:49 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 m3-20020ac86883000000b004365bc5b9a2sm10418902qtq.33.2024.04.29.07.49.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 07:49:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba13d23c-0637-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402188; x=1715006988; 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=rQVwmGnw4AtV/5ML7zk73UyIDJQUeLuqoYN0ypngkvk=;
        b=tCkcgqSOD1De91iGnNDu/QGTvluJknu4x+4PqEeVE+5+PP/Tr7lv8hGCze0FawdIjH
         ER7crBFSC6N9JsVwPwj2QFbN4pr5TNYF/mqCsgxVNULfJ8tY+svh1QmUTgVgjTnPUHgn
         M/uxfH7Zmr4otvGOxrdIRAZGd1VAUUVThw7sU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402188; x=1715006988;
        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=rQVwmGnw4AtV/5ML7zk73UyIDJQUeLuqoYN0ypngkvk=;
        b=rPIiAE6EsxBkTnVYct2pRZfq/LZxx7+Cf5lcDzaKGG2FJmK8A1iXnFKuZ9kfSblJ9m
         +4aSkbPc8ujZZt9d+ktlAdi7XdcKqDLcv5lwdyFJtoGHdOc30fMcaL7+1kiqmDkDkoe2
         igyqlZknSk2hP0ba7/2EdlU4fkPfAdrSPLFlHCvcqaoTbtbt0oo7SoZ49ODHTVIVferY
         dwX2o/B7fgmkPHaFR/RwY3X+GMjjOvFr1jN9gMxg+6Wd35fCgZaLO2oF2T/vTxrszHmH
         NUvHmYJmEF7UYRyMqLjZykjZnSp1XihG+e65orwno+ZmFIWiyVsxojPsubHYEW1OoQuc
         WqJA==
X-Gm-Message-State: AOJu0YwEbMv19pIBwC5xPEONQrOHAGf3WRXjHjZ6O5RawBh+mijSTUlT
	aOshLO0UQRidtuUY41eJ+4mwQ+7SdiFd8lrZG2XUvMUscULgPUpqpfgDB/P7dds=
X-Google-Smtp-Source: AGHT+IG8MjdwnaQGJ1Sp4lZVMFzY9Z3ixMbiTVrFlWwL7A6BkY+WVrO6QCDX+3FW7EmIO0SbHxvxug==
X-Received: by 2002:a05:622a:344:b0:43a:7660:2114 with SMTP id r4-20020a05622a034400b0043a76602114mr8575280qtw.6.1714402188021;
        Mon, 29 Apr 2024 07:49:48 -0700 (PDT)
Date: Mon, 29 Apr 2024 16:49: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>,
	George Dunlap <george.dunlap@cloud.com>
Subject: Re: [PATCH] revert "x86/mm: re-implement get_page_light() using an
 atomic increment"
Message-ID: <Zi-zidVJKYAMKjzG@macbook>
References: <f54c05d4-b61d-4e26-8e93-6e1bdc22a1d4@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f54c05d4-b61d-4e26-8e93-6e1bdc22a1d4@suse.com>

On Mon, Apr 29, 2024 at 03:01:00PM +0200, Jan Beulich wrote:
> revert "x86/mm: re-implement get_page_light() using an atomic increment"
> 
> This reverts commit c40bc0576dcc5acd4d7e22ef628eb4642f568533.
> 
> That change aimed at eliminating an open-coded lock-like construct,
> which really isn't all that similar to, in particular, get_page(). The
> function always succeeds. Any remaining concern would want taking care
> of by placing block_lock_speculation() at the end of the function.
> Since the function is called only during page (de)validation, any
> possible performance concerns over such extra serialization could
> likely be addressed by pre-validating (e.g. via pinning) page tables.
> 
> The fundamental issue with the change being reverted is that it detects
> bad state only after already having caused possible corruption. While
> the system is going to be halted in such an event, there is a time
> window during which the resulting incorrect state could be leveraged by
> a clever (in particular: fast enough) attacker.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714124.1115142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUi-00062G-M6; Mon, 29 Apr 2024 15:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714124.1115142; Mon, 29 Apr 2024 15: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 1s1SUi-000629-JC; Mon, 29 Apr 2024 15:00:40 +0000
Received: by outflank-mailman (input) for mailman id 714124;
 Mon, 29 Apr 2024 15: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUg-00061u-OO
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:38 +0000
Received: from mail-vs1-xe2f.google.com (mail-vs1-xe2f.google.com
 [2607:f8b0:4864:20::e2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c9cb86d-0639-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:00:37 +0200 (CEST)
Received: by mail-vs1-xe2f.google.com with SMTP id
 ada2fe7eead31-47c5bf7aadaso172935137.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:37 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 pp6-20020a056214138600b006a0d7154d13sm325965qvb.78.2024.04.29.08.00.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08: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: 3c9cb86d-0639-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402836; x=1715007636; 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=XLDb+cZAz3TcRuYrTZgK4SE4NsryhjwmSdkiv3ZqfqQ=;
        b=Ag+qyr0E8zt5twJKiFcWebLkG2CAsJeEZ7x3Pa4DCAIB3gx/tqNhlQhgtNGFILbzwR
         gdEdV4663ytYnJvlGWrj9p8324ZTqDERqdFaS+SRGzUrkj+otoGyp40Dr9LoQn5PouNN
         +Mo3paWqQLzPwGQHMRNeJ4+g1z42L+Z7thcBs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402836; x=1715007636;
        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=XLDb+cZAz3TcRuYrTZgK4SE4NsryhjwmSdkiv3ZqfqQ=;
        b=UTcw6utCZm0fr6KJQbrtI3Mw5OCJhHmYOWvOe2mNItjW1pBkJFw+fR57mW+Q6/Zd/S
         VNfG8TbbGV5h4c2GsPB4U+42w9kj41p1dLoyIcK67/khdd+QCqqzTgAMXeJTCES0YG0R
         nHUFYof3GLs7KB2Uo7qz+Kpl1gyxQ7OlmTD1hJl9ncZ7rdgnItktxVYhWoa4T+VY6kR8
         mWenZK5kphp56aH0PouXm4Yz1kx7XT6SGuo4DdbF97bW9tCwsBTdWXzxXhIMgXXsmhB/
         0JRH0b/HDUFZ3QmK7ZhRKH/YbgP6r8CoELFMDjqNJjnfSyWcdLPESpRoPDH4NTTBPXtR
         pHHw==
X-Gm-Message-State: AOJu0YxNg3gqYzbxCAAkTrR1p4UpGpVPZZfBp9MwNbQEYp04as3fczof
	BF6eeZgRsIwP+NVSfq6OrdUOfqFPRwWTaNJVIMtlLWCxFPbMTm5I2+MPgRqMvaCHFkBNL+MCCV1
	p
X-Google-Smtp-Source: AGHT+IHSjOxOUkY89xDRJ34eGL8emqQ/UrLXNEvOMzFU34RV81b1VlUMQdzmYP5S5GZ5YmI3NC3BlA==
X-Received: by 2002:a67:fb51:0:b0:47b:f690:c8fc with SMTP id e17-20020a67fb51000000b0047bf690c8fcmr8549vsr.11.1714402834778;
        Mon, 29 Apr 2024 08:00:34 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 0/9] livepatch-build-tools: some bug fixes and improvements
Date: Mon, 29 Apr 2024 16:56:45 +0200
Message-ID: <20240429145654.71669-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The first 3 patches in the series attempt to fix some bugs, I don't
think they will be specially controversial or difficult to review (patch
1 was already posted standalone).

The rest of the patches are more convoluted, as they attempt to solve
some shortcomings when attempting to create livepatches that change
alternatives or exceptions.  For example a patch that only changes
content in alternative blocks (the code that ends up in the
.altinstr_replacement section) won't work, as create-diff-object will
report that there are no changes.

I've attempted to test as many corner cases as I could come up with, but
it's hard to figure all the possible changes, plus it's also fairly easy
to inadvertently regress existing functionality.

Thanks, Roger.

Roger Pau Monne (9):
  livepatch-build-tools: allow patch file name sizes up to 127
    characters
  create-diff-object: update default alt_instr size
  livepatch-build: fix detection of structure sizes
  create-diff-object: document kpatch_regenerate_special_section()
    behavior
  create-diff-object: move kpatch_include_symbol()
  create-diff-object: detect changes in .altinstr_replacement and .fixup
    sections
  create-diff-object: don't account for changes to .bug_frame.? sections
  create-diff-object: account for changes in the special section itself
  create-diff-object: account for special section changes

 create-diff-object.c | 196 +++++++++++++++++++++++++++++++++----------
 livepatch-build      |  12 ++-
 2 files changed, 161 insertions(+), 47 deletions(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714125.1115147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUi-000647-TJ; Mon, 29 Apr 2024 15:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714125.1115147; Mon, 29 Apr 2024 15: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 1s1SUi-00063k-Or; Mon, 29 Apr 2024 15:00:40 +0000
Received: by outflank-mailman (input) for mailman id 714125;
 Mon, 29 Apr 2024 15:00:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUh-00061u-Du
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:39 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d391801-0639-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:00:38 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-790f4650f93so114417085a.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:38 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 oo14-20020a05620a530e00b00790f6f8b03csm807879qkn.55.2024.04.29.08.00.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00: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: 3d391801-0639-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402837; x=1715007637; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CiR1avLNZwB2iaSZsLj5E6HA1txC8l+NaDpKGNZUIvI=;
        b=QqgEUupfH79KQGHsJaIJcWPjJCo+uJ04B+Pe+Ai/U1rJ1G4SBWpubL5jee4MGm/w7L
         i+7vYvCL5OsI2PwxZeIGYZU0E5lkAoLR12sTFAEsfX0A1pmRooHejk5QJskWF1gTfORL
         9bMMiUepGimMcVUUwwLorhEpSRxg1XSyepMds=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402837; x=1715007637;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CiR1avLNZwB2iaSZsLj5E6HA1txC8l+NaDpKGNZUIvI=;
        b=AQZ4oEAG/LlJr7tFo7UbiQjvdt3m/H7JoPGHt0WrryjxyICGRTB5Ehy2rT+D1UrCEs
         jD26MEYEOgbco8LhknRUmfsVIGXRlRHvFZ9iSSryfhviANCZfjIxeAsri1hX7MOvKtTy
         7BjaTKnM0zN8Vf3PBd0ZUsGK/D7Y7LYmVUemSLyr/u/WBV/u4wRykRCS9MiKLvNSMFzf
         QXTLwP2TYL5SBV+Zcbe8hXMA5AtOs9TIePCC5E8lgcxInmr3Z7UEdpG6buujc8AMIh58
         WpxfhR04E+vwOJdShbIvSEC/dEA29nm4CE5fs2/R0YE8pj1Lypx9lA9CVUwiEbDLun31
         RPhQ==
X-Gm-Message-State: AOJu0YxcQwYNXu6CGYVI7jNp8o57O/gGf+oYqq63Fs192usAp3Clrq3I
	hj6ndO3A0QpESUpsNUeREwnjLdPXRXJi/s6LyTpxI+78JRey9R2fU9Rcsxmfv0Ogefv/MCweSq3
	S
X-Google-Smtp-Source: AGHT+IHE66QaziwrLZLcC+gNcKROz5NfYV0txx1zAAT6J8hMJhKzbk7ohPvn/82BVbBB1YE+GHAibA==
X-Received: by 2002:a05:620a:a92:b0:790:96d4:7a5e with SMTP id v18-20020a05620a0a9200b0079096d47a5emr10944592qkg.12.1714402837340;
        Mon, 29 Apr 2024 08:00:37 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 1/9] livepatch-build-tools: allow patch file name sizes up to 127 characters
Date: Mon, 29 Apr 2024 16:56:46 +0200
Message-ID: <20240429145654.71669-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

XenServer uses quite long Xen version names, and encode such in the livepatch
filename, and it's currently running out of space in the file name.

Bump max filename size to 127, so it also matches the patch name length in the
hypervisor interface.  Note the size of the buffer is 128 character, and the
last one is reserved for the null terminator.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Take into account the null terminator.
---
 livepatch-build | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/livepatch-build b/livepatch-build
index 948b2acfc2f6..f3ca9399d149 100755
--- a/livepatch-build
+++ b/livepatch-build
@@ -72,8 +72,9 @@ function make_patch_name()
     fi
 
     # Only allow alphanumerics and '_' and '-' in the patch name.  Everything
-    # else is replaced with '-'.  Truncate to 48 chars.
-    echo ${PATCHNAME//[^a-zA-Z0-9_-]/-} |cut -c 1-48
+    # else is replaced with '-'.  Truncate to 127 chars
+    # (XEN_LIVEPATCH_NAME_SIZE - 1).
+    echo ${PATCHNAME//[^a-zA-Z0-9_-]/-} |cut -c -127
 }
 
 # Do a full normal build
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714126.1115162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUn-0006XM-8r; Mon, 29 Apr 2024 15:00:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714126.1115162; Mon, 29 Apr 2024 15:00:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUn-0006XF-5j; Mon, 29 Apr 2024 15:00:45 +0000
Received: by outflank-mailman (input) for mailman id 714126;
 Mon, 29 Apr 2024 15:00:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUl-0006Ve-Vo
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:43 +0000
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com
 [2607:f8b0:4864:20::72d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f2b3c33-0639-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:00:42 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-790605809cbso420317085a.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:42 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 pa2-20020a05620a830200b0078ede2e9125sm10422151qkn.57.2024.04.29.08.00.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00: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: 3f2b3c33-0639-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402840; x=1715007640; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SiQeSFoT/wXbOVQjeXcAWBiOE9S9/ogSwfjl5ofYfjE=;
        b=UJMh97+hl4Old0cahbYH5d+r4/9LYzJy9lgZ+VkqVojsktRGxB8PnHuTGbAWJsRr5S
         X2VEE6BqRmFR9Ns9R4Domwt3I4YfNrOGoKoRzwH6KnDURslxny8/iNoTVwnW6YpQBqap
         GR5UedV+qlLgu9rsN6hUVF/aU/ypHiG6759K8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402840; x=1715007640;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SiQeSFoT/wXbOVQjeXcAWBiOE9S9/ogSwfjl5ofYfjE=;
        b=cPydUbqrl3h/nBY97pEFSGgAfRwiwTOZyae4ivdTbjpnDCmoQiPI8mEK2QMoyI2ur1
         LTi8IjTHuULg7iwYA9SEpOgcWwt3EnyURcWpE+iIrZ8ftZgVp2gxsYknim3X9V+ofimz
         LAdM1Uzz3z7PnRGLcqV8y/fvHPUd2Ftd+4zNpSld8km3v/5n32XPBVwxh1f+Jyp+ZCFK
         d8UvOCEgh+BsyP/Tp4mi4pklKkLwJp89jfzjfyGYdw8qxifYLZzCRL464Fcy4i7Xxsa/
         F58WrnY4v9MyzTUfBVrBOSKQriUylItwU+76dnJLtyzEyGaLx9zxzq8NlAdv3z2togF5
         e3cA==
X-Gm-Message-State: AOJu0YwMpJaV9xj9bV7lByctIW1ZttVTYu1dyRnGdjWlhu3jlKteW9Id
	E6U6UcLTUijYZG7/rwYFqSoPgxOz1IFwm/utYJjCNb7JRer6NbV7e985bVcgXTJmw/9y1TTDg5R
	4
X-Google-Smtp-Source: AGHT+IGyzndRvqqRSoKqlx/mXjkWwqb7cfTC/no9JTMWUvvtw0nuLVnO4nxSXwkIu/HziZUgZD6Gxg==
X-Received: by 2002:a05:620a:1a16:b0:790:8926:a69e with SMTP id bk22-20020a05620a1a1600b007908926a69emr12973353qkb.74.1714402840107;
        Mon, 29 Apr 2024 08:00:40 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 2/9] create-diff-object: update default alt_instr size
Date: Mon, 29 Apr 2024 16:56:47 +0200
Message-ID: <20240429145654.71669-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The size of the alt_instr structure in Xen is 14 instead of 12 bytes, adjust
it.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/create-diff-object.c b/create-diff-object.c
index fed360a9aa68..d8a2afbf2774 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1000,7 +1000,7 @@ static int altinstructions_group_size(struct kpatch_elf *kelf, int offset)
 	char *str;
 	if (!size) {
 		str = getenv("ALT_STRUCT_SIZE");
-		size = str ? atoi(str) : 12;
+		size = str ? atoi(str) : 14;
 	}
 
 	log_debug("altinstr_size=%d\n", size);
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714127.1115171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUo-0006my-GV; Mon, 29 Apr 2024 15:00:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714127.1115171; Mon, 29 Apr 2024 15:00:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUo-0006mp-Dd; Mon, 29 Apr 2024 15:00:46 +0000
Received: by outflank-mailman (input) for mailman id 714127;
 Mon, 29 Apr 2024 15:00: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUm-00061u-Ic
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:44 +0000
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com
 [2607:f8b0:4864:20::82d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 404a482c-0639-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:00:43 +0200 (CEST)
Received: by mail-qt1-x82d.google.com with SMTP id
 d75a77b69052e-4376e3fd7e4so26387901cf.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:43 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 k3-20020ac81403000000b00434b1f4e371sm10390572qtj.13.2024.04.29.08.00.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00: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: 404a482c-0639-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402842; x=1715007642; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tIQL44q1facCYinF0oLLBfEQhZ81h9VJYnFL1TS4smQ=;
        b=ocfhCp3Eg4E1PPDLGCmfEtk61vZtapxxszL+gR/9/p6og6tIz1RMiQCFbqUbfV8Uri
         sMs/VaEzOWphg0kxzE1Ckw2s23BEsqp9Pieq/ZrUi7/9WfZekl54lE4ZgEbtBwAwFZvp
         Ok4Renic0ShephJOHlfTrNm9UJt/i1GMyYNOY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402842; x=1715007642;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tIQL44q1facCYinF0oLLBfEQhZ81h9VJYnFL1TS4smQ=;
        b=s/2hw6fjjNh0O431fPqeAkmT7fVTx/JkrLnb5Of6aBojDeCcdL+a/ZkV5iDXDDWRE5
         cQDPN0OpVr+4l83xtF00U5sfNVhu3RvdsISo8t58oUCXVPlQlIbQ5gP8fFFdSZQZWQNS
         jUgyOAzp9PTTJmwAdC0yz8avlVp7bu4DOR5xETLqZiXiRkBhPUd7HJ0mvkc7ZjfxLjjQ
         2UJdnKZ6AaVpp1aknr23dMyXgsnUJmBz2MkrQR4Y6gwW8SBiEprh46mfoyuqzF+X5HtL
         L4xGATUEVJoW0qXukc6wZevOXZmUte/9laBQwMxYkeRTjocVk1YPgqc6ZZ6suEIfNVld
         o9dg==
X-Gm-Message-State: AOJu0YzPDjNdlRgfuiMGDUZnDEUTYLJ/7IXS6qZF/PIFZTtQtKNJDr20
	8Lj8Rwj6SyeJ217Wz9IX+cHNQgHHciPes52t0rzelS0XHrdXzevRRJrQl0UwRfhVp5K8WBT+dqt
	C
X-Google-Smtp-Source: AGHT+IE7GahoqRxCd3aGn0U1XCVeiA/KWYl/oQDUK2088DWFjxKaP1VEXT07v9R6T974NWvCaqkJhw==
X-Received: by 2002:a05:622a:1921:b0:437:bcac:a770 with SMTP id w33-20020a05622a192100b00437bcaca770mr14426957qtc.55.1714402842435;
        Mon, 29 Apr 2024 08:00:42 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 3/9] livepatch-build: fix detection of structure sizes
Date: Mon, 29 Apr 2024 16:56:48 +0200
Message-ID: <20240429145654.71669-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current runes assume that in the list of DWARF tags DW_AT_byte_size will
come after DW_AT_name, but that's not always the case.  On one of my builds
I've seen:

    <b618>   DW_AT_name        : (indirect string, offset: 0x3c45): exception_table_entry
    <b61c>   DW_AT_declaration : 1
 <1><b61c>: Abbrev Number: 5 (DW_TAG_const_type)
    <b61d>   DW_AT_type        : <0xb617>
 <1><b621>: Abbrev Number: 14 (DW_TAG_pointer_type)
    <b622>   DW_AT_byte_size   : 8

Instead of assuming such order, explicitly search for the DW_AT_byte_size tag
when a match in the DW_AT_name one is found.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
All this ad hoc parsing of DWARF data seems very fragile.  This is an
improvement over the current logic, but I would still prefer if we could find a
more reliable way to obtain the struct sizes we need.
---
 livepatch-build | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/livepatch-build b/livepatch-build
index f3ca9399d149..aad9849f2ba9 100755
--- a/livepatch-build
+++ b/livepatch-build
@@ -427,9 +427,16 @@ if [ "${SKIP}" != "build" ]; then
     SPECIAL_VARS=$(readelf -wi "$OUTPUT/xen-syms" |
                awk '
                BEGIN { a = b = e = 0 }
+               # Ensure no fall through to the next tag without getting the size
+               (a == 1 || b == 1 || e == 1) && /DW_AT_name/ \
+                   {print "can not get special structure size" > "/dev/stderr"; exit 1}
                a == 0 && /DW_AT_name.* alt_instr/ {a = 1; next}
                b == 0 && /DW_AT_name.* bug_frame/ {b = 1; next}
                e == 0 && /DW_AT_name.* exception_table_entry/ {e = 1; next}
+               # Seek the line that contains the size
+               a == 1 && !/DW_AT_byte_size/ {next}
+               b == 1 && !/DW_AT_byte_size/ {next}
+               e == 1 && !/DW_AT_byte_size/ {next}
                # Use shell printf to (possibly) convert from hex to decimal
                a == 1 {printf("export ALT_STRUCT_SIZE=`printf \"%%d\" \"%s\"`\n", $4); a = 2}
                b == 1 {printf("export BUG_STRUCT_SIZE=`printf \"%%d\" \"%s\"`\n", $4); b = 2}
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714128.1115181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUr-00075K-PU; Mon, 29 Apr 2024 15:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714128.1115181; Mon, 29 Apr 2024 15: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 1s1SUr-00075D-Ly; Mon, 29 Apr 2024 15:00:49 +0000
Received: by outflank-mailman (input) for mailman id 714128;
 Mon, 29 Apr 2024 15:00: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUp-0006Ve-OF
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:47 +0000
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com
 [2607:f8b0:4864:20::72d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41a33aa5-0639-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:00:46 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-79100a90868so29299685a.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:46 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 sq18-20020a05620a4ad200b0078d5f7b9a2dsm10320819qkn.15.2024.04.29.08.00.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00: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: 41a33aa5-0639-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402845; x=1715007645; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TeOl9O7LDZ2iZGM+JQTgtPA8a4JFNTC4N89WNpXHObE=;
        b=AbX4Z1ySumGuZa8+qCmNrsXjCpHAlnA1/CDpcPoOjauCw+5v7kyIV52gXIfPHGfw9O
         ojMIAyZasCHDzKf/QwjlXILlRgXSONSlf6g9EmmmUUpj00qiwcpWRFLUAkHjzzE2w5j+
         PS5ACDHCoyZ04aD5Lkcuyg432mosTkTwkLgKQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402845; x=1715007645;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TeOl9O7LDZ2iZGM+JQTgtPA8a4JFNTC4N89WNpXHObE=;
        b=UUYHOcYT6SR2J4mAazNsJW0z9IN8OYt3fD5ZUn/v7Ei1dpDNZp+TtkbwdO+bqlkdeY
         +CfHkYNVnFAAk0l0dQrXoyOirJ/F/69LSkUaP38HuYclhi2cm8WRdv7Y5LkgItOmA651
         f0imXalOvMXWw4FX92Chv43/RMAnE8YeLXGSD50M/zxlAFzDI7YcdGPBVMpNnevmDU/k
         S6ldTgB8sxOCqUDAtFJAUZDnawRpL7Q1j2NyYU4Dw9BMnIxbRcC1nNEEzyK16tx10xUX
         MDQSEZyn22hj91QJbDWb9enjPOUVMMITyq1qKIMoAOonOSCjOXksxC51lbuymuT4Vn0e
         awsQ==
X-Gm-Message-State: AOJu0YzTivCrEpapfnUZEjHszPX1y71lvFvrrQxGu3e1AWopAi85VaC+
	zlaSAZJzUF/wcMsGusOtCU1mmnlKdoftCz2fiuJZVNb6D0CCvm3Wni8CcRpsXqDjWgugU2ooBH8
	w
X-Google-Smtp-Source: AGHT+IEQTaracmximP7j2sbFjK4X6UAk8BGjawiXJbZvQU35r2lCSidN0qLlCOK94Lpv7HSFuOQ2FA==
X-Received: by 2002:a05:620a:414b:b0:790:c677:545d with SMTP id k11-20020a05620a414b00b00790c677545dmr8130046qko.68.1714402844493;
        Mon, 29 Apr 2024 08:00:44 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 4/9] create-diff-object: document kpatch_regenerate_special_section() behavior
Date: Mon, 29 Apr 2024 16:56:49 +0200
Message-ID: <20240429145654.71669-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The purpose of kpatch_regenerate_special_section() is fairly opaque without
spending a good amount of time and having quite a lot of knowledge about what
the special sections contains.

Introduce some comments in order to give context and describe the expected
functionality.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/create-diff-object.c b/create-diff-object.c
index d8a2afbf2774..6a751bf3b789 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1210,6 +1210,12 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf,
 
 	src_offset = 0;
 	dest_offset = 0;
+
+	/*
+	 * Special sections processed here are array objects, hence in order to
+	 * detect whether a special section needs processing attempt to get the
+	 * element size.  Returning a size of 0 means no processing required.
+	 */
 	group_size = special->group_size(kelf, src_offset);
 	if (group_size == 0) {
 		log_normal("Skipping regeneration of a special section: %s\n",
@@ -1246,6 +1252,33 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf,
 		if (src_offset + group_size > sec->base->sh.sh_size)
 			group_size = sec->base->sh.sh_size - src_offset;
 
+		/*
+		 * Special sections handled perform a bunch of different tasks,
+		 * but they all have something in common: they are array like
+		 * sections that reference functions in the object file being
+		 * processed.
+		 *
+		 * .bug_frames.* relocations reference the symbol (plus offset)
+		 * where the exception is triggered from.
+		 *
+		 * .altinstructions relocations contain references to
+		 * coordinates where the alternatives are to be applied, plus
+		 * coordinates that point to the replacement code in
+		 * .altinstr_replacement.
+		 *
+		 * .ex_table relocations contain references to the coordinates
+		 * where the fixup code should be executed, plus relocation
+		 * coordinates that point to the text code to execte living in
+		 * the .fixup section.
+		 *
+		 * .livepatch.hooks.* relocations point to the hook
+		 * functions.
+		 *
+		 * Such dependencies allow to make a decision on whether an
+		 * element in the array needs including in the livepatch: if
+		 * the symbol pointed by the relocation is new or has changed
+		 * the array element needs including.
+		 */
 		include = should_keep_rela_group(sec, src_offset, group_size);
 
 		if (!include)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714129.1115191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUu-0007OP-1j; Mon, 29 Apr 2024 15:00:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714129.1115191; Mon, 29 Apr 2024 15:00: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 1s1SUt-0007O7-VC; Mon, 29 Apr 2024 15:00:51 +0000
Received: by outflank-mailman (input) for mailman id 714129;
 Mon, 29 Apr 2024 15:00: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUs-0006Ve-Mh
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:50 +0000
Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com
 [2607:f8b0:4864:20::f2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 435b60d9-0639-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:00:49 +0200 (CEST)
Received: by mail-qv1-xf2a.google.com with SMTP id
 6a1803df08f44-6a0b68733f5so17121996d6.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:49 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 mg22-20020a056214561600b006a0cd4c2d9bsm1081568qvb.28.2024.04.29.08.00.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 435b60d9-0639-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402847; x=1715007647; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RQz1eJLG5RTUbfOfXgpL5NrHKeTAiJtLKKFiPXfVznk=;
        b=WB/hh2C8gS8Z/CsJQadz2EmKNa0AWHuIp4F4l2ReRO0KshtHSkwq8yWCGPXJQMyKZu
         QkTnoCd3BpxcqzcAWfUjCP9/UsAw6eZtBEbL8stee84kl1PhU0QLqydtw4l6vkKDigxz
         f065T72fguBaQG3LXRZIZFTi9n+UP+UTF8sa8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402847; x=1715007647;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RQz1eJLG5RTUbfOfXgpL5NrHKeTAiJtLKKFiPXfVznk=;
        b=jpMWCzd+5zncRVuHC4cMPhhTEH2r6fNX6hhOS7yC588xGAbeZwrS5hjngMK5QLxC6V
         a8SgLTQz7KeTgFVhaL58HzbldSCrljzxhBAHhgucBxXCxhYa2Tkgw2JsORsylgJqrmP0
         WSAqKLo9xF156qlS9wTrdFarL33lWXYo4+rr5Xg+ipGACYM6AiVDIVLvUDpGyEFe1VHB
         /yMxpsKmysxd54iftMG12QoDeN4jgLUyH+P0TnyAB3Jk/F1aXgFxhobEjdAO1EoP9z/+
         EsmXEJ3opA80lcQhHrr36/DAor4r3iFpO1X8x9hlubviLeaKZHHw+fic9AbxaBEdwQG/
         PRBg==
X-Gm-Message-State: AOJu0Yz6Ko6cz8BeWqmTNWvnAhTKvu11HNLS/qRYP4P7o7E1bomiuKEL
	1xbbkvnUKmrpolgQs1a95vogojI3YrX8MQWcIFhN7fs5OIAE7buMgdj0gMzElqJdBM2kISwU5ma
	r
X-Google-Smtp-Source: AGHT+IEXBtTgAfpV3p39ATbcVjeU7BTkltXUUJMbnqzj2OpTZpuakYk2/N+6I2Nt2geVhKOHwwNukA==
X-Received: by 2002:a05:6214:250a:b0:6a0:c9eb:25db with SMTP id gf10-20020a056214250a00b006a0c9eb25dbmr4996306qvb.8.1714402846918;
        Mon, 29 Apr 2024 08:00:46 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 5/9] create-diff-object: move kpatch_include_symbol()
Date: Mon, 29 Apr 2024 16:56:50 +0200
Message-ID: <20240429145654.71669-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

So it can be used by kpatch_process_special_sections() in further changes.

Non functional change.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 74 ++++++++++++++++++++++----------------------
 1 file changed, 37 insertions(+), 37 deletions(-)

diff --git a/create-diff-object.c b/create-diff-object.c
index 6a751bf3b789..7674d972e301 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1198,6 +1198,43 @@ void kpatch_update_ex_table_addend(struct kpatch_elf *kelf,
 	}
 }
 
+#define inc_printf(fmt, ...) \
+	log_debug("%*s" fmt, recurselevel, "", ##__VA_ARGS__);
+
+static void kpatch_include_symbol(struct symbol *sym, int recurselevel)
+{
+	struct rela *rela;
+	struct section *sec;
+
+	inc_printf("start include_symbol(%s)\n", sym->name);
+	sym->include = 1;
+	inc_printf("symbol %s is included\n", sym->name);
+	/*
+	 * Check if sym is a non-local symbol (sym->sec is NULL) or
+	 * if an unchanged local symbol.  This a base case for the
+	 * inclusion recursion.
+	 */
+	if (!sym->sec || sym->sec->include ||
+	    (sym->type != STT_SECTION && sym->status == SAME))
+		goto out;
+	sec = sym->sec;
+	sec->include = 1;
+	inc_printf("section %s is included\n", sec->name);
+	if (sec->secsym && sec->secsym != sym) {
+		sec->secsym->include = 1;
+		inc_printf("section symbol %s is included\n", sec->secsym->name);
+	}
+	if (!sec->rela)
+		goto out;
+	sec->rela->include = 1;
+	inc_printf("section %s is included\n", sec->rela->name);
+	list_for_each_entry(rela, &sec->rela->relas, list)
+		kpatch_include_symbol(rela->sym, recurselevel+1);
+out:
+	inc_printf("end include_symbol(%s)\n", sym->name);
+	return;
+}
+
 static void kpatch_regenerate_special_section(struct kpatch_elf *kelf,
 				              struct special_section *special,
 				              struct section *sec)
@@ -1455,43 +1492,6 @@ static void kpatch_include_standard_string_elements(struct kpatch_elf *kelf)
 	}
 }
 
-#define inc_printf(fmt, ...) \
-	log_debug("%*s" fmt, recurselevel, "", ##__VA_ARGS__);
-
-static void kpatch_include_symbol(struct symbol *sym, int recurselevel)
-{
-	struct rela *rela;
-	struct section *sec;
-
-	inc_printf("start include_symbol(%s)\n", sym->name);
-	sym->include = 1;
-	inc_printf("symbol %s is included\n", sym->name);
-	/*
-	 * Check if sym is a non-local symbol (sym->sec is NULL) or
-	 * if an unchanged local symbol.  This a base case for the
-	 * inclusion recursion.
-	 */
-	if (!sym->sec || sym->sec->include ||
-	    (sym->type != STT_SECTION && sym->status == SAME))
-		goto out;
-	sec = sym->sec;
-	sec->include = 1;
-	inc_printf("section %s is included\n", sec->name);
-	if (sec->secsym && sec->secsym != sym) {
-		sec->secsym->include = 1;
-		inc_printf("section symbol %s is included\n", sec->secsym->name);
-	}
-	if (!sec->rela)
-		goto out;
-	sec->rela->include = 1;
-	inc_printf("section %s is included\n", sec->rela->name);
-	list_for_each_entry(rela, &sec->rela->relas, list)
-		kpatch_include_symbol(rela->sym, recurselevel+1);
-out:
-	inc_printf("end include_symbol(%s)\n", sym->name);
-	return;
-}
-
 static int kpatch_include_changed_functions(struct kpatch_elf *kelf)
 {
 	struct symbol *sym;
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714130.1115201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUv-0007eN-9D; Mon, 29 Apr 2024 15:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714130.1115201; Mon, 29 Apr 2024 15:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SUv-0007dd-5p; Mon, 29 Apr 2024 15:00:53 +0000
Received: by outflank-mailman (input) for mailman id 714130;
 Mon, 29 Apr 2024 15:00: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUu-00061u-Ad
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:52 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44fcd359-0639-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:00:51 +0200 (CEST)
Received: by mail-qk1-x72b.google.com with SMTP id
 af79cd13be357-790c36dcee9so177920385a.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:51 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 k17-20020a0cc791000000b0069b5672bab8sm2931726qvj.134.2024.04.29.08.00.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00: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: 44fcd359-0639-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402850; x=1715007650; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Xd4lZ7/Bfmvxjs4M6E3w4HW0FfqXGJAqEEwuT6BA+iE=;
        b=rbVFcPHsOSAbgLMMImyT1StCMuT3dmIt2kVVFVVpzUMgkq4+bKr84gB7SM9AOQQOyk
         CFmDA1Q4bw1bR6lPRQ/Tnwz2MxSUHe887FHOwwSwG7/wYZagNENBLHOfWOgPgnb+oMBh
         34KacTHBopA14ENa1l5GBIVQizmPAIVT5NmZM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402850; x=1715007650;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Xd4lZ7/Bfmvxjs4M6E3w4HW0FfqXGJAqEEwuT6BA+iE=;
        b=JFcgGoRwIieaJQ66zftqCmFbnlxz7CY8LBYsRKdZ6Fz4c1ryd/S69BbgwKJwnKARRl
         SyrWWynBohogeBlF/2agEMyMfS42XfaiZbBebn5Wf0+linxu/MBct8OAhetacp7oLjMi
         8Eh+z2SkYwHN3vi6N3uGZiTZuXfsPAyYyjNrKryU8xtH2GKZTrhRcfYsmvfLTgpx2OP5
         wY7NW+GqBJ9ueIs2PKkbJPJ8o1FiiGQ+vnvW6hXTE5/gM1CvO5Lk0vWvmjSxjuEDk+DC
         osyBf04myMpUa9/xGJcFSqlVKnoAxCg238Hh/g8YiWpfzXCMo6Th76gfeOuCGgTG7nbd
         d72w==
X-Gm-Message-State: AOJu0YzpsiUnvJciHju3oiD65Bsauw2yMvlAFktLH0GXuqIiZ3iFBtBD
	31N+z3NQmx5R0XglKifZpOKBz+3mN9xjhjTykPnl0c5Oz3VtwZvGsD82oC8ptjkCFGUXFC+B9aW
	6
X-Google-Smtp-Source: AGHT+IHOmO2lrGeD523koRfftzGmX4T+JaFhJC/d9cTRx7FnHPaxJ98Q386J+pdqp5gySJa2j/zeVw==
X-Received: by 2002:a05:6214:2625:b0:6a0:ccc4:9c9b with SMTP id gv5-20020a056214262500b006a0ccc49c9bmr4326861qvb.44.1714402850284;
        Mon, 29 Apr 2024 08:00:50 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 6/9] create-diff-object: detect changes in .altinstr_replacement and .fixup sections
Date: Mon, 29 Apr 2024 16:56:51 +0200
Message-ID: <20240429145654.71669-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current logic to detect changes in special sections elements will only
include group elements that reference function symbols that need including
(either because they have changed or are new).

This works fine in order to detect when a special section element needs
including because of the function is points has changed or is newly introduced,
but doesn't detect changes to the replacement code in .altinstr_replacement or
.fixup sections, as the relocations in that case are against STT_SECTION
symbols.

Fix this by also including the special section group if the symbol the
relocations points to is of type section.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/create-diff-object.c b/create-diff-object.c
index 7674d972e301..f4e4da063d0a 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1158,11 +1158,21 @@ static int should_keep_rela_group(struct section *sec, int start, int size)
 	struct rela *rela;
 	int found = 0;
 
-	/* check if any relas in the group reference any changed functions */
+	/*
+	 * Check if any relas in the group reference any changed functions.
+	 *
+	 * Relocations in the .altinstructions and .ex_table special sections
+	 * can also reference changed section symbols, since the replacement
+	 * text in both cases resides on a section that has no function symbols
+	 * (.altinstr_replacement and .fixup respectively).  Account for that
+	 * and also check whether the referenced symbols are section ones in
+	 * order to decide whether the relocation group needs including.
+	 */
 	list_for_each_entry(rela, &sec->relas, list) {
 		if (rela->offset >= start &&
 		    rela->offset < start + size &&
-		    rela->sym->type == STT_FUNC &&
+		    (rela->sym->type == STT_FUNC ||
+		     rela->sym->type == STT_SECTION) &&
 		    rela->sym->sec->include) {
 			found = 1;
 			log_debug("new/changed symbol %s found in special section %s\n",
@@ -1338,6 +1348,21 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf,
 
 				rela->sym->include = 1;
 
+				/*
+				 * Changes that cause only the
+				 * .altinstr_replacement or .fixup sections to
+				 * be modified need the target function of the
+				 * replacement to also be marked as CHANGED,
+				 * otherwise livepatch won't replace the
+				 * function, and the new replacement code won't
+				 * take effect.
+				 */
+				if (rela->sym->type == STT_FUNC &&
+				    rela->sym->status == SAME) {
+					rela->sym->status = CHANGED;
+					kpatch_include_symbol(rela->sym, 0);
+				}
+
 				if (!strcmp(special->name, ".fixup"))
 					kpatch_update_ex_table_addend(kelf, special,
 								      src_offset,
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:00:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714131.1115212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SV0-00087Y-O6; Mon, 29 Apr 2024 15:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714131.1115212; Mon, 29 Apr 2024 15: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 1s1SV0-00087M-Jw; Mon, 29 Apr 2024 15:00:58 +0000
Received: by outflank-mailman (input) for mailman id 714131;
 Mon, 29 Apr 2024 15:00: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUy-0006Ve-Rp
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:56 +0000
Received: from mail-oo1-xc33.google.com (mail-oo1-xc33.google.com
 [2607:f8b0:4864:20::c33])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46fbe4fa-0639-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:00:55 +0200 (CEST)
Received: by mail-oo1-xc33.google.com with SMTP id
 006d021491bc7-5ac8c73cf88so3212412eaf.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:55 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 d17-20020a0cf0d1000000b006a04769b5a7sm10441892qvl.110.2024.04.29.08.00.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00: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: 46fbe4fa-0639-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402853; x=1715007653; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IFbDmju5IjTA9HMoPxU+gJubSBkYzhzZZat8pMJw8AU=;
        b=ckv782+AXekPtMhi+DR01PJTWQCWGOkV6os/hAANCqBmLRorqpcFu8mK6jg/QgHyKk
         tNXENyJ+cx6kq901C3aXjmXMlTkWfrUpVD7jculei/Olv/s5bj2Dg/sucCUVAfOMZRM9
         wAYaBwP3dLtbG+h6id1ySXwA/UIonqef70gG0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402853; x=1715007653;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IFbDmju5IjTA9HMoPxU+gJubSBkYzhzZZat8pMJw8AU=;
        b=Rhd4/QqvUG1PmegseSJKeKmF7dZ0x55ZR0AqGnoLCCgBB5Hbean3cNd6w4JccfFWUL
         qnEV4WQXwIxwn99mqhLFicIGCmvB/BJT73X+hxJ386dJbi6iN+piu60UEyBm8u/GmEnX
         /WgjH75nsRrpY/C53UWWfojpdOfpdhF6rbNSj2Yu7GXEcIj3aAXyVykG1vKIzcQ8ZEYx
         wiKEVVlJkNqmoYS0CdYYlvLSqFiPFK/2jZhZvxLxsHYI269RJEOLk2460AFd/TICzczP
         xdgjHjrNc4nYBADPSDHponxii1xvtM2+L22KmXbg6BOx9drQKdJDftJZCrl/hwdzMKdm
         MlrQ==
X-Gm-Message-State: AOJu0YwdroKmz6L8yaLaQR1ejuchUV444+8TVmJcFOUiSTCba5YUyjUs
	GluQY+HIfBYn1uu5Vr/2B4IvShkb/xfH6Y0sWqAszRJFxEXub98/i7Q/JEAd7yQQjeQw4lep0P/
	n
X-Google-Smtp-Source: AGHT+IH61EQ/4nlaImXeAg5mlusaibvWGRzYoiVkr/DIS2WKP+Xnc4BLJE3V92IGdcm2d2Yz1gEuoA==
X-Received: by 2002:a05:6358:1913:b0:18e:3ec:94cb with SMTP id w19-20020a056358191300b0018e03ec94cbmr12307398rwm.14.1714402853326;
        Mon, 29 Apr 2024 08:00:53 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 7/9] create-diff-object: don't account for changes to .bug_frame.? sections
Date: Mon, 29 Apr 2024 16:56:52 +0200
Message-ID: <20240429145654.71669-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

bug_frame related sections exclusively contain addresses that reference back to
the address where the BUG_INSTR is executed.  As such, any change to the
contents of bug_frame sections (or it's relocations) will necessarily require a
change in the caller function, as the placement of the BUG_INSTR must have
changed.

Take advantage of this relocation, and unconditionally mark the bug_frame
sections themselves as not having changed, the logic in
kpatch_regenerate_special_section() will already take care of including any
bug_frame element group that references a function that has changed.

This should be a non functional change in the payload generated by
create-diff-object, but needs doing so that we can take into account changes to
.altinstructions and .ex_table sections themselves without unnecessarily also
pulling .bug_frame sections.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/create-diff-object.c b/create-diff-object.c
index f4e4da063d0a..d1b1477be1cd 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1284,6 +1284,17 @@ static void kpatch_regenerate_special_section(struct kpatch_elf *kelf,
 		}
 	}
 
+	/*
+	 * For bug_frame sections don't care if the section itself or the
+	 * relocations have changed, as any change in the bug_frames will be
+	 * accompanied by a change in the caller function text, as the
+	 * BUG_INSTR will have a different placement in the caller.
+	 */
+	if (!strncmp(special->name, ".bug_frames.", strlen(".bug_frames."))) {
+		sec->status = SAME;
+		sec->base->status = SAME;
+	}
+
 	for ( ; src_offset < sec->base->sh.sh_size; src_offset += group_size) {
 
 		group_size = special->group_size(kelf, src_offset);
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:01:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714132.1115222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SV2-0008RC-1a; Mon, 29 Apr 2024 15:01:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714132.1115222; Mon, 29 Apr 2024 15:00:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SV1-0008QM-Sb; Mon, 29 Apr 2024 15:00:59 +0000
Received: by outflank-mailman (input) for mailman id 714132;
 Mon, 29 Apr 2024 15:00: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SUz-00061u-Nc
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:00:57 +0000
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com
 [2607:f8b0:4864:20::829])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48213e23-0639-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:00:57 +0200 (CEST)
Received: by mail-qt1-x829.google.com with SMTP id
 d75a77b69052e-4365c1451d4so31256561cf.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:57 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 h5-20020ac85485000000b00439cccb91b2sm6612689qtq.73.2024.04.29.08.00.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08: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: 48213e23-0639-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402856; x=1715007656; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bJJy5gubMnJaNx3BJ2gbPZ/DdC5mFYTQDBpTvDsIrfk=;
        b=Z5H15jZQky0Gux1WB9koyK6gFqtIZrc3cBNDrPvCxDPatbZ1tF+NviCWuR0KNTuWsM
         xPEujhloHRLDG47Xq5GxZD6McfeE7B5tdGMSxJRJZcInL9buc5/4Z6dKLg6SJrhyAPZO
         Yf0WWvlZIMC+3XGWumULngAuzs4fFiPAB1hBA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402856; x=1715007656;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bJJy5gubMnJaNx3BJ2gbPZ/DdC5mFYTQDBpTvDsIrfk=;
        b=Q47uPIBq/q3RqzaHIiswayxKbcoDeQmk/6pPY9aU+C2XPm63HD1Hm0pi2hnutthFsR
         j/U7N7gMaufsoSqQxv/kW6nJ6TrnQtjMOPmzb8EzmxOhxaPep2nAmQz4qrfZPg+W5pIf
         JLtweLXwt9wKnSYZD3VncrRmkXmpouuoGm4hfnL6/Zb8yeSqJDFzOh+U1yW24kyNsta0
         dPydjG5hwtv7vm28esJUfOxTqmQIeyCNZokLclHX2eu27j1JWvFKhmnTkDWF4lQwVQXV
         hs/V30AYyjmTUXugyw0O6xr5o3EfhTXeUX8JUNvHDM1cc2FkoNqYNcNYrtZFuR7DCRNC
         rNNQ==
X-Gm-Message-State: AOJu0YwmGO87wRKrgVeziJby6JxPfOSS/ZD8cU3Ah0UhSjt0SxerAVpg
	qP+LxJP8Nx6mXXOFGdURlOmRnvEHDn9Mmo8DPvP/Xn3PfYOv1Ce8FmVDrtbxrNK3q065Ksn5OnB
	o
X-Google-Smtp-Source: AGHT+IF7Kt4rVMpOZTBkwfNyqexlYmDJuCJB7gQOo9oZubbbFgketoMH7REOTY+yQPwhgpfUnURAkw==
X-Received: by 2002:a05:622a:298d:b0:43a:bd5b:2c33 with SMTP id hd13-20020a05622a298d00b0043abd5b2c33mr7519212qtb.3.1714402855678;
        Mon, 29 Apr 2024 08:00:55 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 8/9] create-diff-object: account for changes in the special section itself
Date: Mon, 29 Apr 2024 16:56:53 +0200
Message-ID: <20240429145654.71669-9-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Changes to special sections are not accounted for right now.  For example a
change that only affects .altinstructions or .ex_table won't be included in the
livepatch payload, if none of the symbols referenced by those sections have
also changed.

Since it's not possible to know which elements in the special group have
changed if we detect a change in the special section the whole group (minus
elements that have references to init section symbols) must be included.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/create-diff-object.c b/create-diff-object.c
index d1b1477be1cd..8bfb6bf92a1b 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1170,13 +1170,32 @@ static int should_keep_rela_group(struct section *sec, int start, int size)
 	 */
 	list_for_each_entry(rela, &sec->relas, list) {
 		if (rela->offset >= start &&
-		    rela->offset < start + size &&
-		    (rela->sym->type == STT_FUNC ||
-		     rela->sym->type == STT_SECTION) &&
-		    rela->sym->sec->include) {
-			found = 1;
-			log_debug("new/changed symbol %s found in special section %s\n",
-				  rela->sym->name, sec->name);
+		    rela->offset < start + size)
+		{
+			/*
+			 * Avoid including groups with relocations against
+			 * symbols living in init sections, those are never
+			 * included in livepatches.
+			 */
+			if (is_init_section(rela->sym->sec))
+				return 0;
+
+			/*
+			 * If the base section has changed, always include all
+			 * groups (except those pointing to .init section
+			 * symbols), as we have no way to differentiate which
+			 * groups have changed.
+			 */
+			if (sec->status != SAME || sec->base->status != SAME)
+				found = 1;
+			else if ((rela->sym->type == STT_FUNC ||
+			          rela->sym->type == STT_SECTION) &&
+			         rela->sym->sec->include) {
+				found = 1;
+				log_debug(
+		"new/changed symbol %s found in special section %s\n",
+				          rela->sym->name, sec->name);
+			}
 		}
 	}
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:01:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:01:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714136.1115232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SV4-0000NK-C1; Mon, 29 Apr 2024 15:01:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714136.1115232; Mon, 29 Apr 2024 15: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 1s1SV4-0000MQ-6t; Mon, 29 Apr 2024 15:01:02 +0000
Received: by outflank-mailman (input) for mailman id 714136;
 Mon, 29 Apr 2024 15: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1SV2-00061u-O3
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:01:00 +0000
Received: from mail-qv1-xf30.google.com (mail-qv1-xf30.google.com
 [2607:f8b0:4864:20::f30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 499c070b-0639-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:00:59 +0200 (CEST)
Received: by mail-qv1-xf30.google.com with SMTP id
 6a1803df08f44-69b6c2e9ed9so21091906d6.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:00:59 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 t10-20020a0cef0a000000b006a040cdd805sm392396qvr.92.2024.04.29.08.00.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:00: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: 499c070b-0639-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714402858; x=1715007658; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ABIMao/S3hzX29QxYYcWMCOhcIr5YSs4nbEkZAC6ppk=;
        b=ESvZdTEfYhOldho+Qeoi7BKH6MkOsqdG9R6iwAdt81dt6fE15zkk4wkga7Tuk3ZmlH
         H7j42bXg5Knvabwlscjiv9tMoeysK7pTWXQf0dAps1m6DyMpKur4zJ6BNtOV8yJESadF
         i1jdgMUX0oh+XFr5Q64pAfxNV5/9Ycn8LQk9g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714402858; x=1715007658;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ABIMao/S3hzX29QxYYcWMCOhcIr5YSs4nbEkZAC6ppk=;
        b=Q1oh/ouC/3WalvjBgDA1ar602mkQQrQaUuUz9pYgU1OXpJ9L8vzqfOgyoLntFTmnNu
         5K6wbbkhVikh1fztaQ/kf5XhBU9OglrDYo/g4Jv2CgLNCXtQSjvMSv6amgh/RplZq7M7
         UIIMVxo7yfqOUfkqBZ3TiQzf/5ZWde8yBFTSS9mqlrZAkbaTsPO/q0zwrYX2nxu/U5o7
         8maAVd7hesYzLxpuf0+W9kJh79CPi0hJPC3vtnVP7CxrOgXuPue1S+Q6q/U/T/8d022z
         /2tgc8qlkBa8+BcfSoNNS9FQsxlyEF1VbuT9VR2dthxC5N+j1r6+W2bPoPPVgnEzpH7d
         BcPA==
X-Gm-Message-State: AOJu0Yxjmg4mR7tzyL2jTcWc6bhFjE5QC30JMGENDVVuQYs5K6Yfph15
	1jEggLOL8IqJQypoPBWa2VSGEAAdMnIluMpLUQa4mHbm8xM58kDD9cOwrX1sDmr6TfGqrF4pKNZ
	w
X-Google-Smtp-Source: AGHT+IGxPcDT9IwGTWGDL4oYzCXrDmSIbNhuvzGMF891BclHIsi0n3Dih5B5TyYh4tZ1b0v0ecwWcg==
X-Received: by 2002:a05:6214:130d:b0:6a0:5528:9594 with SMTP id pn13-20020a056214130d00b006a055289594mr11828763qvb.64.1714402858002;
        Mon, 29 Apr 2024 08:00:58 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: konrad.wilk@oracle.com,
	ross.lagerwall@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 9/9] create-diff-object: account for special section changes
Date: Mon, 29 Apr 2024 16:56:54 +0200
Message-ID: <20240429145654.71669-10-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240429145654.71669-1-roger.pau@citrix.com>
References: <20240429145654.71669-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When deciding whether there's content to generate a payload also take into
account whether special sections have changed.  Initially account for changes
to alternative related section to cause the generation of a livepatch.

Note that accounting for hook sections is already done by
kpatch_include_hook_elements() when deciding whether there's changed content in
the object file.  .bugframe sections are also not accounted for since any
section in a bugframe section will be accompanied by a change in the function
the bugframe references (the placement of the BUG_INSTR will change in the
caller function).

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/create-diff-object.c b/create-diff-object.c
index 8bfb6bf92a1b..957631097b8a 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1663,6 +1663,28 @@ static int kpatch_include_hook_elements(struct kpatch_elf *kelf)
 	return num_new_functions;
 }
 
+static unsigned int include_special_sections(const struct kpatch_elf *kelf)
+{
+	const struct section *sec;
+	unsigned int nr = 0;
+
+	/*
+	 * Only account for changes in alternatives and exception table related
+	 * sections.  Hooks are already taken care of separately, and changes
+	 * in bug_frame sections always go along with changes in the caller
+	 * functions.
+	 */
+	list_for_each_entry(sec, &kelf->sections, list)
+		if (sec->status != SAME &&
+		    (!strcmp(sec->name, ".altinstructions") ||
+		     !strcmp(sec->name, ".altinstr_replacement") ||
+		     !strcmp(sec->name, ".ex_table") ||
+		     !strcmp(sec->name, ".fixup")))
+			nr++;
+
+	return nr;
+}
+
 static int kpatch_include_new_globals(struct kpatch_elf *kelf)
 {
 	struct symbol *sym;
@@ -2469,6 +2491,8 @@ int main(int argc, char *argv[])
 	kpatch_include_debug_sections(kelf_patched);
 	log_debug("Include hook elements\n");
 	num_changed += kpatch_include_hook_elements(kelf_patched);
+	log_debug("Include special sections\n");
+	num_changed += include_special_sections(kelf_patched);
 	log_debug("num_changed = %d\n", num_changed);
 	log_debug("Include new globals\n");
 	new_globals_exist = kpatch_include_new_globals(kelf_patched);
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:04:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:04:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714164.1115241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SYg-0003ag-S4; Mon, 29 Apr 2024 15:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714164.1115241; Mon, 29 Apr 2024 15:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SYg-0003aZ-PT; Mon, 29 Apr 2024 15:04:46 +0000
Received: by outflank-mailman (input) for mailman id 714164;
 Mon, 29 Apr 2024 15:04:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1SYf-0003aL-7M
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:04:45 +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 cf9b92a6-0639-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:04:44 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41b869326daso21651515e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:04: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
 u14-20020a05600c19ce00b0041c23148330sm5662118wmq.10.2024.04.29.08.04.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08:04: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: cf9b92a6-0639-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714403083; x=1715007883; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3U4gnMWSmqa0xD6keYH4jurkcji37IsVDBGhTNv4OQI=;
        b=dQGw7nZmWdPkxQlLXnCYnah2TUXh1XKJFi9XDtxVemRSREz4PC/AAlamvHol6dW7Oj
         /S6SXP8KTD9uymbZBsDaBoQpvCluAmQp02TX/fQ6ZdPpICDKgNQri0S2RxV9W8SyRRTm
         3lvxd8G6AVSDaMBDh0Cw+czNW7Das4YeKKNIeaDAA+jPf6HIz5pGRgod4aIbsJ9wC04a
         FO4brHqXovYOh6ZJv2VHeqVRWV/XlSupc6Lg9tu/4ipRnonmgwGH2JyP4KlsZspA32HL
         F0xoS2IP636vDPqKYuWdY2WT7SHCjFoOU49INp+6jfOaaEPwBQm+JCX6Umg7Qg1FmuAz
         mh8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403083; x=1715007883;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3U4gnMWSmqa0xD6keYH4jurkcji37IsVDBGhTNv4OQI=;
        b=YkL1sEgRppclh5slMTsY1eOy7INy6ifTLDnNr6Q4MqA0hp3y9WKUV+5A19Mjl+IhAg
         Xy8CGupBTeDmj9lBTb7NqQUij/oHWhUzo+fb2DqZ8yalP0jDeECh+yTy4I3k0b9yopLJ
         f4ie3QX+/iEdlMnJnjPS3u+v8hpfroSvzn/Zfjv7bsI5oDnP0fyS1zPsJk+IaX2dPqT+
         cp+WMuMHb/WGD6aIop61MJYdDBRB6Dtt+vj07RWmAWydUWAP7w69ARHEgf7WEnWyteEf
         dTGa9CNPq9OXDYPwsxkdtq29YWZmne5eVdIMnYqKTzhXdJkN4bOUoXzdHIa1CcfBb5UI
         8HUg==
X-Forwarded-Encrypted: i=1; AJvYcCWBYWCVC401ZbrkuskCasvkiU4SFR5k+WDERm6jyrQ+NouPh8kXIbAwW5tBMbNtXvCx0Yn+60nHQbMJb9kyKDeXXpZb+8j5ty9ZIMAdva8=
X-Gm-Message-State: AOJu0YztnIm7cCVOXwnI12lsw9xlA36+i1Vk2HVoh8aETb+7O7srwmZH
	hC2aNqFO7EbOsao0EWVssHxEECVx67tJ0YKc9rewmjdL7+cSj+PCqOi6BeyXfQ==
X-Google-Smtp-Source: AGHT+IG5NEF+E4jOmXqKiZqSl02hVPv7ehyG6crkx2USDjUAVmzgCKR1FuUJpARwsM5tPUFzAxRgjw==
X-Received: by 2002:a05:600c:3c90:b0:417:caa8:c3f4 with SMTP id bg16-20020a05600c3c9000b00417caa8c3f4mr9380890wmb.34.1714403083351;
        Mon, 29 Apr 2024 08:04:43 -0700 (PDT)
Message-ID: <c8cbefe1-e6b4-43fa-a6f6-c5c2b529f83d@suse.com>
Date: Mon, 29 Apr 2024 17:04:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/8] gzip: move input buffer handling into gunzip state
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-6-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424163422.23276-6-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 18:34, Daniel P. Smith wrote:
> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -10,13 +10,12 @@ struct gunzip_state {
>      unsigned char *window;
>      /* window pointer: */
>      unsigned int wp;
> -};
> -
> -static unsigned char *__initdata inbuf;
> -static unsigned int __initdata insize;
>  
> -/* Index of next byte to be processed in inbuf: */
> -static unsigned int __initdata inptr;
> +    unsigned char *inbuf;
> +    size_t insize;
> +    /* Index of next byte to be processed in inbuf: */
> +    unsigned int inptr;

I'm puzzled by the (suddenly) different types, seeing that ...

> +};
>  
>  #define malloc(a)       xmalloc_bytes(a)
>  #define free(a)         xfree(a)
> @@ -51,14 +50,14 @@ static __init void error(const char *x)
>      panic("%s\n", x);
>  }
>  
> -static __init uch get_byte(void) {
> -    if ( inptr >= insize )
> +static __init uch get_byte(struct gunzip_state *s) {
> +    if ( s->inptr >= s->insize )

... both are compared with one another.

> @@ -1129,29 +1129,29 @@ static int __init gunzip(struct gunzip_state *s)
>          error("Input has invalid flags");
>          return -1;
>      }
> -    NEXTBYTE(); /* Get timestamp */
> -    NEXTBYTE();
> -    NEXTBYTE();
> -    NEXTBYTE();
> +    NEXTBYTE(s); /* Get timestamp */
> +    NEXTBYTE(s);
> +    NEXTBYTE(s);
> +    NEXTBYTE(s);
>  
> -    NEXTBYTE();  /* Ignore extra flags for the moment */
> -    NEXTBYTE();  /* Ignore OS type for the moment */
> +    NEXTBYTE(s);  /* Ignore extra flags for the moment */
> +    NEXTBYTE(s);  /* Ignore OS type for the moment */
>  
>      if ((flags & EXTRA_FIELD) != 0) {
> -        unsigned len = (unsigned)NEXTBYTE();
> -        len |= ((unsigned)NEXTBYTE())<<8;
> -        while (len--) (void)NEXTBYTE();
> +        unsigned len = (unsigned)NEXTBYTE(s);
> +        len |= ((unsigned)NEXTBYTE(s))<<8;
> +        while (len--) (void)NEXTBYTE(s);

Would you mind moving the body of this while() to its own line, as you
touch this anyway?

>      }
>  
>      /* Get original file name if it was truncated */
>      if ((flags & ORIG_NAME) != 0) {
>          /* Discard the old name */
> -        while (NEXTBYTE() != 0) /* null */ ;
> +        while (NEXTBYTE(s) != 0) /* null */ ;
>      }
>  
>      /* Discard file comment if any */
>      if ((flags & COMMENT) != 0) {
> -        while (NEXTBYTE() != 0) /* null */ ;
> +        while (NEXTBYTE(s) != 0) /* null */ ;
>      }

For these two doing the same may help, too.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:07:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:07:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714173.1115251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sbd-0004Db-A2; Mon, 29 Apr 2024 15:07:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714173.1115251; Mon, 29 Apr 2024 15:07:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sbd-0004DU-7D; Mon, 29 Apr 2024 15:07:49 +0000
Received: by outflank-mailman (input) for mailman id 714173;
 Mon, 29 Apr 2024 15:07:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1Sbb-0004DO-Nh
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:07:47 +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 3cba1147-063a-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:07:47 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-41c011bb920so8703335e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:07: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
 f17-20020a05600c155100b00418db9e4228sm42113471wmg.29.2024.04.29.08.07.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08: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: 3cba1147-063a-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714403266; x=1715008066; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jp1wjCZsoGW2i8AskWs1lRsZ+I+xsoDVAKn5OjIpaD0=;
        b=bGeYZ19+9f+rqyU4VVHZQc1gkkjfadXu653oaMAPetNl9t4bquQVCgOxYDn3cu37fj
         La99rI9hIl5lpWAFuam9wr7XfqbkaipjPV74FGBEuq2oVl2UuctVguY2V/RFvL5Kae1P
         XCTFpD9/MIgiewzCf7xadvaQrkaTU8aofQxjfrK9ZJLQVCFYV10/wnlK/CGpwZA22wnI
         imPaftAvW7OXvE4vTG8VAqfYafyGKkkr/nJ9u6uFZz4wG/zFHerr7cJx1aLUGQUeXHgR
         oqk/vxyN0NU/49eeadzGkYhZtVdmq87HsYxqHoEg4OG0ghXiFI1JY7YnwoUUtrM0LiRz
         E1YQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403266; x=1715008066;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=jp1wjCZsoGW2i8AskWs1lRsZ+I+xsoDVAKn5OjIpaD0=;
        b=KmZCqZGBi49Tli/1wFCIwfBndCsxglzBulklzr/NYIzdd4dbfsYDsv7exoSe6L+uxX
         C58WQiY1qBiOp+0TMSGw6zd7QyMxGTRTj4caJhJANTJ6j+JbSmCptKVYRcOWMT/aPJPH
         lQgobxVnKhhOZFiL81zmJFhYFhyQG9813nZsr+YN09HqtuK7hRpmkT5tP6deRN2+DGTz
         oBqiWn0oNsYijemkBScaknc4w8EOs67jlDK6l5kekyF/KUwsX3aJeEcTcesm3U/XoOM1
         pZyfmt7+vA/bxoR6PnFHXgj0BogYcUEOZM4/2eC5eLNAWpS4aFbS2lShpXL+mUOeW1W6
         g0tA==
X-Forwarded-Encrypted: i=1; AJvYcCVvSTKlx3WjURtzoOXdWBsMEG2C06LFpkKqxOpufTH6SDadDwLMQE6meZwJdIv9J3O3T2Z5H6N1GsHSN2tSv13XvedQOs1VxYp7DOrho5Q=
X-Gm-Message-State: AOJu0Yz256xddm6q1ItXvjfML7RYQsBvC9izmf9Yqm4kUbnVh76bVpsu
	kk0/fB3Mxy8raxKiPJH4N1WRoJ49zIqY1jAMbQI4vxFUJNMCMnwp4mtqyPPmjMl/OIqZn/TW2w8
	=
X-Google-Smtp-Source: AGHT+IGk2YAudYVlFywViJc1Fa0PKeDCDleUIp1dsAVp2XjeXsEseyH34pupjPWsNEiUkL5BKx8bsw==
X-Received: by 2002:a05:600c:1395:b0:41b:d6ca:eefa with SMTP id u21-20020a05600c139500b0041bd6caeefamr5439259wmf.16.1714403266455;
        Mon, 29 Apr 2024 08:07:46 -0700 (PDT)
Message-ID: <49e4079e-e878-42d3-a1ec-033e7c0e2c6f@suse.com>
Date: Mon, 29 Apr 2024 17:07:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/8] gzip: move output buffer into gunzip state
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-7-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424163422.23276-7-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 18:34, Daniel P. Smith wrote:
> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -15,6 +15,8 @@ struct gunzip_state {
>      size_t insize;
>      /* Index of next byte to be processed in inbuf: */
>      unsigned int inptr;
> +
> +    unsigned long bytes_out;
>  };

The conversion to unsigned long from ...

> @@ -42,7 +44,6 @@ typedef unsigned long   ulg;
>  #  define Tracecv(c, x)
>  #endif
>  
> -static long __initdata bytes_out;

... this originally wants justifying in the (then no longer empty) description.
It's not a lot that needs saying, but such a type change cannot go entirely
silently.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:16:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714187.1115276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk3-0006q5-LY; Mon, 29 Apr 2024 15:16:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714187.1115276; Mon, 29 Apr 2024 15: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 1s1Sk3-0006pU-I5; Mon, 29 Apr 2024 15:16:31 +0000
Received: by outflank-mailman (input) for mailman id 714187;
 Mon, 29 Apr 2024 15:16: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=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Sk2-0006fc-Q0
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:16:30 +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 73c0a8fd-063b-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:16:28 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-57255e89facso3753415a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:16:28 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ah2-20020a1709069ac200b00a4e393b6349sm13898875ejc.5.2024.04.29.08.16.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:16: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: 73c0a8fd-063b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714403788; x=1715008588; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U+jINRzKQ8ek5veBhc1V+WcM+rmOSm7v+UZN+AYLp0E=;
        b=A3N6db0lbtjwdmJuwq9ycoc7oKwxd67SAhGC/ZN9t+zMs9J48PDwwC4POAgK/eMOqo
         u/Ze41T9uygMaRHWndZZQHkcVsBYDicBd6i1WuUraVKqmZ4Hv8rsQxIuMwQ23baQJvpR
         AY+dkfxj9R4vq++hZtnOtAcqWRYN72Co2tWFs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403788; x=1715008588;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=U+jINRzKQ8ek5veBhc1V+WcM+rmOSm7v+UZN+AYLp0E=;
        b=SYDRtJex4kxGVU9VnoZ2fEH5Gl/PhStE+OeYEEPfvCU0+7TVK6Li8kCAx7j+r63HSD
         3dwDKOqt2GqQ23mEs4xLC2tw2vp+QexzzvCmS/FCDYaJK7wwJrTk5ew7VFIRaUyNHQaD
         qU4mAhWTFyIL5VQ3xZsd3ToVfICuHPAA8nrbLpFbx5UftLr2JfpBubLHxBMINWnJZyiD
         +jrLjnqbSOdGcmhsDMS6NDDqiHS82vCyS5sTQsoi7k/gJxo9Illr8hrfL/6R39LbjUL6
         ivh5y1zgVzHL1tRfDQD/d2SPCYmD8Sg3hIbP4/Le1ZgrBxcH1CJponB/CzbQDY31Anxl
         GoaA==
X-Gm-Message-State: AOJu0Yws/8WCf5GlFAwO1QRvxGiXXwVJKLCbESOqfnjbX5Yn925fnb1J
	Fi50YNhmBqhy1KTJ2zq4wGDVISXjMLgcCW/yOHEZzfhQY70521tafx72QHtTOj8gImSBzy4pLOu
	v
X-Google-Smtp-Source: AGHT+IE/C96C5lG5+P61Eon6C63GocYVL9KzxahT7A8hlbCisoZjEseQudsjd6yVoLdl4mDiR1tT8Q==
X-Received: by 2002:a17:906:b798:b0:a4d:fcc9:905c with SMTP id dt24-20020a170906b79800b00a4dfcc9905cmr4938349ejb.20.1714403787775;
        Mon, 29 Apr 2024 08:16: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Andrei Semenov <andrei.semenov@vates.fr>,
	Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: [PATCH 1/5] x86/cpu-policy: Infrastructure for the AMD SVM and SEV leaves
Date: Mon, 29 Apr 2024 16:16:21 +0100
Message-Id: <20240429151625.977884-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429151625.977884-1-andrew.cooper3@citrix.com>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allocate two new feature leaves, and extend cpu_policy with the non-feature
fields too.

The CPUID dependency between the SVM bit on the whole SVM leaf is
intentionally deferred, to avoid transiently breaking nested virt.

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: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Andrei Semenov <andrei.semenov@vates.fr>
CC: Vaishali Thakkar <vaishali.thakkar@vates.tech>
---
 tools/libs/light/libxl_cpuid.c              |  2 ++
 tools/misc/xen-cpuid.c                      | 10 +++++++++
 xen/arch/x86/cpu/common.c                   |  4 ++++
 xen/include/public/arch-x86/cpufeatureset.h |  4 ++++
 xen/include/xen/lib/x86/cpu-policy.h        | 24 +++++++++++++++++++--
 xen/lib/x86/cpuid.c                         |  4 ++++
 6 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index ce4f3c7095ba..c7a8b76f541d 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -342,6 +342,8 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *policy, const char* str)
         CPUID_ENTRY(0x00000007,  1, CPUID_REG_EDX),
         MSR_ENTRY(0x10a, CPUID_REG_EAX),
         MSR_ENTRY(0x10a, CPUID_REG_EDX),
+        CPUID_ENTRY(0x8000000a, NA, CPUID_REG_EDX),
+        CPUID_ENTRY(0x8000001f, NA, CPUID_REG_EAX),
 #undef MSR_ENTRY
 #undef CPUID_ENTRY
     };
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 8893547bebce..ab09410a05d6 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -264,6 +264,14 @@ static const char *const str_m10Ah[32] =
 {
 };
 
+static const char *const str_eAd[32] =
+{
+};
+
+static const char *const str_e1Fa[32] =
+{
+};
+
 static const struct {
     const char *name;
     const char *abbr;
@@ -288,6 +296,8 @@ static const struct {
     { "CPUID 0x00000007:1.edx",     "7d1", str_7d1 },
     { "MSR_ARCH_CAPS.lo",         "m10Al", str_m10Al },
     { "MSR_ARCH_CAPS.hi",         "m10Ah", str_m10Ah },
+    { "CPUID 0x8000000a.edx",       "eAd", str_eAd },
+    { "CPUID 0x8000001f.eax",      "e1Fa", str_e1Fa },
 };
 
 #define COL_ALIGN "24"
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 28d7f34c4dbe..25b11e6472b8 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -477,6 +477,10 @@ static void generic_identify(struct cpuinfo_x86 *c)
 		c->x86_capability[FEATURESET_e7d] = cpuid_edx(0x80000007);
 	if (c->extended_cpuid_level >= 0x80000008)
 		c->x86_capability[FEATURESET_e8b] = cpuid_ebx(0x80000008);
+	if (c->extended_cpuid_level >= 0x8000000a)
+		c->x86_capability[FEATURESET_eAd] = cpuid_edx(0x8000000a);
+	if (c->extended_cpuid_level >= 0x8000001f)
+		c->x86_capability[FEATURESET_e1Fa] = cpuid_eax(0x8000001f);
 	if (c->extended_cpuid_level >= 0x80000021)
 		c->x86_capability[FEATURESET_e21a] = cpuid_eax(0x80000021);
 
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 53f13dec31f7..0f869214811e 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -357,6 +357,10 @@ XEN_CPUFEATURE(RFDS_CLEAR,         16*32+28) /*!A Register File(s) cleared by VE
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.edx, word 17 */
 
+/* AMD-defined CPU features, CPUID level 0x8000000a.edx, word 18 */
+
+/* AMD-defined CPU features, CPUID level 0x8000001f.eax, word 19 */
+
 #endif /* XEN_CPUFEATURE */
 
 /* Clean up from a default include.  Close the enum (for C). */
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index d5e447e9dc06..936e00e4da73 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -22,6 +22,8 @@
 #define FEATURESET_7d1       15 /* 0x00000007:1.edx    */
 #define FEATURESET_m10Al     16 /* 0x0000010a.eax      */
 #define FEATURESET_m10Ah     17 /* 0x0000010a.edx      */
+#define FEATURESET_eAd       18 /* 0x8000000a.edx      */
+#define FEATURESET_e1Fa      19 /* 0x8000001f.eax      */
 
 struct cpuid_leaf
 {
@@ -296,7 +298,16 @@ struct cpu_policy
             uint32_t /* d */:32;
 
             uint64_t :64, :64; /* Leaf 0x80000009. */
-            uint64_t :64, :64; /* Leaf 0x8000000a - SVM rev and features. */
+
+            /* Leaf 0x8000000a - SVM rev and features. */
+            uint8_t svm_rev, :8, :8, :8;
+            uint32_t /* b */ :32;
+            uint32_t nr_asids;
+            union {
+                uint32_t eAd;
+                struct { DECL_BITFIELD(eAd); };
+            };
+
             uint64_t :64, :64; /* Leaf 0x8000000b. */
             uint64_t :64, :64; /* Leaf 0x8000000c. */
             uint64_t :64, :64; /* Leaf 0x8000000d. */
@@ -317,7 +328,16 @@ struct cpu_policy
             uint64_t :64, :64; /* Leaf 0x8000001c. */
             uint64_t :64, :64; /* Leaf 0x8000001d - Cache properties. */
             uint64_t :64, :64; /* Leaf 0x8000001e - Extd APIC/Core/Node IDs. */
-            uint64_t :64, :64; /* Leaf 0x8000001f - AMD Secure Encryption. */
+
+            /* Leaf 0x8000001f - AMD Secure Encryption. */
+            union {
+                uint32_t e1Fa;
+                struct { DECL_BITFIELD(e1Fa); };
+            };
+            uint32_t cbit:6, paddr_reduce:6, nr_vmpls:4, :16;
+            uint32_t nr_enc_guests;
+            uint32_t sev_min_asid;
+
             uint64_t :64, :64; /* Leaf 0x80000020 - Platform QoS. */
 
             /* Leaf 0x80000021 - Extended Feature 2 */
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index eb7698dc7325..14deb01a6d0b 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -81,6 +81,8 @@ void x86_cpu_policy_to_featureset(
     fs[FEATURESET_7d1]       = p->feat._7d1;
     fs[FEATURESET_m10Al]     = p->arch_caps.lo;
     fs[FEATURESET_m10Ah]     = p->arch_caps.hi;
+    fs[FEATURESET_eAd]       = p->extd.eAd;
+    fs[FEATURESET_e1Fa]      = p->extd.e1Fa;
 }
 
 void x86_cpu_featureset_to_policy(
@@ -104,6 +106,8 @@ void x86_cpu_featureset_to_policy(
     p->feat._7d1             = fs[FEATURESET_7d1];
     p->arch_caps.lo          = fs[FEATURESET_m10Al];
     p->arch_caps.hi          = fs[FEATURESET_m10Ah];
+    p->extd.eAd              = fs[FEATURESET_eAd];
+    p->extd.e1Fa             = fs[FEATURESET_e1Fa];
 }
 
 void x86_cpu_policy_recalc_synth(struct cpu_policy *p)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:16:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714186.1115272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk3-0006nC-EF; Mon, 29 Apr 2024 15:16:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714186.1115272; Mon, 29 Apr 2024 15: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 1s1Sk3-0006n5-B6; Mon, 29 Apr 2024 15:16:31 +0000
Received: by outflank-mailman (input) for mailman id 714186;
 Mon, 29 Apr 2024 15:16:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Sk2-0006Yb-Bl
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:16:30 +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 74580315-063b-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:16:29 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a55ab922260so615803366b.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:16:29 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ah2-20020a1709069ac200b00a4e393b6349sm13898875ejc.5.2024.04.29.08.16.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:16: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: 74580315-063b-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714403789; x=1715008589; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MI5h6UOov1WEGp6E29SV+XICdrE3ID4Y2ipNaivTcho=;
        b=e97P9c3+ERozSEXHyAfX0iRNeGuySjd/XoORSMxHzvr++GxKQe1wY9+bB4Ouqgbpii
         t4fua/QntdT/DyGm4QipFf5K1WkG4WaJiZGKflYMKdyxE2wOALS9KsFbsOTwZZdrfqo0
         kRuEKJyJmXZtgkcWzLVkumK8sznBq1fbzRwFg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403789; x=1715008589;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MI5h6UOov1WEGp6E29SV+XICdrE3ID4Y2ipNaivTcho=;
        b=CwO38OhZDME+QawE2KGBIpd9UVIfjRD1ZoeJBBRE4UNLBXKE361ONtVCVotXCxnku/
         VBcJB42SbUXuQ8p910+s++7b7rcvALNQmDXFgmKDUXh3M4UsDWTldebtaHVjwkVjWHS6
         X+6HlEMM0mJSunsP35mLkxsYjBedirjhR2zR69r3GmCqZtNlw2/MpGjQfbBM6HxzKoej
         iZeEDPJYxVDGnCEkgaabjaNnnwzIHi9XJxzz61qluA5oIivwK11EpdNLi659DvMmOZvR
         4CtDZ02VMTLKCYunQw5Fp/GxSg1X9f5aIqDwtCh8TrcUcutwFay5ldbAgLapVmW6ZsS9
         T4RA==
X-Gm-Message-State: AOJu0YxYsOAxk0FUqeDi506FpuPMFuMAifJpV/aG2yq1fDw0KMXHz/qW
	r6c/euJqx25duKgvfr6T/uX/FrTFuqqK+l770atbQr0E3AgAPmGlxljzsftGHCmJQvloxru0eiG
	w
X-Google-Smtp-Source: AGHT+IFp15N7bJoy1uj9VZVhqv262xx2DTCIl7aPyU0ozLfOJ9XP7as5n7JB5MZI1zMvOypBKRxu1A==
X-Received: by 2002:a17:906:480f:b0:a52:3ff7:744d with SMTP id w15-20020a170906480f00b00a523ff7744dmr7425863ejq.4.1714403789013;
        Mon, 29 Apr 2024 08:16:29 -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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Andrei Semenov <andrei.semenov@vates.fr>,
	Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: [PATCH 2/5] x86/cpu-policy: Add SVM features already used by Xen
Date: Mon, 29 Apr 2024 16:16:22 +0100
Message-Id: <20240429151625.977884-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429151625.977884-1-andrew.cooper3@citrix.com>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

These will replace svm_feature_flags and the SVM_FEATURE_* constants over the
next few changes.  Take the opportunity to rationalise some names.

Drop the opencoded "inherit from host" logic in calculate_hvm_max_policy() and
use 'h'/'!' annotations.  The logic needs to operate on fs, not the policy
object, given its position within the function.

Drop some trailing whitespace introduced when this block of code was last
moved.

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: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Andrei Semenov <andrei.semenov@vates.fr>
CC: Vaishali Thakkar <vaishali.thakkar@vates.tech>
---
 tools/misc/xen-cpuid.c                      | 11 +++++++++++
 xen/arch/x86/cpu-policy.c                   | 17 +++++------------
 xen/include/public/arch-x86/cpufeatureset.h | 14 ++++++++++++++
 xen/tools/gen-cpuid.py                      |  3 +++
 4 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index ab09410a05d6..0d01b0e797f1 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -266,6 +266,17 @@ static const char *const str_m10Ah[32] =
 
 static const char *const str_eAd[32] =
 {
+    [ 0] = "npt",                 [ 1] = "v-lbr",
+    [ 2] = "svm-lock",            [ 3] = "nrips",
+    [ 4] = "v-tsc-rate",          [ 5] = "vmcb-cleanbits",
+    [ 6] = "flush-by-asid",       [ 7] = "decode-assist",
+
+    [10] = "pause-filter",
+    [12] = "pause-thresh",
+    /* 14 */                      [15] = "v-loadsave",
+    [16] = "v-gif",
+    /* 18 */                      [19] = "npt-sss",
+    [20] = "v-spec-ctrl",
 };
 
 static const char *const str_e1Fa[32] =
diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 4b6d96276399..da4401047e89 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -9,7 +9,6 @@
 #include <asm/amd.h>
 #include <asm/cpu-policy.h>
 #include <asm/hvm/nestedhvm.h>
-#include <asm/hvm/svm/svm.h>
 #include <asm/intel-family.h>
 #include <asm/msr-index.h>
 #include <asm/paging.h>
@@ -748,22 +747,16 @@ static void __init calculate_hvm_max_policy(void)
     if ( !cpu_has_vmx )
         __clear_bit(X86_FEATURE_PKS, fs);
 
-    /* 
+    /*
      * Make adjustments to possible (nested) virtualization features exposed
      * to the guest
      */
-    if ( p->extd.svm )
+    if ( test_bit(X86_FEATURE_SVM, fs) )
     {
-        /* Clamp to implemented features which require hardware support. */
-        p->extd.raw[0xa].d &= ((1u << SVM_FEATURE_NPT) |
-                               (1u << SVM_FEATURE_LBRV) |
-                               (1u << SVM_FEATURE_NRIPS) |
-                               (1u << SVM_FEATURE_PAUSEFILTER) |
-                               (1u << SVM_FEATURE_DECODEASSISTS));
-        /* Enable features which are always emulated. */
-        p->extd.raw[0xa].d |= (1u << SVM_FEATURE_VMCBCLEAN);
+        /* Xen always emulates cleanbits. */
+        __set_bit(X86_FEATURE_VMCB_CLEANBITS, fs);
     }
-    
+
     guest_common_max_feature_adjustments(fs);
     guest_common_feature_adjustments(fs);
 
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 0f869214811e..80d252a38c2d 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -358,6 +358,20 @@ XEN_CPUFEATURE(RFDS_CLEAR,         16*32+28) /*!A Register File(s) cleared by VE
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.edx, word 17 */
 
 /* AMD-defined CPU features, CPUID level 0x8000000a.edx, word 18 */
+XEN_CPUFEATURE(NPT,                18*32+ 0) /*h  Nested PageTables */
+XEN_CPUFEATURE(V_LBR,              18*32+ 1) /*h  Virtualised LBR */
+XEN_CPUFEATURE(SVM_LOCK,           18*32+ 2) /*   SVM locking MSR */
+XEN_CPUFEATURE(NRIPS,              18*32+ 3) /*h  Next-RIP saved on VMExit */
+XEN_CPUFEATURE(V_TSC_RATE,         18*32+ 4) /*   Virtualised TSC Ratio */
+XEN_CPUFEATURE(VMCB_CLEANBITS,     18*32+ 5) /*!  VMCB Clean-bits */
+XEN_CPUFEATURE(FLUSH_BY_ASID,      18*32+ 6) /*   TLB Flush by ASID */
+XEN_CPUFEATURE(DECODE_ASSIST,      18*32+ 7) /*h  Decode assists */
+XEN_CPUFEATURE(PAUSE_FILTER,       18*32+10) /*h  Pause filter */
+XEN_CPUFEATURE(PAUSE_THRESH,       18*32+12) /*   Pause filter threshold */
+XEN_CPUFEATURE(V_LOADSAVE,         18*32+15) /*   Virtualised VMLOAD/SAVE */
+XEN_CPUFEATURE(V_GIF,              18*32+16) /*   Virtualised GIF */
+XEN_CPUFEATURE(NPT_SSS,            18*32+19) /*   NPT Supervisor Shadow Stacks */
+XEN_CPUFEATURE(V_SPEC_CTRL,        18*32+20) /*   Virtualised MSR_SPEC_CTRL */
 
 /* AMD-defined CPU features, CPUID level 0x8000001f.eax, word 19 */
 
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index bf3f9ec01e6e..f07b1f4cf905 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -280,6 +280,9 @@ def crunch_numbers(state):
         # standard 3DNow in the earlier K6 processors.
         _3DNOW: [_3DNOWEXT],
 
+        # The SVM bit enumerates the whole SVM leave.
+        SVM: list(range(NPT, NPT + 32)),
+
         # This is just the dependency between AVX512 and AVX2 of XSTATE
         # feature flags.  If want to use AVX512, AVX2 must be supported and
         # enabled.  Certain later extensions, acting on 256-bit vectors of
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:16:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714188.1115292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk5-0007HB-UF; Mon, 29 Apr 2024 15:16:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714188.1115292; Mon, 29 Apr 2024 15:16:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk5-0007H0-R3; Mon, 29 Apr 2024 15:16:33 +0000
Received: by outflank-mailman (input) for mailman id 714188;
 Mon, 29 Apr 2024 15:16: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=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Sk4-0006fc-Bd
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:16:32 +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 74fb9fe8-063b-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:16:30 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-516ef30b16eso5113272e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:16:30 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ah2-20020a1709069ac200b00a4e393b6349sm13898875ejc.5.2024.04.29.08.16.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:16: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: 74fb9fe8-063b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714403790; x=1715008590; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q95oo9lBt9umv6UIN2GoLMgj9CrXSSoAkZ3vrRjbn0Q=;
        b=ZrbR+r8322d6a/9AcS7erXXS7v9++Ah67eWrtTtPXg88GW9krJFD60gi63DDXRQySc
         zXZGfaidRN7IUWVzo54TI3z44TAPOS4/RR5qM6+NmNsIHOaNnT0XFodlw/xvoN2+ufOn
         1sQps2UTikfau77fUBHzqxKIP2IjftR7mx+iM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403790; x=1715008590;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=q95oo9lBt9umv6UIN2GoLMgj9CrXSSoAkZ3vrRjbn0Q=;
        b=J0PvOeh/7hVsu/GRtc+t2rUS8Pa9HudNDStokMkhegCaOWoft7FnyaCt352Pt4LcM6
         37U6u4XYLxWcyzb26h0DlOjRb5j+RXpdbWo6PLC8bVHWgwuQu3II0iXkwTCq24QpK1Wz
         95O9MsHNwQgBvn50DGQE5SBiH0HGC9owkdPGXltzVAukQU1NqNNPg16CZTkfxkI4S97G
         KYkPi2YoE19hAG6UmlLK7oAaYGlfXicDGPHWv6HsObJCoZLwVILECVckvm9x7jxQRbFO
         uQ0VNhxi4X/3EszUF73IoeHSzYkCpr3SsH8X+EGJovVZ3MjtZ3OtrxOxg9wjDWG19bHW
         JDcg==
X-Gm-Message-State: AOJu0Yy3GukEZfjxeVRGQbPIFHlxVsGzcYbn4dpwbnhb0NkZT4X/Shn0
	JJ1QxbqiUcgLW1SDXfuoluZXsWS4hYsMY95mmGli0XYlHoDmo2eMLFCYXwkoa10yFUZpHHz28IW
	m
X-Google-Smtp-Source: AGHT+IE8bbG1hHbsIx2V67uagxcMqS9yaZeds9wNUKKmIUDWYfrx93281JtK4elkGLWgJ5M+fZKO1g==
X-Received: by 2002:a05:6512:3102:b0:51d:2c37:6c15 with SMTP id n2-20020a056512310200b0051d2c376c15mr4241227lfb.8.1714403790030;
        Mon, 29 Apr 2024 08:16:30 -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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Andrei Semenov <andrei.semenov@vates.fr>,
	Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: [PATCH 3/5] x86/spec-ctrl: Remove open-coded check of SVM_FEATURE_SPEC_CTRL
Date: Mon, 29 Apr 2024 16:16:23 +0100
Message-Id: <20240429151625.977884-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429151625.977884-1-andrew.cooper3@citrix.com>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Now that the SVM feature leaf has been included in normal feature handling, it
is available early enough for init_speculation_mitigations() to use.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Andrei Semenov <andrei.semenov@vates.fr>
CC: Vaishali Thakkar <vaishali.thakkar@vates.tech>
---
 xen/arch/x86/include/asm/cpufeature.h | 3 +++
 xen/arch/x86/spec_ctrl.c              | 7 +------
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 9bc553681f4a..77cfd900cb56 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -217,6 +217,9 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_has_rfds_no         boot_cpu_has(X86_FEATURE_RFDS_NO)
 #define cpu_has_rfds_clear      boot_cpu_has(X86_FEATURE_RFDS_CLEAR)
 
+/* CPUID level 0x8000000a.edx */
+#define cpu_has_v_spec_ctrl     boot_cpu_has(X86_FEATURE_V_SPEC_CTRL)
+
 /* Synthesized. */
 #define cpu_has_arch_perfmon    boot_cpu_has(X86_FEATURE_ARCH_PERFMON)
 #define cpu_has_cpuid_faulting  boot_cpu_has(X86_FEATURE_CPUID_FAULTING)
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index 40f6ae017010..0bda9d01def5 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -11,7 +11,6 @@
 #include <xen/warning.h>
 
 #include <asm/amd.h>
-#include <asm/hvm/svm/svm.h>
 #include <asm/intel-family.h>
 #include <asm/microcode.h>
 #include <asm/msr.h>
@@ -1896,12 +1895,8 @@ void __init init_speculation_mitigations(void)
          *
          * No need for SCF_ist_sc_msr because Xen's value is restored
          * atomically WRT NMIs in the VMExit path.
-         *
-         * TODO: Adjust cpu_has_svm_spec_ctrl to be usable earlier on boot.
          */
-        if ( opt_msr_sc_hvm &&
-             (boot_cpu_data.extended_cpuid_level >= 0x8000000aU) &&
-             (cpuid_edx(0x8000000aU) & (1u << SVM_FEATURE_SPEC_CTRL)) )
+        if ( opt_msr_sc_hvm && cpu_has_v_spec_ctrl )
             setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
     }
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:16:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714185.1115261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk2-0006Yo-7D; Mon, 29 Apr 2024 15:16:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714185.1115261; Mon, 29 Apr 2024 15: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 1s1Sk2-0006Yh-4d; Mon, 29 Apr 2024 15:16:30 +0000
Received: by outflank-mailman (input) for mailman id 714185;
 Mon, 29 Apr 2024 15:16: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=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Sk1-0006Yb-59
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:16:29 +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 73671c86-063b-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:16:28 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516d4d80d00so5811883e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:16:28 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ah2-20020a1709069ac200b00a4e393b6349sm13898875ejc.5.2024.04.29.08.16.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:16: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: 73671c86-063b-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714403787; x=1715008587; 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=ARwKD8NnQuoF1+xb6uNuvZwD8zOCHWahqmHkc59mx5M=;
        b=Zwx4+arhHs3l7N2HKM08ybLCg+2Q4zbNZO5x8gu4A94Wa/gESW3CnPJhq02ebg31jK
         qMiD+XtS2ilB9ni1bO+Rqxl97Vj/W+PxO0iR1N9/4ycMMLYw9Kn1bARMvCJODcNMYejd
         Ce+94cedbO0Qbkdiou32cFMxf+gTdC9jMidn0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403787; x=1715008587;
        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=ARwKD8NnQuoF1+xb6uNuvZwD8zOCHWahqmHkc59mx5M=;
        b=BcDNNhk1VLZr1v7+n7FxuI35COVkdFPl4bqaico1Glt4QgzJLQNVWEalPBoUOpEP2y
         CdqDJVxRrzyR5F9as0V9a52NMFXHz1bJEjsVMC5417GnBhMbHpZj2KxSEo6dsLhGXLNa
         V4j8kg8T/6Gq7VVlteAXUSjnRyxcIfvKAu0dr7Eh+f90MbFYY5E3FXMoQSF+r0laweJ/
         FhzGabwe+vee9sCXpRkwbIE8QartfCdrlesKQHGy9y8b5i/Ht28kswlcHS8mI5lIiPR5
         MELu5EApUWPScb96kzh5+Jx/xVCuONNhWRAovXffR5jlgOVbL9AxTZe3XrCUYbmVQUb/
         pU8w==
X-Gm-Message-State: AOJu0YzbNKnxuzZHtdd7swI0InqQSF9m5cvYNrDeVrNWjjlkPgvIRUy8
	36XxX6w8Hsjj3poAqeQO1mfghyaCuY+QnmuwuC0jSIe57G4BwJ4nnVl2fSxqhbiO8eNClkV+Ufr
	1
X-Google-Smtp-Source: AGHT+IEvYEtaBMx7bCM5l4trc8XOAFmTPKX77fx9dRw1sG88R7jpLDOmioDheLZPpRc7wBQ8GLFtEQ==
X-Received: by 2002:a05:6512:1328:b0:51c:8b45:c9fb with SMTP id x40-20020a056512132800b0051c8b45c9fbmr8032701lfu.69.1714403787098;
        Mon, 29 Apr 2024 08:16: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Andrei Semenov <andrei.semenov@vates.fr>,
	Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: [PATCH 0/5] x86: AMD CPUID handling improvements
Date: Mon, 29 Apr 2024 16:16:20 +0100
Message-Id: <20240429151625.977884-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is (half) the series I've promised various people, to untangle some AMD
CPUID handling.  It moves the SVM feature leaf into the standard
x86_capabilities[] infrastructure.

On a random Milan system, with this in place, xen-cpuid reports:

Dynamic sets:
Raw                             178bfbff:7eda320b:2fd3fbff:75c237ff:0000000f:219c95a9:0040069c:00006799:91bef75f:00000000:00000000:0000204d:00000000:00000000:00000000:00000000:00000000:00000000:119b9cff:0101fd3f
  [18] CPUID 0x8000000a.edx     npt v-lbr svm-lock nrips v-tsc-rate vmcb-cleanbits flush-by-asid decode-assist pause-filter <11> pause-thresh v-loadsave v-gif <17> npt-sss v-spec-ctrl <23> <24> <28>
  [19] CPUID 0x8000001f.eax     sme sev <2> sev-es sev-snp <5> <8> <10> <11> <12> <13> <14> <15> <16> <24>

Host                            178bf3ff:76da320b:2fd3fbff:644037ff:0000000f:219c95a9:0040068c:00000780:319ed205:00000000:00000000:18000045:00000000:00000000:00000000:00000000:00000000:00000000:001994ff:00000000
  [18] CPUID 0x8000000a.edx     npt v-lbr svm-lock nrips v-tsc-rate vmcb-cleanbits flush-by-asid decode-assist pause-filter pause-thresh v-loadsave v-gif npt-sss v-spec-ctrl
  [19] CPUID 0x8000001f.eax

HVM Max                         178bfbff:f6fa3203:2e500800:440001f7:0000000f:219c05a9:0040060c:00000100:331ed005:00000000:00000000:18000045:00000000:00000000:00000000:00000000:00000000:00000000:000004ab:00000000
  [18] CPUID 0x8000000a.edx     npt v-lbr nrips vmcb-cleanbits decode-assist pause-filter
  [19] CPUID 0x8000001f.eax


Unforunately, I haven't managed to do the second half to make the host_policy
usable earlier on boot.  Untanling __setup_xen() is proving stuborn due to
(ab)uses of the MB1 module list.

Andrew Cooper (5):
  x86/cpu-policy: Infrastructure for the AMD SVM and SEV leaves
  x86/cpu-policy: Add SVM features already used by Xen
  x86/spec-ctrl: Remove open-coded check of SVM_FEATURE_SPEC_CTRL
  x86/svm: Switch SVM features over normal cpu_has_*
  x86/cpu-policy: Introduce some SEV features

 tools/libs/light/libxl_cpuid.c              |  2 +
 tools/misc/xen-cpuid.c                      | 24 ++++++++++
 xen/arch/x86/cpu-policy.c                   | 17 +++----
 xen/arch/x86/cpu/common.c                   |  4 ++
 xen/arch/x86/hvm/svm/asid.c                 |  5 +--
 xen/arch/x86/hvm/svm/emulate.c              |  3 +-
 xen/arch/x86/hvm/svm/intr.c                 |  1 -
 xen/arch/x86/hvm/svm/nestedsvm.c            | 14 +++---
 xen/arch/x86/hvm/svm/svm.c                  | 50 +++++----------------
 xen/arch/x86/hvm/svm/vmcb.c                 |  1 -
 xen/arch/x86/include/asm/cpufeature.h       | 16 +++++++
 xen/arch/x86/include/asm/hvm/svm/svm.h      | 36 ---------------
 xen/arch/x86/spec_ctrl.c                    |  7 +--
 xen/include/public/arch-x86/cpufeatureset.h | 22 +++++++++
 xen/include/xen/lib/x86/cpu-policy.h        | 24 +++++++++-
 xen/lib/x86/cpuid.c                         |  4 ++
 xen/tools/gen-cpuid.py                      |  7 +++
 17 files changed, 128 insertions(+), 109 deletions(-)

--
2.30.2


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:16:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714189.1115298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk6-0007L6-Bl; Mon, 29 Apr 2024 15:16:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714189.1115298; Mon, 29 Apr 2024 15:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk6-0007KB-51; Mon, 29 Apr 2024 15:16:34 +0000
Received: by outflank-mailman (input) for mailman id 714189;
 Mon, 29 Apr 2024 15:16:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Sk4-0006Yb-EK
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:16:32 +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 75729faa-063b-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:16:31 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a524ecaf215so581407966b.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:16:31 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ah2-20020a1709069ac200b00a4e393b6349sm13898875ejc.5.2024.04.29.08.16.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:16: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: 75729faa-063b-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714403791; x=1715008591; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hcoqfARDqrlky4wrrXrfTQs6HHdphVhH1yCeBnWj98g=;
        b=VnUpaTz7SVuiwfx6lGxpKf+VhbbshzlqZ/xM1igF4q7JDPCtpCN8z9R1PWBLVDXpCy
         wosf6yTCeCl8kBTog+3tElrObI5ujctWG+1yHnsNMYOnPocU77zRpF3lciuXy/VwqdZV
         DvyJnYhdOzguFag/+k3ATo0zMmi6OIDKAZwso=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403791; x=1715008591;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hcoqfARDqrlky4wrrXrfTQs6HHdphVhH1yCeBnWj98g=;
        b=oyoaU4haKWZPTW7A0H8Vttws/0xngjCUOXbl2C7XFKZXbeO4h1eOg6osBa99L3I5+7
         ZpSxk9WBTCWp/U1LAtvbgXpeufTAEa82idJlXaZ1hzMSOfiyx4hoKmyZeAf1cYKozl6g
         nmaLRi4mUyWyhGxn59wfYWsrL8ZXhA0WQB1u6JuwJg9hNFDP9/uX/16lPjYh57J/y4Gy
         iskko8tWvxX3VLHOfpeF63qJlBv3VlcC3F8ZJQ6aqULSFTV5zbPPDp785q88TnzqdQxj
         1RzqolgQ883eJ6afhBoY2rNrWCZ3zD3h/5kK4HoIdfTFgk1xwSFK7w1l+PXKa8C+PJGI
         OJsQ==
X-Gm-Message-State: AOJu0YxWWb+BJ9NNTVyH443o99V7MGS2U7zuWSFCqLCp7JwEsxDr/aQH
	Vu5SrBrNqAK/MP1CVOSCCp7vhx/FqaB2BzI3bW8p0zaz+KsJoOWwOHmlWK+gbSUAQnou2ECPW54
	r
X-Google-Smtp-Source: AGHT+IFWAEGgtq2ZMf07u5/lgg0eSruUnxDMXty5VTYCGiE5SGPRdG6X5uS5LizX8qohzjYazAcKdQ==
X-Received: by 2002:a17:906:3498:b0:a55:77fd:17ff with SMTP id g24-20020a170906349800b00a5577fd17ffmr7433423ejb.32.1714403790928;
        Mon, 29 Apr 2024 08:16:30 -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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Andrei Semenov <andrei.semenov@vates.fr>,
	Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: [PATCH 4/5] x86/svm: Switch SVM features over normal cpu_has_*
Date: Mon, 29 Apr 2024 16:16:24 +0100
Message-Id: <20240429151625.977884-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429151625.977884-1-andrew.cooper3@citrix.com>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Delete the boot time rendering of advanced features.  It's entirely ad-hoc and
not even everything printed here is used by Xen.  It is available in
`xen-cpuid` now.

With (only) svm_load_segs_{,prefetch}() declared now in svm.h, only svm.c and
domain.c which need the header.  Clean up all others.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Andrei Semenov <andrei.semenov@vates.fr>
CC: Vaishali Thakkar <vaishali.thakkar@vates.tech>
---
 xen/arch/x86/hvm/svm/asid.c            |  5 ++-
 xen/arch/x86/hvm/svm/emulate.c         |  3 +-
 xen/arch/x86/hvm/svm/intr.c            |  1 -
 xen/arch/x86/hvm/svm/nestedsvm.c       | 14 ++++----
 xen/arch/x86/hvm/svm/svm.c             | 50 +++++++-------------------
 xen/arch/x86/hvm/svm/vmcb.c            |  1 -
 xen/arch/x86/include/asm/cpufeature.h  | 10 ++++++
 xen/arch/x86/include/asm/hvm/svm/svm.h | 36 -------------------
 8 files changed, 31 insertions(+), 89 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c
index 7977a8e86b53..6117a362d310 100644
--- a/xen/arch/x86/hvm/svm/asid.c
+++ b/xen/arch/x86/hvm/svm/asid.c
@@ -6,7 +6,6 @@
 
 #include <asm/amd.h>
 #include <asm/hvm/nestedhvm.h>
-#include <asm/hvm/svm/svm.h>
 
 #include "svm.h"
 
@@ -39,7 +38,7 @@ void svm_asid_handle_vmrun(void)
     {
         vmcb_set_asid(vmcb, true);
         vmcb->tlb_control =
-            cpu_has_svm_flushbyasid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH_ALL;
+            cpu_has_flush_by_asid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH_ALL;
         return;
     }
 
@@ -48,7 +47,7 @@ void svm_asid_handle_vmrun(void)
 
     vmcb->tlb_control =
         !need_flush ? TLB_CTRL_NO_FLUSH :
-        cpu_has_svm_flushbyasid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH_ALL;
+        cpu_has_flush_by_asid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH_ALL;
 }
 
 /*
diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
index 93ac1d3435f9..da6e21b2e270 100644
--- a/xen/arch/x86/hvm/svm/emulate.c
+++ b/xen/arch/x86/hvm/svm/emulate.c
@@ -11,7 +11,6 @@
 #include <asm/msr.h>
 #include <asm/hvm/emulate.h>
 #include <asm/hvm/hvm.h>
-#include <asm/hvm/svm/svm.h>
 #include <asm/hvm/svm/vmcb.h>
 
 #include "svm.h"
@@ -20,7 +19,7 @@ static unsigned long svm_nextrip_insn_length(struct vcpu *v)
 {
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
 
-    if ( !cpu_has_svm_nrips )
+    if ( !cpu_has_nrips )
         return 0;
 
 #ifndef NDEBUG
diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
index 4805c5567213..facd2894a2c6 100644
--- a/xen/arch/x86/hvm/svm/intr.c
+++ b/xen/arch/x86/hvm/svm/intr.c
@@ -17,7 +17,6 @@
 #include <asm/hvm/hvm.h>
 #include <asm/hvm/io.h>
 #include <asm/hvm/vlapic.h>
-#include <asm/hvm/svm/svm.h>
 #include <asm/hvm/nestedhvm.h> /* for nestedhvm_vcpu_in_guestmode */
 #include <asm/vm_event.h>
 #include <xen/event.h>
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 35a2cbfd7d13..255af112661f 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -6,7 +6,6 @@
  */
 
 #include <asm/hvm/support.h>
-#include <asm/hvm/svm/svm.h>
 #include <asm/hvm/svm/vmcb.h>
 #include <asm/hvm/nestedhvm.h>
 #include <asm/hvm/svm/svmdebug.h>
@@ -1620,7 +1619,7 @@ void svm_nested_features_on_efer_update(struct vcpu *v)
     {
         if ( !vmcb->virt_ext.fields.vloadsave_enable &&
              paging_mode_hap(v->domain) &&
-             cpu_has_svm_vloadsave )
+             cpu_has_v_loadsave )
         {
             vmcb->virt_ext.fields.vloadsave_enable = 1;
             general2_intercepts  = vmcb_get_general2_intercepts(vmcb);
@@ -1629,8 +1628,7 @@ void svm_nested_features_on_efer_update(struct vcpu *v)
             vmcb_set_general2_intercepts(vmcb, general2_intercepts);
         }
 
-        if ( !vmcb->_vintr.fields.vgif_enable &&
-             cpu_has_svm_vgif )
+        if ( !vmcb->_vintr.fields.vgif_enable && cpu_has_v_gif )
         {
             vintr = vmcb_get_vintr(vmcb);
             vintr.fields.vgif = svm->ns_gif;
@@ -1675,8 +1673,8 @@ void __init start_nested_svm(struct hvm_function_table *hvm_function_table)
      */
     hvm_function_table->caps.nested_virt =
         hvm_function_table->caps.hap && 
-        cpu_has_svm_lbrv &&
-        cpu_has_svm_nrips &&
-        cpu_has_svm_flushbyasid &&
-        cpu_has_svm_decode;
+        cpu_has_v_lbr &&
+        cpu_has_nrips &&
+        cpu_has_flush_by_asid &&
+        cpu_has_decode_assist;
 }
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 4719fffae589..16eb875aab94 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1287,7 +1287,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
      * that hardware doesn't perform DPL checking on injection.
      */
     if ( event->type == X86_EVENTTYPE_PRI_SW_EXCEPTION ||
-         (!cpu_has_svm_nrips && (event->type >= X86_EVENTTYPE_SW_INTERRUPT)) )
+         (!cpu_has_nrips && (event->type >= X86_EVENTTYPE_SW_INTERRUPT)) )
         svm_emul_swint_injection(&_event);
 
     switch ( _event.vector | -(_event.type == X86_EVENTTYPE_SW_INTERRUPT) )
@@ -1341,7 +1341,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
     switch ( _event.type )
     {
     case X86_EVENTTYPE_SW_INTERRUPT: /* int $n */
-        if ( cpu_has_svm_nrips )
+        if ( cpu_has_nrips )
             vmcb->nextrip = regs->rip + _event.insn_len;
         else
             regs->rip += _event.insn_len;
@@ -1355,7 +1355,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
          * semantics.
          */
         regs->rip += _event.insn_len;
-        if ( cpu_has_svm_nrips )
+        if ( cpu_has_nrips )
             vmcb->nextrip = regs->rip;
         eventinj.type = X86_EVENTTYPE_HW_EXCEPTION;
         break;
@@ -1365,7 +1365,7 @@ static void cf_check svm_inject_event(const struct x86_event *event)
          * Hardware special cases HW_EXCEPTION with vectors 3 and 4 as having
          * trap semantics, and will perform DPL checks.
          */
-        if ( cpu_has_svm_nrips )
+        if ( cpu_has_nrips )
             vmcb->nextrip = regs->rip + _event.insn_len;
         else
             regs->rip += _event.insn_len;
@@ -1982,7 +1982,7 @@ static int cf_check svm_msr_write_intercept(
 
     case MSR_IA32_DEBUGCTLMSR:
         vmcb_set_debugctlmsr(vmcb, msr_content);
-        if ( !msr_content || !cpu_has_svm_lbrv )
+        if ( !msr_content || !cpu_has_v_lbr )
             break;
         vmcb->virt_ext.fields.lbr_enable = 1;
         svm_disable_intercept_for_msr(v, MSR_IA32_DEBUGCTLMSR);
@@ -2480,8 +2480,6 @@ static struct hvm_function_table __initdata_cf_clobber svm_function_table = {
 
 const struct hvm_function_table * __init start_svm(void)
 {
-    bool printed = false;
-
     svm_host_osvw_reset();
 
     if ( _svm_cpu_up(true) )
@@ -2493,38 +2491,14 @@ const struct hvm_function_table * __init start_svm(void)
 
     setup_vmcb_dump();
 
-    if ( boot_cpu_data.extended_cpuid_level >= 0x8000000aU )
-        svm_feature_flags = cpuid_edx(0x8000000aU);
-
-    printk("SVM: Supported advanced features:\n");
-
     /* DecodeAssists fast paths assume nextrip is valid for fast rIP update. */
-    if ( !cpu_has_svm_nrips )
-        __clear_bit(SVM_FEATURE_DECODEASSISTS, &svm_feature_flags);
+    if ( !cpu_has_nrips )
+        setup_clear_cpu_cap(X86_FEATURE_DECODE_ASSIST);
 
     if ( cpu_has_tsc_ratio )
         svm_function_table.tsc_scaling.ratio_frac_bits = 32;
 
-#define P(p,s) if ( p ) { printk(" - %s\n", s); printed = 1; }
-    P(cpu_has_svm_npt, "Nested Page Tables (NPT)");
-    P(cpu_has_svm_lbrv, "Last Branch Record (LBR) Virtualisation");
-    P(cpu_has_svm_nrips, "Next-RIP Saved on #VMEXIT");
-    P(cpu_has_svm_cleanbits, "VMCB Clean Bits");
-    P(cpu_has_svm_flushbyasid, "TLB flush by ASID");
-    P(cpu_has_svm_decode, "DecodeAssists");
-    P(cpu_has_svm_vloadsave, "Virtual VMLOAD/VMSAVE");
-    P(cpu_has_svm_vgif, "Virtual GIF");
-    P(cpu_has_pause_filter, "Pause-Intercept Filter");
-    P(cpu_has_pause_thresh, "Pause-Intercept Filter Threshold");
-    P(cpu_has_tsc_ratio, "TSC Rate MSR");
-    P(cpu_has_svm_sss, "NPT Supervisor Shadow Stack");
-    P(cpu_has_svm_spec_ctrl, "MSR_SPEC_CTRL virtualisation");
-#undef P
-
-    if ( !printed )
-        printk(" - none\n");
-
-    svm_function_table.caps.hap = cpu_has_svm_npt;
+    svm_function_table.caps.hap = cpu_has_npt;
     svm_function_table.caps.hap_superpage_2mb = true;
     svm_function_table.caps.hap_superpage_1gb = cpu_has_page1gb;
 
@@ -2761,7 +2735,7 @@ void asmlinkage svm_vmexit_handler(void)
                     regs->rax, regs->rbx, regs->rcx,
                     regs->rdx, regs->rsi, regs->rdi);
 
-        if ( cpu_has_svm_decode )
+        if ( cpu_has_decode_assist )
             v->arch.hvm.svm.cached_insn_len = vmcb->guest_ins_len & 0xf;
         rc = paging_fault(va, regs);
         v->arch.hvm.svm.cached_insn_len = 0;
@@ -2906,14 +2880,14 @@ void asmlinkage svm_vmexit_handler(void)
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
     case VMEXIT_CR0_WRITE ... VMEXIT_CR15_WRITE:
-        if ( cpu_has_svm_decode && vmcb->ei.mov_cr.mov_insn )
+        if ( cpu_has_decode_assist && vmcb->ei.mov_cr.mov_insn )
             svm_vmexit_do_cr_access(vmcb, regs);
         else if ( !hvm_emulate_one_insn(x86_insn_is_cr_access, "CR access") )
             hvm_inject_hw_exception(X86_EXC_GP, 0);
         break;
 
     case VMEXIT_INVLPG:
-        if ( cpu_has_svm_decode )
+        if ( cpu_has_decode_assist )
         {
             svm_invlpg_intercept(vmcb->exitinfo1);
             __update_guest_eip(regs, vmcb->nextrip - vmcb->rip);
@@ -2994,7 +2968,7 @@ void asmlinkage svm_vmexit_handler(void)
         break;
 
     case VMEXIT_NPF:
-        if ( cpu_has_svm_decode )
+        if ( cpu_has_decode_assist )
             v->arch.hvm.svm.cached_insn_len = vmcb->guest_ins_len & 0xf;
         rc = vmcb->ei.npf.ec & PFEC_page_present
              ? p2m_pt_handle_deferred_changes(vmcb->ei.npf.gpa) : 0;
diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
index 4e1f61dbe038..4452ab1263d4 100644
--- a/xen/arch/x86/hvm/svm/vmcb.c
+++ b/xen/arch/x86/hvm/svm/vmcb.c
@@ -15,7 +15,6 @@
 #include <asm/hvm/svm/vmcb.h>
 #include <asm/msr-index.h>
 #include <asm/p2m.h>
-#include <asm/hvm/svm/svm.h>
 #include <asm/hvm/svm/svmdebug.h>
 #include <asm/spec_ctrl.h>
 
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 77cfd900cb56..b6fb8c24423c 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -218,6 +218,16 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_has_rfds_clear      boot_cpu_has(X86_FEATURE_RFDS_CLEAR)
 
 /* CPUID level 0x8000000a.edx */
+#define cpu_has_npt             boot_cpu_has(X86_FEATURE_NPT)
+#define cpu_has_v_lbr           boot_cpu_has(X86_FEATURE_V_LBR)
+#define cpu_has_nrips           boot_cpu_has(X86_FEATURE_NRIPS)
+#define cpu_has_tsc_ratio       boot_cpu_has(X86_FEATURE_V_TSC_RATE)
+#define cpu_has_flush_by_asid   boot_cpu_has(X86_FEATURE_FLUSH_BY_ASID)
+#define cpu_has_decode_assist   boot_cpu_has(X86_FEATURE_DECODE_ASSIST)
+#define cpu_has_pause_filter    boot_cpu_has(X86_FEATURE_PAUSE_FILTER)
+#define cpu_has_pause_thresh    boot_cpu_has(X86_FEATURE_PAUSE_THRESH)
+#define cpu_has_v_loadsave      boot_cpu_has(X86_FEATURE_V_LOADSAVE)
+#define cpu_has_v_gif           boot_cpu_has(X86_FEATURE_V_GIF)
 #define cpu_has_v_spec_ctrl     boot_cpu_has(X86_FEATURE_V_SPEC_CTRL)
 
 /* Synthesized. */
diff --git a/xen/arch/x86/include/asm/hvm/svm/svm.h b/xen/arch/x86/include/asm/hvm/svm/svm.h
index 4eeeb25da90c..06a951225e64 100644
--- a/xen/arch/x86/include/asm/hvm/svm/svm.h
+++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
@@ -21,40 +21,4 @@ bool svm_load_segs(unsigned int ldt_ents, unsigned long ldt_base,
                    unsigned long fs_base, unsigned long gs_base,
                    unsigned long gs_shadow);
 
-extern u32 svm_feature_flags;
-
-#define SVM_FEATURE_NPT            0 /* Nested page table support */
-#define SVM_FEATURE_LBRV           1 /* LBR virtualization support */
-#define SVM_FEATURE_SVML           2 /* SVM locking MSR support */
-#define SVM_FEATURE_NRIPS          3 /* Next RIP save on VMEXIT support */
-#define SVM_FEATURE_TSCRATEMSR     4 /* TSC ratio MSR support */
-#define SVM_FEATURE_VMCBCLEAN      5 /* VMCB clean bits support */
-#define SVM_FEATURE_FLUSHBYASID    6 /* TLB flush by ASID support */
-#define SVM_FEATURE_DECODEASSISTS  7 /* Decode assists support */
-#define SVM_FEATURE_PAUSEFILTER   10 /* Pause intercept filter support */
-#define SVM_FEATURE_PAUSETHRESH   12 /* Pause intercept filter support */
-#define SVM_FEATURE_VLOADSAVE     15 /* virtual vmload/vmsave */
-#define SVM_FEATURE_VGIF          16 /* Virtual GIF */
-#define SVM_FEATURE_SSS           19 /* NPT Supervisor Shadow Stacks */
-#define SVM_FEATURE_SPEC_CTRL     20 /* MSR_SPEC_CTRL virtualisation */
-
-static inline bool cpu_has_svm_feature(unsigned int feat)
-{
-    return svm_feature_flags & (1u << feat);
-}
-#define cpu_has_svm_npt       cpu_has_svm_feature(SVM_FEATURE_NPT)
-#define cpu_has_svm_lbrv      cpu_has_svm_feature(SVM_FEATURE_LBRV)
-#define cpu_has_svm_svml      cpu_has_svm_feature(SVM_FEATURE_SVML)
-#define cpu_has_svm_nrips     cpu_has_svm_feature(SVM_FEATURE_NRIPS)
-#define cpu_has_svm_cleanbits cpu_has_svm_feature(SVM_FEATURE_VMCBCLEAN)
-#define cpu_has_svm_flushbyasid cpu_has_svm_feature(SVM_FEATURE_FLUSHBYASID)
-#define cpu_has_svm_decode    cpu_has_svm_feature(SVM_FEATURE_DECODEASSISTS)
-#define cpu_has_svm_vgif      cpu_has_svm_feature(SVM_FEATURE_VGIF)
-#define cpu_has_pause_filter  cpu_has_svm_feature(SVM_FEATURE_PAUSEFILTER)
-#define cpu_has_pause_thresh  cpu_has_svm_feature(SVM_FEATURE_PAUSETHRESH)
-#define cpu_has_tsc_ratio     cpu_has_svm_feature(SVM_FEATURE_TSCRATEMSR)
-#define cpu_has_svm_vloadsave cpu_has_svm_feature(SVM_FEATURE_VLOADSAVE)
-#define cpu_has_svm_sss       cpu_has_svm_feature(SVM_FEATURE_SSS)
-#define cpu_has_svm_spec_ctrl cpu_has_svm_feature(SVM_FEATURE_SPEC_CTRL)
-
 #endif /* __ASM_X86_HVM_SVM_H__ */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:16:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:16:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714190.1115312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk7-0007nx-RR; Mon, 29 Apr 2024 15:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714190.1115312; Mon, 29 Apr 2024 15:16:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sk7-0007np-O4; Mon, 29 Apr 2024 15:16:35 +0000
Received: by outflank-mailman (input) for mailman id 714190;
 Mon, 29 Apr 2024 15:16:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Sk6-0006fc-5n
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:16:34 +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 7609761f-063b-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:16:32 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a58e2740cd7so370488866b.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:16:32 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ah2-20020a1709069ac200b00a4e393b6349sm13898875ejc.5.2024.04.29.08.16.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08: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: 7609761f-063b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714403792; x=1715008592; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CV04Tx+6NsZ8X0U2ufYfuFomh7VBRRmRmAKxgTh3wY4=;
        b=ul+veVfYxeRnBYKuGh62tNF+dlxekK+jLbnkK6MN773QU4zcOvQQ9Yqa4o9jMhxE5C
         IgTtHGNf6osYaGywVnEJqpAMG3wBqKxqhZAIARBqwZx4MK+KTKXjN50gwQ2zccOhx1pL
         vVWEmhedBsP7GQPJDF7kRVgwHDen4H8+ru69M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403792; x=1715008592;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CV04Tx+6NsZ8X0U2ufYfuFomh7VBRRmRmAKxgTh3wY4=;
        b=ic+/xL0VlPR4qI3dJ+s2ttKmKREwSrnUjYdG6LCC0VgNDwrU7uWbNEnafpafvxduQg
         hXjuGIYzm6C2n9QIBBMP0taJqZHMlC4JSniKQSXbYa5u3cfTvOwMA5wrbgkVvbzljMyj
         3kenc2Ae9nevkF8oeAZpLTwRLPWkjK6XVs8JEhuPHVCv/s7glK+4mOqHETKYEWh9CX0i
         JWJFxKhXuXFvO1wOGO6TT3wfejVeTaarwBSYp8MpxiQ1HI1Y6ETUBlFsBx3Q/wECHzmw
         6911o08F5xcComTjvFPMLYZ797UbDn9Notd1cG14IGoWrLgvkHzZVKfObSTmURJveHXe
         r6qg==
X-Gm-Message-State: AOJu0YwJeBDaldc4+TKYMUkni8+YszbHjkJNA4NvYbdHtmgDZGfjS2YH
	ncrU5FwiWwNdv4OtGySIIBwtadE4XLHnBTo0YvDJOzKKffikAG3/aeiYkrU8d2S3nMn0S4rQwew
	T
X-Google-Smtp-Source: AGHT+IGO5TKFQYD+gTBIWeGVUOgzvtYEWbvErapDz4z7ZkjskrEyh/eDv+ptI2Mb53VrbReYfmobjw==
X-Received: by 2002:a17:906:480f:b0:a58:8a33:1a39 with SMTP id w15-20020a170906480f00b00a588a331a39mr9853087ejq.3.1714403791795;
        Mon, 29 Apr 2024 08:16:31 -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>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Andrei Semenov <andrei.semenov@vates.fr>,
	Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: [PATCH 5/5] x86/cpu-policy: Introduce some SEV features
Date: Mon, 29 Apr 2024 16:16:25 +0100
Message-Id: <20240429151625.977884-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429151625.977884-1-andrew.cooper3@citrix.com>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

For display purposes only right now.

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: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: George Dunlap <george.dunlap@citrix.com>
CC: Andrei Semenov <andrei.semenov@vates.fr>
CC: Vaishali Thakkar <vaishali.thakkar@vates.tech>

This is only half the work to get SEV working nicely.  The other
half (rearranging __start_xen() so we can move the host policy collection
earlier) is still a work-in-progress.
---
 tools/misc/xen-cpuid.c                      | 3 +++
 xen/arch/x86/include/asm/cpufeature.h       | 3 +++
 xen/include/public/arch-x86/cpufeatureset.h | 4 ++++
 xen/tools/gen-cpuid.py                      | 6 +++++-
 4 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 0d01b0e797f1..1463e0429ba1 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -281,6 +281,9 @@ static const char *const str_eAd[32] =
 
 static const char *const str_e1Fa[32] =
 {
+    [ 0] = "sme",                 [ 1] = "sev",
+    /* 2 */                       [ 3] = "sev-es",
+    [ 4] = "sev-snp",
 };
 
 static const struct {
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index b6fb8c24423c..732f0d2bf758 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -230,6 +230,9 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_has_v_gif           boot_cpu_has(X86_FEATURE_V_GIF)
 #define cpu_has_v_spec_ctrl     boot_cpu_has(X86_FEATURE_V_SPEC_CTRL)
 
+/* CPUID level 0x8000001f.eax */
+#define cpu_has_sev             boot_cpu_has(X86_FEATURE_SEV)
+
 /* Synthesized. */
 #define cpu_has_arch_perfmon    boot_cpu_has(X86_FEATURE_ARCH_PERFMON)
 #define cpu_has_cpuid_faulting  boot_cpu_has(X86_FEATURE_CPUID_FAULTING)
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 80d252a38c2d..7ee0f2329151 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -374,6 +374,10 @@ XEN_CPUFEATURE(NPT_SSS,            18*32+19) /*   NPT Supervisor Shadow Stacks *
 XEN_CPUFEATURE(V_SPEC_CTRL,        18*32+20) /*   Virtualised MSR_SPEC_CTRL */
 
 /* AMD-defined CPU features, CPUID level 0x8000001f.eax, word 19 */
+XEN_CPUFEATURE(SME,                19*32+ 0) /*   Secure Memory Encryption */
+XEN_CPUFEATURE(SEV,                19*32+ 1) /*   Secure Encryped VM */
+XEN_CPUFEATURE(SEV_ES,             19*32+ 3) /*   SEV Encrypted State */
+XEN_CPUFEATURE(SEV_SNP,            19*32+ 4) /*   SEV Secure Nested Paging */
 
 #endif /* XEN_CPUFEATURE */
 
diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
index f07b1f4cf905..bff4d9389ff6 100755
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -281,7 +281,7 @@ def crunch_numbers(state):
         _3DNOW: [_3DNOWEXT],
 
         # The SVM bit enumerates the whole SVM leave.
-        SVM: list(range(NPT, NPT + 32)),
+        SVM: list(range(NPT, NPT + 32)) + [SEV],
 
         # This is just the dependency between AVX512 and AVX2 of XSTATE
         # feature flags.  If want to use AVX512, AVX2 must be supported and
@@ -341,6 +341,10 @@ def crunch_numbers(state):
 
         # The behaviour described by RRSBA depend on eIBRS being active.
         EIBRS: [RRSBA],
+
+        SEV: [SEV_ES],
+
+        SEV_ES: [SEV_SNP],
     }
 
     deep_features = tuple(sorted(deps.keys()))
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:17:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714205.1115322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SlP-0001Eg-8W; Mon, 29 Apr 2024 15:17:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714205.1115322; Mon, 29 Apr 2024 15: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 1s1SlP-0001EZ-3s; Mon, 29 Apr 2024 15:17:55 +0000
Received: by outflank-mailman (input) for mailman id 714205;
 Mon, 29 Apr 2024 15:17:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1SlO-0001ER-92
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:17:54 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a57618cb-063b-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:17:52 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-34c90082dd7so1994631f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08: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
 b7-20020a5d4b87000000b0034cf3001104sm3793635wrt.33.2024.04.29.08.17.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08: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: a57618cb-063b-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714403871; x=1715008671; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=R/eP+fRRl8UUnLiR47sXHSzrJa42Vx1Zgp+yaAriLm0=;
        b=Qe68pR20enuLloTc6DkIu1auTo48m1Xyq2XaGPSs9cmcc+LXNLYHOtf/yoE76AZ5Vr
         A7Fmrqjlus84ymWVIF1plHx/wEKX/EPBFEI4O+PGo6i6Ytq9tPjnSJa1a1qjxN2W9lJS
         /yWjcd6uxhVFtYhayB4ztxQhjf3QlUty10DEiWWbReYctGJK9/Q8qDD9b2MeA7nlEZfz
         OirbsOioH2ZKvO3wk9TTL/qWhqXbGzyqZxYS7iX4/1Z41q6jcyab1s1MB2C1P3XEiVio
         gtDymhXu1q552USEGXJLD9U0ZK2/OANQ0jWZmuFAzOmrrqmiaWmf/cW5qIiW7cuAjiAr
         TQHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714403871; x=1715008671;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=R/eP+fRRl8UUnLiR47sXHSzrJa42Vx1Zgp+yaAriLm0=;
        b=IV4316XHXfb5tR5k651qaZEf0T88o3FJmR9NnTVd4gnmk3TcVw7Xvs/ygGncUKZn4n
         U6qbLH7vxAgBP3D526Ff4iyEgwh5tDNNymDiLO1svyCAmjhGaMKqaGw/2elZ9W2uiY5r
         OlTMfxMuCUxmT33BnkIlyl+SrA0FLhWPVvunU/ZbyaC1xKenhhik+G1NUpj17P0fnsf2
         DX1JygRK3HJzL0neBo9pxjbyGaVlniw9rJgtdrxhJs7nNW8YvJylgxvlEJ9XPyt0jADo
         8wPbZWbldgDuoFoqUfehdfKCg+iqsNYZqVTn0lwT7OWe3TsBIXiy1wXD2kdxNt54KbuY
         oSLg==
X-Forwarded-Encrypted: i=1; AJvYcCXMg2QvU27q5H2C5BzgTKzmZawyqFxYt0o7UZPs6jf0rWuHKIevQKOE55vACepcXZANwabmZNtpD4/HQSaG7Xxcl6hbUYsAOEJ/fz/V3+M=
X-Gm-Message-State: AOJu0YyyU3I0O2ckEofNEi1mtBTyuvhFvysZlmrZkqfRwzht+rqP03Hk
	mc36NyO48Gcd6tNr8c2VxexBZQIDB7iTWthg/6UDN60O9JE1lEZw2om/71+p9w==
X-Google-Smtp-Source: AGHT+IERQe84pJwqUuCVgagW5ajwuCCLZhObe2muya2b4iKV/D3boYcvVZ/rJeJAfKHZfC78vqty5A==
X-Received: by 2002:a5d:51cc:0:b0:34c:719e:6786 with SMTP id n12-20020a5d51cc000000b0034c719e6786mr6906363wrv.4.1714403871582;
        Mon, 29 Apr 2024 08:17:51 -0700 (PDT)
Message-ID: <b7db597f-469c-48b0-ba0a-6a62a1e6de36@suse.com>
Date: Mon, 29 Apr 2024 17:17:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 8/8] gzip: move crc state into gunzip state
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Jason Andryuk <jason.andryuk@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240424163422.23276-1-dpsmith@apertussolutions.com>
 <20240424163422.23276-9-dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240424163422.23276-9-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.04.2024 18:34, Daniel P. Smith wrote:
> Move the crc and its state into struct gunzip_state. In the process, expand the
> only use of CRC_VALUE as it is hides what is being compared.

Andrew mentioned uint32_t only for the description, but I think you want
(maybe even need) to go further and actually use that type also, e.g.

> --- a/xen/common/gzip/gunzip.c
> +++ b/xen/common/gzip/gunzip.c
> @@ -20,6 +20,9 @@ struct gunzip_state {
>  
>      unsigned long bb;      /* bit buffer */
>      unsigned int  bk;      /* bits in bit buffer */
> +
> +    uint32_t crc_32_tab[256];
> +    uint32_t crc;
>  };

... not just here, but also ...

> @@ -72,7 +75,7 @@ static __init void flush_window(struct gunzip_state *s)
>       * The window is equal to the output buffer therefore only need to
>       * compute the crc.
>       */
> -    unsigned long c = crc;
> +    unsigned int c = s->crc;

... here.

> --- a/xen/common/gzip/inflate.c
> +++ b/xen/common/gzip/inflate.c
> @@ -1032,16 +1032,12 @@ static int __init inflate(struct gunzip_state *s)
>   *
>   **********************************************************************/
>  
> -static ulg __initdata crc_32_tab[256];
> -static ulg __initdata crc;  /* initialized in makecrc() so it'll reside in bss */
> -#define CRC_VALUE (crc ^ 0xffffffffUL)

Note how this is _not_ same as ~0u, also ...

> @@ -1069,11 +1065,11 @@ static void __init makecrc(void)
>              if (k & 1)
>                  c ^= e;
>          }
> -        crc_32_tab[i] = c;
> +        s->crc_32_tab[i] = c;
>      }
>  
>      /* this is initialized here so this code could reside in ROM */
> -    crc = (ulg)0xffffffffUL; /* shift register contents */
> +    s->crc = (ulg)~0u; /* shift register contents */

... applicable here then: sizeof(int) >= 4, not ==.

As Andrew indicates, the cast previously wasn't needed here. Keeping it is
at best misleading, when s->crc isn't of that type anymore.

Finally please stick to upper-case number suffixes; see all the related Misra
changes, which (iirc) put in place only upper-case ones.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:22:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714218.1115344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SpW-000316-DQ; Mon, 29 Apr 2024 15:22:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714218.1115344; Mon, 29 Apr 2024 15:22:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SpW-00030R-7c; Mon, 29 Apr 2024 15:22:10 +0000
Received: by outflank-mailman (input) for mailman id 714218;
 Mon, 29 Apr 2024 15:22:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jDZ7=MC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1s1SpV-0002rB-F5
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:22:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d59800d-063c-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:22:07 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 810C84EE0751;
 Mon, 29 Apr 2024 17:22:06 +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: 3d59800d-063c-11ef-909b-e314d9c70b13
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 2/3] automation: do not allow failure for triggered analyses
Date: Mon, 29 Apr 2024 17:21:58 +0200
Message-Id: <34d8782629fc8cb1fe09060eb1aac2d6efab8096.1714401209.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714401209.git.federico.serafini@bugseng.com>
References: <cover.1714401209.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Do not allow_failure for triggered analyses:
introducing regressions of clean guidelines will cause a CI failure.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/gitlab-ci/analyze.yaml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index 46c9d8e2e5..32bf570149 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -26,7 +26,6 @@
 
 .eclair-analysis:triggered:
   extends: .eclair-analysis
-  allow_failure: true
   rules:
     - if: $CI_PIPELINE_SOURCE == "schedule"
       when: never
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:22:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714217.1115338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SpW-0002vY-44; Mon, 29 Apr 2024 15:22:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714217.1115338; Mon, 29 Apr 2024 15:22:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SpV-0002uT-Vu; Mon, 29 Apr 2024 15:22:09 +0000
Received: by outflank-mailman (input) for mailman id 714217;
 Mon, 29 Apr 2024 15:22: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=jDZ7=MC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1s1SpU-0002rB-F4
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:22:08 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d1f13b2-063c-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:22:06 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 1F8D54EE074E;
 Mon, 29 Apr 2024 17:22:06 +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: 3d1f13b2-063c-11ef-909b-e314d9c70b13
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 1/3] automation/eclair: tag Rule 7.2 as clean and temporarily remove Rules 1.1 and 8.2
Date: Mon, 29 Apr 2024 17:21:57 +0200
Message-Id: <69c412a2322151971bf2b2705cabe4a292882028.1714401209.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714401209.git.federico.serafini@bugseng.com>
References: <cover.1714401209.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to consider Rule 7.2 as clean.

Temporarily remove the clean tag from Rules 1.1 and 8.2:
when violations of such rules will be addressed, the clean tag will be
reintroduced.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/tagging.ecl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
index d609b470eb..bdf94ed996 100644
--- a/automation/eclair_analysis/ECLAIR/tagging.ecl
+++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
@@ -19,7 +19,7 @@
 
 -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
 
--service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R11.7||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R14.1||MC3R1.R16.7||MC3R1.R17.1||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.5||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R20.4||MC3R1.R20.9||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R2.2||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R8.2||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5"
+-service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R11.7||MC3R1.R11.9||MC3R1.R12.5||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R14.1||MC3R1.R16.7||MC3R1.R17.1||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.5||MC3R1.R17.6||MC3R1.R20.13||MC3R1.R20.14||MC3R1.R20.4||MC3R1.R20.9||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R2.2||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6||MC3R1.R2.6||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R4.2||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R5.6||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R7.2||MC3R1.R7.4||MC3R1.R8.1||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R9.2||MC3R1.R9.3||MC3R1.R9.4||MC3R1.R9.5"
 }
 
 -setq=target,getenv("XEN_TARGET_ARCH")
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:22:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714216.1115332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SpV-0002rY-RT; Mon, 29 Apr 2024 15:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714216.1115332; Mon, 29 Apr 2024 15:22:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SpV-0002rR-OW; Mon, 29 Apr 2024 15:22:09 +0000
Received: by outflank-mailman (input) for mailman id 714216;
 Mon, 29 Apr 2024 15: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=jDZ7=MC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1s1SpT-0002rB-Qw
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:22:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d07f806-063c-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:22:06 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 8EC554EE0738;
 Mon, 29 Apr 2024 17:22:05 +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: 3d07f806-063c-11ef-909b-e314d9c70b13
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 0/3] automation/eclair: do not allow failure for triggered analyses
Date: Mon, 29 Apr 2024 17:21:56 +0200
Message-Id: <cover.1714401209.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Patch 1/3 does some preparation work.

Patch 2/3, as the title says, removes allow_failure = true for triggered
analyses.

Patch 3/3 makes explicit that initally no files are tagged as adopted, this
is needed by the scheduled analysis.

Federico Serafini (3):
  automation/eclair: tag Rule 7.2 as clean and temporarily remove Rules
    1.1 and 8.2
  automation: do not allow failure for triggered analyses
  automation/eclair: make explicit there are no adopted files by default

 automation/eclair_analysis/ECLAIR/analysis.ecl | 4 ++++
 automation/eclair_analysis/ECLAIR/tagging.ecl  | 2 +-
 automation/gitlab-ci/analyze.yaml              | 1 -
 3 files changed, 5 insertions(+), 2 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:22:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714219.1115362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1SpX-0003X0-JY; Mon, 29 Apr 2024 15:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714219.1115362; Mon, 29 Apr 2024 15: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 1s1SpX-0003Vs-EH; Mon, 29 Apr 2024 15:22:11 +0000
Received: by outflank-mailman (input) for mailman id 714219;
 Mon, 29 Apr 2024 15:22: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=jDZ7=MC=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1s1SpW-0002rB-F6
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:22:10 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d99815a-063c-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:22:07 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id E100F4EE0752;
 Mon, 29 Apr 2024 17:22:06 +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: 3d99815a-063c-11ef-909b-e314d9c70b13
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: make explicit there are no adopted files by default
Date: Mon, 29 Apr 2024 17:21:59 +0200
Message-Id: <9d09f9787becdc356c076865e095d0ea97fbba62.1714401209.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714401209.git.federico.serafini@bugseng.com>
References: <cover.1714401209.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to consider no adopted files by default.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/analysis.ecl | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index a604582da3..66ed7f952c 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -21,6 +21,10 @@ map_strings("scheduled-analysis",analysis_kind)
 
 -eval_file=toolchain.ecl
 -eval_file=public_APIs.ecl
+
+-doc="Initially, there are no files tagged as adopted."
+-file_tag+={adopted,"none()"}
+
 if(not(scheduled_analysis),
     eval_file("adopted.ecl")
 )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:24:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:24:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714232.1115371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Ss9-0005du-VI; Mon, 29 Apr 2024 15:24:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714232.1115371; Mon, 29 Apr 2024 15:24:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Ss9-0005dn-Sn; Mon, 29 Apr 2024 15:24:53 +0000
Received: by outflank-mailman (input) for mailman id 714232;
 Mon, 29 Apr 2024 15:24:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Ss8-0005dY-Ft
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:24:52 +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 9ee06310-063c-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:24:50 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41b79450f8cso28116125e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:24:50 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n22-20020a05600c3b9600b0041c12324eb6sm6436749wms.22.2024.04.29.08.24.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08:24: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: 9ee06310-063c-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714404290; x=1715009090; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=puu+YMoNGaCvboAGTUUbCnylgujEx4L9+WKf4ok/v5M=;
        b=OWWoCbUGwJia7N/hQM8LHqtPuYxt+bR0bT8Lwb8Xcilkcqcs9/vfmfVZr7/Ivmpqo9
         vYEpuzI1qaGv4TrVvqgpJjXwYJ39mU7FqL9rrzJKHy+GnYv5UEKy3256I+Oy5zKX62AU
         gXIYBOQ55zzxCuARfDqIGkcfIN26rGCQ8xfio=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714404290; x=1715009090;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=puu+YMoNGaCvboAGTUUbCnylgujEx4L9+WKf4ok/v5M=;
        b=o2aVGZm7ismLrrTiSwlzhMW18mNqUg+Zymu9P0+rCIXfghhGk6mYf5jWCa9+vF2+hB
         v9TGGAlj7KOIU3BMQH4HjYDG9hXBtgEHvikLUK+aRKl3YFBXm0OHuNEV1lYvvPp9sEC2
         n8ekfgTQYZUDL9nemNnDR6guDKqsUcRKEWIykEsQUfzGTLxzCgKYD9Jw+fxgsg2A2Zo+
         h/DYA4F6iapvmJIcMM1IAfOUHaLfAFhdeNJGuAQyPzIXKfFXOT2v3yVANGvVKxOU7U62
         aNjvJbuD0WukH5TYW0s6DnEBC8g+mZHjlsrOgU8z2+L3pTwwXHnl8WId7joOUij1Gv1W
         5d2Q==
X-Gm-Message-State: AOJu0YztAARMyGvWDi+ztntJ7bFYMmsDDGYR+nszZyV21ihLSbcf0Sy8
	cO+XjUA0d+kYYtzyRmIBVuH2bXwQof87P+kkOQSOpM9P1XNBwxhFyNNdfLs49Nrvj48k5RD+LJ6
	W
X-Google-Smtp-Source: AGHT+IGfQUJcWU4nAViMuHdz1vPmRbrrh9wA15sKfDmIGgLLxoxtz5l2NqjrPuXEbmPvgwhf7IiFuA==
X-Received: by 2002:a05:600c:4744:b0:41c:7ac7:17f5 with SMTP id w4-20020a05600c474400b0041c7ac717f5mr104133wmo.24.1714404289774;
        Mon, 29 Apr 2024 08:24:49 -0700 (PDT)
Message-ID: <6d481090-1a2e-4fe4-8e63-6367d93113b6@citrix.com>
Date: Mon, 29 Apr 2024 16:24:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/cpu-policy: Add SVM features already used by Xen
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-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: <20240429151625.977884-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29/04/2024 4:16 pm, Andrew Cooper wrote:
> diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
> index bf3f9ec01e6e..f07b1f4cf905 100755
> --- a/xen/tools/gen-cpuid.py
> +++ b/xen/tools/gen-cpuid.py
> @@ -280,6 +280,9 @@ def crunch_numbers(state):
>          # standard 3DNow in the earlier K6 processors.
>          _3DNOW: [_3DNOWEXT],
>  
> +        # The SVM bit enumerates the whole SVM leave.
> +        SVM: list(range(NPT, NPT + 32)),

This should say leaf.  Fixed locally.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:29:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:29:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714243.1115382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Sw4-0006mW-Gb; Mon, 29 Apr 2024 15:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714243.1115382; Mon, 29 Apr 2024 15: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 1s1Sw4-0006mP-DB; Mon, 29 Apr 2024 15:28:56 +0000
Received: by outflank-mailman (input) for mailman id 714243;
 Mon, 29 Apr 2024 15: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1Sw2-0006kh-KA
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:28:54 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fd81cfc-063d-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:28:53 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-41ba1ba55e8so22937815e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08: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
 h3-20020a05600c314300b0041abdaf8c6asm23778491wmo.13.2024.04.29.08.28.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08: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: 2fd81cfc-063d-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714404533; x=1715009333; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=InuNWt0ReyR2Trsd1gbfxM3taYTaGWFpkdDWJENvI7A=;
        b=YZ9UGV6GTV6ELX4HzATaxOW6VoqLRXsLzuQYnDriK7xwc4SLie526W5bbIKw/3yp3p
         LKCRGNvv9OaabJdIgXnGM+GSON0WhUT2P4mfKMd5pKsq131BB0yFgIBjTqpKlFrUQGji
         BF4cwkrT6tuzxSpH+4Rw5aT0wll0GdCigMhkc+SfRytqQplDb7sBs3IRP4m6uFha1PMM
         Jqis6Hhe8NgZnxwwYhLE9sljrR16bHqwBdoHHFPEHZQLVXqQK105DazF4H3bW1XBJSNj
         pfr5ukpisuR2wPJAaDN3xVOe6uWuLukY76SIof2R+L7HRHXAfkqLQL9Zkj+SZSNf56FD
         hFHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714404533; x=1715009333;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=InuNWt0ReyR2Trsd1gbfxM3taYTaGWFpkdDWJENvI7A=;
        b=XSQ2PDvcPBOTtrYPQskGDKu13seDO2zAcADoqM4muM/qfNyTlFmPRQLlWp1BqyKwnh
         a6Z+PF2/DN4taOWCGZi0Mz0qd8dY+n1jMzqEZY3ZaKtOcum8ohL9Lr7i4dmzKQhnNHAE
         KaLtfjkVV2JOIaAW58Er/qHGYc7LZZ45OIZJ6dVntz4w/Ti2qSI9MbLcFWze+vJadiRO
         9TFhqLxzC8oJPxGltoI3DddR5CaNhSQiIPUB6HvFO3CvZF/lu+fpc5j/qKisO3P+wcD3
         lyxNHQEOWkN4ToOiacekjxipizyVgYSf7WICYvaP07yYgZ3M9qWPk2/C+NGVLjQxF/w8
         Q8cA==
X-Forwarded-Encrypted: i=1; AJvYcCVnkHe6Z4QpHew/BD+fAPNneD2J2+2PJf0f8Gj5Lrih0wVQLcTPrA75T6i2P3t+jQBSUT9mkqB3ilUv/Dune+7St/E1c6MCtMgzaX4QtY8=
X-Gm-Message-State: AOJu0YxazFlwiEmkulhJezlexsSiZIW+uHF4Vzz8UnWHywtxjpJX3Yp8
	SFZHYDZ/FPE+HL/m0heiL1spguveVHaOq+2vd5ZBrbs2xe8d2KpQf7e34XK9KQ==
X-Google-Smtp-Source: AGHT+IE3oUNUq0kbjDDvksDm4N+kNYPQxmb4aduv106VmqGf3G3BQKOu6idkdYbdS2JhudU1ju+Hqw==
X-Received: by 2002:a05:600c:4f01:b0:414:273:67d4 with SMTP id l1-20020a05600c4f0100b00414027367d4mr103906wmq.30.1714404533342;
        Mon, 29 Apr 2024 08:28:53 -0700 (PDT)
Message-ID: <87f9b33e-146c-4a59-a1cc-e58bbee8647b@suse.com>
Date: Mon, 29 Apr 2024 17:28:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 1/7] x86/vpmu: separate amd/intel vPMU code
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <a708db7fe06d131256ed2c75f518efce3d078fbb.1713860310.git.Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a708db7fe06d131256ed2c75f518efce3d078fbb.1713860310.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 10:48, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/include/asm/vpmu.h
> +++ b/xen/arch/x86/include/asm/vpmu.h
> @@ -11,6 +11,7 @@
>  #define __ASM_X86_HVM_VPMU_H_
>  
>  #include <public/pmu.h>
> +#include <xen/err.h>
>  
>  #define vcpu_vpmu(vcpu)   (&(vcpu)->arch.vpmu)
>  #define vpmu_vcpu(vpmu)   container_of((vpmu), struct vcpu, arch.vpmu)
> @@ -42,9 +43,27 @@ struct arch_vpmu_ops {
>  #endif
>  };
>  
> +#ifdef CONFIG_INTEL
>  const struct arch_vpmu_ops *core2_vpmu_init(void);
> +#else
> +static inline const struct arch_vpmu_ops *core2_vpmu_init(void)
> +{
> +    return ERR_PTR(-ENODEV);
> +}
> +#endif
> +#ifdef CONFIG_AMD
>  const struct arch_vpmu_ops *amd_vpmu_init(void);
>  const struct arch_vpmu_ops *hygon_vpmu_init(void);
> +#else
> +static inline const struct arch_vpmu_ops *amd_vpmu_init(void)
> +{
> +    return ERR_PTR(-ENODEV);
> +}
> +static inline const struct arch_vpmu_ops *hygon_vpmu_init(void)
> +{
> +    return ERR_PTR(-ENODEV);
> +}
> +#endif

Any reason you don't follow the approach used in patch 7, putting simple
#ifdef in the switch() in vpmu_init()? That would avoid the need for the
three almost identical stubs.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:34:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:34:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714252.1115392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1T1C-0008Kl-2W; Mon, 29 Apr 2024 15:34:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714252.1115392; Mon, 29 Apr 2024 15:34:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1T1B-0008Ke-W7; Mon, 29 Apr 2024 15:34:13 +0000
Received: by outflank-mailman (input) for mailman id 714252;
 Mon, 29 Apr 2024 15:34: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1T1A-0008KY-TC
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:34:12 +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 ecbedfd1-063d-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:34:10 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41b869326daso21954205e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:34: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
 jx12-20020a05600c578c00b0041674bf7d4csm44997668wmb.48.2024.04.29.08.34.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08:34: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: ecbedfd1-063d-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714404850; x=1715009650; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=k8MsNoBgk+0o2iJjXPPiiY2xEx2R0zWeVOvCyicE3wY=;
        b=LIeLehENc98/E6bGdxzlBvGjgmzqOcsX6RjDWvN7sv4Hb/5nklowPUqtI3MjxNklia
         szWceIpRA6kRU2Ttk7chg+MfnV9qADZ0sRYwqjL/FPmiL9kahhpbh44BCjkJCnMHI2ZR
         4LfqgBYXtDnsEWInVBlfapIil9wWKgQGEcwoBSk07ZYlq+ZUBe0oKIpnS5JM5C74VKGm
         7+rDKVmWK8WkTqepJppLQ7QMISKNd1I7FLMW1bU+E8NDqhO3w5CrKQyIfXGq4iYgBb8M
         KgGGj4H3/bMrZPwrw58bm//MdufdlRS9bVA0X1p5SniDyMf5aUXVZ0pIowotX+tewrp3
         buwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714404850; x=1715009650;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=k8MsNoBgk+0o2iJjXPPiiY2xEx2R0zWeVOvCyicE3wY=;
        b=R+NMSOdRp3eVr1xPNzPxHbQg9OUzVcaDa8CVQXwPfiEUkVQ3VCd8uGgiCDx7YJih/T
         oZ0itiywMz0VU+0YJlP8zl9WmZjswlYDfIOJM6r0ogK0q6VthXppR6ePv7iHHjel1DSJ
         pRBayutQH+KNuDzPhrEuFxZVYTQAbC5HEBZLvelk8kGd8dJBebOSk5Keyz86YcF+o2wB
         wVQLZSg7NcixFTOdu/qjihORf40Dpy/4pkukWpR81wPoxsh+wOv2ywwLI8D5XKEVBfgS
         OD+o3Ukpl6PxccWzsBWnATWK7QjUKqQkoakDa1k94MxcxYpbAki9dqw6lVJY5KHaupUJ
         T0dg==
X-Forwarded-Encrypted: i=1; AJvYcCWno9Nu16VhYCjZ4U/ncxffxTnj9bER5Ch/T5IplbZdJ4St8RVso2cBwANGupH5bkXysS/vLsOFRithfMAEqEa3zG5RO90RSmypwA2J8Fk=
X-Gm-Message-State: AOJu0YyegR4LqagEhtE5Hh2fqCGdT+EI+NGVJSr3StLG07artMgApUvs
	vqmReYpFFqHg1AGowdIczYE6JlKmcNrrWvvYQLrpUQ/UXd5vgScJ6aWy1g3JWQ==
X-Google-Smtp-Source: AGHT+IH/lFgBhy907B2+wTMLmP2ZH7L/nu5TUMgS2xCrnlJg6qnqR3zJHkkVboexcTRNVcmqpni1lw==
X-Received: by 2002:a05:600c:3d8f:b0:41c:2992:a3be with SMTP id bi15-20020a05600c3d8f00b0041c2992a3bemr3908960wmb.29.1714404850210;
        Mon, 29 Apr 2024 08:34:10 -0700 (PDT)
Message-ID: <fd6bc6df-1b95-45fb-81ed-b0ccac1a0ad0@suse.com>
Date: Mon, 29 Apr 2024 17:34:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 2/7] x86/intel: guard vmce_has_lmce() with INTEL
 option
Content-Language: en-US
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: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <5e26895d84f8b7750799740ac2324b2cb92fa97e.1713860310.git.Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5e26895d84f8b7750799740ac2324b2cb92fa97e.1713860310.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 10:50, Sergiy Kibrik wrote:
> Since MCG_LMCE_P bit is specific to Intel CPUs

That's the case now. It could change going forward, and an underlying hypervisor
might also have (obscure?) reasons to surface it elsewhere.

> the code to check it can
> possibly be excluded from build if !CONFIG_INTEL. With these guards
> calls to vmce_has_lmce() are eliminated and mce_intel.c can end up
> not being built.
> 
> Also replace boilerplate code that checks for MCG_LMCE_P flag with
> vmce_has_lmce(), which might contribute to readability a bit.

Alternatively, have you considered making that function an inline one in a
suitable header? Besides addressing your build issue (I think), ...

> --- a/xen/arch/x86/cpu/mcheck/vmce.c
> +++ b/xen/arch/x86/cpu/mcheck/vmce.c
> @@ -199,7 +199,7 @@ int vmce_rdmsr(uint32_t msr, uint64_t *val)
>           * bits are always set in guest MSR_IA32_FEATURE_CONTROL by Xen, so it
>           * does not need to check them here.
>           */
> -        if ( cur->arch.vmce.mcg_cap & MCG_LMCE_P )
> +        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(cur) )

... doing so would alternatively also permit integrating the IS_ENABLED()
into the function, rather than repeating the same ...

> @@ -324,7 +324,7 @@ int vmce_wrmsr(uint32_t msr, uint64_t val)
>          break;
>  
>      case MSR_IA32_MCG_EXT_CTL:
> -        if ( (cur->arch.vmce.mcg_cap & MCG_LMCE_P) &&
> +        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(cur) &&
>               !(val & ~MCG_EXT_CTL_LMCE_EN) )
>              cur->arch.vmce.mcg_ext_ctl = val;
>          else
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -86,7 +86,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
>              goto gp_fault;
>  
>          *val = IA32_FEATURE_CONTROL_LOCK;
> -        if ( vmce_has_lmce(v) )
> +        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(v) )
>              *val |= IA32_FEATURE_CONTROL_LMCE_ON;
>          if ( cp->basic.vmx )
>              *val |= IA32_FEATURE_CONTROL_ENABLE_VMXON_OUTSIDE_SMX;

... three times.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:41:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714260.1115402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1T8R-0002XG-T5; Mon, 29 Apr 2024 15:41:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714260.1115402; Mon, 29 Apr 2024 15: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 1s1T8R-0002X9-QU; Mon, 29 Apr 2024 15:41:43 +0000
Received: by outflank-mailman (input) for mailman id 714260;
 Mon, 29 Apr 2024 15:41: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1T8Q-0002X3-Lb
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:41:42 +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 f973fe88-063e-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:41:41 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-41b782405bbso25520895e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:41: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
 g9-20020a05600c310900b0041a9fc2a6b5sm25341286wmo.20.2024.04.29.08.41.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08:41: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: f973fe88-063e-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714405301; x=1715010101; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=s223/epmC7X+WUARh03qJUAlKInDt1i8v0adBZzYBRQ=;
        b=BBk+jEXNGtHXlI2VQYsP3Ybjq83ug2/oES6oY9kpII2zFv7yJt2oVLlZE9E2lkHEe/
         TMad3B1rmcE4UKLCzi5+yzAK3dF1/OEyvf9t7BANJMr89DZ+kR2poeXUbsPZiaI6cP38
         usbKVN0ZpxG7iTeZR2WVzFFaprPmSqTq3RE45Q2qKU8yGAHNwQLMK1UbN84tj5pMsQdP
         FZxxCMJDcglgslE8JRaNSkWBzTA97dU/08QQdlTdU7JTjfTCQv2Kqv7uHrI3gz0Q5bkz
         dXLxAC/GXVkYixZMhkWAP0CWOTq11zXodpZFgHkuMmLx7Z0arBhOq/JjEWXS+UBwpjzG
         hvQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714405301; x=1715010101;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=s223/epmC7X+WUARh03qJUAlKInDt1i8v0adBZzYBRQ=;
        b=GBobWcfacL8bbM2f/J93BlOn8uQ9v8wzW6k4f0FFB65xUFTAEHdAreRheBaCcD953P
         N3tMhrw1lucxzG1M/ukQ6t3J4UHmbbjWybA3GQda9zhbdRaFggRFQFiuYNuMfoifLIAE
         ghm+HUkXVT69zcUaDPje2J8A2Sm8/FtQIC0ZXBPrk2ShLR/XQFg1Ng1KvWuLQLoGaSGM
         rjQsDWReo1W06g3QPau7Bv9DN3nVJUkpHw4qNz4GnQ+UuGhVLMGkMiOU7yNs/FP1GfBI
         fZzSLpsWEyWSBD8T5bZ8DeriUl0fQY3RJqKUz8CN/MB374LSEoFO5+INC0nsullFqj8Z
         M/CA==
X-Forwarded-Encrypted: i=1; AJvYcCWs5OqxgGfpzn5exp1eadlRXB9eNjc461DcUIV/+M5IUHqW6WRFbDmFwm48PeLutVcIGy0QQQ/F63/c7wRIF37K29+mUB94IlY113Zyj5U=
X-Gm-Message-State: AOJu0Yx59SCgiUIl1iDIdGCimkz8zKoMP9PThyRMVJJJTuiOQiVKbbVR
	6gVKHv6EQcOKvRVXf1dI1XsFrl7iuAkDlbch85GcqsLc3jvkpMTudjM8+TjmuA==
X-Google-Smtp-Source: AGHT+IH1ao93BMXI4lhWiPZDA50BNZOUa3QuWm5sPTw2U1teFqf8+jeKHCX429phFRbllmTuKqQk4w==
X-Received: by 2002:a05:600c:468c:b0:41b:7d6f:1f24 with SMTP id p12-20020a05600c468c00b0041b7d6f1f24mr8937539wmo.21.1714405300957;
        Mon, 29 Apr 2024 08:41:40 -0700 (PDT)
Message-ID: <4811f73b-e8d0-46d9-a7a9-02277dbb7913@suse.com>
Date: Mon, 29 Apr 2024 17:41:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 3/7] x86/MCE: guard access to Intel/AMD-specific
 MCA MSRs
Content-Language: en-US
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: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <d187db984b9b5413d73849594985e10c2c2fdc03.1713860310.git.Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d187db984b9b5413d73849594985e10c2c2fdc03.1713860310.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 10:52, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/cpu/mcheck/vmce.c
> +++ b/xen/arch/x86/cpu/mcheck/vmce.c
> @@ -141,12 +141,14 @@ static int bank_mce_rdmsr(const struct vcpu *v, uint32_t msr, uint64_t *val)
>          case X86_VENDOR_CENTAUR:
>          case X86_VENDOR_SHANGHAI:
>          case X86_VENDOR_INTEL:
> -            ret = vmce_intel_rdmsr(v, msr, val);
> +            ret = IS_ENABLED(CONFIG_INTEL) ?
> +                  vmce_intel_rdmsr(v, msr, val) : -ENODEV;
>              break;
>  
>          case X86_VENDOR_AMD:
>          case X86_VENDOR_HYGON:
> -            ret = vmce_amd_rdmsr(v, msr, val);
> +            ret = IS_ENABLED(CONFIG_AMD) ?
> +                  vmce_amd_rdmsr(v, msr, val) : -ENODEV;
>              break;

Why -ENODEV when ...

>          default:

... below here 0 is put into "ret"? And why not have the default case take
care of unsupported/unrecognized vendors uniformly?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:42:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:42:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714263.1115411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1T9O-000321-4W; Mon, 29 Apr 2024 15:42:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714263.1115411; Mon, 29 Apr 2024 15:42:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1T9O-00031u-1o; Mon, 29 Apr 2024 15:42:42 +0000
Received: by outflank-mailman (input) for mailman id 714263;
 Mon, 29 Apr 2024 15: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1T9M-0002X3-Bv
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:42:40 +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 1beeb114-063f-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:42:39 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-41a72f3a20dso32974215e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:42: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
 g9-20020a05600c310900b0041a9fc2a6b5sm25341286wmo.20.2024.04.29.08.42.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08: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: 1beeb114-063f-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714405359; x=1715010159; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PavaluY3655TtVb7X3QA40FkqjcFVs0fgbfp5bv+XlI=;
        b=AGPVzE2+YMyR8MK4lBbHkCIEb5/072ymJXeLsWDu3d4YrLQPTHCPlw0gSkZts5qfwg
         kFG/1XfN4PLuUJwMdqS7oLD+dbjVHaOFLDmDxWbja5Kd1w5438Lpib5ssZv7YRahmjnb
         4/oItOCdFkoULjl6/uVzYtX1bqF34GzzP+xSFog2z8jj7i4+HjCqPPa4RRSzD95+eu01
         D0is8NA81fFKyZ6Nx9P1USXvx0V3eCyrX5UfcJ+vvtVWzWMoBuzHzeK87cW9KFyHkJim
         /8oTAZR4atPCOeVsYdP1qOjuODhHhfvPOvfRX011ddbbd0pT+SgLJEMb0yV5XxuALM15
         tH6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714405359; x=1715010159;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PavaluY3655TtVb7X3QA40FkqjcFVs0fgbfp5bv+XlI=;
        b=bWKD86feI3LeuDCFJoFdDLXZfXc5fjuaZIXofw0CnU0khClbObin0CHPQBEKYxbDEt
         JNcFlxOe+d5nzGkkSSFnhpv+S5l0qVMhTGd1IG22uQEqBJAjDPnhjToyVj+yiHPIrCbx
         dcm7EyR3UU/Y8s+YrEcY1gMQX3X16fH6g7RKIgkAMcEazaEkncL22mlqdrwnMJF3MyB7
         pi/dFhWHGNQDlb/kgV80TJU8ipcQWcgCdakg0ONPal66NTDqXUNMUTbAgbwcwBqH7LFT
         m/5rbR3wHLVJ/G7/YgD5Mv8vMHjqBAYe5lsfVEPJQlPB4seZrUWtcj8SRnaJpyodJIGw
         Zjqw==
X-Forwarded-Encrypted: i=1; AJvYcCWnVPvX82AMfay0oZFUvb0B1AaODOPmgYM051otdXRrT9RyUdE8tgXhuQSkYjyZvvF9m4FDyMhmCsETNd8djMuDxPKbXHdNdtox4xUs7tg=
X-Gm-Message-State: AOJu0Yz/85exGFRGGq/LgM6pH1ItMNV+6u0S1ATV1L7oJpMjZwkzAtpZ
	vKJ4sBIqSPVFgd5Xb+w9TStVzd0DvEYecU+1KleJqDkTngcivDfzLBTeYRjHow==
X-Google-Smtp-Source: AGHT+IHWzoxxAawcV0X4Got3obQTd+5my0P0ZpKP+GEQwYT+HEsy0Vi7f4BJ5LhbQCjnSNctl0jrPQ==
X-Received: by 2002:a05:600c:1387:b0:41b:d8ef:8dcd with SMTP id u7-20020a05600c138700b0041bd8ef8dcdmr4543139wmf.28.1714405359006;
        Mon, 29 Apr 2024 08:42:39 -0700 (PDT)
Message-ID: <79834875-d26e-42c7-9ffa-868a84a07dfb@suse.com>
Date: Mon, 29 Apr 2024 17:42:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 4/7] x86/MCE: guard lmce_support/cmci_support
Content-Language: en-US
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: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <d5fa50b3056b96f3046be39ed682a8b347f1b425.1713860310.git.Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d5fa50b3056b96f3046be39ed682a8b347f1b425.1713860310.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 10:54, Sergiy Kibrik wrote:
> Guard access to Intel-specific lmce_support & cmci_support variables in
> common MCE/VMCE code. These are set in Intel-specific parts of mcheck code
> and can potentially be skipped if building for non-intel platform by
> disabling CONFIG_INTEL option.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

See comments given for patch 2.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:45:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:45:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714269.1115421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1TC4-0004C1-GS; Mon, 29 Apr 2024 15:45:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714269.1115421; Mon, 29 Apr 2024 15: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 1s1TC4-0004Bu-Dv; Mon, 29 Apr 2024 15:45:28 +0000
Received: by outflank-mailman (input) for mailman id 714269;
 Mon, 29 Apr 2024 15:45: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1TC3-0004Bo-A1
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:45:27 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ebf8a4b-063f-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:45:25 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4196c62bb4eso35508875e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:45: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
 n18-20020a05600c4f9200b004169836bf9asm45669019wmq.23.2024.04.29.08.45.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08:45:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ebf8a4b-063f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714405525; x=1715010325; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9yE8/ejgd04g2DivR7ffT5b7HXSpg6jS8PgMe+disww=;
        b=GvGoI/nNlDpTCc1TU5w1bl5T13UlulPgFMZRiENR+KCr91uGlVXey/vIp5K6G4E3x6
         +0wHNOBWnfBIINzr3iqpJxfJaxa0W1AAr3k0J4cckjNgH1d/Sb8gLW4Xu1wDo2EEiLhg
         VxpOAawKJ69YCzB4le+iA8MBEb8tv4WeB/cl1mL5YMal6R/jUsqB254nJKeGCJ8boCPu
         GoXhijlqBxTRaU9Kjf+9L9+67XT+gxJgnDsHOgVQvn2n/IFIrYFCS0tr3CyOAhVtJCAB
         6s53/yjLXdVR6OpPrMmX5iMq3IO9c/+HGCLdbax8vl4tJ75QA+soN2gcRZ06q8/mybIR
         LRAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714405525; x=1715010325;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9yE8/ejgd04g2DivR7ffT5b7HXSpg6jS8PgMe+disww=;
        b=dDzLhwtYo6Qwv/qL3tamam7iBWlVY2qlIEvEl17gneIsN1ukQ3YuyewKITorFx5F7G
         m0EwLkwyS5nLZiYxfOSCF6LCm1GpiH/hZ3EeZg+3ZxnTYxhF9WJHFyvUpQDzsRs07pn3
         FGAvhqTNn+xrUrDHaZnh8u81cwkxhF+HTxsq9Ju2bXoVwSMuf1ifSoa+asadHRTgBwb/
         6vB5KSSckZqpZAVcP6c2+ywH5NMTEillYXwOl1hT3OH1phO4UTeaexW5dMzsZLngHFwe
         ELr9wkQdKwktB1lYlKnRfrAmecFVaPhEEs5mWwEzZWAf3h5Md0a/EtnaCO52AdNB3l4S
         pqWw==
X-Forwarded-Encrypted: i=1; AJvYcCXDaMcV7OnQ887FZwVHXU/sVqNGjMUYD6kqDtLvTHYnySZPPh3/ya+ZcG/rYYsE29v2zkbWIKp+jK8ds6WnRItdPq/0sLrNE/GbQLDHdQA=
X-Gm-Message-State: AOJu0Yw5FA7l9TGSpyWgrF+Y+OFF0r0+08U+qEiaPSJp54jeUGa5dwWr
	HvH0l5ULK+23FK0zOVHxnC7cYdhadPX+2SNaaRixqyQTHxqNu27TnMV1m8afjvWn8keWmRYa6TE
	=
X-Google-Smtp-Source: AGHT+IHaiUbZRuHHx1+rlnQBXl6dJxpNEn5n/K+hTzYd1mMnkGgSXHJHimJ+Hh1fgNuENm8DhCF2Ww==
X-Received: by 2002:a05:600c:c0c:b0:41b:ef52:1677 with SMTP id fm12-20020a05600c0c0c00b0041bef521677mr4312415wmb.27.1714405524682;
        Mon, 29 Apr 2024 08:45:24 -0700 (PDT)
Message-ID: <bbf9204c-6556-48e3-b7bb-f7097b2dc316@suse.com>
Date: Mon, 29 Apr 2024 17:45:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 5/7] x86/MCE: guard {intel/amd}_mcheck_init() calls
Content-Language: en-US
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: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <0c7d28740db4d6581ebc81a158c970258e547959.1713860310.git.Sergiy_Kibrik@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0c7d28740db4d6581ebc81a158c970258e547959.1713860310.git.Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.04.2024 10:56, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/cpu/mcheck/mce.c
> +++ b/xen/arch/x86/cpu/mcheck/mce.c
> @@ -761,7 +761,8 @@ void mcheck_init(struct cpuinfo_x86 *c, bool bsp)
>      {
>      case X86_VENDOR_AMD:
>      case X86_VENDOR_HYGON:
> -        inited = amd_mcheck_init(c, bsp);
> +        inited = IS_ENABLED(CONFIG_AMD) ? amd_mcheck_init(c, bsp) :
> +                                          mcheck_unset;
>          break;
>  
>      case X86_VENDOR_INTEL:
> @@ -769,7 +770,8 @@ void mcheck_init(struct cpuinfo_x86 *c, bool bsp)
>          {
>          case 6:
>          case 15:
> -            inited = intel_mcheck_init(c, bsp);
> +            inited = IS_ENABLED(CONFIG_INTEL) ? intel_mcheck_init(c, bsp) :
> +                                                mcheck_unset;
>              break;
>          }
>          break;

Same question as on an earlier patch: Why set a value different from
what "default:" below here does (really: keeps)? And why not arrange to
have that "default:" take care of what's build-disabled?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:46:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:46:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714272.1115432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1TCu-0004qq-QK; Mon, 29 Apr 2024 15:46:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714272.1115432; Mon, 29 Apr 2024 15: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 1s1TCu-0004qj-MK; Mon, 29 Apr 2024 15:46:20 +0000
Received: by outflank-mailman (input) for mailman id 714272;
 Mon, 29 Apr 2024 15:46: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=x7+Y=MC=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1s1TCt-0004iz-Jz
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:46:19 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ebf7aab-063f-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:46:18 +0200 (CEST)
Received: from LAPTOP-EFA9O91E.localdomain
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 07FCA4EE0738;
 Mon, 29 Apr 2024 17:46: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: 9ebf7aab-063f-11ef-909b-e314d9c70b13
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [XEN PATCH] xen/mem_access: address violations of MISRA C: 2012 Rule 8.4
Date: Mon, 29 Apr 2024 17:45:41 +0200
Message-Id: <a3d4e07433932624266ac9b675daf0b70734696d.1714405386.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Change #ifdef CONFIG_MEM_ACCESS by OR-ing defined(CONFIG_ARM),
allowing asm/mem_access.h to be included in all ARM build configurations.
This is to address the violation of MISRA C: 2012 Rule 8.4 which states:
"A compatible declaration shall be visible when an object or function
with external linkage is defined". Functions p2m_mem_access_check
and p2m_mem_access_check_and_get_page when CONFIG_MEM_ACCESS is not
defined in ARM builds don't have visible declarations in the file
containing their definitions.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
 xen/include/xen/mem_access.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 87d93b31f6..ec0630677d 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -33,7 +33,7 @@
  */
 struct vm_event_st;
 
-#ifdef CONFIG_MEM_ACCESS
+#if defined(CONFIG_MEM_ACCESS) || defined(CONFIG_ARM)
 #include <asm/mem_access.h>
 #endif
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:47:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714276.1115442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1TDv-0005cW-2I; Mon, 29 Apr 2024 15:47:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714276.1115442; Mon, 29 Apr 2024 15:47:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1TDu-0005cP-Vo; Mon, 29 Apr 2024 15:47:22 +0000
Received: by outflank-mailman (input) for mailman id 714276;
 Mon, 29 Apr 2024 15:47:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1TDu-0005b0-AY
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:47:22 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3728c22-063f-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:47:20 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-51abf1a9332so6333671e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:47: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
 v12-20020a5d610c000000b0034ca96ecd1dsm6292056wrt.12.2024.04.29.08.47.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08:47: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: c3728c22-063f-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714405640; x=1715010440; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6HGRVKrXp4LJdMfnSBryF/V7adpyCEWMClggeSBLrq4=;
        b=SGl9Jbyuk6W5py3tg3pmC01b2616itYSelNmt67p9vQ8XOvOpo+fqYXkrDAZWVVsih
         7r/iQskMHWYodeioZ1EStZcF84755F7c9d5eb9j8N+0EORTOTonQHjsnXGNuhWd1sVXL
         2QBEQ5YCUZNK0jQflyZKBF/2EBCqqKxVfgvVsp7al5/p5SKbAA9tezvWuLo3cXoCMVm9
         0tvmWNKwJyqAftXEHlpf+TaHohnNGEeaXlcFeu/4WRZEu6xCDdBB/LeRTerVl+/Xthlc
         EQS6iUPYPnN+3Rr0K8iL6j7hL5EbBCm/uvtpPP7L8r5TL4iR71yByPH2ke9z2yQ8CoNQ
         8ICQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714405640; x=1715010440;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6HGRVKrXp4LJdMfnSBryF/V7adpyCEWMClggeSBLrq4=;
        b=peX59VSSEViNWCF6by6l8u1Z/pwVpigL26o9D0lxr4nbbchLa/TzytopNjRQPgH99R
         aqzGm8QTp7NUrP10wZ5gS2Wf6pBMCTUAj5VnaAy1tn1/jl2o78s4RXq+FvYUz0eefSFR
         y6kurZw7brGYtLHxS6MBqJ7U+SafPYmP7w3FnnvCyWUzF1yHY+GZLuroRLxLBj+eN9Vy
         5SxwrO4Es4Ur8r6SmC/iiblIiyzyckfwbVil4PFNC9YR+uuyLmzZp8qo/My2zrzYq+U5
         YUd/a0eSirHG0wETnoxf+FjYK+h3zWy0FwwJmJB6GiNLgPhl0NLDTDjovK9WLoo4+Hiq
         N2kg==
X-Gm-Message-State: AOJu0YyvkrUaoGXH4W/v4hA6Kq4KIr/SEYct59dRXUIcdFrYs1RH/6xg
	uJd5ZwU81bk3nXgjGWGzNP44ct/twEVVaOnrYcBiAmAoO4y/GiedVQBWBjyS2Q==
X-Google-Smtp-Source: AGHT+IFYS0fm3w9IeiDbqe4Y5BdCfaDBvvY0tfwmIUCehDiqiATBo31D0DPr7hhtrKgn1AtBnc9bQw==
X-Received: by 2002:ac2:4ed9:0:b0:518:f697:fac with SMTP id p25-20020ac24ed9000000b00518f6970facmr6703254lfr.18.1714405639852;
        Mon, 29 Apr 2024 08:47:19 -0700 (PDT)
Message-ID: <df585cfa-3566-4899-bb6d-51e083e35fa3@suse.com>
Date: Mon, 29 Apr 2024 17:47:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 6/7] x86/MCE: guard call to Intel-specific
 intel_get_extended_msrs()
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <6769d564725912245cb83aaf7543933b4b5fb80d.1713860310.git.Sergiy_Kibrik@epam.com>
 <alpine.DEB.2.22.394.2404261614290.3940@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404261614290.3940@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.04.2024 01:14, Stefano Stabellini wrote:
> On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
>> Add check for CONFIG_INTEL build option to conditional call of this routine,
>> so that if Intel support is disabled the call would be eliminated.
>>
>> No functional change intended.
>>
>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Jan Beulich <jbeulich@suse.com>

Aiui this doesn't depend on earlier patches and hence could go in right
away.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:51:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714284.1115452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1THe-0007M9-Mm; Mon, 29 Apr 2024 15:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714284.1115452; Mon, 29 Apr 2024 15:51:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1THe-0007M2-Ik; Mon, 29 Apr 2024 15:51:14 +0000
Received: by outflank-mailman (input) for mailman id 714284;
 Mon, 29 Apr 2024 15: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=hXAa=MC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1THd-0007Lu-AZ
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:51:13 +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 4b24e76f-0640-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:51:08 +0200 (CEST)
Received: by mail-oi1-x22f.google.com with SMTP id
 5614622812f47-3c84bb69c6fso2476638b6e.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:51:08 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 bz4-20020ad44c04000000b006a067efb28fsm9221277qvb.43.2024.04.29.08.51.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 08:51:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b24e76f-0640-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714405867; x=1715010667; 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=ed9b0C/5Kj3ZHFxbEvye8lhJMXnRT844TUGU67xG3Zg=;
        b=YBF8LN7kbrvW7iFi7bpB0STnmHexPLPIHlfC6ubHkIKUJqaNXzWsNj0rtvug3uUDBi
         iyJZBoSd+PgM/Wnh21IxTbb8JKK2dbAnxk5vZI1ZJxqSVVA4fOFyLLYTgCJYht+m4+2f
         sOWiFjCHEVGkuP3ikFmrpvKuCJFswXnkpNksQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714405867; x=1715010667;
        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=ed9b0C/5Kj3ZHFxbEvye8lhJMXnRT844TUGU67xG3Zg=;
        b=NAhjH58UXXKDk7gXUcSUXjSBRq+6hWX5++qtetrfU4ABTOv1KXDPbdR1+0ytURMzRZ
         kFpyj+szaAOyyNDAn/l8/YQdiIe7XOAQN+PrnSVC7JSW3/biqse+9LP4IwPcJxrQpDr+
         lnxh1c5xJnVOY/QnRGPdrpocuJH0QCzi2nvD6aymHcCHC6U+4bFeP9LfjCqx6yFmnSby
         9/d0Bc3yVPFZI3gL03jwgVZhDDdUcMBzRLwVLdO9Q8Cb3sq0u0X1lJOnr1bx/QxWwq+r
         KTrYbwcWkBglZHAaIaBU7kVcR3Piwr5VbEXb3G0kcWTpWL1OGUIZm7y7uRr49UWmy4td
         wuTA==
X-Forwarded-Encrypted: i=1; AJvYcCWYa8a/laTbJFLK2o21gdW9b8gIsUx0+0el9sxsbbSYrWhGd32hdYC8V1HGeh1cmtOCVFUT6gIvR5PiLxAYlyFST8yRmbAMV95wbACszZs=
X-Gm-Message-State: AOJu0YxZw4dt9wdbkJB5F54gv1uRwAzjv5n0Wrt658DbNK0LLn/XOE8b
	peZKx+nE15YuYNAz/KuZF4a2E5Xrz3zwHXW2Iez2lyrugyyvuQ8FcTBvcdqXYLU=
X-Google-Smtp-Source: AGHT+IHivBVkXz7CXEUnqa3U7gqZFVhDdfCDt22I/t+pgSq1wOaDjqNoi5HvY/E/+iUDYuSA4jJq8g==
X-Received: by 2002:a05:6808:f86:b0:3c7:ef1:483e with SMTP id o6-20020a0568080f8600b003c70ef1483emr251037oiw.39.1714405867438;
        Mon, 29 Apr 2024 08:51:07 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
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>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>
Subject: [PATCH] xen/x86: add extra pages to unpopulated-alloc if available
Date: Mon, 29 Apr 2024 17:50:53 +0200
Message-ID: <20240429155053.72509-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Commit 262fc47ac174 ('xen/balloon: don't use PV mode extra memory for zone
device allocations') removed the addition of the extra memory ranges to the
unpopulated range allocator, using those only for the balloon driver.

This forces the unpopulated allocator to attach hotplug ranges even when spare
memory (as part of the extra memory ranges) is available.  Furthermore, on PVH
domains it defeats the purpose of commit 38620fc4e893 ('x86/xen: attempt to
inflate the memory balloon on PVH'), as extra memory ranges would only be
used to map foreign memory if the kernel is built without XEN_UNPOPULATED_ALLOC
support.

Fix this by adding a helpers that adds the extra memory ranges to the list of
unpopulated pages, and zeroes the ranges so they are not also consumed by the
balloon driver.

This should have been part of 38620fc4e893, hence the fixes tag.

Note the current logic relies on unpopulated_init() (and hence
arch_xen_unpopulated_init()) always being called ahead of balloon_init(), so
that the extra memory regions are consumed by arch_xen_unpopulated_init().

Fixes: 38620fc4e893 ('x86/xen: attempt to inflate the memory balloon on PVH')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
There's a lot of duplication between the unpopulated allocator and the balloon
driver.  I feel like the balloon driver should request any extra memory it
needs to the unpopulated allocator, so that the current helpers provided by the
XEN_BALLOON_MEMORY_HOTPLUG option could be replaced with wrappers around the
unpopulated handlers.

However this is much more work than strictly required here, and won't be
suitable for backport IMO.  Hence the more contained fix presented in this
patch.
---
 arch/x86/xen/enlighten.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index a01ca255b0c6..b88722dfc4f8 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -382,3 +382,36 @@ void __init xen_add_extra_mem(unsigned long start_pfn, unsigned long n_pfns)
 
 	memblock_reserve(PFN_PHYS(start_pfn), PFN_PHYS(n_pfns));
 }
+
+#ifdef CONFIG_XEN_UNPOPULATED_ALLOC
+int __init arch_xen_unpopulated_init(struct resource **res)
+{
+	unsigned int i;
+
+	if (!xen_domain())
+		return -ENODEV;
+
+	/* Must be set strictly before calling xen_free_unpopulated_pages(). */
+	*res = &iomem_resource;
+
+	/*
+	 * Initialize with pages from the extra memory regions (see
+	 * arch/x86/xen/setup.c).
+	 */
+	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
+		unsigned int j;
+
+		for (j = 0; j < xen_extra_mem[i].n_pfns; j++) {
+			struct page *pg =
+				pfn_to_page(xen_extra_mem[i].start_pfn + j);
+
+			xen_free_unpopulated_pages(1, &pg);
+		}
+
+		/* Zero so region is not also added to the balloon driver. */
+		xen_extra_mem[i].n_pfns = 0;
+	}
+
+	return 0;
+}
+#endif
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:54:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:54:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714290.1115461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1TKe-000896-2y; Mon, 29 Apr 2024 15:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714290.1115461; Mon, 29 Apr 2024 15: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 1s1TKe-00088z-09; Mon, 29 Apr 2024 15:54:20 +0000
Received: by outflank-mailman (input) for mailman id 714290;
 Mon, 29 Apr 2024 15:54: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=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1TKc-00088t-Rz
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:54:18 +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 bc193871-0640-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 17:54:17 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-346b96f1483so2522729f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 08:54: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
 s7-20020a5d5107000000b0034c61e211a5sm8758410wrt.63.2024.04.29.08.54.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 08:54: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: bc193871-0640-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714406057; x=1715010857; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YmzksNUYocK59OOWW6MINKHDuzBfaHWGIq6UDu7QLVE=;
        b=D0GNIcyk50rWwzFzL8+Yk4ee6BoF1VH6Yq/SkPoCmKZs7e0yW16j8Mf0Pvsy5vRBiI
         KpReRvKbST4JsyYgaakFj/yoi34Pwko9fgzLQ9sFB95U07CKdtuY4StBDqO1Q0bx1L76
         XQ600UjO8vH0urVKLK1U3zs37idn2+ekxLsJkxjArJ5yndXehAtGFTvTTueOy6CuCSaV
         5V13+8ROyJIvikDYswf/+UIKaZRSoItlblT7R/gidxqwBgGKRqsMd+0ZEtdt6a6TZWjF
         Nw9OQmNHKYXRPmUFpPP/WkoP03tTlMwyx1aI05RgCRwUbtRVIT+eu27Un6ubzb52usoM
         xz7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714406057; x=1715010857;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YmzksNUYocK59OOWW6MINKHDuzBfaHWGIq6UDu7QLVE=;
        b=aUxyZjUM0OdrCGRKlEOAYFs/7mIuQAWhU3IGwcCU7Luxk6LsYGcelmfCpD/LZpd7PV
         9mlv+elCI5Rgmo03ZxG5TUsxCK6NFsNzcAyMOa3ES3eSrSBkKnMJbXO0mr4UowXza8nU
         9V6c+qIVgKn5FxVB/Ncu4drOJlSAyG9vzjORB68TBtNF8j+HqE1hVkHY/WX9BlftrQmb
         zVZsAXSIRuDUImSiaQTlXmYoaFFoKtfa6vNzq1bgefh/grwg8kQSlx174Y0iJq7UkylP
         2lBVw/qz4HsLfh3nBnv/0RoY7A8G3P10pIwGufy0/3d/YFUovLekeRifuQFwR44S8jUQ
         EIHw==
X-Gm-Message-State: AOJu0Ywn9s78xMCnUZrsMFViHitQNx0/fPFFFDsYpdQsDpUuVTNNOVUQ
	I9xeVE/96iX/IRXF5ogNfc+bkFErE9hc1dn2vixwPenHd0IkqALdITLA2/QGmw==
X-Google-Smtp-Source: AGHT+IEiWITMgIxHHpw3f8GpDPA/ijju5reJvnki1C/JJYHYaTqBgm6ax2QpuTvXOWBxicg6yiTPEg==
X-Received: by 2002:adf:fa0c:0:b0:34d:2353:b94 with SMTP id m12-20020adffa0c000000b0034d23530b94mr48923wrr.17.1714406057134;
        Mon, 29 Apr 2024 08:54:17 -0700 (PDT)
Message-ID: <a0cde29c-2b30-4b6b-a6de-135b10d7f165@suse.com>
Date: Mon, 29 Apr 2024 17:54:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 7/7] x86/MCE: optional build of AMD/Intel MCE code
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <82df6ef350a2b4f42ec7adf12a90ebeae1d133f6.1713860310.git.Sergiy_Kibrik@epam.com>
 <alpine.DEB.2.22.394.2404261615250.3940@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2404261615250.3940@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.04.2024 01:16, Stefano Stabellini wrote:
> On Tue, 23 Apr 2024, Sergiy Kibrik wrote:
>> --- a/xen/arch/x86/cpu/mcheck/Makefile
>> +++ b/xen/arch/x86/cpu/mcheck/Makefile
>> @@ -1,12 +1,10 @@
>> -obj-y += amd_nonfatal.o
>> -obj-y += mce_amd.o
>>  obj-y += mcaction.o
>>  obj-y += barrier.o
>> -obj-y += intel-nonfatal.o
>>  obj-y += mctelem.o
>>  obj-y += mce.o
>>  obj-y += mce-apei.o
>> -obj-y += mce_intel.o
>> +obj-$(CONFIG_AMD) += mce_amd.o amd_nonfatal.o
>> +obj-$(CONFIG_INTEL) += mce_intel.o intel-nonfatal.o
>>  obj-y += non-fatal.o
>>  obj-y += util.o
>>  obj-y += vmce.o
> 
> Awesome!

Almost. I'd appreciate if the ordering of files would be retained. It's
not quite alphabetic, but still. Moving mce_amd.o and mcaction.o to their
designated slots may or may not be done right here.

>> --- a/xen/arch/x86/cpu/mcheck/non-fatal.c
>> +++ b/xen/arch/x86/cpu/mcheck/non-fatal.c
>> @@ -24,14 +24,20 @@ static int __init cf_check init_nonfatal_mce_checker(void)
>>  	 * Check for non-fatal errors every MCE_RATE s
>>  	 */
>>  	switch (c->x86_vendor) {
>> +#ifdef CONFIG_AMD
>>  	case X86_VENDOR_AMD:
>>  	case X86_VENDOR_HYGON:
>>  		/* Assume we are on K8 or newer AMD or Hygon CPU here */
>>  		amd_nonfatal_mcheck_init(c);
>>  		break;
>> +#endif
>> +#ifdef CONFIG_INTEL
>>  	case X86_VENDOR_INTEL:
>>  		intel_nonfatal_mcheck_init(c);
>>  		break;
>> +#endif
>> +	default:
>> +		return -ENODEV;

This, while perhaps desirable, doesn't fit ...

>>  	}
>>  	printk(KERN_INFO "mcheck_poll: Machine check polling timer started.\n");
>>  	return 0;

... earlier behavior, and hence is somewhat unexpected in a change which, by
its description, looks like a "no functional change" one.

> For consistency in all other cases this patch series uses IS_ENABLED
> checks. They could be used here as well.

Hmm, I think for switch() statements like this (see also comments elsewhere
on this series) using #ifdef is overall better.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 15:58:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 15:58:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714298.1115471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1TP3-0001M2-Jb; Mon, 29 Apr 2024 15:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714298.1115471; Mon, 29 Apr 2024 15: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 1s1TP3-0001Lv-H3; Mon, 29 Apr 2024 15:58:53 +0000
Received: by outflank-mailman (input) for mailman id 714298;
 Mon, 29 Apr 2024 15:58:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GJEf=MC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1TP1-0001Lk-Qp
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 15:58:51 +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 5e3ef620-0641-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 17:58:49 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41b782405bbso25700415e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 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
 iv20-20020a05600c549400b00418e4cc9de7sm41758437wmb.7.2024.04.29.08.58.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 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: 5e3ef620-0641-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714406329; x=1715011129; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WAxPDI0Rd31wP0H1Lyu8gqujUldLTZXnWNlpch9I+RM=;
        b=Qu+DxwSlCk9FGd6qbQxeXbMvbNJ0YGzxqITj/QuuJSiiiPAHMvdHXA4RulAaSDFof7
         yrC+U7dxU4lxUyMnoUmlCxI8XBofwM1nfT940g/zR3VI7CExacvGK8RC5oypX/hDqV58
         4M+hXW8rSZihZCcIBcwkmCQD86MIxpjbelMD2xN1M6odrqpxd13Lxst4QyxeUyPqZkC9
         byxAYbTS6/O7T7iUy4Yoq8miBq80RuTv0HJ2e6jo07XS4av8zRq4zhQyXn9Wg7kdoJwY
         K77eFUunhnZbBsoHaOXssV51Oaf+NnaC7nlPRc3ctyUnFljS0OVOhJqR2axm7MhKycDv
         RdXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714406329; x=1715011129;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WAxPDI0Rd31wP0H1Lyu8gqujUldLTZXnWNlpch9I+RM=;
        b=u64Xo7K3/foCvfvCZzm8vTtfm734bkYqSv27p5GkrG1aq6USgknbNJ/ImO4A4Wn9Hq
         asn/8nEa37cAsja+i31sIpEanCfdVMzpNfiJSynZ+4GBaLEMH7FMEidqeWYPtfJXwiuh
         ns9I7wkvf6goCpYS40JaxHh3h63LfecoVhkpu1S78Qvu8RnGhsnmZBLLjGJ8ujtFhBd3
         wFNeze9Qs5/QmW1DGJkIjjEnbYR5Frr0yd+eopdc7uwchDEz3Usaud3yDpD+4c7HEn/Y
         kcG1Y0tLYf0w4yuBDsv0Ijj/M5aZ2H+9PH6SS3RJP4BBXgtNJbu7Ox+Hwn2fwPFIs7Go
         3CUg==
X-Forwarded-Encrypted: i=1; AJvYcCXfuI7Co48X1WDLU2ul4xdubPEt4Q6zTPae6/q/fnGVUjcxfLZUb3WI4wVpeiKtToMpgcqBtKgAbjdNNkVxjRtKNzt2zunITZlNcTL5SK0=
X-Gm-Message-State: AOJu0YzUx0L95hBqiQQgM/+WNOF8MQvktWioLjmJgpVrEYxcW+KyF+Xx
	DuUoWArXnlK2KQwiv//zIS3U8ZhiZztCacu5KLwSyXjGFvjttDUfPm1Rtxop4wB5Fe4AVhOPYvY
	=
X-Google-Smtp-Source: AGHT+IFuGHkzaRsqwnnCBB7y5UY53fMQpSBG6oHSbFlTLsh/qk0okw0myrw2YoaIRFvDMH3qPdlLLA==
X-Received: by 2002:a05:600c:1c26:b0:419:f9ae:e50 with SMTP id j38-20020a05600c1c2600b00419f9ae0e50mr9438224wms.37.1714406329136;
        Mon, 29 Apr 2024 08:58:49 -0700 (PDT)
Message-ID: <08eb5444-2bf0-48c0-9fcb-d8e4b801e8fa@suse.com>
Date: Mon, 29 Apr 2024 17:58:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] xen/mem_access: address violations of MISRA C: 2012
 Rule 8.4
Content-Language: en-US
To: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Cc: consulting@bugseng.com, Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <a3d4e07433932624266ac9b675daf0b70734696d.1714405386.git.alessandro.zucchelli@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a3d4e07433932624266ac9b675daf0b70734696d.1714405386.git.alessandro.zucchelli@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.04.2024 17:45, Alessandro Zucchelli wrote:
> Change #ifdef CONFIG_MEM_ACCESS by OR-ing defined(CONFIG_ARM),
> allowing asm/mem_access.h to be included in all ARM build configurations.
> This is to address the violation of MISRA C: 2012 Rule 8.4 which states:
> "A compatible declaration shall be visible when an object or function
> with external linkage is defined". Functions p2m_mem_access_check
> and p2m_mem_access_check_and_get_page when CONFIG_MEM_ACCESS is not
> defined in ARM builds don't have visible declarations in the file
> containing their definitions.
> 
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> ---
>  xen/include/xen/mem_access.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
> index 87d93b31f6..ec0630677d 100644
> --- a/xen/include/xen/mem_access.h
> +++ b/xen/include/xen/mem_access.h
> @@ -33,7 +33,7 @@
>   */
>  struct vm_event_st;
>  
> -#ifdef CONFIG_MEM_ACCESS
> +#if defined(CONFIG_MEM_ACCESS) || defined(CONFIG_ARM)
>  #include <asm/mem_access.h>
>  #endif

This doesn't look quite right. If Arm supports mem-access, why would it
not set MEM_ACCESS=y? Whereas if it's only stubs that Arm supplies, then
those would better move here, thus eliminating the need for a per-arch
stub header (see what was e.g. done for numa.h). This way RISC-V and PPC
(and whatever is to come) would then be taken care of as well.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 16:59:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 16:59:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714308.1115482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ULe-0005M6-Ul; Mon, 29 Apr 2024 16:59:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714308.1115482; Mon, 29 Apr 2024 16:59:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ULe-0005Lz-Rg; Mon, 29 Apr 2024 16:59:26 +0000
Received: by outflank-mailman (input) for mailman id 714308;
 Mon, 29 Apr 2024 16:59: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 1s1ULc-0005Lp-Ml; Mon, 29 Apr 2024 16:59: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 1s1ULc-0001Ll-Gh; Mon, 29 Apr 2024 16:59: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 1s1ULc-0006dz-3C; Mon, 29 Apr 2024 16:59:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1ULc-0004ky-2l; Mon, 29 Apr 2024 16:59:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=h1msT/pcE+ZfWNMDclUgVI4hg64bFaY60K30gWcev7Q=; b=Y00hZeLxUf5CJdjYWhoCMJH21p
	qr6UhbqOdGAWLWjLXxfaRmVAFTnAdZ4ONsKv5x4lay2aef7+OCLAstKIU4327Xsd8D74wZjIHdpRl
	nOnQBHX8/IGREDFOkZ0vR32CJlwBE+7TZNSz/SPpTvbCsX0M+3rsoWBt7ZiyKXlFyYnE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185868-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185868: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=094727264f887e275444bd11d9d99c651a85c2e4
X-Osstest-Versions-That:
    ovmf=c0dfe3ec1f364dbdaf6b241e01343e560b21dd03
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Apr 2024 16:59:24 +0000

flight 185868 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185868/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 094727264f887e275444bd11d9d99c651a85c2e4
baseline version:
 ovmf                 c0dfe3ec1f364dbdaf6b241e01343e560b21dd03

Last test of basis   185803  2024-04-26 03:11:18 Z    3 days
Testing same since   185868  2024-04-29 10:45:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Foster Nong <foster.nong@intel.com>
  Liming Gao <gaoliming@byosoft.com.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   c0dfe3ec1f..094727264f  094727264f887e275444bd11d9d99c651a85c2e4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 17:12:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 17:12:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714315.1115491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1UYY-0008Ij-3n; Mon, 29 Apr 2024 17:12:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714315.1115491; Mon, 29 Apr 2024 17: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 1s1UYY-0008Ic-0p; Mon, 29 Apr 2024 17:12:46 +0000
Received: by outflank-mailman (input) for mailman id 714315;
 Mon, 29 Apr 2024 17:12:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1s1UYW-0008IW-3c
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 17:12:44 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1s1UYS-0001ak-IE; Mon, 29 Apr 2024 17:12:40 +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 1s1UYS-00056p-6r; Mon, 29 Apr 2024 17:12:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Q2KamGrYuUZAfIjc8axUbBEBJ29OpdsOyTtBLklrHiw=; b=WeM/jdSmASUr28BK3kANNS8yd5
	Xq0i5W3JbGgPOS22TP0IUIWyoBFW1H0gCaMKkpsRDEHDiv2X+2Pura4+/5fq5BYZUMb9cY+N9OJFA
	3ycZG8ktCYOfFq2IlAdpP92rIMVRv5j+PdFKigkLr/TpXSglqvdsFKPXhHPpJlsTnoxA=;
Message-ID: <146fbd43-d8b8-4d73-8650-c60024498324@xen.org>
Date: Mon, 29 Apr 2024 18:12:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 8/8] xen: allow up to 16383 cpus
Content-Language: en-GB
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 Jan Beulich <jbeulich@suse.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240327152229.25847-1-jgross@suse.com>
 <20240327152229.25847-9-jgross@suse.com>
 <da1662ac-70f1-4ae4-9737-e10e617c8036@suse.com>
 <637c755a-9f24-4b86-af12-7c7d50bf40c8@suse.com>
 <d0714064-c544-47d3-84c0-a19391ccf496@xen.org>
 <29296e11-8d21-4867-9d31-fc94af828214@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <29296e11-8d21-4867-9d31-fc94af828214@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 29/04/2024 12:28, Jürgen Groß wrote:
> On 29.04.24 13:04, Julien Grall wrote:
>> Hi Juergen,
>>
>> Sorry for the late reply.
>>
>> On 29/04/2024 11:33, Juergen Gross wrote:
>>> On 08.04.24 09:10, Jan Beulich wrote:
>>>> On 27.03.2024 16:22, Juergen Gross wrote:
>>>>> With lock handling now allowing up to 16384 cpus (spinlocks can handle
>>>>> 65535 cpus, rwlocks can handle 16384 cpus), raise the allowed limit 
>>>>> for
>>>>> the number of cpus to be configured to 16383.
>>>>>
>>>>> The new limit is imposed by IOMMU_CMD_BUFFER_MAX_ENTRIES and
>>>>> QINVAL_MAX_ENTRY_NR required to be larger than 2 * CONFIG_NR_CPUS.
>>>>>
>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> I'd prefer this to also gain an Arm ack, though.
>>>
>>> Any comment from Arm side?
>>
>> Can you clarify what the new limits mean in term of (security) 
>> support? Are we now claiming that Xen will work perfectly fine on 
>> platforms with up to 16383?
>>
>> If so, I can't comment for x86, but for Arm, I am doubtful that it 
>> would work without any (at least performance) issues. AFAIK, this is 
>> also an untested configuration. In fact I would be surprised if Xen on 
>> Arm was tested with more than a couple of hundreds cores (AFAICT the 
>> Ampere CPUs has 192 CPUs).
> 
> I think we should add a security support limit for the number of physical
> cpus similar to the memory support limit we already have in place.
> 
> For x86 I'd suggest 4096 cpus for security support (basically the limit we
> have with this patch), but I'm open for other suggestions, too.
> 
> I have no idea about any sensible limits for Arm32/Arm64.

I am not entirely. Bertrand, Michal, Stefano, should we use 192 (the 
number of CPUs from Ampere)?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 17:13:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 17:13:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714319.1115501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1UZC-0000Pl-FX; Mon, 29 Apr 2024 17:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714319.1115501; Mon, 29 Apr 2024 17: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 1s1UZC-0000Pe-CK; Mon, 29 Apr 2024 17:13:26 +0000
Received: by outflank-mailman (input) for mailman id 714319;
 Mon, 29 Apr 2024 17:13: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 1s1UZB-0000PU-RN; Mon, 29 Apr 2024 17:13: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 1s1UZB-0001bh-O0; Mon, 29 Apr 2024 17:13: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 1s1UZB-000756-AA; Mon, 29 Apr 2024 17:13:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1UZB-0000nN-9f; Mon, 29 Apr 2024 17:13:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SZ+z0HuUFjWlY2cbD85lcAbTLgqUOopwOdZ+5TFdt4M=; b=U9tyOCv91HIILC639dtZqTCU2h
	KCNGreKfAgvUf9un3T+kVM/B4LE4IMW8kffycXGJHQdNLgJKzE6EOi396aYRHaLVRtuu2nceOXs8L
	yBVQnBQzdNRiHYxLipIZ9CZv8YYqne15kMFbiNNkLeNWhRI3Ai9UG4ivR/CBQ1fdQWbQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185862-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185862: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e67572cd2204894179d89bd7b984072f19313b03
X-Osstest-Versions-That:
    linux=245c8e81741b51fe1281964e4a6525311be6858f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Apr 2024 17:13:25 +0000

flight 185862 linux-linus real [real]
flight 185869 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185862/
http://logs.test-lab.xenproject.org/osstest/logs/185869/

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 185869-retest
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 185869-retest
 test-armhf-armhf-xl-arndale   8 xen-boot            fail pass in 185869-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 185869 like 185858
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 185869 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 185869 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 185869 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185858
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185858
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185858
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185858
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185858
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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

version targeted for testing:
 linux                e67572cd2204894179d89bd7b984072f19313b03
baseline version:
 linux                245c8e81741b51fe1281964e4a6525311be6858f

Last test of basis   185858  2024-04-28 19:42:05 Z    0 days
Testing same since   185862  2024-04-29 05:18:20 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                                  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                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-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
   245c8e81741b..e67572cd2204  e67572cd2204894179d89bd7b984072f19313b03 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 17:34:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 17:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714330.1115512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Uta-0004Na-4b; Mon, 29 Apr 2024 17:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714330.1115512; Mon, 29 Apr 2024 17:34:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Uta-0004NT-1b; Mon, 29 Apr 2024 17:34:30 +0000
Received: by outflank-mailman (input) for mailman id 714330;
 Mon, 29 Apr 2024 17:34: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 1s1UtY-0004NK-5D
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 17:34: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 1s1UtT-00024v-4I; Mon, 29 Apr 2024 17:34:23 +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 1s1UtS-0006KR-Sh; Mon, 29 Apr 2024 17: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FZnKU9pGoeGhraonjfM2LcdnYelNpwgKrhMOlKXPQaE=; b=Ye0ANIj0V3bT6GlGmt1NjUQ38l
	mvZB5775akplZ15rg8PMo4tOkxWGo22zmcZ0mGicpjgnaK95xVK+IqcGYMio4hEpE46PDLMK6Yu6U
	GgDgy/3U/PmYdcXPaalNP5pjzK/s2Wtkl+dLBWHqt+BaKwu2eRElBYyzYWgGz7TIwRzk=;
Message-ID: <128c7e68-0431-44e9-b4fc-96cc46e158ad@xen.org>
Date: Mon, 29 Apr 2024 18:34:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/15] xen/overlay: Enable device tree overlay assignment
 to running domains
Content-Language: en-GB
To: Henry Wang <xin.wang2@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-8-xin.wang2@amd.com>
 <da67f90f-6807-4fdc-b65b-f7a4ba9f78ad@suse.com>
 <97a401ff-4b5c-4e6a-8d9c-e36305ec64f5@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <97a401ff-4b5c-4e6a-8d9c-e36305ec64f5@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 29/04/2024 04:36, Henry Wang wrote:
> Hi Jan, Julien, Stefano,

Hi Henry,

> On 4/24/2024 2:05 PM, Jan Beulich wrote:
>> On 24.04.2024 05:34, Henry Wang wrote:
>>> --- a/xen/include/public/sysctl.h
>>> +++ b/xen/include/public/sysctl.h
>>> @@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
>>>   #define XEN_SYSCTL_DT_OVERLAY_ADD                   1
>>>   #define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
>>>       uint8_t overlay_op;                     /* IN: Add or remove. */
>>> -    uint8_t pad[3];                         /* IN: Must be zero. */
>>> +    bool domain_mapping;                    /* IN: True of False. */
>>> +    uint8_t pad[2];                         /* IN: Must be zero. */
>>> +    uint32_t domain_id;
>>>   };
>> If you merely re-purposed padding fields, all would be fine without
>> bumping the interface version. Yet you don't, albeit for an unclear
>> reason: Why uint32_t rather than domid_t? And on top of that - why a
>> separate boolean when you could use e.g. DOMID_INVALID to indicate
>> "no domain mapping"?
> 
> I think both of your suggestion make great sense. I will follow the 
> suggestion in v2.
> 
>> That said - anything taking a domain ID is certainly suspicious in a
>> sysctl. Judging from the description you really mean this to be a
>> domctl. Anything else will require extra justification.
> 
> I also think a domctl is better. I had a look at the history of the 
> already merged series, it looks like in the first version of merged part 
> 1 [1], the hypercall was implemented as the domctl in the beginning but 
> later in v2 changed to sysctl. I think this makes sense as the scope of 
> that time is just to make Xen aware of the device tree node via Xen 
> device tree.
> 
> However this is now a problem for the current part where the scope (and 
> the end goal) is extended to assign the added device to Linux Dom0/DomU 
> via device tree overlays. I am not sure which way is better, should we 
> repurposing the sysctl to domctl or maybe add another domctl (I am 
> worrying about the duplication because basically we need the same sysctl 
> functionality but now with a domid in it)? What do you think?

I am not entirely sure this is a good idea to try to add the device in 
Xen and attach it to the guests at the same time. Imagine the following 
situation:

1) Add and attach devices
2) The domain is rebooted
3) Detach and remove devices

After step 2, you technically have a new domain. You could have also a 
case where this is a completely different guest. So the flow would look 
a little bit weird (you create the DT overlay with domain A but remove 
with domain B).

So, at the moment, it feels like the add/attach (resp detech/remove) 
operations should happen separately.

Can you clarify why you want to add devices to Xen and attach to a guest 
within a single hypercall?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 18:28:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 18:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714344.1115528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjr-0002oU-9l; Mon, 29 Apr 2024 18:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714344.1115528; Mon, 29 Apr 2024 18:28:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjr-0002oJ-3M; Mon, 29 Apr 2024 18:28:31 +0000
Received: by outflank-mailman (input) for mailman id 714344;
 Mon, 29 Apr 2024 18:28: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=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Vjp-0002kh-HT
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 18:28:29 +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 4539d4d4-0656-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 20:28:27 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-56e69a51a33so4309468a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 11:28:27 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h25-20020a0564020e9900b0056bc0c44f02sm13241293eda.96.2024.04.29.11.28.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 11: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: 4539d4d4-0656-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714415306; x=1715020106; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RUdqn8yUPt0MflCFKO44Jy4f931QdjFQX4/EF2ueLbI=;
        b=ZlJQTcT8Kgcp/GaZvjkHOihS5Iv/MahsITYBuS3gBoOcxJBBSuyThxbgcsN30pLrUN
         E4LGBbhobTd+bxWWlspiRkVBLM36NeeW2FJsydHCUpRYQ+gPmy/lHorNDiu0e/gYNbWg
         Tzz/czM9gjUyMNaTTKV7g09GAnt5GNSajXZQA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714415306; x=1715020106;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RUdqn8yUPt0MflCFKO44Jy4f931QdjFQX4/EF2ueLbI=;
        b=EtYHpifRT27DoK0wa7YNAH8UyrWQEy2ykQffHJEgn/1GapmqsLp6Xm4ClT98EYaJv3
         AyqSzzcg8+NmPFBujyX+5qnKLLw6nNGqK80NKInxoaND13V6prINjGoSsON5TVwF+lpL
         tMP1d14l9jlhpwce4jg/tHQE4G4Q+G0sGC+TnmELzQQ8Z1WYr3tC2YfbGmylJ/Dme1eY
         A5j/reSaD8qEEz6OAAk+xOVBnEg2cuuelSmgiHT0Q5sQdz6yppRlyMcmYg913oihf4Ue
         QOnxJRcPCNTA5eRI8ceng/ity/YP53QXDnboWtaRD1c/OOV/e+eXBcMGzM37TFuTa9q2
         uIvg==
X-Gm-Message-State: AOJu0YztKPIoxHDfLg0B1fmYw4vzABLJRD3/3NCSrySnNef4v1HOUCUJ
	sy9jETHtF6lXKRKM/E59tzXPLSjKO+kItfCSM/ZsQ6sI5HYWUw9AlJ87kbzT+KfOSJiUJzJBBBs
	M
X-Google-Smtp-Source: AGHT+IHXBawz6JpDRHazp+O1fHnxg6joyWlQlXd46cii/bn/mOjqqALSQkG6sVyPZRnPl/V1xOEuZQ==
X-Received: by 2002:a50:875e:0:b0:56b:cfef:b2de with SMTP id 30-20020a50875e000000b0056bcfefb2demr7789583edv.26.1714415306494;
        Mon, 29 Apr 2024 11:28:26 -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 v2 1/4] x86/hvm: Defer the size calculation in hvm_save_cpu_xsave_states()
Date: Mon, 29 Apr 2024 19:28:20 +0100
Message-Id: <20240429182823.1130436-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
References: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

HVM_CPU_XSAVE_SIZE() may rewrite %xcr0 twice.  Defer the caluclation it until
after we've decided to write out an XSAVE record.

Note in hvm_load_cpu_xsave_states() that there were versions of Xen which
wrote out a useless XSAVE record.  This sadly limits out ability to tidy up
the existing infrastructure.  Also leave a note in xstate_ctxt_size() that 0
still needs tolerating for now.

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>

v2:
 * New
---
 xen/arch/x86/hvm/hvm.c | 10 ++++++++--
 xen/arch/x86/xstate.c  |  2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0ce45b177cf4..9594e0a5c530 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1197,12 +1197,13 @@ static int cf_check hvm_save_cpu_xsave_states(
     struct vcpu *v, hvm_domain_context_t *h)
 {
     struct hvm_hw_cpu_xsave *ctxt;
-    unsigned int size = HVM_CPU_XSAVE_SIZE(v->arch.xcr0_accum);
+    unsigned int size;
     int err;
 
-    if ( !cpu_has_xsave || !xsave_enabled(v) )
+    if ( !xsave_enabled(v) )
         return 0;   /* do nothing */
 
+    size = HVM_CPU_XSAVE_SIZE(v->arch.xcr0_accum);
     err = _hvm_init_entry(h, CPU_XSAVE_CODE, v->vcpu_id, size);
     if ( err )
         return err;
@@ -1255,6 +1256,11 @@ static int cf_check hvm_load_cpu_xsave_states(
     if ( !cpu_has_xsave )
         return -EOPNOTSUPP;
 
+    /*
+     * Note: Xen prior to 4.12 would write out empty XSAVE records for VMs
+     * running on XSAVE-capable hardware but without XSAVE active.
+     */
+
     /* Customized checking for entry since our entry is of variable length */
     desc = (struct hvm_save_descriptor *)&h->data[h->cur];
     if ( sizeof (*desc) > h->size - h->cur)
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index cf94761d0542..99cedb4f5e24 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -573,7 +573,7 @@ unsigned int xstate_ctxt_size(u64 xcr0)
     if ( xcr0 == xfeature_mask )
         return xsave_cntxt_size;
 
-    if ( xcr0 == 0 )
+    if ( xcr0 == 0 ) /* TODO: clean up paths passing 0 in here. */
         return 0;
 
     return hw_uncompressed_size(xcr0);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 18:28:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 18:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714346.1115543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjs-00037e-3n; Mon, 29 Apr 2024 18:28:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714346.1115543; Mon, 29 Apr 2024 18: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 1s1Vjr-00035K-TQ; Mon, 29 Apr 2024 18:28:31 +0000
Received: by outflank-mailman (input) for mailman id 714346;
 Mon, 29 Apr 2024 18:28: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=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Vjq-0002kh-Hl
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 18:28:30 +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 45eade52-0656-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 20:28:28 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-56e56ee8d5cso6061257a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 11:28:28 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h25-20020a0564020e9900b0056bc0c44f02sm13241293eda.96.2024.04.29.11.28.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 11: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: 45eade52-0656-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714415307; x=1715020107; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pC3Swr6XvpWJc3cdnmHIIik9FCKy/gZ4FBg4Litx/6I=;
        b=uiaIVB0BC34ET6Y0nwIPwLy3HEMD7gdXxXeVW+P0SnpjrMX1ckviqrUtVVCbyzpUtk
         u6dPDoX9WXEX2LLY2NQoicy21LL6w22mAT/YZFKA2Wa4Cfx9bdPYknSe0yR4Zza3vVzm
         ZAJyikqW61R/xKpwyiMLByfZQO4w2iiTamChU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714415307; x=1715020107;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pC3Swr6XvpWJc3cdnmHIIik9FCKy/gZ4FBg4Litx/6I=;
        b=M+fACG5NNben4XY0lKSBYRaH8+6UpBDuikMrzC86XlqMT1l6LfQAMI6B0XJ5oiBk0B
         ZzCLGaJoPzFSpEalJXn8MJBukNzn1EJw8aCSg9Yw9YYcbuROpbh2T85AZ6/wNh0emh6A
         LnL0vOh4E8ujOU6ZeH6nQ+IWw/No0n6AKhamqmUBuW3DPQSTArxtqcqDcQB2ovJiHvCQ
         OkkbsR9Jhy+yt+93/rG/RErdo/VurK03b3jKyTxxTCx1yfJm3nNkySbXSPGDP4SWOukd
         ySe7tFGZ1z31xrqhXU7NUqdTN+bVbog9emwD9N8P20zqwU/7kF8UhOJCI62VuytZG7zn
         4BHA==
X-Gm-Message-State: AOJu0YxOBQzfK7v6nbVhkC9GbSOnCOmiJk51cs/G6f3cQUm4eET0TIwm
	IRsjYQK6UrIMyk9tk8M+J+K4cQtqvPcBucWMFT4S2lYvKRBiFSvLAR1vmwAlLl20zCzHTGqLybM
	1
X-Google-Smtp-Source: AGHT+IEuaaNH5iGXpIJ1LxyYqhTrmlO2SaeQ6GksKFcQS8LcQ8lirD9hlUU5/aZut0n/dAHKAgjMhg==
X-Received: by 2002:a50:d54b:0:b0:568:d55c:1bb3 with SMTP id f11-20020a50d54b000000b00568d55c1bb3mr9244494edj.31.1714415307298;
        Mon, 29 Apr 2024 11:28: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 2/4] x86/xstate: Rework xstate_ctxt_size() as xstate_uncompressed_size()
Date: Mon, 29 Apr 2024 19:28:21 +0100
Message-Id: <20240429182823.1130436-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
References: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We're soon going to need a compressed helper of the same form.

The size of the uncompressed image depends on the single element with the
largest offset+size.  Sadly this isn't always the element with the largest
index.

Retain the cross-check with hardware in debug builds, but forgo it normal
builds.  In particular, this means that the migration paths don't need to mess
with XCR0 just to sanity check the buffer size.

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>

v2:
 * Scan all features.  LWP/APX_F are out-of-order.
---
 xen/arch/x86/domctl.c             |  2 +-
 xen/arch/x86/hvm/hvm.c            |  2 +-
 xen/arch/x86/include/asm/xstate.h |  2 +-
 xen/arch/x86/xstate.c             | 45 +++++++++++++++++++++++++++----
 4 files changed, 43 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 9a72d57333e9..c2f2016ed45a 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -833,7 +833,7 @@ long arch_do_domctl(
         uint32_t offset = 0;
 
 #define PV_XSAVE_HDR_SIZE (2 * sizeof(uint64_t))
-#define PV_XSAVE_SIZE(xcr0) (PV_XSAVE_HDR_SIZE + xstate_ctxt_size(xcr0))
+#define PV_XSAVE_SIZE(xcr0) (PV_XSAVE_HDR_SIZE + xstate_uncompressed_size(xcr0))
 
         ret = -ESRCH;
         if ( (evc->vcpu >= d->max_vcpus) ||
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 9594e0a5c530..9e677d891d6c 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1191,7 +1191,7 @@ HVM_REGISTER_SAVE_RESTORE(CPU, hvm_save_cpu_ctxt, NULL, hvm_load_cpu_ctxt, 1,
 
 #define HVM_CPU_XSAVE_SIZE(xcr0) (offsetof(struct hvm_hw_cpu_xsave, \
                                            save_area) + \
-                                  xstate_ctxt_size(xcr0))
+                                  xstate_uncompressed_size(xcr0))
 
 static int cf_check hvm_save_cpu_xsave_states(
     struct vcpu *v, hvm_domain_context_t *h)
diff --git a/xen/arch/x86/include/asm/xstate.h b/xen/arch/x86/include/asm/xstate.h
index c08c267884f0..f5115199d4f9 100644
--- a/xen/arch/x86/include/asm/xstate.h
+++ b/xen/arch/x86/include/asm/xstate.h
@@ -107,7 +107,7 @@ void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size);
 void xstate_free_save_area(struct vcpu *v);
 int xstate_alloc_save_area(struct vcpu *v);
 void xstate_init(struct cpuinfo_x86 *c);
-unsigned int xstate_ctxt_size(u64 xcr0);
+unsigned int xstate_uncompressed_size(uint64_t xcr0);
 
 static inline uint64_t xgetbv(unsigned int index)
 {
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 99cedb4f5e24..a94f4025fce5 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -183,7 +183,7 @@ void expand_xsave_states(const struct vcpu *v, void *dest, unsigned int size)
     /* Check there is state to serialise (i.e. at least an XSAVE_HDR) */
     BUG_ON(!v->arch.xcr0_accum);
     /* Check there is the correct room to decompress into. */
-    BUG_ON(size != xstate_ctxt_size(v->arch.xcr0_accum));
+    BUG_ON(size != xstate_uncompressed_size(v->arch.xcr0_accum));
 
     if ( !(xstate->xsave_hdr.xcomp_bv & XSTATE_COMPACTION_ENABLED) )
     {
@@ -245,7 +245,7 @@ void compress_xsave_states(struct vcpu *v, const void *src, unsigned int size)
     u64 xstate_bv, valid;
 
     BUG_ON(!v->arch.xcr0_accum);
-    BUG_ON(size != xstate_ctxt_size(v->arch.xcr0_accum));
+    BUG_ON(size != xstate_uncompressed_size(v->arch.xcr0_accum));
     ASSERT(!xsave_area_compressed(src));
 
     xstate_bv = ((const struct xsave_struct *)src)->xsave_hdr.xstate_bv;
@@ -567,16 +567,51 @@ static unsigned int hw_uncompressed_size(uint64_t xcr0)
     return size;
 }
 
-/* Fastpath for common xstate size requests, avoiding reloads of xcr0. */
-unsigned int xstate_ctxt_size(u64 xcr0)
+unsigned int xstate_uncompressed_size(uint64_t xcr0)
 {
+    unsigned int size = XSTATE_AREA_MIN_SIZE, i;
+
     if ( xcr0 == xfeature_mask )
         return xsave_cntxt_size;
 
     if ( xcr0 == 0 ) /* TODO: clean up paths passing 0 in here. */
         return 0;
 
-    return hw_uncompressed_size(xcr0);
+    if ( xcr0 <= (X86_XCR0_SSE | X86_XCR0_FP) )
+        return size;
+
+    /*
+     * For the non-legacy states, search all activate states and find the
+     * maximum offset+size.  Some states (e.g. LWP, APX_F) are out-of-order
+     * with respect their index.
+     */
+    xcr0 &= ~XSTATE_FP_SSE;
+    for_each_set_bit ( i, &xcr0, 63 )
+    {
+        unsigned int s;
+
+        ASSERT(xstate_offsets[i] && xstate_sizes[i]);
+
+        s = xstate_offsets[i] && xstate_sizes[i];
+
+        size = max(size, s);
+    }
+
+    /* In debug builds, cross-check our calculation with hardware. */
+    if ( IS_ENABLED(CONFIG_DEBUG) )
+    {
+        unsigned int hwsize;
+
+        xcr0 |= XSTATE_FP_SSE;
+        hwsize = hw_uncompressed_size(xcr0);
+
+        if ( size != hwsize )
+            printk_once(XENLOG_ERR "%s(%#"PRIx64") size %#x != hwsize %#x\n",
+                        __func__, xcr0, size, hwsize);
+        size = hwsize;
+    }
+
+    return size;
 }
 
 static bool valid_xcr0(uint64_t xcr0)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 18:28:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 18:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714345.1115535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjr-00030K-NB; Mon, 29 Apr 2024 18:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714345.1115535; Mon, 29 Apr 2024 18:28:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjr-0002xz-K4; Mon, 29 Apr 2024 18:28:31 +0000
Received: by outflank-mailman (input) for mailman id 714345;
 Mon, 29 Apr 2024 18:28:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Vjq-0002ks-Dr
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 18:28: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 4665ca60-0656-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 20:28:29 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-57258c90899so5727413a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 11:28:29 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h25-20020a0564020e9900b0056bc0c44f02sm13241293eda.96.2024.04.29.11.28.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 11: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: 4665ca60-0656-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714415308; x=1715020108; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iyIIuM0MTD0m2fODC0sTW6s/htaUI9+d26Ij/6rc7Jc=;
        b=YPjuwI4nXCYgOzBAg+JvIXncGSiwH1bl9AObD1qG7sRZj1SHeTxIJ7fbzRb5pEed9m
         XRYIE5uSaJ7xA4j68jeEdPxZVcacistQurw6I+IxofCp+SDbDW8sDFRoh6UwayMAea/9
         Dp+uTrysI7sVBpfSVVyJcvQeZTQbCpHHGwuYk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714415308; x=1715020108;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iyIIuM0MTD0m2fODC0sTW6s/htaUI9+d26Ij/6rc7Jc=;
        b=UioCzmi5v15vbnD+oG7ZfnP4WQ8gfbOBc4pZRHtOMi53ffMeNvOoMpjUqCpBSFgr3j
         ZyP/qo32J85o2bx+Sy8kPl6O4PJnNhz9rZeE1mpK11DBcegAg8xDHySVOrXHlmUgrvB2
         CSDacisvQO1eQCARAd4qK9N4AIQWaUCBljtjw05wTMykhO4rC5dbaIGG/TBrLa7/Ck9r
         3av0SpXx1XuxvElvQB1aAVhVQAEXY0jwVMivZElRKMqfC84hmEtHWw/6dhfHP6QJ22E1
         82vXejUs2gU1p3LgzIEBsxybJ1DCUJsb46d6OD/bldTYvGT19RrT2qd8gNnQPz93kTFA
         OFBg==
X-Gm-Message-State: AOJu0Yw0TecCjeM99hrzLyqZJ0sl4PfkcPN6gUHfH4NkbMczUwKlMk0u
	dF6ttljMYRwA5sIKRadyr/KcVRf4jn6pzJm55dskHFew91QMe+siqFiAJRHESzN+JkJV1wEl9Z5
	O
X-Google-Smtp-Source: AGHT+IGBH906trFMksi2dFbsLtezstfc77WQj3FYL1DAKBHkBY4+QnPCA0N4pBG/uAeGvfetV+SqAw==
X-Received: by 2002:a50:d7dd:0:b0:572:67de:5fd2 with SMTP id m29-20020a50d7dd000000b0057267de5fd2mr531977edj.0.1714415308473;
        Mon, 29 Apr 2024 11:28:28 -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 v2 4/4] x86/cpuid: Fix handling of xsave dynamic leaves
Date: Mon, 29 Apr 2024 19:28:23 +0100
Message-Id: <20240429182823.1130436-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
References: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

If max leaf is greater than 0xd but xsave not available to the guest, then the
current XSAVE size should not be filled in.  This is a latent bug for now as
the guest max leaf is 0xd, but will become problematic in the future.

The comment concerning XSS state is wrong.  VT-x doesn't manage host/guest
state automatically, but there is provision for "host only" bits to be set, so
the implications are still accurate.

Introduce {xstate,hw}_compressed_size() helpers to mirror the uncompressed
ones.

This in turn higlights a bug in xstate_init().  Defaulting this_cpu(xss) to ~0
requires a forced write to clear it back out.  This in turn highlights that
it's only a safe default on systems with XSAVES.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>

The more I think about it, the more I think that cross-checking with hardware
is a bad move.  It's horribly expensive, and for supervisor states in
particular, liable to interfere with functionality.

v2:
 * Cope with blind reads of CPUID.0xD[1] prior to %xcr0 having been set up.
---
 xen/arch/x86/cpuid.c              | 24 ++++--------
 xen/arch/x86/include/asm/xstate.h |  1 +
 xen/arch/x86/xstate.c             | 64 ++++++++++++++++++++++++++++++-
 3 files changed, 72 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index 7a38e032146a..a822e80c7ea7 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -330,23 +330,15 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
     case XSTATE_CPUID:
         switch ( subleaf )
         {
-        case 1:
-            if ( !p->xstate.xsavec && !p->xstate.xsaves )
-                break;
-
-            /*
-             * TODO: Figure out what to do for XSS state.  VT-x manages host
-             * vs guest MSR_XSS automatically, so as soon as we start
-             * supporting any XSS states, the wrong XSS will be in context.
-             */
-            BUILD_BUG_ON(XSTATE_XSAVES_ONLY != 0);
-            fallthrough;
         case 0:
-            /*
-             * Read CPUID[0xD,0/1].EBX from hardware.  They vary with enabled
-             * XSTATE, and appropriate XCR0|XSS are in context.
-             */
-            res->b = cpuid_count_ebx(leaf, subleaf);
+            if ( p->basic.xsave )
+                res->b = xstate_uncompressed_size(v->arch.xcr0);
+            break;
+
+        case 1:
+            if ( p->xstate.xsavec )
+                res->b = xstate_compressed_size(v->arch.xcr0 |
+                                                v->arch.msrs->xss.raw);
             break;
         }
         break;
diff --git a/xen/arch/x86/include/asm/xstate.h b/xen/arch/x86/include/asm/xstate.h
index bfb66dd766b6..da1d89d2f416 100644
--- a/xen/arch/x86/include/asm/xstate.h
+++ b/xen/arch/x86/include/asm/xstate.h
@@ -109,6 +109,7 @@ void xstate_free_save_area(struct vcpu *v);
 int xstate_alloc_save_area(struct vcpu *v);
 void xstate_init(struct cpuinfo_x86 *c);
 unsigned int xstate_uncompressed_size(uint64_t xcr0);
+unsigned int xstate_compressed_size(uint64_t xstates);
 
 static inline uint64_t xgetbv(unsigned int index)
 {
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index a94f4025fce5..b2cf3ae6acee 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -614,6 +614,65 @@ unsigned int xstate_uncompressed_size(uint64_t xcr0)
     return size;
 }
 
+static unsigned int hw_compressed_size(uint64_t xstates)
+{
+    uint64_t curr_xcr0 = get_xcr0(), curr_xss = get_msr_xss();
+    unsigned int size;
+    bool ok;
+
+    ok = set_xcr0(xstates & ~XSTATE_XSAVES_ONLY);
+    ASSERT(ok);
+    set_msr_xss(xstates & XSTATE_XSAVES_ONLY);
+
+    size = cpuid_count_ebx(XSTATE_CPUID, 1);
+
+    ok = set_xcr0(curr_xcr0);
+    ASSERT(ok);
+    set_msr_xss(curr_xss);
+
+    return size;
+}
+
+unsigned int xstate_compressed_size(uint64_t xstates)
+{
+    unsigned int i, size = XSTATE_AREA_MIN_SIZE;
+
+    if ( xstates == 0 ) /* TODO: clean up paths passing 0 in here. */
+        return 0;
+
+    if ( xstates <= (X86_XCR0_SSE | X86_XCR0_FP) )
+        return size;
+
+    /*
+     * For the compressed size, every component matters.  Some are
+     * automatically rounded up to 64 first.
+     */
+    xstates &= ~XSTATE_FP_SSE;
+    for_each_set_bit ( i, &xstates, 63 )
+    {
+        if ( test_bit(i, &xstate_align) )
+            size = ROUNDUP(size, 64);
+
+        size += xstate_sizes[i];
+    }
+
+    /* In debug builds, cross-check our calculation with hardware. */
+    if ( IS_ENABLED(CONFIG_DEBUG) )
+    {
+        unsigned int hwsize;
+
+        xstates |= XSTATE_FP_SSE;
+        hwsize = hw_compressed_size(xstates);
+
+        if ( size != hwsize )
+            printk_once(XENLOG_ERR "%s(%#"PRIx64") size %#x != hwsize %#x\n",
+                        __func__, xstates, size, hwsize);
+        size = hwsize;
+    }
+
+    return size;
+}
+
 static bool valid_xcr0(uint64_t xcr0)
 {
     /* FP must be unconditionally set. */
@@ -681,7 +740,8 @@ void xstate_init(struct cpuinfo_x86 *c)
      * write it.
      */
     this_cpu(xcr0) = 0;
-    this_cpu(xss) = ~0;
+    if ( cpu_has_xsaves )
+        this_cpu(xss) = ~0;
 
     cpuid_count(XSTATE_CPUID, 0, &eax, &ebx, &ecx, &edx);
     feature_mask = (((u64)edx << 32) | eax) & XCNTXT_MASK;
@@ -694,6 +754,8 @@ void xstate_init(struct cpuinfo_x86 *c)
     set_in_cr4(X86_CR4_OSXSAVE);
     if ( !set_xcr0(feature_mask) )
         BUG();
+    if ( cpu_has_xsaves )
+        set_msr_xss(0);
 
     if ( bsp )
     {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 18:28:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 18:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714343.1115522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjq-0002lA-Vf; Mon, 29 Apr 2024 18:28:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714343.1115522; Mon, 29 Apr 2024 18:28:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjq-0002l3-RH; Mon, 29 Apr 2024 18:28:30 +0000
Received: by outflank-mailman (input) for mailman id 714343;
 Mon, 29 Apr 2024 18: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=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Vjo-0002kh-Sg
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 18:28:28 +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 45108856-0656-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 20:28:26 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-57288691c07so1278725a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 11:28:26 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h25-20020a0564020e9900b0056bc0c44f02sm13241293eda.96.2024.04.29.11.28.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 11:28: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: 45108856-0656-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714415306; x=1715020106; 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=qmraiI3B/VV+MWnmGuT6JxT2sWrleEhUYuV/0VlaKdQ=;
        b=OeR2sCfKUYFVWQ0uwve2s76TtesNk5L/7g1kgQyqBBOFgtgojQrgaH35VS2kasOiSO
         lYTCHnYvBHln74F9cngnASKQe6SHJ6m2ZZ5CAMJvcT2ZbPOGl/oYJ8es0E8ZLj8KPIPy
         K/zDWAcDxxS+6Ium9Fhy0P9GeM5fIxrvr8cqw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714415306; x=1715020106;
        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=qmraiI3B/VV+MWnmGuT6JxT2sWrleEhUYuV/0VlaKdQ=;
        b=NSs7OryfWaK2C7yh0Kb0XYbHmWnZuQqtTwY8qW91Lj643HA0T6/NSREvBFLZeNr7Fl
         Q1oNqD0Ru9lXoUsziZKiGziwKuMRANwbgG1NZ9I6e+e57t9BLZhfC9BtveYMj4k7paiA
         /G0z17rBRuvt6zBn6YPR6lCbax1zFsmg51PYyvnliFTFwBIZqrn4FQhJvasKOSCVPJR8
         q8dy7AfS8m8Wt0DlXOcG/1H1AOJI8xlvMbDu5gB8xFaflCKBH0XShZPGeNOIajO8jDj3
         ScglouKrW/9JUG7LphY9i2z787ED+Nj32jWJA56HKEyGv6FoM1gTan2sDfXkAtgFnLgv
         4Dcg==
X-Gm-Message-State: AOJu0YxXEuDIVjUE82AIlLhbxwmTVqnS7HuwtC5QOKYZGzm40NhaEytT
	APgNNkM69zDzVV8BIyYMSZ5OYlWQQHUjPLJub6VlOisvPM4L+NGig4cMEWV9/EYFakv3c0ZP74y
	d
X-Google-Smtp-Source: AGHT+IF+Tfv1DaxC3n/ANdbdUGP1i45XbV5HN21tjNPzcZMr9TuD5T9QO7mVsY6mlLkInv5GixAYqQ==
X-Received: by 2002:a50:a45c:0:b0:56c:5a12:ac53 with SMTP id v28-20020a50a45c000000b0056c5a12ac53mr6642438edb.24.1714415306035;
        Mon, 29 Apr 2024 11:28:26 -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 v2 0/4] x86/xstate: Fixes to size calculations
Date: Mon, 29 Apr 2024 19:28:19 +0100
Message-Id: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Various fixes and improvements to xsave image size calculations.

Since v1:
 * Rebase over exposing XSAVEC.  This has highlighted several latent bugs.
 * Rework the uncompressed size handling.  LWP / APX_F make for much sadness.

Be aware that Intel and AMD have different ABIs for the xstate layout.

Andrew Cooper (4):
  x86/hvm: Defer the size calculation in hvm_save_cpu_xsave_states()
  x86/xstate: Rework xstate_ctxt_size() as xstate_uncompressed_size()
  x86/cpu-policy: Simplify recalculate_xstate()
  x86/cpuid: Fix handling of xsave dynamic leaves

 xen/arch/x86/cpu-policy.c         |  55 ++++++---------
 xen/arch/x86/cpuid.c              |  24 +++----
 xen/arch/x86/domctl.c             |   2 +-
 xen/arch/x86/hvm/hvm.c            |  12 +++-
 xen/arch/x86/include/asm/xstate.h |   4 +-
 xen/arch/x86/xstate.c             | 111 ++++++++++++++++++++++++++++--
 6 files changed, 145 insertions(+), 63 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 18:28:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 18:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714347.1115548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Vjs-0003FG-BX; Mon, 29 Apr 2024 18:28:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714347.1115548; Mon, 29 Apr 2024 18: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 1s1Vjs-0003DE-7X; Mon, 29 Apr 2024 18:28:32 +0000
Received: by outflank-mailman (input) for mailman id 714347;
 Mon, 29 Apr 2024 18:28:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yZQG=MC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1Vjr-0002ks-2r
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 18:28:31 +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 46403e34-0656-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 20:28:29 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5727dc6d3edso1811922a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 11:28:29 -0700 (PDT)
Received: from andrewcoop.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h25-20020a0564020e9900b0056bc0c44f02sm13241293eda.96.2024.04.29.11.28.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 11: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: 46403e34-0656-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714415308; x=1715020108; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ADttxadCLt/zjGm7XTarV6R8WGqoXwrChWdb25bmPX8=;
        b=vWTWydZ/c2lq5JBF8AASOtai1+1TKuqbvdtbSniZ0AKmrIV32ozu4oLXXHuaW+mHnT
         MGYYQ9CzDMJpe7XvJeF4EImC+X5e4/boA1vVfMWAChHHSyGzb7pJCFBu3jXjV38DvqrV
         ztQT3pZKcTSqRaZKXD3fM9aglyfn/OQ69LIAE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714415308; x=1715020108;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ADttxadCLt/zjGm7XTarV6R8WGqoXwrChWdb25bmPX8=;
        b=Uxwp4wMmG8N1Hxl8X9czCD3WfnafoOuaYDNabQA5udF3acFo3nSusv/ecd1tBXM5HW
         VIqjnBent05mUGRwLgLlhVQsceZ/NJQbfiVZWQg5+nuc4tTU6n7clsEp48Bp9xehpdDD
         RXT1yomwd0udb89r04SsuRcFmNzpG4C25Xst45ugkxjmylmNRie46gBVVAUVVPxqsEwk
         8P93n9GSitoBfk9Ob3TctGKgUxO5RQwp+9w3QYLxkawLkMJEA65PtX3Uwd/hXulfZQKw
         0h0Ss33zTRvITTB4CmwCp8+K8Uq3WRJgAEt/Tfjcf70vhFcta9mORo66Cc46IT+UMaph
         BLgg==
X-Gm-Message-State: AOJu0YwI/qrC/ZeUYGwModn8FPGeCdi3w7CivwCBhWoVTLMzEGypSI2A
	qR7lyRh5WNlgOjyXtp6E/ivKuB+TRiwxFNM/W1S5DqUJSExOe2GP8r9v4ymIGsG27Z+/2SCwPP8
	j
X-Google-Smtp-Source: AGHT+IFbObEyCM4M9hc8uz2/lK+eLhxDUzZ7f8HmBGaZaWbDO4IJ5dD4x0jTniAkFNSf4VaOx7ZdDQ==
X-Received: by 2002:a50:bac6:0:b0:570:5e7f:62cb with SMTP id x64-20020a50bac6000000b005705e7f62cbmr294949ede.29.1714415307936;
        Mon, 29 Apr 2024 11:28: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>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 3/4] x86/cpu-policy: Simplify recalculate_xstate()
Date: Mon, 29 Apr 2024 19:28:22 +0100
Message-Id: <20240429182823.1130436-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
References: <20240429182823.1130436-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Make use of the new xstate_uncompressed_size() helper rather than maintaining
the running calculation while accumulating feature components.

The rest of the CPUID data can come direct from the raw cpu policy.  All
per-component data form an ABI through the behaviour of the X{SAVE,RSTOR}*
instructions.

Use for_each_set_bit() rather than opencoding a slightly awkward version of
it.  Mask the attributes in ecx down based on the visible features.  This
isn't actually necessary for any components or attributes defined at the time
of writing (up to AMX), but is added out of an abundance of caution.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>

v2:
 * Tie ALIGN64 to xsavec rather than xsaves.
---
 xen/arch/x86/cpu-policy.c         | 55 +++++++++++--------------------
 xen/arch/x86/include/asm/xstate.h |  1 +
 2 files changed, 21 insertions(+), 35 deletions(-)

diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 4b6d96276399..fc7933be8577 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -193,8 +193,7 @@ static void sanitise_featureset(uint32_t *fs)
 static void recalculate_xstate(struct cpu_policy *p)
 {
     uint64_t xstates = XSTATE_FP_SSE;
-    uint32_t xstate_size = XSTATE_AREA_MIN_SIZE;
-    unsigned int i, Da1 = p->xstate.Da1;
+    unsigned int i, ecx_mask = 0, Da1 = p->xstate.Da1;
 
     /*
      * The Da1 leaf is the only piece of information preserved in the common
@@ -206,61 +205,47 @@ static void recalculate_xstate(struct cpu_policy *p)
         return;
 
     if ( p->basic.avx )
-    {
         xstates |= X86_XCR0_YMM;
-        xstate_size = max(xstate_size,
-                          xstate_offsets[X86_XCR0_YMM_POS] +
-                          xstate_sizes[X86_XCR0_YMM_POS]);
-    }
 
     if ( p->feat.mpx )
-    {
         xstates |= X86_XCR0_BNDREGS | X86_XCR0_BNDCSR;
-        xstate_size = max(xstate_size,
-                          xstate_offsets[X86_XCR0_BNDCSR_POS] +
-                          xstate_sizes[X86_XCR0_BNDCSR_POS]);
-    }
 
     if ( p->feat.avx512f )
-    {
         xstates |= X86_XCR0_OPMASK | X86_XCR0_ZMM | X86_XCR0_HI_ZMM;
-        xstate_size = max(xstate_size,
-                          xstate_offsets[X86_XCR0_HI_ZMM_POS] +
-                          xstate_sizes[X86_XCR0_HI_ZMM_POS]);
-    }
 
     if ( p->feat.pku )
-    {
         xstates |= X86_XCR0_PKRU;
-        xstate_size = max(xstate_size,
-                          xstate_offsets[X86_XCR0_PKRU_POS] +
-                          xstate_sizes[X86_XCR0_PKRU_POS]);
-    }
 
-    p->xstate.max_size  =  xstate_size;
+    /* Subleaf 0 */
+    p->xstate.max_size =
+        xstate_uncompressed_size(xstates & ~XSTATE_XSAVES_ONLY);
     p->xstate.xcr0_low  =  xstates & ~XSTATE_XSAVES_ONLY;
     p->xstate.xcr0_high = (xstates & ~XSTATE_XSAVES_ONLY) >> 32;
 
+    /* Subleaf 1 */
     p->xstate.Da1 = Da1;
+    if ( p->xstate.xsavec )
+        ecx_mask |= XSTATE_ALIGN64;
+
     if ( p->xstate.xsaves )
     {
+        ecx_mask |= XSTATE_XSS;
         p->xstate.xss_low   =  xstates & XSTATE_XSAVES_ONLY;
         p->xstate.xss_high  = (xstates & XSTATE_XSAVES_ONLY) >> 32;
     }
-    else
-        xstates &= ~XSTATE_XSAVES_ONLY;
 
-    for ( i = 2; i < min(63UL, ARRAY_SIZE(p->xstate.comp)); ++i )
+    /* Subleafs 2+ */
+    xstates &= ~XSTATE_FP_SSE;
+    BUILD_BUG_ON(ARRAY_SIZE(p->xstate.comp) < 63);
+    for_each_set_bit ( i, &xstates, 63 )
     {
-        uint64_t curr_xstate = 1UL << i;
-
-        if ( !(xstates & curr_xstate) )
-            continue;
-
-        p->xstate.comp[i].size   = xstate_sizes[i];
-        p->xstate.comp[i].offset = xstate_offsets[i];
-        p->xstate.comp[i].xss    = curr_xstate & XSTATE_XSAVES_ONLY;
-        p->xstate.comp[i].align  = curr_xstate & xstate_align;
+        /*
+         * Pass through size (eax) and offset (ebx) directly.  Visbility of
+         * attributes in ecx limited by visible features in Da1.
+         */
+        p->xstate.raw[i].a = raw_cpu_policy.xstate.raw[i].a;
+        p->xstate.raw[i].b = raw_cpu_policy.xstate.raw[i].b;
+        p->xstate.raw[i].c = raw_cpu_policy.xstate.raw[i].c & ecx_mask;
     }
 }
 
diff --git a/xen/arch/x86/include/asm/xstate.h b/xen/arch/x86/include/asm/xstate.h
index f5115199d4f9..bfb66dd766b6 100644
--- a/xen/arch/x86/include/asm/xstate.h
+++ b/xen/arch/x86/include/asm/xstate.h
@@ -40,6 +40,7 @@ extern uint32_t mxcsr_mask;
 #define XSTATE_XSAVES_ONLY         0
 #define XSTATE_COMPACTION_ENABLED  (1ULL << 63)
 
+#define XSTATE_XSS     (1U << 0)
 #define XSTATE_ALIGN64 (1U << 1)
 
 extern u64 xfeature_mask;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Apr 29 18:49:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 18:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714371.1115571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1W4R-00006M-3H; Mon, 29 Apr 2024 18:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714371.1115571; Mon, 29 Apr 2024 18: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 1s1W4R-00006F-0a; Mon, 29 Apr 2024 18:49:47 +0000
Received: by outflank-mailman (input) for mailman id 714371;
 Mon, 29 Apr 2024 18:49:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q3sz=MC=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1s1W4Q-000069-8v
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 18:49:46 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:2418::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e0365cd-0659-11ef-909b-e314d9c70b13;
 Mon, 29 Apr 2024 20:49:44 +0200 (CEST)
Received: from MW4PR04CA0364.namprd04.prod.outlook.com (2603:10b6:303:81::9)
 by DS0PR12MB6631.namprd12.prod.outlook.com (2603:10b6:8:d1::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.35; Mon, 29 Apr
 2024 18:49:41 +0000
Received: from MWH0EPF000989E5.namprd02.prod.outlook.com
 (2603:10b6:303:81:cafe::71) by MW4PR04CA0364.outlook.office365.com
 (2603:10b6:303:81::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.32 via Frontend
 Transport; Mon, 29 Apr 2024 18:49:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MWH0EPF000989E5.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7544.18 via Frontend Transport; Mon, 29 Apr 2024 18:49:40 +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.35; Mon, 29 Apr
 2024 13:49:38 -0500
Received: from [172.30.12.82] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 29 Apr 2024 13:49: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: 3e0365cd-0659-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XYrmeaJi/twdKfJSGarc8k9r5mmuN4YRrYuBoQoLalxBt2nAthjEKhTIsR4YbbTIPmgBE+wZ8XqPwXLtg3GDS1GvfPOMh6OQS5/D8wymXCzwxFr6vzLrnFNB4MO8lKzfHQqrsJevIjuBktXlNPP9deOYUmzFu9j2wb2CKE55uQGPFIO1Kv5weN1hHR2tFuMCt3sXLVN3/MeTdHdMWRTazoRim96hc1Ngy2U7I+96VnDNEvrtmR0vZgev5TmGl3o5BaeHf0GqyM8x9acF4ISfKyQgcTyBICoiCaGEPxFvAw1Fm+BQGgqwHmMlKYmczM2/y4ZaxeLbEznAdwRXc0LDVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n2Ie8bgsodaj1YRMsYjLwls9ChRMocqeI/d5B+nJdm4=;
 b=f1lZG7GZAdeg6VaCEu2Pi3g5hZ59rIpzwe2PDvlmQKaaC51dQD5SF8u6u0fSwSBbWpQ7Pewqk57JfqpTYUT2f8DtKPjhqssuUf/i1U/731XADkPHO+34W1h0/ZfXosA3rnODylNbrl3GUOximwvTb0G+4h2lt4tgv0JRH5SXXkMAZWIYlNqGLMZFsdj2niTCCRDxhkaK3HaKvjgjnipsCfb9/et7x5IEC2W6WP5u8MX/Py1bTFjseepZYj8Wj4EZhM1q2yDve0PCKEs7DDNQoKBve7DRwza9Bzc0ynpaaiSy2lJOQrHtXlEkXaJySlVOGZLdX4GnP35Zbq4GtqO5tw==
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=n2Ie8bgsodaj1YRMsYjLwls9ChRMocqeI/d5B+nJdm4=;
 b=yd1WQW2F25IrXHQCdbswwc6q7fAUsdyTDdYxXzkZDNAaBpu9YSHAwdPQ/ixnrH0zb6MfPxuFGP36xYNyhG6AXxbSsPo5EbVz3NSIpybPHMMBvO4DxSwunrH1VLBMcLyc3hdNfFjc4yKVcbFhMoczSv+56jEs4Oa1TbcG8Qg19e0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <91b72657-f289-4031-80b3-75b8f0cf9845@amd.com>
Date: Mon, 29 Apr 2024 14:49:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/boot: Explain how moving mod[0] works
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>, Daniel
 Smith <dpsmith@apertussolutions.com>, Christopher Clark
	<christopher.w.clark@gmail.com>
References: <20240426140140.465506-1-andrew.cooper3@citrix.com>
 <20240426140140.465506-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20240426140140.465506-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
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: MWH0EPF000989E5:EE_|DS0PR12MB6631:EE_
X-MS-Office365-Filtering-Correlation-Id: fd2b3ccc-a797-47bd-4215-08dc687d2090
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|82310400014|1800799015|376005|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?elhWUHIwK05XVFpuMk5jMWJsQjkrQlJXbjhucHFDOGZadG9KOVRNWmUyWGNh?=
 =?utf-8?B?MHVvWnFqREd6aWwwekJsaG8rTG4xcHdQKytmMW5OSlBRd0pRS1p3TFIwTGpL?=
 =?utf-8?B?NE9jQmNWUVFBRDZVbGZ5SWxBV2tjNVRKMUZJYTJ5YUtZOVNFNnVBSC9ZeVIz?=
 =?utf-8?B?dysremN6d3lFSk1LTmc5Um45eUVoVFg3VThEenN2Q3VnZGxtM0tXeHpLdnox?=
 =?utf-8?B?R3RLVWR3RFp3K2d2anZYVzl2azhRRHlzSlVyamJvMGUwUmV3RnkxdjJySW5F?=
 =?utf-8?B?S0Z0TE01bzNBNTdsSmQxYU1TQ255RngzZEYwV1k5YWowcnQrZUZORWJ2TnJS?=
 =?utf-8?B?YzUxSHFnVXB2d3lDSm5FeG95STAzZFhsYW1id0dFSTdoR09vNVo4Skh6K3VR?=
 =?utf-8?B?cHhmVzZmZTNXNjdSOWhCM0VKU2c0N3ZyYnpoM05QNkhJeWdTcTM4ZmxSejFt?=
 =?utf-8?B?eS94SkRxWW9icnhuemxpb0U3VDNRNjZEZ05tc21PWDFYOVBQUUI5UDZsNFNP?=
 =?utf-8?B?MVRpMElVWVYxQUpCTjRYK0RBenBKY1E5Z21yaDljcG0xaCtoTkVCWVpSSVhW?=
 =?utf-8?B?SmNXbDRJU3lZZU1xazNHMDJhWXBmOGlrVjQ0TE5KSXVVZjdJejdiUDhlTU8z?=
 =?utf-8?B?SlNwYklENHJuL3JzVmR0b2ZvQ2NwUU1QR2VLNEpCNWhGVCtiVVJ6QXdkWWFj?=
 =?utf-8?B?dlgxenlYRTNiSUFqMmE1VzZUTG9WaE5JR0pJcm4zcEg1YW1ZcnEydmxYK2Ry?=
 =?utf-8?B?WnViSjRjNlU3VGwxWVQ3cHdlbzUvWkppNUNONXhiMVNXeHRISFpZcFh1cWxq?=
 =?utf-8?B?Y3BQUERaTkFwYmdZeTNLSTc1U09zN1loMi8zMng1RWpQbmt3cU44UVk3KzVi?=
 =?utf-8?B?SU9CbG96TU80TFhaZ2t4cVlyT2FiSUhNZ2hqRDdLcmh1TFJ2OXpZKytzcU1n?=
 =?utf-8?B?a1lZSjdPSk1jNXJLb0RKdkNZK2VPY0Zrck1CUjhQb0lnQzh2MU01bW9YcTVz?=
 =?utf-8?B?Mk1INHJ0UWxndFhyazRtWUIzcnh3Z05DR2l1eWhoMEt3eVZiVHBHSXdVWE5n?=
 =?utf-8?B?S2VxUHFlNm9SYTVWSlpWZzN4TWl6UFNVeHlmOHgzcnpzRHNaYU51dlJkV0or?=
 =?utf-8?B?d29SQ1dSZGNvVFg5ZVRRRy9aaGhrQXNpRmo1a21mQVpwM0o1SHd4NmQ1OXhU?=
 =?utf-8?B?R1V0ZjhTQnUvOGpPb0pRNXFERndranJ2ZXFYTGpIOXpuUlB1VlpGdHJ3YXlk?=
 =?utf-8?B?Q1JxZjdOa3VqNE5IZ1VvZFd5ZjBYSDVYNUEvSm9SUWlld0hxaTlWRit2VVVJ?=
 =?utf-8?B?ODRvbkNqeTI4ZkZCbFdjYUhPQVR1LzBraGVnMEh4anJTWG1BU0xudTAwTzgv?=
 =?utf-8?B?VWcxaytUcVUrS2VoTkZKc1E2em01SXR3cmk1YndseG03NkRFRFpvcUdBdEdW?=
 =?utf-8?B?RFI5S2lVQmlDTXc1L2Mrc3M1a0hGd0lxa3hPeEsyeUhIREpEdEhZeEtRaE50?=
 =?utf-8?B?VlFMNmMwWUJuM1R1Q3dBT3RMVUZabjhIKzVTcHNwZlI5eVY5RVpXc2kzaU1M?=
 =?utf-8?B?VTM1aHk4anJ2cE90RW5ibTlGTHBaNldZUVVyejlnenNJYklmckdjYzhZMnZn?=
 =?utf-8?B?SEVvakl0b3lCM04zTDJaOWRMQWkzMUFxd3pvZ1VFNVRLN3pCMjhVQk1lU0pr?=
 =?utf-8?B?cmdFZTJRRmNaNWF3T08xaXVGK1JwVDluYnlnZlVqZUU4QllEVXlOOFlOV0Q1?=
 =?utf-8?B?WkV4UzMvdVI4R0Rtd0M3b25sQWRjNkZkWGRwa0hsUWhuTEdvMFF5cC9EeHh2?=
 =?utf-8?Q?IKeYn0EfvEGkyAPnWlMidrkWeoy/5Abjp3IGE=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:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 18:49:40.4731
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fd2b3ccc-a797-47bd-4215-08dc687d2090
X-MS-Exchange-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:
	MWH0EPF000989E5.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6631

On 2024-04-26 10:01, Andrew Cooper wrote:
> modules_headroom is a misleading name as it applies strictly to mod[0] only,
> and the movement loop is deeply unintuitive and completely undocumented.
> 
> Provide help to whomever needs to look at this code next.
> 
> 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: Daniel Smith <dpsmith@apertussolutions.com>
> CC: Christopher Clark <christopher.w.clark@gmail.com>
> ---
>   xen/arch/x86/setup.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index caf235c6286d..59907fae095f 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1432,6 +1432,11 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>           /* Is the region suitable for relocating the multiboot modules? */
>           for ( j = mbi->mods_count - 1; j >= 0; j-- )
>           {
> +            /*
> +             * 'headroom' is a guess for the decompressed size and
> +             * decompressor overheads of mod[0] (the dom0 kernel).  When we
> +             * move mod[0], we incorperate this as extra space at the start.

                                   incorporate

With that:
Reviewed-by: Jason Andryuk <jason.andryuk@gmail.com>

Thanks,
Jason

> +             */
>               unsigned long headroom = j ? 0 : modules_headroom;
>               unsigned long size = PAGE_ALIGN(headroom + mod[j].mod_end);
>   


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 19:42:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 19:42:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714382.1115581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Wsn-0000Rh-SQ; Mon, 29 Apr 2024 19:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714382.1115581; Mon, 29 Apr 2024 19:41:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Wsn-0000Ra-P8; Mon, 29 Apr 2024 19:41:49 +0000
Received: by outflank-mailman (input) for mailman id 714382;
 Mon, 29 Apr 2024 19:41:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UPPc=MC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1Wsm-0000RU-CQ
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 19:41:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8320f43f-0660-11ef-b4bb-af5377834399;
 Mon, 29 Apr 2024 21:41:46 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 8566D4EE0738;
 Mon, 29 Apr 2024 21:41: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: 8320f43f-0660-11ef-b4bb-af5377834399
MIME-Version: 1.0
Date: Mon, 29 Apr 2024 21:41:45 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau?=
 =?UTF-8?Q?_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 2/3] x86: detect PIC aliasing on ports other than
 0x[2A][01]
In-Reply-To: <c29ced52-6e1e-4997-81ab-8882df2d38a7@suse.com>
References: <0c45155a-2beb-4e69-bca3-cdf42ba22f2b@suse.com>
 <c29ced52-6e1e-4997-81ab-8882df2d38a7@suse.com>
Message-ID: <b4f7b508c0bc28b4531680813f809dbc@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-12-18 15:48, Jan Beulich wrote:
> ... in order to also deny Dom0 access through the alias ports. Without
> this it is only giving the impression of denying access to both PICs.
> Unlike for CMOS/RTC, do detection very early, to avoid disturbing 
> normal
> operation later on.
> 
> Like for CMOS/RTC a fundamental assumption of the probing is that reads
> from the probed alias port won't have side effects in case it does not
> alias the respective PIC's one.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Use new command line option. s/pic/8252A/. Re-base over new earlier
>     patch. Use ISOLATE_LSB().
> 

Hi,

coming back to this patch, which I believe didn't receive much feedback 
and thus wasn't committed, for a reason:

> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -19,6 +19,7 @@
>  #include <xen/delay.h>
>  #include <asm/apic.h>
>  #include <asm/asm_defns.h>
> +#include <asm/setup.h>

Here asm/setup is included, which provides the declaration for init_IRQ, 
defined below in the file

> 
>  void __init init_IRQ(void)
> @@ -343,6 +396,8 @@ void __init init_IRQ(void)
> 

which is defined here. This patch would, among other things, address a 
MISRA C Rule 8.4 violation ("A compatible declaration shall be visible 
when an object or function with external linkage is defined"). I did 
send a patch concerned only with the MISRA violation, but correctly it 
was pointed out that this one was doing that and more. Perhaps someone 
can have a look at this?

>      init_8259A(0);
> 
> +    probe_8259A_alias();
> +
>      for (irq = 0; platform_legacy_irq(irq); irq++) {
>          struct irq_desc *desc = irq_to_desc(irq);
> 
> --- a/xen/arch/x86/include/asm/setup.h
> +++ b/xen/arch/x86/include/asm/setup.h
> @@ -46,6 +46,8 @@ extern uint8_t kbd_shift_flags;
>  extern unsigned long highmem_start;
>  #endif
> 
> +extern unsigned int i8259A_alias_mask;
> +
>  extern int8_t opt_smt;
>  extern int8_t opt_probe_port_aliases;

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 20:37:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 20:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714389.1115592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1XkP-0007Vb-Ov; Mon, 29 Apr 2024 20:37:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714389.1115592; Mon, 29 Apr 2024 20: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 1s1XkP-0007VU-LN; Mon, 29 Apr 2024 20:37:13 +0000
Received: by outflank-mailman (input) for mailman id 714389;
 Mon, 29 Apr 2024 20:37: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 1s1XkN-0007VK-LY; Mon, 29 Apr 2024 20:37: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 1s1XkN-0005cN-F4; Mon, 29 Apr 2024 20:37: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 1s1XkN-0007HA-25; Mon, 29 Apr 2024 20:37:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1XkN-0005fM-1U; Mon, 29 Apr 2024 20: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=5s02Anmy2jEs85ob7jmXaJOzpt23Qr90F1FtxyUeWQg=; b=QihBMqwFa1xm2j9G2ndflXxFQ1
	SpM5/CuaAei0Ey5QXvPj1bd9b/eWwc7NV5D+G1TWSCCgBPcaJ8viVGGcgU8gy02f0ErSpWvg4QsE7
	UNWeziBGGmhqDzJEfKIW2X4kRG3bBO3SHm44uUpdvgRV0KAzFPJFius65JgU+O3wefO0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185863-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185863: regressions - FAIL
X-Osstest-Failures:
    linux-6.1:build-armhf-pvops:kernel-build:fail:regression
    linux-6.1:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:build-check(1):blocked: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-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-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-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2: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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f2295faba5e8249ae4082791bfc1664c88fff83a
X-Osstest-Versions-That:
    linux=6741e066ec7633450d3186946035c1f80c4226b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 29 Apr 2024 20:37:11 +0000

flight 185863 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185863/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-pvops             6 kernel-build             fail REGR. vs. 185746

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-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-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185746
 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          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-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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                f2295faba5e8249ae4082791bfc1664c88fff83a
baseline version:
 linux                6741e066ec7633450d3186946035c1f80c4226b8

Last test of basis   185746  2024-04-20 18:14:28 Z    9 days
Testing same since   185832  2024-04-27 15:44:00 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ai Chao <aichao@kylinos.cn>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andrew Morton <akpm@linux-foundation.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bjorn Helgaas <bhelgaas@google.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brenton Simpson <appsforartists@google.com>
  Carlos Llamas <cmllamas@google.com>
  Carolina Jubran <cjubran@nvidia.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chinmoy Ghosh <chinmoyghosh2001@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuanhong Guo <gch981213@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Coia Prant <coiaprant@gmail.com>
  Daniel Golle <daniel@makrotopia.org>
  Daniele Palmas <dnlplm@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Yang <mmyangfl@gmail.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Finn Thain <fthain@linux-m68k.org>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geoffrey D. Bennett <g@b4.vu>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jarkko Nikula <jarkko.nikula@bitmer.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jens Axboe <axboe@kernel.dk>
  Jeongjun Park <aha310510@gmail.com>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Kosina <jkosina@suse.cz>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kelvin Cao <kelvin.cao@microchip.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lei Chen <lei.chen@smartx.com>
  Leon Romanovsky <leon@kernel.org>
  Like Xu <likexu@tencent.com>
  Linus Walleij <linus.walleij@linaro.org>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Mark Zhang <markzhang@nvidia.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Pastore <mike@oobak.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Mike Rapoport <rppt@linux.ibm.com>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miles Chen <miles.chen@mediatek.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Mingming Su <mingming.su@mediatek.com>
  Mintu Patel <mintupatel89@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oscar Salvador <osalvador@suse.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pasha Tatashin <pasha.tatashin@soleen.com>
  Pekka Paalanen <pekka.paalanen@collabora.com>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Philippe Perrot <philippe@perrot-net.fr>
  Pin-yen Lin <treapking@chromium.org>
  Qiang Zhang <qiang4.zhang@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ron Economos <re@w6rz.net>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tariq Toukan <tariqt@nvidia.com>
  Tejun Heo <tj@kernel.org>
  Tim Huang <Tim.Huang@amd.com>
  Todd Kjos <tkjos@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Vimal Kumar <vimal.kumar32@gmail.com>
  Vishal Badole <badolevishal1116@gmail.com>
  Vladimir Oltean <olteanv@gmail.com>
  xinhui pan <xinhui.pan@amd.com>
  xiongxin <xiongxin@kylinos.cn>
  Yanjun.Zhu <yanjun.zhu@linux.dev>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Yaxiong Tian <tianyaxiong@kylinos.cn>
  Ye Li <ye.li@broadcom.com>
  Yu Zhe <yuzhe@nfschina.com>
  Yuanhe Shu <xiangzao@linux.alibaba.com>
  Yuntao Wang <ytcoode@gmail.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            fail    
 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 4764 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Apr 29 20:56:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 29 Apr 2024 20:56:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714397.1115603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1Y2R-0001x4-B0; Mon, 29 Apr 2024 20:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714397.1115603; Mon, 29 Apr 2024 20: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 1s1Y2R-0001wx-6Q; Mon, 29 Apr 2024 20:55:51 +0000
Received: by outflank-mailman (input) for mailman id 714397;
 Mon, 29 Apr 2024 20:55: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 1s1Y2P-0001wr-J8
 for xen-devel@lists.xenproject.org; Mon, 29 Apr 2024 20:55: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 1s1Y2P-00064K-3u; Mon, 29 Apr 2024 20:55: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 1s1Y2O-0001US-Sx; Mon, 29 Apr 2024 20:55: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=IXrDxMWNKpOf7W2trHGjEVSGA+Mdk4h//e4JzWzIO6k=; b=zaXMHcRO/ss043QBIm2bPYD5Gg
	ur7AFC2drz+pA9Vju6J1BjebKvwP3l/v2DL4mkTQo7Hubj+J8lT9vK3beJH4+hSu2Imt8IkWtOVdq
	HSZQQIFNTqBUiS06I1nWy8GKZpcGxTS4oRrzyCRnTC5JdhxpdFhwq59vIdvC2SodNcrM=;
Message-ID: <72eef04f-b155-4f7e-a216-146f3dce993c@xen.org>
Date: Mon, 29 Apr 2024 21:55:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 5/5] xen/arm: ffa: support notification
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Jens Wiklander <jens.wiklander@linaro.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "patches@linaro.org" <patches@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240426084723.4149648-1-jens.wiklander@linaro.org>
 <20240426084723.4149648-6-jens.wiklander@linaro.org>
 <c7a672a7-02f8-4d24-b87e-1b8439d7eb4c@xen.org>
 <1A23083C-9605-4291-AF2F-5891AF270333@arm.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <1A23083C-9605-4291-AF2F-5891AF270333@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 29/04/2024 08:20, Bertrand Marquis wrote:
>  From the comment in sched.h:
> /*
>   * rcu_lock_domain_by_id() is more efficient than get_domain_by_id().
>   * This is the preferred function if the returned domain reference
>   * is short lived,  but it cannot be used if the domain reference needs
>   * to be kept beyond the current scope (e.g., across a softirq).
>   * The returned domain reference must be discarded using rcu_unlock_domain().
>   */
> 
> Now the question of short lived should be challenged but I do not think we can
> consider the current code as "long lived".

Actually, I am not entirely sure you can use put_domain() in interrupt 
context. If you look at the implementation of domain_destroy() it takes 
a spin lock without disabling the interrupts.

The same spinlock is taken in domain_create(). So there is a potential 
deadlock.

Which means the decision between the two is not only about liveness.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 00:12:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 00:12:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714413.1115612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1b6P-0000JF-Hb; Tue, 30 Apr 2024 00:12:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714413.1115612; Tue, 30 Apr 2024 00: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 1s1b6P-0000J8-El; Tue, 30 Apr 2024 00:12:09 +0000
Received: by outflank-mailman (input) for mailman id 714413;
 Tue, 30 Apr 2024 00: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=K8V5=MD=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1s1b6N-0000J2-9R
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 00:12:07 +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 4553603d-0686-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 02:12:03 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB7991.eurprd04.prod.outlook.com (2603:10a6:20b:289::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Tue, 30 Apr
 2024 00:12:00 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::2af1:bf89:5576:b0f4]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::2af1:bf89:5576:b0f4%4]) with mapi id 15.20.7519.035; Tue, 30 Apr 2024
 00:12:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4553603d-0686-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T2oicx69g3NndI4oBwZm9eoG6KnzJwoOrvDco+Pyjl2U83662zfOKx5Y/ojQdcx8c3evUWGBwzTTTfIO4TyxsAYQY+uVacWFv63pcCRc/+2zghDHs27drW9H8rJ3MtaVNY7eQY6063ffYabU9HkjxSQOmkZ880CPr3JnSatkKVQ/VX8HmwNQiVwcNqUiW4NBayndAhkoqr+lO3OJ0ZSMBJvLCGHT+UfzpOdl3sDKTF5iunNio3ySLOjEvkqhfAN7G19j7Giqyr4AyKZv2k+ggQv5BJoaJv7Yr3yecPeukKQswuBJSuy2NbdsGT32hngevGiYCfq0HHO8zjWfsUlaqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9YunsvWqqtQ5s6eFa057QKSD7Sa8jVj08zEQzNNlggk=;
 b=XStPd9raW1GE84JMbOTWGjIaUPWhUnsmESEhHk9qJya0PIW6NsA5jaqYulyDyeolmrJm+pU2/D0yqCPjJwSGreQO9DAXITZ5iDYq8B+7Xxfk9W0n1dRtaujZnsIbGDyXZGh8n7ReDFo7e/u5r4pu0VX7Z4exc2T9JIU03UH8dP2qAl2QO2CGZGUSE2zC8UyebXz8FJQ0VvX75smxtg8IRc3n4FOsE8EOuZ+whEfEMsg1uoeewePAAaqQThoXvzVrYLF8UC+/nK+AuPGBDld55Y60xIKZlZz+3jyEzboZ/34qhNUw1wR2jjNsj0FA2f4o5qoWL2PLKwZqc8mv/CJiRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9YunsvWqqtQ5s6eFa057QKSD7Sa8jVj08zEQzNNlggk=;
 b=YGWodBuSbELPvreQK2orhWM98mOVBVaZW6rgrMNs3+GL55gI3tzPdTEV0cAQ1IhsvkfSDKzIIjJyPXRbpVPY2z7K/OW2UEhuWQge95VPsPEJUxC5ArQcI+Vf26ion2Y1u+F/hQ+N+IXnOu3iUcedhMjkzFMqBbd+LkUwPMI3iBQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Content-Type: multipart/alternative;
 boundary="------------0vPBalhwZiHNz5xZPm6i5SNv"
Message-ID: <5bea35a1-8521-4527-844e-ff4c6a57fa41@oss.nxp.com>
Date: Tue, 30 Apr 2024 03:11:13 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [VirtIO] Support for various devices in Xen
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: "viresh.kumar@linaro.org" <viresh.kumar@linaro.org>,
 "olekstysh@gmail.com" <olekstysh@gmail.com>, Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrei Cherechesu <andrei.cherechesu@nxp.com>, Bertrand.Marquis@arm.com,
 michal.orzel@amd.com, Artem_Mygaiev@epam.com, Edgar.Iglesias@amd.com
References: <PA4PR04MB95655F653BBFE3A70A8CD0FBF9682@PA4PR04MB9565.eurprd04.prod.outlook.com>
 <alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop>
 <ZaCOVSuEJtsAj9G5@amd.com> <5fb49c84-0f54-49a5-9106-7f207b3eee4c@oss.nxp.com>
 <alpine.DEB.2.22.394.2404111446490.997881@ubuntu-linux-20-04-desktop>
 <CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com>
Content-Language: en-US
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com>
X-ClientProxiedBy: AM0PR03CA0032.eurprd03.prod.outlook.com
 (2603:10a6:208:14::45) 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_|AS8PR04MB7991:EE_
X-MS-Office365-Filtering-Correlation-Id: b52e8b4f-006d-4a56-d60b-08dc68aa26e5
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230031|1800799015|376005|7416005|366007;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dERUd0RIQXN2aHgwRVRYaGpseThXWkd4akh4aEdEQW8vdmtlSENzQzEvZCt1?=
 =?utf-8?B?Y1Y3YTkzRW1Ga0NpUmZ4YzRmUEc2UllpK2FybHZrUGh5eWUzUDNJdFhRRzB1?=
 =?utf-8?B?VldqT0luT2FHTnlpdFZnRTU3bER6V2M2c1o4Wi82emxoY2pCcEY3dnA2OSs2?=
 =?utf-8?B?RzJieXhnZkhZeDRkdXdvdklhci9qVzNsd04vWjNVeG1aQi9ycnZ3ajhGRC85?=
 =?utf-8?B?UHRyYll4R216TjhPTUdFSDFlSFpaVVVDT1dUa0hoVjNqZUVhYjlxVFJ5MXho?=
 =?utf-8?B?QkppcVNTZ3RXKzF5bldjbFd4N1NNdXFDQ1V4YUJLVHBFcndNTTIya2hYZEtn?=
 =?utf-8?B?dnBxN01jQWdabmlQejNMaXU0bWExN1ppNmFIeU9TVjdwTjByU082enBYZ0lO?=
 =?utf-8?B?YnY2ZlpZWjIwODk1YkE4Q3VydDYxWHZ3T3h3Q29HNG1QdFBKWTBiTnBYV2Ja?=
 =?utf-8?B?MzZNcXdUOHROWUU5ZDVxUGg0WnBmZ2U1d3RBVzI1U09BSkhPT045cFBxeHpO?=
 =?utf-8?B?U1FVOFl1SjgvZlNDMzVyZlJ6K2Y3T1pLcXdoVjl1M3ZWNjZnWU9TQ3JxL3BV?=
 =?utf-8?B?NmUwZjZpckZ3UUxBNFkyY1YxUzlBSkI2M0NEbnNQSzVHNWFlUlFUMmErZGRm?=
 =?utf-8?B?akV6WW9yc3lHODdxVHpjaG1Ka1pGS0cvaW5mWlpIM0ErZXYxN0g3SUZuMkR5?=
 =?utf-8?B?bnF4Y2JDU2w1dFRaZTBaVDVQL3JrUmVmWnZBUEFrM1hvQWJwM01UWHBWaUhS?=
 =?utf-8?B?dlVxME1jd3MwTEM3UlFPWXZNNUVnaW5KaGY0THZrb0dvMTZ1Z3lrRVZXNGlS?=
 =?utf-8?B?QlFFZ3N1clRNU3ZQVk1oNjVpdmFicDNjTzQzZ1Jza2Y5OFphcWNIeGJ5TEhD?=
 =?utf-8?B?dG9VY0pMVS9xK04rYm9zajh0Mk9MeXYzdW1GRnZRRmVraGI3MEJFT0QyQjdD?=
 =?utf-8?B?UDJ4L3grK3J0UzFYeGtqbkFwcTI0Zy9NTU1Hbjk2YnR3RFhkZFNqTEpTWUxT?=
 =?utf-8?B?eVAxVzYwc1kxbGVLVzdzTmFCZU80QW5ZdFl1VG9qczRuOTM5aEc5ZU5qVnNZ?=
 =?utf-8?B?RGlYRllJcVZFS3E1Yy80amJiMTl5OVJWcWk2cTR4VS9rV0xPdzVmMHQvWDVx?=
 =?utf-8?B?V0RtRnozYlZyRGh5cGNsTjBVNS9aQ2pPZGNhaGlqa1N1RXduSnhKMUNDQ2pZ?=
 =?utf-8?B?SDBXbU81bWNYMmpEb1hXajhlOXU5WWcrYTd1bHh4aTBVL243dE9kY1FQVWpZ?=
 =?utf-8?B?L3M3WlZrcStteUs2ZHREa3BrYm9WdnlYWWsvNEMyVTF3NjVTZHpReHRyUmJF?=
 =?utf-8?B?UGJQYnZJN0s1WS9Ec2pNODd2RnY4Q2t4azl6MFprNFlGSUxUOGtoTG02UGgr?=
 =?utf-8?B?MEx6SzlzdWdBMVJNMlB3Q2FVWE1iRWVzQktCZ2w3dGp5UWVwM1JBNCtNL21o?=
 =?utf-8?B?T1hFYysrTFE0d3hiL3pSei8xRkNURHpNOTRydHhlL3h1SXhobXJIcmVwVVFJ?=
 =?utf-8?B?a3ZIRUF1NE02bXltZ0JaclRPdG8yRjBjZkp5a1l3c3I2WUM4UjJVZU83RUkr?=
 =?utf-8?B?ZDBTaUpIQWMyTDF3VnNsNkxnVmt5dTQyZDJVUHVOT29yd3RINDVWTkFLV081?=
 =?utf-8?Q?37cuyG9Q6jSsYkpAkoAsJmeIBNE9U22z4iafEmvx95VI=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:(13230031)(1800799015)(376005)(7416005)(366007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MXF4SFdxSjhEdzRsZkZ4ZGc0eXN3ck93QjlEcFU3SlVkZnRPM0lJUCtnR0Qz?=
 =?utf-8?B?d1BtQ2IzU1pyUTJWWWhIVVJQZmQ0VlVkZXFTTHptekRpOGFCWk43TU9LdlJn?=
 =?utf-8?B?WWgxUXN6Ny9va21WYmFmS0J1aXNFS0lyaUY0OVpwcFpLUE1TMFZEWXRYbG1i?=
 =?utf-8?B?c2VDQTQ0clpkTGtud3Q1di9MckV4S3ZxcXVnUHFLQW9sQi85VkZWRS9wUWVP?=
 =?utf-8?B?dS9vYmpwM3JXZnZKbStCT0IrK2l6bkVJemFpdGFYRVlWKzdOTUJtQUg1R1Rr?=
 =?utf-8?B?V2x3YWZWQ2hOSThBcXFxRERuTXNXQkpVYkUvZnMvWXNRZ3NFL3h0RFgwUlVi?=
 =?utf-8?B?ZjIyOFB5cytLa0pmN21hVGFTUWFmNlZLTVY0ZWR3ak1ublZYak8vQSt6c0JE?=
 =?utf-8?B?Ni9jOVBrWUd2OUtEUVRIdklhSXE4S1pkZEw3U0FqZS9jOVVjWTk5MGphbFN4?=
 =?utf-8?B?Q0R6UnBOeHRISU9jakRjQnVCVUZZNFRvcnBGa2NmeEFGOUNENTRsRlUvWm5F?=
 =?utf-8?B?VlUwQ3lLTUpMNFIwQTZralBJaGxiUmtIeHc3cGJtWUltbGxiL0RTSWdEdXBG?=
 =?utf-8?B?VnRabXR5dWU5VDMvNWpodGVUc1VSdFdTenZqemh2bnkvMUkrVGxTa3hLelpn?=
 =?utf-8?B?QVdWbWdiREY5RjYyUU9qNkVlNGhHTHFqR3I5TGtKcGczblA2dDd2dXFGdFRF?=
 =?utf-8?B?WWhycjBCM3h2b0IwZXFGc0UxaFdCNk9qalR1blAxSmZZdWd6NWtJRng2eHpk?=
 =?utf-8?B?UWo0T3owZjFhZndMeklidUl2dWNGNDkycmNjLytHdURhQy9VNTY4WjVZVFgy?=
 =?utf-8?B?MnZwaitLTE5uMWdKN1JROCswRjVqR2VaRmtTMHNhZjlsMEgxZ21qNXZ5aDlp?=
 =?utf-8?B?YjJHNWl5b2pSdjdtY0pxeGp2S0pTVGl5dTI1ME0zS1lXckRNeDExMU9XaXR4?=
 =?utf-8?B?V2dnekcrVURoUjZqWmtuaWNVZlJPNHg1aFFabitVRGlmRm0wVUZuckFySll3?=
 =?utf-8?B?QzJ1b3R6aTdwNWREMndoRW9Da2k1K2ttTWtRSXRNaTBsd0RxalFFcXBHUkla?=
 =?utf-8?B?ODl3djdmbFI5KzVsVStUZGQwckVHRnNvZ2JLSGZEdGpJZkNKMHYvWEFOYXBV?=
 =?utf-8?B?YXliWjdBUk4rUGRYR3lMRXY1eEpFQVBtWjFmTEExTDRoanloeFc0SVAvekds?=
 =?utf-8?B?T0hTcWpyaGlCUDVLbkhuZjJNaHM4Wlc0bW9JVit4ZXh0c1J5VVNEU0Fob0ZW?=
 =?utf-8?B?aVJUR3VkRXpPTzR4OStRNGp6bTRxMW9EN3p0VkZJb0FJZUNYdHRqWlVVUGJM?=
 =?utf-8?B?blVvZVhXSksvQ0ZZNHpucGY0Y3RURzdGUktsRE1RckxaTnRlQlIxT3VZbk5l?=
 =?utf-8?B?L2ovWnNLSUt1bTFUbENkNStJdDdlNkFzckRJVDRDNVBqaGNkNU9CQXpJV0pO?=
 =?utf-8?B?S3BsdFlHYWxCZ0lBdWhxNXpHa0VhYi9majAyT0srb2J6UnliTjNvUmhHangy?=
 =?utf-8?B?Q0hXeHBGWHdQMWptdi9UUitwdlAwRXJEaDdTTDhtd1RmZlVrT0N5dFg3QjNF?=
 =?utf-8?B?Mjk5V1ZnM0NXdGx2SXJCdnpZMUtTVjVHelVCYTZNcDVZM2VOL3gzcWVYYkFx?=
 =?utf-8?B?b3BBMXFKaGJJNm9xcjBpd21OZzNvQTRIWDI1TXZvOUlQWWFPQitYMlBIQnFX?=
 =?utf-8?B?MHVIMkc4ZkpFTVFPVy9IOEtTQXY4UGc5VU01SEp3RzMwQU5WemNzNlhXUkwz?=
 =?utf-8?B?TThDWGZuRVpKOC9NRlJ0RXYwdTE2dnN0RkFxUVpreHlJOXBiM3R4ZStJYkh3?=
 =?utf-8?B?eEVWYmxhZjVzVjBwYUxpcG51MHFLWmtlT2NOVTY3bExpWXg3Y2swODAxc2Yz?=
 =?utf-8?B?TTk3MnZlQW94RERFS0FkNlJGWWw0SUlNOXpUdjd5VWNPcVpuZW9EQjNUbkFB?=
 =?utf-8?B?blhJU3RVS0J0dDEvSHZQYWdqQk5KZ0RmYUZmODJLSEhKc2tlbjdlYUdRZENX?=
 =?utf-8?B?STc1MFVFVmlSY3JxTzlGa0hUcTNrbW43NmF1WFgvUkMzRXV5L3FpNFpURDF4?=
 =?utf-8?B?d3RpOENFSG9WL2paQ21henY0R3VrTUIrcENqL3BGcElCMDM2QXFHUXluQjli?=
 =?utf-8?B?QSt4aGJUZ1NGMUlpdHV0dmJrR0NMYUYwaXkvMEl2emVoRjJmSG9tMmpTMnpU?=
 =?utf-8?B?cWc9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b52e8b4f-006d-4a56-d60b-08dc68aa26e5
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 00:12:00.6829
 (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: D/zmhzkWsDZxO756Ulqy1zJ5OT2kpEkTi6ExC/LlfVkP6MQZpjk6ipRg7mR4DtCqhcl16MgDgx02Dy8FNzqUqiEwHEhPz3PYqJaKzFACnSQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7991

--------------0vPBalhwZiHNz5xZPm6i5SNv
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/04/2024 11:35, Edgar E. Iglesias wrote:
> On Fri, Apr 12, 2024 at 1:23 AM Stefano Stabellini
> <sstabellini@kernel.org> wrote:
>
> -Vikram +Edgar
>
> On Thu, 11 Apr 2024, Andrei Cherechesu wrote:
>>> I've managed to successfully get a DomU up and running with the rootfs based on virtio-blk. I'm running QEMU 8.2.1, Xen 4.18 + Vikram's downstream patches, Linux 6.6.12-rt, built through yocto with some changes to xen-tools and QEMU recipes.
>>>
>>> However, when also enabling PV networking through virtio-net, it seems that DomU cannot successfully boot. The device model args passed by xen-tools when invoking QEMU look exactly like what Vikram said they should.
>>>
>>> While executing `xl -v create ..` I can see some error regarding the device model crashing:
>>>
>>>         libxl: debug: libxl_exec.c:127:libxl_report_child_exitstatus: domain 1 device model (dying as expected) [300] died due to fatal signal Killed
>>>
>>> But the error is not fatal and the DomU spawn goes on, it boots but never reaches prompt. It seems that kernel crashes silently at some point. Though, the networking interface is present since udev tries to rename it right before boot hangs:
>>>
>>>         [    4.376715] vif vif-0 enX0: renamed from eth1
>>>
>>> Why would the QEMU DM process be killed, though? Invalid memory access?
>>>
>>> Here are the full logs for the "xl create" command [0] and for DomU's dmesg [1].
>>> Any ideas as to why that might happen, some debugging insights, or maybe some configuration details I could have overlooked?
>>>
>>> Thank you very much for your help once again.
> Hi Andrei,
>
> I'll share some info about my setup:
> I'm using:
>
> Xen upstream/master + virtio patches that Vikram shared
> Commit 63f66058b5 on this repo/branch:
> https://github.com/edgarigl/xen/tree/edgar/virtio-base
>
> QEMU 02e16ab9f4 upstream/master
> Linux 09e5c48fea17 upstream/master (from March)
> Yocto rootfs.
> I had a look at your logs but I can't tell why it's failing on your side.
> I've not tried using a virtio-blk as a rootfs on my side, perhaps related.
> It would be useful to see a diff of your Xen tree compared to plain
> 4.18 or whatever base you've got.
> You probably don't have
> https://github.com/edgarigl/xen/commit/63f66058b508180107963ea37217bc88d813df8f
> but if that was the problem, I'd thought virtio wouldn't work at all
> with your kernel it could also be related.
>
> My guest config looks like this:
> name = "g0"
> memory = 1024
> vcpus = 1
> kernel = "Image"
> ramdisk = "core-image-minimal-qemuarm64.rootfs.cpio.gz"
> extra = "root=/dev/ram0 console=ttyAMA0"
> vif = [ 'model=virtio-net,type=ioemu,bridge=xenbr0' ]
> disk = [ '/etc/xen/file.img,,xvda,backendtype=qdisk,specification=virtio' ]
Hi Edgar, Stefano,


Thank you for your support. Just wanted to let you know that I've managed to run everything just fine. After some more debugging, I figured the fix I needed was actually in QEMU, one which had been already merged upstream (available in v9.0.0) by Peng Fan [0], following a discussion a few months ago on this list. And since I'm running v8.2.1, my QEMU did not have it.

So I can confirm granting DomU access to rootfs from an SDCard partition over virtio-blk also works. However, if I use the usual Xen PV drivers for block + virtio-net, it does not work (device model fails to spawn). But if I'm using virtio-blk + Xen PV Net, it works :). Also both VirtIOs at the same time work.

This is the configuration:
    vif = [ 'model=virtio-net,type=ioemu' ]
    disk = [ 'phy:/dev/mmcblk0p3,xvda,backendtype=qdisk,specification=virtio' ]
    extra = "root=/dev/vda ..."

Also tested them with foreign mappings and with grant based transports.

Are there any other virtio device types you managed to test so far besides these ones (over virtio-mmio/virtio-grant)? Has anyone tested the rust-vmm vhost-device backends from Viresh with Xen?


Regards,
Andrei C

[0] https://github.com/qemu/qemu/commit/9253d83062268209533df4b29859e5b51a2dc324

>
> xl launches QEMU with the following args:
> /usr/bin/qemu-system-aarch64 -xen-domid 1 -no-shutdown -chardev
> socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-1,server=on,wait=off
> -mon chardev=libxl-cmd,mode=control -chardev
> socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-1,server=on,wait=off
> -mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config
> -xen-attach -name g0 -vnc none -display none -nographic -global
> virtio-mmio.force-legacy=false -device
> virtio-net-device,id=nic0,netdev=net0,mac=00:16:3e:13:86:9c,iommu_platform=on
> -netdev type=tap,id=net0,ifname=vif1.0-emu,br=xenbr0,script=no,downscript=no
> -machine xenpvh -m 1024 -device
> virtio-blk-device,drive=image,iommu_platform=on -drive
> if=none,id=image,format=raw,file=/etc/xen/file.img -global
> virtio-mmio.force-legacy=false
>
> Cheers,
> Edgar
>
>
>> Edgar (CCed) has recently setup a working system with QEMU and the
>> xenpvh machine for ARM. He should be able to help you.
>>
>> Cheers,
>>
>> Stefano
>>
>>
--------------0vPBalhwZiHNz5xZPm6i5SNv
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <div class="moz-cite-prefix"><font face="monospace">On 12/04/2024
        11:35, Edgar E. Iglesias wrote:</font><br>
    </div>
    <blockquote type="cite" cite="mid:CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com">
      <pre class="moz-quote-pre" wrap="">On Fri, Apr 12, 2024 at 1:23 AM Stefano Stabellini
<a class="moz-txt-link-rfc2396E" href="mailto:sstabellini@kernel.org">&lt;sstabellini@kernel.org&gt;</a> wrote:

-Vikram +Edgar

On Thu, 11 Apr 2024, Andrei Cherechesu wrote:
</pre>
      <blockquote type="cite">
        <blockquote type="cite"><span style="white-space: pre-wrap">
</span>
          <pre class="moz-quote-pre" wrap="">I've managed to successfully get a DomU up and running with the rootfs based on virtio-blk. I'm running QEMU 8.2.1, Xen 4.18 + Vikram's downstream patches, Linux 6.6.12-rt, built through yocto with some changes to xen-tools and QEMU recipes.

However, when also enabling PV networking through virtio-net, it seems that DomU cannot successfully boot. The device model args passed by xen-tools when invoking QEMU look exactly like what Vikram said they should.

While executing `xl -v create ..` I can see some error regarding the device model crashing:

        libxl: debug: libxl_exec.c:127:libxl_report_child_exitstatus: domain 1 device model (dying as expected) [300] died due to fatal signal Killed

But the error is not fatal and the DomU spawn goes on, it boots but never reaches prompt. It seems that kernel crashes silently at some point. Though, the networking interface is present since udev tries to rename it right before boot hangs:

        [    4.376715] vif vif-0 enX0: renamed from eth1

Why would the QEMU DM process be killed, though? Invalid memory access?

Here are the full logs for the &quot;xl create&quot; command [0] and for DomU's dmesg [1].
Any ideas as to why that might happen, some debugging insights, or maybe some configuration details I could have overlooked?

Thank you very much for your help once again.
</pre>
        </blockquote>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Hi Andrei,

I'll share some info about my setup:
I'm using:

Xen upstream/master + virtio patches that Vikram shared
Commit 63f66058b5 on this repo/branch:
<a class="moz-txt-link-freetext" href="https://github.com/edgarigl/xen/tree/edgar/virtio-base">https://github.com/edgarigl/xen/tree/edgar/virtio-base</a>

QEMU 02e16ab9f4 upstream/master
Linux 09e5c48fea17 upstream/master (from March)
Yocto rootfs.</pre>
    </blockquote>
    <blockquote type="cite" cite="mid:CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com">
      <pre class="moz-quote-pre" wrap="">I had a look at your logs but I can't tell why it's failing on your side.
I've not tried using a virtio-blk as a rootfs on my side, perhaps related.
It would be useful to see a diff of your Xen tree compared to plain
4.18 or whatever base you've got.
You probably don't have
<a class="moz-txt-link-freetext" href="https://github.com/edgarigl/xen/commit/63f66058b508180107963ea37217bc88d813df8f">https://github.com/edgarigl/xen/commit/63f66058b508180107963ea37217bc88d813df8f</a>
but if that was the problem, I'd thought virtio wouldn't work at all
with your kernel it could also be related.

My guest config looks like this:
name = &quot;g0&quot;
memory = 1024
vcpus = 1
kernel = &quot;Image&quot;
ramdisk = &quot;core-image-minimal-qemuarm64.rootfs.cpio.gz&quot;
extra = &quot;root=/dev/ram0 console=ttyAMA0&quot;
vif = [ 'model=virtio-net,type=ioemu,bridge=xenbr0' ]
disk = [ '/etc/xen/file.img,,xvda,backendtype=qdisk,specification=virtio' ]</pre>
    </blockquote>
    <font face="monospace">Hi Edgar, Stefano,<br>
      <br>
    </font>
    <font face="monospace"><br>
      Thank you for your support. Just wanted to let you know that I've
      managed to run everything just fine. After some more debugging, I
      figured the fix I needed was actually in QEMU, one which had been
      already merged upstream (available in v9.0.0) by Peng Fan [0],
      following a discussion a few months ago on this list. And since <span style="white-space: pre-wrap">I'm running v8.2.1, my QEMU did not have it.</span><br>
    </font>
    <font face="monospace"><br>
      <span style="white-space: pre-wrap">So I can confirm granting DomU access to rootfs from an SDCard partition over virtio-blk also works. However, if I use the usual Xen PV drivers for block + virtio-net, it does not work (device model fails to spawn). But if I'm using virtio-blk + Xen PV Net, it works :). Also both VirtIOs at the same time work.</span><br>
    </font>
    <br>
    <font face="monospace">This is the configuration:</font><br>
    <font face="monospace">&nbsp;&nbsp;&nbsp; vif = [ 'model=virtio-net,type=ioemu' ]</font><br>
    <font face="monospace">&nbsp;&nbsp;&nbsp; disk = [
      'phy:/dev/mmcblk0p3,xvda,backendtype=qdisk,specification=virtio' ]</font><br>
    <font face="monospace">&nbsp;&nbsp;&nbsp; extra = &quot;root=/dev/vda ...&quot;
    </font><br>
    <br>
    <font face="monospace"><span style="white-space: pre-wrap">Also tested them with foreign mappings and with grant based transports.</span></font><br>
    <font face="monospace"></font><br>
    <font face="monospace">Are there any other virtio device types you
      managed to test so far besides these ones (over
      virtio-mmio/virtio-grant)? Has anyone tested the rust-vmm
      vhost-device backends from Viresh with Xen?</font><br>
    <font face="monospace"><span style="white-space: pre-wrap"></span></font><br>
    <font face="monospace"><br>
      <span style="white-space: pre-wrap">Regards,</span></font><br>
    <font face="monospace"><span style="white-space: pre-wrap">Andrei C</span><span style="white-space: pre-wrap"></span></font><br>
    <p><span style="white-space: pre-wrap"><font face="monospace">[0] <a class="moz-txt-link-freetext" href="https://github.com/qemu/qemu/commit/9253d83062268209533df4b29859e5b51a2dc324">https://github.com/qemu/qemu/commit/9253d83062268209533df4b29859e5b51a2dc324</a></font></span></p>
    <p></p>
    <blockquote type="cite" cite="mid:CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com">
      <pre class="moz-quote-pre" wrap="">

xl launches QEMU with the following args:
/usr/bin/qemu-system-aarch64 -xen-domid 1 -no-shutdown -chardev
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-1,server=on,wait=off
-mon chardev=libxl-cmd,mode=control -chardev
socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-1,server=on,wait=off
-mon chardev=libxenstat-cmd,mode=control -nodefaults -no-user-config
-xen-attach -name g0 -vnc none -display none -nographic -global
virtio-mmio.force-legacy=false -device
virtio-net-device,id=nic0,netdev=net0,mac=00:16:3e:13:86:9c,iommu_platform=on
-netdev type=tap,id=net0,ifname=vif1.0-emu,br=xenbr0,script=no,downscript=no
-machine xenpvh -m 1024 -device
virtio-blk-device,drive=image,iommu_platform=on -drive
if=none,id=image,format=raw,file=/etc/xen/file.img -global
virtio-mmio.force-legacy=false

Cheers,
Edgar


</pre>
    </blockquote>
    <blockquote type="cite" cite="mid:CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com">
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">
Edgar (CCed) has recently setup a working system with QEMU and the
xenpvh machine for ARM. He should be able to help you.

Cheers,

Stefano


</pre>
      </blockquote>
    </blockquote>
  </body>
</html>

--------------0vPBalhwZiHNz5xZPm6i5SNv--


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 00:20:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 00:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714419.1115622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1bEE-000238-EE; Tue, 30 Apr 2024 00:20:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714419.1115622; Tue, 30 Apr 2024 00:20: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 1s1bEE-000231-A9; Tue, 30 Apr 2024 00:20:14 +0000
Received: by outflank-mailman (input) for mailman id 714419;
 Tue, 30 Apr 2024 00:20: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 1s1bED-00022q-JQ; Tue, 30 Apr 2024 00:20: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 1s1bED-0002Pn-GL; Tue, 30 Apr 2024 00:20: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 1s1bED-0000GL-3q; Tue, 30 Apr 2024 00:20:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1bED-0003x4-3F; Tue, 30 Apr 2024 00:20: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=nnErtkMHfjuDTX7/ZQfg9KQqgih/pqdG9plYL2tIGvE=; b=1Axc+8rlkFF4sqVPh0DJ+cAIj2
	9zj4Vic6Q2/eyDDRbKnIS83pRXu3R/QDGAHLMXzjmBbwnMWxsky64I8K9WDmI2ebaq4AViq2T53Vv
	6Mbl4BT6OzXWVmjB4M5dB5jV4R1NuNInY7+28rnpPPCXMycyBMjI6r3D3bB+kqqdXEFs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185865-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 185865: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-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-amd64-amd64-libvirt:migrate-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-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-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-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-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=f0ff1d9cb96041a84a24857a6464628240deed4f
X-Osstest-Versions-That:
    xen=2d38302c33b117aa9a417056db241aefc840c2f0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 00:20:13 +0000

flight 185865 xen-4.18-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185865/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185724
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185724
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185724
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185724
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185724
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185724
 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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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:
 xen                  f0ff1d9cb96041a84a24857a6464628240deed4f
baseline version:
 xen                  2d38302c33b117aa9a417056db241aefc840c2f0

Last test of basis   185724  2024-04-17 15:40:35 Z   12 days
Testing same since   185865  2024-04-29 08:08:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Ross Lagerwall <ross.lagerwall@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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-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
   2d38302c33..f0ff1d9cb9  f0ff1d9cb96041a84a24857a6464628240deed4f -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 00:27:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 00:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714431.1115652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1bL4-00033q-At; Tue, 30 Apr 2024 00:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714431.1115652; Tue, 30 Apr 2024 00: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 1s1bL4-00033j-6u; Tue, 30 Apr 2024 00:27:18 +0000
Received: by outflank-mailman (input) for mailman id 714431;
 Tue, 30 Apr 2024 00: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=BVXM=MD=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1s1bL3-00033K-34
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 00:27:17 +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 63850cd9-0688-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 02:27:14 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1714436826910535.4165622460407;
 Mon, 29 Apr 2024 17:27: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: 63850cd9-0688-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; t=1714436828; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=MpJIuj321wNhq5v+udmmDAk9YpH3AjOkOa2IDf0adSdEHHVNtMaLfDyjCWIu1jtMjvzL/njViqPlkWBWT9MVmrWD/Mz1lCM4m4iyPagZlxWcPLugRbo68oJ86f4LrYn5u1o89FPAHuqOJrW3cHHTuzGBhdg3MOo0FmI1U1D8iQY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1714436828; 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=BatGsFlsqC4rchCwC44h7E77itmT5UZoiISbPPO034M=; 
	b=FUGb6s0EZS0OEmQArZX4AYdy3rlB//wRTSd8LbDvwVbHfDpe3/0nUpNMg1GCLLWmB3N+Jo56zIMxH4zcGZkYhlN3GnPAragrps4Ge5HC/HASDMsynnMjb53TRqqtJpCKkABPdgDIVCYatj9gTeHAcT0SYglyhGsb7vdcRrDfAVQ=
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=1714436828;
	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=BatGsFlsqC4rchCwC44h7E77itmT5UZoiISbPPO034M=;
	b=M10D1TJCUi/gq9kOJRB7iNT80ooP9CzikJj8aFjfaIO5GTaFNSkSXMwahzWvtfOH
	nAj4weIAlUHLEfSFkxLmlfuIiQNwkINXokqYQOoSQ5un9ipDrses796sdqZQPO04Uen
	oegn4K9W51CRVStAFltwdmAyRWp3OKkURLiSBBBw=
Message-ID: <ee507cf7-b5e8-4141-85b6-c81955bcc348@apertussolutions.com>
Date: Mon, 29 Apr 2024 20:27:03 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm/dom0less-build: Alloc magic pages for
 Dom0less DomUs from hypervisor
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-2-xin.wang2@amd.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: <20240426031455.579637-2-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/25/24 23:14, Henry Wang wrote:
> There are use cases (for example using the PV driver) in Dom0less
> setup that require Dom0less DomUs start immediately with Dom0, but
> initialize XenStore later after Dom0's successful boot and call to
> the init-dom0less application.
> 
> An error message can seen from the init-dom0less application on
> 1:1 direct-mapped domains:
> ```
> Allocating magic pages
> memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
> Error on alloc magic pages
> ```
> This is because currently the magic pages for Dom0less DomUs are
> populated by the init-dom0less app through populate_physmap(), and
> populate_physmap() automatically assumes gfn == mfn for 1:1 direct
> mapped domains. This cannot be true for the magic pages that are
> allocated later from the init-dom0less application executed in Dom0.
> For domain using statically allocated memory but not 1:1 direct-mapped,
> similar error "failed to retrieve a reserved page" can be seen as the
> reserved memory list is empty at that time.
> 
> To solve above issue, this commit allocates the magic pages for
> Dom0less DomUs at the domain construction time. The base address/PFN
> of the magic page region will be noted and communicated to the
> init-dom0less application in Dom0.

Might I suggest we not refer to these as magic pages? I would consider 
them as hypervisor reserved pages for the VM to have access to virtual 
platform capabilities. We may see this expand in the future for some 
unforeseen, new capability.




From xen-devel-bounces@lists.xenproject.org Tue Apr 30 00:31:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 00:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714435.1115662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1bOx-0004Vl-RJ; Tue, 30 Apr 2024 00:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714435.1115662; Tue, 30 Apr 2024 00: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 1s1bOx-0004Ve-Mt; Tue, 30 Apr 2024 00:31:19 +0000
Received: by outflank-mailman (input) for mailman id 714435;
 Tue, 30 Apr 2024 00:31:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BVXM=MD=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1s1bOw-0004VY-G4
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 00:31:18 +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 f46758af-0688-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 02:31:17 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1714437067300208.51828680942594;
 Mon, 29 Apr 2024 17: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: f46758af-0688-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1714437069; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ZLEEl1MviJl21EMtT7056IKgIQuSKJh9qHydtmImtyShTepzM0E1Yuw5QcnignLZTdXiZTZkKIG2D3wD4c4CLeymlrMYP11qpHl9grwBflJqphBAVlXFcUVDGeIZfjSEo6EsA5Xb8fu7jhklxCkf3nJZyq49IQ6jqiTYbBDJ0ug=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1714437069; 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=O/AQsgaWtiqRuC8OFCXpq/ceYB5OlDRP5lLTF2SSmV0=; 
	b=JN2Lx4ORzgq9dAGCLaTdkqXIRGbe/EJRX2NPOua74cX6tHLCTvYdOjdIpDCQSWYC4BCbchGmq3RKR2vFyNC7SHw5J6W0FFwsTOvg6rGvr7KRUUMEeYPzV7f9LwwzbD5+it/bYWX2BtEOf9f7mWqml/tInDKDO6HpcZgge/kYXas=
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=1714437069;
	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=O/AQsgaWtiqRuC8OFCXpq/ceYB5OlDRP5lLTF2SSmV0=;
	b=QU0X14UocVKZaDZcEK6zA94eTGYtt1/5Jd0ZTuzhd5WfBpo/zPTeIUBQBIrXKm2Y
	1UC7iW0Nzwd2PUjk/zlAZ1pqTJ3K24yoZquVJ33TiA7YWztKDyfQYN+flju9U9VGbYG
	tA+CnNh4gHdzr+gwZCHz/L8mCCdEGblSTXw4keeU=
Message-ID: <ce942d72-f214-4043-bf61-9d124c0bca64@apertussolutions.com>
Date: Mon, 29 Apr 2024 20:31:04 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@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: <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External


On 4/26/24 02:21, Jan Beulich wrote:
> On 26.04.2024 05:14, Henry Wang wrote:
>> --- a/xen/include/public/hvm/params.h
>> +++ b/xen/include/public/hvm/params.h
>> @@ -76,6 +76,7 @@
>>    */
>>   #define HVM_PARAM_STORE_PFN    1
>>   #define HVM_PARAM_STORE_EVTCHN 2
>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>   
>>   #define HVM_PARAM_IOREQ_PFN    5
> 
> Considering all adjacent values are used, it is overwhelmingly likely that
> 3 was once used, too. Such re-use needs to be done carefully. Since you
> need this for Arm only, that's likely okay, but doesn't go without (a)
> saying and (b) considering the possible future case of dom0less becoming
> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
> this also needs at least a comment, maybe even an #ifdef, seeing how x86-
> focused most of the rest of this header is.

I would recommend having two new params,

#define HVM_PARAM_HV_RSRV_BASE_PVH 3
#define HVM_PARAM_HV_RSRV_SIZE 4

This will communicate how many pages have been reserved and where those 
pages are located.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 00:35:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 00:35:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714440.1115671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1bTP-0005Sc-FM; Tue, 30 Apr 2024 00:35:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714440.1115671; Tue, 30 Apr 2024 00: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 1s1bTP-0005SV-CT; Tue, 30 Apr 2024 00:35:55 +0000
Received: by outflank-mailman (input) for mailman id 714440;
 Tue, 30 Apr 2024 00: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=BVXM=MD=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1s1bTO-0005SP-1K
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 00:35: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 988fed48-0689-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 02:35:52 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1714437346348812.2201374129029;
 Mon, 29 Apr 2024 17:35: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: 988fed48-0689-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1714437347; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=NcD4Pp5emNoAzQIerOrpglkZEpXtzo4z2IJxg8y1SPQdJtPq9daUqPS/vLFxtiZ33XdVXpx4pfVnd7i+bd9eGVnm30ROCNVC4FzOm9h6iEjpy67AIoMo5qO52+IHeQd5Yc2zzmMOt0rna0mmrLgMO6EhBLOIYNhs8M7k5P0uofY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1714437347; 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=ZsNtckI8sAsvwz3ieY4PW/i14UFHLaAmU4jvY212/7Q=; 
	b=ix/kO40BLAhYRuW6pukvwiVLPT3lA42hItfB1UX4dSPM68N0A+zQWpDmTj+k9S5DBXPuxW/pNs2+Zfofc2KqxWZSUD6QL/QK+qETHL0gfnaBiZhkrJJN0r1i0f22LcMQbrNnX+KHKHzd5gc3t3hIOoGQ+WChGFhW3XBNWokoBmM=
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=1714437347;
	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=ZsNtckI8sAsvwz3ieY4PW/i14UFHLaAmU4jvY212/7Q=;
	b=WV2rf7bXTfEw5NMG3RMKC57sre8zLh0EgUoHgYyVg3TduRwO6S8+tFYrb66n7gBZ
	eIU02TCoXLqgiFXeUHzfk6BgfJhC++gxaCvClatzDKD1vu/4vOqSLUGAZHjNostmT5X
	X9RNMGdDRwxNbUcPsw9x/P0DSrhKuADvyAHi76jU=
Message-ID: <5ff31bae-5a70-498e-ba4e-5bf69e08d80a@apertussolutions.com>
Date: Mon, 29 Apr 2024 20:35:43 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.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: <20240426031455.579637-3-xin.wang2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/25/24 23:14, Henry Wang wrote:
> For use cases such as Dom0less PV drivers, a mechanism to communicate
> Dom0less DomU's static data with the runtime control plane (Dom0) is
> needed. Since on Arm HVMOP is already the existing approach to address
> such use cases (for example the allocation of HVM_PARAM_CALLBACK_IRQ),
> add a new HVMOP key HVM_PARAM_MAGIC_BASE_PFN for storing the magic
> page region base PFN. The value will be set at Dom0less DomU
> construction time after Dom0less DomU's magic page region has been
> allocated.
> 
> To keep consistent, also set the value for HVM_PARAM_MAGIC_BASE_PFN
> for libxl guests in alloc_magic_pages().
> 
> Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
> Signed-off-by: Henry Wang <xin.wang2@amd.com>
> ---
>   tools/libs/guest/xg_dom_arm.c   | 2 ++
>   xen/arch/arm/dom0less-build.c   | 2 ++
>   xen/arch/arm/hvm.c              | 1 +
>   xen/include/public/hvm/params.h | 1 +
>   4 files changed, 6 insertions(+)
> 
> diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
> index 8cc7f27dbb..3c08782d1d 100644
> --- a/tools/libs/guest/xg_dom_arm.c
> +++ b/tools/libs/guest/xg_dom_arm.c
> @@ -74,6 +74,8 @@ static int alloc_magic_pages(struct xc_dom_image *dom)
>       xc_clear_domain_page(dom->xch, dom->guest_domid, base + MEMACCESS_PFN_OFFSET);
>       xc_clear_domain_page(dom->xch, dom->guest_domid, dom->vuart_gfn);
>   
> +    xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_MAGIC_BASE_PFN,
> +            base);
>       xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_CONSOLE_PFN,
>               dom->console_pfn);
>       xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 40dc85c759..72187c167d 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -861,6 +861,8 @@ static int __init construct_domU(struct domain *d,
>               free_domheap_pages(magic_pg, get_order_from_pages(NR_MAGIC_PAGES));
>               return rc;
>           }
> +
> +        d->arch.hvm.params[HVM_PARAM_MAGIC_BASE_PFN] = gfn_x(gfn);
>       }
>   
>       return rc;
> diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
> index 0989309fea..fa6141e30c 100644
> --- a/xen/arch/arm/hvm.c
> +++ b/xen/arch/arm/hvm.c
> @@ -55,6 +55,7 @@ static int hvm_allow_get_param(const struct domain *d, unsigned int param)
>       case HVM_PARAM_STORE_EVTCHN:
>       case HVM_PARAM_CONSOLE_PFN:
>       case HVM_PARAM_CONSOLE_EVTCHN:
> +    case HVM_PARAM_MAGIC_BASE_PFN:
>           return 0;

I know you are just adding, so more of a question for the Arm maintainers:

Why does Arm have a pair of private access control functions subverting XSM?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 00:54:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 00:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714446.1115682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1bky-00009I-T3; Tue, 30 Apr 2024 00:54:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714446.1115682; Tue, 30 Apr 2024 00:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1bky-00009B-QL; Tue, 30 Apr 2024 00:54:04 +0000
Received: by outflank-mailman (input) for mailman id 714446;
 Tue, 30 Apr 2024 00:54: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=BVXM=MD=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1s1bkx-00007i-2U
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 00:54:03 +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 21273cc0-068c-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 02:54:01 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1714438435054220.58547130588897;
 Mon, 29 Apr 2024 17:53: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: 21273cc0-068c-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1714438436; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=D4vLwAPZbNmDP0puFkWJYdNTjrNApebgq8zgjKRteYcjQVjK5w/g3IypF2yy8vus/CrlJeDFuvav7ZMWqI8/3JRbDrXIl8UlIhmvuDVHOjbFb7i+VRtzIKw1+jvd57RsZmXto+ciyxLtKCf6L4Q+ttRop2K37OcbVtIIOdBZFwM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1714438436; 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=0FV04If4TK3mTMXlksQfK6bbIYebicuq2D+5or3EVBE=; 
	b=dfiZQH0YJ+9isb8A9SEqmsMMcmAPqBvgsIzxqWKtXCTD2ut5Q3X2oDP/jXe8ktC+a0NMiMrtDUcrT8KVXtKxsJ/v1lrzgUgFukKalKyY1zRj/bmDW44QepDKYZZOTjg2+ALMRKwerhMIIw6uBIudLBv7B0Y8g0PjpiWo4/7+7/o=
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=1714438436;
	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=0FV04If4TK3mTMXlksQfK6bbIYebicuq2D+5or3EVBE=;
	b=YkhaWiNj7o3cd6Dfx7iA++rDc2uWvPqDCvIl4TT/Kv+PlhrFtYN+SZFIIZh/bKZJ
	V5fJ2IpLIXoLSuLVyiKl1UOacOEiYMWesrSzjWjYgz844Y4RMEPPym108hXYydW5LI1
	+ZNArlseHtXvYj0T0a5BswSPWId6+TJjYBJQVhYA=
Message-ID: <e1535f93-a645-4dbe-a4ee-9a98b7e2c605@apertussolutions.com>
Date: Mon, 29 Apr 2024 20:53:53 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/xsm: Wire up get_dom0_console
Content-Language: en-US
To: Jason Andryuk <jason.andryuk@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>
References: <20240426040432.51910-1-jason.andryuk@amd.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: <20240426040432.51910-1-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/26/24 00:04, Jason Andryuk wrote:
> An XSM hook for get_dom0_console is currently missing.  Using XSM with
> a PVH dom0 shows:
> (XEN) FLASK: Denying unknown platform_op: 64.
> 
> Wire up the hook, and allow it for dom0.
> 
> Fixes: 4dd160583c ("x86/platform: introduce hypercall to get initial video console settings")
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 01:25:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 01:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714450.1115692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1cFD-0003nl-6I; Tue, 30 Apr 2024 01:25:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714450.1115692; Tue, 30 Apr 2024 01:25:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1cFD-0003ne-3Q; Tue, 30 Apr 2024 01:25:19 +0000
Received: by outflank-mailman (input) for mailman id 714450;
 Tue, 30 Apr 2024 01:25: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=BVXM=MD=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1s1cFC-0003nF-7r
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 01:25:18 +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 7f048f68-0690-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 03:25:16 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1714440310054999.7205994577544;
 Mon, 29 Apr 2024 18:25: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: 7f048f68-0690-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1714440311; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=lzhqFU1sA7sNGPd1eZjXh94ZRmy4pQxYtNGNrExUMeBSg1YV62NBR+DS/4lLP76t/IL4/pArQS3Z7+7a8fW31athO+iPTkpbpCZ5eX6lTpvPVrlECl2mfwF47/fRPvwPK3AGjjSiOTrK2DvWRIj1migLq8Yau8DHQRFh2sR1sL4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1714440311; 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=mzp6rH/sPd8q3NGhZnmC3LEWgf8cId+jZm5+/AZdFgo=; 
	b=oKR08WSa09f9SuA+LNWmSofgzRccIIDP1Ebna26gELZkJWupKtTzcICOa53yWEx/N8blPMxmJlwGRs+qKHRdH/kv0dsUBUmPUSNOp5CyOcnG+tBQLRu2uDssJY8Q5cUXEXlUvxiBSvUBaWeEk1BHnMP1wEeg7YA/tUxHfv+qfFY=
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=1714440311;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:From:From:To:To:Cc:Cc:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=mzp6rH/sPd8q3NGhZnmC3LEWgf8cId+jZm5+/AZdFgo=;
	b=tZ5t6svkaC+CzsOy5hGTRdk55VxOGVVdu+OV9+rFm+4L4XcAmcUHOrM9hwwCdE+K
	yzeZNTJQHDZgfBXjRRqk0M7CC13+z0lnx+1s6RqST50bL1xh022tWpWvaP/8RyEZIWU
	Mh1FFnd+LA4ewi52mhlXqj+IHEkzf/QMkVtr8d9Q=
Message-ID: <9fcbeba1-ba94-487b-94fc-3bcb4be80158@apertussolutions.com>
Date: Mon, 29 Apr 2024 21:25:06 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <5ff31bae-5a70-498e-ba4e-5bf69e08d80a@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: <5ff31bae-5a70-498e-ba4e-5bf69e08d80a@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 4/29/24 20:35, Daniel P. Smith wrote:
> On 4/25/24 23:14, Henry Wang wrote:
>> For use cases such as Dom0less PV drivers, a mechanism to communicate
>> Dom0less DomU's static data with the runtime control plane (Dom0) is
>> needed. Since on Arm HVMOP is already the existing approach to address
>> such use cases (for example the allocation of HVM_PARAM_CALLBACK_IRQ),
>> add a new HVMOP key HVM_PARAM_MAGIC_BASE_PFN for storing the magic
>> page region base PFN. The value will be set at Dom0less DomU
>> construction time after Dom0less DomU's magic page region has been
>> allocated.
>>
>> To keep consistent, also set the value for HVM_PARAM_MAGIC_BASE_PFN
>> for libxl guests in alloc_magic_pages().
>>
>> Reported-by: Alec Kwapis <alec.kwapis@medtronic.com>
>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>> ---
>>   tools/libs/guest/xg_dom_arm.c   | 2 ++
>>   xen/arch/arm/dom0less-build.c   | 2 ++
>>   xen/arch/arm/hvm.c              | 1 +
>>   xen/include/public/hvm/params.h | 1 +
>>   4 files changed, 6 insertions(+)
>>
>> diff --git a/tools/libs/guest/xg_dom_arm.c 
>> b/tools/libs/guest/xg_dom_arm.c
>> index 8cc7f27dbb..3c08782d1d 100644
>> --- a/tools/libs/guest/xg_dom_arm.c
>> +++ b/tools/libs/guest/xg_dom_arm.c
>> @@ -74,6 +74,8 @@ static int alloc_magic_pages(struct xc_dom_image *dom)
>>       xc_clear_domain_page(dom->xch, dom->guest_domid, base + 
>> MEMACCESS_PFN_OFFSET);
>>       xc_clear_domain_page(dom->xch, dom->guest_domid, dom->vuart_gfn);
>> +    xc_hvm_param_set(dom->xch, dom->guest_domid, 
>> HVM_PARAM_MAGIC_BASE_PFN,
>> +            base);
>>       xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_CONSOLE_PFN,
>>               dom->console_pfn);
>>       xc_hvm_param_set(dom->xch, dom->guest_domid, HVM_PARAM_STORE_PFN,
>> diff --git a/xen/arch/arm/dom0less-build.c 
>> b/xen/arch/arm/dom0less-build.c
>> index 40dc85c759..72187c167d 100644
>> --- a/xen/arch/arm/dom0less-build.c
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -861,6 +861,8 @@ static int __init construct_domU(struct domain *d,
>>               free_domheap_pages(magic_pg, 
>> get_order_from_pages(NR_MAGIC_PAGES));
>>               return rc;
>>           }
>> +
>> +        d->arch.hvm.params[HVM_PARAM_MAGIC_BASE_PFN] = gfn_x(gfn);
>>       }
>>       return rc;
>> diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
>> index 0989309fea..fa6141e30c 100644
>> --- a/xen/arch/arm/hvm.c
>> +++ b/xen/arch/arm/hvm.c
>> @@ -55,6 +55,7 @@ static int hvm_allow_get_param(const struct domain 
>> *d, unsigned int param)
>>       case HVM_PARAM_STORE_EVTCHN:
>>       case HVM_PARAM_CONSOLE_PFN:
>>       case HVM_PARAM_CONSOLE_EVTCHN:
>> +    case HVM_PARAM_MAGIC_BASE_PFN:
>>           return 0;
> 
> I know you are just adding, so more of a question for the Arm maintainers:
> 
> Why does Arm have a pair of private access control functions subverting 
> XSM?

On closer look, I see x86 has done the same. While the way this is set 
up bothers me, reviewing the history it was clearly decided that only 
controlling use of the op by a src domain against a target domain was 
sufficient. Ultimately, it is seeing a mini access control policy being 
codified in the access code is what is bothering me here. Fixing this 
would require a complete rework of xsm_hvm_param, and while it would 
correct the access control from a purist perspective, the security 
benefit would be very low.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 02:51:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 02:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714460.1115702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1dac-0006sV-76; Tue, 30 Apr 2024 02:51:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714460.1115702; Tue, 30 Apr 2024 02:51:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1dac-0006sO-3t; Tue, 30 Apr 2024 02:51:30 +0000
Received: by outflank-mailman (input) for mailman id 714460;
 Tue, 30 Apr 2024 02:51: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=H2uD=MD=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s1daa-0006sI-RH
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 02:51:28 +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 8905ecfd-069c-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 04:51:26 +0200 (CEST)
Received: from DM6PR11CA0049.namprd11.prod.outlook.com (2603:10b6:5:14c::26)
 by PH0PR12MB7906.namprd12.prod.outlook.com (2603:10b6:510:26c::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Tue, 30 Apr
 2024 02:51:23 +0000
Received: from DS3PEPF0000C37F.namprd04.prod.outlook.com
 (2603:10b6:5:14c:cafe::ac) by DM6PR11CA0049.outlook.office365.com
 (2603:10b6:5:14c::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34 via Frontend
 Transport; Tue, 30 Apr 2024 02:51:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF0000C37F.mail.protection.outlook.com (10.167.23.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7544.18 via Frontend Transport; Tue, 30 Apr 2024 02:51:22 +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.35; Mon, 29 Apr
 2024 21:51:19 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 29 Apr 2024 21:51: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: 8905ecfd-069c-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ken0uOiQKhrHy8zpsrY7FvOVMFm+AeQ4N/9xtEf9qcOxJhtRl2jzHxSN5f+yuSuptAJAs5gBPyiBk+uyN8+Vn7CgZkEKASUtqLNVxkhQBy+qFGGGA8NBR7si2yHOBaTzuB2+9ICjMmK9fizTcyjo+h/Of4XfOMiq7oY8xBpVA8BWY3HBzIJMf0WWxdc4j2ljD9qbuFW0VjTn1q2gmW9aFLNQIKwi7rgAu1dtzDtd0wi2SUuGYxuPjnvCu51Khp9Pc8X+ykrdPdV4zgz3yzhZgKbLzrBnr5RBH7fAXjeOsrBew+r86v53iUUczTgqWu1gwXhtsufX55UB60yLmmcRiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WnM9zowzY3hYxOZoruqgKyItj7CRlYGLq7jTRlTOv/g=;
 b=B84DYJ1eSMeu3gFug6IHG4Wqyq5xYjToS4iUsTzX/tWH2jrlNuJPHr9HarLJDkFi2YiaMpjP4nlyPTLoKBuDF9kNlQkSRVghA4G3FVpd+c88w8hr0JKZQ80eytXKIw55UgkBTP7uPGrJ1ahm+mfWCsS6iNChzoFpvmeqvqLFxU46NImhlyVOD6J4lsCQsa9bydvrEuFKU4BvbbfY0I/ZuUfrSnLlfRqC2stR1gPH/gsBBG3rLXSWS+2Y2UY0mJbjkgpsyBWtnEZAt9IgqOvvsU2nIFZPHwx9TtkBtLHSdFwcxKmIrRs0HiGMOj5xz7QmICOkUcFDw7QeEvqydh52dA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=apertussolutions.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=WnM9zowzY3hYxOZoruqgKyItj7CRlYGLq7jTRlTOv/g=;
 b=4azxxFhgFNrk3jA45j3gvOx4rvaKACpCLAKcVXC4I7iYS16fRpQQKv9QbZLGRuh2uneXFpGGkoKFL+H16L+fR7F3VF78ytaHBPSxbMf6lttN2A2V0m/RWPO/IsW9lN8luyN3kp+CVKb3Rg1YkG//g5I3JsEtWqjHxMgYSf0JszE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <8f543eac-a686-4298-a677-c984fe5230bd@amd.com>
Date: Tue, 30 Apr 2024 10:51:15 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>, Jan Beulich
	<jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	"Michal Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
	<xen-devel@lists.xenproject.org>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
 <ce942d72-f214-4043-bf61-9d124c0bca64@apertussolutions.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <ce942d72-f214-4043-bf61-9d124c0bca64@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF0000C37F:EE_|PH0PR12MB7906:EE_
X-MS-Office365-Filtering-Correlation-Id: 61f44ede-e7f1-44ab-f7fc-08dc68c06b90
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|36860700004|82310400014|1800799015|7416005|376005;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YXI1OHRvZldUTW5GOVJob0p4QXBWTk9MdE83TUl6M1ZHenVOOEc3dVFOTFdQ?=
 =?utf-8?B?dnVFcUMzOGUzWGdJSDE0RDBZazZ0WlZmb2ZtUmRJNVFkZWU1SnNFMXBRK0Qw?=
 =?utf-8?B?TVJueHpnVGo3M1Urd2NLdmpDa1hDWWFWRHd5a0RpU3F5SlZCZEZBRWZOZ3Bi?=
 =?utf-8?B?U2puSVh1aldJWUdQRFQ2d0RDb0FFMlBjYUFxWnFNMGlMdkRCUEpKcXpQNUNK?=
 =?utf-8?B?Wkh0TFlXYytQTUdnNUg2SHhjZHN5R0pUSUJ1VGhqeHRSZGJDS05IeHVxdTFW?=
 =?utf-8?B?V3RmblhrQS9uZUlRSG1KMHFQcXI2TjA1ZjRVc2srR0ZzSHBXM1p0elFlVldN?=
 =?utf-8?B?SnFmbzdwNFVPN1VleWI1T29GQWdaZXYzVUFOQnNmMGV6OG5sU2JmKzVZZ2Ja?=
 =?utf-8?B?bVFNNHR5Tk55YXFJZnRkM0h6aFFKNjgwT2I0bCtlaTBUOEVGZGcyNkNTb0d2?=
 =?utf-8?B?Q0Erek56Sm44ay9UYUlnN21LWTJ4NU1NMlZBc0tBUEZKVlJRaHV5MDV3MlJY?=
 =?utf-8?B?Wkw4dGNZcWtwMi9vajFWSGF4dW4zMWQrT2IwdDVBU0hFOUNDN2hsbFFIWlJ4?=
 =?utf-8?B?NXJUK25oZDBhd2lwTTRYMjhQdkpPOFBGVDZSUmY3c1VIOW9PdWM5WlErbVR1?=
 =?utf-8?B?VVVxZ1dER3FmN01FZ0l6MUhiMzZFWUNrRlZvNDJHWnZUaEFlSW1aOGMwM1Q3?=
 =?utf-8?B?dXBYNlVkY1liVHh1VGE4dm9OWVF2Qml4ZjJrVnBUT25SWHl4TE1sVm1Qa0Y3?=
 =?utf-8?B?eW14eVFkMUU0WWN1OFhHb25qMDJrYmdkYnlRWGF0Ti9nQm96MlpKZFJqeDZ4?=
 =?utf-8?B?ODRWQW1JVDczWS96VGFQc2dVbVhOaG5vQmlSNndJUHZvMGpBWnBDckd4aCs4?=
 =?utf-8?B?ckI0S3BhWkQ2MUszc2xRSHZNcUQ2UHFMd3h6ekw4d0N2bzdVVVc3cnlyajZC?=
 =?utf-8?B?dkhIZldmUFVUL3hmQ3ppNjN2cFE4U3NEdG1WZWNoWDJGc01KR1VCYUttY3Rl?=
 =?utf-8?B?MWtrMjB4dE93SHFkMVovSVhNMUorajRjZnpCV0FaSkJpbWdqRmo4NDRGdVFR?=
 =?utf-8?B?dXRMTUdFbTE1TEFxb1pPRHI2VXBMWmljeGd3TndsaDBJM2Z3VnBLd082R2xo?=
 =?utf-8?B?UjZUanVNdVdJUWxySWRRMUJrNVYvV2JRYzF1bnJyTXJoMmRHOVZ1ZHc3aUdB?=
 =?utf-8?B?RGRUZjZjblk1MnRKWXhpMGNORVBYRTh6Ry9yZUFhWWVOdkJXSkJ3cXAxVU4y?=
 =?utf-8?B?dUJxU1NkSDV0MlVqa0JuOVRZSmF3UHpkemM5RHJwWDcvMHZPcmZWTW5Deitz?=
 =?utf-8?B?V1k4ZTNwaUV2MFVmTE1kMXllOGptY3NBMUhrd1NJTFlTY25kZXl1SEFtdkk5?=
 =?utf-8?B?b1BPSmgycFFBemZyTDlSbURiNWhYRHg5UTgxNTlabFdXN3o0WGJ3dUh5eXVF?=
 =?utf-8?B?d0ltVHQ3Tlo5VllSd3ptcHd2NHo4dDlYS2ZRQ0dWTTJ6azFSWGcwU1pVQ0g0?=
 =?utf-8?B?dzBGSS9qMkdjL01WQXRWZlBjc0NndzZlYSt1ZkY1by9JL3V4OTg4SE9hYkx5?=
 =?utf-8?B?aXZkL29nbG50L1pMMlNhdjBNcWpnamtDNml1R0MvYXI2dkdKSjRncEcrMTlh?=
 =?utf-8?B?UmYyTEcrbnNLV1hXTzRDOWpOV2wrUWZiYWV3UFBqOC9tK2pSeDVnZjltL1I0?=
 =?utf-8?B?Q0svU0tqVTZ0THhUeGRtbjUraFgwMXMyTWV2Y0tGUXpVMXdMUU1jTUZPd1ky?=
 =?utf-8?B?NlM0dVhBK2swa0p3MGI3TlVUMXdEUVIxYTZsdlRiSWc2N0tHUEU3bitPcEhU?=
 =?utf-8?Q?Qu4WLiZq0bumE8E19MOIm0gCCNvdLzRUVOjyc=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:(13230031)(36860700004)(82310400014)(1800799015)(7416005)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 02:51:22.6502
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 61f44ede-e7f1-44ab-f7fc-08dc68c06b90
X-MS-Exchange-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:
	DS3PEPF0000C37F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7906

Hi Daniel,

On 4/30/2024 8:31 AM, Daniel P. Smith wrote:
>
> On 4/26/24 02:21, Jan Beulich wrote:
>> On 26.04.2024 05:14, Henry Wang wrote:
>>> --- a/xen/include/public/hvm/params.h
>>> +++ b/xen/include/public/hvm/params.h
>>> @@ -76,6 +76,7 @@
>>>    */
>>>   #define HVM_PARAM_STORE_PFN    1
>>>   #define HVM_PARAM_STORE_EVTCHN 2
>>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>>     #define HVM_PARAM_IOREQ_PFN    5
>>
>> Considering all adjacent values are used, it is overwhelmingly likely 
>> that
>> 3 was once used, too. Such re-use needs to be done carefully. Since you
>> need this for Arm only, that's likely okay, but doesn't go without (a)
>> saying and (b) considering the possible future case of dom0less becoming
>> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
>> this also needs at least a comment, maybe even an #ifdef, seeing how 
>> x86-
>> focused most of the rest of this header is.
>
> I would recommend having two new params,

Sounds good. I can do the suggestion in v2.

>
> #define HVM_PARAM_HV_RSRV_BASE_PVH 3
> #define HVM_PARAM_HV_RSRV_SIZE 4

I think 4 is currently in use, so I think I will find another couple of 
numbers in the end for both of them. Instead of reusing 3 and 4.

Kind regards,
Henry

>
> This will communicate how many pages have been reserved and where 
> those pages are located.
>
> v/r,
> dps



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 02:56:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 02:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714465.1115712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1dez-0007kU-SF; Tue, 30 Apr 2024 02:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714465.1115712; Tue, 30 Apr 2024 02:56: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 1s1dez-0007kN-Oz; Tue, 30 Apr 2024 02:56:01 +0000
Received: by outflank-mailman (input) for mailman id 714465;
 Tue, 30 Apr 2024 02:56: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=H2uD=MD=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s1dey-0007kG-F8
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 02:56:00 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b8951a1-069d-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 04:55:59 +0200 (CEST)
Received: from BN9PR03CA0478.namprd03.prod.outlook.com (2603:10b6:408:139::33)
 by IA1PR12MB6065.namprd12.prod.outlook.com (2603:10b6:208:3ef::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.35; Tue, 30 Apr
 2024 02:55:56 +0000
Received: from BN2PEPF000044AC.namprd04.prod.outlook.com
 (2603:10b6:408:139:cafe::ca) by BN9PR03CA0478.outlook.office365.com
 (2603:10b6:408:139::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.31 via Frontend
 Transport; Tue, 30 Apr 2024 02:55:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF000044AC.mail.protection.outlook.com (10.167.243.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7544.18 via Frontend Transport; Tue, 30 Apr 2024 02:55:55 +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.35; Mon, 29 Apr
 2024 21:55:55 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 29 Apr 2024 21:55: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: 2b8951a1-069d-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aKVaBwEQdSWzUJOrImdl9y2lIISMkdodBFrhxnVaOqkNmLF58Umaw+H4gSWLGIATP4xuAkxhD1FpOhbZXmyazOa9cW7tT32Pg+YyvugipfELAZ5lhaWo8b7maHDu4rdmHWe8fjksKWvw0HaEbH57BXb6F47i8Tj+6uOCfXZa7jiNrot8++XwytUe8rWNNiiPWCZKYGQNbK1LAN3OzWqw7WTCl8cNT4ie8UPRMMi7pWePCFvqdWS0Cl91ixfpC0teBTe0WOMny2DJQdRZcLmreIFnoEcHosvhQtoIv9UQetdhYvcwENZ3Guohz5DTtPhtExCG2b1kNjkNNDenEYPP9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oiUZ566o71AWf48GjiUhT6KI92J4Np8zhQZm55hR4ek=;
 b=oBJ02O84wBIKF6YubxOWbDvqA9LYCQhgSABx/vzPT+MId0DlbEKImmw7oR2Q1sa74+H/QdsuvKPY4daCkV0qccyQEc/R5tF/Mf3SkbI7PQJpbJ0Z719qHCBeHJHfNE06FhhihEx1+0AFMRYXZcTZJyZfmGM72Z6pryCgPpZq9B6VnCUUbi1AFGKUA0HKSYq+q+NfUXy1ow4GTrnL2vvm48OG9tHEbJY+SIJS3TWsteSQi61Prd5s4RHKDJQhm0QcWKlzBU6zM1mhRpFeTIrCsYoNhJV1hjuYfsZ1OYIgykI8IbyRoGkf9DCikId00iEJ/ajQ3rTIE0/qnqqZ4yiMrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=apertussolutions.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=oiUZ566o71AWf48GjiUhT6KI92J4Np8zhQZm55hR4ek=;
 b=HXZHLUgkXeWZpmOTQqwqlzoTw8mUjmK1DTpSkeSDkWXiQrQb4YgGoXdSCQKpiWQHCIu588VQgTBT2PH45zkKbbEW7PZxRYFgfNUVuuuMNcwtKbohrhxymkZl8qsCIfnezPSKsL+s0CLI0ZeQvJIztLVhFYqTFPmw/BGAdi0NVqM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <03357204-0308-46a2-a215-142d681d2b6a@amd.com>
Date: Tue, 30 Apr 2024 10:55:52 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm/dom0less-build: Alloc magic pages for
 Dom0less DomUs from hypervisor
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	<xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Alec
 Kwapis" <alec.kwapis@medtronic.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-2-xin.wang2@amd.com>
 <ee507cf7-b5e8-4141-85b6-c81955bcc348@apertussolutions.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <ee507cf7-b5e8-4141-85b6-c81955bcc348@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000044AC:EE_|IA1PR12MB6065:EE_
X-MS-Office365-Filtering-Correlation-Id: e88bd28e-bf3b-4894-b36d-08dc68c10e6f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|82310400014|1800799015|376005|36860700004;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YS9GR0hBU3hUYTlZbzQ1R0hKVzgveWQwU2o0TzdqdFUzbUhTcDJlem40RWs5?=
 =?utf-8?B?eDVVWEhpb0FjZm84WHp2RG5QVmR5d1hZL3hadHJRZDkxTEdnRG5tT2Z6T1Ix?=
 =?utf-8?B?b25Gbk1hYjJyd1BqbGgxWmwyWnFpUnFIN3NTL3JZNllBdTAvdzI5OGR2Lytt?=
 =?utf-8?B?R213Z3lPRnE1VlcyVzYvdllDaGYvd3VHZzBLaWRWbWs3UG5GOHViSnlmN3d0?=
 =?utf-8?B?bGRleE0yWEM1Z0ppS2FKVm9teGQ5UFpra1Erdy80YWU1U0x2ZlpHRVVTbzls?=
 =?utf-8?B?Q3VVQ2hFRzg2NnIvWGhyZENBanVJUTZVd0FCQWMzUUJPNHpBcklKeDluYUZZ?=
 =?utf-8?B?WUdXRllPa3V2bUdEL3VqRTFVbmJTTkZHZThlWEQ4K3A5US9XWkdaZFhYRng2?=
 =?utf-8?B?czFUbEtqb005Rlk1SE4xaU5ZRmpFajJzb2JMaElkOUZEMThVRzBNbHBkUVNq?=
 =?utf-8?B?bjVuQnVBY0tNSXkwM2NnbHhuVW04L29sUjhrK0psazVETHdEVTBrb0NEM210?=
 =?utf-8?B?akZWZnpRak92VUM1cSt4Qk1uRUl1TjlwVGxQeFUwTWczUGcwTjRRUDhwSExB?=
 =?utf-8?B?SVByTTlOREtlWENLMndndTdUUUtjZG5VMFJRV0lwL2UvSWhLMDVNWnlKR3l3?=
 =?utf-8?B?QzdYU1FKV0pzSEdCYUZyMUlUV2oxR2ZBZ2ZqNEtRQmtndnhZNytGdUR2TlNN?=
 =?utf-8?B?NG9yMkM5UEthQ2R3Qlk5V3FnTDA3VVExaFJGWnlxSndNQkJYSEY3cmlwUkV1?=
 =?utf-8?B?a2lBeU5mK1FxQUNQcG83SFduS2hremJMdnNlcTlrRTNRQ2l2VmRmRTBhMWN1?=
 =?utf-8?B?TjV4b2c4SXhEQTRRNUt4U3R2cHcyQ3k5c2pzaUdhdURNejZSdXJtWWUxcDJX?=
 =?utf-8?B?eDlqZEhxNnJvL1loVEtBUnlHNldBaEY5and1Y2NJQU1QZ1VDOWd5czRJalNy?=
 =?utf-8?B?THZGNlJUdEd2azdaaEtJR0pyUG9HYW9uMUo4NGxDL01GU2JEOEVyMHZKNlZx?=
 =?utf-8?B?L1ladTNZTWh6RGNpbTYrRDV3NzFQOVlhbXZEaUJxZ3ZBbHVoUlNGQkRIZ1Zt?=
 =?utf-8?B?QWN4QnN1UTFpdU9RUU50S3FOY0gxbFM1Uzk1aEN5cVk3WW12NlRGZVpLTUNk?=
 =?utf-8?B?OUlLaGJQQ1BYcC9HTlAwK282Qm8yNmx6ODNqYlJxdFZDWWxZS0VlYTlpVk4r?=
 =?utf-8?B?WVhMckVKL2xycWdOL1NuOVd4emgyS1lPazBwZkZDL3cxcjhJdmtlakwrNDR4?=
 =?utf-8?B?bWZGbzlUZTZScitLN1lKZGpMa1cwZlp5cUNVMXd0V0dNMHBsVkphTldJMjNP?=
 =?utf-8?B?MThOd0xiTytZM1JaOHdWby83MGJHUW1DS0VaVXNSVXU3N2cvSEpLNjdkMkdG?=
 =?utf-8?B?b0hqTFNFR0VyVThrRnZtYmU2MWxuNEpqWGhGekZINjV2M0hGT1pQR0ExNmFj?=
 =?utf-8?B?MTMvNUtBUWF5akpFY3lhYS9ST2ZEOGVwU3I1K1h1Ullkd2NLUFp6SnZoa01v?=
 =?utf-8?B?YXU5bkJmb08rU053Y3NSZHpLcFVIZVJOK3YxVjI3bFJCdjdLd1BBVjdEVVFu?=
 =?utf-8?B?WGdkNDBqbE9uZWJMN2dVREhtNmJISFB5dllGdjFhLzZYdTFPRG4ycm1jZ1VC?=
 =?utf-8?B?ejJkekFIOWJoYXdST01nanRCNkluZkRqb05Bd0RoTlZqMkFDVVdDMGtXQ2Z2?=
 =?utf-8?B?b3F0aXN2K1hFMzZ3ckp6cjVlaHRhZytTYU14ZlBjNTA0NkEwUWh5L0YyUm90?=
 =?utf-8?B?Tkc1eHUxNFc1N0NwTFk4ZXJxNTNJVnVGWkRNcFNrZy9ld1pjQXpZMXhCV1Fi?=
 =?utf-8?B?d1BhVkVsSkNGREpoTnFWVExpTlVIOGhFN2o0Vzgvcm10eVgveVZ1VExyYlds?=
 =?utf-8?Q?X6Pxcg9WDfcyY?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 02:55:55.9477
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e88bd28e-bf3b-4894-b36d-08dc68c10e6f
X-MS-Exchange-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:
	BN2PEPF000044AC.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6065

Hi Daniel,

On 4/30/2024 8:27 AM, Daniel P. Smith wrote:
> On 4/25/24 23:14, Henry Wang wrote:
>> There are use cases (for example using the PV driver) in Dom0less
>> setup that require Dom0less DomUs start immediately with Dom0, but
>> initialize XenStore later after Dom0's successful boot and call to
>> the init-dom0less application.
>>
>> An error message can seen from the init-dom0less application on
>> 1:1 direct-mapped domains:
>> ```
>> Allocating magic pages
>> memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
>> Error on alloc magic pages
>> ```
>> This is because currently the magic pages for Dom0less DomUs are
>> populated by the init-dom0less app through populate_physmap(), and
>> populate_physmap() automatically assumes gfn == mfn for 1:1 direct
>> mapped domains. This cannot be true for the magic pages that are
>> allocated later from the init-dom0less application executed in Dom0.
>> For domain using statically allocated memory but not 1:1 direct-mapped,
>> similar error "failed to retrieve a reserved page" can be seen as the
>> reserved memory list is empty at that time.
>>
>> To solve above issue, this commit allocates the magic pages for
>> Dom0less DomUs at the domain construction time. The base address/PFN
>> of the magic page region will be noted and communicated to the
>> init-dom0less application in Dom0.
>
> Might I suggest we not refer to these as magic pages? I would consider 
> them as hypervisor reserved pages for the VM to have access to virtual 
> platform capabilities. We may see this expand in the future for some 
> unforeseen, new capability.

I think magic page is a specific terminology to refer to these pages, 
see alloc_magic_pages() for both x86 and Arm. I will reword the last 
paragraph of the commit message to refer them as "hypervisor reserved 
pages (currently used as magic pages on Arm)" if this sounds good to you.

Kind regards,
Henry




From xen-devel-bounces@lists.xenproject.org Tue Apr 30 03:31:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 03:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714475.1115721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1eDg-0004Yy-Dr; Tue, 30 Apr 2024 03:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714475.1115721; Tue, 30 Apr 2024 03:31:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1eDg-0004Yr-BI; Tue, 30 Apr 2024 03:31:52 +0000
Received: by outflank-mailman (input) for mailman id 714475;
 Tue, 30 Apr 2024 03:31:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LOZU=MD=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1s1eDe-0004Yl-NO
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 03:31:50 +0000
Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com
 [2607:f8b0:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2cb1219d-06a2-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 05:31:48 +0200 (CEST)
Received: by mail-pf1-x42f.google.com with SMTP id
 d2e1a72fcca58-6eced6fd98aso4672716b3a.0
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 20:31:48 -0700 (PDT)
Received: from localhost ([122.172.87.52]) by smtp.gmail.com with ESMTPSA id
 fj40-20020a056a003a2800b006f3021367desm13396211pfb.197.2024.04.29.20.31.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 Apr 2024 20:31: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: 2cb1219d-06a2-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1714447907; x=1715052707; 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=DctXP/XyyqQld/Ca/nMKTxAKdgnxxebvNJbPi5up/RE=;
        b=aLQKVlGaboyhwUVmaC7E/38sWKyPtZq4ZXR86jE8SPcs7T95hRGukj3Pc6xbU4iIUy
         +l16nfy7efWdIiO9HpGA+uY4+Ms7c5sap+kTNHNpZTL79HA4PpLJkbU+LGzJ1YJUWDkK
         LjqnapdFrVVXYFJnrTHU43MAQMqHt8J3fm37ZqLeQGgi3TPzbbyF2gU+TG8pCpHxCeXK
         YDnaZkU/TqodbNo3jXEQJNXNQgw5vhkJQS5NNp8M9VLklFAoT8AofYDkp+gXZ8hUFFXR
         yhASDgCZ05NxQooeHQPBQON67J+xy1pc542HuRR8khCEVmkm2zJMTj4l/DDegtXH3oh9
         PpXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714447907; x=1715052707;
        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=DctXP/XyyqQld/Ca/nMKTxAKdgnxxebvNJbPi5up/RE=;
        b=bo65tZfnFJ7MWGx9LxtnMFq+cfwmKwRg9MGJEi8nhQOHUx76rvzLLeXLPW3L2iwD+R
         7nvtDhFkHlrPrcdIaL3o5pS89M3yPCrzwG1P4CXwfOOWR6FN7UTsdoi9Mm0mEaP+dHgL
         Nni+JMvvvrp+EO/EgCU82BaSKT81HG7Q+RKD9KcDHCQ4dg+UqOJPA5OBQaQt7pThf5Hv
         6K+2wxP2WBDo1ScB6pyrzI6VT9mc1Jo9guenWb3QuakvAmJUNq7jMWIQznrE576RVrtp
         BrTFPqCwQ7SsEvoiQnepPDGbeLAMMHf88ZPrePVE10AgLaYqmMyWL9ZoiR8HTzqJ0dWk
         SbtA==
X-Forwarded-Encrypted: i=1; AJvYcCXFX30tpptrq5lzTA1v0mfNUhnM/2BjOCnT0tzi3Uu3mGCbTEg2Wg/taBAgkH96DLsXEYKmURa/Prt+avdPelv+p0c3ia8g1JTCwrg+Zac=
X-Gm-Message-State: AOJu0YxnIJWIllZciWOpaiZmpsLkkC1Y2uFII7XF/IHdHIljV7GajyTl
	wmiAPRILgYIcZSCAGJiknVphO9oe8xs98FQQr5EbEAoTdLzUWu7LaW2Ujo3QLP8=
X-Google-Smtp-Source: AGHT+IH6s691kJ8D1SNXDOJLV0swLHmXimVxJkyNiUtylDQmExHr6h9JvGRdXz2G2bcwQ+je4YUh8A==
X-Received: by 2002:a05:6a00:1413:b0:6ec:db05:36d2 with SMTP id l19-20020a056a00141300b006ecdb0536d2mr16789338pfu.4.1714447906591;
        Mon, 29 Apr 2024 20:31:46 -0700 (PDT)
Date: Tue, 30 Apr 2024 09:01:41 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"olekstysh@gmail.com" <olekstysh@gmail.com>,
	Julien Grall <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Bertrand.Marquis@arm.com, michal.orzel@amd.com,
	Artem_Mygaiev@epam.com, Edgar.Iglesias@amd.com
Subject: Re: [VirtIO] Support for various devices in Xen
Message-ID: <20240430033141.h42alodicujup43s@vireshk-i7>
References: <PA4PR04MB95655F653BBFE3A70A8CD0FBF9682@PA4PR04MB9565.eurprd04.prod.outlook.com>
 <alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop>
 <ZaCOVSuEJtsAj9G5@amd.com>
 <5fb49c84-0f54-49a5-9106-7f207b3eee4c@oss.nxp.com>
 <alpine.DEB.2.22.394.2404111446490.997881@ubuntu-linux-20-04-desktop>
 <CAJy5ezqVL0d_U-QbTw0hdGASCv=OcwZ1QnBAPcGDnXD_ssaQBQ@mail.gmail.com>
 <5bea35a1-8521-4527-844e-ff4c6a57fa41@oss.nxp.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5bea35a1-8521-4527-844e-ff4c6a57fa41@oss.nxp.com>

On 30-04-24, 03:11, Andrei Cherechesu wrote:
> Are there any other virtio device types you managed to test so far
> besides these ones (over virtio-mmio/virtio-grant)? Has anyone
> tested the rust-vmm vhost-device backends from Viresh with Xen?

I have tested them earlier with Xen emulated with the help of Qemu.
Steps are mentioned here:

https://github.com/vireshk/xen-vhost-frontend

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 03:50:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 03:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714480.1115732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1eVu-0007aL-VJ; Tue, 30 Apr 2024 03:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714480.1115732; Tue, 30 Apr 2024 03:50:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1eVu-0007aE-Rt; Tue, 30 Apr 2024 03:50:42 +0000
Received: by outflank-mailman (input) for mailman id 714480;
 Tue, 30 Apr 2024 03:50:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H2uD=MD=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s1eVt-0007a8-G8
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 03:50:41 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20601.outbound.protection.outlook.com
 [2a01:111:f403:2405::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf1e6bb3-06a4-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 05:50:39 +0200 (CEST)
Received: from BL1P222CA0027.NAMP222.PROD.OUTLOOK.COM (2603:10b6:208:2c7::32)
 by SN7PR12MB7912.namprd12.prod.outlook.com (2603:10b6:806:341::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Tue, 30 Apr
 2024 03:50:33 +0000
Received: from MN1PEPF0000ECDB.namprd02.prod.outlook.com
 (2603:10b6:208:2c7:cafe::84) by BL1P222CA0027.outlook.office365.com
 (2603:10b6:208:2c7::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.35 via Frontend
 Transport; Tue, 30 Apr 2024 03:50:33 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MN1PEPF0000ECDB.mail.protection.outlook.com (10.167.242.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7544.18 via Frontend Transport; Tue, 30 Apr 2024 03:50:32 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 29 Apr
 2024 22:50:32 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 29 Apr 2024 22:50: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: cf1e6bb3-06a4-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SWmFWPGcEw14qjmiwg2pG0SPVhRenN6tg93oIDVyJHw4CLf9KCJMN0zTezeEdAHs2kSFn+ah/gm6HK4ioh814z5tMXjgtnmTBl+yFurdc7CD4LvGtyCpzxcT9pb5C8Njm6eGRnYyHjr+mC9xZTFV0MNKD+P6mpbW1BtppA47qaBefskuktK83Fpe42j1/Va3+SOqX5PC/rxdYvbQrYxCEfyuCYGudUvHTAu37dCcAw4xvn7NZYLhBuKVGdjYUWtELb5W/EpjpGnhvaHoqQLPeyWPW5S6AHd3Zd1fDi6Wni4+SEUCuSFifB783mj8gp0I+skzZiyUowQPL9qBrOHfGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5NKdNeaLKDz7p17nJHZ4u5oxkSxXzae8uOP+VsjtOiw=;
 b=c4xuxQhp2+IvRbFGiN3j5bVw8/heHB53zND+0UztUy86RAGgyrB82DO2mzKuzMUckNvsFetEPyway3UJErG7tHy7FsPseXu3pBnMYCMKYrLJVc+ZzRzNDRDIM97hOkgLg1zRlZObZzchnFdvJqTBu+jZSjQQdXe613nBLa3YLJjU1JKnxeyXfbM8ZtR54/6D8cs4SnM1ciJYTN2+utZ/7kjSLhEAqslUrEo+151mixbE/Xl9BkJEk/Od2z7a5/wcpn1qmNGin/4ZrUDwDjYFbrQRP3WQKQZhWSiOiWjqX4/ny8kFasC2vqP+Mfq2n7o8ioU9j7Bnjm0P0EiwhvDjrg==
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=5NKdNeaLKDz7p17nJHZ4u5oxkSxXzae8uOP+VsjtOiw=;
 b=Y3hZLHPWK3+nZUtSq3QZbY1l7S9Jd261soHZ1KwOKEAdPFus95jeUrKCyDVLQQbF0yfmnlmyZ55mSSMT3gNT/UKzYWQqxcue2b67nUL5Ly5ZSdoGAiM5sMS6oZyCXghOEImgoHxwzMrDupJozVQJbSG6j62C/r0ngIMopj5dAXg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <1a29ae76-a902-4a24-8fd1-ac26ef228971@amd.com>
Date: Tue, 30 Apr 2024 11:50:29 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/15] xen/arm/gic: Enable interrupt assignment to running
 VM
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>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-3-xin.wang2@amd.com>
 <670d1033-2443-4245-8ff1-cb7099a7c793@xen.org>
 <70c5a593-9ac5-485b-be81-b789562249d8@amd.com>
 <5ba38b7b-16b1-489b-ad55-083504690bbd@xen.org>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <5ba38b7b-16b1-489b-ad55-083504690bbd@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECDB:EE_|SN7PR12MB7912:EE_
X-MS-Office365-Filtering-Correlation-Id: 018f95c3-e28c-4b85-d8a1-08dc68c8afb1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|82310400014|36860700004|1800799015|376005;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SzZycGdLK1ZrQytCZndIY2F0b0pSKzdCZHVVZGNlU01LUzA3RjFGQkdpMnhu?=
 =?utf-8?B?aWN1WElWSDZDMVVGRkxYbHBlek5aNXVIemhmMVRUSVhXcU5rekdmdk9KellQ?=
 =?utf-8?B?cmNNdmUyZGk3ckdHTFNFaFpYVnhHKy9DeXVYWHdHYTZSbGYvSDFlUVhjNlY4?=
 =?utf-8?B?M2tnODRaS2l4dHA3dDdJdVBoZk5zZWFib2ZTNE9iNncvaUFFZkxrYWFFR1dS?=
 =?utf-8?B?aW8wTFcxUEJid3p2NjRKeXlZSCtSb3ozeGlDV0VmNXNSNThwS09TaWRtKzJ0?=
 =?utf-8?B?V3MvZVFoblBZd2ttWHFsVUZzbEVRR3pVU0tHUm1OcGxzVE5XUERqdXFJRGRK?=
 =?utf-8?B?RjJJK3FMeWpXRGlPTjE5SjYvZUhkYlc0Q3VtUitJa2NURFp5SndjVDZRNXpI?=
 =?utf-8?B?alM5SGJxdndiUC9WTjNoUVpJNGxrRjlteTdYN0RWNEZCbFl4emcvTGNTeUth?=
 =?utf-8?B?ZlJWdzl6c1NzWDgyZTRpaitmVDBhSStlblYyZzJvQ3dIT2FjVkhHbENHbE9U?=
 =?utf-8?B?ZlZZbmhtTmg4emVhbXR6bnpHUVgrb1lrTFVLZmRIMkNRRTNqOFNBQmZRWjRz?=
 =?utf-8?B?MjhWME12OUh0akE3a3pOWVNRbGNUTzNnUEp1TG9zK0lveXVyZk9UcWpmcDU3?=
 =?utf-8?B?cUI5OWpPNmp1T0Z5cFFlZnZOdWtzWU1SRzRLdm12ZHBjWThZdVM1QWNuRldF?=
 =?utf-8?B?eHVqalhWdkhmcDdqMC9qYnozbzFadmt4L2lNR0Q4N0R4eWlhc3FMNmV4MktR?=
 =?utf-8?B?aXdFTDFoM2RRTzczYzdvdkwvcXEyZWZtL0M1V2xLMzFyRERaeXgwcGVzTkUw?=
 =?utf-8?B?bFJsdHJva1RDNjNMbWh6RW4xd1k4azZYVnBKZ2tkdTlEUmh5TTlFeVAxaGZp?=
 =?utf-8?B?NGttLzQ0WjhpWkV4YUFCMnVWc0M2V3NjTlcwVFZHTG83V3JOZ09vRTY3WlNp?=
 =?utf-8?B?emc0SmcrTmZySVlsaEtKK0tnQytlVFBGdExHY1JVZlRodHIycy9kU25jTFFi?=
 =?utf-8?B?dUw0YzZCSnBMaTRrc2RkV3kyQWdiZXoyckZ3b1gwMHRmamdmQVltR2Mybmd5?=
 =?utf-8?B?OTJhWTgxV3JRRTJSNGoxNDF1WEpkZjV0Vlc5M2FsZm1iMUwvd251aUZFQk81?=
 =?utf-8?B?UXF3QW1mbnlMSmF3Y1krdlFMVm5JUytlUEtqM1FiMk5JL0VkODJ5T2h2M2lm?=
 =?utf-8?B?MUQvRWk1cWpiVjlMYXBaU1N0NTU4MnFIN01aS0U3Rk9LSmt4UXpqSlNvRTFK?=
 =?utf-8?B?elFKc3JlZ1dnL0tQOEdEbEJWaXZrR1NEWW12bG83bFZTVFRxODhPZVc1bmNK?=
 =?utf-8?B?NmxUck80YzcyUEtDTlNBdDBQQldRa25nWVAwYkJlclFZK0tDMitucHZrZVFV?=
 =?utf-8?B?V1Vubm1BUWw1UDIvSmozMEJUbituUXEvMzVPVGVjVVFtZ2ErNDNDL01rNm1i?=
 =?utf-8?B?a2hBazZGSzY4c0xSK1ZJSTliSDR2bnRtOU9leUMvei9oMUlRYzJ0TW1CVXg1?=
 =?utf-8?B?RFVVajQzSElSN0ZvaUR5WlJ2RGI5VFYvalUwQ2pyYnlsQ29rYXl4a1l5UmZP?=
 =?utf-8?B?L2xSa2ZxQStQbEZmRURoTVBqa0hncGxEN0tycHQya24vUkFqWXlXdjdjQUJu?=
 =?utf-8?B?bVFjWHBKa3Q0aGI2MktzVysxSmdFWlcvTGwwSlpOb05tZGsrMzZkZ2NNODht?=
 =?utf-8?B?UGJzRUJhcDBUQVFvajZhVVBmYndtS01RRHA0NHhzMWpYQTZFYVp5cWdmeENa?=
 =?utf-8?B?S2Rxc1dPZlVEODVCUmlKbzZlcEpzTW5EaWUxYnJ1a3BCQjhSQ3NYWFN3SC9N?=
 =?utf-8?B?YzhTeGVXQi9NWkVnQkNjbUdIR29uRk50RkV3T3F2QWExK0JNa2FHd1c5NXpU?=
 =?utf-8?Q?x3F1XkQS7geJl?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(82310400014)(36860700004)(1800799015)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 03:50:32.9715
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 018f95c3-e28c-4b85-d8a1-08dc68c8afb1
X-MS-Exchange-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:
	MN1PEPF0000ECDB.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7912

Hi Julien,

Sorry for the late reply,

On 4/25/2024 10:28 PM, Julien Grall wrote:
> Hi,
>
> On 25/04/2024 08:06, Henry Wang wrote:
>> Hi Julien,
>>
>> On 4/24/2024 8:58 PM, Julien Grall wrote:
>>> Hi Henry,
>>>
>>> On 24/04/2024 04:34, Henry Wang wrote:
>>>> From: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>>
>>>> Enable interrupt assign/remove for running VMs in CONFIG_OVERLAY_DTB.
>>>>
>>>> Currently, irq_route and mapping is only allowed at the domain 
>>>> creation. Adding
>>>> exception for CONFIG_OVERLAY_DTB.
>>>
>>> AFAICT, this is mostly reverting b8577547236f ("xen/arm: Restrict 
>>> when a physical IRQ can be routed/removed from/to a domain").
>>>
>>>>
>>>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
>>>> Signed-off-by: Henry Wang <xin.wang2@amd.com>
>>>> ---
>>>>   xen/arch/arm/gic.c | 4 ++++
>>>>   1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>>>> index 44c40e86de..a775f886ed 100644
>>>> --- a/xen/arch/arm/gic.c
>>>> +++ b/xen/arch/arm/gic.c
>>>> @@ -140,8 +140,10 @@ int gic_route_irq_to_guest(struct domain *d, 
>>>> unsigned int virq,
>>>>        * back to the physical IRQ. To prevent get unsync, restrict the
>>>>        * routing to when the Domain is been created.
>>>>        */
>>>
>>> The above comment explains why the check was added. But the commit 
>>> message doesn't explain why this can be disregarded for your use-case.
>>>
>>> Looking at the history, I don't think you can simply remove the checks.
>>>
>>> Regardless that...
>>>
>>>> +#ifndef CONFIG_OVERLAY_DTB
>>>
>>> ... I am against such #ifdef. A distros may want to have OVERLAY_DTB 
>>> enabled, yet the user will not use it.
>>>
>>> Instead, you want to remove the check once the code can properly 
>>> handle routing an IRQ the domain is created or ...
>>>
>>>>       if ( d->creation_finished )
>>>>           return -EBUSY;
>>>> +#endif
>>>>         ret = vgic_connect_hw_irq(d, NULL, virq, desc, true);
>>>>       if ( ret )
>>>> @@ -171,8 +173,10 @@ int gic_remove_irq_from_guest(struct domain 
>>>> *d, unsigned int virq,
>>>>        * Removing an interrupt while the domain is running may have
>>>>        * undesirable effect on the vGIC emulation.
>>>>        */
>>>> +#ifndef CONFIG_OVERLAY_DTB
>>>>       if ( !d->is_dying )
>>>>           return -EBUSY;
>>>> +#endif
>>>
>>> ... removed before they domain is destroyed.
>>
>> Thanks for your feeedback. After checking the b8577547236f commit 
>> message I think I now understand your point. Do you have any 
>> suggestion about how can I properly add the support to route/remove 
>> the IRQ to running domains? Thanks.

I spent some time going through the GIC/vGIC code and had some 
discussions with Stefano and Stewart during the last couple of days, let 
me see if I can describe the use case properly now to continue the 
discussion:

We have some use cases that requires assigning devices to domains after 
domain boot time. For example, suppose there is an FPGA on the board 
which can simulate a device, and the bitstream for the FPGA is provided 
and programmed after domain boot. So we need a way to assign the device 
to the running domain. This series tries to implement this use case by 
using device tree overlay - users can firstly add the overlay to Xen 
dtb, assign the device in the overlay to a domain by the xl command, 
then apply the overlay to Linux.

> I haven't really look at that code in quite a while. I think we need 
> to make sure that the virtual and physical IRQ state matches at the 
> time we do the routing.
>
> I am undecided on whether we want to simply prevent the action to 
> happen or try to reset the state.
>
> There is also the question of what to do if the guest is enabling the 
> vIRQ before it is routed.

Sorry for bothering, would you mind elaborating a bit more about the two 
cases that you mentioned above? Commit b8577547236f ("xen/arm: Restrict 
when a physical IRQ can be routed/removed from/to a domain") only said 
there will be undesirable effects, so I am not sure if I understand the 
concerns raised above and the consequences of these two use cases. I am 
probably wrong, I think when we add the overlay, we are probably fine as 
the interrupt is not being used before. Also since we only load the 
device driver after the IRQ is routed to the guest, I am not sure the 
guest can enable the vIRQ before it is routed.

Kind regards,
Henry

> Overall, someone needs to spend some time reading the code and then 
> make a proposal (this could be just documentation if we believe it is 
> safe to do). Both the current vGIC and the new one may need an update.
>
> Cheers,
>



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 04:00:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 04:00:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714486.1115741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1efK-00015D-T3; Tue, 30 Apr 2024 04:00:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714486.1115741; Tue, 30 Apr 2024 04:00: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 1s1efK-000156-QU; Tue, 30 Apr 2024 04:00:26 +0000
Received: by outflank-mailman (input) for mailman id 714486;
 Tue, 30 Apr 2024 04:00:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H2uD=MD=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s1efK-00014y-2j
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 04:00:26 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2417::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28b110a6-06a6-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 06:00:20 +0200 (CEST)
Received: from CH0PR13CA0020.namprd13.prod.outlook.com (2603:10b6:610:b1::25)
 by PH7PR12MB5928.namprd12.prod.outlook.com (2603:10b6:510:1db::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Tue, 30 Apr
 2024 04:00:16 +0000
Received: from CH1PEPF0000A348.namprd04.prod.outlook.com
 (2603:10b6:610:b1:cafe::1b) by CH0PR13CA0020.outlook.office365.com
 (2603:10b6:610:b1::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.21 via Frontend
 Transport; Tue, 30 Apr 2024 04:00:16 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000A348.mail.protection.outlook.com (10.167.244.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7544.18 via Frontend Transport; Tue, 30 Apr 2024 04:00:15 +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.35; Mon, 29 Apr
 2024 23:00:10 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Mon, 29 Apr 2024 23:00: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: 28b110a6-06a6-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=luhMye8SjY+mLEuCKKsG0ZDd6uc2GUY/Z+GWnCqEPKLdwuDgoQDCYhbqNqQkEzUeyAXFexDqZqaFhi+0q7z+WEygu1Epa2jflSJ40RX3IwTjs+qUpyPpLh0hTs5FyuqjN9mgIpmX+DBJPaiC44H4A9VHvK0xTM66PfPc5ABVQ1MfxWtvTxJeR4MBMkBl4b2A431/7eTWS+mxAbXfj5IJuL3q4oSKoVUPZCS3E59tqFNlnuYvzMITcI8P19A/r4HaSH1uKl4kYygYQaHB9ghIeKAmucgJKg1vyP/fgu9TSq4iereYab6CyZu4fuumjivT+0EFWlxjmV5bE9l35Zj8EQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ufgL6oise1HBbBXXAe7ujK+6sBYWFqHS5NFn1jHb/ys=;
 b=VxvQrsbjr8UqYi42Fs5Y3bePdGc5vMUmCNOmkpZHXtzG2y/462BT4s5K7cUrToBwBlkYCS+5laX81OO8g1vpb+CKUShI87M0dDjIkmJAqG7+n+q6clWpltjInxGVuPTZeesH7erjwB6u8i3WsNVgv8GV97Earb8u3c7qCTjcJ6POypvVKUJVoXWRsoNh6KVEXc8djmbQuz06JEsn6w4P+CYQn6PIvkLpWbhybd/tjW0p+lIXI66VCnp8iK9IQKlIB/o+EJ8tp2m+3niN22gM0zoqTQQ5nryjRtTyuQsgP+zWMSpMxX3s/rmcYlyPNO7kNmx8YQ4ABFowSiro7cSUyQ==
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=ufgL6oise1HBbBXXAe7ujK+6sBYWFqHS5NFn1jHb/ys=;
 b=Vvl9Gxv1GHnLVS4UOIGFchOV2Tnfe9FE5lCdInLiQqQIPbE97OxKW7TBT7PpOYxm1DV2kTMFYmpj+Q7xd19fPHvZASJtHXiTCIQiyIUy/ivmmo4xWR6iEGeHeAY/+XGXTaojLVCtaTc//IDBAtl8sBz9zY25khA0pLS+yVIS+fc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <e3c7098b-a876-48f3-8ccb-18a2ced8521c@amd.com>
Date: Tue, 30 Apr 2024 12:00:07 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/15] xen/overlay: Enable device tree overlay assignment
 to running domains
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, <xen-devel@lists.xenproject.org>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-8-xin.wang2@amd.com>
 <da67f90f-6807-4fdc-b65b-f7a4ba9f78ad@suse.com>
 <97a401ff-4b5c-4e6a-8d9c-e36305ec64f5@amd.com>
 <128c7e68-0431-44e9-b4fc-96cc46e158ad@xen.org>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <128c7e68-0431-44e9-b4fc-96cc46e158ad@xen.org>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000A348:EE_|PH7PR12MB5928:EE_
X-MS-Office365-Filtering-Correlation-Id: f34f07d6-7f19-4900-a255-08dc68ca0b1e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|1800799015|36860700004|82310400014|376005;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MmJ2djVkSkUwaU1NZW5hdXlab283RllvV2Uxc0YvUzVDd3dOakZuc21aY3Ft?=
 =?utf-8?B?RVlUZXczL1VRWlhhdXVPYUM0UVZTK2YyQ0crUTZ3VzFPK3NKUDE3dEttMGhu?=
 =?utf-8?B?cjhtczhTK0tqYVhxRlVRTVo1dGpqQzdCSm9STVRIejNKYXJhZkp3bklHWlhp?=
 =?utf-8?B?YnZyNEQ5bml3YTJGb2t0R2pteTgvajExcUdnTlNXS043dGkxV0Mrb21CV2Np?=
 =?utf-8?B?WndyVS9TWTIxdHJOa0loSnpMc3ArZEdEUEVadHR0enQzcWdzbEdVdWVyYWI1?=
 =?utf-8?B?TFA5Sk9XZDE1L1BXWnVxOFRuM3JxQnNGT1ZjQS9YQVZYbmRscEp0OFBNa3pr?=
 =?utf-8?B?MzUxRytsRUlUUjduSEkvcUEwL3lNNWtHeldwdVhtRldHVzlhWWFYVjhsc1F4?=
 =?utf-8?B?WnRYQk96SUIwa0hLMkpsb0Z1Zm92a3k2dEs5bkJJNDFTZ0JReUtua04vY3B3?=
 =?utf-8?B?UHJGeEZWd2RLQzJvTDhNakI3c2ppdHVmYzdQa2JkU1RjdDBBT25HTjVKR3Zm?=
 =?utf-8?B?UnpGckhmS0pxN2U1MmErci95M3VETDIrNTRTeG9oNVpnVGkxVGlxTThTeFFn?=
 =?utf-8?B?a1VMeG1RT1RodDM0M3o4ajg1ZVA5Tm1ydGh0bFZ5cTl5Njk2VEZZUE82UkdO?=
 =?utf-8?B?Z1hJM0NDR3lyb1YxUWgwcDJVTW5OZDVzaGJRLzR5NWxVWFRFQUE3cEM0bm9B?=
 =?utf-8?B?MnFVNXdJK215cFZ2ZWFLQ1ZWUTl0MjRnTngrNTRoQTFGSnRCZkdWeERBOTkv?=
 =?utf-8?B?RzkrcGd2VTMwRUx1SytJVnhQK0ZSQlhJQnhlZXZBMnZXbXZObmwydldmTHd4?=
 =?utf-8?B?eGNnb0hPWkpHdUVaeTlROVJrdFZYa3VzeHphZU5idm9vT0FpRmM4WmlrNzEz?=
 =?utf-8?B?M2RkdFRJaW9BWEdLaEE0ZitlaU50SjNiaTZVOG1YU2FtWmJrNG56VVRZRlFB?=
 =?utf-8?B?Z2swdG9iYmNPRHVjTHRiMDVoVlZ0eWNIVzhHYTJkSCtUcTBCK0c5Skk4bGNy?=
 =?utf-8?B?Wkd3akV5MTduTzhra0cvdzk4ZWIwMDZyVW9kQ1F4Q3lKQlZjSVkyMEtFWi9o?=
 =?utf-8?B?ZENBL1VzcWVsL2FwQTlqSUt6Z3o2VlEvZWY4MjBVRlZ4OTd5aW9Ha1VpQ0ly?=
 =?utf-8?B?aDlFR1JwSHh5R2dDTU9lelhQUzRCVWZvc1RrNFpXcXZMRnd5b016dnFvUGM3?=
 =?utf-8?B?SXFUYmxBRlhPZ1BDdlErdEtrZGNLQkdiM1E0UlVtZ3hqem10SVUvVFdkak1m?=
 =?utf-8?B?eU5MUFVWM2pxSm04OEFabXZSUkw3dytHMTRxNkRObUV1dWJJWlVOZUN5VkRI?=
 =?utf-8?B?TVJvdmZGak9pa2RlMExSQzRxanZFVkx1RklVMEJFZHFoMUZ4RVBIRXJUZHpa?=
 =?utf-8?B?S1Z4NTcxVmpNNmFpK09CS1pxejA5TW5od3FKekV3azZJY0w4a2twMXhLbWhm?=
 =?utf-8?B?QUVHVzk3R1RKc3ZVNVc1RllxazhpMTFrOW5vN25XVmdYbGU2TklPTmlTeis1?=
 =?utf-8?B?Zzh1Z3h1UUljNDJRQmJBTWl6dkZWT3RIY3grbHNKaElHQklZYlJvOVVtVVRZ?=
 =?utf-8?B?K2NKZHNNbUh2eThBWm05cGdVMVJ3TnhqdkM3YTJBcnlQSkZ2T1huZnM5M21M?=
 =?utf-8?B?V0RtTlRJZmE2ZlpoRWxiT2hEOFNDRFRnbWMyRFluVXRMUklycmZNVmk5bVZO?=
 =?utf-8?B?a2JsaGVxMWxaeEk4N0pqbDYwc3pPblVVSnE2THVDSC9Ua1p3UVVwTzNXNFJF?=
 =?utf-8?B?alJHR05vYU1MSTRYWkdROVRWSzdzWmZYREIvb3JtV2VGUFNrWG56M24yNjFs?=
 =?utf-8?B?SkthdDlMd3hZSXlvSFlBclhKZjljYy9ZWlpBVVdLeUk0dkk1bUwrcmtyTHpC?=
 =?utf-8?Q?1WX7+m969ayaZ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(82310400014)(376005);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 04:00:15.8382
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f34f07d6-7f19-4900-a255-08dc68ca0b1e
X-MS-Exchange-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:
	CH1PEPF0000A348.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5928

Hi Julien,

On 4/30/2024 1:34 AM, Julien Grall wrote:
> On 29/04/2024 04:36, Henry Wang wrote:
>> Hi Jan, Julien, Stefano,
>
> Hi Henry,
>
>> On 4/24/2024 2:05 PM, Jan Beulich wrote:
>>> On 24.04.2024 05:34, Henry Wang wrote:
>>>> --- a/xen/include/public/sysctl.h
>>>> +++ b/xen/include/public/sysctl.h
>>>> @@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
>>>>   #define XEN_SYSCTL_DT_OVERLAY_ADD                   1
>>>>   #define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
>>>>       uint8_t overlay_op;                     /* IN: Add or remove. */
>>>> -    uint8_t pad[3];                         /* IN: Must be zero. */
>>>> +    bool domain_mapping;                    /* IN: True of False. */
>>>> +    uint8_t pad[2];                         /* IN: Must be zero. */
>>>> +    uint32_t domain_id;
>>>>   };
>>> If you merely re-purposed padding fields, all would be fine without
>>> bumping the interface version. Yet you don't, albeit for an unclear
>>> reason: Why uint32_t rather than domid_t? And on top of that - why a
>>> separate boolean when you could use e.g. DOMID_INVALID to indicate
>>> "no domain mapping"?
>>
>> I think both of your suggestion make great sense. I will follow the 
>> suggestion in v2.
>>
>>> That said - anything taking a domain ID is certainly suspicious in a
>>> sysctl. Judging from the description you really mean this to be a
>>> domctl. Anything else will require extra justification.
>>
>> I also think a domctl is better. I had a look at the history of the 
>> already merged series, it looks like in the first version of merged 
>> part 1 [1], the hypercall was implemented as the domctl in the 
>> beginning but later in v2 changed to sysctl. I think this makes sense 
>> as the scope of that time is just to make Xen aware of the device 
>> tree node via Xen device tree.
>>
>> However this is now a problem for the current part where the 
>> scope (and the end goal) is extended to assign the added device to 
>> Linux Dom0/DomU via device tree overlays. I am not sure which way is 
>> better, should we repurposing the sysctl to domctl or maybe add 
>> another domctl (I am worrying about the duplication because basically 
>> we need the same sysctl functionality but now with a domid in it)? 
>> What do you think?
>
> I am not entirely sure this is a good idea to try to add the device in 
> Xen and attach it to the guests at the same time. 
> Imagine the following situation:
>
> 1) Add and attach devices
> 2) The domain is rebooted
> 3) Detach and remove devices
>
> After step 2, you technically have a new domain. You could have also a 
> case where this is a completely different guest. So the flow would 
> look a little bit weird (you create the DT overlay with domain A but 
> remove with domain B).
>
> So, at the moment, it feels like the add/attach (resp detech/remove) 
> operations should happen separately.
>
> Can you clarify why you want to add devices to Xen and attach to a 
> guest within a single hypercall?

Sorry I don't know if there is any specific thoughts on the design of 
using a single hypercall to do both add devices to Xen device tree and 
assign the device to the guest. In fact seeing your above comments, I 
think separating these two functionality to two xl commands using 
separated hypercalls would indeed be a better idea. Thank you for the 
suggestion!

To make sure I understand correctly, would you mind confirming if below 
actions for v2 make sense to you? Thanks!
- Only use the XEN_SYSCTL_DT_OVERLAY_{ADD, REMOVE} sysctls to add/remove 
overlay to Xen device tree
- Introduce the xl dt-overlay attach <domid> command and respective 
domctls to do the device assignment for the overlay to domain.

Kind regards,
Henry

>
> Cheers,
>



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 05:03:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 05:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714492.1115753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1fe6-0000wH-Cm; Tue, 30 Apr 2024 05:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714492.1115753; Tue, 30 Apr 2024 05: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 1s1fe6-0000wA-6c; Tue, 30 Apr 2024 05:03:14 +0000
Received: by outflank-mailman (input) for mailman id 714492;
 Tue, 30 Apr 2024 05:03: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 1s1fe4-0000w0-Q0; Tue, 30 Apr 2024 05:03: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 1s1fe4-0007Ro-Mk; Tue, 30 Apr 2024 05:03: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 1s1fe4-0001my-A1; Tue, 30 Apr 2024 05:03:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1fe4-0001s9-9i; Tue, 30 Apr 2024 05: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=RezFGtXuc8fCk25pk2VPCz4H/UtfBfVRkgG6/4vH/vQ=; b=PH9s979t5jAQ/g/X9Kwo0a5ms7
	5rbQ/A0s7FEZNfWmIUFkWjqQvMMNyrzZ2ObYzNenS79g1oBmNT31JN11Tvgxl4cPhgkK8c+yvegdr
	x4KiTRRGgsGuMxYygkrHn8htr9FzEp5FVCnoU+JK/GazP39Y2vPloHzlLAMaahemMJy8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185873-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185873: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=88781ccd744c73acbbbe9767627860a538b9f3a2
X-Osstest-Versions-That:
    ovmf=094727264f887e275444bd11d9d99c651a85c2e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 05:03:12 +0000

flight 185873 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185873/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 88781ccd744c73acbbbe9767627860a538b9f3a2
baseline version:
 ovmf                 094727264f887e275444bd11d9d99c651a85c2e4

Last test of basis   185868  2024-04-29 10:45:51 Z    0 days
Testing same since   185873  2024-04-30 02:41:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Wenxing Hou <wenxing.hou@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
   094727264f..88781ccd74  88781ccd744c73acbbbe9767627860a538b9f3a2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 05:36:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 05:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714505.1115774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1gAW-0005Dt-Tv; Tue, 30 Apr 2024 05:36:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714505.1115774; Tue, 30 Apr 2024 05: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 1s1gAW-0005Dm-P8; Tue, 30 Apr 2024 05:36:44 +0000
Received: by outflank-mailman (input) for mailman id 714505;
 Tue, 30 Apr 2024 05: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 1s1gAV-0005Da-W0; Tue, 30 Apr 2024 05: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 1s1gAV-0007yK-UP; Tue, 30 Apr 2024 05:36: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 1s1gAV-0003fd-Hl; Tue, 30 Apr 2024 05:36:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1gAV-0000ZU-HJ; Tue, 30 Apr 2024 05: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=ei6uUazgiQal4mPgt4bvyNuWhYBDllexCnQwjHyFLUg=; b=2uEXOwzANsArtd1rNPbqM+zwcA
	ZyxsMzkl8saTkWIBAlXMb7S8UtxkXRaSVI/b+47+X8+8siE5ddnZp7NzHf9ymOy1IbwnrggMnw4Ke
	KgOkgzlEXJ+f5V6e2tGCku0hLn7QFdxsMJN8bC/ezxNYWXC/H5JyykKPkkjIi6m7fjiY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185864-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 185864: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:host-ping-check-xen:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-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-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-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-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd: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
X-Osstest-Versions-This:
    xen=effcf70f020ff12d34c80e2abde0ecb00ce92bda
X-Osstest-Versions-That:
    xen=5d9a931fe2c1310dbfd946bbc1e22a177add4f5c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 05:36:43 +0000

flight 185864 xen-4.17-testing real [real]
flight 185874 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185864/
http://logs.test-lab.xenproject.org/osstest/logs/185874/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu 10 host-ping-check-xen fail pass in 185874-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 185874 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 185874 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185711
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185711
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185711
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185711
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185711
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185711
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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                  effcf70f020ff12d34c80e2abde0ecb00ce92bda
baseline version:
 xen                  5d9a931fe2c1310dbfd946bbc1e22a177add4f5c

Last test of basis   185711  2024-04-17 07:07:14 Z   12 days
Testing same since   185864  2024-04-29 08:08:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-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                                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-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
   5d9a931fe2..effcf70f02  effcf70f020ff12d34c80e2abde0ecb00ce92bda -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 05:52:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 05:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714513.1115784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1gPH-0007xA-8V; Tue, 30 Apr 2024 05:51:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714513.1115784; Tue, 30 Apr 2024 05:51:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1gPH-0007x3-4o; Tue, 30 Apr 2024 05:51:59 +0000
Received: by outflank-mailman (input) for mailman id 714513;
 Tue, 30 Apr 2024 05:51:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LVqB=MD=bounce.vates.tech=bounce-md_30504962.663086f8.v1-ac1234db8c084a309a62252f90d85a1e@srs-se1.protection.inumbo.net>)
 id 1s1gPF-0007wx-Di
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 05:51:57 +0000
Received: from mail137-27.atl71.mandrillapp.com
 (mail137-27.atl71.mandrillapp.com [198.2.137.27])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf1c69d6-06b5-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 07:51:54 +0200 (CEST)
Received: from pmta07.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail137-27.atl71.mandrillapp.com (Mailchimp) with ESMTP id
 4VT8Th4mXWz4f3kCG
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:51:52 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 ac1234db8c084a309a62252f90d85a1e; Tue, 30 Apr 2024 05:51: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: bf1c69d6-06b5-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1714456312; x=1714716812;
	bh=OWGfq9u/aSjVNXNNgZ3jX7JsCqTtJkaeXyykBEdxLJM=;
	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=ZISbQbJ0xvsYkj3Yk3EHDJNsZUzzr8RLtVcQgTytbKWxzemesUMVZhD4kDAY4c6Bj
	 U+TjgeeujrfqMpPmIFihk/yeY+B25IgIVL8Bp7bItZBysJ2e3DEUY/TUmFs/pug/oc
	 xYN+bc7iGNU004p9516uD3+o68yPzAIS9xxqlEdQ3/e/3mkY7LIdS6CowpxNf7ac0x
	 IfD2QtpPuh3yZGeNJyzvm/xOpRf2IANj67tX6Wwd9uKlMSI8n96B0vvMLIqYrkmllc
	 jHBpAua2WZ/K5517kmli14JnTZwcu2R/78Hy6nO20ue5dKYwVe1eRq5t7msGObhmIY
	 tNtCSbAfH/H7g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1714456312; x=1714716812; i=vaishali.thakkar@vates.tech;
	bh=OWGfq9u/aSjVNXNNgZ3jX7JsCqTtJkaeXyykBEdxLJM=;
	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=AhrQkwVDwQsUVTXSbda/bmVb2LZ1M9LxvUVEQ/CrLTkqIbw0rGjpPDkEepviYgGOn
	 uuwyK6IJCWHoisty43Rgn7tESRNmTcl0jPIvJCFHrbZESuO4JL3Cxlib7no0qzD45Z
	 qdkcYoPHnWSy2iJQcNJr2iLhr42b/aIlHnVOg8ZSQsm8YsNYMEX9WMujIXgkg9TrFS
	 iCA+iCtYe0tp1LQnq4MvT4gFgtRUxHV1+//mS0aHwupx5NuhldgUJ0gzvYPvQU4ZiM
	 pnbCsylFs8deFkbW+eVYImUmTsjQpRZ7w5RRv2BR48CcsssFXC1PQZ7v93iqV11lpf
	 iBVOlsuJVVZiA==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=204/5]=20x86/svm:=20Switch=20SVM=20features=20over=20normal=20cpu=5Fhas=5F*?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1714456310662
Message-Id: <b0a5506f-401e-4f28-97f0-e32e08b6a962@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, George Dunlap <george.dunlap@citrix.com>, Andrei Semenov <andrei.semenov@vates.fr>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com> <20240429151625.977884-5-andrew.cooper3@citrix.com>
In-Reply-To: <20240429151625.977884-5-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.ac1234db8c084a309a62252f90d85a1e?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240430:md
Date: Tue, 30 Apr 2024 05:51:52 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 4/29/24 5:16 PM, Andrew Cooper wrote:
> Delete the boot time rendering of advanced features.  It's entirely ad-ho=
c and
> not even everything printed here is used by Xen.  It is available in
> `xen-cpuid` now.
> 
> With (only) svm_load_segs_{,prefetch}() declared now in svm.h, only svm.c=
 and
> domain.c which need the header.  Clean up all others.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> CC: George Dunlap <george.dunlap@citrix.com>
> CC: Andrei Semenov <andrei.semenov@vates.fr>
> CC: Vaishali Thakkar <vaishali.thakkar@vates.tech>
> ---
>   xen/arch/x86/hvm/svm/asid.c            |  5 ++-
>   xen/arch/x86/hvm/svm/emulate.c         |  3 +-
>   xen/arch/x86/hvm/svm/intr.c            |  1 -
>   xen/arch/x86/hvm/svm/nestedsvm.c       | 14 ++++----
>   xen/arch/x86/hvm/svm/svm.c             | 50 +++++++-------------------
>   xen/arch/x86/hvm/svm/vmcb.c            |  1 -
>   xen/arch/x86/include/asm/cpufeature.h  | 10 ++++++
>   xen/arch/x86/include/asm/hvm/svm/svm.h | 36 -------------------
>   8 files changed, 31 insertions(+), 89 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c
> index 7977a8e86b53..6117a362d310 100644
> --- a/xen/arch/x86/hvm/svm/asid.c
> +++ b/xen/arch/x86/hvm/svm/asid.c
> @@ -6,7 +6,6 @@
>   
>   #include <asm/amd.h>
>   #include <asm/hvm/nestedhvm.h>
> -#include <asm/hvm/svm/svm.h>
>   
>   #include "svm.h"
>   
> @@ -39,7 +38,7 @@ void svm_asid_handle_vmrun(void)
>       {
>           vmcb_set_asid(vmcb, true);
>           vmcb->tlb_control =3D
> -            cpu_has_svm_flushbyasid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLU=
SH_ALL;
> +            cpu_has_flush_by_asid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH=
_ALL;
>           return;
>       }
>   
> @@ -48,7 +47,7 @@ void svm_asid_handle_vmrun(void)
>   
>       vmcb->tlb_control =3D
>           !need_flush ? TLB_CTRL_NO_FLUSH :
> -        cpu_has_svm_flushbyasid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH_A=
LL;
> +        cpu_has_flush_by_asid ? TLB_CTRL_FLUSH_ASID : TLB_CTRL_FLUSH_ALL=
;
>   }
>   
>   /*
> diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulat=
e.c
> index 93ac1d3435f9..da6e21b2e270 100644
> --- a/xen/arch/x86/hvm/svm/emulate.c
> +++ b/xen/arch/x86/hvm/svm/emulate.c
> @@ -11,7 +11,6 @@
>   #include <asm/msr.h>
>   #include <asm/hvm/emulate.h>
>   #include <asm/hvm/hvm.h>
> -#include <asm/hvm/svm/svm.h>
>   #include <asm/hvm/svm/vmcb.h>
>   
>   #include "svm.h"
> @@ -20,7 +19,7 @@ static unsigned long svm_nextrip_insn_length(struct vcp=
u *v)
>   {
>       struct vmcb_struct *vmcb =3D v->arch.hvm.svm.vmcb;
>   
> -    if ( !cpu_has_svm_nrips )
> +    if ( !cpu_has_nrips )
>           return 0;
>   
>   #ifndef NDEBUG
> diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
> index 4805c5567213..facd2894a2c6 100644
> --- a/xen/arch/x86/hvm/svm/intr.c
> +++ b/xen/arch/x86/hvm/svm/intr.c
> @@ -17,7 +17,6 @@
>   #include <asm/hvm/hvm.h>
>   #include <asm/hvm/io.h>
>   #include <asm/hvm/vlapic.h>
> -#include <asm/hvm/svm/svm.h>
>   #include <asm/hvm/nestedhvm.h> /* for nestedhvm_vcpu_in_guestmode */
>   #include <asm/vm_event.h>
>   #include <xen/event.h>
> diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nest=
edsvm.c
> index 35a2cbfd7d13..255af112661f 100644
> --- a/xen/arch/x86/hvm/svm/nestedsvm.c
> +++ b/xen/arch/x86/hvm/svm/nestedsvm.c
> @@ -6,7 +6,6 @@
>    */
>   
>   #include <asm/hvm/support.h>
> -#include <asm/hvm/svm/svm.h>
>   #include <asm/hvm/svm/vmcb.h>
>   #include <asm/hvm/nestedhvm.h>
>   #include <asm/hvm/svm/svmdebug.h>
> @@ -1620,7 +1619,7 @@ void svm_nested_features_on_efer_update(struct vcpu=
 *v)
>       {
>           if ( !vmcb->virt_ext.fields.vloadsave_enable &&
>                paging_mode_hap(v->domain) &&
> -             cpu_has_svm_vloadsave )
> +             cpu_has_v_loadsave )
>           {
>               vmcb->virt_ext.fields.vloadsave_enable =3D 1;
>               general2_intercepts  =3D vmcb_get_general2_intercepts(vmcb)=
;
> @@ -1629,8 +1628,7 @@ void svm_nested_features_on_efer_update(struct vcpu=
 *v)
>               vmcb_set_general2_intercepts(vmcb, general2_intercepts);
>           }
>   
> -        if ( !vmcb->_vintr.fields.vgif_enable &&
> -             cpu_has_svm_vgif )
> +        if ( !vmcb->_vintr.fields.vgif_enable && cpu_has_v_gif )
>           {
>               vintr =3D vmcb_get_vintr(vmcb);
>               vintr.fields.vgif =3D svm->ns_gif;
> @@ -1675,8 +1673,8 @@ void __init start_nested_svm(struct hvm_function_ta=
ble *hvm_function_table)
>        */
>       hvm_function_table->caps.nested_virt =3D
>           hvm_function_table->caps.hap &&
> -        cpu_has_svm_lbrv &&
> -        cpu_has_svm_nrips &&
> -        cpu_has_svm_flushbyasid &&
> -        cpu_has_svm_decode;
> +        cpu_has_v_lbr &&
> +        cpu_has_nrips &&
> +        cpu_has_flush_by_asid &&
> +        cpu_has_decode_assist;
>   }
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index 4719fffae589..16eb875aab94 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -1287,7 +1287,7 @@ static void cf_check svm_inject_event(const struct =
x86_event *event)
>        * that hardware doesn't perform DPL checking on injection.
>        */
>       if ( event->type =3D=3D X86_EVENTTYPE_PRI_SW_EXCEPTION ||
> -         (!cpu_has_svm_nrips && (event->type >=3D X86_EVENTTYPE_SW_INTER=
RUPT)) )
> +         (!cpu_has_nrips && (event->type >=3D X86_EVENTTYPE_SW_INTERRUPT=
)) )
>           svm_emul_swint_injection(&_event);
>   
>       switch ( _event.vector | -(_event.type =3D=3D X86_EVENTTYPE_SW_INTE=
RRUPT) )
> @@ -1341,7 +1341,7 @@ static void cf_check svm_inject_event(const struct =
x86_event *event)
>       switch ( _event.type )
>       {
>       case X86_EVENTTYPE_SW_INTERRUPT: /* int $n */
> -        if ( cpu_has_svm_nrips )
> +        if ( cpu_has_nrips )
>               vmcb->nextrip =3D regs->rip + _event.insn_len;
>           else
>               regs->rip +=3D _event.insn_len;
> @@ -1355,7 +1355,7 @@ static void cf_check svm_inject_event(const struct =
x86_event *event)
>            * semantics.
>            */
>           regs->rip +=3D _event.insn_len;
> -        if ( cpu_has_svm_nrips )
> +        if ( cpu_has_nrips )
>               vmcb->nextrip =3D regs->rip;
>           eventinj.type =3D X86_EVENTTYPE_HW_EXCEPTION;
>           break;
> @@ -1365,7 +1365,7 @@ static void cf_check svm_inject_event(const struct =
x86_event *event)
>            * Hardware special cases HW_EXCEPTION with vectors 3 and 4 as =
having
>            * trap semantics, and will perform DPL checks.
>            */
> -        if ( cpu_has_svm_nrips )
> +        if ( cpu_has_nrips )
>               vmcb->nextrip =3D regs->rip + _event.insn_len;
>           else
>               regs->rip +=3D _event.insn_len;
> @@ -1982,7 +1982,7 @@ static int cf_check svm_msr_write_intercept(
>   
>       case MSR_IA32_DEBUGCTLMSR:
>           vmcb_set_debugctlmsr(vmcb, msr_content);
> -        if ( !msr_content || !cpu_has_svm_lbrv )
> +        if ( !msr_content || !cpu_has_v_lbr )
>               break;
>           vmcb->virt_ext.fields.lbr_enable =3D 1;
>           svm_disable_intercept_for_msr(v, MSR_IA32_DEBUGCTLMSR);
> @@ -2480,8 +2480,6 @@ static struct hvm_function_table __initdata_cf_clob=
ber svm_function_table =3D {
>   
>   const struct hvm_function_table * __init start_svm(void)
>   {
> -    bool printed =3D false;
> -
>       svm_host_osvw_reset();
>   
>       if ( _svm_cpu_up(true) )
> @@ -2493,38 +2491,14 @@ const struct hvm_function_table * __init start_sv=
m(void)
>   
>       setup_vmcb_dump();
>   
> -    if ( boot_cpu_data.extended_cpuid_level >=3D 0x8000000aU )
> -        svm_feature_flags =3D cpuid_edx(0x8000000aU);
> -
> -    printk("SVM: Supported advanced features:\n");
> -
>       /* DecodeAssists fast paths assume nextrip is valid for fast rIP up=
date. */
> -    if ( !cpu_has_svm_nrips )
> -        __clear_bit(SVM_FEATURE_DECODEASSISTS, &svm_feature_flags);
> +    if ( !cpu_has_nrips )
> +        setup_clear_cpu_cap(X86_FEATURE_DECODE_ASSIST);
>   
>       if ( cpu_has_tsc_ratio )
>           svm_function_table.tsc_scaling.ratio_frac_bits =3D 32;
>   
> -#define P(p,s) if ( p ) { printk(" - %s\n", s); printed =3D 1; }
> -    P(cpu_has_svm_npt, "Nested Page Tables (NPT)");
> -    P(cpu_has_svm_lbrv, "Last Branch Record (LBR) Virtualisation");
> -    P(cpu_has_svm_nrips, "Next-RIP Saved on #VMEXIT");
> -    P(cpu_has_svm_cleanbits, "VMCB Clean Bits");
> -    P(cpu_has_svm_flushbyasid, "TLB flush by ASID");
> -    P(cpu_has_svm_decode, "DecodeAssists");
> -    P(cpu_has_svm_vloadsave, "Virtual VMLOAD/VMSAVE");
> -    P(cpu_has_svm_vgif, "Virtual GIF");
> -    P(cpu_has_pause_filter, "Pause-Intercept Filter");
> -    P(cpu_has_pause_thresh, "Pause-Intercept Filter Threshold");
> -    P(cpu_has_tsc_ratio, "TSC Rate MSR");
> -    P(cpu_has_svm_sss, "NPT Supervisor Shadow Stack");
> -    P(cpu_has_svm_spec_ctrl, "MSR_SPEC_CTRL virtualisation");
> -#undef P
> -
> -    if ( !printed )
> -        printk(" - none\n");
> -
> -    svm_function_table.caps.hap =3D cpu_has_svm_npt;
> +    svm_function_table.caps.hap =3D cpu_has_npt;
>       svm_function_table.caps.hap_superpage_2mb =3D true;
>       svm_function_table.caps.hap_superpage_1gb =3D cpu_has_page1gb;
>   
> @@ -2761,7 +2735,7 @@ void asmlinkage svm_vmexit_handler(void)
>                       regs->rax, regs->rbx, regs->rcx,
>                       regs->rdx, regs->rsi, regs->rdi);
>   
> -        if ( cpu_has_svm_decode )
> +        if ( cpu_has_decode_assist )
>               v->arch.hvm.svm.cached_insn_len =3D vmcb->guest_ins_len & 0=
xf;
>           rc =3D paging_fault(va, regs);
>           v->arch.hvm.svm.cached_insn_len =3D 0;
> @@ -2906,14 +2880,14 @@ void asmlinkage svm_vmexit_handler(void)
>   
>       case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
>       case VMEXIT_CR0_WRITE ... VMEXIT_CR15_WRITE:
> -        if ( cpu_has_svm_decode && vmcb->ei.mov_cr.mov_insn )
> +        if ( cpu_has_decode_assist && vmcb->ei.mov_cr.mov_insn )
>               svm_vmexit_do_cr_access(vmcb, regs);
>           else if ( !hvm_emulate_one_insn(x86_insn_is_cr_access, "CR acce=
ss") )
>               hvm_inject_hw_exception(X86_EXC_GP, 0);
>           break;
>   
>       case VMEXIT_INVLPG:
> -        if ( cpu_has_svm_decode )
> +        if ( cpu_has_decode_assist )
>           {
>               svm_invlpg_intercept(vmcb->exitinfo1);
>               __update_guest_eip(regs, vmcb->nextrip - vmcb->rip);
> @@ -2994,7 +2968,7 @@ void asmlinkage svm_vmexit_handler(void)
>           break;
>   
>       case VMEXIT_NPF:
> -        if ( cpu_has_svm_decode )
> +        if ( cpu_has_decode_assist )
>               v->arch.hvm.svm.cached_insn_len =3D vmcb->guest_ins_len & 0=
xf;
>           rc =3D vmcb->ei.npf.ec & PFEC_page_present
>                ? p2m_pt_handle_deferred_changes(vmcb->ei.npf.gpa) : 0;
> diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
> index 4e1f61dbe038..4452ab1263d4 100644
> --- a/xen/arch/x86/hvm/svm/vmcb.c
> +++ b/xen/arch/x86/hvm/svm/vmcb.c
> @@ -15,7 +15,6 @@
>   #include <asm/hvm/svm/vmcb.h>
>   #include <asm/msr-index.h>
>   #include <asm/p2m.h>
> -#include <asm/hvm/svm/svm.h>
>   #include <asm/hvm/svm/svmdebug.h>
>   #include <asm/spec_ctrl.h>
>   
> diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include=
/asm/cpufeature.h
> index 77cfd900cb56..b6fb8c24423c 100644
> --- a/xen/arch/x86/include/asm/cpufeature.h
> +++ b/xen/arch/x86/include/asm/cpufeature.h
> @@ -218,6 +218,16 @@ static inline bool boot_cpu_has(unsigned int feat)
>   #define cpu_has_rfds_clear      boot_cpu_has(X86_FEATURE_RFDS_CLEAR)
>   
>   /* CPUID level 0x8000000a.edx */
> +#define cpu_has_npt             boot_cpu_has(X86_FEATURE_NPT)
> +#define cpu_has_v_lbr           boot_cpu_has(X86_FEATURE_V_LBR)
> +#define cpu_has_nrips           boot_cpu_has(X86_FEATURE_NRIPS)
> +#define cpu_has_tsc_ratio       boot_cpu_has(X86_FEATURE_V_TSC_RATE)
> +#define cpu_has_flush_by_asid   boot_cpu_has(X86_FEATURE_FLUSH_BY_ASID)
> +#define cpu_has_decode_assist   boot_cpu_has(X86_FEATURE_DECODE_ASSIST)
> +#define cpu_has_pause_filter    boot_cpu_has(X86_FEATURE_PAUSE_FILTER)
> +#define cpu_has_pause_thresh    boot_cpu_has(X86_FEATURE_PAUSE_THRESH)
> +#define cpu_has_v_loadsave      boot_cpu_has(X86_FEATURE_V_LOADSAVE)
> +#define cpu_has_v_gif           boot_cpu_has(X86_FEATURE_V_GIF)
>   #define cpu_has_v_spec_ctrl     boot_cpu_has(X86_FEATURE_V_SPEC_CTRL)
>   
>   /* Synthesized. */
> diff --git a/xen/arch/x86/include/asm/hvm/svm/svm.h b/xen/arch/x86/includ=
e/asm/hvm/svm/svm.h
> index 4eeeb25da90c..06a951225e64 100644
> --- a/xen/arch/x86/include/asm/hvm/svm/svm.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
> @@ -21,40 +21,4 @@ bool svm_load_segs(unsigned int ldt_ents, unsigned lon=
g ldt_base,
>                      unsigned long fs_base, unsigned long gs_base,
>                      unsigned long gs_shadow);
>   
> -extern u32 svm_feature_flags;
> -
> -#define SVM_FEATURE_NPT            0 /* Nested page table support */
> -#define SVM_FEATURE_LBRV           1 /* LBR virtualization support */
> -#define SVM_FEATURE_SVML           2 /* SVM locking MSR support */
> -#define SVM_FEATURE_NRIPS          3 /* Next RIP save on VMEXIT support =
*/
> -#define SVM_FEATURE_TSCRATEMSR     4 /* TSC ratio MSR support */
> -#define SVM_FEATURE_VMCBCLEAN      5 /* VMCB clean bits support */
> -#define SVM_FEATURE_FLUSHBYASID    6 /* TLB flush by ASID support */
> -#define SVM_FEATURE_DECODEASSISTS  7 /* Decode assists support */
> -#define SVM_FEATURE_PAUSEFILTER   10 /* Pause intercept filter support *=
/
> -#define SVM_FEATURE_PAUSETHRESH   12 /* Pause intercept filter support *=
/
> -#define SVM_FEATURE_VLOADSAVE     15 /* virtual vmload/vmsave */
> -#define SVM_FEATURE_VGIF          16 /* Virtual GIF */
> -#define SVM_FEATURE_SSS           19 /* NPT Supervisor Shadow Stacks */
> -#define SVM_FEATURE_SPEC_CTRL     20 /* MSR_SPEC_CTRL virtualisation */
> -
> -static inline bool cpu_has_svm_feature(unsigned int feat)
> -{
> -    return svm_feature_flags & (1u << feat);
> -}
> -#define cpu_has_svm_npt       cpu_has_svm_feature(SVM_FEATURE_NPT)
> -#define cpu_has_svm_lbrv      cpu_has_svm_feature(SVM_FEATURE_LBRV)
> -#define cpu_has_svm_svml      cpu_has_svm_feature(SVM_FEATURE_SVML)
> -#define cpu_has_svm_nrips     cpu_has_svm_feature(SVM_FEATURE_NRIPS)
> -#define cpu_has_svm_cleanbits cpu_has_svm_feature(SVM_FEATURE_VMCBCLEAN)
> -#define cpu_has_svm_flushbyasid cpu_has_svm_feature(SVM_FEATURE_FLUSHBYA=
SID)
> -#define cpu_has_svm_decode    cpu_has_svm_feature(SVM_FEATURE_DECODEASSI=
STS)
> -#define cpu_has_svm_vgif      cpu_has_svm_feature(SVM_FEATURE_VGIF)
> -#define cpu_has_pause_filter  cpu_has_svm_feature(SVM_FEATURE_PAUSEFILTE=
R)
> -#define cpu_has_pause_thresh  cpu_has_svm_feature(SVM_FEATURE_PAUSETHRES=
H)
> -#define cpu_has_tsc_ratio     cpu_has_svm_feature(SVM_FEATURE_TSCRATEMSR=
)
> -#define cpu_has_svm_vloadsave cpu_has_svm_feature(SVM_FEATURE_VLOADSAVE)
> -#define cpu_has_svm_sss       cpu_has_svm_feature(SVM_FEATURE_SSS)
> -#define cpu_has_svm_spec_ctrl cpu_has_svm_feature(SVM_FEATURE_SPEC_CTRL)
> -
>   #endif /* __ASM_X86_HVM_SVM_H__ */



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 06:12:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 06:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714521.1115794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1giS-0002VH-R4; Tue, 30 Apr 2024 06:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714521.1115794; Tue, 30 Apr 2024 06:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1giS-0002VA-Nl; Tue, 30 Apr 2024 06:11:48 +0000
Received: by outflank-mailman (input) for mailman id 714521;
 Tue, 30 Apr 2024 06:11:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1giR-0002V4-Fq
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 06:11:47 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 840516a8-06b8-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 08:11:43 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3499f1bed15so3705837f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 29 Apr 2024 23:11: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
 z6-20020adff1c6000000b00343ad4bca7dsm31136020wro.85.2024.04.29.23.11.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 29 Apr 2024 23:11: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: 840516a8-06b8-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714457502; x=1715062302; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KZeQ+gUIfJDVZslBNSDkzh3mxG8Ga/S0myGM8IdEKHw=;
        b=fu5L+ykjLqlKzmbk78WIB7GnAWyAt0LlSDRAKTJV0EavOrXL5EQnZaKqmpzWAlm8dE
         XUkzaV/ypSAffKtVX76GdXI+toSbaBr3/WctRP2icQPM7v2DfXf3nar0/37vkw02xBAs
         eTz5txNjECPrYHNCCf56bDZBX4qE6y//dxKCElcapRKhrrHi2wcfDHLugFf3SzOlWk/p
         B+PsVktBbsg08poZTjXwdxoUgJ/ntMYZ6KSrkHQJKaNPxeJQ5Qo9aFZ9ICF3qtkeK/Qq
         B3NdF0N3p98w/F+bC6jGNCspqi9CW2ZU50cEyUseOPM18h73NvevKUh7VBDLqFHVU+eo
         iZTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714457502; x=1715062302;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KZeQ+gUIfJDVZslBNSDkzh3mxG8Ga/S0myGM8IdEKHw=;
        b=CXOpKo0PHFlXXAbZtpO4Lyx0GxRizbKxyXNyHSaXkDUhx3N1LoY0zD5aGOsHeL0V+t
         oLA75vp55x8CXFr11doYqwdFevFbRHqLFd8IST4023JL22DiIGzsssDNAN3K7XgjBVIY
         0aCfz0wXrR/2fHH8SnzwLqUi8eL1mshB+DFHevLBet+w/qUH4QDGAiuqPsqrb0iG8T2g
         WbyrFPweA7D7gVcJ/++ViVMJdf0/eWlYa9ghKe7RuJBH+lVdO1M+UHQvooHGv/38Kv3f
         RB9rBfjffxMhufLkMR/iaKJzf7Gd4pc6cql/dp5P9XoTz6bshG5Q0DAFjZ1GgUtaGFPf
         bUXQ==
X-Forwarded-Encrypted: i=1; AJvYcCUf0YdSU4N4XfBw/gnYKaiTEyIXnbzv4/A/ZNA+PUh7+FVWOe8ftrLV+qVXVgO21CvuTTZDLXdWxg/VEUViGUzg+NTmr9jMqeKwVyarG7o=
X-Gm-Message-State: AOJu0YyuBCyEZxeaJY3J1LmGRdw9YrJZfxf0alCELXdy1OSzWicH5Enc
	s8cITDsfHNA4NRW2OKqJO+el8gj6Mg6P/HHX2180cgvSsKXQvxVXZXYjJBwgnA==
X-Google-Smtp-Source: AGHT+IFG4y2/bS+M0iRXtLer/JeG4/pslKNldjRgxWzIhY5BTULzdi+XVA4Fn9vs1uBbJs5HNZ/i+A==
X-Received: by 2002:a5d:4b92:0:b0:33e:6ef3:b68e with SMTP id b18-20020a5d4b92000000b0033e6ef3b68emr1395717wrt.34.1714457502544;
        Mon, 29 Apr 2024 23:11:42 -0700 (PDT)
Message-ID: <027510f6-5512-4d1e-8382-6507abf9a0c4@suse.com>
Date: Tue, 30 Apr 2024 08:11:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
 <ce942d72-f214-4043-bf61-9d124c0bca64@apertussolutions.com>
 <8f543eac-a686-4298-a677-c984fe5230bd@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8f543eac-a686-4298-a677-c984fe5230bd@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.04.2024 04:51, Henry Wang wrote:
> On 4/30/2024 8:31 AM, Daniel P. Smith wrote:
>> On 4/26/24 02:21, Jan Beulich wrote:
>>> On 26.04.2024 05:14, Henry Wang wrote:
>>>> --- a/xen/include/public/hvm/params.h
>>>> +++ b/xen/include/public/hvm/params.h
>>>> @@ -76,6 +76,7 @@
>>>>    */
>>>>   #define HVM_PARAM_STORE_PFN    1
>>>>   #define HVM_PARAM_STORE_EVTCHN 2
>>>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>>>     #define HVM_PARAM_IOREQ_PFN    5
>>>
>>> Considering all adjacent values are used, it is overwhelmingly likely 
>>> that
>>> 3 was once used, too. Such re-use needs to be done carefully. Since you
>>> need this for Arm only, that's likely okay, but doesn't go without (a)
>>> saying and (b) considering the possible future case of dom0less becoming
>>> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
>>> this also needs at least a comment, maybe even an #ifdef, seeing how 
>>> x86-
>>> focused most of the rest of this header is.
>>
>> I would recommend having two new params,
> 
> Sounds good. I can do the suggestion in v2.
> 
>>
>> #define HVM_PARAM_HV_RSRV_BASE_PVH 3
>> #define HVM_PARAM_HV_RSRV_SIZE 4
> 
> I think 4 is currently in use, so I think I will find another couple of 
> numbers in the end for both of them. Instead of reusing 3 and 4.

Right. There are ample gaps, but any use of values within a gap will need
appropriate care. FTAOD using such a gap looks indeed preferable, to avoid
further growing the (sparse) array. Alternatively, if we're firm on this
never going to be used on x86, some clearly x86-specific indexes (e.g. 36
and 37) could be given non-x86 purpose.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 06:15:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 06:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714525.1115803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1gmG-0003Lr-AJ; Tue, 30 Apr 2024 06:15:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714525.1115803; Tue, 30 Apr 2024 06: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 1s1gmG-0003Lk-7S; Tue, 30 Apr 2024 06:15:44 +0000
Received: by outflank-mailman (input) for mailman id 714525;
 Tue, 30 Apr 2024 06:15:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6P6E=MD=bounce.vates.tech=bounce-md_30504962.66308c8c.v1-cf4811e39cc04ea6811cd96a40a7a875@srs-se1.protection.inumbo.net>)
 id 1s1gmF-0003Le-1s
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 06:15:43 +0000
Received: from mail177-4.suw61.mandrillapp.com
 (mail177-4.suw61.mandrillapp.com [198.2.177.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11cef185-06b9-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 08:15:41 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-4.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4VT9182WqQzlfcGG
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 06:15:40 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 cf4811e39cc04ea6811cd96a40a7a875; Tue, 30 Apr 2024 06:15:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11cef185-06b9-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1714457740; x=1714718240;
	bh=42apf4I4lyfKwWo5zIz6aBDJRkNs9ARy7y6wHmC14ds=;
	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=EfIEcgJZqhDowICELvQL1CAGfqF2oFmWwpfO7cLu3k6/7unlTOavb17MCinuux9zW
	 oq8lf0GLtfie+B1e5BbwkiYJcsiUohPaIJus7Z+C15qyI+dXV7GzosfOZb4eNEKrVf
	 mDCc/oq1DKDk3oWIg7A3xrDYnRXM9NVH4Cnhn6UxOH2o3B1AmOlDxdQrKlZ69oZejW
	 9rOY6akkvBenE3IzLhejatYgRQFsf6d0FulddbtN7dq51JCDl8yuOx5Qyu+1mV9HtD
	 NffUw8ru+kgcAgE19YTZ/FeydWlxRAtxnLjSHUkaal9eflZPXBtyeYHp8E1Q+vV+gN
	 xeJRw+2PkHM3w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1714457740; x=1714718240; i=vaishali.thakkar@vates.tech;
	bh=42apf4I4lyfKwWo5zIz6aBDJRkNs9ARy7y6wHmC14ds=;
	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=ibyY0rQ6HdDYM7WyeaJFFV2QdS5cnRpeoJRSCXODoGVkN1cU7pMLpPT0X9PUF05Ln
	 OxW8bWuw+EKi6Y3H3es2xLlBWz9C+q9KelzPEzgVw2tpdzJVi2KkTiivIUJ7RP7MrF
	 bFkpZYhxmwIbozRIzhX7WPSOhcCEGuj7gI/H3K4Rt2tSTEVxEExXrz1xNsrQiEcFoV
	 4PMF8DTTjGa/Z09e5/hVVM9xCXL0SxSQjDAYKE3bcIs1DAHMMzUDWwnCdVhu/Pqw0y
	 8DBtwZVubUeaeRun77aeLNilVT9YPVGpybnUnuTVSCZo6u1prS0FmCw85QaotSYHed
	 X+bsQhgKS5kCA==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=205/5]=20x86/cpu-policy:=20Introduce=20some=20SEV=20features?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1714457737927
Message-Id: <66fa84f0-95bd-4a2c-80d7-7212784cee39@vates.tech>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, George Dunlap <george.dunlap@citrix.com>, Andrei Semenov <andrei.semenov@vates.fr>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com> <20240429151625.977884-6-andrew.cooper3@citrix.com>
In-Reply-To: <20240429151625.977884-6-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.cf4811e39cc04ea6811cd96a40a7a875?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240430:md
Date: Tue, 30 Apr 2024 06:15:40 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

On 4/29/24 5:16 PM, Andrew Cooper wrote:
> For display purposes only right now.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Vaishali Thakkar <vaishali.thakkar@vates.tech>

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> CC: George Dunlap <george.dunlap@citrix.com>
> CC: Andrei Semenov <andrei.semenov@vates.fr>
> CC: Vaishali Thakkar <vaishali.thakkar@vates.tech>
> 
> This is only half the work to get SEV working nicely.  The other
> half (rearranging __start_xen() so we can move the host policy collection
> earlier) is still a work-in-progress.
> ---
>   tools/misc/xen-cpuid.c                      | 3 +++
>   xen/arch/x86/include/asm/cpufeature.h       | 3 +++
>   xen/include/public/arch-x86/cpufeatureset.h | 4 ++++
>   xen/tools/gen-cpuid.py                      | 6 +++++-
>   4 files changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
> index 0d01b0e797f1..1463e0429ba1 100644
> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -281,6 +281,9 @@ static const char *const str_eAd[32] =3D
>   
>   static const char *const str_e1Fa[32] =3D
>   {
> +    [ 0] =3D "sme",                 [ 1] =3D "sev",
> +    /* 2 */                       [ 3] =3D "sev-es",
> +    [ 4] =3D "sev-snp",
>   };
>   
>   static const struct {
> diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include=
/asm/cpufeature.h
> index b6fb8c24423c..732f0d2bf758 100644
> --- a/xen/arch/x86/include/asm/cpufeature.h
> +++ b/xen/arch/x86/include/asm/cpufeature.h
> @@ -230,6 +230,9 @@ static inline bool boot_cpu_has(unsigned int feat)
>   #define cpu_has_v_gif           boot_cpu_has(X86_FEATURE_V_GIF)
>   #define cpu_has_v_spec_ctrl     boot_cpu_has(X86_FEATURE_V_SPEC_CTRL)
>   
> +/* CPUID level 0x8000001f.eax */
> +#define cpu_has_sev             boot_cpu_has(X86_FEATURE_SEV)
> +
>   /* Synthesized. */
>   #define cpu_has_arch_perfmon    boot_cpu_has(X86_FEATURE_ARCH_PERFMON)
>   #define cpu_has_cpuid_faulting  boot_cpu_has(X86_FEATURE_CPUID_FAULTING=
)
> diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/pu=
blic/arch-x86/cpufeatureset.h
> index 80d252a38c2d..7ee0f2329151 100644
> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -374,6 +374,10 @@ XEN_CPUFEATURE(NPT_SSS,            18*32+19) /*   NP=
T Supervisor Shadow Stacks *
>   XEN_CPUFEATURE(V_SPEC_CTRL,        18*32+20) /*   Virtualised MSR_SPEC_=
CTRL */
>   
>   /* AMD-defined CPU features, CPUID level 0x8000001f.eax, word 19 */
> +XEN_CPUFEATURE(SME,                19*32+ 0) /*   Secure Memory Encrypti=
on */
> +XEN_CPUFEATURE(SEV,                19*32+ 1) /*   Secure Encryped VM */
> +XEN_CPUFEATURE(SEV_ES,             19*32+ 3) /*   SEV Encrypted State */
> +XEN_CPUFEATURE(SEV_SNP,            19*32+ 4) /*   SEV Secure Nested Pagi=
ng */
>   
>   #endif /* XEN_CPUFEATURE */
>   
> diff --git a/xen/tools/gen-cpuid.py b/xen/tools/gen-cpuid.py
> index f07b1f4cf905..bff4d9389ff6 100755
> --- a/xen/tools/gen-cpuid.py
> +++ b/xen/tools/gen-cpuid.py
> @@ -281,7 +281,7 @@ def crunch_numbers(state):
>           _3DNOW: [_3DNOWEXT],
>   
>           # The SVM bit enumerates the whole SVM leave.
> -        SVM: list(range(NPT, NPT + 32)),
> +        SVM: list(range(NPT, NPT + 32)) + [SEV],
>   
>           # This is just the dependency between AVX512 and AVX2 of XSTATE
>           # feature flags.  If want to use AVX512, AVX2 must be supported=
 and
> @@ -341,6 +341,10 @@ def crunch_numbers(state):
>   
>           # The behaviour described by RRSBA depend on eIBRS being active=
.
>           EIBRS: [RRSBA],
> +
> +        SEV: [SEV_ES],
> +
> +        SEV_ES: [SEV_SNP],
>       }
>   
>       deep_features =3D tuple(sorted(deps.keys()))



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 07:13:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 07:13:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714588.1115855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1hfv-00041Z-2q; Tue, 30 Apr 2024 07:13:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714588.1115855; Tue, 30 Apr 2024 07:13:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1hfu-00041S-Ug; Tue, 30 Apr 2024 07:13:14 +0000
Received: by outflank-mailman (input) for mailman id 714588;
 Tue, 30 Apr 2024 07:13:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Ppc=MD=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1s1hft-00041M-Ty
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 07:13:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a4b525f-06c1-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 09:13:11 +0200 (CEST)
Received: from [192.168.1.11] (host-79-60-221-62.business.telecomitalia.it
 [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id D3CF54EE0738;
 Tue, 30 Apr 2024 09:13:10 +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: 1a4b525f-06c1-11ef-909b-e314d9c70b13
Message-ID: <9a1716d2-8a67-4886-b763-ceabc4a28f3f@bugseng.com>
Date: Tue, 30 Apr 2024 09:13:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviation of MISRA C:2012 Rule
 14.4
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <899a456dc9fcd9ceb55efdfb95e71d0abd997700.1713961291.git.federico.serafini@bugseng.com>
 <ea0d9bfa-8e1a-41ac-a2a3-ccd59096074e@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <ea0d9bfa-8e1a-41ac-a2a3-ccd59096074e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24/04/24 14:38, Jan Beulich wrote:
> On 24.04.2024 14:23, Federico Serafini wrote:
>> Update ECLAIR configuration to take into account the deviations
>> agreed during MISRA meetings.
>>
>> Amend an existing entry of Rule 14.4 in deviations.rst:
>> it is not a project-wide deviation.
> 
> Who / how is it not? ->is_dying is a globally visible struct field.

Given a project and a guideline, we use the term "project-wide
deviation" when all violations of the given guideline are deviated.

> 
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -294,7 +294,13 @@ Deviations related to MISRA C:2012 Rules:
>>        - The XEN team relies on the fact that the enum is_dying has the
>>          constant with assigned value 0 act as false and the other ones as true,
>>          therefore have the same behavior of a boolean.
>> -     - Project-wide deviation; tagged as `deliberate` for ECLAIR.
>> +     - Tagged as `deliberate` for ECLAIR.
>> +
>> +   * - R14.4
>> +     - A controlling expression of 'if' and iteration statements having
>> +       integer, character or pointer type has a semantics that is well-known to
>> +       all Xen developers.
>> +     - Tagged as `deliberate` for ECLAIR.
> 
> I'm inclined to suggest that this more generic deviation be inserted ahead
> of the more specific ->is_dying one.

Ok.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 08:11:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 08:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714606.1115863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1iaY-0003f6-Kx; Tue, 30 Apr 2024 08:11:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714606.1115863; Tue, 30 Apr 2024 08: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 1s1iaY-0003ez-ID; Tue, 30 Apr 2024 08:11:46 +0000
Received: by outflank-mailman (input) for mailman id 714606;
 Tue, 30 Apr 2024 08:11:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=X/4O=MD=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1s1iaX-0003er-J3
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 08:11:45 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46d24626-06c9-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 10:11:44 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 029D3CE0EF0;
 Tue, 30 Apr 2024 08:11:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86651C2BBFC;
 Tue, 30 Apr 2024 08:11: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: 46d24626-06c9-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1714464697;
	bh=Okuepw31SRehXeoqshjfC4InPzrJlMsj8crjxsmEs+k=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=Ny2YddjIXd62EgONouXUw4MIpgq1mcR4Ny2Gcwe6ACTc+CdV0UXIy/YQCIIYl47Vc
	 UkQZoe0UGviKS6I/fiNMlR9e+zWbI6Va9a+ig1QuIAQgsZzcpNQGGCsroAtZYZ7Spv
	 zoWTvbkxlPFJxh4l9BIbK80yv3YxIwAHjrS4aFH8=
Date: Tue, 30 Apr 2024 10:11:34 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Juergen Gross <jgross@suse.com>
Cc: cve@kernel.org, linux-cve-announce@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Xen.org security team" <security@xen.org>
Subject: Re: CVE-2024-26908: x86/xen: Add some null pointer checking to smp.c
Message-ID: <2024043015-pauper-aching-a3d4@gregkh>
References: <2024041747-CVE-2024-26908-4690@gregkh>
 <f73bb0fe-9ba6-46de-8732-bd372438068e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f73bb0fe-9ba6-46de-8732-bd372438068e@suse.com>

On Mon, Apr 29, 2024 at 01:53:44PM +0200, Juergen Gross wrote:
> Hi,
> 
> I'd like to dispute CVE-2024-26908: the issue fixed by upstream commit
> 3693bb4465e6e32a204a5b86d3ec7e6b9f7e67c2 can in no way be triggered by
> an unprivileged user or by a remote attack of the system, as it requires
> hotplug of (virtual) cpus to the running system. This can be done only by
> either a host admin or by an admin of the guest which might suffer the
> out-of-memory situation.
> 
> Please revoke this CVE.

Sorry for the delay, thanks for looking into this and letting us know.
It's now rejected.

greg k-h


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 08:13:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 08:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714608.1115874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ibm-0004BM-Va; Tue, 30 Apr 2024 08:13:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714608.1115874; Tue, 30 Apr 2024 08:13:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ibm-0004BF-Rc; Tue, 30 Apr 2024 08:13:02 +0000
Received: by outflank-mailman (input) for mailman id 714608;
 Tue, 30 Apr 2024 08:13:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H2uD=MD=amd.com=Xin.Wang2@srs-se1.protection.inumbo.net>)
 id 1s1ibl-0004B2-1O
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 08:13:01 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2412::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7499b077-06c9-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 10:13:00 +0200 (CEST)
Received: from CY8PR19CA0004.namprd19.prod.outlook.com (2603:10b6:930:44::24)
 by IA1PR12MB7614.namprd12.prod.outlook.com (2603:10b6:208:429::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Tue, 30 Apr
 2024 08:12:54 +0000
Received: from CY4PEPF0000E9D3.namprd03.prod.outlook.com
 (2603:10b6:930:44:cafe::14) by CY8PR19CA0004.outlook.office365.com
 (2603:10b6:930:44::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.36 via Frontend
 Transport; Tue, 30 Apr 2024 08:12:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D3.mail.protection.outlook.com (10.167.241.138) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7544.18 via Frontend Transport; Tue, 30 Apr 2024 08:12:53 +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.35; Tue, 30 Apr
 2024 03:12:52 -0500
Received: from [172.31.124.47] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.35 via Frontend
 Transport; Tue, 30 Apr 2024 03:12: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: 7499b077-06c9-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d7OZonFF2FKNFsHqLY7nTxpabj3qHB98W3kHjMtCgTsKQGtyXRWpiIz2HyeMzqdu169bMARHQ7hp+RHAPaPNf2gv+Sb+5aadQHHwoSt/ufn5/7Jiey9O0inF6R3dj3KM6hUNn2pdvS56cvTQdM0pVrzjsP3U+OoyoSxlrOGXCfYBpYCjs5l0h4x8Qsf46GXtrJVfJ2IuMBsFEdENXht8PRPfGZyrF6DyzuHQWSEPl+3lkrVAoHJuBAOx8g1NbrkpZwAgRLRCmDp5yvNSvxIqqwtWSOUm/hZzOA3hp/aIxTL3CcBNy8sgnVcdiOu429oM/xGEjH6+AcrniiFW0kOSRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IpyN2rKgdWafx/TpacXrrjpOVQnAIPRc15PoU5VuHyo=;
 b=Tp66hkt0XthCQgOiaQAPlU1KZ1BWt6+m8z7ncWM8py3DFUKdnwqTZMlkBxXizY5Adn1/IWIiNxtPOYW7J5mCUH8TmU9z8Fjn9FmV+xHgfX3b0wRsueOOCp7LM1ApLlFGMJvnsv8SKOYQwjnJWk9iER4Xp/DNbXz7m1f03+Xm+jI2Em3GXFK0DQDwWM7KDboD6KmHNzwtw2IIiSQgQI4Fn67qejvuIJtKj5v1T0ur7MJXJdyETERDme/Z56LSuFssJcCLpEkA2flR5SXb9QAQORnxxzc1g81ChtwzeBab4Mw2ehwRvvxXcapFRwGcFatKNmTQogKD09/A27DBAySPxQ==
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=IpyN2rKgdWafx/TpacXrrjpOVQnAIPRc15PoU5VuHyo=;
 b=3cr5AiFyXiPNR3FHU0kLCufaJvj7NUlG/upobJcdTJ3y7n90Q5G3QAgtvQHO1epnb8BRgsxBzLHLHCwifwogfWr+XW8Q9Jw8fJOrIwlUtq++dseOAc25KcLE+Z78Z5ir6ENWaHouMaPbo/XSYFJYSnYsuxbyx8YwC8y0SB/u8sA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.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: <d7369537-f7c5-49fb-bf13-a129868a06ae@amd.com>
Date: Tue, 30 Apr 2024 16:12:47 +0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
To: Jan Beulich <jbeulich@suse.com>
CC: Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	"Michal Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Alec Kwapis <alec.kwapis@medtronic.com>,
	<xen-devel@lists.xenproject.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
 <ce942d72-f214-4043-bf61-9d124c0bca64@apertussolutions.com>
 <8f543eac-a686-4298-a677-c984fe5230bd@amd.com>
 <027510f6-5512-4d1e-8382-6507abf9a0c4@suse.com>
Content-Language: en-US
From: Henry Wang <xin.wang2@amd.com>
In-Reply-To: <027510f6-5512-4d1e-8382-6507abf9a0c4@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB04.amd.com: xin.wang2@amd.com does not designate
 permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D3:EE_|IA1PR12MB7614:EE_
X-MS-Office365-Filtering-Correlation-Id: d0b0f5d9-ff9b-49e6-e789-08dc68ed55ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230031|7416005|376005|36860700004|82310400014|1800799015;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MXJyWnBMYk93anl5Y0dyZEYvWSs1K2k5NzR2MVk3dVlHSzFnOHZFMkl6TFZl?=
 =?utf-8?B?cmtCZy9zbmNUWm1ydHc0WUM0ZFlzL0xHaHNpVUJxdTZ3TTEzVHpNQmRwMmVQ?=
 =?utf-8?B?Qk5MeDhjV1RFcTdKVkNjOFloRmRGQlJxSWJIRGVuM1lEQkRhT2pxc3NaRUZE?=
 =?utf-8?B?MW04Y3dzbGV1U0VOVkRMVHZsTFdWL2c3UkFSZkN2M21DcEt0QjFaM2tlQllt?=
 =?utf-8?B?cU5PZ2krK01RdnF2MHlQbm14SE5hcjI4VzlaVHFLZWFabUM3NFRHcmc4TnVU?=
 =?utf-8?B?TVlDTWZRajYydUc0dzNVLzU3TWVmM2xCcmoySmhvOFJESXNMODMwUWIvV0pO?=
 =?utf-8?B?enYrbDNIbkorSCtjSUpvYmpvbzNGNmlISlhYNEtvbXY5K28rcE1UUXAwdCtH?=
 =?utf-8?B?R0dFV1NjM01ZUjA3Y3lPTzBqVldWS3FGMi9CcDA0SWpkSnoyaFlzcmgySmVs?=
 =?utf-8?B?alRFUVNTRnJKRVE1c2lPYU43bGFSY3pYWC9IeGN3ajRBKzZKQnRLY0Q0Rk52?=
 =?utf-8?B?UmdteUQzenRYajlycElLK0RGOXlPN2l2eHk4a3RFU2FGaE1ZbVpWeDdKek1r?=
 =?utf-8?B?bWxZbnNIOWtGTUR6V1JYS2NDS2l6NlFvRzdnM2R3UmJqT1RmczEzWHBmNG9X?=
 =?utf-8?B?eUhSVFJISU1JRWxRbXFkazdtNmN0OSs3SGQxYWFTMko1ZW91N1ZCYmRsQUlR?=
 =?utf-8?B?V3lwWnYvTUU3SUZFK1U0OEhtOTVheHE5dFh1ditqTFAxWk9BMjI1V0FYeVV4?=
 =?utf-8?B?MjFLdFNnbDBDb0o1VlFzeTAvQjdFT3RibEIyUERJSE5hcjRrWGpiT2pWbm9H?=
 =?utf-8?B?ZjVLNk81Z0N2Z1ZSMkZOZFltQWpZOHcwYXg2dXZSUWdJVkVRM3Z4UXZXajEw?=
 =?utf-8?B?V28rYUhSUmI3WHdrWHk0bUFMVmluTkJ0MFk2ZFdrbzBwdmNLdXF3K3ZQSnNH?=
 =?utf-8?B?amNlbE5sbE4xWk9mSG1zcXpHOFhoTmg5SWZtZ0FUU3Qwa1R6TDhKdVk3b3VK?=
 =?utf-8?B?MEVPWEFlbDA4aUJLb0owYWNnOFpkWDJVcGlTdGhucXlqZmdHdkZjYWdyQmNO?=
 =?utf-8?B?RGFJam1nTEhBYWRIdy96SDVVZ1ZWRWdKaHB3OUpvemhKMFlSZ0RPTDJhNXRQ?=
 =?utf-8?B?TFZYeE1vMTJZRUNEcVdyV1F2a082UlQzRkhKeTFEeXVoMTBxYTZMcDJMdm5K?=
 =?utf-8?B?Z0JUcDFDd3BTbjBxZFM3eWhBdm9HdEpYVVI3VVg2RHJ6am1iWU41WFF6bDZ5?=
 =?utf-8?B?RG0vMGhNaFRLQlZkeGdRb3RhY3pacWdXbXEvM05vNkZtUEFoMWczTlViWjNw?=
 =?utf-8?B?VlRZRlpQaStWZzJDdXc1cENuRmM0TkJ6UTRQd1lCa2JGWFp0VzNqODJXWjJO?=
 =?utf-8?B?MHdacjhZdjBQelN1VFllcys0WjIwT0Q0dWRFd2I2SkF3U2h3Y2tYcHg0bXlL?=
 =?utf-8?B?MGluYU45SjBZWUhEV1JsM1B2QStOZ1hHMGdCMFd2ZUdqOHBmSk15SnM2aXgw?=
 =?utf-8?B?NzRjYVhMMU1xZlVDTldSaTlPVWRzRXpod1VzYXV6R1BqaXVKRysrVDV6clcr?=
 =?utf-8?B?TExEZ3p1WlhyNHF4a1JLNEhGc3hENnAwRDArY0ZCT3hRV0ZsQ0taVExteEl5?=
 =?utf-8?B?bmNTRlUxNzh4TXZmZ05QQkpPS3dwazNYSXorTjIyL3lvK1JXYnFFSmFMbWtt?=
 =?utf-8?B?bmhyOVMvc1lkZDVKR002UVpIbkJaWnRmYlBFNFVGd0d6Y2VJOVJtbGVGWWFB?=
 =?utf-8?B?ZzVEdkNPdk5tYVBrZjRHaWNLTjAwenE4WkE3ZDRzdm96MWkvZ2xxd3c2cWM4?=
 =?utf-8?B?MVdIZ2NBbWhzQjAvRVliMnd3bUhCRlp2SXdyaTBvL1dIYm93MUNDUE1XVmVG?=
 =?utf-8?Q?pS+bwgztuLR5P?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(7416005)(376005)(36860700004)(82310400014)(1800799015);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 08:12:53.3680
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d0b0f5d9-ff9b-49e6-e789-08dc68ed55ba
X-MS-Exchange-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:
	CY4PEPF0000E9D3.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7614

Hi Jan,

On 4/30/2024 2:11 PM, Jan Beulich wrote:
> On 30.04.2024 04:51, Henry Wang wrote:
>> On 4/30/2024 8:31 AM, Daniel P. Smith wrote:
>>> On 4/26/24 02:21, Jan Beulich wrote:
>>>> On 26.04.2024 05:14, Henry Wang wrote:
>>>>> --- a/xen/include/public/hvm/params.h
>>>>> +++ b/xen/include/public/hvm/params.h
>>>>> @@ -76,6 +76,7 @@
>>>>>     */
>>>>>    #define HVM_PARAM_STORE_PFN    1
>>>>>    #define HVM_PARAM_STORE_EVTCHN 2
>>>>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>>>>      #define HVM_PARAM_IOREQ_PFN    5
>>>> Considering all adjacent values are used, it is overwhelmingly likely
>>>> that
>>>> 3 was once used, too. Such re-use needs to be done carefully. Since you
>>>> need this for Arm only, that's likely okay, but doesn't go without (a)
>>>> saying and (b) considering the possible future case of dom0less becoming
>>>> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
>>>> this also needs at least a comment, maybe even an #ifdef, seeing how
>>>> x86-
>>>> focused most of the rest of this header is.
>>> I would recommend having two new params,
>> Sounds good. I can do the suggestion in v2.
>>
>>> #define HVM_PARAM_HV_RSRV_BASE_PVH 3
>>> #define HVM_PARAM_HV_RSRV_SIZE 4
>> I think 4 is currently in use, so I think I will find another couple of
>> numbers in the end for both of them. Instead of reusing 3 and 4.
> Right. There are ample gaps, but any use of values within a gap will need
> appropriate care. FTAOD using such a gap looks indeed preferable, to avoid
> further growing the (sparse) array. Alternatively, if we're firm on this
> never going to be used on x86, some clearly x86-specific indexes (e.g. 36
> and 37) could be given non-x86 purpose.

Sorry, I am a bit confused. I take Daniel's comment as to add two new 
params, which is currently only used for Arm, but eventually will be 
used for hyperlaunch on x86 (as the name indicated). So I think I will 
use the name that he suggested, but the number changed to 39 and 40.

Kind regards,
Henry

>
> Jan



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 08:29:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 08:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714617.1115884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1irP-0006Ms-8S; Tue, 30 Apr 2024 08:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714617.1115884; Tue, 30 Apr 2024 08: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 1s1irP-0006Ml-5A; Tue, 30 Apr 2024 08:29:11 +0000
Received: by outflank-mailman (input) for mailman id 714617;
 Tue, 30 Apr 2024 08:29:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ve62=MD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1irN-0006Md-8o
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 08:29:09 +0000
Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com
 [2607:f8b0:4864:20::831])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b58cb653-06cb-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 10:29:07 +0200 (CEST)
Received: by mail-qt1-x831.google.com with SMTP id
 d75a77b69052e-43716ff5494so57380941cf.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 01:29:07 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 do7-20020a05622a478700b0043999fccc10sm8370941qtb.62.2024.04.30.01.29.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 01: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: b58cb653-06cb-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714465745; x=1715070545; 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=3Krvu4Zj4QowNkkBd0qb5SJ6EGBkyvRPSArlL+RTPpo=;
        b=QFrlrI3Ragkg/C6e+RDBjOqR92LejgP9yhoX57WwINKDCALnwRZvK/AUOL7ttXwrso
         gXXz2X0OxMgPsc/Adc79YZaBVOwQaX0RG9tYVeGL6gwPG/h24aE+EgmkgrLm3yK7cMbn
         32HDxbA6M6KErcvdY1yBNpSmTJGCtjM2QoDkM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714465745; x=1715070545;
        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=3Krvu4Zj4QowNkkBd0qb5SJ6EGBkyvRPSArlL+RTPpo=;
        b=iOUgAvGXp2FXfK+hAubixE8a9QTUrJBgFfljlkZZTkdRQBYM5dNXdjFNCsGVF5L5jl
         m/Map1YT5IdtfQ7u7mYj58tz8A9Ovt0Ut9fna9+LNloYnqZZz2YOwGpSq/n9p82TjkVs
         6SdaPAax2vYFvh9q1bt68+4AkwRohz5i4RAOraWJ7KT2iTITDArYTWN+vZlkUa3ELcql
         psPmeWJ2Ut/AGKM9t+6O8K7bL3VjVYpUxyrKuEcBkF42q8wS3tBPGlYUg6DSaGfUO1od
         vyGdPFD00w8BrXHcvZpH1S2DPOfSwTROTlQCxVtqL+tSVMXwhNUbQPmqnz35RRa66dwl
         FkWg==
X-Gm-Message-State: AOJu0YyvBsTbxKr8UGrFePoF9SL1MB1IQLc8iy00/Oo7vOW7IgmQ1sty
	M5Z8C73TFtg1HIw6UFJ1LNyRZH1SJ/G1D0pH4KSwp8oZyOQqUDc5ltcRb0YJchah6ICwQi2m1oy
	G
X-Google-Smtp-Source: AGHT+IHEpNACdYX24W17tpmcWW4uipDpgji8DhuKWFFXsLVhoK8dH4wfAbIlOw1KBD1Plubpw14xkg==
X-Received: by 2002:a05:622a:59c6:b0:43a:ccb4:ea5e with SMTP id gc6-20020a05622a59c600b0043accb4ea5emr4365744qtb.6.1714465745073;
        Tue, 30 Apr 2024 01:29: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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Anthony PERARD <anthony@xenproject.org>
Subject: [PATCH] tools/xen-cpuid: switch to use cpu-policy defined names
Date: Tue, 30 Apr 2024 10:29:01 +0200
Message-ID: <20240430082901.77662-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Like it was done recently for libxl, switch to using the auto-generated feature
names by the processing of cpufeatureset.h, this allows removing the open-coded
feature names, and unifies the feature naming with libxl and the hypervisor.

Note that leaf names need to be kept, as the current auto-generated data
doesn't contain the leaf names.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Late for 4.19, but I would still like it to be considered for inclusion since
it's IMO a nice cleanup and reduces the burden of adding new feature bits into
the policy.
---
 tools/misc/xen-cpuid.c | 336 +++++++----------------------------------
 1 file changed, 51 insertions(+), 285 deletions(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 8893547bebce..ab5d88472cf1 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -12,282 +12,33 @@
 
 #include <xen-tools/common-macros.h>
 
-static uint32_t nr_features;
-
-static const char *const str_1d[32] =
-{
-    [ 0] = "fpu",  [ 1] = "vme",
-    [ 2] = "de",   [ 3] = "pse",
-    [ 4] = "tsc",  [ 5] = "msr",
-    [ 6] = "pae",  [ 7] = "mce",
-    [ 8] = "cx8",  [ 9] = "apic",
-    /* [10] */     [11] = "sysenter",
-    [12] = "mtrr", [13] = "pge",
-    [14] = "mca",  [15] = "cmov",
-    [16] = "pat",  [17] = "pse36",
-    [18] = "psn",  [19] = "clflush",
-    /* [20] */     [21] = "ds",
-    [22] = "acpi", [23] = "mmx",
-    [24] = "fxsr", [25] = "sse",
-    [26] = "sse2", [27] = "ss",
-    [28] = "htt",  [29] = "tm",
-    [30] = "ia64", [31] = "pbe",
-};
-
-static const char *const str_1c[32] =
-{
-    [ 0] = "sse3",    [ 1] = "pclmulqdq",
-    [ 2] = "dtes64",  [ 3] = "monitor",
-    [ 4] = "ds-cpl",  [ 5] = "vmx",
-    [ 6] = "smx",     [ 7] = "est",
-    [ 8] = "tm2",     [ 9] = "ssse3",
-    [10] = "cntx-id", [11] = "sdgb",
-    [12] = "fma",     [13] = "cx16",
-    [14] = "xtpr",    [15] = "pdcm",
-    /* [16] */        [17] = "pcid",
-    [18] = "dca",     [19] = "sse41",
-    [20] = "sse42",   [21] = "x2apic",
-    [22] = "movebe",  [23] = "popcnt",
-    [24] = "tsc-dl",  [25] = "aesni",
-    [26] = "xsave",   [27] = "osxsave",
-    [28] = "avx",     [29] = "f16c",
-    [30] = "rdrnd",   [31] = "hyper",
-};
-
-static const char *const str_e1d[32] =
-{
-    [ 0] = "fpu",    [ 1] = "vme",
-    [ 2] = "de",     [ 3] = "pse",
-    [ 4] = "tsc",    [ 5] = "msr",
-    [ 6] = "pae",    [ 7] = "mce",
-    [ 8] = "cx8",    [ 9] = "apic",
-    /* [10] */       [11] = "syscall",
-    [12] = "mtrr",   [13] = "pge",
-    [14] = "mca",    [15] = "cmov",
-    [16] = "fcmov",  [17] = "pse36",
-    /* [18] */       [19] = "mp",
-    [20] = "nx",     /* [21] */
-    [22] = "mmx+",   [23] = "mmx",
-    [24] = "fxsr",   [25] = "fxsr+",
-    [26] = "pg1g",   [27] = "rdtscp",
-    /* [28] */       [29] = "lm",
-    [30] = "3dnow+", [31] = "3dnow",
-};
-
-static const char *const str_e1c[32] =
-{
-    [ 0] = "lahf-lm",    [ 1] = "cmp",
-    [ 2] = "svm",        [ 3] = "extapic",
-    [ 4] = "cr8d",       [ 5] = "lzcnt",
-    [ 6] = "sse4a",      [ 7] = "msse",
-    [ 8] = "3dnowpf",    [ 9] = "osvw",
-    [10] = "ibs",        [11] = "xop",
-    [12] = "skinit",     [13] = "wdt",
-    /* [14] */           [15] = "lwp",
-    [16] = "fma4",       [17] = "tce",
-    /* [18] */           [19] = "nodeid",
-    /* [20] */           [21] = "tbm",
-    [22] = "topoext",    [23] = "perfctr-core",
-    [24] = "perfctr-nb", /* [25] */
-    [26] = "dbx",        [27] = "perftsc",
-    [28] = "pcx-l2i",    [29] = "monitorx",
-    [30] = "addr-msk-ext",
-};
-
-static const char *const str_7b0[32] =
-{
-    [ 0] = "fsgsbase", [ 1] = "tsc-adj",
-    [ 2] = "sgx",      [ 3] = "bmi1",
-    [ 4] = "hle",      [ 5] = "avx2",
-    [ 6] = "fdp-exn",  [ 7] = "smep",
-    [ 8] = "bmi2",     [ 9] = "erms",
-    [10] = "invpcid",  [11] = "rtm",
-    [12] = "pqm",      [13] = "depfpp",
-    [14] = "mpx",      [15] = "pqe",
-    [16] = "avx512f",  [17] = "avx512dq",
-    [18] = "rdseed",   [19] = "adx",
-    [20] = "smap",     [21] = "avx512-ifma",
-    [22] = "pcommit",  [23] = "clflushopt",
-    [24] = "clwb",     [25] = "proc-trace",
-    [26] = "avx512pf", [27] = "avx512er",
-    [28] = "avx512cd", [29] = "sha",
-    [30] = "avx512bw", [31] = "avx512vl",
-};
-
-static const char *const str_Da1[32] =
-{
-    [ 0] = "xsaveopt", [ 1] = "xsavec",
-    [ 2] = "xgetbv1",  [ 3] = "xsaves",
-};
-
-static const char *const str_7c0[32] =
-{
-    [ 0] = "prefetchwt1",      [ 1] = "avx512-vbmi",
-    [ 2] = "umip",             [ 3] = "pku",
-    [ 4] = "ospke",            [ 5] = "waitpkg",
-    [ 6] = "avx512-vbmi2",     [ 7] = "cet-ss",
-    [ 8] = "gfni",             [ 9] = "vaes",
-    [10] = "vpclmulqdq",       [11] = "avx512-vnni",
-    [12] = "avx512-bitalg",
-    [14] = "avx512-vpopcntdq",
-
-    [22] = "rdpid",
-    /* 24 */                   [25] = "cldemote",
-    /* 26 */                   [27] = "movdiri",
-    [28] = "movdir64b",        [29] = "enqcmd",
-    [30] = "sgx-lc",           [31] = "pks",
-};
-
-static const char *const str_e7d[32] =
-{
-    /* 6 */                    [ 7] = "hw-pstate",
-    [ 8] = "itsc",             [ 9] = "cpb",
-    [10] = "efro",
-};
-
-static const char *const str_e8b[32] =
-{
-    [ 0] = "clzero",
-    [ 2] = "rstr-fp-err-ptrs",
-
-    /* [ 8] */                 [ 9] = "wbnoinvd",
-
-    [12] = "ibpb",
-    [14] = "ibrs",             [15] = "amd-stibp",
-    [16] = "ibrs-always",      [17] = "stibp-always",
-    [18] = "ibrs-fast",        [19] = "ibrs-same-mode",
-
-    [20] = "no-lmsl",
-    /* [22] */                 [23] = "ppin",
-    [24] = "amd-ssbd",         [25] = "virt-ssbd",
-    [26] = "ssb-no",
-    [28] = "psfd",             [29] = "btc-no",
-    [30] = "ibpb-ret",
-};
-
-static const char *const str_7d0[32] =
-{
-    [ 2] = "avx512-4vnniw", [ 3] = "avx512-4fmaps",
-    [ 4] = "fsrm",
-
-    [ 8] = "avx512-vp2intersect", [ 9] = "srbds-ctrl",
-    [10] = "md-clear",            [11] = "rtm-always-abort",
-    /* 12 */                [13] = "tsx-force-abort",
-    [14] = "serialize",     [15] = "hybrid",
-    [16] = "tsxldtrk",
-    [18] = "pconfig",
-    [20] = "cet-ibt",
-    /* 22 */                [23] = "avx512-fp16",
-
-    [26] = "ibrsb",         [27] = "stibp",
-    [28] = "l1d-flush",     [29] = "arch-caps",
-    [30] = "core-caps",     [31] = "ssbd",
-};
-
-static const char *const str_7a1[32] =
-{
-    [ 0] = "sha512",        [ 1] = "sm3",
-    [ 2] = "sm4",
-    [ 4] = "avx-vnni",      [ 5] = "avx512-bf16",
-
-    [10] = "fzrm",          [11] = "fsrs",
-    [12] = "fsrcs",
-
-    /* 18 */                [19] = "wrmsrns",
-
-    /* 22 */                [23] = "avx-ifma",
-};
+#include <xen/lib/x86/cpu-policy.h>
 
-static const char *const str_e21a[32] =
-{
-    [ 0] = "no-nest-bp",    [ 1] = "fs-gs-ns",
-    [ 2] = "lfence+",
-    [ 6] = "nscb",
-    [ 8] = "auto-ibrs",
-    [10] = "amd-fsrs",      [11] = "amd-fsrc",
-
-    /* 16 */                [17] = "cpuid-user-dis",
-    [18] = "epsf",          [19] = "fsrsc",
-    [20] = "amd-prefetchi",
-
-    /* 26 */                [27] = "sbpb",
-    [28] = "ibpb-brtype",   [29] = "srso-no",
-};
-
-static const char *const str_7b1[32] =
-{
-    [ 0] = "ppin",
-};
-
-static const char *const str_7c1[32] =
-{
-};
-
-static const char *const str_7d1[32] =
-{
-    [ 4] = "avx-vnni-int8",       [ 5] = "avx-ne-convert",
-
-    [10] = "avx-vnni-int16",
-
-    [14] = "prefetchi",
-
-    [18] = "cet-sss",
-};
-
-static const char *const str_7d2[32] =
-{
-    [ 0] = "intel-psfd",    [ 1] = "ipred-ctrl",
-    [ 2] = "rrsba-ctrl",    [ 3] = "ddp-ctrl",
-    [ 4] = "bhi-ctrl",      [ 5] = "mcdt-no",
-};
-
-static const char *const str_m10Al[32] =
-{
-    [ 0] = "rdcl-no",             [ 1] = "eibrs",
-    [ 2] = "rsba",                [ 3] = "skip-l1dfl",
-    [ 4] = "intel-ssb-no",        [ 5] = "mds-no",
-    [ 6] = "if-pschange-mc-no",   [ 7] = "tsx-ctrl",
-    [ 8] = "taa-no",              [ 9] = "mcu-ctrl",
-    [10] = "misc-pkg-ctrl",       [11] = "energy-ctrl",
-    [12] = "doitm",               [13] = "sbdr-ssdp-no",
-    [14] = "fbsdp-no",            [15] = "psdp-no",
-    /* 16 */                      [17] = "fb-clear",
-    [18] = "fb-clear-ctrl",       [19] = "rrsba",
-    [20] = "bhi-no",              [21] = "xapic-status",
-    /* 22 */                      [23] = "ovrclk-status",
-    [24] = "pbrsb-no",            [25] = "gds-ctrl",
-    [26] = "gds-no",              [27] = "rfds-no",
-    [28] = "rfds-clear",
-};
-
-static const char *const str_m10Ah[32] =
-{
-};
+static uint32_t nr_features;
 
 static const struct {
     const char *name;
     const char *abbr;
-    const char *const *strs;
-} decodes[] =
+} leaf_names[] =
 {
-    { "CPUID 0x00000001.edx",        "1d", str_1d },
-    { "CPUID 0x00000001.ecx",        "1c", str_1c },
-    { "CPUID 0x80000001.edx",       "e1d", str_e1d },
-    { "CPUID 0x80000001.ecx",       "e1c", str_e1c },
-    { "CPUID 0x0000000d:1.eax",     "Da1", str_Da1 },
-    { "CPUID 0x00000007:0.ebx",     "7b0", str_7b0 },
-    { "CPUID 0x00000007:0.ecx",     "7c0", str_7c0 },
-    { "CPUID 0x80000007.edx",       "e7d", str_e7d },
-    { "CPUID 0x80000008.ebx",       "e8b", str_e8b },
-    { "CPUID 0x00000007:0.edx",     "7d0", str_7d0 },
-    { "CPUID 0x00000007:1.eax",     "7a1", str_7a1 },
-    { "CPUID 0x80000021.eax",      "e21a", str_e21a },
-    { "CPUID 0x00000007:1.ebx",     "7b1", str_7b1 },
-    { "CPUID 0x00000007:2.edx",     "7d2", str_7d2 },
-    { "CPUID 0x00000007:1.ecx",     "7c1", str_7c1 },
-    { "CPUID 0x00000007:1.edx",     "7d1", str_7d1 },
-    { "MSR_ARCH_CAPS.lo",         "m10Al", str_m10Al },
-    { "MSR_ARCH_CAPS.hi",         "m10Ah", str_m10Ah },
+    { "CPUID 0x00000001.edx",        "1d" },
+    { "CPUID 0x00000001.ecx",        "1c" },
+    { "CPUID 0x80000001.edx",       "e1d" },
+    { "CPUID 0x80000001.ecx",       "e1c" },
+    { "CPUID 0x0000000d:1.eax",     "Da1" },
+    { "CPUID 0x00000007:0.ebx",     "7b0" },
+    { "CPUID 0x00000007:0.ecx",     "7c0" },
+    { "CPUID 0x80000007.edx",       "e7d" },
+    { "CPUID 0x80000008.ebx",       "e8b" },
+    { "CPUID 0x00000007:0.edx",     "7d0" },
+    { "CPUID 0x00000007:1.eax",     "7a1" },
+    { "CPUID 0x80000021.eax",      "e21a" },
+    { "CPUID 0x00000007:1.ebx",     "7b1" },
+    { "CPUID 0x00000007:2.edx",     "7d2" },
+    { "CPUID 0x00000007:1.ecx",     "7c1" },
+    { "CPUID 0x00000007:1.edx",     "7d1" },
+    { "MSR_ARCH_CAPS.lo",         "m10Al" },
+    { "MSR_ARCH_CAPS.hi",         "m10Ah" },
 };
 
 #define COL_ALIGN "24"
@@ -301,21 +52,32 @@ static const char *const fs_names[] = {
     [XEN_SYSCTL_cpu_featureset_hvm_max] = "HVM Max",
 };
 
-static void dump_leaf(uint32_t leaf, const char *const *strs)
+static const char *find_name(unsigned int index)
 {
-    unsigned i;
+    static const struct feature_name {
+        const char *name;
+        unsigned int bit;
+    } feature_names[] = INIT_FEATURE_NAMES;
+    unsigned int i;
 
-    if ( !strs )
-    {
-        printf(" ???");
-        return;
-    }
+    for ( i = 0; i < ARRAY_SIZE(feature_names); i++ )
+        if ( feature_names[i].bit == index )
+            return feature_names[i].name;
+
+    return NULL;
+}
+
+static void dump_leaf(uint32_t leaf, unsigned int index)
+{
+    unsigned i;
 
     for ( i = 0; i < 32; ++i )
         if ( leaf & (1u << i) )
         {
-            if ( strs[i] )
-                printf(" %s", strs[i]);
+            const char *name = find_name(index * 32 + i);
+
+            if ( name )
+                printf(" %s", name);
             else
                 printf(" <%u>", i);
         }
@@ -326,6 +88,7 @@ static void decode_featureset(const uint32_t *features,
                               const char *name,
                               bool detail)
 {
+    static const uint32_t known_features[] = INIT_KNOWN_FEATURES;
     unsigned int i;
 
     printf("%-"COL_ALIGN"s        ", name);
@@ -336,11 +99,14 @@ static void decode_featureset(const uint32_t *features,
     if ( !detail )
         return;
 
-    for ( i = 0; i < length && i < ARRAY_SIZE(decodes); ++i )
+    /* Ensure leaf names stay in sync with the policy leaf count. */
+    BUILD_BUG_ON(ARRAY_SIZE(known_features) != ARRAY_SIZE(leaf_names));
+
+    for ( i = 0; i < length && i < ARRAY_SIZE(leaf_names); ++i )
     {
-        printf("  [%02u] %-"COL_ALIGN"s", i, decodes[i].name ?: "<UNKNOWN>");
-        if ( decodes[i].name )
-            dump_leaf(features[i], decodes[i].strs);
+        printf("  [%02u] %-"COL_ALIGN"s", i, leaf_names[i].name ?: "<UNKNOWN>");
+        /* Attempt to print features anyway even if the leaf name is unknown. */
+        dump_leaf(features[i], i);
         printf("\n");
     }
 }
@@ -355,8 +121,8 @@ static void dump_info(xc_interface *xch, bool detail)
     if ( !detail )
     {
         printf("       %"COL_ALIGN"s ", "KEY");
-        for ( i = 0; i < ARRAY_SIZE(decodes); ++i )
-            printf("%-8s ", decodes[i].abbr ?: "???");
+        for ( i = 0; i < ARRAY_SIZE(leaf_names); ++i )
+            printf("%-8s ", leaf_names[i].abbr ?: "???");
         printf("\n");
     }
 
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 08:51:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 08:51:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714626.1115894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jCp-0001zX-Vz; Tue, 30 Apr 2024 08:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714626.1115894; Tue, 30 Apr 2024 08: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 1s1jCp-0001zQ-RN; Tue, 30 Apr 2024 08:51:19 +0000
Received: by outflank-mailman (input) for mailman id 714626;
 Tue, 30 Apr 2024 08:51: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1jCp-0001zK-5Z
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 08:51:19 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce74ee38-06ce-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 10:51:17 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41ba1ba55e9so29438935e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 01:51: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
 bh25-20020a05600c3d1900b0041ba0439a78sm15032283wmb.45.2024.04.30.01.51.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 01:51: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: ce74ee38-06ce-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714467076; x=1715071876; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Br+7oQNumutMREB6hCjRSxn/CQrVDIvRl5aZlPdFIkQ=;
        b=HC65y0FNQxuNG5dGWdCP3jjKBrLbhW2iWHdRC3W8m5J4BETxvU6RXqC0HZF0bQnSZ/
         HlEWum1WVWMXbCvBaXmokaxDNVRr+k4MH2iInRqP7enUd1v37PUcnJN4crFdp0dzh9qn
         jfGeQrnRZiALBrU0Hp8SkefjinhD9n0QkjIDgZS6bEIbYUleObLO0kEyOFMxIOE5+kOL
         2o48rzgdNq7NtiC9FvG7RAvOmh8Y+O1GQ4n6qDolsABn5VO5qzGcmCil3kQHYx8ee6K5
         OCMFHgbOBje3Thjay41t2Z0cFoGTJHcCJkWKpgRuCHLkSl5m5VCpFcvWkTnMU19hsr5Q
         kObw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714467076; x=1715071876;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Br+7oQNumutMREB6hCjRSxn/CQrVDIvRl5aZlPdFIkQ=;
        b=dJFzXw7saIU8zk0S274bx3tK/J1JUKXU/wUtBMyGF2X0PSnsnOpBtF6SONZ5qgV6Io
         TQWg9+9/DnUOnH2S7WmpaDOSe7Jgz1tljRsIaUpOp7+IXoVbWbQoK0M4evTcQB3d2MAX
         yn1XyX77oE44gpiPbt8BaYRQZAld1BegdealE+9dUbYjK8GHWNIZPyJw0wLNrrJKXE8A
         51DMBrlcp+gs9llc0VuMZR/gfbWdhPwVvmkIEJW85FwIitT6/GWpTD10oq4Vq1Kc5Kgs
         /7rPW3oqGd12/bk59R0HEjAUIMaNK5med0W9qIXGNbeHiwXPdrt3eS96Bl9PdGQZ+1BL
         oDIA==
X-Forwarded-Encrypted: i=1; AJvYcCUjR5AfVdZOzcrZ89i+f8StOSFCPYMn5G9YjPIWooPXrWbtWKpPAIN32FkC2zig8kyMqRhxICiDCgHEaH7VN+Dn8dDcO2oq4bVX7RgTWT0=
X-Gm-Message-State: AOJu0Yyl/UN9Rt+yQVGDsY9wnJw9QqX3dktlHcFZvYcFWt6JV0PsXmJN
	gnib/mcKQRKEBK1NJJCzHzHD5pv06a18bwjCDRkjrRzAmRYiz75cY1915/dcyQ==
X-Google-Smtp-Source: AGHT+IHav5JsvahebG/1mD3M4gWyDNWGzfeP4PrDOZFUs+jJ7HfzXhUn5Vs4rT7eCvQ/AwfBeMoI6g==
X-Received: by 2002:a7b:cd97:0:b0:418:df5a:3fba with SMTP id y23-20020a7bcd97000000b00418df5a3fbamr1465950wmj.32.1714467076349;
        Tue, 30 Apr 2024 01:51:16 -0700 (PDT)
Message-ID: <7f424247-5988-414b-a1ea-0bb8019b7ec3@suse.com>
Date: Tue, 30 Apr 2024 10:51:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm, tools: Add a new HVM_PARAM_MAGIC_BASE_PFN
 key in HVMOP
To: Henry Wang <xin.wang2@amd.com>
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>, xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-3-xin.wang2@amd.com>
 <3af4f1c7-9059-436b-9449-94bd7aad9eed@suse.com>
 <ce942d72-f214-4043-bf61-9d124c0bca64@apertussolutions.com>
 <8f543eac-a686-4298-a677-c984fe5230bd@amd.com>
 <027510f6-5512-4d1e-8382-6507abf9a0c4@suse.com>
 <d7369537-f7c5-49fb-bf13-a129868a06ae@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: <d7369537-f7c5-49fb-bf13-a129868a06ae@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.04.2024 10:12, Henry Wang wrote:
> Hi Jan,
> 
> On 4/30/2024 2:11 PM, Jan Beulich wrote:
>> On 30.04.2024 04:51, Henry Wang wrote:
>>> On 4/30/2024 8:31 AM, Daniel P. Smith wrote:
>>>> On 4/26/24 02:21, Jan Beulich wrote:
>>>>> On 26.04.2024 05:14, Henry Wang wrote:
>>>>>> --- a/xen/include/public/hvm/params.h
>>>>>> +++ b/xen/include/public/hvm/params.h
>>>>>> @@ -76,6 +76,7 @@
>>>>>>     */
>>>>>>    #define HVM_PARAM_STORE_PFN    1
>>>>>>    #define HVM_PARAM_STORE_EVTCHN 2
>>>>>> +#define HVM_PARAM_MAGIC_BASE_PFN    3
>>>>>>      #define HVM_PARAM_IOREQ_PFN    5
>>>>> Considering all adjacent values are used, it is overwhelmingly likely
>>>>> that
>>>>> 3 was once used, too. Such re-use needs to be done carefully. Since you
>>>>> need this for Arm only, that's likely okay, but doesn't go without (a)
>>>>> saying and (b) considering the possible future case of dom0less becoming
>>>>> arch-agnostic, or hyperlaunch wanting to extend the scope. Plus (c) imo
>>>>> this also needs at least a comment, maybe even an #ifdef, seeing how
>>>>> x86-
>>>>> focused most of the rest of this header is.
>>>> I would recommend having two new params,
>>> Sounds good. I can do the suggestion in v2.
>>>
>>>> #define HVM_PARAM_HV_RSRV_BASE_PVH 3
>>>> #define HVM_PARAM_HV_RSRV_SIZE 4
>>> I think 4 is currently in use, so I think I will find another couple of
>>> numbers in the end for both of them. Instead of reusing 3 and 4.
>> Right. There are ample gaps, but any use of values within a gap will need
>> appropriate care. FTAOD using such a gap looks indeed preferable, to avoid
>> further growing the (sparse) array. Alternatively, if we're firm on this
>> never going to be used on x86, some clearly x86-specific indexes (e.g. 36
>> and 37) could be given non-x86 purpose.
> 
> Sorry, I am a bit confused. I take Daniel's comment as to add two new 
> params, which is currently only used for Arm, but eventually will be 
> used for hyperlaunch on x86 (as the name indicated). So I think I will 
> use the name that he suggested, but the number changed to 39 and 40.

Well, yes, if re-use for x86 is intended, then unused slots need taking.
Question then still is whether the array bounds indeed need moving up,
or whether instead one of the gaps can be (re)used.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:01:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:01:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714648.1115903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jMG-0003wU-2A; Tue, 30 Apr 2024 09:01:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714648.1115903; Tue, 30 Apr 2024 09:01:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jMF-0003wN-Vt; Tue, 30 Apr 2024 09:01:03 +0000
Received: by outflank-mailman (input) for mailman id 714648;
 Tue, 30 Apr 2024 09:01:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1jMF-0003wH-4R
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 09:01:03 +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 2acfac5f-06d0-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 11:01:01 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41b782405d5so43851375e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 02: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
 j28-20020a05600c1c1c00b0041bfb176a87sm10182736wms.27.2024.04.30.02.01.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 02: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: 2acfac5f-06d0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714467660; x=1715072460; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=btcu+7TWLKE8WeJYmCQ1Y/QjSK4AAkiI27ykfNR6YX8=;
        b=TaRYN6Zzff5nExh9tDr1OEUtpPKKxCjFn6xkEk2JVL+2eInMMdKZU0l4zImG+emhhl
         r+KIyRgZW69FTtqAxqYpQ1s2iD081KgPFKQ2NFRH2NbNbGVv48AfAVpGgvjFHBvmz5J3
         C0ZvBflUUH1bm+NUdUEbFZkdlg6mPP8FTzd5n0PCCO1Vw3ZsiWEI17BvpJPC8TxvW5wt
         7o0VM1HgfEZBcIwxAIHtRYvHuP3wPzY0foNiLAzyLrUAdJeCyY4Z5xKDyFd5HVbZyXvu
         QsXGhc8XBuoiBPeWJMzMhhBX5WWp+UCfQF0H6yC43pv2281RJvjtSkgFg5rU3LkuW+OK
         XYIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714467660; x=1715072460;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=btcu+7TWLKE8WeJYmCQ1Y/QjSK4AAkiI27ykfNR6YX8=;
        b=GxXCL0uJt11Dy8cQck8l30I363q6b64NDtIH7xxhZopFEUxxkWUIjM3iZuNdZHl6xl
         vQY2g+C+ucXo2vXvz5IDhz2OtaGpv2srFoxWjx2LQmgAiqfCfZfvfWL2APs5jfo8G13y
         qMtjA63M+F0i5+DzNF8aSKlHyTRlFgZVp23VjnRDtK5wtsl79IoFwZRICcwLFXfOmB43
         4cDjMa2l3rPBhV/fpF03aq94YaXkG+kEUlVKmeF110rYDPe/GzUuGI8zPvd2YdyKY1L8
         55XaEv79D4yWO1UZPkHxGpX3HwyG6VIPyVDGMvS3XeDn+C1R58L0NjOfIB4VaXsnLYqB
         hE8w==
X-Forwarded-Encrypted: i=1; AJvYcCUI54IQWzZ+N+qBQkiQSDARtQIQj4OMTFgp1wlq6wI7IxmxG8s0r37DM5zMPv2iLhMlM93RX3jJhUZ0NLfDeoOLvN+3ryNn3EIpYVmIZfY=
X-Gm-Message-State: AOJu0YxeTPrhgrqXoInxrz+vHeG2ncYo3efKzlRqLhfRtUw1ExPFdpwH
	I6OjDB9+qM1bB6FHmNf+ZwGMdVjdxPUH33dQlx9lgzO9JAUDv9+siyC91F6AYgeRKxi63JYjo1o
	=
X-Google-Smtp-Source: AGHT+IE6v93OeUiQVnpFZmxfawoBHkF0/d+hgxfY/oFy3LItG76cfg9BAOomPvVDu4xM11je6zHZPA==
X-Received: by 2002:a05:600c:1c13:b0:41c:503:9ae4 with SMTP id j19-20020a05600c1c1300b0041c05039ae4mr7844384wms.25.1714467660655;
        Tue, 30 Apr 2024 02:01:00 -0700 (PDT)
Message-ID: <892ad877-2576-4ce5-9110-47fa5f1fdb06@suse.com>
Date: Tue, 30 Apr 2024 11:00:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | b819bd65
Content-Language: en-US
To: "consulting@bugseng.com" <consulting@bugseng.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6630a5ea2588_2c1971e1c10965b@gitlab-sidekiq-catchall-v2-ddbc855b7-4zkpr.mail>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6630a5ea2588_2c1971e1c10965b@gitlab-sidekiq-catchall-v2-ddbc855b7-4zkpr.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.04.2024 10:03, GitLab wrote:
> 
> 
> Pipeline #1272869158 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
> 
> Commit: b819bd65 ( https://gitlab.com/xen-project/hardware/xen/-/commit/b819bd65f4fb25be582f66ba2e4134f61d86f459 )
> Commit Message: revert "x86/mm: re-implement get_page_light() u...
> Commit Author: Jan Beulich ( https://gitlab.com/jbeulich )
> 
> 
> Pipeline #1272869158 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1272869158 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
> had 3 failed jobs.
> 
> Job #6745823842 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823842/raw )
> 
> Stage: test
> Name: adl-pci-hvm-x86-64-gcc-debug
> Job #6745823720 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823720/raw )
> 
> Stage: analyze
> Name: eclair-x86_64

This flags start_nested_{svm,vmx}() as regressions, when the regression was
previously spotted already. Is that intended? I.e. shouldn't the comparison
be to the previous pipeline run, such that issues are pointed out only for
what is actually being added anew with the patch / batch under test?

> Job #6745823721 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823721/raw )
> 
> Stage: analyze
> Name: eclair-ARM64

Similarly this appears to point out regressions which were previously spotted.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:07:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714653.1115914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jSK-0004xy-Nn; Tue, 30 Apr 2024 09:07:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714653.1115914; Tue, 30 Apr 2024 09: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 1s1jSK-0004xr-L2; Tue, 30 Apr 2024 09:07:20 +0000
Received: by outflank-mailman (input) for mailman id 714653;
 Tue, 30 Apr 2024 09:07:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=z1GF=MD=epam.com=prvs=18503a8626=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1s1jSJ-0004xl-4a
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 09:07:19 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a35fac3-06d1-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 11:07:16 +0200 (CEST)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 43U7mHAd006658;
 Tue, 30 Apr 2024 09:07:05 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3xt96wc4hm-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 30 Apr 2024 09:07:05 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by DB9PR03MB7275.eurprd03.prod.outlook.com (2603:10a6:10:1fe::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.23; Tue, 30 Apr
 2024 09:07:02 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7544.018; Tue, 30 Apr 2024
 09:07:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a35fac3-06d1-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HPBKQXiQHI5K3D3E0+KQqj82OzGwxZcIsVk4FlnLmFdkLySuyz2m2O8aqjwWMcamxLyb2mr7Hgrn3PVL4II8QjDYncxSLDt20BQh45p1lEedelCVobwGH6LcbPo3G+cHr6Hn0c+toQPi5rfV137TxkzaMi0auEjRqytfeNmzj0mQiM0UD089uOwTv3pgGgAW7yBR7emJPEbqPaQ/fiWVJM5Bt9AbKXi+wnUlmIt1UpDmQESBE20ZCAavXHxX32PMXuZOyg4+D+Exe8hxGUS5h/zkt8ShZbDLZ6pJp3O4ayOE0FhE50QKfknawSw0V/ymvHr4RzxgznAIzUUCQAOuPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=40zcA97ST9wQF7hGAJgPg3VXMck8koPpSmG8zTQcNMk=;
 b=J+wNU/9Y5cvW53d23ZXwIyi2anR/Kgj2K7RsgicjGxoHA7CE+Uli+Ymyap6wHZorfe59JnAag/PYH0PrsWxybRkXpLwu1NchKWQmTWH9Y5Y1cEhA4aubddB4y6FA/76NOKfg+/X4PKy4impMat7Qtj26thetHMbqUBxwyPlgzSeE8soxbV38a9yWh66QbeGNyaF4+XezDvUafR2/NJvclrIhWEbxRnsduhpJVVc2k1Xsz8BlZFfAtaYfamPRB9oK+uC8gYjRKzzwbEDwTD0kX50bhlh8TfHlGuNNF2fxxsDDKEdLoiE84O8aPrtJ0yHJS4UGVt3WpXTIjH0u990Zjw==
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=40zcA97ST9wQF7hGAJgPg3VXMck8koPpSmG8zTQcNMk=;
 b=gkcf4/2vMSm5ZOqkwPcUnnUjoOvOr0O7JolB0ch0uDUdYuQ/SvixuzkWthMTfdhDJv4v2RLsyL6W4Vgk0Cgjx/VXUAbqRr31k9MXrSIpkWscfO1XIXtp9P7ruVmbfYZzHAwuSezZZHGVuzJK7TeGLWs1IZrr5zdabaV2BKn9QJ+DygeUH6Y3A8VwLZ2MOBzahX3y3k57op0Wcpu/dkffLT76BEC0hbYfUqhn1//BkX5ExPoEW3A/g81gapgYUuLsJV5/oi+geyijYHxLY/hunTt+RDhVcQkhDKfRp96wHP76lsFmVbabrjVScaSHL3JBvUffJ6Dv75eBofbwTIgHbA==
Message-ID: <20d0751a-5d59-4c89-8cd2-31e3e161590c@epam.com>
Date: Tue, 30 Apr 2024 12:07:00 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 1/7] x86/vpmu: separate amd/intel vPMU code
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <a708db7fe06d131256ed2c75f518efce3d078fbb.1713860310.git.Sergiy_Kibrik@epam.com>
 <87f9b33e-146c-4a59-a1cc-e58bbee8647b@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <87f9b33e-146c-4a59-a1cc-e58bbee8647b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA0P291CA0022.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1::22) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|DB9PR03MB7275:EE_
X-MS-Office365-Filtering-Correlation-Id: b5a6b8a2-175d-4384-e487-08dc68f4e5d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|1800799015|376005;
X-Microsoft-Antispam-Message-Info: 
	=?utf-8?B?Uk9pejNha01YbG1YSFhrYlBCTzB1dDFDd1FXVWFTdGRvaHVBemNWak5jN3dD?=
 =?utf-8?B?L2ErVHRsWlZ4TWFaQmQ4Q1hsY3VGZU5BUlNHSUlpSGFzeFlqYWpONEUzbmRC?=
 =?utf-8?B?cGVkZTJSckFTR0Z1OWhJUGc5b2pvQkNFekRLWTJHZ3RVRzV2cDlDNFM0VGU1?=
 =?utf-8?B?a2xnbXFKUXpDalFNZ0tENWxmUGxmVHNOWFgvcU5YclAvOUZyMkFLeTFBWm95?=
 =?utf-8?B?Y1BjcjRSLzNTWnJTMmNBdUVOL1pVcWNVTHU2NWZMM1o0aXdJUnBaQW1KaGlL?=
 =?utf-8?B?MnNJbWd3UUxSd3llNmU5VTFyTWY0TE95U1JOcFljYTgvK0tjNTF0SWg3WFI3?=
 =?utf-8?B?U3lmdE1tclN6eWcxSkZXdHZVUEJCdUsrL3V2NDhpaEY5SkdXaVhXanR2SnBp?=
 =?utf-8?B?NDB1b0lMOGN3dEY5eXQ2QTFRT1JXS3U2UW5oY1JKTi9hQXJ1emZoUDdBYXMw?=
 =?utf-8?B?OWVod3hBby91OUtNOHRwMkNCblQzVXlkNnQwRVlHUkp0WHllZVJaaFkvVVMy?=
 =?utf-8?B?MmxlR3BUR3R0QUszbHlNSFBDOXQwMkNTMGNqWm1rbm5SaVZwaUlhbFJhSmJ2?=
 =?utf-8?B?T21tTy9rK29EcnpqQ2VuU3dGUDZtazNQUzlwWklFZ3ZiOGVDRnRFWEJ6Q1di?=
 =?utf-8?B?elRicWNsWEZPSTlJM01ybm0xbGlPNExZT2hMUFV2OWJ6L2JTeldRK3NleG5M?=
 =?utf-8?B?a0dFL3dwWk9zZGlqSUNrOXZJU29vajRCWE56VEhoaUg5eXhuMTJKRC9MTm9G?=
 =?utf-8?B?cGQ4ays2Nm5EUTRpcjJ4MnU3UjMzY3NuaEhwUlFGZm51MnZZTzRySFN0MjNm?=
 =?utf-8?B?M0JYZEJrVWRSUXVhWmFkSkJ0cWtPYWVSL05JYmtHUVcvaUNRVitxVWU4cjQ4?=
 =?utf-8?B?VndFTFpyRHFTSkw2Rmt3VE9mdGRyMkt0U29NVWNvWWd4Y3dFalB6QjVFWTA0?=
 =?utf-8?B?MkpWWDdKc1NVZm51eDAvY2tRRmVyU0RKcTNGR3F0QzNRb2dqVHFIaVhHbGdo?=
 =?utf-8?B?R0dwN0pkdTJGaHQyL29IYUNBdGFtNnUwdkd0aHNueWJQN0JsTHkxQU8xOWwr?=
 =?utf-8?B?YlY1MlluMk9xRTNvUUNCUzFTNEZVYThSZW9yeGx4cEdjQUsxeGtSWlJoZkRQ?=
 =?utf-8?B?OWhOS3FJSzdzV3BmVDVyZ3FkWnlFVWRuWGl6VWg4UUgyU2pGQnY3ZVl5amc5?=
 =?utf-8?B?TmlDTExXODZNL3RlUVBOc3JMTm9xRjNVNkNwb1dMdldLaWdMb0k0TWlHNmZL?=
 =?utf-8?B?ekhtUk1Yb3pLYm1td3VPazhwYU1Gd29NS2Z5UzV1MjBvNDVVOVd6N1laTjJF?=
 =?utf-8?B?aHRhWGJRanZxZG5mNlAwNmNqazkrTk8yZS9yN1VaYStpV09rK2tkRlVHQXM0?=
 =?utf-8?B?SHEzWW4vZE5EbHFhVXZuUzJGdGI0eGVtcjdQNmlKNzZRdjAwQSszVFlaaERS?=
 =?utf-8?B?VlZMajYrbjlxTk9yYUsraiszVkZYOTJpOGNMekRMQkMwQjNaZEpZZWZ6K3E4?=
 =?utf-8?B?UDBWT0tObHFIRDlDdDBUMHVXemxnRFU1bTR2VUx2c3RtZXVlQjE1OG8rbnFw?=
 =?utf-8?B?U1UvaXN3Q0hPT0tUd2xocUMxVUxIME5xc2owM0Vic2pXaWVQaGhiaWthUk80?=
 =?utf-8?B?d216VlZCQnAveTlWaUJHVThKZWN1MkdJWGgvZ29iR2gxaUV1OHNKWXpMRjBW?=
 =?utf-8?B?M3Y1ZEx0R2dqUnNwd3IveGsvR0ZvdXY4aVRMOTVaNWdSR2RlN0tPREhRPT0=?=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?aFhmVk1YajIrSEpJSFJQb3pBZ1A0a3ZqeUY4c2sycFk1anc1WWVQbnhiSHND?=
 =?utf-8?B?YjJUNkd2cVpLVDAzRVE1OVgzZFp5RUpheFlOTHlCR1FpK0FCL0FESTd3QmdT?=
 =?utf-8?B?MGdNWitkU3I0dVQ4ZndoOEtiOVJNbS9HaU1Bd3d0aUdMemZ3RC9hTTJiQ1hS?=
 =?utf-8?B?azZIdG9NRVJCM3JWek9HWFRWaGpPSEphTXA1d0FyWGhKZC9JQThjVE1IR1JF?=
 =?utf-8?B?RVhDTmRRcnBtc0V2R3VLYk1qRHRpQ2MzYzd4SHNjV3JvSFJDMWsrMVh2dnhm?=
 =?utf-8?B?SVBhcldDRWo3OC9GTTVBdE9HZ01mSk92SzNJaGhROU9VNWxPcWJUemhPd2JB?=
 =?utf-8?B?ZmpIZCtIRzdlUzVCSHlyaTRKZjlhK0g4Nm1VZ21aNjEzT0FTTmRUS3lNUGdv?=
 =?utf-8?B?UEplUm5NQ0JkcHZuRjN2YkhCMFBQb1BHRnRjaysvN2VjV0t6a0lDd3djQ0Ro?=
 =?utf-8?B?Z2ZNeGFKSkhHU09ZTlBNUDRJcmJIQjR3Y1lXcE44anpJU1ZGZE9xckwzUjI0?=
 =?utf-8?B?VDM3R0lWazg0RGU5czFTVHR3eURBbGFSSmlwbWJmeDVCeEVON0E5KzlhYWUy?=
 =?utf-8?B?aEZMSUZwTWJRMXlwTzFDMG5pM05sSXAzME5QMWtDcUU1MXdueDc5MzkrN0dM?=
 =?utf-8?B?dG56aUZ2N0kzRVMrOWZENVdUN3FkOEFXWCtYQWZOcG9JQysvWnUwaVpCR3pw?=
 =?utf-8?B?ZFA1cWdOeFpNUWRGdXNlUWZVWFljYWV1S0NZT1RvRUhFRzdSOUczY0tVSkdF?=
 =?utf-8?B?MDJWUzNIMzkwRGlYTDZBZTVQVTJnY1JSVjltODd0TjZGdkNtam1tMzlwTlF4?=
 =?utf-8?B?MHFiT294clc4MGxGb0NvUzliakpVenRsUW45T3F3cnpqMmVDbm1paStLR1pJ?=
 =?utf-8?B?VnV5WUFPN3duZkxybk02aXVxMklBQmdCTDRXMU5xcldGa1ZCdGJkMXJta3Vi?=
 =?utf-8?B?aXZDQ1dldnpOOFVpOStPbWcrRjhVSVRIVTBObHk1NDI4SHZldW54bVVZQjVD?=
 =?utf-8?B?UnhEQUo0V2EyWkxGbDNFazhhWkViVVRQRERHTTVEU0FaTUFKNk5yQ1VNekY3?=
 =?utf-8?B?ZDFzSHJaN1orWGFDamFSNXlFa2J2OEo1VVdOL0xiS2FNSWZ6MHJXdnN3aXlt?=
 =?utf-8?B?cUIwR2VJWkJDRGRhYS90UWNETHJBV0hhVTJYSms2T0dGRzN6WC9vSU45MXFI?=
 =?utf-8?B?ZWdLZ0hzdEhEYTQ3RUR5bTdqNXZlRXlFV0dnQ1k2K01mZUJDMzJpbC9FRmtU?=
 =?utf-8?B?YjV1VjZsNEVJTGMwQTZ4azYxdTlRQit3Sk9JT0NtMVVnbTZHZUNsaU5JVXpG?=
 =?utf-8?B?L09VYVV5aTluZnc3ZmJHelpEektSQVYyVWExMWpXTUpZTy9KVTh0TTBYRFpY?=
 =?utf-8?B?aHc2eE5sNFFjMXdNNTJudTVDMHgwQjRGZ3ZYUElTZ3k4Q1lreUJhQm5JU0l6?=
 =?utf-8?B?SW9SMmVLZFVyR0E1M0E3Z3p4T2RCTFRtRXFqelFNUnFHN3M0bWwrMUp6akl1?=
 =?utf-8?B?S3pnWSs1SlBEMnBPd0p0SUFVWktRVm1OLzJNVDdrYmNZYU5Rb3JIKzZOdUsv?=
 =?utf-8?B?SXBMWWt1SEwzTWxvT0JGN0xsbXppdk1pdjU3M3YxOVQra2Qyc3NJVlMrUGpz?=
 =?utf-8?B?a2dTVmRVaTFFV2o5WmV1NE94N0gzSWhhSmZRd0FINW9HcGlXdStnK2IydEk0?=
 =?utf-8?B?K2FiK2t6ZmY4V09jWnV1UWU1ZGpzV0tXS3E0d0lwaHlhVWl2V2doUEFEeGll?=
 =?utf-8?B?NG0wOTdDU2xtbDd6bndGd0FPdzF2M1gxT2JhNlUyRUpSY3I5US91NnlyU3d6?=
 =?utf-8?B?R2Z3d0tTc0MwNlVhMHhuc1dmQ1lQMDRqaXFqYSt0Q3BXN0xIY2JZZ0I2bDZj?=
 =?utf-8?B?QlJ3eUtWY2QwblVrMkxES1NvaGYrTDJXL0liN1lWY3ZWMVZPdk5BMUtJakY1?=
 =?utf-8?B?aW9ERFE5RXFCK0QybkJiNEdla1JQMzhyRElSUVRLaXg0VXVpZ2t2NTZNL3NK?=
 =?utf-8?B?SHJ5NEdXOUIzTWYvZjVYcVNIeHVBajNBWGhGQnZwbWY5MmRHTkNRQ2hvTEhz?=
 =?utf-8?B?TGlLYktuNjNzY3ZCQm95N01XMWFyTFR3QWN0ZWZHdFU4ai9QdFQ4VW5JQ0V0?=
 =?utf-8?B?ZTIvSDMrUVhIUDI0c0FJOUhVMU5Ic2lVQnltQldIUXI0OVg1dG9RZ2JwUFZl?=
 =?utf-8?B?anc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5a6b8a2-175d-4384-e487-08dc68f4e5d5
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 09:07:01.9036
 (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: 0XGd4UrRx3PlsRnOaKVZC9UYDAP9euGsv7mealrYQjBeOo2KxED8qf5gnXUdG4vf3I6ZV2dmUAn04JXtQ/3jUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7275
X-Proofpoint-GUID: hA0gs9dh0WYIdvSZvtBZ_PWqIAlMGGtZ
X-Proofpoint-ORIG-GUID: hA0gs9dh0WYIdvSZvtBZ_PWqIAlMGGtZ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26
 definitions=2024-04-30_04,2024-04-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0
 lowpriorityscore=0 mlxscore=0 mlxlogscore=874 phishscore=0 adultscore=0
 spamscore=0 priorityscore=1501 suspectscore=0 impostorscore=0
 clxscore=1015 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404300065

29.04.24 18:28, Jan Beulich:
> Any reason you don't follow the approach used in patch 7, putting simple
> #ifdef in the switch() in vpmu_init()? That would avoid the need for the
> three almost identical stubs.

I didn't want to put that many preprocessor statements into this small 
switch() block (4 #ifdef/#endif-s per 15 LOC) but if it's ok I'll do it.

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:20:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714659.1115924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jez-0007wZ-R6; Tue, 30 Apr 2024 09:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714659.1115924; Tue, 30 Apr 2024 09:20:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jez-0007wS-OI; Tue, 30 Apr 2024 09:20:25 +0000
Received: by outflank-mailman (input) for mailman id 714659;
 Tue, 30 Apr 2024 09:20: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1jey-0007wK-Cu
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 09:20:24 +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 df4a9b1f-06d2-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 11:20:23 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-34d7d04808bso287860f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 02:20: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
 k6-20020a5d6286000000b0034c124b80f7sm13156131wru.61.2024.04.30.02.20.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 02:20: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: df4a9b1f-06d2-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714468822; x=1715073622; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=z2i30mpupT8ZxqQiWGmJvRyxB0qxx7Sv+Wtac7RQQpQ=;
        b=Q8K5eB5YY89lqcO/MdQdWXhfiCIh6K4rKRstoXJrF5muCFtk1V2mhIVVKn/B4mfj8H
         ywd1RwRoBv1sJy0zfS9dNmfj5hRBKthra4Jr9yqVc5/8275CGoggmjRpEa3ZXEluvRGP
         OxZeZhIUl/RXNEQ3cCrJzQ7j6ZVua15E3gtia7t6Qj8WknGSQPB3vnR26NXyZwr+Z0Jg
         g9KwQXBN1Lpx64V3dV/VerTFNIx8i71jQ9na2Q1tW9xv2XHasuX/tJi/shp8h7HS8tA1
         PSLzcTi7sxbq7WAJ3L6BCFw0r5byrpRuJlluTsgO5esVNtTFZo6RtZRsFvLmwnCnG41z
         2hhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714468822; x=1715073622;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=z2i30mpupT8ZxqQiWGmJvRyxB0qxx7Sv+Wtac7RQQpQ=;
        b=ocYUVboCu2PlQSl+Aou6w6vbfEpOs95r6hciaJArRzXaxlbVFk9D9LE8tnINMqJhc/
         7tue7i43keRNyX3VWQno0/EDj1Tnyh8yv4JBRdQeRYfT3Ws3O16LCESCeEeoxu+wQu3M
         X0uu3lUjIVtp79HRwzzuHtu9PAWKFFXd5Gk+1XyGAIHDHQ2YJ+XgtKx0KIbiFcx9rFhK
         u3TxxxutHiDcPHpd19SySxBXK9LSbt0+teRPCe8wvRpxs6ZlQ4TMSudYiFVCHTuPuDDG
         U8gyjncE1ORks+x7FbWhPRj4X0Yu3m3oE09cTylDWlP0uu+7lgPdaBN61WVrspNfeceW
         iw+Q==
X-Forwarded-Encrypted: i=1; AJvYcCXgh7fkewk+i9ajOc6wWZTciziiukysBT46/560eC9WFxhZDdu+dHmHQCV7musFxS242EB0HjikVJLkJ/BKu3JyeyNjnwskd1V/KqrLFUw=
X-Gm-Message-State: AOJu0YxxGv27basvVjdVCRUI/LVmZ77HCeEPlHakGrLiLRi31Q+B4raV
	DyhBC8RbBFrk+oDQHvuc40Mrf3f29ryg3Ifv8oiFVrp3DYJX4QZbU0XUHrgkGg==
X-Google-Smtp-Source: AGHT+IHPVnQbze3Lzrvc9VDtyeYkxP4bH4eLhZn56edwt2+/eGOt2tkt6R/GlBpvgybgjKfWAVNO2w==
X-Received: by 2002:adf:f504:0:b0:34d:9fb2:5148 with SMTP id q4-20020adff504000000b0034d9fb25148mr521483wro.31.1714468822583;
        Tue, 30 Apr 2024 02:20:22 -0700 (PDT)
Message-ID: <1b64477c-f602-4a1d-9218-a115c8a4132c@suse.com>
Date: Tue, 30 Apr 2024 11:20:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] x86/spec-ctrl: Introduce and use DO_COND_BHB_SEQ
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-7-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240422181434.3463252-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22.04.2024 20:14, Andrew Cooper wrote:
> @@ -322,12 +334,9 @@
>      ALTERNATIVE "", __stringify(DO_SPEC_CTRL_ENTRY maybexen=1),         \
>          X86_FEATURE_SC_MSR_PV
>  
> -    testb $SCF_entry_bhb, %bl
> -    jz .L\@_skip_bhb
> -    ALTERNATIVE_2 "",                                    \
> -        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
> -        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
> -.L\@_skip_bhb:
> +    ALTERNATIVE_2 "",                                          \
> +        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
> +        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX

Only spotting this while doing the 456 backport to 4.9: While this
is all usual and fine, ...

> @@ -433,13 +442,9 @@
>       * Clear the BHB to mitigate BHI.  Used on eIBRS parts, and uses RETs
>       * itself so must be after we've perfomed all the RET-safety we can.
>       */
> -    testb $SCF_entry_bhb, %bl
> -    jz .L\@_skip_bhb
> -
> -    ALTERNATIVE_2 "",                                    \
> -        "call clear_bhb_loops", X86_SPEC_BHB_LOOPS,      \
> -        "call clear_bhb_tsx", X86_SPEC_BHB_TSX
> -.L\@_skip_bhb:
> +    ALTERNATIVE_2 "",                                          \
> +        "DO_COND_BHB_SEQ clear_bhb_loops", X86_SPEC_BHB_LOOPS, \
> +        "DO_COND_BHB_SEQ clear_bhb_tsx",   X86_SPEC_BHB_TSX
>  
>      lfence

... the original use of ALTERNATIVE_2 here is safe only because for
the idle domain SCF_entry_bhb will not be set, and hence any patching
done here will not affect NMI or #MC taken while doing the patching.
Therefore I think this hunk needs dropping.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:22:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714662.1115934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jhB-00004x-AE; Tue, 30 Apr 2024 09:22:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714662.1115934; Tue, 30 Apr 2024 09:22:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jhB-00004q-76; Tue, 30 Apr 2024 09:22:41 +0000
Received: by outflank-mailman (input) for mailman id 714662;
 Tue, 30 Apr 2024 09: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=9Ppc=MD=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1s1jhA-0008WM-0Q
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 09:22:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fe3d3f4-06d3-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 11:22:38 +0200 (CEST)
Received: from [192.168.1.11] (host-79-60-221-62.business.telecomitalia.it
 [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id F24394EE0738;
 Tue, 30 Apr 2024 11:22: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: 2fe3d3f4-06d3-11ef-909b-e314d9c70b13
Message-ID: <fe6f66dd-f2b2-40aa-9290-0313e80ea391@bugseng.com>
Date: Tue, 30 Apr 2024 11:22:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | b819bd65
To: Jan Beulich <jbeulich@suse.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6630a5ea2588_2c1971e1c10965b@gitlab-sidekiq-catchall-v2-ddbc855b7-4zkpr.mail>
 <892ad877-2576-4ce5-9110-47fa5f1fdb06@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <892ad877-2576-4ce5-9110-47fa5f1fdb06@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 30/04/24 11:00, Jan Beulich wrote:
> On 30.04.2024 10:03, GitLab wrote:
>>
>>
>> Pipeline #1272869158 has failed!
>>
>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
>> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
>>
>> Commit: b819bd65 ( https://gitlab.com/xen-project/hardware/xen/-/commit/b819bd65f4fb25be582f66ba2e4134f61d86f459 )
>> Commit Message: revert "x86/mm: re-implement get_page_light() u...
>> Commit Author: Jan Beulich ( https://gitlab.com/jbeulich )
>>
>>
>> Pipeline #1272869158 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1272869158 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
>> had 3 failed jobs.
>>
>> Job #6745823842 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823842/raw )
>>
>> Stage: test
>> Name: adl-pci-hvm-x86-64-gcc-debug
>> Job #6745823720 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823720/raw )
>>
>> Stage: analyze
>> Name: eclair-x86_64
> 
> This flags start_nested_{svm,vmx}() as regressions, when the regression was
> previously spotted already. Is that intended? I.e. shouldn't the comparison
> be to the previous pipeline run, such that issues are pointed out only for
> what is actually being added anew with the patch / batch under test?
> 
>> Job #6745823721 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823721/raw )
>>
>> Stage: analyze
>> Name: eclair-ARM64
> 
> Similarly this appears to point out regressions which were previously spotted.

A patch to make ECLAIR analysis *not* allowed to fail has been sent.
It will also solve the issue you are pointing out.
Thanks for reporting it.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:29:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714670.1115944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1jnT-0001Il-Uq; Tue, 30 Apr 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 714670.1115944; Tue, 30 Apr 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 1s1jnT-0001Ie-SE; Tue, 30 Apr 2024 09:29:11 +0000
Received: by outflank-mailman (input) for mailman id 714670;
 Tue, 30 Apr 2024 09:29: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 1s1jnS-0001IR-Gf; Tue, 30 Apr 2024 09:29: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 1s1jnS-0004NJ-E6; Tue, 30 Apr 2024 09:29: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 1s1jnS-0001Cw-3i; Tue, 30 Apr 2024 09:29:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1jnS-0007DH-35; Tue, 30 Apr 2024 09:29:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yFwOSBt180pzTW8yWaDQ19ZtDoG2a81w/uVFUL+oY4A=; b=5obY2nvGR7/awbg25Wq9V/GJG0
	LN8PkzMIgTwqqNld2knJr2MJHwdOr8aUGbg4z1ceR3hNiPRxwTzu75IToG9nZwEkC6hCyDRcEK3vV
	c75+mmGuNT44KCXY82gOwJwftZXwVFTT42ZUvsvRUz3WpKMPsZxpmoB0CsvPc1oZIBNQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185876-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185876: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0c74aa2073e48b2143413f2dc76557acf8884202
X-Osstest-Versions-That:
    ovmf=88781ccd744c73acbbbe9767627860a538b9f3a2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 09:29:10 +0000

flight 185876 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185876/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0c74aa2073e48b2143413f2dc76557acf8884202
baseline version:
 ovmf                 88781ccd744c73acbbbe9767627860a538b9f3a2

Last test of basis   185873  2024-04-30 02:41:15 Z    0 days
Testing same since   185876  2024-04-30 07:42:44 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
   88781ccd74..0c74aa2073  0c74aa2073e48b2143413f2dc76557acf8884202 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:42:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714682.1115954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1k0V-0004BX-3f; Tue, 30 Apr 2024 09:42:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714682.1115954; Tue, 30 Apr 2024 09: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 1s1k0V-0004BQ-0z; Tue, 30 Apr 2024 09:42:39 +0000
Received: by outflank-mailman (input) for mailman id 714682;
 Tue, 30 Apr 2024 09: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=z1GF=MD=epam.com=prvs=18503a8626=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1s1k0U-0004BK-2O
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 09:42:38 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8f9abae-06d5-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 11:42:35 +0200 (CEST)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 43U6KKTq006934;
 Tue, 30 Apr 2024 09:42:30 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3xt8fy4fgd-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 30 Apr 2024 09:42:30 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by AM9PR03MB7759.eurprd03.prod.outlook.com (2603:10a6:20b:3dd::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.22; Tue, 30 Apr
 2024 09:42:25 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::b309:8ea5:85c3:d04f%5]) with mapi id 15.20.7544.018; Tue, 30 Apr 2024
 09:42:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8f9abae-06d5-11ef-b4bb-af5377834399
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J61Gjg1gZDUrbCWJUZ/trS8saNJYBaZGbP9/ix0HzKMrGUM6ygmaXZ4XVdw/EA+Z+WH9iKRYR+nvZ/dhSDwU90yh+M5ij6+qYHFP4K8ii3XHtkPqgvRsWgSiq1Acxk2A1e0sBhOFHMgBPO0CrrVsAEkRvtTJeeN30csw+BuhUX20Nf6ETKxVbuL1W3sNNvp/XRJIR75fUN33nJFiOxTOewA2dQCnUbXMlCnfgDcI1iCNEXxDge4XwHzOZPgPSOxUmiR6k+uLZysknvIJJoj5sU1dxwTmfusuS1mWTqNSTYlfkpqBnQ5GiGnkc0rH2Nv+mLsmfSX1aIHnYgWuyFOuVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ditHuX6z+IfdxOLMjl/YFMyXeFgvG7YgOVRNLPoIams=;
 b=kPAZGMuQPgBiHqtgKqde4aWRlmITCXH8CAI28J+0GcMl8GHzYH6MidMm5nytt3pGJRowDWwVlAKBI4bvc00LMMrWPaqXdJG4q9TPZ4TsdfH4pZn1+xLQLwwo9rUU5C4696iuE0QtoT0BBWRIyrxwjsuHH4ZWYNZhu3Tp3ytEL8ADHQcK4ESIT9nXDLgiPxZPIu5n/HahRLlzM312+7XfiCAFvTOEskKFj/0WXOaBJPxZlaFXcoKCJp8EcUFcNxjCe4dKVT/Ykb7YoHPUnfjKdgGt+X0g0owHGLHYzOWJtL6rrFVtPlF52ln3hyHqWl8etUBrV+zTVwu6OJONGB/O2w==
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=ditHuX6z+IfdxOLMjl/YFMyXeFgvG7YgOVRNLPoIams=;
 b=RZLiqgC4ZU43DgcRbb2psiGDUSKBfeuJ15Z8tkK3VSVLxFQRTXhVj58lP68g1qlMHhPg920N4b05MmS4VFh2Z94MP9xlXW/ODzsE/LUd9lgYafvIqiYH0A1cf14SsLq9ZZwV7nn+D/Ba3tXt7sNll2PpogxLOg4t/5eiqZ74nWavBn97R5oSC2XApq2xoZJRyxptZMPz19tO4X8EuKPThgZh0aRT6ZNBctiAoTE+CJCBBA2opsh03CK/TVTC1SPuDJUQsx9c311fPAAqK7PYPPsYDUKqpzb6rrMZBdglI+ShTCMoYsEz7Dj+lqHacG5kjKxX8QKsni1rMkOcofQJkg==
Message-ID: <b7838866-3c4b-4801-8656-4a4b19a60a3e@epam.com>
Date: Tue, 30 Apr 2024 12:42:23 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1 2/7] x86/intel: guard vmce_has_lmce() with INTEL
 option
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: <cover.1713860310.git.Sergiy_Kibrik@epam.com>
 <5e26895d84f8b7750799740ac2324b2cb92fa97e.1713860310.git.Sergiy_Kibrik@epam.com>
 <fd6bc6df-1b95-45fb-81ed-b0ccac1a0ad0@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <fd6bc6df-1b95-45fb-81ed-b0ccac1a0ad0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA0P291CA0009.POLP291.PROD.OUTLOOK.COM (2603:10a6:1d0:1::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_|AM9PR03MB7759:EE_
X-MS-Office365-Filtering-Correlation-Id: fd07f51c-3cac-4b92-7741-08dc68f9d7a5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|1800799015|366007;
X-Microsoft-Antispam-Message-Info: 
	=?utf-8?B?Y2U2dXVWSmkxSmxSaDFKU1RGbkd3clo4YWpvSUQrK2Vrc3Zwd2NMQzJLOGRZ?=
 =?utf-8?B?dHFlTUZqMVJSa2l6VW1GSCtEK3hPM2I2bXNGL2d3SlNpWXdDWW5wWW0xZjRL?=
 =?utf-8?B?ZXZRQTg3OEtycklnZXlWUDBEMTlMbjlFQVJvaUl3OUlQcFc5S1l0d3Y2YUxC?=
 =?utf-8?B?dE9HUk1kRDhlc2tBU1FZUGJYRG1ub3FVdjZnV3kvREtTdWIxdHdwaFBUOGQx?=
 =?utf-8?B?VURobXJVVGswRFdHdTYzN0ROS3lvUkRCOUJuQnFRQnNyTy85bzdUcW5WUjVj?=
 =?utf-8?B?VkJaSW5neTc0eGtPbmQ1WGlMS3VCbnhDTW82cTh3R1JpL3hyNWRPQ1AzbXdI?=
 =?utf-8?B?RzkzUVlDY1lJY3Q4SHpKSzczazdBNUFoZVE5MnhReVNDNzFsT3ZSYnZJa3Js?=
 =?utf-8?B?UTNWdENLNlZwYTQ4R0RXQWpjbzVJbzBHanlWSnZYNWtJMnNheEc5dHRFUFNW?=
 =?utf-8?B?YU9tYXRaeWQwNmJ4TGxleEJIRWxRYWtBODZva3VWVXI4a1crY0VHczFucXZN?=
 =?utf-8?B?eWVZeXpwL2dGNkN5Wjk3WTRsbmxyL0xUN2VFME10RXo3R3p2TDJyNHJFdHdr?=
 =?utf-8?B?eHhadEt4dGZHcXp3M2taNnVsbWVHa1JiTnY3UlNOVGU2R0FUaS90Y3RGSElJ?=
 =?utf-8?B?VGZyVGpPSmErNExkMVRmUm5xa1FTMEF4SmljY2NEZ2M0WFBMYlIxK2lsaVVJ?=
 =?utf-8?B?ajhRdFNjZGwrOTFNN1dlN1p6dlZYdHpWYmoyTjFFb0lTaVhvZlR2QTdsN1pH?=
 =?utf-8?B?ZWlXWDE2ZkJxSDlnc0ZteXFuNGJBUmlyajh0Y2p3MlY0eUNOLytOdlVrU2lJ?=
 =?utf-8?B?djJZaEN6ZE85YS83Y3B5aDlyR1pBVFZNN3J2NTQ1N0ZXT1hUYXlqKzZHakdF?=
 =?utf-8?B?Mzl4L29CZEk4bldISHo1dGhncEJNTnAxY2ZqV1Y4Q0NaR254QU96UStYUzR1?=
 =?utf-8?B?U0NESVVsR3QxNXhCRFdqSFpPVkdqNi9RRDlaNjluR1JMWi9wbU51Vk8xZ1Bj?=
 =?utf-8?B?bE5MNWJ1WFE5MzZIUjlEMmJPVTI5Z0VveDdFUEdLTE9WTTJsZ05ZZzJoS0dP?=
 =?utf-8?B?V2xCbnlnNWFlQ0huVDBWelBnamhsOHdMSjVTYUJoV3d1dUVOZUVMU1JGNEp0?=
 =?utf-8?B?UHQ2b2VJSlhJYVFhanByWHNYTGk0WmsyT2VsY0J0eWFOR3JaNlNsSS92NEVa?=
 =?utf-8?B?Z0Z3NVFjYUxGOFRVYjFSdGVwSFVJYmxhTmtVNDE1WWZKbDVXcFdxYjRXL2FX?=
 =?utf-8?B?eEhlSUR3b0E3MjBUR0taOW1NcnRYS3FGLzhSRHlpTEtMV0Q4SWlTRXFxMitG?=
 =?utf-8?B?OTljbG8vYXhRcmZMQXkvTjJJUlFYWEswKzFQZVNoRmZDU2JuK0J4TkhJUzI5?=
 =?utf-8?B?YTJISnYxb0VDaEFTZHdORGNlRS9YRmpJaHBSdFQ4cFVXZURJcVhFZXBjMCs2?=
 =?utf-8?B?c3Q1QU0xK3BzVndrVXpZMm5oYjBtcFJLNXg3bVg2NUpILzhDQmFyRkkxWW9O?=
 =?utf-8?B?clJScDJyYVMxYzhRdTNHSGkwRjNmTFMwWnIzWGQ1MFdZelV1OVNlV2oyY0cw?=
 =?utf-8?B?OXN2VHQwMmo0V3NHT29icUhHTGZIekZ2eTluL3k2dHZxV215cFBwb0IrY3pF?=
 =?utf-8?B?Z3dLR05ITyszSDBBUUFpalRvdTVsT21EQlRRajlobDZIWU1LNWFkSWZkZVJ4?=
 =?utf-8?B?UmxreEFJUVlIekdhSXQzWXlJdDFZa0h0UjZYbWpDWjBFajFQOURHaUNRPT0=?=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?RzVkQVpDRkpDTG9tWDFWeTREOHpYYVIzeFF5c1VDSXFhRmY0Y2syNzFhVkVJ?=
 =?utf-8?B?TnpPN3M3WUpiOFZvRVZqajU5OE5ZNU8raEVYNE5WRmJRMEZaQ0wvMVpDeThy?=
 =?utf-8?B?d3l3bXoyS2JLMnJSS3FWS3RhQk9uRjZadkgxMFd4MmtCYkpUYytCNlgzakdr?=
 =?utf-8?B?UXVseVdlMkc4Y0U3T0xwenJONm1FanFHL2R6bFpxeFY4RVBjR25tR1J0RHNE?=
 =?utf-8?B?dkozZktMcnlLbFBwTnhFTGQ3dkROSUk5RS8zSVk2ZUF0QmRNQ2dLTnhMdGND?=
 =?utf-8?B?TENmKzVVSitmbkRTb1YwVDkwYVZCS3oyazlheFpaL0pvVCtnQjhrRmtnN0hN?=
 =?utf-8?B?ZXJlMlVkL2pOKzVOazNYOEdyN25UV1FBZHQwUkgzT0hEbU0xUzdvQXFndnUv?=
 =?utf-8?B?T1pweEpCSUVQN0dIOFQwSS92TUJYeUoxWDZKVDY1WW8rc0N5Z0tqNGtpNGJa?=
 =?utf-8?B?M0RlTkJSd29PZjZYeWZTYi9UaGlkZktWZjV3SEwzbHhLWWIxTnovbDhsVTdZ?=
 =?utf-8?B?Z21PRnJaNGEzVGE2cWtIQ2lmYnBOVWROOWMwQVYwTzljcVBjNGhOeFMyQkNu?=
 =?utf-8?B?dTlVVG5YdWhKTXo1TXN3SXA4WUZNaHlVTTB1UTdna2ZiZ3hCTU83UVFNc2dB?=
 =?utf-8?B?M2JFUmhpQko4WHh6Z2ZHVEtMUE5IS0RldzNta0M1dGhTQXcvMVdjK21HYkRp?=
 =?utf-8?B?eUl3T2xwOWxpYjdDRmgxdnFWNUdaeUtLVGlBLzBtSERnYTNpdUNtTTgvV0Zo?=
 =?utf-8?B?aGZsV0JoN3J4bEMvTGlHdWVDOGVJZ0Jva0RBTmRwL3VjMVd2YW96cy91Zk9l?=
 =?utf-8?B?UzJ0OG42T1dUZkJ6NTVqaWQxRm9PdGl1TDZ1V21QNmhNbTUxY2p6cnBoeERu?=
 =?utf-8?B?Um5PMVRKVSszVUlha1Rodk1LRlVNN1BqWVB5T3V1Um43Y3BTRE9DRTB2cWxt?=
 =?utf-8?B?dzJGczc0Vy9sTTdKVnlvaTJLVm8wbW50a0IxZkxWWjZ5MlNNdDhkaFRneEw0?=
 =?utf-8?B?UC9Qa1NFblV3Y0MxaEE4eTFPbTB6QW5QL0Q5aDNWNSs4UE5FekVnVktKampD?=
 =?utf-8?B?L3psYkdHLzdYcktDdytoU3BPU0hyTnZGQXJrUnVzZkFaay9KeXdQeW5UTGZ6?=
 =?utf-8?B?cGdnUzdKMzdJdjZrTWNQeGUzemV5bkU3dURYdmVxNUtuTWI3U21OM1dIc2d4?=
 =?utf-8?B?SEcyNDB1UWFXbE1QdGY3RGFsejJIQzRKK2g3R1Q2bnltMW55TGFsUnVHWElR?=
 =?utf-8?B?OGdPMFJ0bFFrUmJFU2ZnRW1VdkJpUHRPOUZacCtMSGVubmQ4Wk9CTHpNQXM4?=
 =?utf-8?B?YTRvMnl5L3F3ZjdlRE5RM1FEK21aMnhVdzRlZnhtOFVZVy8xbWVEYnFhNmJn?=
 =?utf-8?B?eGxuMXJJMDRSL0ZjSzhjK2E0UzhOQUxzek5Mdm10TU1sNDdsQWNBVlo5V3J0?=
 =?utf-8?B?YnhCOXFpRmtrOUptVXI1TmdaY2pJdThZVW1YQ21vdHE4QXMvZWZXdm9ZRlc1?=
 =?utf-8?B?VlZzZ0IzNVhzVUJha0J1bE1TOU1LTFltaElnY2c4TUc1RWdQTzRjVWZ5OTJO?=
 =?utf-8?B?NUpCNGwrYnNvWWZBbFIyZnd2RzJZSzc3cjBZajNycU5JVXlrT3JVdzduVS81?=
 =?utf-8?B?OFBsZ1Z5VHFwanlmTFQ2VC8rR2k3c1F1MmVpV1lQdmVVQUJYQkUwT05xU1VB?=
 =?utf-8?B?amxWWTdlZkFXOC9oWmNZN0l3MlM4T2h3akV2YkwxbDRhK25zZUhVc24veFlO?=
 =?utf-8?B?VGF1TG1CZ3l0SGs4dXlpRnIyWnBmZTkzREdMc3FyaWlDODdNM1doOWpCQStV?=
 =?utf-8?B?ZVNkNUY0T2o3QVBaNjNyYi9PaU9wbkVTZkRtOG9udTc0UEFZN3NuWmdPMEtJ?=
 =?utf-8?B?N3dYVENPTTl2OE01azd2aUdNVjRQZ2xlbVFXNmlMMitKK1NTYXR0VGlJQjlF?=
 =?utf-8?B?cnNZM0VYZW5nQ283QWFOQWphcGsweDZ2RmllZ3laYTNoSFlud0VPaXRWOS96?=
 =?utf-8?B?Uko4emRqMWpLOGRDSFZyMHdkaFJJdEVCbE5EcWxDdW5RNk9lVzJTWGV4N2N3?=
 =?utf-8?B?OS9IUkIvc09GNDFGYW0xRlBWZCs1SkhuTmQ0UlI3QVB3djFFNGFhL0p3Qkpz?=
 =?utf-8?B?ZjVzZHV0dDh4TE9TSm5EUkVQdXlxWG5CM0xKMW1qcTVlS3BmWWhOUXAzZGFX?=
 =?utf-8?B?cHc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd07f51c-3cac-4b92-7741-08dc68f9d7a5
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2024 09:42:25.5364
 (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: xHl6wM5urCRhewvstR2g1OFk2VKjCOOXVfbcE6QiscgJzpB4CPxLI2MqSAa9JcK+wypYEvVimd6WoInLc8YSbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7759
X-Proofpoint-ORIG-GUID: fx2M3_ulJS-hRfHM58vPknBSW5EiogJJ
X-Proofpoint-GUID: fx2M3_ulJS-hRfHM58vPknBSW5EiogJJ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26
 definitions=2024-04-30_04,2024-04-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 bulkscore=0
 suspectscore=0 clxscore=1015 mlxscore=0 adultscore=0 spamscore=0
 lowpriorityscore=0 malwarescore=0 priorityscore=1501 phishscore=0
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2404010003 definitions=main-2404300070

29.04.24 18:34, Jan Beulich:
> On 23.04.2024 10:50, Sergiy Kibrik wrote:
>> Since MCG_LMCE_P bit is specific to Intel CPUs
> 
> That's the case now. It could change going forward, and an underlying hypervisor
> might also have (obscure?) reasons to surface it elsewhere.
> 
>> the code to check it can
>> possibly be excluded from build if !CONFIG_INTEL. With these guards
>> calls to vmce_has_lmce() are eliminated and mce_intel.c can end up
>> not being built.
>>
>> Also replace boilerplate code that checks for MCG_LMCE_P flag with
>> vmce_has_lmce(), which might contribute to readability a bit.
> 
> Alternatively, have you considered making that function an inline one in a
> suitable header? Besides addressing your build issue (I think), ...
> 
>> --- a/xen/arch/x86/cpu/mcheck/vmce.c
>> +++ b/xen/arch/x86/cpu/mcheck/vmce.c
>> @@ -199,7 +199,7 @@ int vmce_rdmsr(uint32_t msr, uint64_t *val)
>>            * bits are always set in guest MSR_IA32_FEATURE_CONTROL by Xen, so it
>>            * does not need to check them here.
>>            */
>> -        if ( cur->arch.vmce.mcg_cap & MCG_LMCE_P )
>> +        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(cur) )
> 
> ... doing so would alternatively also permit integrating the IS_ENABLED()
> into the function, rather than repeating the same ...
> 
>> @@ -324,7 +324,7 @@ int vmce_wrmsr(uint32_t msr, uint64_t val)
>>           break;
>>   
>>       case MSR_IA32_MCG_EXT_CTL:
>> -        if ( (cur->arch.vmce.mcg_cap & MCG_LMCE_P) &&
>> +        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(cur) &&
>>                !(val & ~MCG_EXT_CTL_LMCE_EN) )
>>               cur->arch.vmce.mcg_ext_ctl = val;
>>           else
>> --- a/xen/arch/x86/msr.c
>> +++ b/xen/arch/x86/msr.c
>> @@ -86,7 +86,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
>>               goto gp_fault;
>>   
>>           *val = IA32_FEATURE_CONTROL_LOCK;
>> -        if ( vmce_has_lmce(v) )
>> +        if ( IS_ENABLED(CONFIG_INTEL) && vmce_has_lmce(v) )
>>               *val |= IA32_FEATURE_CONTROL_LMCE_ON;
>>           if ( cp->basic.vmx )
>>               *val |= IA32_FEATURE_CONTROL_ENABLE_VMXON_OUTSIDE_SMX;
> 
> ... three times.
> 

I think I'll move vmce_has_lmce() to arch/x86/cpu/mcheck/mce.h then, if 
no objections.

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:48:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:48:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714688.1115963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1k5o-0005H3-Lr; Tue, 30 Apr 2024 09:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714688.1115963; Tue, 30 Apr 2024 09:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1k5o-0005Gw-JL; Tue, 30 Apr 2024 09:48:08 +0000
Received: by outflank-mailman (input) for mailman id 714688;
 Tue, 30 Apr 2024 09:48:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1s1k5n-0005Gq-5M
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 09:48:07 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1s1k5i-0004i4-Aw; Tue, 30 Apr 2024 09:48:02 +0000
Received: from [15.248.3.91] (helo=[10.24.67.27])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1s1k5i-0004pU-35; Tue, 30 Apr 2024 09: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mkwFFQlrdfjuiOItEG4DOmgv9gVonIUEyjqAXEriw/w=; b=kIj6UQsapG4Fd77ENwIyDXQLq3
	O8Iry7LVVp0fAvpEmAPFR3ALUpk/nlOouGpHTiNYufmhTHNqH6DuzoK25Uytc6/1zUcQx9hrrvpc4
	wlJqgQuvUMZQD4Tfr8dsA+Y64YzJJk5vGx8tUwKaCuQBvIuPytiqGJragM+OyN/JnsK8=;
Message-ID: <63ad5cf3-5275-4fcd-a1d1-fbf5f3f167f4@xen.org>
Date: Tue, 30 Apr 2024 10:47:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/15] xen/overlay: Enable device tree overlay assignment
 to running domains
Content-Language: en-GB
To: Henry Wang <xin.wang2@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-8-xin.wang2@amd.com>
 <da67f90f-6807-4fdc-b65b-f7a4ba9f78ad@suse.com>
 <97a401ff-4b5c-4e6a-8d9c-e36305ec64f5@amd.com>
 <128c7e68-0431-44e9-b4fc-96cc46e158ad@xen.org>
 <e3c7098b-a876-48f3-8ccb-18a2ced8521c@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e3c7098b-a876-48f3-8ccb-18a2ced8521c@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 30/04/2024 05:00, Henry Wang wrote:
> Hi Julien,

Hi Henry,

> On 4/30/2024 1:34 AM, Julien Grall wrote:
>> On 29/04/2024 04:36, Henry Wang wrote:
>>> Hi Jan, Julien, Stefano,
>>
>> Hi Henry,
>>
>>> On 4/24/2024 2:05 PM, Jan Beulich wrote:
>>>> On 24.04.2024 05:34, Henry Wang wrote:
>>>>> --- a/xen/include/public/sysctl.h
>>>>> +++ b/xen/include/public/sysctl.h
>>>>> @@ -1197,7 +1197,9 @@ struct xen_sysctl_dt_overlay {
>>>>>   #define XEN_SYSCTL_DT_OVERLAY_ADD                   1
>>>>>   #define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
>>>>>       uint8_t overlay_op;                     /* IN: Add or remove. */
>>>>> -    uint8_t pad[3];                         /* IN: Must be zero. */
>>>>> +    bool domain_mapping;                    /* IN: True of False. */
>>>>> +    uint8_t pad[2];                         /* IN: Must be zero. */
>>>>> +    uint32_t domain_id;
>>>>>   };
>>>> If you merely re-purposed padding fields, all would be fine without
>>>> bumping the interface version. Yet you don't, albeit for an unclear
>>>> reason: Why uint32_t rather than domid_t? And on top of that - why a
>>>> separate boolean when you could use e.g. DOMID_INVALID to indicate
>>>> "no domain mapping"?
>>>
>>> I think both of your suggestion make great sense. I will follow the 
>>> suggestion in v2.
>>>
>>>> That said - anything taking a domain ID is certainly suspicious in a
>>>> sysctl. Judging from the description you really mean this to be a
>>>> domctl. Anything else will require extra justification.
>>>
>>> I also think a domctl is better. I had a look at the history of the 
>>> already merged series, it looks like in the first version of merged 
>>> part 1 [1], the hypercall was implemented as the domctl in the 
>>> beginning but later in v2 changed to sysctl. I think this makes sense 
>>> as the scope of that time is just to make Xen aware of the device 
>>> tree node via Xen device tree.
>>>
>>> However this is now a problem for the current part where the 
>>> scope (and the end goal) is extended to assign the added device to 
>>> Linux Dom0/DomU via device tree overlays. I am not sure which way is 
>>> better, should we repurposing the sysctl to domctl or maybe add 
>>> another domctl (I am worrying about the duplication because basically 
>>> we need the same sysctl functionality but now with a domid in it)? 
>>> What do you think?
>>
>> I am not entirely sure this is a good idea to try to add the device in 
>> Xen and attach it to the guests at the same time. Imagine the 
>> following situation:
>>
>> 1) Add and attach devices
>> 2) The domain is rebooted
>> 3) Detach and remove devices
>>
>> After step 2, you technically have a new domain. You could have also a 
>> case where this is a completely different guest. So the flow would 
>> look a little bit weird (you create the DT overlay with domain A but 
>> remove with domain B).
>>
>> So, at the moment, it feels like the add/attach (resp detech/remove) 
>> operations should happen separately.

Thinking a bit more about it, there is another problem with the single 
hypercall appproach. The MMIOs will be mapped 1:1 to the guest. These 
region may clash with other part of the layout for domain created by the 
toolstack
and dom0less (if the 1:1 option has not been enabled).

I guess for that add, it would be possible to specify the mapping in the 
Device-Tree. But that would not work for the removal (this may be a 
different domain).

On a somewhat similar topic, the number of IRQs supported by the vGIC is 
fixed at boot. How would that work with this patch?

>>
>> Can you clarify why you want to add devices to Xen and attach to a 
>> guest within a single hypercall?
> 
> Sorry I don't know if there is any specific thoughts on the design of 
> using a single hypercall to do both add devices to Xen device tree and 
> assign the device to the guest. In fact seeing your above comments, I 
> think separating these two functionality to two xl commands using 
> separated hypercalls would indeed be a better idea. Thank you for the 
> suggestion!
> 
> To make sure I understand correctly, would you mind confirming if below 
> actions for v2 make sense to you? Thanks!
> - Only use the XEN_SYSCTL_DT_OVERLAY_{ADD, REMOVE} sysctls to add/remove 
> overlay to Xen device tree

Note that this would attach the devices to dom0 first. Maybe this is why 
it was decided to merge the two operations? An option would be to allow 
the devices to be attached to no-one.

> - Introduce the xl dt-overlay attach <domid> command and respective 
> domctls to do the device assignment for the overlay to domain.

We already have domctls to route IRQs and map MMIOs. So do we actually 
need new domctls?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:57:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714693.1115974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1kF8-0007Iy-HU; Tue, 30 Apr 2024 09:57:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714693.1115974; Tue, 30 Apr 2024 09: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 1s1kF8-0007Ir-EI; Tue, 30 Apr 2024 09:57:46 +0000
Received: by outflank-mailman (input) for mailman id 714693;
 Tue, 30 Apr 2024 09:57: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 1s1kF6-0007If-RW; Tue, 30 Apr 2024 09:57: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 1s1kF6-0004uU-MR; Tue, 30 Apr 2024 09:57: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 1s1kF6-0001yb-Bg; Tue, 30 Apr 2024 09:57:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1kF6-0007MG-BL; Tue, 30 Apr 2024 09:57: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=ZgDX6g/TT3/7ZqLdeSwfxS8S/LOFOonajCP2JxEY7nQ=; b=5sXdUUPeNRK2/ufFCCgvStuwxw
	PVSwCXH5THgZznRDAHm816PTrzJgyb8VAZMOe/RATmvvgl4quqFSKMImLlKtfvSrklxyCkuvIoWYm
	AxWp0q/Eiwd4+irYzwJEuzMnlpSqbU72DA9RZH2i5hrpBZq8hlgRU+LJff4J6Ciwz/LU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185866-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 185866: regressions - FAIL
X-Osstest-Failures:
    xen-4.15-testing:test-armhf-armhf-xl:xen-boot:fail:regression
    xen-4.15-testing:build-amd64-xsm:xen-build:fail:regression
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=056500003eb44314cb90f2e3e7b2d405e86b5657
X-Osstest-Versions-That:
    xen=0a1c1a01a8028a929d460a966c8f8e7384f5b3a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 09:57:44 +0000

flight 185866 xen-4.15-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185866/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 185709
 build-amd64-xsm               6 xen-build                fail REGR. vs. 185709

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  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-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185709
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185709
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185709
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185709
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185709
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185709
 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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-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                  056500003eb44314cb90f2e3e7b2d405e86b5657
baseline version:
 xen                  0a1c1a01a8028a929d460a966c8f8e7384f5b3a6

Last test of basis   185709  2024-04-17 07:07:02 Z   13 days
Testing same since   185866  2024-04-29 08:38:32 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              fail    
 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           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                                 pass    
 test-amd64-amd64-xl-xsm                                      blocked 
 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


Not pushing.

------------------------------------------------------------
commit 056500003eb44314cb90f2e3e7b2d405e86b5657
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Apr 29 10:23:03 2024 +0200

    x86/spec: adjust logic that elides lfence
    
    It's currently too restrictive by just checking whether there's a BHB clearing
    sequence selected.  It should instead check whether BHB clearing is used on
    entry from PV or HVM specifically.
    
    Switch to use opt_bhb_entry_{pv,hvm} instead, and then remove cpu_has_bhb_seq
    since it no longer has any users.
    
    Reported-by: Jan Beulich <jbeulich@suse.com>
    Fixes: 954c983abcee ('x86/spec-ctrl: Software BHB-clearing sequences')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 656ae8f1091bcefec9c46ec3ea3ac2118742d4f6
    master date: 2024-04-25 16:37:01 +0200

commit 7f73536e2644722ec87dc491511cc0f9f762d1eb
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Apr 29 10:20:58 2024 +0200

    x86/spec: fix reporting of BHB clearing usage from guest entry points
    
    Reporting whether the BHB clearing on entry is done for the different domains
    types based on cpu_has_bhb_seq is unhelpful, as that variable signals whether
    there's a BHB clearing sequence selected, but that alone doesn't imply that
    such sequence is used from the PV and/or HVM entry points.
    
    Instead use opt_bhb_entry_{pv,hvm} which do signal whether BHB clearing is
    performed on entry from PV/HVM.
    
    Fixes: 689ad48ce9cf ('x86/spec-ctrl: Wire up the Native-BHI software sequences')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 049ab0b2c9f1f5edb54b505fef0bc575787dafe9
    master date: 2024-04-25 16:35:56 +0200
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 09:58:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 09:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714699.1115983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1kFp-0007qY-Sy; Tue, 30 Apr 2024 09:58:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714699.1115983; Tue, 30 Apr 2024 09: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 1s1kFp-0007qR-QR; Tue, 30 Apr 2024 09:58:29 +0000
Received: by outflank-mailman (input) for mailman id 714699;
 Tue, 30 Apr 2024 09: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=OUm+=MD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1kFo-0007m4-4i
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 09:58:28 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3089dc43-06d8-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 11:58:27 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id
 af79cd13be357-790e7c02430so220080885a.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 02:58:27 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 ay42-20020a05620a17aa00b00790f48e615fsm1737168qkb.63.2024.04.30.02.58.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 02: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: 3089dc43-06d8-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714471106; x=1715075906; 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=jp5ONAqvKJG69Z758I++7qC8zo3IhFHGHUriRupNjPY=;
        b=nDfR+2XVt6IcxUkDTxrAli3CCNcdtmeBJjD/vk0RkUzT6aPbqXwNN8kxfNinvHht1r
         4OHw8O8EFokTp0U8RVRWKdB4BUViHAoK0I2UOjpoBG/2shDv+n1zmLJAAKZ+A0cVXb/m
         LsEIN31vYYeL0YixwCqLyo5ieRybnav1XZYbo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714471106; x=1715075906;
        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=jp5ONAqvKJG69Z758I++7qC8zo3IhFHGHUriRupNjPY=;
        b=Hfk9tIb7L5x0yslLIIzLMXsbhpVN6EdpwifE89BWAYU2j/KrpvFNdYIJRsRREpNl1s
         r8G425O1t8rEld4uwv5aDXnWs8zw3SZ+DPk5dd7Y3ot0+y/1vmHMcKmHHuLVzAf0gEKc
         YiqY3GadiJFRAqpBd+kutnvVj7FaOpnGSQrvH2gOmdjESQuqGbej3lNr8QhtRMv6c0rl
         hCx3jucIqJ4dNjzJRWe72CnXBzAi6/NXkGAtNQiFrssScUYduNeQYgP9OSzVQ6bM9Fjx
         CJ4tXsxmoNQU8Dq2CPspzXJD1Y00EgKgwagf0BVRdJ7Rf1O+davzBLpuE5v6Lm14hP7+
         gqgg==
X-Forwarded-Encrypted: i=1; AJvYcCXOMApoJ/xCY9XJv8qh+ZfZ861i3Zt2g+aggOMpsoqhserj0vJI+GpM3HTYgEm0weKmhL6WsJCHfeJs1C3vu6fVnw2CaKmg4dyJXiImn8o=
X-Gm-Message-State: AOJu0YxkqFMk+dhBMhGMVRsXUMQ8RILBUmRuAcQz47pUhlA4wSjoPMnU
	/wdpB035PQGVKfICQOKCgYMQa1vdCgADIGZCj9aLenJ7Bz981nILET4gTi2mD/E=
X-Google-Smtp-Source: AGHT+IGT23cPqj6PYAExJ+5RsQ3Lhlngu/Zp82LX10LO1GPmFGvwmJIULkDuilnsYfdxJAfmOP0/pg==
X-Received: by 2002:a05:620a:b82:b0:790:b6e0:e1ac with SMTP id k2-20020a05620a0b8200b00790b6e0e1acmr10955982qkh.6.1714471106254;
        Tue, 30 Apr 2024 02:58:26 -0700 (PDT)
Message-ID: <17589fc4-9755-4822-9092-f53078488363@citrix.com>
Date: Tue, 30 Apr 2024 10:58:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | b819bd65
To: Jan Beulich <jbeulich@suse.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6630a5ea2588_2c1971e1c10965b@gitlab-sidekiq-catchall-v2-ddbc855b7-4zkpr.mail>
 <892ad877-2576-4ce5-9110-47fa5f1fdb06@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: <892ad877-2576-4ce5-9110-47fa5f1fdb06@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/04/2024 10:00 am, Jan Beulich wrote:
> On 30.04.2024 10:03, GitLab wrote:
>>
>> Pipeline #1272869158 has failed!
>>
>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
>> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
>>
>> Commit: b819bd65 ( https://gitlab.com/xen-project/hardware/xen/-/commit/b819bd65f4fb25be582f66ba2e4134f61d86f459 )
>> Commit Message: revert "x86/mm: re-implement get_page_light() u...
>> Commit Author: Jan Beulich ( https://gitlab.com/jbeulich )
>>
>>
>> Pipeline #1272869158 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1272869158 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
>> had 3 failed jobs.
>>
>> Job #6745823842 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823842/raw )
>>
>> Stage: test
>> Name: adl-pci-hvm-x86-64-gcc-debug
>> Job #6745823720 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823720/raw )
>>
>> Stage: analyze
>> Name: eclair-x86_64
> This flags start_nested_{svm,vmx}() as regressions, when the regression was
> previously spotted already. Is that intended?

Yes.

>  I.e. shouldn't the comparison
> be to the previous pipeline run, such that issues are pointed out only for
> what is actually being added anew with the patch / batch under test?

Why should it be?  That's unlike every other CI we use, even OSSTest.

Gitlab, like many others, is stateless between runs.

These violations are ones where we had got down to 0 in Xen, and Xen was
marked as "clean" for these rules.  Any nonzero count (in the subset of
things we think we've fixed fully) is a failure.

This is no different to e.g. a panic on boot.  OSSTest will keep on
complaining of a regression until it gets fixed.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 10:09:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 10:09:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714706.1115993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1kQc-0001d9-SM; Tue, 30 Apr 2024 10:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714706.1115993; Tue, 30 Apr 2024 10:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1kQc-0001d2-PT; Tue, 30 Apr 2024 10:09:38 +0000
Received: by outflank-mailman (input) for mailman id 714706;
 Tue, 30 Apr 2024 10:09:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1kQb-0001cu-5y
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 10:09:37 +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 beb1c659-06d9-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 12:09:35 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-41a72f3a20dso39063255e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 03:09: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
 ay24-20020a05600c1e1800b0041bf29ab003sm10947748wmb.30.2024.04.30.03.09.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 03:09: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: beb1c659-06d9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714471774; x=1715076574; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=4TdYpJg9fhWqoYyn9W+QzPuis2GdVxiLEc7CMqx49L8=;
        b=OKVX9cgaX+pGmFlWEuHXXktFHsTtNPwEDOoCmwCLJslXZ0yyConP8lMP3jLvMtRn1D
         DzIypGSXBA5+xv+QrNyrdthKtKJMAgGzR6qM5ZEiJViKdnqu2ruDfg99BTHw5hfgromw
         kJ5l4LMo4t8NLHzNdqDRB2oO6z6wugpkealymF5Alib4zHtvKU7dYM5esmhLqHyWHYXT
         ihBbNfznCsGdixon16WjHPct5zMZ2JqbCRdmaa4x/baRKpIgaEj1gn+JXg3XD3tP+UnQ
         OI1/lOAke7Jwvhj5JHNrnWW4k9SbuizxY0P80CUxjC/xDPRPhJewf/CrQlA9GAiA8IiN
         BWDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714471774; x=1715076574;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=4TdYpJg9fhWqoYyn9W+QzPuis2GdVxiLEc7CMqx49L8=;
        b=dD7KZbXjC+Qk814RrSVeKbZQZ8BKpECm78VyXI1mTgtFj0VX8R8NuJOzALtHVHGCoh
         VMKX6KB8wOBbUmtUKoQdB0WQwdiD3DySYNzMKsSENxwK5eM5Z/LspJ0/j27b/027KhzL
         5mfiXcK8aMRyNZ5yjLlkTRQwXhepjJEIGO5bjG3up/p3pjlHVr7WP66zz2KHkovP1OjU
         UWJGsCojS/nYCAb5LZ8Nb/J/liPx2pTPbzO+j4Po2HTqAMf8Is6Yxt1hcJTdYg2WC6j0
         2s+2gsRWcnufQFT33AeAN5PNM0LAglY9ToifEGZLsqXcYui9jqskz1zfyG79yB1ODBQX
         17og==
X-Forwarded-Encrypted: i=1; AJvYcCU9C0UaaS9uQNMRu7Zkj/CFCoKnNfalkmedJvxmEDOFihfoWbr9XhCjngNy0Rv+BJ4SN66sTk25pP4zpt06lelseJUTtIurxG2pvtJG8LQ=
X-Gm-Message-State: AOJu0YxhbpGhGfJXMK4xzr76P7KJiAbLMXAKAq0KMoSFwl4geHBvRUzC
	F2cABGQpywCqoS0UJLsvpi/uJKd2EdLbAJkJonm+IvOYprnjot7kqqjsQ1Lp9UL4aeRze6qgmeA
	=
X-Google-Smtp-Source: AGHT+IHCxAaPbbnK0Q1elcLq0j1crSzAObgaMVLg3Fn/GiRzxpqTKGIG4FCHPIXbpaSgWIsYbq737Q==
X-Received: by 2002:a05:600c:468c:b0:41b:7d6f:1f24 with SMTP id p12-20020a05600c468c00b0041b7d6f1f24mr10662976wmo.21.1714471774392;
        Tue, 30 Apr 2024 03:09:34 -0700 (PDT)
Message-ID: <59db1750-6714-40e6-a40c-31a0821bae5f@suse.com>
Date: Tue, 30 Apr 2024 12:09:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | b819bd65
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6630a5ea2588_2c1971e1c10965b@gitlab-sidekiq-catchall-v2-ddbc855b7-4zkpr.mail>
 <892ad877-2576-4ce5-9110-47fa5f1fdb06@suse.com>
 <17589fc4-9755-4822-9092-f53078488363@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <17589fc4-9755-4822-9092-f53078488363@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.04.2024 11:58, Andrew Cooper wrote:
> On 30/04/2024 10:00 am, Jan Beulich wrote:
>> On 30.04.2024 10:03, GitLab wrote:
>>>
>>> Pipeline #1272869158 has failed!
>>>
>>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
>>> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
>>>
>>> Commit: b819bd65 ( https://gitlab.com/xen-project/hardware/xen/-/commit/b819bd65f4fb25be582f66ba2e4134f61d86f459 )
>>> Commit Message: revert "x86/mm: re-implement get_page_light() u...
>>> Commit Author: Jan Beulich ( https://gitlab.com/jbeulich )
>>>
>>>
>>> Pipeline #1272869158 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1272869158 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
>>> had 3 failed jobs.
>>>
>>> Job #6745823842 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823842/raw )
>>>
>>> Stage: test
>>> Name: adl-pci-hvm-x86-64-gcc-debug
>>> Job #6745823720 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/6745823720/raw )
>>>
>>> Stage: analyze
>>> Name: eclair-x86_64
>> This flags start_nested_{svm,vmx}() as regressions, when the regression was
>> previously spotted already. Is that intended?
> 
> Yes.
> 
>>  I.e. shouldn't the comparison
>> be to the previous pipeline run, such that issues are pointed out only for
>> what is actually being added anew with the patch / batch under test?
> 
> Why should it be?

I understand what you say below, but to answer this question: It results in
wasted time looking at failures. I don't think it would be a good takeaway
of mine if, from now on, I simply ignored such failures. Thus I'd like it to
be the case that known failures can be easily told from new ones.

Jan

>  That's unlike every other CI we use, even OSSTest.
> 
> Gitlab, like many others, is stateless between runs.
> 
> These violations are ones where we had got down to 0 in Xen, and Xen was
> marked as "clean" for these rules.  Any nonzero count (in the subset of
> things we think we've fixed fully) is a failure.
> 
> This is no different to e.g. a panic on boot.  OSSTest will keep on
> complaining of a regression until it gets fixed.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 10:22:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 10:22:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714712.1116006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1kdR-0004ZK-0o; Tue, 30 Apr 2024 10:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714712.1116006; Tue, 30 Apr 2024 10:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1kdQ-0004ZD-UU; Tue, 30 Apr 2024 10:22:52 +0000
Received: by outflank-mailman (input) for mailman id 714712;
 Tue, 30 Apr 2024 10:22: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=BVXM=MD=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1s1kdP-0004Z7-4a
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 10:22:51 +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 96ee0b51-06db-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 12:22:48 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1714472561259780.4559753637509;
 Tue, 30 Apr 2024 03:22:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96ee0b51-06db-11ef-909b-e314d9c70b13
ARC-Seal: i=1; a=rsa-sha256; t=1714472562; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=UzsPn0SuaSo80QcW/G0daI7QsAYNvFASS3ws0ebFAwDCbM80nWsjUqgejPlM+U1X0EjUe1a+A4nyIRtlxawCCXl0cDk8EqX46x2+4UC5wHSK8mqGV2vaD9tqrwBHasw/6/HURuXWtiULs+2xNTxaTKFxcZcIIVfJ2bLeS4/npu4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1714472562; 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=0SmidHBiFenbflTJ2/wOXDPN9LPimJo7cxQVCutDFfA=; 
	b=mYB1Qo4wORKh7sOWSfezvDmVAovbzYlENmCPOVPIaSQsnjlNP3CKA0jb3cjK1fBC8eTDG5CVDyPfkTdUwqdyQHTi95QX9oaG0dM9v6FCvM3BT/IC2E2JjfSxA4zKN7XLyS3R0JclnuOSH8AsHUYSBmeJdwXYbrGmDTmbatJP6Co=
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=1714472562;
	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=0SmidHBiFenbflTJ2/wOXDPN9LPimJo7cxQVCutDFfA=;
	b=rXfiPZlwVPy96DiLsT3+HKXI4Lx46a44mVLkawKo3HnP/tPS9VlAEHLCBq7uxvHx
	x0OPXktI45Njz5wcm30lLhRRs1jTVFXJlomMRdU94MOW+h7mSOyYJukw75zgs2LrxaS
	6k2XLhqv42Th5CGTVgF/MGTMkfzdyCDeSgrbZyQI=
Message-ID: <3054018d-1ae4-43c5-b44a-2ecf1b4cdfc7@apertussolutions.com>
Date: Tue, 30 Apr 2024 06:22:39 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm/dom0less-build: Alloc magic pages for
 Dom0less DomUs from hypervisor
Content-Language: en-US
To: Henry Wang <xin.wang2@amd.com>, xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Alec Kwapis <alec.kwapis@medtronic.com>
References: <20240426031455.579637-1-xin.wang2@amd.com>
 <20240426031455.579637-2-xin.wang2@amd.com>
 <ee507cf7-b5e8-4141-85b6-c81955bcc348@apertussolutions.com>
 <03357204-0308-46a2-a215-142d681d2b6a@amd.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: <03357204-0308-46a2-a215-142d681d2b6a@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 4/29/24 22:55, Henry Wang wrote:
> Hi Daniel,
> 
> On 4/30/2024 8:27 AM, Daniel P. Smith wrote:
>> On 4/25/24 23:14, Henry Wang wrote:
>>> There are use cases (for example using the PV driver) in Dom0less
>>> setup that require Dom0less DomUs start immediately with Dom0, but
>>> initialize XenStore later after Dom0's successful boot and call to
>>> the init-dom0less application.
>>>
>>> An error message can seen from the init-dom0less application on
>>> 1:1 direct-mapped domains:
>>> ```
>>> Allocating magic pages
>>> memory.c:238:d0v0 mfn 0x39000 doesn't belong to d1
>>> Error on alloc magic pages
>>> ```
>>> This is because currently the magic pages for Dom0less DomUs are
>>> populated by the init-dom0less app through populate_physmap(), and
>>> populate_physmap() automatically assumes gfn == mfn for 1:1 direct
>>> mapped domains. This cannot be true for the magic pages that are
>>> allocated later from the init-dom0less application executed in Dom0.
>>> For domain using statically allocated memory but not 1:1 direct-mapped,
>>> similar error "failed to retrieve a reserved page" can be seen as the
>>> reserved memory list is empty at that time.
>>>
>>> To solve above issue, this commit allocates the magic pages for
>>> Dom0less DomUs at the domain construction time. The base address/PFN
>>> of the magic page region will be noted and communicated to the
>>> init-dom0less application in Dom0.
>>
>> Might I suggest we not refer to these as magic pages? I would consider 
>> them as hypervisor reserved pages for the VM to have access to virtual 
>> platform capabilities. We may see this expand in the future for some 
>> unforeseen, new capability.
> 
> I think magic page is a specific terminology to refer to these pages, 
> see alloc_magic_pages() for both x86 and Arm. I will reword the last 
> paragraph of the commit message to refer them as "hypervisor reserved 
> pages (currently used as magic pages on Arm)" if this sounds good to you.

I would highlight that is a term used in the toolstack, while is 
probably not the best, there is no reason to change in there, but the 
hypervisor does not carry that terminology. IMHO we should not introduce 
it there and be explicit about why the pages are getting reserved.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 10:37:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 10:37:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714719.1116016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1krv-00076B-5s; Tue, 30 Apr 2024 10:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714719.1116016; Tue, 30 Apr 2024 10:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1krv-000764-3C; Tue, 30 Apr 2024 10:37:51 +0000
Received: by outflank-mailman (input) for mailman id 714719;
 Tue, 30 Apr 2024 10:37:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1krt-00075y-H4
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 10:37:49 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af3bbfc8-06dd-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 12:37:47 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-34c8f392172so2345034f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 03:37: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
 t15-20020adfa2cf000000b0034c5be9fb6dsm10904412wra.65.2024.04.30.03.37.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 03:37: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: af3bbfc8-06dd-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714473466; x=1715078266; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=OuDb5OHlmllN1lOFnFs2LhxGP2PYjqgn8WRg8ZxOhUo=;
        b=T7nHnz8rz+NPbJSRHZ8tLHUyqSpfDGnLtvpzx8tfq+YzZmm0Sv+G0HE/lNbUIjUEWX
         Na+ygTgwAeJkliAgAMBfb6hhlfuuMDaiNjcH9ZmNCEAeefVBqbOj51wuuvrchsH6osST
         A9hhC5VMOUc0lBYxpHvQoMlHavh8KsxFg8CLZ3Mhs0qvqp7kv5LTA4r7K9WKnWp3gvxc
         v+njoSbN3BJJRinVv8awEsAaYHbMxDqo74dF6hs7qRmoDoJ8K5e/46ZVAuVCFGYmG2EN
         cAx395Bujpwc8sYDPOM3LzbiQOd7c+fGn14iQf6BKL9a+Ry5b6yThl5RsJajz3NxOWBN
         PA9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714473466; x=1715078266;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=OuDb5OHlmllN1lOFnFs2LhxGP2PYjqgn8WRg8ZxOhUo=;
        b=KnsxhXfZ5lP6mNXgzFGdWk6J7c/f53xpepl3dydF8rmpegPP8Rbk0Dk7FrvMiIaYT1
         l9kgGi8c95jzWfPmYnvDvtup1HBS+gPfIbbzZXgZokQgR2SC8pIxA8pQzRY2VMkdDgGX
         UIltFIwYTkiv3yxZ02tw4mvNh4hEIz66cUixvOIiWiKCrba48PzqpvoFA3tKWSFeB3yh
         ANkLCAWqiRG/Azo9CplJlLxMxEIxVFzEwanUbSfPtUrNkcQDAv767F93/mTUGJxzgLCm
         xs0cpShNBa5hE/hssaFrmXFesduqrPkArxffbHfqAJeZ4fn3pEE2KeWuustUzAQfpwB1
         FWPQ==
X-Forwarded-Encrypted: i=1; AJvYcCX3muLUTVBVMtq8kfBRWNdjs78wp19NEOxvyX40ZHM3NC4apEMvL3PssSobh4UFk2ZwhdMDy48Rvw6vGe1ujywWr9EZhrzaB/GiEahLJps=
X-Gm-Message-State: AOJu0YxelqkbrA7MWKF7r5A2Efwi1v8oKogFZt5yz1bwGqSYYzyvrZF1
	l8hefZinJO1KAT0d/QbqCmR3PQgAQHQOuuUkMq63Rh9u4duRsV9SKc6Sa5+vZg==
X-Google-Smtp-Source: AGHT+IHUcGx6ymAhYgSISnJ1QV9rwaqLQjx0FUQud0vjA2jqU01rvUaVco+WxtItQaph6D2mkC4l8A==
X-Received: by 2002:a5d:6c6e:0:b0:34d:414:5528 with SMTP id r14-20020a5d6c6e000000b0034d04145528mr6248215wrz.44.1714473466228;
        Tue, 30 Apr 2024 03:37:46 -0700 (PDT)
Message-ID: <78d009f4-6610-4fcf-9cdc-ee1081e6c763@suse.com>
Date: Tue, 30 Apr 2024 12:37:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.19] tools/xen-cpuid: switch to use cpu-policy
 defined names
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20240430082901.77662-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240430082901.77662-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.04.2024 10:29, Roger Pau Monne wrote:
> Like it was done recently for libxl, switch to using the auto-generated feature
> names by the processing of cpufeatureset.h, this allows removing the open-coded
> feature names, and unifies the feature naming with libxl and the hypervisor.
> 
> Note that leaf names need to be kept, as the current auto-generated data
> doesn't contain the leaf names.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Late for 4.19, but I would still like it to be considered for inclusion since
> it's IMO a nice cleanup and reduces the burden of adding new feature bits into
> the policy.

I agree, but it's Oleksii's call (now Cc-ed).

> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -12,282 +12,33 @@
>  
>  #include <xen-tools/common-macros.h>
>  
> -static uint32_t nr_features;
> -
> -static const char *const str_1d[32] =
> -{
> -    [ 0] = "fpu",  [ 1] = "vme",
> -    [ 2] = "de",   [ 3] = "pse",
> -    [ 4] = "tsc",  [ 5] = "msr",
> -    [ 6] = "pae",  [ 7] = "mce",
> -    [ 8] = "cx8",  [ 9] = "apic",
> -    /* [10] */     [11] = "sysenter",
> -    [12] = "mtrr", [13] = "pge",
> -    [14] = "mca",  [15] = "cmov",
> -    [16] = "pat",  [17] = "pse36",
> -    [18] = "psn",  [19] = "clflush",
> -    /* [20] */     [21] = "ds",
> -    [22] = "acpi", [23] = "mmx",
> -    [24] = "fxsr", [25] = "sse",
> -    [26] = "sse2", [27] = "ss",
> -    [28] = "htt",  [29] = "tm",
> -    [30] = "ia64", [31] = "pbe",
> -};
> -
> -static const char *const str_1c[32] =
> -{
> -    [ 0] = "sse3",    [ 1] = "pclmulqdq",
> -    [ 2] = "dtes64",  [ 3] = "monitor",
> -    [ 4] = "ds-cpl",  [ 5] = "vmx",
> -    [ 6] = "smx",     [ 7] = "est",
> -    [ 8] = "tm2",     [ 9] = "ssse3",
> -    [10] = "cntx-id", [11] = "sdgb",
> -    [12] = "fma",     [13] = "cx16",
> -    [14] = "xtpr",    [15] = "pdcm",
> -    /* [16] */        [17] = "pcid",
> -    [18] = "dca",     [19] = "sse41",
> -    [20] = "sse42",   [21] = "x2apic",
> -    [22] = "movebe",  [23] = "popcnt",
> -    [24] = "tsc-dl",  [25] = "aesni",
> -    [26] = "xsave",   [27] = "osxsave",
> -    [28] = "avx",     [29] = "f16c",
> -    [30] = "rdrnd",   [31] = "hyper",
> -};
> -
> -static const char *const str_e1d[32] =
> -{
> -    [ 0] = "fpu",    [ 1] = "vme",
> -    [ 2] = "de",     [ 3] = "pse",
> -    [ 4] = "tsc",    [ 5] = "msr",
> -    [ 6] = "pae",    [ 7] = "mce",
> -    [ 8] = "cx8",    [ 9] = "apic",
> -    /* [10] */       [11] = "syscall",
> -    [12] = "mtrr",   [13] = "pge",
> -    [14] = "mca",    [15] = "cmov",
> -    [16] = "fcmov",  [17] = "pse36",
> -    /* [18] */       [19] = "mp",
> -    [20] = "nx",     /* [21] */
> -    [22] = "mmx+",   [23] = "mmx",
> -    [24] = "fxsr",   [25] = "fxsr+",
> -    [26] = "pg1g",   [27] = "rdtscp",
> -    /* [28] */       [29] = "lm",
> -    [30] = "3dnow+", [31] = "3dnow",
> -};
> -
> -static const char *const str_e1c[32] =
> -{
> -    [ 0] = "lahf-lm",    [ 1] = "cmp",
> -    [ 2] = "svm",        [ 3] = "extapic",
> -    [ 4] = "cr8d",       [ 5] = "lzcnt",
> -    [ 6] = "sse4a",      [ 7] = "msse",
> -    [ 8] = "3dnowpf",    [ 9] = "osvw",
> -    [10] = "ibs",        [11] = "xop",
> -    [12] = "skinit",     [13] = "wdt",
> -    /* [14] */           [15] = "lwp",
> -    [16] = "fma4",       [17] = "tce",
> -    /* [18] */           [19] = "nodeid",
> -    /* [20] */           [21] = "tbm",
> -    [22] = "topoext",    [23] = "perfctr-core",
> -    [24] = "perfctr-nb", /* [25] */
> -    [26] = "dbx",        [27] = "perftsc",
> -    [28] = "pcx-l2i",    [29] = "monitorx",
> -    [30] = "addr-msk-ext",
> -};
> -
> -static const char *const str_7b0[32] =
> -{
> -    [ 0] = "fsgsbase", [ 1] = "tsc-adj",
> -    [ 2] = "sgx",      [ 3] = "bmi1",
> -    [ 4] = "hle",      [ 5] = "avx2",
> -    [ 6] = "fdp-exn",  [ 7] = "smep",
> -    [ 8] = "bmi2",     [ 9] = "erms",
> -    [10] = "invpcid",  [11] = "rtm",
> -    [12] = "pqm",      [13] = "depfpp",
> -    [14] = "mpx",      [15] = "pqe",
> -    [16] = "avx512f",  [17] = "avx512dq",
> -    [18] = "rdseed",   [19] = "adx",
> -    [20] = "smap",     [21] = "avx512-ifma",
> -    [22] = "pcommit",  [23] = "clflushopt",
> -    [24] = "clwb",     [25] = "proc-trace",
> -    [26] = "avx512pf", [27] = "avx512er",
> -    [28] = "avx512cd", [29] = "sha",
> -    [30] = "avx512bw", [31] = "avx512vl",
> -};
> -
> -static const char *const str_Da1[32] =
> -{
> -    [ 0] = "xsaveopt", [ 1] = "xsavec",
> -    [ 2] = "xgetbv1",  [ 3] = "xsaves",
> -};
> -
> -static const char *const str_7c0[32] =
> -{
> -    [ 0] = "prefetchwt1",      [ 1] = "avx512-vbmi",
> -    [ 2] = "umip",             [ 3] = "pku",
> -    [ 4] = "ospke",            [ 5] = "waitpkg",
> -    [ 6] = "avx512-vbmi2",     [ 7] = "cet-ss",
> -    [ 8] = "gfni",             [ 9] = "vaes",
> -    [10] = "vpclmulqdq",       [11] = "avx512-vnni",
> -    [12] = "avx512-bitalg",
> -    [14] = "avx512-vpopcntdq",
> -
> -    [22] = "rdpid",
> -    /* 24 */                   [25] = "cldemote",
> -    /* 26 */                   [27] = "movdiri",
> -    [28] = "movdir64b",        [29] = "enqcmd",
> -    [30] = "sgx-lc",           [31] = "pks",
> -};
> -
> -static const char *const str_e7d[32] =
> -{
> -    /* 6 */                    [ 7] = "hw-pstate",
> -    [ 8] = "itsc",             [ 9] = "cpb",
> -    [10] = "efro",
> -};
> -
> -static const char *const str_e8b[32] =
> -{
> -    [ 0] = "clzero",
> -    [ 2] = "rstr-fp-err-ptrs",
> -
> -    /* [ 8] */                 [ 9] = "wbnoinvd",
> -
> -    [12] = "ibpb",
> -    [14] = "ibrs",             [15] = "amd-stibp",
> -    [16] = "ibrs-always",      [17] = "stibp-always",
> -    [18] = "ibrs-fast",        [19] = "ibrs-same-mode",
> -
> -    [20] = "no-lmsl",
> -    /* [22] */                 [23] = "ppin",
> -    [24] = "amd-ssbd",         [25] = "virt-ssbd",
> -    [26] = "ssb-no",
> -    [28] = "psfd",             [29] = "btc-no",
> -    [30] = "ibpb-ret",
> -};
> -
> -static const char *const str_7d0[32] =
> -{
> -    [ 2] = "avx512-4vnniw", [ 3] = "avx512-4fmaps",
> -    [ 4] = "fsrm",
> -
> -    [ 8] = "avx512-vp2intersect", [ 9] = "srbds-ctrl",
> -    [10] = "md-clear",            [11] = "rtm-always-abort",
> -    /* 12 */                [13] = "tsx-force-abort",
> -    [14] = "serialize",     [15] = "hybrid",
> -    [16] = "tsxldtrk",
> -    [18] = "pconfig",
> -    [20] = "cet-ibt",
> -    /* 22 */                [23] = "avx512-fp16",
> -
> -    [26] = "ibrsb",         [27] = "stibp",
> -    [28] = "l1d-flush",     [29] = "arch-caps",
> -    [30] = "core-caps",     [31] = "ssbd",
> -};
> -
> -static const char *const str_7a1[32] =
> -{
> -    [ 0] = "sha512",        [ 1] = "sm3",
> -    [ 2] = "sm4",
> -    [ 4] = "avx-vnni",      [ 5] = "avx512-bf16",
> -
> -    [10] = "fzrm",          [11] = "fsrs",
> -    [12] = "fsrcs",
> -
> -    /* 18 */                [19] = "wrmsrns",
> -
> -    /* 22 */                [23] = "avx-ifma",
> -};
> +#include <xen/lib/x86/cpu-policy.h>
>  
> -static const char *const str_e21a[32] =
> -{
> -    [ 0] = "no-nest-bp",    [ 1] = "fs-gs-ns",
> -    [ 2] = "lfence+",
> -    [ 6] = "nscb",
> -    [ 8] = "auto-ibrs",
> -    [10] = "amd-fsrs",      [11] = "amd-fsrc",
> -
> -    /* 16 */                [17] = "cpuid-user-dis",
> -    [18] = "epsf",          [19] = "fsrsc",
> -    [20] = "amd-prefetchi",
> -
> -    /* 26 */                [27] = "sbpb",
> -    [28] = "ibpb-brtype",   [29] = "srso-no",
> -};
> -
> -static const char *const str_7b1[32] =
> -{
> -    [ 0] = "ppin",
> -};
> -
> -static const char *const str_7c1[32] =
> -{
> -};
> -
> -static const char *const str_7d1[32] =
> -{
> -    [ 4] = "avx-vnni-int8",       [ 5] = "avx-ne-convert",
> -
> -    [10] = "avx-vnni-int16",
> -
> -    [14] = "prefetchi",
> -
> -    [18] = "cet-sss",
> -};
> -
> -static const char *const str_7d2[32] =
> -{
> -    [ 0] = "intel-psfd",    [ 1] = "ipred-ctrl",
> -    [ 2] = "rrsba-ctrl",    [ 3] = "ddp-ctrl",
> -    [ 4] = "bhi-ctrl",      [ 5] = "mcdt-no",
> -};
> -
> -static const char *const str_m10Al[32] =
> -{
> -    [ 0] = "rdcl-no",             [ 1] = "eibrs",
> -    [ 2] = "rsba",                [ 3] = "skip-l1dfl",
> -    [ 4] = "intel-ssb-no",        [ 5] = "mds-no",
> -    [ 6] = "if-pschange-mc-no",   [ 7] = "tsx-ctrl",
> -    [ 8] = "taa-no",              [ 9] = "mcu-ctrl",
> -    [10] = "misc-pkg-ctrl",       [11] = "energy-ctrl",
> -    [12] = "doitm",               [13] = "sbdr-ssdp-no",
> -    [14] = "fbsdp-no",            [15] = "psdp-no",
> -    /* 16 */                      [17] = "fb-clear",
> -    [18] = "fb-clear-ctrl",       [19] = "rrsba",
> -    [20] = "bhi-no",              [21] = "xapic-status",
> -    /* 22 */                      [23] = "ovrclk-status",
> -    [24] = "pbrsb-no",            [25] = "gds-ctrl",
> -    [26] = "gds-no",              [27] = "rfds-no",
> -    [28] = "rfds-clear",
> -};
> -
> -static const char *const str_m10Ah[32] =
> -{
> -};
> +static uint32_t nr_features;
>  
>  static const struct {
>      const char *name;
>      const char *abbr;
> -    const char *const *strs;

While how you're doing it looks all technically correct (so even without
changes I may later ack this as is), I'm still a little puzzled. I was
kind of expecting xen-cpuid.py to be extended to supply more another (set
of) #define(s) more suitable for use here. In particular, while
performance surely isn't of much concern in this tool, ...

> @@ -301,21 +52,32 @@ static const char *const fs_names[] = {
>      [XEN_SYSCTL_cpu_featureset_hvm_max] = "HVM Max",
>  };
>  
> -static void dump_leaf(uint32_t leaf, const char *const *strs)
> +static const char *find_name(unsigned int index)
>  {
> -    unsigned i;
> +    static const struct feature_name {
> +        const char *name;
> +        unsigned int bit;
> +    } feature_names[] = INIT_FEATURE_NAMES;
> +    unsigned int i;
>  
> -    if ( !strs )
> -    {
> -        printf(" ???");
> -        return;
> -    }
> +    for ( i = 0; i < ARRAY_SIZE(feature_names); i++ )
> +        if ( feature_names[i].bit == index )
> +            return feature_names[i].name;

... a linear search, repeated perhaps hundreds of times, looks still a
little odd to me.

> +static void dump_leaf(uint32_t leaf, unsigned int index)
> +{
> +    unsigned i;
>  
>      for ( i = 0; i < 32; ++i )
>          if ( leaf & (1u << i) )
>          {
> -            if ( strs[i] )
> -                printf(" %s", strs[i]);
> +            const char *name = find_name(index * 32 + i);
> +
> +            if ( name )
> +                printf(" %s", name);
>              else
>                  printf(" <%u>", i);
>          }
> @@ -326,6 +88,7 @@ static void decode_featureset(const uint32_t *features,
>                                const char *name,
>                                bool detail)
>  {
> +    static const uint32_t known_features[] = INIT_KNOWN_FEATURES;
>      unsigned int i;

So this variable exists solely to ...

> @@ -336,11 +99,14 @@ static void decode_featureset(const uint32_t *features,
>      if ( !detail )
>          return;
>  
> -    for ( i = 0; i < length && i < ARRAY_SIZE(decodes); ++i )
> +    /* Ensure leaf names stay in sync with the policy leaf count. */
> +    BUILD_BUG_ON(ARRAY_SIZE(known_features) != ARRAY_SIZE(leaf_names));

... calculate its size here. Thus relying on the compiler to not flag
such effectively unused static const variables.

> +    for ( i = 0; i < length && i < ARRAY_SIZE(leaf_names); ++i )
>      {
> -        printf("  [%02u] %-"COL_ALIGN"s", i, decodes[i].name ?: "<UNKNOWN>");
> -        if ( decodes[i].name )
> -            dump_leaf(features[i], decodes[i].strs);
> +        printf("  [%02u] %-"COL_ALIGN"s", i, leaf_names[i].name ?: "<UNKNOWN>");

I realize you merely transform what has been there, but do we really
need this fallback to "<UNKNOWN>" here and ...

> @@ -355,8 +121,8 @@ static void dump_info(xc_interface *xch, bool detail)
>      if ( !detail )
>      {
>          printf("       %"COL_ALIGN"s ", "KEY");
> -        for ( i = 0; i < ARRAY_SIZE(decodes); ++i )
> -            printf("%-8s ", decodes[i].abbr ?: "???");
> +        for ( i = 0; i < ARRAY_SIZE(leaf_names); ++i )
> +            printf("%-8s ", leaf_names[i].abbr ?: "???");

to "???" here? The table entries are all fully populated, and I don't
see why future ones wouldn't be. IOW I don't think I see what good this
is doing us, when at the same time it doesn't help readability.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 11:09:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 11:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714731.1116042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lMg-0003cj-2J; Tue, 30 Apr 2024 11:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714731.1116042; Tue, 30 Apr 2024 11:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lMf-0003cF-Ug; Tue, 30 Apr 2024 11:09:37 +0000
Received: by outflank-mailman (input) for mailman id 714731;
 Tue, 30 Apr 2024 11:09: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=efY1=MD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1s1lMe-0003Ln-Mu
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 11:09:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 2085461b-06e2-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 13:09:35 +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 2456B113E;
 Tue, 30 Apr 2024 04:10:01 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9187C3F73F;
 Tue, 30 Apr 2024 04:09: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: 2085461b-06e2-11ef-909b-e314d9c70b13
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	nicola.vetrini@bugseng.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/2] xen/arm: Fix MISRA regression on R1.1, flexible array member not at the end
Date: Tue, 30 Apr 2024 12:09:22 +0100
Message-Id: <20240430110922.15052-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240430110922.15052-1-luca.fancellu@arm.com>
References: <20240430110922.15052-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit 2209c1e35b47 ("xen/arm: Introduce a generic way to access memory
bank structures") introduced a MISRA regression for Rule 1.1 because a
flexible array member is introduced in the middle of a struct, furthermore
this is using a GCC extension that is going to be deprecated in GCC 14 and
a warning to identify such cases will be present
(-Wflex-array-member-not-at-end) to identify such cases.

In order to fix this issue, use the macro __struct_group to create a
structure 'struct membanks_hdr' which will hold the common data among
structures using the 'struct membanks' interface.

Modify the 'struct shared_meminfo' and 'struct meminfo' to use this new
structure, effectively removing the flexible array member from the middle
of the structure and modify the code accessing the .common field to use
the macro container_of to maintain the functionality of the interface.

Given this change, container_of needs to be supplied with a type and so
the macro 'kernel_info_get_mem' inside arm/include/asm/kernel.h can't be
an option since it uses const and non-const types for struct membanks, so
introduce two static inline, one of which will keep the const qualifier.

Given the complexity of the interface, which carries a lot of benefit but
on the other hand could be prone to developer confusion if the access is
open-coded, introduce two static inline helper for the
'struct kernel_info' .shm_mem member and get rid the open-coding
shm_mem.common access.

Fixes: 2209c1e35b47 ("xen/arm: Introduce a generic way to access memory bank structures")
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/acpi/domain_build.c        |  2 +-
 xen/arch/arm/domain_build.c             |  6 +++---
 xen/arch/arm/include/asm/kernel.h       | 11 ++++++++++-
 xen/arch/arm/include/asm/setup.h        | 18 ++++++++++--------
 xen/arch/arm/include/asm/static-shmem.h | 12 ++++++++++++
 xen/arch/arm/static-shmem.c             | 19 +++++++++----------
 6 files changed, 45 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/acpi/domain_build.c b/xen/arch/arm/acpi/domain_build.c
index ed895dd8f926..2ce75543d004 100644
--- a/xen/arch/arm/acpi/domain_build.c
+++ b/xen/arch/arm/acpi/domain_build.c
@@ -451,7 +451,7 @@ static int __init estimate_acpi_efi_size(struct domain *d,
     struct acpi_table_rsdp *rsdp_tbl;
     struct acpi_table_header *table;
 
-    efi_size = estimate_efi_size(kernel_info_get_mem(kinfo)->nr_banks);
+    efi_size = estimate_efi_size(kernel_info_get_mem_const(kinfo)->nr_banks);
 
     acpi_size = ROUNDUP(sizeof(struct acpi_table_fadt), 8);
     acpi_size += ROUNDUP(sizeof(struct acpi_table_stao), 8);
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 0784e4c5e315..f6550809cfdf 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -805,7 +805,7 @@ int __init make_memory_node(const struct kernel_info *kinfo, int addrcells,
      * static shared memory banks need to be listed as /memory node, so when
      * this function is handling the normal memory, add the banks.
      */
-    if ( mem == kernel_info_get_mem(kinfo) )
+    if ( mem == kernel_info_get_mem_const(kinfo) )
         shm_mem_node_fill_reg_range(kinfo, reg, &nr_cells, addrcells,
                                     sizecells);
 
@@ -884,7 +884,7 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
 {
     const struct membanks *mem = bootinfo_get_mem();
     const struct membanks *mem_banks[] = {
-        kernel_info_get_mem(kinfo),
+        kernel_info_get_mem_const(kinfo),
         bootinfo_get_reserved_mem(),
 #ifdef CONFIG_STATIC_SHM
         bootinfo_get_shmem(),
@@ -1108,7 +1108,7 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
     uint64_t bankend;
     const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
     const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
-    const struct membanks *kinfo_mem = kernel_info_get_mem(kinfo);
+    const struct membanks *kinfo_mem = kernel_info_get_mem_const(kinfo);
     int res = -ENOENT;
 
     for ( i = 0; i < GUEST_RAM_BANKS; i++ )
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 16a2bfc01e27..7e6e3c82a477 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -80,7 +80,16 @@ struct kernel_info {
     };
 };
 
-#define kernel_info_get_mem(kinfo) (&(kinfo)->mem.common)
+static inline struct membanks *kernel_info_get_mem(struct kernel_info *kinfo)
+{
+    return container_of(&kinfo->mem.common, struct membanks, common);
+}
+
+static inline const struct membanks *
+kernel_info_get_mem_const(const struct kernel_info *kinfo)
+{
+    return container_of(&kinfo->mem.common, const struct membanks, common);
+}
 
 #ifdef CONFIG_STATIC_SHM
 #define KERNEL_INFO_SHM_MEM_INIT .shm_mem.common.max_banks = NR_SHMEM_BANKS,
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 28fb659fe946..61c15806a7c4 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -64,18 +64,20 @@ struct membank {
 };
 
 struct membanks {
-    unsigned int nr_banks;
-    unsigned int max_banks;
+    __struct_group(membanks_hdr, common, ,
+        unsigned int nr_banks;
+        unsigned int max_banks;
+    );
     struct membank bank[];
 };
 
 struct meminfo {
-    struct membanks common;
+    struct membanks_hdr common;
     struct membank bank[NR_MEM_BANKS];
 };
 
 struct shared_meminfo {
-    struct membanks common;
+    struct membanks_hdr common;
     struct membank bank[NR_SHMEM_BANKS];
     struct shmem_membank_extra extra[NR_SHMEM_BANKS];
 };
@@ -166,25 +168,25 @@ extern domid_t max_init_domid;
 
 static inline struct membanks *bootinfo_get_mem(void)
 {
-    return &bootinfo.mem.common;
+    return container_of(&bootinfo.mem.common, struct membanks, common);
 }
 
 static inline struct membanks *bootinfo_get_reserved_mem(void)
 {
-    return &bootinfo.reserved_mem.common;
+    return container_of(&bootinfo.reserved_mem.common, struct membanks, common);
 }
 
 #ifdef CONFIG_ACPI
 static inline struct membanks *bootinfo_get_acpi(void)
 {
-    return &bootinfo.acpi.common;
+    return container_of(&bootinfo.acpi.common, struct membanks, common);
 }
 #endif
 
 #ifdef CONFIG_STATIC_SHM
 static inline struct membanks *bootinfo_get_shmem(void)
 {
-    return &bootinfo.shmem.common;
+    return container_of(&bootinfo.shmem.common, struct membanks, common);
 }
 
 static inline struct shmem_membank_extra *bootinfo_get_shmem_extra(void)
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
index 3b6569e5703f..806ee41cfc37 100644
--- a/xen/arch/arm/include/asm/static-shmem.h
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -45,6 +45,18 @@ int make_shm_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
 void shm_mem_node_fill_reg_range(const struct kernel_info *kinfo, __be32 *reg,
                                  int *nr_cells, int addrcells, int sizecells);
 
+static inline struct membanks *
+kernel_info_get_shm_mem(struct kernel_info *kinfo)
+{
+    return container_of(&kinfo->shm_mem.common, struct membanks, common);
+}
+
+static inline const struct membanks *
+kernel_info_get_shm_mem_const(const struct kernel_info *kinfo)
+{
+    return container_of(&kinfo->shm_mem.common, const struct membanks, common);
+}
+
 #else /* !CONFIG_STATIC_SHM */
 
 /* Worst case /memory node reg element: (addrcells + sizecells) */
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index 09f474ec6050..78881dd1d3f7 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -172,16 +172,16 @@ static int __init assign_shared_memory(struct domain *d,
 }
 
 static int __init
-append_shm_bank_to_domain(struct shared_meminfo *kinfo_shm_mem, paddr_t start,
+append_shm_bank_to_domain(struct kernel_info *kinfo, paddr_t start,
                           paddr_t size, const char *shm_id)
 {
-    struct membanks *shm_mem = &kinfo_shm_mem->common;
+    struct membanks *shm_mem = kernel_info_get_shm_mem(kinfo);
     struct shmem_membank_extra *shm_mem_extra;
 
     if ( shm_mem->nr_banks >= shm_mem->max_banks )
         return -ENOMEM;
 
-    shm_mem_extra = &kinfo_shm_mem->extra[shm_mem->nr_banks];
+    shm_mem_extra = &kinfo->shm_mem.extra[shm_mem->nr_banks];
 
     shm_mem->bank[shm_mem->nr_banks].start = start;
     shm_mem->bank[shm_mem->nr_banks].size = size;
@@ -289,8 +289,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
          * Record static shared memory region info for later setting
          * up shm-node in guest device tree.
          */
-        ret = append_shm_bank_to_domain(&kinfo->shm_mem, gbase, psize,
-                                        shm_id);
+        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
         if ( ret )
             return ret;
     }
@@ -301,7 +300,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
 int __init make_shm_resv_memory_node(const struct kernel_info *kinfo,
                                      int addrcells, int sizecells)
 {
-    const struct membanks *mem = &kinfo->shm_mem.common;
+    const struct membanks *mem = kernel_info_get_shm_mem_const(kinfo);
     void *fdt = kinfo->fdt;
     unsigned int i = 0;
     int res = 0;
@@ -517,7 +516,7 @@ int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
 int __init make_resv_memory_node(const struct kernel_info *kinfo, int addrcells,
                                  int sizecells)
 {
-    const struct membanks *mem = &kinfo->shm_mem.common;
+    const struct membanks *mem = kernel_info_get_shm_mem_const(kinfo);
     void *fdt = kinfo->fdt;
     int res = 0;
     /* Placeholder for reserved-memory\0 */
@@ -579,7 +578,7 @@ void __init init_sharedmem_pages(void)
 int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
                                     struct rangeset *rangeset)
 {
-    const struct membanks *shm_mem = &kinfo->shm_mem.common;
+    const struct membanks *shm_mem = kernel_info_get_shm_mem_const(kinfo);
     unsigned int i;
 
     /* Remove static shared memory regions */
@@ -607,7 +606,7 @@ int __init remove_shm_from_rangeset(const struct kernel_info *kinfo,
 int __init remove_shm_holes_for_domU(const struct kernel_info *kinfo,
                                      struct membanks *ext_regions)
 {
-    const struct membanks *shm_mem = &kinfo->shm_mem.common;
+    const struct membanks *shm_mem = kernel_info_get_shm_mem_const(kinfo);
     struct rangeset *guest_holes;
     unsigned int i;
     paddr_t start;
@@ -673,7 +672,7 @@ void __init shm_mem_node_fill_reg_range(const struct kernel_info *kinfo,
                                         __be32 *reg, int *nr_cells,
                                         int addrcells, int sizecells)
 {
-    const struct membanks *mem = &kinfo->shm_mem.common;
+    const struct membanks *mem = kernel_info_get_shm_mem_const(kinfo);
     unsigned int i;
     __be32 *cells;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 11:09:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 11:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714729.1116027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lMe-0003Lv-KW; Tue, 30 Apr 2024 11:09:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714729.1116027; Tue, 30 Apr 2024 11: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 1s1lMe-0003Lo-Gv; Tue, 30 Apr 2024 11:09:36 +0000
Received: by outflank-mailman (input) for mailman id 714729;
 Tue, 30 Apr 2024 11:09: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=efY1=MD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1s1lMd-0003Lb-Di
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 11:09:35 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 1f033d20-06e2-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 13:09: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 842AC2F4;
 Tue, 30 Apr 2024 04:09:58 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9953B3F73F;
 Tue, 30 Apr 2024 04:09:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f033d20-06e2-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	nicola.vetrini@bugseng.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/2] Fix MISRA regression about flexible array member not at the end
Date: Tue, 30 Apr 2024 12:09:20 +0100
Message-Id: <20240430110922.15052-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small serie is fixing a MISRA regression on the R1.1 due to the
introduction of a new interface that uses a flexible member array [1].

I've splitted the serie in two in order to keep the Linux imported code on a
single commit, the imported macro is later used in the second patch of the
serie.

[1] https://lore.kernel.org/all/8be082b6d22d61c0b14910680d3833a7@bugseng.com/

Luca Fancellu (2):
  xen/kernel.h: Import __struct_group from Linux
  xen/arm: Fix MISRA regression on R1.1, flexible array member not at
    the end

 xen/arch/arm/acpi/domain_build.c        |  2 +-
 xen/arch/arm/domain_build.c             |  6 +++---
 xen/arch/arm/include/asm/kernel.h       | 11 ++++++++++-
 xen/arch/arm/include/asm/setup.h        | 18 ++++++++++--------
 xen/arch/arm/include/asm/static-shmem.h | 12 ++++++++++++
 xen/arch/arm/static-shmem.c             | 19 +++++++++----------
 xen/include/xen/kernel.h                | 21 +++++++++++++++++++++
 7 files changed, 66 insertions(+), 23 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 11:09:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 11:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714730.1116036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lMf-0003aA-Qb; Tue, 30 Apr 2024 11:09:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714730.1116036; Tue, 30 Apr 2024 11:09:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lMf-0003a3-Nx; Tue, 30 Apr 2024 11:09:37 +0000
Received: by outflank-mailman (input) for mailman id 714730;
 Tue, 30 Apr 2024 11:09: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=efY1=MD=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1s1lMe-0003Lb-3O
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 11:09:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 1fccf056-06e2-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 13:09:34 +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 CA0A0339;
 Tue, 30 Apr 2024 04:09:59 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.43])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 434D03F73F;
 Tue, 30 Apr 2024 04:09: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: 1fccf056-06e2-11ef-b4bb-af5377834399
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	nicola.vetrini@bugseng.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/2] xen/kernel.h: Import __struct_group from Linux
Date: Tue, 30 Apr 2024 12:09:21 +0100
Message-Id: <20240430110922.15052-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240430110922.15052-1-luca.fancellu@arm.com>
References: <20240430110922.15052-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Import __struct_group from Linux, commit 50d7bd38c3aa
("stddef: Introduce struct_group() helper macro"), in order to
allow the access through the anonymous structure to the members
without having to write also the name, e.g:

struct foo {
    int one;
    struct {
        int two;
        int three, four;
    } thing;
    int five;
};

would become:

struct foo {
    int one;
    __struct_group(/* None */, thing, /* None */,
        int two;
        int three, four;
    );
    int five;
};

Allowing the users of this structure to access the .thing members by
using .two/.three/.four on the struct foo.
This construct will become useful in order to have some generalized
interfaces that shares some common members.

Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 50d7bd38c3aa
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/xen/kernel.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
index bb6b0f38912d..bc2440b5f96e 100644
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -54,6 +54,27 @@
         typeof_field(type, member) *__mptr = (ptr);             \
         (type *)( (char *)__mptr - offsetof(type,member) );})
 
+/**
+ * __struct_group() - Create a mirrored named and anonyomous struct
+ *
+ * @TAG: The tag name for the named sub-struct (usually empty)
+ * @NAME: The identifier name of the mirrored sub-struct
+ * @ATTRS: Any struct attributes (usually empty)
+ * @MEMBERS: The member declarations for the mirrored structs
+ *
+ * Used to create an anonymous union of two structs with identical layout
+ * and size: one anonymous and one named. The former's members can be used
+ * normally without sub-struct naming, and the latter can be used to
+ * reason about the start, end, and size of the group of struct members.
+ * The named struct can also be explicitly tagged for layer reuse, as well
+ * as both having struct attributes appended.
+ */
+#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
+    union { \
+        struct { MEMBERS } ATTRS; \
+        struct TAG { MEMBERS } ATTRS NAME; \
+    } ATTRS
+
 /*
  * Check at compile time that something is of a particular type.
  * Always evaluates to 1 so you may use it easily in comparisons.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 11:15:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 11:15:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714746.1116057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lSc-00069q-M8; Tue, 30 Apr 2024 11:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714746.1116057; Tue, 30 Apr 2024 11: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 1s1lSc-00069j-Ih; Tue, 30 Apr 2024 11:15:46 +0000
Received: by outflank-mailman (input) for mailman id 714746;
 Tue, 30 Apr 2024 11:15: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 1s1lSb-00069Z-A8; Tue, 30 Apr 2024 11:15: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 1s1lSb-0006Zn-7f; Tue, 30 Apr 2024 11:15: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 1s1lSa-0003tw-VV; Tue, 30 Apr 2024 11:15:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1lSa-0000Lt-V3; Tue, 30 Apr 2024 11:15: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=YBKbTr2ly/Zt0S0kM5HZlq/yyUyiyEwR6Q2x2mI2Lig=; b=0V4ip3wpN+dnf6Vi4fElSqy487
	V7nKJ1kxpBsikspOEMsM1n/PRjINItuqzkbvqzoXapsvjJCB2Jd2z/2bcD6dQKVza7VlYgV5Nf5Xr
	y7D0wE2QWDQRavbdHvgo+gPVdP4iTAuMssV28wQpaKm8ooni4sQcs1UhW+EbJqL0vkK0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185875-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185875: 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=b819bd65f4fb25be582f66ba2e4134f61d86f459
X-Osstest-Versions-That:
    xen=be5b08dd6ea6ef0f01caf537bdae125fa66a2230
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 11:15:44 +0000

flight 185875 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185875/

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                  b819bd65f4fb25be582f66ba2e4134f61d86f459
baseline version:
 xen                  be5b08dd6ea6ef0f01caf537bdae125fa66a2230

Last test of basis   185812  2024-04-26 11:01:45 Z    4 days
Testing same since   185875  2024-04-30 07:03:45 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>
  Jason Andryuk <jason.andryuk@amd.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monné <roger.pau@citrix.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
   be5b08dd6e..b819bd65f4  b819bd65f4fb25be582f66ba2e4134f61d86f459 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 11:25:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 11:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714753.1116067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lcN-0007q4-GD; Tue, 30 Apr 2024 11:25:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714753.1116067; Tue, 30 Apr 2024 11:25:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lcN-0007px-Cu; Tue, 30 Apr 2024 11:25:51 +0000
Received: by outflank-mailman (input) for mailman id 714753;
 Tue, 30 Apr 2024 11:25:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ve62=MD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1lcL-0007li-H2
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 11:25:49 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63b81494-06e4-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 13:25:47 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id
 af79cd13be357-790e7c02430so225745485a.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 04:25:47 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 c19-20020a05620a201300b00790fa105beesm1442577qka.18.2024.04.30.04.25.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 04:25: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: 63b81494-06e4-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714476346; x=1715081146; 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=tCzoNkA2xwt3xcwAQGGv0OhNw33udsl/meKG3ZlRmaI=;
        b=R8+y9MFjNauyIanNAqPeGDi0lhaoFKcYmelbh2SEE6Ydh88Cr0u67p6n2S/ySXVw9k
         27a4wu9fOeDfSP1pZxd+HqYNHssFThj5u6/ZzqPJm9vMPuAt1tZ2rjR5bTWhCrUXoiT8
         +C96WAaoFK7Leq9FZvInTIgk1xv36tMFMEzrs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714476346; x=1715081146;
        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=tCzoNkA2xwt3xcwAQGGv0OhNw33udsl/meKG3ZlRmaI=;
        b=JCwyrQ0Jkhn1Q9kZRf6lkKmy+sdqMtEX7LW7DZTawl39UdGjXTLGdf+lLSJ7qGTZDI
         bSiryEEdjm+VMmpAZ8w9HrqHBJJLhboFRkdkOmuyoxDbYfzWVOo5qtulAmVsgesQwc0n
         FWJ3xT50qUQOybWKq8FFFKxZKajkqc7BTT9VMEZ15aiL+lFqCeaEw1qxg1sISJYRdxMO
         JJQj/nhHJFo3s7tcA6Dtpd9n/qYfSRDJ2cicjgSmXAHYpZRYnlgqEFrR56DR3uKLFJ82
         ZpSlSsU/hOKc92M5zzYuQRzBj8nSZVrqYvbG4laA0PCaXhnMbiAZBvnn5M6lLOxRmP5z
         yUOw==
X-Forwarded-Encrypted: i=1; AJvYcCUExGnVUdb755ZKC418BmL9UkDpJI0OyGz8Gd3Z+kGf2KOeuw6SWyjw9QVK+yuA4JtmWjWm7afBClZWlKD/6oNSEgj+JvCDTidK63MaxmU=
X-Gm-Message-State: AOJu0YwxKb8pPHVb5W2QzPKAF1a8Dk9t/DQ4H9tsgWrv+PmHjWpkQyAw
	HaySuCq279Plxo8P2KcTTtvrWwbsB1RmjefZwUWb/k867+FU2lgOBQPzXsnVs5A=
X-Google-Smtp-Source: AGHT+IEcrkS05v4WlBDtLx70w4f1nFjxgqqy4rWaOb2l5AqEsacnhpcJc+rl5LZYlly6pfwYTxV8BA==
X-Received: by 2002:a05:620a:60c5:b0:78e:d154:2ae9 with SMTP id dy5-20020a05620a60c500b0078ed1542ae9mr12338850qkb.63.1714476345774;
        Tue, 30 Apr 2024 04:25:45 -0700 (PDT)
Date: Tue, 30 Apr 2024 13:25:43 +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>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.19] tools/xen-cpuid: switch to use cpu-policy
 defined names
Message-ID: <ZjDVN6kexFD0vcT2@macbook>
References: <20240430082901.77662-1-roger.pau@citrix.com>
 <78d009f4-6610-4fcf-9cdc-ee1081e6c763@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <78d009f4-6610-4fcf-9cdc-ee1081e6c763@suse.com>

On Tue, Apr 30, 2024 at 12:37:44PM +0200, Jan Beulich wrote:
> On 30.04.2024 10:29, Roger Pau Monne wrote:
> > Like it was done recently for libxl, switch to using the auto-generated feature
> > names by the processing of cpufeatureset.h, this allows removing the open-coded
> > feature names, and unifies the feature naming with libxl and the hypervisor.
> > 
> > Note that leaf names need to be kept, as the current auto-generated data
> > doesn't contain the leaf names.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Late for 4.19, but I would still like it to be considered for inclusion since
> > it's IMO a nice cleanup and reduces the burden of adding new feature bits into
> > the policy.
> 
> I agree, but it's Oleksii's call (now Cc-ed).
> 
> > --- a/tools/misc/xen-cpuid.c
> > +++ b/tools/misc/xen-cpuid.c
> > @@ -12,282 +12,33 @@
> >  
> >  #include <xen-tools/common-macros.h>
> >  
> > -static uint32_t nr_features;
> > -
> > -static const char *const str_1d[32] =
> > -{
> > -    [ 0] = "fpu",  [ 1] = "vme",
> > -    [ 2] = "de",   [ 3] = "pse",
> > -    [ 4] = "tsc",  [ 5] = "msr",
> > -    [ 6] = "pae",  [ 7] = "mce",
> > -    [ 8] = "cx8",  [ 9] = "apic",
> > -    /* [10] */     [11] = "sysenter",
> > -    [12] = "mtrr", [13] = "pge",
> > -    [14] = "mca",  [15] = "cmov",
> > -    [16] = "pat",  [17] = "pse36",
> > -    [18] = "psn",  [19] = "clflush",
> > -    /* [20] */     [21] = "ds",
> > -    [22] = "acpi", [23] = "mmx",
> > -    [24] = "fxsr", [25] = "sse",
> > -    [26] = "sse2", [27] = "ss",
> > -    [28] = "htt",  [29] = "tm",
> > -    [30] = "ia64", [31] = "pbe",
> > -};
> > -
> > -static const char *const str_1c[32] =
> > -{
> > -    [ 0] = "sse3",    [ 1] = "pclmulqdq",
> > -    [ 2] = "dtes64",  [ 3] = "monitor",
> > -    [ 4] = "ds-cpl",  [ 5] = "vmx",
> > -    [ 6] = "smx",     [ 7] = "est",
> > -    [ 8] = "tm2",     [ 9] = "ssse3",
> > -    [10] = "cntx-id", [11] = "sdgb",
> > -    [12] = "fma",     [13] = "cx16",
> > -    [14] = "xtpr",    [15] = "pdcm",
> > -    /* [16] */        [17] = "pcid",
> > -    [18] = "dca",     [19] = "sse41",
> > -    [20] = "sse42",   [21] = "x2apic",
> > -    [22] = "movebe",  [23] = "popcnt",
> > -    [24] = "tsc-dl",  [25] = "aesni",
> > -    [26] = "xsave",   [27] = "osxsave",
> > -    [28] = "avx",     [29] = "f16c",
> > -    [30] = "rdrnd",   [31] = "hyper",
> > -};
> > -
> > -static const char *const str_e1d[32] =
> > -{
> > -    [ 0] = "fpu",    [ 1] = "vme",
> > -    [ 2] = "de",     [ 3] = "pse",
> > -    [ 4] = "tsc",    [ 5] = "msr",
> > -    [ 6] = "pae",    [ 7] = "mce",
> > -    [ 8] = "cx8",    [ 9] = "apic",
> > -    /* [10] */       [11] = "syscall",
> > -    [12] = "mtrr",   [13] = "pge",
> > -    [14] = "mca",    [15] = "cmov",
> > -    [16] = "fcmov",  [17] = "pse36",
> > -    /* [18] */       [19] = "mp",
> > -    [20] = "nx",     /* [21] */
> > -    [22] = "mmx+",   [23] = "mmx",
> > -    [24] = "fxsr",   [25] = "fxsr+",
> > -    [26] = "pg1g",   [27] = "rdtscp",
> > -    /* [28] */       [29] = "lm",
> > -    [30] = "3dnow+", [31] = "3dnow",
> > -};
> > -
> > -static const char *const str_e1c[32] =
> > -{
> > -    [ 0] = "lahf-lm",    [ 1] = "cmp",
> > -    [ 2] = "svm",        [ 3] = "extapic",
> > -    [ 4] = "cr8d",       [ 5] = "lzcnt",
> > -    [ 6] = "sse4a",      [ 7] = "msse",
> > -    [ 8] = "3dnowpf",    [ 9] = "osvw",
> > -    [10] = "ibs",        [11] = "xop",
> > -    [12] = "skinit",     [13] = "wdt",
> > -    /* [14] */           [15] = "lwp",
> > -    [16] = "fma4",       [17] = "tce",
> > -    /* [18] */           [19] = "nodeid",
> > -    /* [20] */           [21] = "tbm",
> > -    [22] = "topoext",    [23] = "perfctr-core",
> > -    [24] = "perfctr-nb", /* [25] */
> > -    [26] = "dbx",        [27] = "perftsc",
> > -    [28] = "pcx-l2i",    [29] = "monitorx",
> > -    [30] = "addr-msk-ext",
> > -};
> > -
> > -static const char *const str_7b0[32] =
> > -{
> > -    [ 0] = "fsgsbase", [ 1] = "tsc-adj",
> > -    [ 2] = "sgx",      [ 3] = "bmi1",
> > -    [ 4] = "hle",      [ 5] = "avx2",
> > -    [ 6] = "fdp-exn",  [ 7] = "smep",
> > -    [ 8] = "bmi2",     [ 9] = "erms",
> > -    [10] = "invpcid",  [11] = "rtm",
> > -    [12] = "pqm",      [13] = "depfpp",
> > -    [14] = "mpx",      [15] = "pqe",
> > -    [16] = "avx512f",  [17] = "avx512dq",
> > -    [18] = "rdseed",   [19] = "adx",
> > -    [20] = "smap",     [21] = "avx512-ifma",
> > -    [22] = "pcommit",  [23] = "clflushopt",
> > -    [24] = "clwb",     [25] = "proc-trace",
> > -    [26] = "avx512pf", [27] = "avx512er",
> > -    [28] = "avx512cd", [29] = "sha",
> > -    [30] = "avx512bw", [31] = "avx512vl",
> > -};
> > -
> > -static const char *const str_Da1[32] =
> > -{
> > -    [ 0] = "xsaveopt", [ 1] = "xsavec",
> > -    [ 2] = "xgetbv1",  [ 3] = "xsaves",
> > -};
> > -
> > -static const char *const str_7c0[32] =
> > -{
> > -    [ 0] = "prefetchwt1",      [ 1] = "avx512-vbmi",
> > -    [ 2] = "umip",             [ 3] = "pku",
> > -    [ 4] = "ospke",            [ 5] = "waitpkg",
> > -    [ 6] = "avx512-vbmi2",     [ 7] = "cet-ss",
> > -    [ 8] = "gfni",             [ 9] = "vaes",
> > -    [10] = "vpclmulqdq",       [11] = "avx512-vnni",
> > -    [12] = "avx512-bitalg",
> > -    [14] = "avx512-vpopcntdq",
> > -
> > -    [22] = "rdpid",
> > -    /* 24 */                   [25] = "cldemote",
> > -    /* 26 */                   [27] = "movdiri",
> > -    [28] = "movdir64b",        [29] = "enqcmd",
> > -    [30] = "sgx-lc",           [31] = "pks",
> > -};
> > -
> > -static const char *const str_e7d[32] =
> > -{
> > -    /* 6 */                    [ 7] = "hw-pstate",
> > -    [ 8] = "itsc",             [ 9] = "cpb",
> > -    [10] = "efro",
> > -};
> > -
> > -static const char *const str_e8b[32] =
> > -{
> > -    [ 0] = "clzero",
> > -    [ 2] = "rstr-fp-err-ptrs",
> > -
> > -    /* [ 8] */                 [ 9] = "wbnoinvd",
> > -
> > -    [12] = "ibpb",
> > -    [14] = "ibrs",             [15] = "amd-stibp",
> > -    [16] = "ibrs-always",      [17] = "stibp-always",
> > -    [18] = "ibrs-fast",        [19] = "ibrs-same-mode",
> > -
> > -    [20] = "no-lmsl",
> > -    /* [22] */                 [23] = "ppin",
> > -    [24] = "amd-ssbd",         [25] = "virt-ssbd",
> > -    [26] = "ssb-no",
> > -    [28] = "psfd",             [29] = "btc-no",
> > -    [30] = "ibpb-ret",
> > -};
> > -
> > -static const char *const str_7d0[32] =
> > -{
> > -    [ 2] = "avx512-4vnniw", [ 3] = "avx512-4fmaps",
> > -    [ 4] = "fsrm",
> > -
> > -    [ 8] = "avx512-vp2intersect", [ 9] = "srbds-ctrl",
> > -    [10] = "md-clear",            [11] = "rtm-always-abort",
> > -    /* 12 */                [13] = "tsx-force-abort",
> > -    [14] = "serialize",     [15] = "hybrid",
> > -    [16] = "tsxldtrk",
> > -    [18] = "pconfig",
> > -    [20] = "cet-ibt",
> > -    /* 22 */                [23] = "avx512-fp16",
> > -
> > -    [26] = "ibrsb",         [27] = "stibp",
> > -    [28] = "l1d-flush",     [29] = "arch-caps",
> > -    [30] = "core-caps",     [31] = "ssbd",
> > -};
> > -
> > -static const char *const str_7a1[32] =
> > -{
> > -    [ 0] = "sha512",        [ 1] = "sm3",
> > -    [ 2] = "sm4",
> > -    [ 4] = "avx-vnni",      [ 5] = "avx512-bf16",
> > -
> > -    [10] = "fzrm",          [11] = "fsrs",
> > -    [12] = "fsrcs",
> > -
> > -    /* 18 */                [19] = "wrmsrns",
> > -
> > -    /* 22 */                [23] = "avx-ifma",
> > -};
> > +#include <xen/lib/x86/cpu-policy.h>
> >  
> > -static const char *const str_e21a[32] =
> > -{
> > -    [ 0] = "no-nest-bp",    [ 1] = "fs-gs-ns",
> > -    [ 2] = "lfence+",
> > -    [ 6] = "nscb",
> > -    [ 8] = "auto-ibrs",
> > -    [10] = "amd-fsrs",      [11] = "amd-fsrc",
> > -
> > -    /* 16 */                [17] = "cpuid-user-dis",
> > -    [18] = "epsf",          [19] = "fsrsc",
> > -    [20] = "amd-prefetchi",
> > -
> > -    /* 26 */                [27] = "sbpb",
> > -    [28] = "ibpb-brtype",   [29] = "srso-no",
> > -};
> > -
> > -static const char *const str_7b1[32] =
> > -{
> > -    [ 0] = "ppin",
> > -};
> > -
> > -static const char *const str_7c1[32] =
> > -{
> > -};
> > -
> > -static const char *const str_7d1[32] =
> > -{
> > -    [ 4] = "avx-vnni-int8",       [ 5] = "avx-ne-convert",
> > -
> > -    [10] = "avx-vnni-int16",
> > -
> > -    [14] = "prefetchi",
> > -
> > -    [18] = "cet-sss",
> > -};
> > -
> > -static const char *const str_7d2[32] =
> > -{
> > -    [ 0] = "intel-psfd",    [ 1] = "ipred-ctrl",
> > -    [ 2] = "rrsba-ctrl",    [ 3] = "ddp-ctrl",
> > -    [ 4] = "bhi-ctrl",      [ 5] = "mcdt-no",
> > -};
> > -
> > -static const char *const str_m10Al[32] =
> > -{
> > -    [ 0] = "rdcl-no",             [ 1] = "eibrs",
> > -    [ 2] = "rsba",                [ 3] = "skip-l1dfl",
> > -    [ 4] = "intel-ssb-no",        [ 5] = "mds-no",
> > -    [ 6] = "if-pschange-mc-no",   [ 7] = "tsx-ctrl",
> > -    [ 8] = "taa-no",              [ 9] = "mcu-ctrl",
> > -    [10] = "misc-pkg-ctrl",       [11] = "energy-ctrl",
> > -    [12] = "doitm",               [13] = "sbdr-ssdp-no",
> > -    [14] = "fbsdp-no",            [15] = "psdp-no",
> > -    /* 16 */                      [17] = "fb-clear",
> > -    [18] = "fb-clear-ctrl",       [19] = "rrsba",
> > -    [20] = "bhi-no",              [21] = "xapic-status",
> > -    /* 22 */                      [23] = "ovrclk-status",
> > -    [24] = "pbrsb-no",            [25] = "gds-ctrl",
> > -    [26] = "gds-no",              [27] = "rfds-no",
> > -    [28] = "rfds-clear",
> > -};
> > -
> > -static const char *const str_m10Ah[32] =
> > -{
> > -};
> > +static uint32_t nr_features;
> >  
> >  static const struct {
> >      const char *name;
> >      const char *abbr;
> > -    const char *const *strs;
> 
> While how you're doing it looks all technically correct (so even without
> changes I may later ack this as is), I'm still a little puzzled. I was
> kind of expecting xen-cpuid.py to be extended to supply more another (set
> of) #define(s) more suitable for use here. In particular, while
> performance surely isn't of much concern in this tool, ...
> 
> > @@ -301,21 +52,32 @@ static const char *const fs_names[] = {
> >      [XEN_SYSCTL_cpu_featureset_hvm_max] = "HVM Max",
> >  };
> >  
> > -static void dump_leaf(uint32_t leaf, const char *const *strs)
> > +static const char *find_name(unsigned int index)
> >  {
> > -    unsigned i;
> > +    static const struct feature_name {
> > +        const char *name;
> > +        unsigned int bit;
> > +    } feature_names[] = INIT_FEATURE_NAMES;
> > +    unsigned int i;
> >  
> > -    if ( !strs )
> > -    {
> > -        printf(" ???");
> > -        return;
> > -    }
> > +    for ( i = 0; i < ARRAY_SIZE(feature_names); i++ )
> > +        if ( feature_names[i].bit == index )
> > +            return feature_names[i].name;
> 
> ... a linear search, repeated perhaps hundreds of times, looks still a
> little odd to me.

I didn't benchmark what kind of performance impact this change would
have on the tool, but I didn't think it was that relevant, as this is
a diagnostic/debug tool, and hence performance (unless it took seconds
to execute) shouldn't be that important.

I could switch to a non-const array and sort it at the start in order
to do a binary search, but that might be over engineering it.

> > +static void dump_leaf(uint32_t leaf, unsigned int index)
> > +{
> > +    unsigned i;
> >  
> >      for ( i = 0; i < 32; ++i )
> >          if ( leaf & (1u << i) )
> >          {
> > -            if ( strs[i] )
> > -                printf(" %s", strs[i]);
> > +            const char *name = find_name(index * 32 + i);
> > +
> > +            if ( name )
> > +                printf(" %s", name);
> >              else
> >                  printf(" <%u>", i);
> >          }
> > @@ -326,6 +88,7 @@ static void decode_featureset(const uint32_t *features,
> >                                const char *name,
> >                                bool detail)
> >  {
> > +    static const uint32_t known_features[] = INIT_KNOWN_FEATURES;
> >      unsigned int i;
> 
> So this variable exists solely to ...
> 
> > @@ -336,11 +99,14 @@ static void decode_featureset(const uint32_t *features,
> >      if ( !detail )
> >          return;
> >  
> > -    for ( i = 0; i < length && i < ARRAY_SIZE(decodes); ++i )
> > +    /* Ensure leaf names stay in sync with the policy leaf count. */
> > +    BUILD_BUG_ON(ARRAY_SIZE(known_features) != ARRAY_SIZE(leaf_names));
> 
> ... calculate its size here. Thus relying on the compiler to not flag
> such effectively unused static const variables.

I wondered whether to add the unused attribute, but seeing as gitlab
didn't complain I've forgot to add it.  I could add it.

> > +    for ( i = 0; i < length && i < ARRAY_SIZE(leaf_names); ++i )
> >      {
> > -        printf("  [%02u] %-"COL_ALIGN"s", i, decodes[i].name ?: "<UNKNOWN>");
> > -        if ( decodes[i].name )
> > -            dump_leaf(features[i], decodes[i].strs);
> > +        printf("  [%02u] %-"COL_ALIGN"s", i, leaf_names[i].name ?: "<UNKNOWN>");
> 
> I realize you merely transform what has been there, but do we really
> need this fallback to "<UNKNOWN>" here and ...
> 
> > @@ -355,8 +121,8 @@ static void dump_info(xc_interface *xch, bool detail)
> >      if ( !detail )
> >      {
> >          printf("       %"COL_ALIGN"s ", "KEY");
> > -        for ( i = 0; i < ARRAY_SIZE(decodes); ++i )
> > -            printf("%-8s ", decodes[i].abbr ?: "???");
> > +        for ( i = 0; i < ARRAY_SIZE(leaf_names); ++i )
> > +            printf("%-8s ", leaf_names[i].abbr ?: "???");
> 
> to "???" here? The table entries are all fully populated, and I don't
> see why future ones wouldn't be. IOW I don't think I see what good this
> is doing us, when at the same time it doesn't help readability.

TBH I wasn't sure about the intention here, so decided to leave those
alone.  The iteration is done against leaf_names (or decodes), so this
would mean there's an array entry in the table that explicitly has
name or abbr fields unset, which would be weird to me.

But again without knowing the original intention of those, and the
change being tangential to the purpose I've decided to leave those
alone.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 11:37:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 11:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714760.1116077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lng-0001Ih-He; Tue, 30 Apr 2024 11:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714760.1116077; Tue, 30 Apr 2024 11:37:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lng-0001Ia-Ef; Tue, 30 Apr 2024 11:37:32 +0000
Received: by outflank-mailman (input) for mailman id 714760;
 Tue, 30 Apr 2024 11:37:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1lne-0001IU-KL
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 11:37:30 +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 066b53e5-06e6-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 13:37:29 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2dd64d6fe94so63011641fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 04:37: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
 f17-20020a05600c155100b00418db9e4228sm45195028wmg.29.2024.04.30.04.37.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 04:37: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: 066b53e5-06e6-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714477049; x=1715081849; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0JdTW7UFSa7+SeiKezY02BJhlI6p6GliceYxuQ1A3oE=;
        b=QKCzuQoAKYhChAd1EyLtSeQEeRpYcbRcWwuGcz/cjKb4TSRFVA6vUNgjEpNJDIyp37
         Ced/WdHfNdLjox5oJk2LsDWFpEw0Afo78B4xSbTgMskmjMo9roST0+fO/3XQzeZEqYCH
         Ck1IMSupUllbx1m8K6vSDolhdyypwfQW4YqEEEJS/EDalugIMf0q5fshV9jbGBijY8lE
         PV00HDR5UWaX5fikhUw65kkbvR8v19FScugXe/b2AxNu8RWb6ZG4qs3tg856i7AXAzLb
         tiOBa4keBeHHyGFTvdECyNh0SnI62mertvPdsBSo46kxyabQVIzc7mqQkNxn38XCXbHr
         w7Xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714477049; x=1715081849;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0JdTW7UFSa7+SeiKezY02BJhlI6p6GliceYxuQ1A3oE=;
        b=cWegXRlxWfdE0lT6+ATJM4KWK+fWMtwR9jhR1cX6DSSp/jYK/vtxWnmiwVoz9cDoXX
         3Hkql4w8FzSqyxO8j/7foa989KsCVZg5N5fIbFEsoCqwBH4T/EUVsLdNID3w9/pKIn/H
         SmaFT0E5XCneLO1DQGPN9VHPROofHPY4pFxP+7dCh927OTWHLHruV1ksPrDR69ck+Aiy
         W5hX67kkgXA+Oa6pUfcHDRIoxdU3KxE4l9DKdP8cH5KD1PB+Ah5qqTr+K6QDNgPpPJ6E
         PZ4SxQwxd8L/12QL3ctMt53CLDv8TB6kRzBFtyKhjGIcGieOu89xtqMD6ZcAECPzigiW
         p5FA==
X-Forwarded-Encrypted: i=1; AJvYcCV62uzA5N8wlnlppIXXPs9CDBEJCELHr87xtWCmGBk6t0gJtBdq+HYXDyQClPKdPe/YhOdYjSw1BbQLec0R1ULuA7GrMTJCSuvQhOTXEb8=
X-Gm-Message-State: AOJu0YzWuiB/XiJq/JBlJLBy2+wOZD+pES+2ZsjxrVHGpSWALRQr49IP
	j0LODzEzrjsTDaVpwCC313RYiugRvL2gZPCWIDY7VsT9FA7uZmDblTK9A4petg==
X-Google-Smtp-Source: AGHT+IFwKdgSEifukpknhT+rsmgq9x8taUnxxmwAWojYuYjv/lMLXK5Pf7XVrMQe9oMt5P0dJY3Nfw==
X-Received: by 2002:a2e:3a13:0:b0:2db:218:b050 with SMTP id h19-20020a2e3a13000000b002db0218b050mr7500871lja.34.1714477048662;
        Tue, 30 Apr 2024 04:37:28 -0700 (PDT)
Message-ID: <327c7e42-9b59-4925-b746-0b59dbb5a3fb@suse.com>
Date: Tue, 30 Apr 2024 13:37:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/arm: Fix MISRA regression on R1.1, flexible array
 member not at the end
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: consulting@bugseng.com, nicola.vetrini@bugseng.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20240430110922.15052-1-luca.fancellu@arm.com>
 <20240430110922.15052-3-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240430110922.15052-3-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.04.2024 13:09, Luca Fancellu wrote:
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -64,18 +64,20 @@ struct membank {
>  };
>  
>  struct membanks {
> -    unsigned int nr_banks;
> -    unsigned int max_banks;
> +    __struct_group(membanks_hdr, common, ,
> +        unsigned int nr_banks;
> +        unsigned int max_banks;
> +    );
>      struct membank bank[];
>  };

I'm afraid I can't spot why __struct_group() is needed here. Why would just
one of the two more straightforward

struct membanks {
    struct membanks_hdr {
        unsigned int nr_banks;
        unsigned int max_banks;
    );
    struct membank bank[];
};

struct membanks {
    struct membanks_hdr {
        unsigned int nr_banks;
        unsigned int max_banks;
    ) common;
    struct membank bank[];
};

not do? (Perhaps the latter, seeing that you need the field name in ...

>  struct meminfo {
> -    struct membanks common;
> +    struct membanks_hdr common;
>      struct membank bank[NR_MEM_BANKS];
>  };
>  
>  struct shared_meminfo {
> -    struct membanks common;
> +    struct membanks_hdr common;
>      struct membank bank[NR_SHMEM_BANKS];
>      struct shmem_membank_extra extra[NR_SHMEM_BANKS];
>  };
> @@ -166,25 +168,25 @@ extern domid_t max_init_domid;
>  
>  static inline struct membanks *bootinfo_get_mem(void)
>  {
> -    return &bootinfo.mem.common;
> +    return container_of(&bootinfo.mem.common, struct membanks, common);
>  }

... container_of() uses.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 11:43:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 11:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714765.1116087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lt3-0002kR-4M; Tue, 30 Apr 2024 11:43:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714765.1116087; Tue, 30 Apr 2024 11:43:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1lt3-0002kK-1Q; Tue, 30 Apr 2024 11:43:05 +0000
Received: by outflank-mailman (input) for mailman id 714765;
 Tue, 30 Apr 2024 11:43: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1lt0-0002kE-Uf
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 11:43:02 +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 cca3be27-06e6-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 13:43:02 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-41a1d2a7b81so37697675e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 04:43: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
 n3-20020a05600c4f8300b0041be58cdf83sm12008766wmq.4.2024.04.30.04.43.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 04:43: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: cca3be27-06e6-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714477381; x=1715082181; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hlfRLkXu/zsik/9FKrNtbckUsn14hT6U140XTAc6xWE=;
        b=Qo3VKFM4KiIwC7sUT7Ue4ZXJ15oWXlt6UJ3GdxByYjsWsi/Bctdia8DQHrYDRyKk98
         nV6Bu97b4ro/QQbb3nf5oLYzJ24XnSlglPQH1DLSSCd9Qhjj/DgNdt9SXrKCfn1GGr4G
         OLjGO+IMicsJ5BTLWr84N9j5CkbN1Q/r+g15KN8TtXmJAFTlPITslgIISC9mJG0JDNON
         a4FP6uF8n+QTfHLL4Nnh/npg+Okn6qWP2CC+DgEQbHiJ3X+lZ9tCtfgeNyJenGLjeExt
         IJLblzcQsRhL6keI4BPffA1SWDDbC+cPfC233BIOa1qEe+ddf4rDyR7hAg+vRh9AmtOh
         k2jw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714477381; x=1715082181;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hlfRLkXu/zsik/9FKrNtbckUsn14hT6U140XTAc6xWE=;
        b=sg0bmXAl64fXCNtuye8uRwJImmLybCqf8WzXrrxbor5gKjwJaWaF18SE33kA2LcAvM
         JPlOcHBIRqAJSOxPQi6yvyH5CWXEtKmHjrr2XcOyMrBzbdeGSINUYLDrxp+A0dTjMCw3
         i2XLddi7VgF2Ufs9VwbSNmQRNIyWI+496ty3EjrnnfKWfaMvp2ULCmUh/UOAgO4fASIo
         izkt5Dum0Qlhxd1dRvABPzW48CZNDDBioBpO2xfgyile6Cy2QS4b6QeQf50asD9VT6QH
         BKuqvVH+9AH+XQBXZIXaWuqmiei0lRkV5ltX2zsiQ/B8xcC13HhkDGhMv6q6TvgWv4QH
         rMkw==
X-Forwarded-Encrypted: i=1; AJvYcCUIecztdFi2EYmbfPD/FPiW9sqYW7DnAAOeekVZtIj6jHTGY+gS6WJUHV3vSHiMbKnWgZUfid6MMOh4bTtzsPS/DEHbenTtKZD3xFWX6TQ=
X-Gm-Message-State: AOJu0Ywds8rM2joGinZRJG1fIn8cVgfo3RzfREF7nQNqbhKTbUlcGQ1E
	bsmgQg626NE0QQyAWD5c+ZloRHTfDxldbg3avmAa5tbr7NFmG4T9IMxroACWEw==
X-Google-Smtp-Source: AGHT+IE4XdFFNFONub6IPJ0Fh1kdVVcTKIV6OGhSp0pY71kl+blW4B4RRmuS3JgUNPTnqtN4/p/wjA==
X-Received: by 2002:a05:600c:5110:b0:418:c6a:1765 with SMTP id o16-20020a05600c511000b004180c6a1765mr2095186wms.16.1714477381292;
        Tue, 30 Apr 2024 04:43:01 -0700 (PDT)
Message-ID: <cd2352aa-e94b-43ef-b3fc-359cc1f43fb0@suse.com>
Date: Tue, 30 Apr 2024 13:43:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/kernel.h: Import __struct_group from Linux
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: consulting@bugseng.com, nicola.vetrini@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240430110922.15052-1-luca.fancellu@arm.com>
 <20240430110922.15052-2-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240430110922.15052-2-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.04.2024 13:09, Luca Fancellu wrote:
> --- a/xen/include/xen/kernel.h
> +++ b/xen/include/xen/kernel.h
> @@ -54,6 +54,27 @@
>          typeof_field(type, member) *__mptr = (ptr);             \
>          (type *)( (char *)__mptr - offsetof(type,member) );})
>  
> +/**
> + * __struct_group() - Create a mirrored named and anonyomous struct
> + *
> + * @TAG: The tag name for the named sub-struct (usually empty)
> + * @NAME: The identifier name of the mirrored sub-struct
> + * @ATTRS: Any struct attributes (usually empty)
> + * @MEMBERS: The member declarations for the mirrored structs
> + *
> + * Used to create an anonymous union of two structs with identical layout
> + * and size: one anonymous and one named. The former's members can be used
> + * normally without sub-struct naming, and the latter can be used to
> + * reason about the start, end, and size of the group of struct members.
> + * The named struct can also be explicitly tagged for layer reuse, as well
> + * as both having struct attributes appended.
> + */
> +#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
> +    union { \
> +        struct { MEMBERS } ATTRS; \
> +        struct TAG { MEMBERS } ATTRS NAME; \
> +    } ATTRS

Besides my hesitance towards having this construct, can you explain why
ATTR needs using 3 times, i.e. also on the wrapping union?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:06:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:06:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714783.1116097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mFu-0006bj-Cf; Tue, 30 Apr 2024 12:06:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714783.1116097; Tue, 30 Apr 2024 12: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 1s1mFu-0006bc-9E; Tue, 30 Apr 2024 12:06:42 +0000
Received: by outflank-mailman (input) for mailman id 714783;
 Tue, 30 Apr 2024 12:06: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1mFt-0006bW-A7
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:06:41 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a0346c1-06ea-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 14:06:40 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-34a32ba1962so4493389f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:06: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
 g2-20020a5d5542000000b0034720354152sm31838270wrw.117.2024.04.30.05.06.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 05:06: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: 1a0346c1-06ea-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714478799; x=1715083599; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=uBYB0KU75nEFt9ffW9ZeKwEeAIsRsojIbfhPCN2LxDk=;
        b=QNQ8YGtLp+sL44O7aBdRR3DO9hoaYHeWHlWCdpb/JIAUmmeh9c1TofGQR1kcDibFfR
         AGgikWk3IIDY97bYoIm+Q8C98AZ2bwixcvgLVsyeN0NftnUfgopiOpplNy7Yt+in0RV/
         GskHiV7s470HlYADqz9QHeP+QUpK/DHgboLkv+XRhcFAVi4eaZ1k36JhOwnWiE6Yo1c/
         KSgCf4NBqoJ/qz6Fyw+erar5Ei7Y636RR3bGsQLFqF1ab4L3OJptKBS20C1FJ3+QEocg
         3Rsp1KzvCdAqCKlMEgnhsLRHNBa1mgnnXwLYcdgWhaul3vkk7mGcMPDp6S2F7REoZiLj
         c//w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714478799; x=1715083599;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uBYB0KU75nEFt9ffW9ZeKwEeAIsRsojIbfhPCN2LxDk=;
        b=ix8bjZCaCTY27gDtcYE3QA8Sgf8zNLLUOgjr7d8f8wHZDCCQ3lqB5C/HJwNU4R4D6e
         IawwULcP1o8qNeYI3oFOrqfl2TRNG3/e2wecXlDu2AFb3BEu86++uyGf+Zs17nvWfPox
         xOVMoLkQ0LhqXw00wuxE2rBOydGcyqgSBrlCBXGrnxc/zMXtXIaMinCAFHvB+iE28m+9
         4M5dIaYOUR5TnsPBesFFEleXSDOC2SxqITtonY7eBqvgk/mz4biOeqYE/ZxCzQmt7zLP
         or4qB9m5JTk/BfmJE6Wz/L/8umI+6n5gLEPvhpkAvnmPLr2SL1TvaZN0YBLb/AeioF0/
         kP9A==
X-Forwarded-Encrypted: i=1; AJvYcCU0IF1P+g9DxtG7X7dZnyISu7yeiBtmLaMERJZDdpspsZyN2dgrv9KLUoSlw6pyvn8cNjE1uNQ72Cz9ar0AQJ6CoVJv1HG/qb3Vy3Ylch0=
X-Gm-Message-State: AOJu0YxcANe0IiKe+TMk9S8tWZDmPPO2So1Zyt71usn7EOPNZ1cMn3hP
	2perlIWu1NcwYAEtjDf9mtMMc7NbQBCKK9tZvYdQfvByBH4glqkAhVwaaWRmgg==
X-Google-Smtp-Source: AGHT+IGtM5G4E4B/DFSbOquO+pJd1NoZNXo+ArSWHVN1v1d1SDk/tMgutoTRY2O4kyIuCkxYmrI6kQ==
X-Received: by 2002:a5d:6d06:0:b0:349:8a92:7eda with SMTP id e6-20020a5d6d06000000b003498a927edamr9729805wrq.12.1714478799613;
        Tue, 30 Apr 2024 05:06:39 -0700 (PDT)
Message-ID: <f1e594f7-2bf2-4898-824f-abd407690644@suse.com>
Date: Tue, 30 Apr 2024 14:06:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.19] tools/xen-cpuid: switch to use cpu-policy
 defined names
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20240430082901.77662-1-roger.pau@citrix.com>
 <78d009f4-6610-4fcf-9cdc-ee1081e6c763@suse.com> <ZjDVN6kexFD0vcT2@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZjDVN6kexFD0vcT2@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.04.2024 13:25, Roger Pau Monné wrote:
> On Tue, Apr 30, 2024 at 12:37:44PM +0200, Jan Beulich wrote:
>> On 30.04.2024 10:29, Roger Pau Monne wrote:
>>>  static const struct {
>>>      const char *name;
>>>      const char *abbr;
>>> -    const char *const *strs;
>>
>> While how you're doing it looks all technically correct (so even without
>> changes I may later ack this as is), I'm still a little puzzled. I was
>> kind of expecting xen-cpuid.py to be extended to supply another (set
>> of) #define(s) more suitable for use here. In particular, while
>> performance surely isn't of much concern in this tool, ...
>>
>>> @@ -301,21 +52,32 @@ static const char *const fs_names[] = {
>>>      [XEN_SYSCTL_cpu_featureset_hvm_max] = "HVM Max",
>>>  };
>>>  
>>> -static void dump_leaf(uint32_t leaf, const char *const *strs)
>>> +static const char *find_name(unsigned int index)
>>>  {
>>> -    unsigned i;
>>> +    static const struct feature_name {
>>> +        const char *name;
>>> +        unsigned int bit;
>>> +    } feature_names[] = INIT_FEATURE_NAMES;
>>> +    unsigned int i;
>>>  
>>> -    if ( !strs )
>>> -    {
>>> -        printf(" ???");
>>> -        return;
>>> -    }
>>> +    for ( i = 0; i < ARRAY_SIZE(feature_names); i++ )
>>> +        if ( feature_names[i].bit == index )
>>> +            return feature_names[i].name;
>>
>> ... a linear search, repeated perhaps hundreds of times, looks still a
>> little odd to me.
> 
> I didn't benchmark what kind of performance impact this change would
> have on the tool, but I didn't think it was that relevant, as this is
> a diagnostic/debug tool, and hence performance (unless it took seconds
> to execute) shouldn't be that important.

As indicated, performance itself isn't much of a concern here. My earlier
question wants reading in relation to the other question raised, regarding
the script maybe wanting to produce macro(s) more suitable for the purpose
here.

> I could switch to a non-const array and sort it at the start in order
> to do a binary search, but that might be over engineering it.

Switching to non-const would in particular not seem overly desirable to
me.

>>> @@ -326,6 +88,7 @@ static void decode_featureset(const uint32_t *features,
>>>                                const char *name,
>>>                                bool detail)
>>>  {
>>> +    static const uint32_t known_features[] = INIT_KNOWN_FEATURES;
>>>      unsigned int i;
>>
>> So this variable exists solely to ...
>>
>>> @@ -336,11 +99,14 @@ static void decode_featureset(const uint32_t *features,
>>>      if ( !detail )
>>>          return;
>>>  
>>> -    for ( i = 0; i < length && i < ARRAY_SIZE(decodes); ++i )
>>> +    /* Ensure leaf names stay in sync with the policy leaf count. */
>>> +    BUILD_BUG_ON(ARRAY_SIZE(known_features) != ARRAY_SIZE(leaf_names));
>>
>> ... calculate its size here. Thus relying on the compiler to not flag
>> such effectively unused static const variables.
> 
> I wondered whether to add the unused attribute, but seeing as gitlab
> didn't complain I've forgot to add it.  I could add it.

Actually I was rather trying to hint at omitting the variable altogether,
like this:

   BUILD_BUG_ON(ARRAY_SIZE((unsigned[])INIT_KNOWN_FEATURES) != ARRAY_SIZE(leaf_names));

Yet I realize the look of it may not be liked, so adding the unused
attribute (if a suitable abstraction exists in the tool stack) would
probably be fine, too.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:19:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714792.1116107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mSU-00006P-9M; Tue, 30 Apr 2024 12:19:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714792.1116107; Tue, 30 Apr 2024 12:19:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mSU-00006I-69; Tue, 30 Apr 2024 12:19:42 +0000
Received: by outflank-mailman (input) for mailman id 714792;
 Tue, 30 Apr 2024 12:19: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1mSS-00006C-W3
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:19:40 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eac904c5-06eb-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 14:19:39 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-41bca450fa3so24516275e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:19: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
 ay24-20020a05600c1e1800b0041bf29ab003sm11347260wmb.30.2024.04.30.05.19.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 05:19: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: eac904c5-06eb-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714479579; x=1715084379; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0ZcUjqyzVTdpHgn1iZtxhz6bg4bk+ZqghakK4jIbI3U=;
        b=HSbHQPaa4nsB3VzCoeaLgNb5e/ZftRieQ7BkDBSqVv0B/zRxBJzIM1o9W4dZRdPJ5U
         mjIhgTA56o9oXbRdXnQiVSfU4Uob/1LRi4QibLIDRbFfpAj4pZnTjfWBDJYInt2OWU1S
         zc6QQWhwSi4gaxxuZbUDR5Twu/MIszKocCYT/a/0gwjix+4GgYCd6GgmMKG5PDrqhe5O
         Rm4Vc8cnrhGweaAqHObXdx/7D4uA4iT4Mvamn4xuDnYjdddf7ZnbeqNTrzrWOXfRPX3Q
         c+BxYCK+zzHzbUMyPXiwuCUwrK6NsNliXx1+wcNoEEA+bmpU6kpFwQK061hu1pKSWI6S
         KXCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714479579; x=1715084379;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0ZcUjqyzVTdpHgn1iZtxhz6bg4bk+ZqghakK4jIbI3U=;
        b=C//cHz7opj+jukD5PZ8aVv8ZkwJM5Jq6LRGXoW/JjQntoJBY0FQYVMlUz0/ZBLgYHt
         JSALVyX7eEUIe5FmsBANpZqEKiT4H21qoagtdBur7ZwezrTA1c8Rqy8uN8vLM5hl7uly
         loRSOsjWdT/wzHLh1Ua10Jiuon5WzcoTSRktRgYvgZjOdo+uVxoZEarTBC0GCtsMrJ+F
         wy0AdtUZT+KABTsGWaYfLQmuRlAZeWbvby3QDCmEjljut8WToN1rSwx7PfvdHISZiKuU
         3BjmjHWTtW6gtENp0le+XaR/HKZTNEsnBbR4uAFwderMAn7oJ34jBdQTisKklcGba2cZ
         GRag==
X-Forwarded-Encrypted: i=1; AJvYcCU+ohgvamgVFX9X7eosQImtuh0NSC53qkhKRkG2V3yrgYOXzEBAlBzvUBGQmgKcNDCykYuxcEdOzNhpZYxHZKNomxjz9HyMk7mQ6ZyaiB0=
X-Gm-Message-State: AOJu0YwBQufxB2B5MOkiaKKS3x3Gd2sQfAyCn49I44V2h55HkS2yOC3t
	OEoo8uyeJiVPZN8IId8VDPyavbZxDr1SLWV/3J0ssWosRlcE0Dmyge7eXzlB7A==
X-Google-Smtp-Source: AGHT+IGpKrBFV867hg0YDA93yqRIRqMa2Ji1EqYvK6/gijYaWKwCg8haPzx6BMn9KRbpsdVgwq6nmg==
X-Received: by 2002:a05:600c:468d:b0:418:427e:21f0 with SMTP id p13-20020a05600c468d00b00418427e21f0mr2045825wmo.8.1714479579333;
        Tue, 30 Apr 2024 05:19:39 -0700 (PDT)
Message-ID: <249214ee-9c2d-4f12-8af5-0779493323b1@suse.com>
Date: Tue, 30 Apr 2024 14:19:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 1/2] evtchn: Add error status indicators for
 evtchn_status hypercall
Content-Language: en-US
To: Matthew Barnes <matthew.barnes@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1714148012.git.matthew.barnes@cloud.com>
 <2f9544433fd9bb5c4b7ccccbacc27bc928f57dfb.1714148012.git.matthew.barnes@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2f9544433fd9bb5c4b7ccccbacc27bc928f57dfb.1714148012.git.matthew.barnes@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.04.2024 15:42, Matthew Barnes wrote:
> When the evtchn_status hypercall fails, it is not possible to determine
> the cause of the error, since the library call returns -1 to the tool
> and not the errno.

That's normal behavior for such library functions. If you want to know the
specific error number, you ought to look at the errno variable. Or are
you saying that errno isn't set correctly in this case (I can't spot such
an issue when looking at do_evtchn_op(), backing xc_evtchn_status())?

> --- a/xen/common/event_channel.c
> +++ b/xen/common/event_channel.c
> @@ -1030,7 +1030,17 @@ int evtchn_status(evtchn_status_t *status)
>  
>      d = rcu_lock_domain_by_any_id(dom);
>      if ( d == NULL )
> -        return -ESRCH;
> +    {
> +        status->status = EVTCHNSTAT_dom_invalid;
> +        return 0;

This surely ought to remain -ESRCH. You may not break existing callers.

> +    }
> +
> +    if ( !port_is_valid(d, port) )
> +    {
> +        status->status = EVTCHNSTAT_port_invalid;
> +        rcu_unlock_domain(d);
> +        return 0;
> +    }

I can see that for the purpose of patch 2 this wants distinguishing from

>      chn = _evtchn_from_port(d, port);
>      if ( !chn )

... the -EINVAL returned here. Yet "success" doesn't look correct there
either. -ENOENT, -EBADF, -ENFILE, or -EDOM maybe?

> --- a/xen/include/public/event_channel.h
> +++ b/xen/include/public/event_channel.h
> @@ -200,6 +200,8 @@ struct evtchn_status {
>  #define EVTCHNSTAT_pirq         3  /* Channel is bound to a phys IRQ line.   */
>  #define EVTCHNSTAT_virq         4  /* Channel is bound to a virtual IRQ line */
>  #define EVTCHNSTAT_ipi          5  /* Channel is bound to a virtual IPI line */
> +#define EVTCHNSTAT_dom_invalid  6  /* Given domain ID is not a valid domain  */
> +#define EVTCHNSTAT_port_invalid 7  /* Given port is not within valid range   */
>      uint32_t status;
>      uint32_t vcpu;                 /* VCPU to which this channel is bound.   */
>      union {

If such indicators are to be added, I'm pretty sure they want to be discontiguous
from the presently used range. Sadly, with status having unsigned type, using
negative values wouldn't feel quite right.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:46:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:46:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714804.1116117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mrq-0004fq-5l; Tue, 30 Apr 2024 12:45:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714804.1116117; Tue, 30 Apr 2024 12: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 1s1mrq-0004fj-3D; Tue, 30 Apr 2024 12:45:54 +0000
Received: by outflank-mailman (input) for mailman id 714804;
 Tue, 30 Apr 2024 12: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1mro-0004fd-DT
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:45:52 +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 927002fa-06ef-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 14:45:50 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-41bca450fa3so24733555e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:45: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
 c7-20020a05600c0a4700b0041b434e5869sm19907252wmq.43.2024.04.30.05.45.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 05:45:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 927002fa-06ef-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714481149; x=1715085949; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=fn8AdUIIW+67qtzypSNmCQ57THGG9csKI8vw90VjI/k=;
        b=LZVZXLGgYs9nSVL+O0SBUefsOLtx0zzdVYFhSpouNTq9FQeZOeBbarGZ9z7PzNnYDB
         N6UJoCezHG6HWE3fLw393G3kdRd6ER5S7qPmCGiPiDuhFHTk3ESDjetb1oa3Fs9RO4Kp
         +YuXcF1DsCrXUl3Hl61yfwck/BJAEicKucXyWgb2HPidjlTw9Iu2+IfyPlNrotTTq0Lg
         hYIVeld/fwtQ+3kEyRJb2hk8jwHWk1r81hv9LtxZ76t23XdXDvGaM2QSi1Gj1DrvwCN3
         pAR9c90cDBCOBD6h8Yu4GHMaKVfx4YhGUfy7E9iB4mEp8+i4OV7UZbvgV+BiUeo5J+jl
         RqqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481149; x=1715085949;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fn8AdUIIW+67qtzypSNmCQ57THGG9csKI8vw90VjI/k=;
        b=xIrLjWJFf4vybvGwinArae15x8rlFU5pWAeVfwpB9uzqobq7mTdr9LoYLpOS2HkLbz
         WQlOEeoyTYVZLC+2pFAIxtEJNsbvFMfP5sxV3M1ULj/LV3l+BQPv8C3hp+En3/LvSxCJ
         wsTOcTlzVaFjj9fhwzlp/nwAChp0bBqlgNT/KRv/M1h5LYO6/MrZjZbh42o4Ob0UCJ1S
         Gazx/D9PCMgQHvzJqntmF7NXtdOnfisaTY3qk1uOOuKrSB6FDPrfYMPMlheb8YiAgpK1
         Jv6Z751Yhagu4vUztXgke1qQPI/7ozwAorW5UbQ+IoGS5thTgvkaCqB6bdVu5epZP8B1
         74tQ==
X-Forwarded-Encrypted: i=1; AJvYcCXbiVIutUoZr4Yc5yxE/EKS4MAbMRgxQ6f24dsm5xonwGA8LeCzwO6E2veaDjOj0GnBHu1DrgARLKBGpfchaKVZM8rYId+srSVHPVvgsIw=
X-Gm-Message-State: AOJu0YyuIJUFfDZuDb7I1ix1kF1AnO4Ox1mHzO6/s/LpI6sBBaiIQxvc
	ch+yx/8kerTjz0X/ZuHXxwF1jgqTRdnyqaDOKY0Et59lJQOQn6zFh306BHamtA==
X-Google-Smtp-Source: AGHT+IGCjS2vXVMycPlAz/ruD2zhYG9nhbbWw55kjLXYVeVWFSER/hqR/diVBZz8dmPmT/au+0+Yow==
X-Received: by 2002:a05:600c:501f:b0:41b:b884:f151 with SMTP id n31-20020a05600c501f00b0041bb884f151mr2070405wmr.34.1714481149058;
        Tue, 30 Apr 2024 05:45:49 -0700 (PDT)
Message-ID: <766b178a-5e32-437f-ac02-4cb9ad8cb248@suse.com>
Date: Tue, 30 Apr 2024 14:45:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/cpu-policy: Infrastructure for the AMD SVM and
 SEV leaves
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240429151625.977884-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.04.2024 17:16, Andrew Cooper wrote:
> Allocate two new feature leaves, and extend cpu_policy with the non-feature
> fields too.
> 
> The CPUID dependency between the SVM bit on the whole SVM leaf is
> intentionally deferred, to avoid transiently breaking nested virt.

In reply to this I meant to ask that you at least add those dependencies in
commented-out form, such that from looking at gen-cpuid.py it becomes clear
they're intentionally omitted. But you don't add feature identifiers either,
making dependencies impossible to express. Maybe this sentence was really
meant for another of the patches? (Then my request would actually apply
there.)

> @@ -296,7 +298,16 @@ struct cpu_policy
>              uint32_t /* d */:32;
>  
>              uint64_t :64, :64; /* Leaf 0x80000009. */
> -            uint64_t :64, :64; /* Leaf 0x8000000a - SVM rev and features. */
> +
> +            /* Leaf 0x8000000a - SVM rev and features. */
> +            uint8_t svm_rev, :8, :8, :8;
> +            uint32_t /* b */ :32;
> +            uint32_t nr_asids;

According to the doc I'm looking at it is %ebx which holds the number of
ASIDs and %ecx is reserved. With that adjusted
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:47:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714808.1116137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtP-0005KK-4T; Tue, 30 Apr 2024 12:47:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714808.1116137; Tue, 30 Apr 2024 12:47:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtO-0005Id-W9; Tue, 30 Apr 2024 12:47:30 +0000
Received: by outflank-mailman (input) for mailman id 714808;
 Tue, 30 Apr 2024 12:47: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=OGtk=MD=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1s1mtN-0005B4-Qw
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:47:29 +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 cd38ed5c-06ef-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 14:47:28 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a587831809eso676291566b.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:47:28 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e14-20020a170906504e00b00a558014ab2csm14165324ejk.145.2024.04.30.05.47.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 05:47: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: cd38ed5c-06ef-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714481247; x=1715086047; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9wz3B6+A8lhOeY7j5+k4dVHqDybst4sg6UIDJkawnmo=;
        b=IbnB0jASRMYRdb9IRHzJaIpgfteLF8PAoWBZcLNnGdqizogHUESjHJEisQ7mqusvlp
         toNJ31SXZwPpMX4hDRds0DAvQcLKDoznoGk6QLmCKGFBNK51zRpbZgXjBTW1aQ9AcaU8
         YrYAcP/KBEWgze2JOd1aS91Js6QfHkEHmpm9Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481247; x=1715086047;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9wz3B6+A8lhOeY7j5+k4dVHqDybst4sg6UIDJkawnmo=;
        b=GITH2oHyGGnLqIwk+jiZsaOD6ORC1IBL1uG7VZffdAyWknQmlVGrbpRTx/TdaJuIVM
         k4OpFpmmPPL2ZqKj03fwRBYmw51E9DUgReS2mVkkselv3Se5jJSwYlb1HZk6/qjV9as/
         Axv8oTlQ3nepU50e4JSppgzmx8wPVOssR51GvNNNHTmB+G5SQlDEs2OS1WLCizQQ9sms
         iYwvMeY1h4UNN2BCSRQOtci3eLMIf9bGyQFORuq3k5DV//5B5GuiEvC/b2KLlAruOQGf
         J52mLkIFVrp1BEmpweTacv+PD2lJeSpYaucrm5yhGMp4bgwtRCt0b+m8aViLGAAq8qf6
         yarA==
X-Gm-Message-State: AOJu0YxWbpJ01csmS/wFEjCee5RkxRqnkB9qium3cluULBdzzxKqd4LE
	uI/WVy2aFFouhs9+U7yXwil4WXuKZ74HciSKBV5lwaZABppgdSMizx4yLJmwnTpyHzRGP6P8FLn
	N
X-Google-Smtp-Source: AGHT+IFT7PZwNx8GQNYXEBmUxl3prPSWZyeNF8iQMPJam7XqVplZbEjnynY9LtbJ7JXqxK+WUnqmhg==
X-Received: by 2002:a17:906:f20e:b0:a58:fabc:4a02 with SMTP id gt14-20020a170906f20e00b00a58fabc4a02mr5124437ejb.39.1714481247604;
        Tue, 30 Apr 2024 05:47:27 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 2/5] x86: Refactor microcode_update() hypercall with flags
Date: Tue, 30 Apr 2024 13:47:06 +0100
Message-ID: <20240430124709.865183-3-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240430124709.865183-1-fouad.hilly@cloud.com>
References: <20240430124709.865183-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor microcode_update() by adding a flags field.
struct xenpf_microcode_update2 added with uint32_t flags field.
Introduce XENPF_microcode_update2 hypercall to handle flags field.
Introduce ucode_force_flag to microcode_update_helper.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
[v3]
1- Updated Commit message description.
2- Revereted changes to a stable ABI and introduced a new struct.
3- ucode_force_flag updated from static to a local variable.
4- microcode_update() updated to reject unsupported flags yet.

[v2]
1- Update message description to highlight interface change.
2- Removed extra empty lines.
3- removed unnecessary define.
4- Corrected long lines.
5- Removed ternary operator.
6- Introduced static ucode_update_flags, which will be used later to determine local ucode_force_flag.
 xen/arch/x86/cpu/microcode/core.c    | 15 ++++++++++++---
 xen/arch/x86/include/asm/microcode.h |  3 ++-
 xen/arch/x86/platform_hypercall.c    | 12 +++++++++++-
 xen/include/public/platform.h        | 14 ++++++++++++++
 4 files changed, 39 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index e738a88f5cd1..4a18ddd2683b 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -40,6 +40,8 @@
 #include <asm/processor.h>
 #include <asm/setup.h>
 
+#include <public/platform.h>
+
 #include "private.h"
 
 /*
@@ -570,6 +572,7 @@ static int cf_check do_microcode_update(void *patch)
 }
 
 struct ucode_buf {
+    unsigned int flags;
     unsigned int len;
     char buffer[];
 };
@@ -580,6 +583,7 @@ static long cf_check microcode_update_helper(void *data)
     struct ucode_buf *buffer = data;
     unsigned int cpu, updated;
     struct microcode_patch *patch;
+    bool ucode_force_flag = buffer->flags == XENPF_UCODE_FLAG_FORCE_SET;
 
     /* cpu_online_map must not change during update */
     if ( !get_cpu_maps() )
@@ -633,12 +637,12 @@ static long cf_check microcode_update_helper(void *data)
                                   microcode_cache);
 
         if ( result != NEW_UCODE &&
-             !(opt_ucode_allow_same && result == SAME_UCODE) )
+             !((opt_ucode_allow_same || ucode_force_flag) && result == SAME_UCODE) )
         {
             spin_unlock(&microcode_mutex);
             printk(XENLOG_WARNING
                    "microcode: couldn't find any newer%s revision in the provided blob!\n",
-                   opt_ucode_allow_same ? " (or the same)" : "");
+                   (opt_ucode_allow_same || ucode_force_flag) ? " (or the same)" : "");
             microcode_free_patch(patch);
             ret = -ENOENT;
 
@@ -708,11 +712,15 @@ static long cf_check microcode_update_helper(void *data)
     return ret;
 }
 
-int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
+int microcode_update(XEN_GUEST_HANDLE(const_void) buf,
+                     unsigned long len, unsigned int flags)
 {
     int ret;
     struct ucode_buf *buffer;
 
+    if ( flags > 1 )
+        return -EINVAL;
+
     if ( len != (uint32_t)len )
         return -E2BIG;
 
@@ -730,6 +738,7 @@ int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
         return -EFAULT;
     }
     buffer->len = len;
+    buffer->flags = flags;
 
     /*
      * Always queue microcode_update_helper() on CPU0.  Most of the logic
diff --git a/xen/arch/x86/include/asm/microcode.h b/xen/arch/x86/include/asm/microcode.h
index 8f59b20b0289..57c08205d475 100644
--- a/xen/arch/x86/include/asm/microcode.h
+++ b/xen/arch/x86/include/asm/microcode.h
@@ -22,7 +22,8 @@ struct cpu_signature {
 DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
 
 void microcode_set_module(unsigned int idx);
-int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len);
+int microcode_update(XEN_GUEST_HANDLE(const_void) buf,
+                     unsigned long len, unsigned int flags);
 int early_microcode_init(unsigned long *module_map,
                          const struct multiboot_info *mbi);
 int microcode_init_cache(unsigned long *module_map,
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 95467b88ab64..a22f2929896e 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -311,7 +311,17 @@ ret_t do_platform_op(
 
         guest_from_compat_handle(data, op->u.microcode.data);
 
-        ret = microcode_update(data, op->u.microcode.length);
+        ret = microcode_update(data, op->u.microcode.length, 0);
+        break;
+    }
+
+    case XENPF_microcode_update2:
+    {
+        XEN_GUEST_HANDLE(const_void) data;
+
+        guest_from_compat_handle(data, op->u.microcode2.data);
+
+        ret = microcode_update(data, op->u.microcode2.length, op->u.microcode2.flags);
         break;
     }
 
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 15777b541690..a30de7153779 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -624,6 +624,19 @@ struct xenpf_ucode_revision {
 typedef struct xenpf_ucode_revision xenpf_ucode_revision_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_ucode_revision_t);
 
+/* Hypercall to microcode_update with flags */
+#define XENPF_microcode_update2    66
+struct xenpf_microcode_update2 {
+    /* IN variables. */
+    uint32_t flags;                   /* Flags to be passed with ucode. */
+/* Force to skip microcode version check when set */
+#define XENPF_UCODE_FLAG_FORCE_SET     1
+    uint32_t length;                  /* Length of microcode data. */
+    XEN_GUEST_HANDLE(const_void) data;/* Pointer to microcode data */
+};
+typedef struct xenpf_microcode_update2 xenpf_microcode_update2_t;
+DEFINE_XEN_GUEST_HANDLE(xenpf_microcode_update2_t);
+
 /*
  * ` enum neg_errnoval
  * ` HYPERVISOR_platform_op(const struct xen_platform_op*);
@@ -656,6 +669,7 @@ struct xen_platform_op {
         xenpf_symdata_t               symdata;
         xenpf_dom0_console_t          dom0_console;
         xenpf_ucode_revision_t        ucode_revision;
+        xenpf_microcode_update2_t     microcode2;
         uint8_t                       pad[128];
     } u;
 };
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:47:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714809.1116144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtP-0005R0-Gk; Tue, 30 Apr 2024 12:47:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714809.1116144; Tue, 30 Apr 2024 12:47:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtP-0005PA-93; Tue, 30 Apr 2024 12:47:31 +0000
Received: by outflank-mailman (input) for mailman id 714809;
 Tue, 30 Apr 2024 12:47:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OGtk=MD=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1s1mtO-0005B4-8h
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:47:30 +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 cdfffa86-06ef-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 14:47:29 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a55bf737cecso668767266b.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:47:29 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e14-20020a170906504e00b00a558014ab2csm14165324ejk.145.2024.04.30.05.47.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 05:47:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdfffa86-06ef-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714481249; x=1715086049; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xetGCzyng7oSVdEu+g4DSoDeJEZCA8694EpUidgaMa8=;
        b=gdpPgm6+e3ajxiUMY3jXIiXPq8OTWW3wmlCviUCMp2XYArpzW6kJ6qUutIxeLy9SHA
         HZSmMXvUodJ7t1fMHWXwFCsugYGkVFigyb8T4RINqeaJi9OfTLchH9MhlRr6HAdBnqi8
         JYy0MaCvdZud0Jnjv4BVkXpf98+/CdAIUau9w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481249; x=1715086049;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xetGCzyng7oSVdEu+g4DSoDeJEZCA8694EpUidgaMa8=;
        b=bIFdImaSu8mRR8GvGHqoZr0BW+iBSi99UXMQdVbNg94K8Yo8bNS1gnz/Pm9+ZkG35l
         Ax0eJfaARBvktCQCy6Iuzbi2wSf/wBAlTq5BhRFhDTn4071HilNa11mf3AQUwMQlYH+J
         Z1kvlohzYh/POrTRLLBxoJ7bCTWDwIHDUbvbdh8UhKtF08JQIqfIwA9J5Xjap839iY3W
         4yOC3GSjFvQvQSexY/WyWTRz4JEXq6iaa/nhLyjFiyKh7CerBWXPeK4rrYtPfzugbjYy
         L6f9jFcQ18Rzb+B23P3K9GFDgyieErcqzXVlJkxwnSzdEzlZJybiHBSKTtEPhVCI/Mua
         i/Gw==
X-Gm-Message-State: AOJu0YzVV09/he7n0Ivrmvxt+JkrYezkWazgWRRSEEGdiYSp7XRONqUn
	J75wvHzE8j+xl74yBJQs5jKfd+pWmNKoMBqdmyRw2kYPa0XCO13zBMBZyQ3kCzD015hkppleIdj
	j
X-Google-Smtp-Source: AGHT+IEgypZzUkmtEkoARhyE6vL2FcIm90aW/XVJnTNlJjgUCAOSBS4YAT210l6216z9vbqk/+S3bw==
X-Received: by 2002:a17:906:698e:b0:a52:58a7:11d1 with SMTP id i14-20020a170906698e00b00a5258a711d1mr8632442ejr.38.1714481248942;
        Tue, 30 Apr 2024 05:47:28 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony@xenproject.org>
Subject: [PATCH v3 4/5] x86: Use getopt to handle command line args
Date: Tue, 30 Apr 2024 13:47:08 +0100
Message-ID: <20240430124709.865183-5-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240430124709.865183-1-fouad.hilly@cloud.com>
References: <20240430124709.865183-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use getopt_long() to handle command line arguments.
Introduce ext_err for common exit with errors.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
[v3]
1- Exit with error prints erros only to stderr.
2- Remove argc checks.
3- Utilize optind.

[v2]
1- Removed unnecessary NULL initialization.
2- Used static at the beginning of type struct declaration.
3- Corrected switch\case indentations.
4- Removed redundant checks.
5- Corrected label indentation.
 tools/misc/xen-ucode.c | 45 +++++++++++++++++++++++++++++++-----------
 1 file changed, 33 insertions(+), 12 deletions(-)

diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index 005bf85b6551..d95f967f021b 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -11,6 +11,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <xenctrl.h>
+#include <getopt.h>
 
 static xc_interface *xch;
 
@@ -20,7 +21,10 @@ static const char   amd_id[] = "AuthenticAMD";
 static void usage(const char *name)
 {
     printf("%s: Xen microcode updating tool\n"
-           "Usage: %s [<microcode file> | show-cpu-info]\n",
+           "Usage: %s [<microcode file> | Options]\n"
+           "options:\n"
+           "  -h, --help            display this help and exit\n"
+           "  -s, --show-cpu-info   show CPU information and exit\n",
            name, name);
 }
 
@@ -84,6 +88,13 @@ int main(int argc, char *argv[])
     char *filename, *buf;
     size_t len;
     struct stat st;
+    int opt;
+
+    static const struct option options[] = {
+        {"help", no_argument, NULL, 'h'},
+        {"show-cpu-info", no_argument, NULL, 's'},
+        {NULL, no_argument, NULL, 0}
+    };
 
     xch = xc_interface_open(NULL, NULL, 0);
     if ( xch == NULL )
@@ -93,21 +104,25 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    if ( argc < 2 )
+    while ( (opt = getopt_long(argc, argv, "hs", options, NULL)) != -1 )
     {
-        fprintf(stderr,
-                "%s: unable to process command line arguments\n", argv[0]);
-        usage(argv[0]);
-        exit(2);
+        switch (opt)
+        {
+        case 'h':
+            usage(argv[0]);
+            exit(EXIT_SUCCESS);
+        case 's':
+            show_curr_cpu(stdout);
+            exit(EXIT_SUCCESS);
+        default:
+            goto ext_err;
+        }
     }
 
-    if ( !strcmp(argv[1], "show-cpu-info") )
-    {
-        show_curr_cpu(stdout);
-        return 0;
-    }
+    if ( optind == argc )
+        goto ext_err;
 
-    filename = argv[1];
+    filename = argv[optind];
     fd = open(filename, O_RDONLY);
     if ( fd < 0 )
     {
@@ -149,4 +164,10 @@ int main(int argc, char *argv[])
     close(fd);
 
     return 0;
+
+ ext_err:
+    fprintf(stderr,
+            "%s: unable to process command line arguments\n", argv[0]);
+    usage(argv[0]);
+    exit(EXIT_FAILURE);
 }
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:47:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714806.1116127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtO-0005BR-Fe; Tue, 30 Apr 2024 12:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714806.1116127; Tue, 30 Apr 2024 12:47:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtO-0005BJ-Cb; Tue, 30 Apr 2024 12:47:30 +0000
Received: by outflank-mailman (input) for mailman id 714806;
 Tue, 30 Apr 2024 12:47:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OGtk=MD=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1s1mtM-0005Ay-SM
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:47:28 +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 cc53207d-06ef-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 14:47:26 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a55911bff66so691582866b.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:47:26 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e14-20020a170906504e00b00a558014ab2csm14165324ejk.145.2024.04.30.05.47.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 05:47:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc53207d-06ef-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714481246; x=1715086046; 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=F/3Z8kC2ZWmbOhYO1tAnyDEQujCWIxWiDUkHRYm3iqo=;
        b=LEXe4UlgDLJqw+83HhsRjo3krl8zEryqGDo1i+c6METHj+QD9SNt13RxRn2vdYsrKy
         ycMJIcaGPRSsp357ZCH4G21/a0QEkmSxONjhB3+sV2NC2lAoJOE3N2/AFNVZo9rpz/el
         h+QxUYYg3SEfdECBYVb2DGERZ3WF9Ik8xLZ+Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481246; x=1715086046;
        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=F/3Z8kC2ZWmbOhYO1tAnyDEQujCWIxWiDUkHRYm3iqo=;
        b=t5GgrBwps1xyohnSy/VoLKM88m8UFvmg+SmR2SleflbUqVC4PmIJT8y1WeVoMVeKNx
         YeUB4N+voDru/1Jn43BcLdX11pv4nfMwR+PmwM5TQ9/VpbvF1jQAO4x5aYNmK0M7wehK
         Bt/iSG2xHyvkzPg0yoUMuwcL0nzKoYRFZO69HgzP7Q6eVLVGobfeavcb27CAYZZC5OBW
         98dvQEhebsCCi/vZdRFzxFhhNIuZrgCkoPQr7SicuuBxH5i43hPe0PQOBnMHg+hLvbSW
         WLE8qP+4o3PJF4OczFfsDX+uYsyrbbe7pbgBEiq1Y31+G871midFzgUYmpQUaBGYLboX
         Z4FA==
X-Gm-Message-State: AOJu0YwOPhB5ddAcTwFWIWEHgcRliZQzcgBvd6BdRwbodjL1olACn0WI
	t/EKinumg739t4tNFSplNPW+IsVuMDqSL18+XhNdSWJjPVeUPdTNDDg04fR0Dw4oCQ5bTUyR4tL
	k
X-Google-Smtp-Source: AGHT+IH8wMmIRSmYHYE3gK5HPYgamJ080gfvcaIyOY7muCualaNhVt2ijjkEvC7BsbS9RMKI612Iiw==
X-Received: by 2002:a17:906:194b:b0:a58:c0a1:f22e with SMTP id b11-20020a170906194b00b00a58c0a1f22emr7629631eje.2.1714481245974;
        Tue, 30 Apr 2024 05:47:25 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 0/5] x86/xen-ucode: Introduce --force option
Date: Tue, 30 Apr 2024 13:47:04 +0100
Message-ID: <20240430124709.865183-1-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor and introduce --force option to xen-ucode, which skips microcode
version check when updating x86 CPU micocode. A new hypercall introduced
with flags field to facilitate the new option and allow for future flags
as needed.
This change is required to enable developers to load ucode that is the same version as the
one already loaded for testing. On top of that Intel is introducing "min rev", which will
require a mechanism to override version checks

Fouad Hilly (5):
  x86: Update x86 low level version check of microcode
  x86: Refactor microcode_update() hypercall with flags
  x86: Add usage() to print out usage message
  x86: Use getopt to handle command line args
  Add --force option to xen-ucode to override microcode version check

 tools/include/xenctrl.h              |  3 +-
 tools/libs/ctrl/xc_misc.c            | 12 +++---
 tools/misc/xen-ucode.c               | 61 ++++++++++++++++++++++------
 xen/arch/x86/cpu/microcode/amd.c     |  7 ++--
 xen/arch/x86/cpu/microcode/core.c    | 15 +++++--
 xen/arch/x86/cpu/microcode/intel.c   | 10 ++---
 xen/arch/x86/include/asm/microcode.h |  3 +-
 xen/arch/x86/platform_hypercall.c    | 12 +++++-
 xen/include/public/platform.h        | 14 +++++++
 9 files changed, 103 insertions(+), 34 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:47:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714807.1116133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtO-0005Ga-Si; Tue, 30 Apr 2024 12:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714807.1116133; Tue, 30 Apr 2024 12:47:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtO-0005Es-Nw; Tue, 30 Apr 2024 12:47:30 +0000
Received: by outflank-mailman (input) for mailman id 714807;
 Tue, 30 Apr 2024 12:47:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OGtk=MD=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1s1mtN-0005Ay-IT
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:47:29 +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 ccd0812e-06ef-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 14:47:27 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a58a36008ceso662040466b.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:47:27 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e14-20020a170906504e00b00a558014ab2csm14165324ejk.145.2024.04.30.05.47.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 05: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: ccd0812e-06ef-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714481247; x=1715086047; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bxvxpeo53t3s7EbhOvzZRsMHHwhI5TdimldfKLtVGMc=;
        b=fMdFeSM77EzxJp2l/OGOd8Lh5enogyE7Z5gqUov6cc1h/XPMrdnlXsGhmFJ42aPMOj
         Yc7SBBVtGd+QuQWgdffsAvQ1/wPeCaykd3ue1fZbuEPtJBloiF5i8YYqZ6T4Fr+nQdDN
         UwcZDD3CrgOr33lRLHNeskfo7cGyhmRehqaHQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481247; x=1715086047;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bxvxpeo53t3s7EbhOvzZRsMHHwhI5TdimldfKLtVGMc=;
        b=E/MXkPvfXZ+OBvsAr0voYSJPR8cyBrTXSHnpRnJbkdwqii6gBcbmxWxEXtkbUsqeEs
         bVVgSk/UNTYg+ePLXVU3dA0yp53PYzT3+FFScyhzTSEhHCGUYnLYrjWt+q+0UWJWyD69
         O8oURqRxmOlhRq7/TojKsUtjsqEkXA2EUPPwfd0vZXVMSkfN9jkk0n9waL0Txpsl8vSO
         +lEszZiMh5+2Ej6FJsICBBoUP+OlwwPHJaD4Rl4BHeeRGdOWhGW125EAkjjtT8hVCCFh
         jLr/BGh0wCZ9wZpG6Zcduo+IxFRs5o4KIfKE5ThyZj9CzOwjr83S8JwJUVUUWt0OKt36
         hrAg==
X-Gm-Message-State: AOJu0Yy0Wyni/BIflDxW5siG5huPWJ+iZEjrPIQ8aO0Qxch2rv5L/EGF
	bB309XC+pjFq8J2+JUDuDpj+CgcVvtyjHzxzUTT0p0UEDGLcOkKPWEptc0TIBMbzFJZWdr9AclJ
	X
X-Google-Smtp-Source: AGHT+IEYkZIzhUEArnmSrlxLG95tEEeoD8rk4qvgtIN3V+ZO4wpE/Zw2bddMmewo+3ca9v7SmEH5/g==
X-Received: by 2002:a17:906:5fd3:b0:a58:e8c7:c0ae with SMTP id k19-20020a1709065fd300b00a58e8c7c0aemr6933947ejv.16.1714481246781;
        Tue, 30 Apr 2024 05:47:26 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@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/5] x86: Update x86 low level version check of microcode
Date: Tue, 30 Apr 2024 13:47:05 +0100
Message-ID: <20240430124709.865183-2-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240430124709.865183-1-fouad.hilly@cloud.com>
References: <20240430124709.865183-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update microcode version check at Intel and AMD Level by:
Preventing the low level code from sending errors if the microcode
version is not a newer version. this is required to allow developers to do
ucode loading testing, including the introduction of Intel "min rev" field,
which requires an override mechanism for newer version checks. Even though
the check for newer is removed at this level, it still exists at higher
common level, where by default only newer version will be processed.
The option to override version check, will be added as part of this patch
series.
Other errors will be handled as required at this level.
Keep all the required code at low level that checks for signature and CPU compatibility

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
[v3]
1- Update intel code to return errors in case of invalid microcode only.
2- Update code comments.
3- Update commit message and its description

[v2]
Update message description to better describe the changes
 xen/arch/x86/cpu/microcode/amd.c   |  7 +++----
 xen/arch/x86/cpu/microcode/intel.c | 10 ++++------
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 17e68697d5bf..316469ec06e4 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -384,11 +384,10 @@ static struct microcode_patch *cf_check cpu_request_microcode(
             }
 
             /*
-             * If the new ucode covers current CPU, compare ucodes and store the
-             * one with higher revision.
+             * If the microcode covers current CPU, then store its
+             * revision.
              */
-            if ( (microcode_fits(mc->patch) != MIS_UCODE) &&
-                 (!saved || (compare_header(mc->patch, saved) == NEW_UCODE)) )
+            if ( (microcode_fits(mc->patch) != MIS_UCODE) && !saved )
             {
                 saved = mc->patch;
                 saved_size = mc->len;
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 96f34b336b21..de9115974d08 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -294,8 +294,7 @@ static int cf_check apply_microcode(const struct microcode_patch *patch)
 
     result = microcode_update_match(patch);
 
-    if ( result != NEW_UCODE &&
-         !(opt_ucode_allow_same && result == SAME_UCODE) )
+    if ( result == MIS_UCODE )
         return -EINVAL;
 
     wbinvd();
@@ -355,11 +354,10 @@ static struct microcode_patch *cf_check cpu_request_microcode(
             break;
 
         /*
-         * If the new update covers current CPU, compare updates and store the
-         * one with higher revision.
+         * If the microcode covers current CPU, then store its
+         * revision.
          */
-        if ( (microcode_update_match(mc) != MIS_UCODE) &&
-             (!saved || compare_revisions(saved->rev, mc->rev) == NEW_UCODE) )
+        if ( (microcode_update_match(mc) != MIS_UCODE) && !saved )
             saved = mc;
 
         buf  += blob_size;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:47:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:47:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714810.1116164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtQ-0005yS-QW; Tue, 30 Apr 2024 12:47:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714810.1116164; Tue, 30 Apr 2024 12:47:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtQ-0005wM-Hc; Tue, 30 Apr 2024 12:47:32 +0000
Received: by outflank-mailman (input) for mailman id 714810;
 Tue, 30 Apr 2024 12:47:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OGtk=MD=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1s1mtO-0005Ay-N9
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:47:30 +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 cdd7ce2c-06ef-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 14:47:29 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-518a56cdbcfso8997161e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:47:29 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e14-20020a170906504e00b00a558014ab2csm14165324ejk.145.2024.04.30.05.47.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 05:47: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: cdd7ce2c-06ef-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714481248; x=1715086048; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jMReDGOEMqkK5y2P+7Ej6yo+s3bsc3gfBuc2Q1pLAao=;
        b=glHZUERr4k4RGeJoGKRdMLcuJBVoOQiDaLvwf27snXrzz3LRdtadckUA8M6Q38rRIU
         mbo36gX0r+jXUi5edDTwEV1PYik4z9QfYPNxdvL++l3jqLm33aH6df6Q1z6H2mt/+yID
         4tasSTcITdZJv0pSfyu81qc7KGtn4qMk78yK4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481248; x=1715086048;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jMReDGOEMqkK5y2P+7Ej6yo+s3bsc3gfBuc2Q1pLAao=;
        b=NzrC+pPV+DW2z/eCmKAJIqZYvIG++DzTCLZObH8ABvsCSKlKuehDW1lNWrqGGrt9cZ
         xumfVkUx+8xDrYES3HqTj7gVo327icjuKXVI6L2D3YCe8ZiE6NWvSsD9VNeDcTAQ6QDW
         yRrq6Zd1pTI0VyoUbGRDa62CqtjESpQtqX/KcdPQp5ncDr/3KWRkIQ98YLEg+fWHMIFw
         No9Pbmt7LwNKasuvBrPMV7ol8u/mWsKP7nYYZ0982f6OQJ4tkaXlQq+r3Io2j+p8t0Rb
         XeS2Nrvuza4rUM/kmM09RpdmvkpYIGYuB9BssITGsNdHWhotA1/CSLwEPeQ17ZEQG+SA
         AgUQ==
X-Gm-Message-State: AOJu0YwPlmEmze6fut/fb0XcyS/tE5iLE+tEX1irrmZwnFpDS7UZ5ucy
	eLwWUMV2TegVZREfBFozzOXy0YblBj5SuWJ9YXO10XyifWf+8X7pdkvvaMPyfE9ZcV9Faq8YGVO
	G
X-Google-Smtp-Source: AGHT+IHUwWP4GYjp6G7GfRPpu9qFMwfVdEn0Y2viDmq5lbzPCwk6pgFIaP4qGODGMHtj+4BgPfs15w==
X-Received: by 2002:a05:6512:33c1:b0:51d:aeae:27f6 with SMTP id d1-20020a05651233c100b0051daeae27f6mr6610139lfg.16.1714481248344;
        Tue, 30 Apr 2024 05:47:28 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony@xenproject.org>
Subject: [PATCH v3 3/5] x86: Add usage() to print out usage message
Date: Tue, 30 Apr 2024 13:47:07 +0100
Message-ID: <20240430124709.865183-4-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240430124709.865183-1-fouad.hilly@cloud.com>
References: <20240430124709.865183-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor xen-ucode tool by adding usage() to handle usage\help messages.
As we add more command options this will keep help\usage messages in a common block.
Only generic error message is printed to stderr. usage and show_curr_cpu are printed to stdout.

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
---
[v3]
1- Reverted usage message.
2- Utilized usage().

[v2]
1- Improved message description.
2- Fixed formatting and indentation.
3- Error message to print to stderr.
 tools/misc/xen-ucode.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index c6ae6498d659..005bf85b6551 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -17,6 +17,13 @@ static xc_interface *xch;
 static const char intel_id[] = "GenuineIntel";
 static const char   amd_id[] = "AuthenticAMD";
 
+static void usage(const char *name)
+{
+    printf("%s: Xen microcode updating tool\n"
+           "Usage: %s [<microcode file> | show-cpu-info]\n",
+           name, name);
+}
+
 static void show_curr_cpu(FILE *f)
 {
     int ret;
@@ -89,9 +96,8 @@ int main(int argc, char *argv[])
     if ( argc < 2 )
     {
         fprintf(stderr,
-                "xen-ucode: Xen microcode updating tool\n"
-                "Usage: %s [<microcode file> | show-cpu-info]\n", argv[0]);
-        show_curr_cpu(stderr);
+                "%s: unable to process command line arguments\n", argv[0]);
+        usage(argv[0]);
         exit(2);
     }
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:47:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:47:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714811.1116176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1mtS-0006NL-2X; Tue, 30 Apr 2024 12:47:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714811.1116176; Tue, 30 Apr 2024 12: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 1s1mtR-0006Mv-S6; Tue, 30 Apr 2024 12:47:33 +0000
Received: by outflank-mailman (input) for mailman id 714811;
 Tue, 30 Apr 2024 12:47: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=OGtk=MD=cloud.com=fouad.hilly@srs-se1.protection.inumbo.net>)
 id 1s1mtP-0005Ay-PC
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:47: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 ce6a27ca-06ef-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 14:47:30 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a58fbbcd77aso288956466b.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:47:30 -0700 (PDT)
Received: from fhilly.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e14-20020a170906504e00b00a558014ab2csm14165324ejk.145.2024.04.30.05.47.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 05:47: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: ce6a27ca-06ef-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714481249; x=1715086049; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wMnmkNjA1BInUsP0IVDeKNq5vnJN5ZIs/BtVpY7OG3w=;
        b=jFK1RWmnT/FqkJSImpJEaqk9iZdHGtwfxqVT0nJhizHmJVhTkT9+/My/84Vud0Bv3y
         fhq4h59UGjWuE48/l74N7q/1R/0nhZx3BRRIqq8pYw4aJEFqzIz2KEjIWLFmogAPrFmg
         tRxgtnT60fL+CjBd/61tawyRtPTOJg5G+my7E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481249; x=1715086049;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wMnmkNjA1BInUsP0IVDeKNq5vnJN5ZIs/BtVpY7OG3w=;
        b=SJe8PSxvRnnEuhZ2qnW4LPnRBgapMrGA78VrL3dAT3KDlKBSVMtDJJapjr/9K2wJIe
         ua2ASjtCdSM2INp+gfjfu80LrVv5ZV9pc71LS0lvaUYy92Nw1ulo0mp4vR5rNCMoty/N
         xE+ciiLilGjcVorA9jDVKzmZcGVmOkyxa1qJXhEICO+QVaHYFoJoGS11TbYBljdk16CN
         RQc071An9n4f0aO0polpkKxF+tAM+LSjBh9vXX9DYU8rrUqyxrZ4bS2YWQxLLalsgjGV
         /QzekEYvyTH9bJlo9IT2b2TNKZmljLRQhT9KaL+nj2VL6u+YAQ1hmjYW6As0IcZ4vdBp
         w8eA==
X-Gm-Message-State: AOJu0YyftWj2FAMPTZmIXhneo/gUT8GWFqRoUcEKHmuL+fblCgQREWDr
	ZcEs/gO8XQM5/lGPUC48MUu2fWrgqwAU1gCAr3Y6LQ2Lq/UZbM7pKJpeIQN1bVKncc8+dxADw/f
	K
X-Google-Smtp-Source: AGHT+IHuGgBj+b4p0staZvEOfZNUXXfaKd46jbkmS+YqCxuThRZx9jRiLWsVPANiQ/3NFRIdUbauyQ==
X-Received: by 2002:a17:906:80da:b0:a55:b021:c0b1 with SMTP id a26-20020a17090680da00b00a55b021c0b1mr6742377ejx.9.1714481249645;
        Tue, 30 Apr 2024 05:47:29 -0700 (PDT)
From: Fouad Hilly <fouad.hilly@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Fouad Hilly <fouad.hilly@cloud.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 5/5] Add --force option to xen-ucode to override microcode version check
Date: Tue, 30 Apr 2024 13:47:09 +0100
Message-ID: <20240430124709.865183-6-fouad.hilly@cloud.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20240430124709.865183-1-fouad.hilly@cloud.com>
References: <20240430124709.865183-1-fouad.hilly@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce --force option to xen-ucode to force skipping microcode version
check, which allows the user to update x86 microcode even if both versions
are the same.
xc_microcode_update() refactored to accept flags and utilize xenpf_microcode_update2

Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
[v3]
1- Message description updated.
2- xc_microcode_update() uses xenpf_microcode_update2 to pass flags.

[v2]
1- Changed data type from uint32_t to unsigned int.
2- Corrected line length.
3- Removed XENPF_UCODE_FLAG_FORCE_NOT_SET.
4- Corrected indentations.
5- Changed command line options to have the file name as first argument when applicable.
6- --force option doesn't require an argument anymore.
7- Used optint to access filename in argv.
 tools/include/xenctrl.h   |  3 ++-
 tools/libs/ctrl/xc_misc.c | 12 +++++++-----
 tools/misc/xen-ucode.c    | 16 ++++++++++++----
 3 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 499685594427..7fb409bc6dc4 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1171,7 +1171,8 @@ typedef uint32_t xc_node_to_node_dist_t;
 int xc_physinfo(xc_interface *xch, xc_physinfo_t *info);
 int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo);
-int xc_microcode_update(xc_interface *xch, const void *buf, size_t len);
+int xc_microcode_update(xc_interface *xch, const void *buf,
+                        size_t len, unsigned int flags);
 int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver);
 int xc_get_ucode_revision(xc_interface *xch,
                           struct xenpf_ucode_revision *ucode_rev);
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 50282fd60dcc..6a60216bda03 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -203,11 +203,12 @@ int xc_physinfo(xc_interface *xch,
     return 0;
 }
 
-int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
+int xc_microcode_update(xc_interface *xch, const void *buf,
+                        size_t len, unsigned int flags)
 {
     int ret;
     struct xen_platform_op platform_op = {};
-    DECLARE_HYPERCALL_BUFFER(struct xenpf_microcode_update, uc);
+    DECLARE_HYPERCALL_BUFFER(struct xenpf_microcode_update2, uc);
 
     uc = xc_hypercall_buffer_alloc(xch, uc, len);
     if ( uc == NULL )
@@ -215,9 +216,10 @@ int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
 
     memcpy(uc, buf, len);
 
-    platform_op.cmd = XENPF_microcode_update;
-    platform_op.u.microcode.length = len;
-    set_xen_guest_handle(platform_op.u.microcode.data, uc);
+    platform_op.cmd = XENPF_microcode_update2;
+    platform_op.u.microcode2.length = len;
+    platform_op.u.microcode2.flags = flags;
+    set_xen_guest_handle(platform_op.u.microcode2.data, uc);
 
     ret = do_platform_op(xch, &platform_op);
 
diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index d95f967f021b..b3c9a2bfe5c8 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -13,6 +13,8 @@
 #include <xenctrl.h>
 #include <getopt.h>
 
+#include <xen/platform.h>
+
 static xc_interface *xch;
 
 static const char intel_id[] = "GenuineIntel";
@@ -21,10 +23,11 @@ static const char   amd_id[] = "AuthenticAMD";
 static void usage(const char *name)
 {
     printf("%s: Xen microcode updating tool\n"
-           "Usage: %s [<microcode file> | Options]\n"
+           "Usage: %s [microcode file] [options]\n"
            "options:\n"
            "  -h, --help            display this help and exit\n"
-           "  -s, --show-cpu-info   show CPU information and exit\n",
+           "  -s, --show-cpu-info   show CPU information and exit\n"
+           "  -f, --force           force to skip micorocde version check\n",
            name, name);
 }
 
@@ -89,10 +92,12 @@ int main(int argc, char *argv[])
     size_t len;
     struct stat st;
     int opt;
+    uint32_t ucode_flag = 0;
 
     static const struct option options[] = {
         {"help", no_argument, NULL, 'h'},
         {"show-cpu-info", no_argument, NULL, 's'},
+        {"force", no_argument, NULL, 'f'},
         {NULL, no_argument, NULL, 0}
     };
 
@@ -104,7 +109,7 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    while ( (opt = getopt_long(argc, argv, "hs", options, NULL)) != -1 )
+    while ( (opt = getopt_long(argc, argv, "hsf", options, NULL)) != -1 )
     {
         switch (opt)
         {
@@ -114,6 +119,9 @@ int main(int argc, char *argv[])
         case 's':
             show_curr_cpu(stdout);
             exit(EXIT_SUCCESS);
+        case 'f':
+            ucode_flag = XENPF_UCODE_FLAG_FORCE_SET;
+            break;
         default:
             goto ext_err;
         }
@@ -146,7 +154,7 @@ int main(int argc, char *argv[])
         exit(1);
     }
 
-    ret = xc_microcode_update(xch, buf, len);
+    ret = xc_microcode_update(xch, buf, len, ucode_flag);
     if ( ret )
     {
         fprintf(stderr, "Failed to update microcode. (err: %s)\n",
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:55:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:55:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714850.1116186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1n0d-0001Uu-0i; Tue, 30 Apr 2024 12:54:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714850.1116186; Tue, 30 Apr 2024 12: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 1s1n0c-0001Un-UG; Tue, 30 Apr 2024 12:54:58 +0000
Received: by outflank-mailman (input) for mailman id 714850;
 Tue, 30 Apr 2024 12:54:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ve62=MD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1n0c-0001Kt-86
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:54:58 +0000
Received: from mail-qk1-x731.google.com (mail-qk1-x731.google.com
 [2607:f8b0:4864:20::731])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8274c09-06f0-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 14:54:56 +0200 (CEST)
Received: by mail-qk1-x731.google.com with SMTP id
 af79cd13be357-78f05afc8d6so427921585a.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 05:54:56 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 v5-20020a0cf905000000b006a0d1d120cesm1637150qvn.125.2024.04.30.05.54.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 05: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: d8274c09-06f0-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714481695; x=1715086495; 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=dT5Vz5WNlZUNU2nxll5+WFrdcNYRtO/WY3YdcwOW1kw=;
        b=t9qnYOxmKZSJoX2+M2as1J5ZTxfHbnittK7SPR/gX6osBZ/qTteDUqxouie0P+cUfn
         nRcdWq8v683yXTFfGPjDgBAkNZATGx5CL1bv9qnGRs9Au2G11EJaNs2Qtxs+VNuZcvl5
         ePyl2gXWME9IJki/HMPOX0gy5o0iS82GCqTYo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714481695; x=1715086495;
        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=dT5Vz5WNlZUNU2nxll5+WFrdcNYRtO/WY3YdcwOW1kw=;
        b=hH+bEyvzziHOPbmDURLa7vK/j2C3kG+KY6yPnFY+/7JMOGCn2Z/NufPrNJssg6gPhq
         6KcJo0no5gVu9kf0321q9FT36wQUVlBWX9bTuPFl6sUug6GfgoLw/MwnddsHGN8IZ8h9
         Q8WjLLCXBE6EZAf04d6+cubIgiJtcj6hlgZgWWwbD0SVds8Rv7D1cg2fzAElBdL7vndi
         F/1nj0NKEE/gWiFzs7LRsoYBcjtOFYd60gxsNy1m7QXiOAZwoXqXlmFhA5vm8LdARZQo
         RTLe9/ABlpqbjGdTUWkosi4XX4iIpL9Ft6NrDTNbJQ6eJL7PRhSNqfO2CW/+kRBzQKWX
         DLOQ==
X-Forwarded-Encrypted: i=1; AJvYcCVoe12hAk/gECpWA722OcMwfCXksHHZ8giTo6dE2y2+X3e9C0QWIvf6zPJQy4UhbMOvglTmvP7L+cyZy8A+0nX1N74g9/RR1XIvaecHs0E=
X-Gm-Message-State: AOJu0Ywd6iEM00JrPgydK23XtxUgxVYJBB5rOUOuVgUDY2nbNo1kY3Jr
	HQ2pZHhYyp3OwWTc5ympUkvJT6sU5KXPadUhDzQ45Rn2hDwKYK9KbInnOlTFBHM=
X-Google-Smtp-Source: AGHT+IGtbsJnve4hf+Yudr4YftkinK0rmwobE0KBeoLEh7kMnqy73HjyiTb2CZi7FD/IjwkDus5bYQ==
X-Received: by 2002:a05:6214:d48:b0:6a0:5673:e50e with SMTP id 8-20020a0562140d4800b006a05673e50emr15756370qvr.53.1714481695384;
        Tue, 30 Apr 2024 05:54:55 -0700 (PDT)
Date: Tue, 30 Apr 2024 14:54:53 +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>,
	Anthony PERARD <anthony@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.19] tools/xen-cpuid: switch to use cpu-policy
 defined names
Message-ID: <ZjDqHfdjUE1CTk1W@macbook>
References: <20240430082901.77662-1-roger.pau@citrix.com>
 <78d009f4-6610-4fcf-9cdc-ee1081e6c763@suse.com>
 <ZjDVN6kexFD0vcT2@macbook>
 <f1e594f7-2bf2-4898-824f-abd407690644@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f1e594f7-2bf2-4898-824f-abd407690644@suse.com>

On Tue, Apr 30, 2024 at 02:06:38PM +0200, Jan Beulich wrote:
> On 30.04.2024 13:25, Roger Pau Monné wrote:
> > On Tue, Apr 30, 2024 at 12:37:44PM +0200, Jan Beulich wrote:
> >> On 30.04.2024 10:29, Roger Pau Monne wrote:
> >>>  static const struct {
> >>>      const char *name;
> >>>      const char *abbr;
> >>> -    const char *const *strs;
> >>
> >> While how you're doing it looks all technically correct (so even without
> >> changes I may later ack this as is), I'm still a little puzzled. I was
> >> kind of expecting xen-cpuid.py to be extended to supply another (set
> >> of) #define(s) more suitable for use here. In particular, while
> >> performance surely isn't of much concern in this tool, ...
> >>
> >>> @@ -301,21 +52,32 @@ static const char *const fs_names[] = {
> >>>      [XEN_SYSCTL_cpu_featureset_hvm_max] = "HVM Max",
> >>>  };
> >>>  
> >>> -static void dump_leaf(uint32_t leaf, const char *const *strs)
> >>> +static const char *find_name(unsigned int index)
> >>>  {
> >>> -    unsigned i;
> >>> +    static const struct feature_name {
> >>> +        const char *name;
> >>> +        unsigned int bit;
> >>> +    } feature_names[] = INIT_FEATURE_NAMES;
> >>> +    unsigned int i;
> >>>  
> >>> -    if ( !strs )
> >>> -    {
> >>> -        printf(" ???");
> >>> -        return;
> >>> -    }
> >>> +    for ( i = 0; i < ARRAY_SIZE(feature_names); i++ )
> >>> +        if ( feature_names[i].bit == index )
> >>> +            return feature_names[i].name;
> >>
> >> ... a linear search, repeated perhaps hundreds of times, looks still a
> >> little odd to me.
> > 
> > I didn't benchmark what kind of performance impact this change would
> > have on the tool, but I didn't think it was that relevant, as this is
> > a diagnostic/debug tool, and hence performance (unless it took seconds
> > to execute) shouldn't be that important.
> 
> As indicated, performance itself isn't much of a concern here. My earlier
> question wants reading in relation to the other question raised, regarding
> the script maybe wanting to produce macro(s) more suitable for the purpose
> here.

Hm, we could maybe produce an array of strings, one per feature bit
(features without names would get NULL).

I will see, albeit my python skills are very limited.

> > I could switch to a non-const array and sort it at the start in order
> > to do a binary search, but that might be over engineering it.
> 
> Switching to non-const would in particular not seem overly desirable to
> me.
> 
> >>> @@ -326,6 +88,7 @@ static void decode_featureset(const uint32_t *features,
> >>>                                const char *name,
> >>>                                bool detail)
> >>>  {
> >>> +    static const uint32_t known_features[] = INIT_KNOWN_FEATURES;
> >>>      unsigned int i;
> >>
> >> So this variable exists solely to ...
> >>
> >>> @@ -336,11 +99,14 @@ static void decode_featureset(const uint32_t *features,
> >>>      if ( !detail )
> >>>          return;
> >>>  
> >>> -    for ( i = 0; i < length && i < ARRAY_SIZE(decodes); ++i )
> >>> +    /* Ensure leaf names stay in sync with the policy leaf count. */
> >>> +    BUILD_BUG_ON(ARRAY_SIZE(known_features) != ARRAY_SIZE(leaf_names));
> >>
> >> ... calculate its size here. Thus relying on the compiler to not flag
> >> such effectively unused static const variables.
> > 
> > I wondered whether to add the unused attribute, but seeing as gitlab
> > didn't complain I've forgot to add it.  I could add it.
> 
> Actually I was rather trying to hint at omitting the variable altogether,
> like this:
> 
>    BUILD_BUG_ON(ARRAY_SIZE((unsigned[])INIT_KNOWN_FEATURES) != ARRAY_SIZE(leaf_names));
> 
> Yet I realize the look of it may not be liked, so adding the unused
> attribute (if a suitable abstraction exists in the tool stack) would
> probably be fine, too.

There's no abstraction ATM, but I could add one to common-macros.h as
part of the patch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:55:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:55:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714851.1116197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1n0h-0001ld-77; Tue, 30 Apr 2024 12:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714851.1116197; Tue, 30 Apr 2024 12:55:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1n0h-0001lW-48; Tue, 30 Apr 2024 12:55:03 +0000
Received: by outflank-mailman (input) for mailman id 714851;
 Tue, 30 Apr 2024 12:55:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BF+G=MD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1n0g-0001JK-0l
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 12:55:02 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db0e36ce-06f0-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 14:55:01 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 8F7B04EE0738;
 Tue, 30 Apr 2024 14:55: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: db0e36ce-06f0-11ef-909b-e314d9c70b13
MIME-Version: 1.0
Date: Tue, 30 Apr 2024 14:55:00 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 2/2] xen/arm: Fix MISRA regression on R1.1, flexible array
 member not at the end
In-Reply-To: <20240430110922.15052-3-luca.fancellu@arm.com>
References: <20240430110922.15052-1-luca.fancellu@arm.com>
 <20240430110922.15052-3-luca.fancellu@arm.com>
Message-ID: <fab66060c4aeec0d3ee9d3f24054a12b@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-04-30 13:09, Luca Fancellu wrote:
> Commit 2209c1e35b47 ("xen/arm: Introduce a generic way to access memory
> bank structures") introduced a MISRA regression for Rule 1.1 because a
> flexible array member is introduced in the middle of a struct, 
> furthermore
> this is using a GCC extension that is going to be deprecated in GCC 14 
> and
> a warning to identify such cases will be present
> (-Wflex-array-member-not-at-end) to identify such cases.
> 
> In order to fix this issue, use the macro __struct_group to create a
> structure 'struct membanks_hdr' which will hold the common data among
> structures using the 'struct membanks' interface.
> 
> Modify the 'struct shared_meminfo' and 'struct meminfo' to use this new
> structure, effectively removing the flexible array member from the 
> middle
> of the structure and modify the code accessing the .common field to use
> the macro container_of to maintain the functionality of the interface.
> 
> Given this change, container_of needs to be supplied with a type and so
> the macro 'kernel_info_get_mem' inside arm/include/asm/kernel.h can't 
> be
> an option since it uses const and non-const types for struct membanks, 
> so
> introduce two static inline, one of which will keep the const 
> qualifier.
> 
> Given the complexity of the interface, which carries a lot of benefit 
> but
> on the other hand could be prone to developer confusion if the access 
> is
> open-coded, introduce two static inline helper for the
> 'struct kernel_info' .shm_mem member and get rid the open-coding
> shm_mem.common access.
> 
> Fixes: 2209c1e35b47 ("xen/arm: Introduce a generic way to access memory 
> bank structures")
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  xen/arch/arm/acpi/domain_build.c        |  2 +-
>  xen/arch/arm/domain_build.c             |  6 +++---
>  xen/arch/arm/include/asm/kernel.h       | 11 ++++++++++-
>  xen/arch/arm/include/asm/setup.h        | 18 ++++++++++--------
>  xen/arch/arm/include/asm/static-shmem.h | 12 ++++++++++++
>  xen/arch/arm/static-shmem.c             | 19 +++++++++----------
>  6 files changed, 45 insertions(+), 23 deletions(-)
> 

 From a MISRA perspective the regression on R1.1 is resolved (see [1]).

[1] https://gitlab.com/xen-project/patchew/xen/-/jobs/6748211368

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 12:58:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 12:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714860.1116214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1n4Q-00034M-OL; Tue, 30 Apr 2024 12:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714860.1116214; Tue, 30 Apr 2024 12:58:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1n4Q-00034F-LV; Tue, 30 Apr 2024 12:58:54 +0000
Received: by outflank-mailman (input) for mailman id 714860;
 Tue, 30 Apr 2024 12:58:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1s1n4O-000343-Ti; Tue, 30 Apr 2024 12:58: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 1s1n4O-0008Sn-SB; Tue, 30 Apr 2024 12:58: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 1s1n4O-0000B8-Fn; Tue, 30 Apr 2024 12:58:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1n4O-0008MG-FJ; Tue, 30 Apr 2024 12:58:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UI0leUqfCG4wJwsSh7QTynhM6ED2WzYtlJUQcM9g7tg=; b=cv8H/xR+I/xALBS64zGpLjSG7F
	XeCE8wMr9HiU5cDs4CB+NS6aMlTm3wSXf1MAgV6OPuNyftXzkhrnLKTpQsGN4Ow0bvkbgpPFQI1J9
	h+/vfieMeKRdJgAPJw3ysvBFhetT00hiAvhrWwzeaHxjHAbm7LB+sNzTPIxDQ91c+O7k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185867-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 185867: 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-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:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu: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-credit1: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:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing: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-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-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=d0e8f8ffbb19b5df5f767328baeb54c069b08e6a
X-Osstest-Versions-That:
    xen=cd2df4561edef2c104f46f8d0998e8ccefdf9c5e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 12:58:52 +0000

flight 185867 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185867/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185710
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185710
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185710
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185710
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185710
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185710
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-multivcpu 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-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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                  d0e8f8ffbb19b5df5f767328baeb54c069b08e6a
baseline version:
 xen                  cd2df4561edef2c104f46f8d0998e8ccefdf9c5e

Last test of basis   185710  2024-04-17 07:07:10 Z   13 days
Testing same since   185867  2024-04-29 08:38:32 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-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
   cd2df4561e..d0e8f8ffbb  d0e8f8ffbb19b5df5f767328baeb54c069b08e6a -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 13:02:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 13:02:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714870.1116225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1n7w-0004b2-BV; Tue, 30 Apr 2024 13:02:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714870.1116225; Tue, 30 Apr 2024 13:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1n7w-0004av-8m; Tue, 30 Apr 2024 13:02:32 +0000
Received: by outflank-mailman (input) for mailman id 714870;
 Tue, 30 Apr 2024 13:02: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1n7v-0004ap-6a
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 13:02:31 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e65cba28-06f1-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 15:02:30 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-34da84cb755so159810f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 06:02: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
 s11-20020adf978b000000b0034d0a64ed0bsm5457074wrb.77.2024.04.30.06.02.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 06:02: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: e65cba28-06f1-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714482149; x=1715086949; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=euB9gMjM4feBF+FZkD4tvkli3BxB16g2m+t0o0G2wb4=;
        b=XLoDWqakjOwDJMJ1NlKAYCy97hvi0zHQEkru9l76yHmr0cfGd1ddFAbWZIiH7Lgej7
         lRljCDiz03PGewFxb/hmci/eFFiRjzx6olGxCqu7PQcUOP9Dn6tMYO7v5y8ufwSYXJWx
         BillJrDLGG/QQ0P4J+CzbjU2tFIR1Vsg6cZlXr3JFwr5wmM3SvsHCWX2xBjfM8H95cZc
         PLVIJv/8KS7NjQHbOIdgAim/yXAnLNtIEWqnE7tcwemyu8OY8JXo/HKTayLSfpbA1SPQ
         qrYI6jU7AO46bw8z8WonbzFQL6zJr/ZkAHx9eM8jfAbGYi2pImbzDhhTUk7MKnmNXzlO
         T+9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714482149; x=1715086949;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=euB9gMjM4feBF+FZkD4tvkli3BxB16g2m+t0o0G2wb4=;
        b=H93MEc49eeCTLYwvQO1TVB/f6KovnKYMvAVf8PcV9ws/w46G2RAJJWUavOqnXIXvUn
         uQKlvIIn7jx+efO1FDGUwKLWOXvRUl2wz2mp/d2+wFwPwlO/pAjtm8Ew0alciaLFZwMr
         nlDWuLFuu4VsIzh/9w26INzVGGomKsAayttruLM+XkSbN6vg/4QUuYlA2B1lbY2P5pIQ
         AArY7eBIayPMnhd9Bm9uYRtAsV/yL0iKNfMRXZZCpbgSZ8g6y75G5Of+fCW5cBb/m3Oy
         IVal3MeVGlwqZzloblhexN32jv6hbyxiubEHMnieyiMP4Xm5vIBJXVHOSfpYUvJNlMni
         d0zQ==
X-Forwarded-Encrypted: i=1; AJvYcCWg1ASHq+8WAfHZOcX9IVqc+DHXSSt8+e3qkfy8YXBmfjnkT1sGQpoCwDzUXCyLYKoRntOiO6HkG7ZY2R8HC+bw/TshuOq9IZeP6WSA8cY=
X-Gm-Message-State: AOJu0YwCu44SS6itd1kI0taHwYbBZbuqXIuZpY8Tutyh2tSELn+ojbXQ
	MX990cZQApWqlDk6FYN5bq5ZKmbBFfgSkDtAt5f6psTlq/OVW8L6Oq3R4ngO+A==
X-Google-Smtp-Source: AGHT+IGLaKwLyLivLohjdsDTjTg4FSyj9q6L5HIfHpkQKgAjeGaAcQ0b9n2ZdGSrxggHxDKNJxqcIA==
X-Received: by 2002:adf:ef4b:0:b0:34a:4b8d:be5a with SMTP id c11-20020adfef4b000000b0034a4b8dbe5amr9391672wrp.69.1714482148870;
        Tue, 30 Apr 2024 06:02:28 -0700 (PDT)
Message-ID: <37a32702-1895-4023-a41e-417fae9d63d8@suse.com>
Date: Tue, 30 Apr 2024 15:02:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/cpu-policy: Add SVM features already used by Xen
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240429151625.977884-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.04.2024 17:16, Andrew Cooper wrote:
> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -358,6 +358,20 @@ XEN_CPUFEATURE(RFDS_CLEAR,         16*32+28) /*!A Register File(s) cleared by VE
>  /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.edx, word 17 */
>  
>  /* AMD-defined CPU features, CPUID level 0x8000000a.edx, word 18 */
> +XEN_CPUFEATURE(NPT,                18*32+ 0) /*h  Nested PageTables */
> +XEN_CPUFEATURE(V_LBR,              18*32+ 1) /*h  Virtualised LBR */
> +XEN_CPUFEATURE(SVM_LOCK,           18*32+ 2) /*   SVM locking MSR */
> +XEN_CPUFEATURE(NRIPS,              18*32+ 3) /*h  Next-RIP saved on VMExit */
> +XEN_CPUFEATURE(V_TSC_RATE,         18*32+ 4) /*   Virtualised TSC Ratio */
> +XEN_CPUFEATURE(VMCB_CLEANBITS,     18*32+ 5) /*!  VMCB Clean-bits */

Wouldn't this better be marked !h nevertheless?

As to the name - does it need to be this long? VMCB_CLEAN would be in line
with the PM. But yeah, while CLEANBITS would be clear in the context of this
leaf, there might be whatever other "cleanbits" elsewhere, so some qualifier
is wanted, I guess. As to the V_ prefixes you use for several of the
features: Isn't there a risk of this being ambiguous towards VT-x? Maybe
they should all be SVM_*, even if ...

> +XEN_CPUFEATURE(FLUSH_BY_ASID,      18*32+ 6) /*   TLB Flush by ASID */
> +XEN_CPUFEATURE(DECODE_ASSIST,      18*32+ 7) /*h  Decode assists */
> +XEN_CPUFEATURE(PAUSE_FILTER,       18*32+10) /*h  Pause filter */
> +XEN_CPUFEATURE(PAUSE_THRESH,       18*32+12) /*   Pause filter threshold */
> +XEN_CPUFEATURE(V_LOADSAVE,         18*32+15) /*   Virtualised VMLOAD/SAVE */
> +XEN_CPUFEATURE(V_GIF,              18*32+16) /*   Virtualised GIF */

... these two at least are clearly SVM terminology and hence already
unambiguous.

> +XEN_CPUFEATURE(NPT_SSS,            18*32+19) /*   NPT Supervisor Shadow Stacks */
> +XEN_CPUFEATURE(V_SPEC_CTRL,        18*32+20) /*   Virtualised MSR_SPEC_CTRL */

Whereas this, when used somewhere in isolation, would not make clear
whether AMD's or Intel's is meant.

> --- a/xen/tools/gen-cpuid.py
> +++ b/xen/tools/gen-cpuid.py
> @@ -280,6 +280,9 @@ def crunch_numbers(state):
>          # standard 3DNow in the earlier K6 processors.
>          _3DNOW: [_3DNOWEXT],
>  
> +        # The SVM bit enumerates the whole SVM leave.
> +        SVM: list(range(NPT, NPT + 32)),

Seeing this and taking it together with the somewhat confusing (to me) part
of the description of patch 1: What is it then that you try to avoid there,
when adding the dependencies here is okay, while doing so there would be
entirely impossible (short of there being identifiers)?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 13:14:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 13:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714877.1116235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nIz-0007DI-Az; Tue, 30 Apr 2024 13:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714877.1116235; Tue, 30 Apr 2024 13: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 1s1nIz-0007DB-8C; Tue, 30 Apr 2024 13:13:57 +0000
Received: by outflank-mailman (input) for mailman id 714877;
 Tue, 30 Apr 2024 13:13:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1nIx-0007D4-6v
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 13:13:55 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dd28226-06f3-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 15:13:53 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-34b64b7728cso4432651f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 06:13: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
 y7-20020a5d6207000000b00346f9071405sm32107850wru.21.2024.04.30.06.13.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 06:13: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: 7dd28226-06f3-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714482832; x=1715087632; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dtGolclzq88uODJEm3nxLOJqxwhPT4nbX6t8cqdZ4LY=;
        b=d0f93irxGQhkGgGdctp++rI6wTtt6B3MiODkMHwrVG9M9iUv5URXMGEh/22Q7Q8wGt
         q8oLdiPt9MzDMnN25JBfConm8QzgUfUYRmx115lWsWhG4h0KbLE3HA+B7/gaQ+Vz/WmI
         9QPV62zgnkHfpTuzEZHC3DCbRXFAx5YXuTcUhiaewSFdM+Ani1xSHhZkdVnzAKWetjHt
         b6Sg2MISVd/gKe3+a8dCRXrXG9DrWqd20sOodwQLlvX0gd7SHCCb4/DXCUeyQif5136Q
         eDWi0q4gmo2mjOuBQJ2rpMl4u7HQicH2ilvyyWLsyLsY2SX1GnWs404JmCr33QseY2iK
         +j/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714482832; x=1715087632;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=dtGolclzq88uODJEm3nxLOJqxwhPT4nbX6t8cqdZ4LY=;
        b=jQnt/5RFybHz7h6bFyDYx+x2w90rB6RpbiWmwxKnEOG/9fzyNPwSDSzJfSJgz9iCF7
         rfpfMGSIYnmBj/NpTPaqukKfF2W9GPfnA2STu4xcW/9N6fddu+58pHahmg7J8N9GSp0t
         lDWS2HoDbhU6Q3wB0JpdpTuja5eHBlpwj9+GJnbbIK1sNgGqAz982jFeVODpa9YGN8oQ
         1VAKtOmFfd45HhGVwnnDo1zzs7D836cg56fsOwOhIMlSjDIqeeSwLPzOwtXsmmOAYsoI
         r9PFyS5Ivk0z3Gne0nGrRZVIVQmL3KLAQRvqSz2OQWG14a31Vz/73kt7aTN8rIhBODq5
         DO2A==
X-Forwarded-Encrypted: i=1; AJvYcCXVPSdCzuBCFaetws7i74bhiHOSt2ypoIXWZrVy0sHisWxx00J5AWTiC9VcCtKLMK1JFxNCv/KoCWlvMlum3/moFtVPTPP3r4bKcqOAJ/A=
X-Gm-Message-State: AOJu0YyUVnWrVLTu1aWWBomy9XL8oNfOsWUohNOFXuaTvw4NPk1LKkaF
	UF/je37rzoA3SiYyqWMEa8YxaghR3WH3P+8PKqqgaY/2Wng//BToFfl9kfmTsQ==
X-Google-Smtp-Source: AGHT+IHoI3WcYHUIzQjmXd7ZeymLwe08bWpgPOpNcV7NUpx0+jPsRLH8utoP+/n/+v/krZsrCcRlEA==
X-Received: by 2002:adf:f504:0:b0:34d:9dff:1119 with SMTP id q4-20020adff504000000b0034d9dff1119mr960226wro.64.1714482832479;
        Tue, 30 Apr 2024 06:13:52 -0700 (PDT)
Message-ID: <9915888b-018c-40c6-a26e-77e2011715a2@suse.com>
Date: Tue, 30 Apr 2024 15:13:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] x86/spec-ctrl: Remove open-coded check of
 SVM_FEATURE_SPEC_CTRL
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240429151625.977884-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.04.2024 17:16, Andrew Cooper wrote:
> Now that the SVM feature leaf has been included in normal feature handling, it
> is available early enough for init_speculation_mitigations() to use.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
even if ...

> --- a/xen/arch/x86/include/asm/cpufeature.h
> +++ b/xen/arch/x86/include/asm/cpufeature.h
> @@ -217,6 +217,9 @@ static inline bool boot_cpu_has(unsigned int feat)
>  #define cpu_has_rfds_no         boot_cpu_has(X86_FEATURE_RFDS_NO)
>  #define cpu_has_rfds_clear      boot_cpu_has(X86_FEATURE_RFDS_CLEAR)
>  
> +/* CPUID level 0x8000000a.edx */
> +#define cpu_has_v_spec_ctrl     boot_cpu_has(X86_FEATURE_V_SPEC_CTRL)

... the names here were to change (see comment on the earlier patch). In
fact ...

> @@ -1896,12 +1895,8 @@ void __init init_speculation_mitigations(void)
>           *
>           * No need for SCF_ist_sc_msr because Xen's value is restored
>           * atomically WRT NMIs in the VMExit path.
> -         *
> -         * TODO: Adjust cpu_has_svm_spec_ctrl to be usable earlier on boot.
>           */
> -        if ( opt_msr_sc_hvm &&
> -             (boot_cpu_data.extended_cpuid_level >= 0x8000000aU) &&
> -             (cpuid_edx(0x8000000aU) & (1u << SVM_FEATURE_SPEC_CTRL)) )
> +        if ( opt_msr_sc_hvm && cpu_has_v_spec_ctrl )
>              setup_force_cpu_cap(X86_FEATURE_SC_MSR_HVM);
>      }

... the use here demonstrates my earlier point quite well: It being AMD's
feature is completely invisible here when not considering the code being
replaced. But yes, when looking at the entire comment / block, it still
is visible.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 13:16:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 13:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714882.1116245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nLs-0008EL-Pi; Tue, 30 Apr 2024 13:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714882.1116245; Tue, 30 Apr 2024 13:16:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nLs-0008EE-Ld; Tue, 30 Apr 2024 13:16:56 +0000
Received: by outflank-mailman (input) for mailman id 714882;
 Tue, 30 Apr 2024 13:16: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 1s1nLr-0008E0-Mn; Tue, 30 Apr 2024 13:16: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 1s1nLr-0000UM-Jl; Tue, 30 Apr 2024 13:16: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 1s1nLr-0001FA-BT; Tue, 30 Apr 2024 13:16:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1nLr-00077G-Ax; Tue, 30 Apr 2024 13:16:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iigY+9D3Gu6Jf5Vdl/1l5XORHewlezt6q0PCuqjNHkM=; b=SP252xOHvbjeoN7Edh5PGsKFPI
	dopUvSV9AeO2zAeg68uLF9Xvx5l8W5McnGN+nYdpj0+utUPLNayuVNaz5owhoOI9ICiR4oG3svzSb
	pY4NRqwG2rRiexoFUKqeHvOxYN1WFt0LpbnoPKnpNiAPhbIkRaDBhp9hR6tOpZ9RMmTg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185879-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 185879: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5d4c5253e8bbc0baa8837fcd868925212df85201
X-Osstest-Versions-That:
    ovmf=0c74aa2073e48b2143413f2dc76557acf8884202
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 13:16:55 +0000

flight 185879 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185879/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5d4c5253e8bbc0baa8837fcd868925212df85201
baseline version:
 ovmf                 0c74aa2073e48b2143413f2dc76557acf8884202

Last test of basis   185876  2024-04-30 07:42:44 Z    0 days
Testing same since   185879  2024-04-30 11:12:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chao Li <lichao@loongson.cn>
  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
   0c74aa2073..5d4c5253e8  5d4c5253e8bbc0baa8837fcd868925212df85201 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 13:25:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 13:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714890.1116265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nUJ-0002Ai-U0; Tue, 30 Apr 2024 13:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714890.1116265; Tue, 30 Apr 2024 13:25:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nUJ-0002Ab-QM; Tue, 30 Apr 2024 13:25:39 +0000
Received: by outflank-mailman (input) for mailman id 714890;
 Tue, 30 Apr 2024 13:25:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1nUI-0001ln-Ig
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 13:25:38 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21de41a8-06f5-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 15:25:37 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-34a32ba1962so4546148f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 06:25: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
 e14-20020adfa44e000000b0034cba8cabfdsm8061632wra.107.2024.04.30.06.25.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 06:25: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: 21de41a8-06f5-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714483537; x=1715088337; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=GLCSqdXZnPMy/Tv7qxCQInIA3Cv79/j+2BUz73ARD/8=;
        b=GJeB00rHM+EyqkwOFHJOqSK698edH3d/MG8uiOmp5dY0DeQr/u7m2IqCrD63+Ktq8Q
         c+pi63/PvHQFkQ9/u8YELngPoLJFyXA3LooZowPLQHEPNKGCs26qwFoXRJs61y4rCMFW
         d29jT4Yerhs2GI3k3NgKuGT+NYTTgJvjGqaXq6LQ72nSbloUD/8qIpqCY+aq0EXLLeP0
         Bf2BG4iS5sep0Dax3OeCLzOWdn3cmwdea7OZqmc89nc5cfiorIX4OZRmUUcpT/BDrGps
         jYdje0yxc1tDXVuOMnKux0iWRFK1pzOkFWnomhMq/VtgTQWg2o19MvKYrTGellsI9+3X
         C8yQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714483537; x=1715088337;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GLCSqdXZnPMy/Tv7qxCQInIA3Cv79/j+2BUz73ARD/8=;
        b=RM96KFPD77h0Hn0rYq6qTrDwjyu2jC3LjwQlTjpvmdSKNTmM5P3MjE3r57RbXbKFBG
         QBO2U5/YuAqwW9gNlxQjX7tFyT31NYFh2jls0shafcxVGaAS455n9RIdpz9dNELOTJXn
         HpirYxiiIPDbMwFfaThr+jJehVwey3ylpyt2Fx265Z/HykcS1fLjauLOjalgeRb48u7c
         I27aBDkFf25VTPbmIrbfQewh0SX1ZsUCu14X0sD2nvCVVHzX5rbGocfMTaQKfPK1Per/
         exGZhvrUdlWqAMrfirggIKuuFJJHl66fHTGlVnvi0kZBA24fzetgpPbqzX9vPhDeEdsN
         DMBA==
X-Forwarded-Encrypted: i=1; AJvYcCVPBcmrq2T/y66BsxNKXSWoZrxlXOsmPCbgFgWL6ttoJ/rVARIH91ZU9t5pcqUigPQKzmHv17/prW71pZjlI5rcvJsUaZhuljY0pBQ1shE=
X-Gm-Message-State: AOJu0YwMa/Ircp5cyVCbgESXiSkptQ8nJe6MngP2BWYCLvrPyQVsvc6s
	ea05mujQpARNWD7UmqvqK80B8SD/es84Koe8EepuUO7QID8WScwsTAs+CM3u+A==
X-Google-Smtp-Source: AGHT+IGymM0VGpetOfOU93sz02OTkZZuJPS1JZ1sRPFadc7ZjXHrebgTSfkZv1YIuJWpp3BZrhn55Q==
X-Received: by 2002:a5d:42cd:0:b0:34d:a25c:2077 with SMTP id t13-20020a5d42cd000000b0034da25c2077mr710488wrr.16.1714483537232;
        Tue, 30 Apr 2024 06:25:37 -0700 (PDT)
Message-ID: <8e5cd297-ef1c-4f6c-b8e4-5d7135fbf78f@suse.com>
Date: Tue, 30 Apr 2024 15:25:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86/svm: Switch SVM features over normal cpu_has_*
Content-Language: en-US
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>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240429151625.977884-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.04.2024 17:16, Andrew Cooper wrote:
> @@ -2493,38 +2491,14 @@ const struct hvm_function_table * __init start_svm(void)
>  
>      setup_vmcb_dump();
>  
> -    if ( boot_cpu_data.extended_cpuid_level >= 0x8000000aU )
> -        svm_feature_flags = cpuid_edx(0x8000000aU);
> -
> -    printk("SVM: Supported advanced features:\n");
> -
>      /* DecodeAssists fast paths assume nextrip is valid for fast rIP update. */
> -    if ( !cpu_has_svm_nrips )
> -        __clear_bit(SVM_FEATURE_DECODEASSISTS, &svm_feature_flags);
> +    if ( !cpu_has_nrips )
> +        setup_clear_cpu_cap(X86_FEATURE_DECODE_ASSIST);

Should we grow any alternatives patching based on this feature (or any
other which someone might later add clearing of next to here as well),
this is too late: alternative_instructions() runs a bit earlier than
do_presmp_initcalls(). If this is to be kept, a comment towards the
possible pitfall is imo required.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 13:25:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 13:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714889.1116255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nU8-0001ns-Ia; Tue, 30 Apr 2024 13:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714889.1116255; Tue, 30 Apr 2024 13: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 1s1nU8-0001nl-FU; Tue, 30 Apr 2024 13:25:28 +0000
Received: by outflank-mailman (input) for mailman id 714889;
 Tue, 30 Apr 2024 13:25: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=OUm+=MD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1s1nU6-0001ln-Sf
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 13:25:26 +0000
Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com
 [2607:f8b0:4864:20::72a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19fffae8-06f5-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 15:25:25 +0200 (CEST)
Received: by mail-qk1-x72a.google.com with SMTP id
 af79cd13be357-78f056f928eso433255885a.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 06:25:25 -0700 (PDT)
Received: from [10.80.67.140] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h6-20020a05620a13e600b0078f044ff474sm11441994qkl.35.2024.04.30.06.25.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 06:25: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: 19fffae8-06f5-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714483524; x=1715088324; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2txO9Y/0e3sW6NwewuDY9zMut4fPbN5/4hbdzVvdi+s=;
        b=XkveZeSfIm0I9kYBQ8dbCwsrRyahkW9D349NWLlVBtAr8hnznnC0v/IvdXFqOcEMVG
         QGjjxRHSQnh9h7SJEImvry1cWVoABw0mnpbUuu1nTSAh6D7foKGeX7jidaD1Gv4/kq6Y
         9WW7k+HsSqL5LhqGxqHfm67l0eNNLiHW4PlwM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714483524; x=1715088324;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2txO9Y/0e3sW6NwewuDY9zMut4fPbN5/4hbdzVvdi+s=;
        b=uDTgoQ82uNWVkypfjyi2sWvZqTfwuwLu5FkxkMEH+BEsZbSJA5SGDgv+dfiw3S4eoK
         ENh+eaQZTnXHu7z0UV1qDu29RMEZs/dKKiqPPMEZVdSwaND6oxxPHHs9pF2HjnAAduZ7
         ITFmzx8UHJXbvY40v7zxCpypnMRf8/+y5cxr5AvgdVXnkjsloqEoQD8hePFkZxjUUOY9
         NvXf3r1xppspjB+UUxBUl964BMZ93RklLZVEonUS140H5t/CxB8XnVL9AN++PrugrfTL
         yVyQ+mMyhF77q1tTjTCL63l8EVioqprF8/fAJy/Yw4icbEMtB+buKe5AJVzWYsJiViDr
         +ZcQ==
X-Forwarded-Encrypted: i=1; AJvYcCVvZ2Ljv1PtbFwZrT5IH8B6JvC2aedlD/U2uujvB+Uqda3gGf29EwMgvADKgpnwlQTIWTj8VOeWL/wImpFqKQypoV2T19qpigodo+Vag6w=
X-Gm-Message-State: AOJu0YwhS0bp0jla2yrDnJIo8VZXcZLs7Y5YT0WQma60gujyA+6G9VNV
	0vqWCuXjqsvtWRUX1hPuiHuT5ZEMt/H438QRfWVJAMkHaVE7V00UrA33EM1pCw4=
X-Google-Smtp-Source: AGHT+IGzNp4rav48XLXa/ONoVkuOOQlBoVzaJGOeVQ03C4baPjYYYGkHXU/KDaXsKBk7gvwlasNaTg==
X-Received: by 2002:a37:e102:0:b0:790:690c:ff5c with SMTP id c2-20020a37e102000000b00790690cff5cmr12398008qkm.58.1714483523919;
        Tue, 30 Apr 2024 06:25:23 -0700 (PDT)
Message-ID: <1749cd23-ba17-450d-b5e0-29fc9ce9489e@citrix.com>
Date: Tue, 30 Apr 2024 14:25:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/cpu-policy: Infrastructure for the AMD SVM and
 SEV leaves
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-2-andrew.cooper3@citrix.com>
 <766b178a-5e32-437f-ac02-4cb9ad8cb248@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: <766b178a-5e32-437f-ac02-4cb9ad8cb248@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/04/2024 1:45 pm, Jan Beulich wrote:
> On 29.04.2024 17:16, Andrew Cooper wrote:
>> Allocate two new feature leaves, and extend cpu_policy with the non-feature
>> fields too.
>>
>> The CPUID dependency between the SVM bit on the whole SVM leaf is
>> intentionally deferred, to avoid transiently breaking nested virt.
> In reply to this I meant to ask that you at least add those dependencies in
> commented-out form, such that from looking at gen-cpuid.py it becomes clear
> they're intentionally omitted. But you don't add feature identifiers either,
> making dependencies impossible to express. Maybe this sentence was really
> meant for another of the patches? (Then my request would actually apply
> there.)

This is necessary because c/s 4f8b0e94d7ca is buggy.  Notice how it puts
an edit to the policy object in the middle of a block of logic editing
the featureset, which ends with writing the featureset back over the
policy object.

And it's not the first outstanding problem from what is a very small
number of nested-virt patches so far...

>> @@ -296,7 +298,16 @@ struct cpu_policy
>>              uint32_t /* d */:32;
>>  
>>              uint64_t :64, :64; /* Leaf 0x80000009. */
>> -            uint64_t :64, :64; /* Leaf 0x8000000a - SVM rev and features. */
>> +
>> +            /* Leaf 0x8000000a - SVM rev and features. */
>> +            uint8_t svm_rev, :8, :8, :8;
>> +            uint32_t /* b */ :32;
>> +            uint32_t nr_asids;
> According to the doc I'm looking at it is %ebx which holds the number of
> ASIDs and %ecx is reserved. With that adjusted

That's fun...  The PPR I used for this has it wrong.  A sample of others
match the APM, so  I'll raise a bug with AMD against this PPR.

> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 13:33:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 13:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714901.1116274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nbz-00049f-LU; Tue, 30 Apr 2024 13:33:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714901.1116274; Tue, 30 Apr 2024 13:33:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nbz-00049Y-Iy; Tue, 30 Apr 2024 13:33:35 +0000
Received: by outflank-mailman (input) for mailman id 714901;
 Tue, 30 Apr 2024 13: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1nby-00049S-Ki
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 13:33:34 +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 3cc79983-06f6-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 15:33:32 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-41a72f3a20dso40421895e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 06:33: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
 r30-20020adfb1de000000b00343e392829dsm32398573wra.97.2024.04.30.06.33.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 06: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: 3cc79983-06f6-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714484012; x=1715088812; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=OQrnnXQB967fj199FxOw7AlYAM/qAVNkCAWCU06m+8I=;
        b=OLqM6Ba4toqUxNO9cVzoV7ttORgeT0nNioW798o0INir3kEqvVSgQ4rpCZPXt0AKom
         R3U+IXGioiSyZ969mn+58Pr+8iPauFToeT8ThsYaZnAHqhK4/glBHv6rt1HyR2ZP8wpE
         o7NvPyqR/d7ZWDaqoo4Oq7nunPQKaTcgV/bQczksuIULVQX8JUo06GQy6UVbkRyKluWJ
         lx3DMc97A2vyI7KobI3KY4YXUf4B+MRSrvU6Gb+lTcZbv8kxyQwKREdIi0nO5I5grKqq
         giaSED05xjMO6S/MXrdUtayivCxIUAUkaXiRYmHhD4I9XiWfBCibIjcETHrLsbUz5rP9
         U8hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714484012; x=1715088812;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=OQrnnXQB967fj199FxOw7AlYAM/qAVNkCAWCU06m+8I=;
        b=Msyq9EtkhmTVifrB8BjHA6g8U0a81e4oFjpPEmxpqt8qbPpsN81Otf928AjzghyD1F
         oDVTLtcIU10mK8pykcEW74/dEAur4WsDENHj9AEDgK7/ldPdzYJcu0XofcbsRSZbPH3/
         eGzSDh39HYHrl9+GoG9WKsZTRZQh2W2KUwsTE2iZj0voWGRXzJNJp6+EJ8eM0IQr7Uuv
         2fyoP80gv+OHSPbtixrQsyBvnbl8Zb3UmgSOFp1Wu3e2a+I2GJCoj7Ic0TbgjhqTet0C
         3/GSPqp91WNFK1nRuZ4xZurAm1U/FS7q/I6E+7zLJYe1KLXVoIiSYQYt44iNxbfkJcjM
         gqQg==
X-Forwarded-Encrypted: i=1; AJvYcCUf1znmD8pK0OgdThCwRodiAMEsOXUocnKVLhJ82ODB2opyIKhRasL2uxO7u9NARaAMSb6st8RIPkofLJmDqL3P6irLcszJxN+CYjQIyX4=
X-Gm-Message-State: AOJu0YwKf3+/vmBn116QcHxBgPdbTW6dc8ZooztAFxHUuRoOfsFtynCx
	a0+buUZWlCyjK6jmiX1z023Dv/pq91SjaJUYdbhbkwuTFYnvvluXNCK0Vo3hKg==
X-Google-Smtp-Source: AGHT+IFDLWhUVyXPVIfaYbHYFpOrVMyQL/TnGgYXcpcJlVJWkYan3cXNHCDPBuob7z9uBF/nkWjk1Q==
X-Received: by 2002:a05:600c:45ca:b0:418:e6fc:3708 with SMTP id s10-20020a05600c45ca00b00418e6fc3708mr10357368wmo.24.1714484011880;
        Tue, 30 Apr 2024 06:33:31 -0700 (PDT)
Message-ID: <c410b8de-284a-4a17-94fe-38e03670af6a@suse.com>
Date: Tue, 30 Apr 2024 15:33:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/cpu-policy: Infrastructure for the AMD SVM and
 SEV leaves
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-2-andrew.cooper3@citrix.com>
 <766b178a-5e32-437f-ac02-4cb9ad8cb248@suse.com>
 <1749cd23-ba17-450d-b5e0-29fc9ce9489e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1749cd23-ba17-450d-b5e0-29fc9ce9489e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.04.2024 15:25, Andrew Cooper wrote:
> On 30/04/2024 1:45 pm, Jan Beulich wrote:
>> On 29.04.2024 17:16, Andrew Cooper wrote:
>>> Allocate two new feature leaves, and extend cpu_policy with the non-feature
>>> fields too.
>>>
>>> The CPUID dependency between the SVM bit on the whole SVM leaf is
>>> intentionally deferred, to avoid transiently breaking nested virt.
>> In reply to this I meant to ask that you at least add those dependencies in
>> commented-out form, such that from looking at gen-cpuid.py it becomes clear
>> they're intentionally omitted. But you don't add feature identifiers either,
>> making dependencies impossible to express. Maybe this sentence was really
>> meant for another of the patches? (Then my request would actually apply
>> there.)
> 
> This is necessary because c/s 4f8b0e94d7ca is buggy.  Notice how it puts
> an edit to the policy object in the middle of a block of logic editing
> the featureset, which ends with writing the featureset back over the
> policy object.

When seeing the description of that next patch replacing that code, I first
thought you're right about that being buggy (i.e. not achieving the intended
effect). But imo it isn't really buggy, as x86_cpu_featureset_to_policy()
doesn't overwrite that leaf in the policy prior to the adjustment made there
by this very patch. Nevertheless it also wasn't intended to be that way, I
agree (and I should have noticed while reviewing the earlier change).

This means, however, that there _is_ breakage now between this and the next
patch, as now said leaf is indeed overwritten after its custom setting in
calculate_hvm_max_policy(). So maybe you want to defer the
x86_cpu_featureset_to_policy() adjustment until patch 2.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 13:54:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 13:54:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714909.1116289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nw8-00005a-Be; Tue, 30 Apr 2024 13:54:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714909.1116289; Tue, 30 Apr 2024 13:54:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1nw8-00005T-7x; Tue, 30 Apr 2024 13:54:24 +0000
Received: by outflank-mailman (input) for mailman id 714909;
 Tue, 30 Apr 2024 13:54: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1nw7-0008Vp-93
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 13:54:23 +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 24f0c6af-06f9-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 15:54:21 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-41ba1ba55e8so30992845e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 06:54: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
 e18-20020a056000195200b003462fec9f5asm32068174wry.62.2024.04.30.06.54.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 06:54: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: 24f0c6af-06f9-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714485260; x=1715090060; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=B+oIKPF1tBnNElDmMmPyFpEjepR7UeWDnNkStDjzV7E=;
        b=B/Hdkgt3/mBepKNWY2M4mX4uxpTFjnmSMZoFool5uuLvArAg8+g86kP4Qmb1SWTERo
         kTAtCBWqfu9jjmon517SpFoYfOdWgp/2wOec+eCOi5SO9tp82fjmp1vlA5aW9l/fX7X1
         lOqeFIg/QIeN8sECJYVtD4Oz9e7Twd7Y/QoMCuqTkTy1n0UEJep9p5yJLB8mn+bg6guO
         i/JwDT9VSOMyFRZLy+rnRCaMnCUMbkmiMo46/KX19u8fCGY9mQGmB11ad/OxsLcUcIy3
         vabAo8g/0AzXFNR+Oo63Om19bLS8o3nw7mpRuOUax+S4HOmwdesg75CSJtCiYqCsODAY
         HTrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714485260; x=1715090060;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=B+oIKPF1tBnNElDmMmPyFpEjepR7UeWDnNkStDjzV7E=;
        b=OJ0kB/TJWYBO67rUp1vVdKC7zWVLra3rs4ZNVt28Jwk7ZJIq/ugrIS7gpIiW8nIxuJ
         58flfgLKx0KlQQuP3FnkOVB+v8a45TUHMqJ8h/77e/zO/4de63gb6FvIOXIDxPuvFw2K
         WM3J2DX4TyiydR3al+yAbFe+c2/1X2hxiITKDhW06KXzRvvQ/p5Mmdu3b5tiDzsff8p4
         Ie2A9X4+z2aM3NDrjTdaHOxTSHvwEoTFjOs0tMijcE8W7y9R6ORgVlovR1gMlho3puA3
         4Dr8Uv5/sJdSaSxsaGxwbtdC6qRLMj63J2llo8h9m7Kd87WLkgFmghnjVMaEUjnVORDe
         JPiw==
X-Forwarded-Encrypted: i=1; AJvYcCUzXwlkRGoQo2mLvFnQbn0LDi38wCHjZMa2CLLwFYgV5yuUsTjCNsM9Ism+JkhvLjzGpw58mY0UZlcKVZ2qEsdKY2xuUN2mcpBkFCHGDdE=
X-Gm-Message-State: AOJu0YwwOrN7NSxu9m1GgrLJI8sdOEmg8kKXBKcVXoPUKV1ojGkxe+eY
	OwZUoHstrk+mrk1Jg+TlGuAj34tjGKIuuga84ECywAP6G2RU6cVZb73zfFPEow==
X-Google-Smtp-Source: AGHT+IGvgZiWDLHq1ORiZf/3b+KVEa9fvm9+pYpwnloAt5ysgpGiXleZ9aEXyU93u/7wzTLot3ln5g==
X-Received: by 2002:a5d:4f10:0:b0:34d:9227:c1fb with SMTP id c16-20020a5d4f10000000b0034d9227c1fbmr1121295wru.26.1714485260385;
        Tue, 30 Apr 2024 06:54:20 -0700 (PDT)
Message-ID: <320c6f71-66a2-4893-9f85-247411eeff23@suse.com>
Date: Tue, 30 Apr 2024 15:54:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/cpu-policy: Introduce some SEV features
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Andrei Semenov <andrei.semenov@vates.fr>,
 Vaishali Thakkar <vaishali.thakkar@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240429151625.977884-1-andrew.cooper3@citrix.com>
 <20240429151625.977884-6-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240429151625.977884-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29.04.2024 17:16, Andrew Cooper wrote:
> For display purposes only right now.

And limited to a narrow subset, presumably intentionally.

> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:13:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714923.1116299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oEa-0003Xb-Ug; Tue, 30 Apr 2024 14:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714923.1116299; Tue, 30 Apr 2024 14: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 1s1oEa-0003XU-RK; Tue, 30 Apr 2024 14:13:28 +0000
Received: by outflank-mailman (input) for mailman id 714923;
 Tue, 30 Apr 2024 14:13:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Iw5h=MD=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1s1oEZ-0003XO-9W
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:13:27 +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 cfa78218-06fb-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 16:13:26 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-34782453ffdso5197308f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 07:13:26 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d18-20020adffbd2000000b0034ca136f0e9sm8855478wrs.88.2024.04.30.07.13.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 07:13: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: cfa78218-06fb-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714486406; x=1715091206; 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=2KLF6DiwoGHMGRFdLIHyP/Ey6iRLeXoi5ASvkunY/Eo=;
        b=ZZuML2KwJF9pcM8H0lyBBAy+Aa8UccJyPdGBD5+EYuTyp3ER94M5DK9x2jlV/OBzzA
         eHkZ+c4/CtZl4EH2nl6URIOf/iU+cL0vUoCC4CBxagK+93/bqo3/QwM1qQWt/h5PrH0k
         V0G9tmNiZF0zCTpvyEldWXKEm5Dlgw6OKD4ME=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714486406; x=1715091206;
        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=2KLF6DiwoGHMGRFdLIHyP/Ey6iRLeXoi5ASvkunY/Eo=;
        b=qdpDY+rX+qqgyKYIwvyeG7ESDKUNGZmQuFTNtcrtqgA11KJxVOtHmojE6C2C22rymf
         +1vUHhapMZJZI0jR9pV80IoReKQMozqCmnOoeazYQHG2s8Nme3g2VfIr2REcgPGpsNcq
         yLSw1pRrJnVqDyRUErtjFEnWl1IxVgTpxG1Nj0p3c6BC1XBcvUc9YZ54yCOcBdkybJQj
         HAk96RensLf26GpNfou9fGaXq+IcujXq/K/FCXX4I5QVM0eMVAL4Al68e9zZyDLuuMqD
         KpKEW8qDAYDOK+OEDiKHI4qIRmksxsa6k8clhvk2cEU9jrByMFKH3SKSPE8fOzwGXZNh
         zW1A==
X-Gm-Message-State: AOJu0YzFIJ+ReUuOSdClyA8ViGRVDqrW7g8k1ck1gC+KUrfmemsz4CSs
	GQ4R3szX7rBO7/zzQBGQTkQ9r1jLNkmcruGpP5bPswh/pbuXGuFXHOyqddIw69c=
X-Google-Smtp-Source: AGHT+IF0vhS3VxC+kn4htq15hAFNS1ijKoQCrPpLdHWftIfhEJ+tMU65OXleRnJAQw5vYcNgQcXQ0A==
X-Received: by 2002:a05:6000:147:b0:34c:71d0:1151 with SMTP id r7-20020a056000014700b0034c71d01151mr10389421wrx.10.1714486405810;
        Tue, 30 Apr 2024 07:13:25 -0700 (PDT)
Date: Tue, 30 Apr 2024 15:13:24 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 1/3] tools/xg: Move xc_cpu_policy_t to xenguest.h
Message-ID: <33f7fbc5-6bbf-4f84-9d83-96cbb106d7de@perard>
References: <20240207173957.19811-1-alejandro.vallejo@cloud.com>
 <20240207173957.19811-2-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240207173957.19811-2-alejandro.vallejo@cloud.com>

On Wed, Feb 07, 2024 at 05:39:55PM +0000, Alejandro Vallejo wrote:
> diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
> index e01f494b772a..4e9078fdee4d 100644
> --- a/tools/include/xenguest.h
> +++ b/tools/include/xenguest.h
> @@ -784,7 +784,13 @@ xen_pfn_t *xc_map_m2p(xc_interface *xch,
>                        unsigned long *mfn0);
>  
>  #if defined(__i386__) || defined(__x86_64__)
> -typedef struct xc_cpu_policy xc_cpu_policy_t;
> +#include <xen/lib/x86/cpu-policy.h>

I don't think it's a good idea to expose "cpu-policy.h" to "xenguest.h",
and it's going to break the build of every tools outside of xen
repository that are using xenguest.h. xenguest.h is installed on a
system, but cpu-policy.h isn't.

> +typedef struct xc_cpu_policy {
> +    struct cpu_policy policy;
> +    xen_cpuid_leaf_t leaves[CPUID_MAX_SERIALISED_LEAVES];
> +    xen_msr_entry_t msrs[MSR_MAX_SERIALISED_ENTRIES];
> +} xc_cpu_policy_t;

Would using an accessor be an option to access `leaves` and `msrs` for
"xen-cpuid" tool? That would avoid the need to expose the "cpu-policy.h"
headers.

With accessors, we might not need to expose xc_cpu_policy_serialise() to
the world anymore, and it could be internal to libxenguest, probably, I
haven't check.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:20:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:20:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714927.1116309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oLd-0005V9-K0; Tue, 30 Apr 2024 14:20:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714927.1116309; Tue, 30 Apr 2024 14:20:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oLd-0005V2-H9; Tue, 30 Apr 2024 14:20:45 +0000
Received: by outflank-mailman (input) for mailman id 714927;
 Tue, 30 Apr 2024 14:20:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Iw5h=MD=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1s1oLb-0005Uw-Mo
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:20:43 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3c1b96e-06fc-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 16:20:42 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-34d99ec52e1so353331f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 07:20:42 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h1-20020a5d5481000000b003437a76565asm32056020wrv.25.2024.04.30.07.20.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 07:20: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: d3c1b96e-06fc-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714486842; x=1715091642; 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=Ff9p7i7ekksVza3WUv0i733kO6a0nTJj5wfu3fPRHrs=;
        b=EwEFcQAXzve34GwBUh2839YAKD/+6wI+DWZxdZqk6Rjo/u++fxAKqqsV4qJC48crV1
         x68LqB41j3WzdVRQxZwkihXfssjuMTVfa//H6TJr8GZG1T2YUQs8JjvYv8GqxXhttdr0
         PjVwXaEolcRWW6BwNQ/hM/43cwb45tND2XSoI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714486842; x=1715091642;
        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=Ff9p7i7ekksVza3WUv0i733kO6a0nTJj5wfu3fPRHrs=;
        b=lDToYfqyNAXrgMHCohIxI0bVH/Pfg1f8vnEQmew2idG0pLlHTOAjgqCoY62l9J5V2z
         pHWENdigUI20E9yrrC6xKLWu0e/pGD6obCa9i2YF0wx9OnSg4kgL1Q2VPxM/f3Om8ifm
         TfPmZg+Xt/EfvjcuW/yBBHxO6+H9PFQbl219gRAEn3O/xsFeObkDqdf8KxmdPAvwW18q
         Wws+C7Frcnj/Witq9nduy9Y/xNIep0De8K0tjVfgF0MX8yfZpkxchk5TD8Zw84vkVJ7N
         nsRdIHVawMw38teWIJrDDbpKEHXmNzEIhbGge2tuhy5g0sSCPyP9eyxaQ1Hu9fEcdj3D
         Y39Q==
X-Gm-Message-State: AOJu0YyfE2DJA7JXKspbLtrWiDtb0FBDyoKkwGZfGr019LzNVY1WvSnI
	7WkZ2L9pFtIpEi4gL32ysSFW3GgriUvCXY5yY810vcrcaCallUqtElDFO+aoHB8=
X-Google-Smtp-Source: AGHT+IH8QnVAt6qkdwKJg4z9+knWCm1dXAVbZXDkKFOTQ9Ohb89yP4fjw/BFP6nnIPl8aIANVdRghA==
X-Received: by 2002:a5d:56c9:0:b0:34d:2447:9f8f with SMTP id m9-20020a5d56c9000000b0034d24479f8fmr2190548wrw.5.1714486842203;
        Tue, 30 Apr 2024 07:20:42 -0700 (PDT)
Date: Tue, 30 Apr 2024 15:20:41 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [PATCH 2/3] tools/xg: Streamline cpu policy
 serialise/deserialise calls
Message-ID: <b60157b3-2633-46a0-ba7c-a7b589716e41@perard>
References: <20240207173957.19811-1-alejandro.vallejo@cloud.com>
 <20240207173957.19811-3-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240207173957.19811-3-alejandro.vallejo@cloud.com>

On Wed, Feb 07, 2024 at 05:39:56PM +0000, Alejandro Vallejo wrote:
> The idea is to use xc_cpu_policy_t as a single object containing both the
> serialised and deserialised forms of the policy. Note that we need lengths
> for the arrays, as the serialised policies may be shorter than the array
> capacities.
> 
> * Add the serialised lengths to the struct so we can distinguish
>   between length and capacity of the serialisation buffers.
> * Remove explicit buffer+lengths in serialise/deserialise calls
>   and use the internal buffer inside xc_cpu_policy_t instead.
> * Refactor everything to use the new serialisation functions.
> * Remove redundant serialization calls and avoid allocating dynamic
>   memory aside from the policy objects in xen-cpuid. Also minor cleanup
>   in the policy print call sites.
> 
> No functional change intended.
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

The patch looks fine beside xen-cpuid.c which might need to tweaked due
to change needed in the first patch.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:27:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714933.1116318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oST-0006fH-CD; Tue, 30 Apr 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 714933.1116318; Tue, 30 Apr 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 1s1oST-0006fA-9i; Tue, 30 Apr 2024 14:27:49 +0000
Received: by outflank-mailman (input) for mailman id 714933;
 Tue, 30 Apr 2024 14:27:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1oSS-0006f4-L1
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:27:48 +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 d08f7d8e-06fd-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 16:27:46 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2def8e5ae60so66387041fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 07:27: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
 g7-20020a05600c4ec700b0041c14061c71sm9698674wmq.15.2024.04.30.07.27.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 07:27: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: d08f7d8e-06fd-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714487266; x=1715092066; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QLTV69ggXSEfUfuXmfv5de6wjWSUaN1sFmPPHo0vFHs=;
        b=e26auLcaVLJ4M8icLYlTFo9eJPsdnVEdVX+BJEmDAuI9NPXbD0A/ED665RA4PU8foX
         XiQWOjDVNBYEyF8XUy9c4WHB1Ui4CI4kisE0S+OQg4R95GQf77uQUdxgphiZtdSUJPaT
         19EbVydwYP28jsJ56cIqokqj+2Ef2BbX1MPIeqkBA88SYCZkD4yZTr4/B3ANLkS5SuE9
         ccomZj+A0rhMGdgqNcI/Vt1RWjO9rC7cF5R/I9RX5LwKBkhpCa/Bx3lRYQJZZ3CcgeGD
         pAHCuGGpD6QEkg2aG1WK4dGbPEAvu0qJcLVPqjZ7oOEpM58G/i0HXlRXn+3yDzL1+2ik
         n5lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714487266; x=1715092066;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QLTV69ggXSEfUfuXmfv5de6wjWSUaN1sFmPPHo0vFHs=;
        b=kw9Jc03Zzog5hWWSMqVQrPW32htZeI3G4xP2DGZQaV+XSeG0LiyADieRjH7DBiUnCg
         Wq8dVoNBFShPmyEajD9nBBtEVsra9K0M1OnEaZifiVcJxAHvk3NBIPh988r6g+jebbJ1
         MSvfoBduUeqIgr6Cstpjl8+LeNz6xCTgKnhJ55r8E6zczLkUhziiU64jUUiwMeKCvZaZ
         ZWx0+/md0u2CCDo6Eu+eFevC+wlS1wCd8WAw430voQUkHKSuO7coVi/wKNP0xgROgjeP
         +OO9e73kkmzlF/0Td+M1b9n8fWwSjKPtkuvW4kN7hnz/7niUUaXx5Uopz010lON8Yjsg
         x8Og==
X-Forwarded-Encrypted: i=1; AJvYcCUiMdxer4HkFH8aj0fwOHqnF4bS4dDQF5Eq9B1ncJRn5KLyZrwcpGFVMlxUgUC0sSKg80FaDnj3DeZF0IrQNrm7R+ngXWfRVtTW3tZT70U=
X-Gm-Message-State: AOJu0YzjUZMEWeyGg1YDw55GttEUuduBHnAG8agBvsuNL0FSWsXJtEoW
	8MZQg0ejtqi+gu/xzOMyOT+793BRSKwdlkzXfHm1cnJePXjEvP8y8sMxkOxiiw==
X-Google-Smtp-Source: AGHT+IEWKm88H8p3f8wwDdEmAsokajYPUYL8KRtUDMOZmgLKeCtcsfIWnTU7lUqlBemhrvnjeh1I4g==
X-Received: by 2002:a05:651c:cb:b0:2dd:bd92:63a with SMTP id 11-20020a05651c00cb00b002ddbd92063amr8493257ljr.34.1714487266301;
        Tue, 30 Apr 2024 07:27:46 -0700 (PDT)
Message-ID: <5600e97e-5d44-4901-a867-b48192e9525f@suse.com>
Date: Tue, 30 Apr 2024 16:27:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/7] x86: Make the maximum number of altp2m views
 configurable
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <cover.1714322424.git.w1benny@gmail.com>
 <0041438ff7a5d5b2fad59b676f4ece80470bf3b3.1714322424.git.w1benny@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0041438ff7a5d5b2fad59b676f4ece80470bf3b3.1714322424.git.w1benny@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.04.2024 18:52, Petr Beneš wrote:
> From: Petr Beneš <w1benny@gmail.com>
> 
> This commit introduces the ability to configure the maximum number of altp2m
> tables during domain creation. Previously, the limits were hardcoded to a
> maximum of 10. This change allows for greater flexibility in environments that
> require more or fewer altp2m views.
> 
> The maximum configurable limit for max_altp2m on x86 is now set to MAX_EPTP
> (512). This cap is linked to the architectural limit of the EPTP-switching
> VMFUNC, which supports up to 512 entries. Despite there being no inherent need
> for limiting max_altp2m in scenarios not utilizing VMFUNC, decoupling these
> components would necessitate substantial code changes.

While I don't mind this connection, ...

> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -685,6 +685,12 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
> 
> +    if ( config->max_altp2m > MAX_EPTP )
> +    {
> +        dprintk(XENLOG_INFO, "max_altp2m must be <= %u\n", MAX_EPTP);
> +        return -EINVAL;
> +    }

... using MAX_EPTP here feels like a layering violation to me. Imo there want
to be separate constants, tied together with a suitably placed BUILD_BUG_ON().

Furthermore comparisons like this (there are further ones elsewhere) suggest
there is a (continued) naming issue: A max_ or MAX_ prefix ought to name a
"maximum valid value", not "number of permitted values". This is not a
request to alter MAX_EPTP, but one to make sure the new struct fields really
have matching names and purposes.

> --- a/xen/arch/x86/include/asm/domain.h
> +++ b/xen/arch/x86/include/asm/domain.h
> @@ -258,11 +258,10 @@ struct paging_vcpu {
>      struct shadow_vcpu shadow;
>  };
> 
> +#define INVALID_ALTP2M  0xffff
> +#define MAX_EPTP        ((unsigned int)(PAGE_SIZE / sizeof(uint64_t)))

Aiui you add this cast because of the various min() uses. However, besides
wanting to avoid such casts (or in fact any, whenever possible), I don't
see why you need to retain all those min(): You bound d->max_altp2m against
MAX_EPTP during domain creation anyway.

> --- a/xen/arch/x86/mm/altp2m.c
> +++ b/xen/arch/x86/mm/altp2m.c
> @@ -13,6 +13,12 @@
>  void
>  altp2m_vcpu_initialise(struct vcpu *v)
>  {
> +    struct domain *d = v->domain;
> +
> +    /* Skip initialisation if no altp2m will be used. */
> +    if ( d->max_altp2m == 0 )
> +        return;

While I'm fine with this comment, ...

> @@ -28,8 +34,13 @@ altp2m_vcpu_initialise(struct vcpu *v)
>  void
>  altp2m_vcpu_destroy(struct vcpu *v)
>  {
> +    struct domain *d = v->domain;
>      struct p2m_domain *p2m;
> 
> +    /* Skip destruction if no altp2m was used. */
> +    if ( d->max_altp2m == 0 )
> +        return;

... this one doesn't look quite right: Even if altp2m-s were initialized,
none may have been used (yet).

> @@ -120,7 +131,13 @@ int p2m_init_altp2m(struct domain *d)
>      struct p2m_domain *hostp2m = p2m_get_hostp2m(d);
> 
>      mm_lock_init(&d->arch.altp2m_list_lock);
> -    for ( i = 0; i < MAX_ALTP2M; i++ )
> +
> +    if ( (d->arch.altp2m_p2m = xzalloc_array(struct p2m_domain *, d->max_altp2m)) == NULL )
> +    {
> +        return -ENOMEM;
> +    }

Nit: Overlong line and no need for the braces.

> +    for ( i = 0; i < d->max_altp2m; i++ )
>      {
>          d->arch.altp2m_p2m[i] = p2m = p2m_init_one(d);

This loop, btw, also demonstrates that "maximum" isn't true here. The
domain gets all of them allocated in one go.

> @@ -141,7 +158,10 @@ void p2m_teardown_altp2m(struct domain *d)
>      unsigned int i;
>      struct p2m_domain *p2m;
> 
> -    for ( i = 0; i < MAX_ALTP2M; i++ )
> +    if ( !d->arch.altp2m_p2m )
> +        return;
> +
> +    for ( i = 0; i < d->max_altp2m; i++ )
>      {
>          if ( !d->arch.altp2m_p2m[i] )
>              continue;
> @@ -149,6 +169,9 @@ void p2m_teardown_altp2m(struct domain *d)
>          d->arch.altp2m_p2m[i] = NULL;
>          p2m_free_one(p2m);
>      }
> +
> +    xfree(d->arch.altp2m_p2m);
> +    d->arch.altp2m_p2m = NULL;
>  }

Please don't (wrongly) open-code XFREE().

> @@ -2090,13 +2090,13 @@ int p2m_change_altp2m_gfn(struct domain *d, unsigned int idx,
>      mfn_t mfn;
>      int rc = -EINVAL;
> 
> -    if ( idx >=  min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
> +    if ( idx >=  min(d->max_altp2m, MAX_EPTP) ||

Nit: Please take the opportunity and remove the excess blank.

>           d->arch.altp2m_eptp[array_index_nospec(idx, MAX_EPTP)] ==

This use of MAX_EPTP also needs replacing, to avoid speculatively overrunning
the allocated array. At least one more instance elsewhere.

> @@ -2575,12 +2575,12 @@ int p2m_set_suppress_ve_multi(struct domain *d,
> 
>      if ( sve->view > 0 )
>      {
> -        if ( sve->view >= min(ARRAY_SIZE(d->arch.altp2m_p2m), MAX_EPTP) ||
> +        if ( sve->view >= min(d->max_altp2m, MAX_EPTP) ||
>               d->arch.altp2m_eptp[array_index_nospec(sve->view, MAX_EPTP)] ==
>               mfn_x(INVALID_MFN) )
>              return -EINVAL;
> 
> -        p2m = ap2m = array_access_nospec(d->arch.altp2m_p2m, sve->view);
> +        p2m = ap2m = d->arch.altp2m_p2m[array_index_nospec(sve->view, d->max_altp2m)];

Nit: Overlong line (more elsewhere).

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -568,6 +568,12 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
>          }
>      }
> 
> +    if ( config->max_altp2m && !hvm_altp2m_supported() )

This looks like it'll break the build on non-x86.

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -21,7 +21,7 @@
>  #include "hvm/save.h"
>  #include "memory.h"
> 
> -#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
> +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000017
> 
>  /*
>   * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
> @@ -77,6 +77,7 @@ struct xen_domctl_createdomain {
>       */
>      uint32_t max_vcpus;
>      uint32_t max_evtchn_port;
> +    uint32_t max_altp2m;
>      int32_t max_grant_frames;
>      int32_t max_maptrack_frames;

Both this and ...

> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -602,6 +602,8 @@ struct domain
>          unsigned int guest_request_sync          : 1;
>      } monitor;
> 
> +    unsigned int max_altp2m; /* Maximum number of altp2m tables */
> +
>      unsigned int vmtrace_size; /* Buffer size in bytes, or 0 to disable. */

... this suggest you're confident other architectures will also want
to support altp2m. Yet nothing like that is said in the description.
In the absence of that common code should not require touching (much).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:28:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:28:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714935.1116328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oT3-00077w-K5; Tue, 30 Apr 2024 14:28:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714935.1116328; Tue, 30 Apr 2024 14:28:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oT3-00077p-HX; Tue, 30 Apr 2024 14:28:25 +0000
Received: by outflank-mailman (input) for mailman id 714935;
 Tue, 30 Apr 2024 14:28:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BF+G=MD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1oT2-00077h-WC
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:28:24 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6939ff9-06fd-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 16:28:23 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 5EF364EE074E;
 Tue, 30 Apr 2024 16:28:20 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6939ff9-06fd-11ef-909b-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Anthony PERARD <anthony@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v2 0/3] address violations of MISRA C Rule 20.7
Date: Tue, 30 Apr 2024 16:28:13 +0200
Message-Id: <cover.1714487169.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

this series aims to refactor some macros that cause violations of MISRA C Rule
20.7 ("Expressions resulting from the expansion of macro parameters shall be
enclosed in parentheses"). All the macros touched by these patches are in some
way involved in violations, and the strategy adopted to bring them into
compliance is to add parentheses around macro arguments where needed.

Patch 1/3 is derived from that of v1; patches 2 and 3 are new to this series.

Nicola Vetrini (3):
  drivers: char: address violation of MISRA C Rule 20.7
  xen/unaligned: address violation of MISRA C Rule 20.7
  xen/pci: address violations of MISRA C Rule 20.7

 tools/include/xen-tools/common-macros.h | 2 +-
 xen/drivers/char/omap-uart.c            | 5 +++--
 xen/include/xen/pci_regs.h              | 6 +++---
 xen/include/xen/unaligned.h             | 2 +-
 xen/include/xen/vpci.h                  | 2 +-
 5 files changed, 9 insertions(+), 8 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:28:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714936.1116339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oT6-0007O4-RC; Tue, 30 Apr 2024 14:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714936.1116339; Tue, 30 Apr 2024 14: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 1s1oT6-0007Nx-Nc; Tue, 30 Apr 2024 14:28:28 +0000
Received: by outflank-mailman (input) for mailman id 714936;
 Tue, 30 Apr 2024 14: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=BF+G=MD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1oT5-00072Z-4B
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:28:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7a5dfa1-06fd-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 16:28:25 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 9FF444EE0753;
 Tue, 30 Apr 2024 16:28: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: e7a5dfa1-06fd-11ef-b4bb-af5377834399
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v2 1/3] drivers: char: address violation of MISRA C Rule 20.7
Date: Tue, 30 Apr 2024 16:28:14 +0200
Message-Id: <3ae8aa13a5562440cf60e4b30f713e5b2f73c577.1714487169.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714487169.git.nicola.vetrini@bugseng.com>
References: <cover.1714487169.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional chage.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- drop excess parentheses from val parameter.
---
 xen/drivers/char/omap-uart.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
index 03b5b66e7acb..e0128225f927 100644
--- a/xen/drivers/char/omap-uart.c
+++ b/xen/drivers/char/omap-uart.c
@@ -48,8 +48,9 @@
 /* System configuration register */
 #define UART_OMAP_SYSC_DEF_CONF   0x0d   /* autoidle mode, wakeup is enabled */
 
-#define omap_read(uart, off)       readl((uart)->regs + (off<<REG_SHIFT))
-#define omap_write(uart, off, val) writel((val), (uart)->regs + (off<<REG_SHIFT))
+#define omap_read(uart, off)       readl((uart)->regs + ((off) << REG_SHIFT))
+#define omap_write(uart, off, val) writel(val, (uart)->regs + \
+                                               ((off) << REG_SHIFT))
 
 static struct omap_uart {
     u32 baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:28:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714937.1116349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oT8-0007dV-2B; Tue, 30 Apr 2024 14:28:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714937.1116349; Tue, 30 Apr 2024 14:28:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oT7-0007dN-VI; Tue, 30 Apr 2024 14:28:29 +0000
Received: by outflank-mailman (input) for mailman id 714937;
 Tue, 30 Apr 2024 14: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=BF+G=MD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1oT6-00077h-8X
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:28:28 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8efd52b-06fd-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 16:28:27 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id BB4C04EE0754;
 Tue, 30 Apr 2024 16:28: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: e8efd52b-06fd-11ef-909b-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Anthony PERARD <anthony@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH v2 2/3] xen/unaligned: address violation of MISRA C Rule 20.7
Date: Tue, 30 Apr 2024 16:28:15 +0200
Message-Id: <ec56516020d15cf20419b8bdf6f01fc365c52126.1714487169.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714487169.git.nicola.vetrini@bugseng.com>
References: <cover.1714487169.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Somewhat surprisingly, the change in the tools directory is also needed, otherwise
some CI build jobs fail (see e.g. [1]). This is not undefined behaviour
as long as the two definitions are kept in sync, following section
6.10.3p2 of the C99 standard, but having the definition in common-macros.h
is still a potential problem.

[1] https://gitlab.com/xen-project/people/bugseng/xen/-/jobs/6742878558
---
 tools/include/xen-tools/common-macros.h | 2 +-
 xen/include/xen/unaligned.h             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index 07aed92684b5..60912225cb7a 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -102,7 +102,7 @@
 
 #define put_unaligned_t(type, val, ptr) do {                        \
     struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr);        \
-    ptr_->x = val;                                                  \
+    ptr_->x = (val);                                                \
 } while (0)
 
 #define get_unaligned(ptr)      get_unaligned_t(typeof(*(ptr)), ptr)
diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
index 3eda0ece1199..2e8238d45c54 100644
--- a/xen/include/xen/unaligned.h
+++ b/xen/include/xen/unaligned.h
@@ -19,7 +19,7 @@
 
 #define put_unaligned_t(type, val, ptr) do {				\
 	struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr);	\
-	ptr_->x = val;							\
+	ptr_->x = (val);							\
 } while (0)
 
 #define get_unaligned(ptr)	get_unaligned_t(typeof(*(ptr)), ptr)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:28:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:28:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714938.1116359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oT9-0007tI-9F; Tue, 30 Apr 2024 14:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714938.1116359; Tue, 30 Apr 2024 14:28:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oT9-0007tA-5A; Tue, 30 Apr 2024 14:28:31 +0000
Received: by outflank-mailman (input) for mailman id 714938;
 Tue, 30 Apr 2024 14:28:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BF+G=MD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1oT7-00077h-8t
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:28:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e94d9a5e-06fd-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 16:28:28 +0200 (CEST)
Received: from nico.bugseng.com.homenet.telecomitalia.it
 (host-79-60-221-62.business.telecomitalia.it [79.60.221.62])
 by support.bugseng.com (Postfix) with ESMTPSA id 9FE784EE0755;
 Tue, 30 Apr 2024 16:28: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: e94d9a5e-06fd-11ef-909b-e314d9c70b13
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org,
	nicola.vetrini@bugseng.com
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v2 3/3] xen/pci: address violations of MISRA C Rule 20.7
Date: Tue, 30 Apr 2024 16:28:16 +0200
Message-Id: <df48ce446cf6409eda04460109f3082b39c4f618.1714487169.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1714487169.git.nicola.vetrini@bugseng.com>
References: <cover.1714487169.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 20.7 states: "Expressions resulting from the expansion
of macro parameters shall be enclosed in parentheses". Therefore, some
macro definitions should gain additional parentheses to ensure that all
current and future users will be safe with respect to expansions that
can possibly alter the semantics of the passed-in macro parameter.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/include/xen/pci_regs.h | 6 +++---
 xen/include/xen/vpci.h     | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
index 9909b27425a5..0bc18efabb74 100644
--- a/xen/include/xen/pci_regs.h
+++ b/xen/include/xen/pci_regs.h
@@ -445,9 +445,9 @@
 #define PCI_EXP_RTSTA		32	/* Root Status */
 
 /* Extended Capabilities (PCI-X 2.0 and Express) */
-#define PCI_EXT_CAP_ID(header)		(header & 0x0000ffff)
-#define PCI_EXT_CAP_VER(header)		((header >> 16) & 0xf)
-#define PCI_EXT_CAP_NEXT(header)	((header >> 20) & 0xffc)
+#define PCI_EXT_CAP_ID(header)		((header) & 0x0000ffff)
+#define PCI_EXT_CAP_VER(header)		(((header) >> 16) & 0xf)
+#define PCI_EXT_CAP_NEXT(header)	(((header) >> 20) & 0xffc)
 
 #define PCI_EXT_CAP_ID_ERR	1
 #define PCI_EXT_CAP_ID_VC	2
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index e89c571890b2..6e4c972f35ed 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -23,7 +23,7 @@ typedef int vpci_register_init_t(struct pci_dev *dev);
 
 #define REGISTER_VPCI_INIT(x, p)                \
   static vpci_register_init_t *const x##_entry  \
-               __used_section(".data.vpci." p) = x
+               __used_section(".data.vpci." p) = (x)
 
 /* Assign vPCI to device by adding handlers. */
 int __must_check vpci_assign_device(struct pci_dev *pdev);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:42:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714960.1116374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ogS-0003J7-9R; Tue, 30 Apr 2024 14:42:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714960.1116374; Tue, 30 Apr 2024 14:42:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ogS-0003J0-6p; Tue, 30 Apr 2024 14:42:16 +0000
Received: by outflank-mailman (input) for mailman id 714960;
 Tue, 30 Apr 2024 14:42: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=Iw5h=MD=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1s1ogQ-0003Iu-HK
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:42:14 +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 d543b468-06ff-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 16:42:13 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2df9af57b5eso52176881fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 07:42:13 -0700 (PDT)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b16-20020a05600c4e1000b0041bbec72670sm14400568wmq.39.2024.04.30.07.42.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 07:42: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: d543b468-06ff-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1714488133; x=1715092933; 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=ZTmzBddnbCylVwVx7clI3X/mV1tZ60oTa0osFKmT5nE=;
        b=Ll/vF+seQw5w7G19O+RXYBQ6PYNn3qkhGrBsUr5UGYLzbQ33hh7xeT9QntHPhMRjwC
         ZeWfzG+9Atm3DrJrYr/q1ELhVauuD8bwBJwspCRzGW4zshNOhwMISWfgnEQKHp5fqldH
         uOxN+1C+RZdRUWXZqWqyWzvYPWJGc6rN0OB8s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714488133; x=1715092933;
        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=ZTmzBddnbCylVwVx7clI3X/mV1tZ60oTa0osFKmT5nE=;
        b=bgnHLvvd1H8+LJNobR2uqvtNLCG2l0sUdLu8lM1y7N+0QRQTM0814nYgtO8EjJfG3x
         p2ry9gChPwvilAE5cXtQE8SZWh8VNrVWYj9xsd2ZnjZyLXK9LgzRT+N+BexUQi8TkWLZ
         WFsKZgYs/NcceHO6XF8THO2qF44Cw36DxlBlHS5X9p0HHVTHi+XgwI+A2RHOFXRuXKGl
         y8du+mPtqdc1ijtZLDZqbOQi47bDZb9HxzKte2NI32zFu6jKZeAem84M+k5Hfd0fhYaD
         ZBhqA29EQ1PJXyA3lFqT6sWt5rRdo6WiEwpcHxtmSHhQBD+vkJSTfpJKoj1Q2MQnq4J2
         LWtQ==
X-Gm-Message-State: AOJu0Yx+5FNfC8XlNw2V0wiPt8qPbovl3QKWCsr4WpA5fHKkV59LQuPi
	YKDenTktubi/kPtMahR/RwMxeRk/KFPGh5fM17W5mNC7LgHjhuDGqm1AeGgA0xE=
X-Google-Smtp-Source: AGHT+IESvJw9U18F6kZeAmYyEt5T3BHZGb0BJeEXoU/Me/VUVHeacFiHzivig9y6rOULeB7Zqzsb2A==
X-Received: by 2002:a2e:9cc1:0:b0:2d8:7320:e36a with SMTP id g1-20020a2e9cc1000000b002d87320e36amr10281226ljj.17.1714488133125;
        Tue, 30 Apr 2024 07:42:13 -0700 (PDT)
Date: Tue, 30 Apr 2024 15:42:11 +0100
From: Anthony PERARD <anthony.perard@cloud.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 3/3] tools/xg: Clean up xend-style overrides for CPU
 policies
Message-ID: <2b4b05d1-154d-43b8-a29b-aa99332a8eeb@perard>
References: <20240207173957.19811-1-alejandro.vallejo@cloud.com>
 <20240207173957.19811-4-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240207173957.19811-4-alejandro.vallejo@cloud.com>

On Wed, Feb 07, 2024 at 05:39:57PM +0000, Alejandro Vallejo wrote:
> diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
> index 5699a26b946e..cee0be80ba5b 100644
> --- a/tools/libs/guest/xg_cpuid_x86.c
> +++ b/tools/libs/guest/xg_cpuid_x86.c
> @@ -772,49 +616,45 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
>               * apic_id_size values greater than 7.  Limit the value to
>               * 7 for now.
>               */
> -            if ( p->policy.extd.nc < 0x7f )
> +            if ( cur->policy.extd.nc < 0x7f )
>              {
> -                if ( p->policy.extd.apic_id_size != 0 && p->policy.extd.apic_id_size < 0x7 )
> -                    p->policy.extd.apic_id_size++;
> +                if ( cur->policy.extd.apic_id_size != 0 && cur->policy.extd.apic_id_size < 0x7 )
> +                    cur->policy.extd.apic_id_size++;
>  
> -                p->policy.extd.nc = (p->policy.extd.nc << 1) | 1;
> +                cur->policy.extd.nc = (cur->policy.extd.nc << 1) | 1;
>              }
>              break;
>          }
>      }
>  
> -    nr_leaves = ARRAY_SIZE(p->leaves);
> -    rc = x86_cpuid_copy_to_buffer(&p->policy, p->leaves, &nr_leaves);
> -    if ( rc )
> +    if ( xend || msr )
>      {
> -        ERROR("Failed to serialise CPUID (%d = %s)", -rc, strerror(-rc));
> -        goto out;
> +        // The overrides are over the serialised form of the policy

Comments should use /* */

> +        if ( (rc = xc_cpu_policy_serialise(xch, cur)) )
> +            goto out;
> +
> +        if ( (rc = xc_cpuid_xend_policy(xch, domid, xend, host, def, cur)) )
> +            goto out;
> +        if ( (rc = xc_msr_policy(xch, domid, msr, host, def, cur)) )
> +            goto out;

What if `xend` is set, but `msr` isn't? Looks like there's going to be a
segv in xc_msr_policy() because it doesn't check that `msr` is actually
set.


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:47:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:47:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714970.1116385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1oli-0004Rr-0i; Tue, 30 Apr 2024 14:47:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714970.1116385; Tue, 30 Apr 2024 14: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 1s1olh-0004Rk-U9; Tue, 30 Apr 2024 14:47:41 +0000
Received: by outflank-mailman (input) for mailman id 714970;
 Tue, 30 Apr 2024 14: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1olg-0004Re-HZ
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:47:40 +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 9694b580-0700-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 16:47:38 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-41ba1ba55e9so32014095e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 07:47: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
 n18-20020a05600c4f9200b004169836bf9asm49080558wmq.23.2024.04.30.07.47.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 07:47: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: 9694b580-0700-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714488457; x=1715093257; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=46tskrF92hLUMV+B1R/GuJlMBvlIuA3gaMSqcfZbiSc=;
        b=dHFWR8R6YWoe8WVFqB0LRW+f2JWdL/KODt4U0mdbcljVLACayVUOuBGmh3OKAYJKhO
         q3HMQkhSFym+NgKMQddGvN0xA/wCaHHwCihruiZdev5fOUQ6djx3qiurlUkSDwgBTx5O
         x3rT+Iecm/YFTbYWB6tRcBr1gonh859YLrmLvTQxOgQ2XCaSQOspfll2cu0w5Zqv2Fa0
         4gQ+4/3wHbZuHqumrZTODPgGQ3nIP45Cw5pxrqZ/T0cxxeJv7D6IR58bHWRKoKpZDuDu
         DylWirQsqqYCDyXXTWR4hSXDTbkKEhm4ZrXmMN8uoL5osQEC7Cx/pnebBzholBEPY8i7
         SRYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714488457; x=1715093257;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=46tskrF92hLUMV+B1R/GuJlMBvlIuA3gaMSqcfZbiSc=;
        b=caZg1JG+/ZRx8c9Dh4NLU6jyJpeJFqPYEzrLo17YDMjgYrYrnKfQQGSUnuZRDKTw7i
         UYyJ0ea2EXUlDEk+u2gjHCRPyZ/hJwJ6sbNFjI9EzKtKOeQtsEsLr+gOOv2mNuVi2XYA
         /3v/Vxt+TSWBtxSHHB9XYBgGtM0teZNY9HiUVx/UG4VXnMAzPfsDlcNxiW1TXwPO1m0z
         y1rwczYZkMZtUl79OLR4v4M2oPa6suWJKzm8ZaYkBzh7iPOeqCiW3jl1lLAVXRJ05g9b
         27oXelvzofe84BLjTlS81OiewL+pDECffaMXyiN4gcqe4L46aQ/6FrXpqYVAHuun3aXo
         qVZQ==
X-Forwarded-Encrypted: i=1; AJvYcCXLoo68mM7vWeE0dhXWrXiz5E17EZkoUWOA1Nwe7AazEGR+5VkktWhJGLwASVt3Bk6lTCwGIf+Xj/B4txVulJraFYbhEy+GRjDYlXu4D2g=
X-Gm-Message-State: AOJu0Yy68ctCFQx7AHyhffak27HclEnQY1dJo1SAHuddXJPoWltaMTvN
	2VcKAPG3ej4H6EJEUeLNucp6qQ1+/HtyvN6HybD6mCMXMXmnyMiaRo5hzzT5hQ==
X-Google-Smtp-Source: AGHT+IFGfYOKD1Ew6vAwLQwXYErXklb+XrKRE4ydayaDumhsA9MRBoz14X1djwOZyHQB/LMwhwTP8g==
X-Received: by 2002:a05:600c:1d9f:b0:41c:97e:20b9 with SMTP id p31-20020a05600c1d9f00b0041c097e20b9mr2566449wms.14.1714488457539;
        Tue, 30 Apr 2024 07:47:37 -0700 (PDT)
Message-ID: <4d9930d4-4379-4440-83b2-14ebffc7c03d@suse.com>
Date: Tue, 30 Apr 2024 16:47:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 7/7] x86/hap: Increase the number of initial
 mempool_size to 1024 pages
Content-Language: en-US
To: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Cc: Anthony PERARD <anthony@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1714322424.git.w1benny@gmail.com>
 <a26bc4aeba89f7895c79df7e320adfc695b16d50.1714322424.git.w1benny@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a26bc4aeba89f7895c79df7e320adfc695b16d50.1714322424.git.w1benny@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28.04.2024 18:52, Petr Beneš wrote:
> From: Petr Beneš <w1benny@gmail.com>
> 
> This change anticipates scenarios where `max_altp2m` is set to its maximum
> supported value (i.e., 512), ensuring sufficient memory is allocated upfront
> to accommodate all altp2m tables without initialization failure.

And guests with fewer or even no altp2m-s still need the same bump? You
know the number of altp2m-s upon domain creation, so why bump by any more
than what's strictly needed for that?

> The necessity for this increase arises from the current mechanism where altp2m
> tables are allocated at initialization, requiring one page from the mempool
> for each altp2m view.

So that's the p2m_alloc_table() out of hap_enable()? If you're permitting
up to 512 altp2m-s, I think it needs considering to not waste up to 2Mb
without knowing how many of the altp2m-s are actually going to be used.
How complicate on-demand allocation would be I can't tell though, I have
to admit.

> --- a/tools/tests/paging-mempool/test-paging-mempool.c
> +++ b/tools/tests/paging-mempool/test-paging-mempool.c
> @@ -35,7 +35,7 @@ static struct xen_domctl_createdomain create = {
>  
>  static uint64_t default_mempool_size_bytes =
>  #if defined(__x86_64__) || defined(__i386__)
> -    256 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. */
> +    1024 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. */

I also can't derive from the description why we'd need to go from 256 to
1024 here and ...

> --- a/xen/arch/x86/mm/hap/hap.c
> +++ b/xen/arch/x86/mm/hap/hap.c
> @@ -468,7 +468,7 @@ int hap_enable(struct domain *d, u32 mode)
>      if ( old_pages == 0 )
>      {
>          paging_lock(d);
> -        rv = hap_set_allocation(d, 256, NULL);
> +        rv = hap_set_allocation(d, 1024, NULL);

... here. You talk of (up to) 512 pages there only.

Also isn't there at least one more place where the tool stack (libxl I
think) would need changing, where Dom0 ballooning needs are calculated?
And/or doesn't the pool size have a default calculation in the tool
stack, too?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 14:58:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 14:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714976.1116395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ow5-0006Qr-WE; Tue, 30 Apr 2024 14:58:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714976.1116395; Tue, 30 Apr 2024 14:58:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1ow5-0006Qk-S8; Tue, 30 Apr 2024 14:58:25 +0000
Received: by outflank-mailman (input) for mailman id 714976;
 Tue, 30 Apr 2024 14:58:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1ow5-0006Qe-3z
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 14:58:25 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16abc0b5-0702-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 16:58:22 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-41b79450f8cso36845595e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 07:58: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
 m16-20020a05600c3b1000b0041496734318sm49461958wms.24.2024.04.30.07.58.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 07:58: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: 16abc0b5-0702-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714489102; x=1715093902; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=B2ovsyWUN93Z5+yL8ZbHU/AwvELtSzmSnTH1TL2bdi8=;
        b=FwUhWJdvJRs/AwCUTajMUq4KJWElF5YPTPgQQdtvmN0fvVRUiWbYipRLGto43ZYrSl
         cg6XthV2+bY24+fymhcvKOWygdNFtBVXuWcNUYZCJzAuJFjj2BN1PqgdS0aUzvmArsbI
         2y1fIqXtzH3Il4pL9yk5m8g2JZNKoa2JLvA+jxzq4rS8cqXEOihhG2QSn+Wz2u4krGxu
         HOAYzOufsi6u3Uqk+ii2oJqj8e71WGZpmFWNNUcknwOiM8o7ehwMkU9Vvw5MvMfkiP9z
         ST9rzFQTFRkTTxIZmjXT01NYFRHJj0Ty+nbf51NdJgUBjtYWaf37+k3mgHlX+/yur+YG
         XGBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714489102; x=1715093902;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=B2ovsyWUN93Z5+yL8ZbHU/AwvELtSzmSnTH1TL2bdi8=;
        b=olMieskF+Qxq7cofw5uB+x5Sgk40cu+r80vKWbDiEuOlg2o6N6mXm2dKRQ4nr7t9o9
         vGlxj/FpGWelrAErc2Zkp0RlCFmgdAFe6NvdlWGttEyofWP0QpZNocsr9JTLBMHZQ4ko
         ohOVuqXxjm6QW5eZb7t270NvUKhtnGA8YPpRARAs4CtzF4voZ/te5dWNzoHOh3iQzrzY
         r0GEOCL9l5I8uyrpDbtAewXfcmYkoLv5WsltjylyUuITOURi0wC1qOl95T+JNK+wHS3v
         oR5JC6/pYDbl2a85Gd6F++iEPaPWOE3z6t7JcUdzzCy/p7ect7P1n48/HUgclyAdEUlz
         CFBQ==
X-Forwarded-Encrypted: i=1; AJvYcCWtcgN8iHGN/cuzwedZeedrUeA18mAo7+J1YN7go4BSRGlq5Y4+wDQA9LCgJ7EfpCRL2eFu6PQW+8wDdWfyYJlCXRnVSdbxBfqje8yxiek=
X-Gm-Message-State: AOJu0YzIPZqU2jzk/OgQreet8E/yzDy9sqbvBaqoZ/kQg83oP1zwZCJR
	/R25P/7YjIY+Db7aaVLGj09hycwGyJXWbPk9eutIVNuUoYZ+gPwiiDSJncVbdw==
X-Google-Smtp-Source: AGHT+IFMsr1WRD8xulwo4O9R0arW/g5tGlsZJHd+5WV92dz1HzBPnSVfaU6nGUKU8lhYUX2lZBfk+g==
X-Received: by 2002:a05:600c:cc6:b0:41a:446b:10df with SMTP id fk6-20020a05600c0cc600b0041a446b10dfmr2827689wmb.12.1714489101953;
        Tue, 30 Apr 2024 07:58:21 -0700 (PDT)
Message-ID: <6633a35b-37a8-4439-8722-448b2e85cb7f@suse.com>
Date: Tue, 30 Apr 2024 16:58:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 2/7] x86/msi: Extend per-domain/device warning
 mechanism
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
 <46f33e8ae1aa7d310e7a99e9da29d29096b0935b.1714154036.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <46f33e8ae1aa7d310e7a99e9da29d29096b0935b.1714154036.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 19:53, Marek Marczykowski-Górecki wrote:
> The arch_msix struct had a single "warned" field with a domid for which
> warning was issued. Upcoming patch will need similar mechanism for few
> more warnings, so change it to save a bit field of issued warnings.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
(if that makes sense at all, considering that one fundamental part of it,
the macro, was suggested by me)

However, unlike at other times I'd like this to go in only together with
the following patch (or whatever other 2nd user of the new machinery).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 15:03:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 15:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714986.1116405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1p18-0007w5-HA; Tue, 30 Apr 2024 15:03:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714986.1116405; Tue, 30 Apr 2024 15: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 1s1p18-0007vy-EE; Tue, 30 Apr 2024 15:03:38 +0000
Received: by outflank-mailman (input) for mailman id 714986;
 Tue, 30 Apr 2024 15:03: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=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1p17-0007vs-CY
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 15:03:37 +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 d1ad9ab5-0702-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 17:03:36 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-34db6a299b2so76127f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 08:03: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
 df7-20020a5d5b87000000b0034bc5934bf8sm16511296wrb.31.2024.04.30.08.03.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 08:03: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: d1ad9ab5-0702-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714489415; x=1715094215; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ajhYvzYnGmwiL8O5tkWysDPW+BIJuZkEi6+oN5fluT8=;
        b=CIllk+/KJtrlz4p8Lmeb05K4oQTJ+vXr4bgXCUQicm37ydMcrZYXjDXIJ9/5k54AkT
         akcd0ef/4qCdv9jGBnKVdWM4zv2B0RsHu6pPJQrvUTTVf4lVAi5VGSFY5v511/O864zT
         Ze085DuqPDvfQ2VASfUcllAgA1zuwFO7xENbiWZikvX643yCA+FKW1hTktLH82KIBlMP
         tQKCjTU94wu75bR2jBoggx0C+/MVV3I3fcS16vULsWDTnldPTSCstV70tOeHPPTLBSO/
         o0NNlm6lelY2nQxWDxQ2tNOVsR1Vorqd6v+S7pQJDUHJ/2eZXEuNeBLDH8vClNb0NgeB
         JPXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714489415; x=1715094215;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ajhYvzYnGmwiL8O5tkWysDPW+BIJuZkEi6+oN5fluT8=;
        b=VBbVyZAmPXx1JLrm5y9ICutzdR+RK7JCzR30IOv36t0I7TimB44Gm7egpDoXQDOcLB
         izqE+3r9NfztoXwawcNMrA4TU0YHrGhQdA7+MXegLfD1SpTIPmj7HjVhiK41/IDIiozg
         qi7OlUbYoF7mYK/2WnMhVcArqODiQPLljRa8F+9Y8UfGl+8zHJZIJDvE9V9IVwBcpZzY
         vR4zCLbFDvNkHsxgOEfqRHuJO0HgSw/I361Lpy3mfbTsETcflcLAvDe770AW0u1r12pu
         uDh0wa5a9IttEJBUvPr0mDFUfjGyQHiubtE+OA5TRf/li46N79ZFvwncYW6eX06Z/1zg
         6Osg==
X-Forwarded-Encrypted: i=1; AJvYcCXXRbcy5fR00UOGPhZevil8dHMqsRugoSrwQTt0KtDyyKJobB3k9/vKuJq8tokmLitsJPsKKqx7vthsIz4VDSyA5jzeqzzFvVJ1dohGnj4=
X-Gm-Message-State: AOJu0YxDrwgCiU9zrT8+6aBDWYZcjKiE+OJ4CIaU69qz86t42s645Tjd
	BbdDN/AbyFQTq+gqDFq67DwYqidO1CKS7rF87MewurHjEYWT4H/opXFWqLPh+g==
X-Google-Smtp-Source: AGHT+IEb2TkrW4q+Vbx+qWLXHdOyw/UZ6fmLjivoIjs1fU2KD+UdghtAIDHpMl2OMaY9klwyA6Gb6g==
X-Received: by 2002:a5d:6dc7:0:b0:343:efb7:8748 with SMTP id d7-20020a5d6dc7000000b00343efb78748mr2070385wrz.66.1714489415545;
        Tue, 30 Apr 2024 08:03:35 -0700 (PDT)
Message-ID: <79914c80-677f-4f5e-afab-370a5cc82437@suse.com>
Date: Tue, 30 Apr 2024 17:03:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/7] x86/hvm: Allow access to registers on the same
 page as MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.3491f479d5b6238106af8ddc56ec6834090b330f.1714154036.git-series.marmarek@invisiblethingslab.com>
 <a9b04e2224e97a27a127a003e8ccf5edfd4922c7.1714154036.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a9b04e2224e97a27a127a003e8ccf5edfd4922c7.1714154036.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.04.2024 19:54, Marek Marczykowski-Górecki wrote:
> Some devices (notably Intel Wifi 6 AX210 card) keep auxiliary registers
> on the same page as MSI-X table. Device model (especially one in
> stubdomain) cannot really handle those, as direct writes to that page is
> refused (page is on the mmio_ro_ranges list). Instead, extend
> msixtbl_mmio_ops to handle such accesses too.
> 
> Doing this, requires correlating read/write location with guest
> of MSI-X table address. Since QEMU doesn't map MSI-X table to the guest,
> it requires msixtbl_entry->gtable, which is HVM-only. Similar feature
> for PV would need to be done separately.
> 
> This will be also used to read Pending Bit Array, if it lives on the same
> page, making QEMU not needing /dev/mem access at all (especially helpful
> with lockdown enabled in dom0). If PBA lives on another page, QEMU will
> map it to the guest directly.
> If PBA lives on the same page, discard writes and log a message.
> Technically, writes outside of PBA could be allowed, but at this moment
> the precise location of PBA isn't saved, and also no known device abuses
> the spec in this way (at least yet).
> 
> To access those registers, msixtbl_mmio_ops need the relevant page
> mapped. MSI handling already has infrastructure for that, using fixmap,
> so try to map first/last page of the MSI-X table (if necessary) and save
> their fixmap indexes. Note that msix_get_fixmap() does reference
> counting and reuses existing mapping, so just call it directly, even if
> the page was mapped before. Also, it uses a specific range of fixmap
> indexes which doesn't include 0, so use 0 as default ("not mapped")
> value - which simplifies code a bit.
> 
> GCC 12.2.1 gets confused about 'desc' variable:
> 
>     arch/x86/hvm/vmsi.c: In function ‘msixtbl_range’:
>     arch/x86/hvm/vmsi.c:553:8: error: ‘desc’ may be used uninitialized [-Werror=maybe-uninitialized]
>       553 |     if ( desc )
>           |        ^
>     arch/x86/hvm/vmsi.c:537:28: note: ‘desc’ was declared here
>       537 |     const struct msi_desc *desc;
>           |                            ^~~~
> 
> It's conditional initialization is actually correct (in the case where
> it isn't initialized, function returns early), but to avoid
> build failure initialize it explicitly to NULL anyway.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

_Without_ the usually implied ack (as indicated before) and with two
small tweaks (which can likely be taken care of while committing):
Reviewed-by: Jan Beulich <jbeulich@suse.com>

> +static int adjacent_read(
> +    unsigned int fixmap_idx,
> +    paddr_t address, unsigned int len, uint64_t *pval)
> +{
> +    const void __iomem *hwaddr;
> +
> +    ASSERT(fixmap_idx <= FIX_MSIX_IO_RESERV_END);
> +
> +    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
> +
> +    switch ( len )
> +    {
> +    case 1:
> +        *pval = readb(hwaddr);
> +        break;
> +
> +    case 2:
> +        *pval = readw(hwaddr);
> +        break;
> +
> +    case 4:
> +        *pval = readl(hwaddr);
> +        break;
> +
> +    case 8:
> +        *pval = readq(hwaddr);
> +        break;
> +
> +    default:
> +        ASSERT_UNREACHABLE();
> +        *pval = ~0UL;

Nit: Better ~0ULL here (short of there being UINT64_C()).

> +        break;
> +    }
> +
> +    return X86EMUL_OKAY;
> +}
> +
> +static int adjacent_write(
> +    unsigned int fixmap_idx,
> +    paddr_t address, unsigned int len, uint64_t val)
> +{
> +    void __iomem *hwaddr;
> +
> +    if ( fixmap_idx == ADJACENT_DISCARD_WRITE )
> +        return X86EMUL_OKAY;
> +
> +    ASSERT(fixmap_idx <= FIX_MSIX_IO_RESERV_END);
> +
> +    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
> +
> +    switch ( len )
> +    {
> +    case 1:
> +        writeb(val, hwaddr);
> +        break;
> +
> +    case 2:
> +        writew(val, hwaddr);
> +        break;
> +
> +    case 4:
> +        writel(val, hwaddr);
> +        break;
> +
> +    case 8:
> +        writeq(val, hwaddr);
> +        break;
> +
> +    default:
> +        ASSERT_UNREACHABLE();
> +    }

There's still a "break;" missing here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 15:13:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 15:13:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714992.1116415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pAV-0001Vd-DG; Tue, 30 Apr 2024 15:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 714992.1116415; Tue, 30 Apr 2024 15:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pAV-0001VW-8t; Tue, 30 Apr 2024 15:13:19 +0000
Received: by outflank-mailman (input) for mailman id 714992;
 Tue, 30 Apr 2024 15:13:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1pAU-0001VQ-3w
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 15:13:18 +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 2bcf7fac-0704-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 17:13:16 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-34cfd924eaeso1879690f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 08:13: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
 x8-20020a5d60c8000000b0034cf39c64bdsm6285560wrt.101.2024.04.30.08.13.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 08:13: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: 2bcf7fac-0704-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714489996; x=1715094796; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DOlT19xzYnJeZPIgV2cSkXCzh4jtHRkILZVl1/4cVmA=;
        b=OPT7ZfphdP9LUjb96otPY0PCbzh9oBVjEysRZZqWXdRbZAIgTNlZQSGFCEfs4OBloM
         8JCKxHwd4dqRtkxWJm3jQl0h6RD8h8YoV/SdAnKY/32/USF3KKIT+7fMWIQ5guxh8MVf
         b8U8D2rclPlbcCutYosfI4OIo8GKOf8dwiSHde38dPZc6+1GGBtn95qQQiblaUoqENk8
         2dN3zQ3q0EuwajTZnd01MOJxQbCEyHV17fie30QNmVJOG/mcL2m3lJp32fSHy2f5mhIk
         refVzv7pY42kVZ4bgAx8mSdZiYa9gejeWmy5swgOeiPQtfhnj12aZ/Ug2/31uchTJWHX
         EHbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714489996; x=1715094796;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DOlT19xzYnJeZPIgV2cSkXCzh4jtHRkILZVl1/4cVmA=;
        b=eRo2aItcgRvnNCixp5B/J+i4PabB4rHZxORCIbXOarr9DLETvkRiobwE9V4XxUamWq
         6wElEBR2LGzRr5cje68Z6INB09b2udWB8A6xmIY08ltuZ/VeNAQ2e+ARx+2iwfAN3mqY
         /wq2Qbvho9u0368vI7oJULthiiwl5xRD/KfWUhE7rOUSbFThdm4z2HYAwojHgZp9Uj5+
         Vsd2pxYzYXtdKrHaKIlzkx61DM2rrd7a5NhsI6plDS9QKmjKVc4P05mwcdvrHN7Uoy83
         97VsKnHhCBUilhyWBv+D9ah/S8x8DZN5AbwhpdfbdEVOnNxjdP9mU7L/jp0RkGfC/WLg
         nIHg==
X-Forwarded-Encrypted: i=1; AJvYcCXyMRaX9aeCksHFwZ1G1p+G9HJ5pCPmjuqmWAEMb0UJb//l23PmiX6R1k6jlwZ6eEbfLrMVhJ/DIfFvBk3aeyEl2MZam9rIbwJyPvpojZc=
X-Gm-Message-State: AOJu0YxmtEBWQcI28IL6Yy5hBGbtxnPLWqepi3Iw2Coklf8UHBs2Npu7
	RIohakfW5TR3qWEDl43+v+ETll5SlaTKDx653TAaGuyWq2jwo0PUK5vDYXPhMg==
X-Google-Smtp-Source: AGHT+IGJ6lIoHgMVK97SfRdKAmBz0a6RloHl8WtTjBqk7UJ4rqFp4k6sQ7lSBrABIgsor8f9kNbwBA==
X-Received: by 2002:a5d:448b:0:b0:34d:939e:2fef with SMTP id j11-20020a5d448b000000b0034d939e2fefmr1219039wrq.36.1714489996343;
        Tue, 30 Apr 2024 08:13:16 -0700 (PDT)
Message-ID: <a3912e5a-1d97-4df6-8718-0bfdb1189f23@suse.com>
Date: Tue, 30 Apr 2024 17:13:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/unaligned: address violation of MISRA C
 Rule 20.7
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Anthony PERARD <anthony@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1714487169.git.nicola.vetrini@bugseng.com>
 <ec56516020d15cf20419b8bdf6f01fc365c52126.1714487169.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: <ec56516020d15cf20419b8bdf6f01fc365c52126.1714487169.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.04.2024 16:28, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Somewhat surprisingly, the change in the tools directory is also needed, otherwise
> some CI build jobs fail (see e.g. [1]). This is not undefined behaviour
> as long as the two definitions are kept in sync, following section
> 6.10.3p2 of the C99 standard, but having the definition in common-macros.h
> is still a potential problem.
> 
> [1] https://gitlab.com/xen-project/people/bugseng/xen/-/jobs/6742878558

This is pretty absurd, and the use of the Xen header in
xg_dom_decompress_unsafe_zstd.c should probably have gone away with the
introduction of the unaligned macros into ...

> --- a/tools/include/xen-tools/common-macros.h
> +++ b/tools/include/xen-tools/common-macros.h
> @@ -102,7 +102,7 @@
>  
>  #define put_unaligned_t(type, val, ptr) do {                        \
>      struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr);        \
> -    ptr_->x = val;                                                  \
> +    ptr_->x = (val);                                                \
>  } while (0)
>  
>  #define get_unaligned(ptr)      get_unaligned_t(typeof(*(ptr)), ptr)

... here. We simply cannot assume the two definitions can indefinitely
be kept in sync.

> --- a/xen/include/xen/unaligned.h
> +++ b/xen/include/xen/unaligned.h
> @@ -19,7 +19,7 @@
>  
>  #define put_unaligned_t(type, val, ptr) do {				\
>  	struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr);	\
> -	ptr_->x = val;							\
> +	ptr_->x = (val);							\

Nit: One of the padding tabs then wants dropping.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 15:15:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 15:15:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.714999.1116424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pCE-0002FZ-P3; Tue, 30 Apr 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 714999.1116424; Tue, 30 Apr 2024 15:15:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pCE-0002FS-MW; Tue, 30 Apr 2024 15:15:06 +0000
Received: by outflank-mailman (input) for mailman id 714999;
 Tue, 30 Apr 2024 15:15:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Q3to=MD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1s1pCD-0002FK-IN
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 15:15:05 +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 6c035cfd-0704-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 17:15:04 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2e0b2ddc5d1so21682901fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 08:15: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
 fm18-20020a05600c0c1200b0041b5500e438sm19716818wmb.23.2024.04.30.08.15.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 30 Apr 2024 08:15: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: 6c035cfd-0704-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1714490104; x=1715094904; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=UL70AKr0PrPC4zUfgNew7bf1wvnvNIh15gOZgY7wUOg=;
        b=RYmmmQtKT+6GloHndZ0VghuOr9rq+72CltJH6W+Q5VgSv93NcAe8gOjS/qk8SRF2y0
         g8jCfznab2VHCN4UgYm2s7aLPXD7SnVgj3k1teuiAbSAqRe4fKJLxi3i7OLen0DdEdcT
         LR0ln4SsBsjzlOW8gVPhzcUbOXSsdHFPMrPgs3/6hyX9rvbn7jrEphRDotsA2W35TKz6
         +pYZW3iDDplax9DQHNo2jxUDLE3AAqmXiBnh98oeqD5XVgyE+oN/bbUDS7Vy0G3kqKMh
         mhANgQjOBbb+JsFDJAzA2KFhvCBc43Kt42c4/zixmGYUFs49DHn5XNTUPQE33Riq+f+x
         Lmig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714490104; x=1715094904;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=UL70AKr0PrPC4zUfgNew7bf1wvnvNIh15gOZgY7wUOg=;
        b=CMnh+L31QEaUq6KR76lDmOkQbtjb9Q/jcUzaXFWMJI5wOnyvCag+/jGCtnmgGMzLd3
         nIWtjLtKl20inLXFu5vuUDR0KjxU5+PVTJRARnucCtY8zUb706pWX9AtoxBaFynJd2Fq
         WLCZ86/3eNBWgvLijRf7qkGZqvKCGkyJAuttKGasJAWDJOIqqTelSEeCHwQTELnHhdcs
         BerbPjpSMM1xY0/mch0dO+FrTOe7Hge1fD78VpRoEqdEGiI/X03ZBtjwnyf4Z9Zhm6KH
         /zW7aesTij2lQWMgGCzaGhugfBDCfgN++84QPZXOCgoo3gkdgrKM5KrJRWiotA7qdNXy
         62hA==
X-Forwarded-Encrypted: i=1; AJvYcCVVHkoTyMVsy74QWIK6CiSFTELteJoScEm1NP2OHwUkDQdcN5HSDbxKJ2NoLKW1Duo8bmwXOdceW+qsEkA+zOGwf/IOBtWErzFNf8APJfM=
X-Gm-Message-State: AOJu0YzdkKYssn2Dsx9J80hdboiByJGw9RMAS5QgNgFjvfMmiGhBUa4O
	FKYE/yheP/S1vNw1FZykjFuPDDNwdZyE+pYXM/rqbuUfKQsOqxe4mTpEl9wOug==
X-Google-Smtp-Source: AGHT+IHPNszBPa03sTOvQWx9Go6qsR1Q3bs/gFA+mAeYLqrDDIong3nmc1ezlqSdkPR8RBhTeuJiUg==
X-Received: by 2002:a2e:9b14:0:b0:2df:44a1:2987 with SMTP id u20-20020a2e9b14000000b002df44a12987mr23009lji.5.1714490104146;
        Tue, 30 Apr 2024 08:15:04 -0700 (PDT)
Message-ID: <519bcad6-c901-4ac3-a26c-1d0f3b0e43e3@suse.com>
Date: Tue, 30 Apr 2024 17:15:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 3/3] xen/pci: address violations of MISRA C Rule
 20.7
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1714487169.git.nicola.vetrini@bugseng.com>
 <df48ce446cf6409eda04460109f3082b39c4f618.1714487169.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <df48ce446cf6409eda04460109f3082b39c4f618.1714487169.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.04.2024 16:28, Nicola Vetrini wrote:
> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
> of macro parameters shall be enclosed in parentheses". Therefore, some
> macro definitions should gain additional parentheses to ensure that all
> current and future users will be safe with respect to expansions that
> can possibly alter the semantics of the passed-in macro parameter.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Apr 30 15:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 15:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715009.1116435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pLq-0004Q0-MQ; Tue, 30 Apr 2024 15:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715009.1116435; Tue, 30 Apr 2024 15:25:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pLq-0004Pt-IU; Tue, 30 Apr 2024 15:25:02 +0000
Received: by outflank-mailman (input) for mailman id 715009;
 Tue, 30 Apr 2024 15:25:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BF+G=MD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1s1pLp-0004PS-PS
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 15:25:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf4a3210-0705-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 17:25:00 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 1A7F64EE0738;
 Tue, 30 Apr 2024 17:25: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: cf4a3210-0705-11ef-909b-e314d9c70b13
MIME-Version: 1.0
Date: Tue, 30 Apr 2024 17:25:00 +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, bertrand.marquis@arm.com,
 julien@xen.org, Anthony PERARD <anthony@xenproject.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2 2/3] xen/unaligned: address violation of MISRA C
 Rule 20.7
In-Reply-To: <a3912e5a-1d97-4df6-8718-0bfdb1189f23@suse.com>
References: <cover.1714487169.git.nicola.vetrini@bugseng.com>
 <ec56516020d15cf20419b8bdf6f01fc365c52126.1714487169.git.nicola.vetrini@bugseng.com>
 <a3912e5a-1d97-4df6-8718-0bfdb1189f23@suse.com>
Message-ID: <ca372123278bf8c8f4ceaac788ae7610@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-04-30 17:13, Jan Beulich wrote:
> On 30.04.2024 16:28, Nicola Vetrini wrote:
>> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
>> of macro parameters shall be enclosed in parentheses". Therefore, some
>> macro definitions should gain additional parentheses to ensure that 
>> all
>> current and future users will be safe with respect to expansions that
>> can possibly alter the semantics of the passed-in macro parameter.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Somewhat surprisingly, the change in the tools directory is also 
>> needed, otherwise
>> some CI build jobs fail (see e.g. [1]). This is not undefined 
>> behaviour
>> as long as the two definitions are kept in sync, following section
>> 6.10.3p2 of the C99 standard, but having the definition in 
>> common-macros.h
>> is still a potential problem.
>> 
>> [1] 
>> https://gitlab.com/xen-project/people/bugseng/xen/-/jobs/6742878558
> 
> This is pretty absurd, and the use of the Xen header in
> xg_dom_decompress_unsafe_zstd.c should probably have gone away with the
> introduction of the unaligned macros into ...
> 

I agree. I assumed it was known/deliberate.

>> --- a/tools/include/xen-tools/common-macros.h
>> +++ b/tools/include/xen-tools/common-macros.h
>> @@ -102,7 +102,7 @@
>> 
>>  #define put_unaligned_t(type, val, ptr) do {                        \
>>      struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr);        \
>> -    ptr_->x = val;                                                  \
>> +    ptr_->x = (val);                                                \
>>  } while (0)
>> 
>>  #define get_unaligned(ptr)      get_unaligned_t(typeof(*(ptr)), ptr)
> 
> ... here. We simply cannot assume the two definitions can indefinitely
> be kept in sync.
> 
>> --- a/xen/include/xen/unaligned.h
>> +++ b/xen/include/xen/unaligned.h
>> @@ -19,7 +19,7 @@
>> 
>>  #define put_unaligned_t(type, val, ptr) do {				\
>>  	struct { type x; } __packed *ptr_ = (typeof(ptr_))(ptr);	\
>> -	ptr_->x = val;							\
>> +	ptr_->x = (val);							\
> 
> Nit: One of the padding tabs then wants dropping.
> 
> Jan

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 15:34:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 15:34:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715017.1116446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pV2-0006dX-IV; Tue, 30 Apr 2024 15:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715017.1116446; Tue, 30 Apr 2024 15:34:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1pV2-0006dQ-Dp; Tue, 30 Apr 2024 15:34:32 +0000
Received: by outflank-mailman (input) for mailman id 715017;
 Tue, 30 Apr 2024 15:34:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ve62=MD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1pV0-0006dK-W5
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 15:34:31 +0000
Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com
 [2607:f8b0:4864:20::829])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2226ac60-0707-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 17:34:29 +0200 (CEST)
Received: by mail-qt1-x829.google.com with SMTP id
 d75a77b69052e-43716ff5494so61248561cf.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 08:34:29 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 n8-20020a0cfbc8000000b006a0d1b1ecc3sm1758025qvp.59.2024.04.30.08.34.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 08:34: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: 2226ac60-0707-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714491268; x=1715096068; 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=34PMgtoaf8o3Vg7/Sgvqf/mYgVt7JD3V1DRhLWohI0Y=;
        b=e9INaAhwhSc6ydiMma0yqoi38tkrkvDVc7IHoFFSgxqHraZSRFpp/PgCSpQYi07E7b
         pn9qRQlEemipyNgXx7eynaspmmpNuQBuiYnDDxr9G+QfF9qEO9iZgtyGe3hUhrTCYAs6
         m2WvfwWLWgAi4gaiC7AaIqmYCp79C5yfHS/ek=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714491268; x=1715096068;
        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=34PMgtoaf8o3Vg7/Sgvqf/mYgVt7JD3V1DRhLWohI0Y=;
        b=Zc3FqzlF6y1CCVw6Kn+5h0ZBUpVPty68dgtEEM95KqCkTL6JywCoKDfOKu89Vvp1z6
         2hGK9oNnDITjefls/XRwO+BDKmgYndK6DSiS04r0qtcv2aoTFbVMCp6LiVMxaGNfzdC/
         Wo/6cN1+JW24rfz5iQ9CaoIHBjQ5R8hIoZTSERvDttMvl5M/Rr1C/mJ+ASDYrWIfpQ7d
         wRsGgAnCZLlY6tWOUfxeJzpa7i3/SRiytKrJjfQz/6TQTaXUpVuFEeDzMo8fU3dm3rR1
         cJCpUUyrfCNvWY7QoKuasEZ5dolBlj1WT1HQdEAM2ZXkWlPNzZ6yHCpCRJS4sXmSWVYF
         3dLQ==
X-Gm-Message-State: AOJu0YxbCeykUBRiPxv+YJtdiyvLECIeBEUz9qwQLtRijZV5j4n92hTF
	/iKHxq/NYRn2BBjv3U+8PjRyNHUWY8LHIxifzntHxH1wG9csoWLQEC4qh0gnkmg6/k+IYPIpoHJ
	/
X-Google-Smtp-Source: AGHT+IFCQgQeI14XB2JTLFzZ/Mj4dGcOcUJFDR3ZFMOm1EOXkXqITukM0jnHBxXTc93G0N9BLylUSg==
X-Received: by 2002:ad4:4ee4:0:b0:69b:6b28:f941 with SMTP id dv4-20020ad44ee4000000b0069b6b28f941mr5952674qvb.20.1714491268248;
        Tue, 30 Apr 2024 08:34:28 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH for-4.19] ppc/riscv: fix arch_acquire_resource_check()
Date: Tue, 30 Apr 2024 17:34:23 +0200
Message-ID: <20240430153423.80875-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

None of the implementations support set_foreign_p2m_entry() yet, neither they
have a p2m walk in domain_relinquish_resources() in order to remove the foreign
mappings from the p2m and thus drop the extra refcounts.

Adjust the arch helpers to return false and introduce a comment that clearly
states it is not only taking extra refcounts that's needed, but also dropping
them on domain teardown.

Fixes: 4988704e00d8 ('xen/riscv: introduce p2m.h')
Fixes: 4a2f68f90930 ('xen/ppc: Define minimal stub headers required for full build')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/ppc/include/asm/p2m.h   | 7 ++++---
 xen/arch/riscv/include/asm/p2m.h | 7 ++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/ppc/include/asm/p2m.h b/xen/arch/ppc/include/asm/p2m.h
index 25ba05466853..f144ef8e1a54 100644
--- a/xen/arch/ppc/include/asm/p2m.h
+++ b/xen/arch/ppc/include/asm/p2m.h
@@ -81,10 +81,11 @@ static inline mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
 static inline bool arch_acquire_resource_check(struct domain *d)
 {
     /*
-     * The reference counting of foreign entries in set_foreign_p2m_entry()
-     * is supported on PPC.
+     * Requires refcounting the foreign mappings and walking the p2m on
+     * teardown in order to remove foreign pages from the p2m and drop the
+     * extra reference counts.
      */
-    return true;
+    return false;
 }
 
 static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
index 87b13f897926..387f372b5d26 100644
--- a/xen/arch/riscv/include/asm/p2m.h
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -79,10 +79,11 @@ static inline mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
 static inline bool arch_acquire_resource_check(struct domain *d)
 {
     /*
-     * The reference counting of foreign entries in set_foreign_p2m_entry()
-     * is supported on RISCV.
+     * Requires refcounting the foreign mappings and walking the p2m on
+     * teardown in order to remove foreign pages from the p2m and drop the
+     * extra reference counts.
      */
-    return true;
+    return false;
 }
 
 static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 15:40:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 15:40:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715023.1116454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1paq-0008Ae-3x; Tue, 30 Apr 2024 15:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715023.1116454; Tue, 30 Apr 2024 15:40:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1paq-0008AX-1G; Tue, 30 Apr 2024 15:40:32 +0000
Received: by outflank-mailman (input) for mailman id 715023;
 Tue, 30 Apr 2024 15:40:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zuuf=MD=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s1pap-0008AP-4C
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 15:40:31 +0000
Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com
 [2607:f8b0:4864:20::22b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f8dfccc2-0707-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 17:40:30 +0200 (CEST)
Received: by mail-oi1-x22b.google.com with SMTP id
 5614622812f47-3c75075ad30so3751201b6e.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 08:40: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: f8dfccc2-0707-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714491629; x=1715096429; 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=mrxrbfoyLWJ60uVnMeCrMi9y/QkqAsK61nC/3ja4Zms=;
        b=WyktO/ZT+ieO+C3PuiOVkFFxedGh7ua4VIGSieEpQJ4aJD9E7LLK4lVwQHrrVuzDaL
         sElBl0KWb06SApMol1Q+gj9o39vL0Ri38B4K1nvfbn4wmDz/X1K3NIaeClxutfuoTCaQ
         tqLntKPuf76dQjeIAJl7XTQSVtJqfyVFj2ZmxlrYABOGTHMnpvleZxu9pyXnkYyq4Z9H
         vHnrznJDegXpprFTI27zANvf3c3f62aeFhDTHZxBFwbRmCILwV3N8DBFfLzS4GpoU2kf
         ffkTP2bhKi6GtlvQiFAlWdW/L5P8QYCcPypOxKLEfpU//V0895bXeK6ey4lt1JicdaKE
         GE7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714491629; x=1715096429;
        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=mrxrbfoyLWJ60uVnMeCrMi9y/QkqAsK61nC/3ja4Zms=;
        b=I3R8oiIQTdXQIU6Qyu8KuN43UbkzT4tUm8Q3PxW6QfOffqdxL+18qWN4AJrGlTo77l
         l2/Wcia8q2tDBNZDgvy/jb/Og7K9L9GaRLST+9Lt4zs7bNuSz1f4HgwEnuuexSBow/L/
         JvWFtV1DyHU1M+npBFe7TIBRhN02xdSjQPzOe2fMyhStBqRKol8izelG2jFmxshXoMCw
         t6C1P4uWG52bCpvL4TAednnOJ0r7LuPMSUHxvopvfWbXQOzWGDo7RSC9Uzw77GQQ0Mqq
         dszaMi11LuIVXe450YXK3sUwQV1GiRtv+thJ1A8qeWV+/6dmAxIKKMm8dSNAE6bhTfej
         x1GA==
X-Forwarded-Encrypted: i=1; AJvYcCUkNg4z55Mevdny3X2z6N/irlBpShJ/iJxgidSZ+fz3Cj2UokpViaPOlLXvdwARK56AU4jCBVCECf14SmgKCqOVxTbxAI0yeIOUAr0e+Cc=
X-Gm-Message-State: AOJu0YzF0M1oiyKOZaWVwZSEkIZrzdSrKpN6rBd53kqdHA22Cc5IY2Zp
	+QA9hT0RlX5x08WhEDYhkI9fhUW+mq7mq9ywhBHkLE3fUCN4k9j0gCeK47snOFM6UKG/zV6BgI1
	yn8qYf6XH1q9g6L2sHxNYoIG0uILT8SOd
X-Google-Smtp-Source: AGHT+IG/mFzDY9+ytW6v6oFkiVEnfagLXUu2uZMkpB4ph26vuy31Oe3a2028Qkh3TASD/m+8TbKj71swFXFk1q14ucI=
X-Received: by 2002:a05:6870:639e:b0:23d:417c:675 with SMTP id
 t30-20020a056870639e00b0023d417c0675mr1207560oap.41.1714491628689; Tue, 30
 Apr 2024 08:40:28 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1714322424.git.w1benny@gmail.com> <a26bc4aeba89f7895c79df7e320adfc695b16d50.1714322424.git.w1benny@gmail.com>
 <4d9930d4-4379-4440-83b2-14ebffc7c03d@suse.com>
In-Reply-To: <4d9930d4-4379-4440-83b2-14ebffc7c03d@suse.com>
From: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Date: Tue, 30 Apr 2024 17:40:17 +0200
Message-ID: <CAKBKdXgAgb=+Spr_nobWy_zuN-yXTUfAL+Q3MdLDCDVgshOS7Q@mail.gmail.com>
Subject: Re: [PATCH v2 7/7] x86/hap: Increase the number of initial
 mempool_size to 1024 pages
To: Jan Beulich <jbeulich@suse.com>
Cc: Anthony PERARD <anthony@xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@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, Apr 30, 2024 at 4:47=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.04.2024 18:52, Petr Bene=C5=A1 wrote:
> > From: Petr Bene=C5=A1 <w1benny@gmail.com>
> >
> > This change anticipates scenarios where `max_altp2m` is set to its maxi=
mum
> > supported value (i.e., 512), ensuring sufficient memory is allocated up=
front
> > to accommodate all altp2m tables without initialization failure.
>
> And guests with fewer or even no altp2m-s still need the same bump? You
> know the number of altp2m-s upon domain creation, so why bump by any more
> than what's strictly needed for that?

I have to admit I've considered computing the value which goes to
hap_set_allocation
by simply adding 256 + max_altp2m, but that felt so arbitrary - the
256 value itself
feels arbitrary, as I haven't found any reasoning for it anywhere.

I have also tried to make code changes to make the initial allocation
size configurable
via libxl (possibly reusing the shadow_memkb) - which seemed to me
like the "correct"
solution, but those changes were more complicated than I had
anticipated and I would
definitely not make it till the 4.19 deadline.

Question is, what to do now? Should I change it to 256 + max_altp2m?

> > The necessity for this increase arises from the current mechanism where=
 altp2m
> > tables are allocated at initialization, requiring one page from the mem=
pool
> > for each altp2m view.
>
> So that's the p2m_alloc_table() out of hap_enable()? If you're permitting
> up to 512 altp2m-s, I think it needs considering to not waste up to 2Mb
> without knowing how many of the altp2m-s are actually going to be used.

Yes and I ultimately agree.

> How complicate on-demand allocation would be I can't tell though, I have
> to admit.

That's also a fix I've been trying to work on - to make whole altp2m alloca=
tions
on-demand. Unfortunately, I didn't make it in time.

> > --- a/tools/tests/paging-mempool/test-paging-mempool.c
> > +++ b/tools/tests/paging-mempool/test-paging-mempool.c
> > @@ -35,7 +35,7 @@ static struct xen_domctl_createdomain create =3D {
> >
> >  static uint64_t default_mempool_size_bytes =3D
> >  #if defined(__x86_64__) || defined(__i386__)
> > -    256 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. *=
/
> > +    1024 << 12; /* Only x86 HAP for now.  x86 Shadow needs more work. =
*/
>
> I also can't derive from the description why we'd need to go from 256 to
> 1024 here and ...

It's explained in the code few lines below:

    /*
     * Check that the domain has the expected default allocation size.  Thi=
s
     * will fail if the logic in Xen is altered without an equivalent
     * adjustment here.
     */

I have verified that the default_mempool_size_bytes must reflect the number
of pages in the initial hap_set_allocation() call.

Is it something I should include in the commit message, too?

> > --- a/xen/arch/x86/mm/hap/hap.c
> > +++ b/xen/arch/x86/mm/hap/hap.c
> > @@ -468,7 +468,7 @@ int hap_enable(struct domain *d, u32 mode)
> >      if ( old_pages =3D=3D 0 )
> >      {
> >          paging_lock(d);
> > -        rv =3D hap_set_allocation(d, 256, NULL);
> > +        rv =3D hap_set_allocation(d, 1024, NULL);
>
> ... here. You talk of (up to) 512 pages there only.
>
> Also isn't there at least one more place where the tool stack (libxl I
> think) would need changing, where Dom0 ballooning needs are calculated?
> And/or doesn't the pool size have a default calculation in the tool
> stack, too?

I have found places in libxl where the mempool_size is calculated, but
that mempool
size is then set AFTER the domain is created via xc_set_paging_mempool_size=
.

In my opinion it doesn't necessarily require change, since it's
expected by the user
to manually set it via shadow_memkb. The only current problem is (which thi=
s
commit is trying to fix) that setting shadow_memkb doesn't help when
max_altp2m > (256 - 1 + vcpus + MAX_NESTEDP2M), since the initial mempool
size is hardcoded.

I didn't find any other places that would require reflecting the
current "256" value.

P.


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:00:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715037.1116465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1puA-0003un-N6; Tue, 30 Apr 2024 16:00:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715037.1116465; Tue, 30 Apr 2024 16:00:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1puA-0003ug-K6; Tue, 30 Apr 2024 16:00:30 +0000
Received: by outflank-mailman (input) for mailman id 715037;
 Tue, 30 Apr 2024 16:00:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zuuf=MD=gmail.com=w1benny@srs-se1.protection.inumbo.net>)
 id 1s1pu8-0003ua-PB
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:00:28 +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 c1d4624b-070a-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:00:26 +0200 (CEST)
Received: by mail-oo1-xc2b.google.com with SMTP id
 006d021491bc7-5acb737b508so2630706eaf.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09: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: c1d4624b-070a-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714492825; x=1715097625; 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=r9K93l+qQHBw3k4VI9XKbaOJGuSi7wrpLnKLw5EPuXQ=;
        b=gDadQ9Gvr4nc9aDiGZLwB2WlYX0LPWilcCcUYmfMfDajQmkgi86VXV/Bxljvej/L6v
         OxJlZYKY2qFzY3Mb1btEW2AUof0ywB1hK0asKqdfdeLFWBRc3gYRMuGYy+3bgTfma+sS
         uJm83kFHRka0DLT7GpVlNn9ZulMdTZVWX23HGPOFiLWuIFQAEIAWVlOgXfwmJYrdbWH+
         Ukbr88SlDj7at+EFravS1Rh51xMkHsaCFC3owbGZvUr8MnRKvq/YD6tF8pCR1dxZBRCO
         OLn7Usl/Mu1589YoAghOeMiQ3/uw2VgBftpsrwl0yTkSKY3tLTnwmbXuupNk5KIfEfUv
         dRDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714492825; x=1715097625;
        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=r9K93l+qQHBw3k4VI9XKbaOJGuSi7wrpLnKLw5EPuXQ=;
        b=BabW9jbsPV+lNqrxF+rYRot2R7r3fPKqYJdI4DgFb96R/S7CPYa9Ih+B4T6dFIHoFY
         WQ1Vr1Pv59Ks2HN+AUeticNt51b7LuPoPp1jDoL2SVKWmiGw4BTY/diWEX1Vcg2JQapx
         f1Nzk/+lc5Anh3ysJC+TEhhE+T+Nsjl7hF2I0ERhLiggw8O4+eQjUSiaNrNQYFGBg4ej
         CP062X6iZqyI2UT9fd4eLGzOVXuZgW3I+UmwT/phCF846yLlHgPq6coRKJQpJz3l0xIR
         FWaCpQebrD3bwmPzOs7pxadfc/M1pK3K6CJoEHq6Q7B1PSPjSCow8I4S7rFkIp2dKD85
         G2Ng==
X-Forwarded-Encrypted: i=1; AJvYcCXm31F40WO9qNRKFMs3J9CQ8/ARlAYCvYFZP9KevHKnECPWe4Y8PnIypYP/pO+ne4ZpOY378LKLFZBaI3I3WFYO0JG05ItLC2I+v67D3A8=
X-Gm-Message-State: AOJu0Yz0Mh7jo3uA3wOEEA3bsq1oQqnDKQbKHtUmPxXfys/eRHtpe7pL
	iyoWCnM58ALi1EWkgKu464JpIqT8tvD5Ec/rvMvibk+45HVjeyZEQtP0JDgfcVIs1pYtZU4K5xI
	fNUYmilgvtPxmwqdPpVliT5RC6KvwNg==
X-Google-Smtp-Source: AGHT+IE8VPOj/AdPNyYEJxTn3ubftemBUv4rvAMFcZW0HD2NqAs1enfseRYO2vblV4UPC1KGx/KWZPBk7eyX9F87HUc=
X-Received: by 2002:a05:6871:794:b0:23c:b686:913 with SMTP id
 o20-20020a056871079400b0023cb6860913mr6013177oap.50.1714492824816; Tue, 30
 Apr 2024 09:00:24 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1714322424.git.w1benny@gmail.com> <0041438ff7a5d5b2fad59b676f4ece80470bf3b3.1714322424.git.w1benny@gmail.com>
 <5600e97e-5d44-4901-a867-b48192e9525f@suse.com>
In-Reply-To: <5600e97e-5d44-4901-a867-b48192e9525f@suse.com>
From: =?UTF-8?Q?Petr_Bene=C5=A1?= <w1benny@gmail.com>
Date: Tue, 30 Apr 2024 18:00:13 +0200
Message-ID: <CAKBKdXjsz_By_nZHDBpzTASSwMQUw61-7UA0YYrSTN+YDivqWQ@mail.gmail.com>
Subject: Re: [PATCH v2 4/7] x86: Make the maximum number of altp2m views configurable
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>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Tamas K Lengyel <tamas@tklengyel.com>, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Apr 30, 2024 at 4:27=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> > --- a/xen/arch/x86/domain.c
> > +++ b/xen/arch/x86/domain.c
> > @@ -685,6 +685,12 @@ int arch_sanitise_domain_config(struct xen_domctl_=
createdomain *config)
> >          return -EINVAL;
> >      }
> >
> > +    if ( config->max_altp2m > MAX_EPTP )
> > +    {
> > +        dprintk(XENLOG_INFO, "max_altp2m must be <=3D %u\n", MAX_EPTP)=
;
> > +        return -EINVAL;
> > +    }
>
> ... using MAX_EPTP here feels like a layering violation to me. Imo there =
want
> to be separate constants, tied together with a suitably placed BUILD_BUG_=
ON().
>
> Furthermore comparisons like this (there are further ones elsewhere) sugg=
est
> there is a (continued) naming issue: A max_ or MAX_ prefix ought to name =
a
> "maximum valid value", not "number of permitted values". This is not a
> request to alter MAX_EPTP, but one to make sure the new struct fields rea=
lly
> have matching names and purposes.

Do you have any proposals? I was considering nr_altp2m. Another
question is what it should be named in xl.cfg - also nr_altp2m? I was
too hesitant to name it like that, since there aren't any nr_* fields
currently.

> > --- a/xen/arch/x86/include/asm/domain.h
> > +++ b/xen/arch/x86/include/asm/domain.h
> > @@ -258,11 +258,10 @@ struct paging_vcpu {
> >      struct shadow_vcpu shadow;
> >  };
> >
> > +#define INVALID_ALTP2M  0xffff
> > +#define MAX_EPTP        ((unsigned int)(PAGE_SIZE / sizeof(uint64_t)))
>
> Aiui you add this cast because of the various min() uses. However, beside=
s
> wanting to avoid such casts (or in fact any, whenever possible), I don't
> see why you need to retain all those min(): You bound d->max_altp2m again=
st
> MAX_EPTP during domain creation anyway.

Fair. I considered removing the min()s altogether. I left them in
place because I was too paranoid.

>
> > @@ -28,8 +34,13 @@ altp2m_vcpu_initialise(struct vcpu *v)
> >  void
> >  altp2m_vcpu_destroy(struct vcpu *v)
> >  {
> > +    struct domain *d =3D v->domain;
> >      struct p2m_domain *p2m;
> >
> > +    /* Skip destruction if no altp2m was used. */
> > +    if ( d->max_altp2m =3D=3D 0 )
> > +        return;
>
> ... this one doesn't look quite right: Even if altp2m-s were initialized,
> none may have been used (yet).

Fair. Bad choice of words.

>
> > --- a/xen/include/xen/sched.h
> > +++ b/xen/include/xen/sched.h
> > @@ -602,6 +602,8 @@ struct domain
> >          unsigned int guest_request_sync          : 1;
> >      } monitor;
> >
> > +    unsigned int max_altp2m; /* Maximum number of altp2m tables */
> > +
> >      unsigned int vmtrace_size; /* Buffer size in bytes, or 0 to disabl=
e. */
>
> ... this suggest you're confident other architectures will also want
> to support altp2m. Yet nothing like that is said in the description.
> In the absence of that common code should not require touching (much).

Depends on the definition of "want". altp2m patches for arm/aarch64
were sent to Xen some 6 years ago but were unfortunately rejected. I
would very much welcome them.

I have added the field to domain instead of arch_domain simply because
it is not an arch-bound feature - similarly to vmtrace below, which
also doesn't have an equivalent implementation on other archs than x86
(yet).

As far as other comments/nits go - understood.

P.


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:09:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715044.1116475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1q2J-00056V-LF; Tue, 30 Apr 2024 16:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715044.1116475; Tue, 30 Apr 2024 16:08:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1q2J-00056O-If; Tue, 30 Apr 2024 16:08:55 +0000
Received: by outflank-mailman (input) for mailman id 715044;
 Tue, 30 Apr 2024 16:08: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=L/US=MD=amazon.co.uk=prvs=84335f14b=eliasely@srs-se1.protection.inumbo.net>)
 id 1s1q2J-00056I-53
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:08:55 +0000
Received: from smtp-fw-80009.amazon.com (smtp-fw-80009.amazon.com
 [99.78.197.220]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef9ea85a-070b-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:08:53 +0200 (CEST)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev) ([10.25.36.210])
 by smtp-border-fw-80009.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2024 16:08:48 +0000
Received: from EX19MTAEUC002.ant.amazon.com [10.0.10.100:56250]
 by smtpin.naws.eu-west-1.prod.farcaster.email.amazon.dev [10.0.5.85:2525] with
 esmtp (Farcaster)
 id 186665e8-eb70-4e8e-aff0-c9983345233e; Tue, 30 Apr 2024 16:08:46 +0000 (UTC)
Received: from EX19D018EUA002.ant.amazon.com (10.252.50.146) by
 EX19MTAEUC002.ant.amazon.com (10.252.51.245) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.28; Tue, 30 Apr 2024 16:08:42 +0000
Received: from [192.168.29.156] (10.106.83.21) by
 EX19D018EUA002.ant.amazon.com (10.252.50.146) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.28; Tue, 30 Apr 2024 16:08: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: ef9ea85a-070b-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209;
  t=1714493333; x=1746029333;
  h=message-id:date:mime-version:subject:to:cc:references:
   from:in-reply-to:content-transfer-encoding;
  bh=EfJUfzR8bzd9lzOt6I9Dh6oyaNcLen2Te1FxnodN7Do=;
  b=YABzOZ7MpYzPBLWCcNVcvj7dBHc2pT+k7wcIQEvrDtCAcYceu5iTyVci
   R+2gNFAQN7Ejfhq+G7822Pfui8JavRsRjWn3zSnZUateGhZXAsHBXzA2U
   SKdxW87dFoP7GRPVpjVW+VeCeESuF12iat2Z5zyb7qUr9bIQUznC1Gddy
   o=;
X-IronPort-AV: E=Sophos;i="6.07,242,1708387200"; 
   d="scan'208";a="85752971"
X-Farcaster-Flow-ID: 186665e8-eb70-4e8e-aff0-c9983345233e
Message-ID: <a5ba2399-30a6-4ca4-bb8c-cf8773f862b9@amazon.com>
Date: Tue, 30 Apr 2024 17:08:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 (resend) 07/27] x86: Map/unmap pages in
 restore_all_guests
To: Jan Beulich <jbeulich@suse.com>
CC: <julien@xen.org>, <pdurrant@amazon.com>, <dwmw@amazon.com>, Hongyan Xia
	<hongyxia@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Julien Grall <jgrall@amazon.com>,
	<xen-devel@lists.xenproject.org>
References: <20240116192611.41112-1-eliasely@amazon.com>
 <20240116192611.41112-8-eliasely@amazon.com>
 <a2ce9820-c57a-4690-9dc6-c15d8a1489f4@suse.com>
Content-Language: en-US
From: Elias El Yandouzi <eliasely@amazon.com>
In-Reply-To: <a2ce9820-c57a-4690-9dc6-c15d8a1489f4@suse.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.106.83.21]
X-ClientProxiedBy: EX19D032UWB003.ant.amazon.com (10.13.139.165) To
 EX19D018EUA002.ant.amazon.com (10.252.50.146)

Hi Jan,


>> From: Hongyan Xia <hongyxia@amazon.com>
>>
>> Before, it assumed the pv cr3 could be accessed via a direct map. This
>> is no longer true.
> 
> There are a number of terminology issues here, starting with the title:
> Unlike (iirc) in an earlier version, no mapping/unmapping occurs in
> restore_all_guests itself anymore. When reading just the title I
> thought "What? Didn't I say no there?" Then for the sentence above: If
> what it stated was true, a bug would have been introduced in one of
> the earlier patches. What I think is meant, though, is that this is
> going to be no longer true.

Indeed, I updated the code without renaming the commit nor reflecting 
the changes in the commit message. I'll fix that in the next revision.
> Finally the use of "shadow" in identifiers in the code changes
> themselves is somewhat problematic imo, seeing the shadow paging mode
> we support for both HVM and PV. The nature here is different (it's
> merely a secondary mapping aiui), so I think it would be better to
> avoid the term "shadow". Maybe ...

I agree, let's clear the confusion, I'll go with PV_ROOT_PT_MAPPING_* 
prefix.

>> --- a/xen/arch/x86/include/asm/config.h
>> +++ b/xen/arch/x86/include/asm/config.h
>> @@ -202,7 +202,7 @@ extern unsigned char boot_edid_info[128];
>>   /* Slot 260: per-domain mappings (including map cache). */
>>   #define PERDOMAIN_VIRT_START    (PML4_ADDR(260))
>>   #define PERDOMAIN_SLOT_MBYTES   (PML4_ENTRY_BYTES >> (20 + PAGETABLE_ORDER))
>> -#define PERDOMAIN_SLOTS         3
>> +#define PERDOMAIN_SLOTS         4
>>   #define PERDOMAIN_VIRT_SLOT(s)  (PERDOMAIN_VIRT_START + (s) * \
>>                                    (PERDOMAIN_SLOT_MBYTES << 20))
>>   /* Slot 4: mirror of per-domain mappings (for compat xlat area accesses). */
>> @@ -316,6 +316,16 @@ extern unsigned long xen_phys_start;
>>   #define ARG_XLAT_START(v)        \
>>       (ARG_XLAT_VIRT_START + ((v)->vcpu_id << ARG_XLAT_VA_SHIFT))
>>   
>> +/* root_pt shadow mapping area. The fourth per-domain-mapping sub-area */
>> +#define SHADOW_ROOT_PT_VIRT_START   PERDOMAIN_VIRT_SLOT(3)
>> +#define SHADOW_ROOT_PT_ENTRIES      MAX_VIRT_CPUS
>> +#define SHADOW_ROOT_PT_VIRT_END     (SHADOW_ROOT_PT_VIRT_START +    \
>> +                                     (SHADOW_ROOT_PT_ENTRIES * PAGE_SIZE))
>> +
>> +/* The address of a particular VCPU's ROOT_PT */
>> +#define SHADOW_ROOT_PT_VCPU_VIRT_START(v) \
>> +    (SHADOW_ROOT_PT_VIRT_START + ((v)->vcpu_id * PAGE_SIZE))
> 
> ... ROOT_PT_MAPPING_* throughout, or PV_ROOT_PT_MAPPING_*?
> 
> As to SHADOW_ROOT_PT_VIRT_END - when trying to check where it's used
> and hence whether it really needs to use MAX_VIRT_CPUS I couldn't
> spot any use. I don't think the constant should be defined when it's
> not needed.

Correct, let me remove it.

>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -505,6 +505,13 @@ void share_xen_page_with_guest(struct page_info *page, struct domain *d,
>>       spin_unlock(&d->page_alloc_lock);
>>   }
>>   
>> +#define shadow_root_pt_idx(v) \
>> +    ((v)->vcpu_id >> PAGETABLE_ORDER)
>> +
>> +#define pv_shadow_root_pt_pte(v) \
>> +    ((v)->domain->arch.pv.shadow_root_pt_l1tab[shadow_root_pt_idx(v)] + \
>> +     ((v)->vcpu_id & (L1_PAGETABLE_ENTRIES - 1)))
> 
> I think uniformly named constant want using in both macros, i.e. either
> some L1_* in the first macro (preferred) or an expression derived from
> PAGETABLE_ORDER in the 2nd.
> 
>> @@ -524,6 +531,13 @@ void write_ptbase(struct vcpu *v)
>>   
>>       if ( is_pv_vcpu(v) && v->domain->arch.pv.xpti )
>>       {
>> +        mfn_t guest_root_pt = _mfn(v->arch.cr3 >> PAGE_SHIFT);
> 
> While we do so in several other places, I think we'd be better off not
> continuing to assume the top bits to all be zero. IOW MASK_EXTR() may
> be better to use here.

Sure, let's be on the safe side

>> +        l1_pgentry_t *pte = pv_shadow_root_pt_pte(v);
>> +
>> +        ASSERT(v == current);
>> +
>> +        l1e_write(pte, l1e_from_mfn(guest_root_pt, __PAGE_HYPERVISOR_RW));
> 
> The mapping is the copy source in restore_all_guests, isn't it? In
> which case couldn't this be a r/o mapping?

I believe you're right, let me change it to R/O.

>> --- a/xen/arch/x86/pv/domain.c
>> +++ b/xen/arch/x86/pv/domain.c
>> @@ -288,6 +288,19 @@ static void pv_destroy_gdt_ldt_l1tab(struct vcpu *v)
>>                                 1U << GDT_LDT_VCPU_SHIFT);
>>   }
>>   
>> +static int pv_create_shadow_root_pt_l1tab(struct vcpu *v)
>> +{
>> +    return create_perdomain_mapping(v->domain, SHADOW_ROOT_PT_VCPU_VIRT_START(v),
> 
> This line looks to be too long. But ...
> 
>> +                                    1, v->domain->arch.pv.shadow_root_pt_l1tab,
>> +                                    NULL);
>> +}
>> +
>> +static void pv_destroy_shadow_root_pt_l1tab(struct vcpu *v)
>> +
>> +{
>> +    destroy_perdomain_mapping(v->domain, SHADOW_ROOT_PT_VCPU_VIRT_START(v), 1);
>> +}
> 
> ... I'm not convinced of the usefulness of these wrapper functions
> anyway, even more so that each is used exactly once.

The wrappers have been introduced to remain consistent with what has 
been done with GDT/LDT table. I would like to keep them if you don't mind.

>>       XFREE(d->arch.pv.cpuidmasks);
>>   
>>       FREE_XENHEAP_PAGE(d->arch.pv.gdt_ldt_l1tab);
>> +    FREE_XENHEAP_PAGE(d->arch.pv.shadow_root_pt_l1tab);
>>   }
>>   
>>   void noreturn cf_check continue_pv_domain(void);
>> @@ -371,6 +394,12 @@ int pv_domain_initialise(struct domain *d)
>>           goto fail;
>>       clear_page(d->arch.pv.gdt_ldt_l1tab);
>>   
>> +    d->arch.pv.shadow_root_pt_l1tab =
>> +        alloc_xenheap_pages(0, MEMF_node(domain_to_node(d)));
>> +    if ( !d->arch.pv.shadow_root_pt_l1tab )
>> +        goto fail;
>> +    clear_page(d->arch.pv.shadow_root_pt_l1tab);
> 
> Looks like you simply cloned the GDT/LDT code. That's covering 128k
> of VA space per vCPU, though, while here you'd using only 4k. Hence
> using a full page looks like a factor 32 over-allocation. And once
> using xzalloc() here instead a further question would be whether to
> limit to the domain's actual needs - most domains will have far less
> than 8k vCPU-s. In the common case (up to 512 vCPU-s) a single slot
> will suffice, at which point a yet further question would be whether
> to embed the "array" in struct pv_domain instead in that common case
> (e.g. by using a union).

I have to admit I don't really understand your suggestion. Could you 
elaborate a bit more?

Elias


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715052.1116505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgV-0004JE-2X; Tue, 30 Apr 2024 16:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715052.1116505; Tue, 30 Apr 2024 16:50:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgU-0004J7-Ua; Tue, 30 Apr 2024 16:50:26 +0000
Received: by outflank-mailman (input) for mailman id 715052;
 Tue, 30 Apr 2024 16:50: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=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgT-0003oO-Ic
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:25 +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 bdb105fa-0711-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:50:25 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-516d264d0e4so10924e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:25 -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
 h18-20020a197012000000b0051d9149a2cesm917564lfc.84.2024.04.30.09.50.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50: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: bdb105fa-0711-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495824; x=1715100624; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Fl7u/xU9kjPK32PHrP3OybWWMA4e16GqaL6Xbstmvbo=;
        b=GHhjqpPSU4kT7Um5onInyv/0qvcJl2zA2c1xkaf/qeq1ZkLjW/hbwXJHt5mZ7OQo+a
         m9v1BeTZA7V/fpwSIOFb4aHyC1NFXzvvVNCkYfugEHaNX8a8BJRzn0nB0qu7dFLf8VP+
         mcr8saXq0H5AqcWzah9soVrtaivnyeuTraY06weik3fSC3d/FrXOPhRSTs0c+bzhyhdH
         11eh3WQETYNg8NKGlGmucBkw1ADhq1kQc08Ug4AvHPiwArrINQjJd1FGJzTiMTD3VnBQ
         8cZqBshbJ1SF3Cwpg2AxseL4/+eI5BfVNzcaJm5hL5jofmFqtXfU2+POfMdMl5KBqRW5
         XtYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495824; x=1715100624;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Fl7u/xU9kjPK32PHrP3OybWWMA4e16GqaL6Xbstmvbo=;
        b=mTMuhlIRWVoEZltI4+2YaDwh5XAg4sdY3qJkZhDTV564Tx/H/df9j049jmfCnjWmsJ
         viYvFHR7W8Ax0qPWeInRbpcR0NR/mRIr8QxfZ9pE9hSkK20OV2KPUlblL6phxxja1u3c
         m1kZOee2sFaHIJoQis3skcZpSTWn0MKI5CP1+9etyoTE2Sab3s2QbAjzCCZYiRFEU+KI
         JIEY9/aXql0SaLj24fpTUvYRIOwatMHq+hrizk2fZt1/nslZ9meOx2zSzcdzWSDfWcd9
         Vae4+xIwWUcVNJEzk8xzR7UB11ZSzjqdl4SfeevQz7jnXMAS96EM9jzwbqbj5HxKQ/t9
         mz+Q==
X-Forwarded-Encrypted: i=1; AJvYcCXonagH/5sTaxwLVMHy3ZyWkHQGsVDkSrAyZa0+tY58el4la0Z4qj4nCvA5KaNOh3xuELe18PLmLM96b0Tbzl7CfZDIYih7AKjAdR1tww4=
X-Gm-Message-State: AOJu0YwPlEaPuJ91Mu65byYzx3gpQMV+Z1mc4YkS86kRDO1MkHkzl0jV
	au2EItUCGriWGj7qobxRMvMlQ0avXfy91Fpl7N7Q9iCbYjhdv1h6
X-Google-Smtp-Source: AGHT+IEr1VKCghuiim9RyIssq8iqWzgedXC6VPdssb/073WGO5FTX1lD3Adw0P8JM08/qNMg1AdtBQ==
X-Received: by 2002:ac2:5f01:0:b0:51d:6630:b83f with SMTP id 1-20020ac25f01000000b0051d6630b83fmr89702lfq.17.1714495824584;
        Tue, 30 Apr 2024 09:50:24 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 08/17] xen: mapcache: Refactor xen_invalidate_map_cache_entry_unlocked
Date: Tue, 30 Apr 2024 18:49:30 +0200
Message-Id: <20240430164939.925307-9-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add MapCache argument to xen_invalidate_map_cache_entry_unlocked.
This is in preparation for supporting multiple map caches.

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 6e758eff94..34454da2f6 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -420,7 +420,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
     return xen_ram_addr_from_mapcache_single(mapcache, ptr);
 }
 
-static void xen_invalidate_map_cache_entry_unlocked(uint8_t *buffer)
+static void xen_invalidate_map_cache_entry_unlocked(MapCache *mc,
+                                                    uint8_t *buffer)
 {
     MapCacheEntry *entry = NULL, *pentry = NULL;
     MapCacheRev *reventry;
@@ -428,7 +429,7 @@ static void xen_invalidate_map_cache_entry_unlocked(uint8_t *buffer)
     hwaddr size;
     int found = 0;
 
-    QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
+    QTAILQ_FOREACH(reventry, &mc->locked_entries, next) {
         if (reventry->vaddr_req == buffer) {
             paddr_index = reventry->paddr_index;
             size = reventry->size;
@@ -438,7 +439,7 @@ static void xen_invalidate_map_cache_entry_unlocked(uint8_t *buffer)
     }
     if (!found) {
         trace_xen_invalidate_map_cache_entry_unlocked_not_found(buffer);
-        QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
+        QTAILQ_FOREACH(reventry, &mc->locked_entries, next) {
             trace_xen_invalidate_map_cache_entry_unlocked_found(
                 reventry->paddr_index,
                 reventry->vaddr_req
@@ -446,15 +447,15 @@ static void xen_invalidate_map_cache_entry_unlocked(uint8_t *buffer)
         }
         return;
     }
-    QTAILQ_REMOVE(&mapcache->locked_entries, reventry, next);
+    QTAILQ_REMOVE(&mc->locked_entries, reventry, next);
     g_free(reventry);
 
-    if (mapcache->last_entry != NULL &&
-        mapcache->last_entry->paddr_index == paddr_index) {
-        mapcache->last_entry = NULL;
+    if (mc->last_entry != NULL &&
+        mc->last_entry->paddr_index == paddr_index) {
+        mc->last_entry = NULL;
     }
 
-    entry = &mapcache->entry[paddr_index % mapcache->nr_buckets];
+    entry = &mc->entry[paddr_index % mc->nr_buckets];
     while (entry && (entry->paddr_index != paddr_index || entry->size != size)) {
         pentry = entry;
         entry = entry->next;
@@ -488,7 +489,7 @@ static void xen_invalidate_map_cache_entry_bh(void *opaque)
     XenMapCacheData *data = opaque;
 
     mapcache_lock(mapcache);
-    xen_invalidate_map_cache_entry_unlocked(data->buffer);
+    xen_invalidate_map_cache_entry_unlocked(mapcache, data->buffer);
     mapcache_unlock(mapcache);
 
     aio_co_wake(data->co);
@@ -506,7 +507,7 @@ void coroutine_mixed_fn xen_invalidate_map_cache_entry(uint8_t *buffer)
         qemu_coroutine_yield();
     } else {
         mapcache_lock(mapcache);
-        xen_invalidate_map_cache_entry_unlocked(buffer);
+        xen_invalidate_map_cache_entry_unlocked(mapcache, buffer);
         mapcache_unlock(mapcache);
     }
 }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715051.1116494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgP-00042s-P6; Tue, 30 Apr 2024 16:50:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715051.1116494; Tue, 30 Apr 2024 16:50:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgP-00042l-MZ; Tue, 30 Apr 2024 16:50:21 +0000
Received: by outflank-mailman (input) for mailman id 715051;
 Tue, 30 Apr 2024 16:50:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgO-0003oO-8D
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:20 +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 ba7eca0e-0711-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:50:19 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-516d2600569so7363224e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:19 -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
 y26-20020ac2421a000000b0051aada24366sm4312545lfh.66.2024.04.30.09.50.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09: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: ba7eca0e-0711-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495819; x=1715100619; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tHpYiWdb1lRh1fu1PHA0f9wMvB4Yb/LL+pZsTJlPtLc=;
        b=CP4wnhEgxWoYJDFkX1dZuB35ZWnoJ5OWn0NNf6gJc3Clh9I8iRRV00ck3K5NpwWUi1
         Z7WNsmF6nitJVzlsuCcuPqSLKVCTDgcAbsjlwhN1iPDGC10DAt9vdn9p2SQdpFZqM204
         jLhmAx2AnbQpjQrd+mQUu4TwYyzXR9JrRlKwE5MBnZ1Y9I8QmQfM/F1FLSjJTpHNfL+W
         lNhKF18/l/wAA+iyjKkuREKgkAr2PCZRjHah+6y8THQ9+E0NoCC0lMyVGN+oCAywPTT1
         KHgTKqGDvgKAq7yj41k1ZqVVRwFACPUHrYuW1eX0l6odnKkUkWTd+3kDTIAo4OTgmXrl
         1UEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495819; x=1715100619;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tHpYiWdb1lRh1fu1PHA0f9wMvB4Yb/LL+pZsTJlPtLc=;
        b=HPC900EL+DkO3B15lW+Qpeg3byzBC0KNKJbLby4FxjkdZf3dS5t+58jbZIYegVVeuV
         lLD9sOycqOtHgAyTSpBOK69FnidGhQ2ZLd7Nltvxi0NOG2yy6wdgTDe2fX89dOahxsKu
         IiE3NFd8829GEoCtAzWrCfEdRl1J4fjEk84t99gFB/y7CUSx6Y6pBIwFto/G2dbNMvYb
         Z5Q8JeiNZVEsrx1o56abRszfo7LcWx/hT7iWtvLXJVm03sGoeWUlq8F3xRu65LwQasTz
         OGlSTNa2A8im5Tj+6Dszy0e+GaSD8xFXY5Iu+26JP9ekpDkCJQWjfhLvkaZ4vZQ2n8Qa
         pxHA==
X-Forwarded-Encrypted: i=1; AJvYcCX67xOcchdI97JkO/V+mg+nMCoVlakA+SAlnymPcElBBgqEmqN1KBjYZb0dmNUQVAX2Toqr6S+8sAbJ8eWy92T7l50OhX/pzQQkfc1NL2E=
X-Gm-Message-State: AOJu0YzVZhN3POhzFdq1gJ+8MqO3AzusQN+m3yT0w2aitj2th+GHCt3F
	NDe7jiKa9Db3dPxvt7JViSk3BKsO5ixwBiuG1GcM9dHtI295bzT3
X-Google-Smtp-Source: AGHT+IEpEAlJbJJD0/i+Lg344tcB9Tgltle5Mn6nu5CvyosHwr7HnsfYB92Ti4D7O/r40axqDFX0Iw==
X-Received: by 2002:a05:6512:3981:b0:51b:f224:7025 with SMTP id j1-20020a056512398100b0051bf2247025mr20846lfu.59.1714495819141;
        Tue, 30 Apr 2024 09:50:19 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 05/17] xen: mapcache: Refactor xen_remap_bucket for multi-instance
Date: Tue, 30 Apr 2024 18:49:27 +0200
Message-Id: <20240430164939.925307-6-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add MapCache argument to xen_remap_bucket in preparation
to support multiple map caches.

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 896021d86f..326a9b61ca 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -139,7 +139,8 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
     mapcache->entry = g_malloc0(size);
 }
 
-static void xen_remap_bucket(MapCacheEntry *entry,
+static void xen_remap_bucket(MapCache *mc,
+                             MapCacheEntry *entry,
                              void *vaddr,
                              hwaddr size,
                              hwaddr address_index,
@@ -313,14 +314,14 @@ tryagain:
     if (!entry) {
         entry = g_new0(MapCacheEntry, 1);
         pentry->next = entry;
-        xen_remap_bucket(entry, NULL, cache_size, address_index, dummy);
+        xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy);
     } else if (!entry->lock) {
         if (!entry->vaddr_base || entry->paddr_index != address_index ||
                 entry->size != cache_size ||
                 !test_bits(address_offset >> XC_PAGE_SHIFT,
                     test_bit_size >> XC_PAGE_SHIFT,
                     entry->valid_mapping)) {
-            xen_remap_bucket(entry, NULL, cache_size, address_index, dummy);
+            xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy);
         }
     }
 
@@ -587,7 +588,7 @@ static uint8_t *xen_replace_cache_entry_unlocked(hwaddr old_phys_addr,
 
     trace_xen_replace_cache_entry_dummy(old_phys_addr, new_phys_addr);
 
-    xen_remap_bucket(entry, entry->vaddr_base,
+    xen_remap_bucket(mapcache, entry, entry->vaddr_base,
                      cache_size, address_index, false);
     if (!test_bits(address_offset >> XC_PAGE_SHIFT,
                 test_bit_size >> XC_PAGE_SHIFT,
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715055.1116521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgW-0004bN-8F; Tue, 30 Apr 2024 16:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715055.1116521; Tue, 30 Apr 2024 16:50:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgW-0004YJ-1C; Tue, 30 Apr 2024 16:50:28 +0000
Received: by outflank-mailman (input) for mailman id 715055;
 Tue, 30 Apr 2024 16:50:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgV-0003oO-1H
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50: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 be96d88a-0711-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:50:26 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5196fe87775so6618119e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:26 -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
 y24-20020a197518000000b00518b91e8fd7sm4495626lfe.235.2024.04.30.09.50.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50: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: be96d88a-0711-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495826; x=1715100626; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kom/SHDfVUZpmIZv8oD+sehGVIlmksQJn6703to5aOw=;
        b=SV0KzIh0CZMuRJRNmROrp7uDRNRHphfeW6alYywSBbSBtIt+2iooagzErGW7R2F9lF
         1419QQJGPVHm0kh34cyb12zdGVPRblEE5sEO0bOZdkYiXnlBa3x/ZXyIs+O9F/txoRe/
         FDISxM4Nsd4fYSi4zn75y1kHAyyQkQ2fBTyLFx6Ci4q4LaeD9kwpexuSpdUy8VAuF27p
         ZozmHzxrHC0VlrLFU2YX3DcPdxDoDmtZM69bsDGf3QAWwZSKfvnh4A6aNhdoVQh0dRF0
         gvUozpfM12xogzixpWcxnGnmu8ENC1ifqHnrCUhRWjIczuu6Wv152w9xj9LumGF5/ZA2
         k3CA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495826; x=1715100626;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kom/SHDfVUZpmIZv8oD+sehGVIlmksQJn6703to5aOw=;
        b=Mo3GS0r8Ulw24Fk9tK/IIRfOmH4H1PF0FckLKexzsEru3Yi/xVl5NknQGn3bFTYAe1
         2dvFWGv1cc8PENZxUI976uffhKADH3iX9qOFaew1m2xM7r1tKrdQ/Qc+pPd8iFmhm2Gi
         /lCUnDteH9KTRAW2fZ6iNUn5rvV5eNaJb4G0nwxMUpRusICdrCGa9mh3LKvX2KygzAX4
         9xTZXz5piCebs7ohLUATFHddmIfUC/Y359zEql56wJVN7JGbHGG6fAQgNnCH34voxhAw
         95syM1/wjnmuc18X6HbYaBiHxUBGOEwBbbL8W7fpzfsEVPupzKQGTiKY9PfqbUXNow4u
         woIA==
X-Forwarded-Encrypted: i=1; AJvYcCXyFRgonfsffjeN2LOt3+PSzYT1q0krF+SWcqFniy/eywiqXRTHCd/v1unUGsbibdcmOQHcGrjUyliT3QPck0o0GS76TVcRZkmK/ZeqizI=
X-Gm-Message-State: AOJu0YzSF631bGVMM2yoYj0usUXSRdw0voBv/wKNiNtGk8Ih1pwDDSbO
	jpssq4DFfHCKUN38bcWP+UOe/jcOvdakfEGhLp+k6iJddZVMvKlYVD7n5UKX
X-Google-Smtp-Source: AGHT+IFL7xixQZzyY4IgwLtRiYEyYk+uUHOVAzj9b5xqr6eOpzsgiDsvBW99qrlkBchrQCMFWP2fRg==
X-Received: by 2002:ac2:5a50:0:b0:51c:f898:60cb with SMTP id r16-20020ac25a50000000b0051cf89860cbmr15984lfn.35.1714495826099;
        Tue, 30 Apr 2024 09:50:26 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 09/17] xen: mapcache: Break out xen_invalidate_map_cache_single()
Date: Tue, 30 Apr 2024 18:49:31 +0200
Message-Id: <20240430164939.925307-10-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Break out xen_invalidate_map_cache_single().

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 34454da2f6..dd08cd296b 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -512,17 +512,14 @@ void coroutine_mixed_fn xen_invalidate_map_cache_entry(uint8_t *buffer)
     }
 }
 
-void xen_invalidate_map_cache(void)
+static void xen_invalidate_map_cache_single(MapCache *mc)
 {
     unsigned long i;
     MapCacheRev *reventry;
 
-    /* Flush pending AIO before destroying the mapcache */
-    bdrv_drain_all();
-
-    mapcache_lock(mapcache);
+    mapcache_lock(mc);
 
-    QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
+    QTAILQ_FOREACH(reventry, &mc->locked_entries, next) {
         if (!reventry->dma) {
             continue;
         }
@@ -530,8 +527,8 @@ void xen_invalidate_map_cache(void)
                                        reventry->vaddr_req);
     }
 
-    for (i = 0; i < mapcache->nr_buckets; i++) {
-        MapCacheEntry *entry = &mapcache->entry[i];
+    for (i = 0; i < mc->nr_buckets; i++) {
+        MapCacheEntry *entry = &mc->entry[i];
 
         if (entry->vaddr_base == NULL) {
             continue;
@@ -552,9 +549,17 @@ void xen_invalidate_map_cache(void)
         entry->valid_mapping = NULL;
     }
 
-    mapcache->last_entry = NULL;
+    mc->last_entry = NULL;
 
-    mapcache_unlock(mapcache);
+    mapcache_unlock(mc);
+}
+
+void xen_invalidate_map_cache(void)
+{
+    /* Flush pending AIO before destroying the mapcache */
+    bdrv_drain_all();
+
+    xen_invalidate_map_cache_single(mapcache);
 }
 
 static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715054.1116516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgV-0004Ty-SX; Tue, 30 Apr 2024 16:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715054.1116516; Tue, 30 Apr 2024 16:50:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgV-0004Rv-N5; Tue, 30 Apr 2024 16:50:27 +0000
Received: by outflank-mailman (input) for mailman id 715054;
 Tue, 30 Apr 2024 16:50:26 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgU-0003oL-Sr
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:26 +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 b8959ab7-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:16 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2e049cfe645so88171fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:16 -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
 w18-20020a2e9992000000b002d43737e2d7sm4149404lji.30.2024.04.30.09.50.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50: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: b8959ab7-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495816; x=1715100616; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CIVDaUdlQrWMVCAAwSwRQuE7c0313SXxgYK41vL15nU=;
        b=B8gkTf++nosRLAD1kYAg10sBmcwVa5ypMEgmjGLDuAX32jNHABdSZuMuE7TuM/a2rE
         5IiaiFBWqThJ5F9mg8ZU+rlWgf/W8xwkWTZug2jhUOrfrkoIFp5bXU12JETI1UrhfCl7
         fWI9l1+52nz8q4pNI+TUUsdeQz5+9Tdzl6LnMFs4XGbm+5WhGfZmW0PTUu3tp8lXVPdJ
         k8BEjX/FrAvPPmcUEztFLy5El34t+6uLHFgZdepbnDI5mtuB34fZ0SnrE5lx7WVP2pPY
         9yIu5p6gszD+2hadgBGnogd6mCYGYoUdevpO87cYxrzapKCCKK2h2posK5g3QP/J1vj2
         ptPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495816; x=1715100616;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CIVDaUdlQrWMVCAAwSwRQuE7c0313SXxgYK41vL15nU=;
        b=d+idKuhHQi1XOUMwezFprvfENQgW3RNOkyq4Rc5InxUqSTltJ/nVFW/uf22t5r4SRs
         RLOG1GcgzAG7j8BZMq/ygX4ZVsa1QVgeJfrfPd3crthULfWJoEy5JTyzWT+yWor3sqPb
         E1ZPPGLF3lAvzeLB67GOtpoARpWVha9juoZyhMRxJSuV0EybcCumcud21R3aGAMDU8Pt
         0/sYqrdHSQ6mu9XoaJoVUUTm789nk8NfFIhYni6A4EU1NfyCqq4nVyAbONkPDDii4TSY
         G9sKOek1ndKKTpfR/lWJVnHzLe/o/khnKYRiTnlz6YWuc2lraoOIwmLFwedFJLx+DVvO
         ajVw==
X-Forwarded-Encrypted: i=1; AJvYcCXjZEl9AFXHgGQ+Ytl+XGAQAhp0D2hSmBMEhz1psrNlQpiv5ZVYAz6w8mrGVjoVcV29oyUucmnMvBY0b8f/IjBSSgycMzOJqi2Otedyuvw=
X-Gm-Message-State: AOJu0YxODipoV14NcrqujGCTnY7NuvDOgwSVBTVah0I6LlT7UCVg1Grq
	EOBJmwfThm1ry4SeCjQPWpn21CJewJoK1HBZcL3PkUSHo0lpW4/7
X-Google-Smtp-Source: AGHT+IEhqhmi+/uuFz1Fbog5DE/AV1r+HDsD1UwlwkpNuWJf7wobBS9AqtJFN1Xw/CHLkbbpd70bvw==
X-Received: by 2002:a2e:bc0a:0:b0:2d8:4c1d:10fc with SMTP id b10-20020a2ebc0a000000b002d84c1d10fcmr1419744ljf.18.1714495816046;
        Tue, 30 Apr 2024 09:50:16 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 03/17] xen: mapcache: Refactor lock functions for multi-instance
Date: Tue, 30 Apr 2024 18:49:25 +0200
Message-Id: <20240430164939.925307-4-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Make the lock functions take MapCache * as argument. This is
in preparation for supporting multiple caches.

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index b7cefb78f7..3f11562075 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -74,14 +74,14 @@ typedef struct MapCache {
 
 static MapCache *mapcache;
 
-static inline void mapcache_lock(void)
+static inline void mapcache_lock(MapCache *mc)
 {
-    qemu_mutex_lock(&mapcache->lock);
+    qemu_mutex_lock(&mc->lock);
 }
 
-static inline void mapcache_unlock(void)
+static inline void mapcache_unlock(MapCache *mc)
 {
-    qemu_mutex_unlock(&mapcache->lock);
+    qemu_mutex_unlock(&mc->lock);
 }
 
 static inline int test_bits(int nr, int size, const unsigned long *addr)
@@ -369,9 +369,9 @@ uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
 {
     uint8_t *p;
 
-    mapcache_lock();
+    mapcache_lock(mapcache);
     p = xen_map_cache_unlocked(phys_addr, size, lock, dma);
-    mapcache_unlock();
+    mapcache_unlock(mapcache);
     return p;
 }
 
@@ -384,7 +384,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
     ram_addr_t raddr;
     int found = 0;
 
-    mapcache_lock();
+    mapcache_lock(mapcache);
     QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
         if (reventry->vaddr_req == ptr) {
             paddr_index = reventry->paddr_index;
@@ -394,7 +394,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
         }
     }
     if (!found) {
-        mapcache_unlock();
+        mapcache_unlock(mapcache);
         return RAM_ADDR_INVALID;
     }
 
@@ -409,7 +409,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
         raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) +
              ((unsigned long) ptr - (unsigned long) entry->vaddr_base);
     }
-    mapcache_unlock();
+    mapcache_unlock(mapcache);
     return raddr;
 }
 
@@ -480,9 +480,9 @@ static void xen_invalidate_map_cache_entry_bh(void *opaque)
 {
     XenMapCacheData *data = opaque;
 
-    mapcache_lock();
+    mapcache_lock(mapcache);
     xen_invalidate_map_cache_entry_unlocked(data->buffer);
-    mapcache_unlock();
+    mapcache_unlock(mapcache);
 
     aio_co_wake(data->co);
 }
@@ -498,9 +498,9 @@ void coroutine_mixed_fn xen_invalidate_map_cache_entry(uint8_t *buffer)
                                 xen_invalidate_map_cache_entry_bh, &data);
         qemu_coroutine_yield();
     } else {
-        mapcache_lock();
+        mapcache_lock(mapcache);
         xen_invalidate_map_cache_entry_unlocked(buffer);
-        mapcache_unlock();
+        mapcache_unlock(mapcache);
     }
 }
 
@@ -512,7 +512,7 @@ void xen_invalidate_map_cache(void)
     /* Flush pending AIO before destroying the mapcache */
     bdrv_drain_all();
 
-    mapcache_lock();
+    mapcache_lock(mapcache);
 
     QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
         if (!reventry->dma) {
@@ -546,7 +546,7 @@ void xen_invalidate_map_cache(void)
 
     mapcache->last_entry = NULL;
 
-    mapcache_unlock();
+    mapcache_unlock(mapcache);
 }
 
 static uint8_t *xen_replace_cache_entry_unlocked(hwaddr old_phys_addr,
@@ -606,8 +606,8 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
 {
     uint8_t *p;
 
-    mapcache_lock();
+    mapcache_lock(mapcache);
     p = xen_replace_cache_entry_unlocked(old_phys_addr, new_phys_addr, size);
-    mapcache_unlock();
+    mapcache_unlock(mapcache);
     return p;
 }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715050.1116485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgO-0003og-JQ; Tue, 30 Apr 2024 16:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715050.1116485; Tue, 30 Apr 2024 16: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 1s1qgO-0003oZ-Gd; Tue, 30 Apr 2024 16:50:20 +0000
Received: by outflank-mailman (input) for mailman id 715050;
 Tue, 30 Apr 2024 16:50:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgN-0003oO-Bz
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:19 +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 b9969a07-0711-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:50:18 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2dac77cdf43so75645131fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:18 -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
 b20-20020a2e8954000000b002de1f99164csm2505323ljk.59.2024.04.30.09.50.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9969a07-0711-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495818; x=1715100618; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RRQG1XAsOj2ShCk3Z8R9KMtS/JhvbfkQx/NMqL6gExE=;
        b=BIrsbAq2AFIajidX8ZlJMr510TnGVF9lbzuSogUmnbg4QHKN90mp3qLP+IvvecL1yt
         +SX1BkSWd6uCDFct/mclKSL1LM5OWCD1sv/2g3jgjnKLMPlVNU/qaV5DBVdbputkTl3w
         l5ZN7rKocmgSC7rwvD2K1mp772MFqTHVPLwz8FhYYNPdLPCEzWdtf+4ZMHFQAmQiTXBt
         SVUIslgldRwlSoqTvgRD4TcikpX8njYqDprf0/EAWl1qZ+egbwf40bYSxF4V3y1q4Tw/
         onhl4Q5hUfaVT64fNAm8/6lCj6+4aljYt6L3/PhRpkzUobTlVoCTwgqg9yRungwXv+vi
         koeQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495818; x=1715100618;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RRQG1XAsOj2ShCk3Z8R9KMtS/JhvbfkQx/NMqL6gExE=;
        b=bMZUDdgHXGuHc5pPfT0KkfKBY2iN0sV8n3FFy0nZwhW1cZK2mo3oAF1lOBI166I2aW
         nj2gc17MKKofEenlXFC+lrclkOKZP8jtpsre/Rcz90frv4rd30jE6GV55AzGjk9tgY5o
         7wptiVmixC68sXgLXlnbU8tZ4ATAuuiBVyYlGhTnApKZLhAg4tVsLV9qbdCvkky6UmOn
         Xbam1h/elCjH/yB6HgJwyzC2dCVjm9T/H/scXqNHI+7lgIad+bZL/rpLg6MUW5IC2lio
         ek8bflx7AoI454ICUvxgf5qKOz4phbdsPFAEHdnctGNM1meeMsLIddvxAqOccF/W4V5U
         FxSQ==
X-Forwarded-Encrypted: i=1; AJvYcCV6ZKjWGbArE0ww8NWpP7SDWz/MqEt6M2A2nhPhuDgKMPvdWrlfV1Vpj6fG60Ny4oTHLWa1tXkO/cRdrR/yx5xATPXDilAU3htjPX/BYtA=
X-Gm-Message-State: AOJu0YxaK76NP7rzZNFBZLc4Gnru9l5A4Bq9Gz7r9MilDc7+w4OZhp7N
	UjkOZK3G8S7dgrSBTKVNTXw9snD8n0tLO1bCcElohiKex81ixZUZ
X-Google-Smtp-Source: AGHT+IE34gVM99Avj5+WmVE3KuiSoituQU+AW25n3ZdTsIBUm8HTeWHDkI6iQxAgmbV9XWek/HUgxw==
X-Received: by 2002:a2e:9516:0:b0:2d8:63a2:50d2 with SMTP id f22-20020a2e9516000000b002d863a250d2mr213248ljh.6.1714495817622;
        Tue, 30 Apr 2024 09:50:17 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 04/17] xen: mapcache: Refactor xen_map_cache for multi-instance
Date: Tue, 30 Apr 2024 18:49:26 +0200
Message-Id: <20240430164939.925307-5-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Make xen_map_cache take a MapCache as argument. This is in
prepaparation to support multiple map caches.

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 3f11562075..896021d86f 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -240,7 +240,8 @@ static void xen_remap_bucket(MapCacheEntry *entry,
     g_free(err);
 }
 
-static uint8_t *xen_map_cache_unlocked(hwaddr phys_addr, hwaddr size,
+static uint8_t *xen_map_cache_unlocked(MapCache *mc,
+                                       hwaddr phys_addr, hwaddr size,
                                        uint8_t lock, bool dma)
 {
     MapCacheEntry *entry, *pentry = NULL,
@@ -269,16 +270,16 @@ tryagain:
         test_bit_size = XC_PAGE_SIZE;
     }
 
-    if (mapcache->last_entry != NULL &&
-        mapcache->last_entry->paddr_index == address_index &&
+    if (mc->last_entry != NULL &&
+        mc->last_entry->paddr_index == address_index &&
         !lock && !size &&
         test_bits(address_offset >> XC_PAGE_SHIFT,
                   test_bit_size >> XC_PAGE_SHIFT,
-                  mapcache->last_entry->valid_mapping)) {
+                  mc->last_entry->valid_mapping)) {
         trace_xen_map_cache_return(
-            mapcache->last_entry->vaddr_base + address_offset
+            mc->last_entry->vaddr_base + address_offset
         );
-        return mapcache->last_entry->vaddr_base + address_offset;
+        return mc->last_entry->vaddr_base + address_offset;
     }
 
     /* size is always a multiple of MCACHE_BUCKET_SIZE */
@@ -291,7 +292,7 @@ tryagain:
         cache_size = MCACHE_BUCKET_SIZE;
     }
 
-    entry = &mapcache->entry[address_index % mapcache->nr_buckets];
+    entry = &mc->entry[address_index % mc->nr_buckets];
 
     while (entry && (lock || entry->lock) && entry->vaddr_base &&
             (entry->paddr_index != address_index || entry->size != cache_size ||
@@ -326,10 +327,10 @@ tryagain:
     if(!test_bits(address_offset >> XC_PAGE_SHIFT,
                 test_bit_size >> XC_PAGE_SHIFT,
                 entry->valid_mapping)) {
-        mapcache->last_entry = NULL;
+        mc->last_entry = NULL;
 #ifdef XEN_COMPAT_PHYSMAP
-        if (!translated && mapcache->phys_offset_to_gaddr) {
-            phys_addr = mapcache->phys_offset_to_gaddr(phys_addr, size);
+        if (!translated && mc->phys_offset_to_gaddr) {
+            phys_addr = mc->phys_offset_to_gaddr(phys_addr, size);
             translated = true;
             goto tryagain;
         }
@@ -342,7 +343,7 @@ tryagain:
         return NULL;
     }
 
-    mapcache->last_entry = entry;
+    mc->last_entry = entry;
     if (lock) {
         MapCacheRev *reventry = g_new0(MapCacheRev, 1);
         entry->lock++;
@@ -352,16 +353,16 @@ tryagain:
             abort();
         }
         reventry->dma = dma;
-        reventry->vaddr_req = mapcache->last_entry->vaddr_base + address_offset;
-        reventry->paddr_index = mapcache->last_entry->paddr_index;
+        reventry->vaddr_req = mc->last_entry->vaddr_base + address_offset;
+        reventry->paddr_index = mc->last_entry->paddr_index;
         reventry->size = entry->size;
-        QTAILQ_INSERT_HEAD(&mapcache->locked_entries, reventry, next);
+        QTAILQ_INSERT_HEAD(&mc->locked_entries, reventry, next);
     }
 
     trace_xen_map_cache_return(
-        mapcache->last_entry->vaddr_base + address_offset
+        mc->last_entry->vaddr_base + address_offset
     );
-    return mapcache->last_entry->vaddr_base + address_offset;
+    return mc->last_entry->vaddr_base + address_offset;
 }
 
 uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
@@ -370,7 +371,7 @@ uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
     uint8_t *p;
 
     mapcache_lock(mapcache);
-    p = xen_map_cache_unlocked(phys_addr, size, lock, dma);
+    p = xen_map_cache_unlocked(mapcache, phys_addr, size, lock, dma);
     mapcache_unlock(mapcache);
     return p;
 }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715056.1116542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgX-0005AY-Kv; Tue, 30 Apr 2024 16:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715056.1116542; Tue, 30 Apr 2024 16: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 1s1qgX-00058b-Dz; Tue, 30 Apr 2024 16:50:29 +0000
Received: by outflank-mailman (input) for mailman id 715056;
 Tue, 30 Apr 2024 16:50:28 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgV-0003oL-Su
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:27 +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 bbabb852-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:21 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5196fe87775so6618014e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:21 -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
 k3-20020a05651210c300b0051d7d7a21d7sm1000646lfg.308.2024.04.30.09.50.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50: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: bbabb852-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495821; x=1715100621; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6Ebca77e5IYL9WEAaF2UYa4r/GkVpnh2Kl3ta9A5c+4=;
        b=LuQ742VUw+vkIfqZxv5gWWnyAs4uVlIPMUOi9VOnVpF2WcdU1h2nI10VNUKCe4H4pv
         TgRgqT1PcnMpCcg+/OOtzyFtY10oyHryikU7Wxpg8y7IT44KigBCZY7hGeZs6rq5dA3U
         uMHA3iv7yN9PmYOzQafQa2bxzO1qxMI/Q8Fw+hDlzOFRQIHSJ3oGaCOomQEtrWb35+sy
         dchR3NJontNUQuOAR9NSeCPaD4UzbwY1PPgGgiU+eQKHHOInCrZp4q8n4R3nr9rPjiOd
         nLmJtJG7SRG0PNFfsrlaaaMpjEqmLYJlbG+8GLLoxos9ULr12dukbX5PIC8q9BIr/4or
         mnrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495821; x=1715100621;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6Ebca77e5IYL9WEAaF2UYa4r/GkVpnh2Kl3ta9A5c+4=;
        b=TRrQc13rwuoeMLqtRL/f30XKDnHFckXvLRuGmYtH9sSGgHl0k6dzj0dGRh1XyHweFz
         8TcmDtKCv83Sy1T19zb2XJnjhp8dWx7L4mJ/Ra0ExXxCeauehde6QJTVOh6bl3PsSA9t
         JOAkFg0cY0nnlovanTwIgaEWivzYTgm6XoG42WUV7HKrMXCskh3Zg28Og/aYpu3ctEVA
         buHu9Fs5XAGMhyH5EJff6F1Ao6YugRfgsLJ07WDhMg0Ub5Clko6ov4RriigO3psF23xj
         +k/9EajyiKzyq+TVV4eWs7VVoC27V5K1TsYR1qDRQcsdwM1BqXmnN6gW34MA+s5YbBsd
         kxYA==
X-Forwarded-Encrypted: i=1; AJvYcCVKGrAu/sa4+UCb/yZuGzCdcTpt48o5vbK198otY8ClGgv7aV6OcCxGUlQoF4H6j6fBzOZB8TNcspmRMGgg80aSL/gTZyA/dRuosnnMBWw=
X-Gm-Message-State: AOJu0Yy5hLY7/meWhc3nycHh+40AidgKrjARwO+bgZp11jsrRwC2Q+PR
	HOiGJHvZL5dGNzk9CBP4PV2gNL+gkw+ImL1q9UZ3pAc97uNPj8HE
X-Google-Smtp-Source: AGHT+IEM3Jz9S/DKrWu5RICfZqu5IuAbuhDXbfyJpfQLWPTCw63HqZI9CE91kUAd3S8w9gG9YoAS8w==
X-Received: by 2002:a05:6512:1386:b0:516:cc06:fa03 with SMTP id fc6-20020a056512138600b00516cc06fa03mr23704lfb.56.1714495821221;
        Tue, 30 Apr 2024 09:50:21 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 06/17] xen: mapcache: Break out xen_ram_addr_from_mapcache_single
Date: Tue, 30 Apr 2024 18:49:28 +0200
Message-Id: <20240430164939.925307-7-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Break out xen_ram_addr_from_mapcache_single(), a multi-cache
aware version of xen_ram_addr_from_mapcache.

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 326a9b61ca..d2deff70c8 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -377,7 +377,7 @@ uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
     return p;
 }
 
-ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+static ram_addr_t xen_ram_addr_from_mapcache_single(MapCache *mc, void *ptr)
 {
     MapCacheEntry *entry = NULL;
     MapCacheRev *reventry;
@@ -386,8 +386,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
     ram_addr_t raddr;
     int found = 0;
 
-    mapcache_lock(mapcache);
-    QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
+    mapcache_lock(mc);
+    QTAILQ_FOREACH(reventry, &mc->locked_entries, next) {
         if (reventry->vaddr_req == ptr) {
             paddr_index = reventry->paddr_index;
             size = reventry->size;
@@ -396,11 +396,11 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
         }
     }
     if (!found) {
-        mapcache_unlock(mapcache);
+        mapcache_unlock(mc);
         return RAM_ADDR_INVALID;
     }
 
-    entry = &mapcache->entry[paddr_index % mapcache->nr_buckets];
+    entry = &mc->entry[paddr_index % mc->nr_buckets];
     while (entry && (entry->paddr_index != paddr_index || entry->size != size)) {
         entry = entry->next;
     }
@@ -411,10 +411,15 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
         raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) +
              ((unsigned long) ptr - (unsigned long) entry->vaddr_base);
     }
-    mapcache_unlock(mapcache);
+    mapcache_unlock(mc);
     return raddr;
 }
 
+ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
+{
+    return xen_ram_addr_from_mapcache_single(mapcache, ptr);
+}
+
 static void xen_invalidate_map_cache_entry_unlocked(uint8_t *buffer)
 {
     MapCacheEntry *entry = NULL, *pentry = NULL;
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715053.1116511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgV-0004Q5-JX; Tue, 30 Apr 2024 16:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715053.1116511; Tue, 30 Apr 2024 16:50:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgV-0004OG-DD; Tue, 30 Apr 2024 16:50:27 +0000
Received: by outflank-mailman (input) for mailman id 715053;
 Tue, 30 Apr 2024 16:50:26 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgU-0003oL-Lx
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:26 +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 b7785fee-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:14 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2dd6c14d000so73581731fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:14 -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
 g5-20020a19e045000000b0051bf283570dsm2372896lfj.254.2024.04.30.09.50.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50: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: b7785fee-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495814; x=1715100614; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fwamhPCUJY+N7YTIaqBuMDMNKLfZW1hiEtgPXWAFdNA=;
        b=fEwZHCpuVwYdInTgp+ATzSHvKMD61A0rfFvyC23+fWdzizH95yI1KvoWNv1pnSBGoj
         qv6ntGYnb6bnU6FMxURJdsrWY8c1ikv1sqGKsUh4Xkm+8a1MCB2Rh+VHqllzq9CyeSJT
         P6T5mSzsa0VoK+4AM5nYo5MiIRFdN/bxU92rVCreibzlN5rQWu65No5NFQcm3trCSDo8
         iOKvRRRrixfF3qUqKsQOOlHu+zZrPbWDbcZT5TrLeu8eqYfJ+fX3AC1D119PlKMiYhoy
         hd4PgGMvGh9luUmSkaTUVxzSLvT0qSFuUwpZYnVqZB97TbkI/pml4Dr6cT+p9VssDCwN
         qGfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495814; x=1715100614;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fwamhPCUJY+N7YTIaqBuMDMNKLfZW1hiEtgPXWAFdNA=;
        b=d3rEsn4NhSw3iphvcZNpZxpDDxIFjGklJlGp0o2/SNQDlC9mc9f2iNECNLR5BvaG8r
         Gi4vliZM1Mrv96CymbNlqeErWSS9Aj50L8KdNKd4BrGy5Yez2f88kbqEvxMt+t3N56jI
         icfbpG/+byTJi9rPUMzoQTvU6nKbx3E7sDesYlP9tc0O9BxPGeQSzXQX3yH+SNiHLdH2
         C+nlQZuWvBTW7h8sOdafpEJe7mvHeUDZhWTZ9PvnekhwKq59gRrBAvpd3IjRbMGPxwW2
         gXTjX3+L3dyuukbuaJkh0dkk6s6j0RWXN20mGEIr+ctgd2dmapND76i+6uG2flSLFBF3
         pKIA==
X-Forwarded-Encrypted: i=1; AJvYcCXLBcrfoDyEvm1dc+lrJZlogJbMxLomDJ2G5Xj9aVFg7QiN/AR+++I4apSpbo5stz6eV1OAorBd3hkhcUKUMWyusnePmmTv20ySnboFmvU=
X-Gm-Message-State: AOJu0YwfDjLubz6NpAwdRtoNu0VS1nXDpZQ7LbbdcCGO1C8z4J3yuy9V
	RkNeZi8joXRAW3ul8lvqIh38O5cjHjLL13Uxl8ZitpnIQ3dCXpdf
X-Google-Smtp-Source: AGHT+IHoJlSMsC6sfM5UXupD/S6braHFg22PmZ7CRhw+67o7aWoTbAdWexTYOX7plCeimOm047+9GQ==
X-Received: by 2002:ac2:5a5b:0:b0:519:6a93:ed3a with SMTP id r27-20020ac25a5b000000b005196a93ed3amr25393lfn.23.1714495812082;
        Tue, 30 Apr 2024 09:50:12 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E . Iglesias" <edgar.iglesias@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 02/17] xen: let xen_ram_addr_from_mapcache() return -1 in case of not found entry
Date: Tue, 30 Apr 2024 18:49:24 +0200
Message-Id: <20240430164939.925307-3-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Juergen Gross <jgross@suse.com>

Today xen_ram_addr_from_mapcache() will either abort() or return 0 in
case it can't find a matching entry for a pointer value. Both cases
are bad, so change that to return an invalid address instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 7f59080ba7..b7cefb78f7 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -394,13 +394,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
         }
     }
     if (!found) {
-        trace_xen_ram_addr_from_mapcache_not_found(ptr);
-        QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) {
-            trace_xen_ram_addr_from_mapcache_found(reventry->paddr_index,
-                                                   reventry->vaddr_req);
-        }
-        abort();
-        return 0;
+        mapcache_unlock();
+        return RAM_ADDR_INVALID;
     }
 
     entry = &mapcache->entry[paddr_index % mapcache->nr_buckets];
@@ -409,7 +404,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
     }
     if (!entry) {
         trace_xen_ram_addr_from_mapcache_not_in_cache(ptr);
-        raddr = 0;
+        raddr = RAM_ADDR_INVALID;
     } else {
         raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) +
              ((unsigned long) ptr - (unsigned long) entry->vaddr_base);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715057.1116548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgY-0005Gy-5B; Tue, 30 Apr 2024 16:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715057.1116548; Tue, 30 Apr 2024 16:50:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgX-0005Fw-TP; Tue, 30 Apr 2024 16:50:29 +0000
Received: by outflank-mailman (input) for mailman id 715057;
 Tue, 30 Apr 2024 16:50:28 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgW-0003oL-Sw
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:28 +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 bc8309ef-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:23 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2db101c11beso69152331fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:23 -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
 d18-20020ac24c92000000b0051bbba4541bsm2593600lfl.165.2024.04.30.09.50.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50: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: bc8309ef-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495823; x=1715100623; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1t+fSrRYl5L3yQvPVldSqnOrtZxoJXX623JAMweDjXA=;
        b=I9Z5CReJxpo12aMXxcmq761o+9fQdvNXjP3/UODDLL794TidUhWbvhuj+JNBYcXi82
         AigNbNhqflp+nejy9rznB3nH+9f8UXVCILQS7ozv+PJi20cx8CGPq6B4IO/sFc/I40vL
         CIH+SNQ0Vvz7h30LVeBdmoyKtOCGsXCNX2CJRCjT5ZxN9csumeTI8C5Q6+ru7eCSno+3
         tTlWs9XQIQnEUyCd73U6gi3scPWqItAz9yiGVC4MSnB4uh3zoSIOiapUiyx+/K9CvS1v
         tMbc59kielf2BjHN4PT8l2mtMzOiOAWqh20qjO9FnB8krbvmIzUwapunFkHRVCVTOXFf
         DJbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495823; x=1715100623;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1t+fSrRYl5L3yQvPVldSqnOrtZxoJXX623JAMweDjXA=;
        b=QwwTzG3KME1vDuKFn3wzos4vADHP9YWX+KGhSh3s3BlaLg9iwuugzfI8kyif75zOvk
         tW4+DXJ9wDiyhvqmS6p8eI4GQw/mEU+B9pij5XqNcHVAgtegZPOHalqSC4l+H7UHY9D4
         xU/jjFfSXuIJKW8R8LcppSek7XmiSvAOvJTcH3D1TMMU1UZeFPplPprT0pzv144OY477
         zsPm7FKTbTZ8cfYTj7l8NboG1H1+5xokRhMe7smOMxpTIxoo/HLALfvUMG/eJkHaQEcc
         D7MwZn/81PLAncESgUTGluKhBHNs9NmB/8b7baVt9dZGAAVZrBTUfaBz2hG6Osk/4t/r
         GsQw==
X-Forwarded-Encrypted: i=1; AJvYcCWvs3ZcXioRVSDc7VPpHoscgc1hpxMHuwTUk85EUGGisZqKJI9AeI+4hOrZNYsn1d7PEZDG1bTTQYPXuhN0S7NbY0a+c+Ri6eBGP2dt6ig=
X-Gm-Message-State: AOJu0YwcnSipqit3TNfPiMteGYQejXwJ8sX9HJbHNnykGzjKs0FBXJYh
	YuFNbK/2AI3rL6lmmGXmPxvMq4TyOschgegOAOeI6WLtg+LBqxuR
X-Google-Smtp-Source: AGHT+IH8tNB+OMEEjfoZnK00fenwXOTSLhumxvmYC1KCq8f4Ohl2Q8/E13IsvLGqDP3McXiamSkmOA==
X-Received: by 2002:a05:6512:3d23:b0:51d:682d:c2ab with SMTP id d35-20020a0565123d2300b0051d682dc2abmr35470lfv.32.1714495822602;
        Tue, 30 Apr 2024 09:50:22 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 07/17] xen: mapcache: Refactor xen_replace_cache_entry_unlocked
Date: Tue, 30 Apr 2024 18:49:29 +0200
Message-Id: <20240430164939.925307-8-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add MapCache argument to xen_replace_cache_entry_unlocked in
preparation for supporting multiple map caches.

No functional change.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index d2deff70c8..6e758eff94 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -556,7 +556,8 @@ void xen_invalidate_map_cache(void)
     mapcache_unlock(mapcache);
 }
 
-static uint8_t *xen_replace_cache_entry_unlocked(hwaddr old_phys_addr,
+static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
+                                                 hwaddr old_phys_addr,
                                                  hwaddr new_phys_addr,
                                                  hwaddr size)
 {
@@ -578,7 +579,7 @@ static uint8_t *xen_replace_cache_entry_unlocked(hwaddr old_phys_addr,
         cache_size += MCACHE_BUCKET_SIZE - (cache_size % MCACHE_BUCKET_SIZE);
     }
 
-    entry = &mapcache->entry[address_index % mapcache->nr_buckets];
+    entry = &mc->entry[address_index % mc->nr_buckets];
     while (entry && !(entry->paddr_index == address_index &&
                       entry->size == cache_size)) {
         entry = entry->next;
@@ -614,7 +615,8 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
     uint8_t *p;
 
     mapcache_lock(mapcache);
-    p = xen_replace_cache_entry_unlocked(old_phys_addr, new_phys_addr, size);
+    p = xen_replace_cache_entry_unlocked(mapcache, old_phys_addr,
+                                         new_phys_addr, size);
     mapcache_unlock(mapcache);
     return p;
 }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715058.1116564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgZ-0005or-Vh; Tue, 30 Apr 2024 16:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715058.1116564; Tue, 30 Apr 2024 16:50:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgZ-0005nD-NB; Tue, 30 Apr 2024 16:50:31 +0000
Received: by outflank-mailman (input) for mailman id 715058;
 Tue, 30 Apr 2024 16:50:30 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgX-0003oL-T1
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:29 +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 bf83db4e-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:28 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-51e75e7a276so742448e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:28 -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
 u17-20020a196a11000000b0051aaffe4f1dsm4252114lfu.79.2024.04.30.09.50.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09: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: bf83db4e-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495828; x=1715100628; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=j0mqQo2QzUWZGYHpYGMWslGBm8Oap0E4Z0qNuGo27BE=;
        b=Cr6rYcX+49Pwp/ZaOyNGmqouxkYQodnwJ/cfXmF9ZWSfJZKppkCA1LocdpRlwvMMp4
         1YuvD3f+33RNq5fY4OSwa6KEIVo0N6xc4z6/8pF9p8dX66rso7omjrTcBMlYW4kveQIu
         7LqaUAoLrQItScK4j76bP8y6Q8YN56JJP6lO+PniIfT0doTDyk3V+v++Xjni8bx0a8lk
         NklPxwfRBfeJ54SJbR2NRWrL1ckHwDhhjmPlIbn7PJek3XCTMb0k6S3Dp6ro+3EfiuVB
         7rO32N4Ma5BE3UiaqMnOlmTRwXI538wftbwC8+TYIJ6dtzvaHaNbrsZ53OkESwG6HiXt
         omfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495828; x=1715100628;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=j0mqQo2QzUWZGYHpYGMWslGBm8Oap0E4Z0qNuGo27BE=;
        b=ls47+iDTyr+tnxjwy+JtBt09DW3lBWIjIffeYjxC4iIYh5s0agJb9CySSY7mSyzmck
         jgB8uE+f+5E8UT1XguMoAq/t0gJMTjZSAO3pHefajXazw1S0d0Ix7wTGnSZmZajqVmvQ
         Sb/ThhXUDDM/cdJTnN1yXpU7GeHHyycL2/aYJjZQeRDMZ42puYs5O4u1LrhkPgtq2msB
         f18GdH9w9gAiyMUkkpbStoOTFDre1XD9hNICldfJlPtUGiWPbmlzAgRnO0UFupSc3wgx
         iq8QC6FK0ZQipFmuQ0Vqn1PGj7ggNgMvv4MAL8CVZev1Js3u38cv8FirGfKwYyeOt+Rb
         4ohg==
X-Forwarded-Encrypted: i=1; AJvYcCVWAUMKcSVQTdkm2sERhxIM6/7mPU4gtGuGuhv5gjyyLESEQfKQQEPHP2/a6tMF2e+lNDcJ2I1bmN7dFNC3wial0ScrCoXGqZpQyb0VaRo=
X-Gm-Message-State: AOJu0Yz6JPJN4kzjLql8HNXxYKzC5KgNGYsrcnm1zwsRpLfuSuhk3yln
	LaXrQ0H0inqbhuY+YpVExnS1+ma6XtjNyqrWNmU6p98iNXehepWC
X-Google-Smtp-Source: AGHT+IGQCPL9JgHmD1RLCqV4syaus5YjfpEwlBgT76+qyDY37l2dNAYgiSCfXBlfwOjb2G8RuoFmJQ==
X-Received: by 2002:ac2:4c4e:0:b0:51d:1830:8380 with SMTP id o14-20020ac24c4e000000b0051d18308380mr58334lfk.8.1714495827628;
        Tue, 30 Apr 2024 09:50:27 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 10/17] xen: mapcache: Break out xen_map_cache_init_single()
Date: Tue, 30 Apr 2024 18:49:32 +0200
Message-Id: <20240430164939.925307-11-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Break out xen_map_cache_init_single() in preparation for
adding multiple map caches.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 53 ++++++++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 21 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index dd08cd296b..72a7e25e3e 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -93,23 +93,44 @@ static inline int test_bits(int nr, int size, const unsigned long *addr)
         return 0;
 }
 
-void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
+static MapCache *xen_map_cache_init_single(phys_offset_to_gaddr_t f,
+                                           void *opaque,
+                                           unsigned long max_size)
 {
     unsigned long size;
-    struct rlimit rlimit_as;
+    MapCache *mc;
+
+    mc = g_new0(MapCache, 1);
+
+    mc->phys_offset_to_gaddr = f;
+    mc->opaque = opaque;
+    qemu_mutex_init(&mc->lock);
+
+    QTAILQ_INIT(&mc->locked_entries);
 
-    mapcache = g_new0(MapCache, 1);
+    mc->max_mcache_size = max_size;
 
-    mapcache->phys_offset_to_gaddr = f;
-    mapcache->opaque = opaque;
-    qemu_mutex_init(&mapcache->lock);
+    mc->nr_buckets =
+        (((mc->max_mcache_size >> XC_PAGE_SHIFT) +
+          (1UL << (MCACHE_BUCKET_SHIFT - XC_PAGE_SHIFT)) - 1) >>
+         (MCACHE_BUCKET_SHIFT - XC_PAGE_SHIFT));
 
-    QTAILQ_INIT(&mapcache->locked_entries);
+    size = mc->nr_buckets * sizeof(MapCacheEntry);
+    size = (size + XC_PAGE_SIZE - 1) & ~(XC_PAGE_SIZE - 1);
+    trace_xen_map_cache_init(mc->nr_buckets, size);
+    mc->entry = g_malloc0(size);
+    return mc;
+}
+
+void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
+{
+    struct rlimit rlimit_as;
+    unsigned long max_mcache_size;
 
     if (geteuid() == 0) {
         rlimit_as.rlim_cur = RLIM_INFINITY;
         rlimit_as.rlim_max = RLIM_INFINITY;
-        mapcache->max_mcache_size = MCACHE_MAX_SIZE;
+        max_mcache_size = MCACHE_MAX_SIZE;
     } else {
         getrlimit(RLIMIT_AS, &rlimit_as);
         rlimit_as.rlim_cur = rlimit_as.rlim_max;
@@ -119,24 +140,14 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
                         " memory is not infinity");
         }
         if (rlimit_as.rlim_max < MCACHE_MAX_SIZE + NON_MCACHE_MEMORY_SIZE) {
-            mapcache->max_mcache_size = rlimit_as.rlim_max -
-                NON_MCACHE_MEMORY_SIZE;
+            max_mcache_size = rlimit_as.rlim_max - NON_MCACHE_MEMORY_SIZE;
         } else {
-            mapcache->max_mcache_size = MCACHE_MAX_SIZE;
+            max_mcache_size = MCACHE_MAX_SIZE;
         }
     }
 
+    mapcache = xen_map_cache_init_single(f, opaque, max_mcache_size);
     setrlimit(RLIMIT_AS, &rlimit_as);
-
-    mapcache->nr_buckets =
-        (((mapcache->max_mcache_size >> XC_PAGE_SHIFT) +
-          (1UL << (MCACHE_BUCKET_SHIFT - XC_PAGE_SHIFT)) - 1) >>
-         (MCACHE_BUCKET_SHIFT - XC_PAGE_SHIFT));
-
-    size = mapcache->nr_buckets * sizeof (MapCacheEntry);
-    size = (size + XC_PAGE_SIZE - 1) & ~(XC_PAGE_SIZE - 1);
-    trace_xen_map_cache_init(mapcache->nr_buckets, size);
-    mapcache->entry = g_malloc0(size);
 }
 
 static void xen_remap_bucket(MapCache *mc,
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715059.1116570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qga-0005ta-E4; Tue, 30 Apr 2024 16:50:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715059.1116570; Tue, 30 Apr 2024 16: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 1s1qga-0005s4-3j; Tue, 30 Apr 2024 16:50:32 +0000
Received: by outflank-mailman (input) for mailman id 715059;
 Tue, 30 Apr 2024 16:50:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgY-0003oO-HV
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:30 +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 c09fff96-0711-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:50:30 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-51abf1a9332so8147574e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:29 -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
 b1-20020ac25621000000b00518b294570asm4561021lff.135.2024.04.30.09.50.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50: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: c09fff96-0711-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495829; x=1715100629; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yOBKxxu7GyLSVYEkd97aCGdSreO6dnD3GZWBKg4jO3k=;
        b=C2ivup4o//cBdC0zkrZ3XXD7eLhRaWvna2M7qn+FbQbxbfkiwIdCx5b5EhYAyETeci
         L4aW9FDbx9nRL9aG7Ydwjf2Bto40nYF8sCDMotzvwPtiv3gGBC/uVlDMvB8nTP8kIZ2j
         RvHwZVO83lbmk2BJaj+P3aMKL/0PWeof8o6HMLc+jfHl16B4xYwG7D69rNoP4BDp30xk
         hvhi9MsXY0ZAuHRkxtAUZnElXJedw+L3CTZrVrXsLrmounO8i42cLrky5oDKjmBI6/rU
         /DsYd5bJ/z5kB9xANALIFcmGikKSMz/nIzav1yt6+xBF3JLzbXm2XFp5blvXGK0TrOE+
         uYwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495829; x=1715100629;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yOBKxxu7GyLSVYEkd97aCGdSreO6dnD3GZWBKg4jO3k=;
        b=tHzMrGm19oC08Mp0nc/+2jYiPYSp1+5MrHJ5HFGt1OK0JnEGAH/eAvdTKMtWOPUKEu
         ueSsL4kQYqswtNc+nKdmeeT6oXqkI2et8CMiAjaurVRAxLSKtmoc4wPX8CIMzmUcDEfZ
         3kdqnCIJGSiQaPF6Ak8Fj7SQ/GkEAAUfo3TzT4CAjeyi3irhhWX2lESYSo04z2NWzami
         LI2EFOmLMD+9Yk/Z14jyWq5XLWdpHomTw2bs91CcMTGIzLNVq9f/L86e1M6w8VVgvrYU
         jCti8n3ZaqTb3dprQaSg9uOm07bJ7+tiEkCWOMbxAQtt+mG7Y4ESqF1LmS3rAJMZ9TXz
         zcqw==
X-Forwarded-Encrypted: i=1; AJvYcCWry9zVOoY5iJVZSjlkAfl3BkNptpESz8di2ejcIZBQizccWpTNO24IARTNyD7wnvQLJVm/UYeQPD4UOje2Q1V8h6B6FkAFGp1zt+azDNE=
X-Gm-Message-State: AOJu0Ywf53XOQhQWoNgDwk4MF9Ulk3SAfyGHs+fKluxW0XWtssg/+Gkc
	dKlgdLYmoD8XxnD1KdwHny5Hv15/CPGX8ZrYjKyEhCcBDfsiBSY4
X-Google-Smtp-Source: AGHT+IG1D0QzmbnS0ErFMJ7lJMDglr0F3Y/2LZElzamvzuLYF8jqyCZc9cG7FMYyaCBToshoVVfqkw==
X-Received: by 2002:ac2:5327:0:b0:513:1a9c:ae77 with SMTP id f7-20020ac25327000000b005131a9cae77mr26233lfh.52.1714495829133;
        Tue, 30 Apr 2024 09:50:29 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 11/17] xen: mapcache: Make MCACHE_BUCKET_SHIFT runtime configurable
Date: Tue, 30 Apr 2024 18:49:33 +0200
Message-Id: <20240430164939.925307-12-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Make MCACHE_BUCKET_SHIFT runtime configurable per cache instance.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 52 ++++++++++++++++++++++++++-----------------
 1 file changed, 31 insertions(+), 21 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 72a7e25e3e..4f98d284dd 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -23,13 +23,10 @@
 
 
 #if HOST_LONG_BITS == 32
-#  define MCACHE_BUCKET_SHIFT 16
 #  define MCACHE_MAX_SIZE     (1UL<<31) /* 2GB Cap */
 #else
-#  define MCACHE_BUCKET_SHIFT 20
 #  define MCACHE_MAX_SIZE     (1UL<<35) /* 32GB Cap */
 #endif
-#define MCACHE_BUCKET_SIZE (1UL << MCACHE_BUCKET_SHIFT)
 
 /* This is the size of the virtual address space reserve to QEMU that will not
  * be use by MapCache.
@@ -65,7 +62,8 @@ typedef struct MapCache {
     /* For most cases (>99.9%), the page address is the same. */
     MapCacheEntry *last_entry;
     unsigned long max_mcache_size;
-    unsigned int mcache_bucket_shift;
+    unsigned int bucket_shift;
+    unsigned long bucket_size;
 
     phys_offset_to_gaddr_t phys_offset_to_gaddr;
     QemuMutex lock;
@@ -95,6 +93,7 @@ static inline int test_bits(int nr, int size, const unsigned long *addr)
 
 static MapCache *xen_map_cache_init_single(phys_offset_to_gaddr_t f,
                                            void *opaque,
+                                           unsigned int bucket_shift,
                                            unsigned long max_size)
 {
     unsigned long size;
@@ -108,12 +107,14 @@ static MapCache *xen_map_cache_init_single(phys_offset_to_gaddr_t f,
 
     QTAILQ_INIT(&mc->locked_entries);
 
+    mc->bucket_shift = bucket_shift;
+    mc->bucket_size = 1UL << bucket_shift;
     mc->max_mcache_size = max_size;
 
     mc->nr_buckets =
         (((mc->max_mcache_size >> XC_PAGE_SHIFT) +
-          (1UL << (MCACHE_BUCKET_SHIFT - XC_PAGE_SHIFT)) - 1) >>
-         (MCACHE_BUCKET_SHIFT - XC_PAGE_SHIFT));
+          (1UL << (bucket_shift - XC_PAGE_SHIFT)) - 1) >>
+         (bucket_shift - XC_PAGE_SHIFT));
 
     size = mc->nr_buckets * sizeof(MapCacheEntry);
     size = (size + XC_PAGE_SIZE - 1) & ~(XC_PAGE_SIZE - 1);
@@ -126,6 +127,13 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
 {
     struct rlimit rlimit_as;
     unsigned long max_mcache_size;
+    unsigned int bucket_shift;
+
+    if (HOST_LONG_BITS == 32) {
+        bucket_shift = 16;
+    } else {
+        bucket_shift = 20;
+    }
 
     if (geteuid() == 0) {
         rlimit_as.rlim_cur = RLIM_INFINITY;
@@ -146,7 +154,9 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
         }
     }
 
-    mapcache = xen_map_cache_init_single(f, opaque, max_mcache_size);
+    mapcache = xen_map_cache_init_single(f, opaque,
+                                         bucket_shift,
+                                         max_mcache_size);
     setrlimit(RLIMIT_AS, &rlimit_as);
 }
 
@@ -195,7 +205,7 @@ static void xen_remap_bucket(MapCache *mc,
     entry->valid_mapping = NULL;
 
     for (i = 0; i < nb_pfn; i++) {
-        pfns[i] = (address_index << (MCACHE_BUCKET_SHIFT-XC_PAGE_SHIFT)) + i;
+        pfns[i] = (address_index << (mc->bucket_shift - XC_PAGE_SHIFT)) + i;
     }
 
     /*
@@ -266,8 +276,8 @@ static uint8_t *xen_map_cache_unlocked(MapCache *mc,
     bool dummy = false;
 
 tryagain:
-    address_index  = phys_addr >> MCACHE_BUCKET_SHIFT;
-    address_offset = phys_addr & (MCACHE_BUCKET_SIZE - 1);
+    address_index  = phys_addr >> mc->bucket_shift;
+    address_offset = phys_addr & (mc->bucket_size - 1);
 
     trace_xen_map_cache(phys_addr);
 
@@ -294,14 +304,14 @@ tryagain:
         return mc->last_entry->vaddr_base + address_offset;
     }
 
-    /* size is always a multiple of MCACHE_BUCKET_SIZE */
+    /* size is always a multiple of mc->bucket_size */
     if (size) {
         cache_size = size + address_offset;
-        if (cache_size % MCACHE_BUCKET_SIZE) {
-            cache_size += MCACHE_BUCKET_SIZE - (cache_size % MCACHE_BUCKET_SIZE);
+        if (cache_size % mc->bucket_size) {
+            cache_size += mc->bucket_size - (cache_size % mc->bucket_size);
         }
     } else {
-        cache_size = MCACHE_BUCKET_SIZE;
+        cache_size = mc->bucket_size;
     }
 
     entry = &mc->entry[address_index % mc->nr_buckets];
@@ -419,7 +429,7 @@ static ram_addr_t xen_ram_addr_from_mapcache_single(MapCache *mc, void *ptr)
         trace_xen_ram_addr_from_mapcache_not_in_cache(ptr);
         raddr = RAM_ADDR_INVALID;
     } else {
-        raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) +
+        raddr = (reventry->paddr_index << mc->bucket_shift) +
              ((unsigned long) ptr - (unsigned long) entry->vaddr_base);
     }
     mapcache_unlock(mc);
@@ -582,8 +592,8 @@ static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
     hwaddr address_index, address_offset;
     hwaddr test_bit_size, cache_size = size;
 
-    address_index  = old_phys_addr >> MCACHE_BUCKET_SHIFT;
-    address_offset = old_phys_addr & (MCACHE_BUCKET_SIZE - 1);
+    address_index  = old_phys_addr >> mc->bucket_shift;
+    address_offset = old_phys_addr & (mc->bucket_size - 1);
 
     assert(size);
     /* test_bit_size is always a multiple of XC_PAGE_SIZE */
@@ -592,8 +602,8 @@ static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
         test_bit_size += XC_PAGE_SIZE - (test_bit_size % XC_PAGE_SIZE);
     }
     cache_size = size + address_offset;
-    if (cache_size % MCACHE_BUCKET_SIZE) {
-        cache_size += MCACHE_BUCKET_SIZE - (cache_size % MCACHE_BUCKET_SIZE);
+    if (cache_size % mc->bucket_size) {
+        cache_size += mc->bucket_size - (cache_size % mc->bucket_size);
     }
 
     entry = &mc->entry[address_index % mc->nr_buckets];
@@ -606,8 +616,8 @@ static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
         return NULL;
     }
 
-    address_index  = new_phys_addr >> MCACHE_BUCKET_SHIFT;
-    address_offset = new_phys_addr & (MCACHE_BUCKET_SIZE - 1);
+    address_index  = new_phys_addr >> mc->bucket_shift;
+    address_offset = new_phys_addr & (mc->bucket_size - 1);
 
     trace_xen_replace_cache_entry_dummy(old_phys_addr, new_phys_addr);
 
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715060.1116585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgc-0006TH-NR; Tue, 30 Apr 2024 16:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715060.1116585; Tue, 30 Apr 2024 16:50:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgc-0006Sw-IC; Tue, 30 Apr 2024 16:50:34 +0000
Received: by outflank-mailman (input) for mailman id 715060;
 Tue, 30 Apr 2024 16:50:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qga-0003oO-HV
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:32 +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 c1d82d28-0711-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:50:32 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-51e75e7a276so742549e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:32 -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
 f13-20020a056512360d00b0051ad4552454sm3943178lfs.148.2024.04.30.09.50.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09: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: c1d82d28-0711-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495831; x=1715100631; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yU40+YVWxkJADy+Z4l2CwzlxvDSuLGvZgzgju3wrOiw=;
        b=g1BNyP8zbtW4VjqKQWjhlbRFloMwYhZZpHk75tSbpABpR+XMihQ3sQHthIOThNUKj+
         Gzo/uaiBZDUe+r02UmqpIuqVb2QqrlhUMqU4W8SUNQc5KhPmBLasgbR3zsPe51/yfeJ9
         QI7g7gzNFb1QEgQWX1ZMzxDwX8gDlY6fooRlM/+2Kg71oS3pPUBfxcDqi4YSbyWAoEtO
         AS3NYzEV/VMDpDECgxEdofyVaQodeDDe96jmN6iZLVctSTGZMLEjtq03WoYDUFUZ90eD
         fcyJ2pR46p8KSOSi3B6vW2mZPBUl9OkcXzPKAQhMnmzZrAoP82SDjsAGgTnSjpdBkdne
         LWXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495831; x=1715100631;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yU40+YVWxkJADy+Z4l2CwzlxvDSuLGvZgzgju3wrOiw=;
        b=dLALQPZQF4kX99rZzH8O3QbMHHh6U40Qsvo7YUWUhEHYV8E0LmndIapwGh69VK2xax
         eT9dNYX3MtBR1YnI+p6BVvN/gMbjUZ/Yj0Pb03Q0gAPEfvMh/BKoqWPmYqaCOL+OFYIH
         wsy2CIoa/JQOq6OSt2SjGizk9m0npmKrKbtYwrCA90QHV+4iH3H4x5PjRG4u1PPbxL2O
         cwCZQf++7+QEKU9i3HiLoBYE3gjyZhwS2W6I2z8zZKIM61ahj/sKllXUgf5H+MZEJBWE
         RuAAockd7V3vCIrNsKNMOXWXHGADbnlhhEULI/0jJ14B+qGqVjJJcUdBGarfvFZZi/Ow
         okow==
X-Forwarded-Encrypted: i=1; AJvYcCW7OuotFrzUMEykrw9+1UskRhqn3qm4/yDNydvcWxbfwwn8j777dJPyP4sLENwG01R1IF7xCq2mjbtNiicDJRO4WS1V+9Ed4lHVLSpEjTA=
X-Gm-Message-State: AOJu0Yz+hpj5rD2CSdaql1kWYMB/dXLLieQm2d0wk/lKosKc+S6ShMd3
	moD/FKlan0k5WOcR7kPxGMYWTOq2CNJXobcO6THCk9IJ4Lrg83W5
X-Google-Smtp-Source: AGHT+IF7NEHMVH11qhcbPGrROL4h9vPrTZ7L+HcLgKWakMJjuqsmWO3glx5CsV2GXCvTV6HEwqtzvg==
X-Received: by 2002:ac2:4984:0:b0:51c:c1a3:a4f9 with SMTP id f4-20020ac24984000000b0051cc1a3a4f9mr13762lfl.64.1714495831228;
        Tue, 30 Apr 2024 09:50:31 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 12/17] xen: mapcache: Unmap first entries in buckets
Date: Tue, 30 Apr 2024 18:49:34 +0200
Message-Id: <20240430164939.925307-13-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

When invalidating memory ranges, if we happen to hit the first
entry in a bucket we were never unmapping it. This was harmless
for foreign mappings but now that we're looking to reuse the
mapcache for transient grant mappings, we must unmap entries
when invalidated.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 4f98d284dd..0365311788 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -486,18 +486,22 @@ static void xen_invalidate_map_cache_entry_unlocked(MapCache *mc,
         return;
     }
     entry->lock--;
-    if (entry->lock > 0 || pentry == NULL) {
+    if (entry->lock > 0) {
         return;
     }
 
-    pentry->next = entry->next;
     ram_block_notify_remove(entry->vaddr_base, entry->size, entry->size);
     if (munmap(entry->vaddr_base, entry->size) != 0) {
         perror("unmap fails");
         exit(-1);
     }
-    g_free(entry->valid_mapping);
-    g_free(entry);
+    if (pentry) {
+        pentry->next = entry->next;
+        g_free(entry->valid_mapping);
+        g_free(entry);
+    } else {
+        memset(entry, 0, sizeof *entry);
+    }
 }
 
 typedef struct XenMapCacheData {
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715061.1116595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgf-0006r2-3F; Tue, 30 Apr 2024 16:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715061.1116595; Tue, 30 Apr 2024 16:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qge-0006qR-Rt; Tue, 30 Apr 2024 16:50:36 +0000
Received: by outflank-mailman (input) for mailman id 715061;
 Tue, 30 Apr 2024 16:50:35 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgd-0003oL-4A
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:35 +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 c2bdc16b-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:33 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-51ca95db667so5702717e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:33 -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
 f15-20020a19380f000000b0051aaf26f4a0sm4359741lfa.101.2024.04.30.09.50.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09: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: c2bdc16b-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495833; x=1715100633; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DU0xtzI9Cm5N5WksUYgPVqXR4B2xCZmxh2qO529TbRk=;
        b=icEAr3fJlsY3SDSaakoAm+1KtPRerKSExKsinllkHYcrmX60zXseeGtyHOQLsP7Ejl
         aTEhSoBh+jff1fevOs6KiNB6/wCYCxtQxKez8s5RIDBFie3pYBLq2gWJIuH6NYW+YmE9
         mij1d5Lc/9zm5RDTrDXYfkzjUNW2Z32XN7S7Tfg5023pcF4hlevg9cBJyw/zzKJKZqPj
         +eRxaJCgsKtU/c/OyO39j9nTDOWvlwIZnPMW756jFpy8S3hsNNJLZtbOKgX2cPcuI2j1
         LhvrVvXiKcTmYGJPnOT+UHbPDUIUpTuhizS46k3lpJg4+BlSd4jhYIJ5fioMUTDxQH57
         hJZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495833; x=1715100633;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DU0xtzI9Cm5N5WksUYgPVqXR4B2xCZmxh2qO529TbRk=;
        b=PoQw33cqBMZ7y5V1QxJnSeA1BuT305q3oxde2Wu6CT/WcJY22y7EqxXZLItuqSnHnD
         0PKk1kQFRKba4Ed9YNx3k/AVwm6ZGVtXRVZUE+epZm4motNt0iGsStpM3R2+TnevOpBk
         pDvPpNHejG2XyFIN3pe0rDIIyJW5LO1aR85XkNNGgx+mgXxDKplv9DVL5w6v3OQvu63u
         GFW2WRTyCoh8lJ7A1WUuWxUwtCteFRR954Gl7zal2bznAM1dVY43ZV8N4Wh8e1o9px8I
         +zy+fGqow+UivgZ9ttloJwA8Dpxewj4tfxZ7KHxVYXwqM5wZCwKg5RypB6Jc8+RFpFVB
         4h3g==
X-Forwarded-Encrypted: i=1; AJvYcCWivmB0f4d4SFx7uBIkhF7rBXerWR5aDxd9AsB9520qecJ9QFYUTPP56rpYM5HlfJkw+DH1Ed3lmhFKs4nGIZMSICxivS6tCYM2spUMKig=
X-Gm-Message-State: AOJu0YyfsvJlD0/zMRB9tljvtvcSlAGUN5BSj8Tefpe7l0dWKgmd1C67
	ofnXQbbcPvMVKBybrdBTsMWDDJKPzg7rwIY82U3SUqZ7pd4Id04q
X-Google-Smtp-Source: AGHT+IH5mCn6s8y3JJfLC094G9xqUv22UPPMyi0CQHk4jd06RZgbi6+GzYUXShvTx3wLunuX1iTX8w==
X-Received: by 2002:ac2:4852:0:b0:515:a8c9:6e99 with SMTP id 18-20020ac24852000000b00515a8c96e99mr42447lfy.5.1714495833071;
        Tue, 30 Apr 2024 09:50:33 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 13/17] softmmu: Pass RAM MemoryRegion and is_write xen_map_cache()
Date: Tue, 30 Apr 2024 18:49:35 +0200
Message-Id: <20240430164939.925307-14-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Propagate MR and is_write to xen_map_cache().
This is in preparation for adding support for grant mappings.

No functional change.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c         | 10 ++++++----
 include/sysemu/xen-mapcache.h | 11 +++++++----
 system/physmem.c              | 31 +++++++++++++++++++++++--------
 3 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 0365311788..09b5f36d9c 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -264,7 +264,7 @@ static void xen_remap_bucket(MapCache *mc,
 
 static uint8_t *xen_map_cache_unlocked(MapCache *mc,
                                        hwaddr phys_addr, hwaddr size,
-                                       uint8_t lock, bool dma)
+                                       uint8_t lock, bool dma, bool is_write)
 {
     MapCacheEntry *entry, *pentry = NULL,
                   *free_entry = NULL, *free_pentry = NULL;
@@ -387,13 +387,15 @@ tryagain:
     return mc->last_entry->vaddr_base + address_offset;
 }
 
-uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
-                       uint8_t lock, bool dma)
+uint8_t *xen_map_cache(MemoryRegion *mr,
+                       hwaddr phys_addr, hwaddr size,
+                       uint8_t lock, bool dma,
+                       bool is_write)
 {
     uint8_t *p;
 
     mapcache_lock(mapcache);
-    p = xen_map_cache_unlocked(mapcache, phys_addr, size, lock, dma);
+    p = xen_map_cache_unlocked(mapcache, phys_addr, size, lock, dma, is_write);
     mapcache_unlock(mapcache);
     return p;
 }
diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h
index 10c2e3082a..1ec9e66752 100644
--- a/include/sysemu/xen-mapcache.h
+++ b/include/sysemu/xen-mapcache.h
@@ -18,8 +18,9 @@ typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
 
 void xen_map_cache_init(phys_offset_to_gaddr_t f,
                         void *opaque);
-uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
-                       uint8_t lock, bool dma);
+uint8_t *xen_map_cache(MemoryRegion *mr, hwaddr phys_addr, hwaddr size,
+                       uint8_t lock, bool dma,
+                       bool is_write);
 ram_addr_t xen_ram_addr_from_mapcache(void *ptr);
 void xen_invalidate_map_cache_entry(uint8_t *buffer);
 void xen_invalidate_map_cache(void);
@@ -33,10 +34,12 @@ static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
 {
 }
 
-static inline uint8_t *xen_map_cache(hwaddr phys_addr,
+static inline uint8_t *xen_map_cache(MemoryRegion *mr,
+                                     hwaddr phys_addr,
                                      hwaddr size,
                                      uint8_t lock,
-                                     bool dma)
+                                     bool dma,
+                                     bool is_write)
 {
     abort();
 }
diff --git a/system/physmem.c b/system/physmem.c
index f114b972a5..ad7a8c7d95 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -2190,11 +2190,22 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length)
 
 /*
  * Return a host pointer to guest's ram.
+ * For Xen, foreign mappings get created if they don't already exist.
+ *
+ * @block: block for the RAM to lookup (optional and may be NULL).
+ * @addr: address within the memory region.
+ * @size: pointer to requested size (optional and may be NULL).
+ *        size may get modified and return a value smaller than
+ *        what was requested.
+ * @lock: wether to lock the mapping in xen-mapcache until invalidated.
+ * @is_write: hint wether to map RW or RO in the xen-mapcache.
+ *            (optional and may always be set to true).
  *
  * Called within RCU critical section.
  */
 static void *qemu_ram_ptr_length(RAMBlock *block, ram_addr_t addr,
-                                 hwaddr *size, bool lock)
+                                 hwaddr *size, bool lock,
+                                 bool is_write)
 {
     hwaddr len = 0;
 
@@ -2217,10 +2228,13 @@ static void *qemu_ram_ptr_length(RAMBlock *block, ram_addr_t addr,
          * In that case just map the requested area.
          */
         if (block->offset == 0) {
-            return xen_map_cache(addr, len, lock, lock);
+            return xen_map_cache(block->mr, addr, len, lock, lock,
+                                 is_write);
         }
 
-        block->host = xen_map_cache(block->offset, block->max_length, 1, lock);
+        block->host = xen_map_cache(block->mr, block->offset,
+                                    block->max_length, 1,
+                                    lock, is_write);
     }
 
     return ramblock_ptr(block, addr);
@@ -2236,7 +2250,7 @@ static void *qemu_ram_ptr_length(RAMBlock *block, ram_addr_t addr,
  */
 void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr)
 {
-    return qemu_ram_ptr_length(ram_block, addr, NULL, false);
+    return qemu_ram_ptr_length(ram_block, addr, NULL, false, true);
 }
 
 /* Return the offset of a hostpointer within a ramblock */
@@ -2746,7 +2760,7 @@ static MemTxResult flatview_write_continue_step(MemTxAttrs attrs,
     } else {
         /* RAM case */
         uint8_t *ram_ptr = qemu_ram_ptr_length(mr->ram_block, mr_addr, l,
-                                               false);
+                                               false, true);
 
         memmove(ram_ptr, buf, *l);
         invalidate_and_set_dirty(mr, mr_addr, *l);
@@ -2839,7 +2853,7 @@ static MemTxResult flatview_read_continue_step(MemTxAttrs attrs, uint8_t *buf,
     } else {
         /* RAM case */
         uint8_t *ram_ptr = qemu_ram_ptr_length(mr->ram_block, mr_addr, l,
-                                               false);
+                                               false, false);
 
         memcpy(buf, ram_ptr, *l);
 
@@ -3233,7 +3247,7 @@ void *address_space_map(AddressSpace *as,
     *plen = flatview_extend_translation(fv, addr, len, mr, xlat,
                                         l, is_write, attrs);
     fuzz_dma_read_cb(addr, *plen, mr);
-    return qemu_ram_ptr_length(mr->ram_block, xlat, plen, true);
+    return qemu_ram_ptr_length(mr->ram_block, xlat, plen, true, is_write);
 }
 
 /* Unmaps a memory region previously mapped by address_space_map().
@@ -3329,7 +3343,8 @@ int64_t address_space_cache_init(MemoryRegionCache *cache,
         l = flatview_extend_translation(cache->fv, addr, len, mr,
                                         cache->xlat, l, is_write,
                                         MEMTXATTRS_UNSPECIFIED);
-        cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true);
+        cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true,
+                                         is_write);
     } else {
         cache->ptr = NULL;
     }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715062.1116603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgh-0007CE-06; Tue, 30 Apr 2024 16:50:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715062.1116603; Tue, 30 Apr 2024 16: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 1s1qgg-0007B0-Nn; Tue, 30 Apr 2024 16:50:38 +0000
Received: by outflank-mailman (input) for mailman id 715062;
 Tue, 30 Apr 2024 16:50:37 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qge-0003oL-Ti
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:36 +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 c3d5505c-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:35 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2e0a2870bceso29624661fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:35 -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
 u2-20020a2e8442000000b002d8744903ebsm3873436ljh.68.2024.04.30.09.50.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3d5505c-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495835; x=1715100635; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+Sw3MC4uOQJ6IvvUC7PiIJPbknZwiSjSO/ejkDz0sxs=;
        b=LybbEw0JirCXoCzReIPkFdeH6EfZywYm+TjP6g8JbBmpCJBXzJGZDGGqbEkIB5DNuZ
         vcS/rHlWlYCRwbVO2mgyxYgLkjSLMK/feIFWJIRFT3GNvgSLM2YMV6yUUuGQ8/Obby5y
         n2utJ432kJcxWSyARAhZG1I4/6YicaBH5WmYqz8WJZFaKJ/aNRfWPUzvEo1czzKkCGC3
         F3qMjnHCom4F41QiqUKHkHupgoCvzNlNBFMVCi1Ty6HSFtQvnvKBDI90XlNFWS4zUL74
         6sWtrDAf/TLw+ucnRAJF2XK2RO1R83qgDHh8liEPMMeeuhTON2XPhF3ObZX5xs9KSp2H
         FprA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495835; x=1715100635;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+Sw3MC4uOQJ6IvvUC7PiIJPbknZwiSjSO/ejkDz0sxs=;
        b=fCNgQThFMv4nr8xAaPv47NVeO6SxM+OEfQqVSJdbYVFotQS+egerZXKyRLpF1/4Xtl
         k6Q1wjRJDC3VIWkwUR9qNDWeJcBJ6oar6eMIu6LmHC21RKIPywYTHsOJ+3k3UIDaBme/
         zVmZpCxOYyUGZigO1ndSh/GqsfhGatHWdEmu86CR3kDP068/wLaa1N+ZztfIKwfYQDwK
         nlWWZ/QNrRTdmkDfjYPdfS+mVwdGkFUmZU1aOnh6eXlaTY+bW2fywixLRt+bZKZHgTUI
         WFqaQfVj9GI42Peo2RPp1MBaTxgKQah6T8G/5vEEKTJKViu3jGhKp6TYr8P80WfyxkWK
         N/vQ==
X-Forwarded-Encrypted: i=1; AJvYcCXTK0Ch2r6kYSAzppN5i/tv8A7Xa2UHuDJIWAGlTygUhXL5A/DR8rfQz/LS6Na87zz6f5qPBBlHa0FMT2U4vNlGoa3hmZ1eNM9Nf4Vv9I0=
X-Gm-Message-State: AOJu0YyCtt5d3rTx63TlbO0YMljBfnlXjHi/31/KRU7bjazDAkVzGcsc
	IbFKQUtr19S8bpyRGit0wQ+159C8q2E0fUvdqBak6mp4UyD9tWWktaN98fIa
X-Google-Smtp-Source: AGHT+IE03+GLFOiYCtv0tW5oxF/oyJb6HtkdKUGHKboh4aC+T/4yDlCy2Erx7BwyTDTkHUDhKykO+A==
X-Received: by 2002:a2e:968e:0:b0:2e0:e410:28d5 with SMTP id q14-20020a2e968e000000b002e0e41028d5mr195041lji.52.1714495834937;
        Tue, 30 Apr 2024 09:50:34 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 14/17] xen: Add xen_mr_is_memory()
Date: Tue, 30 Apr 2024 18:49:36 +0200
Message-Id: <20240430164939.925307-15-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add xen_mr_is_memory() to abstract away tests for the
xen_memory MR.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-hvm-common.c | 8 +++++++-
 include/sysemu/xen.h    | 8 ++++++++
 system/physmem.c        | 2 +-
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 1627da7398..0267b88d26 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -12,6 +12,12 @@
 
 MemoryRegion xen_memory;
 
+/* Check for xen memory.  */
+bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    return mr == &xen_memory;
+}
+
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
                    Error **errp)
 {
@@ -28,7 +34,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
         return;
     }
 
-    if (mr == &xen_memory) {
+    if (xen_mr_is_memory(mr)) {
         return;
     }
 
diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
index 754ec2e6cb..dc72f83bcb 100644
--- a/include/sysemu/xen.h
+++ b/include/sysemu/xen.h
@@ -34,6 +34,8 @@ void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
                    struct MemoryRegion *mr, Error **errp);
 
+bool xen_mr_is_memory(MemoryRegion *mr);
+
 #else /* !CONFIG_XEN_IS_POSSIBLE */
 
 #define xen_enabled() 0
@@ -47,6 +49,12 @@ static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
     g_assert_not_reached();
 }
 
+static inline bool xen_mr_is_memory(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+    return false;
+}
+
 #endif /* CONFIG_XEN_IS_POSSIBLE */
 
 #endif
diff --git a/system/physmem.c b/system/physmem.c
index ad7a8c7d95..1a5ffcba2a 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -2227,7 +2227,7 @@ static void *qemu_ram_ptr_length(RAMBlock *block, ram_addr_t addr,
          * because we don't want to map the entire memory in QEMU.
          * In that case just map the requested area.
          */
-        if (block->offset == 0) {
+        if (xen_mr_is_memory(block->mr)) {
             return xen_map_cache(block->mr, addr, len, lock, lock,
                                  is_write);
         }
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715063.1116614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgi-0007Y1-Io; Tue, 30 Apr 2024 16:50:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715063.1116614; Tue, 30 Apr 2024 16: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 1s1qgi-0007Wo-AG; Tue, 30 Apr 2024 16:50:40 +0000
Received: by outflank-mailman (input) for mailman id 715063;
 Tue, 30 Apr 2024 16:50:38 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgg-0003oL-JM
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:38 +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 c4c4c297-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:37 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-516d68d7a8bso5469247e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:37 -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
 v28-20020ac2593c000000b0051905a9c212sm4531378lfi.195.2024.04.30.09.50.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:50:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4c4c297-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495836; x=1715100636; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=x1O0c3lbCIPcVTDP2OG2o9vVTYuu5kyg6TUhLFf8SY0=;
        b=LMfGWXvxGMH/lkQExl6XjNof1EQ/88r/lQJJ9Uf8TX0QdRxbBdGMBftfuM3voPhI8D
         zlWFA0GCNQXx+6yWti9L+EXVU5Q12fIrl2gupYOyN3pUTN+rT+wLJGgZbRON+v850A7z
         aXZKYXJfWhGSzRN1O7Ef8SVqysUh5fvUe3Z3RsK+ajXhVKKEsiyIeY6Cz9swd8Zmcfr3
         9cASj3hl5ujIU9qbHee7E9/ZXQHHN3QRGF0fN1tXFIwqG6n+KYwfH53D1XDnvIuAMWo2
         YLhKeEWTupwNtW/W1eSBj+bxoviRt1XhLPs0b0uYk2q8IjmbCqFIjx6rXJ/DA6ixCEeb
         DnfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495836; x=1715100636;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=x1O0c3lbCIPcVTDP2OG2o9vVTYuu5kyg6TUhLFf8SY0=;
        b=fM/rsQ4jg/XMchvgm/RbAIlLpSfRLIdVMB1/dlSDv7kqInN/GtWggqwN/d5Wl4k2kM
         mEpXqCezoRX34P6JE7Ja7o1+06M65OZ+aJ2GrAXFZD/8AvBn2CPu75xE66TGDysDe326
         KfRwjl5aD1A3J4svcSFAEEax24nOEemPqeKpOy61rqkWzzZglpxtx3gVHZ+zXTq2R+md
         9xSfk6Etl6MiaCsjtdDQ8/P3PoTuZal0foI6W7XhvS8KPGp+YHcdHc5HDyCncrow3BGd
         JkptzmXmokpWxhRN3Y28dJhtuQHdoAPn/8OveVFnEphI3RC0KT+++06hq+2UNeFjfKxb
         VcjQ==
X-Forwarded-Encrypted: i=1; AJvYcCXppVESB1DGLCdCLO69BLl8U35b6xq8XiLLVvWmPDi+VOjmpO6rwOTj1fpWJrWpqsw8KlxHomJjrDemorlj/88wDwnZos9kQYqDTmXUOU8=
X-Gm-Message-State: AOJu0YzYkgy+kdYlYy//wLsPwEOKmaK1XAQNADwxTJd9M1fHG/JymO+t
	IRzDHiNGMwLl3RShQ9XbiKtaddpF2tGz5uEfSlHU826elTnMQ1V+
X-Google-Smtp-Source: AGHT+IEvjQlWDNSp7Iep3p7LGdRlo9ppcQEfRdIFgR8UUsJQ+BGno9B+qbCWNATble5SB4/21MS5zA==
X-Received: by 2002:a05:6512:21e:b0:51a:bd22:12a7 with SMTP id a30-20020a056512021e00b0051abd2212a7mr1077307lfo.26.1714495836367;
        Tue, 30 Apr 2024 09:50:36 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 15/17] xen: mapcache: Remove assumption of RAMBlock with 0 offset
Date: Tue, 30 Apr 2024 18:49:37 +0200
Message-Id: <20240430164939.925307-16-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

The current mapcache assumes that all memory is mapped
in a single RAM MR (the first one with offset 0). Remove
this assumption and propagate the offset to the mapcache
so it can do reverse mappings (from hostptr -> ram_addr).

This is in preparation for adding grant mappings.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-mapcache.c         | 25 ++++++++++++++++++-------
 include/sysemu/xen-mapcache.h |  2 ++
 system/physmem.c              |  8 ++++----
 3 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 09b5f36d9c..1b32d0c003 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -43,6 +43,9 @@ typedef struct MapCacheEntry {
 #define XEN_MAPCACHE_ENTRY_DUMMY (1 << 0)
     uint8_t flags;
     hwaddr size;
+
+    /* Keep ram_addr offset for reverse mappings (hostptr -> ram_addr).  */
+    ram_addr_t ram_offset;
     struct MapCacheEntry *next;
 } MapCacheEntry;
 
@@ -165,7 +168,8 @@ static void xen_remap_bucket(MapCache *mc,
                              void *vaddr,
                              hwaddr size,
                              hwaddr address_index,
-                             bool dummy)
+                             bool dummy,
+                             ram_addr_t ram_offset)
 {
     uint8_t *vaddr_base;
     xen_pfn_t *pfns;
@@ -244,6 +248,7 @@ static void xen_remap_bucket(MapCache *mc,
     entry->size = size;
     entry->valid_mapping = g_new0(unsigned long,
                                   BITS_TO_LONGS(size >> XC_PAGE_SHIFT));
+    entry->ram_offset = ram_offset;
 
     if (dummy) {
         entry->flags |= XEN_MAPCACHE_ENTRY_DUMMY;
@@ -264,6 +269,7 @@ static void xen_remap_bucket(MapCache *mc,
 
 static uint8_t *xen_map_cache_unlocked(MapCache *mc,
                                        hwaddr phys_addr, hwaddr size,
+                                       ram_addr_t ram_offset,
                                        uint8_t lock, bool dma, bool is_write)
 {
     MapCacheEntry *entry, *pentry = NULL,
@@ -335,14 +341,16 @@ tryagain:
     if (!entry) {
         entry = g_new0(MapCacheEntry, 1);
         pentry->next = entry;
-        xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy);
+        xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy,
+                         ram_offset);
     } else if (!entry->lock) {
         if (!entry->vaddr_base || entry->paddr_index != address_index ||
                 entry->size != cache_size ||
                 !test_bits(address_offset >> XC_PAGE_SHIFT,
                     test_bit_size >> XC_PAGE_SHIFT,
                     entry->valid_mapping)) {
-            xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy);
+            xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy,
+                             ram_offset);
         }
     }
 
@@ -389,13 +397,15 @@ tryagain:
 
 uint8_t *xen_map_cache(MemoryRegion *mr,
                        hwaddr phys_addr, hwaddr size,
+                       ram_addr_t ram_addr_offset,
                        uint8_t lock, bool dma,
                        bool is_write)
 {
     uint8_t *p;
 
     mapcache_lock(mapcache);
-    p = xen_map_cache_unlocked(mapcache, phys_addr, size, lock, dma, is_write);
+    p = xen_map_cache_unlocked(mapcache, phys_addr, size, ram_addr_offset,
+                               lock, dma, is_write);
     mapcache_unlock(mapcache);
     return p;
 }
@@ -432,7 +442,8 @@ static ram_addr_t xen_ram_addr_from_mapcache_single(MapCache *mc, void *ptr)
         raddr = RAM_ADDR_INVALID;
     } else {
         raddr = (reventry->paddr_index << mc->bucket_shift) +
-             ((unsigned long) ptr - (unsigned long) entry->vaddr_base);
+             ((unsigned long) ptr - (unsigned long) entry->vaddr_base) +
+             entry->ram_offset;
     }
     mapcache_unlock(mc);
     return raddr;
@@ -627,8 +638,8 @@ static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
 
     trace_xen_replace_cache_entry_dummy(old_phys_addr, new_phys_addr);
 
-    xen_remap_bucket(mapcache, entry, entry->vaddr_base,
-                     cache_size, address_index, false);
+    xen_remap_bucket(mc, entry, entry->vaddr_base,
+                     cache_size, address_index, false, entry->ram_offset);
     if (!test_bits(address_offset >> XC_PAGE_SHIFT,
                 test_bit_size >> XC_PAGE_SHIFT,
                 entry->valid_mapping)) {
diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h
index 1ec9e66752..b5e3ea1bc0 100644
--- a/include/sysemu/xen-mapcache.h
+++ b/include/sysemu/xen-mapcache.h
@@ -19,6 +19,7 @@ typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
 void xen_map_cache_init(phys_offset_to_gaddr_t f,
                         void *opaque);
 uint8_t *xen_map_cache(MemoryRegion *mr, hwaddr phys_addr, hwaddr size,
+                       ram_addr_t ram_addr_offset,
                        uint8_t lock, bool dma,
                        bool is_write);
 ram_addr_t xen_ram_addr_from_mapcache(void *ptr);
@@ -37,6 +38,7 @@ static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
 static inline uint8_t *xen_map_cache(MemoryRegion *mr,
                                      hwaddr phys_addr,
                                      hwaddr size,
+                                     ram_addr_t ram_addr_offset,
                                      uint8_t lock,
                                      bool dma,
                                      bool is_write)
diff --git a/system/physmem.c b/system/physmem.c
index 1a5ffcba2a..5b16eeccca 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -2228,13 +2228,13 @@ static void *qemu_ram_ptr_length(RAMBlock *block, ram_addr_t addr,
          * In that case just map the requested area.
          */
         if (xen_mr_is_memory(block->mr)) {
-            return xen_map_cache(block->mr, addr, len, lock, lock,
-                                 is_write);
+            return xen_map_cache(block->mr, addr, len, block->offset,
+                                 lock, lock, is_write);
         }
 
         block->host = xen_map_cache(block->mr, block->offset,
-                                    block->max_length, 1,
-                                    lock, is_write);
+                                    block->max_length, 0,
+                                    1, lock, is_write);
     }
 
     return ramblock_ptr(block, addr);
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:50:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:50:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715064.1116623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgk-0007sb-22; Tue, 30 Apr 2024 16:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715064.1116623; Tue, 30 Apr 2024 16:50:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qgj-0007sK-Rk; Tue, 30 Apr 2024 16:50:41 +0000
Received: by outflank-mailman (input) for mailman id 715064;
 Tue, 30 Apr 2024 16:50:40 +0000
Received: from [94.247.172.50] (helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7/Z8=MD=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1s1qgi-0003oL-CD
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:50:40 +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 c5b60bf3-0711-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:50:38 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-516d3a470d5so7412437e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:50:38 -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
 i18-20020ac25232000000b0051b4991557bsm3044590lfl.275.2024.04.30.09.50.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09: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: c5b60bf3-0711-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1714495838; x=1715100638; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vn3tcKqblBChMiw5dB8ShfVGNrZaPd3rYTApf1hrAiw=;
        b=N5h5g70aqBgWKz4Hmt7M/opgKLkbSHwPm7ElDn41hvoHkYob1tkmbQjoGQCM43hoIf
         Dwn2x6nnn2qXqmW3ryaLC+nqGBmXCCDBKzWjMacHCbjrZ3Lun8eNuGfY3kVfHxVkEKQT
         kPw7gDWPi0TD6gHAWWUs0tyTXBZGcRrLnzQVxvAscKdhI7/TIbLY/fCF1iDKW2g0tnD+
         IyZ10eIZHVCwT6563HcekPa3quHJDoBlNLiLPW8FcNi/zVJyqWztpaaUJcBMoMKa2uRo
         Wfi5FAIPs2d3lI+oAFXup1jafobxVfLt5K4V6rqkYaONCWsfDZ6u/KP/ogVk9kbrLYiL
         qAvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714495838; x=1715100638;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vn3tcKqblBChMiw5dB8ShfVGNrZaPd3rYTApf1hrAiw=;
        b=D27WMBHTjy4q3TB/n4WosluvrIe2rfUkj9pEabrk/8kQzEKxYt3/mPRttmEv2E86i2
         BAFmvlmybE9yDLfVDoSZD3bo6YElCPbLY9GIvTilhY3JdmNuv3+cBu/TH6g18BKn7g4U
         /eVRlkQlDObbh30zLGOfBL8ri7BpdOUvCMvbtc9ZsjUO6U4YXz7hkv16Em3ByCtRp5R6
         Ymrm35IjrIwkIQhW7BTaamzlG8zpEcCOcgJyozCuDT5pUTS+bh4XgvZ3RSsozYif8YuT
         bvwUvnqdea6cSrR76pSOZz9mjaIDW/99DkDavghjffZ+UWAdh9OVDBltvBgcGgP3c+3O
         H+ww==
X-Forwarded-Encrypted: i=1; AJvYcCV0lW8UFz8ULHUIWrWehD2A0kJpD2GjfjhgSnOnQhFJv/bDolgc7BBn0T1MltyHj+B8haqwwQxN9IrmCtlGb6zS0IRNgcg3FZFnZ56cFlA=
X-Gm-Message-State: AOJu0YwmA4+wz7uqr915XXI1MJdkgJgI6wz8u7anD/BatM7vL8l440Eg
	XdKuHO8jg7gb1ooR1TL1rFfXuwuigKwzjsrC+2qyDz/mdE52vAGk
X-Google-Smtp-Source: AGHT+IH+N37LZPc4kKYgU8RKO/wgJWlfGkar8G/uX+MD1mhqCYFMpxecUBuATrsbvHxL9ZjSvBSY3g==
X-Received: by 2002:ac2:5edd:0:b0:51d:ed1:b44c with SMTP id d29-20020ac25edd000000b0051d0ed1b44cmr34799lfq.19.1714495837873;
        Tue, 30 Apr 2024 09:50:37 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: edgar.iglesias@gmail.com,
	sstabellini@kernel.org,
	jgross@suse.com,
	"Edgar E. Iglesias" <edgar.iglesias@amd.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 16/17] xen: mapcache: Add support for grant mappings
Date: Tue, 30 Apr 2024 18:49:38 +0200
Message-Id: <20240430164939.925307-17-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20240430164939.925307-1-edgar.iglesias@gmail.com>
References: <20240430164939.925307-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add a second mapcache for grant mappings. The mapcache for
grants needs to work with XC_PAGE_SIZE granularity since
we can't map larger ranges than what has been granted to us.

Like with foreign mappings (xen_memory), machines using grants
are expected to initialize the xen_grants MR and map it
into their address-map accordingly.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-hvm-common.c         |  12 ++-
 hw/xen/xen-mapcache.c           | 158 +++++++++++++++++++++++++-------
 include/hw/xen/xen-hvm-common.h |   3 +
 include/sysemu/xen.h            |   7 ++
 4 files changed, 145 insertions(+), 35 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 0267b88d26..fdec400491 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -10,12 +10,18 @@
 #include "hw/boards.h"
 #include "hw/xen/arch_hvm.h"
 
-MemoryRegion xen_memory;
+MemoryRegion xen_memory, xen_grants;
 
-/* Check for xen memory.  */
+/* Check for any kind of xen memory, foreign mappings or grants.  */
 bool xen_mr_is_memory(MemoryRegion *mr)
 {
-    return mr == &xen_memory;
+    return mr == &xen_memory || mr == &xen_grants;
+}
+
+/* Check specifically for grants.  */
+bool xen_mr_is_grants(MemoryRegion *mr)
+{
+    return mr == &xen_grants;
 }
 
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
index 1b32d0c003..96cd68e28d 100644
--- a/hw/xen/xen-mapcache.c
+++ b/hw/xen/xen-mapcache.c
@@ -14,6 +14,7 @@
 
 #include <sys/resource.h>
 
+#include "hw/xen/xen-hvm-common.h"
 #include "hw/xen/xen_native.h"
 #include "qemu/bitmap.h"
 
@@ -21,6 +22,8 @@
 #include "sysemu/xen-mapcache.h"
 #include "trace.h"
 
+#include <xenevtchn.h>
+#include <xengnttab.h>
 
 #if HOST_LONG_BITS == 32
 #  define MCACHE_MAX_SIZE     (1UL<<31) /* 2GB Cap */
@@ -41,6 +44,7 @@ typedef struct MapCacheEntry {
     unsigned long *valid_mapping;
     uint32_t lock;
 #define XEN_MAPCACHE_ENTRY_DUMMY (1 << 0)
+#define XEN_MAPCACHE_ENTRY_GRANT (1 << 1)
     uint8_t flags;
     hwaddr size;
 
@@ -74,6 +78,8 @@ typedef struct MapCache {
 } MapCache;
 
 static MapCache *mapcache;
+static MapCache *mapcache_grants;
+static xengnttab_handle *xen_region_gnttabdev;
 
 static inline void mapcache_lock(MapCache *mc)
 {
@@ -132,6 +138,12 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
     unsigned long max_mcache_size;
     unsigned int bucket_shift;
 
+    xen_region_gnttabdev = xengnttab_open(NULL, 0);
+    if (xen_region_gnttabdev == NULL) {
+        error_report("mapcache: Failed to open gnttab device");
+        exit(EXIT_FAILURE);
+    }
+
     if (HOST_LONG_BITS == 32) {
         bucket_shift = 16;
     } else {
@@ -160,6 +172,15 @@ void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)
     mapcache = xen_map_cache_init_single(f, opaque,
                                          bucket_shift,
                                          max_mcache_size);
+
+    /*
+     * Grant mappings must use XC_PAGE_SIZE granularity since we can't
+     * map anything beyond the number of pages granted to us.
+     */
+    mapcache_grants = xen_map_cache_init_single(f, opaque,
+                                                XC_PAGE_SHIFT,
+                                                max_mcache_size);
+
     setrlimit(RLIMIT_AS, &rlimit_as);
 }
 
@@ -169,17 +190,25 @@ static void xen_remap_bucket(MapCache *mc,
                              hwaddr size,
                              hwaddr address_index,
                              bool dummy,
+                             bool grant,
+                             bool grant_is_write,
+                             hwaddr grant_ref,
                              ram_addr_t ram_offset)
 {
     uint8_t *vaddr_base;
-    xen_pfn_t *pfns;
+    uint32_t *refs = NULL;
+    xen_pfn_t *pfns = NULL;
     int *err;
     unsigned int i;
     hwaddr nb_pfn = size >> XC_PAGE_SHIFT;
 
     trace_xen_remap_bucket(address_index);
 
-    pfns = g_new0(xen_pfn_t, nb_pfn);
+    if (grant) {
+        refs = g_new0(uint32_t, nb_pfn);
+    } else {
+        pfns = g_new0(xen_pfn_t, nb_pfn);
+    }
     err = g_new0(int, nb_pfn);
 
     if (entry->vaddr_base != NULL) {
@@ -208,21 +237,45 @@ static void xen_remap_bucket(MapCache *mc,
     g_free(entry->valid_mapping);
     entry->valid_mapping = NULL;
 
-    for (i = 0; i < nb_pfn; i++) {
-        pfns[i] = (address_index << (mc->bucket_shift - XC_PAGE_SHIFT)) + i;
+    if (grant) {
+        for (i = 0; i < nb_pfn; i++) {
+            refs[i] = grant_ref + i;
+        }
+    } else {
+        for (i = 0; i < nb_pfn; i++) {
+            pfns[i] = (address_index << (mc->bucket_shift - XC_PAGE_SHIFT)) + i;
+        }
     }
 
-    /*
-     * If the caller has requested the mapping at a specific address use
-     * MAP_FIXED to make sure it's honored.
-     */
+    entry->flags &= ~XEN_MAPCACHE_ENTRY_GRANT;
+
     if (!dummy) {
-        vaddr_base = xenforeignmemory_map2(xen_fmem, xen_domid, vaddr,
-                                           PROT_READ | PROT_WRITE,
-                                           vaddr ? MAP_FIXED : 0,
-                                           nb_pfn, pfns, err);
+        if (grant) {
+            int prot = PROT_READ;
+
+            if (grant_is_write) {
+                prot |= PROT_WRITE;
+            }
+
+            entry->flags |= XEN_MAPCACHE_ENTRY_GRANT;
+            assert(vaddr == NULL);
+            vaddr_base = xengnttab_map_domain_grant_refs(xen_region_gnttabdev,
+                                                         nb_pfn,
+                                                         xen_domid, refs,
+                                                         prot);
+        } else {
+            /*
+             * If the caller has requested the mapping at a specific address use
+             * MAP_FIXED to make sure it's honored.
+             */
+            vaddr_base = xenforeignmemory_map2(xen_fmem, xen_domid, vaddr,
+                                               PROT_READ | PROT_WRITE,
+                                               vaddr ? MAP_FIXED : 0,
+                                               nb_pfn, pfns, err);
+        }
         if (vaddr_base == NULL) {
-            perror("xenforeignmemory_map2");
+            perror(grant ? "xengnttab_map_domain_grant_refs"
+                           : "xenforeignmemory_map2");
             exit(-1);
         }
     } else {
@@ -263,6 +316,7 @@ static void xen_remap_bucket(MapCache *mc,
         }
     }
 
+    g_free(refs);
     g_free(pfns);
     g_free(err);
 }
@@ -270,10 +324,12 @@ static void xen_remap_bucket(MapCache *mc,
 static uint8_t *xen_map_cache_unlocked(MapCache *mc,
                                        hwaddr phys_addr, hwaddr size,
                                        ram_addr_t ram_offset,
-                                       uint8_t lock, bool dma, bool is_write)
+                                       uint8_t lock, bool dma,
+                                       bool grant, bool is_write)
 {
     MapCacheEntry *entry, *pentry = NULL,
                   *free_entry = NULL, *free_pentry = NULL;
+    hwaddr grant_ref = phys_addr >> XC_PAGE_SHIFT;
     hwaddr address_index;
     hwaddr address_offset;
     hwaddr cache_size = size;
@@ -342,7 +398,7 @@ tryagain:
         entry = g_new0(MapCacheEntry, 1);
         pentry->next = entry;
         xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy,
-                         ram_offset);
+                         grant, is_write, grant_ref, ram_offset);
     } else if (!entry->lock) {
         if (!entry->vaddr_base || entry->paddr_index != address_index ||
                 entry->size != cache_size ||
@@ -350,7 +406,7 @@ tryagain:
                     test_bit_size >> XC_PAGE_SHIFT,
                     entry->valid_mapping)) {
             xen_remap_bucket(mc, entry, NULL, cache_size, address_index, dummy,
-                             ram_offset);
+                             grant, is_write, grant_ref, ram_offset);
         }
     }
 
@@ -401,12 +457,28 @@ uint8_t *xen_map_cache(MemoryRegion *mr,
                        uint8_t lock, bool dma,
                        bool is_write)
 {
+    bool grant = xen_mr_is_grants(mr);
+    MapCache *mc = grant ? mapcache_grants : mapcache;
     uint8_t *p;
 
-    mapcache_lock(mapcache);
-    p = xen_map_cache_unlocked(mapcache, phys_addr, size, ram_addr_offset,
-                               lock, dma, is_write);
-    mapcache_unlock(mapcache);
+    if (grant) {
+        /*
+         * Grants are only supported via address_space_map(). Anything
+         * else is considered a user/guest error.
+         *
+         * QEMU generally doesn't expect these mappings to ever fail, so
+         * if this happens we report an error message and abort().
+         */
+        if (!lock) {
+            error_report("Trying access a grant reference without mapping it.");
+            abort();
+        }
+    }
+
+    mapcache_lock(mc);
+    p = xen_map_cache_unlocked(mc, phys_addr, size, ram_addr_offset,
+                               lock, dma, grant, is_write);
+    mapcache_unlock(mc);
     return p;
 }
 
@@ -451,7 +523,14 @@ static ram_addr_t xen_ram_addr_from_mapcache_single(MapCache *mc, void *ptr)
 
 ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
 {
-    return xen_ram_addr_from_mapcache_single(mapcache, ptr);
+    ram_addr_t addr;
+
+    addr = xen_ram_addr_from_mapcache_single(mapcache, ptr);
+    if (addr == RAM_ADDR_INVALID) {
+        addr = xen_ram_addr_from_mapcache_single(mapcache_grants, ptr);
+    }
+
+    return addr;
 }
 
 static void xen_invalidate_map_cache_entry_unlocked(MapCache *mc,
@@ -504,9 +583,14 @@ static void xen_invalidate_map_cache_entry_unlocked(MapCache *mc,
     }
 
     ram_block_notify_remove(entry->vaddr_base, entry->size, entry->size);
-    if (munmap(entry->vaddr_base, entry->size) != 0) {
-        perror("unmap fails");
-        exit(-1);
+    if (entry->flags & XEN_MAPCACHE_ENTRY_GRANT) {
+        xengnttab_unmap(xen_region_gnttabdev, entry->vaddr_base,
+                    (entry->size + mc->bucket_size - 1) >> mc->bucket_shift);
+    } else {
+        if (munmap(entry->vaddr_base, entry->size) != 0) {
+            perror("unmap fails");
+            exit(-1);
+        }
     }
     if (pentry) {
         pentry->next = entry->next;
@@ -522,14 +606,24 @@ typedef struct XenMapCacheData {
     uint8_t *buffer;
 } XenMapCacheData;
 
+static void xen_invalidate_map_cache_entry_single(MapCache *mc, uint8_t *buffer)
+{
+    mapcache_lock(mc);
+    xen_invalidate_map_cache_entry_unlocked(mc, buffer);
+    mapcache_unlock(mc);
+}
+
+static void xen_invalidate_map_cache_entry_all(uint8_t *buffer)
+{
+    xen_invalidate_map_cache_entry_single(mapcache, buffer);
+    xen_invalidate_map_cache_entry_single(mapcache_grants, buffer);
+}
+
 static void xen_invalidate_map_cache_entry_bh(void *opaque)
 {
     XenMapCacheData *data = opaque;
 
-    mapcache_lock(mapcache);
-    xen_invalidate_map_cache_entry_unlocked(mapcache, data->buffer);
-    mapcache_unlock(mapcache);
-
+    xen_invalidate_map_cache_entry_all(data->buffer);
     aio_co_wake(data->co);
 }
 
@@ -544,9 +638,7 @@ void coroutine_mixed_fn xen_invalidate_map_cache_entry(uint8_t *buffer)
                                 xen_invalidate_map_cache_entry_bh, &data);
         qemu_coroutine_yield();
     } else {
-        mapcache_lock(mapcache);
-        xen_invalidate_map_cache_entry_unlocked(mapcache, buffer);
-        mapcache_unlock(mapcache);
+        xen_invalidate_map_cache_entry_all(buffer);
     }
 }
 
@@ -598,6 +690,7 @@ void xen_invalidate_map_cache(void)
     bdrv_drain_all();
 
     xen_invalidate_map_cache_single(mapcache);
+    xen_invalidate_map_cache_single(mapcache_grants);
 }
 
 static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
@@ -639,7 +732,8 @@ static uint8_t *xen_replace_cache_entry_unlocked(MapCache *mc,
     trace_xen_replace_cache_entry_dummy(old_phys_addr, new_phys_addr);
 
     xen_remap_bucket(mc, entry, entry->vaddr_base,
-                     cache_size, address_index, false, entry->ram_offset);
+                     cache_size, address_index, false,
+                     false, false, 0, entry->ram_offset);
     if (!test_bits(address_offset >> XC_PAGE_SHIFT,
                 test_bit_size >> XC_PAGE_SHIFT,
                 entry->valid_mapping)) {
diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 65a51aac2e..3d796235dc 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -16,6 +16,7 @@
 #include <xen/hvm/ioreq.h>
 
 extern MemoryRegion xen_memory;
+extern MemoryRegion xen_grants;
 extern MemoryListener xen_io_listener;
 extern DeviceListener xen_device_listener;
 
@@ -29,6 +30,8 @@ extern DeviceListener xen_device_listener;
     do { } while (0)
 #endif
 
+#define XEN_GRANT_ADDR_OFF (1ULL << 63)
+
 static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i)
 {
     return shared_page->vcpu_ioreq[i].vp_eport;
diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
index dc72f83bcb..19dccf4d71 100644
--- a/include/sysemu/xen.h
+++ b/include/sysemu/xen.h
@@ -35,6 +35,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
                    struct MemoryRegion *mr, Error **errp);
 
 bool xen_mr_is_memory(MemoryRegion *mr);
+bool xen_mr_is_grants(MemoryRegion *mr);
 
 #else /* !CONFIG_XEN_IS_POSSIBLE */
 
@@ -55,6 +56,12 @@ static inline bool xen_mr_is_memory(MemoryRegion *mr)
     return false;
 }
 
+static inline bool xen_mr_is_grants(MemoryRegion *mr)
+{
+    g_assert_not_reached();
+    return false;
+}
+
 #endif /* CONFIG_XEN_IS_POSSIBLE */
 
 #endif
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:54:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:54:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715115.1116634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qkl-0004z6-Vf; Tue, 30 Apr 2024 16:54:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715115.1116634; Tue, 30 Apr 2024 16: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 1s1qkl-0004yz-Sc; Tue, 30 Apr 2024 16:54:51 +0000
Received: by outflank-mailman (input) for mailman id 715115;
 Tue, 30 Apr 2024 16:54: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 1s1qkk-0004yp-Rv; Tue, 30 Apr 2024 16:54: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 1s1qkk-00052s-Pr; Tue, 30 Apr 2024 16:54: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 1s1qkk-0007QL-Bv; Tue, 30 Apr 2024 16:54:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1qkk-0002LJ-BW; Tue, 30 Apr 2024 16:54: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=/M91JtNH2JfFRoyCSGpb3UTjRo+8kEf0lgcDqL7ZX4Q=; b=3wKe1HkCz9FQYdbB/PJ9CsZ1Rg
	VivQ9uisZI/xbk6gaMqAXzfavPXceXKqqhOsLd0gz1wQJKGzYtj5qyb+ubpZE6L4ZShaz/UFDldBu
	9O6vY5NnCAVhSMDymniIi9NKKxBIy2a5s4AhoPkRugbbz/FJizjLsKhlKgmy+xRzgn+Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185880-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 185880: 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=9e30bd8f4a8cee83368276c5149c7e2304efe5a2
X-Osstest-Versions-That:
    xen=b819bd65f4fb25be582f66ba2e4134f61d86f459
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 16:54:50 +0000

flight 185880 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/185880/

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                  9e30bd8f4a8cee83368276c5149c7e2304efe5a2
baseline version:
 xen                  b819bd65f4fb25be582f66ba2e4134f61d86f459

Last test of basis   185875  2024-04-30 07:03:45 Z    0 days
Testing same since   185880  2024-04-30 14:03:49 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
   b819bd65f4..9e30bd8f4a  9e30bd8f4a8cee83368276c5149c7e2304efe5a2 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:59:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715127.1116644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qoj-0005aY-Fn; Tue, 30 Apr 2024 16:58:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715127.1116644; Tue, 30 Apr 2024 16:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qoj-0005aR-DF; Tue, 30 Apr 2024 16:58:57 +0000
Received: by outflank-mailman (input) for mailman id 715127;
 Tue, 30 Apr 2024 16:58: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=Ve62=MD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1qoj-0005YH-2O
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:58:57 +0000
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com
 [2607:f8b0:4864:20::72c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee33494b-0712-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 18:58:56 +0200 (CEST)
Received: by mail-qk1-x72c.google.com with SMTP id
 af79cd13be357-790c36dcee9so274621785a.2
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:58:56 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 o2-20020a0cecc2000000b006a0ddff6523sm786063qvq.1.2024.04.30.09.58.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:58: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: ee33494b-0712-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714496334; x=1715101134; 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=hNxGxkMD9CJp8RRAVTh+aAIRYT3AomZutj/6p3QfXPs=;
        b=kb/fz8l3q+8CcxX+P0df7mNwZEM7BUoLCr7TPFhOdCCf9oMNTjsEnyHSp2ZeyJsbHG
         MAlQgkStFQG2vIyNpDumEKhZFJQCrckiTS4rlqAf0eARry3cHn99eS7PMlz2dPWeDt1+
         z96qvoUG4ORYJ2WZ0MBsyRYrPGeIguARGOhxI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714496334; x=1715101134;
        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=hNxGxkMD9CJp8RRAVTh+aAIRYT3AomZutj/6p3QfXPs=;
        b=QJr2XW0fHzA/w4HcKFGabES/D4VnKYUHUp4siPxEGbU5IbQSf/t0TbnCc8jc4Cvs73
         o8/JOPCZ349vHvzsvBakzkyM5rJ4l3TEmm2W8EXRwomVC2dbN2sKxolf273zsEtLShYz
         qSbtpJ0IWFvPiwEwybwrZu4yFLStRCa0REHnBjGfHododQx+/yJRzXN+qihyGvQZK/rY
         aE/qQlkqEDpTafzo8Ah5amHPCCLIInPp/Hi0SUpv6KGNnI99Ig5iAHROXv6SrTotxql6
         /c+izprxdGdSU5kXN9Wh63eNVfhFgGmssztTGCJuAOGf5BbdT5O0e2CCN4Cd09bPcPXc
         cKAg==
X-Gm-Message-State: AOJu0Yy56gB8nupf3tJ0J33bt7JWdf8RYZNvtbJhpAC0BRoM2c5Sdg7d
	bdB/W6vmCXA+Rk9ILz8bdQYQLILGaNOQg4omdAV7ARJHrRUfHs6O4iBsTNgOnNUdonZjtNoVnsD
	7
X-Google-Smtp-Source: AGHT+IGIEw5SaJlKnjse9LMPlVqJLSzEwi1GX59SBNFHCUwKSCPgohBf/Aa7moz39c88fYqz3XNEfQ==
X-Received: by 2002:ad4:40cd:0:b0:6a0:dda7:744f with SMTP id x13-20020ad440cd000000b006a0dda7744fmr2660422qvp.37.1714496334639;
        Tue, 30 Apr 2024 09:58:54 -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>,
	George Dunlap <george.dunlap@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH for-4.19? 0/2] xen/x86: support foreign mappings for HVM
Date: Tue, 30 Apr 2024 18:58:43 +0200
Message-ID: <20240430165845.81696-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The following series attempts to solve a shortcoming of HVM/PVH guests
with the lack of support for foreign mappings.  Such lack of support
prevents using PVH based guests as stubdomains for example.

Add support in a way similar to how it was done on Arm, by iterating
over the p2m based on the maximum gfn.

Mostly untested, sending early in case it could be considered for 4.19.

Thanks, Roger.

Roger Pau Monne (2):
  xen/x86: account for max guest gfn and number of foreign mappings in
    the p2m
  xen/x86: remove foreign mappings from the p2m on teardown

 CHANGELOG.md                   |  1 +
 xen/arch/x86/domain.c          |  6 +++
 xen/arch/x86/include/asm/p2m.h | 28 ++++++++++----
 xen/arch/x86/mm/p2m.c          | 70 ++++++++++++++++++++++++++++++++--
 4 files changed, 94 insertions(+), 11 deletions(-)

-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:59:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715128.1116656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qon-0005q3-PX; Tue, 30 Apr 2024 16:59:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715128.1116656; Tue, 30 Apr 2024 16:59:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qon-0005pw-Kg; Tue, 30 Apr 2024 16:59:01 +0000
Received: by outflank-mailman (input) for mailman id 715128;
 Tue, 30 Apr 2024 16:59:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ve62=MD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1qom-0005Xj-Jz
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:59:00 +0000
Received: from mail-qk1-x72a.google.com (mail-qk1-x72a.google.com
 [2607:f8b0:4864:20::72a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef9663b1-0712-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:58:58 +0200 (CEST)
Received: by mail-qk1-x72a.google.com with SMTP id
 af79cd13be357-78ecd752a7cso423523485a.0
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:58:58 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 sg18-20020a05620a935200b00790fedd9262sm1420114qkn.42.2024.04.30.09.58.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09:58: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: ef9663b1-0712-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714496337; x=1715101137; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3Kuc/dHNbs05v7aWRXT2GIYcN5J0aHj10Td0wtI6Les=;
        b=BEHmHmT3rngsjT83s2MXo/BeMwvPQroymTsD63uqp1BLtzE4oGgI+elFF9r3QlBMGL
         T7z5rcyaiCXQ3AEHrZM1OeV7SgvLXFVj7Mbavfss/7rTlzHYnz7YwZ5iIcRVwTKw/atH
         hio0IUsBF5Vg4IsNO6vHQtELrIaqPvys2tQZg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714496337; x=1715101137;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3Kuc/dHNbs05v7aWRXT2GIYcN5J0aHj10Td0wtI6Les=;
        b=eePGQ/rcyLAY8iFHlikxHPD/qxHHqGgPSa75M94xpDcjYj3wt2pQm1aCt0qUpXWUrm
         WGGTL3zz8zAbHlIsJAaI2/psiAP6x4bVNAkSMCUDvHUxHmleyQbbAFEyjReLwwScA7SR
         wAfHgK9og7gsPQvBWXxMrcr1AkaGgr+snP66Jzb7UwiBvDevkyYl+vEHd2Y18D5Fn09T
         DcAtY4e0zOjwVoYhWQLTGSWvST8pQPbTIu6Uo4PcReSwhOVOjm7fPWPzUdftZCF+ScVl
         o0Y3cceTPNI4k0Vkqv/1vS9gkrAuvP7PlZwE4Pz3v1Cg4vNR5QKVjqmJEXX09L7tVSaU
         n5PA==
X-Gm-Message-State: AOJu0YyAe6+mIOjGh8+Go4TpMBALZiXuMi00VmVkzPrBT6rT4IRanBAv
	118xzEJ5r1kHBohGQpMCFOTlbnYMWZKzQwv4yWvVxeN3p+MHH1LRJ1oHam/pRhZfeB1Llf2JZy7
	R
X-Google-Smtp-Source: AGHT+IEb4pX+qJH52aPh72xor/1XOHlskv5DRNPZx/MfY56V0w/5FhTDuS9JiMb24jlmU9vDCiAHhg==
X-Received: by 2002:a05:620a:5e48:b0:790:c81e:7840 with SMTP id ya8-20020a05620a5e4800b00790c81e7840mr10707432qkn.12.1714496336968;
        Tue, 30 Apr 2024 09:58:56 -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>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH for-4.19? 1/2] xen/x86: account for max guest gfn and number of foreign mappings in the p2m
Date: Tue, 30 Apr 2024 18:58:44 +0200
Message-ID: <20240430165845.81696-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240430165845.81696-1-roger.pau@citrix.com>
References: <20240430165845.81696-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Keep track of the maximum gfn that has ever been populated into the p2m, and
also account for the number of foreign mappings.  Such information will be
needed in order to remove foreign mappings during teardown for HVM guests.

Right now the introduced counters are not consumed.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/include/asm/p2m.h | 11 +++++++++++
 xen/arch/x86/mm/p2m.c          |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
index 111badf89a6e..d95341ef4242 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -380,6 +380,14 @@ struct p2m_domain {
         unsigned int flags;
         unsigned long entry_count;
     } ioreq;
+
+    /*
+     * Max gfn possibly mapped into the guest p2m.  Note max_gfn is not
+     * adjusted to account for removals from the p2m.
+     */
+    gfn_t              max_gfn;
+    /* Number of foreign mappings. */
+    unsigned long      nr_foreign;
 #endif /* CONFIG_HVM */
 };
 
@@ -1049,6 +1057,8 @@ static inline int p2m_entry_modify(struct p2m_domain *p2m, p2m_type_t nt,
         if ( !page_get_owner_and_reference(mfn_to_page(nfn)) )
             return -EBUSY;
 
+        p2m->nr_foreign++;
+
         break;
 
     default:
@@ -1069,6 +1079,7 @@ static inline int p2m_entry_modify(struct p2m_domain *p2m, p2m_type_t nt,
             return -EINVAL;
         }
         put_page(mfn_to_page(ofn));
+        p2m->nr_foreign--;
         break;
 
     default:
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index ce742c12e0de..05d8536adcd7 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -413,6 +413,8 @@ int p2m_set_entry(struct p2m_domain *p2m, gfn_t gfn, mfn_t mfn,
         set_rc = p2m->set_entry(p2m, gfn, mfn, order, p2mt, p2ma, -1);
         if ( set_rc )
             rc = set_rc;
+        else
+            p2m->max_gfn = gfn_max(gfn_add(gfn, 1u << order), p2m->max_gfn);
 
         gfn = gfn_add(gfn, 1UL << order);
         if ( !mfn_eq(mfn, INVALID_MFN) )
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 16:59:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 16:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715129.1116664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1qop-00066F-UD; Tue, 30 Apr 2024 16:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715129.1116664; Tue, 30 Apr 2024 16: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 1s1qop-000667-Rh; Tue, 30 Apr 2024 16:59:03 +0000
Received: by outflank-mailman (input) for mailman id 715129;
 Tue, 30 Apr 2024 16:59:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ve62=MD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1s1qoo-0005Xj-Mf
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 16:59:02 +0000
Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com
 [2607:f8b0:4864:20::f2f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0d61980-0712-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 18:59:01 +0200 (CEST)
Received: by mail-qv1-xf2f.google.com with SMTP id
 6a1803df08f44-6a0c8fb3540so108646d6.1
 for <xen-devel@lists.xenproject.org>; Tue, 30 Apr 2024 09:59:01 -0700 (PDT)
Received: from localhost ([213.195.114.223]) by smtp.gmail.com with ESMTPSA id
 t7-20020a056214154700b006a0d2a52017sm507692qvw.146.2024.04.30.09.58.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 Apr 2024 09: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: f0d61980-0712-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1714496339; x=1715101139; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nlkGJPlOCvm5A8j9uk3pxOJP2pbiQ5Ni0MtAwWQpoKg=;
        b=vQtC+lh78nZXSoKxoYu7t4brPeVaK7cOeUEZvMi6SlDrIX5CX7Z0hvTSJBpKUq9ClK
         QeyJSHRwmkegRH4FQAQdAh34ZerasCu9JWJQ85BtQyqNUrJTnG/Bk3oHmOOFShC/MDWL
         2Up5i+trtSc+vzdz18yu9/LOH1JyhjEq1U57U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1714496339; x=1715101139;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nlkGJPlOCvm5A8j9uk3pxOJP2pbiQ5Ni0MtAwWQpoKg=;
        b=GRXoTC+8sMrpl6gn6pfhFMkUx/r9A1k3jMrgvJ0KEsOawwkZwgANFaMFFerh4Y5mr4
         UP+vdKezo0ZzJYJ852WAWc5YlQzhFRWwbmcSaagDN0Zu3Mp0tKqMf/YjcCMCURPXmVFU
         1VfXN65/gqbSwefRrRXd6hwMsE075/5fZUNv9ME1YzB1CU9QTXtun0QGmQapXSFYtr0g
         lDSyiooTOOJOg999NR77Nc+NzEOT7PYcdvNbQiqnK8Qfx1anSijEz1scxTWpRdVnGfeo
         iybwa11d/+VtSeN7x8fuMzVFTcCRZJ8z2uGMKgajw35y102YHY1Yrxm2Wg8ncGUCPeCl
         rnPw==
X-Gm-Message-State: AOJu0YyhXekXEumzqiMzcMq7zFyPeKR/fggsQ/KIpvS+Y5FzJBkvJofQ
	alWqEgG2bwLkc7qOTYESt4w7YqzvOceH6+R4QLct9H4yZ7FeN7QZsyeWDh4IskZJVJrwZ2+wyKL
	L
X-Google-Smtp-Source: AGHT+IE7KqGFBYUX9ZPYWYnzz4myXyFu+S8SzOCPr4mHPh92LYx3apQjDVu3vBuW8d7AByh6AJLKsA==
X-Received: by 2002:a05:6214:202c:b0:6a0:a8f2:5f8e with SMTP id 12-20020a056214202c00b006a0a8f25f8emr706140qvf.1.1714496339437;
        Tue, 30 Apr 2024 09:58:59 -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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH for-4.19? 2/2] xen/x86: remove foreign mappings from the p2m on teardown
Date: Tue, 30 Apr 2024 18:58:45 +0200
Message-ID: <20240430165845.81696-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <20240430165845.81696-1-roger.pau@citrix.com>
References: <20240430165845.81696-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Iterate over the p2m based on the maximum recorded gfn and remove any foreign
mappings, in order to drop the underlying page references and thus don't keep
extra page references if a domain is destroyed while still having foreign
mappings on it's p2m.

The logic is similar to the one used on Arm.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I still have to test with destroying a guest that does have foreign mappings on
it's p2m.
---
 CHANGELOG.md                   |  1 +
 xen/arch/x86/domain.c          |  6 +++
 xen/arch/x86/include/asm/p2m.h | 17 +++++----
 xen/arch/x86/mm/p2m.c          | 68 ++++++++++++++++++++++++++++++++--
 4 files changed, 81 insertions(+), 11 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8041cfb7d243..09bdb9b97578 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - HVM PIRQs are disabled by default.
    - Reduce IOMMU setup time for hardware domain.
  - xl/libxl configures vkb=[] for HVM domains with priority over vkb_device.
+ - Allow HVM/PVH domains to map foreign pages.
 
 ### Added
  - On x86:
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 20e83cf38bbd..5aa2d3744e6b 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -2364,6 +2364,7 @@ int domain_relinquish_resources(struct domain *d)
         enum {
             PROG_iommu_pagetables = 1,
             PROG_shared,
+            PROG_mappings,
             PROG_paging,
             PROG_vcpu_pagetables,
             PROG_xen,
@@ -2412,6 +2413,11 @@ int domain_relinquish_resources(struct domain *d)
         }
 #endif
 
+    PROGRESS(mappings):
+        ret = relinquish_p2m_mapping(d);
+        if ( ret )
+            return ret;
+
     PROGRESS(paging):
 
         /* Tear down paging-assistance stuff. */
diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
index d95341ef4242..8b3e6a473a0c 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -402,13 +402,7 @@ struct p2m_domain {
 
 static inline bool arch_acquire_resource_check(struct domain *d)
 {
-    /*
-     * FIXME: Until foreign pages inserted into the P2M are properly
-     * reference counted, it is unsafe to allow mapping of
-     * resource pages unless the caller is the hardware domain
-     * (see set_foreign_p2m_entry()).
-     */
-    return !paging_mode_translate(d) || is_hardware_domain(d);
+    return true;
 }
 
 /*
@@ -725,6 +719,10 @@ p2m_pod_offline_or_broken_hit(struct page_info *p);
 void
 p2m_pod_offline_or_broken_replace(struct page_info *p);
 
+/* Perform cleanup of p2m mappings ahead of teardown. */
+int
+relinquish_p2m_mapping(struct domain *d);
+
 #else
 
 static inline bool
@@ -753,6 +751,11 @@ static inline void p2m_pod_offline_or_broken_replace(struct page_info *p)
     ASSERT_UNREACHABLE();
 }
 
+static inline int relinquish_p2m_mapping(struct domain *d)
+{
+    return 0;
+}
+
 #endif
 
 
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 05d8536adcd7..fac41e5ec808 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2335,10 +2335,6 @@ static int p2m_add_foreign(struct domain *tdom, unsigned long fgfn,
     int rc;
     struct domain *fdom;
 
-    /*
-     * hvm fixme: until support is added to p2m teardown code to cleanup any
-     * foreign entries, limit this to hardware domain only.
-     */
     if ( !arch_acquire_resource_check(tdom) )
         return -EPERM;
 
@@ -2695,6 +2691,70 @@ int p2m_set_altp2m_view_visibility(struct domain *d, unsigned int altp2m_idx,
     return rc;
 }
 
+/*
+ * Remove foreign mappings from the p2m, as that drops the page reference taken
+ * when mapped.
+ */
+int relinquish_p2m_mapping(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned long gfn = gfn_x(p2m->max_gfn);
+    int rc = 0;
+
+    if ( !paging_mode_translate(d) )
+        return 0;
+
+    BUG_ON(!d->is_dying);
+
+    p2m_lock(p2m);
+
+    /* Iterate over the whole p2m on debug builds to ensure correctness. */
+    while ( gfn && (IS_ENABLED(CONFIG_DEBUG) || p2m->nr_foreign) )
+    {
+        unsigned int order;
+        p2m_type_t t;
+        p2m_access_t a;
+
+        _get_gfn_type_access(p2m, _gfn(gfn - 1), &t, &a, 0, &order, 0);
+        ASSERT(IS_ALIGNED(gfn, 1u << order));
+        gfn -= 1 << order;
+
+        if ( t == p2m_map_foreign )
+        {
+            ASSERT(p2m->nr_foreign);
+            ASSERT(order == 0);
+            /*
+             * Foreign mappings can only be of order 0, hence there's no need
+             * to align the gfn to the entry order.  Otherwise we would need to
+             * adjust gfn to point to the start of the page if order > 0.
+             */
+            rc = p2m_set_entry(p2m, _gfn(gfn), INVALID_MFN, order, p2m_invalid,
+                               p2m->default_access);
+            if ( rc )
+            {
+                printk(XENLOG_ERR
+                       "%pd: failed to unmap foreign page %" PRI_gfn " order %u error %d\n",
+                       d, gfn, order, rc);
+                ASSERT_UNREACHABLE();
+                break;
+            }
+        }
+
+        if ( !(gfn & 0xfff) && hypercall_preempt_check() )
+        {
+            rc = -ERESTART;
+            break;
+        }
+    }
+
+    ASSERT(gfn || !p2m->nr_foreign);
+    p2m->max_gfn = _gfn(gfn);
+
+    p2m_unlock(p2m);
+
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.44.0



From xen-devel-bounces@lists.xenproject.org Tue Apr 30 17:34:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 17:34:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715154.1116685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1rMy-0006w8-Uu; Tue, 30 Apr 2024 17:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715154.1116685; Tue, 30 Apr 2024 17:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1rMy-0006vK-Qn; Tue, 30 Apr 2024 17:34:20 +0000
Received: by outflank-mailman (input) for mailman id 715154;
 Tue, 30 Apr 2024 17:34: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=DdMh=MD=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s1rMx-0006rz-58
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 17:34:19 +0000
Received: from wfhigh8-smtp.messagingengine.com
 (wfhigh8-smtp.messagingengine.com [64.147.123.159])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc1952e8-0717-11ef-909b-e314d9c70b13;
 Tue, 30 Apr 2024 19:34:16 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailfhigh.west.internal (Postfix) with ESMTP id 2A6BA1800131;
 Tue, 30 Apr 2024 13:34:11 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Tue, 30 Apr 2024 13:34:11 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 30 Apr 2024 13:34: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: dc1952e8-0717-11ef-909b-e314d9c70b13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714498450; x=1714584850; bh=nuTget59Mx
	Wc4IfoutnOU8Z20vpZN60QWE54LVhF6ms=; b=t4Ug7DTH9FfnRfuc/DODFmSS+l
	mD3jFWNfTrDtk7In2zJy+/OPeCt3KXtdl2nJV4pPZ2pvRXZrzLRMaQ4HSJh2nmh0
	V5gEtjUJIw9ZR7MvqvJgq4O+gGn7AcMRtE/Z1CXm3dUdod15IuAk59wpsntnewXt
	WTuR8l8zcOqHlNITJrI2WGfCL9LTNvJrfdZIXIotk+26lkHQJ1fwnUhSgllKhIQY
	WzAMxX0WVQx6yRos3yZfcn29od3bqXl2hh+aIr8v7tigAEI/8wfIAaXcwpQukTOK
	aR9Z3QgUv9XdkNhO7eVOd5bKqcf9rjUNAM35ioRx88Gnk345JrHRpZ2aXUpQ==
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=fm3; t=1714498450; x=
	1714584850; bh=nuTget59MxWc4IfoutnOU8Z20vpZN60QWE54LVhF6ms=; b=M
	a5VxVonW0Qm9fs0XA8C4EYYeA8DQOTjBKfXaGV/IyykiUtCZvtyM/uTomp4mv1fn
	dRdED+lgGT4CKODfGELmTYvp7vP6OTKsISeGWLdzSTEZO7wY3tUS3wsdAojn4SO2
	rbFknN3N+VsLGoW4xZ+csJs64Hm21a33zH94MPXbzfU7vahcAVrRjSE1iBEzTPiT
	CZ9/tvnSkkAJsp6ZU7j2SwY3/xC2nzylX1sEZdGPGGhVU/Qxf8UAXZXdgMDG+7VT
	eLeS0QMaUQbrJLxdg7fhC7q6D8fG0sWT0AX1lAy8PhmERJ+colLa7cCICJUEvNhO
	OS6YCyB70T/AkM8N25Qkw==
X-ME-Sender: <xms:kisxZh0Fo4lMf2nSVZu4SyOZzK5kxzdH4kL7NUyeoyW_z_QEKVRf3w>
    <xme:kisxZoFXszW32A-TTvRXzlkKiPhNl1JIWJlD_SAXzAF3l93G0wzyAnVx7IboPNH1Q
    SaacV4Rs8Fu6Q>
X-ME-Received: <xmr:kisxZh6ARn4DD695f7h_6_8F0pjACmIStS_M2ww1QwIZYOwK-Awkhu7Qvy0CoZGokGlr3zIG>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvddufedgudduvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfeuudehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghr
    vghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:kisxZu3sqn_kCe8IxidhA89Idnv0ff0ssnKP-hyd_Tf7SHZfsV_R2w>
    <xmx:kisxZkGTYxkpPG3HIUpIsg4xKpQrvThJLiq8_IfLB-VEPeFSYyHTSA>
    <xmx:kisxZv-0hOQmKdJXx-FMJwXnhHoWnVA5ASLPzuKTBB7f7KGfdqEm0w>
    <xmx:kisxZhm8z_a6Ti25Z7Dr_DceznWeqzME7RGli6flyZ_b-qySe4Wh0Q>
    <xmx:kisxZpNap_XR-F0uWa0HzYv_wpAK3Kh1uxNyGxxn6LOlhSlJkfvFeHtC>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: qemu-devel@nongnu.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org (open list:X86 Xen CPUs)
Subject: [PATCH v2 1/3] hw/xen/xen_pt: Save back data only for declared registers
Date: Tue, 30 Apr 2024 19:33:09 +0200
Message-ID: <3cc5a7d2e0338112fb87806c813627bdf5dbd2a5.1714498385.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.ea761e8c87cc41550b01d6fbc1cd1116af55e288.1714498385.git-series.marmarek@invisiblethingslab.com>
References: <cover.ea761e8c87cc41550b01d6fbc1cd1116af55e288.1714498385.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Call pci_default_write_config() in xen_pt_pci_write_config() only for
registers that have matching XenPTRegInfo structure, and do that only after
resolving any custom handlers. This is important for two reasons:
1. XenPTRegInfo has ro_mask which needs to be enforced - Xen-specific
   hooks do that on their own (especially xen_pt_*_reg_write()).
2. Not setting value early allows hooks to see the old value too.

If it would be only about the first point, setting PCIDevice.wmask would
probably be sufficient, but given the second point, restructure those
writes.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
v2:
 - rewrite commit message, previous one was very misleading
 - fix loop saving register values
 - fix int overflow when calculating write mask
---
 hw/xen/xen_pt.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 3635d1b..cea2e18 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -256,6 +256,7 @@ static void xen_pt_pci_write_config(PCIDevice *d, uint32_t addr,
     uint32_t find_addr = addr;
     XenPTRegInfo *reg = NULL;
     bool wp_flag = false;
+    uint32_t emul_mask = 0, write_val;
 
     if (xen_pt_pci_config_access_check(d, addr, len)) {
         return;
@@ -311,7 +312,6 @@ static void xen_pt_pci_write_config(PCIDevice *d, uint32_t addr,
     }
 
     memory_region_transaction_begin();
-    pci_default_write_config(d, addr, val, len);
 
     /* adjust the read and write value to appropriate CFC-CFF window */
     read_val <<= (addr & 3) << 3;
@@ -371,6 +371,9 @@ static void xen_pt_pci_write_config(PCIDevice *d, uint32_t addr,
                 return;
             }
 
+            emul_mask |= ((1L << (reg->size * 8)) - 1)
+                         << ((find_addr & 3) * 8);
+
             /* calculate next address to find */
             emul_len -= reg->size;
             if (emul_len > 0) {
@@ -397,6 +400,25 @@ static void xen_pt_pci_write_config(PCIDevice *d, uint32_t addr,
     /* need to shift back before passing them to xen_host_pci_set_block. */
     val >>= (addr & 3) << 3;
 
+    /* store emulated registers after calling their handlers */
+    write_val = val;
+    for (index = 0; index < len; index += emul_len) {
+        emul_len = 0;
+        while (emul_mask & 0xff) {
+            emul_len++;
+            emul_mask >>= 8;
+        }
+        if (emul_len) {
+            uint32_t mask = ((1L << (emul_len * 8)) - 1);
+            pci_default_write_config(d, addr + index, write_val & mask,
+                                     emul_len);
+        } else {
+            emul_mask >>= 8;
+            emul_len = 1;
+        }
+        write_val >>= emul_len * 8;
+    }
+
     memory_region_transaction_commit();
 
 out:
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 17:34:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 17:34:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715153.1116681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1rMy-0006sM-LY; Tue, 30 Apr 2024 17:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715153.1116681; Tue, 30 Apr 2024 17:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1rMy-0006sF-II; Tue, 30 Apr 2024 17:34:20 +0000
Received: by outflank-mailman (input) for mailman id 715153;
 Tue, 30 Apr 2024 17:34: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=DdMh=MD=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s1rMw-0006ry-Ih
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 17:34:18 +0000
Received: from wfout6-smtp.messagingengine.com
 (wfout6-smtp.messagingengine.com [64.147.123.149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd215911-0717-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 19:34:16 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailfout.west.internal (Postfix) with ESMTP id CD6471C0014B;
 Tue, 30 Apr 2024 13:34:13 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Tue, 30 Apr 2024 13:34:14 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 30 Apr 2024 13:34:12 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd215911-0717-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714498453; x=1714584853; bh=Qs8kJgBcfw
	yVOBoQxWcf1KBTRIcqfqizvEFlALXjf5I=; b=Tx91T/7M5pyjm1ZLOqRo/WBhz/
	WOyep28ohOqlogY8JT1Ju2Eax1bEUT/OUDTV6leXE8D2rVb4z36q8LnTCR5wyth3
	sj/6mfL7doX8+ddMC5JbSz29m8mWTtRQEpD3DGxSMnEgDkC3u6yPcOz32Kw2FWrx
	cnlZ9oCEGVDtlUJ2qEifigdNjmeO8vsVJ9t1wTAXJ3ZkLN7TOP6RRIAAkQrJWUWB
	fyDWl8X8+/AJj9USHZffUktTQ1YyIG0+/inCRn+pJEyACivmMIIP0kebtYjXBN+x
	re6AYGRgzQvNJUr+NmBQa4sTolMJzlj5tCGkfhdQsS9ogHckGvis/75NGxCw==
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=fm3; t=1714498453; x=
	1714584853; bh=Qs8kJgBcfwyVOBoQxWcf1KBTRIcqfqizvEFlALXjf5I=; b=Q
	kZMVqAMSDBz6UWOLheED3emtMNTFXIcBCufzKgTVtnb1gIKSkGkpKsMLsluVLgAK
	WKG+WMJ5vKGXiyXz21R8h4U04j7tf3HsnZkhtHOnK7OpMLFm/xtlJ86UuCXAn9Dm
	FAx68BR50OadJm3OPuBYujXyhNSpV/FTDhGOWQG+Tz2eROM62Ov3t6e6HZpIjkO3
	z47vgJ6q0Rk2XrGr4xpfqWFlU92nLcLc3zm3ydBy9myOAlm2fePZTY4tPd8sTzl9
	ggC8iahXP6rp4Ehc/tXZaBzczY/C1Nge2XyyUc7Ap9a8GX/cH4PI2EaBx/txi5JA
	fMiKS0TbFffkMQzVi+gbg==
X-ME-Sender: <xms:lSsxZufwQd_xOIe0hJNfrDtyljz7dOugVUqnXApB1Z5kwB0Oo3zJvQ>
    <xme:lSsxZoM4bfwY8HF4j3dKEUDUXdAzgp2nRB3_RJqPMN7r0hrKqnlUkbaEQSPWHwAbs
    DOdKtYhsW04_Q>
X-ME-Received: <xmr:lSsxZvgZa0U0DVGMmOobydQJCjltkJDXxcjeyp4ikUlArtKWGXizc4Oamm3Bewit-hRHCLle>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvddufedgudduvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfeuudehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghr
    vghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:lSsxZr9Kcg1hK15kbmicl32mi5K7a4azjLfIXuRhy6hvw3_UhfVq2A>
    <xmx:lSsxZqsxKS8onaQQg2I2TYRa7H6CBW9YxYnbxyBJMayU_p_fJk1ELg>
    <xmx:lSsxZiFktKsH7EX66ruzKThMjKGyRUAUgmsAwFmSCeWDbJia07QMDg>
    <xmx:lSsxZpPZzYyX-zvGbEsR-hymJNprUfLHvD90U2Gzqe4E6z9aXnHUqg>
    <xmx:lSsxZsXv-oqlURToAHcUq0XMFoYcpNgY5UBVsfOImIjkDti4ICEEXi2o>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: qemu-devel@nongnu.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org (open list:X86 Xen CPUs)
Subject: [PATCH v2 2/3] Update Xen's features.h header
Date: Tue, 30 Apr 2024 19:33:10 +0200
Message-ID: <bd499d1c412502afad60bff73a088b94a4ba43da.1714498385.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.ea761e8c87cc41550b01d6fbc1cd1116af55e288.1714498385.git-series.marmarek@invisiblethingslab.com>
References: <cover.ea761e8c87cc41550b01d6fbc1cd1116af55e288.1714498385.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Update it to get XENFEAT_dm_msix_all_writes for the next patch.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 include/hw/xen/interface/features.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/include/hw/xen/interface/features.h b/include/hw/xen/interface/features.h
index d2a9175..8801930 100644
--- a/include/hw/xen/interface/features.h
+++ b/include/hw/xen/interface/features.h
@@ -111,6 +111,23 @@
 #define XENFEAT_not_direct_mapped         16
 #define XENFEAT_direct_mapped             17
 
+/*
+ * Signal whether the domain is able to use the following hypercalls:
+ *
+ * VCPUOP_register_runstate_phys_area
+ * VCPUOP_register_vcpu_time_phys_area
+ */
+#define XENFEAT_runstate_phys_area        18
+#define XENFEAT_vcpu_time_phys_area       19
+
+/*
+ * If set, Xen will passthrough all MSI-X vector ctrl writes to device model,
+ * not only those unmasking an entry. This allows device model to properly keep
+ * track of the MSI-X table without having to read it from the device behind
+ * Xen's backs. This information is relevant only for device models.
+ */
+#define XENFEAT_dm_msix_all_writes        20
+
 #define XENFEAT_NR_SUBMAPS 1
 
 #endif /* __XEN_PUBLIC_FEATURES_H__ */
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 17:34:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 17:34:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715155.1116694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1rMz-00077T-DZ; Tue, 30 Apr 2024 17:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715155.1116694; Tue, 30 Apr 2024 17:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1rMz-00074y-7h; Tue, 30 Apr 2024 17:34:21 +0000
Received: by outflank-mailman (input) for mailman id 715155;
 Tue, 30 Apr 2024 17:34: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=DdMh=MD=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1s1rMy-0006ry-5t
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 17:34:20 +0000
Received: from wfout6-smtp.messagingengine.com
 (wfout6-smtp.messagingengine.com [64.147.123.149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dea81d35-0717-11ef-b4bb-af5377834399;
 Tue, 30 Apr 2024 19:34:18 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailfout.west.internal (Postfix) with ESMTP id 618C11C00194;
 Tue, 30 Apr 2024 13:34:16 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Tue, 30 Apr 2024 13:34:16 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 30 Apr 2024 13:34:14 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dea81d35-0717-11ef-b4bb-af5377834399
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:in-reply-to:message-id:mime-version:references:reply-to:subject
	:subject:to:to; s=fm3; t=1714498455; x=1714584855; bh=cI21Y0/d9U
	N+EtZKm1PiuxpPhL0dJGUf3Jiak+yaf+w=; b=4mUX2jId99dyBegeNN3WaFF94Z
	MTRq7+Tjqh+6Tpapp3wAsdLoadPqRi+PYkarkFhci9A46CeLUoTex45ubshubkOK
	r3Yqmi/7nbFG4KLc/DmA2GExp+y5j/mE6J1oTfMPh995G+RsnDbYHSdGWMsmxOYm
	LnkC7QBNglASynK+eyYkANqPT+RLSMynfUjVqc9Nr1DXeoGGeJQUqCK1fnCiqgxH
	OVi3Ce0PvyFA6JVJ8i47sjt2Ny4Ay6qu1rVnDRJlqqSxuV/x6ZomUoyftn3DUPZW
	Ma4+N0RXzv8w6bbzaFk4YLS8OeDxFOtVD0R9CKhtpqeKEvPl37ILNIVdQfxw==
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=fm3; t=1714498455; x=
	1714584855; bh=cI21Y0/d9UN+EtZKm1PiuxpPhL0dJGUf3Jiak+yaf+w=; b=V
	WE41IGJmX7U60sEoh77DQB4iVMzfr5WG5awmm3bWGDI4YNubsWK3UkF0O0oiHgxO
	XEEj6WwidnLNg090xxa5Ilz73qoA3iVrdIi+qCh7UC1F9Yhcual5gRzaX5CXAcVy
	g9iV2Da8+6q8bvNbDhjo6HAPfVtKAYxpeufc28UXFl4TtMI8Sgc5iptCFyG0Jgue
	yyIK5NwqwXF89PIgmOHuRFzIu/EjT/FhcQaWoh594U2T57K3FnR0L7APXt2EJopj
	43+qUhy3IKd1lj7IfevqphDcoOY+M4xuTqh4DvKakwKps7rQA4Y8nD7a7BeDY4E2
	6wjiSPH30uxUJShGh8nQg==
X-ME-Sender: <xms:lysxZtDU470guAexIlom9LhsQz4vbyrOjEdmxVQSmSimr4_o3FAWkg>
    <xme:lysxZriY6mKIqUAgSmmAQCiqjlY55vARn2wlASxwDYOIzGXBkaAcy9CMRorNgn674
    6yhhxJ1P7FHag>
X-ME-Received: <xmr:lysxZomuGDTa3jBSV6sRNP80ymKElGUUcQbY6QKyqgIR06Dx0ardHjgV1Ib96pYpmsk19jY1>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrvddufedguddufecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfeuudehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghr
    vghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:lysxZnzSgFQVe-JT6yiqnD8XAFDxg9V8lLjt36JexItyIulE8Kh5lA>
    <xmx:lysxZiTLiIZpafnLHCzW9H2SjPAiGpv26fBUAikNd0UnxDPUSS38JA>
    <xmx:lysxZqZy1yxaZPr1huwSs3nISVjnDhwfEG95kG40ofZZmqgcT1tKTA>
    <xmx:lysxZjSGYsBDkAg_zWA5RoiwuJrKTPD3GngfodKJJYcDA4IcUj41pA>
    <xmx:lysxZvJ6ZPyXN6OU17W0zx7ghwzs0F_fCzHd9tp6jDRgRXZ5gQBKZBVD>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: qemu-devel@nongnu.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org (open list:X86 Xen CPUs)
Subject: [PATCH v2 3/3] Do not access /dev/mem in MSI-X PCI passthrough on Xen
Date: Tue, 30 Apr 2024 19:33:11 +0200
Message-ID: <6ab3359790f4c325089a589809ebbf50ea07b31e.1714498385.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.44.0
In-Reply-To: <cover.ea761e8c87cc41550b01d6fbc1cd1116af55e288.1714498385.git-series.marmarek@invisiblethingslab.com>
References: <cover.ea761e8c87cc41550b01d6fbc1cd1116af55e288.1714498385.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The /dev/mem is used for two purposes:
 - reading PCI_MSIX_ENTRY_CTRL_MASKBIT
 - reading Pending Bit Array (PBA)

The first one was originally done because when Xen did not send all
vector ctrl writes to the device model, so QEMU might have outdated old
register value. If Xen is new enough, this has been changed, so QEMU can
now use its cached value of the register instead. Detect the "new
enough" based on XENFEAT_dm_msix_all_writes bit in XENVER_get_features.

The Pending Bit Array (PBA) handling is for the case where it lives on
the same page as the MSI-X table itself. Xen has been extended to handle
this case too (as well as other registers that may live on those pages),
so QEMU handling is not necessary anymore.

Additionally, reading from /dev/mem is trapped and emulated by Xen, so
QEMU doesn't see real values anyway. And if it did, this method is prone
to race conditions. Removing /dev/mem access is useful to work within
stubdomain (avoids emulated reads and potential races), and necessary
when dom0 kernel runs in lockdown mode (where /dev/mem is unavailable at
all).

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v2:
- Make change conditional on new Xen version (tested via
  XENFEAT_dm_msix_all_writes)
- add few comments
---
 hw/xen/xen_pt_msi.c | 94 ++++++++++++++++++++++++++++------------------
 1 file changed, 59 insertions(+), 35 deletions(-)

diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index 09cca4e..836cc9c 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -460,15 +460,23 @@ static void pci_msix_write(void *opaque, hwaddr addr,
         entry->updated = true;
     } else if (msix->enabled && entry->updated &&
                !(val & PCI_MSIX_ENTRY_CTRL_MASKBIT)) {
-        const volatile uint32_t *vec_ctrl;
-
         /*
-         * If Xen intercepts the mask bit access, entry->vec_ctrl may not be
-         * up-to-date. Read from hardware directly.
+         * Reading mask bit from hardware directly is needed on older Xen only.
          */
-        vec_ctrl = s->msix->phys_iomem_base + entry_nr * PCI_MSIX_ENTRY_SIZE
-            + PCI_MSIX_ENTRY_VECTOR_CTRL;
-        xen_pt_msix_update_one(s, entry_nr, *vec_ctrl);
+        if (s->msix->phys_iomem_base) {
+            /* Memory mapped registers */
+            const volatile uint32_t *vec_ctrl;
+
+            /*
+             * If Xen intercepts the mask bit access, entry->vec_ctrl may not be
+             * up-to-date. Read from hardware directly.
+             */
+            vec_ctrl = s->msix->phys_iomem_base + entry_nr * PCI_MSIX_ENTRY_SIZE
+                + PCI_MSIX_ENTRY_VECTOR_CTRL;
+            xen_pt_msix_update_one(s, entry_nr, *vec_ctrl);
+        } else {
+            xen_pt_msix_update_one(s, entry_nr, entry->latch(VECTOR_CTRL));
+        }
     }
 
     set_entry_value(entry, offset, val);
@@ -493,7 +501,12 @@ static uint64_t pci_msix_read(void *opaque, hwaddr addr,
         return get_entry_value(&msix->msix_entry[entry_nr], offset);
     } else {
         /* Pending Bit Array (PBA) */
-        return *(uint32_t *)(msix->phys_iomem_base + addr);
+        if (s->msix->phys_iomem_base) {
+            return *(uint32_t *)(msix->phys_iomem_base + addr);
+        }
+        XEN_PT_LOG(&s->dev, "reading PBA, addr 0x%lx, offset 0x%lx\n",
+                   addr, addr - msix->total_entries * PCI_MSIX_ENTRY_SIZE);
+        return 0xFFFFFFFF;
     }
 }
 
@@ -528,8 +541,8 @@ int xen_pt_msix_init(XenPCIPassthroughState *s, uint32_t base)
     uint32_t table_off = 0;
     int i, total_entries, bar_index;
     XenHostPCIDevice *hd = &s->real_device;
+    xen_feature_info_t xc_version_info = { 0 };
     PCIDevice *d = &s->dev;
-    int fd = -1;
     XenPTMSIX *msix = NULL;
     int rc = 0;
 
@@ -543,6 +556,10 @@ int xen_pt_msix_init(XenPCIPassthroughState *s, uint32_t base)
         return -1;
     }
 
+    if (xc_version(xen_xc, XENVER_get_features, &xc_version_info) < 0) {
+        return -1;
+    }
+
     rc = xen_host_pci_get_word(hd, base + PCI_MSIX_FLAGS, &control);
     if (rc) {
         XEN_PT_ERR(d, "Failed to read PCI_MSIX_FLAGS field\n");
@@ -576,33 +593,40 @@ int xen_pt_msix_init(XenPCIPassthroughState *s, uint32_t base)
     msix->table_base = s->real_device.io_regions[bar_index].base_addr;
     XEN_PT_LOG(d, "get MSI-X table BAR base 0x%"PRIx64"\n", msix->table_base);
 
-    fd = open("/dev/mem", O_RDWR);
-    if (fd == -1) {
-        rc = -errno;
-        XEN_PT_ERR(d, "Can't open /dev/mem: %s\n", strerror(errno));
-        goto error_out;
-    }
-    XEN_PT_LOG(d, "table_off = 0x%x, total_entries = %d\n",
-               table_off, total_entries);
-    msix->table_offset_adjust = table_off & 0x0fff;
-    msix->phys_iomem_base =
-        mmap(NULL,
-             total_entries * PCI_MSIX_ENTRY_SIZE + msix->table_offset_adjust,
-             PROT_READ,
-             MAP_SHARED | MAP_LOCKED,
-             fd,
-             msix->table_base + table_off - msix->table_offset_adjust);
-    close(fd);
-    if (msix->phys_iomem_base == MAP_FAILED) {
-        rc = -errno;
-        XEN_PT_ERR(d, "Can't map physical MSI-X table: %s\n", strerror(errno));
-        goto error_out;
-    }
-    msix->phys_iomem_base = (char *)msix->phys_iomem_base
-        + msix->table_offset_adjust;
+    /* Accessing /dev/mem is needed only on older Xen. */
+    if (!(xc_version_info.submap & (1U << XENFEAT_dm_msix_all_writes))) {
+        int fd = -1;
+
+        fd = open("/dev/mem", O_RDWR);
+        if (fd == -1) {
+            rc = -errno;
+            XEN_PT_ERR(d, "Can't open /dev/mem: %s\n", strerror(errno));
+            goto error_out;
+        }
+        XEN_PT_LOG(d, "table_off = 0x%x, total_entries = %d\n",
+                   table_off, total_entries);
+        msix->table_offset_adjust = table_off & 0x0fff;
+        msix->phys_iomem_base =
+            mmap(NULL,
+                 total_entries * PCI_MSIX_ENTRY_SIZE
+                 + msix->table_offset_adjust,
+                 PROT_READ,
+                 MAP_SHARED | MAP_LOCKED,
+                 fd,
+                 msix->table_base + table_off - msix->table_offset_adjust);
+        close(fd);
+        if (msix->phys_iomem_base == MAP_FAILED) {
+            rc = -errno;
+            XEN_PT_ERR(d, "Can't map physical MSI-X table: %s\n",
+                       strerror(errno));
+            goto error_out;
+        }
+        msix->phys_iomem_base = (char *)msix->phys_iomem_base
+            + msix->table_offset_adjust;
 
-    XEN_PT_LOG(d, "mapping physical MSI-X table to %p\n",
-               msix->phys_iomem_base);
+        XEN_PT_LOG(d, "mapping physical MSI-X table to %p\n",
+                   msix->phys_iomem_base);
+    }
 
     memory_region_add_subregion_overlap(&s->bar[bar_index], table_off,
                                         &msix->mmio,
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 20:14:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 20:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715189.1116711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1trL-0006q5-C5; Tue, 30 Apr 2024 20:13:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715189.1116711; Tue, 30 Apr 2024 20: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 1s1trL-0006py-8W; Tue, 30 Apr 2024 20:13:51 +0000
Received: by outflank-mailman (input) for mailman id 715189;
 Tue, 30 Apr 2024 20:13: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 1s1trJ-0006ps-P9
 for xen-devel@lists.xenproject.org; Tue, 30 Apr 2024 20:13: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 1s1trJ-0000WY-BB; Tue, 30 Apr 2024 20: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 1s1trJ-0000JT-3G; Tue, 30 Apr 2024 20:13:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=fOdTq18o0huWLXMl01Cb11wf/M2YiR/pEmEWLs+25H0=; b=eB1LA7Ukx6hH9+pax8XtJ0m6Fv
	G44L/SJKwj6pjSi48VV3DnxMLCQvlJiL31Kx2Ix7c4xIx9DUb3U7pKR3E4M2zB2GpcRj53m5i8+UO
	ZQdj+HAUTQV5N6fdGgX4u9qp/zlIMLPFZUtsuwyJMfraah6eiFo7qyW3fT5tPZ8gOpSs=;
Message-ID: <365e1b12-6b20-40ed-8ca9-beb643c907ab@xen.org>
Date: Tue, 30 Apr 2024 21:13:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/15] xen/arm/gic: Enable interrupt assignment to running
 VM
To: Henry Wang <xin.wang2@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>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <20240424033449.168398-1-xin.wang2@amd.com>
 <20240424033449.168398-3-xin.wang2@amd.com>
 <670d1033-2443-4245-8ff1-cb7099a7c793@xen.org>
 <70c5a593-9ac5-485b-be81-b789562249d8@amd.com>
 <5ba38b7b-16b1-489b-ad55-083504690bbd@xen.org>
 <1a29ae76-a902-4a24-8fd1-ac26ef228971@amd.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <1a29ae76-a902-4a24-8fd1-ac26ef228971@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 30/04/2024 04:50, Henry Wang wrote:
> On 4/25/2024 10:28 PM, Julien Grall wrote:
>>> Thanks for your feeedback. After checking the b8577547236f commit 
>>> message I think I now understand your point. Do you have any 
>>> suggestion about how can I properly add the support to route/remove 
>>> the IRQ to running domains? Thanks.
> 
> I spent some time going through the GIC/vGIC code and had some 
> discussions with Stefano and Stewart during the last couple of days, let 
> me see if I can describe the use case properly now to continue the 
> discussion:
> 
> We have some use cases that requires assigning devices to domains after 
> domain boot time. For example, suppose there is an FPGA on the board 
> which can simulate a device, and the bitstream for the FPGA is provided 
> and programmed after domain boot. So we need a way to assign the device 
> to the running domain. This series tries to implement this use case by 
> using device tree overlay - users can firstly add the overlay to Xen 
> dtb, assign the device in the overlay to a domain by the xl command, 
> then apply the overlay to Linux.

Thanks for the description! This helps to understand your goal :).

> 
>> I haven't really look at that code in quite a while. I think we need 
>> to make sure that the virtual and physical IRQ state matches at the 
>> time we do the routing.
>>
>> I am undecided on whether we want to simply prevent the action to 
>> happen or try to reset the state.
>>
>> There is also the question of what to do if the guest is enabling the 
>> vIRQ before it is routed.
> 
> Sorry for bothering, would you mind elaborating a bit more about the two 
> cases that you mentioned above? Commit b8577547236f ("xen/arm: Restrict 
> when a physical IRQ can be routed/removed from/to a domain") only said 
> there will be undesirable effects, so I am not sure if I understand the 
> concerns raised above and the consequences of these two use cases.

I will try to explain them below after I answer the rest.

> I am 
> probably wrong, I think when we add the overlay, we are probably fine as 
> the interrupt is not being used before. 

What if the DT overlay is unloaded and then reloaded? Wouldn't the same 
interrupt be re-used? As a more generic case, this could also be a new 
bitstream for the FPGA.

But even if the interrupt is brand new every time for the DT overlay, 
you are effectively relaxing the check for every user (such as 
XEN_DOMCTL_bind_pt_irq). So the interrupt re-use case needs to be taken 
into account.

> Also since we only load the 
> device driver after the IRQ is routed to the guest, 

This is what a well-behave guest will do. However, we need to think what 
will happen if a guest misbehaves. I am not concerned about a guest only 
impacting itself, I am more concerned about the case where the rest of 
the system is impacted.

> I am not sure the 
> guest can enable the vIRQ before it is routed.

Xen allows the guest to enable a vIRQ even if there is no pIRQ assigned. 
Thanksfully, it looks like the vgic_connect_hw_irq(), in both the 
current and new vGIC, will return an error if we are trying to route a 
pIRQ to an already enabled vIRQ.

But we need to investigate all the possible scenarios to make sure that 
any inconsistencies between the physical state and virtual state 
(including the LRs) will not result to bigger problem.

The one that comes to my mind is: The physical interrupt is de-assigned 
from the guest before it was EOIed. In this case, the interrupt will 
still be in the LR with the HW bit set. This would allow the guest to 
EOI the interrupt even if it is routed to someone else. It is unclear 
what would be the impact on the other guest.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 20:28:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 20:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715194.1116720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1u5c-0000l8-Hp; Tue, 30 Apr 2024 20:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715194.1116720; Tue, 30 Apr 2024 20: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 1s1u5c-0000l1-FF; Tue, 30 Apr 2024 20:28:36 +0000
Received: by outflank-mailman (input) for mailman id 715194;
 Tue, 30 Apr 2024 20:28: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 1s1u5a-0000kr-BY; Tue, 30 Apr 2024 20:28: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 1s1u5a-0000nI-8t; Tue, 30 Apr 2024 20:28: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 1s1u5Z-0004CH-Rx; Tue, 30 Apr 2024 20:28:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1u5Z-0000PN-RV; Tue, 30 Apr 2024 20:28:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=p4W6fmC4Wn1SW4O4w4QKGOsq1SjvTPs5Dg8ZSJTbnX0=; b=1u7/+F5USPNziiqBjUQyl2OWtv
	v1eOz2J6VADTZ1STIqvn91xqPTfLUZoM1jmMGT+HzXjWGNuw+bZ15HQ7enQh/1pr1LmkCBW0dDJZv
	fH5AVeklBIdguqjNMumrcYVe8yc5zVNOkOMfQdfXmqWmmBOFgblkIlq6n26l6VRrAgSc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185870-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 185870: tolerable FAIL - PUSHED
X-Osstest-Failures:
    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-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:xen-boot:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b947cc5bf6d793101135265352e205aeb30b54f0
X-Osstest-Versions-That:
    linux=e67572cd2204894179d89bd7b984072f19313b03
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 20:28:33 +0000

flight 185870 linux-linus real [real]
flight 185887 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185870/
http://logs.test-lab.xenproject.org/osstest/logs/185887/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-qcow2     8 xen-boot            fail pass in 185887-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-qcow2   14 migrate-support-check fail in 185887 never pass
 test-armhf-armhf-xl-qcow2 15 saverestore-support-check fail in 185887 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185862
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185862
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185862
 test-armhf-armhf-libvirt      8 xen-boot                     fail  like 185862
 test-armhf-armhf-xl-arndale   8 xen-boot                     fail  like 185862
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185862
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185862
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-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
 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                b947cc5bf6d793101135265352e205aeb30b54f0
baseline version:
 linux                e67572cd2204894179d89bd7b984072f19313b03

Last test of basis   185862  2024-04-29 05:18:20 Z    1 days
Testing same since   185870  2024-04-29 17:43:51 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Baokun Li <libaokun1@huawei.com>
  Christian Brauner <brauner@kernel.org>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Hongbo Li <lihongbo22@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Ильфат Гаптрахманов <i.gaptrakhmanov@rosalinux.ru>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 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                                  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                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-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
   e67572cd2204..b947cc5bf6d7  b947cc5bf6d793101135265352e205aeb30b54f0 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Apr 30 23:28:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 30 Apr 2024 23:28:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.715213.1116730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1wtC-0005rt-SZ; Tue, 30 Apr 2024 23:27:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 715213.1116730; Tue, 30 Apr 2024 23:27:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1s1wtC-0005rm-Pe; Tue, 30 Apr 2024 23:27:58 +0000
Received: by outflank-mailman (input) for mailman id 715213;
 Tue, 30 Apr 2024 23:27: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 1s1wtA-0005ra-VH; Tue, 30 Apr 2024 23:27: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 1s1wtA-0003ye-Pn; Tue, 30 Apr 2024 23:27: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 1s1wtA-00039R-Db; Tue, 30 Apr 2024 23:27:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1s1wtA-0001oh-Cu; Tue, 30 Apr 2024 23:27:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yYLd9R3xkmBk6RM5lFgdrQLpmYmol6OkUuENVfZ28DM=; b=GTFzBWbgmqi35br+v+ofwycXaQ
	J59fADxRNmjIHM4YiVMSYXDPEptqjzOHHYtVktj3IvTGcKEI3ThXke4PtxrZYwYeahQ0PqsECDOdw
	croylcYh+a7kQ5F39Xf4v7XjU4871ESTCmayIzbZLtvhHVWqAPPowdur2GCTnJz6n6DI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-185871-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 185871: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-6.1:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    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: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-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-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-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2: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-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-rtds: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-rtds: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-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw: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
X-Osstest-Versions-This:
    linux=dcbc050cb0d304c3427d6583384eebcaf0e3caee
X-Osstest-Versions-That:
    linux=6741e066ec7633450d3186946035c1f80c4226b8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 30 Apr 2024 23:27:56 +0000

flight 185871 linux-6.1 real [real]
flight 185889 linux-6.1 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/185871/
http://logs.test-lab.xenproject.org/osstest/logs/185889/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot            fail pass in 185889-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 185889 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 185889 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 185746
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 185746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 185746
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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          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-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-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-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-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

version targeted for testing:
 linux                dcbc050cb0d304c3427d6583384eebcaf0e3caee
baseline version:
 linux                6741e066ec7633450d3186946035c1f80c4226b8

Last test of basis   185746  2024-04-20 18:14:28 Z   10 days
Failing since        185832  2024-04-27 15:44:00 Z    3 days    6 attempts
Testing same since   185871  2024-04-29 20:44:32 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ai Chao <aichao@kylinos.cn>
  Alan Stern <stern@rowland.harvard.edu>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexey Izbyshev <izbyshev@ispras.ru>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andrew Morton <akpm@linux-foundation.org>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bjorn Helgaas <bhelgaas@google.com>
  bolan wang <bolan.wang@fibocom.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brenton Simpson <appsforartists@google.com>
  Carlos Llamas <cmllamas@google.com>
  Carolina Jubran <cjubran@nvidia.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chinmoy Ghosh <chinmoyghosh2001@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuanhong Guo <gch981213@gmail.com>
  Chuck Lever <chuck.lever@oracle.com>
  Coia Prant <coiaprant@gmail.com>
  Daniel Golle <daniel@makrotopia.org>
  Daniele Palmas <dnlplm@gmail.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Yang <mmyangfl@gmail.com>
  Dillon Varone <dillon.varone@amd.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Kronborg <emil.kronborg@protonmail.com>
  Eric Biggers <ebiggers@google.com>
  Finn Thain <fthain@linux-m68k.org>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Geoffrey D. Bennett <g@b4.vu>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  H. Peter Anvin (Intel) <hpa@zytor.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Hou Wenlong <houwenlong.hwl@antgroup.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
  Jarkko Nikula <jarkko.nikula@bitmer.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jens Axboe <axboe@kernel.dk>
  Jeongjun Park <aha310510@gmail.com>
  Jerry Meng <jerry-meng@foxmail.com>
  Jiri Kosina <jkosina@suse.cz>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kelvin Cao <kelvin.cao@microchip.com>
  kernelci.org bot <bot@kernelci.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lei Chen <lei.chen@smartx.com>
  Leon Romanovsky <leon@kernel.org>
  Like Xu <likexu@tencent.com>
  Linus Walleij <linus.walleij@linaro.org>
  Maciej W. Rozycki <macro@orcam.me.uk>
  Marios Makassikis <mmakassikis@freebox.fr>
  Mark Brown <broonie@kernel.org>
  Mark Zhang <markzhang@nvidia.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Jończyk <mat.jonczyk@o2.pl>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Pastore <mike@oobak.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Mike Rapoport <rppt@linux.ibm.com>
  Mikhail Kobuk <m.kobuk@ispras.ru>
  Miles Chen <miles.chen@mediatek.com>
  Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
  Mingming Su <mingming.su@mediatek.com>
  Mintu Patel <mintupatel89@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Norihiko Hama <Norihiko.Hama@alpsalpine.com>
  Oscar Salvador <osalvador@suse.de>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Pasha Tatashin <pasha.tatashin@soleen.com>
  Pekka Paalanen <pekka.paalanen@collabora.com>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Philippe Perrot <philippe@perrot-net.fr>
  Pin-yen Lin <treapking@chromium.org>
  Qiang Zhang <qiang4.zhang@intel.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ron Economos <re@w6rz.net>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sandipan Das <sandipan.das@amd.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  SeongJae Park <sj@kernel.org>
  Shay Drory <shayd@nvidia.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tariq Toukan <tariqt@nvidia.com>
  Tejun Heo <tj@kernel.org>
  Tim Huang <Tim.Huang@amd.com>
  Todd Kjos <tkjos@google.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tony Lindgren <tony@atomide.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vanillan Wang <vanillanwang@163.com>
  Vimal Kumar <vimal.kumar32@gmail.com>
  Vishal Badole <badolevishal1116@gmail.com>
  Vladimir Oltean <olteanv@gmail.com>
  xinhui pan <xinhui.pan@amd.com>
  xiongxin <xiongxin@kylinos.cn>
  Yanjun.Zhu <yanjun.zhu@linux.dev>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Yaxiong Tian <tianyaxiong@kylinos.cn>
  Ye Li <ye.li@broadcom.com>
  Yu Zhe <yuzhe@nfschina.com>
  Yuanhe Shu <xiangzao@linux.alibaba.com>
  Yuntao Wang <ytcoode@gmail.com>
  Zack Rusin <zack.rusin@broadcom.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          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
   6741e066ec76..dcbc050cb0d3  dcbc050cb0d304c3427d6583384eebcaf0e3caee -> tested/linux-6.1


